From c13f4af8daf95481072b1bffff07ee23828f9668 Mon Sep 17 00:00:00 2001 From: dvlierop2 Date: Mon, 25 May 2009 20:04:26 +0000 Subject: [PATCH] Also store the window's geometry when saving through the data-loss warning dialog (the one that pops up when Inkscape is being closed with unsaved data) --- src/interface.cpp | 2 -- src/ui/view/edit-widget.cpp | 15 ++++++++------- src/widgets/desktop-widget.cpp | 1 + 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/interface.cpp b/src/interface.cpp index 9901c2d69..d628d964d 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -185,8 +185,6 @@ sp_create_window(SPViewWidget *vw, gboolean editable) if (w>0 && h>0) { x = MIN(gdk_screen_width() - w, x); y = MIN(gdk_screen_height() - h, y); - } - if (w>0 && h>0) { desktop->setWindowSize(w, h); } diff --git a/src/ui/view/edit-widget.cpp b/src/ui/view/edit-widget.cpp index f11fac4cd..b12d5adf7 100644 --- a/src/ui/view/edit-widget.cpp +++ b/src/ui/view/edit-widget.cpp @@ -1220,6 +1220,7 @@ EditWidget::shutdown() { case Gtk::RESPONSE_YES: sp_document_ref(doc); + sp_namedview_document_from_window(_desktop); if (sp_file_save_document(*this, doc)) { sp_document_unref(doc); } else { // save dialog cancelled or save failed @@ -1307,7 +1308,7 @@ EditWidget::requestCanvasUpdateAndWait() { requestCanvasUpdate(); - while (gtk_events_pending()) + while (gtk_events_pending()) gtk_main_iteration_do(FALSE); } @@ -1315,9 +1316,9 @@ void EditWidget::enableInteraction() { g_return_if_fail(_interaction_disabled_counter > 0); - + _interaction_disabled_counter--; - + if (_interaction_disabled_counter == 0) { this->set_sensitive(true); } @@ -1329,7 +1330,7 @@ EditWidget::disableInteraction() if (_interaction_disabled_counter == 0) { this->set_sensitive(false); } - + _interaction_disabled_counter++; } @@ -1348,9 +1349,9 @@ EditWidget::deactivateDesktop() void EditWidget::viewSetPosition (Geom::Point p) { - // p -= _namedview->gridorigin; + // p -= _namedview->gridorigin; /// \todo Why was the origin corrected for the grid origin? (johan) - + double lo, up, pos, max; _top_ruler.get_range (lo, up, pos, max); _top_ruler.set_range (lo, up, p[Geom::X], max); @@ -1363,7 +1364,7 @@ EditWidget::updateRulers() { //Geom::Point gridorigin = _namedview->gridorigin; /// \todo Why was the origin corrected for the grid origin? (johan) - + Geom::Rect const viewbox = _svg_canvas.spobj()->getViewbox(); double lo, up, pos, max; double const scale = _desktop->current_zoom(); diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index ab09dbe8a..f5e153a8e 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -854,6 +854,7 @@ SPDesktopWidget::shutdown() Gtk::Window *window = (Gtk::Window*)gtk_object_get_data (GTK_OBJECT(this), "window"); sp_document_ref(doc); + sp_namedview_document_from_window(desktop); if (sp_file_save_document(*window, doc)) { sp_document_unref(doc); } else { // save dialog cancelled or save failed -- 2.39.5