Commit Graph

23414 Commits

Author SHA1 Message Date
Cosimo Cecchi
6ff19bcedc scrolledwindow: fix copy/paste typo
fc28303948 refactored code into the
get_scroll_unit() function but introduced a copy/paste typo.
2015-05-24 12:06:42 -07:00
Cosimo Cecchi
e0b1ea11cc placessidebar: escape tooltip text before setting it
gtk_tree_view_set_tooltip_column() specifies that markup in the text
should be escaped.
This fixes critical warnings when hovering over items in the sidebar for
bookmarks that have markup characters in their names.

https://bugzilla.gnome.org/show_bug.cgi?id=719683
2015-05-24 12:04:22 -07:00
Carlos Garnacho
48bfabe59e scrolledwindow: Trigger builtin kinetic deceleration on libinput devices
The libinput driver will send a 0/0 scroll event on touchpads and other
devices where it knows scrolling stopped for sure. Use these events to
trigger kinetic scrolling from there.

The mechanism is similar to GtkGestureSwipe, we keep a backlog of the
latest dx/dy till a previous point in time, and calculate the final
velocities from there, with the difference we're dealing with scroll
units, and not pixel distances.

https://bugzilla.gnome.org/show_bug.cgi?id=749770
2015-05-24 16:58:35 +02:00
Carlos Garnacho
fc28303948 scrolledwindow: Refactor scroll unit guessing into a separate function
Makes it clearer, and will be used in further places.

https://bugzilla.gnome.org/show_bug.cgi?id=749770
2015-05-24 16:58:35 +02:00
Carlos Garnacho
f00214e922 scrolledwindow: reset more Indicator state on ::unmap
If a GtkScrolledWindow is just unmapped and promptly mapped again, the
indicators are left in a semi-visible state, so the GdkWindow isn't raised
properly above scrolledwindow content. This inconsistent state went away
the next time the indicator is hidden.

So, reset all state about indicator window visibility, animation
progress and conceil timer on ::unmap, this will be enough to make the
indicators start out hidden like on newly created scrolledwindows.
2015-05-22 21:16:36 +02:00
Carlos Garnacho
61cc10760d iconview: Avoid usage of gdk_window_get_device_position() during DnD
Just use the last coordinates given on XdndPosition/drag_motion() in
order to trigger scrolling.

When running on Xwayland, the pointer position is unknown at this
stage on the X11 side, so the coordinates given here are bogus.
This change avoids both roundtrips and this situation.

https://bugzilla.gnome.org/show_bug.cgi?id=749679
2015-05-21 18:11:21 +02:00
Carlos Garnacho
b666f14ef8 treeview: Avoid usage of gdk_window_get_device_position() during DnD
Just use the last coordinates given on XdndPosition/drag_motion() in
order to trigger scrolling.

When running on Xwayland, the pointer position is unknown at this
stage on the X11 side, so the coordinates given here are bogus.
This change avoids both roundtrips and this situation.

https://bugzilla.gnome.org/show_bug.cgi?id=749679
2015-05-21 18:11:21 +02:00
Carlos Garnacho
b54031d505 textview: Avoid usage of gdk_window_get_device_position() during DnD
Just use the last coordinates given on XdndPosition/drag_motion() in
order to trigger scrolling.

When running on Xwayland, the pointer position is unknown at this
stage on the X11 side, so the coordinates given here are bogus.
This change avoids both roundtrips and this situation.

https://bugzilla.gnome.org/show_bug.cgi?id=749679
2015-05-21 18:11:21 +02:00
Руслан Ижбулатов
26c24328d5 GDK: Add cursor theme support to W32 backend
Load themed cursors from the same places they are loaded on freedesktop systems,
but use W32 API functions to do so (works for .cur/.ani cursors instead of X
cursors).

Refactor the code for cursor handling. Prefer loading cursors by name.

Do not load actual cursors when loading the theme. Find the files and remember
the arguments/calls for loading them instead. Keeping HCURSOR instance in the
hashmap would result in multiple GdkCursors using the same HCURSOR. Given that
we use DestroyCursor() to off them, this would cause problems (at the very
least - DestroyCursor() would fail).

Store GdkCursor instances in a cache. Update cached cursors when theme changes.

Recognize "system" theme as a special (and default) case. When it is set,
prefer system cursors and fall back to Adwaita cursors and (as a last resort)
built-in X cursors. Otherwise prefer theme cursors and fall back to system and
X cursors.

Force GTK to use "left_ptr" cursor when no cursor is set. Using NULL makes
it use the system default "arrow", which is not the intended behaviour when
a non-system theme is selected.

Ignore cursor size setting and query the OS for the required cursor size, as
Windows (almost) does not allow setting cursors of arbitrary size.

https://bugzilla.gnome.org/show_bug.cgi?id=749287
2015-05-20 08:42:24 +00:00
Jonas Ådahl
f6d021512a GtkWindow: Don't assume no shadow width even when not supported
Even if a window doesn't support client side shadow
(gtk_window_supports_client_shadow returns FALSE), don't assume the
shadow width is zero, as CSD may have been enabled anyway (meaning
priv->client_decorated is TRUE). In that case we still need to report
the correct width.

https://bugzilla.gnome.org/show_bug.cgi?id=749451
2015-05-18 07:46:43 -04:00
Matthias Clasen
3ae953092a Don't force an icon window
We were inadvertently forcing the use of an icon window
in all cases. This patch makes it so that we once again
use a combined cursor when possible.
2015-05-16 23:55:09 -04:00
Matthias Clasen
8b902d58b9 Remove some useless comments 2015-05-16 18:04:40 -04:00
Matthias Clasen
0a5e216d42 DND: Move private api to a private header 2015-05-16 17:54:01 -04:00
Matthias Clasen
987da43e71 Remove multi-screen handling in DND code
We only have one screen nowadays. No need to carry around
code for handling screen changes.
2015-05-16 17:26:45 -04:00
Matthias Clasen
924a8eb405 GtkQuery: Drop unused mimetype functions
These are not used, so drop them.
2015-05-16 00:48:36 -04:00
Matthias Clasen
41fee7e569 GtkQuery: Cleanups
Strip leading underscores from GtkQuery api, and
clean up the sources a bit.
2015-05-16 00:48:36 -04:00
Matthias Clasen
3f0f68e6ad GtkFileChooser: Show remote search results too
There is no reason not to show them. Removing this
makes search on remote locations just work.
2015-05-16 00:48:36 -04:00
Matthias Clasen
43e1eea1bb Rewrite search to be more similar to nautilus
The main advantage here is that this code works for remote
locations as well.
2015-05-16 00:48:36 -04:00
Kjell Ahlstedt
12ccebe2a4 gtkwindow: Fix a memory leak
The private data GtkGesture* drag_gesture was added by commit
13e22e2030, but it's never destroyed.
Unref it in gtk_window_finalize().

