Index: src/document.cpp =================================================================== --- src/document.cpp (revision 22136) +++ src/document.cpp (working copy) @@ -572,25 +572,6 @@ 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)); Index: src/document.h =================================================================== --- src/document.h (revision 22136) +++ src/document.h (working copy) @@ -185,14 +185,12 @@ 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) Index: src/sp-root.h =================================================================== --- src/sp-root.h (revision 22136) +++ src/sp-root.h (working copy) @@ -36,7 +36,6 @@ SVGLength y; SVGLength width; SVGLength height; - gboolean landscape; /* viewBox; */ unsigned int viewBox_set : 1; Index: src/ui/dialog/print.cpp =================================================================== --- src/ui/dialog/print.cpp (revision 22136) +++ src/ui/dialog/print.cpp (working copy) @@ -189,7 +189,7 @@ 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); Index: src/ui/widget/page-sizer.cpp =================================================================== --- src/ui/widget/page-sizer.cpp (revision 22136) +++ src/ui/widget/page-sizer.cpp (working copy) @@ -345,23 +345,11 @@ _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 @@ 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));