diff options
author | kintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c> | 2010-01-22 13:17:41 (GMT) |
---|---|---|
committer | kintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c> | 2010-01-22 13:17:41 (GMT) |
commit | 8561215e0959ed049356b525f0875d842eca296a (patch) | |
tree | d3817cc231f2ad88e115f40d4ecbdfbf6c0fa221 | |
parent | 05dc585cab293cefd079333668a96fe8b28b04f8 (diff) |
Better behavior of prefs dialog
git-svn-id: http://svn.clifford.at/openscad/trunk@334 b57f626f-c46c-0410-a088-ec61d464b74c
-rw-r--r-- | Preferences.cc | 14 | ||||
-rw-r--r-- | Preferences.h | 2 | ||||
-rw-r--r-- | mainwin.cc | 2 |
3 files changed, 18 insertions, 0 deletions
diff --git a/Preferences.cc b/Preferences.cc index a18e122..2634c0b 100644 --- a/Preferences.cc +++ b/Preferences.cc @@ -21,6 +21,7 @@ #include "Preferences.h" #include <QFontDatabase> +#include <QKeyEvent> Preferences *Preferences::instance = NULL; @@ -131,3 +132,16 @@ void Preferences::fontSizeChanged(const QString &size) this->fontsize = size.toUInt(); emit fontChanged(this->fontfamily, this->fontsize); } + +void Preferences::keyPressEvent(QKeyEvent *e) +{ +#ifdef Q_WS_MAC + if (e->modifiers() == Qt::ControlModifier && e->key() == Qt::Key_Period) { + close(); + } else +#endif + if (e->modifiers() == Qt::ControlModifier && e->key() == Qt::Key_W || + e->key() == Qt::Key_Escape) { + close(); + } +} diff --git a/Preferences.h b/Preferences.h index 5bfb3be..24b734e 100644 --- a/Preferences.h +++ b/Preferences.h @@ -38,6 +38,8 @@ signals: private: Preferences(QWidget *parent = NULL); + void keyPressEvent(QKeyEvent *e); + QHash<QString, QMap<RenderColor, QColor> > colorschemes; QString colorscheme; QString fontfamily; @@ -1753,6 +1753,8 @@ void MainWindow::preferences() { Preferences::inst()->show(); + Preferences::inst()->activateWindow(); + Preferences::inst()->raise(); } void MainWindow::setFont(const QString &family, uint size) |