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 {