https://bugzilla.gnome.org/show_bug.cgi?id=749425
2015-05-15 15:39:04 +02:00
Emmanuele Bassi
dc41c59006 Amend deprecation warnings for GtkStyle API
Not everything has a replacement in the API, as the drawing model
changed considerably; nevertheless, this should help out developers
porting from the deprecated GtkStyle API.
2015-05-14 17:00:14 +01:00
Benjamin Otte
36678306a0 box: Fix RTL styling 2015-05-12 18:44:59 +02:00
Matthias Clasen
c32cf6ffb1 GtkPrintUnixDialog: Avoid deprecated properties
Not needed here at all.
2015-05-12 08:24:52 -04:00
Matthias Clasen
5c84bc0fba GtkPageSetupUnixDialog: Avoid deprecated properties
Not needed at all.
2015-05-12 08:22:56 -04:00
Matthias Clasen
2bb1ed69f0 GtkPopover: Clean up default widget on dispose
We forgot to drop the ref we take. Thankfully our
tests caught this.
2015-05-12 07:57:04 -04:00
Matthias Clasen
3dda1c5b64 Docs: Typo fix 2015-05-12 07:44:44 -04:00
Ting-Wei Lan
a1e418ebd5 Fix return value error in gtk_font_chooser_get_font_map
https://bugzilla.gnome.org/show_bug.cgi?id=749248
2015-05-12 07:22:32 -04:00
Matthias Clasen
6663257bf0 GtkFontChooser: Refine 'no matches' pages
Use a better icon, and put the text below.
2015-05-11 20:03:08 -04:00
Matthias Clasen
0e267ce7ff GtkFileChooser: Refine 'no matches' page
Use a better icon, and put the text below.
2015-05-11 19:44:30 -04:00
Matthias Clasen
6b8ef6e2e2 Forgotten file 2015-05-10 15:37:55 -04:00
Matthias Clasen
2bafc7d195 GtkAdjustment: Deprecate some redundant API
Both gtk_adjustment_changed and gtk_adjustment_value_changed
are unnecessary every since we've sealed the GtkAdjustment
struct.

https://bugzilla.gnome.org/show_bug.cgi?id=619493
2015-05-10 02:35:52 -04:00
Matthias Clasen
647889c2e3 GtkIconView: Stop using gtk_adjustment_changed
This should not be needed at all.
2015-05-10 02:35:07 -04:00
Matthias Clasen
d90847b20e GtkSpinButton: Stop using gtk_adjustment_value_changed
This is just an unnecessary indirection.
2015-05-10 02:34:33 -04:00
Matthias Clasen
9a4f2669f7 Trivial formatting fixes 2015-05-10 02:10:21 -04:00
Matthias Clasen
648c3b39f3 input methods: Add a 'vertical text' hint
This has been requested in
https://bugzilla.gnome.org/show_bug.cgi?id=747150
2015-05-10 01:30:38 -04:00
Matthias Clasen
3d81fe8617 Font chooser: Hide size controls with 'no match'
The preview entry previews a font despite there being
no results, that makes no sense.
2015-05-09 02:18:01 -04:00
Matthias Clasen
972e59d05e Font chooser: Nice 'not found' message
This copies the style that is used in the file chooser
now.
2015-05-09 02:06:28 -04:00
Matthias Clasen
7a5329578c Font chooser: Also apply font map to preview
Otherwise, the preview is not showing a selected custom font.
2015-05-09 01:58:32 -04:00
Matthias Clasen
798789ee90 GtkRecentChooser: Use a better busy cursor 2015-05-07 22:36:00 -04:00
Matthias Clasen
99935b14c6 GtkPrintUnixDialog: Use a better busy cursor 2015-05-07 22:24:19 -04:00
Matthias Clasen
eb715c3118 GtkProgressBar: Adjust docs to new style
Don't talk about superimposed text, since we don't do that
anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=748784
2015-05-07 22:07:41 -04:00
Matthias Clasen
b122787a76 GtkFontChooser: Use a GtkStack 2015-05-07 18:28:39 -04:00
Garrett Regier
f3a390a6bf GtkFontChooserWidget: Remove unused struct field
This was added accidentally in a recent patch.

Signed-off-by: Garrett Regier <garrettregier@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=748992
2015-05-07 16:01:49 -04:00
Jonas Ådahl
08e2f958f0 GtkWindow: Manually set CSD should enable shadow width calculation
If CSD is enabled with shadow even though it "shouldn't"*, the width
should still be calculated correctly. This fixes a regression caused by
b1e5ad469c.

* gtk_window_should_use_csd () returns false

https://bugzilla.gnome.org/show_bug.cgi?id=748615
2015-05-07 15:56:14 -04:00
Debarshi Ray
39e7afecb1 GtkStack: Don't emit notify::visible-child during destruction
https://bugzilla.gnome.org/show_bug.cgi?id=749012
2015-05-07 15:18:20 +02:00
Matthias Clasen
142c8a5c8d GtkFontChooser: Add an example to the docs 2015-05-07 07:33:23 -04:00
Matthias Clasen
049cbc8b74 GtkFontChooser: Allow a custom font map
This lets applications show their own fonts instead of
or in addition to system fonts.

https://bugzilla.gnome.org/show_bug.cgi?id=748771
2015-05-07 07:33:23 -04:00
Jakub Steiner
0c922a9443 Adwaita: tone down popover dropshadow 2015-05-07 10:17:22 +02:00
Debarshi Ray
26b03332a4 GtkStackSwitcher: Don't emit notify::visible-child when setting a stack
Synchronizing the visible child with the switcher's toggle buttons can
lead to GtkButton::clicked being emitted twice. Once for the button
that was active before, and once for the button that we just activated.
This leads to notify::visible-child being called twice and one of
them is with the wrong child.

Let's deal with this in the same way we handle the visible child
changing underneath us.

https://bugzilla.gnome.org/show_bug.cgi?id=749021
2015-05-06 22:31:10 +02:00
Jonas Ådahl
b1e5ad469c GtkWindow: Get the correct shadow width even before window is realized
The window state 'client_decorated' will only be set the window is being
realized. If anyone tries to get the shadow size before that it'd get
the with as if there always was no shadow.

This avoids negative sized opaque regions caused by the allocation being
smaller than shadow.

https://bugzilla.gnome.org/show_bug.cgi?id=748615
2015-05-06 19:55:20 +08:00
Christian Hergert
fa6f956489 inspector: allow object read-only properties in prop-editor
If we have a GObject property that is also a GObject, we should be able
to view additional information on that object (even if the param spec
is read-only).
2015-05-05 22:00:54 -07:00
Matthias Clasen
07f4c9c315 GtkFontChooserWidget: Listen for fontconfig changes
We were relying on indirectly getting notify when fontconfig
configuration changes, by GtkSettings translating the timestamp
change into a style-invalidation, which gets fed through the
css invalidation machinery. That machinery has gotten good enough
at optimizing away redundant changes that it no longer emits
::style-updated in this case.

So, instead make the font chooser listen directly to what it
cares about: the fontconfig change notification from GtkSettings.
2015-05-06 00:52:23 -04:00
Emmanuele Bassi
487332c458 settings: Wayland-only systems also use fontconfig
We're relying on the X11 backend being compiled in, but that may not be
the case.

https://bugzilla.gnome.org/show_bug.cgi?id=748782
2015-05-05 11:22:53 +01:00
Emmanuele Bassi
c6df17577a fontchooser: Use gtk-fontconfig-timestamp setting
We can use the GtkSettings:gtk-fontconfig-timestamp property to decide
whether or not we should reload fonts on style and screen changes. This
should avoid doing a lot of work with large font collections when only
the theme has changed.

https://bugzilla.gnome.org/show_bug.cgi?id=748782
2015-05-05 11:22:53 +01:00
Matthias Clasen
1f51c506c3 Fix precondition in gtk_popover_get_default_widget
We need to return a value here.
2015-05-04 09:28:46 -04:00
Jakub Steiner
5cce2051dd HC: implement overlay scrollbar theming
while the behavior was in place, the specific theming for
overlay scrollbars was missing, and content was hidden.
2015-05-04 14:39:40 +02:00
Matthias Clasen
ff558d3d39 Drop PANGO_ENABLE_BACKEND
Not needed for a long time now.

