From c823e1769a374d5c2e58db8d6a6730d2f36cec50 Mon Sep 17 00:00:00 2001 From: buliabyak Date: Sat, 5 Sep 2009 22:01:24 +0000 Subject: [PATCH] patch by Adrian Johnson for 166678 --- src/document.cpp | 19 ------------------- src/document.h | 2 -- src/sp-root.h | 1 - src/ui/dialog/print.cpp | 2 +- src/ui/widget/page-sizer.cpp | 23 +++++++++++------------ 5 files changed, 12 insertions(+), 35 deletions(-) diff --git a/src/document.cpp b/src/document.cpp index 17057e1dc..288e52c6d 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -572,25 +572,6 @@ gdouble sp_document_height(SPDocument *document) return root->height.computed; } -void sp_document_set_landscape (SPDocument *document, gboolean landscape) -{ - SPRoot *root = SP_ROOT(document->root); - - root->landscape = landscape; - SP_OBJECT (root)->updateRepr(); -} - -gboolean sp_document_landscape(SPDocument *document) -{ - g_return_val_if_fail(document != NULL, 0.0); - g_return_val_if_fail(document->priv != NULL, 0.0); - g_return_val_if_fail(document->root != NULL, 0.0); - - SPRoot *root = SP_ROOT(document->root); - - return root->landscape; -} - Geom::Point sp_document_dimensions(SPDocument *doc) { return Geom::Point(sp_document_width(doc), sp_document_height(doc)); diff --git a/src/document.h b/src/document.h index 63ca221a2..696e568ad 100644 --- a/src/document.h +++ b/src/document.h @@ -185,14 +185,12 @@ SPDocument *sp_document_create(Inkscape::XML::Document *rdoc, gchar const *uri, gdouble sp_document_width(SPDocument *document); gdouble sp_document_height(SPDocument *document); -gboolean sp_document_landscape(SPDocument *document); Geom::Point sp_document_dimensions(SPDocument *document); struct SPUnit; void sp_document_set_width(SPDocument *document, gdouble width, const SPUnit *unit); void sp_document_set_height(SPDocument *document, gdouble height, const SPUnit *unit); -void sp_document_set_landscape(SPDocument *document, gboolean landscape); #define SP_DOCUMENT_URI(d) (d->uri) #define SP_DOCUMENT_NAME(d) (d->name) diff --git a/src/sp-root.h b/src/sp-root.h index 8b3cb4f0c..7976eb2f4 100644 --- a/src/sp-root.h +++ b/src/sp-root.h @@ -36,7 +36,6 @@ struct SPRoot : public SPGroup { SVGLength y; SVGLength width; SVGLength height; - gboolean landscape; /* viewBox; */ unsigned int viewBox_set : 1; diff --git a/src/ui/dialog/print.cpp b/src/ui/dialog/print.cpp index d98d6a49e..f9db265d6 100644 --- a/src/ui/dialog/print.cpp +++ b/src/ui/dialog/print.cpp @@ -189,7 +189,7 @@ Print::Print(SPDocument *doc, SPItem *base) : gdouble doc_width = sp_document_width(_doc) * PT_PER_PX; gdouble doc_height = sp_document_height(_doc) * PT_PER_PX; GtkPaperSize *paper_size; - if (sp_document_landscape(_doc)) { + if (doc_width > doc_height) { gtk_page_setup_set_orientation (page_setup, GTK_PAGE_ORIENTATION_LANDSCAPE); paper_size = gtk_paper_size_new_custom("custom", "custom", doc_height, doc_width, GTK_UNIT_POINTS); diff --git a/src/ui/widget/page-sizer.cpp b/src/ui/widget/page-sizer.cpp index 6817d815b..02688a55e 100644 --- a/src/ui/widget/page-sizer.cpp +++ b/src/ui/widget/page-sizer.cpp @@ -345,23 +345,11 @@ PageSizer::setDim (double w, double h, bool changeList) _changedw_connection.block(); _changedh_connection.block(); - if ( w != h ) { - _landscapeButton.set_sensitive(true); - _portraitButton.set_sensitive (true); - _landscape = ( w > h ); - _landscapeButton.set_active(_landscape ? true : false); - _portraitButton.set_active (_landscape ? false : true); - } else { - _landscapeButton.set_sensitive(false); - _portraitButton.set_sensitive (false); - } - if (SP_ACTIVE_DESKTOP && !_widgetRegistry->isUpdating()) { SPDocument *doc = sp_desktop_document(SP_ACTIVE_DESKTOP); double const old_height = sp_document_height(doc); sp_document_set_width (doc, w, &_px_unit); sp_document_set_height (doc, h, &_px_unit); - sp_document_set_landscape (doc, _landscape); // The origin for the user is in the lower left corner; this point should remain stationary when // changing the page size. The SVG's origin however is in the upper left corner, so we must compensate for this Geom::Translate const vert_offset(Geom::Point(0, (old_height - h))); @@ -369,6 +357,17 @@ PageSizer::setDim (double w, double h, bool changeList) sp_document_done (doc, SP_VERB_NONE, _("Set page size")); } + if ( w != h ) { + _landscapeButton.set_sensitive(true); + _portraitButton.set_sensitive (true); + _landscape = ( w > h ); + _landscapeButton.set_active(_landscape ? true : false); + _portraitButton.set_active (_landscape ? false : true); + } else { + _landscapeButton.set_sensitive(false); + _portraitButton.set_sensitive (false); + } + if (changeList) { Gtk::TreeModel::Row row = (*find_paper_size(w, h)); -- 2.30.2