Fixes #11026.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg203683.html
Item "Apply Last Text Style|A" "textstyle-apply"
Submenu "Text Style|x" "edit_textstyles"
Item "Paragraph Settings...|P" "layout-paragraph"
+ OptItem "Unify Graphics Groups|U" "graphics-unify"
LanguageSelector
Separator
Item "Fullscreen Mode" "ui-toggle fullscreen"
flag.setEnabled(true);
break;
+ case LFUN_GRAPHICS_UNIFY:
+ flag.setEnabled(cur.selection());
+ break;
+
case LFUN_WORD_FINDADV: {
FindAndReplaceOptions opt;
istringstream iss(to_utf8(cmd.argument()));
break;
}
+ case LFUN_GRAPHICS_UNIFY: {
+
+ cur.recordUndoFullBuffer();
+
+ DocIterator from, to;
+ from = cur.selectionBegin();
+ to = cur.selectionEnd();
+
+ string newId = cmd.getArg(0);
+ bool fetchId=newId.empty(); //if we wait for groupId from first graphics inset
+
+ InsetGraphicsParams grp_par;
+ InsetGraphics::string2params(graphics::getGroupParams(buffer_, newId), buffer_, grp_par);
+
+ if (!from.nextInset()) //move to closest inset
+ from.forwardInset();
+
+ while (!from.empty() && from < to) {
+ Inset * inset = from.nextInset();
+ if (!inset)
+ break;
+ if (inset->lyxCode() == GRAPHICS_CODE) {
+ InsetGraphics * ig = inset->asInsetGraphics();
+ if (!ig)
+ break;
+ InsetGraphicsParams inspar = ig->getParams();
+ if (fetchId) {
+ grp_par = inspar;
+ fetchId = false;
+
+ } else {
+ grp_par.filename = inspar.filename;
+ ig->setParams(grp_par);
+ }
+ }
+ from.forwardInset();
+ }
+ dr.screenUpdate(Update::Force); //needed if triggered from context menu
+ break;
+ }
+
case LFUN_STATISTICS: {
DocIterator from, to;
if (cur.selection()) {
LFUN_DEVEL_MODE_TOGGLE, // lasgouttes 20170723
//370
LFUN_EXPORT_CANCEL, // rgh, 20171227
- LFUN_BUFFER_ANONYMIZE, // sanda, 20180201
+ LFUN_BUFFER_ANONYMIZE, // sanda, 20180201
+ LFUN_GRAPHICS_UNIFY, // sanda, 20180207
LFUN_LASTACTION // end of the table
};
*/
{ LFUN_SET_GRAPHICS_GROUP, "set-graphics-group", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_GRAPHICS_UNIFY
+ * \li Action: Set the same group for all graphics insets in the marked block.
+ * \li Syntax: graphics-unify [<GROUP>]
+ * \li Params: <GROUP>: Id for an existing group. In case the Id is an empty string,
+ the group Id from the first graphics inset will be used.
+ * \li Origin: sanda, 7 Feb 2018
+ * \endvar
+ */
+ { LFUN_GRAPHICS_UNIFY, "graphics-unify", Noop, Edit },
+
/*!
* \var lyx::FuncCode lyx::LFUN_SPACE_INSERT