Compare commits
3 Commits
focus-help
...
frame-cloc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49e93f6ee4 | ||
|
|
4ec2234537 | ||
|
|
5a3755b233 |
@@ -22,7 +22,6 @@ show_shortcuts (GtkWidget *window,
|
||||
gtk_window_set_transient_for (GTK_WINDOW (overlay), GTK_WINDOW (window));
|
||||
g_object_set (overlay, "view-name", view, NULL);
|
||||
g_object_unref (builder);
|
||||
gtk_window_present (GTK_WINDOW (overlay));
|
||||
}
|
||||
|
||||
G_MODULE_EXPORT void
|
||||
|
||||
@@ -584,6 +584,8 @@ gdk_frame_clock_paint_idle (void *data)
|
||||
{
|
||||
priv->requested &= ~GDK_FRAME_CLOCK_PHASE_LAYOUT;
|
||||
_gdk_frame_clock_emit_layout (clock);
|
||||
if (priv->requested & GDK_FRAME_CLOCK_PHASE_LAYOUT)
|
||||
g_print ("looping in layout %d\n", iter);
|
||||
}
|
||||
if (iter == 5)
|
||||
g_warning ("gdk-frame-clock: layout continuously requested, giving up after 4 tries");
|
||||
@@ -809,3 +811,12 @@ _gdk_frame_clock_idle_new (void)
|
||||
|
||||
return GDK_FRAME_CLOCK (clock);
|
||||
}
|
||||
|
||||
GdkFrameClockPhase
|
||||
gdk_frame_clock_get_current_phase (GdkFrameClock *clock)
|
||||
{
|
||||
GdkFrameClockIdle *clock_idle = GDK_FRAME_CLOCK_IDLE (clock);
|
||||
GdkFrameClockIdlePrivate *priv = clock_idle->priv;
|
||||
|
||||
return priv->phase;
|
||||
}
|
||||
|
||||
@@ -127,6 +127,8 @@ void _gdk_frame_clock_emit_paint (GdkFrameClock *frame_clock);
|
||||
void _gdk_frame_clock_emit_after_paint (GdkFrameClock *frame_clock);
|
||||
void _gdk_frame_clock_emit_resume_events (GdkFrameClock *frame_clock);
|
||||
|
||||
GdkFrameClockPhase gdk_frame_clock_get_current_phase (GdkFrameClock *frame_clock);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GDK_FRAME_CLOCK_PRIVATE_H__ */
|
||||
|
||||
@@ -128,16 +128,6 @@
|
||||
*/
|
||||
#define GDK_VERSION_4_10 (G_ENCODE_VERSION (4, 10))
|
||||
|
||||
/**
|
||||
* GDK_VERSION_4_12:
|
||||
*
|
||||
* A macro that evaluates to the 4.12 version of GDK, in a format
|
||||
* that can be used by the C pre-processor.
|
||||
*
|
||||
* Since: 4.12
|
||||
*/
|
||||
#define GDK_VERSION_4_12 (G_ENCODE_VERSION (4, 12))
|
||||
|
||||
|
||||
/* evaluates to the current stable version; for development cycles,
|
||||
* this means the next stable target, with a hard backstop to the
|
||||
@@ -307,18 +297,4 @@
|
||||
# define GDK_DEPRECATED_IN_4_10_FOR(f) _GDK_EXTERN
|
||||
#endif
|
||||
|
||||
#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_4_12
|
||||
# define GDK_AVAILABLE_IN_4_12 GDK_UNAVAILABLE(4, 12)
|
||||
#else
|
||||
# define GDK_AVAILABLE_IN_4_12 _GDK_EXTERN
|
||||
#endif
|
||||
|
||||
#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_4_12
|
||||
# define GDK_DEPRECATED_IN_4_12 GDK_DEPRECATED
|
||||
# define GDK_DEPRECATED_IN_4_12_FOR(f) GDK_DEPRECATED_FOR(f)
|
||||
#else
|
||||
# define GDK_DEPRECATED_IN_4_12 _GDK_EXTERN
|
||||
# define GDK_DEPRECATED_IN_4_12_FOR(f) _GDK_EXTERN
|
||||
#endif
|
||||
|
||||
#endif /* __GDK_VERSION_MACROS_H__ */
|
||||
|
||||
@@ -273,8 +273,6 @@ gtk_accessible_role_to_atspi_role (GtkAccessibleRole role)
|
||||
case GTK_ACCESSIBLE_ROLE_WINDOW:
|
||||
return ATSPI_ROLE_FRAME;
|
||||
|
||||
case GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON:
|
||||
return ATSPI_ROLE_TOGGLE_BUTTON;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1306,9 +1306,6 @@ typedef enum {
|
||||
* @GTK_ACCESSIBLE_ROLE_WIDGET: An interactive component of a graphical user
|
||||
* interface. This is the role that GTK uses by default for widgets.
|
||||
* @GTK_ACCESSIBLE_ROLE_WINDOW: An application window.
|
||||
* @GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON: A type of push button
|
||||
* which stays pressed until depressed by a second activation.
|
||||
* Since: 4.10
|
||||
*
|
||||
* The accessible role for a [iface@Accessible] implementation.
|
||||
*
|
||||
@@ -1393,8 +1390,7 @@ typedef enum {
|
||||
GTK_ACCESSIBLE_ROLE_TREE_GRID,
|
||||
GTK_ACCESSIBLE_ROLE_TREE_ITEM,
|
||||
GTK_ACCESSIBLE_ROLE_WIDGET,
|
||||
GTK_ACCESSIBLE_ROLE_WINDOW,
|
||||
GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON
|
||||
GTK_ACCESSIBLE_ROLE_WINDOW
|
||||
} GtkAccessibleRole;
|
||||
|
||||
/**
|
||||
|
||||
@@ -459,7 +459,7 @@ remove_file (GtkFileSystemModel *model,
|
||||
g_return_if_fail (G_IS_FILE (file));
|
||||
|
||||
id = node_get_for_file (model, file);
|
||||
if (id == GTK_INVALID_LIST_POSITION)
|
||||
if (id == 0)
|
||||
return;
|
||||
|
||||
node = get_node (model, id);
|
||||
|
||||
@@ -4033,6 +4033,9 @@ gtk_notebook_insert_notebook_page (GtkNotebook *notebook,
|
||||
g_signal_connect (controller, "enter", G_CALLBACK (gtk_notebook_tab_drop_enter), page);
|
||||
g_signal_connect (controller, "leave", G_CALLBACK (gtk_notebook_tab_drop_leave), page);
|
||||
gtk_widget_add_controller (page->tab_widget, controller);
|
||||
gtk_accessible_update_property (GTK_ACCESSIBLE (page->tab_widget),
|
||||
GTK_ACCESSIBLE_PROPERTY_LABEL, _("Tab"),
|
||||
-1);
|
||||
|
||||
page->expand = FALSE;
|
||||
page->fill = TRUE;
|
||||
@@ -4332,11 +4335,6 @@ gtk_notebook_update_labels (GtkNotebook *notebook)
|
||||
text = page->tab_text;
|
||||
else
|
||||
text = string;
|
||||
|
||||
gtk_accessible_update_property (GTK_ACCESSIBLE (page->tab_widget),
|
||||
GTK_ACCESSIBLE_PROPERTY_LABEL, text,
|
||||
-1);
|
||||
|
||||
if (notebook->show_tabs)
|
||||
{
|
||||
if (page->default_tab)
|
||||
|
||||
@@ -4689,10 +4689,6 @@ gtk_text_view_size_allocate (GtkWidget *widget,
|
||||
}
|
||||
g_object_unref (layout);
|
||||
|
||||
/* The GTK resize loop processes all the pending exposes right
|
||||
* after doing the resize stuff, so the idle sizer won't have a
|
||||
* chance to run. So we do the work here.
|
||||
*/
|
||||
gtk_text_view_flush_first_validate (text_view);
|
||||
|
||||
chooser = g_object_get_data (G_OBJECT (text_view), "gtk-emoji-chooser");
|
||||
@@ -4876,6 +4872,8 @@ gtk_text_view_invalidate (GtkTextView *text_view)
|
||||
DV (g_print (G_STRLOC": adding incremental validate idle %d\n",
|
||||
priv->incremental_validate_idle));
|
||||
}
|
||||
|
||||
gtk_widget_queue_allocate (GTK_WIDGET (text_view));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -5843,6 +5841,9 @@ gtk_text_view_paint (GtkWidget *widget,
|
||||
g_return_if_fail (priv->xoffset >= - priv->left_padding);
|
||||
g_return_if_fail (priv->yoffset >= - priv->top_margin);
|
||||
|
||||
if (priv->first_validate_idle != 0)
|
||||
g_critical ("textview: paint with unfinished validation\n");
|
||||
|
||||
while (priv->first_validate_idle != 0)
|
||||
{
|
||||
DV (g_print (G_STRLOC": first_validate_idle: %d\n",
|
||||
|
||||
@@ -67,10 +67,6 @@
|
||||
* `GtkToggleButton` has a single CSS node with name button. To differentiate
|
||||
* it from a plain `GtkButton`, it gets the `.toggle` style class.
|
||||
*
|
||||
* ## Accessibility
|
||||
*
|
||||
* `GtkToggleButton` uses the %GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON role.
|
||||
*
|
||||
* ## Creating two `GtkToggleButton` widgets.
|
||||
*
|
||||
* ```c
|
||||
@@ -315,8 +311,6 @@ gtk_toggle_button_class_init (GtkToggleButtonClass *class)
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
gtk_widget_class_set_css_name (widget_class, I_("button"));
|
||||
|
||||
gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
|
||||
#include "gdk/gdkeventsprivate.h"
|
||||
#include "gdk/gdkprofilerprivate.h"
|
||||
#include "gdk/gdkframeclockprivate.h"
|
||||
#include "gsk/gskdebugprivate.h"
|
||||
#include "gsk/gskrendererprivate.h"
|
||||
|
||||
@@ -4868,19 +4869,6 @@ gtk_widget_grab_focus (GtkWidget *widget)
|
||||
return GTK_WIDGET_GET_CLASS (widget)->grab_focus (widget);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_widget_grab_focus_self:
|
||||
* @widget: a #GtkWidget
|
||||
*
|
||||
* A helper function for widget implementations.
|
||||
*
|
||||
* This function can be used as grab_focus vfunc implementation
|
||||
* for focusable widgets with children that don't receive focus.
|
||||
*
|
||||
* Also see [method@Gtk.Widget.focus_self].
|
||||
*
|
||||
* Since: 4.12
|
||||
*/
|
||||
gboolean
|
||||
gtk_widget_grab_focus_self (GtkWidget *widget)
|
||||
{
|
||||
@@ -4894,19 +4882,6 @@ gtk_widget_grab_focus_self (GtkWidget *widget)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_widget_grab_focus_child:
|
||||
* @widget: a #GtkWidget
|
||||
*
|
||||
* A helper function for widget implementations.
|
||||
*
|
||||
* This function can be used as grab_focus vfunc implementation
|
||||
* for non-focusable widgets with children that receive focus.
|
||||
*
|
||||
* Also see [method@Gtk.Widget.focus_child].
|
||||
*
|
||||
* Since: 4.12
|
||||
*/
|
||||
gboolean
|
||||
gtk_widget_grab_focus_child (GtkWidget *widget)
|
||||
{
|
||||
@@ -5077,21 +5052,6 @@ gtk_widget_real_focus (GtkWidget *widget,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_widget_focus_self:
|
||||
* @widget: a #GtkWidget
|
||||
*
|
||||
* A helper function for widget implementations.
|
||||
*
|
||||
* This function can be used as focus vfunc implementation
|
||||
* for focusable widgets with children that don't receive focus.
|
||||
*
|
||||
* Also see [method@Gtk.Widget.grab_focus_self].
|
||||
*
|
||||
* Returns: whether the focus was moved.
|
||||
*
|
||||
* Since: 4.12
|
||||
*/
|
||||
gboolean
|
||||
gtk_widget_focus_self (GtkWidget *widget,
|
||||
GtkDirectionType direction)
|
||||
@@ -5104,21 +5064,6 @@ gtk_widget_focus_self (GtkWidget *widget,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_widget_focus_child:
|
||||
* @widget: a #GtkWidget
|
||||
*
|
||||
* A helper function for widget implementations.
|
||||
*
|
||||
* This function can be used as focus vfunc implementation
|
||||
* for non-focusable widgets with children that receive focus.
|
||||
*
|
||||
* Also see [method@Gtk.Widget.grab_focus_child].
|
||||
*
|
||||
* Returns: whether the focus was moved.
|
||||
*
|
||||
* Since: 4.12
|
||||
*/
|
||||
gboolean
|
||||
gtk_widget_focus_child (GtkWidget *widget,
|
||||
GtkDirectionType direction)
|
||||
@@ -10627,6 +10572,14 @@ static void
|
||||
gtk_widget_set_alloc_needed (GtkWidget *widget)
|
||||
{
|
||||
GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
|
||||
GdkFrameClock *frame_clock = gtk_widget_get_frame_clock (widget);
|
||||
|
||||
if (frame_clock != NULL &&
|
||||
gdk_frame_clock_get_current_phase (frame_clock) == GDK_FRAME_CLOCK_PHASE_PAINT)
|
||||
{
|
||||
g_warning ("%s %p set alloc-needed during PAINT\n",
|
||||
G_OBJECT_TYPE_NAME (widget), widget);
|
||||
}
|
||||
|
||||
priv->alloc_needed = TRUE;
|
||||
|
||||
|
||||
@@ -979,17 +979,6 @@ void gtk_widget_class_set_accessible_role (GtkWidgetClass
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
GtkAccessibleRole gtk_widget_class_get_accessible_role (GtkWidgetClass *widget_class);
|
||||
|
||||
GDK_AVAILABLE_IN_4_12
|
||||
gboolean gtk_widget_grab_focus_child (GtkWidget *widget);
|
||||
GDK_AVAILABLE_IN_4_12
|
||||
gboolean gtk_widget_focus_child (GtkWidget *widget,
|
||||
GtkDirectionType direction);
|
||||
GDK_AVAILABLE_IN_4_12
|
||||
gboolean gtk_widget_grab_focus_self (GtkWidget *widget);
|
||||
GDK_AVAILABLE_IN_4_12
|
||||
gboolean gtk_widget_focus_self (GtkWidget *widget,
|
||||
GtkDirectionType direction);
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkWidget, g_object_unref)
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRequisition, gtk_requisition_free)
|
||||
|
||||
|
||||
@@ -355,6 +355,15 @@ void gtk_widget_remove_surface_transform_changed_callback (GtkWidge
|
||||
|
||||
gboolean gtk_widget_can_activate (GtkWidget *widget);
|
||||
|
||||
/* focus vfuncs for non-focusable containers with focusable children */
|
||||
gboolean gtk_widget_grab_focus_child (GtkWidget *widget);
|
||||
gboolean gtk_widget_focus_child (GtkWidget *widget,
|
||||
GtkDirectionType direction);
|
||||
/* focus vfuncs for focusable widgets with children that don't receive focus */
|
||||
gboolean gtk_widget_grab_focus_self (GtkWidget *widget);
|
||||
gboolean gtk_widget_focus_self (GtkWidget *widget,
|
||||
GtkDirectionType direction);
|
||||
|
||||
void gtk_widget_update_orientation (GtkWidget *widget,
|
||||
GtkOrientation orientation);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user