]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/settings/services/servicessettingspage.h
Dolphin: Cleanup service settings page
[dolphin.git] / src / settings / services / servicessettingspage.h
index d2eecaefebc61df1fdfa4d5486965b959ddb2a36..8f507407b9f165fc58d54a002be604ab2af2b980 100644 (file)
 #ifndef SERVICESSETTINGSPAGE_H
 #define SERVICESSETTINGSPAGE_H
 
-#include <settings/settingspagebase.h>
+#include "settings/settingspagebase.h"
 
-#include <QMap>
 #include <QString>
 
-class QCheckBox;
-class QGroupBox;
 class QListView;
+class QSortFilterProxyModel;
+class ServiceModel;
+class QLineEdit;
 
 /**
  * @brief Page for the 'Services' settings of the Dolphin settings dialog.
@@ -36,17 +36,17 @@ class ServicesSettingsPage : public SettingsPageBase
     Q_OBJECT
 
 public:
-    ServicesSettingsPage(QWidget* parent);
-    virtual ~ServicesSettingsPage();
+    explicit ServicesSettingsPage(QWidget* parent);
+    ~ServicesSettingsPage() override;
 
     /** @see SettingsPageBase::applySettings() */
-    virtual void applySettings();
+    void applySettings() override;
 
     /** @see SettingsPageBase::restoreDefaults() */
-    virtual void restoreDefaults();
+    void restoreDefaults() override;
 
 protected:
-    virtual void showEvent(QShowEvent* event);
+    void showEvent(QShowEvent* event) override;
 
 private slots:
     /**
@@ -60,13 +60,22 @@ private:
      */
     void loadVersionControlSystems();
 
-    bool isInServicesList(const QString& service) const;
+    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;
-    QListView *m_listView;
-    QGroupBox* m_vcsGroupBox;
-    QMap<QString, QCheckBox*> m_vcsPluginsMap;
+    ServiceModel *m_serviceModel;
+    QSortFilterProxyModel *m_sortModel;
+    QListView* m_listView;
+    QLineEdit *m_searchLineEdit;
     QStringList m_enabledVcsPlugins;
 };