https://bugzilla.gnome.org/show_bug.cgi?id=748783
2015-05-04 08:02:32 -04:00
Timm Bäder
c28275f4ec GtkPopover: Don't ref NULL widgets
gtk_window_get_default_widget returns NULL if the window does not have a
default widget, so don't ref it in that case.
2015-05-03 20:03:56 +02:00
Matthias Clasen
adb58b2c84 file chooser: Set default widget in create folder popover
This is using the new default widget functionality for
popovers to make Enter in the entry activate the Create
button.

https://bugzilla.gnome.org/show_bug.cgi?id=747664
2015-05-02 20:34:28 -04:00
Matthias Clasen
e1c1fc59e5 Add default widget handling to popovers
Add a new API, gtk_popover_set_default_widget, that can be
used to make a widget act as default while the popover is
shown. This is useful in dialog-like popovers.

http://bugzilla.gnome.org/show_bug.cgi?id=747664
2015-05-02 20:34:28 -04:00
Matthias Clasen
3682c761ed GtkStatusbar: Simplify ui template 2015-05-02 18:24:20 -04:00
Matthias Clasen
a921229246 GtkSearchBar: Simplify ui template 2015-05-02 18:23:20 -04:00
Matthias Clasen
52753b8162 GtkScaleButton: Simplify ui template 2015-05-02 18:22:30 -04:00
Matthias Clasen
307bdb2e6b GtkRecentChooserDefault: Simplify ui template 2015-05-02 18:21:38 -04:00
Matthias Clasen
4fe01dec95 GtkPrintUnixDialog: Simplify ui template 2015-05-02 18:20:04 -04:00
Matthias Clasen
c1876f892a GtkPageSetupUnixDialog: Simplify ui template 2015-05-02 18:17:38 -04:00
Matthias Clasen
c258d225cb GtkMessageDialog: Simplify ui template 2015-05-02 18:11:29 -04:00
Matthias Clasen
2487487e6a GtkLockButton: Simplify ui template 2015-05-02 18:10:37 -04:00
Matthias Clasen
71681d61df GtkInfoBar: Simplify ui template 2015-05-02 18:05:15 -04:00
Matthias Clasen
68cf6264f1 GtkFontChooserWidget: Simplify ui template 2015-05-02 18:04:30 -04:00
Matthias Clasen
f20dbe0823 GtkFontChooserDialog: Simplify ui template 2015-05-02 18:03:50 -04:00
Matthias Clasen
ab22285f15 GtkFontButton: Simplify ui template 2015-05-02 18:03:08 -04:00
Matthias Clasen
bf9d32b9ee GtkFileChooserWidget: Simplify ui template 2015-05-02 18:02:26 -04:00
Matthias Clasen
232d6f84f0 GtkFileChooserDialog: Simplify ui template 2015-05-02 18:01:04 -04:00
Matthias Clasen
728f7db45f GtkFileChooserButton: Simplify ui template 2015-05-02 18:00:15 -04:00
Matthias Clasen
a94cedd2ae GtkDialog: Simplify ui template 2015-05-02 17:59:28 -04:00
Matthias Clasen
f7c58c3be3 GtkColorEditor: Simplify ui template 2015-05-02 17:57:28 -04:00
Matthias Clasen
ea2ac484d1 GtkColorChooserDialog: Simplify ui template 2015-05-02 17:56:40 -04:00
Matthias Clasen
86383e63db GtkAssistant: Simplify ui template 2015-05-02 17:55:52 -04:00
Matthias Clasen
d6a698f700 GtkAppChooserWidget: Simplify ui template 2015-05-02 17:53:39 -04:00
Matthias Clasen
e966363b1a GtkAppChooserDialog: Simplify ui template 2015-05-02 17:49:07 -04:00
Matthias Clasen
ea0a54a477 GtkActionBar: Simplify ui template 2015-05-02 17:39:56 -04:00
Matthias Clasen
4f115ad940 gtk-builder-tool: Some refactoring
Break out similar code into separate functions.
2015-05-02 17:39:05 -04:00
Matthias Clasen
9ff14a8188 gtk-builder-tool: Strip placeholders
glade likes to sprinkle <child><placeholder/></child> all
over the place - get rid of it.
2015-05-02 17:39:05 -04:00
Matthias Clasen
3b0e71cf9b gtk-builder-tool: Simplify non-translatable properties 2015-05-02 17:39:05 -04:00
Matthias Clasen
932e254688 gtk-builder-tool: Always emit translatable properties
Seems unlikely that these would ever have a default value,
but better safe than sorry.
2015-05-02 17:39:05 -04:00
Matthias Clasen
060c4f9c66 gtk-builder-tool: Handle cell properties
These were causing 'unknown property' warnings before.
2015-05-02 17:39:05 -04:00
Matthias Clasen
e478ec09b8 GtkAboutDialog: Make credits section keyboard navigatable
Its the right thing to do.
2015-05-02 11:55:57 -04:00
Matthias Clasen
086d05b0cf GtkAboutDialog: Fix some focus issues
Making a container focusable is rarely the right thing to do.
It typically breaks the focus chain, and makes the container
contents unfocusable, as was the case here.
2015-05-02 11:55:57 -04:00
Matthias Clasen
52bf6d52bb gtk-builder-tool: Add more exceptions 2015-05-02 11:55:57 -04:00
Timm Bäder
b08a1702d1 inspector/misc-info: Fix typo 2015-05-02 17:27:29 +02:00
Matthias Clasen
b8548d27a1 gtk-builder-tool: Start an exception list
We have a number of cases where properties should have their
default value overridden in a subclass, but haven't because thats
annoying to do. We also have properties where the absence of
an explicit value has context-dependent meaning.
Add a list of exceptions for these cases.
2015-05-02 07:35:35 -04:00
Matthias Clasen
354146143e Fix another ordering issue 2015-05-02 02:48:46 -04:00
Matthias Clasen
3fbaf3231e GtkPlacesSidebar: Use a popover for renaming bookmarks
This is following the example in gnome-builder.
2015-05-02 02:48:46 -04:00
Matthias Clasen
4336d02e24 GtkFileChooser: Fix an ordering issue
The previous commit removed default-valued properties,
but apparently that has a negative effect for grid
packing properties, so put the explicit value back.
2015-05-02 01:04:01 -04:00
Matthias Clasen
bdf49a7c3a GtkFileChooser: Indicate if search comes up empty
This is a neice touch and helps to understand what
is going on.
2015-05-01 23:09:56 -04:00
Matthias Clasen
05bde9d8dd GtkSearchEngine: Use all search engines
Just using tracker does not work well if you are searching in
non-indexed locations, such as git checkouts or network mounts.

