summaryrefslogtreecommitdiff
path: root/muse_qt4_evolution/muse/marker/markerview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse_qt4_evolution/muse/marker/markerview.cpp')
-rw-r--r--muse_qt4_evolution/muse/marker/markerview.cpp413
1 files changed, 0 insertions, 413 deletions
diff --git a/muse_qt4_evolution/muse/marker/markerview.cpp b/muse_qt4_evolution/muse/marker/markerview.cpp
deleted file mode 100644
index 7cab2d02..00000000
--- a/muse_qt4_evolution/muse/marker/markerview.cpp
+++ /dev/null
@@ -1,413 +0,0 @@
-//=============================================================================
-// MusE
-// Linux Music Editor
-// $Id:$
-//
-// Copyright (C) 2002-2006 by Werner Schweer and others
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-//=============================================================================
-
-#include "markerview.h"
-#include "globals.h"
-#include "sync.h"
-#include "icons.h"
-#include "song.h"
-#include "awl/posedit.h"
-#include "al/al.h"
-#include "al/xml.h"
-#include "al/sig.h"
-#include "al/tempo.h"
-#include "al/marker.h"
-#include "shortcuts.h"
-
-enum { COL_TICK = 0, COL_SMPTE, COL_LOCK, COL_NAME };
-
-//---------------------------------------------------------
-// tick
-//---------------------------------------------------------
-
-unsigned MarkerItem::tick() const
- {
- return _marker->tick();
- }
-
-//---------------------------------------------------------
-// name
-//---------------------------------------------------------
-
-const QString MarkerItem::name() const
- {
- return _marker->name();
- }
-
-//---------------------------------------------------------
-// lock
-//---------------------------------------------------------
-
-bool MarkerItem::lock() const
- {
- return _marker->type() == AL::FRAMES;
- }
-
-//---------------------------------------------------------
-// MarkerItem
-//---------------------------------------------------------
-
-MarkerItem::MarkerItem(QTreeWidget* parent, AL::Marker* m)
- : QTreeWidgetItem(parent)
- {
- _marker = m;
- setText(COL_NAME, m->name());
- setTick(m->tick());
- setIcon(COL_LOCK, m->type() == AL::FRAMES ? *lockIcon : QIcon());
- }
-
-//---------------------------------------------------------
-// setName
-//---------------------------------------------------------
-
-void MarkerItem::setName(const QString& s)
- {
- setText(COL_NAME, s);
- _marker = song->setMarkerName(_marker, s);
- }
-
-//---------------------------------------------------------
-// setLock
-//---------------------------------------------------------
-
-void MarkerItem::setLock(bool lck)
- {
- setIcon(COL_LOCK, lck ? *lockIcon : QIcon());
- _marker = song->setMarkerLock(_marker, lck);
- }
-
-//---------------------------------------------------------
-// setTick
-//---------------------------------------------------------
-
-void MarkerItem::setTick(unsigned v)
- {
- if (_marker->tick() != v)
- _marker = song->setMarkerTick(_marker, v);
- QString s;
- int bar, beat;
- int tick;
- _marker->mbt(&bar, &beat, &tick);
- s.sprintf("%04d.%02d.%03d", bar+1, beat+1, tick);
- setText(COL_TICK, s);
-
- int min, sec, frame, subframe;
- _marker->msf(&min, &sec, &frame, &subframe);
-
- s.sprintf("%03d:%02d:%02d:%02d", min, sec, frame, subframe);
- setText(COL_SMPTE, s);
- }
-
-//---------------------------------------------------------
-// MarkerView
-//---------------------------------------------------------
-
-MarkerView::MarkerView()
- : TopWin()
- {
- lockChange = false;
- setWindowTitle(tr("MusE: Marker"));
-
- //---------Actions----------------------------
- QAction* markerAdd = new QAction(QIcon(*flagIcon), tr("add marker"), this);
- markerAdd->setToolTip(tr("Add Marker"));
- connect(markerAdd, SIGNAL(triggered()), SLOT(addMarker()));
-
- QAction* markerDelete = getAction("delete", this);
- connect(markerDelete, SIGNAL(triggered()), SLOT(deleteMarker()));
-
- //---------Pulldown Menu----------------------------
- QMenuBar* mb = menuBar();
-
- QMenu* editMenu = mb->addMenu(tr("&Edit"));
- editMenu->addAction(markerAdd);
- editMenu->addAction(markerDelete);
-
- //---------ToolBar----------------------------------
- QToolBar* tools = addToolBar(tr("marker-tools"));
- tools->addAction(undoAction);
- tools->addAction(redoAction);
-
- QToolBar* edit = addToolBar(tr("edit tools"));
- edit->addAction(markerAdd);
- edit->addAction(markerDelete);
-
- //---------------------------------------------------
- // master
- //---------------------------------------------------
-
- QWidget* w = new QWidget;
- setCentralWidget(w);
- QVBoxLayout* vbox = new QVBoxLayout;
- w->setLayout(vbox);
-
- table = new QTreeWidget;
- table->setUniformRowHeights(true);
- table->setAlternatingRowColors(true);
- table->setSelectionBehavior(QAbstractItemView::SelectRows);
- table->setSelectionMode(QTreeWidget::SingleSelection);
- table->setSortingEnabled(false);
- table->setIndentation(0);
- QStringList labels;
- labels << tr("Bar:Beat:Tick")
- << tr("Min:Sc:Fr:Sf")
- << tr("Lock")
- << tr("Text");
- table->setHeaderLabels(labels);
-
- table->header()->resizeSection(0, 120);
- table->header()->resizeSection(1, 120);
- table->header()->resizeSection(2, 50);
- table->header()->resizeSection(3, 200);
-// table->header()->resizeSection(mnWidthMode(3, QTreeWidget::Maximum);
- connect(table, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), SLOT(currentChanged(QTreeWidgetItem*)));
- connect(table, SIGNAL(itemSelectionChanged()), SLOT(selectionChanged()));
- connect(table, SIGNAL(itemClicked(QTreeWidgetItem*,int)), SLOT(clicked(QTreeWidgetItem*)));
-
- QGroupBox* props = new QGroupBox(tr("Marker Properties"));
- QHBoxLayout* propsLayout = new QHBoxLayout;
- props->setLayout(propsLayout);
-
- editTick = new Awl::PosEdit;
- propsLayout->addWidget(editTick);
- editTick->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,
- QSizePolicy::Fixed));
-
- editSMPTE = new Awl::PosEdit;
- propsLayout->addWidget(editSMPTE);
- editSMPTE->setSmpte(true);
- editSMPTE->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,
- QSizePolicy::Fixed));
-
- lock = new QToolButton;
- propsLayout->addWidget(lock);
- lock->setIcon(*lockIcon);
- lock->setCheckable(true);
-
- editName = new QLineEdit;
- propsLayout->addWidget(editName);
- editName->setSizePolicy(QSizePolicy(QSizePolicy::Expanding,
- QSizePolicy::Preferred));
- connect(editName, SIGNAL(textChanged(const QString&)),
- SLOT(nameChanged(const QString&)));
- connect(editTick, SIGNAL(valueChanged(const Pos&)),
- SLOT(tickChanged(const Pos&)));
- connect(editSMPTE, SIGNAL(valueChanged(const Pos&)),
- SLOT(tickChanged(const Pos&)));
- connect(editSMPTE, SIGNAL(valueChanged(const Pos&)),
- editTick, SLOT(setValue(const Pos&)));
- connect(editTick, SIGNAL(valueChanged(const Pos&)),
- editSMPTE, SLOT(setValue(const Pos&)));
- connect(lock, SIGNAL(toggled(bool)),
- SLOT(lockChanged(bool)));
- connect(song, SIGNAL(markerChanged(int)), SLOT(markerChanged(int)));
-
- vbox->addWidget(table);
- vbox->addWidget(props);
-
- //---------------------------------------------------
- // Rest
- //---------------------------------------------------
-
-// connect(song, SIGNAL(songChanged(int)), SLOT(updateList()));
- updateList();
- markerChanged(Song::MARKER_CUR); // select current marker
- }
-
-//---------------------------------------------------------
-// addMarker
-//---------------------------------------------------------
-
-void MarkerView::addMarker()
- {
- addMarker(song->cPos());
- }
-
-void MarkerView::addMarker(const AL::Pos& pos)
- {
-// new MarkerItem(table, m);
- song->addMarker(QString(""), pos);
- table->sortItems(0, Qt::AscendingOrder);
- }
-
-//---------------------------------------------------------
-// deleteMarker
-//---------------------------------------------------------
-
-void MarkerView::deleteMarker()
- {
- MarkerItem* item = (MarkerItem*)table->currentItem();
- if (item) {
- AL::Marker* marker = item->marker();
- delete item;
- song->removeMarker(marker);
- }
- }
-
-//---------------------------------------------------------
-// updateList
-//---------------------------------------------------------
-
-void MarkerView::updateList()
- {
- table->clear();
- AL::MarkerList* marker = song->marker();
- for (AL::iMarker i = marker->begin(); i != marker->end(); ++i) {
- AL::Marker* m = &i->second;
- new MarkerItem(table, m);
- }
- }
-
-//---------------------------------------------------------
-// currentChanged
-//---------------------------------------------------------
-
-void MarkerView::currentChanged(QTreeWidgetItem* i)
- {
- MarkerItem* item = (MarkerItem*)i;
- if (item == 0) { // never triggered
- editTick->setValue(0);
- editSMPTE->setValue(0);
- editName->setText(QString(""));
- lock->setChecked(false);
- editSMPTE->setEnabled(false);
- editTick->setEnabled(false);
- lock->setEnabled(false);
- editName->setEnabled(false);
- }
- else {
- editTick->setValue(item->tick());
- editSMPTE->setValue(item->tick());
- editName->setText(item->name());
- editName->setEnabled(true);
- lock->setChecked(item->lock());
- lock->setEnabled(true);
- editSMPTE->setEnabled(item->lock());
- editTick->setEnabled(!item->lock());
- }
- }
-
-//---------------------------------------------------------
-// selectionChanged
-//---------------------------------------------------------
-
-void MarkerView::selectionChanged()
- {
-#if 0
- QList<QTreeWidgetItem*> sel = table->selectedItems();
- if (!sel.empty()) {
- MarkerItem* item = (MarkerItem*)(sel[0]);
- }
-#endif
- }
-
-//---------------------------------------------------------
-// clicked
-//---------------------------------------------------------
-
-void MarkerView::clicked(QTreeWidgetItem* i)
- {
- MarkerItem* item = (MarkerItem*)i;
- if (item == 0) {
- table->clearSelection();
- return;
- }
- Pos p(item->tick(), AL::TICKS);
- song->setPos(0, p, true, true, false);
- }
-
-//---------------------------------------------------------
-// nameChanged
-//---------------------------------------------------------
-
-void MarkerView::nameChanged(const QString& s)
- {
- MarkerItem* item = (MarkerItem*)table->currentItem();
- if (item)
- item->setName(s);
- }
-
-//---------------------------------------------------------
-// tickChanged
-//---------------------------------------------------------
-
-void MarkerView::tickChanged(const Pos& pos)
- {
- MarkerItem* item = (MarkerItem*)table->currentItem();
- if (item) {
- lockChange = true;
- item->setTick(pos.tick());
- Pos p(pos.tick(), AL::TICKS);
- song->setPos(0, p, true, true, false);
- lockChange = false;
- }
- }
-
-//---------------------------------------------------------
-// lockChanged
-//---------------------------------------------------------
-
-void MarkerView::lockChanged(bool lck)
- {
- MarkerItem* item = (MarkerItem*)table->currentItem();
- if (item) {
- item->setLock(lck);
- editSMPTE->setEnabled(item->lock());
- editTick->setEnabled(!item->lock());
- }
- }
-
-//---------------------------------------------------------
-// markerChanged
-//---------------------------------------------------------
-
-void MarkerView::markerChanged(int val)
- {
- if (lockChange)
- return;
- switch (val) {
- case Song::MARKER_ADD:
- case Song::MARKER_REMOVE:
- updateList();
- // fall through
- case Song::MARKER_CUR:
- {
- AL::MarkerList* marker = song->marker();
- for (AL::iMarker i = marker->begin(); i != marker->end(); ++i) {
- if (i->second.current()) {
- int n = table->topLevelItemCount();
- for (int k = 0; k < n; ++k) {
- MarkerItem* item = (MarkerItem*)(table->topLevelItem(k));
- if (item->marker() == &i->second) {
- table->setCurrentItem(item);
- return;
- }
- }
- }
- }
- }
- break;
- case Song::MARKER_NAME:
- case Song::MARKER_TICK:
- case Song::MARKER_LOCK:
- break;
- }
- }
-