Some refactoring in SettingsDlg
[irwi] / src / settingsdlg.h
index dc2325e..6197989 100644 (file)
@@ -2,11 +2,16 @@
 #define SETTINGSDLG_H
 
 #include <QDialog>
-#include <QString>
+#include <QSettings>
 
+#include "remote.h"
+
+class QWidget;
 class QHBoxLayout;
-class QListWidget;
-class QListWidgetItem;
+class QVBoxLayout;
+class QPushButton;
+class QLabel;
+class Remote;
 
 class SettingsDlg : public QDialog
 {
@@ -15,19 +20,34 @@ public:
     SettingsDlg(QWidget *parent = 0);
     ~SettingsDlg();
 
-    QString& getRemoteName();
-
 private slots:
-    void alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
-    void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
-    void modelItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
+    void showAdvSettingsDlg();
+    void showSelectRemoteDlg();
+    void showAboutDlg();
+    void setRemote(Remote);
+    void setRemote(const QString &name);
+    void updateRemoteInfo();
+    void rateUpClicked();
+    void rateDownClicked();
+
+private:
+    void enableRateBtns(bool enable = true);
+    void processRemoteChange();
+    void processRatingSent();
 
 private:
-    QHBoxLayout *layout;
-    QString remoteName;
-    QListWidget *alphabetList;
-    QListWidget *mfgList;
-    QListWidget *modelList;
+    Remote m_remote;
+
+    QVBoxLayout *m_layout;
+    QHBoxLayout *m_btnLayout;
+    QHBoxLayout *m_remoteNameLayout;
+    QPushButton *m_advSettingsBtn;
+    QPushButton *m_selectRemoteBtn;
+    QPushButton *m_rateUpBtn;
+    QPushButton *m_rateDownBtn;
+    QPushButton *m_aboutBtn;
+    QLabel *m_remoteNameLabel;
+    QLabel *m_ratingLabel;
 };
 
 #endif