edit field for minimum number of players to allow multi-column layout for
This commit is contained in:
parent
aa38733f03
commit
d2d06b853f
5 changed files with 29 additions and 2 deletions
|
@ -16,6 +16,7 @@
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QInputDialog>
|
#include <QInputDialog>
|
||||||
|
#include <QSpinBox>
|
||||||
#include "carddatabase.h"
|
#include "carddatabase.h"
|
||||||
#include "dlg_settings.h"
|
#include "dlg_settings.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
@ -242,8 +243,17 @@ AppearanceSettingsPage::AppearanceSettingsPage()
|
||||||
invertVerticalCoordinateCheckBox->setChecked(settingsCache->getInvertVerticalCoordinate());
|
invertVerticalCoordinateCheckBox->setChecked(settingsCache->getInvertVerticalCoordinate());
|
||||||
connect(invertVerticalCoordinateCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setInvertVerticalCoordinate(int)));
|
connect(invertVerticalCoordinateCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setInvertVerticalCoordinate(int)));
|
||||||
|
|
||||||
|
minPlayersForMultiColumnLayoutLabel = new QLabel;
|
||||||
|
minPlayersForMultiColumnLayoutEdit = new QSpinBox;
|
||||||
|
minPlayersForMultiColumnLayoutEdit->setMinimum(2);
|
||||||
|
minPlayersForMultiColumnLayoutEdit->setValue(settingsCache->getMinPlayersForMultiColumnLayout());
|
||||||
|
connect(minPlayersForMultiColumnLayoutEdit, SIGNAL(valueChanged(int)), settingsCache, SLOT(setMinPlayersForMultiColumnLayout(int)));
|
||||||
|
minPlayersForMultiColumnLayoutLabel->setBuddy(minPlayersForMultiColumnLayoutEdit);
|
||||||
|
|
||||||
QGridLayout *tableGrid = new QGridLayout;
|
QGridLayout *tableGrid = new QGridLayout;
|
||||||
tableGrid->addWidget(invertVerticalCoordinateCheckBox, 0, 0, 1, 2);
|
tableGrid->addWidget(invertVerticalCoordinateCheckBox, 0, 0, 1, 2);
|
||||||
|
tableGrid->addWidget(minPlayersForMultiColumnLayoutLabel, 1, 0, 1, 1);
|
||||||
|
tableGrid->addWidget(minPlayersForMultiColumnLayoutEdit, 1, 1, 1, 1);
|
||||||
|
|
||||||
tableGroupBox = new QGroupBox;
|
tableGroupBox = new QGroupBox;
|
||||||
tableGroupBox->setLayout(tableGrid);
|
tableGroupBox->setLayout(tableGrid);
|
||||||
|
@ -289,6 +299,7 @@ void AppearanceSettingsPage::retranslateUi()
|
||||||
|
|
||||||
tableGroupBox->setTitle(tr("Table grid layout"));
|
tableGroupBox->setTitle(tr("Table grid layout"));
|
||||||
invertVerticalCoordinateCheckBox->setText(tr("Invert vertical coordinate"));
|
invertVerticalCoordinateCheckBox->setText(tr("Invert vertical coordinate"));
|
||||||
|
minPlayersForMultiColumnLayoutLabel->setText(tr("Minimum player count for multi-column layout:"));
|
||||||
|
|
||||||
zoneViewGroupBox->setTitle(tr("Zone view layout"));
|
zoneViewGroupBox->setTitle(tr("Zone view layout"));
|
||||||
zoneViewSortByNameCheckBox->setText(tr("Sort by name"));
|
zoneViewSortByNameCheckBox->setText(tr("Sort by name"));
|
||||||
|
|
|
@ -14,6 +14,7 @@ class QGroupBox;
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
class QLabel;
|
class QLabel;
|
||||||
class QCloseEvent;
|
class QCloseEvent;
|
||||||
|
class QSpinBox;
|
||||||
|
|
||||||
class AbstractSettingsPage : public QWidget {
|
class AbstractSettingsPage : public QWidget {
|
||||||
public:
|
public:
|
||||||
|
@ -65,10 +66,11 @@ signals:
|
||||||
void playerAreaBgChanged(const QString &path);
|
void playerAreaBgChanged(const QString &path);
|
||||||
void cardBackPicturePathChanged(const QString &path);
|
void cardBackPicturePathChanged(const QString &path);
|
||||||
private:
|
private:
|
||||||
QLabel *handBgLabel, *stackBgLabel, *tableBgLabel, *playerAreaBgLabel, *cardBackPicturePathLabel;
|
QLabel *handBgLabel, *stackBgLabel, *tableBgLabel, *playerAreaBgLabel, *cardBackPicturePathLabel, *minPlayersForMultiColumnLayoutLabel;
|
||||||
QLineEdit *handBgEdit, *stackBgEdit, *tableBgEdit, *playerAreaBgEdit, *cardBackPicturePathEdit;
|
QLineEdit *handBgEdit, *stackBgEdit, *tableBgEdit, *playerAreaBgEdit, *cardBackPicturePathEdit;
|
||||||
QCheckBox *displayCardNamesCheckBox, *horizontalHandCheckBox, *invertVerticalCoordinateCheckBox, *zoneViewSortByNameCheckBox, *zoneViewSortByTypeCheckBox;
|
QCheckBox *displayCardNamesCheckBox, *horizontalHandCheckBox, *invertVerticalCoordinateCheckBox, *zoneViewSortByNameCheckBox, *zoneViewSortByTypeCheckBox;
|
||||||
QGroupBox *zoneBgGroupBox, *cardsGroupBox, *handGroupBox, *tableGroupBox, *zoneViewGroupBox;
|
QGroupBox *zoneBgGroupBox, *cardsGroupBox, *handGroupBox, *tableGroupBox, *zoneViewGroupBox;
|
||||||
|
QSpinBox *minPlayersForMultiColumnLayoutEdit;
|
||||||
public:
|
public:
|
||||||
AppearanceSettingsPage();
|
AppearanceSettingsPage();
|
||||||
void retranslateUi();
|
void retranslateUi();
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include "zoneviewwidget.h"
|
#include "zoneviewwidget.h"
|
||||||
#include "zoneviewzone.h"
|
#include "zoneviewzone.h"
|
||||||
#include "phasestoolbar.h"
|
#include "phasestoolbar.h"
|
||||||
|
#include "settingscache.h"
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QGraphicsSceneMouseEvent>
|
#include <QGraphicsSceneMouseEvent>
|
||||||
|
@ -14,6 +15,7 @@ GameScene::GameScene(PhasesToolbar *_phasesToolbar, QObject *parent)
|
||||||
{
|
{
|
||||||
animationTimer = new QBasicTimer;
|
animationTimer = new QBasicTimer;
|
||||||
addItem(phasesToolbar);
|
addItem(phasesToolbar);
|
||||||
|
connect(settingsCache, SIGNAL(minPlayersForMultiColumnLayoutChanged()), this, SLOT(rearrange()));
|
||||||
}
|
}
|
||||||
|
|
||||||
GameScene::~GameScene()
|
GameScene::~GameScene()
|
||||||
|
@ -59,7 +61,7 @@ void GameScene::rearrange()
|
||||||
if (firstPlayer == -1)
|
if (firstPlayer == -1)
|
||||||
firstPlayer = 0;
|
firstPlayer = 0;
|
||||||
const int playersCount = playersPlaying.size();
|
const int playersCount = playersPlaying.size();
|
||||||
const int columns = playersCount < 4 ? 1 : 2;
|
const int columns = playersCount < settingsCache->getMinPlayersForMultiColumnLayout() ? 1 : 2;
|
||||||
const int rows = ceil((qreal) playersCount / columns);
|
const int rows = ceil((qreal) playersCount / columns);
|
||||||
|
|
||||||
qreal sceneHeight = 0, sceneWidth = -playerAreaSpacing;
|
qreal sceneHeight = 0, sceneWidth = -playerAreaSpacing;
|
||||||
|
|
|
@ -24,6 +24,7 @@ SettingsCache::SettingsCache()
|
||||||
displayCardNames = settings->value("cards/displaycardnames", true).toBool();
|
displayCardNames = settings->value("cards/displaycardnames", true).toBool();
|
||||||
horizontalHand = settings->value("hand/horizontal", true).toBool();
|
horizontalHand = settings->value("hand/horizontal", true).toBool();
|
||||||
invertVerticalCoordinate = settings->value("table/invert_vertical", false).toBool();
|
invertVerticalCoordinate = settings->value("table/invert_vertical", false).toBool();
|
||||||
|
minPlayersForMultiColumnLayout = settings->value("interface/min_players_multicolumn", 5).toInt();
|
||||||
tapAnimation = settings->value("cards/tapanimation", true).toBool();
|
tapAnimation = settings->value("cards/tapanimation", true).toBool();
|
||||||
|
|
||||||
zoneViewSortByName = settings->value("zoneview/sortbyname", true).toBool();
|
zoneViewSortByName = settings->value("zoneview/sortbyname", true).toBool();
|
||||||
|
@ -143,6 +144,13 @@ void SettingsCache::setInvertVerticalCoordinate(int _invertVerticalCoordinate)
|
||||||
emit invertVerticalCoordinateChanged();
|
emit invertVerticalCoordinateChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsCache::setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout)
|
||||||
|
{
|
||||||
|
minPlayersForMultiColumnLayout = _minPlayersForMultiColumnLayout;
|
||||||
|
settings->setValue("interface/min_players_multicolumn", minPlayersForMultiColumnLayout);
|
||||||
|
emit minPlayersForMultiColumnLayoutChanged();
|
||||||
|
}
|
||||||
|
|
||||||
void SettingsCache::setTapAnimation(int _tapAnimation)
|
void SettingsCache::setTapAnimation(int _tapAnimation)
|
||||||
{
|
{
|
||||||
tapAnimation = _tapAnimation;
|
tapAnimation = _tapAnimation;
|
||||||
|
|
|
@ -20,6 +20,7 @@ signals:
|
||||||
void displayCardNamesChanged();
|
void displayCardNamesChanged();
|
||||||
void horizontalHandChanged();
|
void horizontalHandChanged();
|
||||||
void invertVerticalCoordinateChanged();
|
void invertVerticalCoordinateChanged();
|
||||||
|
void minPlayersForMultiColumnLayoutChanged();
|
||||||
void soundPathChanged();
|
void soundPathChanged();
|
||||||
private:
|
private:
|
||||||
QSettings *settings;
|
QSettings *settings;
|
||||||
|
@ -34,6 +35,7 @@ private:
|
||||||
bool displayCardNames;
|
bool displayCardNames;
|
||||||
bool horizontalHand;
|
bool horizontalHand;
|
||||||
bool invertVerticalCoordinate;
|
bool invertVerticalCoordinate;
|
||||||
|
int minPlayersForMultiColumnLayout;
|
||||||
bool tapAnimation;
|
bool tapAnimation;
|
||||||
bool zoneViewSortByName, zoneViewSortByType;
|
bool zoneViewSortByName, zoneViewSortByType;
|
||||||
bool soundEnabled;
|
bool soundEnabled;
|
||||||
|
@ -57,6 +59,7 @@ public:
|
||||||
bool getDisplayCardNames() const { return displayCardNames; }
|
bool getDisplayCardNames() const { return displayCardNames; }
|
||||||
bool getHorizontalHand() const { return horizontalHand; }
|
bool getHorizontalHand() const { return horizontalHand; }
|
||||||
bool getInvertVerticalCoordinate() const { return invertVerticalCoordinate; }
|
bool getInvertVerticalCoordinate() const { return invertVerticalCoordinate; }
|
||||||
|
int getMinPlayersForMultiColumnLayout() const { return minPlayersForMultiColumnLayout; }
|
||||||
bool getTapAnimation() const { return tapAnimation; }
|
bool getTapAnimation() const { return tapAnimation; }
|
||||||
bool getZoneViewSortByName() const { return zoneViewSortByName; }
|
bool getZoneViewSortByName() const { return zoneViewSortByName; }
|
||||||
bool getZoneViewSortByType() const { return zoneViewSortByType; }
|
bool getZoneViewSortByType() const { return zoneViewSortByType; }
|
||||||
|
@ -80,6 +83,7 @@ public slots:
|
||||||
void setDisplayCardNames(int _displayCardNames);
|
void setDisplayCardNames(int _displayCardNames);
|
||||||
void setHorizontalHand(int _horizontalHand);
|
void setHorizontalHand(int _horizontalHand);
|
||||||
void setInvertVerticalCoordinate(int _invertVerticalCoordinate);
|
void setInvertVerticalCoordinate(int _invertVerticalCoordinate);
|
||||||
|
void setMinPlayersForMultiColumnLayout(int _minPlayersForMultiColumnLayout);
|
||||||
void setTapAnimation(int _tapAnimation);
|
void setTapAnimation(int _tapAnimation);
|
||||||
void setZoneViewSortByName(int _zoneViewSortByName);
|
void setZoneViewSortByName(int _zoneViewSortByName);
|
||||||
void setZoneViewSortByType(int _zoneViewSortByType);
|
void setZoneViewSortByType(int _zoneViewSortByType);
|
||||||
|
|
Loading…
Reference in a new issue