Chris@175: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@175: Chris@175: /* Chris@175: EasyMercurial Chris@175: Chris@175: Based on HgExplorer by Jari Korhonen Chris@175: Copyright (c) 2010 Jari Korhonen Chris@560: Copyright (c) 2012 Chris Cannam Chris@560: Copyright (c) 2012 Queen Mary, University of London Chris@175: Chris@175: This program is free software; you can redistribute it and/or Chris@175: modify it under the terms of the GNU General Public License as Chris@175: published by the Free Software Foundation; either version 2 of the Chris@175: License, or (at your option) any later version. See the file Chris@175: COPYING included with this distribution for more information. Chris@175: */ Chris@175: Chris@175: #ifndef SETTINGS_DIALOG_H Chris@175: #define SETTINGS_DIALOG_H Chris@175: Chris@175: #include Chris@175: #include Chris@175: #include Chris@175: #include Chris@176: #include Chris@273: #include Chris@472: #include Chris@175: Chris@175: class SettingsDialog : public QDialog Chris@175: { Chris@175: Q_OBJECT Chris@175: Chris@175: public: Chris@472: enum Tab { Chris@472: PersonalDetailsTab, Chris@472: PresentationTab, Chris@472: PathsTab Chris@472: }; Chris@472: Chris@175: SettingsDialog(QWidget *parent = 0); Chris@230: Chris@472: void setCurrentTab(Tab tab); Chris@472: Chris@230: bool presentationChanged() { Chris@230: return m_presentationChanged; Chris@230: } Chris@239: Chris@239: static void findDefaultLocations(QString installPath = m_installPath); Chris@240: static QString getUnbundledExtensionFileName(); Chris@175: Chris@175: private slots: Chris@175: void hgPathBrowse(); Chris@175: void diffPathBrowse(); Chris@175: void mergePathBrowse(); chris@406: void sshPathBrowse(); Chris@176: void extensionPathBrowse(); Chris@175: Chris@175: void accept(); Chris@239: void reset(); Chris@239: void clear(); Chris@239: void restoreDefaults(); Chris@175: Chris@175: private: Chris@472: QTabWidget *m_tabs; Chris@472: Chris@175: QLineEdit *m_nameEdit; Chris@175: QLineEdit *m_emailEdit; Chris@195: QLineEdit *m_hgPathLabel; Chris@195: QLineEdit *m_diffPathLabel; Chris@195: QLineEdit *m_mergePathLabel; chris@406: QLineEdit *m_sshPathLabel; Chris@175: Chris@176: QCheckBox *m_useExtension; Chris@195: QLineEdit *m_extensionPathLabel; Chris@176: Chris@230: QCheckBox *m_showIconLabels; Chris@230: QCheckBox *m_showExtraText; Chris@273: QComboBox *m_dateFormat; Chris@273: #ifdef NOT_IMPLEMENTED_YET Chris@273: QComboBox *m_workHistoryArrangement; Chris@273: #endif Chris@230: Chris@175: QPushButton *m_ok; Chris@181: Chris@230: bool m_presentationChanged; Chris@230: Chris@195: void browseFor(QString, QLineEdit *); Chris@239: Chris@239: static void findHgBinaryName(); Chris@239: static void findExtension(); Chris@239: static void findDiffBinaryName(); Chris@239: static void findMergeBinaryName(); chris@406: static void findSshBinaryName(); Chris@239: Chris@239: static QString m_installPath; Chris@175: }; Chris@175: Chris@175: #endif