diff options
| author | LostDragonist <lost.dragonist@gmail.com> | 2018-12-12 03:02:29 -0600 |
|---|---|---|
| committer | LostDragonist <lost.dragonist@gmail.com> | 2018-12-12 03:04:23 -0600 |
| commit | 013890f644c264d7da0d7da1adcd3f289ebee377 (patch) | |
| tree | aa647a10d3aa548d6378c4bde7ef1c1ac1409e6d /src/mainwindow.cpp | |
| parent | 3559364473dda5a0d37eb31431bd1b82c5b18c75 (diff) | |
Remember the last separator color used
Diffstat (limited to 'src/mainwindow.cpp')
| -rw-r--r-- | src/mainwindow.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 61a745b2..18ac60bf 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3049,10 +3049,21 @@ void MainWindow::createSeparator_clicked() void MainWindow::setColor_clicked()
{
+ QSettings &settings = m_OrganizerCore.settings().directInterface();
ModInfo::Ptr modInfo = ModInfo::getByIndex(m_ContextRow);
- QColor color = QColorDialog::getColor(modInfo->getColor(), this);
- if (!color.isValid())
+ QColorDialog dialog(this);
+ QColor currentColor = modInfo->getColor();
+ QColor previousColor = settings.value("previousSeparatorColor", QColor()).value<QColor>();
+ if (currentColor.isValid())
+ dialog.setCurrentColor(currentColor);
+ else
+ dialog.setCurrentColor(previousColor);
+ if (!dialog.exec())
+ return;
+ currentColor = dialog.currentColor();
+ if (!currentColor.isValid())
return;
+ settings.setValue("previousSeparatorColor", currentColor);
QItemSelectionModel *selection = ui->modList->selectionModel();
if (selection->hasSelection() && selection->selectedRows().count() > 1) {
for (QModelIndex idx : selection->selectedRows()) {
@@ -3060,12 +3071,12 @@ void MainWindow::setColor_clicked() auto flags = info->getFlags();
if (std::find(flags.begin(), flags.end(), ModInfo::FLAG_SEPARATOR) != flags.end())
{
- info->setColor(color);
+ info->setColor(currentColor);
}
}
}
else {
- modInfo->setColor(color);
+ modInfo->setColor(currentColor);
}
}
|
