Compare commits

..

131 Commits

Author SHA1 Message Date
Matthias Clasen b35e20b43b font demo: show features and variations 2019-01-31 03:43:52 -05:00
Matthias Clasen 827bd96820 font chooser: port to new harfbuzz apis
Use pango_font_get_hb_font() and some new harfbuzz
apis to avoid freetype.
2019-01-31 03:43:01 -05:00
Matthias Clasen 80b5024239 switch: Update the .symbolic.png icon too
Regenerate switch-off-symbolic.symbolic.png from switch-off-symbolic.svg.
2019-01-25 15:27:45 -05:00
Jakub Steiner f900087f30 switch: fix off icon shape
- the recoloring would only work on rects and paths
2019-01-25 20:21:57 +01:00
Matthias Clasen a1b29fbb2f Merge branch 'wip/carlosg/present-window-on-wayland' into 'gtk-3-24'
Implement gtk_window_present() on wayland

See merge request GNOME/gtk!525
2019-01-25 13:58:50 +00:00
Matthias Clasen 4af1fa872a Merge branch 'switch-icons-for-3' into 'gtk-3-24'
Switch icons for 3

See merge request GNOME/gtk!530
2019-01-25 01:28:24 +00:00
Matthias Clasen 75a4ae2aba switch: use icons
Use the newly added icons.
2019-01-24 20:15:47 -05:00
Matthias Clasen 9fe0ef42a1 Add switch icons
These will be used in GtkSwitch in the future.
2019-01-24 17:47:28 -05:00
John Ralls 3e3a15de83 [imquartz] Fix incorrect GdkEvent window member name. 2019-01-23 20:02:16 -08:00
Matthias Clasen 3edb8a9305 Merge branch 'switch-glyph' into 'gtk-3-24'
switch: Avoid problems with glyph availability

See merge request GNOME/gtk!524
2019-01-23 20:45:36 +00:00
Carlos Garnacho bff46d8696 gdk/wayland: Set a startup notification
And notify the shell about it. This is done through the
gtk_shell1.notify_launch request added in gtk-shell v3. All the plumbing
on the way to the activated application is already in place to transfer
the startup ID, so the other side just has to reply with
gtk_surface1.request_focus.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/624
2019-01-23 19:13:37 +01:00
Carlos Garnacho ed9db5a173 gdk/wayland: Implement gdk_window_present()
This uses the gtk_surface1.request_focus request added in gtk-shell v3,
the given startup ID may be used by the compositor in order to determine
when was the request started, and whether user input happened in between.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/624
2019-01-23 19:13:37 +01:00
Carlos Garnacho 45d6c0091a wayland/protocol: Update gtk-shell protocol to v3
This version has 2 new requests:
- gtk_shell1.notify_launch notifies the compositor that the requesting
  client shall launch another application. The given ID is expected to
  be unique.
- gtk_surface1.request_focus notifies the compositor that a surface
  requests focus due to it being activated. The given ID is passed to
  this process through undetermined means, if it corresponds with a
  current startup ID and there was no user interaction in between the
  surface will be focused, otherwise it will demand attention.
2019-01-23 19:13:37 +01:00
Matthias Clasen 6a4ce55a69 switch: Avoid problems with glyph availability
If none of the glyphs we want are available, fall
back to using empty strings here, rather than causing
critical warnings.
2019-01-23 12:04:08 -05:00
Emmanuele Bassi 2db6dbd192 Merge branch 'wip/iainl/pointer-type-casts-3-24' into 'gtk-3-24'
Fix -Wincompatible-pointer-types warnings

See merge request GNOME/gtk!523
2019-01-23 12:18:18 +00:00
Iain Lane 882c81dab2 Fix -Wincompatible-pointer-types warnings 2019-01-23 12:18:18 +00:00
John Ralls a93daa0373 [imquartz] Return event window for mouse events in keypress filter.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1600
2019-01-21 07:31:52 -08:00
Matthias Clasen a02de1c9d9 More updates 2019-01-21 09:09:59 -05:00
Jakub Steiner f7df4853e8 Merge branch 'wip/dboles/spinbutton-button-backdrop-disabled-3' into 'gtk-3-24'
SpinButton: Fix wrong background/icon colours in button:backdrop:disabled

See merge request GNOME/gtk!489
2019-01-21 13:57:43 +00:00
Matthias Clasen d3e5cc3b9d 3.24.4 2019-01-21 08:28:07 -05:00
Pieter Schalk Schoeman 4e95ef90c2 Update Afrikaans translation 2019-01-20 23:25:43 +00:00
Pieter Schalk Schoeman 8d52eb3d86 Update Afrikaans translation 2019-01-20 23:23:53 +00:00
Matthias Clasen b984074e29 Merge branch 'mcatanzaro/#1492' into 'gtk-3-24'
filechoosernative: Implement gtk_file_chooser_set_filter()

See merge request GNOME/gtk!435
2019-01-19 00:54:15 +00:00
Matthias Clasen e2d9563a55 Merge branch 'wip/long-combo-boxes' into 'gtk-3-24'
Fix long combo box positioning

See merge request GNOME/gtk!514
2019-01-18 22:42:04 +00:00
Chun-wei Fan c3ece1b24c Update README.win32 on features and Visual Studio support
Let people know that up to Visual Studio 2017 is supported, and on
enabling additional features which are not enabled by default.
2019-01-18 17:01:47 +08:00
Chun-wei Fan c89328766a Visual Studio builds: Use UNIX line endings for projects
Make things consistent across the board.  Only the .sln files and the
various README files under build/win32 should have Windows CR/LF line
endings.
2019-01-18 16:43:47 +08:00
Chun-wei Fan 466c87dec5 build/win32/vs10/gtk3-install.props: Remove from tree
This file is generated during 'make dist', so we should not need to
track it in GIT.
2019-01-18 16:41:26 +08:00
Chun-wei Fan 78fef66866 Visual Studio builds: Improve Introspection build process
Adapt the Visual Studio project files to output the introspection files
in the same directories where the built binaries are located from the
previous patch.

Also, make the gtk3-introspect project dependent on the gdk-3 and gtk-3
projects only, so that we can build the introspection files without
needing to finish the whole build process.  In order to "install" the
built introspection files, the gtk3-install project is now where this is
being done.  Note that the introspection builds is still not built by
default at this point.
2019-01-18 16:35:28 +08:00
Chun-wei Fan 5ffbeeff91 MSVC builds: Improve introspection build process
To avoid confusion, have the NMake Makefiles output the built introspection
files in the same location where the binaries are built for the project
files, according to the Visual Studio version, platform and configuration
where the build is carried out.

Also make generating the introspection NMake snippet portion more robust to
source additions and removals by checking on Makefile changes too.
2019-01-18 16:25:49 +08:00
Jonas Ådahl c35878ecf1 menu: Adapt scroll offset if arrow is shown
When a popup is placed using move_to_rect(), it'll get feedback about
the position and size it got assigned. We use this feedback to update
the scroll offset, but while doing so, if the visibility of the arrow
changed, we didn't adapt the offset accordingly.

Fix this by offsetting the provided offset by the height of the arrow,
if it was made visible as a side effect of the scroll offset change
triggered by the feedback.

Related: mutter#105
Closes: #1463
2019-01-17 19:30:31 +01:00
Jonas Ådahl 3e586a82e6 menu: Force resize when remapping
A menu will be clamped to the work area as a side effect of the
move_to_rect() logic if the resize anchor flags was set. For it to work
a second time, the initial size needs to be the actual menu size before
being clamped again. Achieve this by forcing a size recalculation before
showing the menu.
2019-01-17 19:23:21 +01:00
Jonas Ådahl 00486efd51 menu: Don't constrain initial menu size
Don't constrain the initial menu size by the work area of some monitor;
instead let the move_to_rect() logic in the backend do the constraining.
This fixes two things:

1) The anchor delta provided to the backend will not be invalid. The
delta is calculated by looking at the active menu item, calculating the
offset given that, but since we clamped the window size before showing
the window, the delta became invalid. This caused visible issues when
the delta was large enough to make the initially calculated popup window
geometry to be placed outside the geometry of the parent window, which
is a violation of the Wayland protocol.

2) The scroll offset to be correct when receiving the positioning
feedback. While the scroll offset was based on the pre-clamped window
size, the feedback, which was used to calculate the new offset, was not,
causing the scroll offset to be clamped as well.
2019-01-17 19:14:37 +01:00
Jonas Ådahl 66ee4dea40 wayland/window: Don't remap when handling xdg_popu.configure
If the size was constrained by the xdg_positioner mechanisms, we handle
the resize by resizing the popup window. What we shouldn't do is
hide/show the popup window so avoid that.
2019-01-17 16:17:32 +01:00
Michael Catanzaro c0a0bfd388 filechoosernativeportal: stuff the current filter into options
We need to tell the portal what filter is supposed to be selected by
default, or it will just pick the first one, which could be wrong and
annoying.

This will require updated xdg-desktop-portal and xdg-desktop-portal-gtk
to work properly.

Fixes #1492
2019-01-16 17:45:44 -06:00
Matthias Clasen 9c8f1478f9 Merge branch 'about-license-linke' into 'gtk-3-24'
about dialog: Use ::activate-link for license

See merge request GNOME/gtk!510
2019-01-16 14:40:31 +00:00
Daniel Mustieles dd8b28540f Updated Spanish translation 2019-01-16 09:54:30 +01:00
Matthias Clasen ab748d05f0 about dialog: Use ::activate-link for license
This should behave the same as all the other links
in this dialog.

Closes: #1561
2019-01-15 23:16:16 -05:00
Matthias Clasen f6b20fb815 Merge branch 'switch-label-fallback' into 'gtk-3-24'
Add fallbacks for GtkSwitch state labels

See merge request GNOME/gtk!508
2019-01-15 21:30:44 +00:00
Emmanuele Bassi ed39721aa7 Add fallbacks for GtkSwitch state labels
While the IEC power symbols have been part of Unicode since version 9.0,
released in 2016, not every font supports them.

We can use the old symbols as a fallback, as they seem to have the
better coverage, if not the best appearance.
2019-01-15 15:22:09 +00:00
Michael Catanzaro 3307944746 filechoosernativeportal: remove redundant casts
We are casting from GtkFileChooserNative to... GtkFileChooserNative.
Boo.
2019-01-14 20:53:19 -06:00
Michael Catanzaro a136cbae8f filechoosernative: forward current_filter to delegate dialog
gtk_file_chooser_set_filter() doesn't work for GtkFileChooserNative. The
code forwards added and removed filters to the delegate dialog, but
doesn't do anything to set the selected one, so the wrong one gets
chosen. So fix that.

This only fixes the fallback dialog. The portal will be fixed in a
subsequent commit.

Partial fix for #1492
2019-01-14 20:07:01 -06:00
Matthias Clasen c9d09695f8 3.24.3 2019-01-13 23:11:14 -05:00
Matthias Clasen 97bac67546 Updates for 3.24.3 2019-01-13 22:30:26 -05:00
Matthias Clasen da3100e99c Revert a non-working addition
Cell rendererers don't support <style> in ui files.
2019-01-13 22:06:51 -05:00
Matthias Clasen c5d824d6c9 Update a11y test output 2019-01-13 22:06:51 -05:00
John Ralls ee0e59e6cf [IMQuartz] Get the GdkWindow from the NSKeyEvent.
Instead of from the IMContextQuartz's client window because the former
is the event window where the text will be inserted. In some cases
they're different and the text may be discarded (because the client
window isn't editable) or misplaced.

Fixes Bug 707945.
2019-01-13 16:00:53 -08:00
John Ralls 3c49c593f5 [GtkSearchEngineQuartz] Don't run off the end of the results array and crash. 2019-01-11 16:18:45 -08:00
Matthias Clasen 5ecc3080fe Merge branch 'power-on-switch' into 'gtk-3-24'
Use power symbols for GtkSwitch labels

See merge request GNOME/gtk!503
2019-01-11 15:18:14 +00:00
Emmanuele Bassi 796e884c3f Use power symbols for GtkSwitch labels
Both the "on" and "off" IEC states have a corresponding Unicode glyph,
starting from Unicode 9.0.
2019-01-11 15:08:58 +00:00
Timm Bäder ca583836d9 Merge branch 'wip/muktupavels/listbox' into 'gtk-3-24'
listbox: set selected_row before emitting signal

See merge request GNOME/gtk!479
2019-01-11 11:38:19 +00:00
Matthias Clasen 325b968567 Merge branch 'io-switch' into 'gtk-3-24'
switch: Always use I/O

See merge request GNOME/gtk!501
2019-01-10 22:23:03 +00:00
Matthias Clasen 45ee476e36 switch: Always use I/O
This allows for smaller switches, and goes better with
modern themes that have round switches.
2019-01-10 16:58:16 -05:00
Emmanuele Bassi 32b21ee905 Merge branch 'gtk-3-24' into 'gtk-3-24'
Revert "gdk: deactivate/activate surface on keyboard grabs"

See merge request GNOME/gtk!484
2019-01-09 16:31:32 +00:00
Timm Bäder 99fadf1619 Merge branch 'wip/sadiq/750-gtk3' into 'gtk-3-24'
gtkpopover: Fix popover when parent widget is partially visible

See merge request GNOME/gtk!497
2019-01-09 11:53:52 +00:00
Mohammed Sadiq e7eec51772 gtkpopover: Fix popover when parent widget is partially visible
fixes https://gitlab.gnome.org/GNOME/gtk/issues/750
2019-01-09 17:08:40 +05:30
Matthias Clasen 8292264ff3 Merge branch 'wip/cache-hidpi-cursor-gtk-3-24' into 'gtk-3-24'
Don't get incorrectly scaled cursors from cache

See merge request GNOME/gtk!494
2019-01-08 18:11:21 +00:00
Jonas Ådahl a907552df9 wayland/cursor: Make sure the cached cursor has the right size
The cache key is just the name of the cursor, so if a previously added
cursor had e.g. scale == 1, if we ask for a new cursor with scale == 2,
we might still fetch the scale == 1 cursor from the cache. Avoid this by
making sure the scale of the cached one is correct.

If it isn't, load the cursor as normal, and update the cache entry with
the new properly scaled cursor.

Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/1183
2019-01-08 18:48:16 +01:00
Jonas Ådahl d31107c4fe wayland/cursor: Rename GdkWaylandCursor variable
It was called "private" for some reason. Call it "wayland_cursor"
instead, as it's a GdkWaylandCursor, and also not private.
2019-01-08 18:48:16 +01:00
Matthias Clasen d79de8657b Merge branch 'wip/jimmac/app-icon-helpers' into 'gtk-3-24'
Theme: add helper class names for Adwaita

See merge request GNOME/gtk!449
2019-01-08 01:26:58 +00:00
Matthias Clasen c8f91c3f2d Document icon helper style classes 2019-01-07 20:20:23 -05:00
Michael Catanzaro 65311c8439 Revert "Revealer: Don’t (under)allocate child if not shown"
This reverts commit d179b0667d.

This broke the downloads popover in Epiphany. See #1057.
2019-01-07 18:20:01 -06:00
Daniel Boles 105dd5eda0 searchenginequartz: Fix naming of Beagle @ comment
As funny as that is, it's not very instructive. :P

https://gitlab.gnome.org/GNOME/gtk/merge_requests/490#note_400993
2019-01-07 20:35:40 +00:00
Matthias Clasen 9d1f751ead Merge branch 'issue1507-bis' into 'gtk-3-24'
a11y: Check display in `*grab_cell_focus()`

See merge request GNOME/gtk!457
2019-01-07 20:30:08 +00:00
Matthias Clasen db4bd97732 Merge branch 'wip/carlosg/flowbox-late-claim' into 'gtk-3-24'
flowbox: Accept multipress gesture late

See merge request GNOME/gtk!480
2019-01-07 20:26:23 +00:00
Matthias Clasen 4fe28ba02a Merge branch 'gtk-3-24' into 'gtk-3-24'
GtkSearchEngineQuartz Fixes

See merge request GNOME/gtk!490
2019-01-07 20:24:48 +00:00
Carlos Garnacho 7f2cb91761 Merge branch 'wip/chergert/controller-motion-coordinates' into 'gtk-3-24'
translate GtkEventControllerMotion x,y into widget coordinates

See merge request GNOME/gtk!370
2019-01-07 20:18:19 +00:00
Christian Hergert ebcb0ea2a8 eventcontrollermotion: translate event to widget coordinates
When creating the motion controller, we know the widget that is of interest
based on gtk_event_controller_motion_new(). However, not all incoming
events are guaranteed to be of the GdkWindow associated to that widget.
They may also be for a descendant. Therefore, it is useful to translate
those coordinates into the target widget coordinate space as that is
likely what they care about.
2019-01-07 11:49:19 -08:00
John Ralls ad9fd969de [GtkSearchEngineQuartz] Limit the returned hits.
When the result set is larger than the limit.
2019-01-06 16:19:49 -08:00
Daniel Boles ae8be92437 [GtkSearchEngineQuartz] Resolve the path to a GtkFile* for the hit list.
Instead of a char* path, which the search_hit parser doesn't expect,
causing a crash.

Closes: $https://gitlab.gnome.org/GNOME/gtk/issues/815
2019-01-06 15:56:57 -08:00
Daniel Boles d1b14a7deb HC: Fix fgcolor of backdrop:disabled spinbutton +-
We shouldn't give the icons here the same fg colour as the bg... which
makes them disappear and the buttons look like meaningless flat squares.

Fix by just using the same colour the same as foreground disabled. Note:
insensitive_fg_color is more prominent than !disabled, so clearly wrong.
2019-01-06 20:03:44 +00:00
Daniel Boles 6eb1be27f7 Adwaita: Fix bg of backdrop:disabled spinbutton +-
The +/- buttons are meant to be transparent, showing the base_color,
but when backdropped they were picking up background-image from the base
button, meaning they suddenly became more like theme_bg_color instead,
and jumped out of the spinbutton when in backdrop unlike the rest of it.
This looks strange and achieves nothing (especially not indicating that
they are disabled, which is already served fine by their dim fg colour).

Fix this by explicitly saying we don't want any background-image there.
2019-01-06 20:03:35 +00:00
John Ralls 70b7b89411 [Quartz]Check mode before setting the monitor scale factor.
CGDisplayModeGetWidth returns 0 if mode is NULL; that happens if the
CGDisplay is offline or mirroring another monitor and it leads to a
divide-by-zero crash.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1565
2019-01-05 20:06:50 -08:00
Ryuta Fujii a8e07254d3 Update Japanese translation 2019-01-05 00:20:54 +00:00
Ryuta Fujii da54692ab7 Update Japanese translation 2019-01-04 23:52:50 +00:00
Emmanuele Bassi 69508b014d Merge branch 'wayland-key-theme-for-3-24' into 'gtk-3-24'
Wayland: Support key theme setting

See merge request GNOME/gtk!487
2019-01-04 16:19:09 +00:00
Samuel Thibault e84016cd17 Revert "gdk: deactivate/activate surface on keyboard grabs"
This reverts commits f23bfc6b69. and
c926b28d96.

This reintroduces #85, but see discussion in
https://gitlab.gnome.org/GNOME/gtk/merge_requests/433 for the unforeseen
invasive consequences of these commits.
2019-01-04 17:07:18 +01:00
Matthias Clasen 3a1c5f7232 Wayland: Support key theme setting
GTK+ 3 has supported this all along, so we should support
it for Wayland as well, for feature parity.

Closes: #1553
2019-01-04 10:18:51 -05:00
Matthias Clasen 4eee51b0e5 Check for the session bus before using it
Patch by Chris Allen, #475
2019-01-02 20:38:18 -05:00
Matthias Clasen 06ffbb2a22 Merge branch 'wip/nbenitezl/move-bookmark-placeholder-index-3' into 'gtk-3-24'
gtkplacessidebar.c: move bookmark at the placeholder index

See merge request GNOME/gtk!458
2019-01-03 01:28:34 +00:00
Orivej Desh f6bc2415ab Zero-fill new GtkTextIter
iter_init_common() is used on uninitialized GtkTextIter, and since neither it
nor its callers initiliaze its padding fields, they contain garbage.

This is a problem for Go - which checks that structs passed to C functions do
not contain pointers to Go-allocated memory - when the garbage happens to be
such a pointer.  Although Go zero-fills all GtkTextIter that it allocates, this
does not help when GTK functions such as insert_pixbuf_or_widget_segment called
for gtk_text_buffer_create_child_anchor copy garbage from their stack-allocated
GtkTextIter into a clean iter.  To work around this a GtkTextIter has to be
discraded after use in text buffer anchor inserting functions:
https://github.com/gotk3/gotk3/pull/307
2019-01-02 20:05:10 -05:00
Matthias Clasen 5662f2e34f Fix XChangeProperty calls
They must be long...

Closes: #1556
2019-01-02 19:32:00 -05:00
Carlos Garnacho c4949aef09 flowbox: Accept multipress gesture late
So it's able to operate properly with the DnD gesture set by
gtk_drag_source_set(). We usually just react on button release,
that's the right time to claim the gesture.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1557
2019-01-02 21:09:53 +01:00
Timm Bäder dea38f0222 Merge branch 'wip/carlosg/revealer-fix-interrupted-animations' into 'gtk-3-24'
revealer: Fully set the target state if unmapped during animation

See merge request GNOME/gtk!465
2019-01-02 08:50:36 +00:00
Alberts Muktupāvels 4ff4809ede listbox: set selected_row before emitting signal
Signal emittion was added in 6f857f87dc commit and it seems that
this is only place where selected_row is set after emitting signal.

Because of this gtk_list_box_get_selected_row currently returns NULL
as selected row if selection mode is set to GTK_SELECTION_BROWSE.
2019-01-02 01:14:17 +02:00
Daniel Boles 63e0eb5de5 Fix 'Fix "A11y: Add support for AtkTableCell"'...
...since one of the "fixes" there was wrong, at least cosmetically:
.get_position() is declared as returning a gboolean, which is in fact an
int in practice, but we should say what we mean, like we already did.
2018-12-30 18:11:50 +00:00
Chun-wei Fan c876c74eb7 Fix "A11y: Add support for AtkTableCell"
Make sure that the return types of the vfuncs match the ones that are
specified for post-atk-2.11.x AtkTableCellIface, since we already
require atk-2.15.1 and later.
2018-12-26 12:17:20 +08:00
Christoph Reiter cc329d36e0 Merge branch 'priority' into 'gtk-3-24'
Annotate values of PRIORITY constants

See merge request GNOME/gtk!472
2018-12-22 16:37:07 +00:00
Tomasz Miąsko d3b6d16d85 Annotate values of PRIORITY constants
g-ir-scanner incorrectly evaluates macro definition that include
references to other macro definitions. Provide a correct value as an
annotation.

Differences in generated gir files:

```diff
@@ -19017 +19017 @@
-    <constant name="PRIORITY_REDRAW" value="20" c:type="GDK_PRIORITY_REDRAW">
+    <constant name="PRIORITY_REDRAW" value="120" c:type="GDK_PRIORITY_REDRAW">
@@ -74229,3 +74229,3 @@
     </constant>
-    <constant name="PRIORITY_RESIZE" value="10" c:type="GTK_PRIORITY_RESIZE">
+    <constant name="PRIORITY_RESIZE" value="110" c:type="GTK_PRIORITY_RESIZE">
       <doc xml:space="preserve">Use this priority for functionality related to size allocation.
@@ -106786,3 +106786,3 @@
     <constant name="TEXT_VIEW_PRIORITY_VALIDATE"
-              value="5"
+              value="125"
               c:type="GTK_TEXT_VIEW_PRIORITY_VALIDATE">
```
2018-12-22 13:17:58 +01:00
Timm Bäder b69aae4ab3 Merge branch 'cherry-pick-5b049364' into 'gtk-3-24'
Merge branch 'fix-polygon-svg-recolor' into 'master'

See merge request GNOME/gtk!468
2018-12-22 09:10:49 +00:00
Christoph Reiter ea518ec2f5 Merge branch 'fix-typo-win32-compilation-speedup-macro' into 'gtk-3-24'
Win32: Fix typo on compilation speedup macro define

See merge request GNOME/gtk!470
2018-12-22 07:13:31 +00:00
Luca Bacci a9d7d41b59 Win32: Fix typo on compilation speedup macro define
There is a typo, the correct macro to define is WIN32_LEAN_AND_MEAN.
After this change <shellapi.h> must be included in order to use
ExtractIconExW().
2018-12-22 00:48:10 +01:00
Matthias Clasen b283b0b910 Merge branch 'fix-polygon-svg-recolor' into 'master'
icontheme: Recolor <polygon> elements in SVGs too

See merge request GNOME/gtk!443

(cherry picked from commit 5b049364dc)

284d9093 icontheme: Recolor <polygon> elements in SVGs too
2018-12-20 03:01:36 +00:00
Mike Gorse e9f527b328 A11y: Add support for AtkTableCell 2018-12-19 21:09:59 -05:00
Carlos Garnacho 32ad0ffa0f revealer: Fully set the target state if unmapped during animation
If the revealer is told do animate and then unrealize itself, we do
(correctly) stop the animation, but used to do a shortcut where we
just set the target state as current.

Other things are dependent on the animation properly finishing though,
like the contained widget child visibility. This may lead to inconsistent
state where gtk_revealer_get_child_revealed() returns TRUE but the child
widget is unmapped, or vice-versa.

Fully finish the animation here, so the child state is coherent the next
time the revealer is mapped. We can also skip notifying on the property
since it will be handled by gtk_revealer_set_position().

Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/issues/316
2018-12-19 19:37:42 +01:00
Benjamin Otte 55894c48a5 Merge branch 'wip/dboles/revealer-underallocates-gadgets-3' into 'gtk-3-24'
Revealer: Don't (under)allocate child if not shown (+bonus: actually put enough filler text in testrevealer)

See merge request GNOME/gtk!463
2018-12-18 22:21:37 +00:00
Daniel Boles d179b0667d Revealer: Don’t (under)allocate child if not shown
If the child is not (partly) revealed, don’t allocate it, or we spam the
console with warnings about giving negative width to children’s gadgets.
We can check :child-visible, which is FALSE if (current&target)_pos == 0

Close https://gitlab.gnome.org/GNOME/gtk/issues/1057
2018-12-18 21:00:08 +00:00
Daniel Boles ee5873be19 testrevealer: Make filler text actually big enough
…to do what it says it does, i.e. avoid the window expanding/shifting as
e.g. the leftmost entry is revealed.

noticed during https://gitlab.gnome.org/GNOME/gtk/issues/1057
2018-12-18 21:00:08 +00:00
Carlos Garnacho 33faf46516 Merge branch 'wip/wacom-tool-type-from-property-3.24' into 'gtk-3-24'
Wacom tool type fixes

See merge request GNOME/gtk!453
2018-12-18 20:09:40 +00:00
John Ralls 1c1a86d0fc Merge Ignacio Casal Quintero's quartz-scale-factor' into gtk-3-24. 2018-12-18 10:55:35 -08:00
Ignacio Casal Quinteiro 1a9377bab9 quartz/display: add back scaling factor
With the last patches one thing that got lost if the scaling
factor. This is very visible when i.e loading a svg image
in a Retina display.
2018-12-18 18:08:47 +01:00
John Ralls e105fefc49 Fix copy-paste error. 2018-12-18 09:07:15 -08:00
Peter Hutterer 7b33369bfb x11: make the tool lookup dependent on the hw id as well
Tools on the same physical item have the same serial number, so the eraser
and the pen part of a single pen share that serial number. With the current
lookup code, we'll always return whichever tool comes first into proximity.

Change the code to use the hw id in addition to the serial number, this way we
can differ between two tools.
2018-12-18 10:48:03 +10:00
Peter Hutterer c6dd92294d x11: don't add unknown tools to our list
Generic tools (Bamboo, built-in tablets) always have the same serial number
assigned by the wacom driver. This includes the touch tool when the wacom
driver handles the touch evdev node (common where users require the wacom
gestures to work).

When the first device is the touch device, a tool is created with that serial.
All future tools now return the touch tool on lookup since they all share the
same serial number. Worse, this happens *across* devices, so the pen
event node gets assigned the touch tool because they all have the same serial.

Since we don't actually care about the touch as a tool, let's skip any unknown
tool. This captures pads as well.
2018-12-18 10:48:02 +10:00
Peter Hutterer f173d1bc5c x11: get the tool type from the wacom driver properties
Any wacom device currently sets the tool type to UNKNOWN. The wacom driver has
a property that exports the tool type as one of stylus, eraser, cursor, pad or
touch. Only three of those are useful here but that's better than having all
of them as unknown.
2018-12-18 10:47:26 +10:00
Daniel Boles 3986326bbf RGBA: tiny grammar improvements in to_string doc 2018-12-17 20:16:42 +00:00
Daniel Boles be60ddbec9 RGBA: Consistently use “” around inline arg names
instead of being inconsistent and not using them later, which leaves a
bunch of single letters floating among real words, not the prettiest.
2018-12-17 20:16:42 +00:00
Daniel Boles 33a966952a RGBA: Fix example to_string output for reality/CSS
* We don't output spaces anywhere in the code, unlike the doc suggested.
* CSS explicitly forbids whitespace between function names and lparens:
  https://stackoverflow.com/questions/13877198
2018-12-17 20:16:42 +00:00
Nelson Benítez León f7eb7efeb5 gtkplacessidebar.c: move bookmark at the placeholder index
As that index is set in drag_motion_callback() and visually shown
on the widget as a drop target hint.

https://bugzilla.gnome.org/show_bug.cgi?id=787356
https://gitlab.gnome.org/GNOME/gtk/issues/904
2018-12-17 19:17:17 +00:00
Olivier Fourdan e91197a37f a11y: Check display in *grab_cell_focus()
Calling the accessibility function `grab_focus()` on a `GtkCell` under
Wayland will cause the client to crash.

This is another case of `gdk_x11_get_server_time()` being called
regardless of the actual windowing backend used.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1507
2018-12-17 14:17:54 +01:00
LRN eb821cb89b Merge branch 'gtk-3-24.ime-event.fixes' into 'gtk-3-24'
gdkevents-win32.c: Use g_strdup() in gdk_settings_notify()

See merge request GNOME/gtk!447
2018-12-17 05:00:06 +00:00
Chun-wei Fan 013b9cbc1f gdkevents-win32.c: Fix GDK_SETTING event notification on IME change
We need to call g_strdup() on the name that we pass in for notifying the
GDK_SETTING event so that when we do gdk_event_free() later we will not
get a crash (stack corruption) that results from attempting to g_free()
something that is not dynamically allocated.
2018-12-17 12:43:24 +08:00
John Ralls aeec73f53f Refine GdkQuartzNSWindow convertPointToScreen:
and convertPointFromScreen:, making them handle all MacOS versions
so that all of the if-deffing happens in the function definitions.
This happens to fix issue 1518 because it turns out that contrary
to the annotation in the 10.14 nNSWindow.h, convertPointToScreen and
convertPointFromScreen originate in 10.14, not 10.12.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1518
2018-12-15 16:28:44 -08:00
John Ralls baa283b73b Don't make initializing return_val conditional.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1517
2018-12-15 16:28:44 -08:00
Daniel Boles 112645edf2 EventControllerKey: Add missing docs from master
These never got backported, meaning a pretty useless documentation page.

We still need to add other missing bits, but let's sync these up first.
2018-12-14 22:59:56 +00:00
Matthias Clasen 3e6fd50d96 Merge branch 'wip/carlosg/im-wayland-surrounding-limits' into 'gtk-3-24'
imwayland: Respect maximum length of 4000 Bytes on strings being sent.

See merge request GNOME/gtk!438
2018-12-14 20:09:18 +00:00
Matthias Clasen f879741e89 Merge branch 'imwayland_enable' into 'gtk-3-24'
imwayland: Handle enter and leave events

See merge request GNOME/gtk!369
2018-12-14 20:07:18 +00:00
Matthias Clasen 8b0fd8e148 Merge branch '1476-nautilus-does-not-enable-to-connect-to-an-nfs-share' into 'gtk-3-24'
Resolve "Nautilus does not enable to connect to an NFS share"

See merge request GNOME/gtk!427
2018-12-14 17:26:35 +00:00
Benjamin Otte 43aeb52b73 Merge branch 'wip/muktupavels/gtk-status-icon' into 'gtk-3-24'
statusicon: Create pixbuf at correct size

See merge request GNOME/gtk!451
2018-12-13 16:40:43 +00:00
Daniel Boles e3a1593a09 x11: Fix deprecation macro use
G_GNUC_END_IGNORE_DEPRECATIONS terminates the if statement and does not
consider the following block to be part of the if. So that block was
always taken irregardless of the pattern.

Fixes #1280
2018-12-13 17:22:22 +01:00
Timm Bäder 2a3c0ab841 Merge branch 'demo-combobox-typo-gtk3' into 'gtk-3-24'
demos/gtk-demo/combobox: fix typo

See merge request GNOME/gtk!446
2018-12-13 12:07:24 +00:00
Benjamin Otte 6a47e9a8b9 x11: Be a lot more careful about setting ParentRelative
We don't want to set ParentRelative when:

- the parent window is NULL
  In that case we are unsure about the depth, so better err on the side
  of caution and avoid a BadMatch by accepting ugly output.
- the cairo pattern is in an error status
  This should never happen - unless you start up in OOM - but better
  be safe than sorry.

Might help with the spurious crashes in #1280.
2018-12-13 05:28:54 +01:00
Daniel Boles 2905fc861a Revert "Fix deprecation warnings"
This reverts commit 5aedfe048b.

It had a typo that broke the build, only replaced half of the uses, and
replaced them with other functions that are also deprecated anyway.
2018-12-12 19:03:57 +00:00
Alberts Muktupāvels 31d896c5cf statusicon: Create pixbuf at correct size
Surface returned from gtk_icon_helper_load_surface can be smaller
then requested pixel size. This happens when icon is embedded in
panel that has bigger size then loaded pixbuf.
2018-12-12 19:55:20 +02:00
Jakub Steiner f518adde90 Theme: add helper class names for Adwaita
- helps legibility of app icons

Addresses https://gitlab.gnome.org/GNOME/gtk/issues/1434
2018-12-10 14:16:52 +01:00
Jeremy Bicha f535443da6 demos/gtk-demo/combobox: fix typo
Fix typo that prevented the P-S submenu from displaying correctly

(cherry picked from commit 462193ae26)
2018-12-09 23:31:59 -05:00
Carlos Garnacho e416aebe5f imwayland: Respect maximum length of 4000 Bytes on strings being sent.
Hitting the limit will raise protocol errors.
2018-12-06 20:10:47 +01:00
António Fernandes bb3653ad7d placesview: List only available protocols as available
We display a list of supported protocols in the server_addresses_popover.

However, this curated list contains protocols which may or may not be
available, depending on the respective gvfs backend being installed.

So, populate the list only with protocols which are available.

https://gitlab.gnome.org/GNOME/gtk/issues/1476
2018-11-26 12:43:39 +00:00
António Fernandes 4bdf968702 placesview: Set .error style if unsupported protocol
When the user types an address with a schema that is not supported,
the Connect button doesn't become sensitive, but there is no visible
feedback at all.

This feels unresponsive and leaves the user clueless.

While it doesn't help explain why the address doesn't work, this will
provide a hint that the input was acknowledged but doesn't work.

