summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--NEWS8
-rw-r--r--demos/gtk-demo/clipboard.c6
-rw-r--r--demos/gtk-demo/listbox.ui1
-rw-r--r--demos/gtk-demo/popover.c1
-rw-r--r--demos/gtk-demo/search_entry.c3
-rw-r--r--demos/icon-browser/iconbrowserwin.c4
-rw-r--r--demos/widget-factory/widget-factory.c8
-rw-r--r--docs/reference/gdk/gdk4-sections.txt56
-rw-r--r--docs/reference/gdk/gdk4.types3
-rw-r--r--docs/reference/gtk/gtk4-sections.txt3
-rw-r--r--docs/reference/gtk/gtk4.types.in1
-rw-r--r--gdk/broadway/gdkdnd-broadway.c62
-rw-r--r--gdk/broadway/gdkprivate-broadway.h2
-rw-r--r--gdk/gdk-autocleanup.h2
-rw-r--r--gdk/gdk.h2
-rw-r--r--gdk/gdkdevicetool.h2
-rw-r--r--gdk/gdkdisplay.c7
-rw-r--r--gdk/gdkdnd.h102
-rw-r--r--gdk/gdkdndprivate.h105
-rw-r--r--gdk/gdkdrag.c (renamed from gdk/gdkdnd.c)365
-rw-r--r--gdk/gdkdrag.h98
-rw-r--r--gdk/gdkdragprivate.h105
-rw-r--r--gdk/gdkdrop.c10
-rw-r--r--gdk/gdkdrop.h6
-rw-r--r--gdk/gdkevents.c6
-rw-r--r--gdk/gdkevents.h14
-rw-r--r--gdk/gdkeventsprivate.h12
-rw-r--r--gdk/gdkframeclock.h2
-rw-r--r--gdk/gdkinternals.h2
-rw-r--r--gdk/gdkmonitor.h2
-rw-r--r--gdk/gdkseat.h4
-rw-r--r--gdk/gdksurface.c158
-rw-r--r--gdk/gdksurface.h28
-rw-r--r--gdk/gdksurfaceimpl.h2
-rw-r--r--gdk/gdktypes.h48
-rw-r--r--gdk/meson.build4
-rw-r--r--gdk/wayland/gdkdevice-wayland.c14
-rw-r--r--gdk/wayland/gdkdisplay-wayland.c14
-rw-r--r--gdk/wayland/gdkdnd-wayland.c270
-rw-r--r--gdk/wayland/gdkdrop-wayland.c2
-rw-r--r--gdk/wayland/gdkprivate-wayland.h20
-rw-r--r--gdk/wayland/gdkseat-wayland.h2
-rw-r--r--gdk/wayland/gdkselection-wayland.c1
-rw-r--r--gdk/win32/gdkclipdrop-win32.c2
-rw-r--r--gdk/win32/gdkdevice-win32.c3
-rw-r--r--gdk/win32/gdkdrag-win32.c360
-rw-r--r--gdk/win32/gdkdrop-win32.c22
-rw-r--r--gdk/win32/gdkevents-win32.c4
-rw-r--r--gdk/win32/gdkgeometry-win32.c6
-rw-r--r--gdk/win32/gdkprivate-win32.h12
-rw-r--r--gdk/win32/gdksurface-win32.c41
-rw-r--r--gdk/win32/gdkwin32dnd-private.h34
-rw-r--r--gdk/win32/gdkwin32dnd.h22
-rw-r--r--gdk/x11/gdkdevice-core-x11.c3
-rw-r--r--gdk/x11/gdkdevice-xi2.c3
-rw-r--r--gdk/x11/gdkdnd-x11.c870
-rw-r--r--gdk/x11/gdkdrop-x11.c19
-rw-r--r--gdk/x11/gdkprivate-x11.h22
-rw-r--r--gdk/x11/gdksurface-x11.c103
-rw-r--r--gdk/x11/gdkx-autocleanups.h2
-rw-r--r--gdk/x11/gdkx11dnd.h22
-rw-r--r--gsk/gl/gskglrenderer.c162
-rw-r--r--gsk/gl/gskglshadowcache.c121
-rw-r--r--gsk/gl/gskglshadowcacheprivate.h31
-rw-r--r--gsk/gskenums.h6
-rw-r--r--gsk/gskrenderer.c4
-rw-r--r--gsk/gskrendernode.h8
-rw-r--r--gsk/gskrendernodeimpl.c34
-rw-r--r--gsk/gskroundedrect.h4
-rw-r--r--gsk/meson.build3
-rw-r--r--gtk/a11y/gtkentryaccessible.c15
-rw-r--r--gtk/gskpango.c8
-rw-r--r--gtk/gtkaboutdialog.c181
-rw-r--r--gtk/gtkaboutdialog.h4
-rw-r--r--gtk/gtkaccelgroup.c2
-rw-r--r--gtk/gtkaccellabel.c33
-rw-r--r--gtk/gtkapplication.c192
-rw-r--r--gtk/gtkapplication.h6
-rw-r--r--gtk/gtkaspectframe.c27
-rw-r--r--gtk/gtkaspectframe.h6
-rw-r--r--gtk/gtkbbox.h4
-rw-r--r--gtk/gtkbutton.c78
-rw-r--r--gtk/gtkcalendar.c16
-rw-r--r--gtk/gtkcellareacontext.c4
-rw-r--r--gtk/gtkcellrenderer.h4
-rw-r--r--gtk/gtkcellrenderertext.c2
-rw-r--r--gtk/gtkcolorbutton.c14
-rw-r--r--gtk/gtkcolorswatch.c137
-rw-r--r--gtk/gtkcolorswatchprivate.h6
-rw-r--r--gtk/gtkcontainer.c4
-rw-r--r--gtk/gtkcsssection.h2
-rw-r--r--gtk/gtkcssshorthandpropertyimpl.c19
-rw-r--r--gtk/gtkdialog.c62
-rw-r--r--gtk/gtkdialog.h8
-rw-r--r--gtk/gtkdnd.c205
-rw-r--r--gtk/gtkdnd.h26
-rw-r--r--gtk/gtkdndprivate.h4
-rw-r--r--gtk/gtkdragdest.c2
-rw-r--r--gtk/gtkemojicompletion.c30
-rw-r--r--gtk/gtkentry.c294
-rw-r--r--gtk/gtkentrycompletion.c90
-rw-r--r--gtk/gtkentryprivate.h1
-rw-r--r--gtk/gtkenums.h10
-rw-r--r--gtk/gtkeventcontrollerkey.c32
-rw-r--r--gtk/gtkeventcontrollermotion.c2
-rw-r--r--gtk/gtkeventcontrollerscroll.c2
-rw-r--r--gtk/gtkfilechooserentry.c85
-rw-r--r--gtk/gtkfilechooserwidget.c58
-rw-r--r--gtk/gtkfixed.c171
-rw-r--r--gtk/gtkfixed.h9
-rw-r--r--gtk/gtkfontchooserdialog.c23
-rw-r--r--gtk/gtkfontchooserwidget.c14
-rw-r--r--gtk/gtkfontchooserwidgetprivate.h3
-rw-r--r--gtk/gtkgesturestylus.c4
-rw-r--r--gtk/gtkiconhelper.c18
-rw-r--r--gtk/gtkiconhelperprivate.h1
-rw-r--r--gtk/gtkicontheme.c2
-rw-r--r--gtk/gtkicontheme.h12
-rw-r--r--gtk/gtkiconview.c52
-rw-r--r--gtk/gtkimage.c10
-rw-r--r--gtk/gtkimcontextwayland.c9
-rw-r--r--gtk/gtklabel.c12
-rw-r--r--gtk/gtklayout.c67
-rw-r--r--gtk/gtklayout.h6
-rw-r--r--gtk/gtklinkbutton.c4
-rw-r--r--gtk/gtkmain.c66
-rw-r--r--gtk/gtkmediastream.c2
-rw-r--r--gtk/gtkmenushell.c356
-rw-r--r--gtk/gtkmodelbutton.c36
-rw-r--r--gtk/gtknativedialog.c2
-rw-r--r--gtk/gtknotebook.c36
-rw-r--r--gtk/gtkpathbar.c2
-rw-r--r--gtk/gtkpicture.c6
-rw-r--r--gtk/gtkplacessidebar.c210
-rw-r--r--gtk/gtkplacesview.c1
-rw-r--r--gtk/gtkpopover.c152
-rw-r--r--gtk/gtkprinter.h5
-rw-r--r--gtk/gtkprivate.h3
-rw-r--r--gtk/gtkrange.c14
-rw-r--r--gtk/gtkrender.c59
-rw-r--r--gtk/gtkrenderborder.c54
-rw-r--r--gtk/gtkrenderborderprivate.h14
-rw-r--r--gtk/gtkscalebutton.c84
-rw-r--r--gtk/gtkscalebutton.h6
-rw-r--r--gtk/gtkscrolledwindow.c96
-rw-r--r--gtk/gtksearchbar.c7
-rw-r--r--gtk/gtksearchentry.c4
-rw-r--r--gtk/gtkseparatortoolitem.c43
-rw-r--r--gtk/gtkseparatortoolitem.h6
-rw-r--r--gtk/gtksnapshot.c18
-rw-r--r--gtk/gtkspinbutton.c273
-rw-r--r--gtk/gtkstack.c2
-rw-r--r--gtk/gtktextbuffer.c6
-rw-r--r--gtk/gtktexthandle.c219
-rw-r--r--gtk/gtktextview.c24
-rw-r--r--gtk/gtktreeview.c77
-rw-r--r--gtk/gtktreeviewcolumn.c98
-rw-r--r--gtk/gtkwidget.c119
-rw-r--r--gtk/gtkwidget.h12
-rw-r--r--gtk/gtkwindow.c231
-rw-r--r--gtk/gtkwindowprivate.h5
-rw-r--r--gtk/inspector/layoutoverlay.c222
-rw-r--r--gtk/inspector/layoutoverlay.h19
-rw-r--r--gtk/inspector/meson.build1
-rw-r--r--gtk/inspector/visual.c35
-rw-r--r--gtk/theme/Adwaita/_common.scss16
-rw-r--r--gtk/theme/Adwaita/gtk-contained-dark.css26
-rw-r--r--gtk/theme/Adwaita/gtk-contained.css26
-rw-r--r--gtk/theme/HighContrast/_common.scss15
-rw-r--r--gtk/theme/HighContrast/gtk-contained-inverse.css4
-rw-r--r--gtk/theme/HighContrast/gtk-contained.css4
-rw-r--r--gtk/ui/gtkfilechooserwidget.ui5
-rw-r--r--gtk/ui/gtkfontchooserdialog.ui6
-rw-r--r--meson.build2
-rw-r--r--modules/media/gtkffmediafile.c3
-rw-r--r--modules/media/gtkgstmediafile.c3
-rw-r--r--modules/media/gtkgstsink.c1
-rw-r--r--modules/printbackends/gtkprintercups.c2
-rw-r--r--po-properties/POTFILES.in2
-rw-r--r--po-properties/hu.po4194
-rw-r--r--po/POTFILES.in2
-rw-r--r--tests/testdnd.c6
-rw-r--r--tests/testdnd2.c28
-rw-r--r--tests/testentryicons.c8
-rw-r--r--tests/testimage.c8
-rw-r--r--tests/testlist3.c6
-rw-r--r--tests/testnotebookdnd.c4
-rw-r--r--testsuite/gtk/defaultvalue.c51
-rw-r--r--testsuite/gtk/meson.build1
-rw-r--r--testsuite/gtk/notify.c57
-rw-r--r--testsuite/gtk/object.c1
-rw-r--r--testsuite/reftests/reftest-snapshot.c3
193 files changed, 6457 insertions, 6236 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index db6eaf101e..a67069ebee 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -44,7 +44,7 @@ msys2-mingw32:
<<: *mingw-defaults
.flatpak-defaults: &flatpak-defaults
- image: registry.gitlab.com/alatiera/gnome-nightly-oci/gnome-master:latest
+ image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
stage: flatpak
artifacts:
paths:
diff --git a/NEWS b/NEWS
index 24f87e816f..9c1cd0cca8 100644
--- a/NEWS
+++ b/NEWS
@@ -27,8 +27,8 @@ Overview of Changes in GTK+ 3.94.0
* Applications can now create their own GtkSnapshot objects for
intermediate rendering.
-* Widget event signals have been replaced by event controller, and
- some new event controllers have been introduced for this:
+* Widget event signals have been replaced by event controllers,
+ and some new event controllers have been introduced for this:
GtkEventControllerMotion
GtkEventControllerKey
GtkGestureStylus
@@ -68,6 +68,10 @@ Overview of Changes in GTK+ 3.94.0
gtk_widget_draw
gtk_render_icon_surface
+* Incomplete transitions:
+ The ::event signal is not still there, but it will be removed
+ The DND apis are not finalized yet
+
* Translation updates:
Croatian
Esperanto
diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c
index bdea28dbb3..658c716c4d 100644
--- a/demos/gtk-demo/clipboard.c
+++ b/demos/gtk-demo/clipboard.c
@@ -120,7 +120,7 @@ get_image_paintable (GtkImage *image)
static void
drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GdkPaintable *paintable;
@@ -128,14 +128,14 @@ drag_begin (GtkWidget *widget,
paintable = get_image_paintable (GTK_IMAGE (widget));
if (paintable)
{
- gtk_drag_set_icon_paintable (context, paintable, -2, -2);
+ gtk_drag_set_icon_paintable (drag, paintable, -2, -2);
g_object_unref (paintable);
}
}
void
drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
guint info,
gpointer data)
diff --git a/demos/gtk-demo/listbox.ui b/demos/gtk-demo/listbox.ui
index 606a520224..9ddf9ede12 100644
--- a/demos/gtk-demo/listbox.ui
+++ b/demos/gtk-demo/listbox.ui
@@ -154,6 +154,7 @@
</child>
<child>
<object class="GtkBox" id="extra_buttons_box">
+ <property name="visible">0</property>
<property name="spacing">6</property>
<child>
<object class="GtkButton" id="reply-button">
diff --git a/demos/gtk-demo/popover.c b/demos/gtk-demo/popover.c
index f49949adf0..2feb48ac70 100644
--- a/demos/gtk-demo/popover.c
+++ b/demos/gtk-demo/popover.c
@@ -77,7 +77,6 @@ entry_size_allocate_cb (GtkEntry *entry,
static void
entry_icon_press_cb (GtkEntry *entry,
GtkEntryIconPosition icon_pos,
- GdkEvent *event,
gpointer user_data)
{
GtkWidget *popover = user_data;
diff --git a/demos/gtk-demo/search_entry.c b/demos/gtk-demo/search_entry.c
index 6d6f1ec143..d45afa290b 100644
--- a/demos/gtk-demo/search_entry.c
+++ b/demos/gtk-demo/search_entry.c
@@ -151,11 +151,10 @@ create_search_menu (GtkWidget *entry)
static void
icon_press_cb (GtkEntry *entry,
gint position,
- GdkEventButton *event,
gpointer data)
{
if (position == GTK_ENTRY_ICON_PRIMARY)
- gtk_menu_popup_at_pointer (GTK_MENU (menu), (GdkEvent *) event);
+ gtk_menu_popup_at_pointer (GTK_MENU (menu), NULL);
}
static void
diff --git a/demos/icon-browser/iconbrowserwin.c b/demos/icon-browser/iconbrowserwin.c
index 409695d03b..094ecf0468 100644
--- a/demos/icon-browser/iconbrowserwin.c
+++ b/demos/icon-browser/iconbrowserwin.c
@@ -376,7 +376,7 @@ search_mode_toggled (GObject *searchbar, GParamSpec *pspec, IconBrowserWindow *w
static void
get_image_data (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection,
guint target_info,
gpointer data)
@@ -398,7 +398,7 @@ get_image_data (GtkWidget *widget,
static void
get_scalable_image_data (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection,
guint target_info,
gpointer data)
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index 8b8e852dd5..d0e2cafbb1 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -353,7 +353,6 @@ update_pulse_time (GtkAdjustment *adjustment, GtkWidget *widget)
static void
on_entry_icon_release (GtkEntry *entry,
GtkEntryIconPosition icon_pos,
- GdkEvent *event,
gpointer user_data)
{
if (icon_pos != GTK_ENTRY_ICON_SECONDARY)
@@ -967,8 +966,8 @@ background_loaded_cb (GObject *source,
return;
}
- child = gtk_image_new_from_pixbuf (pixbuf);
- gtk_widget_show (child);
+ child = gtk_picture_new_for_pixbuf (pixbuf);
+ gtk_widget_set_size_request (child, 110, 70);
gtk_flow_box_insert (GTK_FLOW_BOX (bd->flowbox), child, -1);
child = gtk_widget_get_parent (child);
g_object_set_data_full (G_OBJECT (child), "filename", bd->filename, g_free);
@@ -996,8 +995,7 @@ populate_flowbox (GtkWidget *flowbox)
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 110, 70);
gdk_pixbuf_fill (pixbuf, 0xffffffff);
- child = gtk_image_new_from_pixbuf (pixbuf);
- gtk_widget_show (child);
+ child = gtk_picture_new_for_pixbuf (pixbuf);
gtk_flow_box_insert (GTK_FLOW_BOX (flowbox), child, -1);
location = "/usr/share/backgrounds/gnome";
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 82371e38bf..482b7fdbd8 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -774,38 +774,60 @@ gdk_cursor_get_type
<SECTION>
<TITLE>Drag and Drop</TITLE>
<FILE>dnd</FILE>
-GdkDragContext
+GdkDrag
+GdkDrop
GdkDragCancelReason
gdk_drag_drop_done
gdk_drag_begin
GdkDragAction
GDK_ACTION_ALL
-gdk_drag_context_get_display
-gdk_drag_context_get_actions
-gdk_drag_context_get_suggested_action
-gdk_drag_context_get_selected_action
-gdk_drag_context_get_formats
-gdk_drag_context_get_device
-gdk_drag_context_get_drag_surface
-gdk_drag_context_set_hotspot
+gdk_drag_get_display
+gdk_drag_get_actions
+gdk_drag_get_suggested_action
+gdk_drag_get_selected_action
+gdk_drag_get_formats
+gdk_drag_get_device
+gdk_drag_get_drag_surface
+gdk_drag_set_hotspot
<SUBSECTION>
gdk_drag_action_is_unique
+<SUBSECTION>
+gdk_drop_get_display
+gdk_drop_get_device
+gdk_drop_get_surface
+gdk_drop_get_formats
+gdk_drop_get_actions
+gdk_drop_get_drag
+gdk_drop_status
+gdk_drop_finish
+gdk_drop_read_async
+gdk_drop_read_finish
+gdk_drop_read_value_async
+gdk_drop_read_value_finish
+gdk_drop_read_text_async
+gdk_drop_read_text_finish
+
<SUBSECTION Standard>
-GDK_DRAG_CONTEXT
-GDK_TYPE_DRAG_CONTEXT
-GDK_IS_DRAG_CONTEXT
-GDK_DRAG_CONTEXT_CLASS
-GDK_DRAG_CONTEXT_GET_CLASS
-GDK_IS_DRAG_CONTEXT_CLASS
+GDK_DRAG
+GDK_TYPE_DRAG
+GDK_IS_DRAG
+GDK_DRAG_CLASS
+GDK_DRAG_GET_CLASS
+GDK_IS_DRAG_CLASS
GDK_TYPE_DRAG_ACTION
GDK_TYPE_DRAG_PROTOCOL
+GDK_TYPE_DROP
+GDK_DROP
+GDK_IS_DROP
<SUBSECTION Private>
-GdkDragContextClass
-gdk_drag_context_get_type
+GdkDragClass
+gdk_drag_get_type
+GdkDropClass
+gdk_drop_get_type
</SECTION>
<SECTION>
diff --git a/docs/reference/gdk/gdk4.types b/docs/reference/gdk/gdk4.types
index de343d2abe..2fef32ea30 100644
--- a/docs/reference/gdk/gdk4.types
+++ b/docs/reference/gdk/gdk4.types
@@ -9,7 +9,8 @@ gdk_device_pad_get_type
gdk_device_tool_get_type
gdk_display_get_type
gdk_display_manager_get_type
-gdk_drag_context_get_type
+gdk_drag_get_type
+gdk_drop_get_type
gdk_event_get_type
gdk_frame_clock_get_type
gdk_gl_context_get_type
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index a09f54192a..489c838270 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -4912,7 +4912,6 @@ gtk_render_handle
gtk_render_layout
gtk_render_line
gtk_render_option
-gtk_render_slider
gtk_render_activity
gtk_render_icon
gtk_render_insertion_cursor
@@ -6502,7 +6501,7 @@ gtk_event_controller_motion_get_type
<SECTION>
<FILE>gtkeventcontrollerkey</FILE>
-<TITLE>GtkEventControlerKey</TITLE>
+<TITLE>GtkEventControllerKey</TITLE>
GtkEventControllerKey
gtk_event_controller_key_new
diff --git a/docs/reference/gtk/gtk4.types.in b/docs/reference/gtk/gtk4.types.in
index 3afd4a2066..5c8f48d67c 100644
--- a/docs/reference/gtk/gtk4.types.in
+++ b/docs/reference/gtk/gtk4.types.in
@@ -118,6 +118,7 @@ gtk_page_setup_get_type
@DISABLE_ON_W32@gtk_page_setup_unix_dialog_get_type
gtk_paned_get_type
gtk_paper_size_get_type
+gtk_picture_get_type
gtk_popover_get_type
gtk_popover_menu_get_type
@DISABLE_ON_W32@gtk_printer_get_type
diff --git a/gdk/broadway/gdkdnd-broadway.c b/gdk/broadway/gdkdnd-broadway.c
index fecf3b9c04..1db76f43d3 100644
--- a/gdk/broadway/gdkdnd-broadway.c
+++ b/gdk/broadway/gdkdnd-broadway.c
@@ -24,7 +24,7 @@
#include "config.h"
-#include "gdkdndprivate.h"
+#include "gdkdragprivate.h"
#include "gdkinternals.h"
#include "gdkproperty.h"
@@ -34,56 +34,56 @@
#include <string.h>
-#define GDK_TYPE_BROADWAY_DRAG_CONTEXT (gdk_broadway_drag_context_get_type ())
-#define GDK_BROADWAY_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_BROADWAY_DRAG_CONTEXT, GdkBroadwayDragContext))
-#define GDK_BROADWAY_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_BROADWAY_DRAG_CONTEXT, GdkBroadwayDragContextClass))
-#define GDK_IS_BROADWAY_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_BROADWAY_DRAG_CONTEXT))
-#define GDK_IS_BROADWAY_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_BROADWAY_DRAG_CONTEXT))
-#define GDK_BROADWAY_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_BROADWAY_DRAG_CONTEXT, GdkBroadwayDragContextClass))
+#define GDK_TYPE_BROADWAY_DRAG (gdk_broadway_drag_get_type ())
+#define GDK_BROADWAY_DRAG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_BROADWAY_DRAG, GdkBroadwayDrag))
+#define GDK_BROADWAY_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_BROADWAY_DRAG, GdkBroadwayDragClass))
+#define GDK_IS_BROADWAY_DRAG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_BROADWAY_DRAG))
+#define GDK_IS_BROADWAY_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_BROADWAY_DRAG))
+#define GDK_BROADWAY_DRAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_BROADWAY_DRAG, GdkBroadwayDragClass))
#ifdef GDK_COMPILATION
-typedef struct _GdkBroadwayDragContext GdkBroadwayDragContext;
+typedef struct _GdkBroadwayDrag GdkBroadwayDrag;
#else
-typedef GdkDragContext GdkBroadwayDragContext;
+typedef GdkDrag GdkBroadwayDrag;
#endif
-typedef struct _GdkBroadwayDragContextClass GdkBroadwayDragContextClass;
+typedef struct _GdkBroadwayDragClass GdkBroadwayDragClass;
-GType gdk_broadway_drag_context_get_type (void);
+GType gdk_broadway_drag_get_type (void);
-struct _GdkBroadwayDragContext {
- GdkDragContext context;
+struct _GdkBroadwayDrag {
+ GdkDrag context;
};
-struct _GdkBroadwayDragContextClass
+struct _GdkBroadwayDragClass
{
- GdkDragContextClass parent_class;
+ GdkDragClass parent_class;
};
-static void gdk_broadway_drag_context_finalize (GObject *object);
+static void gdk_broadway_drag_finalize (GObject *object);
static GList *contexts;
-G_DEFINE_TYPE (GdkBroadwayDragContext, gdk_broadway_drag_context, GDK_TYPE_DRAG_CONTEXT)
+G_DEFINE_TYPE (GdkBroadwayDrag, gdk_broadway_drag, GDK_TYPE_DRAG)
static void
-gdk_broadway_drag_context_init (GdkBroadwayDragContext *dragcontext)
+gdk_broadway_drag_init (GdkBroadwayDrag *dragcontext)
{
contexts = g_list_prepend (contexts, dragcontext);
}
static void
-gdk_broadway_drag_context_finalize (GObject *object)
+gdk_broadway_drag_finalize (GObject *object)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (object);
+ GdkDrag *context = GDK_DRAG (object);
contexts = g_list_remove (contexts, context);
- G_OBJECT_CLASS (gdk_broadway_drag_context_parent_class)->finalize (object);
+ G_OBJECT_CLASS (gdk_broadway_drag_parent_class)->finalize (object);
}
/* Drag Contexts */
-GdkDragContext *
+GdkDrag *
_gdk_broadway_surface_drag_begin (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider *content,
@@ -91,12 +91,12 @@ _gdk_broadway_surface_drag_begin (GdkSurface *surface,
gint dx,
gint dy)
{
- GdkDragContext *new_context;
+ GdkDrag *new_context;
g_return_val_if_fail (surface != NULL, NULL);
g_return_val_if_fail (GDK_SURFACE_IS_BROADWAY (surface), NULL);
- new_context = g_object_new (GDK_TYPE_BROADWAY_DRAG_CONTEXT,
+ new_context = g_object_new (GDK_TYPE_BROADWAY_DRAG,
"device", device,
"content", content,
NULL);
@@ -105,14 +105,14 @@ _gdk_broadway_surface_drag_begin (GdkSurface *surface,
}
static void
-gdk_broadway_drag_context_drag_drop (GdkDragContext *context,
+gdk_broadway_drag_drag_drop (GdkDrag *context,
guint32 time)
{
g_return_if_fail (context != NULL);
}
static void
-gdk_broadway_drag_context_drag_abort (GdkDragContext *context,
+gdk_broadway_drag_drag_abort (GdkDrag *context,
guint32 time)
{
g_return_if_fail (context != NULL);
@@ -129,13 +129,13 @@ _gdk_broadway_display_init_dnd (GdkDisplay *display)
}
static void
-gdk_broadway_drag_context_class_init (GdkBroadwayDragContextClass *klass)
+gdk_broadway_drag_class_init (GdkBroadwayDragClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass);
+ GdkDragClass *context_class = GDK_DRAG_CLASS (klass);
- object_class->finalize = gdk_broadway_drag_context_finalize;
+ object_class->finalize = gdk_broadway_drag_finalize;
- context_class->drag_abort = gdk_broadway_drag_context_drag_abort;
- context_class->drag_drop = gdk_broadway_drag_context_drag_drop;
+ context_class->drag_abort = gdk_broadway_drag_drag_abort;
+ context_class->drag_drop = gdk_broadway_drag_drag_drop;
}
diff --git a/gdk/broadway/gdkprivate-broadway.h b/gdk/broadway/gdkprivate-broadway.h
index 737bb9ed8c..11a48a0291 100644
--- a/gdk/broadway/gdkprivate-broadway.h
+++ b/gdk/broadway/gdkprivate-broadway.h
@@ -46,7 +46,7 @@ void gdk_broadway_surface_set_nodes (GdkSurface *surface,
GPtrArray *node_textures);
void _gdk_broadway_surface_register_dnd (GdkSurface *surface);
-GdkDragContext * _gdk_broadway_surface_drag_begin (GdkSurface *surface,
+GdkDrag * _gdk_broadway_surface_drag_begin (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider *content,
GdkDragAction actions,
diff --git a/gdk/gdk-autocleanup.h b/gdk/gdk-autocleanup.h
index 7d2cc3f733..6ec5aa9ba2 100644
--- a/gdk/gdk-autocleanup.h
+++ b/gdk/gdk-autocleanup.h
@@ -27,7 +27,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkCursor, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDevice, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDisplay, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDisplayManager, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDragContext, g_object_unref)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDrag, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDrawContext, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkFrameClock, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkGLContext, g_object_unref)
diff --git a/gdk/gdk.h b/gdk/gdk.h
index 3362f9aefc..a537ed341f 100644
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -44,7 +44,7 @@
#include <gdk/gdkdevicetool.h>
#include <gdk/gdkdisplay.h>
#include <gdk/gdkdisplaymanager.h>
-#include <gdk/gdkdnd.h>
+#include <gdk/gdkdrag.h>
#include <gdk/gdkdrawcontext.h>
#include <gdk/gdkdrop.h>
#include <gdk/gdkenumtypes.h>
diff --git a/gdk/gdkdevicetool.h b/gdk/gdkdevicetool.h
index 4954592ea2..66bab7e699 100644
--- a/gdk/gdkdevicetool.h
+++ b/gdk/gdkdevicetool.h
@@ -47,8 +47,6 @@ typedef struct _GdkDeviceTool GdkDeviceTool;
*
* Indicates the specific type of tool being used being a tablet. Such as an
* airbrush, pencil, etc.
- *
- * Since: 3.22
*/
typedef enum {
GDK_DEVICE_TOOL_TYPE_UNKNOWN,
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
index acfa0c13d9..ec8df56bd9 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
@@ -631,8 +631,7 @@ get_current_toplevel (GdkDisplay *display,
pointer_surface = _gdk_device_surface_at_position (device, &x, &y, &state, TRUE);
if (pointer_surface != NULL &&
- (GDK_SURFACE_DESTROYED (pointer_surface) ||
- GDK_SURFACE_TYPE (pointer_surface) == GDK_SURFACE_FOREIGN))
+ GDK_SURFACE_DESTROYED (pointer_surface))
pointer_surface = NULL;
*x_out = round (x);
@@ -1283,14 +1282,12 @@ gdk_display_notify_startup_complete (GdkDisplay *display,
/**
* gdk_display_get_startup_notification_id:
- * @display: (type GdkX11Display): a #GdkDisplay
+ * @display: a #GdkDisplay
*
* Gets the startup notification ID for a Wayland display, or %NULL
* if no ID has been defined.
*
* Returns: the startup notification ID for @display, or %NULL
- *
- * Since: 4.0
*/
const gchar *
gdk_display_get_startup_notification_id (GdkDisplay *display)
diff --git a/gdk/gdkdnd.h b/gdk/gdkdnd.h
deleted file mode 100644
index caf79151bb..0000000000
--- a/gdk/gdkdnd.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GTK+ Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __GDK_DND_H__
-#define __GDK_DND_H__
-
-#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
-#error "Only <gdk/gdk.h> can be included directly."
-#endif
-
-#include <gdk/gdktypes.h>
-#include <gdk/gdkdevice.h>
-#include <gdk/gdkevents.h>
-
-G_BEGIN_DECLS
-
-#define GDK_TYPE_DRAG_CONTEXT (gdk_drag_context_get_type ())
-#define GDK_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG_CONTEXT, GdkDragContext))
-#define GDK_IS_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAG_CONTEXT))
-
-/**
- * GdkDragCancelReason:
- * @GDK_DRAG_CANCEL_NO_TARGET: There is no suitable drop target.
- * @GDK_DRAG_CANCEL_USER_CANCELLED: Drag cancelled by the user
- * @GDK_DRAG_CANCEL_ERROR: Unspecified error.
- *
- * Used in #GdkDragContext to the reason of a cancelled DND operation.
- *
- * Since: 3.20
- */
-typedef enum {
- GDK_DRAG_CANCEL_NO_TARGET,
- GDK_DRAG_CANCEL_USER_CANCELLED,
- GDK_DRAG_CANCEL_ERROR
-} GdkDragCancelReason;
-
-GDK_AVAILABLE_IN_ALL
-GType gdk_drag_context_get_type (void) G_GNUC_CONST;
-
-GDK_AVAILABLE_IN_ALL
-GdkDisplay * gdk_drag_context_get_display (GdkDragContext *context);
-GDK_AVAILABLE_IN_ALL
-GdkDevice * gdk_drag_context_get_device (GdkDragContext *context);
-
-GDK_AVAILABLE_IN_ALL
-GdkContentFormats *gdk_drag_context_get_formats (GdkDragContext *context);
-GDK_AVAILABLE_IN_ALL
-GdkDragAction gdk_drag_context_get_actions (GdkDragContext *context);
-GDK_AVAILABLE_IN_ALL
-GdkDragAction gdk_drag_context_get_suggested_action (GdkDragContext *context);
-GDK_AVAILABLE_IN_ALL
-GdkDragAction gdk_drag_context_get_selected_action (GdkDragContext *context);
-
-GDK_AVAILABLE_IN_ALL
-gboolean gdk_drag_action_is_unique (GdkDragAction action);
-
-/* Source side */
-
-GDK_AVAILABLE_IN_ALL
-GdkDragContext * gdk_drag_begin (GdkSurface *surface,
- GdkDevice *device,
- GdkContentProvider *content,
- GdkDragAction actions,
- gint dx,
- gint dy);
-
-GDK_AVAILABLE_IN_ALL
-void gdk_drag_drop_done (GdkDragContext *context,
- gboolean success);
-
-GDK_AVAILABLE_IN_ALL
-GdkSurface *gdk_drag_context_get_drag_surface (GdkDragContext *context);
-
-GDK_AVAILABLE_IN_ALL
-void gdk_drag_context_set_hotspot (GdkDragContext *context,
- gint hot_x,
- gint hot_y);
-
-G_END_DECLS
-
-#endif /* __GDK_DND_H__ */
diff --git a/gdk/gdkdndprivate.h b/gdk/gdkdndprivate.h
deleted file mode 100644
index 0e586ca979..0000000000
--- a/gdk/gdkdndprivate.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- * Copyright (C) 2010, Red Hat, Inc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __GDK_DND_PRIVATE_H__
-#define __GDK_DND_PRIVATE_H__
-
-#include "gdkdnd.h"
-
-G_BEGIN_DECLS
-
-
-#define GDK_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAG_CONTEXT, GdkDragContextClass))
-#define GDK_IS_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAG_CONTEXT))
-#define GDK_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAG_CONTEXT, GdkDragContextClass))
-
-typedef struct _GdkDragContextClass GdkDragContextClass;
-
-
-struct _GdkDragContextClass {
- GObjectClass parent_class;
-
- void (*drag_abort) (GdkDragContext *context,
- guint32 time_);
- void (*drag_drop) (GdkDragContext *context,
- guint32 time_);
- GdkSurface* (*get_drag_surface) (GdkDragContext *context);
- void (*set_hotspot) (GdkDragContext *context,
- gint hot_x,
- gint hot_y);
- void (*drop_done) (GdkDragContext *context,
- gboolean success);
-
- void (*set_cursor) (GdkDragContext *context,
- GdkCursor *cursor);
- void (*cancel) (GdkDragContext *context,
- GdkDragCancelReason reason);
- void (*drop_performed) (GdkDragContext *context,
- guint32 time);
- void (*dnd_finished) (GdkDragContext *context);
-
- gboolean (*handle_event) (GdkDragContext *context,
- const GdkEvent *event);
- void (*action_changed) (GdkDragContext *context,
- GdkDragAction action);
-};
-
-struct _GdkDragContext {
- GObject parent_instance;
-
- /*< private >*/
- GdkSurface *source_surface;
- GdkSurface *drag_surface;
-
- GdkContentProvider *content;
- GdkDragAction action;
-
- guint drop_done : 1; /* Whether gdk_drag_drop_done() was performed */
-};
-
-void gdk_drag_context_set_cursor (GdkDragContext *context,
- GdkCursor *cursor);
-void gdk_drag_context_set_actions (GdkDragContext *context,
- GdkDragAction actions,
- GdkDragAction suggested_action);
-
-void gdk_drag_context_cancel (GdkDragContext *context,
- GdkDragCancelReason reason);
-gboolean gdk_drag_context_handle_source_event (GdkEvent *event);
-GdkCursor * gdk_drag_get_cursor (GdkDragContext *context,
- GdkDragAction action);
-
-void gdk_drag_abort (GdkDragContext *context,
- guint32 time_);
-void gdk_drag_drop (GdkDragContext *context,
- guint32 time_);
-
-void gdk_drag_context_write_async (GdkDragContext *context,
- const char *mime_type,
- GOutputStream *stream,
- int io_priority,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean gdk_drag_context_write_finish (GdkDragContext *context,
- GAsyncResult *result,
- GError **error);
-
-
-G_END_DECLS
-
-#endif
diff --git a/gdk/gdkdnd.c b/gdk/gdkdrag.c
index bf42a561f5..2e8efb8e71 100644
--- a/gdk/gdkdnd.c
+++ b/gdk/gdkdrag.c
@@ -24,7 +24,7 @@
#include "config.h"
-#include "gdkdndprivate.h"
+#include "gdkdragprivate.h"
#include "gdkdisplay.h"
#include "gdksurface.h"
#include "gdkintl.h"
@@ -35,9 +35,9 @@
#include "gdkenumtypes.h"
#include "gdkeventsprivate.h"
-typedef struct _GdkDragContextPrivate GdkDragContextPrivate;
+typedef struct _GdkDragPrivate GdkDragPrivate;
-struct _GdkDragContextPrivate
+struct _GdkDragPrivate
{
GdkDisplay *display;
GdkDevice *device;
@@ -77,9 +77,9 @@ enum {
static GParamSpec *properties[N_PROPERTIES] = { NULL, };
static guint signals[N_SIGNALS] = { 0 };
-static GList *contexts = NULL;
+static GList *drags = NULL;
-G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GdkDragContext, gdk_drag_context, G_TYPE_OBJECT)
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GdkDrag, gdk_drag, G_TYPE_OBJECT)
/**
* SECTION:dnd
@@ -98,142 +98,142 @@ G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GdkDragContext, gdk_drag_context, G_TYPE_OB
*/
/**
- * GdkDragContext:
+ * GdkDrag:
*
- * The GdkDragContext struct contains only private fields and
+ * The GdkDrag struct contains only private fields and
* should not be accessed directly.
*/
/**
- * gdk_drag_context_get_display:
- * @context: a #GdkDragContext
+ * gdk_drag_get_display:
+ * @drag: a #GdkDrag
*
- * Gets the #GdkDisplay that the drag context was created for.
+ * Gets the #GdkDisplay that the drag object was created for.
*
* Returns: (transfer none): a #GdkDisplay
**/
GdkDisplay *
-gdk_drag_context_get_display (GdkDragContext *context)
+gdk_drag_get_display (GdkDrag *drag)
{
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
- g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL);
+ g_return_val_if_fail (GDK_IS_DRAG (drag), NULL);
return priv->display;
}
/**
- * gdk_drag_context_get_formats:
- * @context: a #GdkDragContext
+ * gdk_drag_get_formats:
+ * @drag: a #GdkDrag
*
- * Retrieves the formats supported by this context.
+ * Retrieves the formats supported by this GdkDrag object.
*
* Returns: (transfer none): a #GdkContentFormats
**/
GdkContentFormats *
-gdk_drag_context_get_formats (GdkDragContext *context)
+gdk_drag_get_formats (GdkDrag *drag)
{
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
- g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL);
+ g_return_val_if_fail (GDK_IS_DRAG (drag), NULL);
return priv->formats;
}
/**
- * gdk_drag_context_get_actions:
- * @context: a #GdkDragContext
+ * gdk_drag_get_actions:
+ * @drag: a #GdkDrag
*
* Determines the bitmask of actions proposed by the source if
- * gdk_drag_context_get_suggested_action() returns %GDK_ACTION_ASK.
+ * gdk_drag_get_suggested_action() returns %GDK_ACTION_ASK.
*
* Returns: the #GdkDragAction flags
**/
GdkDragAction
-gdk_drag_context_get_actions (GdkDragContext *context)
+gdk_drag_get_actions (GdkDrag *drag)
{
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
- g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), 0);
+ g_return_val_if_fail (GDK_IS_DRAG (drag), 0);
return priv->actions;
}
/**
- * gdk_drag_context_get_suggested_action:
- * @context: a #GdkDragContext
+ * gdk_drag_get_suggested_action:
+ * @drag: a #GdkDrag
*
- * Determines the suggested drag action of the context.
+ * Determines the suggested drag action of the GdkDrag object.
*
* Returns: a #GdkDragAction value
**/
GdkDragAction
-gdk_drag_context_get_suggested_action (GdkDragContext *context)
+gdk_drag_get_suggested_action (GdkDrag *drag)
{
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
- g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), 0);
+ g_return_val_if_fail (GDK_IS_DRAG (drag), 0);
return priv->suggested_action;
}
/**
- * gdk_drag_context_get_selected_action:
- * @context: a #GdkDragContext
+ * gdk_drag_get_selected_action:
+ * @drag: a #GdkDrag
*
* Determines the action chosen by the drag destination.
*
* Returns: a #GdkDragAction value
**/
GdkDragAction
-gdk_drag_context_get_selected_action (GdkDragContext *context)
+gdk_drag_get_selected_action (GdkDrag *drag)
{
- g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), 0);
+ g_return_val_if_fail (GDK_IS_DRAG (drag), 0);
- return context->action;
+ return drag->action;
}
/**
- * gdk_drag_context_get_device:
- * @context: a #GdkDragContext
+ * gdk_drag_get_device:
+ * @drag: a #GdkDrag
*
- * Returns the #GdkDevice associated to the drag context.
+ * Returns the #GdkDevice associated to the GdkDrag object.
*
- * Returns: (transfer none): The #GdkDevice associated to @context.
+ * Returns: (transfer none): The #GdkDevice associated to @drag.
**/
GdkDevice *
-gdk_drag_context_get_device (GdkDragContext *context)
+gdk_drag_get_device (GdkDrag *drag)
{
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
- g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL);
+ g_return_val_if_fail (GDK_IS_DRAG (drag), NULL);
return priv->device;
}
static void
-gdk_drag_context_init (GdkDragContext *context)
+gdk_drag_init (GdkDrag *drag)
{
- contexts = g_list_prepend (contexts, context);
+ drags = g_list_prepend (drags, drag);
}
static void
-gdk_drag_context_set_property (GObject *gobject,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
+gdk_drag_set_property (GObject *gobject,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (gobject);
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDrag *drag = GDK_DRAG (gobject);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
switch (prop_id)
{
case PROP_CONTENT:
- context->content = g_value_dup_object (value);
- if (context->content)
+ drag->content = g_value_dup_object (value);
+ if (drag->content)
{
g_assert (priv->formats == NULL);
- priv->formats = gdk_content_provider_ref_formats (context->content);
+ priv->formats = gdk_content_provider_ref_formats (drag->content);
}
break;
@@ -267,18 +267,18 @@ gdk_drag_context_set_property (GObject *gobject,
}
static void
-gdk_drag_context_get_property (GObject *gobject,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+gdk_drag_get_property (GObject *gobject,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (gobject);
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDrag *drag = GDK_DRAG (gobject);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
switch (prop_id)
{
case PROP_CONTENT:
- g_value_set_object (value, context->content);
+ g_value_set_object (value, drag->content);
break;
case PROP_DEVICE:
@@ -300,36 +300,35 @@ gdk_drag_context_get_property (GObject *gobject,
}
static void
-gdk_drag_context_finalize (GObject *object)
+gdk_drag_finalize (GObject *object)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (object);
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDrag *drag = GDK_DRAG (object);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
- contexts = g_list_remove (contexts, context);
+ drags = g_list_remove (drags, drag);
- g_clear_object (&context->content);
+ g_clear_object (&drag->content);
g_clear_pointer (&priv->formats, gdk_content_formats_unref);
- if (context->source_surface)
- g_object_unref (context->source_surface);
+ if (drag->source_surface)
+ g_object_unref (drag->source_surface);
- G_OBJECT_CLASS (gdk_drag_context_parent_class)->finalize (object);
+ G_OBJECT_CLASS (gdk_drag_parent_class)->finalize (object);
}
static void
-gdk_drag_context_class_init (GdkDragContextClass *klass)
+gdk_drag_class_init (GdkDragClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- object_class->get_property = gdk_drag_context_get_property;
- object_class->set_property = gdk_drag_context_set_property;
- object_class->finalize = gdk_drag_context_finalize;
+ object_class->get_property = gdk_drag_get_property;
+ object_class->set_property = gdk_drag_set_property;
+ object_class->finalize = gdk_drag_finalize;
/**
- * GdkDragContext:content:
+ * GdkDrag:content:
*
- * The #GdkContentProvider or %NULL if the context is not a source-side
- * context.
+ * The #GdkContentProvider.
*/
properties[PROP_CONTENT] =
g_param_spec_object ("content",
@@ -342,7 +341,7 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
G_PARAM_EXPLICIT_NOTIFY);
/**
- * GdkDragContext:device:
+ * GdkDrag:device:
*
* The #GdkDevice that is performing the drag.
*/
@@ -357,9 +356,9 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
G_PARAM_EXPLICIT_NOTIFY);
/**
- * GdkDragContext:display:
+ * GdkDrag:display:
*
- * The #GdkDisplay that the drag context belongs to.
+ * The #GdkDisplay that the drag belongs to.
*/
properties[PROP_DISPLAY] =
g_param_spec_object ("display",
@@ -371,9 +370,9 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
G_PARAM_EXPLICIT_NOTIFY);
/**
- * GdkDragContext:formats:
+ * GdkDrag:formats:
*
- * The possible formats that the context can provide its data in.
+ * The possible formats that the drag can provide its data in.
*/
properties[PROP_FORMATS] =
g_param_spec_boxed ("formats",
@@ -386,65 +385,65 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
G_PARAM_EXPLICIT_NOTIFY);
/**
- * GdkDragContext::cancel:
- * @context: The object on which the signal is emitted
- * @reason: The reason the context was cancelled
+ * GdkDrag::cancel:
+ * @drag: The object on which the signal is emitted
+ * @reason: The reason the drag was cancelled
*
- * The drag and drop operation was cancelled.
+ * The drag operation was cancelled.
*/
signals[CANCEL] =
g_signal_new (g_intern_static_string ("cancel"),
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GdkDragContextClass, cancel),
+ G_STRUCT_OFFSET (GdkDragClass, cancel),
NULL, NULL,
g_cclosure_marshal_VOID__ENUM,
G_TYPE_NONE, 1, GDK_TYPE_DRAG_CANCEL_REASON);
/**
- * GdkDragContext::drop-performed:
- * @context: The object on which the signal is emitted
+ * GdkDrag::drop-performed:
+ * @drag: The object on which the signal is emitted
*
- * The drag and drop operation was performed on an accepting client.
+ * The drag operation was performed on an accepting client.
*/
signals[DROP_PERFORMED] =
g_signal_new (g_intern_static_string ("drop-performed"),
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GdkDragContextClass, drop_performed),
+ G_STRUCT_OFFSET (GdkDragClass, drop_performed),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
/**
- * GdkDragContext::dnd-finished:
- * @context: The object on which the signal is emitted
+ * GdkDrag::dnd-finished:
+ * @drag: The object on which the signal is emitted
*
- * The drag and drop operation was finished, the drag destination
- * finished reading all data. The drag source can now free all
- * miscellaneous data.
+ * The drag operation was finished, the destination
+ * finished reading all data. The drag object can now
+ * free all miscellaneous data.
*/
signals[DND_FINISHED] =
g_signal_new (g_intern_static_string ("dnd-finished"),
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GdkDragContextClass, dnd_finished),
+ G_STRUCT_OFFSET (GdkDragClass, dnd_finished),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
/**
- * GdkDragContext::action-changed:
- * @context: The object on which the signal is emitted
+ * GdkDrag::action-changed:
+ * @drag: The object on which the signal is emitted
* @action: The action currently chosen
*
- * A new action is being chosen for the drag and drop operation.
+ * A new action is being chosen for the drag operation.
*/
signals[ACTION_CHANGED] =
g_signal_new (g_intern_static_string ("action-changed"),
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GdkDragContextClass, action_changed),
+ G_STRUCT_OFFSET (GdkDragClass, action_changed),
NULL, NULL,
g_cclosure_marshal_VOID__FLAGS,
G_TYPE_NONE, 1, GDK_TYPE_DRAG_ACTION);
@@ -454,7 +453,7 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
/*
* gdk_drag_abort:
- * @context: a #GdkDragContext
+ * @drag: a #GdkDrag
* @time_: the timestamp for this operation
*
* Aborts a drag without dropping.
@@ -462,17 +461,17 @@ gdk_drag_context_class_init (GdkDragContextClass *klass)
* This function is called by the drag source.
*/
void
-gdk_drag_abort (GdkDragContext *context,
- guint32 time_)
+gdk_drag_abort (GdkDrag *drag,
+ guint32 time_)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
- GDK_DRAG_CONTEXT_GET_CLASS (context)->drag_abort (context, time_);
+ GDK_DRAG_GET_CLASS (drag)->drag_abort (drag, time_);
}
/*
* gdk_drag_drop:
- * @context: a #GdkDragContext
+ * @drag: a #GdkDrag
* @time_: the timestamp for this operation
*
* Drops on the current destination.
@@ -480,18 +479,18 @@ gdk_drag_abort (GdkDragContext *context,
* This function is called by the drag source.
*/
void
-gdk_drag_drop (GdkDragContext *context,
- guint32 time_)
+gdk_drag_drop (GdkDrag *drag,
+ guint32 time_)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
- GDK_DRAG_CONTEXT_GET_CLASS (context)->drag_drop (context, time_);
+ GDK_DRAG_GET_CLASS (drag)->drag_drop (drag, time_);
}
static void
-gdk_drag_context_write_done (GObject *content,
- GAsyncResult *result,
- gpointer task)
+gdk_drag_write_done (GObject *content,
+ GAsyncResult *result,
+ gpointer task)
{
GError *error = NULL;
@@ -504,9 +503,9 @@ gdk_drag_context_write_done (GObject *content,
}
static void
-gdk_drag_context_write_serialize_done (GObject *content,
- GAsyncResult *result,
- gpointer task)
+gdk_drag_write_serialize_done (GObject *content,
+ GAsyncResult *result,
+ gpointer task)
{
GError *error = NULL;
@@ -519,39 +518,39 @@ gdk_drag_context_write_serialize_done (GObject *content,
}
void
-gdk_drag_context_write_async (GdkDragContext *context,
- const char *mime_type,
- GOutputStream *stream,
- int io_priority,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
+gdk_drag_write_async (GdkDrag *drag,
+ const char *mime_type,
+ GOutputStream *stream,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
GdkContentFormats *formats, *mime_formats;
GTask *task;
GType gtype;
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
- g_return_if_fail (context->content);
+ g_return_if_fail (GDK_IS_DRAG (drag));
+ g_return_if_fail (drag->content);
g_return_if_fail (mime_type != NULL);
g_return_if_fail (mime_type == g_intern_string (mime_type));
g_return_if_fail (G_IS_OUTPUT_STREAM (stream));
g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable));
g_return_if_fail (callback != NULL);
- task = g_task_new (context, cancellable, callback, user_data);
+ task = g_task_new (drag, cancellable, callback, user_data);
g_task_set_priority (task, io_priority);
- g_task_set_source_tag (task, gdk_drag_context_write_async);
+ g_task_set_source_tag (task, gdk_drag_write_async);
- formats = gdk_content_provider_ref_formats (context->content);
+ formats = gdk_content_provider_ref_formats (drag->content);
if (gdk_content_formats_contain_mime_type (formats, mime_type))
{
- gdk_content_provider_write_mime_type_async (context->content,
+ gdk_content_provider_write_mime_type_async (drag->content,
mime_type,
stream,
io_priority,
cancellable,
- gdk_drag_context_write_done,
+ gdk_drag_write_done,
task);
gdk_content_formats_unref (formats);
return;
@@ -568,14 +567,14 @@ gdk_drag_context_write_async (GdkDragContext *context,
g_assert (gtype != G_TYPE_INVALID);
g_value_init (&value, gtype);
- if (gdk_content_provider_get_value (context->content, &value, &error))
+ if (gdk_content_provider_get_value (drag->content, &value, &error))
{
gdk_content_serialize_async (stream,
mime_type,
&value,
io_priority,
cancellable,
- gdk_drag_context_write_serialize_done,
+ gdk_drag_write_serialize_done,
g_object_ref (task));
}
else
@@ -597,54 +596,54 @@ gdk_drag_context_write_async (GdkDragContext *context,
}
gboolean
-gdk_drag_context_write_finish (GdkDragContext *context,
- GAsyncResult *result,
- GError **error)
+gdk_drag_write_finish (GdkDrag *drag,
+ GAsyncResult *result,
+ GError **error)
{
- g_return_val_if_fail (g_task_is_valid (result, context), FALSE);
- g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == gdk_drag_context_write_async, FALSE);
+ g_return_val_if_fail (g_task_is_valid (result, drag), FALSE);
+ g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == gdk_drag_write_async, FALSE);
return g_task_propagate_boolean (G_TASK (result), error);
}
void
-gdk_drag_context_set_actions (GdkDragContext *context,
- GdkDragAction actions,
- GdkDragAction suggested_action)
+gdk_drag_set_actions (GdkDrag *drag,
+ GdkDragAction actions,
+ GdkDragAction suggested_action)
{
- GdkDragContextPrivate *priv = gdk_drag_context_get_instance_private (context);
+ GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
priv->actions = actions;
priv->suggested_action = suggested_action;
}
/**
- * gdk_drag_context_get_drag_surface:
- * @context: a #GdkDragContext
+ * gdk_drag_get_drag_surface:
+ * @drag: a #GdkDrag
*
* Returns the surface on which the drag icon should be rendered
* during the drag operation. Note that the surface may not be
* available until the drag operation has begun. GDK will move
* the surface in accordance with the ongoing drag operation.
- * The surface is owned by @context and will be destroyed when
+ * The surface is owned by @drag and will be destroyed when
* the drag operation is over.
*
* Returns: (nullable) (transfer none): the drag surface, or %NULL
*/
GdkSurface *
-gdk_drag_context_get_drag_surface (GdkDragContext *context)
+gdk_drag_get_drag_surface (GdkDrag *drag)
{
- g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL);
+ g_return_val_if_fail (GDK_IS_DRAG (drag), NULL);
- if (GDK_DRAG_CONTEXT_GET_CLASS (context)->get_drag_surface)
- return GDK_DRAG_CONTEXT_GET_CLASS (context)->get_drag_surface (context);
+ if (GDK_DRAG_GET_CLASS (drag)->get_drag_surface)
+ return GDK_DRAG_GET_CLASS (drag)->get_drag_surface (drag);
return NULL;
}
/**
- * gdk_drag_context_set_hotspot:
- * @context: a #GdkDragContext
+ * gdk_drag_set_hotspot:
+ * @drag: a #GdkDrag
* @hot_x: x coordinate of the drag surface hotspot
* @hot_y: y coordinate of the drag surface hotspot
*
@@ -653,19 +652,19 @@ gdk_drag_context_get_drag_surface (GdkDragContext *context)
* top left corner of the drag surface.
*/
void
-gdk_drag_context_set_hotspot (GdkDragContext *context,
- gint hot_x,
- gint hot_y)
+gdk_drag_set_hotspot (GdkDrag *drag,
+ gint hot_x,
+ gint hot_y)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
- if (GDK_DRAG_CONTEXT_GET_CLASS (context)->set_hotspot)
- GDK_DRAG_CONTEXT_GET_CLASS (context)->set_hotspot (context, hot_x, hot_y);
+ if (GDK_DRAG_GET_CLASS (drag)->set_hotspot)
+ GDK_DRAG_GET_CLASS (drag)->set_hotspot (drag, hot_x, hot_y);
}
/**
* gdk_drag_drop_done:
- * @context: a #GdkDragContext
+ * @drag: a #GdkDrag
* @success: whether the drag was ultimatively successful
*
* Inform GDK if the drop ended successfully. Passing %FALSE
@@ -673,60 +672,60 @@ gdk_drag_context_set_hotspot (GdkDragContext *context,
*
* This function is called by the drag source, and should
* be the last call before dropping the reference to the
- * @context.
+ * @drag.
*
- * The #GdkDragContext will only take the first gdk_drag_drop_done()
+ * The #GdkDrag will only take the first gdk_drag_drop_done()
* call as effective, if this function is called multiple times,
* all subsequent calls will be ignored.
*/
void
-gdk_drag_drop_done (GdkDragContext *context,
- gboolean success)
+gdk_drag_drop_done (GdkDrag *drag,
+ gboolean success)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
- if (context->drop_done)
+ if (drag->drop_done)
return;
- context->drop_done = TRUE;
+ drag->drop_done = TRUE;
- if (GDK_DRAG_CONTEXT_GET_CLASS (context)->drop_done)
- GDK_DRAG_CONTEXT_GET_CLASS (context)->drop_done (context, success);
+ if (GDK_DRAG_GET_CLASS (drag)->drop_done)
+ GDK_DRAG_GET_CLASS (drag)->drop_done (drag, success);
}
void
-gdk_drag_context_set_cursor (GdkDragContext *context,
- GdkCursor *cursor)
+gdk_drag_set_cursor (GdkDrag *drag,
+ GdkCursor *cursor)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
- if (GDK_DRAG_CONTEXT_GET_CLASS (context)->set_cursor)
- GDK_DRAG_CONTEXT_GET_CLASS (context)->set_cursor (context, cursor);
+ if (GDK_DRAG_GET_CLASS (drag)->set_cursor)
+ GDK_DRAG_GET_CLASS (drag)->set_cursor (drag, cursor);
}
void
-gdk_drag_context_cancel (GdkDragContext *context,
- GdkDragCancelReason reason)
+gdk_drag_cancel (GdkDrag *drag,
+ GdkDragCancelReason reason)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
- g_signal_emit (context, signals[CANCEL], 0, reason);
+ g_signal_emit (drag, signals[CANCEL], 0, reason);
}
gboolean
-gdk_drag_context_handle_source_event (GdkEvent *event)
+gdk_drag_handle_source_event (GdkEvent *event)
{
- GdkDragContext *context;
+ GdkDrag *drag;
GList *l;
- for (l = contexts; l; l = l->next)
+ for (l = drags; l; l = l->next)
{
- context = l->data;
+ drag = l->data;
- if (!GDK_DRAG_CONTEXT_GET_CLASS (context)->handle_event)
+ if (!GDK_DRAG_GET_CLASS (drag)->handle_event)
continue;
- if (GDK_DRAG_CONTEXT_GET_CLASS (context)->handle_event (context, event))
+ if (GDK_DRAG_GET_CLASS (drag)->handle_event (drag, event))
return TRUE;
}
@@ -734,8 +733,8 @@ gdk_drag_context_handle_source_event (GdkEvent *event)
}
GdkCursor *
-gdk_drag_get_cursor (GdkDragContext *context,
- GdkDragAction action)
+gdk_drag_get_cursor (GdkDrag *drag,
+ GdkDragAction action)
{
gint i;
diff --git a/gdk/gdkdrag.h b/gdk/gdkdrag.h
new file mode 100644
index 0000000000..dd24c72fb1
--- /dev/null
+++ b/gdk/gdkdrag.h
@@ -0,0 +1,98 @@
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
+ * file for a list of people on the GTK+ Team. See the ChangeLog
+ * files for a list of changes. These files are distributed with
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
+#ifndef __GDK_DND_H__
+#define __GDK_DND_H__
+
+#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
+#include <gdk/gdktypes.h>
+#include <gdk/gdkdevice.h>
+#include <gdk/gdkevents.h>
+
+G_BEGIN_DECLS
+
+#define GDK_TYPE_DRAG (gdk_drag_get_type ())
+#define GDK_DRAG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG, GdkDrag))
+#define GDK_IS_DRAG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAG))
+
+/**
+ * GdkDragCancelReason:
+ * @GDK_DRAG_CANCEL_NO_TARGET: There is no suitable drop target.
+ * @GDK_DRAG_CANCEL_USER_CANCELLED: Drag cancelled by the user
+ * @GDK_DRAG_CANCEL_ERROR: Unspecified error.
+ *
+ * Used in #GdkDrag to the reason of a cancelled DND operation.
+ */
+typedef enum {
+ GDK_DRAG_CANCEL_NO_TARGET,
+ GDK_DRAG_CANCEL_USER_CANCELLED,
+ GDK_DRAG_CANCEL_ERROR
+} GdkDragCancelReason;
+
+GDK_AVAILABLE_IN_ALL
+GType gdk_drag_get_type (void) G_GNUC_CONST;
+
+GDK_AVAILABLE_IN_ALL
+GdkDisplay * gdk_drag_get_display (GdkDrag *drag);
+GDK_AVAILABLE_IN_ALL
+GdkDevice * gdk_drag_get_device (GdkDrag *drag);
+
+GDK_AVAILABLE_IN_ALL
+GdkContentFormats *gdk_drag_get_formats (GdkDrag *drag);
+GDK_AVAILABLE_IN_ALL
+GdkDragAction gdk_drag_get_actions (GdkDrag *drag);
+GDK_AVAILABLE_IN_ALL
+GdkDragAction gdk_drag_get_suggested_action (GdkDrag *drag);
+GDK_AVAILABLE_IN_ALL
+GdkDragAction gdk_drag_get_selected_action (GdkDrag *drag);
+
+GDK_AVAILABLE_IN_ALL
+gboolean gdk_drag_action_is_unique (GdkDragAction action);
+
+GDK_AVAILABLE_IN_ALL
+GdkDrag * gdk_drag_begin (GdkSurface *surface,
+ GdkDevice *device,
+ GdkContentProvider *content,
+ GdkDragAction actions,
+ gint dx,
+ gint dy);
+
+GDK_AVAILABLE_IN_ALL
+void gdk_drag_drop_done (GdkDrag *drag,
+ gboolean success);
+
+GDK_AVAILABLE_IN_ALL
+GdkSurface *gdk_drag_get_drag_surface (GdkDrag *drag);
+
+GDK_AVAILABLE_IN_ALL
+void gdk_drag_set_hotspot (GdkDrag *drag,
+ gint hot_x,
+ gint hot_y);
+
+G_END_DECLS
+
+#endif /* __GDK_DND_H__ */
diff --git a/gdk/gdkdragprivate.h b/gdk/gdkdragprivate.h
new file mode 100644
index 0000000000..01a87ef632
--- /dev/null
+++ b/gdk/gdkdragprivate.h
@@ -0,0 +1,105 @@
+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 2010, Red Hat, Inc
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __GDK_DND_PRIVATE_H__
+#define __GDK_DND_PRIVATE_H__
+
+#include "gdkdrag.h"
+
+G_BEGIN_DECLS
+
+
+#define GDK_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAG, GdkDragClass))
+#define GDK_IS_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAG))
+#define GDK_DRAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAG, GdkDragClass))
+
+typedef struct _GdkDragClass GdkDragClass;
+
+
+struct _GdkDragClass {
+ GObjectClass parent_class;
+
+ void (*drag_abort) (GdkDrag *drag,
+ guint32 time_);
+ void (*drag_drop) (GdkDrag *drag,
+ guint32 time_);
+ GdkSurface* (*get_drag_surface) (GdkDrag *drag);
+ void (*set_hotspot) (GdkDrag *drag,
+ gint hot_x,
+ gint hot_y);
+ void (*drop_done) (GdkDrag *drag,
+ gboolean success);
+
+ void (*set_cursor) (GdkDrag *drag,
+ GdkCursor *cursor);
+ void (*cancel) (GdkDrag *drag,
+ GdkDragCancelReason reason);
+ void (*drop_performed) (GdkDrag *drag,
+ guint32 time);
+ void (*dnd_finished) (GdkDrag *drag);
+
+ gboolean (*handle_event) (GdkDrag *drag,
+ const GdkEvent *event);
+ void (*action_changed) (GdkDrag *drag,
+ GdkDragAction action);
+};
+
+struct _GdkDrag {
+ GObject parent_instance;
+
+ /*< private >*/
+ GdkSurface *source_surface;
+ GdkSurface *drag_surface;
+
+ GdkContentProvider *content;
+ GdkDragAction action;
+
+ guint drop_done : 1; /* Whether gdk_drag_drop_done() was performed */
+};
+
+void gdk_drag_set_cursor (GdkDrag *drag,
+ GdkCursor *cursor);
+void gdk_drag_set_actions (GdkDrag *drag,
+ GdkDragAction actions,
+ GdkDragAction suggested_action);
+
+void gdk_drag_cancel (GdkDrag *drag,
+ GdkDragCancelReason reason);
+gboolean gdk_drag_handle_source_event (GdkEvent *event);
+GdkCursor * gdk_drag_get_cursor (GdkDrag *drag,
+ GdkDragAction action);
+
+void gdk_drag_abort (GdkDrag *drag,
+ guint32 time_);
+void gdk_drag_drop (GdkDrag *drag,
+ guint32 time_);
+
+void gdk_drag_write_async (GdkDrag *drag,
+ const char *mime_type,
+ GOutputStream *stream,
+ int io_priority,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean gdk_drag_write_finish (GdkDrag *drag,
+ GAsyncResult *result,
+ GError **error);
+
+
+G_END_DECLS
+
+#endif
diff --git a/gdk/gdkdrop.c b/gdk/gdkdrop.c
index bdcc3866d0..03bc1e2485 100644
--- a/gdk/gdkdrop.c
+++ b/gdk/gdkdrop.c
@@ -38,7 +38,7 @@ typedef struct _GdkDropPrivate GdkDropPrivate;
struct _GdkDropPrivate {
GdkDevice *device;
- GdkDragContext *drag;
+ GdkDrag *drag;
GdkContentFormats *formats;
GdkSurface *surface;
GdkDragAction actions;
@@ -78,7 +78,7 @@ gdk_drop_read_local_write_done (GObject *drag,
gpointer stream)
{
/* we don't care about the error, we just want to clean up */
- gdk_drag_context_write_finish (GDK_DRAG_CONTEXT (drag), result, NULL);
+ gdk_drag_write_finish (GDK_DRAG (drag), result, NULL);
/* XXX: Do we need to close_async() here? */
g_output_stream_close (stream, NULL, NULL);
@@ -122,7 +122,7 @@ gdk_drop_read_local_async (GdkDrop *self,
stream = gdk_pipe_io_stream_new ();
output_stream = g_io_stream_get_output_stream (stream);
- gdk_drag_context_write_async (priv->drag,
+ gdk_drag_write_async (priv->drag,
mime_type,
output_stream,
io_priority,
@@ -321,7 +321,7 @@ gdk_drop_class_init (GdkDropClass *klass)
g_param_spec_object ("drag",
"Drag",
"The drag that initiated this drop",
- GDK_TYPE_DRAG_CONTEXT,
+ GDK_TYPE_DRAG,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS |
@@ -492,7 +492,7 @@ gdk_drop_set_actions (GdkDrop *self,
*
* Returns: (transfer none) (nullable): the corresponding #GdkDrag
**/
-GdkDragContext *
+GdkDrag *
gdk_drop_get_drag (GdkDrop *self)
{
GdkDropPrivate *priv = gdk_drop_get_instance_private (self);
diff --git a/gdk/gdkdrop.h b/gdk/gdkdrop.h
index 43daf94b1d..e2f26e1822 100644
--- a/gdk/gdkdrop.h
+++ b/gdk/gdkdrop.h
@@ -50,7 +50,7 @@ GdkContentFormats * gdk_drop_get_formats (GdkDrop
GDK_AVAILABLE_IN_ALL
GdkDragAction gdk_drop_get_actions (GdkDrop *self);
GDK_AVAILABLE_IN_ALL
-GdkDragContext * gdk_drop_get_drag (GdkDrop *self);
+GdkDrag * gdk_drop_get_drag (GdkDrop *self);
GDK_AVAILABLE_IN_ALL
void gdk_drop_status (GdkDrop *self,
@@ -83,12 +83,12 @@ const GValue * gdk_drop_read_value_finish (GdkDrop
GAsyncResult *result,
GError **error);
GDK_AVAILABLE_IN_ALL
-void gdk_drop_read_text_async (GdkDrop *drop,
+void gdk_drop_read_text_async (GdkDrop *self,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
GDK_AVAILABLE_IN_ALL
-char * gdk_drop_read_text_finish (GdkDrop *drop,
+char * gdk_drop_read_text_finish (GdkDrop *self,
GAsyncResult *result,
GError **error);
diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c
index 272fe4429f..e648110212 100644
--- a/gdk/gdkevents.c
+++ b/gdk/gdkevents.c
@@ -28,7 +28,7 @@
#include "gdkeventsprivate.h"
#include "gdkinternals.h"
#include "gdkdisplayprivate.h"
-#include "gdkdndprivate.h"
+#include "gdkdragprivate.h"
#include "gdkdropprivate.h"
#include "gdk-private.h"
@@ -165,7 +165,7 @@ gdk_event_class_init (GdkEventClass *klass)
void
_gdk_event_emit (GdkEvent *event)
{
- if (gdk_drag_context_handle_source_event (event))
+ if (gdk_drag_handle_source_event (event))
return;
if (_gdk_event_func)
@@ -2504,8 +2504,6 @@ gdk_event_get_axes (GdkEvent *event,
*
* Returns: (transfer container) (element-type GdkTimeCoord) (nullable): a list
* of time and coordinates
- *
- * Since: 3.94
*/
GList *
gdk_event_get_motion_history (const GdkEvent *event)
diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
index a43e7b4394..f496502ad2 100644
--- a/gdk/gdkevents.h
+++ b/gdk/gdkevents.h
@@ -31,7 +31,7 @@
#include <gdk/gdkversionmacros.h>
#include <gdk/gdktypes.h>
-#include <gdk/gdkdnd.h>
+#include <gdk/gdkdrag.h>
#include <gdk/gdkdevice.h>
#include <gdk/gdkdevicetool.h>
@@ -67,8 +67,6 @@ G_BEGIN_DECLS
*
* Use this macro as the return value for continuing the propagation of
* an event handler.
- *
- * Since: 3.4
*/
#define GDK_EVENT_PROPAGATE (FALSE)
@@ -77,8 +75,6 @@ G_BEGIN_DECLS
*
* Use this macro as the return value for stopping the propagation of
* an event handler.
- *
- * Since: 3.4
*/
#define GDK_EVENT_STOP (TRUE)
@@ -87,8 +83,6 @@ G_BEGIN_DECLS
*
* The primary button. This is typically the left mouse button, or the
* right button in a left-handed setup.
- *
- * Since: 3.4
*/
#define GDK_BUTTON_PRIMARY (1)
@@ -96,8 +90,6 @@ G_BEGIN_DECLS
* GDK_BUTTON_MIDDLE:
*
* The middle button.
- *
- * Since: 3.4
*/
#define GDK_BUTTON_MIDDLE (2)
@@ -106,8 +98,6 @@ G_BEGIN_DECLS
*
* The secondary button. This is typically the right mouse button, or the
* left button in a left-handed setup.
- *
- * Since: 3.4
*/
#define GDK_BUTTON_SECONDARY (3)
@@ -291,7 +281,7 @@ typedef enum
* @GDK_SCROLL_LEFT: the surface is scrolled to the left.
* @GDK_SCROLL_RIGHT: the surface is scrolled to the right.
* @GDK_SCROLL_SMOOTH: the scrolling is determined by the delta values
- * in scroll events. See gdk_event_get_scroll_deltas(). Since: 3.4
+ * in scroll events. See gdk_event_get_scroll_deltas()
*
* Specifies the direction for scroll events.
*/
diff --git a/gdk/gdkeventsprivate.h b/gdk/gdkeventsprivate.h
index d79beab255..a7ab6a88ab 100644
--- a/gdk/gdkeventsprivate.h
+++ b/gdk/gdkeventsprivate.h
@@ -26,7 +26,7 @@
#define __GDK_EVENTS_PRIVATE_H__
#include <gdk/gdktypes.h>
-#include <gdk/gdkdnd.h>
+#include <gdk/gdkdrag.h>
#include <gdk/gdkdevice.h>
#include <gdk/gdkdevicetool.h>
@@ -276,7 +276,7 @@ struct _GdkEventScroll
* @hardware_keycode: the raw code of the key that was pressed or released.
* @group: the keyboard group.
* @is_modifier: a flag that indicates if @hardware_keycode is mapped to a
- * modifier. Since 2.10
+ * modifier
*
* Describes a key press or key release event.
*/
@@ -414,8 +414,6 @@ struct _GdkEventProximity
* is unmapped), or if the same application grabs the pointer or keyboard
* again. Note that implicit grabs (which are initiated by button presses)
* can also cause #GdkEventGrabBroken events.
- *
- * Since: 2.8
*/
struct _GdkEventGrabBroken {
GdkEventAny any;
@@ -536,8 +534,6 @@ struct _GdkEventTouchpadPinch {
* device may have different current modes.
*
* Generated during %GDK_SOURCE_TABLET_PAD button presses and releases.
- *
- * Since: 3.22
*/
struct _GdkEventPadButton {
GdkEventAny any;
@@ -562,8 +558,6 @@ struct _GdkEventPadButton {
* @value: The current value for the given axis.
*
* Generated during %GDK_SOURCE_TABLET_PAD interaction with tactile sensors.
- *
- * Since: 3.22
*/
struct _GdkEventPadAxis {
GdkEventAny any;
@@ -587,8 +581,6 @@ struct _GdkEventPadAxis {
* device may have different current modes.
*
* Generated during %GDK_SOURCE_TABLET_PAD mode switches in a group.
- *
- * Since: 3.22
*/
struct _GdkEventPadGroupMode {
GdkEventAny any;
diff --git a/gdk/gdkframeclock.h b/gdk/gdkframeclock.h
index 801af3793f..d1a91f9c25 100644
--- a/gdk/gdkframeclock.h
+++ b/gdk/gdkframeclock.h
@@ -58,8 +58,6 @@ typedef struct _GdkFrameClockClass GdkFrameClockClass;
* #GdkFrameClockPhase is used to represent the different paint clock
* phases that can be requested. The elements of the enumeration
* correspond to the signals of #GdkFrameClock.
- *
- * Since: 3.8
**/
typedef enum {
GDK_FRAME_CLOCK_PHASE_NONE = 0,
diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h
index f77ed09e6f..69b5f844f1 100644
--- a/gdk/gdkinternals.h
+++ b/gdk/gdkinternals.h
@@ -32,7 +32,7 @@
#include "gdkdisplay.h"
#include "gdkeventsprivate.h"
#include "gdkenumtypes.h"
-#include "gdkdndprivate.h"
+#include "gdkdragprivate.h"
G_BEGIN_DECLS
diff --git a/gdk/gdkmonitor.h b/gdk/gdkmonitor.h
index fe6836525e..79fd434660 100644
--- a/gdk/gdkmonitor.h
+++ b/gdk/gdkmonitor.h
@@ -50,8 +50,6 @@ typedef struct _GdkMonitorClass GdkMonitorClass;
*
* This enumeration describes how the red, green and blue components
* of physical pixels on an output device are laid out.
- *
- * Since: 3.22
*/
typedef enum {
GDK_SUBPIXEL_LAYOUT_UNKNOWN,
diff --git a/gdk/gdkseat.h b/gdk/gdkseat.h
index bb0eb069f2..14d7f83a63 100644
--- a/gdk/gdkseat.h
+++ b/gdk/gdkseat.h
@@ -47,8 +47,6 @@ G_BEGIN_DECLS
* @GDK_SEAT_CAPABILITY_ALL: The union of all capabilities
*
* Flags describing the seat capabilities.
- *
- * Since: 3.20
*/
typedef enum {
GDK_SEAT_CAPABILITY_NONE = 0,
@@ -71,8 +69,6 @@ typedef enum {
* grabbed. A typical action would be ensuring the surface is
* visible, although there's room for other initialization
* actions.
- *
- * Since: 3.20
*/
typedef void (* GdkSeatGrabPrepareFunc) (GdkSeat *seat,
GdkSurface *surface,
diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c
index 27d7b3cb95..7348ce1fe8 100644
--- a/gdk/gdksurface.c
+++ b/gdk/gdksurface.c
@@ -333,16 +333,8 @@ gdk_surface_finalize (GObject *object)
if (!GDK_SURFACE_DESTROYED (surface))
{
- if (GDK_SURFACE_TYPE (surface) != GDK_SURFACE_FOREIGN)
- {
- g_warning ("losing last reference to undestroyed surface");
- _gdk_surface_destroy (surface, FALSE);
- }
- else
- /* We use TRUE here, to keep us from actually calling
- * XDestroyWindow() on the window
- */
- _gdk_surface_destroy (surface, TRUE);
+ g_warning ("losing last reference to undestroyed surface");
+ _gdk_surface_destroy (surface, FALSE);
}
if (surface->impl)
@@ -656,12 +648,6 @@ gdk_surface_new (GdkDisplay *display,
#endif
break;
case GDK_SURFACE_CHILD:
- if (GDK_SURFACE_TYPE (parent) == GDK_SURFACE_FOREIGN)
- {
- g_warning (G_STRLOC "Child surfaces must not be created as children of\n"
- "a surface of type GDK_SURFACE_FOREIGN");
- return NULL;
- }
break;
default:
g_warning (G_STRLOC "cannot make surfaces of type %d", surface->surface_type);
@@ -897,81 +883,69 @@ _gdk_surface_destroy_hierarchy (GdkSurface *surface,
case GDK_SURFACE_TOPLEVEL:
case GDK_SURFACE_CHILD:
case GDK_SURFACE_TEMP:
- case GDK_SURFACE_FOREIGN:
case GDK_SURFACE_SUBSURFACE:
- if (surface->surface_type == GDK_SURFACE_FOREIGN && !foreign_destroy)
- {
- }
- else
+ if (surface->parent)
{
- if (surface->parent)
- {
- if (surface->parent->children)
- surface->parent->children = g_list_remove_link (surface->parent->children, &surface->children_list_node);
+ if (surface->parent->children)
+ surface->parent->children = g_list_remove_link (surface->parent->children, &surface->children_list_node);
- if (!recursing &&
- GDK_SURFACE_IS_MAPPED (surface))
- {
- recompute_visible_regions (surface, FALSE);
- gdk_surface_invalidate_in_parent (surface);
- }
- }
-
- if (surface->gl_paint_context)
+ if (!recursing &&
+ GDK_SURFACE_IS_MAPPED (surface))
{
- /* Make sure to destroy if current */
- g_object_run_dispose (G_OBJECT (surface->gl_paint_context));
- g_object_unref (surface->gl_paint_context);
- surface->gl_paint_context = NULL;
+ recompute_visible_regions (surface, FALSE);
+ gdk_surface_invalidate_in_parent (surface);
}
+ }
- if (surface->frame_clock)
- {
- g_object_run_dispose (G_OBJECT (surface->frame_clock));
- gdk_surface_set_frame_clock (surface, NULL);
- }
+ if (surface->gl_paint_context)
+ {
+ /* Make sure to destroy if current */
+ g_object_run_dispose (G_OBJECT (surface->gl_paint_context));
+ g_object_unref (surface->gl_paint_context);
+ surface->gl_paint_context = NULL;
+ }
- if (surface->surface_type == GDK_SURFACE_FOREIGN)
- g_assert (surface->children == NULL);
- else
- {
- tmp = surface->children;
- surface->children = NULL;
- /* No need to free children list, its all made up of in-struct nodes */
+ if (surface->frame_clock)
+ {
+ g_object_run_dispose (G_OBJECT (surface->frame_clock));
+ gdk_surface_set_frame_clock (surface, NULL);
+ }
- while (tmp)
- {
- temp_surface = tmp->data;
- tmp = tmp->next;
-
- if (temp_surface)
- _gdk_surface_destroy_hierarchy (temp_surface,
- TRUE,
- recursing_native || gdk_surface_has_impl (surface),
- foreign_destroy);
- }
- }
+ tmp = surface->children;
+ surface->children = NULL;
+ /* No need to free children list, its all made up of in-struct nodes */
- _gdk_surface_clear_update_area (surface);
+ while (tmp)
+ {
+ temp_surface = tmp->data;
+ tmp = tmp->next;
+
+ if (temp_surface)
+ _gdk_surface_destroy_hierarchy (temp_surface,
+ TRUE,
+ recursing_native || gdk_surface_has_impl (surface),
+ foreign_destroy);
+ }
- impl_class = GDK_SURFACE_IMPL_GET_CLASS (surface->impl);
+ _gdk_surface_clear_update_area (surface);
- if (gdk_surface_has_impl (surface))
- impl_class->destroy (surface, recursing_native, foreign_destroy);
- else
- {
- /* hide to make sure we repaint and break grabs */
- gdk_surface_hide (surface);
- }
+ impl_class = GDK_SURFACE_IMPL_GET_CLASS (surface->impl);
- surface->state |= GDK_SURFACE_STATE_WITHDRAWN;
- surface->parent = NULL;
- surface->destroyed = TRUE;
+ if (gdk_surface_has_impl (surface))
+ impl_class->destroy (surface, recursing_native, foreign_destroy);
+ else
+ {
+ /* hide to make sure we repaint and break grabs */
+ gdk_surface_hide (surface);
+ }
- surface_remove_from_pointer_info (surface, display);
+ surface->state |= GDK_SURFACE_STATE_WITHDRAWN;
+ surface->parent = NULL;
+ surface->destroyed = TRUE;
- g_object_notify_by_pspec (G_OBJECT (surface), properties[PROP_STATE]);
- }
+ surface_remove_from_pointer_info (surface, display);
+
+ g_object_notify_by_pspec (G_OBJECT (surface), properties[PROP_STATE]);
break;
}
}
@@ -2235,10 +2209,8 @@ _gdk_surface_update_viewable (GdkSurface *surface)
{
gboolean viewable;
- if (surface->surface_type == GDK_SURFACE_FOREIGN)
- viewable = TRUE;
- else if (gdk_surface_is_toplevel (surface) ||
- surface->parent->viewable)
+ if (gdk_surface_is_toplevel (surface) ||
+ surface->parent->viewable)
viewable = GDK_SURFACE_IS_MAPPED (surface);
else
viewable = FALSE;
@@ -2899,24 +2871,19 @@ gdk_surface_set_cursor_internal (GdkSurface *surface,
GdkDevice *device,
GdkCursor *cursor)
{
+ GdkPointerSurfaceInfo *pointer_info;
+ GdkDisplay *display;
+
if (GDK_SURFACE_DESTROYED (surface))
return;
g_assert (gdk_surface_get_display (surface) == gdk_device_get_display (device));
- if (surface->surface_type == GDK_SURFACE_FOREIGN)
- GDK_DEVICE_GET_CLASS (device)->set_surface_cursor (device, surface, cursor);
- else
- {
- GdkPointerSurfaceInfo *pointer_info;
- GdkDisplay *display;
-
- display = gdk_surface_get_display (surface);
- pointer_info = _gdk_display_get_pointer_info (display, device);
+ display = gdk_surface_get_display (surface);
+ pointer_info = _gdk_display_get_pointer_info (display, device);
- if (_gdk_surface_event_parent_of (surface, pointer_info->surface_under_pointer))
- update_cursor (display, device);
- }
+ if (_gdk_surface_event_parent_of (surface, pointer_info->surface_under_pointer))
+ update_cursor (display, device);
}
/**
@@ -5173,10 +5140,10 @@ gdk_surface_register_dnd (GdkSurface *surface)
*
* This function is called by the drag source.
*
- * Returns: (transfer full) (nullable): a newly created #GdkDragContext or
+ * Returns: (transfer full) (nullable): a newly created #GdkDrag or
* %NULL on error.
*/
-GdkDragContext *
+GdkDrag *
gdk_drag_begin (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider *content,
@@ -5525,7 +5492,6 @@ gdk_surface_set_state (GdkSurface *surface,
case GDK_SURFACE_TEMP: /* ? */
g_object_notify (G_OBJECT (surface), "state");
break;
- case GDK_SURFACE_FOREIGN:
case GDK_SURFACE_CHILD:
default:
break;
diff --git a/gdk/gdksurface.h b/gdk/gdksurface.h
index 29e3eed820..a1b800b8f4 100644
--- a/gdk/gdksurface.h
+++ b/gdk/gdksurface.h
@@ -45,10 +45,9 @@ typedef struct _GdkGeometry GdkGeometry;
* @GDK_SURFACE_CHILD: child surface (used to implement e.g. #GtkEntry)
* @GDK_SURFACE_TEMP: override redirect temporary surface (used to implement
* #GtkMenu)
- * @GDK_SURFACE_FOREIGN: foreign surface (see gdk_surface_foreign_new())
* @GDK_SURFACE_SUBSURFACE: subsurface; This surface is visually
* tied to a toplevel, and is moved/stacked with it. Currently this window
- * type is only implemented in Wayland. Since 3.14
+ * type is only implemented in Wayland
*
* Describes the kind of surface.
*/
@@ -57,7 +56,6 @@ typedef enum
GDK_SURFACE_TOPLEVEL,
GDK_SURFACE_CHILD,
GDK_SURFACE_TEMP,
- GDK_SURFACE_FOREIGN,
GDK_SURFACE_SUBSURFACE
} GdkSurfaceType;
@@ -217,9 +215,6 @@ typedef enum
*
* In general, when multiple flags are set, flipping should take precedence over
* sliding, which should take precedence over resizing.
- *
- * Since: 3.22
- * Stability: Unstable
*/
typedef enum
{
@@ -266,8 +261,6 @@ typedef enum
*
* Indicates which monitor (in a multi-head setup) a surface should span over
* when in fullscreen mode.
- *
- * Since: 3.8
**/
typedef enum
{
@@ -377,16 +370,15 @@ struct _GdkGeometry
* @GDK_SURFACE_STATE_ABOVE: the surface is kept above other surfaces.
* @GDK_SURFACE_STATE_BELOW: the surface is kept below other surfaces.
* @GDK_SURFACE_STATE_FOCUSED: the surface is presented as focused (with active decorations).
- * @GDK_SURFACE_STATE_TILED: the surface is in a tiled state, Since 3.10. Since 3.91.2, this
- * is deprecated in favor of per-edge information.
- * @GDK_SURFACE_STATE_TOP_TILED: whether the top edge is tiled, Since 3.91.2
- * @GDK_SURFACE_STATE_TOP_RESIZABLE: whether the top edge is resizable, Since 3.91.2
- * @GDK_SURFACE_STATE_RIGHT_TILED: whether the right edge is tiled, Since 3.91.2
- * @GDK_SURFACE_STATE_RIGHT_RESIZABLE: whether the right edge is resizable, Since 3.91.2
- * @GDK_SURFACE_STATE_BOTTOM_TILED: whether the bottom edge is tiled, Since 3.91.2
- * @GDK_SURFACE_STATE_BOTTOM_RESIZABLE: whether the bottom edge is resizable, Since 3.91.2
- * @GDK_SURFACE_STATE_LEFT_TILED: whether the left edge is tiled, Since 3.91.2
- * @GDK_SURFACE_STATE_LEFT_RESIZABLE: whether the left edge is resizable, Since 3.91.2
+ * @GDK_SURFACE_STATE_TILED: the surface is in a tiled state. Deprecated
+ * @GDK_SURFACE_STATE_TOP_TILED: whether the top edge is tiled
+ * @GDK_SURFACE_STATE_TOP_RESIZABLE: whether the top edge is resizable
+ * @GDK_SURFACE_STATE_RIGHT_TILED: whether the right edge is tiled
+ * @GDK_SURFACE_STATE_RIGHT_RESIZABLE: whether the right edge is resizable
+ * @GDK_SURFACE_STATE_BOTTOM_TILED: whether the bottom edge is tiled
+ * @GDK_SURFACE_STATE_BOTTOM_RESIZABLE: whether the bottom edge is resizable
+ * @GDK_SURFACE_STATE_LEFT_TILED: whether the left edge is tiled
+ * @GDK_SURFACE_STATE_LEFT_RESIZABLE: whether the left edge is resizable
*
* Specifies the state of a toplevel surface.
*/
diff --git a/gdk/gdksurfaceimpl.h b/gdk/gdksurfaceimpl.h
index dfd9716617..03342e477f 100644
--- a/gdk/gdksurfaceimpl.h
+++ b/gdk/gdksurfaceimpl.h
@@ -193,7 +193,7 @@ struct _GdkSurfaceImplClass
gdouble opacity);
void (* destroy_notify) (GdkSurface *surface);
void (* register_dnd) (GdkSurface *surface);
- GdkDragContext * (*drag_begin) (GdkSurface *surface,
+ GdkDrag * (*drag_begin) (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider*content,
GdkDragAction actions,
diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h
index cdd5808e78..16a64df3fc 100644
--- a/gdk/gdktypes.h
+++ b/gdk/gdktypes.h
@@ -123,7 +123,7 @@ typedef struct _GdkContentProvider GdkContentProvider;
typedef struct _GdkCursor GdkCursor;
typedef struct _GdkTexture GdkTexture;
typedef struct _GdkDevice GdkDevice;
-typedef struct _GdkDragContext GdkDragContext;
+typedef struct _GdkDrag GdkDrag;
typedef struct _GdkDrop GdkDrop;
typedef struct _GdkClipboard GdkClipboard;
@@ -196,9 +196,9 @@ typedef enum
* @GDK_MODIFIER_RESERVED_23_MASK: A reserved bit flag; do not use in your own code
* @GDK_MODIFIER_RESERVED_24_MASK: A reserved bit flag; do not use in your own code
* @GDK_MODIFIER_RESERVED_25_MASK: A reserved bit flag; do not use in your own code
- * @GDK_SUPER_MASK: the Super modifier. Since 2.10
- * @GDK_HYPER_MASK: the Hyper modifier. Since 2.10
- * @GDK_META_MASK: the Meta modifier. Since 2.10
+ * @GDK_SUPER_MASK: the Super modifier
+ * @GDK_HYPER_MASK: the Hyper modifier
+ * @GDK_META_MASK: the Meta modifier
* @GDK_MODIFIER_RESERVED_29_MASK: A reserved bit flag; do not use in your own code
* @GDK_RELEASE_MASK: not used in GDK itself. GTK+ uses it to differentiate
* between (keyval, modifiers) pairs from key press and release events.
@@ -210,7 +210,7 @@ typedef enum
*
* Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.
*
- * Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped
+ * GDK recognizes which of the Meta, Super or Hyper keys are mapped
* to Mod2 - Mod5, and indicates this by setting %GDK_SUPER_MASK,
* %GDK_HYPER_MASK or %GDK_META_MASK in the state field of key events.
*
@@ -299,8 +299,6 @@ typedef enum
* invoking menu shortcuts (accelerators), whereas on Apple computers
* it’s the Command key (which correspond to %GDK_CONTROL_MASK and
* %GDK_MOD2_MASK, respectively).
- *
- * Since: 3.4
**/
typedef enum
{
@@ -322,7 +320,7 @@ typedef enum
* @GDK_GRAB_NOT_VIEWABLE: the grab surface or the @confine_to surface are not
* viewable.
* @GDK_GRAB_FROZEN: the resource is frozen by an active grab of another client.
- * @GDK_GRAB_FAILED: the grab failed for some other reason. Since 3.16
+ * @GDK_GRAB_FAILED: the grab failed for some other reason
*
* Returned by gdk_device_grab() to indicate success or the reason for the
* failure of the grab attempt.
@@ -371,13 +369,12 @@ typedef enum
* @GDK_PROPERTY_CHANGE_MASK: receive property change events
* @GDK_PROXIMITY_IN_MASK: receive proximity in events
* @GDK_PROXIMITY_OUT_MASK: receive proximity out events
- * @GDK_SUBSTRUCTURE_MASK: receive events about surface configuration changes of
- * child surfaces
+ * @GDK_SUBSTRUCTURE_MASK: receive events about surface configuration changes of child surfaces
* @GDK_SCROLL_MASK: receive scroll events
- * @GDK_TOUCH_MASK: receive touch events. Since 3.4
- * @GDK_SMOOTH_SCROLL_MASK: receive smooth scrolling events. Since 3.4
- @GDK_TOUCHPAD_GESTURE_MASK: receive touchpad gesture events. Since 3.18
- * @GDK_TABLET_PAD_MASK: receive tablet pad events. Since 3.22
+ * @GDK_TOUCH_MASK: receive touch events
+ * @GDK_SMOOTH_SCROLL_MASK: receive smooth scrolling events
+ @GDK_TOUCHPAD_GESTURE_MASK: receive touchpad gesture events
+ * @GDK_TABLET_PAD_MASK: receive tablet pad events
* @GDK_ALL_EVENTS_MASK: the combination of all the above event masks.
*
* A set of bit-flags to indicate which events a surface is to receive.
@@ -387,11 +384,6 @@ typedef enum
* See the [input handling overview][chap-input-handling] for details of
* [event masks][event-masks] and [event propagation][event-propagation].
*
- * Since GTK 3.8, motion events are already compressed by default, independent
- * of this mechanism. This compression can be disabled with
- * gdk_surface_set_event_compression(). See the documentation of that function
- * for details.
- *
* If %GDK_TOUCH_MASK is enabled, the surface will receive touch events
* from touch-enabled devices. Those will come as sequences of #GdkEventTouch
* with type %GDK_TOUCH_UPDATE, enclosed by two events with
@@ -432,12 +424,10 @@ typedef enum
* @GDK_GL_ERROR_NOT_AVAILABLE: OpenGL support is not available
* @GDK_GL_ERROR_UNSUPPORTED_FORMAT: The requested visual format is not supported
* @GDK_GL_ERROR_UNSUPPORTED_PROFILE: The requested profile is not supported
- * @GDK_GL_ERROR_COMPILATION_FAILED: The shader compilation failed (available since 3.22)
- * @GDK_GL_ERROR_LINK_FAILED: The shader linking failed (available since 3.22)
+ * @GDK_GL_ERROR_COMPILATION_FAILED: The shader compilation failed
+ * @GDK_GL_ERROR_LINK_FAILED: The shader linking failed
*
* Error enumeration for #GdkGLContext.
- *
- * Since: 3.16
*/
typedef enum {
GDK_GL_ERROR_NOT_AVAILABLE,
@@ -454,8 +444,6 @@ typedef enum {
* @GDK_VULKAN_ERROR_NOT_AVAILABLE: Vulkan support is not available on this Surface
*
* Error enumeration for #GdkVulkanContext.
- *
- * Since: 3.90
*/
typedef enum {
GDK_VULKAN_ERROR_UNSUPPORTED,
@@ -519,9 +507,9 @@ typedef enum
* @GDK_AXIS_XTILT: the axis is used for x tilt information.
* @GDK_AXIS_YTILT: the axis is used for y tilt information.
* @GDK_AXIS_WHEEL: the axis is used for wheel information.
- * @GDK_AXIS_DISTANCE: the axis is used for pen/tablet distance information. (Since: 3.22)
- * @GDK_AXIS_ROTATION: the axis is used for pen rotation information. (Since: 3.22)
- * @GDK_AXIS_SLIDER: the axis is used for pen slider information. (Since: 3.22)
+ * @GDK_AXIS_DISTANCE: the axis is used for pen/tablet distance information
+ * @GDK_AXIS_ROTATION: the axis is used for pen rotation information
+ * @GDK_AXIS_SLIDER: the axis is used for pen slider information
* @GDK_AXIS_LAST: a constant equal to the numerically highest axis value.
*
* An enumeration describing the way in which a device
@@ -560,8 +548,6 @@ typedef enum
* @GDK_AXIS_FLAG_SLIDER: Slider axis is present
*
* Flags describing the current capabilities of a device/tool.
- *
- * Since: 3.22
*/
typedef enum
{
@@ -585,7 +571,7 @@ typedef enum
* useful if source and destination agree on what it means.
* @GDK_ACTION_ASK: Ask the user what to do with the data.
*
- * Used in #GdkDragContext to indicate what the destination
+ * Used in #GdkDrag to indicate what the destination
* should do with the dropped data.
*/
typedef enum
diff --git a/gdk/meson.build b/gdk/meson.build
index 4a2e24073c..d68307392b 100644
--- a/gdk/meson.build
+++ b/gdk/meson.build
@@ -15,7 +15,7 @@ gdk_public_sources = files([
'gdkdevicetool.c',
'gdkdisplay.c',
'gdkdisplaymanager.c',
- 'gdkdnd.c',
+ 'gdkdrag.c',
'gdkdrawcontext.c',
'gdkdrop.c',
'gdkevents.c',
@@ -65,7 +65,7 @@ gdk_public_headers = files([
'gdkdevicetool.h',
'gdkdisplay.h',
'gdkdisplaymanager.h',
- 'gdkdnd.h',
+ 'gdkdrag.h',
'gdkdrawcontext.h',
'gdkdrop.h',
'gdkevents.h',
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index 9c9b79b563..97201fd1a4 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -247,7 +247,7 @@ struct _GdkWaylandSeat
GdkClipboard *clipboard;
GdkClipboard *primary_clipboard;
struct wl_data_device *data_device;
- GdkDragContext *drag;
+ GdkDrag *drag;
GdkDrop *drop;
/* Source/dest for non-local dnd */
@@ -4516,6 +4516,12 @@ pointer_surface_update_scale (GdkDevice *device)
gdk_wayland_device_update_surface_cursor (device);
}
+void
+gdk_wayland_seat_update_cursor_scale (GdkWaylandSeat *seat)
+{
+ pointer_surface_update_scale (seat->master_pointer);
+}
+
static void
pointer_surface_enter (void *data,
struct wl_surface *wl_surface,
@@ -5133,12 +5139,12 @@ gdk_wayland_seat_set_global_cursor (GdkSeat *seat,
}
void
-gdk_wayland_seat_set_drag (GdkSeat *seat,
- GdkDragContext *context)
+gdk_wayland_seat_set_drag (GdkSeat *seat,
+ GdkDrag *drag)
{
GdkWaylandSeat *wayland_seat = GDK_WAYLAND_SEAT (seat);
- g_set_object (&wayland_seat->drag, context);
+ g_set_object (&wayland_seat->drag, drag);
}
struct wl_data_device *
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index 77b948a1f2..712112b565 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -38,6 +38,7 @@
#include "gdkdisplay.h"
#include "gdkdisplay-wayland.h"
#include "gdkmonitor-wayland.h"
+#include "gdkseat-wayland.h"
#include "gdkinternals.h"
#include "gdkdeviceprivate.h"
#include "gdkkeysprivate.h"
@@ -857,8 +858,6 @@ gdk_wayland_display_get_next_serial (GdkDisplay *display)
* if no ID has been defined.
*
* Returns: the startup notification ID for @display, or %NULL
- *
- * Since: 4.0
*/
const gchar *
gdk_wayland_display_get_startup_notification_id (GdkDisplay *display)
@@ -1885,9 +1884,20 @@ transform_to_string (int transform)
static void
update_scale (GdkDisplay *display)
{
+ GList *seats;
+ GList *l;
+
g_list_foreach (gdk_wayland_display_get_toplevel_surfaces (display),
(GFunc)gdk_wayland_surface_update_scale,
NULL);
+ seats = gdk_display_list_seats (display);
+ for (l = seats; l; l = l->next)
+ {
+ GdkSeat *seat = l->data;
+
+ gdk_wayland_seat_update_cursor_scale (GDK_WAYLAND_SEAT (seat));
+ }
+ g_list_free (seats);
}
static void
diff --git a/gdk/wayland/gdkdnd-wayland.c b/gdk/wayland/gdkdnd-wayland.c
index 36c0c9b138..4288693766 100644
--- a/gdk/wayland/gdkdnd-wayland.c
+++ b/gdk/wayland/gdkdnd-wayland.c
@@ -17,7 +17,7 @@
#include "config.h"
-#include "gdkdndprivate.h"
+#include "gdkdragprivate.h"
#include "gdkinternals.h"
#include "gdkproperty.h"
@@ -34,19 +34,19 @@
#include <gio/gunixoutputstream.h>
#include <string.h>
-#define GDK_TYPE_WAYLAND_DRAG_CONTEXT (gdk_wayland_drag_context_get_type ())
-#define GDK_WAYLAND_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_DRAG_CONTEXT, GdkWaylandDragContext))
-#define GDK_WAYLAND_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WAYLAND_DRAG_CONTEXT, GdkWaylandDragContextClass))
-#define GDK_IS_WAYLAND_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_DRAG_CONTEXT))
-#define GDK_IS_WAYLAND_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WAYLAND_DRAG_CONTEXT))
-#define GDK_WAYLAND_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WAYLAND_DRAG_CONTEXT, GdkWaylandDragContextClass))
+#define GDK_TYPE_WAYLAND_DRAG (gdk_wayland_drag_get_type ())
+#define GDK_WAYLAND_DRAG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WAYLAND_DRAG, GdkWaylandDrag))
+#define GDK_WAYLAND_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WAYLAND_DRAG, GdkWaylandDragClass))
+#define GDK_IS_WAYLAND_DRAG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_DRAG))
+#define GDK_IS_WAYLAND_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WAYLAND_DRAG))
+#define GDK_WAYLAND_DRAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WAYLAND_DRAG, GdkWaylandDragClass))
-typedef struct _GdkWaylandDragContext GdkWaylandDragContext;
-typedef struct _GdkWaylandDragContextClass GdkWaylandDragContextClass;
+typedef struct _GdkWaylandDrag GdkWaylandDrag;
+typedef struct _GdkWaylandDragClass GdkWaylandDragClass;
-struct _GdkWaylandDragContext
+struct _GdkWaylandDrag
{
- GdkDragContext context;
+ GdkDrag drag;
GdkSurface *dnd_surface;
struct wl_surface *dnd_wl_surface;
struct wl_data_source *data_source;
@@ -57,34 +57,34 @@ struct _GdkWaylandDragContext
gint hot_y;
};
-struct _GdkWaylandDragContextClass
+struct _GdkWaylandDragClass
{
- GdkDragContextClass parent_class;
+ GdkDragClass parent_class;
};
-static GList *contexts;
+static GList *drags;
-GType gdk_wayland_drag_context_get_type (void);
+GType gdk_wayland_drag_get_type (void);
-G_DEFINE_TYPE (GdkWaylandDragContext, gdk_wayland_drag_context, GDK_TYPE_DRAG_CONTEXT)
+G_DEFINE_TYPE (GdkWaylandDrag, gdk_wayland_drag, GDK_TYPE_DRAG)
static void
-gdk_wayland_drag_context_finalize (GObject *object)
+gdk_wayland_drag_finalize (GObject *object)
{
- GdkWaylandDragContext *wayland_context = GDK_WAYLAND_DRAG_CONTEXT (object);
- GdkDragContext *context = GDK_DRAG_CONTEXT (object);
+ GdkWaylandDrag *wayland_drag = GDK_WAYLAND_DRAG (object);
+ GdkDrag *drag = GDK_DRAG (object);
GdkSurface *dnd_surface;
- contexts = g_list_remove (contexts, context);
+ drags = g_list_remove (drags, drag);
- gdk_drag_context_set_cursor (context, NULL);
+ gdk_drag_set_cursor (drag, NULL);
- g_clear_pointer (&wayland_context->data_source, (GDestroyNotify) wl_data_source_destroy);
- g_clear_pointer (&wayland_context->offer, (GDestroyNotify) wl_data_offer_destroy);
+ g_clear_pointer (&wayland_drag->data_source, (GDestroyNotify) wl_data_source_destroy);
+ g_clear_pointer (&wayland_drag->offer, (GDestroyNotify) wl_data_offer_destroy);
- dnd_surface = wayland_context->dnd_surface;
+ dnd_surface = wayland_drag->dnd_surface;
- G_OBJECT_CLASS (gdk_wayland_drag_context_parent_class)->finalize (object);
+ G_OBJECT_CLASS (gdk_wayland_drag_parent_class)->finalize (object);
if (dnd_surface)
gdk_surface_destroy (dnd_surface);
@@ -106,121 +106,121 @@ gdk_to_wl_actions (GdkDragAction action)
}
static void
-gdk_wayland_drag_context_drag_abort (GdkDragContext *context,
- guint32 time)
+gdk_wayland_drag_drag_abort (GdkDrag *drag,
+ guint32 time)
{
}
static void
-gdk_wayland_drag_context_drag_drop (GdkDragContext *context,
- guint32 time)
+gdk_wayland_drag_drag_drop (GdkDrag *drag,
+ guint32 time)
{
}
static void
-gdk_wayland_drag_context_init (GdkWaylandDragContext *context_wayland)
+gdk_wayland_drag_init (GdkWaylandDrag *drag_wayland)
{
- GdkDragContext *context;
+ GdkDrag *drag;
- context = GDK_DRAG_CONTEXT (context_wayland);
- contexts = g_list_prepend (contexts, context);
+ drag = GDK_DRAG (drag_wayland);
+ drags = g_list_prepend (drags, drag);
- context->action = GDK_ACTION_COPY;
+ drag->action = GDK_ACTION_COPY;
}
static GdkSurface *
-gdk_wayland_drag_context_get_drag_surface (GdkDragContext *context)
+gdk_wayland_drag_get_drag_surface (GdkDrag *drag)
{
- return GDK_WAYLAND_DRAG_CONTEXT (context)->dnd_surface;
+ return GDK_WAYLAND_DRAG (drag)->dnd_surface;
}
static void
-gdk_wayland_drag_context_set_hotspot (GdkDragContext *context,
- gint hot_x,
- gint hot_y)
+gdk_wayland_drag_set_hotspot (GdkDrag *drag,
+ gint hot_x,
+ gint hot_y)
{
- GdkWaylandDragContext *context_wayland = GDK_WAYLAND_DRAG_CONTEXT (context);
- gint prev_hot_x = context_wayland->hot_x;
- gint prev_hot_y = context_wayland->hot_y;
+ GdkWaylandDrag *drag_wayland = GDK_WAYLAND_DRAG (drag);
+ gint prev_hot_x = drag_wayland->hot_x;
+ gint prev_hot_y = drag_wayland->hot_y;
const GdkRectangle damage_rect = { .width = 1, .height = 1 };
- context_wayland->hot_x = hot_x;
- context_wayland->hot_y = hot_y;
+ drag_wayland->hot_x = hot_x;
+ drag_wayland->hot_y = hot_y;
if (prev_hot_x == hot_x && prev_hot_y == hot_y)
return;
- _gdk_wayland_surface_offset_next_wl_buffer (context_wayland->dnd_surface,
+ _gdk_wayland_surface_offset_next_wl_buffer (drag_wayland->dnd_surface,
-hot_x, -hot_y);
- gdk_surface_invalidate_rect (context_wayland->dnd_surface, &damage_rect);
+ gdk_surface_invalidate_rect (drag_wayland->dnd_surface, &damage_rect);
}
static void
-gdk_wayland_drag_context_set_cursor (GdkDragContext *context,
- GdkCursor *cursor)
+gdk_wayland_drag_set_cursor (GdkDrag *drag,
+ GdkCursor *cursor)
{
- GdkDevice *device = gdk_drag_context_get_device (context);
+ GdkDevice *device = gdk_drag_get_device (drag);
gdk_wayland_seat_set_global_cursor (gdk_device_get_seat (device), cursor);
}
static void
-gdk_wayland_drag_context_action_changed (GdkDragContext *context,
- GdkDragAction action)
+gdk_wayland_drag_action_changed (GdkDrag *drag,
+ GdkDragAction action)
{
GdkCursor *cursor;
- cursor = gdk_drag_get_cursor (context, action);
- gdk_drag_context_set_cursor (context, cursor);
+ cursor = gdk_drag_get_cursor (drag, action);
+ gdk_drag_set_cursor (drag, cursor);
}
static void
-gdk_wayland_drag_context_drop_performed (GdkDragContext *context,
- guint32 time_)
+gdk_wayland_drag_drop_performed (GdkDrag *drag,
+ guint32 time_)
{
- gdk_drag_context_set_cursor (context, NULL);
+ gdk_drag_set_cursor (drag, NULL);
}
static void
-gdk_wayland_drag_context_cancel (GdkDragContext *context,
- GdkDragCancelReason reason)
+gdk_wayland_drag_cancel (GdkDrag *drag,
+ GdkDragCancelReason reason)
{
- gdk_drag_context_set_cursor (context, NULL);
+ gdk_drag_set_cursor (drag, NULL);
}
static void
-gdk_wayland_drag_context_drop_done (GdkDragContext *context,
- gboolean success)
+gdk_wayland_drag_drop_done (GdkDrag *drag,
+ gboolean success)
{
- GdkWaylandDragContext *context_wayland = GDK_WAYLAND_DRAG_CONTEXT (context);
- GdkDevice *device = gdk_drag_context_get_device (context);
+ GdkWaylandDrag *drag_wayland = GDK_WAYLAND_DRAG (drag);
+ GdkDevice *device = gdk_drag_get_device (drag);
- gdk_wayland_seat_set_drag (gdk_device_get_seat (device), context);
+ gdk_wayland_seat_set_drag (gdk_device_get_seat (device), drag);
if (success)
{
- if (context_wayland->dnd_surface)
- gdk_surface_hide (context_wayland->dnd_surface);
+ if (drag_wayland->dnd_surface)
+ gdk_surface_hide (drag_wayland->dnd_surface);
}
}
static void
-gdk_wayland_drag_context_class_init (GdkWaylandDragContextClass *klass)
+gdk_wayland_drag_class_init (GdkWaylandDragClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass);
-
- object_class->finalize = gdk_wayland_drag_context_finalize;
-
- context_class->drag_abort = gdk_wayland_drag_context_drag_abort;
- context_class->drag_drop = gdk_wayland_drag_context_drag_drop;
- context_class->get_drag_surface = gdk_wayland_drag_context_get_drag_surface;
- context_class->set_hotspot = gdk_wayland_drag_context_set_hotspot;
- context_class->drop_done = gdk_wayland_drag_context_drop_done;
- context_class->set_cursor = gdk_wayland_drag_context_set_cursor;
- context_class->action_changed = gdk_wayland_drag_context_action_changed;
- context_class->drop_performed = gdk_wayland_drag_context_drop_performed;
- context_class->cancel = gdk_wayland_drag_context_cancel;
+ GdkDragClass *drag_class = GDK_DRAG_CLASS (klass);
+
+ object_class->finalize = gdk_wayland_drag_finalize;
+
+ drag_class->drag_abort = gdk_wayland_drag_drag_abort;
+ drag_class->drag_drop = gdk_wayland_drag_drag_drop;
+ drag_class->get_drag_surface = gdk_wayland_drag_get_drag_surface;
+ drag_class->set_hotspot = gdk_wayland_drag_set_hotspot;
+ drag_class->drop_done = gdk_wayland_drag_drop_done;
+ drag_class->set_cursor = gdk_wayland_drag_set_cursor;
+ drag_class->action_changed = gdk_wayland_drag_action_changed;
+ drag_class->drop_performed = gdk_wayland_drag_drop_performed;
+ drag_class->cancel = gdk_wayland_drag_cancel;
}
void
@@ -266,15 +266,15 @@ data_source_target (void *data,
}
static void
-gdk_wayland_drag_context_write_done (GObject *context,
- GAsyncResult *result,
- gpointer user_data)
+gdk_wayland_drag_write_done (GObject *drag,
+ GAsyncResult *result,
+ gpointer user_data)
{
GError *error = NULL;
- if (!gdk_drag_context_write_finish (GDK_DRAG_CONTEXT (context), result, &error))
+ if (!gdk_drag_write_finish (GDK_DRAG (drag), result, &error))
{
- GDK_DISPLAY_NOTE (gdk_drag_context_get_display (GDK_DRAG_CONTEXT (context)), DND, g_message ("%p: failed to write stream: %s", context, error->message));
+ GDK_DISPLAY_NOTE (gdk_drag_get_display (GDK_DRAG (drag)), DND, g_message ("%p: failed to write stream: %s", drag, error->message));
g_error_free (error);
}
}
@@ -285,23 +285,23 @@ data_source_send (void *data,
const char *mime_type,
int32_t fd)
{
- GdkDragContext *context = data;
+ GdkDrag *drag = data;
GOutputStream *stream;
- GDK_DISPLAY_NOTE (gdk_drag_context_get_display (context), DND, g_message ("%p: data source send request for %s on fd %d\n",
+ GDK_DISPLAY_NOTE (gdk_drag_get_display (drag), DND, g_message ("%p: data source send request for %s on fd %d\n",
source, mime_type, fd));
//mime_type = gdk_intern_mime_type (mime_type);
mime_type = g_intern_string (mime_type);
stream = g_unix_output_stream_new (fd, TRUE);
- gdk_drag_context_write_async (context,
- mime_type,
- stream,
- G_PRIORITY_DEFAULT,
- NULL,
- gdk_wayland_drag_context_write_done,
- context);
+ gdk_drag_write_async (drag,
+ mime_type,
+ stream,
+ G_PRIORITY_DEFAULT,
+ NULL,
+ gdk_wayland_drag_write_done,
+ drag);
g_object_unref (stream);
}
@@ -309,30 +309,30 @@ static void
data_source_cancelled (void *data,
struct wl_data_source *source)
{
- GdkDragContext *context = data;
+ GdkDrag *drag = data;
- GDK_DISPLAY_NOTE (gdk_drag_context_get_display (context), EVENTS,
+ GDK_DISPLAY_NOTE (gdk_drag_get_display (drag), EVENTS,
g_message ("data source cancelled, source = %p", source));
- gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_ERROR);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_ERROR);
}
static void
data_source_dnd_drop_performed (void *data,
struct wl_data_source *source)
{
- GdkDragContext *context = data;
+ GdkDrag *drag = data;
- g_signal_emit_by_name (context, "drop-performed");
+ g_signal_emit_by_name (drag, "drop-performed");
}
static void
data_source_dnd_finished (void *data,
struct wl_data_source *source)
{
- GdkDragContext *context = data;
+ GdkDrag *drag = data;
- g_signal_emit_by_name (context, "dnd-finished");
+ g_signal_emit_by_name (drag, "dnd-finished");
}
static void
@@ -340,14 +340,14 @@ data_source_action (void *data,
struct wl_data_source *source,
uint32_t action)
{
- GdkDragContext *context = data;
+ GdkDrag *drag = data;
- GDK_DISPLAY_NOTE (gdk_drag_context_get_display (context), EVENTS,
+ GDK_DISPLAY_NOTE (gdk_drag_get_display (drag), EVENTS,
g_message ("data source action, source = %p action=%x",
source, action));
- context->action = _wl_to_gdk_actions (action);
- g_signal_emit_by_name (context, "action-changed", context->action);
+ drag->action = _wl_to_gdk_actions (action);
+ g_signal_emit_by_name (drag, "action-changed", drag->action);
}
static const struct wl_data_source_listener data_source_listener = {
@@ -360,27 +360,27 @@ static const struct wl_data_source_listener data_source_listener = {
};
static void
-gdk_wayland_drag_context_create_data_source (GdkDragContext *context)
+gdk_wayland_drag_create_data_source (GdkDrag *drag)
{
- GdkWaylandDragContext *context_wayland = GDK_WAYLAND_DRAG_CONTEXT (context);
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkWaylandDrag *drag_wayland = GDK_WAYLAND_DRAG (drag);
+ GdkDisplay *display = gdk_drag_get_display (drag);
GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
const char *const *mimetypes;
gsize i, n_mimetypes;
- context_wayland->data_source = wl_data_device_manager_create_data_source (display_wayland->data_device_manager);
- wl_data_source_add_listener (context_wayland->data_source,
+ drag_wayland->data_source = wl_data_device_manager_create_data_source (display_wayland->data_device_manager);
+ wl_data_source_add_listener (drag_wayland->data_source,
&data_source_listener,
- context);
+ drag);
- mimetypes = gdk_content_formats_get_mime_types (gdk_drag_context_get_formats (context), &n_mimetypes);
+ mimetypes = gdk_content_formats_get_mime_types (gdk_drag_get_formats (drag), &n_mimetypes);
for (i = 0; i < n_mimetypes; i++)
{
- wl_data_source_offer (context_wayland->data_source, mimetypes[i]);
+ wl_data_source_offer (drag_wayland->data_source, mimetypes[i]);
}
}
-GdkDragContext *
+GdkDrag *
_gdk_wayland_surface_drag_begin (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider *content,
@@ -388,53 +388,53 @@ _gdk_wayland_surface_drag_begin (GdkSurface *surface,
gint dx,
gint dy)
{
- GdkWaylandDragContext *context_wayland;
- GdkDragContext *context;
+ GdkWaylandDrag *drag_wayland;
+ GdkDrag *drag;
GdkSeat *seat;
GdkWaylandDisplay *display_wayland;
display_wayland = GDK_WAYLAND_DISPLAY (gdk_device_get_display (device));
seat = gdk_device_get_seat (device);
- context_wayland = g_object_new (GDK_TYPE_WAYLAND_DRAG_CONTEXT,
- "device", device,
- "content", content,
- NULL);
- context = GDK_DRAG_CONTEXT (context_wayland);
- context->source_surface = g_object_ref (surface);
+ drag_wayland = g_object_new (GDK_TYPE_WAYLAND_DRAG,
+ "device", device,
+ "content", content,
+ NULL);
+ drag = GDK_DRAG (drag_wayland);
+ drag->source_surface = g_object_ref (surface);
- context_wayland->dnd_surface = create_dnd_surface (gdk_surface_get_display (surface));
- context_wayland->dnd_wl_surface = gdk_wayland_surface_get_wl_surface (context_wayland->dnd_surface);
+ drag_wayland->dnd_surface = create_dnd_surface (gdk_surface_get_display (surface));
+ drag_wayland->dnd_wl_surface = gdk_wayland_surface_get_wl_surface (drag_wayland->dnd_surface);
- gdk_wayland_drag_context_create_data_source (context);
+ gdk_wayland_drag_create_data_source (drag);
if (display_wayland->data_device_manager_version >=
WL_DATA_SOURCE_SET_ACTIONS_SINCE_VERSION)
{
- wl_data_source_set_actions (context_wayland->data_source,
+ wl_data_source_set_actions (drag_wayland->data_source,
gdk_to_wl_actions (actions));
}
- gdk_wayland_seat_set_drag (seat, context);
+ gdk_wayland_seat_set_drag (seat, drag);
wl_data_device_start_drag (gdk_wayland_device_get_data_device (device),
- context_wayland->data_source,
+ drag_wayland->data_source,
gdk_wayland_surface_get_wl_surface (surface),
- context_wayland->dnd_wl_surface,
+ drag_wayland->dnd_wl_surface,
_gdk_wayland_display_get_serial (display_wayland));
gdk_seat_ungrab (seat);
- return context;
+ return drag;
}
void
-_gdk_wayland_drag_context_set_source_surface (GdkDragContext *context,
- GdkSurface *surface)
+_gdk_wayland_drag_set_source_surface (GdkDrag *drag,
+ GdkSurface *surface)
{
- if (context->source_surface)
- g_object_unref (context->source_surface);
+ if (drag->source_surface)
+ g_object_unref (drag->source_surface);
- context->source_surface = surface ? g_object_ref (surface) : NULL;
+ drag->source_surface = surface ? g_object_ref (surface) : NULL;
}
diff --git a/gdk/wayland/gdkdrop-wayland.c b/gdk/wayland/gdkdrop-wayland.c
index d290c6229b..1c21dafdfa 100644
--- a/gdk/wayland/gdkdrop-wayland.c
+++ b/gdk/wayland/gdkdrop-wayland.c
@@ -261,7 +261,7 @@ gdk_wayland_drop_init (GdkWaylandDrop *drop)
GdkDrop *
gdk_wayland_drop_new (GdkDevice *device,
- GdkDragContext *drag,
+ GdkDrag *drag,
GdkContentFormats *formats,
GdkSurface *surface,
struct wl_data_offer *offer,
diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h
index e4984cc5d4..68bd84b4a5 100644
--- a/gdk/wayland/gdkprivate-wayland.h
+++ b/gdk/wayland/gdkprivate-wayland.h
@@ -95,7 +95,7 @@ void gdk_wayland_surface_attach_image (GdkSurface
const cairo_region_t *damage);
void _gdk_wayland_surface_register_dnd (GdkSurface *surface);
-GdkDragContext *_gdk_wayland_surface_drag_begin (GdkSurface *surface,
+GdkDrag *_gdk_wayland_surface_drag_begin (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider *content,
GdkDragAction actions,
@@ -105,7 +105,7 @@ void _gdk_wayland_surface_offset_next_wl_buffer (GdkSurface *surface,
int x,
int y);
GdkDrop * gdk_wayland_drop_new (GdkDevice *device,
- GdkDragContext *drag,
+ GdkDrag *drag,
GdkContentFormats *formats,
GdkSurface *surface,
struct wl_data_offer *offer,
@@ -115,13 +115,13 @@ void gdk_wayland_drop_set_source_actions (GdkDrop
void gdk_wayland_drop_set_action (GdkDrop *drop,
uint32_t action);
-void _gdk_wayland_drag_context_set_source_surface (GdkDragContext *context,
- GdkSurface *surface);
+void _gdk_wayland_drag_set_source_surface (GdkDrag *drag,
+ GdkSurface *surface);
-void _gdk_wayland_display_create_surface_impl (GdkDisplay *display,
- GdkSurface *surface,
- GdkSurface *real_parent,
- GdkSurfaceAttr *attributes);
+void _gdk_wayland_display_create_surface_impl (GdkDisplay *display,
+ GdkSurface *surface,
+ GdkSurface *real_parent,
+ GdkSurfaceAttr *attributes);
gint _gdk_wayland_display_text_property_to_utf8_list (GdkDisplay *display,
GdkAtom encoding,
@@ -147,7 +147,7 @@ struct wl_data_device * gdk_wayland_device_get_data_device (GdkDevice *gdk_devic
void gdk_wayland_device_set_selection (GdkDevice *gdk_device,
struct wl_data_source *source);
-GdkDragContext * gdk_wayland_device_get_drop_context (GdkDevice *gdk_device);
+GdkDrag* gdk_wayland_device_get_drop_context (GdkDevice *gdk_device);
void gdk_wayland_device_unset_touch_grab (GdkDevice *device,
GdkEventSequence *sequence);
@@ -193,7 +193,7 @@ struct gtk_surface1 * gdk_wayland_surface_get_gtk_surface (GdkSurface *surface);
void gdk_wayland_seat_set_global_cursor (GdkSeat *seat,
GdkCursor *cursor);
void gdk_wayland_seat_set_drag (GdkSeat *seat,
- GdkDragContext *drag);
+ GdkDrag *drag);
struct wl_output *gdk_wayland_surface_get_wl_output (GdkSurface *surface);
diff --git a/gdk/wayland/gdkseat-wayland.h b/gdk/wayland/gdkseat-wayland.h
index 52c73e22ee..eccc792817 100644
--- a/gdk/wayland/gdkseat-wayland.h
+++ b/gdk/wayland/gdkseat-wayland.h
@@ -41,4 +41,6 @@ struct _GdkWaylandSeatClass
GType gdk_wayland_seat_get_type (void) G_GNUC_CONST;
+void gdk_wayland_seat_update_cursor_scale (GdkWaylandSeat *seat);
+
#endif /* __GDK_WAYLAND_SEAT_H__ */
diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
index 39380537a2..9683a5a8ed 100644
--- a/gdk/wayland/gdkselection-wayland.c
+++ b/gdk/wayland/gdkselection-wayland.c
@@ -28,7 +28,6 @@
#include "gdkprivate-wayland.h"
#include "gdkdisplay-wayland.h"
#include "gdkcontentformatsprivate.h"
-#include "gdkdndprivate.h"
#include "gdkproperty.h"
#include <string.h>
diff --git a/gdk/win32/gdkclipdrop-win32.c b/gdk/win32/gdkclipdrop-win32.c
index f3d4925fb5..78cf1ba892 100644
--- a/gdk/win32/gdkclipdrop-win32.c
+++ b/gdk/win32/gdkclipdrop-win32.c
@@ -280,7 +280,7 @@ Otherwise it's similar to how the clipboard works. Only the DnD server
#include "gdkclipboard-win32.h"
#include "gdkclipdrop-win32.h"
#include "gdkhdataoutputstream-win32.h"
-#include "gdk/gdkdndprivate.h"
+#include "gdk/gdkdragprivate.h"
#include "gdkwin32dnd.h"
#include "gdkwin32dnd-private.h"
#include "gdkwin32.h"
diff --git a/gdk/win32/gdkdevice-win32.c b/gdk/win32/gdkdevice-win32.c
index 037d1b05cf..49549e19ba 100644
--- a/gdk/win32/gdkdevice-win32.c
+++ b/gdk/win32/gdkdevice-win32.c
@@ -222,8 +222,7 @@ _gdk_device_win32_surface_at_position (GdkDevice *device,
do {
window = gdk_win32_handle_table_lookup (hwnd);
- if (window != NULL &&
- GDK_SURFACE_TYPE (window) != GDK_SURFACE_FOREIGN)
+ if (window != NULL)
break;
screen_to_client (hwnd, screen_pt, &client_pt);
diff --git a/gdk/win32/gdkdrag-win32.c b/gdk/win32/gdkdrag-win32.c
index f605171ec1..347e0f6f19 100644
--- a/gdk/win32/gdkdrag-win32.c
+++ b/gdk/win32/gdkdrag-win32.c
@@ -130,7 +130,7 @@
* From that point forward the context gets any events emitted
* by GDK, and can prevent these events from going anywhere else.
* They are all handled in
- * S: gdk_drag_context_handle_source_event() -> backend:handle_event()
+ * S: gdk_drag_handle_source_event() -> backend:handle_event()
* (except for wayland backend - it doesn't have that function).
*
* That function catches the following events:
@@ -195,14 +195,14 @@
/* For C-style COM wrapper macros */
#define COBJMACROS
-#include "gdkdnd.h"
+#include "gdkdrag.h"
#include "gdkproperty.h"
#include "gdkinternals.h"
#include "gdkprivate-win32.h"
#include "gdkwin32.h"
#include "gdkwin32dnd.h"
#include "gdkdisplayprivate.h"
-#include "gdk/gdkdndprivate.h"
+#include "gdk/gdkdragprivate.h"
#include "gdkwin32dnd-private.h"
#include "gdkdisplay-win32.h"
#include "gdkdeviceprivate.h"
@@ -226,12 +226,12 @@ typedef struct
IDropSource ids;
IDropSourceNotify idsn;
gint ref_count;
- GdkDragContext *drag;
+ GdkDrag *drag;
/* These are thread-local
- * copies of the similar fields from GdkWin32DragContext
+ * copies of the similar fields from GdkWin32Drag
*/
- GdkWin32DragContextUtilityData util_data;
+ GdkWin32DragUtilityData util_data;
/* Cached here, so that we don't have to look in
* the context every time.
@@ -249,7 +249,7 @@ typedef struct
typedef struct {
IDataObject ido;
int ref_count;
- GdkDragContext *drag;
+ GdkDrag *drag;
GArray *formats;
} data_object;
@@ -342,8 +342,8 @@ struct _GdkWin32DnDThreadUpdateDragState
{
GdkWin32DnDThreadQueueItem base;
- gpointer opaque_ddd;
- GdkWin32DragContextUtilityData produced_util_data;
+ gpointer opaque_ddd;
+ GdkWin32DragUtilityData produced_util_data;
};
typedef struct _GdkWin32DnDThread GdkWin32DnDThread;
@@ -485,10 +485,10 @@ process_dnd_queue (gboolean timed,
}
void
-_gdk_win32_local_drag_context_drop_response (GdkDragContext *drag,
- GdkDragAction action)
+_gdk_win32_local_drag_drop_response (GdkDrag *drag,
+ GdkDragAction action)
{
- GDK_NOTE (DND, g_print ("_gdk_win32_local_drag_context_drop_response: 0x%p\n",
+ GDK_NOTE (DND, g_print ("_gdk_win32_local_drag_drop_response: 0x%p\n",
drag));
g_signal_emit_by_name (drag, "dnd-finished");
@@ -500,8 +500,8 @@ do_drag_drop_response (gpointer user_data)
{
GdkWin32DnDThreadDoDragDrop *ddd = (GdkWin32DnDThreadDoDragDrop *) user_data;
HRESULT hr = ddd->received_result;
- GdkDragContext *drag = GDK_DRAG_CONTEXT (ddd->base.opaque_context);
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkDrag *drag = GDK_DRAG (ddd->base.opaque_context);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GdkWin32Clipdrop *clipdrop = _gdk_win32_clipdrop_get ();
gpointer table_value = g_hash_table_lookup (clipdrop->active_source_drags, drag);
@@ -560,7 +560,7 @@ received_drag_context_data (GObject *drag,
GdkWin32DnDThreadGetData *getdata = (GdkWin32DnDThreadGetData *) user_data;
GdkWin32Clipdrop *clipdrop = _gdk_win32_clipdrop_get ();
- if (!gdk_drag_context_write_finish (GDK_DRAG_CONTEXT (drag), result, &error))
+ if (!gdk_drag_write_finish (GDK_DRAG (drag), result, &error))
{
HANDLE handle;
gboolean is_hdata;
@@ -593,7 +593,7 @@ get_data_response (gpointer user_data)
{
GdkWin32DnDThreadGetData *getdata = (GdkWin32DnDThreadGetData *) user_data;
GdkWin32Clipdrop *clipdrop = _gdk_win32_clipdrop_get ();
- GdkDragContext *drag = GDK_DRAG_CONTEXT (getdata->base.opaque_context);
+ GdkDrag *drag = GDK_DRAG (getdata->base.opaque_context);
gpointer ddd = g_hash_table_lookup (clipdrop->active_source_drags, drag);
GDK_NOTE (DND, g_print ("idataobject_getdata will request target 0x%p (%s)",
@@ -610,7 +610,7 @@ get_data_response (gpointer user_data)
if (stream)
{
getdata->stream = GDK_WIN32_HDATA_OUTPUT_STREAM (stream);
- gdk_drag_context_write_async (drag,
+ gdk_drag_write_async (drag,
getdata->pair.contentformat,
stream,
G_PRIORITY_DEFAULT,
@@ -721,16 +721,16 @@ typedef enum {
static gboolean use_ole2_dnd = TRUE;
-static gboolean drag_context_grab (GdkDragContext *drag);
+static gboolean drag_context_grab (GdkDrag *drag);
-G_DEFINE_TYPE (GdkWin32DragContext, gdk_win32_drag_context, GDK_TYPE_DRAG_CONTEXT)
+G_DEFINE_TYPE (GdkWin32Drag, gdk_win32_drag, GDK_TYPE_DRAG)
static void
-move_drag_surface (GdkDragContext *drag,
- guint x_root,
- guint y_root)
+move_drag_surface (GdkDrag *drag,
+ guint x_root,
+ guint y_root)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
g_assert (_win32_main_thread == NULL ||
_win32_main_thread == g_thread_self ());
@@ -742,7 +742,7 @@ move_drag_surface (GdkDragContext *drag,
}
static void
-gdk_win32_drag_context_init (GdkWin32DragContext *drag)
+gdk_win32_drag_init (GdkWin32Drag *drag)
{
g_assert (_win32_main_thread == NULL ||
_win32_main_thread == g_thread_self ());
@@ -750,32 +750,32 @@ gdk_win32_drag_context_init (GdkWin32DragContext *drag)
drag->handle_events = TRUE;
drag->dest_window = INVALID_HANDLE_VALUE;
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_init %p\n", drag));
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_init %p\n", drag));
}
static void
-gdk_win32_drag_context_finalize (GObject *object)
+gdk_win32_drag_finalize (GObject *object)
{
- GdkDragContext *drag;
- GdkWin32DragContext *drag_win32;
+ GdkDrag *drag;
+ GdkWin32Drag *drag_win32;
GdkSurface *drag_surface;
g_assert (_win32_main_thread == NULL ||
_win32_main_thread == g_thread_self ());
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_finalize %p\n", object));
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_finalize %p\n", object));
- g_return_if_fail (GDK_IS_WIN32_DRAG_CONTEXT (object));
+ g_return_if_fail (GDK_IS_WIN32_DRAG (object));
- drag = GDK_DRAG_CONTEXT (object);
- drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ drag = GDK_DRAG (object);
+ drag_win32 = GDK_WIN32_DRAG (drag);
- gdk_drag_context_set_cursor (drag, NULL);
+ gdk_drag_set_cursor (drag, NULL);
g_set_object (&drag_win32->grab_surface, NULL);
drag_surface = drag_win32->drag_surface;
- G_OBJECT_CLASS (gdk_win32_drag_context_parent_class)->finalize (object);
+ G_OBJECT_CLASS (gdk_win32_drag_parent_class)->finalize (object);
if (drag_surface)
gdk_surface_destroy (drag_surface);
@@ -783,30 +783,30 @@ gdk_win32_drag_context_finalize (GObject *object)
/* Drag Contexts */
-static GdkDragContext *
-gdk_drag_context_new (GdkDisplay *display,
- GdkContentProvider *content,
- GdkDragAction actions,
- GdkDevice *device,
- GdkDragProtocol protocol)
+static GdkDrag *
+gdk_drag_new (GdkDisplay *display,
+ GdkContentProvider *content,
+ GdkDragAction actions,
+ GdkDevice *device,
+ GdkDragProtocol protocol)
{
- GdkWin32DragContext *drag_win32;
+ GdkWin32Drag *drag_win32;
GdkWin32Display *win32_display = GDK_WIN32_DISPLAY (display);
- GdkDragContext *drag;
+ GdkDrag *drag;
- drag_win32 = g_object_new (GDK_TYPE_WIN32_DRAG_CONTEXT,
- "device", device,
- "content", content,
- NULL);
+ drag_win32 = g_object_new (GDK_TYPE_WIN32_DRAG,
+ "device", device,
+ "content", content,
+ NULL);
- drag = GDK_DRAG_CONTEXT (drag_win32);
+ drag = GDK_DRAG (drag_win32);
if (win32_display->has_fixed_scale)
drag_win32->scale = win32_display->surface_scale;
else
drag_win32->scale = _gdk_win32_display_get_monitor_scale_factor (win32_display, NULL, NULL, NULL);
- gdk_drag_context_set_actions (drag, actions, actions);
+ gdk_drag_set_actions (drag, actions, actions);
drag_win32->protocol = protocol;
return drag;
@@ -828,15 +828,15 @@ gdk_drag_context_new (GdkDisplay *display,
static enum_formats *enum_formats_new (GArray *formats);
-/* Finds a GdkDragContext object that corresponds to a DnD operation
+/* Finds a GdkDrag object that corresponds to a DnD operation
* which is currently targetting the dest_window
* Does not give a reference.
*/
-GdkDragContext *
+GdkDrag *
_gdk_win32_find_drag_for_dest_window (HWND dest_window)
{
GHashTableIter iter;
- GdkWin32DragContext *drag_win32;
+ GdkWin32Drag *drag_win32;
GdkWin32DnDThreadDoDragDrop *ddd;
GdkWin32Clipdrop *clipdrop = _gdk_win32_clipdrop_get ();
@@ -844,7 +844,7 @@ _gdk_win32_find_drag_for_dest_window (HWND dest_window)
while (g_hash_table_iter_next (&iter, (gpointer *) &drag_win32, (gpointer *) &ddd))
if (ddd->src_context->dest_window_handle == dest_window)
- return GDK_DRAG_CONTEXT (drag_win32);
+ return GDK_DRAG (drag_win32);
return NULL;
}
@@ -888,7 +888,7 @@ static gboolean
notify_dnd_enter (gpointer user_data)
{
GdkWin32DnDEnterLeaveNotify *notify = (GdkWin32DnDEnterLeaveNotify *) user_data;
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (notify->opaque_context);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (notify->opaque_context);
drag_win32->dest_window = notify->target_window_handle;
@@ -901,7 +901,7 @@ static gboolean
notify_dnd_leave (gpointer user_data)
{
GdkWin32DnDEnterLeaveNotify *notify = (GdkWin32DnDEnterLeaveNotify *) user_data;
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (notify->opaque_context);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (notify->opaque_context);
if (notify->target_window_handle != drag_win32->dest_window)
g_warning ("DnD leave says that the window handle is 0x%p, but drag has 0x%p", notify->target_window_handle, drag_win32->dest_window);
@@ -998,7 +998,7 @@ idropsource_queryinterface (LPDROPSOURCE This,
static gboolean
unref_context_in_main_thread (gpointer opaque_context)
{
- GdkDragContext *drag = GDK_DRAG_CONTEXT (opaque_context);
+ GdkDrag *drag = GDK_DRAG (opaque_context);
g_clear_object (&drag);
@@ -1066,21 +1066,21 @@ idropsource_querycontinuedrag (LPDROPSOURCE This,
}
static void
-maybe_emit_action_changed (GdkWin32DragContext *drag_win32,
+maybe_emit_action_changed (GdkWin32Drag *drag_win32,
GdkDragAction actions)
{
if (actions != drag_win32->current_action)
{
drag_win32->current_action = actions;
- g_signal_emit_by_name (GDK_DRAG_CONTEXT (drag_win32), "action-changed", actions);
+ g_signal_emit_by_name (GDK_DRAG (drag_win32), "action-changed", actions);
}
}
void
-_gdk_win32_local_drag_give_feedback (GdkDragContext *drag,
+_gdk_win32_local_drag_give_feedback (GdkDrag *drag,
GdkDragAction actions)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
if (drag_win32->drag_status == GDK_DRAG_STATUS_MOTION_WAIT)
drag_win32->drag_status = GDK_DRAG_STATUS_DRAG;
@@ -1101,8 +1101,8 @@ give_feedback (gpointer user_data)
if (ddd)
{
- GdkDragContext *drag = GDK_DRAG_CONTEXT (feedback->base.opaque_context);
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkDrag *drag = GDK_DRAG (feedback->base.opaque_context);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GDK_NOTE (DND, g_print ("gdk_dnd_handle_drag_status: 0x%p\n",
drag));
@@ -1587,13 +1587,13 @@ static IEnumFORMATETCVtbl ief_vtbl = {
};
static source_drag_context *
-source_context_new (GdkDragContext *drag,
+source_context_new (GdkDrag *drag,
GdkContentFormats *formats)
{
- GdkWin32DragContext *drag_win32;
+ GdkWin32Drag *drag_win32;
source_drag_context *result;
- drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ drag_win32 = GDK_WIN32_DRAG (drag);
result = g_new0 (source_drag_context, 1);
result->drag = g_object_ref (drag);
@@ -1611,7 +1611,7 @@ source_context_new (GdkDragContext *drag,
}
static data_object *
-data_object_new (GdkDragContext *drag)
+data_object_new (GdkDrag *drag)
{
data_object *result;
const char * const *mime_types;
@@ -1624,7 +1624,7 @@ data_object_new (GdkDragContext *drag)
result->drag = drag;
result->formats = g_array_new (FALSE, FALSE, sizeof (GdkWin32ContentFormatPair));
- mime_types = gdk_content_formats_get_mime_types (gdk_drag_context_get_formats (drag), &n_mime_types);
+ mime_types = gdk_content_formats_get_mime_types (gdk_drag_get_formats (drag), &n_mime_types);
for (i = 0; i < n_mime_types; i++)
{
@@ -1701,7 +1701,7 @@ create_drag_surface (GdkDisplay *display)
return surface;
}
-GdkDragContext *
+GdkDrag *
_gdk_win32_surface_drag_begin (GdkSurface *surface,
GdkDevice *device,
GdkContentProvider *content,
@@ -1709,19 +1709,19 @@ _gdk_win32_surface_drag_begin (GdkSurface *surface,
gint dx,
gint dy)
{
- GdkDragContext *drag;
- GdkWin32DragContext *drag_win32;
+ GdkDrag *drag;
+ GdkWin32Drag *drag_win32;
GdkWin32Clipdrop *clipdrop = _gdk_win32_clipdrop_get ();
int x_root, y_root;
g_return_val_if_fail (surface != NULL, NULL);
- drag = gdk_drag_context_new (gdk_surface_get_display (surface),
- content,
- actions,
- device,
- use_ole2_dnd ? GDK_DRAG_PROTO_OLE2 : GDK_DRAG_PROTO_LOCAL);
- drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ drag = gdk_drag_new (gdk_surface_get_display (surface),
+ content,
+ actions,
+ device,
+ use_ole2_dnd ? GDK_DRAG_PROTO_OLE2 : GDK_DRAG_PROTO_LOCAL);
+ drag_win32 = GDK_WIN32_DRAG (drag);
g_set_object (&drag->source_surface, surface);
@@ -1752,8 +1752,7 @@ _gdk_win32_surface_drag_begin (GdkSurface *surface,
source_drag_context *source_ctx;
data_object *data_obj;
- source_ctx = source_context_new (drag,
- gdk_drag_context_get_formats (drag));
+ source_ctx = source_context_new (drag, gdk_drag_get_formats (drag));
data_obj = data_object_new (drag);
ddd->base.item_type = GDK_WIN32_DND_THREAD_QUEUE_ITEM_DO_DRAG_DROP;
@@ -1830,12 +1829,12 @@ find_window_enum_proc (HWND hwnd,
* drop targets about drags that move over them.
*/
static HWND
-gdk_win32_drag_context_find_window (GdkDragContext *drag,
- GdkSurface *drag_surface,
- gint x_root,
- gint y_root)
+gdk_win32_drag_find_window (GdkDrag *drag,
+ GdkSurface *drag_surface,
+ gint x_root,
+ gint y_root)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
find_window_enum_arg a;
HWND result;
@@ -1848,14 +1847,14 @@ gdk_win32_drag_context_find_window (GdkDragContext *drag,
a.result = INVALID_HANDLE_VALUE;
GDK_NOTE (DND,
- g_print ("gdk_win32_drag_context_find_window: %p %+d%+d\n",
+ g_print ("gdk_win32_drag_find_window: %p %+d%+d\n",
(drag_surface ? GDK_SURFACE_HWND (drag_surface) : NULL),
a.x, a.y));
EnumWindows (find_window_enum_proc, (LPARAM) &a);
GDK_NOTE (DND,
- g_print ("gdk_win32_drag_context_find_window: %p %+d%+d: %p\n",
+ g_print ("gdk_win32_drag_find_window: %p %+d%+d: %p\n",
(drag_surface ? GDK_SURFACE_HWND (drag_surface) : NULL),
x_root, y_root,
a.result));
@@ -1900,7 +1899,7 @@ _gdk_win32_get_drop_for_dest_window (HWND dest_window)
}
static gboolean
-gdk_win32_local_drag_motion (GdkDragContext *drag,
+gdk_win32_local_drag_motion (GdkDrag *drag,
HWND dest_window,
gint x_root,
gint y_root,
@@ -1908,7 +1907,7 @@ gdk_win32_local_drag_motion (GdkDragContext *drag,
DWORD key_state,
guint32 time_)
{
- GdkWin32DragContext *drag_win32;
+ GdkWin32Drag *drag_win32;
GdkDrop *drop;
GdkDragAction actions;
@@ -1917,11 +1916,11 @@ gdk_win32_local_drag_motion (GdkDragContext *drag,
g_return_val_if_fail (drag != NULL, FALSE);
- drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ drag_win32 = GDK_WIN32_DRAG (drag);
drop = _gdk_win32_get_drop_for_dest_window (drag_win32->dest_window);
- actions = gdk_drag_context_get_actions (drag);
+ actions = gdk_drag_get_actions (drag);
GDK_NOTE (DND, g_print ("gdk_win32_local_drag_motion: @ %+d:%+d possible=%s\n"
" dest=%p (current %p) drop=%p drag=%p:{actions=%s,suggested=%s,action=%s}\n",
@@ -1929,7 +1928,7 @@ gdk_win32_local_drag_motion (GdkDragContext *drag,
_gdk_win32_drag_action_to_string (possible_actions),
dest_window, drag_win32->dest_window, drop, drag,
_gdk_win32_drag_action_to_string (actions),
- _gdk_win32_drag_action_to_string (gdk_drag_context_get_suggested_action (drag)),
+ _gdk_win32_drag_action_to_string (gdk_drag_get_suggested_action (drag)),
_gdk_win32_drag_action_to_string (drag->action)));
if (drag_win32->dest_window != dest_window)
@@ -1962,7 +1961,7 @@ gdk_win32_local_drag_motion (GdkDragContext *drag,
drag_win32->drag_status == GDK_DRAG_STATUS_DRAG &&
_gdk_win32_local_drop_target_will_emit_motion (drop, x_root, y_root, key_state))
{
- actions = gdk_drag_context_get_actions (drag);
+ actions = gdk_drag_get_actions (drag);
drag_win32->drag_status = GDK_DRAG_STATUS_MOTION_WAIT;
_gdk_win32_local_drop_target_dragover (drop, drag, x_root, y_root, key_state, time_, &actions);
@@ -1974,31 +1973,31 @@ gdk_win32_local_drag_motion (GdkDragContext *drag,
" drag=%p:{actions=%s,suggested=%s,action=%s}\n",
(drop != NULL && drag_win32->drag_status == GDK_DRAG_STATUS_DRAG) ? "TRUE" : "FALSE",
drag,
- _gdk_win32_drag_action_to_string (gdk_drag_context_get_actions (drag)),
- _gdk_win32_drag_action_to_string (gdk_drag_context_get_suggested_action (drag)),
+ _gdk_win32_drag_action_to_string (gdk_drag_get_actions (drag)),
+ _gdk_win32_drag_action_to_string (gdk_drag_get_suggested_action (drag)),
_gdk_win32_drag_action_to_string (drag->action)));
return (drop != NULL && drag_win32->drag_status == GDK_DRAG_STATUS_DRAG);
}
static void
send_source_state_update (GdkWin32Clipdrop *clipdrop,
- GdkWin32DragContext *context_win32,
+ GdkWin32Drag *drag_win32,
gpointer *ddd)
{
GdkWin32DnDThreadUpdateDragState *status = g_new0 (GdkWin32DnDThreadUpdateDragState, 1);
status->base.item_type = GDK_WIN32_DND_THREAD_QUEUE_ITEM_UPDATE_DRAG_STATE;
status->opaque_ddd = ddd;
- status->produced_util_data = context_win32->util_data;
+ status->produced_util_data = drag_win32->util_data;
increment_dnd_queue_counter ();
g_async_queue_push (clipdrop->dnd_queue, status);
API_CALL (PostThreadMessage, (clipdrop->dnd_thread_id, thread_wakeup_message, 0, 0));
}
static void
-gdk_win32_drag_context_drag_drop (GdkDragContext *drag,
- guint32 time_)
+gdk_win32_drag_drop (GdkDrag *drag,
+ guint32 time_)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GdkWin32Clipdrop *clipdrop = _gdk_win32_clipdrop_get ();
g_assert (_win32_main_thread == NULL ||
@@ -2006,7 +2005,7 @@ gdk_win32_drag_context_drag_drop (GdkDragContext *drag,
g_return_if_fail (drag != NULL);
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_drag_drop\n"));
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_drop\n"));
if (drag_win32->protocol == GDK_DRAG_PROTO_LOCAL)
{
@@ -2016,10 +2015,10 @@ gdk_win32_drag_context_drag_drop (GdkDragContext *drag,
{
GdkDragAction actions;
- actions = gdk_drag_context_get_actions (drag);
+ actions = gdk_drag_get_actions (drag);
_gdk_win32_local_drop_target_drop (drop, drag, time_, &actions);
maybe_emit_action_changed (drag_win32, actions);
- _gdk_win32_local_drag_context_drop_response (drag, actions);
+ _gdk_win32_local_drag_drop_response (drag, actions);
}
}
else if (drag_win32->protocol == GDK_DRAG_PROTO_OLE2)
@@ -2034,10 +2033,10 @@ gdk_win32_drag_context_drag_drop (GdkDragContext *drag,
}
static void
-gdk_win32_drag_context_drag_abort (GdkDragContext *drag,
- guint32 time_)
+gdk_win32_drag_abort (GdkDrag *drag,
+ guint32 time_)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GdkWin32Clipdrop *clipdrop = _gdk_win32_clipdrop_get ();
g_assert (_win32_main_thread == NULL ||
@@ -2045,7 +2044,7 @@ gdk_win32_drag_context_drag_abort (GdkDragContext *drag,
g_return_if_fail (drag != NULL);
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_drag_abort\n"));
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_abort\n"));
if (drag_win32->protocol == GDK_DRAG_PROTO_OLE2)
{
@@ -2059,12 +2058,12 @@ gdk_win32_drag_context_drag_abort (GdkDragContext *drag,
}
static void
-gdk_win32_drag_context_set_cursor (GdkDragContext *drag,
- GdkCursor *cursor)
+gdk_win32_drag_set_cursor (GdkDrag *drag,
+ GdkCursor *cursor)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_set_cursor: 0x%p 0x%p\n", drag, cursor));
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_set_cursor: 0x%p 0x%p\n", drag, cursor));
if (!g_set_object (&drag_win32->cursor, cursor))
return;
@@ -2092,7 +2091,7 @@ ease_out_cubic (double t)
typedef struct _GdkDragAnim GdkDragAnim;
struct _GdkDragAnim {
- GdkWin32DragContext *drag;
+ GdkWin32Drag *drag;
GdkFrameClock *frame_clock;
gint64 start_time;
};
@@ -2108,7 +2107,7 @@ static gboolean
gdk_drag_anim_timeout (gpointer data)
{
GdkDragAnim *anim = data;
- GdkWin32DragContext *drag = anim->drag;
+ GdkWin32Drag *drag = anim->drag;
GdkFrameClock *frame_clock = anim->frame_clock;
gint64 current_time;
double f;
@@ -2136,10 +2135,10 @@ gdk_drag_anim_timeout (gpointer data)
}
static void
-gdk_win32_drag_context_drop_done (GdkDragContext *drag,
- gboolean success)
+gdk_win32_drag_drop_done (GdkDrag *drag,
+ gboolean success)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GdkDragAnim *anim;
/*
cairo_surface_t *win_surface;
@@ -2148,7 +2147,7 @@ gdk_win32_drag_context_drop_done (GdkDragContext *drag,
*/
guint id;
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_drop_done: 0x%p %s\n",
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_drop_done: 0x%p %s\n",
drag,
success ? "dropped successfully" : "dropped unsuccessfully"));
@@ -2207,7 +2206,7 @@ gdk_win32_drag_context_drop_done (GdkDragContext *drag,
anim->frame_clock = gdk_surface_get_frame_clock (drag_win32->drag_surface);
anim->start_time = gdk_frame_clock_get_frame_time (anim->frame_clock);
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_drop_done: animate the drag window from %d : %d to %d : %d\n",
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_drop_done: animate the drag window from %d : %d to %d : %d\n",
drag_win32->util_data.last_x, drag_win32->util_data.last_y,
drag_win32->start_x, drag_win32->start_y));
@@ -2218,9 +2217,9 @@ gdk_win32_drag_context_drop_done (GdkDragContext *drag,
}
static gboolean
-drag_context_grab (GdkDragContext *drag)
+drag_context_grab (GdkDrag *drag)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GdkSeatCapabilities capabilities;
GdkSeat *seat;
GdkCursor *cursor;
@@ -2232,11 +2231,11 @@ drag_context_grab (GdkDragContext *drag)
if (!drag_win32->grab_surface)
return FALSE;
- seat = gdk_device_get_seat (gdk_drag_context_get_device (drag));
+ seat = gdk_device_get_seat (gdk_drag_get_device (drag));
capabilities = GDK_SEAT_CAPABILITY_ALL;
- cursor = gdk_drag_get_cursor (drag, gdk_drag_context_get_selected_action (drag));
+ cursor = gdk_drag_get_cursor (drag, gdk_drag_get_selected_action (drag));
g_set_object (&drag_win32->cursor, cursor);
if (gdk_seat_grab (seat, drag_win32->grab_surface,
@@ -2252,9 +2251,9 @@ drag_context_grab (GdkDragContext *drag)
}
static void
-drag_context_ungrab (GdkDragContext *drag)
+drag_context_ungrab (GdkDrag *drag)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GDK_NOTE (DND, g_print ("drag_context_ungrab: 0x%p 0x%p\n",
drag,
@@ -2271,10 +2270,10 @@ drag_context_ungrab (GdkDragContext *drag)
}
static void
-gdk_win32_drag_context_cancel (GdkDragContext *drag,
- GdkDragCancelReason reason)
+gdk_win32_drag_cancel (GdkDrag *drag,
+ GdkDragCancelReason reason)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
const gchar *reason_str = NULL;
switch (reason)
@@ -2293,7 +2292,7 @@ gdk_win32_drag_context_cancel (GdkDragContext *drag,
break;
}
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_cancel: 0x%p %s\n",
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_cancel: 0x%p %s\n",
drag,
reason_str));
@@ -2305,20 +2304,20 @@ gdk_win32_drag_context_cancel (GdkDragContext *drag,
drop = NULL;
}
- gdk_drag_context_set_cursor (drag, NULL);
+ gdk_drag_set_cursor (drag, NULL);
drag_context_ungrab (drag);
gdk_drag_drop_done (drag, FALSE);
}
static void
-gdk_win32_drag_context_drop_performed (GdkDragContext *drag,
- guint32 time_)
+gdk_win32_drag_drop_performed (GdkDrag *drag,
+ guint32 time_)
{
- GDK_NOTE (DND, g_print ("gdk_win32_drag_context_drop_performed: 0x%p %u\n",
+ GDK_NOTE (DND, g_print ("gdk_win32_drag_drop_performed: 0x%p %u\n",
drag,
time_));
gdk_drag_drop (drag, time_);
- gdk_drag_context_set_cursor (drag, NULL);
+ gdk_drag_set_cursor (drag, NULL);
drag_context_ungrab (drag);
}
@@ -2326,33 +2325,33 @@ gdk_win32_drag_context_drop_performed (GdkDragContext *drag,
#define SMALL_STEP 1
static void
-gdk_local_drag_update (GdkDragContext *drag,
- gdouble x_root,
- gdouble y_root,
- DWORD grfKeyState,
- guint32 evtime)
+gdk_local_drag_update (GdkDrag *drag,
+ gdouble x_root,
+ gdouble y_root,
+ DWORD grfKeyState,
+ guint32 evtime)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
HWND dest_window;
g_assert (_win32_main_thread == NULL ||
_win32_main_thread == g_thread_self ());
- dest_window = gdk_win32_drag_context_find_window (drag,
- drag_win32->drag_surface,
- x_root, y_root);
+ dest_window = gdk_win32_drag_find_window (drag,
+ drag_win32->drag_surface,
+ x_root, y_root);
gdk_win32_local_drag_motion (drag, dest_window, x_root, y_root,
- gdk_drag_context_get_actions (drag),
+ gdk_drag_get_actions (drag),
grfKeyState, evtime);
}
static gboolean
-gdk_dnd_handle_motion_event (GdkDragContext *drag,
+gdk_dnd_handle_motion_event (GdkDrag *drag,
const GdkEventMotion *event)
{
GdkModifierType state;
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
DWORD key_state;
if (!gdk_event_get_state ((GdkEvent *) event, &state))
@@ -2391,10 +2390,10 @@ gdk_dnd_handle_motion_event (GdkDragContext *drag,
}
static gboolean
-gdk_dnd_handle_key_event (GdkDragContext *drag,
+gdk_dnd_handle_key_event (GdkDrag *drag,
const GdkEventKey *event)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GdkModifierType state;
GdkDevice *pointer;
gint dx, dy;
@@ -2413,7 +2412,7 @@ gdk_dnd_handle_key_event (GdkDragContext *drag,
switch (event->keyval)
{
case GDK_KEY_Escape:
- gdk_drag_context_cancel (drag, GDK_DRAG_CANCEL_USER_CANCELLED);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_USER_CANCELLED);
return TRUE;
case GDK_KEY_space:
@@ -2421,13 +2420,13 @@ gdk_dnd_handle_key_event (GdkDragContext *drag,
case GDK_KEY_ISO_Enter:
case GDK_KEY_KP_Enter:
case GDK_KEY_KP_Space:
- if ((gdk_drag_context_get_selected_action (drag) != 0) &&
+ if ((gdk_drag_get_selected_action (drag) != 0) &&
(drag_win32->dest_window != INVALID_HANDLE_VALUE))
{
g_signal_emit_by_name (drag, "drop-performed");
}
else
- gdk_drag_context_cancel (drag, GDK_DRAG_CANCEL_NO_TARGET);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_NO_TARGET);
return TRUE;
@@ -2477,10 +2476,10 @@ gdk_dnd_handle_key_event (GdkDragContext *drag,
}
static gboolean
-gdk_dnd_handle_grab_broken_event (GdkDragContext *drag,
+gdk_dnd_handle_grab_broken_event (GdkDrag *drag,
const GdkEventGrabBroken *event)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
GDK_NOTE (DND, g_print ("gdk_dnd_handle_grab_broken_event: 0x%p\n",
drag));
@@ -2495,15 +2494,15 @@ gdk_dnd_handle_grab_broken_event (GdkDragContext *drag,
return FALSE;
if (gdk_event_get_device ((GdkEvent *) event) !=
- gdk_drag_context_get_device (drag))
+ gdk_drag_get_device (drag))
return FALSE;
- gdk_drag_context_cancel (drag, GDK_DRAG_CANCEL_ERROR);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_ERROR);
return TRUE;
}
static gboolean
-gdk_dnd_handle_button_event (GdkDragContext *drag,
+gdk_dnd_handle_button_event (GdkDrag *drag,
const GdkEventButton *event)
{
GDK_NOTE (DND, g_print ("gdk_dnd_handle_button_event: 0x%p\n",
@@ -2515,22 +2514,22 @@ gdk_dnd_handle_button_event (GdkDragContext *drag,
return FALSE;
#endif
- if ((gdk_drag_context_get_selected_action (drag) != 0))
+ if ((gdk_drag_get_selected_action (drag) != 0))
{
g_signal_emit_by_name (drag, "drop-performed");
}
else
- gdk_drag_context_cancel (drag, GDK_DRAG_CANCEL_NO_TARGET);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_NO_TARGET);
/* Make sure GTK gets mouse release button event */
return FALSE;
}
gboolean
-gdk_win32_drag_context_handle_event (GdkDragContext *drag,
- const GdkEvent *event)
+gdk_win32_drag_handle_event (GdkDrag *drag,
+ const GdkEvent *event)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
if (!drag_win32->grab_seat)
return FALSE;
@@ -2560,29 +2559,29 @@ gdk_win32_drag_context_handle_event (GdkDragContext *drag,
}
void
-gdk_win32_drag_context_action_changed (GdkDragContext *drag,
- GdkDragAction action)
+gdk_win32_drag_action_changed (GdkDrag *drag,
+ GdkDragAction action)
{
GdkCursor *cursor;
cursor = gdk_drag_get_cursor (drag, action);
- gdk_drag_context_set_cursor (drag, cursor);
+ gdk_drag_set_cursor (drag, cursor);
}
static GdkSurface *
-gdk_win32_drag_context_get_drag_surface (GdkDragContext *drag)
+gdk_win32_drag_get_drag_surface (GdkDrag *drag)
{
- return GDK_WIN32_DRAG_CONTEXT (drag)->drag_surface;
+ return GDK_WIN32_DRAG (drag)->drag_surface;
}
static void
-gdk_win32_drag_context_set_hotspot (GdkDragContext *drag,
- gint hot_x,
- gint hot_y)
+gdk_win32_drag_set_hotspot (GdkDrag *drag,
+ gint hot_x,
+ gint hot_y)
{
- GdkWin32DragContext *drag_win32 = GDK_WIN32_DRAG_CONTEXT (drag);
+ GdkWin32Drag *drag_win32 = GDK_WIN32_DRAG (drag);
- GDK_NOTE (DND, g_print ("gdk_drag_context_set_hotspot: 0x%p %d:%d\n",
+ GDK_NOTE (DND, g_print ("gdk_drag_set_hotspot: 0x%p %d:%d\n",
drag,
hot_x, hot_y));
@@ -2597,23 +2596,22 @@ gdk_win32_drag_context_set_hotspot (GdkDragContext *drag,
}
static void
-gdk_win32_drag_context_class_init (GdkWin32DragContextClass *klass)
+gdk_win32_drag_class_init (GdkWin32DragClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass);
+ GdkDragClass *drag_class = GDK_DRAG_CLASS (klass);
- object_class->finalize = gdk_win32_drag_context_finalize;
+ object_class->finalize = gdk_win32_drag_finalize;
- context_class->drag_abort = gdk_win32_drag_context_drag_abort;
- context_class->drag_drop = gdk_win32_drag_context_drag_drop;
-
- context_class->get_drag_surface = gdk_win32_drag_context_get_drag_surface;
- context_class->set_hotspot = gdk_win32_drag_context_set_hotspot;
- context_class->drop_done = gdk_win32_drag_context_drop_done;
- context_class->set_cursor = gdk_win32_drag_context_set_cursor;
- context_class->cancel = gdk_win32_drag_context_cancel;
- context_class->drop_performed = gdk_win32_drag_context_drop_performed;
- context_class->handle_event = gdk_win32_drag_context_handle_event;
- context_class->action_changed = gdk_win32_drag_context_action_changed;
+ drag_class->drag_abort = gdk_win32_drag_abort;
+ drag_class->drag_drop = gdk_win32_drag_drop;
+ drag_class->get_drag_surface = gdk_win32_drag_get_drag_surface;
+ drag_class->set_hotspot = gdk_win32_drag_set_hotspot;
+ drag_class->drop_done = gdk_win32_drag_drop_done;
+ drag_class->set_cursor = gdk_win32_drag_set_cursor;
+ drag_class->cancel = gdk_win32_drag_cancel;
+ drag_class->drop_performed = gdk_win32_drag_drop_performed;
+ drag_class->handle_event = gdk_win32_drag_handle_event;
+ drag_class->action_changed = gdk_win32_drag_action_changed;
}
diff --git a/gdk/win32/gdkdrop-win32.c b/gdk/win32/gdkdrop-win32.c
index 1ddba01f06..1525590716 100644
--- a/gdk/win32/gdkdrop-win32.c
+++ b/gdk/win32/gdkdrop-win32.c
@@ -41,7 +41,7 @@
#include "gdkdropprivate.h"
-#include "gdkdnd.h"
+#include "gdkdrag.h"
#include "gdkproperty.h"
#include "gdkinternals.h"
#include "gdkprivate-win32.h"
@@ -172,7 +172,7 @@ gdk_win32_drop_finalize (GObject *object)
static GdkDrop *
gdk_drop_new (GdkDisplay *display,
GdkDevice *device,
- GdkDragContext *drag,
+ GdkDrag *drag,
GdkContentFormats *formats,
GdkSurface *surface,
GdkDragProtocol protocol)
@@ -453,7 +453,7 @@ set_source_actions_helper (GdkDrop *drop,
}
void
-_gdk_win32_local_drop_target_dragenter (GdkDragContext *drag,
+_gdk_win32_local_drop_target_dragenter (GdkDrag *drag,
GdkSurface *dest_surface,
gint x_root,
gint y_root,
@@ -478,7 +478,7 @@ _gdk_win32_local_drop_target_dragenter (GdkDragContext *drag,
drop = gdk_drop_new (display,
gdk_seat_get_pointer (gdk_display_get_default_seat (display)),
drag,
- gdk_content_formats_ref (gdk_drag_context_get_formats (drag)),
+ gdk_content_formats_ref (gdk_drag_get_formats (drag)),
dest_surface,
GDK_DRAG_PROTO_LOCAL);
drop_win32 = GDK_WIN32_DROP (drop);
@@ -518,7 +518,7 @@ idroptarget_dragenter (LPDROPTARGET This,
GdkDisplay *display;
gint pt_x;
gint pt_y;
- GdkDragContext *drag;
+ GdkDrag *drag;
GdkDragAction source_actions;
GdkDragAction dest_actions;
@@ -531,7 +531,7 @@ idroptarget_dragenter (LPDROPTARGET This,
g_clear_object (&ctx->drop);
- /* Try to find the GdkDragContext object for this DnD operation,
+ /* Try to find the GdkDrag object for this DnD operation,
* if it originated in our own application.
*/
drag = NULL;
@@ -593,7 +593,7 @@ _gdk_win32_local_drop_target_will_emit_motion (GdkDrop *drop,
void
_gdk_win32_local_drop_target_dragover (GdkDrop *drop,
- GdkDragContext *drag,
+ GdkDrag *drag,
gint x_root,
gint y_root,
DWORD grfKeyState,
@@ -710,7 +710,7 @@ idroptarget_dragleave (LPDROPTARGET This)
void
_gdk_win32_local_drop_target_drop (GdkDrop *drop,
- GdkDragContext *drag,
+ GdkDrag *drag,
guint32 time_,
GdkDragAction *actions)
{
@@ -1065,7 +1065,7 @@ gdk_win32_drop_status (GdkDrop *drop,
GdkDragAction actions)
{
GdkWin32Drop *drop_win32 = GDK_WIN32_DROP (drop);
- GdkDragContext *drag;
+ GdkDrag *drag;
g_return_if_fail (drop != NULL);
@@ -1090,7 +1090,7 @@ static void
gdk_win32_drop_finish (GdkDrop *drop,
GdkDragAction action)
{
- GdkDragContext *drag;
+ GdkDrag *drag;
GdkWin32Drop *drop_win32 = GDK_WIN32_DROP (drop);
g_return_if_fail (drop != NULL);
@@ -1107,7 +1107,7 @@ gdk_win32_drop_finish (GdkDrop *drop,
drag = gdk_drop_get_drag (drop);
if (drag != NULL)
- _gdk_win32_local_drag_context_drop_response (drag, action);
+ _gdk_win32_local_drag_drop_response (drag, action);
*/
}
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 9b2d88110f..e8934b9be8 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -59,7 +59,7 @@
#include "gdkwin32dnd-private.h"
#include "gdkdisplay-win32.h"
//#include "gdkselection-win32.h"
-#include "gdkdndprivate.h"
+#include "gdkdragprivate.h"
#include <windowsx.h>
@@ -873,7 +873,7 @@ _gdk_win32_print_event (const GdkEvent *event)
if (event->dnd.drop != NULL)
g_print ("ctx:%p: %s",
event->dnd.drop,
- _gdk_win32_drag_protocol_to_string (GDK_WIN32_DRAG_CONTEXT (event->dnd.drop)->protocol));
+ _gdk_win32_drag_protocol_to_string (GDK_WIN32_DRAG (event->dnd.drop)->protocol));
break;
case GDK_SCROLL:
g_print ("(%.4g,%.4g) (%.4g,%.4g) %s ",
diff --git a/gdk/win32/gdkgeometry-win32.c b/gdk/win32/gdkgeometry-win32.c
index d3119d4b49..f800fa8cc6 100644
--- a/gdk/win32/gdkgeometry-win32.c
+++ b/gdk/win32/gdkgeometry-win32.c
@@ -131,8 +131,7 @@ _gdk_win32_surface_tmp_unset_bg (GdkSurface *window,
return;
if (_gdk_surface_has_impl (window) &&
- GDK_SURFACE_IS_WIN32 (window) &&
- window->surface_type != GDK_SURFACE_FOREIGN)
+ GDK_SURFACE_IS_WIN32 (window))
tmp_unset_bg (window);
if (recurse)
@@ -164,8 +163,7 @@ _gdk_win32_surface_tmp_reset_bg (GdkSurface *window,
return;
if (_gdk_surface_has_impl (window) &&
- GDK_SURFACE_IS_WIN32 (window) &&
- window->surface_type != GDK_SURFACE_FOREIGN)
+ GDK_SURFACE_IS_WIN32 (window))
{
tmp_reset_bg (window);
}
diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h
index b4352f89c6..4f8a3e2f30 100644
--- a/gdk/win32/gdkprivate-win32.h
+++ b/gdk/win32/gdkprivate-win32.h
@@ -423,12 +423,12 @@ void _gdk_win32_display_create_surface_impl (GdkDisplay *display,
void _gdk_win32_surface_register_dnd (GdkSurface *window);
void _gdk_win32_surface_unregister_dnd (GdkSurface *window);
-GdkDragContext *_gdk_win32_surface_drag_begin (GdkSurface *window,
- GdkDevice *device,
- GdkContentProvider *content,
- GdkDragAction actions,
- gint x_root,
- gint y_root);
+GdkDrag *_gdk_win32_surface_drag_begin (GdkSurface *window,
+ GdkDevice *device,
+ GdkContentProvider *content,
+ GdkDragAction actions,
+ gint x_root,
+ gint y_root);
/* Stray GdkWin32Screen members */
gboolean _gdk_win32_get_setting (const gchar *name, GValue *value);
diff --git a/gdk/win32/gdksurface-win32.c b/gdk/win32/gdksurface-win32.c
index af46bd7b28..ee922825fe 100644
--- a/gdk/win32/gdksurface-win32.c
+++ b/gdk/win32/gdksurface-win32.c
@@ -126,9 +126,6 @@ static void gdk_win32_impl_frame_clock_after_paint (GdkFrameClock *clock,
static gboolean _gdk_surface_get_functions (GdkSurface *window,
GdkWMFunction *functions);
-#define SURFACE_IS_TOPLEVEL(window) \
- (GDK_SURFACE_TYPE (window) != GDK_SURFACE_FOREIGN)
-
struct _GdkWin32Surface {
GdkSurface parent;
};
@@ -595,22 +592,14 @@ _gdk_win32_display_create_surface_impl (GdkDisplay *display,
/* The common code warns for this case. */
hparent = GetDesktopWindow ();
}
- /* Children of foreign windows aren't toplevel windows */
- if (real_parent != NULL && GDK_SURFACE_TYPE (real_parent) == GDK_SURFACE_FOREIGN)
- {
- dwStyle = WS_CHILDWINDOW | WS_CLIPCHILDREN;
- }
+ /* MSDN: We need WS_CLIPCHILDREN and WS_CLIPSIBLINGS for GL Context Creation */
+ if (window->surface_type == GDK_SURFACE_TOPLEVEL)
+ dwStyle = WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
else
- {
- /* MSDN: We need WS_CLIPCHILDREN and WS_CLIPSIBLINGS for GL Context Creation */
- if (window->surface_type == GDK_SURFACE_TOPLEVEL)
- dwStyle = WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
- else
- dwStyle = WS_OVERLAPPED | WS_MINIMIZEBOX | WS_SYSMENU | WS_CAPTION | WS_THICKFRAME | WS_CLIPCHILDREN;
+ dwStyle = WS_OVERLAPPED | WS_MINIMIZEBOX | WS_SYSMENU | WS_CAPTION | WS_THICKFRAME | WS_CLIPCHILDREN;
- offset_x = _gdk_offset_x;
- offset_y = _gdk_offset_y;
- }
+ offset_x = _gdk_offset_x;
+ offset_y = _gdk_offset_y;
break;
case GDK_SURFACE_TEMP:
@@ -645,8 +634,8 @@ _gdk_win32_display_create_surface_impl (GdkDisplay *display,
x = y = CW_USEDEFAULT;
}
else
- {
- /* TEMP, FOREIGN: Put these where requested */
+ {
+ /* TEMP: Put these where requested */
x = real_x;
y = real_y;
}
@@ -810,9 +799,8 @@ gdk_win32_surface_destroy_notify (GdkSurface *window)
if (!GDK_SURFACE_DESTROYED (window))
{
- if (GDK_SURFACE_TYPE (window) != GDK_SURFACE_FOREIGN)
- g_warning ("window %p unexpectedly destroyed",
- GDK_SURFACE_HWND (window));
+ g_warning ("window %p unexpectedly destroyed",
+ GDK_SURFACE_HWND (window));
_gdk_surface_destroy (window, TRUE);
}
@@ -1380,8 +1368,7 @@ gdk_win32_surface_move_resize (GdkSurface *window,
out:
surface_impl->inhibit_configure = FALSE;
- if (SURFACE_IS_TOPLEVEL (window))
- _gdk_win32_emit_configure_event (window);
+ _gdk_win32_emit_configure_event (window);
}
static void
@@ -2175,10 +2162,6 @@ _gdk_win32_surface_lacks_wm_decorations (GdkSurface *window)
if (GDK_SURFACE_DESTROYED (window))
return FALSE;
- /* only toplevels can be layered */
- if (!SURFACE_IS_TOPLEVEL (window))
- return FALSE;
-
impl = GDK_SURFACE_IMPL_WIN32 (window->impl);
/* This is because GTK calls gdk_surface_set_decorations (window, 0),
@@ -5048,7 +5031,7 @@ gdk_win32_surface_set_opacity (GdkSurface *window,
g_return_if_fail (GDK_IS_SURFACE (window));
- if (!SURFACE_IS_TOPLEVEL (window) || GDK_SURFACE_DESTROYED (window))
+ if (GDK_SURFACE_DESTROYED (window))
return;
if (opacity < 0)
diff --git a/gdk/win32/gdkwin32dnd-private.h b/gdk/win32/gdkwin32dnd-private.h
index 0c8d89f100..efe081f77e 100644
--- a/gdk/win32/gdkwin32dnd-private.h
+++ b/gdk/win32/gdkwin32dnd-private.h
@@ -26,12 +26,12 @@
G_BEGIN_DECLS
-typedef struct _GdkWin32DragContextUtilityData GdkWin32DragContextUtilityData;
+typedef struct _GdkWin32DragUtilityData GdkWin32DragUtilityData;
/* This structure is deliberately designed to be
* copyable with memcpy(), i.e. no pointers inside.
*/
-struct _GdkWin32DragContextUtilityData
+struct _GdkWin32DragUtilityData
{
gint last_x; /* Coordinates from last event, in GDK space */
gint last_y;
@@ -39,15 +39,15 @@ struct _GdkWin32DragContextUtilityData
GdkWin32DndState state;
};
-struct _GdkWin32DragContext
+struct _GdkWin32Drag
{
- GdkDragContext drag;
+ GdkDrag drag;
/* The drag protocol being used */
GdkDragProtocol protocol;
/* The surface used for grabs.
- * Usually the same as GdkDragContext->source_surface
+ * Usually the same as GdkDrag->source_surface
*/
GdkSurface *grab_surface;
@@ -71,7 +71,7 @@ struct _GdkWin32DragContext
*/
GdkDragAction current_action;
- GdkWin32DragContextUtilityData util_data;
+ GdkWin32DragUtilityData util_data;
guint scale; /* Temporarily caches the HiDPI scale */
gint hot_x; /* Hotspot offset from the top-left of the drag-window, scaled (can be added to GDK space coordinates) */
@@ -84,23 +84,23 @@ struct _GdkWin32DragContext
guint handle_events : 1; /* Whether handle_event() should do anything */
};
-struct _GdkWin32DragContextClass
+struct _GdkWin32DragClass
{
- GdkDragContextClass parent_class;
+ GdkDragClass parent_class;
};
gpointer _gdk_win32_dnd_thread_main (gpointer data);
-GdkDragContext *_gdk_win32_find_drag_for_dest_window (HWND dest_window);
-GdkDrop *_gdk_win32_get_drop_for_dest_surface (GdkSurface *dest);
+GdkDrag *_gdk_win32_find_drag_for_dest_window (HWND dest_window);
+GdkDrop *_gdk_win32_get_drop_for_dest_surface (GdkSurface *dest);
gboolean _gdk_win32_local_drop_target_will_emit_motion (GdkDrop *drop,
gint x_root,
gint y_root,
DWORD grfKeyState);
-void _gdk_win32_local_drop_target_dragenter (GdkDragContext *drag,
+void _gdk_win32_local_drop_target_dragenter (GdkDrag *drag,
GdkSurface *dest_surface,
gint x_root,
gint y_root,
@@ -108,22 +108,22 @@ void _gdk_win32_local_drop_target_dragenter (GdkDragContext *drag,
guint32 time_,
GdkDragAction *actions);
void _gdk_win32_local_drop_target_dragover (GdkDrop *drop,
- GdkDragContext *drag,
+ GdkDrag *drag,
gint x_root,
gint y_root,
DWORD grfKeyState,
guint32 time_,
GdkDragAction *actions);
-void _gdk_win32_local_drop_target_dragleave (GdkDrop *drop,
- guint32 time_);
+void _gdk_win32_local_drop_target_dragleave (GdkDrop *drop,
+ guint32 time_);
void _gdk_win32_local_drop_target_drop (GdkDrop *drop,
- GdkDragContext *drag,
+ GdkDrag *drag,
guint32 time_,
GdkDragAction *actions);
-void _gdk_win32_local_drag_give_feedback (GdkDragContext *drag,
+void _gdk_win32_local_drag_give_feedback (GdkDrag *drag,
GdkDragAction actions);
-void _gdk_win32_local_drag_context_drop_response (GdkDragContext *drag,
+void _gdk_win32_local_drag_drop_response (GdkDrag *drag,
GdkDragAction action);
diff --git a/gdk/win32/gdkwin32dnd.h b/gdk/win32/gdkwin32dnd.h
index 31a0ee85e4..af6cc402dd 100644
--- a/gdk/win32/gdkwin32dnd.h
+++ b/gdk/win32/gdkwin32dnd.h
@@ -26,23 +26,23 @@
G_BEGIN_DECLS
-#define GDK_TYPE_WIN32_DRAG_CONTEXT (gdk_win32_drag_context_get_type ())
-#define GDK_WIN32_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_DRAG_CONTEXT, GdkWin32DragContext))
-#define GDK_WIN32_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_DRAG_CONTEXT, GdkWin32DragContextClass))
-#define GDK_IS_WIN32_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_DRAG_CONTEXT))
-#define GDK_IS_WIN32_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_DRAG_CONTEXT))
-#define GDK_WIN32_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_DRAG_CONTEXT, GdkWin32DragContextClass))
+#define GDK_TYPE_WIN32_DRAG (gdk_win32_drag_get_type ())
+#define GDK_WIN32_DRAG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_DRAG, GdkWin32Drag))
+#define GDK_WIN32_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_DRAG, GdkWin32DragClass))
+#define GDK_IS_WIN32_DRAG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_DRAG))
+#define GDK_IS_WIN32_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_DRAG))
+#define GDK_WIN32_DRAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_DRAG, GdkWin32DragClass))
#ifdef GDK_COMPILATION
-typedef struct _GdkWin32DragContext GdkWin32DragContext;
+typedef struct _GdkWin32Drag GdkWin32Drag;
#else
-typedef GdkDragContext GdkWin32DragContext;
+typedef GdkDrag GdkWin32Drag;
#endif
-typedef struct _GdkWin32DragContextClass GdkWin32DragContextClass;
+typedef struct _GdkWin32DragClass GdkWin32DragClass;
GDK_AVAILABLE_IN_ALL
-GType gdk_win32_drag_context_get_type (void);
+GType gdk_win32_drag_get_type (void);
G_END_DECLS
-#endif /* __GDK_WIN32_DRAG_CONTEXT_H__ */
+#endif /* __GDK_WIN32_DRAG_H__ */
diff --git a/gdk/x11/gdkdevice-core-x11.c b/gdk/x11/gdkdevice-core-x11.c
index 32d7cfbb12..58196e43e6 100644
--- a/gdk/x11/gdkdevice-core-x11.c
+++ b/gdk/x11/gdkdevice-core-x11.c
@@ -533,8 +533,7 @@ gdk_x11_device_core_surface_at_position (GdkDevice *device,
break;
if (get_toplevel && last != root &&
- (surface = gdk_x11_surface_lookup_for_display (display, last)) != NULL &&
- surface->surface_type != GDK_SURFACE_FOREIGN)
+ (surface = gdk_x11_surface_lookup_for_display (display, last)) != NULL)
{
xwindow = last;
break;
diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c
index b5152c143c..9abb0e82dd 100644
--- a/gdk/x11/gdkdevice-xi2.c
+++ b/gdk/x11/gdkdevice-xi2.c
@@ -624,8 +624,7 @@ gdk_x11_device_xi2_surface_at_position (GdkDevice *device,
break;
if (get_toplevel && last != root &&
- (surface = gdk_x11_surface_lookup_for_display (display, last)) != NULL &&
- GDK_SURFACE_TYPE (surface) != GDK_SURFACE_FOREIGN)
+ (surface = gdk_x11_surface_lookup_for_display (display, last)) != NULL)
{
xwindow = last;
break;
diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c
index f1070f7b0c..383cc09e47 100644
--- a/gdk/x11/gdkdnd-x11.c
+++ b/gdk/x11/gdkdnd-x11.c
@@ -32,7 +32,7 @@
#include "gdkclipboard-x11.h"
#include "gdkdeviceprivate.h"
#include "gdkdisplay-x11.h"
-#include "gdkdndprivate.h"
+#include "gdkdragprivate.h"
#include "gdkinternals.h"
#include "gdkintl.h"
#include "gdkproperty.h"
@@ -65,7 +65,7 @@ typedef enum {
* @GDK_DRAG_PROTO_ROOTWIN: An extension to the Xdnd protocol for
* unclaimed root window drops.
*
- * Used in #GdkDragContext to indicate the protocol according to
+ * Used in #GdkDrag to indicate the protocol according to
* which DND is done.
*/
typedef enum
@@ -93,9 +93,9 @@ struct _GdkSurfaceCache {
};
-struct _GdkX11DragContext
+struct _GdkX11Drag
{
- GdkDragContext context;
+ GdkDrag drag;
GdkDragProtocol protocol;
@@ -129,9 +129,9 @@ struct _GdkX11DragContext
guint drop_failed : 1; /* Whether the drop was unsuccessful */
};
-struct _GdkX11DragContextClass
+struct _GdkX11DragClass
{
- GdkDragContextClass parent_class;
+ GdkDragClass parent_class;
};
typedef struct {
@@ -168,89 +168,89 @@ static GrabKey grab_keys[] = {
static GdkSurfaceCache *gdk_surface_cache_ref (GdkSurfaceCache *cache);
static void gdk_surface_cache_unref (GdkSurfaceCache *cache);
-gboolean gdk_x11_drag_context_handle_event (GdkDragContext *context,
- const GdkEvent *event);
-void gdk_x11_drag_context_action_changed (GdkDragContext *context,
- GdkDragAction action);
+gboolean gdk_x11_drag_handle_event (GdkDrag *drag,
+ const GdkEvent *event);
+void gdk_x11_drag_action_changed (GdkDrag *drag,
+ GdkDragAction action);
-static GList *contexts;
+static GList *drags;
static GSList *window_caches;
-G_DEFINE_TYPE (GdkX11DragContext, gdk_x11_drag_context, GDK_TYPE_DRAG_CONTEXT)
+G_DEFINE_TYPE (GdkX11Drag, gdk_x11_drag, GDK_TYPE_DRAG)
static void
-gdk_x11_drag_context_init (GdkX11DragContext *context)
-{
- contexts = g_list_prepend (contexts, context);
-}
-
-static void gdk_x11_drag_context_finalize (GObject *object);
-static Window gdk_x11_drag_context_find_surface (GdkDragContext *context,
- GdkSurface *drag_surface,
- gint x_root,
- gint y_root,
- GdkDragProtocol *protocol);
-static gboolean gdk_x11_drag_context_drag_motion (GdkDragContext *context,
- Window proxy_xid,
- GdkDragProtocol protocol,
- gint x_root,
- gint y_root,
- GdkDragAction suggested_action,
- GdkDragAction possible_actions,
- guint32 time);
-static void gdk_x11_drag_context_drag_abort (GdkDragContext *context,
- guint32 time_);
-static void gdk_x11_drag_context_drag_drop (GdkDragContext *context,
- guint32 time_);
-static GdkSurface * gdk_x11_drag_context_get_drag_surface (GdkDragContext *context);
-static void gdk_x11_drag_context_set_hotspot (GdkDragContext *context,
- gint hot_x,
- gint hot_y);
-static void gdk_x11_drag_context_drop_done (GdkDragContext *context,
- gboolean success);
-static void gdk_x11_drag_context_set_cursor (GdkDragContext *context,
- GdkCursor *cursor);
-static void gdk_x11_drag_context_cancel (GdkDragContext *context,
- GdkDragCancelReason reason);
-static void gdk_x11_drag_context_drop_performed (GdkDragContext *context,
- guint32 time);
+gdk_x11_drag_init (GdkX11Drag *drag)
+{
+ drags = g_list_prepend (drags, drag);
+}
+
+static void gdk_x11_drag_finalize (GObject *object);
+static Window gdk_x11_drag_find_surface (GdkDrag *drag,
+ GdkSurface *drag_surface,
+ gint x_root,
+ gint y_root,
+ GdkDragProtocol *protocol);
+static gboolean gdk_x11_drag_drag_motion (GdkDrag *drag,
+ Window proxy_xid,
+ GdkDragProtocol protocol,
+ gint x_root,
+ gint y_root,
+ GdkDragAction suggested_action,
+ GdkDragAction possible_actions,
+ guint32 time);
+static void gdk_x11_drag_drag_abort (GdkDrag *drag,
+ guint32 time_);
+static void gdk_x11_drag_drag_drop (GdkDrag *drag,
+ guint32 time_);
+static GdkSurface * gdk_x11_drag_get_drag_surface (GdkDrag *drag);
+static void gdk_x11_drag_set_hotspot (GdkDrag *drag,
+ gint hot_x,
+ gint hot_y);
+static void gdk_x11_drag_drop_done (GdkDrag *drag,
+ gboolean success);
+static void gdk_x11_drag_set_cursor (GdkDrag *drag,
+ GdkCursor *cursor);
+static void gdk_x11_drag_cancel (GdkDrag *drag,
+ GdkDragCancelReason reason);
+static void gdk_x11_drag_drop_performed (GdkDrag *drag,
+ guint32 time);
static void
-gdk_x11_drag_context_class_init (GdkX11DragContextClass *klass)
+gdk_x11_drag_class_init (GdkX11DragClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass);
+ GdkDragClass *drag_class = GDK_DRAG_CLASS (klass);
- object_class->finalize = gdk_x11_drag_context_finalize;
+ object_class->finalize = gdk_x11_drag_finalize;
- context_class->drag_abort = gdk_x11_drag_context_drag_abort;
- context_class->drag_drop = gdk_x11_drag_context_drag_drop;
- context_class->get_drag_surface = gdk_x11_drag_context_get_drag_surface;
- context_class->set_hotspot = gdk_x11_drag_context_set_hotspot;
- context_class->drop_done = gdk_x11_drag_context_drop_done;
- context_class->set_cursor = gdk_x11_drag_context_set_cursor;
- context_class->cancel = gdk_x11_drag_context_cancel;
- context_class->drop_performed = gdk_x11_drag_context_drop_performed;
- context_class->handle_event = gdk_x11_drag_context_handle_event;
- context_class->action_changed = gdk_x11_drag_context_action_changed;
+ drag_class->drag_abort = gdk_x11_drag_drag_abort;
+ drag_class->drag_drop = gdk_x11_drag_drag_drop;
+ drag_class->get_drag_surface = gdk_x11_drag_get_drag_surface;
+ drag_class->set_hotspot = gdk_x11_drag_set_hotspot;
+ drag_class->drop_done = gdk_x11_drag_drop_done;
+ drag_class->set_cursor = gdk_x11_drag_set_cursor;
+ drag_class->cancel = gdk_x11_drag_cancel;
+ drag_class->drop_performed = gdk_x11_drag_drop_performed;
+ drag_class->handle_event = gdk_x11_drag_handle_event;
+ drag_class->action_changed = gdk_x11_drag_action_changed;
}
static void
-gdk_x11_drag_context_finalize (GObject *object)
+gdk_x11_drag_finalize (GObject *object)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (object);
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (object);
+ GdkDrag *drag = GDK_DRAG (object);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (object);
GdkSurface *drag_surface, *ipc_surface;
- if (x11_context->cache)
- gdk_surface_cache_unref (x11_context->cache);
+ if (x11_drag->cache)
+ gdk_surface_cache_unref (x11_drag->cache);
- contexts = g_list_remove (contexts, context);
+ drags = g_list_remove (drags, drag);
- drag_surface = context->drag_surface;
- ipc_surface = x11_context->ipc_surface;
+ drag_surface = drag->drag_surface;
+ ipc_surface = x11_drag->ipc_surface;
- G_OBJECT_CLASS (gdk_x11_drag_context_parent_class)->finalize (object);
+ G_OBJECT_CLASS (gdk_x11_drag_parent_class)->finalize (object);
if (drag_surface)
gdk_surface_destroy (drag_surface);
@@ -260,49 +260,49 @@ gdk_x11_drag_context_finalize (GObject *object)
/* Drag Contexts */
-GdkDragContext *
-gdk_x11_drag_context_find (GdkDisplay *display,
- Window source_xid,
- Window dest_xid)
+GdkDrag *
+gdk_x11_drag_find (GdkDisplay *display,
+ Window source_xid,
+ Window dest_xid)
{
GList *tmp_list;
- GdkDragContext *context;
- GdkX11DragContext *context_x11;
- Window context_dest_xid;
+ GdkDrag *drag;
+ GdkX11Drag *drag_x11;
+ Window drag_dest_xid;
- for (tmp_list = contexts; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = drags; tmp_list; tmp_list = tmp_list->next)
{
- context = (GdkDragContext *)tmp_list->data;
- context_x11 = (GdkX11DragContext *)context;
+ drag = (GdkDrag *)tmp_list->data;
+ drag_x11 = (GdkX11Drag *)drag;
- if (gdk_drag_context_get_display (context) != display)
+ if (gdk_drag_get_display (drag) != display)
continue;
- context_dest_xid = context_x11->proxy_xid
- ? (context_x11->drop_xid
- ? context_x11->drop_xid
- : context_x11->proxy_xid)
+ drag_dest_xid = drag_x11->proxy_xid
+ ? (drag_x11->drop_xid
+ ? drag_x11->drop_xid
+ : drag_x11->proxy_xid)
: None;
- if (((source_xid == None) || (context->source_surface &&
- (GDK_SURFACE_XID (context->source_surface) == source_xid))) &&
- ((dest_xid == None) || (context_dest_xid == dest_xid)))
- return context;
+ if (((source_xid == None) || (drag->source_surface &&
+ (GDK_SURFACE_XID (drag->source_surface) == source_xid))) &&
+ ((dest_xid == None) || (drag_dest_xid == dest_xid)))
+ return drag;
}
return NULL;
}
static void
-precache_target_list (GdkDragContext *context)
+precache_target_list (GdkDrag *drag)
{
- GdkContentFormats *formats = gdk_drag_context_get_formats (context);
+ GdkContentFormats *formats = gdk_drag_get_formats (drag);
const char * const *atoms;
gsize n_atoms;
atoms = gdk_content_formats_get_mime_types (formats, &n_atoms);
- _gdk_x11_precache_atoms (gdk_drag_context_get_display (context),
+ _gdk_x11_precache_atoms (gdk_drag_get_display (drag),
(const gchar **) atoms,
n_atoms);
}
@@ -328,13 +328,13 @@ free_cache_child (GdkCacheChild *child,
static void
gdk_surface_cache_add (GdkSurfaceCache *cache,
- guint32 xid,
- gint x,
- gint y,
- gint width,
- gint height,
- gboolean mapped)
-{
+ guint32 xid,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ gboolean mapped)
+{
GdkCacheChild *child = g_new (GdkCacheChild, 1);
child->xid = xid;
@@ -354,8 +354,8 @@ gdk_surface_cache_add (GdkSurfaceCache *cache,
GdkFilterReturn
gdk_surface_cache_shape_filter (const XEvent *xevent,
- GdkEvent *event,
- gpointer data)
+ GdkEvent *event,
+ gpointer data)
{
GdkSurfaceCache *cache = data;
@@ -388,8 +388,8 @@ gdk_surface_cache_shape_filter (const XEvent *xevent,
GdkFilterReturn
gdk_surface_cache_filter (const XEvent *xevent,
- GdkEvent *event,
- gpointer data)
+ GdkEvent *event,
+ gpointer data)
{
GdkSurfaceCache *cache = data;
@@ -855,25 +855,25 @@ xdnd_action_to_atom (GdkDisplay *display,
/* Source side */
void
-gdk_x11_drag_context_handle_status (GdkDisplay *display,
- const XEvent *xevent)
+gdk_x11_drag_handle_status (GdkDisplay *display,
+ const XEvent *xevent)
{
guint32 dest_surface = xevent->xclient.data.l[0];
guint32 flags = xevent->xclient.data.l[1];
Atom action = xevent->xclient.data.l[4];
- GdkDragContext *context;
+ GdkDrag *drag;
- context = gdk_x11_drag_context_find (display, xevent->xclient.window, dest_surface);
+ drag = gdk_x11_drag_find (display, xevent->xclient.window, dest_surface);
GDK_DISPLAY_NOTE (display, DND,
g_message ("XdndStatus: dest_surface: %#x action: %ld",
dest_surface, action));
- if (context)
+ if (drag)
{
- GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context);
- if (context_x11->drag_status == GDK_DRAG_STATUS_MOTION_WAIT)
- context_x11->drag_status = GDK_DRAG_STATUS_DRAG;
+ GdkX11Drag *drag_x11 = GDK_X11_DRAG (drag);
+ if (drag_x11->drag_status == GDK_DRAG_STATUS_MOTION_WAIT)
+ drag_x11->drag_status = GDK_DRAG_STATUS_DRAG;
if (!(action != 0) != !(flags & 1))
{
@@ -882,80 +882,80 @@ gdk_x11_drag_context_handle_status (GdkDisplay *display,
action = 0;
}
- context->action = xdnd_action_from_atom (display, action);
+ drag->action = xdnd_action_from_atom (display, action);
- if (context->action != context_x11->current_action)
+ if (drag->action != drag_x11->current_action)
{
- context_x11->current_action = context->action;
- g_signal_emit_by_name (context, "action-changed", context->action);
+ drag_x11->current_action = drag->action;
+ g_signal_emit_by_name (drag, "action-changed", drag->action);
}
}
}
void
-gdk_x11_drag_context_handle_finished (GdkDisplay *display,
- const XEvent *xevent)
+gdk_x11_drag_handle_finished (GdkDisplay *display,
+ const XEvent *xevent)
{
guint32 dest_surface = xevent->xclient.data.l[0];
- GdkDragContext *context;
- GdkX11DragContext *context_x11;
+ GdkDrag *drag;
+ GdkX11Drag *drag_x11;
- context = gdk_x11_drag_context_find (display, xevent->xclient.window, dest_surface);
+ drag = gdk_x11_drag_find (display, xevent->xclient.window, dest_surface);
GDK_DISPLAY_NOTE (display, DND,
g_message ("XdndFinished: dest_surface: %#x", dest_surface));
- if (context)
+ if (drag)
{
- g_object_ref (context);
+ g_object_ref (drag);
- context_x11 = GDK_X11_DRAG_CONTEXT (context);
- if (context_x11->version == 5)
- context_x11->drop_failed = xevent->xclient.data.l[1] == 0;
+ drag_x11 = GDK_X11_DRAG (drag);
+ if (drag_x11->version == 5)
+ drag_x11->drop_failed = xevent->xclient.data.l[1] == 0;
- g_signal_emit_by_name (context, "dnd-finished");
- gdk_drag_drop_done (context, !context_x11->drop_failed);
+ g_signal_emit_by_name (drag, "dnd-finished");
+ gdk_drag_drop_done (drag, !drag_x11->drop_failed);
- g_object_unref (context);
+ g_object_unref (drag);
}
}
static void
-xdnd_set_targets (GdkX11DragContext *context_x11)
+xdnd_set_targets (GdkX11Drag *drag_x11)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11);
+ GdkDrag *drag = GDK_DRAG (drag_x11);
Atom *atomlist;
const char * const *atoms;
gsize i, n_atoms;
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDisplay *display = gdk_drag_get_display (drag);
- atoms = gdk_content_formats_get_mime_types (gdk_drag_context_get_formats (context), &n_atoms);
+ atoms = gdk_content_formats_get_mime_types (gdk_drag_get_formats (drag), &n_atoms);
atomlist = g_new (Atom, n_atoms);
for (i = 0; i < n_atoms; i++)
atomlist[i] = gdk_x11_get_xatom_by_name_for_display (display, atoms[i]);
XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
- GDK_SURFACE_XID (context_x11->ipc_surface),
+ GDK_SURFACE_XID (drag_x11->ipc_surface),
gdk_x11_get_xatom_by_name_for_display (display, "XdndTypeList"),
XA_ATOM, 32, PropModeReplace,
(guchar *)atomlist, n_atoms);
g_free (atomlist);
- context_x11->xdnd_targets_set = 1;
+ drag_x11->xdnd_targets_set = 1;
}
static void
-xdnd_set_actions (GdkX11DragContext *context_x11)
+xdnd_set_actions (GdkX11Drag *drag_x11)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11);
+ GdkDrag *drag = GDK_DRAG (drag_x11);
Atom *atomlist;
gint i;
gint n_atoms;
guint actions;
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDisplay *display = gdk_drag_get_display (drag);
- actions = gdk_drag_context_get_actions (context);
+ actions = gdk_drag_get_actions (drag);
n_atoms = 0;
for (i = 0; i < xdnd_n_actions; i++)
{
@@ -968,7 +968,7 @@ xdnd_set_actions (GdkX11DragContext *context_x11)
atomlist = g_new (Atom, n_atoms);
- actions = gdk_drag_context_get_actions (context);
+ actions = gdk_drag_get_actions (drag);
n_atoms = 0;
for (i = 0; i < xdnd_n_actions; i++)
{
@@ -981,14 +981,14 @@ xdnd_set_actions (GdkX11DragContext *context_x11)
}
XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
- GDK_SURFACE_XID (context_x11->ipc_surface),
+ GDK_SURFACE_XID (drag_x11->ipc_surface),
gdk_x11_get_xatom_by_name_for_display (display, "XdndActionList"),
XA_ATOM, 32, PropModeReplace,
(guchar *)atomlist, n_atoms);
g_free (atomlist);
- context_x11->xdnd_actions = gdk_drag_context_get_actions (context);
+ drag_x11->xdnd_actions = gdk_drag_get_actions (drag);
}
static void
@@ -996,10 +996,10 @@ send_client_message_async_cb (Window window,
gboolean success,
gpointer data)
{
- GdkX11DragContext *context_x11 = data;
- GdkDragContext *context = data;
+ GdkX11Drag *drag_x11 = data;
+ GdkDrag *drag = data;
- GDK_DISPLAY_NOTE (gdk_drag_context_get_display (context), DND,
+ GDK_DISPLAY_NOTE (gdk_drag_get_display (drag), DND,
g_message ("Got async callback for #%lx, success = %d",
window, success));
@@ -1007,69 +1007,69 @@ send_client_message_async_cb (Window window,
* so we don't end up blocking for a timeout
*/
if (!success &&
- window == context_x11->proxy_xid)
+ window == drag_x11->proxy_xid)
{
- context_x11->proxy_xid = None;
- context->action = 0;
- if (context->action != context_x11->current_action)
+ drag_x11->proxy_xid = None;
+ drag->action = 0;
+ if (drag->action != drag_x11->current_action)
{
- context_x11->current_action = 0;
- g_signal_emit_by_name (context, "action-changed", 0);
+ drag_x11->current_action = 0;
+ g_signal_emit_by_name (drag, "action-changed", 0);
}
- context_x11->drag_status = GDK_DRAG_STATUS_DRAG;
+ drag_x11->drag_status = GDK_DRAG_STATUS_DRAG;
}
- g_object_unref (context);
+ g_object_unref (drag);
}
static void
-send_client_message_async (GdkDragContext *context,
+send_client_message_async (GdkDrag *drag,
Window window,
glong event_mask,
XClientMessageEvent *event_send)
{
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDisplay *display = gdk_drag_get_display (drag);
- g_object_ref (context);
+ g_object_ref (drag);
_gdk_x11_send_client_message_async (display, window,
FALSE, event_mask, event_send,
- send_client_message_async_cb, context);
+ send_client_message_async_cb, drag);
}
static void
-xdnd_send_xevent (GdkX11DragContext *context_x11,
+xdnd_send_xevent (GdkX11Drag *drag_x11,
XEvent *event_send)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11);
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDrag *drag = GDK_DRAG (drag_x11);
+ GdkDisplay *display = gdk_drag_get_display (drag);
GdkSurface *surface;
glong event_mask;
g_assert (event_send->xany.type == ClientMessage);
/* We short-circuit messages to ourselves */
- surface = gdk_x11_surface_lookup_for_display (display, context_x11->proxy_xid);
+ surface = gdk_x11_surface_lookup_for_display (display, drag_x11->proxy_xid);
if (surface)
{
if (gdk_x11_drop_filter (surface, event_send))
return;
}
- if (_gdk_x11_display_is_root_window (display, context_x11->proxy_xid))
+ if (_gdk_x11_display_is_root_window (display, drag_x11->proxy_xid))
event_mask = ButtonPressMask;
else
event_mask = 0;
- send_client_message_async (context, context_x11->proxy_xid, event_mask,
+ send_client_message_async (drag, drag_x11->proxy_xid, event_mask,
&event_send->xclient);
}
static void
-xdnd_send_enter (GdkX11DragContext *context_x11)
+xdnd_send_enter (GdkX11Drag *drag_x11)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11);
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDrag *drag = GDK_DRAG (drag_x11);
+ GdkDisplay *display = gdk_drag_get_display (drag);
const char * const *atoms;
gsize i, n_atoms;
XEvent xev;
@@ -1077,24 +1077,24 @@ xdnd_send_enter (GdkX11DragContext *context_x11)
xev.xclient.type = ClientMessage;
xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndEnter");
xev.xclient.format = 32;
- xev.xclient.window = context_x11->drop_xid
- ? context_x11->drop_xid
- : context_x11->proxy_xid;
- xev.xclient.data.l[0] = GDK_SURFACE_XID (context_x11->ipc_surface);
- xev.xclient.data.l[1] = (context_x11->version << 24); /* version */
+ xev.xclient.window = drag_x11->drop_xid
+ ? drag_x11->drop_xid
+ : drag_x11->proxy_xid;
+ xev.xclient.data.l[0] = GDK_SURFACE_XID (drag_x11->ipc_surface);
+ xev.xclient.data.l[1] = (drag_x11->version << 24); /* version */
xev.xclient.data.l[2] = 0;
xev.xclient.data.l[3] = 0;
xev.xclient.data.l[4] = 0;
GDK_DISPLAY_NOTE (display, DND,
g_message ("Sending enter source window %#lx XDND protocol version %d\n",
- GDK_SURFACE_XID (context_x11->ipc_surface), context_x11->version));
- atoms = gdk_content_formats_get_mime_types (gdk_drag_context_get_formats (context), &n_atoms);
+ GDK_SURFACE_XID (drag_x11->ipc_surface), drag_x11->version));
+ atoms = gdk_content_formats_get_mime_types (gdk_drag_get_formats (drag), &n_atoms);
if (n_atoms > 3)
{
- if (!context_x11->xdnd_targets_set)
- xdnd_set_targets (context_x11);
+ if (!drag_x11->xdnd_targets_set)
+ xdnd_set_targets (drag_x11);
xev.xclient.data.l[1] |= 1;
}
else
@@ -1105,79 +1105,79 @@ xdnd_send_enter (GdkX11DragContext *context_x11)
}
}
- xdnd_send_xevent (context_x11, &xev);
+ xdnd_send_xevent (drag_x11, &xev);
}
static void
-xdnd_send_leave (GdkX11DragContext *context_x11)
+xdnd_send_leave (GdkX11Drag *drag_x11)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11);
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDrag *drag = GDK_DRAG (drag_x11);
+ GdkDisplay *display = gdk_drag_get_display (drag);
XEvent xev;
xev.xclient.type = ClientMessage;
xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndLeave");
xev.xclient.format = 32;
- xev.xclient.window = context_x11->drop_xid
- ? context_x11->drop_xid
- : context_x11->proxy_xid;
- xev.xclient.data.l[0] = GDK_SURFACE_XID (context_x11->ipc_surface);
+ xev.xclient.window = drag_x11->drop_xid
+ ? drag_x11->drop_xid
+ : drag_x11->proxy_xid;
+ xev.xclient.data.l[0] = GDK_SURFACE_XID (drag_x11->ipc_surface);
xev.xclient.data.l[1] = 0;
xev.xclient.data.l[2] = 0;
xev.xclient.data.l[3] = 0;
xev.xclient.data.l[4] = 0;
- xdnd_send_xevent (context_x11, &xev);
+ xdnd_send_xevent (drag_x11, &xev);
}
static void
-xdnd_send_drop (GdkX11DragContext *context_x11,
+xdnd_send_drop (GdkX11Drag *drag_x11,
guint32 time)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11);
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDrag *drag = GDK_DRAG (drag_x11);
+ GdkDisplay *display = gdk_drag_get_display (drag);
XEvent xev;
xev.xclient.type = ClientMessage;
xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndDrop");
xev.xclient.format = 32;
- xev.xclient.window = context_x11->drop_xid
- ? context_x11->drop_xid
- : context_x11->proxy_xid;
- xev.xclient.data.l[0] = GDK_SURFACE_XID (context_x11->ipc_surface);
+ xev.xclient.window = drag_x11->drop_xid
+ ? drag_x11->drop_xid
+ : drag_x11->proxy_xid;
+ xev.xclient.data.l[0] = GDK_SURFACE_XID (drag_x11->ipc_surface);
xev.xclient.data.l[1] = 0;
xev.xclient.data.l[2] = time;
xev.xclient.data.l[3] = 0;
xev.xclient.data.l[4] = 0;
- xdnd_send_xevent (context_x11, &xev);
+ xdnd_send_xevent (drag_x11, &xev);
}
static void
-xdnd_send_motion (GdkX11DragContext *context_x11,
+xdnd_send_motion (GdkX11Drag *drag_x11,
gint x_root,
gint y_root,
GdkDragAction action,
guint32 time)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11);
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDrag *drag = GDK_DRAG (drag_x11);
+ GdkDisplay *display = gdk_drag_get_display (drag);
XEvent xev;
xev.xclient.type = ClientMessage;
xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndPosition");
xev.xclient.format = 32;
- xev.xclient.window = context_x11->drop_xid
- ? context_x11->drop_xid
- : context_x11->proxy_xid;
- xev.xclient.data.l[0] = GDK_SURFACE_XID (context_x11->ipc_surface);
+ xev.xclient.window = drag_x11->drop_xid
+ ? drag_x11->drop_xid
+ : drag_x11->proxy_xid;
+ xev.xclient.data.l[0] = GDK_SURFACE_XID (drag_x11->ipc_surface);
xev.xclient.data.l[1] = 0;
xev.xclient.data.l[2] = (x_root << 16) | y_root;
xev.xclient.data.l[3] = time;
xev.xclient.data.l[4] = xdnd_action_to_atom (display, action);
- xdnd_send_xevent (context_x11, &xev);
- context_x11->drag_status = GDK_DRAG_STATUS_MOTION_WAIT;
+ xdnd_send_xevent (drag_x11, &xev);
+ drag_x11->drag_status = GDK_DRAG_STATUS_MOTION_WAIT;
}
static guint32
@@ -1309,15 +1309,15 @@ xdnd_precache_atoms (GdkDisplay *display)
/* Source side */
static void
-gdk_drag_do_leave (GdkX11DragContext *context_x11,
+gdk_drag_do_leave (GdkX11Drag *drag_x11,
guint32 time)
{
- if (context_x11->proxy_xid)
+ if (drag_x11->proxy_xid)
{
- switch (context_x11->protocol)
+ switch (drag_x11->protocol)
{
case GDK_DRAG_PROTO_XDND:
- xdnd_send_leave (context_x11);
+ xdnd_send_leave (drag_x11);
break;
case GDK_DRAG_PROTO_ROOTWIN:
case GDK_DRAG_PROTO_NONE:
@@ -1325,7 +1325,7 @@ gdk_drag_do_leave (GdkX11DragContext *context_x11,
break;
}
- context_x11->proxy_xid = None;
+ drag_x11->proxy_xid = None;
}
}
@@ -1355,7 +1355,7 @@ _gdk_x11_display_get_drag_protocol (GdkDisplay *display,
/* Check for a local drag */
surface = gdk_x11_surface_lookup_for_display (display, xid);
- if (surface && gdk_surface_get_surface_type (surface) != GDK_SURFACE_FOREIGN)
+ if (surface)
{
if (g_object_get_data (G_OBJECT (surface), "gdk-dnd-registered") != NULL)
{
@@ -1401,33 +1401,33 @@ _gdk_x11_display_get_drag_protocol (GdkDisplay *display,
}
static GdkSurfaceCache *
-drag_context_find_window_cache (GdkX11DragContext *context_x11,
+drag_find_window_cache (GdkX11Drag *drag_x11,
GdkDisplay *display)
{
- if (!context_x11->cache)
- context_x11->cache = gdk_surface_cache_get (display);
+ if (!drag_x11->cache)
+ drag_x11->cache = gdk_surface_cache_get (display);
- return context_x11->cache;
+ return drag_x11->cache;
}
static Window
-gdk_x11_drag_context_find_surface (GdkDragContext *context,
+gdk_x11_drag_find_surface (GdkDrag *drag,
GdkSurface *drag_surface,
gint x_root,
gint y_root,
GdkDragProtocol *protocol)
{
GdkX11Screen *screen_x11;
- GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *drag_x11 = GDK_X11_DRAG (drag);
GdkSurfaceCache *window_cache;
GdkDisplay *display;
Window dest;
Window proxy;
- display = gdk_drag_context_get_display (context);
+ display = gdk_drag_get_display (drag);
screen_x11 = GDK_X11_SCREEN(GDK_X11_DISPLAY (display)->screen);
- window_cache = drag_context_find_window_cache (context_x11, display);
+ window_cache = drag_find_window_cache (drag_x11, display);
dest = get_client_window_at_coords (window_cache,
drag_surface && GDK_SURFACE_IS_X11 (drag_surface) ?
@@ -1435,9 +1435,9 @@ gdk_x11_drag_context_find_surface (GdkDragContext *context,
x_root * screen_x11->surface_scale,
y_root * screen_x11->surface_scale);
- if (context_x11->dest_xid != dest)
+ if (drag_x11->dest_xid != dest)
{
- context_x11->dest_xid = dest;
+ drag_x11->dest_xid = dest;
/* Check if new destination accepts drags, and which protocol */
@@ -1450,32 +1450,32 @@ gdk_x11_drag_context_find_surface (GdkDragContext *context,
proxy = _gdk_x11_display_get_drag_protocol (display,
dest,
protocol,
- &context_x11->version);
+ &drag_x11->version);
}
else
{
proxy = dest;
- *protocol = context_x11->protocol;
+ *protocol = drag_x11->protocol;
}
return proxy;
}
static void
-move_drag_surface (GdkDragContext *context,
+move_drag_surface (GdkDrag *drag,
guint x_root,
guint y_root)
{
- GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *drag_x11 = GDK_X11_DRAG (drag);
- gdk_surface_move (context_x11->drag_surface,
- x_root - context_x11->hot_x,
- y_root - context_x11->hot_y);
- gdk_surface_raise (context_x11->drag_surface);
+ gdk_surface_move (drag_x11->drag_surface,
+ x_root - drag_x11->hot_x,
+ y_root - drag_x11->hot_y);
+ gdk_surface_raise (drag_x11->drag_surface);
}
static gboolean
-gdk_x11_drag_context_drag_motion (GdkDragContext *context,
+gdk_x11_drag_drag_motion (GdkDrag *drag,
Window proxy_xid,
GdkDragProtocol protocol,
gint x_root,
@@ -1484,68 +1484,68 @@ gdk_x11_drag_context_drag_motion (GdkDragContext *context,
GdkDragAction possible_actions,
guint32 time)
{
- GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *drag_x11 = GDK_X11_DRAG (drag);
- if (context_x11->drag_surface)
- move_drag_surface (context, x_root, y_root);
+ if (drag_x11->drag_surface)
+ move_drag_surface (drag, x_root, y_root);
- gdk_drag_context_set_actions (context, possible_actions, suggested_action);
+ gdk_drag_set_actions (drag, possible_actions, suggested_action);
- if (protocol == GDK_DRAG_PROTO_XDND && context_x11->version == 0)
+ if (protocol == GDK_DRAG_PROTO_XDND && drag_x11->version == 0)
{
/* This ugly hack is necessary since GTK+ doesn't know about
* the XDND protocol version, and in particular doesn't know
* that gdk_drag_find_window() has the side-effect
- * of setting context_x11->version, and therefore sometimes call
- * gdk_x11_drag_context_drag_motion() without a prior call to
+ * of setting drag_x11->version, and therefore sometimes call
+ * gdk_x11_drag_drag_motion() without a prior call to
* gdk_drag_find_window(). This happens, e.g.
* when GTK+ is proxying DND events to embedded windows.
*/
if (proxy_xid)
{
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDisplay *display = gdk_drag_get_display (drag);
xdnd_check_dest (display,
proxy_xid,
- &context_x11->version);
+ &drag_x11->version);
}
}
/* When we have a Xdnd target, make sure our XdndActionList
* matches the current actions;
*/
- if (protocol == GDK_DRAG_PROTO_XDND && context_x11->xdnd_actions != gdk_drag_context_get_actions (context))
+ if (protocol == GDK_DRAG_PROTO_XDND && drag_x11->xdnd_actions != gdk_drag_get_actions (drag))
{
if (proxy_xid)
{
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDisplay *display = gdk_drag_get_display (drag);
GdkDrop *drop = GDK_X11_DISPLAY (display)->current_drop;
if (drop && GDK_SURFACE_XID (gdk_drop_get_surface (drop)) == proxy_xid)
gdk_x11_drop_read_actions (drop);
else
- xdnd_set_actions (context_x11);
+ xdnd_set_actions (drag_x11);
}
}
- if (context_x11->proxy_xid != proxy_xid)
+ if (drag_x11->proxy_xid != proxy_xid)
{
/* Send a leave to the last destination */
- gdk_drag_do_leave (context_x11, time);
- context_x11->drag_status = GDK_DRAG_STATUS_DRAG;
+ gdk_drag_do_leave (drag_x11, time);
+ drag_x11->drag_status = GDK_DRAG_STATUS_DRAG;
/* Check if new destination accepts drags, and which protocol */
if (proxy_xid)
{
- context_x11->proxy_xid = proxy_xid;
- context_x11->drop_xid = context_x11->dest_xid;
- context_x11->protocol = protocol;
+ drag_x11->proxy_xid = proxy_xid;
+ drag_x11->drop_xid = drag_x11->dest_xid;
+ drag_x11->protocol = protocol;
switch (protocol)
{
case GDK_DRAG_PROTO_XDND:
- xdnd_send_enter (context_x11);
+ xdnd_send_enter (drag_x11);
break;
case GDK_DRAG_PROTO_ROOTWIN:
@@ -1556,60 +1556,60 @@ gdk_x11_drag_context_drag_motion (GdkDragContext *context,
}
else
{
- context_x11->proxy_xid = None;
- context_x11->drop_xid = None;
- context->action = 0;
+ drag_x11->proxy_xid = None;
+ drag_x11->drop_xid = None;
+ drag->action = 0;
}
/* Push a status event, to let the client know that
* the drag changed
*/
- if (context->action != context_x11->current_action)
+ if (drag->action != drag_x11->current_action)
{
- context_x11->current_action = context->action;
- g_signal_emit_by_name (context, "action-changed", context->action);
+ drag_x11->current_action = drag->action;
+ g_signal_emit_by_name (drag, "action-changed", drag->action);
}
}
/* Send a drag-motion event */
- context_x11->last_x = x_root;
- context_x11->last_y = y_root;
+ drag_x11->last_x = x_root;
+ drag_x11->last_y = y_root;
- if (context_x11->proxy_xid)
+ if (drag_x11->proxy_xid)
{
- GdkDisplay *display = gdk_drag_context_get_display (context);
+ GdkDisplay *display = gdk_drag_get_display (drag);
GdkX11Screen *screen_x11 = GDK_X11_SCREEN(GDK_X11_DISPLAY (display)->screen);
- if (context_x11->drag_status == GDK_DRAG_STATUS_DRAG)
+ if (drag_x11->drag_status == GDK_DRAG_STATUS_DRAG)
{
- switch (context_x11->protocol)
+ switch (drag_x11->protocol)
{
case GDK_DRAG_PROTO_XDND:
- xdnd_send_motion (context_x11, x_root * screen_x11->surface_scale, y_root * screen_x11->surface_scale, suggested_action, time);
+ xdnd_send_motion (drag_x11, x_root * screen_x11->surface_scale, y_root * screen_x11->surface_scale, suggested_action, time);
break;
case GDK_DRAG_PROTO_ROOTWIN:
{
- GdkContentFormats *formats = gdk_drag_context_get_formats (context);
+ GdkContentFormats *formats = gdk_drag_get_formats (drag);
/* GTK+ traditionally has used application/x-rootwin-drop,
* but the XDND spec specifies x-rootwindow-drop.
*/
if (gdk_content_formats_contain_mime_type (formats, "application/x-rootwindow-drop") ||
gdk_content_formats_contain_mime_type (formats, "application/x-rootwin-drop"))
- context->action = gdk_drag_context_get_suggested_action (context);
+ drag->action = gdk_drag_get_suggested_action (drag);
else
- context->action = 0;
+ drag->action = 0;
- if (context->action != context_x11->current_action)
+ if (drag->action != drag_x11->current_action)
{
- context_x11->current_action = context->action;
- g_signal_emit_by_name (context, "action-changed", context->action);
+ drag_x11->current_action = drag->action;
+ g_signal_emit_by_name (drag, "action-changed", drag->action);
}
}
break;
case GDK_DRAG_PROTO_NONE:
- g_warning ("Invalid drag protocol %u in gdk_x11_drag_context_drag_motion()", context_x11->protocol);
+ g_warning ("Invalid drag protocol %u in gdk_x11_drag_drag_motion()", drag_x11->protocol);
break;
default:
break;
@@ -1623,24 +1623,24 @@ gdk_x11_drag_context_drag_motion (GdkDragContext *context,
}
static void
-gdk_x11_drag_context_drag_abort (GdkDragContext *context,
+gdk_x11_drag_drag_abort (GdkDrag *drag,
guint32 time)
{
- gdk_drag_do_leave (GDK_X11_DRAG_CONTEXT (context), time);
+ gdk_drag_do_leave (GDK_X11_DRAG (drag), time);
}
static void
-gdk_x11_drag_context_drag_drop (GdkDragContext *context,
+gdk_x11_drag_drag_drop (GdkDrag *drag,
guint32 time)
{
- GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *drag_x11 = GDK_X11_DRAG (drag);
- if (context_x11->proxy_xid)
+ if (drag_x11->proxy_xid)
{
- switch (context_x11->protocol)
+ switch (drag_x11->protocol)
{
case GDK_DRAG_PROTO_XDND:
- xdnd_send_drop (context_x11, time);
+ xdnd_send_drop (drag_x11, time);
break;
case GDK_DRAG_PROTO_ROOTWIN:
@@ -1650,7 +1650,7 @@ gdk_x11_drag_context_drag_drop (GdkDragContext *context,
g_warning ("GDK_DRAG_PROTO_NONE is not valid in gdk_drag_drop()");
break;
default:
- g_warning ("Drag protocol %u is not valid in gdk_drag_drop()", context_x11->protocol);
+ g_warning ("Drag protocol %u is not valid in gdk_drag_drop()", drag_x11->protocol);
break;
}
}
@@ -1684,68 +1684,68 @@ _gdk_x11_surface_register_dnd (GdkSurface *surface)
}
static GdkSurface *
-gdk_x11_drag_context_get_drag_surface (GdkDragContext *context)
+gdk_x11_drag_get_drag_surface (GdkDrag *drag)
{
- return GDK_X11_DRAG_CONTEXT (context)->drag_surface;
+ return GDK_X11_DRAG (drag)->drag_surface;
}
static void
-gdk_x11_drag_context_set_hotspot (GdkDragContext *context,
+gdk_x11_drag_set_hotspot (GdkDrag *drag,
gint hot_x,
gint hot_y)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
- x11_context->hot_x = hot_x;
- x11_context->hot_y = hot_y;
+ x11_drag->hot_x = hot_x;
+ x11_drag->hot_y = hot_y;
- if (x11_context->grab_seat)
+ if (x11_drag->grab_seat)
{
/* DnD is managed, update current position */
- move_drag_surface (context, x11_context->last_x, x11_context->last_y);
+ move_drag_surface (drag, x11_drag->last_x, x11_drag->last_y);
}
}
static void
-gdk_x11_drag_context_default_output_done (GObject *context,
+gdk_x11_drag_default_output_done (GObject *drag,
GAsyncResult *result,
gpointer user_data)
{
GError *error = NULL;
- if (!gdk_drag_context_write_finish (GDK_DRAG_CONTEXT (context), result, &error))
+ if (!gdk_drag_write_finish (GDK_DRAG (drag), result, &error))
{
- GDK_DISPLAY_NOTE (gdk_drag_context_get_display (GDK_DRAG_CONTEXT (context)), DND, g_printerr ("failed to write stream: %s\n", error->message));
+ GDK_DISPLAY_NOTE (gdk_drag_get_display (GDK_DRAG (drag)), DND, g_printerr ("failed to write stream: %s\n", error->message));
g_error_free (error);
}
}
static void
-gdk_x11_drag_context_default_output_handler (GOutputStream *stream,
+gdk_x11_drag_default_output_handler (GOutputStream *stream,
const char *mime_type,
gpointer user_data)
{
- gdk_drag_context_write_async (GDK_DRAG_CONTEXT (user_data),
+ gdk_drag_write_async (GDK_DRAG (user_data),
mime_type,
stream,
G_PRIORITY_DEFAULT,
NULL,
- gdk_x11_drag_context_default_output_done,
+ gdk_x11_drag_default_output_done,
NULL);
g_object_unref (stream);
}
static gboolean
-gdk_x11_drag_context_xevent (GdkDisplay *display,
+gdk_x11_drag_xevent (GdkDisplay *display,
const XEvent *xevent,
gpointer data)
{
- GdkDragContext *context = GDK_DRAG_CONTEXT (data);
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkDrag *drag = GDK_DRAG (data);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
Window xwindow;
Atom xselection;
- xwindow = GDK_SURFACE_XID (x11_context->ipc_surface);
+ xwindow = GDK_SURFACE_XID (x11_drag->ipc_surface);
xselection = gdk_x11_get_xatom_by_name_for_display (display, "XdndSelection");
if (xevent->xany.window != xwindow)
@@ -1757,15 +1757,15 @@ gdk_x11_drag_context_xevent (GdkDisplay *display,
if (xevent->xselectionclear.selection != xselection)
return FALSE;
- if (xevent->xselectionclear.time < x11_context->timestamp)
+ if (xevent->xselectionclear.time < x11_drag->timestamp)
{
GDK_DISPLAY_NOTE (display, CLIPBOARD, g_printerr ("ignoring SelectionClear with too old timestamp (%lu vs %lu)\n",
- xevent->xselectionclear.time, x11_context->timestamp));
+ xevent->xselectionclear.time, x11_drag->timestamp));
return FALSE;
}
GDK_DISPLAY_NOTE (display, CLIPBOARD, g_printerr ("got SelectionClear, aborting DND\n"));
- gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_ERROR);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_ERROR);
return TRUE;
case SelectionRequest:
@@ -1792,23 +1792,23 @@ gdk_x11_drag_context_xevent (GdkDisplay *display,
target, property));
gdk_x11_selection_output_streams_create (display,
- gdk_drag_context_get_formats (context),
+ gdk_drag_get_formats (drag),
xevent->xselectionrequest.requestor,
xevent->xselectionrequest.selection,
xevent->xselectionrequest.target,
xevent->xselectionrequest.property ? xevent->xselectionrequest.property
: xevent->xselectionrequest.target,
xevent->xselectionrequest.time,
- gdk_x11_drag_context_default_output_handler,
- context);
+ gdk_x11_drag_default_output_handler,
+ drag);
return TRUE;
}
case ClientMessage:
if (xevent->xclient.message_type == gdk_x11_get_xatom_by_name_for_display (display, "XdndStatus"))
- gdk_x11_drag_context_handle_status (display, xevent);
+ gdk_x11_drag_handle_status (display, xevent);
else if (xevent->xclient.message_type == gdk_x11_get_xatom_by_name_for_display (display, "XdndFinished"))
- gdk_x11_drag_context_handle_finished (display, xevent);
+ gdk_x11_drag_handle_finished (display, xevent);
else
return FALSE;
return TRUE;
@@ -1830,7 +1830,7 @@ ease_out_cubic (double t)
typedef struct _GdkDragAnim GdkDragAnim;
struct _GdkDragAnim {
- GdkX11DragContext *context;
+ GdkX11Drag *drag;
GdkFrameClock *frame_clock;
gint64 start_time;
};
@@ -1838,7 +1838,7 @@ struct _GdkDragAnim {
static void
gdk_drag_anim_destroy (GdkDragAnim *anim)
{
- g_object_unref (anim->context);
+ g_object_unref (anim->drag);
g_slice_free (GdkDragAnim, anim);
}
@@ -1846,7 +1846,7 @@ static gboolean
gdk_drag_anim_timeout (gpointer data)
{
GdkDragAnim *anim = data;
- GdkX11DragContext *context = anim->context;
+ GdkX11Drag *drag = anim->drag;
GdkFrameClock *frame_clock = anim->frame_clock;
gint64 current_time;
double f;
@@ -1864,38 +1864,38 @@ gdk_drag_anim_timeout (gpointer data)
t = ease_out_cubic (f);
- gdk_surface_show (context->drag_surface);
- gdk_surface_move (context->drag_surface,
- context->last_x + (context->start_x - context->last_x) * t,
- context->last_y + (context->start_y - context->last_y) * t);
- gdk_surface_set_opacity (context->drag_surface, 1.0 - f);
+ gdk_surface_show (drag->drag_surface);
+ gdk_surface_move (drag->drag_surface,
+ drag->last_x + (drag->start_x - drag->last_x) * t,
+ drag->last_y + (drag->start_y - drag->last_y) * t);
+ gdk_surface_set_opacity (drag->drag_surface, 1.0 - f);
return G_SOURCE_CONTINUE;
}
static void
-gdk_x11_drag_context_release_selection (GdkDragContext *context)
+gdk_x11_drag_release_selection (GdkDrag *drag)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
GdkDisplay *display;
Display *xdisplay;
Window xwindow;
Atom xselection;
- display = gdk_drag_context_get_display (context);
+ display = gdk_drag_get_display (drag);
xdisplay = GDK_DISPLAY_XDISPLAY (display);
xselection = gdk_x11_get_xatom_by_name_for_display (display, "XdndSelection");
- xwindow = GDK_SURFACE_XID (x11_context->ipc_surface);
+ xwindow = GDK_SURFACE_XID (x11_drag->ipc_surface);
if (XGetSelectionOwner (xdisplay, xselection) == xwindow)
XSetSelectionOwner (xdisplay, xselection, None, CurrentTime);
}
static void
-gdk_x11_drag_context_drop_done (GdkDragContext *context,
+gdk_x11_drag_drop_done (GdkDrag *drag,
gboolean success)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
GdkDragAnim *anim;
/*
cairo_surface_t *win_surface;
@@ -1904,23 +1904,23 @@ gdk_x11_drag_context_drop_done (GdkDragContext *context,
*/
guint id;
- gdk_x11_drag_context_release_selection (context);
+ gdk_x11_drag_release_selection (drag);
- g_signal_handlers_disconnect_by_func (gdk_drag_context_get_display (context),
- gdk_x11_drag_context_xevent,
- context);
+ g_signal_handlers_disconnect_by_func (gdk_drag_get_display (drag),
+ gdk_x11_drag_xevent,
+ drag);
if (success)
{
- gdk_surface_hide (x11_context->drag_surface);
+ gdk_surface_hide (x11_drag->drag_surface);
return;
}
/*
- win_surface = _gdk_surface_ref_cairo_surface (x11_context->drag_surface);
- surface = gdk_surface_create_similar_surface (x11_context->drag_surface,
+ win_surface = _gdk_surface_ref_cairo_surface (x11_drag->drag_surface);
+ surface = gdk_surface_create_similar_surface (x11_drag->drag_surface,
cairo_surface_get_content (win_surface),
- gdk_surface_get_width (x11_context->drag_surface),
- gdk_surface_get_height (x11_context->drag_surface));
+ gdk_surface_get_width (x11_drag->drag_surface),
+ gdk_surface_get_height (x11_drag->drag_surface));
cr = cairo_create (surface);
cairo_set_source_surface (cr, win_surface, 0, 0);
cairo_paint (cr);
@@ -1929,15 +1929,15 @@ gdk_x11_drag_context_drop_done (GdkDragContext *context,
pattern = cairo_pattern_create_for_surface (surface);
- gdk_surface_set_background_pattern (x11_context->drag_surface, pattern);
+ gdk_surface_set_background_pattern (x11_drag->drag_surface, pattern);
cairo_pattern_destroy (pattern);
cairo_surface_destroy (surface);
*/
anim = g_slice_new0 (GdkDragAnim);
- anim->context = g_object_ref (x11_context);
- anim->frame_clock = gdk_surface_get_frame_clock (x11_context->drag_surface);
+ anim->drag = g_object_ref (x11_drag);
+ anim->frame_clock = gdk_surface_get_frame_clock (x11_drag->drag_surface);
anim->start_time = gdk_frame_clock_get_frame_time (anim->frame_clock);
id = g_timeout_add_full (G_PRIORITY_DEFAULT, 17,
@@ -1947,10 +1947,10 @@ gdk_x11_drag_context_drop_done (GdkDragContext *context,
}
static gboolean
-drag_context_grab (GdkDragContext *context)
+drag_grab (GdkDrag *drag)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
- GdkDevice *device = gdk_drag_context_get_device (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
+ GdkDevice *device = gdk_drag_get_device (drag);
GdkSeatCapabilities capabilities;
GdkDisplay *display;
Window root;
@@ -1958,12 +1958,12 @@ drag_context_grab (GdkDragContext *context)
gint keycode, i;
GdkCursor *cursor;
- if (!x11_context->ipc_surface)
+ if (!x11_drag->ipc_surface)
return FALSE;
- display = gdk_drag_context_get_display (context);
+ display = gdk_drag_get_display (drag);
root = GDK_DISPLAY_XROOTWIN (display);
- seat = gdk_device_get_seat (gdk_drag_context_get_device (context));
+ seat = gdk_device_get_seat (gdk_drag_get_device (drag));
#ifdef XINPUT_2
if (GDK_IS_X11_DEVICE_XI2 (device))
@@ -1972,15 +1972,15 @@ drag_context_grab (GdkDragContext *context)
#endif
capabilities = GDK_SEAT_CAPABILITY_ALL;
- cursor = gdk_drag_get_cursor (context, x11_context->current_action);
- g_set_object (&x11_context->cursor, cursor);
+ cursor = gdk_drag_get_cursor (drag, x11_drag->current_action);
+ g_set_object (&x11_drag->cursor, cursor);
- if (gdk_seat_grab (seat, x11_context->ipc_surface,
+ if (gdk_seat_grab (seat, x11_drag->ipc_surface,
capabilities, FALSE,
- x11_context->cursor, NULL, NULL, NULL) != GDK_GRAB_SUCCESS)
+ x11_drag->cursor, NULL, NULL, NULL) != GDK_GRAB_SUCCESS)
return FALSE;
- g_set_object (&x11_context->grab_seat, seat);
+ g_set_object (&x11_drag->grab_seat, seat);
gdk_x11_display_error_trap_push (display);
@@ -2040,23 +2040,23 @@ drag_context_grab (GdkDragContext *context)
}
static void
-drag_context_ungrab (GdkDragContext *context)
+drag_ungrab (GdkDrag *drag)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
GdkDisplay *display;
GdkDevice *keyboard;
Window root;
gint keycode, i;
- if (!x11_context->grab_seat)
+ if (!x11_drag->grab_seat)
return;
- gdk_seat_ungrab (x11_context->grab_seat);
+ gdk_seat_ungrab (x11_drag->grab_seat);
- display = gdk_drag_context_get_display (context);
- keyboard = gdk_seat_get_keyboard (x11_context->grab_seat);
+ display = gdk_drag_get_display (drag);
+ keyboard = gdk_seat_get_keyboard (x11_drag->grab_seat);
root = GDK_DISPLAY_XROOTWIN (display);
- g_clear_object (&x11_context->grab_seat);
+ g_clear_object (&x11_drag->grab_seat);
for (i = 0; i < G_N_ELEMENTS (grab_keys); ++i)
{
@@ -2091,91 +2091,91 @@ drag_context_ungrab (GdkDragContext *context)
}
}
-GdkDragContext *
-_gdk_x11_surface_drag_begin (GdkSurface *surface,
- GdkDevice *device,
- GdkContentProvider *content,
- GdkDragAction actions,
- gint dx,
- gint dy)
+GdkDrag *
+_gdk_x11_surface_drag_begin (GdkSurface *surface,
+ GdkDevice *device,
+ GdkContentProvider *content,
+ GdkDragAction actions,
+ gint dx,
+ gint dy)
{
- GdkX11DragContext *x11_context;
- GdkDragContext *context;
+ GdkX11Drag *x11_drag;
+ GdkDrag *drag;
GdkDisplay *display;
int x_root, y_root;
Atom xselection;
display = gdk_surface_get_display (surface);
- context = (GdkDragContext *) g_object_new (GDK_TYPE_X11_DRAG_CONTEXT,
+ drag = (GdkDrag *) g_object_new (GDK_TYPE_X11_DRAG,
"device", device,
"content", content,
NULL);
- x11_context = GDK_X11_DRAG_CONTEXT (context);
+ x11_drag = GDK_X11_DRAG (drag);
- g_signal_connect (display, "xevent", G_CALLBACK (gdk_x11_drag_context_xevent), context);
+ g_signal_connect (display, "xevent", G_CALLBACK (gdk_x11_drag_xevent), drag);
- precache_target_list (context);
+ precache_target_list (drag);
gdk_device_get_position (device, &x_root, &y_root);
x_root += dx;
y_root += dy;
- x11_context->start_x = x_root;
- x11_context->start_y = y_root;
- x11_context->last_x = x_root;
- x11_context->last_y = y_root;
+ x11_drag->start_x = x_root;
+ x11_drag->start_y = y_root;
+ x11_drag->last_x = x_root;
+ x11_drag->last_y = y_root;
- x11_context->protocol = GDK_DRAG_PROTO_XDND;
- x11_context->actions = actions;
- x11_context->ipc_surface = gdk_surface_new_popup (display, &(GdkRectangle) { -99, -99, 1, 1 });
+ x11_drag->protocol = GDK_DRAG_PROTO_XDND;
+ x11_drag->actions = actions;
+ x11_drag->ipc_surface = gdk_surface_new_popup (display, &(GdkRectangle) { -99, -99, 1, 1 });
if (gdk_surface_get_group (surface))
- gdk_surface_set_group (x11_context->ipc_surface, surface);
- gdk_surface_show (x11_context->ipc_surface);
+ gdk_surface_set_group (x11_drag->ipc_surface, surface);
+ gdk_surface_show (x11_drag->ipc_surface);
- context->source_surface = x11_context->ipc_surface;
- g_object_ref (context->source_surface);
+ drag->source_surface = x11_drag->ipc_surface;
+ g_object_ref (drag->source_surface);
- x11_context->drag_surface = create_drag_surface (display);
+ x11_drag->drag_surface = create_drag_surface (display);
- if (!drag_context_grab (context))
+ if (!drag_grab (drag))
{
- g_object_unref (context);
+ g_object_unref (drag);
return NULL;
}
- move_drag_surface (context, x_root, y_root);
+ move_drag_surface (drag, x_root, y_root);
- x11_context->timestamp = gdk_display_get_last_seen_time (display);
+ x11_drag->timestamp = gdk_display_get_last_seen_time (display);
xselection = gdk_x11_get_xatom_by_name_for_display (display, "XdndSelection");
XSetSelectionOwner (GDK_DISPLAY_XDISPLAY (display),
xselection,
- GDK_SURFACE_XID (x11_context->ipc_surface),
- x11_context->timestamp);
- if (XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), xselection) != GDK_SURFACE_XID (x11_context->ipc_surface))
+ GDK_SURFACE_XID (x11_drag->ipc_surface),
+ x11_drag->timestamp);
+ if (XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), xselection) != GDK_SURFACE_XID (x11_drag->ipc_surface))
{
GDK_DISPLAY_NOTE (display, DND, g_printerr ("failed XSetSelectionOwner() on \"XdndSelection\", aborting DND\n"));
- g_object_unref (context);
+ g_object_unref (drag);
return NULL;
}
- return context;
+ return drag;
}
static void
-gdk_x11_drag_context_set_cursor (GdkDragContext *context,
- GdkCursor *cursor)
+gdk_x11_drag_set_cursor (GdkDrag *drag,
+ GdkCursor *cursor)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
- if (!g_set_object (&x11_context->cursor, cursor))
+ if (!g_set_object (&x11_drag->cursor, cursor))
return;
- if (x11_context->grab_seat)
+ if (x11_drag->grab_seat)
{
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- gdk_device_grab (gdk_seat_get_pointer (x11_context->grab_seat),
- x11_context->ipc_surface,
+ gdk_device_grab (gdk_seat_get_pointer (x11_drag->grab_seat),
+ x11_drag->ipc_surface,
GDK_OWNERSHIP_APPLICATION, FALSE,
GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
cursor, GDK_CURRENT_TIME);
@@ -2184,19 +2184,19 @@ gdk_x11_drag_context_set_cursor (GdkDragContext *context,
}
static void
-gdk_x11_drag_context_cancel (GdkDragContext *context,
- GdkDragCancelReason reason)
+gdk_x11_drag_cancel (GdkDrag *drag,
+ GdkDragCancelReason reason)
{
- drag_context_ungrab (context);
- gdk_drag_drop_done (context, FALSE);
+ drag_ungrab (drag);
+ gdk_drag_drop_done (drag, FALSE);
}
static void
-gdk_x11_drag_context_drop_performed (GdkDragContext *context,
- guint32 time_)
+gdk_x11_drag_drop_performed (GdkDrag *drag,
+ guint32 time_)
{
- gdk_drag_drop (context, time_);
- drag_context_ungrab (context);
+ gdk_drag_drop (drag, time_);
+ drag_ungrab (drag);
}
#define BIG_STEP 20
@@ -2260,30 +2260,30 @@ gdk_drag_get_current_actions (GdkModifierType state,
}
static void
-gdk_drag_update (GdkDragContext *context,
+gdk_drag_update (GdkDrag *drag,
gdouble x_root,
gdouble y_root,
GdkModifierType mods,
guint32 evtime)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
GdkDragAction action, possible_actions;
GdkDragProtocol protocol;
Window proxy;
- gdk_drag_get_current_actions (mods, GDK_BUTTON_PRIMARY, x11_context->actions,
+ gdk_drag_get_current_actions (mods, GDK_BUTTON_PRIMARY, x11_drag->actions,
&action, &possible_actions);
- proxy = gdk_x11_drag_context_find_surface (context,
- x11_context->drag_surface,
+ proxy = gdk_x11_drag_find_surface (drag,
+ x11_drag->drag_surface,
x_root, y_root, &protocol);
- gdk_x11_drag_context_drag_motion (context, proxy, protocol, x_root, y_root,
+ gdk_x11_drag_drag_motion (drag, proxy, protocol, x_root, y_root,
action, possible_actions, evtime);
}
static gboolean
-gdk_dnd_handle_motion_event (GdkDragContext *context,
+gdk_dnd_handle_motion_event (GdkDrag *drag,
const GdkEventMotion *event)
{
GdkModifierType state;
@@ -2291,16 +2291,16 @@ gdk_dnd_handle_motion_event (GdkDragContext *context,
if (!gdk_event_get_state ((GdkEvent *) event, &state))
return FALSE;
- gdk_drag_update (context, event->x_root, event->y_root, state,
+ gdk_drag_update (drag, event->x_root, event->y_root, state,
gdk_event_get_time ((GdkEvent *) event));
return TRUE;
}
static gboolean
-gdk_dnd_handle_key_event (GdkDragContext *context,
+gdk_dnd_handle_key_event (GdkDrag *drag,
const GdkEventKey *event)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
GdkModifierType state;
GdkDevice *pointer;
gint dx, dy;
@@ -2314,7 +2314,7 @@ gdk_dnd_handle_key_event (GdkDragContext *context,
switch (event->keyval)
{
case GDK_KEY_Escape:
- gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_USER_CANCELLED);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_USER_CANCELLED);
return TRUE;
case GDK_KEY_space:
@@ -2322,13 +2322,13 @@ gdk_dnd_handle_key_event (GdkDragContext *context,
case GDK_KEY_ISO_Enter:
case GDK_KEY_KP_Enter:
case GDK_KEY_KP_Space:
- if ((gdk_drag_context_get_selected_action (context) != 0) &&
- (x11_context->proxy_xid != None))
+ if ((gdk_drag_get_selected_action (drag) != 0) &&
+ (x11_drag->proxy_xid != None))
{
- g_signal_emit_by_name (context, "drop-performed");
+ g_signal_emit_by_name (drag, "drop-performed");
}
else
- gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_NO_TARGET);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_NO_TARGET);
return TRUE;
@@ -2365,83 +2365,83 @@ gdk_dnd_handle_key_event (GdkDragContext *context,
if (dx != 0 || dy != 0)
{
- x11_context->last_x += dx;
- x11_context->last_y += dy;
- gdk_device_warp (pointer, x11_context->last_x, x11_context->last_y);
+ x11_drag->last_x += dx;
+ x11_drag->last_y += dy;
+ gdk_device_warp (pointer, x11_drag->last_x, x11_drag->last_y);
}
- gdk_drag_update (context, x11_context->last_x, x11_context->last_y, state,
+ gdk_drag_update (drag, x11_drag->last_x, x11_drag->last_y, state,
gdk_event_get_time ((GdkEvent *) event));
return TRUE;
}
static gboolean
-gdk_dnd_handle_grab_broken_event (GdkDragContext *context,
+gdk_dnd_handle_grab_broken_event (GdkDrag *drag,
const GdkEventGrabBroken *event)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
/* Don't cancel if we break the implicit grab from the initial button_press.
* Also, don't cancel if we re-grab on the widget or on our IPC window, for
* example, when changing the drag cursor.
*/
if (event->implicit ||
- event->grab_surface == x11_context->drag_surface ||
- event->grab_surface == x11_context->ipc_surface)
+ event->grab_surface == x11_drag->drag_surface ||
+ event->grab_surface == x11_drag->ipc_surface)
return FALSE;
if (gdk_event_get_device ((GdkEvent *) event) !=
- gdk_drag_context_get_device (context))
+ gdk_drag_get_device (drag))
return FALSE;
- gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_ERROR);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_ERROR);
return TRUE;
}
static gboolean
-gdk_dnd_handle_button_event (GdkDragContext *context,
+gdk_dnd_handle_button_event (GdkDrag *drag,
const GdkEventButton *event)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
#if 0
/* FIXME: Check the button matches */
- if (event->button != x11_context->button)
+ if (event->button != x11_drag->button)
return FALSE;
#endif
- if ((gdk_drag_context_get_selected_action (context) != 0) &&
- (x11_context->proxy_xid != None))
+ if ((gdk_drag_get_selected_action (drag) != 0) &&
+ (x11_drag->proxy_xid != None))
{
- g_signal_emit_by_name (context, "drop-performed");
+ g_signal_emit_by_name (drag, "drop-performed");
}
else
- gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_NO_TARGET);
+ gdk_drag_cancel (drag, GDK_DRAG_CANCEL_NO_TARGET);
return TRUE;
}
gboolean
-gdk_x11_drag_context_handle_event (GdkDragContext *context,
- const GdkEvent *event)
+gdk_x11_drag_handle_event (GdkDrag *drag,
+ const GdkEvent *event)
{
- GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (context);
+ GdkX11Drag *x11_drag = GDK_X11_DRAG (drag);
- if (!x11_context->grab_seat)
+ if (!x11_drag->grab_seat)
return FALSE;
switch ((guint) event->any.type)
{
case GDK_MOTION_NOTIFY:
- return gdk_dnd_handle_motion_event (context, &event->motion);
+ return gdk_dnd_handle_motion_event (drag, &event->motion);
case GDK_BUTTON_RELEASE:
- return gdk_dnd_handle_button_event (context, &event->button);
+ return gdk_dnd_handle_button_event (drag, &event->button);
case GDK_KEY_PRESS:
case GDK_KEY_RELEASE:
- return gdk_dnd_handle_key_event (context, &event->key);
+ return gdk_dnd_handle_key_event (drag, &event->key);
case GDK_GRAB_BROKEN:
- return gdk_dnd_handle_grab_broken_event (context, &event->grab_broken);
+ return gdk_dnd_handle_grab_broken_event (drag, &event->grab_broken);
default:
break;
}
@@ -2450,11 +2450,11 @@ gdk_x11_drag_context_handle_event (GdkDragContext *context,
}
void
-gdk_x11_drag_context_action_changed (GdkDragContext *context,
- GdkDragAction action)
-{
+gdk_x11_drag_action_changed (GdkDrag *drag,
+ GdkDragAction action)
+{
GdkCursor *cursor;
- cursor = gdk_drag_get_cursor (context, action);
- gdk_drag_context_set_cursor (context, cursor);
+ cursor = gdk_drag_get_cursor (drag, action);
+ gdk_drag_set_cursor (drag, cursor);
}
diff --git a/gdk/x11/gdkdrop-x11.c b/gdk/x11/gdkdrop-x11.c
index 1bd315efe5..6a71b55cf3 100644
--- a/gdk/x11/gdkdrop-x11.c
+++ b/gdk/x11/gdkdrop-x11.c
@@ -32,7 +32,7 @@
#include "gdkclipboard-x11.h"
#include "gdkdeviceprivate.h"
#include "gdkdisplay-x11.h"
-#include "gdkdndprivate.h"
+#include "gdkdragprivate.h"
#include "gdkinternals.h"
#include "gdkintl.h"
#include "gdkproperty.h"
@@ -336,7 +336,7 @@ gdk_x11_drop_read_actions (GdkDrop *drop)
{
GdkX11Drop *drop_x11 = GDK_X11_DROP (drop);
GdkDisplay *display = gdk_drop_get_display (drop);
- GdkDragContext *drag;
+ GdkDrag *drag;
GdkDragAction actions = GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_ASK;
Atom type;
int format;
@@ -398,7 +398,7 @@ gdk_x11_drop_read_actions (GdkDrop *drop)
}
else
{
- actions = gdk_drag_context_get_actions (drag);
+ actions = gdk_drag_get_actions (drag);
drop_x11->xdnd_have_actions = TRUE;
}
@@ -468,7 +468,7 @@ xdnd_enter_filter (GdkSurface *surface,
GdkX11Display *display_x11;
GdkDrop *drop;
GdkX11Drop *drop_x11;
- GdkDragContext *drag;
+ GdkDrag *drag;
GdkSeat *seat;
gint i;
Atom type;
@@ -548,7 +548,7 @@ xdnd_enter_filter (GdkSurface *surface,
print_target_list (content_formats);
#endif /* G_ENABLE_DEBUG */
- drag = gdk_x11_drag_context_find (display, source_window, GDK_SURFACE_XID (surface));
+ drag = gdk_x11_drag_find (display, source_window, GDK_SURFACE_XID (surface));
drop_x11 = g_object_new (GDK_TYPE_X11_DROP,
"device", gdk_seat_get_pointer (seat),
@@ -709,9 +709,6 @@ gdk_x11_drop_filter (GdkSurface *surface,
if (xevent->type != ClientMessage)
return GDK_FILTER_CONTINUE;
- if (gdk_surface_get_surface_type (surface) == GDK_SURFACE_FOREIGN)
- return GDK_FILTER_CONTINUE; /* Not for us */
-
display = GDK_SURFACE_DISPLAY (surface);
for (i = 0; i < G_N_ELEMENTS (xdnd_filters); i++)
@@ -771,7 +768,7 @@ gdk_x11_drop_status (GdkDrop *drop,
if (gdk_drop_get_drag (drop))
{
- gdk_x11_drag_context_handle_status (display, &xev);
+ gdk_x11_drag_handle_status (display, &xev);
}
else
{
@@ -824,7 +821,7 @@ gdk_x11_drop_finish (GdkDrop *drop,
if (gdk_drop_get_drag (drop))
{
- gdk_x11_drag_context_handle_status (display, &xev);
+ gdk_x11_drag_handle_status (display, &xev);
}
else
{
@@ -852,7 +849,7 @@ gdk_x11_drop_class_init (GdkX11DropClass *klass)
}
static void
-gdk_x11_drop_init (GdkX11Drop *context)
+gdk_x11_drop_init (GdkX11Drop *drag)
{
}
diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h
index 6af2811756..a609c4b93e 100644
--- a/gdk/x11/gdkprivate-x11.h
+++ b/gdk/x11/gdkprivate-x11.h
@@ -196,16 +196,16 @@ Atom _gdk_x11_get_xatom_for_display_printf (GdkDisplay *display,
const gchar *format,
...) G_GNUC_PRINTF (2, 3);
-GdkDragContext *gdk_x11_drag_context_find (GdkDisplay *display,
- Window source_xid,
- Window dest_xid);
-void gdk_x11_drag_context_handle_status (GdkDisplay *display,
- const XEvent *xevent);
-void gdk_x11_drag_context_handle_finished (GdkDisplay *display,
- const XEvent *xevent);
-void gdk_x11_drop_read_actions (GdkDrop *drop);
-gboolean gdk_x11_drop_filter (GdkSurface *surface,
- const XEvent *xevent);
+GdkDrag *gdk_x11_drag_find (GdkDisplay *display,
+ Window source_xid,
+ Window dest_xid);
+void gdk_x11_drag_handle_status (GdkDisplay *display,
+ const XEvent *xevent);
+void gdk_x11_drag_handle_finished (GdkDisplay *display,
+ const XEvent *xevent);
+void gdk_x11_drop_read_actions (GdkDrop *drop);
+gboolean gdk_x11_drop_filter (GdkSurface *surface,
+ const XEvent *xevent);
typedef struct _GdkSurfaceCache GdkSurfaceCache;
@@ -225,7 +225,7 @@ void _gdk_x11_cursor_display_finalize (GdkDisplay *display);
void _gdk_x11_surface_register_dnd (GdkSurface *window);
-GdkDragContext * _gdk_x11_surface_drag_begin (GdkSurface *window,
+GdkDrag * _gdk_x11_surface_drag_begin (GdkSurface *window,
GdkDevice *device,
GdkContentProvider *content,
GdkDragAction actions,
diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c
index a833b7ccd5..0a7563efe8 100644
--- a/gdk/x11/gdksurface-x11.c
+++ b/gdk/x11/gdksurface-x11.c
@@ -110,11 +110,6 @@ static void move_to_current_desktop (GdkSurface *surface);
static void gdk_surface_impl_x11_finalize (GObject *object);
-#define SURFACE_IS_TOPLEVEL_OR_FOREIGN(surface) \
- (GDK_SURFACE_TYPE (surface) == GDK_SURFACE_TOPLEVEL || \
- GDK_SURFACE_TYPE (surface) == GDK_SURFACE_TEMP || \
- GDK_SURFACE_TYPE (surface) == GDK_SURFACE_FOREIGN)
-
#define SURFACE_IS_TOPLEVEL(surface) \
(GDK_SURFACE_TYPE (surface) == GDK_SURFACE_TOPLEVEL || \
GDK_SURFACE_TYPE (surface) == GDK_SURFACE_TEMP)
@@ -1068,8 +1063,7 @@ gdk_x11_surface_destroy_notify (GdkSurface *surface)
if (!GDK_SURFACE_DESTROYED (surface))
{
- if (GDK_SURFACE_TYPE(surface) != GDK_SURFACE_FOREIGN)
- g_warning ("GdkSurface %#lx unexpectedly destroyed", GDK_SURFACE_XID (surface));
+ g_warning ("GdkSurface %#lx unexpectedly destroyed", GDK_SURFACE_XID (surface));
_gdk_surface_destroy (surface, TRUE);
}
@@ -1316,7 +1310,6 @@ gdk_surface_x11_hide (GdkSurface *surface)
gdk_surface_withdraw (surface);
return;
- case GDK_SURFACE_FOREIGN:
case GDK_SURFACE_CHILD:
default:
break;
@@ -1473,7 +1466,7 @@ _gdk_x11_surface_set_surface_scale (GdkSurface *surface,
_gdk_surface_update_size (surface);
toplevel = _gdk_x11_surface_get_toplevel (surface);
- if (toplevel && surface->surface_type != GDK_SURFACE_FOREIGN)
+ if (toplevel)
{
/* These are affected by surface scale: */
geom_mask = toplevel->last_geometry_hints_mask &
@@ -1484,25 +1477,17 @@ _gdk_x11_surface_set_surface_scale (GdkSurface *surface,
geom_mask);
}
- if (surface->surface_type == GDK_SURFACE_FOREIGN)
- XMoveWindow (GDK_SURFACE_XDISPLAY (surface),
- GDK_SURFACE_XID (surface),
- surface->x * impl->surface_scale,
- surface->y * impl->surface_scale);
- else
+ if (impl->override_redirect)
{
- if (impl->override_redirect)
- {
- impl->unscaled_width = surface->width * impl->surface_scale;
- impl->unscaled_height = surface->height * impl->surface_scale;
- }
-
- XResizeWindow (GDK_SURFACE_XDISPLAY (surface),
- GDK_SURFACE_XID (surface),
- surface->width * impl->surface_scale,
- surface->height * impl->surface_scale);
+ impl->unscaled_width = surface->width * impl->surface_scale;
+ impl->unscaled_height = surface->height * impl->surface_scale;
}
+ XResizeWindow (GDK_SURFACE_XDISPLAY (surface),
+ GDK_SURFACE_XID (surface),
+ surface->width * impl->surface_scale,
+ surface->height * impl->surface_scale);
+
gdk_surface_invalidate_rect (surface, NULL);
}
@@ -1668,7 +1653,7 @@ gdk_x11_surface_focus (GdkSurface *surface,
g_return_if_fail (GDK_IS_SURFACE (surface));
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
display = GDK_SURFACE_DISPLAY (surface);
@@ -1718,7 +1703,7 @@ gdk_x11_surface_set_type_hint (GdkSurface *surface,
Atom atom;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
display = gdk_surface_get_display (surface);
@@ -1792,7 +1777,7 @@ gdk_x11_surface_get_type_hint (GdkSurface *surface)
g_return_val_if_fail (GDK_IS_SURFACE (surface), GDK_SURFACE_TYPE_HINT_NORMAL);
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return GDK_SURFACE_TYPE_HINT_NORMAL;
type = GDK_SURFACE_TYPE_HINT_NORMAL;
@@ -1879,7 +1864,7 @@ gdk_x11_surface_set_modal_hint (GdkSurface *surface,
gboolean modal)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
surface->modal_hint = modal;
@@ -1899,7 +1884,7 @@ gdk_x11_surface_set_skip_taskbar_hint (GdkSurface *surface,
g_return_if_fail (GDK_SURFACE_TYPE (surface) != GDK_SURFACE_CHILD);
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
toplevel = _gdk_x11_surface_get_toplevel (surface);
@@ -1920,7 +1905,7 @@ gdk_x11_surface_set_skip_pager_hint (GdkSurface *surface,
g_return_if_fail (GDK_SURFACE_TYPE (surface) != GDK_SURFACE_CHILD);
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
toplevel = _gdk_x11_surface_get_toplevel (surface);
@@ -1941,7 +1926,7 @@ gdk_x11_surface_set_urgency_hint (GdkSurface *surface,
g_return_if_fail (GDK_SURFACE_TYPE (surface) != GDK_SURFACE_CHILD);
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
toplevel = _gdk_x11_surface_get_toplevel (surface);
@@ -1960,7 +1945,7 @@ gdk_x11_surface_set_geometry_hints (GdkSurface *surface,
GdkToplevelX11 *toplevel;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
toplevel = _gdk_x11_surface_get_toplevel (surface);
@@ -2083,7 +2068,7 @@ gdk_surface_get_geometry_hints (GdkSurface *surface,
*geom_mask = 0;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
impl = GDK_SURFACE_IMPL_X11 (surface->impl);
@@ -2232,7 +2217,7 @@ gdk_x11_surface_set_title (GdkSurface *surface,
g_return_if_fail (title != NULL);
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
display = gdk_surface_get_display (surface);
@@ -2263,7 +2248,7 @@ gdk_x11_surface_set_role (GdkSurface *surface,
display = gdk_surface_get_display (surface);
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (role)
@@ -2286,7 +2271,7 @@ gdk_x11_surface_set_startup_id (GdkSurface *surface,
display = gdk_surface_get_display (surface);
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (startup_id)
@@ -2304,7 +2289,7 @@ gdk_x11_surface_set_transient_for (GdkSurface *surface,
GdkSurface *parent)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
/* XSetTransientForHint() doesn't allow unsetting, so do it manually */
@@ -2639,7 +2624,7 @@ gdk_x11_surface_set_accept_focus (GdkSurface *surface,
surface->accept_focus = accept_focus;
if (!GDK_SURFACE_DESTROYED (surface) &&
- SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ SURFACE_IS_TOPLEVEL (surface))
update_wm_hints (surface, FALSE);
}
}
@@ -2656,7 +2641,7 @@ gdk_x11_surface_set_focus_on_map (GdkSurface *surface,
if ((!GDK_SURFACE_DESTROYED (surface)) &&
(!surface->focus_on_map) &&
- SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ SURFACE_IS_TOPLEVEL (surface))
gdk_x11_surface_set_user_time (surface, 0);
}
}
@@ -2690,7 +2675,7 @@ gdk_x11_surface_set_user_time (GdkSurface *surface,
Window xid;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
display = gdk_surface_get_display (surface);
@@ -2933,7 +2918,7 @@ gdk_x11_surface_set_icon_list (GdkSurface *surface,
gint i, n;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
display = gdk_surface_get_display (surface);
@@ -3015,7 +3000,7 @@ gdk_x11_surface_set_icon_name (GdkSurface *surface,
GdkDisplay *display;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
display = gdk_surface_get_display (surface);
@@ -3050,7 +3035,7 @@ static void
gdk_x11_surface_iconify (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3075,7 +3060,7 @@ static void
gdk_x11_surface_deiconify (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3101,7 +3086,7 @@ static void
gdk_x11_surface_stick (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3149,7 +3134,7 @@ static void
gdk_x11_surface_unstick (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3175,7 +3160,7 @@ static void
gdk_x11_surface_maximize (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3192,7 +3177,7 @@ static void
gdk_x11_surface_unmaximize (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3209,7 +3194,7 @@ static void
gdk_x11_surface_apply_fullscreen_mode (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
/* _NET_WM_FULLSCREEN_MONITORS gives an indication to the window manager as
@@ -3301,7 +3286,7 @@ static void
gdk_x11_surface_fullscreen (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3328,7 +3313,7 @@ gdk_x11_surface_fullscreen_on_monitor (GdkSurface *surface,
GdkRectangle geom;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
gdk_monitor_get_geometry (monitor, &geom);
@@ -3342,7 +3327,7 @@ static void
gdk_x11_surface_unfullscreen (GdkSurface *surface)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3363,7 +3348,7 @@ gdk_x11_surface_set_keep_above (GdkSurface *surface,
g_return_if_fail (GDK_IS_SURFACE (surface));
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3388,7 +3373,7 @@ gdk_x11_surface_set_keep_below (GdkSurface *surface, gboolean setting)
g_return_if_fail (GDK_IS_SURFACE (surface));
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
if (GDK_SURFACE_IS_MAPPED (surface))
@@ -3539,7 +3524,7 @@ gdk_x11_surface_set_decorations (GdkSurface *surface,
MotifWmHints hints;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
/* initialize to zero to avoid writing uninitialized data to socket */
@@ -3558,7 +3543,7 @@ gdk_x11_surface_get_decorations(GdkSurface *surface,
gboolean result = FALSE;
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return FALSE;
hints = gdk_surface_get_mwm_hints (surface);
@@ -3587,7 +3572,7 @@ gdk_x11_surface_set_functions (GdkSurface *surface,
g_return_if_fail (GDK_IS_SURFACE (surface));
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
/* initialize to zero to avoid writing uninitialized data to socket */
@@ -4369,7 +4354,7 @@ gdk_x11_surface_begin_resize_drag (GdkSurface *surface,
guint32 timestamp)
{
if (GDK_SURFACE_DESTROYED (surface) ||
- !SURFACE_IS_TOPLEVEL_OR_FOREIGN (surface))
+ !SURFACE_IS_TOPLEVEL (surface))
return;
/* Avoid EWMH for touch devices */
diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h
index ff3d5a43a9..a6e6e1c024 100644
--- a/gdk/x11/gdkx-autocleanups.h
+++ b/gdk/x11/gdkx-autocleanups.h
@@ -27,7 +27,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceManagerCore, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceManagerXI2, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DragContext, g_object_unref)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Drag, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11GLContext, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref)
diff --git a/gdk/x11/gdkx11dnd.h b/gdk/x11/gdkx11dnd.h
index a676314219..dfe60500c6 100644
--- a/gdk/x11/gdkx11dnd.h
+++ b/gdk/x11/gdkx11dnd.h
@@ -26,23 +26,23 @@
G_BEGIN_DECLS
-#define GDK_TYPE_X11_DRAG_CONTEXT (gdk_x11_drag_context_get_type ())
-#define GDK_X11_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DRAG_CONTEXT, GdkX11DragContext))
-#define GDK_X11_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DRAG_CONTEXT, GdkX11DragContextClass))
-#define GDK_IS_X11_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_DRAG_CONTEXT))
-#define GDK_IS_X11_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DRAG_CONTEXT))
-#define GDK_X11_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DRAG_CONTEXT, GdkX11DragContextClass))
+#define GDK_TYPE_X11_DRAG (gdk_x11_drag_get_type ())
+#define GDK_X11_DRAG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DRAG, GdkX11Drag))
+#define GDK_X11_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DRAG, GdkX11DragClass))
+#define GDK_IS_X11_DRAG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_DRAG))
+#define GDK_IS_X11_DRAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DRAG))
+#define GDK_X11_DRAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DRAG, GdkX11DragClass))
#ifdef GDK_COMPILATION
-typedef struct _GdkX11DragContext GdkX11DragContext;
+typedef struct _GdkX11Drag GdkX11Drag;
#else
-typedef GdkDragContext GdkX11DragContext;
+typedef GdkDrag GdkX11Drag;
#endif
-typedef struct _GdkX11DragContextClass GdkX11DragContextClass;
+typedef struct _GdkX11DragClass GdkX11DragClass;
GDK_AVAILABLE_IN_ALL
-GType gdk_x11_drag_context_get_type (void);
+GType gdk_x11_drag_get_type (void);
G_END_DECLS
-#endif /* __GDK_X11_DRAG_CONTEXT_H__ */
+#endif /* __GDK_X11_DRAG_H__ */
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index 2be5fbeadc..76a54728de 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -13,6 +13,7 @@
#include "gskglglyphcacheprivate.h"
#include "gskglrenderopsprivate.h"
#include "gskcairoblurprivate.h"
+#include "gskglshadowcacheprivate.h"
#include "gskprivate.h"
@@ -53,7 +54,6 @@
glGetUniformLocation(program_ptr->id, "u_" #uniform_basename);\
}G_STMT_END
-
static void G_GNUC_UNUSED
print_render_node_tree (GskRenderNode *root, int level)
{
@@ -266,6 +266,7 @@ struct _GskGLRenderer
GArray *render_ops;
GskGLGlyphCache glyph_cache;
+ GskGLShadowCache shadow_cache;
#ifdef G_ENABLE_DEBUG
struct {
@@ -321,13 +322,19 @@ render_fallback_node (GskGLRenderer *self,
const GskQuadVertex *vertex_data)
{
const float scale = ops_get_scale (builder);
+ const int surface_width = ceilf (node->bounds.size.width) * scale;
+ const int surface_height = ceilf (node->bounds.size.height) * scale;
cairo_surface_t *surface;
cairo_t *cr;
int texture_id;
+ if (surface_width <= 0 ||
+ surface_height <= 0)
+ return;
+
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
- ceilf (node->bounds.size.width) * scale,
- ceilf (node->bounds.size.height) * scale);
+ surface_width,
+ surface_height);
cairo_surface_set_device_scale (surface, scale, scale);
cr = cairo_create (surface);
@@ -349,8 +356,8 @@ render_fallback_node (GskGLRenderer *self,
/* Upload the Cairo surface to a GL texture */
texture_id = gsk_gl_driver_create_texture (self->gl_driver,
- cairo_image_surface_get_width (surface),
- cairo_image_surface_get_height (surface));
+ surface_width,
+ surface_height);
gsk_gl_driver_bind_source_texture (self->gl_driver, texture_id);
gsk_gl_driver_init_texture_with_surface (self->gl_driver,
@@ -1071,6 +1078,7 @@ render_outset_shadow_node (GskGLRenderer *self,
int prev_render_target;
int texture_id, render_target;
int blurred_texture_id, blurred_render_target;
+ int cached_tid;
/* offset_outline is the minimal outline we need to draw the given drop shadow,
* enlarged by the spread and offset by the blur radius. */
@@ -1092,77 +1100,92 @@ render_outset_shadow_node (GskGLRenderer *self,
texture_width = offset_outline.bounds.size.width + blur_extra;
texture_height = offset_outline.bounds.size.height + blur_extra;
- texture_id = gsk_gl_driver_create_texture (self->gl_driver, texture_width, texture_height);
- gsk_gl_driver_bind_source_texture (self->gl_driver, texture_id);
- gsk_gl_driver_init_texture_empty (self->gl_driver, texture_id);
- render_target = gsk_gl_driver_create_render_target (self->gl_driver, texture_id, FALSE, FALSE);
-
-
- graphene_matrix_init_ortho (&item_proj,
- 0, texture_width, 0, texture_height,
- ORTHO_NEAR_PLANE, ORTHO_FAR_PLANE);
- graphene_matrix_scale (&item_proj, 1, -1, 1);
- graphene_matrix_init_identity (&identity);
+ cached_tid = gsk_gl_shadow_cache_get_texture_id (&self->shadow_cache,
+ self->gl_driver,
+ &offset_outline,
+ blur_radius);
+ if (cached_tid == 0)
+ {
+ texture_id = gsk_gl_driver_create_texture (self->gl_driver, texture_width, texture_height);
+ gsk_gl_driver_bind_source_texture (self->gl_driver, texture_id);
+ gsk_gl_driver_init_texture_empty (self->gl_driver, texture_id);
+ render_target = gsk_gl_driver_create_render_target (self->gl_driver, texture_id, FALSE, FALSE);
+
+
+ graphene_matrix_init_ortho (&item_proj,
+ 0, texture_width, 0, texture_height,
+ ORTHO_NEAR_PLANE, ORTHO_FAR_PLANE);
+ graphene_matrix_scale (&item_proj, 1, -1, 1);
+ graphene_matrix_init_identity (&identity);
+
+ prev_render_target = ops_set_render_target (builder, render_target);
+ op.op = OP_CLEAR;
+ ops_add (builder, &op);
+ prev_projection = ops_set_projection (builder, &item_proj);
+ prev_modelview = ops_set_modelview (builder, &identity);
+ prev_viewport = ops_set_viewport (builder, &GRAPHENE_RECT_INIT (0, 0, texture_width, texture_height));
+
+ /* Draw outline */
+ ops_set_program (builder, &self->color_program);
+ prev_clip = ops_set_clip (builder, &offset_outline);
+ ops_set_color (builder, gsk_outset_shadow_node_peek_color (node));
+ ops_draw (builder, (GskQuadVertex[GL_N_VERTICES]) {
+ { { 0, }, { 0, 1 }, },
+ { { 0, texture_height }, { 0, 0 }, },
+ { { texture_width, }, { 1, 1 }, },
- prev_render_target = ops_set_render_target (builder, render_target);
- op.op = OP_CLEAR;
- ops_add (builder, &op);
- prev_projection = ops_set_projection (builder, &item_proj);
- prev_modelview = ops_set_modelview (builder, &identity);
- prev_viewport = ops_set_viewport (builder, &GRAPHENE_RECT_INIT (0, 0, texture_width, texture_height));
+ { { texture_width, texture_height }, { 1, 0 }, },
+ { { 0, texture_height }, { 0, 0 }, },
+ { { texture_width, }, { 1, 1 }, },
+ });
- /* Draw outline */
- ops_set_program (builder, &self->color_program);
- prev_clip = ops_set_clip (builder, &offset_outline);
- ops_set_color (builder, gsk_outset_shadow_node_peek_color (node));
- ops_draw (builder, (GskQuadVertex[GL_N_VERTICES]) {
- { { 0, }, { 0, 1 }, },
- { { 0, texture_height }, { 0, 0 }, },
- { { texture_width, }, { 1, 1 }, },
-
- { { texture_width, texture_height }, { 1, 0 }, },
- { { 0, texture_height }, { 0, 0 }, },
- { { texture_width, }, { 1, 1 }, },
- });
-
- blurred_texture_id = gsk_gl_driver_create_texture (self->gl_driver, texture_width, texture_height);
- gsk_gl_driver_bind_source_texture (self->gl_driver, blurred_texture_id);
- gsk_gl_driver_init_texture_empty (self->gl_driver, blurred_texture_id);
- blurred_render_target = gsk_gl_driver_create_render_target (self->gl_driver, blurred_texture_id, TRUE, TRUE);
-
- ops_set_render_target (builder, blurred_render_target);
- op.op = OP_CLEAR;
- ops_add (builder, &op);
+ blurred_texture_id = gsk_gl_driver_create_permanent_texture (self->gl_driver, texture_width, texture_height);
+ gsk_gl_driver_bind_source_texture (self->gl_driver, blurred_texture_id);
+ gsk_gl_driver_init_texture_empty (self->gl_driver, blurred_texture_id);
+ blurred_render_target = gsk_gl_driver_create_render_target (self->gl_driver, blurred_texture_id, TRUE, TRUE);
- gsk_rounded_rect_init_from_rect (&blit_clip,
- &GRAPHENE_RECT_INIT (0, 0, texture_width, texture_height), 0.0f);
+ ops_set_render_target (builder, blurred_render_target);
+ op.op = OP_CLEAR;
+ ops_add (builder, &op);
- ops_set_program (builder, &self->blur_program);
- op.op = OP_CHANGE_BLUR;
- op.blur.size.width = texture_width;
- op.blur.size.height = texture_height;
- op.blur.radius = blur_radius;
- ops_add (builder, &op);
+ gsk_rounded_rect_init_from_rect (&blit_clip,
+ &GRAPHENE_RECT_INIT (0, 0, texture_width, texture_height), 0.0f);
- ops_set_clip (builder, &blit_clip);
- ops_set_texture (builder, texture_id);
- ops_draw (builder, (GskQuadVertex[GL_N_VERTICES]) {
- { { 0, 0 }, { 0, 1 }, },
- { { 0, texture_height }, { 0, 0 }, },
- { { texture_width, 0 }, { 1, 1 }, },
+ ops_set_program (builder, &self->blur_program);
+ op.op = OP_CHANGE_BLUR;
+ op.blur.size.width = texture_width;
+ op.blur.size.height = texture_height;
+ op.blur.radius = blur_radius;
+ ops_add (builder, &op);
- { { texture_width, texture_height }, { 1, 0 }, },
- { { 0, texture_height }, { 0, 0 }, },
- { { texture_width, 0 }, { 1, 1 }, },
- });
+ ops_set_clip (builder, &blit_clip);
+ ops_set_texture (builder, texture_id);
+ ops_draw (builder, (GskQuadVertex[GL_N_VERTICES]) {
+ { { 0, 0 }, { 0, 1 }, },
+ { { 0, texture_height }, { 0, 0 }, },
+ { { texture_width, 0 }, { 1, 1 }, },
+ { { texture_width, texture_height }, { 1, 0 }, },
+ { { 0, texture_height }, { 0, 0 }, },
+ { { texture_width, 0 }, { 1, 1 }, },
+ });
- ops_set_clip (builder, &prev_clip);
- ops_set_viewport (builder, &prev_viewport);
- ops_set_modelview (builder, &prev_modelview);
- ops_set_projection (builder, &prev_projection);
- ops_set_render_target (builder, prev_render_target);
+ ops_set_clip (builder, &prev_clip);
+ ops_set_viewport (builder, &prev_viewport);
+ ops_set_modelview (builder, &prev_modelview);
+ ops_set_projection (builder, &prev_projection);
+ ops_set_render_target (builder, prev_render_target);
+
+ gsk_gl_shadow_cache_commit (&self->shadow_cache,
+ &offset_outline,
+ blur_radius,
+ blurred_texture_id);
+ }
+ else
+ {
+ blurred_texture_id = cached_tid;
+ }
ops_set_program (builder, &self->outset_shadow_program);
ops_set_texture (builder, blurred_texture_id);
@@ -1387,8 +1410,6 @@ render_outset_shadow_node (GskGLRenderer *self,
}
}
-
- ops_set_clip (builder, &prev_clip);
}
static inline void
@@ -2000,6 +2021,7 @@ gsk_gl_renderer_realize (GskRenderer *renderer,
return FALSE;
gsk_gl_glyph_cache_init (&self->glyph_cache, renderer, self->gl_driver);
+ gsk_gl_shadow_cache_init (&self->shadow_cache);
return TRUE;
}
@@ -2024,6 +2046,7 @@ gsk_gl_renderer_unrealize (GskRenderer *renderer)
glDeleteProgram (self->programs[i].id);
gsk_gl_glyph_cache_free (&self->glyph_cache);
+ gsk_gl_shadow_cache_free (&self->shadow_cache, self->gl_driver);
g_clear_object (&self->gl_profiler);
g_clear_object (&self->gl_driver);
@@ -2518,6 +2541,7 @@ gsk_gl_renderer_do_render (GskRenderer *renderer,
gsk_gl_driver_begin_frame (self->gl_driver);
gsk_gl_glyph_cache_begin_frame (&self->glyph_cache);
+ gsk_gl_shadow_cache_begin_frame (&self->shadow_cache, self->gl_driver);
memset (&render_op_builder, 0, sizeof (render_op_builder));
render_op_builder.renderer = self;
diff --git a/gsk/gl/gskglshadowcache.c b/gsk/gl/gskglshadowcache.c
new file mode 100644
index 0000000000..8d8960e88b
--- /dev/null
+++ b/gsk/gl/gskglshadowcache.c
@@ -0,0 +1,121 @@
+
+#include "gskglshadowcacheprivate.h"
+
+typedef struct
+{
+ GskRoundedRect outline;
+ float blur_radius;
+} CacheKey;
+
+typedef struct
+{
+ int texture_id;
+ guint used : 1;
+} CacheValue;
+
+static gboolean
+key_equal (const void *x,
+ const void *y)
+{
+ const CacheKey *a = x;
+ const CacheKey *b = y;
+
+ return memcmp (&a->outline, &b->outline, sizeof (GskRoundedRect)) == 0 &&
+ a->blur_radius == b->blur_radius;
+}
+
+void
+gsk_gl_shadow_cache_init (GskGLShadowCache *self)
+{
+ self->textures = g_hash_table_new_full (g_direct_hash, key_equal, g_free, g_free);
+}
+
+void
+gsk_gl_shadow_cache_free (GskGLShadowCache *self,
+ GskGLDriver *gl_driver)
+{
+ g_hash_table_unref (self->textures);
+ self->textures = NULL;
+}
+
+void
+gsk_gl_shadow_cache_begin_frame (GskGLShadowCache *self,
+ GskGLDriver *gl_driver)
+{
+ GHashTableIter iter;
+ CacheKey *key;
+ CacheValue *value;
+
+ /* We remove all textures with used = FALSE since those have not been used in the
+ * last frame. For all others, we reset the `used` value to FALSE instead and see
+ * if they end up with TRUE in the next call to begin_frame. */
+
+ g_hash_table_iter_init (&iter, self->textures);
+ while (g_hash_table_iter_next (&iter, (gpointer *)&key, (gpointer *)&value))
+ {
+ if (!value->used)
+ {
+ /* Remove */
+ gsk_gl_driver_destroy_texture (gl_driver, value->texture_id);
+ g_hash_table_iter_remove (&iter);
+ }
+ else
+ {
+ value->used = FALSE;
+ }
+ }
+}
+
+/* XXX
+ * The offset origin should always be at 0/0, or the blur radius should just go
+ * away since it defines the origin position anyway?
+ */
+int
+gsk_gl_shadow_cache_get_texture_id (GskGLShadowCache *self,
+ GskGLDriver *gl_driver,
+ const GskRoundedRect *shadow_rect,
+ float blur_radius)
+{
+ CacheValue *value;
+
+ g_assert (self != NULL);
+ g_assert (gl_driver != NULL);
+ g_assert (shadow_rect != NULL);
+
+ value = g_hash_table_lookup (self->textures,
+ &(CacheKey){
+ *shadow_rect,
+ blur_radius
+ });
+
+ if (value == NULL)
+ return 0;
+
+ value->used = TRUE;
+
+ return value->texture_id;
+}
+
+void
+gsk_gl_shadow_cache_commit (GskGLShadowCache *self,
+ const GskRoundedRect *shadow_rect,
+ float blur_radius,
+ int texture_id)
+{
+ CacheKey *key;
+ CacheValue *value;
+
+ g_assert (self != NULL);
+ g_assert (shadow_rect != NULL);
+ g_assert (texture_id > 0);
+
+ key = g_new0 (CacheKey, 1);
+ key->outline = *shadow_rect;
+ key->blur_radius = blur_radius;
+
+ value = g_new0 (CacheValue, 1);
+ value->used = TRUE;
+ value->texture_id = texture_id;
+
+ g_hash_table_insert (self->textures, key, value);
+}
diff --git a/gsk/gl/gskglshadowcacheprivate.h b/gsk/gl/gskglshadowcacheprivate.h
new file mode 100644
index 0000000000..e4f4814f21
--- /dev/null
+++ b/gsk/gl/gskglshadowcacheprivate.h
@@ -0,0 +1,31 @@
+
+
+#ifndef __GSK_GL_SHADOW_CACHE_H__
+#define __GSK_GL_SHADOW_CACHE_H__
+
+#include <glib.h>
+#include "gskgldriverprivate.h"
+#include "gskroundedrect.h"
+
+typedef struct
+{
+ GHashTable *textures;
+} GskGLShadowCache;
+
+
+void gsk_gl_shadow_cache_init (GskGLShadowCache *self);
+void gsk_gl_shadow_cache_free (GskGLShadowCache *self,
+ GskGLDriver *gl_driver);
+void gsk_gl_shadow_cache_begin_frame (GskGLShadowCache *self,
+ GskGLDriver *gl_driver);
+int gsk_gl_shadow_cache_get_texture_id (GskGLShadowCache *self,
+ GskGLDriver *gl_driver,
+ const GskRoundedRect *shadow_rect,
+ float blur_radius);
+void gsk_gl_shadow_cache_commit (GskGLShadowCache *self,
+ const GskRoundedRect *shadow_rect,
+ float blur_radius,
+ int texture_id);
+
+
+#endif
diff --git a/gsk/gskenums.h b/gsk/gskenums.h
index b605509047..4c17675ef3 100644
--- a/gsk/gskenums.h
+++ b/gsk/gskenums.h
@@ -48,8 +48,6 @@
* @GSK_OFFSET_NODE: A node that renders its child after applying a 2D translation
*
* The type of a node determines what the node is rendering.
- *
- * Since: 3.90
**/
typedef enum {
GSK_NOT_A_RENDER_NODE = 0,
@@ -89,8 +87,6 @@ typedef enum {
*
* The actual implementation of each filter is deferred to the
* rendering pipeline.
- *
- * Since: 3.90
*/
typedef enum {
GSK_SCALING_FILTER_LINEAR,
@@ -122,8 +118,6 @@ typedef enum {
*
* The implementation of each blend mode is deferred to the
* rendering pipeline.
- *
- * Since: 3.90
*/
typedef enum {
GSK_BLEND_MODE_DEFAULT = 0,
diff --git a/gsk/gskrenderer.c b/gsk/gskrenderer.c
index 11b8cd2074..d321c50181 100644
--- a/gsk/gskrenderer.c
+++ b/gsk/gskrenderer.c
@@ -448,8 +448,8 @@ gsk_renderer_render_texture (GskRenderer *renderer,
* gsk_renderer_render:
* @renderer: a #GskRenderer
* @root: a #GskRenderNode
- * @region: the #cairo_region_t that must be redrawn or %NULL for the whole
- * window
+ * @region: (nullable): the #cairo_region_t that must be redrawn or %NULL
+ * for the whole window
*
* Renders the scene graph, described by a tree of #GskRenderNode instances,
* ensuring that the given @region gets redrawn.
diff --git a/gsk/gskrendernode.h b/gsk/gskrendernode.h
index 0515863cdf..5abcf951fe 100644
--- a/gsk/gskrendernode.h
+++ b/gsk/gskrendernode.h
@@ -205,14 +205,14 @@ const graphene_matrix_t *
GDK_AVAILABLE_IN_ALL
GskRenderNode * gsk_offset_node_new (GskRenderNode *child,
- double x_offset,
- double y_offset);
+ float x_offset,
+ float y_offset);
GDK_AVAILABLE_IN_ALL
GskRenderNode * gsk_offset_node_get_child (GskRenderNode *node);
GDK_AVAILABLE_IN_ALL
-double gsk_offset_node_get_x_offset (GskRenderNode *node);
+float gsk_offset_node_get_x_offset (GskRenderNode *node);
GDK_AVAILABLE_IN_ALL
-double gsk_offset_node_get_y_offset (GskRenderNode *node);
+float gsk_offset_node_get_y_offset (GskRenderNode *node);
GDK_AVAILABLE_IN_ALL
GskRenderNode * gsk_opacity_node_new (GskRenderNode *child,
diff --git a/gsk/gskrendernodeimpl.c b/gsk/gskrendernodeimpl.c
index 190eb5beba..8b704aedda 100644
--- a/gsk/gskrendernodeimpl.c
+++ b/gsk/gskrendernodeimpl.c
@@ -2561,8 +2561,8 @@ struct _GskOffsetNode
GskRenderNode render_node;
GskRenderNode *child;
- double x_offset;
- double y_offset;
+ float x_offset;
+ float y_offset;
};
static void
@@ -2694,8 +2694,8 @@ static const GskRenderNodeClass GSK_OFFSET_NODE_CLASS = {
*/
GskRenderNode *
gsk_offset_node_new (GskRenderNode *child,
- double x_offset,
- double y_offset)
+ float x_offset,
+ float y_offset)
{
GskOffsetNode *self;
@@ -2732,7 +2732,7 @@ gsk_offset_node_get_child (GskRenderNode *node)
return self->child;
}
-double
+float
gsk_offset_node_get_x_offset (GskRenderNode *node)
{
GskOffsetNode *self = (GskOffsetNode *) node;
@@ -2742,7 +2742,7 @@ gsk_offset_node_get_x_offset (GskRenderNode *node)
return self->x_offset;
}
-double
+float
gsk_offset_node_get_y_offset (GskRenderNode *node)
{
GskOffsetNode *self = (GskOffsetNode *) node;
@@ -3565,7 +3565,7 @@ gsk_clip_node_diff (GskRenderNode *node1,
{
cairo_region_t *sub;
cairo_rectangle_int_t clip_rect;
-
+
sub = cairo_region_create();
gsk_render_node_diff (self1->child, self2->child, sub);
rectangle_init_from_graphene (&clip_rect, &self1->clip);
@@ -3573,8 +3573,10 @@ gsk_clip_node_diff (GskRenderNode *node1,
cairo_region_union (region, sub);
cairo_region_destroy (sub);
}
-
- gsk_render_node_diff_impossible (node1, node2, region);
+ else
+ {
+ gsk_render_node_diff_impossible (node1, node2, region);
+ }
}
#define GSK_CLIP_NODE_VARIANT_TYPE "(dddduv)"
@@ -3737,7 +3739,7 @@ gsk_rounded_clip_node_diff (GskRenderNode *node1,
{
cairo_region_t *sub;
cairo_rectangle_int_t clip_rect;
-
+
sub = cairo_region_create();
gsk_render_node_diff (self1->child, self2->child, sub);
rectangle_init_from_graphene (&clip_rect, &self1->clip.bounds);
@@ -3745,8 +3747,10 @@ gsk_rounded_clip_node_diff (GskRenderNode *node1,
cairo_region_union (region, sub);
cairo_region_destroy (sub);
}
-
- gsk_render_node_diff_impossible (node1, node2, region);
+ else
+ {
+ gsk_render_node_diff_impossible (node1, node2, region);
+ }
}
#define GSK_ROUNDED_CLIP_NODE_VARIANT_TYPE "(dddddddddddduv)"
@@ -4262,8 +4266,10 @@ gsk_blend_node_diff (GskRenderNode *node1,
gsk_render_node_diff (self1->top, self2->top, region);
gsk_render_node_diff (self1->bottom, self2->bottom, region);
}
-
- gsk_render_node_diff_impossible (node1, node2, region);
+ else
+ {
+ gsk_render_node_diff_impossible (node1, node2, region);
+ }
}
#define GSK_BLEND_NODE_VARIANT_TYPE "(uvuvu)"
diff --git a/gsk/gskroundedrect.h b/gsk/gskroundedrect.h
index 28384417e1..378591af4c 100644
--- a/gsk/gskroundedrect.h
+++ b/gsk/gskroundedrect.h
@@ -36,8 +36,6 @@ G_BEGIN_DECLS
*
* Initializes a #GskRoundedRect when declaring it.
* All corner sizes will be initialized to 0.
- *
- * Since: 3.90
*/
#define GSK_ROUNDED_RECT_INIT(_x,_y,_w,_h) (GskRoundedRect) { .bounds = GRAPHENE_RECT_INIT(_x,_y,_w,_h), \
.corner = { \
@@ -60,8 +58,6 @@ G_BEGIN_DECLS
* All functions taking a #GskRoundedRect as an argument will internally operate on
* a normalized copy; all functions returning a #GskRoundedRect will always return
* a normalized one.
- *
- * Since: 3.90
*/
typedef struct _GskRoundedRect GskRoundedRect;
diff --git a/gsk/meson.build b/gsk/meson.build
index 2b9115bb2e..8ad27f7de6 100644
--- a/gsk/meson.build
+++ b/gsk/meson.build
@@ -41,7 +41,8 @@ gsk_private_sources = files([
'gl/gskglglyphcache.c',
'gl/gskglimage.c',
'gl/gskgldriver.c',
- 'gl/gskglrenderops.c'
+ 'gl/gskglrenderops.c',
+ 'gl/gskglshadowcache.c',
])
gsk_public_headers = files([
diff --git a/gtk/a11y/gtkentryaccessible.c b/gtk/a11y/gtkentryaccessible.c
index de106c3cf0..f8aaabad87 100644
--- a/gtk/a11y/gtkentryaccessible.c
+++ b/gtk/a11y/gtkentryaccessible.c
@@ -221,8 +221,6 @@ gtk_entry_icon_accessible_do_action (AtkAction *action,
GtkEntryIconAccessible *icon = (GtkEntryIconAccessible *)action;
GtkWidget *widget;
GtkEntry *gtk_entry;
- GdkEvent *event;
- GdkRectangle icon_area;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (icon->entry));
if (widget == NULL)
@@ -240,18 +238,7 @@ gtk_entry_icon_accessible_do_action (AtkAction *action,
!gtk_entry_get_icon_activatable (gtk_entry, icon->pos))
return FALSE;
- gtk_entry_get_icon_area (gtk_entry, icon->pos, &icon_area);
-
- event = gdk_event_new (GDK_BUTTON_PRESS);
- event->any.surface = g_object_ref (gtk_widget_get_surface (widget));
- event->button.button = 1;
- event->any.send_event = TRUE;
- event->button.time = GDK_CURRENT_TIME;
- event->button.x = icon_area.x;
- event->button.y = icon_area.y;
-
- g_signal_emit_by_name (widget, "icon-press", 0, icon->pos, event);
- g_object_unref (event);
+ g_signal_emit_by_name (widget, "icon-press", 0, icon->pos);
return TRUE;
}
diff --git a/gtk/gskpango.c b/gtk/gskpango.c
index 20bff5e9c2..ae4a6a81fe 100644
--- a/gtk/gskpango.c
+++ b/gtk/gskpango.c
@@ -127,10 +127,10 @@ gsk_pango_renderer_show_text_glyphs (PangoRenderer *renderer,
return;
graphene_rect_init (&node_bounds,
- (float)x/PANGO_SCALE,
- (float)y/PANGO_SCALE + ink_rect.y,
- ink_rect.x + ink_rect.width,
- ink_rect.height);
+ (float)x/PANGO_SCALE - 1.0,
+ (float)y/PANGO_SCALE + ink_rect.y - 1.0,
+ ink_rect.x + ink_rect.width + 2.0,
+ ink_rect.height + 2.0);
gtk_snapshot_get_offset (crenderer->snapshot, &x_offset, &y_offset);
graphene_rect_offset (&node_bounds, x_offset, y_offset);
diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c
index 83bfe824d9..6503f4ddaf 100644
--- a/gtk/gtkaboutdialog.c
+++ b/gtk/gtkaboutdialog.c
@@ -139,7 +139,7 @@ typedef struct
gchar **people;
} CreditSection;
-struct _GtkAboutDialogPrivate
+typedef struct
{
gchar *name;
gchar *version;
@@ -191,7 +191,7 @@ struct _GtkAboutDialogPrivate
guint wrap_license : 1;
guint in_child_changed : 1;
guint in_switch_page : 1;
-};
+} GtkAboutDialogPrivate;
enum
{
@@ -274,7 +274,7 @@ stack_visible_child_notify (GtkStack *stack,
GParamSpec *pspec,
GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
GtkWidget *child;
child = gtk_stack_get_visible_child (stack);
@@ -627,7 +627,7 @@ emit_activate_link (GtkAboutDialog *about,
static void
update_stack_switcher_visibility (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
if (gtk_widget_get_visible (priv->credits_page) ||
gtk_widget_get_visible (priv->license_page) ||
@@ -640,7 +640,7 @@ update_stack_switcher_visibility (GtkAboutDialog *about)
static void
update_license_button_visibility (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
if (priv->license_type == GTK_LICENSE_CUSTOM && priv->license != NULL && priv->license[0] != '\0')
gtk_widget_show (priv->license_page);
@@ -653,7 +653,7 @@ update_license_button_visibility (GtkAboutDialog *about)
static void
update_system_button_visibility (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
if (priv->system_information != NULL && priv->system_information[0] != '\0')
gtk_widget_show (priv->system_page);
@@ -666,7 +666,7 @@ update_system_button_visibility (GtkAboutDialog *about)
static void
update_credits_button_visibility (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gboolean show;
show = (priv->authors != NULL ||
@@ -688,7 +688,7 @@ static void
switch_page (GtkAboutDialog *about,
const gchar *name)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gtk_stack_set_visible_child_name (GTK_STACK (priv->stack), name);
@@ -705,7 +705,7 @@ switch_page (GtkAboutDialog *about,
static void
apply_use_header_bar (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gboolean use_header_bar;
g_object_get (about, "use-header-bar", &use_header_bar, NULL);
@@ -740,12 +740,9 @@ apply_use_header_bar (GtkAboutDialog *about)
static void
gtk_about_dialog_init (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
/* Data */
- priv = gtk_about_dialog_get_instance_private (about);
- about->priv = priv;
-
priv->name = NULL;
priv->version = NULL;
priv->copyright = NULL;
@@ -791,7 +788,7 @@ static void
gtk_about_dialog_finalize (GObject *object)
{
GtkAboutDialog *about = GTK_ABOUT_DIALOG (object);
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
g_free (priv->name);
g_free (priv->version);
@@ -884,7 +881,7 @@ gtk_about_dialog_get_property (GObject *object,
GParamSpec *pspec)
{
GtkAboutDialog *about = GTK_ABOUT_DIALOG (object);
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
switch (prop_id)
{
@@ -953,7 +950,7 @@ toggle_credits (GtkToggleButton *button,
gpointer user_data)
{
GtkAboutDialog *about = user_data;
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gboolean show_credits;
if (priv->in_switch_page)
@@ -968,7 +965,7 @@ toggle_license (GtkToggleButton *button,
gpointer user_data)
{
GtkAboutDialog *about = user_data;
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gboolean show_license;
if (priv->in_switch_page)
@@ -1010,7 +1007,7 @@ gtk_about_dialog_activate_link (GtkAboutDialog *about,
static void
update_website (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gtk_widget_show (priv->website_label);
@@ -1065,19 +1062,19 @@ gtk_about_dialog_show (GtkWidget *widget)
const gchar *
gtk_about_dialog_get_program_name (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->name;
+ return priv->name;
}
static void
update_name_version (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *title_string, *name_string;
- priv = about->priv;
-
title_string = g_strdup_printf (_("About %s"), priv->name);
gtk_window_set_title (GTK_WINDOW (about), title_string);
g_free (title_string);
@@ -1108,13 +1105,11 @@ void
gtk_about_dialog_set_program_name (GtkAboutDialog *about,
const gchar *name)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->name;
priv->name = g_strdup (name ? name : g_get_application_name ());
g_free (tmp);
@@ -1137,9 +1132,11 @@ gtk_about_dialog_set_program_name (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_version (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->version;
+ return priv->version;
}
/**
@@ -1153,13 +1150,11 @@ void
gtk_about_dialog_set_version (GtkAboutDialog *about,
const gchar *version)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->version;
priv->version = g_strdup (version);
g_free (tmp);
@@ -1181,9 +1176,11 @@ gtk_about_dialog_set_version (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_copyright (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->copyright;
+ return priv->copyright;
}
/**
@@ -1198,13 +1195,11 @@ void
gtk_about_dialog_set_copyright (GtkAboutDialog *about,
const gchar *copyright)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *copyright_string, *tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->copyright;
priv->copyright = g_strdup (copyright);
g_free (tmp);
@@ -1236,9 +1231,11 @@ gtk_about_dialog_set_copyright (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_comments (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->comments;
+ return priv->comments;
}
/**
@@ -1253,13 +1250,11 @@ void
gtk_about_dialog_set_comments (GtkAboutDialog *about,
const gchar *comments)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->comments;
if (comments)
{
@@ -1289,9 +1284,11 @@ gtk_about_dialog_set_comments (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_license (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->license;
+ return priv->license;
}
/**
@@ -1307,13 +1304,11 @@ void
gtk_about_dialog_set_license (GtkAboutDialog *about,
const gchar *license)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->license;
if (license)
{
@@ -1346,9 +1341,11 @@ gtk_about_dialog_set_license (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_system_information (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->system_information;
+ return priv->system_information;
}
/**
@@ -1366,12 +1363,10 @@ void
gtk_about_dialog_set_system_information (GtkAboutDialog *about,
const gchar *system_information)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
g_free (priv->system_information);
priv->system_information = g_strdup (system_information);
update_system_button_visibility (about);
@@ -1391,9 +1386,11 @@ gtk_about_dialog_set_system_information (GtkAboutDialog *about,
gboolean
gtk_about_dialog_get_wrap_license (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), FALSE);
- return about->priv->wrap_license;
+ return priv->wrap_license;
}
/**
@@ -1408,12 +1405,10 @@ void
gtk_about_dialog_set_wrap_license (GtkAboutDialog *about,
gboolean wrap_license)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
wrap_license = wrap_license != FALSE;
if (priv->wrap_license != wrap_license)
@@ -1436,9 +1431,11 @@ gtk_about_dialog_set_wrap_license (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_website (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->website_url;
+ return priv->website_url;
}
/**
@@ -1452,13 +1449,11 @@ void
gtk_about_dialog_set_website (GtkAboutDialog *about,
const gchar *website)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->website_url;
priv->website_url = g_strdup (website);
g_free (tmp);
@@ -1480,9 +1475,11 @@ gtk_about_dialog_set_website (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_website_label (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->website_text;
+ return priv->website_text;
}
/**
@@ -1496,13 +1493,11 @@ void
gtk_about_dialog_set_website_label (GtkAboutDialog *about,
const gchar *website_label)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->website_text;
priv->website_text = g_strdup (website_label);
g_free (tmp);
@@ -1526,9 +1521,11 @@ gtk_about_dialog_set_website_label (GtkAboutDialog *about,
const gchar * const *
gtk_about_dialog_get_authors (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return (const gchar * const *) about->priv->authors;
+ return (const gchar * const *) priv->authors;
}
/**
@@ -1543,13 +1540,11 @@ void
gtk_about_dialog_set_authors (GtkAboutDialog *about,
const gchar **authors)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar **tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->authors;
priv->authors = g_strdupv ((gchar **)authors);
g_strfreev (tmp);
@@ -1573,9 +1568,11 @@ gtk_about_dialog_set_authors (GtkAboutDialog *about,
const gchar * const *
gtk_about_dialog_get_documenters (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return (const gchar * const *)about->priv->documenters;
+ return (const gchar * const *)priv->documenters;
}
/**
@@ -1590,13 +1587,11 @@ void
gtk_about_dialog_set_documenters (GtkAboutDialog *about,
const gchar **documenters)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar **tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->documenters;
priv->documenters = g_strdupv ((gchar **)documenters);
g_strfreev (tmp);
@@ -1620,9 +1615,11 @@ gtk_about_dialog_set_documenters (GtkAboutDialog *about,
const gchar * const *
gtk_about_dialog_get_artists (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return (const gchar * const *)about->priv->artists;
+ return (const gchar * const *)priv->artists;
}
/**
@@ -1637,13 +1634,11 @@ void
gtk_about_dialog_set_artists (GtkAboutDialog *about,
const gchar **artists)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar **tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->artists;
priv->artists = g_strdupv ((gchar **)artists);
g_strfreev (tmp);
@@ -1666,9 +1661,11 @@ gtk_about_dialog_set_artists (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_translator_credits (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- return about->priv->translator_credits;
+ return priv->translator_credits;
}
/**
@@ -1697,13 +1694,11 @@ void
gtk_about_dialog_set_translator_credits (GtkAboutDialog *about,
const gchar *translator_credits)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar *tmp;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
tmp = priv->translator_credits;
priv->translator_credits = g_strdup (translator_credits);
g_free (tmp);
@@ -1726,12 +1721,10 @@ gtk_about_dialog_set_translator_credits (GtkAboutDialog *about,
GdkPaintable *
gtk_about_dialog_get_logo (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- priv = about->priv;
-
if (gtk_image_get_storage_type (GTK_IMAGE (priv->logo_image)) == GTK_IMAGE_PAINTABLE)
return gtk_image_get_paintable (GTK_IMAGE (priv->logo_image));
else
@@ -1751,13 +1744,11 @@ void
gtk_about_dialog_set_logo (GtkAboutDialog *about,
GdkPaintable *logo)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
g_return_if_fail (logo == NULL || GDK_IS_TEXTURE (logo));
- priv = about->priv;
-
g_object_freeze_notify (G_OBJECT (about));
if (gtk_image_get_storage_type (GTK_IMAGE (priv->logo_image)) == GTK_IMAGE_ICON_NAME)
@@ -1796,12 +1787,10 @@ gtk_about_dialog_set_logo (GtkAboutDialog *about,
const gchar *
gtk_about_dialog_get_logo_icon_name (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), NULL);
- priv = about->priv;
-
if (gtk_image_get_storage_type (GTK_IMAGE (priv->logo_image)) != GTK_IMAGE_ICON_NAME)
return NULL;
@@ -1821,13 +1810,11 @@ void
gtk_about_dialog_set_logo_icon_name (GtkAboutDialog *about,
const gchar *icon_name)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
GList *icons;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
- priv = about->priv;
-
g_object_freeze_notify (G_OBJECT (about));
if (gtk_image_get_storage_type (GTK_IMAGE (priv->logo_image)) == GTK_IMAGE_PAINTABLE)
@@ -1884,8 +1871,8 @@ follow_if_link (GtkAboutDialog *about,
GtkTextView *text_view,
GtkTextIter *iter)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
GSList *tags = NULL, *tagp = NULL;
- GtkAboutDialogPrivate *priv = about->priv;
gchar *uri = NULL;
tags = gtk_text_iter_get_tags (iter);
@@ -1984,7 +1971,7 @@ set_cursor_if_appropriate (GtkAboutDialog *about,
gint x,
gint y)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
GSList *tags = NULL, *tagp = NULL;
GtkTextIter iter;
gboolean hovering_over_link = FALSE;
@@ -2039,13 +2026,13 @@ static GtkTextBuffer *
text_buffer_new (GtkAboutDialog *about,
gchar **strings)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gchar **p;
gchar *q0, *q1, *q2, *r1, *r2;
GtkTextBuffer *buffer;
GdkRGBA color;
GdkRGBA link_color;
GdkRGBA visited_link_color;
- GtkAboutDialogPrivate *priv = about->priv;
GtkTextIter start_iter, end_iter;
GtkTextTag *tag;
GtkStateFlags state = gtk_widget_get_state_flags (GTK_WIDGET (about));
@@ -2290,7 +2277,7 @@ add_credits_section (GtkAboutDialog *about,
static void
populate_credits_page (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
gint row;
row = 0;
@@ -2330,7 +2317,7 @@ populate_credits_page (GtkAboutDialog *about)
static void
populate_license_page (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
GtkTextBuffer *buffer;
gchar *strings[2];
@@ -2346,7 +2333,7 @@ populate_license_page (GtkAboutDialog *about)
static void
populate_system_page (GtkAboutDialog *about)
{
- GtkAboutDialogPrivate *priv = about->priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
GtkTextBuffer *buffer;
gchar *strings[2];
@@ -2454,14 +2441,12 @@ void
gtk_about_dialog_set_license_type (GtkAboutDialog *about,
GtkLicense license_type)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
g_return_if_fail (license_type >= GTK_LICENSE_UNKNOWN &&
license_type <= GTK_LICENSE_AGPL_3_0_ONLY);
- priv = about->priv;
-
if (priv->license_type != license_type)
{
g_object_freeze_notify (G_OBJECT (about));
@@ -2524,9 +2509,11 @@ gtk_about_dialog_set_license_type (GtkAboutDialog *about,
GtkLicense
gtk_about_dialog_get_license_type (GtkAboutDialog *about)
{
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
+
g_return_val_if_fail (GTK_IS_ABOUT_DIALOG (about), GTK_LICENSE_UNKNOWN);
- return about->priv->license_type;
+ return priv->license_type;
}
/**
@@ -2542,15 +2529,13 @@ gtk_about_dialog_add_credit_section (GtkAboutDialog *about,
const gchar *section_name,
const gchar **people)
{
- GtkAboutDialogPrivate *priv;
+ GtkAboutDialogPrivate *priv = gtk_about_dialog_get_instance_private (about);
CreditSection *new_entry;
g_return_if_fail (GTK_IS_ABOUT_DIALOG (about));
g_return_if_fail (section_name != NULL);
g_return_if_fail (people != NULL);
- priv = about->priv;
-
new_entry = g_slice_new (CreditSection);
new_entry->heading = g_strdup ((gchar *)section_name);
new_entry->people = g_strdupv ((gchar **)people);
diff --git a/gtk/gtkaboutdialog.h b/gtk/gtkaboutdialog.h
index fd003b91c0..a78c1e0669 100644
--- a/gtk/gtkaboutdialog.h
+++ b/gtk/gtkaboutdialog.h
@@ -40,7 +40,6 @@ G_BEGIN_DECLS
typedef struct _GtkAboutDialog GtkAboutDialog;
typedef struct _GtkAboutDialogClass GtkAboutDialogClass;
-typedef struct _GtkAboutDialogPrivate GtkAboutDialogPrivate;
/**
* GtkLicense:
@@ -98,9 +97,6 @@ typedef enum {
struct _GtkAboutDialog
{
GtkDialog parent_instance;
-
- /*< private >*/
- GtkAboutDialogPrivate *priv;
};
struct _GtkAboutDialogClass
diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c
index 18db631212..31f8f92e1f 100644
--- a/gtk/gtkaccelgroup.c
+++ b/gtk/gtkaccelgroup.c
@@ -694,8 +694,6 @@ gtk_accel_group_connect_by_path (GtkAccelGroup *accel_group,
* Removes an accelerator previously installed through
* gtk_accel_group_connect().
*
- * Since 2.20 @closure can be %NULL.
- *
* Returns: %TRUE if the closure was found and got disconnected
*/
gboolean
diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c
index e8945124e9..1781cb6e11 100644
--- a/gtk/gtkaccellabel.c
+++ b/gtk/gtkaccellabel.c
@@ -722,64 +722,71 @@ _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass,
GString *gstring;
gboolean seen_mod = FALSE;
gunichar ch;
-
- gstring = g_string_new ("");
-
+
+ gstring = g_string_sized_new (10); /* ~len('backspace') */
+
if (accelerator_mods & GDK_SHIFT_MASK)
{
g_string_append (gstring, klass->mod_name_shift);
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_CONTROL_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, klass->mod_name_control);
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD1_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, klass->mod_name_alt);
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD2_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, "Mod2");
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD3_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, "Mod3");
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD4_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, "Mod4");
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_MOD5_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
g_string_append (gstring, "Mod5");
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_SUPER_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
/* This is the text that should appear next to menu accelerators
* that use the super key. If the text on this key isn't typically
@@ -789,10 +796,11 @@ _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass,
g_string_append (gstring, C_("keyboard label", "Super"));
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_HYPER_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
/* This is the text that should appear next to menu accelerators
* that use the hyper key. If the text on this key isn't typically
@@ -802,10 +810,11 @@ _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass,
g_string_append (gstring, C_("keyboard label", "Hyper"));
seen_mod = TRUE;
}
+
if (accelerator_mods & GDK_META_MASK)
{
if (seen_mod)
- g_string_append (gstring, klass->mod_separator);
+ g_string_append (gstring, klass->mod_separator);
#ifndef GDK_WINDOWING_QUARTZ
/* This is the text that should appear next to menu accelerators
diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c
index ef5b23f777..aab751ce66 100644
--- a/gtk/gtkapplication.c
+++ b/gtk/gtkapplication.c
@@ -145,7 +145,7 @@ enum {
static GParamSpec *gtk_application_props[NUM_PROPERTIES];
-struct _GtkApplicationPrivate
+typedef struct
{
GtkApplicationImpl *impl;
GtkApplicationAccels *accels;
@@ -160,7 +160,7 @@ struct _GtkApplicationPrivate
GtkActionMuxer *muxer;
GtkBuilder *menus_builder;
gchar *help_overlay_path;
-};
+} GtkApplicationPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (GtkApplication, gtk_application, G_TYPE_APPLICATION)
@@ -169,7 +169,7 @@ gtk_application_window_active_cb (GtkWindow *window,
GParamSpec *pspec,
GtkApplication *application)
{
- GtkApplicationPrivate *priv = application->priv;
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
GList *link;
if (!gtk_window_is_active (window))
@@ -183,8 +183,8 @@ gtk_application_window_active_cb (GtkWindow *window,
priv->windows = g_list_concat (link, priv->windows);
}
- if (application->priv->impl)
- gtk_application_impl_active_window_changed (application->priv->impl, window);
+ if (priv->impl)
+ gtk_application_impl_active_window_changed (priv->impl, window);
g_object_notify_by_pspec (G_OBJECT (application), gtk_application_props[PROP_ACTIVE_WINDOW]);
}
@@ -192,6 +192,7 @@ gtk_application_window_active_cb (GtkWindow *window,
static void
gtk_application_load_resources (GtkApplication *application)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
const gchar *base_path;
base_path = g_application_get_resource_base_path (G_APPLICATION (application));
@@ -223,15 +224,15 @@ gtk_application_load_resources (GtkApplication *application)
menuspath = g_strconcat (base_path, "/gtk/menus-traditional.ui", NULL);
if (g_resources_get_info (menuspath, G_RESOURCE_LOOKUP_FLAGS_NONE, NULL, NULL, NULL))
- application->priv->menus_builder = gtk_builder_new_from_resource (menuspath);
+ priv->menus_builder = gtk_builder_new_from_resource (menuspath);
g_free (menuspath);
/* If we didn't get the specific file, fall back. */
- if (application->priv->menus_builder == NULL)
+ if (priv->menus_builder == NULL)
{
menuspath = g_strconcat (base_path, "/gtk/menus.ui", NULL);
if (g_resources_get_info (menuspath, G_RESOURCE_LOOKUP_FLAGS_NONE, NULL, NULL, NULL))
- application->priv->menus_builder = gtk_builder_new_from_resource (menuspath);
+ priv->menus_builder = gtk_builder_new_from_resource (menuspath);
g_free (menuspath);
}
@@ -241,22 +242,22 @@ gtk_application_load_resources (GtkApplication *application)
{
GError *error = NULL;
- if (application->priv->menus_builder == NULL)
- application->priv->menus_builder = gtk_builder_new ();
+ if (priv->menus_builder == NULL)
+ priv->menus_builder = gtk_builder_new ();
- if (!gtk_builder_add_from_resource (application->priv->menus_builder, menuspath, &error))
+ if (!gtk_builder_add_from_resource (priv->menus_builder, menuspath, &error))
g_error ("failed to load menus-common.ui: %s", error->message);
}
g_free (menuspath);
- if (application->priv->menus_builder)
+ if (priv->menus_builder)
{
GObject *menu;
- menu = gtk_builder_get_object (application->priv->menus_builder, "app-menu");
+ menu = gtk_builder_get_object (priv->menus_builder, "app-menu");
if (menu != NULL && G_IS_MENU_MODEL (menu))
gtk_application_set_app_menu (application, G_MENU_MODEL (menu));
- menu = gtk_builder_get_object (application->priv->menus_builder, "menubar");
+ menu = gtk_builder_get_object (priv->menus_builder, "menubar");
if (menu != NULL && G_IS_MENU_MODEL (menu))
gtk_application_set_menubar (application, G_MENU_MODEL (menu));
}
@@ -271,7 +272,7 @@ gtk_application_load_resources (GtkApplication *application)
{
const gchar * const accels[] = { "<Primary>F1", "<Primary>question", NULL };
- application->priv->help_overlay_path = path;
+ priv->help_overlay_path = path;
gtk_application_set_accels_for_action (application, "win.show-help-overlay", accels);
}
else
@@ -286,15 +287,16 @@ static void
gtk_application_startup (GApplication *g_application)
{
GtkApplication *application = GTK_APPLICATION (g_application);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
G_APPLICATION_CLASS (gtk_application_parent_class)->startup (g_application);
- gtk_action_muxer_insert (application->priv->muxer, "app", G_ACTION_GROUP (application));
+ gtk_action_muxer_insert (priv->muxer, "app", G_ACTION_GROUP (application));
gtk_init ();
- application->priv->impl = gtk_application_impl_new (application, gdk_display_get_default ());
- gtk_application_impl_startup (application->priv->impl, application->priv->register_session);
+ priv->impl = gtk_application_impl_new (application, gdk_display_get_default ());
+ gtk_application_impl_startup (priv->impl, priv->register_session);
gtk_application_load_resources (application);
}
@@ -303,14 +305,15 @@ static void
gtk_application_shutdown (GApplication *g_application)
{
GtkApplication *application = GTK_APPLICATION (g_application);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
- if (application->priv->impl == NULL)
+ if (priv->impl == NULL)
return;
- gtk_application_impl_shutdown (application->priv->impl);
- g_clear_object (&application->priv->impl);
+ gtk_application_impl_shutdown (priv->impl);
+ g_clear_object (&priv->impl);
- gtk_action_muxer_remove (application->priv->muxer, "app");
+ gtk_action_muxer_remove (priv->muxer, "app");
gtk_main_sync ();
@@ -355,8 +358,9 @@ gtk_application_before_emit (GApplication *g_application,
GVariant *platform_data)
{
GtkApplication *application = GTK_APPLICATION (g_application);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
- gtk_application_impl_before_emit (application->priv->impl, platform_data);
+ gtk_application_impl_before_emit (priv->impl, platform_data);
}
static void
@@ -379,18 +383,20 @@ gtk_application_after_emit (GApplication *application,
static void
gtk_application_init (GtkApplication *application)
{
- application->priv = gtk_application_get_instance_private (application);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
- application->priv->muxer = gtk_action_muxer_new ();
+ priv = gtk_application_get_instance_private (application);
- application->priv->accels = gtk_application_accels_new ();
+ priv->muxer = gtk_action_muxer_new ();
+
+ priv->accels = gtk_application_accels_new ();
}
static void
gtk_application_window_added (GtkApplication *application,
GtkWindow *window)
{
- GtkApplicationPrivate *priv = application->priv;
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
if (GTK_IS_APPLICATION_WINDOW (window))
{
@@ -428,7 +434,7 @@ static void
gtk_application_window_removed (GtkApplication *application,
GtkWindow *window)
{
- GtkApplicationPrivate *priv = application->priv;
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
gpointer old_active;
old_active = priv->windows;
@@ -520,11 +526,12 @@ gtk_application_get_property (GObject *object,
GParamSpec *pspec)
{
GtkApplication *application = GTK_APPLICATION (object);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
switch (prop_id)
{
case PROP_REGISTER_SESSION:
- g_value_set_boolean (value, application->priv->register_session);
+ g_value_set_boolean (value, priv->register_session);
break;
case PROP_APP_MENU:
@@ -552,11 +559,12 @@ gtk_application_set_property (GObject *object,
GParamSpec *pspec)
{
GtkApplication *application = GTK_APPLICATION (object);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
switch (prop_id)
{
case PROP_REGISTER_SESSION:
- application->priv->register_session = g_value_get_boolean (value);
+ priv->register_session = g_value_get_boolean (value);
break;
case PROP_APP_MENU:
@@ -577,14 +585,15 @@ static void
gtk_application_finalize (GObject *object)
{
GtkApplication *application = GTK_APPLICATION (object);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
- g_clear_object (&application->priv->menus_builder);
- g_clear_object (&application->priv->app_menu);
- g_clear_object (&application->priv->menubar);
- g_clear_object (&application->priv->muxer);
- g_clear_object (&application->priv->accels);
+ g_clear_object (&priv->menus_builder);
+ g_clear_object (&priv->app_menu);
+ g_clear_object (&priv->menubar);
+ g_clear_object (&priv->muxer);
+ g_clear_object (&priv->accels);
- g_free (application->priv->help_overlay_path);
+ g_free (priv->help_overlay_path);
G_OBJECT_CLASS (gtk_application_parent_class)->finalize (object);
}
@@ -745,6 +754,8 @@ void
gtk_application_add_window (GtkApplication *application,
GtkWindow *window)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_if_fail (GTK_IS_APPLICATION (application));
g_return_if_fail (GTK_IS_WINDOW (window));
@@ -755,7 +766,7 @@ gtk_application_add_window (GtkApplication *application,
return;
}
- if (!g_list_find (application->priv->windows, window))
+ if (!g_list_find (priv->windows, window))
g_signal_emit (application,
gtk_application_signals[WINDOW_ADDED], 0, window);
}
@@ -778,10 +789,12 @@ void
gtk_application_remove_window (GtkApplication *application,
GtkWindow *window)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_if_fail (GTK_IS_APPLICATION (application));
g_return_if_fail (GTK_IS_WINDOW (window));
- if (g_list_find (application->priv->windows, window))
+ if (g_list_find (priv->windows, window))
g_signal_emit (application,
gtk_application_signals[WINDOW_REMOVED], 0, window);
}
@@ -805,9 +818,11 @@ gtk_application_remove_window (GtkApplication *application,
GList *
gtk_application_get_windows (GtkApplication *application)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
- return application->priv->windows;
+ return priv->windows;
}
/**
@@ -827,11 +842,12 @@ GtkWindow *
gtk_application_get_window_by_id (GtkApplication *application,
guint id)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
GList *l;
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
- for (l = application->priv->windows; l != NULL; l = l->next)
+ for (l = priv->windows; l != NULL; l = l->next)
{
if (GTK_IS_APPLICATION_WINDOW (l->data) &&
gtk_application_window_get_id (GTK_APPLICATION_WINDOW (l->data)) == id)
@@ -858,17 +874,20 @@ gtk_application_get_window_by_id (GtkApplication *application,
GtkWindow *
gtk_application_get_active_window (GtkApplication *application)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
- return application->priv->windows ? application->priv->windows->data : NULL;
+ return priv->windows ? priv->windows->data : NULL;
}
static void
gtk_application_update_accels (GtkApplication *application)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
GList *l;
- for (l = application->priv->windows; l != NULL; l = l->next)
+ for (l = priv->windows; l != NULL; l = l->next)
_gtk_window_notify_keys_changed (l->data);
}
@@ -916,10 +935,12 @@ gtk_application_update_accels (GtkApplication *application)
gboolean
gtk_application_prefers_app_menu (GtkApplication *application)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), FALSE);
- g_return_val_if_fail (application->priv->impl != NULL, FALSE);
+ g_return_val_if_fail (priv->impl != NULL, FALSE);
- return gtk_application_impl_prefers_app_menu (application->priv->impl);
+ return gtk_application_impl_prefers_app_menu (priv->impl);
}
/**
@@ -949,17 +970,19 @@ void
gtk_application_set_app_menu (GtkApplication *application,
GMenuModel *app_menu)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_if_fail (GTK_IS_APPLICATION (application));
g_return_if_fail (g_application_get_is_registered (G_APPLICATION (application)));
g_return_if_fail (!g_application_get_is_remote (G_APPLICATION (application)));
g_return_if_fail (app_menu == NULL || G_IS_MENU_MODEL (app_menu));
- if (g_set_object (&application->priv->app_menu, app_menu))
+ if (g_set_object (&priv->app_menu, app_menu))
{
if (app_menu)
extract_accels_from_menu (app_menu, application);
- gtk_application_impl_set_app_menu (application->priv->impl, app_menu);
+ gtk_application_impl_set_app_menu (priv->impl, app_menu);
g_object_notify_by_pspec (G_OBJECT (application), gtk_application_props[PROP_APP_MENU]);
}
@@ -978,9 +1001,11 @@ gtk_application_set_app_menu (GtkApplication *application,
GMenuModel *
gtk_application_get_app_menu (GtkApplication *application)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
- return application->priv->app_menu;
+ return priv->app_menu;
}
/**
@@ -1011,17 +1036,19 @@ void
gtk_application_set_menubar (GtkApplication *application,
GMenuModel *menubar)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_if_fail (GTK_IS_APPLICATION (application));
g_return_if_fail (g_application_get_is_registered (G_APPLICATION (application)));
g_return_if_fail (!g_application_get_is_remote (G_APPLICATION (application)));
g_return_if_fail (menubar == NULL || G_IS_MENU_MODEL (menubar));
- if (g_set_object (&application->priv->menubar, menubar))
+ if (g_set_object (&priv->menubar, menubar))
{
if (menubar)
extract_accels_from_menu (menubar, application);
- gtk_application_impl_set_menubar (application->priv->impl, menubar);
+ gtk_application_impl_set_menubar (priv->impl, menubar);
g_object_notify_by_pspec (G_OBJECT (application), gtk_application_props[PROP_MENUBAR]);
}
@@ -1039,9 +1066,11 @@ gtk_application_set_menubar (GtkApplication *application,
GMenuModel *
gtk_application_get_menubar (GtkApplication *application)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
- return application->priv->menubar;
+ return priv->menubar;
}
/**
@@ -1098,11 +1127,13 @@ gtk_application_inhibit (GtkApplication *application,
GtkApplicationInhibitFlags flags,
const gchar *reason)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), 0);
g_return_val_if_fail (!g_application_get_is_remote (G_APPLICATION (application)), 0);
g_return_val_if_fail (window == NULL || GTK_IS_WINDOW (window), 0);
- return gtk_application_impl_inhibit (application->priv->impl, window, flags, reason);
+ return gtk_application_impl_inhibit (priv->impl, window, flags, reason);
}
/**
@@ -1117,30 +1148,33 @@ void
gtk_application_uninhibit (GtkApplication *application,
guint cookie)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_if_fail (GTK_IS_APPLICATION (application));
g_return_if_fail (!g_application_get_is_remote (G_APPLICATION (application)));
g_return_if_fail (cookie > 0);
- gtk_application_impl_uninhibit (application->priv->impl, cookie);
+ gtk_application_impl_uninhibit (priv->impl, cookie);
}
GtkActionMuxer *
gtk_application_get_parent_muxer_for_window (GtkWindow *window)
{
- GtkApplication *application;
-
- application = gtk_window_get_application (window);
+ GtkApplication *application = gtk_window_get_application (window);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
if (!application)
return NULL;
- return application->priv->muxer;
+ return priv->muxer;
}
GtkApplicationAccels *
gtk_application_get_application_accels (GtkApplication *application)
{
- return application->priv->accels;
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
+ return priv->accels;
}
/**
@@ -1156,9 +1190,11 @@ gtk_application_get_application_accels (GtkApplication *application)
gchar **
gtk_application_list_action_descriptions (GtkApplication *application)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
- return gtk_application_accels_list_action_descriptions (application->priv->accels);
+ return gtk_application_accels_list_action_descriptions (priv->accels);
}
/**
@@ -1184,18 +1220,19 @@ gtk_application_set_accels_for_action (GtkApplication *application,
const gchar *detailed_action_name,
const gchar * const *accels)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
gchar *action_and_target;
g_return_if_fail (GTK_IS_APPLICATION (application));
g_return_if_fail (detailed_action_name != NULL);
g_return_if_fail (accels != NULL);
- gtk_application_accels_set_accels_for_action (application->priv->accels,
+ gtk_application_accels_set_accels_for_action (priv->accels,
detailed_action_name,
accels);
action_and_target = gtk_normalise_detailed_action_name (detailed_action_name);
- gtk_action_muxer_set_primary_accel (application->priv->muxer, action_and_target, accels[0]);
+ gtk_action_muxer_set_primary_accel (priv->muxer, action_and_target, accels[0]);
g_free (action_and_target);
gtk_application_update_accels (application);
@@ -1217,10 +1254,12 @@ gchar **
gtk_application_get_accels_for_action (GtkApplication *application,
const gchar *detailed_action_name)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
g_return_val_if_fail (detailed_action_name != NULL, NULL);
- return gtk_application_accels_get_accels_for_action (application->priv->accels,
+ return gtk_application_accels_get_accels_for_action (priv->accels,
detailed_action_name);
}
@@ -1251,18 +1290,22 @@ gchar **
gtk_application_get_actions_for_accel (GtkApplication *application,
const gchar *accel)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
g_return_val_if_fail (accel != NULL, NULL);
- return gtk_application_accels_get_actions_for_accel (application->priv->accels, accel);
+ return gtk_application_accels_get_actions_for_accel (priv->accels, accel);
}
GtkActionMuxer *
gtk_application_get_action_muxer (GtkApplication *application)
{
- g_assert (application->priv->muxer);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
- return application->priv->muxer;
+ g_assert (priv->muxer);
+
+ return priv->muxer;
}
void
@@ -1270,23 +1313,29 @@ gtk_application_insert_action_group (GtkApplication *application,
const gchar *name,
GActionGroup *action_group)
{
- gtk_action_muxer_insert (application->priv->muxer, name, action_group);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
+ gtk_action_muxer_insert (priv->muxer, name, action_group);
}
void
gtk_application_handle_window_realize (GtkApplication *application,
GtkWindow *window)
{
- if (application->priv->impl)
- gtk_application_impl_handle_window_realize (application->priv->impl, window);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
+ if (priv->impl)
+ gtk_application_impl_handle_window_realize (priv->impl, window);
}
void
gtk_application_handle_window_map (GtkApplication *application,
GtkWindow *window)
{
- if (application->priv->impl)
- gtk_application_impl_handle_window_map (application->priv->impl, window);
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
+
+ if (priv->impl)
+ gtk_application_impl_handle_window_map (priv->impl, window);
}
/**
@@ -1305,15 +1354,16 @@ GMenu *
gtk_application_get_menu_by_id (GtkApplication *application,
const gchar *id)
{
+ GtkApplicationPrivate *priv = gtk_application_get_instance_private (application);
GObject *object;
g_return_val_if_fail (GTK_IS_APPLICATION (application), NULL);
g_return_val_if_fail (id != NULL, NULL);
- if (!application->priv->menus_builder)
+ if (!priv->menus_builder)
return NULL;
- object = gtk_builder_get_object (application->priv->menus_builder, id);
+ object = gtk_builder_get_object (priv->menus_builder, id);
if (!object || !G_IS_MENU (object))
return NULL;
diff --git a/gtk/gtkapplication.h b/gtk/gtkapplication.h
index e59b6116a9..253644376d 100644
--- a/gtk/gtkapplication.h
+++ b/gtk/gtkapplication.h
@@ -38,14 +38,10 @@ G_BEGIN_DECLS
typedef struct _GtkApplication GtkApplication;
typedef struct _GtkApplicationClass GtkApplicationClass;
-typedef struct _GtkApplicationPrivate GtkApplicationPrivate;
struct _GtkApplication
{
- GApplication parent;
-
- /*< private >*/
- GtkApplicationPrivate *priv;
+ GApplication parent_instance;
};
/**
diff --git a/gtk/gtkaspectframe.c b/gtk/gtkaspectframe.c
index c4b0d7af43..f07f03ca24 100644
--- a/gtk/gtkaspectframe.c
+++ b/gtk/gtkaspectframe.c
@@ -56,13 +56,13 @@
-struct _GtkAspectFramePrivate
+typedef struct
{
gboolean obey_child;
gfloat xalign;
gfloat yalign;
gfloat ratio;
-};
+} GtkAspectFramePrivate;
enum {
@@ -138,12 +138,12 @@ gtk_aspect_frame_class_init (GtkAspectFrameClass *class)
static void
gtk_aspect_frame_init (GtkAspectFrame *aspect_frame)
{
- aspect_frame->priv = gtk_aspect_frame_get_instance_private (aspect_frame);
+ GtkAspectFramePrivate *priv = gtk_aspect_frame_get_instance_private (aspect_frame);
- aspect_frame->priv->xalign = 0.5;
- aspect_frame->priv->yalign = 0.5;
- aspect_frame->priv->ratio = 1.0;
- aspect_frame->priv->obey_child = TRUE;
+ priv->xalign = 0.5;
+ priv->yalign = 0.5;
+ priv->ratio = 1.0;
+ priv->obey_child = TRUE;
}
static void
@@ -153,7 +153,7 @@ gtk_aspect_frame_set_property (GObject *object,
GParamSpec *pspec)
{
GtkAspectFrame *aspect_frame = GTK_ASPECT_FRAME (object);
- GtkAspectFramePrivate *priv = aspect_frame->priv;
+ GtkAspectFramePrivate *priv = gtk_aspect_frame_get_instance_private (aspect_frame);
switch (prop_id)
{
@@ -199,7 +199,7 @@ gtk_aspect_frame_get_property (GObject *object,
GParamSpec *pspec)
{
GtkAspectFrame *aspect_frame = GTK_ASPECT_FRAME (object);
- GtkAspectFramePrivate *priv = aspect_frame->priv;
+ GtkAspectFramePrivate *priv = gtk_aspect_frame_get_instance_private (aspect_frame);
switch (prop_id)
{
@@ -249,8 +249,7 @@ gtk_aspect_frame_new (const gchar *label,
GtkAspectFramePrivate *priv;
aspect_frame = g_object_new (GTK_TYPE_ASPECT_FRAME, NULL);
-
- priv = aspect_frame->priv;
+ priv = gtk_aspect_frame_get_instance_private (aspect_frame);
priv->xalign = CLAMP (xalign, 0.0, 1.0);
priv->yalign = CLAMP (yalign, 0.0, 1.0);
@@ -284,12 +283,10 @@ gtk_aspect_frame_set (GtkAspectFrame *aspect_frame,
gfloat ratio,
gboolean obey_child)
{
- GtkAspectFramePrivate *priv;
+ GtkAspectFramePrivate *priv = gtk_aspect_frame_get_instance_private (aspect_frame);
g_return_if_fail (GTK_IS_ASPECT_FRAME (aspect_frame));
- priv = aspect_frame->priv;
-
xalign = CLAMP (xalign, 0.0, 1.0);
yalign = CLAMP (yalign, 0.0, 1.0);
ratio = CLAMP (ratio, MIN_RATIO, MAX_RATIO);
@@ -333,7 +330,7 @@ gtk_aspect_frame_compute_child_allocation (GtkFrame *frame,
GtkAllocation *child_allocation)
{
GtkAspectFrame *aspect_frame = GTK_ASPECT_FRAME (frame);
- GtkAspectFramePrivate *priv = aspect_frame->priv;
+ GtkAspectFramePrivate *priv = gtk_aspect_frame_get_instance_private (aspect_frame);
GtkBin *bin = GTK_BIN (frame);
GtkWidget *child;
gdouble ratio;
diff --git a/gtk/gtkaspectframe.h b/gtk/gtkaspectframe.h
index be06f1fb18..6fd4be6535 100644
--- a/gtk/gtkaspectframe.h
+++ b/gtk/gtkaspectframe.h
@@ -43,15 +43,11 @@ G_BEGIN_DECLS
#define GTK_ASPECT_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ASPECT_FRAME, GtkAspectFrameClass))
typedef struct _GtkAspectFrame GtkAspectFrame;
-typedef struct _GtkAspectFramePrivate GtkAspectFramePrivate;
typedef struct _GtkAspectFrameClass GtkAspectFrameClass;
struct _GtkAspectFrame
{
- GtkFrame frame;
-
- /*< private >*/
- GtkAspectFramePrivate *priv;
+ GtkFrame parent_instance;
};
/**
diff --git a/gtk/gtkbbox.h b/gtk/gtkbbox.h
index c8bcf2e1eb..9b92665bf2 100644
--- a/gtk/gtkbbox.h
+++ b/gtk/gtkbbox.h
@@ -80,11 +80,11 @@ struct _GtkButtonBoxClass
* (on the left for a HBox, or the top for a VBox).
* @GTK_BUTTONBOX_END: Buttons are grouped towards the end of the box,
* (on the right for a HBox, or the bottom for a VBox).
- * @GTK_BUTTONBOX_CENTER: Buttons are centered in the box. Since 2.12.
+ * @GTK_BUTTONBOX_CENTER: Buttons are centered in the box
* @GTK_BUTTONBOX_EXPAND: Buttons expand to fill the box. This entails giving
* buttons a "linked" appearance, making button sizes homogeneous, and
* setting spacing to 0 (same as calling gtk_box_set_homogeneous() and
- * gtk_box_set_spacing() manually). Since 3.12.
+ * gtk_box_set_spacing() manually)
*
* Used to dictate the style that a #GtkButtonBox uses to layout the buttons it
* contains.
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 4d87d21066..0ed50b0b7e 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -61,6 +61,7 @@
#include "gtkcheckbutton.h"
#include "gtkcontainerprivate.h"
#include "gtkgesturemultipress.h"
+#include "gtkeventcontrollerkey.h"
#include "gtkimage.h"
#include "gtkintl.h"
#include "gtklabel.h"
@@ -84,9 +85,8 @@ struct _GtkButtonPrivate
{
GtkActionHelper *action_helper;
- GdkDevice *grab_keyboard;
-
GtkGesture *gesture;
+ GtkEventController *key_controller;
guint activate_timeout;
@@ -136,7 +136,6 @@ static void gtk_button_get_property (GObject *object,
static void gtk_button_display_changed (GtkWidget *widget,
GdkDisplay *previous_display);
static void gtk_button_unrealize (GtkWidget * widget);
-static gint gtk_button_event (GtkWidget * widget, GdkEvent * event);
static void gtk_real_button_clicked (GtkButton * button);
static void gtk_real_button_activate (GtkButton *button);
static void gtk_button_update_state (GtkButton *button);
@@ -212,7 +211,6 @@ gtk_button_class_init (GtkButtonClass *klass)
widget_class->display_changed = gtk_button_display_changed;
widget_class->unrealize = gtk_button_unrealize;
- widget_class->event = gtk_button_event;
widget_class->state_flags_changed = gtk_button_state_flags_changed;
widget_class->grab_notify = gtk_button_grab_notify;
widget_class->unmap = gtk_button_unmap;
@@ -402,6 +400,31 @@ multipress_gesture_cancel_cb (GtkGesture *gesture,
gtk_button_do_release (button, FALSE);
}
+static gboolean
+key_controller_key_pressed_cb (GtkEventControllerKey *controller,
+ guint keyval,
+ guint keycode,
+ guint modifiers,
+ GtkButton *button)
+{
+ GtkButtonPrivate *priv = gtk_button_get_instance_private (button);
+
+ return priv->activate_timeout != 0;
+}
+
+static void
+key_controller_key_released_cb (GtkEventControllerKey *controller,
+ guint keyval,
+ guint keycode,
+ guint modifiers,
+ GtkButton *button)
+{
+ GtkButtonPrivate *priv = gtk_button_get_instance_private (button);
+
+ if (priv->activate_timeout)
+ gtk_button_finish_activate (button, TRUE);
+}
+
static void
gtk_button_set_child_type (GtkButton *button, guint child_type)
{
@@ -442,6 +465,11 @@ gtk_button_init (GtkButton *button)
g_signal_connect (priv->gesture, "cancel", G_CALLBACK (multipress_gesture_cancel_cb), button);
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (priv->gesture), GTK_PHASE_CAPTURE);
gtk_widget_add_controller (GTK_WIDGET (button), GTK_EVENT_CONTROLLER (priv->gesture));
+
+ priv->key_controller = gtk_event_controller_key_new ();
+ g_signal_connect (priv->key_controller, "key-pressed", G_CALLBACK (key_controller_key_pressed_cb), button);
+ g_signal_connect (priv->key_controller, "key-released", G_CALLBACK (key_controller_key_released_cb), button);
+ gtk_widget_add_controller (GTK_WIDGET (button), priv->key_controller);
}
static void
@@ -753,27 +781,6 @@ gtk_button_do_release (GtkButton *button,
}
}
-static gboolean
-gtk_button_event (GtkWidget *widget,
- GdkEvent *event)
-{
- GtkButton *button = GTK_BUTTON (widget);
- GtkButtonPrivate *priv = gtk_button_get_instance_private (button);
-
- if (gdk_event_get_event_type (event) != GDK_KEY_RELEASE)
- return GDK_EVENT_PROPAGATE;
-
- if (priv->activate_timeout)
- {
- gtk_button_finish_activate (button, TRUE);
- return GDK_EVENT_STOP;
- }
- else if (GTK_WIDGET_CLASS (gtk_button_parent_class)->event)
- return GTK_WIDGET_CLASS (gtk_button_parent_class)->event (widget, event);
- else
- return GDK_EVENT_PROPAGATE;
-}
-
static void
gtk_real_button_clicked (GtkButton *button)
{
@@ -805,15 +812,6 @@ gtk_real_button_activate (GtkButton *button)
if (gtk_widget_get_realized (widget) && !priv->activate_timeout)
{
- /* bgo#626336 - Only grab if we have a device (from an event), not if we
- * were activated programmatically when no event is available.
- */
- if (device && gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
- {
- gtk_device_grab_add (widget, device, TRUE);
- priv->grab_keyboard = device;
- }
-
priv->activate_timeout = g_timeout_add (ACTIVATE_TIMEOUT, button_activate_timeout, button);
g_source_set_name_by_id (priv->activate_timeout, "[gtk+] button_activate_timeout");
priv->button_down = TRUE;
@@ -825,19 +823,11 @@ static void
gtk_button_finish_activate (GtkButton *button,
gboolean do_it)
{
- GtkWidget *widget = GTK_WIDGET (button);
GtkButtonPrivate *priv = gtk_button_get_instance_private (button);
g_source_remove (priv->activate_timeout);
priv->activate_timeout = 0;
- if (priv->grab_keyboard)
- {
- gdk_seat_ungrab (gdk_device_get_seat (priv->grab_keyboard));
- gtk_device_grab_remove (widget, priv->grab_keyboard);
- priv->grab_keyboard = NULL;
- }
-
priv->button_down = FALSE;
gtk_button_update_state (button);
@@ -1032,9 +1022,7 @@ gtk_button_grab_notify (GtkWidget *widget,
GTK_WIDGET_CLASS (gtk_button_parent_class)->grab_notify (widget, was_grabbed);
- if (priv->activate_timeout &&
- priv->grab_keyboard &&
- gtk_widget_device_is_shadowed (widget, priv->grab_keyboard))
+ if (was_grabbed && priv->activate_timeout)
gtk_button_finish_activate (button, FALSE);
if (!was_grabbed)
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 1ccbed01c5..9273969028 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -308,7 +308,7 @@ static gboolean gtk_calendar_query_tooltip (GtkWidget *widget,
GtkTooltip *tooltip);
static void gtk_calendar_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data);
static void gtk_calendar_drag_data_received (GtkWidget *widget,
GdkDrop *drop,
@@ -2660,7 +2660,7 @@ gtk_calendar_drag_update (GtkGestureDrag *gesture,
GtkWidget *widget = data;
GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
gdouble start_x, start_y;
- GdkDragContext *context;
+ GdkDrag *drag;
GdkContentFormats *targets;
if (!priv->in_drag)
@@ -2675,15 +2675,15 @@ gtk_calendar_drag_update (GtkGestureDrag *gesture,
targets = gdk_content_formats_new (NULL, 0);
targets = gtk_content_formats_add_text_targets (targets);
- context = gtk_drag_begin_with_coordinates (widget,
- gtk_gesture_get_device (GTK_GESTURE (gesture)),
- targets, GDK_ACTION_COPY,
- start_x, start_y);
+ drag = gtk_drag_begin_with_coordinates (widget,
+ gtk_gesture_get_device (GTK_GESTURE (gesture)),
+ targets, GDK_ACTION_COPY,
+ start_x, start_y);
priv->in_drag = 0;
gdk_content_formats_unref (targets);
- gtk_drag_set_icon_default (context);
+ gtk_drag_set_icon_default (drag);
}
static void
@@ -2900,7 +2900,7 @@ gtk_calendar_grab_notify (GtkWidget *widget,
static void
gtk_calendar_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c
index 36691235df..c9ed22063b 100644
--- a/gtk/gtkcellareacontext.c
+++ b/gtk/gtkcellareacontext.c
@@ -356,8 +356,6 @@ gtk_cell_area_context_get_area (GtkCellAreaContext *context)
* in the allocated width necessitates a recalculation
* of all the displayed row heights using
* gtk_cell_area_get_preferred_height_for_width().
- *
- * Since 3.0
*/
void
gtk_cell_area_context_reset (GtkCellAreaContext *context)
@@ -385,8 +383,6 @@ gtk_cell_area_context_reset (GtkCellAreaContext *context)
* and vertical orientations producing a homogeneous effect of the
* rows. This is generally the case for #GtkTreeView when
* #GtkTreeView:fixed-height-mode is enabled.
- *
- * Since 3.0
*/
void
gtk_cell_area_context_allocate (GtkCellAreaContext *context,
diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h
index 2b297e1c59..c5d8c55a91 100644
--- a/gtk/gtkcellrenderer.h
+++ b/gtk/gtkcellrenderer.h
@@ -35,8 +35,8 @@ G_BEGIN_DECLS
* @GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner
* @GTK_CELL_RENDERER_SORTED: The cell is in a sorted row
* @GTK_CELL_RENDERER_FOCUSED: The cell is in the focus row.
- * @GTK_CELL_RENDERER_EXPANDABLE: The cell is in a row that can be expanded. Since 3.4
- * @GTK_CELL_RENDERER_EXPANDED: The cell is in a row that is expanded. Since 3.4
+ * @GTK_CELL_RENDERER_EXPANDABLE: The cell is in a row that can be expanded
+ * @GTK_CELL_RENDERER_EXPANDED: The cell is in a row that is expanded
*
* Tells how a cell is to be rendered.
*/
diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c
index 1e46ea0c56..f7ee9aaee2 100644
--- a/gtk/gtkcellrenderertext.c
+++ b/gtk/gtkcellrenderertext.c
@@ -539,8 +539,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
*
* The text that will be displayed in the #GtkCellRenderer if
* #GtkCellRendererText:editable is %TRUE and the cell is empty.
- *
- * Since 3.6
*/
text_cell_renderer_props[PROP_PLACEHOLDER_TEXT] =
g_param_spec_string ("placeholder-text",
diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c
index 78eec0e16d..9091b65c65 100644
--- a/gtk/gtkcolorbutton.c
+++ b/gtk/gtkcolorbutton.c
@@ -110,10 +110,10 @@ static void gtk_color_button_clicked (GtkButton *button,
/* source side drag signals */
static void gtk_color_button_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data);
static void gtk_color_button_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
GtkColorButton *button);
@@ -312,7 +312,7 @@ gtk_color_button_drag_data_received (GtkWidget *widget,
}
static void
-set_color_icon (GdkDragContext *context,
+set_color_icon (GdkDrag *drag,
const GdkRGBA *rgba)
{
GtkSnapshot *snapshot;
@@ -324,24 +324,24 @@ set_color_icon (GdkDragContext *context,
&GRAPHENE_RECT_INIT(0, 0, 48, 32));
paintable = gtk_snapshot_free_to_paintable (snapshot, NULL);
- gtk_drag_set_icon_paintable (context, paintable, 0, 0);
+ gtk_drag_set_icon_paintable (drag, paintable, 0, 0);
g_object_unref (paintable);
}
static void
gtk_color_button_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GtkColorButton *button = data;
GtkColorButtonPrivate *priv = gtk_color_button_get_instance_private (button);
- set_color_icon (context, &priv->rgba);
+ set_color_icon (drag, &priv->rgba);
}
static void
gtk_color_button_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
GtkColorButton *button)
{
diff --git a/gtk/gtkcolorswatch.c b/gtk/gtkcolorswatch.c
index 5fd2b11e66..edf3bcc76e 100644
--- a/gtk/gtkcolorswatch.c
+++ b/gtk/gtkcolorswatch.c
@@ -55,7 +55,7 @@
* be removed for non-activatable swatches.
*/
-struct _GtkColorSwatchPrivate
+typedef struct
{
GdkRGBA color;
gdouble radius[4];
@@ -68,7 +68,7 @@ struct _GtkColorSwatchPrivate
GtkWidget *overlay_widget;
GtkWidget *popover;
-};
+} GtkColorSwatchPrivate;
enum
{
@@ -95,13 +95,13 @@ static void
swatch_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot)
{
- GtkColorSwatch *swatch;
+ GtkColorSwatch *swatch = GTK_COLOR_SWATCH (widget);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
GtkStyleContext *context;
- swatch = GTK_COLOR_SWATCH (widget);
context = gtk_widget_get_style_context (widget);
- if (swatch->priv->has_color)
+ if (priv->has_color)
{
cairo_pattern_t *pattern;
cairo_matrix_t matrix;
@@ -116,7 +116,7 @@ swatch_snapshot (GtkWidget *widget,
gtk_widget_get_height (widget));
gtk_snapshot_push_rounded_clip (snapshot, &content_box);
- if (swatch->priv->use_alpha && !gdk_rgba_is_opaque (&swatch->priv->color))
+ if (priv->use_alpha && !gdk_rgba_is_opaque (&priv->color))
{
cairo_t *cr;
@@ -135,12 +135,12 @@ swatch_snapshot (GtkWidget *widget,
cairo_destroy (cr);
gtk_snapshot_append_color (snapshot,
- &swatch->priv->color,
+ &priv->color,
&content_box.bounds);
}
else
{
- GdkRGBA color = swatch->priv->color;
+ GdkRGBA color = priv->color;
color.alpha = 1.0;
@@ -152,12 +152,12 @@ swatch_snapshot (GtkWidget *widget,
gtk_snapshot_pop (snapshot);
}
- gtk_widget_snapshot_child (widget, swatch->priv->overlay_widget, snapshot);
+ gtk_widget_snapshot_child (widget, priv->overlay_widget, snapshot);
}
static void
-drag_set_color_icon (GdkDragContext *context,
+drag_set_color_icon (GdkDrag *drag,
const GdkRGBA *color)
{
GtkSnapshot *snapshot;
@@ -169,24 +169,24 @@ drag_set_color_icon (GdkDragContext *context,
&GRAPHENE_RECT_INIT(0, 0, 48, 32));
paintable = gtk_snapshot_free_to_paintable (snapshot, NULL);
- gtk_drag_set_icon_paintable (context, paintable, 4, 4);
+ gtk_drag_set_icon_paintable (drag, paintable, 4, 4);
g_object_unref (paintable);
}
static void
swatch_drag_begin (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkColorSwatch *swatch = GTK_COLOR_SWATCH (widget);
GdkRGBA color;
gtk_color_swatch_get_rgba (swatch, &color);
- drag_set_color_icon (context, &color);
+ drag_set_color_icon (drag, &color);
}
static void
swatch_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data)
{
GtkColorSwatch *swatch = GTK_COLOR_SWATCH (widget);
@@ -246,6 +246,7 @@ key_controller_key_pressed (GtkEventControllerKey *controller,
GtkWidget *widget)
{
GtkColorSwatch *swatch = GTK_COLOR_SWATCH (widget);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
if (keyval == GDK_KEY_space ||
keyval == GDK_KEY_Return ||
@@ -253,8 +254,8 @@ key_controller_key_pressed (GtkEventControllerKey *controller,
keyval == GDK_KEY_KP_Enter ||
keyval == GDK_KEY_KP_Space)
{
- if (swatch->priv->has_color &&
- swatch->priv->selectable &&
+ if (priv->has_color &&
+ priv->selectable &&
(gtk_widget_get_state_flags (widget) & GTK_STATE_FLAG_SELECTED) == 0)
gtk_widget_set_state_flags (widget, GTK_STATE_FLAG_SELECTED, FALSE);
else
@@ -274,14 +275,16 @@ emit_customize (GtkColorSwatch *swatch)
static void
do_popup (GtkColorSwatch *swatch)
{
- if (swatch->priv->popover == NULL)
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
+
+ if (priv->popover == NULL)
{
GtkWidget *box;
GtkWidget *item;
- swatch->priv->popover = gtk_popover_new (GTK_WIDGET (swatch));
+ priv->popover = gtk_popover_new (GTK_WIDGET (swatch));
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_container_add (GTK_CONTAINER (swatch->priv->popover), box);
+ gtk_container_add (GTK_CONTAINER (priv->popover), box);
g_object_set (box, "margin", 10, NULL);
item = g_object_new (GTK_TYPE_MODEL_BUTTON,
"text", _("C_ustomize"),
@@ -291,22 +294,23 @@ do_popup (GtkColorSwatch *swatch)
gtk_container_add (GTK_CONTAINER (box), item);
}
- gtk_popover_popup (GTK_POPOVER (swatch->priv->popover));
+ gtk_popover_popup (GTK_POPOVER (priv->popover));
}
static gboolean
swatch_primary_action (GtkColorSwatch *swatch)
{
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
GtkWidget *widget = (GtkWidget *)swatch;
GtkStateFlags flags;
flags = gtk_widget_get_state_flags (widget);
- if (!swatch->priv->has_color)
+ if (!priv->has_color)
{
g_signal_emit (swatch, signals[ACTIVATE], 0);
return TRUE;
}
- else if (swatch->priv->selectable &&
+ else if (priv->selectable &&
(flags & GTK_STATE_FLAG_SELECTED) == 0)
{
gtk_widget_set_state_flags (widget, GTK_STATE_FLAG_SELECTED, FALSE);
@@ -333,6 +337,7 @@ tap_action (GtkGestureMultiPress *gesture,
gdouble y,
GtkColorSwatch *swatch)
{
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
guint button;
button = gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture));
@@ -346,7 +351,7 @@ tap_action (GtkGestureMultiPress *gesture,
}
else if (button == GDK_BUTTON_SECONDARY)
{
- if (swatch->priv->has_color && swatch->priv->has_menu)
+ if (priv->has_color && priv->has_menu)
do_popup (swatch);
}
}
@@ -357,7 +362,9 @@ swatch_size_allocate (GtkWidget *widget,
int baseline)
{
GtkColorSwatch *swatch = GTK_COLOR_SWATCH (widget);
- gtk_widget_size_allocate (swatch->priv->overlay_widget, allocation, -1);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
+
+ gtk_widget_size_allocate (priv->overlay_widget, allocation, -1);
}
static void
@@ -369,12 +376,13 @@ gtk_color_swatch_measure (GtkWidget *widget,
int *minimum_baseline,
int *natural_baseline)
{
- GtkColorSwatch *swatch;
+ GtkColorSwatch *swatch = GTK_COLOR_SWATCH (widget);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
gint w, h, min;
swatch = GTK_COLOR_SWATCH (widget);
- gtk_widget_measure (swatch->priv->overlay_widget,
+ gtk_widget_measure (priv->overlay_widget,
orientation,
-1,
minimum, natural,
@@ -402,10 +410,11 @@ swatch_popup_menu (GtkWidget *widget)
static void
update_icon (GtkColorSwatch *swatch)
{
- GtkImage *image = GTK_IMAGE (swatch->priv->overlay_widget);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
+ GtkImage *image = GTK_IMAGE (priv->overlay_widget);
- if (swatch->priv->icon)
- gtk_image_set_from_icon_name (image, swatch->priv->icon);
+ if (priv->icon)
+ gtk_image_set_from_icon_name (image, priv->icon);
else if (gtk_widget_get_state_flags (GTK_WIDGET (swatch)) & GTK_STATE_FLAG_SELECTED)
gtk_image_set_from_icon_name (image, "object-select-symbolic");
else
@@ -432,6 +441,7 @@ swatch_get_property (GObject *object,
GParamSpec *pspec)
{
GtkColorSwatch *swatch = GTK_COLOR_SWATCH (object);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
GdkRGBA color;
switch (prop_id)
@@ -444,7 +454,7 @@ swatch_get_property (GObject *object,
g_value_set_boolean (value, gtk_color_swatch_get_selectable (swatch));
break;
case PROP_HAS_MENU:
- g_value_set_boolean (value, swatch->priv->has_menu);
+ g_value_set_boolean (value, priv->has_menu);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -459,6 +469,7 @@ swatch_set_property (GObject *object,
GParamSpec *pspec)
{
GtkColorSwatch *swatch = GTK_COLOR_SWATCH (object);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
switch (prop_id)
{
@@ -469,7 +480,7 @@ swatch_set_property (GObject *object,
gtk_color_swatch_set_selectable (swatch, g_value_get_boolean (value));
break;
case PROP_HAS_MENU:
- swatch->priv->has_menu = g_value_get_boolean (value);
+ priv->has_menu = g_value_get_boolean (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -481,9 +492,10 @@ static void
swatch_finalize (GObject *object)
{
GtkColorSwatch *swatch = GTK_COLOR_SWATCH (object);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
- g_free (swatch->priv->icon);
- gtk_widget_unparent (swatch->priv->overlay_widget);
+ g_free (priv->icon);
+ gtk_widget_unparent (priv->overlay_widget);
G_OBJECT_CLASS (gtk_color_swatch_parent_class)->finalize (object);
}
@@ -492,11 +504,12 @@ static void
swatch_dispose (GObject *object)
{
GtkColorSwatch *swatch = GTK_COLOR_SWATCH (object);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
- if (swatch->priv->popover)
+ if (priv->popover)
{
- gtk_widget_destroy (swatch->priv->popover);
- swatch->priv->popover = NULL;
+ gtk_widget_destroy (priv->popover);
+ priv->popover = NULL;
}
G_OBJECT_CLASS (gtk_color_swatch_parent_class)->dispose (object);
@@ -553,13 +566,14 @@ gtk_color_swatch_class_init (GtkColorSwatchClass *class)
static void
gtk_color_swatch_init (GtkColorSwatch *swatch)
{
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
GtkEventController *controller;
GtkGesture *gesture;
- swatch->priv = gtk_color_swatch_get_instance_private (swatch);
- swatch->priv->use_alpha = TRUE;
- swatch->priv->selectable = TRUE;
- swatch->priv->has_menu = TRUE;
+ priv = gtk_color_swatch_get_instance_private (swatch);
+ priv->use_alpha = TRUE;
+ priv->selectable = TRUE;
+ priv->has_menu = TRUE;
gtk_widget_set_can_focus (GTK_WIDGET (swatch), TRUE);
gtk_widget_set_has_surface (GTK_WIDGET (swatch), FALSE);
@@ -584,10 +598,10 @@ gtk_color_swatch_init (GtkColorSwatch *swatch)
gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (swatch)), "activatable");
- swatch->priv->overlay_widget = g_object_new (GTK_TYPE_IMAGE,
+ priv->overlay_widget = g_object_new (GTK_TYPE_IMAGE,
"css-name", "overlay",
NULL);
- gtk_widget_set_parent (swatch->priv->overlay_widget, GTK_WIDGET (swatch));
+ gtk_widget_set_parent (priv->overlay_widget, GTK_WIDGET (swatch));
}
/* Public API {{{1 */
@@ -606,11 +620,12 @@ void
gtk_color_swatch_set_rgba (GtkColorSwatch *swatch,
const GdkRGBA *color)
{
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
GtkStyleContext *context;
context = gtk_widget_get_style_context (GTK_WIDGET (swatch));
- if (!swatch->priv->has_color)
+ if (!priv->has_color)
{
GdkContentFormats *targets = gdk_content_formats_new (dnd_targets, G_N_ELEMENTS (dnd_targets));
gtk_drag_source_set (GTK_WIDGET (swatch),
@@ -620,10 +635,10 @@ gtk_color_swatch_set_rgba (GtkColorSwatch *swatch,
gdk_content_formats_unref (targets);
}
- swatch->priv->has_color = TRUE;
- swatch->priv->color = *color;
+ priv->has_color = TRUE;
+ priv->color = *color;
- if (INTENSITY (swatch->priv->color.red, swatch->priv->color.green, swatch->priv->color.blue) > 0.5)
+ if (INTENSITY (priv->color.red, priv->color.green, priv->color.blue) > 0.5)
{
gtk_style_context_add_class (context, "light");
gtk_style_context_remove_class (context, "dark");
@@ -642,12 +657,14 @@ gboolean
gtk_color_swatch_get_rgba (GtkColorSwatch *swatch,
GdkRGBA *color)
{
- if (swatch->priv->has_color)
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
+
+ if (priv->has_color)
{
- color->red = swatch->priv->color.red;
- color->green = swatch->priv->color.green;
- color->blue = swatch->priv->color.blue;
- color->alpha = swatch->priv->color.alpha;
+ color->red = priv->color.red;
+ color->green = priv->color.green;
+ color->blue = priv->color.blue;
+ color->alpha = priv->color.alpha;
return TRUE;
}
else
@@ -664,7 +681,9 @@ void
gtk_color_swatch_set_icon (GtkColorSwatch *swatch,
const gchar *icon)
{
- swatch->priv->icon = g_strdup (icon);
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
+
+ priv->icon = g_strdup (icon);
update_icon (swatch);
gtk_widget_queue_draw (GTK_WIDGET (swatch));
}
@@ -694,7 +713,9 @@ void
gtk_color_swatch_set_use_alpha (GtkColorSwatch *swatch,
gboolean use_alpha)
{
- swatch->priv->use_alpha = use_alpha;
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
+
+ priv->use_alpha = use_alpha;
gtk_widget_queue_draw (GTK_WIDGET (swatch));
}
@@ -702,17 +723,21 @@ void
gtk_color_swatch_set_selectable (GtkColorSwatch *swatch,
gboolean selectable)
{
- if (selectable == swatch->priv->selectable)
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
+
+ if (selectable == priv->selectable)
return;
- swatch->priv->selectable = selectable;
+ priv->selectable = selectable;
g_object_notify (G_OBJECT (swatch), "selectable");
}
gboolean
gtk_color_swatch_get_selectable (GtkColorSwatch *swatch)
{
- return swatch->priv->selectable;
+ GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
+
+ return priv->selectable;
}
/* vim:set foldmethod=marker: */
diff --git a/gtk/gtkcolorswatchprivate.h b/gtk/gtkcolorswatchprivate.h
index f7e80bc9da..95898a09c6 100644
--- a/gtk/gtkcolorswatchprivate.h
+++ b/gtk/gtkcolorswatchprivate.h
@@ -32,14 +32,10 @@ G_BEGIN_DECLS
typedef struct _GtkColorSwatch GtkColorSwatch;
typedef struct _GtkColorSwatchClass GtkColorSwatchClass;
-typedef struct _GtkColorSwatchPrivate GtkColorSwatchPrivate;
struct _GtkColorSwatch
{
- GtkWidget parent;
-
- /*< private >*/
- GtkColorSwatchPrivate *priv;
+ GtkWidget parent_instance;
};
struct _GtkColorSwatchClass
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index 9f11262a7c..00427aae05 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -113,11 +113,11 @@
* a <packing> element for children, which can contain multiple <property>
* elements that specify child properties for the child.
*
- * Since 2.16, child properties can also be marked as translatable using
+ * Child properties can also be marked as translatable using
* the same “translatable”, “comments” and “context” attributes that are used
* for regular properties.
*
- * Since 3.16, containers can have a <focus-chain> element containing multiple
+ * Containers can have a <focus-chain> element containing multiple
* <widget> elements, one for each child that should be added to the focus
* chain. The ”name” attribute gives the id of the widget.
*
diff --git a/gtk/gtkcsssection.h b/gtk/gtkcsssection.h
index 8553633fcd..8dc7ac90b5 100644
--- a/gtk/gtkcsssection.h
+++ b/gtk/gtkcsssection.h
@@ -41,7 +41,7 @@ G_BEGIN_DECLS
* a CSS variable.
* @GTK_CSS_SECTION_VALUE: The section defines the value of a CSS declaration.
* @GTK_CSS_SECTION_KEYFRAMES: The section defines keyframes. See [CSS
- * Animations](http://dev.w3.org/csswg/css3-animations/#keyframes) for details. Since 3.6
+ * Animations](http://dev.w3.org/csswg/css3-animations/#keyframes) for details
*
* The different types of sections indicate parts of a CSS document as
* parsed by GTK’s CSS parser. They are oriented towards the
diff --git a/gtk/gtkcssshorthandpropertyimpl.c b/gtk/gtkcssshorthandpropertyimpl.c
index aad46d8679..be88cc672b 100644
--- a/gtk/gtkcssshorthandpropertyimpl.c
+++ b/gtk/gtkcssshorthandpropertyimpl.c
@@ -1080,12 +1080,10 @@ pack_border_radius (GtkCssShorthandProperty *shorthand,
GtkStyleQueryFunc query_func,
gpointer query_data)
{
- GtkCssStyleProperty *prop;
GtkCssValue *v;
int i = 0;
- prop = GTK_CSS_STYLE_PROPERTY (_gtk_style_property_lookup ("border-top-left-radius"));
- v = (* query_func) (_gtk_css_style_property_get_id (prop), query_data);
+ v = (* query_func) (GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS, query_data);
if (v)
i = _gtk_css_corner_value_get_x (v, 100);
@@ -1101,32 +1099,29 @@ pack_font_description (GtkCssShorthandProperty *shorthand,
{
PangoFontDescription *description;
GtkCssValue *v;
- double dpi;
description = pango_font_description_new ();
- v = (* query_func) (_gtk_css_style_property_get_id (GTK_CSS_STYLE_PROPERTY (_gtk_style_property_lookup ("font-family"))), query_data);
+ v = (* query_func) (GTK_CSS_PROPERTY_FONT_FAMILY, query_data);
if (v)
{
/* xxx: Can we set all the families here somehow? */
pango_font_description_set_family (description, _gtk_css_string_value_get (_gtk_css_array_value_get_nth (v, 0)));
}
- v = (* query_func) (_gtk_css_style_property_get_id (GTK_CSS_STYLE_PROPERTY (_gtk_style_property_lookup ("-gtk-dpi"))), query_data);
- dpi = _gtk_css_number_value_get (v, 96);
- v = (* query_func) (_gtk_css_style_property_get_id (GTK_CSS_STYLE_PROPERTY (_gtk_style_property_lookup ("font-size"))), query_data);
+ v = (* query_func) (GTK_CSS_PROPERTY_FONT_SIZE, query_data);
if (v)
- pango_font_description_set_size (description, round (_gtk_css_number_value_get (v, 100) * PANGO_SCALE * 72 / dpi));
+ pango_font_description_set_absolute_size (description, round (_gtk_css_number_value_get (v, 100) * PANGO_SCALE));
- v = (* query_func) (_gtk_css_style_property_get_id (GTK_CSS_STYLE_PROPERTY (_gtk_style_property_lookup ("font-style"))), query_data);
+ v = (* query_func) (GTK_CSS_PROPERTY_FONT_STYLE, query_data);
if (v)
pango_font_description_set_style (description, _gtk_css_font_style_value_get (v));
- v = (* query_func) (_gtk_css_style_property_get_id (GTK_CSS_STYLE_PROPERTY (_gtk_style_property_lookup ("font-weight"))), query_data);
+ v = (* query_func) (GTK_CSS_PROPERTY_FONT_WEIGHT, query_data);
if (v)
pango_font_description_set_weight (description, _gtk_css_font_weight_value_get (v));
- v = (* query_func) (_gtk_css_style_property_get_id (GTK_CSS_STYLE_PROPERTY (_gtk_style_property_lookup ("font-stretch"))), query_data);
+ v = (* query_func) (GTK_CSS_PROPERTY_FONT_STRETCH, query_data);
if (v)
pango_font_description_set_stretch (description, _gtk_css_font_stretch_value_get (v));
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index 3c7acf5895..756446aaa8 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -51,14 +51,14 @@
* SECTION:gtkdialog
* @Short_description: Create popup windows
* @Title: GtkDialog
- * @See_also: #GtkVBox, #GtkWindow, #GtkButton
+ * @See_also: #GtkBox, #GtkWindow, #GtkButton
*
* Dialog boxes are a convenient way to prompt the user for a small amount
* of input, e.g. to display a message, ask a question, or anything else
* that does not require extensive effort on the user’s part.
*
* GTK+ treats a dialog as a window split vertically. The top section is a
- * #GtkVBox, and is where widgets such as a #GtkLabel or a #GtkEntry should
+ * #GtkBox, and is where widgets such as a #GtkLabel or a #GtkEntry should
* be packed. The bottom area is known as the
* “action area”. This is generally used for
* packing buttons into the dialog which may perform functions such as
@@ -168,7 +168,7 @@
* ]|
*/
-struct _GtkDialogPrivate
+typedef struct
{
GtkWidget *vbox;
GtkWidget *headerbar;
@@ -178,7 +178,7 @@ struct _GtkDialogPrivate
gint use_header_bar;
gboolean constructed;
-};
+} GtkDialogPrivate;
typedef struct _ResponseData ResponseData;
@@ -239,7 +239,7 @@ static void
set_use_header_bar (GtkDialog *dialog,
gint use_header_bar)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
if (use_header_bar == -1)
return;
@@ -251,7 +251,7 @@ set_use_header_bar (GtkDialog *dialog,
void
gtk_dialog_set_use_header_bar_from_setting (GtkDialog *dialog)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
g_assert (!priv->constructed);
@@ -287,7 +287,7 @@ gtk_dialog_get_property (GObject *object,
GParamSpec *pspec)
{
GtkDialog *dialog = GTK_DIALOG (object);
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
switch (prop_id)
{
@@ -349,7 +349,7 @@ apply_response_for_header_bar (GtkDialog *dialog,
GtkWidget *child,
gint response_id)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
GtkPackType pack;
g_assert (gtk_widget_get_parent (child) == priv->headerbar);
@@ -372,7 +372,7 @@ add_to_header_bar (GtkDialog *dialog,
GtkWidget *child,
gint response_id)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
gtk_widget_set_valign (child, GTK_ALIGN_CENTER);
gtk_container_add (GTK_CONTAINER (priv->headerbar), child);
@@ -386,7 +386,7 @@ apply_response_for_action_area (GtkDialog *dialog,
GtkWidget *child,
gint response_id)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
g_assert (gtk_widget_get_parent (child) == priv->action_area);
@@ -399,7 +399,7 @@ add_to_action_area (GtkDialog *dialog,
GtkWidget *child,
gint response_id)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
gtk_widget_set_valign (child, GTK_ALIGN_BASELINE);
gtk_container_add (GTK_CONTAINER (priv->action_area), child);
@@ -409,7 +409,7 @@ add_to_action_area (GtkDialog *dialog,
static void
update_suggested_action (GtkDialog *dialog)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
if (priv->use_header_bar)
{
@@ -435,7 +435,7 @@ add_cb (GtkContainer *container,
GtkWidget *widget,
GtkDialog *dialog)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
if (priv->use_header_bar)
g_warning ("Content added to the action area of a dialog using header bars");
@@ -447,7 +447,7 @@ static void
gtk_dialog_constructed (GObject *object)
{
GtkDialog *dialog = GTK_DIALOG (object);
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
G_OBJECT_CLASS (gtk_dialog_parent_class)->constructed (object);
@@ -498,8 +498,9 @@ static void
gtk_dialog_finalize (GObject *obj)
{
GtkDialog *dialog = GTK_DIALOG (obj);
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
- g_object_unref (dialog->priv->size_group);
+ g_object_unref (priv->size_group);
G_OBJECT_CLASS (gtk_dialog_parent_class)->finalize (obj);
}
@@ -602,10 +603,12 @@ gtk_dialog_class_init (GtkDialogClass *class)
static void
gtk_dialog_init (GtkDialog *dialog)
{
- dialog->priv = gtk_dialog_get_instance_private (dialog);
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
- dialog->priv->use_header_bar = -1;
- dialog->priv->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+ priv = gtk_dialog_get_instance_private (dialog);
+
+ priv->use_header_bar = -1;
+ priv->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_widget_init_template (GTK_WIDGET (dialog));
}
@@ -633,7 +636,7 @@ gtk_dialog_close_request (GtkWindow *window)
static GList *
get_action_children (GtkDialog *dialog)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
GList *children;
if (priv->constructed && priv->use_header_bar)
@@ -870,7 +873,7 @@ gtk_dialog_add_action_widget (GtkDialog *dialog,
GtkWidget *child,
gint response_id)
{
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
g_return_if_fail (GTK_IS_DIALOG (dialog));
g_return_if_fail (GTK_IS_WIDGET (child));
@@ -1031,6 +1034,7 @@ void
gtk_dialog_set_default_response (GtkDialog *dialog,
gint response_id)
{
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
GList *children;
GList *tmp_list;
@@ -1052,7 +1056,7 @@ gtk_dialog_set_default_response (GtkDialog *dialog,
g_list_free (children);
- if (dialog->priv->use_header_bar)
+ if (priv->use_header_bar)
update_suggested_action (dialog);
}
@@ -1478,7 +1482,7 @@ gtk_dialog_buildable_custom_finished (GtkBuildable *buildable,
gpointer user_data)
{
GtkDialog *dialog = GTK_DIALOG (buildable);
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
GSList *l;
SubParserData *data;
GObject *object;
@@ -1557,7 +1561,7 @@ gtk_dialog_buildable_add_child (GtkBuildable *buildable,
const gchar *type)
{
GtkDialog *dialog = GTK_DIALOG (buildable);
- GtkDialogPrivate *priv = dialog->priv;
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
if (type == NULL)
parent_buildable_iface->add_child (buildable, builder, child, type);
@@ -1575,9 +1579,11 @@ gtk_dialog_buildable_add_child (GtkBuildable *buildable,
GtkWidget *
gtk_dialog_get_action_area (GtkDialog *dialog)
{
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
+
g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
- return dialog->priv->action_area;
+ return priv->action_area;
}
/**
@@ -1593,9 +1599,11 @@ gtk_dialog_get_action_area (GtkDialog *dialog)
GtkWidget *
gtk_dialog_get_header_bar (GtkDialog *dialog)
{
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
+
g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
- return dialog->priv->headerbar;
+ return priv->headerbar;
}
/**
@@ -1609,7 +1617,9 @@ gtk_dialog_get_header_bar (GtkDialog *dialog)
GtkWidget *
gtk_dialog_get_content_area (GtkDialog *dialog)
{
+ GtkDialogPrivate *priv = gtk_dialog_get_instance_private (dialog);
+
g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
- return dialog->priv->vbox;
+ return priv->vbox;
}
diff --git a/gtk/gtkdialog.h b/gtk/gtkdialog.h
index 377a155f5f..408bc61a4e 100644
--- a/gtk/gtkdialog.h
+++ b/gtk/gtkdialog.h
@@ -40,7 +40,7 @@ G_BEGIN_DECLS
* @GTK_DIALOG_DESTROY_WITH_PARENT: Destroy the dialog when its
* parent is destroyed, see gtk_window_set_destroy_with_parent()
* @GTK_DIALOG_USE_HEADER_BAR: Create dialog with actions in header
- * bar instead of action area. Since 3.12.
+ * bar instead of action area
*
* Flags used to influence dialog construction.
*/
@@ -95,7 +95,6 @@ typedef enum
typedef struct _GtkDialog GtkDialog;
-typedef struct _GtkDialogPrivate GtkDialogPrivate;
typedef struct _GtkDialogClass GtkDialogClass;
/**
@@ -106,10 +105,7 @@ typedef struct _GtkDialogClass GtkDialogClass;
*/
struct _GtkDialog
{
- GtkWindow window;
-
- /*< private >*/
- GtkDialogPrivate *priv;
+ GtkWindow parent_instance;
};
/**
diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
index 349167f018..f00a213da7 100644
--- a/gtk/gtkdnd.c
+++ b/gtk/gtkdnd.c
@@ -67,7 +67,7 @@ struct _GtkDragSourceInfo
{
GtkWidget *widget;
GdkContentFormats *target_list; /* Targets for drag data */
- GdkDragContext *context; /* drag context */
+ GdkDrag *drag; /* drag context */
GtkWidget *icon_window; /* Window for drag */
GtkWidget *icon_widget; /* Widget for drag */
@@ -115,9 +115,9 @@ static void gtk_drag_dest_set_widget (GtkDragDestInfo *info,
static GtkDragDestInfo * gtk_drag_get_dest_info (GdkDrop *drop,
gboolean create);
-static GtkDragSourceInfo *gtk_drag_get_source_info (GdkDragContext *context,
+static GtkDragSourceInfo *gtk_drag_get_source_info (GdkDrag *drag,
gboolean create);
-static void gtk_drag_clear_source_info (GdkDragContext *context);
+static void gtk_drag_clear_source_info (GdkDrag *drag);
static void gtk_drag_drop (GtkDragSourceInfo *info);
static void gtk_drag_drop_finished (GtkDragSourceInfo *info,
@@ -128,20 +128,20 @@ static void gtk_drag_cancel_internal (GtkDragSourceInfo *info,
static void gtk_drag_remove_icon (GtkDragSourceInfo *info);
static void gtk_drag_source_info_destroy (GtkDragSourceInfo *info);
-static void gtk_drag_context_drop_performed_cb (GdkDragContext *context,
- GtkDragSourceInfo *info);
-static void gtk_drag_context_cancel_cb (GdkDragContext *context,
- GdkDragCancelReason reason,
- GtkDragSourceInfo *info);
-static void gtk_drag_context_dnd_finished_cb (GdkDragContext *context,
- GtkDragSourceInfo *info);
+static void gtk_drag_drop_performed_cb (GdkDrag *drag,
+ GtkDragSourceInfo *info);
+static void gtk_drag_cancel_cb (GdkDrag *drag,
+ GdkDragCancelReason reason,
+ GtkDragSourceInfo *info);
+static void gtk_drag_dnd_finished_cb (GdkDrag *drag,
+ GtkDragSourceInfo *info);
static gboolean gtk_drag_abort_timeout (gpointer data);
-static void set_icon_helper (GdkDragContext *context,
- GtkImageDefinition*def,
- gint hot_x,
- gint hot_y);
+static void set_icon_helper (GdkDrag *drag,
+ GtkImageDefinition *def,
+ gint hot_x,
+ gint hot_y);
/********************
@@ -304,7 +304,7 @@ gtk_drag_get_data (GtkWidget *widget,
/**
* gtk_drag_get_source_widget:
- * @context: a (destination side) drag context
+ * @drag: a drag context
*
* Determines the source widget for a drag.
*
@@ -313,13 +313,13 @@ gtk_drag_get_data (GtkWidget *widget,
* Otherwise, %NULL.
*/
GtkWidget *
-gtk_drag_get_source_widget (GdkDragContext *context)
+gtk_drag_get_source_widget (GdkDrag *drag)
{
GtkDragSourceInfo *info;
- g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL);
+ g_return_val_if_fail (GDK_IS_DRAG (drag), NULL);
- info = gtk_drag_get_source_info (context, FALSE);
+ info = gtk_drag_get_source_info (drag, FALSE);
if (info == NULL)
return NULL;
@@ -594,28 +594,28 @@ gtk_drag_get_dest_info (GdkDrop *drop,
static GQuark dest_info_quark = 0;
static GtkDragSourceInfo *
-gtk_drag_get_source_info (GdkDragContext *context,
- gboolean create)
+gtk_drag_get_source_info (GdkDrag *drag,
+ gboolean create)
{
GtkDragSourceInfo *info;
if (!dest_info_quark)
dest_info_quark = g_quark_from_static_string ("gtk-source-info");
- info = g_object_get_qdata (G_OBJECT (context), dest_info_quark);
+ info = g_object_get_qdata (G_OBJECT (drag), dest_info_quark);
if (!info && create)
{
info = g_new0 (GtkDragSourceInfo, 1);
- info->context = context;
- g_object_set_qdata (G_OBJECT (context), dest_info_quark, info);
+ info->drag = drag;
+ g_object_set_qdata (G_OBJECT (drag), dest_info_quark, info);
}
return info;
}
static void
-gtk_drag_clear_source_info (GdkDragContext *context)
+gtk_drag_clear_source_info (GdkDrag *drag)
{
- g_object_set_qdata (G_OBJECT (context), dest_info_quark, NULL);
+ g_object_set_qdata (G_OBJECT (drag), dest_info_quark, NULL);
}
/*
@@ -743,7 +743,7 @@ struct _GtkDragContent
GdkContentProvider parent;
GtkWidget *widget;
- GdkDragContext *context;
+ GdkDrag *drag;
GdkContentFormats *formats;
guint32 time;
};
@@ -809,7 +809,7 @@ gtk_drag_content_write_mime_type_async (GdkContentProvider *provider,
sdata.display = gtk_widget_get_display (content->widget);
g_signal_emit_by_name (content->widget, "drag-data-get",
- content->context,
+ content->drag,
&sdata);
if (sdata.length == -1)
@@ -873,7 +873,7 @@ gtk_drag_content_init (GtkDragContent *content)
/* Like gtk_drag_begin(), but also takes a GtkImageDefinition
* so that we can set the icon from the source site information
*/
-GdkDragContext *
+GdkDrag *
gtk_drag_begin_internal (GtkWidget *widget,
GdkDevice *device,
GtkImageDefinition *icon,
@@ -884,7 +884,7 @@ gtk_drag_begin_internal (GtkWidget *widget,
{
GtkDragSourceInfo *info;
GtkWidget *toplevel;
- GdkDragContext *context;
+ GdkDrag *drag;
int dx, dy;
GtkDragContent *content;
@@ -905,17 +905,17 @@ gtk_drag_begin_internal (GtkWidget *widget,
content->widget = g_object_ref (widget);
content->formats = gdk_content_formats_ref (target_list);
- context = gdk_drag_begin (gtk_widget_get_surface (toplevel), device, GDK_CONTENT_PROVIDER (content), actions, dx, dy);
- if (context == NULL)
+ drag = gdk_drag_begin (gtk_widget_get_surface (toplevel), device, GDK_CONTENT_PROVIDER (content), actions, dx, dy);
+ if (drag == NULL)
{
g_object_unref (content);
return NULL;
}
- content->context = context;
+ content->drag = drag;
g_object_unref (content);
- info = gtk_drag_get_source_info (context, TRUE);
+ info = gtk_drag_get_source_info (drag, TRUE);
g_object_set_data (G_OBJECT (widget), I_("gtk-info"), info);
@@ -930,7 +930,7 @@ gtk_drag_begin_internal (GtkWidget *widget,
gtk_widget_reset_controllers (widget);
- g_signal_emit_by_name (widget, "drag-begin", info->context);
+ g_signal_emit_by_name (widget, "drag-begin", info->drag);
/* Ensure that we have an icon before we start the drag; the
* application may have set one in ::drag_begin, or it may
@@ -940,24 +940,24 @@ gtk_drag_begin_internal (GtkWidget *widget,
{
if (icon)
{
- set_icon_helper (info->context, icon, 0, 0);
+ set_icon_helper (info->drag, icon, 0, 0);
}
else
{
icon = gtk_image_definition_new_icon_name ("text-x-generic");
- set_icon_helper (info->context, icon, 0, 0);
+ set_icon_helper (info->drag, icon, 0, 0);
gtk_image_definition_unref (icon);
}
}
- g_signal_connect (context, "drop-performed",
- G_CALLBACK (gtk_drag_context_drop_performed_cb), info);
- g_signal_connect (context, "dnd-finished",
- G_CALLBACK (gtk_drag_context_dnd_finished_cb), info);
- g_signal_connect (context, "cancel",
- G_CALLBACK (gtk_drag_context_cancel_cb), info);
+ g_signal_connect (drag, "drop-performed",
+ G_CALLBACK (gtk_drag_drop_performed_cb), info);
+ g_signal_connect (drag, "dnd-finished",
+ G_CALLBACK (gtk_drag_dnd_finished_cb), info);
+ g_signal_connect (drag, "cancel",
+ G_CALLBACK (gtk_drag_cancel_cb), info);
- return info->context;
+ return info->drag;
}
/**
@@ -979,7 +979,7 @@ gtk_drag_begin_internal (GtkWidget *widget,
*
* Returns: (transfer none): the context for this drag
*/
-GdkDragContext *
+GdkDrag *
gtk_drag_begin_with_coordinates (GtkWidget *widget,
GdkDevice *device,
GdkContentFormats *targets,
@@ -1016,7 +1016,7 @@ icon_widget_destroyed (GtkWidget *widget,
}
static void
-gtk_drag_set_icon_widget_internal (GdkDragContext *context,
+gtk_drag_set_icon_widget_internal (GdkDrag *drag,
GtkWidget *widget,
gint hot_x,
gint hot_y,
@@ -1026,7 +1026,7 @@ gtk_drag_set_icon_widget_internal (GdkDragContext *context,
g_return_if_fail (!GTK_IS_WINDOW (widget));
- info = gtk_drag_get_source_info (context, FALSE);
+ info = gtk_drag_get_source_info (drag, FALSE);
if (info == NULL)
{
if (destroy_on_release)
@@ -1047,13 +1047,13 @@ gtk_drag_set_icon_widget_internal (GdkDragContext *context,
g_signal_connect (widget, "destroy", G_CALLBACK (icon_widget_destroyed), info);
- gdk_drag_context_set_hotspot (context, hot_x, hot_y);
+ gdk_drag_set_hotspot (drag, hot_x, hot_y);
if (!info->icon_window)
{
GdkDisplay *display;
- display = gdk_drag_context_get_display (context);
+ display = gdk_drag_get_display (drag);
info->icon_window = gtk_window_new (GTK_WINDOW_POPUP);
gtk_window_set_type_hint (GTK_WINDOW (info->icon_window), GDK_SURFACE_TYPE_HINT_DND);
@@ -1062,7 +1062,7 @@ gtk_drag_set_icon_widget_internal (GdkDragContext *context,
gtk_style_context_remove_class (gtk_widget_get_style_context (info->icon_window), "background");
gtk_window_set_hardcoded_surface (GTK_WINDOW (info->icon_window),
- gdk_drag_context_get_drag_surface (context));
+ gdk_drag_get_drag_surface (drag));
gtk_widget_show (info->icon_window);
}
@@ -1073,8 +1073,7 @@ gtk_drag_set_icon_widget_internal (GdkDragContext *context,
/**
* gtk_drag_set_icon_widget:
- * @context: the context for a drag. (This must be called
- with a context for the source side of a drag)
+ * @drag: the context for a drag
* @widget: a widget to use as an icon
* @hot_x: the X offset within @widget of the hotspot
* @hot_y: the Y offset within @widget of the hotspot
@@ -1085,19 +1084,19 @@ gtk_drag_set_icon_widget_internal (GdkDragContext *context,
* signal and destroy it yourself.
*/
void
-gtk_drag_set_icon_widget (GdkDragContext *context,
+gtk_drag_set_icon_widget (GdkDrag *drag,
GtkWidget *widget,
gint hot_x,
gint hot_y)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
g_return_if_fail (GTK_IS_WIDGET (widget));
- gtk_drag_set_icon_widget_internal (context, widget, hot_x, hot_y, FALSE);
+ gtk_drag_set_icon_widget_internal (drag, widget, hot_x, hot_y, FALSE);
}
static void
-set_icon_helper (GdkDragContext *context,
+set_icon_helper (GdkDrag *drag,
GtkImageDefinition *def,
gint hot_x,
gint hot_y)
@@ -1107,25 +1106,24 @@ set_icon_helper (GdkDragContext *context,
widget = gtk_image_new ();
gtk_style_context_add_class (gtk_widget_get_style_context (widget), "drag-icon");
gtk_image_set_from_definition (GTK_IMAGE (widget), def);
- gtk_drag_set_icon_widget_internal (context, widget, hot_x, hot_y, TRUE);
+ gtk_drag_set_icon_widget_internal (drag, widget, hot_x, hot_y, TRUE);
}
void
-gtk_drag_set_icon_definition (GdkDragContext *context,
+gtk_drag_set_icon_definition (GdkDrag *drag,
GtkImageDefinition *def,
gint hot_x,
gint hot_y)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
g_return_if_fail (def != NULL);
- set_icon_helper (context, def, hot_x, hot_y);
+ set_icon_helper (drag, def, hot_x, hot_y);
}
/**
* gtk_drag_set_icon_paintable:
- * @context: the context for a drag (This must be called
- * with a context for the source side of a drag)
+ * @drag: the context for a drag
* @paintable: the #GdkPaintable to use as icon
* @hot_x: the X offset of the hotspot within the icon
* @hot_y: the Y offset of the hotspot within the icon
@@ -1139,26 +1137,25 @@ gtk_drag_set_icon_definition (GdkDragContext *context,
* mouse cursor.
*/
void
-gtk_drag_set_icon_paintable (GdkDragContext *context,
+gtk_drag_set_icon_paintable (GdkDrag *drag,
GdkPaintable *paintable,
int hot_x,
int hot_y)
{
GtkWidget *widget;
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
g_return_if_fail (GDK_IS_PAINTABLE (paintable));
widget = gtk_picture_new_for_paintable (paintable);
gtk_picture_set_can_shrink (GTK_PICTURE (widget), FALSE);
- gtk_drag_set_icon_widget_internal (context, widget, hot_x, hot_y, TRUE);
+ gtk_drag_set_icon_widget_internal (drag, widget, hot_x, hot_y, TRUE);
}
/**
* gtk_drag_set_icon_name:
- * @context: the context for a drag (This must be called
- * with a context for the source side of a drag)
+ * @drag: the context for a drag
* @icon_name: name of icon to use
* @hot_x: the X offset of the hotspot within the icon
* @hot_y: the Y offset of the hotspot within the icon
@@ -1170,26 +1167,25 @@ gtk_drag_set_icon_paintable (GdkDragContext *context,
* @hot_x and @hot_y have to be used with care.
*/
void
-gtk_drag_set_icon_name (GdkDragContext *context,
+gtk_drag_set_icon_name (GdkDrag *drag,
const gchar *icon_name,
gint hot_x,
gint hot_y)
{
GtkImageDefinition *def;
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
g_return_if_fail (icon_name != NULL && icon_name[0] != '\0');
def = gtk_image_definition_new_icon_name (icon_name);
- set_icon_helper (context, def, hot_x, hot_y);
+ set_icon_helper (drag, def, hot_x, hot_y);
gtk_image_definition_unref (def);
}
/**
* gtk_drag_set_icon_gicon:
- * @context: the context for a drag (This must be called
- * with a context for the source side of a drag)
+ * @drag: the context for a drag
* @icon: a #GIcon
* @hot_x: the X offset of the hotspot within the icon
* @hot_y: the Y offset of the hotspot within the icon
@@ -1199,36 +1195,35 @@ gtk_drag_set_icon_name (GdkDragContext *context,
* for more details about using icons in drag and drop.
*/
void
-gtk_drag_set_icon_gicon (GdkDragContext *context,
+gtk_drag_set_icon_gicon (GdkDrag *drag,
GIcon *icon,
gint hot_x,
gint hot_y)
{
GtkImageDefinition *def;
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
g_return_if_fail (icon != NULL);
def = gtk_image_definition_new_gicon (icon);
- set_icon_helper (context, def, hot_x, hot_y);
+ set_icon_helper (drag, def, hot_x, hot_y);
gtk_image_definition_unref (def);
}
/**
* gtk_drag_set_icon_default:
- * @context: the context for a drag (This must be called
- * with a context for the source side of a drag)
+ * @drag: the context for a drag
*
* Sets the icon for a particular drag to the default
* icon.
*/
void
-gtk_drag_set_icon_default (GdkDragContext *context)
+gtk_drag_set_icon_default (GdkDrag *drag)
{
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
- gtk_drag_set_icon_name (context, "text-x-generic", -2, -2);
+ gtk_drag_set_icon_name (drag, "text-x-generic", -2, -2);
}
/* Clean up from the drag, and display snapback, if necessary. */
@@ -1242,9 +1237,9 @@ gtk_drag_drop_finished (GtkDragSourceInfo *info,
if (!success)
g_signal_emit_by_name (info->widget, "drag-failed",
- info->context, result, &success);
+ info->drag, result, &success);
- gdk_drag_drop_done (info->context, success);
+ gdk_drag_drop_done (info->drag, success);
gtk_drag_source_info_destroy (info);
}
@@ -1296,17 +1291,11 @@ gtk_drag_source_info_free (GtkDragSourceInfo *info)
static void
gtk_drag_source_info_destroy (GtkDragSourceInfo *info)
{
- g_signal_handlers_disconnect_by_func (info->context,
- gtk_drag_context_drop_performed_cb,
- info);
- g_signal_handlers_disconnect_by_func (info->context,
- gtk_drag_context_dnd_finished_cb,
- info);
- g_signal_handlers_disconnect_by_func (info->context,
- gtk_drag_context_cancel_cb,
- info);
-
- g_signal_emit_by_name (info->widget, "drag-end", info->context);
+ g_signal_handlers_disconnect_by_func (info->drag, gtk_drag_drop_performed_cb, info);
+ g_signal_handlers_disconnect_by_func (info->drag, gtk_drag_dnd_finished_cb, info);
+ g_signal_handlers_disconnect_by_func (info->drag, gtk_drag_cancel_cb, info);
+
+ g_signal_emit_by_name (info->widget, "drag-end", info->drag);
g_object_set_data (G_OBJECT (info->widget), I_("gtk-info"), NULL);
@@ -1318,10 +1307,10 @@ gtk_drag_source_info_destroy (GtkDragSourceInfo *info)
g_source_remove (info->drop_timeout);
/* keep the icon_window alive until the (possible) drag cancel animation is done */
- g_object_set_data_full (G_OBJECT (info->context), "former-gtk-source-info", info, (GDestroyNotify)gtk_drag_source_info_free);
+ g_object_set_data_full (G_OBJECT (info->drag), "former-gtk-source-info", info, (GDestroyNotify)gtk_drag_source_info_free);
- gtk_drag_clear_source_info (info->context);
- g_object_unref (info->context);
+ gtk_drag_clear_source_info (info->drag);
+ g_object_unref (info->drag);
}
/* Called on cancellation of a drag, either by the user
@@ -1335,16 +1324,16 @@ gtk_drag_cancel_internal (GtkDragSourceInfo *info,
}
static void
-gtk_drag_context_drop_performed_cb (GdkDragContext *context,
- GtkDragSourceInfo *info)
+gtk_drag_drop_performed_cb (GdkDrag *drag,
+ GtkDragSourceInfo *info)
{
gtk_drag_drop (info);
}
static void
-gtk_drag_context_cancel_cb (GdkDragContext *context,
- GdkDragCancelReason reason,
- GtkDragSourceInfo *info)
+gtk_drag_cancel_cb (GdkDrag *drag,
+ GdkDragCancelReason reason,
+ GtkDragSourceInfo *info)
{
GtkDragResult result;
@@ -1365,14 +1354,14 @@ gtk_drag_context_cancel_cb (GdkDragContext *context,
}
static void
-gtk_drag_context_dnd_finished_cb (GdkDragContext *context,
- GtkDragSourceInfo *info)
+gtk_drag_dnd_finished_cb (GdkDrag *drag,
+ GtkDragSourceInfo *info)
{
- if (gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE)
+ if (gdk_drag_get_selected_action (drag) == GDK_ACTION_MOVE)
{
g_signal_emit_by_name (info->widget,
"drag-data-delete",
- context);
+ drag);
}
gtk_drag_source_info_destroy (info);
@@ -1422,7 +1411,7 @@ gtk_drag_check_threshold (GtkWidget *widget,
/**
* gtk_drag_cancel:
- * @context: a #GdkDragContext, as e.g. returned by gtk_drag_begin_with_coordinates()
+ * @drag: a drag context, as e.g. returned by gtk_drag_begin_with_coordinates()
*
* Cancels an ongoing drag operation on the source side.
*
@@ -1438,13 +1427,13 @@ gtk_drag_check_threshold (GtkWidget *widget,
* #GtkWidget::drag-failed is set to @GTK_DRAG_RESULT_ERROR.
*/
void
-gtk_drag_cancel (GdkDragContext *context)
+gtk_drag_cancel (GdkDrag *drag)
{
GtkDragSourceInfo *info;
- g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
+ g_return_if_fail (GDK_IS_DRAG (drag));
- info = gtk_drag_get_source_info (context, FALSE);
+ info = gtk_drag_get_source_info (drag, FALSE);
if (info != NULL)
gtk_drag_cancel_internal (info, GTK_DRAG_RESULT_ERROR);
}
diff --git a/gtk/gtkdnd.h b/gtk/gtkdnd.h
index 2626ce02fb..2db8978c24 100644
--- a/gtk/gtkdnd.h
+++ b/gtk/gtkdnd.h
@@ -45,7 +45,7 @@ void gtk_drag_get_data (GtkWidget *widget,
GdkAtom target);
GDK_AVAILABLE_IN_ALL
-GtkWidget *gtk_drag_get_source_widget (GdkDragContext *context);
+GtkWidget *gtk_drag_get_source_widget (GdkDrag *drag);
GDK_AVAILABLE_IN_ALL
void gtk_drag_highlight (GtkWidget *widget);
@@ -55,39 +55,39 @@ void gtk_drag_unhighlight (GtkWidget *widget);
/* Source side */
GDK_AVAILABLE_IN_ALL
-GdkDragContext *gtk_drag_begin_with_coordinates (GtkWidget *widget,
- GdkDevice *device,
- GdkContentFormats *targets,
- GdkDragAction actions,
- gint x,
- gint y);
+GdkDrag *gtk_drag_begin_with_coordinates (GtkWidget *widget,
+ GdkDevice *device,
+ GdkContentFormats *targets,
+ GdkDragAction actions,
+ gint x,
+ gint y);
GDK_AVAILABLE_IN_ALL
-void gtk_drag_cancel (GdkDragContext *context);
+void gtk_drag_cancel (GdkDrag *drag);
GDK_AVAILABLE_IN_ALL
-void gtk_drag_set_icon_widget (GdkDragContext *context,
+void gtk_drag_set_icon_widget (GdkDrag *drag,
GtkWidget *widget,
gint hot_x,
gint hot_y);
GDK_AVAILABLE_IN_ALL
-void gtk_drag_set_icon_paintable (GdkDragContext *context,
+void gtk_drag_set_icon_paintable (GdkDrag *drag,
GdkPaintable *paintable,
int hot_x,
int hot_y);
GDK_AVAILABLE_IN_ALL
-void gtk_drag_set_icon_name (GdkDragContext *context,
+void gtk_drag_set_icon_name (GdkDrag *drag,
const gchar *icon_name,
gint hot_x,
gint hot_y);
GDK_AVAILABLE_IN_ALL
-void gtk_drag_set_icon_gicon (GdkDragContext *context,
+void gtk_drag_set_icon_gicon (GdkDrag *drag,
GIcon *icon,
gint hot_x,
gint hot_y);
GDK_AVAILABLE_IN_ALL
-void gtk_drag_set_icon_default (GdkDragContext *context);
+void gtk_drag_set_icon_default (GdkDrag *drag);
GDK_AVAILABLE_IN_ALL
gboolean gtk_drag_check_threshold (GtkWidget *widget,
diff --git a/gtk/gtkdndprivate.h b/gtk/gtkdndprivate.h
index 854316ce5d..45448a17e2 100644
--- a/gtk/gtkdndprivate.h
+++ b/gtk/gtkdndprivate.h
@@ -40,14 +40,14 @@ struct _GtkDragDestSite
G_BEGIN_DECLS
-GdkDragContext * gtk_drag_begin_internal (GtkWidget *widget,
+GdkDrag * gtk_drag_begin_internal (GtkWidget *widget,
GdkDevice *device,
GtkImageDefinition *icon,
GdkContentFormats *target_list,
GdkDragAction actions,
int x,
int y);
-void gtk_drag_set_icon_definition (GdkDragContext *context,
+void gtk_drag_set_icon_definition (GdkDrag *drag,
GtkImageDefinition *def,
gint hot_x,
gint hot_y);
diff --git a/gtk/gtkdragdest.c b/gtk/gtkdragdest.c
index d1dccd2100..ce6040ad2b 100644
--- a/gtk/gtkdragdest.c
+++ b/gtk/gtkdragdest.c
@@ -125,7 +125,7 @@ gtk_drag_dest_set_internal (GtkWidget *widget,
* |[<!-- language="C" -->
* static void
* drag_motion (GtkWidget *widget,
- * GdkDragContext *context,
+ * GdkDrag *drag,
* gint x,
* gint y,
* guint time)
diff --git a/gtk/gtkemojicompletion.c b/gtk/gtkemojicompletion.c
index 62e2b5774f..e7583126d9 100644
--- a/gtk/gtkemojicompletion.c
+++ b/gtk/gtkemojicompletion.c
@@ -300,20 +300,15 @@ move_active_variation (GtkEmojiCompletion *completion,
}
static gboolean
-entry_key_press (GtkEntry *entry,
- GdkEvent *event,
- GtkEmojiCompletion *completion)
+entry_key_press (GtkEventControllerKey *key,
+ guint keyval,
+ guint keycode,
+ GdkModifierType modifiers,
+ GtkEmojiCompletion *completion)
{
- guint keyval;
-
- if (gdk_event_get_event_type (event) != GDK_KEY_PRESS)
- return FALSE;
-
if (!gtk_widget_get_visible (GTK_WIDGET (completion)))
return FALSE;
- gdk_event_get_keyval ((GdkEvent*)event, &keyval);
-
if (keyval == GDK_KEY_Escape)
{
gtk_popover_popdown (GTK_POPOVER (completion));
@@ -386,21 +381,28 @@ static void
connect_signals (GtkEmojiCompletion *completion,
GtkEntry *entry)
{
- completion->entry = entry;
+ GtkEventController *key_controller;
+
+ completion->entry = g_object_ref (entry);
+ key_controller = gtk_entry_get_key_controller (entry);
completion->changed_id = g_signal_connect (entry, "changed", G_CALLBACK (entry_changed), completion);
- g_signal_connect (entry, "event", G_CALLBACK (entry_key_press), completion);
+ g_signal_connect (key_controller, "key-pressed", G_CALLBACK (entry_key_press), completion);
g_signal_connect (entry, "notify::has-focus", G_CALLBACK (entry_focus_out), completion);
}
static void
disconnect_signals (GtkEmojiCompletion *completion)
{
+ GtkEventController *key_controller;
+
+ key_controller = gtk_entry_get_key_controller (completion->entry);
+
g_signal_handlers_disconnect_by_func (completion->entry, entry_changed, completion);
- g_signal_handlers_disconnect_by_func (completion->entry, entry_key_press, completion);
+ g_signal_handlers_disconnect_by_func (key_controller, entry_key_press, completion);
g_signal_handlers_disconnect_by_func (completion->entry, entry_focus_out, completion);
- completion->entry = NULL;
+ g_clear_object (&completion->entry);
}
static gboolean
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 75de722cbb..8ad735129e 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -99,12 +99,12 @@
* In this mode, entered text is displayed using a “invisible” character.
* By default, GTK+ picks the best invisible character that is available
* in the current font, but it can be changed with
- * gtk_entry_set_invisible_char(). Since 2.16, GTK+ displays a warning
+ * gtk_entry_set_invisible_char(). GTK+ displays a warning
* when Caps Lock or input methods might interfere with entering text in
* a password entry. The warning can be turned off with the
* #GtkEntry:caps-lock-warning property.
*
- * Since 2.16, GtkEntry has the ability to display progress or activity
+ * GtkEntry has the ability to display progress or activity
* information behind the text. To make an entry display such information,
* use gtk_entry_set_progress_fraction() or gtk_entry_set_progress_pulse_step().
*
@@ -284,12 +284,9 @@ struct _EntryIconInfo
gchar *tooltip;
guint nonactivatable : 1;
guint in_drag : 1;
- guint pressed : 1;
GdkDragAction actions;
GdkContentFormats *target_list;
- GdkEventSequence *current_sequence;
- GdkDevice *device;
};
struct _GtkEntryPasswordHint
@@ -418,8 +415,6 @@ static void gtk_entry_size_allocate (GtkWidget *widget,
int baseline);
static void gtk_entry_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot);
-static gboolean gtk_entry_event (GtkWidget *widget,
- GdkEvent *event);
static void gtk_entry_focus_in (GtkWidget *widget);
static void gtk_entry_focus_out (GtkWidget *widget);
static void gtk_entry_grab_focus (GtkWidget *widget);
@@ -450,14 +445,14 @@ static void gtk_entry_drag_data_received (GtkWidget *widget,
GdkDrop *drop,
GtkSelectionData *selection_data);
static void gtk_entry_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data);
static void gtk_entry_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_entry_drag_begin (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_entry_drag_end (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
/* GtkEditable method implementations
@@ -594,8 +589,6 @@ static void gtk_entry_do_popup (GtkEntry *entry,
const GdkEvent *event);
static gboolean gtk_entry_mnemonic_activate (GtkWidget *widget,
gboolean group_cycling);
-static void gtk_entry_grab_notify (GtkWidget *widget,
- gboolean was_grabbed);
static void gtk_entry_check_cursor_blink (GtkEntry *entry);
static void gtk_entry_pend_cursor_blink (GtkEntry *entry);
static void gtk_entry_reset_blink_time (GtkEntry *entry);
@@ -790,7 +783,6 @@ gtk_entry_class_init (GtkEntryClass *class)
widget_class->measure = gtk_entry_measure;
widget_class->size_allocate = gtk_entry_size_allocate;
widget_class->snapshot = gtk_entry_snapshot;
- widget_class->event = gtk_entry_event;
widget_class->grab_focus = gtk_entry_grab_focus;
widget_class->style_updated = gtk_entry_style_updated;
widget_class->query_tooltip = gtk_entry_query_tooltip;
@@ -800,7 +792,6 @@ gtk_entry_class_init (GtkEntryClass *class)
widget_class->state_flags_changed = gtk_entry_state_flags_changed;
widget_class->display_changed = gtk_entry_display_changed;
widget_class->mnemonic_activate = gtk_entry_mnemonic_activate;
- widget_class->grab_notify = gtk_entry_grab_notify;
widget_class->drag_drop = gtk_entry_drag_drop;
widget_class->drag_motion = gtk_entry_drag_motion;
@@ -1651,7 +1642,6 @@ gtk_entry_class_init (GtkEntryClass *class)
* GtkEntry::icon-press:
* @entry: The entry on which the signal is emitted
* @icon_pos: The position of the clicked icon
- * @event: (type Gdk.EventButton): the button press event
*
* The ::icon-press signal is emitted when an activatable icon
* is clicked.
@@ -1662,16 +1652,14 @@ gtk_entry_class_init (GtkEntryClass *class)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
- _gtk_marshal_VOID__ENUM_OBJECT,
- G_TYPE_NONE, 2,
- GTK_TYPE_ENTRY_ICON_POSITION,
- GDK_TYPE_EVENT);
-
+ g_cclosure_marshal_VOID__ENUM,
+ G_TYPE_NONE, 1,
+ GTK_TYPE_ENTRY_ICON_POSITION);
+
/**
* GtkEntry::icon-release:
* @entry: The entry on which the signal is emitted
* @icon_pos: The position of the clicked icon
- * @event: (type Gdk.EventButton): the button release event
*
* The ::icon-release signal is emitted on the button release from a
* mouse click over an activatable icon.
@@ -1682,10 +1670,9 @@ gtk_entry_class_init (GtkEntryClass *class)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
- _gtk_marshal_VOID__ENUM_OBJECT,
- G_TYPE_NONE, 2,
- GTK_TYPE_ENTRY_ICON_POSITION,
- GDK_TYPE_EVENT);
+ g_cclosure_marshal_VOID__ENUM,
+ G_TYPE_NONE, 1,
+ GTK_TYPE_ENTRY_ICON_POSITION);
/**
* GtkEntry::preedit-changed:
@@ -2965,6 +2952,91 @@ update_node_ordering (GtkEntry *entry)
gtk_css_node_insert_before (parent, gtk_widget_get_css_node (icon_info->widget), NULL);
}
+static GtkEntryIconPosition
+get_icon_position_from_controller (GtkEntry *entry,
+ GtkEventController *controller)
+{
+ GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
+ GtkWidget *widget = gtk_event_controller_get_widget (controller);
+
+ if (priv->icons[GTK_ENTRY_ICON_PRIMARY] &&
+ priv->icons[GTK_ENTRY_ICON_PRIMARY]->widget == widget)
+ return GTK_ENTRY_ICON_PRIMARY;
+ else if (priv->icons[GTK_ENTRY_ICON_SECONDARY] &&
+ priv->icons[GTK_ENTRY_ICON_SECONDARY]->widget == widget)
+ return GTK_ENTRY_ICON_SECONDARY;
+
+ g_assert_not_reached ();
+ return -1;
+}
+
+static void
+icon_pressed_cb (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkEntry *entry)
+{
+ GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
+ GtkEntryIconPosition pos;
+ EntryIconInfo *icon_info;
+
+ pos = get_icon_position_from_controller (entry, GTK_EVENT_CONTROLLER (gesture));
+ icon_info = priv->icons[pos];
+
+ if (!icon_info->nonactivatable)
+ g_signal_emit (entry, signals[ICON_PRESS], 0, pos);
+
+ gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
+}
+
+static void
+icon_released_cb (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkEntry *entry)
+{
+ GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
+ GtkEntryIconPosition pos;
+ EntryIconInfo *icon_info;
+
+ pos = get_icon_position_from_controller (entry, GTK_EVENT_CONTROLLER (gesture));
+ icon_info = priv->icons[pos];
+
+ if (!icon_info->nonactivatable)
+ g_signal_emit (entry, signals[ICON_RELEASE], 0, pos);
+}
+
+static void
+icon_drag_update_cb (GtkGestureDrag *gesture,
+ gdouble x,
+ gdouble y,
+ GtkEntry *entry)
+{
+ GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
+ gdouble start_x, start_y;
+ GtkEntryIconPosition pos;
+ EntryIconInfo *icon_info;
+
+ gtk_gesture_drag_get_start_point (gesture, &start_x, &start_y);
+ pos = get_icon_position_from_controller (entry, GTK_EVENT_CONTROLLER (gesture));
+ icon_info = priv->icons[pos];
+
+ if (icon_info->target_list != NULL &&
+ gtk_drag_check_threshold (icon_info->widget,
+ start_x, start_y,
+ x, y))
+ {
+ icon_info->in_drag = TRUE;
+ gtk_drag_begin_with_coordinates (GTK_WIDGET (entry),
+ gtk_gesture_get_device (GTK_GESTURE (gesture)),
+ icon_info->target_list,
+ icon_info->actions,
+ start_x, start_y);
+ }
+}
+
static EntryIconInfo*
construct_icon_info (GtkWidget *widget,
GtkEntryIconPosition icon_pos)
@@ -2972,6 +3044,7 @@ construct_icon_info (GtkWidget *widget,
GtkEntry *entry = GTK_ENTRY (widget);
GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
EntryIconInfo *icon_info;
+ GtkGesture *drag, *press;
g_return_val_if_fail (priv->icons[icon_pos] == NULL, NULL);
@@ -2985,6 +3058,20 @@ construct_icon_info (GtkWidget *widget,
update_icon_style (widget, icon_pos);
update_node_ordering (entry);
+ press = gtk_gesture_multi_press_new ();
+ g_signal_connect (press, "pressed",
+ G_CALLBACK (icon_pressed_cb), entry);
+ g_signal_connect (press, "released",
+ G_CALLBACK (icon_released_cb), entry);
+ gtk_widget_add_controller (icon_info->widget, GTK_EVENT_CONTROLLER (press));
+
+ drag = gtk_gesture_drag_new ();
+ g_signal_connect (drag, "drag-update",
+ G_CALLBACK (icon_drag_update_cb), entry);
+ gtk_widget_add_controller (icon_info->widget, GTK_EVENT_CONTROLLER (drag));
+
+ gtk_gesture_group (press, drag);
+
return icon_info;
}
@@ -3511,108 +3598,6 @@ gtk_entry_update_handles (GtkEntry *entry,
cursor, 0, text_allocation.height);
}
-static gboolean
-gtk_entry_event (GtkWidget *widget,
- GdkEvent *event)
-{
- GtkEntryPrivate *priv = gtk_entry_get_instance_private (GTK_ENTRY (widget));
- EntryIconInfo *icon_info = NULL;
- GdkEventSequence *sequence;
- GdkDevice *device;
- gdouble x, y;
- gint i = 0;
-
- if (!gdk_event_get_coords (event, &x, &y))
- return GDK_EVENT_PROPAGATE;
-
- for (i = 0; i < MAX_ICONS; i++)
- {
- if (priv->icons[i])
- {
- int icon_x, icon_y;
- gtk_widget_translate_coordinates (widget, priv->icons[i]->widget,
- x, y, &icon_x, &icon_y);
- if (gtk_widget_contains (priv->icons[i]->widget, icon_x, icon_y))
- {
- icon_info = priv->icons[i];
- break;
- }
- }
- }
-
- if (!icon_info)
- return GDK_EVENT_PROPAGATE;
-
- if (!gtk_widget_get_sensitive (icon_info->widget))
- return GDK_EVENT_STOP;
-
- sequence = gdk_event_get_event_sequence (event);
- device = gdk_event_get_device (event);
-
- switch ((guint) gdk_event_get_event_type (event))
- {
- case GDK_TOUCH_BEGIN:
- if (icon_info->current_sequence)
- break;
-
- icon_info->current_sequence = sequence;
- /* Fall through */
- case GDK_BUTTON_PRESS:
- priv->start_x = x;
- priv->start_y = y;
- icon_info->pressed = TRUE;
- icon_info->device = device;
-
- if (!icon_info->nonactivatable) {
- g_signal_emit (widget, signals[ICON_PRESS], 0, i, event);
- }
-
- break;
- case GDK_TOUCH_UPDATE:
- if (icon_info->device != device ||
- icon_info->current_sequence != sequence)
- break;
- /* Fall through */
- case GDK_MOTION_NOTIFY:
- if (icon_info->pressed &&
- icon_info->target_list != NULL &&
- gtk_drag_check_threshold (widget,
- priv->start_x,
- priv->start_y,
- x, y))
- {
- icon_info->in_drag = TRUE;
- gtk_drag_begin_with_coordinates (widget,
- device,
- icon_info->target_list,
- icon_info->actions,
- priv->start_x,
- priv->start_y);
- }
-
- break;
- case GDK_TOUCH_END:
- if (icon_info->device != device ||
- icon_info->current_sequence != sequence)
- break;
-
- icon_info->current_sequence = NULL;
- /* Fall through */
- case GDK_BUTTON_RELEASE:
- icon_info->pressed = FALSE;
- icon_info->device = NULL;
-
- if (!icon_info->nonactivatable)
- g_signal_emit (widget, signals[ICON_RELEASE], 0, i, event);
-
- break;
- default:
- return GDK_EVENT_PROPAGATE;
- }
-
- return GDK_EVENT_STOP;
-}
-
static void
gesture_get_current_point_in_layout (GtkGestureSingle *gesture,
GtkEntry *entry,
@@ -7683,8 +7668,6 @@ gtk_entry_set_icon_sensitive (GtkEntry *entry,
{
gtk_widget_set_sensitive (icon_info->widget, sensitive);
- icon_info->pressed = FALSE;
-
g_object_notify_by_pspec (G_OBJECT (entry),
entry_props[icon_pos == GTK_ENTRY_ICON_PRIMARY
? PROP_SENSITIVE_PRIMARY
@@ -8169,35 +8152,6 @@ gtk_entry_mnemonic_activate (GtkWidget *widget,
}
static void
-check_undo_icon_grab (GtkEntry *entry,
- EntryIconInfo *info)
-{
- if (!info->device ||
- !gtk_widget_device_is_shadowed (GTK_WIDGET (entry), info->device))
- return;
-
- info->pressed = FALSE;
- info->current_sequence = NULL;
- info->device = NULL;
-}
-
-static void
-gtk_entry_grab_notify (GtkWidget *widget,
- gboolean was_grabbed)
-{
- GtkEntryPrivate *priv = gtk_entry_get_instance_private (GTK_ENTRY (widget));
- gint i;
-
- GTK_WIDGET_CLASS (gtk_entry_parent_class)->grab_notify (widget, was_grabbed);
-
- for (i = 0; i < MAX_ICONS; i++)
- {
- if (priv->icons[i])
- check_undo_icon_grab (GTK_ENTRY (widget), priv->icons[i]);
- }
-}
-
-static void
append_action_signal (GtkEntry *entry,
GtkWidget *menu,
const gchar *label,
@@ -8524,7 +8478,7 @@ gtk_entry_selection_bubble_popup_set (GtkEntry *entry)
static void
gtk_entry_drag_begin (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkEntry *entry = GTK_ENTRY (widget);
GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
@@ -8539,7 +8493,7 @@ gtk_entry_drag_begin (GtkWidget *widget,
{
if (icon_info->in_drag)
{
- gtk_drag_set_icon_definition (context,
+ gtk_drag_set_icon_definition (drag,
gtk_image_get_definition (GTK_IMAGE (icon_info->widget)),
-2, -2);
return;
@@ -8557,7 +8511,7 @@ gtk_entry_drag_begin (GtkWidget *widget,
paintable = gtk_text_util_create_drag_icon (widget, text, -1);
gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges);
- gtk_drag_set_icon_paintable (context,
+ gtk_drag_set_icon_paintable (drag,
paintable,
priv->drag_start_x - ranges[0],
priv->drag_start_y);
@@ -8570,7 +8524,7 @@ gtk_entry_drag_begin (GtkWidget *widget,
static void
gtk_entry_drag_end (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkEntry *entry = GTK_ENTRY (widget);
GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
@@ -8678,7 +8632,7 @@ gtk_entry_get_action (GtkEntry *entry,
GdkDrop *drop)
{
GtkWidget *widget = GTK_WIDGET (entry);
- GdkDragContext *drag = gdk_drop_get_drag (drop);
+ GdkDrag *drag = gdk_drop_get_drag (drop);
GtkWidget *source_widget = gtk_drag_get_source_widget (drag);
GdkDragAction actions;
@@ -8746,7 +8700,7 @@ gtk_entry_drag_data_received (GtkWidget *widget,
static void
gtk_entry_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data)
{
GtkEntry *entry = GTK_ENTRY (widget);
@@ -8780,7 +8734,7 @@ gtk_entry_drag_data_get (GtkWidget *widget,
static void
gtk_entry_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkEntry *entry = GTK_ENTRY (widget);
GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
@@ -9626,3 +9580,11 @@ set_enable_emoji_completion (GtkEntry *entry,
g_object_notify_by_pspec (G_OBJECT (entry), entry_props[PROP_ENABLE_EMOJI_COMPLETION]);
}
+
+GtkEventController *
+gtk_entry_get_key_controller (GtkEntry *entry)
+{
+ GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
+
+ return priv->key_controller;
+}
diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c
index a47d3cdaa6..af90772162 100644
--- a/gtk/gtkentrycompletion.c
+++ b/gtk/gtkentrycompletion.c
@@ -83,6 +83,8 @@
#include "gtkentry.h"
#include "gtkmain.h"
#include "gtkmarshalers.h"
+#include "gtkgesturemultipress.h"
+#include "gtkeventcontrollerkey.h"
#include "gtkprivate.h"
#include "gtkwindowprivate.h"
@@ -139,9 +141,6 @@ static void gtk_entry_completion_dispose (GObject *object);
static gboolean gtk_entry_completion_visible_func (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data);
-static gboolean gtk_entry_completion_popup_event (GtkWidget *widget,
- GdkEvent *event,
- gpointer user_data);
static void gtk_entry_completion_list_activated (GtkTreeView *treeview,
GtkTreePath *path,
GtkTreeViewColumn *column,
@@ -489,6 +488,18 @@ gtk_entry_completion_init (GtkEntryCompletion *completion)
priv->filter_model = NULL;
}
+static gboolean
+propagate_to_entry (GtkEventControllerKey *key,
+ guint keyval,
+ guint keycode,
+ GdkModifierType modifiers,
+ GtkEntryCompletion *completion)
+{
+ GtkEntryCompletionPrivate *priv = completion->priv;
+
+ return gtk_event_controller_key_forward (key, priv->entry);
+}
+
static void
gtk_entry_completion_constructed (GObject *object)
{
@@ -497,6 +508,7 @@ gtk_entry_completion_constructed (GObject *object)
GtkCellRenderer *cell;
GtkTreeSelection *sel;
GtkWidget *popup_frame;
+ GtkEventController *controller;
G_OBJECT_CLASS (gtk_entry_completion_parent_class)->constructed (object);
@@ -570,9 +582,18 @@ gtk_entry_completion_constructed (GObject *object)
gtk_window_set_type_hint (GTK_WINDOW(priv->popup_window),
GDK_SURFACE_TYPE_HINT_COMBO);
- g_signal_connect (priv->popup_window, "event",
- G_CALLBACK (gtk_entry_completion_popup_event),
- completion);
+ controller = gtk_event_controller_key_new ();
+ g_signal_connect (controller, "key-pressed",
+ G_CALLBACK (propagate_to_entry), completion);
+ g_signal_connect (controller, "key-released",
+ G_CALLBACK (propagate_to_entry), completion);
+ gtk_widget_add_controller (priv->popup_window, controller);
+
+ controller = GTK_EVENT_CONTROLLER (gtk_gesture_multi_press_new ());
+ g_signal_connect_swapped (controller, "released",
+ G_CALLBACK (_gtk_entry_completion_popdown),
+ completion);
+ gtk_widget_add_controller (priv->popup_window, controller);
popup_frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (popup_frame),
@@ -864,37 +885,6 @@ gtk_entry_completion_visible_func (GtkTreeModel *model,
return ret;
}
-static gboolean
-gtk_entry_completion_popup_event (GtkWidget *widget,
- GdkEvent *event,
- gpointer user_data)
-{
- GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (user_data);
-
- if (gdk_event_get_event_type (event) == GDK_KEY_PRESS ||
- gdk_event_get_event_type (event) == GDK_KEY_RELEASE)
- {
- if (!gtk_widget_get_mapped (completion->priv->popup_window))
- return GDK_EVENT_PROPAGATE;
-
- /* propagate event to the entry */
- gtk_widget_event (completion->priv->entry, (GdkEvent *)event);
-
- return GDK_EVENT_STOP;
- }
-
- if (gdk_event_get_event_type (event) != GDK_BUTTON_PRESS)
- return GDK_EVENT_PROPAGATE;
-
- if (!gtk_widget_get_mapped (completion->priv->popup_window))
- return GDK_EVENT_PROPAGATE;
-
- /* if we come here, it's usually time to popdown */
- _gtk_entry_completion_popdown (completion);
-
- return GDK_EVENT_STOP;
-}
-
static void
gtk_entry_completion_list_activated (GtkTreeView *treeview,
GtkTreePath *path,
@@ -2455,27 +2445,18 @@ completion_insert_text_callback (GtkEntry *entry,
}
}
-static gboolean
-maybe_accept_completion (GtkEntry *entry,
- GdkEvent *event)
-{
- gboolean focus_in;
-
- if (gdk_event_get_event_type (event) == GDK_FOCUS_CHANGE &&
- gdk_event_get_focus_in (event, &focus_in) && !focus_in)
- accept_completion_callback (entry);
-
- return GDK_EVENT_PROPAGATE;
-}
-
static void
connect_completion_signals (GtkEntryCompletion *completion)
{
+ GtkEntryCompletionPrivate *priv = completion->priv;
GtkEventController *controller;
- controller = gtk_event_controller_key_new ();
+ controller = priv->entry_key_controller = gtk_event_controller_key_new ();
g_signal_connect (controller, "key-pressed",
G_CALLBACK (gtk_entry_completion_key_pressed), completion);
+ g_signal_connect_swapped (controller, "focus-out",
+ G_CALLBACK (accept_completion_callback),
+ completion->priv->entry);
gtk_widget_add_controller (completion->priv->entry, controller);
completion->priv->changed_id =
@@ -2489,8 +2470,6 @@ connect_completion_signals (GtkEntryCompletion *completion)
G_CALLBACK (clear_completion_callback), completion);
g_signal_connect (completion->priv->entry, "activate",
G_CALLBACK (accept_completion_callback), completion);
- g_signal_connect (completion->priv->entry, "event",
- G_CALLBACK (maybe_accept_completion), completion);
}
static void
@@ -2526,6 +2505,9 @@ unset_accessible_relation (GtkWidget *window,
static void
disconnect_completion_signals (GtkEntryCompletion *completion)
{
+ gtk_widget_remove_controller (completion->priv->entry,
+ completion->priv->entry_key_controller);
+
if (completion->priv->changed_id > 0 &&
g_signal_handler_is_connected (completion->priv->entry,
completion->priv->changed_id))
@@ -2548,8 +2530,6 @@ disconnect_completion_signals (GtkEntryCompletion *completion)
G_CALLBACK (clear_completion_callback), completion);
g_signal_handlers_disconnect_by_func (completion->priv->entry,
G_CALLBACK (accept_completion_callback), completion);
- g_signal_handlers_disconnect_by_func (completion->priv->entry,
- G_CALLBACK (maybe_accept_completion), completion);
}
void
diff --git a/gtk/gtkentryprivate.h b/gtk/gtkentryprivate.h
index 527bbf8bff..96aef386ea 100644
--- a/gtk/gtkentryprivate.h
+++ b/gtk/gtkentryprivate.h
@@ -97,6 +97,7 @@ void gtk_entry_set_positions (GtkEntry *entry,
int current_pos,
int selection_bound);
+GtkEventController * gtk_entry_get_key_controller (GtkEntry *entry);
G_END_DECLS
diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h
index 2fd2739998..57ac101e5f 100644
--- a/gtk/gtkenums.h
+++ b/gtk/gtkenums.h
@@ -51,7 +51,7 @@ G_BEGIN_DECLS
* or top
* @GTK_ALIGN_CENTER: center natural width of widget inside the
* allocation
- * @GTK_ALIGN_BASELINE: align the widget according to the baseline. Since 3.10.
+ * @GTK_ALIGN_BASELINE: align the widget according to the baseline
*
* Controls how a widget deals with extra space in a single (x or y)
* dimension.
@@ -85,7 +85,7 @@ typedef enum
* @GTK_ARROW_DOWN: Represents a downward pointing arrow.
* @GTK_ARROW_LEFT: Represents a left pointing arrow.
* @GTK_ARROW_RIGHT: Represents a right pointing arrow.
- * @GTK_ARROW_NONE: No arrow. Since 2.10.
+ * @GTK_ARROW_NONE: No arrow.
*
* Used to indicate the direction in which an arrow should point.
*/
@@ -912,9 +912,9 @@ typedef enum
* first word of each sentence
* @GTK_INPUT_HINT_INHIBIT_OSK: Suggest to not show an onscreen keyboard
* (e.g for a calculator that already has all the keys).
- * @GTK_INPUT_HINT_VERTICAL_WRITING: The text is vertical. Since 3.18
- * @GTK_INPUT_HINT_EMOJI: Suggest offering Emoji support. Since 3.22.20
- * @GTK_INPUT_HINT_NO_EMOJI: Suggest not offering Emoji support. Since 3.22.20
+ * @GTK_INPUT_HINT_VERTICAL_WRITING: The text is vertical
+ * @GTK_INPUT_HINT_EMOJI: Suggest offering Emoji support
+ * @GTK_INPUT_HINT_NO_EMOJI: Suggest not offering Emoji support
*
* Describes hints that might be taken into account by input methods
* or applications. Note that input methods may already tailor their
diff --git a/gtk/gtkeventcontrollerkey.c b/gtk/gtkeventcontrollerkey.c
index a998a0af89..394acbb6dd 100644
--- a/gtk/gtkeventcontrollerkey.c
+++ b/gtk/gtkeventcontrollerkey.c
@@ -17,6 +17,16 @@
* Author(s): Carlos Garnacho <carlosg@gnome.org>
*/
+/**
+ * SECTION:gtkeventcontrollerkey
+ * @Short_description: Event controller for key events
+ * @Title: GtkEventControllerKey
+ * @See_also: #GtkEventController
+ *
+ * #GtkEventControllerKey is an event controller meant for situations
+ * where you need access to key events.
+ **/
+
#include "config.h"
#include "gtkintl.h"
@@ -156,12 +166,32 @@ gtk_event_controller_key_class_init (GtkEventControllerKeyClass *klass)
object_class->finalize = gtk_event_controller_finalize;
controller_class->handle_event = gtk_event_controller_key_handle_event;
+ /**
+ * GtkEventControllerKey::key-pressed:
+ * @controller: the object which received the signal.
+ * @keyval: the pressed key.
+ * @keycode: the raw code of the pressed key.
+ * @state: the bitmask, representing the state of modifier keys and pointer buttons. See #GdkModifierType.
+ *
+ * This signal is emitted whenever a key is pressed.
+ *
+ * Returns: %TRUE if the key press was handled, %FALSE otherwise.
+ */
signals[KEY_PRESSED] =
g_signal_new (I_("key-pressed"),
GTK_TYPE_EVENT_CONTROLLER_KEY,
G_SIGNAL_RUN_LAST,
0, _gtk_boolean_handled_accumulator, NULL, NULL,
G_TYPE_BOOLEAN, 3, G_TYPE_UINT, G_TYPE_UINT, GDK_TYPE_MODIFIER_TYPE);
+ /**
+ * GtkEventControllerKey::key-released:
+ * @controller: the object which received the signal.
+ * @keyval: the released key.
+ * @keycode: the raw code of the released key.
+ * @state: the bitmask, representing the state of modifier keys and pointer buttons. See #GdkModifierType.
+ *
+ * This signal is emitted whenever a key is released.
+ */
signals[KEY_RELEASED] =
g_signal_new (I_("key-released"),
GTK_TYPE_EVENT_CONTROLLER_KEY,
@@ -231,8 +261,6 @@ gtk_event_controller_key_set_im_context (GtkEventControllerKey *controller,
* Gets the IM context of a key controller.
*
* Returns: (transfer none): the IM context
- *
- * Since: 3.94
**/
GtkIMContext *
gtk_event_controller_key_get_im_context (GtkEventControllerKey *controller)
diff --git a/gtk/gtkeventcontrollermotion.c b/gtk/gtkeventcontrollermotion.c
index 3c85301f57..f1d0d33a77 100644
--- a/gtk/gtkeventcontrollermotion.c
+++ b/gtk/gtkeventcontrollermotion.c
@@ -25,8 +25,6 @@
*
* #GtkEventControllerMotion is an event controller meant for situations
* where you need to track the position of the pointer.
- *
- * This object was added in 3.94.
**/
#include "config.h"
diff --git a/gtk/gtkeventcontrollerscroll.c b/gtk/gtkeventcontrollerscroll.c
index 694aea3867..db5db881d1 100644
--- a/gtk/gtkeventcontrollerscroll.c
+++ b/gtk/gtkeventcontrollerscroll.c
@@ -55,8 +55,6 @@
* #GtkEventControllerScroll::decelerate signal, emitted at the end of scrolling
* with two X/Y velocity arguments that are consistent with the motion that
* was received.
- *
- * This object was added in 3.93.
**/
#include "config.h"
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c
index 1b17f2aec3..0ffc96f1e8 100644
--- a/gtk/gtkfilechooserentry.c
+++ b/gtk/gtkfilechooserentry.c
@@ -24,7 +24,7 @@
#include "gtkcelllayout.h"
#include "gtkcellrenderertext.h"
-#include "gtkentry.h"
+#include "gtkentryprivate.h"
#include "gtkfilesystemmodel.h"
#include "gtklabel.h"
#include "gtkmain.h"
@@ -84,10 +84,11 @@ static guint signals[LAST_SIGNAL] = { 0 };
static void gtk_file_chooser_entry_finalize (GObject *object);
static void gtk_file_chooser_entry_dispose (GObject *object);
static void gtk_file_chooser_entry_grab_focus (GtkWidget *widget);
-static gboolean gtk_file_chooser_entry_tab_handler (GtkWidget *widget,
- GdkEvent *event);
-static gboolean gtk_file_chooser_entry_event (GtkWidget *widget,
- GdkEvent *event);
+static gboolean gtk_file_chooser_entry_tab_handler (GtkEventControllerKey *key,
+ guint keyval,
+ guint keycode,
+ GdkModifierType state,
+ GtkFileChooserEntry *chooser_entry);
#ifdef G_OS_WIN32
static gint insert_text_callback (GtkFileChooserEntry *widget,
@@ -169,7 +170,6 @@ _gtk_file_chooser_entry_class_init (GtkFileChooserEntryClass *class)
gobject_class->dispatch_properties_changed = gtk_file_chooser_entry_dispatch_properties_changed;
widget_class->grab_focus = gtk_file_chooser_entry_grab_focus;
- widget_class->event = gtk_file_chooser_entry_event;
signals[HIDE_ENTRY] =
g_signal_new (I_("hide-entry"),
@@ -259,8 +259,16 @@ match_func (GtkEntryCompletion *compl,
}
static void
+chooser_entry_focus_out (GtkEventControllerKey *key_controller,
+ GtkFileChooserEntry *chooser_entry)
+{
+ set_complete_on_load (chooser_entry, FALSE);
+}
+
+static void
_gtk_file_chooser_entry_init (GtkFileChooserEntry *chooser_entry)
{
+ GtkEventController *controller;
GtkEntryCompletion *comp;
GtkCellRenderer *cell;
@@ -293,10 +301,18 @@ _gtk_file_chooser_entry_init (GtkFileChooserEntry *chooser_entry)
gtk_entry_set_completion (GTK_ENTRY (chooser_entry), comp);
g_object_unref (comp);
- /* NB: This needs to happen after the completion is set, so this handler
- * runs before the handler installed by entrycompletion */
- g_signal_connect (chooser_entry, "event",
- G_CALLBACK (gtk_file_chooser_entry_tab_handler), NULL);
+
+ /* NB: This needs to happen after the completion is set, so this controller
+ * runs before the one installed by entrycompletion */
+ controller = gtk_event_controller_key_new ();
+ g_signal_connect (controller,
+ "key-pressed",
+ G_CALLBACK (gtk_file_chooser_entry_tab_handler),
+ chooser_entry);
+ g_signal_connect (controller,
+ "focus-out", G_CALLBACK (chooser_entry_focus_out),
+ chooser_entry);
+ gtk_widget_add_controller (GTK_WIDGET (chooser_entry), controller);
#ifdef G_OS_WIN32
g_signal_connect (chooser_entry, "insert-text",
@@ -496,28 +512,19 @@ start_explicit_completion (GtkFileChooserEntry *chooser_entry)
}
static gboolean
-gtk_file_chooser_entry_tab_handler (GtkWidget *widget,
- GdkEvent *event)
+gtk_file_chooser_entry_tab_handler (GtkEventControllerKey *key,
+ guint keyval,
+ guint keycode,
+ GdkModifierType state,
+ GtkFileChooserEntry *chooser_entry)
{
- GtkFileChooserEntry *chooser_entry;
- GtkEditable *editable;
- GdkModifierType state;
+ GtkEditable *editable = GTK_EDITABLE (chooser_entry);
gint start, end;
- guint keyval;
-
- chooser_entry = GTK_FILE_CHOOSER_ENTRY (widget);
- editable = GTK_EDITABLE (widget);
-
- if (gdk_event_get_event_type (event) != GDK_KEY_PRESS)
- return GDK_EVENT_PROPAGATE;
-
- if (!gdk_event_get_keyval (event, &keyval))
- return GDK_EVENT_PROPAGATE;
if (keyval == GDK_KEY_Escape &&
chooser_entry->eat_escape)
{
- g_signal_emit (widget, signals[HIDE_ENTRY], 0);
+ g_signal_emit (chooser_entry, signals[HIDE_ENTRY], 0);
return GDK_EVENT_STOP;
}
@@ -527,14 +534,13 @@ gtk_file_chooser_entry_tab_handler (GtkWidget *widget,
if (keyval != GDK_KEY_Tab)
return GDK_EVENT_PROPAGATE;
- if (gtk_get_current_event_state (&state) &&
- (state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
+ if ((state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
return GDK_EVENT_PROPAGATE;
/* This is a bit evil -- it makes Tab never leave the entry. It basically
* makes it 'safe' for people to hit. */
gtk_editable_get_selection_bounds (editable, &start, &end);
-
+
if (start != end)
gtk_editable_set_position (editable, MAX (start, end));
else
@@ -543,27 +549,6 @@ gtk_file_chooser_entry_tab_handler (GtkWidget *widget,
return GDK_EVENT_STOP;
}
-static gboolean
-gtk_file_chooser_entry_event (GtkWidget *widget,
- GdkEvent *event)
-{
- GtkFileChooserEntry *chooser_entry = GTK_FILE_CHOOSER_ENTRY (widget);
-
- if (gdk_event_get_event_type (event) == GDK_FOCUS_CHANGE)
- {
- gboolean focus_in;
-
- gdk_event_get_focus_in (event, &focus_in);
-
- if (!focus_in)
- set_complete_on_load (chooser_entry, FALSE);
-
- return GDK_EVENT_PROPAGATE;
- }
-
- return GDK_EVENT_PROPAGATE;
-}
-
static void
update_inline_completion (GtkFileChooserEntry *chooser_entry)
{
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index e8c6ae74cd..c96a92a447 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -81,6 +81,7 @@
#include "gtkeventcontrollerkey.h"
#include "gtkdebug.h"
#include "gtkfilechoosererrorstackprivate.h"
+#include "gtkentryprivate.h"
#include <cairo-gobject.h>
@@ -456,8 +457,6 @@ static void gtk_file_chooser_widget_hierarchy_changed (GtkWidget *w
static void gtk_file_chooser_widget_style_updated (GtkWidget *widget);
static void gtk_file_chooser_widget_display_changed (GtkWidget *widget,
GdkDisplay *previous_display);
-static gboolean gtk_file_chooser_widget_event (GtkWidget *widget,
- GdkEvent *event);
static gboolean gtk_file_chooser_widget_set_current_folder (GtkFileChooser *chooser,
GFile *folder,
@@ -1338,9 +1337,6 @@ key_press_cb (GtkEventController *controller,
return GDK_EVENT_STOP;
}
- if (!gdk_event_get_state (event, &state))
- return GDK_EVENT_PROPAGATE;
-
if ((keyval == GDK_KEY_Return
|| keyval == GDK_KEY_ISO_Enter
|| keyval == GDK_KEY_KP_Enter
@@ -1382,18 +1378,18 @@ key_press_cb (GtkEventController *controller,
}
static gboolean
-gtk_file_chooser_widget_event (GtkWidget *widget,
- GdkEvent *event)
+widget_key_press_cb (GtkEventController *controller,
+ guint keyval,
+ guint keycode,
+ GdkModifierType state,
+ gpointer data)
{
- GtkFileChooserWidget *impl = (GtkFileChooserWidget *) widget;
+ GtkFileChooserWidget *impl = (GtkFileChooserWidget *) data;
GtkFileChooserWidgetPrivate *priv = impl->priv;
- guint keyval, state;
-
- if (gdk_event_get_event_type (event) != GDK_KEY_PRESS)
- return GDK_EVENT_PROPAGATE;
+ gboolean handled = FALSE;
+ GdkEvent *event;
- gdk_event_get_keyval (event, &keyval);
- gdk_event_get_state (event, &state);
+ event = gtk_get_current_event ();
if (should_trigger_location_entry (impl, keyval, state))
{
@@ -1404,17 +1400,20 @@ gtk_file_chooser_widget_event (GtkWidget *widget,
gdk_event_get_string (event, &string);
location_popup_handler (impl, string);
- return GDK_EVENT_STOP;
+ handled = TRUE;
}
}
- else if (gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->search_entry), event))
+ else if (gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->search_entry), (GdkEvent *) event))
{
if (priv->operation_mode != OPERATION_MODE_SEARCH)
operation_mode_set (impl, OPERATION_MODE_SEARCH);
- return GDK_EVENT_STOP;
+
+ handled = TRUE;
}
- return GDK_EVENT_PROPAGATE;
+ g_object_unref (event);
+
+ return handled;
}
/* Callback used from gtk_tree_selection_selected_foreach(); adds a bookmark for
@@ -2536,17 +2535,16 @@ location_entry_create (GtkFileChooserWidget *impl)
}
static gboolean
-external_entry_event (GtkWidget *entry,
- GdkEvent *event,
- GtkFileChooserWidget *impl)
+forward_key (GtkEventControllerKey *key,
+ guint keyval,
+ guint keycode,
+ GdkModifierType modifiers,
+ GtkFileChooserWidget *impl)
{
/* Since the entry is not a descendent of the file chooser widget
* in this case, we need to manually make our bindings apply.
*/
- if (gdk_event_get_event_type (event) != GDK_KEY_PRESS)
- return GDK_EVENT_PROPAGATE;
-
- return gtk_bindings_activate_event (G_OBJECT (impl), (GdkEventKey *)event);
+ return gtk_event_controller_key_forward (key, GTK_WIDGET (impl));
}
/* Creates the widgets specific to Save mode */
@@ -2571,8 +2569,9 @@ save_widgets_create (GtkFileChooserWidget *impl)
priv->location_entry = priv->external_entry;
location_entry_setup (impl);
- g_signal_connect_after (priv->external_entry, "event",
- G_CALLBACK (external_entry_event), impl);
+ g_signal_connect_after (gtk_entry_get_key_controller (GTK_ENTRY (priv->external_entry)),
+ "key-pressed",
+ G_CALLBACK (forward_key), impl);
return;
}
@@ -2613,7 +2612,8 @@ save_widgets_destroy (GtkFileChooserWidget *impl)
if (priv->external_entry && priv->external_entry == priv->location_entry)
{
- g_signal_handlers_disconnect_by_func (priv->external_entry, external_entry_event, impl);
+ g_signal_handlers_disconnect_by_func (gtk_entry_get_key_controller (GTK_ENTRY (priv->external_entry)),
+ forward_key, impl);
location_entry_disconnect (impl);
priv->location_entry = NULL;
@@ -7972,7 +7972,6 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
widget_class->hierarchy_changed = gtk_file_chooser_widget_hierarchy_changed;
widget_class->style_updated = gtk_file_chooser_widget_style_updated;
widget_class->display_changed = gtk_file_chooser_widget_display_changed;
- widget_class->event = gtk_file_chooser_widget_event;
widget_class->measure = gtk_file_chooser_widget_measure;
widget_class->size_allocate = gtk_file_chooser_widget_size_allocate;
@@ -8396,6 +8395,7 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
gtk_widget_class_bind_template_callback (widget_class, multi_press_cb);
gtk_widget_class_bind_template_callback (widget_class, long_press_cb);
gtk_widget_class_bind_template_callback (widget_class, key_press_cb);
+ gtk_widget_class_bind_template_callback (widget_class, widget_key_press_cb);
gtk_widget_class_set_css_name (widget_class, I_("filechooser"));
}
diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c
index 22aef3eaa5..e1f7af74a0 100644
--- a/gtk/gtkfixed.c
+++ b/gtk/gtkfixed.c
@@ -80,11 +80,12 @@
#include "gtkprivate.h"
#include "gtkintl.h"
-
typedef struct
{
- GList *children;
-} GtkFixedPrivate;
+ GtkWidget *widget;
+ gint x;
+ gint y;
+} GtkFixedChild;
enum {
CHILD_PROP_0,
@@ -92,6 +93,8 @@ enum {
CHILD_PROP_Y
};
+static GQuark child_data_quark = 0;
+
static void gtk_fixed_measure (GtkWidget *widget,
GtkOrientation orientation,
int for_size,
@@ -124,7 +127,15 @@ static void gtk_fixed_get_child_property (GtkContainer *container,
GValue *value,
GParamSpec *pspec);
-G_DEFINE_TYPE_WITH_PRIVATE (GtkFixed, gtk_fixed, GTK_TYPE_CONTAINER)
+G_DEFINE_TYPE (GtkFixed, gtk_fixed, GTK_TYPE_CONTAINER)
+
+static GtkFixedChild *
+get_fixed_child (GtkWidget *widget)
+{
+ g_assert (GTK_IS_FIXED (gtk_widget_get_parent (widget)));
+
+ return (GtkFixedChild *) g_object_get_qdata (G_OBJECT (widget), child_data_quark);
+}
static void
gtk_fixed_class_init (GtkFixedClass *class)
@@ -160,6 +171,8 @@ gtk_fixed_class_init (GtkFixedClass *class)
P_("Y position of child widget"),
G_MININT, G_MAXINT, 0,
GTK_PARAM_READWRITE));
+
+ child_data_quark = g_quark_from_static_string ("gtk-fixed-child-data");
}
static GType
@@ -171,10 +184,6 @@ gtk_fixed_child_type (GtkContainer *container)
static void
gtk_fixed_init (GtkFixed *fixed)
{
- GtkFixedPrivate *priv = gtk_fixed_get_instance_private (fixed);
-
- priv->children = NULL;
-
gtk_widget_set_has_surface (GTK_WIDGET (fixed), FALSE);
}
@@ -191,26 +200,6 @@ gtk_fixed_new (void)
return g_object_new (GTK_TYPE_FIXED, NULL);
}
-static GtkFixedChild*
-get_child (GtkFixed *fixed,
- GtkWidget *widget)
-{
- GtkFixedPrivate *priv = gtk_fixed_get_instance_private (fixed);
- GList *children;
-
- for (children = priv->children; children; children = children->next)
- {
- GtkFixedChild *child;
-
- child = children->data;
-
- if (child->widget == widget)
- return child;
- }
-
- return NULL;
-}
-
/**
* gtk_fixed_put:
* @fixed: a #GtkFixed.
@@ -226,7 +215,6 @@ gtk_fixed_put (GtkFixed *fixed,
gint x,
gint y)
{
- GtkFixedPrivate *priv = gtk_fixed_get_instance_private (fixed);
GtkFixedChild *child_info;
g_return_if_fail (GTK_IS_FIXED (fixed));
@@ -234,41 +222,39 @@ gtk_fixed_put (GtkFixed *fixed,
g_return_if_fail (_gtk_widget_get_parent (widget) == NULL);
child_info = g_new (GtkFixedChild, 1);
- child_info->widget = widget;
child_info->x = x;
child_info->y = y;
+ g_object_set_qdata_full (G_OBJECT (widget), child_data_quark, child_info, g_free);
gtk_widget_set_parent (widget, GTK_WIDGET (fixed));
-
- priv->children = g_list_append (priv->children, child_info);
}
static void
gtk_fixed_move_internal (GtkFixed *fixed,
+ GtkWidget *widget,
GtkFixedChild *child,
gint x,
gint y)
{
g_return_if_fail (GTK_IS_FIXED (fixed));
- g_return_if_fail (gtk_widget_get_parent (child->widget) == GTK_WIDGET (fixed));
- gtk_widget_freeze_child_notify (child->widget);
+ gtk_widget_freeze_child_notify (widget);
if (child->x != x)
{
child->x = x;
- gtk_widget_child_notify (child->widget, "x");
+ gtk_widget_child_notify (widget, "x");
}
if (child->y != y)
{
child->y = y;
- gtk_widget_child_notify (child->widget, "y");
+ gtk_widget_child_notify (widget, "y");
}
- gtk_widget_thaw_child_notify (child->widget);
+ gtk_widget_thaw_child_notify (widget);
- if (gtk_widget_get_visible (child->widget) &&
+ if (gtk_widget_get_visible (widget) &&
gtk_widget_get_visible (GTK_WIDGET (fixed)))
gtk_widget_queue_resize (GTK_WIDGET (fixed));
}
@@ -288,7 +274,9 @@ gtk_fixed_move (GtkFixed *fixed,
gint x,
gint y)
{
- gtk_fixed_move_internal (fixed, get_child (fixed, widget), x, y);
+ g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (fixed));
+
+ gtk_fixed_move_internal (fixed, widget, get_fixed_child (widget), x, y);
}
static void
@@ -299,20 +287,20 @@ gtk_fixed_set_child_property (GtkContainer *container,
GParamSpec *pspec)
{
GtkFixed *fixed = GTK_FIXED (container);
- GtkFixedChild *fixed_child;
-
- fixed_child = get_child (fixed, child);
+ GtkFixedChild *fixed_child = get_fixed_child (child);
switch (property_id)
{
case CHILD_PROP_X:
gtk_fixed_move_internal (fixed,
+ child,
fixed_child,
g_value_get_int (value),
fixed_child->y);
break;
case CHILD_PROP_Y:
gtk_fixed_move_internal (fixed,
+ child,
fixed_child,
fixed_child->x,
g_value_get_int (value));
@@ -330,10 +318,8 @@ gtk_fixed_get_child_property (GtkContainer *container,
GValue *value,
GParamSpec *pspec)
{
- GtkFixedChild *fixed_child;
+ GtkFixedChild *fixed_child = get_fixed_child (child);
- fixed_child = get_child (GTK_FIXED (container), child);
-
switch (property_id)
{
case CHILD_PROP_X:
@@ -357,33 +343,30 @@ gtk_fixed_measure (GtkWidget *widget,
int *minimum_baseline,
int *natural_baseline)
{
- GtkFixed *fixed = GTK_FIXED (widget);
- GtkFixedPrivate *priv = gtk_fixed_get_instance_private (fixed);
- GtkFixedChild *child;
- GList *children;
- gint child_min, child_nat;
-
- *minimum = 0;
- *natural = 0;
+ int child_min, child_nat;
+ GtkWidget *child;
+ GtkFixedChild *child_info;
- for (children = priv->children; children; children = children->next)
+ for (child = gtk_widget_get_first_child (widget);
+ child != NULL;
+ child = gtk_widget_get_next_sibling (child))
{
- child = children->data;
+ child_info = get_fixed_child (child);
- if (!gtk_widget_get_visible (child->widget))
+ if (!gtk_widget_get_visible (child))
continue;
- gtk_widget_measure (child->widget, orientation, -1, &child_min, &child_nat, NULL, NULL);
+ gtk_widget_measure (child, orientation, -1, &child_min, &child_nat, NULL, NULL);
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
- *minimum = MAX (*minimum, child->x + child_min);
- *natural = MAX (*natural, child->x + child_nat);
+ *minimum = MAX (*minimum, child_info->x + child_min);
+ *natural = MAX (*natural, child_info->x + child_nat);
}
else /* VERTICAL */
{
- *minimum = MAX (*minimum, child->y + child_min);
- *natural = MAX (*natural, child->y + child_nat);
+ *minimum = MAX (*minimum, child_info->y + child_min);
+ *natural = MAX (*natural, child_info->y + child_nat);
}
}
}
@@ -393,27 +376,27 @@ gtk_fixed_size_allocate (GtkWidget *widget,
const GtkAllocation *allocation,
int baseline)
{
- GtkFixed *fixed = GTK_FIXED (widget);
- GtkFixedPrivate *priv = gtk_fixed_get_instance_private (fixed);
- GtkFixedChild *child;
+ GtkWidget *child;
+ GtkFixedChild *child_info;
GtkAllocation child_allocation;
GtkRequisition child_requisition;
- GList *children;
- for (children = priv->children; children; children = children->next)
+ for (child = gtk_widget_get_first_child (widget);
+ child != NULL;
+ child = gtk_widget_get_next_sibling (child))
{
- child = children->data;
+ child_info = get_fixed_child (child);
- if (!gtk_widget_get_visible (child->widget))
+ if (!gtk_widget_get_visible (child))
continue;
- gtk_widget_get_preferred_size (child->widget, &child_requisition, NULL);
- child_allocation.x = child->x;
- child_allocation.y = child->y;
+ gtk_widget_get_preferred_size (child, &child_requisition, NULL);
+ child_allocation.x = child_info->x;
+ child_allocation.y = child_info->y;
child_allocation.width = child_requisition.width;
child_allocation.height = child_requisition.height;
- gtk_widget_size_allocate (child->widget, &child_allocation, -1);
+ gtk_widget_size_allocate (child, &child_allocation, -1);
}
}
@@ -428,32 +411,7 @@ static void
gtk_fixed_remove (GtkContainer *container,
GtkWidget *widget)
{
- GtkFixed *fixed = GTK_FIXED (container);
- GtkFixedPrivate *priv = gtk_fixed_get_instance_private (fixed);
- GtkFixedChild *child;
- GtkWidget *widget_container = GTK_WIDGET (container);
- GList *children;
-
- for (children = priv->children; children; children = children->next)
- {
- child = children->data;
-
- if (child->widget == widget)
- {
- gboolean was_visible = gtk_widget_get_visible (widget);
-
- gtk_widget_unparent (widget);
-
- priv->children = g_list_remove_link (priv->children, children);
- g_list_free (children);
- g_free (child);
-
- if (was_visible && gtk_widget_get_visible (widget_container))
- gtk_widget_queue_resize (widget_container);
-
- break;
- }
- }
+ gtk_widget_unparent (widget);
}
static void
@@ -461,17 +419,16 @@ gtk_fixed_forall (GtkContainer *container,
GtkCallback callback,
gpointer callback_data)
{
- GtkFixed *fixed = GTK_FIXED (container);
- GtkFixedPrivate *priv = gtk_fixed_get_instance_private (fixed);
- GtkFixedChild *child;
- GList *children;
+ GtkWidget *widget = GTK_WIDGET (container);
+ GtkWidget *child;
- children = priv->children;
- while (children)
+ child = gtk_widget_get_first_child (widget);
+ while (child)
{
- child = children->data;
- children = children->next;
+ GtkWidget *next = gtk_widget_get_next_sibling (child);
+
+ (* callback) (child, callback_data);
- (* callback) (child->widget, callback_data);
+ child = next;
}
}
diff --git a/gtk/gtkfixed.h b/gtk/gtkfixed.h
index 4caeeb94b0..74e88d9d3b 100644
--- a/gtk/gtkfixed.h
+++ b/gtk/gtkfixed.h
@@ -44,7 +44,6 @@ G_BEGIN_DECLS
typedef struct _GtkFixed GtkFixed;
typedef struct _GtkFixedClass GtkFixedClass;
-typedef struct _GtkFixedChild GtkFixedChild;
struct _GtkFixed
{
@@ -62,14 +61,6 @@ struct _GtkFixedClass
void (*_gtk_reserved4) (void);
};
-struct _GtkFixedChild
-{
- GtkWidget *widget;
- gint x;
- gint y;
-};
-
-
GDK_AVAILABLE_IN_ALL
GType gtk_fixed_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkfontchooserdialog.c b/gtk/gtkfontchooserdialog.c
index 0208040ef7..2604b03dc0 100644
--- a/gtk/gtkfontchooserdialog.c
+++ b/gtk/gtkfontchooserdialog.c
@@ -39,6 +39,7 @@
#include "gtktogglebutton.h"
#include "gtkheaderbar.h"
#include "gtkactionable.h"
+#include "gtkeventcontrollerkey.h"
struct _GtkFontChooserDialogPrivate
{
@@ -124,21 +125,15 @@ font_activated_cb (GtkFontChooser *fontchooser,
}
static gboolean
-gtk_font_chooser_dialog_event (GtkWidget *dialog,
- GdkEvent *event)
+dialog_forward_key (GtkEventControllerKey *controller,
+ guint keyval,
+ guint keycode,
+ GdkModifierType modifiers,
+ GtkWidget *widget)
{
- GtkFontChooserDialog *fdialog = GTK_FONT_CHOOSER_DIALOG (dialog);
- gboolean handled = FALSE;
+ GtkFontChooserDialog *fdialog = GTK_FONT_CHOOSER_DIALOG (widget);
- if (gdk_event_get_event_type (event) != GDK_KEY_PRESS)
- return GDK_EVENT_PROPAGATE;
-
- handled = GTK_WIDGET_CLASS (gtk_font_chooser_dialog_parent_class)->event (dialog, event);
-
- if (!handled)
- handled = gtk_font_chooser_widget_handle_event (fdialog->priv->fontchooser, (GdkEventKey *)event);
-
- return handled;
+ return gtk_event_controller_key_forward (controller, fdialog->priv->fontchooser);
}
static void
@@ -208,7 +203,6 @@ gtk_font_chooser_dialog_class_init (GtkFontChooserDialogClass *klass)
gobject_class->get_property = gtk_font_chooser_dialog_get_property;
gobject_class->set_property = gtk_font_chooser_dialog_set_property;
- widget_class->event = gtk_font_chooser_dialog_event;
widget_class->map = gtk_font_chooser_dialog_map;
_gtk_font_chooser_install_properties (gobject_class);
@@ -222,6 +216,7 @@ gtk_font_chooser_dialog_class_init (GtkFontChooserDialogClass *klass)
gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserDialog, select_button);
gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserDialog, cancel_button);
gtk_widget_class_bind_template_callback (widget_class, font_activated_cb);
+ gtk_widget_class_bind_template_callback (widget_class, dialog_forward_key);
}
static void
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index 6b161f084c..442bc81540 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -881,6 +881,9 @@ gtk_font_chooser_widget_init (GtkFontChooserWidget *fontchooser)
gtk_font_chooser_widget_set_cell_size (fontchooser);
gtk_font_chooser_widget_take_font_desc (fontchooser, NULL);
+
+ gtk_search_entry_set_key_capture_widget (GTK_SEARCH_ENTRY (priv->search_entry),
+ GTK_WIDGET (fontchooser));
}
/**
@@ -2520,17 +2523,6 @@ gtk_font_chooser_widget_iface_init (GtkFontChooserIface *iface)
iface->get_font_map = gtk_font_chooser_widget_get_font_map;
}
-gboolean
-gtk_font_chooser_widget_handle_event (GtkWidget *widget,
- GdkEventKey *key_event)
-{
- GtkFontChooserWidget *fontchooser = GTK_FONT_CHOOSER_WIDGET (widget);
- GtkFontChooserWidgetPrivate *priv = fontchooser->priv;
- GdkEvent *event = (GdkEvent *)key_event;
-
- return gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->search_entry), event);
-}
-
GAction *
gtk_font_chooser_widget_get_tweak_action (GtkWidget *widget)
{
diff --git a/gtk/gtkfontchooserwidgetprivate.h b/gtk/gtkfontchooserwidgetprivate.h
index 5abdc5e47b..1a7dd743ec 100644
--- a/gtk/gtkfontchooserwidgetprivate.h
+++ b/gtk/gtkfontchooserwidgetprivate.h
@@ -22,9 +22,6 @@
G_BEGIN_DECLS
-gboolean gtk_font_chooser_widget_handle_event (GtkWidget *widget,
- GdkEventKey *event);
-
GAction *gtk_font_chooser_widget_get_tweak_action (GtkWidget *fontchooser);
G_END_DECLS
diff --git a/gtk/gtkgesturestylus.c b/gtk/gtkgesturestylus.c
index 294fa293a3..7b02d07954 100644
--- a/gtk/gtkgesturestylus.c
+++ b/gtk/gtkgesturestylus.c
@@ -135,8 +135,6 @@ gtk_gesture_stylus_init (GtkGestureStylus *gesture)
* Creates a new #GtkGestureStylus.
*
* Returns: a newly created stylus gesture
- *
- * Since: 3.94
**/
GtkGesture *
gtk_gesture_stylus_new (void)
@@ -167,8 +165,6 @@ gesture_get_current_event (GtkGestureStylus *gesture)
* signals.
*
* Returns: #TRUE if there is a current value for the axis
- *
- * Since: 3.94
**/
gboolean
gtk_gesture_stylus_get_axis (GtkGestureStylus *gesture,
diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c
index a817eed679..1c696a0d47 100644
--- a/gtk/gtkiconhelper.c
+++ b/gtk/gtkiconhelper.c
@@ -123,6 +123,8 @@ ensure_paintable_for_gicon (GtkIconHelper *self,
*symbolic = gtk_icon_info_is_symbolic (info);
paintable = GDK_PAINTABLE (gtk_icon_info_load_texture (info));
+ g_object_unref (info);
+
if (paintable && scale != 1)
{
GdkPaintable *orig = paintable;
@@ -426,22 +428,6 @@ gtk_icon_helper_new (GtkCssNode *css_node,
return self;
}
-GtkSizeRequestMode
-gtk_icon_helper_get_request_mode (GtkIconHelper *self)
-{
- switch (gtk_image_definition_get_storage_type (self->def))
- {
- case GTK_IMAGE_PAINTABLE:
- return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH;
-
- case GTK_IMAGE_ICON_NAME:
- case GTK_IMAGE_GICON:
- case GTK_IMAGE_EMPTY:
- default:
- return GTK_SIZE_REQUEST_CONSTANT_SIZE;
- }
-}
-
int
gtk_icon_helper_get_size (GtkIconHelper *self)
{
diff --git a/gtk/gtkiconhelperprivate.h b/gtk/gtkiconhelperprivate.h
index e2498f62d7..b7656bb849 100644
--- a/gtk/gtkiconhelperprivate.h
+++ b/gtk/gtkiconhelperprivate.h
@@ -64,7 +64,6 @@ GdkPaintable *_gtk_icon_helper_peek_paintable (GtkIconHelper *self);
GtkImageDefinition *gtk_icon_helper_get_definition (GtkIconHelper *self);
const gchar *_gtk_icon_helper_get_icon_name (GtkIconHelper *self);
-GtkSizeRequestMode gtk_icon_helper_get_request_mode (GtkIconHelper *self);
int gtk_icon_helper_get_size (GtkIconHelper *self);
gboolean _gtk_icon_helper_get_force_scale_pixbuf (GtkIconHelper *self);
diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c
index 33ef8542a9..eed2c279be 100644
--- a/gtk/gtkicontheme.c
+++ b/gtk/gtkicontheme.c
@@ -4283,7 +4283,7 @@ gtk_icon_info_load_symbolic_svg (GtkIconInfo *icon_info,
" width=\"", width, "\"\n"
" height=\"", height, "\">\n"
" <style type=\"text/css\">\n"
- " rect,path {\n"
+ " rect,path,ellipse,circle {\n"
" fill: ", css_fg," !important;\n"
" }\n"
" .warning {\n"
diff --git a/gtk/gtkicontheme.h b/gtk/gtkicontheme.h
index b618ffec0d..057d2fe6f3 100644
--- a/gtk/gtkicontheme.h
+++ b/gtk/gtkicontheme.h
@@ -112,17 +112,17 @@ struct _GtkIconThemeClass
* @GTK_ICON_LOOKUP_GENERIC_FALLBACK: Try to shorten icon name at '-'
* characters before looking at inherited themes. This flag is only
* supported in functions that take a single icon name. For more general
- * fallback, see gtk_icon_theme_choose_icon(). Since 2.12.
+ * fallback, see gtk_icon_theme_choose_icon()
* @GTK_ICON_LOOKUP_FORCE_SIZE: Always get the icon scaled to the
- * requested size. Since 2.14.
+ * requested size
* @GTK_ICON_LOOKUP_FORCE_REGULAR: Try to always load regular icons, even
- * when symbolic icon names are given. Since 3.14.
+ * when symbolic icon names are given
* @GTK_ICON_LOOKUP_FORCE_SYMBOLIC: Try to always load symbolic icons, even
- * when regular icon names are given. Since 3.14.
+ * when regular icon names are given
* @GTK_ICON_LOOKUP_DIR_LTR: Try to load a variant of the icon for left-to-right
- * text direction. Since 3.14.
+ * text direction
* @GTK_ICON_LOOKUP_DIR_RTL: Try to load a variant of the icon for right-to-left
- * text direction. Since 3.14.
+ * text direction
*
* Used to specify options for gtk_icon_theme_lookup_icon()
*/
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index 4abc8e529a..680ddb61de 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -277,14 +277,14 @@ static void update_pixbuf_cell (GtkIco
/* Source side drag signals */
static void gtk_icon_view_drag_begin (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_icon_view_drag_end (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_icon_view_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data);
static void gtk_icon_view_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
/* Target side drag signals */
static void gtk_icon_view_drag_leave (GtkWidget *widget,
@@ -5702,27 +5702,27 @@ unset_reorderable (GtkIconView *icon_view)
}
static void
-set_source_row (GdkDragContext *context,
+set_source_row (GdkDrag *drag,
GtkTreeModel *model,
GtkTreePath *source_row)
{
if (source_row)
- g_object_set_data_full (G_OBJECT (context),
+ g_object_set_data_full (G_OBJECT (drag),
I_("gtk-icon-view-source-row"),
gtk_tree_row_reference_new (model, source_row),
(GDestroyNotify) gtk_tree_row_reference_free);
else
- g_object_set_data_full (G_OBJECT (context),
+ g_object_set_data_full (G_OBJECT (drag),
I_("gtk-icon-view-source-row"),
NULL, NULL);
}
static GtkTreePath*
-get_source_row (GdkDragContext *context)
+get_source_row (GdkDrag *drag)
{
GtkTreeRowReference *ref;
- ref = g_object_get_data (G_OBJECT (context), "gtk-icon-view-source-row");
+ ref = g_object_get_data (G_OBJECT (drag), "gtk-icon-view-source-row");
if (ref)
return gtk_tree_row_reference_get_path (ref);
@@ -6020,7 +6020,7 @@ gtk_icon_view_maybe_begin_drag (GtkIconView *icon_view,
GdkDevice *device)
{
GtkWidget *widget = GTK_WIDGET (icon_view);
- GdkDragContext *context;
+ GdkDrag *drag;
GtkTreePath *path = NULL;
GtkTreeModel *model;
gboolean retval = FALSE;
@@ -6064,14 +6064,14 @@ gtk_icon_view_maybe_begin_drag (GtkIconView *icon_view,
retval = TRUE;
- context = gtk_drag_begin_with_coordinates (widget,
- device,
- gtk_drag_source_get_target_list (widget),
- icon_view->priv->source_actions,
- icon_view->priv->press_start_x,
- icon_view->priv->press_start_y);
+ drag = gtk_drag_begin_with_coordinates (widget,
+ device,
+ gtk_drag_source_get_target_list (widget),
+ icon_view->priv->source_actions,
+ icon_view->priv->press_start_x,
+ icon_view->priv->press_start_y);
- set_source_row (context, model, path);
+ set_source_row (drag, model, path);
out:
if (path)
@@ -6083,7 +6083,7 @@ gtk_icon_view_maybe_begin_drag (GtkIconView *icon_view,
/* Source side drag signals */
static void
gtk_icon_view_drag_begin (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkIconView *icon_view;
GtkIconViewItem *item;
@@ -6112,21 +6112,21 @@ gtk_icon_view_drag_begin (GtkWidget *widget,
icon = gtk_icon_view_create_drag_icon (icon_view, path);
gtk_tree_path_free (path);
- gtk_drag_set_icon_paintable (context, icon, x, y);
+ gtk_drag_set_icon_paintable (drag, icon, x, y);
g_object_unref (icon);
}
static void
gtk_icon_view_drag_end (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
/* do nothing */
}
static void
gtk_icon_view_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data)
{
GtkIconView *icon_view;
@@ -6142,7 +6142,7 @@ gtk_icon_view_drag_data_get (GtkWidget *widget,
if (!icon_view->priv->source_set)
return;
- source_row = get_source_row (context);
+ source_row = get_source_row (drag);
if (source_row == NULL)
return;
@@ -6170,7 +6170,7 @@ gtk_icon_view_drag_data_get (GtkWidget *widget,
static void
gtk_icon_view_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkTreeModel *model;
GtkIconView *icon_view;
@@ -6185,7 +6185,7 @@ gtk_icon_view_drag_data_delete (GtkWidget *widget,
if (!icon_view->priv->source_set)
return;
- source_row = get_source_row (context);
+ source_row = get_source_row (drag);
if (source_row == NULL)
return;
@@ -6195,7 +6195,7 @@ gtk_icon_view_drag_data_delete (GtkWidget *widget,
gtk_tree_path_free (source_row);
- set_source_row (context, NULL, NULL);
+ set_source_row (drag, NULL, NULL);
}
/* Target side drag signals */
@@ -6333,7 +6333,7 @@ static GdkDragAction
gtk_icon_view_get_action (GtkWidget *treeview,
GdkDrop *drop)
{
- GdkDragContext *drag = gdk_drop_get_drag (drop);
+ GdkDrag *drag = gdk_drop_get_drag (drop);
GtkWidget *source_widget = gtk_drag_get_source_widget (drag);
GdkDragAction actions;
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index 97df60c4e8..6be66f46da 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -131,15 +131,6 @@ static GParamSpec *image_props[NUM_PROPERTIES] = { NULL, };
G_DEFINE_TYPE_WITH_PRIVATE (GtkImage, gtk_image, GTK_TYPE_WIDGET)
-static GtkSizeRequestMode
-gtk_image_get_request_mode (GtkWidget *widget)
-{
- GtkImage *image = GTK_IMAGE (widget);
- GtkImagePrivate *priv = gtk_image_get_instance_private (image);
-
- return gtk_icon_helper_get_request_mode (priv->icon_helper);
-}
-
static void
gtk_image_class_init (GtkImageClass *class)
{
@@ -154,7 +145,6 @@ gtk_image_class_init (GtkImageClass *class)
widget_class = GTK_WIDGET_CLASS (class);
widget_class->snapshot = gtk_image_snapshot;
- widget_class->get_request_mode = gtk_image_get_request_mode;
widget_class->measure = gtk_image_measure;
widget_class->unrealize = gtk_image_unrealize;
widget_class->style_updated = gtk_image_style_updated;
diff --git a/gtk/gtkimcontextwayland.c b/gtk/gtkimcontextwayland.c
index e9cc6a6eb2..141ad6c6c9 100644
--- a/gtk/gtkimcontextwayland.c
+++ b/gtk/gtkimcontextwayland.c
@@ -472,8 +472,13 @@ gtk_im_context_wayland_get_preedit_string (GtkIMContext *context,
GTK_IM_CONTEXT_CLASS (gtk_im_context_wayland_parent_class)->get_preedit_string (context, str, attrs, cursor_pos);
/* If the parent implementation returns a len>0 string, go with it */
- if (str && *str && **str)
- return;
+ if (str && *str)
+ {
+ if (**str)
+ return;
+
+ g_free (*str);
+ }
preedit_str =
context_wayland->preedit.text ? context_wayland->preedit.text : "";
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index e361b1ba36..86661a8d36 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -228,7 +228,7 @@
*
* # Links
*
- * Since 2.18, GTK+ supports markup for clickable hyperlinks in addition
+ * GTK+ supports markup for clickable hyperlinks in addition
* to regular Pango markup. The markup for links is borrowed from HTML,
* using the `<a>` with “href“, “title“ and “class“ attributes. GTK+ renders links
* similar to the way they appear in web browsers, with colored, underlined
@@ -476,7 +476,7 @@ static gboolean gtk_label_mnemonic_activate (GtkWidget *widget,
static void gtk_label_setup_mnemonic (GtkLabel *label,
guint last_key);
static void gtk_label_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data);
static void gtk_label_buildable_interface_init (GtkBuildableIface *iface);
@@ -4576,7 +4576,7 @@ connect_mnemonics_visible_notify (GtkLabel *label)
static void
drag_begin_cb (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GtkLabel *label = GTK_LABEL (widget);
@@ -4612,12 +4612,12 @@ drag_begin_cb (GtkWidget *widget,
if (paintable)
{
- gtk_drag_set_icon_paintable (context, paintable, 0, 0);
+ gtk_drag_set_icon_paintable (drag, paintable, 0, 0);
g_object_unref (paintable);
}
else
{
- gtk_drag_set_icon_default (context);
+ gtk_drag_set_icon_default (drag);
}
}
@@ -5169,7 +5169,7 @@ gtk_label_set_selection_text (GtkLabel *label,
static void
gtk_label_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data)
{
gtk_label_set_selection_text (GTK_LABEL (widget), selection_data);
diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c
index 36a81709d2..cbe9b42113 100644
--- a/gtk/gtklayout.c
+++ b/gtk/gtklayout.c
@@ -59,7 +59,7 @@
typedef struct _GtkLayoutChild GtkLayoutChild;
-struct _GtkLayoutPrivate
+typedef struct
{
/* Properties */
guint width;
@@ -75,9 +75,7 @@ struct _GtkLayoutPrivate
/* Properties */
GList *children;
-
- guint freeze_count;
-};
+} GtkLayoutPrivate;
struct _GtkLayoutChild {
GtkWidget *widget;
@@ -138,7 +136,7 @@ static void gtk_layout_get_child_property (GtkContainer *container,
GValue *value,
GParamSpec *pspec);
static void gtk_layout_adjustment_changed (GtkAdjustment *adjustment,
- GtkLayout *layout);
+ GtkWidget *widget);
static void gtk_layout_set_hadjustment_values (GtkLayout *layout);
static void gtk_layout_set_vadjustment_values (GtkLayout *layout);
@@ -178,7 +176,7 @@ gtk_layout_new (GtkAdjustment *hadjustment,
static void
gtk_layout_set_hadjustment_values (GtkLayout *layout)
{
- GtkLayoutPrivate *priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
GtkAllocation allocation;
GtkAdjustment *adj = priv->hadjustment;
gdouble old_value;
@@ -206,8 +204,9 @@ gtk_layout_set_hadjustment_values (GtkLayout *layout)
static void
gtk_layout_set_vadjustment_values (GtkLayout *layout)
{
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
GtkAllocation allocation;
- GtkAdjustment *adj = layout->priv->vadjustment;
+ GtkAdjustment *adj = priv->vadjustment;
gdouble old_value;
gdouble new_value;
gdouble new_upper;
@@ -215,7 +214,7 @@ gtk_layout_set_vadjustment_values (GtkLayout *layout)
gtk_widget_get_allocation (GTK_WIDGET (layout), &allocation);
old_value = gtk_adjustment_get_value (adj);
- new_upper = MAX (allocation.height, layout->priv->height);
+ new_upper = MAX (allocation.height, priv->height);
g_object_set (adj,
"lower", 0.0,
@@ -234,7 +233,7 @@ static void
gtk_layout_finalize (GObject *object)
{
GtkLayout *layout = GTK_LAYOUT (object);
- GtkLayoutPrivate *priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
g_object_unref (priv->hadjustment);
g_object_unref (priv->vadjustment);
@@ -246,9 +245,7 @@ static void
gtk_layout_set_hadjustment (GtkLayout *layout,
GtkAdjustment *adjustment)
{
- GtkLayoutPrivate *priv;
-
- priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
if (adjustment && priv->hadjustment == adjustment)
return;
@@ -276,9 +273,7 @@ static void
gtk_layout_set_vadjustment (GtkLayout *layout,
GtkAdjustment *adjustment)
{
- GtkLayoutPrivate *priv;
-
- priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
if (adjustment && priv->vadjustment == adjustment)
return;
@@ -306,14 +301,14 @@ static GtkLayoutChild*
get_child (GtkLayout *layout,
GtkWidget *widget)
{
- GtkLayoutPrivate *priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
GList *children;
children = priv->children;
while (children)
{
GtkLayoutChild *child;
-
+
child = children->data;
children = children->next;
@@ -341,14 +336,12 @@ gtk_layout_put (GtkLayout *layout,
gint x,
gint y)
{
- GtkLayoutPrivate *priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
GtkLayoutChild *child;
g_return_if_fail (GTK_IS_LAYOUT (layout));
g_return_if_fail (GTK_IS_WIDGET (child_widget));
- priv = layout->priv;
-
child = g_new (GtkLayoutChild, 1);
child->widget = child_widget;
@@ -432,12 +425,10 @@ gtk_layout_set_size (GtkLayout *layout,
guint width,
guint height)
{
- GtkLayoutPrivate *priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
g_return_if_fail (GTK_IS_LAYOUT (layout));
- priv = layout->priv;
-
g_object_freeze_notify (G_OBJECT (layout));
if (width != priv->width)
{
@@ -472,12 +463,10 @@ gtk_layout_get_size (GtkLayout *layout,
guint *width,
guint *height)
{
- GtkLayoutPrivate *priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
g_return_if_fail (GTK_IS_LAYOUT (layout));
- priv = layout->priv;
-
if (width)
*width = priv->width;
if (height)
@@ -563,7 +552,7 @@ gtk_layout_get_property (GObject *object,
GParamSpec *pspec)
{
GtkLayout *layout = GTK_LAYOUT (object);
- GtkLayoutPrivate *priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
switch (prop_id)
{
@@ -598,7 +587,7 @@ gtk_layout_set_property (GObject *object,
GParamSpec *pspec)
{
GtkLayout *layout = GTK_LAYOUT (object);
- GtkLayoutPrivate *priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
switch (prop_id)
{
@@ -691,13 +680,10 @@ gtk_layout_get_child_property (GtkContainer *container,
static void
gtk_layout_init (GtkLayout *layout)
{
- GtkLayoutPrivate *priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
gtk_widget_set_has_surface (GTK_WIDGET (layout), FALSE);
- layout->priv = gtk_layout_get_instance_private (layout);
- priv = layout->priv;
-
priv->children = NULL;
priv->width = 100;
@@ -705,8 +691,6 @@ gtk_layout_init (GtkLayout *layout)
priv->hadjustment = NULL;
priv->vadjustment = NULL;
-
- priv->freeze_count = 0;
}
static void
@@ -728,7 +712,7 @@ gtk_layout_size_allocate (GtkWidget *widget,
int baseline)
{
GtkLayout *layout = GTK_LAYOUT (widget);
- GtkLayoutPrivate *priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
GList *tmp_list;
int scroll_x = 0;
int scroll_y = 0;
@@ -777,7 +761,7 @@ gtk_layout_remove (GtkContainer *container,
GtkWidget *widget)
{
GtkLayout *layout = GTK_LAYOUT (container);
- GtkLayoutPrivate *priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
GList *tmp_list;
GtkLayoutChild *child = NULL;
@@ -806,7 +790,7 @@ gtk_layout_forall (GtkContainer *container,
gpointer callback_data)
{
GtkLayout *layout = GTK_LAYOUT (container);
- GtkLayoutPrivate *priv = layout->priv;
+ GtkLayoutPrivate *priv = gtk_layout_get_instance_private (layout);
GtkLayoutChild *child;
GList *tmp_list;
@@ -824,12 +808,7 @@ gtk_layout_forall (GtkContainer *container,
static void
gtk_layout_adjustment_changed (GtkAdjustment *adjustment,
- GtkLayout *layout)
+ GtkWidget *layout)
{
- GtkLayoutPrivate *priv = layout->priv;
-
- if (priv->freeze_count)
- return;
-
- gtk_widget_queue_allocate (GTK_WIDGET (layout));
+ gtk_widget_queue_allocate (layout);
}
diff --git a/gtk/gtklayout.h b/gtk/gtklayout.h
index dfc5b777dd..272a02521f 100644
--- a/gtk/gtklayout.h
+++ b/gtk/gtklayout.h
@@ -48,15 +48,11 @@ G_BEGIN_DECLS
typedef struct _GtkLayout GtkLayout;
-typedef struct _GtkLayoutPrivate GtkLayoutPrivate;
typedef struct _GtkLayoutClass GtkLayoutClass;
struct _GtkLayout
{
- GtkContainer container;
-
- /*< private >*/
- GtkLayoutPrivate *priv;
+ GtkContainer parent_instance;
};
struct _GtkLayoutClass
diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c
index 51d7c58b43..ee5468aa55 100644
--- a/gtk/gtklinkbutton.c
+++ b/gtk/gtklinkbutton.c
@@ -107,7 +107,7 @@ static void gtk_link_button_set_property (GObject *object,
static void gtk_link_button_clicked (GtkButton *button);
static gboolean gtk_link_button_popup_menu (GtkWidget *widget);
static void gtk_link_button_drag_data_get_cb (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection,
gpointer user_data);
static gboolean gtk_link_button_query_tooltip_cb (GtkWidget *widget,
@@ -433,7 +433,7 @@ gtk_link_button_popup_menu (GtkWidget *widget)
static void
gtk_link_button_drag_data_get_cb (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection,
gpointer user_data)
{
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 0f3639d139..56ab6167d1 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -152,6 +152,11 @@ typedef struct {
#define N_DEBUG_DISPLAYS 4
DisplayDebugFlags debug_flags[N_DEBUG_DISPLAYS];
+/* This is a flag to speed up development builds. We set it to TRUE when
+ * any of the debug displays has debug flags >0, but we never set it back
+ * to FALSE. This way we don't need to call gtk_widget_get_display() in
+ * hot paths. */
+gboolean any_display_debug_flags_set = FALSE;
#ifdef G_ENABLE_DEBUG
static const GDebugKey gtk_debug_keys[] = {
@@ -603,6 +608,7 @@ do_pre_parse_initialization (void)
debug_flags[0].flags = g_parse_debug_string (env_string,
gtk_debug_keys,
G_N_ELEMENTS (gtk_debug_keys));
+ any_display_debug_flags_set = debug_flags[0].flags > 0;
env_string = NULL;
}
#endif /* G_ENABLE_DEBUG */
@@ -688,6 +694,12 @@ gtk_get_display_debug_flags (GdkDisplay *display)
return 0;
}
+gboolean
+gtk_get_any_display_debug_flag_set (void)
+{
+ return any_display_debug_flags_set;
+}
+
void
gtk_set_display_debug_flags (GdkDisplay *display,
guint flags)
@@ -702,6 +714,9 @@ gtk_set_display_debug_flags (GdkDisplay *display,
if (debug_flags[i].display == display)
{
debug_flags[i].flags = flags;
+ if (flags > 0)
+ any_display_debug_flags_set = TRUE;
+
return;
}
}
@@ -809,7 +824,7 @@ gtk_init_check (void)
* your program to fall back to a textual interface you want to
* call gtk_init_check() instead.
*
- * Since 2.18, GTK+ calls `signal (SIGPIPE, SIG_IGN)`
+ * GTK+ calls `signal (SIGPIPE, SIG_IGN)`
* during initialization, to ignore SIGPIPE signals, since these are
* almost never wanted in graphical applications. If you do need to
* handle SIGPIPE for some reason, reset the handler after gtk_init(),
@@ -1747,19 +1762,6 @@ gtk_main_do_event (GdkEvent *event)
if (!grab_widget)
grab_widget = gtk_window_group_get_current_grab (window_group);
- if (GTK_IS_WINDOW (event_widget) ||
- (grab_widget && grab_widget != event_widget &&
- !gtk_widget_is_ancestor (event_widget, grab_widget)))
- {
- /* Ignore event if we got a grab on another toplevel */
- if (!grab_widget ||
- gtk_widget_get_toplevel (event_widget) == gtk_widget_get_toplevel (grab_widget))
- {
- if (_gtk_window_check_handle_wm_event (event))
- goto cleanup;
- }
- }
-
/* If the grab widget is an ancestor of the event widget
* then we send the event to the original event widget.
* This is the key to implementing modality.
@@ -1801,9 +1803,13 @@ gtk_main_do_event (GdkEvent *event)
case GDK_DELETE:
g_object_ref (event_widget);
- if ((!gtk_window_group_get_current_grab (window_group) || gtk_widget_get_toplevel (gtk_window_group_get_current_grab (window_group)) == event_widget) &&
- !gtk_widget_event (event_widget, event))
- gtk_widget_destroy (event_widget);
+ if (!gtk_window_group_get_current_grab (window_group) ||
+ gtk_widget_get_toplevel (gtk_window_group_get_current_grab (window_group)) == event_widget)
+ {
+ if (!GTK_IS_WINDOW (event_widget) ||
+ !gtk_window_emit_close_request (GTK_WINDOW (event_widget)))
+ gtk_widget_destroy (event_widget);
+ }
g_object_unref (event_widget);
break;
@@ -1826,9 +1832,31 @@ gtk_main_do_event (GdkEvent *event)
gtk_widget_render (event_widget, event->any.surface, event->expose.region);
break;
- case GDK_FOCUS_CHANGE:
- case GDK_CONFIGURE:
case GDK_MAP:
+ if (GTK_IS_WINDOW (event_widget) && !_gtk_widget_get_mapped (event_widget))
+ {
+ /* we should be be unmapped, but are getting a MapEvent, this may happen
+ * to toplevel XWindows if mapping was intercepted by a window manager
+ * and an unmap request occurred while the MapRequestEvent was still
+ * being handled. we work around this situation here by re-requesting
+ * the window being unmapped. more details can be found in:
+ * http://bugzilla.gnome.org/show_bug.cgi?id=316180
+ */
+ gdk_surface_hide (_gtk_widget_get_surface (event_widget));
+ }
+ break;
+
+ case GDK_CONFIGURE:
+ if (GTK_IS_WINDOW (event_widget) &&
+ _gtk_widget_get_surface (event_widget) == event->any.surface)
+ {
+ gtk_window_configure (GTK_WINDOW (event_widget),
+ event->configure.width,
+ event->configure.height);
+ }
+
+ break;
+ case GDK_FOCUS_CHANGE:
case GDK_UNMAP:
case GDK_GRAB_BROKEN:
if (!_gtk_widget_captured_event (event_widget, event))
diff --git a/gtk/gtkmediastream.c b/gtk/gtkmediastream.c
index 569b4b9ce3..86f5c72cc5 100644
--- a/gtk/gtkmediastream.c
+++ b/gtk/gtkmediastream.c
@@ -651,7 +651,7 @@ gtk_media_stream_get_timestamp (GtkMediaStream *self)
/**
* gtk_media_stream_get_duration:
- * @self: a #GtkmediaStream
+ * @self: a #GtkMediaStream
*
* Gets the duration of the stream. If the duration is not known,
* 0 will be returned.
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c
index 8873345ffa..f9c497b8e5 100644
--- a/gtk/gtkmenushell.c
+++ b/gtk/gtkmenushell.c
@@ -76,6 +76,7 @@
#include "gtkwindow.h"
#include "gtkwindowprivate.h"
#include "gtkeventcontrollerkey.h"
+#include "gtkgesturemultipress.h"
#include "a11y/gtkmenushellaccessible.h"
@@ -124,8 +125,20 @@ static gboolean gtk_menu_shell_key_press (GtkEventControllerKey *key,
GtkWidget *widget);
static void gtk_menu_shell_display_changed (GtkWidget *widget,
GdkDisplay *previous_display);
-static gboolean gtk_menu_shell_event (GtkWidget *widget,
- GdkEvent *event);
+static void multi_press_pressed (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkMenuShell *menu_shell);
+static void multi_press_released (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkMenuShell *menu_shell);
+static void multi_press_stopped (GtkGestureMultiPress *gesture,
+ GtkMenuShell *menu_shell);
+
+
static void gtk_menu_shell_add (GtkContainer *container,
GtkWidget *widget);
static void gtk_menu_shell_remove (GtkContainer *container,
@@ -180,7 +193,6 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass)
object_class->finalize = gtk_menu_shell_finalize;
object_class->dispose = gtk_menu_shell_dispose;
- widget_class->event = gtk_menu_shell_event;
widget_class->display_changed = gtk_menu_shell_display_changed;
container_class->add = gtk_menu_shell_add;
@@ -422,6 +434,15 @@ gtk_menu_shell_init (GtkMenuShell *menu_shell)
gtk_widget_add_controller (widget, controller);
gtk_widget_set_has_surface (widget, FALSE);
+
+ controller = GTK_EVENT_CONTROLLER (gtk_gesture_multi_press_new ());
+ g_signal_connect (controller, "pressed",
+ G_CALLBACK (multi_press_pressed), menu_shell);
+ g_signal_connect (controller, "released",
+ G_CALLBACK (multi_press_released), menu_shell);
+ g_signal_connect (controller, "stopped",
+ G_CALLBACK (multi_press_stopped), menu_shell);
+ gtk_widget_add_controller (widget, controller);
}
static void
@@ -605,217 +626,238 @@ gtk_menu_shell_get_toplevel_shell (GtkMenuShell *menu_shell)
return menu_shell;
}
-static gboolean
-gtk_menu_shell_event (GtkWidget *widget,
- GdkEvent *event)
+static void
+multi_press_stopped (GtkGestureMultiPress *gesture,
+ GtkMenuShell *menu_shell)
{
- GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
GtkMenuShellPrivate *priv = menu_shell->priv;
GdkSurface *surface;
+ GdkEvent *event;
- if (gdk_event_get_event_type (event) == GDK_GRAB_BROKEN)
- {
- gdk_event_get_grab_surface (event, &surface);
+ event = gtk_get_current_event ();
+ if (!event)
+ return;
+ if (gdk_event_get_grab_surface (event, &surface))
+ {
if (priv->have_xgrab && surface == NULL)
{
/* Unset the active menu item so gtk_menu_popdown() doesn't see it. */
gtk_menu_shell_deselect (menu_shell);
gtk_menu_shell_deactivate_and_emit_done (menu_shell);
}
-
- return GDK_EVENT_STOP;
}
- else if (gdk_event_get_event_type (event) == GDK_BUTTON_PRESS)
- {
- GtkWidget *menu_item;
- menu_item = gtk_get_event_target_with_type (event, GTK_TYPE_MENU_ITEM);
+ g_object_unref (event);
+}
- if (menu_item &&
- _gtk_menu_item_is_selectable (menu_item) &&
- gtk_widget_get_parent (menu_item) == widget)
- {
- if (menu_item != menu_shell->priv->active_menu_item)
- {
- /* select the menu item *before* activating the shell, so submenus
- * which might be open are closed the friendly way. If we activate
- * (and thus grab) this menu shell first, we might get grab_broken
- * events which will close the entire menu hierarchy. Selecting the
- * menu item also fixes up the state as if enter_notify() would
- * have run before (which normally selects the item).
- */
- if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM)
- gtk_menu_shell_select_item (menu_shell, menu_item);
- }
+static void
+multi_press_pressed (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkMenuShell *menu_shell)
+{
+ GtkMenuShellPrivate *priv = menu_shell->priv;
+ GtkWidget *menu_item;
+ GdkEvent *event;
- if (GTK_MENU_ITEM (menu_item)->priv->submenu != NULL &&
- !gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->priv->submenu))
- {
- _gtk_menu_item_popup_submenu (menu_item, FALSE);
- priv->activated_submenu = TRUE;
- }
+ event = gtk_get_current_event ();
+ menu_item = gtk_get_event_target_with_type (event, GTK_TYPE_MENU_ITEM);
+
+ if (menu_item &&
+ _gtk_menu_item_is_selectable (menu_item) &&
+ gtk_widget_get_parent (menu_item) == GTK_WIDGET (menu_shell))
+ {
+ if (menu_item != menu_shell->priv->active_menu_item)
+ {
+ /* select the menu item *before* activating the shell, so submenus
+ * which might be open are closed the friendly way. If we activate
+ * (and thus grab) this menu shell first, we might get grab_broken
+ * events which will close the entire menu hierarchy. Selecting the
+ * menu item also fixes up the state as if enter_notify() would
+ * have run before (which normally selects the item).
+ */
+ if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM)
+ gtk_menu_shell_select_item (menu_shell, menu_item);
}
- if (!priv->active || !priv->button)
+ if (GTK_MENU_ITEM (menu_item)->priv->submenu != NULL &&
+ !gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->priv->submenu))
{
- gboolean initially_active = priv->active;
- guint button;
- guint32 time;
+ _gtk_menu_item_popup_submenu (menu_item, FALSE);
+ priv->activated_submenu = TRUE;
+ }
+ }
+
+ if (!priv->active || !priv->button)
+ {
+ gboolean initially_active = priv->active;
+ guint button;
+ guint32 time;
- gdk_event_get_button (event, &button);
- time = gdk_event_get_time (event);
+ button = gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture));
+ time = gdk_event_get_time (event);
- priv->button = button;
+ priv->button = button;
- if (menu_item)
+ if (menu_item)
+ {
+ if (_gtk_menu_item_is_selectable (menu_item) &&
+ gtk_widget_get_parent (menu_item) == GTK_WIDGET (menu_shell) &&
+ menu_item != priv->active_menu_item)
{
- if (_gtk_menu_item_is_selectable (menu_item) &&
- gtk_widget_get_parent (menu_item) == widget &&
- menu_item != priv->active_menu_item)
- {
- gtk_menu_shell_activate (menu_shell);
+ gtk_menu_shell_activate (menu_shell);
- if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)
- {
- priv->activate_time = time;
- gtk_menu_shell_select_item (menu_shell, menu_item);
- }
+ if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)
+ {
+ priv->activate_time = time;
+ gtk_menu_shell_select_item (menu_shell, menu_item);
}
}
- else if (!initially_active)
- {
- gtk_menu_shell_deactivate (menu_shell);
- return GDK_EVENT_STOP;
- }
}
+ else if (!initially_active)
+ {
+ gtk_menu_shell_deactivate (menu_shell);
+ gtk_gesture_set_state (GTK_GESTURE (gesture),
+ GTK_EVENT_SEQUENCE_CLAIMED);
+ }
+ }
+
+ g_object_unref (event);
+}
+
+static void
+multi_press_released (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkMenuShell *menu_shell)
+{
+ GtkMenuShellPrivate *priv = menu_shell->priv;
+ GtkMenuShell *parent_shell = GTK_MENU_SHELL (priv->parent_menu_shell);
+ gboolean activated_submenu = FALSE;
+ guint new_button;
+ guint32 time;
+ GdkEvent *event;
+
+ event = gtk_get_current_event ();
+ new_button = gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture));
+ time = gdk_event_get_time (event);
- return GDK_EVENT_PROPAGATE;
+ gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
+
+ if (parent_shell)
+ {
+ /* If a submenu was just activated, it is its shell which is receiving
+ * the button release event. In this case, we must check the parent
+ * shell to know about the submenu state.
+ */
+ activated_submenu = parent_shell->priv->activated_submenu;
+ parent_shell->priv->activated_submenu = FALSE;
}
- else if (gdk_event_get_event_type (event) == GDK_BUTTON_RELEASE)
+
+ if (priv->parent_menu_shell &&
+ (time - GTK_MENU_SHELL (priv->parent_menu_shell)->priv->activate_time) < MENU_SHELL_TIMEOUT)
{
- GtkMenuShell *parent_shell = GTK_MENU_SHELL (priv->parent_menu_shell);
- gboolean activated_submenu = FALSE;
- guint new_button;
- guint32 time;
+ /* The button-press originated in the parent menu bar and we are
+ * a pop-up menu. It was a quick press-and-release so we don't want
+ * to activate an item but we leave the popup in place instead.
+ * https://bugzilla.gnome.org/show_bug.cgi?id=703069
+ */
+ GTK_MENU_SHELL (priv->parent_menu_shell)->priv->activate_time = 0;
+ return;
+ }
- gdk_event_get_button (event, &new_button);
- time = gdk_event_get_time (event);
+ if (priv->active)
+ {
+ GtkWidget *menu_item;
+ guint button = priv->button;
- if (parent_shell)
+ priv->button = 0;
+
+ if (button && (new_button != button) && priv->parent_menu_shell)
{
- /* If a submenu was just activated, it is its shell which is receiving
- * the button release event. In this case, we must check the parent
- * shell to know about the submenu state.
- */
- activated_submenu = parent_shell->priv->activated_submenu;
- parent_shell->priv->activated_submenu = FALSE;
+ gtk_menu_shell_deactivate_and_emit_done (gtk_menu_shell_get_toplevel_shell (menu_shell));
+ return;
}
- if (priv->parent_menu_shell &&
- (time - GTK_MENU_SHELL (priv->parent_menu_shell)->priv->activate_time) < MENU_SHELL_TIMEOUT)
+ if ((time - priv->activate_time) <= MENU_SHELL_TIMEOUT)
{
- /* The button-press originated in the parent menu bar and we are
- * a pop-up menu. It was a quick press-and-release so we don't want
- * to activate an item but we leave the popup in place instead.
- * https://bugzilla.gnome.org/show_bug.cgi?id=703069
+ /* We only ever want to prevent deactivation on the first
+ * press/release. Setting the time to zero is a bit of a
+ * hack, since we could be being triggered in the first
+ * few fractions of a second after a server time wraparound.
+ * the chances of that happening are ~1/10^6, without
+ * serious harm if we lose.
*/
- GTK_MENU_SHELL (priv->parent_menu_shell)->priv->activate_time = 0;
- return GDK_EVENT_STOP;
+ priv->activate_time = 0;
+ return;
}
- if (priv->active)
+ menu_item = gtk_get_event_target_with_type (event, GTK_TYPE_MENU_ITEM);
+
+ if (menu_item)
{
- GtkWidget *menu_item;
- guint button = priv->button;
+ GtkWidget *submenu = GTK_MENU_ITEM (menu_item)->priv->submenu;
+ GtkWidget *parent_menu_item_shell = gtk_widget_get_parent (menu_item);
- priv->button = 0;
+ if (!_gtk_menu_item_is_selectable (GTK_WIDGET (menu_item)))
+ return;
- if (button && (new_button != button) && priv->parent_menu_shell)
+ if (submenu == NULL)
{
- gtk_menu_shell_deactivate_and_emit_done (gtk_menu_shell_get_toplevel_shell (menu_shell));
- return GDK_EVENT_STOP;
+ gtk_menu_shell_activate_item (menu_shell, GTK_WIDGET (menu_item), TRUE);
+ return;
}
-
- if ((time - priv->activate_time) <= MENU_SHELL_TIMEOUT)
+ else if (GTK_MENU_SHELL (parent_menu_item_shell)->priv->parent_menu_shell &&
+ (activated_submenu ||
+ GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM))
{
- /* We only ever want to prevent deactivation on the first
- * press/release. Setting the time to zero is a bit of a
- * hack, since we could be being triggered in the first
- * few fractions of a second after a server time wraparound.
- * the chances of that happening are ~1/10^6, without
- * serious harm if we lose.
- */
- priv->activate_time = 0;
- return GDK_EVENT_STOP;
- }
+ GTimeVal *popup_time;
+ gint64 usec_since_popup = 0;
- menu_item = gtk_get_event_target_with_type (event, GTK_TYPE_MENU_ITEM);
+ popup_time = g_object_get_data (G_OBJECT (menu_shell),
+ "gtk-menu-exact-popup-time");
+ if (popup_time)
+ {
+ GTimeVal current_time;
- if (menu_item)
- {
- GtkWidget *submenu = GTK_MENU_ITEM (menu_item)->priv->submenu;
- GtkWidget *parent_menu_item_shell = gtk_widget_get_parent (menu_item);
+ g_get_current_time (&current_time);
- if (!_gtk_menu_item_is_selectable (GTK_WIDGET (menu_item)))
- return GDK_EVENT_STOP;
+ usec_since_popup = ((gint64) current_time.tv_sec * 1000 * 1000 +
+ (gint64) current_time.tv_usec -
+ (gint64) popup_time->tv_sec * 1000 * 1000 -
+ (gint64) popup_time->tv_usec);
+
+ g_object_set_data (G_OBJECT (menu_shell),
+ "gtk-menu-exact-popup-time", NULL);
+ }
- if (submenu == NULL)
+ /* Only close the submenu on click if we opened the
+ * menu explicitly (usec_since_popup == 0) or
+ * enough time has passed since it was opened by
+ * GtkMenuItem's timeout (usec_since_popup > delay).
+ */
+ if (!activated_submenu &&
+ (usec_since_popup == 0 ||
+ usec_since_popup > MENU_POPDOWN_DELAY * 1000))
{
- gtk_menu_shell_activate_item (menu_shell, GTK_WIDGET (menu_item), TRUE);
- return GDK_EVENT_STOP;
+ _gtk_menu_item_popdown_submenu (menu_item);
}
- else if (GTK_MENU_SHELL (parent_menu_item_shell)->priv->parent_menu_shell &&
- (activated_submenu ||
- GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM))
+ else
{
- GTimeVal *popup_time;
- gint64 usec_since_popup = 0;
-
- popup_time = g_object_get_data (G_OBJECT (menu_shell),
- "gtk-menu-exact-popup-time");
- if (popup_time)
- {
- GTimeVal current_time;
-
- g_get_current_time (&current_time);
-
- usec_since_popup = ((gint64) current_time.tv_sec * 1000 * 1000 +
- (gint64) current_time.tv_usec -
- (gint64) popup_time->tv_sec * 1000 * 1000 -
- (gint64) popup_time->tv_usec);
-
- g_object_set_data (G_OBJECT (menu_shell),
- "gtk-menu-exact-popup-time", NULL);
- }
-
- /* Only close the submenu on click if we opened the
- * menu explicitly (usec_since_popup == 0) or
- * enough time has passed since it was opened by
- * GtkMenuItem's timeout (usec_since_popup > delay).
- */
- if (!activated_submenu &&
- (usec_since_popup == 0 ||
- usec_since_popup > MENU_POPDOWN_DELAY * 1000))
- {
- _gtk_menu_item_popdown_submenu (menu_item);
- }
- else
- {
- gtk_menu_item_select (GTK_MENU_ITEM (menu_item));
- }
-
- return GDK_EVENT_STOP;
+ gtk_menu_item_select (GTK_MENU_ITEM (menu_item));
}
- }
- gtk_menu_shell_deactivate_and_emit_done (gtk_menu_shell_get_toplevel_shell (menu_shell));
+ return;
+ }
}
- return GDK_EVENT_STOP;
+ gtk_menu_shell_deactivate_and_emit_done (gtk_menu_shell_get_toplevel_shell (menu_shell));
}
- return GDK_EVENT_PROPAGATE;
+ g_object_unref (event);
}
void
diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c
index 467928a083..0b4fbf625d 100644
--- a/gtk/gtkmodelbutton.c
+++ b/gtk/gtkmodelbutton.c
@@ -171,6 +171,7 @@ enum
PROP_ROLE,
PROP_ICON,
PROP_TEXT,
+ PROP_USE_MARKUP,
PROP_ACTIVE,
PROP_MENU_NAME,
PROP_INVERTED,
@@ -390,6 +391,19 @@ gtk_model_button_set_text (GtkModelButton *button,
}
static void
+gtk_model_button_set_use_markup (GtkModelButton *button,
+ gboolean use_markup)
+{
+ use_markup = !!use_markup;
+ if (gtk_label_get_use_markup (GTK_LABEL (button->label)) == use_markup)
+ return;
+
+ gtk_label_set_use_markup (GTK_LABEL (button->label), use_markup);
+ update_visibility (button);
+ g_object_notify_by_pspec (G_OBJECT (button), properties[PROP_USE_MARKUP]);
+}
+
+static void
gtk_model_button_set_active (GtkModelButton *button,
gboolean active)
{
@@ -507,6 +521,10 @@ gtk_model_button_get_property (GObject *object,
g_value_set_string (value, gtk_label_get_text (GTK_LABEL (button->label)));
break;
+ case PROP_USE_MARKUP:
+ g_value_set_boolean (value, gtk_label_get_use_markup (GTK_LABEL (button->label)));
+ break;
+
case PROP_ACTIVE:
g_value_set_boolean (value, button->active);
break;
@@ -555,6 +573,10 @@ gtk_model_button_set_property (GObject *object,
gtk_model_button_set_text (button, g_value_get_string (value));
break;
+ case PROP_USE_MARKUP:
+ gtk_model_button_set_use_markup (button, g_value_get_boolean (value));
+ break;
+
case PROP_ACTIVE:
gtk_model_button_set_active (button, g_value_get_boolean (value));
break;
@@ -957,6 +979,20 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/**
+ * GtkModelButton:use-markup:
+ *
+ * If %TRUE, XML tags in the text of the button are interpreted as by
+ * pango_parse_markup() to format the enclosed spans of text. If %FALSE, the
+ * text will be displayed verbatim.
+ */
+ properties[PROP_USE_MARKUP] =
+ g_param_spec_boolean ("use-markup",
+ P_("Use markup"),
+ P_("The text of the button includes XML markup. See pango_parse_markup()"),
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
+
+ /**
* GtkModelButton:active:
*
* The state of the button. This is reflecting the state of the associated
diff --git a/gtk/gtknativedialog.c b/gtk/gtknativedialog.c
index 931e2a0c90..ffe783c99f 100644
--- a/gtk/gtknativedialog.c
+++ b/gtk/gtknativedialog.c
@@ -575,7 +575,7 @@ run_response_cb (GtkNativeDialog *self,
* modal dialog (it prevents the user from interacting with other
* windows in the same window group while the dialog is run), callbacks
* such as timeouts, IO channel watches, DND drops, etc, will
- * be triggered during a gtk_nautilus_dialog_run() call.
+ * be triggered during a gtk_native_dialog_run() call.
*
* Returns: response ID
**/
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index a51110d9ed..c371de0128 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -383,11 +383,11 @@ static gboolean gtk_notebook_focus (GtkWidget *widget,
/*** Drag and drop Methods ***/
static void gtk_notebook_drag_begin (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_notebook_drag_end (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static gboolean gtk_notebook_drag_failed (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkDragResult result);
static gboolean gtk_notebook_drag_motion (GtkWidget *widget,
GdkDrop *drop,
@@ -400,7 +400,7 @@ static gboolean gtk_notebook_drag_drop (GtkWidget *widget,
gint x,
gint y);
static void gtk_notebook_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *data);
static void gtk_notebook_drag_data_received (GtkWidget *widget,
GdkDrop *drop,
@@ -2864,7 +2864,7 @@ update_arrow_nodes (GtkNotebook *notebook)
static void
gtk_notebook_drag_begin (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkNotebook *notebook = GTK_NOTEBOOK (widget);
GtkNotebookPrivate *priv = notebook->priv;
@@ -2895,14 +2895,14 @@ gtk_notebook_drag_begin (GtkWidget *widget,
gtk_style_context_add_class (gtk_widget_get_style_context (priv->dnd_child), "background");
- gtk_drag_set_icon_widget (context, tab_label, -2, -2);
- g_object_set_data (G_OBJECT (priv->dnd_child), "drag-context", context);
+ gtk_drag_set_icon_widget (drag, tab_label, -2, -2);
+ g_object_set_data (G_OBJECT (priv->dnd_child), "drag-context", drag);
g_object_unref (tab_label);
}
static void
gtk_notebook_drag_end (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkNotebook *notebook = GTK_NOTEBOOK (widget);
GtkNotebookPrivate *priv = notebook->priv;
@@ -2914,7 +2914,7 @@ gtk_notebook_drag_end (GtkWidget *widget,
GtkNotebook *dest_notebook = NULL;
gint x, y;
- gdk_device_get_position (gdk_drag_context_get_device (context), &x, &y);
+ gdk_device_get_position (gdk_drag_get_device (drag), &x, &y);
g_signal_emit (notebook, notebook_signals[CREATE_WINDOW], 0,
priv->detached_tab->child, x, y, &dest_notebook);
@@ -2950,7 +2950,7 @@ gtk_notebook_create_window (GtkNotebook *notebook,
static gboolean
gtk_notebook_drag_failed (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkDragResult result)
{
GtkNotebook *notebook = GTK_NOTEBOOK (widget);
@@ -2963,7 +2963,7 @@ gtk_notebook_drag_failed (GtkWidget *widget,
GtkNotebook *dest_notebook = NULL;
gint x, y;
- gdk_device_get_position (gdk_drag_context_get_device (context), &x, &y);
+ gdk_device_get_position (gdk_drag_get_device (drag), &x, &y);
g_signal_emit (notebook, notebook_signals[CREATE_WINDOW], 0,
priv->detached_tab->child, x, y, &dest_notebook);
@@ -3200,7 +3200,7 @@ do_detach_tab (GtkNotebook *from,
static void
gtk_notebook_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *data)
{
GtkNotebook *notebook = GTK_NOTEBOOK (widget);
@@ -3230,7 +3230,7 @@ gtk_notebook_drag_data_received (GtkWidget *widget,
GtkSelectionData *data)
{
GtkNotebook *notebook;
- GdkDragContext *drag;
+ GdkDrag *drag;
GtkWidget *source_widget;
GtkWidget **child;
@@ -4162,10 +4162,10 @@ gtk_notebook_real_remove (GtkNotebook *notebook,
if (priv->operation == DRAG_OPERATION_DETACH && !priv->remove_in_detach)
{
- GdkDragContext *context;
+ GdkDrag *drag;
- context = (GdkDragContext *)g_object_get_data (G_OBJECT (priv->dnd_child), "drag-context");
- gtk_drag_cancel (context);
+ drag = (GdkDrag *)g_object_get_data (G_OBJECT (priv->dnd_child), "drag-context");
+ gtk_drag_cancel (drag);
}
}
if (priv->switch_tab == list)
@@ -7038,7 +7038,7 @@ gtk_notebook_get_tab_detachable (GtkNotebook *notebook,
* |[<!-- language="C" -->
* static void
* on_drag_data_received (GtkWidget *widget,
- * GdkDragContext *context,
+ * GdkDrag *drag,
* GtkSelectionData *data,
* guint time,
* gpointer user_data)
@@ -7046,7 +7046,7 @@ gtk_notebook_get_tab_detachable (GtkNotebook *notebook,
* GtkWidget *notebook;
* GtkWidget **child;
*
- * notebook = gtk_drag_get_source_widget (context);
+ * notebook = gtk_drag_get_source_widget (drag);
* child = (void*) gtk_selection_data_get_data (data);
*
* // process_widget (*child);
diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c
index 9a2b5556e6..eeaf6e4326 100644
--- a/gtk/gtkpathbar.c
+++ b/gtk/gtkpathbar.c
@@ -1283,7 +1283,7 @@ find_button_type (GtkPathBar *path_bar,
static void
button_drag_data_get_cb (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
gpointer data)
{
diff --git a/gtk/gtkpicture.c b/gtk/gtkpicture.c
index a33f365c1c..887ac7acf9 100644
--- a/gtk/gtkpicture.c
+++ b/gtk/gtkpicture.c
@@ -50,13 +50,13 @@
* “broken image” icon similar to that used in many web browsers.
* If you want to handle errors in loading the file yourself,
* for example by displaying an error message, then load the image with
- * gdk_texture_new_for_file(), then create the #GtkPicture with
+ * gdk_texture_new_from_file(), then create the #GtkPicture with
* gtk_picture_new_for_paintable().
*
* Sometimes an application will want to avoid depending on external data
* files, such as image files. See the documentation of #GResource for details.
- * In this case, the #GtkPicture:resource property, gtk_picture_new_for_resource() and
- * gtk_picture_set_resource() should be used.
+ * In this case, gtk_picture_new_for_resource() and gtk_picture_set_resource()
+ * should be used.
*
* # CSS nodes
*
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index b13b8dad16..5ec8408ee9 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -63,6 +63,8 @@
#include "gtkmodelbutton.h"
#include "gtkprivate.h"
#include "gtkeventcontrollerkey.h"
+#include "gtkgesturemultipress.h"
+#include "gtkgesturedrag.h"
/*< private >
* SECTION:gtkplacessidebar
@@ -153,8 +155,6 @@ struct _GtkPlacesSidebar {
gint drag_row_height;
gint drag_row_x;
gint drag_row_y;
- gint drag_x;
- gint drag_y;
GtkWidget *row_placeholder;
DropState drop_state;
@@ -203,7 +203,7 @@ struct _GtkPlacesSidebarClass {
const gchar *primary,
const gchar *secondary);
GdkDragAction (* drag_action_requested) (GtkPlacesSidebar *sidebar,
- GdkDragContext *context,
+ GdkDrag *drag,
GFile *dest_file,
GList *source_file_list);
GdkDragAction (* drag_action_ask) (GtkPlacesSidebar *sidebar,
@@ -285,9 +285,21 @@ static void check_unmount_and_eject (GMount *mount,
GDrive *drive,
gboolean *show_unmount,
gboolean *show_eject);
-static gboolean on_row_event (GtkWidget *widget,
- GdkEvent *event,
- GtkSidebarRow *sidebar);
+static void on_row_pressed (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkSidebarRow *row);
+static void on_row_released (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkSidebarRow *row);
+static void on_row_dragged (GtkGestureDrag *gesture,
+ gdouble x,
+ gdouble y,
+ GtkSidebarRow *row);
+
static void popup_menu_cb (GtkSidebarRow *row);
static void long_press_cb (GtkGesture *gesture,
gdouble x,
@@ -464,6 +476,7 @@ add_place (GtkPlacesSidebar *sidebar,
gboolean show_eject_button;
GtkWidget *row;
GtkWidget *eject_button;
+ GtkGesture *gesture;
check_unmount_and_eject (mount, volume, drive,
&show_unmount, &show_eject);
@@ -496,8 +509,19 @@ add_place (GtkPlacesSidebar *sidebar,
g_signal_connect_swapped (eject_button, "clicked",
G_CALLBACK (eject_or_unmount_bookmark), row);
- g_signal_connect (GTK_SIDEBAR_ROW (row), "event",
- G_CALLBACK (on_row_event), row);
+
+ gesture = gtk_gesture_multi_press_new ();
+ gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (gesture), 0);
+ g_signal_connect (gesture, "pressed",
+ G_CALLBACK (on_row_pressed), row);
+ g_signal_connect (gesture, "released",
+ G_CALLBACK (on_row_released), row);
+ gtk_widget_add_controller (row, GTK_EVENT_CONTROLLER (gesture));
+
+ gesture = gtk_gesture_drag_new ();
+ g_signal_connect (gesture, "drag-update",
+ G_CALLBACK (on_row_dragged), row);
+ gtk_widget_add_controller (row, GTK_EVENT_CONTROLLER (gesture));
gtk_container_add (GTK_CONTAINER (sidebar->list_box), GTK_WIDGET (row));
@@ -1696,45 +1720,9 @@ stop_drop_feedback (GtkPlacesSidebar *sidebar)
sidebar->drag_data_info = DND_UNKNOWN;
}
-static gboolean
-sidebar_event_cb (GtkWidget *widget,
- GdkEvent *event,
- gpointer user_data)
-{
- GtkPlacesSidebar *sidebar = GTK_PLACES_SIDEBAR (user_data);
- guint state;
- double x, y;
-
- if (gdk_event_get_event_type (event) != GDK_MOTION_NOTIFY)
- return GDK_EVENT_PROPAGATE;
-
- if (sidebar->drag_row == NULL || sidebar->dragging_over)
- return GDK_EVENT_PROPAGATE;
-
- if (!gdk_event_get_state (event, &state) ||
- !(state & GDK_BUTTON1_MASK))
- return GDK_EVENT_PROPAGATE;
-
- gdk_event_get_coords ((GdkEvent *) event, &x, &y);
-
- if (gtk_drag_check_threshold (widget,
- sidebar->drag_x, sidebar->drag_y,
- x, y))
- {
- sidebar->dragging_over = TRUE;
-
- gtk_drag_begin_with_coordinates (widget,
- gdk_event_get_device ((GdkEvent*) event),
- sidebar->source_targets, GDK_ACTION_MOVE,
- sidebar->drag_x, sidebar->drag_y);
- }
-
- return GDK_EVENT_PROPAGATE;
-}
-
static void
drag_begin_callback (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer user_data)
{
GtkPlacesSidebar *sidebar = GTK_PLACES_SIDEBAR (user_data);
@@ -1750,7 +1738,7 @@ drag_begin_callback (GtkWidget *widget,
gtk_widget_set_opacity (drag_widget, 0.8);
- gtk_drag_set_icon_widget (context,
+ gtk_drag_set_icon_widget (drag,
drag_widget,
sidebar->drag_row_x,
sidebar->drag_row_y);
@@ -1963,7 +1951,7 @@ drop_files_as_bookmarks (GtkPlacesSidebar *sidebar,
static void
drag_data_get_callback (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *data,
gpointer user_data)
{
@@ -2097,7 +2085,7 @@ out:
static void
drag_end_callback (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer user_data)
{
stop_drop_feedback (GTK_PLACES_SIDEBAR (user_data));
@@ -3706,15 +3694,44 @@ on_row_activated (GtkListBox *list_box,
open_row (selected_row, 0);
}
-static gboolean
-on_row_event (GtkWidget *widget,
- GdkEvent *event,
- GtkSidebarRow *row)
+static void
+on_row_pressed (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkSidebarRow *row)
+{
+ GtkPlacesSidebar *sidebar;
+ GtkPlacesSidebarSectionType section_type;
+ GtkPlacesSidebarPlaceType row_type;
+
+ g_object_get (row,
+ "sidebar", &sidebar,
+ "section_type", &section_type,
+ "place-type", &row_type,
+ NULL);
+
+ if (section_type == SECTION_BOOKMARKS)
+ {
+ sidebar->drag_row = GTK_WIDGET (row);
+ sidebar->drag_row_x = (gint)x;
+ sidebar->drag_row_y = (gint)y;
+ }
+
+ g_object_unref (sidebar);
+}
+
+static void
+on_row_released (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkSidebarRow *row)
{
GtkPlacesSidebar *sidebar;
GtkPlacesSidebarSectionType section_type;
GtkPlacesSidebarPlaceType row_type;
- gdouble x, y;
+ guint button, state;
g_object_get (row,
"sidebar", &sidebar,
@@ -3722,54 +3739,67 @@ on_row_event (GtkWidget *widget,
"place-type", &row_type,
NULL);
- if (gdk_event_get_event_type (event) == GDK_BUTTON_PRESS)
+ button = gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture));
+ gtk_get_current_event_state (&state);
+
+ if (row)
{
- if (section_type == SECTION_BOOKMARKS)
+ if (button == 2)
{
- gdk_event_get_coords ((GdkEvent *) event, &x, &y);
- sidebar->drag_row = GTK_WIDGET (row);
- sidebar->drag_row_x = (gint)x;
- sidebar->drag_row_y = (gint)y;
+ GtkPlacesOpenFlags open_flags = GTK_PLACES_OPEN_NORMAL;
- sidebar->drag_x = x;
- sidebar->drag_y = y;
+ open_flags = (state & GDK_CONTROL_MASK) ?
+ GTK_PLACES_OPEN_NEW_WINDOW :
+ GTK_PLACES_OPEN_NEW_TAB;
+
+ open_row (GTK_SIDEBAR_ROW (row), open_flags);
+ gtk_gesture_set_state (GTK_GESTURE (gesture),
+ GTK_EVENT_SEQUENCE_CLAIMED);
}
+ else if (button == 3)
+ {
+ if (row_type != PLACES_CONNECT_TO_SERVER)
+ show_row_popover (GTK_SIDEBAR_ROW (row));
+ }
+ }
+}
+
+static void
+on_row_dragged (GtkGestureDrag *gesture,
+ gdouble x,
+ gdouble y,
+ GtkSidebarRow *row)
+{
+ GtkPlacesSidebar *sidebar;
+
+ g_object_get (row, "sidebar", &sidebar, NULL);
+ if (sidebar->drag_row == NULL || sidebar->dragging_over)
+ {
g_object_unref (sidebar);
+ return;
}
- else if (gdk_event_get_event_type (event) == GDK_BUTTON_RELEASE)
- {
- gboolean ret = FALSE;
- guint button, state;
- if (row &&
- gdk_event_get_button (event, &button) &&
- gdk_event_get_state (event, &state))
- {
- if (button == 1)
- ret = FALSE;
- else if (button == 2)
- {
- GtkPlacesOpenFlags open_flags = GTK_PLACES_OPEN_NORMAL;
+ if (gtk_drag_check_threshold (GTK_WIDGET (row), 0, 0, x, y))
+ {
+ gdouble start_x, start_y;
+ gint drag_x, drag_y;
- open_flags = (state & GDK_CONTROL_MASK) ?
- GTK_PLACES_OPEN_NEW_WINDOW :
- GTK_PLACES_OPEN_NEW_TAB;
+ gtk_gesture_drag_get_start_point (gesture, &start_x, &start_y);
+ gtk_widget_translate_coordinates (GTK_WIDGET (row),
+ GTK_WIDGET (sidebar),
+ start_x, start_y,
+ &drag_x, &drag_y);
- open_row (GTK_SIDEBAR_ROW (row), open_flags);
- ret = TRUE;
- }
- else if (button == 3)
- {
- if (row_type != PLACES_CONNECT_TO_SERVER)
- show_row_popover (GTK_SIDEBAR_ROW (row));
- }
- }
+ sidebar->dragging_over = TRUE;
- return ret;
+ gtk_drag_begin_with_coordinates (GTK_WIDGET (sidebar),
+ gtk_gesture_get_device (GTK_GESTURE (gesture)),
+ sidebar->source_targets, GDK_ACTION_MOVE,
+ drag_x, drag_y);
}
- return FALSE;
+ g_object_unref (sidebar);
}
static void
@@ -4064,8 +4094,6 @@ gtk_places_sidebar_init (GtkPlacesSidebar *sidebar)
sidebar->source_targets = gdk_content_formats_new (dnd_source_targets, G_N_ELEMENTS (dnd_source_targets));
sidebar->source_targets = gtk_content_formats_add_text_targets (sidebar->source_targets);
- g_signal_connect (sidebar->list_box, "event",
- G_CALLBACK (sidebar_event_cb), sidebar);
g_signal_connect (sidebar->list_box, "drag-begin",
G_CALLBACK (drag_begin_callback), sidebar);
g_signal_connect (sidebar->list_box, "drag-motion",
@@ -4420,7 +4448,7 @@ gtk_places_sidebar_class_init (GtkPlacesSidebarClass *class)
* emitted) every time the user activates the contextual menu.
*
* Before 3.18, the @container always was a #GtkMenu, and you were expected
- * to add your items as #GtkMenuItems. Since 3.18, the popup may be implemented
+ * to add your items as #GtkMenuItems. The popup may be implemented
* as a #GtkPopover, in which case @container will be something else, e.g. a
* #GtkBox, to which you may add #GtkModelButtons or other widgets, such as
* #GtkEntries, #GtkSpinButtons, etc. If your application can deal with this
diff --git a/gtk/gtkplacesview.c b/gtk/gtkplacesview.c
index fd5968dff0..693a28e3b3 100644
--- a/gtk/gtkplacesview.c
+++ b/gtk/gtkplacesview.c
@@ -1816,7 +1816,6 @@ out:
static void
on_address_entry_show_help_pressed (GtkPlacesView *view,
GtkEntryIconPosition icon_pos,
- GdkEvent *event,
GtkEntry *entry)
{
GtkPlacesViewPrivate *priv;
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index 4dbc6398db..3263f06775 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -131,6 +131,8 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
#include "gtkwindowprivate.h"
+#include "gtkgesturemultipress.h"
+#include "gtkeventcontrollerkey.h"
#include "a11y/gtkpopoveraccessible.h"
@@ -266,12 +268,87 @@ node_style_changed_cb (GtkCssNode *node,
gtk_widget_queue_draw (widget);
}
+static gboolean
+key_controller_key_pressed (GtkEventControllerKey *key,
+ guint keyval,
+ guint keycode,
+ GdkModifierType modifiers,
+ GtkPopover *popover)
+{
+ GtkPopoverPrivate *priv = gtk_popover_get_instance_private (popover);
+ GtkWidget *toplevel, *focus;
+
+ if (keyval == GDK_KEY_Escape)
+ {
+ gtk_popover_popdown (popover);
+ return TRUE;
+ }
+
+ if (priv->modal)
+ {
+ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (popover));
+
+ if (GTK_IS_WINDOW (toplevel))
+ {
+ focus = gtk_window_get_focus (GTK_WINDOW (toplevel));
+
+ if (focus && gtk_widget_is_ancestor (focus, GTK_WIDGET (popover)))
+ {
+ if (gtk_event_controller_key_forward (key, focus))
+ return TRUE;
+ }
+
+ /* Piggyback on the toplevel to have it handle key navigation */
+ return gtk_event_controller_key_forward (key, toplevel);
+ }
+ }
+
+ return FALSE;
+}
+
+static void
+gesture_pressed (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkPopover *popover)
+{
+ GtkPopoverPrivate *priv = gtk_popover_get_instance_private (popover);
+
+ priv->button_pressed = TRUE;
+}
+
+static void
+gesture_released (GtkGestureMultiPress *gesture,
+ gint n_press,
+ gdouble x,
+ gdouble y,
+ GtkPopover *popover)
+{
+ GtkPopoverPrivate *priv = gtk_popover_get_instance_private (popover);
+ GtkAllocation child_alloc;
+ GtkWidget *child;
+
+ if (!priv->button_pressed)
+ return;
+
+ child = gtk_bin_get_child (GTK_BIN (popover));
+ gtk_widget_get_allocation (child, &child_alloc);
+
+ if (x < child_alloc.x ||
+ x > child_alloc.x + child_alloc.width ||
+ y < child_alloc.y ||
+ y > child_alloc.y + child_alloc.height)
+ gtk_popover_popdown (popover);
+}
+
static void
gtk_popover_init (GtkPopover *popover)
{
GtkPopoverPrivate *priv = gtk_popover_get_instance_private (popover);
GtkWidget *widget;
GtkStyleContext *context;
+ GtkEventController *controller;
widget = GTK_WIDGET (popover);
gtk_widget_set_has_surface (widget, TRUE);
@@ -300,6 +377,18 @@ gtk_popover_init (GtkPopover *popover)
context = gtk_widget_get_style_context (priv->contents_widget);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_BACKGROUND);
+
+ controller = gtk_event_controller_key_new ();
+ g_signal_connect (controller, "key-pressed",
+ G_CALLBACK (key_controller_key_pressed), popover);
+ gtk_widget_add_controller (widget, controller);
+
+ controller = GTK_EVENT_CONTROLLER (gtk_gesture_multi_press_new ());
+ g_signal_connect (controller, "pressed",
+ G_CALLBACK (gesture_pressed), popover);
+ g_signal_connect (controller, "released",
+ G_CALLBACK (gesture_released), popover);
+ gtk_widget_add_controller (widget, controller);
}
static void
@@ -1369,68 +1458,6 @@ gtk_popover_size_allocate (GtkWidget *widget,
}
}
-static gboolean
-gtk_popover_event (GtkWidget *widget,
- GdkEvent *event)
-{
- GtkPopover *popover = GTK_POPOVER (widget);
- GtkPopoverPrivate *priv = gtk_popover_get_instance_private (popover);
-
- if (gdk_event_get_event_type (event) == GDK_KEY_PRESS)
- {
- GtkWidget *toplevel, *focus;
- guint keyval;
-
- if (!gdk_event_get_keyval ((GdkEvent *) event, &keyval))
- return GDK_EVENT_PROPAGATE;
-
- if (keyval == GDK_KEY_Escape)
- {
- gtk_popover_popdown (GTK_POPOVER (widget));
- return GDK_EVENT_STOP;
- }
-
- if (!priv->modal)
- return GDK_EVENT_PROPAGATE;
-
- toplevel = gtk_widget_get_toplevel (widget);
-
- if (GTK_IS_WINDOW (toplevel))
- {
- focus = gtk_window_get_focus (GTK_WINDOW (toplevel));
-
- if (focus && gtk_widget_is_ancestor (focus, widget))
- return gtk_widget_event (focus, (GdkEvent*) event);
- }
-
- return GDK_EVENT_PROPAGATE;
- }
- else if (gdk_event_get_event_type (event) == GDK_BUTTON_PRESS)
- priv->button_pressed = TRUE;
- else if (gdk_event_get_event_type (event) == GDK_BUTTON_RELEASE)
- {
- GtkAllocation child_alloc;
- GtkWidget *child;
- gdouble x, y;
-
- child = gtk_bin_get_child (GTK_BIN (widget));
-
- if (!priv->button_pressed ||
- !gdk_event_get_coords (event, &x, &y))
- return GDK_EVENT_PROPAGATE;
-
- gtk_widget_get_allocation (child, &child_alloc);
-
- if (x < child_alloc.x ||
- x > child_alloc.x + child_alloc.width ||
- y < child_alloc.y ||
- y > child_alloc.y + child_alloc.height)
- gtk_popover_popdown (popover);
- }
-
- return GDK_EVENT_PROPAGATE;
-}
-
static void
gtk_popover_grab_focus (GtkWidget *widget)
{
@@ -1573,7 +1600,6 @@ gtk_popover_class_init (GtkPopoverClass *klass)
widget_class->measure = gtk_popover_measure;
widget_class->size_allocate = gtk_popover_size_allocate;
widget_class->snapshot = gtk_popover_snapshot;
- widget_class->event = gtk_popover_event;
widget_class->grab_focus = gtk_popover_grab_focus;
widget_class->focus = gtk_popover_focus;
widget_class->show = gtk_popover_show;
diff --git a/gtk/gtkprinter.h b/gtk/gtkprinter.h
index a3e3eb54a3..b8bd1eb484 100644
--- a/gtk/gtkprinter.h
+++ b/gtk/gtkprinter.h
@@ -45,9 +45,9 @@ G_BEGIN_DECLS
* the printer in Postscript format
* @GTK_PRINT_CAPABILITY_PREVIEW: Print dialog will offer a preview
* @GTK_PRINT_CAPABILITY_NUMBER_UP: Print dialog will offer printing multiple
- * pages per sheet. Since 2.12
+ * pages per sheet
* @GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT: Print dialog will allow to rearrange
- * pages when printing multiple pages per sheet. Since 2.14
+ * pages when printing multiple pages per sheet
*
* An enum for specifying which features the print dialog should offer.
* If neither %GTK_PRINT_CAPABILITY_GENERATE_PDF nor
@@ -164,6 +164,7 @@ gboolean gtk_printer_get_hard_margins (GtkPrinter *pr
gdouble *bottom,
gdouble *left,
gdouble *right);
+GDK_AVAILABLE_IN_ALL
gboolean gtk_printer_get_hard_margins_for_paper_size (GtkPrinter *printer,
GtkPaperSize *paper_size,
gdouble *top,
diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h
index 981e515010..3ecb4c36b7 100644
--- a/gtk/gtkprivate.h
+++ b/gtk/gtkprivate.h
@@ -120,10 +120,11 @@ gboolean gtk_simulate_touchscreen (void);
void gtk_set_display_debug_flags (GdkDisplay *display,
guint flags);
guint gtk_get_display_debug_flags (GdkDisplay *display);
+gboolean gtk_get_any_display_debug_flag_set (void);
#ifdef G_ENABLE_DEBUG
-#define GTK_DISPLAY_DEBUG_CHECK(display,type) G_UNLIKELY (gtk_get_display_debug_flags (display) & GTK_DEBUG_##type)
+#define GTK_DISPLAY_DEBUG_CHECK(display,type) (gtk_get_any_display_debug_flag_set () && G_UNLIKELY (gtk_get_display_debug_flags (display) & GTK_DEBUG_##type))
#define GTK_DISPLAY_NOTE(display,type,action) \
G_STMT_START { \
if (GTK_DISPLAY_DEBUG_CHECK (display,type)) { action; }; \
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 5bd6005f8c..009293dd74 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -102,9 +102,6 @@ struct _GtkRangePrivate
guint slider_size_fixed : 1;
guint trough_click_forward : 1; /* trough click was on the forward side of slider */
- /* The range has an origin, should be drawn differently. Used by GtkScale */
- guint has_origin : 1;
-
/* Whether we're doing fine adjustment */
guint zoom : 1;
@@ -542,7 +539,6 @@ gtk_range_init (GtkRange *range)
priv->inverted = FALSE;
priv->flippable = FALSE;
priv->round_digits = -1;
- priv->has_origin = FALSE;
priv->show_fill_level = FALSE;
priv->restrict_to_fill_level = TRUE;
priv->fill_level = G_MAXDOUBLE;
@@ -1452,7 +1448,7 @@ gtk_range_allocate_trough (GtkGizmo *gizmo,
gtk_widget_size_allocate (priv->fill_widget, &fill_alloc, -1);
}
- if (priv->has_origin)
+ if (priv->highlight_widget)
{
GtkAllocation highlight_alloc;
int min, nat;
@@ -1684,7 +1680,7 @@ gtk_range_render_trough (GtkGizmo *gizmo,
gtk_adjustment_get_lower (priv->adjustment) != 0)
gtk_widget_snapshot_child (GTK_WIDGET (gizmo), priv->fill_widget, snapshot);
- if (priv->has_origin)
+ if (priv->highlight_widget)
gtk_widget_snapshot_child (GTK_WIDGET (gizmo), priv->highlight_widget, snapshot);
gtk_widget_snapshot_child (GTK_WIDGET (gizmo), priv->slider_widget, snapshot);
@@ -2845,8 +2841,6 @@ _gtk_range_set_has_origin (GtkRange *range,
{
GtkRangePrivate *priv = gtk_range_get_instance_private (range);
- priv->has_origin = has_origin;
-
if (has_origin)
{
priv->highlight_widget = gtk_gizmo_new ("highlight", NULL, NULL, NULL);
@@ -2864,9 +2858,9 @@ _gtk_range_set_has_origin (GtkRange *range,
gboolean
_gtk_range_get_has_origin (GtkRange *range)
{
-
GtkRangePrivate *priv = gtk_range_get_instance_private (range);
- return priv->has_origin;
+
+ return priv->highlight_widget != NULL;
}
void
diff --git a/gtk/gtkrender.c b/gtk/gtkrender.c
index 9f6ce29750..3c90bb03d2 100644
--- a/gtk/gtkrender.c
+++ b/gtk/gtkrender.c
@@ -551,63 +551,6 @@ gtk_render_line (GtkStyleContext *context,
}
static void
-gtk_do_render_slider (GtkStyleContext *context,
- cairo_t *cr,
- gdouble x,
- gdouble y,
- gdouble width,
- gdouble height,
- GtkOrientation orientation)
-{
- GtkCssStyle *style;
-
- style = gtk_style_context_lookup_style (context);
-
- gtk_css_style_render_background (style,
- cr,
- x, y, width, height);
- gtk_css_style_render_border (style,
- cr,
- x, y, width, height);
-}
-
-/**
- * gtk_render_slider:
- * @context: a #GtkStyleContext
- * @cr: a #cairo_t
- * @x: X origin of the rectangle
- * @y: Y origin of the rectangle
- * @width: rectangle width
- * @height: rectangle height
- * @orientation: orientation of the slider
- *
- * Renders a slider (as in #GtkScale) in the rectangle defined by @x, @y,
- * @width, @height. @orientation defines whether the slider is vertical
- * or horizontal.
- *
- * Typical slider rendering:
- *
- * ![](sliders.png)
- **/
-void
-gtk_render_slider (GtkStyleContext *context,
- cairo_t *cr,
- gdouble x,
- gdouble y,
- gdouble width,
- gdouble height,
- GtkOrientation orientation)
-{
- g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
- g_return_if_fail (cr != NULL);
-
- if (width <= 0 || height <= 0)
- return;
-
- gtk_do_render_slider (context, cr, x, y, width, height, orientation);
-}
-
-static void
gtk_css_style_render_frame_gap (GtkCssStyle *style,
cairo_t *cr,
gdouble x,
@@ -766,7 +709,7 @@ gtk_do_render_handle (GtkStyleContext *context,
* @width: rectangle width
* @height: rectangle height
*
- * Renders a handle (as in #GtkHandleBox, #GtkPaned and
+ * Renders a handle (as in #GtkPaned and
* #GtkWindow’s resize grip), in the rectangle
* determined by @x, @y, @width, @height.
*
diff --git a/gtk/gtkrenderborder.c b/gtk/gtkrenderborder.c
index be5993698a..f8e81253ea 100644
--- a/gtk/gtkrenderborder.c
+++ b/gtk/gtkrenderborder.c
@@ -856,18 +856,6 @@ snapshot_border (GtkSnapshot *snapshot,
snapshot_frame_fill (snapshot, border_box, border_width, colors, hidden_side);
}
-gboolean
-gtk_css_style_render_has_border (GtkCssStyle *style)
-{
- if (_gtk_css_image_value_get_image (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_IMAGE_SOURCE)))
- return TRUE;
-
- return _gtk_css_number_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_TOP_WIDTH), 100) > 0
- || _gtk_css_number_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_RIGHT_WIDTH), 100) > 0
- || _gtk_css_number_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_BOTTOM_WIDTH), 100) > 0
- || _gtk_css_number_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_LEFT_WIDTH), 100) > 0;
-}
-
void
gtk_css_style_render_border (GtkCssStyle *style,
cairo_t *cr,
@@ -983,25 +971,6 @@ gtk_css_style_snapshot_border (GtkCssStyle *style,
}
gboolean
-gtk_css_style_render_border_get_clip (GtkCssStyle *style,
- gdouble x,
- gdouble y,
- gdouble width,
- gdouble height,
- GdkRectangle *out_clip)
-{
- if (!gtk_css_style_render_has_border (style))
- return FALSE;
-
- out_clip->x = floor (x);
- out_clip->y = floor (y);
- out_clip->width = ceil (x + width) - out_clip->x;
- out_clip->height = ceil (y + height) - out_clip->y;
-
- return TRUE;
-}
-
-gboolean
gtk_css_style_render_has_outline (GtkCssStyle *style)
{
return _gtk_css_number_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_OUTLINE_WIDTH), 100) > 0;
@@ -1109,26 +1078,3 @@ gtk_css_style_snapshot_outline (GtkCssStyle *style,
snapshot_border (snapshot, &border_box, border_width, colors, border_style);
}
}
-
-gboolean
-gtk_css_style_render_outline_get_clip (GtkCssStyle *style,
- gdouble x,
- gdouble y,
- gdouble width,
- gdouble height,
- GdkRectangle *out_clip)
-{
- cairo_rectangle_t rect;
-
- if (!gtk_css_style_render_has_outline (style))
- return FALSE;
-
- compute_outline_rect (style, x, y, width, height, &rect);
-
- out_clip->x = floor (rect.x);
- out_clip->y = floor (rect.y);
- out_clip->width = ceil (rect.x + rect.width) - out_clip->x;
- out_clip->height = ceil (rect.y + rect.height) - out_clip->y;
-
- return TRUE;
-}
diff --git a/gtk/gtkrenderborderprivate.h b/gtk/gtkrenderborderprivate.h
index b9f94cf37c..c0bed70854 100644
--- a/gtk/gtkrenderborderprivate.h
+++ b/gtk/gtkrenderborderprivate.h
@@ -29,19 +29,12 @@
G_BEGIN_DECLS
-gboolean gtk_css_style_render_has_border (GtkCssStyle *style);
void gtk_css_style_render_border (GtkCssStyle *style,
cairo_t *cr,
gdouble x,
gdouble y,
gdouble width,
gdouble height);
-gboolean gtk_css_style_render_border_get_clip (GtkCssStyle *style,
- gdouble x,
- gdouble y,
- gdouble width,
- gdouble height,
- GdkRectangle *out_clip) G_GNUC_WARN_UNUSED_RESULT;
void gtk_css_style_snapshot_border (GtkCssStyle *style,
GtkSnapshot *snapshot,
gdouble width,
@@ -58,13 +51,6 @@ void gtk_css_style_snapshot_outline (GtkCssStyle
GtkSnapshot *snapshot,
gdouble width,
gdouble height);
-gboolean gtk_css_style_render_outline_get_clip (GtkCssStyle *style,
- gdouble x,
- gdouble y,
- gdouble width,
- gdouble height,
- GdkRectangle *out_clip) G_GNUC_WARN_UNUSED_RESULT;
-
G_END_DECLS
diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c
index 0ddfd9dc06..04d90a783a 100644
--- a/gtk/gtkscalebutton.c
+++ b/gtk/gtkscalebutton.c
@@ -102,7 +102,7 @@ enum
PROP_ICONS
};
-struct _GtkScaleButtonPrivate
+typedef struct
{
GtkWidget *plus_button;
GtkWidget *minus_button;
@@ -124,7 +124,7 @@ struct _GtkScaleButtonPrivate
gchar **icon_list;
GtkAdjustment *adjustment; /* needed because it must be settable in init() */
-};
+} GtkScaleButtonPrivate;
static void gtk_scale_button_constructed (GObject *object);
static void gtk_scale_button_dispose (GObject *object);
@@ -363,12 +363,10 @@ button_pressed_cb (GtkGesture *gesture,
static void
gtk_scale_button_init (GtkScaleButton *button)
{
- GtkScaleButtonPrivate *priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
GtkStyleContext *context;
GtkEventController *controller;
- button->priv = priv = gtk_scale_button_get_instance_private (button);
-
priv->click_id = 0;
priv->orientation = GTK_ORIENTATION_VERTICAL;
priv->applied_orientation = GTK_ORIENTATION_VERTICAL;
@@ -443,7 +441,7 @@ gtk_scale_button_get_property (GObject *object,
GParamSpec *pspec)
{
GtkScaleButton *button = GTK_SCALE_BUTTON (object);
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
switch (prop_id)
{
@@ -469,7 +467,7 @@ static void
gtk_scale_button_finalize (GObject *object)
{
GtkScaleButton *button = GTK_SCALE_BUTTON (object);
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
if (priv->icon_list)
{
@@ -493,7 +491,7 @@ static void
gtk_scale_button_dispose (GObject *object)
{
GtkScaleButton *button = GTK_SCALE_BUTTON (object);
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
if (priv->dock)
{
@@ -555,12 +553,10 @@ gtk_scale_button_new (gdouble min,
gdouble
gtk_scale_button_get_value (GtkScaleButton * button)
{
- GtkScaleButtonPrivate *priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
g_return_val_if_fail (GTK_IS_SCALE_BUTTON (button), 0);
- priv = button->priv;
-
return gtk_adjustment_get_value (priv->adjustment);
}
@@ -578,12 +574,10 @@ void
gtk_scale_button_set_value (GtkScaleButton *button,
gdouble value)
{
- GtkScaleButtonPrivate *priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
g_return_if_fail (GTK_IS_SCALE_BUTTON (button));
- priv = button->priv;
-
gtk_range_set_value (GTK_RANGE (priv->scale), value);
g_object_notify (G_OBJECT (button), "value");
}
@@ -600,13 +594,11 @@ void
gtk_scale_button_set_icons (GtkScaleButton *button,
const gchar **icons)
{
- GtkScaleButtonPrivate *priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
gchar **tmp;
g_return_if_fail (GTK_IS_SCALE_BUTTON (button));
- priv = button->priv;
-
tmp = priv->icon_list;
priv->icon_list = g_strdupv ((gchar **) icons);
g_strfreev (tmp);
@@ -627,9 +619,11 @@ gtk_scale_button_set_icons (GtkScaleButton *button,
GtkAdjustment*
gtk_scale_button_get_adjustment (GtkScaleButton *button)
{
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
+
g_return_val_if_fail (GTK_IS_SCALE_BUTTON (button), NULL);
- return button->priv->adjustment;
+ return priv->adjustment;
}
/**
@@ -645,6 +639,8 @@ void
gtk_scale_button_set_adjustment (GtkScaleButton *button,
GtkAdjustment *adjustment)
{
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
+
g_return_if_fail (GTK_IS_SCALE_BUTTON (button));
if (!adjustment)
@@ -652,14 +648,14 @@ gtk_scale_button_set_adjustment (GtkScaleButton *button,
else
g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
- if (button->priv->adjustment != adjustment)
+ if (priv->adjustment != adjustment)
{
- if (button->priv->adjustment)
- g_object_unref (button->priv->adjustment);
- button->priv->adjustment = g_object_ref_sink (adjustment);
+ if (priv->adjustment)
+ g_object_unref (priv->adjustment);
+ priv->adjustment = g_object_ref_sink (adjustment);
- if (button->priv->scale)
- gtk_range_set_adjustment (GTK_RANGE (button->priv->scale), adjustment);
+ if (priv->scale)
+ gtk_range_set_adjustment (GTK_RANGE (priv->scale), adjustment);
g_object_notify (G_OBJECT (button), "adjustment");
}
@@ -676,9 +672,11 @@ gtk_scale_button_set_adjustment (GtkScaleButton *button,
GtkWidget *
gtk_scale_button_get_plus_button (GtkScaleButton *button)
{
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
+
g_return_val_if_fail (GTK_IS_SCALE_BUTTON (button), NULL);
- return button->priv->plus_button;
+ return priv->plus_button;
}
/**
@@ -692,9 +690,11 @@ gtk_scale_button_get_plus_button (GtkScaleButton *button)
GtkWidget *
gtk_scale_button_get_minus_button (GtkScaleButton *button)
{
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
+
g_return_val_if_fail (GTK_IS_SCALE_BUTTON (button), NULL);
- return button->priv->minus_button;
+ return priv->minus_button;
}
/**
@@ -708,16 +708,18 @@ gtk_scale_button_get_minus_button (GtkScaleButton *button)
GtkWidget *
gtk_scale_button_get_popup (GtkScaleButton *button)
{
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
+
g_return_val_if_fail (GTK_IS_SCALE_BUTTON (button), NULL);
- return button->priv->dock;
+ return priv->dock;
}
static void
apply_orientation (GtkScaleButton *button,
GtkOrientation orientation)
{
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
if (priv->applied_orientation != orientation)
{
@@ -755,7 +757,7 @@ static void
gtk_scale_button_set_orientation_private (GtkScaleButton *button,
GtkOrientation orientation)
{
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
if (priv->orientation != orientation)
{
@@ -770,11 +772,10 @@ gtk_scale_button_scroll_controller_scroll (GtkEventControllerScroll *scroll,
gdouble dy,
GtkScaleButton *button)
{
- GtkScaleButtonPrivate *priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
GtkAdjustment *adjustment;
gdouble d;
- priv = button->priv;
adjustment = priv->adjustment;
d = CLAMP (gtk_scale_button_get_value (button) -
@@ -793,7 +794,7 @@ static gboolean
gtk_scale_popup (GtkWidget *widget)
{
GtkScaleButton *button = GTK_SCALE_BUTTON (widget);
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
GtkWidget *toplevel;
GtkBorder border;
GtkRequisition req;
@@ -823,7 +824,7 @@ static void
gtk_scale_button_popdown (GtkWidget *widget)
{
GtkScaleButton *button = GTK_SCALE_BUTTON (widget);
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
gtk_popover_popdown (GTK_POPOVER (priv->dock));
}
@@ -847,7 +848,7 @@ static gboolean
button_click (GtkScaleButton *button,
GtkWidget *active)
{
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
GtkAdjustment *adjustment = priv->adjustment;
gboolean can_continue = TRUE;
gdouble val;
@@ -880,7 +881,7 @@ cb_button_clicked (GtkWidget *widget,
gpointer user_data)
{
GtkScaleButton *button = GTK_SCALE_BUTTON (user_data);
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
if (priv->autoscroll_timeout)
{
@@ -901,7 +902,7 @@ cb_button_clicked (GtkWidget *widget,
static void
gtk_scale_button_update_icon (GtkScaleButton *button)
{
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
GtkAdjustment *adjustment;
gdouble value;
const gchar *name;
@@ -967,17 +968,18 @@ cb_scale_value_changed (GtkRange *range,
gpointer user_data)
{
GtkScaleButton *button = user_data;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
gdouble value;
gdouble upper, lower;
value = gtk_range_get_value (range);
- upper = gtk_adjustment_get_upper (button->priv->adjustment);
- lower = gtk_adjustment_get_lower (button->priv->adjustment);
+ upper = gtk_adjustment_get_upper (priv->adjustment);
+ lower = gtk_adjustment_get_lower (priv->adjustment);
gtk_scale_button_update_icon (button);
- gtk_widget_set_sensitive (button->priv->plus_button, value < upper);
- gtk_widget_set_sensitive (button->priv->minus_button, lower < value);
+ gtk_widget_set_sensitive (priv->plus_button, value < upper);
+ gtk_widget_set_sensitive (priv->minus_button, lower < value);
g_signal_emit (button, signals[VALUE_CHANGED], 0, value);
g_object_notify (G_OBJECT (button), "value");
@@ -988,7 +990,7 @@ cb_popup_mapped (GtkWidget *popup,
gpointer user_data)
{
GtkScaleButton *button = user_data;
- GtkScaleButtonPrivate *priv = button->priv;
+ GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
gtk_widget_grab_focus (priv->scale);
}
diff --git a/gtk/gtkscalebutton.h b/gtk/gtkscalebutton.h
index 0f01cbf5bf..1fc7ecdab2 100644
--- a/gtk/gtkscalebutton.h
+++ b/gtk/gtkscalebutton.h
@@ -51,14 +51,10 @@ G_BEGIN_DECLS
typedef struct _GtkScaleButton GtkScaleButton;
typedef struct _GtkScaleButtonClass GtkScaleButtonClass;
-typedef struct _GtkScaleButtonPrivate GtkScaleButtonPrivate;
struct _GtkScaleButton
{
- GtkButton parent;
-
- /*< private >*/
- GtkScaleButtonPrivate *priv;
+ GtkButton parent_instance;
};
struct _GtkScaleButtonClass
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 928019098f..4c502846ae 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -96,7 +96,8 @@
* gtk_bin_get_child (GTK_BIN (scrolled_window)));
* ]|
*
- * Unless #GtkScrolledWindow:policy is GTK_POLICY_NEVER or GTK_POLICY_EXTERNAL,
+ * Unless #GtkScrolledWindow:hscrolbar-policy and #GtkScrolledWindow:vscrollbar-policy
+ * are GTK_POLICY_NEVER or GTK_POLICY_EXTERNAL,
* GtkScrolledWindow adds internal #GtkScrollbar widgets around its child. The
* scroll position of the child, and if applicable the scrollbars, is controlled
* by the #GtkScrolledWindow:hadjustment and #GtkScrolledWindow:vadjustment
@@ -660,7 +661,7 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
* GtkScrolledWindow:propagate-natural-width:
*
* Whether the natural width of the child should be calculated and propagated
- * through the scrolled windows requested natural width.
+ * through the scrolled window’s requested natural width.
*
* This is useful in cases where an attempt should be made to allocate exactly
* enough space for the natural size of the child.
@@ -676,7 +677,7 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
* GtkScrolledWindow:propagate-natural-height:
*
* Whether the natural height of the child should be calculated and propagated
- * through the scrolled windows requested natural height.
+ * through the scrolled window’s requested natural height.
*
* This is useful in cases where an attempt should be made to allocate exactly
* enough space for the natural size of the child.
@@ -701,7 +702,7 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
* [keybinding signal][GtkBindingSignal]
* which gets emitted when a keybinding that scrolls is pressed.
* The horizontal or vertical adjustment is updated which triggers a
- * signal that the scrolled windows child may listen to and scroll itself.
+ * signal that the scrolled window’s child may listen to and scroll itself.
*/
signals[SCROLL_CHILD] =
g_signal_new (I_("scroll-child"),
@@ -724,9 +725,9 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
* [keybinding signal][GtkBindingSignal] which gets
* emitted when focus is moved away from the scrolled window by a
* keybinding. The #GtkWidget::move-focus signal is emitted with
- * @direction_type on this scrolled windows toplevel parent in the
+ * @direction_type on this scrolled window’s toplevel parent in the
* container hierarchy. The default bindings for this signal are
- * `Tab + Ctrl` and `Tab + Ctrl + Shift`.
+ * `Ctrl + Tab` to move forward and `Ctrl + Shift + Tab` to move backward.
*/
signals[MOVE_FOCUS_OUT] =
g_signal_new (I_("move-focus-out"),
@@ -744,7 +745,7 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
* @pos: edge side that was hit
*
* The ::edge-overshot signal is emitted whenever user initiated scrolling
- * makes the scrolledwindow firmly surpass (ie. with some edge resistance)
+ * makes the scrolled window firmly surpass (i.e. with some edge resistance)
* the lower or upper limits defined by the adjustment in that orientation.
*
* A similar behavior without edge resistance is provided by the
@@ -767,7 +768,7 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
* @pos: edge side that was reached
*
* The ::edge-reached signal is emitted whenever user-initiated scrolling
- * makes the scrolledwindow exactly reaches the lower or upper limits
+ * makes the scrolled window exactly reach the lower or upper limits
* defined by the adjustment in that orientation.
*
* A similar behavior with edge resistance is provided by the
@@ -1376,6 +1377,36 @@ scroll_controller_decelerate (GtkEventControllerScroll *scroll,
}
static void
+gtk_scrolled_window_update_scrollbar_visibility_flags (GtkScrolledWindow *scrolled_window,
+ GtkWidget *scrollbar)
+{
+ GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
+ GtkAdjustment *adjustment;
+
+ if (scrollbar == NULL)
+ return;
+
+ adjustment = gtk_scrollbar_get_adjustment (GTK_SCROLLBAR (scrollbar));
+
+ if (scrollbar == priv->hscrollbar)
+ {
+ if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC)
+ {
+ priv->hscrollbar_visible = (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment) >
+ gtk_adjustment_get_page_size (adjustment));
+ }
+ }
+ else if (scrollbar == priv->vscrollbar)
+ {
+ if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC)
+ {
+ priv->vscrollbar_visible = (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment) >
+ gtk_adjustment_get_page_size (adjustment));
+ }
+ }
+}
+
+static void
gtk_scrolled_window_size_allocate (GtkWidget *widget,
const GtkAllocation *allocation,
int baseline)
@@ -1560,20 +1591,21 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget,
{
previous_hvis = priv->hscrollbar_visible;
previous_vvis = priv->vscrollbar_visible;
+
gtk_scrolled_window_allocate_child (scrolled_window, allocation);
- /* Explicitly force scrollbar visibility checks.
- *
- * Since we make a guess above, the child might not decide to update the adjustments
- * if they logically did not change since the last configuration
- */
- if (priv->hscrollbar)
- gtk_scrolled_window_adjustment_changed
- (gtk_scrollbar_get_adjustment (GTK_SCROLLBAR (priv->hscrollbar)), scrolled_window);
+ /* Explicitly force scrollbar visibility checks.
+ *
+ * Since we make a guess above, the child might not decide to update the adjustments
+ * if they logically did not change since the last configuration
+ *
+ * These will update priv->hscrollbar_visible and priv->vscrollbar_visible.
+ */
+ gtk_scrolled_window_update_scrollbar_visibility_flags (scrolled_window,
+ priv->hscrollbar);
- if (priv->vscrollbar)
- gtk_scrolled_window_adjustment_changed
- (gtk_scrollbar_get_adjustment (GTK_SCROLLBAR (priv->vscrollbar)), scrolled_window);
+ gtk_scrolled_window_update_scrollbar_visibility_flags (scrolled_window,
+ priv->vscrollbar);
/* If, after the first iteration, the hscrollbar and the
* vscrollbar flip visiblity... or if one of the scrollbars flip
@@ -3377,12 +3409,11 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment,
{
gboolean visible;
- visible = priv->hscrollbar_visible;
- priv->hscrollbar_visible = (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment) >
- gtk_adjustment_get_page_size (adjustment));
+ visible = priv->hscrollbar_visible;
+ gtk_scrolled_window_update_scrollbar_visibility_flags (scrolled_window, priv->hscrollbar);
- if (priv->hscrollbar_visible != visible)
- gtk_widget_queue_resize (GTK_WIDGET (scrolled_window));
+ if (priv->hscrollbar_visible != visible)
+ gtk_widget_queue_resize (GTK_WIDGET (scrolled_window));
}
}
else if (adjustment == gtk_scrollbar_get_adjustment (GTK_SCROLLBAR (priv->vscrollbar)))
@@ -3391,12 +3422,11 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment,
{
gboolean visible;
- visible = priv->vscrollbar_visible;
- priv->vscrollbar_visible = (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment) >
- gtk_adjustment_get_page_size (adjustment));
+ visible = priv->vscrollbar_visible;
+ gtk_scrolled_window_update_scrollbar_visibility_flags (scrolled_window, priv->vscrollbar);
- if (priv->vscrollbar_visible != visible)
- gtk_widget_queue_resize (GTK_WIDGET (scrolled_window));
+ if (priv->vscrollbar_visible != visible)
+ gtk_widget_queue_resize (GTK_WIDGET (scrolled_window));
}
}
}
@@ -4133,7 +4163,7 @@ gtk_scrolled_window_get_max_content_height (GtkScrolledWindow *scrolled_window)
* @propagate: whether to propagate natural width
*
* Sets whether the natural width of the child should be calculated and propagated
- * through the scrolled windows requested natural width.
+ * through the scrolled window’s requested natural width.
*/
void
gtk_scrolled_window_set_propagate_natural_width (GtkScrolledWindow *scrolled_window,
@@ -4158,7 +4188,7 @@ gtk_scrolled_window_set_propagate_natural_width (GtkScrolledWindow *scrolled_win
* @scrolled_window: a #GtkScrolledWindow
*
* Reports whether the natural width of the child will be calculated and propagated
- * through the scrolled windows requested natural width.
+ * through the scrolled window’s requested natural width.
*
* Returns: whether natural width propagation is enabled.
*/
@@ -4178,7 +4208,7 @@ gtk_scrolled_window_get_propagate_natural_width (GtkScrolledWindow *scrolled_win
* @propagate: whether to propagate natural height
*
* Sets whether the natural height of the child should be calculated and propagated
- * through the scrolled windows requested natural height.
+ * through the scrolled window’s requested natural height.
*/
void
gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_window,
@@ -4203,7 +4233,7 @@ gtk_scrolled_window_set_propagate_natural_height (GtkScrolledWindow *scrolled_wi
* @scrolled_window: a #GtkScrolledWindow
*
* Reports whether the natural height of the child will be calculated and propagated
- * through the scrolled windows requested natural height.
+ * through the scrolled window’s requested natural height.
*
* Returns: whether natural height propagation is enabled.
*/
diff --git a/gtk/gtksearchbar.c b/gtk/gtksearchbar.c
index 8f26e8ecf4..df91d8ef31 100644
--- a/gtk/gtksearchbar.c
+++ b/gtk/gtksearchbar.c
@@ -640,6 +640,9 @@ capture_widget_key_handled (GtkEventControllerKey *controller,
GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
gboolean handled;
+ if (!gtk_widget_get_mapped (GTK_WIDGET (bar)))
+ return GDK_EVENT_PROPAGATE;
+
if (priv->reveal_child)
return GDK_EVENT_PROPAGATE;
@@ -710,8 +713,6 @@ capture_widget_key_handled (GtkEventControllerKey *controller,
*
* If key events are handled by the search bar, the bar will
* be shown, and the entry populated with the entered text.
- *
- * Since: 3.94
**/
void
gtk_search_bar_set_key_capture_widget (GtkSearchBar *bar,
@@ -758,8 +759,6 @@ gtk_search_bar_set_key_capture_widget (GtkSearchBar *bar,
* Gets the widget that @bar is capturing key events from.
*
* Returns: (transfer none): The key capture widget.
- *
- * Since: 3.94
**/
GtkWidget *
gtk_search_bar_get_key_capture_widget (GtkSearchBar *bar)
diff --git a/gtk/gtksearchentry.c b/gtk/gtksearchentry.c
index 7e50642f17..693fe6d485 100644
--- a/gtk/gtksearchentry.c
+++ b/gtk/gtksearchentry.c
@@ -490,8 +490,6 @@ capture_widget_key_handled (GtkEventControllerKey *controller,
* If the entry is part of a #GtkSearchBar, it is preferable
* to call gtk_search_bar_set_key_capture_widget() instead, which
* will reveal the entry in addition to triggering the search entry.
- *
- * Since: 3.94
**/
void
gtk_search_entry_set_key_capture_widget (GtkSearchEntry *entry,
@@ -535,8 +533,6 @@ gtk_search_entry_set_key_capture_widget (GtkSearchEntry *entry,
* Gets the widget that @entry is capturing key events from.
*
* Returns: (transfer none): The key capture widget.
- *
- * Since: 3.94
**/
GtkWidget *
gtk_search_entry_get_key_capture_widget (GtkSearchEntry *entry)
diff --git a/gtk/gtkseparatortoolitem.c b/gtk/gtkseparatortoolitem.c
index 7964f5e8e2..3cdc517c19 100644
--- a/gtk/gtkseparatortoolitem.c
+++ b/gtk/gtkseparatortoolitem.c
@@ -49,11 +49,6 @@
#define MENU_ID "gtk-separator-tool-item-menu-id"
-struct _GtkSeparatorToolItemPrivate
-{
- guint draw : 1;
-};
-
enum {
PROP_0,
PROP_DRAW
@@ -71,7 +66,7 @@ static void gtk_separator_tool_item_get_property (GObject
static void gtk_separator_tool_item_add (GtkContainer *container,
GtkWidget *child);
-G_DEFINE_TYPE_WITH_PRIVATE (GtkSeparatorToolItem, gtk_separator_tool_item, GTK_TYPE_TOOL_ITEM)
+G_DEFINE_TYPE (GtkSeparatorToolItem, gtk_separator_tool_item, GTK_TYPE_TOOL_ITEM)
static void
gtk_separator_tool_item_class_init (GtkSeparatorToolItemClass *class)
@@ -107,12 +102,9 @@ gtk_separator_tool_item_class_init (GtkSeparatorToolItemClass *class)
static void
gtk_separator_tool_item_init (GtkSeparatorToolItem *separator_item)
{
- GtkSeparatorToolItemPrivate *priv;
GtkWidget *widget;
widget = GTK_WIDGET (separator_item);
- priv = separator_item->priv = gtk_separator_tool_item_get_instance_private (separator_item);
- priv->draw = TRUE;
gtk_widget_set_has_surface (widget, FALSE);
}
@@ -204,9 +196,13 @@ gtk_separator_tool_item_new (void)
gboolean
gtk_separator_tool_item_get_draw (GtkSeparatorToolItem *item)
{
+ GtkStyleContext *context;
+
g_return_val_if_fail (GTK_IS_SEPARATOR_TOOL_ITEM (item), FALSE);
-
- return item->priv->draw;
+
+ context = gtk_widget_get_style_context (GTK_WIDGET (item));
+
+ return !gtk_style_context_has_class (context, "invisible");
}
/**
@@ -224,18 +220,17 @@ gtk_separator_tool_item_set_draw (GtkSeparatorToolItem *item,
{
g_return_if_fail (GTK_IS_SEPARATOR_TOOL_ITEM (item));
- draw = draw != FALSE;
+ draw = !!draw;
- if (draw != item->priv->draw)
- {
- item->priv->draw = draw;
- if (draw)
- gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (item)),
- "invisible");
- else
- gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (item)),
- "invisible");
-
- g_object_notify (G_OBJECT (item), "draw");
- }
+ if (draw == gtk_separator_tool_item_get_draw (item))
+ return;
+
+ if (draw)
+ gtk_style_context_remove_class (gtk_widget_get_style_context (GTK_WIDGET (item)),
+ "invisible");
+ else
+ gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (item)),
+ "invisible");
+
+ g_object_notify (G_OBJECT (item), "draw");
}
diff --git a/gtk/gtkseparatortoolitem.h b/gtk/gtkseparatortoolitem.h
index 2fff9e4fcd..2d0eac535d 100644
--- a/gtk/gtkseparatortoolitem.h
+++ b/gtk/gtkseparatortoolitem.h
@@ -37,14 +37,10 @@ G_BEGIN_DECLS
typedef struct _GtkSeparatorToolItem GtkSeparatorToolItem;
typedef struct _GtkSeparatorToolItemClass GtkSeparatorToolItemClass;
-typedef struct _GtkSeparatorToolItemPrivate GtkSeparatorToolItemPrivate;
struct _GtkSeparatorToolItem
{
- GtkToolItem parent;
-
- /*< private >*/
- GtkSeparatorToolItemPrivate *priv;
+ GtkToolItem parent_instance;
};
/**
diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c
index fc71bbffa7..81e7419207 100644
--- a/gtk/gtksnapshot.c
+++ b/gtk/gtksnapshot.c
@@ -1086,22 +1086,8 @@ gtk_snapshot_append_node_internal (GtkSnapshot *snapshot,
if (current_state)
{
- if (gsk_render_node_get_node_type (node) == GSK_CONTAINER_NODE)
- {
- guint i, p;
-
- for (i = 0, p = gsk_container_node_get_n_children (node); i < p; i ++)
- g_ptr_array_add (snapshot->nodes,
- gsk_render_node_ref (gsk_container_node_get_child (node, i)));
-
- current_state->n_nodes += p;
- /* Don't unref @node... */
- }
- else
- {
- g_ptr_array_add (snapshot->nodes, gsk_render_node_ref (node));
- current_state->n_nodes ++;
- }
+ g_ptr_array_add (snapshot->nodes, gsk_render_node_ref (node));
+ current_state->n_nodes ++;
}
else
{
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c
index 6a88e40a7d..9a112ebf7d 100644
--- a/gtk/gtkspinbutton.c
+++ b/gtk/gtkspinbutton.c
@@ -34,7 +34,9 @@
#include "gtkbox.h"
#include "gtkbutton.h"
#include "gtkcssstylepropertyprivate.h"
-#include "gtkentryprivate.h"
+#include "gtkeditable.h"
+#include "gtkentry.h"
+#include "gtkeventcontrollerkey.h"
#include "gtkeventcontrollermotion.h"
#include "gtkeventcontrollerscroll.h"
#include "gtkgesturemultipress.h"
@@ -222,6 +224,7 @@ enum {
PROP_WIDTH_CHARS,
PROP_MAX_WIDTH_CHARS,
PROP_TEXT,
+ NUM_SPINBUTTON_PROPS,
PROP_ORIENTATION,
};
@@ -258,8 +261,6 @@ static void gtk_spin_button_measure (GtkWidget *widget,
static void gtk_spin_button_size_allocate (GtkWidget *widget,
const GtkAllocation *allocation,
int baseline);
-static gboolean gtk_spin_button_event (GtkWidget *widget,
- GdkEvent *event);
static void gtk_spin_button_grab_notify (GtkWidget *widget,
gboolean was_grabbed);
static void gtk_spin_button_state_flags_changed (GtkWidget *widget,
@@ -291,6 +292,7 @@ static void gtk_spin_button_default_output (GtkSpinButton *spin_button);
static guint spinbutton_signals[LAST_SIGNAL] = {0};
+static GParamSpec *spinbutton_props[NUM_SPINBUTTON_PROPS] = {NULL, };
G_DEFINE_TYPE_WITH_CODE (GtkSpinButton, gtk_spin_button, GTK_TYPE_WIDGET,
G_ADD_PRIVATE (GtkSpinButton)
@@ -318,7 +320,6 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class)
widget_class->realize = gtk_spin_button_realize;
widget_class->measure = gtk_spin_button_measure;
widget_class->size_allocate = gtk_spin_button_size_allocate;
- widget_class->event = gtk_spin_button_event;
widget_class->grab_notify = gtk_spin_button_grab_notify;
widget_class->state_flags_changed = gtk_spin_button_state_flags_changed;
@@ -326,97 +327,87 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class)
class->output = NULL;
class->change_value = gtk_spin_button_real_change_value;
- g_object_class_install_property (gobject_class,
- PROP_ADJUSTMENT,
- g_param_spec_object ("adjustment",
- P_("Adjustment"),
- P_("The adjustment that holds the value of the spin button"),
- GTK_TYPE_ADJUSTMENT,
- GTK_PARAM_READWRITE));
-
- g_object_class_install_property (gobject_class,
- PROP_CLIMB_RATE,
- g_param_spec_double ("climb-rate",
- P_("Climb Rate"),
- P_("The acceleration rate when you hold down a button or key"),
- 0.0, G_MAXDOUBLE, 0.0,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_DIGITS,
- g_param_spec_uint ("digits",
- P_("Digits"),
- P_("The number of decimal places to display"),
- 0, MAX_DIGITS, 0,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_SNAP_TO_TICKS,
- g_param_spec_boolean ("snap-to-ticks",
- P_("Snap to Ticks"),
- P_("Whether erroneous values are automatically changed to a spin button’s nearest step increment"),
- FALSE,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_NUMERIC,
- g_param_spec_boolean ("numeric",
- P_("Numeric"),
- P_("Whether non-numeric characters should be ignored"),
- FALSE,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_WRAP,
- g_param_spec_boolean ("wrap",
- P_("Wrap"),
- P_("Whether a spin button should wrap upon reaching its limits"),
- FALSE,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_UPDATE_POLICY,
- g_param_spec_enum ("update-policy",
- P_("Update Policy"),
- P_("Whether the spin button should update always, or only when the value is legal"),
- GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY,
- GTK_UPDATE_ALWAYS,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_VALUE,
- g_param_spec_double ("value",
- P_("Value"),
- P_("Reads the current value, or sets a new value"),
- -G_MAXDOUBLE, G_MAXDOUBLE, 0.0,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_WIDTH_CHARS,
- g_param_spec_int ("width-chars",
- P_("Width in chars"),
- P_("Number of characters to leave space for in the entry"),
- -1, G_MAXINT,
- 0,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_MAX_WIDTH_CHARS,
- g_param_spec_int ("max-width-chars",
- P_("Maximum width in characters"),
- P_("The desired maximum width of the entry, in characters"),
- -1, G_MAXINT,
- 0,
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
- g_object_class_install_property (gobject_class,
- PROP_TEXT,
- g_param_spec_string ("text",
- P_("Text"),
- P_("The contents of the entry"),
- "0", /* Default value of the default adjustment */
- GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
-
+ spinbutton_props[PROP_ADJUSTMENT] =
+ g_param_spec_object ("adjustment",
+ P_("Adjustment"),
+ P_("The adjustment that holds the value of the spin button"),
+ GTK_TYPE_ADJUSTMENT,
+ GTK_PARAM_READWRITE);
+
+ spinbutton_props[PROP_CLIMB_RATE] =
+ g_param_spec_double ("climb-rate",
+ P_("Climb Rate"),
+ P_("The acceleration rate when you hold down a button or key"),
+ 0.0, G_MAXDOUBLE, 0.0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_DIGITS] =
+ g_param_spec_uint ("digits",
+ P_("Digits"),
+ P_("The number of decimal places to display"),
+ 0, MAX_DIGITS, 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_SNAP_TO_TICKS] =
+ g_param_spec_boolean ("snap-to-ticks",
+ P_("Snap to Ticks"),
+ P_("Whether erroneous values are automatically changed to a spin button’s nearest step increment"),
+ FALSE,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_NUMERIC] =
+ g_param_spec_boolean ("numeric",
+ P_("Numeric"),
+ P_("Whether non-numeric characters should be ignored"),
+ FALSE,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_WRAP] =
+ g_param_spec_boolean ("wrap",
+ P_("Wrap"),
+ P_("Whether a spin button should wrap upon reaching its limits"),
+ FALSE,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_UPDATE_POLICY] =
+ g_param_spec_enum ("update-policy",
+ P_("Update Policy"),
+ P_("Whether the spin button should update always, or only when the value is legal"),
+ GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY,
+ GTK_UPDATE_ALWAYS,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_VALUE] =
+ g_param_spec_double ("value",
+ P_("Value"),
+ P_("Reads the current value, or sets a new value"),
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0.0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_WIDTH_CHARS] =
+ g_param_spec_int ("width-chars",
+ P_("Width in chars"),
+ P_("Number of characters to leave space for in the entry"),
+ -1, G_MAXINT,
+ 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_MAX_WIDTH_CHARS] =
+ g_param_spec_int ("max-width-chars",
+ P_("Maximum width in characters"),
+ P_("The desired maximum width of the entry, in characters"),
+ -1, G_MAXINT,
+ 0,
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ spinbutton_props[PROP_TEXT] =
+ g_param_spec_string ("text",
+ P_("Text"),
+ P_("The contents of the entry"),
+ "0", /* Default value of the default adjustment */
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
+
+ g_object_class_install_properties (gobject_class, NUM_SPINBUTTON_PROPS, spinbutton_props);
g_object_class_override_property (gobject_class,
PROP_ORIENTATION,
"orientation");
@@ -820,6 +811,29 @@ button_released_cb (GtkGestureMultiPress *gesture,
}
static void
+key_controller_key_released (GtkEventControllerKey *key,
+ guint keyval,
+ guint keycode,
+ GdkModifierType modifiers,
+ GtkSpinButton *spin_button)
+{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
+ priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment);
+ priv->timer_calls = 0;
+}
+
+static void
+key_controller_focus_out (GtkEventControllerKey *key,
+ GtkSpinButton *spin_button)
+{
+ GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
+
+ if (gtk_editable_get_editable (GTK_EDITABLE (priv->entry)))
+ gtk_spin_button_update (spin_button);
+}
+
+static void
gtk_spin_button_init (GtkSpinButton *spin_button)
{
GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
@@ -901,6 +915,13 @@ gtk_spin_button_init (GtkSpinButton *spin_button)
g_signal_connect (controller, "scroll",
G_CALLBACK (scroll_controller_scroll), spin_button);
gtk_widget_add_controller (GTK_WIDGET (spin_button), controller);
+
+ controller = gtk_event_controller_key_new ();
+ g_signal_connect (controller, "key-released",
+ G_CALLBACK (key_controller_key_released), spin_button);
+ g_signal_connect (controller, "focus-out",
+ G_CALLBACK (key_controller_focus_out), spin_button);
+ gtk_widget_add_controller (GTK_WIDGET (spin_button), controller);
}
static void
@@ -1079,38 +1100,6 @@ gtk_spin_button_size_allocate (GtkWidget *widget,
gtk_widget_size_allocate (priv->box, allocation, baseline);
}
-static gboolean
-gtk_spin_button_event (GtkWidget *widget,
- GdkEvent *event)
-{
- GtkSpinButton *spin_button = GTK_SPIN_BUTTON (widget);
- GtkSpinButtonPrivate *priv = gtk_spin_button_get_instance_private (spin_button);
-
- if (gdk_event_get_event_type (event) == GDK_KEY_RELEASE)
- {
- /* We only get a release at the end of a key repeat run, so reset the timer_step */
- priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment);
- priv->timer_calls = 0;
-
- return GDK_EVENT_STOP;
- }
- if (gdk_event_get_event_type (event) == GDK_FOCUS_CHANGE)
- {
- gboolean focus_in;
-
- gdk_event_get_focus_in (event, &focus_in);
- if (!focus_in)
- {
- if (gtk_editable_get_editable (GTK_EDITABLE (priv->entry)))
- gtk_spin_button_update (spin_button);
- }
-
- return GDK_EVENT_PROPAGATE;
- }
-
- return GDK_EVENT_PROPAGATE;
-}
-
static void
gtk_spin_button_grab_notify (GtkWidget *widget,
gboolean was_grabbed)
@@ -1200,7 +1189,7 @@ gtk_spin_button_value_changed (GtkAdjustment *adjustment,
update_buttons_sensitivity (spin_button);
gtk_widget_queue_draw (GTK_WIDGET (spin_button));
- g_object_notify (G_OBJECT (spin_button), "value");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_VALUE]);
}
static void
@@ -1569,20 +1558,20 @@ gtk_spin_button_configure (GtkSpinButton *spin_button,
spin_button);
priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment);
- g_object_notify (G_OBJECT (spin_button), "adjustment");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_ADJUSTMENT]);
gtk_widget_queue_resize (GTK_WIDGET (spin_button));
}
if (priv->digits != digits)
{
priv->digits = digits;
- g_object_notify (G_OBJECT (spin_button), "digits");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_DIGITS]);
}
if (priv->climb_rate != climb_rate)
{
priv->climb_rate = climb_rate;
- g_object_notify (G_OBJECT (spin_button), "climb-rate");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_CLIMB_RATE]);
}
g_object_thaw_notify (G_OBJECT (spin_button));
@@ -1730,7 +1719,7 @@ gtk_spin_button_set_digits (GtkSpinButton *spin_button,
{
priv->digits = digits;
gtk_spin_button_value_changed (priv->adjustment, spin_button);
- g_object_notify (G_OBJECT (spin_button), "digits");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_DIGITS]);
/* since lower/upper may have changed */
gtk_widget_queue_resize (GTK_WIDGET (spin_button));
@@ -1949,7 +1938,7 @@ gtk_spin_button_set_update_policy (GtkSpinButton *spin_button,
if (priv->update_policy != policy)
{
priv->update_policy = policy;
- g_object_notify (G_OBJECT (spin_button), "update-policy");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_UPDATE_POLICY]);
}
}
@@ -1992,8 +1981,8 @@ gtk_spin_button_set_numeric (GtkSpinButton *spin_button,
if (priv->numeric != numeric)
{
- priv->numeric = numeric;
- g_object_notify (G_OBJECT (spin_button), "numeric");
+ priv->numeric = numeric;
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_NUMERIC]);
}
}
@@ -2037,10 +2026,10 @@ gtk_spin_button_set_wrap (GtkSpinButton *spin_button,
if (priv->wrap != wrap)
{
- priv->wrap = wrap;
- g_object_notify (G_OBJECT (spin_button), "wrap");
+ priv->wrap = wrap;
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_WRAP]);
- update_buttons_sensitivity (spin_button);
+ update_buttons_sensitivity (spin_button);
}
}
@@ -2090,7 +2079,7 @@ gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button,
if (new_val && gtk_editable_get_editable (GTK_EDITABLE (priv->entry)))
gtk_spin_button_update (spin_button);
- g_object_notify (G_OBJECT (spin_button), "snap-to-ticks");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_SNAP_TO_TICKS]);
}
}
@@ -2276,7 +2265,7 @@ gtk_spin_button_set_text (GtkSpinButton *spin_button,
gtk_entry_set_text (GTK_ENTRY (priv->entry), text);
- g_object_notify (G_OBJECT (spin_button), "text");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_TEXT]);
}
/**
@@ -2321,7 +2310,7 @@ gtk_spin_button_set_max_width_chars (GtkSpinButton *spin_button,
if (max_width_chars != gtk_entry_get_max_width_chars (GTK_ENTRY (priv->entry)))
{
gtk_entry_set_max_width_chars (GTK_ENTRY (priv->entry), max_width_chars);
- g_object_notify (G_OBJECT (spin_button), "max-width-chars");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_MAX_WIDTH_CHARS]);
}
}
@@ -2364,6 +2353,6 @@ gtk_spin_button_set_width_chars (GtkSpinButton *spin_button,
if (width_chars != gtk_entry_get_width_chars (GTK_ENTRY (priv->entry)))
{
gtk_entry_set_width_chars (GTK_ENTRY (priv->entry), width_chars);
- g_object_notify (G_OBJECT (spin_button), "width-chars");
+ g_object_notify_by_pspec (G_OBJECT (spin_button), spinbutton_props[PROP_WIDTH_CHARS]);
}
}
diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c
index 05cf9e785d..a3d36a8603 100644
--- a/gtk/gtkstack.c
+++ b/gtk/gtkstack.c
@@ -1252,7 +1252,7 @@ gtk_stack_get_child_by_name (GtkStack *stack,
* size for all its children. If it isn't, the stack
* may change size when a different child becomes visible.
*
- * Since 3.16, homogeneity can be controlled separately
+ * Homogeneity can be controlled separately
* for horizontal and vertical size, with the
* #GtkStack:hhomogeneous and #GtkStack:vhomogeneous.
*/
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
index e6c1a6c62f..31d4bc9911 100644
--- a/gtk/gtktextbuffer.c
+++ b/gtk/gtktextbuffer.c
@@ -3054,7 +3054,7 @@ gtk_text_buffer_remove_all_tags (GtkTextBuffer *buffer,
*
* Before the 3.20 version, it was not allowed to pass an invalid location.
*
- * Since the 3.20 version, if @line_number is greater than the number of lines
+ * If @line_number is greater than the number of lines
* in the @buffer, the end iterator is returned. And if @char_offset is off the
* end of the line, the iterator at the end of the line is returned.
**/
@@ -3098,9 +3098,7 @@ gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer,
* @byte_index must be the start of a UTF-8 character. Note bytes, not
* characters; UTF-8 may encode one character as multiple bytes.
*
- * Before the 3.20 version, it was not allowed to pass an invalid location.
- *
- * Since the 3.20 version, if @line_number is greater than the number of lines
+ * If @line_number is greater than the number of lines
* in the @buffer, the end iterator is returned. And if @byte_index is off the
* end of the line, the iterator at the end of the line is returned.
**/
diff --git a/gtk/gtktexthandle.c b/gtk/gtktexthandle.c
index ff16630e5d..a78691cc78 100644
--- a/gtk/gtktexthandle.c
+++ b/gtk/gtktexthandle.c
@@ -23,6 +23,8 @@
#include "gtkwindowprivate.h"
#include "gtkcssnodeprivate.h"
#include "gtkwidgetprivate.h"
+#include "gtkgizmoprivate.h"
+#include "gtkrendericonprivate.h"
#include "gtkintl.h"
#include <gtk/gtk.h>
@@ -93,30 +95,6 @@ _gtk_text_handle_get_size (GtkTextHandle *handle,
NULL);
}
-static void
-_gtk_text_handle_draw (GtkTextHandle *handle,
- cairo_t *cr,
- GtkTextHandlePosition pos)
-{
- GtkTextHandlePrivate *priv;
- HandleWindow *handle_window;
- GtkStyleContext *context;
- gint width, height;
-
- priv = handle->priv;
- handle_window = &priv->windows[pos];
-
- context = gtk_widget_get_style_context (handle_window->widget);
- _gtk_text_handle_get_size (handle, pos, &width, &height);
-
- cairo_save (cr);
- cairo_translate (cr, handle_window->border.left, handle_window->border.top);
-
- gtk_render_handle (context, cr, 0, 0, width, height);
-
- cairo_restore (cr);
-}
-
static gint
_text_handle_pos_from_widget (GtkTextHandle *handle,
GtkWidget *widget)
@@ -131,28 +109,6 @@ _text_handle_pos_from_widget (GtkTextHandle *handle,
return -1;
}
-static gboolean
-gtk_text_handle_widget_draw (GtkWidget *widget,
- cairo_t *cr,
- GtkTextHandle *handle)
-{
- gint pos;
-
- pos = _text_handle_pos_from_widget (handle, widget);
-
- if (pos < 0)
- return FALSE;
-
-#if 0
- /* Show the invisible border */
- cairo_set_source_rgba (cr, 1, 0, 0, 0.5);
- cairo_paint (cr);
-#endif
-
- _gtk_text_handle_draw (handle, cr, pos);
- return TRUE;
-}
-
static void
gtk_text_handle_set_state (GtkTextHandle *handle,
gint pos,
@@ -181,101 +137,86 @@ gtk_text_handle_unset_state (GtkTextHandle *handle,
gtk_widget_queue_draw (priv->windows[pos].widget);
}
-static gboolean
-gtk_text_handle_widget_event (GtkWidget *widget,
- GdkEvent *event,
- GtkTextHandle *handle)
+static void
+handle_drag_begin (GtkGestureDrag *gesture,
+ gdouble x,
+ gdouble y,
+ GtkTextHandle *handle)
{
- GtkTextHandlePrivate *priv;
- GdkEventType event_type;
- gdouble event_x, event_y;
- guint state;
+ GtkTextHandlePrivate *priv = handle->priv;
+ GtkWidget *widget;
gint pos;
- GdkCrossingMode mode;
- priv = handle->priv;
+ widget = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture));
pos = _text_handle_pos_from_widget (handle, widget);
- if (pos < 0)
- return FALSE;
-
- event_type = gdk_event_get_event_type (event);
- gdk_event_get_coords (event, &event_x, &event_y);
- gdk_event_get_crossing_mode (event, &mode);
-
- if (event_type == GDK_BUTTON_PRESS)
- {
- priv->windows[pos].dx = event_x;
- priv->windows[pos].dy = event_y;
- priv->windows[pos].dragged = TRUE;
- gtk_text_handle_set_state (handle, pos, GTK_STATE_FLAG_ACTIVE);
- g_signal_emit (handle, signals[DRAG_STARTED], 0, pos);
- }
- else if (event_type == GDK_BUTTON_RELEASE)
- {
- g_signal_emit (handle, signals[DRAG_FINISHED], 0, pos);
- priv->windows[pos].dragged = FALSE;
- gtk_text_handle_unset_state (handle, pos, GTK_STATE_FLAG_ACTIVE);
- }
- else if (event_type == GDK_ENTER_NOTIFY)
- gtk_text_handle_set_state (handle, pos, GTK_STATE_FLAG_PRELIGHT);
- else if (event_type == GDK_LEAVE_NOTIFY)
- {
- if (!priv->windows[pos].dragged &&
- (mode == GDK_CROSSING_NORMAL ||
- mode == GDK_CROSSING_UNGRAB))
- gtk_text_handle_unset_state (handle, pos, GTK_STATE_FLAG_PRELIGHT);
- }
- else if (event_type == GDK_MOTION_NOTIFY &&
- gdk_event_get_state (event, &state) &&
- state & GDK_BUTTON1_MASK &&
- priv->windows[pos].dragged)
- {
- gint x, y, handle_width, handle_height;
- cairo_rectangle_int_t rect;
- GtkAllocation allocation;
- GtkWidget *window;
-
- window = gtk_widget_get_parent (priv->windows[pos].widget);
- gtk_widget_get_allocation (priv->windows[pos].widget, &allocation);
- _gtk_text_handle_get_size (handle, pos, &handle_width, &handle_height);
-
- _gtk_window_get_popover_position (GTK_WINDOW (window),
- priv->windows[pos].widget,
- NULL, &rect);
-
- x = rect.x + event_x - priv->windows[pos].dx;
- y = rect.y + event_y - priv->windows[pos].dy +
- priv->windows[pos].border.top / 2;
-
- if (pos == GTK_TEXT_HANDLE_POSITION_CURSOR &&
- priv->mode == GTK_TEXT_HANDLE_MODE_CURSOR)
- x += handle_width / 2;
- else if ((pos == GTK_TEXT_HANDLE_POSITION_CURSOR &&
- priv->windows[pos].dir == GTK_TEXT_DIR_RTL) ||
- (pos == GTK_TEXT_HANDLE_POSITION_SELECTION_START &&
- priv->windows[pos].dir != GTK_TEXT_DIR_RTL))
- x += handle_width;
-
- gtk_widget_translate_coordinates (window, priv->parent, x, y, &x, &y);
- g_signal_emit (handle, signals[HANDLE_DRAGGED], 0, pos, x, y);
- }
+ if (pos == GTK_TEXT_HANDLE_POSITION_CURSOR &&
+ priv->mode == GTK_TEXT_HANDLE_MODE_CURSOR)
+ x -= gtk_widget_get_width (widget) / 2;
+ else if ((pos == GTK_TEXT_HANDLE_POSITION_CURSOR &&
+ priv->windows[pos].dir == GTK_TEXT_DIR_RTL) ||
+ (pos == GTK_TEXT_HANDLE_POSITION_SELECTION_START &&
+ priv->windows[pos].dir != GTK_TEXT_DIR_RTL))
+ x -= gtk_widget_get_width (widget);
+
+ y += priv->windows[pos].border.top / 2;
+
+ priv->windows[pos].dx = x;
+ priv->windows[pos].dy = y;
+ priv->windows[pos].dragged = TRUE;
+ gtk_text_handle_set_state (handle, pos, GTK_STATE_FLAG_ACTIVE);
+ g_signal_emit (handle, signals[DRAG_STARTED], 0, pos);
+}
- return TRUE;
+static void
+handle_drag_update (GtkGestureDrag *gesture,
+ gdouble offset_x,
+ gdouble offset_y,
+ GtkTextHandle *handle)
+{
+ GtkTextHandlePrivate *priv = handle->priv;
+ gdouble start_x, start_y;
+ gint pos, x, y;
+
+ pos = _text_handle_pos_from_widget (handle,
+ gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)));
+ gtk_gesture_drag_get_start_point (gesture, &start_x, &start_y);
+
+ gtk_widget_translate_coordinates (priv->windows[pos].widget, priv->parent,
+ start_x + offset_x - priv->windows[pos].dx,
+ start_y + offset_y - priv->windows[pos].dy,
+ &x, &y);
+ g_signal_emit (handle, signals[HANDLE_DRAGGED], 0, pos, x, y);
}
static void
-gtk_text_handle_widget_style_updated (GtkWidget *widget,
- GtkTextHandle *handle)
+handle_drag_end (GtkGestureDrag *gesture,
+ gdouble offset_x,
+ gdouble offset_y,
+ GtkTextHandle *handle)
{
- GtkTextHandlePrivate *priv;
+ GtkTextHandlePrivate *priv = handle->priv;
+ gint pos;
- priv = handle->priv;
- gtk_style_context_set_parent (gtk_widget_get_style_context (widget),
- gtk_widget_get_style_context (priv->parent));
+ pos = _text_handle_pos_from_widget (handle,
+ gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture)));
+ g_signal_emit (handle, signals[DRAG_FINISHED], 0, pos);
+ priv->windows[pos].dragged = FALSE;
+ gtk_text_handle_unset_state (handle, pos, GTK_STATE_FLAG_ACTIVE);
+}
- _gtk_text_handle_update (handle, GTK_TEXT_HANDLE_POSITION_SELECTION_START);
- _gtk_text_handle_update (handle, GTK_TEXT_HANDLE_POSITION_SELECTION_END);
+static gboolean
+snapshot_func (GtkGizmo *gizmo,
+ GtkSnapshot *snapshot)
+{
+ GtkCssStyle *style = gtk_css_node_get_style (gtk_widget_get_css_node (GTK_WIDGET (gizmo)));
+
+ gtk_css_style_snapshot_icon (style,
+ snapshot,
+ gtk_widget_get_width (GTK_WIDGET (gizmo)),
+ gtk_widget_get_height (GTK_WIDGET (gizmo)),
+ GTK_CSS_IMAGE_BUILTIN_HANDLE);
+ return TRUE;
}
static GtkWidget *
@@ -290,18 +231,21 @@ _gtk_text_handle_ensure_widget (GtkTextHandle *handle,
{
GtkWidget *widget, *window;
GtkStyleContext *context;
+ GtkEventController *controller;
- widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ widget = gtk_gizmo_new (I_("cursor-handle"),
+ NULL, NULL, snapshot_func);
gtk_widget_set_direction (widget, priv->windows[pos].dir);
- g_signal_connect (widget, "draw",
- G_CALLBACK (gtk_text_handle_widget_draw), handle);
- g_signal_connect (widget, "event",
- G_CALLBACK (gtk_text_handle_widget_event), handle);
- g_signal_connect (widget, "style-updated",
- G_CALLBACK (gtk_text_handle_widget_style_updated),
- handle);
+ controller = GTK_EVENT_CONTROLLER (gtk_gesture_drag_new ());
+ g_signal_connect (controller, "drag-begin",
+ G_CALLBACK (handle_drag_begin), handle);
+ g_signal_connect (controller, "drag-update",
+ G_CALLBACK (handle_drag_update), handle);
+ g_signal_connect (controller, "drag-end",
+ G_CALLBACK (handle_drag_end), handle);
+ gtk_widget_add_controller (widget, controller);
priv->windows[pos].widget = g_object_ref_sink (widget);
window = gtk_widget_get_ancestor (priv->parent, GTK_TYPE_WINDOW);
@@ -309,7 +253,6 @@ _gtk_text_handle_ensure_widget (GtkTextHandle *handle,
context = gtk_widget_get_style_context (widget);
gtk_style_context_set_parent (context, gtk_widget_get_style_context (priv->parent));
- gtk_css_node_set_name (gtk_widget_get_css_node (widget), I_("cursor-handle"));
if (pos == GTK_TEXT_HANDLE_POSITION_SELECTION_END)
{
gtk_style_context_add_class (context, GTK_STYLE_CLASS_BOTTOM);
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index d242059ffd..1c6aa8f2db 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -417,14 +417,14 @@ static GtkTextBuffer* gtk_text_view_create_buffer (GtkTextView *text_view);
/* Source side drag signals */
static void gtk_text_view_drag_begin (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_text_view_drag_end (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_text_view_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data);
static void gtk_text_view_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
/* Target side drag signals */
static void gtk_text_view_drag_leave (GtkWidget *widget,
@@ -7585,7 +7585,7 @@ gtk_text_view_im_context_filter_keypress (GtkTextView *text_view,
static void
drag_begin_cb (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GtkTextView *text_view = GTK_TEXT_VIEW (widget);
@@ -7601,12 +7601,12 @@ drag_begin_cb (GtkWidget *widget,
if (paintable)
{
- gtk_drag_set_icon_paintable (context, paintable, 0, 0);
+ gtk_drag_set_icon_paintable (drag, paintable, 0, 0);
g_object_unref (paintable);
}
else
{
- gtk_drag_set_icon_default (context);
+ gtk_drag_set_icon_default (drag);
}
}
@@ -7632,14 +7632,14 @@ gtk_text_view_start_selection_dnd (GtkTextView *text_view,
static void
gtk_text_view_drag_begin (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
/* do nothing */
}
static void
gtk_text_view_drag_end (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkTextView *text_view;
@@ -7649,7 +7649,7 @@ gtk_text_view_drag_end (GtkWidget *widget,
static void
gtk_text_view_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data)
{
GtkTextView *text_view = GTK_TEXT_VIEW (widget);
@@ -7685,7 +7685,7 @@ gtk_text_view_drag_data_get (GtkWidget *widget,
static void
gtk_text_view_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
gtk_text_buffer_delete_selection (GTK_TEXT_VIEW (widget)->priv->buffer,
TRUE, GTK_TEXT_VIEW (widget)->priv->editable);
@@ -7861,7 +7861,7 @@ static GdkDragAction
gtk_text_view_get_action (GtkWidget *textview,
GdkDrop *drop)
{
- GdkDragContext *drag = gdk_drop_get_drag (drop);
+ GdkDrag *drag = gdk_drop_get_drag (drop);
GtkWidget *source_widget = gtk_drag_get_source_widget (drag);
GdkDragAction actions;
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 87bb56ce88..785332448a 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -616,14 +616,14 @@ static void gtk_tree_view_forall (GtkContainer *container,
/* Source side drag signals */
static void gtk_tree_view_drag_begin (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_tree_view_drag_end (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
static void gtk_tree_view_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data);
static void gtk_tree_view_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
/* Target side drag signals */
static void gtk_tree_view_drag_leave (GtkWidget *widget,
@@ -2367,7 +2367,9 @@ gtk_tree_view_calculate_width_before_expander (GtkTreeView *tree_view)
static void
gtk_tree_view_size_allocate_columns (GtkWidget *widget)
{
- GtkTreeView *tree_view;
+ GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
+ GtkTreeViewPrivate *priv = gtk_tree_view_get_instance_private (tree_view);
+ const int x_offset = - gtk_adjustment_get_value (priv->hadjustment);
GList *list, *first_column, *last_column;
GtkTreeViewColumn *column;
gint widget_width, width = 0;
@@ -2376,8 +2378,6 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget)
gint number_of_expand_columns = 0;
gboolean rtl;
gboolean update_expand;
-
- tree_view = GTK_TREE_VIEW (widget);
for (last_column = g_list_last (tree_view->priv->columns);
last_column &&
@@ -2488,9 +2488,11 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget)
column_width += extra_for_last;
if (rtl)
- _gtk_tree_view_column_allocate (column, widget_width - width - column_width, column_width, tree_view->priv->header_height);
+ _gtk_tree_view_column_allocate (column, widget_width - width - column_width + x_offset,
+ column_width, tree_view->priv->header_height);
else
- _gtk_tree_view_column_allocate (column, width, column_width, tree_view->priv->header_height);
+ _gtk_tree_view_column_allocate (column, width + x_offset,
+ column_width, tree_view->priv->header_height);
width += column_width;
}
@@ -4553,6 +4555,8 @@ gtk_tree_view_bin_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot)
{
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
+ GtkTreeViewPrivate *priv = gtk_tree_view_get_instance_private (tree_view);
+ const int x_scroll_offset = - gtk_adjustment_get_value (priv->hadjustment);
GtkTreePath *path;
GtkRBTree *tree;
GList *list;
@@ -4673,7 +4677,7 @@ gtk_tree_view_bin_snapshot (GtkWidget *widget,
max_height = gtk_tree_view_get_row_height (tree_view, node);
- cell_offset = 0;
+ cell_offset = x_scroll_offset;
background_area.y = y_offset + clip.y;
background_area.height = max_height;
@@ -4746,7 +4750,7 @@ gtk_tree_view_bin_snapshot (GtkWidget *widget,
else
flags &= ~GTK_CELL_RENDERER_EXPANDED;
- background_area.x = cell_offset;
+ background_area.x = cell_offset;
background_area.width = width;
cell_area = background_area;
@@ -4783,6 +4787,9 @@ gtk_tree_view_bin_snapshot (GtkWidget *widget,
continue;
}
+ background_area.x -= x_scroll_offset;
+ cell_area.x -= x_scroll_offset;
+
gtk_tree_view_column_cell_set_cell_data (column,
tree_view->priv->model,
&iter,
@@ -6834,21 +6841,21 @@ _gtk_tree_view_column_autosize (GtkTreeView *tree_view,
/* Drag-and-drop */
static void
-set_source_row (GdkDragContext *context,
+set_source_row (GdkDrag *drag,
GtkTreeModel *model,
GtkTreePath *source_row)
{
- g_object_set_data_full (G_OBJECT (context),
+ g_object_set_data_full (G_OBJECT (drag),
I_("gtk-tree-view-source-row"),
source_row ? gtk_tree_row_reference_new (model, source_row) : NULL,
(GDestroyNotify) (source_row ? gtk_tree_row_reference_free : NULL));
}
static GtkTreePath*
-get_source_row (GdkDragContext *context)
+get_source_row (GdkDrag *drag)
{
GtkTreeRowReference *ref =
- g_object_get_data (G_OBJECT (context), "gtk-tree-view-source-row");
+ g_object_get_data (G_OBJECT (drag), "gtk-tree-view-source-row");
if (ref)
return gtk_tree_row_reference_get_path (ref);
@@ -7321,7 +7328,7 @@ gtk_tree_view_maybe_begin_dragging_row (GtkTreeView *tree_view)
{
GtkWidget *widget = GTK_WIDGET (tree_view);
gdouble start_x, start_y, offset_x, offset_y;
- GdkDragContext *context;
+ GdkDrag *drag;
TreeViewDragInfo *di;
GtkTreePath *path = NULL;
gint button;
@@ -7378,13 +7385,13 @@ gtk_tree_view_maybe_begin_dragging_row (GtkTreeView *tree_view)
gtk_gesture_set_state (GTK_GESTURE (tree_view->priv->drag_gesture),
GTK_EVENT_SEQUENCE_CLAIMED);
- context = gtk_drag_begin_with_coordinates (widget,
- gtk_gesture_get_device (GTK_GESTURE (tree_view->priv->drag_gesture)),
- gtk_drag_source_get_target_list (widget),
- di->source_actions,
- start_x, start_y);
+ drag = gtk_drag_begin_with_coordinates (widget,
+ gtk_gesture_get_device (GTK_GESTURE (tree_view->priv->drag_gesture)),
+ gtk_drag_source_get_target_list (widget),
+ di->source_actions,
+ start_x, start_y);
- set_source_row (context, model, path);
+ set_source_row (drag, model, path);
out:
if (path)
@@ -7396,7 +7403,7 @@ gtk_tree_view_maybe_begin_dragging_row (GtkTreeView *tree_view)
static void
gtk_tree_view_drag_begin (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkTreeView *tree_view;
GtkTreePath *path = NULL;
@@ -7429,10 +7436,9 @@ gtk_tree_view_drag_begin (GtkWidget *widget,
if (!path)
return;
- row_pix = gtk_tree_view_create_row_drag_icon (tree_view,
- path);
+ row_pix = gtk_tree_view_create_row_drag_icon (tree_view, path);
- gtk_drag_set_icon_paintable (context, row_pix, tree_view->priv->press_start_x + 1, 1);
+ gtk_drag_set_icon_paintable (drag, row_pix, tree_view->priv->press_start_x + 1, 1);
g_object_unref (row_pix);
gtk_tree_path_free (path);
@@ -7440,7 +7446,7 @@ gtk_tree_view_drag_begin (GtkWidget *widget,
static void
gtk_tree_view_drag_end (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
@@ -7451,7 +7457,7 @@ gtk_tree_view_drag_end (GtkWidget *widget,
/* Default signal implementations for the drag signals */
static void
gtk_tree_view_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data)
{
GtkTreeView *tree_view;
@@ -7471,7 +7477,7 @@ gtk_tree_view_drag_data_get (GtkWidget *widget,
if (di == NULL)
return;
- source_row = get_source_row (context);
+ source_row = get_source_row (drag);
if (source_row == NULL)
return;
@@ -7502,7 +7508,7 @@ gtk_tree_view_drag_data_get (GtkWidget *widget,
static void
gtk_tree_view_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context)
+ GdkDrag *drag)
{
TreeViewDragInfo *di;
GtkTreeModel *model;
@@ -7520,17 +7526,16 @@ gtk_tree_view_drag_data_delete (GtkWidget *widget,
if (di == NULL)
return;
- source_row = get_source_row (context);
+ source_row = get_source_row (drag);
if (source_row == NULL)
return;
- gtk_tree_drag_source_drag_data_delete (GTK_TREE_DRAG_SOURCE (model),
- source_row);
+ gtk_tree_drag_source_drag_data_delete (GTK_TREE_DRAG_SOURCE (model), source_row);
gtk_tree_path_free (source_row);
- set_source_row (context, NULL, NULL);
+ set_source_row (drag, NULL, NULL);
}
static void
@@ -7687,7 +7692,7 @@ static GdkDragAction
gtk_tree_view_get_action (GtkWidget *treeview,
GdkDrop *drop)
{
- GdkDragContext *drag = gdk_drop_get_drag (drop);
+ GdkDrag *drag = gdk_drop_get_drag (drop);
GtkWidget *source_widget = gtk_drag_get_source_widget (drag);
GdkDragAction actions;
@@ -10699,7 +10704,7 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
}
}
- gtk_widget_queue_draw (GTK_WIDGET (tree_view));
+ gtk_widget_queue_allocate (GTK_WIDGET (tree_view));
}
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c
index af4531ebda..a4ae3145dd 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/gtktreeviewcolumn.c
@@ -34,6 +34,7 @@
#include "gtktreeview.h"
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
+#include "gtkgesturedrag.h"
#include "a11y/gtktreeviewaccessibleprivate.h"
@@ -86,9 +87,15 @@ static void gtk_tree_view_column_create_button (GtkTreeViewColum
static void gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column);
/* Button signal handlers */
-static gint gtk_tree_view_column_button_event (GtkWidget *widget,
- GdkEvent *event,
- gpointer data);
+static void column_button_drag_begin (GtkGestureDrag *gesture,
+ gdouble x,
+ gdouble y,
+ GtkTreeViewColumn *column);
+static void column_button_drag_update (GtkGestureDrag *gesture,
+ gdouble offset_x,
+ gdouble offset_y,
+ GtkTreeViewColumn *column);
+
static void gtk_tree_view_column_button_clicked (GtkWidget *widget,
gpointer data);
static gboolean gtk_tree_view_column_mnemonic_activate (GtkWidget *widget,
@@ -810,6 +817,7 @@ static void
gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column)
{
GtkTreeViewColumnPrivate *priv = tree_column->priv;
+ GtkEventController *controller;
GtkWidget *child;
GtkWidget *hbox;
@@ -818,13 +826,18 @@ gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column)
priv->button = gtk_button_new ();
g_object_ref_sink (priv->button);
- g_signal_connect (priv->button, "event",
- G_CALLBACK (gtk_tree_view_column_button_event),
- tree_column);
g_signal_connect (priv->button, "clicked",
G_CALLBACK (gtk_tree_view_column_button_clicked),
tree_column);
+ controller = GTK_EVENT_CONTROLLER (gtk_gesture_drag_new ());
+ g_signal_connect (controller, "drag-begin",
+ G_CALLBACK (column_button_drag_begin), tree_column);
+ g_signal_connect (controller, "drag-update",
+ G_CALLBACK (column_button_drag_update), tree_column);
+ gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_CAPTURE);
+ gtk_widget_add_controller (priv->button, controller);
+
priv->frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (priv->frame), GTK_SHADOW_NONE);
gtk_widget_set_hexpand (priv->frame, TRUE);
@@ -1008,63 +1021,42 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column)
/* Button signal handlers
*/
-static gint
-gtk_tree_view_column_button_event (GtkWidget *widget,
- GdkEvent *event,
- gpointer data)
+static void
+column_button_drag_begin (GtkGestureDrag *gesture,
+ gdouble x,
+ gdouble y,
+ GtkTreeViewColumn *column)
{
- GtkTreeViewColumn *column = (GtkTreeViewColumn *) data;
- GtkTreeViewColumnPrivate *priv = column->priv;
- GdkEventType event_type;
- guint button;
- gdouble x, y;
-
- g_return_val_if_fail (event != NULL, FALSE);
-
- event_type = gdk_event_get_event_type (event);
- gdk_event_get_button (event, &button);
- gdk_event_get_coords (event, &x, &y);
+ GtkTreeViewColumnPrivate *priv = column->priv;
- if (event_type == GDK_BUTTON_PRESS &&
- priv->reorderable &&
- button == GDK_BUTTON_PRIMARY)
+ if (!priv->reorderable)
{
- priv->maybe_reordered = TRUE;
- priv->drag_x = x;
- priv->drag_y = y;
- gtk_widget_grab_focus (widget);
+ gtk_gesture_set_state (GTK_GESTURE (gesture),
+ GTK_EVENT_SEQUENCE_DENIED);
+ return;
}
- if (event_type == GDK_BUTTON_RELEASE ||
- event_type == GDK_LEAVE_NOTIFY)
- priv->maybe_reordered = FALSE;
-
- if (event_type == GDK_MOTION_NOTIFY &&
- priv->maybe_reordered &&
- gtk_drag_check_threshold (widget, priv->drag_x, priv->drag_y, (gint) x, (gint) y))
- {
- priv->maybe_reordered = FALSE;
- _gtk_tree_view_column_start_drag (GTK_TREE_VIEW (priv->tree_view), column,
- gdk_event_get_device (event));
- return TRUE;
- }
+ priv->drag_x = x;
+ priv->drag_y = y;
+ gtk_widget_grab_focus (priv->button);
+}
+
+static void
+column_button_drag_update (GtkGestureDrag *gesture,
+ gdouble offset_x,
+ gdouble offset_y,
+ GtkTreeViewColumn *column)
+{
+ GtkTreeViewColumnPrivate *priv = column->priv;
- if (priv->clickable == FALSE)
+ if (gtk_drag_check_threshold (priv->button, 0, 0, offset_x, offset_y))
{
- switch ((guint) event_type)
- {
- case GDK_BUTTON_PRESS:
- case GDK_BUTTON_RELEASE:
- return GDK_EVENT_STOP;
- default:
- return GDK_EVENT_PROPAGATE;
- }
+ gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
+ _gtk_tree_view_column_start_drag (GTK_TREE_VIEW (priv->tree_view), column,
+ gtk_gesture_get_device (GTK_GESTURE (gesture)));
}
-
- return GDK_EVENT_PROPAGATE;
}
-
static void
gtk_tree_view_column_button_clicked (GtkWidget *widget, gpointer data)
{
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 6f324522c2..b4ae9442e4 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -231,7 +231,7 @@
* Otherwise, you would not properly consider widget margins,
* #GtkSizeGroup, and so forth.
*
- * Since 3.10 GTK+ also supports baseline vertical alignment of widgets. This
+ * GTK+ also supports baseline vertical alignment of widgets. This
* means that widgets are positioned such that the typographical baseline of
* widgets in the same row are aligned. This happens if a widget supports baselines,
* has a vertical alignment of %GTK_ALIGN_BASELINE, and is inside a widget
@@ -1743,7 +1743,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
/**
* GtkWidget::drag-begin:
* @widget: the object which received the signal
- * @context: the drag context
+ * @context: the drag context
*
* The ::drag-begin signal is emitted on the drag source when a drag is
* started. A typical reason to connect to this signal is to set up a
@@ -1761,7 +1761,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
- GDK_TYPE_DRAG_CONTEXT);
+ GDK_TYPE_DRAG);
/**
* GtkWidget::drag-end:
@@ -1780,7 +1780,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
- GDK_TYPE_DRAG_CONTEXT);
+ GDK_TYPE_DRAG);
/**
* GtkWidget::drag-data-delete:
@@ -1800,7 +1800,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
- GDK_TYPE_DRAG_CONTEXT);
+ GDK_TYPE_DRAG);
/**
* GtkWidget::drag-failed:
@@ -1824,7 +1824,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
_gtk_boolean_handled_accumulator, NULL,
_gtk_marshal_BOOLEAN__OBJECT_ENUM,
G_TYPE_BOOLEAN, 2,
- GDK_TYPE_DRAG_CONTEXT,
+ GDK_TYPE_DRAG,
GTK_TYPE_DRAG_RESULT);
/**
@@ -1982,7 +1982,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
NULL, NULL,
_gtk_marshal_VOID__OBJECT_BOXED,
G_TYPE_NONE, 2,
- GDK_TYPE_DRAG_CONTEXT,
+ GDK_TYPE_DRAG,
GTK_TYPE_SELECTION_DATA | G_SIGNAL_TYPE_STATIC_SCOPE);
/**
@@ -2515,7 +2515,6 @@ _gtk_widget_emulate_press (GtkWidget *widget,
gtk_widget_get_toplevel (event_widget),
x, y,
&x, &y);
- gdk_event_set_coords (event, x, y);
if (event->any.type == GDK_TOUCH_BEGIN ||
event->any.type == GDK_TOUCH_UPDATE ||
@@ -2535,8 +2534,6 @@ _gtk_widget_emulate_press (GtkWidget *widget,
press = gdk_event_new (GDK_BUTTON_PRESS);
press->any.surface = g_object_ref (event->any.surface);
press->button.time = event->motion.time;
- press->button.x = event->motion.x;
- press->button.y = event->motion.y;
press->button.x_root = event->motion.x_root;
press->button.y_root = event->motion.y_root;
press->button.state = event->motion.state;
@@ -2563,6 +2560,8 @@ _gtk_widget_emulate_press (GtkWidget *widget,
else
return;
+ gdk_event_set_coords (press, x, y);
+
press->any.send_event = TRUE;
next_child = event_widget;
parent = _gtk_widget_get_parent (next_child);
@@ -13012,96 +13011,6 @@ gtk_widget_maybe_add_debug_render_nodes (GtkWidget *widget,
/* We should be offset to priv->allocation at this point */
- if (GTK_DISPLAY_DEBUG_CHECK (display, LAYOUT))
- {
- graphene_rect_t bounds;
- GdkRGBA widget_margin_color = {0.7, 0, 0, 0.6};
- GdkRGBA margin_color = {0.7, 0.7, 0, 0.6};
- GdkRGBA padding_color = {0.7, 0, 0.7, 0.6};
-
- style = gtk_css_node_get_style (priv->cssnode);
- get_box_margin (style, &margin);
- get_box_border (style, &border);
- get_box_padding (style, &padding);
-
- gtk_snapshot_push_debug (snapshot, "Widget layout debugging");
-
- /* Widget margins */
- graphene_rect_init (&bounds,
- 0, -priv->margin.top,
- priv->allocation.width, priv->margin.top);
- gtk_snapshot_append_color (snapshot, &widget_margin_color, &bounds);
-
- graphene_rect_init (&bounds,
- 0, priv->allocation.height,
- priv->allocation.width, priv->margin.bottom);
- gtk_snapshot_append_color (snapshot, &widget_margin_color, &bounds);
-
- graphene_rect_init (&bounds,
- -priv->margin.left, 0,
- priv->margin.left, priv->allocation.height);
- gtk_snapshot_append_color (snapshot, &widget_margin_color, &bounds);
-
- graphene_rect_init (&bounds,
- priv->allocation.width, 0,
- priv->margin.right, priv->allocation.height);
- gtk_snapshot_append_color (snapshot, &widget_margin_color, &bounds);
-
-
- /* CSS Margins */
- graphene_rect_init (&bounds,
- 0, 0,
- priv->allocation.width, margin.top);
- gtk_snapshot_append_color (snapshot, &margin_color, &bounds);
-
- graphene_rect_init (&bounds,
- 0, priv->allocation.height - margin.bottom,
- priv->allocation.width, margin.bottom);
- gtk_snapshot_append_color (snapshot, &margin_color, &bounds);
-
- graphene_rect_init (&bounds,
- 0, margin.top,
- margin.left, priv->allocation.height - margin.top - margin.bottom);
- gtk_snapshot_append_color (snapshot, &margin_color, &bounds);
-
- graphene_rect_init (&bounds,
- priv->allocation.width - margin.right, margin.top,
- margin.right, priv->allocation.height - margin.top - margin.bottom);
- gtk_snapshot_append_color (snapshot, &margin_color, &bounds);
-
-
- /* Padding */
- graphene_rect_init (&bounds,
- margin.left + border.left,
- margin.top + border.top,
- priv->allocation.width - margin.left - margin.right - border.left - border.right,
- padding.top);
- gtk_snapshot_append_color (snapshot, &padding_color, &bounds);
-
- graphene_rect_init (&bounds,
- margin.left + border.left,
- priv->allocation.height - margin.bottom - border.bottom - padding.bottom,
- priv->allocation.width - margin.left - margin.right - border.left - border.right,
- padding.bottom);
- gtk_snapshot_append_color (snapshot, &padding_color, &bounds);
-
- graphene_rect_init (&bounds,
- margin.left + border.left,
- margin.top + border.top + padding.top,
- padding.left,
- priv->allocation.height - margin.top - margin.bottom - border.top - border.bottom - padding.top - padding.bottom);
- gtk_snapshot_append_color (snapshot, &padding_color, &bounds);
-
- graphene_rect_init (&bounds,
- priv->allocation.width - margin.right - border.right - padding.right,
- margin.top + border.top + padding.top,
- padding.right,
- priv->allocation.height - margin.top - margin.bottom - border.top - border.bottom - padding.top - padding.bottom);
- gtk_snapshot_append_color (snapshot, &padding_color, &bounds);
-
- gtk_snapshot_pop (snapshot);
- }
-
if (GTK_DISPLAY_DEBUG_CHECK (display, BASELINES))
{
int baseline = gtk_widget_get_allocated_baseline (widget);
@@ -13160,6 +13069,10 @@ gtk_widget_create_render_node (GtkWidget *widget,
GtkBorder margin, border, padding;
GtkSnapshot *snapshot;
+ opacity = priv->alpha / 255.0;
+ if (opacity <= 0.0)
+ return NULL;
+
snapshot = gtk_snapshot_new ();
_gtk_widget_get_allocation (widget, &allocation);
@@ -13175,7 +13088,6 @@ gtk_widget_create_render_node (GtkWidget *widget,
get_box_margin (style, &margin);
get_box_border (style, &border);
get_box_padding (style, &padding);
- opacity = priv->alpha / 255.0;
if (opacity < 1.0)
gtk_snapshot_push_opacity (snapshot, opacity);
@@ -13224,7 +13136,6 @@ gtk_widget_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot)
{
GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
- double opacity;
if (!_gtk_widget_is_drawable (widget))
return;
@@ -13235,10 +13146,6 @@ gtk_widget_snapshot (GtkWidget *widget,
return;
}
- opacity = priv->alpha / 255.0;
- if (opacity <= 0.0)
- return;
-
if (priv->draw_needed)
{
GskRenderNode *render_node;
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index 5989923f66..5c240d0fa2 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -293,15 +293,15 @@ struct _GtkWidgetClass
GdkEvent *event);
/* Source side drag signals */
- void (* drag_begin) (GtkWidget *widget,
- GdkDragContext *context);
+ void (* drag_begin) (GtkWidget *widget,
+ GdkDrag *drag);
void (* drag_end) (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
void (* drag_data_get) (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data);
void (* drag_data_delete) (GtkWidget *widget,
- GdkDragContext *context);
+ GdkDrag *drag);
/* Target side drag signals */
void (* drag_leave) (GtkWidget *widget,
@@ -318,7 +318,7 @@ struct _GtkWidgetClass
GdkDrop *drop,
GtkSelectionData *selection_data);
gboolean (* drag_failed) (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkDragResult result);
/* Signals used only for keybindings */
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index e08f8832be..012f4efa58 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -42,6 +42,7 @@
#include "gtkcssshadowsvalueprivate.h"
#include "gtkcssstylepropertyprivate.h"
#include "gtkdragdest.h"
+#include "gtkeventcontrollerkey.h"
#include "gtkgesturedrag.h"
#include "gtkgesturemultipress.h"
#include "gtkgestureprivate.h"
@@ -278,6 +279,8 @@ typedef struct
GtkGesture *multipress_gesture;
GtkGesture *drag_gesture;
+ GtkGesture *bubble_drag_gesture;
+ GtkEventController *key_controller;
GdkSurface *hardcoded_surface;
@@ -426,11 +429,6 @@ static void gtk_window_size_allocate (GtkWidget *widget,
const GtkAllocation *allocation,
int baseline);
static gboolean gtk_window_close_request (GtkWindow *window);
-static gboolean gtk_window_emit_close_request (GtkWindow *window);
-static gboolean gtk_window_configure_event (GtkWidget *widget,
- GdkEvent *event);
-static gboolean gtk_window_event (GtkWidget *widget,
- GdkEvent *event);
static void gtk_window_focus_in (GtkWidget *widget);
static void gtk_window_focus_out (GtkWidget *widget);
static void surface_state_changed (GtkWidget *widget);
@@ -802,7 +800,6 @@ gtk_window_class_init (GtkWindowClass *klass)
widget_class->realize = gtk_window_realize;
widget_class->unrealize = gtk_window_unrealize;
widget_class->size_allocate = gtk_window_size_allocate;
- widget_class->event = gtk_window_event;
widget_class->focus = gtk_window_focus;
widget_class->move_focus = gtk_window_move_focus;
widget_class->measure = gtk_window_measure;
@@ -1600,28 +1597,30 @@ drag_gesture_update_cb (GtkGestureDrag *gesture,
GdkEventSequence *sequence;
gdouble start_x, start_y;
gint x_root, y_root;
- const GdkEvent *event;
- GtkWidget *event_widget;
sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
- event = gtk_gesture_get_last_event (GTK_GESTURE (gesture), sequence);
- event_widget = gtk_get_event_target (event);
- /* Check whether the target widget should be left alone at handling
- * the sequence, this is better done late to give room for gestures
- * there to go denied.
- *
- * Besides claiming gestures, we must bail out too if there's gestures
- * in the "none" state at this point, as those are still handling events
- * and can potentially go claimed, and we don't want to stop the target
- * widget from doing anything.
- */
- if (event_widget != GTK_WIDGET (window) &&
- !gtk_widget_has_grab (event_widget) &&
- _gtk_widget_consumes_motion (event_widget, sequence))
+ if (gtk_event_controller_get_propagation_phase (GTK_EVENT_CONTROLLER (gesture)) == GTK_PHASE_CAPTURE)
{
- gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_DENIED);
- return;
+ const GdkEvent *event = gtk_gesture_get_last_event (GTK_GESTURE (gesture), sequence);
+ GtkWidget *event_widget = gtk_get_event_target (event);
+
+ /* Check whether the target widget should be left alone at handling
+ * the sequence, this is better done late to give room for gestures
+ * there to go denied.
+ *
+ * Besides claiming gestures, we must bail out too if there's gestures
+ * in the "none" state at this point, as those are still handling events
+ * and can potentially go claimed, and we don't want to stop the target
+ * widget from doing anything.
+ */
+ if (event_widget != GTK_WIDGET (window) &&
+ !gtk_widget_has_grab (event_widget) &&
+ _gtk_widget_consumes_motion (event_widget, sequence))
+ {
+ gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_DENIED);
+ return;
+ }
}
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
@@ -1953,6 +1952,28 @@ gtk_window_init (GtkWindow *window)
G_CALLBACK (device_removed_cb), window);
_gtk_widget_set_captured_event_handler (widget, captured_event_cb);
+
+ priv->key_controller = gtk_event_controller_key_new ();
+ g_signal_connect_swapped (priv->key_controller, "focus-in",
+ G_CALLBACK (gtk_window_focus_in), window);
+ g_signal_connect_swapped (priv->key_controller, "focus-out",
+ G_CALLBACK (gtk_window_focus_out), window);
+ gtk_widget_add_controller (widget, priv->key_controller);
+}
+
+static GtkGesture *
+create_drag_gesture (GtkWindow *window)
+{
+ GtkGesture *gesture;
+
+ gesture = gtk_gesture_drag_new ();
+ g_signal_connect (gesture, "drag-begin",
+ G_CALLBACK (drag_gesture_begin_cb), window);
+ g_signal_connect (gesture, "drag-update",
+ G_CALLBACK (drag_gesture_update_cb), window);
+ gtk_widget_add_controller (GTK_WIDGET (window), GTK_EVENT_CONTROLLER (gesture));
+
+ return gesture;
}
static void
@@ -1968,19 +1989,18 @@ gtk_window_constructed (GObject *object)
priv->multipress_gesture = gtk_gesture_multi_press_new ();
gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (priv->multipress_gesture), 0);
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (priv->multipress_gesture),
- GTK_PHASE_NONE);
+ GTK_PHASE_BUBBLE);
g_signal_connect (priv->multipress_gesture, "pressed",
G_CALLBACK (multipress_gesture_pressed_cb), object);
gtk_widget_add_controller (GTK_WIDGET (object), GTK_EVENT_CONTROLLER (priv->multipress_gesture));
- priv->drag_gesture = gtk_gesture_drag_new ();
+ priv->drag_gesture = create_drag_gesture (window);
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (priv->drag_gesture),
GTK_PHASE_CAPTURE);
- g_signal_connect (priv->drag_gesture, "drag-begin",
- G_CALLBACK (drag_gesture_begin_cb), object);
- g_signal_connect (priv->drag_gesture, "drag-update",
- G_CALLBACK (drag_gesture_update_cb), object);
- gtk_widget_add_controller (GTK_WIDGET (object), GTK_EVENT_CONTROLLER (priv->drag_gesture));
+
+ priv->bubble_drag_gesture = create_drag_gesture (window);
+ gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (priv->bubble_drag_gesture),
+ GTK_PHASE_BUBBLE);
}
}
@@ -5892,7 +5912,7 @@ gtk_window_close_request (GtkWindow *window)
return FALSE;
}
-static gboolean
+gboolean
gtk_window_emit_close_request (GtkWindow *window)
{
GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
@@ -7174,12 +7194,13 @@ gtk_window_size_allocate (GtkWidget *widget,
gtk_widget_size_allocate (child, &child_allocation, -1);
}
-static gboolean
-gtk_window_configure_event (GtkWidget *widget,
- GdkEvent *event)
+gboolean
+gtk_window_configure (GtkWindow *window,
+ guint width,
+ guint height)
{
GtkAllocation allocation;
- GtkWindow *window = GTK_WINDOW (widget);
+ GtkWidget *widget = GTK_WIDGET (window);
GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
check_scale_changed (window);
@@ -7187,9 +7208,6 @@ gtk_window_configure_event (GtkWidget *widget,
if (!_gtk_widget_is_toplevel (widget))
return FALSE;
- if (_gtk_widget_get_surface (widget) != event->any.surface)
- return TRUE;
-
/* If this is a gratuitous ConfigureNotify that's already
* the same as our allocation, then we can fizzle it out.
* This is the case for dragging windows around.
@@ -7200,8 +7218,7 @@ gtk_window_configure_event (GtkWidget *widget,
*/
_gtk_widget_get_allocation (widget, &allocation);
if (priv->configure_request_count == 0 &&
- (allocation.width == ((GdkEventConfigure *)event)->width &&
- allocation.height == ((GdkEventConfigure *)event)->height))
+ (allocation.width == width && allocation.height == height))
{
return TRUE;
}
@@ -7429,135 +7446,6 @@ get_active_region_type (GtkWindow *window, gint x, gint y)
return GTK_WINDOW_REGION_CONTENT;
}
-static gboolean
-controller_handle_wm_event (GtkGesture *gesture,
- const GdkEvent *event)
-{
- GdkEventSequence *seq;
- gboolean retval;
-
- seq = gdk_event_get_event_sequence (event);
- retval = gtk_event_controller_handle_event (GTK_EVENT_CONTROLLER (gesture),
- event);
-
- /* Reset immediately the gestures, here we don't get many guarantees
- * about whether the target window event mask will be complete enough
- * to keep gestures consistent, or whether any widget across the
- * hierarchy will be inconsistent about event handler return values.
- */
- if (gtk_gesture_get_sequence_state (gesture, seq) == GTK_EVENT_SEQUENCE_DENIED)
- gtk_event_controller_reset (GTK_EVENT_CONTROLLER (gesture));
-
- return retval;
-}
-
-static gboolean
-gtk_window_handle_wm_event (GtkWindow *window,
- GdkEvent *event,
- gboolean run_drag)
-{
- GdkEventType event_type = gdk_event_get_event_type (event);
- gboolean retval = GDK_EVENT_PROPAGATE;
- GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
-
- if (event_type == GDK_BUTTON_PRESS || event_type == GDK_BUTTON_RELEASE ||
- event_type == GDK_TOUCH_BEGIN || event_type == GDK_TOUCH_UPDATE ||
- event_type == GDK_MOTION_NOTIFY || event_type == GDK_TOUCH_END)
- {
- if (run_drag && priv->drag_gesture)
- retval |= controller_handle_wm_event (priv->drag_gesture,
- (const GdkEvent*) event);
-
- if (priv->multipress_gesture)
- retval |= controller_handle_wm_event (priv->multipress_gesture,
- (const GdkEvent*) event);
- }
-
- return retval;
-}
-
-gboolean
-_gtk_window_check_handle_wm_event (GdkEvent *event)
-{
- GtkWindowPrivate *priv;
- GtkWidget *widget;
- GdkEventType event_type;
-
- widget = gtk_get_event_widget (event);
-
- if (!GTK_IS_WINDOW (widget))
- widget = gtk_widget_get_toplevel (widget);
-
- if (!GTK_IS_WINDOW (widget))
- return GDK_EVENT_PROPAGATE;
-
- priv = gtk_window_get_instance_private (GTK_WINDOW (widget));
-
- if (!priv->multipress_gesture)
- return GDK_EVENT_PROPAGATE;
-
- event_type = gdk_event_get_event_type (event);
-
- if (event_type != GDK_BUTTON_PRESS && event_type != GDK_BUTTON_RELEASE &&
- event_type != GDK_MOTION_NOTIFY && event_type != GDK_TOUCH_BEGIN &&
- event_type != GDK_TOUCH_END && event_type != GDK_TOUCH_UPDATE)
- return GDK_EVENT_PROPAGATE;
-
- if (gtk_widget_event (widget, event))
- return GDK_EVENT_STOP;
-
- return gtk_window_handle_wm_event (GTK_WINDOW (widget), event, TRUE);
-}
-
-static gboolean
-gtk_window_event (GtkWidget *widget,
- GdkEvent *event)
-{
- GdkEventType event_type;
-
- event_type = gdk_event_get_event_type (event);
-
- if (event_type == GDK_FOCUS_CHANGE)
- {
- gboolean focus_in;
-
- gdk_event_get_focus_in (event, &focus_in);
- if (focus_in)
- gtk_window_focus_in (widget);
- else
- gtk_window_focus_out (widget);
-
- return GDK_EVENT_PROPAGATE;
- }
- else if (event_type == GDK_DELETE)
- {
- if (gtk_window_emit_close_request (GTK_WINDOW (widget)))
- return GDK_EVENT_STOP;
- }
- else if (event_type == GDK_MAP)
- {
- if (!_gtk_widget_get_mapped (widget))
- {
- /* we should be be unmapped, but are getting a MapEvent, this may happen
- * to toplevel XWindows if mapping was intercepted by a window manager
- * and an unmap request occoured while the MapRequestEvent was still
- * being handled. we work around this situaiton here by re-requesting
- * the window being unmapped. more details can be found in:
- * http://bugzilla.gnome.org/show_bug.cgi?id=316180
- */
- gdk_surface_hide (_gtk_widget_get_surface (widget));
- }
- }
- else if (event_type == GDK_CONFIGURE)
- {
- return gtk_window_configure_event (widget, event);
- }
- else if (widget != gtk_get_event_target (event))
- return gtk_window_handle_wm_event (GTK_WINDOW (widget), event, FALSE);
-
- return GDK_EVENT_PROPAGATE;
-}
-
static void
gtk_window_real_activate_default (GtkWindow *window)
{
@@ -10046,8 +9934,6 @@ gtk_window_get_group (GtkWindow *window)
* Returns whether @window has an explicit window group.
*
* Returns: %TRUE if @window has an explicit window group.
- *
- * Since 2.22
**/
gboolean
gtk_window_has_group (GtkWindow *window)
@@ -10718,6 +10604,7 @@ _gtk_window_set_popover_position (GtkWindow *window,
data->rect = *rect;
data->pos = pos;
+ gtk_widget_queue_resize (popover);
}
void
diff --git a/gtk/gtkwindowprivate.h b/gtk/gtkwindowprivate.h
index 658f79f628..031e90c170 100644
--- a/gtk/gtkwindowprivate.h
+++ b/gtk/gtkwindowprivate.h
@@ -60,7 +60,10 @@ typedef void (*GtkWindowKeysForeachFunc) (GtkWindow *window,
gboolean is_mnemonic,
gpointer data);
-gboolean _gtk_window_check_handle_wm_event (GdkEvent *event);
+gboolean gtk_window_emit_close_request (GtkWindow *window);
+gboolean gtk_window_configure (GtkWindow *window,
+ guint width,
+ guint height);
/* --- internal (GtkAcceleratable) --- */
gboolean _gtk_window_query_nonaccels (GtkWindow *window,
diff --git a/gtk/inspector/layoutoverlay.c b/gtk/inspector/layoutoverlay.c
new file mode 100644
index 0000000000..b2f860135d
--- /dev/null
+++ b/gtk/inspector/layoutoverlay.c
@@ -0,0 +1,222 @@
+
+#include "config.h"
+#include "layoutoverlay.h"
+#include "gtkwidgetprivate.h"
+#include "gtkcssstyleprivate.h"
+#include "gtkcssnodeprivate.h"
+#include "gtkcssnumbervalueprivate.h"
+
+static const GdkRGBA WIDGET_MARGIN_COLOR = {0.7, 0, 0, 0.6};
+static const GdkRGBA MARGIN_COLOR = {0.7, 0.7, 0, 0.6};
+static const GdkRGBA PADDING_COLOR = {0.7, 0, 0.7, 0.6};
+
+struct _GtkLayoutOverlay
+{
+ GtkInspectorOverlay parent_instance;
+};
+
+struct _GtkLayoutOverlayClass
+{
+ GtkInspectorOverlayClass parent_class;
+};
+
+G_DEFINE_TYPE (GtkLayoutOverlay, gtk_layout_overlay, GTK_TYPE_INSPECTOR_OVERLAY)
+
+
+static gint
+get_number (GtkCssStyle *style,
+ guint property)
+{
+ double d = _gtk_css_number_value_get (gtk_css_style_get_value (style, property), 100);
+
+ if (d < 1)
+ return ceil (d);
+ else
+ return floor (d);
+}
+
+static void
+get_box_margin (GtkCssStyle *style,
+ GtkBorder *margin)
+{
+ margin->top = get_number (style, GTK_CSS_PROPERTY_MARGIN_TOP);
+ margin->left = get_number (style, GTK_CSS_PROPERTY_MARGIN_LEFT);
+ margin->bottom = get_number (style, GTK_CSS_PROPERTY_MARGIN_BOTTOM);
+ margin->right = get_number (style, GTK_CSS_PROPERTY_MARGIN_RIGHT);
+}
+
+static void
+get_box_border (GtkCssStyle *style,
+ GtkBorder *border)
+{
+ border->top = get_number (style, GTK_CSS_PROPERTY_BORDER_TOP_WIDTH);
+ border->left = get_number (style, GTK_CSS_PROPERTY_BORDER_LEFT_WIDTH);
+ border->bottom = get_number (style, GTK_CSS_PROPERTY_BORDER_BOTTOM_WIDTH);
+ border->right = get_number (style, GTK_CSS_PROPERTY_BORDER_RIGHT_WIDTH);
+}
+
+static void
+get_box_padding (GtkCssStyle *style,
+ GtkBorder *border)
+{
+ border->top = get_number (style, GTK_CSS_PROPERTY_PADDING_TOP);
+ border->left = get_number (style, GTK_CSS_PROPERTY_PADDING_LEFT);
+ border->bottom = get_number (style, GTK_CSS_PROPERTY_PADDING_BOTTOM);
+ border->right = get_number (style, GTK_CSS_PROPERTY_PADDING_RIGHT);
+}
+
+static void
+recurse_child_widgets (GtkWidget *widget,
+ GtkSnapshot *snapshot)
+{
+ GtkBorder margin, border, padding;
+ GtkBorder widget_margin;
+ GtkAllocation allocation;
+ graphene_rect_t bounds;
+ GtkCssStyle *style;
+ GtkWidget *child;
+
+ if (!gtk_widget_get_mapped (widget))
+ return;
+
+ style = gtk_css_node_get_style (gtk_widget_get_css_node (widget));
+ get_box_margin (style, &margin);
+ get_box_border (style, &border);
+ get_box_padding (style, &padding);
+
+ /* TODO: Eh, left = start? RTL? */
+ widget_margin.left = gtk_widget_get_margin_start (widget);
+ widget_margin.top = gtk_widget_get_margin_top (widget);
+ widget_margin.right = gtk_widget_get_margin_end (widget);
+ widget_margin.bottom = gtk_widget_get_margin_bottom (widget);
+
+ gtk_widget_get_allocation (widget, &allocation);
+
+
+ /* Offset for all of the drawing done here. We assume cooridinates relative to
+ * the widget allocation, not the content allocation. */
+ gtk_snapshot_offset (snapshot, allocation.x, allocation.y);
+
+ /* Now do all the stuff */
+ gtk_snapshot_push_debug (snapshot, "Widget layout debugging");
+
+ /* Widget margins */
+ graphene_rect_init (&bounds,
+ 0, -widget_margin.top,
+ allocation.width, widget_margin.top);
+ gtk_snapshot_append_color (snapshot, &WIDGET_MARGIN_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ 0, allocation.height,
+ allocation.width, widget_margin.bottom);
+ gtk_snapshot_append_color (snapshot, &WIDGET_MARGIN_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ -widget_margin.left, 0,
+ widget_margin.left, allocation.height);
+ gtk_snapshot_append_color (snapshot, &WIDGET_MARGIN_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ allocation.width, 0,
+ widget_margin.right, allocation.height);
+ gtk_snapshot_append_color (snapshot, &WIDGET_MARGIN_COLOR, &bounds);
+
+
+ /* CSS Margins */
+ graphene_rect_init (&bounds,
+ 0, 0,
+ allocation.width, margin.top);
+ gtk_snapshot_append_color (snapshot, &MARGIN_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ 0, allocation.height - margin.bottom,
+ allocation.width, margin.bottom);
+ gtk_snapshot_append_color (snapshot, &MARGIN_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ 0, margin.top,
+ margin.left, allocation.height - margin.top - margin.bottom);
+ gtk_snapshot_append_color (snapshot, &MARGIN_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ allocation.width - margin.right, margin.top,
+ margin.right, allocation.height - margin.top - margin.bottom);
+ gtk_snapshot_append_color (snapshot, &MARGIN_COLOR, &bounds);
+
+
+ /* Padding */
+ graphene_rect_init (&bounds,
+ margin.left + border.left,
+ margin.top + border.top,
+ allocation.width - margin.left - margin.right - border.left - border.right,
+ padding.top);
+ gtk_snapshot_append_color (snapshot, &PADDING_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ margin.left + border.left,
+ allocation.height - margin.bottom - border.bottom - padding.bottom,
+ allocation.width - margin.left - margin.right - border.left - border.right,
+ padding.bottom);
+ gtk_snapshot_append_color (snapshot, &PADDING_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ margin.left + border.left,
+ margin.top + border.top + padding.top,
+ padding.left,
+ allocation.height - margin.top - margin.bottom - border.top - border.bottom - padding.top - padding.bottom);
+ gtk_snapshot_append_color (snapshot, &PADDING_COLOR, &bounds);
+
+ graphene_rect_init (&bounds,
+ allocation.width - margin.right - border.right - padding.right,
+ margin.top + border.top + padding.top,
+ padding.right,
+ allocation.height - margin.top - margin.bottom - border.top - border.bottom - padding.top - padding.bottom);
+ gtk_snapshot_append_color (snapshot, &PADDING_COLOR, &bounds);
+
+ gtk_snapshot_pop (snapshot);
+
+
+ /* Recurse into child widgets */
+ for (child = gtk_widget_get_first_child (widget);
+ child != NULL;
+ child = gtk_widget_get_next_sibling (child))
+ {
+ const int offset_x = margin.left + border.left + padding.left;
+ const int offset_y = margin.top + border.top + padding.top;
+
+ gtk_snapshot_offset (snapshot, offset_x, offset_y);
+ recurse_child_widgets (child, snapshot);
+ gtk_snapshot_offset (snapshot, - offset_x, - offset_y);
+ }
+
+ gtk_snapshot_offset (snapshot, - allocation.x, - allocation.y);
+}
+
+static void
+gtk_layout_overlay_snapshot (GtkInspectorOverlay *overlay,
+ GtkSnapshot *snapshot,
+ GskRenderNode *node,
+ GtkWidget *widget)
+{
+ recurse_child_widgets (widget, snapshot);
+}
+
+static void
+gtk_layout_overlay_init (GtkLayoutOverlay *self)
+{
+
+}
+
+static void
+gtk_layout_overlay_class_init (GtkLayoutOverlayClass *klass)
+{
+ GtkInspectorOverlayClass *overlay_class = (GtkInspectorOverlayClass *)klass;
+
+ overlay_class->snapshot = gtk_layout_overlay_snapshot;
+}
+
+GtkInspectorOverlay *
+gtk_layout_overlay_new (void)
+{
+ return g_object_new (GTK_TYPE_LAYOUT_OVERLAY, NULL);
+}
diff --git a/gtk/inspector/layoutoverlay.h b/gtk/inspector/layoutoverlay.h
new file mode 100644
index 0000000000..ef44dc10a1
--- /dev/null
+++ b/gtk/inspector/layoutoverlay.h
@@ -0,0 +1,19 @@
+
+
+#ifndef __GTK_LAYOUT_OVERLAY_H__
+#define __GTK_LAYOUT_OVERLAY_H__
+
+#include "inspectoroverlay.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_LAYOUT_OVERLAY (gtk_layout_overlay_get_type ())
+G_DECLARE_FINAL_TYPE (GtkLayoutOverlay, gtk_layout_overlay, GTK, LAYOUT_OVERLAY, GtkInspectorOverlay)
+
+GtkInspectorOverlay * gtk_layout_overlay_new (void);
+
+G_END_DECLS
+
+
+
+#endif
diff --git a/gtk/inspector/meson.build b/gtk/inspector/meson.build
index 3f241585f5..9184e14e5f 100644
--- a/gtk/inspector/meson.build
+++ b/gtk/inspector/meson.build
@@ -16,6 +16,7 @@ inspector_sources = files(
'init.c',
'inspect-button.c',
'inspectoroverlay.c',
+ 'layoutoverlay.c',
'logs.c',
'magnifier.c',
'menu.c',
diff --git a/gtk/inspector/visual.c b/gtk/inspector/visual.c
index 23bd753097..87ea1cf997 100644
--- a/gtk/inspector/visual.c
+++ b/gtk/inspector/visual.c
@@ -22,6 +22,7 @@
#include "fpsoverlay.h"
#include "updatesoverlay.h"
+#include "layoutoverlay.h"
#include "window.h"
#include "gtkadjustment.h"
@@ -81,6 +82,7 @@ struct _GtkInspectorVisualPrivate
GtkInspectorOverlay *fps_overlay;
GtkInspectorOverlay *updates_overlay;
+ GtkInspectorOverlay *layout_overlay;
};
G_DEFINE_TYPE_WITH_PRIVATE (GtkInspectorVisual, gtk_inspector_visual, GTK_TYPE_SCROLLED_WINDOW)
@@ -313,18 +315,37 @@ baselines_activate (GtkSwitch *sw)
}
static void
-layout_activate (GtkSwitch *sw)
+layout_activate (GtkSwitch *sw,
+ GParamSpec *pspec,
+ GtkInspectorVisual *vis)
{
- guint flags;
+ GtkInspectorVisualPrivate *priv = vis->priv;
+ GtkInspectorWindow *iw;
+ gboolean draw_layout;
- flags = gtk_get_debug_flags ();
+ draw_layout = gtk_switch_get_active (sw);
+ iw = GTK_INSPECTOR_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (vis)));
+ if (iw == NULL)
+ return;
- if (gtk_switch_get_active (sw))
- flags |= GTK_DEBUG_LAYOUT;
+ if (draw_layout)
+ {
+ if (priv->updates_overlay == NULL)
+ {
+ priv->updates_overlay = gtk_layout_overlay_new ();
+ gtk_inspector_window_add_overlay (iw, priv->updates_overlay);
+ g_object_unref (priv->updates_overlay);
+ }
+ }
else
- flags &= ~GTK_DEBUG_LAYOUT;
+ {
+ if (priv->updates_overlay != NULL)
+ {
+ gtk_inspector_window_remove_overlay (iw, priv->updates_overlay);
+ priv->updates_overlay = NULL;
+ }
+ }
- gtk_set_debug_flags (flags);
redraw_everything ();
}
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index f50f86211e..bc0cf94196 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -3323,11 +3323,15 @@ scale {
progressbar {
// sizing
&.horizontal {
+ trough { min-width: 150px; }
+
trough,
progress { min-height: 2px; }
}
&.vertical {
+ trough { min-height: 80px; }
+
trough,
progress { min-width: 2px; }
}
@@ -3347,8 +3351,6 @@ progressbar {
trough { @extend %scale_trough; }
- &:backdrop trough { @extend %scale_trough:backdrop; } // looks like states are not passed to the trough component here
-
progress {
@extend %scale_highlight;
@@ -3375,8 +3377,6 @@ progressbar {
}
}
- &:backdrop progress { @extend %scale_highlight:backdrop; } // states not passed here as well
-
&.osd { // progressbar.osd used for epiphany page loading progress
min-width: 3px;
min-height: 3px;
@@ -4423,6 +4423,12 @@ cursor-handle {
background-image: none;
box-shadow: none;
border-style: none;
+ min-width: 20px;
+ min-height: 24px;
+ padding-left: 20px;
+ padding-right: 20px;
+ padding-top: 24px;
+ padding-bottom: 24px;
@each $s,$as in ('',''),
(':hover','-hover'),
@@ -4431,14 +4437,12 @@ cursor-handle {
$_url: 'assets/text-select-start#{$as}#{$asset_suffix}';
-gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
url('#{$_url}@2.png'));
- padding-left: 10px;
}
&.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) {
$_url: 'assets/text-select-end#{$as}#{$asset_suffix}';
-gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
url('#{$_url}@2.png'));
- padding-right: 10px;
}
&.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) {
diff --git a/gtk/theme/Adwaita/gtk-contained-dark.css b/gtk/theme/Adwaita/gtk-contained-dark.css
index b6493e9959..b490fdb614 100644
--- a/gtk/theme/Adwaita/gtk-contained-dark.css
+++ b/gtk/theme/Adwaita/gtk-contained-dark.css
@@ -1185,9 +1185,9 @@ scale trough, scale fill, progressbar trough { border: 1px solid #1b1f20; border
scale trough:disabled, scale fill:disabled, progressbar trough:disabled { background-color: #2d3234; }
-scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { background-color: #2c3233; border-color: #202425; transition: 200ms ease-out; }
+scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop { background-color: #2c3233; border-color: #202425; transition: 200ms ease-out; }
-scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { background-color: #2d3234; }
+scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled { background-color: #2d3234; }
row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled, row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { border-color: #0f2b48; }
@@ -1199,9 +1199,9 @@ scale highlight, progressbar progress { border: 1px solid #0f2b48; border-radius
scale highlight:disabled, progressbar progress:disabled { background-color: transparent; border-color: transparent; }
-scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { border-color: #0f2b48; }
+scale highlight:backdrop, progressbar progress:backdrop { border-color: #0f2b48; }
-scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { background-color: transparent; border-color: transparent; }
+scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled { background-color: transparent; border-color: transparent; }
row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { border-color: #0f2b48; }
@@ -1444,8 +1444,12 @@ scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-lef
/***************** Progress bars * */
progressbar { font-size: smaller; color: rgba(238, 238, 236, 0.4); }
+progressbar.horizontal trough { min-width: 150px; }
+
progressbar.horizontal trough, progressbar.horizontal progress { min-height: 2px; }
+progressbar.vertical trough { min-height: 80px; }
+
progressbar.vertical trough, progressbar.vertical progress { min-width: 2px; }
progressbar.horizontal progress { margin: 0 -1px; }
@@ -1908,23 +1912,23 @@ row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selecti
.monospace { font-family: monospace; }
/********************** Touch Copy & Paste * */
-cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; }
+cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; min-width: 20px; min-height: 24px; padding-left: 20px; padding-right: 20px; padding-top: 24px; padding-bottom: 24px; }
-cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; }
+cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); }
-cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; }
+cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); }
cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); }
-cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover-dark.png"), url("assets/text-select-start-hover-dark@2.png")); padding-left: 10px; }
+cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover-dark.png"), url("assets/text-select-start-hover-dark@2.png")); }
-cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover-dark.png"), url("assets/text-select-end-hover-dark@2.png")); padding-right: 10px; }
+cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover-dark.png"), url("assets/text-select-end-hover-dark@2.png")); }
cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover-dark.png"), url("assets/slider-horz-scale-has-marks-above-hover-dark@2.png")); }
-cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active-dark.png"), url("assets/text-select-start-active-dark@2.png")); padding-left: 10px; }
+cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active-dark.png"), url("assets/text-select-start-active-dark@2.png")); }
-cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active-dark.png"), url("assets/text-select-end-active-dark@2.png")); padding-right: 10px; }
+cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active-dark.png"), url("assets/text-select-end-active-dark@2.png")); }
cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active-dark.png"), url("assets/slider-horz-scale-has-marks-above-active-dark@2.png")); }
diff --git a/gtk/theme/Adwaita/gtk-contained.css b/gtk/theme/Adwaita/gtk-contained.css
index e48eddb017..66e888bd56 100644
--- a/gtk/theme/Adwaita/gtk-contained.css
+++ b/gtk/theme/Adwaita/gtk-contained.css
@@ -1205,9 +1205,9 @@ scale trough, scale fill, progressbar trough { border: 1px solid #b6b6b3; border
scale trough:disabled, scale fill:disabled, progressbar trough:disabled { background-color: #f1f1f1; }
-scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop, progressbar:backdrop trough { background-color: #dadad8; border-color: #c0c0bd; transition: 200ms ease-out; }
+scale trough:backdrop, scale fill:backdrop, progressbar trough:backdrop { background-color: #dadad8; border-color: #c0c0bd; transition: 200ms ease-out; }
-scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled, progressbar:backdrop trough:disabled { background-color: #f1f1f1; }
+scale trough:backdrop:disabled, scale fill:backdrop:disabled, progressbar trough:backdrop:disabled { background-color: #f1f1f1; }
row:selected scale trough:disabled, scale row:selected trough:disabled, row:selected scale fill:disabled, scale row:selected fill:disabled, row:selected progressbar trough:disabled, progressbar row:selected trough:disabled, row:selected scale trough, scale row:selected trough, row:selected scale fill, scale row:selected fill, row:selected progressbar trough, progressbar row:selected trough { border-color: #184472; }
@@ -1219,9 +1219,9 @@ scale highlight, progressbar progress { border: 1px solid #184472; border-radius
scale highlight:disabled, progressbar progress:disabled { background-color: transparent; border-color: transparent; }
-scale highlight:backdrop, progressbar progress:backdrop, progressbar:backdrop progress { border-color: #4a90d9; }
+scale highlight:backdrop, progressbar progress:backdrop { border-color: #4a90d9; }
-scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled, progressbar:backdrop progress:disabled { background-color: transparent; border-color: transparent; }
+scale highlight:backdrop:disabled, progressbar progress:backdrop:disabled { background-color: transparent; border-color: transparent; }
row:selected scale highlight:disabled, scale row:selected highlight:disabled, row:selected progressbar progress:disabled, progressbar row:selected progress:disabled, row:selected scale highlight, scale row:selected highlight, row:selected progressbar progress, progressbar row:selected progress { border-color: #184472; }
@@ -1464,8 +1464,12 @@ scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-lef
/***************** Progress bars * */
progressbar { font-size: smaller; color: rgba(46, 52, 54, 0.4); }
+progressbar.horizontal trough { min-width: 150px; }
+
progressbar.horizontal trough, progressbar.horizontal progress { min-height: 2px; }
+progressbar.vertical trough { min-height: 80px; }
+
progressbar.vertical trough, progressbar.vertical progress { min-width: 2px; }
progressbar.horizontal progress { margin: 0 -1px; }
@@ -1928,23 +1932,23 @@ row:selected label:backdrop:disabled, label:backdrop:disabled:selected, .selecti
.monospace { font-family: monospace; }
/********************** Touch Copy & Paste * */
-cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; }
+cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; min-width: 20px; min-height: 24px; padding-left: 20px; padding-right: 20px; padding-top: 24px; padding-bottom: 24px; }
-cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); padding-left: 10px; }
+cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); }
-cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); padding-right: 10px; }
+cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); }
cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); }
-cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); padding-left: 10px; }
+cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); }
-cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); padding-right: 10px; }
+cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); }
cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); }
-cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); padding-left: 10px; }
+cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); }
-cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); padding-right: 10px; }
+cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); }
cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); }
diff --git a/gtk/theme/HighContrast/_common.scss b/gtk/theme/HighContrast/_common.scss
index 97131da022..a20e685eaf 100644
--- a/gtk/theme/HighContrast/_common.scss
+++ b/gtk/theme/HighContrast/_common.scss
@@ -2485,49 +2485,58 @@ progressbar {
border-color: $borders_color;
background-color: mix($borders_color,$bg_color, 35%);
box-shadow: inset 1px 1px transparentize(black, 0.9);
+
&:backdrop {
border-color: $backdrop_borders_color;
background-color: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
box-shadow: 0 1px transparentize(white,1);
}
}
+
&.osd trough {
background-color: transparent;
box-shadow: none;
border-width: 0;
//FIXME: there is a margin on top
}
-}
-// moving bit
-progressbar {
+ // moving bit
&.horizontal {
+ trough { min-width: 150px; }
trough, progress { min-height: 2px; }
}
+
&.vertical {
+ trough { min-height: 80px; }
trough, progress { min-width: 2px; }
}
+
& progress {
border-width: 1px;
border-style: solid;
border-radius: 3px;
border-color: $selected_borders_color;
background-color: $selected_bg_color;
+
// I really prefer these flat w/o this shadow - Lapo
box-shadow: inset 0 1px 0 transparentize($borders_edge,0.8);
+
&.vertical {
box-shadow: inset 1px 0 0 transparentize($borders_edge,0.8);
}
+
&:backdrop {
border-color: $selected_bg_color;
background-color: $selected_bg_color;
box-shadow: none;
}
+
&.osd {
border-width: 0;
border-radius: 0;
}
}
+
trough.empty progress { all: unset; } // make the progress indicator disappear when the fraction is 0
}
diff --git a/gtk/theme/HighContrast/gtk-contained-inverse.css b/gtk/theme/HighContrast/gtk-contained-inverse.css
index bf92f6167f..22c62e44ee 100644
--- a/gtk/theme/HighContrast/gtk-contained-inverse.css
+++ b/gtk/theme/HighContrast/gtk-contained-inverse.css
@@ -1105,8 +1105,12 @@ progressbar trough:backdrop { border-color: #737373; background-color: #282828;
progressbar.osd trough { background-color: transparent; box-shadow: none; border-width: 0; }
+progressbar.horizontal trough { min-width: 150px; }
+
progressbar.horizontal trough, progressbar.horizontal progress { min-height: 2px; }
+progressbar.vertical trough { min-height: 80px; }
+
progressbar.vertical trough, progressbar.vertical progress { min-width: 2px; }
progressbar progress { border-width: 1px; border-style: solid; border-radius: 3px; border-color: #aaa; background-color: #ddd; box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2); }
diff --git a/gtk/theme/HighContrast/gtk-contained.css b/gtk/theme/HighContrast/gtk-contained.css
index 78dc89900b..343d9c2179 100644
--- a/gtk/theme/HighContrast/gtk-contained.css
+++ b/gtk/theme/HighContrast/gtk-contained.css
@@ -1111,8 +1111,12 @@ progressbar trough:backdrop { border-color: #8d8d8d; background-color: #d7d7d7;
progressbar.osd trough { background-color: transparent; box-shadow: none; border-width: 0; }
+progressbar.horizontal trough { min-width: 150px; }
+
progressbar.horizontal trough, progressbar.horizontal progress { min-height: 2px; }
+progressbar.vertical trough { min-height: 80px; }
+
progressbar.vertical trough, progressbar.vertical progress { min-width: 2px; }
progressbar progress { border-width: 1px; border-style: solid; border-radius: 3px; border-color: #000; background-color: #000; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2); }
diff --git a/gtk/ui/gtkfilechooserwidget.ui b/gtk/ui/gtkfilechooserwidget.ui
index a82acda0d9..fbb53bd76e 100644
--- a/gtk/ui/gtkfilechooserwidget.ui
+++ b/gtk/ui/gtkfilechooserwidget.ui
@@ -384,6 +384,11 @@
</child>
</object>
</child>
+ <child>
+ <object class="GtkEventControllerKey">
+ <signal name="key-pressed" handler="widget_key_press_cb" swapped="no"/>
+ </object>
+ </child>
</template>
<object class="GtkSizeGroup" id="browse_path_bar_size_group">
<property name="mode">vertical</property>
diff --git a/gtk/ui/gtkfontchooserdialog.ui b/gtk/ui/gtkfontchooserdialog.ui
index c3b2882be3..e6fb4ec3a6 100644
--- a/gtk/ui/gtkfontchooserdialog.ui
+++ b/gtk/ui/gtkfontchooserdialog.ui
@@ -33,6 +33,12 @@
<property name="can-default">1</property>
</object>
</child>
+ <child>
+ <object class="GtkEventControllerKey">
+ <signal name="key-pressed" handler="dialog_forward_key" swapped="no"/>
+ <signal name="key-released" handler="dialog_forward_key" swapped="no"/>
+ </object>
+ </child>
<action-widgets>
<action-widget response="cancel">cancel_button</action-widget>
<action-widget response="ok" default="true">select_button</action-widget>
diff --git a/meson.build b/meson.build
index c87fc48dec..ede2e155a7 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('gtk+', 'c',
- version: '3.93.0',
+ version: '3.94.0',
default_options: [
'buildtype=debugoptimized',
'warning_level=1',
diff --git a/modules/media/gtkffmediafile.c b/modules/media/gtkffmediafile.c
index 7f6244224e..04737f7474 100644
--- a/modules/media/gtkffmediafile.c
+++ b/modules/media/gtkffmediafile.c
@@ -656,6 +656,9 @@ gtk_ff_media_file_play (GtkMediaStream *stream)
{
GtkFfMediaFile *video = GTK_FF_MEDIA_FILE (stream);
+ if (video->format_ctx == NULL)
+ return FALSE;
+
if (!gtk_media_stream_is_prepared (stream))
return TRUE;
diff --git a/modules/media/gtkgstmediafile.c b/modules/media/gtkgstmediafile.c
index 93162eae5b..afbf637bd3 100644
--- a/modules/media/gtkgstmediafile.c
+++ b/modules/media/gtkgstmediafile.c
@@ -245,6 +245,9 @@ gtk_gst_media_file_play (GtkMediaStream *stream)
{
GtkGstMediaFile *self = GTK_GST_MEDIA_FILE (stream);
+ if (self->player == NULL)
+ return FALSE;
+
gst_player_play (self->player);
return TRUE;
diff --git a/modules/media/gtkgstsink.c b/modules/media/gtkgstsink.c
index da11cbd854..4959bb86f8 100644
--- a/modules/media/gtkgstsink.c
+++ b/modules/media/gtkgstsink.c
@@ -131,6 +131,7 @@ gtk_gst_sink_texture_from_buffer (GtkGstSink *self,
gtk_gst_memory_format_from_video (GST_VIDEO_FRAME_FORMAT (&frame)),
bytes,
frame.info.stride[0]);
+ g_bytes_unref (bytes);
gst_video_frame_unmap (&frame);
return texture;
diff --git a/modules/printbackends/gtkprintercups.c b/modules/printbackends/gtkprintercups.c
index 525382aa8a..b97da61805 100644
--- a/modules/printbackends/gtkprintercups.c
+++ b/modules/printbackends/gtkprintercups.c
@@ -576,8 +576,6 @@ colord_printer_details_aquired_cb (GtkPrinterCups *printer,
* Creates a new #GtkPrinterCups.
*
* Returns: a new #GtkPrinterCups
- *
- * Since: 2.10
**/
GtkPrinterCups *
gtk_printer_cups_new (const char *name,
diff --git a/po-properties/POTFILES.in b/po-properties/POTFILES.in
index 3c2881253f..93d6d401e0 100644
--- a/po-properties/POTFILES.in
+++ b/po-properties/POTFILES.in
@@ -10,7 +10,7 @@ gdk/gdkcursor.c
gdk/gdkdevice.c
gdk/gdkdisplay.c
gdk/gdkdisplaymanager.c
-gdk/gdkdnd.c
+gdk/gdkdrag.c
gdk/gdkdrawcontext.c
gdk/gdkdrop.c
gdk/gdkevents.c
diff --git a/po-properties/hu.po b/po-properties/hu.po
index 42b320ac26..202e28e943 100644
--- a/po-properties/hu.po
+++ b/po-properties/hu.po
@@ -2,7 +2,7 @@
# Copyright (C) 2004-2017 Free Software Foundation, Inc.
# This file is distributed under the same license as the gtk+-properties package.
#
-# Gabor Kelemen <kelemeng at gnome dot hu>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017.
+# Gabor Kelemen <kelemeng at gnome dot hu>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018.
# Laszlo Dvornik <dvornik at gnome dot hu>, 2004, 2005.
# Szabolcs Varga <shirokuma at shirokuma dot hu>, 2005.
# Balázs Úr <urbalazs at gmail dot com>, 2013, 2014, 2015, 2016, 2017.
@@ -10,204 +10,243 @@ msgid ""
msgstr ""
"Project-Id-Version: gtk+-properties master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-09-10 16:18+0000\n"
-"PO-Revision-Date: 2017-09-10 20:28+0200\n"
-"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
+"POT-Creation-Date: 2018-07-08 08:08+0000\n"
+"PO-Revision-Date: 2018-07-08 16:03+0100\n"
+"Last-Translator: Gabor Kelemen <kelemeng at ubuntu dot com>\n"
"Language-Team: Hungarian <openscope at googlegroups dot com>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.2\n"
+"X-Generator: Lokalize 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: gdk/gdkapplaunchcontext.c:127 gdk/gdkcursor.c:139 gdk/gdkdevicemanager.c:185
-#: gdk/gdkdrawcontext.c:134 gdk/gdkseat.c:202 gdk/gdkseat.c:203
-#: gdk/gdkwindow.c:288 gdk/gdkwindow.c:289
+#: gdk/gdkapplaunchcontext.c:133 gdk/gdkdrawcontext.c:154 gdk/gdkseat.c:199
+#: gdk/gdkseat.c:200 gdk/gdksurface.c:262 gdk/gdksurface.c:263
+#: gdk/win32/gdkcursor-win32.c:234 gtk/gtkinvisible.c:95
+#: gtk/gtkmountoperation.c:181 gtk/gtkstylecontext.c:207 gtk/gtkwindow.c:965
msgid "Display"
msgstr "Kijelző"
-#: gdk/gdkcursor.c:131
-msgid "Cursor type"
-msgstr "Kurzortípus"
+#: gdk/gdkcursor.c:185 gtk/gtktexttag.c:588
+msgid "Fallback"
+msgstr "Tartalék"
+
+#: gdk/gdkcursor.c:186
+msgid "Cursor image to fall back to if this cursor cannot be displayed"
+msgstr "A tartalék kurzorkép, ha ez a kurzor nem jeleníthető meg"
+
+#: gdk/gdkcursor.c:193
+msgid "Hotspot X"
+msgstr "Hotspot X"
+
+#: gdk/gdkcursor.c:194
+msgid "Horizontal offset of the cursor hotspot"
+msgstr "A kurzor hotspot vízszintes eltolása"
+
+#: gdk/gdkcursor.c:201
+msgid "Hotspot Y"
+msgstr "Hotspot Y"
+
+#: gdk/gdkcursor.c:202
+msgid "Vertical offset of the cursor hotspot"
+msgstr "A kurzor forró pontjának függőleges eltolása"
+
+#: gdk/gdkcursor.c:209 gtk/gtkcssnode.c:639 gtk/gtkprinter.c:121
+#: gtk/gtkstack.c:378 gtk/gtktextmark.c:135
+msgid "Name"
+msgstr "Név"
-#: gdk/gdkcursor.c:132
-msgid "Standard cursor type"
-msgstr "Szabványos kurzortípus"
+#: gdk/gdkcursor.c:210
+msgid "Name of this cursor"
+msgstr "A kurzor neve"
-#: gdk/gdkcursor.c:140
-msgid "Display of this cursor"
-msgstr "A kurzor kijelzője"
+#: gdk/gdkcursor.c:217 gtk/gtkcellrendererpixbuf.c:172
+msgid "Texture"
+msgstr "Textúra"
-#: gdk/gdkdevice.c:123
+#: gdk/gdkcursor.c:218
+msgid "The texture displayed by this cursor"
+msgstr "A kurzor által megjelenített textúra"
+
+#: gdk/gdkdevice.c:127
msgid "Device Display"
msgstr "Eszköz kijelzője"
-#: gdk/gdkdevice.c:124
+#: gdk/gdkdevice.c:128
msgid "Display which the device belongs to"
msgstr "A kijelző, amelyhez az eszköz tartozik"
-#: gdk/gdkdevice.c:138
-msgid "Device manager"
-msgstr "Eszközkezelő"
-
-#: gdk/gdkdevice.c:139
-msgid "Device manager which the device belongs to"
-msgstr "Az eszközkezelő, amelyhez az eszköz tartozik"
-
-#: gdk/gdkdevice.c:152 gdk/gdkdevice.c:153
+#: gdk/gdkdevice.c:139 gdk/gdkdevice.c:140
msgid "Device name"
msgstr "Eszköz neve"
-#: gdk/gdkdevice.c:166
+#: gdk/gdkdevice.c:151
msgid "Device type"
msgstr "Eszköztípus"
-#: gdk/gdkdevice.c:167
+#: gdk/gdkdevice.c:152
msgid "Device role in the device manager"
msgstr "Eszköz szerepe az eszközkezelőben"
-#: gdk/gdkdevice.c:183
+#: gdk/gdkdevice.c:166
msgid "Associated device"
msgstr "Társított eszköz"
-#: gdk/gdkdevice.c:184
+#: gdk/gdkdevice.c:167
msgid "Associated pointer or keyboard with this device"
msgstr "Az eszközhöz társított mutató vagy billentyűzet"
-#: gdk/gdkdevice.c:197
+#: gdk/gdkdevice.c:178
msgid "Input source"
msgstr "Beviteli forrás"
-#: gdk/gdkdevice.c:198
+#: gdk/gdkdevice.c:179
msgid "Source type for the device"
msgstr "Az eszköz forrástípusa"
-#: gdk/gdkdevice.c:213 gdk/gdkdevice.c:214
+#: gdk/gdkdevice.c:192 gdk/gdkdevice.c:193
msgid "Input mode for the device"
msgstr "Az eszköz beviteli módja"
-#: gdk/gdkdevice.c:229
+#: gdk/gdkdevice.c:206
msgid "Whether the device has a cursor"
msgstr "Az eszköz rendelkezik-e kurzorral"
-#: gdk/gdkdevice.c:230
+#: gdk/gdkdevice.c:207
msgid "Whether there is a visible cursor following device motion"
msgstr "Van-e az eszköz mozgását követő látható kurzor?"
-#: gdk/gdkdevice.c:244 gdk/gdkdevice.c:245
+#: gdk/gdkdevice.c:219 gdk/gdkdevice.c:220
msgid "Number of axes in the device"
msgstr "Az eszköz tengelyeinek száma"
-#: gdk/gdkdevice.c:259 gdk/gdkdevice.c:260
+#: gdk/gdkdevice.c:232 gdk/gdkdevice.c:233
msgid "Vendor ID"
msgstr "Gyártóazonosító"
-#: gdk/gdkdevice.c:274 gdk/gdkdevice.c:275
+#: gdk/gdkdevice.c:245 gdk/gdkdevice.c:246
msgid "Product ID"
msgstr "Termékazonosító"
-#: gdk/gdkdevice.c:289 gdk/gdkdevice.c:290
+#: gdk/gdkdevice.c:258 gdk/gdkdevice.c:259
msgid "Seat"
msgstr "Munkaállomás"
-#: gdk/gdkdevice.c:306 gdk/gdkdevice.c:307
+#: gdk/gdkdevice.c:273 gdk/gdkdevice.c:274
msgid "Number of concurrent touches"
msgstr "Egyidejű érintések száma"
-#: gdk/gdkdevice.c:321 gdk/gdkdevice.c:322
+#: gdk/gdkdevice.c:286 gdk/gdkdevice.c:287
msgid "Axes"
msgstr "Tengelyek"
-#: gdk/gdkdevice.c:328
+#: gdk/gdkdevice.c:293
msgid "Tool"
msgstr "Eszköz"
-#: gdk/gdkdevice.c:329
+#: gdk/gdkdevice.c:294
msgid "The tool that is currently used with this device"
msgstr "Az eszköz, amely jelenleg ezzel az eszközzel van használatban"
-#: gdk/gdkdevicemanager.c:186
-msgid "Display for the device manager"
-msgstr "Az eszközkezelő kijelzője"
-
-#: gdk/gdkdisplay.c:215 gdk/gdkdisplay.c:216
+#: gdk/gdkdisplay.c:192 gdk/gdkdisplay.c:193
msgid "Composited"
msgstr "Kompozitált"
-#: gdk/gdkdisplay.c:230 gdk/gdkdisplay.c:231
+#: gdk/gdkdisplay.c:205 gdk/gdkdisplay.c:206
msgid "RGBA"
msgstr "RGBA"
-#: gdk/gdkdisplaymanager.c:168
+#: gdk/gdkdisplaymanager.c:167
msgid "Default Display"
msgstr "Alapértelmezett képernyő"
-#: gdk/gdkdisplaymanager.c:169
+#: gdk/gdkdisplaymanager.c:168
msgid "The default display for GDK"
msgstr "A GDK alapértelmezett képernyője"
-#: gdk/gdkdrawcontext.c:135
+#: gdk/gdkdrawcontext.c:155
msgid "The GDK display used to create the context"
msgstr "A környezet létrehozásához használt GDK kijelző"
-#: gdk/gdkdrawcontext.c:149 gtk/gtkwidget.c:1264
-msgid "Window"
-msgstr "Ablak"
+#: gdk/gdkdrawcontext.c:167 gtk/gtkwidget.c:1120
+msgid "Surface"
+msgstr "Felület"
-#: gdk/gdkdrawcontext.c:150
-msgid "The GDK window bound to the context"
-msgstr "A környezethez kötött GDK ablak"
+#: gdk/gdkdrawcontext.c:168
+msgid "The GDK surface bound to the context"
+msgstr "A környezethez kötött GDK felület"
-#: gdk/gdkglcontext.c:343
+#: gdk/gdkevents.c:155 gdk/gdkevents.c:156
+msgid "Event type"
+msgstr "Esemény típusa"
+
+#: gdk/gdkglcontext.c:375
msgid "Shared context"
msgstr "Osztott környezet"
-#: gdk/gdkglcontext.c:344
+#: gdk/gdkglcontext.c:376
msgid "The GL context this context shares data with"
msgstr "A GL környezet, amellyel ez a környezet adatot oszt meg"
-#: gdk/gdkscreen.c:84
-msgid "Font resolution"
-msgstr "Betűfelbontás"
-
-#: gdk/gdkscreen.c:85
-msgid "The resolution for fonts on the screen"
-msgstr "A képernyő betűinek felbontása"
-
-#: gdk/gdkwindow.c:273 gdk/gdkwindow.c:274
+#: gdk/gdksurface.c:249 gdk/gdksurface.c:250 gtk/gtkwidget.c:1049
msgid "Cursor"
msgstr "Kurzor"
-#: gdk/x11/gdkdevicemanager-xi2.c:115
+#: gdk/gdksurface.c:269 gdk/gdksurface.c:270 gtk/gtkcssnode.c:644
+#: gtk/gtkswitch.c:534
+msgid "State"
+msgstr "Állapot"
+
+#: gdk/win32/gdkcursor-win32.c:235
+msgid "The display that will use this cursor"
+msgstr "A kijelző, amely a kurzort fogja használni"
+
+#: gdk/win32/gdkcursor-win32.c:241
+msgid "Handle"
+msgstr "Kezelő"
+
+#: gdk/win32/gdkcursor-win32.c:242
+msgid "The HCURSOR handle for this cursor"
+msgstr "A kurzorhoz kötött HCURSOR kezelő"
+
+#: gdk/win32/gdkcursor-win32.c:247
+msgid "Destroyable"
+msgstr "Elpusztítható"
+
+#: gdk/win32/gdkcursor-win32.c:248
+msgid "Whether calling DestroyCursor() is allowed on this cursor"
+msgstr "Engedélyezett-e a DestroyCursor() meghívása ezen a kurzoron"
+
+#: gdk/x11/gdkdevicemanager-xi2.c:111
msgid "Opcode"
msgstr "Műveletkód"
-#: gdk/x11/gdkdevicemanager-xi2.c:116
+#: gdk/x11/gdkdevicemanager-xi2.c:112
msgid "Opcode for XInput2 requests"
msgstr "Műveletkód XInput2 kérésekhez"
-#: gdk/x11/gdkdevicemanager-xi2.c:122
+#: gdk/x11/gdkdevicemanager-xi2.c:119
msgid "Major"
msgstr "Elsődleges"
-#: gdk/x11/gdkdevicemanager-xi2.c:123
+#: gdk/x11/gdkdevicemanager-xi2.c:120
msgid "Major version number"
msgstr "Elsődleges verziószám"
-#: gdk/x11/gdkdevicemanager-xi2.c:129
+#: gdk/x11/gdkdevicemanager-xi2.c:127
msgid "Minor"
msgstr "Másodlagos"
-#: gdk/x11/gdkdevicemanager-xi2.c:130
+#: gdk/x11/gdkdevicemanager-xi2.c:128
msgid "Minor version number"
msgstr "Másodlagos verziószám"
-#: gdk/x11/gdkdevice-xi2.c:142
+#: gdk/x11/gdkdevice-xi2.c:135
msgid "Device ID"
msgstr "Eszközazonosító"
-#: gdk/x11/gdkdevice-xi2.c:143
+#: gdk/x11/gdkdevice-xi2.c:136
msgid "Device identifier"
msgstr "Eszközazonosító"
@@ -219,11 +258,11 @@ msgstr "Cellamegjelenítő"
msgid "The cell renderer represented by this accessible"
msgstr "Az akadálymentes elem által képviselt cellamegjelenítő"
-#: gtk/gtkaboutdialog.c:356
+#: gtk/gtkaboutdialog.c:355
msgid "Program name"
msgstr "Programnév"
-#: gtk/gtkaboutdialog.c:357
+#: gtk/gtkaboutdialog.c:356
msgid ""
"The name of the program. If this is not set, it defaults to "
"g_get_application_name()"
@@ -231,108 +270,108 @@ msgstr ""
"A program neve. Ha nincs beállítva, akkor alapértelmezés szerint "
"g_get_application_name()"
-#: gtk/gtkaboutdialog.c:370
+#: gtk/gtkaboutdialog.c:367
msgid "Program version"
msgstr "Programverzió"
-#: gtk/gtkaboutdialog.c:371
+#: gtk/gtkaboutdialog.c:368
msgid "The version of the program"
msgstr "A program verziója"
-#: gtk/gtkaboutdialog.c:384
+#: gtk/gtkaboutdialog.c:379
msgid "Copyright string"
msgstr "Copyright szöveg"
-#: gtk/gtkaboutdialog.c:385
+#: gtk/gtkaboutdialog.c:380
msgid "Copyright information for the program"
msgstr "Copyright-információ a programról"
-#: gtk/gtkaboutdialog.c:400
+#: gtk/gtkaboutdialog.c:393
msgid "Comments string"
msgstr "Megjegyzések"
-#: gtk/gtkaboutdialog.c:401
+#: gtk/gtkaboutdialog.c:394
msgid "Comments about the program"
msgstr "Megjegyzések a programról"
-#: gtk/gtkaboutdialog.c:425
+#: gtk/gtkaboutdialog.c:416
msgid "License"
msgstr "Licenc"
-#: gtk/gtkaboutdialog.c:426
+#: gtk/gtkaboutdialog.c:417
msgid "The license of the program"
msgstr "A program licence"
-#: gtk/gtkaboutdialog.c:446
+#: gtk/gtkaboutdialog.c:435
msgid "System Information"
msgstr "Rendszerinformációk"
-#: gtk/gtkaboutdialog.c:447
+#: gtk/gtkaboutdialog.c:436
msgid "Information about the system on which the program is running"
msgstr "Információk a rendszerről, amelyen a program fut"
-#: gtk/gtkaboutdialog.c:474
+#: gtk/gtkaboutdialog.c:461
msgid "License Type"
msgstr "Licenctípus"
-#: gtk/gtkaboutdialog.c:475
+#: gtk/gtkaboutdialog.c:462
msgid "The license type of the program"
msgstr "A program licencének típusa"
-#: gtk/gtkaboutdialog.c:490
+#: gtk/gtkaboutdialog.c:475
msgid "Website URL"
msgstr "Webhely URL"
-#: gtk/gtkaboutdialog.c:491
+#: gtk/gtkaboutdialog.c:476
msgid "The URL for the link to the website of the program"
msgstr "A program webhelyére mutató hivatkozás URL-je"
-#: gtk/gtkaboutdialog.c:504
+#: gtk/gtkaboutdialog.c:487
msgid "Website label"
msgstr "Webhely címke"
-#: gtk/gtkaboutdialog.c:505
+#: gtk/gtkaboutdialog.c:488
msgid "The label for the link to the website of the program"
msgstr "A program webhelyére mutató hivatkozás címkéje"
-#: gtk/gtkaboutdialog.c:520
+#: gtk/gtkaboutdialog.c:501
msgid "Authors"
msgstr "Szerzők"
-#: gtk/gtkaboutdialog.c:521
+#: gtk/gtkaboutdialog.c:502
msgid "List of authors of the program"
msgstr "A program szerzőinek listája"
-#: gtk/gtkaboutdialog.c:536
+#: gtk/gtkaboutdialog.c:515
msgid "Documenters"
msgstr "Dokumentáció írói"
-#: gtk/gtkaboutdialog.c:537
+#: gtk/gtkaboutdialog.c:516
msgid "List of people documenting the program"
msgstr "A program dokumentációját író emberek listája"
-#: gtk/gtkaboutdialog.c:552
+#: gtk/gtkaboutdialog.c:529
msgid "Artists"
msgstr "Művészek"
-#: gtk/gtkaboutdialog.c:553
+#: gtk/gtkaboutdialog.c:530
msgid "List of people who have contributed artwork to the program"
msgstr "Azon emberek listája, akik alkotásaikat adták a programhoz"
-#: gtk/gtkaboutdialog.c:568
+#: gtk/gtkaboutdialog.c:543
msgid "Translator credits"
msgstr "Fordítók"
-#: gtk/gtkaboutdialog.c:569
+#: gtk/gtkaboutdialog.c:544
msgid ""
"Credits to the translators. This string should be marked as translatable"
msgstr "A fordítók listája. Ezt a karakterláncot fordítandónak kell jelölni"
-#: gtk/gtkaboutdialog.c:583
+#: gtk/gtkaboutdialog.c:556
msgid "Logo"
msgstr "Logó"
-#: gtk/gtkaboutdialog.c:584
+#: gtk/gtkaboutdialog.c:557
msgid ""
"A logo for the about box. If this is not set, it defaults to "
"gtk_window_get_default_icon_list()"
@@ -340,58 +379,58 @@ msgstr ""
"Logó a névjegy mezőhöz. Ha nincs beállítva, alapértelmezett értéke a "
"gtk_window_get_default_icon_list()"
-#: gtk/gtkaboutdialog.c:598
+#: gtk/gtkaboutdialog.c:569
msgid "Logo Icon Name"
msgstr "Logóikon neve"
-#: gtk/gtkaboutdialog.c:599
+#: gtk/gtkaboutdialog.c:570
msgid "A named icon to use as the logo for the about box."
msgstr "Egy megnevezett ikon a névjegy mező logójának."
-#: gtk/gtkaboutdialog.c:612
+#: gtk/gtkaboutdialog.c:581
msgid "Wrap license"
msgstr "Licenc tördelése"
-#: gtk/gtkaboutdialog.c:613
+#: gtk/gtkaboutdialog.c:582
msgid "Whether to wrap the license text."
msgstr "Tördelje-e a licenc szövegét?"
-#: gtk/gtkaccellabel.c:227
+#: gtk/gtkaccellabel.c:223
msgid "Accelerator Closure"
msgstr "Gyorsbillentyű keret"
-#: gtk/gtkaccellabel.c:228
+#: gtk/gtkaccellabel.c:224
msgid "The closure to be monitored for accelerator changes"
msgstr ""
"Az a keret, amelyre vonatkozóan figyelni kell a gyorsbillentyű változását"
-#: gtk/gtkaccellabel.c:234
+#: gtk/gtkaccellabel.c:230
msgid "Accelerator Widget"
msgstr "Gyorsbillentyű felületelem"
-#: gtk/gtkaccellabel.c:235
+#: gtk/gtkaccellabel.c:231
msgid "The widget to be monitored for accelerator changes"
msgstr ""
"Az a felületelem, amelyre vonatkozóan figyelni kell a gyorsbillentyű "
"változását"
-#: gtk/gtkaccellabel.c:241 gtk/gtkbutton.c:225 gtk/gtkexpander.c:291
-#: gtk/gtkframe.c:170 gtk/gtklabel.c:755 gtk/gtkmenuitem.c:641
-#: gtk/gtktoolbutton.c:215 gtk/gtktoolitemgroup.c:1555
+#: gtk/gtkaccellabel.c:237 gtk/gtkbutton.c:226 gtk/gtkexpander.c:277
+#: gtk/gtkframe.c:167 gtk/gtklabel.c:756 gtk/gtkmenuitem.c:633
+#: gtk/gtktoolbutton.c:212
msgid "Label"
msgstr "Címke"
-#: gtk/gtkaccellabel.c:242
+#: gtk/gtkaccellabel.c:238
msgid "The text displayed next to the accelerator"
msgstr "A gyorsbillentyű mellett megjelenő szöveg"
-#: gtk/gtkaccellabel.c:248 gtk/gtkbutton.c:232 gtk/gtkexpander.c:299
-#: gtk/gtklabel.c:776 gtk/gtkmenuitem.c:655 gtk/gtktoolbutton.c:222
+#: gtk/gtkaccellabel.c:244 gtk/gtkbutton.c:233 gtk/gtkexpander.c:285
+#: gtk/gtklabel.c:777 gtk/gtkmenuitem.c:645 gtk/gtktoolbutton.c:219
msgid "Use underline"
msgstr "Aláhúzás használata"
-#: gtk/gtkaccellabel.c:249 gtk/gtkbutton.c:233 gtk/gtkexpander.c:300
-#: gtk/gtklabel.c:777 gtk/gtkmenuitem.c:656
+#: gtk/gtkaccellabel.c:245 gtk/gtkbutton.c:234 gtk/gtkexpander.c:286
+#: gtk/gtklabel.c:778 gtk/gtkmenuitem.c:646
msgid ""
"If set, an underline in the text indicates the next character should be used "
"for the mnemonic accelerator key"
@@ -399,8 +438,8 @@ msgstr ""
"Ha be van állítva, egy aláhúzás a szövegben a következő karakter "
"hívóbetűként való használatát jelzi"
-#: gtk/gtkaccessible.c:153 gtk/gtkeventcontroller.c:168
-#: gtk/gtktreeviewcolumn.c:336
+#: gtk/gtkaccessible.c:153 gtk/gtkeventcontroller.c:144
+#: gtk/gtktreeviewcolumn.c:345 gtk/gtkwidgetpaintable.c:245
msgid "Widget"
msgstr "Felületi elem"
@@ -408,27 +447,27 @@ msgstr "Felületi elem"
msgid "The widget referenced by this accessible."
msgstr "Az akadálymentes elem által hivatkozott felületi elem."
-#: gtk/gtkactionable.c:71
+#: gtk/gtkactionable.c:69
msgid "Action name"
msgstr "Műveletnév"
-#: gtk/gtkactionable.c:72
+#: gtk/gtkactionable.c:70
msgid "The name of the associated action, like “app.quit”"
msgstr "A társított művelet neve, például „app.quit”"
-#: gtk/gtkactionable.c:76
+#: gtk/gtkactionable.c:74
msgid "Action target value"
msgstr "Művelet célértéke"
-#: gtk/gtkactionable.c:77
+#: gtk/gtkactionable.c:75
msgid "The parameter for action invocations"
msgstr "A művelethívások paramétere"
-#: gtk/gtkactionbar.c:383 gtk/gtkbox.c:245 gtk/gtkheaderbar.c:1869
+#: gtk/gtkactionbar.c:382 gtk/gtkbox.c:236 gtk/gtkheaderbar.c:1836
msgid "Pack type"
msgstr "Csomag típusa"
-#: gtk/gtkactionbar.c:384 gtk/gtkbox.c:246 gtk/gtkheaderbar.c:1870
+#: gtk/gtkactionbar.c:383 gtk/gtkbox.c:237 gtk/gtkheaderbar.c:1837
msgid ""
"A GtkPackType indicating whether the child is packed with reference to the "
"start or end of the parent"
@@ -436,71 +475,71 @@ msgstr ""
"Egy GtkPackType, amely azt jelzi, hogy a gyermekben a hivatkozás a szülő "
"elejére vagy végére mutat"
-#: gtk/gtkactionbar.c:390 gtk/gtkbox.c:252 gtk/gtkheaderbar.c:1876
-#: gtk/gtknotebook.c:790 gtk/gtkpaned.c:388 gtk/gtkpopover.c:1637
-#: gtk/gtkpopovermenu.c:371 gtk/gtkstack.c:404 gtk/gtktoolitemgroup.c:1618
+#: gtk/gtkactionbar.c:389 gtk/gtkbox.c:243 gtk/gtkheaderbar.c:1843
+#: gtk/gtknotebook.c:774 gtk/gtkpaned.c:394 gtk/gtkpopover.c:1643
+#: gtk/gtkpopovermenu.c:369 gtk/gtkstack.c:399
msgid "Position"
msgstr "Pozíció"
-#: gtk/gtkactionbar.c:391 gtk/gtkbox.c:253 gtk/gtkheaderbar.c:1877
-#: gtk/gtknotebook.c:791 gtk/gtkpopovermenu.c:372 gtk/gtkstack.c:405
+#: gtk/gtkactionbar.c:390 gtk/gtkbox.c:244 gtk/gtkheaderbar.c:1844
+#: gtk/gtknotebook.c:775 gtk/gtkpopovermenu.c:370 gtk/gtkstack.c:400
msgid "The index of the child in the parent"
msgstr "A gyermek indexe a szülőben"
-#: gtk/gtkactionbar.c:397 gtk/gtkinfobar.c:353
+#: gtk/gtkactionbar.c:396 gtk/gtkinfobar.c:352
msgid "Reveal"
msgstr "Felfedés"
-#: gtk/gtkactionbar.c:398
+#: gtk/gtkactionbar.c:397
msgid "Controls whether the action bar shows its contents or not"
msgstr "A műveletsáv megjelenítse-e a tartalmát vagy sem"
-#: gtk/gtkadjustment.c:142 gtk/gtkcellrendererprogress.c:138
-#: gtk/gtkscalebutton.c:196 gtk/gtkspinbutton.c:397
+#: gtk/gtkadjustment.c:139 gtk/gtkcellrendererprogress.c:136
+#: gtk/gtkscalebutton.c:198 gtk/gtkspinbutton.c:382
msgid "Value"
msgstr "Érték"
-#: gtk/gtkadjustment.c:143
+#: gtk/gtkadjustment.c:140
msgid "The value of the adjustment"
msgstr "Az igazítás értéke"
-#: gtk/gtkadjustment.c:157
+#: gtk/gtkadjustment.c:152
msgid "Minimum Value"
msgstr "Minimális érték"
-#: gtk/gtkadjustment.c:158
+#: gtk/gtkadjustment.c:153
msgid "The minimum value of the adjustment"
msgstr "Az igazítás minimális értéke"
-#: gtk/gtkadjustment.c:175
+#: gtk/gtkadjustment.c:168
msgid "Maximum Value"
msgstr "Maximális érték"
-#: gtk/gtkadjustment.c:176
+#: gtk/gtkadjustment.c:169
msgid "The maximum value of the adjustment"
msgstr "Az igazítás maximális értéke"
-#: gtk/gtkadjustment.c:190
+#: gtk/gtkadjustment.c:181
msgid "Step Increment"
msgstr "Lépés növekménye"
-#: gtk/gtkadjustment.c:191
+#: gtk/gtkadjustment.c:182
msgid "The step increment of the adjustment"
msgstr "Az igazítás lépéseinek növekménye"
-#: gtk/gtkadjustment.c:205
+#: gtk/gtkadjustment.c:194
msgid "Page Increment"
msgstr "Oldalnövekmény"
-#: gtk/gtkadjustment.c:206
+#: gtk/gtkadjustment.c:195
msgid "The page increment of the adjustment"
msgstr "Az igazítás oldalnövekménye"
-#: gtk/gtkadjustment.c:223
+#: gtk/gtkadjustment.c:210
msgid "Page Size"
msgstr "Oldalméret"
-#: gtk/gtkadjustment.c:224
+#: gtk/gtkadjustment.c:211
msgid "The page size of the adjustment"
msgstr "Az igazítás oldalmérete"
@@ -515,19 +554,19 @@ msgid ""
msgstr ""
"A legördülő menü tartalmazzon-e egy GtkAppChooserDialog-ot indító elemet"
-#: gtk/gtkappchooserbutton.c:634
+#: gtk/gtkappchooserbutton.c:632
msgid "Show default item"
msgstr "Alap elem megjelenítése"
-#: gtk/gtkappchooserbutton.c:635
+#: gtk/gtkappchooserbutton.c:633
msgid "Whether the combobox should show the default application on top"
msgstr "A legördülő lista tetején megjelenjen-e az alap alkalmazás"
-#: gtk/gtkappchooserbutton.c:647 gtk/gtkappchooserdialog.c:648
+#: gtk/gtkappchooserbutton.c:645 gtk/gtkappchooserdialog.c:640
msgid "Heading"
msgstr "Címsor"
-#: gtk/gtkappchooserbutton.c:648 gtk/gtkappchooserdialog.c:649
+#: gtk/gtkappchooserbutton.c:646 gtk/gtkappchooserdialog.c:641
msgid "The text to show at the top of the dialog"
msgstr "A párbeszédablak tetején megjelenítendő szöveg"
@@ -539,179 +578,179 @@ msgstr "Tartalom típusa"
msgid "The content type used by the open with object"
msgstr "A megnyitás ezzel objektum által használt tartalomtípus"
-#: gtk/gtkappchooserdialog.c:634
+#: gtk/gtkappchooserdialog.c:626
msgid "GFile"
msgstr "GFile"
-#: gtk/gtkappchooserdialog.c:635
+#: gtk/gtkappchooserdialog.c:627
msgid "The GFile used by the app chooser dialog"
msgstr "Az alkalmazásválasztó párbeszédablak által használt GFile"
-#: gtk/gtkappchooserwidget.c:1018
+#: gtk/gtkappchooserwidget.c:980
msgid "Show default app"
msgstr "Alap alkalmazás megjelenítése"
-#: gtk/gtkappchooserwidget.c:1019
+#: gtk/gtkappchooserwidget.c:981
msgid "Whether the widget should show the default application"
msgstr "A felületi elem megjelenítse-e az alap alkalmazást"
-#: gtk/gtkappchooserwidget.c:1033
+#: gtk/gtkappchooserwidget.c:995
msgid "Show recommended apps"
msgstr "Javasolt alkalmazások megjelenítése"
-#: gtk/gtkappchooserwidget.c:1034
+#: gtk/gtkappchooserwidget.c:996
msgid "Whether the widget should show recommended applications"
msgstr "A felületi elem megjelenítse-e a javasolt alkalmazásokat"
-#: gtk/gtkappchooserwidget.c:1048
+#: gtk/gtkappchooserwidget.c:1010
msgid "Show fallback apps"
msgstr "Tartalék alkalmazások megjelenítése"
-#: gtk/gtkappchooserwidget.c:1049
+#: gtk/gtkappchooserwidget.c:1011
msgid "Whether the widget should show fallback applications"
msgstr "A felületi elem megjelenítse-e a tartalék alkalmazásokat"
-#: gtk/gtkappchooserwidget.c:1061
+#: gtk/gtkappchooserwidget.c:1023
msgid "Show other apps"
msgstr "Egyéb alkalmazások megjelenítése"
-#: gtk/gtkappchooserwidget.c:1062
+#: gtk/gtkappchooserwidget.c:1024
msgid "Whether the widget should show other applications"
msgstr "A felületi elem megjelenítse-e az egyéb alkalmazásokat"
-#: gtk/gtkappchooserwidget.c:1075
+#: gtk/gtkappchooserwidget.c:1037
msgid "Show all apps"
msgstr "Minden alkalmazás megjelenítése"
-#: gtk/gtkappchooserwidget.c:1076
+#: gtk/gtkappchooserwidget.c:1038
msgid "Whether the widget should show all applications"
msgstr "A felületi elem megjelenítse-e az összes alkalmazást"
-#: gtk/gtkappchooserwidget.c:1090
+#: gtk/gtkappchooserwidget.c:1052
msgid "Widget’s default text"
msgstr "A felületi elem alap szövege"
-#: gtk/gtkappchooserwidget.c:1091
+#: gtk/gtkappchooserwidget.c:1053
msgid "The default text appearing when there are no applications"
msgstr "A megjelenítendő alapszöveg, ha nincsenek alkalmazások"
-#: gtk/gtkapplication.c:648
+#: gtk/gtkapplication.c:659
msgid "Register session"
msgstr "Munkamenet regisztrálása"
-#: gtk/gtkapplication.c:649
+#: gtk/gtkapplication.c:660
msgid "Register with the session manager"
msgstr "Regisztrálás a munkamenet-kezelőnél"
-#: gtk/gtkapplication.c:655
+#: gtk/gtkapplication.c:666
msgid "Application menu"
msgstr "Alkalmazásmenü"
-#: gtk/gtkapplication.c:656
+#: gtk/gtkapplication.c:667
msgid "The GMenuModel for the application menu"
msgstr "Az alkalmazásmenü GMenuModel-je"
-#: gtk/gtkapplication.c:662
+#: gtk/gtkapplication.c:673
msgid "Menubar"
msgstr "Menüsáv"
-#: gtk/gtkapplication.c:663
+#: gtk/gtkapplication.c:674
msgid "The GMenuModel for the menubar"
msgstr "A menüsáv GMenuModel-je"
-#: gtk/gtkapplication.c:669
+#: gtk/gtkapplication.c:680
msgid "Active window"
msgstr "Aktív ablak"
-#: gtk/gtkapplication.c:670
+#: gtk/gtkapplication.c:681
msgid "The window which most recently had focus"
msgstr "A fókusszal legutóbb rendelkező ablak"
-#: gtk/gtkapplicationwindow.c:832
+#: gtk/gtkapplicationwindow.c:833
msgid "Show a menubar"
msgstr "Menüsáv megjelenítése"
-#: gtk/gtkapplicationwindow.c:833
+#: gtk/gtkapplicationwindow.c:834
msgid "TRUE if the window should show a menubar at the top of the window"
msgstr "Ha IGAZ, akkor az ablak tetején megjelenjen egy menüsáv"
-#: gtk/gtkaspectframe.c:111 gtk/gtkwidget.c:1278
+#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:1132
msgid "Horizontal Alignment"
msgstr "Vízszintes igazítás"
-#: gtk/gtkaspectframe.c:112
+#: gtk/gtkaspectframe.c:110
msgid "X alignment of the child"
msgstr "A gyermek X irányú igazítása"
-#: gtk/gtkaspectframe.c:118 gtk/gtkwidget.c:1293
+#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:1145
msgid "Vertical Alignment"
msgstr "Függőleges igazítás"
-#: gtk/gtkaspectframe.c:119
+#: gtk/gtkaspectframe.c:117
msgid "Y alignment of the child"
msgstr "A gyermek Y irányú igazítása"
-#: gtk/gtkaspectframe.c:125
+#: gtk/gtkaspectframe.c:123
msgid "Ratio"
msgstr "Arány"
-#: gtk/gtkaspectframe.c:126
+#: gtk/gtkaspectframe.c:124
msgid "Aspect ratio if obey_child is FALSE"
msgstr "Képarány, ha az obey_child értéke HAMIS"
-#: gtk/gtkaspectframe.c:132
+#: gtk/gtkaspectframe.c:130
msgid "Obey child"
msgstr "Gyermek követése"
-#: gtk/gtkaspectframe.c:133
+#: gtk/gtkaspectframe.c:131
msgid "Force aspect ratio to match that of the frame’s child"
msgstr "A képarány beállítása a keret gyermekével megegyezőre"
-#: gtk/gtkassistant.c:513 gtk/gtkdialog.c:583
+#: gtk/gtkassistant.c:507 gtk/gtkdialog.c:584
msgid "Use Header Bar"
msgstr "Fejlécsáv használata"
-#: gtk/gtkassistant.c:514 gtk/gtkdialog.c:584
+#: gtk/gtkassistant.c:508 gtk/gtkdialog.c:585
msgid "Use Header Bar for actions."
msgstr "Fejlécsáv használata a műveletekhez"
-#: gtk/gtkassistant.c:528
+#: gtk/gtkassistant.c:520
msgid "Page type"
msgstr "Oldal típusa"
-#: gtk/gtkassistant.c:529
+#: gtk/gtkassistant.c:521
msgid "The type of the assistant page"
msgstr "A varázslóoldal típusa"
-#: gtk/gtkassistant.c:544
+#: gtk/gtkassistant.c:534
msgid "Page title"
msgstr "Oldalcím"
-#: gtk/gtkassistant.c:545
+#: gtk/gtkassistant.c:535
msgid "The title of the assistant page"
msgstr "A varázslóoldal címe"
-#: gtk/gtkassistant.c:561
+#: gtk/gtkassistant.c:549
msgid "Page complete"
msgstr "Az oldal kitöltve"
-#: gtk/gtkassistant.c:562
+#: gtk/gtkassistant.c:550
msgid "Whether all required fields on the page have been filled out"
msgstr "Az oldal összes kötelező mezője ki lett-e töltve"
-#: gtk/gtkassistant.c:567
+#: gtk/gtkassistant.c:555
msgid "Has padding"
msgstr "Van térköze"
-#: gtk/gtkassistant.c:567
+#: gtk/gtkassistant.c:555
msgid "Whether the assistant adds padding around the page"
msgstr "A varázsló ad-e hozzá térközt az oldal köré"
-#: gtk/gtkbbox.c:153
+#: gtk/gtkbbox.c:152
msgid "Layout style"
msgstr "Elrendezés stílusa"
-#: gtk/gtkbbox.c:154
+#: gtk/gtkbbox.c:153
msgid ""
"How to lay out the buttons in the box. Possible values are: spread, edge, "
"start and end"
@@ -719,11 +758,11 @@ msgstr ""
"A gombok elrendezése a dobozon belül. A lehetséges értékek: spread, edge, "
"start és end"
-#: gtk/gtkbbox.c:162
+#: gtk/gtkbbox.c:161
msgid "Secondary"
msgstr "Másodlagos"
-#: gtk/gtkbbox.c:163
+#: gtk/gtkbbox.c:162
msgid ""
"If TRUE, the child appears in a secondary group of children, suitable for, e."
"g., help buttons"
@@ -731,94 +770,94 @@ msgstr ""
"Ha IGAZ, a gyermek gyermekek egy másodlagos csoportjában jelenik meg; "
"hasznos például súgógombokhoz"
-#: gtk/gtkbbox.c:170
+#: gtk/gtkbbox.c:169
msgid "Non-Homogeneous"
msgstr "Nem homogén"
-#: gtk/gtkbbox.c:171
+#: gtk/gtkbbox.c:170
msgid "If TRUE, the child will not be subject to homogeneous sizing"
msgstr "Ha IGAZ, akkor a gyermek nem lesz homogén méretezés alanya"
-#: gtk/gtkbox.c:221 gtk/gtkcellareabox.c:310 gtk/gtkheaderbar.c:1904
-#: gtk/gtkiconview.c:510 gtk/gtktreeviewcolumn.c:275
+#: gtk/gtkbox.c:212 gtk/gtkcellareabox.c:308 gtk/gtkheaderbar.c:1871
+#: gtk/gtkiconview.c:493 gtk/gtktreeviewcolumn.c:284
msgid "Spacing"
msgstr "Távolság"
-#: gtk/gtkbox.c:222 gtk/gtkheaderbar.c:1905
+#: gtk/gtkbox.c:213 gtk/gtkheaderbar.c:1872
msgid "The amount of space between children"
msgstr "A gyermekek közötti távolság"
-#: gtk/gtkbox.c:228 gtk/gtkflowbox.c:3496 gtk/gtkstack.c:326
-#: gtk/gtktoolbar.c:561 gtk/gtktoolitemgroup.c:1590
+#: gtk/gtkbox.c:219 gtk/gtkflowbox.c:3465 gtk/gtkstack.c:325
+#: gtk/gtktoolbar.c:513
msgid "Homogeneous"
msgstr "Homogén"
-#: gtk/gtkbox.c:229 gtk/gtkflowbox.c:3497
+#: gtk/gtkbox.c:220 gtk/gtkflowbox.c:3466
msgid "Whether the children should all be the same size"
msgstr "A gyermekeknek egyforma méretűeknek kell-e lenniük"
-#: gtk/gtkbox.c:235 gtk/gtkcenterbox.c:710
+#: gtk/gtkbox.c:226 gtk/gtkcenterbox.c:663
msgid "Baseline position"
msgstr "Alapvonal helye"
-#: gtk/gtkbox.c:236 gtk/gtkcenterbox.c:711
+#: gtk/gtkbox.c:227 gtk/gtkcenterbox.c:664
msgid ""
"The position of the baseline aligned widgets if extra space is available"
msgstr "Az alapvonalra igazított felületi elemek helye, ha elérhető extra hely"
-#: gtk/gtkbuilder.c:282
+#: gtk/gtkbuilder.c:280
msgid "Translation Domain"
msgstr "Fordítási tartomány"
-#: gtk/gtkbuilder.c:283
+#: gtk/gtkbuilder.c:281
msgid "The translation domain used by gettext"
msgstr "A gettext által használt fordítási tartomány"
-#: gtk/gtkbutton.c:226
+#: gtk/gtkbutton.c:227
msgid ""
"Text of the label widget inside the button, if the button contains a label "
"widget"
msgstr ""
"A címke elem szövege a gombon belül, amennyiben a gomb tartalmaz címke elemet"
-#: gtk/gtkbutton.c:239
+#: gtk/gtkbutton.c:240
msgid "Border relief"
msgstr "Szegélykiemelés"
-#: gtk/gtkbutton.c:240
+#: gtk/gtkbutton.c:241
msgid "The border relief style"
msgstr "A szegélykiemelés stílusa"
-#: gtk/gtkbutton.c:247 gtk/gtkcellrendererpixbuf.c:210 gtk/gtkimage.c:231
-#: gtk/gtkprinter.c:170 gtk/gtkwindow.c:976
+#: gtk/gtkbutton.c:248 gtk/gtkcellrendererpixbuf.c:200 gtk/gtkimage.c:197
+#: gtk/gtkprinter.c:170 gtk/gtkwindow.c:958
msgid "Icon Name"
msgstr "Ikonnév"
-#: gtk/gtkbutton.c:248
+#: gtk/gtkbutton.c:249
msgid "The name of the icon used to automatically populate the button"
msgstr "A használandó ikon neve a gomb automatikus kitöltéséhez"
-#: gtk/gtkcalendar.c:384
+#: gtk/gtkcalendar.c:388
msgid "Year"
msgstr "Év"
-#: gtk/gtkcalendar.c:385
+#: gtk/gtkcalendar.c:389
msgid "The selected year"
msgstr "A kiválasztott év"
-#: gtk/gtkcalendar.c:398
+#: gtk/gtkcalendar.c:402
msgid "Month"
msgstr "Hónap"
-#: gtk/gtkcalendar.c:399
+#: gtk/gtkcalendar.c:403
msgid "The selected month (as a number between 0 and 11)"
msgstr "A kiválasztott hónap (0 és 11 közötti számként megadva)"
-#: gtk/gtkcalendar.c:413
+#: gtk/gtkcalendar.c:417
msgid "Day"
msgstr "Nap"
-#: gtk/gtkcalendar.c:414
+#: gtk/gtkcalendar.c:418
msgid ""
"The selected day (as a number between 1 and 31, or 0 to unselect the "
"currently selected day)"
@@ -826,11 +865,11 @@ msgstr ""
"A kiválasztott hónap (1 és 31 közötti számként megadva, vagy 0 az aktuális "
"nap kiválasztásának megszüntetésére)"
-#: gtk/gtkcalendar.c:428
+#: gtk/gtkcalendar.c:430
msgid "Show Heading"
msgstr "Fejléc megjelenítése"
-#: gtk/gtkcalendar.c:429
+#: gtk/gtkcalendar.c:431
msgid "If TRUE, a heading is displayed"
msgstr "Ha IGAZ, akkor egy megjelenik egy fejléc"
@@ -842,80 +881,79 @@ msgstr "Napok neveinek megjelenítése"
msgid "If TRUE, day names are displayed"
msgstr "Ha IGAZ, a napok nevei megjelenítésre kerülnek"
-#: gtk/gtkcalendar.c:457
+#: gtk/gtkcalendar.c:455
msgid "No Month Change"
msgstr "Nincs hónapváltás"
-#: gtk/gtkcalendar.c:458
+#: gtk/gtkcalendar.c:456
msgid "If TRUE, the selected month cannot be changed"
msgstr "Ha IGAZ, a kiválasztott hónap nem módosítható"
-#: gtk/gtkcalendar.c:472
+#: gtk/gtkcalendar.c:468
msgid "Show Week Numbers"
msgstr "Hetek számának megjelenítése"
-#: gtk/gtkcalendar.c:473
+#: gtk/gtkcalendar.c:469
msgid "If TRUE, week numbers are displayed"
msgstr "Ha IGAZ, megjelenítésre kerül a hetek sorszáma"
-#: gtk/gtkcalendar.c:488
+#: gtk/gtkcalendar.c:482
msgid "Details Width"
msgstr "Részletek szélessége"
-#: gtk/gtkcalendar.c:489
+#: gtk/gtkcalendar.c:483
msgid "Details width in characters"
msgstr "Részletek szélessége karakterben"
-#: gtk/gtkcalendar.c:504
+#: gtk/gtkcalendar.c:496
msgid "Details Height"
msgstr "Részletek magassága"
-#: gtk/gtkcalendar.c:505
+#: gtk/gtkcalendar.c:497
msgid "Details height in rows"
msgstr "Részletek magassága sorokban"
-#: gtk/gtkcalendar.c:521
+#: gtk/gtkcalendar.c:511
msgid "Show Details"
msgstr "Részletek mutatása"
-#: gtk/gtkcalendar.c:522
+#: gtk/gtkcalendar.c:512
msgid "If TRUE, details are shown"
msgstr "Ha IGAZ, megjelenítésre kerülnek a részletek"
-#: gtk/gtkcellareabox.c:311 gtk/gtktreeviewcolumn.c:276
+#: gtk/gtkcellareabox.c:309 gtk/gtktreeviewcolumn.c:285
msgid "Space which is inserted between cells"
msgstr "A cellák közé beszúrt terület"
-#: gtk/gtkcellareabox.c:330 gtk/gtktoolbar.c:553 gtk/gtktoolitemgroup.c:1597
-#: gtk/gtktoolpalette.c:977 gtk/gtktreeviewcolumn.c:322
+#: gtk/gtkcellareabox.c:326 gtk/gtktoolbar.c:505 gtk/gtktreeviewcolumn.c:331
msgid "Expand"
msgstr "Kibővítés"
-#: gtk/gtkcellareabox.c:331
+#: gtk/gtkcellareabox.c:327
msgid "Whether the cell expands"
msgstr "A cella bővül-e"
-#: gtk/gtkcellareabox.c:346
+#: gtk/gtkcellareabox.c:340
msgid "Align"
msgstr "Igazítás"
-#: gtk/gtkcellareabox.c:347
+#: gtk/gtkcellareabox.c:341
msgid "Whether cell should align with adjacent rows"
msgstr "A cella igazodik-e a szomszédos sorokhoz"
-#: gtk/gtkcellareabox.c:363
+#: gtk/gtkcellareabox.c:355
msgid "Fixed Size"
msgstr "Rögzített méret"
-#: gtk/gtkcellareabox.c:364
+#: gtk/gtkcellareabox.c:356
msgid "Whether cells should be the same size in all rows"
msgstr "A celláknak egyforma méretűeknek kell-e lenniük minden sorban"
-#: gtk/gtkcellareabox.c:380
+#: gtk/gtkcellareabox.c:370
msgid "Pack Type"
msgstr "Csomagolás típusa"
-#: gtk/gtkcellareabox.c:381
+#: gtk/gtkcellareabox.c:371
msgid ""
"A GtkPackType indicating whether the cell is packed with reference to the "
"start or end of the cell area"
@@ -923,334 +961,321 @@ msgstr ""
"Egy GtkPackType, amely azt jelzi, hogy a cellában a hivatkozás a "
"cellaterület elejére vagy végére mutat"
-#: gtk/gtkcellarea.c:791
+#: gtk/gtkcellarea.c:779
msgid "Focus Cell"
msgstr "Fókuszált cella"
-#: gtk/gtkcellarea.c:792
+#: gtk/gtkcellarea.c:780
msgid "The cell which currently has focus"
msgstr "A fókusszal rendelkező cella"
-#: gtk/gtkcellarea.c:810
+#: gtk/gtkcellarea.c:795
msgid "Edited Cell"
msgstr "Szerkesztett cella"
-#: gtk/gtkcellarea.c:811
+#: gtk/gtkcellarea.c:796
msgid "The cell which is currently being edited"
msgstr "A jelenleg szerkesztett cella"
-#: gtk/gtkcellarea.c:829
+#: gtk/gtkcellarea.c:811
msgid "Edit Widget"
msgstr "Felületi elem szerkesztése"
-#: gtk/gtkcellarea.c:830
+#: gtk/gtkcellarea.c:812
msgid "The widget currently editing the edited cell"
msgstr "A szerkesztett cellát jelenlegi oldala szerkesztő felületi elem"
-#: gtk/gtkcellareacontext.c:115
+#: gtk/gtkcellareacontext.c:113
msgid "Area"
msgstr "Terület"
-#: gtk/gtkcellareacontext.c:116
+#: gtk/gtkcellareacontext.c:114
msgid "The Cell Area this context was created for"
msgstr "A cellaterület, amelyhez a környezet létrejött"
-#: gtk/gtkcellareacontext.c:132 gtk/gtkcellareacontext.c:151
-#: gtk/gtktreeviewcolumn.c:299
+#: gtk/gtkcellareacontext.c:128 gtk/gtkcellareacontext.c:143
+#: gtk/gtktreeviewcolumn.c:308
msgid "Minimum Width"
msgstr "Minimális szélesség"
-#: gtk/gtkcellareacontext.c:133 gtk/gtkcellareacontext.c:152
+#: gtk/gtkcellareacontext.c:129 gtk/gtkcellareacontext.c:144
msgid "Minimum cached width"
msgstr "Minimális gyorsítótárazott szélesség"
-#: gtk/gtkcellareacontext.c:170 gtk/gtkcellareacontext.c:189
+#: gtk/gtkcellareacontext.c:158 gtk/gtkcellareacontext.c:173
msgid "Minimum Height"
msgstr "Minimális magasság"
-#: gtk/gtkcellareacontext.c:171 gtk/gtkcellareacontext.c:190
+#: gtk/gtkcellareacontext.c:159 gtk/gtkcellareacontext.c:174
msgid "Minimum cached height"
msgstr "Minimális gyorsítótárazott magasság"
-#: gtk/gtkcelleditable.c:51
+#: gtk/gtkcelleditable.c:49
msgid "Editing Canceled"
msgstr "Szerkesztés megszakítva"
-#: gtk/gtkcelleditable.c:52
+#: gtk/gtkcelleditable.c:50
msgid "Indicates that editing has been canceled"
msgstr "Jelzi, hogy a szerkesztés meg lett szakítva"
-#: gtk/gtkcellrendereraccel.c:140
+#: gtk/gtkcellrendereraccel.c:150
msgid "Accelerator key"
msgstr "Gyorsbillentyű"
-#: gtk/gtkcellrendereraccel.c:141
+#: gtk/gtkcellrendereraccel.c:151
msgid "The keyval of the accelerator"
msgstr "A gyorsbillentyű értéke"
-#: gtk/gtkcellrendereraccel.c:157
+#: gtk/gtkcellrendereraccel.c:165
msgid "Accelerator modifiers"
msgstr "Gyorsbillentyű módosítói"
-#: gtk/gtkcellrendereraccel.c:158
+#: gtk/gtkcellrendereraccel.c:166
msgid "The modifier mask of the accelerator"
msgstr "A gyorsbillentyű módosítómaszkja"
-#: gtk/gtkcellrendereraccel.c:175
+#: gtk/gtkcellrendereraccel.c:181
msgid "Accelerator keycode"
msgstr "Gyorsbillentyű billentyűkódja"
-#: gtk/gtkcellrendereraccel.c:176
+#: gtk/gtkcellrendereraccel.c:182
msgid "The hardware keycode of the accelerator"
msgstr "A gyorsbillentyű hardveres billentyűkódja"
-#: gtk/gtkcellrendereraccel.c:195
+#: gtk/gtkcellrendereraccel.c:199
msgid "Accelerator Mode"
msgstr "Gyorsbillentyű módja"
-#: gtk/gtkcellrendereraccel.c:196
+#: gtk/gtkcellrendereraccel.c:200
msgid "The type of accelerators"
msgstr "A gyorsbillentyűk típusa"
-#: gtk/gtkcellrenderer.c:284
+#: gtk/gtkcellrenderer.c:288
msgid "mode"
msgstr "mód"
-#: gtk/gtkcellrenderer.c:285
+#: gtk/gtkcellrenderer.c:289
msgid "Editable mode of the CellRenderer"
msgstr "A CellRenderer szerkeszthető módja"
-#: gtk/gtkcellrenderer.c:293
+#: gtk/gtkcellrenderer.c:297
msgid "visible"
msgstr "látható"
-#: gtk/gtkcellrenderer.c:294
+#: gtk/gtkcellrenderer.c:298
msgid "Display the cell"
msgstr "A cella megjelenítése"
-#: gtk/gtkcellrenderer.c:300 gtk/gtkwidget.c:1119
+#: gtk/gtkcellrenderer.c:304 gtk/gtkwidget.c:978
msgid "Sensitive"
msgstr "Érzékeny"
-#: gtk/gtkcellrenderer.c:301
+#: gtk/gtkcellrenderer.c:305
msgid "Display the cell sensitive"
msgstr "A cella érzékeny megjelenítése"
-#: gtk/gtkcellrenderer.c:308
+#: gtk/gtkcellrenderer.c:312
msgid "xalign"
msgstr "xalign"
-#: gtk/gtkcellrenderer.c:309
+#: gtk/gtkcellrenderer.c:313
msgid "The x-align"
msgstr "Az x-igazítás"
-#: gtk/gtkcellrenderer.c:318
+#: gtk/gtkcellrenderer.c:322
msgid "yalign"
msgstr "yalign"
-#: gtk/gtkcellrenderer.c:319
+#: gtk/gtkcellrenderer.c:323
msgid "The y-align"
msgstr "Az y-igazítás"
-#: gtk/gtkcellrenderer.c:328
+#: gtk/gtkcellrenderer.c:332
msgid "xpad"
msgstr "xpad"
-#: gtk/gtkcellrenderer.c:329
+#: gtk/gtkcellrenderer.c:333
msgid "The xpad"
msgstr "Az xpad"
-#: gtk/gtkcellrenderer.c:338
+#: gtk/gtkcellrenderer.c:342
msgid "ypad"
msgstr "ypad"
-#: gtk/gtkcellrenderer.c:339
+#: gtk/gtkcellrenderer.c:343
msgid "The ypad"
msgstr "Az ypad"
-#: gtk/gtkcellrenderer.c:348
+#: gtk/gtkcellrenderer.c:352
msgid "width"
msgstr "szélesség"
-#: gtk/gtkcellrenderer.c:349
+#: gtk/gtkcellrenderer.c:353
msgid "The fixed width"
msgstr "A rögzített szélesség"
-#: gtk/gtkcellrenderer.c:358
+#: gtk/gtkcellrenderer.c:362
msgid "height"
msgstr "magasság"
-#: gtk/gtkcellrenderer.c:359
+#: gtk/gtkcellrenderer.c:363
msgid "The fixed height"
msgstr "A rögzített magasság"
-#: gtk/gtkcellrenderer.c:368
+#: gtk/gtkcellrenderer.c:372
msgid "Is Expander"
msgstr "Kiterjesztő"
-#: gtk/gtkcellrenderer.c:369
+#: gtk/gtkcellrenderer.c:373
msgid "Row has children"
msgstr "A sornak vannak gyermekei"
-#: gtk/gtkcellrenderer.c:377
+#: gtk/gtkcellrenderer.c:381
msgid "Is Expanded"
msgstr "Kiterjesztett-e"
-#: gtk/gtkcellrenderer.c:378
+#: gtk/gtkcellrenderer.c:382
msgid "Row is an expander row, and is expanded"
msgstr "A sor egy kiterjesztő sor, és ki is van terjesztve"
-#: gtk/gtkcellrenderer.c:385
+#: gtk/gtkcellrenderer.c:389
msgid "Cell background color name"
msgstr "Cella háttérszínének neve"
-#: gtk/gtkcellrenderer.c:386
+#: gtk/gtkcellrenderer.c:390
msgid "Cell background color as a string"
msgstr "Cella háttérszíne karakterláncként"
-#: gtk/gtkcellrenderer.c:400
+#: gtk/gtkcellrenderer.c:402
msgid "Cell background RGBA color"
msgstr "Cellaháttér RGBA színe"
-#: gtk/gtkcellrenderer.c:401
+#: gtk/gtkcellrenderer.c:403
msgid "Cell background color as a GdkRGBA"
msgstr "Cella háttérszíne GdkRGBA-ként"
-#: gtk/gtkcellrenderer.c:408
+#: gtk/gtkcellrenderer.c:410
msgid "Editing"
msgstr "Szerkesztés"
-#: gtk/gtkcellrenderer.c:409
+#: gtk/gtkcellrenderer.c:411
msgid "Whether the cell renderer is currently in editing mode"
msgstr "A cellamegjelenítő szerkesztési módban van-e"
-#: gtk/gtkcellrenderer.c:417
+#: gtk/gtkcellrenderer.c:419
msgid "Cell background set"
msgstr "Cella háttérszínének beállítása"
-#: gtk/gtkcellrenderer.c:418
+#: gtk/gtkcellrenderer.c:420
msgid "Whether the cell background color is set"
msgstr "A cella háttérszíne be van-e állítva"
-#: gtk/gtkcellrenderercombo.c:126
+#: gtk/gtkcellrenderercombo.c:124
msgid "Model"
msgstr "Modell"
-#: gtk/gtkcellrenderercombo.c:127
+#: gtk/gtkcellrenderercombo.c:125
msgid "The model containing the possible values for the combo box"
msgstr "A kombinált mező lehetséges értékeit tartalmazó modell"
-#: gtk/gtkcellrenderercombo.c:149
+#: gtk/gtkcellrenderercombo.c:145
msgid "Text Column"
msgstr "Szövegoszlop"
-#: gtk/gtkcellrenderercombo.c:150
+#: gtk/gtkcellrenderercombo.c:146
msgid "A column in the data source model to get the strings from"
msgstr ""
"Az adatforrás-modell egy oszlopa, ahonnan a karakterláncokat veszi a rendszer"
-#: gtk/gtkcellrenderercombo.c:167 gtk/gtkcombobox.c:809
+#: gtk/gtkcellrenderercombo.c:161 gtk/gtkcombobox.c:772
msgid "Has Entry"
msgstr "Van bevitel"
-#: gtk/gtkcellrenderercombo.c:168
+#: gtk/gtkcellrenderercombo.c:162
msgid "If FALSE, don’t allow to enter strings other than the chosen ones"
msgstr ""
"Ha HAMIS, nem lehet más szöveget megadni, csak a meglévőket kiválasztani"
-#: gtk/gtkcellrendererpixbuf.c:146
+#: gtk/gtkcellrendererpixbuf.c:145
msgid "Pixbuf Object"
msgstr "Pixbuf objektum"
-#: gtk/gtkcellrendererpixbuf.c:147
+#: gtk/gtkcellrendererpixbuf.c:146
msgid "The pixbuf to render"
msgstr "A megjelenítendő pixbuf"
-#: gtk/gtkcellrendererpixbuf.c:154
+#: gtk/gtkcellrendererpixbuf.c:153
msgid "Pixbuf Expander Open"
msgstr "Pixbuf nyílt kiterjesztő"
-#: gtk/gtkcellrendererpixbuf.c:155
+#: gtk/gtkcellrendererpixbuf.c:154
msgid "Pixbuf for open expander"
msgstr "Pixbuf egy nyílt kiterjesztőhöz"
-#: gtk/gtkcellrendererpixbuf.c:162
+#: gtk/gtkcellrendererpixbuf.c:161
msgid "Pixbuf Expander Closed"
msgstr "Pixbuf zárt kiterjesztő"
-#: gtk/gtkcellrendererpixbuf.c:163
+#: gtk/gtkcellrendererpixbuf.c:162
msgid "Pixbuf for closed expander"
msgstr "Pixbuf egy zárt kiterjesztőhöz"
-#: gtk/gtkcellrendererpixbuf.c:174
-msgid "surface"
-msgstr "Felület"
-
-#: gtk/gtkcellrendererpixbuf.c:175
-msgid "The surface to render"
-msgstr "A megjelenítendő felület"
+#: gtk/gtkcellrendererpixbuf.c:173
+msgid "The texture to render"
+msgstr "A megjelenítendő textúra"
-#: gtk/gtkcellrendererpixbuf.c:182 gtk/gtkcellrendererspinner.c:153
-#: gtk/gtkrecentmanager.c:304
-msgid "Size"
-msgstr "Méret"
+#: gtk/gtkcellrendererpixbuf.c:185
+msgid "Icon Size"
+msgstr "Ikonméret"
-#: gtk/gtkcellrendererpixbuf.c:183
+#: gtk/gtkcellrendererpixbuf.c:186
msgid "The GtkIconSize value that specifies the size of the rendered icon"
msgstr "A megjelenített ikon méretét meghatározó GtkIconSize érték"
-#: gtk/gtkcellrendererpixbuf.c:192
-msgid "Detail"
-msgstr "Részletek"
-
-#: gtk/gtkcellrendererpixbuf.c:193
-msgid "Render detail to pass to the theme engine"
-msgstr "A témakezelő alrendszernek átadandó megjelenítési részletek"
-
-#: gtk/gtkcellrendererpixbuf.c:211 gtk/gtkimage.c:232
+#: gtk/gtkcellrendererpixbuf.c:201 gtk/gtkimage.c:198
msgid "The name of the icon from the icon theme"
msgstr "Az ikon neve az ikontémában"
-#: gtk/gtkcellrendererpixbuf.c:227 gtk/gtkimage.c:247 gtk/gtkmodelbutton.c:950
-#: gtk/gtkshortcutsshortcut.c:585 gtk/gtkwindow.c:927
+#: gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:211 gtk/gtkmodelbutton.c:964
+#: gtk/gtkshortcutsshortcut.c:585 gtk/gtkwindow.c:915
msgid "Icon"
msgstr "Ikon"
-#: gtk/gtkcellrendererpixbuf.c:228 gtk/gtkimage.c:248
+#: gtk/gtkcellrendererpixbuf.c:216 gtk/gtkimage.c:212
msgid "The GIcon being displayed"
msgstr "A megjelenítendő GIcon"
-#: gtk/gtkcellrendererprogress.c:139
+#: gtk/gtkcellrendererprogress.c:137
msgid "Value of the progress bar"
msgstr "A folyamatjelző értéke"
-#: gtk/gtkcellrendererprogress.c:156 gtk/gtkcellrenderertext.c:253
-#: gtk/gtkentrybuffer.c:350 gtk/gtkentry.c:865 gtk/gtkmessagedialog.c:201
-#: gtk/gtkmodelbutton.c:964 gtk/gtkprogressbar.c:215 gtk/gtkspinbutton.c:423
-#: gtk/gtktextbuffer.c:218
+#: gtk/gtkcellrendererprogress.c:152 gtk/gtkcellrenderertext.c:254
+#: gtk/gtkentrybuffer.c:351 gtk/gtkentry.c:924 gtk/gtkmessagedialog.c:198
+#: gtk/gtkmodelbutton.c:976 gtk/gtkprogressbar.c:213 gtk/gtkspinbutton.c:405
+#: gtk/gtktextbuffer.c:425
msgid "Text"
msgstr "Szöveg"
-#: gtk/gtkcellrendererprogress.c:157
+#: gtk/gtkcellrendererprogress.c:153
msgid "Text on the progress bar"
msgstr "Szöveg a folyamatjelzőn"
-#: gtk/gtkcellrendererprogress.c:180 gtk/gtkcellrendererspinner.c:138
+#: gtk/gtkcellrendererprogress.c:174 gtk/gtkcellrendererspinner.c:136
msgid "Pulse"
msgstr "Pulzus"
-#: gtk/gtkcellrendererprogress.c:181
+#: gtk/gtkcellrendererprogress.c:175
msgid ""
"Set this to positive values to indicate that some progress is made, but you "
"don’t know how much."
msgstr ""
"Állítsa ezt pozitív értékre annak bizonytalan mértékű előrehaladás jelzésére."
-#: gtk/gtkcellrendererprogress.c:197
+#: gtk/gtkcellrendererprogress.c:189
msgid "Text x alignment"
msgstr "Szöveg x-igazítása"
-#: gtk/gtkcellrendererprogress.c:198
+#: gtk/gtkcellrendererprogress.c:190
msgid ""
"The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL "
"layouts."
@@ -1258,52 +1283,52 @@ msgstr ""
"A vízszintes szövegigazítás, 0 (bal) és 1 (jobb) között. RTL elrendezéseknél "
"fordított az érték."
-#: gtk/gtkcellrendererprogress.c:214
+#: gtk/gtkcellrendererprogress.c:204
msgid "Text y alignment"
msgstr "Szöveg y-igazítása"
-#: gtk/gtkcellrendererprogress.c:215
+#: gtk/gtkcellrendererprogress.c:205
msgid "The vertical text alignment, from 0 (top) to 1 (bottom)."
msgstr "A függőleges szövegigazítás, 0 (felül) és 1 (alul) között."
-#: gtk/gtkcellrendererprogress.c:226 gtk/gtklevelbar.c:1054
-#: gtk/gtkmodelbutton.c:1010 gtk/gtkprogressbar.c:192 gtk/gtkrange.c:391
+#: gtk/gtkcellrendererprogress.c:216 gtk/gtklevelbar.c:1042
+#: gtk/gtkmodelbutton.c:1030 gtk/gtkprogressbar.c:190 gtk/gtkrange.c:379
msgid "Inverted"
msgstr "Fordított"
-#: gtk/gtkcellrendererprogress.c:227 gtk/gtkprogressbar.c:193
+#: gtk/gtkcellrendererprogress.c:217 gtk/gtkprogressbar.c:191
msgid "Invert the direction in which the progress bar grows"
msgstr "A folyamatjelző növekedési irányának megfordítása"
-#: gtk/gtkcellrendererspin.c:114 gtk/gtkrange.c:384 gtk/gtkscalebutton.c:215
-#: gtk/gtkscrollbar.c:223 gtk/gtkspinbutton.c:340
+#: gtk/gtkcellrendererspin.c:119 gtk/gtkrange.c:372 gtk/gtkscalebutton.c:208
+#: gtk/gtkscrollbar.c:222 gtk/gtkspinbutton.c:332
msgid "Adjustment"
msgstr "Igazítás"
-#: gtk/gtkcellrendererspin.c:115 gtk/gtkspinbutton.c:341
+#: gtk/gtkcellrendererspin.c:120 gtk/gtkspinbutton.c:333
msgid "The adjustment that holds the value of the spin button"
msgstr "A léptetőgomb értékét tartalmazó igazítás"
-#: gtk/gtkcellrendererspin.c:130
+#: gtk/gtkcellrendererspin.c:133
msgid "Climb rate"
msgstr "Emelkedési sebesség"
-#: gtk/gtkcellrendererspin.c:131 gtk/gtkspinbutton.c:349
+#: gtk/gtkcellrendererspin.c:134
msgid "The acceleration rate when you hold down a button"
msgstr "A gomb lenyomásakor a gyorsulási sebesség"
-#: gtk/gtkcellrendererspin.c:144 gtk/gtkscale.c:709 gtk/gtkspinbutton.c:356
+#: gtk/gtkcellrendererspin.c:145 gtk/gtkscale.c:704 gtk/gtkspinbutton.c:346
msgid "Digits"
msgstr "Számjegyek"
-#: gtk/gtkcellrendererspin.c:145 gtk/gtkspinbutton.c:357
+#: gtk/gtkcellrendererspin.c:146 gtk/gtkspinbutton.c:347
msgid "The number of decimal places to display"
msgstr "A megjelenítendő tizedesjegyek száma"
-#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:182
-#: gtk/gtkmenu.c:614 gtk/gtkmodelbutton.c:979 gtk/gtkmodelbutton.c:980
-#: gtk/gtkspinner.c:203 gtk/gtkswitch.c:531 gtk/gtktogglebutton.c:156
-#: gtk/gtktoggletoolbutton.c:115
+#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:177
+#: gtk/gtkmenu.c:600 gtk/gtkmodelbutton.c:1003 gtk/gtkmodelbutton.c:1004
+#: gtk/gtkspinner.c:199 gtk/gtkswitch.c:521 gtk/gtktogglebutton.c:160
+#: gtk/gtktoggletoolbutton.c:113
msgid "Active"
msgstr "Aktív"
@@ -1311,177 +1336,181 @@ msgstr "Aktív"
msgid "Whether the spinner is active (ie. shown) in the cell"
msgstr "A forgó aktív-e (azaz látható) a cellában?"
-#: gtk/gtkcellrendererspinner.c:139
+#: gtk/gtkcellrendererspinner.c:137
msgid "Pulse of the spinner"
msgstr "A forgó mérete"
-#: gtk/gtkcellrendererspinner.c:154
+#: gtk/gtkcellrendererspinner.c:149 gtk/gtkrecentmanager.c:295
+msgid "Size"
+msgstr "Méret"
+
+#: gtk/gtkcellrendererspinner.c:150
msgid "The GtkIconSize value that specifies the size of the rendered spinner"
msgstr "A megjelenített forgó méretét meghatározó GtkIconSize érték"
-#: gtk/gtkcellrenderertext.c:254
+#: gtk/gtkcellrenderertext.c:255
msgid "Text to render"
msgstr "Megjelenítendő szöveg"
-#: gtk/gtkcellrenderertext.c:260
+#: gtk/gtkcellrenderertext.c:261
msgid "Markup"
msgstr "Jelölőkód"
-#: gtk/gtkcellrenderertext.c:261
+#: gtk/gtkcellrenderertext.c:262
msgid "Marked up text to render"
msgstr "Megjelenítendő formázott szöveg"
-#: gtk/gtkcellrenderertext.c:267 gtk/gtkentry.c:1354 gtk/gtklabel.c:762
+#: gtk/gtkcellrenderertext.c:268 gtk/gtkentry.c:1353 gtk/gtklabel.c:763
msgid "Attributes"
msgstr "Attribútumok"
-#: gtk/gtkcellrenderertext.c:268
+#: gtk/gtkcellrenderertext.c:269
msgid "A list of style attributes to apply to the text of the renderer"
msgstr "A megjelenítő szövegére alkalmazandó stílusattribútumok listája"
-#: gtk/gtkcellrenderertext.c:274
+#: gtk/gtkcellrenderertext.c:275
msgid "Single Paragraph Mode"
msgstr "Egybekezdéses mód"
-#: gtk/gtkcellrenderertext.c:275
+#: gtk/gtkcellrenderertext.c:276
msgid "Whether to keep all text in a single paragraph"
msgstr "Minden szöveget egy bekezdésben kell-e tartani"
-#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:211
+#: gtk/gtkcellrenderertext.c:282 gtk/gtktexttag.c:204
msgid "Background color name"
msgstr "Háttérszín neve"
-#: gtk/gtkcellrenderertext.c:282 gtk/gtktexttag.c:212
+#: gtk/gtkcellrenderertext.c:283 gtk/gtktexttag.c:205
msgid "Background color as a string"
msgstr "Háttérszín karakterláncként"
-#: gtk/gtkcellrenderertext.c:295
+#: gtk/gtkcellrenderertext.c:294
msgid "Background color as RGBA"
msgstr "Háttérszín neve RGBA-ként"
-#: gtk/gtkcellrenderertext.c:296 gtk/gtktexttag.c:227
+#: gtk/gtkcellrenderertext.c:295 gtk/gtktexttag.c:218
msgid "Background color as a GdkRGBA"
msgstr "Háttérszín GdkRGBA-ként"
-#: gtk/gtkcellrenderertext.c:301 gtk/gtktexttag.c:242
+#: gtk/gtkcellrenderertext.c:300 gtk/gtktexttag.c:233
msgid "Foreground color name"
msgstr "Előtérszín neve"
-#: gtk/gtkcellrenderertext.c:302 gtk/gtktexttag.c:243
+#: gtk/gtkcellrenderertext.c:301 gtk/gtktexttag.c:234
msgid "Foreground color as a string"
msgstr "Előtérszín karakterláncként"
-#: gtk/gtkcellrenderertext.c:315
+#: gtk/gtkcellrenderertext.c:312
msgid "Foreground color as RGBA"
msgstr "Előtérszín RGBA-ként"
-#: gtk/gtkcellrenderertext.c:316 gtk/gtktexttag.c:258
+#: gtk/gtkcellrenderertext.c:313 gtk/gtktexttag.c:247
msgid "Foreground color as a GdkRGBA"
msgstr "Előtérszín GdkRGBA-ként"
-#: gtk/gtkcellrenderertext.c:323 gtk/gtkentry.c:789 gtk/gtktexttag.c:274
-#: gtk/gtktextview.c:816
+#: gtk/gtkcellrenderertext.c:320 gtk/gtkentry.c:850 gtk/gtktexttag.c:263
+#: gtk/gtktextview.c:758
msgid "Editable"
msgstr "Szerkeszthető"
-#: gtk/gtkcellrenderertext.c:324 gtk/gtktexttag.c:275 gtk/gtktextview.c:817
+#: gtk/gtkcellrenderertext.c:321 gtk/gtktexttag.c:264 gtk/gtktextview.c:759
msgid "Whether the text can be modified by the user"
msgstr "A szöveg szerkeszthető-e a felhasználó által"
-#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:337
-#: gtk/gtkfontchooser.c:64 gtk/gtktexttag.c:290 gtk/gtktexttag.c:298
+#: gtk/gtkcellrenderertext.c:327 gtk/gtkcellrenderertext.c:334
+#: gtk/gtkfontchooser.c:64 gtk/gtktexttag.c:279 gtk/gtktexttag.c:287
msgid "Font"
msgstr "Betűkészlet"
-#: gtk/gtkcellrenderertext.c:331 gtk/gtkfontchooser.c:65 gtk/gtktexttag.c:291
+#: gtk/gtkcellrenderertext.c:328 gtk/gtkfontchooser.c:65 gtk/gtktexttag.c:280
msgid "Font description as a string, e.g. “Sans Italic 12”"
msgstr "A betűkészlet leírása, karakterláncként, például: „Sans Italic 12”"
-#: gtk/gtkcellrenderertext.c:338 gtk/gtkfontchooser.c:78 gtk/gtktexttag.c:299
+#: gtk/gtkcellrenderertext.c:335 gtk/gtkfontchooser.c:78 gtk/gtktexttag.c:288
msgid "Font description as a PangoFontDescription struct"
msgstr "Betűkészlet leírása PangoFontDescription struktúraként"
-#: gtk/gtkcellrenderertext.c:344 gtk/gtktexttag.c:306
+#: gtk/gtkcellrenderertext.c:341 gtk/gtktexttag.c:295
msgid "Font family"
msgstr "Betűkészlet-család"
-#: gtk/gtkcellrenderertext.c:345 gtk/gtktexttag.c:307
+#: gtk/gtkcellrenderertext.c:342 gtk/gtktexttag.c:296
msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace"
msgstr ""
"A betűkészlet-család megnevezése, például Sans, Helvetica, Times, Monospace"
-#: gtk/gtkcellrenderertext.c:351 gtk/gtkcellrenderertext.c:352
-#: gtk/gtktexttag.c:314
+#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349
+#: gtk/gtktexttag.c:303
msgid "Font style"
msgstr "Betűstílus"
-#: gtk/gtkcellrenderertext.c:359 gtk/gtkcellrenderertext.c:360
-#: gtk/gtktexttag.c:323
+#: gtk/gtkcellrenderertext.c:356 gtk/gtkcellrenderertext.c:357
+#: gtk/gtktexttag.c:312
msgid "Font variant"
msgstr "Betűváltozat"
-#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368
-#: gtk/gtktexttag.c:332
+#: gtk/gtkcellrenderertext.c:364 gtk/gtkcellrenderertext.c:365
+#: gtk/gtktexttag.c:321
msgid "Font weight"
msgstr "Betűvastagság"
-#: gtk/gtkcellrenderertext.c:375 gtk/gtkcellrenderertext.c:376
-#: gtk/gtktexttag.c:343
+#: gtk/gtkcellrenderertext.c:372 gtk/gtkcellrenderertext.c:373
+#: gtk/gtktexttag.c:332
msgid "Font stretch"
msgstr "Betűnyújtás"
-#: gtk/gtkcellrenderertext.c:383 gtk/gtkcellrenderertext.c:384
-#: gtk/gtktexttag.c:352
+#: gtk/gtkcellrenderertext.c:380 gtk/gtkcellrenderertext.c:381
+#: gtk/gtktexttag.c:341
msgid "Font size"
msgstr "Betűméret"
-#: gtk/gtkcellrenderertext.c:391 gtk/gtktexttag.c:372
+#: gtk/gtkcellrenderertext.c:388 gtk/gtktexttag.c:361
msgid "Font points"
msgstr "Betűpontok"
-#: gtk/gtkcellrenderertext.c:392 gtk/gtktexttag.c:373
+#: gtk/gtkcellrenderertext.c:389 gtk/gtktexttag.c:362
msgid "Font size in points"
msgstr "Betűméret pontokban"
-#: gtk/gtkcellrenderertext.c:399 gtk/gtktexttag.c:362
+#: gtk/gtkcellrenderertext.c:396 gtk/gtktexttag.c:351
msgid "Font scale"
msgstr "Betűkészlet méretezése"
-#: gtk/gtkcellrenderertext.c:400
+#: gtk/gtkcellrenderertext.c:397
msgid "Font scaling factor"
msgstr "Betű méretezésének együtthatója"
-#: gtk/gtkcellrenderertext.c:407 gtk/gtktexttag.c:441
+#: gtk/gtkcellrenderertext.c:404 gtk/gtktexttag.c:430
msgid "Rise"
msgstr "Elhelyezés"
-#: gtk/gtkcellrenderertext.c:408
+#: gtk/gtkcellrenderertext.c:405
msgid ""
"Offset of text above the baseline (below the baseline if rise is negative)"
msgstr ""
"Szöveg eltolása az alapvonal fölé (ha az eltolás negatív, az alapvonal alá)"
-#: gtk/gtkcellrenderertext.c:416 gtk/gtktexttag.c:481
+#: gtk/gtkcellrenderertext.c:413 gtk/gtktexttag.c:470
msgid "Strikethrough"
msgstr "Áthúzott"
-#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:482
+#: gtk/gtkcellrenderertext.c:414 gtk/gtktexttag.c:471
msgid "Whether to strike through the text"
msgstr "Áthúzza-e a szöveget"
-#: gtk/gtkcellrenderertext.c:423 gtk/gtktexttag.c:489
+#: gtk/gtkcellrenderertext.c:420 gtk/gtktexttag.c:478
msgid "Underline"
msgstr "Aláhúzott"
-#: gtk/gtkcellrenderertext.c:424 gtk/gtktexttag.c:490
+#: gtk/gtkcellrenderertext.c:421 gtk/gtktexttag.c:479
msgid "Style of underline for this text"
msgstr "Ezen szöveg aláhúzásának stílusa"
-#: gtk/gtkcellrenderertext.c:431 gtk/gtktexttag.c:401
+#: gtk/gtkcellrenderertext.c:428 gtk/gtkfontchooser.c:148 gtk/gtktexttag.c:390
msgid "Language"
msgstr "Nyelv"
-#: gtk/gtkcellrenderertext.c:432
+#: gtk/gtkcellrenderertext.c:429
msgid ""
"The language this text is in, as an ISO code. Pango can use this as a hint "
"when rendering the text. If you don’t understand this parameter, you "
@@ -1491,11 +1520,11 @@ msgstr ""
"szöveg megjelenítéséhez. Ha nem érti, mi ez a paraméter, akkor valószínűleg "
"nincs is rá szükség"
-#: gtk/gtkcellrenderertext.c:450 gtk/gtklabel.c:913 gtk/gtkprogressbar.c:258
+#: gtk/gtkcellrenderertext.c:445 gtk/gtklabel.c:906 gtk/gtkprogressbar.c:252
msgid "Ellipsize"
msgstr "Kihagyások"
-#: gtk/gtkcellrenderertext.c:451
+#: gtk/gtkcellrenderertext.c:446
msgid ""
"The preferred place to ellipsize the string, if the cell renderer does not "
"have enough room to display the entire string"
@@ -1503,28 +1532,28 @@ msgstr ""
"A karakterlánc kihagyásainak preferált helye, ha a cellamegjelenítőnek nincs "
"elég helye a karakterlánc teljes megjelenítésére"
-#: gtk/gtkcellrenderertext.c:469 gtk/gtkfilechooserbutton.c:479
-#: gtk/gtklabel.c:933
+#: gtk/gtkcellrenderertext.c:462 gtk/gtkfilechooserbutton.c:449
+#: gtk/gtklabel.c:924
msgid "Width In Characters"
msgstr "Szélesség karakterekben"
-#: gtk/gtkcellrenderertext.c:470 gtk/gtklabel.c:934
+#: gtk/gtkcellrenderertext.c:463 gtk/gtklabel.c:925
msgid "The desired width of the label, in characters"
msgstr "A címke kívánt szélessége karakterekben megadva"
-#: gtk/gtkcellrenderertext.c:491 gtk/gtklabel.c:971
+#: gtk/gtkcellrenderertext.c:482 gtk/gtklabel.c:958
msgid "Maximum Width In Characters"
msgstr "Maximális szélesség karakterben"
-#: gtk/gtkcellrenderertext.c:492
+#: gtk/gtkcellrenderertext.c:483
msgid "The maximum width of the cell, in characters"
msgstr "A cella maximális szélessége, karakterekben megadva"
-#: gtk/gtkcellrenderertext.c:508 gtk/gtktexttag.c:534
+#: gtk/gtkcellrenderertext.c:497 gtk/gtktexttag.c:519
msgid "Wrap mode"
msgstr "Tördelés módja"
-#: gtk/gtkcellrenderertext.c:509
+#: gtk/gtkcellrenderertext.c:498
msgid ""
"How to break the string into multiple lines, if the cell renderer does not "
"have enough room to display the entire string"
@@ -1532,415 +1561,415 @@ msgstr ""
"A karakterlánc több sorba törésének módja, ha a cellamegjelenítőnek nincs "
"elég helye a karakterlánc teljes megjelenítésére"
-#: gtk/gtkcellrenderertext.c:527 gtk/gtkcombobox.c:674
+#: gtk/gtkcellrenderertext.c:514 gtk/gtkcombobox.c:653
msgid "Wrap width"
msgstr "Tördelés szélessége"
-#: gtk/gtkcellrenderertext.c:528
+#: gtk/gtkcellrenderertext.c:515
msgid "The width at which the text is wrapped"
msgstr "A szélesség, melynél a szöveg el lesz törve"
-#: gtk/gtkcellrenderertext.c:546 gtk/gtktreeviewcolumn.c:343
+#: gtk/gtkcellrenderertext.c:531 gtk/gtktreeviewcolumn.c:352
msgid "Alignment"
msgstr "Igazítás"
-#: gtk/gtkcellrenderertext.c:547
+#: gtk/gtkcellrenderertext.c:532
msgid "How to align the lines"
msgstr "A sorok igazításának módja"
-#: gtk/gtkcellrenderertext.c:562 gtk/gtkentry.c:1002
+#: gtk/gtkcellrenderertext.c:545 gtk/gtkentry.c:1043
msgid "Placeholder text"
msgstr "Helykitöltő szöveg"
-#: gtk/gtkcellrenderertext.c:563
+#: gtk/gtkcellrenderertext.c:546
msgid "Text rendered when an editable cell is empty"
msgstr "Üres szerkeszthető cellákban megjelenített szöveg"
-#: gtk/gtkcellrenderertext.c:572 gtk/gtktexttag.c:670
+#: gtk/gtkcellrenderertext.c:555 gtk/gtktexttag.c:641
msgid "Background set"
msgstr "Háttér beállítása"
-#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:671
+#: gtk/gtkcellrenderertext.c:556 gtk/gtktexttag.c:642
msgid "Whether this tag affects the background color"
msgstr "Azt jelzi, hogy ez a címke befolyásolja-e a háttérszínt"
-#: gtk/gtkcellrenderertext.c:576 gtk/gtktexttag.c:678
+#: gtk/gtkcellrenderertext.c:559 gtk/gtktexttag.c:649
msgid "Foreground set"
msgstr "Előtér beállítása"
-#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:679
+#: gtk/gtkcellrenderertext.c:560 gtk/gtktexttag.c:650
msgid "Whether this tag affects the foreground color"
msgstr "Azt jelzi, hogy ez a címke befolyásolja-e az előtérszínt"
-#: gtk/gtkcellrenderertext.c:580 gtk/gtktexttag.c:682
+#: gtk/gtkcellrenderertext.c:563 gtk/gtktexttag.c:653
msgid "Editability set"
msgstr "Szerkeszthetőség beállítása"
-#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:683
+#: gtk/gtkcellrenderertext.c:564 gtk/gtktexttag.c:654
msgid "Whether this tag affects text editability"
msgstr "Azt jelzi, hogy ez a címke befolyásolja-e a szöveg szerkeszthetőségét"
-#: gtk/gtkcellrenderertext.c:584 gtk/gtktexttag.c:686
+#: gtk/gtkcellrenderertext.c:567 gtk/gtktexttag.c:657
msgid "Font family set"
msgstr "Betűcsalád beállítása"
-#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:687
+#: gtk/gtkcellrenderertext.c:568 gtk/gtktexttag.c:658
msgid "Whether this tag affects the font family"
msgstr "Ez az elem befolyásolja-e a betűcsaládot"
-#: gtk/gtkcellrenderertext.c:588 gtk/gtktexttag.c:690
+#: gtk/gtkcellrenderertext.c:571 gtk/gtktexttag.c:661
msgid "Font style set"
msgstr "Betűstílus beállítása"
-#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:691
+#: gtk/gtkcellrenderertext.c:572 gtk/gtktexttag.c:662
msgid "Whether this tag affects the font style"
msgstr "Ez az elem befolyásolja-e a betű stílusát"
-#: gtk/gtkcellrenderertext.c:592 gtk/gtktexttag.c:694
+#: gtk/gtkcellrenderertext.c:575 gtk/gtktexttag.c:665
msgid "Font variant set"
msgstr "Betűváltozat beállítása"
-#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:695
+#: gtk/gtkcellrenderertext.c:576 gtk/gtktexttag.c:666
msgid "Whether this tag affects the font variant"
msgstr "Ez az elem befolyásolja-e a betű változatát"
-#: gtk/gtkcellrenderertext.c:596 gtk/gtktexttag.c:698
+#: gtk/gtkcellrenderertext.c:579 gtk/gtktexttag.c:669
msgid "Font weight set"
msgstr "Betű vastagságának beállítása"
-#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:699
+#: gtk/gtkcellrenderertext.c:580 gtk/gtktexttag.c:670
msgid "Whether this tag affects the font weight"
msgstr "Ez az elem befolyásolja-e a betű vastagságát"
-#: gtk/gtkcellrenderertext.c:600 gtk/gtktexttag.c:702
+#: gtk/gtkcellrenderertext.c:583 gtk/gtktexttag.c:673
msgid "Font stretch set"
msgstr "Betűszélesség beállítása"
-#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:703
+#: gtk/gtkcellrenderertext.c:584 gtk/gtktexttag.c:674
msgid "Whether this tag affects the font stretch"
msgstr "Ez az elem befolyásolja-e a betű szélességét"
-#: gtk/gtkcellrenderertext.c:604 gtk/gtktexttag.c:706
+#: gtk/gtkcellrenderertext.c:587 gtk/gtktexttag.c:677
msgid "Font size set"
msgstr "Betűméret beállítása"
-#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:707
+#: gtk/gtkcellrenderertext.c:588 gtk/gtktexttag.c:678
msgid "Whether this tag affects the font size"
msgstr "Ez az elem befolyásolja-e a betű méretét"
-#: gtk/gtkcellrenderertext.c:608 gtk/gtktexttag.c:710
+#: gtk/gtkcellrenderertext.c:591 gtk/gtktexttag.c:681
msgid "Font scale set"
msgstr "Betű méretezése"
-#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:711
+#: gtk/gtkcellrenderertext.c:592 gtk/gtktexttag.c:682
msgid "Whether this tag scales the font size by a factor"
msgstr "Ez az elem átméretezi-e a betűt az adott együtthatóval"
-#: gtk/gtkcellrenderertext.c:612 gtk/gtktexttag.c:730
+#: gtk/gtkcellrenderertext.c:595 gtk/gtktexttag.c:701
msgid "Rise set"
msgstr "Elhelyezés beállítása"
-#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:731
+#: gtk/gtkcellrenderertext.c:596 gtk/gtktexttag.c:702
msgid "Whether this tag affects the rise"
msgstr "Ez az elem befolyásolja-e a betű elhelyezését"
-#: gtk/gtkcellrenderertext.c:616 gtk/gtktexttag.c:746
+#: gtk/gtkcellrenderertext.c:599 gtk/gtktexttag.c:717
msgid "Strikethrough set"
msgstr "Áthúzás beállítása"
-#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:747
+#: gtk/gtkcellrenderertext.c:600 gtk/gtktexttag.c:718
msgid "Whether this tag affects strikethrough"
msgstr "Ez az elem befolyásolja-e a betű áthúzását"
-#: gtk/gtkcellrenderertext.c:620 gtk/gtktexttag.c:754
+#: gtk/gtkcellrenderertext.c:603 gtk/gtktexttag.c:725
msgid "Underline set"
msgstr "Aláhúzás beállítása"
-#: gtk/gtkcellrenderertext.c:621 gtk/gtktexttag.c:755
+#: gtk/gtkcellrenderertext.c:604 gtk/gtktexttag.c:726
msgid "Whether this tag affects underlining"
msgstr "Ez az elem befolyásolja-e az aláhúzást"
-#: gtk/gtkcellrenderertext.c:624 gtk/gtktexttag.c:718
+#: gtk/gtkcellrenderertext.c:607 gtk/gtktexttag.c:689
msgid "Language set"
msgstr "Nyelv beállítása"
-#: gtk/gtkcellrenderertext.c:625 gtk/gtktexttag.c:719
+#: gtk/gtkcellrenderertext.c:608 gtk/gtktexttag.c:690
msgid "Whether this tag affects the language the text is rendered as"
msgstr ""
"Azt jelzi, hogy ez a címke befolyásolja-e a nyelvet, amelyen a szöveg "
"megjelenítésre kerül"
-#: gtk/gtkcellrenderertext.c:628
+#: gtk/gtkcellrenderertext.c:611
msgid "Ellipsize set"
msgstr "Kihagyások beállítása"
-#: gtk/gtkcellrenderertext.c:629
+#: gtk/gtkcellrenderertext.c:612
msgid "Whether this tag affects the ellipsize mode"
msgstr "Azt jelzi, hogy ez a címke befolyásolja-e a kihagyási módot"
-#: gtk/gtkcellrenderertext.c:632
+#: gtk/gtkcellrenderertext.c:615
msgid "Align set"
msgstr "Igazítás beállítása"
-#: gtk/gtkcellrenderertext.c:633
+#: gtk/gtkcellrenderertext.c:616
msgid "Whether this tag affects the alignment mode"
msgstr "Jelzi, hogy ez a címke befolyásolja-e az igazítási módot"
-#: gtk/gtkcellrenderertoggle.c:135
+#: gtk/gtkcellrenderertoggle.c:139
msgid "Toggle state"
msgstr "Átkapcsolási állapot"
-#: gtk/gtkcellrenderertoggle.c:136
+#: gtk/gtkcellrenderertoggle.c:140
msgid "The toggle state of the button"
msgstr "A gomb átkapcsolási állapota"
-#: gtk/gtkcellrenderertoggle.c:143
+#: gtk/gtkcellrenderertoggle.c:147
msgid "Inconsistent state"
msgstr "Inkonzisztens állapot"
-#: gtk/gtkcellrenderertoggle.c:144
+#: gtk/gtkcellrenderertoggle.c:148
msgid "The inconsistent state of the button"
msgstr "A gomb inkonzisztens állapota"
-#: gtk/gtkcellrenderertoggle.c:151 gtk/gtklistbox.c:3442
+#: gtk/gtkcellrenderertoggle.c:155 gtk/gtklistbox.c:3413
msgid "Activatable"
msgstr "Aktiválható"
-#: gtk/gtkcellrenderertoggle.c:152
+#: gtk/gtkcellrenderertoggle.c:156
msgid "The toggle button can be activated"
msgstr "Az átkapcsológomb aktiválható"
-#: gtk/gtkcellrenderertoggle.c:159
+#: gtk/gtkcellrenderertoggle.c:163
msgid "Radio state"
msgstr "Választógomb állapot"
-#: gtk/gtkcellrenderertoggle.c:160
+#: gtk/gtkcellrenderertoggle.c:164
msgid "Draw the toggle button as a radio button"
msgstr "Az átkapcsológomb választógombként megjelenítése"
-#: gtk/gtkcellview.c:184
+#: gtk/gtkcellview.c:182
msgid "CellView model"
msgstr "CellView modell"
-#: gtk/gtkcellview.c:185
+#: gtk/gtkcellview.c:183
msgid "The model for cell view"
msgstr "A cellanézet modellje"
-#: gtk/gtkcellview.c:203 gtk/gtkentrycompletion.c:468 gtk/gtkiconview.c:635
-#: gtk/gtktreemenu.c:293 gtk/gtktreeviewcolumn.c:398
+#: gtk/gtkcellview.c:201 gtk/gtkentrycompletion.c:436 gtk/gtkiconview.c:604
+#: gtk/gtktreemenu.c:280 gtk/gtktreeviewcolumn.c:403
msgid "Cell Area"
msgstr "Cellaterület"
-#: gtk/gtkcellview.c:204 gtk/gtkentrycompletion.c:469 gtk/gtkiconview.c:636
-#: gtk/gtktreemenu.c:294 gtk/gtktreeviewcolumn.c:399
+#: gtk/gtkcellview.c:202 gtk/gtkentrycompletion.c:437 gtk/gtkiconview.c:605
+#: gtk/gtktreemenu.c:281 gtk/gtktreeviewcolumn.c:404
msgid "The GtkCellArea used to layout cells"
msgstr "A cellák elrendezéséhez használt GtkCellArea"
-#: gtk/gtkcellview.c:227
+#: gtk/gtkcellview.c:225
msgid "Cell Area Context"
msgstr "Cellaterület-környezet"
-#: gtk/gtkcellview.c:228
+#: gtk/gtkcellview.c:226
msgid "The GtkCellAreaContext used to compute the geometry of the cell view"
msgstr "A cellanézet geometriájának kiszámításához használt GtkCellAreaContext"
-#: gtk/gtkcellview.c:245
+#: gtk/gtkcellview.c:243
msgid "Draw Sensitive"
msgstr "Rajzolás érzékenyre"
-#: gtk/gtkcellview.c:246
+#: gtk/gtkcellview.c:244
msgid "Whether to force cells to be drawn in a sensitive state"
msgstr "A cellák érzékeny állapotba rajzolásának kikényszerítése"
-#: gtk/gtkcellview.c:264
+#: gtk/gtkcellview.c:262
msgid "Fit Model"
msgstr "Illesztés modellhez"
-#: gtk/gtkcellview.c:265
+#: gtk/gtkcellview.c:263
msgid "Whether to request enough space for every row in the model"
msgstr "Kell-e elegendő helyet kérni a modell minden sorának"
-#: gtk/gtkcheckbutton.c:313
+#: gtk/gtkcheckbutton.c:318
msgid "Draw Indicator"
msgstr "Jelző rajzolása"
-#: gtk/gtkcheckbutton.c:314
+#: gtk/gtkcheckbutton.c:319
msgid "If the indicator part of the button is displayed"
msgstr "A gomb jelző része ki legyen-e rajzolva"
-#: gtk/gtkcheckbutton.c:320 gtk/gtkcheckmenuitem.c:190
+#: gtk/gtkcheckbutton.c:325 gtk/gtkcheckmenuitem.c:185
msgid "Inconsistent"
msgstr "Inkonzisztens"
-#: gtk/gtkcheckbutton.c:321
+#: gtk/gtkcheckbutton.c:326
msgid "If the check button is in an “in between” state"
msgstr "Az átkapcsoló gomb „köztes” állapotban legyen-e"
-#: gtk/gtkcheckmenuitem.c:183
+#: gtk/gtkcheckmenuitem.c:178
msgid "Whether the menu item is checked"
msgstr "Azt jelzi, hogy a menüelem meg van-e jelölve"
-#: gtk/gtkcheckmenuitem.c:191
+#: gtk/gtkcheckmenuitem.c:186
msgid "Whether to display an “inconsistent” state"
msgstr "Kerüljön-e megjelenítésre „inkonzisztens” állapot"
-#: gtk/gtkcheckmenuitem.c:198
+#: gtk/gtkcheckmenuitem.c:193
msgid "Draw as radio menu item"
msgstr "Kirajzolás választómenü-elemként"
-#: gtk/gtkcheckmenuitem.c:199
+#: gtk/gtkcheckmenuitem.c:194
msgid "Whether the menu item looks like a radio menu item"
msgstr "A menüelem hasonlítson-e a választómenü-elemekre"
-#: gtk/gtkcolorbutton.c:211 gtk/gtkcolorchooser.c:87
+#: gtk/gtkcolorbutton.c:203 gtk/gtkcolorchooser.c:81
msgid "Use alpha"
msgstr "Alfa használata"
-#: gtk/gtkcolorbutton.c:212
+#: gtk/gtkcolorbutton.c:204
msgid "Whether to give the color an alpha value"
msgstr "Kapjon-e a szín alfa-értéket"
-#: gtk/gtkcolorbutton.c:226 gtk/gtkfilechooserbutton.c:465
-#: gtk/gtkfontbutton.c:507 gtk/gtkheaderbar.c:1883 gtk/gtkprintjob.c:132
-#: gtk/gtkshortcutsgroup.c:305 gtk/gtkshortcutssection.c:368
-#: gtk/gtkshortcutsshortcut.c:610 gtk/gtkstack.c:390
-#: gtk/gtktreeviewcolumn.c:315
+#: gtk/gtkcolorbutton.c:216 gtk/gtkfilechooserbutton.c:437
+#: gtk/gtkfontbutton.c:528 gtk/gtkheaderbar.c:1850 gtk/gtkprintjob.c:132
+#: gtk/gtkshortcutsgroup.c:306 gtk/gtkshortcutssection.c:365
+#: gtk/gtkshortcutsshortcut.c:610 gtk/gtkstack.c:385
+#: gtk/gtktreeviewcolumn.c:324
msgid "Title"
msgstr "Cím"
-#: gtk/gtkcolorbutton.c:227
+#: gtk/gtkcolorbutton.c:217
msgid "The title of the color selection dialog"
msgstr "A színválasztó ablak címkéje"
-#: gtk/gtkcolorbutton.c:241
+#: gtk/gtkcolorbutton.c:229
msgid "Current RGBA Color"
msgstr "Jelenlegi RGBA szín"
-#: gtk/gtkcolorbutton.c:242
+#: gtk/gtkcolorbutton.c:230
msgid "The selected RGBA color"
msgstr "A kiválasztott RGBA szín"
-#: gtk/gtkcolorbutton.c:283
+#: gtk/gtkcolorbutton.c:267
msgid "Show Editor"
msgstr "Szerkesztő megjelenítése"
-#: gtk/gtkcolorbutton.c:284
+#: gtk/gtkcolorbutton.c:268
msgid "Whether to show the color editor right away"
msgstr "Megjelenjen-e azonnal a színszerkesztő"
-#: gtk/gtkcolorchooser.c:67
+#: gtk/gtkcolorchooser.c:63
msgid "Color"
msgstr "Szín"
-#: gtk/gtkcolorchooser.c:68
+#: gtk/gtkcolorchooser.c:64
msgid "Current color, as a GdkRGBA"
msgstr "Aktuális szín GdkRGBA-ként"
-#: gtk/gtkcolorchooser.c:88
+#: gtk/gtkcolorchooser.c:82
msgid "Whether alpha should be shown"
msgstr "Az alfa megjelenjen-e"
-#: gtk/gtkcolorchooserdialog.c:206 gtk/gtkcolorchooserwidget.c:697
+#: gtk/gtkcolorchooserdialog.c:204 gtk/gtkcolorchooserwidget.c:693
msgid "Show editor"
msgstr "Szerkesztő megjelenítése"
-#: gtk/gtkcolorscale.c:255
+#: gtk/gtkcolorscale.c:257
msgid "Scale type"
msgstr "Méretező típusa"
-#: gtk/gtkcolorswatch.c:574
+#: gtk/gtkcolorswatch.c:553
msgid "RGBA Color"
msgstr "RGBA szín"
-#: gtk/gtkcolorswatch.c:574
+#: gtk/gtkcolorswatch.c:553
msgid "Color as RGBA"
msgstr "Szín RGBA-ként"
-#: gtk/gtkcolorswatch.c:577 gtk/gtklabel.c:858 gtk/gtklistbox.c:3456
+#: gtk/gtkcolorswatch.c:556 gtk/gtklabel.c:853 gtk/gtklistbox.c:3425
msgid "Selectable"
msgstr "Kijelölhető"
-#: gtk/gtkcolorswatch.c:577
+#: gtk/gtkcolorswatch.c:556
msgid "Whether the swatch is selectable"
msgstr "A mintagyűjtemény kijelölhető-e"
-#: gtk/gtkcolorswatch.c:580
+#: gtk/gtkcolorswatch.c:559
msgid "Has Menu"
msgstr "Van menüje"
-#: gtk/gtkcolorswatch.c:580
+#: gtk/gtkcolorswatch.c:559
msgid "Whether the swatch should offer customization"
msgstr "A mintagyűjtemény ajánljon-e fel személyre szabást"
-#: gtk/gtkcombobox.c:657
+#: gtk/gtkcombobox.c:639
msgid "ComboBox model"
msgstr "ComboBox modell"
-#: gtk/gtkcombobox.c:658
+#: gtk/gtkcombobox.c:640
msgid "The model for the combo box"
msgstr "A kombinált mező modellje"
-#: gtk/gtkcombobox.c:675
+#: gtk/gtkcombobox.c:654
msgid "Wrap width for laying out the items in a grid"
msgstr "Az elemek rácsra rendezésekor az áttördelés szélessége"
-#: gtk/gtkcombobox.c:697 gtk/gtktreemenu.c:332
+#: gtk/gtkcombobox.c:672 gtk/gtktreemenu.c:312
msgid "Row span column"
msgstr "Sorösszevonás oszlop"
-#: gtk/gtkcombobox.c:698 gtk/gtktreemenu.c:333
+#: gtk/gtkcombobox.c:673 gtk/gtktreemenu.c:313
msgid "TreeModel column containing the row span values"
msgstr "A sorösszevonási értékeket tartalmazó TreeModel oszlop"
-#: gtk/gtkcombobox.c:719 gtk/gtktreemenu.c:353
+#: gtk/gtkcombobox.c:692 gtk/gtktreemenu.c:331
msgid "Column span column"
msgstr "Oszlopösszevonás oszlop"
-#: gtk/gtkcombobox.c:720 gtk/gtktreemenu.c:354
+#: gtk/gtkcombobox.c:693 gtk/gtktreemenu.c:332
msgid "TreeModel column containing the column span values"
msgstr "Az oszlop-összevonási értékeket tartalmazó TreeModel oszlop"
-#: gtk/gtkcombobox.c:741
+#: gtk/gtkcombobox.c:712
msgid "Active item"
msgstr "Aktív elem"
-#: gtk/gtkcombobox.c:742
+#: gtk/gtkcombobox.c:713
msgid "The item which is currently active"
msgstr "A jelenleg aktív elem"
-#: gtk/gtkcombobox.c:759 gtk/gtkentry.c:811
+#: gtk/gtkcombobox.c:728 gtk/gtkentry.c:872
msgid "Has Frame"
msgstr "Van kerete"
-#: gtk/gtkcombobox.c:760
+#: gtk/gtkcombobox.c:729
msgid "Whether the combo box draws a frame around the child"
msgstr "A kombinált mező rajzol-e keretet a gyermek körül"
-#: gtk/gtkcombobox.c:776
+#: gtk/gtkcombobox.c:743
msgid "Popup shown"
msgstr "Felbukkanók megjelenítése"
-#: gtk/gtkcombobox.c:777
+#: gtk/gtkcombobox.c:744
msgid "Whether the combo’s dropdown is shown"
msgstr "A legördülő lista legördítője megjelenjen-e"
-#: gtk/gtkcombobox.c:793
+#: gtk/gtkcombobox.c:758
msgid "Button Sensitivity"
msgstr "Gomb érzékenysége"
-#: gtk/gtkcombobox.c:794
+#: gtk/gtkcombobox.c:759
msgid "Whether the dropdown button is sensitive when the model is empty"
msgstr "A legördülő gomb érzékeny-e ha a modell üres"
-#: gtk/gtkcombobox.c:810
+#: gtk/gtkcombobox.c:773
msgid "Whether combo box has an entry"
msgstr "A legördülő listához tartozik-e beviteli mező"
-#: gtk/gtkcombobox.c:825
+#: gtk/gtkcombobox.c:786
msgid "Entry Text Column"
msgstr "Beviteli szövegoszlop"
-#: gtk/gtkcombobox.c:826
+#: gtk/gtkcombobox.c:787
msgid ""
"The column in the combo box’s model to associate with strings from the entry "
"if the combo was created with #GtkComboBox:has-entry = %TRUE"
@@ -1949,11 +1978,11 @@ msgstr ""
"társítandó oszlopa, ha a legördülő lista a #GtkComboBox:has-entry = %TRUE "
"használatával jött létre"
-#: gtk/gtkcombobox.c:843
+#: gtk/gtkcombobox.c:802
msgid "ID Column"
msgstr "Azonosítóoszlop"
-#: gtk/gtkcombobox.c:844
+#: gtk/gtkcombobox.c:803
msgid ""
"The column in the combo box’s model that provides string IDs for the values "
"in the model"
@@ -1961,19 +1990,19 @@ msgstr ""
"A legördülő lista modelljének oszlopa, amely szöveges azonosítókat biztosít "
"a modell értékeihez"
-#: gtk/gtkcombobox.c:859
+#: gtk/gtkcombobox.c:816
msgid "Active id"
msgstr "Aktív azonosító"
-#: gtk/gtkcombobox.c:860
+#: gtk/gtkcombobox.c:817
msgid "The value of the id column for the active row"
msgstr "Az azonosító oszlop értéke az aktív sorhoz"
-#: gtk/gtkcombobox.c:876
+#: gtk/gtkcombobox.c:831
msgid "Popup Fixed Width"
msgstr "Rögzített szélességű felugró"
-#: gtk/gtkcombobox.c:877
+#: gtk/gtkcombobox.c:832
msgid ""
"Whether the popup’s width should be a fixed width matching the allocated "
"width of the combo box"
@@ -1981,169 +2010,160 @@ msgstr ""
"A felugró szélessége rögzített legyen-e, a legördülő lista lefoglalt "
"szélességének megfelelően"
-#: gtk/gtkcssnode.c:624
+#: gtk/gtkcssnode.c:629
msgid "Style Classes"
msgstr "Stílusosztályok"
-#: gtk/gtkcssnode.c:624
+#: gtk/gtkcssnode.c:629
msgid "List of classes"
msgstr "Osztályok listája"
-#: gtk/gtkcssnode.c:629 gtk/gtkcssstyleproperty.c:203
+#: gtk/gtkcssnode.c:634 gtk/gtkcssstyleproperty.c:202
msgid "ID"
msgstr "Azonosító"
-#: gtk/gtkcssnode.c:629
+#: gtk/gtkcssnode.c:634
msgid "Unique ID"
msgstr "Egyedi azonosító"
-#: gtk/gtkcssnode.c:634 gtk/gtkprinter.c:121 gtk/gtkstack.c:383
-#: gtk/gtktextmark.c:136
-msgid "Name"
-msgstr "Név"
-
-#: gtk/gtkcssnode.c:639 gtk/gtkswitch.c:546
-msgid "State"
-msgstr "Állapot"
-
-#: gtk/gtkcssnode.c:639
+#: gtk/gtkcssnode.c:644
msgid "State flags"
msgstr "Állapotjelzők"
-#: gtk/gtkcssnode.c:645 gtk/gtknativedialog.c:242 gtk/gtktreeviewcolumn.c:245
-#: gtk/gtkwidget.c:1112
+#: gtk/gtkcssnode.c:650 gtk/gtknativedialog.c:236 gtk/gtktreeviewcolumn.c:254
+#: gtk/gtkwidget.c:971
msgid "Visible"
msgstr "Látható"
-#: gtk/gtkcssnode.c:645
+#: gtk/gtkcssnode.c:650
msgid "If other nodes can see this node"
msgstr "Láthatják-e más csomópontok ezt a csomópontot"
-#: gtk/gtkcssnode.c:650
+#: gtk/gtkcssnode.c:655
msgid "Widget type"
msgstr "Felületi elem típusa"
-#: gtk/gtkcssnode.c:650
+#: gtk/gtkcssnode.c:655
msgid "GType of the widget"
msgstr "A felületi elem GType típusa"
-#: gtk/gtkcssshorthandproperty.c:159
+#: gtk/gtkcssshorthandproperty.c:158
msgid "Subproperties"
msgstr "Altulajdonságok"
-#: gtk/gtkcssshorthandproperty.c:160
+#: gtk/gtkcssshorthandproperty.c:159
msgid "The list of subproperties"
msgstr "Az altulajdonságok listája"
-#: gtk/gtkcssstyleproperty.c:188
+#: gtk/gtkcssstyleproperty.c:187
msgid "Animated"
msgstr "Animált"
-#: gtk/gtkcssstyleproperty.c:189
+#: gtk/gtkcssstyleproperty.c:188
msgid "Set if the value can be animated"
msgstr "Állítsa be, ha az érték animálható"
-#: gtk/gtkcssstyleproperty.c:195
+#: gtk/gtkcssstyleproperty.c:194
msgid "Affects"
msgstr "Befolyásolja"
-#: gtk/gtkcssstyleproperty.c:196
+#: gtk/gtkcssstyleproperty.c:195
msgid "Set if the value affects the sizing of elements"
msgstr "Állítsa be, ha az érték befolyásolja az elemek méretezését"
-#: gtk/gtkcssstyleproperty.c:204
+#: gtk/gtkcssstyleproperty.c:203
msgid "The numeric id for quick access"
msgstr "Numerikus azonosító gyors eléréshez"
-#: gtk/gtkcssstyleproperty.c:210
+#: gtk/gtkcssstyleproperty.c:209
msgid "Inherit"
msgstr "Öröklött"
-#: gtk/gtkcssstyleproperty.c:211
+#: gtk/gtkcssstyleproperty.c:210
msgid "Set if the value is inherited by default"
msgstr "Állítsa be, ha az érték alapértelmezésben öröklött"
-#: gtk/gtkcssstyleproperty.c:217
+#: gtk/gtkcssstyleproperty.c:216
msgid "Initial value"
msgstr "Kiindulási érték"
-#: gtk/gtkcssstyleproperty.c:218
+#: gtk/gtkcssstyleproperty.c:217
msgid "The initial specified value used for this property"
msgstr "A tulajdonság kiindulásiként megadott értéke"
-#: gtk/gtkdrawingarea.c:277
+#: gtk/gtkdrawingarea.c:274
msgid "Content Width"
msgstr "Tartalomszélesség"
-#: gtk/gtkdrawingarea.c:278
+#: gtk/gtkdrawingarea.c:275
msgid "Desired width for displayed content"
msgstr "A megjelenített tartalom kívánt szélessége"
-#: gtk/gtkdrawingarea.c:291
+#: gtk/gtkdrawingarea.c:286
msgid "Content Height"
msgstr "Tartalommagasság"
-#: gtk/gtkdrawingarea.c:292
+#: gtk/gtkdrawingarea.c:287
msgid "Desired height for displayed content"
msgstr "A megjelenített tartalom kívánt magassága"
-#: gtk/gtkentrybuffer.c:351
+#: gtk/gtkentrybuffer.c:352
msgid "The contents of the buffer"
msgstr "A puffer tartalma"
-#: gtk/gtkentrybuffer.c:364 gtk/gtkentry.c:923
+#: gtk/gtkentrybuffer.c:363 gtk/gtkentry.c:974
msgid "Text length"
msgstr "Szöveg hossza"
-#: gtk/gtkentrybuffer.c:365
+#: gtk/gtkentrybuffer.c:364
msgid "Length of the text currently in the buffer"
msgstr "A pufferben lévő szöveg hossza"
-#: gtk/gtkentrybuffer.c:378 gtk/gtkentry.c:796
+#: gtk/gtkentrybuffer.c:375 gtk/gtkentry.c:857
msgid "Maximum length"
msgstr "Maximális hossz"
-#: gtk/gtkentrybuffer.c:379 gtk/gtkentry.c:797
+#: gtk/gtkentrybuffer.c:376 gtk/gtkentry.c:858
msgid "Maximum number of characters for this entry. Zero if no maximum"
msgstr ""
"A bejegyzésben felhasználható karakterek maximális száma. Ha nulla, akkor "
"nincs maximum "
-#: gtk/gtkentry.c:766
+#: gtk/gtkentry.c:827
msgid "Text Buffer"
msgstr "Szöveges puffer"
-#: gtk/gtkentry.c:767
+#: gtk/gtkentry.c:828
msgid "Text buffer object which actually stores entry text"
msgstr "A beviteli mező szövegét ténylegesen tároló szöveges puffer"
-#: gtk/gtkentry.c:773 gtk/gtklabel.c:880
+#: gtk/gtkentry.c:834 gtk/gtklabel.c:875
msgid "Cursor Position"
msgstr "Kurzorpozíció"
-#: gtk/gtkentry.c:774 gtk/gtklabel.c:881
+#: gtk/gtkentry.c:835 gtk/gtklabel.c:876
msgid "The current position of the insertion cursor in chars"
msgstr "A beszúrási kurzor aktuális helye karakterekben megadva"
-#: gtk/gtkentry.c:781 gtk/gtklabel.c:888
+#: gtk/gtkentry.c:842 gtk/gtklabel.c:883
msgid "Selection Bound"
msgstr "Kijelölés mérete"
-#: gtk/gtkentry.c:782 gtk/gtklabel.c:889
+#: gtk/gtkentry.c:843 gtk/gtklabel.c:884
msgid ""
"The position of the opposite end of the selection from the cursor in chars"
msgstr ""
"A kurzortól a kijelölés túlsó végének a távolsága karakterekben megadva"
-#: gtk/gtkentry.c:790
+#: gtk/gtkentry.c:851
msgid "Whether the entry contents can be edited"
msgstr "Szerkeszthető-e a bejegyzés tartalma"
-#: gtk/gtkentry.c:804
+#: gtk/gtkentry.c:865
msgid "Visibility"
msgstr "Láthatóság"
-#: gtk/gtkentry.c:805
+#: gtk/gtkentry.c:866
msgid ""
"FALSE displays the “invisible char” instead of the actual text (password "
"mode)"
@@ -2151,23 +2171,23 @@ msgstr ""
"HAMIS hatására a „Láthatatlan karakter” jelenik meg a tényleges szöveg "
"helyett (jelszó módban)"
-#: gtk/gtkentry.c:812
+#: gtk/gtkentry.c:873
msgid "FALSE removes outside bevel from entry"
msgstr "HAMIS hatására törlésre kerül a bejegyzés külső élkidolgozása"
-#: gtk/gtkentry.c:818
+#: gtk/gtkentry.c:879
msgid "Invisible character"
msgstr "Láthatatlan karakter"
-#: gtk/gtkentry.c:819
+#: gtk/gtkentry.c:880
msgid "The character to use when masking entry contents (in “password mode”)"
msgstr "A bevitel elrejtésére használt karakter („jelszó módban”)"
-#: gtk/gtkentry.c:825
+#: gtk/gtkentry.c:886
msgid "Activates default"
msgstr "Alapértelmezés aktiválása"
-#: gtk/gtkentry.c:826
+#: gtk/gtkentry.c:887
msgid ""
"Whether to activate the default widget (such as the default button in a "
"dialog) when Enter is pressed"
@@ -2175,39 +2195,39 @@ msgstr ""
"Az alapértelmezett felületi elem (például egy párbeszédablak alapértelmezett "
"gombjának) aktiválása az Enter lenyomására"
-#: gtk/gtkentry.c:832 gtk/gtkspinbutton.c:405
+#: gtk/gtkentry.c:893 gtk/gtkspinbutton.c:389
msgid "Width in chars"
msgstr "Szélesség karakterekben"
-#: gtk/gtkentry.c:833 gtk/gtkspinbutton.c:406
+#: gtk/gtkentry.c:894 gtk/gtkspinbutton.c:390
msgid "Number of characters to leave space for in the entry"
msgstr "Hely kihagyása a bejegyzésben ennyi karakternek"
-#: gtk/gtkentry.c:849 gtk/gtkspinbutton.c:414
+#: gtk/gtkentry.c:908 gtk/gtkspinbutton.c:397
msgid "Maximum width in characters"
msgstr "Maximális szélesség karakterekben"
-#: gtk/gtkentry.c:850 gtk/gtkspinbutton.c:415
+#: gtk/gtkentry.c:909 gtk/gtkspinbutton.c:398
msgid "The desired maximum width of the entry, in characters"
msgstr "A bejegyzés megkívánt maximális szélessége, karakterekben megadva"
-#: gtk/gtkentry.c:857
+#: gtk/gtkentry.c:916
msgid "Scroll offset"
msgstr "Görgetési eltolás"
-#: gtk/gtkentry.c:858
+#: gtk/gtkentry.c:917
msgid "Number of pixels of the entry scrolled off the screen to the left"
msgstr "A bejegyzésnek balra, a képernyőről legörgetett képpontjainak száma"
-#: gtk/gtkentry.c:866 gtk/gtkspinbutton.c:424
+#: gtk/gtkentry.c:925 gtk/gtkspinbutton.c:406
msgid "The contents of the entry"
msgstr "A bejegyzés tartalma"
-#: gtk/gtkentry.c:880 gtk/gtklabel.c:801
+#: gtk/gtkentry.c:937 gtk/gtklabel.c:800
msgid "X align"
msgstr "X-igazítás"
-#: gtk/gtkentry.c:881 gtk/gtklabel.c:802
+#: gtk/gtkentry.c:938 gtk/gtklabel.c:801
msgid ""
"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL "
"layouts."
@@ -2215,57 +2235,57 @@ msgstr ""
"A vízszintes igazítás, 0 (bal) és 1 (jobb) közötti számként megadva. RTL "
"elrendezéseknél fordított az érték."
-#: gtk/gtkentry.c:895
+#: gtk/gtkentry.c:950
msgid "Truncate multiline"
msgstr "Több sor csonkítása"
-#: gtk/gtkentry.c:896
+#: gtk/gtkentry.c:951
msgid "Whether to truncate multiline pastes to one line."
msgstr "Több beillesztett sor csonkítva legyen-e az első sorra"
-#: gtk/gtkentry.c:909 gtk/gtktextview.c:956
+#: gtk/gtkentry.c:962 gtk/gtktextview.c:894
msgid "Overwrite mode"
msgstr "Felülírás mód"
-#: gtk/gtkentry.c:910
+#: gtk/gtkentry.c:963
msgid "Whether new text overwrites existing text"
msgstr "A beírt szöveg felülírja-e a meglévő tartalmat"
-#: gtk/gtkentry.c:924
+#: gtk/gtkentry.c:975
msgid "Length of the text currently in the entry"
msgstr "A beviteli mezőben lévő szöveg aktuális hossza"
-#: gtk/gtkentry.c:938
+#: gtk/gtkentry.c:987
msgid "Invisible character set"
msgstr "Láthatatlan karakter beállítva"
-#: gtk/gtkentry.c:939
+#: gtk/gtkentry.c:988
msgid "Whether the invisible character has been set"
msgstr "A láthatatlan karakter tulajdonság be van-e állítva"
-#: gtk/gtkentry.c:956
+#: gtk/gtkentry.c:1003
msgid "Caps Lock warning"
msgstr "Caps Lock figyelmeztetés"
-#: gtk/gtkentry.c:957
+#: gtk/gtkentry.c:1004
msgid "Whether password entries will show a warning when Caps Lock is on"
msgstr ""
"A jelszóbeviteli mezők megjelenítsenek-e figyelmeztetést ha a Caps Lock be "
"van kapcsolva"
-#: gtk/gtkentry.c:970
+#: gtk/gtkentry.c:1015
msgid "Progress Fraction"
msgstr "Előrehaladás törtrésze"
-#: gtk/gtkentry.c:971
+#: gtk/gtkentry.c:1016
msgid "The current fraction of the task that’s been completed"
msgstr "A teljes feladat elkészült része törtként"
-#: gtk/gtkentry.c:986
+#: gtk/gtkentry.c:1029
msgid "Progress Pulse Step"
msgstr "Előrehaladás lépésegysége"
-#: gtk/gtkentry.c:987
+#: gtk/gtkentry.c:1030
msgid ""
"The fraction of total entry width to move the progress bouncing block for "
"each call to gtk_entry_progress_pulse()"
@@ -2273,313 +2293,314 @@ msgstr ""
"A teljes bejegyzésszélesség része törtként, amennyivel a pattogó tégla "
"elmozdul a gtk_entry_progress_pulse() minden hívásakor"
-#: gtk/gtkentry.c:1003
+#: gtk/gtkentry.c:1044
msgid "Show text in the entry when it’s empty and unfocused"
msgstr "Szöveg megjelenítése a bejegyzésben, ha üres és nincs fókuszban"
-#: gtk/gtkentry.c:1016
-msgid "Primary pixbuf"
-msgstr "Elsődleges pixbuf"
+#: gtk/gtkentry.c:1055
+msgid "Primary paintable"
+msgstr "Elsődleges kifesthető"
-#: gtk/gtkentry.c:1017
-msgid "Primary pixbuf for the entry"
-msgstr "A beviteli mező elsődleges pixbufja"
+#: gtk/gtkentry.c:1056
+msgid "Primary paintable for the entry"
+msgstr "A beviteli mező elsődleges kifesthetője"
-#: gtk/gtkentry.c:1030
-msgid "Secondary pixbuf"
-msgstr "Másodlagos pixbuf"
+#: gtk/gtkentry.c:1067
+msgid "Secondary paintable"
+msgstr "Másodlagos kifesthető"
-#: gtk/gtkentry.c:1031
-msgid "Secondary pixbuf for the entry"
-msgstr "A beviteli mező másodlagos pixbufja"
+#: gtk/gtkentry.c:1068
+msgid "Secondary paintable for the entry"
+msgstr "A beviteli mező másodlagos kifesthetője"
-#: gtk/gtkentry.c:1044
+#: gtk/gtkentry.c:1079
msgid "Primary icon name"
msgstr "Elsődleges ikonnév"
-#: gtk/gtkentry.c:1045
+#: gtk/gtkentry.c:1080
msgid "Icon name for primary icon"
msgstr "Az elsődleges ikon neve"
-#: gtk/gtkentry.c:1058
+#: gtk/gtkentry.c:1091
msgid "Secondary icon name"
msgstr "Másodlagos ikonnév"
-#: gtk/gtkentry.c:1059
+#: gtk/gtkentry.c:1092
msgid "Icon name for secondary icon"
msgstr "A másodlagos ikon neve"
-#: gtk/gtkentry.c:1072
+#: gtk/gtkentry.c:1103
msgid "Primary GIcon"
msgstr "Elsődleges GIcon"
-#: gtk/gtkentry.c:1073
+#: gtk/gtkentry.c:1104
msgid "GIcon for primary icon"
msgstr "Az elsődleges ikon GIconja"
-#: gtk/gtkentry.c:1086
+#: gtk/gtkentry.c:1115
msgid "Secondary GIcon"
msgstr "Másodlagos GIcon"
-#: gtk/gtkentry.c:1087
+#: gtk/gtkentry.c:1116
msgid "GIcon for secondary icon"
msgstr "A másodlagos ikon GIconja"
-#: gtk/gtkentry.c:1100
+#: gtk/gtkentry.c:1127
msgid "Primary storage type"
msgstr "Elsődleges tárolótípus"
-#: gtk/gtkentry.c:1101
+#: gtk/gtkentry.c:1128
msgid "The representation being used for primary icon"
msgstr "Az elsődleges ikonhoz használt ábrázolás"
-#: gtk/gtkentry.c:1115
+#: gtk/gtkentry.c:1140
msgid "Secondary storage type"
msgstr "Másodlagos tárolótípus"
-#: gtk/gtkentry.c:1116
+#: gtk/gtkentry.c:1141
msgid "The representation being used for secondary icon"
msgstr "A másodlagos ikonhoz használt ábrázolás"
-#: gtk/gtkentry.c:1136
+#: gtk/gtkentry.c:1159
msgid "Primary icon activatable"
msgstr "Elsődleges ikon aktiválható"
-#: gtk/gtkentry.c:1137
+#: gtk/gtkentry.c:1160
msgid "Whether the primary icon is activatable"
msgstr "Az elsődleges ikon aktiválható-e"
-#: gtk/gtkentry.c:1156
+#: gtk/gtkentry.c:1177
msgid "Secondary icon activatable"
msgstr "Másodlagos ikon aktiválható"
-#: gtk/gtkentry.c:1157
+#: gtk/gtkentry.c:1178
msgid "Whether the secondary icon is activatable"
msgstr "A másodlagos ikon aktiválható-e"
-#: gtk/gtkentry.c:1177
+#: gtk/gtkentry.c:1196
msgid "Primary icon sensitive"
msgstr "Elsődleges ikon érzékeny"
-#: gtk/gtkentry.c:1178
+#: gtk/gtkentry.c:1197
msgid "Whether the primary icon is sensitive"
msgstr "Az elsődleges ikon érzékeny-e"
-#: gtk/gtkentry.c:1198
+#: gtk/gtkentry.c:1215
msgid "Secondary icon sensitive"
msgstr "Másodlagos ikon érzékeny"
-#: gtk/gtkentry.c:1199
+#: gtk/gtkentry.c:1216
msgid "Whether the secondary icon is sensitive"
msgstr "A másodlagos ikon érzékeny-e"
-#: gtk/gtkentry.c:1214
+#: gtk/gtkentry.c:1229
msgid "Primary icon tooltip text"
msgstr "Elsődleges ikon buboréksúgó-szövege"
-#: gtk/gtkentry.c:1215 gtk/gtkentry.c:1248
+#: gtk/gtkentry.c:1230 gtk/gtkentry.c:1259
msgid "The contents of the tooltip on the primary icon"
msgstr "Elsődleges ikon buboréksúgójának tartalma"
-#: gtk/gtkentry.c:1230
+#: gtk/gtkentry.c:1243
msgid "Secondary icon tooltip text"
msgstr "Másodlagos ikon buboréksúgó-szövege"
-#: gtk/gtkentry.c:1231 gtk/gtkentry.c:1265
+#: gtk/gtkentry.c:1244 gtk/gtkentry.c:1274
msgid "The contents of the tooltip on the secondary icon"
msgstr "Másodlagos ikon buboréksúgójának tartalma"
-#: gtk/gtkentry.c:1247
+#: gtk/gtkentry.c:1258
msgid "Primary icon tooltip markup"
msgstr "Elsődleges ikon buboréksúgójának jelölőkódja"
-#: gtk/gtkentry.c:1264
+#: gtk/gtkentry.c:1273
msgid "Secondary icon tooltip markup"
msgstr "Másodlagos ikon buboréksúgójának jelölőkódja"
-#: gtk/gtkentry.c:1283 gtk/gtktextview.c:984
+#: gtk/gtkentry.c:1290 gtk/gtktextview.c:920
msgid "IM module"
msgstr "Beviteli mód modul"
-#: gtk/gtkentry.c:1284 gtk/gtktextview.c:985
+#: gtk/gtkentry.c:1291 gtk/gtktextview.c:921
msgid "Which IM module should be used"
msgstr "A használandó beviteli modul"
-#: gtk/gtkentry.c:1297
+#: gtk/gtkentry.c:1302
msgid "Completion"
msgstr "Kiegészítés"
-#: gtk/gtkentry.c:1298
+#: gtk/gtkentry.c:1303
msgid "The auxiliary completion object"
msgstr "A külső kiegészítési objektum"
-#: gtk/gtkentry.c:1318 gtk/gtkimcontext.c:331 gtk/gtktextview.c:1002
+#: gtk/gtkentry.c:1321 gtk/gtkimcontext.c:331 gtk/gtktextview.c:936
msgid "Purpose"
msgstr "Cél"
-#: gtk/gtkentry.c:1319 gtk/gtkimcontext.c:332 gtk/gtktextview.c:1003
+#: gtk/gtkentry.c:1322 gtk/gtkimcontext.c:332 gtk/gtktextview.c:937
msgid "Purpose of the text field"
msgstr "A szövegmező célja"
-#: gtk/gtkentry.c:1334 gtk/gtkimcontext.c:339 gtk/gtktextview.c:1020
+#: gtk/gtkentry.c:1335 gtk/gtkimcontext.c:339 gtk/gtktextview.c:952
msgid "hints"
msgstr "javaslatok"
-#: gtk/gtkentry.c:1335 gtk/gtkimcontext.c:340 gtk/gtktextview.c:1021
+#: gtk/gtkentry.c:1336 gtk/gtkimcontext.c:340 gtk/gtktextview.c:953
msgid "Hints for the text field behaviour"
msgstr "Javaslatok a szövegmező viselkedéséhez"
-#: gtk/gtkentry.c:1355 gtk/gtklabel.c:763
-msgid "A list of style attributes to apply to the text of the label"
-msgstr "A címke szövegén alkalmazandó stílusattribútumok listája"
+#: gtk/gtkentry.c:1354
+msgid "A list of style attributes to apply to the text of the entry"
+msgstr "A bemeneti mező szövegére alkalmazandó stílusattribútumok listája"
-#: gtk/gtkentry.c:1369 gtk/gtkplacessidebar.c:4619 gtk/gtktextview.c:1037
+#: gtk/gtkentry.c:1366 gtk/gtkplacessidebar.c:4738 gtk/gtktextview.c:967
msgid "Populate all"
msgstr "Összes feltöltése"
-#: gtk/gtkentry.c:1370 gtk/gtktextview.c:1038
+#: gtk/gtkentry.c:1367 gtk/gtktextview.c:968
msgid "Whether to emit ::populate-popup for touch popups"
msgstr "Kiadja-e a ::populate-popup üzenetet a felugró menü érintéséhez"
-#: gtk/gtkentry.c:1383 gtk/gtktexttag.c:544 gtk/gtktextview.c:932
+#: gtk/gtkentry.c:1378 gtk/gtktexttag.c:529 gtk/gtktextview.c:870
msgid "Tabs"
msgstr "Lapok"
-#: gtk/gtkentry.c:1384
+#: gtk/gtkentry.c:1379
msgid "A list of tabstop locations to apply to the text of the entry"
msgstr "A bejegyzés szövegére alkalmazandó tab helyek listája"
-#: gtk/gtkentry.c:1398
+#: gtk/gtkentry.c:1391
msgid "Emoji icon"
msgstr "Emodzsi ikon"
-#: gtk/gtkentry.c:1399
+#: gtk/gtkentry.c:1392
msgid "Whether to show an icon for Emoji"
msgstr "Megjelenjen-e emodzsi ikon"
-#: gtk/gtkentrycompletion.c:349
+#: gtk/gtkentry.c:1398
+msgid "Enable Emoji completion"
+msgstr "Emodzsi kiegészítés engedélyezése"
+
+#: gtk/gtkentry.c:1399
+msgid "Whether to suggest Emoji replacements"
+msgstr "Javasoljon-e emodzsi cseréket"
+
+#: gtk/gtkentrycompletion.c:331
msgid "Completion Model"
msgstr "Kiegészítési modell"
-#: gtk/gtkentrycompletion.c:350
+#: gtk/gtkentrycompletion.c:332
msgid "The model to find matches in"
msgstr "Modell az egyezések kereséséhez"
-#: gtk/gtkentrycompletion.c:356
+#: gtk/gtkentrycompletion.c:338
msgid "Minimum Key Length"
msgstr "Minimális kulcshossz"
-#: gtk/gtkentrycompletion.c:357
+#: gtk/gtkentrycompletion.c:339
msgid "Minimum length of the search key in order to look up matches"
msgstr "A keresési kulcs minimális hossza egyezések kereséséhez"
-#: gtk/gtkentrycompletion.c:371 gtk/gtkiconview.c:431
+#: gtk/gtkentrycompletion.c:351 gtk/gtkiconview.c:422
msgid "Text column"
msgstr "Szövegoszlop"
-#: gtk/gtkentrycompletion.c:372
+#: gtk/gtkentrycompletion.c:352
msgid "The column of the model containing the strings."
msgstr "A karakterláncokat tartalmazó modelloszlop."
-#: gtk/gtkentrycompletion.c:388
+#: gtk/gtkentrycompletion.c:366
msgid "Inline completion"
msgstr "Soron belüli kiegészítés"
-#: gtk/gtkentrycompletion.c:389
+#: gtk/gtkentrycompletion.c:367
msgid "Whether the common prefix should be inserted automatically"
msgstr "Az általános előtag beszúrásra kerüljön-e automatikusan"
-#: gtk/gtkentrycompletion.c:403
+#: gtk/gtkentrycompletion.c:379
msgid "Popup completion"
msgstr "Kiegészítések legördülő menüként"
-#: gtk/gtkentrycompletion.c:404
+#: gtk/gtkentrycompletion.c:380
msgid "Whether the completions should be shown in a popup window"
msgstr "A kiegészítések legördülő menüként jelenjenek-e meg"
-#: gtk/gtkentrycompletion.c:418
+#: gtk/gtkentrycompletion.c:392
msgid "Popup set width"
msgstr "Felbukkanó halmaz szélessége"
-#: gtk/gtkentrycompletion.c:419
+#: gtk/gtkentrycompletion.c:393
msgid "If TRUE, the popup window will have the same size as the entry"
msgstr ""
"Ha IGAZ, a felbukkanó ablak szélessége azonos lesz a mező szélességével"
-#: gtk/gtkentrycompletion.c:435
+#: gtk/gtkentrycompletion.c:407
msgid "Popup single match"
msgstr "Egyetlen találat felbukkanása"
-#: gtk/gtkentrycompletion.c:436
+#: gtk/gtkentrycompletion.c:408
msgid "If TRUE, the popup window will appear for a single match."
msgstr "Ha IGAZ, a felbukkanó ablak meg fog jelenni az egyetlen találathoz."
-#: gtk/gtkentrycompletion.c:450
+#: gtk/gtkentrycompletion.c:420
msgid "Inline selection"
msgstr "Beágyazott kiválasztás"
-#: gtk/gtkentrycompletion.c:451
+#: gtk/gtkentrycompletion.c:421
msgid "Your description here"
msgstr "Ide jön a leírás"
-#: gtk/gtkeventcontroller.c:169
+#: gtk/gtkeventcontroller.c:145
msgid "Widget the gesture relates to"
msgstr "Felületi elem, amelyhez a mozdulat kapcsolódik"
-#: gtk/gtkeventcontroller.c:181
+#: gtk/gtkeventcontroller.c:155
msgid "Propagation phase"
msgstr "Terjesztési fázis"
-#: gtk/gtkeventcontroller.c:182
+#: gtk/gtkeventcontroller.c:156
msgid "Propagation phase at which this controller is run"
msgstr "Az a terjesztési fázis, amelyben ez a vezérlő fut"
-#: gtk/gtkexpander.c:283
+#: gtk/gtkeventcontrollerscroll.c:369 gtk/gtkeventcontrollerscroll.c:370
+msgid "Flags"
+msgstr "Jelzők"
+
+#: gtk/gtkexpander.c:269
msgid "Expanded"
msgstr "Kiterjesztett"
-#: gtk/gtkexpander.c:284
+#: gtk/gtkexpander.c:270
msgid "Whether the expander has been opened to reveal the child widget"
msgstr ""
"A kiterjesztő meg lett-e nyitva a gyermek felületi elem megjelenítésére"
-#: gtk/gtkexpander.c:292
+#: gtk/gtkexpander.c:278
msgid "Text of the expander’s label"
msgstr "A kiterjesztő címkéjének szövege"
-#: gtk/gtkexpander.c:307 gtk/gtklabel.c:769
+#: gtk/gtkexpander.c:293 gtk/gtklabel.c:770 gtk/gtkmodelbutton.c:990
msgid "Use markup"
msgstr "Jelölés használata"
-#: gtk/gtkexpander.c:308 gtk/gtklabel.c:770
+#: gtk/gtkexpander.c:294 gtk/gtklabel.c:771
msgid "The text of the label includes XML markup. See pango_parse_markup()"
msgstr ""
"A címke szövege tartalmaz-e XML jelölőkódokat. Lásd: pango_parse_markup()"
-#: gtk/gtkexpander.c:315 gtk/gtkframe.c:201 gtk/gtktoolbutton.c:229
-#: gtk/gtktoolitemgroup.c:1562
+#: gtk/gtkexpander.c:301 gtk/gtkframe.c:190 gtk/gtktoolbutton.c:226
msgid "Label widget"
msgstr "Címke felületi elem"
-#: gtk/gtkexpander.c:316
+#: gtk/gtkexpander.c:302
msgid "A widget to display in place of the usual expander label"
msgstr "A szokásos kiterjesztő címke helyén megjelenítendő felületi elem"
-#: gtk/gtkexpander.c:323
-msgid "Label fill"
-msgstr "Címkekitöltés"
-
-#: gtk/gtkexpander.c:324
-msgid "Whether the label widget should fill all available horizontal space"
-msgstr ""
-"A címke felületi elemnek ki kell-e töltenie az összes rendelkezésre álló "
-"területet?"
-
-#: gtk/gtkexpander.c:339
+#: gtk/gtkexpander.c:315
msgid "Resize toplevel"
msgstr "Felsőszintű átméretezése"
-#: gtk/gtkexpander.c:340
+#: gtk/gtkexpander.c:316
msgid ""
"Whether the expander will resize the toplevel window upon expanding and "
"collapsing"
@@ -2587,104 +2608,103 @@ msgstr ""
"A kiterjesztő átméretezi-e a felső szintű ablakot kiterjesztéskor és "
"összecsukáskor"
-#: gtk/gtkfilechooserbutton.c:450
+#: gtk/gtkfilechooserbutton.c:424
msgid "Dialog"
msgstr "Párbeszédablak"
-#: gtk/gtkfilechooserbutton.c:451
+#: gtk/gtkfilechooserbutton.c:425
msgid "The file chooser dialog to use."
msgstr "A használandó fájlválasztó párbeszédablak."
-#: gtk/gtkfilechooserbutton.c:466
+#: gtk/gtkfilechooserbutton.c:438
msgid "The title of the file chooser dialog."
msgstr "A fájlválasztó párbeszédablak címe."
-#: gtk/gtkfilechooserbutton.c:480
+#: gtk/gtkfilechooserbutton.c:450
msgid "The desired width of the button widget, in characters."
msgstr "A gomb felületi elem kívánt szélessége, karakterekben megadva."
-#: gtk/gtkfilechooser.c:375
+#: gtk/gtkfilechooser.c:373
msgid "Action"
msgstr "Művelet"
-#: gtk/gtkfilechooser.c:376
+#: gtk/gtkfilechooser.c:374
msgid "The type of operation that the file selector is performing"
msgstr "A fájlválasztó által végzett művelet típusa"
-#: gtk/gtkfilechooser.c:382 gtk/gtkrecentchooser.c:253
+#: gtk/gtkfilechooser.c:380
msgid "Filter"
msgstr "Szűrő"
-#: gtk/gtkfilechooser.c:383
+#: gtk/gtkfilechooser.c:381
msgid "The current filter for selecting which files are displayed"
msgstr "A megjelenítendő fájlok kiválasztására használt aktuális szűrő"
-#: gtk/gtkfilechooser.c:388 gtk/gtkplacessidebar.c:4592
-#: gtk/gtkplacesview.c:2200
+#: gtk/gtkfilechooser.c:386 gtk/gtkplacessidebar.c:4706
+#: gtk/gtkplacesview.c:2210
msgid "Local Only"
msgstr "Csak helyi"
-#: gtk/gtkfilechooser.c:389
+#: gtk/gtkfilechooser.c:387
msgid "Whether the selected file(s) should be limited to local file: URLs"
msgstr "A kijelölt fájlok csak helyi URL-ek lehetnek-e"
-#: gtk/gtkfilechooser.c:394
+#: gtk/gtkfilechooser.c:392
msgid "Preview widget"
msgstr "Előnézet felületi elem"
-#: gtk/gtkfilechooser.c:395
+#: gtk/gtkfilechooser.c:393
msgid "Application supplied widget for custom previews."
msgstr "Az alkalmazás által biztosított felületi elem egyedi előképekhez."
-#: gtk/gtkfilechooser.c:400
+#: gtk/gtkfilechooser.c:398
msgid "Preview Widget Active"
msgstr "Előkép felületi elem aktív"
-#: gtk/gtkfilechooser.c:401
+#: gtk/gtkfilechooser.c:399
msgid ""
"Whether the application supplied widget for custom previews should be shown."
msgstr ""
"Az alkalmazás által az egyedi előképekhez biztosított felületi elem "
"megjelenítésre kerüljön-e."
-#: gtk/gtkfilechooser.c:406
+#: gtk/gtkfilechooser.c:404
msgid "Use Preview Label"
msgstr "Előnézet címke használata"
-#: gtk/gtkfilechooser.c:407
-msgid "Whether to display a stock label with the name of the previewed file."
-msgstr ""
-"A megjelenített fájl neve mellé megjelenítésre kerüljön-e egy gyári címke."
+#: gtk/gtkfilechooser.c:405
+msgid "Whether to display a label with the name of the previewed file."
+msgstr "A megjelenített fájl neve mellé megjelenítésre kerüljön-e egy címke."
-#: gtk/gtkfilechooser.c:412
+#: gtk/gtkfilechooser.c:410
msgid "Extra widget"
msgstr "Extra felületi elem"
-#: gtk/gtkfilechooser.c:413
+#: gtk/gtkfilechooser.c:411
msgid "Application supplied widget for extra options."
msgstr "Az alkalmazás által biztosított felületi elem extra beállításokhoz."
-#: gtk/gtkfilechooser.c:418 gtk/gtkrecentchooser.c:193
+#: gtk/gtkfilechooser.c:416
msgid "Select Multiple"
msgstr "Többszörös kijelölés"
-#: gtk/gtkfilechooser.c:419
+#: gtk/gtkfilechooser.c:417
msgid "Whether to allow multiple files to be selected"
msgstr "Lehet-e egyszerre több fájlt kijelölni"
-#: gtk/gtkfilechooser.c:425
+#: gtk/gtkfilechooser.c:423
msgid "Show Hidden"
msgstr "Rejtett megjelenítése"
-#: gtk/gtkfilechooser.c:426
+#: gtk/gtkfilechooser.c:424
msgid "Whether the hidden files and folders should be displayed"
msgstr "A rejtett fájlok és mappák megjelenítésre kerüljenek-e"
-#: gtk/gtkfilechooser.c:441
+#: gtk/gtkfilechooser.c:437
msgid "Do overwrite confirmation"
msgstr "Felülírási megerősítés kérése"
-#: gtk/gtkfilechooser.c:442
+#: gtk/gtkfilechooser.c:438
msgid ""
"Whether a file chooser in save mode will present an overwrite confirmation "
"dialog if necessary."
@@ -2692,11 +2712,11 @@ msgstr ""
"A fájlválasztó mentési módban megjelenítsen-e felülírás megerősítése "
"párbeszédablakot, ha az szükséges."
-#: gtk/gtkfilechooser.c:458
+#: gtk/gtkfilechooser.c:452
msgid "Allow folder creation"
msgstr "Mappalétrehozás engedélyezése"
-#: gtk/gtkfilechooser.c:459
+#: gtk/gtkfilechooser.c:453
msgid ""
"Whether a file chooser not in open mode will offer the user to create new "
"folders."
@@ -2704,147 +2724,131 @@ msgstr ""
"A nem mentési módban lévő fájlválasztó lehetővé tegye-e új mappák "
"létrehozását?"
-#: gtk/gtkfilechoosernative.c:809
+#: gtk/gtkfilechoosernative.c:788
msgid "Accept label"
msgstr "Elfogadás címkéje"
-#: gtk/gtkfilechoosernative.c:810
+#: gtk/gtkfilechoosernative.c:789
msgid "The label on the accept button"
msgstr "Az elfogadás gomb címkéje"
-#: gtk/gtkfilechoosernative.c:822
+#: gtk/gtkfilechoosernative.c:801
msgid "Cancel label"
msgstr "Mégse címkéje"
-#: gtk/gtkfilechoosernative.c:823
+#: gtk/gtkfilechoosernative.c:802
msgid "The label on the cancel button"
msgstr "A mégse gomb címkéje"
-#: gtk/gtkfilechooserwidget.c:8443 gtk/gtkfilechooserwidget.c:8444
+#: gtk/gtkfilechooserwidget.c:8312 gtk/gtkfilechooserwidget.c:8313
msgid "Search mode"
msgstr "Keresési mód"
-#: gtk/gtkfilechooserwidget.c:8450 gtk/gtkfilechooserwidget.c:8451
-#: gtk/gtkheaderbar.c:1890 gtk/gtkshortcutsshortcut.c:626
+#: gtk/gtkfilechooserwidget.c:8319 gtk/gtkfilechooserwidget.c:8320
+#: gtk/gtkheaderbar.c:1857 gtk/gtkshortcutsshortcut.c:626
msgid "Subtitle"
msgstr "Felirat"
-#: gtk/gtkfixed.c:155 gtk/gtklayout.c:520 gtk/gtktreeviewcolumn.c:259
+#: gtk/gtkfixed.c:162 gtk/gtklayout.c:508 gtk/gtktreeviewcolumn.c:268
msgid "X position"
msgstr "X pozíció"
-#: gtk/gtkfixed.c:156 gtk/gtklayout.c:521
+#: gtk/gtkfixed.c:163 gtk/gtklayout.c:509
msgid "X position of child widget"
msgstr "A gyermek felületi elem X pozíciója"
-#: gtk/gtkfixed.c:163 gtk/gtklayout.c:530
+#: gtk/gtkfixed.c:170 gtk/gtklayout.c:518
msgid "Y position"
msgstr "Y pozíció"
-#: gtk/gtkfixed.c:164 gtk/gtklayout.c:531
+#: gtk/gtkfixed.c:171 gtk/gtklayout.c:519
msgid "Y position of child widget"
msgstr "A gyermek felületi elem Y pozíciója"
-#: gtk/gtkflowbox.c:3469 gtk/gtkiconview.c:394 gtk/gtklistbox.c:407
-#: gtk/gtktreeselection.c:131
+#: gtk/gtkflowbox.c:3431 gtk/gtkiconview.c:389 gtk/gtklistbox.c:428
+#: gtk/gtktreeselection.c:129
msgid "Selection mode"
msgstr "Kijelölési mód"
-#: gtk/gtkflowbox.c:3470 gtk/gtkiconview.c:395 gtk/gtklistbox.c:408
+#: gtk/gtkflowbox.c:3432 gtk/gtkiconview.c:390 gtk/gtklistbox.c:429
msgid "The selection mode"
msgstr "A kijelölés módja"
-#: gtk/gtkflowbox.c:3483 gtk/gtkiconview.c:651 gtk/gtklistbox.c:415
-#: gtk/gtktreeview.c:1195
+#: gtk/gtkflowbox.c:3445 gtk/gtkiconview.c:618 gtk/gtklistbox.c:436
+#: gtk/gtktreeview.c:1164
msgid "Activate on Single Click"
msgstr "Aktiválás egy kattintással"
-#: gtk/gtkflowbox.c:3484 gtk/gtkiconview.c:652 gtk/gtklistbox.c:416
-#: gtk/gtktreeview.c:1196
+#: gtk/gtkflowbox.c:3446 gtk/gtkiconview.c:619 gtk/gtklistbox.c:437
+#: gtk/gtktreeview.c:1165
msgid "Activate row on a single click"
msgstr "A sor aktiválása egy kattintással"
-#: gtk/gtkflowbox.c:3513
+#: gtk/gtkflowbox.c:3452 gtk/gtklistbox.c:443 gtk/gtklistbox.c:444
+msgid "Accept unpaired release"
+msgstr "Páratlan elengedés elfogadása"
+
+#: gtk/gtkflowbox.c:3453
+msgid "Accept an unpaired release event"
+msgstr "Páratlan elengedési esemény elfogadása"
+
+#: gtk/gtkflowbox.c:3482
msgid "Minimum Children Per Line"
msgstr "Gyermekek soronkénti minimális száma"
-#: gtk/gtkflowbox.c:3514
+#: gtk/gtkflowbox.c:3483
msgid ""
"The minimum number of children to allocate consecutively in the given "
"orientation."
msgstr ""
"Az egymás után lefoglalandó gyermekek minimális száma az adott tájolásban."
-#: gtk/gtkflowbox.c:3527
+#: gtk/gtkflowbox.c:3496
msgid "Maximum Children Per Line"
msgstr "Gyermekek soronkénti maximális száma"
-#: gtk/gtkflowbox.c:3528
+#: gtk/gtkflowbox.c:3497
msgid ""
"The maximum amount of children to request space for consecutively in the "
"given orientation."
msgstr "Helykérés egymás után maximum ennyi gyermeknek az adott tájolásban."
-#: gtk/gtkflowbox.c:3540
+#: gtk/gtkflowbox.c:3509
msgid "Vertical spacing"
msgstr "Függőleges térköz"
-#: gtk/gtkflowbox.c:3541
+#: gtk/gtkflowbox.c:3510
msgid "The amount of vertical space between two children"
msgstr "A két gyermek közötti függőleges távolság"
-#: gtk/gtkflowbox.c:3552
+#: gtk/gtkflowbox.c:3521
msgid "Horizontal spacing"
msgstr "Vízszintes térköz"
-#: gtk/gtkflowbox.c:3553
+#: gtk/gtkflowbox.c:3522
msgid "The amount of horizontal space between two children"
msgstr "A két gyermek közötti vízszintes távolság"
-#: gtk/gtkfontbutton.c:508
+#: gtk/gtkfontbutton.c:529
msgid "The title of the font chooser dialog"
msgstr "A betűkészlet-választó párbeszédablak címe"
-#: gtk/gtkfontbutton.c:522
-msgid "Font name"
-msgstr "Betűkészlet neve"
-
-#: gtk/gtkfontbutton.c:523
-msgid "The name of the selected font"
-msgstr "A kiválasztott betűkészlet neve"
-
-#: gtk/gtkfontbutton.c:538
+#: gtk/gtkfontbutton.c:542
msgid "Use font in label"
msgstr "Címke betűkészlete"
-#: gtk/gtkfontbutton.c:539
+#: gtk/gtkfontbutton.c:543
msgid "Whether the label is drawn in the selected font"
msgstr "A címke a kiválasztott betűtípussal legyen-e rajzolva"
-#: gtk/gtkfontbutton.c:554
+#: gtk/gtkfontbutton.c:556
msgid "Use size in label"
msgstr "Méret használata a címkében"
-#: gtk/gtkfontbutton.c:555
+#: gtk/gtkfontbutton.c:557
msgid "Whether the label is drawn with the selected font size"
msgstr "A címke a kiválasztott betűmérettel legyen-e megrajzolva"
-#: gtk/gtkfontbutton.c:571
-msgid "Show style"
-msgstr "Stílus megjelenítése"
-
-#: gtk/gtkfontbutton.c:572
-msgid "Whether the selected font style is shown in the label"
-msgstr "A címkében a kiválasztott betűstílus legyen-e megjelenítve"
-
-#: gtk/gtkfontbutton.c:587
-msgid "Show size"
-msgstr "Méret megjelenítése"
-
-#: gtk/gtkfontbutton.c:588
-msgid "Whether selected font size is shown in the label"
-msgstr "A címkében a kiválasztott betűméret legyen-e megjelenítve"
-
#: gtk/gtkfontchooser.c:77
msgid "Font description"
msgstr "Betűleírás"
@@ -2865,471 +2869,464 @@ msgstr "Szöveg-előnézeti beviteli mező megjelenítése"
msgid "Whether the preview text entry is shown or not"
msgstr "A szöveg-előnézeti beviteli mező látható-e"
-#: gtk/gtkframe.c:171
+#: gtk/gtkfontchooser.c:116
+msgid "Selection level"
+msgstr "Kijelölési szint"
+
+#: gtk/gtkfontchooser.c:117
+msgid "Whether to select family, face or font"
+msgstr "Válasszon-e ki betűcsaládot, betűtípust vagy betűkészletet"
+
+#: gtk/gtkfontchooser.c:133
+msgid "Font features"
+msgstr "Betűjellemzők"
+
+#: gtk/gtkfontchooser.c:134
+msgid "Font features as a string"
+msgstr "Betűjellemzők karakterláncként"
+
+#: gtk/gtkfontchooser.c:149
+msgid "Language for which features have been selected"
+msgstr "Nyelv, amelyhez a jellemzők ki lettek választva"
+
+#: gtk/gtkfontchooserwidget.c:708
+msgid "The tweak action"
+msgstr "A finomhangolási művelet"
+
+#: gtk/gtkfontchooserwidget.c:709
+msgid "The toggle action to switch to the tweak page"
+msgstr "A kapcsoló művelet a finomhangolási oldalra váltáshoz"
+
+#: gtk/gtkframe.c:168
msgid "Text of the frame’s label"
msgstr "A keret címkéjének szövege"
-#: gtk/gtkframe.c:177
+#: gtk/gtkframe.c:174
msgid "Label xalign"
msgstr "Címke vízszintes igazítása"
-#: gtk/gtkframe.c:178
+#: gtk/gtkframe.c:175
msgid "The horizontal alignment of the label"
msgstr "A címke vízszintes igazítása"
-#: gtk/gtkframe.c:185
-msgid "Label yalign"
-msgstr "Címke függőleges igazítása"
-
-#: gtk/gtkframe.c:186
-msgid "The vertical alignment of the label"
-msgstr "A címke függőleges igazítása"
-
-#: gtk/gtkframe.c:193
+#: gtk/gtkframe.c:182
msgid "Frame shadow"
msgstr "Keretárnyék"
-#: gtk/gtkframe.c:194
+#: gtk/gtkframe.c:183
msgid "Appearance of the frame"
msgstr "A keret megjelenése"
-#: gtk/gtkframe.c:202
+#: gtk/gtkframe.c:191
msgid "A widget to display in place of the usual frame label"
msgstr "A szokásos keretcímke helyén megjelenítendő felületi elem"
-#: gtk/gtkgesture.c:798
+#: gtk/gtkgesture.c:793
msgid "Number of points"
msgstr "Pontok száma"
-#: gtk/gtkgesture.c:799
+#: gtk/gtkgesture.c:794
msgid "Number of points needed to trigger the gesture"
msgstr "A mozdulat aktiválásához szükséges pontok száma"
-#: gtk/gtkgesturelongpress.c:282
+#: gtk/gtkgesturelongpress.c:287
msgid "Delay factor"
msgstr "Késleltetési tényező"
-#: gtk/gtkgesturelongpress.c:283
+#: gtk/gtkgesturelongpress.c:288
msgid "Factor by which to modify the default timeout"
msgstr "Együttható, amellyel módosítandó az alapértelmezett időkorlát"
-#: gtk/gtkgesturepan.c:237 gtk/gtkorientable.c:59
+#: gtk/gtkgesturepan.c:235 gtk/gtkorientable.c:57
msgid "Orientation"
msgstr "Elhelyezkedés"
-#: gtk/gtkgesturepan.c:238
+#: gtk/gtkgesturepan.c:236
msgid "Allowed orientations"
msgstr "Engedélyezett tájolások"
-#: gtk/gtkgesturesingle.c:262
+#: gtk/gtkgesturesingle.c:267
msgid "Handle only touch events"
msgstr "Csak érintési események kezelése"
-#: gtk/gtkgesturesingle.c:263
+#: gtk/gtkgesturesingle.c:268
msgid "Whether the gesture handles only touch events"
msgstr "A mozdulat csak érintési eseményeket kezel-e"
-#: gtk/gtkgesturesingle.c:277 gtk/gtkgesturesingle.c:278
+#: gtk/gtkgesturesingle.c:280 gtk/gtkgesturesingle.c:281
msgid "Whether the gesture is exclusive"
msgstr "A mozdulat kizárólagos-e"
-#: gtk/gtkgesturesingle.c:291
+#: gtk/gtkgesturesingle.c:292
msgid "Button number"
msgstr "Gombszám"
-#: gtk/gtkgesturesingle.c:292
+#: gtk/gtkgesturesingle.c:293
msgid "Button number to listen to"
msgstr "Figyelendő gomb száma"
-#: gtk/gtkglarea.c:723
+#: gtk/gtkglarea.c:796
msgid "Context"
msgstr "Környezet"
-#: gtk/gtkglarea.c:724
+#: gtk/gtkglarea.c:797
msgid "The GL context"
msgstr "A GL környezet"
-#: gtk/gtkglarea.c:746
+#: gtk/gtkglarea.c:817
msgid "Auto render"
msgstr "Automatikus megjelenítés"
-#: gtk/gtkglarea.c:747
+#: gtk/gtkglarea.c:818
msgid "Whether the GtkGLArea renders on each redraw"
msgstr "A GtkGLArea jelenjen-e meg minden újrarajzoláskor"
-#: gtk/gtkglarea.c:767
-msgid "Has alpha"
-msgstr "Van alfája"
-
-#: gtk/gtkglarea.c:768
-msgid "Whether the color buffer has an alpha component"
-msgstr "A színpuffernek van-e alfa összetevője"
-
-#: gtk/gtkglarea.c:784
+#: gtk/gtkglarea.c:832
msgid "Has depth buffer"
msgstr "Van mélységpuffere"
-#: gtk/gtkglarea.c:785
+#: gtk/gtkglarea.c:833
msgid "Whether a depth buffer is allocated"
msgstr "Van-e lefoglalva mélységpuffer"
-#: gtk/gtkglarea.c:801
+#: gtk/gtkglarea.c:847
msgid "Has stencil buffer"
msgstr "Van stencilpuffere"
-#: gtk/gtkglarea.c:802
+#: gtk/gtkglarea.c:848
msgid "Whether a stencil buffer is allocated"
msgstr "Van-e lefoglalva stencilpuffer"
-#: gtk/gtkglarea.c:820
+#: gtk/gtkglarea.c:864
msgid "Use OpenGL ES"
msgstr "OpenGL ES használata"
-#: gtk/gtkglarea.c:821
+#: gtk/gtkglarea.c:865
msgid "Whether the context uses OpenGL or OpenGL ES"
msgstr "A kontextus OpenGL-t vagy OpenGL ES-t használ-e"
-#: gtk/gtkgrid.c:1652
+#: gtk/gtkgrid.c:1622
msgid "Row spacing"
msgstr "Sortávolság"
-#: gtk/gtkgrid.c:1653
+#: gtk/gtkgrid.c:1623
msgid "The amount of space between two consecutive rows"
msgstr "Két egymás utáni sor közötti távolság"
-#: gtk/gtkgrid.c:1659
+#: gtk/gtkgrid.c:1629
msgid "Column spacing"
msgstr "Oszloptávolság"
-#: gtk/gtkgrid.c:1660
+#: gtk/gtkgrid.c:1630
msgid "The amount of space between two consecutive columns"
msgstr "Két egymás melletti oszlop közötti távolság"
-#: gtk/gtkgrid.c:1666
+#: gtk/gtkgrid.c:1636
msgid "Row Homogeneous"
msgstr "Sor homogén"
-#: gtk/gtkgrid.c:1667
+#: gtk/gtkgrid.c:1637
msgid "If TRUE, the rows are all the same height"
msgstr "Ha IGAZ, akkor a sorok egyforma magasak"
-#: gtk/gtkgrid.c:1673
+#: gtk/gtkgrid.c:1643
msgid "Column Homogeneous"
msgstr "Oszlop homogén"
-#: gtk/gtkgrid.c:1674
+#: gtk/gtkgrid.c:1644
msgid "If TRUE, the columns are all the same width"
msgstr "Ha IGAZ, akkor az oszlopok egyforma szélesek"
-#: gtk/gtkgrid.c:1680
+#: gtk/gtkgrid.c:1650
msgid "Baseline Row"
msgstr "Alapvonal sora"
-#: gtk/gtkgrid.c:1681
+#: gtk/gtkgrid.c:1651
msgid "The row to align the to the baseline when valign is GTK_ALIGN_BASELINE"
msgstr "Az alapvonalhoz igazítandó sor, ha a valign=GTK_ALIGN_BASELINE"
-#: gtk/gtkgrid.c:1691
+#: gtk/gtkgrid.c:1661
msgid "Left attachment"
msgstr "Bal csatolás"
-#: gtk/gtkgrid.c:1692 gtk/gtkmenu.c:824
+#: gtk/gtkgrid.c:1662 gtk/gtkmenu.c:788
msgid "The column number to attach the left side of the child to"
msgstr "Az oszlop száma, amelyhez a gyermek bal széle csatolásra kerül."
-#: gtk/gtkgrid.c:1698
+#: gtk/gtkgrid.c:1668
msgid "Top attachment"
msgstr "Felső csatolás"
-#: gtk/gtkgrid.c:1699
+#: gtk/gtkgrid.c:1669
msgid "The row number to attach the top side of a child widget to"
msgstr ""
"A sor száma, amelyhez a gyermek felületi elem felső oldala csatolásra kerül"
-#: gtk/gtkgrid.c:1705 gtk/gtklayout.c:546 gtk/gtktreeviewcolumn.c:267
+#: gtk/gtkgrid.c:1675 gtk/gtklayout.c:534 gtk/gtktreeviewcolumn.c:276
msgid "Width"
msgstr "Szélesség"
-#: gtk/gtkgrid.c:1706
+#: gtk/gtkgrid.c:1676
msgid "The number of columns that a child spans"
msgstr "Az oszlopok száma, amelyeket a gyermek átfog"
-#: gtk/gtkgrid.c:1712 gtk/gtklayout.c:555 gtk/gtkshortcutsgroup.c:359
+#: gtk/gtkgrid.c:1682 gtk/gtklayout.c:543 gtk/gtkshortcutsgroup.c:360
msgid "Height"
msgstr "Magasság"
-#: gtk/gtkgrid.c:1713
+#: gtk/gtkgrid.c:1683
msgid "The number of rows that a child spans"
msgstr "A sorok száma, amelyeket a gyermek átfog"
-#: gtk/gtkheaderbar.c:1884
+#: gtk/gtkheaderbar.c:1851
msgid "The title to display"
msgstr "A megjelenítendő cím"
-#: gtk/gtkheaderbar.c:1891
+#: gtk/gtkheaderbar.c:1858
msgid "The subtitle to display"
msgstr "A megjelenítendő felirat"
-#: gtk/gtkheaderbar.c:1897
+#: gtk/gtkheaderbar.c:1864
msgid "Custom Title"
msgstr "Egyéni cím"
-#: gtk/gtkheaderbar.c:1898
+#: gtk/gtkheaderbar.c:1865
msgid "Custom title widget to display"
msgstr "A megjelenítendő egyéni cím felületi elem"
-#: gtk/gtkheaderbar.c:1922
-msgid "Show decorations"
-msgstr "Dekorációk megjelenítése"
+#: gtk/gtkheaderbar.c:1889
+msgid "Show title buttons"
+msgstr "Címgombok megjelenítése"
-#: gtk/gtkheaderbar.c:1923
-msgid "Whether to show window decorations"
-msgstr "Megjelenjenek-e az ablakdekorációk"
+#: gtk/gtkheaderbar.c:1890
+msgid "Whether to show title buttons"
+msgstr "Megjelenjenek-e a címgombok"
-#: gtk/gtkheaderbar.c:1941 gtk/gtksettings.c:918
+#: gtk/gtkheaderbar.c:1906 gtk/gtksettings.c:875
msgid "Decoration Layout"
msgstr "Dekoráció elrendezése"
-#: gtk/gtkheaderbar.c:1942 gtk/gtksettings.c:919
+#: gtk/gtkheaderbar.c:1907 gtk/gtksettings.c:876
msgid "The layout for window decorations"
msgstr "Az ablakdekorációk elrendezése"
-#: gtk/gtkheaderbar.c:1955
+#: gtk/gtkheaderbar.c:1918
msgid "Decoration Layout Set"
msgstr "Dekoráció elrendezése beállítva"
-#: gtk/gtkheaderbar.c:1956
+#: gtk/gtkheaderbar.c:1919
msgid "Whether the decoration-layout property has been set"
msgstr "A Dekoráció elrendezése tulajdonság be van-e állítva"
-#: gtk/gtkheaderbar.c:1970
+#: gtk/gtkheaderbar.c:1931
msgid "Has Subtitle"
msgstr "Van felirata"
-#: gtk/gtkheaderbar.c:1971
+#: gtk/gtkheaderbar.c:1932
msgid "Whether to reserve space for a subtitle"
msgstr "Kell-e helyet foglalni a feliratnak"
-#: gtk/gtkiconview.c:413
+#: gtk/gtkiconview.c:406
msgid "Pixbuf column"
msgstr "Pixbuf oszlop"
-#: gtk/gtkiconview.c:414
+#: gtk/gtkiconview.c:407
msgid "Model column used to retrieve the icon pixbuf from"
msgstr "A modellnek az ikon pixbuf értékének lekérdezéséhez használt oszlopa"
-#: gtk/gtkiconview.c:432
+#: gtk/gtkiconview.c:423
msgid "Model column used to retrieve the text from"
msgstr "A modellnek a szöveg lekérdezéséhez használt oszlopa"
-#: gtk/gtkiconview.c:451
+#: gtk/gtkiconview.c:440
msgid "Markup column"
msgstr "Jelölőkódoszlop"
-#: gtk/gtkiconview.c:452
+#: gtk/gtkiconview.c:441
msgid "Model column used to retrieve the text if using Pango markup"
msgstr ""
"A modellnek a szöveg lekérdezéséhez használt oszlopa Pango jelölőkódok "
"használata esetén"
-#: gtk/gtkiconview.c:459
+#: gtk/gtkiconview.c:448
msgid "Icon View Model"
msgstr "Ikonnézet-modell"
-#: gtk/gtkiconview.c:460
+#: gtk/gtkiconview.c:449
msgid "The model for the icon view"
msgstr "Az ikonnézet modellje"
-#: gtk/gtkiconview.c:476
+#: gtk/gtkiconview.c:463
msgid "Number of columns"
msgstr "Oszlopok száma"
-#: gtk/gtkiconview.c:477
+#: gtk/gtkiconview.c:464
msgid "Number of columns to display"
msgstr "A megjelenítendő oszlopok száma"
-#: gtk/gtkiconview.c:494
+#: gtk/gtkiconview.c:479
msgid "Width for each item"
msgstr "Az egyes elemek szélessége"
-#: gtk/gtkiconview.c:495
+#: gtk/gtkiconview.c:480
msgid "The width used for each item"
msgstr "Az egyes elemekhez használt szélesség"
-#: gtk/gtkiconview.c:511
+#: gtk/gtkiconview.c:494
msgid "Space which is inserted between cells of an item"
msgstr "Az elem cellái közötti távolság"
-#: gtk/gtkiconview.c:526
+#: gtk/gtkiconview.c:507
msgid "Row Spacing"
msgstr "Sorköz"
-#: gtk/gtkiconview.c:527
+#: gtk/gtkiconview.c:508
msgid "Space which is inserted between grid rows"
msgstr "A rács sorai közötti távolság"
-#: gtk/gtkiconview.c:542
+#: gtk/gtkiconview.c:521
msgid "Column Spacing"
msgstr "Oszlopköz"
-#: gtk/gtkiconview.c:543
+#: gtk/gtkiconview.c:522
msgid "Space which is inserted between grid columns"
msgstr "A rács oszlopai közé szúrandó távolság"
-#: gtk/gtkiconview.c:558
+#: gtk/gtkiconview.c:535
msgid "Margin"
msgstr "Margó"
-#: gtk/gtkiconview.c:559
+#: gtk/gtkiconview.c:536
msgid "Space which is inserted at the edges of the icon view"
msgstr "Az ikonnézet szélei közötti távolság"
-#: gtk/gtkiconview.c:574
+#: gtk/gtkiconview.c:549
msgid "Item Orientation"
msgstr "Elem tájolása"
-#: gtk/gtkiconview.c:575
+#: gtk/gtkiconview.c:550
msgid ""
"How the text and icon of each item are positioned relative to each other"
msgstr "A szöveg és az ikon hogyan helyezkednek el egymáshoz képest"
-#: gtk/gtkiconview.c:591 gtk/gtktreeview.c:1049 gtk/gtktreeviewcolumn.c:350
+#: gtk/gtkiconview.c:564 gtk/gtktreeview.c:1030 gtk/gtktreeviewcolumn.c:359
msgid "Reorderable"
msgstr "Átrendezhető"
-#: gtk/gtkiconview.c:592 gtk/gtktreeview.c:1050
+#: gtk/gtkiconview.c:565 gtk/gtktreeview.c:1031
msgid "View is reorderable"
msgstr "A nézet átrendezhető"
-#: gtk/gtkiconview.c:599 gtk/gtktreeview.c:1179
+#: gtk/gtkiconview.c:572 gtk/gtktreeview.c:1150
msgid "Tooltip Column"
msgstr "Eszköztipposzlop"
-#: gtk/gtkiconview.c:600
+#: gtk/gtkiconview.c:573
msgid "The column in the model containing the tooltip texts for the items"
msgstr "Az elemek eszköztippszövegeit tartalmazó modelloszlop."
-#: gtk/gtkiconview.c:617
+#: gtk/gtkiconview.c:588
msgid "Item Padding"
msgstr "Elem térköze"
-#: gtk/gtkiconview.c:618
+#: gtk/gtkiconview.c:589
msgid "Padding around icon view items"
msgstr "Az ikonnézet elemei körüli térköz"
-#: gtk/gtkimage.c:170
-msgid "Pixbuf"
-msgstr "Pixbuf"
-
-#: gtk/gtkimage.c:171
-msgid "A GdkPixbuf to display"
-msgstr "A megjelenítendő GdkPixbuf"
-
-#: gtk/gtkimage.c:177
-msgid "Surface"
-msgstr "Felület"
+#: gtk/gtkimage.c:154 gtk/gtkpicture.c:309
+msgid "Paintable"
+msgstr "Kifesthető"
-#: gtk/gtkimage.c:178
-msgid "A cairo_surface_t to display"
-msgstr "A megjelenítendő cairo_surface_t objektum"
+#: gtk/gtkimage.c:155
+msgid "A GdkPaintable to display"
+msgstr "A megjelenítendő GdkPaintable"
-#: gtk/gtkimage.c:184 gtk/gtkrecentmanager.c:289
+#: gtk/gtkimage.c:161 gtk/gtkrecentmanager.c:282
msgid "Filename"
msgstr "Fájlnév"
-#: gtk/gtkimage.c:185
+#: gtk/gtkimage.c:162
msgid "Filename to load and display"
msgstr "A betöltendő és megjelenítendő fájl neve"
-#: gtk/gtkimage.c:191 gtk/gtkscalebutton.c:206 gtk/gtktoolbar.c:528
-#: gtk/gtktoolpalette.c:915
+#: gtk/gtkimage.c:168
msgid "Icon size"
msgstr "Ikonméret"
-#: gtk/gtkimage.c:192
+#: gtk/gtkimage.c:169
msgid "Symbolic size to use for icon set or named icon"
msgstr "Szimbolikus méret ikonkészlet vagy megnevezett ikon használata esetén"
-#: gtk/gtkimage.c:208
+#: gtk/gtkimage.c:183
msgid "Pixel size"
msgstr "Képpontméret"
-#: gtk/gtkimage.c:209
+#: gtk/gtkimage.c:184
msgid "Pixel size to use for named icon"
msgstr "Megnevezett ikon képpontmérete"
-#: gtk/gtkimage.c:216
-msgid "Animation"
-msgstr "Animáció"
-
-#: gtk/gtkimage.c:217
-msgid "GdkPixbufAnimation to display"
-msgstr "A megjelenítendő GdkPixbuf animáció"
-
-#: gtk/gtkimage.c:261
+#: gtk/gtkimage.c:223
msgid "Resource"
msgstr "Erőforrás"
-#: gtk/gtkimage.c:262
+#: gtk/gtkimage.c:224
msgid "The resource path being displayed"
msgstr "A megjelenítendő erőforrás útvonala"
-#: gtk/gtkimage.c:268
+#: gtk/gtkimage.c:230
msgid "Storage type"
msgstr "Tárolótípus"
-#: gtk/gtkimage.c:269
+#: gtk/gtkimage.c:231
msgid "The representation being used for image data"
msgstr "A képadatokhoz használt ábrázolás"
-#: gtk/gtkimage.c:286
+#: gtk/gtkimage.c:246
msgid "Use Fallback"
msgstr "Tartalék használata"
-#: gtk/gtkimage.c:287
+#: gtk/gtkimage.c:247
msgid "Whether to use icon names fallback"
msgstr "Az ikonnevek tartaléka használandó-e"
-#: gtk/gtkinfobar.c:331 gtk/gtkmessagedialog.c:176
+#: gtk/gtkinfobar.c:332 gtk/gtkmessagedialog.c:175
msgid "Message Type"
msgstr "Üzenettípus"
-#: gtk/gtkinfobar.c:332 gtk/gtkmessagedialog.c:177
+#: gtk/gtkinfobar.c:333 gtk/gtkmessagedialog.c:176
msgid "The type of message"
msgstr "Az üzenet típusa"
-#: gtk/gtkinfobar.c:346 gtk/gtksearchbar.c:397
+#: gtk/gtkinfobar.c:345 gtk/gtksearchbar.c:441
msgid "Show Close Button"
msgstr "Bezárás gomb megjelenítése"
-#: gtk/gtkinfobar.c:347
+#: gtk/gtkinfobar.c:346
msgid "Whether to include a standard close button"
msgstr "Legyen-e szabványos bezárás gomb"
-#: gtk/gtkinfobar.c:354
-#| msgid "Controls whether the action bar shows its contents or not"
+#: gtk/gtkinfobar.c:353
msgid "Controls whether the info bar shows its contents or not"
msgstr ""
"Azt szabályozza, hogy az információs sáv megjelenítse-e a tartalmát vagy sem"
-#: gtk/gtkinvisible.c:95 gtk/gtkmountoperation.c:180 gtk/gtkstylecontext.c:210
-#: gtk/gtkwindow.c:983
-msgid "Screen"
-msgstr "Képernyő"
+#: gtk/gtkinvisible.c:96
+msgid "The display where this window will be displayed"
+msgstr "A kijelző, amelyen az ablak megjelenik"
-#: gtk/gtkinvisible.c:96 gtk/gtkwindow.c:984
-msgid "The screen where this window will be displayed"
-msgstr "A képernyő, amelyen az ablak megjelenik"
-
-#: gtk/gtklabel.c:756
+#: gtk/gtklabel.c:757
msgid "The text of the label"
msgstr "A címke szövege"
-#: gtk/gtklabel.c:783 gtk/gtktexttag.c:382 gtk/gtktextview.c:833
+#: gtk/gtklabel.c:764
+msgid "A list of style attributes to apply to the text of the label"
+msgstr "A címke szövegén alkalmazandó stílusattribútumok listája"
+
+#: gtk/gtklabel.c:784 gtk/gtktexttag.c:371 gtk/gtktextview.c:775
msgid "Justification"
msgstr "Sorkizárás"
-#: gtk/gtklabel.c:784
+#: gtk/gtklabel.c:785
msgid ""
"The alignment of the lines in the text of the label relative to each other. "
"This does NOT affect the alignment of the label within its allocation. See "
@@ -3338,19 +3335,19 @@ msgstr ""
"A címke szövege sorainak igazítása egymáshoz. Ez NINCS hatással a címke "
"elhelyezkedésére. Azzal kapcsolatban lásd: GtkLabel:xalign"
-#: gtk/gtklabel.c:819
+#: gtk/gtklabel.c:816
msgid "Y align"
msgstr "Y-igazítás"
-#: gtk/gtklabel.c:820
+#: gtk/gtklabel.c:817
msgid "The vertical alignment, from 0 (top) to 1 (bottom)"
msgstr "A függőleges igazítás, 0 (felül) és 1 (alul) között"
-#: gtk/gtklabel.c:827
+#: gtk/gtklabel.c:824
msgid "Pattern"
msgstr "Minta"
-#: gtk/gtklabel.c:828
+#: gtk/gtklabel.c:825
msgid ""
"A string with _ characters in positions correspond to characters in the text "
"to underline"
@@ -3358,43 +3355,43 @@ msgstr ""
"A szövegben aláhúzandó karakterek helyén _ karaktereket tartalmazó "
"karakterlánc"
-#: gtk/gtklabel.c:834
+#: gtk/gtklabel.c:831
msgid "Line wrap"
msgstr "Sorok tördelése"
-#: gtk/gtklabel.c:835
+#: gtk/gtklabel.c:832
msgid "If set, wrap lines if the text becomes too wide"
msgstr "Ha be van állítva, a túl széles szövegsorok áttördelésre kerülnek"
-#: gtk/gtklabel.c:850
+#: gtk/gtklabel.c:845
msgid "Line wrap mode"
msgstr "Sorok tördelésének módja"
-#: gtk/gtklabel.c:851
+#: gtk/gtklabel.c:846
msgid "If wrap is set, controls how linewrapping is done"
msgstr "Ha be van állítva tördelés, a tördelés módját vezérli"
-#: gtk/gtklabel.c:859
+#: gtk/gtklabel.c:854
msgid "Whether the label text can be selected with the mouse"
msgstr "A címke szövege kijelölhető-e az egérrel"
-#: gtk/gtklabel.c:865
+#: gtk/gtklabel.c:860
msgid "Mnemonic key"
msgstr "Mnemonikus billentyű"
-#: gtk/gtklabel.c:866
+#: gtk/gtklabel.c:861
msgid "The mnemonic accelerator key for this label"
msgstr "A címke hívóbetűje"
-#: gtk/gtklabel.c:873
+#: gtk/gtklabel.c:868
msgid "Mnemonic widget"
msgstr "Mnemonikus felületi elem"
-#: gtk/gtklabel.c:874
+#: gtk/gtklabel.c:869
msgid "The widget to be activated when the label’s mnemonic key is pressed"
msgstr "A címke hívóbetűjének megnyomásakor aktiválandó felületi elem"
-#: gtk/gtklabel.c:914
+#: gtk/gtklabel.c:907
msgid ""
"The preferred place to ellipsize the string, if the label does not have "
"enough room to display the entire string"
@@ -3402,213 +3399,337 @@ msgstr ""
"A karakterlánc preferált kihagyásainak a helye, amennyiben a címkén nincs "
"elég hely a teljes karakterlánc megjelenítéséhez"
-#: gtk/gtklabel.c:952
+#: gtk/gtklabel.c:941
msgid "Single Line Mode"
msgstr "Egysoros mód"
-#: gtk/gtklabel.c:953
+#: gtk/gtklabel.c:942
msgid "Whether the label is in single line mode"
msgstr "A címke kötelezően egysoros-e"
-#: gtk/gtklabel.c:972
+#: gtk/gtklabel.c:959
msgid "The desired maximum width of the label, in characters"
msgstr "A címke megkívánt maximális szélessége, karakterekben megadva"
-#: gtk/gtklabel.c:988
+#: gtk/gtklabel.c:973
msgid "Track visited links"
msgstr "Látogatott hivatkozások követése"
-#: gtk/gtklabel.c:989
+#: gtk/gtklabel.c:974
msgid "Whether visited links should be tracked"
msgstr "A látogatott hivatkozások követésre kerüljenek-e?"
-#: gtk/gtklabel.c:1005
+#: gtk/gtklabel.c:988
msgid "Number of lines"
msgstr "Sorok száma"
-#: gtk/gtklabel.c:1006
+#: gtk/gtklabel.c:989
msgid "The desired number of lines, when ellipsizing a wrapping label"
msgstr "A sorok kívánt száma tördelt címke csonkításakor"
-#: gtk/gtklayout.c:547
+#: gtk/gtklayout.c:535
msgid "The width of the layout"
msgstr "Az elrendezés szélessége"
-#: gtk/gtklayout.c:556
+#: gtk/gtklayout.c:544
msgid "The height of the layout"
msgstr "Az elrendezés magassága"
-#: gtk/gtklevelbar.c:987
+#: gtk/gtklevelbar.c:983
msgid "Currently filled value level"
msgstr "Jelenleg kitöltött érték szintje"
-#: gtk/gtklevelbar.c:988
+#: gtk/gtklevelbar.c:984
msgid "Currently filled value level of the level bar"
msgstr "A szintsávon jelenleg kitöltött érték szintje"
-#: gtk/gtklevelbar.c:1002
+#: gtk/gtklevelbar.c:996
msgid "Minimum value level for the bar"
msgstr "A sáv minimális értékszintje"
-#: gtk/gtklevelbar.c:1003
+#: gtk/gtklevelbar.c:997
msgid "Minimum value level that can be displayed by the bar"
msgstr "A sáv által megjeleníthető minimális értékszint"
-#: gtk/gtklevelbar.c:1017
+#: gtk/gtklevelbar.c:1009
msgid "Maximum value level for the bar"
msgstr "A sáv maximális értékszintje"
-#: gtk/gtklevelbar.c:1018
+#: gtk/gtklevelbar.c:1010
msgid "Maximum value level that can be displayed by the bar"
msgstr "A sáv által megjeleníthető maximális értékszint"
-#: gtk/gtklevelbar.c:1038
+#: gtk/gtklevelbar.c:1028
msgid "The mode of the value indicator"
msgstr "Az értékjelző módja"
-#: gtk/gtklevelbar.c:1039
+#: gtk/gtklevelbar.c:1029
msgid "The mode of the value indicator displayed by the bar"
msgstr "A sávon megjelenő értékjelző módja"
-#: gtk/gtklevelbar.c:1055
+#: gtk/gtklevelbar.c:1043
msgid "Invert the direction in which the level bar grows"
msgstr "A szintsáv növekedési irányának megfordítása"
-#: gtk/gtklinkbutton.c:168
+#: gtk/gtklinkbutton.c:161
msgid "URI"
msgstr "URI"
-#: gtk/gtklinkbutton.c:169
+#: gtk/gtklinkbutton.c:162
msgid "The URI bound to this button"
msgstr "A gombhoz kötött URI cím"
-#: gtk/gtklinkbutton.c:184
+#: gtk/gtklinkbutton.c:175
msgid "Visited"
msgstr "Látogatott"
-#: gtk/gtklinkbutton.c:185
+#: gtk/gtklinkbutton.c:176
msgid "Whether this link has been visited."
msgstr "A hivatkozás meg lett-e látogatva."
-#: gtk/gtklistbox.c:3443
+#: gtk/gtklistbox.c:3414
msgid "Whether this row can be activated"
msgstr "A sor aktiválható-e"
-#: gtk/gtklistbox.c:3457
+#: gtk/gtklistbox.c:3426
msgid "Whether this row can be selected"
msgstr "A sor kijelölhető-e"
-#: gtk/gtklockbutton.c:265
+#: gtk/gtklockbutton.c:268
msgid "Permission"
msgstr "Jogosultság"
-#: gtk/gtklockbutton.c:266
+#: gtk/gtklockbutton.c:269
msgid "The GPermission object controlling this button"
msgstr "A gombot vezérlő GPermission objektum"
-#: gtk/gtklockbutton.c:273
+#: gtk/gtklockbutton.c:276
msgid "Lock Text"
msgstr "Zárolási szöveg"
-#: gtk/gtklockbutton.c:274
+#: gtk/gtklockbutton.c:277
msgid "The text to display when prompting the user to lock"
msgstr "A felhasználó zárolásra felszólításakor megjelenítendő szöveg"
-#: gtk/gtklockbutton.c:282
+#: gtk/gtklockbutton.c:285
msgid "Unlock Text"
msgstr "Feloldási szöveg"
-#: gtk/gtklockbutton.c:283
+#: gtk/gtklockbutton.c:286
msgid "The text to display when prompting the user to unlock"
msgstr "A felhasználó feloldásra felszólításakor megjelenítendő szöveg"
-#: gtk/gtklockbutton.c:291
+#: gtk/gtklockbutton.c:294
msgid "Lock Tooltip"
msgstr "Zárolási buboréksúgó"
-#: gtk/gtklockbutton.c:292
+#: gtk/gtklockbutton.c:295
msgid "The tooltip to display when prompting the user to lock"
msgstr "A felhasználó zárolásra felszólításakor megjelenítendő buboréksúgó"
-#: gtk/gtklockbutton.c:300
+#: gtk/gtklockbutton.c:303
msgid "Unlock Tooltip"
msgstr "Feloldási buboréksúgó"
-#: gtk/gtklockbutton.c:301
+#: gtk/gtklockbutton.c:304
msgid "The tooltip to display when prompting the user to unlock"
msgstr "A felhasználó feloldásra felszólításakor megjelenítendő buboréksúgó"
-#: gtk/gtklockbutton.c:309
+#: gtk/gtklockbutton.c:312
msgid "Not Authorized Tooltip"
msgstr "Nincs felhatalmazás buboréksúgó"
-#: gtk/gtklockbutton.c:310
+#: gtk/gtklockbutton.c:313
msgid ""
"The tooltip to display when prompting the user cannot obtain authorization"
msgstr ""
"A megjelenítendő buboréksúgó, amikor a felhasználó nem kapott felhatalmazást"
-#: gtk/gtkmagnifier.c:284
+#: gtk/gtkmagnifier.c:194
msgid "Inspected"
msgstr "Felügyelt"
-#: gtk/gtkmagnifier.c:285
+#: gtk/gtkmagnifier.c:195
msgid "Inspected widget"
msgstr "Felügyelt felületi elem"
-#: gtk/gtkmagnifier.c:291 gtk/gtkmagnifier.c:292
+#: gtk/gtkmagnifier.c:201 gtk/gtkmagnifier.c:202
msgid "magnification"
-msgstr "Nagyítás"
+msgstr "nagyítás"
-#: gtk/gtkmagnifier.c:298 gtk/gtkmagnifier.c:299
+#: gtk/gtkmagnifier.c:208 gtk/gtkmagnifier.c:209
msgid "resize"
msgstr "átméretezés"
-#: gtk/gtkmenubar.c:180
+#: gtk/gtkmediacontrols.c:269 gtk/gtkvideo.c:321
+msgid "Media Stream"
+msgstr "Médiafolyam"
+
+#: gtk/gtkmediacontrols.c:270
+msgid "The media stream managed"
+msgstr "A kezelt médiafolyam"
+
+#: gtk/gtkmediafile.c:161 gtk/gtkpicture.c:321 gtk/gtkvideo.c:297
+msgid "File"
+msgstr "Fájl"
+
+#: gtk/gtkmediafile.c:162
+msgid "File being played back"
+msgstr "A lejátszott fájl"
+
+#: gtk/gtkmediafile.c:173
+msgid "Input stream"
+msgstr "Beviteli adatfolyam"
+
+#: gtk/gtkmediafile.c:174
+msgid "Input stream being played back"
+msgstr "A lejátszott bemeneti adatfolyam"
+
+#: gtk/gtkmediastream.c:301
+msgid "Prepared"
+msgstr "Előkészítve"
+
+#: gtk/gtkmediastream.c:302
+msgid "Whether the stream has finished initializing"
+msgstr "Az adatfolyam befejezte-e az előkészítést"
+
+#: gtk/gtkmediastream.c:313
+msgid "Error"
+msgstr "Hiba"
+
+#: gtk/gtkmediastream.c:314
+msgid "Error the stream is in"
+msgstr "Hiba az adatfolyamban"
+
+#: gtk/gtkmediastream.c:325
+msgid "Has audio"
+msgstr "Van-e hang"
+
+#: gtk/gtkmediastream.c:326
+msgid "Whether the stream contains audio"
+msgstr "A médiafolyam tartalmaz-e hangot"
+
+#: gtk/gtkmediastream.c:337
+msgid "Has video"
+msgstr "Van-e videó"
+
+#: gtk/gtkmediastream.c:338
+msgid "Whether the stream contains video"
+msgstr "A médiafolyam tartalmaz-e videót"
+
+#: gtk/gtkmediastream.c:349
+msgid "Playing"
+msgstr "Lejátszás"
+
+#: gtk/gtkmediastream.c:350
+msgid "Whether the stream is playing"
+msgstr "Lejátszás alatt van-e a médiafolyam"
+
+#: gtk/gtkmediastream.c:361
+msgid "Ended"
+msgstr "Befejezve"
+
+#: gtk/gtkmediastream.c:362
+msgid "Set when playback has finished"
+msgstr "Beállításra kerül, ha a lejátszás befejeződött"
+
+#: gtk/gtkmediastream.c:373
+msgid "Timestamp"
+msgstr "Időbélyeg"
+
+#: gtk/gtkmediastream.c:374 gtk/gtkmediastream.c:386
+msgid "Timestamp in microseconds"
+msgstr "Időbélyeg ezredmásodpercekben"
+
+#: gtk/gtkmediastream.c:385
+msgid "Duration"
+msgstr "Hossz"
+
+#: gtk/gtkmediastream.c:397
+msgid "Seekable"
+msgstr "Pozicionálható"
+
+#: gtk/gtkmediastream.c:398
+msgid "Set unless seeking is not supported"
+msgstr "Beállításra kerül, kivéve ha a pozicionálás nem támogatott"
+
+#: gtk/gtkmediastream.c:409
+msgid "Seeking"
+msgstr "Pozicionálás"
+
+#: gtk/gtkmediastream.c:410
+msgid "Set while a seek is in progress"
+msgstr "Beállításra kerül, ha pozicionálás van folyamatban"
+
+#: gtk/gtkmediastream.c:421 gtk/gtkvideo.c:309
+msgid "Loop"
+msgstr "Végtelenítés"
+
+#: gtk/gtkmediastream.c:422
+msgid "Try to restart the media from the beginning once it ended."
+msgstr "A média újrakezdésének kísérlete, ha véget ért."
+
+#: gtk/gtkmediastream.c:433
+msgid "Muted"
+msgstr "Némítva"
+
+#: gtk/gtkmediastream.c:434
+msgid "Whether the audio stream should be muted."
+msgstr "A hangfolyam némítva legyen-e."
+
+#: gtk/gtkmediastream.c:445
+msgid "Volume"
+msgstr "Hangerő"
+
+#: gtk/gtkmediastream.c:446
+msgid "Volume of the audio stream."
+msgstr "A hangfolyam hangereje."
+
+#: gtk/gtkmenubar.c:176
msgid "Pack direction"
msgstr "Csomagolás iránya"
-#: gtk/gtkmenubar.c:181
+#: gtk/gtkmenubar.c:177
msgid "The pack direction of the menubar"
msgstr "A menüsáv csomagolásának iránya"
-#: gtk/gtkmenubar.c:197
+#: gtk/gtkmenubar.c:191
msgid "Child Pack direction"
msgstr "Gyermek csomagolásának iránya"
-#: gtk/gtkmenubar.c:198
+#: gtk/gtkmenubar.c:192
msgid "The child pack direction of the menubar"
msgstr "A menüsáv gyermekének csomagolásának iránya"
-#: gtk/gtkmenubutton.c:486
+#: gtk/gtkmenubutton.c:494
msgid "Popup"
msgstr "Felbukkanó"
-#: gtk/gtkmenubutton.c:487
+#: gtk/gtkmenubutton.c:495
msgid "The dropdown menu."
msgstr "A legördülő menü."
-#: gtk/gtkmenubutton.c:505
+#: gtk/gtkmenubutton.c:511
msgid "Menu model"
msgstr "Menümodell"
-#: gtk/gtkmenubutton.c:506
+#: gtk/gtkmenubutton.c:512
msgid "The model from which the popup is made."
msgstr "A modell, amelyből a felbukkanó készül."
-#: gtk/gtkmenubutton.c:519
+#: gtk/gtkmenubutton.c:523
msgid "Align with"
msgstr "Igazítás ehhez"
-#: gtk/gtkmenubutton.c:520
+#: gtk/gtkmenubutton.c:524
msgid "The parent widget which the menu should align with."
msgstr "Szülő felületi elem, amelyhez a menüt igazítani kell"
-#: gtk/gtkmenubutton.c:534 gtk/gtkshortcutsshortcut.c:680
+#: gtk/gtkmenubutton.c:536 gtk/gtkshortcutsshortcut.c:680
msgid "Direction"
msgstr "Irány"
-#: gtk/gtkmenubutton.c:535
+#: gtk/gtkmenubutton.c:537
msgid "The direction the arrow should point."
msgstr "Az irány, amerre a nyílnak mutatnia kell."
@@ -3620,57 +3741,57 @@ msgstr "Popover használata"
msgid "Use a popover instead of a menu"
msgstr "Popover használata menü helyett"
-#: gtk/gtkmenubutton.c:564
+#: gtk/gtkmenubutton.c:562
msgid "Popover"
msgstr "Popover"
-#: gtk/gtkmenubutton.c:565
+#: gtk/gtkmenubutton.c:563
msgid "The popover"
msgstr "a popover"
-#: gtk/gtkmenu.c:615
+#: gtk/gtkmenu.c:601
msgid "The currently selected menu item"
msgstr "A jelenleg kiválasztott menüelem"
-#: gtk/gtkmenu.c:629
+#: gtk/gtkmenu.c:613
msgid "Accel Group"
msgstr "Gyorsítócsoport"
-#: gtk/gtkmenu.c:630
+#: gtk/gtkmenu.c:614
msgid "The accel group holding accelerators for the menu"
msgstr "A menü gyorsbillentyűit tartalmazó gyorsítócsoport"
-#: gtk/gtkmenu.c:644 gtk/gtkmenuitem.c:627
+#: gtk/gtkmenu.c:626 gtk/gtkmenuitem.c:621
msgid "Accel Path"
msgstr "Gyorsítóútvonal"
-#: gtk/gtkmenu.c:645
+#: gtk/gtkmenu.c:627
msgid "An accel path used to conveniently construct accel paths of child items"
msgstr ""
"A gyermekelemek gyorsítóútvonalainak kényelmes létrehozására használt "
"gyorsítóútvonal"
-#: gtk/gtkmenu.c:661
+#: gtk/gtkmenu.c:641
msgid "Attach Widget"
msgstr "Felületi elem csatolása"
-#: gtk/gtkmenu.c:662
+#: gtk/gtkmenu.c:642
msgid "The widget the menu is attached to"
msgstr "A felületi elem, amelyhez a menü csatolva van"
-#: gtk/gtkmenu.c:676
+#: gtk/gtkmenu.c:654
msgid "Monitor"
msgstr "Monitor"
-#: gtk/gtkmenu.c:677
+#: gtk/gtkmenu.c:655
msgid "The monitor the menu will be popped up on"
msgstr "Az a monitor, amelyen a menü megjelenik"
-#: gtk/gtkmenu.c:697
+#: gtk/gtkmenu.c:673
msgid "Reserve Toggle Size"
msgstr "Átkapcsoló méretének lefoglalása"
-#: gtk/gtkmenu.c:698
+#: gtk/gtkmenu.c:674
msgid ""
"A boolean that indicates whether the menu reserves space for toggles and "
"icons"
@@ -3678,87 +3799,87 @@ msgstr ""
"Ez a logikai érték jelzi, hogy a menü lefoglalja-e a területet az "
"átkapcsolók és ikonok számára"
-#: gtk/gtkmenu.c:726
+#: gtk/gtkmenu.c:699
msgid "Anchor hints"
msgstr "Horgony javaslatok"
-#: gtk/gtkmenu.c:727
+#: gtk/gtkmenu.c:700
msgid "Positioning hints for when the menu might fall off-screen"
msgstr "Elhelyezési javaslatok ahhoz, amikor a menü kieshez a képernyőről"
-#: gtk/gtkmenu.c:755
+#: gtk/gtkmenu.c:725
msgid "Rect anchor dx"
msgstr "Téglalaphorgony dx"
-#: gtk/gtkmenu.c:756
+#: gtk/gtkmenu.c:726
msgid "Rect anchor horizontal offset"
msgstr "Téglalaphorgony vízszintes eltolása"
-#: gtk/gtkmenu.c:782
+#: gtk/gtkmenu.c:749
msgid "Rect anchor dy"
msgstr "Téglalaphorgony dy"
-#: gtk/gtkmenu.c:783
+#: gtk/gtkmenu.c:750
msgid "Rect anchor vertical offset"
msgstr "Téglalaphorgony függőleges eltolása"
-#: gtk/gtkmenu.c:809
+#: gtk/gtkmenu.c:773
msgid "Menu type hint"
msgstr "Menütípus javaslat"
-#: gtk/gtkmenu.c:810
+#: gtk/gtkmenu.c:774
msgid "Menu window type hint"
msgstr "Menüablaktípus javaslat"
-#: gtk/gtkmenu.c:823
+#: gtk/gtkmenu.c:787
msgid "Left Attach"
msgstr "Bal csatolás"
-#: gtk/gtkmenu.c:831
+#: gtk/gtkmenu.c:795
msgid "Right Attach"
msgstr "Jobb csatolás"
-#: gtk/gtkmenu.c:832
+#: gtk/gtkmenu.c:796
msgid "The column number to attach the right side of the child to"
msgstr "Az oszlop száma, amelyhez a gyermek jobb széle csatolásra kerül."
-#: gtk/gtkmenu.c:839
+#: gtk/gtkmenu.c:803
msgid "Top Attach"
msgstr "Felső csatolás"
-#: gtk/gtkmenu.c:840
+#: gtk/gtkmenu.c:804
msgid "The row number to attach the top of the child to"
msgstr "A sor száma, amelyhez a gyermek felső széle csatolásra kerül."
-#: gtk/gtkmenu.c:847
+#: gtk/gtkmenu.c:811
msgid "Bottom Attach"
msgstr "Alsó csatolás"
-#: gtk/gtkmenu.c:848
+#: gtk/gtkmenu.c:812
msgid "The row number to attach the bottom of the child to"
msgstr "A sor száma, amelyhez a gyermek alsó széle csatolásra kerül."
-#: gtk/gtkmenuitem.c:611 gtk/gtkpopovermenu.c:363
+#: gtk/gtkmenuitem.c:607 gtk/gtkpopovermenu.c:361
msgid "Submenu"
msgstr "Almenü"
-#: gtk/gtkmenuitem.c:612
+#: gtk/gtkmenuitem.c:608
msgid "The submenu attached to the menu item, or NULL if it has none"
msgstr "A menüelemhez csatlakozó almenü, vagy NULL, ha nincs ilyen"
-#: gtk/gtkmenuitem.c:628
+#: gtk/gtkmenuitem.c:622
msgid "Sets the accelerator path of the menu item"
msgstr "Beállítja a menüelem gyorsítóútvonalát"
-#: gtk/gtkmenuitem.c:642
+#: gtk/gtkmenuitem.c:634
msgid "The text for the child label"
msgstr "A gyermekcímke szövege"
-#: gtk/gtkmenushell.c:404
+#: gtk/gtkmenushell.c:408
msgid "Take Focus"
msgstr "Fókusz megszerzése"
-#: gtk/gtkmenushell.c:405
+#: gtk/gtkmenushell.c:409
msgid "A boolean that determines whether the menu grabs the keyboard focus"
msgstr ""
"Ez a logikai érték jelzi, hogy a menü lefoglalja-e a billentyűzetfókuszt"
@@ -3771,127 +3892,133 @@ msgstr "Menü"
msgid "The dropdown menu"
msgstr "A legördülő menü."
-#: gtk/gtkmessagedialog.c:184
+#: gtk/gtkmessagedialog.c:183
msgid "Message Buttons"
msgstr "Üzenetgombok"
-#: gtk/gtkmessagedialog.c:185
+#: gtk/gtkmessagedialog.c:184
msgid "The buttons shown in the message dialog"
msgstr "Az üzenetablakban látható gombok"
-#: gtk/gtkmessagedialog.c:202
+#: gtk/gtkmessagedialog.c:199
msgid "The primary text of the message dialog"
msgstr "Az üzenetablak elsődleges szövege"
-#: gtk/gtkmessagedialog.c:217
+#: gtk/gtkmessagedialog.c:212
msgid "Use Markup"
msgstr "Jelölőkód használata"
-#: gtk/gtkmessagedialog.c:218
+#: gtk/gtkmessagedialog.c:213
msgid "The primary text of the title includes Pango markup."
msgstr "A cím elsődleges szövege tartalmaz-e Pango jelölőkódot"
-#: gtk/gtkmessagedialog.c:232
+#: gtk/gtkmessagedialog.c:225
msgid "Secondary Text"
msgstr "Másodlagos szöveg"
-#: gtk/gtkmessagedialog.c:233
+#: gtk/gtkmessagedialog.c:226
msgid "The secondary text of the message dialog"
msgstr "Az üzenetablak másodlagos szövege"
-#: gtk/gtkmessagedialog.c:248
+#: gtk/gtkmessagedialog.c:239
msgid "Use Markup in secondary"
msgstr "Jelölőkód használata másodlagos szövegben"
-#: gtk/gtkmessagedialog.c:249
+#: gtk/gtkmessagedialog.c:240
msgid "The secondary text includes Pango markup."
msgstr "A másodlagos szöveg tartalmaz-e Pango jelölőkódot"
-#: gtk/gtkmessagedialog.c:265
+#: gtk/gtkmessagedialog.c:254
msgid "Message area"
msgstr "Üzenetterület"
-#: gtk/gtkmessagedialog.c:266
+#: gtk/gtkmessagedialog.c:255
msgid "GtkBox that holds the dialog’s primary and secondary labels"
msgstr "Az ablak elsődleges és másodlagos címkéit tartalmazó GtkBox"
-#: gtk/gtkmodelbutton.c:934
+#: gtk/gtkmodelbutton.c:950
msgid "Role"
msgstr "Szerep"
-#: gtk/gtkmodelbutton.c:935
+#: gtk/gtkmodelbutton.c:951
msgid "The role of this button"
msgstr "Ennek a gombnak a szerepe"
-#: gtk/gtkmodelbutton.c:951
+#: gtk/gtkmodelbutton.c:965
msgid "The icon"
msgstr "Az ikon"
-#: gtk/gtkmodelbutton.c:965
+#: gtk/gtkmodelbutton.c:977
msgid "The text"
msgstr "A szöveg"
-#: gtk/gtkmodelbutton.c:994
+#: gtk/gtkmodelbutton.c:991
+#| msgid "The text of the label includes XML markup. See pango_parse_markup()"
+msgid "The text of the button includes XML markup. See pango_parse_markup()"
+msgstr ""
+"A gomb szövege tartalmaz-e XML jelölőkódokat. Lásd: pango_parse_markup()"
+
+#: gtk/gtkmodelbutton.c:1016
msgid "Menu name"
msgstr "Menünév"
-#: gtk/gtkmodelbutton.c:995
+#: gtk/gtkmodelbutton.c:1017
msgid "The name of the menu to open"
msgstr "A megnyitandó menü neve"
-#: gtk/gtkmodelbutton.c:1011
+#: gtk/gtkmodelbutton.c:1031
msgid "Whether the menu is a parent"
msgstr "A menü szülő-e"
-#: gtk/gtkmodelbutton.c:1025
+#: gtk/gtkmodelbutton.c:1043
msgid "Centered"
msgstr "Középre helyezett"
-#: gtk/gtkmodelbutton.c:1026
+#: gtk/gtkmodelbutton.c:1044
msgid "Whether to center the contents"
msgstr "Középre helyezze-e a tartalmat"
-#: gtk/gtkmodelbutton.c:1041
+#: gtk/gtkmodelbutton.c:1057
msgid "Iconic"
msgstr "Ikonszerű"
-#: gtk/gtkmodelbutton.c:1042
+#: gtk/gtkmodelbutton.c:1058
msgid "Whether to prefer the icon over text"
msgstr "Előnyben részesítse-e az ikont a szöveggel szemben"
-#: gtk/gtkmountoperation.c:164 gtk/gtkstylecontext.c:232
+#: gtk/gtkmountoperation.c:165 gtk/gtkstylecontext.c:220
msgid "Parent"
msgstr "Szülő"
-#: gtk/gtkmountoperation.c:165
+#: gtk/gtkmountoperation.c:166
msgid "The parent window"
msgstr "A szülőablak"
-#: gtk/gtkmountoperation.c:172
+#: gtk/gtkmountoperation.c:173
msgid "Is Showing"
msgstr "Megjelenik"
-#: gtk/gtkmountoperation.c:173
+#: gtk/gtkmountoperation.c:174
msgid "Are we showing a dialog"
msgstr "Megjelenik-e párbeszédablak"
-#: gtk/gtkmountoperation.c:181
-msgid "The screen where this window will be displayed."
-msgstr "A képernyő, amelyen az ablak megjelenik."
+#: gtk/gtkmountoperation.c:182
+msgid "The display where this window will be displayed."
+msgstr "A kijelző, amelyen ez az ablak megjelenik"
-#: gtk/gtknativedialog.c:214
+#: gtk/gtknativedialog.c:212
msgid "Dialog Title"
msgstr "Párbeszédablak címe"
-#: gtk/gtknativedialog.c:215
+#: gtk/gtknativedialog.c:213
msgid "The title of the file chooser dialog"
msgstr "A fájlválasztó párbeszédablak címe"
-#: gtk/gtknativedialog.c:228 gtk/gtkpopover.c:1652 gtk/gtkwindow.c:889
+#: gtk/gtknativedialog.c:224 gtk/gtkpopover.c:1656 gtk/gtkwindow.c:869
msgid "Modal"
msgstr "Kizárólagos"
-#: gtk/gtknativedialog.c:229
+#: gtk/gtknativedialog.c:225
msgid ""
"If TRUE, the dialog is modal (other windows are not usable while this one is "
"up)"
@@ -3899,64 +4026,64 @@ msgstr ""
"Ha IGAZ, akkor az ablak kizárólagos (más ablakok nem használhatók addig, "
"amíg ez látszik)"
-#: gtk/gtknativedialog.c:243
+#: gtk/gtknativedialog.c:237
msgid "Whether the dialog is currently visible"
msgstr "Látható-e a párbeszédablak"
-#: gtk/gtknativedialog.c:256 gtk/gtkwindow.c:1106
+#: gtk/gtknativedialog.c:248 gtk/gtkwindow.c:1076
msgid "Transient for Window"
msgstr "Áttetsző ezen ablak számára"
-#: gtk/gtknativedialog.c:257 gtk/gtkwindow.c:1107
+#: gtk/gtknativedialog.c:249 gtk/gtkwindow.c:1077
msgid "The transient parent of the dialog"
msgstr "A párbeszédablak áttetsző szülője"
-#: gtk/gtknotebook.c:715
+#: gtk/gtknotebook.c:701
msgid "Page"
msgstr "Lap"
-#: gtk/gtknotebook.c:716
+#: gtk/gtknotebook.c:702
msgid "The index of the current page"
msgstr "Az aktuális oldal indexe"
-#: gtk/gtknotebook.c:723
+#: gtk/gtknotebook.c:709
msgid "Tab Position"
msgstr "Lappozíció"
-#: gtk/gtknotebook.c:724
+#: gtk/gtknotebook.c:710
msgid "Which side of the notebook holds the tabs"
msgstr "A notesz melyik oldalán vannak a lapok"
-#: gtk/gtknotebook.c:731
+#: gtk/gtknotebook.c:717
msgid "Show Tabs"
msgstr "Lapok megjelenítése"
-#: gtk/gtknotebook.c:732
+#: gtk/gtknotebook.c:718
msgid "Whether tabs should be shown"
msgstr "A lapok megjelenjenek-e"
-#: gtk/gtknotebook.c:738
+#: gtk/gtknotebook.c:724
msgid "Show Border"
msgstr "Szegély mutatása"
-#: gtk/gtknotebook.c:739
+#: gtk/gtknotebook.c:725
msgid "Whether the border should be shown"
msgstr "A szegély megjelenjen-e"
-#: gtk/gtknotebook.c:745
+#: gtk/gtknotebook.c:731
msgid "Scrollable"
msgstr "Görgethető"
-#: gtk/gtknotebook.c:746
+#: gtk/gtknotebook.c:732
msgid "If TRUE, scroll arrows are added if there are too many tabs to fit"
msgstr ""
"Ha IGAZ, akkor görgetősávok kerülnek megjelenítésre, ha túl sok lap látszana"
-#: gtk/gtknotebook.c:752
+#: gtk/gtknotebook.c:738
msgid "Enable Popup"
msgstr "Előugró menü engedélyezése"
-#: gtk/gtknotebook.c:753
+#: gtk/gtknotebook.c:739
msgid ""
"If TRUE, pressing the right mouse button on the notebook pops up a menu that "
"you can use to go to a page"
@@ -3964,178 +4091,227 @@ msgstr ""
"Ha IGAZ, akkor a noteszen a jobb egérgomb megnyomására előugrik egy menü, "
"amellyel egy adott oldalra lehet ugrani"
-#: gtk/gtknotebook.c:766
+#: gtk/gtknotebook.c:750
msgid "Group Name"
msgstr "Csoportnév"
-#: gtk/gtknotebook.c:767
+#: gtk/gtknotebook.c:751
msgid "Group name for tab drag and drop"
msgstr "Csoportnév lapok húzd és ejtsd műveleténél"
-#: gtk/gtknotebook.c:776
+#: gtk/gtknotebook.c:760
msgid "Tab label"
msgstr "Lapcímke"
-#: gtk/gtknotebook.c:777
+#: gtk/gtknotebook.c:761
msgid "The string displayed on the child’s tab label"
msgstr "A gyermek lap címkéjén megjelenő karakterlánc"
-#: gtk/gtknotebook.c:783
+#: gtk/gtknotebook.c:767
msgid "Menu label"
msgstr "Menücímke"
-#: gtk/gtknotebook.c:784
+#: gtk/gtknotebook.c:768
msgid "The string displayed in the child’s menu entry"
msgstr "A gyermek menübejegyzésen megjelenő karakterlánc"
-#: gtk/gtknotebook.c:797
+#: gtk/gtknotebook.c:781
msgid "Tab expand"
msgstr "Lap kibontása"
-#: gtk/gtknotebook.c:798
+#: gtk/gtknotebook.c:782
msgid "Whether to expand the child’s tab"
msgstr "A gyermek lapja kibontásra kerüljön-e"
-#: gtk/gtknotebook.c:804
+#: gtk/gtknotebook.c:788
msgid "Tab fill"
msgstr "Lap kitöltés"
-#: gtk/gtknotebook.c:805
+#: gtk/gtknotebook.c:789
msgid "Whether the child’s tab should fill the allocated area"
msgstr "A gyermek lapja kitöltse-e a számára lefoglalt teret"
-#: gtk/gtknotebook.c:812
+#: gtk/gtknotebook.c:796
msgid "Tab reorderable"
msgstr "A lap átrendezhető"
-#: gtk/gtknotebook.c:813
+#: gtk/gtknotebook.c:797
msgid "Whether the tab is reorderable by user action"
msgstr "A lap átrendezhető-e a felhasználó által"
-#: gtk/gtknotebook.c:819
+#: gtk/gtknotebook.c:803
msgid "Tab detachable"
msgstr "A lap leválasztható"
-#: gtk/gtknotebook.c:820
+#: gtk/gtknotebook.c:804
msgid "Whether the tab is detachable"
msgstr "A lap leválasztható-e"
-#: gtk/gtkorientable.c:60
+#: gtk/gtkorientable.c:58
msgid "The orientation of the orientable"
msgstr "A tájolható elem tájolása"
-#: gtk/gtkoverlay.c:737
+#: gtk/gtkoverlay.c:808
msgid "Pass Through"
msgstr "Átküldés"
-#: gtk/gtkoverlay.c:737
+#: gtk/gtkoverlay.c:808
msgid "Pass through input, does not affect main child"
msgstr "A bemenet átküldése, nem befolyásolja a fő gyermeket"
-#: gtk/gtkoverlay.c:749
+#: gtk/gtkoverlay.c:820
+msgid "Measure"
+msgstr "Mérőeszköz"
+
+#: gtk/gtkoverlay.c:820
+msgid "Include in size measurement"
+msgstr "Beleszámítás a méretezésbe"
+
+#: gtk/gtkoverlay.c:830
msgid "Blur Radius"
msgstr "Elmosás sugara"
-#: gtk/gtkoverlay.c:749
+#: gtk/gtkoverlay.c:830
msgid "Apply a blur to the content behind this child"
msgstr "Elmosás alkalmazása ezen gyermek mögött lévő tartalomra"
-#: gtk/gtkoverlay.c:761
+#: gtk/gtkoverlay.c:840
msgid "Index"
msgstr "Index"
-#: gtk/gtkoverlay.c:762
+#: gtk/gtkoverlay.c:841
msgid "The index of the overlay in the parent, -1 for the main child"
msgstr "Az átfedés indexe a szülőben, -1 a fő gyermeknél"
-#: gtk/gtkpadcontroller.c:373
+#: gtk/gtkoverlay.c:851
+msgid "Clip Overlay"
+msgstr "Fölötte lévők levágása"
+
+#: gtk/gtkoverlay.c:852
+msgid "Clip the overlay child widget so as to fit the parent"
+msgstr ""
+"A felett lévő gyermek felületi elemek levágása, hogy beleférjenek a szülőbe"
+
+#: gtk/gtkpadcontroller.c:369
msgid "Action group"
msgstr "Műveletcsoport"
-#: gtk/gtkpadcontroller.c:374
+#: gtk/gtkpadcontroller.c:370
msgid "Action group to launch actions from"
msgstr "Műveletek indítása ezen műveletcsoportból"
# GtkPadController is an event controller for the pads found in drawing
# tablets (The collection of buttons and tactile sensors often found around
# the stylus-sensitive area).
-#: gtk/gtkpadcontroller.c:379
+#: gtk/gtkpadcontroller.c:375
msgid "Pad device"
msgstr "Táblaeszköz"
-#: gtk/gtkpadcontroller.c:380
+#: gtk/gtkpadcontroller.c:376
msgid "Pad device to control"
msgstr "Vezérlendő táblaeszköz"
-#: gtk/gtkpaned.c:389
+#: gtk/gtkpaned.c:395
msgid ""
"Position of paned separator in pixels (0 means all the way to the left/top)"
msgstr ""
"A keretelválasztó helye képpontokban megadva (a 0 a bal/felső oldalt jelenti)"
-#: gtk/gtkpaned.c:396
+#: gtk/gtkpaned.c:401
msgid "Position Set"
msgstr "Pozíció beállítva"
-#: gtk/gtkpaned.c:397
+#: gtk/gtkpaned.c:402
msgid "TRUE if the Position property should be used"
msgstr "Ha IGAZ, akkor a Pozíció tulajdonságot kell használni"
-#: gtk/gtkpaned.c:413
+#: gtk/gtkpaned.c:415
msgid "Minimal Position"
msgstr "Minimális pozíció"
-#: gtk/gtkpaned.c:414
+#: gtk/gtkpaned.c:416
msgid "Smallest possible value for the “position” property"
msgstr "A „Pozíció” tulajdonság lehető legkisebb értéke"
-#: gtk/gtkpaned.c:430
+#: gtk/gtkpaned.c:429
msgid "Maximal Position"
msgstr "Maximális pozíció"
-#: gtk/gtkpaned.c:431
+#: gtk/gtkpaned.c:430
msgid "Largest possible value for the “position” property"
msgstr "A „Pozíció” tulajdonság lehető legnagyobb értéke"
-#: gtk/gtkpaned.c:447
+#: gtk/gtkpaned.c:443
msgid "Wide Handle"
msgstr "Széles fogantyú"
-#: gtk/gtkpaned.c:448
+#: gtk/gtkpaned.c:444
msgid "Whether the paned should have a prominent handle"
msgstr "Az ablakkeret rendelkezzen-e feltűnő fogantyúval"
-#: gtk/gtkpaned.c:463
+#: gtk/gtkpaned.c:464
msgid "Resize"
msgstr "Átméretezés"
-#: gtk/gtkpaned.c:464
+#: gtk/gtkpaned.c:465
msgid "If TRUE, the child expands and shrinks along with the paned widget"
msgstr ""
"Ha IGAZ, akkor a gyermek kinyúlik és összezsugorodik a bekeretezett felületi "
"elemmel együtt"
-#: gtk/gtkpaned.c:479
+#: gtk/gtkpaned.c:478
msgid "Shrink"
msgstr "Zsugorodás"
-#: gtk/gtkpaned.c:480
+#: gtk/gtkpaned.c:479
msgid "If TRUE, the child can be made smaller than its requisition"
msgstr "Ha IGAZ, akkor a gyermek a kért méretnél kisebbre is zsugorítható"
-#: gtk/gtkplacessidebar.c:4561
+#: gtk/gtkpicture.c:310
+msgid "The GdkPaintable to display"
+msgstr "A megjelenítendő GdkPaintable"
+
+#: gtk/gtkpicture.c:322
+msgid "File to load and display"
+msgstr "A betöltendő és megjelenítendő fájl"
+
+#: gtk/gtkpicture.c:333
+msgid "Alternative text"
+msgstr "Alternatív szöveg"
+
+#: gtk/gtkpicture.c:334
+msgid "The alternative textual description"
+msgstr "Az alternatív szöveges leírás"
+
+#: gtk/gtkpicture.c:346
+msgid "Keep aspect ratio"
+msgstr "Méretarány megtartása"
+
+#: gtk/gtkpicture.c:347
+msgid "Render contents respecting the aspect ratio"
+msgstr "A tartalom megjelenítése a méretarány megtartásával"
+
+#: gtk/gtkpicture.c:358
+msgid "Can shrink"
+msgstr "Zsugorítható"
+
+#: gtk/gtkpicture.c:359
+msgid "Allow self to be smaller than contents"
+msgstr "Az objektum maga kisebb lehet mint a tartalom"
+
+#: gtk/gtkplacessidebar.c:4675
msgid "Location to Select"
msgstr "Kiválasztandó hely"
-#: gtk/gtkplacessidebar.c:4562
+#: gtk/gtkplacessidebar.c:4676
msgid "The location to highlight in the sidebar"
msgstr "Az oldalsávban kiemelendő hely"
-#: gtk/gtkplacessidebar.c:4567 gtk/gtkplacesview.c:2221
+#: gtk/gtkplacessidebar.c:4681 gtk/gtkplacesview.c:2231
msgid "Open Flags"
msgstr "Megnyitás jelzői"
-#: gtk/gtkplacessidebar.c:4568 gtk/gtkplacesview.c:2222
+#: gtk/gtkplacessidebar.c:4682 gtk/gtkplacesview.c:2232
msgid ""
"Modes in which the calling application can open locations selected in the "
"sidebar"
@@ -4143,152 +4319,161 @@ msgstr ""
"Azok a módok, amelyekben a hívó alkalmazás megnyithatja az oldalsávban "
"kiválasztott helyeket"
-#: gtk/gtkplacessidebar.c:4574
+#: gtk/gtkplacessidebar.c:4688
msgid "Show recent files"
msgstr "Legutóbbi fájlok megjelenítése"
-#: gtk/gtkplacessidebar.c:4575
+#: gtk/gtkplacessidebar.c:4689
msgid "Whether the sidebar includes a builtin shortcut for recent files"
msgstr "Az oldalsáv tartalmaz-e beépített hivatkozást a legutóbbi fájlokra"
-#: gtk/gtkplacessidebar.c:4580
+#: gtk/gtkplacessidebar.c:4694
msgid "Show “Desktop”"
msgstr "„Asztal” megjelenítése"
-#: gtk/gtkplacessidebar.c:4581
+#: gtk/gtkplacessidebar.c:4695
msgid "Whether the sidebar includes a builtin shortcut to the Desktop folder"
msgstr "Az oldalsáv tartalmaz-e beépített hivatkozást az Asztal mappára"
-#: gtk/gtkplacessidebar.c:4586
+#: gtk/gtkplacessidebar.c:4700
msgid "Show “Enter Location”"
msgstr "Az „Adja meg a helyet” megjelenítése"
-#: gtk/gtkplacessidebar.c:4587
+#: gtk/gtkplacessidebar.c:4701
msgid ""
"Whether the sidebar includes a builtin shortcut to manually enter a location"
msgstr "Az oldalsáv tartalmaz-e beépített hivatkozást egy hely megadásához"
-#: gtk/gtkplacessidebar.c:4593 gtk/gtkplacesview.c:2201
+#: gtk/gtkplacessidebar.c:4707 gtk/gtkplacesview.c:2211
msgid "Whether the sidebar only includes local files"
msgstr "Az oldalsáv csak helyi fájlokat tartalmaz-e"
-#: gtk/gtkplacessidebar.c:4598
+#: gtk/gtkplacessidebar.c:4712
msgid "Show “Trash”"
msgstr "„Kuka” megjelenítése"
-#: gtk/gtkplacessidebar.c:4599
+#: gtk/gtkplacessidebar.c:4713
msgid "Whether the sidebar includes a builtin shortcut to the Trash location"
msgstr "Az oldalsáv tartalmaz-e beépített hivatkozást a Kuka helyére"
-#: gtk/gtkplacessidebar.c:4604
+#: gtk/gtkplacessidebar.c:4718
msgid "Show “Other locations”"
msgstr "„Egyéb helyek” megjelenítése"
-#: gtk/gtkplacessidebar.c:4605
+#: gtk/gtkplacessidebar.c:4719
msgid "Whether the sidebar includes an item to show external locations"
msgstr "Az oldalsáv tartalmaz-e egy elemet a külső helyek megjelenítéséhez"
-#: gtk/gtkplacessidebar.c:4620
+#: gtk/gtkplacessidebar.c:4724
+msgid "Show “Starred Location”"
+msgstr "„Csillagozott hely” megjelenítése"
+
+#: gtk/gtkplacessidebar.c:4725
+msgid "Whether the sidebar includes an item to show starred files"
+msgstr ""
+"Az oldalsáv tartalmaz-e egy elemet a csillagozott fájlok megjelenítéséhez"
+
+#: gtk/gtkplacessidebar.c:4739
msgid "Whether to emit ::populate-popup for popups that are not menus"
msgstr "Kiadja-e a ::populate-popup üzenetet a nem menü felugrókhoz"
-#: gtk/gtkplacesview.c:2207
+#: gtk/gtkplacesview.c:2217
msgid "Loading"
msgstr "Betöltés"
-#: gtk/gtkplacesview.c:2208
+#: gtk/gtkplacesview.c:2218
msgid "Whether the view is loading locations"
msgstr "A nézet helyeket tölt-e be"
-#: gtk/gtkplacesview.c:2214
+#: gtk/gtkplacesview.c:2224
msgid "Fetching networks"
msgstr "Hálózatok lekérése"
-#: gtk/gtkplacesview.c:2215
+#: gtk/gtkplacesview.c:2225
msgid "Whether the view is fetching networks"
msgstr "A nézet lekérje-e a hálózatokat"
-#: gtk/gtkplacesviewrow.c:327
+#: gtk/gtkplacesviewrow.c:333
msgid "Icon of the row"
msgstr "A sor ikonja"
-#: gtk/gtkplacesviewrow.c:328
+#: gtk/gtkplacesviewrow.c:334
msgid "The icon representing the volume"
msgstr "A kötetet ábrázoló ikon"
-#: gtk/gtkplacesviewrow.c:334
+#: gtk/gtkplacesviewrow.c:340
msgid "Name of the volume"
msgstr "A kötet neve"
-#: gtk/gtkplacesviewrow.c:335
+#: gtk/gtkplacesviewrow.c:341
msgid "The name of the volume"
msgstr "A kötet neve"
-#: gtk/gtkplacesviewrow.c:341
+#: gtk/gtkplacesviewrow.c:347
msgid "Path of the volume"
msgstr "A kötet elérési útja"
-#: gtk/gtkplacesviewrow.c:342
+#: gtk/gtkplacesviewrow.c:348
msgid "The path of the volume"
msgstr "A kötet elérési útja"
-#: gtk/gtkplacesviewrow.c:348
+#: gtk/gtkplacesviewrow.c:354
msgid "Volume represented by the row"
msgstr "A sor által képviselt kötet"
-#: gtk/gtkplacesviewrow.c:349
+#: gtk/gtkplacesviewrow.c:355
msgid "The volume represented by the row"
msgstr "A sor által képviselt kötet"
-#: gtk/gtkplacesviewrow.c:355
+#: gtk/gtkplacesviewrow.c:361
msgid "Mount represented by the row"
msgstr "A sor által képviselt csatolás"
-#: gtk/gtkplacesviewrow.c:356
+#: gtk/gtkplacesviewrow.c:362
msgid "The mount point represented by the row, if any"
msgstr "A sor által képviselt csatolási pont, ha van"
-#: gtk/gtkplacesviewrow.c:362
+#: gtk/gtkplacesviewrow.c:368
msgid "File represented by the row"
msgstr "A sor által képviselt kötet"
-#: gtk/gtkplacesviewrow.c:363
+#: gtk/gtkplacesviewrow.c:369
msgid "The file represented by the row, if any"
msgstr "A sor által képviselt fájl, ha van"
-#: gtk/gtkplacesviewrow.c:369 gtk/gtkplacesviewrow.c:370
+#: gtk/gtkplacesviewrow.c:375 gtk/gtkplacesviewrow.c:376
msgid "Whether the row represents a network location"
msgstr "A sor hálózati helyet képvisel-e"
-#: gtk/gtkpopover.c:1609
+#: gtk/gtkpopover.c:1619
msgid "Relative to"
msgstr "Ehhez viszonyítva"
-#: gtk/gtkpopover.c:1610
+#: gtk/gtkpopover.c:1620
msgid "Widget the bubble window points to"
msgstr "Felületi elem, amelyre a buborékablak mutat"
-#: gtk/gtkpopover.c:1623
+#: gtk/gtkpopover.c:1631
msgid "Pointing to"
msgstr "Erre mutatva"
-#: gtk/gtkpopover.c:1624
+#: gtk/gtkpopover.c:1632
msgid "Rectangle the bubble window points to"
msgstr "Téglalap, amelyre a buborékablak mutat"
-#: gtk/gtkpopover.c:1638
+#: gtk/gtkpopover.c:1644
msgid "Position to place the bubble window"
msgstr "Pozíció, ahova a buborékablak kerül"
-#: gtk/gtkpopover.c:1653
+#: gtk/gtkpopover.c:1657
msgid "Whether the popover is modal"
msgstr "A popover kizárólagos-e"
-#: gtk/gtkpopover.c:1666
+#: gtk/gtkpopover.c:1668
msgid "Constraint"
msgstr "Megszorítás"
-#: gtk/gtkpopover.c:1667
+#: gtk/gtkpopover.c:1669
msgid "Constraint for the popover position"
msgstr "A popover pozíciójához tartozó megszorítás"
@@ -4300,7 +4485,7 @@ msgstr "Látható almenü"
msgid "The name of the visible submenu"
msgstr "A látható almenü neve"
-#: gtk/gtkpopovermenu.c:364
+#: gtk/gtkpopovermenu.c:362
msgid "The name of the submenu"
msgstr "Az almenü neve"
@@ -4368,19 +4553,19 @@ msgstr "Feladatszám"
msgid "Number of jobs queued in the printer"
msgstr "A nyomtatón sorba állított feladatok száma"
-#: gtk/gtkprinter.c:196
+#: gtk/gtkprinter.c:194
msgid "Paused Printer"
msgstr "Nyomtató felfüggesztve"
-#: gtk/gtkprinter.c:197
+#: gtk/gtkprinter.c:195
msgid "TRUE if this printer is paused"
msgstr "Ha IGAZ, akkor a nyomtató fel van függesztve"
-#: gtk/gtkprinter.c:210
+#: gtk/gtkprinter.c:206
msgid "Accepting Jobs"
msgstr "Feladatok elfogadása"
-#: gtk/gtkprinter.c:211
+#: gtk/gtkprinter.c:207
msgid "TRUE if this printer is accepting new jobs"
msgstr "Ha IGAZ, akkor a nyomtató elfogad új feladatokat"
@@ -4420,11 +4605,11 @@ msgstr "Beállítások"
msgid "Printer settings"
msgstr "Nyomtató beállításai"
-#: gtk/gtkprintjob.c:159 gtk/gtkprintjob.c:160 gtk/gtkprintunixdialog.c:415
+#: gtk/gtkprintjob.c:159 gtk/gtkprintjob.c:160 gtk/gtkprintunixdialog.c:411
msgid "Page Setup"
msgstr "Oldalbeállítás"
-#: gtk/gtkprintjob.c:168 gtk/gtkprintoperation.c:1237
+#: gtk/gtkprintjob.c:168 gtk/gtkprintoperation.c:1200
msgid "Track Print Status"
msgstr "Nyomtatási állapot követése"
@@ -4437,51 +4622,51 @@ msgstr ""
"nyomtatókiszolgálóra küldése után is folytatja az állapot megváltozott "
"szignálok kibocsátását"
-#: gtk/gtkprintoperation.c:1109
+#: gtk/gtkprintoperation.c:1084
msgid "Default Page Setup"
msgstr "Alapértelmezett oldalbeállítás"
-#: gtk/gtkprintoperation.c:1110
+#: gtk/gtkprintoperation.c:1085
msgid "The GtkPageSetup used by default"
msgstr "Az alapértelmezetten használandó GtkPageSetup"
-#: gtk/gtkprintoperation.c:1128 gtk/gtkprintunixdialog.c:433
+#: gtk/gtkprintoperation.c:1101 gtk/gtkprintunixdialog.c:429
msgid "Print Settings"
msgstr "Nyomtatási beállítások"
-#: gtk/gtkprintoperation.c:1129 gtk/gtkprintunixdialog.c:434
+#: gtk/gtkprintoperation.c:1102 gtk/gtkprintunixdialog.c:430
msgid "The GtkPrintSettings used for initializing the dialog"
msgstr "A párbeszédablak előkészítésére használt GtkPrintSettings"
-#: gtk/gtkprintoperation.c:1147
+#: gtk/gtkprintoperation.c:1118
msgid "Job Name"
msgstr "Feladatnév"
-#: gtk/gtkprintoperation.c:1148
+#: gtk/gtkprintoperation.c:1119
msgid "A string used for identifying the print job."
msgstr "A nyomtatási feladat azonosítására használt karakterlánc"
-#: gtk/gtkprintoperation.c:1172
+#: gtk/gtkprintoperation.c:1141
msgid "Number of Pages"
msgstr "Oldalak száma"
-#: gtk/gtkprintoperation.c:1173
+#: gtk/gtkprintoperation.c:1142
msgid "The number of pages in the document."
msgstr "A dokumentum oldalainak száma"
-#: gtk/gtkprintoperation.c:1194 gtk/gtkprintunixdialog.c:423
+#: gtk/gtkprintoperation.c:1161 gtk/gtkprintunixdialog.c:419
msgid "Current Page"
msgstr "Jelenlegi oldal"
-#: gtk/gtkprintoperation.c:1195 gtk/gtkprintunixdialog.c:424
+#: gtk/gtkprintoperation.c:1162 gtk/gtkprintunixdialog.c:420
msgid "The current page in the document"
msgstr "A dokumentum jelenlegi oldala"
-#: gtk/gtkprintoperation.c:1216
+#: gtk/gtkprintoperation.c:1181
msgid "Use full page"
msgstr "Teljes oldal használata"
-#: gtk/gtkprintoperation.c:1217
+#: gtk/gtkprintoperation.c:1182
msgid ""
"TRUE if the origin of the context should be at the corner of the page and "
"not the corner of the imageable area"
@@ -4489,7 +4674,7 @@ msgstr ""
"Ha IGAZ, akkor a környezet eredetének az oldal sarkában kell lennie és nem a "
"leképezhető terület sarkában"
-#: gtk/gtkprintoperation.c:1238
+#: gtk/gtkprintoperation.c:1201
msgid ""
"TRUE if the print operation will continue to report on the print job status "
"after the print data has been sent to the printer or print server."
@@ -4498,153 +4683,153 @@ msgstr ""
"jelentését a nyomtatási adatok nyomtatóra vagy nyomtatókiszolgálóra küldése "
"után is"
-#: gtk/gtkprintoperation.c:1255
+#: gtk/gtkprintoperation.c:1216
msgid "Unit"
msgstr "Egység"
-#: gtk/gtkprintoperation.c:1256
+#: gtk/gtkprintoperation.c:1217
msgid "The unit in which distances can be measured in the context"
msgstr "A környezetben távolságok mérésére használt mértékegység"
-#: gtk/gtkprintoperation.c:1273
+#: gtk/gtkprintoperation.c:1232
msgid "Show Dialog"
msgstr "Párbeszédablak megjelenítése"
-#: gtk/gtkprintoperation.c:1274
+#: gtk/gtkprintoperation.c:1233
msgid "TRUE if a progress dialog is shown while printing."
msgstr ""
"Ha IGAZ, akkor az előrehaladási párbeszédablak megjelenik nyomtatás közben"
-#: gtk/gtkprintoperation.c:1297
+#: gtk/gtkprintoperation.c:1254
msgid "Allow Async"
msgstr "Async engedélyezése"
-#: gtk/gtkprintoperation.c:1298
+#: gtk/gtkprintoperation.c:1255
msgid "TRUE if print process may run asynchronous."
msgstr "Ha IGAZ, akkor a nyomtatási folyamat futhat aszinkron módon"
-#: gtk/gtkprintoperation.c:1320 gtk/gtkprintoperation.c:1321
+#: gtk/gtkprintoperation.c:1275 gtk/gtkprintoperation.c:1276
msgid "Export filename"
msgstr "Fájlnév exportálása"
-#: gtk/gtkprintoperation.c:1335
+#: gtk/gtkprintoperation.c:1288
msgid "Status"
msgstr "Állapot"
-#: gtk/gtkprintoperation.c:1336
+#: gtk/gtkprintoperation.c:1289
msgid "The status of the print operation"
msgstr "A nyomtatási folyamat állapota"
-#: gtk/gtkprintoperation.c:1356
+#: gtk/gtkprintoperation.c:1307
msgid "Status String"
msgstr "Állapot-karakterlánc"
-#: gtk/gtkprintoperation.c:1357
+#: gtk/gtkprintoperation.c:1308
msgid "A human-readable description of the status"
msgstr "Az állapot emberek által olvasható leírása"
-#: gtk/gtkprintoperation.c:1375
+#: gtk/gtkprintoperation.c:1324
msgid "Custom tab label"
msgstr "Egyéni lapcímke"
-#: gtk/gtkprintoperation.c:1376
+#: gtk/gtkprintoperation.c:1325
msgid "Label for the tab containing custom widgets."
msgstr "Az egyéni felületi elemeket tartalmazó lap címkéje"
-#: gtk/gtkprintoperation.c:1391 gtk/gtkprintunixdialog.c:458
+#: gtk/gtkprintoperation.c:1338 gtk/gtkprintunixdialog.c:454
msgid "Support Selection"
msgstr "Kiválasztás támogatása"
-#: gtk/gtkprintoperation.c:1392
+#: gtk/gtkprintoperation.c:1339
msgid "TRUE if the print operation will support print of selection."
msgstr ""
"Ha IGAZ, akkor a nyomtatási művelet támogatni fogja a kijelölés nyomtatását."
-#: gtk/gtkprintoperation.c:1408 gtk/gtkprintunixdialog.c:466
+#: gtk/gtkprintoperation.c:1353 gtk/gtkprintunixdialog.c:462
msgid "Has Selection"
msgstr "Van kijelölése"
-#: gtk/gtkprintoperation.c:1409
+#: gtk/gtkprintoperation.c:1354
msgid "TRUE if a selection exists."
msgstr "IGAZ, ha van kijelölés."
-#: gtk/gtkprintoperation.c:1424 gtk/gtkprintunixdialog.c:474
+#: gtk/gtkprintoperation.c:1367 gtk/gtkprintunixdialog.c:470
msgid "Embed Page Setup"
msgstr "Oldalbeállítás beágyazása"
-#: gtk/gtkprintoperation.c:1425 gtk/gtkprintunixdialog.c:475
+#: gtk/gtkprintoperation.c:1368 gtk/gtkprintunixdialog.c:471
msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog"
msgstr ""
"Ha IGAZ, akkor a nyomtatási párbeszédablak tartalmazza az oldalbeállítási "
"legördülő listákat"
-#: gtk/gtkprintoperation.c:1446
+#: gtk/gtkprintoperation.c:1387
msgid "Number of Pages To Print"
msgstr "Nyomtatandó oldalak száma"
-#: gtk/gtkprintoperation.c:1447
+#: gtk/gtkprintoperation.c:1388
msgid "The number of pages that will be printed."
msgstr "A nyomtatásra kerülő oldalak száma."
-#: gtk/gtkprintunixdialog.c:416
+#: gtk/gtkprintunixdialog.c:412
msgid "The GtkPageSetup to use"
msgstr "A használandó GtkPageSetup"
-#: gtk/gtkprintunixdialog.c:441
+#: gtk/gtkprintunixdialog.c:437
msgid "Selected Printer"
msgstr "Kiválasztott nyomtató"
-#: gtk/gtkprintunixdialog.c:442
+#: gtk/gtkprintunixdialog.c:438
msgid "The GtkPrinter which is selected"
msgstr "A kijelölt GtkPrinter"
-#: gtk/gtkprintunixdialog.c:449
+#: gtk/gtkprintunixdialog.c:445
msgid "Manual Capabilities"
msgstr "Kézi képességek"
-#: gtk/gtkprintunixdialog.c:450
+#: gtk/gtkprintunixdialog.c:446
msgid "Capabilities the application can handle"
msgstr "Az alkalmazás által kezelhető képességek"
-#: gtk/gtkprintunixdialog.c:459
+#: gtk/gtkprintunixdialog.c:455
msgid "Whether the dialog supports selection"
msgstr "A párbeszédablak támogatja-e a kijelölést?"
-#: gtk/gtkprintunixdialog.c:467
+#: gtk/gtkprintunixdialog.c:463
msgid "Whether the application has a selection"
msgstr "Az alkalmazásban van-e kijelölés?"
-#: gtk/gtkprogressbar.c:199
+#: gtk/gtkprogressbar.c:197
msgid "Fraction"
msgstr "Tört"
-#: gtk/gtkprogressbar.c:200
+#: gtk/gtkprogressbar.c:198
msgid "The fraction of total work that has been completed"
msgstr "A teljes munka elvégzett része törtként"
-#: gtk/gtkprogressbar.c:207
+#: gtk/gtkprogressbar.c:205
msgid "Pulse Step"
msgstr "Pulzuslépés"
-#: gtk/gtkprogressbar.c:208
+#: gtk/gtkprogressbar.c:206
msgid "The fraction of total progress to move the bouncing block when pulsed"
msgstr ""
"A teljes munka elvégzett része törtként a pattogó tégla mozgatásához pulzus "
"módban"
-#: gtk/gtkprogressbar.c:216
+#: gtk/gtkprogressbar.c:214
msgid "Text to be displayed in the progress bar"
msgstr "A folyamatjelzőben megjelenítendő szöveg"
-#: gtk/gtkprogressbar.c:237
+#: gtk/gtkprogressbar.c:233
msgid "Show text"
msgstr "Szöveg megjelenítése"
-#: gtk/gtkprogressbar.c:238
+#: gtk/gtkprogressbar.c:234
msgid "Whether the progress is shown as text."
msgstr "A folyamat megjelenjen-e szövegként."
-#: gtk/gtkprogressbar.c:259
+#: gtk/gtkprogressbar.c:253
msgid ""
"The preferred place to ellipsize the string, if the progress bar does not "
"have enough room to display the entire string, if at all."
@@ -4652,352 +4837,267 @@ msgstr ""
"A karakterlánc kihagyásainak preferált módja, ha a folyamatjelzőnek nincs "
"elég helye a karakterlánc teljes megjelenítésére."
-#: gtk/gtkradiobutton.c:184 gtk/gtkradiomenuitem.c:423
-#: gtk/gtkradiotoolbutton.c:83
+#: gtk/gtkradiobutton.c:183 gtk/gtkradiomenuitem.c:415
+#: gtk/gtkradiotoolbutton.c:81
msgid "Group"
msgstr "Csoport"
-#: gtk/gtkradiobutton.c:185
+#: gtk/gtkradiobutton.c:184
msgid "The radio button whose group this widget belongs to."
msgstr "A választógomb, amelynek a csoportjához ez a felületi elem tartozik."
-#: gtk/gtkradiomenuitem.c:424
+#: gtk/gtkradiomenuitem.c:416
msgid "The radio menu item whose group this widget belongs to."
msgstr ""
"A választómenü-elem, amelynek a csoportjához ez a felületi elem tartozik"
-#: gtk/gtkradiotoolbutton.c:84
+#: gtk/gtkradiotoolbutton.c:82
msgid "The radio tool button whose group this button belongs to."
msgstr "Az a rádiógomb, amely csoportjához ez a gomb tartozik."
-#: gtk/gtkrange.c:385
+#: gtk/gtkrange.c:373
msgid "The GtkAdjustment that contains the current value of this range object"
msgstr "A tartományobjektum aktuális értékét tartalmazó GtkAdjustment"
-#: gtk/gtkrange.c:392
+#: gtk/gtkrange.c:380
msgid "Invert direction slider moves to increase range value"
msgstr "Csúszka irányának megfordítása a tartományérték növeléséhez"
-#: gtk/gtkrange.c:407
+#: gtk/gtkrange.c:393
msgid "Show Fill Level"
msgstr "Kitöltési szint megjelenítése"
-#: gtk/gtkrange.c:408
+#: gtk/gtkrange.c:394
msgid "Whether to display a fill level indicator graphics on trough."
msgstr "A vályúban megjelenítendő-e kitöltésszint-jelző."
-#: gtk/gtkrange.c:423
+#: gtk/gtkrange.c:407
msgid "Restrict to Fill Level"
msgstr "Korlátozás a kitöltési szintre"
-#: gtk/gtkrange.c:424
+#: gtk/gtkrange.c:408
msgid "Whether to restrict the upper boundary to the fill level."
msgstr "A felső szegély korlátozása a kitöltési szintre."
-#: gtk/gtkrange.c:438
+#: gtk/gtkrange.c:420
msgid "Fill Level"
msgstr "Kitöltési szint"
-#: gtk/gtkrange.c:439
+#: gtk/gtkrange.c:421
msgid "The fill level."
msgstr "A kitöltés szintje."
-#: gtk/gtkrange.c:454
+#: gtk/gtkrange.c:434
msgid "Round Digits"
msgstr "Kerekítési számjegyek"
-#: gtk/gtkrange.c:455
+#: gtk/gtkrange.c:435
msgid "The number of digits to round the value to."
msgstr "Az érték kerekítése ennyi számjegyre."
-#: gtk/gtkrecentchooser.c:117
-msgid "Recent Manager"
-msgstr "Előzménykezelő"
-
-#: gtk/gtkrecentchooser.c:118
-msgid "The RecentManager object to use"
-msgstr "A használandó RecentManager objektum"
-
-#: gtk/gtkrecentchooser.c:133
-msgid "Show Private"
-msgstr "Privát megjelenítése"
-
-#: gtk/gtkrecentchooser.c:134
-msgid "Whether the private items should be displayed"
-msgstr "A privát elemek megjelenítésre kerüljenek-e"
-
-#: gtk/gtkrecentchooser.c:148
-msgid "Show Tooltips"
-msgstr "Buboréksúgók megjelenítése"
-
-#: gtk/gtkrecentchooser.c:149
-msgid "Whether there should be a tooltip on the item"
-msgstr "Az elem buboréksúgója meg legyen-e jelenítve"
-
-#: gtk/gtkrecentchooser.c:162
-msgid "Show Icons"
-msgstr "Ikonok megjelenítése"
-
-#: gtk/gtkrecentchooser.c:163
-msgid "Whether there should be an icon near the item"
-msgstr "Megjelenjen-e ikon az elem közelében"
-
-#: gtk/gtkrecentchooser.c:179
-msgid "Show Not Found"
-msgstr "Nem találhatók megjelenítése"
-
-#: gtk/gtkrecentchooser.c:180
-msgid "Whether the items pointing to unavailable resources should be displayed"
-msgstr ""
-"Megjelenítésre kerüljenek-e az el nem érhető erőforrásokra mutató elemek"
-
-#: gtk/gtkrecentchooser.c:194
-msgid "Whether to allow multiple items to be selected"
-msgstr "Lehet-e egyszerre több elemet kijelölni"
-
-#: gtk/gtkrecentchooser.c:208
-msgid "Local only"
-msgstr "Csak helyi"
-
-#: gtk/gtkrecentchooser.c:209
-msgid "Whether the selected resource(s) should be limited to local file: URIs"
-msgstr "A kijelölt erőforrások csak helyi file: URI-címek lehetnek-e"
-
-#: gtk/gtkrecentchooser.c:223
-msgid "Limit"
-msgstr "Korlátozás"
-
-#: gtk/gtkrecentchooser.c:224
-msgid "The maximum number of items to be displayed"
-msgstr "A megjelenítendő elemek legnagyobb száma"
-
-#: gtk/gtkrecentchooser.c:237
-msgid "Sort Type"
-msgstr "Rendezés típusa"
-
-#: gtk/gtkrecentchooser.c:238
-msgid "The sorting order of the items displayed"
-msgstr "A megjelenített elemek rendezési sorrendje"
-
-#: gtk/gtkrecentchooser.c:254
-msgid "The current filter for selecting which resources are displayed"
-msgstr "A megjelenítendő erőforrások kiválasztására használt aktuális szűrő"
-
-#: gtk/gtkrecentchoosermenu.c:216
-msgid "Show Numbers"
-msgstr "Számok megjelenítése"
-
-#: gtk/gtkrecentchoosermenu.c:217
-msgid "Whether the items should be displayed with a number"
-msgstr "Az elemek egy számmal együtt kerüljenek-e megjelenítésre"
-
-#: gtk/gtkrecentmanager.c:290
+#: gtk/gtkrecentmanager.c:283
msgid "The full path to the file to be used to store and read the list"
msgstr "A lista tárolására és beolvasására használandó fájl teljes útvonala"
-#: gtk/gtkrecentmanager.c:305
+#: gtk/gtkrecentmanager.c:296
msgid "The size of the recently used resources list"
msgstr "A legutóbb használt erőforrások listájának mérete"
-#: gtk/gtkrevealer.c:236 gtk/gtkstack.c:366
+#: gtk/gtkrevealer.c:235 gtk/gtkstack.c:361
msgid "Transition type"
msgstr "Átmenet típusa"
-#: gtk/gtkrevealer.c:237 gtk/gtkstack.c:366
+#: gtk/gtkrevealer.c:236 gtk/gtkstack.c:361
msgid "The type of animation used to transition"
msgstr "Az átmenethez használt animáció típusa"
-#: gtk/gtkrevealer.c:244 gtk/gtkstack.c:362
+#: gtk/gtkrevealer.c:243 gtk/gtkstack.c:357
msgid "Transition duration"
msgstr "Átmenet hossza"
-#: gtk/gtkrevealer.c:245 gtk/gtkstack.c:362
+#: gtk/gtkrevealer.c:244 gtk/gtkstack.c:357
msgid "The animation duration, in milliseconds"
msgstr "Az animáció hossza ezredmásodpercben"
-#: gtk/gtkrevealer.c:251
+#: gtk/gtkrevealer.c:250
msgid "Reveal Child"
msgstr "Gyermek megjelenítése"
-#: gtk/gtkrevealer.c:252
+#: gtk/gtkrevealer.c:251
msgid "Whether the container should reveal the child"
msgstr "A konténer megjelenítse-e a gyermeket"
-#: gtk/gtkrevealer.c:258
+#: gtk/gtkrevealer.c:257
msgid "Child Revealed"
msgstr "Gyermek megjelenítve"
-#: gtk/gtkrevealer.c:259
+#: gtk/gtkrevealer.c:258
msgid "Whether the child is revealed and the animation target reached"
msgstr "A gyermek megjelent-e, és az animáció célja el van-e érve"
-#: gtk/gtkscalebutton.c:197
+#: gtk/gtkscalebutton.c:199
msgid "The value of the scale"
msgstr "A méretezés értéke"
-#: gtk/gtkscalebutton.c:207
-msgid "The icon size"
-msgstr "Az ikon mérete"
-
-#: gtk/gtkscalebutton.c:216
+#: gtk/gtkscalebutton.c:209
msgid ""
"The GtkAdjustment that contains the current value of this scale button object"
msgstr "A méretezőgomb-objektum aktuális értékét tartalmazó GtkAdjustment"
-#: gtk/gtkscalebutton.c:244
+#: gtk/gtkscalebutton.c:235
msgid "Icons"
msgstr "Ikonok"
-#: gtk/gtkscalebutton.c:245
+#: gtk/gtkscalebutton.c:236
msgid "List of icon names"
msgstr "Ikonnevek listája"
-#: gtk/gtkscale.c:710
+#: gtk/gtkscale.c:705
msgid "The number of decimal places that are displayed in the value"
msgstr "A értékben megjelenített tizedesjegyek száma"
-#: gtk/gtkscale.c:717
+#: gtk/gtkscale.c:712
msgid "Draw Value"
msgstr "Rajzérték"
-#: gtk/gtkscale.c:718
+#: gtk/gtkscale.c:713
msgid "Whether the current value is displayed as a string next to the slider"
msgstr ""
"Az aktuális érték karakterláncként megjelenítésre kerüljön-e a csúszka "
"mellett"
-#: gtk/gtkscale.c:724
+#: gtk/gtkscale.c:719
msgid "Has Origin"
msgstr "Van eredete"
-#: gtk/gtkscale.c:725
+#: gtk/gtkscale.c:720
msgid "Whether the scale has an origin"
msgstr "A méretező rendelkezik-e eredettel"
-#: gtk/gtkscale.c:731
+#: gtk/gtkscale.c:726
msgid "Value Position"
msgstr "Érték pozíciója"
-#: gtk/gtkscale.c:732
+#: gtk/gtkscale.c:727
msgid "The position in which the current value is displayed"
msgstr "A pozíció, ahol az aktuális érték megjelenítésre kerül"
-#: gtk/gtkscrollable.c:77
+#: gtk/gtkscrollable.c:75
msgid "Horizontal adjustment"
msgstr "Vízszintes igazítás"
-#: gtk/gtkscrollable.c:78
+#: gtk/gtkscrollable.c:76
msgid ""
"Horizontal adjustment that is shared between the scrollable widget and its "
"controller"
msgstr ""
"A görgethető felületi elem és vezérlője között megosztott vízszintes igazítás"
-#: gtk/gtkscrollable.c:94
+#: gtk/gtkscrollable.c:90
msgid "Vertical adjustment"
msgstr "Függőleges igazítás"
-#: gtk/gtkscrollable.c:95
+#: gtk/gtkscrollable.c:91
msgid ""
"Vertical adjustment that is shared between the scrollable widget and its "
"controller"
msgstr ""
"A görgethető felületi elem és vezérlője között megosztott függőleges igazítás"
-#: gtk/gtkscrollable.c:111
+#: gtk/gtkscrollable.c:105
msgid "Horizontal Scrollable Policy"
msgstr "Vízszintes görgethető irányelve"
-#: gtk/gtkscrollable.c:112 gtk/gtkscrollable.c:128
+#: gtk/gtkscrollable.c:106 gtk/gtkscrollable.c:120
msgid "How the size of the content should be determined"
msgstr "Hogyan határozandó meg a tartalom mérete"
-#: gtk/gtkscrollable.c:127
+#: gtk/gtkscrollable.c:119
msgid "Vertical Scrollable Policy"
msgstr "Függőleges görgethető irányelve"
-#: gtk/gtkscrollbar.c:224
+#: gtk/gtkscrollbar.c:223
msgid "The GtkAdjustment that contains the current value of this scrollbar"
msgstr "A görgetősáv aktuális értékét tartalmazó GtkAdjustment"
-#: gtk/gtkscrolledwindow.c:530
+#: gtk/gtkscrolledwindow.c:540
msgid "Horizontal Adjustment"
msgstr "Vízszintes igazítás"
-#: gtk/gtkscrolledwindow.c:531
+#: gtk/gtkscrolledwindow.c:541
msgid "The GtkAdjustment for the horizontal position"
msgstr "A vízszintes pozícióhoz tartozó GtkAdjustment"
-#: gtk/gtkscrolledwindow.c:537
+#: gtk/gtkscrolledwindow.c:547
msgid "Vertical Adjustment"
msgstr "Függőleges igazítás"
-#: gtk/gtkscrolledwindow.c:538
+#: gtk/gtkscrolledwindow.c:548
msgid "The GtkAdjustment for the vertical position"
msgstr "A függőleges pozícióhoz tartozó GtkAdjustment"
-#: gtk/gtkscrolledwindow.c:544
+#: gtk/gtkscrolledwindow.c:554
msgid "Horizontal Scrollbar Policy"
msgstr "Vízszintes görgetősáv irányelv"
-#: gtk/gtkscrolledwindow.c:545
+#: gtk/gtkscrolledwindow.c:555
msgid "When the horizontal scrollbar is displayed"
msgstr "Mikor kerüljön megjelenítésre a vízszintes görgetősáv"
-#: gtk/gtkscrolledwindow.c:552
+#: gtk/gtkscrolledwindow.c:562
msgid "Vertical Scrollbar Policy"
msgstr "Függőleges görgetősáv irányelv"
-#: gtk/gtkscrolledwindow.c:553
+#: gtk/gtkscrolledwindow.c:563
msgid "When the vertical scrollbar is displayed"
msgstr "Mikor kerüljön megjelenítésre a függőleges görgetősáv"
-#: gtk/gtkscrolledwindow.c:560
+#: gtk/gtkscrolledwindow.c:570
msgid "Window Placement"
msgstr "Ablak elhelyezése"
-#: gtk/gtkscrolledwindow.c:561
+#: gtk/gtkscrolledwindow.c:571
msgid "Where the contents are located with respect to the scrollbars."
msgstr "Hol legyen a tartalom a görgetősávokhoz képest."
-#: gtk/gtkscrolledwindow.c:568
+#: gtk/gtkscrolledwindow.c:578
msgid "Shadow Type"
msgstr "Árnyéktípus"
-#: gtk/gtkscrolledwindow.c:569
+#: gtk/gtkscrolledwindow.c:579
msgid "Style of bevel around the contents"
msgstr "A tartalom körüli élkidolgozás stílusa"
-#: gtk/gtkscrolledwindow.c:583
+#: gtk/gtkscrolledwindow.c:591
msgid "Minimum Content Width"
msgstr "Legkisebb tartalomszélesség"
-#: gtk/gtkscrolledwindow.c:584
+#: gtk/gtkscrolledwindow.c:592
msgid "The minimum width that the scrolled window will allocate to its content"
msgstr "A görgetett ablak által a tartalomnak lefoglalandó legkisebb szélesség"
-#: gtk/gtkscrolledwindow.c:597
+#: gtk/gtkscrolledwindow.c:603
msgid "Minimum Content Height"
msgstr "Legkisebb tartalommagasság"
-#: gtk/gtkscrolledwindow.c:598
+#: gtk/gtkscrolledwindow.c:604
msgid ""
"The minimum height that the scrolled window will allocate to its content"
msgstr "A görgetett ablak által a tartalomnak lefoglalandó legkisebb magasság"
-#: gtk/gtkscrolledwindow.c:612
+#: gtk/gtkscrolledwindow.c:616
msgid "Kinetic Scrolling"
msgstr "Kinetikus görgetés"
-#: gtk/gtkscrolledwindow.c:613
+#: gtk/gtkscrolledwindow.c:617
msgid "Kinetic scrolling mode."
msgstr "Kinetikus görgetés mód."
-#: gtk/gtkscrolledwindow.c:629
+#: gtk/gtkscrolledwindow.c:631
msgid "Overlay Scrolling"
msgstr "Átfedő görgetés"
-#: gtk/gtkscrolledwindow.c:630
+#: gtk/gtkscrolledwindow.c:632
msgid "Overlay scrolling mode"
msgstr "Átfedő görgetés mód."
@@ -5010,48 +5110,48 @@ msgid "The maximum width that the scrolled window will allocate to its content"
msgstr ""
"A görgetett ablak által a tartalomnak lefoglalandó legnagyobb szélesség"
-#: gtk/gtkscrolledwindow.c:657
+#: gtk/gtkscrolledwindow.c:655
msgid "Maximum Content Height"
msgstr "Legnagyobb tartalommagasság"
-#: gtk/gtkscrolledwindow.c:658
+#: gtk/gtkscrolledwindow.c:656
msgid ""
"The maximum height that the scrolled window will allocate to its content"
msgstr "A görgetett ablak által a tartalomnak lefoglalandó legnagyobb magasság"
-#: gtk/gtkscrolledwindow.c:675 gtk/gtkscrolledwindow.c:676
+#: gtk/gtkscrolledwindow.c:671 gtk/gtkscrolledwindow.c:672
msgid "Propagate Natural Width"
msgstr "Természetes szélesség propagálása"
-#: gtk/gtkscrolledwindow.c:693 gtk/gtkscrolledwindow.c:694
+#: gtk/gtkscrolledwindow.c:687 gtk/gtkscrolledwindow.c:688
msgid "Propagate Natural Height"
msgstr "Természetes magasság propagálása"
-#: gtk/gtksearchbar.c:386
+#: gtk/gtksearchbar.c:430
msgid "Search Mode Enabled"
msgstr "Keresés mód engedélyezve"
-#: gtk/gtksearchbar.c:387
+#: gtk/gtksearchbar.c:431
msgid "Whether the search mode is on and the search bar shown"
msgstr "A keresés mód be van-e kapcsolva, és a keresősáv látható-e"
-#: gtk/gtksearchbar.c:398
+#: gtk/gtksearchbar.c:442
msgid "Whether to show the close button in the toolbar"
msgstr "Megjelenjen-e a bezárás gomb az eszköztáron"
-#: gtk/gtkseparatortoolitem.c:99
+#: gtk/gtkseparatortoolitem.c:94
msgid "Draw"
msgstr "Rajzolás"
-#: gtk/gtkseparatortoolitem.c:100
+#: gtk/gtkseparatortoolitem.c:95
msgid "Whether the separator is drawn, or just blank"
msgstr "Az elválasztó legyen-e kirajzolva, vagy csak legyen üres"
-#: gtk/gtksettings.c:351
+#: gtk/gtksettings.c:339
msgid "Double Click Time"
msgstr "Dupla kattintás ideje"
-#: gtk/gtksettings.c:352
+#: gtk/gtksettings.c:340
msgid ""
"Maximum time allowed between two clicks for them to be considered a double "
"click (in milliseconds)"
@@ -5059,11 +5159,11 @@ msgstr ""
"Két kattintás közötti maximális idő, amely még dupla kattintásnak tekintendő "
"(ezredmásodpercben)"
-#: gtk/gtksettings.c:359
+#: gtk/gtksettings.c:347
msgid "Double Click Distance"
msgstr "Dupla kattintás távolsága"
-#: gtk/gtksettings.c:360
+#: gtk/gtksettings.c:348
msgid ""
"Maximum distance allowed between two clicks for them to be considered a "
"double click (in pixels)"
@@ -5071,35 +5171,35 @@ msgstr ""
"Két kattintás közötti maximális távolság, amely még dupla kattintásnak "
"tekintendő (képpontban)"
-#: gtk/gtksettings.c:376
+#: gtk/gtksettings.c:364
msgid "Cursor Blink"
msgstr "Villogó kurzor"
-#: gtk/gtksettings.c:377
+#: gtk/gtksettings.c:365
msgid "Whether the cursor should blink"
msgstr "A kurzor villogjon-e"
-#: gtk/gtksettings.c:384
+#: gtk/gtksettings.c:372
msgid "Cursor Blink Time"
msgstr "Kurzor villogási ideje"
-#: gtk/gtksettings.c:385
+#: gtk/gtksettings.c:373
msgid "Length of the cursor blink cycle, in milliseconds"
msgstr "A kurzor villogási ciklusának hossza ezredmásodpercben"
-#: gtk/gtksettings.c:404
+#: gtk/gtksettings.c:390
msgid "Cursor Blink Timeout"
msgstr "Kurzor villogási időkorlátja"
-#: gtk/gtksettings.c:405
+#: gtk/gtksettings.c:391
msgid "Time after which the cursor stops blinking, in seconds"
msgstr "A kurzor ennyi másodperc után befejezi a villogást"
-#: gtk/gtksettings.c:412
+#: gtk/gtksettings.c:398
msgid "Split Cursor"
msgstr "Kurzor szétvágása"
-#: gtk/gtksettings.c:413
+#: gtk/gtksettings.c:399
msgid ""
"Whether two cursors should be displayed for mixed left-to-right and right-to-"
"left text"
@@ -5107,135 +5207,127 @@ msgstr ""
"Legyen-e két külön kurzor megjelenítve a balról jobbra és jobbról balra "
"olvasandó szövegeket vegyesen tartalmazó szövegben"
-#: gtk/gtksettings.c:420
+#: gtk/gtksettings.c:406
msgid "Theme Name"
msgstr "Téma neve"
-#: gtk/gtksettings.c:421
+#: gtk/gtksettings.c:407
msgid "Name of theme to load"
msgstr "A betöltendő téma neve"
-#: gtk/gtksettings.c:429
+#: gtk/gtksettings.c:415
msgid "Icon Theme Name"
msgstr "Ikontéma neve"
-#: gtk/gtksettings.c:430
+#: gtk/gtksettings.c:416
msgid "Name of icon theme to use"
msgstr "A használni kívánt ikontéma neve."
-#: gtk/gtksettings.c:438
+#: gtk/gtksettings.c:424
msgid "Key Theme Name"
msgstr "Billentyűtéma neve"
-#: gtk/gtksettings.c:439
+#: gtk/gtksettings.c:425
msgid "Name of key theme to load"
msgstr "A betöltendő billentyűtéma neve"
-#: gtk/gtksettings.c:447
+#: gtk/gtksettings.c:433
msgid "Drag threshold"
msgstr "Húzási küszöb"
-#: gtk/gtksettings.c:448
+#: gtk/gtksettings.c:434
msgid "Number of pixels the cursor can move before dragging"
msgstr ""
"Hány képpontnyi távolságot mozoghat el a kurzor a húzás megkezdése előtt"
-#: gtk/gtksettings.c:461
+#: gtk/gtksettings.c:447
msgid "Font Name"
msgstr "Betűkészlet neve"
-#: gtk/gtksettings.c:462
+#: gtk/gtksettings.c:448
msgid "The default font family and size to use"
msgstr "Az alapértelmezett betűcsalád és méret"
-#: gtk/gtksettings.c:470
-msgid "GTK Modules"
-msgstr "GTK-modulok"
-
-#: gtk/gtksettings.c:471
-msgid "List of currently active GTK modules"
-msgstr "Az éppen aktív GTK-modulok listája"
-
-#: gtk/gtksettings.c:479
+#: gtk/gtksettings.c:456
msgid "Xft Antialias"
msgstr "Xft élsimítás"
-#: gtk/gtksettings.c:480
+#: gtk/gtksettings.c:457
msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"
msgstr ""
"Szükséges-e az Xft betűkészletek élsimítása; 0=nem, 1=igen, -1=alapértelmezés"
-#: gtk/gtksettings.c:489
+#: gtk/gtksettings.c:466
msgid "Xft Hinting"
msgstr "Xft hinting"
-#: gtk/gtksettings.c:490
+#: gtk/gtksettings.c:467
msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default"
msgstr ""
"A hinting (raszterizálási segítség) funkció bekapcsolása Xft "
"betűkészleteken; 0=nem, 1=igen, -1=alapértelmezés"
-#: gtk/gtksettings.c:499
+#: gtk/gtksettings.c:476
msgid "Xft Hint Style"
msgstr "Xft hinting stílus"
-#: gtk/gtksettings.c:500
+#: gtk/gtksettings.c:477
msgid ""
"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"
msgstr ""
"Milyen szintű hinting kerüljön alkalmazásra: semennyi, kevés, közepes vagy "
"teljes"
-#: gtk/gtksettings.c:509
+#: gtk/gtksettings.c:486
msgid "Xft RGBA"
msgstr "Xft RGBA"
-#: gtk/gtksettings.c:510
+#: gtk/gtksettings.c:487
msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr"
msgstr "A képpontrész szintű élsimítás típusa: nincs, rgb, bgr, vrgb, vbgr"
-#: gtk/gtksettings.c:519
+#: gtk/gtksettings.c:496
msgid "Xft DPI"
msgstr "Xft DPI"
-#: gtk/gtksettings.c:520
+#: gtk/gtksettings.c:497
msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value"
msgstr ""
"Xft felbontás, 1024 * pont/hüvelyk értékként megadva; -1 az alapértelmezett "
"érték használatához"
-#: gtk/gtksettings.c:529
+#: gtk/gtksettings.c:506
msgid "Cursor theme name"
msgstr "Kurzortéma neve"
-#: gtk/gtksettings.c:530
+#: gtk/gtksettings.c:507
msgid "Name of the cursor theme to use, or NULL to use the default theme"
msgstr ""
"A használni kívánt kurzortéma neve, vagy NULL az alapértelmezett téma "
"használatához"
-#: gtk/gtksettings.c:538
+#: gtk/gtksettings.c:515
msgid "Cursor theme size"
msgstr "Kurzortéma mérete"
-#: gtk/gtksettings.c:539
+#: gtk/gtksettings.c:516
msgid "Size to use for cursors, or 0 to use the default size"
msgstr ""
"A kurzorokhoz használt méret vagy 0 az alapértelmezett méret használatához"
-#: gtk/gtksettings.c:548
+#: gtk/gtksettings.c:525
msgid "Alternative button order"
msgstr "Alternatív gombsorrend"
-#: gtk/gtksettings.c:549
+#: gtk/gtksettings.c:526
msgid "Whether buttons in dialogs should use the alternative button order"
msgstr "A párbeszédablak gombjai az alternatív gombsorrendet használják-e"
-#: gtk/gtksettings.c:566
+#: gtk/gtksettings.c:541
msgid "Alternative sort indicator direction"
msgstr "Alternatív rendezésjelző-irány"
-#: gtk/gtksettings.c:567
+#: gtk/gtksettings.c:542
msgid ""
"Whether the direction of the sort indicators in list and tree views is "
"inverted compared to the default (where down means ascending)"
@@ -5243,145 +5335,145 @@ msgstr ""
"A lista- és fanézetek rendezésjelzőinek iránya fordított-e az "
"alapértelmezéshez (növekvő) képest."
-#: gtk/gtksettings.c:575
+#: gtk/gtksettings.c:550
msgid "Enable Animations"
msgstr "Animációk bekapcsolása"
-#: gtk/gtksettings.c:576
+#: gtk/gtksettings.c:551
msgid "Whether to enable toolkit-wide animations."
msgstr "Eszközkészlet szintű animációk engedélyezése"
-#: gtk/gtksettings.c:596
+#: gtk/gtksettings.c:569
msgid "Error Bell"
msgstr "Hibacsengő"
-#: gtk/gtksettings.c:597
+#: gtk/gtksettings.c:570
msgid "When TRUE, keyboard navigation and other errors will cause a beep"
msgstr ""
"Ha IGAZ, akkor a billentyűnavigációs és egyéb hibák hangjelzést okoznak"
-#: gtk/gtksettings.c:615
+#: gtk/gtksettings.c:586
msgid "Default print backend"
msgstr "Alapértelmezett nyomtatási háttérprogram"
-#: gtk/gtksettings.c:616
+#: gtk/gtksettings.c:587
msgid "List of the GtkPrintBackend backends to use by default"
msgstr ""
"Az alapértelmezés szerint használandó GtkPrintBackend háttérprogramok listája"
-#: gtk/gtksettings.c:639
+#: gtk/gtksettings.c:608
msgid "Default command to run when displaying a print preview"
msgstr ""
"Nyomtatási előnézet megjelenítésekor futtatandó alapértelmezett parancs"
-#: gtk/gtksettings.c:640
+#: gtk/gtksettings.c:609
msgid "Command to run when displaying a print preview"
msgstr "Nyomtatási előnézet megjelenítésekor futtatandó parancs"
-#: gtk/gtksettings.c:656
+#: gtk/gtksettings.c:623
msgid "Enable Accelerators"
msgstr "Gyorsbillentyűk engedélyezése"
-#: gtk/gtksettings.c:657
+#: gtk/gtksettings.c:624
msgid "Whether menu items should have accelerators"
msgstr "A menüelemek rendelkezzenek-e gyorsbillentyűkkel"
-#: gtk/gtksettings.c:676
+#: gtk/gtksettings.c:643
msgid "Default IM module"
msgstr "Alapértelmezett beviteli modul"
-#: gtk/gtksettings.c:677
+#: gtk/gtksettings.c:644
msgid "Which IM module should be used by default"
msgstr "Az alapértelmezetten használandó beviteli modul"
-#: gtk/gtksettings.c:695
+#: gtk/gtksettings.c:660
msgid "Recent Files Max Age"
msgstr "Legutóbbi fájlok maximális kora"
-#: gtk/gtksettings.c:696
+#: gtk/gtksettings.c:661
msgid "Maximum age of recently used files, in days"
msgstr "A legutóbb használt fájlok maximális kora napokban"
-#: gtk/gtksettings.c:705
+#: gtk/gtksettings.c:670
msgid "Fontconfig configuration timestamp"
msgstr "Fontconfig konfigurációs időbélyeg"
-#: gtk/gtksettings.c:706
+#: gtk/gtksettings.c:671
msgid "Timestamp of current fontconfig configuration"
msgstr "A jelenlegi Fontconfig konfiguráció időbélyege"
-#: gtk/gtksettings.c:728
+#: gtk/gtksettings.c:691
msgid "Sound Theme Name"
msgstr "Hangtéma neve"
-#: gtk/gtksettings.c:729
+#: gtk/gtksettings.c:692
msgid "XDG sound theme name"
msgstr "XDG hangtéma neve"
#. Translators: this means sounds that are played as feedback to user input
-#: gtk/gtksettings.c:751
+#: gtk/gtksettings.c:712
msgid "Audible Input Feedback"
msgstr "Hallható bemenet-visszajelzés"
-#: gtk/gtksettings.c:752
+#: gtk/gtksettings.c:713
msgid "Whether to play event sounds as feedback to user input"
msgstr "Lejátszandók-e eseményhangok a felhasználói adatbevitelre válaszul"
-#: gtk/gtksettings.c:773
+#: gtk/gtksettings.c:732
msgid "Enable Event Sounds"
msgstr "Eseményhangok bekapcsolása"
-#: gtk/gtksettings.c:774
+#: gtk/gtksettings.c:733
msgid "Whether to play any event sounds at all"
msgstr "Lejátszásra kerüljenek-e az eseményhangok"
-#: gtk/gtksettings.c:790
+#: gtk/gtksettings.c:753
msgid "Primary button warps slider"
msgstr "Elsődleges gomb ugratja a csúszkát"
-#: gtk/gtksettings.c:791
+#: gtk/gtksettings.c:754
msgid ""
"Whether a primary click on the trough should warp the slider into position"
msgstr ""
"Az elsődleges kattintás a vályún az adott pozícióba ugratja-e a csúszkát."
-#: gtk/gtksettings.c:816
+#: gtk/gtksettings.c:777
msgid "Application prefers a dark theme"
msgstr "Az alkalmazás a sötét témát kedveli"
-#: gtk/gtksettings.c:817
+#: gtk/gtksettings.c:778
msgid "Whether the application prefers to have a dark theme."
msgstr "Az alkalmazás a sötét témát kedveli-e?"
-#: gtk/gtksettings.c:825 gtk/gtksettings.c:853
+#: gtk/gtksettings.c:786 gtk/gtksettings.c:812
msgid "Select on focus"
msgstr "Kijelölés fókusz esetén"
-#: gtk/gtksettings.c:826
+#: gtk/gtksettings.c:787
msgid "Whether to select the contents of an entry when it is focused"
msgstr ""
"Kijelölésre kerüljön-e a bejegyzés tartalma a fókusz megszerzése esetén"
-#: gtk/gtksettings.c:843
+#: gtk/gtksettings.c:802
msgid "Password Hint Timeout"
msgstr "Jelszótipp időtúllépése"
-#: gtk/gtksettings.c:844
+#: gtk/gtksettings.c:803
msgid "How long to show the last input character in hidden entries"
msgstr ""
"Meddig jelenjen meg az utoljára bevitt karakter a rejtett bejegyzésekben"
-#: gtk/gtksettings.c:854
+#: gtk/gtksettings.c:813
msgid "Whether to select the contents of a selectable label when it is focused"
msgstr ""
"Kijelölésre kerüljön-e a kiválasztható címke tartalma a fókusz megszerzése "
"esetén"
-#: gtk/gtksettings.c:862
+#: gtk/gtksettings.c:821
msgid "Desktop shell shows app menu"
msgstr "Az asztali héj jeleníti meg az alkalmazásmenüt"
-#: gtk/gtksettings.c:863
+#: gtk/gtksettings.c:822
msgid ""
"Set to TRUE if the desktop environment is displaying the app menu, FALSE if "
"the app should display it itself."
@@ -5389,11 +5481,11 @@ msgstr ""
"Állítsa IGAZ-ra, ha az asztali környezet jeleníti meg az alkalmazásmenüt, "
"HAMIS-ra ha az alkalmazás jelenítse meg."
-#: gtk/gtksettings.c:872
+#: gtk/gtksettings.c:831
msgid "Desktop shell shows the menubar"
msgstr "Az asztali héj jeleníti meg a menüsávot"
-#: gtk/gtksettings.c:873
+#: gtk/gtksettings.c:832
msgid ""
"Set to TRUE if the desktop environment is displaying the menubar, FALSE if "
"the app should display it itself."
@@ -5401,11 +5493,11 @@ msgstr ""
"Állítsa IGAZ-ra, ha az asztali környezet jeleníti meg a menüsávot, HAMIS-ra "
"ha az alkalmazás jelenítse meg."
-#: gtk/gtksettings.c:882
+#: gtk/gtksettings.c:841
msgid "Desktop environment shows the desktop folder"
msgstr "Az asztali környezet jeleníti meg az asztal mappát"
-#: gtk/gtksettings.c:883
+#: gtk/gtksettings.c:842
msgid ""
"Set to TRUE if the desktop environment is displaying the desktop folder, "
"FALSE if not."
@@ -5413,46 +5505,46 @@ msgstr ""
"Állítsa IGAZ-ra, ha az asztali környezet jeleníti meg az asztal mappát, "
"HAMIS-ra ha nem."
-#: gtk/gtksettings.c:937
+#: gtk/gtksettings.c:892
msgid "Titlebar double-click action"
msgstr "Címsoron való dupla kattintás művelete"
-#: gtk/gtksettings.c:938
+#: gtk/gtksettings.c:893
msgid "The action to take on titlebar double-click"
msgstr "A címsoron való dupla kattintáskor végzendő művelet"
-#: gtk/gtksettings.c:956
+#: gtk/gtksettings.c:909
msgid "Titlebar middle-click action"
msgstr "Címsoron való középső kattintás művelete"
-#: gtk/gtksettings.c:957
+#: gtk/gtksettings.c:910
msgid "The action to take on titlebar middle-click"
msgstr "A címsoron való középső kattintáskor végzendő művelet"
-#: gtk/gtksettings.c:975
+#: gtk/gtksettings.c:926
msgid "Titlebar right-click action"
msgstr "Címsoron való jobb kattintás művelete"
-#: gtk/gtksettings.c:976
+#: gtk/gtksettings.c:927
msgid "The action to take on titlebar right-click"
msgstr "A címsoron való jobb kattintáskor végzendő művelet"
-#: gtk/gtksettings.c:998
+#: gtk/gtksettings.c:947
msgid "Dialogs use header bar"
msgstr "A párbeszédablakok fejlécsávot használnak"
-#: gtk/gtksettings.c:999
+#: gtk/gtksettings.c:948
msgid ""
"Whether builtin GTK+ dialogs should use a header bar instead of an action "
"area."
msgstr ""
"A beépített GTK+ ablakok fejlécsávot használjanak-e a műveletterület helyett."
-#: gtk/gtksettings.c:1015
+#: gtk/gtksettings.c:962
msgid "Enable primary paste"
msgstr "Elsődleges beillesztés engedélyezése"
-#: gtk/gtksettings.c:1016
+#: gtk/gtksettings.c:963
msgid ""
"Whether a middle click on a mouse should paste the “PRIMARY” clipboard "
"content at the cursor location."
@@ -5460,60 +5552,60 @@ msgstr ""
"Az egér középső gombja az elsődleges vágólaptartalmat szúrja be a kurzor "
"helyére."
-#: gtk/gtksettings.c:1032
+#: gtk/gtksettings.c:977
msgid "Recent Files Enabled"
msgstr "Legutóbbi fájlok engedélyezve"
-#: gtk/gtksettings.c:1033
+#: gtk/gtksettings.c:978
msgid "Whether GTK+ remembers recent files"
msgstr "Emlékezzen-e a GTK+ a legutóbbi fájlokra"
-#: gtk/gtksettings.c:1048
+#: gtk/gtksettings.c:991
msgid "Long press time"
msgstr "Hosszú lenyomás ideje"
-#: gtk/gtksettings.c:1049
+#: gtk/gtksettings.c:992
msgid ""
"Time for a button/touch press to be considered a long press (in milliseconds)"
msgstr ""
"Egy gomb/érintés lenyomásának maximális ideje, amely hosszú lenyomásnak "
"tekintendő (ezredmásodpercben)"
-#: gtk/gtksettings.c:1066 gtk/gtksettings.c:1067
+#: gtk/gtksettings.c:1007 gtk/gtksettings.c:1008
msgid "Whether to show cursor in text"
msgstr "Megjelenjen-e a kurzor a szövegben"
-#: gtk/gtkshortcutlabel.c:476 gtk/gtkshortcutsshortcut.c:571
+#: gtk/gtkshortcutlabel.c:474 gtk/gtkshortcutsshortcut.c:571
msgid "Accelerator"
msgstr "Gyorsbillentyű"
-#: gtk/gtkshortcutlabel.c:488
+#: gtk/gtkshortcutlabel.c:484
msgid "Disabled text"
msgstr "Letiltott szöveg"
-#: gtk/gtkshortcutsgroup.c:319
+#: gtk/gtkshortcutsgroup.c:320
msgid "View"
msgstr "Nézet"
-#: gtk/gtkshortcutsgroup.c:332 gtk/gtkshortcutsgroup.c:333
+#: gtk/gtkshortcutsgroup.c:333 gtk/gtkshortcutsgroup.c:334
#: gtk/gtkshortcutsshortcut.c:652 gtk/gtkshortcutsshortcut.c:653
msgid "Accelerator Size Group"
msgstr "Gyorsbillentyű méretcsoport"
-#: gtk/gtkshortcutsgroup.c:346 gtk/gtkshortcutsgroup.c:347
+#: gtk/gtkshortcutsgroup.c:347 gtk/gtkshortcutsgroup.c:348
#: gtk/gtkshortcutsshortcut.c:666 gtk/gtkshortcutsshortcut.c:667
msgid "Title Size Group"
msgstr "Cím méretcsoport"
-#: gtk/gtkshortcutssection.c:342 gtk/gtkshortcutswindow.c:778
+#: gtk/gtkshortcutssection.c:339 gtk/gtkshortcutswindow.c:795
msgid "Section Name"
msgstr "Szakasznév"
-#: gtk/gtkshortcutssection.c:356 gtk/gtkshortcutswindow.c:793
+#: gtk/gtkshortcutssection.c:353 gtk/gtkshortcutswindow.c:810
msgid "View Name"
msgstr "Nézetnév"
-#: gtk/gtkshortcutssection.c:381
+#: gtk/gtkshortcutssection.c:378
msgid "Maximum Height"
msgstr "Maximális magasság"
@@ -5561,15 +5653,15 @@ msgstr "Hivatkozás típusa"
msgid "The type of shortcut that is represented"
msgstr "Az ábrázolt hivatkozás típusa"
-#: gtk/gtkshortcutsshortcut.c:712
+#: gtk/gtkshortcutsshortcut.c:710
msgid "Action Name"
msgstr "Műveletnév"
-#: gtk/gtkshortcutsshortcut.c:713
+#: gtk/gtkshortcutsshortcut.c:711
msgid "The name of the action"
msgstr "A művelet neve"
-#: gtk/gtksizegroup.c:220 gtk/gtktreeselection.c:130
+#: gtk/gtksizegroup.c:220 gtk/gtktreeselection.c:128
msgid "Mode"
msgstr "Mód"
@@ -5581,15 +5673,19 @@ msgstr ""
"Az irányok, amelyekben a méretcsoport befolyásolja az összetevő felületi "
"elemeinek kért méretét"
-#: gtk/gtkspinbutton.c:348
+#: gtk/gtkspinbutton.c:339
msgid "Climb Rate"
msgstr "Emelkedési sebesség"
-#: gtk/gtkspinbutton.c:364
+#: gtk/gtkspinbutton.c:340
+msgid "The acceleration rate when you hold down a button or key"
+msgstr "A gyorsulási sebesség egy gomb vagy billentyű lenyomásakor"
+
+#: gtk/gtkspinbutton.c:353
msgid "Snap to Ticks"
msgstr "Növekményhez ugrás"
-#: gtk/gtkspinbutton.c:365
+#: gtk/gtkspinbutton.c:354
msgid ""
"Whether erroneous values are automatically changed to a spin button’s "
"nearest step increment"
@@ -5597,220 +5693,204 @@ msgstr ""
"A hibás értékek automatikusan a léptetőgomb következő növekményéhez legyenek-"
"e igazítva"
-#: gtk/gtkspinbutton.c:372
+#: gtk/gtkspinbutton.c:360
msgid "Numeric"
msgstr "Szám"
-#: gtk/gtkspinbutton.c:373
+#: gtk/gtkspinbutton.c:361
msgid "Whether non-numeric characters should be ignored"
msgstr "Figyelmen kívül maradjanak-e a nem szám karakterek"
-#: gtk/gtkspinbutton.c:380
+#: gtk/gtkspinbutton.c:367
msgid "Wrap"
msgstr "Átfordulás"
-#: gtk/gtkspinbutton.c:381
+#: gtk/gtkspinbutton.c:368
msgid "Whether a spin button should wrap upon reaching its limits"
msgstr "A léptetőgomb átforduljon-e a határérték elérésekor"
-#: gtk/gtkspinbutton.c:388
+#: gtk/gtkspinbutton.c:374
msgid "Update Policy"
msgstr "Frissítési irányelv"
-#: gtk/gtkspinbutton.c:389
+#: gtk/gtkspinbutton.c:375
msgid ""
"Whether the spin button should update always, or only when the value is legal"
msgstr "A léptetőgomb mindig frissüljön-e, vagy csak ha az érték érvényes"
-#: gtk/gtkspinbutton.c:398
+#: gtk/gtkspinbutton.c:383
msgid "Reads the current value, or sets a new value"
msgstr "Kiolvassa az aktuális értéket, vagy beállít egy újat"
-#: gtk/gtkspinner.c:204
+#: gtk/gtkspinner.c:200
msgid "Whether the spinner is active"
msgstr "A forgó aktív-e"
-#: gtk/gtkstack.c:326
+#: gtk/gtkstack.c:325
msgid "Homogeneous sizing"
msgstr "Homogén méretezés"
-#: gtk/gtkstack.c:338
+#: gtk/gtkstack.c:335
msgid "Horizontally homogeneous"
msgstr "Vízszintesen homogén"
-#: gtk/gtkstack.c:338
+#: gtk/gtkstack.c:335
msgid "Horizontally homogeneous sizing"
msgstr "Vízszintesen homogén méretezés"
-#: gtk/gtkstack.c:350
+#: gtk/gtkstack.c:345
msgid "Vertically homogeneous"
msgstr "Függőlegesen homogén"
-#: gtk/gtkstack.c:350
+#: gtk/gtkstack.c:345
msgid "Vertically homogeneous sizing"
msgstr "Függőlegesen homogén méretezés"
-#: gtk/gtkstack.c:354
+#: gtk/gtkstack.c:349
msgid "Visible child"
msgstr "Látható gyermek"
-#: gtk/gtkstack.c:354
+#: gtk/gtkstack.c:349
msgid "The widget currently visible in the stack"
msgstr "A veremben jelenleg látható felületi elem"
-#: gtk/gtkstack.c:358
+#: gtk/gtkstack.c:353
msgid "Name of visible child"
msgstr "A látható gyermek neve"
-#: gtk/gtkstack.c:358
+#: gtk/gtkstack.c:353
msgid "The name of the widget currently visible in the stack"
msgstr "A veremben jelenleg látható felületi elem neve"
-#: gtk/gtkstack.c:370
+#: gtk/gtkstack.c:365
msgid "Transition running"
msgstr "Átmenet folyamatban"
-#: gtk/gtkstack.c:370
+#: gtk/gtkstack.c:365
msgid "Whether or not the transition is currently running"
msgstr "Az átmenet jelenleg fut-e"
-#: gtk/gtkstack.c:374
+#: gtk/gtkstack.c:369
msgid "Interpolate size"
msgstr "Méret interpolációja"
-#: gtk/gtkstack.c:374
+#: gtk/gtkstack.c:369
msgid ""
"Whether or not the size should smoothly change when changing between "
"differently sized children"
msgstr "A méret simán módosuljon-e eltérő méretű gyermekek közötti váltáskor."
-#: gtk/gtkstack.c:384
+#: gtk/gtkstack.c:379
msgid "The name of the child page"
msgstr "A gyermek oldal neve"
-#: gtk/gtkstack.c:391
+#: gtk/gtkstack.c:386
msgid "The title of the child page"
msgstr "A gyermek oldal címe"
-#: gtk/gtkstack.c:397 gtk/gtktoolbutton.c:245
+#: gtk/gtkstack.c:392 gtk/gtktoolbutton.c:240
msgid "Icon name"
msgstr "Ikonnév"
-#: gtk/gtkstack.c:398
+#: gtk/gtkstack.c:393
msgid "The icon name of the child page"
msgstr "A gyermek oldal ikonneve"
-#: gtk/gtkstack.c:422
+#: gtk/gtkstack.c:415
msgid "Needs Attention"
msgstr "Figyelmet kér"
-#: gtk/gtkstack.c:423
+#: gtk/gtkstack.c:416
msgid "Whether this page needs attention"
msgstr "Az oldal figyelmet kér-e"
-#: gtk/gtkstacksidebar.c:446 gtk/gtkstackswitcher.c:688
-#: gtk/gtkstackswitcher.c:689 gtk/inspector/gtkstackcombo.c:278
-#: gtk/inspector/gtkstackcombo.c:279
+#: gtk/gtkstacksidebar.c:444 gtk/gtkstackswitcher.c:631
+#: gtk/gtkstackswitcher.c:632 gtk/inspector/gtkstackcombo.c:267
+#: gtk/inspector/gtkstackcombo.c:268
msgid "Stack"
msgstr "Verem"
-#: gtk/gtkstacksidebar.c:447
+#: gtk/gtkstacksidebar.c:445
msgid "Associated stack for this GtkStackSidebar"
msgstr "Ehhez a GtkStackSidebar elemhez társított verem"
-#: gtk/gtkstackswitcher.c:679
-msgid "Icon Size"
-msgstr "Ikonméret"
-
-#: gtk/gtkstackswitcher.c:680
-msgid "Symbolic size to use for named icon"
-msgstr "A megnevezett ikon szimbolikus mérete"
+#: gtk/gtkstylecontext.c:208
+msgid "The associated GdkDisplay"
+msgstr "A társított GdkDisplay"
-#: gtk/gtkstylecontext.c:211
-msgid "The associated GdkScreen"
-msgstr "A társított GdkScreen"
-
-#: gtk/gtkstylecontext.c:217
-msgid "FrameClock"
-msgstr "FrameClock"
-
-#: gtk/gtkstylecontext.c:218
-msgid "The associated GdkFrameClock"
-msgstr "A társított GdkFrameClock"
-
-#: gtk/gtkstylecontext.c:233
+#: gtk/gtkstylecontext.c:221
msgid "The parent style context"
msgstr "A szülő stíluskörnyezete"
-#: gtk/gtkstyleproperty.c:109
+#: gtk/gtkstyleproperty.c:108
msgid "Property name"
msgstr "Tulajdonságnév"
-#: gtk/gtkstyleproperty.c:110
+#: gtk/gtkstyleproperty.c:109
msgid "The name of the property"
msgstr "A tulajdonság neve"
-#: gtk/gtkstyleproperty.c:116
+#: gtk/gtkstyleproperty.c:115
msgid "Value type"
msgstr "Érték típusa"
-#: gtk/gtkstyleproperty.c:117
+#: gtk/gtkstyleproperty.c:116
msgid "The value type returned by GtkStyleContext"
msgstr "A GtkStyleContext által visszadott értéktípus"
-#: gtk/gtkswitch.c:532
+#: gtk/gtkswitch.c:522
msgid "Whether the switch is on or off"
msgstr "A kapcsoló be vagy ki van-e kapcsolva"
-#: gtk/gtkswitch.c:547
+#: gtk/gtkswitch.c:535
msgid "The backend state"
msgstr "A háttérprogram állapota"
-#: gtk/gtktextbuffer.c:201
+#: gtk/gtktextbuffer.c:410
msgid "Tag Table"
msgstr "Tábla megcímkézése"
-#: gtk/gtktextbuffer.c:202
+#: gtk/gtktextbuffer.c:411
msgid "Text Tag Table"
msgstr "Tábla szöveges megcímkézése"
-#: gtk/gtktextbuffer.c:219
+#: gtk/gtktextbuffer.c:426
msgid "Current text of the buffer"
msgstr "A puffer jelenlegi szövege"
-#: gtk/gtktextbuffer.c:232
+#: gtk/gtktextbuffer.c:437
msgid "Has selection"
msgstr "Rendelkezik kijelöléssel"
-#: gtk/gtktextbuffer.c:233
+#: gtk/gtktextbuffer.c:438
msgid "Whether the buffer has some text currently selected"
msgstr "A pufferben van-e éppen kijelölve szöveg"
-#: gtk/gtktextbuffer.c:248
+#: gtk/gtktextbuffer.c:451
msgid "Cursor position"
msgstr "Kurzorpozíció"
-#: gtk/gtktextbuffer.c:249
+#: gtk/gtktextbuffer.c:452
msgid ""
"The position of the insert mark (as offset from the beginning of the buffer)"
msgstr "A beszúrási jel pozíciója (a puffer kezdetétől számított eltolásként)"
-#: gtk/gtktextbuffer.c:264
+#: gtk/gtktextbuffer.c:465
msgid "Copy target list"
msgstr "Másolási céllista"
-#: gtk/gtktextbuffer.c:265
+#: gtk/gtktextbuffer.c:466
msgid ""
"The list of targets this buffer supports for clipboard copying and DND source"
msgstr ""
"A puffer által vágólapmásoláshoz, valamint húzd és ejtsd forrásként "
"támogatott célok listája"
-#: gtk/gtktextbuffer.c:279
+#: gtk/gtktextbuffer.c:478
msgid "Paste target list"
msgstr "Beillesztési céllista"
-#: gtk/gtktextbuffer.c:280
+#: gtk/gtktextbuffer.c:479
msgid ""
"The list of targets this buffer supports for clipboard pasting and DND "
"destination"
@@ -5818,40 +5898,40 @@ msgstr ""
"A puffer által vágólap-beillesztéshez, valamint húzd és ejtsd célként "
"támogatott célok listája"
-#: gtk/gtktexthandle.c:711 gtk/gtktexthandle.c:712 gtk/gtkwidget.c:1089
+#: gtk/gtktexthandle.c:663 gtk/gtktexthandle.c:664 gtk/gtkwidget.c:948
msgid "Parent widget"
msgstr "Szülő felületi elem"
-#: gtk/gtktextmark.c:137
+#: gtk/gtktextmark.c:136
msgid "Mark name"
msgstr "Jelölés neve"
-#: gtk/gtktextmark.c:151
+#: gtk/gtktextmark.c:150
msgid "Left gravity"
msgstr "Bal gravitáció"
-#: gtk/gtktextmark.c:152
+#: gtk/gtktextmark.c:151
msgid "Whether the mark has left gravity"
msgstr "A jelölés bal gravitációval rendelkezik-e"
-#: gtk/gtktexttag.c:201
+#: gtk/gtktexttag.c:194
msgid "Tag name"
msgstr "Címke neve"
-#: gtk/gtktexttag.c:202
+#: gtk/gtktexttag.c:195
msgid "Name used to refer to the text tag. NULL for anonymous tags"
msgstr ""
"A szöveges címkére hivatkozáshoz használt név. NULL a név nélküli címkékhez"
-#: gtk/gtktexttag.c:226
+#: gtk/gtktexttag.c:217
msgid "Background RGBA"
msgstr "Háttér RGBA"
-#: gtk/gtktexttag.c:234
+#: gtk/gtktexttag.c:225
msgid "Background full height"
msgstr "Háttér teljes magasság"
-#: gtk/gtktexttag.c:235
+#: gtk/gtktexttag.c:226
msgid ""
"Whether the background color fills the entire line height or only the height "
"of the tagged characters"
@@ -5859,28 +5939,28 @@ msgstr ""
"A háttérszín kitölti-e a teljes sormagasságot, vagy csak a címkézett "
"karakterek magasságát"
-#: gtk/gtktexttag.c:257
+#: gtk/gtktexttag.c:246
msgid "Foreground RGBA"
msgstr "Előtérszín RGBA"
-#: gtk/gtktexttag.c:265
+#: gtk/gtktexttag.c:254
msgid "Text direction"
msgstr "Szövegirány"
-#: gtk/gtktexttag.c:266
+#: gtk/gtktexttag.c:255
msgid "Text direction, e.g. right-to-left or left-to-right"
msgstr "A szöveg iránya, például jobbról-balra vagy balról jobbra"
-#: gtk/gtktexttag.c:315
+#: gtk/gtktexttag.c:304
msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC"
msgstr "A betűkészlet stílusa, mint PangoStyle, például: PANGO_STYLE_ITALIC"
-#: gtk/gtktexttag.c:324
+#: gtk/gtktexttag.c:313
msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS"
msgstr ""
"A betűkészlet változata, mint PangoVariant, például: PANGO_VARIANT_SMALL_CAPS"
-#: gtk/gtktexttag.c:333
+#: gtk/gtktexttag.c:322
msgid ""
"Font weight as an integer, see predefined values in PangoWeight; for "
"example, PANGO_WEIGHT_BOLD"
@@ -5888,16 +5968,16 @@ msgstr ""
"A betűkészlet súlya egész számként; az előre megadott értékek a PangoWeight "
"tulajdonságban találhatók; például PANGO_WEIGHT_BOLD"
-#: gtk/gtktexttag.c:344
+#: gtk/gtktexttag.c:333
msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED"
msgstr ""
"A betűkészlet nyújtása, mint PangoStretch, például: PANGO_STRETCH_CONDENSED"
-#: gtk/gtktexttag.c:353
+#: gtk/gtktexttag.c:342
msgid "Font size in Pango units"
msgstr "A betűkészlet mérete Pango egységekben"
-#: gtk/gtktexttag.c:363
+#: gtk/gtktexttag.c:352
msgid ""
"Font size as a scale factor relative to the default font size. This properly "
"adapts to theme changes etc. so is recommended. Pango predefines some scales "
@@ -5908,11 +5988,11 @@ msgstr ""
"javasolt. A Pango előre meghatároz bizonyos arányokat, mint például a "
"PANGO_SCALE_X_LARGE"
-#: gtk/gtktexttag.c:383 gtk/gtktextview.c:834
+#: gtk/gtktexttag.c:372 gtk/gtktextview.c:776
msgid "Left, right, or center justification"
msgstr "Balra, jobbra vagy középre igazítás"
-#: gtk/gtktexttag.c:402
+#: gtk/gtktexttag.c:391
msgid ""
"The language this text is in, as an ISO code. Pango can use this as a hint "
"when rendering the text. If not set, an appropriate default will be used."
@@ -5921,31 +6001,31 @@ msgstr ""
"szöveg megjelenítéséhez. Ha nincs beállítva, egy megfelelő alapértelmezés "
"lesz használva."
-#: gtk/gtktexttag.c:409
+#: gtk/gtktexttag.c:398
msgid "Left margin"
msgstr "Bal oldali margó"
-#: gtk/gtktexttag.c:410 gtk/gtktextview.c:855
+#: gtk/gtktexttag.c:399 gtk/gtktextview.c:797
msgid "Width of the left margin in pixels"
msgstr "A bal margó szélessége, képpontokban megadva"
-#: gtk/gtktexttag.c:419
+#: gtk/gtktexttag.c:408
msgid "Right margin"
msgstr "Jobb oldali margó"
-#: gtk/gtktexttag.c:420 gtk/gtktextview.c:875
+#: gtk/gtktexttag.c:409 gtk/gtktextview.c:817
msgid "Width of the right margin in pixels"
msgstr "A jobb margó szélessége, képpontokban megadva"
-#: gtk/gtktexttag.c:430 gtk/gtktextview.c:924
+#: gtk/gtktexttag.c:419 gtk/gtktextview.c:862
msgid "Indent"
msgstr "Behúzás"
-#: gtk/gtktexttag.c:431 gtk/gtktextview.c:925
+#: gtk/gtktexttag.c:420 gtk/gtktextview.c:863
msgid "Amount to indent the paragraph, in pixels"
msgstr "A bekezdés behúzása, képpontokban megadva"
-#: gtk/gtktexttag.c:442
+#: gtk/gtktexttag.c:431
msgid ""
"Offset of text above the baseline (below the baseline if rise is negative) "
"in Pango units"
@@ -5953,364 +6033,348 @@ msgstr ""
"Az alapvonal feletti szövegeltolás (az alapvonal alatti, ha negatív érték), "
"Pango egységekben megadva"
-#: gtk/gtktexttag.c:451
+#: gtk/gtktexttag.c:440
msgid "Pixels above lines"
msgstr "Vonalak feletti képpontok"
-#: gtk/gtktexttag.c:452 gtk/gtktextview.c:793
+#: gtk/gtktexttag.c:441 gtk/gtktextview.c:735
msgid "Pixels of blank space above paragraphs"
msgstr "A bekezdések feletti üres terület, képpontokban megadva"
-#: gtk/gtktexttag.c:461
+#: gtk/gtktexttag.c:450
msgid "Pixels below lines"
msgstr "Vonalak alatti képpontok"
-#: gtk/gtktexttag.c:462 gtk/gtktextview.c:801
+#: gtk/gtktexttag.c:451 gtk/gtktextview.c:743
msgid "Pixels of blank space below paragraphs"
msgstr "A bekezdések alatti üres terület, képpontokban megadva"
-#: gtk/gtktexttag.c:471
+#: gtk/gtktexttag.c:460
msgid "Pixels inside wrap"
msgstr "Tördelésen belüli képpontok"
-#: gtk/gtktexttag.c:472 gtk/gtktextview.c:809
+#: gtk/gtktexttag.c:461 gtk/gtktextview.c:751
msgid "Pixels of blank space between wrapped lines in a paragraph"
msgstr "A bekezdés áttördelt sorai közötti üres terület, képpontokban megadva"
-#: gtk/gtktexttag.c:510
+#: gtk/gtktexttag.c:497
msgid "Underline RGBA"
msgstr "Aláhúzás RGBA"
-#: gtk/gtktexttag.c:511
+#: gtk/gtktexttag.c:498
msgid "Color of underline for this text"
msgstr "Ezen szöveg aláhúzásának színe"
-#: gtk/gtktexttag.c:526
+#: gtk/gtktexttag.c:511
msgid "Strikethrough RGBA"
msgstr "Áthúzás RGBA"
-#: gtk/gtktexttag.c:527
+#: gtk/gtktexttag.c:512
msgid "Color of strikethrough for this text"
msgstr "Ezen szöveg áthúzásának színe"
-#: gtk/gtktexttag.c:535 gtk/gtktextview.c:825
+#: gtk/gtktexttag.c:520 gtk/gtktextview.c:767
msgid ""
"Whether to wrap lines never, at word boundaries, or at character boundaries"
msgstr "A sorok tördelésének módja: soha, szóhatárokon, karakterhatárokon"
-#: gtk/gtktexttag.c:545 gtk/gtktextview.c:933
+#: gtk/gtktexttag.c:530 gtk/gtktextview.c:871
msgid "Custom tabs for this text"
msgstr "A szöveg egyedi lapjai"
-#: gtk/gtktexttag.c:563
+#: gtk/gtktexttag.c:546
msgid "Invisible"
msgstr "Láthatatlan"
-#: gtk/gtktexttag.c:564
+#: gtk/gtktexttag.c:547
msgid "Whether this text is hidden."
msgstr "Ez a szöveg rejtett-e?"
-#: gtk/gtktexttag.c:578
+#: gtk/gtktexttag.c:559
msgid "Paragraph background color name"
msgstr "Bekezdés háttérszínének neve"
-#: gtk/gtktexttag.c:579
+#: gtk/gtktexttag.c:560
msgid "Paragraph background color as a string"
msgstr "Bekezdés háttérszíne karakterláncként"
-#: gtk/gtktexttag.c:593
+#: gtk/gtktexttag.c:572
msgid "Paragraph background RGBA"
msgstr "Bekezdés-háttérszín RGBA-ja"
-#: gtk/gtktexttag.c:594
+#: gtk/gtktexttag.c:573
msgid "Paragraph background RGBA as a GdkRGBA"
msgstr "Bekezdés-háttérszín RGBA-ja GdkRGBA-ként"
-#: gtk/gtktexttag.c:611
-msgid "Fallback"
-msgstr "Tartalék"
-
-#: gtk/gtktexttag.c:612
+#: gtk/gtktexttag.c:589
msgid "Whether font fallback is enabled."
msgstr "A tartalék betűkészlet engedélyezve van-e."
-#: gtk/gtktexttag.c:626
+#: gtk/gtktexttag.c:601
msgid "Letter Spacing"
msgstr "Betűköz"
-#: gtk/gtktexttag.c:627
+#: gtk/gtktexttag.c:602
msgid "Extra spacing between graphemes"
msgstr "A grafémák közti további térköz"
-#: gtk/gtktexttag.c:641
+#: gtk/gtktexttag.c:614
msgid "Font Features"
msgstr "Betűjellemzők"
-#: gtk/gtktexttag.c:642
+#: gtk/gtktexttag.c:615
msgid "OpenType Font Features to use"
msgstr "Használandó OpenType betűjellemzők"
-#: gtk/gtktexttag.c:660
+#: gtk/gtktexttag.c:631
msgid "Margin Accumulates"
msgstr "Margóegyesítés"
-#: gtk/gtktexttag.c:661
+#: gtk/gtktexttag.c:632
msgid "Whether left and right margins accumulate."
msgstr "A bal és jobb margók egyesülnek-e."
-#: gtk/gtktexttag.c:674
+#: gtk/gtktexttag.c:645
msgid "Background full height set"
msgstr "Háttér teljes magasság beállítva"
-#: gtk/gtktexttag.c:675
+#: gtk/gtktexttag.c:646
msgid "Whether this tag affects background height"
msgstr "A címke befolyásolja-e a háttérmagasságot"
-#: gtk/gtktexttag.c:714
+#: gtk/gtktexttag.c:685
msgid "Justification set"
msgstr "Sorkizárás beállítva"
-#: gtk/gtktexttag.c:715
+#: gtk/gtktexttag.c:686
msgid "Whether this tag affects paragraph justification"
msgstr "A címke befolyásolja-e a bekezdés sorkizárását"
-#: gtk/gtktexttag.c:722
+#: gtk/gtktexttag.c:693
msgid "Left margin set"
msgstr "Bal margó beállítva"
-#: gtk/gtktexttag.c:723
+#: gtk/gtktexttag.c:694
msgid "Whether this tag affects the left margin"
msgstr "A címke befolyásolja-e a bal margót"
-#: gtk/gtktexttag.c:726
+#: gtk/gtktexttag.c:697
msgid "Indent set"
msgstr "Behúzás beállítva"
-#: gtk/gtktexttag.c:727
+#: gtk/gtktexttag.c:698
msgid "Whether this tag affects indentation"
msgstr "A címke befolyásolja-e a behúzást"
-#: gtk/gtktexttag.c:734
+#: gtk/gtktexttag.c:705
msgid "Pixels above lines set"
msgstr "Vonal feletti képpontok beállítva"
-#: gtk/gtktexttag.c:735 gtk/gtktexttag.c:739
+#: gtk/gtktexttag.c:706 gtk/gtktexttag.c:710
msgid "Whether this tag affects the number of pixels above lines"
msgstr "A címke befolyásolja-e a vonal feletti képpontok számát"
-#: gtk/gtktexttag.c:738
+#: gtk/gtktexttag.c:709
msgid "Pixels below lines set"
msgstr "Vonal alatti képpontok beállítva"
-#: gtk/gtktexttag.c:742
+#: gtk/gtktexttag.c:713
msgid "Pixels inside wrap set"
msgstr "Tördelésen belüli képpontok beállítva"
-#: gtk/gtktexttag.c:743
+#: gtk/gtktexttag.c:714
msgid "Whether this tag affects the number of pixels between wrapped lines"
msgstr "A címke befolyásolja-e a tördelésen belüli képpontok számát"
-#: gtk/gtktexttag.c:750
+#: gtk/gtktexttag.c:721
msgid "Right margin set"
msgstr "Jobb margó beállítva"
-#: gtk/gtktexttag.c:751
+#: gtk/gtktexttag.c:722
msgid "Whether this tag affects the right margin"
msgstr "A címke befolyásolja-e a jobb margót"
-#: gtk/gtktexttag.c:765
+#: gtk/gtktexttag.c:734
msgid "Underline RGBA set"
msgstr "Aláhúzás RGBA beállítása"
-#: gtk/gtktexttag.c:766
+#: gtk/gtktexttag.c:735
msgid "Whether this tag affects underlining color"
msgstr "Ez az elem befolyásolja-e az aláhúzás színét"
-#: gtk/gtktexttag.c:776
+#: gtk/gtktexttag.c:743
msgid "Strikethrough RGBA set"
msgstr "Áthúzás RGBA beállítása"
-#: gtk/gtktexttag.c:777
+#: gtk/gtktexttag.c:744
msgid "Whether this tag affects strikethrough color"
msgstr "Ez az elem befolyásolja-e az áthúzás színét"
-#: gtk/gtktexttag.c:780
+#: gtk/gtktexttag.c:747
msgid "Wrap mode set"
msgstr "Tördelési mód beállítva"
-#: gtk/gtktexttag.c:781
+#: gtk/gtktexttag.c:748
msgid "Whether this tag affects line wrap mode"
msgstr "A címke befolyásolja-e a sorok tördelésének módját"
-#: gtk/gtktexttag.c:784
+#: gtk/gtktexttag.c:751
msgid "Tabs set"
msgstr "Tabulátor beállítása"
-#: gtk/gtktexttag.c:785
+#: gtk/gtktexttag.c:752
msgid "Whether this tag affects tabs"
msgstr "A címke befolyásolja-e a tabulátorok beállítását"
-#: gtk/gtktexttag.c:788
+#: gtk/gtktexttag.c:755
msgid "Invisible set"
msgstr "Láthatatlan beállítva"
-#: gtk/gtktexttag.c:789
+#: gtk/gtktexttag.c:756
msgid "Whether this tag affects text visibility"
msgstr "A címke befolyásolja-e a szöveg láthatóságát"
-#: gtk/gtktexttag.c:792
+#: gtk/gtktexttag.c:759
msgid "Paragraph background set"
msgstr "Bekezdés háttérszínének beállítása"
-#: gtk/gtktexttag.c:793
+#: gtk/gtktexttag.c:760
msgid "Whether this tag affects the paragraph background color"
msgstr "Ez a címke befolyásolja-e a bekezdés háttérszínét"
-#: gtk/gtktexttag.c:796
+#: gtk/gtktexttag.c:763
msgid "Fallback set"
msgstr "Tartalék beállítása"
-#: gtk/gtktexttag.c:797
+#: gtk/gtktexttag.c:764
msgid "Whether this tag affects font fallback"
msgstr "Ez a címke befolyásolja-e a tartalék betűkészletet"
-#: gtk/gtktexttag.c:800
+#: gtk/gtktexttag.c:767
msgid "Letter spacing set"
msgstr "Betűköz beállítása"
-#: gtk/gtktexttag.c:801
+#: gtk/gtktexttag.c:768
msgid "Whether this tag affects letter spacing"
msgstr "Ez a címke befolyásolja-e a betűközt"
-#: gtk/gtktexttag.c:804
+#: gtk/gtktexttag.c:771
msgid "Font features set"
msgstr "Beállított betűjellemzők"
-#: gtk/gtktexttag.c:805
+#: gtk/gtktexttag.c:772
msgid "Whether this tag affects font features"
msgstr "Az elem befolyásolja-e a betűjellemzőket"
-#: gtk/gtktextview.c:792
+#: gtk/gtktextview.c:734
msgid "Pixels Above Lines"
msgstr "Sorok feletti képpontok"
-#: gtk/gtktextview.c:800
+#: gtk/gtktextview.c:742
msgid "Pixels Below Lines"
msgstr "Sorok alatti képpontok"
-#: gtk/gtktextview.c:808
+#: gtk/gtktextview.c:750
msgid "Pixels Inside Wrap"
msgstr "Tördelésen belüli képpontok"
-#: gtk/gtktextview.c:824
+#: gtk/gtktextview.c:766
msgid "Wrap Mode"
msgstr "Sortördelés módja"
-#: gtk/gtktextview.c:854
+#: gtk/gtktextview.c:796
msgid "Left Margin"
msgstr "Bal oldali margó"
-#: gtk/gtktextview.c:874
+#: gtk/gtktextview.c:816
msgid "Right Margin"
msgstr "Jobb oldali margó"
-#: gtk/gtktextview.c:895
+#: gtk/gtktextview.c:835
msgid "Top Margin"
msgstr "Felső margó"
-#: gtk/gtktextview.c:896
+#: gtk/gtktextview.c:836
msgid "Height of the top margin in pixels"
msgstr "A felső margó magassága képpontokban megadva"
-#: gtk/gtktextview.c:916
+#: gtk/gtktextview.c:854
msgid "Bottom Margin"
msgstr "Alsó margó"
-#: gtk/gtktextview.c:917
+#: gtk/gtktextview.c:855
msgid "Height of the bottom margin in pixels"
msgstr "Az alsó margó magassága képpontokban megadva"
-#: gtk/gtktextview.c:940
+#: gtk/gtktextview.c:878
msgid "Cursor Visible"
msgstr "Kurzor látható"
-#: gtk/gtktextview.c:941
+#: gtk/gtktextview.c:879
msgid "If the insertion cursor is shown"
msgstr "A beszúrási kurzor látható-e"
-#: gtk/gtktextview.c:948
+#: gtk/gtktextview.c:886
msgid "Buffer"
msgstr "Puffer"
-#: gtk/gtktextview.c:949
+#: gtk/gtktextview.c:887
msgid "The buffer which is displayed"
msgstr "A megjelenített puffer"
-#: gtk/gtktextview.c:957
+#: gtk/gtktextview.c:895
msgid "Whether entered text overwrites existing contents"
msgstr "A beírt szöveg felülírja-e a meglévő tartalmat"
-#: gtk/gtktextview.c:964
+#: gtk/gtktextview.c:902
msgid "Accepts tab"
msgstr "Tabulátor elfogadása"
-#: gtk/gtktextview.c:965
+#: gtk/gtktextview.c:903
msgid "Whether Tab will result in a tab character being entered"
msgstr "A Tab gomb megnyomása tabulátor karakter beírását eredményezi-e"
-#: gtk/gtktextview.c:1053
+#: gtk/gtktextview.c:981
msgid "Monospace"
msgstr "Rögzített szélességű"
-#: gtk/gtktextview.c:1054
+#: gtk/gtktextview.c:982
msgid "Whether to use a monospace font"
msgstr "Használjon-e rögzített szélességű betűkészletet"
-#: gtk/gtktogglebutton.c:157 gtk/gtktoggletoolbutton.c:116
+#: gtk/gtktogglebutton.c:161 gtk/gtktoggletoolbutton.c:114
msgid "If the toggle button should be pressed in"
msgstr "Az átkapcsoló gomb le legyen-e nyomva?"
-#: gtk/gtktoolbar.c:499 gtk/gtktoolpalette.c:945
+#: gtk/gtktoolbar.c:488
msgid "Toolbar Style"
msgstr "Eszköztár stílusa"
-#: gtk/gtktoolbar.c:500
+#: gtk/gtktoolbar.c:489
msgid "How to draw the toolbar"
msgstr "Az eszköztár kirajzolása"
-#: gtk/gtktoolbar.c:507
+#: gtk/gtktoolbar.c:496
msgid "Show Arrow"
msgstr "Nyíl megjelenítése"
-#: gtk/gtktoolbar.c:508
+#: gtk/gtktoolbar.c:497
msgid "If an arrow should be shown if the toolbar doesn’t fit"
msgstr "Jelenjen-e meg egy nyíl, ha az eszköztár nem fér ki"
-#: gtk/gtktoolbar.c:529
-msgid "Size of icons in this toolbar"
-msgstr "Az eszköztár ikonjainak mérete"
-
-#: gtk/gtktoolbar.c:544 gtk/gtktoolpalette.c:931
-msgid "Icon size set"
-msgstr "Ikonméret beállítva"
-
-#: gtk/gtktoolbar.c:545 gtk/gtktoolpalette.c:932
-msgid "Whether the icon-size property has been set"
-msgstr "Az ikonméret tulajdonság be van-e állítva"
-
-#: gtk/gtktoolbar.c:554
+#: gtk/gtktoolbar.c:506
msgid "Whether the item should receive extra space when the toolbar grows"
msgstr "Az elem kapjon-e extra területet, ha az eszköztár nő"
-#: gtk/gtktoolbar.c:562 gtk/gtktoolitemgroup.c:1591
+#: gtk/gtktoolbar.c:514
msgid "Whether the item should be the same size as other homogeneous items"
msgstr "Az elem ugyanakkora legyen-e, mint a többi homogén elem"
-#: gtk/gtktoolbutton.c:216
+#: gtk/gtktoolbutton.c:213
msgid "Text to show in the item."
msgstr "Az elemben megjelenítendő szöveg."
-#: gtk/gtktoolbutton.c:223
+#: gtk/gtktoolbutton.c:220
msgid ""
"If set, an underline in the label property indicates that the next character "
"should be used for the mnemonic accelerator key in the overflow menu"
@@ -6318,27 +6382,27 @@ msgstr ""
"Ha be van állítva, akkor a címketulajdonságban szereplő aláhúzás karakter "
"azt jelzi, hogy a következő karakter legyen a menüben a hívóbetű."
-#: gtk/gtktoolbutton.c:230
+#: gtk/gtktoolbutton.c:227
msgid "Widget to use as the item label"
msgstr "Elemcímkeként használandó felületi elem"
-#: gtk/gtktoolbutton.c:246
+#: gtk/gtktoolbutton.c:241
msgid "The name of the themed icon displayed on the item"
msgstr "Az elemen megjelenő témaikon neve"
-#: gtk/gtktoolbutton.c:252
+#: gtk/gtktoolbutton.c:247
msgid "Icon widget"
msgstr "Ikon felületi elem"
-#: gtk/gtktoolbutton.c:253
+#: gtk/gtktoolbutton.c:248
msgid "Icon widget to display in the item"
msgstr "Az elemben megjelenítendő ikon felületi elem"
-#: gtk/gtktoolitem.c:129
+#: gtk/gtktoolitem.c:128
msgid "Visible when horizontal"
msgstr "Látható, ha vízszintes"
-#: gtk/gtktoolitem.c:130
+#: gtk/gtktoolitem.c:129
msgid ""
"Whether the toolbar item is visible when the toolbar is in a horizontal "
"orientation."
@@ -6346,11 +6410,11 @@ msgstr ""
"Azt szabályozza, hogy az eszköztárelem látható-e, ha az eszköztár vízszintes "
"irányban áll."
-#: gtk/gtktoolitem.c:136
+#: gtk/gtktoolitem.c:135
msgid "Visible when vertical"
msgstr "Látható, ha függőleges"
-#: gtk/gtktoolitem.c:137
+#: gtk/gtktoolitem.c:136
msgid ""
"Whether the toolbar item is visible when the toolbar is in a vertical "
"orientation."
@@ -6358,11 +6422,11 @@ msgstr ""
"Azt szabályozza, hogy az eszköztárelem látható-e, ha az eszköztár függőleges "
"irányban áll."
-#: gtk/gtktoolitem.c:143
+#: gtk/gtktoolitem.c:142
msgid "Is important"
msgstr "Fontos-e"
-#: gtk/gtktoolitem.c:144
+#: gtk/gtktoolitem.c:143
msgid ""
"Whether the toolbar item is considered important. When TRUE, toolbar buttons "
"show text in GTK_TOOLBAR_BOTH_HORIZ mode"
@@ -6370,104 +6434,27 @@ msgstr ""
"Az eszköztárelem fontos-e: ha IGAZ, akkor az eszköztár gombjai szöveget "
"jelenítenek meg GTK_TOOLBAR_BOTH_HORIZ módban"
-#: gtk/gtktoolitemgroup.c:1556
-msgid "The human-readable title of this item group"
-msgstr "Az elemcsoport emberek által olvasható leírása"
-
-#: gtk/gtktoolitemgroup.c:1563
-msgid "A widget to display in place of the usual label"
-msgstr "A szokásos címke helyén megjelenítendő felületi elem"
-
-#: gtk/gtktoolitemgroup.c:1569
-msgid "Collapsed"
-msgstr "Összecsukott"
-
-#: gtk/gtktoolitemgroup.c:1570
-msgid "Whether the group has been collapsed and items are hidden"
-msgstr "A csoport össze van-e csukva, és az elemei el vannak-e rejtve?"
-
-#: gtk/gtktoolitemgroup.c:1576
-msgid "ellipsize"
-msgstr "kihagyás"
-
-#: gtk/gtktoolitemgroup.c:1577
-msgid "Ellipsize for item group headers"
-msgstr "Az elemcsoport fejléceinek kihagyása"
-
-#: gtk/gtktoolitemgroup.c:1583
-msgid "Header Relief"
-msgstr "Fejléc kiemelése"
-
-#: gtk/gtktoolitemgroup.c:1584
-msgid "Relief of the group header button"
-msgstr "A csoportfejlécgombok kiemelése"
-
-#: gtk/gtktoolitemgroup.c:1598
-msgid "Whether the item should receive extra space when the group grows"
-msgstr "Az elem kapjon-e extra területet, ha a csoport nő"
-
-#: gtk/gtktoolitemgroup.c:1604
-msgid "Fill"
-msgstr "Kitöltés"
-
-#: gtk/gtktoolitemgroup.c:1605
-msgid "Whether the item should fill the available space"
-msgstr "Az elemnek ki kell-e töltenie a rendelkezésre álló területet?"
-
-#: gtk/gtktoolitemgroup.c:1611
-msgid "New Row"
-msgstr "Új sor"
-
-#: gtk/gtktoolitemgroup.c:1612
-msgid "Whether the item should start a new row"
-msgstr "Az elemnek új sort kell-e kezdenie?"
-
-#: gtk/gtktoolitemgroup.c:1619
-msgid "Position of the item within this group"
-msgstr "Az elem pozíciója a csoporton belül"
-
-#: gtk/gtktoolpalette.c:916
-msgid "Size of icons in this tool palette"
-msgstr "Az eszközpaletta ikonjainak mérete"
-
-#: gtk/gtktoolpalette.c:946
-msgid "Style of items in the tool palette"
-msgstr "Az eszközpaletta elemeinek stílusa"
-
-#: gtk/gtktoolpalette.c:962
-msgid "Exclusive"
-msgstr "Kizárólagos"
-
-#: gtk/gtktoolpalette.c:963
-msgid "Whether the item group should be the only expanded at a given time"
-msgstr "Az elemcsoport csak adott időben kerüljön-e kiterjesztésre?"
-
-#: gtk/gtktoolpalette.c:978
-msgid ""
-"Whether the item group should receive extra space when the palette grows"
-msgstr "Az elemcsoport csak akkor kapjon-e extra területet, ha a paletta nő"
-
-#: gtk/gtktreemenu.c:251
+#: gtk/gtktreemenu.c:242
msgid "TreeMenu model"
msgstr "TreeMenu modell"
-#: gtk/gtktreemenu.c:252
+#: gtk/gtktreemenu.c:243
msgid "The model for the tree menu"
msgstr "A famenü modellje"
-#: gtk/gtktreemenu.c:274
+#: gtk/gtktreemenu.c:263
msgid "TreeMenu root row"
msgstr "TreeMenu gyökérsora"
-#: gtk/gtktreemenu.c:275
+#: gtk/gtktreemenu.c:264
msgid "The TreeMenu will display children of the specified root"
msgstr "A TreeMenu a megadott gyökér gyermekeit jeleníti meg"
-#: gtk/gtktreemenu.c:310
+#: gtk/gtktreemenu.c:294
msgid "Wrap Width"
msgstr "Tördelés szélessége"
-#: gtk/gtktreemenu.c:311
+#: gtk/gtktreemenu.c:295
msgid "Wrap width for laying out items in a grid"
msgstr "Az elemek rácsra rendezésekor az áttördelés szélessége"
@@ -6495,263 +6482,283 @@ msgstr "TreeModelSort modell"
msgid "The model for the TreeModelSort to sort"
msgstr "A TreeModelSort által rendezendő modell"
-#: gtk/gtktreeview.c:1021
+#: gtk/gtktreeview.c:1002
msgid "TreeView Model"
msgstr "TreeView modell"
-#: gtk/gtktreeview.c:1022
+#: gtk/gtktreeview.c:1003
msgid "The model for the tree view"
msgstr "A fa nézet modellje"
-#: gtk/gtktreeview.c:1028
+#: gtk/gtktreeview.c:1009
msgid "Headers Visible"
msgstr "A fejlécek láthatóak"
-#: gtk/gtktreeview.c:1029
+#: gtk/gtktreeview.c:1010
msgid "Show the column header buttons"
msgstr "Az oszlopfejléc-gombok megjelenítése"
-#: gtk/gtktreeview.c:1035
+#: gtk/gtktreeview.c:1016
msgid "Headers Clickable"
msgstr "A fejlécekre lehet kattintani"
-#: gtk/gtktreeview.c:1036
+#: gtk/gtktreeview.c:1017
msgid "Column headers respond to click events"
msgstr "Az oszlopfejlécek reagálnak a kattintás eseményre"
-#: gtk/gtktreeview.c:1042
+#: gtk/gtktreeview.c:1023
msgid "Expander Column"
msgstr "Kiterjesztő oszlop"
-#: gtk/gtktreeview.c:1043
+#: gtk/gtktreeview.c:1024
msgid "Set the column for the expander column"
msgstr "Az oszlop beállítása kiterjesztő oszlopként"
-#: gtk/gtktreeview.c:1056
+#: gtk/gtktreeview.c:1037
msgid "Enable Search"
msgstr "Keresés engedélyezése"
-#: gtk/gtktreeview.c:1057
+#: gtk/gtktreeview.c:1038
msgid "View allows user to search through columns interactively"
msgstr "A felhasználók interaktívan kereshetnek az oszlopokban"
-#: gtk/gtktreeview.c:1063
+#: gtk/gtktreeview.c:1044
msgid "Search Column"
msgstr "Keresési oszlop"
-#: gtk/gtktreeview.c:1064
+#: gtk/gtktreeview.c:1045
msgid "Model column to search through during interactive search"
msgstr "Az interaktív kereséskor keresendő modelloszlop"
-#: gtk/gtktreeview.c:1082
+#: gtk/gtktreeview.c:1061
msgid "Fixed Height Mode"
msgstr "Rögzített magasság mód"
-#: gtk/gtktreeview.c:1083
+#: gtk/gtktreeview.c:1062
msgid "Speeds up GtkTreeView by assuming that all rows have the same height"
msgstr ""
"A GtkTreeView felgyorsítása annak feltételezésével, hogy az összes sor "
"magassága egyforma"
-#: gtk/gtktreeview.c:1102
+#: gtk/gtktreeview.c:1079
msgid "Hover Selection"
msgstr "Lebegő kijelölés"
-#: gtk/gtktreeview.c:1103
+#: gtk/gtktreeview.c:1080
msgid "Whether the selection should follow the pointer"
msgstr "A kijelölés kövesse-e a mutatót"
-#: gtk/gtktreeview.c:1121
+#: gtk/gtktreeview.c:1096
msgid "Hover Expand"
msgstr "Lebegtetés kiterjesztése"
-#: gtk/gtktreeview.c:1122
+#: gtk/gtktreeview.c:1097
msgid ""
"Whether rows should be expanded/collapsed when the pointer moves over them"
msgstr "A sorok bővüljenek-e/fogyjanak-e, ha a mutató mozog rajtuk"
-#: gtk/gtktreeview.c:1135
+#: gtk/gtktreeview.c:1108
msgid "Show Expanders"
msgstr "Kiterjesztők megjelenítése"
-#: gtk/gtktreeview.c:1136
+#: gtk/gtktreeview.c:1109
msgid "View has expanders"
msgstr "A nézet rendelkezik kiterjesztőkkel"
-#: gtk/gtktreeview.c:1149
+#: gtk/gtktreeview.c:1120
msgid "Level Indentation"
msgstr "Szintbehúzás"
-#: gtk/gtktreeview.c:1150
+#: gtk/gtktreeview.c:1121
msgid "Extra indentation for each level"
msgstr "Az egyes szintek behúzása"
-#: gtk/gtktreeview.c:1157
+#: gtk/gtktreeview.c:1128
msgid "Rubber Banding"
msgstr "Gumiszalag"
-#: gtk/gtktreeview.c:1158
+#: gtk/gtktreeview.c:1129
msgid ""
"Whether to enable selection of multiple items by dragging the mouse pointer"
msgstr "Lehet-e egyszerre több elemet kijelölni az egérmutató húzásával"
-#: gtk/gtktreeview.c:1164
+#: gtk/gtktreeview.c:1135
msgid "Enable Grid Lines"
msgstr "Rácsvonalak engedélyezése"
-#: gtk/gtktreeview.c:1165
+#: gtk/gtktreeview.c:1136
msgid "Whether grid lines should be drawn in the tree view"
msgstr "A rácsvonalak meg legyenek-e jelenítve a fanézetben"
-#: gtk/gtktreeview.c:1172
+#: gtk/gtktreeview.c:1143
msgid "Enable Tree Lines"
msgstr "Favonalak engedélyezése"
-#: gtk/gtktreeview.c:1173
+#: gtk/gtktreeview.c:1144
msgid "Whether tree lines should be drawn in the tree view"
msgstr "A favonalak meg legyenek-e jelenítve a fanézetben"
-#: gtk/gtktreeview.c:1180
+#: gtk/gtktreeview.c:1151
msgid "The column in the model containing the tooltip texts for the rows"
msgstr "A sorok eszköztippszövegeit tartalmazó modelloszlop."
-#: gtk/gtktreeviewcolumn.c:246
+#: gtk/gtktreeviewcolumn.c:255
msgid "Whether to display the column"
msgstr "Az oszlop megjelenítésre kerüljön-e"
-#: gtk/gtktreeviewcolumn.c:252 gtk/gtkwindow.c:882
+#: gtk/gtktreeviewcolumn.c:261 gtk/gtkwindow.c:862
msgid "Resizable"
msgstr "Átméretezhető"
-#: gtk/gtktreeviewcolumn.c:253
+#: gtk/gtktreeviewcolumn.c:262
msgid "Column is user-resizable"
msgstr "Az oszlopot a felhasználó átméretezheti"
-#: gtk/gtktreeviewcolumn.c:260
+#: gtk/gtktreeviewcolumn.c:269
msgid "Current X position of the column"
msgstr "Az oszlop aktuális X pozíciója"
-#: gtk/gtktreeviewcolumn.c:268
+#: gtk/gtktreeviewcolumn.c:277
msgid "Current width of the column"
msgstr "Az oszlop jelenlegi szélessége"
-#: gtk/gtktreeviewcolumn.c:283
+#: gtk/gtktreeviewcolumn.c:292
msgid "Sizing"
msgstr "Méretezés"
-#: gtk/gtktreeviewcolumn.c:284
+#: gtk/gtktreeviewcolumn.c:293
msgid "Resize mode of the column"
msgstr "Az oszlop méretezési módja"
-#: gtk/gtktreeviewcolumn.c:291
+#: gtk/gtktreeviewcolumn.c:300
msgid "Fixed Width"
msgstr "Rögzített szélességű"
-#: gtk/gtktreeviewcolumn.c:292
+#: gtk/gtktreeviewcolumn.c:301
msgid "Current fixed width of the column"
msgstr "Az oszlop jelenlegi rögzített szélessége"
-#: gtk/gtktreeviewcolumn.c:300
+#: gtk/gtktreeviewcolumn.c:309
msgid "Minimum allowed width of the column"
msgstr "Az oszlop engedélyezett minimális szélessége"
-#: gtk/gtktreeviewcolumn.c:307
+#: gtk/gtktreeviewcolumn.c:316
msgid "Maximum Width"
msgstr "Maximális szélesség"
-#: gtk/gtktreeviewcolumn.c:308
+#: gtk/gtktreeviewcolumn.c:317
msgid "Maximum allowed width of the column"
msgstr "Az oszlop engedélyezett maximális szélessége"
-#: gtk/gtktreeviewcolumn.c:316
+#: gtk/gtktreeviewcolumn.c:325
msgid "Title to appear in column header"
msgstr "Az oszlopfejlécben megjelenő cím"
-#: gtk/gtktreeviewcolumn.c:323
+#: gtk/gtktreeviewcolumn.c:332
msgid "Column gets share of extra width allocated to the widget"
msgstr "Az oszlop kap a felületi elemnek lefoglalt extra szélességből"
-#: gtk/gtktreeviewcolumn.c:329
+#: gtk/gtktreeviewcolumn.c:338
msgid "Clickable"
msgstr "Kattintható"
-#: gtk/gtktreeviewcolumn.c:330
+#: gtk/gtktreeviewcolumn.c:339
msgid "Whether the header can be clicked"
msgstr "Rá lehet-e kattintani a fejlécre"
-#: gtk/gtktreeviewcolumn.c:337
+#: gtk/gtktreeviewcolumn.c:346
msgid "Widget to put in column header button instead of column title"
msgstr "Az oszlopfejlécben az oszlop címe helyett megjelenő felületi elem"
-#: gtk/gtktreeviewcolumn.c:344
+#: gtk/gtktreeviewcolumn.c:353
msgid "X Alignment of the column header text or widget"
msgstr "Az oszlopfejléc-szöveg vagy felületi elem X irányú igazítása"
-#: gtk/gtktreeviewcolumn.c:351
+#: gtk/gtktreeviewcolumn.c:360
msgid "Whether the column can be reordered around the headers"
msgstr "Az oszlop átrendezhető-e a fejlécek alapján"
-#: gtk/gtktreeviewcolumn.c:357
+#: gtk/gtktreeviewcolumn.c:366
msgid "Sort indicator"
msgstr "Rendezésjelző"
-#: gtk/gtktreeviewcolumn.c:358
+#: gtk/gtktreeviewcolumn.c:367
msgid "Whether to show a sort indicator"
msgstr "Megjelenjen-e rendezésjelző"
-#: gtk/gtktreeviewcolumn.c:364
+#: gtk/gtktreeviewcolumn.c:373
msgid "Sort order"
msgstr "Rendezési sorrend"
-#: gtk/gtktreeviewcolumn.c:365
+#: gtk/gtktreeviewcolumn.c:374
msgid "Sort direction the sort indicator should indicate"
msgstr "A rendezésjelző által megjelenítendő rendezési sorrend"
-#: gtk/gtktreeviewcolumn.c:380
+#: gtk/gtktreeviewcolumn.c:387
msgid "Sort column ID"
msgstr "Oszlopazonosító rendezése"
-#: gtk/gtktreeviewcolumn.c:381
+#: gtk/gtktreeviewcolumn.c:388
msgid "Logical sort column ID this column sorts on when selected for sorting"
msgstr ""
"Az oszlop rendezése ezen logikai oszloprendezési azonosító alapján, ha "
"kiválasztják rendezésre"
-#: gtk/gtkviewport.c:251
+#: gtk/gtkvideo.c:285
+msgid "Autoplay"
+msgstr "Automatikus lejátszás"
+
+#: gtk/gtkvideo.c:286
+msgid "If playback should begin automatically"
+msgstr "Ha a lejátszásnak automatikusan el kell indulnia"
+
+#: gtk/gtkvideo.c:298
+msgid "The video file played back"
+msgstr "A lejátszott videofájl"
+
+#: gtk/gtkvideo.c:310
+msgid "If new media streams should be set to loop"
+msgstr "Ha az új médiafolyamokat végtelenítésre kell állítani"
+
+#: gtk/gtkvideo.c:322
+msgid "The media stream played"
+msgstr "A lejátszott médiafolyam"
+
+#: gtk/gtkviewport.c:269
msgid "Shadow type"
msgstr "Árnyék típusa"
-#: gtk/gtkviewport.c:252
+#: gtk/gtkviewport.c:270
msgid "Determines how the shadowed box around the viewport is drawn"
msgstr ""
"Azt határozza meg, hogyan legyen megjelenítve az árnyékolt mező a nézetport "
"körül"
-#: gtk/gtkvolumebutton.c:168
+#: gtk/gtkvolumebutton.c:167
msgid "Use symbolic icons"
msgstr "Szimbolikus ikonok használata"
-#: gtk/gtkvolumebutton.c:169
+#: gtk/gtkvolumebutton.c:168
msgid "Whether to use symbolic icons"
msgstr "Használandók-e szimbolikus ikonok?"
-#: gtk/gtkwidget.c:1082
+#: gtk/gtkwidget.c:941
msgid "Widget name"
msgstr "Felületi elem neve"
-#: gtk/gtkwidget.c:1083
+#: gtk/gtkwidget.c:942
msgid "The name of the widget"
msgstr "A felületi elem neve"
-#: gtk/gtkwidget.c:1090
+#: gtk/gtkwidget.c:949
msgid "The parent widget of this widget."
msgstr "A felületi elem szülő felületi eleme."
-#: gtk/gtkwidget.c:1096
+#: gtk/gtkwidget.c:955
msgid "Width request"
msgstr "Szélességkérés"
-#: gtk/gtkwidget.c:1097
+#: gtk/gtkwidget.c:956
msgid ""
"Override for width request of the widget, or -1 if natural request should be "
"used"
@@ -6759,11 +6766,11 @@ msgstr ""
"A felületi elem szélességkérésének újradefiniálása, vagy -1, ha az eredeti "
"kérést kell használni"
-#: gtk/gtkwidget.c:1104
+#: gtk/gtkwidget.c:963
msgid "Height request"
msgstr "Magasságkérés"
-#: gtk/gtkwidget.c:1105
+#: gtk/gtkwidget.c:964
msgid ""
"Override for height request of the widget, or -1 if natural request should "
"be used"
@@ -6771,247 +6778,255 @@ msgstr ""
"A felületi elem magasságkérésének újradefiniálása, vagy -1, ha az eredeti "
"kérést kell használni"
-#: gtk/gtkwidget.c:1113
+#: gtk/gtkwidget.c:972
msgid "Whether the widget is visible"
msgstr "Látható-e a felületi elem"
-#: gtk/gtkwidget.c:1120
+#: gtk/gtkwidget.c:979
msgid "Whether the widget responds to input"
msgstr "Válaszoljon-e a felületi elem a bemenetre"
-#: gtk/gtkwidget.c:1126
+#: gtk/gtkwidget.c:985
msgid "Can focus"
msgstr "Kaphat fókuszt"
-#: gtk/gtkwidget.c:1127
+#: gtk/gtkwidget.c:986
msgid "Whether the widget can accept the input focus"
msgstr "Képes-e elfogadni a felületi elem a beviteli fókuszt"
-#: gtk/gtkwidget.c:1133
+#: gtk/gtkwidget.c:992
msgid "Has focus"
msgstr "Rajta van a fókusz"
-#: gtk/gtkwidget.c:1134
+#: gtk/gtkwidget.c:993
msgid "Whether the widget has the input focus"
msgstr "Azt jelzi, hogy a felületi elemen van-e éppen a beviteli fókusz"
-#: gtk/gtkwidget.c:1140
+#: gtk/gtkwidget.c:999
msgid "Is focus"
msgstr "Fókusz-e"
-#: gtk/gtkwidget.c:1141
+#: gtk/gtkwidget.c:1000
msgid "Whether the widget is the focus widget within the toplevel"
msgstr ""
"Azt jelzi, hogy a felületi elem a legfelső szint fókusz felületi eleme-e"
-#: gtk/gtkwidget.c:1159
+#: gtk/gtkwidget.c:1016
msgid "Focus on click"
msgstr "Fókusz kattintásra"
-#: gtk/gtkwidget.c:1160
+#: gtk/gtkwidget.c:1017
msgid "Whether the widget should grab focus when it is clicked with the mouse"
msgstr "Azt jelzi, hogy a felületi elem egérkattintásra megkapja-e a fókuszt"
-#: gtk/gtkwidget.c:1166
+#: gtk/gtkwidget.c:1023
msgid "Can default"
msgstr "Lehet alapértelmezett"
-#: gtk/gtkwidget.c:1167
+#: gtk/gtkwidget.c:1024
msgid "Whether the widget can be the default widget"
msgstr "Lehet-e a felületi elem az alapértelmezett felületi elem"
-#: gtk/gtkwidget.c:1173
+#: gtk/gtkwidget.c:1030
msgid "Has default"
msgstr "Alapértelmezett-e"
-#: gtk/gtkwidget.c:1174
+#: gtk/gtkwidget.c:1031
msgid "Whether the widget is the default widget"
msgstr "A felületi elem-e az alapértelmezett felületi elem"
-#: gtk/gtkwidget.c:1180
+#: gtk/gtkwidget.c:1037
msgid "Receives default"
msgstr "Fogadja az alapértelmezést"
-#: gtk/gtkwidget.c:1181
+#: gtk/gtkwidget.c:1038
msgid "If TRUE, the widget will receive the default action when it is focused"
msgstr ""
"Ha IGAZ, akkor a felületi elem fogadja fókuszálás esetén az alapértelmezett "
"műveletet"
-#: gtk/gtkwidget.c:1202
+#: gtk/gtkwidget.c:1050
+msgid "The cursor to show when hoving above widget"
+msgstr "A felületi elem felett megjelenítendő kurzor"
+
+#: gtk/gtkwidget.c:1064
msgid "Has tooltip"
msgstr "Rendelkezik buboréksúgóval"
-#: gtk/gtkwidget.c:1203
+#: gtk/gtkwidget.c:1065
msgid "Whether this widget has a tooltip"
msgstr "A felületi elem rendelkezik-e buboréksúgóval"
-#: gtk/gtkwidget.c:1226
+#: gtk/gtkwidget.c:1086
msgid "Tooltip Text"
msgstr "Buboréksúgó szövege"
-#: gtk/gtkwidget.c:1227 gtk/gtkwidget.c:1251
+#: gtk/gtkwidget.c:1087 gtk/gtkwidget.c:1109
msgid "The contents of the tooltip for this widget"
msgstr "A buboréksúgó tartalma a felületi elemhez"
-#: gtk/gtkwidget.c:1250
+#: gtk/gtkwidget.c:1108
msgid "Tooltip markup"
msgstr "Buboréksúgó jelölőkódja"
-#: gtk/gtkwidget.c:1265
-msgid "The widget’s window if it is realized"
-msgstr "A felületi elem ablaka, ha az létrejött"
+#: gtk/gtkwidget.c:1121
+msgid "The widget’s surface if it is realized"
+msgstr "A felületi elem felülete, ha az létrejött"
-#: gtk/gtkwidget.c:1279
+#: gtk/gtkwidget.c:1133
msgid "How to position in extra horizontal space"
msgstr "Pozicionálás módja extra vízszintes térben"
-#: gtk/gtkwidget.c:1294
+#: gtk/gtkwidget.c:1146
msgid "How to position in extra vertical space"
msgstr "Pozicionálás módja extra függőleges térben"
-#: gtk/gtkwidget.c:1313
+#: gtk/gtkwidget.c:1163
msgid "Margin on Start"
msgstr "Kezdő margó"
-#: gtk/gtkwidget.c:1314
+#: gtk/gtkwidget.c:1164
msgid "Pixels of extra space on the start"
msgstr "Extra hely képpontokban a kezdetén"
-#: gtk/gtkwidget.c:1333
+#: gtk/gtkwidget.c:1181
msgid "Margin on End"
msgstr "Záró margó"
-#: gtk/gtkwidget.c:1334
+#: gtk/gtkwidget.c:1182
msgid "Pixels of extra space on the end"
msgstr "Extra hely képpontokban a végén"
-#: gtk/gtkwidget.c:1352
+#: gtk/gtkwidget.c:1198
msgid "Margin on Top"
msgstr "Felső margó"
-#: gtk/gtkwidget.c:1353
+#: gtk/gtkwidget.c:1199
msgid "Pixels of extra space on the top side"
msgstr "Extra hely képpontokban a felső oldalon"
-#: gtk/gtkwidget.c:1371
+#: gtk/gtkwidget.c:1215
msgid "Margin on Bottom"
msgstr "Alsó margó"
-#: gtk/gtkwidget.c:1372
+#: gtk/gtkwidget.c:1216
msgid "Pixels of extra space on the bottom side"
msgstr "Extra hely képpontokban az alsó oldalon"
-#: gtk/gtkwidget.c:1387
+#: gtk/gtkwidget.c:1229
msgid "All Margins"
msgstr "Minden margó"
-#: gtk/gtkwidget.c:1388
+#: gtk/gtkwidget.c:1230
msgid "Pixels of extra space on all four sides"
msgstr "Extra hely képpontokban mind a négy oldalon"
-#: gtk/gtkwidget.c:1402
+#: gtk/gtkwidget.c:1242
msgid "Horizontal Expand"
msgstr "Vízszintesen bővül"
-#: gtk/gtkwidget.c:1403
+#: gtk/gtkwidget.c:1243
msgid "Whether widget wants more horizontal space"
msgstr "A felületi elem igényel-e több vízszintes területet?"
-#: gtk/gtkwidget.c:1416
+#: gtk/gtkwidget.c:1254
msgid "Horizontal Expand Set"
msgstr "Vízszintes bővülés beállítva"
-#: gtk/gtkwidget.c:1417
+#: gtk/gtkwidget.c:1255
msgid "Whether to use the hexpand property"
msgstr "Használandó-e a hexpand tulajdonság"
-#: gtk/gtkwidget.c:1430
+#: gtk/gtkwidget.c:1266
msgid "Vertical Expand"
msgstr "Függőlegesen bővül"
-#: gtk/gtkwidget.c:1431
+#: gtk/gtkwidget.c:1267
msgid "Whether widget wants more vertical space"
msgstr "A felületi elem igényel-e több függőleges területet?"
-#: gtk/gtkwidget.c:1444
+#: gtk/gtkwidget.c:1278
msgid "Vertical Expand Set"
msgstr "Függőleges bővülés beállítva"
-#: gtk/gtkwidget.c:1445
+#: gtk/gtkwidget.c:1279
msgid "Whether to use the vexpand property"
msgstr "Használandó-e a vexpand tulajdonság"
-#: gtk/gtkwidget.c:1458
+#: gtk/gtkwidget.c:1290
msgid "Expand Both"
msgstr "Két irányban bővül"
-#: gtk/gtkwidget.c:1459
+#: gtk/gtkwidget.c:1291
msgid "Whether widget wants to expand in both directions"
msgstr "A felületi elem bővül-e mindkét irányba?"
-#: gtk/gtkwidget.c:1475
+#: gtk/gtkwidget.c:1305
msgid "Opacity for Widget"
msgstr "A felületi elem áttetszősége"
-#: gtk/gtkwidget.c:1476
+#: gtk/gtkwidget.c:1306
msgid "The opacity of the widget, from 0 to 1"
msgstr "A felületi elem áttetszősége 0 és 1 között"
-#: gtk/gtkwidget.c:1491
+#: gtk/gtkwidget.c:1319
msgid "Scale factor"
msgstr "Méretezési tényező"
-#: gtk/gtkwidget.c:1492
+#: gtk/gtkwidget.c:1320
msgid "The scaling factor of the window"
msgstr "Az ablak méretezési tényezője"
-#: gtk/gtkwidget.c:1506
+#: gtk/gtkwidget.c:1332
msgid "CSS Name"
msgstr "CSS név"
-#: gtk/gtkwidget.c:1507
+#: gtk/gtkwidget.c:1333
msgid "The name of this widget in the CSS tree"
msgstr "A felületi elem neve a CSS fában"
-#: gtk/gtkwindow.c:844
+#: gtk/gtkwidgetpaintable.c:246
+msgid "Observed widget"
+msgstr "Megfigyelt felületi elem"
+
+#: gtk/gtkwindow.c:826
msgid "Window Type"
msgstr "Ablak típusa"
-#: gtk/gtkwindow.c:845
+#: gtk/gtkwindow.c:827
msgid "The type of the window"
msgstr "Az ablak típusa"
-#: gtk/gtkwindow.c:852
+#: gtk/gtkwindow.c:834
msgid "Window Title"
msgstr "Ablakcím"
-#: gtk/gtkwindow.c:853
+#: gtk/gtkwindow.c:835
msgid "The title of the window"
msgstr "Az ablak címe"
-#: gtk/gtkwindow.c:859
+#: gtk/gtkwindow.c:841
msgid "Window Role"
msgstr "Ablak szerepe"
-#: gtk/gtkwindow.c:860
+#: gtk/gtkwindow.c:842
msgid "Unique identifier for the window to be used when restoring a session"
msgstr ""
"Az ablaknak egy munkamenet visszaállításakor használt egyedi azonosítója"
-#: gtk/gtkwindow.c:875
+#: gtk/gtkwindow.c:855
msgid "Startup ID"
msgstr "Indítási azonosító"
-#: gtk/gtkwindow.c:876
+#: gtk/gtkwindow.c:856
msgid "Unique startup identifier for the window used by startup-notification"
msgstr "Az ablaknak az indítási értesítő által használt egyedi azonosítója"
-#: gtk/gtkwindow.c:883
+#: gtk/gtkwindow.c:863
msgid "If TRUE, users can resize the window"
msgstr "Ha IGAZ, akkor a felhasználók átméretezhetik az ablakot"
-#: gtk/gtkwindow.c:890
+#: gtk/gtkwindow.c:870
msgid ""
"If TRUE, the window is modal (other windows are not usable while this one is "
"up)"
@@ -7019,80 +7034,93 @@ msgstr ""
"Ha IGAZ, akkor az ablak kizárólagos (más ablakok nem használhatók addig, "
"amíg ez látszik)"
-#: gtk/gtkwindow.c:896
+#: gtk/gtkwindow.c:876
msgid "Window Position"
msgstr "Ablakpozíció"
-#: gtk/gtkwindow.c:897
+#: gtk/gtkwindow.c:877
msgid "The initial position of the window"
msgstr "Az ablak kezdeti helye"
-#: gtk/gtkwindow.c:904
+#: gtk/gtkwindow.c:884
msgid "Default Width"
msgstr "Alapértelmezett szélesség"
-#: gtk/gtkwindow.c:905
+#: gtk/gtkwindow.c:885
msgid "The default width of the window, used when initially showing the window"
msgstr ""
"Az ablak alapértelmezett szélessége; az ablak első megjelenítésekor "
"használatos"
-#: gtk/gtkwindow.c:912
+#: gtk/gtkwindow.c:892
msgid "Default Height"
msgstr "Alapértelmezett magasság"
-#: gtk/gtkwindow.c:913
+#: gtk/gtkwindow.c:893
msgid ""
"The default height of the window, used when initially showing the window"
msgstr ""
"Az ablak alapértelmezett magassága; az ablak első megjelenítésekor "
"használatos"
-#: gtk/gtkwindow.c:920
+#: gtk/gtkwindow.c:900
msgid "Destroy with Parent"
msgstr "Szülővel együtt megsemmisítendő"
-#: gtk/gtkwindow.c:921
+#: gtk/gtkwindow.c:901
msgid "If this window should be destroyed when the parent is destroyed"
msgstr "Az ablakot meg kell-e semmisíteni a szülővel együtt"
-#: gtk/gtkwindow.c:928
+#: gtk/gtkwindow.c:907
+msgid "Hide on close"
+msgstr "Elrejtés bezáráskor"
+
+#: gtk/gtkwindow.c:908
+msgid "If this window should be hidden when the user clicks the close button"
+msgstr ""
+"Az ablakot el kell-e rejteni, ha a felhasználó a bezárás gombra kattint"
+
+#: gtk/gtkwindow.c:916
msgid "Icon for this window"
msgstr "Az ablak ikonja"
-#: gtk/gtkwindow.c:944
+#: gtk/gtkwindow.c:930
msgid "Mnemonics Visible"
msgstr "Hívóbetűk láthatók"
-#: gtk/gtkwindow.c:945
+#: gtk/gtkwindow.c:931
msgid "Whether mnemonics are currently visible in this window"
msgstr "A hívóbetűk láthatók-e ebben az ablakban?"
-#: gtk/gtkwindow.c:961
+#: gtk/gtkwindow.c:945
msgid "Focus Visible"
msgstr "Fókusz látható"
-#: gtk/gtkwindow.c:962
+#: gtk/gtkwindow.c:946
msgid "Whether focus rectangles are currently visible in this window"
msgstr "A fókusz téglalapok láthatók-e ebben az ablakban"
-#: gtk/gtkwindow.c:977
+#: gtk/gtkwindow.c:959
msgid "Name of the themed icon for this window"
msgstr "Az ablak témaikonja"
-#: gtk/gtkwindow.c:990
+#: gtk/gtkwindow.c:966
+msgid "The display that will display this window"
+msgstr "A megjelenítő, amely meg fogja jeleníteni ezt az ablakot"
+
+#: gtk/gtkwindow.c:972
msgid "Is Active"
msgstr "Aktív-e"
-#: gtk/gtkwindow.c:991
+#: gtk/gtkwindow.c:973
msgid "Whether the toplevel is the current active window"
msgstr "A legfelső szintű-e a jelenlegi aktív ablak"
-#: gtk/gtkwindow.c:997
+#: gtk/gtkwindow.c:979
msgid "Type hint"
msgstr "Típussúgó"
-#: gtk/gtkwindow.c:998
+#: gtk/gtkwindow.c:980
msgid ""
"Hint to help the desktop environment understand what kind of window this is "
"and how to treat it."
@@ -7100,118 +7128,362 @@ msgstr ""
"Segítség az asztali környezet számára, hogy megállapítsa, milyen ablak is ez "
"és hogyan kell kezelni."
-#: gtk/gtkwindow.c:1005
+#: gtk/gtkwindow.c:987
msgid "Skip taskbar"
msgstr "Tálca kihagyása"
-#: gtk/gtkwindow.c:1006
+#: gtk/gtkwindow.c:988
msgid "TRUE if the window should not be in the task bar."
msgstr "Ha IGAZ, akkor az ablak nem jelenik meg a tálcán."
-#: gtk/gtkwindow.c:1012
+#: gtk/gtkwindow.c:994
msgid "Skip pager"
msgstr "Lapozó kihagyása"
-#: gtk/gtkwindow.c:1013
+#: gtk/gtkwindow.c:995
msgid "TRUE if the window should not be in the pager."
msgstr "Ha IGAZ, akkor az ablak nem jelenik meg a lapozóban."
-#: gtk/gtkwindow.c:1019
+#: gtk/gtkwindow.c:1001
msgid "Urgent"
msgstr "Sürgős"
-#: gtk/gtkwindow.c:1020
+#: gtk/gtkwindow.c:1002
msgid "TRUE if the window should be brought to the user’s attention."
msgstr ""
"Ha IGAZ, akkor az ablaknak fel kell hívnia magára a felhasználó figyelmét."
-#: gtk/gtkwindow.c:1033
+#: gtk/gtkwindow.c:1013
msgid "Accept focus"
msgstr "Fókusz fogadása"
-#: gtk/gtkwindow.c:1034
+#: gtk/gtkwindow.c:1014
msgid "TRUE if the window should receive the input focus."
msgstr "Ha IGAZ, akkor az ablaknak kell fogadnia a beviteli fókuszt."
-#: gtk/gtkwindow.c:1047
+#: gtk/gtkwindow.c:1025
msgid "Focus on map"
msgstr "Fókusz leképezéskor"
-#: gtk/gtkwindow.c:1048
+#: gtk/gtkwindow.c:1026
msgid "TRUE if the window should receive the input focus when mapped."
msgstr ""
"Ha IGAZ, akkor az ablaknak kell fogadnia a beviteli fókuszt leképezett "
"állapotban."
-#: gtk/gtkwindow.c:1061
+#: gtk/gtkwindow.c:1037
msgid "Decorated"
msgstr "Díszített"
-#: gtk/gtkwindow.c:1062
+#: gtk/gtkwindow.c:1038
msgid "Whether the window should be decorated by the window manager"
msgstr "Díszítse-e az ablakkezelő az ablakot."
-#: gtk/gtkwindow.c:1075
+#: gtk/gtkwindow.c:1049
msgid "Deletable"
msgstr "Törölhető"
-#: gtk/gtkwindow.c:1076
+#: gtk/gtkwindow.c:1050
msgid "Whether the window frame should have a close button"
msgstr "Az ablakkeret rendelkezzen-e bezárás gombbal"
-#: gtk/gtkwindow.c:1090
+#: gtk/gtkwindow.c:1062
msgid "Gravity"
msgstr "Gravitáció"
-#: gtk/gtkwindow.c:1091
+#: gtk/gtkwindow.c:1063
msgid "The window gravity of the window"
msgstr "Az ablak gravitációja"
-#: gtk/gtkwindow.c:1126
+#: gtk/gtkwindow.c:1094
msgid "Attached to Widget"
msgstr "Csatolva ezen felületi elemhez"
-#: gtk/gtkwindow.c:1127
+#: gtk/gtkwindow.c:1095
msgid "The widget where the window is attached"
msgstr "A felületi elem, amelyhez az ablak csatolva van"
-#: gtk/gtkwindow.c:1133
+#: gtk/gtkwindow.c:1101
msgid "Is maximized"
msgstr "Maximalizálva van-e"
-#: gtk/gtkwindow.c:1134
+#: gtk/gtkwindow.c:1102
msgid "Whether the window is maximized"
msgstr "Az ablak teljes méretű-e"
-#: gtk/gtkwindow.c:1155
+#: gtk/gtkwindow.c:1121
msgid "GtkApplication"
msgstr "GtkApplication"
-#: gtk/gtkwindow.c:1156
+#: gtk/gtkwindow.c:1122
msgid "The GtkApplication for the window"
msgstr "Az ablak GtkApplication objektuma"
-#: modules/printbackends/cloudprint/gtkprintercloudprint.c:137
+#: modules/media/gtkgstsink.c:241
+msgid "paintable"
+msgstr "kifesthető"
+
+#: modules/media/gtkgstsink.c:242
+msgid "Paintable providing the picture"
+msgstr "A kifesthető, amely a képet biztosítja"
+
+#: modules/printbackends/gtkprintercloudprint.c:137
msgid "Cloud Print account"
msgstr "Cloud Print fiók"
-#: modules/printbackends/cloudprint/gtkprintercloudprint.c:138
+#: modules/printbackends/gtkprintercloudprint.c:138
msgid "GtkCloudprintAccount instance"
msgstr "GtkCloudprintAccount példány"
-#: modules/printbackends/cloudprint/gtkprintercloudprint.c:147
+#: modules/printbackends/gtkprintercloudprint.c:147
msgid "Printer ID"
msgstr "Nyomtatóazonosító"
-#: modules/printbackends/cloudprint/gtkprintercloudprint.c:148
+#: modules/printbackends/gtkprintercloudprint.c:148
msgid "Cloud Print printer ID"
msgstr "Cloud Print nyomtatóazonosító"
-#: modules/printbackends/cups/gtkprintercups.c:93
+#: modules/printbackends/gtkprintercups.c:93
msgid "Color Profile Title"
msgstr "Színprofil neve"
-#: modules/printbackends/cups/gtkprintercups.c:94
+#: modules/printbackends/gtkprintercups.c:94
msgid "The title of the color profile to use"
msgstr "A használandó színprofil neve"
+#~ msgid "Symbolic size to use for named icon"
+#~ msgstr "A megnevezett ikon szimbolikus mérete"
+
+#~ msgid "FrameClock"
+#~ msgstr "FrameClock"
+
+#~ msgid "The associated GdkFrameClock"
+#~ msgstr "A társított GdkFrameClock"
+
+#~ msgid "Cursor type"
+#~ msgstr "Kurzortípus"
+
+#~ msgid "Standard cursor type"
+#~ msgstr "Szabványos kurzortípus"
+
+#~ msgid "Device manager"
+#~ msgstr "Eszközkezelő"
+
+#~ msgid "Device manager which the device belongs to"
+#~ msgstr "Az eszközkezelő, amelyhez az eszköz tartozik"
+
+#~ msgid "Display for the device manager"
+#~ msgstr "Az eszközkezelő kijelzője"
+
+#~ msgid "Window"
+#~ msgstr "Ablak"
+
+#~ msgid "Font resolution"
+#~ msgstr "Betűfelbontás"
+
+#~ msgid "The resolution for fonts on the screen"
+#~ msgstr "A képernyő betűinek felbontása"
+
+#~ msgid "surface"
+#~ msgstr "Felület"
+
+#~ msgid "Detail"
+#~ msgstr "Részletek"
+
+#~ msgid "Render detail to pass to the theme engine"
+#~ msgstr "A témakezelő alrendszernek átadandó megjelenítési részletek"
+
+#~ msgid "Primary pixbuf"
+#~ msgstr "Elsődleges pixbuf"
+
+#~ msgid "Secondary pixbuf"
+#~ msgstr "Másodlagos pixbuf"
+
+#~ msgid "Label fill"
+#~ msgstr "Címkekitöltés"
+
+#~ msgid "Whether the label widget should fill all available horizontal space"
+#~ msgstr ""
+#~ "A címke felületi elemnek ki kell-e töltenie az összes rendelkezésre álló "
+#~ "területet?"
+
+#~ msgid "Font name"
+#~ msgstr "Betűkészlet neve"
+
+#~ msgid "The name of the selected font"
+#~ msgstr "A kiválasztott betűkészlet neve"
+
+#~ msgid "Show style"
+#~ msgstr "Stílus megjelenítése"
+
+#~ msgid "Whether the selected font style is shown in the label"
+#~ msgstr "A címkében a kiválasztott betűstílus legyen-e megjelenítve"
+
+#~ msgid "Show size"
+#~ msgstr "Méret megjelenítése"
+
+#~ msgid "Whether selected font size is shown in the label"
+#~ msgstr "A címkében a kiválasztott betűméret legyen-e megjelenítve"
+
+#~ msgid "Label yalign"
+#~ msgstr "Címke függőleges igazítása"
+
+#~ msgid "The vertical alignment of the label"
+#~ msgstr "A címke függőleges igazítása"
+
+#~ msgid "Has alpha"
+#~ msgstr "Van alfája"
+
+#~ msgid "Whether the color buffer has an alpha component"
+#~ msgstr "A színpuffernek van-e alfa összetevője"
+
+#~ msgid "Show decorations"
+#~ msgstr "Dekorációk megjelenítése"
+
+#~ msgid "Pixbuf"
+#~ msgstr "Pixbuf"
+
+#~ msgid "A cairo_surface_t to display"
+#~ msgstr "A megjelenítendő cairo_surface_t objektum"
+
+#~ msgid "Animation"
+#~ msgstr "Animáció"
+
+#~ msgid "GdkPixbufAnimation to display"
+#~ msgstr "A megjelenítendő GdkPixbuf animáció"
+
+#~ msgid "Screen"
+#~ msgstr "Képernyő"
+
+#~ msgid "Recent Manager"
+#~ msgstr "Előzménykezelő"
+
+#~ msgid "The RecentManager object to use"
+#~ msgstr "A használandó RecentManager objektum"
+
+#~ msgid "Show Private"
+#~ msgstr "Privát megjelenítése"
+
+#~ msgid "Show Tooltips"
+#~ msgstr "Buboréksúgók megjelenítése"
+
+#~ msgid "Whether there should be a tooltip on the item"
+#~ msgstr "Az elem buboréksúgója meg legyen-e jelenítve"
+
+#~ msgid "Show Icons"
+#~ msgstr "Ikonok megjelenítése"
+
+#~ msgid "Whether there should be an icon near the item"
+#~ msgstr "Megjelenjen-e ikon az elem közelében"
+
+#~ msgid "Show Not Found"
+#~ msgstr "Nem találhatók megjelenítése"
+
+#~ msgid ""
+#~ "Whether the items pointing to unavailable resources should be displayed"
+#~ msgstr ""
+#~ "Megjelenítésre kerüljenek-e az el nem érhető erőforrásokra mutató elemek"
+
+#~ msgid "Whether to allow multiple items to be selected"
+#~ msgstr "Lehet-e egyszerre több elemet kijelölni"
+
+#~ msgid "Local only"
+#~ msgstr "Csak helyi"
+
+#~ msgid ""
+#~ "Whether the selected resource(s) should be limited to local file: URIs"
+#~ msgstr "A kijelölt erőforrások csak helyi file: URI-címek lehetnek-e"
+
+#~ msgid "Limit"
+#~ msgstr "Korlátozás"
+
+#~ msgid "The maximum number of items to be displayed"
+#~ msgstr "A megjelenítendő elemek legnagyobb száma"
+
+#~ msgid "Sort Type"
+#~ msgstr "Rendezés típusa"
+
+#~ msgid "The sorting order of the items displayed"
+#~ msgstr "A megjelenített elemek rendezési sorrendje"
+
+#~ msgid "The current filter for selecting which resources are displayed"
+#~ msgstr "A megjelenítendő erőforrások kiválasztására használt aktuális szűrő"
+
+#~ msgid "Show Numbers"
+#~ msgstr "Számok megjelenítése"
+
+#~ msgid "Whether the items should be displayed with a number"
+#~ msgstr "Az elemek egy számmal együtt kerüljenek-e megjelenítésre"
+
+#~ msgid "The icon size"
+#~ msgstr "Az ikon mérete"
+
+#~ msgid "GTK Modules"
+#~ msgstr "GTK-modulok"
+
+#~ msgid "List of currently active GTK modules"
+#~ msgstr "Az éppen aktív GTK-modulok listája"
+
+#~ msgid "Size of icons in this toolbar"
+#~ msgstr "Az eszköztár ikonjainak mérete"
+
+#~ msgid "Whether the icon-size property has been set"
+#~ msgstr "Az ikonméret tulajdonság be van-e állítva"
+
+#~ msgid "The human-readable title of this item group"
+#~ msgstr "Az elemcsoport emberek által olvasható leírása"
+
+#~ msgid "A widget to display in place of the usual label"
+#~ msgstr "A szokásos címke helyén megjelenítendő felületi elem"
+
+#~ msgid "Collapsed"
+#~ msgstr "Összecsukott"
+
+#~ msgid "Whether the group has been collapsed and items are hidden"
+#~ msgstr "A csoport össze van-e csukva, és az elemei el vannak-e rejtve?"
+
+#~ msgid "ellipsize"
+#~ msgstr "kihagyás"
+
+#~ msgid "Ellipsize for item group headers"
+#~ msgstr "Az elemcsoport fejléceinek kihagyása"
+
+#~ msgid "Header Relief"
+#~ msgstr "Fejléc kiemelése"
+
+#~ msgid "Relief of the group header button"
+#~ msgstr "A csoportfejlécgombok kiemelése"
+
+#~ msgid "Whether the item should receive extra space when the group grows"
+#~ msgstr "Az elem kapjon-e extra területet, ha a csoport nő"
+
+#~ msgid "Fill"
+#~ msgstr "Kitöltés"
+
+#~ msgid "Whether the item should fill the available space"
+#~ msgstr "Az elemnek ki kell-e töltenie a rendelkezésre álló területet?"
+
+#~ msgid "New Row"
+#~ msgstr "Új sor"
+
+#~ msgid "Whether the item should start a new row"
+#~ msgstr "Az elemnek új sort kell-e kezdenie?"
+
+#~ msgid "Position of the item within this group"
+#~ msgstr "Az elem pozíciója a csoporton belül"
+
+#~ msgid "Size of icons in this tool palette"
+#~ msgstr "Az eszközpaletta ikonjainak mérete"
+
+#~ msgid "Style of items in the tool palette"
+#~ msgstr "Az eszközpaletta elemeinek stílusa"
+
+#~ msgid "Exclusive"
+#~ msgstr "Kizárólagos"
+
+#~ msgid "Whether the item group should be the only expanded at a given time"
+#~ msgstr "Az elemcsoport csak adott időben kerüljön-e kiterjesztésre?"
+
+#~ msgid ""
+#~ "Whether the item group should receive extra space when the palette grows"
+#~ msgstr "Az elemcsoport csak akkor kapjon-e extra területet, ha a paletta nő"
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 4b6e40f0e6..8548e6729f 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -10,7 +10,7 @@ gdk/gdkcursor.c
gdk/gdkdevice.c
gdk/gdkdisplay.c
gdk/gdkdisplaymanager.c
-gdk/gdkdnd.c
+gdk/gdkdrag.c
gdk/gdkdrawcontext.c
gdk/gdkdrop.c
gdk/gdkevents.c
diff --git a/tests/testdnd.c b/tests/testdnd.c
index 53fb07788b..0f517dea92 100644
--- a/tests/testdnd.c
+++ b/tests/testdnd.c
@@ -314,7 +314,7 @@ target_drag_motion (GtkWidget *widget,
gint y)
{
GtkWidget *source_widget;
- GdkDragContext *drag;
+ GdkDrag *drag;
char *s;
if (!have_drag)
@@ -418,7 +418,7 @@ label_drag_data_received (GtkWidget *widget,
void
source_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
gpointer data)
{
@@ -565,7 +565,7 @@ popsite_leave (GtkWidget *widget,
void
source_drag_data_delete (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
g_print ("Delete the data!\n");
diff --git a/tests/testdnd2.c b/tests/testdnd2.c
index 613caa8c8c..b94362e57c 100644
--- a/tests/testdnd2.c
+++ b/tests/testdnd2.c
@@ -39,7 +39,7 @@ enum {
static void
image_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GdkPaintable *paintable;
@@ -65,7 +65,7 @@ image_drag_begin (GtkWidget *widget,
hot_y = size;
break;
}
- gtk_drag_set_icon_paintable (context, paintable, hot_x, hot_y);
+ gtk_drag_set_icon_paintable (drag, paintable, hot_x, hot_y);
g_object_unref (paintable);
}
@@ -80,7 +80,9 @@ drag_widget_destroyed (GtkWidget *image, gpointer data)
}
static void
-window_drag_end (GtkWidget *widget, GdkDragContext *context, gpointer data)
+window_drag_end (GtkWidget *widget,
+ GdkDrag *drag,
+ gpointer data)
{
GtkWidget *window = data;
@@ -90,7 +92,7 @@ window_drag_end (GtkWidget *widget, GdkDragContext *context, gpointer data)
static void
window_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GdkPaintable *paintable;
@@ -114,7 +116,7 @@ window_drag_begin (GtkWidget *widget,
else
g_print ("reusing drag widget\n");
- gtk_drag_set_icon_widget (context, image, 0, 0);
+ gtk_drag_set_icon_widget (drag, image, 0, 0);
if (hotspot == CENTER)
g_signal_connect (widget, "drag-end", G_CALLBACK (window_drag_end), image);
@@ -153,7 +155,7 @@ update_dest_target_list (GtkWidget *image)
void
image_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
gpointer data)
{
@@ -264,7 +266,7 @@ make_image2 (const gchar *icon_name, int hotspot)
static void
spinner_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GtkWidget *spinner;
@@ -274,25 +276,25 @@ spinner_drag_begin (GtkWidget *widget,
"visible", TRUE,
"active", TRUE,
NULL);
- gtk_drag_set_icon_widget (context, spinner, 0, 0);
- g_object_set_data (G_OBJECT (context), "spinner", spinner);
+ gtk_drag_set_icon_widget (drag, spinner, 0, 0);
+ g_object_set_data (G_OBJECT (drag), "spinner", spinner);
}
static void
spinner_drag_end (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GtkWidget *spinner;
g_print ("GtkWidget::drag-end\n");
- spinner = g_object_get_data (G_OBJECT (context), "spinner");
+ spinner = g_object_get_data (G_OBJECT (drag), "spinner");
gtk_widget_destroy (spinner);
}
static gboolean
spinner_drag_failed (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkDragResult result,
gpointer data)
{
@@ -309,7 +311,7 @@ spinner_drag_failed (GtkWidget *widget,
void
spinner_drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
gpointer data)
{
diff --git a/tests/testentryicons.c b/tests/testentryicons.c
index 245ab1da2c..bbc8eeb4bd 100644
--- a/tests/testentryicons.c
+++ b/tests/testentryicons.c
@@ -2,7 +2,7 @@
#include <stdio.h>
static void
-clear_pressed (GtkEntry *entry, gint icon, GdkEvent *event, gpointer data)
+clear_pressed (GtkEntry *entry, gint icon, gpointer data)
{
if (icon == GTK_ENTRY_ICON_SECONDARY)
gtk_entry_set_text (entry, "");
@@ -10,19 +10,19 @@ clear_pressed (GtkEntry *entry, gint icon, GdkEvent *event, gpointer data)
static void
drag_begin_cb (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer user_data)
{
gint pos;
pos = gtk_entry_get_current_icon_drag_source (GTK_ENTRY (widget));
if (pos != -1)
- gtk_drag_set_icon_name (context, "dialog-information", 2, 2);
+ gtk_drag_set_icon_name (drag, "dialog-information", 2, 2);
}
static void
drag_data_get_cb (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *data,
gpointer user_data)
{
diff --git a/tests/testimage.c b/tests/testimage.c
index 4001bd67fb..2e2d5da50b 100644
--- a/tests/testimage.c
+++ b/tests/testimage.c
@@ -20,19 +20,19 @@
static void
drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GtkWidget *image = GTK_WIDGET (data);
GdkPaintable *paintable;
paintable = gtk_image_get_paintable (GTK_IMAGE (image));
- gtk_drag_set_icon_paintable (context, paintable, -2, -2);
+ gtk_drag_set_icon_paintable (drag, paintable, -2, -2);
}
void
drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
gpointer data)
{
@@ -46,7 +46,7 @@ drag_data_get (GtkWidget *widget,
static void
drag_data_received (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
guint info,
guint32 time,
diff --git a/tests/testlist3.c b/tests/testlist3.c
index 13c8a94e5a..2f6aba8450 100644
--- a/tests/testlist3.c
+++ b/tests/testlist3.c
@@ -6,7 +6,7 @@ static const char *entries[] = {
static void
drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
GtkWidget *row;
@@ -19,7 +19,7 @@ drag_begin (GtkWidget *widget,
paintable = gtk_widget_paintable_new (row);
gtk_widget_translate_coordinates (widget, row, 0, 0, &x, &y);
- gtk_drag_set_icon_paintable (context, paintable, -x, -y);
+ gtk_drag_set_icon_paintable (drag, paintable, -x, -y);
g_object_unref (paintable);
}
@@ -27,7 +27,7 @@ drag_begin (GtkWidget *widget,
void
drag_data_get (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
GtkSelectionData *selection_data,
gpointer data)
{
diff --git a/tests/testnotebookdnd.c b/tests/testnotebookdnd.c
index 5771896128..a0b321eb41 100644
--- a/tests/testnotebookdnd.c
+++ b/tests/testnotebookdnd.c
@@ -93,7 +93,7 @@ on_page_reordered (GtkNotebook *notebook, GtkWidget *child, guint page_num, gpoi
static void
on_notebook_drag_begin (GtkWidget *widget,
- GdkDragContext *context,
+ GdkDrag *drag,
gpointer data)
{
guint page_num;
@@ -101,7 +101,7 @@ on_notebook_drag_begin (GtkWidget *widget,
page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (widget));
if (page_num > 2)
- gtk_drag_set_icon_name (context,
+ gtk_drag_set_icon_name (drag,
(page_num % 2) ? "help-browser" : "process-stop",
0, 0);
}
diff --git a/testsuite/gtk/defaultvalue.c b/testsuite/gtk/defaultvalue.c
index 3ae0850868..4b559a0d23 100644
--- a/testsuite/gtk/defaultvalue.c
+++ b/testsuite/gtk/defaultvalue.c
@@ -96,20 +96,20 @@ test_type (gconstpointer data)
if (g_type_is_a (type, GTK_TYPE_FILE_CHOOSER_BUTTON) ||
g_type_is_a (type, GTK_TYPE_FILE_CHOOSER_DIALOG) ||
g_type_is_a (type, GTK_TYPE_FILE_CHOOSER_WIDGET) ||
- g_type_is_a (type, GTK_TYPE_PLACES_SIDEBAR))
+ g_str_equal (g_type_name (type), "GtkPlacesSidebar"))
return;
klass = g_type_class_ref (type);
if (g_type_is_a (type, GTK_TYPE_SETTINGS))
- instance = g_object_ref (gtk_settings_get_default ());
+ instance = G_OBJECT (g_object_ref (gtk_settings_get_default ()));
else if (g_type_is_a (type, GDK_TYPE_SURFACE))
{
- instance = g_object_ref (gdk_surface_new_popup (gdk_display_get_default (),
- 0,
- &(GdkRectangle) { 0, 0, 100, 100 }));
+ instance = G_OBJECT (g_object_ref (gdk_surface_new_popup (display,
+ &(GdkRectangle) { 0, 0, 100, 100 })));
}
- else if (g_str_equal (g_type_name (type), "GdkX11Cursor"))
+ else if (g_type_is_a (type, GDK_TYPE_CLIPBOARD) ||
+ g_str_equal (g_type_name (type), "GdkX11Cursor"))
instance = g_object_new (type, "display", display, NULL);
else
instance = g_object_new (type, NULL);
@@ -129,6 +129,20 @@ test_type (gconstpointer data)
if ((pspec->flags & G_PARAM_READABLE) == 0)
continue;
+ if (g_type_is_a (type, GDK_TYPE_CLIPBOARD) &&
+ strcmp (pspec->name, "display") == 0)
+ continue;
+
+ /* These are set in init() */
+ if ((g_type_is_a (type, GDK_TYPE_CLIPBOARD) ||
+ g_type_is_a (type, GDK_TYPE_CONTENT_PROVIDER)) &&
+ strcmp (pspec->name, "formats") == 0)
+ continue;
+
+ if (g_type_is_a (type, GDK_TYPE_CONTENT_PROVIDER) &&
+ strcmp (pspec->name, "storable-formats") == 0)
+ continue;
+
/* This one has a special-purpose default value */
if (g_type_is_a (type, GTK_TYPE_DIALOG) &&
(strcmp (pspec->name, "use-header-bar") == 0))
@@ -214,6 +228,15 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
strcmp (pspec->name, "cell-area-context") == 0))
continue;
+G_GNUC_END_IGNORE_DEPRECATIONS
+
+ /* This is set in init() */
+ if (g_type_is_a (type, GTK_TYPE_FONT_CHOOSER_WIDGET) &&
+ strcmp (pspec->name, "tweak-action") == 0)
+ continue;
+
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
if (g_type_is_a (type, GTK_TYPE_ICON_VIEW) &&
(strcmp (pspec->name, "cell-area") == 0 ||
strcmp (pspec->name, "cell-area-context") == 0))
@@ -295,10 +318,6 @@ G_GNUC_END_IGNORE_DEPRECATIONS
strcmp (pspec->name, "buffer") == 0)
continue;
- if (g_type_is_a (type, GTK_TYPE_TOOL_ITEM_GROUP) &&
- strcmp (pspec->name, "label-widget") == 0)
- continue;
-
if (g_type_is_a (type, GTK_TYPE_TREE_VIEW) &&
(strcmp (pspec->name, "hadjustment") == 0 ||
strcmp (pspec->name, "vadjustment") == 0))
@@ -326,7 +345,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
continue;
/* show-desktop depends on desktop environment */
- if (g_type_is_a (type, GTK_TYPE_PLACES_SIDEBAR) &&
+ if (g_str_equal (g_type_name (type), "GtkPlacesSidebar") &&
strcmp (pspec->name, "show-desktop") == 0)
continue;
@@ -341,11 +360,13 @@ G_GNUC_END_IGNORE_DEPRECATIONS
strcmp (pspec->name, "adjustment") == 0)
continue;
-
if (g_test_verbose ())
- g_print ("Property %s.%s\n",
- g_type_name (pspec->owner_type),
- pspec->name);
+ {
+ g_print ("Property %s:%s\n",
+ g_type_name (pspec->owner_type),
+ pspec->name);
+ }
+
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec));
g_object_get_property (instance, pspec->name, &value);
check_property ("Property", pspec, &value);
diff --git a/testsuite/gtk/meson.build b/testsuite/gtk/meson.build
index d2febc485c..319eb14343 100644
--- a/testsuite/gtk/meson.build
+++ b/testsuite/gtk/meson.build
@@ -17,6 +17,7 @@ tests = [
['cellarea'],
['check-icon-names'],
['cssprovider'],
+ ['defaultvalue'],
['entry'],
['firefox-stylecontext'],
['floating'],
diff --git a/testsuite/gtk/notify.c b/testsuite/gtk/notify.c
index a3eb23ebdc..79b4e03406 100644
--- a/testsuite/gtk/notify.c
+++ b/testsuite/gtk/notify.c
@@ -505,21 +505,6 @@ test_type (gconstpointer data)
g_str_equal (pspec->name, "page"))
continue;
- if (g_type_is_a (pspec->owner_type, GTK_TYPE_TOGGLE_BUTTON) &&
- g_str_equal (pspec->name, "draw-indicator"))
- continue;
-
- if (g_str_equal (g_type_name (type), "GtkRecentChooserMenu") &&
- g_str_equal (pspec->name, "select-multiple"))
- continue;
-
- /* Really a bug in the way GtkButton and its subclasses interact:
- * setting label etc on a subclass destroys the content, breaking
- * e.g. GtkColorButton pretty badly
- */
- if (type == GTK_TYPE_COLOR_BUTTON && pspec->owner_type == GTK_TYPE_BUTTON)
- continue;
-
/* Too many special cases involving -set properties */
if (g_str_equal (g_type_name (pspec->owner_type), "GtkCellRendererText") ||
g_str_equal (g_type_name (pspec->owner_type), "GtkTextTag"))
@@ -529,40 +514,6 @@ test_type (gconstpointer data)
if (g_str_equal (g_type_name (pspec->owner_type), "GtkComboBox"))
continue;
- /* Deprecated, not getting fixed */
- if (g_str_equal (g_type_name (pspec->owner_type), "GtkAction"))
- continue;
-
- if (g_type_is_a (pspec->owner_type, GTK_TYPE_CONTAINER) &&
- g_str_equal (pspec->name, "resize-mode"))
- continue;
-
- if (g_type_is_a (pspec->owner_type, GTK_TYPE_COLOR_BUTTON) &&
- g_str_equal (pspec->name, "alpha"))
- continue;
-
- if (g_type_is_a (pspec->owner_type, GTK_TYPE_CELL_RENDERER_PIXBUF) &&
- (g_str_equal (pspec->name, "stock-id") ||
- g_str_equal (pspec->name, "stock-size")))
- continue;
-
- if (g_type_is_a (pspec->owner_type, GTK_TYPE_MENU) &&
- g_str_equal (pspec->name, "tearoff-state"))
- continue;
-
- if (g_type_is_a (pspec->owner_type, GTK_TYPE_WIDGET) &&
- g_str_equal (pspec->name, "double-buffered"))
- continue;
-
- if (g_type_is_a (pspec->owner_type, GTK_TYPE_WINDOW) &&
- g_str_equal (pspec->name, "has-resize-grip"))
- continue;
-
- /* Can only be set on window widgets */
- if (pspec->owner_type == GTK_TYPE_WIDGET &&
- g_str_equal (pspec->name, "events"))
- continue;
-
/* Can only be set on unmapped windows */
if (pspec->owner_type == GTK_TYPE_WINDOW &&
g_str_equal (pspec->name, "type-hint"))
@@ -606,10 +557,6 @@ test_type (gconstpointer data)
g_str_equal (pspec->name, "im-module"))
continue;
- if (pspec->owner_type == GTK_TYPE_TOOLBAR &&
- g_str_equal (pspec->name, "icon-size"))
- continue;
-
if (pspec->owner_type == GTK_TYPE_TREE_SELECTION &&
g_str_equal (pspec->name, "mode")) /* requires a treeview */
continue;
@@ -643,10 +590,6 @@ test_type (gconstpointer data)
g_str_equal (pspec->name, "font"))
continue;
- if (g_type_is_a (type, GTK_TYPE_FONT_BUTTON) &&
- g_str_equal (pspec->name, "font-name"))
- continue;
-
/* these depend on the min-content- properties in a way that breaks our test */
if (g_type_is_a (type, GTK_TYPE_SCROLLED_WINDOW) &&
(g_str_equal (pspec->name, "max-content-width") ||
diff --git a/testsuite/gtk/object.c b/testsuite/gtk/object.c
index 7939b59e56..128b974714 100644
--- a/testsuite/gtk/object.c
+++ b/testsuite/gtk/object.c
@@ -76,7 +76,6 @@ list_ignore_properties (gboolean buglist)
{ "GtkFileChooserDialog", "select-multiple", (void*) MATCH_ANY_VALUE }, /* property disabled */
{ "GtkMenu", "accel-path", (void*) MATCH_ANY_VALUE }, /* has odd restrictions in the setter */
{ "GtkMenuItem", "accel-path", (void*) MATCH_ANY_VALUE }, /* has odd restrictions in the setter */
- { "GtkRecentChooserMenu", "select-multiple", (void*) MATCH_ANY_VALUE }, /* property disabled */
{ "GtkTextView", "overwrite", (void*) MATCH_ANY_VALUE }, /* needs text buffer */
{ "GtkTreeView", "expander-column", (void*) MATCH_ANY_VALUE }, /* assertion list != NULL */
{ "GtkWindow", "display", (void*) MATCH_ANY_VALUE },
diff --git a/testsuite/reftests/reftest-snapshot.c b/testsuite/reftests/reftest-snapshot.c
index 2640050dd8..b84d2f5832 100644
--- a/testsuite/reftests/reftest-snapshot.c
+++ b/testsuite/reftests/reftest-snapshot.c
@@ -108,8 +108,7 @@ snapshot_window_native (GdkSurface *window,
XWindowAttributes attrs;
if (gdk_surface_get_surface_type (window) == GDK_SURFACE_TOPLEVEL ||
- gdk_surface_get_surface_type (window) == GDK_SURFACE_TEMP ||
- gdk_surface_get_surface_type (window) == GDK_SURFACE_FOREIGN)
+ gdk_surface_get_surface_type (window) == GDK_SURFACE_TEMP)
{
/* give the WM/server some time to sync. They need it.
* Also, do use popups instead of toplevels in your tests