Mercurial > hg > svgui
diff view/ViewManager.cpp @ 374:64e84e5efb76 spectrogram-cache-rejig
* Merge from trunk
author | Chris Cannam |
---|---|
date | Wed, 27 Feb 2008 11:59:42 +0000 |
parents | 4f4f38a11cd2 |
children |
line wrap: on
line diff
--- a/view/ViewManager.cpp Mon Nov 19 15:50:37 2007 +0000 +++ b/view/ViewManager.cpp Wed Feb 27 11:59:42 2008 +0000 @@ -57,7 +57,7 @@ settings.endGroup(); if (getGlobalDarkBackground()) { - +/* std::cerr << "dark palette:" << std::endl; std::cerr << "window = " << QApplication::palette().color(QPalette::Window).name().toStdString() << std::endl; std::cerr << "windowtext = " << QApplication::palette().color(QPalette::WindowText).name().toStdString() << std::endl; @@ -70,7 +70,7 @@ std::cerr << "light = " << QApplication::palette().color(QPalette::Light).name().toStdString() << std::endl; std::cerr << "dark = " << QApplication::palette().color(QPalette::Dark).name().toStdString() << std::endl; std::cerr << "mid = " << QApplication::palette().color(QPalette::Mid).name().toStdString() << std::endl; - +*/ m_lightPalette = QPalette(QColor("#000000"), // WindowText QColor("#dddfe4"), // Button QColor("#ffffff"), // Light @@ -83,6 +83,7 @@ } else { +/* std::cerr << "light palette:" << std::endl; std::cerr << "window = " << QApplication::palette().color(QPalette::Window).name().toStdString() << std::endl; std::cerr << "windowtext = " << QApplication::palette().color(QPalette::WindowText).name().toStdString() << std::endl; @@ -95,7 +96,7 @@ std::cerr << "light = " << QApplication::palette().color(QPalette::Light).name().toStdString() << std::endl; std::cerr << "dark = " << QApplication::palette().color(QPalette::Dark).name().toStdString() << std::endl; std::cerr << "mid = " << QApplication::palette().color(QPalette::Mid).name().toStdString() << std::endl; - +*/ m_darkPalette = QPalette(QColor("#ffffff"), // WindowText QColor("#3e3e3e"), // Button QColor("#808080"), // Light @@ -173,6 +174,20 @@ m_playbackModel = model; } +size_t +ViewManager::alignPlaybackFrameToReference(size_t frame) const +{ + if (!m_playbackModel) return frame; + else return m_playbackModel->alignToReference(frame); +} + +size_t +ViewManager::alignReferenceToPlaybackFrame(size_t frame) const +{ + if (!m_playbackModel) return frame; + else return m_playbackModel->alignFromReference(frame); +} + bool ViewManager::haveInProgressSelection() const { @@ -260,18 +275,19 @@ MultiSelection::SelectionList sl = getSelections(); if (sl.empty()) return frame; - size_t selectionStartFrame = sl.begin()->getStartFrame(); - if (frame < selectionStartFrame) { - frame = selectionStartFrame; - return frame; + for (MultiSelection::SelectionList::const_iterator i = sl.begin(); + i != sl.end(); ++i) { + + if (frame < i->getEndFrame()) { + if (frame < i->getStartFrame()) { + return i->getStartFrame(); + } else { + return frame; + } + } } - MultiSelection::SelectionList::iterator i = sl.end(); - --i; - size_t selectionEndFrame = i->getEndFrame(); - if (frame > selectionEndFrame) frame = selectionEndFrame; - - return frame; + return sl.begin()->getStartFrame(); } void