diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-12-04 17:24:16 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2017-12-04 17:24:16 +0000 |
| commit | 25e5f4d5c57be30b7947a16867b5a6044a892f52 (patch) | |
| tree | 0af8a9bcd9207bc78cb0882721dfd3b79db1aefb /src/ui | |
| parent | Merge branch 'transupdate-master' of gitlab.com:Moini/inkscape (diff) | |
| download | inkscape-25e5f4d5c57be30b7947a16867b5a6044a892f52.tar.gz inkscape-25e5f4d5c57be30b7947a16867b5a6044a892f52.zip | |
Adding fix to sliders and spin buttons on LPE
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/widget/registered-widget.cpp | 24 | ||||
| -rw-r--r-- | src/ui/widget/registered-widget.h | 3 | ||||
| -rw-r--r-- | src/ui/widget/scalar.cpp | 6 | ||||
| -rw-r--r-- | src/ui/widget/scalar.h | 6 |
4 files changed, 20 insertions, 19 deletions
diff --git a/src/ui/widget/registered-widget.cpp b/src/ui/widget/registered-widget.cpp index a88413347..5dfc70cc3 100644 --- a/src/ui/widget/registered-widget.cpp +++ b/src/ui/widget/registered-widget.cpp @@ -279,7 +279,6 @@ RegisteredScalar::RegisteredScalar ( const Glib::ustring& label, const Glib::ust init_parent(key, wr, repr_in, doc_in); setProgrammatically = false; - setRange (-1e6, 1e6); setDigits (2); setIncrements(0.1, 1.0); @@ -299,12 +298,14 @@ RegisteredScalar::on_value_changed() _wr->setUpdating (true); Inkscape::SVGOStringStream os; - os << getValue(); - - set_sensitive(false); + //Force exact 0 if decimals over to 10 + double val = getValue() < 1E-10 && getValue() > -1E-10?0.0:getValue(); + os << val << ';'; + //TODO: Test is ok remove this sensitives + //also removed in registed text and in registered random + //set_sensitive(false); write_to_xml(os.str().c_str()); - set_sensitive(true); - + //set_sensitive(true); _wr->setUpdating (false); } @@ -342,11 +343,9 @@ RegisteredText::on_activate() } _wr->setUpdating (true); Glib::ustring str(getText()); - set_sensitive(false); Inkscape::SVGOStringStream os; os << str; write_to_xml(os.str().c_str()); - set_sensitive(true); _wr->setUpdating (false); } @@ -757,7 +756,6 @@ RegisteredRandom::RegisteredRandom ( const Glib::ustring& label, const Glib::ust init_parent(key, wr, repr_in, doc_in); setProgrammatically = false; - setRange (-1e6, 1e6); setDigits (2); setIncrements(0.1, 1.0); @@ -786,12 +784,10 @@ RegisteredRandom::on_value_changed() _wr->setUpdating (true); Inkscape::SVGOStringStream os; - os << getValue() << ';' << getStartSeed(); - - set_sensitive(false); + //Force exact 0 if decimals over to 10 + double val = getValue() < 1E-10 && getValue() > -1E-10?0.0:getValue(); + os << val << ';' << getStartSeed(); write_to_xml(os.str().c_str()); - set_sensitive(true); - _wr->setUpdating (false); } diff --git a/src/ui/widget/registered-widget.h b/src/ui/widget/registered-widget.h index f66d5cbf2..26f93ba7f 100644 --- a/src/ui/widget/registered-widget.h +++ b/src/ui/widget/registered-widget.h @@ -244,9 +244,8 @@ public: Registry& wr, Inkscape::XML::Node* repr_in = NULL, SPDocument *doc_in = NULL ); - protected: - sigc::connection _value_changed_connection; + sigc::connection _value_changed_connection; void on_value_changed(); }; diff --git a/src/ui/widget/scalar.cpp b/src/ui/widget/scalar.cpp index f8543a371..4d0edeac3 100644 --- a/src/ui/widget/scalar.cpp +++ b/src/ui/widget/scalar.cpp @@ -14,7 +14,6 @@ # include <config.h> #endif - #include "scalar.h" #include "spinbutton.h" #include <gtkmm/scale.h> @@ -30,6 +29,7 @@ Scalar::Scalar(Glib::ustring const &label, Glib::ustring const &tooltip, : Labelled(label, tooltip, new SpinButton(), suffix, icon, mnemonic), setProgrammatically(false) { + } Scalar::Scalar(Glib::ustring const &label, Glib::ustring const &tooltip, @@ -149,6 +149,10 @@ Glib::SignalProxy0<void> Scalar::signal_value_changed() return static_cast<SpinButton*>(_widget)->signal_value_changed(); } +Glib::SignalProxy<bool, GdkEventButton*> Scalar::signal_button_release_event() +{ + return static_cast<SpinButton*>(_widget)->signal_button_release_event(); +} } // namespace Widget } // namespace UI diff --git a/src/ui/widget/scalar.h b/src/ui/widget/scalar.h index f186f46ac..80acaba0e 100644 --- a/src/ui/widget/scalar.h +++ b/src/ui/widget/scalar.h @@ -78,7 +78,6 @@ public: Glib::ustring const &suffix = "", Glib::ustring const &icon = "", bool mnemonic = true); - /** * Fetches the precision of the spin buton. */ @@ -151,7 +150,10 @@ public: * Signal raised when the spin button's value changes. */ Glib::SignalProxy0<void> signal_value_changed(); - + /** + * Signal raised when the spin button's pressed. + */ + Glib::SignalProxy< bool, GdkEventButton* > signal_button_release_event(); /** * true if the value was set by setValue, not changed by the user; * if a callback checks it, it must reset it back to false. |
