summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/inkscape-preferences.cpp
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2018-01-09 20:37:43 +0000
committerEduard Braun <eduard.braun2@gmx.de>2018-01-09 21:32:06 +0000
commit87661ee65e9faccb22adeca6a37de7b065e8a702 (patch)
tree474f2e077578ae8524f1697ad37dd61c7b267863 /src/ui/dialog/inkscape-preferences.cpp
parentFix profiling build (diff)
parentLimit default window size to monitor dimensions (diff)
downloadinkscape-87661ee65e9faccb22adeca6a37de7b065e8a702.tar.gz
inkscape-87661ee65e9faccb22adeca6a37de7b065e8a702.zip
Fix and improve window size/position handling/restoration
- Fix broken window size/position restoration after gtk3 deprecation fixes in fa8a2ee7e2539b145a87ac9af0d9748effa91631 - Use monitor geometry of the monitor Inkscape will be shown on instead of defaulting to the primary monitor which is often wrong - Let gtk+ / window manager handle window size/position sanitization (confirmed working on Windows and Ubuntu 16.04) and remove custom code which was prone to errors and did not always work as desired - Make default window size "Small" work again (was broken in gtk3) and add a new preference "Default" which uses the native window size (i.e. tries to make just enough room for all controls)
Diffstat (limited to 'src/ui/dialog/inkscape-preferences.cpp')
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index 0ac12d15c..7b7bd6548 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -684,9 +684,9 @@ void InkscapePreferences::initPageUI()
}
// Windows
- _win_save_geom.init ( _("Save and restore window geometry for each document"), "/options/savewindowgeometry/value", 1, true, 0);
- _win_save_geom_prefs.init ( _("Remember and use last window's geometry"), "/options/savewindowgeometry/value", 2, false, &_win_save_geom);
- _win_save_geom_off.init ( _("Don't save window geometry"), "/options/savewindowgeometry/value", 0, false, &_win_save_geom);
+ _win_save_geom.init ( _("Save and restore window geometry for each document"), "/options/savewindowgeometry/value", PREFS_WINDOW_GEOMETRY_FILE, true, 0);
+ _win_save_geom_prefs.init ( _("Remember and use last window's geometry"), "/options/savewindowgeometry/value", PREFS_WINDOW_GEOMETRY_LAST, false, &_win_save_geom);
+ _win_save_geom_off.init ( _("Don't save window geometry"), "/options/savewindowgeometry/value", PREFS_WINDOW_GEOMETRY_NONE, false, &_win_save_geom);
_win_save_dialog_pos_on.init ( _("Save and restore dialogs status"), "/options/savedialogposition/value", 1, true, 0);
_win_save_dialog_pos_off.init ( _("Don't save dialogs status"), "/options/savedialogposition/value", 0, false, &_win_save_dialog_pos_on);
@@ -707,10 +707,16 @@ void InkscapePreferences::initPageUI()
_win_ontop_agressive.init ( _("Aggressive"), "/options/transientpolicy/value", 2, false, &_win_ontop_none);
{
- Glib::ustring defaultSizeLabels[] = {C_("Window size", "Small"), C_("Window size", "Large"), C_("Window size", "Maximized")};
- int defaultSizeValues[] = {0, 1, 2};
-
- _win_default_size.init( "/options/defaultwindowsize/value", defaultSizeLabels, defaultSizeValues, G_N_ELEMENTS(defaultSizeLabels), 1 );
+ Glib::ustring defaultSizeLabels[] = {C_("Window size", "Default"),
+ C_("Window size", "Small"),
+ C_("Window size", "Large"),
+ C_("Window size", "Maximized")};
+ int defaultSizeValues[] = {PREFS_WINDOW_SIZE_NATURAL,
+ PREFS_WINDOW_SIZE_SMALL,
+ PREFS_WINDOW_SIZE_LARGE,
+ PREFS_WINDOW_SIZE_MAXIMIZED};
+
+ _win_default_size.init( "/options/defaultwindowsize/value", defaultSizeLabels, defaultSizeValues, G_N_ELEMENTS(defaultSizeLabels), PREFS_WINDOW_SIZE_NATURAL);
_page_windows.add_line( false, _("Default window size:"), _win_default_size, "",
_("Set the default window size"), false);
}