summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShlomi Fish <shlomif@shlomifish.org>2016-10-02 12:26:27 +0000
committerShlomi Fish <shlomif@shlomifish.org>2016-10-02 12:26:27 +0000
commit086347db66cff034f3e1fdce59a89156c49b5b95 (patch)
tree7626f05c7843030de11dc2c9d93612707774326d /src
parentMerged. (diff)
downloadinkscape-086347db66cff034f3e1fdce59a89156c49b5b95.tar.gz
inkscape-086347db66cff034f3e1fdce59a89156c49b5b95.zip
Extract a function - is_query_style_updateable.
(bzr r15100.1.29)
Diffstat (limited to 'src')
-rw-r--r--src/widgets/stroke-style.cpp11
-rw-r--r--src/widgets/style-utils.h39
-rw-r--r--src/widgets/text-toolbar.cpp3
3 files changed, 46 insertions, 7 deletions
diff --git a/src/widgets/stroke-style.cpp b/src/widgets/stroke-style.cpp
index 47131dec1..81a8e8115 100644
--- a/src/widgets/stroke-style.cpp
+++ b/src/widgets/stroke-style.cpp
@@ -22,6 +22,7 @@
#include "svg/svg-color.h"
#include "ui/widget/unit-menu.h"
#include "desktop-widget.h"
+#include "widgets/style-utils.h"
using Inkscape::DocumentUndo;
using Inkscape::Util::unit_table;
@@ -912,22 +913,20 @@ StrokeStyle::updateLine()
if (result_ml != QUERY_STYLE_NOTHING)
(*miterLimitAdj)->set_value(query.stroke_miterlimit.value); // TODO: reflect averagedness?
- if (result_join != QUERY_STYLE_MULTIPLE_DIFFERENT &&
- result_join != QUERY_STYLE_NOTHING ) {
+ using Inkscape::is_query_style_updateable;
+ if (! is_query_style_updateable(result_join)) {
setJoinType(query.stroke_linejoin.value);
} else {
setJoinButtons(NULL);
}
- if (result_cap != QUERY_STYLE_MULTIPLE_DIFFERENT &&
- result_cap != QUERY_STYLE_NOTHING ) {
+ if (! is_query_style_updateable(result_cap)) {
setCapType (query.stroke_linecap.value);
} else {
setCapButtons(NULL);
}
- if (result_order != QUERY_STYLE_MULTIPLE_DIFFERENT &&
- result_order != QUERY_STYLE_NOTHING ) {
+ if (! is_query_style_updateable(result_order)) {
setPaintOrder (query.paint_order.value);
} else {
setPaintOrder (NULL);
diff --git a/src/widgets/style-utils.h b/src/widgets/style-utils.h
new file mode 100644
index 000000000..5610519fd
--- /dev/null
+++ b/src/widgets/style-utils.h
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * Common utility functions for manipulating style.
+ */
+/* Author:
+ * Shlomi Fish <shlomif@cpan.org>
+ *
+ * Copyright (C) 2016 Shlomi Fish
+ *
+ * Released under the Expat licence.
+ */
+
+#ifndef SEEN_DIALOGS_STYLE_UTILS_H
+#define SEEN_DIALOGS_STYLE_UTILS_H
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "desktop-style.h"
+
+namespace Inkscape {
+ inline bool is_query_style_updateable(const int style) {
+ return (style == QUERY_STYLE_MULTIPLE_DIFFERENT || style == QUERY_STYLE_NOTHING);
+ }
+} // namespace Inkscape
+
+#endif // SEEN_DIALOGS_STYLE_UTILS_H
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/widgets/text-toolbar.cpp b/src/widgets/text-toolbar.cpp
index 4b22c8d7e..610d743a0 100644
--- a/src/widgets/text-toolbar.cpp
+++ b/src/widgets/text-toolbar.cpp
@@ -41,6 +41,7 @@
#include "ink-radio-action.h"
#include "ink-toggle-action.h"
#include "widgets/ink-comboboxentry-action.h"
+#include "widgets/style-utils.h"
#include "inkscape.h"
#include "selection-chemistry.h"
#include "sp-flowtext.h"
@@ -304,7 +305,7 @@ static void sp_text_script_changed( InkToggleAction* act, GObject *tbl )
bool setSuper = false;
bool setSub = false;
- if(result_baseline == QUERY_STYLE_NOTHING || result_baseline == QUERY_STYLE_MULTIPLE_DIFFERENT ) {
+ if (Inkscape::is_query_style_updateable(result_baseline)) {
// If not set or mixed, turn on superscript or subscript
if( prop == 0 ) {
setSuper = true;