gtk3theme: Honor gtk-cursor-blink for whether blinking is on

gtk-cursor-blink-time is in an interval 100..2500ms, GTK uses a
dedicated boolean to determine whether blinking is on in the first place.

Pick-to: 6.9 6.8
Change-Id: I8a5dff70b6b3fbeeab599cf50402532052afe8b7
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
This commit is contained in:
Kai Uwe Broulik 2025-04-06 11:42:09 +02:00
parent 124f05bd10
commit e2035be13d

View File

@ -88,6 +88,7 @@ QGtk3Theme::QGtk3Theme()
};
GtkSettings *settings = gtk_settings_get_default();
SETTING_CONNECT("gtk-cursor-blink");
SETTING_CONNECT("gtk-cursor-blink-time");
SETTING_CONNECT("gtk-double-click-distance");
SETTING_CONNECT("gtk-double-click-time");
@ -119,7 +120,10 @@ QVariant QGtk3Theme::themeHint(QPlatformTheme::ThemeHint hint) const
{
switch (hint) {
case QPlatformTheme::CursorFlashTime:
return QVariant(gtkSetting<gint>("gtk-cursor-blink-time"));
if (gtkSetting<gboolean>("gtk-cursor-blink"))
return QVariant(gtkSetting<gint>("gtk-cursor-blink-time"));
else
return 0;
case QPlatformTheme::MouseDoubleClickDistance:
return QVariant(gtkSetting<gint>("gtk-double-click-distance"));
case QPlatformTheme::MouseDoubleClickInterval: