forked from AuroraMiddleware/gtk
Merge branch 'overlay-scrolling-for-3' into 'gtk-3-24'
Overlay scrolling for 3 See merge request GNOME/gtk!895
This commit is contained in:
commit
dd25499f1e
@ -502,6 +502,7 @@ static TranslationEntry translations[] = {
|
||||
{ FALSE, "org.gnome.desktop.interface", "gtk-im-module", "gtk-im-module", G_TYPE_STRING, { .s = "simple" } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "enable-animations", "gtk-enable-animations", G_TYPE_BOOLEAN, { .b = TRUE } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "gtk-enable-primary-paste", "gtk-enable-primary-paste", G_TYPE_BOOLEAN, { .b = TRUE } },
|
||||
{ FALSE, "org.gnome.desktop.interface", "overlay-scrolling", "gtk-overlay-scrolling", G_TYPE_BOOLEAN, { .b = TRUE } },
|
||||
{ FALSE, "org.gnome.settings-daemon.peripherals.mouse", "double-click", "gtk-double-click-time", G_TYPE_INT, { .i = 400 } },
|
||||
{ FALSE, "org.gnome.settings-daemon.peripherals.mouse", "drag-threshold", "gtk-dnd-drag-threshold", G_TYPE_INT, {.i = 8 } },
|
||||
{ FALSE, "org.gnome.desktop.sound", "theme-name", "gtk-sound-theme-name", G_TYPE_STRING, { .s = "freedesktop" } },
|
||||
@ -521,7 +522,6 @@ static TranslationEntry translations[] = {
|
||||
{ FALSE, "org.gnome.desktop.wm.preferences", "action-right-click-titlebar", "gtk-titlebar-right-click", G_TYPE_STRING, { .s = "menu" } },
|
||||
{ FALSE, "org.gnome.desktop.a11y", "always-show-text-caret", "gtk-keynav-use-caret", G_TYPE_BOOLEAN, { .b = FALSE } },
|
||||
{ FALSE, "org.gnome.fontconfig", "serial", "gtk-fontconfig-timestamp", G_TYPE_INT, { .i = 0 } }
|
||||
|
||||
};
|
||||
|
||||
static TranslationEntry *
|
||||
|
@ -69,6 +69,7 @@ static const struct {
|
||||
{"Gtk/RecentFilesMaxAge", "gtk-recent-files-max-age"},
|
||||
{"Gtk/RecentFilesEnabled", "gtk-recent-files-enabled"},
|
||||
{"Gtk/KeynavUseCaret", "gtk-keynav-use-caret"},
|
||||
{"Gtk/OverlayScrolling", "gtk-overlay-scrolling"},
|
||||
|
||||
/* These are here in order to be recognized, but are not sent to
|
||||
gtk as they are handled internally by gdk: */
|
||||
|
@ -704,6 +704,9 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
|
||||
* is present. Otherwise, they are overlayed on top of the content,
|
||||
* as narrow indicators.
|
||||
*
|
||||
* Note that overlay scrolling can also be globally disabled, with
|
||||
* the #GtkSettings::gtk-overlay-scrolling setting.
|
||||
*
|
||||
* Since: 3.16
|
||||
*/
|
||||
properties[PROP_OVERLAY_SCROLLING] =
|
||||
@ -4163,6 +4166,7 @@ gtk_scrolled_window_map (GtkWidget *widget)
|
||||
GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->map (widget);
|
||||
|
||||
gtk_scrolled_window_update_animating (scrolled_window);
|
||||
gtk_scrolled_window_update_use_indicators (scrolled_window);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -4439,8 +4443,12 @@ gtk_scrolled_window_update_use_indicators (GtkScrolledWindow *scrolled_window)
|
||||
{
|
||||
GtkScrolledWindowPrivate *priv = scrolled_window->priv;
|
||||
gboolean use_indicators;
|
||||
GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (scrolled_window));
|
||||
gboolean overlay_scrolling;
|
||||
|
||||
use_indicators = priv->overlay_scrolling;
|
||||
g_object_get (settings, "gtk-overlay-scrolling", &overlay_scrolling, NULL);
|
||||
|
||||
use_indicators = overlay_scrolling && priv->overlay_scrolling;
|
||||
|
||||
if (g_strcmp0 (g_getenv ("GTK_OVERLAY_SCROLLING"), "0") == 0)
|
||||
use_indicators = FALSE;
|
||||
|
@ -224,7 +224,8 @@ enum {
|
||||
PROP_ENABLE_PRIMARY_PASTE,
|
||||
PROP_RECENT_FILES_ENABLED,
|
||||
PROP_LONG_PRESS_TIME,
|
||||
PROP_KEYNAV_USE_CARET
|
||||
PROP_KEYNAV_USE_CARET,
|
||||
PROP_OVERLAY_SCROLLING
|
||||
};
|
||||
|
||||
/* --- prototypes --- */
|
||||
@ -1767,6 +1768,24 @@ gtk_settings_class_init (GtkSettingsClass *class)
|
||||
GTK_PARAM_READWRITE),
|
||||
NULL);
|
||||
g_assert (result == PROP_KEYNAV_USE_CARET);
|
||||
|
||||
/**
|
||||
* GtkSettings:gtk-overlay-scrolling:
|
||||
*
|
||||
* Whether scrolled windows may use overlayed scrolling indicators.
|
||||
* If this is set to %FALSE, scrolled windows will have permanent
|
||||
* scrollbars.
|
||||
*
|
||||
* Since: 3.24.9
|
||||
*/
|
||||
result = settings_install_property_parser (class,
|
||||
g_param_spec_boolean ("gtk-overlay-scrolling",
|
||||
P_("Whether to use overlay scrollbars"),
|
||||
P_("Whether to use overlay scrollbars"),
|
||||
TRUE,
|
||||
GTK_PARAM_READWRITE),
|
||||
NULL);
|
||||
g_assert (result == PROP_OVERLAY_SCROLLING);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user