summaryrefslogtreecommitdiff
path: root/src/modinfodialog.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-05-28 16:10:10 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-05-31 11:54:30 -0400
commit260462fe6dd37899744b95f777cdff3c738fad2c (patch)
tree6ec726ac7a48c749aa904b7b6debcb905231e050 /src/modinfodialog.cpp
parentab385347afc3317049d85a5ee4b011592d8b3dce (diff)
added show all/nearest mods radio buttons
Diffstat (limited to 'src/modinfodialog.cpp')
-rw-r--r--src/modinfodialog.cpp48
1 files changed, 38 insertions, 10 deletions
diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp
index 2d2cc559..e35aa0e1 100644
--- a/src/modinfodialog.cpp
+++ b/src/modinfodialog.cpp
@@ -441,6 +441,14 @@ ModInfoDialog::ModInfoDialog(ModInfo::Ptr modInfo, const DirectoryEntry *directo
connect(ui->conflictsAdvancedShowNoConflict, &QCheckBox::clicked, [&] {
refreshConflictLists(false, true);
});
+
+ connect(ui->conflictsAdvancedShowAll, &QRadioButton::clicked, [&] {
+ refreshConflictLists(false, true);
+ });
+
+ connect(ui->conflictsAdvancedShowNearest, &QRadioButton::clicked, [&] {
+ refreshConflictLists(false, true);
+ });
}
@@ -760,26 +768,46 @@ QTreeWidgetItem* ModInfoDialog::createAdvancedConflictItem(
{
auto altOrigin = m_Directory->getOriginByID(alt.first);
- if (altOrigin.getPriority() > beforePrio) {
+ if (ui->conflictsAdvancedShowAll->isChecked()) {
if (altOrigin.getPriority() < m_Origin->getPriority()) {
- before = ToQString(altOrigin.getName());
- beforePrio = altOrigin.getPriority();
+ if (!before.isEmpty()) {
+ before += ", ";
+ }
+
+ before += ToQString(altOrigin.getName());
+ } else if (altOrigin.getPriority() > m_Origin->getPriority()) {
+ if (!after.isEmpty()) {
+ after += ", ";
+ }
+
+ after += ToQString(altOrigin.getName());
+ }
+ } else {
+ if (altOrigin.getPriority() > beforePrio) {
+ if (altOrigin.getPriority() < m_Origin->getPriority()) {
+ before = ToQString(altOrigin.getName());
+ beforePrio = altOrigin.getPriority();
+ }
}
- }
- if (altOrigin.getPriority() < afterPrio) {
- if (altOrigin.getPriority() > m_Origin->getPriority()) {
- after = ToQString(altOrigin.getName());
- afterPrio = altOrigin.getPriority();
+ if (altOrigin.getPriority() < afterPrio) {
+ if (altOrigin.getPriority() > m_Origin->getPriority()) {
+ after = ToQString(altOrigin.getName());
+ afterPrio = altOrigin.getPriority();
+ }
}
}
}
- if (after.isEmpty()) {
+ if (after.isEmpty() || ui->conflictsAdvancedShowAll->isChecked()) {
FilesOrigin &realOrigin = m_Directory->getOriginByID(fileOrigin);
if (realOrigin.getID() != m_Origin->getID()) {
- after = ToQString(realOrigin.getName());
+ if (!after.isEmpty()) {
+ after += ", ";
+ }
+
+ after += ToQString(realOrigin.getName());
}
}
}