summaryrefslogtreecommitdiffstats
path: root/src/assistant/assistant/preferencesdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/assistant/assistant/preferencesdialog.h')
-rw-r--r--src/assistant/assistant/preferencesdialog.h64
1 files changed, 45 insertions, 19 deletions
diff --git a/src/assistant/assistant/preferencesdialog.h b/src/assistant/assistant/preferencesdialog.h
index 4842dcbfb..1ff39e326 100644
--- a/src/assistant/assistant/preferencesdialog.h
+++ b/src/assistant/assistant/preferencesdialog.h
@@ -29,16 +29,31 @@
#ifndef PREFERENCESDIALOG_H
#define PREFERENCESDIALOG_H
+#include <QtCore/QVersionNumber>
#include <QtWidgets/QDialog>
+#include <QtHelp/QHelpFilterData>
#include "ui_preferencesdialog.h"
QT_BEGIN_NAMESPACE
class FontPanel;
class HelpEngineWrapper;
-class RegisteredDocsModel;
class QFileSystemWatcher;
-class QSortFilterProxyModel;
+class QVersionNumber;
+
+struct FilterSetup {
+ QMap<QString, QString> m_namespaceToComponent;
+ QMap<QString, QStringList> m_componentToNamespace;
+
+ QMap<QString, QVersionNumber> m_namespaceToVersion;
+ QMap<QVersionNumber, QStringList> m_versionToNamespace;
+
+ QMap<QString, QString> m_namespaceToFileName;
+ QMap<QString, QString> m_fileNameToNamespace;
+
+ QMap<QString, QHelpFilterData> m_filterToData;
+ QString m_currentFilter;
+};
class PreferencesDialog : public QDialog
{
@@ -46,17 +61,21 @@ class PreferencesDialog : public QDialog
public:
PreferencesDialog(QWidget *parent = nullptr);
- ~PreferencesDialog() override;
-
- void showDialog();
private slots:
- void updateAttributes(QListWidgetItem *item);
- void updateFilterMap();
- void addFilter();
- void removeFilter();
- void addDocumentationLocal();
+ void filterSelected(QListWidgetItem *item);
+ void componentsChanged(const QStringList &components);
+ void versionsChanged(const QStringList &versions);
+ void addFilterClicked();
+ void renameFilterClicked();
+ void removeFilterClicked();
+ void addFilter(const QString &filterName,
+ const QHelpFilterData &filterData = QHelpFilterData());
+ void removeFilter(const QString &filterName);
+ void addDocumentation();
void removeDocumentation();
+ void okClicked();
+ void applyClicked();
void applyChanges();
void appFontSettingToggled(bool on);
void appFontSettingChanged(int index);
@@ -73,20 +92,27 @@ signals:
void updateUserInterface();
private:
+ QString suggestedNewFilterName(const QString &initialFilterName) const;
+ QString getUniqueFilterName(const QString &windowTitle,
+ const QString &initialFilterName = QString());
void updateFilterPage();
+ void updateCurrentFilter();
+ void updateDocumentationPage();
void updateFontSettingsPage();
void updateOptionsPage();
- QList<int> currentRegisteredDocsSelection() const;
+ FilterSetup readOriginalSetup() const;
Ui::PreferencesDialogClass m_ui;
- QMap<QString, QStringList> m_filterMapBackup;
- QMap<QString, QStringList> m_filterMap;
- QStringList m_removedFilters;
- QStringList m_docsBackup;
- RegisteredDocsModel *m_registeredDocsModel;
- QSortFilterProxyModel *m_registereredDocsFilterModel;
- QStringList m_regDocs;
- QStringList m_unregDocs;
+
+ FilterSetup m_originalSetup;
+ FilterSetup m_currentSetup;
+
+ QMap<QString, QListWidgetItem *> m_namespaceToItem;
+ QHash<QListWidgetItem *, QString> m_itemToNamespace;
+
+ QMap<QString, QListWidgetItem *> m_filterToItem;
+ QHash<QListWidgetItem *, QString> m_itemToFilter;
+
FontPanel *m_appFontPanel;
FontPanel *m_browserFontPanel;
bool m_appFontChanged;