mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-25 22:06:15 +00:00
Introduce groups for graphics insets. That includes:
- GuiGraphics dialog field for setup new groups. - Graphics context menu for assigning to certain group. - Fileformat change for groupId field in Graphics inset. - Undo mechanism added to inset-apply, for catching changes in preference dialog. - Qt designer 4.4 used now. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24644 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
99b12faae4
commit
13e42a8c73
@ -1,5 +1,7 @@
|
|||||||
LyX file-format changes
|
LyX file-format changes
|
||||||
-----------------------
|
-----------------------
|
||||||
|
2008-05-06 Pavel Sanda <sanda@lyx.org>
|
||||||
|
* Format incremented to 332: Added groupId for graphics insets.
|
||||||
|
|
||||||
2008-25-04 Helge Hafting <helge.hafting@aitel.hist.no>
|
2008-25-04 Helge Hafting <helge.hafting@aitel.hist.no>
|
||||||
* Format incremented to 330: More horizontal fills
|
* Format incremented to 330: More horizontal fills
|
||||||
|
@ -80,7 +80,7 @@ format_relation = [("0_06", [200], minor_versions("0.6" , 4)),
|
|||||||
("1_3", [221], minor_versions("1.3" , 7)),
|
("1_3", [221], minor_versions("1.3" , 7)),
|
||||||
("1_4", range(222,246), minor_versions("1.4" , 5)),
|
("1_4", range(222,246), minor_versions("1.4" , 5)),
|
||||||
("1_5", range(246,277), minor_versions("1.5" , 2)),
|
("1_5", range(246,277), minor_versions("1.5" , 2)),
|
||||||
("1_6", range(277,332), minor_versions("1.6" , 0))]
|
("1_6", range(277,333), minor_versions("1.6" , 0))]
|
||||||
|
|
||||||
|
|
||||||
def formats_list():
|
def formats_list():
|
||||||
|
@ -2188,6 +2188,26 @@ def revert_master(document):
|
|||||||
del document.header[i]
|
del document.header[i]
|
||||||
|
|
||||||
|
|
||||||
|
def revert_graphics_group(document):
|
||||||
|
' Revert group information from graphics insets '
|
||||||
|
i = 0
|
||||||
|
while 1:
|
||||||
|
i = find_token(document.body, "\\begin_inset Graphics", i)
|
||||||
|
if i == -1:
|
||||||
|
return
|
||||||
|
j = find_end_of_inset(document.body, i)
|
||||||
|
if j == -1:
|
||||||
|
document.warning("Malformed lyx document: Missing '\\end_inset'.")
|
||||||
|
i = i + 1
|
||||||
|
continue
|
||||||
|
k = find_token(document.body, " groupId", i, j)
|
||||||
|
if k == -1:
|
||||||
|
i = i + 1
|
||||||
|
continue
|
||||||
|
del document.body[k]
|
||||||
|
i = i + 1
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Conversion hub
|
# Conversion hub
|
||||||
#
|
#
|
||||||
@ -2248,9 +2268,11 @@ convert = [[277, [fix_wrong_tables]],
|
|||||||
[329, []],
|
[329, []],
|
||||||
[330, []],
|
[330, []],
|
||||||
[331, [convert_ltcaption]],
|
[331, [convert_ltcaption]],
|
||||||
|
[332, []],
|
||||||
]
|
]
|
||||||
|
|
||||||
revert = [[330, [revert_ltcaption]],
|
revert = [[331, [revert_graphics_group]],
|
||||||
|
[330, [revert_ltcaption]],
|
||||||
[329, [revert_leftarrowfill, revert_rightarrowfill, revert_upbracefill, revert_downbracefill]],
|
[329, [revert_leftarrowfill, revert_rightarrowfill, revert_upbracefill, revert_downbracefill]],
|
||||||
[328, [revert_master]],
|
[328, [revert_master]],
|
||||||
[327, []],
|
[327, []],
|
||||||
|
@ -300,6 +300,7 @@ Menuset
|
|||||||
Item "Settings...|S" "next-inset-toggle"
|
Item "Settings...|S" "next-inset-toggle"
|
||||||
Separator
|
Separator
|
||||||
Item "Edit externally...|x" "inset-edit"
|
Item "Edit externally...|x" "inset-edit"
|
||||||
|
GraphicsGroups
|
||||||
End
|
End
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -115,7 +115,7 @@ namespace os = support::os;
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
int const LYX_FORMAT = 331;
|
int const LYX_FORMAT = 332; //ps, graphgroups
|
||||||
|
|
||||||
typedef map<string, bool> DepClean;
|
typedef map<string, bool> DepClean;
|
||||||
typedef map<docstring, pair<InsetLabel const *, Buffer::References> > RefCache;
|
typedef map<docstring, pair<InsetLabel const *, Buffer::References> > RefCache;
|
||||||
|
@ -409,6 +409,8 @@ enum FuncCode
|
|||||||
LFUN_COMPLETION_COMPLETE,
|
LFUN_COMPLETION_COMPLETE,
|
||||||
// 315
|
// 315
|
||||||
LFUN_NEXT_INSET_MODIFY, // JSpitzm 20080323
|
LFUN_NEXT_INSET_MODIFY, // JSpitzm 20080323
|
||||||
|
LFUN_GRAPHICS_GROUPS_UNIFY,
|
||||||
|
LFUN_SET_GRAPHICS_GROUP,
|
||||||
LFUN_LASTACTION // end of the table
|
LFUN_LASTACTION // end of the table
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1239,6 +1239,27 @@ void LyXAction::init()
|
|||||||
* \endvar
|
* \endvar
|
||||||
*/
|
*/
|
||||||
{ LFUN_ALL_INSETS_TOGGLE, "all-insets-toggle", ReadOnly, Edit },
|
{ LFUN_ALL_INSETS_TOGGLE, "all-insets-toggle", ReadOnly, Edit },
|
||||||
|
/*!
|
||||||
|
* \var lyx::FuncCode lyx::LFUN_GRAPHICS_GROUPS_UNIFY
|
||||||
|
* \li Action: Unify all graphics insets with the one given as an parameter.
|
||||||
|
* \li Notion: This is internally used for synchronize certain group of graphics insets.
|
||||||
|
* \li Syntax: graphics-groups-unigfy <GRAPHICS_PARAMS>
|
||||||
|
* \li Params: <GRAPHICS_PARAMS>: Parameters for graphics inset
|
||||||
|
(syntax can be seen in .lyx files).
|
||||||
|
* \li Origin: sanda, 6 May 2008
|
||||||
|
* \endvar
|
||||||
|
*/
|
||||||
|
{ LFUN_GRAPHICS_GROUPS_UNIFY, "graphics-groups-unify", ReadOnly, Edit },
|
||||||
|
/*!
|
||||||
|
* \var lyx::FuncCode lyx::LFUN_SET_GRAPHICS_GROUP
|
||||||
|
* \li Action: Set the group for the graphics inset on the cursor position.
|
||||||
|
* \li Syntax: set-graphics-group [<GROUP>]
|
||||||
|
* \li Params: <GROUP>: Id for an existing group. In case tthe Id is an empty string,
|
||||||
|
the graphics inset is removed from the current group.
|
||||||
|
* \li Origin: sanda, 6 May 2008
|
||||||
|
* \endvar
|
||||||
|
*/
|
||||||
|
{ LFUN_SET_GRAPHICS_GROUP, "set-graphics-group", ReadOnly, Edit },
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \var lyx::FuncCode lyx::LFUN_FINISHED_FORWARD
|
* \var lyx::FuncCode lyx::LFUN_FINISHED_FORWARD
|
||||||
|
@ -621,6 +621,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
|
|||||||
case LFUN_MESSAGE:
|
case LFUN_MESSAGE:
|
||||||
case LFUN_INSET_EDIT:
|
case LFUN_INSET_EDIT:
|
||||||
case LFUN_ALL_INSETS_TOGGLE:
|
case LFUN_ALL_INSETS_TOGGLE:
|
||||||
|
case LFUN_GRAPHICS_GROUPS_UNIFY:
|
||||||
case LFUN_BUFFER_LANGUAGE:
|
case LFUN_BUFFER_LANGUAGE:
|
||||||
case LFUN_TEXTCLASS_APPLY:
|
case LFUN_TEXTCLASS_APPLY:
|
||||||
case LFUN_TEXTCLASS_LOAD:
|
case LFUN_TEXTCLASS_LOAD:
|
||||||
@ -1462,6 +1463,16 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case LFUN_GRAPHICS_GROUPS_UNIFY: {
|
||||||
|
LASSERT(lyx_view_, /**/);
|
||||||
|
if (argument.empty() || !lyx_view_->buffer()) break;
|
||||||
|
//view()->cursor().recordUndoFullDocument(); let inset-apply do that job
|
||||||
|
InsetGraphics::unifyGraphicsGroups(*lyx_view_->buffer(), argument);
|
||||||
|
lyx_view_->buffer()->markDirty();
|
||||||
|
updateFlags = Update::Force | Update::FitCursor;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case LFUN_BUFFER_LANGUAGE: {
|
case LFUN_BUFFER_LANGUAGE: {
|
||||||
LASSERT(lyx_view_, /**/);
|
LASSERT(lyx_view_, /**/);
|
||||||
Buffer & buffer = *lyx_view_->buffer();
|
Buffer & buffer = *lyx_view_->buffer();
|
||||||
|
@ -57,6 +57,8 @@
|
|||||||
#include "insets/InsetSpecialChar.h"
|
#include "insets/InsetSpecialChar.h"
|
||||||
#include "insets/InsetText.h"
|
#include "insets/InsetText.h"
|
||||||
#include "insets/InsetInfo.h"
|
#include "insets/InsetInfo.h"
|
||||||
|
#include "insets/InsetGraphics.h"
|
||||||
|
#include "insets/InsetGraphicsParams.h"
|
||||||
|
|
||||||
#include "support/convert.h"
|
#include "support/convert.h"
|
||||||
#include "support/debug.h"
|
#include "support/debug.h"
|
||||||
@ -890,6 +892,30 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case LFUN_SET_GRAPHICS_GROUP: {
|
||||||
|
Inset * instmp = &cur.inset();
|
||||||
|
if (instmp->lyxCode() != GRAPHICS_CODE) instmp = cur.nextInset();
|
||||||
|
if (!instmp || instmp->lyxCode() != GRAPHICS_CODE) break;
|
||||||
|
|
||||||
|
cur.recordUndoFullDocument();
|
||||||
|
Inset & inset = *instmp;
|
||||||
|
InsetGraphics & ins = static_cast<InsetGraphics &>(inset);
|
||||||
|
|
||||||
|
string id = to_utf8(cmd.argument());
|
||||||
|
string grp = InsetGraphics::getGroupParams(bv->buffer(), id);
|
||||||
|
InsetGraphicsParams tmp, inspar = ins.getParams();
|
||||||
|
|
||||||
|
if (id.empty())
|
||||||
|
inspar.groupId = to_utf8(cmd.argument());
|
||||||
|
else {
|
||||||
|
InsetGraphics::string2params(grp, bv->buffer(), tmp);
|
||||||
|
tmp.filename = inspar.filename;
|
||||||
|
inspar = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
ins.setParams(inspar);
|
||||||
|
}
|
||||||
|
|
||||||
case LFUN_SPACE_INSERT:
|
case LFUN_SPACE_INSERT:
|
||||||
if (cur.paragraph().layout().free_spacing)
|
if (cur.paragraph().layout().free_spacing)
|
||||||
insertChar(cur, ' ');
|
insertChar(cur, ' ');
|
||||||
@ -2251,6 +2277,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
|
|||||||
case LFUN_BUFFER_BEGIN_SELECT:
|
case LFUN_BUFFER_BEGIN_SELECT:
|
||||||
case LFUN_BUFFER_END_SELECT:
|
case LFUN_BUFFER_END_SELECT:
|
||||||
case LFUN_UNICODE_INSERT:
|
case LFUN_UNICODE_INSERT:
|
||||||
|
case LFUN_SET_GRAPHICS_GROUP:
|
||||||
// these are handled in our dispatch()
|
// these are handled in our dispatch()
|
||||||
enable = true;
|
enable = true;
|
||||||
break;
|
break;
|
||||||
|
@ -539,6 +539,8 @@ void GuiGraphics::paramsToDialog(InsetGraphicsParams const & igp)
|
|||||||
scaleCB->blockSignals(false);
|
scaleCB->blockSignals(false);
|
||||||
Scale->setEnabled(scaleChecked);
|
Scale->setEnabled(scaleChecked);
|
||||||
|
|
||||||
|
groupId->setText(toqstr(igp.groupId));
|
||||||
|
|
||||||
lengthAutoToWidgets(Width, widthUnit, igp.width,
|
lengthAutoToWidgets(Width, widthUnit, igp.width,
|
||||||
unitDefault);
|
unitDefault);
|
||||||
bool const widthChecked = !Width->text().isEmpty() &&
|
bool const widthChecked = !Width->text().isEmpty() &&
|
||||||
@ -682,6 +684,8 @@ void GuiGraphics::applyView()
|
|||||||
|
|
||||||
// more latex options
|
// more latex options
|
||||||
igp.special = fromqstr(latexoptions->text());
|
igp.special = fromqstr(latexoptions->text());
|
||||||
|
|
||||||
|
igp.groupId = fromqstr(groupId->text());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -732,6 +736,9 @@ void GuiGraphics::dispatchParams()
|
|||||||
InsetGraphicsParams tmp_params(params_);
|
InsetGraphicsParams tmp_params(params_);
|
||||||
string const lfun = InsetGraphics::params2string(tmp_params, buffer());
|
string const lfun = InsetGraphics::params2string(tmp_params, buffer());
|
||||||
dispatch(FuncRequest(getLfun(), lfun));
|
dispatch(FuncRequest(getLfun(), lfun));
|
||||||
|
if (!params_.groupId.empty())
|
||||||
|
dispatch(FuncRequest(LFUN_GRAPHICS_GROUPS_UNIFY,
|
||||||
|
InsetGraphics::params2string(params_, buffer())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1844,6 +1844,7 @@ bool GuiView::dispatch(FuncRequest const & cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
case LFUN_INSET_APPLY: {
|
case LFUN_INSET_APPLY: {
|
||||||
|
view()->cursor().recordUndoFullDocument();
|
||||||
string const name = cmd.getArg(0);
|
string const name = cmd.getArg(0);
|
||||||
Inset * inset = getOpenInset(name);
|
Inset * inset = getOpenInset(name);
|
||||||
if (inset) {
|
if (inset) {
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
|
|
||||||
#include "insets/Inset.h"
|
#include "insets/Inset.h"
|
||||||
#include "insets/InsetCitation.h"
|
#include "insets/InsetCitation.h"
|
||||||
|
#include "insets/InsetGraphics.h"
|
||||||
|
|
||||||
#include "support/lassert.h"
|
#include "support/lassert.h"
|
||||||
#include "support/convert.h"
|
#include "support/convert.h"
|
||||||
@ -137,7 +138,9 @@ public:
|
|||||||
/** Available branches in document */
|
/** Available branches in document */
|
||||||
Branches,
|
Branches,
|
||||||
/** Available citation styles for a given citation */
|
/** Available citation styles for a given citation */
|
||||||
CiteStyles
|
CiteStyles,
|
||||||
|
/** Available graphics groups */
|
||||||
|
GraphicsGroups
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit MenuItem(Kind kind) : kind_(kind), optional_(false) {}
|
explicit MenuItem(Kind kind) : kind_(kind), optional_(false) {}
|
||||||
@ -290,6 +293,7 @@ public:
|
|||||||
void expandToolbars();
|
void expandToolbars();
|
||||||
void expandBranches(Buffer const * buf);
|
void expandBranches(Buffer const * buf);
|
||||||
void expandCiteStyles(BufferView const *);
|
void expandCiteStyles(BufferView const *);
|
||||||
|
void expandGraphicsGroups(Buffer const * buf);
|
||||||
///
|
///
|
||||||
ItemList items_;
|
ItemList items_;
|
||||||
///
|
///
|
||||||
@ -390,7 +394,8 @@ void MenuDefinition::read(Lexer & lex)
|
|||||||
md_floatlistinsert,
|
md_floatlistinsert,
|
||||||
md_floatinsert,
|
md_floatinsert,
|
||||||
md_pasterecent,
|
md_pasterecent,
|
||||||
md_toolbars
|
md_toolbars,
|
||||||
|
md_graphicsgroups
|
||||||
};
|
};
|
||||||
|
|
||||||
LexerKeyword menutags[] = {
|
LexerKeyword menutags[] = {
|
||||||
@ -405,6 +410,7 @@ void MenuDefinition::read(Lexer & lex)
|
|||||||
{ "exportformats", md_exportformats },
|
{ "exportformats", md_exportformats },
|
||||||
{ "floatinsert", md_floatinsert },
|
{ "floatinsert", md_floatinsert },
|
||||||
{ "floatlistinsert", md_floatlistinsert },
|
{ "floatlistinsert", md_floatlistinsert },
|
||||||
|
{ "graphicsgroups", md_graphicsgroups },
|
||||||
{ "importformats", md_importformats },
|
{ "importformats", md_importformats },
|
||||||
{ "item", md_item },
|
{ "item", md_item },
|
||||||
{ "lastfiles", md_lastfiles },
|
{ "lastfiles", md_lastfiles },
|
||||||
@ -513,6 +519,10 @@ void MenuDefinition::read(Lexer & lex)
|
|||||||
add(MenuItem(MenuItem::CiteStyles));
|
add(MenuItem(MenuItem::CiteStyles));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case md_graphicsgroups:
|
||||||
|
add(MenuItem(MenuItem::GraphicsGroups));
|
||||||
|
break;
|
||||||
|
|
||||||
case md_optsubmenu:
|
case md_optsubmenu:
|
||||||
optional = true;
|
optional = true;
|
||||||
// fallback to md_submenu
|
// fallback to md_submenu
|
||||||
@ -623,6 +633,21 @@ QString limitStringLength(docstring const & str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MenuDefinition::expandGraphicsGroups(Buffer const * buf)
|
||||||
|
{
|
||||||
|
set<string> grp;
|
||||||
|
InsetGraphics::getGraphicsGroups(*buf, grp);
|
||||||
|
set<string>::const_iterator it = grp.begin();
|
||||||
|
set<string>::const_iterator end = grp.end();
|
||||||
|
if (grp.empty()) return;
|
||||||
|
|
||||||
|
add(MenuItem(MenuItem::Separator));
|
||||||
|
add(MenuItem(MenuItem::Command, qt_("Clear group"), FuncRequest(LFUN_SET_GRAPHICS_GROUP)));
|
||||||
|
for (; it != end; it++) {
|
||||||
|
add(MenuItem(MenuItem::Command, toqstr(*it), FuncRequest(LFUN_SET_GRAPHICS_GROUP, *it)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MenuDefinition::expandLastfiles()
|
void MenuDefinition::expandLastfiles()
|
||||||
{
|
{
|
||||||
LastFilesSection::LastFiles const & lf = LyX::cref().session().lastFiles().lastFiles();
|
LastFilesSection::LastFiles const & lf = LyX::cref().session().lastFiles().lastFiles();
|
||||||
@ -1396,6 +1421,10 @@ void Menus::Impl::expand(MenuDefinition const & frommenu,
|
|||||||
tomenu.expandToc(buf);
|
tomenu.expandToc(buf);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MenuItem::GraphicsGroups:
|
||||||
|
tomenu.expandGraphicsGroups(buf);
|
||||||
|
break;
|
||||||
|
|
||||||
case MenuItem::Submenu: {
|
case MenuItem::Submenu: {
|
||||||
MenuItem item(*cit);
|
MenuItem item(*cit);
|
||||||
item.setSubmenu(MenuDefinition(cit->submenuname()));
|
item.setSubmenu(MenuDefinition(cit->submenuname()));
|
||||||
|
@ -5,14 +5,12 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>481</width>
|
<width>584</width>
|
||||||
<height>354</height>
|
<height>373</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy" >
|
<property name="sizePolicy" >
|
||||||
<sizepolicy>
|
<sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
|
||||||
<hsizetype>1</hsizetype>
|
|
||||||
<vsizetype>1</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@ -30,8 +28,95 @@
|
|||||||
<property name="spacing" >
|
<property name="spacing" >
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
|
<item row="1" column="0" >
|
||||||
|
<layout class="QHBoxLayout" >
|
||||||
|
<property name="spacing" >
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="margin" >
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="restorePB" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>&Restore</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoDefault" >
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="default" >
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer>
|
||||||
|
<property name="orientation" >
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType" >
|
||||||
|
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0" >
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="okPB" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>&OK</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoDefault" >
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="default" >
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="applyPB" >
|
||||||
|
<property name="sizePolicy" >
|
||||||
|
<sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>&Apply</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoDefault" >
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="default" >
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="closePB" >
|
||||||
|
<property name="sizePolicy" >
|
||||||
|
<sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>Close</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoDefault" >
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item row="0" column="0" >
|
<item row="0" column="0" >
|
||||||
<widget class="QTabWidget" name="TabWidget" >
|
<widget class="QTabWidget" name="tabWidget" >
|
||||||
<property name="toolTip" >
|
<property name="toolTip" >
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
@ -39,6 +124,14 @@
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="Graphics" >
|
<widget class="QWidget" name="Graphics" >
|
||||||
|
<property name="geometry" >
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>293</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
<attribute name="title" >
|
<attribute name="title" >
|
||||||
<string>&Graphics</string>
|
<string>&Graphics</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
@ -86,9 +179,7 @@
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy" >
|
<property name="sizePolicy" >
|
||||||
<sizepolicy>
|
<sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
|
||||||
<hsizetype>1</hsizetype>
|
|
||||||
<vsizetype>0</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@ -103,7 +194,7 @@
|
|||||||
<property name="orientation" >
|
<property name="orientation" >
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" >
|
<property name="sizeHint" stdset="0" >
|
||||||
<size>
|
<size>
|
||||||
<width>61</width>
|
<width>61</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
@ -120,9 +211,7 @@
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy" >
|
<property name="sizePolicy" >
|
||||||
<sizepolicy>
|
<sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
|
||||||
<hsizetype>1</hsizetype>
|
|
||||||
<vsizetype>0</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@ -229,9 +318,7 @@
|
|||||||
<item row="0" column="1" >
|
<item row="0" column="1" >
|
||||||
<widget class="QLineEdit" name="angle" >
|
<widget class="QLineEdit" name="angle" >
|
||||||
<property name="sizePolicy" >
|
<property name="sizePolicy" >
|
||||||
<sizepolicy>
|
<sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
|
||||||
<hsizetype>3</hsizetype>
|
|
||||||
<vsizetype>0</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@ -280,6 +367,14 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="Clipping" >
|
<widget class="QWidget" name="Clipping" >
|
||||||
|
<property name="geometry" >
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>100</width>
|
||||||
|
<height>30</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
<attribute name="title" >
|
<attribute name="title" >
|
||||||
<string>&Clipping</string>
|
<string>&Clipping</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
@ -295,7 +390,7 @@
|
|||||||
<property name="orientation" >
|
<property name="orientation" >
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" >
|
<property name="sizeHint" stdset="0" >
|
||||||
<size>
|
<size>
|
||||||
<width>20</width>
|
<width>20</width>
|
||||||
<height>40</height>
|
<height>40</height>
|
||||||
@ -319,9 +414,7 @@
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy" >
|
<property name="sizePolicy" >
|
||||||
<sizepolicy>
|
<sizepolicy vsizetype="Minimum" hsizetype="Preferred" >
|
||||||
<hsizetype>5</hsizetype>
|
|
||||||
<vsizetype>1</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@ -423,7 +516,7 @@
|
|||||||
<property name="orientation" >
|
<property name="orientation" >
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" >
|
<property name="sizeHint" stdset="0" >
|
||||||
<size>
|
<size>
|
||||||
<width>181</width>
|
<width>181</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
@ -444,17 +537,65 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="ExtraOptions" >
|
<widget class="QWidget" name="ExtraOptions" >
|
||||||
|
<property name="geometry" >
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>562</width>
|
||||||
|
<height>293</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
<attribute name="title" >
|
<attribute name="title" >
|
||||||
<string>LaTe&X and LyX options</string>
|
<string>LaTe&X and LyX options</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout" >
|
<layout class="QGridLayout" >
|
||||||
<property name="margin" >
|
<item row="0" column="0" >
|
||||||
<number>9</number>
|
<widget class="QLabel" name="latexoptionsLA" >
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Additional LaTeX options</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="spacing" >
|
<property name="text" >
|
||||||
<number>6</number>
|
<string>LaTeX &options:</string>
|
||||||
</property>
|
</property>
|
||||||
<item row="4" column="0" colspan="2" >
|
<property name="buddy" >
|
||||||
|
<cstring>latexoptions</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1" >
|
||||||
|
<widget class="QLineEdit" name="latexoptions" >
|
||||||
|
<property name="sizePolicy" >
|
||||||
|
<sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Additional LaTeX options</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="2" >
|
||||||
|
<widget class="QCheckBox" name="draftCB" >
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Draft mode</string>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>&Draft mode</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0" colspan="2" >
|
||||||
|
<widget class="QCheckBox" name="unzipCB" >
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Don't uncompress image before exporting to LaTeX</string>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>Don't un&zip on export</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" colspan="2" >
|
||||||
<widget class="QGroupBox" name="displayGB" >
|
<widget class="QGroupBox" name="displayGB" >
|
||||||
<property name="focusPolicy" >
|
<property name="focusPolicy" >
|
||||||
<enum>Qt::StrongFocus</enum>
|
<enum>Qt::StrongFocus</enum>
|
||||||
@ -480,7 +621,7 @@
|
|||||||
<property name="orientation" >
|
<property name="orientation" >
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" >
|
<property name="sizeHint" stdset="0" >
|
||||||
<size>
|
<size>
|
||||||
<width>40</width>
|
<width>40</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
@ -494,9 +635,7 @@
|
|||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy" >
|
<property name="sizePolicy" >
|
||||||
<sizepolicy>
|
<sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
|
||||||
<hsizetype>1</hsizetype>
|
|
||||||
<vsizetype>0</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@ -552,172 +691,59 @@
|
|||||||
<string>Screen display</string>
|
<string>Screen display</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text" >
|
<property name="text" >
|
||||||
<string>&Display:</string>
|
<string>Scr&een Display:</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="buddy" >
|
<property name="buddy" >
|
||||||
<cstring>showCB</cstring>
|
<cstring>showCB</cstring>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0" >
|
||||||
|
<widget class="QLabel" name="label" >
|
||||||
|
<property name="sizePolicy" >
|
||||||
|
<sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>Initialize Group-Id:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1" >
|
||||||
|
<widget class="QLineEdit" name="groupId" >
|
||||||
|
<property name="minimumSize" >
|
||||||
|
<size>
|
||||||
|
<width>87</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip" >
|
||||||
|
<string>Group-id to be set up from the current parameters</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="1" >
|
<item row="4" column="1" >
|
||||||
<spacer>
|
<spacer>
|
||||||
<property name="orientation" >
|
<property name="orientation" >
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" >
|
<property name="sizeHint" stdset="0" >
|
||||||
<size>
|
<size>
|
||||||
<width>20</width>
|
<width>354</width>
|
||||||
<height>41</height>
|
<height>81</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" colspan="2" >
|
|
||||||
<widget class="QCheckBox" name="unzipCB" >
|
|
||||||
<property name="toolTip" >
|
|
||||||
<string>Don't uncompress image before exporting to LaTeX</string>
|
|
||||||
</property>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Don't un&zip on export</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1" >
|
|
||||||
<widget class="QLineEdit" name="latexoptions" >
|
|
||||||
<property name="sizePolicy" >
|
|
||||||
<sizepolicy>
|
|
||||||
<hsizetype>3</hsizetype>
|
|
||||||
<vsizetype>0</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip" >
|
|
||||||
<string>Additional LaTeX options</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0" >
|
|
||||||
<widget class="QLabel" name="latexoptionsLA" >
|
|
||||||
<property name="toolTip" >
|
|
||||||
<string>Additional LaTeX options</string>
|
|
||||||
</property>
|
|
||||||
<property name="text" >
|
|
||||||
<string>LaTeX &options:</string>
|
|
||||||
</property>
|
|
||||||
<property name="buddy" >
|
|
||||||
<cstring>latexoptions</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="2" >
|
|
||||||
<widget class="QCheckBox" name="draftCB" >
|
|
||||||
<property name="toolTip" >
|
|
||||||
<string>Draft mode</string>
|
|
||||||
</property>
|
|
||||||
<property name="text" >
|
|
||||||
<string>&Draft mode</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" >
|
|
||||||
<layout class="QHBoxLayout" >
|
|
||||||
<property name="margin" >
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="spacing" >
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="restorePB" >
|
|
||||||
<property name="text" >
|
|
||||||
<string>&Restore</string>
|
|
||||||
</property>
|
|
||||||
<property name="autoDefault" >
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="default" >
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer>
|
|
||||||
<property name="orientation" >
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeType" >
|
|
||||||
<enum>QSizePolicy::MinimumExpanding</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" >
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="okPB" >
|
|
||||||
<property name="text" >
|
|
||||||
<string>&OK</string>
|
|
||||||
</property>
|
|
||||||
<property name="autoDefault" >
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="default" >
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="applyPB" >
|
|
||||||
<property name="sizePolicy" >
|
|
||||||
<sizepolicy>
|
|
||||||
<hsizetype>1</hsizetype>
|
|
||||||
<vsizetype>0</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text" >
|
|
||||||
<string>&Apply</string>
|
|
||||||
</property>
|
|
||||||
<property name="autoDefault" >
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="default" >
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="closePB" >
|
|
||||||
<property name="sizePolicy" >
|
|
||||||
<sizepolicy>
|
|
||||||
<hsizetype>1</hsizetype>
|
|
||||||
<vsizetype>0</vsizetype>
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text" >
|
|
||||||
<string>Close</string>
|
|
||||||
</property>
|
|
||||||
<property name="autoDefault" >
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
@ -728,7 +754,7 @@
|
|||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>TabWidget</tabstop>
|
<tabstop>tabWidget</tabstop>
|
||||||
<tabstop>filename</tabstop>
|
<tabstop>filename</tabstop>
|
||||||
<tabstop>browsePB</tabstop>
|
<tabstop>browsePB</tabstop>
|
||||||
<tabstop>scaleCB</tabstop>
|
<tabstop>scaleCB</tabstop>
|
||||||
|
@ -67,6 +67,7 @@ TODO
|
|||||||
#include "OutputParams.h"
|
#include "OutputParams.h"
|
||||||
#include "sgml.h"
|
#include "sgml.h"
|
||||||
#include "TocBackend.h"
|
#include "TocBackend.h"
|
||||||
|
#include "InsetIterator.h"
|
||||||
|
|
||||||
#include "frontends/alert.h"
|
#include "frontends/alert.h"
|
||||||
#include "frontends/Application.h"
|
#include "frontends/Application.h"
|
||||||
@ -949,4 +950,61 @@ string InsetGraphics::params2string(InsetGraphicsParams const & params,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void InsetGraphics::getGraphicsGroups(Buffer const & b, std::set<string> & ids)
|
||||||
|
{
|
||||||
|
Inset & inset = b.inset();
|
||||||
|
InsetIterator it = inset_iterator_begin(inset);
|
||||||
|
InsetIterator const end = inset_iterator_end(inset);
|
||||||
|
for (; it != end; ++it)
|
||||||
|
if (it->lyxCode() == GRAPHICS_CODE) {
|
||||||
|
InsetGraphics & ins = static_cast<InsetGraphics &>(*it);
|
||||||
|
InsetGraphicsParams inspar = ins.getParams();
|
||||||
|
if (!inspar.groupId.empty()) {
|
||||||
|
ids.insert(inspar.groupId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
string InsetGraphics::getGroupParams(Buffer const & b, std::string const & groupId)
|
||||||
|
{
|
||||||
|
if (groupId.empty()) return string();
|
||||||
|
Inset & inset = b.inset();
|
||||||
|
InsetIterator it = inset_iterator_begin(inset);
|
||||||
|
InsetIterator const end = inset_iterator_end(inset);
|
||||||
|
for (; it != end; ++it)
|
||||||
|
if (it->lyxCode() == GRAPHICS_CODE) {
|
||||||
|
InsetGraphics & ins = static_cast<InsetGraphics &>(*it);
|
||||||
|
InsetGraphicsParams inspar = ins.getParams();
|
||||||
|
if (inspar.groupId == groupId) {
|
||||||
|
InsetGraphicsParams tmp = inspar;
|
||||||
|
tmp.filename.erase();
|
||||||
|
return params2string(tmp, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return string();
|
||||||
|
}
|
||||||
|
|
||||||
|
void InsetGraphics::unifyGraphicsGroups(Buffer const & b, std::string const & argument)
|
||||||
|
{
|
||||||
|
InsetGraphicsParams params;
|
||||||
|
InsetGraphics::string2params(argument, b, params);
|
||||||
|
|
||||||
|
Inset & inset = b.inset();
|
||||||
|
InsetIterator it = inset_iterator_begin(inset);
|
||||||
|
InsetIterator const end = inset_iterator_end(inset);
|
||||||
|
for (; it != end; ++it) {
|
||||||
|
if (it->lyxCode() == GRAPHICS_CODE) {
|
||||||
|
InsetGraphics & ins = static_cast<InsetGraphics &>(*it);
|
||||||
|
InsetGraphicsParams inspar = ins.getParams();
|
||||||
|
if (params.groupId == inspar.groupId) {
|
||||||
|
params.filename = inspar.filename;
|
||||||
|
ins.setParams(params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#ifndef INSET_GRAPHICS_H
|
#ifndef INSET_GRAPHICS_H
|
||||||
#define INSET_GRAPHICS_H
|
#define INSET_GRAPHICS_H
|
||||||
|
|
||||||
|
#include <set>
|
||||||
#include "Inset.h"
|
#include "Inset.h"
|
||||||
#include "InsetGraphicsParams.h"
|
#include "InsetGraphicsParams.h"
|
||||||
|
|
||||||
@ -47,11 +48,23 @@ public:
|
|||||||
///
|
///
|
||||||
static std::string params2string(InsetGraphicsParams const &,
|
static std::string params2string(InsetGraphicsParams const &,
|
||||||
Buffer const &);
|
Buffer const &);
|
||||||
|
/// Saves the list of currently used groups in the document.
|
||||||
|
static void getGraphicsGroups(Buffer const &, std::set<std::string> &);
|
||||||
|
/// Returns parameters of a given graphics group (except filename).
|
||||||
|
static std::string getGroupParams(Buffer const &,
|
||||||
|
std::string const &);
|
||||||
|
/** Synchronize all Graphics insets of the group.
|
||||||
|
Both groupId and params are taken from argument.
|
||||||
|
*/
|
||||||
|
static void unifyGraphicsGroups(Buffer const &, std::string const &);
|
||||||
|
|
||||||
/** Set the inset parameters, used by the GUIndependent dialog.
|
/** Set the inset parameters, used by the GUIndependent dialog.
|
||||||
Return true of new params are different from what was so far.
|
Return true of new params are different from what was so far.
|
||||||
*/
|
*/
|
||||||
bool setParams(InsetGraphicsParams const & params);
|
bool setParams(InsetGraphicsParams const & params);
|
||||||
|
|
||||||
|
InsetGraphicsParams getParams() const { return params_;}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
///
|
///
|
||||||
InsetGraphics(InsetGraphics const &);
|
InsetGraphics(InsetGraphics const &);
|
||||||
|
@ -79,6 +79,7 @@ void InsetGraphicsParams::init()
|
|||||||
rotateAngle = "0"; // angle of rotation in degrees
|
rotateAngle = "0"; // angle of rotation in degrees
|
||||||
rotateOrigin.erase(); // Origin of rotation
|
rotateOrigin.erase(); // Origin of rotation
|
||||||
special.erase(); // additional userdefined stuff
|
special.erase(); // additional userdefined stuff
|
||||||
|
groupId.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -101,6 +102,7 @@ void InsetGraphicsParams::copy(InsetGraphicsParams const & igp)
|
|||||||
rotateAngle = igp.rotateAngle;
|
rotateAngle = igp.rotateAngle;
|
||||||
rotateOrigin = igp.rotateOrigin;
|
rotateOrigin = igp.rotateOrigin;
|
||||||
special = igp.special;
|
special = igp.special;
|
||||||
|
groupId = igp.groupId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -123,7 +125,8 @@ bool operator==(InsetGraphicsParams const & left,
|
|||||||
|
|
||||||
left.rotateAngle == right.rotateAngle &&
|
left.rotateAngle == right.rotateAngle &&
|
||||||
left.rotateOrigin == right.rotateOrigin &&
|
left.rotateOrigin == right.rotateOrigin &&
|
||||||
left.special == right.special;
|
left.special == right.special &&
|
||||||
|
left.groupId == right.groupId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -174,6 +177,8 @@ void InsetGraphicsParams::Write(ostream & os, Buffer const & buffer) const
|
|||||||
os << "\trotateOrigin " << rotateOrigin << '\n';
|
os << "\trotateOrigin " << rotateOrigin << '\n';
|
||||||
if (!special.empty())
|
if (!special.empty())
|
||||||
os << "\tspecial " << special << '\n';
|
os << "\tspecial " << special << '\n';
|
||||||
|
if (!groupId.empty())
|
||||||
|
os << "\tgroupId "<< groupId << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -227,6 +232,9 @@ bool InsetGraphicsParams::Read(Lexer & lex, string const & token, string const &
|
|||||||
} else if (token == "special") {
|
} else if (token == "special") {
|
||||||
lex.eatLine();
|
lex.eatLine();
|
||||||
special = lex.getString();
|
special = lex.getString();
|
||||||
|
} else if (token == "groupId") {
|
||||||
|
lex.eatLine();
|
||||||
|
groupId = lex.getString();
|
||||||
|
|
||||||
// catch and ignore following two old-format tokens and their arguments.
|
// catch and ignore following two old-format tokens and their arguments.
|
||||||
// e.g. "size_kind scale" clashes with the setting of the
|
// e.g. "size_kind scale" clashes with the setting of the
|
||||||
|
@ -83,6 +83,8 @@ public:
|
|||||||
// to display or not.
|
// to display or not.
|
||||||
graphics::Params as_grfxParams() const;
|
graphics::Params as_grfxParams() const;
|
||||||
|
|
||||||
|
// Identification of the graphics template. No template equals empty string.
|
||||||
|
std::string groupId;
|
||||||
private:
|
private:
|
||||||
/// Initialize the object to a default status.
|
/// Initialize the object to a default status.
|
||||||
void init();
|
void init();
|
||||||
|
Loading…
Reference in New Issue
Block a user