source: trunk/qt/PrefsDialog.h @ 14539

Last change on this file since 14539 was 14539, checked in by mikedld, 6 years ago

Unify/prettify Qt client headers style

  • Property svn:keywords set to Date Rev Author Id
File size: 2.1 KB
Line 
1/*
2 * This file Copyright (C) 2009-2015 Mnemosyne LLC
3 *
4 * It may be used under the GNU GPL versions 2 or 3
5 * or any future license endorsed by Mnemosyne LLC.
6 *
7 * $Id: PrefsDialog.h 14539 2015-06-12 22:12:12Z mikedld $
8 */
9
10#ifndef QTR_PREFS_DIALOG_H
11#define QTR_PREFS_DIALOG_H
12
13#include <QDialog>
14#include <QMap>
15#include <QSet>
16
17#include "Prefs.h"
18#include "ui_PrefsDialog.h"
19
20class QHttp;
21class QMessageBox;
22class QString;
23
24class Prefs;
25class Session;
26
27class PrefsDialog: public QDialog
28{
29    Q_OBJECT
30
31  public:
32    PrefsDialog (Session&, Prefs&, QWidget * parent = nullptr);
33    virtual ~PrefsDialog ();
34
35  private:
36    typedef QMap<int, QWidget*> key2widget_t;
37
38  private:
39    bool updateWidgetValue (QWidget * widget, int prefKey);
40    void linkWidgetToPref (QWidget * widget, int prefKey);
41    void updateBlocklistLabel ();
42
43    void setPref (int key, const QVariant& v);
44
45    void initDownloadingTab ();
46    void initSeedingTab ();
47    void initSpeedTab ();
48    void initPrivacyTab ();
49    void initNetworkTab ();
50    void initDesktopTab ();
51    void initRemoteTab ();
52
53  private slots:
54    void checkBoxToggled (bool checked);
55    void spinBoxEditingFinished ();
56    void timeEditingFinished ();
57    void lineEditingFinished ();
58    void pathChanged (const QString& path);
59    void refreshPref (int key);
60    void encryptionEdited (int);
61    void altSpeedDaysEdited (int);
62    void sessionUpdated ();
63    void onPortTested (bool);
64    void onPortTest ();
65    void onIdleLimitChanged ();
66    void onQueueStalledMinutesChanged ();
67
68    void onUpdateBlocklistClicked ();
69    void onUpdateBlocklistCancelled ();
70    void onBlocklistDialogDestroyed (QObject *);
71    void onBlocklistUpdated (int n);
72
73  private:
74    Session& mySession;
75    Prefs& myPrefs;
76
77    Ui::PrefsDialog ui;
78
79    key2widget_t myWidgets;
80    const bool myIsServer;
81    QWidgetList myWebWidgets;
82    QWidgetList myWebAuthWidgets;
83    QWidgetList myWebWhitelistWidgets;
84    QWidgetList myProxyWidgets;
85    QWidgetList myProxyAuthWidgets;
86    QWidgetList mySchedWidgets;
87    QWidgetList myBlockWidgets;
88    QWidgetList myUnsupportedWhenRemote;
89
90    int myBlocklistHttpTag;
91    QHttp * myBlocklistHttp;
92    QMessageBox * myBlocklistDialog;
93};
94
95#endif // QTR_PREFS_DIALOG_H
Note: See TracBrowser for help on using the repository browser.