comparison src/MainWindow.cpp @ 139:995478fbbe17

Double-click in selection strip selects the region associated with the simultaneous note (if there is one)
author Chris Cannam
date Fri, 10 Jan 2014 14:18:37 +0000
parents 59dacb4f7ab1
children e7f2da26c9ac
comparison
equal deleted inserted replaced
138:a19c3d0aa4e7 139:995478fbbe17
43 #include "audioio/AudioCallbackPlayTarget.h" 43 #include "audioio/AudioCallbackPlayTarget.h"
44 #include "audioio/PlaySpeedRangeMapper.h" 44 #include "audioio/PlaySpeedRangeMapper.h"
45 #include "base/Profiler.h" 45 #include "base/Profiler.h"
46 #include "base/UnitDatabase.h" 46 #include "base/UnitDatabase.h"
47 #include "layer/ColourDatabase.h" 47 #include "layer/ColourDatabase.h"
48 #include "base/Selection.h"
48 49
49 #include "data/fileio/CSVFileWriter.h" 50 #include "data/fileio/CSVFileWriter.h"
50 #include "data/fileio/MIDIFileWriter.h" 51 #include "data/fileio/MIDIFileWriter.h"
51 #include "rdf/RDFExporter.h" 52 #include "rdf/RDFExporter.h"
52 53
159 // We have a pane stack: it comes with the territory. However, we 160 // We have a pane stack: it comes with the territory. However, we
160 // have a fixed and known number of panes in it -- it isn't 161 // have a fixed and known number of panes in it -- it isn't
161 // variable 162 // variable
162 m_paneStack->setLayoutStyle(PaneStack::NoPropertyStacks); 163 m_paneStack->setLayoutStyle(PaneStack::NoPropertyStacks);
163 m_paneStack->setShowPaneAccessories(false); 164 m_paneStack->setShowPaneAccessories(false);
165 connect(m_paneStack, SIGNAL(doubleClickSelectInvoked(size_t)),
166 this, SLOT(doubleClickSelectInvoked(size_t)));
164 scroll->setWidget(m_paneStack); 167 scroll->setWidget(m_paneStack);
165 168
166 m_overview = new Overview(frame); 169 m_overview = new Overview(frame);
167 m_overview->setViewManager(m_viewManager); 170 m_overview->setViewManager(m_viewManager);
168 m_overview->setFixedHeight(40); 171 m_overview->setFixedHeight(40);
1351 void 1354 void
1352 MainWindow::renameCurrentLayer() 1355 MainWindow::renameCurrentLayer()
1353 { 1356 {
1354 Pane *pane = m_paneStack->getCurrentPane(); 1357 Pane *pane = m_paneStack->getCurrentPane();
1355 if (pane) { 1358 if (pane) {
1356 Layer *layer = pane->getSelectedLayer(); 1359 Layer *layer = pane->getSelectedLayer();
1357 if (layer) { 1360 if (layer) {
1358 bool ok = false; 1361 bool ok = false;
1359 QString newName = QInputDialog::getText 1362 QString newName = QInputDialog::getText
1360 (this, tr("Rename Layer"), 1363 (this, tr("Rename Layer"),
1361 tr("New name for this layer:"), 1364 tr("New name for this layer:"),
1362 QLineEdit::Normal, layer->objectName(), &ok); 1365 QLineEdit::Normal, layer->objectName(), &ok);
1363 if (ok) { 1366 if (ok) {
1364 layer->setObjectName(newName); 1367 layer->setObjectName(newName);
1368 }
1365 } 1369 }
1366 } 1370 }
1367 } 1371 }
1372
1373 void
1374 MainWindow::doubleClickSelectInvoked(size_t frame)
1375 {
1376 size_t f0, f1;
1377 m_analyser->getEnclosingSelectionScope(frame, f0, f1);
1378
1379 cerr << "MainWindow::doubleClickSelectInvoked(" << frame << "): [" << f0 << "," << f1 << "]" << endl;
1380
1381 m_viewManager->setSelection(Selection(f0, f1));
1368 } 1382 }
1369 1383
1370 void 1384 void
1371 MainWindow::playSpeedChanged(int position) 1385 MainWindow::playSpeedChanged(int position)
1372 { 1386 {