mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 19:25:39 +00:00
Check for changes to modules before switching text classes. See the removed
FIXME for more. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26903 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
c83ae83ebf
commit
9c95358b85
@ -1354,12 +1354,22 @@ void GuiDocument::classChanged()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME We should really check here whether the modules have been
|
// check whether the selected modules have changed.
|
||||||
// changed, I think, even if auto_reset_options is false. And, if so,
|
bool modulesChanged = false;
|
||||||
// pop the same dialog. So we would need to compare what is in
|
int const srows = selectedModel()->rowCount();
|
||||||
// modules_sel_model with what is in the OLD bp_.getModules() and
|
if (srows != bp_.getModules().size())
|
||||||
// so do that before we reset things.
|
modulesChanged = true;
|
||||||
if (lyxrc.auto_reset_options) {
|
else {
|
||||||
|
list<string>::const_iterator mit = bp_.getModules().begin();
|
||||||
|
list<string>::const_iterator men = bp_.getModules().end();
|
||||||
|
for (int i = 0; i < srows && mit != men; ++i, ++mit)
|
||||||
|
if (selectedModel()->getIDString(i) != *mit) {
|
||||||
|
modulesChanged = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (modulesChanged || lyxrc.auto_reset_options) {
|
||||||
if (applyPB->isEnabled()) {
|
if (applyPB->isEnabled()) {
|
||||||
int const ret = Alert::prompt(_("Unapplied changes"),
|
int const ret = Alert::prompt(_("Unapplied changes"),
|
||||||
_("Some changes in the dialog were not yet applied.\n"
|
_("Some changes in the dialog were not yet applied.\n"
|
||||||
@ -1368,7 +1378,8 @@ void GuiDocument::classChanged()
|
|||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
applyView();
|
applyView();
|
||||||
}
|
}
|
||||||
bp_.useClassDefaults();
|
if (lyxrc.auto_reset_options)
|
||||||
|
bp_.useClassDefaults();
|
||||||
}
|
}
|
||||||
// With the introduction of modules came a distinction between the base
|
// With the introduction of modules came a distinction between the base
|
||||||
// class and the document class. The former corresponds to the main layout
|
// class and the document class. The former corresponds to the main layout
|
||||||
|
Loading…
Reference in New Issue
Block a user