| Chris@175 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */ | 
| Chris@175 | 2 | 
| Chris@175 | 3 /* | 
| Chris@175 | 4     EasyMercurial | 
| Chris@175 | 5 | 
| Chris@175 | 6     Based on HgExplorer by Jari Korhonen | 
| Chris@175 | 7     Copyright (c) 2010 Jari Korhonen | 
| Chris@244 | 8     Copyright (c) 2011 Chris Cannam | 
| Chris@244 | 9     Copyright (c) 2011 Queen Mary, University of London | 
| Chris@175 | 10 | 
| Chris@175 | 11     This program is free software; you can redistribute it and/or | 
| Chris@175 | 12     modify it under the terms of the GNU General Public License as | 
| Chris@175 | 13     published by the Free Software Foundation; either version 2 of the | 
| Chris@175 | 14     License, or (at your option) any later version.  See the file | 
| Chris@175 | 15     COPYING included with this distribution for more information. | 
| Chris@175 | 16 */ | 
| Chris@175 | 17 | 
| Chris@175 | 18 #ifndef SETTINGS_DIALOG_H | 
| Chris@175 | 19 #define SETTINGS_DIALOG_H | 
| Chris@175 | 20 | 
| Chris@175 | 21 #include <QDialog> | 
| Chris@175 | 22 #include <QLineEdit> | 
| Chris@175 | 23 #include <QLabel> | 
| Chris@175 | 24 #include <QPushButton> | 
| Chris@176 | 25 #include <QCheckBox> | 
| Chris@175 | 26 | 
| Chris@175 | 27 class SettingsDialog : public QDialog | 
| Chris@175 | 28 { | 
| Chris@175 | 29     Q_OBJECT | 
| Chris@175 | 30 | 
| Chris@175 | 31 public: | 
| Chris@175 | 32     SettingsDialog(QWidget *parent = 0); | 
| Chris@230 | 33 | 
| Chris@230 | 34     bool presentationChanged() { | 
| Chris@230 | 35         return m_presentationChanged; | 
| Chris@230 | 36     } | 
| Chris@239 | 37 | 
| Chris@239 | 38     static void findDefaultLocations(QString installPath = m_installPath); | 
| Chris@240 | 39     static QString getUnbundledExtensionFileName(); | 
| Chris@175 | 40 | 
| Chris@175 | 41 private slots: | 
| Chris@175 | 42     void hgPathBrowse(); | 
| Chris@175 | 43     void diffPathBrowse(); | 
| Chris@175 | 44     void mergePathBrowse(); | 
| Chris@178 | 45     void editPathBrowse(); | 
| Chris@176 | 46     void extensionPathBrowse(); | 
| Chris@175 | 47 | 
| Chris@175 | 48     void accept(); | 
| Chris@239 | 49     void reset(); | 
| Chris@239 | 50     void clear(); | 
| Chris@239 | 51     void restoreDefaults(); | 
| Chris@175 | 52 | 
| Chris@175 | 53 private: | 
| Chris@175 | 54     QLineEdit *m_nameEdit; | 
| Chris@175 | 55     QLineEdit *m_emailEdit; | 
| Chris@195 | 56     QLineEdit *m_hgPathLabel; | 
| Chris@195 | 57     QLineEdit *m_diffPathLabel; | 
| Chris@195 | 58     QLineEdit *m_mergePathLabel; | 
| Chris@195 | 59     QLineEdit *m_editPathLabel; | 
| Chris@175 | 60 | 
| Chris@176 | 61     QCheckBox *m_useExtension; | 
| Chris@195 | 62     QLineEdit *m_extensionPathLabel; | 
| Chris@176 | 63 | 
| Chris@230 | 64     QCheckBox *m_showIconLabels; | 
| Chris@230 | 65     QCheckBox *m_showExtraText; | 
| Chris@230 | 66 | 
| Chris@175 | 67     QPushButton *m_ok; | 
| Chris@181 | 68 | 
| Chris@230 | 69     bool m_presentationChanged; | 
| Chris@230 | 70 | 
| Chris@195 | 71     void browseFor(QString, QLineEdit *); | 
| Chris@239 | 72 | 
| Chris@239 | 73     static void findHgBinaryName(); | 
| Chris@239 | 74     static void findExtension(); | 
| Chris@239 | 75     static void findDiffBinaryName(); | 
| Chris@239 | 76     static void findMergeBinaryName(); | 
| Chris@239 | 77     static void findEditorBinaryName(); | 
| Chris@239 | 78 | 
| Chris@239 | 79     static QString m_installPath; | 
| Chris@175 | 80 }; | 
| Chris@175 | 81 | 
| Chris@175 | 82 #endif |