diff options
Diffstat (limited to 'src/settings/contextmenu/contextmenusettingspage.h')
| -rw-r--r-- | src/settings/contextmenu/contextmenusettingspage.h | 69 |
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 |
