From c5f61733850d6737814041f645a009e1cc60a7ed Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Mon, 20 May 2019 17:58:00 -0400 Subject: made expander use the full width context menu for noconflict tree --- src/modinfodialog.cpp | 37 +++++++++++++++++++++++++++++++++-- src/modinfodialog.h | 4 ++++ src/modinfodialog.ui | 54 +++++++++------------------------------------------ 3 files changed, 48 insertions(+), 47 deletions(-) (limited to 'src') diff --git a/src/modinfodialog.cpp b/src/modinfodialog.cpp index 3f8b58a9..d32b112f 100644 --- a/src/modinfodialog.cpp +++ b/src/modinfodialog.cpp @@ -1732,7 +1732,6 @@ void ModInfoDialog::openOverwriteDataFile() void ModInfoDialog::previewOverwrittenDataFile() { - // the overwritten tree only supports single selection, but check just in case const auto selection = ui->overwrittenTree->selectedItems(); if (!selection.empty()) { previewDataFile(selection[0]); @@ -1741,13 +1740,28 @@ void ModInfoDialog::previewOverwrittenDataFile() void ModInfoDialog::openOverwrittenDataFile() { - // the overwritten tree only supports single selection, but check just in case const auto selection = ui->overwrittenTree->selectedItems(); if (!selection.empty()) { openDataFile(selection[0]); } } +void ModInfoDialog::previewNoConflictDataFile() +{ + const auto selection = ui->noConflictTree->selectedItems(); + if (!selection.empty()) { + previewDataFile(selection[0]); + } +} + +void ModInfoDialog::openNoConflictDataFile() +{ + const auto selection = ui->noConflictTree->selectedItems(); + if (!selection.empty()) { + openDataFile(selection[0]); + } +} + void ModInfoDialog::openDataFile(const QTreeWidgetItem* item) { if (!item) { @@ -1992,6 +2006,25 @@ void ModInfoDialog::on_overwrittenTree_customContextMenuRequested(const QPoint & } } +void ModInfoDialog::on_noConflictTree_customContextMenuRequested(const QPoint &pos) +{ + auto* item = ui->noConflictTree->itemAt(pos.x(), pos.y()); + + if (item != nullptr) { + if (!item->data(1, Qt::UserRole + 2).toBool()) { + QMenu menu; + + menu.addAction(tr("Open/Execute"), this, SLOT(openNoConflictDataFile())); + + if (canPreviewConflictItem(item)) { + menu.addAction(tr("Preview"), this, SLOT(previewNoConflictDataFile())); + } + + menu.exec(ui->noConflictTree->viewport()->mapToGlobal(pos)); + } + } +} + void ModInfoDialog::on_overwrittenTree_itemDoubleClicked(QTreeWidgetItem *item, int) { emit modOpen(item->data(1, Qt::UserRole).toString(), TAB_CONFLICTS); diff --git a/src/modinfodialog.h b/src/modinfodialog.h index 731611d2..32efa210 100644 --- a/src/modinfodialog.h +++ b/src/modinfodialog.h @@ -319,6 +319,9 @@ private slots: void previewOverwrittenDataFile(); void openOverwrittenDataFile(); + void previewNoConflictDataFile(); + void openNoConflictDataFile(); + void thumbnailClicked(const QString &fileName); void linkClicked(const QUrl &url); void linkClicked(QString url); @@ -355,6 +358,7 @@ private slots: void on_overwrittenTree_itemDoubleClicked(QTreeWidgetItem *item, int column); void on_overwriteTree_customContextMenuRequested(const QPoint &pos); void on_overwrittenTree_customContextMenuRequested(const QPoint &pos); + void on_noConflictTree_customContextMenuRequested(const QPoint &pos); void on_fileTree_customContextMenuRequested(const QPoint &pos); void on_refreshButton_clicked(); diff --git a/src/modinfodialog.ui b/src/modinfodialog.ui index 0d96f621..1187de87 100644 --- a/src/modinfodialog.ui +++ b/src/modinfodialog.ui @@ -407,7 +407,7 @@ Most mods do not have optional esps, so chances are good you are looking at an e - + @@ -417,26 +417,14 @@ Most mods do not have optional esps, so chances are good you are looking at an e - border: none + border: none; +text-align: left; The following conflicted files are provided by this mod - - - - Qt::Horizontal - - - - 40 - 20 - - - - @@ -501,7 +489,7 @@ Most mods do not have optional esps, so chances are good you are looking at an e - + @@ -511,26 +499,14 @@ Most mods do not have optional esps, so chances are good you are looking at an e - border: none + border: none; +text-align: left; The following conflicted files are provided by other mods - - - - Qt::Horizontal - - - - 40 - 20 - - - - @@ -583,7 +559,7 @@ Most mods do not have optional esps, so chances are good you are looking at an e - + @@ -593,26 +569,14 @@ Most mods do not have optional esps, so chances are good you are looking at an e - border: none; + border: none; +text-align: left; The following files have no conflicts - - - - Qt::Horizontal - - - - 40 - 20 - - - - -- cgit v1.3.1