|
From: Tapio V. <aa...@us...> - 2011-02-02 14:30:57
|
Module: editor
Branch: master
Commit: 838372497f6a0eca993359f0639dc8e4d03c3dc0
Author: Tapio Vierros <tap...@gm...>
Date: Wed Feb 2 16:29:37 2011 +0200
Keyboard left/right keys now call selectNextSyllable().
---
notegraphwidget.cc | 20 ++++++--------------
notegraphwidget.hh | 2 +-
2 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/notegraphwidget.cc b/notegraphwidget.cc
index 6a35ee2..5d4136d 100644
--- a/notegraphwidget.cc
+++ b/notegraphwidget.cc
@@ -281,13 +281,13 @@ void NoteGraphWidget::timeSentence()
selectNextSentenceStart();
}
-void NoteGraphWidget::selectNextSyllable(bool backwards)
+void NoteGraphWidget::selectNextSyllable(bool backwards, bool addToSelection)
{
int i = getNoteLabelId(m_selectedNote);
if (!backwards && i < m_notes.size()-1)
- selectNote(m_notes[i+1]);
- else if (backwards && i > 1)
- selectNote(m_notes[i-1]);
+ selectNote(m_notes[i+1], !addToSelection);
+ else if (backwards && i > 0)
+ selectNote(m_notes[i-1], !addToSelection);
}
void NoteGraphWidget::selectNextSentenceStart()
@@ -558,17 +558,9 @@ void NoteGraphWidget::keyPressEvent(QKeyEvent *event)
} else if (k == Qt::Key_Return) { // Edit lyric
editLyric(m_selectedNote);
} else if (k == Qt::Key_Left) { // Select note on the left
- if (m_selectedNote && m_notes.size() > 1 && m_selectedNote != m_notes.front()) {
- for (NoteLabels::iterator it = m_notes.begin(); it != m_notes.end(); ++it) {
- if (m_selectedNote == *it) { selectNote(*(--it), !(m & Qt::ControlModifier)); break; }
- }
- }
+ selectNextSyllable(true, (m & Qt::ControlModifier));
} else if (k == Qt::Key_Right) { // Select note on the right
- if (m_selectedNote && m_notes.size() > 1 && m_selectedNote != m_notes.back()) {
- for (NoteLabels::iterator it = m_notes.begin(); it != m_notes.end(); ++it) {
- if (m_selectedNote == *it) { selectNote(*(++it), !(m & Qt::ControlModifier)); break; }
- }
- }
+ selectNextSyllable(false, (m & Qt::ControlModifier));
} else if (k == Qt::Key_Up) { // Move note up
move(m_selectedNote, 1);
} else if (k == Qt::Key_Down) { // Move note down
diff --git a/notegraphwidget.hh b/notegraphwidget.hh
index 5b65cfe..7e49c45 100644
--- a/notegraphwidget.hh
+++ b/notegraphwidget.hh
@@ -68,7 +68,7 @@ public:
public slots:
void timeSyllable();
void timeSentence();
- void selectNextSyllable(bool backwards = false);
+ void selectNextSyllable(bool backwards = false, bool addToSelection = false);
void selectNextSentenceStart();
signals:
|