summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-07-24 02:43:43 (GMT)
committerMarius Kintel <marius@kintel.net>2012-07-24 02:43:43 (GMT)
commitf1634d545dafecb745f32fa786d351e95b545280 (patch)
tree36342df7c93328f4db71988466e21c10b429a0ef /src
parentec01e7f492cb750221464dc09d8d3e3d18607d18 (diff)
parentdcb8c201199d45c082992377bcabda92574abd83 (diff)
Merge branch 'master' of github.com:openscad/openscad
Conflicts: scripts/linux-build-dependencies.sh
Diffstat (limited to 'src')
-rw-r--r--src/Preferences.cc3
-rw-r--r--src/editor.cc37
-rw-r--r--src/editor.h5
3 files changed, 45 insertions, 0 deletions
diff --git a/src/Preferences.cc b/src/Preferences.cc
index 802c50c..e70a2a1 100644
--- a/src/Preferences.cc
+++ b/src/Preferences.cc
@@ -67,6 +67,9 @@ Preferences::Preferences(QWidget *parent) : QMainWindow(parent)
connect(this->fontSize, SIGNAL(currentIndexChanged(const QString&)),
this, SLOT(on_fontSize_editTextChanged(const QString &)));
+ // reset GUI fontsize if fontSize->addItem emitted signals that changed it.
+ this->fontSize->setEditText( QString("%1").arg( savedsize ) );
+
// Setup default settings
this->defaultmap["3dview/colorscheme"] = this->colorSchemeChooser->currentItem()->text();
this->defaultmap["advanced/opencsg_show_warning"] = true;
diff --git a/src/editor.cc b/src/editor.cc
index 4482558..bba8d4f 100644
--- a/src/editor.cc
+++ b/src/editor.cc
@@ -1,4 +1,5 @@
#include "editor.h"
+#include "Preferences.h"
#ifndef _QCODE_EDIT_
void Editor::indentSelection()
@@ -70,4 +71,40 @@ void Editor::uncommentSelection()
cursor.setPosition(p2, QTextCursor::KeepAnchor);
setTextCursor(cursor);
}
+
+void Editor::zoomIn()
+{
+ // See also QT's implementation in QEditor.cpp
+ QSettings settings;
+ QFont tmp_font = this->font() ;
+ if ( font().pointSize() >= 1 )
+ tmp_font.setPointSize( 1 + font().pointSize() );
+ else
+ tmp_font.setPointSize( 1 );
+ settings.setValue("editor/fontsize", tmp_font.pointSize());
+ this->setFont( tmp_font );
+}
+
+void Editor::zoomOut()
+{
+ QSettings settings;
+ QFont tmp_font = this->font();
+ if ( font().pointSize() >= 2 )
+ tmp_font.setPointSize( -1 + font().pointSize() );
+ else
+ tmp_font.setPointSize( 1 );
+ settings.setValue("editor/fontsize", tmp_font.pointSize());
+ this->setFont( tmp_font );
+}
+
+void Editor::wheelEvent ( QWheelEvent * event )
+{
+ if (event->modifiers() == Qt::ControlModifier) {
+ if (event->delta() > 0 )
+ zoomIn();
+ else if (event->delta() < 0 )
+ zoomOut();
+ }
+}
+
#endif
diff --git a/src/editor.h b/src/editor.h
index 3088d20..bb338b0 100644
--- a/src/editor.h
+++ b/src/editor.h
@@ -1,6 +1,7 @@
#include <QObject>
#include <QString>
#include <QWidget>
+#include <QWheelEvent>
#ifdef _QCODE_EDIT_
#include <qeditor.h>
@@ -24,6 +25,8 @@ public slots:
#else
Editor(QWidget *parent) : QTextEdit(parent) { setAcceptRichText(false); }
public slots:
+ void zoomIn();
+ void zoomOut();
void setLineWrapping(bool on) { if(on) setWordWrapMode(QTextOption::WrapAnywhere); }
void setContentModified(bool y) { document()->setModified(y); }
bool isContentModified() { return document()->isModified(); }
@@ -31,5 +34,7 @@ public slots:
void unindentSelection();
void commentSelection();
void uncommentSelection();
+private:
+ void wheelEvent ( QWheelEvent * event );
#endif
};
contact: Jan Huwald // Impressum