From: <tt...@us...> - 2010-06-27 21:47:38
|
Revision: 4544 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=4544&view=rev Author: ttill Date: 2010-06-27 21:47:32 +0000 (Sun, 27 Jun 2010) Log Message: ----------- Use lineEdit instead of a label in the header of the selected track to rename it without a dialog Modified Paths: -------------- trunk/kdenlive/src/customtrackview.cpp trunk/kdenlive/src/headertrack.cpp trunk/kdenlive/src/headertrack.h trunk/kdenlive/src/trackview.cpp trunk/kdenlive/src/trackview.h trunk/kdenlive/src/widgets/trackheader_ui.ui Modified: trunk/kdenlive/src/customtrackview.cpp =================================================================== --- trunk/kdenlive/src/customtrackview.cpp 2010-06-27 17:08:30 UTC (rev 4543) +++ trunk/kdenlive/src/customtrackview.cpp 2010-06-27 21:47:32 UTC (rev 4544) @@ -1176,11 +1176,10 @@ if (m_scene->selectedItems().count() == 1) { item = static_cast <AbstractClipItem *>(m_scene->selectedItems().at(0)); } else { - if (m_scene->selectedItems().empty()) { + if (m_scene->selectedItems().empty()) emit displayMessage(i18n("Cannot find clip to edit"), ErrorMessage); - } else { + else emit displayMessage(i18n("Cannot edit the duration of multiple items"), ErrorMessage); - } return; } } @@ -1205,39 +1204,34 @@ //kDebug()<<"// GOT MOVE POS: "<<minimum.frames(25)<<" - "<<maximum.frames(25); ClipDurationDialog d(item, m_document->timecode(), minimum, maximum, this); if (d.exec() == QDialog::Accepted) { + ItemInfo clipInfo = item->info(); + ItemInfo startInfo = clipInfo; if (item->type() == TRANSITIONWIDGET) { // move & resize transition - ItemInfo startInfo; - startInfo.startPos = item->startPos(); - startInfo.endPos = item->endPos(); - startInfo.track = item->track(); - ItemInfo endInfo; - endInfo.startPos = d.startPos(); - endInfo.endPos = endInfo.startPos + d.duration(); - endInfo.track = item->track(); - MoveTransitionCommand *command = new MoveTransitionCommand(this, startInfo, endInfo, true); + clipInfo.startPos = d.startPos(); + clipInfo.endPos = clipInfo.startPos + d.duration(); + clipInfo.track = item->track(); + MoveTransitionCommand *command = new MoveTransitionCommand(this, startInfo, clipInfo, true); m_commandStack->push(command); } else { // move and resize clip QUndoCommand *moveCommand = new QUndoCommand(); moveCommand->setText(i18n("Edit clip")); - ItemInfo clipInfo = item->info(); if (d.duration() < item->cropDuration() || d.cropStart() != clipInfo.cropStart) { // duration was reduced, so process it first - ItemInfo startInfo = clipInfo; clipInfo.endPos = clipInfo.startPos + d.duration(); clipInfo.cropStart = d.cropStart(); new ResizeClipCommand(this, startInfo, clipInfo, true, false, moveCommand); } if (d.startPos() != clipInfo.startPos) { - ItemInfo startInfo = clipInfo; + startInfo = clipInfo; clipInfo.startPos = d.startPos(); clipInfo.endPos = item->endPos() + (clipInfo.startPos - startInfo.startPos); new MoveClipCommand(this, startInfo, clipInfo, true, moveCommand); } if (d.duration() > item->cropDuration()) { // duration was increased, so process it after move - ItemInfo startInfo = clipInfo; + startInfo = clipInfo; clipInfo.endPos = clipInfo.startPos + d.duration(); clipInfo.cropStart = d.cropStart(); new ResizeClipCommand(this, startInfo, clipInfo, true, false, moveCommand); @@ -4670,8 +4664,10 @@ TrackInfo info = m_document->trackInfoAt(maxTrack - i - 1); if (info.isLocked || info.type == AUDIOTRACK || i == m_selectedTrack) { const QRectF track(min, m_tracksHeight * i + 1, max - min, m_tracksHeight - 1); - if (i == m_selectedTrack) painter->fillRect(track, scheme.background(KColorScheme::ActiveBackground).color()); - else painter->fillRect(track, info.isLocked ? lockedColor : audioColor); + if (i == m_selectedTrack) + painter->fillRect(track, scheme.background(KColorScheme::ActiveBackground).color()); + else + painter->fillRect(track, info.isLocked ? lockedColor : audioColor); } painter->drawLine(QPointF(min, m_tracksHeight *(i + 1)), QPointF(max, m_tracksHeight *(i + 1))); } Modified: trunk/kdenlive/src/headertrack.cpp =================================================================== --- trunk/kdenlive/src/headertrack.cpp 2010-06-27 17:08:30 UTC (rev 4543) +++ trunk/kdenlive/src/headertrack.cpp 2010-06-27 21:47:32 UTC (rev 4544) @@ -38,8 +38,13 @@ { setFixedHeight(height); setupUi(this); - track_number->setText(info.trackName.isEmpty() ? QString::number(m_index) : info.trackName); + QString name = info.trackName.isEmpty() ? QString::number(m_index) : info.trackName; + track_number->setText(name); + inputName->setText(name); + inputName->setHidden(true); + connect(inputName, SIGNAL(editingFinished()), this, SLOT(slotRenameTrack())); + buttonVideo->setChecked(info.isBlind); buttonVideo->setToolTip(i18n("Hide track")); buttonAudio->setChecked(info.isMute); @@ -55,16 +60,22 @@ if (m_type == VIDEOTRACK) { setBackgroundRole(QPalette::AlternateBase); setAutoFillBackground(true); - if (!info.isBlind) buttonVideo->setIcon(KIcon("kdenlive-show-video")); - else buttonVideo->setIcon(KIcon("kdenlive-hide-video")); + if (!info.isBlind) + buttonVideo->setIcon(KIcon("kdenlive-show-video")); + else + buttonVideo->setIcon(KIcon("kdenlive-hide-video")); } else { buttonVideo->setHidden(true); } - if (!info.isMute) buttonAudio->setIcon(KIcon("kdenlive-show-audio")); - else buttonAudio->setIcon(KIcon("kdenlive-hide-audio")); + if (!info.isMute) + buttonAudio->setIcon(KIcon("kdenlive-show-audio")); + else + buttonAudio->setIcon(KIcon("kdenlive-hide-audio")); - if (!info.isLocked) buttonLock->setIcon(KIcon("kdenlive-unlock")); - else buttonLock->setIcon(KIcon("kdenlive-lock")); + if (!info.isLocked) + buttonLock->setIcon(KIcon("kdenlive-unlock")); + else + buttonLock->setIcon(KIcon("kdenlive-lock")); connect(buttonVideo, SIGNAL(clicked()), this, SLOT(switchVideo())); connect(buttonAudio, SIGNAL(clicked()), this, SLOT(switchAudio())); @@ -111,11 +122,18 @@ void HeaderTrack::setSelectedIndex(int ix) { + track_number->setHidden(false); + inputName->setHidden(true); if (m_index == ix) { setBackgroundRole(QPalette::Button); setAutoFillBackground(true); - } else if (m_type != VIDEOTRACK) setAutoFillBackground(false); - else setBackgroundRole(QPalette::AlternateBase); + track_number->setHidden(true); + inputName->setHidden(false); + } else if (m_type != VIDEOTRACK) { + setAutoFillBackground(false); + } else { + setBackgroundRole(QPalette::AlternateBase); + } update(); } @@ -123,7 +141,8 @@ { // Don't show track buttons if size is too small bool smallTracks = height < 40; - if (m_type == VIDEOTRACK) buttonVideo->setHidden(smallTracks); + if (m_type == VIDEOTRACK) + buttonVideo->setHidden(smallTracks); buttonAudio->setHidden(smallTracks); buttonLock->setHidden(smallTracks); setFixedHeight(height); @@ -131,32 +150,30 @@ void HeaderTrack::switchVideo() { - if (buttonVideo->isChecked()) { + if (buttonVideo->isChecked()) buttonVideo->setIcon(KIcon("kdenlive-hide-video")); - } else { + else buttonVideo->setIcon(KIcon("kdenlive-show-video")); - } emit switchTrackVideo(m_index); } void HeaderTrack::switchAudio() { - if (buttonAudio->isChecked()) { + if (buttonAudio->isChecked()) buttonAudio->setIcon(KIcon("kdenlive-hide-audio")); - } else { + else buttonAudio->setIcon(KIcon("kdenlive-show-audio")); - } emit switchTrackAudio(m_index); } void HeaderTrack::switchLock(bool emitSignal) { - if (buttonLock->isChecked()) { + if (buttonLock->isChecked()) buttonLock->setIcon(KIcon("kdenlive-lock")); - } else { + else buttonLock->setIcon(KIcon("kdenlive-unlock")); - } - if (emitSignal) emit switchTrackLock(m_index); + if (emitSignal) + emit switchTrackLock(m_index); } void HeaderTrack::setLock(bool lock) @@ -182,7 +199,7 @@ void HeaderTrack::slotRenameTrack() { - emit renameTrack(m_index); + emit renameTrack(m_index, inputName->text()); } void HeaderTrack::slotConfigTrack() Modified: trunk/kdenlive/src/headertrack.h =================================================================== --- trunk/kdenlive/src/headertrack.h 2010-06-27 17:08:30 UTC (rev 4543) +++ trunk/kdenlive/src/headertrack.h 2010-06-27 21:47:32 UTC (rev 4544) @@ -61,7 +61,7 @@ void switchTrackLock(int); void insertTrack(int); void deleteTrack(int); - void renameTrack(int); + void renameTrack(int, QString); void selectTrack(int); void configTrack(int); }; Modified: trunk/kdenlive/src/trackview.cpp =================================================================== --- trunk/kdenlive/src/trackview.cpp 2010-06-27 17:08:30 UTC (rev 4543) +++ trunk/kdenlive/src/trackview.cpp 2010-06-27 21:47:32 UTC (rev 4544) @@ -535,7 +535,7 @@ connect(header, SIGNAL(selectTrack(int)), m_trackview, SLOT(slotSelectTrack(int))); connect(header, SIGNAL(deleteTrack(int)), this, SIGNAL(deleteTrack(int))); connect(header, SIGNAL(insertTrack(int)), this, SIGNAL(insertTrack(int))); - //connect(header, SIGNAL(renameTrack(int)), this, SLOT(slotRenameTrack(int))); + connect(header, SIGNAL(renameTrack(int, QString)), this, SLOT(slotRenameTrack(int, QString))); connect(header, SIGNAL(configTrack(int)), this, SIGNAL(configTrack(int))); headers_container->layout()->addWidget(header); } @@ -930,18 +930,14 @@ m_trackview->updateProjectFps(); } -void TrackView::slotRenameTrack(int ix) +void TrackView::slotRenameTrack(int ix, QString name) { int tracknumber = m_doc->tracksCount() - ix; TrackInfo info = m_doc->trackInfoAt(tracknumber - 1); - bool ok; - QString newName = QInputDialog::getText(this, i18n("New Track Name"), i18n("Enter new name"), QLineEdit::Normal, info.trackName, &ok); - if (ok) { - info.trackName = newName; - m_doc->setTrackType(tracknumber - 1, info); - QTimer::singleShot(300, this, SLOT(slotReloadTracks())); - m_doc->setModified(true); - } + info.trackName = name; + m_doc->setTrackType(tracknumber - 1, info); + QTimer::singleShot(300, this, SLOT(slotReloadTracks())); + m_doc->setModified(true); } void TrackView::slotUpdateVerticalScroll(int /*min*/, int max) Modified: trunk/kdenlive/src/trackview.h =================================================================== --- trunk/kdenlive/src/trackview.h 2010-06-27 17:08:30 UTC (rev 4543) +++ trunk/kdenlive/src/trackview.h 2010-06-27 21:47:32 UTC (rev 4544) @@ -63,6 +63,7 @@ int outPoint() const; int inPoint() const; int fitZoom() const; + /** @brief Updates (redraws) the ruler. * * Used to change from displaying frames to timecode or vice versa. */ @@ -104,9 +105,14 @@ void slotChangeTrackLock(int ix, bool lock); void slotVerticalZoomDown(); void slotVerticalZoomUp(); - void slotRenameTrack(int ix); + + /** @brief Changes the name of a track. + * @param ix Number of the track + * @param name New name */ + void slotRenameTrack(int ix, QString name); void slotRepaintTracks(); - /** @brief Adjust margins of header area + + /** @brief Adjusts the margins of the header area. * * Avoid a shift between header area and trackview if * the horizontal scrollbar is visible and the position Modified: trunk/kdenlive/src/widgets/trackheader_ui.ui =================================================================== --- trunk/kdenlive/src/widgets/trackheader_ui.ui 2010-06-27 17:08:30 UTC (rev 4543) +++ trunk/kdenlive/src/widgets/trackheader_ui.ui 2010-06-27 21:47:32 UTC (rev 4544) @@ -36,6 +36,16 @@ </property> </widget> </item> + <item row="2" column="0" colspan="4"> + <widget class="QLineEdit" name="inputName"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> <item row="1" column="0" colspan="2"> <spacer name="verticalSpacer"> <property name="orientation"> @@ -49,7 +59,7 @@ </property> </spacer> </item> - <item row="2" column="0"> + <item row="3" column="0"> <widget class="QToolButton" name="buttonLock"> <property name="maximumSize"> <size> @@ -71,7 +81,7 @@ </property> </widget> </item> - <item row="2" column="1"> + <item row="3" column="1"> <widget class="QToolButton" name="buttonAudio"> <property name="maximumSize"> <size> @@ -93,7 +103,7 @@ </property> </widget> </item> - <item row="2" column="2"> + <item row="3" column="2"> <widget class="QToolButton" name="buttonVideo"> <property name="maximumSize"> <size> @@ -115,7 +125,7 @@ </property> </widget> </item> - <item row="2" column="3"> + <item row="3" column="3"> <spacer name="horizontalSpacer"> <property name="orientation"> <enum>Qt::Horizontal</enum> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |