X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FDialog.cpp;h=65d4a5598141dbb3471e02af0c1471a2e638051c;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=a7e0b51df951bf092ec2bc4109aee760d0f06cc2;hpb=53acfb8351e09b1a5c137318b03eb7148613dd7e;p=lyx.git diff --git a/src/frontends/qt4/Dialog.cpp b/src/frontends/qt4/Dialog.cpp index a7e0b51df9..65d4a55981 100644 --- a/src/frontends/qt4/Dialog.cpp +++ b/src/frontends/qt4/Dialog.cpp @@ -58,7 +58,6 @@ bool Dialog::canApply() const void Dialog::dispatch(FuncRequest const & fr) const { - theLyXFunc().setLyXView(lyxview_); lyx::dispatch(fr); } @@ -77,15 +76,15 @@ void Dialog::disconnect() const bool Dialog::isBufferAvailable() const { - return lyxview_->buffer() != 0; + return lyxview_->currentBufferView() != 0; } bool Dialog::isBufferReadonly() const { - if (!lyxview_->buffer()) + if (!lyxview_->documentBufferView()) return true; - return lyxview_->buffer()->isReadonly(); + return lyxview_->documentBufferView()->buffer().isReadonly(); } @@ -108,14 +107,14 @@ KernelDocType Dialog::docType() const BufferView const * Dialog::bufferview() const { - return lyxview_->view(); + return lyxview_->currentBufferView(); } Buffer const & Dialog::buffer() const { - LASSERT(lyxview_->buffer(), /**/); - return *lyxview_->buffer(); + LASSERT(lyxview_->currentBufferView(), /**/); + return lyxview_->currentBufferView()->buffer(); } @@ -153,13 +152,11 @@ void Dialog::apply() } -void Dialog::showView() +void Dialog::prepareView() { // Make sure the dialog controls are correctly enabled/disabled with // readonly status. checkStatus(); - if (exitEarly()) - return; QWidget * w = asQWidget(); w->setWindowTitle(title_); @@ -167,7 +164,14 @@ void Dialog::showView() QSize const hint = w->sizeHint(); if (hint.height() >= 0 && hint.width() >= 0) w->setMinimumSize(hint); +} + + +void Dialog::showView() +{ + prepareView(); + QWidget * w = asQWidget(); if (w->isVisible()) { w->raise(); w->activateWindow(); @@ -214,7 +218,7 @@ Inset const * Dialog::inset(InsetCode code) const void Dialog::checkStatus() { - // buffer independant dialogs are always active. + // buffer independent dialogs are always active. // This check allows us leave canApply unimplemented for some dialogs. if (!isBufferDependent()) { updateView(); @@ -230,13 +234,11 @@ void Dialog::checkStatus() // check whether this dialog may be active if (canApply()) { bool const readonly = isBufferReadonly(); - enableView(!readonly); + enableView(!readonly || canApplyToReadOnly()); // refreshReadOnly() is too generous in _enabling_ widgets // update dialog to disable disabled widgets again - if (!readonly || canApplyToReadOnly()) - updateView(); - + updateView(); } else enableView(false); }