Ideally, we'd decide the 'best' engine to use for each location.
Since that is not easy to do, just run them in parallel for now,
which is the same strategy that nautilus uses.
2015-05-01 15:46:47 -04:00
Руслан Ижбулатов
4acbcf9e97 Rewrite simple search engine to use GFile and breadth order
https://bugzilla.gnome.org/show_bug.cgi?id=746916
2015-05-01 19:24:07 +00:00
Matthias Clasen
4b50836442 GtkSearchEngine: Drop unused functionality 2015-05-01 12:46:43 -04:00
Matthias Clasen
1e9bfac184 Drop a redundant call
g_thread_supported() is always TRUE nowadays, so drop the call.
2015-04-30 22:43:50 -04:00
Matthias Clasen
0113da4868 GtkFileChooser: Use a better busy cursor
It is possible to interact with the file chooser while
things are loading, so use a cursor that indicates this,
if we have one.
2015-04-30 22:43:50 -04:00
Lapo Calamandrei
bfc6413787 Adwaita: remove duplicated selector. 2015-04-30 14:39:05 +02:00
Matthias Clasen
398399610a gtk-builder-tool: Add an enumerate command
This lists all the named objects from the .ui file.
2015-04-30 07:11:49 -04:00
Matthias Clasen
ec05339858 gtk-builder-tool: Validate templates
Catch an error that indicates the file looks like a template,
and then try again, this time with the template parsing API
of GtkBuilder. This is a little iffy, since we need to create
a 'fake' type and instance to pass in, but it works ok in
simple tests.
2015-04-30 06:19:10 -04:00
Matthias Clasen
6535276c3e GtkBuilder: Emit a more detailed error for templates
Add the class and parent class name to the error message.
gtk-builder-tool will parse the error message and use the
class names for trying again to parse the file as a template.
2015-04-30 06:19:10 -04:00
Matthias Clasen
569d5ad763 GtkBuilder: Export the template parsing entry point
This will let gtk-builder-tool validate templates.
2015-04-30 06:19:10 -04:00
Matthias Clasen
287ba6b94b Convert more GtkBuilder to g_markup_collect_attributes
The core parser itself was left, so handle it as well.
2015-04-30 06:19:10 -04:00
Matthias Clasen
10860d229e Formatting fixes 2015-04-30 06:19:10 -04:00
Руслан Ижбулатов
5ed5d11632 W32: bump _WIN32_WINNT and WINVER to 0x600 (Vista)
Move gdkprivate-win32.h include to ensure that this change affects gdkevents-win32.c
2015-04-29 21:12:14 +00:00
Руслан Ижбулатов
d44921a152 Enable RGBA windows on W32
Requires Vista and newer.

* Create surfaces with cairo_win32_surface_create_with_format
* Provide an rgba visual that can be distinguished from the system visual
* Make rgba visual the best available visual
* Enable alpha-transparency for all windows that we control
* Check for appropriate cairo capabilities at configure time
  (W32 - 1.14.3 newer than 2015-04-14; others - 1.14.0)

* Check for composition support before enabling CSDs
* Re-enable transparency on WM_DWMCOMPOSITIONCHANGED
Windows that were created while composition was enabled and that were CSDed
as a result and will look ugly (thick black borders or no borders at all) once
composition is disabled.
If composition is enabled afterwards, they will return back to normal.
This happens, for example, when RDP session is opened to a desktop where a GTK
application is running. For W7/Vista windows will only re-gain transparency after
the RDP session is closed. For W8 transparency will only be gone momentarily.

Windows that were created while composition was disabled will not be CSDed
automatically and will use SSD (WM decorations), while windows that are CSDed
manually will get a thin square border.
If composition is enabled afterwards, these windows will not change.
This is most noticeable for system menus (popup menus are often generated
on the fly, system menus are created once) and some dialogues (About dialogue,
for example).

https://bugzilla.gnome.org/show_bug.cgi?id=727316
2015-04-29 21:12:13 +00:00
Matthias Clasen
d58500b318 GtkBuilder: Report more lookup failures as GError
Report failures to lookup objects for property values
and bindings via GError too, and provide location information
while doing so.

https://bugzilla.gnome.org/show_bug.cgi?id=748234
2015-04-29 15:19:31 -04:00
Lapo Calamandrei
aa6219db1c Adwaita: .title and .subtitle paddings
Only set side paddings for title and subtitle classes, we had 0
vertical padding set there, no idea why, so let's find out...
2015-04-28 16:52:46 +02:00
Matthias Clasen
d7523423d4 gtk-builder-tool: Separate commands
Add separate commands for validation and simplification.
2015-04-27 23:40:43 -04:00
Matthias Clasen
43cee06160 GtkWindow: Use _gtk_builder_lookup_object 2015-04-27 23:09:35 -04:00
Matthias Clasen
c9040ab038 GtkWidget: Use _gtk_builder_lookup_object 2015-04-27 23:09:35 -04:00
Matthias Clasen
7767f059fd GtkSizeGroup: Use _gtk_builder_lookup_object 2015-04-27 23:09:35 -04:00
Matthias Clasen
fc466cdf28 GtkInfoBar: Use _gtk_builder_lookup_object 2015-04-27 23:09:35 -04:00
Matthias Clasen
2805ba64c6 GtkDialog: Use _gtk_builder_lookup_object 2015-04-27 23:09:30 -04:00
Matthias Clasen
83245abfea GtkContainer: Use _gtk_builder_lookup_object 2015-04-27 23:09:24 -04:00
Matthias Clasen
5bd0ec6381 GtkBuilder: Report 'invalid ID' errors
Look for a stashed GError after calling custom_tag_end,
custom_finished or parser_finished vfuncs, and report
them up.
2015-04-27 22:56:53 -04:00
Matthias Clasen
fc83c8ac76 GtkBuilder: Add new convenience API
Add a convenience function that is like gtk_builder_get_object()
but stashes away a GError if a lookup fails. To make the error
message informative, the function takes a line/column pair.

