summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohn Smith <john.smith7545@yahoo.com>2012-08-28 23:19:10 +0000
committerJohn Smith <john.smith7545@yahoo.com>2012-08-28 23:19:10 +0000
commit6307d87c8daf2986c3e0f574fc898ab02be6f5e3 (patch)
treefaff8cb32a7dde71ff67aefdff7172658dafd5eb /src
parentFix for 1042602 : Select toolbar : Width and height are not initially 0 (diff)
downloadinkscape-6307d87c8daf2986c3e0f574fc898ab02be6f5e3.tar.gz
inkscape-6307d87c8daf2986c3e0f574fc898ab02be6f5e3.zip
Fix for 928205 : Preference to not save doc viewport metadata
(bzr r11630)
Diffstat (limited to 'src')
-rw-r--r--src/sp-namedview.cpp9
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp7
-rw-r--r--src/ui/dialog/inkscape-preferences.h1
3 files changed, 14 insertions, 3 deletions
diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp
index 75c2f8343..9d5821897 100644
--- a/src/sp-namedview.cpp
+++ b/src/sp-namedview.cpp
@@ -889,6 +889,7 @@ void sp_namedview_document_from_window(SPDesktop *desktop)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
bool save_geometry_in_file = prefs->getBool("/options/savewindowgeometry/value", 0);
+ bool save_viewport_in_file = prefs->getBool("/options/savedocviewport/value", true);
Inkscape::XML::Node *view = desktop->namedview->getRepr();
Geom::Rect const r = desktop->get_display_area();
@@ -896,9 +897,11 @@ void sp_namedview_document_from_window(SPDesktop *desktop)
bool saved = DocumentUndo::getUndoSensitive(sp_desktop_document(desktop));
DocumentUndo::setUndoSensitive(sp_desktop_document(desktop), false);
- sp_repr_set_svg_double(view, "inkscape:zoom", desktop->current_zoom());
- sp_repr_set_svg_double(view, "inkscape:cx", r.midpoint()[Geom::X]);
- sp_repr_set_svg_double(view, "inkscape:cy", r.midpoint()[Geom::Y]);
+ if (save_viewport_in_file) {
+ sp_repr_set_svg_double(view, "inkscape:zoom", desktop->current_zoom());
+ sp_repr_set_svg_double(view, "inkscape:cx", r.midpoint()[Geom::X]);
+ sp_repr_set_svg_double(view, "inkscape:cy", r.midpoint()[Geom::Y]);
+ }
if (save_geometry_in_file) {
gint w, h, x, y;
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index dc8913b8d..97b0083c2 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -604,10 +604,12 @@ void InkscapePreferences::initPageUI()
_win_dockable.init ( _("Dockable"), "/options/dialogtype/value", 1, true, 0);
_win_floating.init ( _("Floating"), "/options/dialogtype/value", 0, false, &_win_dockable);
+
_win_native.init ( _("Native open/save dialogs"), "/options/desktopintegration/value", 1, true, 0);
_win_gtk.init ( _("GTK open/save dialogs"), "/options/desktopintegration/value", 0, false, &_win_native);
_win_hide_task.init ( _("Dialogs are hidden in taskbar"), "/options/dialogsskiptaskbar/value", true);
+ _win_save_viewport.init ( _("Save and restore documents viewport"), "/options/savedocviewport/value", true);
_win_zoom_resize.init ( _("Zoom when window is resized"), "/options/stickyzoom/value", false);
_win_show_close.init ( _("Show close button on dialogs"), "/dialogs/showclose", false);
_win_ontop_none.init ( _("None"), "/options/transientpolicy/value", 0, false, 0);
@@ -628,6 +630,8 @@ void InkscapePreferences::initPageUI()
_page_windows.add_line( true, "", _win_save_dialog_pos_on, "",
_("Save and restore dialogs status (the last open windows dialogs are saved when it closes)"));
+
+
_page_windows.add_group_header( _("Dialog behavior (requires restart)"));
_page_windows.add_line( true, "", _win_dockable, "",
_("Dockable"));
@@ -660,6 +664,7 @@ void InkscapePreferences::initPageUI()
_win_trans_time.init("/dialogs/transparency/animate-time", 0, 1000, 10, 100, 100, true, false);
_page_windows.add_line( true, _("Time of opacity change animation:"), _win_trans_time, "ms", "");
+
_page_windows.add_group_header( _("Miscellaneous"));
#ifndef WIN32 // FIXME: Temporary Win32 special code to enable transient dialogs
_page_windows.add_line( true, "", _win_hide_task, "",
@@ -667,6 +672,8 @@ void InkscapePreferences::initPageUI()
#endif
_page_windows.add_line( true, "", _win_zoom_resize, "",
_("Zoom drawing when document window is resized, to keep the same area visible (this is the default which can be changed in any window using the button above the right scrollbar)"));
+ _page_windows.add_line( true, "", _win_save_viewport, "",
+ _("Save documents viewport (zoom and panning position). Useful to turn off when sharing version controlled files."));
_page_windows.add_line( true, "", _win_show_close, "",
_("Whether dialog windows have a close button (requires restart)"));
this->AddPage(_page_windows, _("Windows"), iter_ui, PREFS_PAGE_UI_WINDOWS);
diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h
index 094e6ee45..06949d3e4 100644
--- a/src/ui/dialog/inkscape-preferences.h
+++ b/src/ui/dialog/inkscape-preferences.h
@@ -225,6 +225,7 @@ protected:
UI::Widget::PrefRadioButton _win_save_geom;
UI::Widget::PrefRadioButton _win_save_geom_prefs;
UI::Widget::PrefCheckButton _win_hide_task;
+ UI::Widget::PrefCheckButton _win_save_viewport;
UI::Widget::PrefCheckButton _win_zoom_resize;
UI::Widget::PrefCheckButton _win_show_close;
UI::Widget::PrefSpinButton _win_trans_focus; /**< The dialog transparency setting for when the dialog is focused. */