]> git.lyx.org Git - features.git/commitdiff
Fix bug #11497
authorDaniel Ramoeller <d.lyx@web.de>
Thu, 7 Sep 2023 02:52:42 +0000 (22:52 -0400)
committerRichard Kimberly Heck <rikiheck@lyx.org>
Thu, 7 Sep 2023 02:52:42 +0000 (22:52 -0400)
src/frontends/qt/GuiLabel.cpp
src/frontends/qt/GuiLabel.h

index 78d1e3fc43dacc8d5b88e8ae86ab9032919cdc3b..ab902b187d4c0a76ae6c833a8310de4804e26737 100644 (file)
@@ -46,7 +46,7 @@ void GuiLabel::paramsToDialog(Inset const * inset)
 {
        InsetLabel const * label = static_cast<InsetLabel const *>(inset);
        InsetCommandParams const & params = label->params();
-       keywordED->setText(toqstr(params["name"]));
+       setKeyword(toqstr(params["name"]));
 }
 
 
@@ -63,7 +63,7 @@ bool GuiLabel::initialiseParams(std::string const & sdata)
        InsetCommandParams p(insetCode());
        if (!InsetCommand::string2params(sdata, p))
                return false;
-       keywordED->setText(toqstr(p["name"]));
+       setKeyword(toqstr(p["name"]));
        return true;
 }
 
@@ -76,6 +76,18 @@ bool GuiLabel::checkWidgets(bool readonly) const
        return !keywordED->text().isEmpty();
 }
 
+
+void GuiLabel::setKeyword(QString const & keyword)
+{
+       keywordED->setText(keyword);
+       // select without prefix
+       int const colonPos = keyword.indexOf(':');
+       if (colonPos == -1)
+               keywordED->selectAll();
+       else
+               keywordED->setSelection(colonPos + 1, keyword.length() - colonPos + 1);
+}
+
 } // namespace frontend
 } // namespace lyx
 
index 7eb6fd4e3766b842d3500fdb7cca445106b68149..0997a23face4f531590903cb91c4835e2862c7d1 100644 (file)
@@ -37,6 +37,8 @@ private:
        docstring dialogToParams() const override;
        bool checkWidgets(bool readonly) const override;
        bool initialiseParams(std::string const &) override;
+       ///
+       void setKeyword(QString const & keyword);
        //@}
 };