summaryrefslogtreecommitdiffstats
path: root/src/widgets/spray-toolbar.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2015-10-30 16:45:39 +0000
committerjabiertxof <jabier.arraiza@marker.es>2015-10-30 16:45:39 +0000
commit0798ff4618d8e961cab364fdf827993c18aa69ac (patch)
tree71bd1b711b54ed190c365ab7ff88d288dd55e765 /src/widgets/spray-toolbar.cpp
parentSome fixes to new pressure options (diff)
downloadinkscape-0798ff4618d8e961cab364fdf827993c18aa69ac.tar.gz
inkscape-0798ff4618d8e961cab364fdf827993c18aa69ac.zip
Open trace dialog on click on pick toogle
(bzr r14422.1.30)
Diffstat (limited to 'src/widgets/spray-toolbar.cpp')
-rw-r--r--src/widgets/spray-toolbar.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/widgets/spray-toolbar.cpp b/src/widgets/spray-toolbar.cpp
index bc994d1b7..1e7d42378 100644
--- a/src/widgets/spray-toolbar.cpp
+++ b/src/widgets/spray-toolbar.cpp
@@ -42,6 +42,7 @@
#include "toolbox.h"
#include "ui/dialog/clonetiler.h"
#include "ui/dialog/dialog-manager.h"
+#include "ui/dialog/panel-dialog.h"
#include "ui/icon-names.h"
#include <glibmm/i18n.h>
@@ -81,6 +82,20 @@ static void sp_stb_sensitivize( GObject *tbl )
}
}
+Inkscape::UI::Dialog::CloneTiler *get_clone_tiler_panel(SPDesktop *desktop)
+{
+ if (Inkscape::UI::Dialog::PanelDialogBase *panel_dialog =
+ dynamic_cast<Inkscape::UI::Dialog::PanelDialogBase *>(desktop->_dlg_mgr->getDialog("CloneTiler"))) {
+ try {
+ Inkscape::UI::Dialog::CloneTiler &clone_tiler =
+ dynamic_cast<Inkscape::UI::Dialog::CloneTiler &>(panel_dialog->getPanel());
+ return &clone_tiler;
+ } catch (std::exception &e) { }
+ }
+
+ return 0;
+}
+
static void sp_spray_width_value_changed( GtkAdjustment *adj, GObject * /*tbl*/ )
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -182,10 +197,11 @@ static void sp_toggle_picker( GtkToggleAction* act, gpointer data )
GtkToggleAction *visible = GTK_TOGGLE_ACTION( g_object_get_data(tbl, "visible") );
gtk_toggle_action_set_active(visible, false);
prefs->setBool("/dialogs/clonetiler/dotrace", true);
- prefs->setBool("/dialogs/clonetiler/opentrace", true);
SPDesktop *dt = SP_ACTIVE_DESKTOP;
- dt->_dlg_mgr->showDialog("CloneTiler");
- prefs->setBool("/dialogs/clonetiler/opentrace", false);
+ if (Inkscape::UI::Dialog::CloneTiler *ct = get_clone_tiler_panel(dt)){
+ dt->_dlg_mgr->showDialog("CloneTiler");
+ ct->show_page_trace();
+ }
}
}