summaryrefslogtreecommitdiffstats
path: root/src/selection-chemistry.cpp
diff options
context:
space:
mode:
authorJosh Andler <scislac@gmail.com>2010-01-08 05:43:33 +0000
committerJosh Andler <scislac@gmail.com>2010-01-08 05:43:33 +0000
commit59ac8467a1a2655b42c04e92d10d3283bab17205 (patch)
tree67be128130985bf6f2006eaa35a3f35b6e313047 /src/selection-chemistry.cpp
parentAdded UXManager. Cleaning up toolbox creation. (diff)
downloadinkscape-59ac8467a1a2655b42c04e92d10d3283bab17205.tar.gz
inkscape-59ac8467a1a2655b42c04e92d10d3283bab17205.zip
Patch by Alex Leone to add margins to resize page options in Document Properties
(bzr r8952)
Diffstat (limited to 'src/selection-chemistry.cpp')
-rw-r--r--src/selection-chemistry.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
index 31e899d8a..d97687267 100644
--- a/src/selection-chemistry.cpp
+++ b/src/selection-chemistry.cpp
@@ -2932,10 +2932,12 @@ void sp_selection_unset_mask(SPDesktop *desktop, bool apply_clip_path) {
}
/**
- * Returns true if an undoable change should be recorded.
+ * \param with_margins margins defined in the xml under <sodipodi:namedview>
+ * "fit-margin-..." attributes. See SPDocument::fitToRect.
+ * \return true if an undoable change should be recorded.
*/
bool
-fit_canvas_to_selection(SPDesktop *desktop)
+fit_canvas_to_selection(SPDesktop *desktop, bool with_margins)
{
g_return_val_if_fail(desktop != NULL, false);
SPDocument *doc = sp_desktop_document(desktop);
@@ -2949,7 +2951,7 @@ fit_canvas_to_selection(SPDesktop *desktop)
}
Geom::OptRect const bbox(desktop->selection->bounds());
if (bbox) {
- doc->fitToRect(*bbox);
+ doc->fitToRect(*bbox, with_margins);
return true;
} else {
return false;
@@ -2968,8 +2970,12 @@ verb_fit_canvas_to_selection(SPDesktop *const desktop)
}
}
+/**
+ * \param with_margins margins defined in the xml under <sodipodi:namedview>
+ * "fit-margin-..." attributes. See SPDocument::fitToRect.
+ */
bool
-fit_canvas_to_drawing(SPDocument *doc)
+fit_canvas_to_drawing(SPDocument *doc, bool with_margins)
{
g_return_val_if_fail(doc != NULL, false);
@@ -2977,7 +2983,7 @@ fit_canvas_to_drawing(SPDocument *doc)
SPItem const *const root = SP_ITEM(doc->root);
Geom::OptRect const bbox(root->getBounds(sp_item_i2d_affine(root)));
if (bbox) {
- doc->fitToRect(*bbox);
+ doc->fitToRect(*bbox, with_margins);
return true;
} else {
return false;
@@ -2993,6 +2999,11 @@ verb_fit_canvas_to_drawing(SPDesktop *desktop)
}
}
+/**
+ * Fits canvas to selection or drawing with margins from <sodipodi:namedview>
+ * "fit-margin-..." attributes. See SPDocument::fitToRect and
+ * ui/dialog/page-sizer.
+ */
void fit_canvas_to_selection_or_drawing(SPDesktop *desktop) {
g_return_if_fail(desktop != NULL);
SPDocument *doc = sp_desktop_document(desktop);
@@ -3001,8 +3012,8 @@ void fit_canvas_to_selection_or_drawing(SPDesktop *desktop) {
g_return_if_fail(desktop->selection != NULL);
bool const changed = ( desktop->selection->isEmpty()
- ? fit_canvas_to_drawing(doc)
- : fit_canvas_to_selection(desktop) );
+ ? fit_canvas_to_drawing(doc, true)
+ : fit_canvas_to_selection(desktop, true) );
if (changed) {
sp_document_done(sp_desktop_document(desktop), SP_VERB_FIT_CANVAS_TO_SELECTION_OR_DRAWING,
_("Fit Page to Selection or Drawing"));