annotate settingsdialog.h @ 239:661f5808aa0a

* Overhaul settings-defaults mechanism, and add Restore Defaults button to settings dialog
author Chris Cannam
date Mon, 10 Jan 2011 15:18:21 +0000
parents e67bd8abc3e3
children 53ad43d5a463
rev   line source
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@175 8 Copyright (c) 2010 Chris Cannam
Chris@175 9 Copyright (c) 2010 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@175 39
Chris@175 40 private slots:
Chris@175 41 void hgPathBrowse();
Chris@175 42 void diffPathBrowse();
Chris@175 43 void mergePathBrowse();
Chris@178 44 void editPathBrowse();
Chris@176 45 void extensionPathBrowse();
Chris@175 46
Chris@175 47 void accept();
Chris@239 48 void reset();
Chris@239 49 void clear();
Chris@239 50 void restoreDefaults();
Chris@175 51
Chris@175 52 private:
Chris@175 53 QLineEdit *m_nameEdit;
Chris@175 54 QLineEdit *m_emailEdit;
Chris@195 55 QLineEdit *m_hgPathLabel;
Chris@195 56 QLineEdit *m_diffPathLabel;
Chris@195 57 QLineEdit *m_mergePathLabel;
Chris@195 58 QLineEdit *m_editPathLabel;
Chris@175 59
Chris@176 60 QCheckBox *m_useExtension;
Chris@195 61 QLineEdit *m_extensionPathLabel;
Chris@176 62
Chris@230 63 QCheckBox *m_showIconLabels;
Chris@230 64 QCheckBox *m_showExtraText;
Chris@230 65
Chris@175 66 QPushButton *m_ok;
Chris@181 67
Chris@230 68 bool m_presentationChanged;
Chris@230 69
Chris@195 70 void browseFor(QString, QLineEdit *);
Chris@239 71
Chris@239 72 static void findHgBinaryName();
Chris@239 73 static void findExtension();
Chris@239 74 static void findDiffBinaryName();
Chris@239 75 static void findMergeBinaryName();
Chris@239 76 static void findEditorBinaryName();
Chris@239 77
Chris@239 78 static QString m_installPath;
Chris@175 79 };
Chris@175 80
Chris@175 81 #endif