Merge pull request #1900 from ctrlaltca/dbview
Save deck editor's database view columns state
This commit is contained in:
commit
2b138cce93
4 changed files with 29 additions and 6 deletions
|
@ -58,6 +58,16 @@ void LayoutsSettings::setDeckEditorFilterSize(const QSize &value)
|
|||
setValue(value,"layouts/deckEditor_FilterSize");
|
||||
}
|
||||
|
||||
const QByteArray LayoutsSettings::getDeckEditorDbHeaderState()
|
||||
{
|
||||
return getValue("layouts/deckEditorDbHeader_state").toByteArray();
|
||||
}
|
||||
|
||||
void LayoutsSettings::setDeckEditorDbHeaderState(const QByteArray &value)
|
||||
{
|
||||
setValue(value,"layouts/deckEditorDbHeader_state");
|
||||
}
|
||||
|
||||
void LayoutsSettings::setGamePlayAreaGeometry(const QByteArray &value)
|
||||
{
|
||||
setValue(value,"layouts/gameplayarea_geometry");
|
||||
|
|
|
@ -15,6 +15,7 @@ public:
|
|||
void setDeckEditorCardSize(const QSize &value);
|
||||
void setDeckEditorDeckSize(const QSize &value);
|
||||
void setDeckEditorFilterSize(const QSize &value);
|
||||
void setDeckEditorDbHeaderState(const QByteArray &value);
|
||||
|
||||
void setGamePlayAreaGeometry(const QByteArray &value);
|
||||
void setGamePlayAreaState(const QByteArray &value);
|
||||
|
@ -34,6 +35,7 @@ public:
|
|||
const QSize getDeckEditorCardSize();
|
||||
const QSize getDeckEditorDeckSize();
|
||||
const QSize getDeckEditorFilterSize();
|
||||
const QByteArray getDeckEditorDbHeaderState();
|
||||
|
||||
const QByteArray getGamePlayAreaLayoutState();
|
||||
const QByteArray getGamePlayAreaGeometry();
|
||||
|
|
|
@ -335,14 +335,19 @@ void TabDeckEditor::createCentralFrame()
|
|||
databaseView->setSortingEnabled(true);
|
||||
databaseView->sortByColumn(0, Qt::AscendingOrder);
|
||||
databaseView->setModel(databaseDisplayModel);
|
||||
databaseView->header()->setStretchLastSection(false);
|
||||
#if QT_VERSION >= 0x050000
|
||||
databaseView->header()->setSectionResizeMode(0, QHeaderView::Stretch);
|
||||
#else
|
||||
databaseView->header()->setResizeMode(0, QHeaderView::Stretch);
|
||||
#endif
|
||||
connect(databaseView->selectionModel(), SIGNAL(currentRowChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(updateCardInfoLeft(const QModelIndex &, const QModelIndex &)));
|
||||
connect(databaseView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(actAddCard()));
|
||||
|
||||
QByteArray dbHeaderState = settingsCache->layouts().getDeckEditorDbHeaderState();
|
||||
if(dbHeaderState.isNull())
|
||||
{
|
||||
// first run
|
||||
databaseView->setColumnWidth(0, 200);
|
||||
} else {
|
||||
databaseView->header()->restoreState(dbHeaderState);
|
||||
}
|
||||
connect(databaseView->header(), SIGNAL(geometriesChanged()), this, SLOT(saveDbHeaderState()));
|
||||
|
||||
searchEdit->setTreeView(databaseView);
|
||||
|
||||
aAddCard = new QAction(QString(), this);
|
||||
|
@ -1079,3 +1084,8 @@ void TabDeckEditor::dockTopLevelChanged(bool topLevel)
|
|||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void TabDeckEditor::saveDbHeaderState()
|
||||
{
|
||||
settingsCache->layouts().setDeckEditorDbHeaderState(databaseView->header()->saveState());
|
||||
}
|
||||
|
|
|
@ -83,6 +83,7 @@ class TabDeckEditor : public Tab {
|
|||
void dockVisibleTriggered();
|
||||
void dockFloatingTriggered();
|
||||
void dockTopLevelChanged(bool topLevel);
|
||||
void saveDbHeaderState();
|
||||
private:
|
||||
CardInfo *currentCardInfo() const;
|
||||
void addCardHelper(QString zoneName);
|
||||
|
|
Loading…
Reference in a new issue