summaryrefslogtreecommitdiffstats
path: root/src/sp-namedview.cpp
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2018-01-07 03:35:34 +0000
committerEduard Braun <eduard.braun2@gmx.de>2018-01-07 16:37:02 +0000
commitdf4cb22cc7e5935293af6bb17e1c26959dc300ba (patch)
treeba3758e334fe5e6463b0f5d5c89042e1bc6922f3 /src/sp-namedview.cpp
parentNamedview: Use proper monitor to derive monitor_geometry (diff)
downloadinkscape-df4cb22cc7e5935293af6bb17e1c26959dc300ba.tar.gz
inkscape-df4cb22cc7e5935293af6bb17e1c26959dc300ba.zip
Make stored geometry and default window size enums
Diffstat (limited to 'src/sp-namedview.cpp')
-rw-r--r--src/sp-namedview.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp
index 4e5da13c3..8fdb34af0 100644
--- a/src/sp-namedview.cpp
+++ b/src/sp-namedview.cpp
@@ -27,6 +27,7 @@
#include "document.h"
#include "document-undo.h"
#include "desktop-events.h"
+#include "enums.h"
#include "sp-guide.h"
#include "sp-item-group.h"
@@ -778,19 +779,19 @@ void sp_namedview_window_from_document(SPDesktop *desktop)
{
SPNamedView *nv = desktop->namedview;
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- bool geometry_from_file = (1 == prefs->getInt("/options/savewindowgeometry/value", 0));
- bool geometry_from_last = (2 == prefs->getInt("/options/savewindowgeometry/value", 0));
- gint default_geometry = prefs->getInt("/options/defaultwindowsize/value", 1);
+ int window_geometry = prefs->getInt("/options/savewindowgeometry/value", PREFS_WINDOW_GEOMETRY_NONE);
+ int default_size = prefs->getInt("/options/defaultwindowsize/value", PREFS_WINDOW_SIZE_LARGE);
bool new_document = (nv->window_width <= 0) || (nv->window_height <= 0);
bool show_dialogs = true;
// restore window size and position stored with the document
Gtk::Window *win = desktop->getToplevel();
g_assert(win);
- if (geometry_from_last) {
+ if (window_geometry == PREFS_WINDOW_GEOMETRY_LAST) {
// do nothing, as we already have code for that in interface.cpp
// TODO: Probably should not do similar things in two places
- } else if ((geometry_from_file && nv->window_maximized) || (new_document && (default_geometry == 2))) {
+ } else if ((window_geometry == PREFS_WINDOW_GEOMETRY_FILE && nv->window_maximized) ||
+ (new_document && (default_size == PREFS_WINDOW_SIZE_MAXIMIZED))) {
win->maximize();
} else {
Gdk::Rectangle monitor_geometry;
@@ -807,14 +808,14 @@ void sp_namedview_window_from_document(SPDesktop *desktop)
int h = monitor_geometry.get_height();
bool move_to_screen = false;
- if (geometry_from_file and !new_document) {
+ if (window_geometry == PREFS_WINDOW_GEOMETRY_FILE && !new_document) {
w = MIN(w, nv->window_width);
- h = MIN(h, nv->window_height);
+ h = MIN(h, nv->window_height);
move_to_screen = true;
- } else if (default_geometry == 1) {
+ } else if (default_size == PREFS_WINDOW_SIZE_LARGE) {
w *= NEWDOC_X_SCALE;
h *= NEWDOC_Y_SCALE;
- } else if (default_geometry == 0) {
+ } else if (default_size == PREFS_WINDOW_SIZE_SMALL) {
w = h = 0; // use the smallest possible window size; could be a factor like NEWDOC_X_SCALE in future
}
if ((w > 0) && (h > 0)) {
@@ -903,7 +904,8 @@ void sp_namedview_update_layers_from_document (SPDesktop *desktop)
void sp_namedview_document_from_window(SPDesktop *desktop)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- bool save_geometry_in_file = (1 == prefs->getInt("/options/savewindowgeometry/value", 0));
+ int window_geometry = prefs->getInt("/options/savewindowgeometry/value", PREFS_WINDOW_GEOMETRY_NONE);
+ bool save_geometry_in_file = window_geometry == PREFS_WINDOW_GEOMETRY_FILE;
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();