mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 02:14:50 +00:00
* src/frontends/GuiDocument.{cpp,h}:
- do not update dialog when clicking in the main window without buffer change (bug 4302). git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22583 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
2ba95426cc
commit
1acedf11da
@ -47,6 +47,8 @@
|
|||||||
#include "support/filetools.h"
|
#include "support/filetools.h"
|
||||||
#include "support/lstrings.h"
|
#include "support/lstrings.h"
|
||||||
|
|
||||||
|
#include "frontends/alert.h"
|
||||||
|
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind.hpp>
|
||||||
|
|
||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
@ -490,7 +492,7 @@ void PreambleModule::closeEvent(QCloseEvent * e)
|
|||||||
|
|
||||||
|
|
||||||
GuiDocument::GuiDocument(GuiView & lv)
|
GuiDocument::GuiDocument(GuiView & lv)
|
||||||
: GuiDialog(lv, "document")
|
: GuiDialog(lv, "document"), current_id_(0)
|
||||||
{
|
{
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
setViewTitle(_("Document Settings"));
|
setViewTitle(_("Document Settings"));
|
||||||
@ -841,14 +843,14 @@ GuiDocument::GuiDocument(GuiView & lv)
|
|||||||
|
|
||||||
latexModule = new UiWidget<Ui::LaTeXUi>;
|
latexModule = new UiWidget<Ui::LaTeXUi>;
|
||||||
// latex class
|
// latex class
|
||||||
connect(latexModule->classCO, SIGNAL(activated(int)),
|
|
||||||
this, SLOT(change_adaptor()));
|
|
||||||
connect(latexModule->optionsLE, SIGNAL(textChanged(const QString &)),
|
connect(latexModule->optionsLE, SIGNAL(textChanged(const QString &)),
|
||||||
this, SLOT(change_adaptor()));
|
this, SLOT(change_adaptor()));
|
||||||
connect(latexModule->psdriverCO, SIGNAL(activated(int)),
|
connect(latexModule->psdriverCO, SIGNAL(activated(int)),
|
||||||
this, SLOT(change_adaptor()));
|
this, SLOT(change_adaptor()));
|
||||||
connect(latexModule->classCO, SIGNAL(activated(int)),
|
connect(latexModule->classCO, SIGNAL(activated(int)),
|
||||||
this, SLOT(classChanged()));
|
this, SLOT(classChanged()));
|
||||||
|
connect(latexModule->classCO, SIGNAL(activated(int)),
|
||||||
|
this, SLOT(change_adaptor()));
|
||||||
|
|
||||||
selectionManager =
|
selectionManager =
|
||||||
new ModuleSelMan(latexModule->availableLV, latexModule->selectedLV,
|
new ModuleSelMan(latexModule->availableLV, latexModule->selectedLV,
|
||||||
@ -1200,8 +1202,16 @@ void GuiDocument::classChanged()
|
|||||||
textclass_type const tc = latexModule->classCO->currentIndex();
|
textclass_type const tc = latexModule->classCO->currentIndex();
|
||||||
bp_.setBaseClass(tc);
|
bp_.setBaseClass(tc);
|
||||||
if (lyxrc.auto_reset_options) {
|
if (lyxrc.auto_reset_options) {
|
||||||
|
if (applyPB->isEnabled()) {
|
||||||
|
int const ret = Alert::prompt(_("Unapplied changes"),
|
||||||
|
_("Some changes in the dialog were not yet applied."
|
||||||
|
"If you do not apply now, they will be lost after this action."),
|
||||||
|
1, 1, _("&Apply"), _("&Dismiss"));
|
||||||
|
if (ret == 0)
|
||||||
|
applyView();
|
||||||
|
}
|
||||||
bp_.useClassDefaults();
|
bp_.useClassDefaults();
|
||||||
updateContents();
|
forceUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1982,6 +1992,9 @@ void GuiDocument::updateSelectedModules()
|
|||||||
|
|
||||||
void GuiDocument::updateContents()
|
void GuiDocument::updateContents()
|
||||||
{
|
{
|
||||||
|
if (id() == current_id_)
|
||||||
|
return;
|
||||||
|
|
||||||
updateAvailableModules();
|
updateAvailableModules();
|
||||||
updateSelectedModules();
|
updateSelectedModules();
|
||||||
|
|
||||||
@ -1990,13 +2003,32 @@ void GuiDocument::updateContents()
|
|||||||
//selected, and that we don't have conflicts. If so, we could
|
//selected, and that we don't have conflicts. If so, we could
|
||||||
//at least pop up a warning.
|
//at least pop up a warning.
|
||||||
updateParams(bp_);
|
updateParams(bp_);
|
||||||
|
current_id_ = id();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GuiDocument::forceUpdate()
|
||||||
|
{
|
||||||
|
// reset to force dialog update
|
||||||
|
current_id_ = 0;
|
||||||
|
updateContents();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void GuiDocument::useClassDefaults()
|
void GuiDocument::useClassDefaults()
|
||||||
{
|
{
|
||||||
|
if (applyPB->isEnabled()) {
|
||||||
|
int const ret = Alert::prompt(_("Unapplied changes"),
|
||||||
|
_("Some changes in the dialog were not yet applied."
|
||||||
|
"If you do not apply now, they will be lost after this action."),
|
||||||
|
1, 1, _("&Apply"), _("&Dismiss"));
|
||||||
|
if (ret == 0)
|
||||||
|
applyView();
|
||||||
|
}
|
||||||
|
|
||||||
bp_.setBaseClass(latexModule->classCO->currentIndex());
|
bp_.setBaseClass(latexModule->classCO->currentIndex());
|
||||||
bp_.useClassDefaults();
|
bp_.useClassDefaults();
|
||||||
updateContents();
|
forceUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -100,6 +100,9 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
typedef void const * BufferId;
|
||||||
|
|
||||||
|
|
||||||
class GuiDocument : public GuiDialog, public Ui::DocumentUi
|
class GuiDocument : public GuiDialog, public Ui::DocumentUi
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -175,6 +178,8 @@ private:
|
|||||||
void applyView();
|
void applyView();
|
||||||
/// update
|
/// update
|
||||||
void updateContents();
|
void updateContents();
|
||||||
|
/// force content update
|
||||||
|
void forceUpdate();
|
||||||
///
|
///
|
||||||
void updateAvailableModules();
|
void updateAvailableModules();
|
||||||
///
|
///
|
||||||
@ -187,6 +192,8 @@ private:
|
|||||||
GuiIdListModel available_model_;
|
GuiIdListModel available_model_;
|
||||||
/// selected modules
|
/// selected modules
|
||||||
GuiIdListModel selected_model_;
|
GuiIdListModel selected_model_;
|
||||||
|
/// current buffer
|
||||||
|
BufferId current_id_;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/// return false if validate_listings_params returns error
|
/// return false if validate_listings_params returns error
|
||||||
@ -245,9 +252,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef void const * BufferId;
|
|
||||||
|
|
||||||
|
|
||||||
class PreambleModule : public UiWidget<Ui::PreambleUi>
|
class PreambleModule : public UiWidget<Ui::PreambleUi>
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Loading…
Reference in New Issue
Block a user