Commit Graph

23217 Commits

Author SHA1 Message Date
Carlos Garnacho
9ff5d2e1ac entry: Set up text drag icon within drag_begin()
the drag_begin() vmethod is meant for this, and the internal DnD code
will set up a drag icon if ::drag_begin didn't do so, which means
we are first getting a "default" icon, and then replacing it with the
text surface.

This is completely harmless in X11, but causes issues on wayland as
the DnD icon window is expected to remain unchanged during DnD there.

https://bugzilla.gnome.org/show_bug.cgi?id=748763
2015-05-26 18:05:36 +02:00
Carlos Garnacho
3e60650fa8 notebook: Fix assert in ::drag-motion
The drag destination might be empty, we shouldn't be checking whether
it contains pages at all. Instead, check the source notebook, which
ought to have a selected page if you're dragging something from there.

https://bugzilla.gnome.org/show_bug.cgi?id=749893
2015-05-26 18:05:36 +02:00
Cosimo Cecchi
02be88983e parse-sass: don't hardcode bash path
It's /bin/bash on some systems; just use /bin/sh instead.

https://bugzilla.gnome.org/show_bug.cgi?id=749593
2015-05-24 12:08:33 -07:00
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