diff --git a/gui/brusheditor.glade b/gui/brusheditor.glade
index 23cf0bd1e..5d0b3a44c 100644
--- a/gui/brusheditor.glade
+++ b/gui/brusheditor.glade
@@ -432,7 +432,7 @@
-
-
+
200
True
True
diff --git a/gui/brusheditor.py b/gui/brusheditor.py
index 9cff00ee1..cc502d01d 100644
--- a/gui/brusheditor.py
+++ b/gui/brusheditor.py
@@ -33,6 +33,10 @@
from .builderhacks import add_objects_from_template_string
from .windowing import SubWindow
+# The widget class needs to be in scope before it is
+# instantiated via the loading of the glade file.
+from .sliderwidget import InputSlider # noqa
+
logger = logging.getLogger(__name__)
diff --git a/gui/fill.py b/gui/fill.py
index f9e8b664d..3b459cfeb 100644
--- a/gui/fill.py
+++ b/gui/fill.py
@@ -26,6 +26,7 @@
from gui.blendmodehandler import BlendModes
import gui.layers
import gui.overlays
+from gui.sliderwidget import InputSlider
import lib.eotf
import lib.floodfill
@@ -521,9 +522,8 @@ def __init__(self):
page_size=0)
adj.connect("value-changed", self._tolerance_changed_cb)
self._tolerance_adj = adj
- scale = Gtk.Scale()
+ scale = InputSlider(adj)
scale.set_hexpand(True)
- scale.set_adjustment(adj)
scale.set_draw_value(False)
self.attach(scale, 1, row, 1, 1)
@@ -712,7 +712,7 @@ def sep_func(model, it):
page_size=0)
adj.connect("value-changed", self._opacity_changed_cb)
self._opacity_adj = adj
- scale = Gtk.Scale()
+ scale = InputSlider()
scale.set_hexpand(True)
scale.set_adjustment(adj)
scale.set_draw_value(False)
diff --git a/gui/freehand.py b/gui/freehand.py
index 014cfdcf8..d912a05f7 100644
--- a/gui/freehand.py
+++ b/gui/freehand.py
@@ -26,6 +26,7 @@
from lib.helpers import clamp
import gui.mode
from .drawutils import spline_4p
+from .sliderwidget import InputSlider
logger = logging.getLogger(__name__)
@@ -585,7 +586,7 @@ def init_specialized_widgets(self, row):
label.set_hexpand(False)
self.adjustable_settings.add(cname)
adj = self.app.brush_adjustment[cname]
- scale = Gtk.Scale.new(Gtk.Orientation.HORIZONTAL, adj)
+ scale = InputSlider(adj)
scale.set_draw_value(False)
scale.set_hexpand(True)
self.attach(label, 0, row, 1, 1)
@@ -603,7 +604,7 @@ def init_specialized_widgets(self, row):
step_increment=0.01, page_increment=0.1)
self.app.fake_adjustment['fakepressure'] = adj
adj.connect("value-changed", changed_cb)
- scale = Gtk.Scale.new(Gtk.Orientation.HORIZONTAL, adj)
+ scale = InputSlider(adj)
scale.set_draw_value(False)
scale.set_hexpand(True)
self.attach(label, 0, row, 1, 1)
@@ -621,7 +622,7 @@ def init_specialized_widgets(self, row):
step_increment=0.0625, page_increment=0.25)
self.app.fake_adjustment['fakerotation'] = adj
adj.connect("value-changed", changed_cb)
- scale = Gtk.Scale.new(Gtk.Orientation.HORIZONTAL, adj)
+ scale = InputSlider(adj)
scale.set_draw_value(False)
scale.set_hexpand(True)
self.attach(label, 0, row, 1, 1)
diff --git a/gui/inktool.glade b/gui/inktool.glade
index ca04da7f9..df2f4ef00 100644
--- a/gui/inktool.glade
+++ b/gui/inktool.glade
@@ -2,6 +2,7 @@
+
2
0.10000000000000001
@@ -55,7 +56,7 @@
-
+
150
True
True
@@ -116,7 +117,7 @@ Negative values mean leftwards tilts.
-
+
150
True
True
@@ -137,7 +138,7 @@ Negative values mean leftwards tilts.
-
+
150
True
True
@@ -178,7 +179,7 @@ Negative values mean leftwards tilts.
-
+
150
True
True
diff --git a/gui/mode.py b/gui/mode.py
index ddc46f6f9..9451e174a 100644
--- a/gui/mode.py
+++ b/gui/mode.py
@@ -15,6 +15,8 @@
import math
from gettext import gettext as _
+from gui.sliderwidget import InputSlider
+
from lib.gibindings import Gtk
from lib.gibindings import Gdk
from lib.gibindings import GLib
@@ -611,7 +613,7 @@ def init_common_widgets(self, row):
label.set_hexpand(False)
self.adjustable_settings.add(cname)
adj = self.app.brush_adjustment[cname]
- scale = Gtk.Scale.new(Gtk.Orientation.HORIZONTAL, adj)
+ scale = InputSlider(adj)
scale.set_draw_value(False)
scale.set_hexpand(True)
self.attach(label, 0, row, 1, 1)
diff --git a/gui/symmetry.py b/gui/symmetry.py
index ee40c844f..d7953e69a 100644
--- a/gui/symmetry.py
+++ b/gui/symmetry.py
@@ -22,6 +22,7 @@
import gui.windowing
import gui.tileddrawwidget
import lib.alg
+from gui.sliderwidget import InputSlider
from lib.helpers import clamp
import lib.mypaintlib
from lib.mypaintlib import (
@@ -506,18 +507,15 @@ def _init_ui(self):
label.set_hexpand(False)
label.set_halign(Gtk.Align.START)
grid.attach(label, 0, row, 1, 1)
- scale = Gtk.Scale.new_with_range(
- orientation = Gtk.Orientation.HORIZONTAL,
- min = 0,
- max = 1,
- step = 0.1,
- )
+ scale = InputSlider()
+ scale.set_range(0, 1)
+ scale.set_round_digits(1)
scale.set_draw_value(False)
line_alpha = self.app.preferences.get(_ALPHA_PREFS_KEY, _DEFAULT_ALPHA)
scale.set_value(line_alpha)
scale.set_hexpand(True)
scale.set_vexpand(False)
- scale.connect("value-changed", self._scale_value_changed_cb)
+ scale.scale.connect("value-changed", self._scale_value_changed_cb)
grid.attach(scale, 1, row, 1, 1)
row += 1
@@ -587,9 +585,7 @@ def _init_ui(self):
self._angle_label = label
self._update_angle_label()
grid.attach(label, 0, row, 1, 1)
- scale = Gtk.Scale(
- orientation=Gtk.Orientation.HORIZONTAL,
- adjustment=self._axis_angle)
+ scale = InputSlider(self._axis_angle)
scale.set_draw_value(False)
scale.set_hexpand(True)
scale.set_vexpand(False)