Compare commits

...

3122 Commits

Author SHA1 Message Date
Lapo Calamandrei
d1622ad5ef Adwaita: cleanup commented code 2014-10-07 13:43:54 +02:00
Lapo Calamandrei
2fa862590d Adwaita: change spinbutton button color on backdrop
Contextually dim the spinbutton button color a little bit.
2014-10-07 12:52:10 +02:00
Lapo Calamandrei
01536e7055 Adwaita: vertically linked entries
- vertically link buttons/entries removing the bottom border, this
  allows to use adiacent siblings to change the top border of the
  following linked item when needed (e.g. focused entry)
- add background-color to entry drawing mixin so it's possible to
  flatten the entry background just removing the background-image,
  since all the other linked entries but the first or the ones
  following a button need a flat background.
- avoid spinbutton style being overridden by linking.
- avoid using the box-shadow hack.
2014-10-07 11:57:29 +02:00
Matthias Clasen
d120346992 gtk3-demo: Don't use deprecated API
Replace various override calls.
2014-10-07 00:48:30 -04:00
Matthias Clasen
5a0dc74ded Inspector: Use text attributes for monospace labels 2014-10-07 00:42:46 -04:00
Matthias Clasen
0c02bc4239 Inspector: Use the new monospace support 2014-10-07 00:42:21 -04:00
Matthias Clasen
a3dfffa8b8 Adwaita: Add .monospace style 2014-10-07 00:40:55 -04:00
Matthias Clasen
0004e667ab GtkTextView: Add a monospace property
This is a convenient shortcut for a common case. It is implemented
by adding a .monospace style class to the text view, and letting
the theme decide about the monospace font to use.
2014-10-07 00:39:42 -04:00
Matthias Clasen
2dfc03bdb5 GtkSidebar: Pick up the visible child from the stack
Same here: We need to synchronize the visible child with the
selected row when setting a stack on the sidebar. I've noticed
this problem in the sidebar example in gtk3-widget-factory.
2014-10-06 23:07:35 -04:00
Matthias Clasen
c53f4bb342 GtkStackSwitcher: Pick up the visible child from the stack
We forgot to synchronize the visible child when setting a
stack on the switcher. Oops.
2014-10-06 23:06:09 -04:00
Matthias Clasen
ba63f95a4a Add GtkTextViewClass to the docs
So that the existing information about draw_layer actually
ends up in the docs. While we are at it, document the other
vfuncs.

https://bugzilla.gnome.org/show_bug.cgi?id=737952
2014-10-06 22:33:19 -04:00
Michael Catanzaro
62da080bd0 tooltip: fix line wrapping
We enable line wrap on the internal GtkLabel, but nowadays this does
nothing unless we also set a max number of characters.

https://bugzilla.gnome.org/show_bug.cgi?id=737929
2014-10-06 21:30:18 -04:00
Vasiliy Nuzha
ba6522d3f2 Fix monitors enumeration bug
Fix monitors enumeration bug. By default used MONITORINFOEXW (UTF-16 Build) with wrong structure size
2014-10-06 22:48:08 +00:00
Jasper St. Pierre
1914e65591 gdkwindow: Fix small typo 2014-10-06 13:36:59 -07:00
Benjamin Otte
f3bd78a3cf gdk: Fix gdk_cairo_create() without begin_paint()
We were translating the clip region twice in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=737825
2014-10-06 22:24:28 +02:00
Changwoo Ryu
916d9e4a52 Updated Korean translation 2014-10-07 01:35:23 +09:00
Kalev Lember
112e74ed64 gdk: Allow calling gdk_cairo_surface_create_from_pixbuf with scale 0
The documentation explicitly states that 0 is an allowed value for using
the same scale as the window. This 0 value is also explicitly checked
down in the call chain and handled.
2014-10-06 14:39:22 +02:00
Benjamin Otte
5e4672092a gdk: Deprecate static gravities
... and remove all implementations. The API allows to not work "if the
server doesn't support it. So from now on, no server does!
2014-10-06 02:38:40 +02:00
Jasper St. Pierre
dadc37e64d cssshadowvalue: Add a cache for blurred Pango layouts
Drawing text with Pango is quite expensive, and drawing text and also
blurring it is *really* expensive. To prevent us from drawing a lot of
text and then blurring it a lot is *really* expensive.

We now cache the blurred pixels for the last layout and shadow we made,
which means we can repeatedly draw labels with a blurred text-shadow
extremely fast.

To detect whether the shadow is up-to-date, we track the serial of the
PangoLayout alongside the radius of the box shadow. We don't support
inset shadows nor spread on text-shadow, so we don't need to track
these.
2014-10-06 01:58:31 +02:00
Matthias Clasen
919bdff7ac GdkDevice: Avoid unnecessary critical
There is no need for a critical warning just because somebody
asked for a property that is not meaningful for the device.
Just document it as not useful for keyboard devices.
2014-10-05 19:43:06 -04:00
Matthias Clasen
d1fd8267ef Cosmetic formatting fix 2014-10-05 13:39:37 -04:00
Matthias Clasen
b858d45e3c GtkPlacesSidebar: Don't pile up duplicate bookmarks
We get multiple notifications from the bookmark manager when
something changes. Every time, we reconstruct the sidebar contents
completely, by clearing the store. The bookmarks are added with
async calls though, and the code was forgetting to cancel outstanding
async requests, leading to multiple instances of the same bookmark
getting added. Use the cancellable we already have to prevent that.

This could be made much more efficient by not recreating the entire
sidebar quite so often (3-5 times for a single bookmark rename).

https://bugzilla.gnome.org/show_bug.cgi?id=737679
2014-10-05 13:39:37 -04:00
Wolfgang Stöggl
fbad4f6c03 Updated German translation 2014-10-05 14:25:27 +00:00
Lapo Calamandrei
e3fa5592be Adwaita: fix last vertically linked focused entry 2014-10-05 12:29:04 +02:00
Benjamin Otte
cff37ce26e x11: Remove overeager check
window->parent must exist, it's dereferenced a few lines below.

Avoids clang complaints.
2014-10-05 11:25:06 +02:00
Benjamin Otte
66be6a018c gdk: Remove overeager checks
Parent is guaranteed to not be NULL. It can only ever be NULL for root
windows and root windows cannot be created with gdk_window_new() and
gdk_window_ensure_native() will exit early because they already are
native.

Also, both functions would crash a few lines below where parent gets
dereferenced.
2014-10-05 11:25:05 +02:00
Benjamin Otte
3526f2081b x11: Remove unneeded and wrong return_if_fail()
It triggers coverity warnings.
2014-10-05 11:25:05 +02:00
Matthias Clasen
dd8db0f5cb GtkScrolledWindow: code cleanup
Remove return-if-fail parameter checks from static functions,
where we don't normally do these.
2014-10-05 00:19:51 -04:00
Matthias Clasen
bcfa41cec6 Cosmetic documentation improvements 2014-10-05 00:13:09 -04:00
Matthias Clasen
9a2327a35e Use .label in the theme css 2014-10-04 21:53:29 -04:00
Matthias Clasen
75bcecb363 Add a label style class 2014-10-04 21:53:29 -04:00
Lapo Calamandrei
f2cd7f151e Adwaita: add vertically linked combos 2014-10-05 00:56:48 +02:00
Matthias Clasen
cfdbd59963 docs: Add an index for 3.16 additions 2014-10-04 16:09:21 -04:00
Matthias Clasen
978afce04a Fix a thinko in the previous commit
GTK+ relies on this function silently failing for invalid data.
2014-10-04 16:06:30 -04:00
Matthias Clasen
a00842fa99 Add a function to load css from a resource
This is common enough that we should just provide an API for it
- we already had a function for this purpose anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=672946
2014-10-04 15:52:02 -04:00
Matthias Clasen
40049581bc Trivial documentation tweaks 2014-10-04 15:48:07 -04:00
Matthias Clasen
c79ccfd6f1 widget-factory: Cosmetic improvement 2014-10-04 15:14:26 -04:00
Matthias Clasen
79afd7c8d7 widget-factory: More vertical linking examples 2014-10-04 15:01:29 -04:00
Lapo Calamandrei
1f8b0852a4 Adwaita: added style for vertically linked entries 2014-10-04 20:24:24 +02:00
Matthias Clasen
a03583d14f printing: Avoid missing icons
I've noticed a missing image show up in my print dialog, where
the printer reported "printer-paused" as icon. Rearrange things
so we always fall back to "printer" for printer icons.
2014-10-04 12:20:23 -04:00
Matthias Clasen
c0573272f3 printing: Make GtkPrinter have a useful icon by default
It causes complication elsewhere if gtk_printer_get_icon_name()
returns NULL initially. So make the icon name default to
"printer".
2014-10-04 12:20:17 -04:00
Matthias Clasen
f634684eeb printing: Another tweak to sheet drawing
After consultation, revisit the vertical centering to center
the first 'stack', and put the second one behind it.
2014-10-04 11:56:44 -04:00
Matthias Clasen
72a809be0a inspector: Down the model tree
Show nested tree models, inside filter or sort models. Without
this, you can't get at the data.
2014-10-04 11:53:14 -04:00
Matthias Clasen
051eedcea1 Small code rearrangement 2014-10-04 11:43:50 -04:00
Benjamin Otte
9752ab1711 docs: Fix some copy/paste errors 2014-10-04 17:18:50 +02:00
Benjamin Otte
82b7d21f6e print: Add a .paper style class
... and use it in the print preview.
2014-10-04 17:18:50 +02:00
Benjamin Otte
f7d7d345da docs: Add a man page fro gtk3-demo-application
It is an installed binary, so it needs a man page!
2014-10-04 17:18:50 +02:00
Matthias Clasen
4bc09a6a17 printing: Simplify sheet drawing
We don't need the scaling support anymore - icon sizes are
no longer settable.
2014-10-04 11:00:10 -04:00
Matthias Clasen
10d0dad2cf print: Center sheet drawing horizontally
Center the page ordering indicator horizontally, relative to the
spinbutton above it.
2014-10-04 10:55:13 -04:00
Matthias Clasen
99c65b1587 print: Center sheet drawing vertically
Center the page ordering indicator vertically, relative to the
checkboxes next to it.
2014-10-04 10:55:06 -04:00
Matthias Clasen
7866d4ba21 Remove an unused variable 2014-10-03 23:20:18 -04:00
Matthias Clasen
fee46bda00 inspector: Fix a thinko
We still need to possibly scan the toplevel after selecting
a widget, since we don't monitor the list of toplevels, so
the window may not be in our tree yet. This was broken in
commit e7bd73f2b0.
2014-10-03 22:12:54 -04:00
Piotr Drąg
af7e73f9df Updated POTFILES.skip 2014-10-03 17:38:20 +02:00
Benjamin Otte
3b83e4ee5c libgail: Add deprecation guards 2014-10-03 15:51:45 +02:00
Benjamin Otte
c750cea4e5 imcontextxim: Remove broken custom drawing code
Just use regular GtkWindow styling instead.
2014-10-03 15:51:45 +02:00
Matthias Clasen
2e83e7d335 GtkBuilder: Don't use deprecated types in examples 2014-10-03 09:33:35 -04:00
Matthias Clasen
80226ca926 GtkBuilder: Undo the type name heuristic changes
These turned out to break existing ui files, concretely
GWeatherLocationEntry was no longer guessed correctly.

Update the testcases to reflect this, and add a testcase
for GWeather.
2014-10-03 09:29:45 -04:00
Matthias Clasen
b22919220b widget-factory: Make the record button more interesting 2014-10-03 01:13:02 -04:00
Matthias Clasen
3b18ea71c3 widget-factory: Add a sidebar example 2014-10-03 01:04:29 -04:00
Benjamin Otte
c9d9c9158f gtk-demo: Replace old code
"Hey I know, let's do an easter egg!"
"What kind of easter egg?"
"We can nest lots of textviews!"
"Sounds cool!"
...
"But how does one see a textview inside a textview?"
"What do you mean?"
"Well, it just looks like black text on a white background."
"You mean it's the same as if we just duplicated the text?"
"Yeah!"
"Hrm, maybe we can put a frame around it."
"Sounds good. I'll stuff the textviews in a GtkFrame."
"What? Why? Let's use a GtkEventBox and override its background"
"Why is that a good idea when we have GtkFrame?"
"Because I said so!"
"Okay."
2014-10-03 06:59:14 +02:00
Benjamin Otte
2b6a4ba890 gtk-demo: Remove useless code in colorsel example
We have the color stored in a global variable already. There is
absolutely no need to also force it into the CSS machinery.
2014-10-03 06:48:18 +02:00
Benjamin Otte
23a4affb6f gtk-demo: Improve flowbox demo code
Overriding the background color for a color swatch is wrong. The color
is not the background, it's the foreground, so it should be painted in
a draw signal handler.
2014-10-03 06:45:38 +02:00
Benjamin Otte
40e0973709 gtk-demo: Remove unneeded code
Overlays are transparent by default, no need to override them to be.
2014-10-03 06:40:13 +02:00
Benjamin Otte
2fbc77fce1 gtk-demo: Properly override font color in combobox example 2014-10-03 06:38:21 +02:00
Benjamin Otte
a2f550d91b stylecontext: Add missing docs for deprecations 2014-10-03 06:27:49 +02:00
Benjamin Otte
0e34c87211 fontchooserwidget: Use text attributes for the preview
... instead of adding a custom CSS provider.
2014-10-03 06:18:07 +02:00
Benjamin Otte
54c6c7ae87 cellrendereraccel: Remove unused variables 2014-10-03 06:18:07 +02:00
Benjamin Otte
91467a45fc stylecontext: Deprecate functions
- gtk_style_context_get_background_color()
- gtk_style_context_get_border_color()

Those functions shouldn't be used anymore, because they don't represent
anything from the CSS styling we support. The background color often
isn't used due to background images and there are actually 4 different
border colors (1 for each side) - if there isn't also a border image in
use.
2014-10-03 06:18:06 +02:00
Benjamin Otte
39453478ab print: Improve sheet drawing a bit
This is only one step in the right direction. Long term this code should
probably be replaced by real widgets.
2014-10-03 06:18:06 +02:00
Benjamin Otte
c543ddab3a theming: Use gtk_style_context_peek_property()
instead of outdated accessors.
2014-10-03 06:18:06 +02:00
Benjamin Otte
dd7c65a95a scrolledwindow: Rewrite overshoot code with regular styling
Instead of drawing a gradient in the background color, draw a CSS box.

And change the theme so instead of setting just a background color it
draws a gradient.

The resulting visuals are the same.
2014-10-03 06:18:06 +02:00
Benjamin Otte
a6f935bb77 scrolledwindow: Don't use LIGHTEN operator
For the overshoot gradient, using OVER is fine. Simplifies the code and
increases performance.
2014-10-03 06:18:06 +02:00
Benjamin Otte
d941e5f0c0 scrolledwindow: Remove unused variable 2014-10-03 06:18:06 +02:00
Benjamin Otte
8d1227a97c label: Simplify rendering code
Instead of drawing text for selections and links manually, use the
gtk_render_background() and gtk_render_layout() functions.

As a side effect, this allows shadows on selected text and links
and real backgrounds (like gradients or images), too.
2014-10-03 06:18:06 +02:00
Benjamin Otte
9744e86e04 combobox: Don't set cell view background
This can be done with CSS these days. Also, these days the background of
cell views is transparent, so it doesn't even have to be done.
2014-10-03 06:18:05 +02:00
Benjamin Otte
b547c0319a entrycompletion: Remove outdated code
I tried asking but nobody knew why it is necessary to set the background
color of the first cell. It seems with CSS styling this is completely
unnecessary.
2014-10-03 06:18:05 +02:00
Benjamin Otte
93aeb63f0c sidebar: Fix gcc warning 2014-10-03 06:18:05 +02:00
Benjamin Otte
a0bf0a0f70 themingengine: Call real API render functions
No need to call the private versions anymore now that the real ones
don't call into the theming engine.
2014-10-03 06:18:05 +02:00
Benjamin Otte
4d9d655b4e themingengine: Stop using it
Instead, call the default theme engine's code directly.
2014-10-03 06:18:05 +02:00
Benjamin Otte
23948d6a3a themingengine: Move actual render functions to gtkrender.c
GtkThemingEngine just always calls
  gtk_do_render_foo(engine->priv->context, ...)
now. Other than that, the code is unchanged.
2014-10-03 06:18:05 +02:00
Benjamin Otte
d3c147a62d stylecontext: Split render functions out into gtkrender.[ch] 2014-10-03 06:18:05 +02:00
Jasper St. Pierre
763aa4db94 cssshadowvalue: Move the check for blurring into its own function
This makes it easier to update the check later.
2014-10-03 06:18:04 +02:00
Jasper St. Pierre
6556e7e08d cssshadowvalue: Rename shadow_key to original_cr_key
shadow_key is a poor name for this, and we're going to add more user
data keys, so rename it to something more indicative of what it's used
for.
2014-10-03 06:18:04 +02:00
Benjamin Otte
e683e915b8 css: Queue resize for properties that affect clip
This fixes shadows that are animated not updating the clip of the widget
they are drawn on. An example of this are the buttons in the CSS shadows
example in gtk-demo.

Reftest included
2014-10-03 06:18:04 +02:00
Benjamin Otte
f7ee61c833 css: Have finer-grained definitions for effects of CSS props
This adds the GtkCssAffects enum and implements it for all style
properties.
So far, this is not exposed outside of the implementation file.
2014-10-03 06:18:04 +02:00
Benjamin Otte
7afac9670b image: Implement clipping support for icon-shadow
Testcase is attached.
2014-10-03 06:18:04 +02:00
Benjamin Otte
7d1e79ef4b tests: Add a test for a performance optimisation
text-shadow is too slow. Running this testcase reveals that.
2014-10-03 06:18:04 +02:00
Matthias Clasen
202116c60c Printing: Make the print dialog look better with bottom buttons
With buttons at the bottom, things were not looking good here:
no spacing, and a gray background. Add spacing, and put the buttons
on the white background.
2014-10-03 00:07:28 -04:00
Matthias Clasen
5c46db1d77 widget-factory: Add more buttons
Some more button variations, found in the wild.
2014-10-02 23:38:58 -04:00
Matthias Clasen
cc529c2423 GtkRadioButton: Allow setting group more than once
It turns out that GtkBuilder will sometimes set a property
twice. Normally, this is harmless, but for GtkRadioButton:group,
it triggered a critical. Remove that.
2014-10-02 23:37:38 -04:00
Matthias Clasen
d5531da7f8 Trivial typography improvement
Use an em dash instead of -- in documentation.
2014-10-02 22:37:37 -04:00
Matthias Clasen
8495c0c7ad GtkSidebar: Don't use internal API
This makes it possible to copy the gtksidebar.c source into
other projects, for early adopters.
2014-10-02 22:01:14 -04:00
Matthias Clasen
db5cbce4d5 GtkSidebar: Fix a property type
The GtkSidebar:stack was meant to be an object property
of type GTK_TYPE_STACK. Make it so.
2014-10-02 22:00:40 -04:00
Matthias Clasen
5b36bd704b widget-factory: Add a scale button
Instead of two volume buttons, make the second one a scale button
and use microphones.
2014-10-02 21:42:08 -04:00
Matthias Clasen
59637c95a6 Properly extract strings from gtkprintunixdialog.ui
Since 972136803a, gtkprintunixdialog.ui contains non-ASCII
in translatable strings. These were not properly extracted.
2014-10-02 21:29:54 -04:00
Matthias Clasen
b3d90fe51b Make non-ASCII strings in ui files work
Our extractor tool was not calling setlocale(), thus it only
produced output in the C locale, ie ASCII. Oops.
2014-10-02 21:28:43 -04:00
Matthias Clasen
6a214c9bcd GtkExpander: Fix a problem with resize-toplevel
The toplevel resizing was not working properly when the
content had non-trivial height-for-width behavior (such
as a wrapping label).
2014-10-02 18:06:02 -04:00
Matthias Clasen
eb88ce429c gtk-demo: Make the sidebar demo scroll 2014-10-02 18:06:02 -04:00
Matthias Clasen
2a615e2e45 GtkSidebar: Scroll when needed 2014-10-02 18:06:02 -04:00
Piotr Drąg
7eac2bc4c3 Updated POTFILES.in 2014-10-03 00:00:15 +02:00
Lapo Calamandrei
64fea1be04 Adwaita: needs-attention on sidebar-item
Unfortunatelly it doesn't animate (not my fault) and it just work
on GtkLabel (my fault).
2014-10-02 21:16:30 +02:00
Lapo Calamandrei
d2838a2408 Adwaita: selectors cleanup and some refactoring 2014-10-02 20:40:18 +02:00
Marek Kasik
8b5d30d439 Remove redundant checks for NULL
Remove checks for NULL before g_free() and g_clear_object().
Merge check for NULL, freeing of pointer and its setting
to NULL by g_clear_pointer().

https://bugzilla.gnome.org/show_bug.cgi?id=733157
2014-10-02 19:06:03 +02:00
Matthias Clasen
07722ae2dd GtkCellRendererAccel: Stop using deprecated API 2014-10-02 00:37:52 -04:00
Matthias Clasen
af4031d9fe GtkFontChooserWidget: Stop using deprecated API 2014-10-02 00:30:52 -04:00
Matthias Clasen
11015a49ae GtkColorEditor: Fix missing background in popups 2014-10-02 00:19:08 -04:00
Matthias Clasen
d26c8e0536 GtkColorEditor: Stop using deprecated API
This call was not needed at all.
2014-10-02 00:11:02 -04:00
Matthias Clasen
d6a467d48e GtkFontButton: Stop using deprecated API 2014-10-02 00:05:43 -04:00
Matthias Clasen
a2da26de04 GtkSidebar: not a listbox anymore
Applications are not expected to call GtkListBox API on a
sidebar, so don't make it one. Instead, make it have a
listbox.
2014-10-01 22:45:30 -04:00
Matthias Clasen
7b2e526c3a GtkCalendar: deal better with a large allocation
When allocated more than the requested height, GtkCalendar
was 'falling apart'. Not only was the main part rendered
at the far end of the allocation, clicking on days was
broken in this scenario.

Fix this by always placing the main part directly under
the header and day names.

https://bugzilla.gnome.org/show_bug.cgi?id=737670
2014-10-01 20:09:10 -04:00
Matthias Clasen
b46cef1809 Trivial formatting fix 2014-10-01 19:52:04 -04:00
Matthias Clasen
09551bf37a Fix a typo 2014-10-01 19:30:12 -04:00
Matthias Clasen
52c913156f Don't emit a useless warning
The warning may have had some value at some point, but if
people uninstall large icons just to make the warning go
away, it does more harm than good. So just remove it.
2014-10-01 13:17:14 -04:00
Matthias Clasen
7e9372bafa Fix fonts in context menus
Context menus inherit their style from the widget they are attached
to. This can have unexpected effects in particular for font, as can
be seen in gedit or gnome-calculator. Prevent this by resetting
the font of context-menus to the initial value.
2014-10-01 07:11:43 -04:00
Matthias Clasen
d0fb80d31b Avoid compiler warnings 2014-10-01 00:50:25 -04:00
Matthias Clasen
95d76d0132 Add a few missing include guards 2014-10-01 00:49:59 -04:00
Matthias Clasen
619aeb643f Provisional sidebar theming
needs-attention is not handled yet, here.
2014-10-01 00:46:13 -04:00
Ikey Doherty
cdd2651db0 Add GtkSidebar
GtkSidebar behaves internally much like GtkStackSwitcher, providing a vertical
sidebar like widget. It is virtually identical in appearance to the widget
currently used in GNOME Tweak Tool.

This widget is connected to a GtkStack, and builds its own contents as a
GtkListBox subclass, using the "title" child property to provide a consistent
navigatable widget.

Being a subclass of GtkListBox it benefits immediately from strong keyboard
navigation, and minimal changes are required for theming.

https://bugzilla.gnome.org/show_bug.cgi?id=735293

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2014-10-01 00:44:46 -04:00
Jasper St. Pierre
3b08ba24b3 reftests: Actually add a text-shadow to the text-shadow reftest
The reftest still passes, since the code still works, but we might as
well test what we claim to test.
2014-09-30 13:43:36 -06:00
Jasper St. Pierre
91d9ae1cc4 label: Don't add in the allocation to our clip again
_gtk_widget_set_simple_clip already takes the allocation into account,
so we don't need to do it here.
2014-09-30 13:43:36 -06:00
Alexandre Franke
3829554f3a Updated French translation 2014-09-30 17:50:27 +00:00
GNOME Translation Robot
c1ae4a2baf Updated Scottish Gaelic translation 2014-09-30 13:01:46 +00:00
Marek Černocký
da3cb153bc Updated Czech translation 2014-09-30 13:27:20 +02:00
Marek Černocký
563230b89d Updated Czech translation 2014-09-30 13:27:14 +02:00
Yosef Or Boczko
4bbcc4a397 Updated Hebrew translation 2014-09-30 13:58:17 +03:00
Chun-wei Fan
64fb9a6eb2 Update README.txt for MSVC Builds
Tell people that they need to download and install the Adwaita icon theme,
by following the instructions given on
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack.

Also tell people they can either use IJG JPEG or libjpeg-turbo for non-GDI+
builds of GDK-Pixbuf.
2014-09-30 13:01:17 +08:00
Matthias Clasen
558c6ea6b5 Better typography for ppd paper names
These often contain a <num>x<num> string, which we can display
nicer by rendering it as <num>×<num>.
2014-09-30 00:55:03 -04:00
Matthias Clasen
63efdca223 Deprecate GtkWidget override APIs
This is better done with css and style classes nowadays.
2014-09-30 00:08:59 -04:00
Matthias Clasen
61b636b8a4 Add 3.16 deprecation macros too 2014-09-30 00:03:25 -04:00
Matthias Clasen
aa3020a39e GtkContainer: Support focus chain in GtkBuilder
This adds support for a <focus-chain> element which can be
used to specify a custom focus order for the children of
a container.

https://bugzilla.gnome.org/show_bug.cgi?id=582799
2014-09-29 23:59:21 -04:00
Matthias Clasen
6d3c61856b GtkButton: Use GtkLabel:xalign 2014-09-29 23:57:13 -04:00
Matthias Clasen
811c4c699f GtkAssistant: Use GtkLabel:xalign 2014-09-29 23:56:20 -04:00
Matthias Clasen
059e33ecea Keep GtkMisc:xalign working for labels
Set the new label properties when gtk_misc_set_alignment is used,
to keep things working.
2014-09-29 23:56:20 -04:00
Matthias Clasen
a43e0177cf Revert "Undreprecate GtkMisc::x/yalign for now"
This reverts commit 29eae57be4.

We have GtkLabel:xalign now, so deprecate the GtkMisc property again.
2014-09-29 23:56:20 -04:00
Matthias Clasen
d39424fc1c GtkLabel: add x/yalign properties
Since it turns out that x/yalign can't be quite equivalently
replaced by h/valign, bring them back as label properties, so
we can eventually get rid of GtkMisc.

https://bugzilla.gnome.org/show_bug.cgi?id=735841
2014-09-29 23:56:20 -04:00
Matthias Clasen
c2330e7fd1 Add 3.16 version macros 2014-09-29 23:56:20 -04:00
Matthias Clasen
7182ae4f45 printing: Better typography
Use U+201C/U+201D for quoting.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
0192f3fe2d printing: Better typography
Use U+2013 for ranges.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
05a9006715 inspector: Better typography
Use U+201C/U+201D for quoting.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
0403d94d43 GtkRecentChooserMenu: Better typography
Avoid `' quoting.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
4866f0cec4 GtkPlacesSidebar: Be consistent in messages
Always quote drive/volume names.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
faa1909474 GtkFileChooserWidget: Better typography
No double space after .

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
3fc0c2a8ea GtkVolumeButton: Better typography
Use a small space before %. This matches what we do for percentages
elsewhere.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
67b4f8ea75 GtkProgressBar: Mark the default text for translation
At the same time, use a small space before %.
This matches what is done in GtkCellRendererProgress.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
b3e1bb1654 Progress widgets: Better typography
Use a small space before %.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:22 -04:00
Matthias Clasen
e356841957 GtkBuilder: Improve error messages
No `' looks just terrible. For quoting in non-UI contexts, we
prefer either '' or "".

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:21 -04:00
Matthias Clasen
c7930417b4 GtkColorSelection: Better typography
Use U+201C/U+201D for quoting, and use U+2019 instead of apostrophe.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:21 -04:00
Matthias Clasen
9b5e70c9c2 Broadway: Improve formatting of an error message
https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:21 -04:00
Matthias Clasen
60f0445233 Printing: Better typography
Use U+007D MULTPLICATION SIGN for dimensions.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:20 -04:00
Matthias Clasen
972136803a GtkPrintUnixDialog: Better typography
Use U+2236 RATIO instead of ':' for times.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:20 -04:00
Matthias Clasen
60c7f22310 Use better typography for paper names
Use U+00D7 MULTIPLICATION SIGN instead of a plain old x in
paper names, following https://wiki.gnome.org/Design/OS/Typography.

This is a string change.

https://bugzilla.gnome.org/show_bug.cgi?id=735192
2014-09-29 23:05:20 -04:00
Matthias Clasen
5cd7a5282e Bump version 2014-09-29 22:14:49 -04:00
Matthias Clasen
09da977dc9 3.14.1 2014-09-29 21:37:36 -04:00
Matthias Clasen
5720cf8144 Update file lists
We were forgetting to include some theme files.
2014-09-29 21:28:25 -04:00
Jesse van den Kieboom
de96cea732 quartz: Add availability check for >= 10.7 API
This adds both a compile time check for the SDK version being
compiled against, as well as a runtime check in the case the
resulting binary is run against an older SDK.

https://bugzilla.gnome.org/show_bug.cgi?id=735054
2014-09-29 15:25:06 -04:00
Lapo Calamandrei
74e71495c2 Adwaita: draw the trough on progressbars in treeviews
See https://bugzilla.gnome.org/show_bug.cgi?id=737517
2014-09-29 14:59:07 -04:00
Lapo Calamandrei
7e1673d0b7 Adwaita: make links readable in the dark variant
And fix the messy style we have for *:link in the process.
https://bugzilla.gnome.org/show_bug.cgi?id=737386
2014-09-29 14:41:49 -04:00
Daniel Mustieles
695862797c Updated Spanish translation 2014-09-29 19:22:20 +02:00
Carlos Garnacho
3985d69735 gesture: Document pitfalls on foreign gesture state changes
Add some docs/example about the possible event handling ordering issues
that may appear on GtkGesture::begin between multiple gesture groups.
Mostly relevant for state changes.
2014-09-29 16:20:54 +02:00
Jakub Steiner
30149dabcf Adwaita: provide simple guidelines for theming
- Some simple instructions for future SASS/ruby lovers
2014-09-29 14:07:10 +02:00
Jakub Steiner
088206b267 depend on particular version of sass 2014-09-29 13:46:32 +02:00
Rui Matos
d05730db49 GtkFontButton: Make sure the dialog isn't destroyed on delete-event
The remaining code assumes that the dialog doesn't get destroyed, but
it actually does on delete-event.

In particular, the filter function and the preview text are lost as
soon as the dialog is created and thus when we create a new dialog we
don't have those properties to set on it anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=719936
2014-09-28 22:07:48 -04:00
Pierre-Yves Luyten
dce69904d8 gdk_rgba_parse : do not segfault on null string 2014-09-28 21:18:10 +02:00
Matthias Clasen
459bdbb143 Revert "Make Ctrl-u and Ctrl-k work in GtkTextView too"
This reverts commit 5744bb3cf1.

This causes conflicts with already existing shortcuts e.g.
in gedit.
2014-09-28 11:43:08 -04:00
Rūdolfs Mazurs
153ec7be56 Updated Latvian translation 2014-09-28 12:35:00 +03:00
Tom Tryfonidis
89c0522c45 Updated Greek translation 2014-09-27 13:24:52 +03:00
Matthias Clasen
4a38330a90 Add a test for GtkBuilder typename-mangling
This test makes sure that out heuristic for finding
get_type functions works as expected.

https://bugzilla.gnome.org/show_bug.cgi?id=635258
2014-09-26 23:31:11 -04:00
Matthias Clasen
f35dff334f Factor out a function
Factor out the typename-to-get-type mangling as a separate
function, for easier testing.

Also fix some cases where it doesn't, currently, like
GString -> g_string_get_type and
GdkRGB -> gdk_rgb_get_type
2014-09-26 23:30:29 -04:00
Matthias Clasen
0c2f3402c3 GtkBuilder: Mention more error domains
This has been requested in
https://bugzilla.gnome.org/show_bug.cgi?id=708206
2014-09-26 22:37:21 -04:00
Matthias Clasen
cfd2d6d2e7 Typo fix 2014-09-26 22:30:20 -04:00
Matthias Clasen
e586dd2571 GtkRange: Fix an event propagation issue
The scale in the selectable listbox in page 2 of gtk3-widget-factory
has the flaw that the row is getting selected even when one only
interacts with the scale - unlike e.g. the checkbutton and button
further down in the listbox.

The problem is that GtkRange is trying to claim the sequence for
the drag gesture from the ::pressed handler of a multipress
gesture. Since the drag gesture hasn't seen the sequence at this
point, that is ineffective.

The fix here is to rearrange the gestures so that the multipress
gesture sees the sequence before the drag gesture, and then
claim the sequence from the ::drag-begin handler.
2014-09-26 22:21:11 -04:00
Matthias Clasen
fd49340edb Trivial: reword docs a bit 2014-09-26 19:24:00 -04:00
Matthias Clasen
b333d5ea4e GtkRange: claim sequence when popping up menu
This was clearly an oversight - the function claims the sequence
at the end, and for the popup menu case, we have an early exit
that misses this.
2014-09-26 19:18:57 -04:00
Matthias Clasen
92e52fd188 Add a style class to fullscreened windows
This will let us tweak stuff that gets shown in fullscreen windows,
https://bugzilla.gnome.org/show_bug.cgi?id=654051
2014-09-26 18:08:46 -04:00
Matthias Clasen
8e1878bc32 Fix a memory leak in gtk_test_find_label
Pointed out by Garrett Regier in
https://bugzilla.gnome.org/show_bug.cgi?id=737439
2014-09-26 18:00:19 -04:00
Matthias Clasen
5744bb3cf1 Make Ctrl-u and Ctrl-k work in GtkTextView too
It doesn't make sense to have them work in entries, but not here.
2014-09-26 17:53:07 -04:00
Matthias Clasen
5da91504da inspector: Drop an unused variable 2014-09-26 11:15:25 -04:00
Matthias Clasen
423868b408 entry: Revisit Ctrl-u one more time
Add a Ctrl-k binding too, and make them match their traditional
commandline meaning or 'erase line to the beginning/end'.
2014-09-26 11:14:28 -04:00
Matthias Clasen
414bc202e7 GtkEntry: Add a key binding for clearing the entry
Ctrl-u is a fine, well-established keybinding for this purpose,
lets just use it.
2014-09-26 10:29:10 -04:00
Matthias Clasen
e7bd73f2b0 inspector: Simplify populating the tree
No need to loop toplevels in two places.
2014-09-26 09:50:33 -04:00
Matthias Clasen
2cb31edf6f inspector: Show the warning dialog without delay
The delay was a mistaken attempt to work around a problem that
is now better understood, see
https://bugzilla.gnome.org/show_bug.cgi?id=735338
2014-09-26 09:50:33 -04:00
Matthias Clasen
3214122fbd Remove some redundant code
No need to check the same widget twice in a row for being a window.
2014-09-26 09:50:33 -04:00
Matthias Clasen
3b62f2f01d GtkWindow: improve the inspector keybinding
Binding signals can return a boolean indicating whether they
handled the event. Use that here and return FALSE if the
inspector keybinding is disabled.
2014-09-26 09:50:33 -04:00
Piotr Drąg
eea2e1c631 Updated Polish translation 2014-09-26 12:18:29 +02:00
Matthias Clasen
6ce24d82d6 gtk-demo: Don't create 2 main windows
Loading a builder file with a window leaves a ghost behind, since
windows need to be explicitly destroyed. Avoid that by using
gtk_builder_add_objects_from_resource.
2014-09-25 23:57:34 -04:00
Andika Triwidada
513ce6135a Updated Indonesian translation 2014-09-26 03:12:08 +00:00
Matthias Clasen
1041f93f7f inspector: life-cycle fixes
When closing the inspector before the main window, we must take
care to sever all signal connections and weak refs, otherwise
things will go bad when the window is closed later.
2014-09-25 23:05:15 -04:00
Eric Le Bihan
ed5f6d4333 Fix testgtk.c when building for Wayland.
Fix wrong usage of GDK_WINDOWING_WAYLAND instead of
GDK_WINDOWING_X11 in test/testgtk.c.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>

https://bugzilla.gnome.org/show_bug.cgi?id=737363
2014-09-25 17:48:43 -04:00
Carlos Garnacho
d17fd81d9b button: Fix ::clicked emission on touchscreens sending pointer events
When GtkGestureMultiPress::released happens, in_button should be unset
after emitting GtkButton::released, whose default implementation uses it.
Moreover, in_button should only be unset there for real touch events, not
guaranteed to trigger crossing events, as opposed to every pointer/touch
events from touchscreens.

https://bugzilla.gnome.org/show_bug.cgi?id=737297
2014-09-25 21:25:52 +02:00
Matthias Clasen
fcec9b9812 Use titlebar action settings for CSD windows
Instead of hardcoding these actions, consult the settings.
Note that not all of the actions supported by gnome-shell are
implemented here, only maximize, minimize, lower, and menu.

https://bugzilla.gnome.org/show_bug.cgi?id=729782
2014-09-25 14:54:49 -04:00
Matthias Clasen
d20fdd18eb Factor out titlebar click actions
So they can be made configurable.

https://bugzilla.gnome.org/show_bug.cgi?id=729782
2014-09-25 14:54:49 -04:00
Matthias Clasen
6604f00236 Implement titlebar action settings for Wayland
https://bugzilla.gnome.org/show_bug.cgi?id=729782
2014-09-25 14:54:49 -04:00
Matthias Clasen
69a44ee9ef Implement titlebar action settings for X11
https://bugzilla.gnome.org/show_bug.cgi?id=729782
2014-09-25 14:54:49 -04:00
Matthias Clasen
1d8a1a04f6 Add settings for titlebar actions
These match the GSettings that mutter/metacity/gnome-shell have
for this. We change the default for the middle-click action to
none, since lower is just a terrible default.

We're slightly bending the rules here, since we're adding new
settings after .0, but a) it is just barely after .0, and b) settings
are not really application API.

https://bugzilla.gnome.org/show_bug.cgi?id=729782
2014-09-25 14:54:02 -04:00
Balázs Úr
26f4c05db3 Updated Hungarian translation 2014-09-25 16:00:08 +00:00
Stas Solovey
c35d1ed0bd Updated Russian translation 2014-09-25 11:55:56 +00:00
Мирослав Николић
daa22adf8a Updated Serbian translation 2014-09-25 09:46:30 +02:00
Matthias Clasen
96fd15454b Make GtkModelButton work with touch
Some recent refactoring changed things so that in_button is no
longer TRUE when released() is called for touch events. As a minimal
fix, let GtkButton do more of the work by chaining up to its
pressed and released handlers, which know how to handle touch
events. This could be further improved by leaving more of the
state handling to GtkButton, like it was done for GtkToggleButton.
2014-09-24 23:33:23 -04:00
Matthias Clasen
4f76f18b9f Improve workarea documentation
Worth mentioning that workarea may not exist, and that we
return the full monitor geometry in that case.
2014-09-24 20:34:16 -04:00
Matthias Clasen
46ff5ef6ce x11: Neuter workarea in fullscreen scenarios
If we have a fullscreen window that covers a monitor, desktop
chrome is not relevant for placing of menus and other popups.
Therefore, return the full monitor geometry instead of the
workarea in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=737251
2014-09-24 20:31:11 -04:00
Matthias Clasen
c0685c0f58 Fix comment typo 2014-09-24 20:31:11 -04:00
Мирослав Николић
d7b3fe7d33 Updated Serbian translation 2014-09-24 22:08:31 +02:00
Alexandre Franke
8c498b86e6 Updated French translation 2014-09-24 13:56:58 +00:00
Krishnababu Krothapalli
d48f53b938 Updated Telugu translation 2014-09-23 23:19:49 +00:00
Daniel Mustieles
c5934f537a Updated Spanish translation 2014-09-23 19:45:10 +02:00
Andika Triwidada
0a1dae816e Updated Indonesian translation 2014-09-23 17:22:35 +00:00
Krishnababu Krothapalli
b89217dd52 Updated Telugu translation 2014-09-23 16:39:03 +00:00
Praveen Illa
385f1b7eb8 Updated Telugu translation 2014-09-23 16:37:33 +00:00
Matthias Clasen
7a81aaf3c8 GtkSwitch: Use gtk_widget_add_tick_callback
This api automatically takes care of dealing with disappearing
frame clocks, which we currently forget to and pay with crashes.
2014-09-23 11:23:20 -04:00
Yosef Or Boczko
51ef798251 Updated Hebrew translation 2014-09-23 17:22:25 +03:00
Wolfgang Stöggl
5350d2bd82 Updated German translation 2014-09-23 12:13:42 +00:00
Shantha kumar
ef217deda2 Updated Tamil translation 2014-09-23 12:04:41 +00:00
Shantha kumar
341b171ee8 Updated Tamil translation 2014-09-23 11:10:03 +00:00
Rajesh Ranjan
d7a17459db Updated Hindi translation 2014-09-23 11:06:51 +00:00
GNOME Translation Robot
b969a463ef Updated Scottish Gaelic translation 2014-09-23 11:06:15 +00:00
Rajesh Ranjan
569a19c209 Updated Hindi translation 2014-09-23 11:04:41 +00:00
Chun-wei Fan
96065db38d Fix MSVC 2010+ Build for Icon Browser
A needed include path was missed, make up for that.
2014-09-23 19:02:51 +08:00
Chun-wei Fan
8e508f8bd9 MSVC Builds: Build and Install gtk3-icon-browser
Add the icon browser demo to the Visual Studio projects, and "install" it
as well.
2014-09-23 18:54:34 +08:00
GNOME Translation Robot
e7f4bae072 Updated Scottish Gaelic translation 2014-09-23 10:36:05 +00:00
Tom Tryfonidis
9a5afff6e6 Updated Greek translation 2014-09-23 10:16:15 +03:00
Marek Černocký
0aea638785 Updated Czech translation 2014-09-23 07:12:10 +02:00
Shankar Prasad
30de13d70e Updated Kannada translation 2014-09-23 04:49:19 +00:00
Shankar Prasad
62c1fc82a2 Updated Kannada translation 2014-09-23 04:46:17 +00:00
Jehan
c87c5cd0ba win32: provide an implementation for gdk_test_simulate_key().
https://bugzilla.gnome.org/show_bug.cgi?id=734879
2014-09-22 21:22:33 -04:00
Carlos Garnacho
0285a255bc popover: Don't run full dispose() when unmanaging the widget
A popover can go unmanaged for 2 reasons, when the widget it points to
gets destroyed, or transitionally in gtk_popover_set_relative_to(). In
both of these cases it makes sense to only unset popover information
about the previous widget managing it, if the popover is meant to
survive the unmanaging through extra refs.

Also, the focus widget prior to a modal popover being shown is considered
information about the relative_to widget, unset it on
gtk_popover_update_relative_to() with the rest.

https://bugzilla.gnome.org/show_bug.cgi?id=736193
2014-09-22 20:59:09 -04:00
Carlos Garnacho
6b7b55f9b2 gtkwindow: run ::event and specific handlers for EWMH action triggering events
This gives an opportunity for implementations to handle these events
differently, instead of hardcoding the WM-triggering behavior.

gtk_window_event() only forwards events for WM management if the event
widget is not the window (ie. caught when bubbling), so is safe to be
called here without triggering gtk_window_handle_wm_event() twice.

This commit is an adaption to master of
https://bugzilla.gnome.org/show_bug.cgi?id=736702#c1 by Cosimo Cecchi.
2014-09-22 20:51:24 -04:00
Carlos Garnacho
f96437317b gdkwindow: check grab window and children on get_pointer_window()
If !owner_events, the pointer window has been usually set to NULL if
the pointer fell outside the grabbing widget, but it was not being
checked that the pointer_window is actually a child of the grab
window, in which case it should be obtained as if ungrabbed.

https://bugzilla.gnome.org/show_bug.cgi?id=735749
2014-09-22 20:30:12 -04:00
Carlos Garnacho
f8f74b59e3 scalebutton: Invert smooth scroll dy when adding to the current value
On regular scrolling (ie. not natural scrolling), positive deltas in the
Y axis (downwards) should actually move the value towards the adjustment
minimum value to be more intuitive. This also makes the scrolling
directions match between the button and the popped up scale.

https://bugzilla.gnome.org/show_bug.cgi?id=736830
2014-09-22 20:28:27 -04:00
Rafael Ferreira
bc879ab2dd Updated Brazilian Portuguese translation 2014-09-23 00:16:37 +00:00
Fran Diéguez
9f1f56f2c0 Updated Galician translations 2014-09-23 02:01:15 +02:00
Piotr Drąg
9413ab3b1d Updated Polish translation 2014-09-23 01:45:25 +02:00
Matthias Clasen
eb96a7f832 inspector: Show the source of settings
This can be useful at times to see if a setting is coming
from an XSetting, or overridden by the application.

https://bugzilla.gnome.org/show_bug.cgi?id=736971
2014-09-22 19:40:49 -04:00
Matthias Clasen
18931cf0db GtkSettings: Add a private getter for the source
Settings have a little more metadata than plain properties. They
can come from different sources. Make this information available
so we can show it in the inspector.

https://bugzilla.gnome.org/show_bug.cgi?id=736971
2014-09-22 19:40:49 -04:00
Petr Kovar
5c95a2fc12 Update Czech po-properties translation 2014-09-22 17:43:26 +02:00
Petr Kovar
8ff7d39df7 Update Czech translation 2014-09-22 16:42:38 +02:00
Sébastien Wilmet
2ebe813c98 inspector: remove g_message()
It was probably added for debugging purposes.

https://bugzilla.gnome.org/show_bug.cgi?id=736557
2014-09-22 15:51:41 +02:00
Benjamin Otte
9d0ec409ff reftest: Build a shared lib on win32
Windows needs a shared library to link the modules against, otherwise
the undefined symbols make it not work.

So build a shared library on Windows.

We don't want a library elsewhere, as that just complicates things, so
we only make the library shared on Windows and keep it as a noinst
library otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=736338
2014-09-22 15:47:02 +02:00
Rico Tzschichholz
aa08b87ab6 reftest: Add missing include of reftest-snapshot.h 2014-09-22 15:19:51 +02:00
Matthias Clasen
1c366aac68 Trivial formatting fix 2014-09-22 09:04:19 -04:00
Matthias Clasen
10d4a2a43e Fix a typo 2014-09-22 06:59:29 -04:00
Matthias Clasen
b65e30e7ec Bump version 2014-09-22 06:50:15 -04:00
Matthias Clasen
d2f0b8ec71 3.14.0 2014-09-22 06:35:02 -04:00
Matthias Clasen
214bd065d0 Drop another old, unused script 2014-09-21 23:17:52 -04:00
Matthias Clasen
7ead9d45de check-icon-names: Check for legacy names again
Keep checking the legacy icon names as long as we support them
(this caught gtk-undelete not working quite as expected).
2014-09-21 23:14:56 -04:00
Matthias Clasen
61de42a731 Make gtk-undelete work again as icon name
The convention we use now is to not append any suffix for ltr icons,
and append -rtl for rtl. Make gtk-undelete follow this pattern.
2014-09-21 23:13:29 -04:00
Matthias Clasen
0145db0dbb Drop them from EXTRA_DIST too 2014-09-21 22:52:37 -04:00
Matthias Clasen
ab76493700 Drop outdated scripts
These scripts haven't been used in many years.
2014-09-21 22:52:01 -04:00
Matthias Clasen
cc141329ed Drop outdated files
These files stem from the time when the documentation was in
a separate module - long, long ago.
2014-09-21 22:50:43 -04:00
Matthias Clasen
5cfb8b9680 Updates for 3.14.0 2014-09-21 22:50:43 -04:00
Shankar Prasad
e307c51a94 Updated Kannada translation 2014-09-22 00:46:00 +00:00
Bernd Homuth
891c4edcc0 Updated German translation 2014-09-21 22:02:50 +00:00
Matthias Clasen
b5a3900588 check-icon-theme: Print the name of the icon-theme 2014-09-21 16:34:33 -04:00
Matthias Clasen
df8a688656 icon-theme: Test inheritance vs. generic fallback
Add a few tests that check the behavior of icon theme inheritance
vs generic fallback vs symbolic icons.
2014-09-21 16:34:27 -04:00
Matthias Clasen
964c202c38 GtkIconTheme: Repair symbolic fallback with rtl/ltr
For symbolic icons, we prefer symbolics in inherited themes over
generic icons in the theme itself. So far this was implemented
by looking at icon_name[0] and looking that up in inherited themes
if it is symbolic. But with automatic rtl/ltr handling, the first
icon  name will always have an -rtl or -ltr suffix, and an icon
with that suffix is not going to exist in most cases. To fix this,
look for shorter icon names too, as long as they are still symbolic.

https://bugzilla.gnome.org/show_bug.cgi?id=737000
2014-09-21 14:49:22 -04:00
Matthias Clasen
1b858e4212 Trivial: clarify a comment
Using 'highcolor' here seems confusing, since there is a theme
by that name. Just say full-color.
2014-09-21 14:29:36 -04:00
Matthias Clasen
39349cdea3 testicontheme: Use rtl/ltr lookup flags
This should help with diagnosing

https://bugzilla.gnome.org/show_bug.cgi?id=737000
2014-09-21 14:09:16 -04:00
Benjamin Otte
ee9e708cf6 reftest: Build a private library for gtk-reftest
This is a noinst library for now, but the idea is to turn it into a
proper DLL on Windows, so that we can install it and properly link the
modules to it. Windows doesn't allow undefined symbols in modules.

https://bugzilla.gnome.org/show_bug.cgi?id=736338
2014-09-21 18:59:12 +02:00
Benjamin Otte
2e6dd4082f reftest: Split our more functionality
Split actually taking the snapshot into its own file.
2014-09-21 18:58:45 +02:00
Benjamin Otte
0182d1ed38 reftest: Split out some functionality into own file
Comparing two surfaces is something that can be nicely factored out.
2014-09-21 18:58:45 +02:00
Tom Tryfonidis
394a7627c5 Updated Greek translation 2014-09-21 13:38:58 +00:00
Carles Ferrando
a1b719040a [l10n] Updated Catalan (Valencian) translation 2014-09-21 15:01:58 +02:00
Gil Forcada
4e75800057 [l10n] Update Catalan translation 2014-09-21 15:01:52 +02:00
Sandeep Sheshrao Shedmake
fa3abde644 Updated Marathi Translations 2014-09-21 07:32:06 +05:30
Matthias Clasen
3c96ea0ae7 inspector: Look up the schema recursively
This is the recommended way to use this function. It should
also fix problems with the inspector when GSETTINGS_SCHEMA_DIR
is set.

https://bugzilla.gnome.org/show_bug.cgi?id=737027
2014-09-20 19:52:23 -04:00
Matthias Clasen
fb126586ed inspector: Avoid a crash
We were forgetting to free the hash table, which then gave
us weak ref notifies at an unexpected time.

https://bugzilla.gnome.org/show_bug.cgi?id=737026
2014-09-20 19:30:45 -04:00
Carles Ferrando
416bcd0b6a [l10n] Updated Catalan (Valencian) translation 2014-09-21 00:02:43 +02:00
Gil Forcada
c7bd54c58d [l10n] Update Catalan translation 2014-09-21 00:02:35 +02:00
Ask H. Larsen
854ebc535c Updated Danish translation 2014-09-20 10:05:55 +02:00
Rajesh Ranjan
01958e20ad Updated Hindi translation 2014-09-20 05:36:08 +00:00
Gábor Kelemen
d8239887b7 Updated Hungarian translation 2014-09-20 00:28:13 +00:00
Jasper St. Pierre
df236fba58 gtkwindow: Make sure to update the shadow width, opaque region and border windows when realizing
Otherwise, they might not be properly set before the window is mapped.

For the opaque region and border window, it means that they won't get
set before the next size allocation, which tends to not be a bit deal.

For the shadow width, though, _GTK_FRAME_EXTENTS has a different meaning
when it's set before the window is mapped, so we need to make sure that
it's properly set when the window is mapped.
2014-09-19 17:39:46 -06:00
Gábor Kelemen
e14f836200 Updated Hungarian translation 2014-09-19 09:33:03 +00:00
Matthias Clasen
9603754f7d Fix warning grammar 2014-09-18 21:57:20 -04:00
Matthias Clasen
c75793ee17 Fix parse-sass.sh script
The script runs into this error here:
OptionParser::NeedlessArgument: needless argument: --sourcemap=none
2014-09-18 21:53:20 -04:00
Ekaterina Gerasimova
318de7cd44 Remove reference to GTK+ 2 in reference docs
The reference applies to both GTK+ 2 and GTK+ 3, so remove mention of
the version number from the reference docs.

https://bugzilla.gnome.org/show_bug.cgi?id=736927
2014-09-18 18:16:54 -04:00
Christian Kirbach
8de58ee38e Updated German translation 2014-09-18 21:20:06 +00:00
Ask H. Larsen
83e4c889b8 Updated Danish translation 2014-09-18 19:44:30 +02:00
Yuri Myasoedov
153a7c87a4 Updated Russian translation 2014-09-18 16:33:22 +04:00
Yuri Myasoedov
1f46266509 Updated Russian translation 2014-09-18 16:03:11 +04:00
Yosef Or Boczko
c73a1e03bb Updated Hebrew translation 2014-09-18 05:42:50 +03:00
Matthias Clasen
eb6fb7326d Raleigh: Drop decoration-layout style property
This is not used anymore.
2014-09-17 15:11:25 -04:00
Ask H. Larsen
0a1825d21d Update Danish translation of properties 2014-09-17 18:44:54 +02:00
Matthias Clasen
4d835f61a5 Make subsurface test use a stack
Just to show that it works.
2014-09-17 12:42:32 -04:00
Matthias Clasen
6e0960197f Add a quick subsurface tests
Just to have some code that uses subsurfaces inside a widget
tree, and not like a 'pseudo-toplevel'.
2014-09-17 11:10:41 -04:00
Sébastien Wilmet
c104c64436 Better mark GtkAlignment as deprecated
- Move the class to the Deprecated section.
- Warning at the bottom of the class description.
- A missing property was not marked as deprecated.
- Update doc of gtk_container_set_border_width() to not mention
  GtkAlignment.

https://bugzilla.gnome.org/show_bug.cgi?id=736622
2014-09-17 15:02:50 +02:00
Sébastien Wilmet
21e0a114e0 docs: GtkStatusIcon is deprecated since 3.14, not 3.16 2014-09-17 15:02:50 +02:00
Saibal Ray
284856b692 Updated Bengali (India) translation 2014-09-17 06:14:11 +00:00
Pavol Klačanský
7cf96dcaa8 Updated Slovak translation 2014-09-16 21:07:13 +00:00
Josef Andersson
e08b680a6b Updated Swedish translation 2014-09-16 19:01:00 +00:00
Matthias Clasen
29eae57be4 Undreprecate GtkMisc::x/yalign for now
These can't quite be replaced by h/valign, so keep the properties
undeprecated for 3.14.
2014-09-15 23:22:54 -04:00
Benjamin Otte
6b16c795ba iconview: Unset prelit item in leave-notify
We don't want to keep a prelit item when the mouse cursor is elsewhere.
2014-09-16 04:30:01 +02:00
Benjamin Otte
072c417416 iconview: Remove iterm->prelight
item->prelight
is always equal to
  iconview->priv->last_prelight == item
so there is no need to track it separately.
2014-09-16 04:30:00 +02:00
Benjamin Otte
48d56c4077 iconview: always draw a cell background
Don't just draw it for selected cells.
2014-09-16 04:30:00 +02:00
Matthias Clasen
fdb13b6ef5 Revert "GtkAssistant: Drop use of GtkMisc"
This reverts commit 687eae4b51.

Still not a solved problem.
2014-09-15 21:11:06 -04:00
Matthias Clasen
0a3162be45 3.13.9 2014-09-15 18:46:30 -04:00
Benjamin Otte
86607c0f21 iconview: Don't queue redraws when nothing changes
We were queueing redraws for the old and the new prelit item, even when
they were the same item.
2014-09-15 16:35:40 +02:00
Руслан Ижбулатов
45ab4ae09b build: Set no_undefined in Makefile.decl
This simplifies the code and - more importantly - fixes the cases like
in testsuite/reftests where the no_undefined definition was missing.

https://bugzilla.gnome.org/show_bug.cgi?id=736382
2014-09-15 16:35:40 +02:00
Benjamin Otte
1741de47db treeview: Apply column-header region always
... so that invisible columns get it, too.

Works around weird effects seen when buttons are animated and columns
get hidden/shown.
2014-09-15 16:35:40 +02:00
Benjamin Otte
e9ce9a814b label: Clear layout after setting GtkLabel::lines property
Otherwise the label will not pick up the property.
2014-09-15 16:35:40 +02:00
Chun-wei Fan
a14c7cbfa1 MSVC Builds: Update "Installation" Process
This updates the property sheets that are used to "install" builds of GTK+
after the libraries and the gtk3-demo programs are built.  Note that these
are generated with scripts in regards to the headers part, so that we can
move the header installation part to use autocompletion by the autotools
build files in the next dev cycle or so, like the "gdk" and "gtk" project
files.
2014-09-15 12:51:52 +08:00
Chun-wei Fan
15a9f1bdf5 gtk/gtkgladecatalog.c: Fix Visual Studio Builds
The _GDK_EXTERN decoration needs to be with the function prototype, if one
exists, so move the _GDK_EXTERN decoration up.
2014-09-15 12:26:32 +08:00
Shantha kumar
779aa87ba5 Updated Tamil translation 2014-09-14 19:17:06 +00:00
Bastien Nocera
355afc8f56 inspector: Show hidden windows in the inspector
This allows us to access otherwise hidden windows, which can be
useful to provide better debug information than would be available
through other means.

https://bugzilla.gnome.org/show_bug.cgi?id=736557
2014-09-14 08:47:05 -04:00
Matthias Clasen
3ad8bae1c4 inspector: Fix initial state of dark switch
Noticed while debugging a totem problem.
2014-09-14 08:38:28 -04:00
Chao-Hsiung Liao
ba086f978b Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-09-14 06:34:28 +08:00
Lapo Calamandrei
76019fad0e Adwaita: osd progressbar fixes
See https://bugzilla.gnome.org/show_bug.cgi?id=735959
2014-09-13 16:21:37 +02:00
Lapo Calamandrei
dcffe0e2e3 Adwaita: uneven paddings on .text-button.image-button
We want buttons with an icon and text to have the padding of the
text-button on the label side and on the image-button on the icon
side.
2014-09-13 12:27:38 +02:00
Matthias Clasen
6064fc343e Drop unused code
Not worth keeping this around.
2014-09-12 22:31:25 -04:00
Matthias Clasen
76b1361902 Drop two pointless lines
These return statements weren't making any difference.
2014-09-12 22:31:10 -04:00
Matthias Clasen
45369d506b GtkDnd: Move X11-specific code out of generic code path
There was some X11-specific code before an early exit
in the functions that grab and ungrab keys during DND.
It seems to not cause a problem under Wayland, but moving
it out of the way seems right anyway.
2014-09-12 22:31:04 -04:00
Aurimas Černius
ca27bf37bc Updated Lithuanian translation 2014-09-12 22:26:29 +03:00
Lapo Calamandrei
8c6b2fb94b Revert "Adwaita: theme active-menu buttons"
This is app specific, doesn't belongs here.
2014-09-12 19:12:25 +02:00
Alexandre Franke
34580deaaa Updated French translation 2014-09-12 16:05:02 +00:00
Lapo Calamandrei
961b7a9210 Adwaita: theme active-menu buttons 2014-09-12 18:01:58 +02:00
Jakub Steiner
eb9dcc1636 Adwaita: keep pathbar the same height as imagebuttons
- the previous patch introduced uneven height on the toolbar
2014-09-12 14:03:04 +02:00
Lapo Calamandrei
3d2e8ed1d8 Adwaita: better stack switcher logic
Now the stack switcher buttons look right even when not in the
header-bar.
2014-09-12 13:48:52 +02:00
Jakub Steiner
0060f84477 Adwaita: space pathbar better
https://bugzilla.gnome.org/show_bug.cgi?id=736535
2014-09-12 12:57:52 +02:00
Ross Lagerwall
08e1c8e30a GtkPlacesSidebar: Fix a memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=736512
2014-09-12 08:08:09 +01:00
Ross Lagerwall
0c12d3afcc GtkPlacesSidebar: Don't update bookmark if cancelled
If the query fails because it has been cancelled, it means that
dispose() has been called, so don't try and update anything.

This fixes a segfault with Nautilus in certain situations.

https://bugzilla.gnome.org/show_bug.cgi?id=736512
2014-09-12 08:08:09 +01:00
Ross Lagerwall
94ed54f8ad GtkPlacesSidebar: Only add shortcut if query succeeds
https://bugzilla.gnome.org/show_bug.cgi?id=736512
2014-09-12 08:08:09 +01:00
Changwoo Ryu
ca1e98a4b2 Updated Korean translation 2014-09-12 13:55:01 +09:00
Matthias Clasen
3d7f059087 GtkStackSwitcher: More disconnect fixes
When resetting the stack, don't forget to disconnect signals.

https://bugzilla.gnome.org/show_bug.cgi?id=736307
2014-09-11 20:42:12 -04:00
Matthias Clasen
6573cebe71 GtkMessageDialog: Minor documentatation update
The message area is no longer a vbox.
2014-09-11 15:48:44 -04:00
Ville-Pekka Vainio
c0db6fa070 Finnish translation update by Jiri Grönroos 2014-09-11 22:27:22 +03:00
Takao Fujiwara
9f1724b355 Update gtk_compose_seqs_compact[] table for French layout bepo variant.
fr(bepo) XKB keymap sends dead_stroke with AltGr+l keys
and gtk-im-simple-context should send '/' with
dead_stroke+dead_stroke keys but gtkimcontextsimpleseqs.h
was not sorted in the descending order and failed to get
dead_stroke.
Also need to add dead_currency for Shift+AltGr+e and
dead_belowcomma for Shift+AltGr+Cedilla.

https://bugzilla.gnome.org/show_bug.cgi?id=736250
2014-09-10 21:30:46 -04:00
Lapo Calamandrei
a13c41137e Adwaita: blue selection mode checks
...to make them visible in the dark variant, e.g. Boxes.
2014-09-10 20:03:26 +02:00
Daniel Mustieles
285db065a3 Updated Spanish translation 2014-09-10 12:19:04 +02:00
Lapo Calamandrei
9ba4d97008 Adwaita: remove borders from insensitive flat buttons 2014-09-09 21:34:42 +02:00
Matthias Clasen
2e88ae8ad9 GtkStackSwitcher: Disconnect signals when a child is removed
This is quite an oversight, and causes bad things to happen if
the child is later changed.

https://bugzilla.gnome.org/show_bug.cgi?id=736307
2014-09-09 14:48:59 -04:00
Руслан Ижбулатов
250eb1e889 Add app-menu.ui to EXTRA_DIST 2014-09-09 10:28:48 +00:00
A S Alam
1fc7f4593f update Punjabi Translation - back for 3.14 2014-09-08 22:24:10 -05:00
Colin Walters
115eb5ed4c Fix stray dash addition in previous commit 2014-09-08 17:12:45 -04:00
Matthias Clasen
700e78d847 Remove more leftover &mdash;es
These were leftover at various places in the documentation.
2014-09-08 16:51:44 -04:00
Fran Diéguez
57b353de33 Updated Galician translations 2014-09-08 22:09:04 +02:00
Matthias Clasen
656deeb489 Fix a missing id in the docs
label-text-layout was missing, causing two broken links further
down in the page.
2014-09-08 15:36:15 -04:00
Руслан Ижбулатов
a8915b89d7 Initialize impl_window for foreign W32 windows
https://bugzilla.gnome.org/show_bug.cgi?id=736269
2014-09-08 15:50:32 +00:00
Nilamdyuti Goswami
e4b89854a2 Updated Assamese translation 2014-09-08 13:52:22 +00:00
Marek Černocký
14bec58bf1 Updated Czech translation 2014-09-08 13:39:35 +02:00
Sweta Kothari
b2858a29e1 Updated gujarati translations 2014-09-08 16:13:31 +05:30
Sweta Kothari
74ea504288 Updated gujarati translations 2014-09-08 16:02:49 +05:30
Matthias Clasen
ffe0ec6883 GtkAssistant: Make Escape cancel the assistant
This is an expected keybinding, and it is not hard to support.
Note that we use a private ::escape signal instead of using
::cancel directly, since we want to be able to suppress the
cancellation when we are on a progress page.

https://bugzilla.gnome.org/show_bug.cgi?id=579625
2014-09-08 00:09:55 -04:00
Rafael Ferreira
145c3e609d Updated Brazilian Portuguese translation 2014-09-08 02:57:57 +00:00
Matthias Clasen
169ca5ad21 Fix a thinko in adjustment animation
The target value is only relevant if we're actually animating.
Don't look at it otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=736178
2014-09-07 22:45:08 -04:00
Matthias Clasen
e2c54098da tree view: Fix column drag highlight
This is a bandaid fix that makes the origin case work again
by switching RGBA window. The arrow case is still unreliable.

https://bugzilla.gnome.org/show_bug.cgi?id=732916
2014-09-07 22:25:23 -04:00
Matthias Clasen
e1aca0e8c6 Link broadway backend against librt
This is needed for shm_open, according to its man page.

https://bugzilla.gnome.org//show_bug.cgi?id=698031
2014-09-07 21:30:51 -04:00
Matthias Clasen
be97bad3a0 Avoid criticals when drags end
Its seems that gtk_gesture_get_last_event may return NULL,
protect against that to avoid critical warnings.
2014-09-07 21:24:01 -04:00
Matthias Clasen
719e2157f2 Small doc improvement 2014-09-07 17:14:37 -04:00
Rūdolfs Mazurs
df6e634291 Updated Latvian translation 2014-09-07 17:57:01 +03:00
Matthias Clasen
8aa9a4c385 Better thumbnail for GtkTreeView
This one makes it more obvious that it is a tree with multiple
columns and not just multiline text.

https://bugzilla.gnome.org/show_bug.cgi?id=528800
2014-09-06 22:00:21 -04:00
Timm Bäder
53014d0132 inspector: Don't unref NULL objects
When closing the application window before closing the inspector window,
the selected widget will be set to NULL once and all the property pages
will try to g_object_weak_unref that NULL widget, so bail out in
gtk_inspector_prop_list_set_object if it's NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=736201
2014-09-06 21:35:23 -04:00
Matthias Clasen
a1af365566 Don't forget to allocate popovers
When GtkApplicationWindow has a menubar, we don't chain up
to the GtkWindow size_allocate, which used to position the
popovers. Move that to _gtk_window_set_allocation() which
is always called by GtkApplicationWindow.

https://bugzilla.gnome.org/show_bug.cgi?id=736205
2014-09-06 21:32:53 -04:00
Matthias Clasen
e9df5edc11 Avoid compiler warnings
The previous commit was sloppy with parameter types.
2014-09-06 21:28:31 -04:00
Matthias Clasen
794230e708 GtkCellRendererAccel: Try harder to capture bound keys
Add a grab on the editable widget, so that we can capture
also shortcuts which are bound in the application itself.

https://bugzilla.gnome.org/736203
2014-09-06 20:56:03 -04:00
Andika Triwidada
bbf9b95354 Updated Indonesian translation 2014-09-07 00:14:08 +00:00
Piotr Drąg
00759e774b Updated Polish translation 2014-09-07 02:08:51 +02:00
Piotr Drąg
439d6513d2 Updated POTFILES.skip 2014-09-07 02:05:35 +02:00
Benjamin Otte
9a8a4a8b14 widget: Don't assume opacity is 100%
... just because there is no style context instantiated yet. Instead,
instantiate a style context during realize() and ask it.

Fixes problems with dim labels not being dimmed on first show.

Testcase included.

https://bugzilla.gnome.org/show_bug.cgi?id=735240
2014-09-07 01:57:10 +02:00
Benjamin Otte
95959ef470 overlay: Handle overlays when no main widget exists
Just pretend that the main widget is an empty widget the size of the
overlay.
Makes it possible to write testcases where no size requests are run on
overlay widgets before size_allocate() is called.

Testcase included.
2014-09-07 01:57:09 +02:00
Bastien Nocera
c849b8edd6 tooltip: Fix warning with GtkCellRendererAccel
(gnome-shell-extension-prefs:22382): GLib-GObject-WARNING **: invalid cast from 'GtkInvisible' to 'GtkWindow'
(gnome-shell-extension-prefs:22382): Gtk-CRITICAL **: gtk_window_set_transient_for: assertion 'parent == NULL || GTK_IS_WINDOW (parent)' failed

 #1  0x00007fffeeb81a12 in g_log (log_domain=log_domain@entry=0x7fffeeea3464 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=format@entry=0x7fffeeeaa878 "invalid cast from '%s' to '%s'") at gmessages.c:1079
 #2  0x00007fffeee9c2a9 in g_type_check_instance_cast (type_instance=0xb314c0, iface_type=iface_type@entry=9020048) at gtype.c:4021
 #3  0x00007ffff0a06e25 in gtk_tooltip_set_last_window (tooltip=tooltip@entry=0xbb8c10, window=<optimized out>) at gtktooltip.c:910
 #4  0x00007ffff0a08dfd in _gtk_tooltip_handle_event (event=event@entry=0xbf72c0) at gtktooltip.c:1538
 #5  0x00007ffff090d7a9 in gtk_main_do_event (event=0xbf72c0) at gtkmain.c:1785
 #6  0x00007ffff0496ab2 in gdk_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at gdkeventsource.c:364
 #7  0x00007fffeeb7a8c3 in g_main_dispatch (context=0x807300) at gmain.c:3067

https://bugzilla.gnome.org/show_bug.cgi?id=736131
2014-09-06 19:05:46 -04:00
Matthias Clasen
fa0e43471c GtkCellRendererAccel: Stop editing on focus out
This is not automatic, and with grabs in place, it is awkward
to have focus moved elsewhere, so stop editing whenever the
cell editable loses focus.
2014-09-06 19:03:07 -04:00
Matthias Clasen
bdd1871cba GtkCellRendererAccel: rework the grabbing
Grab keyboard/mouse on the toplevel, and grab the focus to the
cell editable, so we actually see the key events.
2014-09-06 19:03:06 -04:00
Matthias Clasen
fcb69e110b Remove an unneeded include 2014-09-06 19:03:06 -04:00
Matthias Clasen
56bbf12fcd testaccel: Add another focus location
It turns out GtkCellRendererAccel does not deal well with focus
being elsewhere. Adding an entry here makes this much easier to
reproduce.
2014-09-06 19:03:00 -04:00
Matthias Clasen
7b950941ce testaccel: Handle accel-cleared 2014-09-06 19:02:41 -04:00
Matthias Clasen
fe11f8f875 Revert "gtkcellrendereraccel: Use a GtkInvisible to grab on"
This reverts commit fe5402d32e.
2014-09-06 19:02:41 -04:00
Josef Andersson
4cec291ab0 Updated Swedish translation 2014-09-06 21:10:23 +00:00
Josef Andersson
a60bee9fff Updated Swedish translation 2014-09-06 21:07:47 +00:00
Matthias Clasen
84ff0c201a Don't set an input shape unless client-decorated
We were actually setting an input shape larger than the window
in !csd, and this was confusing at least openbox.

https://bugzilla.gnome.org/736064
2014-09-06 15:43:11 -04:00
Matthias Clasen
98c87dc6ed inspector: Fix fallout from function renaming 2014-09-06 12:47:41 -04:00
Timm Bäder
a4d9eccbc6 inspector: Show widget allocation
https://bugzilla.gnome.org/show_bug.cgi?id=736191
2014-09-06 11:39:48 -04:00
Lapo Calamandrei
7633118e7d Adwaita: inhert backdrop selected list rows 2014-09-06 17:14:09 +02:00
Lapo Calamandrei
66accf2b37 Adwaita: set color on flat buttons in selected list-rows 2014-09-06 17:09:08 +02:00
Lapo Calamandrei
c6f5ad8855 Adwaita: better switch on selected list-rows 2014-09-06 17:02:20 +02:00
Hiroyuki Ito
e5eb59a2f8 Fix a crash in recent chooser DND
Reported in https://bugzilla.gnome.org/show_bug.cgi?id=736173
2014-09-06 10:37:25 -04:00
Lapo Calamandrei
532a8afeb1 Adwaita: really fix tooltips background
See https://bugzilla.gnome.org/show_bug.cgi?id=736155 for details.
2014-09-06 16:02:34 +02:00
Changwoo Ryu
3c1702b804 Updated Korean translation 2014-09-06 18:09:19 +09:00
Matthias Clasen
d55e3b25a7 Fix various compiler warnings
Mostly missing declarations and missing statics.
2014-09-05 21:21:49 -04:00
Matthias Clasen
c88c16d1f4 inspector: Fix various compiler warnings
Mostly missing declarations and missing statics.
2014-09-05 20:52:03 -04:00
Matthias Clasen
d52d813c7d GdkFrameClockIdle: Add a missing declaration 2014-09-05 20:44:22 -04:00
Matthias Clasen
52578945bd Wayland: Fix various compiler warnings
Mostly missing declarations, missing statics and unused functions.
2014-09-05 20:41:06 -04:00
Matthias Clasen
24b8499833 Broadway: Fix various compiler warnings
Mostly missing declarations and unused functions.
2014-09-05 19:39:05 -04:00
Christian Kirbach
e066e3b9aa Updated German translation 2014-09-05 23:02:03 +00:00
Jasper St. Pierre
4764ba4b0e wayland: Don't leak the tmp_keymap
This is a static variable, so setting it every time will leak the
previous one.
2014-09-05 15:06:19 -07:00
Jasper St. Pierre
b692d779b2 wayland: Correctly find the keyboard for the keymap
The list of devices was being scanned over incorrectly, causing us to
never actually fetch the keymap from the keyboard, as the keyboard was
the second device in the list, not the first.

This causes us to create a new temporary keymap every time, which is
quite expensive, because it involves parsing the entire XKB
file. Scanning the list correctly will cause us to use the XKB rules
file that was passed to us.
2014-09-05 15:06:19 -07:00
Matthias Clasen
f401c85ee3 Adwaita: Avoid double backgrounds in tooltips 2014-09-05 14:57:04 -04:00
Matthias Clasen
b156d5bfee Make a warning more informative
Since we know what size was too large here, why not say it.
2014-09-05 13:43:17 -04:00
Matthias Clasen
1629903943 GtkIconTheme: Make suffix_from_name NULL-safe
This can happen sometimes with GFileIcons that are
not representable as a local path. Better not to crash
in this case.
2014-09-05 13:15:14 -04:00
Lapo Calamandrei
f66d84deec Adwaita: tooltip fixes
The "too dark" background was caused by box-shadow inherited by
window-frame.csd, so box-shadow: none and the right background
color on tooltip selector.
2014-09-05 16:17:00 +02:00
Lapo Calamandrei
7f4105bcaf Adwaita: tranlucent shadows inside entries
So evo background changing entry doesn't look broken.
2014-09-05 15:06:37 +02:00
Shankar Prasad
c492d773b1 Updated Kannada translation 2014-09-05 12:59:55 +00:00
Jesse van den Kieboom
3fa425bb9c scrolling: interpret smooth deltas as pixels on quartz
This is a temporary workaround for scrolling units being amplified
on quartz, due to the assumption that smooth scrolling deltas are
always in some abstract unit similar to the one from xi2.

A proper solution for the situation is described in bug #736121, but
since we are close to release, this patch solves the issue temporarily.

https://bugzilla.gnome.org/show_bug.cgi?id=736121
2014-09-05 14:02:11 +02:00
Sweta Kothari
fb3019a946 Updated gujarati translations 2014-09-05 16:27:57 +05:30
Tom Tryfonidis
7a555c42b6 Updated Greek translation 2014-09-05 09:30:43 +00:00
Alexander Larsson
53dab9240d GdkWindow: Remove unused fields
clip_region_with_children and layered_region is not used any more,
remove them.
2014-09-05 09:44:28 +02:00
Yuri Myasoedov
9e2f91e006 Updated Russian translation 2014-09-05 11:37:04 +04:00
Yuri Myasoedov
4dd941b201 Updated Russian translation 2014-09-05 11:07:37 +04:00
Claude Paroz
a113333665 Updated French translation (properties) 2014-09-05 08:40:09 +02:00
Claude Paroz
70f57fb4c0 Updated French translation 2014-09-04 23:07:37 +00:00
Cosimo Cecchi
aaf2498374 Adwaita: fix inline-toolbar backgrounds
This was lost in a recent cleanup.
2014-09-04 15:07:54 -07:00
Timm Bäder
0ed03363e4 Fontchooserbutton: baseline-align icon and label
https://bugzilla.gnome.org/show_bug.cgi?id=736056
2014-09-04 17:15:07 -04:00
Yosef Or Boczko
0b44162985 Updated Hebrew translation 2014-09-04 23:42:43 +03:00
Lapo Calamandrei
541511c89a widget-factory: remove margin from app-notification 2014-09-04 20:18:31 +02:00
Lapo Calamandrei
94da331c6a Adwaita: more translucent tooltips 2014-09-04 20:02:43 +02:00
Lapo Calamandrei
bbac2900e6 Adwaita: bottom edge hilight for selection mode buttons 2014-09-04 19:41:47 +02:00
Lapo Calamandrei
e5d34372c4 Adwaita: in app-notification padding
Adwaita now adds the `right` padding to the app notification, so it
shouldn't be set in the code via margins or whatever.
2014-09-04 19:18:13 +02:00
Lapo Calamandrei
fa415d58a2 Adwaita: flat colored buttons 2014-09-04 19:13:29 +02:00
Lapo Calamandrei
5420e48fbf Adwaita: don't color insensitive colored buttons.
Insensitive suggested or destructive action buttons make no sense,
so Adwaita doesn't color them.
2014-09-04 19:05:16 +02:00
Lapo Calamandrei
4bc437db15 Adwaita: set color on osd backdrop buttons 2014-09-04 19:00:10 +02:00
Carlos Garnacho
9629fd07e3 entry: Handle touch events on entry icons
Those used to work indirectly due to GtkEntry not setting GDK_TOUCH_MASK,
so pointer emulation would happen on those, but the event handlers on icons
and its icon-pressed/released signals have never been explicitly touch
aware, and this broke since the GDK_TOUCH_MASK can be set indirectly by
GtkGestures.

So make the icon event handler handle touch events, each icon can get hold
of one GdkEventSequence, reacting exclusively to it. This is still not
ported to GtkGesture due to GdkEvent exposure in these icon signals, as
users might expect GDK_2/3BUTTON_PRESS while GtkGesture ignores those.

Also, unset all icon pressed/sequence state on grab-notify, this used to
happen ad-hoc when initiating icon DnD, but that doesn't cut it for
user-defined reasons to initiate a grab (eg. popovers).

https://bugzilla.gnome.org/show_bug.cgi?id=736004
2014-09-04 16:43:16 +02:00
Lapo Calamandrei
0a9d60cdde Adwaita: big buttons surgey
- cover missing statusses in selection-mode and the like
- button drawing functions cleanup and extension
- remove inline toolbar (ugly) special case not needed anymore
- button selector structure simplification and rationalization
- add back shadow to window control buttons
2014-09-04 15:11:21 +02:00
Carlos Garnacho
bf8f824760 treeview: Run the row dragging gesture on the bubble phase
This is so signal handlers have an opportunity to undo its effect by
returning GDK_EVENT_STOP on ::button-press-event, just like they used
to do pre-gestures.

https://bugzilla.gnome.org/show_bug.cgi?id=735965
2014-09-04 14:59:08 +02:00
Carlos Garnacho
6f538950d4 dnd: Make the drag gesture obey the button mask specified
This was forgotten when making DnD use a GtkGesture in the handlers
attached to the widget in gtk_drag_source_set(). The gesture must obey
the specified button mask, and switch to denied state if the pressed
button isn't part of the given mask.

https://bugzilla.gnome.org/show_bug.cgi?id=735965
2014-09-04 14:59:08 +02:00
Daniel Mustieles
20f3bb2a0b Updated Spanish Translation 2014-09-04 12:54:05 +02:00
Andika Triwidada
665f489bfd Updated Indonesian translation 2014-09-04 09:47:53 +00:00
Rico Tzschichholz
7f728f4d60 build: Bump pango dependency to 1.36.7
Needed for PANGO_ANALYSIS_FLAG_IS_ELLIPSIS
2014-09-04 09:06:38 +02:00
Matthias Clasen
2d46db1b83 Drop another unused script
The check engine abi script was never used in our build, and
with engines being on the way out, lets drop this.
2014-09-04 00:24:00 -04:00
Matthias Clasen
5b7db8c401 Drop a few rules that aren't used anymore
These rules haven't been exercised in ages, time to drop them.
2014-09-04 00:21:25 -04:00
Matthias Clasen
fd904c69f8 Fix cross references in docs in tarballs
This approach is copied from Pango.
2014-09-04 00:17:30 -04:00
Matthias Clasen
768c0c21b5 GtkPlacesSidebar: Cancel async ops when finalized
This is the common practice for objects that start async operations.
https://bugzilla.gnome.org/show_bug.cgi?id=735953
2014-09-03 23:30:43 -04:00
Emmanuele Bassi
c68fc27719 places-sidebar: Use asynchronous API for querying bookmarks
Removes two FIXMEs, and ensures that the places sidebar does not block
while enumerating bookmarks or application shortcuts to remote volumes.

https://bugzilla.gnome.org/show_bug.cgi?id=735953
2014-09-03 23:30:43 -04:00
Matthias Clasen
6efbe745b1 Stop using the deprecated GtkTreeView:rules-hint
This was still used in the file chooser and the font chooser.
2014-09-03 23:30:43 -04:00
Matthias Clasen
10703a0275 notification tests: Skip GtkEntryCompletion::text-column
This one is special.
2014-09-03 22:46:38 -04:00
Matthias Clasen
bbc7cd2351 GtkEntryCompletion: Treat ::text-column specially
Using the setting for this property conflicts with the documentation
for gtk_entry_completion_set_text_column() which explicitly states
that setting the property directly behaves differently. Concretely,
this caused the file chooser entry completion popup to have two
columns (with identical content).

This partially reverts 331c28b369.
2014-09-03 22:46:38 -04:00
Matthias Clasen
1cc5cf3797 GtkLabel: better treatment for selection with ellipsis
This commit arranges things so that we treat an ellipsized
region like a single character for the purpose of selection
and cursor navigation.

https://bugzilla.gnome.org/show_bug.cgi?id=328449
2014-09-03 22:23:08 -04:00
Matthias Clasen
fc5f7cc138 GtkLabel: Make it possible to get the ellipsis range
This will be used in the next commit to expand the selection.
2014-09-03 22:23:08 -04:00
Matthias Clasen
1cddd14ab4 GtkLabel: better treatment for ellipsized links
When links are entirely hidden in an ellipsis, don't let
them be activated by clicking and skip them when moving
the focus around.

This commit depends on enhancements in pango 1.36.7 which
make it possible to find the ellipsed runs in a PangoLayout.
With older pango, things will work the same way as before.

https://bugzilla.gnome.org/show_bug.cgi?id=668258
2014-09-03 22:23:08 -04:00
Lapo Calamandrei
0ff5cf7daf Adwaita: fix path-bar buttons padding
The padding there previously made the pathbar 1px taller then
buttons, not good in general and specifically not good for
Nautilus.
2014-09-04 00:53:10 +02:00
Cosimo Cecchi
db372382e9 toolitem: set clip on allocation
So that widgets that are children of tool items can render their shadows
too.
2014-09-03 14:45:51 -07:00
Lapo Calamandrei
356e02fc78 Adwaita: more sass functions remixing 2014-09-03 20:40:43 +02:00
Lapo Calamandrei
4570806ad6 Adwaita: more usefull headerbar related functions 2014-09-03 19:41:50 +02:00
Lapo Calamandrei
aa85282bb6 Adwaita: change font-size: 82% to font-size: smaller 2014-09-03 17:01:43 +02:00
Lapo Calamandrei
34de8da7d4 Adwaita: .app-notification istead of .app-notification.frame 2014-09-03 16:02:27 +02:00
Andika Triwidada
3984b651a8 Updated Indonesian translation 2014-09-03 13:45:59 +00:00
Lapo Calamandrei
f8ee954a10 Adwaita: change widget_edge() to _widget_edge()
For consistence with other "private" functions.
2014-09-03 14:27:07 +02:00
Lapo Calamandrei
58bef3a464 Adwaita: parametric bottom edge color for buttons 2014-09-03 14:22:33 +02:00
Lapo Calamandrei
6adaf4b74f Adwaita: parametric bottom edge color for entries
The entry mixin now allows to specify the color of the widget bottom
edge hilight, istead then just enable/disable it, so `$noegde: true`
now is `$egde: none` or `$edge: $somecolor`, not setting it draws
the edge with the default theme color.
2014-09-03 14:22:33 +02:00
Daniel Mustieles
ae81e4ee1b Updated Spanish translation 2014-09-03 14:19:28 +02:00
Fran Diéguez
a251a4139f Updated Galician translations 2014-09-03 10:34:07 +02:00
Nilamdyuti Goswami
957ab2546f Updated Assamese translation 2014-09-03 08:15:37 +00:00
Fran Diéguez
0c0964b056 Updated Galician translations 2014-09-03 10:14:20 +02:00
Piotr Drąg
266416c1f5 Updated Polish translation 2014-09-03 04:27:31 +02:00
Matthias Clasen
2b643a6fd1 widget-factory: More variety in listbox content
Add rows with buttons and checkboxes to the listbox example
on page 2, and make the switch in row 1 toggle selection mode,
to test various cases of widgets in 'selected context'.
2014-09-02 22:25:29 -04:00
Lapo Calamandrei
b4282be76b Adwaita: fix message dialog button linking logic 2014-09-02 23:32:50 +02:00
Lapo Calamandrei
9e8582e371 Adwaita: move %selected_items at the end of the file
To be able to use that all over the place avoiding duplication.
2014-09-02 23:28:21 +02:00
Lapo Calamandrei
d4250eecf7 Adwaita: special case button in selected list rows
Buttons on blue bg needs to have no shadow and, for the light
variant, darker borders.
2014-09-02 22:54:40 +02:00
Lapo Calamandrei
c1e831e595 Adwaita: parametric headerbar_fill highlight 2014-09-02 20:39:25 +02:00
Lapo Calamandrei
c90d8dafd8 Adwaita: turn $widget_edge into a function 2014-09-02 20:36:06 +02:00
Jasper St. Pierre
1073ae57ce testgtk: Fix enabling of the cursor demo
Make this a lot less hacky.
2014-09-02 11:26:56 -07:00
Jasper St. Pierre
e6a0378289 gtkcssshadowvalue: Use cairo_surface_create_similar_image
Calling this on an Xlib surface allows us to keep this in SHM memory,
giving it a potential speedup so we don't have to copy it to SHM memory
for the Composite when we mask later.
2014-09-02 11:26:55 -07:00
Jasper St. Pierre
0acad84366 gdkcairo: Add a missing flush
Noticed by ickle on IRC. We need to flush here to make sure that the
image data we fetch is up to date.
2014-09-02 11:26:55 -07:00
Alexander Larsson
6243c7122c gdkwindow: Fix update area calculations for native subwindows
When recursing the update area down into native subwindows we forgot
to apply the native window position. This caused us to repaint the
wrong thing in certain cases. I noticed this when playing with the
wip/gdk-gl branch, because it was triggering unnecessary repaints
of the (native window) gl widgets.
2014-09-02 17:14:59 +02:00
Matthias Clasen
41fe530795 testgtk: Make cursor demo work with wayland
We have the wayland apis to do this.
2014-09-02 09:53:51 -04:00
Matthias Clasen
e742c0447e inspector: Add .ui.h files to git
Tools like damn-lies rely on being able to generate .pot files
from pristine checkouts, so everything that goes into the .pot
file has to be in git. This is not ideal, but we already do
the same for other .ui.h files in GTK+.
2014-09-02 09:53:51 -04:00
Matthias Clasen
29826d5489 Keep .ui.h files out of BUILT_SOURCES AND MAINTAINERCLEANFILES
Otherwise, git.mk will add them to .gitignore, and we want to
add them to source control for the benefit of tools like damn-lies
which rely on being able to generate a .pot file from a pristine
checkout.,
2014-09-02 09:53:51 -04:00
Lapo Calamandrei
fef85f72ee Adwaita: make entry and headerbar gradients sass functions 2014-09-02 15:21:42 +02:00
Rafael Ferreira
d40ea0ff5b Updated Brazilian Portuguese translation 2014-09-02 06:24:30 +00:00
Matthias Clasen
eb164101ac Bump version 2014-09-01 20:52:46 -04:00
Matthias Clasen
d412270126 3.13.8 2014-09-01 20:08:04 -04:00
Carlos Garnacho
7fbac57712 wayland: Unset window_impl->commit_pending when hiding the surface
A surface may be hidden when a frame is already scheduled, which may cause
crashes on on_frame_clock_after_paint() when calling commit() on a NULL
surface. To fix this, ensure commit_pending is also set to FALSE when the
surface is gone.

https://bugzilla.gnome.org/show_bug.cgi?id=735226
2014-09-01 22:44:08 +02:00
Andre Heinecke
382d68ff8e Use secrets service for cups auth_info
When a printer requires auth_info (e.g. a printer connected
    over the samba protocol) it is now possible to save the
    credentials necessary for printing if a secrets service
    is available over dbus.
    The auth_info is then stored / loaded from the default
    collection of that secrets service.
    If no such service is available the user is not shown
    the option to remember the password and the behavior
    remains the same as before.

    https://bugzilla.gnome.org/show_bug.cgi?id=674264
2014-09-01 22:39:51 +02:00
Carlos Garnacho
d5dae5b5df wayland: Store and use the current grab cursor, if any
Only static cursors are supported in gdk_device_grab() so far. Obey the
cursor that gdk_device_grab() specifies, which may be different to
the pointer window one. As soon as the grab is gone, the pointer window
cursor will be restored as usual.

https://bugzilla.gnome.org/show_bug.cgi?id=735831
2014-09-01 20:46:29 +02:00
Carlos Garnacho
2c71b8f599 wayland: Keep the last cursor on leave, try to restore it on enter
On DnD, pointer_handle_leave may be triggered without the pointer actually
leaving the window, and pointer_handle_enter() happening after intra-window
DnD won't actually manage to update the cursor (it does nothing directly,
and to the upper layers the cursor is still the same and consistent, so no
attempt will happen).

To fix this, keep the pointer cursor on leave, and ensure it is updated
on enter. The pointer cursor will be updated to any current new one through
the enter/motion events generated if it needs be.

https://bugzilla.gnome.org/show_bug.cgi?id=735831
2014-09-01 20:46:29 +02:00
Carlos Garnacho
a0abdbbdd6 wayland: Reference pixmap-based cursors' surface before handing the wl_buffer
cairo_surface_destroy() is called after the buffer is released, for every
wl_buffer. Windows usually reference their cairo surface before rendering,
so that extra reference is consumed after the buffer is released, so do
the same with cursor surfaces and add an extra reference whenever a cursor
surface change is about to be scheduled.

Otherwise, the GdkWaylandCursor is left with an invalid cairo_surface_t,
which causes crashes the next time it is used.

https://bugzilla.gnome.org/show_bug.cgi?id=735830
2014-09-01 20:46:29 +02:00
Piotr Drąg
b2b948514e Updated POTFILES.in 2014-09-01 20:06:19 +02:00
Carlos Garnacho
14b4e4d35a gtkdnd: Hardcode the DnD window onto the drag widget window on Wayland
This makes the drag widget use the same window surface that was passed
when starting the drag operation.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:50:12 +02:00
Carlos Garnacho
ee93db1659 window: Add private API to hardcode the main GdkWindow for a GtkWindow
This must be called while the window is not realized yet, and sets the
GdkWindow that will be used for the next GtkWindow's realize/unrealize
cycle. The GtkWindow takes ownership on the GdkWindow, and as such it
will be destroyed when the widget is unrealized.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:54 +02:00
Carlos Garnacho
8504890867 wayland: Add private API to retrieve the drag window for a drag context
On wayland the DnD surface must be created early when starting the drag
operation, so offer API for GTK+ to get the GdkWindow used as a DnD
surface on the drag operation.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:54 +02:00
Carlos Garnacho
6ba7d347c7 wayland: Return properly type hints from GdkWindows
This was hardcoded to GDK_WINDOW_TYPE_HINT_NORMAL, even though wayland
windows store the type hint themselves.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:54 +02:00
Carlos Garnacho
867302e2c7 wayland: Don't set an xdg surface to DnD windows
https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
7b85a3417a wayland: Implement drag sources
The wl_data_source is retrieved from the selection object for the DnD
selection, and used to initiate a drag. When the drag is finished, a
button release or touch end event is synthesized to finish the DnD
operation after the compositor grab is gone.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
9b0b88d16b wayland: Implement the dropping part of DnD
All destination-side events are emitted, and updates to the drop context
are notified through the currently handled wl_data_offer.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
f48b3cce02 wayland: Replace clipboard implementation
The wayland specific clipboard functions have been replaced by something
more similar to the hooking the win32 backend does, which allows for just
using the default GtkClipboard code in GTK+. As a consequence, the
wayland-specific GtkClipboard implementation is now gone.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
7744799072 wayland: Implement drag/source side of selections
This has been made to work similarly to X11, requests for the data device
contents are notified through GDK_SELECTION_REQUEST events, the data stored
in the GDK_SELECTION property as a reaction to that event is then stored
into the wayland selection implementation, and written to the fd when
requested/available.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
3b953041a9 wayland: Implement drop/destination side of selections
This implementation makes the destination side of selections work
similarly to X11's, gdk_selection_convert() triggers data fetching,
which is notified through GDK_SELECTION_NOTIFY events on arrival,
the buffered data is then available through gdk_selection_property_get().

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
32bf03c053 wayland: implement text_property_to_utf8_list()
Of some sort, this is enough to get text transfers on wayland, anything but
utf8 as plain/text should be pretty rare.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
bd410421d8 gtkselection: Ensure the X11 specific message length only applies to X11
Other backends are compilable together with the X11 one, so the message
lenght limit was applying to them all.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
5fcf2de617 gdk: Remove check for source window
This is backend dependent, on wayland there is no such source window,
not even on local DnD situations.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Carlos Garnacho
9c16d8bb50 gdk: Add GDK_DRAG_PROTO_WAYLAND
To be used on the wayland windowing backend as the DnD protocol.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-09-01 19:17:53 +02:00
Lapo Calamandrei
7d1d9e26d7 Adwaita: make links on selected bg visible... 2014-09-01 19:10:50 +02:00
Lapo Calamandrei
31a26ef8a9 Adwaita: GtkFlowBox selected child styling 2014-09-01 17:43:14 +02:00
Matthias Clasen
0c417dfc30 inspector: Prevent looping when picking widgets
What was happening that the button press event that we use
to select a widget caused another clicked signal emission of
the inspect button, starting another pick action.
2014-09-01 11:39:08 -04:00
Lapo Calamandrei
87e2b37875 Adwaita: move the header-bar fill in a mixin. 2014-09-01 17:32:16 +02:00
Jiro Matsuzawa
3053d0d5e9 l10n: Update Japanese translation 2014-09-01 23:29:18 +09:00
Lapo Calamandrei
85593b2f2b Adwaita: set padding to 0 for tab buttons 2014-09-01 16:27:34 +02:00
Chun-wei Fan
d8b8048faf GTK MSVC Projects: Fix Include Directories
Somehow the project files looked for includes in gdk/ before gtk/, which
is wrong.  Fix that.
2014-09-01 13:14:11 +08:00
Jasper St. Pierre
08f6dceef5 gtkcairoblur: Relicense under LGPL
Both Owen Taylor and I, the originators of this code, allow the code
herein be relicensed to the LGPL, which is what GTK+ ships with. This
prevents GTK+ from being GPL-only.
2014-08-31 19:50:37 -07:00
Jasper St. Pierre
f33eb7a373 cssshadowvalue: Fix whitespace 2014-08-31 19:50:37 -07:00
Maria Mavridou
b547d57d40 Updated Greek translation 2014-08-30 21:55:24 +00:00
Lapo Calamandrei
db6f7296e6 Adwaita: special case checks/radios on selected bg
Add yet another set of checks and radios assets used in selected
treeview cells and selected list-rows, the standard dark variant assets
work well in those cases so no need for special casing there.
2014-08-30 14:33:20 +02:00
Matthias Clasen
a822abd308 GtkTreeView: Don't hardcode black for tree lines
Use the left border color for tree lines. This is similar to
our use of top border color for grid lines. As a side-effect,
tree lines now get recolored when they are in a selected row.

https://bugzilla.gnome.org/show_bug.cgi?id=415415
2014-08-30 02:12:41 -04:00
Matthias Clasen
8c5eb9a0d6 GtkTreeModelFilter: Documentation improvement
Clarify in the docs that some functions can only be called
once for a given filter model.

https://bugzilla.gnome.org/show_bug.cgi?id=346886
2014-08-30 01:59:05 -04:00
Matthias Clasen
6fbb1c782b Add a testcase for counting selection in treeviews
https://bugzilla.gnome.org/show_bug.cgi?id=702957
2014-08-30 01:46:58 -04:00
Matthias Clasen
c71d1b9664 treeview tests: Clean up after each test
It is not good form to leak in testcases.
2014-08-30 01:46:26 -04:00
Matthias Clasen
00866d1c0a treeview tests: Add bug references 2014-08-30 01:34:10 -04:00
Matthias Clasen
1c1b51d52d Don't return from a void function
And don't return the value of void functions, either.
2014-08-30 00:53:35 -04:00
Matthias Clasen
0fed16d1b0 Trivial formatting fix 2014-08-30 00:53:21 -04:00
Piotr Drąg
f505fc5cb4 Updated POTFILES.in 2014-08-30 02:43:13 +02:00
Matthias Clasen
e014b89310 Move gtkthemingengine to deprecated directory
This is the place for wholly-deprecated sources.
2014-08-29 16:35:37 -04:00
Matthias Clasen
bdf35e034a GtkAboutDialog: Add formatting examples to the docs
We were not very explicit about the expected format for links
and email addresses in the strings, so give some explicit examples.
2014-08-29 15:11:11 -04:00
Lapo Calamandrei
4d608ad722 Adwaita: no edge hilight for checks and radios in list-rows 2014-08-29 19:48:11 +02:00
Matthias Clasen
c69d578bb8 Bump wayland dep to 1.5.91
This release has the new key repeat listener that we are using.
2014-08-29 11:36:26 -04:00
Lapo Calamandrei
2de06993d5 Adwaita: titlebutton are flat image-buttons
Hence treat them like those, a bunch of special case styling
removed, which also doesn't override selection mode buttons
styling.
2014-08-29 16:52:21 +02:00
Lapo Calamandrei
c5893e5dc1 Adwaita: style GtkLabel.separator
Fixes gnome-document search popup titles.
2014-08-29 15:32:45 +02:00
Lapo Calamandrei
3407a83c23 Adwaita: avoid text in buttons being overridden by GtkLabel style 2014-08-29 14:49:54 +02:00
Matthias Clasen
992af6c4fe GtkAboutDialog: Support https in links
https://bugzilla.gnome.org/show_bug.cgi?id=680067
2014-08-29 00:51:39 -04:00
Jakub Steiner
c5d4485a63 Adwaita: pathbar whitespace
- optically center icons + labels vertically. It isn't actually
  centered, but feels more balanced
- add some left/right padding

https://bugzilla.gnome.org/show_bug.cgi?id=734753
2014-08-28 23:10:20 -04:00
Matthias Clasen
1feeb6bb4d Add a release note about X without render
This reflects the findings in
https://bugzilla.gnome.org/show_bug.cgi?id=735294
2014-08-28 23:01:18 -04:00
Matthias Clasen
3404e92312 GtkHeaderBar: Update separator visibility when needed
We need to be a little more forthcoming with showing and hiding
the separators - their visibility now depends on the the visibility
and pack type of the regular headerbar children. This was observed
in gnome-contacts, where headerbar buttons are shown and hidden.
2014-08-28 22:54:18 -04:00
Matthias Clasen
7b3c81f688 GtkDialog: Keep special-casing help buttons
We used to move help buttons to the secondary position regardless
how they were added to the action area. Keep doing that, to avoid
breaking existing dialogs that rely on this behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=735119
2014-08-28 21:29:26 -04:00
Jakub Steiner
ef0280aeda Adwaita: bring the separator back for dialog buttons
- separators got nuked during lapo's border cleanup
2014-08-29 02:14:16 +02:00
Paolo Borelli
d94379183a menubutton: dismiss menu/popover when toggling programmatically
https://bugzilla.gnome.org/show_bug.cgi?id=735545
2014-08-28 21:16:19 +02:00
Lapo Calamandrei
0144cb92ed Adwaita: dim menu checks/radios a bit 2014-08-28 20:33:37 +02:00
Jesse van den Kieboom
b107c9f02c quartz: Get default font size from user font
https://bugzilla.gnome.org/show_bug.cgi?id=735321
2014-08-28 20:02:20 +02:00
Lapo Calamandrei
70e2a1bb22 Adwaita: nicer transition for flat buttons. 2014-08-28 18:38:46 +02:00
Yosef Or Boczko
a3e9671b02 Updated Hebrew properties translation 2014-08-28 17:57:51 +03:00
Carlos Garnacho
42c41d7bbd scrolledwindow: Be smarter at invalidating overshoot areas
The previous way to invalidate was meant to work on the overshoot window
so it wouldn't be as taxing. Since the overshoot window is gone, this
would invalidate way more than intended. So constrain invalidated areas
to the sides where overshoot is happenning at that moment.

https://bugzilla.gnome.org/show_bug.cgi?id=735223
2014-08-28 16:44:12 +02:00
Carlos Garnacho
3df8b95e0e tooltip: Use subsurfaces on wayland
This places tooltips in the right place, and avoids having those attempt
to steal the focus.

https://bugzilla.gnome.org/show_bug.cgi?id=735531
2014-08-28 16:41:14 +02:00
Lapo Calamandrei
68d6968955 Adwaita: border rationalization and cleanup
Rely only on border-style for border, take out border-width and
border-style from drawing functions.
2014-08-28 15:44:36 +02:00
Emmanuele Bassi
5ad60caa3c css: Implement font-stretch
The font-stretch CSS property is defined in the Level 3 CSS Fonts
module, available at:

  http://dev.w3.org/csswg/css-fonts/#propdef-font-stretch

It allows defining a normal, condensed, or expanded face to the font
description. Pango already supports it, so this is literally just the
CSS parser machinery needed to bridge our CSS to the FontDescription
API.

https://bugzilla.gnome.org/show_bug.cgi?id=735593
2014-08-28 13:41:40 +01:00
Lapo Calamandrei
f05e9d2612 Adwaita: take named colors out of _colors.scss
To be able to use sass for shipped css, importing _colors.scss
and _drawings.scss.
2014-08-28 13:21:14 +02:00
Lapo Calamandrei
c0ed8e954e Adwaita: rationalize font sizes.
...making GtkSwitch font-size relative in the process.
2014-08-28 12:48:32 +02:00
Emmanuele Bassi
80f4dffa76 theme: Specify the weight, not the font, for header bar titles
Using `font: Bold` will override the font with whatever the system
resolves a `Bold` font name to, including the font's own default size.

We want the font weight to be bold, but we want the default font name
and size to come from the GtkSettings:font-name property, like we do for
the rest of the system.
2014-08-28 11:20:45 +01:00
Matthias Clasen
974807fae9 Adwaita: Make expanders turn again
The theme needed some small adjustments for the recent expander
state changes ACTIVE to CHECKED.
2014-08-27 22:17:29 -04:00
Benjamin Otte
75ac49c475 Use CHECKED instead of ACTIVE for expanded expanders
https://bugzilla.gnome.org/show_bug.cgi?id=733967
2014-08-27 21:27:20 +02:00
Benjamin Otte
f1b14a33b5 configure: Move AC_USE_SYSTEM_EXTENSIONS up
We don't want to get warnings from autoconf about
AC_USE_SYSTEM_EXTENSIONS coming after AC_COMPILE_IFELSE.
2014-08-27 21:27:20 +02:00
Jesse van den Kieboom
b57bef989a quartz-dnd: make sure to set source window
https://bugzilla.gnome.org/show_bug.cgi?id=658722
2014-08-27 20:57:17 +02:00
Lapo Calamandrei
6b0e4ba789 Adwaita: no edge hilight for popover checks/radios 2014-08-27 18:29:32 +02:00
Benjamin Otte
21d3701291 reftests: Fix Makefile
with non-installed tests the build would get an empty $(reftestdir)
which would screw up the LDFLAGS.

An rpath seems to be required to make libtool build a shared object.
Without an rpath line, it only builds a static object.

https://bugzilla.gnome.org/show_bug.cgi?id=735401
2014-08-27 18:02:52 +02:00
Benjamin Otte
4a6ecf33fc gtk-demo: Don't use mad mime type guessing
... for displaying resources. Instead use the proven and way more
reliable method of trial and error.

It's less code and more portable for a start.
But most of all it displays PNM files as text if you fail to compile
the gdk-pixbuf loader for it.
2014-08-27 18:02:48 +02:00
Benjamin Otte
de061a83a4 modifierstyle: Remove the changed signal
It's been unused since last commit
2014-08-27 17:57:10 +02:00
Benjamin Otte
01d644b7ee widget: Don't connect to GtkModifierStyle::changed
Changes to the modifier style will be picked up by the
GtkStyleProviderPrivate::changed signal. And that signal will actually
invalidate properly.
2014-08-27 17:57:10 +02:00
Carlos Garnacho
d34f2526c4 wayland: Ensure the parent is committed after repositioning subsurfaces
Subsurface position is deemed part of the state of the parent surface, so
ensure wl_surface_commit() happens on the parent surface if none is
scheduled, so the repositioning takes place.
2014-08-27 17:45:16 +02:00
Carlos Garnacho
e6199af60d treeview: Reset multipress controller after 2nd click
The pre-gestures code used to compare the current button press with the
previous one on !activate_on_single_click, and unset the previous event
data so ::row-activated would be emitted every 2 clicks.

So do the same with the multipress gesture and reset it after every 2nd
click to have ::row-activated emitted multiple times while manic clicking.

https://bugzilla.gnome.org/show_bug.cgi?id=735353
2014-08-27 17:12:52 +02:00
Emmanuele Bassi
79c3ff3c4e threads: Do not release the GDK lock if it hasn't been acquired yet
Since GLib ≥ 2.41, attempting to release an unlocked mutex will abort(),
as it happens on most systems already.

Given the lack of proper documentation on how to use GDK with threads,
there is code in the wild that does:

    gdk_threads_init ();
    gdk_init ();

    ...

    gtk_main ();

instead of the idiomatically correct:

    gdk_threads_init ();
    gdk_threads_enter ();

    gtk_init ();

    ...

    gtk_main ();

    ...

    gdk_threads_leave ();

Which means that gtk_main() will try to release the GDK lock, and thus
trigger an error from GLib.

we cannot really fix all the wrong code everywhere, and since it does
not cost us anything, we can work around the issue inside GDK itself, by
trying to acquire the GDK lock inside gdk_threads_leave() with
trylock().

https://bugzilla.gnome.org/show_bug.cgi?id=735428
2014-08-26 20:07:33 -04:00
Benjamin Otte
0f0fc59fbd build: make reftests work without installed tests
The libreftest.so module needs to be built in all cases.
Without installed tests, it needs to not be installed though.

https://bugzilla.gnome.org/show_bug.cgi?id=735401
2014-08-26 20:05:49 -04:00
Ikey Doherty
6e1ef76480 Cleanup invalid comments (duplication of words)
https://bugzilla.gnome.org/show_bug.cgi?id=735301

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2014-08-26 19:55:38 -04:00
Carlos Garnacho
ea830aee5d button: Track gesture point to maintain priv->in_button
This makes the active state work invariably with both mouse/touch, and
regardless of X11 pointer emulation being friendly and sending crossing
events for the emulated pointer events in the latter.

This makes GtkButtons' active state look correct when pressing on
touchscreens on wayland.

https://bugzilla.gnome.org/show_bug.cgi?id=731380
2014-08-26 23:21:24 +02:00
Carlos Garnacho
d04d29f26c entrycompletion: Mark popup window as subsurface on wayland
This will make the completion window use GDK_WINDOW_SUBSURFACE and be
shown relative to the parent window without involving compositor grabs.

https://bugzilla.gnome.org/show_bug.cgi?id=695504
2014-08-26 23:06:02 +02:00
Carlos Garnacho
c38651cac4 gtkwindow: Add private API to mark as subsurface
This is a rather hackish way to let GTK+ widgets declare popup windows
as subsurfaces, so they may work on wayland without the need of xdg_popup,
and without many changes yet on the GTK+ side.

https://bugzilla.gnome.org/show_bug.cgi?id=695504
2014-08-26 23:06:01 +02:00
Lapo Calamandrei
6574d99adf Adwaita: menu checks and radios making sense 2014-08-26 20:32:36 +02:00
Lapo Calamandrei
a02b8e06a4 Adwaita: set a background for GtkTextView
Needed for gedit line numbers, overridden by .view {} normally
2014-08-26 19:54:41 +02:00
Lapo Calamandrei
a65acc7e8d Adwaita: minor fixes to GtkLabel 2014-08-26 19:24:44 +02:00
Lapo Calamandrei
e9a3d42473 Adwaita: take rtl into consideration for GtkAssistant 2014-08-26 18:02:28 +02:00
Lapo Calamandrei
a677205dca Adwaita: GtkAssistant tweakings 2014-08-26 17:51:45 +02:00
Lapo Calamandrei
c942389adb Adwaita: treeview checks/radios minor fix
Superfluous icon shadow in checked hover state removed.
2014-08-26 16:56:22 +02:00
Lapo Calamandrei
9585de7832 Adwaita: in app notification fixes 2014-08-26 16:54:19 +02:00
Carlos Garnacho
bb3a8edb9f scalebutton: Handle smooth scroll events
This has the double effect to make scale button truly smooth, and make
scrolling work on wayland, since all scrolling is "smooth" there.

https://bugzilla.gnome.org/show_bug.cgi?id=720269
2014-08-26 14:54:08 +02:00
Carlos Garnacho
2e7d5b22a1 wayland: Fix x/y coordinate arguments on wl_data_device events
Those are wl_fixed_t, not int.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-08-26 14:46:13 +02:00
Carlos Garnacho
001327d999 wayland: ensure gdk_device_manager_get_client_pointer() returns a master pointer
The internal ordering of devices isn't quite guaranteed, so ensure we're returning
the right one.

https://bugzilla.gnome.org/show_bug.cgi?id=697855
2014-08-26 14:46:13 +02:00
Jakub Steiner
dd464513a3 Revert "Adwaita: notebook background"
Not a good solution to the problem at hand (gedit line numbering)

This reverts commit fde03c1f81.
2014-08-26 14:08:47 +02:00
Carlos Garnacho
29d9b2f7cf wayland: unset sequence if the xdg surface is moved/resized through touch
The latest implicit grab serial is used in order to start the compositor
grab, If it belongs to a touch event, remove that touch sequence, as the
rest of the sequence will be gone for good.

This avoids stale sequences (and implicit grab info) after a window is
moved/resized.

https://bugzilla.gnome.org/show_bug.cgi?id=731380
2014-08-26 13:41:05 +02:00
Carlos Garnacho
2c36dc7592 wayland: Add internal API to unset a touch implicit grab
This removes both the wayland specific accounting, and the Gdk implicit
grab tracking.

https://bugzilla.gnome.org/show_bug.cgi?id=731380
2014-08-26 13:39:41 +02:00
Carlos Garnacho
6f789d5a78 wayland: Update the display serial on touch down/up events
https://bugzilla.gnome.org/show_bug.cgi?id=734374
2014-08-26 13:33:30 +02:00
Carlos Garnacho
537ff9fcad wayland: Improve implicit grab serial retrieval
_gdk_wayland_device_get_button_press_serial() has been replaced by
_gdk_wayland_device_get_implicit_grab_serial(), which takes a touch/pointer
event and figures out the relevant serial, and
_gdk_wayland_device_get_last_implicit_grab_serial() which returns
the most recent serial.

The button press serial was currently used when operating popping up
xdg_shell/surface popups and window menus, so this is now touch aware, of
some sort.

https://bugzilla.gnome.org/show_bug.cgi?id=734374
2014-08-26 13:32:46 +02:00
Carlos Garnacho
5b8641740b wayland: Store per-touch touch_down serial
https://bugzilla.gnome.org/show_bug.cgi?id=734374
2014-08-26 13:32:16 +02:00
Carlos Garnacho
12398c5d74 wayland: rename internal touch management functions
These functions arent quite related to the device manager, so rename these
more conveniently.

https://bugzilla.gnome.org/show_bug.cgi?id=734374
2014-08-26 13:31:52 +02:00
Carlos Garnacho
8f2d8dfa3b wayland: Protect against invalid keymaps gotten from the compositor
If the compositor sends a keymap that fails on "compilation",
xkb_keymap_new_from_string() returns NULL, which makes xkb_state_new()
crash when assuming there is a keymap.

In these cases, gdk must remain with a xkb_state to handle modifiers/keys
properly, so warn about the invalid keymap string, and keep the previous
keymap (currently initialized to "us")

https://bugzilla.gnome.org/show_bug.cgi?id=735389
2014-08-26 13:04:08 +02:00
Carlos Garnacho
ab6f771413 wayland: create a wl_subsurface interface for GDK_WINDOW_SUBSURFACE windows
This subsurface is currently dependent on the transient_for parent, so the
subsurface is repositioned relative to it.

https://bugzilla.gnome.org/show_bug.cgi?id=729215
2014-08-26 12:58:13 +02:00
Carlos Garnacho
ad9da99d86 wayland: Acquire wl_subcompositor interface
This will be needed for GDK_WINDOW_SUBSURFACE windows.

https://bugzilla.gnome.org/show_bug.cgi?id=729215
2014-08-26 12:58:13 +02:00
Carlos Garnacho
84414f0381 gdk: Add GDK_WINDOW_SUBSURFACE window type
This window type can only be used on wayland so far, so NULL is returned
if it's attempted to be used on any other windowing backend.

https://bugzilla.gnome.org/show_bug.cgi?id=729215
2014-08-26 12:58:13 +02:00
Carlos Garnacho
e206b72635 wayland: Make toplevels' X/Y coordinates be 0
To all effects each window has its own "root" coordinates system, so set
toplevels at 0,0 in that coordinate system, so root coordinate calculations
are locally right.

https://bugzilla.gnome.org/show_bug.cgi?id=729215
2014-08-26 12:58:13 +02:00
Jakub Steiner
fde03c1f81 Adwaita: notebook background 2014-08-26 12:32:05 +02:00
Paolo Borelli
290a19e93d TextView: clear the background using the default bg color
Try to tidy up how the background is set on the textview:
 *) the .view class should be applied only to the text window, not
    to the margins
 *) when setting the background on the margins we must use .left etc
 *) use context_set_bg instead of manually setting the color

https://bugzilla.gnome.org/show_bug.cgi?id=735368
2014-08-26 09:55:53 +02:00
Matthias Clasen
d5876e99f5 GtkTreeView: Avoid a crash with empty trees
The gesture code was assuming that the rb tree exists, which
will not be the case if the treeview is empty.

https://bugzilla.gnome.org/show_bug.cgi?id=735300
2014-08-26 00:06:23 -04:00
Jakub Steiner
318555ca26 Adwaita: define styling for location-bar toolbars
- same inset style as searchbars
2014-08-25 19:20:49 +02:00
Jakub Steiner
3bad6d1367 Adwaita: legible labels in headerbars in selection mode 2014-08-25 15:24:44 +02:00
Jakub Steiner
514a3c62d7 Adwaita: selection-mode checked togglebuttons
- exposed in gnome-contacts for example.
2014-08-25 15:18:58 +02:00
Jakub Steiner
61d0ea054f Adwaita: selected text in GtkLabel
https://bugzilla.gnome.org/show_bug.cgi?id=735310
2014-08-25 15:08:45 +02:00
Sébastien Wilmet
6525a11b8d inspector: fix a crash in the CSS editor
gtk_css_section_get_end_position() can return a position one byte beyond
the end of the last line.

gtk_text_buffer_get_iter_at_line_index() accepts only valid
line_number/byte_index pairs. Another solution is to make the
GtkTextBuffer function less strict, by returning a boolean if the exact
position was found.

The CSS parser should also be fixed to always return valid positions.
But it's better to have a safety net in the CSS editor, just in case (a
warning could be print).

https://bugzilla.gnome.org/show_bug.cgi?id=735337
2014-08-25 14:25:09 +02:00
Jesse van den Kieboom
ec17a649ae gdkwindow-quartz: Support native fullscreen mode
This implements native fullscreen mode on OS X >= 10.7. This patch
adds tracking of the fullscreen mode if externally modified, as well
as toggling the native fullscreen mode of the window as needed.
2014-08-25 12:52:47 +02:00
Garrett Regier
907dae414a Ref the popover before activating the item
Otherwise the item could cause the popover to be destroyed,
for example a Quit item, and cause a warning to be printed.
2014-08-23 07:51:59 -07:00
Matthias Clasen
08066b1009 GtkAboutDialog: Drop visibility-notify-event handler
The signal is deprecated, and the handler is only helping
for a really tiny corner case anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=734961
2014-08-23 01:28:14 -04:00
Ikey Doherty
4526e6f307 Change gdk-pixbuf minimum required version to 2.30.0
https://bugzilla.gnome.org/show_bug.cgi?id=735253

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
2014-08-22 23:58:26 -04:00
Matthias Clasen
2c65e25944 Some release notes for 3.14 2014-08-22 23:11:11 -04:00
Jakub Steiner
96dae4b86e Adwaita: use osd style for in-app notifications 2014-08-22 18:19:21 +02:00
Jasper St. Pierre
cd173a1b19 xdg-shell: Bump version 2014-08-22 12:06:09 -04:00
Lapo Calamandrei
d0eb69a56c Adwaita: added a workaround to make sass behave 2014-08-22 17:27:07 +02:00
Matthias Clasen
00543f1781 GtkColorChooser: Make color plane react to mouse again
Fallout from changing the defaults for gesture properties.
2014-08-22 11:21:52 -04:00
Lapo Calamandrei
6ece90301e Adwaita: dark active buttons for osd 2014-08-22 16:55:23 +02:00
Lapo Calamandrei
2ad15d1713 Adwaita: @define-color "compatible" with sass 3.4.0 2014-08-22 14:55:04 +02:00
Carlos Garnacho
ba83a2757e wayland: Add defines to convert between event sequences and touch slots
This makes it clearer in code what's going on there.
GDK_SLOT_TO_EVENT_SEQUENCE isn't used yet, but will be useful in the
future.
2014-08-22 13:37:41 +02:00
Carlos Garnacho
5bc437d2bc textview: Unset bubble timeout ID right after requesting the clipboard
The timeout ID used to be unset after we got the targets from the
clipboard, but there's still a moment between the clipboard request and
the GDK_SELECTION_NOTIFY event that the ID points to an already gone
timeout.
2014-08-22 13:24:56 +02:00
Carlos Garnacho
88bf4a7a2d x11: Fix possible leak of GdkEvents
If the filter didn't return GDK_EVENT_TRANSLATE, the event struct would be
left unused and leaked.
2014-08-22 13:24:48 +02:00
Lapo Calamandrei
d9ea7cda80 Adwaita: kill a bogus background-color 2014-08-22 13:07:44 +02:00
Lapo Calamandrei
565d65c907 Adwaita: first round at osd revamp
...buttons, gtkscale and toolbars, more to follow...
2014-08-22 12:55:30 +02:00
Matthias Clasen
683a7f1429 GtkFileChooserWidget: Use ratio in formatted times
This matches what we do in other places now.
2014-08-22 02:04:31 -04:00
Matthias Clasen
23fdc45b95 Avoid picking up long description as translator comment
Rearrange a few lines to help xgettext avoid picking up the
long description of GtkFileChooserButton as translator comment.
2014-08-22 02:04:31 -04:00
Matthias Clasen
22db3e57cb Avoid picking up long description as translator comment
Rearrange a few lines to help xgettext avoid picking up the
long description of GtkAboutDialog as translator comment.
2014-08-22 02:04:31 -04:00
Matthias Clasen
792ffb26bc Remove an extraneous translatable string 2014-08-22 02:04:26 -04:00
Matthias Clasen
8061165789 Adwaita: Insensitive labels
There is an insensitive label in widget-factory which was
not getting any different from the sensitive label next
to it. With this patch, it does, again.
2014-08-22 00:42:52 -04:00
Matthias Clasen
975f29f17f Adwaita: Add assistant sidebar theming
This is just enough to draw the sidebar background and
markt he current page as active.
2014-08-21 23:09:14 -04:00
Matthias Clasen
c3755d995f GtkAssistant: Don't use a draw cb for the sidebar
We can do this with css nowadays.
2014-08-21 23:09:14 -04:00
Rico Tzschichholz
a3a6ce1b42 gtk: Fix return-annotation of gtk_get_default_language to "transfer none" 2014-08-21 23:10:32 +02:00
Matthias Clasen
209d2a83c4 GtkPageSetup: Improve formatting of size
Use U+00D7 MULTIPLICATION SIGN and U+200A HAIR SPACE instead of plain
old 'x' and ' ', following https://wiki.gnome.org/Design/OS/Typography.

Sadly, many fonts don't have space variations, so Pango/harfbuzz fall
back to using the regular space glyph anyway.
2014-08-21 17:07:00 -04:00
Matthias Clasen
bcb9eabf11 Add tests for parsing int64/uin64 in GtkBuilder
This tests the fix in the previous commit.
2014-08-21 14:22:13 -04:00
Matthias Clasen
23fcc5e373 GtkBuilder: Support parsing int64/uin64 values
This was missing; the code to parse these numbers was there,
but the switch didn't have cases for these types.

https://bugzilla.gnome.org/show_bug.cgi?id=602443
2014-08-21 14:22:13 -04:00
Matthias Clasen
beae42c49b Include config.h first
Otherwise, we miss the _GNU_SOURCE #define that configure
puts there.
2014-08-21 14:22:13 -04:00
Sébastien Wilmet
706c8e9c8d Simplify _gtk_text_buffer_get_line_log_attrs()
NULL was returned in case of an empty last line. Every users needed to
special-case this. Now it will return the expected result: char_len of 0
with one PangoLogAttr.

In compute_log_attrs(), 'paragraph' will be the empty string "" with
'char_len' == 0.
pango_get_log_attrs() works fine with an empty string, it will return
one correct PangoLogAttr (because there is one text position for the
empty string).

It fixes the unit tests for gtk_text_iter_is_cursor_position().

https://bugzilla.gnome.org/show_bug.cgi?id=156164
2014-08-21 18:43:34 +02:00
Sébastien Wilmet
83bc0c4bb1 textbuffer: unit tests for the empty last line
For functions using _gtk_text_buffer_get_line_log_attrs():
- gtk_text_buffer_backspace()
- some gtk_text_iter functions (word/sentence/cursor boundaries)

As the FIXME comments show, there is a bug with
gtk_text_iter_is_cursor_position() for an empty last line.

https://bugzilla.gnome.org/show_bug.cgi?id=156164
2014-08-21 18:43:34 +02:00
Matthias Clasen
7645d201d4 GtkPopover: Fix rtl positioning
There was some confusion between unflipped and flipped positions.
Both final_position and current_position are meant to be unflipped,
and get_effective_position() needs to be applied to them to get
a flipped position. _gtk_window_set_popover_position() also expects
an unflipped position.

https://bugzilla.gnome.org/show_bug.cgi?id=735014
2014-08-21 11:59:44 -04:00
Lapo Calamandrei
09286cf968 Adwaita: try to be nicer on performances with entry shadows 2014-08-21 15:39:12 +02:00
Piotr Drąg
3566108160 Updated POTFILES.skip 2014-08-21 15:33:36 +02:00
Jakub Steiner
5344f99cdb Adwaita: no edge highlight for backdrop check/radios 2014-08-21 15:03:32 +02:00
Jakub Steiner
d72fa9aaa8 Adwaita: remove edge highlight form the assets
- using icon-shadow now, allows to treat special cases
  without introducing assets
2014-08-21 14:32:41 +02:00
Chao-Hsiung Liao
fe2b00a2d6 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-08-21 18:50:35 +08:00
Lapo Calamandrei
9a0b9f6378 Adwaita: some separators simplification
Accidentally fixing the backdrop separators in sidebars turning
black
2014-08-21 12:24:01 +02:00
Lapo Calamandrei
cdf5ecada9 Adwaita: inline toolbar buttons fixes
Properly styled single buttons in inline toolbars and fixed
a superflous border chiming in in backdrop.
2014-08-21 11:55:25 +02:00
Simon McVittie
d975cd5baa Deprecate GTK_CHECK_BACKEND in favour of PKG_CHECK_MODULES
This is easy to do with pkg-config too.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=641638
Bug-Debian: https://bugs.debian.org/756476
Reviewed-by: Matthias Clasen
2014-08-21 09:54:38 +01:00
Simon McVittie
169f064c1f Deprecate AM_PATH_GTK_3_0 in favour of PKG_CHECK_MODULES
That's what GNOME applications use.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=641638
Bug-Debian: https://bugs.debian.org/756476
Reviewed-by: Matthias Clasen
2014-08-21 09:54:32 +01:00
Simon McVittie
d329544e70 Use AC_USE_SYSTEM_EXTENSIONS to get _GNU_SOURCE, _XOPEN_SOURCE etc.
Similar to Bug #684123 in GLib.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=641638
Bug-Debian: https://bugs.debian.org/756476
Reviewed-by: Matthias Clasen
2014-08-21 09:54:12 +01:00
Benjamin Otte
2737c67cce css: Round shadow extents properly
Otherwise drawing will be clipped.

Testcase included
2014-08-21 00:54:07 +02:00
Benjamin Otte
67456304d4 roundedbox: Only grow border-radius if there is one
This is relevant for shadow spread and goes in line with the web.

Testcase included.
2014-08-21 00:54:07 +02:00
Benjamin Otte
1126a34353 label: Respect box-shadow when computing clip
Testclase included.

Also reorder headers to be alphabetic.
2014-08-21 00:54:07 +02:00
Benjamin Otte
b5a8b7ef3b widget: Make _gtk_set_simple_clip() take an optional content clip 2014-08-21 00:54:07 +02:00
Benjamin Otte
e643ddfd16 stylecontext: Remove GTK_CSS_CHANGE_FORCE_INVALIDATE
This was introduced as a hackish way in 3.6 to make font updates
propagate properly. But since then, font handling has been changed and
this flag is no longer necessary.
2014-08-21 00:54:07 +02:00
Benjamin Otte
665ad8c6f9 stylecontext: Use right invalidation func
gtk_style_context_invalidate_internal() will respect only the current
saved state of the style context, which is wrong when updating the scale.
In that case, the whole style context needs updating.
2014-08-21 00:54:07 +02:00
Sébastien Wilmet
f39d211021 GtkTextView: various code clean-ups
- only one blank line is enough to separate code sections.
- the 'signals' variable was in the middle of function prototypes.
- compare pointers to NULL in some conditions ("if(blah) should be used
  only if blah is a boolean variable). It makes the code clearer.
- various other things.
2014-08-20 19:19:10 +02:00
Sébastien Wilmet
7bc819e88d tests textbuffer: don't use GdkColor (deprecated) 2014-08-20 17:19:30 +02:00
Sébastien Wilmet
55bd34c62a Mark the GdkColor struct as deprecated 2014-08-20 17:19:30 +02:00
Rico Tzschichholz
0c1cbfed53 gtk: Fix transfer annotations gtk_binding_set_new and *_by_class
Those instances are exclusively handled internally and can not be freed.
2014-08-20 16:23:06 +02:00
Jakub Steiner
045380601a Adwaita: selection mode checks
- add missing hover asset
- have enough contrast for the outline
- :active state isn't supported in libgd/apps yet
2014-08-20 09:29:17 +02:00
Jakub Steiner
35f6738509 Adwaita: keep selectmode checks square
- keep the existing 40x40px nominal size
2014-08-20 09:17:42 +02:00
Rico Tzschichholz
4665b95687 gtk: Fix out-param annotation of gtk_theming_engine_get_style_property 2014-08-20 08:55:53 +02:00
Rico Tzschichholz
e317117f03 gtk: Fix return annotation of gtk_selection_data_get_text 2014-08-20 08:54:12 +02:00
Jakub Steiner
bdaf5c8f8b Adwaita: allow window drag on menubars and toolbars
- reported as regression
2014-08-19 19:07:40 +02:00
Jakub Steiner
f9724d1d34 Adwaita: selection mode checkboxes 2014-08-19 19:07:40 +02:00
Paolo Borelli
db3a01b589 GtkApplication: fix annotation of get_menu_by_id
https://bugzilla.gnome.org/show_bug.cgi?id=735034
2014-08-19 18:28:19 +02:00
ngoswami
bbf4c7020a Updated Assamese translation 2014-08-19 16:25:39 +00:00
Jakub Steiner
763f5d51ed Adwaita: don't increase toolbar padding.
https://bugzilla.gnome.org/show_bug.cgi?id=735012
2014-08-19 17:24:52 +02:00
ngoswami
abae22769f Updated Assamese translation 2014-08-19 15:07:02 +00:00
Rico Tzschichholz
0ef0b9872e gtk: Fix broken docs of GtkTranslateFunc 2014-08-18 14:38:04 +02:00
Jakub Steiner
aec4829d74 Adwaita: have an unchecked state for radio/checks in menus
more background in https://bugzilla.gnome.org/show_bug.cgi?id=734290
2014-08-18 14:20:15 +02:00
Matthias Clasen
c9da8bf2b3 Revert "docs: Fix broken gtk-doc formatting"
This reverts commit a7562dd38f.

I prefer to not confuse gtk-doc with doc comments for private
functions.
2014-08-18 08:18:02 -04:00
Rico Tzschichholz
a7562dd38f docs: Fix broken gtk-doc formatting
Fixes broken introspection of GtkTranslateFunc
2014-08-18 13:27:05 +02:00
Jakub Steiner
9c4af41a59 Adwaita: update the last cases for :checked
- treeviews can now have the same default checkboxes and radios
- only menus are special (but needed :active -> :checked)

https://bugzilla.gnome.org/show_bug.cgi?id=733967
https://bugzilla.gnome.org/show_bug.cgi?id=734290
2014-08-18 10:52:52 +02:00
Lasse Liehu
9907d22f53 Finnish translation update 2014-08-17 14:40:56 +03:00
Lasse Liehu
6acfd46d98 Finnish translation update 2014-08-17 14:35:13 +03:00
Benjamin Otte
b520d3b7fb button: Remove unnecessary queue_redraw() calls
Setting a state automatically triggers redraws via the CSS machinery.
2014-08-17 06:47:17 +02:00
Benjamin Otte
442353fa9d checkbutton: Fix redraw issues
This is a hack to get around the optimizations done by the CSS engine.

The CSS engine will notice that no CSS properties changed on the
widget itself when going from one state to another and not queue
a redraw.
And the reason for no properties changing will be that only the
checkmark itself changes, but that is hidden behind a
gtk_style_context_save()/_restore() pair, so it won't be caught.
2014-08-17 06:25:29 +02:00
Matthias Clasen
c4c9b20a05 3.13.7 2014-08-16 21:40:40 -04:00
Matthias Clasen
76a4eeabfd Fix distcheck 2014-08-16 21:40:40 -04:00
Matthias Clasen
d83e684b1f Silence compiler warnings 2014-08-16 21:40:40 -04:00
Matthias Clasen
c2bf866733 Move GtkThemingEngine to the deprecated docs section 2014-08-16 21:40:40 -04:00
Matthias Clasen
d206d694fd GtkWidget: fix up docs minimally 2014-08-16 21:40:39 -04:00
Matthias Clasen
87ad4ec2c2 GtkListBox: fix up docs 2014-08-16 21:40:39 -04:00
Matthias Clasen
7bec0939a8 Clean up and unify docs and formatting 2014-08-16 21:40:39 -04:00
Benjamin Otte
d36bba293d checkbutton: Don't redundantly update states
States are set properly by GtkButton, there is no need to set them
manually.
2014-08-17 03:19:59 +02:00
Benjamin Otte
c1a063e1a4 checkbutton: Draw background unconditionally
We want to draw backgrounds always, not just on prelight. Themes can
decide to only set a background during prelight themselves.
2014-08-17 00:58:04 +02:00
Benjamin Otte
b1ac4f91d3 reftests: Update for :active => :checked change 2014-08-16 20:41:32 +02:00
Yosef Or Boczko
1d9c183156 Updated Hebrew translation 2014-08-16 21:28:01 +03:00
Benjamin Otte
9adf0bf323 stylecontext: Update docs to reflect theming engines being gone 2014-08-16 19:39:45 +02:00
Benjamin Otte
b59e6f1948 themingengine: Deprecate 2014-08-16 19:39:44 +02:00
Benjamin Otte
9ca04c0f9d themingengine: Remove now unused private API 2014-08-16 19:39:44 +02:00
Benjamin Otte
9e4fc66e9a themingengine: Transition code towards StyleContext
We want to get rid of theming engines, so stop using them as much as
possible.
2014-08-16 19:39:44 +02:00
Benjamin Otte
1a143cd272 borderimage: Use style context as argument
... not the theming engine.
2014-08-16 19:39:44 +02:00
Benjamin Otte
04bf3d1e1f roundedbox: Remove functions that take a GtkThemingEngine
Instead, make the functions use a GtkStyleContext argument.
2014-08-16 19:39:44 +02:00
Benjamin Otte
5e8d3d533f themingbackground: Remove initializer that takes a GtkThemingEngine
With the unification to use style contexts everywhere, make that
initializer the only one to use.

Also rename it appropriately.
2014-08-16 19:39:44 +02:00
Benjamin Otte
7e5b58c727 stylecontext: Move private a11y function to private header 2014-08-16 19:39:44 +02:00
Matthias Clasen
04c90d44cc More updates 2014-08-16 13:38:47 -04:00
Matthias Clasen
aefe86d632 Update expected output for the font picker a11y test
This change is a consequence of the recent font chooser changes.
2014-08-16 13:02:47 -04:00
Matthias Clasen
d3dc05174e Update expected output in a11y tests for buttons
This is an expected change from the recent button state cleanups.
2014-08-16 13:01:50 -04:00
Matthias Clasen
7762f94be6 Fix make install
The path to gtk-update-icon-cache was set incorrectly in one case.
2014-08-16 12:14:16 -04:00
Benjamin Otte
eecbe5416e togglebutton: Remove unneeded code
The state is completely handled by gtkbutton.c so no need to do anything
in the togglebutton.
2014-08-16 16:34:16 +02:00
Benjamin Otte
1febbdb499 togglebutton: Don't duplicate button code
It's the same code, so no need to write the same vfunc twice.
2014-08-16 16:34:15 +02:00
Benjamin Otte
0f7c90ac62 radiobutton: :hover on hover
No special cases, those go in the theme.
2014-08-16 16:34:15 +02:00
Benjamin Otte
db1ab7ddf8 button: Handle :inconsistent in GtkToggleButton 2014-08-16 16:34:15 +02:00
Benjamin Otte
cd349dcd48 button: Handle :checked in gtktogglebutton.c
Don't try to handle it elsewhere.
2014-08-16 16:34:15 +02:00
Benjamin Otte
65cc3630c8 widget: Add checks for setting state flags
This is more for GTK developers to catch when they forgot to change
GTK_STATE_FLAGS_BITS after adding a new state flag than to prevent
widget developers from using the wrong flags.
2014-08-16 16:34:15 +02:00
Benjamin Otte
e5d0d5f9e6 themingengine: Remove hack to draw backgrounds instead of checks
This was a hack we added in early 3.x to allow themes to customize their
checkmarks.
Now that we want to properly support real backgrounds everywhere,
supporting this feature would cause double draws of backgrounds.
2014-08-16 16:34:15 +02:00
Benjamin Otte
97a6e692ce stylecontext: Update docs for gtk_render_activity() 2014-08-16 16:34:15 +02:00
Benjamin Otte
6c06bd55da gtk: Don't use gtk_render_activity()
... in places where we draw a background. This was changed for GTK 3.0.0
to allow animations, but these days it doesn't make sense anymore to use
gtk_render_activity() for backgrounds.
2014-08-16 16:34:14 +02:00
Benjamin Otte
b675a13233 button: Remove depressed_on_activate
All buttons should always be marked as :active when they are pressed.
That includes checkboxes (which are never activated in real code anyway,
so this change pretty much doesn't matter).
2014-08-16 16:34:14 +02:00
Benjamin Otte
1abe923740 css: Do inconsistent checked states right
In HTML5, both pseudoclasses apply. So we do the same thing in our
widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=733967
2014-08-16 16:34:14 +02:00
Benjamin Otte
bb069b781b button: Remove depressed variable
It is not used anymore.
2014-08-16 16:34:14 +02:00
Benjamin Otte
e9f1d6d85c button: Don't honor child-displacement anymore
It doesn't make sense to support child displacement in a world where
pseudoclasses behave different from the actual displacement states.
Nobody would ever understand why a widget is displaced.

It is easily possible to simulate child displacement by using padding
CSS properties.
2014-08-16 16:34:14 +02:00
Benjamin Otte
4e077d4638 gtk: Use new :checked state
on:
- GtkToggleButton
- GtkCheckButton
- GtkRadioButton
- GtkModelButton
- GtkCellRendererToggle
- GtkCheckMenuItem

also update themes:
- Adwaita
- Raleigh
but not the win32 theme.

The new :checked state replaces :active for the actual checkedness of
the widgets and :active is now used exclusively while the button is being
pressed.

https://bugzilla.gnome.org/show_bug.cgi?id=733967
2014-08-16 16:34:14 +02:00
Benjamin Otte
36a2e7ca8e css: Add a :checked pseudoclass
https://bugzilla.gnome.org/show_bug.cgi?id=733967
2014-08-16 16:34:14 +02:00
Sébastien Wilmet
3f4b9d8164 Replace uses of g_memmove() by memmove()
g_memmove() is deprecated, it is a simple macro that just calls
memmove() with the same parameters.

Reviewed by Paolo Borelli on IRC.
2014-08-16 15:50:17 +02:00
Matthias Clasen
e79348eafe Add an example for a hig-style toolbar 2014-08-15 23:22:00 -04:00
Matthias Clasen
0f9fc277c2 GtkFontChooser: Prevent font fallback in the preview
We don't want to preview the fallback fonts, after all.
https://bugzilla.gnome.org/show_bug.cgi?id=570414
2014-08-15 17:29:34 -04:00
Piotr Drąg
69246f5828 Updated POTFILES.in 2014-08-15 21:25:38 +02:00
Matthias Clasen
59fc2f0ac1 GtkFontButton: Avoid criticals
The font_family and font_face members may be NULL, and we
shouldn't cause critical warnings in that case.
2014-08-15 15:15:45 -04:00
Matthias Clasen
1815790bd3 GtkFontButton: Limit the decimals shown for size
It doesn't make sense to show a font size with 6 digits. Use
the same formatting we use in the font chooser widget now.

https://bugzilla.gnome.org/show_bug.cgi?id=724996
2014-08-15 15:09:45 -04:00
Matthias Clasen
a8ed0dd4ee GtkFontChooserWidget: Allow fractional font sizes
With this change, we let users enter up to 2 decimals in the entry,
to specify font sizes exactly. The slider still rounds to whole
numbers.

https://bugzilla.gnome.org/show_bug.cgi?id=665711
2014-08-15 14:57:31 -04:00
Matthias Clasen
e23f7c13b0 GtkFontButton: Use the same font name as the font chooser
The font chooser constructs the display name for the font from
the family and face names. Do the same in the font button, so
we don't end up calling the same font by different names, which
would be confusing.
2014-08-15 14:15:23 -04:00
Behdad Esfahbod
dd6c2391d2 GtkFontChooserWidget: Use a better display name for the font
Instead of reconstructing a display name from the
PangoFontDescription, use the font family and face
objects, which have the original font. This lets us
get the names of fonts like Noto Sans CJK DemiLight
right, which would be shown as Noto Sans CJK SemiLight
when mangled via PangoFontDescription, since Pango
treats 'DemiLight' as an alias for the SemiLight weight.

https://bugzilla.gnome.org/show_bug.cgi?id=733832
2014-08-15 14:12:10 -04:00
Matthias Clasen
e0af2ba7c7 GtkGestureSingle: Update declared defaults of properties
These should match the initial values, which were changed a
few commits ago. The defaultvalue test fails if there is a
mismatch, like here.
2014-08-15 13:12:15 -04:00
Matthias Clasen
1dfe28fa56 win32: Set the right source device
https://bugzilla.gnome.org/show_bug.cgi?id=734738
2014-08-15 13:04:57 -04:00
Matthias Clasen
cab7dcde1b Deprecate GtkStatusIcon
GtkStatusIcon is using a problematic, XEmbed-based protocol under X,
and we want to get rid of it eventually. Document our intentions by
marking GtkStatusIcon as deprecated.

https://bugzilla.gnome.org/show_bug.cgi?id=734826
2014-08-15 13:02:31 -04:00
Rico Tzschichholz
62254ca306 util/extract-strings: Use autotools syntax for building
Always refer to it as "extract-strings$(EXEEXT)" where needed to take
cross-compilation into account.

https://bugzilla.gnome.org/show_bug.cgi?id=731013
2014-08-15 12:09:54 -04:00
Rico Tzschichholz
f4a29fbfc2 Revert "Bug 731013 - cross-compilation broken when building extract-strings"
This reverts commit 651d9e90e7.

The commit broke 'make dist' - the extract-strings sources are no
longer included in the tarball.
2014-08-15 12:09:44 -04:00
Matthias Clasen
e0f354f524 Updates for 3.13.7 2014-08-15 10:29:48 -04:00
Ryan Lortie
49ccb23743 GtkMenuItemAccessible: use "insert" signal
Use the "insert" rather than the "add" signal to reliably detect
additions of menu items.

https://bugzilla.gnome.org/show_bug.cgi?id=372545
2014-08-15 10:29:48 -04:00
Carlos Garnacho
91afc0ea4f treeview: Make multipress gesture accept all buttons
That gesture is meant to handle clicks on multiple buttons, so unset
the GDK_BUTTON_PRIMARY default. Also, remove unnecessary boilerplate
with the new GtkGestureSingle/GtkEventController defaults.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:40 +02:00
Carlos Garnacho
c5839708cc textview: Make multipress gesture accept all buttons
That gesture is meant to handle clicks on multiple buttons, so unset
the GDK_BUTTON_PRIMARY default. Also, remove unnecessary boilerplate
with the new GtkGestureSingle/GtkEventController defaults.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:40 +02:00
Carlos Garnacho
af5a03c841 range: Make multipress gesture accept all buttons
That gesture is meant to handle clicks from several buttons, so unset
the new GDK_BUTTON_PRIMARY default. Also, remove unnecessary boilerplate
with the new default values.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:40 +02:00
Carlos Garnacho
c17d3ee8fe window: Set GtkGestureSingle::button to 0 on multipress gesture
This gesture handles events from multiple buttons, so ensure the
gesture still does so after the default value change.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:40 +02:00
Carlos Garnacho
e3a281be13 scrolledwindow: Make kinetic scrolling only work on touch devices
This code was relying on the previous GtkGestureSingle::touch-only default
value, so restore the behavior back.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:40 +02:00
Carlos Garnacho
b7412a1d9b spinbutton: Make the swipe gesture only work on touch devices
This code was relying on the previous GtkGestureSingle::touch-only default
value.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:39 +02:00
Carlos Garnacho
261bbd8d8e label: Update to new GtkGestureSingle/GtkEventController defaults
GtkGestureSingle::button is set to 0 on the multipress gesture, as several
buttons are managed by that gesture. Also avoid some extra lines of code
setting what nowadays are default values.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:39 +02:00
Carlos Garnacho
0c2da16c0e entry: Update to new GtkGestureSingle/GtkEventController defaults
GtkGestureSingle::button is set to 0 on the drag/multipress gestures, as several
buttons are managed by these gestures. Also, avoid some extra lines of code
setting what nowadays are default values.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:39 +02:00
Carlos Garnacho
8ca205af5d dnd: Set explicitly GtkGestureSingle::button to 0 on the drag gesture
This gesture handles drags done with any button, so unset the current button=1
default.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:53:39 +02:00
Carlos Garnacho
1c23ab5a7e colorswatch: Update to new GtkGestureSingle/GtkEventController defaults
GtkGestureSingle::button is set to 0 on the multipress gesture, as several
buttons are managed by that gesture. Also avoid some extra lines of code
setting what nowadays are default values.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:49:40 +02:00
Carlos Garnacho
9e89640b0b colorplane: Update to new GtkGestureSingle/GtkEventController defaults
GtkGestureSingle::button is set to 0, as multiple buttons are managed by
the same gesture. Also avoid some extra lines of code setting what nowadays
are default values.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:49:39 +02:00
Carlos Garnacho
9ad4f1e62c gesturesingle: Change default values of button and touch-only properties
This now defaults to sane values on mice, so touch-only is set to FALSE,
and button is set to GDK_BUTTON_PRIMARY;

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:49:39 +02:00
Carlos Garnacho
131123c71a window: Set multipress gesture phase to be GTK_PHASE_NONE explicitly
This used to rely on the default value, which has changed to a saner default.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:49:39 +02:00
Carlos Garnacho
dd9166c435 dnd: Set drag gesture propagation phase to GTK_PHASE_NONE explicitly
This used to rely on the default phase value.

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:49:39 +02:00
Carlos Garnacho
a050b017ed eventcontroller: Default to GTK_PHASE_BUBBLE
This is in practice the most common value, so make that the default

https://bugzilla.gnome.org/show_bug.cgi?id=734285
2014-08-15 13:49:39 +02:00
Matthias Clasen
270d7a41ce Drop another unused bit of configury
pwd.h is not used anywhere in GTK+, so no need to check
for it.
2014-08-14 21:33:21 -04:00
Matthias Clasen
50035b613c Drop unused variable
Nothing is using gdk-pixbuf-csource anymore, so no need
to set up the GDK_PIXBUF_CSOURCE variable.
2014-08-14 21:21:32 -04:00
Domenico Tortorella
76da8a5f20 Fixed some object leaks in broadway_server_new() constructor.
https://bugzilla.gnome.org/show_bug.cgi?id=734778
2014-08-14 20:31:19 -04:00
Matthias Clasen
bd84bae5d9 Broadway: Make unix socket support conditional
We need to use gio/gunixsocketaddress.h and do so
only if HAVE_GIO_UNIX is defined.
2014-08-14 20:31:19 -04:00
Domenico Tortorella
43bddd205b BroadwayServer support for unix socket listening
At the present time broadway listens only for TCP/IP incoming
display connections. This patch implements the support for listening
on unix domain sockets too, adding the broadway_server_on_unix_socket_new()
constructor and the commandline option --unixsocket [path] to broadwayd.

https://bugzilla.gnome.org/show_bug.cgi?id=734420
2014-08-14 20:24:10 -04:00
Matthias Clasen
269d277afe Adapt to spinbutton changes 2014-08-14 19:39:07 -04:00
Benjamin Otte
e7ffa16094 tests: Sanitize
gcc was unhappy again.
2014-08-15 00:13:06 +02:00
Piotr Drąg
badfc66ceb Updated POTFILES.skip 2014-08-14 20:41:54 +02:00
Benjamin Otte
9d2c3f5e68 reftests: Add reftest for statusbar fix
https://bugzilla.gnome.org/show_bug.cgi?id=724281
2014-08-14 19:52:59 +02:00
Phillip Wood
e853007cd0 Statusbar: Remove matching messages before popping
gtk_statusbar_remove_all() was popping the top message if its
context_id matched before removing other matching messages from the
stack. This meant that if the context_id of the second top message
matched it was still displayed when the top message was popped and
then removed from the list of messages without updating the display.
Fix this by removing all the matching messages below the top one
before popping it if it matches.

https://bugzilla.gnome.org/show_bug.cgi?id=724281
2014-08-14 19:52:59 +02:00
Benjamin Otte
2120ccfd5e reftests: Make gcc happy 2014-08-14 19:52:59 +02:00
Timm Bäder
f09573757d GtkListBoxRow: Set clip
https://bugzilla.gnome.org/show_bug.cgi?id=734709
2014-08-14 00:13:18 -04:00
Matthias Clasen
491cab3f7f Fix a thinko in creating event masks
&-ing together all the device event types yields zero,
which is clearly not the intention here. Use | instead,
to create the intended mask.

https://bugzilla.gnome.org/show_bug.cgi?id=734641
2014-08-14 00:10:23 -04:00
Matthias Clasen
ec2bc3face Add some spinbutton tests
These tests check some of the changes from the previous commits.
2014-08-14 00:04:10 -04:00
Debarshi Ray
137abd6f70 GtkSpinButton: Prevent public API from unsetting the adjustment
A spin button really needs an adjustment to work. So don't let the
user unset the adjustment by passing NULL to
gtk_spin_button_set_adjustment.

https://bugzilla.gnome.org/show_bug.cgi?id=734660
2014-08-13 23:42:11 -04:00
Debarshi Ray
1e304e6deb GtkSpinButton: Always emit value-changed when the adjustment is changed
Changing adjustment via the property setter would not emit
value-changed, however changing it via gtk_spin_button_configure would.

This inconsistency had the following side-effects:

  - Setting an adjustment with a different value would not update the
    value shown by the spin button.

  - Creating a spin button like this (common in GtkBuilder XML) will
    not show the initial value:
      g_object_new (GTK_TYPE_SPIN_BUTTON, "adjustment", adj, NULL);

Let's use the same code path (ie. gtk_spin_button_configure) for all
public facing API for setting adjustment. The code that handled the
details of swapping out the old adjustment with the new has been split
into an unset_adjustment method and the rest has been folded into
gtk_spin_button_configure.

A spin button really needs an adjustment to work, so we don't need
most of the NULL checks. However we do need to check in
unset_adjustment because setting a new adjustment during object
creation might try to unset a non-existent one.

https://bugzilla.gnome.org/show_bug.cgi?id=734660
2014-08-13 23:42:11 -04:00
Руслан Ижбулатов
a0faf5a51c Fix various warnings
https://bugzilla.gnome.org/show_bug.cgi?id=734737
2014-08-13 23:41:56 +00:00
Руслан Ижбулатов
1b9fa975af Fix some print format warnings
https://bugzilla.gnome.org/show_bug.cgi?id=734736
2014-08-13 23:40:59 +00:00
Руслан Ижбулатов
694c8d32d5 Fix various warnings about unused things
https://bugzilla.gnome.org/show_bug.cgi?id=734735
2014-08-13 23:38:47 +00:00
Jasper St. Pierre
966b191e13 gdkwayland-window: Don't map the grab transfer menu for GtkMenu
This is a bad idea in general, but it also means that the focus for a
window drops when we pop up a menu, since the grab transfer menu exists.
2014-08-13 19:03:39 -04:00
Tom Tryfonidis
f5d1d31043 Updated Greek translation 2014-08-13 21:45:34 +00:00
Jehan
4376b4f705 Fix the build of the native gtk-update-icon-cache when cross-compiling.
As a noinst_PROGRAMS, the libtool generated for cross-compiling will be
used, which will mess up the linking. Create a all-local target instead.
Also ensure that building uses always a native version of the tool by
specifying a GTK_UPDATE_ICON_CACHE automake variable.
Finally "config.h" has been created to work for the target platform and
causes problem when cross-compiling. So we temporarily generate a basic
config.h which contains only the strict minimum.
2014-08-13 21:06:51 +00:00
Jehan
651d9e90e7 Bug 731013 - cross-compilation broken when building extract-strings
It is actually a bad idea to use noinst_PROGRAMS for build tools,
because it adds a $(EXEEXT). It is best to override the all target
with all-local to trigger the tool build.
2014-08-13 21:03:51 +00:00
Yosef Or Boczko
40b50083ee places-sidebar: Refine the spacing
Based on a patch by Yosef Or Boczko,
https://bugzilla.gnome.org/show_bug.cgi?id=731443
2014-08-13 14:34:57 -04:00
Lapo Calamandrei
f561ee34d2 Adwaita: check/radio icon source override fix 2014-08-13 18:44:17 +02:00
Lapo Calamandrei
c7d8edd4ca Adwaita: app-notification revert erroneusly committed changes 2014-08-13 17:28:55 +02:00
Benjamin Otte
ce2f621302 Adwaita: Use -gtk-icon-source for checkmarks
instead of using background-image
2014-08-13 16:51:16 +02:00
Benjamin Otte
dff52f7a04 css: Match state in siblings properly
Previously, we always returned the state flags of the original widget
and did not consider the siblings' pseudoclasses.

Testcase is attached.
2014-08-13 16:51:16 +02:00
Benjamin Otte
b276b6198f widgetpath: Use CSS-like syntax in to_string()
Print pseudo-classes using ':' sign.
2014-08-13 16:51:16 +02:00
Lapo Calamandrei
de19fa4bb3 Adwaita: path-bar home button spacing 2014-08-13 16:41:36 +02:00
Lapo Calamandrei
cf7a5401b2 Adwaita: saner backdrop switch for the dark variant 2014-08-13 16:36:15 +02:00
Lapo Calamandrei
913d6c8061 Adwaita: saner menubar 2014-08-13 16:19:32 +02:00
Matthias Clasen
f72bcc5c01 GtkPathBar: Don't hardcode spacing in buttons
The theme will be changed to provide padding.
2014-08-13 09:31:34 -04:00
Matthias Clasen
9ce968ffb2 GtkPathBar: Make recoloring symbolics work
We were only recreating the icons the very first time the theme
changed, and not every time as was intended.
2014-08-13 09:29:40 -04:00
Matthias Clasen
d47192179b widget-factory: Avoid a compiler warning
This is adjusting to the draw_layer signature change.
2014-08-13 09:19:09 -04:00
Matthias Clasen
7af9dc9e21 widget-factory: Add a missing style class
Unfortunately, constructing image-only buttons by just adding
the image as a child does not give us the image-button style
class. Add it manually.
2014-08-13 09:18:08 -04:00
Matthias Clasen
7d55355d4d GtkTextView: Preserve the cairo context around draw_layer
Otherwise, draw_layer might unintentionally wreak havoc on the
regular drawing that happens between the two draw_layer calls.
2014-08-13 09:18:08 -04:00
Matthias Clasen
7450277708 GtkTextView: Change draw_layer signature
Vfuncs should really take 'this' of the right type - the type
that the vfunc is added in.
2014-08-13 09:18:08 -04:00
Lapo Calamandrei
fc09560d13 Adwaita: widget edge for inline toolbars 2014-08-13 14:27:31 +02:00
Matthias Clasen
e654fe5124 widget-factory: Don't say 'Etched out' twice
There's no difference between these shadow types anymore, but
it is irritating to see the same label twice.
2014-08-12 22:21:08 -04:00
Matthias Clasen
79f4d5d610 widget-factory: Improve the flow box example
Make the selection actually do something. This is also an opportunity
to test the new draw-layer vfunc in GtkTextView.
2014-08-12 22:14:21 -04:00
Matthias Clasen
9fab7a684b widget-factory: Add a flowbox example
This is now really polished yet, but will let us work towards
'responsive grid'.
2014-08-12 20:23:05 -04:00
Matthias Clasen
c46ca9b25b widget-factory: Make dialogs non-resizable
They have no reason to be.
2014-08-12 20:23:05 -04:00
Matthias Clasen
7b5e8dff9d widget-factory: Don't use rules-hint 2014-08-12 19:06:58 -04:00
Matthias Clasen
be5300f68e wayland: Initialize cursor cache earlier
Without this, I was getting a crash because the theme change
function was trying to iterate over the hash table before
it was created.
2014-08-12 13:43:22 -04:00
Alexander Larsson
f3b56261cb Fix symbolic-icon-translucent-color reftest
When using the pre-rendered png symbolics it seems that we're off a
tiny bit in a few of the pixels on the antialiased borders of a
stroke. To fix this we switch the icon to media-playback-stop-symbolic
which has no such antialiased borders.

I don't quite understand why the pixels are off, this needs more
research.

https://bugzilla.gnome.org/show_bug.cgi?id=734668
2014-08-12 15:51:36 +02:00
Alexander Larsson
afeb50009d Change way alpha is used when recoloring symbolics
If the foreground color has an alpha != 1 we used to just pass that into
the svg. This is useful to e.g. render an insensitive icon. However,
that is not an ideal model for symbolics. For instance, if the icon uses
overlapping areas when drawing, expecting these to be opaque then the
transparent color will result in a different alpha value for the overlapping
area. Also, non-foreground symbolic colors are still rendered opaque, and
the recoloring of pngs can't handle transparent colors.

So, instead we extract any alpha from the foreground, render using the
opaque colors and then apply the foreground alpha to the entire result.
This means we get an even transparency, even for other colors, and we
can apply alpha for the pngs too.

https://bugzilla.gnome.org/show_bug.cgi?id=734668
2014-08-12 15:51:36 +02:00
Alexander Larsson
928822f1a5 GtkIconHelper: Short circuit _gtk_icon_helper_get_size in some cases
_gtk_icon_helper_get_size() is often used during size request and may
not necessary mean that the icon will be displayed immediately. In
many common cases we know the size without having to ensure a surface.
In many cases this means we can avoid loading an icon until needed, and
in the case of stateless IconHelpers such as GtkCellRendererPixbuf this
is very important as otherwise it will constantly be reloading icons
if the displayed set is larger than the in-memory icon cache.

https://bugzilla.gnome.org/show_bug.cgi?id=734651
2014-08-12 15:47:42 +02:00
Carlos Garnacho
8ff47570af stack: Ensure the bin window has an evmask suitable to windowless children
If a child has set_has_window == FALSE, it purely relies on the events set on
the parent window, for which the bin window used to just ensure the exposure
mask, eating all input events.

https://bugzilla.gnome.org/show_bug.cgi?id=734357
2014-08-12 14:28:34 +02:00
Carlos Garnacho
62507776fe widget: Include event controllers' event mask on gtk_widget_get_events()
gtk_widget_get_events() must indeed tell about events enabled purely through
a GtkEventController, those events will most surely trigger event handlers.

https://bugzilla.gnome.org/show_bug.cgi?id=734357
2014-08-12 14:28:34 +02:00
Debarshi Ray
225bb95795 GtkSpinButton: Only notify 'adjustment' if the property changed
https://bugzilla.gnome.org/show_bug.cgi?id=734649
2014-08-12 11:54:29 +02:00
Debarshi Ray
a397824e9b widget-factory: Add a reset button to the notification
Change the initial value to something that is not a multiple of 3, so
that dismissing the notification on reset makes sense. Let's use 50
because that is already being used elsewhere.

https://bugzilla.gnome.org/show_bug.cgi?id=734614
2014-08-11 23:43:43 +02:00
Debarshi Ray
5d8efb43bc widget-factory: Turn off focus-on-click for notification close button
... because that is what most applications are doing. So lets do the
same thing for the sake of consistency and setting a good example.

https://bugzilla.gnome.org/show_bug.cgi?id=734614
2014-08-11 23:43:43 +02:00
Matthias Clasen
8b2fb4a991 Reconstruct a missing file
Sadly I had forgotten to add selectionmode.ui to git.
Here is a reconstructed version that seems to work.
2014-08-11 16:25:21 -04:00
Carlos Garnacho
b56f5cec3e treeview: Check the selected node active flag before maybe starting rubberband
This check used to be present in the pre-gestures code, but was unintentionally
removed when splitting code into drag/multiclick gestures. The policy used to
be that if clicking happened on an already selected node, DnD would happen
instead of rubberband selection, so this behavior is resuscitated.

https://bugzilla.gnome.org/show_bug.cgi?id=734143
2014-08-11 18:09:16 +02:00
Matthias Clasen
13b8c2ec28 Bump version 2014-08-10 19:16:33 -04:00
Matthias Clasen
7148f329d8 3.13.6 2014-08-10 19:11:39 -04:00
Matthias Clasen
80a8257302 Fix reftests for builddir != srcdir
Make gtk-reftest consult the REFTEST_MODULE_DIR environment
variable to find out where to look for modules, and fix the
libtool hack to construct the .libs subdirectory correctly.
2014-08-10 19:11:39 -04:00
Matthias Clasen
7f1d88f740 Update DISTCHECK_CONFIGURE_ARGS
The --disable-rebuilds option does not exist anymore, so remove
it. At the same time, add --enable-installed-tests.
2014-08-10 19:11:38 -04:00
Matthias Clasen
1185b9b29c Fix animation-direction reftest
This was another victim of clipping changes - the labels were
overdrawing each other, leading to test failure. Prevent this
by separating the grid columns.
2014-08-10 19:11:38 -04:00
Jasper St. Pierre
a07fc2f85d wayland: Remove overly complex cursor cache 2014-08-10 12:34:56 -04:00
Matthias Clasen
cb60da5f6b GtkToolbar: Set clip
This allows outset box shadows to work on toolbars.

https://bugzilla.gnome.org/show_bug.cgi?id=734526
2014-08-10 07:53:59 -04:00
Matthias Clasen
2d15c25d93 reftests: Make textview-margins pass in make check
I found that setting margins to zero makes the textview clip
away some overshooting pixels. So, instead of a 0/10 split,
do this test with a 2/8 split of margins, to avoid the clipping
issue.
2014-08-10 07:41:53 -04:00
Matthias Clasen
0b669dffa9 Skip focus tests in make check
These require a window manager to work, and we currently don't
run one when we run make check tests under Xvfb.
2014-08-10 07:08:39 -04:00
Simon McVittie
82cf89deb9 Avoid "pkg-config --atleast-version"
AM_PATH_GTK_3_0([3.4], [], [], [gthread]) results in calling
"pkg-config --atleast-version 3.4 gtk+-3.0 gthread-2.0".

With pkg-config 0.28, that test fails, because the version of
gthread-2.0 is smaller than 3.4. This appears to be a behaviour
change since 0.26, but matches what the documentation said in 0.26.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=641638
Bug-Debian: https://bugs.debian.org/756476
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
2014-08-09 15:41:47 +01:00
Matthias Clasen
b535dd0671 Updates for 3.13.6 2014-08-09 13:13:47 +02:00
Matthias Clasen
327b097725 Trivial: Use g_clear_object more
It no longer has atomic overhead, so we can use it everywhere.
2014-08-09 10:16:27 +02:00
Lapo Calamandrei
9c7e31fc1c Adwaita: GtkSwitch size reduction and tweaks
See https://bugzilla.gnome.org/show_bug.cgi?id=734485
2014-08-08 23:36:55 +02:00
Nikita Churaev
684b981fb5 Only show title button separator when there is something to separate
https://bugzilla.gnome.org/show_bug.cgi?id=729636
2014-08-08 23:02:14 +02:00
Matthias Clasen
1a11515118 Revert "Adwaita: comment out the header-bar separator"
This reverts commit b4e7ada6ac.
2014-08-08 22:35:48 +02:00
Matthias Clasen
b7365c52c4 Make focus tests session-exclusive
Otherwise, tests running in parallel will steal the focus that
we are trying to test.
2014-08-08 22:15:02 +02:00
Matthias Clasen
7ecf5c43e0 Add a selection mode testcase
This shows what one currently has to do manually to get the typical
selection mode with blue headerbar and checkboxes in list rows.
The goal is to make this easier.
2014-08-08 13:30:54 +02:00
Lapo Calamandrei
f1a9273844 Adwaita: pushed button shadows tweakings 2014-08-08 10:11:11 +02:00
Руслан Ижбулатов
3b916e4405 Handle ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET
https://bugzilla.gnome.org/show_bug.cgi?id=733773
2014-08-07 15:55:27 +00:00
Chun-wei Fan
8a2a5adc8f MSVC Build Files: Use Real GTK+ Version
Make the Visual C++-related build files contain the actual GTK+ version, by
generating them during the configure stage and dist'ing them in the release
tarballs.  This is especially important for builds of introspection files,
as one may need to look at the release version of GTK+ in those files.
2014-08-07 23:11:34 +08:00
Chun-wei Fan
37321f6fb8 MSVC Builds: Apply Visual Style for Win32 Print Dialog
Define ISOLATION_AWARE_ENABLED for the build of the GTK DLL so that visual
style can be applied to the Windows print dialog for all applications using
gtkprintoperation.

Update the script for the generation of gtk-win32.rc for MSVC to not try to
embed the manifest from it (but embed libgtk3.manifest by including it in
the project files, as we are now doing), and embedding the manifest file is
really not supported in MSVC 2010 and later.

Also fix up formatting in the GTK DLL projects.

https://bugzilla.gnome.org/show_bug.cgi?id=733773
2014-08-07 23:02:13 +08:00
Lapo Calamandrei
a13761ceb4 Adwaita: progressbar background in scale highlight 2014-08-07 14:17:50 +02:00
Inaki Larranaga Murgoitio
7a2330502f Updated Basque language 2014-08-07 13:46:40 +02:00
Inaki Larranaga Murgoitio
d48cc06c4c Updated Basque language 2014-08-07 13:43:15 +02:00
Руслан Ижбулатов
ae149285ea Add missing include to gtk-win32.rc
Otherwise ISOLATIONAWARE_MANIFEST_RESOURCE_ID and RT_MANIFEST constants
can't be expanded.

https://bugzilla.gnome.org/show_bug.cgi?id=733773
2014-08-06 15:38:14 +00:00
Ray Strode
08b17ab344 drag: add missing introspection annotations
gtk_gesture_drag_get_start_point and gtk_gesture_drag_get_offset
have out args that need to be annotated.

This commit adds the (out) and (nullable) annotations as appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=734292
2014-08-06 10:14:47 -04:00
Matej Urbančič
e03b6bdfec Updated Slovenian translation 2014-08-06 14:17:10 +02:00
Lapo Calamandrei
b4e7ada6ac Adwaita: comment out the header-bar separator 2014-08-06 13:33:17 +02:00
Lapo Calamandrei
f8c1a4fed8 Adwaita: linked logic surgery 2014-08-06 13:20:45 +02:00
Lapo Calamandrei
cfff562069 Adwaita: linked combos 2014-08-06 12:23:47 +02:00
Chun-wei Fan
285f1cc30f MSVC Builds: Create libgtk3.manifest
Use the Python script that was used to create gtk-win32.rc from
gtk-win32.rc.in to similarly create libgtk3.manifest.  As the wildcard
character can be used for all architectures, use that.

The libgtk3.manifest file needs to be specified explicitly in the projects,
so that it will be recognized and built into the GTK dll, so update the
project files as well on this part.

https://bugzilla.gnome.org/show_bug.cgi?id=733773
2014-08-06 15:42:23 +08:00
Chun-wei Fan
781846e564 gdkwindow-win32.c: Fix build on Visual C++
Since MSVC is more strict about the types that we try to do a compare, cast
old_ptr as HWND, as we know that it is a pointer...

https://bugzilla.gnome.org/show_bug.cgi?id=733768
2014-08-06 15:13:09 +08:00
Chun-wei Fan
7a3bc9a5ff gtk/gtkprintoperation-win32.c: Fix Missed Include
We need to include gtkprivate.h for _gtk_load_dll_with_libgtk3_manifest().
2014-08-06 12:55:09 +08:00
Matej Urbančič
8d5e40451c Updated Slovenian translation 2014-08-05 21:13:43 +02:00
Руслан Ижбулатов
0d02cc8203 Make sure native W32 print dialog uses visual styles
For that to happen the libgtk3 is embedded with a manifest that requests
common controls library 6.x, and GTK lazily calls InitCommonControlsEx()
to initialize those. Then this manifest is used to temporarily override
the process activation contest when loading comdlg32 (which contains the
code for the print dialog), ensuring that it too depends on common
controls 6.x, even if the application that uses GTK does not.

https://bugzilla.gnome.org/show_bug.cgi?id=733773
2014-08-05 06:41:31 +00:00
Руслан Ижбулатов
31d08bd85e When wrapping a foreign W32 window, don't forget to store its HWND
When that window is later used as a parent for a GDK child, the call to
CreateWindow*() will fail, because its HWND is 0.

https://bugzilla.gnome.org/show_bug.cgi?id=733768
2014-08-05 06:37:24 +00:00
Matthias Clasen
f0632d5ced inspector: Add a switch to turn off animations
This may be useful in some places to check that application-specific
animations respect this setting.
2014-08-05 00:03:37 +02:00
Руслан Ижбулатов
d43fb29c5a Suppress a warning from SetWindowLongPtr()
https://bugzilla.gnome.org/show_bug.cgi?id=726224
2014-08-04 13:55:11 +00:00
Matthias Clasen
5131472984 GtkSwitch: Initialize offset when beginning animation
handle_x always corresponds to the visible position of the handle,
which is where we want to start the animation. Without this, repeated
keyboard activation will not always animate.
2014-08-04 14:36:42 +02:00
Matthias Clasen
1569952d0e GtkSwitch: Update handle_x in size-allocate
Since we are storing positions here that depend on the allocation,
we need to update them in size-allocate. This fixes incorrect
positioning of the handle if the switch is active initially.

https://bugzilla.gnome.org/show_bug.cgi?id=734213
2014-08-04 14:36:42 +02:00
Matthias Clasen
2e85046b8f GtkSwitch: Don't store dest_offset
Instead, calculate it on the spot in the tick callback, and
update handle_x in gtk_switch_set_active, based on the new
active property.
2014-08-04 14:36:42 +02:00
Matthias Clasen
d4bd9e9c46 GtkSwitch: End animations on finalize
Handle the unlikely case that a switch gets finalized while its
toggle animation is running.
2014-08-04 14:36:42 +02:00
Matthias Clasen
007ba3bc14 GtkSwitch: End animation in set_active
End any running toggle animation before setting the set,
otherwise things get confused.
2014-08-04 14:36:42 +02:00
Matthias Clasen
8820c46ff0 GtkSwitch: Also animate for keyboard activation 2014-08-04 14:36:41 +02:00
Rico Tzschichholz
45145c8c10 gtk-encode-symbolic-svg: Fix build with -Werror=format-security 2014-08-04 13:31:34 +02:00
MarMav
199bb441bd Updated Greek translation 2014-08-04 10:53:36 +00:00
Matthias Clasen
0a44be21af widget-factory: Make one switch start out active
This nicely shows off
https://bugzilla.gnome.org/show_bug.cgi?id=734213
2014-08-04 12:28:01 +02:00
Matthias Clasen
9e3626ee24 tests: Drop use of deprecated api
Don't use gtk_tree_view_set_rules_hint anymore.
2014-08-04 12:27:56 +02:00
Matthias Clasen
5f7485f647 gtk-demo: Drop use of deprecated api
There were several uses of gtk_tree_view_set_rules_hint here.
Just drop them, the theme was ignoring them anyway.
2014-08-04 10:09:18 +02:00
Matthias Clasen
944e30d940 Add a11y state tests
This adds a new test which can be scripted to trigger various
event and action sequences, and record state changes in the
accessibility layer.

So far, there are a few tests verifying state changes when
focus changes.

Related to https://bugzilla.gnome.org/show_bug.cgi?id=715176
2014-08-04 09:58:58 +02:00
Chun-wei Fan
45ca4bd0b2 MSVC Builds: Build gtk-encode-symbolic-svg
This utility would likely be useful for Windows builds of GTK+, given the
reasons Alex cited for coming up with this utility[1], and MSVC build
support for librsvg is not available at this time (possible, but not
implemented yet).

[1]: https://bugzilla.gnome.org/show_bug.cgi?id=730450
2014-08-04 15:07:39 +08:00
Chun-wei Fan
d62bd12b86 MSVC Builds: Add Script to Generate gtk-win32.rc
In bug 733773, gtk-win32.rc was removed from the dist in the attempt to
make the print dialog on Windows themed, so this script was added so that
the gtk-win32.rc file can be generated during the Visual Studio builds of
GTK+ from the autotools scripts.  This is also intended for filling in the
arch of the build for MSVC builds for the manifest that is also required
for fixing bug 733773.  Python is used as it is already needed for

This is done as a custom build rule in the Visual Studio projects so that
it is easy to clean and rebuild gtk-win32.rc upon an update.

https://bugzilla.gnome.org/show_bug.cgi?id=733773
2014-08-04 13:34:15 +08:00
Matthias Clasen
4b2dc1e38b Fix the build
Quoting accident. "echo -e" is not a command that the shell knows,
echo -e is.
2014-08-04 00:20:40 +02:00
TingPing
6ea36f3a18 Fix building quartz backend
These were some api changes introduced in:
d930716
48db841
f6ee007

https://bugzilla.gnome.org/show_bug.cgi?id=732137
2014-08-03 23:22:39 +02:00
Florian Müllner
6f857f87dc listbox: Add missing ::row-selected emissions
Rows are not necessarily selected via select_row_internal(), add
the missing signal emissions there. Also the signal should be emitted
when removing the selection altogether.

https://bugzilla.gnome.org/show_bug.cgi?id=729809
2014-08-03 23:17:01 +02:00
John Ralls
30ba9c1316 Add missing paramter to gtk-menu-tracker-new. 2014-08-03 13:28:52 -07:00
John Ralls
af3572f36a Replace deprecated gtk_application_add_accelerator
With new gtk_application_set_accels_for_action.
2014-08-03 13:28:52 -07:00
John Ralls
b9771ab1ff Fix build of resource files on OS-X
OS-X's 'echo' command does not have a -e option, so it was included in the files.
2014-08-03 13:28:52 -07:00
Ryan Lortie
7d81d0a3bb Add gtk_application_get_actions_for_accel()
This counterpart to gtk_application_get_accels_for_action() lets you
find out if a particular accelerator has one or more actions associated
with it. This might be useful from an accelerator editor or plugin
system to prevent the the installation of conflicting accelerators.

https://bugzilla.gnome.org/show_bug.cgi?id=721367
2014-08-03 20:27:51 +02:00
Matthias Clasen
9746419cce GtkTreeView: Avoid deprecation warnings 2014-08-03 20:12:48 +02:00
Pietro Gagliardi
f9d118ed8a gtk/Makefile.am: fix gtk-encode-symbolic-svg build for jhbuild
Currently, jhbuild-ing GTK+ on Ubuntu 14.04 LTS and gcc 4.8.2 errors out with
	/usr/bin/ld: encodesymbolic.o: undefined reference to symbol 'g_file_new_for_path'
	/opt/gnome/lib/libgio-2.0.so.0: error adding symbols: DSO missing from command line
when trying to build gtk-encode-symbolic-svg. This is because $(GTK_DEP_LIBS) isn't defined in $(gtk_encode_symbolic_svg_LDADD) in gtk/Makefile.am. This patch should fix that.

Thanks to b4n and gregier in irc.gimp.net/#gtk+ for help.

https://bugzilla.gnome.org/show_bug.cgi?id=734201
2014-08-03 20:12:47 +02:00
Carlos Garnacho
9d7f1caca7 textview: Avoid relocating adjustments on ::size-allocate while these are animating
An animation may be scheduled while the textview content changed in size, so the resize
queued would just unset the animation and set the adjusments with a current value,
defeating gtk_text_view_scroll_to_iter(). In this case, just avoid the adjustment change,
as there is a target value on the way.

https://bugzilla.gnome.org/show_bug.cgi?id=733406
2014-08-03 20:12:47 +02:00
Piotr Drąg
2bf368c9e3 Updated POTFILES.in 2014-08-03 20:11:09 +02:00
Carlos Garnacho
5b8267028d window: Update popover positions on ::size-allocate
Popovers may get relocations optimized away if only x/y changed
in the GtkAllocation. So make sure the toplevel updates popover
positions on all situations.

https://bugzilla.gnome.org/show_bug.cgi?id=729140
2014-08-03 18:37:53 +02:00
Paolo Borelli
bd07845c31 Add missing include for setlocale 2014-08-03 11:54:36 +02:00
John Ralls
e3b8c4efeb Bug 729924 - Crash trying to print in OSX
We should only use the PageSize option from the ppd if it
actually exists.
2014-08-03 11:50:50 +02:00
Matthias Clasen
97237fc54c widget-factory: Add a linked combobox example
This came up in https://bugzilla.gnome.org/show_bug.cgi?id=733979
2014-08-03 11:07:25 +02:00
Paolo Borelli
a0c89af801 GtkSwitch: implement animation 2014-08-03 10:22:41 +02:00
Paolo Borelli
22bd23adf3 GtkSwitch: remove unused assignment 2014-08-03 10:22:41 +02:00
Matthias Clasen
b52214faeb Ensure an image-missing icon is available
It is bad if the image that is used as a fallback for missing
images goes missing itself, so include it as a resource. This
way, it will always be available.
2014-08-03 10:13:23 +02:00
Руслан Ижбулатов
7fd90804fb Embed manifest into gtk-update-icon-cache.exe
This way it doesn't need to be installed alongside it.

https://bugzilla.gnome.org/show_bug.cgi?id=705054
2014-08-03 06:48:54 +00:00
Emmanuele Bassi
0ed766ec86 treeview: Deprecated rules-hint
The rules-hint property has always been a fairly bad application API, as
it set some wrong expectations for the developers; deferring to the
theme makes it impossible to design application reliably, and if this is
a usability setting we should either impose this setting on every theme,
or simply drop it.

Our own default theme does not honour the zebra striping, which makes
this function even more questionable.

In practice, usability studies on zebra striping have demonstrated that
alternating colors on a list it improves readability just as much as
clear ruling between rows, or by visually differentiating the selected
row. Zebra striping improves readability (or, at least, it does not
hinder it) on static displays, like a table on paper or a document; on a
dynamic display, like an application's UI, there are different
strategies that yield similar, if not better, results.

https://bugzilla.gnome.org/show_bug.cgi?id=733312
2014-08-03 02:51:02 +02:00
Timm Bäder
fb7d710931 listboxrowaccessible: Avoid assertion failure
The next call to gtk_list_box_get_selection_mode just expected the
GtkListBoxRow's parent to be a GtkListBox and failed when the row was
added to something other than a GtkListBox.

https://bugzilla.gnome.org/show_bug.cgi?id=733782
2014-08-03 02:48:26 +02:00
Matthias Clasen
36b36822c3 Add a man page for gtk-encode-symbolic-svg 2014-08-03 02:45:16 +02:00
Alexander Larsson
1d68801ade icon-theme: Support recolorable .symbolic.png files
If an icon theme has a file called "foo-symbolic.symbolic.png" which
was converted from svg using gtk-encode-symbolic-svg we will read
it in an recolor, allowing symbolic icons without using librsvg.

https://bugzilla.gnome.org/show_bug.cgi?id=730450
2014-08-03 02:20:18 +02:00
Alexander Larsson
50ba3c72bb Add gtk-encode-symbolic-svg
This utility loads a symbolic svg at a specified size and
renders a png file in a special format that can be recolored
later.

https://bugzilla.gnome.org/show_bug.cgi?id=730450
2014-08-03 02:20:18 +02:00
Matthias Clasen
d7850e8be0 inspector: Add GtkTreeSelection to the object tree
It is not accessible, otherwise.
2014-08-03 01:28:23 +02:00
Carlos Garnacho
25721ae3e7 window: Only avoid queueing resizes if the popover position didn't change
If the same position is requested on a popover, it should at least ensure
the window is realized and raised, even if no resizes are queued on the
content. Otherwise other widgets being mapped might raise the windows over
the popover's if its original position is unchanged.

https://bugzilla.gnome.org/show_bug.cgi?id=734129
2014-08-03 01:12:12 +02:00
Jasper St. Pierre
9f2e0902f6 gtkcssshadowvalue: Don't double-apply the alpha to shadows
It turns out that when we were painting the shadows, we painted the them
with the base color once, which contained the alpha, and then blurred it
and used it as a mask for the fill, which has the fill again.

To fix this, always paint the base surface with full alpha. The existing
code applies the blur conditionally sometimes in weird ways, so the code
shuffling fix may not look correct, but be assured it is. If the blur
happens, the new cr we return has the *default* color applied, which is
fully opaque black, which works perfectly against the A8 surface.

The fallback spinner code needs some modification, since it is
intentionally using the alpha to paint the lobes which are "in the past".
Since we shouldn't be hitting this fallback path very often, we use a
temporary group and paint it with paint_with_alpha, even though it is
slow.
2014-08-02 18:58:19 -04:00
Matthias Clasen
1c34ad2668 Small comment fixups
One factual pointed out in the review in
https://bugzilla.gnome.org/show_bug.cgi?id=734053, plus some
formatting nit picks.
2014-08-03 00:42:48 +02:00
Jasper St. Pierre
f5d8f75c0f gtkcairoblur: Replace our exponential blur with the box blur from mutter
https://bugzilla.gnome.org/show_bug.cgi?id=734053
2014-08-03 00:35:55 +02:00
Matthias Clasen
1148c96dc4 Add the new debug option to the docs
All debug options are supposed to be listed in the "Running and
Debugging" section of the docs.
2014-08-03 00:24:11 +02:00
Ryan Lortie
edeb1a0161 GtkMenuTrackerItem: introduce action debugging
Add some action debugging output for GtkMenuTrackerItem as well...

https://bugzilla.gnome.org/show_bug.cgi?id=733965
2014-08-03 00:18:44 +02:00
Ryan Lortie
16e02850c1 GtkActionHelper: add some debugging output
Introduce a new debug category "actions" and write some messages from
GtkActionHelper about if we can find the actions or not.

We will probably soon want to add some similar messages to
GtkMenuTrackerItem.

https://bugzilla.gnome.org/show_bug.cgi?id=733965
2014-08-03 00:18:44 +02:00
Matthias Clasen
785c9f5e2c Remove a reference to a non-existing function 2014-08-02 22:26:05 +02:00
Руслан Ижбулатов
6dede1a0b7 W32: Don't crash when opacity is set for non-toplevel
X11 backend doesn't, and for good reason - main code body does not check
that the window it sets opacity for is, in fact, toplevel.
Just silently fail to do anything for non-toplevel windows.

https://bugzilla.gnome.org/show_bug.cgi?id=733769
2014-08-02 14:22:22 +00:00
Руслан Ижбулатов
bbe475fd97 Use g_clear_object() shorthand for unref-and-set-to-null
https://bugzilla.gnome.org/show_bug.cgi?id=733766
2014-08-02 14:18:05 +00:00
Руслан Ижбулатов
e1acb93415 W32: Don't unregister parent window of an embedded widget
This leads to an assertion failure, because parent window is never registered
in the first place, widget's own GdkWindow is. But that window is unregistered
in a generic fashion by GtkWidget code, so there's nothing for us to do here.

https://bugzilla.gnome.org/show_bug.cgi?id=733766
2014-08-02 14:18:05 +00:00
Руслан Ижбулатов
3fea9ff24c Remove generated gtk-win32.rc from EXTRA_DIST
https://bugzilla.gnome.org/show_bug.cgi?id=733773
2014-08-02 13:07:49 +00:00
Matthias Clasen
5e3d6ab06b icon-browser: Redo the icon categorization
Instead of slavishly following the naming spec, group the icons
into categories that are more likely to be useful for application
developers. Based on input from Allan Day and Jakup Steiner.
2014-08-02 14:00:02 +02:00
Matthias Clasen
ea1f9bff2d icon-browser: Show category descriptions as tooltips
No better place for them right now.
2014-08-02 13:59:57 +02:00
Matthias Clasen
29d756909d Set initial focus in some dialog tests
Use the new <initial-focus> element here to confirm that it is
parsed properly and works as expected.
2014-08-02 11:59:05 +02:00
Matthias Clasen
14eccae603 GtkWindow: Add a way to declare initial focus in ui files
With this commit, it is possible to use <initial-focus name="blah">
to declare the initial focus widget for a window.

This is related to
https://bugzilla.gnome.org/show_bug.cgi?id=734033
2014-08-02 11:58:13 +02:00
Matthias Clasen
52ab9a36fa Add a test for window focus handling
This is a small test that checks that gtk_window_set/get_focus
behave as expected, regardless of the window being shown or hidden.
2014-08-02 11:38:44 +02:00
Matthias Clasen
f15ebc2dd2 GtkWindow: Make set_focus work before show
So far, gtk_window_set_focus just did not work when called on
a hidden window. Change it to record the desired focus widget
for hidden windows, and apply it when the window gets shown.

This is similar to how we tread other window properties that
can't be set before the window is realized, like maximized
or fullscreen.

This is related to
https://bugzilla.gnome.org/show_bug.cgi?id=734033
2014-08-02 11:38:23 +02:00
Руслан Ижбулатов
e934ddd498 Ensure that print operation is alive until we're done
https://bugzilla.gnome.org/show_bug.cgi?id=733767
2014-08-01 04:44:46 +00:00
Khaled Hosny
1752ccaa19 Update Arabic translation 2014-08-01 03:01:12 +03:00
Sébastien Wilmet
6e4e7c22a0 textiter: don't call g_utf8_prev_char() on start of string
Changes also the "goto finally" with a break. A break is more common.

Another way is to use g_utf8_find_prev_char().

https://bugzilla.gnome.org/show_bug.cgi?id=638709
2014-07-31 18:00:49 +02:00
Piotr Drąg
5041d4507f Updated POTFILES.skip 2014-07-31 17:52:35 +02:00
Benjamin Otte
a3d1db608b label: Don't clip text shadows
The previous code for computing the clip rectangle forgot to respect
the text-shadow CSS property. This is usually not very visible because
text shadows usually don't extend the ink rectangle by very much.

See attached testcase for an example.
2014-07-31 17:50:24 +02:00
Руслан Ижбулатов
a235dd6a6c GDK W32: add environment variable to override system font scaling
Support environment variable GDK_WIN32_FONT_RESOLUTION that can be set to
a desired dpi (72, 96, 130, etc) to override system settings. Useful for
debugging, since changing system font scaling requires the user to log off
and log on again.

https://bugzilla.gnome.org/show_bug.cgi?id=734038
2014-07-31 14:27:14 +00:00
Руслан Ижбулатов
f38498ed84 GDK W32: support font scaling
Respect system font scaling (Control Panel -> Display -> Font Size) and
convey that information to GDK (which then passes it to Pango).

https://bugzilla.gnome.org/show_bug.cgi?id=734038
2014-07-31 14:01:56 +00:00
Benjamin Otte
d6e9997619 css: Fail animation shorthand parsing properly
When a number is not a nubmer, don't just crash, exit properly with an
error code.

See attached testcase for an example.
2014-07-31 10:03:19 +02:00
Benjamin Otte
5f5d3a9d82 css: Don't infloop when parsing broken borders
There was an infinite loop when parsing invalid text after having parsed
a color in the border shorthand. See attached testcase for an example.
2014-07-31 10:03:18 +02:00
Matthias Clasen
83c9fe109e GtkImage: Always close the loader
This was causing some tests to fail with a critical.
2014-07-31 00:12:30 +02:00
Matthias Clasen
bd7e7d1dd6 inspector: Make the action editor more useful
We were not finding the action owner for menuitems, we have to
try harder to walk all the way up to the window.
2014-07-30 23:46:13 +02:00
Matthias Clasen
a6b8800531 Add a test for popover accessible parents
This tests the fix in the previous commit.
2014-07-30 23:14:49 +02:00
Matthias Clasen
2b0ae4bad3 GtkPopover: Properly update a11y parent
When the relative-to widget changes, update the accessible parent
of the popovers accessible.

https://bugzilla.gnome.org/show_bug.cgi?id=733923
2014-07-30 23:14:41 +02:00
Olav Vitters
f2e806a36e doap category core 2014-07-30 15:53:33 +02:00
Ryan Lortie
ffbfee0738 GtkApplication: load gtk/menus-common.ui resource
Allow the app to install a resource called gtk/menus-common.ui which
will always be loaded, regardless of which type of menus we are using.

https://bugzilla.gnome.org/show_bug.cgi?id=733925
2014-07-30 09:57:33 +02:00
Sébastien Wilmet
8ad9cf8b8c textbuffer: emit notify signal for the "text" property
Although there is the "changed" signal, it is more correct to notify the
"text" property too. It can be useful for a small text view, where the
text is saved e.g. to gsettings with a binding to the text property.

The "text" property includes only the text, not child widgets or images,
so the notify signal is sent too many times (also for child widgets and
images), but it's not a big problem.

https://bugzilla.gnome.org/show_bug.cgi?id=624791
2014-07-29 15:21:23 +02:00
Matthias Clasen
86d9628a94 icon-browser: Hide the description label when empty 2014-07-29 14:57:28 +02:00
Matthias Clasen
10412dd341 icon-browser: Don't crash on exit 2014-07-29 14:50:10 +02:00
Matthias Clasen
73f54716ad icon-browser: Don't show empty categories
We don't have any icons in International, so don't show the
category. And process-working is really just a theme asset,
so don't show that either.
2014-07-29 14:07:54 +02:00
Matthias Clasen
1a99905055 icon-browser: Make the cell renderer follow state
This is very useful for symbolic icons.
2014-07-29 14:03:48 +02:00
Matthias Clasen
944448be1a icon-browser: Hide the search icon until it works 2014-07-29 14:01:15 +02:00
Matthias Clasen
0f47ffb6f5 inspector: Set a filename for saving css
This is good practice when using save dialogs.
2014-07-29 13:59:02 +02:00
Matthias Clasen
05d5fa43f3 wip: more icon browser rework 2014-07-29 13:59:02 +02:00
Matthias Clasen
737d15ac53 wip: rework icon browser 2014-07-29 13:59:02 +02:00
Jasper St. Pierre
45bdec84f5 gtkcairoblur: Blur a CAIRO_A8 surface instead of a full CAIRO_ARGB32
This is considerably faster to draw and paint.
2014-07-29 10:49:39 +02:00
Jasper St. Pierre
227b4a8620 gtkcssshadowvalue: Use the blur surface as a mask, instead of painting it
This will make it easier to use an A8 for our blurred surface instead of
a ARGB32, which makes things a lot easier and faster.
2014-07-29 10:49:39 +02:00
Cosimo Cecchi
09a36b1e9f iconhelper: reset original pixbuf scale on clear
Avoids a previously set value for a different image to accidentally
stick around.

https://bugzilla.gnome.org/show_bug.cgi?id=733416
2014-07-29 10:13:21 +02:00
Cosimo Cecchi
7e425f3019 image: support scale factor when loading from GResource and file
Currently, when loading an image from a GResource or file we don't take
the scale factor of the display into consideration, and let
GtkIconHelper scale it accordingly.
While this in general works for non-scalable images, we can take
advantage of the native loader's scaling for e.g. SVG images, and load
them at the right scale factor automatically.
This is achieved by switching to a pixbuf loader instead of using the
native function.

https://bugzilla.gnome.org/show_bug.cgi?id=733416
2014-07-29 10:13:21 +02:00
Руслан Ижбулатов
a23c29c0fb W32: Implement rudimentary WM_NCHITTEST handling
Use (cairo) input shape of the window to check whether a point is inside or not
inside the window.
If it is, let the default window procedure do its thing (which seems to be
working all right in all known cases).
If it isn't, override the default window procedure and tell WM what we think.

Don't do any of the above if the window has CSD-incompatible styles (WS_BORDER
or WS_THICKFRAME).

This is a crude kind of substitute for window input shape support (which W32
does not seem to have). Still probably enough to be positive about input shapes
support.

https://bugzilla.gnome.org/show_bug.cgi?id=733679
2014-07-29 01:31:49 +00:00
Alexander Larsson
341108d4fc Update testtextview.c to use draw_layer
This fixes a regression in the test from the revert in
commit 4fe051bb4a.
2014-07-28 21:19:31 +02:00
Alexander Larsson
5b53eb287c textview: Add draw_layer vfunc
This allows subclasses to render things below and above the text
in the text view. This allows e.g. GtkSourceView to highlight the
cursor row and to render overlays for colum 80. This used to be done
by rendering before/after chaining up to the parent, but that doesn't
work anymore since the view now renders a background, and due to the
use of the pixel cache.
2014-07-28 16:23:33 +02:00
Alexander Larsson
4fe051bb4a Revert "GtkTextView: Fix regression in GtkSourceView drawing"
This reverts commit 1ac13435b7.

We want to instead replace this with special vfunc for drawing
below/above the main text so that gtksourceview can use it.
2014-07-28 16:23:33 +02:00
Lapo Calamandrei
b584970b95 Adwaita: fix a typo 2014-07-28 15:34:03 +02:00
Lapo Calamandrei
c97480caab Adwaita: button drawing function rework...
...to take colored buttons into considerations, so buttons on
colored background works better now (infobars and the like).
2014-07-28 12:45:34 +02:00
Paolo Borelli
86ed270163 textview: document text mark properties 2014-07-28 12:21:17 +02:00
Georges Neto
46a13d1582 Updated Brazilian Portuguese translation 2014-07-28 04:27:57 +00:00
Jakub Steiner
1c97a5f4c6 Adwaita: remove shadows from progressbars 2014-07-27 13:39:02 +02:00
Aurimas Černius
d12cca61f6 Updated Lithuanian properties translation 2014-07-27 00:48:53 +03:00
Jasper St. Pierre
47d0be535b gdkdevice-wayland: Fix compile warnings
These are signed, not unsigned.
2014-07-26 09:47:14 -04:00
Matthias Clasen
33327d6904 icon-browser: Add open-menu to the list 2014-07-25 14:45:30 -04:00
Jasper St. Pierre
61f0ed80a1 wayland-device: Upgrade to v4 of seat
Get our keyboard repeat info from the server.
2014-07-25 10:23:39 -04:00
Jasper St. Pierre
6c35ae199e wayland-device: Upgrade to v3 of seat
To prevent memory leaks.
2014-07-25 09:42:36 -04:00
Jasper St. Pierre
407a778bc5 wayland-device: Handle v2 of seat 2014-07-25 09:42:35 -04:00
Jasper St. Pierre
4eb2a74fb8 wayland-device: Refactor a bit
Delay the keyboard settings creation until we're delivering the key
press. This means we don't have to create the settings for a server that
sends us repeat information.
2014-07-25 09:42:35 -04:00
Jasper St. Pierre
ded609a735 wayland-device: Reindent 2014-07-25 09:42:35 -04:00
Alejandro Piñeiro
2be4474a19 a11y: unref selected item only if it is not NULL
https://bugzilla.gnome.org/show_bug.cgi?id=733610
2014-07-25 10:03:24 +02:00
Руслан Ижбулатов
9e11bb3335 Remove gdk_win32_input_shape_combine_region()
This function currently calls gdk_win32_window_shape_combine_region(),
which is wrong, because it leads to SetWindowRgn() being called with
non-NULL region, which makes W32 disable theming (particularly - decoration
theming), which makes decorations revert back to old GDI-drawn Windows 2000
variant, which looks out of place and interacts *badly* with alpha channel
(because GDI).

https://bugzilla.gnome.org/show_bug.cgi?id=733671
2014-07-24 16:01:06 +00:00
Matthias Clasen
d97fd540ac inspector: Show the buildable ID in the misc tab
This is useful, since you sometimes want to use it as #id in css.
2014-07-24 08:29:12 -04:00
Matthias Clasen
3e82b77d7d inspector: Prepare misc tab for showing non-widgets
This will happen in the near future.
2014-07-24 08:14:54 -04:00
Ignacio Casal Quinteiro
09ecba9a53 testtreemodel: fix unused variable on windows 2014-07-24 08:34:02 +02:00
Ignacio Casal Quinteiro
b553ce2b2f win32: remove set but not used variables 2014-07-23 23:37:52 +02:00
Matthias Clasen
155c45eba5 GtkPlacesSidebar: Fix editing of bookmarks
This was silently broken - the code was just assuming that the
text cell renderer is item no. 6 on the list of all cells. That
doesn't work so well if the cell renderers are set up elsewhere
and get rearranged.

Fix this by keeping an explicit pointer to the the text cell.
2014-07-23 14:11:22 -04:00
Matthias Clasen
d576069cec GtkPathBar: Use symbolic icons
This fits better with the symbolic icons we use in the places
sidebar now.
2014-07-23 13:41:57 -04:00
Matthias Clasen
d26a84889b GktFileSystem: Support rendering symbolic icons 2014-07-23 13:41:57 -04:00
Benjamin Otte
386e59683a reftest: Add reftest for CSS sizing fix
The test uses a GtkBox for rendering the background, but it could use
any other widget that is not used in the reference.
2014-07-23 18:51:26 +02:00
Benjamin Otte
27b9efbea2 cssimage: Fix size computation for -gtk-icontheme()
For images without a concrete size but with an aspect ratio, we took the
wrong code path.

(I even copied the documentation that said "Otherwise" but didn't put an
else clause there, go me!)
2014-07-23 18:51:26 +02:00
Matthias Clasen
0d1d17107f GtkPathBar: Set style classes on buttons
Set text-button/image-button on these, just like we do for
buttons everywhere else.
2014-07-23 12:44:26 -04:00
Matthias Clasen
d758e9ddd9 GtkPathBar: Don't use GtkArrow
Instead, use an image button.
2014-07-23 12:44:26 -04:00
Lapo Calamandrei
db2133bad4 Adwaita: spinbutton button hover visible on the dark variant 2014-07-23 17:53:31 +02:00
Lapo Calamandrei
2b1cad0289 Adwaita: entry icons position fix 2014-07-23 15:25:22 +02:00
Lapo Calamandrei
4718c165ad Adwaita: backdrop check/radio fix
Set the correct color wrt the dark variant for checks/radios on
selected treeview rows.
2014-07-23 13:31:05 +02:00
Lapo Calamandrei
11245bc549 Adwaita: GtkCalendar style simplification 2014-07-23 13:26:36 +02:00
Lapo Calamandrei
d3d675511c Adwaita: accelerators 2014-07-23 12:34:00 +02:00
Ignacio Casal Quinteiro
1e10bbef26 gtk-demo: include missing file on EXTRA_DIST 2014-07-23 10:43:41 +02:00
Matthias Clasen
52ec7bf54e Add a test for matching with states 2014-07-22 18:50:31 -04:00
Matthias Clasen
c3bfaaa5d1 Add some tests for GtkAdjustment 2014-07-22 18:32:17 -04:00
Matthias Clasen
228fe00ecc widget-factory: Avoid a runtime warning
Don't set accelerators too early. GTK+ has not yet been initialized
at that point in main.
2014-07-22 15:32:45 -04:00
Lapo Calamandrei
99f72ac474 Adwaita: vertical spinbutton rtl fix 2014-07-22 20:26:43 +02:00
Lapo Calamandrei
8a01e90608 Adwaita: position needs-attention dot in rtl 2014-07-22 20:21:30 +02:00
Lapo Calamandrei
f0c0be896f Adwaita: correct color on insensitive check/radio labels 2014-07-22 20:09:18 +02:00
Lapo Calamandrei
590c32ede1 Adwaita: some more assets refresh 2014-07-22 20:02:06 +02:00
Lapo Calamandrei
80a1097060 Adwaita: .needs-attention dark variant style 2014-07-22 19:50:15 +02:00
Lapo Calamandrei
542e0db615 Adwaita: graphic assets refresh 2014-07-22 19:13:34 +02:00
Piotr Drąg
15a080bfd3 Updated POTFILES.skip 2014-07-22 17:45:54 +02:00
Ignacio Casal Quinteiro
8f873f3aa3 gtkselection: fix warnings of unused vars on win32 2014-07-22 17:22:00 +02:00
Benjamin Otte
c4c383fa39 scrolledwindow: Remove unused variable 2014-07-22 15:06:26 +02:00
Ignacio Casal Quinteiro
fc8b7156a3 win32: add css files to EXTRA_DIST 2014-07-22 14:53:16 +02:00
Lapo Calamandrei
5ff1c9a6ef Adwaita: reduce padding on path bars 2014-07-22 14:35:01 +02:00
Carlos Garnacho
0bb955b30e treeview: Add back a check to ignore buttons > 3
The removal was not intentional, and still needed as the GtkGestureMultiPress
will work for any button unless told to lock on a single specific one.
2014-07-22 13:20:13 +02:00
Daniel Mustieles
4f27e8c4df Updated Spanish translation 2014-07-22 12:33:12 +02:00
Lapo Calamandrei
3d5e9c9556 Adwaita: GtkSwitch in selected list rows 2014-07-22 10:29:01 +02:00
Lapo Calamandrei
35e4421bb8 Adwaita: less distracting active list-rows 2014-07-22 10:27:49 +02:00
Lapo Calamandrei
7fe1bd70cf Adwaita: decrease column headers paddings 2014-07-22 09:58:58 +02:00
Lapo Calamandrei
a67baa51ae Adwaita: stack switcher button needs-attention fix.
Don't draw the dot when the stack switcher button is active.
2014-07-22 09:42:22 +02:00
Matthias Clasen
11dd823510 Bump version 2014-07-21 23:03:24 -04:00
Matthias Clasen
78ad055d32 3.13.5 2014-07-21 22:05:15 -04:00
Matthias Clasen
c10ddf8ec8 Install a missing file
This was causing the css parser tests to fail in continuous.
2014-07-21 22:05:15 -04:00
Benjamin Otte
d66db441e3 reftests: Add a reftest for recent widget path fix
The widget path code copies elements only in gtk_widget_path_copy() -
which is essentially unused - and in
gtk_widget_path_append_with_siblings() - which is used by GtkBox.

So stuff the widget we are testing in a GtkBox to reroduce the problem.
2014-07-22 03:06:04 +02:00
Benjamin Otte
5a3ebb4860 stylecontext: Query style properties with correct state
Now that widget paths are allowed to have a state, use that state when
querying style properties. This uses a fast path in gtkcssprovider.c and
that is great.
2014-07-22 03:06:04 +02:00
Matthias Clasen
a0566770da GtkWidgetPath: Don't forget to copy the state
gtk_widget_path_copy was not copying the state of each element.
This was showing in "GtkRadioButton:active GtkLabel" not matching
in stack switchers.
2014-07-21 20:35:59 -04:00
Matthias Clasen
2df06d3490 GtkWidgetPath: Show states in the path string
This shows clearly that some widgets don't set the state on their
path currently.
2014-07-21 19:49:11 -04:00
Matthias Clasen
452f92c644 Update expected output for a11y tests 2014-07-21 19:21:02 -04:00
Benjamin Otte
153a7e71ce stylecontext: Don't do anything with empty widget path
It's a corner case, but empty widget paths don't allow setting
state/regions/classes, so exit early

Fixes gtk/stylecontext test.
2014-07-22 01:10:21 +02:00
Carlos Garnacho
49448290c3 gdk: Document the behavior of device grabs on slave devices
This may be useful for certain applications, so document it explicitly.
2014-07-21 22:16:05 +02:00
Carlos Garnacho
7995cd59d0 gdk: Explain the relation between device type and mode
GdkInputMode doesn't apply to all device types, explain why
and how do these interact.
2014-07-21 22:16:04 +02:00
Matthias Clasen
0d71478237 inspector: Offer Raleigh as a theme
As long as it is included, might as well offer it.
2014-07-21 14:13:06 -04:00
Matthias Clasen
821955a998 Avoid a compiler warning 2014-07-21 14:13:06 -04:00
Benjamin Otte
3747e0fc4e css: Make commented out debug code work again 2014-07-21 19:54:14 +02:00
Benjamin Otte
3661756070 testsuite: Add test for pseudoclasses
They should all be printable.
2014-07-21 19:54:14 +02:00
Benjamin Otte
09a1d983d4 css: Add printing code for :visited and :link
Don't just crash when those states are encountered
2014-07-21 19:54:14 +02:00
Lapo Calamandrei
6b8dd7beef Adwaita: stack switcher button fixes
Paddings and outline offset are ok now.
2014-07-21 19:26:41 +02:00
Lapo Calamandrei
c4b583ed47 Adwaita: bright outline on suggested/destructive action buttons 2014-07-21 19:22:24 +02:00
Lapo Calamandrei
306890ef9d Adwaita: bit padding overhaul
Header-bar and action-bar buttons used to be bigger then others
now everything is as big as those, maintaining two different sizes
for default widgets depending on the placement is a maintainance
nightmare and having controls the same size is good from a usability
point of view.
2014-07-21 18:52:58 +02:00
Matthias Clasen
c8c6da4ca4 GtkTooltip: Drop an unused variable
The toplevel_window was never set, and the only place where it
was used was causing us to hide tooltips needlessly. So removing
it is a double win.

https://bugzilla.gnome.org/show_bug.cgi?id=733321
2014-07-21 12:40:57 -04:00
Piotr Drąg
bb93e6349c Updated POTFILES.in and POTFILES.skip 2014-07-21 17:26:12 +02:00
Matthias Clasen
2a7577d23a inspector: Show misc info
Add yet another tab for showing information about a widget that
does not quite fit into any of the other tabs (not a property,
not style information, etc...).

For now, we show the widget state, as well as the default and
focus widget for windows.
2014-07-21 11:18:29 -04:00
Matthias Clasen
eed5efec24 gtk-demo: Improve text scroll example
Add numbers, so the lines can be differentiated, even if they
don't move on screen.
2014-07-21 11:18:10 -04:00
Paolo Borelli
167f200a0c GtkMenuButton: do not mention GtkArrow in the docs
GtkArrow is deprecated and is not used internally anymore by the
menu button. Document also the fact that if no direction is specified
then the view-context-menu icon is shown.

https://bugzilla.gnome.org/show_bug.cgi?id=733441
2014-07-21 15:26:09 +02:00
Paolo Borelli
8b6bf3a5ea GtkMenuButton: do not use gpointer for the arrow widget
Just a small cleanup, we can use a proper type.
2014-07-21 15:26:09 +02:00
Lapo Calamandrei
81b22883fd Adwaita: header bar buttons padding fix 2014-07-21 15:24:08 +02:00
MarMav
6456272b1f Updated Greek translation 2014-07-21 09:01:26 +00:00
Piotr Drąg
0b7beb612b Updated POTFILES.skip 2014-07-21 01:28:15 +02:00
Benjamin Otte
bed70f2bcf reftests: Add reftest for new pseudoclass support 2014-07-21 01:03:47 +02:00
Piotr Drąg
41a16b475b Updated POTFILES.skip 2014-07-20 16:21:07 +02:00
Sébastien Wilmet
9527205291 GtkTextView: use GSlice
GSlice is better for allocating structs.

https://bugzilla.gnome.org/show_bug.cgi?id=733407
2014-07-20 12:26:01 +02:00
Michał Górny
b441d3a736 Use AC_PATH_TOOL to find build tools.
This improves support for cross-compilation & multilib on Gentoo, where
tools proper for target arch/ABI are prefixed with CHOST.

https://bugzilla.gnome.org/show_bug.cgi?id=731582
2014-07-20 01:41:03 -04:00
Matthias Clasen
85297367dc GtkDialog: Manage action area visibility more carefully
People expect to be able to call gtk_widget_show_all on the dialog
to make action widgets visible, as seen e.g. in
https://bugzilla.gnome.org/show_bug.cgi?id=733431

To keep this working, we can't always set no-show-all on the
action_box. Only set it when the action_area is not used and empty.
2014-07-20 01:05:41 -04:00
Matthias Clasen
2cb1052987 widget-factory: Show accelerators
We set this up manually here. This could be automated by
constructing the menubar from a menu model.
2014-07-20 00:43:17 -04:00
Matthias Clasen
144083d402 widget-factory: Rename some widgets 2014-07-20 00:43:17 -04:00
Matthias Clasen
48b9b4520b widget-factory: Add accelerators for some actions
With this, Ctrl-Q will close the window, and Ctrl-D will
toggle the dark theme. The accelerators are currently not
shown in the (manually constructed) menus.
2014-07-20 00:43:08 -04:00
Matthias Clasen
caa47b2ef4 GtkMenuItem: fix display of accelerators
The accel label in menus was getting a small allocation that
caused its draw code to always omit the accelerator string.
Fix that by setting halign to fill. To keep the menu label
left-aligned, set xalign to 0 to compensate.
2014-07-20 00:12:40 -04:00
Matthias Clasen
d6d424f920 GtkModelMenuItem: Make properties readable
This makes the inspector much more useful when dealing
with model menu items.
2014-07-19 23:40:27 -04:00
Matthias Clasen
73267102fd GtkAccelLabel: unconditionally chain up in draw
No need to check, we know for sure that GtkLabel has a draw
function.
2014-07-19 23:37:43 -04:00
Matthias Clasen
2ddbca7ba5 bloatpad: Add a close button to the accel dialog 2014-07-19 19:42:56 -04:00
Matthias Clasen
70e898bc90 inspector: Add a font button to the visual tab
The font was already settable via the gtk-font-name property
of the settings object, but this this much more convenient.
2014-07-19 19:15:58 -04:00
Gergely POLONKAI
7f7084f7f5 GtkSpinButton: Document some signals
Based on a patch by Gergely Polonkai,
https://bugzilla.gnome.org/show_bug.cgi?id=733174
2014-07-19 18:34:58 -04:00
Matthias Clasen
f7c838ce5f Trivial: Use the canonical signal name 2014-07-19 18:34:58 -04:00
Matthias Clasen
bbb324688f Trivial: Move resources into the same prefix 2014-07-19 18:34:58 -04:00
Benjamin Otte
cde81e169b notebook: Don't unset state flags on child removal
We don't set any state flags, so we shouldn't unset any either.
2014-07-19 23:48:06 +02:00
Benjamin Otte
52dd0f5014 widget: Add widget state when appending to widget path
Make gtk_widget_path_append_for_widget() add the state flags of the
widget, too.

This enables the ability to select pseudoclasses on all elements in a
selector.
2014-07-19 23:42:39 +02:00
Benjamin Otte
19eb1614de cssmatcher: Use widget path's state
Don't take a state when constructing the CSS matcher. Instead, rely on
the newly introduced state in the widget path.

This way, the state can be queried not only on the first element, but on
all elements of the widget path.
2014-07-19 23:42:39 +02:00
Benjamin Otte
be09e0ed4a stylecontext: Set state flags on widget paths
Set the widget path state flags with the state flags of the style
context.

We do not update the state flags but replace the previous one because we
want to be able to have save()/restore() unset state flags.
2014-07-19 23:42:39 +02:00
Benjamin Otte
09dd0ffcd0 API: Add gtk_widget_path_iter_set_state()
And the corresponding gtk_widget_path_iter_get_state().
2014-07-19 23:42:38 +02:00
Lapo Calamandrei
71d47ef607 Adwaita: suble gradient on progressbars 2014-07-19 15:42:17 +02:00
Lapo Calamandrei
3fb249e376 Adwaita: progressbar tweaks 2014-07-19 14:03:28 +02:00
Lapo Calamandrei
58777d6084 Adwaita: insensitive backdrop state restyle
Make backdrop insensitive state more similar to the focused
windows one, mostly to make dark variant more usable and
focused -> backdrop transition less distracting.
2014-07-19 11:11:44 +02:00
Lapo Calamandrei
f5c2c81645 Adwaita: some code refactoring 2014-07-19 10:50:01 +02:00
Lapo Calamandrei
61edf40936 Adwaita: more progressbar shadows 2014-07-19 09:59:10 +02:00
Lapo Calamandrei
27f24a1732 Adwaita: widget edge for level bars 2014-07-19 09:02:07 +02:00
Matthias Clasen
ea9026e3a0 Inspector: Show directory sizes in the resource tab
This is makes it easy to answer the question: how much do resources
cost. It turns out that all the resources in GTK+ currently weigh
around 1MB.
2014-07-19 01:20:28 -04:00
Matthias Clasen
a9201b8379 GtkProgressBar: Add style classes for edges
Add left/right/top/bottom style classes according to which edge(s)
of the progressbar the progress is adjacent to. Only for a fraction
of 1.0 will we set more than one edge.
2014-07-19 00:40:09 -04:00
Matthias Clasen
04c4e1963f GtkFlowBox: Add a missing #include 2014-07-18 23:00:54 -04:00
Matthias Clasen
f4db36ef49 GtkToolbar: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:40:12 -04:00
Matthias Clasen
87b7103db1 GtkSpinButton: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:56 -04:00
Matthias Clasen
b5ee9da924 GtkSeparator: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:44 -04:00
Matthias Clasen
f1d1f139af GtkRange: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:32 -04:00
Matthias Clasen
18a92992a0 GtkProgressBar: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:39:11 -04:00
Matthias Clasen
9b4001ed00 GtkPaned: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:38:56 -04:00
Matthias Clasen
cd6c880790 GtkGrid: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:38:37 -04:00
Matthias Clasen
7ed133397a GtkFlowBox: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:38:16 -04:00
Matthias Clasen
b4ab29d4d5 GtkBox: Set orientable style classes initially
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:37:33 -04:00
Lapo Calamandrei
663a50dd4e Adwaita: better colorswatches for the dark theme
...which reveals a "nice" border/fill border radius issue.
2014-07-18 23:49:54 +02:00
Matthias Clasen
e2cf8d2125 GtkLevelBar: implement clipping
So level bars can have shadows, too.
2014-07-18 17:47:53 -04:00
Lapo Calamandrei
cf62f66101 Adwaita: widget edge for switch and progressbars 2014-07-18 23:30:16 +02:00
Matthias Clasen
51a5cfc783 GtkSwitch: implement clipping
So switches can have shadows, too.

https://bugzilla.gnome.org/show_bug.cgi?id=733360
2014-07-18 16:37:18 -04:00
Matthias Clasen
c2907b8532 GtkProgressBar: implement clipping
This allows progress bars to have shadows.

https://bugzilla.gnome.org/show_bug.cgi?id=733361
2014-07-18 16:32:46 -04:00
Matthias Clasen
17ad36bf8b Trivial cleanup 2014-07-18 14:33:26 -04:00
Jasper St. Pierre
cb91e89de3 wayland: Update xdg-shell 2014-07-17 17:28:14 -04:00
Jasper St. Pierre
46bcfa0098 gdkwindow-wayland: Take out the margins for now
xdg-shell has moved on and replaced set_margin with set_window_geometry.
To properly support set_window_geometry requires a full rewrite of how
we've been dealing with toplevel windows for now, so just don't set any
margin until we can have a proper toplevel window abstraction in GTK+.
2014-07-17 16:59:29 -04:00
Jasper St. Pierre
a3c12ffccb gtkwindow: Clean up gtk_window_move_resize a bit more
Don't shadow existing variables. Instead of sharing the allocation and
then overwriting the width/height when convenient, declare it in the
block we use it in, as, really, the three different paths are all
extremely different, and there's no sense in sharing the variable.
2014-07-17 13:10:50 -04:00
Jasper St. Pierre
927b5a592f gtkwindow: Remove a bogus comment
gtk_window_configure_event certainly doesn't fill the new allocation
in. We're filling it in right here!
2014-07-17 13:10:50 -04:00
Jasper St. Pierre
488ca4ab30 icon-browser: Improve the look a tiny bit
Add some padding and a border around the scrolled window.
2014-07-17 13:10:50 -04:00
Matthias Clasen
24e707315f GtkDialog: Be more careful in handling the headerbar
Just because an action widget has a parent thats a headerbar,
it is not guaranteed that it is 'our' headerbar. Add some
assertions to enforce this.
2014-07-17 12:53:54 -04:00
Matthias Clasen
7b40714541 GtkDialog: rejigger headerbar handling
We can't avoid calling set_titlebar in buildable_add_child, since
GtkBuilder assumes that it can e.g. call grab_default at the end,
which only works if the widget is inside a toplevel at that point.

Instead, drop the titlebar and clean up priv->headerbar in constructed
if we find that we don't want a headerbar.
2014-07-17 12:49:57 -04:00
Matthias Clasen
df007fb982 Add another dialog to test
This one is taken from polari, and currently doesn't work
as expected.
2014-07-17 12:17:32 -04:00
Sébastien Wilmet
dc1317a521 textiter: fix bug in find_visible_by_log_attrs()
find_by_log_attrs() can return true only in this case:
return moved && !gtk_text_iter_is_end (arg_iter);

So if the iter moved (i.e. something has been found), but is the end
iter, find_by_log_attrs() returns false.

Now the same checks are made in find_visible_by_log_attrs(). The public
functions using find_visible_by_log_attrs() say in their documentation
that false is returned for the end iter, hence the check with
gtk_text_iter_is_end().

https://bugzilla.gnome.org/show_bug.cgi?id=618852
2014-07-17 12:56:57 +02:00
Sébastien Wilmet
69d20f53e2 textiter: fix bug in FindLogAttrFunc functions
attrs[len] is the last PangoLogAttr available, at the iter position after the
last character of the line.

For a line in the middle or the start of the buffer, the '\n' is taken
into account by 'len'. For example the is_word_end is generally reached
before the '\n', not after. But for the last line in the buffer, where
there is no trailing '\n', it is important to test until attrs[len].

The bug didn't occur before because find_by_log_attrs() worked directly
on the iter passed as the function argument. But now it is no longer the
case.

https://bugzilla.gnome.org/show_bug.cgi?id=618852
2014-07-17 12:56:56 +02:00
Sébastien Wilmet
76f3866bd3 textiter: make the FindLogAttrFunc functions clearer
- Return true (found) and false (not found) explicitly.
- Set found_offset only when something has been found.

find_backward_cursor_pos_func() was a bit different, the while loop had
the condition "offset > 0" but the return was "offset >= 0". Probably a
micro-optimization, since offset == 0 is always a cursor position.
Anyway now the code is the same as the other functions.

https://bugzilla.gnome.org/show_bug.cgi?id=618852
2014-07-17 12:56:56 +02:00
Sébastien Wilmet
37f5f78f81 textiter: simplify FindLogAttrFunc
The min_offset parameter was always 0. Since there are some bugs in this
code, it'll be clearer if there are fewer parameters.

https://bugzilla.gnome.org/show_bug.cgi?id=618852
2014-07-17 12:56:56 +02:00
Sébastien Wilmet
5d66634482 textiter: fix bug in find_by_log_attrs()
Do not work with the iter passed as the function argument. Work with
another iter, and set it back to the function argument only if something
has been found.

This fixes a few unit tests. But there are regressions for a few others.

https://bugzilla.gnome.org/show_bug.cgi?id=618852
2014-07-17 12:56:56 +02:00
Sébastien Wilmet
79c835a151 tests textiter: unit tests for sentence boundaries
As the FIXME comment shows, there is a bug. It is the same bug as for
the word boundaries.

https://bugzilla.gnome.org/show_bug.cgi?id=618852
2014-07-17 12:56:56 +02:00
Sébastien Wilmet
96de203ee0 tests textiter: unit tests for visible word boundaries
As the FIXME comments show, there are several problems.

https://bugzilla.gnome.org/show_bug.cgi?id=618852
2014-07-17 12:56:56 +02:00
Matthias Clasen
f7e94a7389 GtkPathBar: Add a style class
This will allow nautilus to reuse the style on its own
pathbar widget.
2014-07-17 06:48:36 -04:00
Matthias Clasen
f3ef3165df GtkIconTheme: Make spinners scale in hi-dpi
The Adwaita icon theme ships spinners in a scalable directory
with MaxSize=32 and Scale=1. One way to make them scale up in
hi-dpi would be to add an @2 directory with MaxSize=32 and Scale=2,
but that directory would also be consulted in non hi-dpi situations
and give us an effective spinner max size of 64.

Instead, treat svg icons implicitly as hi-dpi, and scale them
up to MaxSize * 2 when in hi-dpi.
2014-07-17 00:59:34 -04:00
Volker Sobek
a80e77ff95 GtkMenu: Don't subtract shadow from requisition
This was causing menus to show up in the wrong position in case the menu
popped up towards the top and/or left.

The change to the requisition was in error; it is the allocated size
of the menu, not the toplevel, and doesn't include the shadow.

https://bugzilla.gnome.org/show_bug.cgi?id=591258
2014-07-16 23:29:35 -04:00
Matthias Clasen
bb6057bfb7 GtkStackSwitcher: Simplify setting of .needs-attention
Always add the .needs-attention style class, even if the button
is active. Themes can already avoid showing anything in this case.
2014-07-16 21:08:27 -04:00
Lapo Calamandrei
e084e5c67e Adwaita: increase padding on header-bar and action-bar text buttons 2014-07-16 19:47:54 +02:00
Lapo Calamandrei
0d1b036e58 Adwaita: stack switcher needs-attention class style 2014-07-16 19:42:17 +02:00
Lapo Calamandrei
4053ee0cca GtkStackSwitcher: center the button child
Set button child halign to GTK_ALIGN_CENTER since I need it to style
the needs-attention class, see:
https://bugzilla.gnome.org/show_bug.cgi?id=707153
2014-07-16 19:35:29 +02:00
Volker Sobek
4af59dbd98 Adwaita: Add back a margin of 4px to .menu
This had originally been added to Adwaita in the gnome-themes-standard
commit 7bf01517bc2 but was lost during 3.13 theme changes, causing bug
591258 to reappear.
2014-07-16 17:21:51 +02:00
Chun-wei Fan
283a274d32 MSVC Introspection Builds: Filter Out gtkx.h
Like the autotools builds of the introspection files, don't include gtkx.h
in the introspection prepropcessing as it should not be included by other
GTK+ headers.
2014-07-16 18:04:38 +08:00
Chun-wei Fan
64e5d6ee3a gtk-inspector: size-groups.c: Fix build on pre-C99
Declare variables at the top of the block.
2014-07-16 17:58:20 +08:00
Matthias Clasen
fffd58fca8 GtkListBox: Mention activatable and selectable in the docs 2014-07-15 23:57:34 -04:00
Matthias Clasen
6557a51827 widget-factory: Mark selectable listbox rows non-activatable
Having them selectable is sufficient to get the hover effect.
2014-07-15 23:57:33 -04:00
Matthias Clasen
0bfad993ac GtkListBox: Implement non-selectable rows
This commit changes things so that we never mark non-selectable
rows as selected.
2014-07-15 23:57:33 -04:00
Matthias Clasen
7932370ef8 GtkListBox: Style selectable rows differently
We now apply the .button style class to rows that are either
activatable or selectable. Selectable rows only get the .button
if the listbox allows selection. This implies that we need to
update row styles when the selection mode changes, or when the
row gets added to a listbox.
2014-07-15 23:56:47 -04:00
Matthias Clasen
71f589c0b0 GtkListBox: Add a GtkListBoxRow:selectable property
Having an explicit property for this will make it easier
to have a hover style only for rows which are activatable
or selectable.

Rows are selectable by default, to preserve compatibility.
2014-07-15 23:56:47 -04:00
Matthias Clasen
880c6678eb Fix documentation typos 2014-07-15 23:56:47 -04:00
Matthias Clasen
83e9e0bd8f GtkListBox: Refactor ::activatable implementation
Store the value in the row struct, and split the style updating
out into a separate function.
2014-07-15 22:42:29 -04:00
Matthias Clasen
dc87027af9 Try harder to fix dialog titles
https://bugzilla.gnome.org/show_bug.cgi?id=733099
2014-07-15 21:31:13 -04:00
Matthias Clasen
db189a892b Update examples for new open-menu icon 2014-07-15 21:31:13 -04:00
Руслан Ижбулатов
e3d725ed8c GktIconTheme: Be even more careful with paths
This is a followup for 5a252f13a8

https://bugzilla.gnome.org/show_bug.cgi?id=733189
2014-07-15 19:02:41 +00:00
Jasper St. Pierre
2e4018c386 gtkwindow: Clean up the code for an optimization
It's hard to figure out what the "expected_reply" means except under
close examination -- it's actually talking about whether this was a
reply to a ConfigureRequest or not. The inversion in the check doesn't
help either.

Make the code cleaner by moving it above the freeze/thaw case, and
making the check more explicit and without a confusing variable. If we
haven't sent any ConfigureRequests out, then it must be a gratuitous
ConfigureNotify.
2014-07-15 14:49:16 -04:00
Jasper St. Pierre
b7a8bde895 gtkwindow: Fix the comment for an optimization
The optimization was incorrect, and so it was changed in commit
2bf6824, but the comment to go along with it was never updated.
2014-07-15 14:49:16 -04:00
Lapo Calamandrei
e201e6b230 Adwaita: white search bar for the file chooser 2014-07-15 19:09:58 +02:00
Lapo Calamandrei
8c57dcec28 Adwaita: correct background color for backdrop treeview column headers 2014-07-15 17:58:13 +02:00
Lapo Calamandrei
64ee268d71 Adwaita: brighter depressed buttons 2014-07-15 17:52:11 +02:00
Benjamin Otte
a43b90e49f pathbar: Implement clipping
.. so the path bar's buttons can have shadows.
2014-07-15 14:36:04 +02:00
Lapo Calamandrei
df0d3caa9a Adwaita: reorderable tabs inhert in backdrop 2014-07-15 13:28:40 +02:00
Lapo Calamandrei
3bb6b36c74 Adwaita: fix backdrop insensitie flat button 2014-07-15 13:01:48 +02:00
Lapo Calamandrei
9e770d5aad Adwaita: selected list rows inhert in backdrop 2014-07-15 10:25:40 +02:00
Lapo Calamandrei
f34e7ebc63 Adwaita: darker hover state again for spinbuttons button in the dark variant.
And for hovered list rows, since it works better and it's less
distracting.
2014-07-15 09:11:56 +02:00
Jasper St. Pierre
3878519449 window: Use CAIRO_OPERATOR_SOURCE to clear to background
Some windows, like GtkWindow and some other apps, set a transparent
background. The guarantee for begin_paint_region is that there should
be a full clear to the specified background color, not a composite
against what was there before.

This fixes repaint artifacts in Wayland and Weston in a better way than
76922c169f.
2014-07-14 19:14:40 -04:00
Jasper St. Pierre
b0bd9d82a3 Revert "wayland: Prevent stale paints and weird artifacts when using Weston"
This reverts commit 76922c169f.

This is too local a fix, and is broken if the user paints to a small
region, as the entire buffer will be wiped.
2014-07-14 19:12:19 -04:00
Matthias Clasen
5a252f13a8 GktIconTheme: Be more careful with paths
Slapping file:// in front of a path does not guarantee a working
uri (e.g. if you are on windows and the path looks like F:\\...).
Therefore, go back to using g_file_new_for_path if we don't have
to deal with a resource.
2014-07-14 18:44:00 -04:00
Matthias Clasen
64c2bafafc Bump version 2014-07-14 18:26:33 -04:00
Matthias Clasen
3011facf2f 3.13.4 2014-07-14 18:22:40 -04:00
Matthias Clasen
085fada849 Force the simple im module for reftests
I've seen reftests fail with IBus warnings. We should avoid that.
2014-07-14 18:22:40 -04:00
Matthias Clasen
69b25a77aa Update expected output for a11y test 2014-07-14 14:36:58 -04:00
Lapo Calamandrei
3a1645fea5 Adwaita: brighter spinbutton button active state for the dark variant. 2014-07-14 18:42:37 +02:00
Lapo Calamandrei
1345735cab Adwaita: bright spinbutton button hover effect in the dark variant.
In line with what we do for hovered list rows.
2014-07-14 18:37:31 +02:00
Lapo Calamandrei
b4519ac0cd Adwaita: list-row style 2014-07-14 18:29:08 +02:00
Matthias Clasen
04b5c5f14a widget-factory: Fix multi-selection example
It turns out that activate-on-single-click interferes with the
expected multi-selection behavior. Turn it off, since there's nothing
to activate in this list, anyway.
2014-07-14 09:17:47 -04:00
Matthias Clasen
0431ee2b57 widget-factory: Use multi-selection for the listbox example 2014-07-14 08:49:54 -04:00
Matthias Clasen
27244fb9d7 listbox: Update docs
Multiple selection is supported now.
2014-07-14 08:48:33 -04:00
Matthias Clasen
0e1a424829 Don't use guint32 with XChangeProperty
As pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=710449,
XChangeProperty expects data to be a long array for format 32.
2014-07-13 23:33:26 -04:00
Matthias Clasen
daf05ad987 GtkTreeView: Avoid interference with animation
The animated scrolling interferes with incremental validation.
As short-term solution, disable scrolling animation during
incremental validation. This is not a proper solution, but
it avoids broken behavior like scrollbars that are not reacting
to clicks. The problem was visible, e.g. in the list view
example in gtk3-demo.
2014-07-13 23:04:40 -04:00
Matthias Clasen
aa5afb38e8 Fix a typo
A getter shouldn't return void.
2014-07-13 23:04:39 -04:00
Matthias Clasen
332fa9b848 Revert "GtkTreeView: Avoid interference with animation"
This reverts commit faa676ffa7.

It fixed the problematic list view example in gtk3-demo, but
broke all others :-(
2014-07-13 22:54:19 -04:00
Matthias Clasen
faa676ffa7 GtkTreeView: Avoid interference with animation
The animated scrolling interferes with incremental validation.
As short-term solution, disable scrolling animation during
incremental validation. This is not a proper solution, but
it avoids broken behavior like scrollbars that are not reacting
to clicks. The problem was visible, e.g. in the list view
example in gtk3-demo.
2014-07-13 22:00:59 -04:00
Matthias Clasen
7086080b03 Add a getter for the adjustment animation duration 2014-07-13 22:00:30 -04:00
Matthias Clasen
d35f664b1a inspector: Make values in general tab selectable 2014-07-13 16:08:44 -04:00
Matthias Clasen
639180790f inspector: Make listbox rows non-activatable 2014-07-13 16:03:32 -04:00
Matthias Clasen
a67570b9e0 listbox: Avoid a warning
Don't try to set an adjustment value if we don't have an adjustment.
2014-07-13 15:51:03 -04:00
Owen W. Taylor
fc6e2cc4b2 Handle resolution changes in the GDK backend code
gdk_x11_display_set_window_scale() affects the interpretation of the
Xft/DPI XSETTING - it is substituted inside GDK with the value of
Gdk/UnscaledDPI xsetting. However, this change is not propagated to
GTK+ and from GTK+ back to gdk_screen_set_resolution() until the
main loop is run.

Fix this by handling the screen resolution directly in gdk/x11.
This requires duplication of code between GDK and GTK+ since we still
have to handle DPI in GTK+ in the case that GdkSettings:gtk-xft-dpi
is set by the application.

https://bugzilla.gnome.org/show_bug.cgi?id=733076
2014-07-13 15:35:23 -04:00
Stefano Facchini
cef6f34fb7 inspector: Do not accidentally change tab in the object notebook
The "hide-and-show" dance makes the notebook select the next tab.

https://bugzilla.gnome.org/show_bug.cgi?id=733092
2014-07-13 15:19:27 -04:00
Matthias Clasen
66428bdd70 Adwaita: Work towards working touch selection popups
This fixes some of the confusion around toolbars inside .osd.
The look is not perfect, but less broken than before.
2014-07-13 14:38:43 -04:00
Matthias Clasen
d4e8a501a0 GtkTextHandle: Better draw() implementation
Conceptually, text handles are boxes, whose content is a 'handle',
so draw background, frame and handle. With this, and the previous
commit, the cursor-handle theming in Adwaita now works as intended.
2014-07-13 13:58:16 -04:00
Matthias Clasen
f8950bf878 Allow to use -gtk-icon-source for handles
This will let us use icons for touch selection handles, once
they use gtk_render_handle.
2014-07-13 13:56:14 -04:00
Matthias Clasen
5641fba7c6 Adwaita: Try to fix up selection touch handles
The text handles reuse the style context from their parent widget,
and just add .cursor-handle. That means that the more specific
entry selectors override the .cursor-handle theming unless we
select for .entry.cursor-handle. We also need to work harder to
keep the .entry styling from drawing decorations around the outlines.
2014-07-13 13:34:59 -04:00
Matthias Clasen
a2ac9e1baa listbox: Scroll headers on screen
The listbox code relies on the container focus adjustment handling
to scroll the cursor row on screen. But GtkContainer has no idea
about row headers, so ensure that we scroll the header on screen too.
2014-07-13 13:00:37 -04:00
Matthias Clasen
f955548f47 widget-factory: Fix a typo 2014-07-13 13:00:37 -04:00
Sébastien Wilmet
923642454f tests textiter: unit tests for cursor positions
See the FIXME comment.

https://bugzilla.gnome.org/show_bug.cgi?id=618852
2014-07-13 17:09:40 +02:00
Sébastien Wilmet
472fd9a75f textiter: small optimization for find_by_log_attrs()
Use gtk_text_iter_set_line_offset (&tmp_iter, 0) instead of
gtk_text_iter_get_line(). The difference should not be big. In the first
case the line doesn't need to be traversed thanks to the offset 0. For
get_line(), the btree must be traversed.

A temporary iter is needed to not break the behavior. But the behavior
is quite strange, the function works directly on the iter passed as an
argument to the function, even if the function returns FALSE (not
found). So maybe a later commit will fix this strange behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=629129
2014-07-13 17:08:52 +02:00
Sébastien Wilmet
7f6ae622d3 textiter: remove recursivity of find_by_log_attrs()
find_by_log_attrs() was a recursive function. It is replaced by an
iteration.

The already_moved_initially parameter was TRUE only for the recursive
call, so the paramater is removed.

There is also a small cleanup of the find_visible_by_log_attrs()
(remove trailing spaces, fix indentation).

There is still a part to optimize for a later commit.

https://bugzilla.gnome.org/show_bug.cgi?id=629129
2014-07-13 17:08:52 +02:00
Matthias Clasen
97b9d8e4ae GtkDialog: Set window titles in header bars
This is fallout from the recent dialog changes. We don't set the
headerbar as titlebar early enough anymore, so when the window title
gets set, it does not get passed on to the headerbar. So, re-set it
manually when the titlebar is put in place.

https://bugzilla.gnome.org/show_bug.cgi?id=733099
2014-07-13 09:58:31 -04:00
Paolo Borelli
808705327d list-box: fix typo in natural size computation 2014-07-13 15:47:03 +02:00
Matthias Clasen
3e48fc8878 Adwaita: Some theming for activatable list rows 2014-07-13 09:26:35 -04:00
Matthias Clasen
42d97c380e widget-factory: Use the new ::activatable property 2014-07-13 09:26:35 -04:00
Matthias Clasen
2b9285e52e GtkListBox: Add an activatable property for rows
This will let us theme activatable rows differently.
We also avoid emitting the ::row-activated signal for
rows that are not activatable. For compatibility reasons,
rows are activatable by default.

https://bugzilla.gnome.org/show_bug.cgi?id=733112
2014-07-13 09:26:27 -04:00
Matthias Clasen
8d70b4692f widget-factory: Improve listbox example spacing 2014-07-13 09:04:58 -04:00
Matthias Clasen
f2c6b31e67 widget-factory: Fix the row activation example
Turns out ::activate on listbox rows is only for key bindings,
so use ::row-activated.
2014-07-12 17:30:25 -04:00
Matthias Clasen
6f6cedcc66 Trivial typo fix 2014-07-12 14:47:48 -04:00
Matthias Clasen
3cbdbdd3e6 widget-factory: Demonstrate listbox headers
Add a less trivial examples of headers in the colors listbox.
2014-07-12 14:47:48 -04:00
Matthias Clasen
9b6563dcdc widget-factory: Add some row activation to the listbox example
This shows some fallout from the gesture conversion.
2014-07-12 14:47:48 -04:00
Piotr Drąg
5051dc5a90 Updated POTFILES.skip 2014-07-12 15:15:44 +02:00
Stefano Facchini
1aa54bb946 widget-factory: Do no crash on variadic arguments 2014-07-12 11:43:14 +02:00
Matthias Clasen
e54dad135c widget-factory: Add another listbox example
This one is long enough to scroll, and has selection.
2014-07-12 03:31:29 -04:00
Matthias Clasen
9d26ea42ac Fix the build
gtkx.h can no longer be included internally, so skip it when
generating the gir. We include the individual headers anyway.
2014-07-12 01:56:55 -04:00
Matthias Clasen
91133fc14c inspector: Reshuffle Visual and General tabs
Move the touchscreen switch to the other debug switches, and
move the hidpi spin to the other graphical controls. Since the
Visual tab is getting large, make it scroll. The General tab
is purely informational again.
2014-07-12 01:45:44 -04:00
Benjamin Otte
02ccfb5d62 GtkStack: Render a background
https://bugzilla.gnome.org/show_bug.cgi?id=733027
2014-07-12 07:16:33 +02:00
Benjamin Otte
e29d0a0a38 gtk-demo: This is not a unique app
When running gtk-demo a 2nd time, it's usually to compare its
output with a different version of gtk-demo.
2014-07-12 07:13:28 +02:00
Benjamin Otte
62971dd999 widget-factory: This is not a unique app
When running widget-factory a 2nd time, it's usually to compare its
output with a different version of widget-factory.
2014-07-12 07:13:28 +02:00
Benjamin Otte
9ae0b8ed27 reftests: Add test for latest fix
Ensure we draw the full backgorund on labels, not just where test
appears.
2014-07-12 07:13:28 +02:00
Benjamin Otte
f35ec11578 label: Include all of the allocation in the clip
Otherwise, the CSS background we draw would be clipped if the ink rect
was smaller than the allocation (a very common thing).

Broken since 37030a7710 where we clipped
to the ink rect.
2014-07-12 07:13:28 +02:00
Benjamin Otte
0be93f8e86 gtkx: Warn if we include gtkx.h during GTK compilation 2014-07-12 07:13:28 +02:00
Benjamin Otte
fcbbe54936 a11y: Do not include gtkx.h directly 2014-07-12 07:13:27 +02:00
Benjamin Otte
3332492281 socket: Don't include gtk.h
And fix remaining headers to not emit warnings
2014-07-12 07:13:27 +02:00
Matthias Clasen
c1867761ca Revert "GtkStack: Render background and chain up gtk_widget_draw ()."
This reverts commit f6695b962f.
2014-07-12 00:33:19 -04:00
Matthias Clasen
4ef2f24c75 inspector: Reshuffle visual tab 2014-07-12 00:17:43 -04:00
Matthias Clasen
dfb2b6328e inspector: Reorder tabs
Move Resources next to Objects, and Visual next to General.
2014-07-12 00:10:59 -04:00
Matthias Clasen
c526634fdb inspector: Fix the build
I forgot to test the previous commit with -Wimplicit-function-delcaration,
and it promptly broke.
2014-07-11 23:45:18 -04:00
Matthias Clasen
f8986d9aa7 inspector: Clean up includes
Don't include gtk.h, instead include individual headers.
And include config.h and gi18n-lib.h everywhere.
2014-07-11 23:14:04 -04:00
Matthias Clasen
28998425d9 inspector: Don't mark environment variables for translations
These names don't change with the locale, after all.
2014-07-11 22:29:58 -04:00
Matthias Clasen
0331dc984b widget-factory: Add a selectable label
We already have selectable labels in some of the dialogs,
but this is more direct, and also shows links in labels.
2014-07-11 22:23:33 -04:00
Timm Bäder
0840f13c15 gtklabel: Set the correct initial cursor
Use GDK_XTERM only if the label is really selectable.

https://bugzilla.gnome.org/show_bug.cgi?id=732970
2014-07-11 21:24:21 -04:00
Matthias Clasen
3780fc787c widget-factory: Adapt to label clipping change
The paned examples on page 2 were implicitly relying on labels
drawing unclipped. Instead of setting the view class only on the
labels, set it on the paned's instead.
2014-07-11 21:15:03 -04:00
William Hua
f6695b962f GtkStack: Render background and chain up gtk_widget_draw ().
https://bugzilla.gnome.org/show_bug.cgi?id=733027
2014-07-11 20:46:03 -04:00
Matthias Clasen
cfec3ba794 Document that the drag icon window will be modified
This is in response to the complaint in
https://bugzilla.gnome.org/show_bug.cgi?id=732991
2014-07-11 18:09:47 -04:00
Руслан Ижбулатов
609f4c05ae Correctly generate def files again 2014-07-11 18:22:29 +02:00
Ignacio Casal Quinteiro
4cc613d517 Revert "win32: Drop remnants of def files"
This reverts commit d76785a993.
2014-07-11 18:20:53 +02:00
Matthias Clasen
deefe3cd6a inspector: Add comments
The binding support pokes some not-quite-official (or entirely
private) implementation details. Add comment to warn about this.
2014-07-11 10:27:00 -04:00
GunChleoc
b86ddc940c Updated Scottish Gaelic translation 2014-07-11 10:55:19 +00:00
GunChleoc
f8d696f0ed Updated Scottish Gaelic translation 2014-07-11 10:51:53 +00:00
Yosef Or Boczko
b2b3a24f19 Updated Hebrew translation 2014-07-11 12:00:04 +03:00
Matthias Clasen
f4b961c6ac inspector: Show settings bindings
Similar to the previous commit, show settings bindings for
properties in the property editor.
2014-07-11 00:48:51 -04:00
Matthias Clasen
d8880bf7ab inspector: Show property bindings
This commit add information about existing bindings to the
property editor.
2014-07-10 23:57:37 -04:00
Matthias Clasen
c3b20e3d11 Adwaita: Set background color of header buttons
Without a background, one can see titles shine through when
resizable columns are squeezed.
2014-07-10 19:36:26 -04:00
Matthias Clasen
425d785de5 inspector: Allow setting hidpi scale 2014-07-10 18:36:16 -04:00
Matthias Clasen
c46b954dd0 Cosmetic formatting fixes 2014-07-10 18:35:54 -04:00
Matthias Clasen
614412e913 inspector: Show GSETTINGS_SCHEMA_DIR when set 2014-07-10 17:37:26 -04:00
Matthias Clasen
bce5a0f1a1 GtkTreeViewColumn: a better way to avoid overlap
The overlap was caused by using pack-end for the arrow, which
causes it to be allocated from the other end. Avoid the problem
by using pack-start for both the title and the arrow, and
reordering them according to xalign.
2014-07-10 15:21:17 -04:00
Piotr Drąg
5a9c690d6a Updated POTFILES.in and POTFILES.skip 2014-07-10 20:49:51 +02:00
Carlos Garnacho
cb6ef5c222 Adwaita: Add comment around the .overshoot style class
And document the oddities around it, as requested by Lapo
2014-07-10 20:44:55 +02:00
Carlos Garnacho
b3ab5088df treeview: remove needless duplicate gtk_widget_set_parent_window() call
This same call happens a few lines above.
2014-07-10 20:44:55 +02:00
Matthias Clasen
4aa649e9cd GtkTreeView: Avoid overlapping sort indicator
Hide the sort indicator when it would overlap the column title.
2014-07-10 14:22:59 -04:00
Benjamin Otte
e1112dce6d reftests: Add test for the recent label changes 2014-07-10 18:56:35 +02:00
Benjamin Otte
3e82d12abd widget: Remove special case for clipping
Labels now call gtk_widget_set_clip() so there is no longer a need to
exclude them from clipping.
2014-07-10 18:56:35 +02:00
Benjamin Otte
37030a7710 label: Add ink rect support to GtkLabel 2014-07-10 18:56:34 +02:00
Benjamin Otte
a97901b1f7 label: Move function
This just moves the function, no actual code changes.
2014-07-10 18:56:34 +02:00
Benjamin Otte
46462ee7c4 tests: Add deprecation guards
... for newly deprecated gtk_icon_info_get_builtin_pixbuf()
2014-07-10 18:56:34 +02:00
Benjamin Otte
6a2ae1bb90 reftests: Improve workaround for GtkGrid bug
... so that it works with wide separators. Or rather: with separators
that don't request 1px size but any other number. Do that by making the
placeholder request the same size by indeed stuffing (hidden) separators
in it.
2014-07-10 18:56:34 +02:00
Javier Jardón
c5b0ae5574 docs: Change documentation to consistenly use "Returns:"
Instead "Return value:" or "Return:"
2014-07-10 16:54:34 +01:00
Matthias Clasen
8883074497 inspector: Disable non-functional controls
Some of the features we expose can be hardcoded via environment
variables. In that case, don't confuse the user by letting them
change settings that have no effect.
2014-07-10 10:33:27 -04:00
Matthias Clasen
7fa4d60bf3 inspector: Add a switch for simulating touch
This makes it easy to test test touchscreen features with a
plain old mouse.
2014-07-10 10:12:02 -04:00
Matthias Clasen
34245515e5 Add a 'touchscreen' debug flag
This has the same effect as the GTK_TEST_TOUCHSCREEN environment
variable, but can be toggled at runtime.
2014-07-10 10:12:02 -04:00
Lapo Calamandrei
562a942f99 Adwaita: treeview progressbar fix 2014-07-10 15:47:57 +02:00
Lapo Calamandrei
294e82a753 Adwaita: saner treeview lines style plus treeview expander style 2014-07-10 14:59:08 +02:00
Lapo Calamandrei
63c88d5013 Adwaita: initial and hopefully temporary treeview separation lines style 2014-07-10 13:54:21 +02:00
Matthias Clasen
797e7968f3 widget-factory: Enable even/odd rows
More treeview testing.
2014-07-10 07:15:33 -04:00
Matthias Clasen
f78a224e96 widget-factory: More treeview examples
The new treeview on page 3 sports expanders, grid and tree lines,
alternating row colors, etc.
2014-07-10 06:33:49 -04:00
Lapo Calamandrei
378c290150 Adwaita: drawing functions housekeeping 2014-07-10 12:22:41 +02:00
Lapo Calamandrei
17b679c866 Adwaita: simplify buttons drawing function 2014-07-10 11:55:51 +02:00
Matthias Clasen
5f549fa7cb Docs: Mention that shadow type is a lie
As requested here:
https://bugzilla.gnome.org/show_bug.cgi?id=659926#c2
2014-07-10 00:16:04 -04:00
Carlos Garnacho
d3b481ac19 Adwaita: Set a background color for the overshoot class
https://bugzilla.gnome.org/show_bug.cgi?id=731297
2014-07-09 23:15:16 -04:00
Carlos Garnacho
7bdc219464 scrolledwindow: Remove overshoot window and displacement animation
The displacement animation has been replaced by edge gradients, that
have a stronger color the harder overshooting is hit. This makes it
possible to remove the internal overshoot window, which was merely
used to have contents displaced when overshooting to top/left.

Overshooting to bottom/right used to cause queue_resize() to be
called on the scrolled window, this isn't necessary anymore either.

https://bugzilla.gnome.org/show_bug.cgi?id=731297
2014-07-09 23:13:48 -04:00
Carlos Garnacho
18c113cde1 stylecontext: Add GTK_STYLE_CLASS_OVERSHOOT
This class is meant to render the hint on scrolledwindow corners
when scrolling past-limits.

https://bugzilla.gnome.org/show_bug.cgi?id=731297
2014-07-09 23:11:42 -04:00
Carlos Garnacho
7178e342b1 textview: Call gtk_widget_size_allocate() on children widgets invariably
There was this hack, taken verbatim from GtkCList according to the comment,
that would recursively translate the allocation during scrolling, and set
it on children widgets through the direct gtk_widget_set_allocation() setter.

Since commit 4f89eb05cf, this has caused the wrong clipping areas to children
widgets of a textview. The reasons for this seem lost in time, and the approach
seems indeed wrong for windowed widgets as the repositioning of those windows
couldn't happen.

So replace all of this with just a gtk_widget_size_allocate() call, which does
work ok for the children widgets embedded in the "multiple views" gtk demo, and
ought to work for every other widget.

https://bugzilla.gnome.org/show_bug.cgi?id=732900
2014-07-09 22:57:52 -04:00
Carlos Garnacho
edc5cb4e47 treeview: Add back the Gdk pointer grab during column dragging
The reparenting happening on the column header so it gets a movable
window breaks the implicit grab, so this is one situation were we
want a pointer grab, if just to replace it.

https://bugzilla.gnome.org/show_bug.cgi?id=732933
2014-07-09 21:28:46 -04:00
Carlos Garnacho
5fb9c4441e treeview: Fix horizontal position during column dragging
Code was expecting view coordinates, not widget ones, as we're
only dealing with horizontal displacements, just adding the
horizontal adjustment value suffices.

https://bugzilla.gnome.org/show_bug.cgi?id=732933
2014-07-09 21:28:45 -04:00
Matthias Clasen
f547466029 Make Adwaita the default theme across platforms
This ensures that we have a polished out-of-the-box appearance
on all platforms.
2014-07-09 21:19:09 -04:00
Matthias Clasen
6abcda8391 Use a define for the default icon theme name
We're using this name in two places, so match what we are doing
for the default theme name, and use a macro.
2014-07-09 21:18:18 -04:00
Matthias Clasen
eee7057421 GtkIconTheme: Rename a macro
We use DEFAULT_THEME_NAME in gtksettings.c as well, and this
can be a confusing when grepping, so rename this to
FALLBACK_ICON_THEME.
2014-07-09 21:12:08 -04:00
Matthias Clasen
18ba0dee87 GtkColorButton: Some formatting cleanups 2014-07-09 21:08:18 -04:00
Matthias Clasen
afe8bd6db9 GtkColorButton: Use a color swatch
This saves some code and lets us reuse the color swatch styling.
Among other things, this fixes a lack of discernible border when
the selected color is very similar to the background.

https://bugzilla.gnome.org/show_bug.cgi?id=680885
2014-07-09 20:50:47 -04:00
Matthias Clasen
b68a28fbb0 GtkColorSwatch: Respect an explicitly set size
This will let us use a suitably sized color swatch in the color
button.
2014-07-09 20:44:06 -04:00
Matthias Clasen
86cceab75d builder test: Adjust expections
Dialogs no longer set a headerbar as titlebar unless use-header-bar
is set to 1. Update the test to do that.
2014-07-09 19:54:43 -04:00
Matthias Clasen
da699bcaba app chooser: Move buttons to template
Use the new builder dialog action support.
2014-07-09 19:48:27 -04:00
Matthias Clasen
9aad874fad font chooser: Move buttons to template
Use the new builder dialog action support.
2014-07-09 19:48:22 -04:00
Matthias Clasen
5436438520 a11y: Update expected output for color chooser 2014-07-09 19:48:08 -04:00
Matthias Clasen
ee06083c6b color chooser: Move buttons to template
We can now use the new builder action support.
2014-07-09 19:48:01 -04:00
Matthias Clasen
8afd4b71e9 GtkDialog: Fix setting of default action
The recent reshuffling caused an ordering problem where we would
hide the action area before relocating the buttons to the header
bar. But hiding makes the default button loose its defaultness.
Rearrange things so that we move the buttons before hiding the
action area, and thus preserve the default.
2014-07-09 19:48:01 -04:00
Lapo Calamandrei
ef3b5ca735 Adwaita: vertically linked buttons 2014-07-09 19:38:12 +02:00
Matthias Clasen
2f12fd5599 gtk-demo: Fix expand button box demo
Set the spacing to 0, so the buttons are actually linked.
2014-07-09 13:19:36 -04:00
Stefano Facchini
cd71a23ee2 icontheme: Use correct URI for icons in resource paths
Fix based on a patch by Stefano Faccini,
https://bugzilla.gnome.org/show_bug.cgi?id=732894
2014-07-09 11:01:40 -04:00
Matthias Clasen
b31a310d7d widget-factory: Use the new application resource support 2014-07-09 10:13:38 -04:00
Matthias Clasen
0abb2f57fd Update more places for the changed icon name 2014-07-09 08:03:57 -04:00
Jakub Steiner
a673553aba widget-factory: the menu icon name changed 2014-07-09 13:35:57 +02:00
Adam Dingle
86e4283ae2 Require GLib 2.41.2 (for g_application_get_resource_base_path) 2014-07-09 06:37:59 -04:00
Allan Day
add36eb488 message dialogs - remove extraneous padding
Removes unnecessary padding above message dialog headings. This
makes the dialogs look much more balanced.

https://bugzilla.gnome.org/show_bug.cgi?id=732857

https://bugzilla.gnome.org/show_bug.cgi?id=732882
2014-07-08 23:14:14 -04:00
Carlos Garnacho
d5b96b95a0 range: Avoid animations during slider drag
If the drag gesture gets a GtkGesture::updated signal, the user
is directly interacting through pointer/touch with the range slider,
animating the adjustment value change in this situation can produce
perceived lag, so set the value immediately when this is happening.
2014-07-08 21:14:41 -04:00
Carlos Garnacho
ea19e595a1 textview: Fix cursor positioning oddities when scrolling through Pg Up/Down
Use the adjustment target value when repositioning the cursor, and remove the
checks that ensured the cursor was made onscreen immediately, as there will
be definitely a delay on animated adjustment changes.
2014-07-08 21:14:41 -04:00
Carlos Garnacho
6aa8511495 textview: Use adjustment animations in gtk_text_view_scroll_to_iter()
This makes keyboard-triggered scrolling animated, as this function is
used underneath in order to make the cursor onscreen after it is
displaced.
2014-07-08 21:14:41 -04:00
Carlos Garnacho
f7e983a4c9 textview: Use the adjustment target value to figure out if keynav failed
When moving the cursor, compare current adjustment value with the post-animation
target value, in order to avoid false "keynav failed" positives as the animation
hasn't started yet, so dx/dy are still 0 at that time.
2014-07-08 21:14:41 -04:00
Carlos Garnacho
ee0982ffe3 adjustment: Add private gtk_adjustment_get_target_value() method
This call returns either the target value if there is an ongoing animation,
or the current value if there is no animation.
2014-07-08 21:14:40 -04:00
Lapo Calamandrei
75b71869ae Adwaita: minor fixes 2014-07-08 21:33:48 +02:00
Lapo Calamandrei
51316a9689 Adwaita: update comments in drawings 2014-07-08 18:28:02 +02:00
Lapo Calamandrei
2619e40715 Adwaita: buttons on gtkvolume popup 2014-07-08 18:24:28 +02:00
Lapo Calamandrei
05ec121f3e Adwaita: spinbutton button inhert in backdrop 2014-07-08 16:54:21 +02:00
Matthias Clasen
88a86fa044 GtkScaleButton: Add a style class to the scale button popover
Set the .scale-popup style class on the popover of scale buttons.
This lets us select the +/- buttons and style them appropriately.
2014-07-08 10:47:01 -04:00
Lapo Calamandrei
71f328e8c2 Adwaita: remove the image effect for buttons icons in backdrop 2014-07-08 16:42:10 +02:00
Lapo Calamandrei
e399e68392 Adwaita: inhert scrollbars in backdrop 2014-07-08 16:36:02 +02:00
Matthias Clasen
0a34633914 GtkScaleButton: Set +/- sensitivity
The buttons should go insensitive when we are at their end of
the scale.
2014-07-08 10:27:30 -04:00
Matthias Clasen
73bc9b59dd Add view-context-menu-symbolic to checked icon names 2014-07-08 09:30:16 -04:00
Matthias Clasen
89ada16998 GtkMenuButton: Use view-context-menu-symbolic when direction is NONE
This makes it easier to construct gear menus: just set the direction
to 'none', no need to manually construct an image.
2014-07-08 09:30:16 -04:00
Lapo Calamandrei
abb72efe8b Adwaita: column header dnd style.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731663
2014-07-08 14:36:30 +02:00
Matthias Clasen
46bc284165 Use view-content-menu-symbolic in example apps 2014-07-08 08:30:56 -04:00
Matthias Clasen
092c26871e widget-factory: Use view-context-menu-symbolic 2014-07-08 06:53:30 -04:00
Lapo Calamandrei
f15b61421a Adwaita: selection mode and selection menu tweaks 2014-07-08 12:52:55 +02:00
Matthias Clasen
04f9445302 widget-factory: Content for the action dialog
Dialogs look better with some actual content.
2014-07-08 06:33:19 -04:00
Yosef Or Boczko
79b730d209 Updated Hebrew translation 2014-07-08 12:55:14 +03:00
Lapo Calamandrei
3478156fb4 Adwaita: generalize inline and search bars
So the style get applied not only to say .toolbar.search-bar, but
.search-bar. Need to figure out something for possible missing borders.
2014-07-08 11:22:59 +02:00
Lapo Calamandrei
117b719816 Adwaita: selection menu button style fixes 2014-07-08 10:46:39 +02:00
Lapo Calamandrei
a3b98eab92 Adwaita: fix reorderable tab label color once again 2014-07-08 10:17:31 +02:00
Rico Tzschichholz
eec6deba90 build: Fix make dist 2014-07-08 10:13:39 +02:00
Lapo Calamandrei
461acd6e42 Adwaita: style notebook tab overflow arrow 2014-07-08 10:06:57 +02:00
Matthias Clasen
d49d592316 GtkImage: Add cairo surface api to the docs
https://bugzilla.gnome.org/show_bug.cgi?id=732861
2014-07-07 22:36:56 -04:00
Matthias Clasen
d1099b1759 Document gtk_application_get_menu_by_id 2014-07-07 19:44:39 -04:00
Jasper St. Pierre
1fb2756b99 gtkwindow: Remove the unused GTK_WINDOW_REGION_EDGE 2014-07-07 16:30:51 -04:00
Matthias Clasen
6818388b32 Bloatpad: fix up icons
The references to png files were doubly broken: first, by the icon
theme changes, and more recently, by the move of bloatpad. Fix them
up.
2014-07-07 16:27:38 -04:00
Piotr Drąg
a54905dab4 Updated POTFILES.skip 2014-07-07 20:50:41 +02:00
Ryan Lortie
4948516100 GtkApplication: document icon path setup
https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 14:46:28 -04:00
Ryan Lortie
cc1af0f71c bloatpad: use Gtk's automated menu loading
We move our menus.ui file into Gtk's namespace so that it will get
picked up.  Accordingly, we no longer have to do any of the work for
ourselves...

https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 14:46:28 -04:00
Ryan Lortie
687a846923 GtkAppliation: setup icon theme resource path
If we have a resource base path for the application, set up an icon
theme search path based on it (within the default icon theme).

https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 14:46:27 -04:00
Ryan Lortie
868ee07f49 GtkApplication: use resources for loading menus
Use the new ::resource-base-path property on #GApplication to attempt to
load the menu layout of the application.

We look first at gtk/menus-appmenu.ui or gtk/menus-traditional.ui
depending on the setting of gtk_application_prefers_app_menu().  Failing
that, we fall back to the common case of gtk/menus.ui (which should
always be given).  This provides a convenient way for application
authors to provide a different set of menus, depending on the desktop
environment they find themselves in.

As is the intention with other resources, if the resource base path is
unset, nothing will be loaded.  Additionally, if the expected files are not
found, it is not an error -- just nothing happens.

https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 14:46:27 -04:00
Matthias Clasen
59f3211b61 widget-factory: Add reorderable treeview columns 2014-07-07 14:35:33 -04:00
Lapo Calamandrei
a6410c65f9 Adwaita: fix selection mode toolbar
Selection menu button still needs fixing
2014-07-07 20:33:19 +02:00
Piotr Drąg
3c04313e69 Updated POTFILES.skip 2014-07-07 20:10:10 +02:00
Piotr Drąg
5725119a10 Updated POTFILES.in and POTFILES.skip 2014-07-07 20:08:48 +02:00
Benjamin Otte
a1bae4b389 reftests: Add a reftest for 'animation-direction'
It tests the latest two commits.
2014-07-07 20:06:47 +02:00
Benjamin Otte
80db4f9ce7 cssanimation: Fix animation-direction handling
"alternate" was behaving as "alternate-reverse" and vice versa.
2014-07-07 20:06:40 +02:00
Benjamin Otte
b6aecca71c css: Fix animation-direction parsing
We were parsig "alternate-reverse" as "alternate" and then complaining
about the "-reverse" junk at the end of the value.
2014-07-07 20:06:40 +02:00
Benjamin Otte
cb1ac0c056 clipboard: Fix compiler warning
Cast the type.
2014-07-07 20:06:40 +02:00
Benjamin Otte
2fde5e95ee textview: Fix compiler warning
No need to use braces anymore.
2014-07-07 20:06:39 +02:00
Lapo Calamandrei
e2af4853fc Adwaita: non csd message dialog and entry shadow fix
Made the non csd message dialog more similar to the csd one (to
match the csd one we need mutter theme changes), little shadow fix
for entry.
2014-07-07 19:53:57 +02:00
Ryan Lortie
b40672f145 bloatpad: use resources
https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 13:37:38 -04:00
Ryan Lortie
4d8b2af13a bloatpad: move into private subdir
Move bloatpad to ./examples/bp/ so that we can start treating it as more of a
"normal" app instead of just jamming everything into a single .c file.

We don't use the name "bloatpad" for the directory in order not to
create 'git pull' pain with the probably-already-existing executable of
the same name.

https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 13:37:38 -04:00
Lapo Calamandrei
e86f409f32 Adwaita: csd message dialog fixes.
Lighter shadow like popovers and bigger radius then buttons on
the background to avoid antialiasing artifacts.
2014-07-07 17:56:29 +02:00
Lapo Calamandrei
4422e27662 Adwaita: .grid-child 2px padding 2014-07-07 17:44:01 +02:00
Lapo Calamandrei
607bac7c69 Adwaita: entry shadows work.
For the transition to work the box-shadows types in the shadow list
needs to be matched in various states so I'm using transparent shadows
istead of resetting them when not needed.
2014-07-07 17:27:57 +02:00
Yuri Myasoedov
7c1f43f124 Updated Russian translation 2014-07-07 17:05:35 +04:00
Lapo Calamandrei
f12edc2d89 Adwaita: minor sass changes.
Made _button_border_color($c) mixin in _button_border($c) fuction.
2014-07-07 15:04:22 +02:00
Benjamin Otte
0b2198a26b testsuite: Add parser test for recent fix
The test doesn't crash without the fix, but it parses the CSS
incorrectly and fails.
2014-07-07 14:26:06 +02:00
Benjamin Otte
871d782e74 css: Don't special-case fill-mode in 'animation'
I have no idea why it was special cased when parsing the 'animation'
shorthand, but it caused crashes.

So remove the special case.
2014-07-07 14:26:05 +02:00
Lapo Calamandrei
b02837b2c2 Adwaita: style .subtitle like .dim-label 2014-07-07 14:17:51 +02:00
Lapo Calamandrei
fdd347a85a Adwaita: use opacity on dim-labels istead of a hack 2014-07-07 14:04:37 +02:00
Lapo Calamandrei
869d0f3d2f Adwaita: .dim-label 2014-07-07 13:30:53 +02:00
Jakub Steiner
0a0ae97d3c Adwaita: flat OSD style 2014-07-07 13:26:09 +02:00
Lapo Calamandrei
d96bdc357c Adwaita: fix combos and buttons padding issues.
For some strage reason (bug?) combobox buttons needs -2px vertical padding
wrt buttons to have the same size as buttons.
2014-07-07 11:47:30 +02:00
Matthias Clasen
3939e3ffcc widget-factory: Fill out settings dialog
This gives an opportunity to use the dim-label style class.
2014-07-06 23:10:44 -04:00
Matthias Clasen
a19bc50f64 GtkWindow: Elaborate the keybindings
Keep Ctrol-Shift-D as a straight toggle-the-inspector keybinding,
but make Ctrl-Shift-I always bring up the inspector, and point
it at the widget under the pointer.
2014-07-06 22:37:57 -04:00
Matthias Clasen
b0390a3349 GtkInspector: Add a function to select the widget under the pointer 2014-07-06 22:37:57 -04:00
Matthias Clasen
2a053cc6c3 GtkInspector: Add a style tab
This tab shows css properties of a widget, and their origin.
2014-07-06 22:37:57 -04:00
Matthias Clasen
2952739593 GtkCssProvider: Allow to enable debug at runtime
Add a private function that lets us decide at runtime whether to
keep css section information around - this will be useful in the
GtkInspector.
2014-07-06 22:37:57 -04:00
Matthias Clasen
b25b33f79f Drop a leftover declaration
This was left behind when resize grips were removed.
2014-07-06 22:37:57 -04:00
Matthias Clasen
a56a61d9cc Trivial rearrangement 2014-07-06 22:37:57 -04:00
Matthias Clasen
2a7bd3a2da widget-factory: Avoid a crash on exit 2014-07-06 22:37:56 -04:00
Aurimas Černius
80bd35c268 Updated Lithuanian translation 2014-07-05 22:47:04 +03:00
Lapo Calamandrei
f99f52ff4a Adwaita: message dialog, destructive and suggested action buttons.
...and generic linked destructive and suggested action button fix.
2014-07-05 18:18:44 +02:00
Lapo Calamandrei
d648a2c7ac Adwaita: proper message dialog style.
Rounded bottom border added, custom style for csd versione only
[read: non csd version looks right now].
2014-07-05 16:30:43 +02:00
Yuri Myasoedov
8846f34094 Updated Russian translation 2014-07-05 11:10:02 +04:00
Matthias Clasen
9d527c83aa GtkHeaderBar: Use defines for style classes 2014-07-04 19:06:08 -04:00
Matthias Clasen
8328cfac92 Add defines for title style classes 2014-07-04 18:53:33 -04:00
Matthias Clasen
079e08f92d widget-factory: Add some mnemonics 2014-07-04 16:49:55 -04:00
Matthias Clasen
58f27de927 widget-factory: Unset needs-attention too
This is not done automatically, so unset needs-attention when
the page becomes current.
2014-07-04 16:27:11 -04:00
Matthias Clasen
5e5ecbbf81 widget-factory: show off needs-attention stack pages
When clicking 'Action' in the 'Act' dialog, we mark the third
page as needing attention a second later. This unveils that we
currently don't have any theming for needs-attention in Adwaita.
2014-07-04 15:46:47 -04:00
Matthias Clasen
a159635020 GdkScreen: Set reasonable limis for ::resolution
Otherwise, the spinbutton in the inspectors property editor
explodes in order to make room for MAXDOUBLE.
2014-07-04 02:01:53 -04:00
Matthias Clasen
d9e475ed6a GtkScaleButton: Try harder not to pop over
When the popover does fit in the window, change the orientation
to make it fit.
2014-07-04 01:20:24 -04:00
Matthias Clasen
689a364ec5 Drop has-resize-grip from the notify test
The setter is not doing anything, so we won't get notification.
2014-07-03 15:24:58 -04:00
Matthias Clasen
b5958d677f GtkWindow: Update default for has-default-grip
It is now FALSE.
2014-07-03 15:23:34 -04:00
Matthias Clasen
6feab4f257 disable runtime warnings in the defaultvalue test
This test operates generically on all properties, so warning
about deprecated properties does not make sense here.
2014-07-03 15:22:39 -04:00
Jasper St. Pierre
f4b212abd4 wayland: Add some dumb support for the TARGETS selection
The way that GtkTextView et al pop up their context menu is to first
query to see if the clipboard has some text, and if so, enable the Paste
menu item. But since the Wayland backend hasn't had the greatest
selection and clipboard code, the callback for the clipboard got dropped
on the floor.

Add some simple code to respond to the TARGETS selection.

This makes right-clicking on a GtkTextView work fine.
2014-07-03 13:29:14 -04:00
Jasper St. Pierre
ece9ae4bc5 gtkwindow: Remove resize grips
Resize grips were introduced for GNOME 3.0, before we had any of the
"new GNOME app" features like invisible borders and CSD. With OS X 10.6
and 10.7, Apple has replaced the classic grips in their applications
with invisible borders as well.

New GNOME app designs don't use resize grips anymore and the new
default theme for GTK+, Adwaita, disables them entirely by forcing their
width and height to 0.

They're past their time. Remove the code to support them. This can
always be reverted if some app relies on them.
2014-07-03 12:58:41 -04:00
Jasper St. Pierre
b5eddb0aa1 gdkwindow: Don't queue a redraw when calling gdk_window_raise with no effect
The resize grip code in GTK+ likes to call gdk_window_raise a lot. The
unfortunate side effect of gdk_window_raise is that it queues an
invalidation on the entire window, even if it's already the topmost
child.

Add a return value to gdk_window_raise_internal, and only queue the
invalidation if the raise had an effect.
2014-07-03 11:54:27 -04:00
Jasper St. Pierre
ec140a8f07 gdkwindow: Apply the 0x0 size bump to 1x1 before checking for the bail
Otherwise, a user that calls gdk_window_resize (window, 0, 0); over and
over won't properly fizzle out, and will queue a redraw. Clipped, but
still. These redraws can be chatty on some platforms like Wayland, and
there's no good reason to not avoid them.

This was the case for resize grips.
2014-07-03 11:51:54 -04:00
Jasper St. Pierre
ed273e7518 gtkwindow: Fix compile warnings 2014-07-03 10:55:31 -04:00
Sébastien Wilmet
03b4c82f77 docs: make GtkWidget:margin-start and margin-end clearer
margin-start and margin-end have been added for RTL support, see:
https://bugzilla.gnome.org/show_bug.cgi?id=710238

So those properties are used only for the horizontal direction: left or
right, not top or bottom.

https://bugzilla.gnome.org/show_bug.cgi?id=732681
2014-07-03 14:50:22 +02:00
Matthias Clasen
196b9f8eea GtkSettings: fully undeprecate blink settings
We decided in f8412eca34 that
we still need to react to these for a11y reasons, but left
the (then) harmless property deprecation in place. Now, the
deprecation causes runtime warnings for merely reading the
property, so drop it.

https://bugzilla.gnome.org/show_bug.cgi?id=732667
2014-07-03 08:35:34 -04:00
Sébastien Wilmet
52efbb11ec doc: trivial fix 2014-07-03 14:15:10 +02:00
Matthias Clasen
1e205dcb05 win32: fix the build
A recent cleanup gone wrong,
https://bugzilla.gnome.org/show_bug.cgi?id=732454
2014-07-03 08:13:29 -04:00
Lapo Calamandrei
7fa294038b Adwaita: some more notebook work...
...to try to make tab with close buttons to look better.
2014-07-03 13:19:11 +02:00
Jakub Steiner
8665f197d6 Adwaita: selection-mode selection-menu flat by default 2014-07-03 12:38:17 +02:00
Lapo Calamandrei
9044bf5328 Adwaita: style entry.warning and entry.error
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724084
2014-07-03 12:29:25 +02:00
Lapo Calamandrei
d043125800 Adwaita: sidebar scrollbar fix.
.scrollbars-junction borders were removed by setting border-stylei: none,
it interacted (why?) with the scrollbars on sidebar, making the border
transparent seems not to have side effects there.
2014-07-03 11:01:31 +02:00
Lapo Calamandrei
c541e47c5e Adwaita: style progressbars in treeview cells.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732298
2014-07-03 10:30:14 +02:00
Lapo Calamandrei
e7a3dceb57 Adwaita: add transition to non flat popover buttons. 2014-07-03 09:31:51 +02:00
Matthias Clasen
f64b6b3479 widget-factory: Expand the treeview example a bit
Show resizable, sortable and ellipsizable columns.
2014-07-02 23:55:20 -04:00
Matthias Clasen
b369719bcd inspector: Handle the dialog more carefully
When showing and hiding the inspector window repeatedly without
dismissing the dialog, we were hiding the inspector, but not
the dialog, leading to a confusing user experience.

https://bugzilla.gnome.org/show_bug.cgi?id=732443
2014-07-02 22:52:10 -04:00
Matthias Clasen
b0a7a6b042 GtkRange: Animate scrollbar jumps 2014-07-02 20:58:16 -04:00
Matthias Clasen
e31056f9b3 GtkListBox: Animate keybindings 2014-07-02 20:58:16 -04:00
Matthias Clasen
d331c949d6 GtkIconView: Animate keybindings 2014-07-02 20:58:16 -04:00
Matthias Clasen
ef40f54e31 GtkTreeView: Animate keybindings 2014-07-02 20:58:16 -04:00
Matthias Clasen
b04e3835cb GtkTextView: Animate keybindings 2014-07-02 20:58:16 -04:00
Matthias Clasen
939fbc43e1 GtkScrolledWindow: Animate the scroll-child keybinding 2014-07-02 20:58:16 -04:00
Matthias Clasen
36453a8a6b GktAdjustment: Add explicit api for animated setting
Making all set_value calls animated has side-effects, so
we need to be more selective.
2014-07-02 20:58:15 -04:00
Ryan Lortie
d3b34d3cf2 Add gtk_application_prefers_app_menu()
Applications can call this to determine if they should an app menu.
This will be %FALSE on desktop environments that do not have an
application menu like the one in gnome-shell.  It is %FALSE on Windows
and Mac OS.

Applications are completely free to totally ignore this API -- it is
only provided as a hint to help applications that may be interested in
supporting non-GNOME platforms with a more native 'look and feel'.

https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-02 20:17:34 -04:00
Matthias Clasen
d8934ea233 testsuite: Adapt to changed builtin icon paths 2014-07-02 17:17:48 -04:00
Matthias Clasen
8060ac6ddd GtkModelButton: Update widget state
We were only setting the state transiently in ::draw, leading
to various drawing anomalies, such as labels not picking up
the appropriate color from BUTTON styles.
2014-07-02 15:12:46 -04:00
Benjamin Otte
43788ba936 cssimageicontheme: Handle scale factors correctly
Code didn't account for the pixbuf returned being scaled.
2014-07-02 19:48:44 +02:00
Carlos Garnacho
5fe9ebfe11 entry: Do not unset selection if failing to update the primary selection
This is expected to happen on wayland and other platforms with no primary selection,
and just leads to the selected text being cleared after any attempt to change the
text selection itself through either mouse/keyboard.
2014-07-02 18:57:39 +02:00
Carlos Garnacho
67efefde49 textbuffer: Do not unset selection if failing to update the primary selection
This is expected to happen on wayland and other platforms with no primary selection,
and just leads to the selected text being cleared after any attempt to change the
text selection itself through either mouse/keyboard.
2014-07-02 18:57:39 +02:00
Lapo Calamandrei
8116e3e7b9 Adwaita: fix Gedit style tabs color.
I also introduced a gab between tabs as in the mockups.
2014-07-02 17:52:36 +02:00
Lapo Calamandrei
6e89856cc0 Adwaita: fix popover buttons.
Unfortunatelly labels doesn't change color wrt states.

See https://bugzilla.gnome.org/show_bug.cgi?id=732494
2014-07-02 17:27:12 +02:00
Lapo Calamandrei
f2972f13dd Adwaita: proper backdrop state for gtkcalendar header 2014-07-02 15:45:43 +02:00
Matthias Clasen
10892863d5 GtkDialog: fix invisible action area
When there area explicitly added buttons in the action area,
we were trying to ensure that the action area is visible,
but failed, since we are now hiding the action_box. Fix it
by showing the action_box when things are left in the action
area.
2014-07-02 00:33:46 -04:00
Jasper St. Pierre
cd591a03e7 wayland: Make sure to notify the capability settings when we get capabilities
Otherwise, we won't notice when we get capabilities, and we'll show app
menus, etc.
2014-07-01 15:39:06 -04:00
Matej Urbančič
6a1aec336a Updated Slovenian translation 2014-07-01 19:55:47 +02:00
Jakub Steiner
c9152d2a71 Adwaita: transition :active buttons faster than the other states
https://bugzilla.gnome.org/show_bug.cgi?id=732134
2014-07-01 17:46:24 +02:00
Jakub Steiner
5e25bbb2ae Adwaita: no border-right on treeview-derived widgets
I fear to be opening a can of worms, but it does seem like
something the system theme should deal with.

https://bugzilla.gnome.org/show_bug.cgi?id=731463
2014-07-01 15:42:32 +02:00
Jakub Steiner
dfb4757f54 improve Calendar styling
slightly

https://bugzilla.gnome.org/show_bug.cgi?id=729620
2014-07-01 14:22:54 +02:00
Nikita Churaev
fa90b41fe4 Remove separators from GtkFileChooserButton and GtkFontButton
https://bugzilla.gnome.org/show_bug.cgi?id=722633
2014-07-01 13:02:43 +02:00
Chun-wei Fan
b238d55645 Fix "Installation" for Visual Studio 2010+
We need to enclose paths containing $(BinDir) with double quotes as it
points to something like c:\foo\gtk+-x.yy.zz, which the copy command on
Windows does not like "+" in paths unless enclosed in quotes.
2014-07-01 16:41:41 +08:00
Chun-wei Fan
e3f8b87741 Build: Provide Simple Support for MSVC 2012/2013
As the Visual Studio 2012/2013 are only slightly different from the Visual
Studio 2010 projects, we can provide support for them by using scripts to
copy the Visual Studio 2010 projects, and update the specific parts as
necessary.

Thus, there would be little maintenance overhead for these as only the 2010
projects need to be kept up-to-date as a result.  This might change when we
do get the stack working with WinRT/Metro, but that's going to be another
totally different issue.
2014-07-01 16:17:43 +08:00
Chun-wei Fan
dd9b34d753 Revert "Visual Studio Builds: "Install" the Stock Icons"
The stock icons are now built into the GTK+ DLL via resources, so don't
try to install the stock icons, and the icons don't reside in their former
positions anymore, causing messages indicating that the files cannot be
found.

This reverts commit 2e0ce67f8a.
2014-07-01 15:52:34 +08:00
Chun-wei Fan
ee9a6d0ace MSVC Builds: Fix Introspection Builds
Commit e26bdbda only partially made the necessary changes due to the use of
the deprecated headers in GDK.  Fix that.
2014-07-01 13:26:18 +08:00
Chun-wei Fan
9822891e48 MSVC Builds: Clean up Introspection Builds
Since g-i 1.40.0 we are using the .lib file(s) to determine the DLL(s) that
the introspection files should look for, instead of directly using the
DLL(s) directly, so it is no longer necessary to make copies of the GDK
.lib file to match the <namespace-name>-<namespace-version> convention when
we are building the introspection files for GdkWin32.  Remove that from the
introspection build process as a result.
2014-07-01 13:15:51 +08:00
Gergely POLONKAI
0d4dca5ecb Typo fix in GTK+ common questions
https://bugzilla.gnome.org/show_bug.cgi?id=732433
2014-06-30 22:23:00 -04:00
Matthias Clasen
2f5dbc655c GtkMessageDialog: Add back the empty csd title
We don't set use-header-bar for message dialogs, since we
want the buttons in the action area, but we do want a nice
rounded csd titlebar. Add back the box that was used before
to achieve this, when appropriate.
2014-06-30 21:51:19 -04:00
Matthias Clasen
120d1f8983 GtkDialog: Don't use csd when use-header-bar is FALSE
https://bugzilla.gnome.org/show_bug.cgi?id=730893
2014-06-30 21:44:40 -04:00
Lars Uebernickel
b6c4865ff8 gtkaboutdialog: support showing buttons in action area
Give GtkAboutDialog buttons in the action area instead of hard-coding
use-header-bar to TRUE. This is for environments which don't have the
Gtk/DialogsUseHeader xsetting turned on.

https://bugzilla.gnome.org/show_bug.cgi?id=730893
2014-06-30 19:07:56 -04:00
Matthias Clasen
bb6f406f13 inspector: Use a better icon on the css classes tab 2014-06-30 18:51:39 -04:00
Matthias Clasen
3dcd0a24b1 GtkScrolledWindow: Enable animated scrolling
We use gtk_adjustment_enable_animation to enable animated
updates of the adjustments. Currently, this is enabled
unconditionally, and with a duration that is hardcoded.

https://bugzilla.gnome.org/show_bug.cgi?id=732376
2014-06-30 18:41:20 -04:00
Matthias Clasen
a090f58922 GtkAdjustment: Animated updates
Add a private API that lets widget opt-in to animated updates of
the adjustment value. When enabled, all calls to
gtk_adjustment_set_value will smoothly transition from the old
value to the new value, using a fixed easing function and a
configurable duration. The animation is tied to the frame clock
of the widget.

By implementing this in GtkAdjustment, we can enable animation
for both scrollbars and keybindings, which are often implemented
in the child widget of the scrolled window.

https://bugzilla.gnome.org/show_bug.cgi?id=732376
2014-06-30 18:09:50 -04:00
Matthias Clasen
5a548106b0 Deprecate gtk_icon_theme_add_builtin_icon
Builtin icons are deprecated in favor of loading icons
from resource paths.
2014-06-30 17:17:49 -04:00
Matthias Clasen
e9ac1bb476 Make gtk_icon_theme_add_resource_path public API
This makes it possible to look up icons in resources using
the icon theme api, and should be used as a replacement
for installing icons below $pkgdatadir/icons and adding
that location to the search path.
2014-06-30 17:13:04 -04:00
Matthias Clasen
f6da4efd47 GtkIconTheme: Allow unthemed icons from resource paths
This makes it pretty straightforward to add individual icons
that don't need to be present in multiple sizes.
2014-06-30 17:02:41 -04:00
Matthias Clasen
c2a22feb27 Drop an extra dir from builtin icons
Make icon lookup from resources work without the extra hicolor
component in the path. It is redundant, since we always treat
builtin icons as part of hicolor anyway.
2014-06-30 16:23:28 -04:00
Matthias Clasen
c28d938a24 GtkIconTheme: Only look at resources for hicolor
We want to treat icons coming from resources as builtins that
are looked at as part of Hicolor.
2014-06-30 16:03:03 -04:00
Matthias Clasen
f7fbeb40c7 GtkIconTheme: Drop an unused parameter
We're always passing FALSE for scale_only, so why bother.
2014-06-30 16:00:05 -04:00
Matthias Clasen
bec3aa54e4 Treat unthemed icons the same as force_size for scaling
This is closer to what we were doing in the past.
2014-06-30 15:57:16 -04:00
Matthias Clasen
d800203b88 gtk-demo: Only show non-symbolic icons in toolpalette
Otherwise, we get every icon twice. To switch between symbolic
and non-symbolic icons, this css fragment comes in handy:
* { -gtk-icon-style: symbolic; }
2014-06-30 13:28:46 -04:00
Matthias Clasen
eaa3329cde widget-factory: Use a standard icon name
Using edit-find instead of search has the advantage that there
is a symbolic variant of the icon.
2014-06-30 13:24:28 -04:00
Matthias Clasen
bd2cf65cb9 Adwaita: Make selectable labels work
This brings back white-on-blue selection in selectable labels.
https://bugzilla.gnome.org/show_bug.cgi?id=732441
2014-06-30 11:39:19 -04:00
Chun-wei Fan
abc1a0a65d build/win32/vs10/gtk.vcxprojin: Remove References to gtka11y
...so that Visual Studio will not warn about a reference that no longer
exists.
2014-06-30 18:00:26 +08:00
Jasper St. Pierre
fe5402d32e gtkcellrendereraccel: Use a GtkInvisible to grab on
Grabbing on a non-toplevel might not do what we want it to do, since it
will go on the focused widget, not the grabbed widget. Since we don't
focus the widget before clicking on it, that means that putting the
focus somewhere else and then clicking on the accelerator editor will
freeze the app. Additionally, since it's a global system grab that can't
be exited except by a key press that we won't ever get, it effectively
locks up your system as well unless you know how to break the grab or
kill the app. Ouch.

Since doing a device grab on a non-toplevel is generally considered a
bad idea, just don't do it. Use a GtkInvisible and take a grab on that
instead.
2014-06-29 20:56:40 -04:00
Jasper St. Pierre
5740434137 gdkwindow: Fix an accidental code out-of-ordering
There's no semantics change, it just makes things clearer.
2014-06-29 20:27:45 -04:00
Matthias Clasen
9f008e3477 GtkStyleContext: Avoid over-eager animation cancellation
When validating the style context, we are copying the animations
from one StyleValues instance to another, and cancel the old ones.
It turns out that sometimes the old and the new StyleValues are
the same, and in this case, we end up cancelling the animations
for good.

One case where breakage from this was observed is that the spinners
in gtk3-widget-factory stop spinning when you open and close a modal
dialog on page 2. This depends a bit on the window manager; the problem
can only be seen if opening the dialog causes a transition to backdrop.
2014-06-29 19:41:11 -04:00
Jasper St. Pierre
3d53e5d9c7 gtkmain: One more combine 2014-06-29 19:10:42 -04:00
Jasper St. Pierre
e95efbfc42 gtkmain: Combine two switch cases that are the same 2014-06-29 19:10:42 -04:00
Jasper St. Pierre
fc75f459b0 gtkswitch: Fix docs 2014-06-29 19:10:42 -04:00
Jasper St. Pierre
c84b49e332 gtkcellarea: Fix docs 2014-06-29 19:10:42 -04:00
Jasper St. Pierre
8fb2bdb2fb gdkdevicemanager-xi2: Add debug output for key events 2014-06-29 19:10:42 -04:00
Jasper St. Pierre
de5cba4fc9 gdkdevicemanager-xi2: Fix debug outputs for button events
We had the arguments in the wrong order here.
2014-06-29 19:10:41 -04:00
Benjamin Otte
62c6ef5a29 tests: Remove tests for icontheme properties
These properties have been removed and always return %NULL, so no need
to keep them.
2014-06-30 01:08:02 +02:00
Matthias Clasen
297abd6e54 testdialog: Add a spinner
Trying to track down a problem where animation stops when a modal
dialog is opened and closed.
2014-06-29 14:03:52 -04:00
Matthias Clasen
b3b861c9d6 widget-factory: Plug a memory leak 2014-06-28 23:27:36 -04:00
Matthias Clasen
c304a84f2c GtkBuilder: Fix more GMenu leaks in the parser 2014-06-28 23:19:09 -04:00
Matthias Clasen
6f0951845f GtkMenuTrackerItem: Plug a memory leak
gtk_menu_tracker_get_[verb_]icon both return a reference,
so don't use g_value_set_object, which adds another one.
2014-06-28 22:39:43 -04:00
Matthias Clasen
d143919527 GtkCssImageIconName: Plug a memory leak
valgrind was complaining that we're not freeing the icon_name.
2014-06-28 22:39:02 -04:00
Matthias Clasen
8e0ba5bb3e GtkColorEditor: Initialize the allocation x/y 2014-06-28 22:38:13 -04:00
Matthias Clasen
0b88b869e6 GtkActionMuxer: Plug a memory leak
valgrind complained that we leak the primary_accels table.
2014-06-28 22:37:14 -04:00
Matthias Clasen
4067d0623f Revert "scrolledwindow: fix scrolling with shared adjustment"
This reverts commit f0478c3dfd.
Didn't mean to push this.
2014-06-28 22:29:57 -04:00
Matthias Clasen
31e4ec4632 GtkFileChooserWidget: Remove an errant line
This was leaking a schema object, and looks like a bad merge.
2014-06-28 21:38:47 -04:00
Matthias Clasen
7d67206734 GtkBuilder: Don't leak a reference to constructed GMenus
_gtk_builder_add_object adds a reference, so we need to drop
our initial one.
2014-06-28 20:21:32 -04:00
Matthias Clasen
70bfb02fde GtkGesture: Don't leak the group link
Found in a valgrind log.
2014-06-28 20:15:12 -04:00
Matthias Clasen
18126121a4 widget-factory: Small cleanup
Use gtk_builder_new_from_resource and get rid of an unneeded GError.
2014-06-28 16:22:43 -04:00
Matthias Clasen
7074776a04 widget-factory: Make the entry progress stop as well 2014-06-28 16:19:33 -04:00
Matthias Clasen
ef0e164a4c GtkEntry: Make progress pulsing smooth
This changes the calculation of activity mode progress in the
same way as was done in GtkProgressBar a while ago, and make it
smooth, using a tick callback.
2014-06-28 15:51:33 -04:00
Matthias Clasen
3c40082316 widget-factory: Make the entry progress variable too
Make the scale that currently controls the speed of the progressbar
control the progress speed in the entry as well.
2014-06-28 15:23:29 -04:00
Stefan Sauer
f0478c3dfd scrolledwindow: fix scrolling with shared adjustment
The GtkPolicyType set on the scrollbar is just about the presentation. What
matters for scrolling is the adjustment.

https://bugzilla.gnome.org/show_bug.cgi?id=730730
2014-06-28 11:49:54 -04:00
Matthias Clasen
c389fc64f7 widget-factory: Add an icon view
We didn't have one before, and this gives us a chance to show off
rubberbanding and symbolic icon rendering.
2014-06-28 11:37:29 -04:00
Matthias Clasen
3da76c1e14 Disable deprecation warnings for installed reftests
Otherwise, these fail in continuous.
2014-06-28 11:13:17 -04:00
Matthias Clasen
76eed98b36 widget-factory: Enable alpha in the color button
This lets us verify that the theme treats the alpha scale fairly.
2014-06-28 11:12:23 -04:00
Matthias Clasen
6119f66401 notification test: Always disable runtime deprecation warnings
These are just not useful in a test that generically deals with
all properties.
2014-06-28 10:59:41 -04:00
Matthias Clasen
f1c1192e71 Exclude GtkToggleButton::draw-indicator from the notification test
We reverted to emitting redundant notifications for this, so
don't assert that we don't.
2014-06-28 10:58:24 -04:00
Matthias Clasen
733a590fbe GtkButton: warn slightly less
Use gtk_misc_set_alignment when setting x/align on button children
where possible, to avoid the runtime warning that g_object_set
incurs nowadays.
2014-06-28 10:56:54 -04:00
Lapo Calamandrei
4287e44a9a Adwaita: minor code refactoring 2014-06-28 15:22:23 +02:00
Lapo Calamandrei
0fd3ec80db Adwaita: button work
- finally fixed +|- buttons on inline toolbars
- commented out :focus and :selected for normal buttons since it makes
  flat buttons background blue...
2014-06-28 15:05:06 +02:00
Bastien Nocera
d454d986d9 docs: Sort GDK_DEBUG values alphabetically
https://bugzilla.gnome.org/show_bug.cgi?id=732330
2014-06-28 12:17:04 +02:00
Bastien Nocera
7c88f19c74 docs: Sort GDK_DEBUG values alphabetically
https://bugzilla.gnome.org/show_bug.cgi?id=732330
2014-06-28 12:17:04 +02:00
Matthias Clasen
cc8ee01ff6 Avoid a redundant strlen
The GString knows perfectly well how long it is.  Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=731158
2014-06-28 01:51:24 -04:00
Matthias Clasen
fda53e5529 Adwaita: Neuter frames in statusbars
Too much.
2014-06-28 01:34:25 -04:00
Matthias Clasen
c4e533ecd6 Fight deprecation warnings in test
This time, in installed tests.
2014-06-28 00:41:26 -04:00
Saurabh
931958f9f4 Adding 'no-matches' signal support to gtkentrycompletion
Add a new 'no-matches' signal and add a function pointer to gtkentrycompletionclass
and remove one from the padding at the end.

https://bugzilla.gnome.org/show_bug.cgi?id=726566
2014-06-28 00:41:09 -04:00
William Jon McCann
aa30278e6b Allow activating an item after single click on a different item
We were ignoring double click events when a different item was
previously selected.

https://bugzilla.gnome.org/show_bug.cgi?id=484640
2014-06-28 00:23:02 -04:00
Matthias Clasen
3f7318432c GtkPrintUnixDialog: Set a higher limit for the number of copies
As requested in bug 672676.
2014-06-28 00:20:19 -04:00
Emilio Pozuelo Monfort
6de2c7fa0e wayland: don't change the cursor if there is no pointer
https://bugzilla.gnome.org/show_bug.cgi?id=732206
2014-06-28 00:12:20 -04:00
Jasper St. Pierre
2651b99a13 colorplane: Don't connect to the configure-event signal
We want to stop people from using configure events
entirely. GtkDrawingArea synthesizes a configure event, but we can just
make the only user of this functionality stop it, and correct the
documentation to not mention it.
2014-06-28 00:10:42 -04:00
Matthias Clasen
691dd83580 Improve popover menu spacing
Make iconic buttons have a more reasonable height, and add some
space above an iconic row.
https://bugzilla.gnome.org/show_bug.cgi?id=732229
2014-06-28 00:00:16 -04:00
Matthias Clasen
b9941d0dde Fix a documentation copy-paste error
The color chooser doesn't deal with fonts.
2014-06-27 23:53:03 -04:00
Matthias Clasen
38e4fbc90c Revert "colorplane: Don't connect to the configure-event signal"
This reverts commit 886f58e1cf.

This made the color plane go missing.
2014-06-27 22:03:59 -04:00
Matthias Clasen
96b6b44e4e GtkMessageDialog: Don't set x/yalign explicitly
The h/valign work fine to give us what we need here, so we
can avoid the runtime deprecation warnings for deprecated
properties.
2014-06-27 21:57:25 -04:00
Matthias Clasen
ad09fbbac0 widget-factory: Stop using GtkImageMenuItem
A plain GtkMenuItem works just fine here.
2014-06-27 21:45:33 -04:00
Matthias Clasen
d7bccbe53b widget-factory: Stop using the deprecated GtkAlignment::left-padding
These alignments can just be dropped without loss.
2014-06-27 21:45:23 -04:00
Matthias Clasen
e73aa234e9 widget-factory: Don't use deprecated GtkColorButton::color
Instead, simply set the rgba property, which accepts the
same value.
2014-06-27 21:45:18 -04:00
Matthias Clasen
cac4050240 widget-factory: Drop redundant defaults from the .ui file
In particular, we drop xalign, since it is deprecated.
2014-06-27 21:40:08 -04:00
Matthias Clasen
1cd9ba187e GtkSettings: defensive defaults
Change the default value of the gtk-decoration-layout setting
to menu:minimize,maximize,close. The masses want it that way.
2014-06-27 21:29:18 -04:00
Matthias Clasen
08e5efd605 Bring back redundant notifications for GtkToggleButton::draw-indicator
GtkCheckButton sets a different initial value for this property without
actually changing the declared default, and then relies on change notification
to update other properties (such as xalign). This, combined with glades
insistance on putting default values into ui files creates a situation
where we can't remove the redundant notification for ::draw-indicator
without causing lots of checkboxes to suddenly have centered labels.
This was seen in gnome-terminal, evolution, and other applications.

Therefore, keep the extra notification for now. This can be revisited
when we clean up the button hierarchy.
2014-06-27 21:22:40 -04:00
Matthias Clasen
af507be99b inspector: Chain up in constructed
Its the right thing to do.
2014-06-27 18:44:36 -04:00
Lapo Calamandrei
8231a3c7b9 Adwaita: export the right color for the wm hilight dark var 2014-06-27 16:24:24 +02:00
Jasper St. Pierre
796dc682bc gtkwindow: Refactor out some similar code for grips 2014-06-27 09:19:50 -04:00
Jasper St. Pierre
1210b693a0 gtkwindow: Merge some similar code 2014-06-27 09:19:49 -04:00
Jasper St. Pierre
95cb816666 gtkwindow: Remove a dead chain-up
GtkWidget / GtkBin don't have configure-event handlers, so we don't need
to attempt to chain up to them.
2014-06-27 09:19:49 -04:00
Lapo Calamandrei
651328b0e4 Adwaita: remove borders from flat frames 2014-06-27 14:53:31 +02:00
Lapo Calamandrei
89f2a48bb1 Adwaita: remove borders from scrollbars junction 2014-06-27 14:47:29 +02:00
Lapo Calamandrei
8b1e52cbd6 Adwaita: initial flat entry styling. 2014-06-27 14:24:53 +02:00
Lapo Calamandrei
6e7e1ebf46 Adwaita: .flat button styling 2014-06-27 13:15:54 +02:00
Matthias Clasen
ec7200797e GtkFrame: Use style classes for shadow
Use the FLAT style class when shadow is set to none, and
let the theme render the appropriate border.
https://bugzilla.gnome.org/show_bug.cgi?id=732256
2014-06-26 22:02:19 -04:00
Matthias Clasen
17679c168a GtkEntry: Make has-frame use style classes
Instead of code that internally does weird things, use the FLAT style
class if has-frame is FALSE and remove it otherwise.
Based on a patch by Benjamin Otte.
https://bugzilla.gnome.org/show_bug.cgi?id=732256

fixup entry
2014-06-26 22:02:19 -04:00
Matthias Clasen
598777166f GtkButton: Use FLAT style class
This commit makes button always draw background and frame.
Buttons with relief none get a new style class, FLAT, which
allows themes to style these buttons as they like.

We also (finally) mark GTK_RELIEF_HALF as deprecated. It
has never done anything different from GTK_RELIEF_NORMAL.

https://bugzilla.gnome.org/show_bug.cgi?id=732256
2014-06-26 22:02:18 -04:00
Matthias Clasen
e6341a0b63 Add a FLAT style class
This will be used for frame-less buttons and frames in the future.
2014-06-26 22:02:08 -04:00
Matthias Clasen
3bd2705b7a GtkScrolledWindow: Use style classes for shadow
Translate shadow != None into the FRAME style class.
This doesn't change the style classes used for drawing,
it only sets the style class permanently instead of
saving and restoring in draw().
https://bugzilla.gnome.org/show_bug.cgi?id=732256
2014-06-26 21:56:21 -04:00
Matthias Clasen
dbeb0c9ca8 GtkViewport: Use style classes for shadow
Translate shadow != None into the FRAME style class.
This doesn't change the style classes used for drawing,
it only sets the style class permanently instead of
saving and restoring in draw().
https://bugzilla.gnome.org/show_bug.cgi?id=732256
2014-06-26 21:56:20 -04:00
Jasper St. Pierre
9c37b3de74 gtk: Don't use GObjectClass.constructor
Use the newer constructed instead, which has a fast path in GObject.
2014-06-26 19:06:43 -04:00
Matthias Clasen
66492678b5 Flip GTK_STOCK_CLEAR icon in rtl locales
Adwaita now includes an edit-clear-rtl variant, so lets use it.
2014-06-26 18:02:05 -04:00
Jasper St. Pierre
75e770bc50 gtkwindow: Remove a dumb invalidate_rect from our configure_event
We shouldn't invalidate the entire window when we receive a
ConfigureNotify. That's just broken.
2014-06-26 15:58:45 -04:00
Jasper St. Pierre
46e7f7f456 gtkwindow: Remove a vestigal line of painting for OR windows
Since we have a paint clock, we shouldn't be sending out EXPOSE events
for OR windows inside the ALLOCATE cycle. The idea here was that we
would have to wait for a map to get an OR window to paint to, but since
then this has been abstracted away inside GDK and the paint clock.
2014-06-26 15:58:45 -04:00
Jasper St. Pierre
35f618e71d gtkwindow: Remove an unnecessary set of grip setting
We already update the grip position in _gtk_window_set_allocation, which
is done through the size_allocate above. Receiving a ConfigureNotify
also won't ever change a grip's visibility, so there's no point in
refreshing it.
2014-06-26 15:58:45 -04:00
Jasper St. Pierre
6926821ae1 treeview: Remove configure-event handler as well 2014-06-26 15:58:44 -04:00
Jasper St. Pierre
886f58e1cf colorplane: Don't connect to the configure-event signal
We want to stop people from using configure events
entirely. GtkDrawingArea synthesizes a configure event, but we can just
make the only user of this functionality stop it, and correct the
documentation to not mention it.
2014-06-26 15:58:44 -04:00
Emmanuele Bassi
5b571ff4b6 docs: Show examples of how to use templates API
The template documentation is lacking inlined examples on how to use the
templates API, like binding children and callbacks. This makes looking
for best practices a bit harder than it ought to be, for a feature this
useful.
2014-06-26 19:29:06 +01:00
Jasper St. Pierre
6325e4a037 gtkwindow: Force CSD on Wayland
We rely on CSD here on the Wayland platform and giving the opportunity
to turn it off doesn't make too much sense.
2014-06-26 10:32:10 -04:00
Rico Tzschichholz
aab74adbce icon-browser: Add iconbrowser.gresource.xml to EXTRA_DIST 2014-06-26 14:04:42 +02:00
Matthias Clasen
b9bd7159c0 Disable deprecation warnings in tests
We want to test deprecated properties, so failing the tests with
warnings is not productive.
2014-06-25 16:29:08 -04:00
Piotr Drąg
3708758fee Updated POTFILES.skip 2014-06-25 20:05:56 +02:00
Matthias Clasen
86d2315b27 icon-theme: Add another lookup order test
This tests rtl lookup order for non-symbolic icons.
2014-06-25 13:53:30 -04:00
Matthias Clasen
c1d8ba930b icon-browser: drop icons that were removed from Adwaita
These non-standard icons were dropped from Adwaita. Eventually,
the icon-browser code should be changed to show all standard
icons + whatever is actually in the icon theme, instead of
hardcoding a list of non-standard names.
2014-06-25 12:44:20 -04:00
Carlos Garnacho
80d6735ffc gesture: Consume the event triggering ::begin if reset within the handler
If the event triggers GtkGesture::begin, and the handler ends up resetting
the gesture (say, due to taking a grab somewhere else within the handler),
still take the event as "managed", as it actually triggered recognition,
even if just to end abruptly.

https://bugzilla.gnome.org/show_bug.cgi?id=731711
2014-06-25 18:36:44 +02:00
Matthias Clasen
fa4301c63e icon-browser: fix a typo 2014-06-25 06:50:39 -04:00
Matthias Clasen
d46f165636 icon browser: drop an misnamed icon
small-progress was just my local test icon for scaling of spinners.
2014-06-24 22:24:46 -04:00
Matthias Clasen
a5f474bc66 Add an icon browser
This is meant to help app authors choose the right icons.
2014-06-24 21:58:40 -04:00
Richard Hughes
12e389dd3c Makefile: Actually dist the high-contrast and dark test files 2014-06-24 21:18:46 +01:00
Lapo Calamandrei
2aed2cddd5 Adwaita: add inconsistent hover check/radios 2014-06-24 20:17:38 +02:00
Matthias Clasen
64b3884e98 Another forgotten file 2014-06-24 13:30:33 -04:00
Matthias Clasen
18aa240267 Forgotten file 2014-06-24 13:23:29 -04:00
Matthias Clasen
d09c458ced GtkButton: Queue a redraw on enter/leave
We currently getting a redraw for buttons, but that is just luck.
Better to make it explicit.
2014-06-24 13:21:05 -04:00
Matthias Clasen
545704401e Drop standalone pixbuf-demo
The same demo is included in gtk3-demo. One copy is enough.
2014-06-24 13:12:56 -04:00
Matthias Clasen
1b3542419c GtkToggleButton: Queue a redraw on enter/leave
Without this, we don't redraw consistently for prelight state changes.
2014-06-24 13:03:47 -04:00
Matthias Clasen
5cce44c0e1 Bump version 2014-06-24 11:45:57 -04:00
Matthias Clasen
4048803dea 3.13.3 2014-06-24 08:23:21 -04:00
Matthias Clasen
ecffe56955 Avoid deprecation warnings
We know regions are deprecated, no need to warn about it here.
2014-06-24 08:23:21 -04:00
Lapo Calamandrei
739dacf12a Adwaita: set the correct indicator color for reorderable hover tabs 2014-06-24 14:04:26 +02:00
Lapo Calamandrei
7903c1d2a4 Adwaita: only side borders for reorderable tabs 2014-06-24 13:42:13 +02:00
Adam Dingle
67c3044f81 Require GLib 2.41.1 (for G_PARAM_EXPLICIT_NOTIFY) 2014-06-24 06:48:47 -04:00
Lapo Calamandrei
abe36dc9cd Adwaita: added active state to the switch slider 2014-06-24 10:38:03 +02:00
Lapo Calamandrei
3cb2bf8b8a Adwaita: comment out button separators removal
...after reading #gnome-design scrollbark, since a consensus on how to achieve
this has not been reached yet.
2014-06-24 10:28:19 +02:00
Lapo Calamandrei
793a3eab82 Adwaita: fix view check/radio selected state. 2014-06-24 10:25:49 +02:00
Lapo Calamandrei
58b2d2cd0c Adwaita: disable separators in buttons 2014-06-24 09:28:29 +02:00
Colomban Wendling
de071768ae gdkwindow: Don't leak the surface in gdk_cairo_create() 2014-06-23 21:52:57 -04:00
Matthias Clasen
7119037743 Add a test for async icon loading 2014-06-23 21:25:21 -04:00
Jasper St. Pierre
e76f41b788 gtkmain: Rearrange code
Prevent a segfault in unknown circumstances, and break the ignore
deprecations wrapper out from the if statement so that we don't
cover too much ground by accident.
2014-06-23 17:55:55 -04:00
Jasper St. Pierre
f4c2c4c667 gtkwidget: Actually mark set_double_buffered as deprecated 2014-06-23 17:53:48 -04:00
Jasper St. Pierre
24b9e91f47 Revert "gtkwidget: Widgets are now always double-buffered"
This reverts commit b875572f2a.

Apps like Abiword, gnumeric and gnome-chess, and toolkits like
ClutterGTK were all using this for various purposes, and this made them
break. Bring back this feature for now.

It still won't work under Wayland.
2014-06-23 17:50:01 -04:00
Jasper St. Pierre
984e811c16 gdkwindow: Allow calling gdk_cairo_create outside of a "paint"
Apps had quite a bit of difficulty getting used to the new rules.
While we weren't expecting anything too deadly, it seemed that
gnumeric and Abiword both used gdk_cairo_create like this.
2014-06-23 17:50:00 -04:00
Jasper St. Pierre
e67e8ebb30 gdkwindow: Remove extra arguments from process_updates_recurse_helper
These can easily be calculated inside the function.
2014-06-23 16:44:09 -04:00
Jasper St. Pierre
70fe57703b gdkwindow: Don't do some extra work
We can do an early return in some specific cases before we need to
create and clip a cairo region.
2014-06-23 16:43:32 -04:00
Jasper St. Pierre
a9759c7756 gdkwindow: Remove an unused variable 2014-06-23 16:43:15 -04:00
Jasper St. Pierre
8eb092ea14 gdkwindow: Make the precondition of gdk_window_add_damage clearer 2014-06-23 15:00:01 -04:00
Jasper St. Pierre
06cfaea553 gdkwindow: Simplify check for damaging offscreen windows
If a window both has an impl and its impl_window is of type offscreen,
that must mean that it is the offscreen window, and the impl window is
itself. We can reduce the indirection here and make it more clear.
2014-06-23 15:00:01 -04:00
Jasper St. Pierre
b99dc9eede gdkwindow: Make gdk_window_add_damage more private 2014-06-23 15:00:01 -04:00
Matthias Clasen
3d0dac0aef GtkIconTheme: Copy all fields in icon_info_dup
This functionality is only exercised by gnome-shell, currently.
Therefore, forgetting to copy a field here means an instant
gnome-shell crash :-(. More tests needed.
2014-06-23 12:20:59 -04:00
Matthias Clasen
30982b6d4e GtkIconTheme: Be more careful when warning
It sucks when printing a warning causes gnome-shell to crash,
so be more careful about icon names being NULL here.
2014-06-23 12:13:22 -04:00
Matthias Clasen
12a40cf8a6 GtkIconTheme: keep misplaced symbolics working
Recent changes made it a breaking mistake to install symbolic icons
of the wrong size into a theme directory, or into the legacy unthemed
icon location.

Since this change affects many apps, do the extra work to keep these
icons working, but emit warnings, in the hope that this will lead to
cleaning up the mess over time.
2014-06-23 08:18:42 -04:00
Matthias Clasen
fe92c4478e Move some comments around 2014-06-22 22:04:00 -04:00
Matthias Clasen
a44f01c573 Some documentation rewording 2014-06-22 16:46:11 -04:00
Matthias Clasen
fe6cd7f2a5 Adwaita: Use rtl variants of pan-end when needed
The -gtk-icontheme() function not have any automatism for
symbolic or rtl variants built-in, instead, we expect the theme
to use selectors to provide the right icon for each situation.
2014-06-22 14:12:29 -04:00
Matthias Clasen
11e394b7b5 widget-factory: Fix another icon size problem
0 is still not a valid icon size.
2014-06-22 13:32:50 -04:00
Matthias Clasen
d76785a993 win32: Drop remnants of def files
We no longer have .def files, so don't refer to them from the
win32 build machinery. Patch by Cilyan Olowen
2014-06-22 13:22:43 -04:00
Bastien Nocera
9d69ff697c placessidebar: Use symbolic name for symbolic icon
https://bugzilla.gnome.org/show_bug.cgi?id=731908
2014-06-22 12:23:52 -04:00
Matthias Clasen
4617fa7568 Docs: Reword deprecation notes
Mainly, make sure that deprecated properties are
documented as such. In this case: double-buffered.
2014-06-22 12:11:17 -04:00
Matthias Clasen
f00a1f9aae notify test: Skip GtkWidget::double-buffered
This property is now deprecated, and ignored, thus: no notification.
2014-06-22 12:09:52 -04:00
Matthias Clasen
a5543beced widget-factory: Fix an icon size problem
0 is not a valid icon size, and setting it has unpredictable
results. Replace it by 1, which is the right icon size to use
in buttons.
2014-06-22 11:52:11 -04:00
Matthias Clasen
f5d7e54d33 GtkCellRendererPixbuf: Set force_scale_pixbuf
The recent icon theme scaling changes make the code more
sensitive to mis-sized icons (e.g. application icons in
the app chooser). A single row whose size gets blown out
of proportion by a big icon is never wanted in a list.
We can avoid this situation by telling GtkIconHelper to
force-scale the pixbuf to the requested size.
2014-06-22 11:52:11 -04:00
Matthias Clasen
6d83b173df GtkIconHelper: use FORCE_SCALE when force_scale_pixbuf is set
When force_scale_pixbuf is set, the icon helper will scale the
icon to the requested size (either the pixel size, or the resolved
icon size), so we can just as well instruct the icon theme code
to do the scaling for us.
2014-06-22 11:52:11 -04:00
Matthias Clasen
6cc32c24be GtkIconTheme: Drop an unused variable
We no longer need a separate field for symbolic icon size,
now that we are using the directory size.
2014-06-22 11:52:11 -04:00
Matthias Clasen
b96058c3b7 GtkIconTheme: Load symbolic icons at the same size
Reuse the scale information that we have from loading icons
normally, when loading a symbolic icon, so that we apply the
same size constraints.

This commit assumes that svgs have the nominal size of the
directory they are in, which will be true for all current
symbolic icons.
2014-06-22 11:52:11 -04:00
Matthias Clasen
769fc52055 Adapt icontheme tests
With our new, improved icon theme spec compliance, some of the
tests need updates to their expected outcomes.
2014-06-22 11:52:11 -04:00
Matthias Clasen
acb276c644 GtkIconInfo: Small struct packing improvement
This makes the GtkIconInfo struct a bit smaller.
2014-06-22 11:52:11 -04:00
Matthias Clasen
f2b98f45db GtkIconInfo: Drop an unused field
The GtkIconInfo threshold field was never used, so lets not
carry it around.
2014-06-22 11:52:10 -04:00
Matthias Clasen
a10412f49e GtkIconTheme: Respect limits in theme dirs
Previously, we were taking thresholds and min/max sizes into
account when choosing the best theme dir, but when it came
to loading the icon, we always scaled icons from scalable
directories all the way, ignoring the min/max size limits.

This commit changes things around so that we now load icons
in Threshold directories at their nominal size, and scale
icons in Scalable directories only up to the specified limits.

To override this and keep the previous behaviour of scaling
all the way to the desired size, use the GTK_ICON_THEME_FORCE_SIZE
flag.
2014-06-22 11:52:10 -04:00
Jasper St. Pierre
58715796d2 gdkwindow: Provide a default implementation of process_updates_recurse
As a quick code cleanup.
2014-06-22 10:20:50 -04:00
Jasper St. Pierre
a1fb252eba gdkwindow-broadway: Move the dirty flag setting to end_paint
This is where it belongs -- process_updates_recurse is the wrong place
for it.
2014-06-22 10:20:50 -04:00
Jasper St. Pierre
b59d2d1afa gdkwindow: Move a variable closer to where it's used
To make the code clearer.
2014-06-22 10:20:50 -04:00
Jasper St. Pierre
b2be9c0a9b gdkwindow: Remove an unused variable 2014-06-22 10:20:49 -04:00
Matthias Clasen
1c57abb02b GtkSwitch: Implement hover for GtkSwitch
This makes switches more similar to other activatable widgets
like buttons or scales.
2014-06-21 21:34:50 -04:00
Jasper St. Pierre
0dfd506b3c gdkwidow: Make queue_antiexpose optional 2014-06-21 18:45:41 -04:00
Jasper St. Pierre
8ae546857c gdkwindow-win32: Remove queue_antiexpose implementation
Since the Win32 code never actually called InvalidateRgn or used the
Win32 update area at all, that meant the only thing that could possibly
invalidate the window was the Win32 window manager as part of scrolling
or resizing, which would also send it a WM_PAINT message.

But the WM_PAINT handling called BeginPaint / EndPaint, which clears the
update area completely! We also draw out-of-band, not directly when
handling WM_PAINT, so there's no way that the update area inside the
Win32 WM would match our local one.

There is no possible way that this queue_antiexpose implementation could
do anything. Remove it.
2014-06-21 18:45:40 -04:00
Jasper St. Pierre
4d8cd2f7cf gdkevents-win32: Remove dead code 2014-06-21 18:45:40 -04:00
Jasper St. Pierre
c767d504c5 gdkwindow: Don't bother with a return parameter for queue_antiexpose
Standard refcounting works perfectly well. Don't give us the opportunity
for more memory leaks.
2014-06-21 18:45:39 -04:00
Jasper St. Pierre
dcef61ac44 gdkwindow-broadway: Squash memory leak
We don't need to hang on to the update_area.
2014-06-21 18:45:39 -04:00
Jasper St. Pierre
bb7bf07af6 gdkwindow-broadway: Make queue_antiexpose implementation private 2014-06-21 18:45:38 -04:00
Jasper St. Pierre
0bad7d8f5c gdkwindow-wayland: Attach new buffers and submit damage in end_paint
process_updates_recurse is simply the wrong place for it to be.
2014-06-21 18:45:38 -04:00
Jasper St. Pierre
afbadd6639 gdkwindow-wayland: Rename listener -> frame_listener
Don't pollute the static namespace here.
2014-06-21 18:45:38 -04:00
Michael Catanzaro
d9d0ba83ac docs: add missing apostrophe 2014-06-21 12:16:29 -05:00
Jasper St. Pierre
9036ed0d67 gdkwindow: Correct a signature
We removed the parameter from callers and from the implementation, but
not from the signature up top. I didn't notice because the branch I was
working on removed the signature entirely.
2014-06-21 11:25:40 -04:00
Jasper St. Pierre
47d6677e92 gdkwindow: Remove an extra region copy
This code is only called with the current paint region as its argument.
Instead of having to copy it and do a no-op intersect against itself,
just use the current paint directly.
2014-06-21 11:00:24 -04:00
Jasper St. Pierre
7fefd211b8 gdkwindow: Clean up code
Introduce a temporary to make the code a bit more clear under these cases.
2014-06-21 10:17:23 -04:00
Jasper St. Pierre
e700305279 gdkwindow: Clean up formatting
Tabs to spaces, add some whitespace.
2014-06-21 10:17:06 -04:00
Jasper St. Pierre
ec5e913a9b gdkwindow: Add some extra documentation to gdk_cairo_create
Mention the need to wrap the function inside
gdk_window_begin_paint_region and gdk_window_end_paint.
2014-06-21 10:01:33 -04:00
Benjamin Otte
93b3179042 widgetpath: Deprecate regions
This is a foolowup to d80bf0790d
2014-06-21 15:46:44 +02:00
Jasper St. Pierre
6bc251692a gtkwidget: Add a warning about set_double_buffered
As requested on the mailing list.
2014-06-21 00:31:17 -04:00
Jasper St. Pierre
28f381e936 testwindows: Remove another reference to set_double_buffered 2014-06-21 00:30:59 -04:00
Jasper St. Pierre
4a72563c7b gtktrayicon-x11: Stop using set_double_buffered
There's nothing better we can do for this case, now that we always
redirect drawing to a temporary pixmap. Maybe since this is already
X11-specific code, we should just do everything with Xlib directly.
2014-06-21 00:30:45 -04:00
Matthias Clasen
0ec00ffbb0 Adwaita: Fix highlight on check buttons
The .button style class does not apply to check and radio
buttons, and .check only applies to menuitems.
2014-06-20 23:17:53 -04:00
Jasper St. Pierre
60d39e973a gdkwindow: Squash a leak in the subsurface case
cairo_surface_create_for_rectangle takes a ref on the parent surface,
so we need to drop ours.

Rename get_window_surface to ref_window_surface to make the code more
clear and to stop this error from happening again.
2014-06-20 20:48:21 -04:00
Jasper St. Pierre
d619a78aeb gdkwindow: Don't create a subsurface if we don't need to
In the case we have a native window, we don't need to crop it to a
non-native subrectangle, as abs_x / abs_y / width / height are all 0.
2014-06-20 20:46:49 -04:00
Jasper St. Pierre
be30e440c3 gdkwindow: Remove the ability to call begin_paint_region more than once
Previously, each begin_paint_region added to a stack of current paints,
and when end_paint was called, the paint was popped off of the stack and
the surface was composited into the parent paint surface.

However, the code was broken in the case of a backend like Wayland which
didn't keep track of nested calls and simply wiped and returned the
native impl backing surface every time.

Since this feature is flat out unused by GTK+ and we don't want to
really support tricksy things like these for other clients, just remove
the feature. If somebody does call begin_paint_region more than once,
warn and return without doing anything.
2014-06-20 20:41:55 -04:00
Jasper St. Pierre
d48adf9cee gdkwindow: Remove the internal cairo_surface used for out-of-band painting
Traditionally, the way painting was done in GTK+ was with the
"expose-event" handler, where you'd use GDK methods to do drawing on
your surface. In GTK+ 2.24, we added cairo support with gdk_cairo_create,
so you could paint your graphics with cairo.

Since then, we've added client-side windows, double buffering, the paint
clock, and various other enhancements, and the modern way to do drawing
is to connect to the "draw" signal on GtkWidget, which hands you a
cairo_t. To do double-buffering, the cairo_t we hand you is actually on
a secret surface, not the actual backing store of the window, and when
the draw handler completes we blit it into the main backing store
atomically.

The code to do this is with the APIs gdk_window_begin_paint_region,
which creates the temporary surface, and gdk_window_end_paint which
blits it back into the backing store. GTK+'s implementation of the
"draw" signal uses these APIs.

We've always sort-of supported people calling gdk_cairo_create
"outside" of a begin_paint / end_paint like old times, but then you're
not getting the benefit of double-buffering, and it's harder for GDK to
optimize.

Additionally, newer backends like Mir and Wayland can't actually support
this model, since they're based on double-buffering and swapping buffers
at various points in time. If we hand you a random cairo_t, we have no
idea when is a good time to swap.

Remove support for this.

This is technically a GDK API break: a warning is added in cases where
gdk_cairo_create is called outside of a paint cycle, and the returned
surface is a dummy that won't ever be composited back onto the main
surface. Testing with complex applications like Ardour didn't produce
any warnings.
2014-06-20 20:41:54 -04:00
Jasper St. Pierre
b875572f2a gtkwidget: Widgets are now always double-buffered
gtk_widget_set_double_buffered is now deprecated, and we don't support
non-double-buffered widgets. This means that under normal circumstances,
paints are never outside of a begin_paint / end_paint sequence, which
natively-double-buffered backends like Wayland can't possibly support.
2014-06-20 20:41:54 -04:00
Jasper St. Pierre
a85f7028d4 gdkwindow: Deprecate gdk_window_flush
The function does nothing.
2014-06-20 20:41:53 -04:00
Matthias Clasen
240daf55a1 GtkIconTheme: Drop an unused function 2014-06-20 20:40:52 -04:00
Matthias Clasen
2472cf22db GtkIconTheme: Small cleanup
Make the default symbolic colors a little more readable in the code.
2014-06-20 20:40:52 -04:00
Matthias Clasen
669bc909d8 GtkIconTheme: Trivial cleanup
Drop the _-prefix from a static function.
We've agreed to no stop using those prefixes.
2014-06-20 20:40:51 -04:00
Matthias Clasen
d1918bbb69 Avoid a compiler warning
The name_offset variable is indeed unused.
2014-06-20 15:54:51 -04:00
Matthias Clasen
a24ef62f4d Big spinner 2014-06-20 15:54:17 -04:00
Matthias Clasen
5ddacf094e GtkIconTheme: Don't create empty IconThemeDir structs
Starting gtk3-demo currently creates ~1200 of these, most
of them for nonexisting directories. Lets try to avoid that.
2014-06-20 12:15:25 -04:00
Matthias Clasen
b4d12fff4e GtkIconCache: Add api to find if directories are empty
This will help in not creating structs for tons of empty
directories.
2014-06-20 12:15:25 -04:00
Matthias Clasen
5925f9eeb4 GtkStatusbar: Add some space between the frame and the label
Looks better this way.
2014-06-20 12:15:25 -04:00
Lapo Calamandrei
401bf15c9a Adwaita: check/radio selector simplification 2014-06-20 17:25:19 +02:00
Matthias Clasen
f56345bbad widget factory: Use a property action for the toolbar toggle
This is slightly more elegant than doing it manually.
2014-06-20 11:13:33 -04:00
Matthias Clasen
e7af95a40c widget factory: Add a statusbar
A widget that is not represented in the widget factory is likely
to not get proper attention from theme authors.
2014-06-20 11:10:22 -04:00
Matthias Clasen
ef30b8c051 docs: Drop image references for stock items
Most of those images are no longer in our tree, so just
say which ones have icons and rtl variants, instead of
showing it.
2014-06-20 10:55:48 -04:00
Jasper St. Pierre
76922c169f wayland: Prevent stale paints and weird artifacts when using Weston
Weston releases buffers almost immediately after they're done, which
means that GTK+ doesn't use a temporary surface and instead paints
directly onto the SHM backing store that Weston will use.

Normally, after painting to the temporary surface, GTK+ *replaces*
the existing backing surface with CAIRO_OPERATOR_SOURCE. However,
if we immediately paint to the backing surface, it might have junk
from the last paint in it. So clear out the backing surface whenever
somebody calls begin_paint_region().

Maybe we should just always use the temporary surface like the X11
codepath, since that prevents us from having to do weird things like
this, but oh well.
2014-06-20 09:02:02 -04:00
Matthias Clasen
2672837a14 GtkIconTheme: Keep gtk_icon_theme_add_resource_path private for now
We need to discuss some details of the semantics before
we can make this public.
2014-06-20 08:50:31 -04:00
Matthias Clasen
4f1ff179bb Revert "Document gtk_icon_theme_add_resource_path"
This reverts commit 988b6b483d.
2014-06-20 08:46:42 -04:00
Matthias Clasen
a31e8369f8 Revert "Deprecate gtk_icon_theme_add_builtin_icon"
This reverts commit 923eeda2d3.
2014-06-20 08:46:24 -04:00
Matthias Clasen
923eeda2d3 Deprecate gtk_icon_theme_add_builtin_icon 2014-06-20 01:17:47 -04:00
Matthias Clasen
988b6b483d Document gtk_icon_theme_add_resource_path 2014-06-20 01:17:47 -04:00
Matthias Clasen
99c0b3db06 Adapt the icontheme tests
With the new way of dealing with the legacy stock icons,
the builtin test needed some small updates.
2014-06-20 01:17:46 -04:00
Matthias Clasen
49bcaf844c GtkIconTheme: Include legacy stock icons from resources
Add /org/gtk/libgtk/icons as a resource path, and ensure
that we always parse an index.theme file for hicolor which
makes the builtin icons available as part of the hicolor theme.
2014-06-20 01:17:46 -04:00
Matthias Clasen
968ea4186d GtkIconTheme: Allow loading icons from resources
We add a new API, gtk_icon_theme_add_resource_path, which
can be used to add resource path as a base location for
icon theme content, similar to gtk_icon_theme_append_search_path.
2014-06-20 01:17:46 -04:00
Matthias Clasen
13c354db8d GtkIconTheme: Drop the all_icons hash table
It is not used anywhere anymore.
2014-06-20 01:17:46 -04:00
Matthias Clasen
11ec8f7285 GtkIconTheme: Stop using the all_icons hash table
This hash table was used in gtk_icon_theme_has_icon; we can
implement that function just as well without it and save some
memory.
2014-06-20 01:17:45 -04:00
Matthias Clasen
a8939e7cff icontheme: Add some more tests
This test checks that gtk_icon_theme_list_icons and
gtk_icon_theme_has_icon work as expected.
2014-06-20 01:17:45 -04:00
Matthias Clasen
6549031030 Formatting fixes 2014-06-20 01:17:45 -04:00
Matthias Clasen
aa44c0ca53 GtkIconTheme: Drop the code for parsing .icon files
Modern icon themes don't ship .icon files anyway.
2014-06-20 01:17:45 -04:00
Matthias Clasen
84bc9bba42 GtkIconTheme: Deprecate functionality related to .icon files
This functionality is not used at all in modern icon themes.
2014-06-20 01:17:45 -04:00
Matthias Clasen
36be12578c Drop the builtin icon cache
We don't need it anymore, now that the non-standard stock icons
are using resources.
2014-06-20 01:17:44 -04:00
Matthias Clasen
ea8afd2937 Add non-standard stock icons as resources
This will allow us to remove the builtin icon cache in the future
while keeping the deprecated stock icons working.
2014-06-20 01:17:35 -04:00
Matthias Clasen
548a804653 Drop all standard icons from the builtin icontheme
We're going to require a complete icon theme, and we have
a test that checks for all the icons we use, so there is
no need to include all these fallback icons.
2014-06-20 00:52:20 -04:00
Benjamin Otte
d80bf0790d stylecontext: Deprecate regions
Regions are done in a very non-css way. They don't fit the DOM in that
they don't integrate into the CSS tree and they have very weird matching
behavior in selectors.

So I'm deprecating them now. GtkNotebook and GtkTreeview will continue
to use them and as long as they do, we can't remove the code for it.
But once those are ported it might be safe to remove the code as it will
clean up lots of places in the code by quite a bit.
2014-06-19 22:26:51 +02:00
Benjamin Otte
8451b15d6e stylecontext: Remove long outdated docs
The part about transition animations doesn't apply since 3.8.
2014-06-19 22:26:51 +02:00
Jasper St. Pierre
87e2a7d4b2 gdkwindow-wayland: Destroy the wl_surface too when hiding a window
wl_surfaces can't switch roles, so destroying the xdg_surface but not
the wl_surface means that we could get an error when trying to re-map
the surface.

We could fix this by not destroying the xdg resource and only do it at
finalization time, but it's just as easy to just create a new wl_surface.
2014-06-19 15:10:54 -04:00
Jasper St. Pierre
6926c6d9f8 gdkwindow-wayland: Destroy the xdg roles before the wl_surface
Since the xdg roles are a special case of the surface, some compositors
like Weston destroy them automatically when the wl_surface is destroyed.
Thus, we need to destroy these first.
2014-06-19 15:10:54 -04:00
Jasper St. Pierre
b35820fa3c gdkwindow-wayland: Add a forgotten ref 2014-06-19 14:56:17 -04:00
Jasper St. Pierre
0bbe2589f6 gdkwindow-wayland: Another slight rearrange 2014-06-19 14:56:17 -04:00
Jasper St. Pierre
ec7504fd57 gdkwindow-wayland: Pair a ref with its owner 2014-06-19 14:56:17 -04:00
Jasper St. Pierre
12fc77ad98 gdkwindow-wayland: Don't post CONFIGURE events for the same size
The Wayland compositor is completely allowed to send us configure
events for the same size, and this validly happens if we're changing
states. Fizzle these out.
2014-06-19 14:56:16 -04:00
Matthias Clasen
0056d3a6ad GtkTreeView: Remove a no-longer-valid optimization
The rubberband rendering code was assuming that we just have
a 1-pixel border and the rest of the rubberband is uniform.
That is not a safe assumption to make with css-styled
rubberbands, so remove it.
2014-06-19 13:52:11 -04:00
Matthias Clasen
72ece5a62c GtkIconView: Remove a no-longer-valid optimization
The rubberband rendering code was assuming that we just have
a 1-pixel border and the rest of the rubberband is uniform.
That is not a safe assumption to make with css-styled
rubberbands, so remove it.
2014-06-19 13:52:11 -04:00
Matthias Clasen
640f9d110e Install the new icontheme test files 2014-06-19 13:52:10 -04:00
Lapo Calamandrei
b7c51de62b Adwaita: fix rubberband selection 2014-06-19 19:11:02 +02:00
Jasper St. Pierre
a0337f9755 Update Makefile.am for one more gitignore rule 2014-06-19 11:13:47 -04:00
Jasper St. Pierre
c8547414c1 Update git.mk 2014-06-19 11:13:47 -04:00
Matthias Clasen
c9e848b659 GtkIconTheme: Fix svg loading with FORCE_SIZE
Paradoxically, we were loading svgs at the nominal size when
FORCE_SIZE is specified, while scaling them exactly when it
isn't.
	../build/win32/vs10/gtk.vcxproj
2014-06-18 19:09:37 -04:00
Matthias Clasen
a6f1f8dacf Add more icon theme tests
This test checks various directory size behaviours, with and
without the FORCE_SIZE flag.
2014-06-18 19:09:25 -04:00
Jakub Steiner
51417f98d1 Adwaita: hover state for horizontal spinbuttons 2014-06-18 20:40:19 +02:00
Nikita Churaev
462f86d301 New window shadows
https://bugzilla.gnome.org/show_bug.cgi?id=731866
2014-06-18 20:40:19 +02:00
Lapo Calamandrei
6eedc62af9 Adwaita: highligh not hilight... 2014-06-18 19:38:14 +02:00
Lapo Calamandrei
a595dccf0e Adwaita: remove wildcard for image effect
-gtk-image-effect: hilight now is set for .button:hover
2014-06-18 19:29:33 +02:00
Lapo Calamandrei
060f7b7428 Adwaita: calendar fixes 2014-06-18 18:13:38 +02:00
Matthias Clasen
baea175628 GtkHeaderBar: Don't forget to show the subtitle
https://bugzilla.gnome.org/show_bug.cgi?id=731790
2014-06-18 11:56:08 -04:00
Jakub Steiner
e3a40065cc Adwaita: flatten buttons slightly.
- gets rid of the specialcase for dark too.
2014-06-18 16:36:41 +02:00
Lapo Calamandrei
c975b9ef9b Adwaita: more links styling 2014-06-18 16:07:59 +02:00
Lars Uebernickel
af0496dc68 themes: use .popover class instead of GtkPopover
https://bugzilla.gnome.org/show_bug.cgi?id=731834
2014-06-18 14:24:14 +02:00
Lars Uebernickel
d0a3c8bd6f gtkpopover: set background and popover css classes
https://bugzilla.gnome.org/show_bug.cgi?id=731834
2014-06-18 14:24:14 +02:00
Lapo Calamandrei
c2b7ebff11 Adwaita: remove bg from insensitive backdrop spinbutton buttons 2014-06-18 13:26:35 +02:00
Lapo Calamandrei
f39a12e0c6 Adwaita: vertical spinbuttons inhert in backdrop state 2014-06-18 13:16:21 +02:00
Jakub Steiner
0ff5c41718 Adwaita: actionbars' padding 2014-06-18 12:16:55 +02:00
Lapo Calamandrei
630b5b9797 Adwaita: reorderable tabs correctly styled for every notebook layout 2014-06-18 12:08:04 +02:00
Lapo Calamandrei
e1ae22465b Adwaita: set outline-color on selected items 2014-06-18 10:21:13 +02:00
Lapo Calamandrei
6cebdf80ac Adwaita: checks and radios text focus ring fix. 2014-06-18 10:11:11 +02:00
Lapo Calamandrei
0011c5c5e3 Adwaita: minor fixes. 2014-06-18 10:01:24 +02:00
Lapo Calamandrei
1566a5d9dd Adwaita: .scrollbars-junction 2014-06-18 09:52:29 +02:00
Yosef Or Boczko
6432dd0234 Updated Hebrew properties translation 2014-06-18 03:12:40 +03:00
Matthias Clasen
d57793adb4 Include image data in the builtin icon theme cache
When we switched the default for gtk-update-icon-cache to
not include image data, we should have thought about the
builtin icons. For them, we rely on image data being included.

This made the notify test fail in gnome-continuous, where we
build from git and always regenerate the builtin cache.
2014-06-17 16:26:42 -04:00
Matthias Clasen
8253b76bf6 Add a test for builtin icons
We want to get rid of these, but as long as we still have them,
make sure they work.
2014-06-17 14:38:18 -04:00
Alexander Larsson
3574a809fa icon theme: Fix crash for builtin icons
This pushes the initialization of is_svg to an earlier point
when the GtkIconInfo is created. This is needed because an icon
info doesn't necessarily always have a filename that we can later
extract the suffix from. For instance, builtin icons have NULL
filename.

https://bugzilla.gnome.org/show_bug.cgi?id=721895
2014-06-17 13:54:13 -04:00
Jakub Steiner
d87d62fe73 Adwaita: selection mode buttons to have borders and fill 2014-06-17 15:55:58 +02:00
Jakub Steiner
e591c8ab41 Adwaita: symbolic checkboxes for selection mode. 2014-06-17 15:41:59 +02:00
Jakub Steiner
0ce17d4aca Adwaita: make bash actually call sass 2014-06-17 15:39:45 +02:00
Chun-wei Fan
2e0ce67f8a Visual Studio Builds: "Install" the Stock Icons
Copy the icons in stock_icons accordingly, so that the built-in icons can
be found by GTK, as it seems that not all of them are built into
gtkbuiltincache.h.
2014-06-17 17:54:04 +08:00
Benjamin Otte
aeac92a497 testsuite: Add test for latest commit 2014-06-17 00:01:25 +02:00
Benjamin Otte
aa6652aac7 cssprovider: Names starting with -gtk- aren't style props
We want to have the "-gtk-" prefix for our custom CSS properties. But
we also want to parse names starting with a "-" as style properties.
So make sure that "-gtk-" is treated like a normal property and we emit
errors when somebody uses it wrong.

This is to catch errors with people typing
  -gtk-iconsource: none;
instead of the correct
  -gtk-icon-source: none;
2014-06-17 00:01:25 +02:00
Matthias Clasen
f0f9c2aa37 Revert "gtkbin: replace internal api"
This reverts commit 0f4751c08e.

This causes warnings from the notebook and combobox code.
2014-06-16 17:31:56 -04:00
Piotr Drąg
b57c04de5c Updated POTFILES.skip 2014-06-16 22:12:39 +02:00
Ryan Lortie
b532e1ff0a menu binding: emit submenu close after activate
We want to make sure that the submenu action is changed back to FALSE
_after_ the menu item has been activated.  This prevents the menu
teardown handler from deleting the menu item before it can be activated.

Unfortunately, GtkMenuShell emits "hide" before the item activation.
This is probably done to prevent the application from doing things like
showing dialogs when the menu is still holding the grab.

In the case where we are doing an activate, set a boolean flag on each
of the open menus (following the parent stack) indicating that we'll be
emitting another signal soon (selection done).  If that flag is set, we
defer the setting of the submenu action until we receive the second
signal.

https://bugzilla.gnome.org/show_bug.cgi?id=729820
2014-06-16 15:34:42 -04:00
Jasper St. Pierre
38a6a72a7f Makefile: Add a few more cleanfile / ignore rules 2014-06-16 14:03:53 -04:00
Jasper St. Pierre
0855d55668 Makefile: Add gtk.gresource.xml to gitignore 2014-06-16 14:03:53 -04:00
Lapo Calamandrei
085de60305 Adwaita: list-row styling 2014-06-16 19:58:37 +02:00
Benjamin Otte
0e64019df3 testsuite: Remove a test
That test is not working anymore by design since commit 57c4f01e.

It was introduced pre-3.0.0 in commit 12d6b588 and the feature was never
utilized. So it seems safe to just remove the test.
2014-06-16 18:43:50 +02:00
Benjamin Otte
fba90d4c65 colorswatch: handle clip for box-shadow 2014-06-16 18:43:49 +02:00
Lapo Calamandrei
b1cca3aa11 Adwaita: fix a typo 2014-06-16 17:14:20 +02:00
Lapo Calamandrei
490cb30c78 Adwaita: GtkPaned separator invisible border shrinking 2014-06-16 17:12:03 +02:00
Lapo Calamandrei
67b4749be0 Adwaita: fix column-header backdrop state 2014-06-16 17:07:27 +02:00
Jasper St. Pierre
c2bf7a887c gtkicontheme: Fix a missing case where we forget to set is_svg
When duplicating the icon_info, we forgot to set is_svg. This meant that
any application that used gtk_icon_info_load_icon_async wouldn't have
is_svg set properly.

This fixes blurry icons in the gnome-shell app picker.
2014-06-16 10:47:34 -04:00
Jasper St. Pierre
c4fc71058a util: Add missing git.mk include 2014-06-16 10:47:33 -04:00
Lapo Calamandrei
aa339ee30c Adwaita: column headers visual simplification 2014-06-16 16:46:05 +02:00
Chun-wei Fan
cf8eaebc07 GtkInspector: Use Adwaita by Default on Windows Too
As we are using Adwaita by default on all platforms, do the same for
GtkInspector, to be consistent with the rest of GTK+.
2014-06-16 12:07:04 +08:00
Paolo Borelli
715b8744f5 TextView: render the background of border windows
Set the .top, .left, etc css classes and render the background
of the border windows.
Change the reftest implementation accordingly.
2014-06-15 18:57:06 +02:00
Paolo Borelli
2eeff1eed6 Add a TextView reftests checking border-windows
TextView border windows are internal windows used to draw on the gutter
of the textview (e.g. line numbers). The test uses the gmodule hook to
programmatically draw on the border-windows at each side of the textview
and compares the result with 3x3 grid of labels.
2014-06-15 18:56:30 +02:00
Paolo Borelli
2c5be3b231 TextView margin reftest
add a reftest that checks GtkTextView text margin property comparing
with the normal margin added to the widget (they are the same when there
is nothing drawn in the gutter like line numbers etc).
2014-06-15 18:15:43 +02:00
Paolo Borelli
570653354a Dist recently added reftests 2014-06-15 12:05:40 +02:00
Kalev Lember
71ac15ec2f Fix another typo 2014-06-15 11:24:39 +02:00
Matthias Clasen
d58a3439e4 Fix a typo 2014-06-15 04:15:32 -04:00
Matthias Clasen
0cb7031d1d Install all icons for installed tests
Otherwise the icontheme test fails in continuous.
2014-06-14 22:52:57 -04:00
Matthias Clasen
c1476bf1d7 Revert "Fixes GtkMenuTrackerItem visible flag reference"
This reverts commit ceed0ee703.
2014-06-14 21:43:14 -04:00
Will Greenberg
ceed0ee703 Fixes GtkMenuTrackerItem visible flag reference
Previously GtkMenuTracker tried to access "gtk_menu_tracker_item_get_is_visible",
but the correct getter is "_gtk_menu_tracker_item_is_visible". This commit
corrects this reference

https://bugzilla.gnome.org/show_bug.cgi?id=731430
2014-06-14 21:26:22 -04:00
Matthias Clasen
a666827d3a gtk-update-icon-cache: Add an --include-image-data option
Now that we don't include the image data by default anymore,
lets add an option that  does it.
2014-06-14 19:30:17 -04:00
Matthias Clasen
62f8dae7a8 gtkicontheme: Don't query CONTENT_TYPE to determine svg
We already know based on the suffix of the filename.

https://bugzilla.gnome.org/show_bug.cgi?id=721895
2014-06-14 18:54:24 -04:00
Jasper St. Pierre
6f92c7942e updateiconcache: Don't include image data by default anymore
Since large images are in the icon cache, and apps don't tend to use that
many icons anymore, simply don't include image data and instead make apps
load files from disk. Additionally, since they're stored in GdkPixbuf data,
that means that we have to first convert them either to a cairo_surface_t,
which requires converting pixel data to be premulitplied, or an OpenGL
texture, which requires a whole GPU upload anyway.

So, even with the icon cache, the goal of icons through zero-copy, mmap()'d
data from disk just isn't doable with the icon cache format we have. The
icon cache on my disk is nearing 100MB, since we include a bunch of
high-resolution application icons, that I doubt would be used by apps at all.
Removing this inefficient pixel data makes memory usage for all applications
go down, with no speed loss.

The icon cache also, however, has an index of what icons are in each folder,
which prevents a readdir() and allows GTK+ to know what icon is where without
having to do a bunch of stat(); calls. Keeping this data is good for GTK+,
so we should still keep the index.

It doesn't make sense to remove any code for mapping pixel data from the icon
cache. There's a plan in the works to have a symbolic icon cache that does
pixel math on 16x16 icons to prevent slow SVG rendering. 16x16 pixels are
fairly small, and such images are flat colors, which should compress easily,
so the icon cache would be worthwhile here. So let's keep the code around
in preparation for that case.

https://bugzilla.gnome.org/show_bug.cgi?id=721895
2014-06-14 16:08:24 -04:00
Paolo Borelli
c184458ab3 notebook: set tab position style class on the main frame
We want to have .top etc also on the notebook frame, not only on
the header frame.
The patch includes a reftest by Benjamin.
2014-06-14 21:37:07 +02:00
Matthias Clasen
fea939b3d7 GtkIconTheme: Don't treat svg icons specially
This changes makes svg icons go through the same scale calculation
code as png icons. As a consequence, an svg that is put into the
32x32 directory will actually be loaded at size 32, even if it
gets requested at a bigger size. This will let us avoid giant
spinners.

https://bugzilla.gnome.org/show_bug.cgi?id=731658
2014-06-14 15:10:49 -04:00
Matthias Clasen
84cf748eae Add more icontheme tests
This test is focused on svgs, and how we scale them when
loading.
2014-06-14 15:10:49 -04:00
Lapo Calamandrei
fd53732035 Adwaita: try to make scrollbars near paned separator usable. 2014-06-14 19:06:26 +02:00
Piotr Drąg
4406386ad9 Remove duplicate lines in Azerbaijani translation headers 2014-06-14 16:46:06 +02:00
Lapo Calamandrei
b939b17f51 Adwaita: comment added 2014-06-14 15:37:36 +02:00
Lapo Calamandrei
40775415cc Adwaita: fix GtkScale outline offset and radius 2014-06-14 15:31:05 +02:00
Lapo Calamandrei
77a4b253df Adwaita: Gtkscale
- added slider assets for scales with marks
- experimental touch friendly fine-tune mode, grow the trough istead
  of shrinking the slider
2014-06-14 14:51:03 +02:00
Rico Tzschichholz
e3443c9cf5 Adwaita: drop references to render-borders.sh/borders.txt
They were dropped with 82b1232898
2014-06-14 13:13:29 +02:00
Lapo Calamandrei
83bc345b50 Adwaita: noticiable scale slider active state for the dark variant 2014-06-14 11:30:22 +02:00
Lapo Calamandrei
b10e358f5e Adwaita: include missing assets 2014-06-14 11:01:31 +02:00
Lapo Calamandrei
a1991df8d3 Adwaita: darker base color for the dark variant 2014-06-14 11:00:33 +02:00
Lapo Calamandrei
a6de44ac69 Adwaita: dark var backdrop insensitive fixes
Consistent backdrop insensitive state for dark variant GtkScale and GtkSwitch
2014-06-14 10:48:28 +02:00
Lapo Calamandrei
54e4c11ed1 Adwaita: GtkScale
slider :hover state added
2014-06-14 10:19:15 +02:00
Lapo Calamandrei
3d70add7f6 Adwaita: sidebar separator and selected item backdrop fix 2014-06-14 09:00:21 +02:00
Lapo Calamandrei
04a1a15e88 Adwaita: added a missing border to GtkFileChooser 2014-06-14 08:45:55 +02:00
Lapo Calamandrei
7fd675e4f6 Adwaita: better tab close button 2014-06-14 08:42:12 +02:00
Lapo Calamandrei
82b1232898 Adwaita: remove old cruft not used anymore 2014-06-14 08:31:36 +02:00
Lapo Calamandrei
a1bf6718f5 check and radio assets refresh 2014-06-14 08:29:47 +02:00
Stefan Sauer
406974fdb1 scrolledwindow: update GtkPolicyType docs
The policy is not determining the visibility of the scrollbars anymore, but the
how the size is to be computed to achive the selected visibility.
2014-06-14 08:10:46 +02:00
Stefan Sauer
0f4751c08e gtkbin: replace internal api 2014-06-14 08:10:46 +02:00
Matthias Clasen
aba6871dba inspector: Use Adwaita as default theme 2014-06-14 00:15:09 -04:00
Matthias Clasen
5d7c79574b Use Adwaita on Windows too
Having the same, usable, default appearance acroll platforms
trumps having a more-or-less working native theme. The default
will be Adwaita on all platforms. The native ms-windows theme
is of course still available.
2014-06-13 16:49:59 -04:00
Matthias Clasen
3ae4c8f125 Adwaita: bring back the extra indirection
Without this, we are missing the 'Adwaita' component in the
path when resolving relative resources, and none of the assets
are found.
2014-06-13 14:44:38 -04:00
Matthias Clasen
6cc5908d88 Try to fix the continuous build
Making gtk.gresource.xml generated was causing a problem for
srcdir!=builddir builds from git. Builds from tarballs are
not affected, because the tarball contains the generated file.
2014-06-13 14:16:37 -04:00
Matthias Clasen
4225a8eaf3 Add some EXEEXT decorations back
Might fix
https://bugzilla.gnome.org/show_bug.cgi?id=731602
2014-06-13 14:03:52 -04:00
Matthias Clasen
cefa19d30c Use Adwaita as the default theme
This ensures that GTK+ applications have a high-quality theme on
all platforms, and look consistent.
2014-06-13 13:20:58 -04:00
Matthias Clasen
b4e1e01acc Include the Adwaita theme
This adds the resources for the Adwaita theme, and includes them
in libgtk, on all platforms.
2014-06-13 13:20:47 -04:00
Matthias Clasen
4c95dbb05b Don't include the win32 theme on Linux
No need to carry around these resources when we are not
going to use them.
2014-06-13 10:30:36 -04:00
Matthias Clasen
f1cf10fe86 Generate gtk.gresource.xml
This will help when including Adwaita. It will also let us
drop the win32 theme on Linux, hopefully.
2014-06-13 10:24:30 -04:00
Matthias Clasen
6fc65d5b0f Rename cursor pngs to their resource name
This allows us to get rid of some aliases in the .gresource.xml.
2014-06-13 09:28:27 -04:00
Matthias Clasen
6de3741f18 Move theme resources into subdirectories
Preparing for Adwaita to come in here.
2014-06-13 08:40:56 -04:00
Matthias Clasen
2e5cda99f8 inspector: Allow Escape to cancel picking 2014-06-13 06:10:23 -04:00
Matthias Clasen
404149b2bf inspector: Use a better icon for the picker
Recommended by Allan Day.
2014-06-13 06:10:23 -04:00
Matthias Clasen
c1270a19c3 Trivial formatting fix 2014-06-13 06:10:23 -04:00
Carlos Garnacho
6d8842ca96 gesturesingle: Implement GtkGesture::cancel better than GtkEventController:reset
The former can be called individually on each sequence, and the latter will
always call the former on all currently active sequences, so only implementing
resetting on cancel() works for both cases. Also, chain up on subclasses
implementing cancel.

This fixes clicking on nautilus' file list after popping up a menu, as broken
grabs are one of those situations where sequences get cancelled individually,
the "current button" wasn't properly reset, and further clicks with button != 3
were ignored.
2014-06-13 01:27:31 +02:00
Carlos Garnacho
05810f80a4 textview: Unobscure the mouse cursor on motion events
This used to be done before the gestures port, and was removed
accidentally, so keep the motion_notify_event handler just for
this, and fallback to having those events handled by gestures
too.
2014-06-12 23:23:43 +02:00
Dieter Verfaillie
daa8b48a33 Fix gtk_selection_data_get_data annotations
The annotations were intended for the return
value, not the instance argument.

https://bugzilla.gnome.org/show_bug.cgi?id=731299
2014-06-12 21:01:01 +02:00
Dieter Verfaillie
0c5b5fc053 docs: remove mention of old GtkList and GtkCList
Reported by andlabs in irc://irc.gnome.org/gtk+

https://bugzilla.gnome.org/show_bug.cgi?id=731382
2014-06-12 20:46:21 +02:00
Daniel Mustieles
e3af863bcb Updated Spanish translation 2014-06-12 17:53:57 +02:00
Matthias Clasen
9bc07a2634 Add a message-dialog style class
This helps in separating message dialogs from other dialogs,
theming-wise.
2014-06-12 09:22:36 -04:00
Matthias Clasen
e97cf2fd0b Add GTK_STYLE_CLASS_POPUP to the docs 2014-06-12 09:22:06 -04:00
Carlos Garnacho
3b636cbeb9 scrolledwindow: Deny scrolling sequences if pressed on the scrollbars
Scrollbars might be a bit too narrow for touch (and generally less useful
besides kinetic scrolling), but those should be functional nevertheless.
2014-06-12 15:17:47 +02:00
Carlos Garnacho
3ef1b387bc window: Only claim a button=1 press sequence when dragging is about to happen
This way plain clicks can be handled in gtkmain through the usual delivery mechanism,
and get possibly handled too by widgets holding a GTK+ grab. If window dragging is to
be started, the sequence will be claimed (and a grab will happen afterwards), notifying
properly the grabbing widget that event delivery was interrupted.

This makes it possible to dismiss popovers by clicking on window headerbars, while
still making it possible to drag the window with the popover opened.
2014-06-12 14:27:35 +02:00
Sjoerd Simons
5b118a9fd7 wayland: Ensure the touch sequence pointer value is non-null
Weston numbers its touch sequences ids starting from 0, thus simply
setting the GtkEvents touch.sequence to the touch id value typically
causes gdk_event_get_event_sequence to return NULL. Unfortunately this
confuses other parts of GDK.

As both weston & mutter keep the sequence id between 0..max_dev_touches
-1 simply use + 1 to keep the id > 0. While this isn't entirely correct
(compositor could send -1 as the touch id), this keeps the touch id in
gtk tied to the touch id from weston which is useful for debugging. A
more thorough solution could be done when it turns out this is an issue
in practise

https://bugzilla.gnome.org/show_bug.cgi?id=731371
2014-06-12 12:35:23 +02:00
Benjamin Otte
45a64cd7d4 testsuite: Add a test for symbolic icons in specific sizes
Check that loading symbolics works, even if the symbolic is only
available in a fixed size.
2014-06-12 12:34:09 +02:00
Matthias Clasen
5ef4d71b15 widget-factory: Add some tooltips 2014-06-12 05:53:31 -04:00
Dieter Verfaillie
072e215ff3 docs: fix link to language bindings page
Reported on irc://irc.gnome.org/gtk+ by Rena.

https://bugzilla.gnome.org/show_bug.cgi?id=731377
2014-06-11 23:03:00 -04:00
Matthias Clasen
5334fb8921 Drop GDK_MULTIHEAD_SAFE
We don't support multiple screens anymore, so there is no need
for marking API as multihead safe any longer.
2014-06-11 21:55:15 -04:00
Matthias Clasen
41fd2ae898 Deprecate outside-border style properties
These should just be replaced by CSS margins, etc.
2014-06-11 19:38:22 -04:00
Matthias Clasen
48db936b70 GtkButton: Don't use a non-zero border by default
The non-zero default default-border was causing buttons to shrink as
the focus moves around them. Themes which want a default-border should
define it explicitly.
2014-06-11 19:06:36 -04:00
Carlos Garnacho
3e65655424 treeview: Check that :row-activated is only emitted on GDK_BUTTON_PRIMARY
It turned out not all code was fully prepared to handle multiple buttons,
this avoids respawning https://bugzilla.gnome.org/show_bug.cgi?id=731020.
2014-06-11 23:18:34 +02:00
Carlos Garnacho
f321d3a50a treeview: Make row area multipress gesture react to all buttons
The code is actually prepared for that, the gesture was initially limited
to only handling GDK_BUTTON_PRIMARY because it only used to handle row
activation.
2014-06-11 23:01:31 +02:00
Carlos Garnacho
e114717097 treeview: Remove unused variables from priv struct
These variables were last used before moving row activation to being
managed by a gesture.
2014-06-11 17:36:04 +02:00
Carlos Garnacho
89f38b5fc6 treeview: Move all button press/release management to the multipress gesture
The multipress gesture on the bin window now also does all the business related
to row selection. As row selection and activation can't be easily decoupled, this
fixes certain problems around ::row-activated being emitted on NULL paths.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731455 and
https://bugzilla.gnome.org/show_bug.cgi?id=731018
2014-06-11 17:36:04 +02:00
Carlos Garnacho
3f084e3ab5 treeview: Use drag gesture for rubberband selection/DnD
This gesture acts only on events from the bin window, and checks that
either the pressed row is draggable, or the conditions for rubberband
selection apply.
2014-06-11 17:36:03 +02:00
Carlos Garnacho
50491f15ae treeview: Use gestures for column dragging/resizing
A multipress gesture takes care of autosizing on double click, and
a drag gesture is used for both column dragging/resizing (only one
can happen at a time).
2014-06-11 17:36:03 +02:00
Carlos Garnacho
b8886436b3 treeviewcolumn: Avoid a device position query
This happens in an event handler, and the button event should be
expected to have the right coordinates on the event window already.
2014-06-11 17:36:03 +02:00
Carlos Garnacho
20a59985fe gesturesingle: Ensure the current button stays set until after the touch/button release
This makes gtk_gesture_get_current_button() work properly on GtkGesture::end, and signals
spawn from there on subclasses.
2014-06-11 17:36:03 +02:00
Matthias Clasen
e7b3d8b414 GtkPaned: Make sure the raise the handle window above children
We need to show child windows and handle in the right order,
otherwise the input-only handle window ends up under the children
where it is useless.
2014-06-11 09:33:30 -04:00
Matthias Clasen
77cb6d8b4a GtkTooltip: Ignore shadow when finding widgets
When placing tooltips, the csd shadow will get 'pushed up' and
may end up underneath the pointer. We don't want this to cause
the tooltip to be hidden, because that leads to flickering, so
ignore the shadow when finding the widget under the pointer.
2014-06-11 00:04:04 -04:00
Matthias Clasen
2d05bf1492 csd: Fix non-resizable windows
For csd override-redirect windows, we don't set up resize handles,
but we were not ignoring the margin in all places, causing some
size calculations to go wrong.
2014-06-11 00:04:04 -04:00
Matthias Clasen
a4b0d35649 Don't mention no longer existing widgets in the docs
GtkText, GtkList and GtkCList don't exist anymore.
2014-06-11 00:04:04 -04:00
Benjamin Otte
200bdf1aec stylecontext: Get rid of StyleData struct
It's now just a GtkCssComputedValues + refcount. And
GtkCssComputedValues has its own refcount, so use that one instead.
2014-06-11 01:18:05 +02:00
Benjamin Otte
57c4f01e0d stylecontext: Move property cache
... from per style data to only existing once per style context. This is
technically an API break because it no longer allows getting different
style properties between save()/restore() pairs, but I don't think this
was ever intended to work that way, as the style property API was to be
used and is used via gtk_widget_get_style().

And it simplifies code a lot.
2014-06-11 01:18:05 +02:00
Benjamin Otte
6f2eb1d627 docs: Remove unused variable 2014-06-11 01:18:04 +02:00
Benjamin Otte
6affe29c9a testsuite: Add missing errors file
The file was forgotten in 98954bd1d1 and
caused test failure. Oops.
2014-06-11 01:18:04 +02:00
Benjamin Otte
4a6957f50d stylecontext: Remove state from _peek_style_property()
It evaluates to "current state" in all cases, so no need to special case
it.
2014-06-11 01:18:04 +02:00
Matthias Clasen
e51e8a28dd gtk3-demo: Use monospace font for source code 2014-06-10 18:47:49 -04:00
Robert Ancell
b95a6c7c62 GdkDisplay: Remove unused GdkKeyboardGrabInfo struct
I can't find anything that uses this struct and it seems to be replaced by GdkDeviceGrabInfo
2014-06-11 08:30:04 +12:00
Benjamin Otte
d1dd33d885 css: Fix uninitializaed variable 2014-06-10 15:58:17 +02:00
Matthias Clasen
b0c6263f6c inspector: Add combobox popups to the tree 2014-06-10 08:54:12 -04:00
Matthias Clasen
ec9cf6d7c3 GtkComboBox: Add private api to get the popup
This will be used to make the popup appear in the inspector.
2014-06-10 08:54:12 -04:00
Matthias Clasen
634972e063 inspector: Add submenus to the tree 2014-06-10 08:54:12 -04:00
Benjamin Otte
c906aa7e08 menuitem: Use .arrow style class for submenu indicators
As requested by the Adwaita guys.
2014-06-10 13:47:51 +02:00
Benjamin Otte
b21c86f49a treeview: Remove unused variable 2014-06-10 13:47:51 +02:00
Benjamin Otte
cdd341ed7d viewport: Remove unused variable 2014-06-10 13:47:51 +02:00
Benjamin Otte
8ea013290b cellrenderertoggle: Remove copy/paste leftovers
Introduced in 2d88a3ae30
2014-06-10 13:47:51 +02:00
Matthias Clasen
b355493d12 docs: Add GtkActionBar to the type list
Without this, we don't get object hierarchy, among other things.
2014-06-09 21:41:43 -04:00
Matthias Clasen
5b5cf89a63 Add GtkActionBar and GtkSearchBar to visual index
These were missing.
2014-06-09 21:41:43 -04:00
Benjamin Otte
4b793dd508 a11y: Remove an outdated comment 2014-06-10 01:17:00 +02:00
Benjamin Otte
98954bd1d1 testsuite: Add a test for recent fix 2014-06-10 01:07:57 +02:00
Benjamin Otte
3759190c26 css: Parse text-shadow values properly
We used to accept the same syntax for text-shadow and icon-shadow as
we accept for box-shadow. However, box-shadow does accept a spread and
the inset keyword while the others should not.
2014-06-10 01:07:57 +02:00
Joanmarie Diggs
fc00381d30 GtkEntryAccessible: Emit signal after insertion
The signal needs to be emitted after the text insertion as at-spi gets
the text to compute the inserted text due to the AtkText::insert-text
signal not containing it.
Also adjust position to reflect changes to the offsets.

https://bugzilla.gnome.org/show_bug.cgi?id=731429
2014-06-10 01:07:57 +02:00
Matthias Clasen
fbc6a0c400 Add some theming for csd popups
Not attempt to make this look good, just to demonstrate
that themes can in fact do it.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:16:12 -04:00
Matthias Clasen
a39985a43e Request csd for tooltips
Use the new private GtkWindow api to request
client-side decorations for tooltips.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:15:28 -04:00
Matthias Clasen
179d6a4c7b GtkTooltip: take csd shadows into account for placement
When placing tooltips, we don't want the shadow to influence
our choice.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:15:28 -04:00
Matthias Clasen
49bb39ecf5 GtkTooltip: remove hardcoded tooltip drawing
This is old code from dating back many years. Nowadays, we can
just use css drawing and csd windows to achieve much the same
effect.

Themes will need some adjustment for this change.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:15:27 -04:00
Matthias Clasen
dae252e3d2 Request csd for menus
Use the new private GtkWindow api to request
client-side decorations for menus.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:15:24 -04:00
Matthias Clasen
3cf916be8a GtkMenu: Add a separate style class to the toplevel of menus
This is necessary in order to use .window-frame.csd.popup for
styling csd menus.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:14:48 -04:00
Matthias Clasen
e9ed210b0b GtkMenu: take csd shadows into account for placement
When placing menus, we don't want the shadow to influence
our choice.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:01:42 -04:00
Matthias Clasen
bde4e86357 Allow csd for override-redirect windows
This commit makes it possible to use client-side decorations for
override-redirect windows by calling _gtk_window_request_csd()
before realizing the window. Since the wm won't do interactive
resizing for us in this case anyway, don't bother creating
the border windows we use for this purpose on regular toplevels.

To make this accessible to themes, we set a "csd" style class
on client-side decorated windows. With this, .window-frame.csd.menu
can be used to define the shadow for csd menus, and .menu can be
used to define a border for menus under non-composited wms.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:01:42 -04:00
Matthias Clasen
60cd7076cf Add a csd style class
This will be used for client-side decorated windows.

https://bugzilla.gnome.org/show_bug.cgi?id=731187
2014-06-09 14:01:42 -04:00
Matthias Clasen
b22b2298be GtkViewport: Don't do silly things in a setter
Just queue a resize instead of fiddling with the size allocation.
2014-06-09 13:51:58 -04:00
Matthias Clasen
ee8a3a4192 Mark GtkStyleContext::direction as deprecated
The setter was deprecated a while ago, do the same for the property.
2014-06-09 13:42:07 -04:00
Matthias Clasen
ac2329b842 Mark GtkContainer::resize-mode as deprecated
The setter was deprecated a while ago, do the same for the property.
2014-06-09 13:39:38 -04:00
Matthias Clasen
f870a50f1f Add a test for property notification
This tests just a few basic things for now. Mainly, that we don't
emit redundant notifications for enum, flags, int and boolean
properties. It also checks that we do emit the expected notifications
when the value actually changes. This is checked for string, double
and float properties as well.

There is a large number of exceptions in the test, and a lot more
checks that could be done. One class of exceptions is all the places
where we have -set booleans to go along with another property. We
should have a dedicated test for these pairs. Another class of
exceptions is where naked objects created by g_object_new () just
don't have the full functionality - e.g. a tree selection without
a tree view does not work very well. We set up the instance object
better for these situations.
2014-06-09 13:31:14 -04:00
Matthias Clasen
46803aae11 GtkVolumeButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:14 -04:00
Matthias Clasen
bcd804613f GtkViewport: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:14 -04:00
Matthias Clasen
785e4d376e GtkTreeViewColumn: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
fe31f87bf0 GtkTreeView: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
d169f409b0 GtkTreeSelection: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
71ac4d626e GtkToolPalette: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
cf6274c979 GtkToolItemGroup: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:13 -04:00
Matthias Clasen
40c3804ecd GtkToolbar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:12 -04:00
Matthias Clasen
6e64bc13de GtkTextView: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:12 -04:00
Matthias Clasen
eed1ae682b GtkSwitch: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:12 -04:00
Matthias Clasen
17059f9c17 GtkToolItem: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:12 -04:00
Matthias Clasen
3074fcf31d GtkToolButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:11 -04:00
Matthias Clasen
db8101c998 GtkToggleToolButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:11 -04:00
Matthias Clasen
b73e810613 GtkStyleContext: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:11 -04:00
Matthias Clasen
1208539eff GtkStatusIcon: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:10 -04:00
Matthias Clasen
9321b30b0b GtkSpinner: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:10 -04:00
Matthias Clasen
d03752cdcc GtkSpinButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:10 -04:00
Matthias Clasen
83669856b2 GtkSizeGroup: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:09 -04:00
Matthias Clasen
4867e95291 GtkSeparatorToolItem: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:09 -04:00
Matthias Clasen
710a5b3a90 GtkSearchBar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:09 -04:00
Matthias Clasen
115faae371 GtkSearchBar: Handle lack of an entry
We were not dealing with the possibility of priv->entry being
NULL in all places.
2014-06-09 13:31:09 -04:00
Matthias Clasen
0dd1102cc4 GtkSeparator: Explicitly notify orientation 2014-06-09 13:31:08 -04:00
Matthias Clasen
ed6f9c1ee9 GtkScrolledWindow: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:08 -04:00
Matthias Clasen
570194640e GtkScrollable: Use G_PARAM_EXPLICIT_NOTIFY
Implementors will have to be adjusted.
2014-06-09 13:31:08 -04:00
Matthias Clasen
0505a189d3 GtkScaleButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:08 -04:00
Matthias Clasen
1740663584 GtkScale: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
f80ff85745 GtkRecentChooserMenu: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
e6f413c6a7 GtkRange: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
f446ffdd5d GtkProgressbar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
e1d1ed863e GtkPrintOperation: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:07 -04:00
Matthias Clasen
8915e9cf42 GtkPopover: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
22cc9749c9 GtkPaned: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
c93355616f GtkNotebook: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
47615f32bf GtkMessageDialog: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
c1540464b7 GtkMenuShell: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
cfbfeb1b3c GtkMenuButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:06 -04:00
Matthias Clasen
0d528ab391 GtkMenuBar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:05 -04:00
Matthias Clasen
60fbb2bb89 GtkMenu: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:05 -04:00
Matthias Clasen
3f3f26d8a1 GtkLinkButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:05 -04:00
Matthias Clasen
45c84a63a3 GtkLevelBar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:05 -04:00
Matthias Clasen
46828a41b0 GtkLayout: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:05 -04:00
Matthias Clasen
6ac00a7ff7 GtkInfoBar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:04 -04:00
Matthias Clasen
726d603f61 GtkIMContext: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:04 -04:00
Matthias Clasen
720561475d GtkIconView: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:04 -04:00
Matthias Clasen
68673963fc GtkImage: Use G_PARAM_EXPLICIT_NOTIFY
And make use of the new icon helper API to avoid
redundant notification.
2014-06-09 13:31:04 -04:00
Matthias Clasen
7e40d74b0b GtkIconHelper: Change setters to return success
This makes it easier to avoid redundant notifications in users.
2014-06-09 13:31:04 -04:00
Matthias Clasen
d1f6858b36 GtkHeaderBar: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:04 -04:00
Matthias Clasen
efc2166c25 GtkGrid: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:03 -04:00
Matthias Clasen
f195322254 GtkGestureSingle: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:03 -04:00
Matthias Clasen
11224f521d GtkGesturePan: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:03 -04:00
Matthias Clasen
372223ac94 GtkRecentChooserDefault: Adapt to explicit notify 2014-06-09 13:31:03 -04:00
Matthias Clasen
f6e5f88454 GtkRecentChooser: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:03 -04:00
Matthias Clasen
92e30dadc2 GdkOffscreenWindow: Fill in a few more vfuncs
Mostly to avoid special cases in testcases.
2014-06-09 13:31:03 -04:00
Matthias Clasen
110f859899 GtkEventController: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:02 -04:00
Matthias Clasen
eebb73032a GtkFontButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:02 -04:00
Matthias Clasen
2a7bed6858 GtkFontButton Trivial cleanup
Replace GTK_PARAM_READABLE|GTK_PARAM_WRITABLE by GTK_PARAM_READWRITE.
2014-06-09 13:31:02 -04:00
Matthias Clasen
eb34ff5b48 GtkFontButton: Fix the handling of show-preview-button
We were not storing the value at all, and not notifying.
2014-06-09 13:31:02 -04:00
Matthias Clasen
595a44680a GtkFontChooser: Use G_PARAM_EXPLICIT_NOTIFY for show-preview-entry
Implementors will have to be adjusted.
2014-06-09 13:31:01 -04:00
Matthias Clasen
6877253e14 GtkFlowBox: Explicitly notify orientation 2014-06-09 13:31:01 -04:00
Matthias Clasen
43ba93971c GtkExpander: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:01 -04:00
Matthias Clasen
544b5b0fe6 GtkEventBox: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:01 -04:00
Matthias Clasen
e3dc90dc9b GtkToggleButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:01 -04:00
Matthias Clasen
bce70ca75e GtkMenuItem: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:00 -04:00
Matthias Clasen
3ae562aca2 GtkFrame: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:00 -04:00
Matthias Clasen
331c28b369 GtkEntryCompletion: Use G_PARAM_EXPLICIT_NOTIFY
Also, use the setter for text-column, internally.
2014-06-09 13:31:00 -04:00
Matthias Clasen
07af47ce3e GtkEntryBuffer: Use G_PARAM_EXPLICIT_NOTIFY
Also avoid redundant notification for max-length.
2014-06-09 13:31:00 -04:00
Matthias Clasen
ec6056a574 GtkEntry: Explicitly notify for populate-all 2014-06-09 13:30:59 -04:00
Matthias Clasen
056acf92ec GtkEntry: Don't forget to notify for the tooltip markup props 2014-06-09 13:30:59 -04:00
Matthias Clasen
c411de437a GtkColorChooserWidget: Explicitly notify for use-alpha 2014-06-09 13:30:59 -04:00
Matthias Clasen
a215a4c762 GtkColorChooserDialog: Explicitly notify for use-alpha 2014-06-09 13:30:59 -04:00
Matthias Clasen
d5a119ae9b GtkColorChooser: Use G_PARAM_EXPLICIT_NOTIFY for use-alpha
Implementors will need to adjust.
2014-06-09 13:30:58 -04:00
Matthias Clasen
b28123dd3c GtkColorButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:58 -04:00
Matthias Clasen
2f82250cc1 GtkCheckMenuItem: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:58 -04:00
Matthias Clasen
bfc1a2118f GtkCellView: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:58 -04:00
Matthias Clasen
d33b14bfbe GtkCellView: Explicitly notify for orientation 2014-06-09 13:30:57 -04:00
Matthias Clasen
2d88a3ae30 GtkCellRendererToggle: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:57 -04:00
Matthias Clasen
c96f5b953a GtkCellRendererText: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:57 -04:00
Matthias Clasen
ce76a47d68 GtkCellRendererSpin: Use G_PARAM_EXPLICIT_NOTIFY
Also avoid redundant notification for ::digits.
2014-06-09 13:30:56 -04:00
Matthias Clasen
31654f4515 GtkCellRendererProgress: Use G_PARAM_EXPLICIT_NOTIFY
Also add explicit notification and avoid redundant notification
for some properties.
2014-06-09 13:30:56 -04:00
Matthias Clasen
af4d142df5 GtkCellRendererCombo: Use G_PARAM_EXPLICIT_NOTIFY
And add explicit notification for some properties.
2014-06-09 13:30:56 -04:00
Matthias Clasen
da4a1e1594 GtkCellRenderer: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:56 -04:00
Matthias Clasen
be25e4ebcb GtkCellAreaBox: Explicitly notify orientation 2014-06-09 13:30:56 -04:00
Matthias Clasen
510c2cdfb6 GtkWindow: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:55 -04:00
Matthias Clasen
05cabd3557 GtkWindow: Trivial cleanup 2014-06-09 13:30:55 -04:00
Matthias Clasen
8677446fe0 GtkLabel: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:55 -04:00
Matthias Clasen
1720eb4713 GtkComboBox: Notify for has-frame and editing-canceled 2014-06-09 13:30:55 -04:00
Matthias Clasen
9722ae0458 GtkCellEditable: Use G_PARAM_EXPLICIT_NOTIFY
This is an interface property, so all implementors will have
to adjust to this.
2014-06-09 13:30:55 -04:00
Matthias Clasen
5ce3d8e74f GtkAppChooserButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:54 -04:00
Matthias Clasen
d6cae074a6 GtkContainer: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:54 -04:00
Matthias Clasen
acad03f77b GtkWidget: Use G_PARAM_EXPLICIT_NOTIFY
A few properties here are special, and can't benefit from it:
those which are just shorthands, like ::margin and ::expand,
and those that have explicit -set properties, like::hexpand
and ::vexpand.
2014-06-09 13:30:54 -04:00
Matthias Clasen
2e04899ee5 GtkOrientable use G_PARAM_EXPLICIT_NOTIFY
This one is a little tricky, since we override this property
in many places, and you cannot add flags when overriding. So,
all places where this is overridden will have to make sure to
notify explicitly.
2014-06-09 13:30:54 -04:00
Matthias Clasen
126942f04c GtkEntry: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:54 -04:00
Matthias Clasen
1139b21997 GtkCellRendererText: Use G_PARAM_EXPLICIT_NOTIFY for 'alignment' 2014-06-09 13:30:54 -04:00
Matthias Clasen
8b1757b6e0 GtkCellAreaBox: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:54 -04:00
Matthias Clasen
d5c56ea780 GtkCalendar: Use G_PARAM_EXPLICIT_NOTIFY
And make sure we correctly notify for all properties.
2014-06-09 13:30:53 -04:00
Matthias Clasen
c5c3c335a6 GtkAspectFrame: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:53 -04:00
Matthias Clasen
b9e7d1e8a6 GtkApplicationWindow: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:53 -04:00
Matthias Clasen
1bb880af36 GtkApplicationWindow: Avoid a crash
In several places, we were not correctly dealing with the
possibility of application not being set.
2014-06-09 13:30:53 -04:00
Matthias Clasen
81c35b5b6e GtkAppChooserWidget: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:53 -04:00
Matthias Clasen
ed28a71bf2 GtkAppChooserButton: Fix a possible crash
We were not correctly dealing with content_type being NULL
in one place.
2014-06-09 13:30:53 -04:00
Matthias Clasen
5727a86760 GdkDevice: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:53 -04:00
Matthias Clasen
a27ba44331 GtkComboBox: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:53 -04:00
Matthias Clasen
5e04bd04c8 GtkCellRendererSpinner: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:52 -04:00
Matthias Clasen
f4e60bc36d GtkCellRendererAccel: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:52 -04:00
Matthias Clasen
e423c045d5 GtkButtonBox: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:52 -04:00
Matthias Clasen
f531b0757c GtkBox: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:52 -04:00
Matthias Clasen
06564f5df6 GtkBox: Convert to g_object_install_properties 2014-06-09 13:30:52 -04:00
Matthias Clasen
e54525729e GtkBox: Move overridden property ids to the end
This will make it easier to convert to g_object_install_properties
in the next commit.
2014-06-09 13:30:52 -04:00
Matthias Clasen
d218e17a2a GtkButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:52 -04:00
Matthias Clasen
62d591a550 GtkButton: Convert to g_object_class_install_properties 2014-06-09 13:30:51 -04:00
Matthias Clasen
fba83da3ee GtkAccelLabel: use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:51 -04:00
Matthias Clasen
10f8ea27bf GtkAccelLabel: Convert to g_object_class_install_properties 2014-06-09 13:30:51 -04:00
Matthias Clasen
bc46df34fc GtkAboutDialog: Use a setter for wrap-license
This avoids redundant notification.
2014-06-09 13:30:51 -04:00
Matthias Clasen
09a589b716 GtkAboutDialog: Fix a parameter check
When we expanded the GtkLicense enumeration in 3.12, we forgot
to update the limit check in gtk_about_dialog_set_license_type.
Caught by testing property notification for enum properties.
2014-06-09 13:30:51 -04:00
Matthias Clasen
06ab3e7477 GtkAboutDialog: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:51 -04:00
Matthias Clasen
c8acad2816 GtkAboutDialog: Convert to g_object_class_install_properties 2014-06-09 13:30:51 -04:00
Matthias Clasen
fae5302eae GtkRevealer: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:51 -04:00
Matthias Clasen
07e180fef0 GtkRevealer: Convert to g_object_class_install_properties 2014-06-09 13:30:51 -04:00
Matthias Clasen
51d17910a1 GtkFlowBox: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:50 -04:00
Matthias Clasen
b549e52c2c GtkFlowBox: Convert to g_object_class_install_properties 2014-06-09 13:30:50 -04:00
Matthias Clasen
45801c8f2c GtkFlowBox: Move overridden prop ids to the end
This makes it easier to convert to g_object_class_install_properties
in the next commit.
2014-06-09 13:30:50 -04:00
Matthias Clasen
ac08d6a421 GtkFlowBox: Drop unused prop ids
No h/valign properties here.
2014-06-09 13:30:50 -04:00
Matthias Clasen
6e03ac9958 GtkListBox: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:50 -04:00
Matthias Clasen
d591341bd1 GtkStack: Avoid a few redundant notify emissions
A few of the property setters were missing the
standard checks.
2014-06-09 13:30:50 -04:00
Matthias Clasen
0a681f9224 GtkStack: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:30:49 -04:00
Matthias Clasen
1edfc8c372 Bump required GLib version
For G_PARAM_EXPLICIT_NOTIFY.
2014-06-09 13:30:49 -04:00
Benjamin Otte
bb3174c913 reftests: Fix random failures of reftest
The reftest is testing "transparent" works as expected by drawing a
purple background once with purple and once with transparent and
expecting the same result. This works fine unless anti-aliasing happens
at rounded corners. The overdraw of the 2nd background changes the
antialiased pixels.

Fix this by explicitly setting the border radius to 0.

Also reindent the file to make it more readable.
2014-06-09 19:18:48 +02:00
Chun-wei Fan
37fbffaa1c Fix MSVC 2008 Projects
...Make up for a missed &#x0D;&#x0A; required for a new line in commands...
2014-06-09 14:39:35 +08:00
Chun-wei Fan
e26bdbda9b MSVC Builds: Update Introspection Build
The a11y headers are now listed with the main Makefile.am of GTK, and
GDK introduced deprecated headers, so we need to account for them for the
build of the introspection files.
2014-06-09 12:44:46 +08:00
Chun-wei Fan
bdc9d17edc Visual Studio Builds: Update Headers "Installation" 2014-06-09 12:42:56 +08:00
Chun-wei Fan
8e88a2e136 MSVC 2010+ Projects: Update "Installation" Process
Currently, due to the way that Visual Studio 2010+ projects are handled,
the "install" project does not re-build upon changes to the sources, as it
does not believe that its dependencies have changed, although the changed
sources are automatically recompiled.  This means that if a part or more
of the solution does not build, or if the sources need some other fixes
or enhancements, the up-to-date build is not copied automatically, which
can be misleading.

Improve on the situation by forcing the "install" project to trigger its
rebuild, so that the updated binaries can be copied.  This does trigger an
MSBuild warning, but having that warning is way better than not having an
up-to-date build, especially during testing and development.
2014-06-09 11:48:54 +08:00
Juan R. Garcia Blanco
15c34b22d2 inspector: Fix build with quartz backend
Add -xobjective-c to libgtkinspector_la_CFLAGS to handle objc headers.
2014-06-08 11:52:45 +02:00
Matthias Clasen
111b3bca0b docs: Sort style classes alphabetically
Otherwise, it is pretty hard to keep track of what
classes are missing from the list. As a consequence,
several of the existing classes were missing. Add those
at the same time.
2014-06-06 22:07:15 -04:00
Matthias Clasen
3aa1350bd0 GtkWindow: always input-shape csd windows
Even if we don't have border windows, we need to set the input
shape so we ignore clicks in the shadow region.
2014-06-06 22:07:14 -04:00
Matthias Clasen
3266b4dd9b inspector: Make picking more robust
Apparently ClutterOffscreen returns NULL as a window.
While that is not cool, we shouldn't crash.
2014-06-06 13:35:40 -04:00
Matthias Clasen
02a44c454c GtkDialog: Be a little more careful about button placement
We were applying response based heuristics, even if the button
is explicitly put in the headerbar. That broke button placement
in some epiphany dialogs, such as the Cookies one. Therefore,
restrict the heuristics to action widgets that are added through
gtk_widget_add_action_widget() or <child type="action">, where it
is not possible to specify placement explicitly.
2014-06-06 13:00:06 -04:00
Matthias Clasen
9c6c4fdeb8 GtkDialog: avoid a crash
Just because use-header-bar is set, it is not safe to assume
every action widget is in the headerbar, so be careful when
setting child properties.
2014-06-06 12:20:57 -04:00
Florian Müllner
add67b516c wayland: Explicitly handle classic mode for now
There are plans to add session-dependent defaults to GSettings
(based on the newly standardized XDG_CURRENT_DESKTOP); until
then, the WM uses a different schema for its button-layout
setting in classic mode. So for the time being, do the same
and pick the alternative schema when XDG_CURRENT_DESKTOP
indicates that we are in a classic session.
(It's not pretty, but hopefully won't be with us for too long ...)

https://bugzilla.gnome.org/show_bug.cgi?id=731273
2014-06-06 15:32:59 +02:00
Florian Müllner
f4c963ef74 wayland: Set gtk-decoration-layout
Pick up the setting from the org.gnome.desktop.wm.preferences schema
if available. It is slightly more involved than other settings, as
the actual button names used in the schema differ from the ones we
use, so we need an additional translation step.

https://bugzilla.gnome.org/show_bug.cgi?id=731273
2014-06-06 15:32:59 +02:00
Chun-wei Fan
d8de23bef6 gtk/gtkkineticscrolling.c: Include fallback-c89.c
... as round() is being used, which is for C99 and later.  fallback-c89.c
includes math.h as well.
2014-06-06 14:47:19 +08:00
Matthias Clasen
763f0a37c1 inspector: Avoid a crash
An unset action-name should not cause us to crash.
2014-06-05 21:08:56 -04:00
Matthias Clasen
1e63d94a06 widget-factory: Avoid a crash
We want to be able to show the dialogs more than once, so just
hide them on delete.
2014-06-05 18:46:50 -04:00
Matthias Clasen
7aadd6fd2e Remove unintentional addition
Debugging leftovers.
2014-06-05 18:12:42 -04:00
Matthias Clasen
fbc3c1494f widget-factory: Show some 'standard' dialog types
Add examples for the types of dialog that are mentioned
in the GNOME HIG: information dialogs, action dialogs and
preference dialogs.
2014-06-05 18:08:45 -04:00
Matthias Clasen
d724175e49 GtkDialog: Improve the buildable implementation
When combining action child type with <action-widgets> to assign
response ids, we were not properly updating buttons that ended up
getting added to the headerbar before they have a response id.
Fix this by reapplying the headerbar button setup after parsing
<action-widgets>, and make sure to also update the suggested-action
style class.
2014-06-05 18:08:45 -04:00
Matthias Clasen
85a4b65f11 Trivial string change
Capitalize 'Expander' in the widget-factory UI.
2014-06-05 18:08:44 -04:00
Carlos Garnacho
246e6cd0b9 combobox: Fix reentrancy in gtk_combo_box_popdown()
If called when already popped down, warnings would be issued due
to priv->grab_pointer being unexpectedly NULL, this would happen
in regular operation when selecting items in appears-as-list mode.

So both add a NULL check for priv->grab_pointer, and bail out early
if the popup window is already hidden.
2014-06-05 21:16:05 +02:00
Piotr Drąg
0e8e550187 Updated POTFILES.in and POTFILES.skip 2014-06-05 17:27:15 +02:00
Lieven van der Heide
828594d5bd scrolledwindow: Replace kinetic scrolling with GtkKineticScrolling
Two GtkKineticScrolling helpers are used, one per axis direction.

https://bugzilla.gnome.org/show_bug.cgi?id=729608
2014-06-05 16:49:23 +02:00
Lieven van der Heide
c726226825 gtk: Add kinetic scrolling helper
GtkKineticScrolling implements the actual physics laws for friction
and springs. When created, position/velocity/boundaries/constants are
given, so at every gtk_kinetic_scrolling_tick() it returns the current
position, and whether the system is in rest.

https://bugzilla.gnome.org/show_bug.cgi?id=729608
2014-06-05 16:49:23 +02:00
Carlos Garnacho
3ffb4fa699 flowbox: Use gestures for event management
A multipress gesture takes care of item selection/activation, and
a drag gesture is used to manage events when rubberbanding selection
is performed.
2014-06-05 16:15:54 +02:00
Carlos Garnacho
933ff62f66 listbox: Use multipress gesture for row selection/activation
This gesture replaces the button_press/release_event handlers.
2014-06-05 16:15:54 +02:00
Carlos Garnacho
8dcdec58eb label: Use gestures for event management
A multipress gesture takes care of link handling, and char/word/all
selection mode on selectable labels. A drag gesture is used for both
text selection and DnD checks on selectable labels.
2014-06-05 16:15:54 +02:00
Carlos Garnacho
26dff0d783 range: Use GtkGesture for event management
A multipress gesture takes care of clicks, and where those happened.
If the click is meant to move the slider while pressed, the drag gesture
takes over, dragging the slider while active.
2014-06-05 16:15:54 +02:00
Carlos Garnacho
fbb3fdda8c expander: Use multipress gesture for event management
This actually acts regardless of the value n_press, alternatively
expanding and collapsing the GtkExpander.
2014-06-05 16:15:54 +02:00
Carlos Garnacho
90424289fb widget: reset all controllers when the widget becomes insensitive
Widgets becoming insensitive won't receive further events, but there
could be chances the controllers don't get properly notified and reset
in those situations.
2014-06-05 16:15:54 +02:00
Matthias Clasen
14d1a5cba4 inspector: Make GMenu content show up
My problem was that all the content is usually hidden away
in sections, so without recursion, nothing shows up. So,
implement the recursion then.
2014-06-05 09:29:18 -04:00
Matthias Clasen
af8bd96e6e Forgotten file 2014-06-05 08:35:07 -04:00
Matthias Clasen
2346ccde43 inspector: show GMenus
This does not quite work yet, and I have no idea why.
2014-06-05 08:32:15 -04:00
Ryan Lortie
8011d853e1 GtkMenuTracker: fix signal handler argument list
The signal handler for the visibility of menu items changing had the
wrong signature, resulting in the GParamSpec from the notify signal
being treated as a boolean (which was always true).  This resulted in
items being added over and over and never being removed.

Fix that...
2014-06-05 08:29:59 -04:00
Yosef Or Boczko
797a45bcf9 Updated Hebrew translation 2014-06-05 14:07:46 +03:00
Matthias Clasen
582504cc33 inspector: Actually destroy the property editors
We were never finalizing any of the popovers used for editing
properties. Fix that.
2014-06-05 05:57:50 -04:00
Matthias Clasen
7a8092998a inspector: Fix a memory leak 2014-06-05 05:57:50 -04:00
Matthias Clasen
27f692da2d inspector: Add an initial action editor
Use a popup, like we do for properties. For now, it allows
activating the action (with parameter, if necessary) and
setting the state.
2014-06-05 05:57:49 -04:00
Chun-wei Fan
bbed824320 gtk/deprecated/gtkcolorsel.c: Include gtkwindowgroup.h
Since commit 872fbfac the GtkWindowGroup was split out from the GtkWindow
sources, so include gtkwindowgroup.h to avoid C4013 warnings/errors
(implicit declaration of ...) on gtk_window_group_add_window().
2014-06-05 14:45:35 +08:00
Matthias Clasen
2bbea2bc93 Expand GtkWindowGroup docs 2014-06-04 21:25:05 -04:00
Matthias Clasen
23aeb955ce inspector: Lower the inspector window when picking
This avoids the problem  of the inspector window covering the
widget you want to pick.
2014-06-04 20:29:10 -04:00
Matthias Clasen
205e8f7e58 inspector: Show the widget tree when picking
Makes more sense that way.
2014-06-04 20:12:42 -04:00
Matthias Clasen
1c232066b8 inspector: Go to the desired tab
We were setting the next-tab properly, but were trying to
read it off the wrong object. Now, going from a cell renderer
attribute mapping to the model, or from an action-name to the
action actually works.
2014-06-04 19:28:24 -04:00
Carlos Garnacho
524e28a13c tests: Add multitouch gesture tests
So far, gesture behavior on lack/excess of touchpoints is tested, as well
as sequence hand-in between gestures in these situations.
2014-06-04 13:54:41 +02:00
Carlos Garnacho
cb059bfc1b widget: Set GDK_BUTTON1_MASK on emulated pointer events
The touch_event handler was missing those when emulating pointer events
for the widgets that get GDK_TOUCH_MASK set, but have no specialized
touch handlers.
2014-06-04 13:44:56 +02:00
Matthias Clasen
7a0642743d Fix up internal function naming
Even if you believe this functionality belongs into gdk, it
is not ok to name internal functions in gtkwindow.c gdk_window...
2014-06-04 06:38:20 -04:00
Matthias Clasen
872fbfacd3 Split GtkWindowGroup into its own file
gtkwindow.c is too big and too messy. This is a small step
towards making it better.
2014-06-04 06:24:05 -04:00
Matthias Clasen
d467850af0 Shorten test paths 2014-06-03 14:22:55 -04:00
Matthias Clasen
c11b7e44a0 label-sizing reftest: Hardcode ltr
This reftest doesn't work in rtl.
2014-06-03 12:28:06 -04:00
Matthias Clasen
ac59f0ac08 reftests: Add a way to hardcode text direction
Some tests don't work in rtl, so add a way to hardcode
the expected text direction. This is in preparation for
running reftests in an rtl locale.
2014-06-03 12:28:06 -04:00
Carlos Garnacho
94f573d8a4 tests: Add tests for grab interaction with gestures
The behavior of gestures that are kept outside/inside a grab is tested,
to ensure the former are cancelled and the latter remain unchanged.
2014-06-03 16:13:25 +02:00
Carlos Garnacho
25f5da5018 widget: Ensure all gestures outside a grab scope are cancelled
This code is a product of early stages in the gestures branch, where
capturing would have an effect outside grab boundaries. But this isn't
really the case, so every gesture outside the grab scope must be reset
to avoid keeping stale data.
2014-06-03 16:13:25 +02:00
Carlos Garnacho
93f72985bf tests: Add gesture tests for early/late sequence claiming
This tests both a sequence being claimed early to be then denied
(and handled deeper in propagation chain), and a sequence being
claimed late in the capture phase (and thus being cancelled deeper
in the propagation chain)
2014-06-03 16:13:25 +02:00
Carlos Garnacho
fd1a566d46 tests: Inform of gesture updates during recognition
May be useful to find out which gestures are still being triggered
by a sequence.
2014-06-03 16:13:25 +02:00
Carlos Garnacho
fe7215e369 testsuite: Prepare gestures testsuite for mouse/touch events
state is preserved for mouse emulation, and up to 10 touchpoints for touch
emulation.
2014-06-03 15:59:03 +02:00
Carlos Garnacho
26ced6abad widget: Only deny a sequence if it was previously claimed
Before this change, a sequence being claimed deep in the event propagation
chain would make the sequence go denied on every ancestor, regardless of
previous state.

To make things more consistent, only deny the sequence if it was previously
claimed, so the behavior is the same for gesture groups within the widget
than for those outside the widget.

The gestures testsuite has been updated to reflect this new behavior.
2014-06-03 15:59:03 +02:00
Carlos Garnacho
c773859c99 gesture: Ensure late gestures handling the sequence get the group state
It might happen that a gesture claims a sequence before any other gesture
in its group even handled a single event from that sequence. In that case,
ensure the state is set accordingly right when the sequence is handled in
those.

The "group" gesture testcase has been updated to observe this behavior.
2014-06-03 15:59:03 +02:00
Matthias Clasen
f6cf7fee73 inspector: Parse custom css with a delay
The CSS editor was feeling a little sluggish, because it was
reparsing and reapplying the CSS on every keystroke. Add a small
delay, to make this feel smoother.
2014-06-03 09:44:28 -04:00
Benjamin Otte
45dbd84ff3 reftests: Use "all" property in inherit-and-inital test 2014-06-03 14:35:00 +02:00
Chun-wei Fan
61b9bcf1d5 MSVC Projects: "Generate" the gtk-inspector Projects
Like the GDK and GTK portions, use autotools scripts to generate the
complete projects for gtk-inspector as sources there seem to change from
time to time.

It might be so that this, like the a11y sources, will be referenced from
the main Makefile.am of GTK directly, but just do this so that the
projects can build properly.
2014-06-03 17:03:40 +08:00
Chun-wei Fan
dd4bc9fd09 gdk/Makefile.am: Fix MSVC Project Generation
We need to account for the sources that moved to gdk/deprecated/, so the
slashes must be converted here.
2014-06-03 17:00:02 +08:00
Chun-wei Fan
ddc3f8eae7 MSVC Builds: Update the gtk-demo Projects
Add the gestures demo sources into the build, so that the build will
complete properly.
2014-06-03 16:55:46 +08:00
Chun-wei Fan
48533b7b60 Update Visual Studio Solution Files
Remove all references to the gtka11y projects as they are all built
together with the GTK DLL.

https://bugzilla.gnome.org/show_bug.cgi?id=730615
2014-06-03 16:46:53 +08:00
Matthias Clasen
42945f0d74 Run reftests repeatedly
Install test files that run the reftests in the
Adwaita:dark and HighConstrast themes. It works,
so why not.
2014-06-02 22:46:23 -04:00
Matthias Clasen
7f8d0552f0 Drop debug spew from installed tests
This is no longer needed, we found the problem.
2014-06-02 22:37:29 -04:00
Matthias Clasen
5bebbb06fa Add an expander reftest
This test check that resizing the window when expanding
the expander yields the same end result as having the
expander expanded to begin with. The test uses the inhibit
mechanism introduced in the previous commit.
2014-06-02 22:36:01 -04:00
Matthias Clasen
b86f5a4086 Add a way to delay snapshots in reftests
This adds an inhibit api that code from the reftest module
can use to delay the taking of the snapshot. Also refactor
the code in gtk-reftest to use the inhibit mechanism for
its own delaying of the snapshot until after the first
expose.
2014-06-02 22:35:59 -04:00
Matthias Clasen
16c89eb5f7 Forgotten file 2014-06-02 21:43:04 -04:00
Matthias Clasen
94c065d647 Add a reftest for flipping icons
Taking advantage of our new direction flipping ability.
2014-06-02 21:41:32 -04:00
Carlos Garnacho
3c0ebf65cf window: Only check for the event widget if clicked on the "content" region
Every button press/release event reaching the the multipress gesture in GtkWindow
and happening in the "title" region must be handled, regardless of the event widget.
Children there wanting the event(s) for themselves are (and were always) expected
to stop event propagation.

So the only place to check for the event widget's "window-dragging" style property
is the "content" region, which matches the pre-gestures behavior.

This fixes some issues with sequences being mistakenly claimed (and events not
propagated further) on situations it shouldn't.
2014-06-02 18:38:25 +02:00
Carlos Garnacho
00656ed10b window: Handle manually bubbled events
The multipress gesture must react to either direct events on the
GtkWindow (special cased through _gtk_widget_check_handle_wm_event),
or bubbled events from child widgets. Ensure bubbled events go
through the gesture, those are fed manually to make sure events are
only handled once, in either one or other place. The implicit grab
will ensure that doesn't change mid-action.
2014-06-02 18:38:25 +02:00
Carlos Garnacho
7f33706c12 window: Refactor _gtk_window_check_handle_wm_event()
Separate the event widget check from event handling
2014-06-02 18:38:25 +02:00
Carlos Garnacho
e1c425a24d treeview: Ensure the event is consumed on ::row-activate
Otherwise the event is possibly handled, but still propagated further anyway.
Ensure the event is consumed by claiming the current sequence on the
GtkGestureMultiPress::pressed handler.
2014-06-02 18:38:25 +02:00
Carlos Garnacho
541ed65a51 treeview: restrict the multipress gesture to GDK_BUTTON_PRIMARY
::row-activated only used to be triggered by GDK_BUTTON_PRIMARY, so make
the multipress gesture handling this now to be only triggered by that same
button.

https://bugzilla.gnome.org/show_bug.cgi?id=731020
2014-06-01 21:57:15 +02:00
Matthias Clasen
a3cd0ee7d8 Revert "Use minimum/natural size semantics"
This reverts commit 6d53c2339f.

https://bugzilla.gnome.org/show_bug.cgi?id=731054 showed some
major regressions caused by this commit.
2014-06-01 10:20:08 -04:00
Matthias Clasen
73ff6a8e0f Revert "Better resize of expandable columns"
This reverts commit 0050d469b5.

Conflicts:
	gtk/gtktreeview.c
2014-06-01 10:19:14 -04:00
Matthias Clasen
fd62353e25 Avoid another revert conflict
Moving this bit up a few lines lets the following revert apply
cleanly.
2014-06-01 10:18:38 -04:00
Matthias Clasen
210453b79e Revert "treeview: Remove unneeded checks"
This reverts commit a158a2aa48.

The commit conflicts with a later revert, so move it out of the way.
2014-06-01 10:17:59 -04:00
Matthias Clasen
97930a774b Add more gestures tests
Some of these sequences look wrong/questionable to me.
2014-05-31 18:46:43 -04:00
Matthias Clasen
bdf81a7c70 gestures test: make more readable 2014-05-31 12:54:36 -04:00
Matthias Clasen
4298e88f48 gestures: Add a test for grouping
I'm not entirely convinced the test produces the expected
outcome, here.
2014-05-31 12:48:14 -04:00
Matthias Clasen
1c24b288b0 Expand gesture tests a big more
Print out sequence state changes, and cancellation, and verify that
claiming a gestures causes the expected state changes.
2014-05-31 12:26:15 -04:00
Carlos Garnacho
995b6d1fd4 textview: Only trigger drag gesture on GDK_BUTTON_PRIMARY
This gesture was only meant to react on GDK_BUTTON_PRIMARY (either
through real pointer events, or implicitly assumed from touch events),
as it used to behave before gestures. Otherwise the gtk_drag_begin*()
call assumes being triggered by button 1, and the drag misbehaves
because that button isn't really in the state mask.

https://bugzilla.gnome.org/show_bug.cgi?id=731016
2014-05-31 15:11:05 +02:00
Piotr Drąg
fc1e274b89 Updated POTFILES.skip 2014-05-31 15:08:21 +02:00
Benjamin Otte
86267fd9bd gtk-reftest: Add GMODULE_CFLAGS/LIBS
They aren't included in GTK_DEP_CFLAGS/LIBS so they need to be added
manually.
2014-05-31 14:40:13 +02:00
Matthias Clasen
98cf67ddba testsuite: put installed tests in the right place
Follow the prevailing practice and put the installed tests
into $libdir/installed-tests/$PACKAGE instead of
$pkglibdir/installed-tests.
2014-05-31 00:16:07 -04:00
Matthias Clasen
921b6519f1 inspector: better type detection for resources
Pass the name to g_content_type_guess. With this, most
CSS gets sniffed as C source code.
2014-05-30 23:45:11 -04:00
Matthias Clasen
5880c9e365 gtk-reftest: Don't warn needlessly
Only warn about the --direction argument if the option was
actually specified.
2014-05-30 23:30:56 -04:00
Matthias Clasen
e4ba5b6ab6 inspector: Go to the right tab when changing objects
When going from attribute mapping to model, it makes most sense
to go directly to the data tab, and when going from an action
name to the owner, we want to show the actions tab. Make it so.
2014-05-30 23:22:29 -04:00
Matthias Clasen
5ed6653859 inspector: Allow jumping to actions
The property editor for action-name properties now offers
to go to the object where the action is defined.
2014-05-30 23:22:29 -04:00
Matthias Clasen
d33ff810cc inspector: Trivial string change
'Size Groups' looks better than 'Sizegroups'.
2014-05-30 23:22:29 -04:00
Benjamin Otte
a18ec83b3b reftests: Add reftest for direction change
This reftest makes use of the new feature to add signal handlers.

It adds a libreftest.so module containing all the code for the reftests.
When adding a test named reftest.ui, please keep code contained in a
source file names reftest.c and add that file to Makefile.am.

https://bugzilla.gnome.org/show_bug.cgi?id=730833
2014-05-31 05:19:41 +02:00
Debarshi Ray
047d2b5f6d Update GtkImage icons when the direction is changed
Don't call gtk_widget_set_state_flags(), it filters the direction flags.
Instead, call gtk_widget_update_state_flags() directly.

https://bugzilla.gnome.org/show_bug.cgi?id=730833
2014-05-31 05:19:41 +02:00
Benjamin Otte
690fb31fb4 gtk-reftest: Clarify --direction argument parameters
... and print a proper error message when the parameter is not
recognized.
2014-05-31 05:19:41 +02:00
Benjamin Otte
8bba9b6a4a gtk-reftest: Allow loading code for reftests
When connecting signal names, gtk-reftest now allows you to use a colon
in the signal handler name like so:
  module:function_name
where module is a module loaded from the same directory (or the .libs
subdirectory for compatibility with uninstalled libtool) as the running
test and the function is resolved in that module. Of course, normal
function names work as before.
2014-05-31 05:19:41 +02:00
Benjamin Otte
030140ccc4 reftests: Add a reftest with signals 2014-05-31 05:19:40 +02:00
Benjamin Otte
1e4fea7ca9 reftests: Automatically connect signals 2014-05-31 05:19:40 +02:00
Benjamin Otte
3df52ae6d5 builder: Cleanup
Use the usual way of providing user data to vfuncs:
- Don't allocate it, use the stack
- Use CamelCase for naming the struct
2014-05-31 05:19:40 +02:00
Matthias Clasen
bb9bf4b408 inspector: Handle attribute mapping changes better
When the mapping is changed, notify the property and
queue a draw on the widget. This makes both the inspector
and the app update their display.
2014-05-30 21:56:07 -04:00
Matthias Clasen
2e4c87038e inspector: some code reshuffling 2014-05-30 21:35:39 -04:00
Matthias Clasen
6a9ea3487e inspector: Support saving CSS
We have a file chooser, lets use it.
2014-05-30 20:35:43 -04:00
Matthias Clasen
eec1bc7ed1 GtkPrintUnixDialog: Remove some dead code
Automatic template children get cleaned up and NULLed out in destroy,
the g_clear_pointer() calls in finalize never do anything.
2014-05-30 19:33:11 -04:00
Evan Nemerson
54ec42f035 gtk: port many nullability annotation fixes from Vala bindings
https://bugzilla.gnome.org/show_bug.cgi?id=730745
2014-05-30 13:24:20 -07:00
Matthias Clasen
4d1930cf74 Make notebook content redraw during drag
The extra condition here that caused the current child to
not redraw during reordering was introduced in f383e1f1
during the port to ::draw, but was not explained in the
commit message, and removing it has no obvious negative
effect.

https://bugzilla.gnome.org/show_bug.cgi?id=730767
2014-05-30 13:39:27 -04:00
Matthias Clasen
6de6656d1f GtkBuilder: Ensure types are fully initialized
Just calling get_type() does not ensure that the signals, properties
and everything else gets set up properly. Ensure it is, by calling
g_type_class_ref() before using the type. This fixes the testcase
added in the previous commit.
2014-05-30 12:39:07 -04:00
Matthias Clasen
1153ea86ed Add a failing builder testcase
This shows <signal> failing because class_init hasn't been run
yet.
2014-05-30 12:09:43 -04:00
Matthias Clasen
1af5f6d507 GtkActionable: Update the docs
Actionable is no longer restricted to "app" and "win" actions.
2014-05-30 07:05:50 -04:00
Matthias Clasen
8817fa9e3d GtkScrolledWindow: Add some NULL checks back
Turns out these were not quite redundant, gtk_container_forall
may be called very early during construction.

https://bugzilla.gnome.org/show_bug.cgi?id=730924
2014-05-29 21:52:40 -04:00
Matthias Clasen
489b59867c Revert "GtkMisc: Keep gtk_misc_set_alignment working"
This reverts commit aabc356b80.

Labels are back to looking at x/yalign (for now).
2014-05-29 10:32:46 -04:00
Carlos Garnacho
618e3d3157 eventcontroller: Ensure controllers stay alive during event emission
Those might trigger the destruction of some widget that would dispose the
event controller while the event is still being handled, so keep an extra
ref on the controller during event processing.
2014-05-28 19:39:07 +02:00
Carlos Garnacho
8c21b0bee5 docs: Add some more information in the "input handling model" chapter
Grabs/Touch/Gestures are now fairly well covered. Only keyboard handling
is left.
2014-05-28 15:52:14 +02:00
Evan Nemerson
9db729f5a6 gtk: fix several out argument annotations
These mostly just switch from allow-none to optional, nullable, or
both, as necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=730745
2014-05-27 21:10:33 -07:00
Evan Nemerson
a77765f172 gtk: add missing ownership annotations ported from Vala
https://bugzilla.gnome.org/show_bug.cgi?id=730745
2014-05-27 21:10:33 -07:00
Evan Nemerson
07d825574f gtk: add missing type annotations ported from Vala bindings
https://bugzilla.gnome.org/show_bug.cgi?id=730745
2014-05-27 21:10:33 -07:00
Evan Nemerson
bda145b19f gtk: fix annotation syntax and missing some missing annotations
These changes clean up various errors and omissions resulting from
either slightly incorrect G-I/gtk-doc syntax or missing documentation
blocks.

https://bugzilla.gnome.org/show_bug.cgi?id=730745
2014-05-27 21:10:32 -07:00
Evan Nemerson
e596e58c51 gtk: port missing array annotations from Vala bindings
https://bugzilla.gnome.org/show_bug.cgi?id=730745
2014-05-27 21:10:32 -07:00
Evan Nemerson
e568903360 gtk: fix many callback annotations to include closure information
Without this information introspection-based consumers don't realize
they can include context information, but instead think that they
receive an extra gpointer argument (which they don't know how to
handle).

https://bugzilla.gnome.org/show_bug.cgi?id=730745
2014-05-27 21:10:32 -07:00
Matthias Clasen
2388c69f0c Add some gesture tests
This test starts to assemble tests related to event propagation,
interaction with traditional event signal handlers, claiming of
events, etc.
2014-05-27 19:15:40 -04:00
Matthias Clasen
4841f8f773 Forgotten file
Oops.
2014-05-27 17:56:39 -04:00
Matthias Clasen
255b877915 Bump version 2014-05-27 17:49:22 -04:00
Matthias Clasen
a28d2cb923 Move extract-strings to its own directory
This will hopefully help resolve the circular dependency between
libgtk linking against inspector/libgtkinspector and inspector/
needing extract-strings from gtk/.

I didn't preserve the EXEEXT decorations in this operation -
automake gave me stern warnings about it, so I just dropped them
all. Somebody who cross-builds GTK+ will have to reconstruct this.
2014-05-27 17:28:10 -04:00
Matthias Clasen
ea2d20e313 Fix distcheck 2014-05-27 15:14:02 -04:00
Matthias Clasen
d51c6af247 3.13.2 2014-05-27 14:33:32 -04:00
Matthias Clasen
3bb404f40c Don't assert in gtk_event_controller_constructed
This prevents some of our generic object implementation tests
from working with gesture objects. Instead, add g_return_if_fail
checks in all the gesture constructors.
2014-05-27 14:33:32 -04:00
Matthias Clasen
e4680d64a0 Documentation fixes
Add a few missing symbols, and match up parameters in headers
and doc comments.
2014-05-27 14:33:32 -04:00
Kristian Høgsberg
6cd26e0939 wayland: Use event->key.time for setting key event time
We were using event->button.time before. That works because it's part of
the common event header, but it's wrong.
2014-05-27 10:24:34 -07:00
Kristian Høgsberg
544e1ac1d1 wayland: Remove unused XSERVER_TIME_IS_LATER macro 2014-05-27 10:24:34 -07:00
Matthias Clasen
4ce2f3e769 Silence gtk-doc warnings 2014-05-27 13:17:34 -04:00
Matthias Clasen
7fa0228755 Revert "GtkImage: Drop use of GtkMisc::x/yalign"
This reverts commit 54d5b426fc.

Conflicts:
	gtk/gtkimage.c
2014-05-27 13:08:25 -04:00
Matthias Clasen
24863a0b6a Revert "GtkLabel: Drop use of GtkMisc::x/yalign"
This reverts commit b320c198b6.
2014-05-27 13:07:03 -04:00
Matthias Clasen
6ce2a8fb13 Revert "Fix up GtkLabel and GtkImage sizing"
This reverts commit 3b30cfa344.
2014-05-27 13:04:43 -04:00
Matthias Clasen
7c83a71239 Revert "More label and image sizing fixes"
This reverts commit 68c1e83cf0.
2014-05-27 13:04:34 -04:00
Carlos Garnacho
d9bdb9a137 window: Do not raise border windows on each size allocation
This prevents these windows from being raised above popovers, which
is about the only child widget that may overlap with those anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=730589
2014-05-27 17:56:59 +02:00
Carlos Garnacho
4cf111aab3 treeview: Make the multipress gesture listen only to bin_window
This gesture is meant to handle row-activated signaling, so make the
gesture ignore events from any other window.
2014-05-27 17:47:13 +02:00
Carlos Garnacho
2012b67c5b button: Claim the sequence on multipress::pressed
In order to avoid the event from bubbling, as it used to (not) do.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
e0fd901722 gesture: Fix wrong assert in gtk_gesture_set_window
The window must be part of the event controller widget, so
fix the inverted logic.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
49a6626884 eventcontroller: Hide more details
Signals are left hidden, so the only entry point to handle_event/reset
is API.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
907e9f1946 gtk: Update GtkGesture users to the GtkPropagationPhase semantics change
Mainly doing s/TARGET/BUBBLE/ on the fully ported widgets, but GtkTreeView
where the double click handler has moved to GTK_PHASE_TARGET so it runs
parallelly to the still existing event handlers.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
505efbb3f3 widget: Change GtkCapturePhase behavior in event controllers' handling
Previously, there would be globally just a capture and a bubble phase,
with the event just going down the hierarchy once, and the up once.
GTK_PHASE_TARGET actually meaning "run within event handlers", so in
a hierarchy of 3 widgets, emission would be:

  Capture(C)
  Capture(B)
  Capture(A)
  Target(A) (if event handlers allow)
  Bubble(A)
  Target(B) (if event handlers allow)
  Bubble(B)
  Target(C) (if event handlers allow)
  Bubble(C)

This commit changes this behavior and uses GTK_PHASE_TARGET in a less
misleading way, running only on the widget that was meant to receive
the event. And GTK_PHASE_BUBBLE has taken over the execution place of
GTK_PHASE_TARGET, so the emission remains:

  Capture(C)
  Capture(B)
  Capture(A)
  Target(A)
  Bubble(A) (if event handlers allow)
  Bubble(B) (...)
  Bubble(C) (...)

As it was, GTK_PHASE_BUBBLE was useful for running event controllers
paralelly to event handlers, without modifying a single line in those.
For those mixed scenarios, Any of the other phases will have to be
used at discretion, or the event handlers eventually changed to chain
up and let the default event handlers in GtkWidget to be run.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
a8e833dc5c window: Avoid double event processing in the multipress event controller
The events to those are fed outside the regular event propagation scheme,
through _gtk_window_check_handle_wm_event(), so set the controller to
GTK_PHASE_NONE so events aren't processed first manually, and then
automatically.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
9f8bd7a2bc gesturezoom: Just return a double in get_scale_delta()
Checking whether the gesture is active is a responsibility of the caller.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
8f7d5fb2c0 gesturerotate: Just return a double in get_angle_delta()
Whether the gesture is active or recognized should be checked before in
callers, or just not used naively.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
d05a9f9a7b gesture: Replace gtk_gesture_attach/detach with event controller API
Event controllers now auto-attach, and the GtkCapturePhase only determines
when are events dispatched, but all controllers are managed by the widget wrt
grabs.

All callers have been updated.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
ad6606e8af gtk: Update callers of GtkGesturePan orientation 2014-05-27 17:47:12 +02:00
Carlos Garnacho
2e903243c6 eventcontroller: Make the event-mask property and methods private.
This will rarely have any use if no subclassing is allowed, so just make it
private for our own.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
ef61c9c58b gtk: Replace GtkPanOrientation with GtkOrientation
And document GtkOrientation to be more generic. There's little added
value in a separate enum for this.
2014-05-27 17:47:12 +02:00
Matthias Clasen
68c1e83cf0 More label and image sizing fixes
Go back to respecting GtkMisc::xpad/ypad. Not doing so breaks
the misc-alignment reftest. As long as we still derive from
GtkMisc, we may as well do this.
2014-05-27 06:00:21 -04:00
Matthias Clasen
3b30cfa344 Fix up GtkLabel and GtkImage sizing
When GtkMisc was removed, I forgot to apply the style context
padding. This caused the info-bar-message-types reftest to fail.
2014-05-27 00:22:40 -04:00
Matthias Clasen
2488b954f2 Don't use hicolor as the default icon-theme
The icontheme lookup code has a special-case that prefers builtin icons
if the theme name is "hicolor". This is problematic for our reftests,
which run in a barebones environment with not settings.
2014-05-26 23:17:32 -04:00
Matthias Clasen
38daabd838 docs: enum cleanup
Move GtkIMPreeditStyle nad GtkIMStatusStyle to the settings where
they are solely used.
2014-05-26 10:37:34 -04:00
Matthias Clasen
0bd0f39576 docs: enum cleanup
Move GtkStateType to the GtkWidget apis where it is used, and
mark the enum as deprecated.
2014-05-26 10:37:06 -04:00
Matthias Clasen
4ae95157ae docs: remove markup
The overview chapters don't go through shorthand processing, so
don't use them there.
2014-05-26 10:17:07 -04:00
Kalev Lember
750f6b9913 GtkApplication: Fix two muxer-related memory leaks
Drop the ref on the action muxer in finalize, and also make sure
shutdown() tears down the muxer setup done in startup().

When GtkApplication adds itself to a muxer, it causes the muxer to take
a ref on the GtkApplication. This has to be undone in shutdown() to make
sure the GtkApplication doesn't end up holding a ref on itself.

https://bugzilla.gnome.org/show_bug.cgi?id=730383
2014-05-25 10:49:27 +02:00
Matthias Clasen
8230299748 inspector: Allow changing attribute mappings 2014-05-24 23:31:54 -04:00
Matthias Clasen
83f9649c9c docs: Move GdkColor off into a deprecated section 2014-05-24 23:31:54 -04:00
Kalev Lember
edb4c65c5b Bump ATK dependency to 2.12
... for the new AtkValue interface that we implement.
2014-05-25 00:17:55 +02:00
Matthias Clasen
df0f14fe2a Some more updates 2014-05-24 18:41:16 -04:00
Matthias Clasen
8a6aca31a8 Typo fixes 2014-05-24 18:20:31 -04:00
Matthias Clasen
44d76fbcdc Organize the icons
Sort the icon list in check-icon-theme.c, and add
comments so we have a chance of keeping the order.
2014-05-24 18:20:31 -04:00
Matthias Clasen
e916391e6c Drop an unused object
A downside of using templates is that we can have 'parasitic'
objects in there that don't get used for anything.
2014-05-24 18:20:31 -04:00
Matthias Clasen
72c79deb3b GtkIconTheme: Add more debug spew
Still trying to track down test problems in gnome-continuous.
2014-05-24 18:20:31 -04:00
Jasper St. Pierre
0d402601b2 wayland: Add support for show_window_menu 2014-05-24 15:55:55 -04:00
Benjamin Otte
0430ae0ca5 image: Draw the image again
An important line of code was removed in
54d5b426fc that lead to an undefined
variable. Add that line back.
2014-05-24 19:38:56 +02:00
Benjamin Otte
1cbace5f68 combobox: Implement clip 2014-05-24 16:21:02 +02:00
Benjamin Otte
750178e1ed entry: Implement clip 2014-05-24 16:20:48 +02:00
Benjamin Otte
4bbca44512 gestureswipe: Fix return value 2014-05-24 16:16:41 +02:00
Benjamin Otte
b03d54b75f image: Remove unused variable 2014-05-24 16:16:32 +02:00
Benjamin Otte
a9bcea5118 button: Implement clip 2014-05-24 16:12:21 +02:00
Benjamin Otte
f5b1e75d93 widget: Include box-shadow in the clip
This allows all widgets that implement clip to use box shadows.
2014-05-24 16:12:21 +02:00
Benjamin Otte
0cd63faee2 widget: Add _gtk_widget_set_css_clip()
... and use it in GtkBox and GtkGrid.
2014-05-24 16:12:21 +02:00
Benjamin Otte
434f91feff spinner: Implement clip
We now allow you to gtk-icon-transform() the spinner outside of the
spinners allocation.
2014-05-24 16:12:20 +02:00
Benjamin Otte
4f89eb05cf API: widget: Add gtk_widget_set_clip() API
And handle the fact that drawing bounds are now handled by this API and
the corresponding gtk_widget_get_clip().

Also add _gtk_widget_supports_clip() function to check if a widget has
been ported to the new world.
2014-05-24 16:12:20 +02:00
Matthias Clasen
1d897a9bf2 docs: Flesh out the inspector section a bit 2014-05-24 10:07:46 -04:00
Matthias Clasen
a13d12a445 inspector: Make picking widgets work again
This broke when I accidentally removed the line that adds
each object to the hash table. Bring it back.
2014-05-24 09:55:41 -04:00
Rico Tzschichholz
3f140d5391 docs: Fix make dist 2014-05-24 12:16:56 +02:00
Rico Tzschichholz
0b586e52c2 build: Fix typo 2014-05-24 09:52:41 +02:00
Rico Tzschichholz
86d4c26420 gtk: Fix make dist 2014-05-24 09:24:46 +02:00
Rico Tzschichholz
eab39253ec build/win32: Drop a11y library references
In addition to 	4a4b23bfad
2014-05-24 09:23:52 +02:00
Rico Tzschichholz
7eaea2a849 Updated POTFILES.in 2014-05-24 09:22:53 +02:00
Matthias Clasen
9037f7b64e docs: more input handling docs 2014-05-24 01:56:44 -04:00
Matthias Clasen
f52dd9fc04 Fix a start/end mixup
The headerbar example in gtk3-demo was showing two start buttons
after the arrow removal.
2014-05-24 00:48:12 -04:00
Matthias Clasen
aabc356b80 GtkMisc: Keep gtk_misc_set_alignment working
Now that labels and images no longer use x/yalign in their code,
we need to make gtk_misc_set_alignment set the h/valign for these
widgets, to keep it stumbling along until its final demise.

https://bugzilla.gnome.org/show_bug.cgi?id=730613
2014-05-24 00:48:12 -04:00
Matthias Clasen
1008e15414 GtkToolButton: Drop use of GtkMisc
Use h/valign instead of x/yalign.

https://bugzilla.gnome.org/show_bug.cgi?id=730613
2014-05-24 00:48:02 -04:00
Matthias Clasen
687eae4b51 GtkAssistant: Drop use of GtkMisc
Use halign instead of xalign.

https://bugzilla.gnome.org/show_bug.cgi?id=730613
2014-05-24 00:04:41 -04:00
Matthias Clasen
4d002d5e6a GtkAccelLabel: Drop use of GtkMisc
Just use 0 instead of xpad.

https://bugzilla.gnome.org/show_bug.cgi?id=730613
2014-05-24 00:04:41 -04:00
Matthias Clasen
54d5b426fc GtkImage: Drop use of GtkMisc::x/yalign
Instead, use GtkWidget::h/valign to position the image inside
the allocation. And just stop using GtkMisc::x/ypad.

https://bugzilla.gnome.org/show_bug.cgi?id=730613
2014-05-24 00:04:41 -04:00
Matthias Clasen
b320c198b6 GtkLabel: Drop use of GtkMisc::x/yalign
Instead, use GtkWidget::h/valign to position the text inside
the allocation. And just stop using GtkMisc::x/ypad.

https://bugzilla.gnome.org/show_bug.cgi?id=730613
2014-05-24 00:04:41 -04:00
Matthias Clasen
0011c9dae4 Fix filechooser actionbar visibility
The actionbar was always visible, even when there is no filter
and no extra widget to show. Now we only show it when there is
something to show.
2014-05-24 00:00:00 -04:00
Matthias Clasen
51a09af076 inspector: Treat resources the same as in gtk/ 2014-05-23 23:00:43 -04:00
Matthias Clasen
ef38d6e397 Add two more icon names to check
These were found in the trash monitor.
2014-05-23 22:59:22 -04:00
Matthias Clasen
00d02491d8 Drop no-longer-used gtkrc files
These were replaced by css files long ago.
2014-05-23 22:00:51 -04:00
Matthias Clasen
45e1128472 Drop a pointless function
No need to have a finalize function if it just chains
up to the parent class.
2014-05-23 21:56:44 -04:00
Matthias Clasen
716ecff28d Trivial: slight code rearrangement 2014-05-23 21:41:58 -04:00
Matthias Clasen
38cbd87cac tests: Stop using GtkAlignment
Fix up all other tests to not use GtkAlignment anymore.
2014-05-23 21:32:51 -04:00
Matthias Clasen
1af417a82d testadjustsize: Keep using an alignment
We are explicitly comparing GtkAlignment with its replacements
here.
2014-05-23 20:42:01 -04:00
Matthias Clasen
e74bb3db2a gtk-demo: Drop use of GtkAlignment 2014-05-23 20:31:38 -04:00
Matthias Clasen
04703689b8 Deprecate GtkAligment
This has been dangling ever since 3.0.

https://bugzilla.gnome.org/show_bug.cgi?id=645781
2014-05-23 20:31:25 -04:00
Matthias Clasen
4928d5e401 Drop an unneeded include
There's no GtkGesture in gtkwidget.h anymore. We do need an include
in gtkwidgetprivate.h though.
2014-05-23 20:09:50 -04:00
Evan Nemerson
4a4b23bfad a11y: build directly into libgtk instead of an internal library
https://bugzilla.gnome.org/show_bug.cgi?id=730615
2014-05-23 19:20:59 -04:00
Matthias Clasen
d4771d4a95 More updates 2014-05-23 17:32:14 -04:00
Matthias Clasen
cd1cd40e9a Some updates 2014-05-23 16:11:48 -04:00
Piotr Drąg
83c1869250 Updated POTFILES.in 2014-05-23 20:48:12 +02:00
Carlos Garnacho
bd35df05a5 Merge branch 'gestures' 2014-05-23 19:58:46 +02:00
Carlos Garnacho
60e15deb83 spinbutton: Avoid touch text handles to pop up
Those get in the middle more than help on these widgets, the widget
is already packed with clickable areas and having handles (and their
invisible clickable area around) hovering above don't help, plus the
purpose in most likely numeric values is a bit doubtful.

All touch events are either consumed by the up/down panels, or
the swipe gesture, all GtkEntry handling of touch events on the text
window is avoided, so handles to not appear anymore.
2014-05-23 19:54:33 +02:00
Carlos Garnacho
a4a122c8e8 colorswatch: Set gestures in GTK_PHASE_TARGET
That's the right phase for gestures replacing entirely event handlers.
2014-05-23 19:54:33 +02:00
Carlos Garnacho
d59c909663 spinbutton: Use GTK_PHASE_CAPTURE for touch swipes
The gesture must be able to catch first events for it to be seen
as recognized in event handlers.
2014-05-23 19:54:33 +02:00
Carlos Garnacho
01d74f86a0 widget: Flip execution order of GTK_PHASE_TARGET/BUBBLE
the "bubble" phase used to run before event handlers before GTK_PHASE_TARGET
was added, in order to keep phases in the expected order, move GTK_PHASE_BUBBLE
to be run (still invariably) after event handlers.

The only behavioral change should be wrt widgets wanting mixed event handler/
gesture handling, they could previously attach the gesture to the bubble phase
and check for gtk_gesture_is_active() in the event handler to bail out, they'll
have to use GTK_PHASE_CAPTURE for that purpose from now on.
2014-05-23 19:54:33 +02:00
Carlos Garnacho
ca1510177c texthandle: Mind the invisible area when moving the handle
The handle is still centered horizontally, but the extra vertical
space wasn't taken into account, leading to misplacing the dragging
point (and the handle) during motion events.
2014-05-23 19:54:33 +02:00
Carlos Garnacho
c9f54aef69 textview: Check first whether the sequence is handled, fetch later the event
And always unset/hide the selection popover if unhandled, that means the
sequence went grabbed/claimed somewhere else and cancelled here.
2014-05-23 19:54:33 +02:00
Carlos Garnacho
f54277204f entry: Check first whether the sequence is handled, fetch later the event
And always unset/hide the selection popover if unhandled, that means the
sequence went grabbed/claimed somewhere else and cancelled here.
2014-05-23 19:54:33 +02:00
Carlos Garnacho
485da90a2e gesture: Use GdkEventSequence GType in signals 2014-05-23 19:54:33 +02:00
Carlos Garnacho
7e61216105 gesture: Introspection fixes
Set annotations on return values for gtk_gesture_get_device() and
gtk_gesture_get_window().
2014-05-23 19:54:33 +02:00
Carlos Garnacho
03a3b2ccab eventcontroller: introspection fix
Set transfer annotation on gtk_event_controller_get_widget()
2014-05-23 19:54:33 +02:00
Carlos Garnacho
0d4e75f078 gdk: Make GdkEventSequence a boxed type
Not much to copy nor free, but this'll make bindings happy
2014-05-23 19:54:33 +02:00
Carlos Garnacho
5fdf07547f paned: Handle pointer events from touchscreen devices
GtkPaned may just capture pointer events because the child widget
doesn't happen to have GDK_TOUCH_MASK set, resort to checking the
device in that case.
2014-05-23 19:54:33 +02:00
Matthias Clasen
0442431943 Docs: Cosmetic fixes 2014-05-23 19:54:33 +02:00
Matthias Clasen
9f3f634c16 docs: Correct a reference 2014-05-23 19:54:33 +02:00
Matthias Clasen
70bccb38c3 Revert "docs: GtkEventController was dropped from public api"
This reverts commit eefac03b395a6b885fd61c100b48652200beb996.
2014-05-23 19:54:32 +02:00
Matthias Clasen
c83d3f054b Revert "docs: More GtkEventController removal"
This reverts commit 75f503fb1fc9068c9e1a0d02126c55addbe8eb3e.
2014-05-23 19:54:32 +02:00
Matthias Clasen
ae5f930d1b Docs: Add information about event propagation 2014-05-23 19:54:32 +02:00
Matthias Clasen
aead8a360b Docs: Minor changes 2014-05-23 19:54:32 +02:00
Matthias Clasen
729a3a98d9 Document gtk_gesture_set_state 2014-05-23 19:54:32 +02:00
Matthias Clasen
9917b15bd3 docs: gtk_gesture_cancel_sequence was made private 2014-05-23 19:54:32 +02:00
Matthias Clasen
01cd5cf382 docs: More GtkEventController removal 2014-05-23 19:54:32 +02:00
Matthias Clasen
6cc9744558 docs: GtkEventController was dropped from public api 2014-05-23 19:54:32 +02:00
Carlos Garnacho
681164564e paned: Use GtkGesture to handle handle dragging
Dragging is all handled by a GtkGesturePan now, matching the
paned orientation.

On touch events, a wider area is listened for, so touch events
don't need to be as accurate to initiate dragging, if no dragging
is truly initiated in this case, events are just forwarded for
child widgets to handle.
2014-05-23 19:54:32 +02:00
Carlos Garnacho
8f20780fb9 switch: Use GtkGesture to handle input events
A pan gesture is used to handle switch dragging, which is only triggered
by horizontal panning movements. A multipress gesture handles the cases
where clicking without dragging happens, just toggling the switch.
2014-05-23 19:54:32 +02:00
Matthias Clasen
a47d0406a7 inspector: Add more complete gesture support
Add a dedicated tab that shows how gestures are grouped,
and allows changing the propagation phase.
2014-05-23 19:54:32 +02:00
Matthias Clasen
1c5f14a9e4 inspector: Minimal support for gestures
We're just showing them as objects in the tree, for now.
2014-05-23 19:54:32 +02:00
Matthias Clasen
a727c41e4a Add back a private api to list controllers
This will let us show them in the inspector.
2014-05-23 19:54:32 +02:00
Carlos Garnacho
2ba89256f4 texthandle: Make a bigger hit area around texthandles
The hit area now extends to all sides around the handle, instead
of just towards where the text is. This makes it easier to grab
handles once shown.
2014-05-23 19:54:32 +02:00
Carlos Garnacho
f322e55e19 gesture: Declare GtkGesture:window as an object property 2014-05-23 19:54:32 +02:00
Carlos Garnacho
f81f00ed6b widget: 3-way merge ate my g_object_ref()
Move it to the right place.
2014-05-23 19:54:32 +02:00
Carlos Garnacho
d351c52114 scrolledwindow: Handle directional cancellation if there is a single scroll direction
A pan gesture is optionally attached if there is only one scrolling direction, the pan
gesture orientation is changed so movements tangential to the scroll direction get
scrolling cancelled (The pan gesture is automatically denied when that happens, and
that state change spreads to the others gestures in the group). If the pan direction
happens in the expected directions, no cancellation happens, and scrolling eventually
takes place.
2014-05-23 19:54:32 +02:00
Carlos Garnacho
57eca4f445 widget: remove check on whether the controller was already added
Multiple calls are supposedly allowed to change the phase (although
unlikely to happen), so remove the g_return_if_fail() checking whether
the controller was already added.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
bd68db4b25 pan: Remove wrong check
From the very early days where there were a NONE=0 GtkPanOrientation
value. This makes vertical pan operations work as expected.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
e70e3963dd entry: Ensure the cursor text handle is shown after touching to reposition cursor. 2014-05-23 19:54:31 +02:00
Carlos Garnacho
cf7bb9a3bf popover: Hide widget first when disposing
In order to ensure invariants are kept.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
15f7170358 entry: Obey implementations' frame when placing handles/popovers around
Y=0 was assumed in a few places, not necessarily right on eg. vertical
spinbuttons.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
10c47fa6d6 entry: Improve touch popover interaction
Presses alternatively show and dismiss the popover, the popover is still
always shown invariably after any dragging happens (either text selection,
or dragging a text handle)
2014-05-23 19:54:31 +02:00
Carlos Garnacho
bd5fb3a09f textview: Show the magnifier popover a bit farther from the touch position
Somewhat arbitrary at the moment, would be nice to have minimal units
support for this, or at least hidpi support.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
b2d56c588a textview: Improve touch popover interaction
Presses alternatively show and dismiss the popover, the popover is still
always shown invariably after any dragging happens (either text selection,
or dragging a text handle)
2014-05-23 19:54:31 +02:00
Carlos Garnacho
e580c29f07 entry: Use gestures to handle pointer/touch events
Similarly to GtkTextView, a GtkGestureMultiPress gesture handles
button/touch presses to initiate one selection mode or other, and
a GtkGestureDrag is used to handle text selection and DnD checks.

The code from button press/release, motion, and grab_notify handlers
has been shuffled into the actions triggered by those gestures.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
d559cade42 spinbutton: Attach "swipe to spin" controllers to the bubble phase
It is unnecessary to have those process events manually, just attach
those to the bubble phase.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
70ea24b9e8 colorplane: Fully port to GtkGesture
A GtkGestureDrag is used for color selection, removing also the
need to track the pointer state in widget data. The GDK grab performed
just to set the crosshair cursor has been replaced by a call
to gdk_window_set_device_cursor(), which will be unset if the
drag operation is finished, or cancelled due to the implicit grab
being broken.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
a6526eb820 gdk: Lookup both device and global cursor when checking up the hierarchy
When the pointer cursor is updated on CSW, lookup for either a device
cursor, or a global one. It would previously lookup for windows with
a global cursor, and then check if it had a device cursor, which would
skip windows with only device cursors set, and unexpectedly set the
global cursor.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
ced7e7c08d button: Make multipress gesture exclusive
We only want actions to be triggered by a single sequence there,
so buttons trigger no actions on further simultaneous touches
happening.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
0b3f4d5555 gesturesingle: Add an "exclusive" boolean property
All "exclusive" gestures listen for either pointer events, or
"pointer emulating" touch events, so only a single sequence at
a time can make these run.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
fd9925141b button: Use GtkGestureMultiPress for signal emission
It is now useful for that purpose with a ::release signal, so replace
the custom GtkGestureSingle with one of these.
2014-05-23 19:54:31 +02:00
Carlos Garnacho
e638ff7974 drag: Allow gtk_gesture_get_start_point/offset() to be called on ::drag-end 2014-05-23 19:54:30 +02:00
Carlos Garnacho
d2db31ee5e multipress: Add matching ::released signal
This signal will always be paired with a ::pressed signal, unless
the sequence is cancelled, or the controller is reset. the n_press
argument in the signal always matches the ::press signal one, even
if GtkGestureMultiPress::stopped was emitted in between.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
04c8b4c705 multipress: Protect against fleeting touches mistriggering events
The current sequence (as per gtk_gesture_single_get_current_sequence)
is used to find out the coordinates. And only emit ::pressed if the
gesture began through a GDK_BUTTON_PRESS/TOUCH_BEGIN (eg. not due to
an extra touch being lifted)
2014-05-23 19:54:30 +02:00
Carlos Garnacho
24f20864b4 textview: Set up controllers on the GTK_PHASE_TARGET propagation phase
This way events are managed by gestures in the event handlers themselves,
respecting the execution order already assumed by subclasses around.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
dd164502f7 widget: Hook GTK_PHASE_TARGET controllers to the default event handlers
Just call the controllers on that phase if the default widget handlers
are run.

For compatibility reasons, in the touch event handler, let the pointer
emulating touch be transformed to a pointer event as usual, in order to
have widget handlers a chance to run at all. If they have to be managed
by a controller in that phase, it'll have to be through the default pointer
event handlers.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
1c48cc253d gesture: Add GTK_PHASE_TARGET
This phase is meant to run in the default widget handlers, as opposed
to externally as in the bubble/capture phase. This will be most usually
the expected phase for every controller replacing code in event handlers
in GTK+, just so invocation and triggering order is kept unaltered.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
3d34f26a6a gesture: Handle GdkEventGrabBroken
That may happen separately from grab-notify, and also due to external
reasons, so ensure all sequences are cancelled if a grab is taken
in some GdkWindows that would obscure events on the controller.
2014-05-23 19:54:30 +02:00
Matthias Clasen
6a290bdecb GtkColorSwatch: Use gesture for button events too 2014-05-23 19:54:30 +02:00
Matthias Clasen
6896c979a9 GtkWindow: Only use a multipress gesture for toplevels
There is no point in creating and attaching this gesture
for override-redirect windows, so don't do it.
2014-05-23 19:54:30 +02:00
Matthias Clasen
bad1dd4ac7 Be careful about the list of event controllers
We can end up with _gtk_widget_remove_controller getting called
while we are iterating over the list in _gtk_widget_run_controllers.
To avoid trouble, only mark the event controller as dead by
setting data->controller to NULL, and defer the actual freeing
and list manipulation to the loop in _gtk_widget_run_controllers.
Update other places that operate on controllers to handle
data->controller being NULL.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
d97e4bf6b7 textview: Convert gestures' coordinates to text window ones
And make some code shared between multipress/drag gesture.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
f47138b653 textview: Use GtkGestureDrag for text selection/DnD
remaining code in button press/release, motion notify, and grab
notify handlers has been shuffled to be managed by this gesture.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
a4da4f8dfa textview: Use GtkGestureMultiPress for click handling
The button press handler is no longer necessary, and most of its
code has been shuffled into the GtkGestureMultiPress::pressed
handler.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
fe9685bca1 widget: tighten the conditions at which a press event is emulated
Make it really sure that the event is only emitted after every gesture
that consumed the button press is done with the sequence.
The event must only be emulated if a gesture in the capture phase happened
to consume the event, be cancelled, and
2014-05-23 19:54:30 +02:00
Carlos Garnacho
6e9b054543 widget: Fix gesture event handler retval for bubbled events
Do not clobber the return value if the regular event handler happens
to return FALSE, even if the gesture meant to consume the event.
2014-05-23 19:54:30 +02:00
Carlos Garnacho
2a0bf33bc9 gesture: Prevent against sequence cancellation within gtk_gesture_set_state()
Sequences may be cancelled within the ::sequence-state-changed handler, which
would change the points hashtable as it's being iterated in this function. So
iterate over a list of sequences and let the hashtable change freely.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
44a960199b gesture: Make gtk_gesture_get_last_update_time() private 2014-05-23 19:54:29 +02:00
Carlos Garnacho
83d5795154 gesture: Remove gtk_gesture_get_last_event_type 2014-05-23 19:54:29 +02:00
Carlos Garnacho
8ab35016a6 gesture: make gtk_gesture_cancel_sequence() private 2014-05-23 19:54:29 +02:00
Carlos Garnacho
0288fd0a88 gesture: Make gtk_gesture_check() private 2014-05-23 19:54:29 +02:00
Carlos Garnacho
994c94c25b dnd: Check on the right gesture sequence when starting the drag op 2014-05-23 19:54:29 +02:00
Carlos Garnacho
5369c77029 gesture: Simplify gesture/widget interaction public API
The propagation phase property/methods in GtkEventController are gone,
This is now set directly on the GtkWidget add/remove controller API,
which has been made private.

The only public bit now are the new functions gtk_gesture_attach() and
gtk_gesture_detach() that will use the private API underneath.

All callers have been updated.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
f0940c962f widget: Keep a widget reference around _gtk_widget_run_controllers()
The widget may be destroyed within the loop, in reaction to the signals
sent by the controllers. Protect against that.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
db55f8a4e5 gesture: Add explanatory note in GtkGesture::end
Explain that this signal may be triggered by an extra touch that causes
the gesture to surpass GtkGesture:n-points.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
5c9f4bd078 gesture: Cancel sequences that make a gesture exceed the number of touches as they happen
This makes it possible to track those through gtk_gesture_handles_sequence(),
without guessing from last event type or sequence state.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
134acf3fda widget: Change slightly the gesture cancellation policy in a same widget
Within a widget, if a gesture accepts a sequence, it would previously
cancel every other gesture that not in the same group. Change this to
only cancelling gestures that previously claimed the gesture, and let
gestures with state=NONE for that sequence remain like that.

This enables late recognition of gestures, even on the presence of
another gesture group that was more eager at claiming the gesture.

One usecase is user-defined panning gestures on scrolledwindows,
if ::capture-button-press is TRUE (eg. the default), the gesture is
claimed early in order to consume the button press, but that would
tipically make every other gesture group deny the sequence. With
this change, the pan gesture can keep state=NONE, and later claim
the sequence for itself if the panning gesture is recognized.

Also, do not propagate state=DENIED to every gesture in the widget,
that was unintended.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
4589f0e0c8 rotate: Ensure delta is between [0..2π] 2014-05-23 19:54:29 +02:00
Carlos Garnacho
c34280d97b pan: make the direction factor less narrow in v/h directions 2014-05-23 19:54:29 +02:00
Carlos Garnacho
e080eafef8 gesture: Handle GDK_TOUCH_CANCEL events
The wayland windowing backend emits such events for instance, so
have gestures cancel the sequence as those events get through.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
d9e6395ee9 gesture: Protect against odd window hierarchies
If no match is found with the gesture widget when poking the event
window parents, bail out safely instead of falling in an infinite
loop. This was seen on Mutter.
2014-05-23 19:54:29 +02:00
Carlos Garnacho
cbe47c02a1 swipe: Don't emit ::swipe if there are still active touches
Avoids sending spurious signals when an extra touch happens.
2014-05-23 19:54:28 +02:00
Matthias Clasen
42df9eda2d Prevent subclassing of gestures
For now, at least. We do this by hiding the instance and
class structures in private headers.
2014-05-23 19:54:28 +02:00
Matthias Clasen
93b7883372 GtkSpinButton: Don't leak the gestures 2014-05-23 19:54:28 +02:00
Matthias Clasen
c6c41262b6 GtkWindow: Don't leak the gesture 2014-05-23 19:54:28 +02:00
Matthias Clasen
17088e4add GtkTreeView: Remove unused field 2014-05-23 19:54:28 +02:00
Matthias Clasen
c63c1caac0 gtk3-demo: Don't leak the color chooser 2014-05-23 19:54:28 +02:00
Matthias Clasen
3a752658ab GtkColorPlane: Actually add the long press gesture
This was missed because gtk_widget_remove_controller silently
does nothing on unowned controllers.
2014-05-23 19:54:28 +02:00
Matthias Clasen
487ac50e93 GtkButton: Don't leak the gesture 2014-05-23 19:54:28 +02:00
Matthias Clasen
616aac8d82 Forgotten file 2014-05-23 19:54:28 +02:00
Matthias Clasen
0106099f5b GtkButton: Port to GtkGesture
Quick-and-dirty patch to use a GtkGestureSingle for both
button press/release and touch event handling.
2014-05-23 19:54:28 +02:00
Carlos Garnacho
f73f4d82e0 widget: remove GtkGesture-related signals
The utility of those signals is somewhat dubious now that there is
gtk_gesture_group(), so make that the only way to coordinate gestures.
The cooperation model offered by gtk_gesture_group() is flexible
enough,
2014-05-23 19:54:28 +02:00
Carlos Garnacho
bf6181a382 docs: Add missing GtkEventController functions 2014-05-23 19:54:28 +02:00
Carlos Garnacho
35bed1ac14 widget: Add docs for GtkGesture-related API 2014-05-23 19:54:28 +02:00
Carlos Garnacho
63dd7a568e gesturesingle: doc fixes 2014-05-23 19:54:28 +02:00
Carlos Garnacho
556eb398e5 zoom: doc fixes 2014-05-23 19:54:28 +02:00
Carlos Garnacho
ad2346f762 swipe: doc fixes 2014-05-23 19:54:28 +02:00
Carlos Garnacho
1f8cf3c322 rotate: doc fixes 2014-05-23 19:54:27 +02:00
Carlos Garnacho
135a653ee2 pan: doc fixes 2014-05-23 19:54:27 +02:00
Carlos Garnacho
24dc172b46 multipress: doc fixes 2014-05-23 19:54:27 +02:00
Carlos Garnacho
fa168e202e longpress: doc fixes 2014-05-23 19:54:27 +02:00
Carlos Garnacho
3cbd2b97b8 drag: doc fixes 2014-05-23 19:54:27 +02:00
Carlos Garnacho
ec50d776ce gesture: doc fixes 2014-05-23 19:54:27 +02:00
Carlos Garnacho
dbc7f011b3 eventcontroller: doc fixes 2014-05-23 19:54:27 +02:00
Carlos Garnacho
958efad71d docs: Add missing controller/gesture docs 2014-05-23 19:54:27 +02:00
Carlos Garnacho
a0e9de671b pan: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
c10998edb5 zoom: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
dc1e8454a7 rotate: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
2df48ba886 swipe: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
28237f80f5 drag: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
90b2f386e7 longpress: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
4602f34111 multipress: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
862f9d876e gesturesingle: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
ac8dcccb32 gesture: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
c60c0fe4c5 eventcontroller: Add missing documentation 2014-05-23 19:54:27 +02:00
Carlos Garnacho
48367b1432 enums: Add missing docs to controller/gesture enums 2014-05-23 19:54:27 +02:00
Carlos Garnacho
d768c2cb84 Remove GtkPressAndHold
This is replaced by GtkGestureLongPress, and all its callers have
been updated to use the replacement.
2014-05-23 19:54:26 +02:00
Carlos Garnacho
4401be22ad enums: Document GtkPropagationPhase 2014-05-23 19:54:26 +02:00
Carlos Garnacho
6296aa84b2 spinbutton: increase/decrease value on upwards/downwards touch swipes
This is somewhat analogous to scroll events on pointer devices, the
greater the velocity, the faster the spinbutton spins.
2014-05-23 19:54:26 +02:00
Carlos Garnacho
c7da5b54f5 Add GtkGesturePan
This gesture reports events on horizontal/vertical panning gestures.
2014-05-23 19:54:26 +02:00
Carlos Garnacho
75b6f4aa52 range: Replace GtkPressAndHold with GtkGestureLongPress 2014-05-23 19:54:26 +02:00
Carlos Garnacho
2166be96d2 swipe: Add function to retrieve the current velocity
This can be used to fetch the current velocity on update(), as opposed
to swipe() which happens after the sequence is finished.
2014-05-23 19:54:26 +02:00
Carlos Garnacho
bd722499dc colorswatch: Replace GtkPressAndHold
GtkGestureLongPress and GtkGestureMultiPress are both used
to replace it.
2014-05-23 19:54:26 +02:00
Carlos Garnacho
d5cb4841c8 colorscale: Replace GtkPressAndHold with GtkLongPressGesture 2014-05-23 19:54:26 +02:00
Carlos Garnacho
8c139c1fca colorplane: Replace GtkPressAndHold with GtkLongPressGesture 2014-05-23 19:54:26 +02:00
Carlos Garnacho
e3d25b3c3c entry: Don't show text handles too eagerly on button press
Instead do so on button release, or after text selection dragging
starts.
2014-05-23 19:54:26 +02:00
Carlos Garnacho
c3075f1d56 longpress: Ensure check() happens after cancel()
And delegate on GtkGesture::check(), it does deal better with
extra fleeting touches.
2014-05-23 19:54:26 +02:00
Carlos Garnacho
c506dfe600 longpress: fix reentrancy on ::reset() 2014-05-23 19:54:26 +02:00
Carlos Garnacho
3cc9543e64 gesturemultipress: fix reentrancy on ::reset() 2014-05-23 19:54:26 +02:00
Carlos Garnacho
cdb5ba9426 gesturesingle: check the current sequence before resetting the pressed button 2014-05-23 19:54:26 +02:00
Carlos Garnacho
490c356954 scrolledwindow: update to gesture widget-level API changes 2014-05-23 19:54:26 +02:00
Carlos Garnacho
ff627511b7 window: update to gesture widget-level API changes 2014-05-23 19:54:26 +02:00
Carlos Garnacho
6350f58c1c treeview: update to gesture widget-level API changes 2014-05-23 19:54:25 +02:00
Carlos Garnacho
c4a39f5abf drag: remove unused #define 2014-05-23 19:54:25 +02:00
Carlos Garnacho
3221d53010 eventcontroller: Add documentation blurb 2014-05-23 19:54:25 +02:00
Carlos Garnacho
040c82f0e8 dnd: Update to gesture widget-level API changes 2014-05-23 19:54:25 +02:00
Carlos Garnacho
51b5fa3bf0 demo: Update to gesture widget-level API changes 2014-05-23 19:54:25 +02:00
Carlos Garnacho
7a71c16317 widget: refactor gesture integration
Listen for notify::sequence-state-changed on the controller, so the
only way to manipulate a sequence state are gtk_gesture_set_sequence_state()
and gtk_gesture_set_state().

Also, make use of gesture groups, so the sequence state is set at once
on all gestures pertaining to a single group. Within a widget, if a sequence
is claimed on one group, it is made to be denied on every other group.
2014-05-23 19:54:25 +02:00
Carlos Garnacho
b0a23dbfbd gesture: Add grouping API
This API eliminates the need for overriding
GtkWidget::sequence-state-changed virtually everywhere. Grouped
gestures share common states for a same GdkEventSequence, so the
state of sequences stay in sync across those.
2014-05-23 19:54:25 +02:00
Carlos Garnacho
6433a5452e gesture: Add gtk_gesture_set_state() helper.
This function sets the state on all sequences where it actually
can, just a helper function to avoid iterating over sequences
yourself.
2014-05-23 19:54:25 +02:00
Carlos Garnacho
72f8c673da gesture: emit the current state on ::sequence-state-changed 2014-05-23 19:54:25 +02:00
Carlos Garnacho
ae241714c4 gesture: group continue conditions together 2014-05-23 19:54:25 +02:00
Carlos Garnacho
8ebcca2ef6 gesture: return TRUE if the sequence state was already set 2014-05-23 19:54:25 +02:00
Carlos Garnacho
f3257e1a54 gesture: fix compiler warning 2014-05-23 19:54:25 +02:00
Carlos Garnacho
4570837e48 gesture: ignore events if now widget window was found 2014-05-23 19:54:25 +02:00
Carlos Garnacho
759705d3e6 eventcontroller: Add propagation-phase property
This is so we don't have to specify the capture phase for
every controller. The default "bubble" value will be sane
on most situations.
2014-05-23 19:54:25 +02:00
Carlos Garnacho
2ed086748f treeview: remove superfluous GTK+ grabs 2014-05-23 19:54:25 +02:00
Carlos Garnacho
2ef4f1bc61 textview: remove superfluous GTK+ grabs 2014-05-23 19:54:25 +02:00
Carlos Garnacho
bae68b5511 iconview: remove superfluous GTK+ grabs 2014-05-23 19:54:24 +02:00
Carlos Garnacho
46b4e5d388 combobox: remove superfluous GTK+ grabs 2014-05-23 19:54:24 +02:00
Carlos Garnacho
db14e22f06 cellrendereraccel: remove superfluous GTK+ grabs 2014-05-23 19:54:24 +02:00
Carlos Garnacho
f766109b5b Revert "gtk: Remove propagation limit of captured events on the grab widget"
This reverts commit 6511f411955adba4f960b8b07d39b93785afe33e.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
cdcc536ddc longpress: Use xsettings to determine long press duration
GtkSettings::gtk-long-press-time is used to this effect.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
1403ebb097 settings: Add gtk-long-press-time setting
This setting determines the duration of a button/touch press to
be considered a long press.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
61e88c251e window: Use gestures for window moving/resizing
A multipress gesture is used to control all this, replacing
single/double click custom code, and triggering window dragging
when the multipress is stopped, yet active (ie. the sequence remains
pressed).
2014-05-23 19:54:24 +02:00
Carlos Garnacho
185da29b68 treeview: Use multipress gesture for row activation
Replace custom double click detection with multipress gesture
2014-05-23 19:54:24 +02:00
Carlos Garnacho
b0eef458d1 dnd: Use GtkGestureDrag to initiate DnD
This gesture is used by gtk_drag_source_set() to determine
whether dragging moved past the threshold. The gesture events
are handled via the usual ::event callbacks, so we don't mess
up with callers expecting that to happen in a signal handler.

If the sequence gets claimed somewhere else in the event widget
stack, the DnD gesture will be cancelled.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
6c78716531 scrolledwindow: Ensure the dragging sequence gets denied if more touches come in
This allows children to receive an emulated press, and handle it together with
the new touch that made the scrolledwindow sequence denied.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
564789777a scrolledwindow: Fix overshoot coordinates
With gtk_gesture_get_point() returning events in
gtk_event_controller_get_widget() coordinates, we no longer need
to compensate for the overshoot here.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
38e40a55f4 widget: Add gtk_widget_set_gesture_state()
This helper function ensures the state is propagated for
all the active sequences in the given gesture.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
8e1d5f98de widget: Improve button press emulation on sequence denied
Ensure that state being set on pointer emulating touches actually
gets propagated properly on widgets with gestures that only handle
pointer events.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
c49ac32393 swipe: Dont emit swipe() if the gesture was denied rather than finished 2014-05-23 19:54:24 +02:00
Carlos Garnacho
55683c075c drag: Make API offsets based
It is generally more useful to get offsets right away,
than having to calculate those from the start point.
2014-05-23 19:54:24 +02:00
Carlos Garnacho
6cd0e733f5 scrolledwindow: Use GtkGestureSingle API 2014-05-23 19:54:24 +02:00
Carlos Garnacho
cece9cac07 scrolledwindow: Update gesture API change. 2014-05-23 19:54:23 +02:00
Carlos Garnacho
84885c6e26 demo: Update to gesture API change 2014-05-23 19:54:23 +02:00
Carlos Garnacho
a56a9e4a62 widget: Reset gestures on grab-notify
If it is determined that the gesture will stop receiving
events, reset the gesture altogether.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
997f05d99b widget: Make helper gesture API take GtkGestures
GtkEventController may be certainly useful to keep event
handling self-contained in other places than gestures, but
the current widget API is highly related to gestures, so
just using GtkGesture as the argument there will be quite
more convenient. The other places where GtkEventController
make sense as a base object will better provide their own
hooks.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
026b5014e8 Add: GTK_PHASE_NONE value to GtkCapturePhase.
Gestures attached with this phase will expect callers to have it
receive events through gtk_event_controller_handle_event(), but
the gesture will still be notified of sequence state changes,
grabs, etc...
2014-05-23 19:54:23 +02:00
Carlos Garnacho
ed5d73b49a gesture: check the gesture after denying a sequence.
So the gesture emits end() timely.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
03381beacc gesture: Offer always coordinates in the gesture widget coordinate space
Translate events meant for other widgets/windows, so gtk_gesture_get_point()
always returns coordinates based on the gtk_event_controller_get_widget()
allocation.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
4c34d4566c multipress: Remove unused signal argument 2014-05-23 19:54:23 +02:00
Carlos Garnacho
dca169d9f1 swipe: Make a subclass of GtkGestureSingle 2014-05-23 19:54:23 +02:00
Carlos Garnacho
315aedf5c8 drag: Make a subclass of GtkGestureSingle 2014-05-23 19:54:23 +02:00
Carlos Garnacho
000f38ed97 multipress: Make a subclass of GtkGestureSingle
The redundant API has been removed here.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
3db87cb0b7 longpress: Make a subclass of GtkGestureSingle
the redundant API here has been removed.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
5f24d1a519 gesture: Only recognize gestures with as many interacting touches as those handled
If a gesture has denied sequences (so those are presumably handled above/below
the widget), it shouldn't attempt to handle extra touches, even if those end
up matching the expected number of touches.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
b5c319b56f gesture: Limit API calls to non-denied sequences
Gestures do track those internally, but information about those
shouldn't be leaked on calls.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
2285157c7d gesture: Require BUTTON_PRESS/TOUCH_BEGIN for sequences to be initiated.
Gestures should always receive one of such events in order to be activated,
and the propagation mechanism will ensure they do so if the original event
was caught up the widget hierarchy by another gesture that is now declining
the sequence.
2014-05-23 19:54:23 +02:00
Carlos Garnacho
d89e810bd9 gesture: Only track non denied sequences in get_last_updated_sequence() 2014-05-23 19:54:23 +02:00
Carlos Garnacho
b7435a0290 gesture: cancel all ongoing sequences on reset() 2014-05-23 19:54:23 +02:00
Carlos Garnacho
d2c9b9c2aa gesture: Skip non-device events early. 2014-05-23 19:54:23 +02:00
Carlos Garnacho
25ece22013 gesture: Add gtk_gesture_[sg]et_window()
This can be used to restrict a gesture to an specific GdkWindow,
all events will be checked to happen on/within that window.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
7f787e1d3b docs: Add GtkGestureSingle to docs 2014-05-23 19:54:22 +02:00
Carlos Garnacho
c4944b0376 gesture: Remove the touch-only property
This is handled in GtkGestureSingle.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
d4d0f13c3a Add GtkGestureSingle
This is a GtkGesture subclass, specific to single-touch (or
mouse operated) gestures.
2014-05-23 19:54:22 +02:00
Matthias Clasen
49e9ba122a ...and add the right include instead 2014-05-23 19:54:22 +02:00
Matthias Clasen
a1aeaa6b07 Remove a doubled line 2014-05-23 19:54:22 +02:00
Carlos Garnacho
8d2f81cca4 scrolledwindow: Use gesture button/touch press synthesization
This makes scrolled window fully compatible again wrt the
GtkScrolledWindow::capture-button-press property.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
36106c19d4 widget: Propagate touch/button press events when a sequence is denied
If the captured touch begin or button press event have been consumed
for the given sequence, propagate it upwards if the sequence goes from
claimed to denied, so the widgets on the way to the event widget receive
a coherent event stream now that they're going to receive events.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
83dd050ab2 gesture: Add private getter to know whether a touch begin was handled
If GDK_TOUCH_BEGIN was handled/consumed for a sequence, or GDK_BUTTON_PRESS was
handled for the mouse gesture, this function will return TRUE.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
a9fa0151f1 widget: Implement hierarchy-level mechanism to claim/deny sequences
The policy of sequence states has been made tighter on GtkGesture,
so gestures can never return to a "none" state, nor get out of a
"denied" state, a "claimed" sequence can go "denied" though.

The helper API at the widget level will first emit
GtkWidget::sequence-state-changed on the called widget, and then
notify through the same signal to every other widget in the captured
event chain. So the effect of that signal is twofold, on one hand
it lets the original widget set the state on its attached controllers,
and on the other hand it lets the other widgets freely adapt to the
sequence state changing elsewhere in the event widget chain.

By default, that signal updates every controller on the first usecase,
and propagates the default gesture policy to every other widget in the
chain on the second. This means that, by default:

1) Sequences start out on the "none" state, and get propagated through
   all the event widget chain.
2) If a widget in the chain denies the sequence, all other widgets are
   unaffected.
3) If a widget in the chain claims the sequence, then:
  3.1) Every widget below the claiming widget (ie. towards the event widget)
       will get the sequence cancelled.
  3.2) Every widget above the claiming widget that had the sequence as "none"
       will remain as such, if it was claimed it will go denied, but that should
       rarely happen.

This behavior can be tweaked through the GtkWidget::sequence-state-changed and
GtkGesture::event-handled vmethods, although this should be very rarely done.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
4ec1fafe2f docs: Add GtkWidget gesture functions 2014-05-23 19:54:22 +02:00
Carlos Garnacho
83ef067ae1 scrolledwindow: port to GtkGesture
The kinetic scrolling feature is now implemented using a
GtkGestureDrag and a GtkGestureSwipe, plus a GtkGestureLongPress
in order to denying the sequence, so it is possibly handled
underneath.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
76213ab209 widget: Add widget-level handling of touch sequence state.
These functions ATM do nothing but proxying the controller(s) state
with the given sequence.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
f1bb0283dd widget: Hook GtkEventController to widget event processing.
A controller can be optionally hooked on the capture or the bubble
phase, so the controller will automatically receive and handle events
as they arrive without further interaction.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
d0da82fed6 gtk: Remove propagation limit of captured events on the grab widget
Now, all captured events run from the toplevel to the deepmost widget,
regardless of GTK+ grabs. This makes captured events more useful to
event controllers if used together in the hierarchy with widgets doing
old fashioned event handling and GTK+ grabs.
2014-05-23 19:54:22 +02:00
Carlos Garnacho
71e382cf42 gtk-demo: Add simple gestures demo 2014-05-23 19:54:22 +02:00
Carlos Garnacho
73c2964e85 hook GtkGesture* into docs generation 2014-05-23 19:54:21 +02:00
Carlos Garnacho
450c754c7c Add GtkGestureMultiPress
This gesture handles any number of clicks, ensuring multiple presses
stay within thresholds and timeouts. When anything of that happens,
the gesture is reset and press count starts from 1 again.

Optionally, the gesture can be given a rectangle, used in in presses > 1
to ensure the consecutive presses happen on user imposed areas.
2014-05-23 19:54:21 +02:00
Carlos Garnacho
8026bc3651 Add GtkGestureDrag
This gesture interprets and reports drags as an offset to the drag
start point.
2014-05-23 19:54:21 +02:00
Carlos Garnacho
9db3c2d893 Add GtkGestureZoom
This gesture interprets and reports relative scale differences when fed
with events from two different GdkEventSequences.
2014-05-23 19:54:21 +02:00
Carlos Garnacho
2495b518c1 Add GtkGestureRotate
This gesture implementation recognizes rotations when fed with
events from two different GdkEventSequences
2014-05-23 19:54:21 +02:00
Carlos Garnacho
8733e2a918 Add GtkGestureSwipe
This gesture implementation recognices swipes on any direction.
The "swipe" signal has the X/Y velocity vector components, so
those can be used for direction guessing and velocity thresholds.
2014-05-23 19:54:21 +02:00
Carlos Garnacho
88d554d3ba Add GtkGestureLongPress
This gesture interprets long presses with variable delays
and thresholds
2014-05-23 19:54:21 +02:00
Carlos Garnacho
8f113e07fd Add GtkGesture
This a more specific abstract type that handles one or multiple
streams of pointer/touch events.
2014-05-23 19:54:21 +02:00
Carlos Garnacho
e2b8ef8c66 Add GtkEventController
This is a basic abstract type that handles GdkEvents.
2014-05-23 19:54:21 +02:00
Benjamin Otte
6c49ffe916 themingbackground: Outset shadows require border box
They are drawn relative to the border box, not relative to the padding
box.
2014-05-23 19:29:27 +02:00
Benjamin Otte
fa22218973 css: Make getter function a real getter
Initialize the passed-in value, don't treat it as an in-out parameter.
2014-05-23 19:29:27 +02:00
Matthias Clasen
486c82ae8f testsuite: Add more icon names
These were found by looking over the GTK+ sources and ui files.
2014-05-23 12:17:56 -04:00
Matthias Clasen
7caecf3979 Add more icons to check-icon-names
These are icons which are used as GtkArrow replacement, and
icons used for the volume button.
2014-05-23 11:52:12 -04:00
Matthias Clasen
28c04f4be3 testsuite: Run reftests with GTK_DEBUG=icontheme
This will hopefully help to track down some hard-to-squash
failures that only happen in gnome-continuous.
2014-05-23 11:38:24 -04:00
Benjamin Otte
74b6f5fba8 testsuite: Add a test for icon names
This test just checks that all the icon names that GTK uses are present
in the default icon theme.

As icon names are not checked programmatically and we do not want to run
into missing-icon icons in the code, this test seems necessary.

For now, it's just a stub that tests stock icons.
2014-05-23 17:12:32 +02:00
Matthias Clasen
d769f338f2 GtkButton: tighten code a bit
Make it so we only use GtkMisc in one place.
2014-05-22 23:15:08 -04:00
Matthias Clasen
2df80d7a4d inspector: Repeat the keybinding warning
Show the confirmation dialog every time the keybinding is used,
until the user clicks OK.
2014-05-22 18:37:43 -04:00
Matthias Clasen
372e551a66 inspector: avoid a warning on destroy
We are only hiding the window now, so a memory management
error has crept into the destroy path.
2014-05-22 18:37:43 -04:00
Benjamin Otte
e012dfab2c Revert "Fix crash"
This reverts commit 024c11dd66.

It's not a crash fix to cause a return_val_if_fail() to happen.
2014-05-22 22:35:39 +02:00
Benjamin Otte
0eb62c1629 reftests: Fix icon-vfuncs reftest
The reftest broke when font size lead to labels > 16px.
2014-05-22 22:35:08 +02:00
Behdad Esfahbod
024c11dd66 Fix crash 2014-05-22 15:52:01 -04:00
Matthias Clasen
b26da6ed4f docs: Include input handling overview
Now that it is not entirely empty anymore, lets include it.
2014-05-22 15:46:42 -04:00
Matthias Clasen
e491da532a Some more input handling docs 2014-05-22 15:45:31 -04:00
Matthias Clasen
3d981069ab Fill in some content in the input handling overview 2014-05-22 15:16:37 -04:00
Jasper St. Pierre
65022c4078 gdkwindow-x11: Rearrange a tiny bit 2014-05-22 15:01:36 -04:00
Jasper St. Pierre
0d3f162d6b gdkwindow-x11: Fix build 2014-05-22 15:01:23 -04:00
Jasper St. Pierre
084576f214 gdkwindow-x11: Ungrab the implicit grab before showing the window menu
Otherwise, the WM cannot take a grab on the pointer device, since we'll
still have the implicit grab.
2014-05-22 14:47:55 -04:00
Jasper St. Pierre
76e18de811 reftests: Remove the css-match-style-property-order test
It was testing -GtkWidget-focus-line-width, which is a dead property
we don't use anymore.
2014-05-22 14:47:55 -04:00
Matthias Clasen
7e562897e8 Drop an unused spec file template
Last touched in 2008...probably not relevant.
2014-05-22 14:45:54 -04:00
Jasper St. Pierre
845f29ccf5 reftests: Fix some more easy GtkButton shadow cases 2014-05-22 11:46:07 -04:00
Benjamin Otte
b1a7aa49b3 reftests: Fix background-area test
The test should include reset-to-defaults.css but apparently it is older
than that file. So it broke when buttons started using shadows.
2014-05-22 17:38:50 +02:00
Jasper St. Pierre
6c3712599c gdkwindow-x11: Pass through the x/y coordinates to _GTK_SHOW_WINDOW_MENU
We accept these now.
2014-05-22 11:17:33 -04:00
Jasper St. Pierre
695ee3fc19 tests: Remove unused args 2014-05-22 11:17:32 -04:00
Piotr Drąg
27d0d5c0d0 Updated POTFILES.in 2014-05-22 16:12:06 +02:00
Matthias Clasen
3b1196fc68 Forgotten file 2014-05-22 09:31:15 -04:00
Matthias Clasen
49cf5142ba Deprecate GdkColor
It has been replaced by GdkRGBA. Time to make it official.
http://bugzilla.gnome.org/show_bug.cgi?id=636695
2014-05-22 09:09:55 -04:00
Matthias Clasen
c3a9a20839 examples: Don't use gtk_application_add_accelerator
It has been deprecated.
2014-05-22 08:51:58 -04:00
Matthias Clasen
69cef3c9b4 tests: Adapt to gtk_widget_reparent deprecations 2014-05-22 08:50:18 -04:00
Matthias Clasen
cbb5e27b3e tests: Update for GtkMisc deprecations 2014-05-22 08:49:18 -04:00
Matthias Clasen
39ccbe6549 tests: Drop manual property editor
No need for this anymore, now that we have the inspector everywhere.
2014-05-22 08:32:48 -04:00
Matthias Clasen
bd5414addb gtk-demo: Don't use GtkArrow
It is deprecated now.
2014-05-22 08:32:48 -04:00
Matthias Clasen
2036c150ea Avoid a compiler warning 2014-05-22 08:32:48 -04:00
Marc-André Lureau
a3d0b8d7f4 tests: add clipboard set_with_data test
https://bugzilla.gnome.org/show_bug.cgi?id=730183
2014-05-22 12:44:10 +02:00
Matthias Clasen
8f7dceda3c Update treeview tests for focus changes
The treeview is not using focus-pad here anymore, so update
the tests to not expect it.
2014-05-22 06:15:12 -04:00
Matthias Clasen
d01a291dbc GtkScrolledWindow: Avoid a test failure
The change to take out unneeded NULL checks requires some care
at startup: we check both adjustments when any of them changes;
we need to do those checks in the same order in which we create
the scrollbars, otherwise we'll try to get the adjustment of
the vscrollbar when we just set the up the hscrollbars' adjustment.
2014-05-22 06:00:09 -04:00
Björn Lindqvist
a61a11a4ea Remove redundant not-NULL checks from GtkScrolledWindow
The scrollbars are created at construction time and there is no
way to set them to NULL so remove the unnecessary NULL checks.

https://bugzilla.gnome.org/show_bug.cgi?id=525206
2014-05-21 23:04:42 -04:00
Matthias Clasen
898f0fa0b9 Avoid a critical in the file chooser
Hiding the location entry was causing criticals, because
the completion was updated after the widget has already
been disposed.
https://bugzilla.gnome.org/show_bug.cgi?id=720330
2014-05-21 22:50:48 -04:00
Benjamin Otte
b90802f7e4 css: Actually break at end of the string
Introduced in 65c4c1555d.

Found by gnome-continuous running the testsuite.

Includes fixing a broken test in the testsuite.
2014-05-22 02:13:49 +02:00
Matthias Clasen
9ae12b15e9 GtkAppChooserDialog: Make the search entry wider
It was too narrow, and looked a bit odd.

https://bugzilla.gnome.org/show_bug.cgi?id=727147
2014-05-21 20:11:16 -04:00
Matthias Clasen
e6c050c06f searchbar: Add some spacing
When showing the close button, and placing a wide entry in the
middle, there was no separation at all. Fix this by setting
some spacing.
2014-05-21 20:09:46 -04:00
Matthias Clasen
8591f452f0 ColorChooser: Emit notification for editor changes
When the color editor is visible, there is no way for the
application to know about the changes that are happening.
Fix this by emitting property notification for the "rgba"
property.

http://bugzilla.gnome.org/show_bug.cgi?id=708037
2014-05-21 19:23:56 -04:00
Matthias Clasen
33207f4597 Add a 3.14 index for the GDK docs 2014-05-21 19:02:52 -04:00
Matthias Clasen
3d2dcc2bfe Small typo fixes
We generally talk about the 'windowing system' in the GDK frontend
docs, not the 'window manager'.
2014-05-21 19:01:37 -04:00
Jasper St. Pierre
0ea1a526f9 gtkwindow: Use window-manager-side window menus
This avoids a bunch of policy problems with deciding how to lay
out the window menu under different WMs.

For now, we use the special event _GTK_SHOW_WINDOW_MENU, but we
hope to have this standardized in wm-spec quite soon, as KDE wants
it as well.
2014-05-21 18:41:07 -04:00
Yosef Or Boczko
02d92ff831 inspector: Use the new support for RTL icons in GtkIconTheme
https://bugzilla.gnome.org/show_bug.cgi?id=730526
2014-05-21 21:07:05 +03:00
Matthias Clasen
f750f70c7d tests: Make icontheme test installable
To make the icontheme test run successfully when installed,
we need to use the correct test-framework-provided location,
and we need to install the test theme without stripping its
subdirectory structure.
2014-05-21 13:46:49 -04:00
Yosef Or Boczko
c543a14c5b Use the new support for RTL icons in GtkIconTheme
https://bugzilla.gnome.org/show_bug.cgi?id=730526
2014-05-21 17:45:38 +03:00
Matthias Clasen
6b26410d38 GtkLabel: Make context menus on links work
We see an active link when creating the menu, but by the time
the menuitem is activated, we've received a leave notify that
makes the label clear its active link. Instead, give the
menuitems a direct reference to the link that is active when
the menu is created.

Problem pointed out by Tim Baedert
2014-05-21 10:29:17 -04:00
Matthias Clasen
11abc517f5 inspector: Avoid weak ref problems
We know the objects in a size group are always widgets, so we
can avoid hard-to-track down problems with weak references by
just cleaning up when the object gets destroyed. There is still
a chance that we show a widget as part of the group after it
has been removed, but size groups simply have no signals that
would let us avoid that.
2014-05-21 06:44:44 -04:00
Matthias Clasen
d39ee6c81c inspector: Simplify object life-cycle handling
The prop-list doesn't use the object column in its model,
so don't put the object there. And don't leak stuff on
finalize.
2014-05-21 06:44:44 -04:00
Matthias Clasen
3d8b0514bb inspector: Use an emission hook instead of signal handlers
This is slightly easier to manage, and there's only two emission
hooks overall, instead of two signal handlers per object.
2014-05-21 06:44:44 -04:00
Yosef Or Boczko
0a0c95f39b Updated Hebrew translation 2014-05-21 12:40:41 +03:00
Yosef Or Boczko
9cbaf71e14 Updated POTFILES.in 2014-05-21 12:40:32 +03:00
Matthias Clasen
af8fdac001 inspector: Show size groups
Add a tab that shows size groups of a widget. The properties
of the size group are available here, as well as the widgets
that are part of the size group. We highlight the widgets in
the application when their row in the inspector is hovered.
2014-05-20 21:44:48 -04:00
Matthias Clasen
538b987bc5 inspector: Add a way to highlight widgets
In contrast to the flashing, where we blink the widget a
few times, this is explicitly turned on and off.

It will be used for indicating widgets that are part of
a size group, in the next commit.
2014-05-20 21:43:00 -04:00
Yosef Or Boczko
65c9e2a651 inspector: Use symbolic icon everywhere
https://bugzilla.gnome.org/show_bug.cgi?id=730465
2014-05-20 16:21:28 -04:00
Yosef Or Boczko
83d43d0cfe inspector: Expand tabs in the objects section
https://bugzilla.gnome.org/show_bug.cgi?id=730465
2014-05-20 16:21:28 -04:00
Yosef Or Boczko
c6a9c1231b inspector: Expand the general tabs
https://bugzilla.gnome.org/show_bug.cgi?id=730465
2014-05-20 16:21:28 -04:00
Matthias Clasen
3263b963e6 Add a skeleton for an input handling overview document
Not integrated in the docs yet, since there's no content.
2014-05-20 10:10:31 -04:00
Matthias Clasen
70cb91a827 docs: syntax fix
It is just 'Deprecated:' in doc comments, not '@Deprecated:'.
2014-05-20 09:55:29 -04:00
Matthias Clasen
edd6c4d487 docs: enum cleanup
Move GtkExpanderStyle over to the deprecated GtkStyle.
2014-05-20 09:54:01 -04:00
Matthias Clasen
d606021c34 inspector: Avoid a compiler warning
...and a pointless cast, too.
2014-05-20 09:54:01 -04:00
Matthias Clasen
575d0eabfb docs: enum cleanup
Move GtkResizeMode to the only place it is used.
2014-05-20 09:54:01 -04:00
Matthias Clasen
1c271365ab docs: Minor fix 2014-05-20 09:54:01 -04:00
Matthias Clasen
d5251141ce docs: enum cleanup
Move GtkWindowPosition and GtkWindowType to the only place
they are used.
2014-05-20 09:54:01 -04:00
Matthias Clasen
59e4be9752 docs: enum cleanup
Move GtkJunctionSides, GtkRegionFlags and GtkBorderStyle
to the GtkStyleContext docs.
2014-05-20 09:54:01 -04:00
Matthias Clasen
73d0bcb874 docs: enum cleanup
Move GtkDragResult to the DND section
2014-05-20 09:54:01 -04:00
Matthias Clasen
04192d04a2 docs: enum cleanup
Move types that are only used in binding parsing to
gtkrc, together with the deprecated api.
2014-05-20 09:54:01 -04:00
Matthias Clasen
e5a1734ce9 docs: enum cleanup
scrolledwindow part 2
2014-05-20 09:54:01 -04:00
Matthias Clasen
a846e7f818 docs: enum cleanup
Move GtkCornerType to the GtkScrolledWindow docs.
2014-05-20 09:54:01 -04:00
Matthias Clasen
2430762f9b docs: enum cleanup
Move GtkButtonBoxStyle to the one place it is used, GtkButtonBox.
2014-05-20 09:54:01 -04:00
Matthias Clasen
cf1c8c8c69 docs: enum cleanup
Move GtkAttachOptions to the only place its used: GtkTable
2014-05-20 09:54:01 -04:00
Matthias Clasen
ee244473d6 doc: enum cleanup
Move GtkArrowType to where it is used in undeprecated api:
GtkMenuButton.
2014-05-20 09:54:01 -04:00
Matthias Clasen
edde7aca60 docs: enum cleanup
Move GtkArrowPlacement to the GtkMenu docs. This type is
only used for a style property there.
2014-05-20 09:54:01 -04:00
Matthias Clasen
b72f932b9a docs: enum cleanup
Move GtkAccelFlags to the GtkAccelGroup docs.
2014-05-20 09:54:01 -04:00
Yosef Or Boczko
54b0acde40 Updated Hebrew translation 2014-05-20 10:21:44 +03:00
Rico Tzschichholz
0c4dc3c157 docs: Fix make dist 2014-05-20 08:11:44 +02:00
Matthias Clasen
9af2710d84 Add man pages for gtk3-demo and gtk3-widget-factory
We install the applications, so they should also have some docs.
2014-05-19 23:20:56 -04:00
Matthias Clasen
fd65b68927 docs: Trivial typo fix 2014-05-19 22:47:59 -04:00
Piotr Drąg
35af983b96 Updated POTFILES.in 2014-05-20 02:08:24 +02:00
Evan Nemerson
701adf81b6 gdk: assorted introspection and documentation fixes
https://bugzilla.gnome.org/show_bug.cgi?id=729983
2014-05-19 11:47:59 -07:00
Matthias Clasen
ca79019586 GtkSettings: load modules from settings.ini
The initialization is really suboptimal here. This fix at least
makes it so that we don't forget to load modules.

https://bugzilla.gnome.org/show_bug.cgi?id=730306
2014-05-19 14:09:16 -04:00
Yuri Myasoedov
6b2ee7c23a Updated Russian translation 2014-05-19 21:40:44 +04:00
Carlos Garnacho
cacccf7a3a popover: Check for uncaught button events from children
And deal correctly with those as a click within the popover.

https://bugzilla.gnome.org/show_bug.cgi?id=727994
2014-05-19 14:00:07 +02:00
Carlos Garnacho
e2cd59b731 popover: Do not hide the popover if the focus widget is just unset
The focus widget might be unset, just to be set again on a widget inside
the popover. Have the popover wait till the focus is actually moved outside
before dismissing.
2014-05-19 13:49:03 +02:00
Matthias Clasen
c665564374 inspector: Build out the resource information
Show type and size for each resource.
2014-05-19 07:10:33 -04:00
Matthias Clasen
7bf3d9d0ab Fix doc syntax
End-of-comment tags don't take an @ - thats only for parameters.
2014-05-19 06:58:18 -04:00
Matthias Clasen
8c0b1697e6 inspector: string fixes
Mark user-visible strings for translation in the new property editor.
2014-05-19 00:17:23 -04:00
Matthias Clasen
9a23fd3313 inspector: Link to model for attributes 2014-05-19 00:13:30 -04:00
Benjamin Otte
d260694a37 widget: Untagle if statements
Reduces the number of nested ifs and makes the code clearer.
2014-05-19 04:25:10 +02:00
Matthias Clasen
34a87ee2f3 inspector: redo property editing
Move away from cell editing, and use a popover instead. This makes
it easier to e.g. use a color chooser - there's just not enough room
in a cell for many things.

Much of this code is adapted from tests/prop-editor.c.
2014-05-18 11:43:13 -04:00
Matthias Clasen
386f1d14f0 GtkAssistant: Avoid a crash
The child properties in GtkAssistant are somewhat broken, since
they are not on direct children - but that is no reason to crash
if somebody does ask for child properties of direct children.
2014-05-18 11:43:13 -04:00
Benjamin Otte
f191c13a27 API: Deprecate gtk_container_set_reallocate_redraws() 2014-05-18 16:09:21 +02:00
Michael Catanzaro
0c55b841fc Fix a typo 2014-05-17 22:21:14 -05:00
Benjamin Otte
3cb5e58b1a API: Deprecate gtk_widget_region_intersect()
It's unused and would become disambiguous once we split between
allocation and draw region.
2014-05-18 02:29:56 +02:00
Benjamin Otte
2a99584c68 API: Deprecate gtk_widget_reparent() 2014-05-17 23:36:57 +02:00
Yosef Or Boczko
2b03234466 Updated Hebrew translation 2014-05-18 00:17:57 +03:00
Matthias Clasen
70bec41f6c inspector: Allow sorting signals 2014-05-17 15:39:46 -04:00
Matthias Clasen
3d0b149e3b inspector: Allow sorting properties by origin 2014-05-17 15:35:10 -04:00
Matthias Clasen
4f830fb117 treeview: Don't show missing images
When a model is sortable, but the the column is not currently used
for sorting, we want to reserve the space for showing the sort
indicator. But we currently set the icon to 'missing-image', which
is not great to show all over the place. So, just set the opacity
to 0.
2014-05-17 15:32:54 -04:00
Piotr Drąg
df61db6dbc Improve punctuation in a new translatable string 2014-05-17 20:20:45 +02:00
Matthias Clasen
b4a57a0f0c inspector: Add a first-time warning
With the keybinding, it is possible that users may trigger the
inspector unintentionally. Show a dialog that informs them about
whats going on and gives them a chance to back out.

The warning dialog can be bypassed with the
org.gtk.Settings.Debug inspector-warning setting.
2014-05-16 21:51:42 -04:00
Matthias Clasen
2bf654b352 inspector: Drop an unused widget 2014-05-16 20:49:06 -04:00
Jasper St. Pierre
8c15389d76 wayland: Clean up init code a tiny bit 2014-05-16 15:35:47 -04:00
Jasper St. Pierre
ffebedae40 wayland: Simplify roundtrip initialization
All the globals we care about should appear before doing anything
else, up-front, so a single round-trip after adding the registry
should be more than enough.
2014-05-16 15:35:29 -04:00
Jasper St. Pierre
72e9937e00 wayland: Remove unused stuff 2014-05-16 15:24:37 -04:00
Matthias Clasen
12f5cfac19 Trivial syntax fix 2014-05-16 14:30:34 -04:00
Chun-wei Fan
7ea0e2756a GtkInspector: Fix Build on Windows
Update visual.c to use Windows themes rather than the stock Raleigh theme,
and avoid hardcoding data paths for Windows (and Mac).  As the dlfcn.h
functions are only used when Python is enabled, move its inclusion there[*].

Also ensure that variables are declared on the top of the block.

[*] Python support Windows needs to be investigated, as POSIX signal
    handling is used there.

https://bugzilla.gnome.org/show_bug.cgi?id=730236
2014-05-16 23:50:20 +08:00
Piotr Drąg
146adf077e Updated POTFILES.skip 2014-05-16 17:30:25 +02:00
Matthias Clasen
298f76e6a3 Docs: Update an example to use current API 2014-05-16 08:25:20 -04:00
Chun-wei Fan
8d7c93ba47 Visual Studio Builds: Build GtkInspector
Add project files to build the GtkInspector sources, as gtk-inspector is a
required portion for GTK+.  "Install" the
org.gtk.Settings.Debug.gschema.xml gsettings schema file as well, so that
people can trigger GtkInspector as they develop and test their GTK+-based
programs.
2014-05-16 17:32:29 +08:00
Matthias Clasen
63e7fe3d60 inspector: Show tree model contents 2014-05-16 00:28:17 -04:00
Chun-wei Fan
58b48fa209 gdkselection-win32.c: Declare Variables At Top Of Block
...so that builds on Visual C++ can be fixed.
2014-05-16 12:25:36 +08:00
Matthias Clasen
ee06b932d3 inspector: Set a window icon 2014-05-15 22:53:23 -04:00
Matthias Clasen
fa80bb2324 inspector: Improve actions tab
React to action group changes, and allow changing action states.
2014-05-15 22:37:30 -04:00
Matthias Clasen
906e4adb5a inspector: ellipsize long paths 2014-05-15 22:37:30 -04:00
Benjamin Otte
271ef198bf cssimage: Implement symbolic coloring for -gtk-icontheme() 2014-05-16 04:13:39 +02:00
Yosef Or Boczko
96c476b6a0 Updated Hebrew properties translation 2014-05-16 05:11:56 +03:00
Yosef Or Boczko
20f2c84e9c Updated Hebrew translation 2014-05-16 03:09:51 +03:00
Yosef Or Boczko
7f3788e2f0 Updated POTFILES.in 2014-05-16 03:09:44 +03:00
Matthias Clasen
e84a523750 inspector: Show resources
Show a list of all registered resources. If a resource looks
like text or an image, we show its content.
2014-05-15 19:36:12 -04:00
Matthias Clasen
d52a01631e inspector: Redraw when visual debugging tools are toggled
This doesn't address the pixel cache yet.
2014-05-15 19:36:12 -04:00
Matthias Clasen
e170f31e2a inspector: Don't show internal build ids
These ___object_x___ ids just clutter up the tree.
2014-05-15 19:36:12 -04:00
Jasper St. Pierre
75ecdf50a3 wayland: Fix GtkMenuButton popups in a terrible, hacky way
Since you can't take grabs on unmapped windows, GtkMenu takes a grab on
the menu in a convoluted way: it first grabs another window, shows the
menu window, and then transfers the grab over to the GtkMenu widget.

For normal menubars, this is perfectly fine, as the first window it grabs
is our toplevel, and that gets picked up in our transient path.  For
GtkMenuButton or other spurious uses of gtk_menu_popup, it creates a new
temporary input-only window which it takes the grab on, known as the "grab
transfer window". Since this window isn't a transient-for of our new menu
widget window, the grab isn't noticed when we go to show it, and thus the
menu ends up as a new toplevel.

Add a special hack to GtkMenu and the Wayland backend which lets us notice
this "grab transfer window", and include it in our grab finding path.

It's sort of terrible to have to hack up the widgets instead of just the
backend, but the alternative would be an entirely new window type which is
managed correctly by GDK. I don't want to write that.
2014-05-15 18:02:45 -04:00
Jasper St. Pierre
f6b3f0bfc7 wayland: Clean up function to find the input seat 2014-05-15 18:02:45 -04:00
Jasper St. Pierre
7052795a80 wayland: Clean up code to find the correct seat for a window 2014-05-15 18:02:45 -04:00
Piotr Drąg
eb3f2c0068 Updated POTFILES.in and POTFILES.skip 2014-05-15 20:53:48 +02:00
Yosef Or Boczko
23bfcd8e84 Updated Hebrew translation 2014-05-15 21:16:58 +03:00
Stefano Facchini
ac68d1f0a1 inspector: make the classes-list toolbar sensitive 2014-05-15 18:23:48 +02:00
Stefano Facchini
78a6906d4a inspector: Fix a typo 2014-05-15 18:15:31 +02:00
Jasper St. Pierre
d252282e75 inspector: git ignore template headers 2014-05-15 11:06:08 -04:00
Matthias Clasen
2e07865f67 Drop debug spew 2014-05-15 08:47:44 -04:00
Matthias Clasen
93204d3ba8 Don't lie about baselines so much
Let g_object_get (w, "valign",...) report the truth, so that the
inspector can show it without special cases.
2014-05-15 08:43:43 -04:00
Matthias Clasen
e80df0aed0 Minor doc fix 2014-05-15 08:43:43 -04:00
Yosef Or Boczko
e0d5d76639 Updated Hebrew translation 2014-05-15 13:09:14 +03:00
Yosef Or Boczko
e24e621fff inspector: Added general.ui to Makefile 2014-05-15 12:52:47 +03:00
Matthias Clasen
42dc501133 inspector: Drop unused functions
The entire UI is constructed with templates, so the wrapper
constructors are never called, except for gtk_inspector_window_new,
which gets called from the GTK+ code.
2014-05-15 00:14:37 -04:00
Matthias Clasen
75d49675f3 inspector: Add a general information tab
It is useful to see the GTK+ version, and the various paths
that affect GTK+ operation at runtime.
2014-05-15 00:06:43 -04:00
Matthias Clasen
b36c8250a9 inspector: Merge Visual and Themes tabs 2014-05-14 22:53:32 -04:00
Matthias Clasen
2d2f9861a6 inspector: Show GAction information
Show the actions that are added to GtkApplication and
GtkApplicationWindows, as well as action groups that are
inserted elsewhere with gtk_widget_insert_action_group.

https://bugzilla.gnome.org/show_bug.cgi?id=730095
2014-05-14 21:40:01 -04:00
Matthias Clasen
3f224a7165 Add private GtkWidget api for action groups
Similar to the just-added action muxer api for enumerating
action prefixes and for getting the action group for a
prefix.

https://bugzilla.gnome.org/show_bug.cgi?id=730095
2014-05-14 21:28:53 -04:00
Matthias Clasen
4396bbdb3c GtkActionMuxer: Add getters
Add a way to enumerate all prefixes, and to get the
action group for a prefix.

https://bugzilla.gnome.org/show_bug.cgi?id=730095
2014-05-14 21:27:56 -04:00
Matthias Clasen
384393e9de Revert "Add private api to load a single module"
This reverts commit 7f9a0dbe16.
2014-05-14 21:25:28 -04:00
Matthias Clasen
59c9d24bbf inspector: stop being a module
Moving the inspector into libgtk lets use reuse internals without
having to add public API for everything or inventing awkward private
call conventions.

https://bugzilla.gnome.org/show_bug.cgi?id=730095
2014-05-14 21:23:44 -04:00
Matthias Clasen
53b37b8f71 Fix GtkCalendar drawing
A gtk_widget_get_allocation call was unintentionally
dropped in 5cb43c70f7.
2014-05-14 20:38:55 -04:00
Cosimo Cecchi
6ecc431c23 placessidebar: use proper canonicalization when checking if home
Instead of just checking the string. This catches things like double
slashes, relative paths and so on.

https://bugzilla.gnome.org/show_bug.cgi?id=730142
2014-05-14 16:05:44 -07:00
Matthias Clasen
99f36ffbb4 docs: Add an index for 3.14 additions 2014-05-14 15:56:01 -04:00
Ryan Lortie
6525130740 GtkMenuShell: (model binding) show() new items
We weren't calling show() on newly-added items -- make sure we do that.

This makes the Time menu in bloatpad work properly again.
2014-05-14 15:49:30 -04:00
Piotr Drąg
583b46c9c8 Updated POTFILES.skip 2014-05-14 19:34:55 +02:00
Yosef Or Boczko
6c737b8bf0 Updated POTFILES.in 2014-05-14 14:51:10 +03:00
Matthias Clasen
8b0b024385 More deprecation docs for GtkArrow 2014-05-13 23:52:47 -04:00
Matthias Clasen
a600718846 Deprecate GtkArrow
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:13 -04:00
Matthias Clasen
219f96b8a3 Drop GtkArrow use in GtkTreeView
This was just an unneeded include anyway.
2014-05-13 23:50:13 -04:00
Matthias Clasen
c242437535 Drop GtkArrow use in GtkPathBar
This was just an unneeded include anyway.
2014-05-13 23:50:13 -04:00
Matthias Clasen
7269168e89 Drop GtkArrow use in GtkMenuToolButton
This was just an unneeded include anyway.
2014-05-13 23:50:13 -04:00
Matthias Clasen
57feff4e14 Drop GtkArrow use in GtkTreeViewColumn
This is in preparation for GtkArrow getting deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:12 -04:00
Matthias Clasen
26e1b7c7d7 Drop GtkArrow use in GtkToolbar
This is in preparation for GtkArrow getting deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:12 -04:00
Matthias Clasen
69314ce9e5 Drop GtkArrow use in GtkMenuButton
This is in preparation for GtkArrow getting deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:12 -04:00
Matthias Clasen
9a127d364f Drop GtkArrow use in GtkComboBox
This is in preparation for GtkArrow getting deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=729564
2014-05-13 23:50:12 -04:00
Benjamin Otte
0f788ab1be testsuite: Add rtl icontheme tests 2014-05-14 04:55:11 +02:00
Matthias Clasen
0f5814aa33 icontheme: Add a test for lookup order
Add tests that verify the expected lookup order between -symbolic,
-rtl/-ltr and generic fallback.
2014-05-14 04:28:36 +02:00
Matthias Clasen
b0b205040c GtkIconTheme: Support looking up directional variants
Add two new icon lookup flags, GTK_ICON_LOOKUP_DIR_LTR and _RTL,
which tell GtkIconTheme to look for icon variants which have a
-ltr or -rtl suffix. GtkIconHelper adds these lookup flags when
looking up icons.

Note that due to the way this overlaps with symbolic icon lookup,
directional variants of symbolic icons must be called -symbolic-rtl, not
-rtl-symbolic.

https://bugzilla.gnome.org/show_bug.cgi?id=729980
2014-05-14 04:28:36 +02:00
Benjamin Otte
89d6598d5b icontheme: Split out symbolicness tests into own function 2014-05-14 04:28:36 +02:00
Matthias Clasen
26c2975007 testsuite: Add icontheme tests for generic fallback 2014-05-14 04:28:36 +02:00
Benjamin Otte
77a9539e07 icontheme: Do a failed lookup at the beginning
Do this to catch the g_warning() that the icontheme code emits the first
time a lookup fails.
2014-05-14 04:28:36 +02:00
Benjamin Otte
5f794773aa testsuite: Add more icontheme tests
Check that the lookup order works properly when forcing either symbolic
or regular icons.
2014-05-14 04:28:36 +02:00
Benjamin Otte
5ba4a085e2 testsuite: Add a basic icontheme test
Most of the work here is creating the infrastructure to have a custom
icon theme to add icons to and run tests against.
2014-05-14 04:28:35 +02:00
Benjamin Otte
5e07b80854 reftests: Add a test for recent commits
Check that icon-shadow is not affected by -gtk-icon-transform.
2014-05-14 04:28:35 +02:00
Benjamin Otte
783e5f7b3e themingengine: Don't transform icon shadows
.. by -gtk-icon-transform. We want a rotating spinner's shadow to still
be directed towards bottom right.
2014-05-14 04:28:35 +02:00
Benjamin Otte
cb0b4b5410 css: Change CssTransformValue API
Provide API to query the matrix instead of API that applies the matrix
directly. This makes the API more flexible.

See the commits implementing shadows.
2014-05-14 04:28:35 +02:00
Benjamin Otte
ce0835e539 themingengine: Draw "icon-shadow" on icons 2014-05-14 04:28:35 +02:00
Benjamin Otte
59b6dee480 reftest: Add tests for the new vfuncs
This test is a bit brittle because it doesn't properly rely on CSS
properties but needs to use widget style properties to turn of extra
sizing from widgets.

It might break in the future when porting widgets to draw properly.
2014-05-14 04:28:35 +02:00
Benjamin Otte
b9f11cb636 themingengine: Draw icons for arrows 2014-05-14 04:28:35 +02:00
Benjamin Otte
b0ea9e4dea themingengine: Use icons for expanders 2014-05-14 04:28:35 +02:00
Benjamin Otte
bb7a5691a9 themingengine: Implement icon drawing for checks and options 2014-05-14 04:28:34 +02:00
Benjamin Otte
5d1b5c13fb icontheme: Don't force missing icon
When forcing regular or symbolic icons, fall back to the default
specified icons. This ensures that when no symbolic icon is present, an
icon will still appear - the regular one.
2014-05-14 04:28:34 +02:00
Benjamin Otte
f0a5cebe23 reftests: Add a reftest for -gtk-icon-style 2014-05-14 04:28:34 +02:00
Benjamin Otte
f8cccbad0e iconhelper: Respect -gtk-icon-style
This allows styling of entry icons, treeview pixbufs and images. They
can now be forced to be symbolic or regular.
2014-05-14 04:28:34 +02:00
Benjamin Otte
9619b8cff4 API: icontheme: Add 2 new GtkIconLookupFlags
GTK_ICON_LOOKUP_FORCE_REGULAR and GTK_ICON_LOOKUP_FORCE_SYMBOLIC can be
used to force a regular or symbolic icon to be loaded, even if the icon
names specify a different version.

This is intended to support the CSS property -gtk-icon-style.
2014-05-14 04:28:34 +02:00
Benjamin Otte
109fcb987b css: Add a -gtk-icon-style property
The values can be:
  "requested" - the style as requested
  "regular"   - use a regular full-color icon
  "symbolic"  - use a symbolic icon

The property defaults to "requested", so no changes should be seen
unless CSS overrides it.
It is also inherited, so that using this CSS
  .toolbar { -gtk-icon-style: symbolic; }
is enough to force the whole toolbar to use symbolic icons.
2014-05-14 04:28:34 +02:00
Benjamin Otte
55f473f4e6 spinner: Don't arbitrarily limit sizes anymore
This essentially reverts b33877e173

Now that we can theme the spinner as a real icon using -gtk-icontheme()
this limit is no longer necessary.
2014-05-14 04:28:34 +02:00
Benjamin Otte
f56ba8378b css: Add -gtk-icon-transform property
This property allows transforming icons and is mainly intended to be
used for spinner animations.
2014-05-14 04:28:33 +02:00
Benjamin Otte
965cd4a9c0 css: Add GtkCssTransformValue
The value implements the 2D parts of CSS transforms. See
  http://www.w3.org/TR/css3-transforms/
For the specification.

All it does is give us an expressive way to define Cairo matrices (and
their transforms)
2014-05-14 04:28:33 +02:00
Benjamin Otte
a56637b330 themingengine: Draw icons for spinners
If the -gtk-icon-source property is not set to "none" (the default),
draw it as the spinner icon. Otherwise fall back to previous methods.
2014-05-14 04:28:33 +02:00
Benjamin Otte
226e1cd2b2 css: Add -gtk-icon-source property
This is to be used for rendering icon content via CSS, such as spinners
or checkboxes.
2014-05-14 04:28:33 +02:00
Benjamin Otte
633ec8184d css: Add support for -gtk-icontheme("icon-name")
This allows using icons from the icontheme as images in CSS. The
reasoning is that this allows to give the image control about how it's
scaled (by using the icon theme's scaling method. So we can get crisp
images at different resolutions.
2014-05-14 04:28:33 +02:00
Matthias Clasen
f6af96723c GtkButton: Deprecated setters and getters as well
gtk_button_set/get_alignment should be deprecated together
with the properties they are setters/getters for.
2014-05-13 22:19:30 -04:00
Jasper St. Pierre
38445e6326 wayland: Ack the configure immediately 2014-05-13 16:21:57 -04:00
Matthias Clasen
758734a8c5 gtk3-demo: Don't leak in the sizegroup example
Nobody was cleaning up the size group.
Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=645966
2014-05-13 15:50:23 -04:00
Matthias Clasen
0ee35aa27b inspector: Show text view subobjects in the tree 2014-05-13 15:20:37 -04:00
Matthias Clasen
069a2603ef inspector: Add a setting to disable the keybinding
This will be needed for lockdown, e.g. on the login screen.
https://bugzilla.gnome.org/show_bug.cgi?id=730007
2014-05-13 15:20:36 -04:00
Matthias Clasen
b8531087bd inspector: All to turn it on programmatically
Export gtk_window_set_interactive_debugging.
https://bugzilla.gnome.org/show_bug.cgi?id=730008
2014-05-13 15:20:36 -04:00
Matthias Clasen
514efb51b0 Add some documentation to the filechooser schema 2014-05-13 15:20:36 -04:00
Matthias Clasen
128748c5cd Add some documentation to the colorchooser schema 2014-05-13 15:20:36 -04:00
Piotr Drąg
88c9692b2f Updated POTFILES.in 2014-05-13 19:33:15 +02:00
Matthias Clasen
123715d878 Minor documentation fix
Two stray references, pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=730035
2014-05-13 11:56:29 -04:00
Matthias Clasen
b8309cdf2f Fix a leftover deprecation warning 2014-05-13 11:56:29 -04:00
Matthias Clasen
ce0325207e Add a test for the previous fix 2014-05-13 11:56:29 -04:00
Olivier Brunel
0d2d1904b1 treestore: Fix segfault when reordering non-existing children
Calling gtk_tree_store_reorder() on a node without children would cause a
segfault; Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698396

Signed-off-by: Olivier Brunel <jjk@jjacky.com>
2014-05-13 11:56:28 -04:00
Matthias Clasen
75c22332d0 Minor doc fixup 2014-05-13 11:56:23 -04:00
Matthias Clasen
0d8c1c9c09 Improve the GTK_STYLE_PROVIDER_PRIORITY_FALLBACK docs
Explain possible gotcha with catch-all rules.
2014-05-13 11:20:06 -04:00
Matthias Clasen
63288829b0 Add an alternative keybinding for the inspector
Control-Shift-I is already used for similar things in many
applications, so provide Control-Shift-D as an alternative.
https://bugzilla.gnome.org/show_bug.cgi?id=730043
2014-05-13 11:04:43 -04:00
Matthias Clasen
f9a0a96eb4 Avoid deprecation warnings
This is testing deprecated API, after all...
2014-05-13 08:45:35 -04:00
Matthias Clasen
ec0a60a248 Deprecate GtkMisc
This has been dangling ever since 3.0.
2014-05-13 08:45:00 -04:00
Matthias Clasen
7840bad5d7 Drop most uses of GtkMisc in tests
Replace them by GtkWidget h/valign. The only remaining uses
are those where a size group is involved; they can't be replaced
until GtkLabel stops looking at GtkMisc alignment for size
allocation.
2014-05-13 07:43:21 -04:00
Matthias Clasen
49188aeeda GtkLabel: Drop references to GtkMisc
GtkMisc is heading for retirement. Point to the GtkWidget h/valign
properties instead.
2014-05-13 07:14:38 -04:00
Matthias Clasen
8a8ce85ea0 GtkMenuItem: Stop using gtk_misc_set_alignment
GtkMisc is heading for deprecation. Just use GtkWidget h/valign.
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2014-05-13 07:06:06 -04:00
Rico Tzschichholz
22eaffba59 Inspector: Fix make dist 2014-05-13 12:27:02 +02:00
Matthias Clasen
42f8b4b48b GtkButton: Deprecate xalign and yalign properties
These are directly passed through to GtkMisc/GtkAlignment, which
are both on the way to deprecation.
2014-05-13 06:26:19 -04:00
Matthias Clasen
d292245659 gtk3-demo: Fix up toolpalette demo
The demo appears pretty broken, because some icons are not fitting
well in the grid. Just skip the problematic icons.
2014-05-13 06:26:11 -04:00
Jasper St. Pierre
9b4668c82c wayland: Update to latest xdg-shell protocol 2014-05-13 02:39:59 -04:00
Jasper St. Pierre
c1efc4ad7b gdk: Add new _gdk_set_window_state
Wayland's mechanism tells us all of our new states, rather than
telling us which ones were added and removed. Add a new private
interface so that we can simply specify the new states as a
bitfield directly rather than having to compute which ones were
added and removed.
2014-05-13 02:39:59 -04:00
Matthias Clasen
807f0aa747 Minor documentation edit 2014-05-12 22:58:47 -04:00
Matthias Clasen
d67751d0cc gtk3-demo: Drop unneeded gtk_init() call
GtkApplication is doing this for us.
2014-05-12 22:38:37 -04:00
Matthias Clasen
1d099fbfae gtk-demo: Don't use margin-left/right
Instead, use margin-start/end, which are the non-deprecated
replacements.
2014-05-12 22:32:51 -04:00
Owen W. Taylor
8f9e50de80 GtkPopover: inherit actions from the relative_to widget
Make the relative_to widget the parent for a GtkPopover's
GtkActionGroup. This, for example, makes the menu model of a
GtkMenuButton find action groups attached to the button.

https://bugzilla.gnome.org/show_bug.cgi?id=729915
2014-05-12 16:39:44 -04:00
Sébastien Wilmet
1e3af04dd9 gtk_text_buffer_create_tag(): returns NULL on failure
Returns NULL in case of a duplicated tag name in the tag table. It is
still a programmer error to duplicate a name, but if it happens the
behavior is a little nicer (and hopefully doesn't crash).

https://bugzilla.gnome.org/show_bug.cgi?id=614717
2014-05-12 19:10:30 +02:00
Sébastien Wilmet
68ad33cb89 Add boolean return value for gtk_text_tag_table_add()
The user doesn't need to check the return value, because if FALSE is
returned it is a programmer error. But it permits a nicer behavior for
gtk_text_buffer_create_tag() in case of failure.

https://bugzilla.gnome.org/show_bug.cgi?id=614717
2014-05-12 19:10:30 +02:00
Piotr Drąg
a06fc473ec Updated POTFILES.in and POTFILES.skip
We still need .ui.h files for the inspector.
2014-05-12 16:35:46 +02:00
Matthias Clasen
ea33d7a1e1 Move GtkIconFactory to deprecated section in the docs
Just catching up with reality.
2014-05-11 22:03:27 -04:00
Matthias Clasen
7b17060654 GtkIconFactory: Remove outdated information from the docs
The stock browser was removed from gtk3-demo.
2014-05-11 22:02:45 -04:00
Matthias Clasen
49733154a6 Deprecate GtkNumerableIcon
It was a failed experiment, it is basically unused, and it complicates
code in GtkIconTheme that we want to rework.
2014-05-11 22:02:32 -04:00
Matthias Clasen
5cd5db1f57 Remove a redundant check
gtk_widget_show/_hide already check the widget's visibility.

https://bugzilla.gnome.org/show_bug.cgi?id=728135
2014-05-11 11:56:22 -04:00
Evan Nemerson
38d2458f53 gdk: add many missing (nullable) return value annotations
https://bugzilla.gnome.org/show_bug.cgi?id=729834
2014-05-11 11:48:32 -04:00
Nikita Churaev
9187b6bae7 Populate page 2 of the Widget Factory
https://bugzilla.gnome.org/show_bug.cgi?id=729598
2014-05-11 10:48:37 -04:00
Nikita Churaev
73b04b5434 Don't stretch switches in Widget Factory
https://bugzilla.gnome.org/show_bug.cgi?id=729594
2014-05-11 10:48:22 -04:00
Matthias Clasen
53a67d20a2 extract-strings: Support more GtkBuilder markup
The inspector templates are using the <item> tag with an
id attribute, which was causing extract-strings to fail.
Fix this.
2014-05-10 22:04:38 -04:00
Matthias Clasen
f3227688b4 inspector: Fix button path placement 2014-05-10 22:04:37 -04:00
Matthias Clasen
8475540103 inspector: Add a visual tab
Move the show updates and flip text direction controls here,
and add controls for baseline and pixel cache debugging.
2014-05-10 22:04:37 -04:00
Matthias Clasen
a145dd7097 Add data-list.ui to list of templates 2014-05-10 22:04:36 -04:00
Matthias Clasen
7a56404e7b Make the inspector available via GTK_DEBUG
Change things around so GTK_DEBUG=interactive also brings
up the inspector window.
2014-05-10 22:04:36 -04:00
Matthias Clasen
975677872f inspector: Add minimal signal tracing
Add rudimentary signal tracing. The signals tab can now count signal
emissions for all signals of the current object.
2014-05-10 22:04:35 -04:00
Matthias Clasen
a0cae6957e inspector: clean up better when objects go away
Instead of manually doing it everywhere, just call set_object (NULL)
from the selection_changed handler. Fix all the set_object() functions
to deal with NULL.
2014-05-10 22:04:35 -04:00
Matthias Clasen
cb85a1fa3a inspector: Improve the Inspect tooltip 2014-05-10 22:04:34 -04:00
Matthias Clasen
be532bc196 inspector: Add a button for rtl flipping
Nice to have a quick way of testing this everywhere.

The implementation is not quite perfect: due to the way text
direction works in GTK+, widgets that appear in the inspector
window while we are flipped will inherit the flipped direction
instead of the fixed direction of the inspector window.
2014-05-10 22:04:34 -04:00
Matthias Clasen
a089ccf5f0 inspector: Add a minimal Data tab
This will eventually show useful information about the content
of tree models.
2014-05-10 22:04:33 -04:00
Matthias Clasen
9655337407 inspector: Hide tabs instead of making them insensitive 2014-05-10 22:04:33 -04:00
Matthias Clasen
6303e62440 inspector: Make button path non-homogeneous 2014-05-10 22:04:32 -04:00
Matthias Clasen
e7d3323ba7 inspector: Avoid size changes of button path 2014-05-10 22:04:32 -04:00
Matthias Clasen
46b6a32ef0 inspector: Reorder tabs 2014-05-10 22:04:31 -04:00
Matthias Clasen
bf46950a09 inspector: Move scrolledwindow into prop list template 2014-05-10 22:04:31 -04:00
Matthias Clasen
c744699201 inspector: Avoid a double scrolled window 2014-05-10 22:04:30 -04:00
Matthias Clasen
d4522f54e7 inspector: Make notebook scrollable 2014-05-10 22:04:30 -04:00
Matthias Clasen
6824527cc4 inspector: Add models to the tree
It makes sense to add the models of tree views, icon views
and combo boxes to the tree.
2014-05-10 22:04:29 -04:00
Matthias Clasen
d64a9615bc inspector: Make value ellipsized
The values can get long, so ellipsize them.
2014-05-10 22:04:29 -04:00
Matthias Clasen
2af94dff1c inspector: Add cell areas into the tree 2014-05-10 22:04:28 -04:00
Matthias Clasen
9467c56b94 inspector: Rename Widget Tree to Objects 2014-05-10 22:04:28 -04:00
Matthias Clasen
700657ad19 inspector: Deal with dying objects
The widget-tree was not safe against object just going away.
Fix this by using row references instead of iters where
necessary, and by using weak refs to clean up when objects
die.
2014-05-10 22:04:28 -04:00
Matthias Clasen
0dbfef5696 Trivial: shorten some variable names 2014-05-10 22:04:27 -04:00
Matthias Clasen
e9cc859051 inspector: Add a Label column
Move the UI strings over to that column, and use the buildable
ID for the name column, where available.
2014-05-10 22:04:27 -04:00
Matthias Clasen
1a6dd9fcd2 GtkApplication: implement the active-window property
This was apparently just forgotten.
First bug found by GtkInspector.
2014-05-10 22:04:26 -04:00
Matthias Clasen
8a6421ac30 inspector: Show the default GApplication in the tree
This is a handy object to have quickly available.
2014-05-10 22:04:26 -04:00
Matthias Clasen
83503cbf20 inspector: Don't flash the window initially
This is flickery, and not really necessary.
2014-05-10 22:04:26 -04:00
Matthias Clasen
768a437c02 Work around a GtkBuilder deficiency
It turns out that an <object> with just a <signal> in it does
not work right in GtkBuilder. Work around by adding a property.
2014-05-10 22:04:25 -04:00
Matthias Clasen
cda706b522 inspector: Don't show mapped/realized/visible in the tree
It does not really add much over the sensitive/insensitive rendering
that is already indicating which widget is mapped. At the same time,
set up signal handlers so we can update that when the widget changes.
2014-05-10 22:04:25 -04:00
Matthias Clasen
e249c6d6ee inspector: Don't leak signal handlers
Not only was the property list connecting to notify::bla for
each property individually, it was also leaking the signal
handlers when the selected object changed. Fix both.
2014-05-10 22:04:25 -04:00
Matthias Clasen
86adead803 inspector: Minimal support for attributes
Show mapping information for cell renderer properties; no editing
yet.
2014-05-10 22:04:24 -04:00
Matthias Clasen
e87addd9ae inspector: Show interfaces in the object hierarchy
This gives a more complete picture.
2014-05-10 22:04:24 -04:00
Matthias Clasen
bf9d22f10f inspector: Add columns and cell renderers to the tree
These are interesting objects that are worth displaying in the tree.
2014-05-10 22:04:23 -04:00
Matthias Clasen
4a68eb6250 inspector: Improve handling of object-valued properties
When showing the objects in the tree, use the property name
as the name thats shown in the list. This makes it easier
to differentiate e.g. hadjustment and vadjustment in a
GtkScrolledWindow.
2014-05-10 22:04:23 -04:00
Matthias Clasen
9b65955961 inspector: Fix object-valued properties
The code for dealing with object-valued properties had several
bugs that lead to crashes. This change makes it work.
2014-05-10 22:04:23 -04:00
Matthias Clasen
08f2456d5f inspector: Change label of widget tree
The tree contains other objects besides widgets, so label it
'Objects'.
2014-05-10 22:04:22 -04:00
Matthias Clasen
c9dba4b8e0 inspector: Show signals
Add a tab that shows available signals for each object. For now,
we only show if each signal has handlers connected or now. More
functionality will be added later.
2014-05-10 22:04:22 -04:00
Matthias Clasen
5fa71c69d8 inspector: Select a window initially
The list of toplevels also includes hidden combobox popups
and the like, so we have to be a little careful. To ensure
the right choice, we now pick the first visible window
that is not a GtkInspectorWindow.
2014-05-10 22:04:21 -04:00
Matthias Clasen
a3713b51ff inspector: Drop an unused function 2014-05-10 22:04:21 -04:00
Matthias Clasen
e586af3cf4 inspector: Make translatable
Mark strings in the source and in the templates as translatable.
We use the same extract-strings utility as for libgtk itself.
2014-05-10 22:04:20 -04:00
Matthias Clasen
643b6f147b Move modules/other/parasite to modules/inspector
No need for the extra subdirectory, and the name should
match the module name.
2014-05-10 22:04:20 -04:00
Matthias Clasen
ccff3e952d Rename parasite to gtkinspector
This avoids namespace collisions with the original
gtkparasite project, and adds the gtk prefix to
all symbols and type names.
2014-05-10 22:04:20 -04:00
Matthias Clasen
19bf88acfa Add a 'toggle-debugging' keybinding
This is bound to Ctrl-Shift-I (for inspector) by default.
It loads the gtkparasite module and opens a parasite window.
2014-05-10 22:04:19 -04:00
Matthias Clasen
7f9a0dbe16 Add private api to load a single module
In the following commits, this function will be used to load the
gtkparasite module.
2014-05-10 22:04:19 -04:00
Matthias Clasen
87e3484aa7 parasite: Don't open a window upon load
Instead, we want to let GTK+ open a window whose life-cycle
it can control. We just ensure that all our types are registered
when the module is loaded, so GTK+ can find them.
2014-05-10 22:04:18 -04:00
Matthias Clasen
38bbde200e parasite: Two fixes for the property cell renderer 2014-05-10 22:04:18 -04:00
Matthias Clasen
d7c5b55846 parasite: Some formatting cleanup 2014-05-10 22:04:18 -04:00
Matthias Clasen
36494dc8f4 parasite: Include file cleanup 2014-05-10 22:04:17 -04:00
Matthias Clasen
5b249be1f9 parasite: Use a template for window 2014-05-10 22:04:17 -04:00
Matthias Clasen
33ccb00221 parasite: some formatting tweaks 2014-05-10 22:04:17 -04:00
Matthias Clasen
33d2044406 parasite: Use a template for themes 2014-05-10 22:04:16 -04:00
Matthias Clasen
ee7cc6d189 parasite: Use a template for prop list 2014-05-10 22:04:16 -04:00
Matthias Clasen
ead05d0954 parasite: Use template for widget tree 2014-05-10 22:04:15 -04:00
Matthias Clasen
6f1a786413 parasite: Use template for classes list 2014-05-10 22:04:15 -04:00
Matthias Clasen
0eb330613b parasite: Use template for css editor 2014-05-10 22:04:15 -04:00
Matthias Clasen
3c22fc4ef6 parasite: Use template for object hierarchy 2014-05-10 22:04:14 -04:00
Matthias Clasen
3f5d21abec parasite: Use template for button path 2014-05-10 22:04:14 -04:00
Matthias Clasen
e43aeb9a1f parasite: Allow panes to shrink
The notebook is too wide.
2014-05-10 22:04:14 -04:00
Matthias Clasen
5fcd6ba21b parasite: Use the right icon name for inspect 2014-05-10 22:04:14 -04:00
Matthias Clasen
828acee981 parasite: Don't show hicolor as an icon theme
It really isn't.
2014-05-10 22:04:13 -04:00
Matthias Clasen
9bc7cfa6ba parasite: Don't show key themes
But show the builtin theme, even if it doesn't show up in the
filesystem.
2014-05-10 22:04:13 -04:00
Matthias Clasen
9fbb704418 parasite: Turn the inspect button back into an image button 2014-05-10 22:04:12 -04:00
Matthias Clasen
8f96238194 parasite: Make flashing work better
The positioning of the highlight window was not reliable; instead
just use a after-handler for the draw signal, in the same way that
drag highlights are drawn by GTK+ itself.

And copy the code for grabbing a widget via pointer from testgtk;
that code is known to work.
2014-05-10 22:04:12 -04:00
Matthias Clasen
01cb166819 parasite: Drop an unused field 2014-05-10 22:04:11 -04:00
Matthias Clasen
f78d91e5fc parasite: Make child properties insensitive when empty
When the selected object is not a widget, make the child property
list insensitive.
2014-05-10 22:04:11 -04:00
Matthias Clasen
413faa55a0 parasite: Display child properties too 2014-05-10 22:04:10 -04:00
Matthias Clasen
2166a9b163 parasite: Use a window group
By putting the parasite window in a separate group, we can interact
with it even when there is a modal dialog blocking the application
window
2014-05-10 22:04:10 -04:00
Matthias Clasen
81af602dda Initial import
This is a copy of https://github.com/chipx86/gtkparasite.git
with minimal edits to make it build.
2014-05-10 22:04:09 -04:00
Benjamin Otte
2dc100fa76 css: Add forgotten files
Forgot to add those files in 3a72e2fb24
2014-05-11 04:00:55 +02:00
Benjamin Otte
0e462f0d2d css: Implement "all" shorthand
Here's the spec:
  http://dev.w3.org/csswg/css-cascade/#all-shorthand

Also use it in the reset-to-defaults CSS where a bunch of properties had
been missing.
2014-05-11 03:23:55 +02:00
Benjamin Otte
3a72e2fb24 css: Implement "unset"
Quoting the spec:
  If the cascaded value of a property is the unset keyword,
  then if it is an inherited property, this is treated as
  inherit, and if it is not, this is treated as initial.

Spec in question:
  http://dev.w3.org/csswg/css-cascade/

Also use unset in the reset-to-defaults.css we use to reset css in
reftests.
2014-05-11 03:23:55 +02:00
Benjamin Otte
f2258cb05c reftests: Create the surface after running the main loop
Running the main loop may cause resizes, so creating the surface based
on the size before running it seems wrong.
2014-05-11 03:23:55 +02:00
Benjamin Otte
fa8ca5fd13 iconhelper: Simplify code
In the GTK_IMAGE_ICON_NAME case, instead of keeping around the icon_name,
create a GThemedIcon and use that. This way, we can reuse the code paths
for the GTK_IMAGE_GICON case.
2014-05-11 03:23:54 +02:00
Emmanuele Bassi
61ed31a473 win32embed: Set the visible flag and avoid recursion
We have to use the internal accessor to the visible flag, instead of
calling gtk_widget_set_visible(), from within the show() and hide()
implementations - otherwise we'll recurse.

https://bugzilla.gnome.org/show_bug.cgi?id=721069
2014-05-10 19:42:35 +01:00
Daniel Mustieles
c0200b9a68 Updated Spanish translation 2014-05-10 19:53:22 +02:00
Daniel Mustieles
207f2984d2 Updated Spanish translation 2014-05-10 19:53:04 +02:00
Matthias Clasen
f5e64936da GtkWindow: small cleanup
The window type is a construct-only property, so we should
pass it to g_object_new, not set it after the fact in the
constructor.
2014-05-09 17:13:53 -04:00
Cosimo Cecchi
b0ace67712 widget: deprecate focus-line-width style property
Nothing in GTK uses it anymore.
2014-05-09 11:02:46 -07:00
Cosimo Cecchi
57f4d3d78a flowbox: don't use focus-line-width 2014-05-09 11:02:46 -07:00
Cosimo Cecchi
9eb1e1b15e listbox: don't use focus-line-width 2014-05-09 11:02:46 -07:00
Cosimo Cecchi
13649a3fbc colorscale: don't use focus-line-width 2014-05-09 11:02:46 -07:00
Cosimo Cecchi
caa73b2128 modelbutton: don't use focus-line-width 2014-05-09 11:02:46 -07:00
Cosimo Cecchi
e2f2571dee range: don't use focus-line-width 2014-05-09 11:02:46 -07:00
Cosimo Cecchi
69f2fecb1c expander: don't use focus-line-width 2014-05-09 11:02:46 -07:00
Cosimo Cecchi
853dcc615d notebook: don't use focus-line-width 2014-05-09 11:02:45 -07:00
Cosimo Cecchi
1627c903d8 spinbutton: remove unused code 2014-05-09 11:02:45 -07:00
Cosimo Cecchi
9f7bab0aca entry: remove unused code 2014-05-09 11:02:45 -07:00
Cosimo Cecchi
92d23be47d switch: don't use focus-line-width 2014-05-09 11:02:45 -07:00
Cosimo Cecchi
8fff30090b radiobutton: don't use focus-line-width 2014-05-09 11:02:45 -07:00
Cosimo Cecchi
a32260660b checkbutton: don't use focus-line-width 2014-05-09 11:02:45 -07:00
Cosimo Cecchi
a2a1c6da95 cellarea: don't use focus-line-width
Use CSS padding instead.
2014-05-09 11:02:45 -07:00
Cosimo Cecchi
2cbf3c66ef treeview: use the CELL style class while doing cell size request
Since we use the same style class later when we draw them. Otherwise
we'll get inconsistent results for CSS borders/paddings between the two
cycles.
2014-05-09 11:02:45 -07:00
Cosimo Cecchi
0ff3f16da1 calendar: don't use focus-line-width 2014-05-09 11:02:44 -07:00
Cosimo Cecchi
694b209094 button: don't use focus-line-width 2014-05-09 11:02:44 -07:00
Cosimo Cecchi
bbadfbcd2a button: remove unused code 2014-05-09 11:02:44 -07:00
Cosimo Cecchi
e8c906966e widget: deprecate focus-line-pattern style property
Nothing in GTK uses it.
2014-05-09 11:02:44 -07:00
Cosimo Cecchi
a2decd1f2f widget: deprecate focus-padding style property
There's no use left inside GTK.
2014-05-09 11:02:44 -07:00
Cosimo Cecchi
5cb43c70f7 calendar: simplify code
Always use the newly introduced get_component_paddings() instead of
doing the work manually every time.
2014-05-09 11:02:44 -07:00
Cosimo Cecchi
1e66a7ccdb calendar: use CSS paddings instead of focus pad for day/week areas
focus-padding is going away.
2014-05-09 11:02:44 -07:00
Cosimo Cecchi
83b4e67307 range: remove unused code 2014-05-09 11:02:44 -07:00
Cosimo Cecchi
c62d6fea70 colorscale: don't use focus padding 2014-05-09 11:02:44 -07:00
Cosimo Cecchi
365ab7f73b range: don't use focus padding 2014-05-09 11:02:43 -07:00
Cosimo Cecchi
d0b8ef3a6f scale: remove unused code 2014-05-09 11:02:43 -07:00
Cosimo Cecchi
24a422631d expander: don't use focus padding 2014-05-09 11:02:43 -07:00
Cosimo Cecchi
d2f77984dc expander: add support for CSS padding and borders
We need to do this since we're about to remove focus-pad.
2014-05-09 11:02:43 -07:00
Cosimo Cecchi
9a811e2c94 notebook: don't use focus padding 2014-05-09 11:02:43 -07:00
Cosimo Cecchi
80981f5c95 modelbutton: don't use focus padding 2014-05-09 11:02:43 -07:00
Cosimo Cecchi
053b21cc1f flowbox: don't use focus padding 2014-05-09 11:02:43 -07:00
Cosimo Cecchi
241b4c0c75 listbox: don't use focus padding 2014-05-09 11:02:43 -07:00
Cosimo Cecchi
ceab6ee15d switch: don't use focus padding 2014-05-09 11:02:42 -07:00
Cosimo Cecchi
52e40a1725 treeview: don't use focus padding 2014-05-09 11:02:42 -07:00
Cosimo Cecchi
c20e8b0b49 checkbutton: support CSS paddings and borders
We need this since we just removed focus-padding.
2014-05-09 11:02:42 -07:00
Cosimo Cecchi
99f0776f19 checkbutton: don't use focus padding 2014-05-09 11:02:42 -07:00
Cosimo Cecchi
8b068e996f button: don't read focus padding property
We're going to deprecate it.
2014-05-09 11:02:42 -07:00
Cosimo Cecchi
b03c22e0c9 widget: deprecate interior-focus style property
Nothing uses it anymore inside GTK.
2014-05-09 11:02:42 -07:00
Cosimo Cecchi
ce8846521e reftests: never set interior-focus 2014-05-09 11:02:42 -07:00
Cosimo Cecchi
521475da4d win32: don't set interior-focus in the theme 2014-05-09 11:02:42 -07:00
Cosimo Cecchi
a3cbcc6451 textview: always use interior focus 2014-05-09 11:02:42 -07:00
Cosimo Cecchi
5a16ec366d spinbutton: remove unused code 2014-05-09 11:02:41 -07:00
Cosimo Cecchi
0c6cc487d6 radiobutton: always use interior focus 2014-05-09 11:02:41 -07:00
Cosimo Cecchi
b77a8bcb95 expander: always use interior focus 2014-05-09 11:02:41 -07:00
Cosimo Cecchi
21e32f1989 checkbutton: always use interior focus 2014-05-09 11:02:41 -07:00
Cosimo Cecchi
779707fabb entry: always use interior focus 2014-05-09 11:02:41 -07:00
Cosimo Cecchi
4c06925ec2 button: always use interior focus
We're going to deprecate the property, and this is what everyone has
been using.
2014-05-09 11:02:41 -07:00
Cosimo Cecchi
f656fc5997 widget-factory: use same spacing for buttons column
So that they nicely align with entries. Useful when tweaking the theme.
2014-05-09 11:02:41 -07:00
Matthias Clasen
f4d02bd9c1 GtkCellArea: allow finding attributes at runtime
This will allow e.g. GtkInspector to display attribute mappings.

http://bugzilla.gnome.org/show_bug.cgi?id=729817
2014-05-08 14:09:04 -04:00
Matthias Clasen
c813765430 GtkListBox: improve the docs
The documentation was not really clear about ::row-selected
not working for multi-selection.
2014-05-08 07:33:01 -04:00
David Mansfield
00275dfc9f GdkCursor: Don't leak a cairo surface
The function gdk_cursor_new_from_pixbuf creates a cairo surface
to pass to its backend implementation, but doesn't destroy it
afterwards.
https://bugzilla.gnome.org/show_bug.cgi?id=729670
2014-05-07 19:29:56 -04:00
William Jon McCann
74405cc964 Update the design for progress bars
We now use a narrower trough and paint the optional text
beside the trough instead of inside it. This makes for a much
cleaner appearance and more readable text.
2014-05-07 09:56:35 -04:00
Matthias Clasen
644f08a771 Remove debug spew 2014-05-07 06:51:51 -04:00
William Jon McCann
1c30470558 widget-factory: add linked entry and button example 2014-05-07 05:03:45 -04:00
Carlos Garnacho
ac5993a7e7 wayland: Fix c&p typo in touch capabilities handling. 2014-05-06 18:37:57 +02:00
Matthias Clasen
cdfcd5fc85 Bloatpad: port to new accel api 2014-05-06 10:58:52 -04:00
Benjamin Otte
352e28a138 viewport: Don't subtract borders and padding from -1
-1 is a special value for "undefined" and needs to stay that way

https://bugzilla.gnome.org/show_bug.cgi?id=729607
2014-05-06 04:02:40 +02:00
Marcus Karlsson
c39b6be22b docs: Fix name of GtkFileChooser's Create Folder button
The documentation for GtkFileChooser references the button which allows
the user to create new folders as the New Folder button, although the
label actually says Create Folder.

Update the documentation to say Create Folder instead of New Folder.

https://bugzilla.gnome.org/show_bug.cgi?id=729475
2014-05-05 20:54:47 -04:00
Marcus Karlsson
7850fb62ea docs: fix typos in gtk_file_chooser_set_local_only
Change "file are files" to "file or files." Also remove an excessive
"file" in "file system."

https://bugzilla.gnome.org/show_bug.cgi?id=729473
2014-05-05 20:47:04 -04:00
Matthias Clasen
22ab2ca2a5 a11y: Avoid a warning
The listbox row accessible code was giving warnings when
parent is NULL, at destruction time.
2014-05-05 19:46:04 -04:00
Juan Pablo Ugarte
b9f91bcd8c GtkColorButton: Fix recursion loop in "use-alpha" set_property() 2014-05-05 15:31:50 -03:00
Benjamin Otte
748b2bf5ae a11y: Disable deprecation warnings in AtkMisc implementation 2014-05-05 16:10:16 +02:00
Benjamin Otte
a89c598617 combobox: Add workaround so evolution doesn't crash
Removing the NULL checks in 7f60cab47d
caused evolution to crash. It chains up with NULL and that used to work.

This patch should be reverted for GTK 4.0.

https://bugzilla.gnome.org/show_bug.cgi?id=729496
2014-05-05 15:53:03 +02:00
Benjamin Otte
18a594c392 applicationwindow: Properly unmap the menubar widget 2014-05-05 15:48:02 +02:00
Benjamin Otte
3aa357bcab tests: Add test for latest patch
This tesst infloops without it.
2014-05-05 15:48:02 +02:00
Benjamin Otte
65c4c1555d css: Fix printing code for CSS strings and idents
It used to infloop on special characters.
2014-05-05 15:48:02 +02:00
Benjamin Otte
b356d81410 css: Split out a common function
It's used in two places already, and Iwant to use it in a third one.
2014-05-05 15:48:02 +02:00
Matthias Clasen
d495ab1ca0 Small documentation update
Don't show an example that doesn't work anymore.
2014-05-05 09:41:06 -04:00
Matthias Clasen
7e8703918b Small documentation fixes
Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=729461
2014-05-05 07:25:27 -04:00
Matthias Clasen
3e80ce39e1 GtkApplication: Clarify docs a bit
Explicitly mention how gtk_application_set_accels_for_action can
be used to remove all accelerators for an action.

https://bugzilla.gnome.org/show_bug.cgi?id=729451
2014-05-05 07:25:27 -04:00
Ihar Hrachyshka
349ed52b7b Updated Belarusian translation 2014-05-04 22:09:19 +00:00
Paolo Borelli
abf10a74b7 listbox: check gsequence end iter in get_row_at_index 2014-05-04 19:45:28 +02:00
Matthias Clasen
d1d2763d00 GtkHeaderBar: Allow overdrawing
The draw function of GtkHeaderBar was returning TRUE, causing
after-signal handlers to not run. This breaks e.g. drawing of
dnd hightlights. Fix that.
2014-05-03 13:16:46 -04:00
Matthias Clasen
a41e2b901d Fix a thinko in the last color button change
Using the interface method in the set_property implementation
leads to an infinite recursion, if the interface method is in
turn using g_object_set.
2014-05-02 21:09:05 -04:00
Matthias Clasen
70a5e66d2f a11y tests: Avoid deprecation warnings
We can't drop the index-based AtkTable methods unless we change
the output format, so just ignore the deprecations for now.
2014-05-02 20:59:00 -04:00
Matthias Clasen
1bf6ad314d a11y tests: Update expected output
The new AtkValue interface aways returns doubles, which causes
the range to be printed out with decimals.
2014-05-02 20:53:02 -04:00
Matthias Clasen
4fc256de8a a11y tests: Use the new AtkValue interface
The old interface is deprecated, and we just implemented the
new one, so lets test it.
2014-05-02 20:52:56 -04:00
Matthias Clasen
47094a2a8a GtkDialog: Reduce a g_warning to a g_message
Otherwise, this breaks our testsuite.
2014-05-02 20:47:56 -04:00
Matthias Clasen
9d7f7ddadf GtkSpinButton: Implement new AtkValue interface
The AtkValue interface has been replaced in ATK 2.12.
Implement the new one in addition to the old one.
2014-05-02 20:47:16 -04:00
Matthias Clasen
fc7e7495a6 GtkScaleButton: Implement new AtkValue interface
The AtkValue interface has been replaced in ATK 2.12.
Implement the new one in addition to the old one.
2014-05-02 20:47:00 -04:00
Matthias Clasen
516cd70780 GtkRange: Implement new AtkValue interface
The AtkValue interface has been replaced in ATK 2.12.
Implement the new one in addition to the old one.
2014-05-02 20:46:45 -04:00
Matthias Clasen
1d50657740 GtkProgressBar: Implement new AtkValue interface
The AtkValue interface has been replaced in ATK 2.12.
Implement the new one in addition to the old one.
2014-05-02 20:46:30 -04:00
Matthias Clasen
98affc6829 GtkPaned: Implement new AtkValue interface
The AtkValue interface has been replaced in ATK 2.12.
Implement the new one in addition to the old one.
2014-05-02 20:46:17 -04:00
Matthias Clasen
987cce9e65 GtkLevelBar: Implement new AtkValue interface
The AtkValue interface has been replaced in ATK 2.12.
Implement the new one in addition to the old one.
2014-05-02 20:46:03 -04:00
Matthias Clasen
456dffcbfd GtkWidget: Mark deprecated properties as such
The ::style, ::margin-left and ::margin-right properties are all
deprecated.
2014-05-02 19:25:27 -04:00
Matthias Clasen
f66e239fe4 Drop unneeded deprecation suppression
Removing this did not produce any deprecation warnings.
2014-05-02 18:50:52 -04:00
Matthias Clasen
4cdc32974a queryimmodules: Localize suppressed deprecation
Drop the blanket GDK_DISABLE_DEPRECATION_WARNINGS and avoid
deprecated API as much as possible.
2014-05-02 18:48:36 -04:00
Matthias Clasen
67b10e649e GtkColorButton: Reduce internal use of deprecated API
Drop the blanket GDK_DISABLE_DEPRECATION_WARNINGS and avoid
deprecated API as much as possible.
2014-05-02 18:42:18 -04:00
Matthias Clasen
69234cfecc GtkColorButton: Update deprecation warnings
It is not great to have deprecation warnings point to another
deprecated function. Update them to point to the eventual
replacement.
2014-05-02 18:41:29 -04:00
Matthias Clasen
c4ec89cf9d GtkDialog: Warn about lack of transient parents
We want make it mandatory for dialogs to have transient parents,
eventually. This is a first step in that direction.
2014-05-02 18:23:58 -04:00
Matthias Clasen
3db60baf2d teststack: don't enumerate transitions manually
Thats what introspection is for.
2014-05-02 17:43:18 -04:00
Matthias Clasen
3957ce4898 GtkStack: Avoid compiler warnings
gcc warns about unhandled enum values in these switch statements,
so add an empty default: case to placate the compiler.
2014-05-02 17:15:49 -04:00
Philip Chimento
5b5813fcdc stack: Add counterparts of OVER_UP_DOWN transition
The GtkStackTransitionType enum now has OVER_DOWN_UP, OVER_LEFT_RIGHT,
and OVER_RIGHT_LEFT values to complement OVER_UP_DOWN.

https://bugzilla.gnome.org/show_bug.cgi?id=726676
2014-05-02 16:54:41 -04:00
Philip Chimento
a27b0bad86 stack: More readability when adding transitions
This small refactor makes the code more readable when adding more
transition types that have left, right, up, and down variations.

It adds inline boolean functions to tell information about transition
types (avoiding long if clauses) and changes long chains of "else if
(transition_type == ...)" into switch statements. Both are only likely
to get longer as more transition types are added.

https://bugzilla.gnome.org/show_bug.cgi?id=726676
2014-05-02 16:54:41 -04:00
Cosimo Cecchi
c05525127b overlay: don't have a custom draw implementation
We can't think with Benjamin of a reason this should be needed, so let's
just remove it.
2014-05-02 20:42:54 +02:00
Cosimo Cecchi
a303547489 themingengine: only round outline corners after shrinking
Ensures the correctness of the applied radius.
2014-05-02 20:42:54 +02:00
Juan Pablo Ugarte
b059098c71 GtkBuilder: added template parent type check. 2014-05-02 14:38:05 -03:00
Juan Pablo Ugarte
35df3bc182 GtkFlowBox: fixed NULL dereferencing segfaults 2014-05-01 20:31:59 -03:00
Juan Pablo Ugarte
a05b55872b GtkMenu: fixed more NULL dereferencing segfault 2014-05-01 20:31:31 -03:00
Juan Pablo Ugarte
018c394c52 GtkGrid: gtk_grid_get_size_for_size() do not dereference a NULL pointer. 2014-05-01 19:54:43 -03:00
Juan Pablo Ugarte
49fa04212b GtkBuilder: improved parsing error report for invalid properties and signals.
Added GTK_BUILDER_ERROR_INVALID_PROPERTY and GTK_BUILDER_ERROR_INVALID_SIGNAL
error codes

ObjectInfo: Use a GType instead of a char * for the class name.
PropertyInfo: Use a GParamSpec instead of a char * for the property name.
SignalInfo: Use signal id and detail quark instead of a detailed signal name string.

This not only save us a few malloc in each case but lets us simplify the code
and report unknown properties and signals as a parsing error instead of just
printing a warning.
2014-05-01 17:59:53 -03:00
Juan Pablo Ugarte
c4afca906c GtkBuilder: fixed a few minor memory leaks.
Fixed memory leaks in parse_object(), parse_template() and parse_signal() functions.
Parameters value where strduped before the last posible return and not freed.
2014-05-01 17:59:53 -03:00
Руслан Ижбулатов
0dd810ee22 W32: override selected button style to remove colored background
https://bugzilla.gnome.org/show_bug.cgi?id=729353
2014-05-01 18:20:20 +00:00
Руслан Ижбулатов
b83880b981 W32: Add a theme for .app-notification
This is copied from Adwaita. Looks sufficiently ok.

https://bugzilla.gnome.org/show_bug.cgi?id=729346
2014-05-01 17:54:46 +00:00
Cosimo Cecchi
24fd96d837 listbox: fix a segfault
Don't dereference a NULL pointer.
2014-05-01 19:48:41 +02:00
Cosimo Cecchi
7f60cab47d combobox: fix a segfault
Don't dereference a NULL pointer.
2014-05-01 19:44:12 +02:00
Cosimo Cecchi
489970bcdc themingengine: use outlines to render focus rings
Instead of the old non-CSS implementation. This allows us to get rid of
the very last piece of custom theming in Adwaita.
2014-05-01 18:14:49 +02:00
Cosimo Cecchi
e8cbbedbb2 css: add properties for outline-radius
Both a shorthand and individual properties. This is not officially part
of the CSS standard, but there's precedence for it at least in Mozilla:
https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-outline-radius
2014-05-01 18:14:49 +02:00
Cosimo Cecchi
a60ba815d9 treeview: respect focus-padding when rendering focus
Adwaita had a hack to work this around, but now that we're moving focus
ring rendering into GTK, we can just fix the treeview instead.
2014-05-01 18:14:49 +02:00
Benjamin Otte
b4282e5ef1 treeview: Always call size request funcs with valid out pointers
Not doing so causes crashes since
a158a2aa48c8023f99963642cc2657bff207b82NULLd
2014-05-01 15:16:17 +02:00
Benjamin Otte
c0f556ab71 revealer: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
17e0f9fb0a popover: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
b4ee8a9daf menuitem: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
34cfd5cd78 menu: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
fd527691a8 levelbar: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
6be0603215 eventbox: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
d7a3e67025 listbox: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
562147c267 frame: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
209781ae3c headerbar: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
68ceab6872 infobar: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
f72b496a45 grid: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
9ee00c3522 scrolledwindow: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
ddbd71e22a switch: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
c3dd043765 toolbar: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
a158a2aa48 treeview: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
Benjamin Otte
9652b8cf82 viewport: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Benjamin Otte
29a4f0131e viewport: Implement hfw properly
Previously, the code would fall back on GtkBin's hfw implementation
which didn't account for padding and borders.
2014-05-01 14:51:27 +02:00
Benjamin Otte
b261fc64e2 viewport: Use a convenience function
That function looks longer than not using it, but we'll need it in the
next commit.
2014-05-01 14:51:27 +02:00
Benjamin Otte
2e2e3a5e24 viewport: Request 2x border-width
It's nice that bugs get pointed out in code comments. Fixing them would
probably have been preferrable though.
2014-05-01 14:51:27 +02:00
Benjamin Otte
db791ba3f5 widget: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Benjamin Otte
43e470dad1 flowbox: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Benjamin Otte
7455ab72f8 combobox: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Benjamin Otte
3914bc9ce6 button: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Benjamin Otte
71fe1a5fe3 alignment: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Benjamin Otte
e6b15c88ca arrow: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Benjamin Otte
a1bba344f2 spinner: Remove unneeded checks
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Cosimo Cecchi
67981b1831 modules: remove the pixbuf engine directory
This is not used anywhere, and is commented out of the build because it
doesn't compile. Time for some spring cleaning...
2014-05-01 11:22:11 +02:00
Piotr Drąg
4101adb7ac Updated POTFILES.skip 2014-04-30 22:15:01 +02:00
Matthias Clasen
ff87672780 GtkSearchBar: fix the template
There was a mismatch between GtkSearchBar being derived from GtkBin
and the template claiming the parent to be GtkBox.
2014-04-29 21:46:38 -04:00
Matthias Clasen
4d36fab72a widget-factory: populate the second page more
Add back a menubar example that was lost a while ago, and also
include a searchbar and an infobar.
2014-04-29 21:43:11 -04:00
Matthias Clasen
bc057d849a widget-factory: rearrange page 2 a bit 2014-04-29 16:51:44 -04:00
Benjamin Otte
f0ebb15dab reftests: Add test for latest commit
Check that the label gets linebroken properly.
2014-04-29 19:36:26 +02:00
Benjamin Otte
8b15cd33ee window: Subtract shadow from passed in width for height
... and height for width in size requests. Fixes mislayout in
control-center universal access panel.
2014-04-29 19:36:26 +02:00
Benjamin Otte
73aa7bd2f5 widgets: Remove (GtkTickCallback) casts
Instead, make the functions conform to the prototype, so that casting
isn't needed.
2014-04-29 19:35:29 +02:00
Matthias Clasen
6061f234a9 GtkMenuSectionBox: Don't show separators for nested subsections
...unless they are labeled.

To implement this, keep track of the nesting depth of section boxes,
starting from 0 for the toplevel and the submenu ones, and only
insert unlabeled separators if the depth is at most 1.
2014-04-29 12:19:53 -04:00
Matthias Clasen
f3ba001a1d GtkMenuSectionBox: Always show separators for labeled sections
...unless they are empty.
2014-04-29 12:19:53 -04:00
Matthias Clasen
4f293c427c Add a comment with rules for separators 2014-04-29 12:19:53 -04:00
Juan Pablo Ugarte
9753f9f55f Added template test case to builder test. 2014-04-29 12:29:18 -03:00
Matthias Clasen
effc7514e7 GtkMenuSectionBox: don't leak
This wasn't fully fleshed out yet.
2014-04-29 10:18:22 -04:00
Matthias Clasen
f248b21b1b widget-factory: Add a horizontal-buttons example
Sadly, we don't have good icons for payment methods...
2014-04-29 06:22:28 -04:00
Alexander Larsson
c0a87a85f4 treeview: Fix prelight redraw when adjustment changes
When the adjustment changes (due to e.g. a mouse wheel scroll) we update
the prelight. The part that un-prelights the previous prelight was
broken by the the pixel cache, as it called update_prelight in the
middle of the scrolling operation, where the windows were moved
but the tree_view->priv->dy was not changed to the new value. This
caused the updates to the pixel cache to go to the wrong place.

We fix this by fully doing the scroll before we update_prelight().

https://bugzilla.gnome.org/show_bug.cgi?id=728284
2014-04-29 09:12:02 +02:00
Matthias Clasen
6fb69a3e09 3.13.1 2014-04-28 23:02:36 -04:00
Matthias Clasen
a2fb74c375 Update output of a11y tests
These are all affected by the addition of the action_box in
GtkDialog or by the switch to popovers in GtkMenuButton.
2014-04-28 22:55:44 -04:00
Matthias Clasen
a6fb006ab5 GtkMenuShell: We want separators in submenus
This was probably an oversight when adding the merge_separators
parameter. Without this change, the testsuite/gtk/gtkmenu test
fails.
2014-04-28 22:46:25 -04:00
Matthias Clasen
723dc0667e GtkMenuShell: Don't use a non-existing property
GtkMenuTrackerItem::visible was removed a few commits ago.
It is not necessary to bind visible anyway, since the menu
tracker will insert and remove items as their visibility
changes.
2014-04-28 21:55:41 -04:00
Matthias Clasen
c8e15e43e9 testmenubutton: Add a toggle for use-popover 2014-04-28 21:55:41 -04:00
Carlos Garnacho
8e5982ca9d gdkwindow: ignore shape on client-side windows when recomputing visible regions
Rendering doesn't do much about clipping drawing operations to the window shape,
although invalidation applies the shape to every window, leaving possibly trails
of "overrendered" content. So ensure the shape portions get invalidated too when
the window is moved/resized.

https://bugzilla.gnome.org/show_bug.cgi?id=729095
2014-04-28 22:44:59 +02:00
Carlos Garnacho
5b72e0f8cf popover: Always make room for the tail on all sides on size request
Now that popovers may snap to any side with enough space, make enough
room on every side when requesting size, so that there's no w/h differences
at the time of setting the child allocation.

https://bugzilla.gnome.org/show_bug.cgi?id=729097
2014-04-28 22:35:32 +02:00
Juan Pablo Ugarte
d1467c191d GtkRecentChooserMenu: Set current uri before activating an item.
When activating an item using mnemonics GtkRecentChooserMenu does not select a
item before calling the item-activated signal thus
gtk_recent_chooser_get_current_uri() always return the last selected item
instead of the activated one.

Fixes Bug 495105 "Open recent file keyboard shortcuts do not work correctly"
2014-04-28 17:08:12 -03:00
Matthias Clasen
2dcf6c6b71 Raleigh: fix a typo 2014-04-28 15:39:21 -04:00
Matthias Clasen
0af4b71cd1 GtkDialog: protect against show_all
The real reason for the problem that the just reverted change
was supposed to address is that testfilechooser uses show_all
to tease out places where composite dialogs don't properly
protect their internals against unintended showing. Well,
lets do that, then.
2014-04-28 15:39:21 -04:00
Matthias Clasen
26d6eadab7 Revert "GtkFileChooserDialog: Avoid a bottom border in the dialog"
This reverts commit d871105fa8.
2014-04-28 15:39:21 -04:00
Matej Urbančič
ca4a917562 Updated Slovenian translation 2014-04-28 21:09:16 +02:00
Matej Urbančič
1c04d7db8f Updated Slovenian translation 2014-04-28 21:07:38 +02:00
Matthias Clasen
6c3936fb9a Document iconic section support
https://bugzilla.gnome.org/show_bug.cgi?id=727477
2014-04-28 14:21:07 -04:00
Matthias Clasen
7fa1133912 Add an example of iconic rendering
testpopover now shows several examples of icon buttons.

https://bugzilla.gnome.org/show_bug.cgi?id=727477
2014-04-28 14:20:27 -04:00
Matthias Clasen
28a567f5a9 GtkMenuSectionBox: add support for iconic sections
Sections that have the display-hint attribute set to
"horizontal-boxes" will be rendered as a row of icon
buttons, instead of menuitem-like.
2014-04-28 14:20:26 -04:00
Matthias Clasen
8fff8acbac GtkMenuTrackerItem: Add support for display-hint
This commit adds a getter for the display-hint attribute.
2014-04-28 14:20:26 -04:00
Matthias Clasen
6429b33f44 GtkModelButton: Add an iconic mode
In iconic mode, model buttons will be styled like regular icon
buttons, preferring to show only the icon if one is set, falling
back to showing the label.

https://bugzilla.gnome.org/show_bug.cgi?id=727477
2014-04-28 14:20:15 -04:00
Matthias Clasen
038de02574 GtkMenuTrackerItem: Add support for verb-icons
When rendering iconic sections, we want to use icons for verbs,
and we want to differentiate these in the menu model, to keep
the icon attribute reserved for nouns.

https://bugzilla.gnome.org/show_bug.cgi?id=727477
2014-04-28 14:14:43 -04:00
Ryan Lortie
5137e491dc GtkPopover: new approach to menu model binding
Instead of using GtkMenuTracker to flatten the sections into a single
linear menu, handle the sections ourselves by nesting boxes.

Each section gets an inner and outer box.  The inner box numbers its
children in the way that the tracker instructs.  The outer box
containes the inner box and the separator, if appropriate.

Having the two separate boxes will allow us to change the orientation of
the inner box if we want to pack widgets horizontally within a section.
2014-04-28 14:14:42 -04:00
Ryan Lortie
d930716daf GtkMenuTracker: add 'merge_sections' flag
Add the possibility of a GtkMenuTracker that performs no section
merging.  Instead, it will report an item in the form of a separator for
subsections.  It is then possible to get a separate tracker for the
subsection contents by using gtk_menu_tracker_new_for_item_link().
2014-04-28 14:14:42 -04:00
Ryan Lortie
f6ee00769a GtkMenuTracker: don't specialise "submenu" link
We have some API in GtkMenuTracker and GtkMenuTrackerItem that is
specifically designed to deal with submenus.

Generalise these APIs to take a 'link_name' parameter that we always
give as G_MENU_SUBMENU for now.  In the future, this will allow creating
trackers for other types of links, such as sections.
2014-04-28 14:14:41 -04:00
Ryan Lortie
48db841822 GtkMenuTracker: make "is-visible" a property
Make this a property just like all of the other things and make the APIs
for accessing it non-private (but add a note that they are not intended
to be used).
2014-04-28 14:14:41 -04:00
Ryan Lortie
06ab1d9203 GtkMenuTracker: remove "visible" property
This is in conflict with the "is-visible" pseudo-property which is about
to be promoted to being an actual property.
2014-04-28 14:14:40 -04:00
Руслан Ижбулатов
5432c37d5a W32: Update the css to match the .modelbutton->.button.menuitem transition 2014-04-28 15:51:51 +00:00
Matthias Clasen
baaf201f2a Rename the modelbutton style class
This is not a great name to use in themes; instead, add the
menuitem class, so themes can use .button.menuitem for styles
that are specific to menuitem-like buttons.
2014-04-27 18:49:27 -04:00
Matthias Clasen
f1b423e60f Add a popover menu example to gtk3-widget-factory 2014-04-27 12:13:35 -04:00
Matthias Clasen
6cd3c73f21 Add a paned example to gtk3-widget-factory 2014-04-27 10:30:10 -04:00
Matthias Clasen
37c9a9aafe Fix testmenubutton
The menu model examples was messing up the order of its items.
2014-04-26 17:49:52 -04:00
Matthias Clasen
987b56973c GtkModelButton: improve size allocation
Only reserve size for an indicator if at least one sibling
actually has an indicator.
2014-04-26 17:48:57 -04:00
Matthias Clasen
a5d2778737 Actually set the default for GtkMenuButton::use-popover
The previous commit changed the property declaration, but
omitted the actual change of the default.
2014-04-26 14:40:52 -04:00
Adel Gadllah
b395929a16 gdkscreen-wayland: Emit monitors-changed when the output scale changes
https://bugzilla.gnome.org/show_bug.cgi?id=729013
2014-04-26 17:32:57 +02:00
Matthias Clasen
b6e724e76f Add Adwaita to the list of default icon themes
Hardcode the fallback to Adwaita. I'm leaving gnome in here for
now, since we're in the middle of the transition. It will be
removed before 3.14.
2014-04-26 10:14:38 -04:00
Juan Pablo Ugarte
f2d488dea1 Fixed crash in GtkLockButton if a button with permission set to NULL is clicked.
https://bugzilla.gnome.org/show_bug.cgi?id=728992
2014-04-25 22:13:56 -04:00
Matthias Clasen
063bd57873 GtkWindow: Avoid a critical in F10 handling
The focus widget might be NULL, and we were forgetting to take
that possibility into account in one place.
2014-04-25 22:12:05 -04:00
Matthias Clasen
45735c5b3c tests: add missing files to EXTRA_DIST
https://bugzilla.gnome.org/show_bug.cgi?id=728846
2014-04-25 22:12:04 -04:00
Matthias Clasen
516f1e1808 Add missing templates to testdialog
This makes the template test cases not crash. The templates also
serve to test the new action widget support.

https://bugzilla.gnome.org/show_bug.cgi?id=728846
2014-04-25 22:11:54 -04:00
Matthias Clasen
66b6078ae2 GtkDialog: Update suggested-action more carefully
We were not really handling all cases correctly here. We want
the suggested-action style class to only be set on headerbar
buttons, and it should be set on the default widget. Ensure
this by syncing the suggested-action style class with the
default style class. As a side-effect, setting has-default
on an action widget in ui files will now have the expected
effect.

https://bugzilla.gnome.org/show_bug.cgi?id=728846
2014-04-25 22:11:53 -04:00
Matthias Clasen
90559a3fc5 GtkDialog: Support adding action widgets in ui files
GtkDialog has convenience API for adding action widgets that are
either placed in the action area or the headerbar. This commit
makes the same functionality available from GtkBuilder ui files
by specifying "action" as the child type.

https://bugzilla.gnome.org/show_bug.cgi?id=728846
2014-04-25 22:11:38 -04:00
Antoine Jacoutot
8935d2f123 openbsd: properly set len for gtkmountoperation-x11
sysctl(3) is the correct way to get the lenght for len in this case.
Also drop unused headers and change style to match the rest of the file.
2014-04-25 14:37:59 +02:00
Matthias Clasen
fab2173b31 GtkMenuButton: use popovers by default
When constructing from a menu model, use popovers by default.
This change has the potential to cause some size problems for
applications with big gear menus, so we're doing it early in
the cycle to uncover and fix those.
2014-04-24 23:35:18 -04:00
Marc-André Lureau
4480bf382a gdk/win32: VK_SNAPSHOT maps to GDK_Print
Also, I am not sure the above VK_PRINT -> GDK_Print mapping is
correct, but it doesn't hurt yet.

https://bugzilla.gnome.org/show_bug.cgi?id=686170
2014-04-24 16:31:09 +02:00
Marc-André Lureau
2230fea0b6 win32: add more clipboard data checks to avoid crash
It may happen that the received clipboard data is empty, but
if it's of type image/bmp, gtk+ will crash:

gdk_property_change: 00030AD4 GDK_SELECTION image/bmp REPLACE 8*0 bits:
... delayed rendering
gdk_selection_send_notify_for_display: 00030AD4 CLIPBOARD image/bmp
GDK_SELECTION (no-op)
_gdk_win32_selection_convert_to_dib: 1252003C image/bmp

Program received signal SIGSEGV, Segmentation fault.
0x749a9f40 in msvcrt!memmove () from C:\Windows\syswow64\msvcrt.dll

Thread 1 (Thread 2248.0x1b34):
target=0xc07b) at gdkselection-win32.c:1292
at gdkevents-win32.c:3498
wparam=8, lparam=0) at gdkevents-win32.c:232
message=773, wparam=8, lparam=0)
    at gdkevents-win32.c:263
C:\Windows\syswow64\user32.dll
C:\Users\rugoosse\AppData\Local\virt-viewer\bin\libpangocairo-1.0-0.dll
wparam=0, lparam=-1687549457)
    at gdkevents-win32.c:248
C:\Users\rugoosse\AppData\Local\virt-viewer\bin\libpangocairo-1.0-0.dll

https://bugzilla.gnome.org/show_bug.cgi?id=728745
2014-04-24 16:12:07 +02:00
Руслан Ижбулатов
37aa840e89 W32: Add modelbutton styles
According to what i've been told, modelbuttons are supposed to look
flat, like menu items.

This is basically an improved copy of the menuitem styles.

https://bugzilla.gnome.org/show_bug.cgi?id=728810
2014-04-24 03:35:50 +00:00
Руслан Ижбулатов
1bcd7c40bd W32: Add a set of "focused" styles to checkmarks
This prevents checkmarks in modelbuttons from being styled as buttons
(apparently, modelbuttons apply "focused" to their children, unlike
normal buttons).

https://bugzilla.gnome.org/show_bug.cgi?id=728808
2014-04-24 03:35:50 +00:00
Руслан Ижбулатов
5309149f75 W32: Fix dummy prelight style for check/radio buttons
Use a dummy transparent gradient instead of actual color (which screws up
focus rectangle on prelight), and apply to non-prelight state as well.

https://bugzilla.gnome.org/show_bug.cgi?id=728807
2014-04-24 03:35:49 +00:00
Руслан Ижбулатов
f4b61e92f6 W32: remove the blue "selected" rectangle when activating a checkbutton
https://bugzilla.gnome.org/show_bug.cgi?id=728806
2014-04-24 03:35:49 +00:00
Matthias Clasen
93177f7bf0 Add all version macros to the docs 2014-04-23 23:25:30 -04:00
Matthias Clasen
ea61bdf1a0 Add GDK_VERSION_3_14
https://bugzilla.gnome.org/show_bug.cgi?id=728814
2014-04-23 23:25:07 -04:00
Yosef Or Boczko
60f49c097a Updated Hebrew translation 2014-04-23 12:50:51 +03:00
Matthias Clasen
6e5191f6b6 dialog: keep action area stretched out
Adding an extra box in between had the side effect of
making the action area no longer go all across the dialog.
Setting hexpand compensates for this.
2014-04-23 00:05:15 -04:00
Carlos Garnacho
1a2a5a44bd wayland: handle the wl_touch interface
The events are routed through a new slave device with type
GDK_SOURCE_TOUCHSCREEN, minimal tracking of touches is done
to keep the state for each of those.

https://bugzilla.gnome.org/show_bug.cgi?id=728426
2014-04-22 23:54:43 -04:00
Carlos Garnacho
af8d6e6549 wayland: Separate master devices from seat capabilities
The master pointer/keyboard pair should never disappear or be
inconsistent. The seat capabilities are now reflected through
slave devices, those may come and go freely as the seat
capabilities change. This also enables adding further capabilities
to handle eg. touch.

https://bugzilla.gnome.org/show_bug.cgi?id=728426
2014-04-22 23:50:55 -04:00
Matthias Clasen
aab1610d40 DND: go back to a timeout for cancel animation
Using a tick callback does not really make sense here, since we
are not drawing in a window, but moving a toplevel around.
https://bugzilla.gnome.org/show_bug.cgi?id=728183
2014-04-22 23:45:59 -04:00
Matthias Clasen
d871105fa8 GtkFileChooserDialog: Avoid a bottom border in the dialog
We recently started to respect border-width on the action_area
again, so set its border-width to 0 so it doesn't get in the way.

https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 23:10:01 -04:00
William Jon McCann
7e479aa9ee dialog: add a box around the action area to use for styling
If we want to set style properties that include the area
of the border-width part of action_area we need to use a
parent box.

https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:35:02 -04:00
William Jon McCann
384b227e7b file-chooser: make enter location an operation mode
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:35:02 -04:00
William Jon McCann
20dfe1dd7f file-chooser: merge path bar mode and location mode
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:35:01 -04:00
William Jon McCann
d8ca588e17 file-chooser: remove select a folder info message
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:35:01 -04:00
William Jon McCann
d46ed4ec00 file-chooser: don't use an special label for recent
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:35:00 -04:00
William Jon McCann
a644b34154 file-chooser: add a search bar instead of using a path bar mode
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:35:00 -04:00
William Jon McCann
cf9b29705f file-chooser: add sidebar class to sidebar
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:35:00 -04:00
William Jon McCann
b5e13cd68f file-chooser: style location bar as a search bar
So we get a nice bottom border etc.

https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:59 -04:00
William Jon McCann
b05b91c692 file-chooser: style save mode name box as a search bar
So we get a bottom border etc.

https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:59 -04:00
William Jon McCann
22e3552a9d file-chooser: don't show a "save folder:" label
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:58 -04:00
William Jon McCann
5c42068bb3 file-chooser: move location entry into same place as pathbar
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:58 -04:00
William Jon McCann
1e925a85ca places-sidebar: add optional enter location place
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:58 -04:00
William Jon McCann
e2b2339b89 file-chooser: no shadow on scrolled window
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:57 -04:00
William Jon McCann
c253bc3165 file-chooser: use an action bar for extra widgets area
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:57 -04:00
William Jon McCann
df9522d8a8 file-chooser: allow views to extend to the sides of the dialog
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:56 -04:00
William Jon McCann
458cd04c13 file-chooser: move filter combo into extra area
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:56 -04:00
William Jon McCann
256a3a51da file-chooser: move pathbar into preview pane
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:56 -04:00
William Jon McCann
5a73757cdb places-sidebar: use separators instead of heading labels
https://bugzilla.gnome.org/show_bug.cgi?id=722211
2014-04-22 22:34:55 -04:00
Jason Ekstrand
f02663532d Get rid of a stray character 2014-04-22 22:28:34 -04:00
Matthias Clasen
6193b9b640 csd: Fix drag hightlight drawing
When making the entire window a drop target, as file-roller does,
we don't want to draw the drag highlight around the CSD window
decorations.
https://bugzilla.gnome.org/show_bug.cgi?id=728526
 Please enter the commit message for your changes. Lines starting
2014-04-22 21:19:21 -04:00
Victor Martinez
75f90ee424 Allow defining an invisible resize area for GtkPaned's handle.
This should allow theme developers to use a very small width for
the resize handle, but still let users easily move the handle by
defining a wider resize area.

The additional resize area follows the "margin" style property.

https://bugzilla.gnome.org/show_bug.cgi?id=728073
2014-04-22 19:38:26 -04:00
Jasper St. Pierre
ee3d00c391 wayland: Map the window immediately on show 2014-04-22 19:19:14 -04:00
Jasper St. Pierre
4e72674bf3 wayland: Remove useless hint set 2014-04-22 19:19:14 -04:00
Jasper St. Pierre
938725fff0 wayland: Remove VISIBILITY_NOTIFY event
VISIBILITY_NOTIFY is already known to be unreliable.
2014-04-22 19:19:14 -04:00
Jasper St. Pierre
bd60c7b95d gtk-demo: Make sure to clear the timeout when we stop it 2014-04-22 18:55:06 -04:00
Matthias Clasen
cfd7788c0b GtkScaleButton: Don't specify a icon size of zero
This only works for scalable icons, but breaks if we fall
back to pngs.
2014-04-22 18:37:25 -04:00
Matthias Clasen
2d9722e92b Fix the build 2014-04-22 11:08:17 -04:00
Matthias Clasen
2b85d6c225 Add a style class to model buttons
This will let us stop using the class name in Adwaita, and will
help with some future additions.
2014-04-22 11:04:40 -04:00
Volker Sobek
0940cbbeb9 docs: Fix parameter names for two functions
Don't use two different parameter names.
2014-04-21 22:57:35 +02:00
Yuri Myasoedov
c8fa10cace Fixed Russian translation 2014-04-20 15:18:10 +04:00
Christian Kirbach
6668d8697a Updated German translation 2014-04-19 11:58:38 +00:00
Juan Pablo Ugarte
887fc60cce Added bindings support to GtkBuilder by introducing 3 new <property> attributes "bind-source" to specify the source object of the binding "bind-property" to specify the source property and "bind-flags" to specify the binding flags (optional)
Binding an object sensitive property with a check button active property will look like this:

<object class="GtkButton" id="button">
  <property name="sensitive" bind-source="checkbutton" bind-property="active"/>
</object>

This is based on the original work done by Denis Washington for his GSoC project

This closes Bug 654417 "[GSoC] Add <binding> element to GtkBuilder syntax"
2014-04-18 18:59:14 -03:00
Antoine Jacoutot
be9d1e0b3b broadway backend: allow building on OpenBSD
On OpenBSD shm_open(3) is part of libc and there is not librt, so add an
according check.
Check if we have posix_fallocate before using it.

https://bugzilla.gnome.org/show_bug.cgi?id=728272
2014-04-18 18:20:34 +02:00
Matthias Clasen
2e1d0df1ed example: Update screenshots 2014-04-17 22:55:41 -04:00
Matthias Clasen
c923ea9bc4 example: Use popover for gears menu 2014-04-17 22:55:40 -04:00
Matthias Clasen
763250e04d example: Make gears button square
Another application of image-button.
2014-04-17 22:55:40 -04:00
Matthias Clasen
35f4243315 example: Make search button square
The image-button style class takes care of it.
2014-04-17 22:55:39 -04:00
Matthias Clasen
fcba75c2ba example: Modernize the prefs dialog
We should show the current best practice for this kind of
dialog, and use a headerbar with a window close button.
2014-04-17 22:55:39 -04:00
Matthias Clasen
b718b95aab example: Port to gtk_application_set_accels_for_action
Instead of hardcoding an accelerator in the ui file, use
gtk_application_set_accels_for_action.
2014-04-17 22:55:38 -04:00
Matthias Clasen
25ce82d5b3 example: Fix indentation 2014-04-17 22:55:37 -04:00
Matthias Clasen
c502ff73fe example: Fix up margins
This makes the code match what we show in the screenshots. This
broke when headerbars were changed to allow titles to extend into
the margin.
2014-04-17 22:55:37 -04:00
Matthias Clasen
f521dddaed example: Don't set a nonexisting property
The GtkHeaderBar::show-fallback-app-menu property does not exist,
and isn't needed anyway.
2014-04-17 22:55:36 -04:00
Jasper St. Pierre
e4e75a94f5 wayland: The xdg_surface.delete event was renamed to close 2014-04-17 13:14:44 -04:00
Руслан Ижбулатов
42ee237691 W32: correctly guess max window size from the size of the workarea of the screen it's on
Get monitor on which the most of the window is located (nearest monitor if
window is not on screen), get its work area (area not occupied by taskbar or
any other bars) and use that for maxsize.

Previous default of 30000 meant that windows maximized onto full screen,
even covering the area where taskbar is.

https://bugzilla.gnome.org/show_bug.cgi?id=726592
2014-04-16 22:39:56 +00:00
Evan Nemerson
0ebc4decbb selection: mark targets param to gtk_target_list_new as allow-none
https://bugzilla.gnome.org/show_bug.cgi?id=728165
2014-04-14 23:27:41 -07:00
Bastien Nocera
80993ea47a gtkapplication: Fix incorrect value passed to g_variant_new()
The code expected to format @u, not u.

https://bugzilla.gnome.org/show_bug.cgi?id=728140
2014-04-14 20:27:45 +02:00
Cosimo Cecchi
b0a0b7ebe7 iconhelper: always ensure a stated pixbuf
Even when we are set a pixbuf itself.

https://bugzilla.gnome.org/show_bug.cgi?id=726271
2014-04-13 22:26:18 -07:00
Marcus Karlsson
19510cdec7 GtkColorChooserWidget: Redraw swatches when selection changes
When selecting a swatch in a GtkColorChooserWidget the previously
selected swatch and the currently selected swatch are not redrawn. This
can leave the old swatch still marked with a checkbox even though a new
swatch has been selected.

Redraw the swatches after changing the selection.

https://bugzilla.gnome.org/show_bug.cgi?id=727487
2014-04-13 22:10:35 -07:00
Marcus Karlsson
3d956db500 docs: fix GtkWidget::size-allocate description
The documentation for the GtkWidget::size-allocate signal is missing the
description of the "allocation" parameter. Add the missing description
to the parameter.

https://bugzilla.gnome.org/show_bug.cgi?id=726179
2014-04-13 14:43:47 -07:00
Sébastien Wilmet
983a03d5f8 GtkTextView: use GSlice to allocate GtkTextLineSegment's
Use GSlice to allocate all types of segments:
- char
- toggle
- mark
- pixbuf
- child widget

Char segments are a bit more complicated because the length of the text
is determined at run time and stored in the 'byte_count' field. If the
text is long, GSlice will call the system malloc() anyway, so it's
better to always use GSlice for GtkTextLineSegment.

Toggle segments are also freed in gtktextbtree.c, hence the function
_gtk_toggle_segment_free() (for a later commit it would be nice to
rename those functions with the _gtk_text prefix).

https://bugzilla.gnome.org/show_bug.cgi?id=727908
2014-04-13 14:04:12 -07:00
Sébastien Wilmet
d69d57afa7 textview: inline a function
gtk_text_view_move_cursor_internal() was exactly the same as
gtk_text_view_move_cursor(), and was called only in the latter function.

https://bugzilla.gnome.org/show_bug.cgi?id=727908
2014-04-13 14:04:11 -07:00
Sébastien Wilmet
22ce03fd94 doc: improve documentation of gtk_text_iter_inside_word()
There is a possible confusion with the sentence:
"@iter is inside a natural-language word"

The iter should be viewed here as the pointed character (i.e. on the
right of the iter), not as a position between two characters.

Instead of improving the documentation, another solution would have been
to change the implementation so it is interpreted as an iter position
inside a word, i.e. between two characters that are part of a
natural-language word. But maybe some applications rely on the current
implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=727908
2014-04-13 14:04:10 -07:00
Sébastien Wilmet
704a178abb tests textiter: test word boundaries
- As the tests show, some of the functions have a strange and
inconsistent behavior for corner cases.

- Rename test_full_buffer() -> test_search_full_buffer() because
textiter.c is used for other GtkTextIter unit tests.

https://bugzilla.gnome.org/show_bug.cgi?id=727908
2014-04-13 14:04:10 -07:00
Matthias Clasen
14ce8025ca listbox: Add tests for multi-selection
This was forgotten when the multi-selection API was added,
and it was promptly broken in some places.
2014-04-13 14:04:09 -07:00
Matthias Clasen
0d55346fbb list-box: Fix copy-paste error
The new function gtk_list_box_get_selected_rows was implemented
as gtk_list_box_get_selected_children.
2014-04-13 14:04:08 -07:00
Matthias Clasen
dbf3a0681a listbox: Emit ::row-selected as we used to
The listbox selection test was failing because we were not
emitting these signals anymore.
2014-04-13 14:04:08 -07:00
Marcus Karlsson
ac5fbb5ef3 docs: Add missing transfer annotation to GtkBox
The gtk_box_get_center_widget function is missing a transfer annotation
for the returned widget. No transfer is done, so set transfer to none.

https://bugzilla.gnome.org/show_bug.cgi?id=728093
2014-04-13 13:22:36 -07:00
Matthias Clasen
71fdf845a7 gtk-demo: Avoid a compiler warning 2014-04-12 22:13:40 -07:00
Matthias Clasen
e8da5ec916 widget-factory: Clean up on shutdown 2014-04-12 22:13:14 -07:00
Matthias Clasen
e087f434a3 widget-factory: Remove unnecessary signal handlers
quitting the mainloop when none is running gives a critical
warning on shutdown.
2014-04-12 22:12:38 -07:00
Matthias Clasen
b86f54b54a widget-factory: Add a listbox example 2014-04-12 21:45:30 -07:00
Matthias Clasen
4e64708b3d widget-factory: Improve actionbar appearance
We are using the actionbar in the middle of the window, which
is not really what it is designed for. To avoid the unfinished
appearance on the sides, move it into the frame that we have
around the stack below. This fixes the sides, but gives the top
a double stroke. Too bad.
2014-04-12 21:09:03 -07:00
Matthias Clasen
2fab389930 widget-factory: Avoid ugly resizing on map
The text view is resizing several times after the window is mapped.
Not setting a hscrollbar-policy of never avoids that, and a
scrollbar still doesn't appear. Magic
2014-04-12 20:46:17 -07:00
Matthias Clasen
8ccdd5b7cf gtk-demo: Fix images demo
The incremental loading was broken by GtkIconHelper - queuing a
redraw is no longer sufficient to cause GtkImage to redraw with
the new pixbuf contents.
Pointed out by Jasper St. Pierre.
2014-04-12 20:40:27 -07:00
Matthias Clasen
9268ef36ab gtk-demo: Fix the links example
The keynav dialog is transient to the example window; since the
example window is now modal, we need to make the keynav dialog
modal as well, so it can receive input.
Problem pointed out by Jasper St. Pierre.
2014-04-12 18:44:40 -07:00
Jasper St. Pierre
5ac2346862 Remove gdk_synthesize_window_state from gdkinternals.h
It's already in gdkprivate.h
2014-04-12 08:20:33 -07:00
Jasper St. Pierre
eb5cc3da9b wayland: set_transient_for was renamed to set_parent 2014-04-12 08:20:33 -07:00
Jasper St. Pierre
e91e447db7 wayland: Don't pass dx/dy when we're resizing
They're ignored by the server.
2014-04-12 08:20:33 -07:00
Jasper St. Pierre
8201e2bfab wayland: Merge buffer implementations 2014-04-12 08:20:33 -07:00
Matthias Clasen
2d7b9273cf window: Be more careful when propagating key events
We are keeping references on the widget we are handling as we
are iterating up, but that doesn't protect us against the entire
tree being axed from inside gtk_widget_handle_event.
https://bugzilla.gnome.org/show_bug.cgi?id=727644
2014-04-11 22:00:01 -07:00
Cosimo Cecchi
a5bd1474d5 entry: consider ascent and descent when requesting height
Commit d05191a010 change the height
requisition to be completely dependent on the PangoLayout, but that
breaks when the font has special characters with different metrics.
Use the maximum between the two instead.

https://bugzilla.gnome.org/show_bug.cgi?id=728054
2014-04-11 18:58:16 -07:00
Bastien Nocera
1409d7c4bd gtkapplication: Fix passing NULL as the window to inhibit
gtk_application_inhibit() supports passing NULL, so don't
blindly pass the NULL window to
gtk_application_impl_dbus_get_window_system_id().

https://bugzilla.gnome.org/show_bug.cgi?id=728023
2014-04-11 18:51:53 -07:00
Matthias Clasen
85855da946 Update expected output for assistant a11y test
The headerbar and its content now shows up, as it should.
2014-04-10 15:50:51 -07:00
Matthias Clasen
256d52152c GtkAssistant: don't hide headerbar from a11y
GtkAssistant has its own accessible implementation, and we forgot
to update it when we added a headerbar.
2014-04-10 14:23:39 -07:00
Matthias Clasen
19e1a8feb4 GtkMessageDialog: Allow action-area-border theming again
This border does not interfere with headerbar-vs-content placement,
and we can allow themes to change it without breaking dialogs.
2014-04-10 13:54:38 -07:00
Matthias Clasen
28327ee9aa GtkDialog: fix up handling of style properties
The use of border-width-set here was an attempt to differentiate
between explicitly set (from code / ui files) border width from
theme changes. But when we are calling gtk_window_set_border_width
to apply the theme value, the -set property gets set, and all
further theme changes are ignored. This has the effect of only
letting the default value of these properties get applied.

Fix this by unsetting border-width-set after applying theme values.
2014-04-10 13:54:37 -07:00
Руслан Ижбулатов
b1012256f2 Revert "W32: RGBA GDK backend (broken)"
This reverts commit f89d38bc2d.

Pushed by accident.
2014-04-10 17:59:48 +00:00
Руслан Ижбулатов
dd8612227f Revert "W32: Add a basic set of CSD styles"
This reverts commit 6e3e0dcd73.

Pushed by accident.
2014-04-10 17:59:21 +00:00
Руслан Ижбулатов
fee41fb616 Revert "W32: Implement composition check for GDK"
This reverts commit 7ae5a56948.

Pushed by accident.
2014-04-10 17:58:58 +00:00
Руслан Ижбулатов
5c6e967b1f W32: remove border on default buttons
https://bugzilla.gnome.org/show_bug.cgi?id=727973
2014-04-10 17:49:20 +00:00
Руслан Ижбулатов
7ae5a56948 W32: Implement composition check for GDK
Also move DWM function grabbing and make those functions available to all of GDK-Win32.

https://bugzilla.gnome.org/show_bug.cgi?id=727316
2014-04-10 17:49:20 +00:00
Руслан Ижбулатов
6e3e0dcd73 W32: Add a basic set of CSD styles
https://bugzilla.gnome.org/show_bug.cgi?id=727316
2014-04-10 17:49:19 +00:00
Руслан Ижбулатов
f89d38bc2d W32: RGBA GDK backend (broken)
https://bugzilla.gnome.org/show_bug.cgi?id=727316
2014-04-10 17:49:19 +00:00
Benjamin Otte
3f23f20ca8 tests: Don't use deprecated functions in testselection 2014-04-10 17:06:27 +02:00
Benjamin Otte
6d62f84dae tests: Make testlockbutton not use deprecated API 2014-04-10 17:00:44 +02:00
Benjamin Otte
949aa98a8f testgtk: Don't use deprecated functions in selection test 2014-04-10 16:53:42 +02:00
Benjamin Otte
5600499c2f testgtk: Remove rc file test
The test didn't work anymore since RC files stopped being used in 3.0.
2014-04-10 16:50:32 +02:00
Benjamin Otte
27ada645ca testgtk: Don't use deprecated functions in progress bar test 2014-04-10 16:48:13 +02:00
Benjamin Otte
78ae3690fa testgtk: Don't use deprecated functions in event watcher test 2014-04-10 16:46:07 +02:00
Benjamin Otte
6d56ef2d52 testgtk: Don't use deprecated functions in scrolled windows test 2014-04-10 16:42:59 +02:00
Benjamin Otte
2a0d046df3 testgtk: Don't use deprecated functions in dialogs test 2014-04-10 16:36:16 +02:00
Benjamin Otte
4f7a972aac testgtk: Make dialogs example work without static variable
Makes it a bit more complicated, but meh.
2014-04-10 16:16:41 +02:00
Benjamin Otte
38149c472e testgtk: Clean up dialog example
Don't pass a static variable to a callback, when the static variable
could just be deinfed in the callback.
2014-04-10 16:07:05 +02:00
Benjamin Otte
27770485f8 testgtk: Don't use deprecated functions in flipping test 2014-04-10 14:29:51 +02:00
Benjamin Otte
11e17262b7 testgtk: Don't use deprecated functions in scrolling test 2014-04-10 02:40:49 +02:00
Benjamin Otte
9cbd681174 testgtk: Don't call deprecated function in mainloop test 2014-04-10 02:36:38 +02:00
Benjamin Otte
e109894f37 tests: Add deprecation guards 2014-04-10 02:29:54 +02:00
Benjamin Otte
9b29a7a700 pixelcache: Add a warning for an invariant that shouldn't happen
Pixel caches should be unmapped before being freed and unmapping clears
those variables.
2014-04-10 01:53:57 +02:00
Benjamin Otte
6e1fc27528 textview: Call map/unmap functions on pixel cache
https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:54 +02:00
Benjamin Otte
e758b0a144 treeview: Call map/unmap functions on pixel cache
https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:54 +02:00
Benjamin Otte
461f1900f2 viewport: Call map/unmap functions on pixel cache
https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:53 +02:00
Benjamin Otte
2587d4b8e6 pixelcache: Add map/unmap functions
Because GTK does not invalidate windows that aren't mapped, we cannot
update the pixel cache when the window it handles isn't mapped. So we
add API to call when GDK windows get mapped/unmapped.

https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:53 +02:00
Benjamin Otte
2a9d2a966a pixelcache: Split out a function
https://bugzilla.gnome.org/show_bug.cgi?id=726475
2014-04-10 00:16:53 +02:00
Chun-wei Fan
3036a53667 Visual C++ Builds: Fix Header Installation
Make sure that gtk/a11y/gtkpopoveraccessible.h is copied, so that programs
using GTK+'s a11y will compile correctly.
2014-04-09 14:03:01 +08:00
Yuri Myasoedov
aeb8b921e0 Fixed Russian translation 2014-04-09 00:23:20 +04:00
Matthias Clasen
69ef54bcd9 listbox: keep emitting ::row-selected
This was accidentally lost when multi-selection was added, causing
sidebars like the one in gnome-contacts or polari to not work any
more.
2014-04-07 23:17:56 -04:00
Piotr Drąg
2a9d22c895 doap: update URLs 2014-04-06 13:10:52 +02:00
Yosef Or Boczko
900adae5d9 headerbar: Use popover for the fallback app menu
https://bugzilla.gnome.org/show_bug.cgi?id=723963
2014-04-06 02:23:19 -04:00
Matthias Clasen
7d5bb09b88 Deprecate gtk_application_add_accelerator
The new gtk_application_set_accels_for_action api is more flexible
and better.
2014-04-06 02:13:06 -04:00
Matthias Clasen
4c03903045 Add new switch api to the docs 2014-04-06 01:52:49 -04:00
Matthias Clasen
ac22ff3bda Add a delayed state test case
This adds a switch with delayed state change to testswitch,
demonstrating the functionality that was added in the previous
commit.
2014-04-06 01:52:48 -04:00
Matthias Clasen
7b11f761b3 switch: Add a delayed state capability
This commit makes it possible for GtkSwitch to indicate when
the underlying state changes with a delay, causing the switch
to temporarily go 'out of sync' with the underlying change.

https://bugzilla.gnome.org/show_bug.cgi?id=725648
2014-04-06 01:52:47 -04:00
Matthias Clasen
4ebd2d3f7e Add new listbox api to docs 2014-04-06 01:52:47 -04:00
Matthias Clasen
125c9f207f list box: Avoid excessive signals
We were emitting the a11y ::selection-changed signal much more
often than ::selected-rows-changed. Thats not necessary.
2014-04-06 01:44:38 -04:00
Matthias Clasen
ccc4fb8512 Improve list selection example
Print out signals, so we see how often they are emitted.
2014-04-06 01:44:38 -04:00
Matthias Clasen
3fe243d346 list box: Cosmetic changes
Shorten variable names from list_box to box, throughout,
and use the BOX_PRIV macro everywhere.
2014-04-06 01:44:37 -04:00
Matthias Clasen
92eab67a49 Add a list box selection testcase 2014-04-06 01:44:37 -04:00
Matthias Clasen
efcaaa524e list box: Update accessible implementation
Now that multi selection is supported, we can provide a more
complete AtkSelection implementation.
2014-04-06 01:44:36 -04:00
Matthias Clasen
f652120347 list box: Implement multiple selection
This largely copies the flox box implementation, including the
same key bindings.
2014-04-06 01:44:36 -04:00
Matthias Clasen
463c89e540 listbox: Add multi-selection API
This commit adds API for dealing with multi-selection. It is identical
to the flow box API for this purpose. The implementation is still limited
to single-selection, and will be updated in subsequent commits.
2014-04-06 01:44:35 -04:00
Matthias Clasen
d6cc9bd7cb Add version macros for 3.14 2014-04-06 01:27:01 -04:00
Matthias Clasen
3b00a79eac Bump version to 3.13 2014-04-06 01:26:27 -04:00
John Lindgren
5f79ae53a2 Set use-fallback property to True for GtkScaleButton icons.
https://bugzilla.gnome.org/show_bug.cgi?id=727662
2014-04-06 01:12:41 -04:00
Jasper St. Pierre
ae7b154cf7 Make GtkAccelGroupEntry public again
Even though it was marked as internal, it seems gnome-terminal was
poking into the structure. It's unfortunately part of our ABI.
2014-04-05 22:44:32 -04:00
Matthias Clasen
2a26c39b29 overlay: deal gracefully with main widget being absent
It can happen that we get a size request when the main widget
is still NULL. Currently we hit a critical in this case, and
stumble on. We can do better.
Opening a new tab in nautilus is hitting this case.
https://bugzilla.gnome.org/show_bug.cgi?id=727643
2014-04-05 11:21:50 -04:00
Matthias Clasen
fee33b1a81 Clean up private headers
This commit adds a few missing private headers, and cleans up
some irregularities in the existing ones
2014-04-05 02:06:29 -04:00
maria thukididu
08e1c85add Updated Greek translation 2014-04-04 15:28:43 +03:00
maria thukididu
8c61e25e61 Updated Greek translation 2014-04-04 15:25:46 +03:00
Руслан Ижбулатов
3540e6ca57 W32: Give unfocused selected list items special background, like Explorer does
https://bugzilla.gnome.org/show_bug.cgi?id=727244
2014-04-04 07:57:16 +00:00
Matthias Clasen
fb9a6bb6d8 csd: Drop the GTK_FRAME_EXTENTS requirement
We are getting bug reports from people who are irritated that
dialogs now have 'double headers' under any wm but gnome-shell.

As an example, xfwm4 seems to do ok with csd windows, and
on balance it seems better to have some invisible border issues
than to have double headers.

https://bugzilla.gnome.org/show_bug.cgi?id=727414
2014-04-04 01:28:09 -04:00
Matthias Clasen
98ae6fd746 docs: More uniform formatting
Make all occurrences of hex in gdkcolor.c use “.
2014-04-04 01:25:14 -04:00
Volker Sobek
f8b6bfe744 docs: Remove '\' escape character from literals
commit 7f6a964c47 replaced entities, but
escaped the replacement text also inside literals, which resulted in the
escaping '\' to also appear in the documentation.

https://bugzilla.gnome.org/show_bug.cgi?id=727322
2014-04-04 01:24:35 -04:00
Sébastien Wilmet
1bf2e0600f doc: fix gtk_window_destroy() -> gtk_widget_destroy()
Reviewed-by: Emmanuele Bassi
2014-04-03 18:28:10 +02:00
Chun-wei Fan
46802d33e1 Visual C++ Builds: Build Introspection for GdkWin32
Add support to build the introspection files for GdkWin32, as done recently
in the autotools builds and clean up the NMake Makefile for building the
introspection files a bit.

For some reason, gdk_win32_display_manager_get_type() was not exported in
gdk-3.0.lib, force its export, so that the GdkWin32-3.0.gir can be built
properly with the Visual C++ builds.  This is a known problem that some
symbols in static libraries that are linked into a DLL in Visual C++, even
if they were marked with __declspec(dllexport) via _GDK_EXTERN.
2014-04-03 15:49:05 +08:00
Chun-wei Fan
78176cd311 MSVC Builds: Clean up gtk-version-paths.*props
Remove lines that are not really referred to.
2014-04-03 15:08:23 +08:00
Matthias Clasen
17ee80aafe Drop an unnecessary include
These tests are better if they can be built standalone.
2014-04-02 12:41:24 -04:00
Matthias Clasen
bf79c8f0df Add a big combobox test case
I've seen many bugs about long combo box popups getting misplaced
or wrongly sized. Time to add a testcase.
2014-04-02 09:51:01 -04:00
Jonas Danielsson
b29bbc6210 a11y: atk_table_get_row_at_index is deprecated
Do not use deprecated index based AtkTable functions use static
helper instead.

https://bugzilla.gnome.org/show_bug.cgi?id=727313
2014-04-01 21:40:24 -04:00
Jonas Danielsson
e7962f5871 a11y: atk_component_get_position is deprecated
Switch to using atk_component_get_extents instead.

https://bugzilla.gnome.org/show_bug.cgi?id=727313
2014-04-01 21:40:23 -04:00
Michael Natterer
b423b88580 treeview: remove unused members from GtkTreeView Private 2014-04-02 01:04:38 +02:00
Pau Iranzo
eee0d1f7a8 [l10n] Update Catalan translation 2014-04-01 23:56:51 +02:00
Руслан Ижбулатов
42f70716b6 W32: style tooltips with appropriately-themed background
https://bugzilla.gnome.org/show_bug.cgi?id=727410
2014-04-01 11:50:38 +00:00
Руслан Ижбулатов
3a806b97c9 W32: give scrollbar slider active and insensitive styles
https://bugzilla.gnome.org/show_bug.cgi?id=727391
2014-04-01 11:50:37 +00:00
Руслан Ижбулатов
0d53a581b4 Give CC to instrospection scanner
Introspection scanner-generation script gets compiler from the CC
environment, we need to set it.

https://bugzilla.gnome.org/show_bug.cgi?id=722817
2014-04-01 11:50:35 +00:00
Руслан Ижбулатов
4b80aa1c05 Introspection for gdk-win32
https://bugzilla.gnome.org/show_bug.cgi?id=722817
2014-04-01 11:24:39 +00:00
Руслан Ижбулатов
2ffd614ff4 W32: Add .dim-label style
https://bugzilla.gnome.org/show_bug.cgi?id=727245
2014-04-01 10:36:50 +00:00
Руслан Ижбулатов
e229cff8de W32: Fix listbox selection
* Makes listbox background white instead of default grey
* Uses gradients or W32 theme parts to draw sexy selection/prelight
  rectangle instead of changing selected/prelighted item background
* Removes blanket button text color, allowing buttons to inherit
  text color from their parents. Non-normal buttons DO get specific
  text color though. This partially fixes text color propagation from
  listbox rows to their children.

https://bugzilla.gnome.org/show_bug.cgi?id=727244
2014-04-01 10:36:49 +00:00
Руслан Ижбулатов
c2b4891854 W32: Add MSW7 notebook theme, move old notebook theme into XP-only CSS
https://bugzilla.gnome.org/show_bug.cgi?id=727213
2014-04-01 10:36:47 +00:00
Руслан Ижбулатов
d83b1275b4 W32: Remove selection from check/radio marks
Current theme allows selection to leak into check/radio marks,
resulting in ugly colored rectangles showing up underneath the marks.

https://bugzilla.gnome.org/show_bug.cgi?id=727211
2014-04-01 10:36:46 +00:00
Руслан Ижбулатов
ec7179d01a W32: Add dummy prelight style to check/radio buttons to propagate prelight to check/radio marks
https://bugzilla.gnome.org/show_bug.cgi?id=727210
2014-04-01 10:36:45 +00:00
Руслан Ижбулатов
b678af07d7 W32: re-enable grip theming
https://bugzilla.gnome.org/show_bug.cgi?id=727080
2014-04-01 10:36:44 +00:00
Руслан Ижбулатов
e0a80d165a W32: Add GtkPopover theming
https://bugzilla.gnome.org/show_bug.cgi?id=727078
2014-04-01 10:36:34 +00:00
Руслан Ижбулатов
c58ed480e5 W32: Make combobox-entry thinner by removing unneeded padding
https://bugzilla.gnome.org/show_bug.cgi?id=727075
2014-04-01 10:32:50 +00:00
Руслан Ижбулатов
7d367a8952 W32: Fix menu item size and submenu arrow size
https://bugzilla.gnome.org/show_bug.cgi?id=727037
2014-04-01 10:32:24 +00:00
Руслан Ижбулатов
e8f09084bd W32: Fix combobox dropdown list color
https://bugzilla.gnome.org/show_bug.cgi?id=727036
2014-04-01 03:29:35 +00:00
Руслан Ижбулатов
2b36054a5d W32: Fix double-arrowed combobox button
The arrow is part of the background image drawn by the theme, don't draw
GTK's own arrow. This also applies to non-entry comboboxes.

On XP the arrow-and-nothing-else part does not exist (W32 XP theme draws a
white rectangle) and has to be subtituted for a simple dropdown button even
for non-entry comboboxes.

https://bugzilla.gnome.org/show_bug.cgi?id=727035
2014-04-01 03:29:35 +00:00
Руслан Ижбулатов
ce9437daf5 Fix W32 theme for spinbuttons
It seems that the dec-button no longer has a "bottom" selector-thingy to
select for. Use "last-child" instead.
Use .vertical to style vertical instance differently, as last-child/first-child
meaning is inverted there.
Increase (towards 0) margins a bit, to avoid clipping the pre-light rectangle.
Use dir(rtl) selector to style horizontal instance differently for RTL locales,
where first-child is "inc".

https://bugzilla.gnome.org/show_bug.cgi?id=727022
2014-04-01 03:29:34 +00:00
Paolo Borelli
a0f2e6990f textbufferserialize: do not leak list of tags 2014-03-30 18:29:15 +02:00
Paolo Borelli
90b78f89d3 application-dbus: free strings during finalization 2014-03-30 11:57:23 +02:00
Paolo Borelli
63b90bb5b8 stackswitcher: do not leak buttons hash table 2014-03-29 23:15:28 +01:00
Matthias Clasen
7ac684e9e3 flow box: Avoid excessive signals
We were emitting the a11y ::selection-changed signal much more
often than ::selected-children-changed. Thats not necessary.
2014-03-29 00:46:51 -04:00
Matthias Clasen
bf8a169cb9 docs: Another round of markup removal 2014-03-29 00:24:15 -04:00
Matthias Clasen
3d0b7314cd Trivial typo fix 2014-03-28 23:51:52 -04:00
Matthias Clasen
28377d4ffb Docs: remove some leftover markup 2014-03-28 23:51:52 -04:00
Jonas Danielsson
45b982dc7f clipboard: Add link to GdkDisplay in doc
https://bugzilla.gnome.org/show_bug.cgi?id=712752
2014-03-28 22:47:25 +01:00
Chun-wei Fan
9e686d1fb5 gdkproperty-win32.c: Fix gtk-font-name handling
...on Windows 8+ and when the system setting for non-Unicode programs do
not match the language version of Windows by falling back to using Pango.

This ensures that the correct font is used during these scenarios, so that
we minimize the risk of seeing garbled characters for texts that the system
code page does not support due to system peculiarties.  There might be a
way to support gtk-font-name handling using the native Windows APIs
directly on Windows 8+, but that needs to be investigated.

https://bugzilla.gnome.org/show_bug.cgi?id=726298
2014-03-28 21:06:14 +08:00
Bastien Nocera
d6f9247f53 treeview: Lower the duration of validation iterations
GTK_TREE_VIEW_TIME_MS_PER_IDLE is currently 30 milliseconds, meaning
that validate_rows will validate rows up until all the validations have
taken over 30 msecs. So it's likely to block redrawing via the clock
frame update mechanism, as that tops at 16.66 milliseconds per frame
(1/60th of a second).

Stop validating rows if we've spent more than 3/5 of our allotted budget
for inter-frame processing, so as to avoid blocking.

In the future, we would probably want to calculate how long we would
have left until the next frame, especially if higher priority idles
and timeouts have already consumed a portion of that allotted time.

https://bugzilla.gnome.org/show_bug.cgi?id=726871
2014-03-27 13:02:43 +01:00
Olivier Brunel
5c019bde15 treemodelfilter: Fix using wrong path on row-deleted
A "typo" led to using a wrong GtkTreePath when converting the path of the
virtual root to check the ancestors, which would lead to either no checks being
performed, or maybe segfaulting when using an invalid path as result.

https://bugzilla.gnome.org/show_bug.cgi?id=722058
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
2014-03-26 20:40:50 -04:00
John Lindgren
75b0180829 Allow gtk_radio_menu_item_set_group() to be called twice without crashing.
https://bugzilla.gnome.org/show_bug.cgi?id=726859
2014-03-26 20:35:24 -04:00
Bastien Nocera
f71f7215ab all: Name more idles and timeouts
Following up from 438cd857c4,
name more timeouts and idles.

The original grep was missing checking for gdk_threads_add_*()
functions (at least for some of the files).

https://bugzilla.gnome.org/show_bug.cgi?id=726870
2014-03-26 20:09:30 -04:00
Matthias Clasen
454c485ebe widget-factory: Use a popover gear menu 2014-03-26 20:04:21 -04:00
Inaki Larranaga Murgoitio
c85e8f276e Updated Basque language 2014-03-26 14:52:54 +01:00
Inaki Larranaga Murgoitio
26b17af77e Updated Basque language 2014-03-26 14:39:42 +01:00
Stas Solovey
37526b02ff Updated Russian translation 2014-03-26 13:39:19 +00:00
Yuri Myasoedov
59e1bc01cd Some fixes for Russian translation 2014-03-26 12:12:25 +04:00
Yuri Myasoedov
88f1497c07 Some fixes for Russian translation 2014-03-26 11:43:08 +04:00
Yuri Myasoedov
a0b86e2e7d Some fixes and updates for Russian translation 2014-03-26 11:27:40 +04:00
Joanmarie Diggs
8a556a3a61 Add missing AtkRelations for labelled containers in the print dialog
These AtkRelation types are added automatically for widgets with a label
specified (e.g. via gtk_label_set_mnemonic_widget, gtk_frame_set_label,
and gtk_frame_set_label_widget). When such specification is absent, the
accessible relationship must be manually set.

https://bugzilla.gnome.org/show_bug.cgi?id=726996
2014-03-25 10:26:24 -04:00
Antoine Jacoutot
8ede929ef7 prevent redefinition of typedef GtkPrinterCloudprint
https://bugzilla.gnome.org/show_bug.cgi?id=727009
2014-03-25 12:24:41 +01:00
Matthias Clasen
332688a075 Bump version 2014-03-24 21:07:09 -04:00
Matthias Clasen
f881f985ab 3.12.0 2014-03-24 20:20:21 -04:00
Cosimo Cecchi
99dc47e7fd icontheme: fix emblemed icons fallout
Commit faba7df4fe changed the logic in
apply_emblems() so that GtkIconInfo->emblems_applied would be set to
TRUE even in case there was no emblem info available, which confuses the
theme cache.
This commit changes the logic back, so that NULL is returned from
apply_emblems_to_pixbuf() when there are no emblems available, fixing
the bug.

https://bugzilla.gnome.org/show_bug.cgi?id=726830
2014-03-24 20:17:21 -04:00
Matthias Clasen
206d43dcb4 Add a testcase for icons with emblems
This is a testcase for
https://bugzilla.gnome.org/show_bug.cgi?id=726830
2014-03-24 20:17:21 -04:00
Matthias Clasen
1685877635 Minor update of a11y test output 2014-03-24 20:17:21 -04:00
Matthias Clasen
5efea0825d Update release notes 2014-03-24 20:17:20 -04:00
Johannes Wellhöfer
46cfebfe97 Also revert enable-mnemonics code in gtkwindow, which was forgotten in commit 34cf40e95c.
https://bugzilla.gnome.org/show_bug.cgi?id=708346
2014-03-24 20:17:20 -04:00
Christian Kirbach
9a05e55dfa Updated German translation 2014-03-24 22:20:06 +00:00
Matthias Clasen
6cc0130147 wayland: Mark ourselves as not supporting compositing
The compositing that is meant here is really specific to the
X11 Composite extension, and does not apply to Wayland.

This is very rarely used functionality anyway, and none of
the other backends support it.
2014-03-24 12:49:32 -04:00
Kai Willadsen
baf4678087 docs: Document gtk_recent_filter_filter() requirements
gtk_recent_filter_filter() needs the contains bitfield to be set, but
this only mentions that the other fields are required.

https://bugzilla.gnome.org/show_bug.cgi?id=726900
2014-03-24 12:37:57 -04:00
Marek Kasik
21687bcedb printing: Draw print dialog on fullscreen windows
Set correct "type-hint" for GtkPrintUnixDialog ("dialog").
Otherwise the print dialog is not shown when its parent
window is in fullscreen mode.

https://bugzilla.gnome.org/show_bug.cgi?id=724728
2014-03-24 12:22:17 -04:00
Benjamin Otte
be7380a418 a11y: Move relationset updating to new vfunc
This way, we don't create lots of cell accessibles when creating the
first one (because surely one is the parent/child of another who again
is a parent/child of another who again....)
2014-03-24 16:38:18 +01:00
Benjamin Otte
8374a58623 a11y: Add API to update relationsets of cells to their parents 2014-03-24 16:38:18 +01:00
Benjamin Otte
fef14e0e87 a11y: Don't unref relations
Nobody was reffing those related object in the first place and that
was causing random crashes.
And if somebody had reffed those related objects, they'd have caused
reference cycles.

https://bugzilla.gnome.org/show_bug.cgi?id=726838
2014-03-24 16:38:17 +01:00
Matthias Clasen
02cd5737f6 Don't let themes override explicit border-width in dialogs
This fixes an issue where the theme-provided border-width prevents
dialog contents from lining up properly with the headerbar. To make
this work in message dialogs, we have to explicitly set the border-
width of the action area to 0.
2014-03-24 10:26:31 -04:00
Matthias Clasen
7da97a3642 Revert "Don't let themes override explicit border-width in dialogs"
This reverts commit 6e4567e73b.

For some reason, this causes buttons in message dialogs to have an
unwanted border.
2014-03-24 08:38:59 -04:00
Matthias Clasen
329263f091 gtk-demo: Fix underlines
The iconview example was showing literal underlines. We don't want
that.
2014-03-24 07:02:44 -04:00
Petr Kovar
e3144b00ac Update Czech po-properties translation 2014-03-23 17:09:24 +01:00
Petr Kovar
5819ca7260 Update Czech translation 2014-03-23 16:38:29 +01:00
Мирослав Николић
c37ccdee76 Updated Serbian translation 2014-03-23 14:24:07 +01:00
Мирослав Николић
e8718c36c7 Updated Serbian translation 2014-03-23 11:53:12 +01:00
Milo Casagrande
bd44a4a6bd Updated Italian translation 2014-03-22 13:48:41 +00:00
Milo Casagrande
e560a1f184 Updated Italian translation 2014-03-22 13:47:59 +00:00
Daniel Korostil
1561062b8f Updated Ukrainian translation 2014-03-22 12:22:46 +02:00
John Lindgren
451692d432 Fix typo (GTK_ENABLE_DEBUG vs. G_ENABLE_DEBUG).
https://bugzilla.gnome.org/show_bug.cgi?id=726858
2014-03-21 22:55:03 -04:00
Matthias Clasen
d669926130 font chooser: Update font list on font changes
We do get a style-updated emission when new fonts are installed.
Update the font list in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=726476
2014-03-21 22:37:36 -04:00
Matthias Clasen
c99935a540 file chooser: Don't react to entry changes in select-folder mode
In select-folder mode, we are putting the directory name into the
entry ourselves. Then the entry appends a /. If we react to this
'spontaneous' change of the entry by clearing the list selection,
this will in turn make us clear the entry. We don't want that.

https://bugzilla.gnome.org/show_bug.cgi?id=726855
2014-03-21 22:08:50 -04:00
Gábor Kelemen
42b7122c87 Updated Hungarian translation 2014-03-22 00:50:40 +00:00
Matthias Clasen
a8036a5143 wayland: Fix northeast resizing
Surprisingly, the same corner that was broken for resizing under
X is also broken under Wayland, for an entirely different reason.
2014-03-21 18:24:38 -04:00
Pierre-Eric Pelloux-Prayer
ad39298f6d broadway: make sure color/delta run length do not overflow
Fixes bug 723045.
2014-03-21 21:45:04 +01:00
Matthias Clasen
6e4567e73b Don't let themes override explicit border-width in dialogs
This fixes an issue where the theme-provided border-width prevents
dialog contents from lining up properly with the headerbar.
2014-03-21 15:41:13 -04:00
Matthias Clasen
9ed2c8a719 Fix undecorated windows
Setting windows undecorated was broken by some of the recent
shadow width changes. We need to ensure that shadow width is
zero for undecorated windows, then things work again.
2014-03-21 15:39:46 -04:00
Carlos Garnacho
9adfc8e2c4 window: Unset source ID before possibly destroying the widget
If the delete event ends up destroying the widget, unsetting
priv->delete_event_handler will happen on invalid memory, so
unset it before the widget is possibly destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=726825
2014-03-21 15:41:10 +01:00
Carlos Garnacho
0e7884f1a7 a11y: Remove weak reference when updating a GtkPopoverAccessible relative-to widget
Otherwise the weak reference is left dangling, which later causes issues at the time
of destroying that widget.

https://bugzilla.gnome.org/show_bug.cgi?id=726749
2014-03-21 15:33:58 +01:00
Andika Triwidada
980c62a139 Updated Indonesian translation 2014-03-21 10:13:02 +00:00
Andika Triwidada
1eb2b92d9c Updated Indonesian translation 2014-03-21 07:20:38 +00:00
Jasper St. Pierre
084859d150 wayland: Mark ourselves as not supporting bounding shapes
Theoretically, we apply the shape mask client-side ourselves
with an ARGB32 pixmap and intersect it to get a union shape,
but I don't particularly care enough to write that code.

Realistic application code using bounding shapes in 2014 is
quite rare.
2014-03-20 14:28:25 -04:00
Jasper St. Pierre
3472235232 wayland: Add support for input regions 2014-03-20 14:28:24 -04:00
Jasper St. Pierre
385b55f203 wayland: Refactor how opaque region is handled
Move to a sync system just like the rest of the properties.
2014-03-20 14:28:24 -04:00
Benjamin Otte
fbf99febf3 docs: Add more information to gtk_widget_set_realized()
It's important to point out that widgets should only be marked as
realized very late in the process. Even GTK widgets don't get this
right.

https://bugzilla.gnome.org/show_bug.cgi?id=726717
2014-03-20 14:34:31 +01:00
Benjamin Otte
b20d49fc04 expander: Call set_realized() later
Widgets should only call set_realized() after having created and
registered their GDK windows. In this case, the creation of the style
context (or more exactly: figuring out the scale factor for it) requires
knowing if the widget is already realized. Which it isn't.

https://bugzilla.gnome.org/show_bug.cgi?id=726717
2014-03-20 14:20:49 +01:00
GunChleoc
6726f37309 Updated Scottish Gaelic translation 2014-03-20 08:46:04 +00:00
GunChleoc
6b4d79dd7a Updated Scottish Gaelic translation 2014-03-20 08:27:29 +00:00
GunChleoc
192766a541 Updated Scottish Gaelic translation 2014-03-20 08:24:23 +00:00
GunChleoc
67cc408905 Updated Scottish Gaelic translation 2014-03-20 08:20:58 +00:00
Ask H. Larsen
6f36323ac6 Updated Danish translation 2014-03-19 21:52:16 +01:00
Ask H. Larsen
4e3a2eea4d Updated Danish translation 2014-03-19 21:50:35 +01:00
Gábor Kelemen
2144a810b5 Updated Hungarian translation 2014-03-19 15:57:33 +00:00
Benjamin Otte
38d1999f7b container: guard container variable by reffing it
vte destroys the container during removal of a child. Don't crash in
that case due to recent a11y refactoring.

https://bugzilla.gnome.org/show_bug.cgi?id=726369
2014-03-19 13:23:38 +01:00
Benjamin Otte
d5792eb1fe cssprovider: Fix error message
expected a valid semicolon
sounds kinda not so great. Make it say
  expected semicolon

Unless somebody can tell me the difference between valid and invalid
semicolons?
2014-03-19 12:44:24 +01:00
Matthias Clasen
5c10e8409f Ensure proper spacing around icons in message dialogs
We had a margin of 30 before/after the text. Put that add around
the icon as well, and separate the icon and text by 30 pixels.
This does not affect the appearance of message dialogs without
icons.
2014-03-18 19:53:36 -04:00
Matthias Clasen
f5dc69ab8e Add at testcase for a message dialog with icon
Icons in message dialogs may be deprecated, but we still need
to place them properly, so add a testcase.
2014-03-18 19:53:36 -04:00
Murray Cumming
4ee775ebf9 docs: Tiny GtkApplication typo fixes. 2014-03-18 12:29:49 +01:00
Matthias Clasen
1a2b7bbd0a GtkDialog: Add some padding to title label 2014-03-17 22:46:22 -04:00
Matthias Clasen
703ae52214 Bump version 2014-03-17 20:21:28 -04:00
Matthias Clasen
70b4b622b4 GtkPopover: Fix two doc comments 2014-03-17 19:13:53 -04:00
Matthias Clasen
36b3b9cbeb x11: Allow unmaximizing from tiled state too
This lets us unmaximize a half-tiled csd window on a touch system.
2014-03-17 18:18:53 -04:00
Matthias Clasen
8a9dab8e29 Update a11y test output 2014-03-17 18:14:53 -04:00
Jasper St. Pierre
16b5504eb9 wayland: Remove cruft in set_keep_above / set_keep_below
It's been decided: these will most likely never be supported on
Wayland, so remove the "stub" implementation of them.
2014-03-17 15:51:46 -04:00
Jasper St. Pierre
4eb7dac75b wayland: Fix get_frame_extents
We need to traverse up the hierarchy for windows here. Just use
our existing helper method for this.
2014-03-17 15:51:46 -04:00
Jasper St. Pierre
efdd68b3b0 Implement get_root_origin generically for all backends
It seems that some backends implemented get_root_origin wrong
and returned the client window coordinates, not the frame window
coordinates. Since it's possible to implement generically for all
windows, let's do that instead of having a separate impl vfunc.
2014-03-17 15:51:46 -04:00
Matthias Clasen
c663cabe7b Updates 2014-03-17 15:45:55 -04:00
Jasper St. Pierre
0320c3be8e wayland: Fix "fake root" coords
We were incorrectly summing up our own window over and over
rather than the coordinates of the parent windows.
2014-03-17 15:36:41 -04:00
Jasper St. Pierre
494e253e47 wayland: Add a giant doc comment explaining "fake root" coordinate space 2014-03-17 15:36:41 -04:00
Jasper St. Pierre
92833a0b82 wayland: Properly apply the fake root offset to event coordinates
GdkEvent's x_root and y_root values should be in the same "fake root
window" coordinate space as gdk_window_get_root_coords.
2014-03-17 15:36:41 -04:00
Jasper St. Pierre
35a1f49db5 wayland: Fill in x_root / y_root of events properly
Lots of code, including dragging code in GtkWindow, use these
fields. Setting them to 0 causes lots of strange and weird bugs.

Use the same "hack" from query_device_state of just using
win_x / win_y for now. We'll convert this to the proper fake root
coordinate system used by get_root_coords in the next commit.
2014-03-17 15:36:41 -04:00
Matthias Clasen
ac96c35230 Update documentation about link styling
The ::link-color and ::visited-link-color style properties
are ignored now. Document that.
2014-03-17 15:00:45 -04:00
Marek Kasik
b95ce71b89 printing: Fail nicely when /tmp is not writable
Don't crash when /tmp is not writable when printing to file.
Show that getting of printer details failed for CUPS printers.

https://bugzilla.gnome.org/show_bug.cgi?id=693200
2014-03-17 14:37:34 -04:00
Carlos Garnacho
3693045566 textview: Mind the lateral windows when setting handles/popovers positions
If a textview had lateral windows that might displace the text window, the
handles and popovers would appear displaced. Those lateral windows aren't
affected by RTL/LTR settings, so just checking for left/top is ok here.
2014-03-17 18:26:41 +01:00
Carlos Garnacho
41b73e409f x11: Implement "drag to top to maximize" gesture on emulated window dragging
And the counterpart to unmaximize when dragging a maximized window, if
touch devices aren't going to use EWMH moveresize, having this one at least
makes things feel a bit less awkward.

https://bugzilla.gnome.org/show_bug.cgi?id=709914
2014-03-17 18:19:44 +01:00
Carlos Garnacho
d1d4c602e0 x11: Fallback to emulated window dragging for touch devices
Sadly, EWMH moveresize mechanism can't work with touch devices for two
reasons:

1) As a mutter implementation detail, the device is queried in order
to check whether the dragging button is still pressed. Touch devices
won't report the button 1 being pressed through pointer emulation.
2) Even bypassing that check, on X11 touch events are selected prior
to sequences being started, either through XISelectEvents or
XIGrabTouchBegin, no late registering through active grabs is allowed,
as WMs do on reaction to EWMH moveresize messages.

So for the time being, make touch devices fallback on emulated window
dragging, which at least allows for moving windows.

https://bugzilla.gnome.org/show_bug.cgi?id=709914
2014-03-17 18:19:44 +01:00
Bastien Nocera
20c764fc5e dialog: Avoid possible use-after-free
When the dialogue's titlebar was replaced, we were still trying to
update the label we constructed but that was now destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=726492
2014-03-17 14:29:10 +01:00
Ville-Pekka Vainio
5b4a942260 Finnish translation update by Jiri Grönroos 2014-03-16 21:46:47 +02:00
Luis Menina
6fddc0cf8a Updated French translation 2014-03-16 16:06:52 +00:00
Claude Paroz
80ec521535 Updated French translation 2014-03-16 12:51:19 +00:00
Claude Paroz
47c1a94424 Updated French translation 2014-03-16 11:05:02 +00:00
Matthias Clasen
08f8fd2f5c Test size constraints
This adds some min/max size hints to testimage.
2014-03-14 13:46:31 -04:00
Matthias Clasen
3504f49473 Show dialog titles
We want to present a clean, rounded top when there is nothing
else to show, but many dialogs in applications rely on showing
information in their title, so add a label and show the title
when it is not empty.
2014-03-14 06:28:49 -04:00
Owen W. Taylor
2f43800aa3 _gtk_widget_get_device_window: Fix for keyboard devices
Avoid a warning by returning NULL for keyboard devices, which can
never have an active pointer for a widget.
2014-03-13 10:31:08 -04:00
Jasper St. Pierre
c737045462 xdg-shell: Update to latest state change mechanism 2014-03-12 23:53:04 -04:00
Matthias Clasen
1779789f65 Update a11y test output
These harmless changes are a consequence of
66fae0330c.
2014-03-12 23:43:28 -04:00
Matthias Clasen
5b2236e3d7 Add a Since annotation to gdk_device_get_last_event_window 2014-03-12 23:04:37 -04:00
Owen W. Taylor
40b6d907bf Use GDK's current window tracking when synthesizing events in GTK+
Add gdk_device_get_last_event_window(), and use to implement the window
tracking we need for synthesizing crossing events for sensitivity changes
and gtk grabs, rather than keeping the information in qdata and updating
it based when GTK+ gets events.

https://bugzilla.gnome.org/show_bug.cgi?id=726187
2014-03-12 23:03:53 -04:00
Balint Reczey
4ce5fcc5c8 documentation: clarify gtk_icon_theme_add_builtin_icon() usage
https://bugzilla.gnome.org/show_bug.cgi?id=726135
2014-03-12 22:55:52 -04:00
Owen W. Taylor
827e5cb87b GtkTreeView: stop ignoring crossing events from grabs
Stop ignoring various crossing events from grabs:

Enter events with type GRAB/GTK_GRAB/GTK_UNGRAB/STATE_CHANGED:
  Ignoring these events was added as a workaround for synthesized
  events not having the right coordinates (see bug 555109) but
  now they do have the right coordinates. (see bug 704456)

Leave events with types types GTK_GRAB/GTK_UNGRAB:
  Ignoring these events was added because since we were ignoring
  the enter events as above, ignoring the leave events meant we
  could lose the prelighted row in a grab-triggered leave/enter
  pair. (See bug 653676. It's also now impossible to
  reproduce the leave events that were reported in that bug as causing
  problems.)

Leave events of type GRAB.
  Ignoring these events was added without a ChangeLog entry in 2001,
  possibly to keep the prelight from flashing when activating menus.
  But ignoring these events could lead to stuck prelighting, and we don't
  do it for any other widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=726209

The bug this patch is fixing is that currently if you have a GtkPopover in
clicking off the popover to dismiss it on a GtkTreeView (which triggers
a synthetic enter event on the GtkTreeView) will leave the GtkTreeView
in a confused state until the user moves the mouse again.
2014-03-12 22:55:19 -04:00
Matthias Clasen
8d07911d73 Work around gcc stupidity
With -Wc++-compat, gcc warns about 'and' even in contexts where it
poses absolutely no danger.

https://bugzilla.gnome.org/show_bug.cgi?id=726136
2014-03-12 22:47:10 -04:00
Benjamin Otte
63fe6de94d treeview: Don't popup a search dialog for keypresses that close it
That doesn't make sense.
And it causes issues, because when holding down the tab key, we
show/hide a lot of windows and cause a lot of map/unmap events that
stall the event pipeline.
2014-03-13 02:02:50 +01:00
Benjamin Otte
c82f2169e5 treeview: Split out a function
This is in preparation for the next patch.
2014-03-13 02:02:50 +01:00
Benjamin Otte
66fae0330c a11y: Don't use signals
Instead, call functions directly. Fixes the fact that the signals
weren't disconnected even when the accessible was destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=725733
2014-03-13 02:02:50 +01:00
Owen W. Taylor
1ff2161431 gdk_cairo_surface_create_from_pixbuf: Add missing (allow-none) annotation
The window is allowed to be %NULL
2014-03-12 11:50:55 -04:00
Marek Černocký
de461f1424 Updated Czech translation 2014-03-12 16:06:14 +01:00
Matthias Clasen
6fbe287622 csd: Fix the northeast resize handle position 2014-03-12 00:28:26 -04:00
Matthias Clasen
5b341e8e6e csd: Fix invisible border/shadow confusion
We did not set an input shape on the window, so the region outside
the invisible border where we draw the outer edges of the shadow
were still part of the window, as far as clicks and cursors were
concerned. Fix this by setting an input shape that makes all clicks
outside of the resize borders go through to the underlying window.

https://bugzilla.gnome.org/show_bug.cgi?id=726125
2014-03-12 00:18:04 -04:00
Ryan Lortie
ff0c470e34 broadway: remove unused libcrypt
eb1ab0dac2 removed support for authentication
based on crypt()-hashed passwords but it didn't remove the header.

Finish up with the removal.

This allows the broadway backend to build on FreeBSD (which has no
crypt.h).

https://bugzilla.gnome.org/show_bug.cgi?id=726149
2014-03-12 00:17:09 -04:00
Duarte Loreto
3e9a9d8243 Updated Portuguese translation 2014-03-12 01:37:52 +00:00
Duarte Loreto
544963da24 Updated Portuguese translation 2014-03-12 01:14:44 +00:00
Carlos Garnacho
a86ca5c561 textview: Postpone text handles creation until when needed
This is only necessary for touch devices, so unnecessary on many setups.
2014-03-10 23:07:21 +01:00
Carlos Garnacho
7b0a5674e2 textview: Postpone magnifier creation until when needed
This is only necessary for touch devices, so unlikely on many setups.
2014-03-10 23:07:21 +01:00
Carlos Garnacho
130d8f100e entry: revert text handles to cursor mode after cut/paste
The current text selection goes away in that case, so reflect
that too in the handles.
2014-03-10 23:07:21 +01:00
Carlos Garnacho
60b0e89804 entry: postpone text handles creation until when needed
This is only necessary for touch devices, so unlikely in many setups.
2014-03-10 23:07:21 +01:00
Carlos Garnacho
45d9076f49 entry: postpone magnifier creation until when needed 2014-03-10 23:07:21 +01:00
Carlos Garnacho
89c4ef5873 a11y: Don't allocate a list just for counting widgets in GtkContainerAccessible
It's more straightforward if counting through gtk_container_foreach().
2014-03-10 23:02:41 +01:00
Carlos Garnacho
faa6db8485 testsuite: Update a11y/menubutton3.ui test expectations
Popover is now minimally accessible.

https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:02:23 +01:00
Carlos Garnacho
31cd153050 a11y: Add GtkPopopverAccessible
And let GtkPopover use it as its GtkAccessible implementation, this
accessible sets the POPUP_FOR relationship to the relative-to widget,
and keeps track of changes there.

https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:02:14 +01:00
Carlos Garnacho
168e4faf50 window: Emit a11y signals directly on popover added/removed
As those are internal children, there's no signal that GtkWindowAccessible
could catch when those are added or removed, so make GtkWindow use the private
GtkContainerAccessible methods to add/remove the child accessible when that
happens.

https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:02:06 +01:00
Carlos Garnacho
d4d6968e1a a11y: Add private GtkContainerAccessible functions to add/remove a child
This may be useful in container implementations, or for internal children
that trigger no signal emission.

https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:01:59 +01:00
Carlos Garnacho
9d54fee952 a11y: Make GtkWindowAccessible know about popovers
https://bugzilla.gnome.org/show_bug.cgi?id=725864
2014-03-10 23:01:52 +01:00
Jasper St. Pierre
fb51bbc565 wayland: Clean up a bit 2014-03-10 13:40:04 -04:00
Jasper St. Pierre
05b8609f80 wayland: Move some code around 2014-03-10 13:40:04 -04:00
Jasper St. Pierre
c92a16fcf5 wayland: Fix submenu positioning
window->x / window->y are in "root window coordinates", e.g. relative
to the topmost toplevel. However, the coordinates in get_xdg_popup are
relative to the passed-in surface, so we need to do the reverse
translation here.
2014-03-10 13:40:04 -04:00
Matthias Clasen
f712cd8850 message dialog: Fine-tune vertical spacing
Requested in
https://bugzilla.gnome.org/show_bug.cgi?id=723668
2014-03-10 06:13:38 -04:00
Phillip Wood
5aa00e4f66 gtk3-demo: run button should be able to focus.
https://bugzilla.gnome.org/show_bug.cgi?id=725141
2014-03-09 20:26:55 -04:00
Phillip Wood
beaba95f39 Window: Focus custom titlebar with F10
As discussed on desktop-devel-list [1], "There should be an intuitive,
consistent, immediate way to jump to the widgets that live in the
header bar." F10 has been suggested for this as it is already used to
active menubars.

F10 will focus the custom titlebar widget if the window has one and it
isn't already focused. If the titlebar widget doesn't exist or is
already focused then F10 focuses the menubar if there is one.

[1] https://mail.gnome.org/archives/desktop-devel-list/2014-February/msg00176.html

https://bugzilla.gnome.org/show_bug.cgi?id=725141
2014-03-09 20:26:54 -04:00
Chao-Hsiung Liao
0da3fc8b56 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-03-09 12:55:17 +08:00
Rūdolfs Mazurs
463714383a Updated Latvian translation 2014-03-08 19:09:20 +02:00
Rūdolfs Mazurs
3bbbea5a08 Updated Latvian translation 2014-03-08 16:19:11 +02:00
Wylmer Wang
9ce6f95b6e Updated Chinese (China) translation 2014-03-08 13:18:19 +00:00
Wylmer Wang
4768bf8a3b Updated Chinese (China) translation 2014-03-08 13:16:19 +00:00
A S Alam
9239b8a8e3 update Punjabi Translation 07March2014: Alam 2014-03-07 20:43:50 -06:00
Changwoo Ryu
a624a62f8d Updated Korean translation 2014-03-08 00:46:58 +09:00
Carlos Garnacho
59a928f7c8 window: Turn popovers into internal children
It turns out popovers are already smart enough to cope with this
situation, so let popovers be internal children so things that rely
on gtk_container_forall(), like DnD, work without modifications.

https://bugzilla.gnome.org/show_bug.cgi?id=725727
2014-03-06 23:21:43 -05:00
Owen W. Taylor
99ac2f5c49 Fix font size when gdk_x11_display_set_window_scale() is used
We have a hack in the XSETTINGS code to substitute gtk-xft-dpi
with gdk-unscaled-dpi unless the screen has a fixed window scale,
in which case we just use gtk-xft-dpi.

But if the screen is changed to have a fixed window scale, then
the substituted value of gdk-unscaled-dpi will stick around until
the next (coincidental) change to XSETTINGS. To fix this, force
an immediate reread of the XSETTINGS property when
gdk_x11_display_set_window_scale() is used.

https://bugzilla.gnome.org/show_bug.cgi?id=725754
2014-03-06 23:20:00 -05:00
Carlos Garnacho
43b0eee81d entry: Make DnD coordinate calculation compensate for entry icons
This made DnD have effect farther on the left when dragging text over
any entry with icons in it.

https://bugzilla.gnome.org/show_bug.cgi?id=725866
2014-03-06 22:54:46 -05:00
Carlos Garnacho
adf39dd291 entry: use priv->dnd_position when rendering the DND cursor
This makes "cursor position" track the DnD point again, looks much
more intuitive than just rendering it on the pre-DnD position.

https://bugzilla.gnome.org/show_bug.cgi?id=725866
2014-03-06 22:54:46 -05:00
Matthias Clasen
8195244e3b Improve GtkStack documentation
As has been pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=725711
it is a little confusing that we have the concept of
a visible child and of the child being visible itself.
2014-03-06 22:50:40 -05:00
Carlos Garnacho
dc26dfd0c2 tests: fix testcalendar
Missing argument in gtk_style_context_get(), fooled by varargs.
2014-03-07 02:50:27 +01:00
Carlos Garnacho
efb4f2db50 calendar: grab focus first, emit signals after
It may be unusual, but handlers of day-selected may want to transfer
focus somewhere else, without getting it reset back right after by/to
the calendar. This makes popovers demo work on the calendar again, for
one...
2014-03-07 02:50:27 +01:00
Matthias Clasen
15004e5930 Allow selecting a dark variant with GTK_THEME
Dark themes need to be debugged, too.

Author:    Matthias Clasen <mclasen@redhat.com>
2014-03-06 19:30:33 -05:00
Carlos Garnacho
43e8852829 popover: Track toplevel's focus widget when visible
If the toplevel focus widget is forced out of the popover (eg. through
gtk_widget_grab_focus() anywhere else), then dismiss the popover.
2014-03-06 23:23:47 +01:00
Carlos Garnacho
dcba77fcc4 popover: Track toplevel focus changes
Make the popover temporarily undo the GTK+ grab, so it remains modal
to its window, but does not attempt to steal focus on other non-modal
windows that get the focus.

This was most confusing with keyboard navigation, as the focus would
remain stuck on the popover, and not move to the newly focused window
after the popover was dismissed. It didn't have as much effect on
pointer operations as only the first click would be consumed in order
to hide the popover.
2014-03-06 23:23:47 +01:00
Carlos Garnacho
08e9c93b17 popover: Only give back focus to drawable widgets
If the previous focus widget is not drawable anymore, don't even
bother in transmitting the focus grab to it.
2014-03-06 20:38:11 +01:00
Carlos Garnacho
aa7e00fcb8 popover: dispose popovers when unmanaging them
This makes popovers get rid of dangling pointers at the time of destroying
the relative-to widget, just in case these are kept alive by a reference.
2014-03-06 19:34:06 +01:00
Claudio Saavedra
578d43c2ba gtkentrycompletion: fix a critical warning
There are early returns in this method before the completion timeout
is set later on, so set the source to 0 to avoid trying to remove it
later again.

https://bugzilla.gnome.org/show_bug.cgi?id=725824
2014-03-06 16:38:52 +02:00
Rafael Ferreira
836326bdc1 Updated Brazilian Portuguese translation 2014-03-06 10:03:41 +00:00
Lars Uebernickel
a5d5106fcf gtkmenu: displace popups by their css margin
Without a margin, the pointer is above the first (or last) menu item,
making it easy to accidentally activate that item.

https://bugzilla.gnome.org/show_bug.cgi?id=591258
2014-03-06 10:44:28 +01:00
Marek Kasik
158cb29e55 GtkIconViewAccessible: Don't access freed item
Don't get index from deleted GtkIconViewItem.
Remove the item before traversing list of items.

https://bugzilla.gnome.org/show_bug.cgi?id=701884
2014-03-05 21:03:36 +01:00
Benjamin Otte
01fe1282fc reftests: Remove unused argument from function 2014-03-05 21:03:36 +01:00
Benjamin Otte
25da672dbc separatortoolitem: Make gcc stop complaining
No, a ButtonEvent and a MotionEvent are not the same thing.
2014-03-05 21:03:36 +01:00
Benjamin Otte
32a420b7d6 broadway: Print a useful error message
.. instead of the generic "failed to open display".
2014-03-05 21:03:36 +01:00
Kjartan Maraas
936675aa01 Updated Norwegian bokmål translation 2014-03-05 18:27:25 +01:00
Kjartan Maraas
96a69ce35e Updated Norwegian bokmål translation 2014-03-05 18:26:56 +01:00
Daniel Mustieles
129dad6730 Updated Spanish translation 2014-03-05 16:40:04 +01:00
Daniel Mustieles
b5f38a6726 Updated Spanish translation 2014-03-05 16:39:52 +01:00
Carlos Garnacho
5b1eeac96d popover: Set pointer motion mask on the popover window
This is not necessary for the popover itself, but helps tooltips
code confine the widget lookup within the popover if the pointer
is inside it, otherwise the widget lookup may turn out wrong for
motion events, starting the tooltip widget lookup from the toplevel
window, mistakenly triggering tooltips on the natural window
descendants (ie. the widget below the popover)

https://bugzilla.gnome.org/show_bug.cgi?id=724785
2014-03-05 13:58:04 +01:00
Cosimo Cecchi
faba7df4fe icontheme: support emblems in symbolic icons
We were failing to apply emblems in the symbolic icons code path.

https://bugzilla.gnome.org/show_bug.cgi?id=725683
2014-03-04 17:38:32 -08:00
Chao-Hsiung Liao
dab597d66e Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-03-04 20:17:10 +08:00
Matthias Clasen
868974dbf6 Bump version 2014-03-04 00:19:56 -05:00
Matthias Clasen
21c3c8ee63 3.11.8 2014-03-03 23:37:53 -05:00
Matthias Clasen
cabf0badfa Update messagedialog a11y test 2014-03-03 23:37:53 -05:00
Matthias Clasen
8520282f75 Fix up builder test
Dialogs now report two children. Thats alright, adapt
the test to deal with it.
2014-03-03 23:31:48 -05:00
Matthias Clasen
2ffeb591b1 Fix up signal deprecation 2014-03-03 23:31:48 -05:00
Matthias Clasen
7fae042208 Deprecate GdkEventVisibility and ::visibility-notify-event
These don't really work anymore in a composited world.
Lets make it official.
https://bugzilla.gnome.org/show_bug.cgi?id=481073
2014-03-03 21:39:03 -05:00
Matthias Clasen
fac8d6deea Allow applications to use gtk-menu-bar-accel in 3.12
gnome-terminal is still using this setting, so we'll let
applications override it for another cycle. It is no longer
backed by a system-wide setting, though, and it will still
go away eventually.

This partically reverts b26c74e5da
2014-03-03 18:58:36 -05:00
Matthias Clasen
ba0542dc51 Allow applications to use gtk-enable-mnemonics in 3.12
gnome-terminal is still using this setting, so we'll let
applications override it for another cycle. It is no longer
backed by a system-wide setting, though, and it will still
go away eventually.

This partically reverts 7e3a494fac
2014-03-03 18:58:26 -05:00
Phillip Wood
c3945d506d GtkTreeView documentation fixes
Add documentation for GtkTreeView::move-cursor

Add links to GtkTreeModel::row-inserted and GtkTreeModel::row-deleted
in the documentation for gtk_tree_view_set_reorderable ().

https://bugzilla.gnome.org/show_bug.cgi?id=725560
2014-03-03 18:21:00 -05:00
Matthias Clasen
db9a6f8caf Some more doc rewording 2014-03-03 18:13:24 -05:00
Phillip Wood
857e774a34 Fix typo in gtk_window_set_default() documentation
The documentation should link to gtk_widget_grab_default() rather than
gtk_widget_grab_focus().

https://bugzilla.gnome.org/show_bug.cgi?id=725559
2014-03-03 18:12:25 -05:00
Matthias Clasen
07fc894020 GtkRange: make autoscrolling work for inverted ranges
This problem was discovered in
https://bugzilla.gnome.org/show_bug.cgi?id=725225
2014-03-03 17:49:38 -05:00
Christoph Reiter
f0e6eb3ce0 treeselection docs: spelling fix
https://bugzilla.gnome.org/show_bug.cgi?id=725205
2014-03-03 17:35:10 -05:00
William Jon McCann
322f6c740f dialogs: always use CSD on dialogs
If we aren't using a header bar then put a fake titlebar
box on it so we can round the corners.

One of the advantages of this is so that the styling of the dialog
is completely within one theme framework. This prevents skew between
the theming expectations from the window manager and GTK+.

https://bugzilla.gnome.org/show_bug.cgi?id=725345
2014-03-03 15:00:13 -05:00
Fran Diéguez
9ce98deb25 Updated GAlician translations 2014-03-03 17:32:05 +01:00
Fran Diéguez
1a44c00525 Updated Galician translations 2014-03-03 17:26:41 +01:00
Matthias Clasen
441d8f6858 testdialogs: Add message dialog examples
Related to
https://bugzilla.gnome.org/show_bug.cgi?id=723668
2014-03-03 07:18:39 -05:00
William Jon McCann
77fced56fc file-chooser: emit selection-changed when location entry changes too
https://bugzilla.gnome.org/show_bug.cgi?id=547988
2014-03-03 06:10:03 -05:00
Matthias Clasen
83dee19d93 Revert "GtkEntryCompletion: call setter for "text-column""
This reverts commit 9761a966d8.
2014-03-03 06:03:20 -05:00
Matthias Clasen
04bed9f84a Revert "gtk_entry_completion_set_text_column: reuse old renderer"
This reverts commit f6a0debdd9.
2014-03-03 06:03:20 -05:00
Matthias Clasen
8315dff0b0 Revert "GtkEntryCompletion: call cell_area()->clear()"
This reverts commit 3c28297134.
2014-03-03 06:03:19 -05:00
Matthias Clasen
c243ad8f49 Revert "gtk_entry_completion_get_cells: revert returning NULL"
This reverts commit a9a6fb045a.
2014-03-03 06:03:19 -05:00
Matthias Clasen
ab69814b5d Revert "GtkEntryCompletion: fix warning"
This reverts commit 2f0c610c35.
2014-03-03 06:03:18 -05:00
Theppitak Karoonboonyanan
13fc06d74a Updated Thai translation 2014-03-03 18:02:15 +07:00
Rico Tzschichholz
239903d2f1 printbackends: Fix make dist 2014-03-03 07:33:53 +01:00
Piotr Drąg
428215f5df Updated Polish translation 2014-03-03 00:45:41 +01:00
Aurimas Černius
b8d0a1e0c0 Updated Lithuanian translation 2014-03-02 20:05:19 +02:00
Andrés G. Aragoneses
596364e9fc trivial: fix typo in docs of gtk_css_provider_to_string 2014-03-02 12:09:48 +01:00
Andrés G. Aragoneses
e16f8f2182 autogen.sh: fail faster/clearer if g-i not found
GOBJECT_INTROSPECTION_CHECK macro can be missing if introspection
is not installed, so this way the following error is prevented:

"gtk/Makefile.am:1324: error: HAVE_INTROSPECTION does not appear
in AM_CONDITIONAL"

https://bugzilla.gnome.org/show_bug.cgi?id=723438
2014-03-02 09:51:47 +01:00
Andrés G. Aragoneses
cf6c277d49 trivial: fix typo in docs of gtk_css_provider_to_string 2014-03-02 09:47:31 +01:00
Baurzhan Muftakhidinov
2132215afb Updated Kazakh translation 2014-03-02 03:58:08 +00:00
Yosef Or Boczko
691fbc9dd1 Updated Hebrew properties translation 2014-03-02 01:17:40 +02:00
Yosef Or Boczko
f5e1d9cd67 Updated Hebrew translation 2014-03-02 01:17:36 +02:00
Rafael Ferreira
0dedbccd27 Updated Brazilian Portuguese translation 2014-02-28 15:14:33 +00:00
Piotr Drąg
278d75537f Updated POTFILES.in and POTFILES.skip 2014-02-28 15:28:39 +01:00
Tim Waugh
aaae0ca8ba New cloudprint GTK+ print module for Google Cloud Print.
This is a web service provided by Google that allows people to
share their printers (https://www.google.com/cloudprint/learn/).

In addition to being able to print to printers shared on Google Cloud
Print, there is an equivalent of "Print to file" in the form of "Save to
Google Drive".

The cloudprint module uses gnome-online-accounts to obtain the OAuth 2.0
access token for the Google account.

Currently it can discover available printers, get simple details about
them such as display name and status, and submit jobs without any
special options.

https://bugzilla.gnome.org/show_bug.cgi?id=723368
2014-02-28 11:45:03 +01:00
Benjamin Otte
e9aa5a9822 gdkwindow: Call function instead of copying its code
gdk_window_get_origin() is just a variant of
gdk_window_get_root_coords() after all.
2014-02-28 03:09:23 +01:00
Benjamin Otte
2dd3226c67 reftests: Add a test for a widget stacking regression
GTK 3.10 fails to obey the stacking order when drawing widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=725089
2014-02-28 03:08:11 +01:00
Benjamin Otte
e2a83cae0f fixed: Fix drawing order
Restore the drawing order in GtkFixed to what it was in 3.8. With the
GDK drawing changes this will not be correct in some cases (un-windowed
children can now overlap windowed children and native children overlap
everything), but fixes Eclipse drawing.

https://bugzilla.gnome.org/show_bug.cgi?id=725089
2014-02-28 03:08:11 +01:00
Jasper St. Pierre
0f212b5fb7 gdkwindow: Always pass the impl window to GdkWindowImpl::get_root_coords
The point of GdkWindowImpl::get_root_coords is to translate the passed
in coordinates against the passed-in impl window. For a child window,
in fact, window->abs_x and window->abs_y already track the child
window's coordinates against the impl window.

If we pass in a child window, and backends don't explicitly get the impl
window from it, we'll double-count the child window.

Really, we should *always* be passing impl windows to backends, and
never child windows. However, I'm a bit worried for regressions late
in the cycle if we want to fix up the rest of the callers, like
gdk_window_get_geometry, so I'm only going to touch get_root_coords
for now after careful review of all the backends.
2014-02-27 21:06:35 -05:00
Jasper St. Pierre
b922e0e213 Remove the return value of GdkWindowImpl::get_root_coords
It's unused by callers, and the historical return values are
undocumented, so just remove it now.
2014-02-27 21:06:35 -05:00
Jasper St. Pierre
056ca21e2f wayland: Seal up a non-declared public member 2014-02-27 17:33:09 -05:00
Jasper St. Pierre
7d67530982 wayland: Remove old, outdated comment 2014-02-27 17:00:56 -05:00
Jasper St. Pierre
08d0bedb28 wayland: Fix margins at startup
GtkWindow calls set_shadow_width then maps the window, meaning
that we never set the margin. Save it when we set and then set
it when we create the XDG surface.
2014-02-27 16:55:02 -05:00
Rafael Ferreira
31c259d0cb Updated Brazilian Portuguese translation 2014-02-27 16:16:30 +00:00
William Jon McCann
2cc1bf4edf dialog: remove suggested action class when changing default action
So that we don't have multiple widgets with the style class set
to suggested-action.
2014-02-27 09:09:28 -05:00
William Jon McCann
fb8f36f34d dialog: set suggested-action even on dialogs without header bars
It is up to the theme whether these should be styled.
2014-02-27 09:08:53 -05:00
William Jon McCann
905a6aa2e8 about-dialog: link directly to the 3.0 version of GPL licenses
In the unlikely case that there is another GPL released in the future
it would be best if we link directly to the 3.0 version of the
license description instead of the alias to the latest
version.
2014-02-27 08:12:56 -05:00
William Jon McCann
cbbc5d474a widget-factory: add entry progress modes 2014-02-26 11:16:06 -05:00
William Jon McCann
abe9ce45f3 docs: fix headerbar screenshot 2014-02-25 20:41:36 -05:00
Benjamin Otte
af4b26f581 a11y: Fix refcounting for treeview cells
Old code assumed that AT-SPI would keep track of references and
therefore tried to only hold weak references. On the other hand it also
tried to keep objects alive so it referenced objects very randomly. All
of that lead to cycles and leaking.

As AT-SPI does not keep track of objects at all, the treeview now does.
The refcounting looks as follows:
GtkTreeViewAccessible
  => creates per row/column
GtkTreeViewAccessibleCellInfo
  => which references 1
GtkCellAccessible

If there is only one cell, this accessible is a
GtkRendererCellAccessible, otherwise a GtkContainerCellAccessible is
created and that accessible holds references to the
GtkRendererCellAccessibles that are created for every cell renderer.

https://bugzilla.gnome.org/show_bug.cgi?id=554618
2014-02-26 02:36:08 +01:00
Benjamin Otte
bcdb4aa2a7 a11y: Refactor function
Make the intent of the function clear by implementing it that way.
2014-02-26 02:36:08 +01:00
Benjamin Otte
5ea4dbf3e0 a11y: Split out a function
This will make the next refactoring easier.
2014-02-26 02:36:08 +01:00
Benjamin Otte
70ff97e812 a11y: Remove unused variable 2014-02-26 02:36:08 +01:00
Benjamin Otte
2fdd420e78 a11y: Use more obvious function name 2014-02-26 02:36:07 +01:00
Benjamin Otte
f60bb84d15 a11y: Split out creation of cell info
Don't mix cell info creation with cell accessible creation. Instead,
first create the accessible, then create the cell info.
2014-02-26 02:36:07 +01:00
Benjamin Otte
43fe3c499c a11y: Split out a function
First in a set of refactorings to make the create_cell() function
actually understandable.
2014-02-26 02:36:07 +01:00
Giovanni Campagna
ad2f96ff48 Gdk: fix wrong user_data handling in resize_cairo_surface()
Instead of destroying the surface in the backend if this is
unable to resize, let the core code do it, and do it properly.

Based on a patch by Benjamin Otte.

https://bugzilla.gnome.org/show_bug.cgi?id=725172
2014-02-26 00:04:41 +01:00
Giovanni Campagna
d5196ded2f pixbuf-demo: don't lock the window size
What's the use of an animation demo, if you can interactively
resize it and show off how cool is your window system handling
updates?

https://bugzilla.gnome.org/show_bug.cgi?id=725172
2014-02-26 00:04:41 +01:00
Chun-wei Fan
dba7a676b4 MSVC Builds: Update Introspection Build Process
GObject-Introspection was recently changed to support acquiring the name of
the DLL from a library (.lib, etc) that was passed into g-ir-scanner on
Windows, like the *nix builds, instead of directly passing in the name of
the DLL.

This updates the introspection build process, so that introspection files
for GTK+ can continue to be properly built.
2014-02-25 13:32:13 +08:00
2073 changed files with 262580 additions and 245520 deletions

View File

@@ -1,7 +1,7 @@
## Makefile.am for GTK+
include $(top_srcdir)/Makefile.decl
SRC_SUBDIRS = gdk gtk libgail-util modules demos tests testsuite examples
SRC_SUBDIRS = util gdk gtk libgail-util modules demos tests testsuite examples
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
@@ -9,7 +9,6 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
EXTRA_DIST += \
autogen.sh \
HACKING \
makecopyright \
NEWS.pre-1-0 \
README.commits \
README.win32 \
@@ -24,6 +23,7 @@ MAINTAINERCLEANFILES = \
$(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
$(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) \
$(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \
$(srcdir)/m4/gtk-doc.m4 \
$(srcdir)/INSTALL \
$(srcdir)/README \
$(srcdir)/omf.make \
@@ -97,36 +97,15 @@ dist-hook:
&& cp INSTALL README $(distdir) ; \
fi
.PHONY: files release sanity snapshot ChangeLog
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
@for subdir in $(SUBDIRS); do \
files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
for file in $$files; do \
echo $$subdir/$$file; \
done; \
done
release:
rm -rf .deps */.deps
$(MAKE) distcheck
sanity:
./sanity_check $(VERSION)
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
.PHONY: ChangeLog
DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--enable-man \
--disable-rebuilds \
--disable-maintainer-mode \
--enable-introspection
--enable-gtk-doc \
--disable-doc-cross-references \
--enable-man \
--disable-maintainer-mode \
--enable-introspection \
--enable-installed-tests
GITIGNOREFILES = \
po-properties/Makefile.in.in \

View File

@@ -26,6 +26,10 @@ SKIP_GDKTARGET = \
echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
endif
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
XVFB_START = \
${XVFB} -help 2>/dev/null 1>&2 \
&& XID=`for id in $(XIDS) ; do test -e /tmp/.X$$id-lock || { echo $$id; exit 0; }; done; exit 1` \

882
NEWS
View File

@@ -1,3 +1,885 @@
Overview of Changes in GTK+ 3.14.0 to 3.14.1
============================================
* Bugs fixed:
635258 Possible type to symbol translation bug
654051 Special GtkToolbar style when in fullscreen mode to respect...
708206 GtkBuilder throws GVariantParse errors instead of the GtkBu...
719936 GtkFontButton: Make sure the dialog isn't destroyed on dele...
729782 Window "disappears" when middle clicking client side decora...
734879 gdk_test_simulate_key() has no implementation on win32
735054 gtkapplication-quartz-menu unconditionally uses 10.7 features
735338 The inspector sometimes doesn't show up
735749 gnome-software: Can't switch between screenshots
736193 changing a GtkPopover's relative widget seems to forcibly d...
736338 GTK+ reftests can't be built on W32
736557 inspector: Show hidden windows in the inspector
736702 GtkWindow event special logic ignores subclass handlers
736830 GtkVolumeButton reaction inverted on scrolling action when ...
736971 GtkSettings: Add a private getter for the source
737251 drop down menus are always scrollable in full screen mode
737297 Gtk buttons don't work with touch anymore
737363 testgtk.c fails to compile when building for Wayland
737386 dark adwaita's -GtkWidget-link-color is unreadable on gray ...
737439 Plug memory leak in gtk_test_find_label()
737517 no border around progress bar
* Translation updates:
Brazilian Portuguese
Czech
French
Galician
German
Greek
Hebrew
Hindi
Hungarian
Indonesian
Kannada
Latvian
Polish
Russian
Scottish Gaelic
Serbian
Spanish
Tamil
Telugu
Overview of Changes in GTK+ 3.13.9 to 3.14.0
============================================
* GtkMisc::xalign has been undeprecated for now, it is still needed
* GtkIconView
- Always draw cell background
- Fix handling of prelight items
* GtkWindow
- Fix growing nautilus windows
* Bugs fixed:
736338 GTK+ reftests can't be built on W32
736622 Better mark GtkAlignment as deprecated
736927 Reference documentation refers to GTK 2
737000 Some icon themes broken on 3.13.92
737026 gtkinspector crashes app when selecting 'cancel' on initial prompt
737027 gtkinspector doesn't run if custom GSETTINGS_SCHEMA_DIR specified
* Translation updates:
Bengali (India)
Catalan
Catalan (Valencian)
Danish
German
Greek
Hebrew
Hindi
Hungarian
Marathi
Russian
Slovak
Swedish
Overview of Changes in GTK+ 3.13.8 to 3.13.9
============================================
* Adwaita:
- Use sass functions more
- Theme .app-notification instead of .app-notification.frame
- Lots of button fine-tuning
- Avoid double background rendering in tooltips
* Inspector:
- Show widget allocations
- Show hidden windows
- Fix initial state of dark switch
* Bug fixes:
328449 selecting selectable ellipsized GtkLabel labels is (slightly) broken
528800 Widget Gallery has non-intuitive Image for GtkTreeView
579625 Cancel button on Gtk.Assistant should have Esc as accelerator
668258 Topic ellipsis acts as a link when omitted text contains a link
698031 Cannot link libgdk (-lrt required)
732916 treeview: column drop target visualization broken
735240 Labels in list rows don't get their dim-label class applied until...
735953 GtkPlacesSidebar blocks on g_file_query_info()
735959 osd progressbar gap
735965 rubberband selection broken
736004 touch support for icon activation
736056 GtkFontChooserButton's contents are not baseline aligned
736064 Openbox title bar strange behaviour
736121 gdk smooth scroll event unit inconsistencies between backends
736131 tooltip: Fix warning with GtkCellRendererAccel
736155 gtk_window_draw draws background twice and breaks with translucent...
736173 a program clashes when drag-and-drop items in a GtkRecentChooserWidget
736178 gtk_tree_view_scroll_to_cell() only works the first time
736191 Inspector could show widget allocation
736201 g_object_weak_unref assertion failures when closing the inspector
736203 [regression] GtkCellRendererAccel doesn't work in modal dialogues
736205 GtkMenuButton with popover breaks with GtkApplicationWindow's buil...
736250 Need to sort gtk_compose_seqs_compact[] table in the descending order
736269 GTK crashes when gdk_window_get_root_coords() is called on a forei...
736307 GtkStackSwitcher doesn't like removing children from stack
736512 Segfault in GtkPlacesSidebar when used with Nautilus
736535 Vertical alignment of text labels is off
736557 inspector: Show hidden windows in the inspector
* Translation updates:
Assamese
Brazilian Portuguese
Czech
Finnish
French
Galician
German
Greek
Gujarati
Hebrew
Indonesian
Kannada
Korean
Latvian
Lithuanian
Korean
Polish
Punjabi
Russian
Spanish
Swedish
Traditional Chinese
Overview of Changes in GTK+ 3.13.7 to 3.13.8
============================================
* Wayland:
- Implement Drag-and-Drop
- Use subsurfaces for entry completion popups
- Use subsurfaces for tooltips
* Bugs fixed:
156164 Fix _gtk_text_buffer_get_line_log_attrs for last line
346886 GtkTreeModelFilter doesn't allow multiple calls to set_visible_func
415415 tree lines drawn in black
602443 Can't use .glade with GtkListStore, gint64/guint64 and design-time data
641638 Remove AM_PATH_GTK_3_0 macro
658722 Drag and Drop sometimes stops working
674264 Credentials from gnome-keyring is not used while printing
680067 Credits in About dialog don't support https
695504 gtk-demo: entry completion doesn't work
697855 Implement DnD in wayland
720269 ScaleButton: scrolling on the button doesn't do anything
729215 Please implement Wayland subsurfaces
731380 gtk3-demo button box works badly with a touch screen under wayland
733967 provide proper pseudostates for radios and checkboxes
734290 Checkbox inconsistency / usability issues in gtk3-3.13.5-2
734374 wl_touch serials are ignored
734753 Path bar - buttons don't have enough padding
734961 GtkAboutDialog uses deprecated property
735012 Toolbars take too much space
735014 GtkPopover smart positioning broken in RTL
735034 application_get_menu_by_id should either ref or be transfer none
735119 inconsistent order of close/help buttons
735223 Touch scrolling invalidates more than intended
735226 Avoid NULL surface access if a window is shown/hidden within a frame
735253 GTK+ requires symbols not available in specified gdk-pixbuf version
735294 No widgets visible in simple applications with gtk+ 3.13.3 and later
735300 clicking on Actions tab in inspector causes abort
735301 Duplication of words in comments (for for, the the)
735310 GtkLabel selection background missing with Adwaita
735321 Get the default gkt-font-name font size from user font
735337 Crash in inspector, in the CSS editor
735353 GtkTreeView::row-activated not emitted sometimes
735368 try to tidy up the TextView background rendering
735389 client crashes if it gets an invalid keymap from the compositor
735401 make check fails on 3.13.7 without --enable-installed-tests
735428 gtk_main() tries to unlock an unlocked mutex
735531 Make tooltips use subsurfaces on wayland
735545 MenuButton: dismiss menu/popover when toggling programmatically
735593 Implement CSS font-stretch property
735830 Pixmap based cursors get surface destroyed after first use
735831 Change current cursor on grabs
* Translation updates:
Assamese
Finnish
Greek
Hebrew
Japanese
Overview of Changes in GTK+ 3.13.6 to 3.13.7
============================================
* To align better with css, button and menuitem subclasses now use a
:checked state to indicate their checkedness, instead of :active or
:selected.
* Deprecations: GtkStatusIcon, GtkThemingEngine
* Bugs fixed:
724281 Statusbar displays removed message
731013 Cross-compilation from Linux to Windows broken...
731443 GtkPlacesSidebar - refine spacing
734143 Cannot drag files from the filechooser anymore
734357 GtkListBox doesn't get events delivered for GtkStack children
734420 BroadwayServer support for unix socket listening
734614 Undo buttons in application notifications are too tall
734641 gdk_window_set_device_events() does not change the event mask...
734649 Only notify 'adjustment' if the property changed
734651 Resizing gtk3-iconbrowser is super slow
734660 Always emit value-changed when the adjustment is changed
734668 Properly handle alpha in fg color when rendering symbolic icons
734709 GtkListBoxRow should also set its clip
734735 GCC warns about unused things when building GTK+ on W32
734736 GCC warns about wront format strings when building GTK+ on W32
734737 GCC warns about various things when building GTK+ on W32
734778 Object leaks in broadway_server_new() constructor
570414 Disable font fallback in the font dialog preview panel
665711 Font size cannot be changed to floating point / non-integer...
724996 Font Button too many decimal places
733832 Improve fontchooser widgets display text
733967 provide proper pseudostates for radios and checkboxes
734738 Possible bug in W32 input grabbing
734826 Deprecate GtkStatusIcon
* Translation updates:
Greek
Overview of Changes in GTK+ 3.13.5 to 3.13.6
============================================
* Theme
- Many Adwaita improvements in details
- Much faster blur implementation for shadows
- Support symbolic, recolorable pngs
* GtkFileChooser
- Fix editing of bookmarks
- Use symbolic icons in the path bar
* GtkTextView
- Add a vfunc to allow subclasses to draw above/below text
* GtkImage
- Support scale factor when loading from resources
* Inspector
- Show some widget states and buildable ids
- Add GtkTreeSelection to object tree
* Wayland
- Support newer protocol versions
* Windows:
- Fix handling of input shapes
- Support font scaling
- Dialog theming fixes
- Several crash fixes
* Bugs fixed:
624791 GtkTextBuffer doesn't emit signal "notify" on change of property "text"
638709 utf8_strrcasestr in GtkTextIter makes an invalid read
641638 Avoid pkg-config --atleast-version
705054 Embed manifest into gtk-update-icon-cache.exe
715176 object:state-changed:focused event missing when a text widget regains...
721367 Add gtk_application_get_actions_for_accel()
726224 W32: GDK tries to set GWLP_HWNDPARENT to NULL when it's NULL already
729140 popovers can't always track the widget
729636 Only show title button separator when there is something to separate...
729809 listbox: Add missing ::row-selected emissions
729924 Crash while trying to print
730450 Support non-svg symbolic icons
732137 Fix building quartz backend
733312 Deprecate GtkTreeView:rules-hint
733406 gtk_text_view_scroll_mark_onscreen() not working any more
733416 image: support scale factor when loading from GResource
733610 g_object_unref exceptions using GtkNotebook
733671 W32: Non-CSDed windows have unthemed titlebar
733679 GDK does not handle WM_NCHITTEST
733766 W32: gedit crashes when closing a print dialogue
733767 GtkPrintOperation does not keep itself alive through callbacks
733768 W32: Widgets can't be embedded into foreign windows
733769 W32: Critical error when GTK tries to set opacity for embedded windows
733773 GTK implicitly uses native W32 widgets in some cases, but lacks ICC...
733782 GtkListBoxRowAccessible expects the parent to be a GtkListBox
733923 gtk_widget_get_accessible() fails for an unparented GtkPopover
733925 GtkApplication: load gtk/menus-common.ui resource
733965 Add a way to debug GActions
733979 Combobox is styled like the last child if linked class applied, even...
734033 Avoid initial keyboard focus heuristic selecting labels
734038 GTK does not respect system font scaling
734053 gtkcairoblur: Replace our exponential blur with the box blur from mutter
734129 Popover sometimes fails to get raised above contents
734213 GtkSwitch showing up with "mixed" state when setting it active before...
734292 drag: add missing introspection annotations
734485 Switches are too big, glow effect makes it hard to read "ON"
734526 GtkToolbar: Implement clip
* Translation updates:
Arabic
Basque
Brazilian Portuguese
Greek
Lithuanian
Slovenian
Spanish
Overview of Changes in GTK+ 3.13.4 to 3.13.5
============================================
* Adwaita:
- Many improvements in details
- Style .needs-attention in GtkStackSwitcher
* CSS:
- Selectors can now match state pseudo classes on
all elements
* GtkListBox:
- Rows now have a selectable property and will be
styled accordingly
* Inspector:
- Add an easy way to change the font
- Show widget state and other misc. info
* Wayland:
- Fix repaint artifacts
- Update xdg-shell
* Windows:
- Fix icon theme loading
* Bugs fxed:
591258 Easy to accidentally select first option in popup menus
618852 gtk_text_iter_forward_visible_cursor_position does not move...
707153 Add style for stack switcher items with the needs-attention...
731582 Please use AC_PATH_TOOL to improve cross-compile & multilib...
733099 Regression: gtk_window_set_title() no longer sets header ba...
733174 Missing documentation for GtkSpinButton::change-value and ...
733189 Careless URI construction in GTK+
733321 Tooltips disappear when a new GtkMenu is created
733360 GtkSwitch: css, make box-shadow outsets work for the switch...
733361 GtkProgressBar: css, make box-shadow outsets work for the p...
733407 GtkTextView: use GSlice
733431 Regression: Button not added to action area of dialog
733441 do not mention GtkArrow in the GtkMenuButton docs
* Translation updates:
Greek
Overview of Changes in GTK+ 3.13.3 to 3.13.4
============================================
* Theming:
- Adwaita is much more complete
- Shadows, reliefs and frames in GtkScrolledWindow, GtkViewport,
GtkButton, GtkEntry, GtkFrame, etc are now translated to style
classes and themed
* GtkApplication:
- gtk_application_prefers_app_menu is a new function to facility
adapting UIs to platform expectations
- GtkApplication now tries to load menus from resources in the
resource path that is defined by GApplication
- GtkApplication set up a resource path for loading icons as well
* GtkScrolledWindow:
- Scrolling in response to user input (scrollbar clicks, keynav)
is now animated
- The displacement animation has been replaced edge gradients
* GtkScaleButton:
- The orientation is now changed on the fly to make the popup
fit into small windows
* GtkEntry:
- Activity mode progress is now smooth
* Client-side decorations
- The default button layout includes minimize and maximize again
- Dialogs are no longer using client-side decorations when
use-header-bar is unset
* GTK+ now ships a simple icon theme browser, gtk3-icon-browser
* GtkInspector:
- Can change hi-dpi scale on the fly
- Can simulate touchscreen at runtime
- Shows style properties
- Ctrl-Shift-I selects the widget under the pointer
- Property editors show property and settings bindings
* Wayland:
- Always use CSD under Wayland
- Avoid a crash on pointer-less systems
- Context menus work now
* Deprecations, removals:
- GtkWindow no longer supports resize grips
- builtin icons have been deprecated in favor of loading icons
from resources
* Bugs fixed:
484640 Improve double click handling in GtkIconView
618852 gtk_text_iter_forward_visible_cursor_position does not move to end...
629129 gtk_text_iter_forward_visible_cursor_position is VERY slow
672676 evince doesn't permit to print more than 100 copies at once
680885 GtkColorButton color swatch suboptimal when color ~= background color
710449 Invalid memory access in "gdk_x11_window_set_opacity" on 64bit pla...
722092 Add GtkApplication resources support
722633 Remove separators from font chooser and file chooser
724084 Provide .error .warning .question classes for GtkEntry (not legibl...
726566 GtkEntryCompletion should emit signal for "no-suggestions" case.
729620 De-uglify GtkCalendar
730730 scrolling is broken when sharing adjustments
730893 Dialogs use headerbars even when DialogsUseHeader is unset
731158 gtkbookmarksmanager.c: save_bookmarks, silly strlen
731297 Get rid of overshooting window/animation
731463 Styling of last column header does not apply to treeview-like cust...
731711 GtkLabel forwards button-press-event after showing a context menu
732134 consider using an alternate durations for transitions of button pr...
732206 wayland: crash with touch but no pointer
732229 Buttons in menus in popovers - alignment and spacing issues
732256 Add a flat style class and use it for flat buttons
732298 adwaita -- progress bars indistinguishable from selected list row
732330 Sort *_DEBUG values alphabetically
732433 Typos in common questions
732441 Selected text background is nearly transparent
732443 Inspector hide and seek
732454 Build error: return_exposes not defined in gdkevents-win32.c due t...
732494 issues active buttons in popovers
732667 cursor blink settings not fully undeprecated
732681 Docs: make GtkWidget:margin-start and margin-end clearer
732861 GtkImage surface documentation incomplete
732894 icontheme: Use correct URI for icons in resource paths
732900 textview calls gtk_widget_set_allocation() on children out of ::si...
732933 horizontal autoscrolling broken
732970 Unselectable GtkLabels with links get the wrong initial cursor
732991 gtk_drag_anim_timeout change the user widget and never restore it
733027 GtkStack doesn't render a background
733076 Handle resolution changes in the GDK backend code
733092 inspector: Do not accidentally change tab in the object notebook
733099 Regression: gtk_window_set_title() no longer sets header bar title
733112 GtkListBox: Add a ::activatable property for rows
* Translation updates:
Hebrew
Lithuanian
Russian
Scottish Gaelic
Slovenian
Overview of Changes in GTK+ 3.13.2 to 3.13.3
============================================
* GtkInspector:
- Support saving custom CSS
- Show GMenus and GActions
- Show combobox menus and submenus
- Lower the inspector window when picking
- Misc. navigation improvements
* Gestures:
- Convert most widgets to use gestures internally
* Theming:
- Use client-side shadows for menus and tooltips
- Include the Adwaita theme
- The default theme is now Adwaita
- Icon loading now respects limits specified in the icon theme,
unless GTK_ICON_LOOKUP_FORCE_SIZE is set
- Don't include image content in icon caches, to avoid huge caches
- GtkSwitch gained a hover state
* Widget factory:
- Improve coverage of GTK+ features
* Wayland:
- Support GNOME classic mode
* Deprecations:
- Style regions
- Support for .icon files
- gdk_window_flush, drawing outside of begin/end paint
* Bugs fixed:
721895 Remove GtkIconCache
729820 GMenuModel submenu-action set 'false' before item activation
730615 a11y private library not included in GIR
730745 Port annotations from Vala
730767 Tab that's being dragged is not updated
730833 RTL in the inspector does not change the icons
730924 Setting a GtkScrolledWindow to visible in a template causes a segfault
731016 Text Drag'n'Drop broken in GtkTextView
731020 3.13.2: PlacesSidebar changes directories on right click
731187 Use csd shadows for menus
731273 minimise and maximise buttons not present in header bars in gnome classic
731299 Wrong function name for gtk_selection_data_get_data
731371 Gtk gets confused by wayland touch events
731377 Add a redirect on the website for the old language bindings page
731382 Current docs still mention GtkList and GtkCList
731429 Incorrect text provided by AtkText text-insert signal for GtkEntry
731602 GTK+ 3.13.2 won't build in Windows
731658 icon theme: Respect directory types for svg icons
731790 GtkHeaderBar subtitle not redisplayed after custom title
731834 GtkPopover is referenced directly in theme css
731866 New window shadows
731908 placessidebar: Use symbolic name for symbolic icon
* Updated translations:
Hebrew
Spanish
Overview of Changes in GTK+ 3.13.1 to 3.13.2
============================================
* Interactive debugging support. The GtkInspector
window can be triggered with the Ctrl-Shift-I
or Ctrl-Shift-D keyboard shortcuts, or via the
GTK_DEBUG environment variable.
* Gesture support has landed. New classes include
GtkGestureLongPress, GtkGestureMultiPress, GtkGestureSwipe,
GtkGesturePan, GtkGestureRotate, GtkGestureZoom. Many GTK+
widgets already use gestures internally. Gestures also
show up in GtkInspector.
The gesture-related APIs are still subject to change.
* GTK+ widgets can now draw outside their allocation,
by setting a clip with gtk_widget_set_clip().
The clip-related APIs are still subject to change.
* GtkStack has added a few more transition types
* GtkProgressBar is now narrower
* CSS
- Support outline-radius in CSS
- Implement 'unset' and 'all'
- Support -gtk-icontheme
- Support -gtk-icon-source
- Add -gtk-icon-transform, supporting the 2D
parts of CSS transforms
- Support -gtk-icon-style
* Theme
- Use outlines to render focus rings
- Use icons to render spinners, expanders and arrows
- GtkIconTheme can force symbolic or regular
icon variants
- GtkIconTheme will automatically load rtl
icon variants
* Win32:
- Theme improvements
* Wayland:
- Update to the latest xdg-shell protocol
* Deprecations:
GdkColor
GtkMisc
GtkArrow
focus-line-width style property
GtkNumerableIcon
GtkButton::x/yalign
gtk_widget_reparent
gtk_widget_region_intersect
gtk_container_set_reallocate_redraws
* Bugs fixed:
525206 Remove superfluous non-NULL tests for the GtkScrolledWindow scrollbars
614717 gtk_text_buffer_create_tag fails to return error on duplicate tag
636695 GdkColor should be deprecated
645966 gtk-demo leaks a GtkSizeGroup
698396 GtkTreeStore crashes when reordering 0 elements
708037 Allow live updates on widgets implementing GtkColorChooser
720330 Gtk-CRITICAL **: gtk_entry_completion_set_model: assertion 'GTK_IS_E...
721069 gtk_win32_embed_widget_show infinite recursion
726676 More GtkStack transition counterparts of OVER_UP_DOWN
727147 Search bar is too narrow
727994 Gtk Popover closes on click
728135 gtk_widget_set_visible's nothing-changed-check
728284 [treeview] Graphics artifact when scrolling with hover-selection
729346 W32: App-notification has no theme, shows up transparent
729353 W32: horizontal-buttons get "selected" background when focused
729451 Removing accels with application_set_accels_for_action
729461 Introspection issue with GtkApplication
729473 FileChooser: typos in gtk_file_chooser_set_local_only ()
729475 FileChooser: typo in gtk_set_create_folders()
729496 Crash with latest gtk+ from master in gtk_combo_box_get_preferred_width
729564 Deprecate GtkArrow
729594 Don't stretch switches in Widget Factory
729598 Populate page 2 of the Widget Factory
729607 GtkAboutDialog: gtk aborts when trying to show an about dialog
729670 cairo surface leaked for each cursor created from pixmap
729817 GtkCellLayout: allow finding attributes at runtime
729834 gdk: missing (nullable) annotations on return values
729915 Popopver does not follow relative widget to find action groups
729983 gdk: assorted introspection and documentation syntax fixes
730007 GtkInspector: add a setting to disable C-S-i
730008 make gtk_set_interactive_debugging available for apps
730035 GtkFileFilter contains refs to GtkRecentFilter which are probably typos
730043 Add an alternative to Ctrl-Shift-I
730095 Add a private call API to export internals to modules
730142 placessidebar: use proper canonicalization when checking if home
730183 RFC: silence harmless critical
730306 Gtk+ >= 3.0 fails to load modules from settings.ini files
730526 Fix the edit-clear icons in RTL
730353 Horizontal and vertical scrolling
700030 GdkEventSequence not accessible from introspected bindings
641836 Capture/bubble event handling
119906 Add event when Double Click timeout expires
* Translation updates:
Belarusian
Hebrew
Russian
Spanish
Overview of Changes in GTK+ 3.12.0 to 3.13.1
============================================
* GtkListBox can now do multi-selection
* GtkSwitch has a way to delay state changes
* GtkMenuButton is using a popover for menu models by default
* GtkPopover can have horizontal sections
* GtkFileChooser received some design improvements
* GtkBuilder
- Supports property binding
- Supports dialog actions
* Client-side decorations
- The requirement for _GTK_FRAME_EXTENTS has been dropped
to avoid 'double headers' with most window managers
- Drawing of DND highlights around the entire window works
* Windows backend:
- *Many* theme improvements
- Add popover theming
- Enable introspection
* Wayland backend
- Updates for xdg_shell protocol changes
- Touch support
* Broadway backend
- Now builds on OpenBSD
* Bugs fixed:
495105 Open recent file keyboard shortcuts do not work correctly
654417 Add <binding> element to GtkBuilder syntax
686170 gdk/win32: VK_SNAPSHOT maps to GDK_Print
712752 GtkClipboard: add _get_default and _get_primary
722058 GtkTreeModelFilter bug
722211 improve the file chooser design
722817 Add gobject-introspection for GdkWin32
723963 Use popover for the fallback app menu in the headerbar
725648 Switches should always indicate the current state
726179 Trivial Fix: size-allocate signal has missing documentation
726271 Items not highlighted while mouse-hovered
726298 gtk-font-name isn't correctly handled on Windows
726475 After looking at Aisleriot solitare, I get rendering glitches...
726592 W32: problems with CSDed windows
726859 Assertion/crash if gtk_radio_menu_item_set_group() is called twice
726870 all: Name more idles and timeouts
726871 treeview: Lower the duration of validation iterations
726996 Label-for/Labelled-by AtkRelations missing for containers in t...
727009 redefinition of GtkPrinterCloudprint: cloudprint fails to build
727022 W32: Both inc- and dec-buttons on GtkSpinbutton are "inc"
727035 W32: Combobox button is drawn with two arrows
727036 W32: Combobox dropdown color is button-gray instead of window-white
727037 W32: Menu items look thin, while submenu arrows are huge
727075 W32: Combobox (with an entry) is gigantic
727078 W32: GtkPopover is transparent and non-interactable
727080 W32: Window re-size grip looks UGLY.
727210 W32: Prelight doesn't apply to check/radio marks
727211 W32: Selection background color applies to check/radio marks
727213 W32: Notebook widget is not styled correctly
727244 W32: Items selected in listbox have correct background color, ...
727245 W32: No .dim-label style
727313 a11y: do not use deprecated a11y functions.
727322 docs: Remove '\' escape character from literals
727391 W32: scrollbar sliders have no "active" and "insensitive" styles
727410 W32: tooltips are not themed
727414 Redundant text in titlebar
727487 Color picker check marks not cleared properly
727643 Segfault in gtk-3.12.0
727644 SEGV in gtk_window_propagate_key_event()
727662 GtkVolumeButton displays "missing image" icons
727908 Various GtkTextView improvements (doc, unit tests)
727973 W32: focused button is visibly smaller
728023 Warning when passing NULL window to inhibit
728054 entry: consider ascent and descent when requesting height
728073 Allow defining an invisible resize area for GtkPaned's handle
728140 Illegal parameter passed to g_variant_new in gtk_application_im...
728165 gtk_target_list_new argument should be (allow-none)
728183 Drag and drop (GdkFrameClock) does not work for hidden widgets
728272 make broadway backend build on OpenBSD
728426 Implement the wl_touch interface
728745 win32: add more clipboard data checks to avoid crash
728806 W32: Check- and radio-buttons have a selection rectangle on act...
728807 W32: Checkbutton focus rectangle becomes almost white on prelight
728808 W32: Checkboxes on modelbuttons are drawn like buttons themselves
728810 W32: Modelbuttons look like buttons
728846 GtkDialog: Support adding action widgets in ui files
728992 GtkLockButton crash if clicked and permission is NULL
729013 Use OUTPUT_SCALE instead of xft-dpi on wayland
729095 redraw problems when resizing popovers
729097 size allocation problem in popovers
* Translation updates:
Basque
Catalan
German
Greek
Hebrew
Russian
Slovenian
Overview of Changes in GTK+ 3.11.9 to 3.12.0
============================================
* Wayland:
- Add support for input regions
- Correctly report display capabilities
- Fix resizing from the north-east corner
* Bugs fixed:
723045 Window re-size causes artifacts
724728 GtkPrintOperation is below is parent in fullscreen mode
726369 gnome-terminal crashes when closing a window
726476 New fontchooser dialog doesn't update font list upon change
726717 Nesting GtkExpander gives Gdk-CRITICAL error
726749 Segmentation fault in libglib-2.0.so.0 with glib-2.39.92
726825 possible invalid reads on delete event
726838 crash when unsetting GtkTreeView model
726855 When subdirectory selected, subdirectory name only briefly appears...
726858 GTK_ENABLE_DEBUG should be G_ENABLE_DEBUG
726900 gtk_recent_filter_filter() requirements aren't fully documented
* Translation updates:
Czech
Danish
Germans
Hungarian
Indonesian
Italian
Scottish Gaelic
Serbian
Ukrainian
Overview of Changes in GTK+ 3.11.8 to 3.11.9
============================================
* GtkPopover:
- Improve focus and grab handling
- Add accessibility support
* Client-side decorations:
- Make F10 move focus to the header bar
- Make header bars draggable on touch systems
- Make shadows unclickable
* Bugs fixed:
591258 Easy to accidentally select first option in popup menus
693200 Printing via evince crashes badly when /tmp is not writable
701884 lots of invalid reads in iconview a11y code
709914 Cannot move windows on touchscreen (except from WM decorations)
723668 Message Dialog Layout
724785 Tooltips get shown even if the widget is hidden by a GtkPopover
725141 Add shortcut to move focus to the GtkHeaderBar
725727 Fix DnD on popovers
725733 Crash when accessing freed AtkObject
725754 Fix font size when gdk_x11_display_set_window_scale() is used
725824 gtkentrycompletion: fix a critical warning
725864 Add GtkPopover a11y
725866 DnD fixes
726125 Cannot click through CSD window shadows
726135 documentation: clarify gtk_icon_theme_add_builtin_icon() usage
726136 use && instead of 'and' in deprecation warnings
726149 broadway: remove unused libcrypt
726187 Use GDK's current window tracking when synthesizing events in GTK+
726209 GtkTreeView: stop ignoring crossing events from grabs
726492 Possible crash when setting titlebar
* Translation updates:
Brazilian Portuguese
Chinese
Czech
Finnish
French
Korean
Latvian
Norwegian bokmål
Portuguese
Punjabi
Spanish
Traditional Chinese
Overview of Changes in GTK+ 3.11.7 to 3.11.8
============================================
* Documentation: Update screenshots
* Printing: Google cloud print support
* Bugs fixed:
724742 revealer: Allocate extra size to child
724895 printing: Fix visibility of tabs in dialog
481073 allow "visibility-notify-event" signal to work when composited
547988 Open button sensitive when nothing selected, returns nothing
554618 GtkFileChooserDialog leaks memory
723368 GTK+ print module for Google Cloud Print
723438 jhbuild buildone glib gtk+ fails with `HAVE_INTROSPECTION do...
724411 GtkAboutDialog: License visible even if not set and predefin...
724799 gtk_menu_tool_button_set_menu () broken in gtk3-3.11.6+
724891 GtkTreeViewColumn::button never freed
724921 Gtk-CRITICAL **: gtk_widget_unregister_window: assertion 'GD...
724968 wayland: Fix gdk_window_wayland_resize_cairo_surface()
724999 GtkRevealer changes broke gedit infobar messages
725089 Cairo context sent to the "draw" signal handler has incorrec...
725172 GdkWindow: fix redraws for backends that keep the same backi...
725205 [patch] treeselection docs: spelling fix
725225 auto scroll in vertical popover from volume button goes the ...
725345 dialogs: always use CSD on dialogs
725559 Fix typo in gtk_window_set_default() documentation
725560 GtkTreeView documentation fixes
Make sure CSS theme is loaded when needed
GtkStackSwitcher: Avoid unnecessary updates
* Translation updates:
Brazilian Portuguese
Galician
Hebrew
Kazakh
Lithuanian
Norwegian bokmål
Polish
Russian
Scottish Gaelic
Thai
Traditional Chinese
Overview of Changes in GTK+ 3.11.6 to 3.11.7
============================================

View File

@@ -73,6 +73,32 @@ Patches should be in unified diff form. (The -up option to GNU diff)
Even better are git-formatted patches. (Use git format-patch)
Release notes for 3.14
======================
* A new state, GTK_STATE_FLAG_CHECKED, has been added for checked states
of radio and check buttons and menuitems. Applications that are using
GTK+ styles without widgets will need adjustments.
* Adwaita is now the default theme on all platforms.
* The icon theme code has become a little pickier about sizes and is not
automatically scaling icons beyond the limits defined in the icon theme
unless explicitly asked to do so with GTK_ICON_LOOKUP_FORCE_SIZE.
* GTK+ now includes an interactive debugger which can be activated with
the keyboard shortcuts Ctrl-Shift-d or Ctrl-Shift-i. If these shortcuts
interfere with application keybindings, they can be disabled with the
setting org.gtk.Settings.Debug.enable-inspector-keybinding.
* Most widgets have been ported to use the new gesture framework internally
for event handling. Traditional event handlers in derived widgets are still
being called.
* Using GTK+ under X11 without the X Render extension has been observed
to be problematic. This combination is using code paths in cairo and
graphics drivers which are rarely tested and likely buggy.
Release notes for 3.12
======================
@@ -97,11 +123,6 @@ Release notes for 3.12
and borders. This may require some adjustments in applications that
were making assumptions about containers never rendering backgrounds.
* GTK+ is now choosing an RGBA visual for its windows by default if
one is available. This can cause problems for applications which make
assumptions about the default visual. You can set GDK_RGBA=0 in the
environment to force GTK+ to use the default X11 visual, as before.
Release notes for 3.10
======================
@@ -218,7 +239,6 @@ Release notes for 3.4
in .pc files. Dependent modules may have to declare dependencies
that there were getting 'for free' in the past.
Release notes for 3.2
=====================

View File

@@ -17,6 +17,18 @@ else
gtkdocize || exit $?
fi
PKGCONFIG=`which pkg-config`
if test -z "$PKGCONFIG"; then
echo "*** pkg-config not found, please install it ***"
exit 1
fi
pkg-config --print-errors gobject-introspection-1.0
if [ $? != 0 ]; then
echo "You probably need to install 'libgirepository1.0-dev'"
exit 1
fi
# README and INSTALL are required by automake, but may be deleted by clean
# up rules. to get automake to work, simply touch these here, they will be
# regenerated from their corresponding *.in files by ./configure anyway.

37
build/Makefile-newvs.am Normal file
View File

@@ -0,0 +1,37 @@
# Centralized autotools file
# Create the Visual Studio 2012/2013 project files
# from the Visual Studio 2010 project files
# Author: Fan, Chun-wei
# November 05, 2012
# MSVC_SLN: name of root project
MSVC_FORMAT_VER=$(shell echo $$(expr $(MSVC_VER) + 1))
$(MSVC_SLN).sln: $(top_srcdir)/build/win32/vs10/$(MSVC_SLN).sln create_vcxproj copy_filters create_props
cat $(top_srcdir)/build/win32/vs10/$(MSVC_SLN).sln | sed 's/11\.00/$(MSVC_FORMAT_VER)\.00/g' | sed 's/2010/$(MSVC_VER_LONG)/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/$(MSVC_SLN).sln
README.txt: $(top_srcdir)/build/win32/vs10/README.txt
cat $(top_srcdir)/build/win32/vs10/README.txt | sed 's/vs10/vs$(MSVC_VER)/g' | sed 's/VS10/VS$(MSVC_VER)/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/README.txt
create_vcxproj:
for F in `(cd $(top_builddir)/build/win32/vs10 && ls *.vcxproj)`; do \
case $$F in \
*) cat $(top_builddir)/build/win32/vs10/$$F | sed 's/v100/v$(MSVC_VER)0/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/$$F \
;; \
esac; \
done
create_props:
for F in `(cd $(top_builddir)/build/win32/vs10 && ls *.props)`; do \
case $$F in \
*) cat $(top_builddir)/build/win32/vs10/$$F | sed 's/<VSVer>10<\/VSVer>/<VSVer>$(MSVC_VER)<\/VSVer>/g' > $(top_builddir)/build/win32/vs$(MSVC_VER)/$$F \
;; \
esac; \
done
copy_filters:
cp $(top_srcdir)/build/win32/vs10/*.vcxproj.filters $(top_builddir)/build/win32/vs$(MSVC_VER)/

View File

@@ -8,6 +8,7 @@ EXTRA_DIST += \
gen-file-list-gtk.py \
detectenv_msvc.mak \
introspection-msvc.mak \
gtk-introspection-msvc.mak.in \
gtk-introspection-msvc.mak
-include $(top_srcdir)/git.mk

View File

@@ -14,11 +14,11 @@ def gen_gdk_filelist(srcroot, subdir, dest):
vars = read_vars_from_AM(os.path.join(srcroot, subdir, 'Makefile.am'),
vars = {},
conds = {},
filters = ['gdk_public_h_sources', 'gdk_c_sources'])
filters = ['gdk_h_sources', 'gdk_c_sources'])
vars['gdk_enums'] = 'gdkenumtypes.c gdkenumtypes.h'
files = vars['gdk_public_h_sources'].split() + \
files = vars['gdk_h_sources'].split() + \
vars['gdk_c_sources'].split() + \
vars['gdk_enums'].split()
@@ -28,14 +28,28 @@ def gen_gdk_filelist(srcroot, subdir, dest):
for i in sources:
d.write(srcroot + '\\' + subdir + '\\' + i.replace('/', '\\') + '\n')
def gen_filelist_gtk(srcroot, subdir, dest):
def gen_gdkwin32_filelist(srcroot, subdir, dest):
vars = read_vars_from_AM(os.path.join(srcroot, subdir, 'Makefile.am'),
vars = {},
conds = {'HAVE_INTROSPECTION': True,
'OS_WIN32': True},
filters = ['w32_introspection_files'])
files = vars['w32_introspection_files'].split()
with open(dest, 'w') as d:
for i in files:
d.write(srcroot + '\\' + subdir + '\\' + i.replace('/', '\\') + '\n')
def gen_gtk_filelist(srcroot, subdir, dest):
vars = read_vars_from_AM(os.path.join(srcroot, 'gtk', 'Makefile.am'),
vars = {},
conds = {'USE_WIN32':True,
conds = {'USE_WIN32': True,
'USE_QUARTZ': False,
'USE_X11': False,
'USE_EXTERNAL_ICON_CACHE': False},
filters = ['gtkinclude_HEADERS',
'a11yinclude_HEADERS',
'deprecatedinclude_HEADERS',
'gtk_base_c_sources',
'gtk_clipboard_dnd_c_sources'])
@@ -43,12 +57,17 @@ def gen_filelist_gtk(srcroot, subdir, dest):
vars['gtk_other_src'] = 'gtkprintoperation-win32.c gtktypebuiltins.h gtktypebuiltins.c'
files = vars['gtkinclude_HEADERS'].split() + \
vars['a11yinclude_HEADERS'].split() + \
vars['deprecatedinclude_HEADERS'].split() + \
vars['gtk_base_c_sources'].split() + \
vars['gtk_clipboard_dnd_c_sources'].split() + \
vars['gtk_other_src'].split()
sources = [i for i in files if not (i.endswith('private.h')) and i != 'gtktextdisplay.h' and i != 'gtktextlayout.h']
sources = [i for i in files \
if not (i.endswith('private.h')) \
and i != 'gtktextdisplay.h' \
and i != 'gtktextlayout.h' \
and i != 'gtkx.h']
with open(dest, 'w') as d:
for i in sources:
@@ -60,7 +79,8 @@ def main(argv):
subdir_gtk = 'gtk'
gen_gdk_filelist(srcroot, subdir_gdk, 'gdk_list')
gen_filelist_gtk(srcroot, subdir_gtk, 'gtk_list')
gen_gdkwin32_filelist(srcroot, subdir_gdk, 'gdkwin32_list')
gen_gtk_filelist(srcroot, subdir_gtk, 'gtk_list')
return 0
if __name__ == '__main__':

View File

@@ -1,10 +1,4 @@
# NMake Makefile to build Introspection Files for ATK
# Change or pass in as a variable/env var if needed
GDK_DLLNAME = gdk-3-vs$(VSVER)
GTK_DLLNAME = gtk-3-vs$(VSVER)
# Please do not change anything after this line
# NMake Makefile to build Introspection Files for GTK+
!include detectenv_msvc.mak
@@ -12,6 +6,9 @@ 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
!if "$(PLAT)" == "x64"
TIME_T_DEFINE = -Dtime_t=long long
!else
@@ -21,9 +18,9 @@ TIME_T_DEFINE = -Dtime_t=long
!include introspection-msvc.mak
!if "$(BUILD_INTROSPECTION)" == "TRUE"
all: setgirbuildnev Gdk-$(APIVERSION).gir Gdk-$(APIVERSION).typelib Gtk-$(APIVERSION).gir Gtk-$(APIVERSION).typelib
all: setgirbuildnev $(built_install_girs) $(built_install_typelibs)
gdk_list gtk_list:
gdk_list gdkwin32_list gtk_list:
@-echo Generating Filelist to Introspect for GDK/GTK...
$(PYTHON2) gen-file-list-gtk.py
@@ -43,11 +40,26 @@ Gdk-$(APIVERSION).gir: gdk_list
$(TIME_T_DEFINE) --namespace=Gdk --nsversion=3.0 \
--include=Gio-2.0 --include=GdkPixbuf-2.0 \
--include=Pango-1.0 --include=cairo-1.0 \
--no-libtool --library=$(GDK_DLLNAME) \
--no-libtool --library=gdk-3.0 \
--reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) --add-include-path=. \
--pkg-export gdk-3.0 --warn-all --c-include="gdk/gdk.h" \
-DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION \
--filelist=gdk_list -o Gdk-3.0.gir
--filelist=gdk_list -o $@
GdkWin32-$(APIVERSION).gir: gdkwin32_list
@-echo Generating GdkWin32-$(APIVERSION).gir...
$(PYTHON2) $(G_IR_SCANNER) --verbose -I.. -I..\gdk \
-I$(BASEDIR)\include\glib-2.0 -I$(BASEDIR)\lib\glib-2.0\include \
-I$(BASEDIR)\include\pango-1.0 -I$(BASEDIR)\include\atk-1.0 \
-I$(BASEDIR)\include\gdk-pixbuf-2.0 -I$(BASEDIR)\include \
$(TIME_T_DEFINE) --namespace=GdkWin32 --nsversion=3.0 \
--include=Gio-2.0 --include=GdkPixbuf-2.0 \
--include=Pango-1.0 --include-uninstalled=./Gdk-$(APIVERSION).gir \
--no-libtool --library=gdk-3.0 \
--reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) --add-include-path=. \
--pkg-export gdk-win32-3.0 --warn-all --c-include="gdk/gdkwin32.h" \
-DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION \
--filelist=gdkwin32_list -o $@
Gtk-$(APIVERSION).gir: gtk_list
$(PYTHON2) $(G_IR_SCANNER) --verbose -I.. -I..\gtk -I..\gdk \
@@ -57,12 +69,12 @@ Gtk-$(APIVERSION).gir: gtk_list
--namespace=Gtk --nsversion=3.0 \
--include=Atk-1.0 \
--include-uninstalled=./Gdk-$(APIVERSION).gir \
--no-libtool --library=$(GTK_DLLNAME) \
--no-libtool --library=gtk-3.0 --library=gdk-3.0 \
--reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) --add-include-path=. \
--pkg-export gtk+-3.0 --warn-all --c-include="gtk/gtkx.h" \
-DG_LOG_DOMAIN=\"Gtk\" -DGTK_LIBDIR=\"/dummy/lib\" \
$(TIME_T_DEFINE) -DGTK_DATADIR=\"/dummy/share\" -DGTK_DATA_PREFIX=\"/dummy\" \
-DGTK_SYSCONFDIR=\"/dummy/etc\" -DGTK_VERSION=\"3.11.4\" \
-DGTK_SYSCONFDIR=\"/dummy/etc\" -DGTK_VERSION=\"@GTK_VERSION@\" \
-DGTK_BINARY_VERSION=\"3.0.0\" -DGTK_HOST=\"i686-pc-vs$(VSVER)\" \
-DGTK_COMPILATION -DGTK_PRINT_BACKENDS=\"file\" \
-DGTK_PRINT_PREVIEW_COMMAND=\"undefined-gtk-print-preview-command\" \
@@ -71,21 +83,15 @@ Gtk-$(APIVERSION).gir: gtk_list
-DINCLUDE_IM_ime -DINCLUDE_IM_inuktitut -DINCLUDE_IM_ipa \
-DINCLUDE_IM_multipress -DINCLUDE_IM_thai -DINCLUDE_IM_ti_er \
-DINCLUDE_IM_ti_et -DINCLUDE_IM_viqr --filelist=gtk_list \
-o Gtk-3.0.gir
-o $@
Gdk-$(APIVERSION).typelib: Gdk-$(APIVERSION).gir
@-echo Compiling Gdk-$(APIVERSION).typelib...
$(G_IR_COMPILER) --includedir=. --debug --verbose Gdk-$(APIVERSION).gir -o Gdk-$(APIVERSION).typelib
$(built_install_typelibs): $(built_install_girs)
@-echo Compiling $*.typelib...
@-$(G_IR_COMPILER) --includedir=. --debug --verbose $*.gir -o $@
Gtk-$(APIVERSION).typelib: Gtk-$(APIVERSION).gir Gdk-$(APIVERSION).typelib
@-echo Compiling Gtk-$(APIVERSION).typelib...
$(G_IR_COMPILER) --includedir=. --debug --verbose Gtk-$(APIVERSION).gir -o Gtk-$(APIVERSION).typelib
install-introspection: setgirbuildnev Gdk-$(APIVERSION).gir Gdk-$(APIVERSION).typelib Gtk-$(APIVERSION).gir Gtk-$(APIVERSION).typelib
@-copy Gdk-$(APIVERSION).gir $(G_IR_INCLUDEDIR)
@-copy /b Gdk-$(APIVERSION).typelib $(G_IR_TYPELIBDIR)
@-copy Gtk-$(APIVERSION).gir $(G_IR_INCLUDEDIR)
@-copy /b Gtk-$(APIVERSION).typelib $(G_IR_TYPELIBDIR)
install-introspection: setgirbuildnev $(built_install_girs) $(built_install_typelibs)
@-copy *.gir $(G_IR_INCLUDEDIR)
@-copy /b *.typelib $(G_IR_TYPELIBDIR)
!else
all:
@@ -93,10 +99,9 @@ all:
!endif
clean:
@-del /f/q Gtk-$(APIVERSION).typelib
@-del /f/q Gtk-$(APIVERSION).gir
@-del /f/q Gdk-$(APIVERSION).typelib
@-del /f/q Gdk-$(APIVERSION).gir
@-del /f/q *.typelib
@-del /f/q *.gir
@-del /f/q gtk_list
@-del /f/q gdkwin32_list
@-del /f/q gdk_list
@-del /f/q *.pyc

View File

@@ -1,8 +1,12 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS = \
crypt \
vs9 \
vs10
SUBDIRS = \
crypt \
vs9 \
vs10 \
vs11 \
vs12
EXTRA_DIST += process-in-win32.py
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,109 @@
#!/usr/bin/python
# vim: encoding=utf-8
# expand Windows-specific *.in files
# for Visual Studio Builds
import os
import sys
import re
import string
import argparse
def open_compat(src, mode):
if (sys.version_info.major < 3):
return open(src, mode)
else:
return open(src, mode, encoding='utf-8', errors='surrogateescape')
def get_version(srcroot):
ver = {}
RE_VERSION = re.compile(r'^m4_define\(\[(gtk_\w+)\],\s*\[(\d+)\]\)')
RE_FLOAT_VERSION = re.compile(r'^m4_define\(\[(gtk_\w+)\],\s*\[(\d+\.\d*)\]\)')
with open(os.path.join(srcroot, 'configure.ac'), 'r') as ac:
for i in ac:
mo = RE_VERSION.search(i)
if mo:
ver[mo.group(1).upper()] = int(mo.group(2))
mo = RE_FLOAT_VERSION.search(i)
if mo:
ver[mo.group(1).upper()] = float(mo.group(2))
ver['GTK_BINARY_AGE'] = 100 * ver['GTK_MINOR_VERSION'] + ver['GTK_MICRO_VERSION']
ver['GTK_VERSION'] = '%d.%d.%d' % (ver['GTK_MAJOR_VERSION'],
ver['GTK_MINOR_VERSION'],
ver['GTK_MICRO_VERSION'])
ver['LT_RELEASE'] = '%d.%d' % (ver['GTK_MAJOR_VERSION'], ver['GTK_MINOR_VERSION'])
ver['LT_CURRENT'] = 100 * \
ver['GTK_MINOR_VERSION'] + \
ver['GTK_MICRO_VERSION'] - \
ver['GTK_INTERFACE_AGE']
ver['LT_REVISION'] = ver['GTK_INTERFACE_AGE']
ver['LT_AGE'] = ver['GTK_BINARY_AGE'] - ver['GTK_INTERFACE_AGE']
ver['LT_CURRENT_MINUS_AGE'] = ver['LT_CURRENT'] - ver['LT_AGE']
return ver
def process_in(src, dest, vars):
RE_VARS = re.compile(r'@(\w+?)@')
with open_compat(src, 'r') as s:
with open_compat(dest, 'w') as d:
for i in s:
i = RE_VARS.sub(lambda x: str(vars[x.group(1)]), i)
d.write(i)
def get_srcroot():
if not os.path.isabs(__file__):
path = os.path.abspath(__file__)
else:
path = __file__
dirname = os.path.dirname(path)
return os.path.abspath(os.path.join(dirname, '..', '..'))
def main(argv):
prog_desc = 'Create Various autogenerated Win32-specific Source Files'
parser = argparse.ArgumentParser(description=prog_desc)
parser.add_argument('--gtkwin32rc', dest='gtkwin32rc', action='store_const',
const=1,
help='Generate gtk-win32.rc')
parser.add_argument('--gtk3manifest', dest='gtk3manifest', action='store_const',
const=1,
help='Generate libgtk3.manifest')
args = parser.parse_args()
no_args = True
if args.gtkwin32rc is not None:
srcroot = get_srcroot()
ver = get_version(srcroot)
target = os.path.join(srcroot, 'gtk', 'gtk-win32.rc')
process_in(os.path.join(srcroot, 'gtk', 'gtk-win32.rc.in'),
target + '.intermediate',
ver)
fp_r = open_compat(target + '.intermediate', 'r')
lines = fp_r.readlines()
fp_r.close()
fp_w = open_compat(target, 'w')
fp_w.writelines([item for item in lines[:-1]])
fp_w.close()
os.unlink(target + '.intermediate')
no_args = False
if args.gtk3manifest is not None:
manifest = {}
manifest['EXE_MANIFEST_ARCHITECTURE'] = '*'
process_in(os.path.join(srcroot, 'gtk', 'libgtk3.manifest.in'),
os.path.join(srcroot, 'gtk', 'libgtk3.manifest'),
manifest)
no_args = False
if no_args is True:
raise SystemExit('Action argument required. Please see %s --help for details.' % __file__)
if __name__ == '__main__':
sys.exit(main(sys.argv))

View File

@@ -14,14 +14,18 @@ EXTRA_DIST += \
gtk.vcxprojin \
gtk.vcxproj.filters \
gtk.vcxproj.filtersin \
gtk-encode-symbolic-svg.vcxproj \
gtk-encode-symbolic-svg.vcxproj.filters \
gtk3-demo.vcxproj \
gtk3-demo.vcxproj.filters \
gtk3-demo-application.vcxproj \
gtk3-demo-application.vcxproj.filters \
gtka11y.vcxproj \
gtka11y.vcxproj.filters \
gtka11y.vcxprojin \
gtka11y.vcxproj.filtersin \
gtk3-icon-browser.vcxproj \
gtk3-icon-browser.vcxproj.filters \
gtk-inspector.vcxproj \
gtk-inspector.vcxprojin \
gtk-inspector.vcxproj.filters \
gtk-inspector.vcxproj.filtersin \
gailutil.vcxproj \
gailutil.vcxproj.filters \
install.vcxproj \
@@ -34,6 +38,7 @@ EXTRA_DIST += \
gtk-gen-srcs.props \
gtk-ignore-broadway.props \
gtk-install.props \
gtk-version-paths.props.in \
gtk-version-paths.props
-include $(top_srcdir)/git.mk

View File

@@ -59,9 +59,9 @@ The recommended build order for these dependencies:
as described in the README.txt file in the build/win32/vs10 folder)
-zlib
-libpng
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG or libjpeg-turbo
-(for GDK-Pixbuf, if not using GDI+) libtiff
[libtiff requires zlib and IJG JPEG]
[libtiff requires zlib and IJG JPEG or libjpeg-turbo]
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library]
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
build PCRE is recommended-see build/win32/vs10/README.txt of GLib)
@@ -81,6 +81,11 @@ built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
project files higher in the stack are supposed to look for them, not
from a specific GLib source tree.
Please note, as GTK+ uses the Adwaita theme for all platforms by default,
most icons used are not included with GTK+ (which *are* needed), so please see
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
GTK+ section) on how to get those icons set up for use with GTK+.
*About the dependencies marked with *: These dependencies are optional
as those are not compulsory components for building and running GTK+
itself, but note that they are needed for people running and building

View File

@@ -10,7 +10,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "broadwayd", "broadwayd.vcxp
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk", "gdk.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtka11y", "gtka11y.vcxproj", "{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-inspector", "gtk-inspector.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
EndProject
@@ -18,6 +18,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcxp
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo-application", "gtk3-demo-application.vcxproj", "{3281202A-CD26-4C67-B892-EB34BDBC612F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-icon-browser", "gtk3-icon-browser.vcxproj", "{3281202A-CD26-4C67-B892-EB34BDBC612E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-encode-symbolic-svg", "gtk-encode-symbolic-svg.vcxproj", "{3281202A-CD26-4C67-B892-EB34BDBC6131}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gailutil", "gailutil.vcxproj", "{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
@@ -106,22 +110,22 @@ Global
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release_Broadway|Win32.Build.0 = Release_Broadway|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release_Broadway|x64.ActiveCfg = Release_Broadway|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release_Broadway|x64.Build.0 = Release_Broadway|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.ActiveCfg = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.Build.0 = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.ActiveCfg = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.Build.0 = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.ActiveCfg = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.Build.0 = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.ActiveCfg = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.Build.0 = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug_Broadway|Win32.Build.0 = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug_Broadway|x64.ActiveCfg = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug_Broadway|x64.Build.0 = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release_Broadway|Win32.ActiveCfg = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release_Broadway|Win32.Build.0 = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release_Broadway|x64.ActiveCfg = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release_Broadway|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug_Broadway|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug_Broadway|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug_Broadway|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release_Broadway|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release_Broadway|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release_Broadway|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release_Broadway|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.ActiveCfg = Debug|x64
@@ -202,6 +206,38 @@ Global
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|x64.Build.0 = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|Win32.ActiveCfg = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|Win32.Build.0 = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|x64.ActiveCfg = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|x64.Build.0 = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|Win32.ActiveCfg = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|x64.Build.0 = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|Win32.Build.0 = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|x64.ActiveCfg = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|x64.Build.0 = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|Win32.ActiveCfg = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|x64.Build.0 = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|Win32.ActiveCfg = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|Win32.Build.0 = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|x64.ActiveCfg = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|x64.Build.0 = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release|Win32.ActiveCfg = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release|x64.Build.0 = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug_Broadway|Win32.Build.0 = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug_Broadway|x64.ActiveCfg = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug_Broadway|x64.Build.0 = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release_Broadway|Win32.ActiveCfg = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release_Broadway|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release_Broadway|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release_Broadway|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -9,7 +9,7 @@
<GtkPrefixDefine>GTK_PREFIX=\"$(GtkDummyPrefix)\"</GtkPrefixDefine>
<GdkDefines>GDK_COMPILATION;G_LOG_DOMAIN="Gdk"</GdkDefines>
<GtkIncludedImmodulesDefines>INCLUDE_IM_am_et;INCLUDE_IM_cedilla;INCLUDE_IM_cyrillic_translit;INCLUDE_IM_ime;INCLUDE_IM_inuktitut;INCLUDE_IM_ipa;INCLUDE_IM_multipress;INCLUDE_IM_thai;INCLUDE_IM_ti_er;INCLUDE_IM_ti_et;INCLUDE_IM_viqr</GtkIncludedImmodulesDefines>
<GtkDefines>GTK_COMPILATION;G_LOG_DOMAIN="Gtk";GTK_HOST="i686-pc-vs$(VSVer)";GTK_PRINT_BACKENDS="file";GTK_PRINT_PREVIEW_COMMAND="undefined-gtk-print-preview-command";$(GtkIncludedImmodulesDefines);GTK_LIBDIR="$(GtkDummyPrefix)/lib";GTK_DATADIR="$(GtkDummyPrefix)/share";GTK_DATA_PREFIX="$(GtkDummyPrefix)";GTK_SYSCONFDIR="$(GtkDummyPrefix)/etc";MULTIPRESS_CONFDIR="$(GtkDummyPrefix)/etc/gtk-$(ApiVersion)";MULTIPRESS_LOCALEDIR="$(GtkDummyPrefix)/share/locale";GTK_VERSION="$(GtkVersion)/etc";GTK_BINARY_VERSION="$(GtkBinaryVersion)/etc";GDK_DISABLE_DEPRECATED</GtkDefines>
<GtkDefines>GTK_COMPILATION;G_LOG_DOMAIN="Gtk";GTK_HOST="i686-pc-vs$(VSVer)";GTK_PRINT_BACKENDS="file";GTK_PRINT_PREVIEW_COMMAND="undefined-gtk-print-preview-command";$(GtkIncludedImmodulesDefines);GTK_LIBDIR="$(GtkDummyPrefix)/lib";GTK_DATADIR="$(GtkDummyPrefix)/share";GTK_DATA_PREFIX="$(GtkDummyPrefix)";GTK_SYSCONFDIR="$(GtkDummyPrefix)/etc";MULTIPRESS_CONFDIR="$(GtkDummyPrefix)/etc/gtk-$(ApiVersion)";MULTIPRESS_LOCALEDIR="$(GtkDummyPrefix)/share/locale";GTK_VERSION="$(GtkVersion)/etc";GTK_BINARY_VERSION="$(GtkBinaryVersion)/etc";GDK_DISABLE_DEPRECATED;ISOLATION_AWARE_ENABLED</GtkDefines>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtkbuilddefinesprops</_PropertySheetDisplayName>
@@ -47,4 +47,4 @@
<Value>$(GtkDefines)</Value>
</BuildMacro>
</ItemGroup>
</Project>
</Project>

View File

@@ -7,6 +7,9 @@
<_PropertySheetDisplayName>gtkcopygdkbroadwayprops</_PropertySheetDisplayName>
</PropertyGroup>
<ItemDefinitionGroup>
<Link>
<AdditionalOptions>/EXPORT:gdk_win32_display_manager_get_type</AdditionalOptions>
</Link
<PostBuildEvent>
<Command>
if "$(Configuration)" == "Release" goto END

View File

@@ -0,0 +1,177 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3281202A-CD26-4C67-B892-EB34BDBC6131}</ProjectGuid>
<RootNamespace>gtkencodesymbolicsvg</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gtk\encodesymbolic.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -15,6 +15,6 @@
</Filter>
</ItemGroup>
<ItemGroup>
#include "gtka11y.vs10.sourcefiles.filters"
<ClCompile Include="..\..\..\gtk\encodesymbolic.c"><Filter>Sources</Filter></ClCompile>
</ItemGroup>
</Project>

View File

@@ -58,14 +58,13 @@ echo $(Configuration) &gt; ..\..\..\MSVC_$(Configuration)
:DONE_GDKCONFIG_H
</GenGdkConfigHBroadway>
<GenerateGtkDbusBuiltSources>
set PATH=$(PATH);$(PythonPath)
cd ..\..\..\gtk
python $(GlibEtcInstallRoot)\bin\gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml
$(PythonPath)\python $(GlibEtcInstallRoot)\bin\gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml
cd $(SolutionDir)
</GenerateGtkDbusBuiltSources>
<GenerateGtkWin32RC>$(PythonPath)\python ..\process-in-win32.py --gtkwin32rc --gtk3manifest</GenerateGtkWin32RC>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtkgensrcsprops</_PropertySheetDisplayName>
@@ -83,5 +82,8 @@ cd $(SolutionDir)
<BuildMacro Include="GenerateGtkDbusBuiltSources">
<Value>$(GenerateGtkDbusBuiltSources)</Value>
</BuildMacro>
<BuildMacro Include="GenerateGtkWin32RC">
<Value>$(GenerateGtkWin32RC)</Value>
</BuildMacro>
</ItemGroup>
</Project>
</Project>

View File

@@ -12,6 +12,7 @@
</ProjectReference>
<Link>
<AdditionalDependencies>$(OutDir)\gdk-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalOptions>/EXPORT:gdk_win32_display_manager_get_type</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
#include "libgtk-inspector.vs10.sourcefiles.filters"
</ItemGroup>
</Project>

View File

@@ -19,8 +19,8 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}</ProjectGuid>
<RootNamespace>gtka11y</RootNamespace>
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}</ProjectGuid>
<RootNamespace>gtkinspector</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -69,8 +69,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -80,11 +80,22 @@
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -94,24 +105,10 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
@@ -120,7 +117,7 @@
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
#include "gtka11y.vs10.sourcefiles"
#include "libgtk-inspector.vs10.sourcefiles"
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gtk-prebuild.vcxproj">

File diff suppressed because it is too large Load Diff

View File

@@ -3,9 +3,9 @@
<PropertyGroup Label="UserMacros">
<VSVer>10</VSVer>
<GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
<GlibEtcInstallRootFromBuildWin32>..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRootFromBuildWin32>
<CopyDir>..\..\..\..\vs$(VSVer)\$(Platform)</CopyDir>
<ApiVersion>3.0</ApiVersion>
<GtkVersion>@GTK_VERSION@</GtkVersion>
<GtkLibtoolCompatibleDllPrefix>lib</GtkLibtoolCompatibleDllPrefix>
<GtkLibtoolCompatibleDllSuffix>-$(ApiVersion)-0</GtkLibtoolCompatibleDllSuffix>
<GtkSeparateVSDllPrefix />
@@ -24,15 +24,15 @@
<BuildMacro Include="GlibEtcInstallRoot">
<Value>$(GlibEtcInstallRoot)</Value>
</BuildMacro>
<BuildMacro Include="GlibEtcInstallRootFromBuildWin32">
<Value>$(GlibEtcInstallRootFromBuildWin32)</Value>
</BuildMacro>
<BuildMacro Include="CopyDir">
<Value>$(CopyDir)</Value>
</BuildMacro>
<BuildMacro Include="ApiVersion">
<Value>$(ApiVersion)</Value>
</BuildMacro>
<BuildMacro Include="GtkVersion">
<Value>$(GtkVersion)</Value>
</BuildMacro>
<BuildMacro Include="GtkLibtoolCompatibleDllPrefix">
<Value>$(GtkLibtoolCompatibleDllPrefix)</Value>
</BuildMacro>
@@ -55,4 +55,4 @@
<Value>$(PythonPath)</Value>
</BuildMacro>
</ItemGroup>
</Project>
</Project>

View File

@@ -19,6 +19,7 @@
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gtk\gtkdbusinterfaces.xml"><Filter>Resource Files</Filter></CustomBuild>
<CustomBuild Include="..\..\..\gtk\gtk-win32.rc.in"><Filter>Resource Files</Filter></CustomBuild>
</ItemGroup>
<ItemGroup>
#include "libgtk.vs10.sourcefiles.filters"
@@ -38,4 +39,7 @@
<ClCompile Include="..\..\..\modules\input\imviqr.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\thai-charprop.c"><Filter>Source Files</Filter></ClCompile>
</ItemGroup>
</Project>
<ItemGroup>
<Manifest Include="..\..\..\gtk\libgtk3.manifest"><Filter>Resource Files</Filter></Manifest>
</ItemGroup>
</Project>

View File

@@ -75,7 +75,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -96,7 +96,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
@@ -118,7 +118,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -139,7 +139,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
@@ -173,6 +173,20 @@
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateGtkDbusBuiltSources)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\gtk\gtkdbusgenerated.c;..\..\..\gtk\gtkdbusgenerated.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="..\..\..\gtk\gtk-win32.rc.in">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating GTK+ Win32 Version Resource...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenerateGtkWin32RC)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating GTK+ Win32 Version Resource...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenerateGtkWin32RC)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating GTK+ Win32 Version Resource...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenerateGtkWin32RC)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating GTK+ Win32 Version Resource...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateGtkWin32RC)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gtk\gtk-win32.rc" />
@@ -195,13 +209,16 @@
<ClCompile Include="..\..\..\modules\input\imviqr.c" />
<ClCompile Include="..\..\..\modules\input\thai-charprop.c" />
</ItemGroup>
<ItemGroup>
<Manifest Include="..\..\..\gtk\libgtk3.manifest" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtka11y.vcxproj">
<Project>{f756b0db-40a1-4e9f-be1f-8f02cb86ea46}</Project>
<ProjectReference Include="gtk-inspector.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073fd}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>

View File

@@ -189,6 +189,7 @@
<ClCompile Include="..\..\..\demos\gtk-demo\entry_completion.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\event_axes.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\expander.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\gestures.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\headerbar.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\hypertext.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\iconview.c" />

View File

@@ -31,6 +31,7 @@
<ClCompile Include="..\..\..\demos\gtk-demo\entry_completion.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\event_axes.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\expander.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\gestures.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\headerbar.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\hypertext.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\iconview.c"><Filter>Source Files</Filter></ClCompile>

View File

@@ -0,0 +1,180 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3281202A-CD26-4C67-B892-EB34BDBC612E}</ProjectGuid>
<RootNamespace>gtk3iconbrowser</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v100</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk-build-defines.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk-build-defines.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>false</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>..\..\..\demos\icon-browser;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>false</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\demos\icon-browser\iconbrowserapp.c" />
<ClCompile Include="..\..\..\demos\icon-browser\iconbrowserwin.c" />
<ClCompile Include="..\..\..\demos\icon-browser\main.c" />
<ClCompile Include="..\..\..\demos\icon-browser\resources.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Headers">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\demos\icon-browser\iconbrowserapp.c"><Filter>Sources</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\icon-browser\iconbrowserwin.c"><Filter>Sources</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\icon-browser\main.c"><Filter>Sources</Filter></ClCompile>
<ClCompile Include="..\..\..\demos\icon-browser\resources.c"><Filter>Sources</Filter></ClCompile>
</ItemGroup>
</Project>

View File

@@ -139,45 +139,49 @@
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEvent>
<Command>$(GtkDoInstallBin)$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent>
<Command>$(GtkDoInstallBin)$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent>
<Command>$(GtkDoInstallBin)$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
<Command>$(GtkDoInstallBin)$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">
<PreBuildEvent>
<Command>$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">
<PreBuildEvent>
<Command>$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">
<PreBuildEvent>
<Command>$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">
<PreBuildEvent>
<Command>$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\config.h.win32">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GtkDoInstallBin)$(GtkDoInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|Win32'">$(InstalledDlls);$(InstalledBins);$(InstalledBroadwayBins);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GtkDoInstallBin)$(GtkDoInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_Broadway|x64'">$(InstalledDlls);$(InstalledBins);$(InstalledBroadwayBins);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GtkDoInstallBin)$(GtkDoInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|Win32'">$(InstalledDlls);$(InstalledBins);$(InstalledBroadwayBins);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkDoInstallBin)$(GtkDoInstall)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(InstalledDlls);$(InstalledBins);%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">Installing Build Results...</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(GtkDoInstallBin)$(GtkDoInstall)$(GtkDoInstallBroadwayHeaders)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Broadway|x64'">$(InstalledDlls);$(InstalledBins);$(InstalledBroadwayBins);%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
@@ -199,10 +203,18 @@
<Project>{3281202a-cd26-4c67-b892-eb34bdbc612f}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk3-icon-browser.vcxproj">
<Project>{3281202a-cd26-4c67-b892-eb34bdbc612e}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="broadwayd.vcxproj">
<Project>{3281202a-cd26-4c67-b892-eb34bdbc6130}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-encode-symbolic-svg.vcxproj">
<Project>{3281202a-cd26-4c67-b892-eb34bdbc6131}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@@ -0,0 +1,47 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk-prebuild.vcxproj \
gdk-win32.vcxproj \
gdk-win32.vcxproj.filters \
gdk.vcxproj \
gdk.vcxproj.filters \
gtk.vcxproj \
gtk.vcxproj.filters \
gtk-encode-symbolic-svg.vcxproj \
gtk-encode-symbolic-svg.vcxproj.filters \
gtk3-demo.vcxproj \
gtk3-demo.vcxproj.filters \
gtk3-demo-application.vcxproj \
gtk3-demo-application.vcxproj.filters \
gtk3-icon-browser.vcxproj \
gtk3-icon-browser.vcxproj.filters \
gtk-inspector.vcxproj \
gtk-inspector.vcxproj.filters \
gailutil.vcxproj \
gailutil.vcxproj.filters \
install.vcxproj \
broadwayd.vcxproj \
broadwayd.vcxproj.filters \
gdk-broadway.vcxproj \
gdk-broadway.vcxproj.filters \
gtk-build-defines.props \
gtk-copy-gdk-broadway.props \
gtk-gen-srcs.props \
gtk-ignore-broadway.props \
gtk-install.props \
gtk-version-paths.props
DISTCLEANFILES = $(EXTRA_DIST)
MSVC_SLN = gtk+
MSVC_VER = 11
MSVC_VER_LONG = 2012
include $(top_srcdir)/build/Makefile-newvs.am
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,47 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk-prebuild.vcxproj \
gdk-win32.vcxproj \
gdk-win32.vcxproj.filters \
gdk.vcxproj \
gdk.vcxproj.filters \
gtk.vcxproj \
gtk.vcxproj.filters \
gtk-encode-symbolic-svg.vcxproj \
gtk-encode-symbolic-svg.vcxproj.filters \
gtk3-demo.vcxproj \
gtk3-demo.vcxproj.filters \
gtk3-demo-application.vcxproj \
gtk3-demo-application.vcxproj.filters \
gtk3-icon-browser.vcxproj \
gtk3-icon-browser.vcxproj.filters \
gtk-inspector.vcxproj \
gtk-inspector.vcxproj.filters \
gailutil.vcxproj \
gailutil.vcxproj.filters \
install.vcxproj \
broadwayd.vcxproj \
broadwayd.vcxproj.filters \
gdk-broadway.vcxproj \
gdk-broadway.vcxproj.filters \
gtk-build-defines.props \
gtk-copy-gdk-broadway.props \
gtk-gen-srcs.props \
gtk-ignore-broadway.props \
gtk-install.props \
gtk-version-paths.props
DISTCLEANFILES = $(EXTRA_DIST)
MSVC_SLN = gtk+
MSVC_VER = 12
MSVC_VER_LONG = 2013
include $(top_srcdir)/build/Makefile-newvs.am
-include $(top_srcdir)/git.mk

View File

@@ -9,10 +9,12 @@ EXTRA_DIST += \
gdk.vcprojin \
gtk.vcproj \
gtk.vcprojin \
gtk-encode-symbolic-svg.vcproj \
gtk3-demo.vcproj \
gtk3-demo-application.vcproj \
gtka11y.vcproj \
gtka11y.vcprojin \
gtk3-icon-browser.vcproj \
gtk-inspector.vcproj \
gtk-inspector.vcprojin \
gailutil.vcproj \
install.vcproj \
broadwayd.vcproj \
@@ -22,6 +24,7 @@ EXTRA_DIST += \
gtk-gen-srcs.vsprops \
gtk-ignore-broadway.vsprops \
gtk-install.vsprops \
gtk-version-paths.vsprops.in \
gtk-version-paths.vsprops
-include $(top_srcdir)/git.mk

View File

@@ -58,9 +58,9 @@ The recommended build order for these dependencies:
as described in the README.txt file in the build/win32/vs9 folder)
-zlib
-libpng
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG or libjpeg-turbo
-(for GDK-Pixbuf, if not using GDI+) libtiff
[libtiff requires zlib and IJG JPEG]
[libtiff requires zlib and IJG JPEG or libjpeg-turbo]
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library])
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
build PCRE is recommended-see build/win32/vs9/README.txt of GLib)
@@ -80,6 +80,11 @@ built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
project files higher in the stack are supposed to look for them, not
from a specific GLib source tree.
Please note, as GTK+ uses the Adwaita theme for all platforms by default,
most icons used are not included with GTK+ (which *are* needed), so please see
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack (under the
GTK+ section) on how to get those icons set up for use with GTK+.
*About the dependencies marked with *: These dependencies are optional
as those are not compulsory components for building and running GTK+
itself, but note that they are needed for people running and building

View File

@@ -23,7 +23,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk", "gdk.vcproj", "{FC5AA
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FE} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FE}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtka11y", "gtka11y.vcproj", "{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-inspector", "gtk-inspector.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FF} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FF}
EndProjectSection
@@ -31,7 +31,7 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46} = {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
@@ -46,6 +46,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo-application", "gt
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-encode-symbolic-svg", "gtk-encode-symbolic-svg.vcproj", "{3281202A-CD26-4C67-B892-EB34BDBC6131}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-icon-browser", "gtk3-icon-browser.vcproj", "{3281202A-CD26-4C67-B892-EB34BDBC612E}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gailutil", "gailutil.vcproj", "{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
@@ -59,7 +70,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj",
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942} = {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}
{3281202A-CD26-4C67-B892-EB34BDBC612F} = {3281202A-CD26-4C67-B892-EB34BDBC612F}
{3281202A-CD26-4C67-B892-EB34BDBC612E} = {3281202A-CD26-4C67-B892-EB34BDBC612E}
{3281202A-CD26-4C67-B892-EB34BDBC6130} = {3281202A-CD26-4C67-B892-EB34BDBC6130}
{3281202A-CD26-4C67-B892-EB34BDBC6131} = {3281202A-CD26-4C67-B892-EB34BDBC6131}
EndProjectSection
EndProject
Global
@@ -138,6 +151,22 @@ Global
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release_Broadway|Win32.Build.0 = Release_Broadway|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release_Broadway|x64.ActiveCfg = Release_Broadway|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release_Broadway|x64.Build.0 = Release_Broadway|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug_Broadway|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug_Broadway|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Debug_Broadway|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release_Broadway|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release_Broadway|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release_Broadway|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}.Release_Broadway|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.ActiveCfg = Debug|x64
@@ -154,22 +183,6 @@ Global
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release_Broadway|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release_Broadway|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release_Broadway|x64.Build.0 = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.ActiveCfg = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.Build.0 = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.ActiveCfg = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.Build.0 = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.ActiveCfg = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.Build.0 = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.ActiveCfg = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.Build.0 = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug_Broadway|Win32.Build.0 = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug_Broadway|x64.ActiveCfg = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug_Broadway|x64.Build.0 = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release_Broadway|Win32.ActiveCfg = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release_Broadway|Win32.Build.0 = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release_Broadway|x64.ActiveCfg = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release_Broadway|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.ActiveCfg = Debug|x64
@@ -234,6 +247,38 @@ Global
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612F}.Release_Broadway|x64.Build.0 = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|Win32.ActiveCfg = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|Win32.Build.0 = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|x64.ActiveCfg = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug|x64.Build.0 = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|Win32.ActiveCfg = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release|x64.Build.0 = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|Win32.Build.0 = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|x64.ActiveCfg = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Debug_Broadway|x64.Build.0 = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|Win32.ActiveCfg = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC612E}.Release_Broadway|x64.Build.0 = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|Win32.ActiveCfg = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|Win32.Build.0 = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|x64.ActiveCfg = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug|x64.Build.0 = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release|Win32.ActiveCfg = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release|x64.Build.0 = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug_Broadway|Win32.ActiveCfg = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug_Broadway|Win32.Build.0 = Debug|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug_Broadway|x64.ActiveCfg = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Debug_Broadway|x64.Build.0 = Debug|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release_Broadway|Win32.ActiveCfg = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release_Broadway|Win32.Build.0 = Release|Win32
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release_Broadway|x64.ActiveCfg = Release|x64
{3281202A-CD26-4C67-B892-EB34BDBC6131}.Release_Broadway|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -40,6 +40,6 @@
/>
<UserMacro
Name="GtkDefines"
Value="GTK_COMPILATION;G_LOG_DOMAIN=\&quot;Gtk\&quot;;GTK_HOST=\&quot;i686-pc-vs$(VSVer)\&quot;;GTK_PRINT_BACKENDS=\&quot;file\&quot;;GTK_PRINT_PREVIEW_COMMAND=\&quot;undefined-gtk-print-preview-command\&quot;;$(GtkIncludedImmodulesDefines);GTK_LIBDIR=\&quot;$(GtkDummyPrefix)/lib\&quot;;GTK_DATADIR=\&quot;$(GtkDummyPrefix)/share\&quot;GTK_DATA_PREFIX=\&quot;$(GtkDummyPrefix)\&quot;;GTK_SYSCONFDIR=\&quot;$(GtkDummyPrefix)/etc\&quot;;MULTIPRESS_CONFDIR=\&quot;$(GtkDummyPrefix)/etc/gtk-$(ApiVersion)\&quot;;MULTIPRESS_LOCALEDIR=\&quot;$(GtkDummyPrefix)/share/locale\&quot;;GTK_VERSION=\&quot;$(GtkVersion)/etc\&quot;;GTK_BINARY_VERSION=\&quot;$(GtkBinaryVersion)/etc\&quot;;GDK_DISABLE_DEPRECATED"
Value="GTK_COMPILATION;G_LOG_DOMAIN=\&quot;Gtk\&quot;;GTK_HOST=\&quot;i686-pc-vs$(VSVer)\&quot;;GTK_PRINT_BACKENDS=\&quot;file\&quot;;GTK_PRINT_PREVIEW_COMMAND=\&quot;undefined-gtk-print-preview-command\&quot;;$(GtkIncludedImmodulesDefines);GTK_LIBDIR=\&quot;$(GtkDummyPrefix)/lib\&quot;;GTK_DATADIR=\&quot;$(GtkDummyPrefix)/share\&quot;GTK_DATA_PREFIX=\&quot;$(GtkDummyPrefix)\&quot;;GTK_SYSCONFDIR=\&quot;$(GtkDummyPrefix)/etc\&quot;;MULTIPRESS_CONFDIR=\&quot;$(GtkDummyPrefix)/etc/gtk-$(ApiVersion)\&quot;;MULTIPRESS_LOCALEDIR=\&quot;$(GtkDummyPrefix)/share/locale\&quot;;GTK_VERSION=\&quot;$(GtkVersion)/etc\&quot;;GTK_BINARY_VERSION=\&quot;$(GtkBinaryVersion)/etc\&quot;;GDK_DISABLE_DEPRECATED;ISOLATION_AWARE_ENABLED"
/>
</VisualStudioPropertySheet>
</VisualStudioPropertySheet>

View File

@@ -5,6 +5,10 @@
Name="gtkcopygdkbroadwayprops"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/EXPORT:gdk_win32_display_manager_get_type"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="

View File

@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk-encode-symbolic-svg"
ProjectGUID="{3281202A-CD26-4C67-B892-EB34BDBC6131}"
RootNamespace="gtkencodesymbolicsvg"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk"
PreprocessorDefinitions="_DEBUG"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="..\..\..\gdk"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions=""
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk"
PreprocessorDefinitions="_DEBUG"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="..\..\..\gdk"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions=""
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Sources"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\gtk\encodesymbolic.c" />
</Filter>
<Filter
Name="Headers"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -57,11 +57,13 @@ echo $(ConfigurationName) &gt; ..\..\..\MSVC_$(ConfigurationName)&#x0D;&#x0A;
<UserMacro
Name="GenerateGtkDbusBuiltSources"
Value="
set PATH=$(PATH);$(PythonPath)&#x0D;&#x0A;
cd ..\..\..\gtk&#x0D;&#x0A;
python $(GlibEtcInstallRoot)\bin\gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml&#x0D;&#x0A;
$(PythonPath)\python $(GlibEtcInstallRoot)\bin\gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml&#x0D;&#x0A;
cd $(SolutionDir)&#x0D;&#x0A;
"
/>
</VisualStudioPropertySheet>
<UserMacro
Name="GenerateGtkWin32RC"
Value="$(PythonPath)\python ..\process-in-win32.py --gtkwin32rc --gtk3manifest"
/>
</VisualStudioPropertySheet>

View File

@@ -9,5 +9,6 @@
Name="VCLinkerTool"
LinkLibraryDependencies="false"
AdditionalDependencies="$(OutDir)\gdk-win32.lib"
AdditionalOptions="/EXPORT:gdk_win32_display_manager_get_type"
/>
</VisualStudioPropertySheet>

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="big5"?>
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtka11y"
ProjectGUID="{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"
RootNamespace="gtka11y"
Name="gtk-inspector"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FD}"
RootNamespace="gtkinspector"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
@@ -31,8 +31,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -41,28 +41,6 @@
DebugInformationFormat="4"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
@@ -75,12 +53,31 @@
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
@@ -98,8 +95,8 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
@@ -111,25 +108,23 @@
</References>
<Files>
<Filter
Name="Sources"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
#include "gtka11y.sourcefiles"
</Filter>
<Filter
Name="Headers"
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
#include "libgtk-inspector.sourcefiles"
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -1,423 +1,420 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="gtkinstallprops"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
>
<UserMacro
Name="GtkDoInstallBin"
Value="
ProjectType="Visual C++"
Version="8.00"
Name="gtkinstallprops"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
>
<UserMacro
Name="GtkDoInstallBin"
Value="
mkdir $(CopyDir)\bin&#x0D;&#x0A;
mkdir $(CopyDir)\lib&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release_Broadway&quot; goto DO_BROADWAY_BIN&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; goto DO_BROADWAY_BIN&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*.dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
goto DONE_BIN&#x0D;&#x0A;
:DO_BROADWAY_BIN&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\$(GtkDllPrefix)gdk$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gdk-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\broadwayd.exe $(CopyDir)\bin&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release_Broadway&quot; copy .\Release\$(PlatformName)\bin\$(GtkDllPrefix)gtk$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release_Broadway&quot; copy .\Release\$(PlatformName)\bin\$(GtkDllPrefix)gailutil$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release_Broadway&quot; copy .\Release\$(PlatformName)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release_Broadway&quot; copy .\Release\$(PlatformName)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Release_Broadway&quot; copy .\Release\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; copy .\Debug\$(PlatformName)\bin\$(GtkDllPrefix)gtk$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; copy .\Debug\$(PlatformName)\bin\$(GtkDllPrefix)gailutil$(GtkDllSuffix).dll $(CopyDir)\bin&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; copy .\Debug\$(PlatformName)\bin\gtk-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; copy .\Debug\$(PlatformName)\bin\gailutil-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
if &quot;$(ConfigurationName)&quot; == &quot;Debug_Broadway&quot; copy .\Debug\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
:DONE_BIN&#x0D;&#x0A;
"
/>
<UserMacro
Name="GtkDoInstall"
Value="
"
/>
<UserMacro
Name="GtkDoInstall"
Value="
echo off&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\deprecated&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32display.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32keys.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32misc.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32screen.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32window.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\gdk.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkapplaunchcontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkcairo.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkcolor.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkcursor.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdevice.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdevicemanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdisplay.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdisplaymanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdnd.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkevents.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkframetimings.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeys.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeysyms.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeysyms-compat.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkmain.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkpango.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkframeclock.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkpixbuf.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkprivate.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkproperty.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkrectangle.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkrgba.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkscreen.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkselection.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdktestutils.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkthreads.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdktypes.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkvisual.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkversionmacros.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkconfig.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkarrowaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkbooleancellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkbuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcellaccessibleparent.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcheckmenuitemaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcomboboxaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcontaineraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcontainercellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkentryaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkexpanderaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkflowboxaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkflowboxchildaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkframeaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkiconviewaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkimageaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkimagecellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklabelaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklevelbaraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklinkbuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklistboxaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklistboxrowaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklockbuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkmenuaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkmenubuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkmenuitemaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkmenushellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtknotebookaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtknotebookpageaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkpanedaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkprogressbaraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkradiobuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkradiomenuitemaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkrangeaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkrenderercellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkscaleaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkscalebuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkscrolledwindowaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkspinbuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkspinneraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkstatusbaraccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkswitchaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktextcellaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktextviewaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktogglebuttonaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktoplevelaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktreeviewaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkwidgetaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkwindowaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\a11y&#x0D;&#x0A;
copy ..\..\..\gtk\gtk.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkx.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtk-a11y.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaboutdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccelgroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccellabel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccelmap.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccessible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkactionable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkactionbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkadjustment.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkalignment.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkapplication.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkapplicationwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkarrow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaspectframe.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkassistant.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbin.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbindings.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkborder.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbuilder.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbuildable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcalendar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellarea.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellareacontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellareabox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcelleditable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcelllayout.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendereraccel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderercombo.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererprogress.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererspin.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererspinner.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderertext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcheckbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcheckmenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkclipboard.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorchooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorchooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorchooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorutils.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcombobox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcomboboxtext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcontainer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcssprovider.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcsssection.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdebug.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdnd.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdrawingarea.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkeditable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentry.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentrybuffer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentrycompletion.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkenums.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkeventbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkexpander.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilefilter.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfixed.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkflowbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontchooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontchooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontchooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkframe.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgrid.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkheaderbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkicontheme.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkiconview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimage.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimcontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimcontextinfo.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimcontextsimple.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimmodule.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimmulticontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkinfobar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkinvisible.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklabel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklayout.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklevelbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklinkbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklistbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkliststore.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklockbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmain.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenu.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenubar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenubutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenushell.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenutoolbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmessagedialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmisc.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmodules.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmountoperation.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtknotebook.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtknumerableicon.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkoffscreenwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkorientable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkoverlay.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpagesetup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpaned.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpapersize.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkplacessidebar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkplug.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpopover.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintcontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintoperation.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintoperationpreview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintsettings.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprogressbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiobutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiomenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiotoolbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrange.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooser.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentfilter.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentmanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrevealer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscale.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscalebutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrollable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrollbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrolledwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksearchbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksearchentry.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkselection.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparator.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparatormenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparatortoolitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksettings.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkshow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksizegroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksizerequest.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksocket.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkspinbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkspinner.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstack.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstackswitcher.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstatusbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstatusicon.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstylecontext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstyleproperties.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstyleprovider.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkswitch.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktestutils.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextattributes.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextbuffer.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextbufferrichtext.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextchild.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextdisplay.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextiter.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextmark.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktexttag.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktexttagtable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkthemingengine.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktogglebutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoggletoolbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolbutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolitemgroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolpalette.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolshell.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktooltip.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreednd.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodelfilter.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodelsort.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeselection.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreesortable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreestore.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeview.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeviewcolumn.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktypes.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkviewport.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvolumebutton.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwidget.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwidgetpath.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextlayout.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkversion.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkactivatable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkaction.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkactiongroup.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkcolorsel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkcolorseldialog.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkfontsel.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkgradient.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhandlebox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhbbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhpaned.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhscale.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhscrollbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhseparator.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhsv.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkiconfactory.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkimagemenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkradioaction.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkrc.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkrecentaction.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkstock.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkstyle.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtksymboliccolor.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtktable.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtktearoffmenuitem.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtktoggleaction.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkuimanager.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvbbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvbox.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvscale.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvscrollbar.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvseparator.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvpaned.h $(CopyDir)\include\gtk-$(ApiVersion)\gtk\deprecated&#x0D;&#x0A;
copy ..\..\..\gdk\gdk.h $(CopyDir)\include\gtk-3.0\gdk\gdk.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkapplaunchcontext.h $(CopyDir)\include\gtk-3.0\gdk\gdkapplaunchcontext.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkcairo.h $(CopyDir)\include\gtk-3.0\gdk\gdkcairo.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkcursor.h $(CopyDir)\include\gtk-3.0\gdk\gdkcursor.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdevice.h $(CopyDir)\include\gtk-3.0\gdk\gdkdevice.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdevicemanager.h $(CopyDir)\include\gtk-3.0\gdk\gdkdevicemanager.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdisplay.h $(CopyDir)\include\gtk-3.0\gdk\gdkdisplay.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdisplaymanager.h $(CopyDir)\include\gtk-3.0\gdk\gdkdisplaymanager.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdnd.h $(CopyDir)\include\gtk-3.0\gdk\gdkdnd.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkevents.h $(CopyDir)\include\gtk-3.0\gdk\gdkevents.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkframetimings.h $(CopyDir)\include\gtk-3.0\gdk\gdkframetimings.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeys.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeys.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeysyms.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeysyms.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeysyms-compat.h $(CopyDir)\include\gtk-3.0\gdk\gdkkeysyms-compat.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkmain.h $(CopyDir)\include\gtk-3.0\gdk\gdkmain.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkpango.h $(CopyDir)\include\gtk-3.0\gdk\gdkpango.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkframeclock.h $(CopyDir)\include\gtk-3.0\gdk\gdkframeclock.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkpixbuf.h $(CopyDir)\include\gtk-3.0\gdk\gdkpixbuf.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkprivate.h $(CopyDir)\include\gtk-3.0\gdk\gdkprivate.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkproperty.h $(CopyDir)\include\gtk-3.0\gdk\gdkproperty.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkrectangle.h $(CopyDir)\include\gtk-3.0\gdk\gdkrectangle.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkrgba.h $(CopyDir)\include\gtk-3.0\gdk\gdkrgba.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkscreen.h $(CopyDir)\include\gtk-3.0\gdk\gdkscreen.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkselection.h $(CopyDir)\include\gtk-3.0\gdk\gdkselection.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdktestutils.h $(CopyDir)\include\gtk-3.0\gdk\gdktestutils.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkthreads.h $(CopyDir)\include\gtk-3.0\gdk\gdkthreads.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdktypes.h $(CopyDir)\include\gtk-3.0\gdk\gdktypes.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkvisual.h $(CopyDir)\include\gtk-3.0\gdk\gdkvisual.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkwindow.h $(CopyDir)\include\gtk-3.0\gdk\gdkwindow.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-3.0\gdk\gdkenumtypes.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkversionmacros.h $(CopyDir)\include\gtk-3.0\gdk\gdkversionmacros.h&#x0D;&#x0A;
copy ..\..\..\gdk\gdkconfig.h $(CopyDir)\include\gtk-3.0\gdk\gdkconfig.h&#x0D;&#x0A;
copy ..\..\..\gdk\deprecated\gdkcolor.h $(CopyDir)\include\gtk-3.0\gdk\deprecated\gdkcolor.h&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32cursor.h&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32display.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32display.h&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32displaymanager.h&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32dnd.h&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32keys.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32keys.h&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32misc.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32misc.h&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32screen.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32screen.h&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32window.h $(CopyDir)\include\gtk-3.0\gdk\win32\gdkwin32window.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtk.h $(CopyDir)\include\gtk-3.0\gtk\gtk.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkx.h $(CopyDir)\include\gtk-3.0\gtk\gtkx.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtk-a11y.h $(CopyDir)\include\gtk-3.0\gtk\gtk-a11y.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaboutdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkaboutdialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccelgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccelgroup.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccellabel.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccellabel.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccelmap.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccelmap.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaccessible.h $(CopyDir)\include\gtk-3.0\gtk\gtkaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkactionable.h $(CopyDir)\include\gtk-3.0\gtk\gtkactionable.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkactionbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkactionbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkadjustment.h $(CopyDir)\include\gtk-3.0\gtk\gtkadjustment.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooser.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserdialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkappchooserwidget.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkapplication.h $(CopyDir)\include\gtk-3.0\gtk\gtkapplication.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkapplicationwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkapplicationwindow.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaspectframe.h $(CopyDir)\include\gtk-3.0\gtk\gtkaspectframe.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkassistant.h $(CopyDir)\include\gtk-3.0\gtk\gtkassistant.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkbbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbin.h $(CopyDir)\include\gtk-3.0\gtk\gtkbin.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbindings.h $(CopyDir)\include\gtk-3.0\gtk\gtkbindings.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkborder.h $(CopyDir)\include\gtk-3.0\gtk\gtkborder.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbuilder.h $(CopyDir)\include\gtk-3.0\gtk\gtkbuilder.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbuildable.h $(CopyDir)\include\gtk-3.0\gtk\gtkbuildable.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcalendar.h $(CopyDir)\include\gtk-3.0\gtk\gtkcalendar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellarea.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellarea.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellareacontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellareacontext.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellareabox.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellareabox.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcelleditable.h $(CopyDir)\include\gtk-3.0\gtk\gtkcelleditable.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcelllayout.h $(CopyDir)\include\gtk-3.0\gtk\gtkcelllayout.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderer.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderer.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendereraccel.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendereraccel.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderercombo.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderercombo.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererpixbuf.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererprogress.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererprogress.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererspin.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererspin.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrendererspinner.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrendererspinner.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderertext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderertext.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellrenderertoggle.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellview.h $(CopyDir)\include\gtk-3.0\gtk\gtkcellview.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcheckbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkcheckbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcheckmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkcheckmenuitem.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkclipboard.h $(CopyDir)\include\gtk-3.0\gtk\gtkclipboard.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooser.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooserwidget.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorchooserdialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcolorutils.h $(CopyDir)\include\gtk-3.0\gtk\gtkcolorutils.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcombobox.h $(CopyDir)\include\gtk-3.0\gtk\gtkcombobox.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcomboboxtext.h $(CopyDir)\include\gtk-3.0\gtk\gtkcomboboxtext.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcontainer.h $(CopyDir)\include\gtk-3.0\gtk\gtkcontainer.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcssprovider.h $(CopyDir)\include\gtk-3.0\gtk\gtkcssprovider.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcsssection.h $(CopyDir)\include\gtk-3.0\gtk\gtkcsssection.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdebug.h $(CopyDir)\include\gtk-3.0\gtk\gtkdebug.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkdialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdnd.h $(CopyDir)\include\gtk-3.0\gtk\gtkdnd.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdrawingarea.h $(CopyDir)\include\gtk-3.0\gtk\gtkdrawingarea.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkeditable.h $(CopyDir)\include\gtk-3.0\gtk\gtkeditable.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentry.h $(CopyDir)\include\gtk-3.0\gtk\gtkentry.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentrybuffer.h $(CopyDir)\include\gtk-3.0\gtk\gtkentrybuffer.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkentrycompletion.h $(CopyDir)\include\gtk-3.0\gtk\gtkentrycompletion.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkenums.h $(CopyDir)\include\gtk-3.0\gtk\gtkenums.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkeventbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkeventbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkeventcontroller.h $(CopyDir)\include\gtk-3.0\gtk\gtkeventcontroller.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkexpander.h $(CopyDir)\include\gtk-3.0\gtk\gtkexpander.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooser.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserdialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilechooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilechooserwidget.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfilefilter.h $(CopyDir)\include\gtk-3.0\gtk\gtkfilefilter.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfixed.h $(CopyDir)\include\gtk-3.0\gtk\gtkfixed.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkflowbox.h $(CopyDir)\include\gtk-3.0\gtk\gtkflowbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooser.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooserdialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkfontchooserwidget.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkframe.h $(CopyDir)\include\gtk-3.0\gtk\gtkframe.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgesture.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesture.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgesturedrag.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturedrag.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgesturelongpress.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturelongpress.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgesturemultipress.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturemultipress.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgesturepan.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturepan.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgesturerotate.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturerotate.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgesturesingle.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturesingle.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgestureswipe.h $(CopyDir)\include\gtk-3.0\gtk\gtkgestureswipe.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgesturezoom.h $(CopyDir)\include\gtk-3.0\gtk\gtkgesturezoom.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgrid.h $(CopyDir)\include\gtk-3.0\gtk\gtkgrid.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkheaderbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkheaderbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkicontheme.h $(CopyDir)\include\gtk-3.0\gtk\gtkicontheme.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkiconview.h $(CopyDir)\include\gtk-3.0\gtk\gtkiconview.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimage.h $(CopyDir)\include\gtk-3.0\gtk\gtkimage.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimcontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontext.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimcontextinfo.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontextinfo.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimcontextsimple.h $(CopyDir)\include\gtk-3.0\gtk\gtkimcontextsimple.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimmodule.h $(CopyDir)\include\gtk-3.0\gtk\gtkimmodule.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkimmulticontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkimmulticontext.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkinfobar.h $(CopyDir)\include\gtk-3.0\gtk\gtkinfobar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkinvisible.h $(CopyDir)\include\gtk-3.0\gtk\gtkinvisible.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtklabel.h $(CopyDir)\include\gtk-3.0\gtk\gtklabel.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtklayout.h $(CopyDir)\include\gtk-3.0\gtk\gtklayout.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtklevelbar.h $(CopyDir)\include\gtk-3.0\gtk\gtklevelbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtklinkbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtklinkbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtklistbox.h $(CopyDir)\include\gtk-3.0\gtk\gtklistbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkliststore.h $(CopyDir)\include\gtk-3.0\gtk\gtkliststore.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtklockbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtklockbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmain.h $(CopyDir)\include\gtk-3.0\gtk\gtkmain.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenu.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenu.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenubar.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenubar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenubutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenubutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenuitem.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenushell.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenushell.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenutoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkmenutoolbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmessagedialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkmessagedialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmodules.h $(CopyDir)\include\gtk-3.0\gtk\gtkmodules.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmountoperation.h $(CopyDir)\include\gtk-3.0\gtk\gtkmountoperation.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtknotebook.h $(CopyDir)\include\gtk-3.0\gtk\gtknotebook.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkoffscreenwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkoffscreenwindow.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkorientable.h $(CopyDir)\include\gtk-3.0\gtk\gtkorientable.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkoverlay.h $(CopyDir)\include\gtk-3.0\gtk\gtkoverlay.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpagesetup.h $(CopyDir)\include\gtk-3.0\gtk\gtkpagesetup.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpaned.h $(CopyDir)\include\gtk-3.0\gtk\gtkpaned.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpapersize.h $(CopyDir)\include\gtk-3.0\gtk\gtkpapersize.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkplacessidebar.h $(CopyDir)\include\gtk-3.0\gtk\gtkplacessidebar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkplug.h $(CopyDir)\include\gtk-3.0\gtk\gtkplug.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpopover.h $(CopyDir)\include\gtk-3.0\gtk\gtkpopover.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintcontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintcontext.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintoperation.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintoperation.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintoperationpreview.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintoperationpreview.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprintsettings.h $(CopyDir)\include\gtk-3.0\gtk\gtkprintsettings.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkprogressbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkprogressbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiobutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiobutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiomenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiomenuitem.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkradiotoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkradiotoolbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrange.h $(CopyDir)\include\gtk-3.0\gtk\gtkrange.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooser.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooser.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooserdialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchoosermenu.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentchooserwidget.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentfilter.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentfilter.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentmanager.h $(CopyDir)\include\gtk-3.0\gtk\gtkrecentmanager.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrevealer.h $(CopyDir)\include\gtk-3.0\gtk\gtkrevealer.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscale.h $(CopyDir)\include\gtk-3.0\gtk\gtkscale.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscalebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkscalebutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrollable.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrollable.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrollbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrolledwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkscrolledwindow.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtksearchbar.h $(CopyDir)\include\gtk-3.0\gtk\gtksearchbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtksearchentry.h $(CopyDir)\include\gtk-3.0\gtk\gtksearchentry.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkselection.h $(CopyDir)\include\gtk-3.0\gtk\gtkselection.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparator.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparator.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparatormenuitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparatormenuitem.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkseparatortoolitem.h $(CopyDir)\include\gtk-3.0\gtk\gtkseparatortoolitem.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtksettings.h $(CopyDir)\include\gtk-3.0\gtk\gtksettings.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkshow.h $(CopyDir)\include\gtk-3.0\gtk\gtkshow.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtksizegroup.h $(CopyDir)\include\gtk-3.0\gtk\gtksizegroup.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtksizerequest.h $(CopyDir)\include\gtk-3.0\gtk\gtksizerequest.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtksocket.h $(CopyDir)\include\gtk-3.0\gtk\gtksocket.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkspinbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkspinbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkspinner.h $(CopyDir)\include\gtk-3.0\gtk\gtkspinner.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstack.h $(CopyDir)\include\gtk-3.0\gtk\gtkstack.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstackswitcher.h $(CopyDir)\include\gtk-3.0\gtk\gtkstackswitcher.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstatusbar.h $(CopyDir)\include\gtk-3.0\gtk\gtkstatusbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstylecontext.h $(CopyDir)\include\gtk-3.0\gtk\gtkstylecontext.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstyleproperties.h $(CopyDir)\include\gtk-3.0\gtk\gtkstyleproperties.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstyleprovider.h $(CopyDir)\include\gtk-3.0\gtk\gtkstyleprovider.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkswitch.h $(CopyDir)\include\gtk-3.0\gtk\gtkswitch.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktestutils.h $(CopyDir)\include\gtk-3.0\gtk\gtktestutils.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextattributes.h $(CopyDir)\include\gtk-3.0\gtk\gtktextattributes.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextbuffer.h $(CopyDir)\include\gtk-3.0\gtk\gtktextbuffer.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextbufferrichtext.h $(CopyDir)\include\gtk-3.0\gtk\gtktextbufferrichtext.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextchild.h $(CopyDir)\include\gtk-3.0\gtk\gtktextchild.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextdisplay.h $(CopyDir)\include\gtk-3.0\gtk\gtktextdisplay.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextiter.h $(CopyDir)\include\gtk-3.0\gtk\gtktextiter.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextmark.h $(CopyDir)\include\gtk-3.0\gtk\gtktextmark.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktexttag.h $(CopyDir)\include\gtk-3.0\gtk\gtktexttag.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktexttagtable.h $(CopyDir)\include\gtk-3.0\gtk\gtktexttagtable.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextview.h $(CopyDir)\include\gtk-3.0\gtk\gtktextview.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktogglebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktogglebutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoggletoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktoggletoolbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolbar.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolbutton.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolbutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolitem.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolitem.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolitemgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolitemgroup.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolpalette.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolpalette.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoolshell.h $(CopyDir)\include\gtk-3.0\gtk\gtktoolshell.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktooltip.h $(CopyDir)\include\gtk-3.0\gtk\gtktooltip.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreednd.h $(CopyDir)\include\gtk-3.0\gtk\gtktreednd.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodel.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodel.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodelfilter.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodelfilter.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreemodelsort.h $(CopyDir)\include\gtk-3.0\gtk\gtktreemodelsort.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeselection.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeselection.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreesortable.h $(CopyDir)\include\gtk-3.0\gtk\gtktreesortable.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreestore.h $(CopyDir)\include\gtk-3.0\gtk\gtktreestore.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeview.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeview.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeviewcolumn.h $(CopyDir)\include\gtk-3.0\gtk\gtktreeviewcolumn.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktypes.h $(CopyDir)\include\gtk-3.0\gtk\gtktypes.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkviewport.h $(CopyDir)\include\gtk-3.0\gtk\gtkviewport.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvolumebutton.h $(CopyDir)\include\gtk-3.0\gtk\gtkvolumebutton.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwidget.h $(CopyDir)\include\gtk-3.0\gtk\gtkwidget.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwidgetpath.h $(CopyDir)\include\gtk-3.0\gtk\gtkwidgetpath.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwindow.h $(CopyDir)\include\gtk-3.0\gtk\gtkwindow.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwindowgroup.h $(CopyDir)\include\gtk-3.0\gtk\gtkwindowgroup.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextlayout.h $(CopyDir)\include\gtk-3.0\gtk\gtktextlayout.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-3.0\gtk\gtktypebuiltins.h&#x0D;&#x0A;
copy ..\..\..\gtk\gtkversion.h $(CopyDir)\include\gtk-3.0\gtk\gtkversion.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkarrowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkarrowaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkbooleancellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkbooleancellaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkbuttonaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcellaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcellaccessibleparent.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcellaccessibleparent.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcheckmenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcheckmenuitemaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcomboboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcomboboxaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcontaineraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcontaineraccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkcontainercellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkcontainercellaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkentryaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkentryaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkexpanderaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkexpanderaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkflowboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkflowboxaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkflowboxchildaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkflowboxchildaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkframeaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkframeaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkiconviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkiconviewaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkimageaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkimageaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkimagecellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkimagecellaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklabelaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklabelaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklevelbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklevelbaraccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklinkbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklinkbuttonaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklistboxaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklistboxaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklistboxrowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklistboxrowaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtklockbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtklockbuttonaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkmenuaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenuaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkmenubuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenubuttonaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkmenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenuitemaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkmenushellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkmenushellaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtknotebookaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtknotebookaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtknotebookpageaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtknotebookpageaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkpanedaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkpanedaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkpopoveraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkpopoveraccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkprogressbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkprogressbaraccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkradiobuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkradiobuttonaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkradiomenuitemaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkradiomenuitemaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkrangeaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkrangeaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkrenderercellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkrenderercellaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkscaleaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscaleaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkscalebuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscalebuttonaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkscrolledwindowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkscrolledwindowaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkspinbuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkspinbuttonaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkspinneraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkspinneraccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkstatusbaraccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkstatusbaraccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkswitchaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkswitchaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktextcellaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktextcellaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktextviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktextviewaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktogglebuttonaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktogglebuttonaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktoplevelaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktoplevelaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtktreeviewaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtktreeviewaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkwidgetaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkwidgetaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\a11y\gtkwindowaccessible.h $(CopyDir)\include\gtk-3.0\gtk\a11y\gtkwindowaccessible.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkactivatable.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkactivatable.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkaction.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkactiongroup.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkactiongroup.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkalignment.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkalignment.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkarrow.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkarrow.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkcolorsel.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkcolorsel.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkcolorseldialog.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkcolorseldialog.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkfontsel.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkfontsel.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkgradient.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkgradient.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhandlebox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhandlebox.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhbbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhbbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhpaned.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhpaned.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhscale.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhscale.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhscrollbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhseparator.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhseparator.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkhsv.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkhsv.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkiconfactory.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkiconfactory.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkimagemenuitem.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkimagemenuitem.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkmisc.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkmisc.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtknumerableicon.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtknumerableicon.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkradioaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkradioaction.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkrc.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkrc.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkrecentaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkrecentaction.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkstatusicon.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstatusicon.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkstock.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstock.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkstyle.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkstyle.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtksymboliccolor.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtksymboliccolor.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtktable.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktable.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtktearoffmenuitem.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktearoffmenuitem.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkthemingengine.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkthemingengine.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtktoggleaction.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtktoggleaction.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkuimanager.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkuimanager.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvbbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvbbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvbox.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvbox.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvscale.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvscale.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvscrollbar.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvscrollbar.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvseparator.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvseparator.h&#x0D;&#x0A;
copy ..\..\..\gtk\deprecated\gtkvpaned.h $(CopyDir)\include\gtk-3.0\gtk\deprecated\gtkvpaned.h&#x0D;&#x0A;
mkdir $(CopyDir)\include\gail-$(ApiVersion)\libgail-util&#x0D;&#x0A;
copy ..\..\..\libgail-util\gail-util.h $(CopyDir)\include\gail-$(ApiVersion)\libgail-util&#x0D;&#x0A;
copy ..\..\..\libgail-util\gailmisc.h $(CopyDir)\include\gail-$(ApiVersion)\libgail-util&#x0D;&#x0A;
copy ..\..\..\libgail-util\gailtextutil.h $(CopyDir)\include\gail-$(ApiVersion)\libgail-util&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\16x16\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\16x16\gtk3-demo.png $(CopyDir)\share\icons\hicolor\16x16\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\22x22\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\22x22\gtk3-demo.png $(CopyDir)\share\icons\hicolor\22x22\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\24x24\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\24x24\gtk3-demo.png $(CopyDir)\share\icons\hicolor\24x24\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\32x32\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\32x32\gtk3-demo.png $(CopyDir)\share\icons\hicolor\32x32\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\48x48\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\48x48\gtk3-demo.png $(CopyDir)\share\icons\hicolor\48x48\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\icons\hicolor\256x256\apps&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\data\256x256\gtk3-demo.png $(CopyDir)\share\icons\hicolor\256x256\apps\&#x0D;&#x0A;
mkdir $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.ColorChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.Debug.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\demos\gtk-demo\org.gtk.Demo.gschema.xml $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
echo &quot;Compiling gsettings XML Files...&quot;&#x0D;&#x0A;
$(CopyDir)\bin\glib-compile-schemas.exe $(CopyDir)\share\glib-2.0\schemas&#x0D;&#x0A;
"
/>
<UserMacro
Name="GtkDoInstallBroadwayHeaders"
Value="
/>
<UserMacro
Name="GtkDoInstallBroadwayHeaders"
Value="
copy ..\..\..\gdk\broadway\gdkbroadway.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk&#x0D;&#x0A;
mkdir $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway&#x0D;&#x0A;
copy ..\..\..\gdk\broadway\gdkbroadwaywindow.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway&#x0D;&#x0A;
copy ..\..\..\gdk\broadway\gdkbroadwaycursor.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway&#x0D;&#x0A;
copy ..\..\..\gdk\broadway\gdkbroadwayvisual.h $(CopyDir)\include\gtk-$(ApiVersion)\gdk\broadway&#x0D;&#x0A;
"
/>
"
/>
</VisualStudioPropertySheet>

View File

@@ -12,10 +12,6 @@
Name="GlibEtcInstallRoot"
Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
/>
<UserMacro
Name="GlibEtcInstallRootFromBuildWin32"
Value="..\..\..\vs$(VSVer)\$(PlatformName)"
/>
<UserMacro
Name="CopyDir"
Value="..\..\..\..\vs$(VSVer)\$(PlatformName)"
@@ -24,6 +20,10 @@
Name="ApiVersion"
Value="3.0"
/>
<UserMacro
Name="GtkVersion"
Value="@GTK_VERSION@"
/>
<UserMacro
Name="GtkLibtoolCompatibleDllPrefix"
Value="lib"
@@ -54,4 +54,4 @@
Name="PythonPath"
Value="c:\python27"
/>
</VisualStudioPropertySheet>
</VisualStudioPropertySheet>

View File

@@ -31,7 +31,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -63,7 +63,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GtkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -95,7 +95,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -127,7 +127,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32;..\..\..\gtk"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GtkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -192,7 +192,38 @@
/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\gtk\gtk-win32.rc.in">
<FileConfiguration Name="Debug|Win32">
<Tool Name="VCCustomBuildTool"
Description="Generating GTK+ Win32 Version Resource..."
CommandLine="$(GenerateGtkWin32RC)"
Outputs="..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest"
/>
</FileConfiguration>
<FileConfiguration Name="Release|Win32">
<Tool Name="VCCustomBuildTool"
Description="Generating GTK+ Win32 Version Resource..."
CommandLine="$(GenerateGtkWin32RC)"
Outputs="..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest"
/>
</FileConfiguration>
<FileConfiguration Name="Debug|x64">
<Tool Name="VCCustomBuildTool"
Description="Generating GTK+ Win32 Version Resource..."
CommandLine="$(GenerateGtkWin32RC)"
Outputs="..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest"
/>
</FileConfiguration>
<FileConfiguration Name="Release|x64">
<Tool Name="VCCustomBuildTool"
Description="Generating GTK+ Win32 Version Resource..."
CommandLine="$(GenerateGtkWin32RC)"
Outputs="..\..\..\gtk\gtk-win32.rc;..\..\..\gtk\libgtk3.manifest"
/>
</FileConfiguration>
</File>
<File RelativePath="..\..\..\gtk\gtk-win32.rc" />
<File RelativePath="..\..\..\gtk\libgtk3.manifest" />
</Filter>
<Filter
Name="Source Files"

View File

@@ -180,6 +180,7 @@
<File RelativePath="..\..\..\demos\gtk-demo\entry_completion.c" />
<File RelativePath="..\..\..\demos\gtk-demo\event_axes.c" />
<File RelativePath="..\..\..\demos\gtk-demo\expander.c" />
<File RelativePath="..\..\..\demos\gtk-demo\gestures.c" />
<File RelativePath="..\..\..\demos\gtk-demo\headerbar.c" />
<File RelativePath="..\..\..\demos\gtk-demo\hypertext.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview.c" />

View File

@@ -0,0 +1,179 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk3-icon-browser"
ProjectGUID="{3281202A-CD26-4C67-B892-EB34BDBC612E}"
RootNamespace="gtk3iconbrowser"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\demos\icon-browser"
PreprocessorDefinitions="_DEBUG"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\demos\icon-browser"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions=""
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="1"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\demos\icon-browser"
PreprocessorDefinitions="_DEBUG"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk-build-defines.vsprops"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\demos\icon-browser"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions=""
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="1"
EnableCOMDATFolding="2"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Sources"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\demos\icon-browser\iconbrowserapp.c" />
<File RelativePath="..\..\..\demos\icon-browser\iconbrowserwin.c" />
<File RelativePath="..\..\..\demos\icon-browser\main.c" />
<File RelativePath="..\..\..\demos\icon-browser\resources.c" />
</Filter>
<Filter
Name="Headers"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -9,8 +9,8 @@
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
m4_define([gtk_major_version], [3])
m4_define([gtk_minor_version], [11])
m4_define([gtk_micro_version], [8])
m4_define([gtk_minor_version], [15])
m4_define([gtk_micro_version], [0])
m4_define([gtk_interface_age], [0])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
@@ -41,13 +41,13 @@ AC_CANONICAL_HOST
m4_define([gtk_binary_version], [3.0.0])
# required versions of other packages
m4_define([glib_required_version], [2.39.5])
m4_define([pango_required_version], [1.32.4])
m4_define([atk_required_version], [2.7.5])
m4_define([glib_required_version], [2.41.2])
m4_define([pango_required_version], [1.36.7])
m4_define([atk_required_version], [2.12.0])
m4_define([cairo_required_version], [1.12.0])
m4_define([gdk_pixbuf_required_version], [2.27.1])
m4_define([gdk_pixbuf_required_version], [2.30.0])
m4_define([introspection_required_version], [1.39.0])
m4_define([wayland_required_version], [1.3.90])
m4_define([wayland_required_version], [1.5.91])
GLIB_REQUIRED_VERSION=glib_required_version
PANGO_REQUIRED_VERSION=pango_required_version
ATK_REQUIRED_VERSION=atk_required_version
@@ -184,8 +184,14 @@ case $host in
*-*-linux*)
os_linux=yes
;;
*-*-darwin*)
os_darwin=yes
;;
esac
# Define _GNU_SOURCE etc. where appropriate, e.g. for strptime() on glibc
AC_USE_SYSTEM_EXTENSIONS
dnl
dnl Check for a working C++ compiler, but do not bail out, if none is found.
dnl We use this for an automated test for C++ header correctness.
@@ -228,7 +234,7 @@ LT_OUTPUT
AC_SYS_LARGEFILE
AM_PROG_AS
AC_PATH_PROG(NM, nm, nm)
AC_PATH_TOOL(NM, nm, nm)
AC_MSG_CHECKING([for some Win32 platform])
case "$host" in
@@ -245,6 +251,7 @@ AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
AM_CONDITIONAL(OS_DARWIN, test "$os_darwin" = "yes")
if test "$os_win32" = "yes"; then
AC_CHECK_TOOL(WINDRES, windres, no)
@@ -397,6 +404,11 @@ else
fi
AC_SUBST(DISABLE_ON_QUARTZ)
AC_CHECK_LIB([rt], [shm_open], [SHM_LIBS="-lrt"], [SHM_LIBS=""])
AC_SUBST(SHM_LIBS)
AC_CHECK_FUNCS(posix_fallocate)
if test "x$enable_broadway_backend" = xyes; then
GDK_BACKENDS="$GDK_BACKENDS broadway"
cairo_backends="$cairo_backends cairo"
@@ -735,9 +747,6 @@ LIBS="$LIBS $GLIB_LIBS"
AC_CHECK_FUNCS(bind_textdomain_codeset)
LIBS=$gtk_save_LIBS
AC_CHECK_HEADERS(pwd.h,
AC_DEFINE(HAVE_PWD_H, 1,
[Define to 1 if pwd.h is available]))
AC_CHECK_HEADERS(sys/mman.h,
AC_DEFINE(HAVE_SYS_MMAN_H, 1,
[Define to 1 if mman.h is available]))
@@ -927,7 +936,9 @@ AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
AS_IF([test "x$enable_gtk2_dependency" = xyes],
[AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
if test x$GTK_UPDATE_ICON_CACHE = xno; then
REBUILD_PNGS=#
AC_MSG_ERROR([
*** --enable-gtk2-dependency has been set but no existing
*** `gtk-update-icon-cache` has been found in the path.])
fi],
[test "x$cross_compiling" = xyes],
@@ -945,22 +956,21 @@ AS_IF([test "x$enable_gtk2_dependency" = xyes],
NATIVE_GDKPIXBUF_CFLAGS=`$PKG_CONFIG_FOR_BUILD --cflags gdk-pixbuf-2.0`
NATIVE_GDKPIXBUF_LIBS=`$PKG_CONFIG_FOR_BUILD --libs gdk-pixbuf-2.0`
# This is the native gtk-update-icon-cache which will be used at
# build time, NOT the one installed on the target host.
GTK_UPDATE_ICON_CACHE="`cd $builddir && pwd`/gtk/native/native-update-icon-cache$BUILD_EXEEXT"
AC_SUBST(NATIVE_GDKPIXBUF_CFLAGS)
AC_SUBST(NATIVE_GDKPIXBUF_LIBS)]
AC_SUBST(NATIVE_GDKPIXBUF_LIBS)
AC_SUBST(GTK_UPDATE_ICON_CACHE)],
[# In native compiling case, the gtk-update-icon-cache installed
# is the same as the one used during build.
GTK_UPDATE_ICON_CACHE="\$(abs_top_builddir)/gtk/gtk-update-icon-cache$EXEEXT"
AC_SUBST(GTK_UPDATE_ICON_CACHE)]
)
AM_CONDITIONAL(USE_EXTERNAL_ICON_CACHE, [test "x$enable_gtk2_dependency" = xyes])
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
test "x$REBUILD_PNGS" = "x#" ; then
AC_MSG_ERROR([
*** gtkbuiltincache.h is not in the tree, and cannot be built
*** because you don't have libpng, or (when cross-compiling) you
*** don't have a prebuilt gtk-update-icon-cache on the build system.])
fi
########################################
# Windowing system checks
########################################
@@ -1439,7 +1449,7 @@ AC_ARG_ENABLE(cups,
if test "x$enable_cups" = "xno"; then
AM_CONDITIONAL(HAVE_CUPS, false)
else
AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
AC_PATH_TOOL(CUPS_CONFIG, cups-config, no)
if test "x$CUPS_CONFIG" = "xno"; then
if test "x$enable_cups" = "xauto"; then
AM_CONDITIONAL(HAVE_CUPS, false)
@@ -1520,6 +1530,37 @@ else
fi
fi
# Checks to see if we should compile with cloudprint backend for GTK+
#
AC_ARG_ENABLE(cloudprint,
[AS_HELP_STRING([--disable-cloudprint],
[disable cloudprint print backend])],,
[enable_cloudprint=auto])
if test "x$enable_cloudprint" = "xno"; then
AM_CONDITIONAL(HAVE_CLOUDPRINT, false)
else
PKG_CHECK_MODULES(REST, [rest-0.7], have_rest=yes, have_rest=no)
PKG_CHECK_MODULES(JSON_GLIB, [json-glib-1.0], have_json_glib=yes, have_json_glib=no)
if test "x$have_rest" = "xyes" -a "x$have_json_glib" = "xyes"; then
PRINT_BACKENDS="$PRINT_BACKENDS cloudprint"
fi
AM_CONDITIONAL(HAVE_CLOUDPRINT, test "x$have_rest" = "xyes" -a "x$have_json_glib" = "xyes")
fi
if test "x$enable_cloudprint" = "xyes" -a "x$have_rest" = "xno"; then
AC_MSG_ERROR([
*** rest not found.
])
fi
if test "x$enable_cloudprint" = "xyes" -a "x$have_json_glib" = "xno"; then
AC_MSG_ERROR([
*** json-glib not found.
])
fi
AM_CONDITIONAL(HAVE_PAPI_CUPS, test "x$have_papi" = "xyes" -a "x$CUPS_CONFIG" != "xno")
gtk_save_cppflags="$CPPFLAGS"
@@ -1683,6 +1724,16 @@ else
AC_MSG_RESULT([no])
fi
AC_ARG_ENABLE(doc-cross-references,
AC_HELP_STRING([--disable-doc-cross-references],
[cross reference symbols from other libraries @<:@default=yes@:>@]),
enable_doc_cross_references=$enableval,
enable_doc_cross_references=yes)
AM_CONDITIONAL(ENABLE_DOC_CROSS_REFERENCES, test x$enable_doc_cross_references != xno)
##################################################
# Visibility handling
##################################################
@@ -1800,9 +1851,10 @@ po-properties/Makefile.in
demos/Makefile
demos/gtk-demo/Makefile
demos/gtk-demo/geninclude.pl
demos/pixbuf-demo/Makefile
demos/widget-factory/Makefile
demos/icon-browser/Makefile
examples/Makefile
examples/bp/Makefile
examples/application1/Makefile
examples/application2/Makefile
examples/application3/Makefile
@@ -1817,6 +1869,7 @@ tests/Makefile
tests/visuals/Makefile
testsuite/Makefile
testsuite/a11y/Makefile
testsuite/a11y/state/Makefile
testsuite/css/Makefile
testsuite/css/parser/Makefile
testsuite/gdk/Makefile
@@ -1833,10 +1886,15 @@ docs/reference/libgail-util/Makefile
docs/reference/libgail-util/version.xml
docs/tools/Makefile
build/Makefile
build/gtk-introspection-msvc.mak
build/win32/Makefile
build/win32/crypt/Makefile
build/win32/vs9/Makefile
build/win32/vs9/gtk-version-paths.vsprops
build/win32/vs10/Makefile
build/win32/vs10/gtk-version-paths.props
build/win32/vs11/Makefile
build/win32/vs12/Makefile
gdk/Makefile
gdk/broadway/Makefile
gdk/x11/Makefile
@@ -1850,15 +1908,16 @@ gtk/Makefile
gtk/makefile.msc
gtk/gtkversion.h
gtk/gtk-win32.rc
gtk/a11y/Makefile
gtk/libgtk3.manifest
gtk/inspector/Makefile
gtk/native/Makefile
util/Makefile
libgail-util/Makefile
modules/Makefile
modules/engines/Makefile
modules/engines/pixbuf/Makefile
modules/input/Makefile
modules/printbackends/Makefile
modules/printbackends/cups/Makefile
modules/printbackends/cloudprint/Makefile
modules/printbackends/lpr/Makefile
modules/printbackends/file/Makefile
modules/printbackends/papi/Makefile

View File

@@ -1,6 +1,6 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
SUBDIRS = gtk-demo widget-factory pixbuf-demo
SUBDIRS = gtk-demo widget-factory icon-browser
-include $(top_srcdir)/git.mk

View File

@@ -24,6 +24,7 @@ demos = \
entry_completion.c \
event_axes.c \
expander.c \
gestures.c \
headerbar.c \
hypertext.c \
iconview.c \
@@ -47,6 +48,7 @@ demos = \
rotated_text.c \
search_entry.c \
search_entry2.c \
sidebar.c \
sizegroup.c \
spinner.c \
stack.c \
@@ -123,6 +125,7 @@ RESOURCES= $(demos) \
revealer.ui \
theming.ui \
listbox.ui \
popover.ui \
alphatest.png \
apple-red.png \
brick.png \
@@ -163,7 +166,7 @@ dist_appsicon32_DATA = data/32x32/gtk3-demo.png
dist_appsicon48_DATA = data/48x48/gtk3-demo.png
dist_appsicon256_DATA = data/256x256/gtk3-demo.png
update_icon_cache = gtk-update-icon-cache --ignore-theme-index --force
update_icon_cache = $(GTK_UPDATE_ICON_CACHE) --ignore-theme-index --force
install-data-hook: install-update-icon-cache
uninstall-hook: uninstall-update-icon-cache

View File

@@ -95,7 +95,7 @@ do_button_box (GtkWidget *do_widget)
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Expand", 40, GTK_BUTTONBOX_EXPAND),
create_bbox (TRUE, "Expand", 0, GTK_BUTTONBOX_EXPAND),
TRUE, TRUE, 5);
frame_vert = gtk_frame_new ("Vertical Button Boxes");
@@ -124,7 +124,7 @@ do_button_box (GtkWidget *do_widget)
create_bbox (FALSE, "Center", 10, GTK_BUTTONBOX_CENTER),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Expand", 10, GTK_BUTTONBOX_EXPAND),
create_bbox (FALSE, "Expand", 0, GTK_BUTTONBOX_EXPAND),
TRUE, TRUE, 5);
}

View File

@@ -20,12 +20,7 @@ draw_callback (GtkWidget *widget,
cairo_t *cr,
gpointer data)
{
GtkStyleContext *context;
GdkRGBA rgba;
context = gtk_widget_get_style_context (widget);
gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, &rgba);
gdk_cairo_set_source_rgba (cr, &rgba);
gdk_cairo_set_source_rgba (cr, &color);
cairo_paint (cr);
return TRUE;
@@ -39,10 +34,9 @@ response_cb (GtkDialog *dialog,
if (response_id == GTK_RESPONSE_OK)
{
gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (dialog), &color);
gtk_widget_override_background_color (da, 0, &color);
}
gtk_widget_hide (GTK_WIDGET (dialog));
gtk_widget_destroy (GTK_WIDGET (dialog));
}
static void
@@ -105,8 +99,6 @@ do_colorsel (GtkWidget *do_widget)
/* set a minimum size */
gtk_widget_set_size_request (da, 200, 200);
/* set the color */
gtk_widget_override_background_color (da, 0, &color);
gtk_container_add (GTK_CONTAINER (frame), da);

View File

@@ -259,18 +259,21 @@ G_DEFINE_TYPE_WITH_CODE (MaskEntry, mask_entry, GTK_TYPE_ENTRY,
static void
mask_entry_set_background (MaskEntry *entry)
{
static const GdkRGBA error_color = { 1.0, 0.9, 0.9, 1.0 };
if (entry->mask)
{
if (!g_regex_match_simple (entry->mask, gtk_entry_get_text (GTK_ENTRY (entry)), 0, 0))
{
gtk_widget_override_color (GTK_WIDGET (entry), 0, &error_color);
PangoAttrList *attrs;
attrs = pango_attr_list_new ();
pango_attr_list_insert (attrs, pango_attr_foreground_new (65535, 32767, 32767));
gtk_entry_set_attributes (GTK_ENTRY (entry), attrs);
pango_attr_list_unref (attrs);
return;
}
}
gtk_widget_override_color (GTK_WIDGET (entry), 0, NULL);
gtk_entry_set_attributes (GTK_ENTRY (entry), NULL);
}

View File

@@ -94,6 +94,7 @@
<file>event_axes.c</file>
<file>expander.c</file>
<file>flowbox.c</file>
<file>gestures.c</file>
<file>headerbar.c</file>
<file>hypertext.c</file>
<file>iconview.c</file>
@@ -117,6 +118,7 @@
<file>search_entry.c</file>
<file>search_entry2.c</file>
<file>sizegroup.c</file>
<file>sidebar.c</file>
<file>stack.c</file>
<file>spinner.c</file>
<file>textview.c</file>

View File

@@ -351,7 +351,6 @@ do_editable_cells (GtkWidget *do_widget)
/* create tree view */
treeview = gtk_tree_view_new_with_model (items_model);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
GTK_SELECTION_SINGLE);

View File

@@ -12,18 +12,31 @@
static GtkWidget *window = NULL;
static gboolean
draw_color (GtkWidget *drawingarea,
cairo_t *cr,
const char *color_name)
{
GdkRGBA rgba;
if (gdk_rgba_parse (&rgba, color_name))
{
gdk_cairo_set_source_rgba (cr, &rgba);
cairo_paint (cr);
}
return FALSE;
}
static GtkWidget *
color_swatch_new (const gchar *color)
{
GtkWidget *button, *area;
GdkRGBA rgba;
gdk_rgba_parse (&rgba, color);
button = gtk_button_new ();
area = gtk_drawing_area_new ();
g_signal_connect (area, "draw", G_CALLBACK (draw_color), (gpointer) color);
gtk_widget_set_size_request (area, 24, 24);
gtk_widget_override_background_color (area, 0, &rgba);
gtk_container_add (GTK_CONTAINER (button), area);
gtk_widget_show_all (button);

199
demos/gtk-demo/gestures.c Normal file
View File

@@ -0,0 +1,199 @@
/* Gestures
*
* Perform gestures on touchscreens and other input devices. This
* demo reacts to long presses and swipes from all devices, plus
* multi-touch rotate and zoom gestures.
*/
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
static GtkGesture *rotate = NULL;
static GtkGesture *zoom = NULL;
static gdouble swipe_x = 0;
static gdouble swipe_y = 0;
static gboolean long_pressed = FALSE;
static void
swipe_gesture_swept (GtkGestureSwipe *gesture,
gdouble velocity_x,
gdouble velocity_y,
GtkWidget *widget)
{
swipe_x = velocity_x / 10;
swipe_y = velocity_y / 10;
gtk_widget_queue_draw (widget);
}
static void
long_press_gesture_pressed (GtkGestureLongPress *gesture,
gdouble x,
gdouble y,
GtkWidget *widget)
{
long_pressed = TRUE;
gtk_widget_queue_draw (widget);
}
static void
long_press_gesture_end (GtkGesture *gesture,
GdkEventSequence *sequence,
GtkWidget *widget)
{
long_pressed = FALSE;
gtk_widget_queue_draw (widget);
}
static void
rotation_angle_changed (GtkGestureRotate *gesture,
gdouble angle,
gdouble delta,
GtkWidget *widget)
{
gtk_widget_queue_draw (widget);
}
static void
zoom_scale_changed (GtkGestureZoom *gesture,
gdouble scale,
GtkWidget *widget)
{
gtk_widget_queue_draw (widget);
}
static gboolean
drawing_area_draw (GtkWidget *widget,
cairo_t *cr)
{
GtkAllocation allocation;
gtk_widget_get_allocation (widget, &allocation);
if (swipe_x != 0 || swipe_y != 0)
{
cairo_save (cr);
cairo_set_line_width (cr, 6);
cairo_move_to (cr, allocation.width / 2,
allocation.height / 2);
cairo_rel_line_to (cr, swipe_x, swipe_y);
cairo_set_source_rgba (cr, 1, 0, 0, 0.5);
cairo_stroke (cr);
cairo_restore (cr);
}
if (gtk_gesture_is_recognized (rotate) || gtk_gesture_is_recognized (zoom))
{
cairo_pattern_t *pat;
cairo_matrix_t matrix;
gdouble angle, scale;
cairo_matrix_init_translate (&matrix,
allocation.width / 2,
allocation.height / 2);
cairo_save (cr);
angle = gtk_gesture_rotate_get_angle_delta (GTK_GESTURE_ROTATE (rotate));
cairo_matrix_rotate (&matrix, angle);
scale = gtk_gesture_zoom_get_scale_delta (GTK_GESTURE_ZOOM (zoom));
cairo_matrix_scale (&matrix, scale, scale);
cairo_set_matrix (cr, &matrix);
cairo_rectangle (cr, -100, -100, 200, 200);
pat = cairo_pattern_create_linear (-100, 0, 200, 0);
cairo_pattern_add_color_stop_rgb (pat, 0, 0, 0, 1);
cairo_pattern_add_color_stop_rgb (pat, 1, 1, 0, 0);
cairo_set_source (cr, pat);
cairo_fill (cr);
cairo_restore (cr);
cairo_pattern_destroy (pat);
}
if (long_pressed)
{
cairo_save (cr);
cairo_arc (cr, allocation.width / 2,
allocation.height / 2,
50, 0, 2 * G_PI);
cairo_set_source_rgba (cr, 0, 1, 0, 0.5);
cairo_stroke (cr);
cairo_restore (cr);
}
return TRUE;
}
GtkWidget *
do_gestures (GtkWidget *do_widget)
{
GtkWidget *drawing_area;
GtkGesture *gesture;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 400, 400);
gtk_window_set_title (GTK_WINDOW (window), "Gestures demo");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (window), drawing_area);
gtk_widget_add_events (drawing_area,
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK | GDK_TOUCH_MASK);
g_signal_connect (drawing_area, "draw",
G_CALLBACK (drawing_area_draw), NULL);
/* Swipe */
gesture = gtk_gesture_swipe_new (drawing_area);
g_signal_connect (gesture, "swipe",
G_CALLBACK (swipe_gesture_swept), drawing_area);
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (gesture),
GTK_PHASE_BUBBLE);
g_object_weak_ref (G_OBJECT (drawing_area), (GWeakNotify) g_object_unref, gesture);
/* Long press */
gesture = gtk_gesture_long_press_new (drawing_area);
g_signal_connect (gesture, "pressed",
G_CALLBACK (long_press_gesture_pressed), drawing_area);
g_signal_connect (gesture, "end",
G_CALLBACK (long_press_gesture_end), drawing_area);
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (gesture),
GTK_PHASE_BUBBLE);
g_object_weak_ref (G_OBJECT (drawing_area), (GWeakNotify) g_object_unref, gesture);
/* Rotate */
rotate = gesture = gtk_gesture_rotate_new (drawing_area);
g_signal_connect (gesture, "angle-changed",
G_CALLBACK (rotation_angle_changed), drawing_area);
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (gesture),
GTK_PHASE_BUBBLE);
g_object_weak_ref (G_OBJECT (drawing_area), (GWeakNotify) g_object_unref, gesture);
/* Zoom */
zoom = gesture = gtk_gesture_zoom_new (drawing_area);
g_signal_connect (gesture, "scale-changed",
G_CALLBACK (zoom_scale_changed), drawing_area);
gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (gesture),
GTK_PHASE_BUBBLE);
g_object_weak_ref (G_OBJECT (drawing_area), (GWeakNotify) g_object_unref, gesture);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -44,10 +44,10 @@ do_headerbar (GtkWidget *do_widget)
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_style_context_add_class (gtk_widget_get_style_context (box), "linked");
button = gtk_button_new ();
gtk_container_add (GTK_CONTAINER (button), gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_NONE));
gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_icon_name ("pan-start-symbolic", GTK_ICON_SIZE_BUTTON));
gtk_container_add (GTK_CONTAINER (box), button);
button = gtk_button_new ();
gtk_container_add (GTK_CONTAINER (button), gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_NONE));
gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_icon_name ("pan-end-symbolic", GTK_ICON_SIZE_BUTTON));
gtk_container_add (GTK_CONTAINER (box), button);
gtk_header_bar_pack_start (GTK_HEADER_BAR (header), box);

View File

@@ -270,6 +270,7 @@ do_iconview (GtkWidget *do_widget)
up_button = gtk_tool_button_new (NULL, NULL);
gtk_tool_button_set_label (GTK_TOOL_BUTTON (up_button), _("_Up"));
gtk_tool_button_set_use_underline (GTK_TOOL_BUTTON (up_button), TRUE);
gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (up_button), "go-up");
gtk_tool_item_set_is_important (up_button, TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (up_button), FALSE);
@@ -277,6 +278,7 @@ do_iconview (GtkWidget *do_widget)
home_button = gtk_tool_button_new (NULL, NULL);
gtk_tool_button_set_label (GTK_TOOL_BUTTON (home_button), _("_Home"));
gtk_tool_button_set_use_underline (GTK_TOOL_BUTTON (home_button), TRUE);
gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (home_button), "go-home");
gtk_tool_item_set_is_important (home_button, TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), home_button, -1);

View File

@@ -52,20 +52,24 @@ set_cell_color (GtkCellLayout *cell_layout,
gpointer data)
{
gchar *text;
GdkColor color;
GdkRGBA color;
guint32 pixel = 0;
GdkPixbuf *pixbuf;
gtk_tree_model_get (tree_model, iter, COL_TEXT, &text, -1);
if (gdk_color_parse (text, &color))
if (!text)
return;
if (gdk_rgba_parse (&color, text))
pixel =
(color.red >> 8) << 24 |
(color.green >> 8) << 16 |
(color.blue >> 8) << 8;
((gint)(color.red * 255)) << 24 |
((gint)(color.green * 255)) << 16 |
((gint)(color.blue * 255)) << 8 |
((gint)(color.alpha * 255));
g_free (text);
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 24, 24);
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, 24, 24);
gdk_pixbuf_fill (pixbuf, pixel);
g_object_set (cell, "pixbuf", pixbuf, NULL);

View File

@@ -50,18 +50,21 @@ progressive_updated_callback (GdkPixbufLoader *loader,
gpointer data)
{
GtkWidget *image;
GdkPixbuf *pixbuf;
image = GTK_WIDGET (data);
/* We know the pixbuf inside the GtkImage has changed, but the image
* itself doesn't know this; so queue a redraw. If we wanted to be
* really efficient, we could use a drawing area or something
* instead of a GtkImage, so we could control the exact position of
* the pixbuf on the display, then we could queue a draw for only
* the updated area of the image.
* itself doesn't know this; so give it a hint by setting the pixbuf
* again. Queuing a redraw used to be sufficient, but nowadays GtkImage
* uses GtkIconHelper which caches the pixbuf state and will just redraw
* from the cache.
*/
gtk_widget_queue_draw (image);
pixbuf = gtk_image_get_pixbuf (GTK_IMAGE (image));
g_object_ref (pixbuf);
gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
g_object_unref (pixbuf);
}
static gint
@@ -270,6 +273,7 @@ start_progressive_loading (GtkWidget *image)
load_timeout = gdk_threads_add_timeout (150,
progressive_timeout,
image);
g_source_set_name_by_id (load_timeout, "[gtk+] progressive_timeout");
}
static void

View File

@@ -33,6 +33,7 @@ activate_link (GtkWidget *label,
"The term <i>keynav</i> is a shorthand for "
"keyboard navigation and refers to the process of using "
"a program (exclusively) via keyboard input.");
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_window_present (GTK_WINDOW (dialog));
g_signal_connect (dialog, "response", G_CALLBACK (response_cb), NULL);

View File

@@ -284,7 +284,6 @@ do_list_store (GtkWidget *do_widget)
/* create tree view */
treeview = gtk_tree_view_new_with_model (model);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview),
COLUMN_DESCRIPTION);

View File

@@ -471,6 +471,9 @@ fontify (GtkTextBuffer *source_buffer)
gchar *start_ptr, *end_ptr;
gchar *tag;
gtk_text_buffer_get_bounds (source_buffer, &start_iter, &tmp_iter);
gtk_text_buffer_apply_tag_by_name (source_buffer, "source", &start_iter, &tmp_iter);
state = STATE_NORMAL;
gtk_text_buffer_get_iter_at_offset (source_buffer, &start_iter, 0);
@@ -513,9 +516,8 @@ static GtkWidget *create_text (GtkWidget **text_view, gboolean is_source);
static void
add_data_tab (const gchar *demoname)
{
gchar *resource_dir, *resource_name, *content_type, *content_mime;
gchar *resource_dir, *resource_name;
gchar **resources;
GBytes *bytes;
GtkWidget *widget, *label;
guint i;
@@ -530,41 +532,40 @@ add_data_tab (const gchar *demoname)
for (i = 0; resources[i]; i++)
{
resource_name = g_strconcat (resource_dir, "/", resources[i], NULL);
bytes = g_resources_lookup_data (resource_name, 0, NULL);
g_assert (bytes);
content_type = g_content_type_guess (resource_name,
g_bytes_get_data (bytes, NULL),
g_bytes_get_size (bytes),
NULL);
content_mime = g_content_type_get_mime_type (content_type);
/* In theory we should look at all the mime types gdk-pixbuf supports
* and go from there, but we know what file types we've added.
*/
if (g_content_type_is_a (content_mime, "image/png") ||
g_content_type_is_a (content_mime, "image/gif") ||
g_content_type_is_a (content_mime, "image/jpeg"))
widget = gtk_image_new_from_resource (resource_name);
if (gtk_image_get_pixbuf (GTK_IMAGE (widget)) == NULL &&
gtk_image_get_animation (GTK_IMAGE (widget)) == NULL)
{
widget = gtk_image_new_from_resource (resource_name);
}
else if (g_content_type_is_a (content_mime, "text/plain") ||
g_content_type_is_a (content_mime, "application/x-ext-ui") ||
g_content_type_is_a (content_mime, "text/css"))
{
GtkTextBuffer *buffer;
GtkWidget *textview;
GBytes *bytes;
widget = create_text (&textview, FALSE);
buffer = gtk_text_buffer_new (NULL);
gtk_text_buffer_set_text (buffer, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes));
gtk_text_view_set_buffer (GTK_TEXT_VIEW (textview), buffer);
}
else
{
/* So we've used the best API available to figure out it's
* not an image. Let's try something else then.
*/
g_object_ref_sink (widget);
gtk_widget_destroy (widget);
g_warning ("Don't know how to display resource '%s' of type '%s'\n", resource_name, content_mime);
widget = NULL;
bytes = g_resources_lookup_data (resource_name, 0, NULL);
g_assert (bytes);
if (g_utf8_validate (g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes), NULL))
{
/* Looks like it parses as text. Dump it into a textview then! */
GtkTextBuffer *buffer;
GtkWidget *textview;
widget = create_text (&textview, FALSE);
buffer = gtk_text_buffer_new (NULL);
gtk_text_buffer_set_text (buffer, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes));
gtk_text_view_set_buffer (GTK_TEXT_VIEW (textview), buffer);
}
else
{
g_warning ("Don't know how to display resource '%s'\n", resource_name);
widget = NULL;
}
g_bytes_unref (bytes);
}
gtk_widget_show_all (widget);
@@ -576,10 +577,7 @@ add_data_tab (const gchar *demoname)
"tab-expand", TRUE,
NULL);
g_free (content_mime);
g_free (content_type);
g_free (resource_name);
g_bytes_unref (bytes);
}
g_strfreev (resources);
@@ -626,6 +624,9 @@ load_file (const gchar *demoname,
NULL);
source_buffer = gtk_text_buffer_new (NULL);
gtk_text_buffer_create_tag (source_buffer, "source",
"font", "monospace",
NULL);
gtk_text_buffer_create_tag (source_buffer, "comment",
"foreground", "DodgerBlue",
NULL);
@@ -820,7 +821,6 @@ create_text (GtkWidget **view,
{
GtkWidget *scrolled_window;
GtkWidget *text_view;
PangoFontDescription *font_desc;
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
@@ -839,22 +839,15 @@ create_text (GtkWidget **view,
if (is_source)
{
font_desc = pango_font_description_from_string ("monospace");
gtk_widget_override_font (text_view, font_desc);
pango_font_description_free (font_desc);
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view),
GTK_WRAP_NONE);
gtk_text_view_set_monospace (GTK_TEXT_VIEW (text_view), TRUE);
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), GTK_WRAP_NONE);
}
else
{
/* Make it a bit nicer for text. */
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view),
GTK_WRAP_WORD);
gtk_text_view_set_pixels_above_lines (GTK_TEXT_VIEW (text_view),
2);
gtk_text_view_set_pixels_below_lines (GTK_TEXT_VIEW (text_view),
2);
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), GTK_WRAP_WORD);
gtk_text_view_set_pixels_above_lines (GTK_TEXT_VIEW (text_view), 2);
gtk_text_view_set_pixels_below_lines (GTK_TEXT_VIEW (text_view), 2);
}
return scrolled_window;
@@ -915,9 +908,10 @@ startup (GApplication *app)
{
GtkBuilder *builder;
GMenuModel *appmenu;
gchar *ids[] = { "appmenu", NULL };
builder = gtk_builder_new ();
gtk_builder_add_from_resource (builder, "/ui/main.ui", NULL);
gtk_builder_add_objects_from_resource (builder, "/ui/main.ui", ids, NULL);
appmenu = (GMenuModel *)gtk_builder_get_object (builder, "appmenu");
@@ -1015,9 +1009,7 @@ main (int argc, char **argv)
}
/* -- End of hack -- */
gtk_init (&argc, &argv);
app = gtk_application_new ("org.gtk.Demo", 0);
app = gtk_application_new ("org.gtk.Demo", G_APPLICATION_NON_UNIQUE);
g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries),

View File

@@ -46,7 +46,7 @@
<object class="GtkButton" id="run_button">
<property name="visible">True</property>
<property name="valign">center</property>
<property name="can_focus">False</property>
<property name="can_focus">True</property>
<property name="action_name">win.run</property>
<style>
<class name="text-button"/>
@@ -128,8 +128,8 @@
<object class="GtkTextView" id="info-textview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_left">20</property>
<property name="margin_right">20</property>
<property name="margin_start">20</property>
<property name="margin_end">20</property>
<property name="margin_top">20</property>
<property name="margin_bottom">20</property>
<property name="pixels_above_lines">2</property>
@@ -165,9 +165,8 @@
<object class="GtkTextView" id="source-textview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_left">20</property>
<property name="margin_start">20</property>
<property name="margin_end">20</property>
<property name="margin_right">20</property>
<property name="margin_top">20</property>
<property name="margin_bottom">20</property>
<property name="editable">False</property>

View File

@@ -573,7 +573,6 @@ do_offscreen_window (GtkWidget *do_widget)
if (!window)
{
GtkWidget *bin, *vbox, *scale, *button;
GdkRGBA black;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
@@ -583,8 +582,6 @@ do_offscreen_window (GtkWidget *do_widget)
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gdk_rgba_parse (&black, "black");
gtk_widget_override_background_color (window, 0, &black);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);

View File

@@ -18,6 +18,8 @@ change_direction (GtkRevealer *revealer)
gtk_revealer_set_reveal_child (revealer, !revealed);
}
static guint timeout = 0;
static gboolean
reveal_one (gpointer data)
{
@@ -33,11 +35,15 @@ reveal_one (gpointer data)
G_CALLBACK (change_direction), NULL);
count++;
return count < 9;
if (count >= 9)
{
timeout = 0;
return FALSE;
}
else
return TRUE;
}
static guint timeout = 0;
static void
response_cb (GtkWidget *dialog,
gint response_id,

View File

@@ -181,8 +181,6 @@ do_rotated_text (GtkWidget *do_widget)
PangoLayout *layout;
PangoAttrList *attrs;
const GdkRGBA white = { 1.0, 1.0, 1.0, 1.0 };
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
@@ -195,18 +193,15 @@ do_rotated_text (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (window), box);
/* Add a drawing area */
drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (box), drawing_area);
/* This overrides the background color from the theme */
gtk_widget_override_background_color (drawing_area, 0, &white);
gtk_style_context_add_class (gtk_widget_get_style_context (drawing_area),
GTK_STYLE_CLASS_VIEW);
g_signal_connect (drawing_area, "draw",
G_CALLBACK (rotated_text_draw), NULL);
/* And a label */
label = gtk_label_new (text);
gtk_container_add (GTK_CONTAINER (box), label);

89
demos/gtk-demo/sidebar.c Normal file
View File

@@ -0,0 +1,89 @@
/* Sidebar
*
* GtkSidebar provides an automatic sidebar widget to control navigation
* of a GtkStack object. This widget automatically updates it content
* based on what is presently available in the GtkStack object, and
* using the "title" child property to set the display labels.
*/
#include <glib/gi18n.h>
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
GtkWidget *
do_sidebar (GtkWidget *do_widget)
{
GtkWidget *sidebar;
GtkWidget *stack;
GtkWidget *box;
GtkWidget *widget;
GtkWidget *header;
const gchar* pages[] = {
"Welcome to GTK+",
"GtkSidebar Widget",
"Automatic navigation",
"Consistent appearance",
"Scrolling",
"Page 6",
"Page 7",
"Page 8",
"Page 9",
NULL
};
const gchar *c = NULL;
guint i;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_resizable (GTK_WINDOW (window), TRUE);
gtk_widget_set_size_request (window, 500, 350);
header = gtk_header_bar_new ();
gtk_header_bar_set_show_close_button (GTK_HEADER_BAR(header), TRUE);
gtk_window_set_titlebar (GTK_WINDOW(window), header);
gtk_window_set_title (GTK_WINDOW(window), "Sidebar demo");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
sidebar = gtk_sidebar_new ();
gtk_box_pack_start (GTK_BOX (box), sidebar, FALSE, FALSE, 0);
stack = gtk_stack_new ();
gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_SLIDE_UP_DOWN);
gtk_sidebar_set_stack (GTK_SIDEBAR (sidebar), GTK_STACK (stack));
/* Separator between sidebar and stack */
widget = gtk_separator_new (GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start (GTK_BOX(box), widget, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (box), stack, TRUE, TRUE, 0);
for (i=0; (c = *(pages+i)) != NULL; i++ )
{
if (i == 0)
{
widget = gtk_image_new_from_icon_name ("help-about", GTK_ICON_SIZE_MENU);
gtk_image_set_pixel_size (GTK_IMAGE (widget), 256);
}
else
{
widget = gtk_label_new (c);
}
gtk_stack_add_named (GTK_STACK (stack), widget, c);
gtk_container_child_set (GTK_CONTAINER (stack), widget, "title", c, NULL);
}
gtk_container_add (GTK_CONTAINER (window), box);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
return window;
}

View File

@@ -120,6 +120,7 @@ do_sizegroup (GtkWidget *do_widget)
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
g_object_set_data_full (G_OBJECT (window), "size-group", size_group, g_object_unref);
/* Create one frame holding color options */
frame = gtk_frame_new ("Color Options");

View File

@@ -16,6 +16,7 @@ scroll_to_end (GtkTextView *textview)
GtkTextIter iter;
GtkTextMark *mark;
char *spaces;
char *text;
static int count;
buffer = gtk_text_view_get_buffer (textview);
@@ -32,11 +33,11 @@ scroll_to_end (GtkTextView *textview)
spaces = g_strnfill (count++, ' ');
gtk_text_buffer_insert (buffer, &iter, "\n", -1);
gtk_text_buffer_insert (buffer, &iter, spaces, -1);
gtk_text_buffer_insert (buffer, &iter,
"Scroll to end scroll to end scroll "
"to end scroll to end ",
-1);
text = g_strdup_printf ("Scroll to end scroll to end scroll "
"to end scroll to end %d", count);
gtk_text_buffer_insert (buffer, &iter, text, -1);
g_free (spaces);
g_free (text);
/* Now scroll the end mark onscreen.
*/
@@ -60,6 +61,7 @@ scroll_to_bottom (GtkTextView *textview)
GtkTextIter iter;
GtkTextMark *mark;
char *spaces;
char *text;
static int count;
buffer = gtk_text_view_get_buffer (textview);
@@ -73,11 +75,11 @@ scroll_to_bottom (GtkTextView *textview)
spaces = g_strnfill (count++, ' ');
gtk_text_buffer_insert (buffer, &iter, "\n", -1);
gtk_text_buffer_insert (buffer, &iter, spaces, -1);
gtk_text_buffer_insert (buffer, &iter,
"Scroll to bottom scroll to bottom scroll "
"to bottom scroll to bottom",
-1);
text = g_strdup_printf ("Scroll to bottom scroll to bottom scroll "
"to bottom scroll to bottom %d", count);
gtk_text_buffer_insert (buffer, &iter, text, -1);
g_free (spaces);
g_free (text);
/* Move the iterator to the beginning of line, so we don't scroll
* in horizontal direction

View File

@@ -539,26 +539,18 @@ recursive_attach_view (int depth,
GtkTextView *view,
GtkTextChildAnchor *anchor)
{
GtkWidget *child_view;
GtkWidget *event_box;
GdkRGBA color;
GtkWidget *child_view, *frame;
if (depth > 4)
return;
child_view = gtk_text_view_new_with_buffer (gtk_text_view_get_buffer (view));
/* Event box is to add a black border around each child view */
event_box = gtk_event_box_new ();
gdk_rgba_parse (&color, "black");
gtk_widget_override_background_color (event_box, 0, &color);
/* Frame is to add a black border around each child view */
frame = gtk_frame_new (NULL);
gtk_container_add (GTK_CONTAINER (frame), child_view);
gtk_widget_set_halign (child_view, GTK_ALIGN_FILL);
gtk_widget_set_valign (child_view, GTK_ALIGN_FILL);
gtk_container_add (GTK_CONTAINER (event_box), child_view);
gtk_text_view_add_child_at_anchor (view, event_box, anchor);
gtk_text_view_add_child_at_anchor (view, frame, anchor);
recursive_attach_view (depth + 1, GTK_TEXT_VIEW (child_view), anchor);
}

View File

@@ -656,6 +656,9 @@ load_icon_items (GtkToolPalette *palette)
GtkWidget *group = gtk_tool_item_group_new (context);
gtk_container_add (GTK_CONTAINER (palette), group);
if (g_strcmp0 (context, "Animations") == 0)
continue;
g_message ("Got context '%s'", context);
icon_names = gtk_icon_theme_list_icons (icon_theme, context);
icon_names = g_list_sort (icon_names, (GCompareFunc) strcmp);
@@ -665,6 +668,12 @@ load_icon_items (GtkToolPalette *palette)
GtkToolItem *item;
gchar *id = ll->data;
if (g_str_equal (id, "emblem-desktop"))
continue;
if (g_str_has_suffix (id, "-symbolic"))
continue;
g_message ("Got id '%s'", id);
item = gtk_tool_button_new (NULL, NULL);

View File

@@ -189,9 +189,9 @@ do_transparent (GtkWidget *do_widget)
GtkWidget *view;
GtkWidget *sw;
GtkWidget *overlay;
GtkWidget *align;
GtkWidget *entry;
GdkRGBA transparent = {0, 0, 0, 0};
GtkCssProvider *provider;
gchar *css;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
@@ -217,19 +217,20 @@ do_transparent (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (overlay), sw);
gtk_container_add (GTK_CONTAINER (window), overlay);
gtk_widget_override_background_color (overlay, 0, &transparent);
align = gtk_alignment_new (0.0, 0.0, 0.0, 0.0);
gtk_alignment_set_padding (GTK_ALIGNMENT (align),
0, SHADOW_OFFSET_Y, 0, SHADOW_OFFSET_X);
g_signal_connect (align, "draw", G_CALLBACK (draw_callback), NULL);
entry = gtk_entry_new ();
gtk_container_add (GTK_CONTAINER (align), entry);
provider = gtk_css_provider_new ();
css = g_strdup_printf ("* { border-width: 0px %dpx %dpx 0px; }",
SHADOW_OFFSET_X, SHADOW_OFFSET_Y);
gtk_css_provider_load_from_data (provider, css, -1, NULL);
g_free (css);
gtk_style_context_add_provider (gtk_widget_get_style_context (entry),
GTK_STYLE_PROVIDER (provider),
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
g_signal_connect (entry, "draw", G_CALLBACK (draw_callback), NULL);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
gtk_widget_set_halign (entry, GTK_ALIGN_CENTER);
gtk_widget_set_valign (entry, GTK_ALIGN_START);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), align);
gtk_widget_set_halign (align, GTK_ALIGN_CENTER);
gtk_widget_set_valign (align, GTK_ALIGN_START);
gtk_widget_show_all (overlay);
}

View File

@@ -424,7 +424,6 @@ do_tree_store (GtkWidget *do_widget)
/* create tree view */
treeview = gtk_tree_view_new_with_model (model);
g_object_unref (model);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
GTK_SELECTION_MULTIPLE);

View File

@@ -0,0 +1,37 @@
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
LDADD = \
$(top_builddir)/gtk/libgtk-3.la \
$(top_builddir)/gdk/libgdk-3.la \
$(GTK_DEP_LIBS)
bin_PROGRAMS = gtk3-icon-browser
desktopdir = $(datadir)/applications
dist_desktop_DATA = gtk3-icon-browser.desktop
gtk3_icon_browser_SOURCES = \
main.c \
iconbrowserapp.c iconbrowserapp.h \
iconbrowserwin.c iconbrowserwin.h \
resources.c
BUILT_SOURCES = \
resources.c
resources.c: iconbrowser.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/iconbrowser.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/iconbrowser.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --generate-source
EXTRA_DIST = \
app-menu.ui \
iconbrowser.gresource.xml \
window.ui
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<menu id="appmenu">
<section>
<item>
<attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute>
</item>
</section>
</menu>
</interface>

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Icon Browser
Comment=An application that shows themed icons
Exec=gtk3-icon-browser
Icon=gtk3-icon-browser
Terminal=false
Type=Application
StartupNotify=true
Categories=GTK;
NoDisplay=true

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gtk/iconbrowser">
<file preprocess="xml-stripblanks">window.ui</file>
<file preprocess="xml-stripblanks">app-menu.ui</file>
</gresource>
</gresources>

View File

@@ -0,0 +1,80 @@
#include <gtk/gtk.h>
#include "iconbrowserapp.h"
#include "iconbrowserwin.h"
struct _IconBrowserApp
{
GtkApplication parent;
};
struct _IconBrowserAppClass
{
GtkApplicationClass parent_class;
};
G_DEFINE_TYPE(IconBrowserApp, icon_browser_app, GTK_TYPE_APPLICATION);
static void
icon_browser_app_init (IconBrowserApp *app)
{
}
static void
quit_activated (GSimpleAction *action,
GVariant *parameter,
gpointer app)
{
g_application_quit (G_APPLICATION (app));
}
static GActionEntry app_entries[] =
{
{ "quit", quit_activated, NULL, NULL, NULL }
};
static void
icon_browser_app_startup (GApplication *app)
{
GtkBuilder *builder;
GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (icon_browser_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries),
app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/iconbrowser/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));
gtk_application_set_app_menu (GTK_APPLICATION (app), app_menu);
g_object_unref (builder);
}
static void
icon_browser_app_activate (GApplication *app)
{
IconBrowserWindow *win;
win = icon_browser_window_new (ICON_BROWSER_APP (app));
gtk_window_present (GTK_WINDOW (win));
}
static void
icon_browser_app_class_init (IconBrowserAppClass *class)
{
G_APPLICATION_CLASS (class)->startup = icon_browser_app_startup;
G_APPLICATION_CLASS (class)->activate = icon_browser_app_activate;
}
IconBrowserApp *
icon_browser_app_new (void)
{
return g_object_new (ICON_BROWSER_APP_TYPE,
"application-id", "org.gtk.IconBrowser",
NULL);
}

View File

@@ -0,0 +1,19 @@
#ifndef __ICON_BROWSER_APP_H
#define __ICON_BROWSER_APP_H
#include <gtk/gtk.h>
#define ICON_BROWSER_APP_TYPE (icon_browser_app_get_type ())
#define ICON_BROWSER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ICON_BROWSER_APP_TYPE, IconBrowserApp))
typedef struct _IconBrowserApp IconBrowserApp;
typedef struct _IconBrowserAppClass IconBrowserAppClass;
GType icon_browser_app_get_type (void);
IconBrowserApp *icon_browser_app_new (void);
#endif /* __ICON_BROWSER_APP_H */

View File

@@ -0,0 +1,787 @@
#include "iconbrowserapp.h"
#include "iconbrowserwin.h"
#include <gtk/gtk.h>
typedef struct
{
const gchar *id;
const gchar *name;
const gchar *description;
} Context;
struct _IconBrowserWindow
{
GtkApplicationWindow parent;
GHashTable *contexts;
GtkWidget *context_list;
Context *current_context;
gboolean symbolic;
GtkWidget *symbolic_radio;
GtkTreeModelFilter *filter_model;
GtkWidget *details;
GtkListStore *store;
GtkCellRenderer *cell;
GtkCellRenderer *text_cell;
GtkWidget *search;
GtkWidget *searchbar;
GtkWidget *searchentry;
GtkWidget *list;
GtkWidget *image1;
GtkWidget *image2;
GtkWidget *image3;
GtkWidget *image4;
GtkWidget *image5;
GtkWidget *description;
};
struct _IconBrowserWindowClass
{
GtkApplicationWindowClass parent_class;
};
enum {
NAME_COLUMN,
SYMBOLIC_NAME_COLUMN,
DESCRIPTION_COLUMN,
CONTEXT_COLUMN
};
G_DEFINE_TYPE(IconBrowserWindow, icon_browser_window, GTK_TYPE_APPLICATION_WINDOW);
static void
search_text_changed (GtkEntry *entry)
{
const gchar *text;
text = gtk_entry_get_text (entry);
if (text[0] == '\0')
return;
}
static void
set_image (GtkWidget *image, const gchar *name, gint size)
{
gtk_image_set_from_icon_name (GTK_IMAGE (image), name, 1);
gtk_image_set_pixel_size (GTK_IMAGE (image), size);
}
static void
selection_changed (GtkIconView *icon_view, IconBrowserWindow *win)
{
}
static void
item_activated (GtkIconView *icon_view, GtkTreePath *path, IconBrowserWindow *win)
{
GtkTreeIter iter;
gchar *name;
gchar *description;
gint column;
gtk_tree_model_get_iter (GTK_TREE_MODEL (win->filter_model), &iter, path);
if (win->symbolic)
column = SYMBOLIC_NAME_COLUMN;
else
column = NAME_COLUMN;
gtk_tree_model_get (GTK_TREE_MODEL (win->filter_model), &iter,
column, &name,
DESCRIPTION_COLUMN, &description,
-1);
if (name == NULL || !gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), name))
{
g_free (description);
return;
}
gtk_window_set_title (GTK_WINDOW (win->details), name);
set_image (win->image1, name, 16);
set_image (win->image2, name, 24);
set_image (win->image3, name, 32);
set_image (win->image4, name, 48);
set_image (win->image5, name, 64);
if (description && description[0])
{
gtk_label_set_text (GTK_LABEL (win->description), description);
gtk_widget_show (win->description);
}
else
{
gtk_widget_hide (win->description);
}
gtk_window_present (GTK_WINDOW (win->details));
g_free (name);
g_free (description);
}
static void
add_icon (IconBrowserWindow *win,
const gchar *name,
const gchar *description,
const gchar *context)
{
gchar *regular_name;
gchar *symbolic_name;
regular_name = g_strdup (name);
if (!gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), regular_name))
{
g_free (regular_name);
regular_name = NULL;
}
symbolic_name = g_strconcat (name, "-symbolic", NULL);
if (!gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), symbolic_name))
{
g_free (symbolic_name);
symbolic_name = NULL;
}
gtk_list_store_insert_with_values (win->store, NULL, -1,
NAME_COLUMN, regular_name,
SYMBOLIC_NAME_COLUMN, symbolic_name,
DESCRIPTION_COLUMN, description,
CONTEXT_COLUMN, context,
-1);
}
static void
add_context (IconBrowserWindow *win,
const gchar *id,
const gchar *name,
const gchar *description)
{
Context *c;
GtkWidget *row;
c = g_new (Context, 1);
c->id = id;
c->name = name;
c->description = description;
g_hash_table_insert (win->contexts, (gpointer)id, c);
row = gtk_label_new (name);
g_object_set_data (G_OBJECT (row), "context", c);
gtk_widget_show (row);
g_object_set (row, "margin", 10, NULL);
gtk_list_box_insert (GTK_LIST_BOX (win->context_list), row, -1);
/* set the tooltip on the list box row */
row = gtk_widget_get_parent (row);
gtk_widget_set_tooltip_text (row, description);
if (win->current_context == NULL)
win->current_context = c;
}
static void
selected_context_changed (GtkListBox *list, IconBrowserWindow *win)
{
GtkWidget *row;
GtkWidget *label;
row = GTK_WIDGET (gtk_list_box_get_selected_row (list));
if (row == NULL)
return;
label = gtk_bin_get_child (GTK_BIN (row));
win->current_context = g_object_get_data (G_OBJECT (label), "context");
gtk_tree_model_filter_refilter (win->filter_model);
}
static void
populate (IconBrowserWindow *win)
{
add_context (win, "volume", "Volume", "Icons related to audio input and output volume");
add_icon (win, "audio-volume-high", "The icon used to indicate high audio volume", "volume");
add_icon (win, "audio-volume-low", "The icon used to indicate low audio volume", "volume");
add_icon (win, "audio-volume-medium", "The icon used to indicate medium audio volume", "volume");
add_icon (win, "audio-volume-muted", "The icon used to indicate the muted state for audio playback", "volume");
add_icon (win, "microphone-sensitivity-high", "The icon used to indicate high microphone sensitivity", "volume");
add_icon (win, "microphone-sensitivity-low", "The icon used to indicate low microphone sensitivity", "volume");
add_icon (win, "microphone-sensitivity-medium", "The icon used to indicate medium microphone sensitivity", "volume");
add_icon (win, "microphone-sensitivity-muted", "The icon used to indicate that a microphone is muted", "volume");
add_context (win, "multimedia", "Multimedia", "Icons related to playback of media");
add_icon (win, "media-playlist-repeat", "The icon for the repeat mode of a media player", "multimedia");
add_icon (win, "media-playlist-repeat-song", "The icon for repeating a song in a media player", "multimedia");
add_icon (win, "media-playlist-shuffle", "The icon for the shuffle mode of a media player", "multimedia");
add_icon (win, "media-playlist-consecutive", "The icon for consecutive mode of a media player", "multimedia");
add_icon (win, "media-skip-backward", "The icon for the skip backward action of a media player", "multimedia");
add_icon (win, "media-seek-backward", "The icon for the seek backward action of a media player", "multimedia");
add_icon (win, "media-playback-start", "The icon for the start playback action of a media player", "multimedia");
add_icon (win, "media-seek-forward", "The icon for the seek forward action of a media player", "multimedia");
add_icon (win, "media-skip-forward", "The icon for the skip forward action of a media player", "multimedia");
add_icon (win, "media-playback-stop", "The icon for the stop action of a media player", "multimedia");
add_icon (win, "media-playback-pause", "The icon for the pause action of a media player", "multimedia");
add_icon (win, "media-eject", "The icon for the eject action of a media player or file manager", "multimedia");
add_icon (win, "media-record", "The icon for the record action of a media application", "multimedia");
add_icon (win, "media-view-subtitles", "The icon used to show subtitles in a media player", "multimedia");
add_context (win, "network", "Network", "Icons related to network status");
add_icon (win, "network-transmit-receive", "The icon used data is being both transmitted and received simultaneously, while the computing device is connected to a network", "network");
add_icon (win, "network-transmit", "The icon used when data is being transmitted, while the computing device is connected to a network", "network");
add_icon (win, "network-receive", "The icon used when data is being received, while the computing device is connected to a network", "network");
add_icon (win, "network-idle", "The icon used when no data is being transmitted or received, while the computing device is connected to a network", "network");
add_icon (win, "network-error", "The icon used when an error occurs trying to intialize the network connection of the computing device", "network");
add_icon (win, "network-offline", "The icon used when the computing device is disconnected from the network", "network");
add_context (win, "weather", "Weather", "Icons about weather conditions");
add_icon (win, "weather-clear", "The icon used while the weather for a region is “clear skies”", "weather");
add_icon (win, "weather-clear-night", "The icon used while the weather for a region is “clear skies” during the night", "weather");
add_icon (win, "weather-few-clouds", "The icon used while the weather for a region is “partly cloudy”", "weather");
add_icon (win, "weather-few-clouds-night", "The icon used while the weather for a region is “partly cloudy” during the night", "weather");
add_icon (win, "weather-fog", "The icon used while the weather for a region is “foggy”", "weather");
add_icon (win, "weather-overcast", "The icon used while the weather for a region is “overcast”", "weather");
add_icon (win, "weather-severe-alert", "The icon used while a sever weather alert is in effect for a region", "weather");
add_icon (win, "weather-showers", "The icon used while rain showers are occurring in a region", "weather");
add_icon (win, "weather-showers-scattered", "The icon used while scattered rain showers are occurring in a region", "weather");
add_icon (win, "weather-snow", "The icon used while snow showers are occurring in a region", "weather");
add_icon (win, "weather-storm", "The icon used while storms are occurring in a region", "weather");
add_context (win, "navigation", "Navigation", "Icons for navigation in the user interface of a program");
add_icon (win, "go-first", "The icon for the go to the first item in a list", "navigation");
add_icon (win, "go-previous", "The icon for the go to the previous item in a list", "navigation");
add_icon (win, "go-next", "The icon for the go to the next item in a list", "navigation");
add_icon (win, "go-last", "The icon for the go to the last item in a list", "navigation");
add_icon (win, "go-bottom", "The icon for the go to bottom of a list", "navigation");
add_icon (win, "go-down", "The icon for the go down in a list", "navigation");
add_icon (win, "go-up", "The icon for the go up in a list", "navigation");
add_icon (win, "go-top", "The icon for the go to the top of a list", "navigation");
add_icon (win, "go-home", "The icon for the go to home location", "navigation");
add_icon (win, "go-jump", "The icon for the jump to action", "navigation");
add_context (win, "editing", "Editing", "Icons related to editing a document");
add_icon (win, "format-indent-less", "The icon for the decrease indent formatting action", "editing");
add_icon (win, "format-indent-more", "The icon for the increase indent formatting action", "editing");
add_icon (win, "format-justify-center", "The icon for the center justification formatting action", "editing");
add_icon (win, "format-justify-fill", "The icon for the fill justification formatting action", "editing");
add_icon (win, "format-justify-left", "The icon for the left justification formatting action", "editing");
add_icon (win, "format-justify-right", "The icon for the right justification action", "editing");
add_icon (win, "format-text-direction-ltr", "The icon for the left-to-right text formatting action", "editing");
add_icon (win, "format-text-direction-rtl", "The icon for the right-to-left formatting action", "editing");
add_icon (win, "format-text-bold", "The icon for the bold text formatting action", "editing");
add_icon (win, "format-text-italic", "The icon for the italic text formatting action", "editing");
add_icon (win, "format-text-underline", "The icon for the underlined text formatting action", "editing");
add_icon (win, "format-text-strikethrough", "The icon for the strikethrough text formatting action", "editing");
add_icon (win, "edit-clear", "The icon for the clear action", "editing");
add_icon (win, "edit-clear-all", "", "editing");
add_icon (win, "edit-copy", "The icon for the copy action", "editing");
add_icon (win, "edit-cut", "The icon for the cut action", "editing");
add_icon (win, "edit-delete", "The icon for the delete action", "editing");
add_icon (win, "edit-find-replace", "The icon for the find and replace action", "editing");
add_icon (win, "edit-paste", "The icon for the paste action", "editing");
add_icon (win, "edit-redo", "The icon for the redo action", "editing");
add_icon (win, "edit-select-all", "The icon for the select all action", "editing");
add_icon (win, "edit-select", "", "editing");
add_icon (win, "edit-undo", "The icon for the undo action", "editing");
add_icon (win, "document-properties", "The icon for the action to view the properties of a document in an application", "editing");
add_icon (win, "document-new", "The icon used for the action to create a new document", "editing");
add_icon (win, "document-open", "The icon used for the action to open a document", "editing");
add_icon (win, "document-open-recent", "The icon used for the action to open a document that was recently opened", "editing");
add_icon (win, "document-save", "The icon for the save action. Should be an arrow pointing down and toward a hard disk", "editing");
add_icon (win, "document-save-as", "The icon for the save as action", "editing");
add_icon (win, "document-send", "The icon for the send action. Should be an arrow pointing up and away from a hard disk", "editing");
add_icon (win, "document-page-setup", "The icon for the page setup action of a document editor", "editing");
add_icon (win, "changes-allow", "", "other");
add_icon (win, "changes-prevent", "", "other");
add_icon (win, "object-flip-horizontal", "The icon for the action to flip an object horizontally", "editing");
add_icon (win, "object-flip-vertical", "The icon for the action to flip an object vertically", "editing");
add_icon (win, "object-rotate-left", "The icon for the rotate left action performed on an object", "editing");
add_icon (win, "object-rotate-right", "The icon for the rotate rigt action performed on an object", "editing");
add_icon (win, "insert-image", "The icon for the insert image action of an application", "editing");
add_icon (win, "insert-link", "The icon for the insert link action of an application", "editing");
add_icon (win, "insert-object", "The icon for the insert object action of an application", "editing");
add_icon (win, "insert-text", "The icon for the insert text action of an application", "editing");
add_icon (win, "accessories-text-editor", "The icon used for the desktop's text editing accessory program", "editing");
add_context (win, "view", "View Controls", "Icons for view controls in a user interface");
add_icon (win, "view-list", "The icon used for “List“ view mode", "view");
add_icon (win, "view-grid", "The icon used for “Grid“ view mode (as opposed to “List“)", "view");
add_icon (win, "view-fullscreen", "The icon used for the “Fullscreen” item in the application's “View” menu", "view");
add_icon (win, "view-restore", "The icon used by an application for leaving the fullscreen view, and returning to a normal windowed view", "view");
add_icon (win, "zoom-fit-best", "The icon used for the “Best Fit” item in the application's “View” menu", "view");
add_icon (win, "zoom-in", "The icon used for the “Zoom in” item in the application's “View” menu", "view");
add_icon (win, "zoom-out", "The icon used for the “Zoom Out” item in the application's “View” menu ", "view");
add_icon (win, "zoom-original", "The icon used for the “Original Size” item in the application's “View” menu", "view");
add_icon (win, "view-continuous", "The icon used for a continuous view mode", "view");
add_icon (win, "view-paged", "The icon used for a paged view mode (as opposed to continuous)", "view");
add_icon (win, "view-dual", "The icon used for a side-by-side view of paginated content", "view");
add_icon (win, "view-wrapped", "The icon used to indicate a wrap-around to the beginning", "view");
add_context (win, "calendar", "Calendar, Tasks and Alarms", "Icons related to calendars, tasks and alarms");
add_icon (win, "task-due", "The icon used when a task is due soon", "calendar");
add_icon (win, "task-past-due", "The icon used when a task that was due, has been left incomplete", "calendar");
add_icon (win, "appointment-soon", "The icon used when an appointment will occur soon", "calendar");
add_icon (win, "appointment-missed", "The icon used when an appointment was missed", "calendar");
add_icon (win, "alarm", "The icon used for alarms when a task or appointment is due", "calendar");
add_context (win, "communication", "Communication", "Icons related email, phone calls, IM and other forms of communication");
add_icon (win, "mail-unread", "The icon used for an electronic mail that is unread", "communication");
add_icon (win, "mail-read", "The icon used for an electronic mail that is read", "communication");
add_icon (win, "mail-replied", "The icon used for an electronic mail that has been replied to", "communication");
add_icon (win, "mail-attachment", "The icon used for an electronic mail that contains attachments", "communication");
add_icon (win, "mail-mark-important", "The icon for the mark as important action of an electronic mail application", "communication");
add_icon (win, "mail-send", "The icon for the send action of an electronic mail application", "communication");
add_icon (win, "mail-send-receive", "The icon for the send and receive action of an electronic mail application", "communication");
add_icon (win, "call-start", "The icon used for initiating or accepting a call", "communication");
add_icon (win, "call-stop", "The icon used for stopping a current call", "communication");
add_icon (win, "call-missed", "The icon used to show a missed call", "communication");
add_icon (win, "user-available", "The icon used when a user on a chat network is available to initiate a conversation with", "communication");
add_icon (win, "user-offline", "The icon used when a user on a chat network is not available", "communication");
add_icon (win, "user-idle", "The icon used when a user on a chat network has not been an active participant in any chats on the network, for an extended period of time", "communication");
add_icon (win, "user-invisible", "The icon used when a user is on a chat network, but is invisible to others", "communication");
add_icon (win, "user-busy", "The icon used when a user is on a chat network, and has marked himself as busy", "communication");
add_icon (win, "user-away", "The icon used when a user on a chat network is away from their keyboard and the chat program", "communication");
add_icon (win, "user-status-pending", "The icon used when the current user status on a chat network is not known", "communication");
add_context (win, "devices", "Devices and Media", "Icons for devices and media");
add_icon (win, "audio-input-microphone", "The icon used for the microphone audio input device", "devices");
add_icon (win, "camera-web", "The fallback icon for web cameras", "devices");
add_icon (win, "camera-photo", "The icon used for a digital still camera devices", "devices");
add_icon (win, "input-keyboard", "The icon used for the keyboard input device", "devices");
add_icon (win, "printer", "The icon used for a printer device", "devices");
add_icon (win, "video-display", "The icon used for the monitor that video gets displayed to", "devices");
add_icon (win, "computer", "The icon used for the computing device as a whole", "devices");
add_icon (win, "media-optical", "The icon used for physical optical media such as CD and DVD", "devices");
add_icon (win, "phone", "The icon used for phone devices which support connectivity to the PC, such as VoIP, cellular, or possibly landline phones", "devices");
add_icon (win, "input-dialpad", "The icon used for dialpad input devices", "devices");
add_icon (win, "input-touchpad", "The icon used for touchpad input devices", "devices");
add_icon (win, "scanner", "The icon used for a scanner device", "devices");
add_icon (win, "audio-card", "The icon used for the audio rendering device", "devices");
add_icon (win, "input-gaming", "The icon used for the gaming input device", "devices");
add_icon (win, "input-mouse", "The icon used for the mousing input device", "devices");
add_icon (win, "multimedia-player", "The icon used for generic multimedia playing devices", "devices");
add_icon (win, "audio-headphones", "The icon used for headphones", "devices");
add_icon (win, "audio-headset", "The icon used for headsets", "devices");
add_icon (win, "display-projector", "The icon used for projectors", "devices");
add_icon (win, "media-removable", "The icon used for generic removable media", "devices");
add_icon (win, "printer-network", "The icon used for printers which are connected via the network", "devices");
add_icon (win, "audio-speakers", "The icon used for speakers", "devices");
add_icon (win, "camera-video", "The fallback icon for video cameras", "devices");
add_icon (win, "drive-optical", "The icon used for optical media drives such as CD and DVD", "devices");
add_icon (win, "drive-removable-media", "The icon used for removable media drives", "devices");
add_icon (win, "input-tablet", "The icon used for graphics tablet input devices", "devices");
add_icon (win, "network-wireless", "The icon used for wireless network connections", "devices");
add_icon (win, "network-wired", "The icon used for wired network connections", "devices");
add_icon (win, "media-floppy", "The icon used for physical floppy disk media", "devices");
add_icon (win, "media-flash", "The fallback icon used for flash media, such as memory stick and SD", "devices");
add_context (win, "contenttypes", "Content Types", "Icons for different types of data, such as audio or image files");
add_icon (win, "application-certificate", "", "contenttypes");
add_icon (win, "application-rss+xml", "", "contenttypes");
add_icon (win, "application-x-appliance", "", "contenttypes");
add_icon (win, "audio-x-generic", "The icon used for generic audio file types", "contenttypes");
add_icon (win, "folder", "The standard folder icon used to represent directories on local filesystems, mail folders, and other hierarchical groups", "contenttypes");
add_icon (win, "text-x-generic", "The icon used for generic text file types", "contenttypes");
add_icon (win, "video-x-generic", "The icon used for generic video file types", "contenttypes");
add_icon (win, "x-office-calendar", "The icon used for generic calendar file types", "contenttypes");
add_context (win, "emotes", "Emotes", "Icons for emotions that are expressed through text chat applications such as :-) or :-P in IRC or instant messengers");
add_icon (win, "face-angel", "The icon used for the 0:-) emote", "emotes");
add_icon (win, "face-angry", "The icon used for the X-( emote", "emotes");
add_icon (win, "face-cool", "The icon used for the B-) emote", "emotes");
add_icon (win, "face-crying", "The icon used for the :'( emote", "emotes");
add_icon (win, "face-devilish", "The icon used for the >:-) emote", "emotes");
add_icon (win, "face-embarrassed", "The icon used for the :-[ emote", "emotes");
add_icon (win, "face-kiss", "The icon used for the :-* emote", "emotes");
add_icon (win, "face-laugh", "The icon used for the :-)) emote", "emotes");
add_icon (win, "face-monkey", "The icon used for the :-(|) emote", "emotes");
add_icon (win, "face-plain", "The icon used for the :-| emote", "emotes");
add_icon (win, "face-raspberry", "The icon used for the :-P emote", "emotes");
add_icon (win, "face-sad", "The icon used for the :-( emote", "emotes");
add_icon (win, "face-shutmouth", "The 'shut mouth' emote", "emotes");
add_icon (win, "face-sick", "The icon used for the :-& emote", "emotes");
add_icon (win, "face-smile", "The icon used for the :-) emote", "emotes");
add_icon (win, "face-smile-big", "The icon used for the :-D emote", "emotes");
add_icon (win, "face-smirk", "The icon used for the :-! emote", "emotes");
add_icon (win, "face-surprise", "The icon used for the :-0 emote", "emotes");
add_icon (win, "face-tired", "The icon used for the |-) emote", "emotes");
add_icon (win, "face-uncertain", "The icon used for the :-/ emote", "emotes");
add_icon (win, "face-wink", "The icon used for the ;-) emote", "emotes");
add_icon (win, "face-worried", "The icon used for the :-S emote", "emotes");
add_icon (win, "face-yawn", "", "emotes");
add_context (win, "general", "General", "Generally useful icons that don't fit in a particular category");
add_icon (win, "edit-find", "The icon for generic search actions", "general");
add_icon (win, "content-loading", "The icon used to indicate that content is loading", "general");
add_icon (win, "open-menu", "The icon used for a menu button in the header bar", "general");
add_icon (win, "view-more", "The icon used for a “View More“ action", "general");
add_icon (win, "tab-new", "The icon used for a “New Tab“ action", "general");
add_icon (win, "bookmark-new", "The icon used for creating a new bookmark", "general");
add_icon (win, "mark-location", "The icon used to mark a location on a map", "general");
add_icon (win, "find-location", "The icon used for a “Search location“ action", "general");
add_icon (win, "send-to", "The icon used for a “Send to“ action", "general");
add_icon (win, "object-select", "The icon used for generic selection actions", "general");
add_icon (win, "window-close", "The icon used for actions that close a view, such as window or tab close button", "general");
add_icon (win, "view-refresh", "The icon used for the “Refresh” item in the application's “View” menu", "general");
add_icon (win, "process-stop", "The icon used for the “Stop” action in applications with actions that may take a while to process, such as web page loading in a browser", "general");
add_icon (win, "action-unavailable", "The icon used to indicate that an action is currently unavailable, such as “Pause“ when no media is playing", "general");
add_icon (win, "document-print", "The icon for the print action of an application", "general");
add_icon (win, "printer-printing", "The icon used while a print job is successfully being spooled to a printing device", "general");
add_icon (win, "printer-warning", "The icon used when a recoverable problem occurs while attempting to printing", "general");
add_icon (win, "printer-error", "The icon used when an error occurs while attempting to print", "general");
add_icon (win, "dialog-information", "The icon used when a dialog is opened to give information to the user that may be pertinent to the requested action", "general");
add_icon (win, "dialog-question", "The icon used when a dialog is opened to ask a simple question of the user", "general");
add_icon (win, "dialog-warning", "The icon used when a dialog is opened to warn the user of impending issues with the requested action", "general");
add_icon (win, "dialog-password", "The icon used when a dialog requesting the authentication credentials for a user is opened", "general");
add_icon (win, "dialog-error", "The icon used when a dialog is opened to explain an error condition to the user", "general");
add_icon (win, "list-add", "The icon for the add to list action", "general");
add_icon (win, "list-remove", "The icon for the remove from list action", "general");
add_icon (win, "non-starred", "The icon used to indicate that an object is not 'starred'", "general");
add_icon (win, "semi-starred", "The icon used to indicate that an object has is 'half-starred'", "general");
add_icon (win, "starred", "The icon used to indicate that an object is 'starred'", "general");
add_icon (win, "star-new", "The used for the “New Star“ action", "general");
add_icon (win, "security-low", "The icon used to indicate that the security level of a connection is presumed to be insecure, either by using weak encryption, or by using a certificate that the could not be automatically verified, and which the user has not chosent to trust", "general");
add_icon (win, "security-medium", "The icon used to indicate that the security level of a connection is presumed to be secure, using strong encryption, and a certificate that could not be automatically verified, but which the user has chosen to trust", "general");
add_icon (win, "security-high", "The icon used to indicate that the security level of a connection is known to be secure, using strong encryption and a valid certificate", "general");
add_icon (win, "user-trash", "The icon for the user's “Trash” place in the file system", "other");
add_icon (win, "user-trash-full", "The icon for the user's “Trash” in the file system, when there are items in the “Trash” waiting for disposal or recovery", "general");
add_icon (win, "emblem-system", "The icon used as an emblem for directories that contain system libraries, settings, and data", "general");
add_icon (win, "avatar-default", "The generic avatar icon, which is used to represent a user that doesn't have a personalized avatar", "general");
add_icon (win, "emblem-synchronizing", "The icon used as an emblem to indicate that a a synchronizing operation is in process", "general");
add_icon (win, "emblem-shared", "The icon used as an emblem for files and directories that are shared to other users", "general");
add_icon (win, "folder-download", "The icon representing the location in the file system where downloaded files are stored", "general");
add_icon (win, "help-browser", "The icon used for the desktop's help browsing application", "general");
add_context (win, "other", "Other", "Icons which have may be too specialized and not of general interest");
add_icon (win, "view-sort-ascending", "The icon used for the “Sort Ascending” item in the application's “View” menu, or in a button for changing the sort method for a list", "other");
add_icon (win, "view-sort-descending", "The icon used for the “Sort Descending” item in the application's “View” menu, or in a button for changing the sort method for a list", "other");
add_icon (win, "document-revert", "The icon for the action of reverting to a previous version of a document", "other");
add_icon (win, "address-book-new", "The icon used for the action to create a new address book", "other");
add_icon (win, "application-exit", "The icon used for exiting an application. Typically this is seen in the application's menus as File->Quit", "other");
add_icon (win, "appointment-new", "The icon used for the action to create a new appointment in a calendaring application", "other");
add_icon (win, "contact-new", "The icon used for the action to create a new contact in an address book application", "other");
add_icon (win, "document-print-preview", "The icon for the print preview action of an application", "other");
add_icon (win, "folder-new", "The icon for creating a new folder", "other");
add_icon (win, "help-about", "The icon for the About item in the Help menu", "other");
add_icon (win, "help-contents", "The icon for Contents item in the Help menu", "other");
add_icon (win, "help-faq", "The icon for the FAQ item in the Help menu", "other");
add_icon (win, "list-remove-all", "", "other");
add_icon (win, "mail-forward", "The icon for the forward action of an electronic mail application", "other");
add_icon (win, "mail-mark-junk", "The icon for the mark as junk action of an electronic mail application", "other");
add_icon (win, "mail-mark-notjunk", "The icon for the mark as not junk action of an electronic mail application", "other");
add_icon (win, "mail-mark-read", "The icon for the mark as read action of an electronic mail application", "other");
add_icon (win, "mail-mark-unread", "The icon for the mark as unread action of an electronic mail application", "other");
add_icon (win, "mail-message-new", "The icon for the compose new mail action of an electronic mail application", "other");
add_icon (win, "mail-reply-all", "The icon for the reply to all action of an electronic mail application", "other");
add_icon (win, "mail-reply-sender", "The icon for the reply to sender action of an electronic mail application", "other");
add_icon (win, "pan-down", "", "other");
add_icon (win, "pan-end", "", "other");
add_icon (win, "pan-start", "", "other");
add_icon (win, "pan-up", "", "other");
add_icon (win, "system-lock-screen", "The icon used for the “Lock Screen” item in the desktop's panel application", "other");
add_icon (win, "system-log-out", "The icon used for the “Log Out” item in the desktop's panel application", "other");
add_icon (win, "system-run", "The icon used for the “Run Application...” item in the desktop's panel application", "other");
add_icon (win, "system-search", "The icon used for the “Search” item in the desktop's panel application", "other");
add_icon (win, "system-reboot", "The icon used for the “Reboot” item in the desktop's panel application", "other");
add_icon (win, "system-shutdown", "The icon used for the “Shutdown” item in the desktop's panel application", "other");
add_icon (win, "tools-check-spelling", "The icon used for the “Check Spelling” item in the application's “Tools” menu", "other");
add_icon (win, "window-maximize", "", "other");
add_icon (win, "window-minimize", "", "other");
add_icon (win, "window-restore", "", "other");
add_icon (win, "window-new", "The icon used for the “New Window” item in the application's “Windows” menu", "other");
add_icon (win, "accessories-calculator", "The icon used for the desktop's calculator accessory program", "other");
add_icon (win, "accessories-character-map", "The icon used for the desktop's international and extended text character accessory program", "other");
add_icon (win, "accessories-dictionary", "The icon used for the desktop's dictionary accessory program", "other");
add_icon (win, "multimedia-volume-control", "The icon used for the desktop's hardware volume control application", "other");
add_icon (win, "preferences-desktop-accessibility", "The icon used for the desktop's accessibility preferences", "other");
add_icon (win, "preferences-desktop-display", "", "other");
add_icon (win, "preferences-desktop-font", "The icon used for the desktop's font preferences", "other");
add_icon (win, "preferences-desktop-keyboard", "The icon used for the desktop's keyboard preferences", "other");
add_icon (win, "preferences-desktop-keyboard-shortcuts", "", "other");
add_icon (win, "preferences-desktop-locale", "The icon used for the desktop's locale preferences", "other");
add_icon (win, "preferences-desktop-remote-desktop", "", "other");
add_icon (win, "preferences-desktop-multimedia", "The icon used for the desktop's multimedia preferences", "other");
add_icon (win, "preferences-desktop-screensaver", "The icon used for the desktop's screen saving preferences", "other");
add_icon (win, "preferences-desktop-theme", "The icon used for the desktop's theme preferences", "other");
add_icon (win, "preferences-desktop-wallpaper", "The icon used for the desktop's wallpaper preferences", "other");
add_icon (win, "preferences-system-privacy", "", "other");
add_icon (win, "preferences-system-windows", "", "other");
add_icon (win, "system-file-manager", "The icon used for the desktop's file management application", "other");
add_icon (win, "system-software-install", "The icon used for the desktop's software installer application", "other");
add_icon (win, "system-software-update", "The icon used for the desktop's software updating application", "other");
add_icon (win, "system-users", "", "other");
add_icon (win, "user-info", "", "other");
add_icon (win, "utilities-system-monitor", "The icon used for the desktop's system resource monitor application", "other");
add_icon (win, "utilities-terminal", "The icon used for the desktop's terminal emulation application. ", "other");
add_icon (win, "application-x-addon", "", "other");
add_icon (win, "application-x-executable", "The icon used for executable file types", "other");
add_icon (win, "font-x-generic", "The icon used for generic font file types", "other");
add_icon (win, "image-x-generic", "The icon used for generic image file types", "other");
add_icon (win, "package-x-generic", "The icon used for generic package file types", "other");
add_icon (win, "text-html", "The icon used for HTML text file types", "other");
add_icon (win, "text-x-generic-template", "The icon used for generic text templates", "other");
add_icon (win, "text-x-preview", "", "other");
add_icon (win, "text-x-script", "The icon used for script file types, such as shell scripts", "other");
add_icon (win, "x-office-address-book", "The icon used for generic address book file types", "other");
add_icon (win, "x-office-document", "The icon used for generic document and letter file types", "other");
add_icon (win, "x-office-document-template", "", "other");
add_icon (win, "x-office-presentation", "The icon used for generic presentation file types", "other");
add_icon (win, "x-office-presentation-template", "", "other");
add_icon (win, "x-office-spreadsheet", "The icon used for generic spreadsheet file types", "other");
add_icon (win, "x-office-spreadsheet-template", "", "other");
add_icon (win, "x-package-repository", "", "other");
add_icon (win, "applications-accessories", "The icon for the “Accessories” sub-menu of the Programs menu", "other");
add_icon (win, "applications-development", "The icon for the “Programming” sub-menu of the Programs menu", "other");
add_icon (win, "applications-engineering", "The icon for the “Engineering” sub-menu of the Programs menu", "other");
add_icon (win, "applications-games", "The icon for the “Games” sub-menu of the Programs menu", "other");
add_icon (win, "applications-graphics", "The icon for the “Graphics” sub-menu of the Programs menu", "other");
add_icon (win, "applications-internet", "The icon for the “Internet” sub-menu of the Programs menu", "other");
add_icon (win, "applications-multimedia", "The icon for the “Multimedia” sub-menu of the Programs menu", "other");
add_icon (win, "applications-office", "The icon for the “Office” sub-menu of the Programs menu", "other");
add_icon (win, "applications-other", "The icon for the “Other” sub-menu of the Programs menu", "other");
add_icon (win, "applications-science", "The icon for the “Science” sub-menu of the Programs menu", "other");
add_icon (win, "applications-system", "The icon for the “System Tools” sub-menu of the Programs menu", "other");
add_icon (win, "applications-utilities", "The icon for the “Utilities” sub-menu of the Programs menu", "other");
add_icon (win, "preferences-desktop", "The icon for the “Desktop Preferences” category", "other");
add_icon (win, "preferences-desktop-peripherals", "The icon for the “Peripherals” sub-category of the “Desktop Preferences” category", "other");
add_icon (win, "preferences-desktop-personal", "The icon for the “Personal” sub-category of the “Desktop Preferences” category", "other");
add_icon (win, "preferences-other", "The icon for the “Other” preferences category", "other");
add_icon (win, "preferences-system", "The icon for the “System Preferences” category", "other");
add_icon (win, "preferences-system-network", "The icon for the “Network” sub-category of the “System Preferences” category", "other");
add_icon (win, "system-help", "The icon for the “Help” system category", "other");
add_icon (win, "battery", "The icon used for the system battery device", "other");
add_icon (win, "computer-apple-ipad", "", "other");
add_icon (win, "colorimeter-colorhug", "", "other");
add_icon (win, "drive-harddisk", "The icon used for hard disk drives", "other");
add_icon (win, "drive-harddisk-ieee1394", "", "other");
add_icon (win, "drive-harddisk-system", "", "other");
add_icon (win, "drive-multidisk", "", "other");
add_icon (win, "media-optical-bd", "", "other");
add_icon (win, "media-optical-cd-audio", "", "other");
add_icon (win, "media-optical-dvd", "", "other");
add_icon (win, "media-tape", "The icon used for generic physical tape media", "other");
add_icon (win, "media-zip", "", "other");
add_icon (win, "modem", "The icon used for modem devices", "other");
add_icon (win, "multimedia-player-apple-ipod-touch", "", "other");
add_icon (win, "network-vpn", "", "other");
add_icon (win, "pda", "This is the fallback icon for Personal Digial Assistant devices. Primary use of this icon is for PDA devices connected to the PC. Connection medium is not an important aspect of the icon. The metaphor for this fallback icon should be a generic PDA device icon", "other");
add_icon (win, "phone-apple-iphone", "", "other");
add_icon (win, "uninterruptible-power-supply", "", "other");
add_icon (win, "emblem-default", "The icon used as an emblem to specify the default selection of a printer for example", "other");
add_icon (win, "emblem-documents", "The icon used as an emblem for the directory where a user's documents are stored", "other");
add_icon (win, "emblem-downloads", "The icon used as an emblem for the directory where a user's downloads from the internet are stored", "other");
add_icon (win, "emblem-favorite", "The icon used as an emblem for files and directories that the user marks as favorites", "other");
add_icon (win, "emblem-generic", "", "other");
add_icon (win, "emblem-important", "The icon used as an emblem for files and directories that are marked as important by the user", "other");
add_icon (win, "emblem-mail", "The icon used as an emblem to specify the directory where the user's electronic mail is stored", "other");
add_icon (win, "emblem-new", "", "other");
add_icon (win, "emblem-ok", "", "other");
add_icon (win, "emblem-package", "", "other");
add_icon (win, "emblem-photos", "The icon used as an emblem to specify the directory where the user stores photographs", "other");
add_icon (win, "emblem-readonly", "The icon used as an emblem for files and directories which can not be written to by the user", "other");
add_icon (win, "emblem-symbolic-link", "The icon used as an emblem for files and direcotires that are links to other files or directories on the filesystem", "other");
add_icon (win, "emblem-synchronized", "The icon used as an emblem for files or directories that are configured to be synchronized to another device", "other");
add_icon (win, "emblem-unreadable", "The icon used as an emblem for files and directories that are inaccessible. ", "other");
add_icon (win, "emblem-urgent", "", "other");
add_icon (win, "emblem-videos", "", "other");
add_icon (win, "emblem-web", "", "other");
add_icon (win, "folder-documents", "", "other");
add_icon (win, "folder-download", "", "other");
add_icon (win, "folder-music", "", "other");
add_icon (win, "folder-pictures", "", "other");
add_icon (win, "folder-documents", "", "other");
add_icon (win, "folder-publicshare", "", "other");
add_icon (win, "folder-remote", "The icon used for normal directories on a remote filesystem", "other");
add_icon (win, "folder-saved-search", "", "other");
add_icon (win, "folder-templates", "", "other");
add_icon (win, "folder-videos", "", "other");
add_icon (win, "network-server", "The icon used for individual host machines under the “Network Servers” place in the file manager", "other");
add_icon (win, "network-workgroup", "The icon for the “Network Servers” place in the desktop's file manager, and workgroups within the network", "other");
add_icon (win, "start-here", "The icon used by the desktop's main menu for accessing places, applications, and other features", "other");
add_icon (win, "user-bookmarks", "The icon for the user's special “Bookmarks” place", "other");
add_icon (win, "user-desktop", "The icon for the special “Desktop” directory of the user", "other");
add_icon (win, "user-home", "The icon for the special “Home” directory of the user", "other");
add_icon (win, "airplane-mode", "", "other");
add_icon (win, "battery-caution-charging", "", "other");
add_icon (win, "battery-caution", "The icon used when the battery is below 40%", "other");
add_icon (win, "battery-empty-charging", "", "other");
add_icon (win, "battery-empty", "", "other");
add_icon (win, "battery-full-charged", "", "other");
add_icon (win, "battery-full-charging", "", "other");
add_icon (win, "battery-full", "", "other");
add_icon (win, "battery-good-charging", "", "other");
add_icon (win, "battery-good", "", "other");
add_icon (win, "battery-low-charging", "", "other");
add_icon (win, "battery-low", "The icon used when the battery is below 20%", "other");
add_icon (win, "battery-missing", "", "other");
add_icon (win, "bluetooth-active", "", "other");
add_icon (win, "bluetooth-disabled", "", "other");
add_icon (win, "channel-insecure", "", "other");
add_icon (win, "channel-secure", "", "other");
add_icon (win, "computer-fail", "", "other");
add_icon (win, "display-brightness", "", "other");
add_icon (win, "keyboard-brightness", "", "other");
add_icon (win, "folder-drag-accept", "The icon used for a folder while an object is being dragged onto it, that is of a type that the directory can contain", "other");
add_icon (win, "folder-open", "The icon used for folders, while their contents are being displayed within the same window. This icon would normally be shown in a tree or list view, next to the main view of a folder's contents", "other");
add_icon (win, "folder-visiting", "The icon used for folders, while their contents are being displayed in another window. This icon would typically be used when using multiple windows to navigate the hierarchy, such as in Nautilus's spatial mode", "other");
add_icon (win, "image-loading", "The icon used when another image is being loaded, such as thumnails for larger images in the file manager", "other");
add_icon (win, "image-missing", "The icon used when another image could not be loaded", "other");
add_icon (win, "mail-signed", "The icon used for an electronic mail that contains a signature", "other");
add_icon (win, "mail-signed-verified", "The icon used for an electronic mail that contains a signature which has also been verified by the security system", "other");
add_icon (win, "network-cellular-3g", "", "other");
add_icon (win, "network-cellular-4g", "", "other");
add_icon (win, "network-cellular-edge", "", "other");
add_icon (win, "network-cellular-gprs", "", "other");
add_icon (win, "network-cellular-umts", "", "other");
add_icon (win, "network-cellular-acquiring", "", "other");
add_icon (win, "network-cellular-connected", "", "other");
add_icon (win, "network-cellular-no-route", "", "other");
add_icon (win, "network-cellular-offline", "", "other");
add_icon (win, "network-cellular-signal-excellent", "", "other");
add_icon (win, "network-cellular-signal-good", "", "other");
add_icon (win, "network-cellular-signal-ok", "", "other");
add_icon (win, "network-cellular-signal-weak", "", "other");
add_icon (win, "network-cellular-signal-none", "", "other");
add_icon (win, "network-vpn-acquiring", "", "other");
add_icon (win, "network-vpn", "", "other");
add_icon (win, "network-wired-acquiring", "", "other");
add_icon (win, "network-wired-disconnected", "", "other");
add_icon (win, "network-wired-no-route", "", "other");
add_icon (win, "network-wired-offline", "", "other");
add_icon (win, "network-wireless-acquiring", "", "other");
add_icon (win, "network-wireless-connected", "", "other");
add_icon (win, "network-wireless-encrypted", "", "other");
add_icon (win, "network-wireless-hotspot", "", "other");
add_icon (win, "network-wireless-no-route", "", "other");
add_icon (win, "network-wireless-offline", "", "other");
add_icon (win, "network-wireless-signal-excellent", "", "other");
add_icon (win, "network-wireless-signal-good", "", "other");
add_icon (win, "network-wireless-signal-ok", "", "other");
add_icon (win, "network-wireless-signal-weak", "", "other");
add_icon (win, "network-wireless-signal-none", "", "other");
add_icon (win, "rotation-allowed", "", "other");
add_icon (win, "rotation-locked", "", "other");
add_icon (win, "software-update-available", "The icon used when an update is available for software installed on the computing device, through the system software update program", "other");
add_icon (win, "software-update-urgent", "The icon used when an urgent update is available through the system software update program", "other");
add_icon (win, "sync-error", "The icon used when an error occurs while attempting to synchronize data from the computing device, to another device", "other");
add_icon (win, "sync-synchronizing", "The icon used while data is successfully synchronizing to another device", "other");
add_icon (win, "touchpad-disabled", "", "other");
add_icon (win, "trophy-bronze", "", "other");
add_icon (win, "trophy-silver", "", "other");
add_icon (win, "trophy-gold", "", "other");
}
static gboolean
key_press_event_cb (GtkWidget *widget,
GdkEvent *event,
GtkSearchBar *bar)
{
return gtk_search_bar_handle_event (bar, event);
}
static gboolean
icon_visible_func (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
{
IconBrowserWindow *win = data;
gchar *context;
gchar *name;
gint column;
gboolean visible;
if (win->symbolic)
column = SYMBOLIC_NAME_COLUMN;
else
column = NAME_COLUMN;
gtk_tree_model_get (model, iter,
column, &name,
CONTEXT_COLUMN, &context,
-1);
visible = name != NULL && win->current_context != NULL && g_strcmp0 (context, win->current_context->id) == 0;
g_free (name);
g_free (context);
return visible;
}
static void
symbolic_toggled (GtkToggleButton *toggle, IconBrowserWindow *win)
{
gint column;
win->symbolic = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle));
if (win->symbolic)
column = SYMBOLIC_NAME_COLUMN;
else
column = NAME_COLUMN;
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (win->list), win->cell, "icon-name", column, NULL);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (win->list), win->text_cell, "text", column, NULL);
gtk_tree_model_filter_refilter (win->filter_model);
gtk_widget_queue_draw (win->list);
}
static void
icon_browser_window_init (IconBrowserWindow *win)
{
gtk_widget_init_template (GTK_WIDGET (win));
win->contexts = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_free);
g_object_bind_property (win->search, "active",
win->searchbar, "search-mode-enabled",
G_BINDING_BIDIRECTIONAL);
// gtk_tree_view_set_search_entry (GTK_TREE_VIEW (win->list), GTK_ENTRY (win->searchentry));
g_signal_connect (win, "key-press-event", G_CALLBACK (key_press_event_cb), win->searchbar);
gtk_tree_model_filter_set_visible_func (win->filter_model, icon_visible_func, win, NULL);
gtk_window_set_transient_for (GTK_WINDOW (win->details), GTK_WINDOW (win));
symbolic_toggled (GTK_TOGGLE_BUTTON (win->symbolic_radio), win);
populate (win);
}
static void
icon_browser_window_class_init (IconBrowserWindowClass *class)
{
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
"/org/gtk/iconbrowser/window.ui");
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, context_list);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, filter_model);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, symbolic_radio);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, details);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, store);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, cell);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, text_cell);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, search);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, searchbar);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, searchentry);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, list);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image1);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image2);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image3);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image4);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, image5);
gtk_widget_class_bind_template_child (GTK_WIDGET_CLASS (class), IconBrowserWindow, description);
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), search_text_changed);
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), selection_changed);
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), item_activated);
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), selected_context_changed);
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), symbolic_toggled);
}
IconBrowserWindow *
icon_browser_window_new (IconBrowserApp *app)
{
return g_object_new (ICON_BROWSER_WINDOW_TYPE, "application", app, NULL);
}

View File

@@ -0,0 +1,20 @@
#ifndef __ICON_BROWSER_WIN_H
#define __ICON_BROWSER_WIN_H
#include <gtk/gtk.h>
#include "iconbrowserapp.h"
#define ICON_BROWSER_WINDOW_TYPE (icon_browser_window_get_type ())
#define ICON_BROWSER_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ICON_BROWSER_WINDOW_TYPE, IconBrowserWindow))
typedef struct _IconBrowserWindow IconBrowserWindow;
typedef struct _IconBrowserWindowClass IconBrowserWindowClass;
GType icon_browser_window_get_type (void);
IconBrowserWindow *icon_browser_window_new (IconBrowserApp *app);
#endif /* __ICON_BROWSER_WIN_H */

View File

@@ -0,0 +1,8 @@
#include <gtk/gtk.h>
#include <iconbrowserapp.h>
int
main (int argc, char *argv[])
{
return g_application_run (G_APPLICATION (icon_browser_app_new ()), argc, argv);
}

View File

@@ -0,0 +1,322 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.8 -->
<object class="GtkListStore" id="store">
<columns>
<column type="gchararray"/>
<column type="gchararray"/>
<column type="gchararray"/>
<column type="gchararray"/>
</columns>
</object>
<object class="GtkTreeModelFilter" id="filter_model">
<property name="child_model">store</property>
</object>
<template class="IconBrowserWindow" parent="GtkApplicationWindow">
<property name="title" translatable="yes">Icon Browser</property>
<property name="default-width">600</property>
<property name="default-height">800</property>
<child type="titlebar">
<object class="GtkHeaderBar" id="header">
<property name="visible">True</property>
<property name="title" translatable="yes">Icon Browser</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkBox">
<property name="visible">True</property>
<style>
<class name="linked"/>
</style>
<child>
<object class="GtkRadioButton" id="normal_radio">
<property name="visible">True</property>
<property name="draw_indicator">False</property>
<property name="label" translatable="yes">Normal</property>
</object>
</child>
<child>
<object class="GtkRadioButton" id="symbolic_radio">
<property name="visible">True</property>
<property name="draw_indicator">False</property>
<property name="label" translatable="yes">Symbolic</property>
<property name="group">normal_radio</property>
<signal name="toggled" handler="symbolic_toggled"/>
</object>
</child>
</object>
</child>
<child>
<object class="GtkToggleButton" id="search">
<property name="visible">False</property>
<style>
<class name="image-button"/>
</style>
<child>
<object class="GtkImage" id="search-icon">
<property name="visible">True</property>
<property name="icon-name">edit-find-symbolic</property>
<property name="icon-size">1</property>
</object>
</child>
</object>
<packing>
<property name="pack-type">end</property>
</packing>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="orientation">horizontal</property>
<child>
<object class="GtkListBox" id="context_list">
<property name="visible">True</property>
<property name="selection_mode">single</property>
<signal name="selected-rows-changed" handler="selected_context_changed"/>
</object>
</child>
<child>
<object class="GtkBox" id="content_box">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkSearchBar" id="searchbar">
<property name="visible">True</property>
<child>
<object class="GtkSearchEntry" id="searchentry">
<signal name="search-changed" handler="search_text_changed"/>
<property name="visible">True</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkScrolledWindow" id="sw">
<property name="visible">True</property>
<property name="expand">True</property>
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">automatic</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkIconView" id="list">
<property name="visible">True</property>
<property name="model">filter_model</property>
<signal name="selection_changed" handler="selection_changed"/>
<signal name="item_activated" handler="item_activated"/>
<child>
<object class="GtkCellRendererPixbuf" id="cell">
<property name="xpad">10</property>
<property name="ypad">10</property>
<property name="stock-size">5</property>
<property name="follow-state">True</property>
</object>
</child>
<child>
<object class="GtkCellRendererText" id="text_cell">
<property name="xpad">10</property>
<property name="ypad">10</property>
<property name="xalign">0.5</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</template>
<object class="GtkSizeGroup">
<property name="mode">vertical</property>
<widgets>
<widget name="normal_radio"/>
<widget name="symbolic_radio"/>
<widget name="search"/>
</widgets>
</object>
<object class="GtkDialog" id="details">
<property name="modal">True</property>
<property name="use-header-bar">1</property>
<property name="resizable">False</property>
<signal name="delete-event" handler="gtk_widget_hide_on_delete"/>
<child internal-child="vbox">
<object class="GtkBox">
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="margin">10</property>
<property name="row-spacing">10</property>
<property name="column-spacing">10</property>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">end</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">end</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">end</property>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">end</property>
</object>
<packing>
<property name="left-attach">3</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">end</property>
</object>
<packing>
<property name="left-attach">4</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="label">16x16</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="label">24x24</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="label">32x32</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="label">48x48</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">3</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="xpad">4</property>
<property name="ypad">4</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="label">64x64</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">4</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="description">
<property name="visible">True</property>
<property name="wrap">True</property>
<property name="max-width-chars">60</property>
<property name="xalign">0</property>
<property name="valign">start</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
<property name="width">5</property>
</packing>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -1,41 +0,0 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gtk/libgtk-3.la
LDADDS = \
$(top_builddir)/gtk/libgtk-3.la \
$(top_builddir)/gdk/libgdk-3.la \
$(GTK_DEP_LIBS) \
$(MATH_LIB)
noinst_PROGRAMS = \
pixbuf-demo
pixbuf_demo_DEPENDENCIES = $(DEPS)
pixbuf_demo_LDADD = $(LDADDS)
pixbuf_demo_SOURCES = pixbuf-demo.c
EXTRA_DIST += \
apple-red.png \
background.jpg \
gnome-applets.png \
gnome-calendar.png \
gnome-foot.png \
gnome-gimp.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png
-include $(top_srcdir)/git.mk

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -1,216 +0,0 @@
/* GdkPixbuf library - Scaling and compositing demo
*
* Copyright (C) 1999 The Free Software Foundation
*
* Authors: Federico Mena-Quintero <federico@gimp.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <stdlib.h>
#include <gtk/gtk.h>
#include <math.h>
#define BACKGROUND_NAME "background.jpg"
static const char *image_names[] = {
"apple-red.png",
"gnome-applets.png",
"gnome-calendar.png",
"gnome-foot.png",
"gnome-gmush.png",
"gnome-gimp.png",
"gnome-gsame.png",
"gnu-keys.png"
};
#define N_IMAGES (sizeof (image_names) / sizeof (image_names[0]))
/* Current frame */
static GdkPixbuf *frame;
/* Background image */
static GdkPixbuf *background;
static int back_width, back_height;
/* Images */
static GdkPixbuf *images[N_IMAGES];
/* Widgets */
static GtkWidget *da;
/* Loads the images for the demo and returns whether the operation succeeded */
static gboolean
load_pixbufs (void)
{
int i;
/* We pass NULL for the error return location, we don't care
* about the error message.
*/
background = gdk_pixbuf_new_from_file (BACKGROUND_NAME, NULL);
if (!background)
return FALSE;
back_width = gdk_pixbuf_get_width (background);
back_height = gdk_pixbuf_get_height (background);
for (i = 0; i < N_IMAGES; i++) {
images[i] = gdk_pixbuf_new_from_file (image_names[i], NULL);
if (!images[i])
return FALSE;
}
return TRUE;
}
/* Expose callback for the drawing area */
static gboolean
draw_cb (GtkWidget *widget, cairo_t *cr, gpointer data)
{
gdk_cairo_set_source_pixbuf (cr, frame, 0, 0);
cairo_paint (cr);
return TRUE;
}
#define CYCLE_TIME 3000000 /* 3 seconds */
static gint64 start_time;
/* Handler to regenerate the frame */
static gboolean
on_tick (GtkWidget *widget,
GdkFrameClock *frame_clock,
gpointer data)
{
gint64 current_time;
double f;
int i;
double xmid, ymid;
double radius;
gdk_pixbuf_copy_area (background, 0, 0, back_width, back_height,
frame, 0, 0);
if (start_time == 0)
start_time = gdk_frame_clock_get_frame_time (frame_clock);
current_time = gdk_frame_clock_get_frame_time (frame_clock);
f = ((current_time - start_time) % CYCLE_TIME) / (double)CYCLE_TIME;
xmid = back_width / 2.0;
ymid = back_height / 2.0;
radius = MIN (xmid, ymid) / 2.0;
for (i = 0; i < N_IMAGES; i++) {
double ang;
int xpos, ypos;
int iw, ih;
double r;
GdkRectangle r1, r2, dest;
double k;
ang = 2.0 * G_PI * (double) i / N_IMAGES - f * 2.0 * G_PI;
iw = gdk_pixbuf_get_width (images[i]);
ih = gdk_pixbuf_get_height (images[i]);
r = radius + (radius / 3.0) * sin (f * 2.0 * G_PI);
xpos = floor (xmid + r * cos (ang) - iw / 2.0 + 0.5);
ypos = floor (ymid + r * sin (ang) - ih / 2.0 + 0.5);
k = (i & 1) ? sin (f * 2.0 * G_PI) : cos (f * 2.0 * G_PI);
k = 2.0 * k * k;
k = MAX (0.25, k);
r1.x = xpos;
r1.y = ypos;
r1.width = iw * k;
r1.height = ih * k;
r2.x = 0;
r2.y = 0;
r2.width = back_width;
r2.height = back_height;
if (gdk_rectangle_intersect (&r1, &r2, &dest))
gdk_pixbuf_composite (images[i],
frame,
dest.x, dest.y,
dest.width, dest.height,
xpos, ypos,
k, k,
GDK_INTERP_NEAREST,
((i & 1)
? MAX (127, fabs (255 * sin (f * 2.0 * G_PI)))
: MAX (127, fabs (255 * cos (f * 2.0 * G_PI)))));
}
gtk_widget_queue_draw (da);
return G_SOURCE_CONTINUE;
}
/* Destroy handler for the window */
static void
destroy_cb (GObject *object, gpointer data)
{
gtk_main_quit ();
}
int
main (int argc, char **argv)
{
GtkWidget *window;
gtk_init (&argc, &argv);
if (!load_pixbufs ()) {
g_message ("main(): Could not load all the pixbufs!");
exit (EXIT_FAILURE);
}
frame = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, back_width, back_height);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request (window, back_width, back_height);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "destroy",
G_CALLBACK (destroy_cb), NULL);
da = gtk_drawing_area_new ();
g_signal_connect (da, "draw",
G_CALLBACK (draw_cb), NULL);
gtk_container_add (GTK_CONTAINER (window), da);
gtk_widget_add_tick_callback (da, on_tick, NULL, NULL);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}

View File

@@ -45,7 +45,7 @@ dist_appsicon32_DATA = data/32x32/gtk3-widget-factory.png
dist_appsicon48_DATA = data/48x48/gtk3-widget-factory.png
dist_appsicon256_DATA = data/256x256/gtk3-widget-factory.png
update_icon_cache = gtk-update-icon-cache --ignore-theme-index --force
update_icon_cache = $(GTK_UPDATE_ICON_CACHE) --ignore-theme-index --force
install-data-hook: install-update-icon-cache
uninstall-hook: uninstall-update-icon-cache
@@ -60,6 +60,7 @@ uninstall-update-icon-cache:
EXTRA_DIST += \
widget-factory.ui \
menus.ui \
widget-factory.gresource.xml
-include $(top_srcdir)/git.mk

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<menu id="app-menu">
<section>
<item>
<attribute name="label" translatable="yes">About</attribute>
<attribute name="action">app.about</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute>
<attribute name="accel">&lt;Primary&gt;q</attribute>
</item>
</section>
</menu>
</interface>

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/ui">
<gresource prefix="/org/gtk/WidgetFactory">
<file preprocess="xml-stripblanks">widget-factory.ui</file>
</gresource>
<gresource prefix="/org/gtk/WidgetFactory/gtk">
<file preprocess="xml-stripblanks">menus.ui</file>
</gresource>
</gresources>

Some files were not shown because too many files have changed in this diff Show More