diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-05-27 12:07:10 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2019-05-27 12:07:10 -0400 |
| commit | 2d52299743d056ae6da3c98ca9dc34abca3138bf (patch) | |
| tree | 4709050f6b5e7577033ede8de49b2e80e30566fb /src/modinfodialog.h | |
| parent | 622908ee20ae5d74bff6524ff7c8eb044e25238b (diff) | |
multiple selection for noconflict and overwritten lists
set uniformRowHeights for all three lists for faster rendering, all items are text only
all three lists use the same code for the context menu:
- createConflictMenuActions() returns a struct with the QActions that are valid for the selection
- showConflictMenu() plugs in the handlers and shows the menu
Diffstat (limited to 'src/modinfodialog.h')
| -rw-r--r-- | src/modinfodialog.h | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/src/modinfodialog.h b/src/modinfodialog.h index c0730afa..983da8d4 100644 --- a/src/modinfodialog.h +++ b/src/modinfodialog.h @@ -329,18 +329,6 @@ private: int tabIndex(const QString &tabId);
private slots:
-
- void hideConflictFiles();
- void unhideConflictFiles();
- void previewOverwriteDataFile();
- void openOverwriteDataFile();
-
- void previewOverwrittenDataFile();
- void openOverwrittenDataFile();
-
- void previewNoConflictDataFile();
- void openNoConflictDataFile();
-
void thumbnailClicked(const QString &fileName);
void linkClicked(const QUrl &url);
void linkClicked(QString url);
@@ -393,6 +381,18 @@ private slots: void createTweak();
private:
+ struct ConflictActions
+ {
+ QAction* hide;
+ QAction* unhide;
+ QAction* open;
+ QAction* preview;
+
+ ConflictActions()
+ : hide(nullptr), unhide(nullptr), open(nullptr), preview(nullptr)
+ {
+ }
+ };
Ui::ModInfoDialog *ui;
@@ -442,12 +442,21 @@ private: void openDataFile(const QTreeWidgetItem* item);
void previewDataFile(const QTreeWidgetItem* item);
- void changeConflictFilesVisibility(bool hide);
- void changeFiletreeVisibility(bool hide);
+ void changeFiletreeVisibility(bool visible);
+
+ void openConflictItems(const QList<QTreeWidgetItem*>& items);
+ void previewConflictItems(const QList<QTreeWidgetItem*>& items);
+ void changeConflictItemsVisibility(
+ const QList<QTreeWidgetItem*>& items, bool visible);
bool canPreviewFile(bool isArchive, const QString& filename) const;
bool canHideFile(bool isArchive, const QString& filename) const;
bool canUnhideFile(bool isArchive, const QString& filename) const;
+
+ void showConflictMenu(const QPoint &pos, QTreeWidget* tree);
+
+ ConflictActions createConflictMenuActions(
+ const QList<QTreeWidgetItem*> selection);
};
#endif // MODINFODIALOG_H
|