Doing things this way is necessary because the custom_tag_end,
custom_finished, and parser_finished vfuncs don't take a
GError parameter, despite being called from a place where
we can report a GError back.
2015-04-27 22:54:25 -04:00
Matthias Clasen
1525d4ab89 GtkBuilder: Document private convenience API 2015-04-27 22:53:42 -04:00
Matthias Clasen
7332fefe96 GtkBuilder: Add an error code for 'invalid ID'
This is in preparation for reporting such errors through GError.
2015-04-27 22:52:03 -04:00
Matthias Clasen
331db35d57 GtkLabel: Prefix more ui parser errors
This may become useful in gnome-builder for highlighting errors,
so do it consistently.
2015-04-27 19:20:29 -04:00
Matthias Clasen
d99c3e0332 Formatting fixes 2015-04-27 19:16:41 -04:00
Matthias Clasen
bf6a2deda0 Translate error messages 2015-04-27 19:10:10 -04:00
Matthias Clasen
169f29998f Do validation before simplification
Use GtkBuilder to parse the file first, and report any errors
it finds before using our own simple-minded parser to simplify.
2015-04-27 19:10:10 -04:00
Matthias Clasen
8bb5a14977 Add a simple commandline tool for ui files
This tool strips properties which are set to their
default value from .ui files.
2015-04-27 19:10:10 -04:00
Matthias Clasen
aa269d93c4 gtk-encode-symbolic-svg: Mark all strings for translation
A few error messages were missing.
2015-04-27 18:58:03 -04:00
Jakub Steiner
f9ef67d2fa HC: include a missing sass function
- used in the color widget
2015-04-28 00:33:45 +02:00
Benjamin Otte
3e5280ae4d stylecontext: Clear style property more frequently
We want to clear the style property cache whenever things change in the
tree, not as we previously did only when those changes actually lead to
a different CSS style.
2015-04-27 19:17:03 +02:00
Jakub Steiner
136a32112f HC: tone down backdrop for gtk switches
https://bugzilla.gnome.org/show_bug.cgi?id=746925
2015-04-27 17:34:22 +02:00
Kai Willadsen
22960ef364 docs: Fix incorrect cross-reference to GtkSearchBar
https://bugzilla.gnome.org/show_bug.cgi?id=748500
2015-04-27 06:17:11 -04:00
Matthias Clasen
cc478fbd6f GtkTreeStore: Use the new helpers
Use the new GtkBuilder helpers and g_markup_collect_attributes
in all builder subparsers.
2015-04-27 01:15:25 -04:00
Matthias Clasen
9a512c6f34 GtkListStore: Use the new helpers
Use the new GtkBuilder helpers and g_markup_collect_attributes
in all builder subparsers.
2015-04-27 01:15:24 -04:00
Matthias Clasen
18b2fd4f70 GtkComboBoxText: Use the new helpers
Use the new GtkBuilder helpers and g_markup_collect_attributes
in all builder subparsers.
2015-04-27 01:15:24 -04:00
Matthias Clasen
62b875f209 GtkWindow: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:24 -04:00
Matthias Clasen
b53b38ff32 GtkWidget: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:24 -04:00
Matthias Clasen
ca82b610a1 GtkSizeGroup: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:24 -04:00
Matthias Clasen
19f3188763 GtkRecentFilter: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:23 -04:00
Matthias Clasen
2dc8673a41 GtkInfoBar: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:23 -04:00
Matthias Clasen
831c90ffad GtkFileFilter: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:23 -04:00
Matthias Clasen
4ee291c8f1 GtkDialog: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:23 -04:00
Matthias Clasen
afd6621743 GtkLevelBar: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:23 -04:00
Matthias Clasen
aeddf55655 GtkContainer: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:22 -04:00
Matthias Clasen
374f96625f GtkScale: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:22 -04:00
Matthias Clasen
5e7fd924c4 GtkCellLayout: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:22 -04:00
Matthias Clasen
87d3cc47c2 GtkLabel: Use the new helpers
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:21 -04:00
Matthias Clasen
c8446f43fd GtkBuilder: Introduce some private helpers
Add functions that help reporting errors from builder
subparsers consistently.
2015-04-27 01:15:21 -04:00
Matthias Clasen
44bf00d5da GtkBuilder: Unify builder error messages
Don't use <%s> for an attribute.
2015-04-26 15:03:48 -04:00
Matthias Clasen
31ff1204a4 GtkDialog: Fix up docs
The ui fragment in the example was causing a critical
warning, which is not nice. Fix it to work properly.
2015-04-26 15:03:48 -04:00
Matthias Clasen
cd8b19dcb0 docs: Add an cross-reference to template docs 2015-04-26 10:19:26 -04:00
Matthias Clasen
78bf41c300 GtkActionable: Fix small doc formatting issues 2015-04-26 10:19:26 -04:00
Matthias Clasen
5dcc4cf5c1 GtkApplicationWindow: Fix small doc formatting issues 2015-04-26 10:19:26 -04:00
Matthias Clasen
7db74e3aa9 GtkApplication: Fix some small doc formatting issues 2015-04-26 10:19:26 -04:00
Matthias Clasen
b2e121039e gl area: Add a few missing docs 2015-04-26 10:19:26 -04:00
Lapo Calamandrei
7dac876caf Adwaita: fix selected backdrop list rows.
A misplaced selector was making backdrop selected list rows vanish
on hover, fixed. Thanks to Florian for spotting.
2015-04-23 22:45:23 +02:00
Lapo Calamandrei
556fde096a Adwaita: entry: some sass refactoring. 2015-04-22 17:43:37 +02:00
Lapo Calamandrei
fa1f2c0df6 Adwaita: vertically linked entries fix.
I was axing the edge hilight on the last linked entry which needs
to be there, fixed.
2015-04-22 16:09:29 +02:00
Lapo Calamandrei
5e5cfc62a9 Adwaita: .entry.error/.entry.warning dark variant love 2015-04-22 15:54:04 +02:00
Lapo Calamandrei
4128ff93dd Adwaita: simplify entry vertical linking.
Now it should be "right" in basically every combination of entries
and buttons.
2015-04-22 14:46:01 +02:00
Kjell Ahlstedt
2495edc9fd GtkPopover:pointing-to: GdkRectangle instead of cairo_rectangle_int_t
cairo_rectangle_int_t was replaced by GdkRectangle in commit
552c29b488, but the type of the pointing-to
property was not changed.

To avoid breaking old code that sets or gets the property with a GValue
of type CAIRO_GOBJECT_TYPE_RECTANGLE_INT, transformation functions between
CAIRO_GOBJECT_TYPE_RECTANGLE_INT and GDK_TYPE_RECTANGLE are registered on
the first call to gdk_rectangle_get_type().

https://bugzilla.gnome.org/show_bug.cgi?id=723394
2015-04-21 09:05:26 +02:00
Lapo Calamandrei
b8a6ebea7c Adwaita: simplify entries.
By drawing the background w/o using 3 inset shadows, same or better effect,
cleaner and simpler scss, possibly better rendering performances.
2015-04-20 18:38:13 +02:00
Michael Catanzaro
a017031bee GtkMessageDialog: Minor documentation update
Icons went away in 3.12

https://bugzilla.gnome.org/show_bug.cgi?id=748061
2015-04-17 13:39:48 -05:00
Lars Uebernickel
422d8728fa GtkRange: fix horizontal scrolling
https://bugzilla.gnome.org/show_bug.cgi?id=737175
2015-04-17 11:00:25 -04:00
Lapo Calamandrei
e2e649441e Adwaita: scrollbar contrast bump 2015-04-17 15:33:04 +02:00
Cosimo Cecchi
740bcf5fe0 window: fix initial shadow width for maximized/fullscreen windows
To calculate the shadow width, we look at the value of priv->fullscreen
and priv->maximized.
Those fields will have the actual value only after GTK receives back a
window state event though, so they will be wrong in _realize(). Look at
priv->fullscreen_initially and priv->maximize_initially too, to avoid
the size changing right after realize, which would make the window
flicker if maximized at startup.

https://bugzilla.gnome.org/show_bug.cgi?id=747808
2015-04-16 22:12:56 -04:00
Sebastian Keller
5dbccc868e Adwaita: fix outline radius for dialog-action-area buttons
https://bugzilla.gnome.org/show_bug.cgi?id=748013
2015-04-16 22:07:25 -04:00
Carlos Garnacho
4eb8157cfa scrolledwindow: Do not round dx/dy to int
Libinput will use 0.0f on the "scrolling finished" event, so check for this
instead of rounding (<1 values are sort of frequent on touchpads). This
impedes bug #745315 to resurface after commit d563b943ed.
2015-04-16 22:45:54 +02:00
Carlos Garnacho
6d19162c43 scrolledwindow: Ensure the animation is cancelled on arriving scroll events
When the scrolledwindow receives scroll events, it ensures the timeout to
maybe start the "snap back to edges" animation is reset, but it does nothing
about the animation source. It must be reset just the same, to maybe be
started after the timeout fires up.
2015-04-16 18:40:32 +02:00
Lapo Calamandrei
993721c746 Adwaita: colorpicker fixes.
Added another :not() to fix the first and last swatches in the
first section of colorpicker.
Dodge the artifacts due to stacked anti-aliased rounded corners by
increasing the radius of the base object by 1px.
2015-04-16 09:59:45 +02:00
Jakub Steiner
296fe08695 HighContrast: sync color picker changes with Adwaita 2015-04-16 00:47:40 +02:00
Lapo Calamandrei
a5685ba05a Adwaita: clearer comment for colorbutton hack 2015-04-15 21:53:11 +02:00
Lapo Calamandrei
a9addf14b7 Adwaita: colorpicker and colorbutton fixes.
With nasty gross ugly code, no other ways, sorry.
2015-04-15 21:43:59 +02:00
Lapo Calamandrei
149e7df608 Adwaita: GtkPlacesSidebar insensitive items.
Set the right colors there.
2015-04-15 20:20:52 +02:00
Jakub Steiner
62a367105f HighContrast: don't need to work around ffox
No need for the workaround for ffox 36, works in 37

