Website updated.
[irwi] / src / settingsdlg.h
index 5147eb7..09cda7a 100644 (file)
@@ -2,14 +2,17 @@
 #define SETTINGSDLG_H
 
 #include <QDialog>
-#include <QString>
+#include <QSettings>
+#include <QNetworkConfigurationManager>
 
+#include "remote.h"
+
+class QWidget;
 class QHBoxLayout;
-class QListWidget;
-class QListWidgetItem;
-class QSettings;
-class QNetworkAccessManager;
-class QNetworkReply;
+class QVBoxLayout;
+class QPushButton;
+class QLabel;
+class Remote;
 
 class SettingsDlg : public QDialog
 {
@@ -17,29 +20,38 @@ class SettingsDlg : public QDialog
 public:
     SettingsDlg(QWidget *parent = 0);
     ~SettingsDlg();
+    void showEvent(class QShowEvent *);
 
 private slots:
-    void alphabetItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
-    
-    void mfgItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
-    void mfgListDownloadFinished(QNetworkReply *reply);
-
-    void modelItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
-    void modelListDownloadFinished(QNetworkReply *reply);
+    void showAdvSettingsDlg();
+    void showSelectRemoteDlg();
+    void showAboutDlg();
+    void setRemote(Remote);
+    void updateRemoteInfo();
+    void rateUpClicked();
+    void rateDownClicked();
+    void onNetworkStatusUpdate();
 
-    void remoteDownloadFinished(QNetworkReply *reply);
+private:
+    void enableRateBtns(bool enable = true);
+    void processRatingSent();
+    void setBusy(bool busy = true);
 
 private:
-    QHBoxLayout *layout;
-    QListWidget *alphabetList;
-    QListWidget *mfgList;
-    QListWidget *modelList;
-    QSettings *settings;
-    QNetworkAccessManager *mfgNetAM;
-    QNetworkAccessManager *modelNetAM;
-    QNetworkAccessManager *remoteNetAM;
-
-    void beginDownload(const QString &url, QNetworkAccessManager *nam);
+    bool m_busy;
+    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;
+    QTM_PREPEND_NAMESPACE(QNetworkConfigurationManager) *m_netConfMan;
 };
 
 #endif