https://gitlab.gnome.org/GNOME/gtk/issues/1476
2018-11-26 12:41:55 +00:00
Dorota Czaplejewicz 28ac1a2cba imwayland.c: fix formatting 2018-10-17 12:51:07 +00:00
Dorota Czaplejewicz 3d6510329f imwayland: rearrange functions to remove prototypes 2018-10-16 16:38:24 +00:00
Dorota Czaplejewicz c477201afc imwayland: Handle enter and leave events
Before this patch, imwayland would assume that text-input enter and leave events follow the general (wl_keyboard) focus, and was unable to handle the situation where they would not be provided at the same time.
2018-10-16 16:29:08 +00:00
99 changed files with 4893 additions and 2847 deletions
+36
View File
@@ -1,3 +1,39 @@
Overview of Changes in GTK+ 3.24.4
==================================
* Support gtk_file_chooser_set_filter in GtkFileChooserNative
* Bugs fixed:
wayland: Fix long combobox positioning
about dialog: Activate all links in the same way
switch: Add fallbacks for symbols
spinbutton: Fix background color
* Translation updates:
Africaans
Overview of Changes in GTK+ 3.24.3
==================================
* Bugs fixed:
wayland: Respect length limits in text protocol
wayland: Support key themes
wayland: Fix hi-dpi cursor scaling
quartz: Make point-to-pixel conversions work on all versions
quartz: Re-add support for hidpi scaling
quartz: Fix search engine integration
win32: Fix ime change hangling
placessidebar: Insert drops in the right place
x11: Fix problems gdk_x11_get_parent_relative
x11: Fix Wacom tool types
icons: Recolor polygons as well in symbolic icons
switch: Use Unicode symbols for I/O instead of translations
* Translation updates:
Japanese
Overview of Changes in GTK+ 3.24.2
==================================
+5 -2
View File
@@ -156,11 +156,14 @@ Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk. Be prepared to manually edit various
makefile.msc files, and the makefile snippets in build/win32.
There are also VS 2008/2010 solution and project files to build GTK+, which
There are also VS 2008~2017 solution and project files to build GTK+, which
are maintained by Chun-wei Fan. They should build GTK+ out of the box,
provided that the afore-mentioned dependencies are installed. They will
build GDK with the Win32 backend, GTK+ itself (with GAIL/a11y built in),
the GAIL-Util library and the gtk-demo program.
the GAIL-Util library and the gtk-demo program. Please also refer to the
README file(s) that reside in build/win32 on how to enable additional features
that are not enabled by default, such as EGL support via libANGLE, which
emulate the GL/EGL calls using Direct3D 9/11.
Please refer to the following GNOME Live! page for a more detailed ouline
on the process of building the GTK+ stack and its dependencies with Visual
+7 -6
View File
@@ -79,7 +79,7 @@ $(if $(or $(findstring --header-only,$($(_gir_name)_MSVC_SCANNERFLAGS)),
$($(_gir_name)_MSVC_PROGRAM)),,
$(error Need to define $(_gir_name)_MSVC_LIBS or $(_gir_name)_MSVC_PROGRAM))
$(top_builddir)/build/win32/$(_gir_name)_list:
$(top_builddir)/build/win32/$(_gir_name)_list: Makefile
for F in $(_gir_files_msvc); do \
case $$$$F in \
*.c|*.cpp|*.cc|*.cxx|*.h|*.hpp|*.hh|*.hxx) \
@@ -88,11 +88,11 @@ $(top_builddir)/build/win32/$(_gir_name)_list:
esac; \
done
$(top_builddir)/build/win32/$(1).msvc.introspect:
$(top_builddir)/build/win32/$(1).msvc.introspect: Makefile
-$(RM) $(top_builddir)/build/win32/$(1).msvc.introspect
# Assemble the Command to Run g-ir-scanner
echo $(1)': '$(_gir_name)'_list '$($(_gir_name)_MSVC_GIR_DEPS)>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo 'vs$$$$(VSVER)\$$$$(CFG)\$$$$(PLAT)\bin\'$(1)': '$(_gir_name)'_list '$($(_gir_name)_MSVC_GIR_DEPS)>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' @-echo Generating $$$$@...'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' $$$$(PYTHON) $$$$(G_IR_SCANNER) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --verbose -no-libtool \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
@@ -101,6 +101,7 @@ $(top_builddir)/build/win32/$(1).msvc.introspect:
echo ' '$(_gir_packages_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_libraries_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_program_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --add-include-path=./vs$$$$(VSVER)/$$$$(CFG)/$$$$(PLAT)/bin \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --add-include-path=$$$$(G_IR_INCLUDEDIR) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_includes_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(_gir_export_packages_msvc)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
@@ -114,11 +115,11 @@ $(top_builddir)/build/win32/$(1).msvc.introspect:
echo '' >>$(top_builddir)/build/win32/$(1).msvc.introspect
# Finally Assemble the Command to Compile the generated .gir
echo '$(_typelib_basename_msvc).typelib: '$(_typelib_basename_msvc)'.gir'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo 'vs$$$$(VSVER)\$$$$(CFG)\$$$$(PLAT)\bin\$(_typelib_basename_msvc).typelib: vs$$$$(VSVER)\$$$$(CFG)\$$$$(PLAT)\bin\'$(_typelib_basename_msvc)'.gir'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' @-echo Compiling $$$$@...'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' $$$$(G_IR_COMPILER) \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --includedir=. --debug --verbose \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' '$(1)' \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' --includedir=$$$$(@D:\=/) --debug --verbose \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' $$$$(@R:\=/).gir \'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo ' -o $$$$@'>>$(top_builddir)/build/win32/$(1).msvc.introspect
echo '' >>$(top_builddir)/build/win32/$(1).msvc.introspect
endef
+13 -6
View File
@@ -6,8 +6,15 @@ APIVERSION = 3.0
CHECK_PACKAGE = gdk-pixbuf-2.0 atk pangocairo gio-2.0
built_install_girs = Gdk-$(APIVERSION).gir GdkWin32-$(APIVERSION).gir Gtk-$(APIVERSION).gir
built_install_typelibs = Gdk-$(APIVERSION).typelib GdkWin32-$(APIVERSION).typelib Gtk-$(APIVERSION).typelib
built_install_girs = \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\Gdk-$(APIVERSION).gir \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).gir \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\Gtk-$(APIVERSION).gir
built_install_typelibs = \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\Gdk-$(APIVERSION).typelib \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\GdkWin32-$(APIVERSION).typelib \
vs$(VSVER)\$(CFG)\$(PLAT)\bin\Gtk-$(APIVERSION).typelib
!include introspection-msvc.mak
@@ -30,8 +37,8 @@ setgirbuildenv:
!include introspection.body.mak
install-introspection: all
@-copy *.gir "$(G_IR_INCLUDEDIR)"
@-copy /b *.typelib "$(G_IR_TYPELIBDIR)"
@-copy vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.gir "$(G_IR_INCLUDEDIR)"
@-copy /b vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.typelib "$(G_IR_TYPELIBDIR)"
!else
all:
@@ -39,5 +46,5 @@ all:
!endif
clean:
@-del /f/q *.typelib
@-del /f/q *.gir
@-del /f/q vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.typelib
@-del /f/q vs$(VSVER)\$(CFG)\$(PLAT)\bin\*.gir
+1 -1
View File
@@ -17,7 +17,7 @@
<GtkIntrospectNMakeCmd>cd ..
set VCInstallDir=$(VCInstallDir)
nmake -f gtk-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstallRoot)</GtkIntrospectNMakeCmd>
<GtkIntrospectBuiltFiles>$(SolutionDir)\..\Gtk-3.0.gir;$(SolutionDir)\..\Gtk-3.0.typelib</GtkIntrospectBuiltFiles>
<GtkIntrospectBuiltFiles>$(BinDir)\Gtk-3.0.gir;$(BinDir)\Gtk-3.0.typelib</GtkIntrospectBuiltFiles>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk3builddefinesprops</_PropertySheetDisplayName>
-534
View File
@@ -1,534 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
<BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
<GtkDoInstallBin>
mkdir $(CopyDir)\bin
mkdir $(CopyDir)\lib\pkgconfig
copy "$(BinDir)\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).dll" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).pdb" $(CopyDir)\bin
copy "$(BinDir)\gdk-$(ApiVersion).lib" $(CopyDir)\lib
if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_BIN
if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_BIN
copy "$(BinDir)\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-$(ApiVersion).lib" $(CopyDir)\lib
copy "$(BinDir)\gailutil-$(ApiVersion).lib" $(CopyDir)\lib
copy "$(BinDir)\gtk3-demo.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk3-demo.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk3-demo-application.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk3-demo-application.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk3-icon-browser.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk3-icon-browser.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-encode-symbolic-svg.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-encode-symbolic-svg.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-update-icon-cache.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-update-icon-cache.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-query-settings.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-query-settings.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-builder-tool.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-builder-tool.pdb" $(CopyDir)\bin
goto DONE_BIN
:DO_BROADWAY_BIN
copy "$(BinDir)\broadwayd.exe" $(CopyDir)\bin
copy "$(BinDir)\broadwayd.pdb" $(CopyDir)\bin
if "$(Configuration)" == "Release_Broadway" goto DO_BROADWAY_RELEASE
if "$(Configuration)" == "Debug_Broadway" goto DO_BROADWAY_DEBUG
:DO_BROADWAY_RELEASE
copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll $(CopyDir)\bin
copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll $(CopyDir)\bin
copy .\Release\$(Platform)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
copy .\Release\$(Platform)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib
copy .\Release\$(Platform)\bin\gtk3-demo.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-demo.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-demo-application.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-demo-application.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-icon-browser.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk3-icon-browser.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-encode-symbolic-svg.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-encode-symbolic-svg.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-update-icon-cache.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-update-icon-cache.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-query-settings.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-query-settings.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-builder-tool.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
goto DONE_BIN
:DO_BROADWAY_DEBUG
copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).dll $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gtk-3$(GtkDllSuffix).pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).dll $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\$(GtkDllPrefix)gailutil-3$(GtkDllSuffix).pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib
copy .\Debug\$(Platform)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib
copy .\Debug\$(Platform)\bin\gtk3-demo.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-demo.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-demo-application.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-demo-application.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-icon-browser.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk3-icon-browser.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-encode-symbolic-svg.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-encode-symbolic-svg.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-update-icon-cache.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-update-icon-cache.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-query-settings.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-query-settings.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-builder-tool.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
:DONE_BIN
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig\gdk-win32-3.0.pc
copy "..\gtk+-3.0.pc" $(CopyDir)\lib\pkgconfig
copy "..\gtk+-3.0.pc" "$(CopyDir)\lib\pkgconfig\gtk+-3.0.pc"
copy ..\gail-3.0.pc $(CopyDir)\lib\pkgconfig
</GtkDoInstallBin>
<GtkDoInstall>
echo off
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\deprecated
copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
copy ..\..\..\gdk\gdk.h $(CopyDir)\include\gtk-3.0\gdk\gdk.h
copy ..\..\..\gdk\gdk-autocleanup.h $(CopyDir)\include\gtk-3.0\gdk\gdk-autocleanup.h
copy ..\..\..\gdk\gdkapplaunchcontext.h $(CopyDir)\include\gtk-3.0\gdk\gdkapplaunchcontext.h
copy ..\..\..\gdk\gdkcairo.h $(CopyDir)\include\gtk-3.0\gdk\gdkcairo.h
copy ..\..\..\gdk\gdkcursor.h $(CopyDir)\include\gtk-3.0\gdk\gdkcursor.h
copy ..\..\..\gdk\gdkdevice.h $(CopyDir)\include\gtk-3.0\gdk\gdkdevice.h
copy ..\..\..\gdk\gdkdevicepad.h $(CopyDir)\include\gtk-3.0\gdk\gdkdevicepad.h
copy ..\..\..\gdk\gdkdevicetool.h $(CopyDir)\include\gtk-3.0\gdk\gdkdevicetool.h
copy ..\..\..\gdk\gdkdevicemanager.h $(CopyDir)\include\gtk-3.0\gdk\gdkdevicemanager.h
copy ..\..\..\gdk\gdkdisplay.h $(CopyDir)\include\gtk-3.0\gdk\gdkdisplay.h
copy ..\..\..\gdk\gdkdisplaymanager.h $(CopyDir)\include\gtk-3.0\gdk\gdkdisplaymanager.h
copy ..\..\..\gdk\gdkdnd.h $(CopyDir)\include\gtk-3.0\gdk\gdkdnd.h
copy ..\..\..\gdk\gdkdrawingcontext.h $(CopyDir)\include\gtk-3.0\gdk\gdkdrawingcontext.h
copy ..\..\..\gdk\gdkevents.h $(CopyDir)\include\gtk-3.0\gdk\gdkevents.h
copy ..\..\..\gdk\gdkframetimings.h $(CopyDir)\include\gtk-3.0\gdk\gdkframetimings.h
copy ..\..\..\gdk\gdkglcontext.h $(CopyDir)\include\gtk-3.0\gdk\gdkglcontext.h
copy ..\..\..\gdk\gdkkeys.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeys.h
copy ..\..\..\gdk\gdkkeysyms.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeysyms.h
copy ..\..\..\gdk\gdkkeysyms-compat.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeysyms-compat.h
copy ..\..\..\gdk\gdkmain.h $(CopyDir)\include\gtk-3.0\gdk\gdkmain.h
copy ..\..\..\gdk\gdkmonitor.h $(CopyDir)\include\gtk-3.0\gdk\gdkmonitor.h
copy ..\..\..\gdk\gdkpango.h $(CopyDir)\include\gtk-3.0\gdk\gdkpango.h
copy ..\..\..\gdk\gdkframeclock.h $(CopyDir)\include\gtk-3.0\gdk\gdkframeclock.h
copy ..\..\..\gdk\gdkpixbuf.h $(CopyDir)\include\gtk-3.0\gdk\gdkpixbuf.h
copy ..\..\..\gdk\gdkprivate.h $(CopyDir)\include\gtk-3.0\gdk\gdkprivate.h
copy ..\..\..\gdk\gdkproperty.h $(CopyDir)\include\gtk-3.0\gdk\gdkproperty.h
copy ..\..\..\gdk\gdkrectangle.h $(CopyDir)\include\gtk-3.0\gdk\gdkrectangle.h
copy ..\..\..\gdk\gdkrgba.h $(CopyDir)\include\gtk-3.0\gdk\gdkrgba.h
copy ..\..\..\gdk\gdkscreen.h $(CopyDir)\include\gtk-3.0\gdk\gdkscreen.h
copy ..\..\..\gdk\gdkseat.h $(CopyDir)\include\gtk-3.0\gdk\gdkseat.h
copy ..\..\..\gdk\gdkselection.h $(CopyDir)\include\gtk-3.0\gdk\gdkselection.h
copy ..\..\..\gdk\gdktestutils.h $(CopyDir)\include\gtk-3.0\gdk\gdktestutils.h
copy ..\..\..\gdk\gdkthreads.h $(CopyDir)\include\gtk-3.0\gdk\gdkthreads.h
copy ..\..\..\gdk\gdktypes.h $(CopyDir)\include\gtk-3.0\gdk\gdktypes.h
copy ..\..\..\gdk\gdkvisual.h $(CopyDir)\include\gtk-3.0\gdk\gdkvisual.h
copy ..\..\..\gdk\gdkwindow.h $(CopyDir)\include\gtk-3.0\gdk\gdkwindow.h
copy ..\..\..\gdk\deprecated\gdkcolor.h $(CopyDir)\include\gtk-3.0\gdk\deprecated\gdkcolor.h
copy ..\..\..\gdk\gdkconfig.h $(CopyDir)\include\gtk-3.0\gdk\gdkconfig.h
copy ..\..\..\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-3.0\gdk\gdkenumtypes.h
copy ..\..\..\gdk\gdkversionmacros.h $(CopyDir)\include\gtk-3.0\gdk\gdkversionmacros.h
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32cursor.h
copy ..\..\..\gdk\win32\gdkwin32display.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32display.h
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32displaymanager.h
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32dnd.h
copy ..\..\..\gdk\win32\gdkwin32glcontext.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32glcontext.h
copy ..\..\..\gdk\win32\gdkwin32keys.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32keys.h
copy ..\..\..\gdk\win32\gdkwin32misc.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32misc.h
copy ..\..\..\gdk\win32\gdkwin32monitor.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32monitor.h
copy ..\..\..\gdk\win32\gdkwin32screen.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32screen.h
copy ..\..\..\gdk\win32\gdkwin32window.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32window.h
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated
copy ..\..\..\gtk\gtk.h $(CopyDir)\include\gtk-3.0\gtk\gtk.h
copy ..\..\..\gtk\gtk-autocleanups.h $(CopyDir)\include\gtk-3.0\gtk\gtk-autocleanups.h
copy ..\..\..\gtk\gtkx.h $(CopyDir)\include\gtk-3.0\gtk\gtkx.h
copy ..\..\..\gtk\gtkx-autocleanups.h $(CopyDir)\include\gtk-3.0\gtk\gtkx-autocleanups.h
copy ..\..\..\gtk\gtk-a11y.h $(CopyDir)\include\gtk-3.0\gtk\gtk-a11y.h
copy ..\..\..\gtk\gtkaboutdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkaboutdialog.h
copy ..\..\..\gtk\gtkaccelgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccelgroup.h
copy ..\..\..\gtk\gtkaccellabel.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccellabel.h
copy ..\..\..\gtk\gtkaccelmap.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccelmap.h
copy ..\..\..\gtk\gtkaccessible.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccessible.h
copy ..\..\..\gtk\gtkactionable.h $(CopyDir)\include\gtk-3.0\gtk\gtkactionable.h
copy ..\..\..\gtk\gtkactionbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkactionbar.h
copy ..\..\..\gtk\gtkadjustment.h $(CopyDir)\include\gtk-3.0\gtk\gtkadjustment.h
copy ..\..\..\gtk\gtkappchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooser.h
copy ..\..\..\gtk\gtkappchooserbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserbutton.h
copy ..\..\..\gtk\gtkappchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserdialog.h
copy ..\..\..\gtk\gtkappchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserwidget.h
copy ..\..\..\gtk\gtkapplication.h $(CopyDir)\include\gtk-3.0\gtk\gtkapplication.h
copy ..\..\..\gtk\gtkapplicationwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkapplicationwindow.h
copy ..\..\..\gtk\gtkaspectframe.h $(CopyDir)\include\gtk-3.0\gtk\gtkaspectframe.h
copy ..\..\..\gtk\gtkassistant.h $(CopyDir)\include\gtk-3.0\gtk\gtkassistant.h
copy ..\..\..\gtk\gtkbbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkbbox.h
copy ..\..\..\gtk\gtkbin.h $(CopyDir)\include\gtk-3.0\gtk\gtkbin.h
copy ..\..\..\gtk\gtkbindings.h $(CopyDir)\include\gtk-3.0\gtk\gtkbindings.h
copy ..\..\..\gtk\gtkborder.h $(CopyDir)\include\gtk-3.0\gtk\gtkborder.h
copy ..\..\..\gtk\gtkbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkbox.h
copy ..\..\..\gtk\gtkbuilder.h $(CopyDir)\include\gtk-3.0\gtk\gtkbuilder.h
copy ..\..\..\gtk\gtkbuildable.h $(CopyDir)\include\gtk-3.0\gtk\gtkbuildable.h
copy ..\..\..\gtk\gtkbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkbutton.h
copy ..\..\..\gtk\gtkcalendar.h $(CopyDir)\include\gtk-3.0\gtk\gtkcalendar.h
copy ..\..\..\gtk\gtkcellarea.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellarea.h
copy ..\..\..\gtk\gtkcellareacontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellareacontext.h
copy ..\..\..\gtk\gtkcellareabox.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellareabox.h
copy ..\..\..\gtk\gtkcelleditable.h $(CopyDir)\include\gtk-3.0\gtk\gtkcelleditable.h
copy ..\..\..\gtk\gtkcelllayout.h $(CopyDir)\include\gtk-3.0\gtk\gtkcelllayout.h
copy ..\..\..\gtk\gtkcellrenderer.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderer.h
copy ..\..\..\gtk\gtkcellrendereraccel.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendereraccel.h
copy ..\..\..\gtk\gtkcellrenderercombo.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderercombo.h
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererpixbuf.h
copy ..\..\..\gtk\gtkcellrendererprogress.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererprogress.h
copy ..\..\..\gtk\gtkcellrendererspin.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererspin.h
copy ..\..\..\gtk\gtkcellrendererspinner.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererspinner.h
copy ..\..\..\gtk\gtkcellrenderertext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderertext.h
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderertoggle.h
copy ..\..\..\gtk\gtkcellview.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellview.h
copy ..\..\..\gtk\gtkcheckbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkcheckbutton.h
copy ..\..\..\gtk\gtkcheckmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkcheckmenuitem.h
copy ..\..\..\gtk\gtkclipboard.h $(CopyDir)\include\gtk-3.0\gtk\gtkclipboard.h
copy ..\..\..\gtk\gtkcolorbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorbutton.h
copy ..\..\..\gtk\gtkcolorchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooser.h
copy ..\..\..\gtk\gtkcolorchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooserwidget.h
copy ..\..\..\gtk\gtkcolorchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooserdialog.h
copy ..\..\..\gtk\gtkcolorutils.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorutils.h
copy ..\..\..\gtk\gtkcombobox.h $(CopyDir)\include\gtk-3.0\gtk\gtkcombobox.h
copy ..\..\..\gtk\gtkcomboboxtext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcomboboxtext.h
copy ..\..\..\gtk\gtkcontainer.h $(CopyDir)\include\gtk-3.0\gtk\gtkcontainer.h
copy ..\..\..\gtk\gtkcssprovider.h $(CopyDir)\include\gtk-3.0\gtk\gtkcssprovider.h
copy ..\..\..\gtk\gtkcsssection.h $(CopyDir)\include\gtk-3.0\gtk\gtkcsssection.h
copy ..\..\..\gtk\gtkdebug.h $(CopyDir)\include\gtk-3.0\gtk\gtkdebug.h
copy ..\..\..\gtk\gtkdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkdialog.h
copy ..\..\..\gtk\gtkdnd.h $(CopyDir)\include\gtk-3.0\gtk\gtkdnd.h
copy ..\..\..\gtk\gtkdragdest.h $(CopyDir)\include\gtk-3.0\gtk\gtkdragdest.h
copy ..\..\..\gtk\gtkdragsource.h $(CopyDir)\include\gtk-3.0\gtk\gtkdragsource.h
copy ..\..\..\gtk\gtkdrawingarea.h $(CopyDir)\include\gtk-3.0\gtk\gtkdrawingarea.h
copy ..\..\..\gtk\gtkeditable.h $(CopyDir)\include\gtk-3.0\gtk\gtkeditable.h
copy ..\..\..\gtk\gtkentry.h $(CopyDir)\include\gtk-3.0\gtk\gtkentry.h
copy ..\..\..\gtk\gtkentrybuffer.h $(CopyDir)\include\gtk-3.0\gtk\gtkentrybuffer.h
copy ..\..\..\gtk\gtkentrycompletion.h $(CopyDir)\include\gtk-3.0\gtk\gtkentrycompletion.h
copy ..\..\..\gtk\gtkenums.h $(CopyDir)\include\gtk-3.0\gtk\gtkenums.h
copy ..\..\..\gtk\gtkeventbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkeventbox.h
copy ..\..\..\gtk\gtkeventcontroller.h $(CopyDir)\include\gtk-3.0\gtk\gtkeventcontroller.h
copy ..\..\..\gtk\gtkexpander.h $(CopyDir)\include\gtk-3.0\gtk\gtkexpander.h
copy ..\..\..\gtk\gtkfilechooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooser.h
copy ..\..\..\gtk\gtkfilechooserbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserbutton.h
copy ..\..\..\gtk\gtkfilechooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserdialog.h
copy ..\..\..\gtk\gtkfilechoosernative.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechoosernative.h
copy ..\..\..\gtk\gtkfilechooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserwidget.h
copy ..\..\..\gtk\gtkfilefilter.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilefilter.h
copy ..\..\..\gtk\gtkfixed.h $(CopyDir)\include\gtk-3.0\gtk\gtkfixed.h
copy ..\..\..\gtk\gtkflowbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkflowbox.h
copy ..\..\..\gtk\gtkfontbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontbutton.h
copy ..\..\..\gtk\gtkfontchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooser.h
copy ..\..\..\gtk\gtkfontchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooserdialog.h
copy ..\..\..\gtk\gtkfontchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooserwidget.h
copy ..\..\..\gtk\gtkframe.h $(CopyDir)\include\gtk-3.0\gtk\gtkframe.h
copy ..\..\..\gtk\gtkgesture.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesture.h
copy ..\..\..\gtk\gtkgesturedrag.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturedrag.h
copy ..\..\..\gtk\gtkgesturelongpress.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturelongpress.h
copy ..\..\..\gtk\gtkgesturemultipress.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturemultipress.h
copy ..\..\..\gtk\gtkgesturepan.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturepan.h
copy ..\..\..\gtk\gtkgesturerotate.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturerotate.h
copy ..\..\..\gtk\gtkgesturesingle.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturesingle.h
copy ..\..\..\gtk\gtkgestureswipe.h $(CopyDir)\include\gtk-3.0\gtk\gtkgestureswipe.h
copy ..\..\..\gtk\gtkgesturezoom.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturezoom.h
copy ..\..\..\gtk\gtkglarea.h $(CopyDir)\include\gtk-3.0\gtk\gtkglarea.h
copy ..\..\..\gtk\gtkgrid.h $(CopyDir)\include\gtk-3.0\gtk\gtkgrid.h
copy ..\..\..\gtk\gtkheaderbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkheaderbar.h
copy ..\..\..\gtk\gtkicontheme.h $(CopyDir)\include\gtk-3.0\gtk\gtkicontheme.h
copy ..\..\..\gtk\gtkiconview.h $(CopyDir)\include\gtk-3.0\gtk\gtkiconview.h
copy ..\..\..\gtk\gtkimage.h $(CopyDir)\include\gtk-3.0\gtk\gtkimage.h
copy ..\..\..\gtk\gtkimcontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontext.h
copy ..\..\..\gtk\gtkimcontextinfo.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontextinfo.h
copy ..\..\..\gtk\gtkimcontextsimple.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontextsimple.h
copy ..\..\..\gtk\gtkimmodule.h $(CopyDir)\include\gtk-3.0\gtk\gtkimmodule.h
copy ..\..\..\gtk\gtkimmulticontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkimmulticontext.h
copy ..\..\..\gtk\gtkinfobar.h $(CopyDir)\include\gtk-3.0\gtk\gtkinfobar.h
copy ..\..\..\gtk\gtkinvisible.h $(CopyDir)\include\gtk-3.0\gtk\gtkinvisible.h
copy ..\..\..\gtk\gtklabel.h $(CopyDir)\include\gtk-3.0\gtk\gtklabel.h
copy ..\..\..\gtk\gtklayout.h $(CopyDir)\include\gtk-3.0\gtk\gtklayout.h
copy ..\..\..\gtk\gtklevelbar.h $(CopyDir)\include\gtk-3.0\gtk\gtklevelbar.h
copy ..\..\..\gtk\gtklinkbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtklinkbutton.h
copy ..\..\..\gtk\gtklistbox.h $(CopyDir)\include\gtk-3.0\gtk\gtklistbox.h
copy ..\..\..\gtk\gtkliststore.h $(CopyDir)\include\gtk-3.0\gtk\gtkliststore.h
copy ..\..\..\gtk\gtklockbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtklockbutton.h
copy ..\..\..\gtk\gtkmain.h $(CopyDir)\include\gtk-3.0\gtk\gtkmain.h
copy ..\..\..\gtk\gtkmenu.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenu.h
copy ..\..\..\gtk\gtkmenubar.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenubar.h
copy ..\..\..\gtk\gtkmenubutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenubutton.h
copy ..\..\..\gtk\gtkmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenuitem.h
copy ..\..\..\gtk\gtkmenushell.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenushell.h
copy ..\..\..\gtk\gtkmenutoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenutoolbutton.h
copy ..\..\..\gtk\gtkmessagedialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkmessagedialog.h
copy ..\..\..\gtk\gtkmodelbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkmodelbutton.h
copy ..\..\..\gtk\gtkmodules.h $(CopyDir)\include\gtk-3.0\gtk\gtkmodules.h
copy ..\..\..\gtk\gtkmountoperation.h $(CopyDir)\include\gtk-3.0\gtk\gtkmountoperation.h
copy ..\..\..\gtk\gtknativedialog.h $(CopyDir)\include\gtk-3.0\gtk\gtknativedialog.h
copy ..\..\..\gtk\gtknotebook.h $(CopyDir)\include\gtk-3.0\gtk\gtknotebook.h
copy ..\..\..\gtk\gtkoffscreenwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkoffscreenwindow.h
copy ..\..\..\gtk\gtkorientable.h $(CopyDir)\include\gtk-3.0\gtk\gtkorientable.h
copy ..\..\..\gtk\gtkoverlay.h $(CopyDir)\include\gtk-3.0\gtk\gtkoverlay.h
copy ..\..\..\gtk\gtkpadcontroller.h $(CopyDir)\include\gtk-3.0\gtk\gtkpadcontroller.h
copy ..\..\..\gtk\gtkpagesetup.h $(CopyDir)\include\gtk-3.0\gtk\gtkpagesetup.h
copy ..\..\..\gtk\gtkpaned.h $(CopyDir)\include\gtk-3.0\gtk\gtkpaned.h
copy ..\..\..\gtk\gtkpapersize.h $(CopyDir)\include\gtk-3.0\gtk\gtkpapersize.h
copy ..\..\..\gtk\gtkplacessidebar.h $(CopyDir)\include\gtk-3.0\gtk\gtkplacessidebar.h
copy ..\..\..\gtk\gtkplug.h $(CopyDir)\include\gtk-3.0\gtk\gtkplug.h
copy ..\..\..\gtk\gtkpopover.h $(CopyDir)\include\gtk-3.0\gtk\gtkpopover.h
copy ..\..\..\gtk\gtkpopovermenu.h $(CopyDir)\include\gtk-3.0\gtk\gtkpopovermenu.h
copy ..\..\..\gtk\gtkprintcontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintcontext.h
copy ..\..\..\gtk\gtkprintoperation.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintoperation.h
copy ..\..\..\gtk\gtkprintoperationpreview.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintoperationpreview.h
copy ..\..\..\gtk\gtkprintsettings.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintsettings.h
copy ..\..\..\gtk\gtkprogressbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkprogressbar.h
copy ..\..\..\gtk\gtkradiobutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiobutton.h
copy ..\..\..\gtk\gtkradiomenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiomenuitem.h
copy ..\..\..\gtk\gtkradiotoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiotoolbutton.h
copy ..\..\..\gtk\gtkrange.h $(CopyDir)\include\gtk-3.0\gtk\gtkrange.h
copy ..\..\..\gtk\gtkrecentchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooser.h
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooserdialog.h
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchoosermenu.h
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooserwidget.h
copy ..\..\..\gtk\gtkrecentfilter.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentfilter.h
copy ..\..\..\gtk\gtkrecentmanager.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentmanager.h
copy ..\..\..\gtk\gtkrender.h $(CopyDir)\include\gtk-3.0\gtk\gtkrender.h
copy ..\..\..\gtk\gtkrevealer.h $(CopyDir)\include\gtk-3.0\gtk\gtkrevealer.h
copy ..\..\..\gtk\gtkscale.h $(CopyDir)\include\gtk-3.0\gtk\gtkscale.h
copy ..\..\..\gtk\gtkscalebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkscalebutton.h
copy ..\..\..\gtk\gtkscrollable.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrollable.h
copy ..\..\..\gtk\gtkscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrollbar.h
copy ..\..\..\gtk\gtkscrolledwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrolledwindow.h
copy ..\..\..\gtk\gtksearchbar.h $(CopyDir)\include\gtk-3.0\gtk\gtksearchbar.h
copy ..\..\..\gtk\gtksearchentry.h $(CopyDir)\include\gtk-3.0\gtk\gtksearchentry.h
copy ..\..\..\gtk\gtkselection.h $(CopyDir)\include\gtk-3.0\gtk\gtkselection.h
copy ..\..\..\gtk\gtkseparator.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparator.h
copy ..\..\..\gtk\gtkseparatormenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparatormenuitem.h
copy ..\..\..\gtk\gtkseparatortoolitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparatortoolitem.h
copy ..\..\..\gtk\gtksettings.h $(CopyDir)\include\gtk-3.0\gtk\gtksettings.h
copy ..\..\..\gtk\gtkshortcutlabel.h $(CopyDir)\include\gtk-3.0\gtk\gtkshortcutlabel.h
copy ..\..\..\gtk\gtkshortcutsgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtkshortcutsgroup.h
copy ..\..\..\gtk\gtkshortcutssection.h $(CopyDir)\include\gtk-3.0\gtk\gtkshortcutssection.h
copy ..\..\..\gtk\gtkshortcutsshortcut.h $(CopyDir)\include\gtk-3.0\gtk\gtkshortcutsshortcut.h
copy ..\..\..\gtk\gtkshortcutswindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkshortcutswindow.h
copy ..\..\..\gtk\gtkshow.h $(CopyDir)\include\gtk-3.0\gtk\gtkshow.h
copy ..\..\..\gtk\gtkstacksidebar.h $(CopyDir)\include\gtk-3.0\gtk\gtkstacksidebar.h
copy ..\..\..\gtk\gtksizegroup.h $(CopyDir)\include\gtk-3.0\gtk\gtksizegroup.h
copy ..\..\..\gtk\gtksizerequest.h $(CopyDir)\include\gtk-3.0\gtk\gtksizerequest.h
copy ..\..\..\gtk\gtksocket.h $(CopyDir)\include\gtk-3.0\gtk\gtksocket.h
copy ..\..\..\gtk\gtkspinbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkspinbutton.h
copy ..\..\..\gtk\gtkspinner.h $(CopyDir)\include\gtk-3.0\gtk\gtkspinner.h
copy ..\..\..\gtk\gtkstack.h $(CopyDir)\include\gtk-3.0\gtk\gtkstack.h
copy ..\..\..\gtk\gtkstackswitcher.h $(CopyDir)\include\gtk-3.0\gtk\gtkstackswitcher.h
copy ..\..\..\gtk\gtkstatusbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkstatusbar.h
copy ..\..\..\gtk\gtkstylecontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkstylecontext.h
copy ..\..\..\gtk\gtkstyleprovider.h $(CopyDir)\include\gtk-3.0\gtk\gtkstyleprovider.h
copy ..\..\..\gtk\gtkswitch.h $(CopyDir)\include\gtk-3.0\gtk\gtkswitch.h
copy ..\..\..\gtk\gtktestutils.h $(CopyDir)\include\gtk-3.0\gtk\gtktestutils.h
copy ..\..\..\gtk\gtktextattributes.h $(CopyDir)\include\gtk-3.0\gtk\gtktextattributes.h
copy ..\..\..\gtk\gtktextbuffer.h $(CopyDir)\include\gtk-3.0\gtk\gtktextbuffer.h
copy ..\..\..\gtk\gtktextbufferrichtext.h $(CopyDir)\include\gtk-3.0\gtk\gtktextbufferrichtext.h
copy ..\..\..\gtk\gtktextchild.h $(CopyDir)\include\gtk-3.0\gtk\gtktextchild.h
copy ..\..\..\gtk\gtktextdisplay.h $(CopyDir)\include\gtk-3.0\gtk\gtktextdisplay.h
copy ..\..\..\gtk\gtktextiter.h $(CopyDir)\include\gtk-3.0\gtk\gtktextiter.h
copy ..\..\..\gtk\gtktextmark.h $(CopyDir)\include\gtk-3.0\gtk\gtktextmark.h
copy ..\..\..\gtk\gtktexttag.h $(CopyDir)\include\gtk-3.0\gtk\gtktexttag.h
copy ..\..\..\gtk\gtktexttagtable.h $(CopyDir)\include\gtk-3.0\gtk\gtktexttagtable.h
copy ..\..\..\gtk\gtktextview.h $(CopyDir)\include\gtk-3.0\gtk\gtktextview.h
copy ..\..\..\gtk\gtktogglebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktogglebutton.h
copy ..\..\..\gtk\gtktoggletoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktoggletoolbutton.h
copy ..\..\..\gtk\gtktoolbar.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolbar.h
copy ..\..\..\gtk\gtktoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolbutton.h
copy ..\..\..\gtk\gtktoolitem.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolitem.h
copy ..\..\..\gtk\gtktoolitemgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolitemgroup.h
copy ..\..\..\gtk\gtktoolpalette.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolpalette.h
copy ..\..\..\gtk\gtktoolshell.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolshell.h
copy ..\..\..\gtk\gtktooltip.h $(CopyDir)\include\gtk-3.0\gtk\gtktooltip.h
copy ..\..\..\gtk\gtktreednd.h $(CopyDir)\include\gtk-3.0\gtk\gtktreednd.h
copy ..\..\..\gtk\gtktreemodel.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodel.h
copy ..\..\..\gtk\gtktreemodelfilter.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodelfilter.h
copy ..\..\..\gtk\gtktreemodelsort.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodelsort.h
copy ..\..\..\gtk\gtktreeselection.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeselection.h
copy ..\..\..\gtk\gtktreesortable.h $(CopyDir)\include\gtk-3.0\gtk\gtktreesortable.h
copy ..\..\..\gtk\gtktreestore.h $(CopyDir)\include\gtk-3.0\gtk\gtktreestore.h
copy ..\..\..\gtk\gtktreeview.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeview.h
copy ..\..\..\gtk\gtktreeviewcolumn.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeviewcolumn.h
copy ..\..\..\gtk\gtktypes.h $(CopyDir)\include\gtk-3.0\gtk\gtktypes.h
copy ..\..\..\gtk\gtkviewport.h $(CopyDir)\include\gtk-3.0\gtk\gtkviewport.h
copy ..\..\..\gtk\gtkvolumebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkvolumebutton.h
copy ..\..\..\gtk\gtkwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkwidget.h
copy ..\..\..\gtk\gtkwidgetpath.h $(CopyDir)\include\gtk-3.0\gtk\gtkwidgetpath.h
copy ..\..\..\gtk\gtkwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkwindow.h
copy ..\..\..\gtk\gtkwindowgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtkwindowgroup.h
copy ..\..\..\gtk\gtktextlayout.h $(CopyDir)\include\gtk-3.0\gtk\gtktextlayout.h
copy ..\..\..\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-3.0\gtk\gtktypebuiltins.h
copy ..\..\..\gtk\gtkversion.h $(CopyDir)\include\gtk-3.0\gtk\gtkversion.h
copy ..\..\..\gtk\a11y\gtk-a11y-autocleanups.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtk-a11y-autocleanups.h
copy ..\..\..\gtk\a11y\gtkarrowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkarrowaccessible.h
copy ..\..\..\gtk\a11y\gtkbooleancellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkbooleancellaccessible.h
copy ..\..\..\gtk\a11y\gtkbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkbuttonaccessible.h
copy ..\..\..\gtk\a11y\gtkcellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcellaccessible.h
copy ..\..\..\gtk\a11y\gtkcellaccessibleparent.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcellaccessibleparent.h
copy ..\..\..\gtk\a11y\gtkcheckmenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcheckmenuitemaccessible.h
copy ..\..\..\gtk\a11y\gtkcomboboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcomboboxaccessible.h
copy ..\..\..\gtk\a11y\gtkcontaineraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcontaineraccessible.h
copy ..\..\..\gtk\a11y\gtkcontainercellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcontainercellaccessible.h
copy ..\..\..\gtk\a11y\gtkentryaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkentryaccessible.h
copy ..\..\..\gtk\a11y\gtkexpanderaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkexpanderaccessible.h
copy ..\..\..\gtk\a11y\gtkflowboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkflowboxaccessible.h
copy ..\..\..\gtk\a11y\gtkflowboxchildaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkflowboxchildaccessible.h
copy ..\..\..\gtk\a11y\gtkframeaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkframeaccessible.h
copy ..\..\..\gtk\a11y\gtkiconviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkiconviewaccessible.h
copy ..\..\..\gtk\a11y\gtkimageaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkimageaccessible.h
copy ..\..\..\gtk\a11y\gtkimagecellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkimagecellaccessible.h
copy ..\..\..\gtk\a11y\gtklabelaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklabelaccessible.h
copy ..\..\..\gtk\a11y\gtklevelbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklevelbaraccessible.h
copy ..\..\..\gtk\a11y\gtklinkbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklinkbuttonaccessible.h
copy ..\..\..\gtk\a11y\gtklistboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklistboxaccessible.h
copy ..\..\..\gtk\a11y\gtklistboxrowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklistboxrowaccessible.h
copy ..\..\..\gtk\a11y\gtklockbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklockbuttonaccessible.h
copy ..\..\..\gtk\a11y\gtkmenuaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenuaccessible.h
copy ..\..\..\gtk\a11y\gtkmenubuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenubuttonaccessible.h
copy ..\..\..\gtk\a11y\gtkmenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenuitemaccessible.h
copy ..\..\..\gtk\a11y\gtkmenushellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenushellaccessible.h
copy ..\..\..\gtk\a11y\gtknotebookaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtknotebookaccessible.h
copy ..\..\..\gtk\a11y\gtknotebookpageaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtknotebookpageaccessible.h
copy ..\..\..\gtk\a11y\gtkpanedaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkpanedaccessible.h
copy ..\..\..\gtk\a11y\gtkpopoveraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkpopoveraccessible.h
copy ..\..\..\gtk\a11y\gtkprogressbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkprogressbaraccessible.h
copy ..\..\..\gtk\a11y\gtkradiobuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkradiobuttonaccessible.h
copy ..\..\..\gtk\a11y\gtkradiomenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkradiomenuitemaccessible.h
copy ..\..\..\gtk\a11y\gtkrangeaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkrangeaccessible.h
copy ..\..\..\gtk\a11y\gtkrenderercellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkrenderercellaccessible.h
copy ..\..\..\gtk\a11y\gtkscaleaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscaleaccessible.h
copy ..\..\..\gtk\a11y\gtkscalebuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscalebuttonaccessible.h
copy ..\..\..\gtk\a11y\gtkscrolledwindowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscrolledwindowaccessible.h
copy ..\..\..\gtk\a11y\gtkspinbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkspinbuttonaccessible.h
copy ..\..\..\gtk\a11y\gtkspinneraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkspinneraccessible.h
copy ..\..\..\gtk\a11y\gtkstatusbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkstatusbaraccessible.h
copy ..\..\..\gtk\a11y\gtkstackaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkstackaccessible.h
copy ..\..\..\gtk\a11y\gtkswitchaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkswitchaccessible.h
copy ..\..\..\gtk\a11y\gtktextcellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktextcellaccessible.h
copy ..\..\..\gtk\a11y\gtktextviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktextviewaccessible.h
copy ..\..\..\gtk\a11y\gtktogglebuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktogglebuttonaccessible.h
copy ..\..\..\gtk\a11y\gtktoplevelaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktoplevelaccessible.h
copy ..\..\..\gtk\a11y\gtktreeviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktreeviewaccessible.h
copy ..\..\..\gtk\a11y\gtkwidgetaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkwidgetaccessible.h
copy ..\..\..\gtk\a11y\gtkwindowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkwindowaccessible.h
copy ..\..\..\gtk\deprecated\gtkactivatable.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkactivatable.h
copy ..\..\..\gtk\deprecated\gtkaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkaction.h
copy ..\..\..\gtk\deprecated\gtkactiongroup.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkactiongroup.h
copy ..\..\..\gtk\deprecated\gtkalignment.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkalignment.h
copy ..\..\..\gtk\deprecated\gtkarrow.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkarrow.h
copy ..\..\..\gtk\deprecated\gtkcolorsel.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkcolorsel.h
copy ..\..\..\gtk\deprecated\gtkcolorseldialog.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkcolorseldialog.h
copy ..\..\..\gtk\deprecated\gtkfontsel.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkfontsel.h
copy ..\..\..\gtk\deprecated\gtkgradient.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkgradient.h
copy ..\..\..\gtk\deprecated\gtkhandlebox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhandlebox.h
copy ..\..\..\gtk\deprecated\gtkhbbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhbbox.h
copy ..\..\..\gtk\deprecated\gtkhbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhbox.h
copy ..\..\..\gtk\deprecated\gtkhpaned.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhpaned.h
copy ..\..\..\gtk\deprecated\gtkhscale.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhscale.h
copy ..\..\..\gtk\deprecated\gtkhscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhscrollbar.h
copy ..\..\..\gtk\deprecated\gtkhseparator.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhseparator.h
copy ..\..\..\gtk\deprecated\gtkhsv.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhsv.h
copy ..\..\..\gtk\deprecated\gtkiconfactory.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkiconfactory.h
copy ..\..\..\gtk\deprecated\gtkimagemenuitem.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkimagemenuitem.h
copy ..\..\..\gtk\deprecated\gtkmisc.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkmisc.h
copy ..\..\..\gtk\deprecated\gtknumerableicon.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtknumerableicon.h
copy ..\..\..\gtk\deprecated\gtkradioaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkradioaction.h
copy ..\..\..\gtk\deprecated\gtkrc.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkrc.h
copy ..\..\..\gtk\deprecated\gtkrecentaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkrecentaction.h
copy ..\..\..\gtk\deprecated\gtkstatusicon.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstatusicon.h
copy ..\..\..\gtk\deprecated\gtkstock.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstock.h
copy ..\..\..\gtk\deprecated\gtkstyle.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstyle.h
copy ..\..\..\gtk\deprecated\gtkstyleproperties.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstyleproperties.h
copy ..\..\..\gtk\deprecated\gtksymboliccolor.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtksymboliccolor.h
copy ..\..\..\gtk\deprecated\gtktable.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktable.h
copy ..\..\..\gtk\deprecated\gtktearoffmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktearoffmenuitem.h
copy ..\..\..\gtk\deprecated\gtkthemingengine.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkthemingengine.h
copy ..\..\..\gtk\deprecated\gtktoggleaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktoggleaction.h
copy ..\..\..\gtk\deprecated\gtkuimanager.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkuimanager.h
copy ..\..\..\gtk\deprecated\gtkvbbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvbbox.h
copy ..\..\..\gtk\deprecated\gtkvbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvbox.h
copy ..\..\..\gtk\deprecated\gtkvscale.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvscale.h
copy ..\..\..\gtk\deprecated\gtkvscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvscrollbar.h
copy ..\..\..\gtk\deprecated\gtkvseparator.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvseparator.h
copy ..\..\..\gtk\deprecated\gtkvpaned.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvpaned.h
mkdir $(CopyDir)\include\gail-$(ApiVersion)\libgail-util
copy ..\..\..\libgail-util\gailmisc.h $(CopyDir)\include\gail-3.0\libgail-util\gailmisc.h
copy ..\..\..\libgail-util\gailtextutil.h $(CopyDir)\include\gail-3.0\libgail-util\gailtextutil.h
copy ..\..\..\libgail-util\gail-util.h $(CopyDir)\include\gail-3.0\libgail-util\gail-util.h
for &#37;&#37;s in (16 22 24 32 48 256) do ((mkdir $(CopyDir)\share\icons\hicolor\&#37;&#37;sx&#37;&#37;s\apps) &amp; (copy /b ..\..\..\demos\gtk-demo\data\&#37;&#37;sx&#37;&#37;s\gtk3-demo.png $(CopyDir)\share\icons\hicolor\&#37;&#37;sx&#37;&#37;s\apps))
mkdir $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.ColorChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.Debug.gschema.xml $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.EmojiChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\demos\gtk-demo\org.gtk.Demo.gschema.xml $(CopyDir)\share\glib-2.0\schemas
</GtkDoInstall>
<GtkDoInstallBroadwayHeaders>
copy ..\..\..\gdk\broadway\gdkbroadway.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway
copy ..\..\..\gdk\broadway\gdkbroadwaydisplay.h $(CopyDir)\include\gtk-3.0\gdk\broadway\gdkbroadwaydisplay.h
copy ..\..\..\gdk\broadway\gdkbroadwaywindow.h $(CopyDir)\include\gtk-3.0\gdk\broadway\gdkbroadwaywindow.h
copy ..\..\..\gdk\broadway\gdkbroadwaycursor.h $(CopyDir)\include\gtk-3.0\gdk\broadway\gdkbroadwaycursor.h
copy ..\..\..\gdk\broadway\gdkbroadwaymonitor.h $(CopyDir)\include\gtk-3.0\gdk\broadway\gdkbroadwaymonitor.h
copy ..\..\..\gdk\broadway\gdkbroadwayvisual.h $(CopyDir)\include\gtk-3.0\gdk\broadway\gdkbroadwayvisual.h
</GtkDoInstallBroadwayHeaders>
<GtkPostInstall>
echo "Compiling gsettings XML Files..."
$(GlibEtcInstallRoot)\bin\glib-compile-schemas.exe $(CopyDir)\share\glib-2.0\schemas
echo "Generating icon cache......"
$(CopyDir)\bin\gtk-update-icon-cache.exe --ignore-theme-index --force "$(CopyDir)\share\icons\hicolor"
</GtkPostInstall>
<GenerateGtkPC>$(PythonDir)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=i686-pc-vs$(VSVer)</GenerateGtkPC>
<GenerateGtkPCX64>$(PythonDir)\python ..\gtkpc.py --prefix=$(CopyDir) --version=$(GtkVersion) --host=x86_64-pc-vs$(VSVer)</GenerateGtkPCX64>
<GtkPCFiles>..\gdk-3.0.pc;..\gtk+-3.0.pc;..\gail-3.0.pc</GtkPCFiles>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk3installsprops</_PropertySheetDisplayName>
</PropertyGroup>
<ItemGroup>
<BuildMacro Include="BinDir">
<Value>$(BinDir)</Value>
</BuildMacro>
<BuildMacro Include="InstalledDlls">
<Value>$(InstalledDlls)</Value>
</BuildMacro>
<BuildMacro Include="InstalledBins">
<Value>$(InstalledBins)</Value>
</BuildMacro>
<BuildMacro Include="InstalledBroadwayBins">
<Value>$(InstalledBroadwayBins)</Value>
</BuildMacro>
<BuildMacro Include="GtkDoInstallBin">
<Value>$(GtkDoInstallBin)</Value>
</BuildMacro>
<BuildMacro Include="GtkDoInstall">
<Value>$(GtkDoInstall)</Value>
</BuildMacro>
<BuildMacro Include="GtkDoInstallBroadwayHeaders">
<Value>$(GtkDoInstallBroadwayHeaders)</Value>
</BuildMacro>
<BuildMacro Include="GtkPostInstall">
<Value>$(GtkPostInstall)</Value>
</BuildMacro>
<BuildMacro Include="GenerateGtkPC">
<Value>$(GenerateGtkPC)</Value>
</BuildMacro>
<BuildMacro Include="GenerateGtkPCX64">
<Value>$(GenerateGtkPCX64)</Value>
</BuildMacro>
<BuildMacro Include="GtkPCFiles">
<Value>$(GtkPCFiles)</Value>
</BuildMacro>
</ItemGroup>
</Project>
+20
View File
@@ -7,7 +7,9 @@
<BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
<GtkDoInstallBin>
mkdir $(CopyDir)\bin
mkdir $(CopyDir)\share\gir-1.0
mkdir $(CopyDir)\lib\pkgconfig
mkdir $(CopyDir)\lib\girepository-1.0
copy "$(BinDir)\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).dll" $(CopyDir)\bin
copy "$(BinDir)\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).pdb" $(CopyDir)\bin
@@ -35,6 +37,12 @@ copy "$(BinDir)\gtk-query-settings.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-query-settings.pdb" $(CopyDir)\bin
copy "$(BinDir)\gtk-builder-tool.exe" $(CopyDir)\bin
copy "$(BinDir)\gtk-builder-tool.pdb" $(CopyDir)\bin
if exist $(BinDir)\Gdk-3.0.gir copy "$(BinDir)\Gdk-3.0.gir" $(CopyDir)\share\gir-1.0
if exist $(BinDir)\GdkWin32-3.0.gir copy "$(BinDir)\GdkWin32-3.0.gir" $(CopyDir)\share\gir-1.0
if exist $(BinDir)\Gtk-3.0.gir copy "$(BinDir)\Gtk-3.0.gir" $(CopyDir)\share\gir-1.0
if exist $(BinDir)\Gdk-3.0.typelib copy "$(BinDir)\Gdk-3.0.typelib" $(CopyDir)\lib\girepository-1.0
if exist $(BinDir)\GdkWin32-3.0.typelib copy "$(BinDir)\GdkWin32-3.0.typelib" $(CopyDir)\lib\girepository-1.0
if exist $(BinDir)\Gtk-3.0.typelib copy "$(BinDir)\Gtk-3.0.typelib" $(CopyDir)\lib\girepository-1.0
goto DONE_BIN
:DO_BROADWAY_BIN
@@ -64,6 +72,12 @@ copy .\Release\$(Platform)\bin\gtk-query-settings.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-query-settings.pdb $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-builder-tool.exe $(CopyDir)\bin
copy .\Release\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
if exist .\Release\$(Platform)\bin\Gdk-3.0.gir copy .\Release\$(Platform)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Release\$(Platform)\bin\GdkWin32-3.0.gir copy .\Release\$(Platform)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Release\$(Platform)\bin\Gtk-3.0.gir copy .\Release\$(Platform)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Release\$(Platform)\bin\Gdk-3.0.typelib copy .\Release\$(Platform)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0
if exist .\Release\$(Platform)\bin\GdkWin32-3.0.typelib copy .\Release\$(Platform)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0
if exist .\Release\$(Platform)\bin\Gtk-3.0.typelib copy .\Release\$(Platform)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0
goto DONE_BIN
@@ -88,6 +102,12 @@ copy .\Debug\$(Platform)\bin\gtk-query-settings.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-query-settings.pdb $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-builder-tool.exe $(CopyDir)\bin
copy .\Debug\$(Platform)\bin\gtk-builder-tool.pdb $(CopyDir)\bin
if exist .\Debug\$(Platform)\bin\Gdk-3.0.gir copy .\Debug\$(Platform)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Debug\$(Platform)\bin\GdkWin32-3.0.gir copy .\Debug\$(Platform)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Debug\$(Platform)\bin\Gtk-3.0.gir copy .\Debug\$(Platform)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0
if exist .\Debug\$(Platform)\bin\Gdk-3.0.typelib copy .\Debug\$(Platform)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0
if exist .\Debug\$(Platform)\bin\GdkWin32-3.0.typelib copy .\Debug\$(Platform)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0
if exist .\Debug\$(Platform)\bin\Gtk-3.0.typelib copy .\Debug\$(Platform)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0
:DONE_BIN
+106 -102
View File
@@ -1,103 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A8092C4E-0A21-4B1D-AC82-16764E418D1F}</ProjectGuid>
<RootNamespace>gtk3introspect</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="gtk3-install.vcxproj">
<Project>{23bbf35f-78af-4e8c-983f-7b90448cd7df}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A8092C4E-0A21-4B1D-AC82-16764E418D1F}</ProjectGuid>
<RootNamespace>gtk3introspect</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk3-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<NMakeBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)</NMakeBuildCommandLine>
<NMakeReBuildCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all</NMakeReBuildCommandLine>
<NMakeCleanCommandLine>$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean</NMakeCleanCommandLine>
<NMakeOutput>$(GtkIntrospectBuiltFiles)</NMakeOutput>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="gdk-3.vcxproj">
<Project>{5ae8f5ce-9103-4951-aede-ea2f3b573be8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-3.vcxproj">
<Project>{95a4b53d-2773-4406-a2c1-8fd2840bbad8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+2 -1
View File
@@ -91,7 +91,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-install", "gtk3-instal
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-introspect", "gtk3-introspect.vcproj", "{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
ProjectSection(ProjectDependencies) = postProject
{23BBF35F-78AF-4E8C-983F-7B90448CD7DF} = {23BBF35F-78AF-4E8C-983F-7B90448CD7DF}
{5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8} = {5AE8F5CE-9103-4951-AEDE-EA2F3B573BE8}
{95A4B53D-2773-4406-A2C1-8FD2840BBAD8} = {95A4B53D-2773-4406-A2C1-8FD2840BBAD8}
EndProjectSection
EndProject
Global
+1 -1
View File
@@ -65,6 +65,6 @@
/>
<UserMacro
Name="GtkIntrospectBuiltFiles"
Value="$(SolutionDir)\..\Gtk-3.0.gir;$(SolutionDir)\..\Gtk-3.0.typelib;$(SolutionDir)\..\GdkWin32-3.0.gir;$(SolutionDir)\..\GdkWin32-3.0.typelib;$(SolutionDir)\..\Gdk-3.0.gir;$(SolutionDir)\..\Gdk-3.0.typelib"
Value="$(SolutionDir)\$(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.gir;$(SolutionDir)\$(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.typelib;$(SolutionDir)\$(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.gir;$(SolutionDir)\$(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.typelib;$(SolutionDir)\$(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.gir;$(SolutionDir)\$(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.typelib"
/>
</VisualStudioPropertySheet>
+20
View File
@@ -9,7 +9,9 @@
Name="GtkDoInstallBin"
Value="
mkdir $(CopyDir)\bin&#x0D;&#x0A;
mkdir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
mkdir $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
mkdir $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gdk-3$(GtkDllSuffix).pdb $(CopyDir)\bin&#x0D;&#x0A;
@@ -37,6 +39,12 @@ copy $(ConfigurationName)\$(PlatformName)\bin\gtk-query-settings.exe $(CopyDir)\
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-query-settings.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-builder-tool.exe $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gtk-builder-tool.pdb $(CopyDir)\bin&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.gir copy $(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.gir copy $(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.gir copy $(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.typelib copy $(ConfigurationName)\$(PlatformName)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.typelib copy $(ConfigurationName)\$(PlatformName)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist $(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.typelib copy $(ConfigurationName)\$(PlatformName)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
goto DONE_BIN&#x0D;&#x0A;
:DO_BROADWAY_BIN&#x0D;&#x0A;
@@ -66,6 +74,12 @@ copy .\Release\$(PlatformName)\bin\gtk-query-settings.exe $(CopyDir)\bin&#x0D;&#
copy .\Release\$(PlatformName)\bin\gtk-query-settings.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-builder-tool.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Release\$(PlatformName)\bin\gtk-builder-tool.pdb $(CopyDir)\bin&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\Gdk-3.0.gir copy .\Release\$(PlatformName)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\GdkWin32-3.0.gir copy .\Release\$(PlatformName)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\Gtk-3.0.gir copy .\Release\$(PlatformName)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\Gdk-3.0.typelib copy .\Release\$(PlatformName)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\GdkWin32-3.0.typelib copy .\Release\$(PlatformName)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist .\Release\$(PlatformName)\bin\Gtk-3.0.typelib copy .\Release\$(PlatformName)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
goto DONE_BIN&#x0D;&#x0A;
:DO_BROADWAY_DEBUG&#x0D;&#x0A;
@@ -89,6 +103,12 @@ copy .\Debug\$(PlatformName)\bin\gtk-query-settings.exe $(CopyDir)\bin&#x0D;&#x0
copy .\Debug\$(PlatformName)\bin\gtk-query-settings.pdb $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-builder-tool.exe $(CopyDir)\bin&#x0D;&#x0A;
copy .\Debug\$(PlatformName)\bin\gtk-builder-tool.pdb $(CopyDir)\bin&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\Gdk-3.0.gir copy .\Debug\$(PlatformName)\bin\Gdk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\GdkWin32-3.0.gir copy .\Debug\$(PlatformName)\bin\GdkWin32-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\Gtk-3.0.gir copy .\Debug\$(PlatformName)\bin\Gtk-3.0.gir $(CopyDir)\share\gir-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\Gdk-3.0.typelib copy .\Debug\$(PlatformName)\bin\Gdk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\GdkWin32-3.0.typelib copy .\Debug\$(PlatformName)\bin\GdkWin32-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
if exist .\Debug\$(PlatformName)\bin\Gtk-3.0.typelib copy .\Debug\$(PlatformName)\bin\Gtk-3.0.typelib $(CopyDir)\lib\girepository-1.0&#x0D;&#x0A;
:DONE_BIN&#x0D;&#x0A;
copy ..\gdk-3.0.pc $(CopyDir)\lib\pkgconfig&#x0D;&#x0A;
+76 -76
View File
@@ -1,76 +1,76 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk3-introspect"
ProjectGUID="{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
Keyword="MakeFileProj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="0"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection"
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection"
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
Output="$(GtkIntrospectBuiltFiles)"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="0"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection"
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection"
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
Output="$(GtkIntrospectBuiltFiles)"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="0"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
CharacterSet="2"
DeleteExtensionsOnClean=""
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) install-introspection"
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean install-introspection"
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
Output="$(GtkIntrospectBuiltFiles)"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="0"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) install-introspection"
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean install-introspection"
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
Output="$(GtkIntrospectBuiltFiles)"
/>
</Configuration>
</Configurations>
</VisualStudioProject>
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk3-introspect"
ProjectGUID="{A8092C4E-0A21-4B1D-AC82-16764E418D1F}"
Keyword="MakeFileProj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="0"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)"
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all"
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
Output="$(GtkIntrospectBuiltFiles)"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="0"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64)"
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all"
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
Output="$(GtkIntrospectBuiltFiles)"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="0"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
CharacterSet="2"
DeleteExtensionsOnClean=""
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam)"
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean all"
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParam) clean"
Output="$(GtkIntrospectBuiltFiles)"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="0"
InheritedPropertySheets=".\gtk3-build-defines.vsprops"
>
<Tool
Name="VCNMakeTool"
BuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64)"
ReBuildCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean all"
CleanCommandLine="$(GtkIntrospectNMakeCmd) $(IntrospectPythonParamX64) clean"
Output="$(GtkIntrospectBuiltFiles)"
/>
</Configuration>
</Configurations>
</VisualStudioProject>
+1 -1
View File
@@ -10,7 +10,7 @@
m4_define([gtk_major_version], [3])
m4_define([gtk_minor_version], [24])
m4_define([gtk_micro_version], [2])
m4_define([gtk_micro_version], [4])
m4_define([gtk_interface_age], [0])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
+2 -2
View File
@@ -144,7 +144,7 @@ create_capital_store (void)
{ NULL, "Jackson" },
{ NULL, "Jefferson City" },
{ NULL, "Juneau" },
{ "K - O" },
{ "K - O", NULL },
{ NULL, "Lansing" },
{ NULL, "Lincoln" },
{ NULL, "Little Rock" },
@@ -154,7 +154,7 @@ create_capital_store (void)
{ NULL, "Nashville" },
{ NULL, "Oklahoma City" },
{ NULL, "Olympia" },
{ NULL, "P - S" },
{ "P - S", NULL },
{ NULL, "Phoenix" },
{ NULL, "Pierre" },
{ NULL, "Providence" },
+1
View File
@@ -50,6 +50,7 @@
<property name="can_focus">1</property>
<property name="receives_default">1</property>
<property name="font">Sans 12</property>
<property name="level">style|size|variations|features</property>
<signal name="font-set" handler="font_changed" swapped="no"/>
</object>
</child>
+2 -2
View File
@@ -170,10 +170,10 @@ take_window_shot (Window child,
y_orig = 0;
}
if (x_orig + width > gdk_screen_get_width (gdk_screen_get_dfeault ()))
if (x_orig + width > gdk_screen_width ())
width = gdk_screen_width () - x_orig;
if (y_orig + height > gdk_screen_get_height (gdk_screen_get_default ()))
if (y_orig + height > gdk_screen_height ())
height = gdk_screen_height () - y_orig;
tmp = gdk_pixbuf_get_from_window (window,
+1 -1
View File
@@ -534,7 +534,7 @@ GdkWin32_3_0_gir_MSVC_CFLAGS = $(BASE_MSVC_GIR_CFLAGS)
GdkWin32_3_0_gir_MSVC_SCANNERFLAGS = \
--identifier-prefix=Gdk \
--c-include="gdk/gdkwin32.h" \
--include-uninstalled=./Gdk-3.0.gir
--include-uninstalled='./vs$$$$(VSVER)/$$$$(CFG)/$$$$(PLAT)/bin/Gdk-3.0.gir'
include $(top_srcdir)/build/Makefile.msvc-introspection
+1 -1
View File
@@ -62,7 +62,7 @@ G_BEGIN_DECLS
#define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)
/**
* GDK_PRIORITY_REDRAW:
* GDK_PRIORITY_REDRAW: (value 120)
*
* This is the priority that the idle handler processing window updates
* is given in the
+8 -8
View File
@@ -149,7 +149,7 @@ parse_rgb_value (const gchar *str,
* - A RGBA color in the form “rgba(r,g,b,a)”
*
* Where “r”, “g”, “b” and “a” are respectively the red, green, blue and
* alpha color values. In the last two cases, r g and b are either integers
* alpha color values. In the last two cases, “r”, “g”, and “b” are either integers
* in the range 0 to 255 or percentage values in the range 0% to 100%, and
* a is a floating point value in the range 0 to 1.
*
@@ -333,18 +333,18 @@ gdk_rgba_equal (gconstpointer p1,
* @rgba: a #GdkRGBA
*
* Returns a textual specification of @rgba in the form
* `rgb (r, g, b)` or
* `rgba (r, g, b, a)`,
* `rgb(r,g,b)` or
* `rgba(r g,b,a)`,
* where “r”, “g”, “b” and “a” represent the red, green,
* blue and alpha values respectively. r, g, and b are
* represented as integers in the range 0 to 255, and a
* is represented as floating point value in the range 0 to 1.
* blue and alpha values respectively. “r”, “g”, and “b” are
* represented as integers in the range 0 to 255, and “a”
* is represented as a floating point value in the range 0 to 1.
*
* These string forms are string forms those supported by
* These string forms are string forms that are supported by
* the CSS3 colors module, and can be parsed by gdk_rgba_parse().
*
* Note that this string representation may lose some
* precision, since r, g and b are represented as 8-bit
* precision, since “r”, “g” and “b” are represented as 8-bit
* integers. If this is a concern, you should use a
* different representation.
*
+3 -2
View File
@@ -449,12 +449,13 @@ gdk_seat_tool_removed (GdkSeat *seat,
GdkDeviceTool *
gdk_seat_get_tool (GdkSeat *seat,
guint64 serial)
guint64 serial,
guint64 hw_id)
{
GdkSeatClass *seat_class;
g_return_val_if_fail (GDK_IS_SEAT (seat), NULL);
seat_class = GDK_SEAT_GET_CLASS (seat);
return seat_class->get_tool (seat, serial);
return seat_class->get_tool (seat, serial, hw_id);
}
+4 -4
View File
@@ -275,7 +275,8 @@ gdk_seat_default_get_slaves (GdkSeat *seat,
static GdkDeviceTool *
gdk_seat_default_get_tool (GdkSeat *seat,
guint64 serial)
guint64 serial,
guint64 hw_id)
{
GdkSeatDefaultPrivate *priv;
GdkDeviceTool *tool;
@@ -290,7 +291,7 @@ gdk_seat_default_get_tool (GdkSeat *seat,
{
tool = g_ptr_array_index (priv->tools, i);
if (tool->serial == serial)
if (tool->serial == serial && tool->hw_id == hw_id)
return tool;
}
@@ -436,8 +437,7 @@ gdk_seat_default_remove_tool (GdkSeatDefault *seat,
priv = gdk_seat_default_get_instance_private (seat);
if (tool != gdk_seat_get_tool (GDK_SEAT (seat),
gdk_device_tool_get_serial (tool)))
if (tool != gdk_seat_get_tool (GDK_SEAT (seat), tool->serial, tool->hw_id))
return;
g_signal_emit_by_name (seat, "tool-removed", tool);
+4 -2
View File
@@ -57,7 +57,8 @@ struct _GdkSeatClass
GdkSeatCapabilities capabilities);
GdkDeviceTool * (* get_tool) (GdkSeat *seat,
guint64 serial);
guint64 serial,
guint64 tool_id);
};
void gdk_seat_device_added (GdkSeat *seat,
@@ -72,6 +73,7 @@ void gdk_seat_tool_removed (GdkSeat *seat,
GdkDeviceTool *
gdk_seat_get_tool (GdkSeat *seat,
guint64 serial);
guint64 serial,
guint64 hw_id);
#endif /* __GDK_SEAT_PRIVATE_H__ */
+35 -40
View File
@@ -379,22 +379,46 @@
initialPositionKnown = NO;
}
#if MAC_OS_X_VERSION_MIN_REQUIRED < 101200
- (NSPoint)convertPointToScreen:(NSPoint)point
{
NSRect inrect = NSMakeRect (point.x, point.y, 0.0, 0.0);
NSRect outrect = [self convertRectToScreen: inrect];
return (NSPoint)((CGRect)outrect).origin;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
if (gdk_quartz_osx_version () >= GDK_OSX_MOJAVE)
{
return [super convertPointToScreen: point];
}
#endif
if (gdk_quartz_osx_version () >= GDK_OSX_LION)
{
NSRect inrect = NSMakeRect (point.x, point.y, 0.0, 0.0);
NSRect outrect = [self convertRectToScreen: inrect];
return (NSPoint)((CGRect)outrect).origin;
}
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
return [self convertBaseToScreen:point];
#endif
}
- (NSPoint)convertPointFromScreen:(NSPoint)point
{
NSRect inrect = NSMakeRect (point.x, point.y, 0.0, 0.0);
NSRect outrect = [self convertRectFromScreen: inrect];
return (NSPoint)((CGRect)outrect).origin;
}
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
if (gdk_quartz_osx_version () >= GDK_OSX_MOJAVE)
{
return [super convertPointFromScreen: point];
}
#endif
if (gdk_quartz_osx_version () >= GDK_OSX_LION)
{
NSRect inrect = NSMakeRect (point.x, point.y, 0.0, 0.0);
NSRect outrect = [self convertRectFromScreen: inrect];
return (NSPoint)((CGRect)outrect).origin;
}
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
return [self convertScreenToBase:point];
#endif
}
- (BOOL)trackManualMove
{
@@ -407,11 +431,8 @@
if (!inManualMove)
return NO;
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
currentLocation = [self convertBaseToScreen:[self mouseLocationOutsideOfEventStream]];
#else
currentLocation = [self convertPointToScreen:[self mouseLocationOutsideOfEventStream]];
#endif
newOrigin.x = currentLocation.x - initialMoveLocation.x;
newOrigin.y = currentLocation.y - initialMoveLocation.y;
@@ -442,11 +463,7 @@
inManualMove = YES;
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
initialMoveLocation = [self convertBaseToScreen:[self mouseLocationOutsideOfEventStream]];
#else
initialMoveLocation = [self convertPointToScreen:[self mouseLocationOutsideOfEventStream]];
#endif
initialMoveLocation.x -= frame.origin.x;
initialMoveLocation.y -= frame.origin.y;
}
@@ -462,12 +479,7 @@
return NO;
inTrackManualResize = YES;
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
mouse_location = [self convertBaseToScreen:[self mouseLocationOutsideOfEventStream]];
#else
mouse_location = [self convertPointToScreen:[self mouseLocationOutsideOfEventStream]];
#endif
mdx = initialResizeLocation.x - mouse_location.x;
mdy = initialResizeLocation.y - mouse_location.y;
@@ -552,12 +564,7 @@
resizeEdge = edge;
initialResizeFrame = [self frame];
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
initialResizeLocation = [self convertBaseToScreen:[self mouseLocationOutsideOfEventStream]];
#else
initialResizeLocation = [self convertPointToScreen:[self mouseLocationOutsideOfEventStream]];
#endif
}
@@ -690,13 +697,7 @@ update_context_from_dragging_info (id <NSDraggingInfo> sender)
- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)sender
{
NSPoint point = [sender draggingLocation];
NSPoint screen_point;
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
screen_point = [self convertBaseToScreen:point];
#else
screen_point = [self convertPointToScreen:point];
#endif
NSPoint screen_point = [self convertPointToScreen:point];
GdkEvent *event;
int gx, gy;
@@ -724,13 +725,7 @@ update_context_from_dragging_info (id <NSDraggingInfo> sender)
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
{
NSPoint point = [sender draggingLocation];
NSPoint screen_point;
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
screen_point = [self convertBaseToScreen:point];
#else
screen_point = [self convertPointToScreen:point];
#endif
NSPoint screen_point = [self convertPointToScreen:point];
GdkEvent *event;
int gy, gx;
-2
View File
@@ -53,10 +53,8 @@
#ifdef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
-(void)setStyleMask:(NSUInteger)styleMask;
#endif
#if MAC_OS_X_VERSION_MIN_REQUIRED < 101200
- (NSPoint)convertPointToScreen:(NSPoint)point;
- (NSPoint)convertPointFromScreen:(NSPoint)point;
#endif
@end
+9 -2
View File
@@ -252,10 +252,17 @@ configure_monitor (GdkMonitor *monitor)
monitor->width_mm = width;
monitor->height_mm = height;
monitor->geometry = disp_geometry;
monitor->scale_factor = 1;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
if (mode && gdk_quartz_osx_version () >= GDK_OSX_MOUNTAIN_LION)
{
monitor->scale_factor = CGDisplayModeGetPixelWidth (mode) / CGDisplayModeGetWidth (mode);
CGDisplayModeRelease (mode);
}
else
#endif
monitor->scale_factor = 1;
monitor->refresh_rate = refresh_rate;
monitor->subpixel_layout = GDK_SUBPIXEL_LAYOUT_UNKNOWN;
CGDisplayModeRelease (mode);
}
static void
+4 -12
View File
@@ -379,12 +379,7 @@ get_window_point_from_screen_point (GdkWindow *window,
GdkQuartzNSWindow *nswindow;
nswindow = (GdkQuartzNSWindow*)(((GdkWindowImplQuartz *)window->impl)->toplevel);
#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
point = [nswindow convertScreenToBase:screen_point];
#else
point = [nswindow convertPointFromScreen:screen_point];
#endif
*x = point.x;
*y = window->height - point.y;
}
@@ -460,12 +455,7 @@ get_toplevel_from_ns_event (NSEvent *nsevent,
}
else
{
if (gdk_quartz_osx_version () >= GDK_OSX_LION)
*screen_point = [(GdkQuartzNSWindow*)[nsevent window] convertPointToScreen:point];
#if MAC_OS_X_VERSION_MIN_REQUIRED < 10700
else
*screen_point = [[nsevent window] convertBaseToScreen:point];
#endif
*screen_point = [(GdkQuartzNSWindow*)[nsevent window] convertPointToScreen:point];
*x = point.x;
*y = toplevel->height - point.y;
}
@@ -1551,8 +1541,10 @@ gdk_event_translate (GdkEvent *event,
grab = _gdk_display_get_last_device_grab (_gdk_display,
gdk_seat_get_pointer (seat));
}
return_val = TRUE;
}
return_val = TRUE;
switch (event_type)
{
case GDK_QUARTZ_LEFT_MOUSE_DOWN:
+14 -1
View File
@@ -35,7 +35,20 @@ gdk_wayland_app_launch_context_get_startup_notify_id (GAppLaunchContext *context
GAppInfo *info,
GList *files)
{
return NULL;
GdkWaylandDisplay *display;
gchar *id = NULL;
g_object_get (context, "display", &display, NULL);
if (display->gtk_shell_version >= 3)
{
id = g_uuid_string_random ();
gtk_shell1_notify_launch (display->gtk_shell, id);
}
g_object_unref (display);
return id;
}
static void
+19 -19
View File
@@ -336,43 +336,43 @@ _gdk_wayland_display_get_cursor_for_name_with_scale (GdkDisplay *display,
const gchar *name,
guint scale)
{
GdkWaylandCursor *private;
GdkWaylandCursor *wayland_cursor;
GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
private = g_hash_table_lookup (display_wayland->cursor_cache, name);
if (private)
return GDK_CURSOR (g_object_ref (private));
wayland_cursor = g_hash_table_lookup (display_wayland->cursor_cache, name);
if (wayland_cursor && wayland_cursor->scale == scale)
return GDK_CURSOR (g_object_ref (wayland_cursor));
private = g_object_new (GDK_TYPE_WAYLAND_CURSOR,
"cursor-type", GDK_CURSOR_IS_PIXMAP,
"display", display,
NULL);
wayland_cursor = g_object_new (GDK_TYPE_WAYLAND_CURSOR,
"cursor-type", GDK_CURSOR_IS_PIXMAP,
"display", display,
NULL);
/* Blank cursor case */
if (!name || g_str_equal (name, "none") || g_str_equal (name, "blank_cursor"))
{
private->name = g_strdup ("none");
private->scale = scale;
wayland_cursor->name = g_strdup ("none");
wayland_cursor->scale = scale;
return GDK_CURSOR (private);
return GDK_CURSOR (wayland_cursor);
}
private->name = g_strdup (name);
private->scale = scale;
wayland_cursor->name = g_strdup (name);
wayland_cursor->scale = scale;
if (!_gdk_wayland_cursor_update (display_wayland, private))
if (!_gdk_wayland_cursor_update (display_wayland, wayland_cursor))
{
g_object_unref (private);
g_object_unref (wayland_cursor);
return NULL;
}
/* Insert into cache. */
g_hash_table_insert (display_wayland->cursor_cache,
private->name,
g_object_ref (private));
return GDK_CURSOR (private);
g_hash_table_replace (display_wayland->cursor_cache,
wayland_cursor->name,
g_object_ref (wayland_cursor));
return GDK_CURSOR (wayland_cursor);
}
GdkCursor *
+1 -1
View File
@@ -83,7 +83,7 @@
#define MIN_SYSTEM_BELL_DELAY_MS 20
#define GTK_SHELL1_VERSION 2
#define GTK_SHELL1_VERSION 3
static void _gdk_wayland_display_load_cursor_theme (GdkWaylandDisplay *display_wayland);
+1
View File
@@ -491,6 +491,7 @@ update_xft_settings (GdkScreen *screen)
static TranslationEntry translations[] = {
{ FALSE, "org.gnome.desktop.interface", "gtk-theme", "gtk-theme-name" , G_TYPE_STRING, { .s = "Adwaita" } },
{ FALSE, "org.gnome.desktop.interface", "gtk-key-theme", "gtk-key-theme-name" , G_TYPE_STRING, { .s = "Default" } },
{ FALSE, "org.gnome.desktop.interface", "icon-theme", "gtk-icon-theme-name", G_TYPE_STRING, { .s = "gnome" } },
{ FALSE, "org.gnome.desktop.interface", "cursor-theme", "gtk-cursor-theme-name", G_TYPE_STRING, { .s = "Adwaita" } },
{ FALSE, "org.gnome.desktop.interface", "cursor-size", "gtk-cursor-theme-size", G_TYPE_INT, { .i = 32 } },
+23 -8
View File
@@ -140,6 +140,7 @@ struct _GdkWindowImplWayland
EGLSurface dummy_egl_surface;
unsigned int initial_configure_received : 1;
unsigned int configuring_popup : 1;
unsigned int mapped : 1;
unsigned int use_custom_surface : 1;
unsigned int pending_buffer_attached : 1;
@@ -1088,12 +1089,18 @@ gdk_wayland_window_maybe_configure (GdkWindow *window,
is_xdg_popup = is_realized_popup (window);
is_visible = gdk_window_is_visible (window);
if (is_xdg_popup && is_visible && !impl->initial_configure_received)
if (is_xdg_popup &&
is_visible &&
!impl->initial_configure_received &&
!impl->configuring_popup)
gdk_window_hide (window);
gdk_wayland_window_configure (window, width, height, scale);
if (is_xdg_popup && is_visible && !impl->initial_configure_received)
if (is_xdg_popup &&
is_visible &&
!impl->initial_configure_received &&
!impl->configuring_popup)
gdk_window_show (window);
}
@@ -2413,9 +2420,11 @@ calculate_moved_to_rect_result (GdkWindow *window,
window_width = width + window->shadow_left + window->shadow_right;
window_height = height + window->shadow_top + window->shadow_bottom;
impl->configuring_popup = TRUE;
gdk_window_move_resize (window,
window_x, window_y,
window_width, window_height);
impl->configuring_popup = FALSE;
calculate_popup_rect (window,
impl->pending_move_to_rect.rect_anchor,
@@ -3523,14 +3532,20 @@ gdk_wayland_window_focus (GdkWindow *window,
if (!impl->display_server.gtk_surface)
return;
/* We didn't have an event to fetch a time from, meaning we have nothing valid
* to send. This should rather be translated to a 'needs-attention' request or
* something.
*/
if (timestamp == GDK_CURRENT_TIME)
return;
{
GdkWaylandDisplay *display_wayland =
GDK_WAYLAND_DISPLAY (gdk_window_get_display (window));
gtk_surface1_present (impl->display_server.gtk_surface, timestamp);
if (display_wayland->gtk_shell_version >= 3)
{
gtk_surface1_request_focus (impl->display_server.gtk_surface,
display_wayland->startup_notification_id);
g_clear_pointer (&display_wayland->startup_notification_id, g_free);
}
}
else
gtk_surface1_present (impl->display_server.gtk_surface, timestamp);
}
static void
+12 -2
View File
@@ -1,6 +1,6 @@
<protocol name="gtk">
<interface name="gtk_shell1" version="2">
<interface name="gtk_shell1" version="3">
<description summary="gtk specific extensions">
gtk_shell is a protocol extension providing additional features for
clients implementing it.
@@ -28,9 +28,14 @@
<request name="system_bell">
<arg name="surface" type="object" interface="gtk_surface1" allow-null="true"/>
</request>
<!-- Version 3 additions -->
<request name="notify_launch" since="3">
<arg name="startup_id" type="string"/>
</request>
</interface>
<interface name="gtk_surface1" version="2">
<interface name="gtk_surface1" version="3">
<request name="set_dbus_properties">
<arg name="application_id" type="string" allow-null="true"/>
<arg name="app_menu_path" type="string" allow-null="true"/>
@@ -72,6 +77,11 @@
<event name="configure_edges" since="2">
<arg name="constraints" type="array"/>
</event>
<!-- Version 3 additions -->
<request name="request_focus" since="3">
<arg name="startup_id" type="string" allow-null="true"/>
</request>
</interface>
</protocol>
+1 -1
View File
@@ -2256,7 +2256,7 @@ gdk_settings_notify (GdkWindow *window,
new_event->setting.window = window;
new_event->setting.send_event = FALSE;
new_event->setting.action = action;
new_event->setting.name = (char*) name;
new_event->setting.name = g_strdup (name);
_gdk_win32_append_event (new_event);
}
+4 -4
View File
@@ -29,8 +29,8 @@
#include "gdkkeysyms.h"
#define APPEARS_FOCUSED(toplevel) \
((toplevel)->has_focus || (toplevel)->has_focus_window || (toplevel)->has_pointer_focus)
#define HAS_FOCUS(toplevel) \
((toplevel)->has_focus || (toplevel)->has_pointer_focus)
static void gdk_x11_device_manager_core_finalize (GObject *object);
static void gdk_x11_device_manager_core_constructed (GObject *object);
@@ -842,7 +842,7 @@ _gdk_device_manager_core_handle_focus (GdkWindow *window,
if (toplevel->focus_window == original)
return;
had_focus = APPEARS_FOCUSED (toplevel);
had_focus = HAS_FOCUS (toplevel);
x11_screen = GDK_X11_SCREEN (gdk_window_get_screen (window));
switch (detail)
@@ -904,7 +904,7 @@ _gdk_device_manager_core_handle_focus (GdkWindow *window,
break;
}
if (APPEARS_FOCUSED (toplevel) != had_focus)
if (HAS_FOCUS (toplevel) != had_focus)
{
GdkEvent *event;
+86 -4
View File
@@ -38,6 +38,23 @@
#include <string.h>
static const char *wacom_type_atoms[] = {
"STYLUS",
"CURSOR",
"ERASER",
"PAD",
"TOUCH"
};
#define N_WACOM_TYPE_ATOMS G_N_ELEMENTS (wacom_type_atoms)
enum {
WACOM_TYPE_STYLUS,
WACOM_TYPE_CURSOR,
WACOM_TYPE_ERASER,
WACOM_TYPE_PAD,
WACOM_TYPE_TOUCH,
};
struct _GdkX11DeviceManagerXI2
{
GdkX11DeviceManagerCore parent_object;
@@ -1018,6 +1035,66 @@ device_get_tool_serial_and_id (GdkDevice *device,
return TRUE;
}
static GdkDeviceToolType
device_get_tool_type (GdkDevice *device)
{
GdkDisplay *display;
gulong nitems, bytes_after;
guint32 *data;
int rc, format;
Atom type;
Atom device_type;
Atom types[N_WACOM_TYPE_ATOMS];
GdkDeviceToolType tool_type = GDK_DEVICE_TOOL_TYPE_UNKNOWN;
display = gdk_device_get_display (device);
gdk_x11_display_error_trap_push (display);
rc = XIGetProperty (GDK_DISPLAY_XDISPLAY (display),
gdk_x11_device_get_id (device),
gdk_x11_get_xatom_by_name_for_display (display, "Wacom Tool Type"),
0, 1, False, XA_ATOM, &type, &format, &nitems, &bytes_after,
(guchar **) &data);
gdk_x11_display_error_trap_pop_ignored (display);
if (rc != Success)
return GDK_DEVICE_TOOL_TYPE_UNKNOWN;
if (type != XA_ATOM || format != 32 || nitems != 1)
{
XFree (data);
return GDK_DEVICE_TOOL_TYPE_UNKNOWN;
}
device_type = *data;
XFree (data);
if (device_type == 0)
return GDK_DEVICE_TOOL_TYPE_UNKNOWN;
gdk_x11_display_error_trap_push (display);
rc = XInternAtoms (GDK_DISPLAY_XDISPLAY (display),
(char **) wacom_type_atoms,
N_WACOM_TYPE_ATOMS,
False,
types);
gdk_x11_display_error_trap_pop_ignored (display);
if (rc == 0)
return GDK_DEVICE_TOOL_TYPE_UNKNOWN;
if (device_type == types[WACOM_TYPE_STYLUS])
tool_type = GDK_DEVICE_TOOL_TYPE_PEN;
else if (device_type == types[WACOM_TYPE_CURSOR])
tool_type = GDK_DEVICE_TOOL_TYPE_MOUSE;
else if (device_type == types[WACOM_TYPE_ERASER])
tool_type = GDK_DEVICE_TOOL_TYPE_ERASER;
else if (device_type == types[WACOM_TYPE_TOUCH])
tool_type = GDK_DEVICE_TOOL_TYPE_UNKNOWN;
return tool_type;
}
static void
handle_property_change (GdkX11DeviceManagerXI2 *device_manager,
XIPropertyEvent *ev)
@@ -1038,13 +1115,18 @@ handle_property_change (GdkX11DeviceManagerXI2 *device_manager,
device_get_tool_serial_and_id (device, &serial_id, &tool_id))
{
seat = gdk_device_get_seat (device);
tool = gdk_seat_get_tool (seat, serial_id);
tool = gdk_seat_get_tool (seat, serial_id, tool_id);
if (!tool && serial_id > 0)
{
tool = gdk_device_tool_new (serial_id, tool_id,
GDK_DEVICE_TOOL_TYPE_UNKNOWN, 0);
gdk_seat_default_add_tool (GDK_SEAT_DEFAULT (seat), tool);
GdkDeviceToolType tool_type;
tool_type = device_get_tool_type (device);
if (tool_type != GDK_DEVICE_TOOL_TYPE_UNKNOWN)
{
tool = gdk_device_tool_new (serial_id, tool_id, tool_type, 0);
gdk_seat_default_add_tool (GDK_SEAT_DEFAULT (seat), tool);
}
}
}
+1 -1
View File
@@ -1728,7 +1728,7 @@ _gdk_x11_display_open (const gchar *display_name)
if (!gdk_running_in_sandbox ())
{
/* if sandboxed, we're likely in a pid namespace and would only confuse the wm with this */
pid_t pid = getpid ();
long pid = getpid ();
XChangeProperty (display_x11->xdisplay,
display_x11->leader_window,
gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_PID"),
+4 -4
View File
@@ -32,8 +32,8 @@ static gboolean gdk_event_source_dispatch (GSource *source,
gpointer user_data);
static void gdk_event_source_finalize (GSource *source);
#define APPEARS_FOCUSED(toplevel) \
((toplevel)->has_focus || (toplevel)->has_focus_window || (toplevel)->has_pointer_focus)
#define HAS_FOCUS(toplevel) \
((toplevel)->has_focus || (toplevel)->has_pointer_focus)
struct _GdkEventSource
{
@@ -148,10 +148,10 @@ handle_focus_change (GdkEventCrossing *event)
if (!event->focus || toplevel->has_focus_window)
return;
had_focus = APPEARS_FOCUSED (toplevel);
had_focus = HAS_FOCUS (toplevel);
toplevel->has_pointer_focus = focus_in;
if (APPEARS_FOCUSED (toplevel) != had_focus)
if (HAS_FOCUS (toplevel) != had_focus)
{
GdkEvent *focus_event;
+7 -3
View File
@@ -935,7 +935,7 @@ setup_toplevel_window (GdkWindow *window,
if (!gdk_running_in_sandbox ())
{
/* if sandboxed, we're likely in a pid namespace and would only confuse the wm with this */
pid_t pid = getpid ();
long pid = getpid ();
XChangeProperty (xdisplay, xid,
gdk_x11_get_xatom_by_name_for_display (x11_screen->display, "_NET_WM_PID"),
XA_CARDINAL, 32,
@@ -2985,6 +2985,7 @@ gdk_window_x11_set_background (GdkWindow *window,
double r, g, b, a;
cairo_surface_t *surface;
cairo_matrix_t matrix;
cairo_pattern_t *parent_relative_pattern;
if (GDK_WINDOW_DESTROYED (window))
return;
@@ -2997,15 +2998,18 @@ gdk_window_x11_set_background (GdkWindow *window,
}
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
if (pattern == gdk_x11_get_parent_relative_pattern ())
parent_relative_pattern = gdk_x11_get_parent_relative_pattern ();
G_GNUC_END_IGNORE_DEPRECATIONS
if (pattern == parent_relative_pattern)
{
GdkWindow *parent;
/* X throws BadMatch if the parent has a different depth when
* using ParentRelative */
parent = gdk_window_get_parent (window);
if (parent == NULL || window->depth == parent->depth)
if (parent != NULL && window->depth == parent->depth &&
cairo_pattern_status (pattern) == CAIRO_STATUS_SUCCESS)
{
XSetWindowBackgroundPixmap (GDK_WINDOW_XDISPLAY (window),
GDK_WINDOW_XID (window), ParentRelative);
+10 -1
View File
@@ -1336,6 +1336,15 @@ gtk.gresource.xml: Makefile.am inspector/Makefile.inc
done; \
done; \
done; \
for s in scalable; do \
for c in status; do \
for f in $(srcdir)/icons/$$s/$$c/*.svg; do \
test "$$f" = "$(srcdir)/icons/$$s/$$c/*.svg" && continue; \
n=`basename $$f`; \
echo " <file>icons/$$s/$$c/$$n</file>" >> $@; \
done; \
done; \
done; \
for f in $(srcdir)/inspector/*.ui; do \
n=`basename $$f`; \
echo " <file compressed='true' preprocess='xml-stripblanks'>inspector/$$n</file>" >> $@; \
@@ -1551,7 +1560,7 @@ Gtk_3_0_gir_MSVC_EXPORT_PACKAGES = $(Gtk_3_0_gir_EXPORT_PACKAGES)
Gtk_3_0_gir_MSVC_INCLUDE_GIRS = Atk-1.0
Gtk_3_0_gir_MSVC_LIBS = gtk-3.0 gdk-3.0
Gtk_3_0_gir_MSVC_CFLAGS = $(GTK_MSVC_GIR_CFLAGS)
Gtk_3_0_gir_MSVC_SCANNERFLAGS = --warn-all --add-include-path=. --include-uninstalled=./Gdk-3.0.gir
Gtk_3_0_gir_MSVC_SCANNERFLAGS = --warn-all --include-uninstalled='./vs$$$$(VSVER)/$$$$(CFG)/$$$$(PLAT)/bin/Gdk-3.0.gir'
include $(top_srcdir)/build/Makefile.msvc-introspection
+87 -1
View File
@@ -46,11 +46,13 @@ static const struct {
static GtkCellRendererState gtk_cell_accessible_get_state (GtkCellAccessible *cell);
static void atk_action_interface_init (AtkActionIface *iface);
static void atk_component_interface_init (AtkComponentIface *iface);
static void atk_table_cell_interface_init (AtkTableCellIface *iface);
G_DEFINE_TYPE_WITH_CODE (GtkCellAccessible, gtk_cell_accessible, GTK_TYPE_ACCESSIBLE,
G_ADD_PRIVATE (GtkCellAccessible)
G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init)
G_IMPLEMENT_INTERFACE (ATK_TYPE_TABLE_CELL, atk_table_cell_interface_init))
static gint
gtk_cell_accessible_get_index_in_parent (AtkObject *obj)
@@ -366,6 +368,90 @@ atk_component_interface_init (AtkComponentIface *iface)
iface->grab_focus = gtk_cell_accessible_grab_focus;
}
static int
gtk_cell_accessible_get_column_span (AtkTableCell *table_cell)
{
return 1;
}
static GPtrArray *
gtk_cell_accessible_get_column_header_cells (AtkTableCell *table_cell)
{
GtkCellAccessible *cell;
AtkObject *parent;
cell = GTK_CELL_ACCESSIBLE (table_cell);
parent = gtk_widget_get_accessible (gtk_accessible_get_widget (GTK_ACCESSIBLE (cell)));
return gtk_cell_accessible_parent_get_column_header_cells (GTK_CELL_ACCESSIBLE_PARENT (parent),
cell);
}
static gboolean
gtk_cell_accessible_get_position (AtkTableCell *table_cell,
gint *row,
gint *column)
{
GtkCellAccessible *cell;
AtkObject *parent;
cell = GTK_CELL_ACCESSIBLE (table_cell);
parent = gtk_widget_get_accessible (gtk_accessible_get_widget (GTK_ACCESSIBLE (cell)));
gtk_cell_accessible_parent_get_cell_position (GTK_CELL_ACCESSIBLE_PARENT (parent),
cell,
row, column);
return ((row && *row > 0) || (column && *column > 0));
}
static int
gtk_cell_accessible_get_row_span (AtkTableCell *table_cell)
{
return 1;
}
static GPtrArray *
gtk_cell_accessible_get_row_header_cells (AtkTableCell *table_cell)
{
GtkCellAccessible *cell;
AtkObject *parent;
cell = GTK_CELL_ACCESSIBLE (table_cell);
parent = gtk_widget_get_accessible (gtk_accessible_get_widget (GTK_ACCESSIBLE (cell)));
return gtk_cell_accessible_parent_get_row_header_cells (GTK_CELL_ACCESSIBLE_PARENT (parent),
cell);
}
static AtkObject *
gtk_cell_accessible_get_table (AtkTableCell *table_cell)
{
AtkObject *obj;
obj = ATK_OBJECT (table_cell);
do
{
AtkRole role;
obj = atk_object_get_parent (obj);
role = atk_object_get_role (obj);
if (role == ATK_ROLE_TABLE || role == ATK_ROLE_TREE_TABLE)
break;
}
while (obj);
return obj;
}
static void
atk_table_cell_interface_init (AtkTableCellIface *iface)
{
iface->get_column_span = gtk_cell_accessible_get_column_span;
iface->get_column_header_cells = gtk_cell_accessible_get_column_header_cells;
iface->get_position = gtk_cell_accessible_get_position;
iface->get_row_span = gtk_cell_accessible_get_row_span;
iface->get_row_header_cells = gtk_cell_accessible_get_row_header_cells;
iface->get_table = gtk_cell_accessible_get_table;
}
static GtkCellRendererState
gtk_cell_accessible_get_state (GtkCellAccessible *cell)
{
+66
View File
@@ -187,3 +187,69 @@ gtk_cell_accessible_parent_update_relationset (GtkCellAccessibleParent *parent,
if (iface->update_relationset)
(iface->update_relationset) (parent, cell, relationset);
}
void
gtk_cell_accessible_parent_get_cell_position (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell,
gint *row,
gint *column)
{
GtkCellAccessibleParentIface *iface;
g_return_if_fail (GTK_IS_CELL_ACCESSIBLE_PARENT (parent));
g_return_if_fail (GTK_IS_CELL_ACCESSIBLE (cell));
iface = GTK_CELL_ACCESSIBLE_PARENT_GET_IFACE (parent);
if (iface->get_cell_position)
(iface->get_cell_position) (parent, cell, row, column);
else
{
if (row)
*row = -1;
if (column)
*column = -1;
}
}
/**
* gtk_cell_accessible_parent_get_column_header_cells:
* Returns: (transfer full) (element-type AtkObject)
*/
GPtrArray *
gtk_cell_accessible_parent_get_column_header_cells (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell)
{
GtkCellAccessibleParentIface *iface;
g_return_val_if_fail (GTK_IS_CELL_ACCESSIBLE_PARENT (parent), NULL);
g_return_val_if_fail (GTK_IS_CELL_ACCESSIBLE (cell), NULL);
iface = GTK_CELL_ACCESSIBLE_PARENT_GET_IFACE (parent);
if (iface->get_column_header_cells)
return (iface->get_column_header_cells) (parent, cell);
else
return NULL;
}
/**
* gtk_cell_accessible_parent_get_row_header_cells:
* Returns: (transfer full) (element-type AtkObject)
*/
GPtrArray *
gtk_cell_accessible_parent_get_row_header_cells (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell)
{
GtkCellAccessibleParentIface *iface;
g_return_val_if_fail (GTK_IS_CELL_ACCESSIBLE_PARENT (parent), NULL);
g_return_val_if_fail (GTK_IS_CELL_ACCESSIBLE (cell), NULL);
iface = GTK_CELL_ACCESSIBLE_PARENT_GET_IFACE (parent);
if (iface->get_row_header_cells)
return (iface->get_row_header_cells) (parent, cell);
else
return NULL;
}
+19
View File
@@ -75,6 +75,14 @@ struct _GtkCellAccessibleParentIface
void ( *update_relationset) (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell,
AtkRelationSet *relationset);
void ( *get_cell_position) (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell,
gint *row,
gint *column);
GPtrArray * ( *get_column_header_cells) (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell);
GPtrArray * ( *get_row_header_cells) (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell);
};
GDK_AVAILABLE_IN_ALL
@@ -115,6 +123,17 @@ GDK_AVAILABLE_IN_3_12
void gtk_cell_accessible_parent_update_relationset (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell,
AtkRelationSet *relationset);
GDK_AVAILABLE_IN_ALL
void gtk_cell_accessible_parent_get_cell_position(GtkCellAccessibleParent *parent,
GtkCellAccessible *cell,
gint *row,
gint *column);
GPtrArray *gtk_cell_accessible_parent_get_column_header_cells (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell);
GPtrArray *gtk_cell_accessible_parent_get_row_header_cells (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell);
G_END_DECLS
+57 -4
View File
@@ -1174,11 +1174,12 @@ gtk_tree_view_accessible_grab_cell_focus (GtkCellAccessibleParent *parent,
if (gtk_widget_is_toplevel (toplevel))
{
#ifdef GDK_WINDOWING_X11
gtk_window_present_with_time (GTK_WINDOW (toplevel),
gdk_x11_get_server_time (gtk_widget_get_window (widget)));
#else
gtk_window_present (GTK_WINDOW (toplevel));
if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (toplevel)))
gtk_window_present_with_time (GTK_WINDOW (toplevel),
gdk_x11_get_server_time (gtk_widget_get_window (widget)));
else
#endif
gtk_window_present (GTK_WINDOW (toplevel));
}
return TRUE;
@@ -1391,6 +1392,56 @@ gtk_tree_view_accessible_update_relationset (GtkCellAccessibleParent *parent,
}
}
static void
gtk_tree_view_accessible_get_cell_position (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell,
gint *row,
gint *column)
{
GtkWidget *widget;
GtkTreeView *tree_view;
GtkTreeViewAccessibleCellInfo *cell_info;
GtkTreeViewAccessible *accessible;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
if (widget == NULL)
return;
tree_view = GTK_TREE_VIEW (widget);
accessible = GTK_TREE_VIEW_ACCESSIBLE (parent);
cell_info = find_cell_info (accessible, cell);
if (!cell_info)
return;
if (row)
(*row) = _gtk_rbtree_node_get_index (cell_info->tree, cell_info->node);
if (column)
(*column) = get_column_number (tree_view, cell_info->cell_col_ref);
}
static GPtrArray *
gtk_tree_view_accessible_get_column_header_cells (GtkCellAccessibleParent *parent,
GtkCellAccessible *cell)
{
GtkWidget *widget;
GtkTreeViewAccessibleCellInfo *cell_info;
GtkTreeViewAccessible *accessible;
GPtrArray *array;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (parent));
if (widget == NULL)
return NULL;
accessible = GTK_TREE_VIEW_ACCESSIBLE (parent);
cell_info = find_cell_info (accessible, cell);
if (!cell_info)
return NULL;
array = g_ptr_array_new_full (1, g_object_unref);
g_ptr_array_add (array, g_object_ref (get_header_from_column ( (cell_info->cell_col_ref))));
return array;
}
static void
gtk_cell_accessible_parent_interface_init (GtkCellAccessibleParentIface *iface)
{
@@ -1403,6 +1454,8 @@ gtk_cell_accessible_parent_interface_init (GtkCellAccessibleParentIface *iface)
iface->activate = gtk_tree_view_accessible_activate;
iface->edit = gtk_tree_view_accessible_edit;
iface->update_relationset = gtk_tree_view_accessible_update_relationset;
iface->get_cell_position = gtk_tree_view_accessible_get_cell_position;
iface->get_column_header_cells = gtk_tree_view_accessible_get_column_header_cells;
}
void
+3 -1
View File
@@ -1420,7 +1420,9 @@ gtk_status_icon_update_image (GtkStatusIcon *status_icon)
surface = gtk_icon_helper_load_surface (icon_helper, 1);
if (surface)
{
pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, round_size, round_size);
pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0,
cairo_image_surface_get_width (surface),
cairo_image_surface_get_height (surface));
cairo_surface_destroy (surface);
}
else
+1 -1
View File
@@ -421,7 +421,7 @@ gtk_application_impl_dbus_startup (GtkApplicationImpl *impl,
"gtk-shell-shows-menubar", FALSE,
NULL);
if (dbus->sm_proxy == NULL)
if (dbus->sm_proxy == NULL && dbus->session)
{
dbus->inhibit_proxy = gtk_application_get_proxy_if_service_present (dbus->session,
G_DBUS_PROXY_FLAGS_NONE,
+1 -1
View File
@@ -451,7 +451,7 @@ plane_set_property (GObject *object,
GParamSpec *pspec)
{
GtkColorPlane *plane = GTK_COLOR_PLANE (object);
GObject *adjustment;
GtkAdjustment *adjustment;
/* Construct only properties can only be set once, these are created
* only in order to be properly buildable from gtkcoloreditor.ui
+37
View File
@@ -17,6 +17,18 @@
* 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.
*
* This object was added in 3.24.
**/
#include "config.h"
#include "gtkintl.h"
@@ -153,12 +165,37 @@ 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.
*
* Since: 3.24
*/
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.
*
* Since: 3.24
*/
signals[KEY_RELEASED] =
g_signal_new (I_("key-released"),
GTK_TYPE_EVENT_CONTROLLER_KEY,
+33 -2
View File
@@ -58,18 +58,49 @@ static guint signals[N_SIGNALS] = { 0 };
G_DEFINE_TYPE (GtkEventControllerMotion, gtk_event_controller_motion, GTK_TYPE_EVENT_CONTROLLER)
static void
get_coords (GtkWidget *widget,
const GdkEvent *event,
double *x,
double *y)
{
GdkWindow *window, *ancestor;
GtkAllocation alloc;
gtk_widget_get_allocation (widget, &alloc);
gdk_event_get_coords (event, x, y);
ancestor = gtk_widget_get_window (widget);
window = gdk_event_get_window (event);
while (window && ancestor && (window != ancestor))
{
gdk_window_coords_to_parent (window, *x, *y, x, y);
window = gdk_window_get_parent (window);
}
if (!gtk_widget_get_has_window (widget))
{
*x -= alloc.x;
*y -= alloc.y;
}
}
static gboolean
gtk_event_controller_motion_handle_event (GtkEventController *controller,
const GdkEvent *event)
{
GtkEventControllerClass *parent_class;
GtkWidget *widget;
GdkEventType type;
widget = gtk_event_controller_get_widget (controller);
type = gdk_event_get_event_type (event);
if (type == GDK_ENTER_NOTIFY)
{
double x, y;
gdk_event_get_coords (event, &x, &y);
get_coords (widget, event, &x, &y);
g_signal_emit (controller, signals[ENTER], 0, x, y);
}
else if (type == GDK_LEAVE_NOTIFY)
@@ -79,7 +110,7 @@ gtk_event_controller_motion_handle_event (GtkEventController *controller,
else if (type == GDK_MOTION_NOTIFY)
{
double x, y;
gdk_event_get_coords (event, &x, &y);
get_coords (widget, event, &x, &y);
g_signal_emit (controller, signals[MOTION], 0, x, y);
}
+1
View File
@@ -466,6 +466,7 @@ gtk_file_chooser_native_set_property (GObject *object,
case GTK_FILE_CHOOSER_PROP_FILTER:
self->current_filter = g_value_get_object (value);
gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (self->dialog), self->current_filter);
g_object_notify (G_OBJECT (self), "filter");
break;
+7 -4
View File
@@ -332,10 +332,13 @@ show_portal_file_chooser (GtkFileChooserNative *self,
g_variant_builder_add (&opt_builder, "{sv}", "modal",
g_variant_new_boolean (data->modal));
g_variant_builder_add (&opt_builder, "{sv}", "filters", get_filters (GTK_FILE_CHOOSER (self)));
if (GTK_FILE_CHOOSER_NATIVE (self)->current_name)
if (self->current_filter)
g_variant_builder_add (&opt_builder, "{sv}", "current_filter",
gtk_file_filter_to_gvariant (self->current_filter));
if (self->current_name)
g_variant_builder_add (&opt_builder, "{sv}", "current_name",
g_variant_new_string (GTK_FILE_CHOOSER_NATIVE (self)->current_name));
if (GTK_FILE_CHOOSER_NATIVE (self)->current_folder)
if (self->current_folder)
{
gchar *path;
@@ -344,7 +347,7 @@ show_portal_file_chooser (GtkFileChooserNative *self,
g_variant_new_bytestring (path));
g_free (path);
}
if (GTK_FILE_CHOOSER_NATIVE (self)->current_file)
if (self->current_file)
{
gchar *path;
@@ -354,7 +357,7 @@ show_portal_file_chooser (GtkFileChooserNative *self,
g_free (path);
}
if (GTK_FILE_CHOOSER_NATIVE (self)->choices)
if (self->choices)
g_variant_builder_add (&opt_builder, "{sv}", "choices",
serialize_choices (GTK_FILE_CHOOSER_NATIVE (self)));
+8 -2
View File
@@ -3032,13 +3032,16 @@ gtk_flow_box_multipress_gesture_pressed (GtkGestureMultiPress *gesture,
if (n_press != 1)
gtk_gesture_set_state (priv->drag_gesture, GTK_EVENT_SEQUENCE_DENIED);
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
priv->active_child = child;
priv->active_child_active = TRUE;
gtk_widget_queue_draw (GTK_WIDGET (box));
if (n_press == 2 && !priv->activate_on_single_click)
g_signal_emit (box, signals[CHILD_ACTIVATED], 0, child);
{
gtk_gesture_set_state (GTK_GESTURE (gesture),
GTK_EVENT_SEQUENCE_CLAIMED);
g_signal_emit (box, signals[CHILD_ACTIVATED], 0, child);
}
}
static void
@@ -3052,6 +3055,9 @@ gtk_flow_box_multipress_gesture_released (GtkGestureMultiPress *gesture,
if (priv->active_child != NULL && priv->active_child_active)
{
gtk_gesture_set_state (GTK_GESTURE (gesture),
GTK_EVENT_SEQUENCE_CLAIMED);
if (priv->activate_on_single_click)
gtk_flow_box_select_and_activate (box, priv->active_child);
else
+163 -124
View File
@@ -53,13 +53,10 @@
#include "gtkcombobox.h"
#include "gtkgesturemultipress.h"
#if defined(HAVE_HARFBUZZ) && defined(HAVE_PANGOFT)
#include <pango/pangofc-font.h>
#ifdef HAVE_HARFBUZZ
#include <hb.h>
#include <hb-ot.h>
#include <hb-ft.h>
#include <freetype/freetype.h>
#include <freetype/ftmm.h>
#include "language-names.h"
#include "script-names.h"
#endif
@@ -862,7 +859,7 @@ gtk_font_chooser_widget_init (GtkFontChooserWidget *fontchooser)
/* Load data and set initial style-dependent parameters */
gtk_font_chooser_widget_load_fonts (fontchooser, TRUE);
#if defined(HAVE_HARFBUZZ) && defined(HAVE_PANGOFT)
#ifdef HAVE_HARFBUZZ
gtk_font_chooser_widget_populate_features (fontchooser);
#endif
gtk_font_chooser_widget_set_cell_size (fontchooser);
@@ -1442,7 +1439,7 @@ gtk_font_chooser_widget_ensure_selection (GtkFontChooserWidget *fontchooser)
}
}
#if defined(HAVE_HARFBUZZ) && defined(HAVE_PANGOFT)
#ifdef HAVE_HARFBUZZ
/* OpenType variations */
@@ -1501,69 +1498,139 @@ adjustment_changed (GtkAdjustment *adjustment,
}
static gboolean
should_show_axis (FT_Var_Axis *ax)
should_show_axis (hb_ot_var_axis_info_t *hb_axis)
{
/* FIXME use FT_Get_Var_Axis_Flags */
if (ax->tag == FT_MAKE_TAG ('o', 'p', 's', 'z'))
if (hb_axis->tag == HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE)
return FALSE;
if ((hb_axis->flags & HB_OT_VAR_AXIS_FLAG_HIDDEN) != 0)
return FALSE;
return TRUE;
}
#if 0
static gboolean
is_named_instance (FT_Face face)
is_named_instance (hb_font_t *hb_font)
{
return (face->face_index >> 16) > 0;
hb_face_t *hb_face;
unsigned int n_axes;
unsigned int n_instances;
unsigned int len;
int *coords;
const int *coords1;
float *design_coords;
int *norm_coords;
unsigned int instance;
int i;
hb_face = hb_font_get_face (hb_font);
n_axes = hb_ot_var_get_axis_count (hb_face);
n_instances = hb_ot_var_get_named_instance_count (hb_face);
if (n_instances == 0)
return FALSE;
coords1 = hb_font_get_var_coords_normalized (hb_font, &len);
coords = g_new0 (int, n_axes);
for (i = 0; i < len; i++)
coords[i] = coords1[i];
design_coords = g_new (float, n_axes);
norm_coords = g_new (int, n_axes);
for (instance = 0; instance < n_instances; instance++)
{
len = n_axes;
hb_ot_var_named_instance_get_design_coords (hb_face, instance, &len, design_coords);
hb_ot_var_normalize_coords (hb_face, len, design_coords, norm_coords);
for (i = 0; i < n_axes; i++)
{
if (norm_coords[i] != coords[i])
break;
}
if (i == n_axes)
{
g_free (coords);
return TRUE;
}
}
g_free (coords);
return FALSE;
}
#endif
static struct {
guint32 tag;
const char *name;
} axis_names[] = {
{ FT_MAKE_TAG ('w', 'd', 't', 'h'), N_("Width") },
{ FT_MAKE_TAG ('w', 'g', 'h', 't'), N_("Weight") },
{ FT_MAKE_TAG ('i', 't', 'a', 'l'), N_("Italic") },
{ FT_MAKE_TAG ('s', 'l', 'n', 't'), N_("Slant") },
{ FT_MAKE_TAG ('o', 'p', 's', 'z'), N_("Optical Size") },
{ HB_OT_TAG_VAR_AXIS_WIDTH, N_("Width") },
{ HB_OT_TAG_VAR_AXIS_WEIGHT, N_("Weight") },
{ HB_OT_TAG_VAR_AXIS_ITALIC, N_("Italic") },
{ HB_OT_TAG_VAR_AXIS_SLANT, N_("Slant") },
};
/* FIXME: this is missing harfbuzz api that needs to deal with AVAR */
static double
get_value (hb_ot_var_axis_info_t *hb_axis, int value)
{
double val;
val = value * 1.0 / (1 << 14);
if (value < 0)
return hb_axis->default_value + (hb_axis->default_value - hb_axis->min_value) * val;
else
return hb_axis->default_value + (hb_axis->max_value - hb_axis->default_value) * val;
}
static gboolean
add_axis (GtkFontChooserWidget *fontchooser,
FT_Face face,
FT_Var_Axis *ax,
FT_Fixed value,
int row)
add_axis (GtkFontChooserWidget *fontchooser,
hb_font_t *hb_font,
hb_ot_var_axis_info_t *hb_axis,
int value,
int row)
{
GtkFontChooserWidgetPrivate *priv = fontchooser->priv;
Axis *axis;
const char *name;
const char *name = NULL;
char text[64];
unsigned int len = 64;
int i;
double val;
axis = g_new (Axis, 1);
axis->tag = ax->tag;
axis->tag = hb_axis->tag;
axis->fontchooser = GTK_WIDGET (fontchooser);
name = ax->name;
for (i = 0; i < G_N_ELEMENTS (axis_names); i++)
{
if (axis_names[i].tag == ax->tag)
if (axis_names[i].tag == hb_axis->tag)
{
name = _(axis_names[i].name);
break;
}
}
if (name == NULL)
{
hb_face_t *hb_face = hb_font_get_face (hb_font);
hb_language_t language = hb_language_from_string ("en", -1);
hb_ot_name_get_utf8 (hb_face, hb_axis->name_id, language, &len, text);
name = text;
}
axis->label = gtk_label_new (name);
gtk_widget_show (axis->label);
gtk_widget_set_halign (axis->label, GTK_ALIGN_START);
gtk_widget_set_valign (axis->label, GTK_ALIGN_BASELINE);
gtk_grid_attach (GTK_GRID (priv->axis_grid), axis->label, 0, row, 1, 1);
axis->adjustment = gtk_adjustment_new ((double)FixedToFloat(value),
(double)FixedToFloat(ax->minimum),
(double)FixedToFloat(ax->maximum),
val = get_value (hb_axis, value);
axis->adjustment = gtk_adjustment_new (val,
(double)hb_axis->min_value,
(double)hb_axis->max_value,
1.0, 10.0, 0.0);
axis->scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, axis->adjustment);
gtk_widget_show (axis->scale);
gtk_scale_add_mark (GTK_SCALE (axis->scale), (double)FixedToFloat(ax->def), GTK_POS_TOP, NULL);
gtk_scale_add_mark (GTK_SCALE (axis->scale), (double)hb_axis->default_value, GTK_POS_TOP, NULL);
gtk_widget_set_valign (axis->scale, GTK_ALIGN_BASELINE);
gtk_widget_set_hexpand (axis->scale, TRUE);
gtk_widget_set_size_request (axis->scale, 100, -1);
@@ -1579,7 +1646,8 @@ add_axis (GtkFontChooserWidget *fontchooser,
adjustment_changed (axis->adjustment, axis);
g_signal_connect (axis->adjustment, "value-changed", G_CALLBACK (adjustment_changed), axis);
if (is_named_instance (face) || !should_show_axis (ax))
if (/* is_named_instance (hb_font) || */ !should_show_axis (hb_axis))
{
gtk_widget_hide (axis->label);
gtk_widget_hide (axis->scale);
@@ -1596,10 +1664,15 @@ gtk_font_chooser_widget_update_font_variations (GtkFontChooserWidget *fontchoose
{
GtkFontChooserWidgetPrivate *priv = fontchooser->priv;
PangoFont *pango_font;
FT_Face ft_face;
FT_MM_Var *ft_mm_var;
FT_Error ret;
hb_font_t *hb_font;
hb_face_t *hb_face;
unsigned int n_axes;
hb_ot_var_axis_info_t *axes;
const int *coords;
unsigned int len;
int i;
gboolean has_axis = FALSE;
PangoFontFace *face;
if (priv->updating_variations)
return FALSE;
@@ -1612,39 +1685,21 @@ gtk_font_chooser_widget_update_font_variations (GtkFontChooserWidget *fontchoose
pango_font = pango_context_load_font (gtk_widget_get_pango_context (GTK_WIDGET (fontchooser)),
priv->font_desc);
ft_face = pango_fc_font_lock_face (PANGO_FC_FONT (pango_font));
face = gtk_font_chooser_widget_get_face (GTK_FONT_CHOOSER (fontchooser));
if (pango_font_face_is_synthesized (face))
return FALSE;
ret = FT_Get_MM_Var (ft_face, &ft_mm_var);
if (ret == 0)
hb_font = pango_font_get_hb_font (pango_font);
hb_face = hb_font_get_face (hb_font);
n_axes = hb_ot_var_get_axis_count (hb_face);
axes = g_new (hb_ot_var_axis_info_t, n_axes);
hb_ot_var_get_axis_infos (hb_face, 0, &n_axes, axes);
coords = hb_font_get_var_coords_normalized (hb_font, &len);
for (i = 0; i < n_axes; i++)
{
int i;
FT_Fixed *coords;
coords = g_new (FT_Fixed, ft_mm_var->num_axis);
for (i = 0; i < ft_mm_var->num_axis; i++)
coords[i] = ft_mm_var->axis[i].def;
if (ft_face->face_index > 0)
{
int instance_id = ft_face->face_index >> 16;
if (instance_id && instance_id <= ft_mm_var->num_namedstyles)
{
FT_Var_Named_Style *instance = &ft_mm_var->namedstyle[instance_id - 1];
memcpy (coords, instance->coords, ft_mm_var->num_axis * sizeof (*coords));
}
}
for (i = 0; i < ft_mm_var->num_axis; i++)
{
if (add_axis (fontchooser, ft_face, &ft_mm_var->axis[i], coords[i], i + 4))
has_axis = TRUE;
}
g_free (coords);
free (ft_mm_var);
if (add_axis (fontchooser, hb_font, &axes[i], i < len ? coords[i] : 0, i + 4))
has_axis = TRUE;
}
pango_fc_font_unlock_face (PANGO_FC_FONT (pango_font));
g_object_unref (pango_font);
return has_axis;
@@ -1787,7 +1842,7 @@ find_affected_text (hb_tag_t feature_tag,
chars = g_string_new ("");
hb_ot_layout_table_find_script (hb_face, HB_OT_TAG_GSUB, script_tag, &script_index);
hb_ot_layout_script_find_language (hb_face, HB_OT_TAG_GSUB, script_index, lang_tag, &lang_index);
hb_ot_layout_script_select_language (hb_face, HB_OT_TAG_GSUB, script_index, 1, &lang_tag, &lang_index);
if (hb_ot_layout_language_find_feature (hb_face, HB_OT_TAG_GSUB, script_index, lang_index, feature_tag, &feature_index))
{
unsigned int lookup_indexes[32];
@@ -2123,8 +2178,8 @@ gtk_font_chooser_widget_update_font_features (GtkFontChooserWidget *fontchooser)
{
GtkFontChooserWidgetPrivate *priv = fontchooser->priv;
PangoFont *pango_font;
FT_Face ft_face;
hb_font_t *hb_font;
hb_face_t *hb_face;
hb_tag_t script_tag;
hb_tag_t lang_tag;
guint script_index = 0;
@@ -2132,6 +2187,10 @@ gtk_font_chooser_widget_update_font_features (GtkFontChooserWidget *fontchooser)
int i, j;
GList *l;
gboolean has_feature = FALSE;
hb_tag_t table[2] = { HB_OT_TAG_GSUB, HB_OT_TAG_GPOS };
hb_tag_t features[80];
unsigned int count;
unsigned int n_features;
for (l = priv->feature_items; l; l = l->next)
{
@@ -2145,67 +2204,47 @@ gtk_font_chooser_widget_update_font_features (GtkFontChooserWidget *fontchooser)
pango_font = pango_context_load_font (gtk_widget_get_pango_context (GTK_WIDGET (fontchooser)),
priv->font_desc);
ft_face = pango_fc_font_lock_face (PANGO_FC_FONT (pango_font)),
hb_font = hb_ft_font_create (ft_face, NULL);
hb_font = pango_font_get_hb_font (pango_font);
hb_face = hb_font_get_face (hb_font);
if (hb_font)
find_language_and_script (fontchooser, hb_face, &lang_tag, &script_tag);
n_features = 0;
for (i = 0; i < 2; i++)
{
hb_tag_t table[2] = { HB_OT_TAG_GSUB, HB_OT_TAG_GPOS };
hb_face_t *hb_face;
hb_tag_t features[80];
unsigned int count;
unsigned int n_features;
hb_face = hb_font_get_face (hb_font);
find_language_and_script (fontchooser, hb_face, &lang_tag, &script_tag);
n_features = 0;
for (i = 0; i < 2; i++)
{
hb_ot_layout_table_find_script (hb_face, table[i], script_tag, &script_index);
hb_ot_layout_script_find_language (hb_face, table[i], script_index, lang_tag, &lang_index);
count = G_N_ELEMENTS (features);
hb_ot_layout_language_get_feature_tags (hb_face,
table[i],
script_index,
lang_index,
n_features,
&count,
features);
n_features += count;
}
for (j = 0; j < n_features; j++)
{
for (l = priv->feature_items; l; l = l->next)
{
FeatureItem *item = l->data;
if (item->tag != features[j])
continue;
has_feature = TRUE;
gtk_widget_show (item->top);
gtk_widget_show (gtk_widget_get_parent (item->top));
update_feature_example (item, hb_face, script_tag, lang_tag, priv->font_desc);
if (GTK_IS_RADIO_BUTTON (item->feat))
{
GtkWidget *def = GTK_WIDGET (g_object_get_data (G_OBJECT (item->feat), "default"));
gtk_widget_show (gtk_widget_get_parent (def));
}
else if (GTK_IS_CHECK_BUTTON (item->feat))
{
set_inconsistent (GTK_CHECK_BUTTON (item->feat), TRUE);
}
}
}
hb_face_destroy (hb_face);
hb_ot_layout_table_find_script (hb_face, table[i], script_tag, &script_index);
hb_ot_layout_script_select_language (hb_face, table[i], script_index, 1, &lang_tag, &lang_index);
count = G_N_ELEMENTS (features);
hb_ot_layout_language_get_feature_tags (hb_face, table[i], script_index, lang_index, n_features, &count, features);
n_features += count;
}
for (j = 0; j < n_features; j++)
{
for (l = priv->feature_items; l; l = l->next)
{
FeatureItem *item = l->data;
if (item->tag != features[j])
continue;
has_feature = TRUE;
gtk_widget_show (item->top);
gtk_widget_show (gtk_widget_get_parent (item->top));
update_feature_example (item, hb_face, script_tag, lang_tag, priv->font_desc);
if (GTK_IS_RADIO_BUTTON (item->feat))
{
GtkWidget *def = GTK_WIDGET (g_object_get_data (G_OBJECT (item->feat), "default"));
gtk_widget_show (gtk_widget_get_parent (def));
}
else if (GTK_IS_CHECK_BUTTON (item->feat))
{
set_inconsistent (GTK_CHECK_BUTTON (item->feat), TRUE);
}
}
}
pango_fc_font_unlock_face (PANGO_FC_FONT (pango_font));
g_object_unref (pango_font);
return has_feature;
@@ -2258,7 +2297,7 @@ update_font_features (GtkFontChooserWidget *fontchooser)
gtk_font_chooser_widget_update_preview_attributes (fontchooser);
}
#endif
#endif /* HAVE_HARFBUZ */
static void
gtk_font_chooser_widget_merge_font_desc (GtkFontChooserWidget *fontchooser,
@@ -2305,7 +2344,7 @@ gtk_font_chooser_widget_merge_font_desc (GtkFontChooserWidget *fontchooser
gtk_font_chooser_widget_update_marks (fontchooser);
#if defined(HAVE_HARFBUZZ) && defined(HAVE_PANGOFT)
#ifdef HAVE_HARFBUZZ
if (gtk_font_chooser_widget_update_font_features (fontchooser))
has_tweak = TRUE;
if (gtk_font_chooser_widget_update_font_variations (fontchooser))
+3 -2
View File
@@ -32,8 +32,9 @@
#ifndef S_ISDIR
#define S_ISDIR(mode) ((mode)&_S_IFDIR)
#endif
#define WIN32_MEAN_AND_LEAN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <shellapi.h>
#include "win32/gdkwin32.h"
#endif /* G_OS_WIN32 */
@@ -4568,7 +4569,7 @@ gtk_icon_info_load_symbolic_svg (GtkIconInfo *icon_info,
" width=\"", width, "\"\n"
" height=\"", height, "\">\n"
" <style type=\"text/css\">\n"
" rect,path,ellipse,circle {\n"
" rect,path,ellipse,circle,polygon {\n"
" fill: ", css_fg," !important;\n"
" }\n"
" .warning {\n"
+2 -1
View File
@@ -134,7 +134,8 @@
*
* # CSS nodes
*
* GtkImage has a single CSS node with the name image.
* GtkImage has a single CSS node with the name image. The style classes
* may appear on image CSS nodes: .icon-dropshadow, .lowres-icon.
*/
+1 -1
View File
@@ -1727,8 +1727,8 @@ gtk_list_box_update_selection_full (GtkListBox *box,
{
gtk_list_box_unselect_all_internal (box);
gtk_list_box_row_set_selected (row, TRUE);
g_signal_emit (box, signals[ROW_SELECTED], 0, row);
priv->selected_row = row;
g_signal_emit (box, signals[ROW_SELECTED], 0, row);
}
else if (priv->selection_mode == GTK_SELECTION_SINGLE)
{
+1 -1
View File
@@ -40,7 +40,7 @@
G_BEGIN_DECLS
/**
* GTK_PRIORITY_RESIZE:
* GTK_PRIORITY_RESIZE: (value 110)
*
* Use this priority for functionality related to size allocation.
*
+59 -22
View File
@@ -213,6 +213,12 @@ enum {
CHILD_PROP_BOTTOM_ATTACH
};
typedef enum _GtkMenuScrollFlag
{
GTK_MENU_SCROLL_FLAG_NONE = 0,
GTK_MENU_SCROLL_FLAG_ADAPT = 1 << 0,
} GtkMenuScrollFlag;
static void gtk_menu_set_property (GObject *object,
guint prop_id,
const GValue *value,
@@ -255,7 +261,8 @@ static gboolean gtk_menu_enter_notify (GtkWidget *widget,
static gboolean gtk_menu_leave_notify (GtkWidget *widget,
GdkEventCrossing *event);
static void gtk_menu_scroll_to (GtkMenu *menu,
gint offset);
gint offset,
GtkMenuScrollFlag flags);
static void gtk_menu_grab_notify (GtkWidget *widget,
gboolean was_grabbed);
static gboolean gtk_menu_captured_event (GtkWidget *widget,
@@ -1977,7 +1984,7 @@ gtk_menu_popup_internal (GtkMenu *menu,
associate_menu_grab_transfer_window (menu);
gtk_menu_scroll_to (menu, priv->scroll_offset);
gtk_menu_scroll_to (menu, priv->scroll_offset, GTK_MENU_SCROLL_FLAG_NONE);
/* if no item is selected, select the first one */
if (!menu_shell->priv->active_menu_item &&
@@ -1985,6 +1992,7 @@ gtk_menu_popup_internal (GtkMenu *menu,
gtk_menu_shell_select_first (menu_shell, TRUE);
/* Once everything is set up correctly, map the toplevel */
gtk_window_force_resize (GTK_WINDOW (priv->toplevel));
gtk_widget_show (priv->toplevel);
if (xgrab_shell == widget)
@@ -2478,7 +2486,8 @@ gtk_menu_update_scroll_offset (GtkMenu *menu,
get_arrows_border (menu, &arrows_border);
menu->priv->scroll_offset = arrows_border.top + (final_rect->y - flipped_rect->y);
gtk_menu_scroll_to (menu, menu->priv->scroll_offset);
gtk_menu_scroll_to (menu, menu->priv->scroll_offset,
GTK_MENU_SCROLL_FLAG_ADAPT);
}
/**
@@ -2551,7 +2560,8 @@ gtk_menu_popdown (GtkMenu *menu)
* non-tearoff menu was popped down.
*/
if (!priv->tearoff_active)
gtk_menu_scroll_to (menu, priv->saved_scroll_offset);
gtk_menu_scroll_to (menu, priv->saved_scroll_offset,
GTK_MENU_SCROLL_FLAG_NONE);
priv->tearoff_active = TRUE;
}
else
@@ -2842,7 +2852,7 @@ gtk_menu_scrollbar_changed (GtkAdjustment *adjustment,
value = gtk_adjustment_get_value (adjustment);
if (menu->priv->scroll_offset != value)
gtk_menu_scroll_to (menu, value);
gtk_menu_scroll_to (menu, value, GTK_MENU_SCROLL_FLAG_NONE);
}
static void
@@ -3035,7 +3045,7 @@ gtk_menu_set_tearoff_state (GtkMenu *menu,
gtk_widget_show (GTK_WIDGET (menu));
gtk_widget_show (priv->tearoff_window);
gtk_menu_scroll_to (menu, 0);
gtk_menu_scroll_to (menu, 0, GTK_MENU_SCROLL_FLAG_NONE);
}
else
@@ -3481,7 +3491,7 @@ gtk_menu_size_allocate (GtkWidget *widget,
height = allocation->height - (2 * border_width) - padding.top - padding.bottom;
if (menu_shell->priv->active)
gtk_menu_scroll_to (menu, priv->scroll_offset);
gtk_menu_scroll_to (menu, priv->scroll_offset, GTK_MENU_SCROLL_FLAG_NONE);
get_arrows_border (menu, &arrow_border);
@@ -3589,7 +3599,7 @@ gtk_menu_size_allocate (GtkWidget *widget,
gtk_widget_hide (priv->tearoff_scrollbar);
gtk_menu_set_tearoff_hints (menu, allocation->width);
gtk_menu_scroll_to (menu, 0);
gtk_menu_scroll_to (menu, 0, GTK_MENU_SCROLL_FLAG_NONE);
}
}
else
@@ -4167,7 +4177,7 @@ gtk_menu_scroll_by (GtkMenu *menu,
offset = priv->requested_height - view_height;
if (offset != priv->scroll_offset)
gtk_menu_scroll_to (menu, offset);
gtk_menu_scroll_to (menu, offset, GTK_MENU_SCROLL_FLAG_NONE);
}
static gboolean
@@ -4677,7 +4687,7 @@ gtk_menu_captured_event (GtkWidget *widget,
MIN (priv->scroll_offset, 0),
MAX (priv->scroll_offset, priv->requested_height - view_height));
gtk_menu_scroll_to (menu, offset);
gtk_menu_scroll_to (menu, offset, GTK_MENU_SCROLL_FLAG_NONE);
retval = TRUE;
}
@@ -5243,10 +5253,16 @@ gtk_menu_position (GtkMenu *menu,
if (!rect_window)
{
gtk_window_set_unlimited_guessed_size (GTK_WINDOW (priv->toplevel),
FALSE, FALSE);
gtk_menu_position_legacy (menu, set_scroll_offset);
return;
}
gtk_window_set_unlimited_guessed_size (GTK_WINDOW (priv->toplevel),
!!(anchor_hints & GDK_ANCHOR_RESIZE_X),
!!(anchor_hints & GDK_ANCHOR_RESIZE_Y));
/* Realize so we have the proper width and height to figure out
* the right place to popup the menu.
*/
@@ -5316,11 +5332,26 @@ gtk_menu_stop_scrolling (GtkMenu *menu)
}
static void
gtk_menu_scroll_to (GtkMenu *menu,
gint offset)
sync_arrows_state (GtkMenu *menu)
{
GtkMenuPrivate *priv = menu->priv;
GtkCssNode *top_arrow_node, *bottom_arrow_node;
top_arrow_node = gtk_css_gadget_get_node (priv->top_arrow_gadget);
gtk_css_node_set_visible (top_arrow_node, priv->upper_arrow_visible);
gtk_css_node_set_state (top_arrow_node, priv->upper_arrow_state);
bottom_arrow_node = gtk_css_gadget_get_node (priv->bottom_arrow_gadget);
gtk_css_node_set_visible (bottom_arrow_node, priv->lower_arrow_visible);
gtk_css_node_set_state (bottom_arrow_node, priv->lower_arrow_state);
}
static void
gtk_menu_scroll_to (GtkMenu *menu,
gint offset,
GtkMenuScrollFlag flags)
{
GtkMenuPrivate *priv = menu->priv;
GtkBorder arrow_border, padding;
GtkWidget *widget;
gint x, y;
@@ -5356,13 +5387,25 @@ gtk_menu_scroll_to (GtkMenu *menu,
{
GtkStateFlags upper_arrow_previous_state = priv->upper_arrow_state;
GtkStateFlags lower_arrow_previous_state = priv->lower_arrow_state;
gboolean should_offset_by_arrow;
if (!priv->upper_arrow_visible || !priv->lower_arrow_visible)
gtk_widget_queue_draw (GTK_WIDGET (menu));
if (!priv->upper_arrow_visible &
flags & GTK_MENU_SCROLL_FLAG_ADAPT)
should_offset_by_arrow = TRUE;
else
should_offset_by_arrow = FALSE;
priv->upper_arrow_visible = priv->lower_arrow_visible = TRUE;
if (flags & GTK_MENU_SCROLL_FLAG_ADAPT)
sync_arrows_state (menu);
get_arrows_border (menu, &arrow_border);
if (should_offset_by_arrow)
offset += arrow_border.top;
y += arrow_border.top;
view_height -= arrow_border.top;
view_height -= arrow_border.bottom;
@@ -5429,13 +5472,7 @@ gtk_menu_scroll_to (GtkMenu *menu,
}
}
top_arrow_node = gtk_css_gadget_get_node (priv->top_arrow_gadget);
gtk_css_node_set_visible (top_arrow_node, priv->upper_arrow_visible);
gtk_css_node_set_state (top_arrow_node, priv->upper_arrow_state);
bottom_arrow_node = gtk_css_gadget_get_node (priv->bottom_arrow_gadget);
gtk_css_node_set_visible (bottom_arrow_node, priv->lower_arrow_visible);
gtk_css_node_set_state (bottom_arrow_node, priv->lower_arrow_state);
sync_arrows_state (menu);
/* Scroll the menu: */
if (gtk_widget_get_realized (widget))
@@ -5521,7 +5558,7 @@ gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell,
* is on the menu
*/
menu_shell->priv->ignore_enter = TRUE;
gtk_menu_scroll_to (menu, child_offset);
gtk_menu_scroll_to (menu, child_offset, GTK_MENU_SCROLL_FLAG_NONE);
}
else
{
@@ -5542,7 +5579,7 @@ gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell,
* is on the menu
*/
menu_shell->priv->ignore_enter = TRUE;
gtk_menu_scroll_to (menu, y);
gtk_menu_scroll_to (menu, y, GTK_MENU_SCROLL_FLAG_NONE);
}
}
}
@@ -6026,7 +6063,7 @@ gtk_menu_real_move_scroll (GtkMenu *menu,
new_offset = priv->scroll_offset + step;
new_offset = CLAMP (new_offset, 0, end_position - page_size);
gtk_menu_scroll_to (menu, new_offset);
gtk_menu_scroll_to (menu, new_offset, GTK_MENU_SCROLL_FLAG_NONE);
if (menu_shell->priv->active_menu_item)
{
+3
View File
@@ -2084,6 +2084,9 @@ drag_data_received_callback (GtkWidget *list_box,
source_row = (void*) gtk_selection_data_get_data (selection_data);
if (sidebar->row_placeholder != NULL)
g_object_get (sidebar->row_placeholder, "order-index", &target_order_index, NULL);
reorder_bookmarks (sidebar, GTK_SIDEBAR_ROW (*source_row), target_order_index);
success = TRUE;
}
+59
View File
@@ -72,6 +72,7 @@ struct _GtkPlacesViewPrivate
GtkWidget *recent_servers_stack;
GtkWidget *stack;
GtkWidget *server_adresses_popover;
GtkWidget *available_protocols_grid;
GtkWidget *network_placeholder;
GtkWidget *network_placeholder_label;
@@ -1605,6 +1606,54 @@ unmount_cb (GtkMenuItem *item,
unmount_mount (GTK_PLACES_VIEW (view), mount);
}
static void
attach_protocol_row_to_grid (GtkGrid *grid,
const gchar *protocol_name,
const gchar *protocol_prefix)
{
GtkWidget *name_label;
GtkWidget *prefix_label;
name_label = gtk_label_new (protocol_name);
gtk_widget_set_halign (name_label, GTK_ALIGN_START);
gtk_grid_attach_next_to (grid, name_label, NULL, GTK_POS_BOTTOM, 1, 1);
prefix_label = gtk_label_new (protocol_prefix);
gtk_widget_set_halign (prefix_label, GTK_ALIGN_START);
gtk_grid_attach_next_to (grid, prefix_label, name_label, GTK_POS_RIGHT, 1, 1);
}
static void
populate_available_protocols_grid (GtkGrid *grid)
{
const gchar* const *supported_protocols;
supported_protocols = g_vfs_get_supported_uri_schemes (g_vfs_get_default ());
if (g_strv_contains (supported_protocols, "afp"))
attach_protocol_row_to_grid (grid, _("AppleTalk"), "afp://");
if (g_strv_contains (supported_protocols, "ftp"))
/* Translators: do not translate ftp:// and ftps:// */
attach_protocol_row_to_grid (grid, _("File Transfer Protocol"), _("ftp:// or ftps://"));
if (g_strv_contains (supported_protocols, "nfs"))
attach_protocol_row_to_grid (grid, _("Network File System"), "nfs://");
if (g_strv_contains (supported_protocols, "smb"))
attach_protocol_row_to_grid (grid, _("Samba"), "smb://");
if (g_strv_contains (supported_protocols, "ssh"))
/* Translators: do not translate sftp:// and ssh:// */
attach_protocol_row_to_grid (grid, _("SSH File Transfer Protocol"), _("sftp:// or ssh://"));
if (g_strv_contains (supported_protocols, "dav"))
/* Translators: do not translate dav:// and davs:// */
attach_protocol_row_to_grid (grid, _("WebDAV"), _("dav:// or davs://"));
gtk_widget_show_all (GTK_WIDGET (grid));
}
/* Constructs the popup menu if needed */
static void
build_popup_menu (GtkPlacesView *view,
@@ -1855,6 +1904,13 @@ on_address_entry_text_changed (GtkPlacesView *view)
out:
gtk_widget_set_sensitive (priv->connect_button, supported);
if (scheme && !supported)
gtk_style_context_add_class (gtk_widget_get_style_context (priv->address_entry),
GTK_STYLE_CLASS_ERROR);
else
gtk_style_context_remove_class (gtk_widget_get_style_context (priv->address_entry),
GTK_STYLE_CLASS_ERROR);
g_free (address);
g_free (scheme);
}
@@ -2302,6 +2358,7 @@ gtk_places_view_class_init (GtkPlacesViewClass *klass)
gtk_widget_class_bind_template_child_private (widget_class, GtkPlacesView, recent_servers_stack);
gtk_widget_class_bind_template_child_private (widget_class, GtkPlacesView, stack);
gtk_widget_class_bind_template_child_private (widget_class, GtkPlacesView, server_adresses_popover);
gtk_widget_class_bind_template_child_private (widget_class, GtkPlacesView, available_protocols_grid);
gtk_widget_class_bind_template_callback (widget_class, on_address_entry_text_changed);
gtk_widget_class_bind_template_callback (widget_class, on_address_entry_show_help_pressed);
@@ -2326,6 +2383,8 @@ gtk_places_view_init (GtkPlacesView *self)
priv->space_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_widget_init_template (GTK_WIDGET (self));
populate_available_protocols_grid (GTK_GRID (priv->available_protocols_grid));
}
/**
+1 -1
View File
@@ -1009,7 +1009,7 @@ _gtk_popover_update_child_visible (GtkPopover *popover)
}
parent = gtk_widget_get_parent (GTK_WIDGET (priv->parent_scrollable));
rect = priv->pointing_to;
gtk_popover_get_pointing_to (popover, &rect);
gtk_widget_translate_coordinates (priv->widget, parent,
rect.x, rect.y, &rect.x, &rect.y);
+1 -4
View File
@@ -633,10 +633,7 @@ gtk_revealer_stop_animation (GtkRevealer *revealer)
{
GtkRevealerPrivate *priv = gtk_revealer_get_instance_private (revealer);
if (priv->current_pos != priv->target_pos)
{
priv->current_pos = priv->target_pos;
g_object_notify_by_pspec (G_OBJECT (revealer), props[PROP_CHILD_REVEALED]);
}
gtk_revealer_set_position (revealer, priv->target_pos);
if (priv->tick_id != 0)
{
gtk_widget_remove_tick_callback (GTK_WIDGET (revealer), priv->tick_id);
+22 -14
View File
@@ -73,29 +73,37 @@ G_DEFINE_TYPE_WITH_PRIVATE (GtkSearchEngineQuartz, _gtk_search_engine_quartz, GT
{
int i;
GList *hits = NULL;
/* The max was originally set to 1000 to mimic something called "the
* boogie backend". submitted_hits contains the number of hits we've
* processed in previous calls to this function.
*/
const unsigned int max_hits = 1000 - submitted_hits;
const unsigned int max_iter = [ns_query resultCount];
/* Here we submit hits "submitted_hits" to "resultCount" */
for (i = submitted_hits; i < [ns_query resultCount]; i++)
for (i = 0; i < max_iter && i < max_hits; ++i)
{
id result = [ns_query resultAtIndex:i];
char *result_path;
const char *result_path;
GFile *file;
GtkSearchHit *hit;
result_path = g_strdup_printf ("file://%s", [[result valueForAttribute:@"kMDItemPath"] cString]);
hits = g_list_prepend (hits, result_path);
result_path = [[result valueForAttribute:@"kMDItemPath"] UTF8String];
file = g_file_new_for_path (result_path);
hit = g_new (GtkSearchHit, 1);
hit->file = file;
hit->info = NULL;
hits = g_list_prepend (hits, hit);
}
_gtk_search_engine_hits_added (engine, hits);
g_list_free (hits);
g_list_free_full (hits, (GDestroyNotify) _gtk_search_hit_free);
submitted_hits = [ns_query resultCount];
/* The beagle backend stops at 1000 hits, so guess we do so too here.
* It works pretty snappy on my MacBook, if we get rid of this limit
* we are almost definitely going to need some code to submit hits
* in batches.
*/
if (submitted_hits > 1000)
if (max_iter >= max_hits)
[ns_query stopQuery];
submitted_hits += max_iter;
}
- (void) queryUpdate:(id)sender
+68 -86
View File
@@ -63,6 +63,7 @@
#include "gtkactionhelper.h"
#include "gtkcsscustomgadgetprivate.h"
#include "gtkcssgadgetprivate.h"
#include "gtkiconhelperprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h"
#include "gtkcssshadowsvalueprivate.h"
@@ -86,8 +87,8 @@ struct _GtkSwitchPrivate
GtkCssGadget *gadget;
GtkCssGadget *slider_gadget;
PangoLayout *off_layout;
PangoLayout *on_layout;
GtkCssGadget *on_gadget;
GtkCssGadget *off_gadget;
double handle_pos;
guint tick_id;
@@ -293,51 +294,6 @@ gtk_switch_pan_gesture_drag_end (GtkGestureDrag *gesture,
gtk_widget_queue_allocate (GTK_WIDGET (sw));
}
static void
gtk_switch_create_pango_layouts (GtkSwitch *self)
{
GtkSwitchPrivate *priv = self->priv;
g_clear_object (&priv->on_layout);
/* Translators: if the "on" state label requires more than three
* glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
* the state
*/
priv->on_layout = gtk_widget_create_pango_layout (GTK_WIDGET (self), C_("switch", "ON"));
g_clear_object (&priv->off_layout);
/* Translators: if the "off" state label requires more than three
* glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
*/
priv->off_layout = gtk_widget_create_pango_layout (GTK_WIDGET (self), C_("switch", "OFF"));
}
static void
gtk_switch_screen_changed (GtkWidget *widget,
GdkScreen *prev_screen)
{
gtk_switch_create_pango_layouts (GTK_SWITCH (widget));
}
static void
gtk_switch_style_updated (GtkWidget *widget)
{
GtkSwitch *self = GTK_SWITCH (widget);
GtkStyleContext *context;
GtkCssStyleChange *change;
GTK_WIDGET_CLASS (gtk_switch_parent_class)->style_updated (widget);
context = gtk_widget_get_style_context (widget);
change = gtk_style_context_get_change (context);
if (change == NULL || gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_FONT))
gtk_switch_create_pango_layouts (self);
}
static gboolean
gtk_switch_enter (GtkWidget *widget,
GdkEventCrossing *event)
@@ -423,7 +379,8 @@ gtk_switch_get_content_size (GtkCssGadget *gadget,
GtkSwitch *self;
GtkSwitchPrivate *priv;
gint slider_minimum, slider_natural;
PangoRectangle on_rect, off_rect;
gint on_minimum, on_natural;
gint off_minimum, off_natural;
widget = gtk_css_gadget_get_owner (gadget);
self = GTK_SWITCH (widget);
@@ -435,20 +392,26 @@ gtk_switch_get_content_size (GtkCssGadget *gadget,
&slider_minimum, &slider_natural,
NULL, NULL);
pango_layout_get_pixel_extents (priv->on_layout, NULL, &on_rect);
pango_layout_get_pixel_extents (priv->off_layout, NULL, &off_rect);
gtk_css_gadget_get_preferred_size (priv->on_gadget,
orientation,
-1,
&on_minimum, &on_natural,
NULL, NULL);
gtk_css_gadget_get_preferred_size (priv->off_gadget,
orientation,
-1,
&off_minimum, &off_natural,
NULL, NULL);
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
int text_width = MAX (on_rect.width, off_rect.width);
*minimum = 2 * MAX (slider_minimum, text_width);
*natural = 2 * MAX (slider_natural, text_width);
*minimum = 2 * MAX (slider_minimum, MAX (on_minimum, off_minimum));
*natural = 2 * MAX (slider_natural, MAX (on_natural, off_natural));
}
else
{
int text_height = MAX (on_rect.height, off_rect.height);
*minimum = MAX (slider_minimum, text_height);
*natural = MAX (slider_natural, text_height);
*minimum = MAX (slider_minimum, MAX (on_minimum, off_minimum));
*natural = MAX (slider_natural, MAX (on_natural, off_natural));
}
}
@@ -485,15 +448,28 @@ gtk_switch_allocate_contents (GtkCssGadget *gadget,
{
GtkSwitch *self = GTK_SWITCH (gtk_css_gadget_get_owner (gadget));
GtkSwitchPrivate *priv = self->priv;
GtkAllocation slider_alloc;
GtkAllocation child_alloc;
slider_alloc.x = allocation->x + round (priv->handle_pos * (allocation->width - allocation->width / 2));
slider_alloc.y = allocation->y;
slider_alloc.width = allocation->width / 2;
slider_alloc.height = allocation->height;
child_alloc.x = allocation->x + round (priv->handle_pos * (allocation->width - allocation->width / 2));
child_alloc.y = allocation->y;
child_alloc.width = allocation->width / 2;
child_alloc.height = allocation->height;
gtk_css_gadget_allocate (priv->slider_gadget,
&slider_alloc,
&child_alloc,
baseline,
out_clip);
child_alloc.x = allocation->x;
gtk_css_gadget_allocate (priv->on_gadget,
&child_alloc,
baseline,
out_clip);
child_alloc.x = allocation->x + allocation->width - child_alloc.width;
gtk_css_gadget_allocate (priv->off_gadget,
&child_alloc,
baseline,
out_clip);
@@ -622,24 +598,9 @@ gtk_switch_render_trough (GtkCssGadget *gadget,
{
GtkWidget *widget = gtk_css_gadget_get_owner (gadget);
GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv;
GtkStyleContext *context = gtk_widget_get_style_context (widget);
PangoRectangle rect;
gint label_x, label_y;
pango_layout_get_pixel_extents (priv->on_layout, NULL, &rect);
label_x = x + ((width / 2) - rect.width) / 2;
label_y = y + (height - rect.height) / 2;
gtk_render_layout (context, cr, label_x, label_y, priv->on_layout);
pango_layout_get_pixel_extents (priv->off_layout, NULL, &rect);
label_x = x + (width / 2) + ((width / 2) - rect.width) / 2;
label_y = y + (height - rect.height) / 2;
gtk_render_layout (context, cr, label_x, label_y, priv->off_layout);
gtk_css_gadget_draw (priv->on_gadget, cr);
gtk_css_gadget_draw (priv->off_gadget, cr);
gtk_css_gadget_draw (priv->slider_gadget, cr);
return FALSE;
@@ -654,6 +615,21 @@ gtk_switch_draw (GtkWidget *widget,
return FALSE;
}
static void
gtk_switch_state_flags_changed (GtkWidget *widget,
GtkStateFlags previous_state_flags)
{
GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv;
GtkStateFlags state = gtk_widget_get_state_flags (widget);
gtk_css_gadget_set_state (priv->gadget, state);
gtk_css_gadget_set_state (priv->slider_gadget, state);
gtk_css_gadget_set_state (priv->on_gadget, state);
gtk_css_gadget_set_state (priv->off_gadget, state);
GTK_WIDGET_CLASS (gtk_switch_parent_class)->state_flags_changed (widget, previous_state_flags);
}
static void
gtk_switch_set_related_action (GtkSwitch *sw,
GtkAction *action)
@@ -830,13 +806,12 @@ gtk_switch_dispose (GObject *object)
g_clear_object (&priv->gadget);
g_clear_object (&priv->slider_gadget);
g_clear_object (&priv->on_gadget);
g_clear_object (&priv->off_gadget);
g_clear_object (&priv->pan_gesture);
g_clear_object (&priv->multipress_gesture);
g_clear_object (&priv->on_layout);
g_clear_object (&priv->off_layout);
G_OBJECT_CLASS (gtk_switch_parent_class)->dispose (object);
}
@@ -929,8 +904,7 @@ gtk_switch_class_init (GtkSwitchClass *klass)
widget_class->draw = gtk_switch_draw;
widget_class->enter_notify_event = gtk_switch_enter;
widget_class->leave_notify_event = gtk_switch_leave;
widget_class->screen_changed = gtk_switch_screen_changed;
widget_class->style_updated = gtk_switch_style_updated;
widget_class->state_flags_changed = gtk_switch_state_flags_changed;
klass->activate = gtk_switch_activate;
klass->state_set = state_set;
@@ -1060,6 +1034,16 @@ gtk_switch_init (GtkSwitch *self)
NULL,
NULL);
priv->on_gadget = gtk_icon_helper_new_named ("image", GTK_WIDGET (self));
_gtk_icon_helper_set_icon_name (GTK_ICON_HELPER (priv->on_gadget), "switch-on-symbolic", GTK_ICON_SIZE_MENU);
gtk_css_node_set_parent (gtk_css_gadget_get_node (priv->on_gadget), widget_node);
gtk_css_node_set_state (gtk_css_gadget_get_node (priv->on_gadget), gtk_css_node_get_state (widget_node));
priv->off_gadget = gtk_icon_helper_new_named ("image", GTK_WIDGET (self));
_gtk_icon_helper_set_icon_name (GTK_ICON_HELPER (priv->off_gadget), "switch-off-symbolic", GTK_ICON_SIZE_MENU);
gtk_css_node_set_parent (gtk_css_gadget_get_node (priv->off_gadget), widget_node);
gtk_css_node_set_state (gtk_css_gadget_get_node (priv->off_gadget), gtk_css_node_get_state (widget_node));
gesture = gtk_gesture_multi_press_new (GTK_WIDGET (self));
gtk_gesture_single_set_touch_only (GTK_GESTURE_SINGLE (gesture), FALSE);
gtk_gesture_single_set_exclusive (GTK_GESTURE_SINGLE (gesture), TRUE);
@@ -1082,8 +1066,6 @@ gtk_switch_init (GtkSwitch *self)
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (gesture),
GTK_PHASE_BUBBLE);
priv->pan_gesture = gesture;
gtk_switch_create_pango_layouts (self);
}
/**
+2
View File
@@ -246,6 +246,8 @@ iter_init_common (GtkTextIter *_iter,
g_return_val_if_fail (iter != NULL, NULL);
g_return_val_if_fail (tree != NULL, NULL);
memset (iter, 0, sizeof (GtkTextRealIter));
iter->tree = tree;
iter->chars_changed_stamp =
+1 -1
View File
@@ -103,7 +103,7 @@ typedef enum
} GtkTextExtendSelection;
/**
* GTK_TEXT_VIEW_PRIORITY_VALIDATE:
* GTK_TEXT_VIEW_PRIORITY_VALIDATE: (value 125)
*
* The priority at which the text view validates onscreen lines
* in an idle job in the background.
+39 -5
View File
@@ -262,6 +262,9 @@ struct _GtkWindowPrivate
guint maximized : 1;
guint fullscreen : 1;
guint tiled : 1;
guint unlimited_guessed_size_x : 1;
guint unlimited_guessed_size_y : 1;
guint force_resize : 1;
guint use_subsurface : 1;
@@ -6455,6 +6458,25 @@ gtk_window_unmap (GtkWidget *widget)
gtk_widget_unmap (child);
}
void
gtk_window_set_unlimited_guessed_size (GtkWindow *window,
gboolean x,
gboolean y)
{
GtkWindowPrivate *priv = window->priv;
priv->unlimited_guessed_size_x = x;
priv->unlimited_guessed_size_y = y;
}
void
gtk_window_force_resize (GtkWindow *window)
{
GtkWindowPrivate *priv = window->priv;
priv->force_resize = TRUE;
}
/* (Note: Replace "size" with "width" or "height". Also, the request
* mode is honoured.)
* For selecting the default window size, the following conditions
@@ -6493,8 +6515,15 @@ gtk_window_guess_default_size (GtkWindow *window,
gdk_monitor_get_workarea (monitor, &workarea);
*width = workarea.width;
*height = workarea.height;
if (window->priv->unlimited_guessed_size_x)
*width = INT_MAX;
else
*width = workarea.width;
if (window->priv->unlimited_guessed_size_y)
*height = INT_MAX;
else
*height = workarea.height;
if (gtk_widget_get_request_mode (widget) == GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT)
{
@@ -9364,7 +9393,8 @@ gtk_window_compute_configure_request_size (GtkWindow *window,
info = gtk_window_get_geometry_info (window, FALSE);
if (priv->need_default_size)
if (priv->need_default_size ||
priv->force_resize)
{
gtk_window_guess_default_size (window, width, height);
gtk_window_get_remembered_size (window, &w, &h);
@@ -9769,9 +9799,13 @@ gtk_window_move_resize (GtkWindow *window)
info->last.configure_request.y != new_request.y)
configure_request_pos_changed = TRUE;
if ((info->last.configure_request.width != new_request.width ||
if (priv->force_resize ||
(info->last.configure_request.width != new_request.width ||
info->last.configure_request.height != new_request.height))
configure_request_size_changed = TRUE;
{
priv->force_resize = FALSE;
configure_request_size_changed = TRUE;
}
hints_changed = FALSE;
+5
View File
@@ -135,6 +135,11 @@ void gtk_window_set_hardcoded_window (GtkWindow *window,
GdkScreen *_gtk_window_get_screen (GtkWindow *window);
void gtk_window_set_unlimited_guessed_size (GtkWindow *window,
gboolean x,
gboolean y);
void gtk_window_force_resize (GtkWindow *window);
/* Exported handles */
typedef void (*GtkWindowHandleExported) (GtkWindow *window,
Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="switch-off-symbolic.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.858493"
inkscape:cx="-1.0931113"
inkscape:cy="14.095717"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px">
<inkscape:grid
type="xygrid"
id="grid815" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-292.76666)">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 7.9785156,295.73828 c -2.7589327,0 -5.015625,2.25865 -5.015625,5.01758 0,2.75893 2.2566923,5.01758 5.015625,5.01758 2.7589324,0 5.0175784,-2.25865 5.0175784,-5.01758 0,-2.75893 -2.258646,-5.01758 -5.0175784,-5.01758 z m 0,2 c 1.6780526,0 3.0175784,1.33953 3.0175784,3.01758 0,1.67805 -1.3395258,3.01758 -3.0175784,3.01758 -1.6780525,0 -3.015625,-1.33953 -3.015625,-3.01758 0,-1.67805 1.3375725,-3.01758 3.015625,-3.01758 z"
id="path838"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="on-symbolic.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="31.678384"
inkscape:cx="10.416792"
inkscape:cy="9.9204611"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px">
<inkscape:grid
type="xygrid"
id="grid815" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-292.76666)">
<rect
style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.58198857;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
id="rect817"
width="2"
height="9.9999971"
x="7"
y="295.76666" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

+1
View File
@@ -1216,6 +1216,7 @@ spinbutton {
&:backdrop:disabled {
color: transparentize($backdrop_insensitive_color,0.7);
background-color: transparent;
background-image: none;
border-style: none none none solid; // It is needed or it gets overridden
&:dir(rtl) { border-style: none solid none none; }
+1 -1
View File
@@ -505,7 +505,7 @@ spinbutton:not(.vertical) button:active { background-color: rgba(0, 0, 0, 0.1);
spinbutton:not(.vertical) button:backdrop { color: #86898a; background-color: transparent; border-color: rgba(32, 36, 37, 0.3); transition: 200ms ease-out; }
spinbutton:not(.vertical) button:backdrop:disabled { color: rgba(86, 97, 100, 0.3); background-color: transparent; border-style: none none none solid; }
spinbutton:not(.vertical) button:backdrop:disabled { color: rgba(86, 97, 100, 0.3); background-color: transparent; background-image: none; border-style: none none none solid; }
spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { border-style: none solid none none; }
+1 -1
View File
@@ -513,7 +513,7 @@ spinbutton:not(.vertical) button:active { background-color: rgba(0, 0, 0, 0.1);
spinbutton:not(.vertical) button:backdrop { color: #96999a; background-color: transparent; border-color: rgba(192, 192, 189, 0.3); transition: 200ms ease-out; }
spinbutton:not(.vertical) button:backdrop:disabled { color: rgba(195, 195, 192, 0.3); background-color: transparent; border-style: none none none solid; }
spinbutton:not(.vertical) button:backdrop:disabled { color: rgba(195, 195, 192, 0.3); background-color: transparent; background-image: none; border-style: none none none solid; }
spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { border-style: none solid none none; }
+4 -2
View File
@@ -980,7 +980,10 @@ spinbutton {
background-color: $bg_color;
}
&:disabled { color: transparentize($insensitive_fg_color, 0.7); }
&:disabled,
&:backdrop:disabled {
color: transparentize($insensitive_fg_color, 0.7);
}
&:active {
background-color: $osd_bg_color;
@@ -994,7 +997,6 @@ spinbutton {
}
&:backdrop:disabled {
color: $insensitive_bg_color;
background-image: none;
border-style: none none none solid; // It is needed or it gets overridden
@@ -405,13 +405,13 @@ spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none;
spinbutton:not(.vertical) button:hover { color: #fff; background-color: #000; }
spinbutton:not(.vertical) button:disabled { color: rgba(128, 128, 128, 0.3); }
spinbutton:not(.vertical) button:disabled, spinbutton:not(.vertical) button:backdrop:disabled { color: rgba(128, 128, 128, 0.3); }
spinbutton:not(.vertical) button:active { background-color: rgba(0, 0, 0, 0.8); color: #fff; }
spinbutton:not(.vertical) button:backdrop { color: #fff; background-color: transparent; border-color: rgba(115, 115, 115, 0.3); }
spinbutton:not(.vertical) button:backdrop:disabled { color: #070707; background-image: none; border-style: none none none solid; }
spinbutton:not(.vertical) button:backdrop:disabled { background-image: none; border-style: none none none solid; }
spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { border-style: none solid none none; }
+2 -2
View File
@@ -409,13 +409,13 @@ spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none;
spinbutton:not(.vertical) button:hover { color: #000; background-color: #fff; }
spinbutton:not(.vertical) button:disabled { color: rgba(128, 128, 128, 0.3); }
spinbutton:not(.vertical) button:disabled, spinbutton:not(.vertical) button:backdrop:disabled { color: rgba(128, 128, 128, 0.3); }
spinbutton:not(.vertical) button:active { background-color: rgba(0, 0, 0, 0.8); color: #fff; }
spinbutton:not(.vertical) button:backdrop { color: #000; background-color: transparent; border-color: rgba(141, 141, 141, 0.3); }
spinbutton:not(.vertical) button:backdrop:disabled { color: white; background-image: none; border-style: none none none solid; }
spinbutton:not(.vertical) button:backdrop:disabled { background-image: none; border-style: none none none solid; }
spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { border-style: none solid none none; }
+4
View File
@@ -33,6 +33,9 @@
<property name="spacing">12</property>
<child>
<object class="GtkImage" id="logo_image">
<style>
<class name="icon-dropshadow"/>
</style>
<property name="visible">1</property>
<property name="icon-name">image-missing</property>
</object>
@@ -122,6 +125,7 @@
<property name="selectable">1</property>
<property name="no-show-all">1</property>
<property name="max-width-chars">60</property>
<signal name="activate-link" handler="emit_activate_link" object="GtkAboutDialog" swapped="yes"/>
</object>
<packing>
<property name="fill">0</property>
+3 -1
View File
@@ -75,7 +75,9 @@
<object class="GtkCellRendererText" id="secondary_padding"/>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="app_icon"/>
<object class="GtkCellRendererPixbuf" id="app_icon">
<property name="stock-size">5</property>
</object>
<attributes>
<attribute name="gicon">1</attribute>
</attributes>
+1 -133
View File
@@ -65,7 +65,7 @@
</packing>
</child>
<child>
<object class="GtkGrid">
<object class="GtkGrid" id="available_protocols_grid">
<property name="visible">1</property>
<property name="margin-top">12</property>
<property name="hexpand">1</property>
@@ -86,72 +86,6 @@
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes">AppleTalk</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes">File Transfer Protocol</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes">Network File System</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes">Samba</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes">SSH File Transfer Protocol</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes">WebDAV</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">6</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
@@ -166,72 +100,6 @@
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label">afp://</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes" comments="Translators: do not translate ftp:// and ftps://">ftp:// or ftps://</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label">nfs://</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes">smb://</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes" comments="Translators: do not translate sftp:// and ssh://">sftp:// or ssh://</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="label" translatable="yes" comments="Translators: do not translate dav:// and davs://">dav:// or davs://</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">6</property>
</packing>
</child>
</object>
<packing>
<property name="position">3</property>
+7 -6
View File
@@ -190,22 +190,23 @@ quartz_filter_keypress (GtkIMContext *context,
if (!GDK_IS_QUARTZ_WINDOW (qc->client_window))
return FALSE;
nsview = gdk_quartz_window_get_nsview (qc->client_window);
win = (GdkWindow *)[ (GdkQuartzView *)nsview gdkWindow];
GTK_NOTE (MISC, g_print ("client_window: %p, win: %p, nsview: %p\n",
qc->client_window, win, nsview));
NSEvent *nsevent = gdk_quartz_event_get_nsevent ((GdkEvent *)event);
if (!nsevent)
{
if (event->hardware_keycode == 0 && event->keyval == 0xffffff)
/* update text input changes by mouse events */
return output_result (context, win);
return output_result (context, event->window);
else
return gtk_im_context_filter_keypress (qc->slave, event);
}
nsview = gdk_quartz_window_get_nsview (qc->client_window);
win = (GdkWindow *)[(GdkQuartzView *)[[nsevent window] contentView] gdkWindow];
GTK_NOTE (MISC, g_print ("client_window: %p, win: %p, nsview: %p\n",
qc->client_window, win, nsview));
if (event->type == GDK_KEY_RELEASE)
return FALSE;
+189 -106
View File
@@ -42,6 +42,10 @@ struct _GtkIMContextWaylandGlobal
GtkIMContext *current;
/* The input-method.enter event may happen before or after GTK focus-in,
* so the context may not exist at the time. Same for leave and focus-out. */
gboolean focused;
guint serial;
};
@@ -128,18 +132,6 @@ notify_external_change (GtkIMContextWayland *context)
g_signal_emit_by_name (global->current, "retrieve-surrounding", &result);
}
static void
text_input_enter (void *data,
struct zwp_text_input_v3 *text_input,
struct wl_surface *surface)
{}
static void
text_input_leave (void *data,
struct zwp_text_input_v3 *text_input,
struct wl_surface *surface)
{}
static void
text_input_preedit (void *data,
struct zwp_text_input_v3 *text_input,
@@ -274,74 +266,14 @@ text_input_done (void *data,
text_input_preedit_apply(global);
}
static const struct zwp_text_input_v3_listener text_input_listener = {
text_input_enter,
text_input_leave,
text_input_preedit,
text_input_commit,
text_input_delete_surrounding_text,
text_input_done,
};
static void
registry_handle_global (void *data,
struct wl_registry *registry,
uint32_t id,
const char *interface,
uint32_t version)
{
GtkIMContextWaylandGlobal *global = data;
GdkSeat *seat = gdk_display_get_default_seat (gdk_display_get_default ());
if (strcmp (interface, "zwp_text_input_manager_v3") == 0)
{
global->text_input_manager_wl_id = id;
global->text_input_manager =
wl_registry_bind (global->registry, global->text_input_manager_wl_id,
&zwp_text_input_manager_v3_interface, 1);
global->text_input =
zwp_text_input_manager_v3_get_text_input (global->text_input_manager,
gdk_wayland_seat_get_wl_seat (seat));
global->serial = 0;
zwp_text_input_v3_add_listener (global->text_input,
&text_input_listener, global);
}
}
static void
registry_handle_global_remove (void *data,
struct wl_registry *registry,
uint32_t id)
{
GtkIMContextWaylandGlobal *global = data;
if (id != global->text_input_manager_wl_id)
return;
g_clear_pointer(&global->text_input, zwp_text_input_v3_destroy);
g_clear_pointer(&global->text_input_manager, zwp_text_input_manager_v3_destroy);
}
static const struct wl_registry_listener registry_listener = {
registry_handle_global,
registry_handle_global_remove
};
static void
gtk_im_context_wayland_global_init (GdkDisplay *display)
{
g_return_if_fail (global == NULL);
global = g_new0 (GtkIMContextWaylandGlobal, 1);
global->display = gdk_wayland_display_get_wl_display (display);
global->registry = wl_display_get_registry (global->display);
wl_registry_add_listener (global->registry, &registry_listener, global);
}
static void
notify_surrounding_text (GtkIMContextWayland *context)
{
#define MAX_LEN 4000
const gchar *start, *end;
int len, cursor, anchor;
char *str = NULL;
if (!global || !global->text_input)
return;
if (global->current != GTK_IM_CONTEXT (context))
@@ -349,12 +281,67 @@ notify_surrounding_text (GtkIMContextWayland *context)
if (!context->surrounding.text)
return;
len = strlen (context->surrounding.text);
cursor = context->surrounding.cursor_idx;
anchor = context->surrounding.anchor_idx;
/* The protocol specifies a maximum length of 4KiB on transfers,
* mangle the surrounding text if it's bigger than that, and relocate
* cursor/anchor locations as per the string being sent.
*/
if (len > MAX_LEN)
{
if (context->surrounding.cursor_idx < MAX_LEN &&
context->surrounding.anchor_idx < MAX_LEN)
{
start = context->surrounding.text;
end = &context->surrounding.text[MAX_LEN];
}
else if (context->surrounding.cursor_idx > len - MAX_LEN &&
context->surrounding.cursor_idx > len - MAX_LEN)
{
start = &context->surrounding.text[len - MAX_LEN];
end = &context->surrounding.text[len];
}
else
{
int mid, a, b;
int cursor_len = ABS (context->surrounding.cursor_idx -
context->surrounding.anchor_idx);
if (cursor_len > MAX_LEN)
{
g_warn_if_reached ();
return;
}
mid = MIN (context->surrounding.cursor_idx,
context->surrounding.cursor_idx) + (cursor_len / 2);
a = MAX (0, mid - (MAX_LEN / 2));
b = MIN (MAX_LEN, mid + (MAX_LEN / 2));
start = &context->surrounding.text[a];
end = &context->surrounding.text[b];
}
if (start != context->surrounding.text)
start = g_utf8_next_char (start);
if (end != &context->surrounding.text[len])
end = g_utf8_find_prev_char (context->surrounding.text, end);
cursor -= start - context->surrounding.text;
anchor -= start - context->surrounding.text;
str = g_strndup (start, end - start);
}
zwp_text_input_v3_set_surrounding_text (global->text_input,
context->surrounding.text,
context->surrounding.cursor_idx,
context->surrounding.anchor_idx);
str ? str : context->surrounding.text,
cursor, anchor);
zwp_text_input_v3_set_text_change_cause (global->text_input,
context->surrounding_change);
g_free (str);
#undef MAX_LEN
}
static void
@@ -466,12 +453,6 @@ commit_state (GtkIMContextWayland *context)
context->surrounding_change = ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_INPUT_METHOD;
}
static void
enable_text_input (GtkIMContextWayland *context)
{
zwp_text_input_v3_enable (global->text_input);
}
static void
gtk_im_context_wayland_finalize (GObject *object)
{
@@ -516,14 +497,15 @@ released_cb (GtkGestureMultiPress *gesture,
g_object_get (context, "input-hints", &hints, NULL);
if (n_press == 1 &&
if (global->focused &&
n_press == 1 &&
(hints & GTK_INPUT_HINT_INHIBIT_OSK) == 0 &&
!gtk_drag_check_threshold (context->widget,
context->press_x,
context->press_y,
x, y))
{
enable_text_input (GTK_IM_CONTEXT_WAYLAND (context));
zwp_text_input_v3_enable (global->text_input);
g_signal_emit_by_name (global->current, "retrieve-surrounding", &result);
commit_state (context);
}
@@ -627,18 +609,10 @@ gtk_im_context_wayland_filter_keypress (GtkIMContext *context,
}
static void
gtk_im_context_wayland_focus_in (GtkIMContext *context)
enable (GtkIMContextWayland *context_wayland)
{
GtkIMContextWayland *context_wayland = GTK_IM_CONTEXT_WAYLAND (context);
gboolean result;
if (global->current == context)
return;
if (!global->text_input)
return;
global->current = context;
enable_text_input (context_wayland);
zwp_text_input_v3_enable (global->text_input);
g_signal_emit_by_name (global->current, "retrieve-surrounding", &result);
notify_content_type (context_wayland);
notify_cursor_location (context_wayland);
@@ -646,15 +620,8 @@ gtk_im_context_wayland_focus_in (GtkIMContext *context)
}
static void
gtk_im_context_wayland_focus_out (GtkIMContext *context)
disable (GtkIMContextWayland *context_wayland)
{
GtkIMContextWayland *context_wayland;
if (global->current != context)
return;
context_wayland = GTK_IM_CONTEXT_WAYLAND (context);
zwp_text_input_v3_disable (global->text_input);
commit_state (context_wayland);
@@ -664,6 +631,122 @@ gtk_im_context_wayland_focus_out (GtkIMContext *context)
text_input_preedit (global, global->text_input, NULL, 0, 0);
text_input_preedit_apply (global);
}
}
static void
text_input_enter (void *data,
struct zwp_text_input_v3 *text_input,
struct wl_surface *surface)
{
global->focused = TRUE;
if (global->current)
enable (GTK_IM_CONTEXT_WAYLAND (global->current));
}
static void
text_input_leave (void *data,
struct zwp_text_input_v3 *text_input,
struct wl_surface *surface)
{
global->focused = FALSE;
if (global->current)
disable (GTK_IM_CONTEXT_WAYLAND (global->current));
}
static const struct zwp_text_input_v3_listener text_input_listener = {
text_input_enter,
text_input_leave,
text_input_preedit,
text_input_commit,
text_input_delete_surrounding_text,
text_input_done,
};
static void
registry_handle_global (void *data,
struct wl_registry *registry,
uint32_t id,
const char *interface,
uint32_t version)
{
GtkIMContextWaylandGlobal *global = data;
GdkSeat *seat = gdk_display_get_default_seat (gdk_display_get_default ());
if (strcmp (interface, "zwp_text_input_manager_v3") == 0)
{
global->text_input_manager_wl_id = id;
global->text_input_manager =
wl_registry_bind (global->registry, global->text_input_manager_wl_id,
&zwp_text_input_manager_v3_interface, 1);
global->text_input =
zwp_text_input_manager_v3_get_text_input (global->text_input_manager,
gdk_wayland_seat_get_wl_seat (seat));
global->serial = 0;
zwp_text_input_v3_add_listener (global->text_input,
&text_input_listener, global);
}
}
static void
registry_handle_global_remove (void *data,
struct wl_registry *registry,
uint32_t id)
{
GtkIMContextWaylandGlobal *global = data;
if (id != global->text_input_manager_wl_id)
return;
g_clear_pointer (&global->text_input, zwp_text_input_v3_destroy);
g_clear_pointer (&global->text_input_manager, zwp_text_input_manager_v3_destroy);
}
static const struct wl_registry_listener registry_listener = {
registry_handle_global,
registry_handle_global_remove
};
static void
gtk_im_context_wayland_global_init (GdkDisplay *display)
{
g_return_if_fail (global == NULL);
global = g_new0 (GtkIMContextWaylandGlobal, 1);
global->display = gdk_wayland_display_get_wl_display (display);
global->registry = wl_display_get_registry (global->display);
wl_registry_add_listener (global->registry, &registry_listener, global);
}
static void
gtk_im_context_wayland_focus_in (GtkIMContext *context)
{
GtkIMContextWayland *context_wayland = GTK_IM_CONTEXT_WAYLAND (context);
if (global->current == context)
return;
if (!global->text_input)
return;
global->current = context;
if (global->focused)
enable (context_wayland);
}
static void
gtk_im_context_wayland_focus_out (GtkIMContext *context)
{
GtkIMContextWayland *context_wayland = GTK_IM_CONTEXT_WAYLAND (context);
if (global->current != context)
return;
if (global->focused)
disable (context_wayland);
global->current = NULL;
}
@@ -3966,7 +3966,7 @@ cups_request_ppd (GtkPrinter *printer)
g_io_channel_set_encoding (data->ppd_io, NULL, NULL);
g_io_channel_set_close_on_unref (data->ppd_io, TRUE);
data->printer = g_object_ref (printer);
data->printer = (GtkPrinterCups *) g_object_ref (printer);
resource = g_strdup_printf ("/printers/%s.ppd",
gtk_printer_cups_get_ppd_name (GTK_PRINTER_CUPS (printer)));
+247 -237
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gtk+ 2.6-branch\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-05-27 05:41+0000\n"
"POT-Creation-Date: 2019-01-04 22:22+0000\n"
"PO-Revision-Date: 2018-06-30 00:26+0200\n"
"Last-Translator: Pieter Schoeman <pieter@sonbesie.co.za>\n"
"Language-Team: translate-discuss-af@lists.sourceforge.net\n"
+144 -155
View File
@@ -10,14 +10,14 @@
# Juan Manuel García Molina <juanma_gm@wanadoo.es>, 2003.
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2003 - 2006.
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: gtk+.master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-29 18:35+0000\n"
"PO-Revision-Date: 2018-10-31 13:15+0100\n"
"POT-Creation-Date: 2019-01-15 21:31+0000\n"
"PO-Revision-Date: 2019-01-16 09:19+0100\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: es <gnome-es-list@gnome.org>\n"
"Language: es\n"
@@ -581,33 +581,33 @@ msgctxt "Action description"
msgid "Clicks the button"
msgstr "Pulsa el botón"
#: gtk/a11y/gtkcellaccessible.c:255
#: gtk/a11y/gtkcellaccessible.c:257
msgctxt "Action name"
msgid "Expand or contract"
msgstr "Expandir o contraer"
#: gtk/a11y/gtkcellaccessible.c:257
#: gtk/a11y/gtkcellaccessible.c:259
msgctxt "Action name"
msgid "Edit"
msgstr "Editar"
#: gtk/a11y/gtkcellaccessible.c:259 gtk/a11y/gtkcolorswatchaccessible.c:149
#: gtk/a11y/gtkcellaccessible.c:261 gtk/a11y/gtkcolorswatchaccessible.c:149
#: gtk/a11y/gtkentryaccessible.c:1557 gtk/a11y/gtkexpanderaccessible.c:281
msgctxt "Action name"
msgid "Activate"
msgstr "Activar"
#: gtk/a11y/gtkcellaccessible.c:272
#: gtk/a11y/gtkcellaccessible.c:274
msgctxt "Action description"
msgid "Expands or contracts the row in the tree view containing this cell"
msgstr "Expande o contrae la celda en la vista de árbol que contiene la celda"
#: gtk/a11y/gtkcellaccessible.c:274
#: gtk/a11y/gtkcellaccessible.c:276
msgctxt "Action description"
msgid "Creates a widget in which the contents of the cell can be edited"
msgstr "Crea un widget en el que los contenidos de la celda se pueden editar"
#: gtk/a11y/gtkcellaccessible.c:276
#: gtk/a11y/gtkcellaccessible.c:278
msgctxt "Action description"
msgid "Activates the cell"
msgstr "Activa la celda"
@@ -691,15 +691,15 @@ msgctxt "Stock label"
msgid "_Close"
msgstr "_Cerrar"
#: gtk/a11y/gtkimageaccessible.c:59 gtk/gtkheaderbar.c:415 gtk/gtkwindow.c:9253
#: gtk/a11y/gtkimageaccessible.c:59 gtk/gtkheaderbar.c:415 gtk/gtkwindow.c:9255
msgid "Minimize"
msgstr "Minimizar"
#: gtk/a11y/gtkimageaccessible.c:60 gtk/gtkheaderbar.c:439 gtk/gtkwindow.c:9262
#: gtk/a11y/gtkimageaccessible.c:60 gtk/gtkheaderbar.c:439 gtk/gtkwindow.c:9264
msgid "Maximize"
msgstr "Maximizar"
#: gtk/a11y/gtkimageaccessible.c:61 gtk/gtkheaderbar.c:439 gtk/gtkwindow.c:9219
#: gtk/a11y/gtkimageaccessible.c:61 gtk/gtkheaderbar.c:439 gtk/gtkwindow.c:9221
msgid "Restore"
msgstr "Restaurar"
@@ -1253,7 +1253,7 @@ msgstr ""
#: gtk/gtkmountoperation.c:545 gtk/gtkpagesetupunixdialog.c:196
#: gtk/gtkprintbackend.c:781 gtk/gtkprinteroptionwidget.c:545
#: gtk/gtkprintunixdialog.c:673 gtk/gtkprintunixdialog.c:746
#: gtk/gtkwindow.c:12722 gtk/inspector/css-editor.c:201
#: gtk/gtkwindow.c:12724 gtk/inspector/css-editor.c:201
#: gtk/ui/gtkappchooserdialog.ui:61 gtk/ui/gtkassistant.ui:125
#: gtk/ui/gtkcolorchooserdialog.ui:34 gtk/ui/gtkfontchooserdialog.ui:31
msgid "_Cancel"
@@ -1304,7 +1304,7 @@ msgid "_Apply"
msgstr "_Aplicar"
#: gtk/deprecated/gtkfontsel.c:1698 gtk/gtkmessagedialog.c:944
#: gtk/gtkmessagedialog.c:966 gtk/gtkprintbackend.c:782 gtk/gtkwindow.c:12723
#: gtk/gtkmessagedialog.c:966 gtk/gtkprintbackend.c:782 gtk/gtkwindow.c:12725
msgid "_OK"
msgstr "_Aceptar"
@@ -1468,7 +1468,7 @@ msgstr "No se puede guardar el archivo %s: %s\n"
msgid "Can't close stream"
msgstr "No se puede cerrar el flujo"
#: gtk/gtkaboutdialog.c:114 gtk/ui/gtkaboutdialog.ui:206
#: gtk/gtkaboutdialog.c:114 gtk/ui/gtkaboutdialog.ui:209
msgid "License"
msgstr "Licencia"
@@ -2222,52 +2222,52 @@ msgstr "_Derecho:"
msgid "Paper Margins"
msgstr "Márgenes del papel"
#: gtk/gtkentry.c:9582 gtk/gtklabel.c:6680 gtk/gtktextview.c:9492
#: gtk/gtkentry.c:9583 gtk/gtklabel.c:6680 gtk/gtktextview.c:9492
msgid "Cu_t"
msgstr "Cor_tar"
#: gtk/gtkentry.c:9586 gtk/gtklabel.c:6681 gtk/gtktextview.c:9496
#: gtk/gtkentry.c:9587 gtk/gtklabel.c:6681 gtk/gtktextview.c:9496
msgid "_Copy"
msgstr "_Copiar"
#: gtk/gtkentry.c:9590 gtk/gtklabel.c:6682 gtk/gtktextview.c:9498
#: gtk/gtkentry.c:9591 gtk/gtklabel.c:6682 gtk/gtktextview.c:9498
msgid "_Paste"
msgstr "_Pegar"
#: gtk/gtkentry.c:9593 gtk/gtkfilechooserwidget.c:1476
#: gtk/gtkentry.c:9594 gtk/gtkfilechooserwidget.c:1476
#: gtk/gtkfilechooserwidget.c:2276 gtk/gtklabel.c:6684 gtk/gtktextview.c:9501
msgid "_Delete"
msgstr "_Eliminar"
#: gtk/gtkentry.c:9604 gtk/gtklabel.c:6693 gtk/gtktextview.c:9515
#: gtk/gtkentry.c:9605 gtk/gtklabel.c:6693 gtk/gtktextview.c:9515
msgid "Select _All"
msgstr "Seleccionar _todo"
#: gtk/gtkentry.c:9614 gtk/gtktextview.c:9525
#: gtk/gtkentry.c:9615 gtk/gtktextview.c:9525
msgid "Insert _Emoji"
msgstr "Insertar _emoticono"
#: gtk/gtkentry.c:9790 gtk/gtktextview.c:9745
#: gtk/gtkentry.c:9791 gtk/gtktextview.c:9745
msgid "Select all"
msgstr "Seleccionar todo"
#: gtk/gtkentry.c:9793 gtk/gtktextview.c:9748
#: gtk/gtkentry.c:9794 gtk/gtktextview.c:9748
msgid "Cut"
msgstr "Cortar"
#: gtk/gtkentry.c:9796 gtk/gtktextview.c:9751
#: gtk/gtkentry.c:9797 gtk/gtktextview.c:9751
msgid "Copy"
msgstr "Copiar"
#: gtk/gtkentry.c:9799 gtk/gtktextview.c:9754
#: gtk/gtkentry.c:9800 gtk/gtktextview.c:9754
msgid "Paste"
msgstr "Pegar"
#: gtk/gtkentry.c:10869
#: gtk/gtkentry.c:10870
msgid "Caps Lock is on"
msgstr "Bloq Mayús está activado"
#: gtk/gtkentry.c:11144
#: gtk/gtkentry.c:11145
msgid "Insert Emoji"
msgstr "Insertar emoticono"
@@ -2294,8 +2294,8 @@ msgstr "_Nombre"
#. Open item is always present
#: gtk/gtkfilechoosernative.c:541 gtk/gtkfilechoosernative.c:626
#: gtk/gtkplacessidebar.c:3615 gtk/gtkplacessidebar.c:3683
#: gtk/gtkplacesview.c:1633
#: gtk/gtkplacessidebar.c:3618 gtk/gtkplacessidebar.c:3686
#: gtk/gtkplacesview.c:1682
msgid "_Open"
msgstr "_Abrir"
@@ -2465,7 +2465,7 @@ msgstr "Copiar _ubicación"
msgid "_Add to Bookmarks"
msgstr "_Añadir a los marcadores"
#: gtk/gtkfilechooserwidget.c:2275 gtk/gtkplacessidebar.c:2731
#: gtk/gtkfilechooserwidget.c:2275 gtk/gtkplacessidebar.c:2734
#: gtk/ui/gtkfilechooserwidget.ui:526
msgid "_Rename"
msgstr "_Renombrar"
@@ -2647,11 +2647,10 @@ msgid "Ligatures"
msgstr "Ligaduras"
#: gtk/gtkfontchooserwidget.c:2112
#, fuzzy
#| msgctxt "paper size"
#| msgid "US Letter Plus"
msgid "Letter Case"
msgstr "US Letter Plus"
msgstr "Letter Case"
#: gtk/gtkfontchooserwidget.c:2113
msgid "Number Case"
@@ -2677,16 +2676,16 @@ msgstr "Falló al crear el contexto de OpenGL"
msgid "Application menu"
msgstr "Menú de la aplicación"
#: gtk/gtkheaderbar.c:458 gtk/gtkwindow.c:9289
#: gtk/gtkheaderbar.c:458 gtk/gtkwindow.c:9291
msgid "Close"
msgstr "Cerrar"
#: gtk/gtkicontheme.c:2341 gtk/gtkicontheme.c:2406
#: gtk/gtkicontheme.c:2343 gtk/gtkicontheme.c:2408
#, c-format
msgid "Icon '%s' not present in theme %s"
msgstr "El icono «%s» no está presente en el tema %s"
#: gtk/gtkicontheme.c:4080 gtk/gtkicontheme.c:4447
#: gtk/gtkicontheme.c:4082 gtk/gtkicontheme.c:4449
msgid "Failed to load icon"
msgstr "No se pudo cargar el icono"
@@ -3100,185 +3099,224 @@ msgid "Show other locations"
msgstr "Mostrar otras ubicaciones"
#. Adjust start/stop items to reflect the type of the drive
#: gtk/gtkplacessidebar.c:2324 gtk/gtkplacessidebar.c:3703
#: gtk/gtkplacessidebar.c:2327 gtk/gtkplacessidebar.c:3706
msgid "_Start"
msgstr "_Iniciar"
#: gtk/gtkplacessidebar.c:2325 gtk/gtkplacessidebar.c:3704
#: gtk/gtkplacessidebar.c:2328 gtk/gtkplacessidebar.c:3707
msgid "_Stop"
msgstr "_Detener"
#. start() for type G_DRIVE_START_STOP_TYPE_SHUTDOWN is normally not used
#: gtk/gtkplacessidebar.c:2332
#: gtk/gtkplacessidebar.c:2335
msgid "_Power On"
msgstr "_Encender"
#: gtk/gtkplacessidebar.c:2333
#: gtk/gtkplacessidebar.c:2336
msgid "_Safely Remove Drive"
msgstr "_Quitar unidad con seguridad"
#: gtk/gtkplacessidebar.c:2337
#: gtk/gtkplacessidebar.c:2340
msgid "_Connect Drive"
msgstr "_Conectar unidad"
#: gtk/gtkplacessidebar.c:2338
#: gtk/gtkplacessidebar.c:2341
msgid "_Disconnect Drive"
msgstr "_Desconectar unidad"
#: gtk/gtkplacessidebar.c:2342
#: gtk/gtkplacessidebar.c:2345
msgid "_Start Multi-disk Device"
msgstr "_Iniciar dispositivo multidisco"
#: gtk/gtkplacessidebar.c:2343
#: gtk/gtkplacessidebar.c:2346
msgid "_Stop Multi-disk Device"
msgstr "_Detener dispositivo multidisco"
#. stop() for type G_DRIVE_START_STOP_TYPE_PASSWORD is normally not used
#: gtk/gtkplacessidebar.c:2348
#: gtk/gtkplacessidebar.c:2351
msgid "_Unlock Device"
msgstr "_Desbloquear dispositivo"
#: gtk/gtkplacessidebar.c:2349
#: gtk/gtkplacessidebar.c:2352
msgid "_Lock Device"
msgstr "_Bloquear dispositivo"
#: gtk/gtkplacessidebar.c:2387 gtk/gtkplacessidebar.c:3384
#: gtk/gtkplacessidebar.c:2390 gtk/gtkplacessidebar.c:3387
#, c-format
msgid "Unable to start “%s”"
msgstr "No se pudo iniciar «%s»"
#: gtk/gtkplacessidebar.c:2420
#: gtk/gtkplacessidebar.c:2423
#, c-format
msgid "Error unlocking “%s”"
msgstr "Error al desbloquear «%s»"
#: gtk/gtkplacessidebar.c:2422
#: gtk/gtkplacessidebar.c:2425
#, c-format
msgid "Unable to access “%s”"
msgstr "No se puede acceder a «%s»"
#: gtk/gtkplacessidebar.c:2656
#: gtk/gtkplacessidebar.c:2659
msgid "This name is already taken"
msgstr "Este nombre ya está en uso"
#: gtk/gtkplacessidebar.c:2725 gtk/inspector/actions.ui:43
#: gtk/gtkplacessidebar.c:2728 gtk/inspector/actions.ui:43
#: gtk/inspector/css-node-tree.ui:39 gtk/inspector/object-tree.ui:110
#: gtk/ui/gtkfilechooserwidget.ui:189 gtk/ui/gtkfilechooserwidget.ui:500
msgid "Name"
msgstr "Nombre"
#: gtk/gtkplacessidebar.c:2925
#: gtk/gtkplacessidebar.c:2928
#, c-format
msgid "Unable to unmount “%s”"
msgstr "No se puede desmontar «%s»"
#: gtk/gtkplacessidebar.c:3101
#: gtk/gtkplacessidebar.c:3104
#, c-format
msgid "Unable to stop “%s”"
msgstr "No se pudo detener «%s»"
#: gtk/gtkplacessidebar.c:3130
#: gtk/gtkplacessidebar.c:3133
#, c-format
msgid "Unable to eject “%s”"
msgstr "No se pudo expulsar «%s»"
#: gtk/gtkplacessidebar.c:3159 gtk/gtkplacessidebar.c:3188
#: gtk/gtkplacessidebar.c:3162 gtk/gtkplacessidebar.c:3191
#, c-format
msgid "Unable to eject %s"
msgstr "No se pudo expulsar %s"
#: gtk/gtkplacessidebar.c:3336
#: gtk/gtkplacessidebar.c:3339
#, c-format
msgid "Unable to poll “%s” for media changes"
msgstr "No se puede consultar a «%s» si hay cambios en el medio"
#: gtk/gtkplacessidebar.c:3620 gtk/gtkplacessidebar.c:3686
#: gtk/gtkplacesview.c:1643
#: gtk/gtkplacessidebar.c:3623 gtk/gtkplacessidebar.c:3689
#: gtk/gtkplacesview.c:1692
msgid "Open in New _Tab"
msgstr "Abrir en una _pestaña nueva"
#: gtk/gtkplacessidebar.c:3626 gtk/gtkplacessidebar.c:3689
#: gtk/gtkplacesview.c:1654
#: gtk/gtkplacessidebar.c:3629 gtk/gtkplacessidebar.c:3692
#: gtk/gtkplacesview.c:1703
msgid "Open in New _Window"
msgstr "Abrir en una _ventana nueva"
#: gtk/gtkplacessidebar.c:3693
#: gtk/gtkplacessidebar.c:3696
msgid "_Add Bookmark"
msgstr "_Añadir marcador"
#: gtk/gtkplacessidebar.c:3694
#: gtk/gtkplacessidebar.c:3697
msgid "_Remove"
msgstr "_Quitar"
#: gtk/gtkplacessidebar.c:3695
#: gtk/gtkplacessidebar.c:3698
msgid "Rename…"
msgstr "Renombrar…"
#: gtk/gtkplacessidebar.c:3699 gtk/gtkplacesview.c:1688
#: gtk/gtkplacessidebar.c:3702 gtk/gtkplacesview.c:1737
msgid "_Mount"
msgstr "_Montar"
#: gtk/gtkplacessidebar.c:3700 gtk/gtkplacesview.c:1678
#: gtk/gtkplacessidebar.c:3703 gtk/gtkplacesview.c:1727
msgid "_Unmount"
msgstr "_Desmontar"
#: gtk/gtkplacessidebar.c:3701
#: gtk/gtkplacessidebar.c:3704
msgid "_Eject"
msgstr "_Expulsar"
#: gtk/gtkplacessidebar.c:3702
#: gtk/gtkplacessidebar.c:3705
msgid "_Detect Media"
msgstr "_Detectar medio"
#: gtk/gtkplacessidebar.c:4148 gtk/gtkplacesview.c:1121
#: gtk/gtkplacessidebar.c:4151 gtk/gtkplacesview.c:1122
msgid "Computer"
msgstr "Equipo"
#: gtk/gtkplacesview.c:897
#: gtk/gtkplacesview.c:898
msgid "Searching for network locations"
msgstr "Buscando ubicaciones de red"
#: gtk/gtkplacesview.c:904
#: gtk/gtkplacesview.c:905
msgid "No network locations found"
msgstr "No se han encontrado ubicaciones de red"
#. if it wasn't cancelled show a dialog
#: gtk/gtkplacesview.c:1231 gtk/gtkplacesview.c:1306
#: gtk/gtkplacesview.c:1232 gtk/gtkplacesview.c:1307
msgid "Unable to access location"
msgstr "No se puede acceder a la ubicación"
#. Restore from Cancel to Connect
#: gtk/gtkplacesview.c:1249 gtk/ui/gtkplacesview.ui:449
#: gtk/gtkplacesview.c:1250 gtk/ui/gtkplacesview.ui:317
msgid "Con_nect"
msgstr "Co_nectar"
#. if it wasn't cancelled show a dialog
#: gtk/gtkplacesview.c:1369
#: gtk/gtkplacesview.c:1370
msgid "Unable to unmount volume"
msgstr "No se puede desmontar del volumen"
#. Allow to cancel the operation
#: gtk/gtkplacesview.c:1470
#: gtk/gtkplacesview.c:1471
msgid "Cance_l"
msgstr "Cance_lar"
#: gtk/gtkplacesview.c:1678
#: gtk/gtkplacesview.c:1634
msgid "AppleTalk"
msgstr "AppleTalk"
#. Translators: do not translate ftp:// and ftps://
#: gtk/gtkplacesview.c:1638
msgid "File Transfer Protocol"
msgstr "Protocolo de transferencia de archivos"
#: gtk/gtkplacesview.c:1638
msgid "ftp:// or ftps://"
msgstr "ftp:// o ftps://"
#: gtk/gtkplacesview.c:1641
msgid "Network File System"
msgstr "Sistema de archivos en red"
#: gtk/gtkplacesview.c:1644
msgid "Samba"
msgstr "Samba"
#. Translators: do not translate sftp:// and ssh://
#: gtk/gtkplacesview.c:1648
msgid "SSH File Transfer Protocol"
msgstr "Protocolo de transferencia de archivos por SSH"
#: gtk/gtkplacesview.c:1648
msgid "sftp:// or ssh://"
msgstr "sftp:// o ssh://"
#. Translators: do not translate dav:// and davs://
#: gtk/gtkplacesview.c:1652
msgid "WebDAV"
msgstr "WebDAV"
#: gtk/gtkplacesview.c:1652
msgid "dav:// or davs://"
msgstr "dav:// o davs://"
#: gtk/gtkplacesview.c:1727
msgid "_Disconnect"
msgstr "_Desconectar"
#: gtk/gtkplacesview.c:1688
#: gtk/gtkplacesview.c:1737
msgid "_Connect"
msgstr "_Conectar"
#: gtk/gtkplacesview.c:1829
#: gtk/gtkplacesview.c:1878
msgid "Unable to get remote server location"
msgstr "No se pudo obtener la ubicación del servidor remoto"
#: gtk/gtkplacesview.c:2017 gtk/gtkplacesview.c:2026
#: gtk/gtkplacesview.c:2073 gtk/gtkplacesview.c:2082
msgid "Networks"
msgstr "Redes"
#: gtk/gtkplacesview.c:2017 gtk/gtkplacesview.c:2026
#: gtk/gtkplacesview.c:2073 gtk/gtkplacesview.c:2082
msgid "On This Computer"
msgstr "En este equipo"
@@ -3716,27 +3754,10 @@ msgid "No Results Found"
msgstr "No se han encontrado resultados"
#: gtk/gtkshortcutswindow.c:1060 gtk/ui/gtkemojichooser.ui:390
#: gtk/ui/gtkfilechooserwidget.ui:324 gtk/ui/gtkplacesview.ui:406
#: gtk/ui/gtkfilechooserwidget.ui:324 gtk/ui/gtkplacesview.ui:274
msgid "Try a different search"
msgstr "Pruebe una búsqueda diferente"
#. Translators: if the "on" state label requires more than three
#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for
#. * the state
#.
#: gtk/gtkswitch.c:306
msgctxt "switch"
msgid "ON"
msgstr "❙"
#. Translators: if the "off" state label requires more than three
#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state
#.
#: gtk/gtkswitch.c:313
msgctxt "switch"
msgid "OFF"
msgstr "○"
#: gtk/gtktextbufferrichtext.c:648
#, c-format
msgid "Unknown error when trying to deserialize %s"
@@ -3918,24 +3939,24 @@ msgctxt "volume percentage"
msgid "%d%%"
msgstr "%d%%"
#: gtk/gtkwindow.c:9237
#: gtk/gtkwindow.c:9239
msgid "Move"
msgstr "Mover"
#: gtk/gtkwindow.c:9245
#: gtk/gtkwindow.c:9247
msgid "Resize"
msgstr "Redimensionar"
#: gtk/gtkwindow.c:9276
#: gtk/gtkwindow.c:9278
msgid "Always on Top"
msgstr "Siempre encima"
#: gtk/gtkwindow.c:12710
#: gtk/gtkwindow.c:12712
#, c-format
msgid "Do you want to use GTK+ Inspector?"
msgstr "¿Quiere usar el inspector de GTK+?"
#: gtk/gtkwindow.c:12712
#: gtk/gtkwindow.c:12714
#, c-format
msgid ""
"GTK+ Inspector is an interactive debugger that lets you explore and modify "
@@ -3946,7 +3967,7 @@ msgstr ""
"modificar los aspectos internos de cualquier aplicación de GTK+. Al usarlo "
"puede hacer que la aplicación falle o se cierre."
#: gtk/gtkwindow.c:12717
#: gtk/gtkwindow.c:12719
msgid "Don't show this message again"
msgstr "No mostrar este mensaje de nuevo"
@@ -3960,7 +3981,7 @@ msgid "State"
msgstr "Estado"
#: gtk/inspector/actions.ui:30 gtk/inspector/general.ui:115
#: gtk/ui/gtkplacesview.ui:158
#: gtk/ui/gtkplacesview.ui:92
msgid "Prefix"
msgstr "Prefijo"
@@ -6952,11 +6973,11 @@ msgctxt "Script"
msgid "Zanabazar Square"
msgstr "Zanabazar cuadrada"
#: gtk/ui/gtkaboutdialog.ui:133
#: gtk/ui/gtkaboutdialog.ui:136
msgid "About"
msgstr "Acerca de"
#: gtk/ui/gtkaboutdialog.ui:173
#: gtk/ui/gtkaboutdialog.ui:176
msgid "Credits"
msgstr "Créditos"
@@ -6968,7 +6989,7 @@ msgstr "_Ver todas las aplicaciones"
msgid "_Find New Applications"
msgstr "_Buscar aplicaciones nuevas"
#: gtk/ui/gtkappchooserwidget.ui:117
#: gtk/ui/gtkappchooserwidget.ui:119
msgid "No applications found."
msgstr "No se han encontrado aplicaciones."
@@ -7189,67 +7210,24 @@ msgstr ""
msgid "Available Protocols"
msgstr "Protocolos disponibles"
#: gtk/ui/gtkplacesview.ui:92
msgid "AppleTalk"
msgstr "AppleTalk"
#: gtk/ui/gtkplacesview.ui:103
msgid "File Transfer Protocol"
msgstr "Protocolo de transferencia de archivos"
#: gtk/ui/gtkplacesview.ui:114
msgid "Network File System"
msgstr "Sistema de archivos en red"
#: gtk/ui/gtkplacesview.ui:125
msgid "Samba"
msgstr "Samba"
#: gtk/ui/gtkplacesview.ui:136
msgid "SSH File Transfer Protocol"
msgstr "Protocolo de transferencia de archivos por SSH"
#: gtk/ui/gtkplacesview.ui:147
msgid "WebDAV"
msgstr "WebDAV"
#. Translators: do not translate ftp:// and ftps://
#: gtk/ui/gtkplacesview.ui:183
msgid "ftp:// or ftps://"
msgstr "ftp:// o ftps://"
#: gtk/ui/gtkplacesview.ui:205
msgid "smb://"
msgstr "smb://"
#. Translators: do not translate sftp:// and ssh://
#: gtk/ui/gtkplacesview.ui:216
msgid "sftp:// or ssh://"
msgstr "sftp:// o ssh://"
#. Translators: do not translate dav:// and davs://
#: gtk/ui/gtkplacesview.ui:227
msgid "dav:// or davs://"
msgstr "dav:// o davs://"
#. Translators: Server as any successfully connected network address
#: gtk/ui/gtkplacesview.ui:267
#: gtk/ui/gtkplacesview.ui:135
msgid "No recent servers found"
msgstr "No se han encontrado servidores recientes"
#: gtk/ui/gtkplacesview.ui:290
#: gtk/ui/gtkplacesview.ui:158
msgid "Recent Servers"
msgstr "Servidores recientes"
#: gtk/ui/gtkplacesview.ui:393
#: gtk/ui/gtkplacesview.ui:261
msgid "No results found"
msgstr "No se han encontrado resultados"
#: gtk/ui/gtkplacesview.ui:439
#: gtk/ui/gtkplacesview.ui:307
msgid "Connect to _Server"
msgstr "Conectar al _servidor"
#: gtk/ui/gtkplacesview.ui:472
#: gtk/ui/gtkplacesview.ui:340
msgid "Enter server address…"
msgstr "Introduzca la dirección del servidor…"
@@ -7671,7 +7649,7 @@ msgid "Vietnamese (VIQR)"
msgstr "Vietnamita (VIQR)"
#. ID
#: modules/input/imwayland.c:100
#: modules/input/imwayland.c:104
msgctxt "input method menu"
msgid "Wayland"
msgstr "Wayland"
@@ -8315,6 +8293,17 @@ msgstr "salida-de-prueba.%s"
msgid "Print to Test Printer"
msgstr "Imprimir en la impresora de prueba"
#~ msgctxt "switch"
#~ msgid "ON"
#~ msgstr "❙"
#~ msgctxt "switch"
#~ msgid "OFF"
#~ msgstr "○"
#~ msgid "smb://"
#~ msgstr "smb://"
#~| msgid "Default"
#~ msgctxt "Language"
#~ msgid "Default"
+2675 -1033
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -233,7 +233,7 @@ animation_timer (GtkEntryCompletion *completion)
{
g_print ("removing model!\n");
old_store = g_object_ref (store);
old_store = GTK_LIST_STORE (g_object_ref (store));
gtk_entry_completion_set_model (completion, NULL);
}
else
+2 -2
View File
@@ -103,9 +103,9 @@ get_model (void)
gtk_builder_add_from_string (builder, menu_markup, -1, &error);
g_assert_no_error (error);
menu = g_object_ref (gtk_builder_get_object (builder, "edit-menu"));
menu = G_MENU_MODEL (g_object_ref (gtk_builder_get_object (builder, "edit-menu")));
section = g_object_ref (gtk_builder_get_object (builder, "size-placeholder"));
section = G_MENU_MODEL (g_object_ref (gtk_builder_get_object (builder, "size-placeholder")));
g_object_unref (builder);
for (i = 0.5; i <= 2.0; i += 0.5)
+2 -2
View File
@@ -14,14 +14,14 @@ main (gint argc,
box = gtk_grid_new ();
gtk_container_add (GTK_CONTAINER (window), box);
widget = gtk_label_new ("Some filler text to avoid\nresizing of the window");
widget = gtk_label_new ("Some filler text just to avoid\nresizing of the window");
gtk_widget_set_margin_top (widget, 10);
gtk_widget_set_margin_bottom (widget, 10);
gtk_widget_set_margin_start (widget, 10);
gtk_widget_set_margin_end (widget, 10);
gtk_grid_attach (GTK_GRID (box), widget, 1, 1, 1, 1);
widget = gtk_label_new ("Some filler text to avoid\nresizing of the window");
widget = gtk_label_new ("Some filler text just to avoid\nresizing of the window");
gtk_widget_set_margin_top (widget, 10);
gtk_widget_set_margin_bottom (widget, 10);
gtk_widget_set_margin_start (widget, 10);
+51
View File
@@ -622,6 +622,54 @@ G_GNUC_END_IGNORE_DEPRECATIONS
}
}
static void
dump_atk_table_cell (AtkTableCell *table_cell,
guint depth,
GString *string)
{
gint i;
AtkObject *obj;
GPtrArray *cells;
gint row = -1, column = -1;
g_string_append_printf (string, "%*s<AtkTableCell>\n", depth, "");
obj = atk_table_cell_get_table (table_cell);
if (obj)
g_string_append_printf (string, "%*stable: %s\n", depth, "", get_name (obj));
cells = atk_table_cell_get_column_header_cells (table_cell);
if (cells)
{
for (i = 0; i < cells->len; i++)
{
obj = g_ptr_array_index (cells, i);
if (obj)
g_string_append_printf (string, "%*scolumn-header[%d]: %s\n", depth, "", i, get_name (obj));
}
g_ptr_array_free (cells, TRUE);
}
cells = atk_table_cell_get_row_header_cells (table_cell);
if (cells)
{
for (i = 0; i < cells->len; i++)
{
obj = g_ptr_array_index (cells, i);
if (obj)
g_string_append_printf (string, "%*srow-header[%d]: %s\n", depth, "", i, get_name (obj));
}
g_ptr_array_free (cells, TRUE);
}
g_string_append_printf (string, "%*scolumn-span: %d\n", depth, "", atk_table_cell_get_column_span (table_cell));
g_string_append_printf (string, "%*srow-span: %d\n", depth, "", atk_table_cell_get_row_span (table_cell));
if (atk_table_cell_get_position (table_cell, &row, &column))
{
g_string_append_printf (string, "%*sposition: %d %d\n", depth, "", row, column);
}
}
static void
dump_accessible (AtkObject *accessible,
guint depth,
@@ -675,6 +723,9 @@ dump_accessible (AtkObject *accessible,
if (ATK_IS_TABLE (accessible))
dump_atk_table (ATK_TABLE (accessible), depth, string);
if (ATK_IS_TABLE_CELL (accessible))
dump_atk_table_cell (ATK_TABLE_CELL (accessible), depth, string);
for (i = 0; i < atk_object_get_n_accessible_children (accessible); i++)
{
AtkObject *child = atk_object_ref_accessible_child (accessible, i);
+8
View File
@@ -7,6 +7,14 @@ window1
<AtkComponent>
layer: window
alpha: 1
unnamed-GtkContainerAccessible-0
"panel"
parent: window1
state: enabled sensitive showing visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
menubar1
"menu bar"
parent: window1
+8
View File
@@ -7,6 +7,14 @@ window1
<AtkComponent>
layer: window
alpha: 1
unnamed-GtkContainerAccessible-0
"panel"
parent: window1
state: enabled sensitive showing visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
menubutton
"toggle button"
parent: window1
+21 -13
View File
@@ -7,6 +7,14 @@ window1
<AtkComponent>
layer: window
alpha: 1
unnamed-GtkContainerAccessible-0
"panel"
parent: window1
state: enabled sensitive showing visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
menubutton
"toggle button"
parent: window1
@@ -23,7 +31,7 @@ window1
<AtkAction>
action 0 name: click
action 0 description: Clicks the button
unnamed-GtkPopoverAccessible-0
unnamed-GtkPopoverAccessible-1
"panel"
parent: menubutton
popup-for: menubutton
@@ -32,54 +40,54 @@ window1
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkStackAccessible-1
unnamed-GtkStackAccessible-2
"panel"
parent: unnamed-GtkPopoverAccessible-0
parent: unnamed-GtkPopoverAccessible-1
index: 0
state: enabled sensitive visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkContainerAccessible-2
unnamed-GtkContainerAccessible-3
"filler"
parent: unnamed-GtkStackAccessible-1
parent: unnamed-GtkStackAccessible-2
index: 0
state: enabled sensitive vertical visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkContainerAccessible-3
unnamed-GtkContainerAccessible-4
"filler"
parent: unnamed-GtkContainerAccessible-2
parent: unnamed-GtkContainerAccessible-3
index: 0
state: enabled sensitive vertical visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkContainerAccessible-4
unnamed-GtkContainerAccessible-5
"filler"
parent: unnamed-GtkContainerAccessible-3
parent: unnamed-GtkContainerAccessible-4
index: 0
state: enabled sensitive vertical visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkContainerAccessible-5
unnamed-GtkContainerAccessible-6
"filler"
parent: unnamed-GtkContainerAccessible-4
parent: unnamed-GtkContainerAccessible-5
index: 0
state: enabled sensitive vertical visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkButtonAccessible-6
unnamed-GtkButtonAccessible-7
"push button"
parent: unnamed-GtkContainerAccessible-5
parent: unnamed-GtkContainerAccessible-6
index: 0
name: New
state: enabled focusable sensitive visible
+21 -13
View File
@@ -7,6 +7,14 @@ window1
<AtkComponent>
layer: window
alpha: 1
unnamed-GtkContainerAccessible-0
"panel"
parent: window1
state: enabled sensitive showing visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
menubutton
"toggle button"
parent: window1
@@ -23,7 +31,7 @@ window1
<AtkAction>
action 0 name: click
action 0 description: Clicks the button
unnamed-GtkPopoverAccessible-0
unnamed-GtkPopoverAccessible-1
"panel"
parent: menubutton
popup-for: menubutton
@@ -32,54 +40,54 @@ window1
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkStackAccessible-1
unnamed-GtkStackAccessible-2
"panel"
parent: unnamed-GtkPopoverAccessible-0
parent: unnamed-GtkPopoverAccessible-1
index: 0
state: enabled sensitive visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkContainerAccessible-2
unnamed-GtkContainerAccessible-3
"filler"
parent: unnamed-GtkStackAccessible-1
parent: unnamed-GtkStackAccessible-2
index: 0
state: enabled sensitive vertical visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkContainerAccessible-3
unnamed-GtkContainerAccessible-4
"filler"
parent: unnamed-GtkContainerAccessible-2
parent: unnamed-GtkContainerAccessible-3
index: 0
state: enabled sensitive vertical visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkContainerAccessible-4
unnamed-GtkContainerAccessible-5
"filler"
parent: unnamed-GtkContainerAccessible-3
parent: unnamed-GtkContainerAccessible-4
index: 0
state: enabled sensitive vertical visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkContainerAccessible-5
unnamed-GtkContainerAccessible-6
"filler"
parent: unnamed-GtkContainerAccessible-4
parent: unnamed-GtkContainerAccessible-5
index: 0
state: enabled sensitive vertical visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
unnamed-GtkButtonAccessible-6
unnamed-GtkButtonAccessible-7
"push button"
parent: unnamed-GtkContainerAccessible-5
parent: unnamed-GtkContainerAccessible-6
index: 0
name: New
state: enabled focusable sensitive visible
+8
View File
@@ -7,6 +7,14 @@ window1
<AtkComponent>
layer: window
alpha: 1
unnamed-GtkContainerAccessible-0
"panel"
parent: window1
state: enabled sensitive showing visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
menubar1
"menu bar"
parent: window1
+8
View File
@@ -7,6 +7,14 @@ window1
<AtkComponent>
layer: window
alpha: 1
unnamed-GtkContainerAccessible-0
"panel"
parent: window1
state: enabled sensitive showing visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
scale1
"slider"
parent: window1
+8
View File
@@ -7,6 +7,14 @@ window1
<AtkComponent>
layer: window
alpha: 1
unnamed-GtkContainerAccessible-0
"panel"
parent: window1
state: enabled sensitive showing visible
toolkit: gtk
<AtkComponent>
layer: widget
alpha: 1
box1
"filler"
parent: window1
+51
View File
@@ -59,6 +59,11 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
tv
"table cell"
parent: tv
@@ -103,6 +108,11 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
tv
"table cell"
parent: tv
@@ -147,6 +157,11 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
tv
"table cell"
parent: tv
@@ -162,6 +177,12 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
position: 1 0
tv
"table cell"
parent: tv
@@ -206,6 +227,12 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
position: 1 0
tv
"table cell"
parent: tv
@@ -250,6 +277,12 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
position: 1 0
tv
"table cell"
parent: tv
@@ -265,6 +298,12 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
position: 2 0
tv
"table cell"
parent: tv
@@ -309,6 +348,12 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
position: 2 0
tv
"table cell"
parent: tv
@@ -353,3 +398,9 @@ window1
action 1 description: Creates a widget in which the contents of the cell can be edited
action 2 name: activate
action 2 description: Activates the cell
<AtkTableCell>
table: tv
column-header[0]: unnamed-GtkButtonAccessible-0
column-span: 1
row-span: 1
position: 2 0