diff --git a/src/app/GUI/extraactions.cpp b/src/app/GUI/extraactions.cpp
index 47036288b..08f1d5abe 100644
--- a/src/app/GUI/extraactions.cpp
+++ b/src/app/GUI/extraactions.cpp
@@ -62,10 +62,11 @@ void MainWindow::setupMenuExtras()
const auto act = menu->addAction(QIcon::fromTheme("sequence"/* TODO: find new (blender) icon! */),
tr("Marker at ..."));
act->setData("cmd:marker");
- act->setToolTip(QString("
%1 %2 %3
").arg(tr("Marker"),
- tr("at"),
- tr("TIME (frame/sec/min)."
- " Use , to add multiple markers.")));
+ act->setToolTip(QString("%1 %2 %3
%4
").arg(tr("Marker"),
+ tr("at"),
+ tr("TIME TITLE."),
+ tr("Time can be frame, sec (Xs) or min (Xm)."
+ " Use , to add multiple markers. Title is optional.")));
cmdAddAction(act);
}
// clear markers
diff --git a/src/ui/dialogs/commandpalette.cpp b/src/ui/dialogs/commandpalette.cpp
index 57bfec80a..99ef8a102 100644
--- a/src/ui/dialogs/commandpalette.cpp
+++ b/src/ui/dialogs/commandpalette.cpp
@@ -60,6 +60,7 @@ CommandPalette::CommandPalette(Document& document,
lay->addWidget(mUserInput);
lay->addWidget(mLabel);
lay->addWidget(mSuggestions);
+ lay->addStretch();
mSuggestions->setObjectName("CommandPaletteSuggestions");
mSuggestions->setMinimumHeight(150);
@@ -219,8 +220,7 @@ void CommandPalette::parseCmd(const QString &input)
const bool doMove = (validMoveCmd.match(input).hasMatch() && input != "move:");
qDebug() << "do move?" << doMove;
- static QRegularExpression validMarkersCmd("^marker[:][0-9sm,-]*$");
- const bool doMarkers = (validMarkersCmd.match(input).hasMatch() && input != "marker:");
+ const bool doMarkers = (input.startsWith("marker:") && input != "marker:");
qDebug() << "do markers?" << doMarkers;
static QRegularExpression validFrameInCmd("^in[:][-]?[0-9]*[sm]?$");
@@ -302,7 +302,9 @@ void CommandPalette::parseCmd(const QString &input)
const auto scene = *mDocument.fActiveScene;
if (!scene) { return; }
for (const auto &arg : args.split(",")) {
- QString mark = arg.simplified();
+ const auto args = arg.split(" ");
+ bool hasTitle = args.count() > 1;
+ QString mark = hasTitle ? args.at(0).simplified() : arg.simplified();
const bool hasSec = mark.endsWith("s");
const bool hasMin = mark.endsWith("m");
if (hasSec && hasMin) { continue; }
@@ -311,7 +313,8 @@ void CommandPalette::parseCmd(const QString &input)
if (hasSec) { value *= scene->getFps(); }
else if (hasMin) { value = (value * 60) * scene->getFps(); }
qDebug() << "do marker" << value;
- scene->setMarker(value);
+ if (hasTitle) { scene->setMarker(args.mid(1).join(" "), value); }
+ else { scene->setMarker(value); }
}
appendHistory(input);
accept();