diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-05-28 16:10:10 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2019-05-31 11:54:30 -0400 |
| commit | 260462fe6dd37899744b95f777cdff3c738fad2c (patch) | |
| tree | 6ec726ac7a48c749aa904b7b6debcb905231e050 /src/modinfodialog.cpp | |
| parent | ab385347afc3317049d85a5ee4b011592d8b3dce (diff) | |
added show all/nearest mods radio buttons
Diffstat (limited to 'src/modinfodialog.cpp')
| -rw-r--r-- | src/modinfodialog.cpp | 48 |
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()); } } } |