https://bugzilla.gnome.org/show_bug.cgi?id=747827
2015-04-15 14:55:35 +02:00
Matthias Clasen
c8d6231c3c Fix window button updates in split headers
We were only updating window buttons when the headerbar was
a direct child of the window. That is not the case in more
complicated situations, such as the split headers in gedit
or polari. To fix such cases, make the headerbar itself listen
for state changes on its toplevel.

https://bugzilla.gnome.org/show_bug.cgi?id=747805
2015-04-14 17:05:34 -04:00
Carlos Garnacho
8bf5b175b1 gesturesingle: Ignore motion/updates from unhandled sequences
This used to do the right thing, practically ignoring those event
if they went all through the event handler, unless this motion event
triggered the cancellation of this gesture from the event handler
of another controllers.

In this case, the controller would be reset, but the motion event
would still go through its handler, setting again
current_button/sequence as the motion event has buttons in its
modifiers. This leaves GtkGestureSingle with inconsistent data
that may interfere with future runs.

https://bugzilla.gnome.org/show_bug.cgi?id=747469
2015-04-13 17:27:04 +02:00
Carlos Garnacho
71c0efb361 scrolledwindow: Show scrollbars on tablet devices
The code managing scrollbars visibility was too pervasively checking for
mouse devices, leaving pen/eraser/cursor devices with no scrollbars at
all. Relax these checks a bit, and actually toggle full-width scrollbars
on pen/eraser devices, so it is an easier target.

https://bugzilla.gnome.org/show_bug.cgi?id=747608
2015-04-13 17:27:04 +02:00
Jakub Steiner
efe0009e31 HC: fix selected list-rows
https://bugzilla.gnome.org/show_bug.cgi?id=747689
2015-04-13 17:09:59 +02:00
Carlos Garnacho
fe7bc84c89 plug: Remove size_allocate handler
Since windows can be intermediate containers this is somewhat redundant,
plus gtk_window_size_allocate() will do additional things like allocating
the popovers, which was mistakenly skipped by local plugs not chaining up.

https://bugzilla.gnome.org/show_bug.cgi?id=747553
2015-04-13 12:37:39 +02:00
William Hua
316e7c5adc Resolve redefinition of typedef GtkCssNode
This causes a build failure under Mac OS because GtkCssNode is defined
in both gtk/gtkcssnodeprivate.h and gtk/gtkcsstypesprivate.h.

https://bugzilla.gnome.org/show_bug.cgi?id=747560
2015-04-11 09:43:29 -04:00
Matthias Clasen
d6543bc009 Remove no longer needed in-tree editing 2015-04-10 15:41:56 -04:00
Matthias Clasen
c41ab14730 Use a popover for creating new folders 2015-04-10 15:41:56 -04:00
Jakub Steiner
6c8790f62c HighContrast: fix scrollbar slider 'padding' 2015-04-10 20:19:42 +02:00
Jakub Steiner
26e8037cf9 HighContrast: insensitive backdrop list rows have a border
https://bugzilla.gnome.org/show_bug.cgi?id=747288
2015-04-10 16:58:04 +02:00
Lapo Calamandrei
fe028b961b Adwaita: reset .list-row.button props more aggressively...
...otherwise we run into problem with `.button` inherited style
properties, see https://bugzilla.gnome.org/show_bug.cgi?id=747288
which applies to Adwaita as well.
2015-04-10 16:42:00 +02:00
Joanmarie Diggs
8f644101b9 a11y: Only emit signals when cells change; not upon creation
This is a workaround for atspi-atk behaviour.

atspi-atk uses signal emission hooks. So it to already catches
signal emissions on creation of objects, before anyone could even
think of g_signal_connect()ing.

https://bugzilla.gnome.org/show_bug.cgi?id=746706
2015-04-10 16:36:06 +02:00
Jakub Steiner
f87b08ddd3 notebook: prevent tab closebutton :hover to change metric 2015-04-10 16:28:56 +02:00
Matthias Clasen
7603b52790 GtkApplication: Prevent more crashes around shutdown
gtk_application_shutdown clears the impl member, so all
callbacks, signal handlers, etc that might still be triggered
between a shutdown call and the return from the mainloop
better be prepared to deal with impl being NULL.
2015-04-10 08:04:53 -04:00
Chun-wei Fan
efd3758f6a gtk/inspector/css-node-tree.c: Fix Build
strcasecmp() is unfortunately not universally available, along with
strings.h.  Fix the build by replacing strcasecmp() with
g_ascii_strcasecmp(), and remove the strings.h include.

https://bugzilla.gnome.org/show_bug.cgi?id=747604
2015-04-10 17:18:07 +08:00
Matthias Clasen
ac931e9506 popover: Remove signal handlers in dispose
If we don't, they may get triggered at an inopportune
time later, causing us to crash.

See
https://bugzilla.redhat.com/show_bug.cgi?id=1203499

https://bugzilla.gnome.org/show_bug.cgi?id=747539
2015-04-09 06:39:11 -04:00
Matthias Clasen
096b49013a Make gtk-update-icon-cache not fall over leftover temp files
This is a followup to 0fd185fa6d. There is no
good reason to only try again if --force is passed. Do it
always.

See
https://bugzilla.redhat.com/show_bug.cgi?id=1194957
2015-04-08 20:34:08 -04:00
Matthias Clasen
a89e99b0be tree view: Avoid a crash with rubberbanding
When a treeview is destroyed while rubberbanding is going
on, we crash because the rb tree is nuked before we want
to access it to stop the rubberbanding. To avoid this crash
end the rubberbanding early in destroy().

See
https://bugzilla.redhat.com/show_bug.cgi?id=1173904
2015-04-08 18:54:45 -04:00
Matthias Clasen
c0ac3c3386 GtkApplication: avoid a crash
It can apparently happen that we get focus in events
on windows after gtk_application_shutdown() has been
called. Avoid an unnecessary crash in this case.

See
https://bugzilla.redhat.com/show_bug.cgi?id=1176339
2015-04-08 15:44:21 -04:00
Matthias Clasen
c6a77d0f68 Revert "image: Optimize non-resize changes"
This reverts commit bae97a4c6b.

We're still seeing regressions from there, see
http://bugzilla.redhat.com/show_bug.cgi?id=1208183
2015-04-08 14:13:20 -04:00
Matthias Clasen
4c80ac0733 Fix indicator proximity checks
The coordinate translations here were not working properly
for window widgets inside the scrolled window, as can be
seen e.g. for the horizontal scrollbar of the 'Tree View'
example in gtk3-demo.

