|
From: Tapio V. <aa...@us...> - 2011-02-08 09:56:25
|
Module: editor
Branch: master
Commit: c18f7782fb8bd65f60df9b8b730bda3b26512030
Author: Tapio Vierros <tap...@gm...>
Date: Tue Feb 8 11:55:43 2011 +0200
Add "Reset zoom" functionality and context menu action.
---
notegraphwidget.cc | 23 ++++++++++-------------
notelabelmanager.cc | 6 ++++--
2 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/notegraphwidget.cc b/notegraphwidget.cc
index 1c106d2..342355d 100644
--- a/notegraphwidget.cc
+++ b/notegraphwidget.cc
@@ -423,27 +423,24 @@ void NoteGraphWidget::keyPressEvent(QKeyEvent *event)
void NoteGraphWidget::showContextMenu(const QPoint &pos)
{
- QAction actionNew(NULL);
- QAction actionSelectAll(NULL);
- QAction actionDeselect(NULL);
QMenu menuContext(NULL);
- menuContext.addAction(&actionNew);
+ QAction *actionNew = menuContext.addAction(tr("New note"));
menuContext.addSeparator();
- menuContext.addAction(&actionSelectAll);
- menuContext.addAction(&actionDeselect);
-
- actionNew.setText(tr("New note"));
- actionSelectAll.setText(tr("Select all"));
- actionDeselect.setText(tr("Deselect"));
+ QAction *actionResetZoom = menuContext.addAction(tr("Reset zoom"));
+ menuContext.addSeparator();
+ QAction *actionSelectAll = menuContext.addAction(tr("Select all"));
+ QAction *actionDeselect = menuContext.addAction(tr("Deselect"));
QPoint globalPos = mapToGlobal(pos);
QAction *sel = menuContext.exec(globalPos);
if (sel) {
- if (sel == &actionNew) /*TODO*/;
- else if (sel == &actionSelectAll) selectAll();
- else if (sel == &actionDeselect) selectNote(NULL);
+ if (sel == actionNew) /*TODO*/;
+ else if (sel == actionResetZoom) zoom(getNaN());
+ else if (sel == actionSelectAll) selectAll();
+ else if (sel == actionDeselect) selectNote(NULL);
}
+ menuContext.clear();
}
diff --git a/notelabelmanager.cc b/notelabelmanager.cc
index 8b3b223..fce9119 100644
--- a/notelabelmanager.cc
+++ b/notelabelmanager.cc
@@ -258,8 +258,10 @@ void NoteLabelManager::zoom(float steps) {
if (scrollArea) scrollSecs = px2s(scrollArea->horizontalScrollBar()->value() + scrollArea->width()/2);
}
- // Update zoom factor
- m_pixelsPerSecond += steps * ppsStep;
+ // Update zoom factor, NaN means reset
+ if (steps != steps) m_pixelsPerSecond = ppsNormal;
+ else m_pixelsPerSecond += steps * ppsStep;
+ // Limits
if (m_pixelsPerSecond < ppsMin) m_pixelsPerSecond = ppsMin;
else if (m_pixelsPerSecond > ppsMax) m_pixelsPerSecond = ppsMax;
|