📄 eventview.cpp
字号:
voidEventView::initStatusBar(){ KStatusBar* sb = statusBar(); /* m_hoveredOverNoteName = new QLabel(sb); m_hoveredOverAbsoluteTime = new QLabel(sb); m_hoveredOverNoteName->setMinimumWidth(32); m_hoveredOverAbsoluteTime->setMinimumWidth(160); sb->addWidget(m_hoveredOverAbsoluteTime); sb->addWidget(m_hoveredOverNoteName); */ sb->insertItem(KTmpStatusMsg::getDefaultMsg(), KTmpStatusMsg::getDefaultId(), 1); sb->setItemAlignment(KTmpStatusMsg::getDefaultId(), AlignLeft | AlignVCenter); //m_selectionCounter = new QLabel(sb); //sb->addWidget(m_selectionCounter);}QSizeEventView::getViewSize(){ return m_eventList->size();}voidEventView::setViewSize(QSize s){ m_eventList->setFixedSize(s);}voidEventView::readOptions(){ m_config->setGroup(EventViewConfigGroup); EditViewBase::readOptions(); m_eventFilter = m_config->readNumEntry("eventfilter", m_eventFilter); m_eventList->restoreLayout(m_config, EventViewLayoutConfigGroupName);}voidEventView::slotSaveOptions(){ m_config->setGroup(EventViewConfigGroup); m_config->writeEntry("eventfilter", m_eventFilter); m_eventList->saveLayout(m_config, EventViewLayoutConfigGroupName);}Segment *EventView::getCurrentSegment(){ if (m_segments.empty()) return 0; else return *m_segments.begin();}voidEventView::slotModifyFilter(int button){ QCheckBox *checkBox = dynamic_cast<QCheckBox*>(m_filterGroup->find(button)); if (checkBox == 0) return ; if (checkBox->isChecked()) { switch (button) { case 0: m_eventFilter |= EventView::Note; break; case 1: m_eventFilter |= EventView::ProgramChange; break; case 2: m_eventFilter |= EventView::Controller; break; case 3: m_eventFilter |= EventView::PitchBend; break; case 4: m_eventFilter |= EventView::SystemExclusive; break; case 5: m_eventFilter |= EventView::KeyPressure; break; case 6: m_eventFilter |= EventView::ChannelPressure; break; case 7: m_eventFilter |= EventView::Rest; break; case 8: m_eventFilter |= EventView::Indication; break; case 9: m_eventFilter |= EventView::Text; break; case 10: m_eventFilter |= EventView::Other; break; default: break; } } else { switch (button) { case 0: m_eventFilter ^= EventView::Note; break; case 1: m_eventFilter ^= EventView::ProgramChange; break; case 2: m_eventFilter ^= EventView::Controller; break; case 3: m_eventFilter ^= EventView::PitchBend; break; case 4: m_eventFilter ^= EventView::SystemExclusive; break; case 5: m_eventFilter ^= EventView::KeyPressure; break; case 6: m_eventFilter ^= EventView::ChannelPressure; break; case 7: m_eventFilter ^= EventView::Rest; break; case 8: m_eventFilter ^= EventView::Indication; break; case 9: m_eventFilter ^= EventView::Text; break; case 10: m_eventFilter ^= EventView::Other; break; default: break; } } m_lastSetEventFilter = m_eventFilter; applyLayout(0);}voidEventView::setButtonsToFilter(){ if (m_eventFilter & Note) m_noteCheckBox->setChecked(true); else m_noteCheckBox->setChecked(false); if (m_eventFilter & ProgramChange) m_programCheckBox->setChecked(true); else m_programCheckBox->setChecked(false); if (m_eventFilter & Controller) m_controllerCheckBox->setChecked(true); else m_controllerCheckBox->setChecked(false); if (m_eventFilter & SystemExclusive) m_sysExCheckBox->setChecked(true); else m_sysExCheckBox->setChecked(false); if (m_eventFilter & Text) m_textCheckBox->setChecked(true); else m_textCheckBox->setChecked(false); if (m_eventFilter & Rest) m_restCheckBox->setChecked(true); else m_restCheckBox->setChecked(false); if (m_eventFilter & PitchBend) m_pitchBendCheckBox->setChecked(true); else m_pitchBendCheckBox->setChecked(false); if (m_eventFilter & ChannelPressure) m_channelPressureCheckBox->setChecked(true); else m_channelPressureCheckBox->setChecked(false); if (m_eventFilter & KeyPressure) m_keyPressureCheckBox->setChecked(true); else m_keyPressureCheckBox->setChecked(false); if (m_eventFilter & Indication) { m_indicationCheckBox->setChecked(true); } else { m_indicationCheckBox->setChecked(false); } if (m_eventFilter & Other) { m_otherCheckBox->setChecked(true); } else { m_otherCheckBox->setChecked(false); }}voidEventView::slotMusicalTime(){ m_config->setGroup(EventViewConfigGroup); m_config->writeEntry("timemode", 0); applyLayout();}voidEventView::slotRealTime(){ m_config->setGroup(EventViewConfigGroup); m_config->writeEntry("timemode", 1); applyLayout();}voidEventView::slotRawTime(){ m_config->setGroup(EventViewConfigGroup); m_config->writeEntry("timemode", 2); applyLayout();}voidEventView::slotPopupEventEditor(QListViewItem *item){ EventViewItem *eItem = dynamic_cast<EventViewItem*>(item); //!!! trigger events if (eItem) { Event *event = eItem->getEvent(); SimpleEventEditDialog *dialog = new SimpleEventEditDialog(this, getDocument(), *event, false); if (dialog->exec() == QDialog::Accepted && dialog->isModified()) { EventEditCommand *command = new EventEditCommand(*(eItem->getSegment()), event, dialog->getEvent()); addCommandToHistory(command); } }}voidEventView::slotPopupMenu(QListViewItem *item, const QPoint &pos, int){ if (!item) return ; EventViewItem *eItem = dynamic_cast<EventViewItem*>(item); if (!eItem || !eItem->getEvent()) return ; if (!m_menu) createMenu(); if (m_menu) //m_menu->exec(QCursor::pos()); m_menu->exec(pos); else RG_DEBUG << "EventView::showMenu() : no menu to show\n";}voidEventView::createMenu(){ m_menu = new QPopupMenu(this); m_menu->insertItem(i18n("Open in Event Editor"), 0); m_menu->insertItem(i18n("Open in Expert Event Editor"), 1); connect(m_menu, SIGNAL(activated(int)), SLOT(slotMenuActivated(int)));}voidEventView::slotMenuActivated(int value){ RG_DEBUG << "EventView::slotMenuActivated - value = " << value << endl; if (value == 0) { EventViewItem *eItem = dynamic_cast<EventViewItem*> (m_eventList->currentItem()); if (eItem) { Event *event = eItem->getEvent(); SimpleEventEditDialog *dialog = new SimpleEventEditDialog(this, getDocument(), *event, false); if (dialog->exec() == QDialog::Accepted && dialog->isModified()) { EventEditCommand *command = new EventEditCommand(*(eItem->getSegment()), event, dialog->getEvent()); addCommandToHistory(command); } } } else if (value == 1) { EventViewItem *eItem = dynamic_cast<EventViewItem*> (m_eventList->currentItem()); if (eItem) { Event *event = eItem->getEvent(); EventEditDialog *dialog = new EventEditDialog(this, *event); if (dialog->exec() == QDialog::Accepted && dialog->isModified()) { EventEditCommand *command = new EventEditCommand(*(eItem->getSegment()), event, dialog->getEvent()); addCommandToHistory(command); } } } return ;}voidEventView::updateViewCaption(){ if (m_isTriggerSegment) { setCaption(i18n("%1 - Triggered Segment: %2") .arg(getDocument()->getTitle()) .arg(strtoqstr(m_segments[0]->getLabel()))); } else if (m_segments.size() == 1) { TrackId trackId = m_segments[0]->getTrack(); Track *track = m_segments[0]->getComposition()->getTrackById(trackId); int trackPosition = -1; if (track) trackPosition = track->getPosition(); setCaption(i18n("%1 - Segment Track #%2 - Event List") .arg(getDocument()->getTitle()) .arg(trackPosition + 1)); } else { setCaption(i18n("%1 - %2 Segments - Event List") .arg(getDocument()->getTitle()) .arg(m_segments.size())); }}}#include "EventView.moc"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -