- new boolean canApplyToReadonly that allows to apply params/update view
even if the buffer is readOnly for specific dialogs.
* src/frontends/controllers/ControlPrint.h:
- use that (fix bug 3909)
* src/frontends/controllers/ControlViewSource:
- dto. (fix bug 3943)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18959
a592a061-630c-0410-9148-
cb99ea01b6c8
///
virtual bool isBufferDependent() const { return true; }
///
+ virtual bool canApplyToReadOnly() const { return true; }
+ ///
virtual kb_action getLfun() const { return LFUN_BUFFER_PRINT; }
/// Browse for a file
virtual bool isBufferDependent() const { return true; }
///
bool canApply() const { return true; }
+ ///
+ virtual bool canApplyToReadOnly() const { return true; }
/// The title displayed by the dialog reflects source type.
docstring const title() const;
{
if (controller().isBufferDependent()) {
if (!kernel().isBufferAvailable() ||
- kernel().isBufferReadonly())
+ (kernel().isBufferReadonly() &&
+ !controller().canApplyToReadOnly()))
return;
}
bc().readOnly(readonly);
// refreshReadOnly() is too generous in _enabling_ widgets
// update dialog to disable disabled widgets again
- if (!readonly)
+ if (!readonly || controller().canApplyToReadOnly())
view().update();
} else
bc().readOnly(true);
*/
virtual bool isBufferDependent() const = 0;
+ /** \return true if the dialog can apply data also
+ * for ReadOnly buffers.
+ * This has to be distinguished from isBufferDependent()
+ */
+ virtual bool canApplyToReadOnly() const { return false; }
+
/** The lfun that is sent for applying the data.
*
* This method is used by the default implementation of canApply()