|
From: Tapio V. <aa...@us...> - 2011-02-07 10:48:11
|
Module: editor
Branch: master
Commit: 91fd94882f86f244bc59d28cb959090a63ad6c20
Author: Tapio Vierros <tap...@gm...>
Date: Mon Feb 7 12:47:18 2011 +0200
Implemented NoteGraphWidget context menu select all and deselect actions.
---
notegraphwidget.cc | 13 ++++---------
notegraphwidget.hh | 1 +
notelabelmanager.cc | 7 +++++++
3 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/notegraphwidget.cc b/notegraphwidget.cc
index 2aa12a9..1bf17fb 100644
--- a/notegraphwidget.cc
+++ b/notegraphwidget.cc
@@ -256,9 +256,6 @@ void NoteGraphWidget::mousePressEvent(QMouseEvent *event)
// Left click empty area = pan
if (event->button() == Qt::LeftButton)
m_panHotSpot = event->pos();
- // Right click empty area = deselect
- if (event->button() == Qt::RightButton)
- selectNote(NULL);
} else {
// Seeking
m_seeking = true;
@@ -390,9 +387,7 @@ void NoteGraphWidget::keyPressEvent(QKeyEvent *event)
int k = event->key(), m = event->modifiers();
if (k == Qt::Key_A && (m & Qt::ControlModifier)) { // Select all
- selectNote(NULL); // Clear previous
- for (int i = m_notes.size()-1; i >= 0; --i) // Traverse in reverse order to get the first note first
- selectNote(m_notes[i], false);
+ selectAll();
} else if (k == Qt::Key_Return) { // Edit lyric
editLyric(selectedNote());
} else if (k == Qt::Key_Left) { // Select note on the left
@@ -430,9 +425,9 @@ void NoteGraphWidget::showContextMenu(const QPoint &pos)
QPoint globalPos = mapToGlobal(pos);
QAction *sel = menuContext.exec(globalPos);
if (sel) {
- if (sel == &actionNew) ;
- else if (sel == &actionSelectAll) ;
- else if (sel == &actionDeselect) ;
+ if (sel == &actionNew) /*TODO*/;
+ else if (sel == &actionSelectAll) selectAll();
+ else if (sel == &actionDeselect) selectNote(NULL);
}
}
diff --git a/notegraphwidget.hh b/notegraphwidget.hh
index 72b8d29..f091e02 100644
--- a/notegraphwidget.hh
+++ b/notegraphwidget.hh
@@ -35,6 +35,7 @@ public:
virtual void updateNotes(bool leftToRight = true) {}
void selectNote(NoteLabel *note, bool clearPrevious = true);
+ void selectAll();
NoteLabel* selectedNote() const { return m_selectedNotes.isEmpty() ? NULL : m_selectedNotes.front(); }
NoteLabels& selectedNotes() { return m_selectedNotes; }
NoteLabels const& selectedNotes() const { return m_selectedNotes; }
diff --git a/notelabelmanager.cc b/notelabelmanager.cc
index aa67cf7..d3555df 100644
--- a/notelabelmanager.cc
+++ b/notelabelmanager.cc
@@ -35,6 +35,13 @@ void NoteLabelManager::selectNote(NoteLabel* note, bool clearPrevious)
emit updateNoteInfo(selectedNote());
}
+void NoteLabelManager::selectAll()
+{
+ selectNote(NULL); // Clear previous
+ for (int i = m_notes.size()-1; i >= 0; --i) // Traverse in reverse order to get the first note first
+ selectNote(m_notes[i], false);
+}
+
int NoteLabelManager::getNoteLabelId(NoteLabel* note) const
{
for (int i = 0; i < m_notes.size(); ++i)
|