Commit Graph

37434 Commits

Author SHA1 Message Date
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
Jasper St. Pierre
f89f595d08 Add gtkactionbar.ui.h 2014-02-23 16:07:38 -05:00
Jasper St. Pierre
084c2feb7e wayland: Don't destroy the cairo surface when resizing it
The code in GDK is incredibly broken and nobody is quite sure what's
right-side-up and what's upside down, but this breaks mutter-wayland
now, so let's remove it. It might leak, but we should probably do a
full restructuring of GDK drawing to fix it.
2014-02-23 16:07:38 -05:00
Benjamin Otte
6efd6611f2 toolpalette: Remove unused function 2014-02-23 20:00:08 +01:00
Rui Matos
6ea4bf8a9d wayland: Fix gdk_window_wayland_resize_cairo_surface()
Like in other backends (except X) we can't resize cairo image surfaces
so let's sync the code here with what the other backends do.

This prevents the painting machinery above us to paint on the wrong
buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=724968
2014-02-23 18:40:29 +01:00
Piotr Drąg
a3518a4d66 Updated POTFILES.skip 2014-02-23 17:58:39 +01:00
Benjamin Otte
947cac2b85 testsuite: Don't leak in test runner 2014-02-23 15:40:46 +01:00
Benjamin Otte
7a603c6909 reftests: Add reftest for last commit
https://bugzilla.gnome.org/show_bug.cgi?id=724999
2014-02-23 15:40:46 +01:00
Benjamin Otte
9add8e261f revealer: Pass correct size to child hfw function
The refactoring in b9e37f8d2d broke this.

https://bugzilla.gnome.org/show_bug.cgi?id=724999
2014-02-23 15:40:46 +01:00
Benjamin Otte
10fa786dfa csskeyframes: Split new() into alloc() and new()
The new() function is supposed to return an empty fully initialized
GtkCssKeyframes object, while the alloc() function just allocates and
initializes static values. So alloc() can be used for copying or
resolving keyframes.

Fixes a memleak when resolving keyframes.
2014-02-23 15:40:46 +01:00
GunChleoc
b4ddc0b58e Updated Scottish Gaelic translation 2014-02-23 14:02:58 +00:00
Matthias Clasen
6dcf6e0f3b Be more careful to change state atomically
This avoids temporary states of maximized+tiled that
we otherwise report.
2014-02-22 22:24:20 -05:00
Wylmer Wang
162e634f56 Updated Chinese (China) translation 2014-02-23 02:00:31 +00:00
Matthias Clasen
600a847cca Make testpopover more versatile
Allow testing alignment and positioning.
2014-02-22 15:22:16 -05:00
Matthias Clasen
d64ae72c29 Take shadow size into account when positioning popovers
Without this, popovers have a tendency to protrude into the
invisible border of windows, which looks less than optimal.
2014-02-22 14:07:48 -05:00
Matthias Clasen
71e46a0b0e a11y tests: Add a tests for menu buttons with popovers
This shows that popovers currently lack accessibility.
2014-02-22 12:51:11 -05:00
Matthias Clasen
18749136da menu button: avoid property order dependencies
With the code as written, use-popover has to be set first,
before the model. To avoid this ordering dependency, re-set
the model when use-popover changes.
2014-02-22 12:49:24 -05:00
Matthias Clasen
ca35d1a4c4 menu button: Fix property notification 2014-02-22 12:49:08 -05:00
Matthias Clasen
349376f48f a11y tests: Add a test for menubuttons with model 2014-02-22 12:31:19 -05:00
Matthias Clasen
1de4c698cc GtkModelButton: fix up naming
The convention we follow is that the PROP_foo define should
match the property name. Therefore, change PROP_MODEL to
PROP_MENU_MODEL to match "menu-model".
2014-02-22 12:31:18 -05:00
Matthias Clasen
ac50e4e9df a11y tests: Add a test for GtkActionBar 2014-02-22 12:31:18 -05:00
Matthias Clasen
493ce0e291 a11y tests: add image buttons 2014-02-22 12:31:18 -05:00
Baurzhan Muftakhidinov
b01e829543 Updated Kazakh translation 2014-02-22 09:55:20 +00:00
Matthias Clasen
4f1d9452be Fix life-cycle handling of treeview columns
gtk_tree_view_remove_column was first removing the column from
its list, then call gtk_tree_view_column_unset_tree_view, which
would then call gtk_container_remove to remove its button from
the treeview. But the treeview remove implementation relied
on the column being still in the list in order to recognize
the button as 'special', so in effect the button was never
properly removed and thus, leaked.

Fix this by callling unset_tree_view before removing the
column from the list.

https://bugzilla.gnome.org/show_bug.cgi?id=724891
2014-02-21 22:31:16 -05:00
Matthias Clasen
b01229db4b Fix popover life-cycle handling
c287845240 was trying to fix
the memory leak caused by popovers begin destroyed in
gtk_window_destroy before chaining up to gtk_widget_destroy,
which unrealizes the window, and would clean up the popover
windows if the popovers were still around.

Fix this in a better way by moving the popover destruction
after the chaining up, so we unrealize first, and then
destroy the popovers.

Also, make _gtk_window_remove_popover unrealize the popover,
for symmetry with _gtk_window_add_popover.

This should fix
https://bugzilla.gnome.org/show_bug.cgi?id=724921
2014-02-21 22:08:00 -05:00
Matthias Clasen
00e87d2445 Fix GtkMenuToolButton
The addition of popovers to menu buttons broke this, by making
the toolbuttons stay insensitive.

https://bugzilla.gnome.org/show_bug.cgi?id=724799
2014-02-21 21:40:48 -05:00