mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Unify graphics-groups inside marked block functionality.
Fixes #11026. https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg203683.html
This commit is contained in:
parent
c8230ab0d0
commit
e836cc0aac
@ -358,6 +358,7 @@ Menuset
|
|||||||
Item "Apply Last Text Style|A" "textstyle-apply"
|
Item "Apply Last Text Style|A" "textstyle-apply"
|
||||||
Submenu "Text Style|x" "edit_textstyles"
|
Submenu "Text Style|x" "edit_textstyles"
|
||||||
Item "Paragraph Settings...|P" "layout-paragraph"
|
Item "Paragraph Settings...|P" "layout-paragraph"
|
||||||
|
OptItem "Unify Graphics Groups|U" "graphics-unify"
|
||||||
LanguageSelector
|
LanguageSelector
|
||||||
Separator
|
Separator
|
||||||
Item "Fullscreen Mode" "ui-toggle fullscreen"
|
Item "Fullscreen Mode" "ui-toggle fullscreen"
|
||||||
|
@ -1134,6 +1134,10 @@ bool BufferView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
|
|||||||
flag.setEnabled(true);
|
flag.setEnabled(true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LFUN_GRAPHICS_UNIFY:
|
||||||
|
flag.setEnabled(cur.selection());
|
||||||
|
break;
|
||||||
|
|
||||||
case LFUN_WORD_FINDADV: {
|
case LFUN_WORD_FINDADV: {
|
||||||
FindAndReplaceOptions opt;
|
FindAndReplaceOptions opt;
|
||||||
istringstream iss(to_utf8(cmd.argument()));
|
istringstream iss(to_utf8(cmd.argument()));
|
||||||
@ -1655,6 +1659,47 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
|
|||||||
break;
|
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: {
|
case LFUN_STATISTICS: {
|
||||||
DocIterator from, to;
|
DocIterator from, to;
|
||||||
if (cur.selection()) {
|
if (cur.selection()) {
|
||||||
|
@ -476,7 +476,8 @@ enum FuncCode
|
|||||||
LFUN_DEVEL_MODE_TOGGLE, // lasgouttes 20170723
|
LFUN_DEVEL_MODE_TOGGLE, // lasgouttes 20170723
|
||||||
//370
|
//370
|
||||||
LFUN_EXPORT_CANCEL, // rgh, 20171227
|
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_LASTACTION // end of the table
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3545,6 +3545,17 @@ void LyXAction::init()
|
|||||||
*/
|
*/
|
||||||
{ LFUN_SET_GRAPHICS_GROUP, "set-graphics-group", Noop, Edit },
|
{ 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
|
* \var lyx::FuncCode lyx::LFUN_SPACE_INSERT
|
||||||
|
Loading…
Reference in New Issue
Block a user