diff options
| author | Aaron Spike <aaron@ekips.org> | 2006-04-19 03:51:07 +0000 |
|---|---|---|
| committer | acspike <acspike@users.sourceforge.net> | 2006-04-19 03:51:07 +0000 |
| commit | f68dc06235a7c91fc2e78925cc1b886de8f5e826 (patch) | |
| tree | 0b6d86ae76e30447d52f98d96bd311cb51c83a39 /src/ui/dialog/document-properties.cpp | |
| parent | Crash fix (occured if creating layer in layerless document) (diff) | |
| download | inkscape-f68dc06235a7c91fc2e78925cc1b886de8f5e826.tar.gz inkscape-f68dc06235a7c91fc2e78925cc1b886de8f5e826.zip | |
Adding fit canvas verbs
a few fixes in verbs.cpp
and a new button
(bzr r539)
Diffstat (limited to 'src/ui/dialog/document-properties.cpp')
| -rw-r--r-- | src/ui/dialog/document-properties.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 9951f5956..4d7b8abc7 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -32,6 +32,7 @@ #include "desktop-handles.h" #include "desktop.h" #include "sp-namedview.h" +#include "helper/action.h" #include "document-properties.h" @@ -55,6 +56,8 @@ static void on_doc_replaced (SPDesktop* dt, SPDocument* doc); static void on_activate_desktop (Inkscape::Application *, SPDesktop* dt, void*); static void on_deactivate_desktop (Inkscape::Application *, SPDesktop* dt, void*); +static void fire_fit_canvas_to_selection_or_drawing(); + static Inkscape::XML::NodeEventVector const _repr_events = { NULL, /* child_added */ NULL, /* child_removed */ @@ -190,6 +193,8 @@ DocumentProperties::build_page() "bordercolor", "borderopacity", _wr); _rcb_shad.init (_("_Show border shadow"), _("If set, page border shows a shadow on its right and lower side"), "inkscape:showpageshadow", _wr, false); _rum_deflt.init (_("Default _units:"), "inkscape:document-units", _wr); + Gtk::Button* fit_canv = manage(new Gtk::Button(_("Fit canvas to current selection"))); + fit_canv->signal_clicked().connect(sigc::ptr_fun(fire_fit_canvas_to_selection_or_drawing)); Gtk::Label* label_gen = manage (new Gtk::Label); label_gen->set_markup (_("<b>General</b>")); Gtk::Label* label_bor = manage (new Gtk::Label); @@ -203,10 +208,11 @@ DocumentProperties::build_page() label_gen, 0, _rum_deflt._label, _rum_deflt._sel, _rcp_bg._label, _rcp_bg._cp, - 0, 0, + 0, 0, label_for, 0, 0, &_page_sizer, - 0, 0, + 0, fit_canv, + 0, 0, label_bor, 0, 0, _rcb_canb._button, 0, _rcb_bord._button, @@ -490,6 +496,19 @@ on_doc_replaced (SPDesktop* dt, SPDocument* doc) _instance->update(); } +static void +fire_fit_canvas_to_selection_or_drawing() { + SPDesktop *dt = SP_ACTIVE_DESKTOP; + if (!dt) return; + Verb *verb = Verb::get( SP_VERB_FIT_CANVAS_TO_SELECTION_OR_DRAWING ); + if (verb) { + SPAction *action = verb->get_action(dt); + if (action) { + sp_action_perform(action, NULL); + } + } +} + } // namespace Dialog } // namespace UI |
