┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings/contextmenu/contextmenusettingspage.h
diff options
context:
space:
mode:
authorDuong Do Minh Chau <[email protected]>2020-11-12 16:38:44 +0700
committerElvis Angelaccio <[email protected]>2020-12-28 20:18:31 +0000
commita512176b4bdbf0f0471a9b9089f4a936c14e2732 (patch)
tree51f1ecf98d29b9994af950d9ca2fb0085f29e337 /src/settings/contextmenu/contextmenusettingspage.h
parentb339ac1b5f22efb57619c738eb39268c3e00948d (diff)
Add options to hide some context menu entries
This commit add options to hide the following context menu entries: - Add to Places - Copy Location - Duplicate Here - Open in New Tab and Open in New Tabs - Open in New Window - Sort By - View Mode The Services settings page is renamed to Context Menu ShowCopyMoveMenu option is moved from GeneralSettings to ContextMenuSettings BUG: 314594
Diffstat (limited to 'src/settings/contextmenu/contextmenusettingspage.h')
-rw-r--r--src/settings/contextmenu/contextmenusettingspage.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/settings/contextmenu/contextmenusettingspage.h b/src/settings/contextmenu/contextmenusettingspage.h
new file mode 100644
index 000000000..3825e6f86
--- /dev/null
+++ b/src/settings/contextmenu/contextmenusettingspage.h
@@ -0,0 +1,69 @@
+/*
+ * SPDX-FileCopyrightText: 2009-2010 Peter Penz <[email protected]>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+#ifndef CONTEXTMENUSETTINGSPAGE_H
+#define CONTEXTMENUSETTINGSPAGE_H
+
+#include "settings/settingspagebase.h"
+
+#include <QString>
+
+class QListView;
+class QSortFilterProxyModel;
+class ServiceModel;
+class QLineEdit;
+
+/**
+ * @brief Configurations for services in the context menu.
+ */
+class ContextMenuSettingsPage : public SettingsPageBase
+{
+ Q_OBJECT
+
+public:
+ explicit ContextMenuSettingsPage(QWidget* parent);
+ ~ContextMenuSettingsPage() override;
+
+ /** @see SettingsPageBase::applySettings() */
+ void applySettings() override;
+
+ /** @see SettingsPageBase::restoreDefaults() */
+ void restoreDefaults() override;
+
+protected:
+ void showEvent(QShowEvent* event) override;
+
+private slots:
+ /**
+ * Loads locally installed services.
+ */
+ void loadServices();
+
+private:
+ /**
+ * Loads installed version control systems.
+ */
+ void loadVersionControlSystems();
+
+ bool isInServicesList(const QString &service) const;
+
+ /**
+ * Adds a row to the model of m_listView.
+ */
+ void addRow(const QString &icon,
+ const QString &text,
+ const QString &value,
+ bool checked);
+
+private:
+ bool m_initialized;
+ ServiceModel *m_serviceModel;
+ QSortFilterProxyModel *m_sortModel;
+ QListView* m_listView;
+ QLineEdit *m_searchLineEdit;
+ QStringList m_enabledVcsPlugins;
+};
+
+#endif