diff options
| author | Eduard Braun <eduard.braun2@gmx.de> | 2018-01-09 20:37:43 +0000 |
|---|---|---|
| committer | Eduard Braun <eduard.braun2@gmx.de> | 2018-01-09 21:32:06 +0000 |
| commit | 87661ee65e9faccb22adeca6a37de7b065e8a702 (patch) | |
| tree | 474f2e077578ae8524f1697ad37dd61c7b267863 /src/ui/dialog/inkscape-preferences.cpp | |
| parent | Fix profiling build (diff) | |
| parent | Limit default window size to monitor dimensions (diff) | |
| download | inkscape-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.cpp | 20 |
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); } |
