summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/filedialogimpl-gtkmm.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2011-08-14 20:29:07 +0000
committerJon A. Cruz <jon@joncruz.org>2011-08-14 20:29:07 +0000
commit34f2be35f436eba541decaf0850edcb3cbd498ba (patch)
tree98ce4a87d06f737a6a95f4078e054ee2fda04dd7 /src/ui/dialog/filedialogimpl-gtkmm.cpp
parentGerman translation update (diff)
downloadinkscape-34f2be35f436eba541decaf0850edcb3cbd498ba.tar.gz
inkscape-34f2be35f436eba541decaf0850edcb3cbd498ba.zip
Prevent creation of preview images if 'Enable preview' is not enabled. Fixes bug #826027.
Fixed bugs: - https://launchpad.net/bugs/826027 (bzr r10541)
Diffstat (limited to 'src/ui/dialog/filedialogimpl-gtkmm.cpp')
-rw-r--r--src/ui/dialog/filedialogimpl-gtkmm.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/ui/dialog/filedialogimpl-gtkmm.cpp b/src/ui/dialog/filedialogimpl-gtkmm.cpp
index 8e0b9294b..99662f0c2 100644
--- a/src/ui/dialog/filedialogimpl-gtkmm.cpp
+++ b/src/ui/dialog/filedialogimpl-gtkmm.cpp
@@ -599,8 +599,9 @@ void FileDialogBaseGtk::cleanup( bool showConfirmed )
{
if (_dialogType != EXE_TYPES) {
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- if ( showConfirmed )
+ if ( showConfirmed ) {
prefs->setBool( preferenceBase + "/enable_preview", previewCheckbox.get_active() );
+ }
}
}
@@ -611,6 +612,9 @@ void FileDialogBaseGtk::_previewEnabledCB()
set_preview_widget_active(enabled);
if ( enabled ) {
_updatePreviewCallback();
+ } else {
+ // Clears out any current preview image.
+ svgPreview.showNoPreview();
}
}
@@ -622,6 +626,7 @@ void FileDialogBaseGtk::_previewEnabledCB()
void FileDialogBaseGtk::_updatePreviewCallback()
{
Glib::ustring fileName = get_preview_filename();
+ bool enabled = previewCheckbox.get_active();
#ifdef WITH_GNOME_VFS
if ( fileName.empty() && gnome_vfs_initialized() ) {
@@ -629,11 +634,11 @@ void FileDialogBaseGtk::_updatePreviewCallback()
}
#endif
- if (fileName.empty()) {
- return;
+ if ( enabled && !fileName.empty() ) {
+ svgPreview.set(fileName, _dialogType);
+ } else {
+ svgPreview.showNoPreview();
}
-
- svgPreview.set(fileName, _dialogType);
}