diff options
| author | LostDragonist <lost.dragonist@gmail.com> | 2018-12-30 18:52:15 -0600 |
|---|---|---|
| committer | LostDragonist <lost.dragonist@gmail.com> | 2018-12-30 18:52:15 -0600 |
| commit | 580f45429fca07a4d3cd8daae83b6963ce5de54a (patch) | |
| tree | 812c66a8e9eb54d2a87ac7bc2b0383e278a781ca /src | |
| parent | e9fe45eb897e4e3db3e1a947dbbcbc28b53f6d52 (diff) | |
Fix conflict colors and make archive conflict colors configurable
Diffstat (limited to 'src')
| -rw-r--r-- | src/modlist.cpp | 29 | ||||
| -rw-r--r-- | src/settings.cpp | 22 | ||||
| -rw-r--r-- | src/settings.h | 6 | ||||
| -rw-r--r-- | src/settingsdialog.cpp | 56 | ||||
| -rw-r--r-- | src/settingsdialog.h | 10 | ||||
| -rw-r--r-- | src/settingsdialog.ui | 92 |
6 files changed, 141 insertions, 74 deletions
diff --git a/src/modlist.cpp b/src/modlist.cpp index 0b66a663..44ca6eaf 100644 --- a/src/modlist.cpp +++ b/src/modlist.cpp @@ -411,21 +411,26 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const bool archiveOverwritten = m_ArchiveOverwritten.find(modIndex) != m_ArchiveOverwritten.end();
bool archiveLooseOverwritten = m_ArchiveLooseOverwritten.find(modIndex) != m_ArchiveLooseOverwritten.end();
if (modInfo->getHighlight() & ModInfo::HIGHLIGHT_PLUGIN) {
+
return Settings::instance().modlistContainsPluginColor();
- } else if ((overwrite && (archiveOverwritten || archiveLooseOverwritten)) ||
- (overwritten && (archiveOverwrite || archiveLooseOverwrite)) ||
- (archiveOverwrite && (overwritten || archiveLooseOverwritten)) ||
- (archiveOverwritten && (overwrite || archiveLooseOverwrite)) ||
- (archiveLooseOverwrite && (overwritten || archiveOverwritten)) ||
- (archiveLooseOverwritten && (overwrite || archiveLooseOverwrite))
- ) {
+
+ } else if (overwritten || archiveLooseOverwritten) {
+
return Settings::instance().modlistOverwrittenLooseColor();
- }
- else if (overwrite || archiveOverwrite || archiveLooseOverwrite) {
+
+ } else if (overwrite || archiveLooseOverwrite) {
+
return Settings::instance().modlistOverwritingLooseColor();
- } else if (overwritten || archiveOverwritten || archiveLooseOverwritten) {
- return QColor(255, 0, 0, 64); //TODO: Make configurable
- } else if (modInfo->hasFlag(ModInfo::FLAG_SEPARATOR)
+
+ } else if (archiveOverwritten) {
+
+ return Settings::instance().modlistOverwrittenArchiveColor();
+
+ } else if (archiveOverwrite) {
+
+ return Settings::instance().modlistOverwritingArchiveColor();
+
+ } else if (modInfo->hasFlag(ModInfo::FLAG_SEPARATOR)
&& modInfo->getColor().isValid()
&& ((role != ViewMarkingScrollBar::DEFAULT_ROLE)
|| Settings::instance().colorSeparatorScrollbar())) {
diff --git a/src/settings.cpp b/src/settings.cpp index 2bad749f..3202dffe 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -391,6 +391,16 @@ QColor Settings::modlistOverwritingLooseColor() const return m_Settings.value("Settings/overwritingLooseFilesColor", QColor(255, 0, 0, 64)).value<QColor>(); } +QColor Settings::modlistOverwrittenArchiveColor() const +{ + return m_Settings.value("Settings/overwrittenArchiveFilesColor", QColor(0, 255, 255, 64)).value<QColor>(); +} + +QColor Settings::modlistOverwritingArchiveColor() const +{ + return m_Settings.value("Settings/overwritingArchiveFilesColor", QColor(255, 0, 255, 64)).value<QColor>(); +} + QColor Settings::modlistContainsPluginColor() const { return m_Settings.value("Settings/containsPluginColor", QColor(0, 0, 255, 64)).value<QColor>(); @@ -729,6 +739,8 @@ Settings::GeneralTab::GeneralTab(Settings *m_parent, SettingsDialog &m_dialog) , m_usePrereleaseBox(m_dialog.findChild<QCheckBox *>("usePrereleaseBox")) , m_overwritingBtn(m_dialog.findChild<QPushButton *>("overwritingBtn")) , m_overwrittenBtn(m_dialog.findChild<QPushButton *>("overwrittenBtn")) + , m_overwritingArchiveBtn(m_dialog.findChild<QPushButton *>("overwritingArchiveBtn")) + , m_overwrittenArchiveBtn(m_dialog.findChild<QPushButton *>("overwrittenArchiveBtn")) , m_containsBtn(m_dialog.findChild<QPushButton *>("containsBtn")) , m_containedBtn(m_dialog.findChild<QPushButton *>("containedBtn")) , m_colorSeparatorsBox(m_dialog.findChild<QCheckBox *>("colorSeparatorsBox")) @@ -789,6 +801,12 @@ Settings::GeneralTab::GeneralTab(Settings *m_parent, SettingsDialog &m_dialog) m_overwrittenBtn->setStyleSheet(m_dialog.getColoredButtonStyleSheet().arg( m_parent->modlistOverwrittenLooseColor().name()).arg(getIdealTextColor( m_parent->modlistOverwrittenLooseColor()).name())); + m_overwritingArchiveBtn->setStyleSheet(m_dialog.getColoredButtonStyleSheet().arg( + m_parent->modlistOverwritingArchiveColor().name()).arg(getIdealTextColor( + m_parent->modlistOverwritingArchiveColor()).name())); + m_overwrittenArchiveBtn->setStyleSheet(m_dialog.getColoredButtonStyleSheet().arg( + m_parent->modlistOverwrittenArchiveColor().name()).arg(getIdealTextColor( + m_parent->modlistOverwrittenArchiveColor()).name())); m_containsBtn->setStyleSheet(m_dialog.getColoredButtonStyleSheet().arg( m_parent->modlistContainsPluginColor().name()).arg(getIdealTextColor( m_parent->modlistContainsPluginColor()).name())); @@ -798,6 +816,8 @@ Settings::GeneralTab::GeneralTab(Settings *m_parent, SettingsDialog &m_dialog) m_dialog.setOverwritingColor(m_parent->modlistOverwritingLooseColor()); m_dialog.setOverwrittenColor(m_parent->modlistOverwrittenLooseColor()); + m_dialog.setOverwritingArchiveColor(m_parent->modlistOverwritingArchiveColor()); + m_dialog.setOverwrittenArchiveColor(m_parent->modlistOverwrittenArchiveColor()); m_dialog.setContainsColor(m_parent->modlistContainsPluginColor()); m_dialog.setContainedColor(m_parent->pluginListContainedColor()); @@ -825,6 +845,8 @@ void Settings::GeneralTab::update() m_Settings.setValue("Settings/overwritingLooseFilesColor", m_dialog.getOverwritingColor()); m_Settings.setValue("Settings/overwrittenLooseFilesColor", m_dialog.getOverwrittenColor()); + m_Settings.setValue("Settings/overwritingArchiveFilesColor", m_dialog.getOverwritingArchiveColor()); + m_Settings.setValue("Settings/overwrittenArchiveFilesColor", m_dialog.getOverwrittenArchiveColor()); m_Settings.setValue("Settings/containsPluginColor", m_dialog.getContainsColor()); m_Settings.setValue("Settings/containedColor", m_dialog.getContainedColor()); m_Settings.setValue("Settings/compact_downloads", m_compactBox->isChecked()); diff --git a/src/settings.h b/src/settings.h index 4a932da7..f88f9652 100644 --- a/src/settings.h +++ b/src/settings.h @@ -233,6 +233,10 @@ public: QColor modlistOverwritingLooseColor() const; + QColor modlistOverwrittenArchiveColor() const; + + QColor modlistOverwritingArchiveColor() const; + QColor modlistContainsPluginColor() const; QColor pluginListContainedColor() const; @@ -428,6 +432,8 @@ private: QCheckBox *m_usePrereleaseBox; QPushButton *m_overwritingBtn; QPushButton *m_overwrittenBtn; + QPushButton *m_overwritingArchiveBtn; + QPushButton *m_overwrittenArchiveBtn; QPushButton *m_containsBtn; QPushButton *m_containedBtn; QCheckBox *m_colorSeparatorsBox; diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp index 0d96e63a..75e08afd 100644 --- a/src/settingsdialog.cpp +++ b/src/settingsdialog.cpp @@ -239,12 +239,6 @@ void SettingsDialog::on_containsBtn_clicked() ui->containsBtn->setStyleSheet(getColoredButtonStyleSheet().arg( result.name()).arg(Settings::getIdealTextColor( result).name())); - - /*ui->containsBtn->setAutoFillBackground(true); - ui->containsBtn->setPalette(QPalette(result)); - QPalette palette = ui->containsBtn->palette(); - palette.setColor(QPalette::Background, result); - ui->containsBtn->setPalette(palette);*/ } } @@ -257,12 +251,6 @@ void SettingsDialog::on_containedBtn_clicked() ui->containedBtn->setStyleSheet(getColoredButtonStyleSheet().arg( result.name()).arg(Settings::getIdealTextColor( result).name())); - - /*ui->containedBtn->setAutoFillBackground(true); - ui->containedBtn->setPalette(QPalette(result)); - QPalette palette = ui->containedBtn->palette(); - palette.setColor(QPalette::Background, result); - ui->containedBtn->setPalette(palette);*/ } } @@ -275,12 +263,6 @@ void SettingsDialog::on_overwrittenBtn_clicked() ui->overwrittenBtn->setStyleSheet(getColoredButtonStyleSheet().arg( result.name()).arg(Settings::getIdealTextColor( result).name())); - - /*ui->overwrittenBtn->setAutoFillBackground(true); - ui->overwrittenBtn->setPalette(QPalette(result)); - QPalette palette = ui->overwrittenBtn->palette(); - palette.setColor(QPalette::Background, result); - ui->overwrittenBtn->setPalette(palette);*/ } } @@ -293,12 +275,30 @@ void SettingsDialog::on_overwritingBtn_clicked() ui->overwritingBtn->setStyleSheet(getColoredButtonStyleSheet().arg( result.name()).arg(Settings::getIdealTextColor( result).name())); + } +} + +void SettingsDialog::on_overwrittenArchiveBtn_clicked() +{ + QColor result = QColorDialog::getColor(m_OverwrittenArchiveColor, this); + if (result.isValid()) { + m_OverwrittenArchiveColor = result; + + ui->overwrittenArchiveBtn->setStyleSheet(getColoredButtonStyleSheet().arg( + result.name()).arg(Settings::getIdealTextColor( + result).name())); + } +} + +void SettingsDialog::on_overwritingArchiveBtn_clicked() +{ + QColor result = QColorDialog::getColor(m_OverwritingArchiveColor, this); + if (result.isValid()) { + m_OverwritingArchiveColor = result; - /*ui->overwritingBtn->setAutoFillBackground(true); - ui->overwritingBtn->setPalette(QPalette(result)); - QPalette palette = ui->overwritingBtn->palette(); - palette.setColor(QPalette::Background, result); - ui->overwritingBtn->setPalette(palette);*/ + ui->overwritingArchiveBtn->setStyleSheet(getColoredButtonStyleSheet().arg( + result.name()).arg(Settings::getIdealTextColor( + result).name())); } } @@ -306,6 +306,8 @@ void SettingsDialog::on_resetColorsBtn_clicked() { m_OverwritingColor = QColor(255, 0, 0, 64); m_OverwrittenColor = QColor(0, 255, 0, 64); + m_OverwritingArchiveColor = QColor(255, 0, 255, 64); + m_OverwrittenArchiveColor = QColor(0, 255, 255, 64); m_ContainsColor = QColor(0, 0, 255, 64); m_ContainedColor = QColor(0, 0, 255, 64); @@ -317,6 +319,14 @@ void SettingsDialog::on_resetColorsBtn_clicked() QColor(0, 255, 0, 64).name()).arg(Settings::getIdealTextColor( QColor(0, 255, 0, 64)).name())); + ui->overwritingArchiveBtn->setStyleSheet(getColoredButtonStyleSheet().arg( + QColor(255, 0, 255, 64).name()).arg(Settings::getIdealTextColor( + QColor(255, 0, 255, 64)).name())); + + ui->overwrittenArchiveBtn->setStyleSheet(getColoredButtonStyleSheet().arg( + QColor(0, 255, 255, 64).name()).arg(Settings::getIdealTextColor( + QColor(0, 255, 255, 64)).name())); + ui->containsBtn->setStyleSheet(getColoredButtonStyleSheet().arg( QColor(0, 0, 255, 64).name()).arg(Settings::getIdealTextColor( QColor(0, 0, 255, 64)).name())); diff --git a/src/settingsdialog.h b/src/settingsdialog.h index f0567d87..e3c7d413 100644 --- a/src/settingsdialog.h +++ b/src/settingsdialog.h @@ -67,6 +67,8 @@ public: QColor getOverwritingColor() { return m_OverwritingColor; }
QColor getOverwrittenColor() { return m_OverwrittenColor; }
+ QColor getOverwritingArchiveColor() { return m_OverwritingArchiveColor; }
+ QColor getOverwrittenArchiveColor() { return m_OverwrittenArchiveColor; }
QColor getContainsColor() { return m_ContainsColor; }
QColor getContainedColor() { return m_ContainedColor; }
QString getExecutableBlacklist() { return m_ExecutableBlacklist; }
@@ -74,6 +76,8 @@ public: void setOverwritingColor(QColor col) { m_OverwritingColor = col; }
void setOverwrittenColor(QColor col) { m_OverwrittenColor = col; }
+ void setOverwritingArchiveColor(QColor col) { m_OverwritingArchiveColor = col; }
+ void setOverwrittenArchiveColor(QColor col) { m_OverwrittenArchiveColor = col; }
void setContainsColor(QColor col) { m_ContainsColor = col; }
void setContainedColor(QColor col) { m_ContainedColor = col; }
void setExecutableBlacklist(QString blacklist) { m_ExecutableBlacklist = blacklist; }
@@ -116,6 +120,10 @@ private slots: void on_overwrittenBtn_clicked();
+ void on_overwritingArchiveBtn_clicked();
+
+ void on_overwrittenArchiveBtn_clicked();
+
void on_containsBtn_clicked();
void on_containedBtn_clicked();
@@ -140,6 +148,8 @@ private: QColor m_OverwritingColor;
QColor m_OverwrittenColor;
+ QColor m_OverwritingArchiveColor;
+ QColor m_OverwrittenArchiveColor;
QColor m_ContainsColor;
QColor m_ContainedColor;
diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui index 832fa71a..58b2b48f 100644 --- a/src/settingsdialog.ui +++ b/src/settingsdialog.ui @@ -7,7 +7,7 @@ <x>0</x>
<y>0</y>
<width>586</width>
- <height>462</height>
+ <height>486</height>
</rect>
</property>
<property name="windowTitle">
@@ -99,10 +99,26 @@ If you use pre-releases, never contact me directly by e-mail or via private mess <string>Colors</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
+ <item row="6" column="0">
+ <widget class="QCheckBox" name="colorSeparatorsBox">
+ <property name="toolTip">
+ <string>When this is enabled, the color defined for a separator will be shown on the mod list scrollbar at the location of the separator. This can be useful for quick navigation between separator sections or to a specific separator section.</string>
+ </property>
+ <property name="whatsThis">
+ <string>When this is enabled, the color defined for a separator will be shown on the mod list scrollbar at the location of the separator. This can be useful for quick navigation between separator sections or to a specific separator section.</string>
+ </property>
+ <property name="text">
+ <string>Show mod list separator colors on the scrollbar</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
<item row="4" column="0" colspan="2">
- <widget class="QPushButton" name="resetColorsBtn">
+ <widget class="QPushButton" name="containedBtn">
<property name="text">
- <string>Reset Colors</string>
+ <string>Plugin is Contained in selected Mod</string>
</property>
</widget>
</item>
@@ -113,40 +129,38 @@ If you use pre-releases, never contact me directly by e-mail or via private mess </property>
</widget>
</item>
- <item row="2" column="0" colspan="2">
- <widget class="QPushButton" name="containsBtn">
+ <item row="1" column="1">
+ <widget class="QPushButton" name="overwritingBtn">
<property name="text">
- <string>Mod Contains selected Plugin</string>
+ <string>Is overwriting (loose files)</string>
</property>
</widget>
</item>
- <item row="3" column="0" colspan="2">
- <widget class="QPushButton" name="containedBtn">
+ <item row="5" column="0" colspan="2">
+ <widget class="QPushButton" name="resetColorsBtn">
<property name="text">
- <string>Plugin is Contained in selected Mod</string>
+ <string>Reset Colors</string>
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QPushButton" name="overwritingBtn">
+ <item row="3" column="0" colspan="2">
+ <widget class="QPushButton" name="containsBtn">
<property name="text">
- <string>Is overwriting (loose files)</string>
+ <string>Mod Contains selected Plugin</string>
</property>
</widget>
</item>
- <item row="5" column="0">
- <widget class="QCheckBox" name="colorSeparatorsBox">
- <property name="toolTip">
- <string>When this is enabled, the color defined for a separator will be shown on the mod list scrollbar at the location of the separator. This can be useful for quick navigation between separator sections or to a specific separator section.</string>
- </property>
- <property name="whatsThis">
- <string>When this is enabled, the color defined for a separator will be shown on the mod list scrollbar at the location of the separator. This can be useful for quick navigation between separator sections or to a specific separator section.</string>
- </property>
+ <item row="2" column="0">
+ <widget class="QPushButton" name="overwrittenArchiveBtn">
<property name="text">
- <string>Show mod list separator colors on the scrollbar</string>
+ <string>Is overwritten (archive files)</string>
</property>
- <property name="checked">
- <bool>true</bool>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="overwritingArchiveBtn">
+ <property name="text">
+ <string>Is overwriting (archive files)</string>
</property>
</widget>
</item>
@@ -1114,27 +1128,27 @@ programs you are intentionally running.</string> </property>
</widget>
</item>
- <item>
- <widget class="QCheckBox" name="enableArchiveParsingBox">
- <property name="toolTip">
- <string>Enable parsing of Archives Archives, has effects on perfromance.</string>
- </property>
- <property name="whatsThis">
- <string>
+ <item>
+ <widget class="QCheckBox" name="enableArchiveParsingBox">
+ <property name="toolTip">
+ <string>Enable parsing of Archives Archives, has effects on perfromance.</string>
+ </property>
+ <property name="whatsThis">
+ <string>
By default Mod Organizer will parse Archive files to calculate conflicts between themselves and loose files, this process has a noticeable cost in performance.
This feature should not be confused from the one offered by ModOrganizer 1, ModOrganizer 2 will only show conflicts with archives NOT load them into the game or program.
If you disable this feature, MO will only display conflicts with Loose files.
</string>
- </property>
- <property name="text">
- <string>Enable parsing of Archives</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
+ </property>
+ <property name="text">
+ <string>Enable parsing of Archives</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
<item>
<widget class="QPushButton" name="resetGeometryBtn">
<property name="toolTip">
|
