Mercurial > hg > tony
comparison src/MainWindow.cpp @ 296:d4530fab80bd
very simple, probably too simple implementation of select by move note
author | matthiasm |
---|---|
date | Thu, 12 Jun 2014 09:54:05 +0100 |
parents | 59dff7e51db0 |
children | a7792e252f92 2023d5dd6614 |
comparison
equal
deleted
inserted
replaced
295:948e7dcc9e15 | 296:d4530fab80bd |
---|---|
99 m_deleteSelectedAction(0), | 99 m_deleteSelectedAction(0), |
100 m_ffwdAction(0), | 100 m_ffwdAction(0), |
101 m_rwdAction(0), | 101 m_rwdAction(0), |
102 m_intelligentActionOn(true), //GF: !!! temporary | 102 m_intelligentActionOn(true), //GF: !!! temporary |
103 m_activityLog(new ActivityLog()), | 103 m_activityLog(new ActivityLog()), |
104 m_keyReference(new KeyReference()) | 104 m_keyReference(new KeyReference()), |
105 m_selectionAnchor(0) | |
105 { | 106 { |
106 setWindowTitle(QApplication::applicationName()); | 107 setWindowTitle(QApplication::applicationName()); |
107 | 108 |
108 #ifdef Q_OS_MAC | 109 #ifdef Q_OS_MAC |
109 #if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)) | 110 #if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)) |
1086 | 1087 |
1087 void | 1088 void |
1088 MainWindow::moveOneNoteRight() | 1089 MainWindow::moveOneNoteRight() |
1089 { | 1090 { |
1090 // cerr << "MainWindow::moveOneNoteRight" << endl; | 1091 // cerr << "MainWindow::moveOneNoteRight" << endl; |
1091 moveByOneNote(true); | 1092 moveByOneNote(true, false); |
1092 } | 1093 } |
1093 | 1094 |
1094 void | 1095 void |
1095 MainWindow::moveOneNoteLeft() | 1096 MainWindow::moveOneNoteLeft() |
1096 { | 1097 { |
1097 // cerr << "MainWindow::moveOneNoteLeft" << endl; | 1098 // cerr << "MainWindow::moveOneNoteLeft" << endl; |
1098 moveByOneNote(false); | 1099 moveByOneNote(false, false); |
1099 } | 1100 } |
1100 | 1101 |
1101 void | 1102 void |
1102 MainWindow::selectOneNoteRight() | 1103 MainWindow::selectOneNoteRight() |
1103 { | 1104 { |
1104 int left = m_viewManager->getPlaybackFrame(); | 1105 moveByOneNote(true, true); |
1105 moveByOneNote(false); | |
1106 int right = m_viewManager->getPlaybackFrame(); | |
1107 } | 1106 } |
1108 | 1107 |
1109 void | 1108 void |
1110 MainWindow::selectOneNoteLeft() | 1109 MainWindow::selectOneNoteLeft() |
1111 { | 1110 { |
1112 int right = m_viewManager->getPlaybackFrame(); | 1111 moveByOneNote(false, true); |
1113 moveByOneNote(false); | 1112 } |
1114 int left = m_viewManager->getPlaybackFrame(); | 1113 |
1115 } | 1114 |
1116 | 1115 void |
1117 | 1116 MainWindow::moveByOneNote(bool right, bool doSelect) |
1118 void | |
1119 MainWindow::moveByOneNote(bool right) | |
1120 { | 1117 { |
1121 // cerr << "MainWindow::moveByOneNote" << endl; | 1118 // cerr << "MainWindow::moveByOneNote" << endl; |
1122 int frame = m_viewManager->getPlaybackFrame(); | 1119 int frame = m_viewManager->getPlaybackFrame(); |
1123 | 1120 |
1124 Pane *p = m_analyser->getPane(); | 1121 Pane *p = m_analyser->getPane(); |
1122 | |
1123 if (!doSelect) { | |
1124 m_selectionAnchor = frame; | |
1125 } | |
1125 | 1126 |
1126 Layer *layer = m_analyser->getLayer(Analyser::Notes); | 1127 Layer *layer = m_analyser->getLayer(Analyser::Notes); |
1127 if (!layer) return; | 1128 if (!layer) return; |
1128 | 1129 |
1129 FlexiNoteModel *model = qobject_cast<FlexiNoteModel *>(layer->getModel()); | 1130 FlexiNoteModel *model = qobject_cast<FlexiNoteModel *>(layer->getModel()); |
1154 } else { | 1155 } else { |
1155 if (i2 != snapFrames.begin()) i2--; | 1156 if (i2 != snapFrames.begin()) i2--; |
1156 } | 1157 } |
1157 frame = *i2; | 1158 frame = *i2; |
1158 m_viewManager->setPlaybackFrame(frame); | 1159 m_viewManager->setPlaybackFrame(frame); |
1160 if (doSelect) { | |
1161 Selection sel; | |
1162 if (frame > m_selectionAnchor) { | |
1163 sel = Selection(m_selectionAnchor, frame); | |
1164 } else { | |
1165 sel = Selection(frame, m_selectionAnchor); | |
1166 } | |
1167 m_viewManager->setSelection(sel); | |
1168 } | |
1159 } | 1169 } |
1160 | 1170 |
1161 void | 1171 void |
1162 MainWindow::toolNavigateSelected() | 1172 MainWindow::toolNavigateSelected() |
1163 { | 1173 { |