From 8561215e0959ed049356b525f0875d842eca296a Mon Sep 17 00:00:00 2001 From: kintel Date: Fri, 22 Jan 2010 13:17:41 +0000 Subject: Better behavior of prefs dialog git-svn-id: http://svn.clifford.at/openscad/trunk@334 b57f626f-c46c-0410-a088-ec61d464b74c 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 +#include 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 > colorschemes; QString colorscheme; QString fontfamily; diff --git a/mainwin.cc b/mainwin.cc index 4299c50..09b5c5e 100644 --- a/mainwin.cc +++ b/mainwin.cc @@ -1753,6 +1753,8 @@ void MainWindow::preferences() { Preferences::inst()->show(); + Preferences::inst()->activateWindow(); + Preferences::inst()->raise(); } void MainWindow::setFont(const QString &family, uint size) -- cgit v0.10.1