From 25e5f4d5c57be30b7947a16867b5a6044a892f52 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Mon, 4 Dec 2017 18:24:16 +0100 Subject: Adding fix to sliders and spin buttons on LPE --- src/ui/widget/registered-widget.cpp | 24 ++++++++++-------------- src/ui/widget/registered-widget.h | 3 +-- src/ui/widget/scalar.cpp | 6 +++++- src/ui/widget/scalar.h | 6 ++++-- 4 files changed, 20 insertions(+), 19 deletions(-) (limited to 'src/ui/widget') 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 #endif - #include "scalar.h" #include "spinbutton.h" #include @@ -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 Scalar::signal_value_changed() return static_cast(_widget)->signal_value_changed(); } +Glib::SignalProxy Scalar::signal_button_release_event() +{ + return static_cast(_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 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. -- cgit v1.2.3 From 63d4d37a384ea0ea7991a69325c164d082db11dc Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Mon, 4 Dec 2017 20:09:34 +0100 Subject: Minor fixes to remove WIP --- src/ui/widget/registered-widget.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/registered-widget.cpp b/src/ui/widget/registered-widget.cpp index 5dfc70cc3..a3b87f89b 100644 --- a/src/ui/widget/registered-widget.cpp +++ b/src/ui/widget/registered-widget.cpp @@ -298,9 +298,9 @@ RegisteredScalar::on_value_changed() _wr->setUpdating (true); Inkscape::SVGOStringStream os; - //Force exact 0 if decimals over to 10 - double val = getValue() < 1E-10 && getValue() > -1E-10?0.0:getValue(); - os << val << ';'; + //Force exact 0 if decimals over to 6 + double val = getValue() < 1e-6 && getValue() > -1e-6?0.0:getValue(); + os << val; //TODO: Test is ok remove this sensitives //also removed in registed text and in registered random //set_sensitive(false); @@ -784,8 +784,8 @@ RegisteredRandom::on_value_changed() _wr->setUpdating (true); Inkscape::SVGOStringStream os; - //Force exact 0 if decimals over to 10 - double val = getValue() < 1E-10 && getValue() > -1E-10?0.0:getValue(); + //Force exact 0 if decimals over to 6 + double val = getValue() < 1e-6 && getValue() > -1e-6?0.0:getValue(); os << val << ';' << getStartSeed(); write_to_xml(os.str().c_str()); _wr->setUpdating (false); -- cgit v1.2.3 From ad56baec4315d4059d3a99a796f60e3df9659964 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Mon, 4 Dec 2017 23:38:29 +0100 Subject: Working on compiling on linux problem --- src/ui/widget/registered-widget.h | 2 +- src/ui/widget/scalar.cpp | 3 ++- src/ui/widget/scalar.h | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/registered-widget.h b/src/ui/widget/registered-widget.h index 26f93ba7f..78de055de 100644 --- a/src/ui/widget/registered-widget.h +++ b/src/ui/widget/registered-widget.h @@ -12,11 +12,11 @@ #ifndef INKSCAPE_UI_WIDGET_REGISTERED_WIDGET__H_ #define INKSCAPE_UI_WIDGET_REGISTERED_WIDGET__H_ -#include "ui/widget/scalar.h" #include <2geom/affine.h> #include "xml/node.h" #include "registry.h" +#include "ui/widget/scalar.h" #include "ui/widget/scalar-unit.h" #include "ui/widget/point.h" #include "ui/widget/text.h" diff --git a/src/ui/widget/scalar.cpp b/src/ui/widget/scalar.cpp index 4d0edeac3..a0f1354a3 100644 --- a/src/ui/widget/scalar.cpp +++ b/src/ui/widget/scalar.cpp @@ -14,6 +14,7 @@ # include #endif + #include "scalar.h" #include "spinbutton.h" #include @@ -29,7 +30,6 @@ 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, @@ -154,6 +154,7 @@ Glib::SignalProxy Scalar::signal_button_release_event() return static_cast(_widget)->signal_button_release_event(); } + } // namespace Widget } // namespace UI } // namespace Inkscape diff --git a/src/ui/widget/scalar.h b/src/ui/widget/scalar.h index 80acaba0e..80de5166d 100644 --- a/src/ui/widget/scalar.h +++ b/src/ui/widget/scalar.h @@ -78,6 +78,7 @@ public: Glib::ustring const &suffix = "", Glib::ustring const &icon = "", bool mnemonic = true); + /** * Fetches the precision of the spin buton. */ @@ -150,10 +151,12 @@ public: * Signal raised when the spin button's value changes. */ Glib::SignalProxy0 signal_value_changed(); + /** * Signal raised when the spin button's pressed. */ - Glib::SignalProxy< bool, GdkEventButton* > signal_button_release_event(); + Glib::SignalProxy 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. -- cgit v1.2.3 From 3ddb38fe604a66c89bcfde23ac61eafdc661d95d Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Tue, 5 Dec 2017 00:15:35 +0100 Subject: Add sugested header by Eduard Braun to allow compiling --- src/ui/widget/scalar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/scalar.cpp b/src/ui/widget/scalar.cpp index a0f1354a3..1aab9550e 100644 --- a/src/ui/widget/scalar.cpp +++ b/src/ui/widget/scalar.cpp @@ -14,7 +14,7 @@ # include #endif - +#include #include "scalar.h" #include "spinbutton.h" #include -- cgit v1.2.3 From 318ee3271bcfac6bceec28ac432e1de1b4736f0e Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Tue, 5 Dec 2017 08:54:12 +0100 Subject: Working on compiling on linux problem. Another attemp to Eduard fix --- src/ui/widget/scalar.cpp | 1 - src/ui/widget/scalar.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/scalar.cpp b/src/ui/widget/scalar.cpp index 1aab9550e..c34121b4f 100644 --- a/src/ui/widget/scalar.cpp +++ b/src/ui/widget/scalar.cpp @@ -14,7 +14,6 @@ # include #endif -#include #include "scalar.h" #include "spinbutton.h" #include diff --git a/src/ui/widget/scalar.h b/src/ui/widget/scalar.h index 80de5166d..c35cf4f13 100644 --- a/src/ui/widget/scalar.h +++ b/src/ui/widget/scalar.h @@ -12,6 +12,7 @@ #ifndef INKSCAPE_UI_WIDGET_SCALAR_H #define INKSCAPE_UI_WIDGET_SCALAR_H +#include #include "labelled.h" namespace Inkscape { -- cgit v1.2.3 From cfb8746827325cca0ad2fbce0a35f20de6b2d680 Mon Sep 17 00:00:00 2001 From: Jabiertxo Arraiza Cenoz Date: Tue, 5 Dec 2017 11:59:34 +0100 Subject: Attemp to fix compile bug --- src/ui/widget/scalar.cpp | 2 +- src/ui/widget/scalar.h | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/scalar.cpp b/src/ui/widget/scalar.cpp index c34121b4f..937bea697 100644 --- a/src/ui/widget/scalar.cpp +++ b/src/ui/widget/scalar.cpp @@ -148,7 +148,7 @@ Glib::SignalProxy0 Scalar::signal_value_changed() return static_cast(_widget)->signal_value_changed(); } -Glib::SignalProxy Scalar::signal_button_release_event() +Glib::SignalProxy1 Scalar::signal_button_release_event() { return static_cast(_widget)->signal_button_release_event(); } diff --git a/src/ui/widget/scalar.h b/src/ui/widget/scalar.h index c35cf4f13..b2c923953 100644 --- a/src/ui/widget/scalar.h +++ b/src/ui/widget/scalar.h @@ -12,7 +12,6 @@ #ifndef INKSCAPE_UI_WIDGET_SCALAR_H #define INKSCAPE_UI_WIDGET_SCALAR_H -#include #include "labelled.h" namespace Inkscape { @@ -156,7 +155,7 @@ public: /** * Signal raised when the spin button's pressed. */ - Glib::SignalProxy signal_button_release_event(); + Glib::SignalProxy1 signal_button_release_event(); /** * true if the value was set by setValue, not changed by the user; -- cgit v1.2.3 From da4e818f765c88916763e17d2180f9df22bf5038 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Wed, 6 Dec 2017 00:15:06 +0100 Subject: Fix bug:#1713491: opening the 'Path Effects' dialog causes document to be marked as 'changed', even though nothing was changed --- src/ui/widget/registered-widget.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/registered-widget.h b/src/ui/widget/registered-widget.h index 78de055de..765fa77b6 100644 --- a/src/ui/widget/registered-widget.h +++ b/src/ui/widget/registered-widget.h @@ -108,12 +108,14 @@ protected: bool saved = DocumentUndo::getUndoSensitive(local_doc); DocumentUndo::setUndoSensitive(local_doc, false); + const char * svgstr_old = local_repr->attribute(_key.c_str()); if (!write_undo) { local_repr->setAttribute(_key.c_str(), svgstr); } DocumentUndo::setUndoSensitive(local_doc, saved); - - local_doc->setModifiedSinceSave(); + if (svgstr_old && svgstr && strcmp(svgstr_old,svgstr)) { + local_doc->setModifiedSinceSave(); + } if (write_undo) { local_repr->setAttribute(_key.c_str(), svgstr); -- cgit v1.2.3