some fixes for guides

svn path=/branches/KDE4/; revision=2275
parent fddfe7bd
......@@ -1485,7 +1485,7 @@ void CustomTrackView::addMarker(const int id, const GenTime &pos, const QString
void CustomTrackView::editGuide(const GenTime oldPos, const GenTime pos, const QString &comment) {
if (oldPos != GenTime() && pos != GenTime()) {
if (oldPos > GenTime() && pos > GenTime()) {
// move guide
for (int i = 0; i < m_guides.count(); i++) {
kDebug() << "// LOOKING FOR GUIDE (" << i << "): " << m_guides.at(i)->position().frames(25) << ", LOOK: " << oldPos.frames(25) << "x" << pos.frames(25);
......@@ -1496,7 +1496,7 @@ void CustomTrackView::editGuide(const GenTime oldPos, const GenTime pos, const Q
break;
}
}
} else if (pos != GenTime()) addGuide(pos, comment);
} else if (pos > GenTime()) addGuide(pos, comment);
else {
// remove guide
bool found = false;
......@@ -1512,17 +1512,24 @@ void CustomTrackView::editGuide(const GenTime oldPos, const GenTime pos, const Q
}
}
void CustomTrackView::addGuide(const GenTime pos, const QString &comment) {
bool CustomTrackView::addGuide(const GenTime pos, const QString &comment) {
for (int i = 0; i < m_guides.count(); i++) {
if (m_guides.at(i)->position() == pos) {
emit displayMessage(i18n("A guide already exists at that position"), ErrorMessage);
return false;
}
}
Guide *g = new Guide(this, pos, comment, m_scale, m_document->fps(), m_tracksHeight * m_tracksList.count());
scene()->addItem(g);
m_guides.append(g);
return true;
}
void CustomTrackView::slotAddGuide() {
addGuide(GenTime(m_cursorPos, m_document->fps()), i18n("guide"));
EditGuideCommand *command = new EditGuideCommand(this, GenTime(), QString(), GenTime(m_cursorPos, m_document->fps()), i18n("guide"), false);
m_commandStack->push(command);
if (addGuide(GenTime(m_cursorPos, m_document->fps()), i18n("guide"))) {
EditGuideCommand *command = new EditGuideCommand(this, GenTime(), QString(), GenTime(m_cursorPos, m_document->fps()), i18n("guide"), false);
m_commandStack->push(command);
}
}
void CustomTrackView::slotDeleteGuide() {
......
......@@ -102,7 +102,7 @@ public slots:
void slotSwitchTrackVideo(int ix);
void slotUpdateClip(int clipId);
void slotAddClipMarker(int id, GenTime t, QString c);
void addGuide(const GenTime pos, const QString &comment);
bool addGuide(const GenTime pos, const QString &comment);
void slotAddGuide();
void slotDeleteGuide();
void editGuide(const GenTime oldPos, const GenTime pos, const QString &comment);
......
......@@ -22,6 +22,7 @@
EditGuideCommand::EditGuideCommand(CustomTrackView *view, const GenTime oldPos, const QString &oldcomment, const GenTime pos, const QString &comment, bool doIt) : m_view(view), m_oldPos(oldPos), m_oldcomment(oldcomment), m_pos(pos), m_comment(comment), m_doIt(doIt) {
if (m_oldcomment.isEmpty()) setText(i18n("Add guide"));
else if (m_oldPos == m_pos) setText(i18n("Edit guide"));
else if (m_pos <= GenTime()) setText(i18n("Delete guide"));
else setText(i18n("Move guide"));
kDebug() << "/// CREATE GUIDE COMMAND, TIMES: " << m_oldPos.frames(25) << "x" << m_pos.frames(25);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment