Commit Graph

36169 Commits

Author SHA1 Message Date
aa7bb22685 Revert "GtkPlacesSidebar: use gtk api to add dnd uri targets"
This reverts commit 7fa27dff25.
2013-10-23 15:54:44 -04:00
7fa27dff25 GtkPlacesSidebar: use gtk api to add dnd uri targets
Instead of hardcoding it in the dnd drop targets list.

Part of bug 707679
2013-10-23 20:20:33 +02:00
1b839d4b72 GtkPlacesSidebar: support open locations when dragging text
Make GtkPlacesSidebar also open locations when hovered by
text dnd targets.

Part of bug 707679
2013-10-23 20:20:33 +02:00
588ffa8c32 GtkPlacesSidebar: support switching locations for XDS drag types
Make GtkPlacesSidebar also change locations when hovered
by XDS dnd targets (eg. dragging a file from file-roller).

Part of bug 707679
2013-10-23 20:20:33 +02:00
e4bb02f8ae dialog: Fix docs for GtkDialog
Responses need to be negative
2013-10-23 12:04:13 -04:00
255fafb891 GtkScrolledWindow: Disconnect from frame clock properly
The tick callback IDs from GtkWidget aren't timeouts, so
use the correct function to disconnect from them.

Spotted by Benjamin Otte <otte@redhat.com>

https://bugzilla.gnome.org/show_bug.cgi?id=710666
2013-10-23 15:22:31 +02:00
7c12e6480b GtkWidget: Avoid lingering clock frame updates
For some widgets, like GtkTreeView, which setup a clock frame
update during realize, it was possible to call
gdk_frame_clock_begin_updating() twice, but only ever disconnecting
from it once. This happens because the realized flag is set at an
unpredictable time by the GtkWidget's realize implementation.

Keep the signal handler ID from us connecting to the "update" signal
to avoid connecting to it twice.

This fixes high wake-up count from any application using GtkTreeView,
even idle ones.

https://bugzilla.gnome.org/show_bug.cgi?id=710666
2013-10-23 15:22:27 +02:00
438cd857c4 all: Add names to timeouts
Add names to every timeout we setup, so it's easier to track their
usage, and debug possible misbehaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=710651
2013-10-23 13:31:18 +02:00
dcc0fd222e Fix a typo 2013-10-23 06:27:47 -04:00
cc262b2c14 Add missing symbol to docs 2013-10-22 14:56:26 -04:00
30fdb3c423 Bump GLib req to 2.39
Needed for GNotification.
2013-10-22 07:37:46 -04:00
111120297c Add some (silly) GNotification example
Bloatpad can now notify you.
2013-10-21 17:23:44 -04:00
809aab2c8e gdkwindow-x11: Don't set WM_TAKE_FOCUS if accept_focus is FALSE
Otherwise, we'll be in the "Globally Active" mode instead of the
"No Input" mode.

https://bugzilla.gnome.org/show_bug.cgi?id=710389
2013-10-21 13:43:14 -04:00
a093cd2a22 Icon theme: Hardcode fallback through the 'gnome' icon theme
This is what we used to get through the Net/FallbackIcontheme
setting. Nobody has ever set this setting to a different value,
and people have come to rely on GTK+ applications getting their
icons this way.
2013-10-21 12:58:29 -04:00
bcc6979f89 flowbox: Always return a NULL iter when we are at the end
The objective is simplify the semantics of the code so that we don't
need to check for "(iter != NULL && !g_sequence_iter_is_end (iter))"
in the callers.
2013-10-21 16:33:13 +02:00
65dd26d3f3 flowbox: Be careful when the container is empty
Otherwise, showing an empty GtkFlowBox will lead to:
GLib-CRITICAL **: g_sequence_get: assertion '!is_end (iter)' failed
2013-10-21 16:21:11 +02:00
3971ed1779 gtktoolbar: Make the icon-size property actually an enum
As this is what it's interpreted as.
2013-10-18 16:14:26 -04:00
4ffcfc1593 Updated Russian translation 2013-10-18 18:23:16 +04:00
0ff2dbd6fc stackswitcher: Only show a button if the stack child is visible 2013-10-17 16:24:00 -04:00
fa6f83d89a gtkflowbox: Fix warning when realizing
set_background needs the widget's window to be set.
2013-10-17 15:14:57 -04:00
9bd87b37bc Add docs for new API 2013-10-16 23:45:23 -04:00
4141ce2290 Add new symbols to the docs 2013-10-16 23:45:23 -04:00
0f64551c49 Add an index for symbols added in 3.12 2013-10-16 23:45:23 -04:00
85bfbebd08 Fix since tags
Mark 3.12 api as such.
2013-10-16 23:45:23 -04:00
05b1ea84b4 notebook: inform the theme whether show-borders was set
So that it can draw a border or not. If show-borders=true then
the notebook will have GTK_STYLE_CLASS_FRAME.
2013-10-16 12:03:33 -04:00
05cc3b6df6 Remove superfluous g_file_test()
https://bugzilla.gnome.org/show_bug.cgi?id=168530
Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
2013-10-15 21:45:59 -04:00
48770fda30 Fix GtkToolButton possibly being empty
With style BOTH_HORIZ the label would not be selected (if not marked
"important") and when there's no icon, it would result in an empty button.

Signed-off-by: Olivier Brunel <jjk@jjacky.com>

https://bugzilla.gnome.org/show_bug.cgi?id=710134
2013-10-15 21:44:18 -04:00
07eafbaaa8 GtkBuilder: Fall back to gtk_test_register_all_types if type lookup fails
This is important because the dlsym() approach can fail if gtk was
loaded with RTLD_LOCAL.

https://bugzilla.gnome.org/show_bug.cgi?id=710096
2013-10-15 21:41:35 -04:00
c4c11a165d gdkevents.h: Mention _get_source_device()
It's too easy getting bitten by the ->device red herring, thinking
that it's the original input device the event originated from.

https://bugzilla.gnome.org/show_bug.cgi?id=709621
2013-10-15 21:31:53 -04:00
4b7eaee959 Fix an oversight
Followup for 3c41d4865e230f41a3f4cb5f72e438a0788c7bb3
2013-10-15 21:30:35 -04:00
6d5cbf16d6 Fall back to non-symbolic icons
When doing fallback for symbolic icons, we first shorten
the name at dashes while preserving the -symbolic suffix.
But after exhausting that, we should also try stripping
the suffix.

https://bugzilla.gnome.org/show_bug.cgi?id=708163
2013-10-15 21:19:17 -04:00
14414d5946 tooltip: Fix possible wrong placement
When showing a tooltip on the edge of a monitor, the tooltip could be wrongly
placed and be shown going from one monitor to the next.

This happened because the current_window wasn't set visible, and when it wasn't
the returned allocated size would be 1, hence wrong calculations.

Signed-off-by: Olivier Brunel <jjk@jjacky.com>

https://bugzilla.gnome.org/show_bug.cgi?id=698730
2013-10-15 21:13:48 -04:00
d1e218f4ab Fix a warning
The PangoWrapMode enum has identical layout to GtkWrapMode,
but using the two interchangably causes (justified) compiler
warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=709697
2013-10-15 20:11:30 -04:00
6b7981d2f5 Set an error when loading a GtkIconInfo fails
Failure to do so leads to assertion failures.
https://bugzilla.gnome.org/show_bug.cgi?id=710073
2013-10-15 20:06:24 -04:00
0db75c6b10 Wayland: avoid accidental export of internal symbols
Some symbols in the generated Wayland code were getting
decorated with WL_EXPORT, causing them to show up in the
libgdk exports. We don't want that.

https://bugzilla.gnome.org/show_bug.cgi?id=710141
2013-10-15 19:44:49 -04:00
6372342ae0 Updated POTFILES.in 2013-10-16 00:33:53 +02:00
73bae5b816 Wayland: fix a crash in opaque region handling
We may get a NULL region passed to the backend, which means
'nothing is opaque'. In that case, don't crash, but pass
the information on to the compositor.

http://bugzilla.gnome.org/show_bug.cgi?id=709854
2013-10-15 18:21:44 -04:00
db7115d841 bloatpad: test dynamic accels
...this stuff will be in the action description soon.
2013-10-15 09:24:12 -04:00
9a6ee36e9c GtkApplication: a new approach to accels
Rework how accels are handled on GtkApplicationWindow.

Instead of having GtkApplication fill the GtkAccelMap which is then used
by GtkApplicationWindow to create a GtkAccelGroup filled with closures
that is then associated with the window, do it directly.

GtkApplication now keeps a list of accels and their actions.
Accelerators on a GtkApplicationWindow ask GtkApplication to execute the
appropriate action.

This saves a fair bit of complexity and memory use (due to not having to
create all those closures and accelmap entries).  The new approach also
supports multiple accels per action (although there is not yet a public
API for it).

