#ifndef PREFERENCES_DIALOG_H #define PREFERENCES_DIALOG_H #include class QLineEdit; class QListView; class QSpinBox; class QCheckBox; class QComboBox; class QVButtonGroup; class QWidgetStack; class QPopupMenu; class QListBoxItem; class QListBox; class preferences_dlg : public QDialog { Q_OBJECT public: preferences_dlg(QWidget *p = 0, const char *name = 0, bool modal = false); ~preferences_dlg() {} public slots: //! Updates the settings object with the values for the current profile. void update_profile(); //! Updates and saves the common settings and currently selected profile. void update_settings(); //! Loads a profile from the settings object into the preference dialog. void recall_profile(const QString&); signals: void sig_register_user(); protected slots: void openDirSelDlg(); void removeSelectedShare(); void addSharesDlg(); void chooseFont(); void disableProxyWidgets(bool yes); void disableSocksWidgets(bool yes); void profileSelected(const QString&); void showProfilePopup(QListBoxItem*, const QPoint&); void performProfileListOp(int); private: QWidgetStack *wstack; QString currentProfile; QPopupMenu *profilePop; QListBoxItem *lastProfile; QListBox *profileList; // widgets that needs to be remembered QLineEdit *nameEdit; QLineEdit *descEdit; QLineEdit *addrEdit; QLineEdit *emailEdit; // Network tab QSpinBox *portSpin; QSpinBox *slotsSpin; QSpinBox *speedSpin; QSpinBox *dspeedSpin; QCheckBox *passive; QCheckBox *fileListCheck; //QCheckBox *fakedcppCheck; QVButtonGroup *desctagButtons; QCheckBox *abortleavedCheck; QLineEdit *dlEdit; QListView *shared; QComboBox *connectionCombo; QFont font; QLineEdit *fontEdit; QComboBox *encodingBox; QCheckBox *timestampCheck; QCheckBox *highlightCheck; QComboBox *iconsetBox; QCheckBox *splitviewCheck; QCheckBox *proxyCheck; QLineEdit *proxyAddr; QLineEdit *proxyPort; QCheckBox *proxyUseSocks; QLineEdit *proxyUsername; QLineEdit *proxyPassword; QCheckBox *allowSessionReg; QCheckBox *allowUserReg; }; #endif