Inset * inset() const;
private:
- /** These 6 methods are all that the individual daughter classes
+ /** These 7 methods are all that the individual daughter classes
should need to instantiate. */
/// if the inset exists then do this...
/// clean-up any daughter class-particular data on hide().
virtual void clearDaughterParams() {}
+ /** Some dialogs may find it beneficial to disconnect from the inset
+ when the Apply button is pressed. E.g., doing this with the citation
+ dialog allows multiple citiations to be inserted easily. */
+ virtual bool disconnectOnApply() { return false; }
else
applyParamsNoInset();
- *params_ = getParams(string());
- inset_ = 0;
- ih_.disconnect();
+ if (disconnectOnApply() && !isClosing()) {
+ *params_ = getParams(string());
+ inset_ = 0;
+ ih_.disconnect();
- view().update();
+ view().update();
+ }
}