summaryrefslogtreecommitdiffstats
path: root/src/live_effects/parameter/text.cpp
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2017-10-01 11:12:42 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2017-10-01 11:12:42 +0000
commit6d91668aef6c3bcf4bfe247de1f58ba4b11cf367 (patch)
tree9e1432bb79746ce27036b1c08b5e404858d0cad2 /src/live_effects/parameter/text.cpp
parentCI/AppVeyor: Re-introduce full system upgrade (diff)
downloadinkscape-6d91668aef6c3bcf4bfe247de1f58ba4b11cf367.tar.gz
inkscape-6d91668aef6c3bcf4bfe247de1f58ba4b11cf367.zip
Add button to apply on path parameter as suggest Maren in bug #1715433#23
Diffstat (limited to 'src/live_effects/parameter/text.cpp')
-rw-r--r--src/live_effects/parameter/text.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/live_effects/parameter/text.cpp b/src/live_effects/parameter/text.cpp
index 3f41bfeed..7e56b2c75 100644
--- a/src/live_effects/parameter/text.cpp
+++ b/src/live_effects/parameter/text.cpp
@@ -9,7 +9,7 @@
*/
#include "ui/widget/registered-widget.h"
-#include <glibmm/i18n.h>
+#include <gtkmm/alignment.h>
#include "live_effects/parameter/text.h"
#include "live_effects/effect.h"
@@ -18,9 +18,10 @@
#include "inkscape.h"
#include "verbs.h"
#include "display/canvas-text.h"
-
#include <2geom/sbasis-geometric.h>
+#include <glibmm/i18n.h>
+
namespace Inkscape {
namespace LivePathEffect {
@@ -124,6 +125,14 @@ TextParam::param_getDefaultSVGValue() const
return str;
}
+void
+TextParam::setTextParam(Inkscape::UI::Widget::RegisteredText *rsu)
+{
+ Glib::ustring str(rsu->getText());
+ param_setValue(str);
+ write_to_SVG();
+}
+
Gtk::Widget *
TextParam::param_newWidget()
{
@@ -131,9 +140,16 @@ TextParam::param_newWidget()
param_label, param_tooltip, param_key, *param_wr, param_effect->getRepr(), param_effect->getSPDoc()));
rsu->setText(value);
rsu->setProgrammatically = false;
-
rsu->set_undo_parameters(SP_VERB_DIALOG_LIVE_PATH_EFFECT, _("Change text parameter"));
- return dynamic_cast<Gtk::Widget *> (rsu);
+ Gtk::Box *text_container = Gtk::manage(new Gtk::Box());
+ Gtk::Button *set = Gtk::manage(new Gtk::Button(Glib::ustring("✔")));
+ set->signal_clicked()
+ .connect(sigc::bind<Inkscape::UI::Widget::RegisteredText *>(sigc::mem_fun(*this, &TextParam::setTextParam),rsu));
+ text_container->pack_start(*rsu, false, false, 2);
+ text_container->pack_start(*set, false, false, 2);
+ Gtk::Widget *return_widg = dynamic_cast<Gtk::Widget *> (text_container);
+ return_widg->set_halign(Gtk::ALIGN_END);
+ return return_widg;
}
void