https://bugzilla.gnome.org/show_bug.cgi?id=747406
2015-04-06 21:27:17 -04:00
Matthias Clasen
cfb5f160f2 Make indicators pop out when needed
When moving over a non-expanded indicator from the outside, we were
not expanding it, due to on_scrollbar being true. This can be seen
e.g. when moving from the content pane over to the sidebar indicator
in gtk3-demo. We must still ensure that the indicator is expanded
when receiving motion events over the indicator.

https://bugzilla.gnome.org/show_bug.cgi?id=747407
2015-04-06 19:37:14 -04:00
Emmanuele Bassi
3972520fbb docs: Note the side effects of GtkLabel setters
The gtk_label_set_text() and gtk_label_set_markup() functions have
various side effects that ought to be documented, especially for
non-C developers using properties directly.

https://bugzilla.gnome.org/show_bug.cgi?id=747121
2015-04-05 22:46:29 -04:00
Matthias Clasen
e6061caa7b file chooser: Ensure a folder is loaded when browsing
Just showing an empty list when the user hits Ctrl-l in
recent files is not very useful. Load the home directory
instead.
2015-04-05 22:27:23 -04:00
Matthias Clasen
e6c1cbc88e file chooser: Open location entry more easily
Show the location entry also when alphanumerics are typed
into the list.
2015-04-05 22:12:46 -04:00
Matthias Clasen
fc8516fe75 Formatting fix 2015-04-05 22:09:04 -04:00
Matthias Clasen
29a2a65756 Formatting fix 2015-04-05 22:07:59 -04:00
Matthias Clasen
d94d2efc43 GtkListBox: Make model binding introspectable
Introspection can't deal with bare pointers, so annotate
the callback as taking objects. This is the outcome of
discussion in
https://bugzilla.gnome.org/show_bug.cgi?id=746893
2015-04-05 08:13:24 -04:00
Paolo Borelli
6b977e6870 gtktextbuffer: small cleanup in clipboard handling
Make code shorter and also more efficient since we move the
selection check out of the loop

https://bugzilla.gnome.org/show_bug.cgi?id=747096
2015-04-05 07:54:00 -04:00
Lapo Calamandrei
2c61a52ff6 Adwaita: stronger entry focus indication
See https://bugzilla.gnome.org/show_bug.cgi?id=746202 for details.
2015-04-02 18:50:37 +02:00
Carlos Garnacho
b1696436d1 scrolledwindow: Ignore 0/0 scroll events when possibly cancelling animation
These should be used eventually to start kinetic scrolling, so should definitely
be ignored on cancellation.

https://bugzilla.gnome.org/show_bug.cgi?id=747133
2015-04-01 16:24:36 +02:00
Carlos Garnacho
960c229220 scrolledwindow: Remove needless "dragging" field from Indicator struct
The "over" state already stays set while scrollbar dragging happens, there's
no need to double track that.

https://bugzilla.gnome.org/show_bug.cgi?id=746961
2015-03-31 13:18:35 +02:00
Carlos Garnacho
eb26208c08 scrolledwindow: Check the event widget on captured motion events
This path is only intended to be triggered on events directed towards the
child of the scrolledwindow, so make it explicitly so. This avoids scrollbar
"over" state flashing when dragging finishes within the slider.

https://bugzilla.gnome.org/show_bug.cgi?id=746961
2015-03-31 13:18:35 +02:00
Jonas Ådahl
71256a0f94 wayland: Set a more correct xdg_surface application id
The "app_id" of a xdg_surface should be the ID that can potentially be
used to get the DBUS name or the .desktop file.

For GtkApplication programs this is often the ID passed when creating the
GtkApplication object, so when available lets use that.

As fallbacks, first try g_get_prgname as it often corresponds to the
basename part of the .dektop file for non-GtkApplication programs.
Otherwise use gdk_get_program_class, even though that string usually
doesn't conform to the expectations of xdg_surface.set_application_id.

https://bugzilla.gnome.org/show_bug.cgi?id=746435
2015-03-31 12:37:50 +08:00
Jakub Steiner
40a83ef5a6 Revert "Adwaita: desaturate selected color for backdrop"
This reverts commit 6f478db2fa.

As per discussion on bug 746202, the real solution to the case
in bug 704352 is what the reporter suggests.
2015-03-30 14:54:25 +02:00
Carlos Garnacho
cba2ecc0cc gtkdnd: Restore widget opacity after fading out
Otherwise the widget is left fully transparent, and will start as such if
the widget is reused.
2015-03-29 22:57:31 +02:00
Carlos Garnacho
a6cafa1edb gtkdnd: Set the icon helper from the drag site onto the context
If the icon happened to come from the drag site icon helper (ie. set through
gtk_drag_source_set_icon*), it would be referenced on the GtkDragInfo,
but not hooked into its context. This results on non visible drag windows,
until set_icon_helper() happened to be called on some path.
2015-03-29 22:21:19 +02:00
Benjamin Otte
e2fc198b9e roundedbox: Fix a copy/paste error
This caused shadows to not be drawn in certain situations when overlayed
via a popover animation.

https://bugzilla.gnome.org/show_bug.cgi?id=746862
2015-03-29 22:18:29 +02:00
Matthias Clasen
0648453339 radio button: Fix directional navigation
GtkRadioButton had a deficient copy of the focus sort code
in GtkContainer, causing focus to jump over the next button
in the list. Just use _gtk_container_focus_sort() here,
which fixes the bug _and_ saves 80 lines of code.

https://bugzilla.gnome.org/show_bug.cgi?id=746817
2015-03-29 00:24:35 -04:00
Lars Uebernickel
ada97b0928 gtkprogressbar: fix size allocation
As of 74405cc, progress bars use a new design with values drawn on top
(or to the left) of the through instead of inside of it. This change
brought a number of regressions: the min-horizontal-bar-height and
min-vertical-bar-width style properties are not respected anymore. For
vertical progress bars, the value was drawn too close to the bar and not
centered vertically.

Fix this by respecting the style properties and drawing the value label
at the correct position.

Also, the xspacing and yspacing properties didn't server any apparent
purpose. Change their semantics to mean "the spacing between the label
and the bar". Hence, they only need to be added to the size request when
showing the label. Since we are changing semantics anyway, reduce their
default values from 7 to 2, to avoid and excessive gap.

https://bugzilla.gnome.org/show_bug.cgi?id=746688
2015-03-28 19:00:06 -04:00
Ryan Lortie
6e03e7e80a GtkListBox: fix model binding refcount issue
As it is, GtkListBox model binding will work nicely as long as your
create_widget_func returns a floating reference on the newly-created
widget.

If you try to return a full reference (as any higher-level language
would do) then you will leak that reference.

Fix that up by converting any floating references into full references
and then unconditionally releasing the full reference after adding to
the box.

https://bugzilla.gnome.org/show_bug.cgi?id=746893
2015-03-27 12:07:17 -04:00
Hans de Goede
36baf9207e scrolledwindow: Extend trackpoint heuristic to ALPS trackpoints
These have a different characteristic device name, look for it too
in order to enable trackpoint features.
2015-03-26 19:46:56 +01:00
Emmanuele Bassi
86720b014e docs: Add initialization example for GtkGLArea
Show how to safely check for errors when initializing the OpenGL
pipeline.
2015-03-26 17:40:40 +00:00
Will Thompson
371a3a7871 bbox: correct documentation typo 2015-03-26 14:01:53 +00:00
Joanmarie Diggs
9749013e5f Fix an AtkStateType emitted for GtkBooleanCellAccessible
An apparent copy-and-paste error is resulting in ATs being notified of
changes in ATK_STATE_CHECKED when the cell's "sensitive" state changes.

