diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2013-05-01 06:17:45 +0000 |
|---|---|---|
| committer | Jon A. Cruz <jon@joncruz.org> | 2013-05-01 06:17:45 +0000 |
| commit | c96a7e7b0dc1944280a3807ce47aca285b956b89 (patch) | |
| tree | e124b820fe6f2c57ceb6b211c9a6cf636e1a19f1 /src | |
| parent | Fix for Bug #629081 (Spiro and path operations fails) by Matthew Petroff. (diff) | |
| download | inkscape-c96a7e7b0dc1944280a3807ce47aca285b956b89.tar.gz inkscape-c96a7e7b0dc1944280a3807ce47aca285b956b89.zip | |
Fix for Bug #830663 (default window size is too small) by Jiabao Wu
Fixed bugs:
- https://launchpad.net/bugs/830663
(bzr r12315)
Diffstat (limited to 'src')
| -rw-r--r-- | src/sp-namedview.cpp | 17 | ||||
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.cpp | 11 | ||||
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.h | 3 |
3 files changed, 24 insertions, 7 deletions
diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp index f417dd275..91ad00cf4 100644 --- a/src/sp-namedview.cpp +++ b/src/sp-namedview.cpp @@ -8,7 +8,7 @@ * Abhishek Sharma * * Copyright (C) 2006 Johan Engelen <johan@shouraizou.nl> - * Copyright (C) 1999-2008 Authors + * Copyright (C) 1999-2013 Authors * Copyright (C) 2000-2001 Ximian, Inc. * * Released under GNU GPL, read the file 'COPYING' for more information @@ -764,11 +764,13 @@ 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)); + gint default_geometry = prefs->getInt("/options/defaultwindowsize/value", 1); + bool new_document = !(nv->window_width > 0) || !(nv->window_height > 0); bool show_dialogs = TRUE; // restore window size and position stored with the document if (geometry_from_file) { - if (nv->window_maximized) { + if (nv->window_maximized || (new_document && (default_geometry == 2))) { Gtk::Window *win = desktop->getToplevel(); if (win){ win->maximize(); @@ -783,7 +785,6 @@ void sp_namedview_window_from_document(SPDesktop *desktop) x = MAX(MIN_ONSCREEN_DISTANCE - nv->window_width, x); y = MAX(MIN_ONSCREEN_DISTANCE - nv->window_height, y); if (w>0 && h>0) { - #ifndef WIN32 gint dx, dy, dw, dh; desktop->getWindowGeometry(dx, dy, dw, dh); @@ -796,10 +797,16 @@ void sp_namedview_window_from_document(SPDesktop *desktop) desktop->setWindowSize(w, h); desktop->setWindowPosition(Geom::Point(x, y)); - + } else { + if (default_geometry == 1) { + w = gdk_screen_width() * 0.75; + h = gdk_screen_height() * 0.75; + desktop->setWindowSize(w, h); + desktop->setWindowPosition(Geom::Point(x, y)); + } } - } + } } // restore zoom and view diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 65c6a20fe..8eb643c6e 100644 --- a/src/ui/dialog/inkscape-preferences.cpp +++ b/src/ui/dialog/inkscape-preferences.cpp @@ -8,7 +8,7 @@ * Johan Engelen <j.b.c.engelen@ewi.utwente.nl> * Bruno Dilly <bruno.dilly@gmail.com> * - * Copyright (C) 2004-2011 Authors + * Copyright (C) 2004-2013 Authors * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -642,6 +642,15 @@ void InkscapePreferences::initPageUI() _win_ontop_normal.init ( _("Normal"), "/options/transientpolicy/value", 1, true, &_win_ontop_none); _win_ontop_agressive.init ( _("Aggressive"), "/options/transientpolicy/value", 2, false, &_win_ontop_none); + { + Glib::ustring defaultSizeLabels[] = {_("Small"), _("Large"), _("Maximized")}; + int defaultSizeValues[] = {0, 1, 2}; + + _win_default_size.init( "/options/defaultwindowsize/value", defaultSizeLabels, defaultSizeValues, G_N_ELEMENTS(defaultSizeLabels), 1 ); + _page_windows.add_line( false, _("Default window size:"), _win_default_size, "", + _("Set the default window size"), false); + } + _page_windows.add_group_header( _("Saving window geometry (size and position)")); _page_windows.add_line( true, "", _win_save_geom_off, "", _("Let the window manager determine placement of all windows")); diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h index eaf1ffc3d..f4d8c1d9a 100644 --- a/src/ui/dialog/inkscape-preferences.h +++ b/src/ui/dialog/inkscape-preferences.h @@ -7,7 +7,7 @@ * Johan Engelen <j.b.c.engelen@ewi.utwente.nl> * Bruno Dilly <bruno.dilly@gmail.com> * - * Copyright (C) 2004-2007 Authors + * Copyright (C) 2004-2013 Authors * * Released under GNU GPL. Read the file 'COPYING' for more information. */ @@ -241,6 +241,7 @@ protected: UI::Widget::PrefRadioButton _win_gtk; UI::Widget::PrefRadioButton _win_save_dialog_pos_on; UI::Widget::PrefRadioButton _win_save_dialog_pos_off; + UI::Widget::PrefCombo _win_default_size; UI::Widget::PrefRadioButton _win_ontop_none; UI::Widget::PrefRadioButton _win_ontop_normal; UI::Widget::PrefRadioButton _win_ontop_agressive; |