This patch (and the ones before) Reviewed and ACK'd by Matthias Clasen.
2013-10-15 09:24:12 -04:00
afa8b0178f GtkMenuTrackerItem: add support for dynamic accels
Add support for pulling the primary accel out of the GtkActionMuxer.

With this change, it is no longer necessary to have the accel=''
attribute hardcoded onto each menu item (and, in fact, it should be left
off if you intend to have support for dynamic accelerator changing).

Specifying accel='' is a good way to force an accelerator not to be
displayed on a menu item.
2013-10-15 09:24:12 -04:00
2074daccf5 GtkMenuTrackerItem: use "action and target" format
Store "action and target" format inside each GtkMenuTrackerItem.  This
makes action invocation more efficient (no hash table lookups or
allocations) and slightly simplifies handling of action namespace.

More importantly, this will be used when we start to get accels from
GtkActionMuxer.
2013-10-15 09:24:11 -04:00
3f8c235593 GtkActionMuxer: store primary accels
Reuse the existing infrastructure in GtkActionMuxer for propagation of
accelerator information: in particular, what accel label ought to appear
on menu items for a particular action and target.

This is a good idea because we want accels to travel along with the
actions that they're tied to and reusing GtkActionMuxer will allow us to
do that without creating another hierarchy of a different class for the
sole purpose of filling in accel labels on menu items.

Doing it this ways also allows those who copy/paste GtkActionMuxer to
insert the accels for themselves.

Add a new method on the GtkActionObserver interface to report changes.

This patch introduces a new concept: "action and target" notation for
actions.  This format looks like so:

  "'target'|app.action"

or for non-targeted actions:

  "|app.action"

and it is used over a number of possible alternative formats for some
good reasons:

 - it's very easy to get a nul-terminated action name out of this format
   when we need it, by using strrchr('|') + 1

 - we can also get the target out of it using g_variant_parse() because
   this function takes a pointer to a 'limit' character that is not
   parsed past: we use the '|' for this

 - it's extremely easy to hash on this format (just use a normal string
   hash) vs. attempting to hash on a string plus a GVariant

A close contender was to use detailed action strings here, but these are
not used for two reasons:

 - it's not possible to easily get the action name or target out of the
   strings without more work than the "action and target" format
   requires

 - we still intend to use detailed action strings on API (since they are
   a lot nicer to look at) but detailed action strings can be given in
   non-canonical forms (eg: 'foo::bar' and 'foo("bar")' are equivalent)
   so we'd have to go through a normalisation step anyway.  Since we're
   doing that already, we may as well convert to a more convenient
   internal format.

This new "action and target" format is going to start appearing in a lot
more places as action descriptions are introduced.

I suspect that nobody is using '|' in their action names, but in case I
am proven wrong, we can always switch to using something more exotic as
a separator character (such as '\x01' or '\xff' or the like).
2013-10-15 09:24:11 -04:00
abcddd3ae0 GtkWindow: change muxer setup with application
Previously, GtkWindow would add the "app" action group to its own
toplevel muxer.

Change the setup so that GtkApplication creates the toplevel muxer and
adds itself to it as "app".  Use this muxer as the parent muxer of any
GtkWindow associated with the application.

This saves a small amount of memory and will allow for accels to be
propagated from the application through to all of the windows.
2013-10-15 09:24:11 -04:00
3f0b9a7574 GtkBuilder: add GtkApplication
Add a GtkApplication (private) field to GtkBuilder
2013-10-15 09:24:11 -04:00
d967266b77 Fix a crash in icon handling
The load_error was freed in two places.
Fix based on a patch in
https://bugzilla.gnome.org/show_bug.cgi?id=709967
2013-10-15 08:04:25 -04:00
999b5243d5 Updated Spanish translation 2013-10-15 11:12:22 +02:00
b19af93ba3 Updated Indonesian translation 2013-10-15 12:11:34 +07:00
f9c8fefeda Restore accessible names for image-only buttons
With the stock system being deprecated now, we should provide
meaningful accessible names for buttons that are constructed
from icon names or GIcons. This commit reuses the existing
translations.

It is possible that some common icon names are not covered
here because they were not present as stock items. These can
be added to the table later.
2013-10-14 10:37:58 -04:00
cae8a44c38 [l10n] Updated Catalan (Valencian) translation 2013-10-13 22:24:00 +02:00
fc61e3ceea [l10n] Update Catalan translation 2013-10-13 22:23:54 +02:00