aboutsummaryrefslogtreecommitdiff
path: root/libs/installer_bsplugins/src/BSPluginInfo/PluginInfoDialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/installer_bsplugins/src/BSPluginInfo/PluginInfoDialog.h')
-rw-r--r--libs/installer_bsplugins/src/BSPluginInfo/PluginInfoDialog.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/libs/installer_bsplugins/src/BSPluginInfo/PluginInfoDialog.h b/libs/installer_bsplugins/src/BSPluginInfo/PluginInfoDialog.h
new file mode 100644
index 0000000..db2fe4a
--- /dev/null
+++ b/libs/installer_bsplugins/src/BSPluginInfo/PluginInfoDialog.h
@@ -0,0 +1,69 @@
+#ifndef BSPLUGININFO_PLUGININFODIALOG_H
+#define BSPLUGININFO_PLUGININFODIALOG_H
+
+#include "AuxTreeModel.h"
+#include "TESData/PluginList.h"
+
+#include <expanderwidget.h>
+#include <filterwidget.h>
+#include <imoinfo.h>
+
+#include <QDialog>
+#include <QString>
+
+namespace Ui
+{
+class PluginInfoDialog;
+}
+
+namespace BSPluginInfo
+{
+
+class PluginInfoDialog final : public QDialog
+{
+ Q_OBJECT
+
+public:
+ PluginInfoDialog(MOBase::IOrganizer* organizer, TESData::PluginList* pluginList,
+ const QString& pluginName, QWidget* parent = nullptr);
+
+ PluginInfoDialog(const PluginInfoDialog&) = delete;
+ PluginInfoDialog(PluginInfoDialog&&) = delete;
+
+ ~PluginInfoDialog() noexcept;
+
+ PluginInfoDialog& operator=(const PluginInfoDialog&) = delete;
+ PluginInfoDialog& operator=(PluginInfoDialog&&) = delete;
+
+ int exec() override;
+
+private slots:
+ void on_close_clicked();
+ void on_nextFile_clicked();
+ void on_previousFile_clicked();
+
+ void on_previousArchiveButton_clicked();
+ void on_nextArchiveButton_clicked();
+ void on_archivesTreeStack_currentChanged(int index);
+ void on_archiveFilterEdit_textChanged(const QString& text);
+
+private:
+ void setCurrent(const QString& pluginName);
+
+ Ui::PluginInfoDialog* ui;
+
+ TESData::PluginList* m_PluginList;
+ QString m_PluginName;
+
+ QStringList m_Archives;
+ MOBase::ExpanderWidget m_WinningExpander;
+ MOBase::ExpanderWidget m_LosingExpander;
+ MOBase::ExpanderWidget m_NoConflictExpander;
+ MOBase::FilterWidget m_FilterWinning;
+ MOBase::FilterWidget m_FilterLosing;
+ MOBase::FilterWidget m_FilterNoConflicts;
+};
+
+} // namespace BSPluginInfo
+
+#endif // BSPLUGININFO_PLUGININFODIALOG_H