https://bugzilla.gnome.org/show_bug.cgi?id=746784
2015-03-26 08:23:37 -04:00
Rico Tzschichholz
9ca8b71e76 textview: Fix "Since" versions after backport
Fix for 28063ee2e4 which got cherry-picked
to 3.16
2015-03-25 20:52:43 +01:00
Emmanuele Bassi
fae3eaffcd glarea: Check that the context is not NULL
The public API should perform more checks when it comes to an NULL
context.

https://bugzilla.gnome.org/show_bug.cgi?id=746746
2015-03-25 15:19:30 +00:00
Benjamin Otte
1506ba060c filechooser: Use same priority everywhere
I managed to stall recent files today while trying to save a GTK
testcase in glade that contained enough spinning spinners that the CPU
was saturated just redrawing things.

I had to navigate the filesystem!
2015-03-25 04:31:33 +01:00
Marcus Karlsson
38f61dd445 GtkRange: Check "inverted" property when drawing
The direction in which the slider moves can be inverted by setting the
inverted property. But the draw method does not check this, instead it
checks if the direction of the widget is set to be right to left.

Call the should_invert function in order to determine if the direction
of the range should be inverted. It too checks the widget's direction,
but also checks the "inverted" property, and allows the range to be
drawn inverted even if it is vertically oriented.

https://bugzilla.gnome.org/show_bug.cgi?id=746712
2015-03-24 23:19:50 -04:00
Joanmarie Diggs
1ed9d33d24 a11y: Only emit name-changed once
We were emitting it twice, once with deleting the old text, once with
inserting the new text.

https://bugzilla.gnome.org/show_bug.cgi?id=746706
2015-03-25 04:06:23 +01:00
Joanmarie Diggs
c66d165676 a11y: Free the cell text after emitting text-changed:delete.
This is needed because AT-SPI2's ATK bridge exposes the deleted string
to ATs.

https://bugzilla.gnome.org/show_bug.cgi?id=746706
2015-03-25 04:06:23 +01:00
Joanmarie Diggs
d553c0ae1e a11y: Refactor code
Put the equality check in front. This allows better detection of when an
insert or delete needs to be emitted.

Also, only emit text-changed:delete if the deleted text is not the empty
string. Only emit text-changed:insert if the inserted text is not the
empty string.

https://bugzilla.gnome.org/show_bug.cgi?id=746706
2015-03-25 04:06:23 +01:00
Joanmarie Diggs
4340e977e4 a11y: Refactor textcellaccessible code
Compute the new text and its length in advance. This way those
computations will not confuse us when they happen in the middle of the
actual action.

https://bugzilla.gnome.org/show_bug.cgi?id=746706
2015-03-25 04:06:23 +01:00
Marcus Karlsson
abf3d78b57 GtkRange: Fix drawing of fill-level
Compute the proportion of the range that should be filled to match the
fill level, and use it to compute the starting point and length of the
area between the slider and the fill level.

https://bugzilla.gnome.org/show_bug.cgi?id=734741
2015-03-24 22:45:14 -04:00
Ignacio Casal Quinteiro
7719784733 inspector: fix warning about not using the right format for an int64 2015-03-24 13:36:36 +01:00
Benjamin Otte
fdc620cd56 cssnode: Clear widget path more aggressively
When recomputing CSS, we need a correct widget path in the fallback mode
where we're still using widget paths.
So we need to invalidate it everytime it actually changes, and not just
when emitting the style-updated signal.

Fixes css-match-regions reftest.
2015-03-24 04:23:07 +01:00
Piotr Drąg
c88ec37037 Fix a minor typo in translatable string 2015-03-23 17:35:41 +01:00
Matthias Clasen
a08ee01c64 csd: Fix an oversight for popups
After the recent rework of client-side shadow code, menus,
tooltips and similar popups were ending up with solid decorations.
Fix this oversight.
2015-03-23 10:41:10 -04:00
Matthias Clasen
eea16f03f5 Stop using GDK_POINTER_MOTION_HINT_MASK in widgets
It is deprecated and no longer needed, and,as observed in
https://bugzilla.gnome.org/show_bug.cgi?id=746253 it
interferes with turning off event compression.
2015-03-22 17:33:38 -04:00
Matthias Clasen
6f829d4450 Silence another compiler warning
Again, our habit of comparing enum values against -1.
2015-03-22 15:20:43 -04:00
Matthias Clasen
70f6faf0f1 Don't return G_TYPE_INVALID as a pointer
Use NULL for g_return_val_if_fail checks if the function returns
a pointer. Pointed out by clang.
2015-03-22 15:19:59 -04:00
Matthias Clasen
c723eba135 text view: Avoid clang compiler warnings
Again, our habit to use -1 as an unset value for enum types.
2015-03-22 15:19:17 -04:00
Matthias Clasen
f00f2fdf0d Remove a redundant const
const gchar const is still just const gchar, unless there's
indirections in between.
2015-03-22 15:18:35 -04:00
Matthias Clasen
a14bb5578f css: Silence a clang warning
Clang complains that this check can never be true. Since this
is a argument range check which we do to catch bad input,
convince clang to not complain instead of taking it out.
2015-03-22 15:17:27 -04:00
Matthias Clasen
fb573e58f1 Remove a pointless comparison
Comparing an unsigned value against < 0 is not going to succeed.
Pointed out by clang.
2015-03-22 15:16:14 -04:00
Matthias Clasen
2250cd87eb paper size: Don't use abs() on floats
Use fabs() instead. Pointed out by clang.
2015-03-22 15:15:42 -04:00
Matthias Clasen
ddf7501acd More of the same
A similar case in GtkIconHelper. Here we were confusing ourselves,
and compared a icon_size against -1, although the variable is
never set to -1.
2015-03-22 15:14:42 -04:00
Matthias Clasen
543eae0d76 Avoid some clang compiler warnings
Avoid some compiler warnings from clang in deprecated code.
Most of these are around our habit of using -1 as an 'unset'
value for enumerations.
2015-03-22 15:13:32 -04:00
Matthias Clasen
2a444e30f7 Make the blur code compile with clang
clang complains that the expression involving sqrt() is not
constant, and thus refuses to accept it as a case label. So,
use precomputed values instead.

https://bugzilla.gnome.org/show_bug.cgi?id=746468
2015-03-22 13:49:24 -04:00
Matthias Clasen
4ef0c34b65 Fix the build 2015-03-22 11:55:33 -04:00
Matthias Clasen
db28b8c600 tooltip: Minor cleanup
Preserve the symmetry in gtk_tooltip_set_last_window.
2015-03-22 11:47:23 -04:00
Matthias Clasen
a17d6290e4 search bar: Clean up weak pointer handling
Break out a setter that manages the weak pointer, and
use it in finalize. This also fixes a bug where we were
forgetting to disconnect the right signal handler in
some cases.
2015-03-22 11:46:16 -04:00
Matthias Clasen
b55aa154e6 mount operation: Minor formatting cleanup
The pattern for g_object_add_weak_pointer calls is to
have the same expression in both arguments.
2015-03-22 11:45:19 -04:00
Matthias Clasen
03417cf864 menu button: Minor cleanup
Preserve the symmetry in set_align_widget_pointer.
2015-03-22 11:44:37 -04:00
Matthias Clasen
c0c1774b01 Clean up some unfortunate formatting
"if (...) do" just looks wrong.
2015-03-22 11:44:00 -04:00