summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modinfodialog.cpp37
-rw-r--r--src/modinfodialog.h4
-rw-r--r--src/modinfodialog.ui54
3 files changed, 48 insertions, 47 deletions
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
<item>
<layout class="QVBoxLayout" name="overwriteRoot">
<item>
- <layout class="QHBoxLayout" name="overwriteHeader" stretch="0,0,0">
+ <layout class="QHBoxLayout" name="overwriteHeader" stretch="1,0">
<item>
<widget class="QToolButton" name="overwriteExpander">
<property name="sizePolicy">
@@ -417,7 +417,8 @@ Most mods do not have optional esps, so chances are good you are looking at an e
</sizepolicy>
</property>
<property name="styleSheet">
- <string notr="true">border: none</string>
+ <string notr="true">border: none;
+text-align: left;</string>
</property>
<property name="text">
<string>The following conflicted files are provided by this mod</string>
@@ -425,19 +426,6 @@ Most mods do not have optional esps, so chances are good you are looking at an e
</widget>
</item>
<item>
- <spacer name="overwriteSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
<widget class="QLCDNumber" name="overwriteCount">
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
@@ -501,7 +489,7 @@ Most mods do not have optional esps, so chances are good you are looking at an e
<item>
<layout class="QVBoxLayout" name="overwrittenRoot">
<item>
- <layout class="QHBoxLayout" name="overwrittenHeader" stretch="0,0,0">
+ <layout class="QHBoxLayout" name="overwrittenHeader" stretch="1,0">
<item>
<widget class="QToolButton" name="overwrittenExpander">
<property name="sizePolicy">
@@ -511,7 +499,8 @@ Most mods do not have optional esps, so chances are good you are looking at an e
</sizepolicy>
</property>
<property name="styleSheet">
- <string notr="true">border: none</string>
+ <string notr="true">border: none;
+text-align: left;</string>
</property>
<property name="text">
<string>The following conflicted files are provided by other mods</string>
@@ -519,19 +508,6 @@ Most mods do not have optional esps, so chances are good you are looking at an e
</widget>
</item>
<item>
- <spacer name="overwrittenSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
<widget class="QLCDNumber" name="overwrittenCount">
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
@@ -583,7 +559,7 @@ Most mods do not have optional esps, so chances are good you are looking at an e
<item>
<layout class="QVBoxLayout" name="noConflictRoot">
<item>
- <layout class="QHBoxLayout" name="noConflictHeader" stretch="0,0,0">
+ <layout class="QHBoxLayout" name="noConflictHeader" stretch="1,0">
<item>
<widget class="QToolButton" name="noConflictExpander">
<property name="sizePolicy">
@@ -593,7 +569,8 @@ Most mods do not have optional esps, so chances are good you are looking at an e
</sizepolicy>
</property>
<property name="styleSheet">
- <string notr="true">border: none;</string>
+ <string notr="true">border: none;
+text-align: left;</string>
</property>
<property name="text">
<string>The following files have no conflicts</string>
@@ -601,19 +578,6 @@ Most mods do not have optional esps, so chances are good you are looking at an e
</widget>
</item>
<item>
- <spacer name="noConflictSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
<widget class="QLCDNumber" name="noConflictCount">
<property name="frameShadow">
<enum>QFrame::Sunken</enum>