| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
...this stuff will be in the action description soon.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Add a GtkApplication (private) field to GtkBuilder
|
| |
|
| |
|
| |
|
|
|
|
| |
This was causing the treeview tests to fail.
|
|
|
|
|
|
| |
There was a reason that GtkToolButton was not using the
G_DEFINE_TYPE macros - we need the klass argument to get
the proper button type at init time.
|
|
|
|
|
|
|
| |
wl_display_flush or wl_display_dispatch can return -1 if there is an
error on the display connection.
https://bugzilla.gnome.org/show_bug.cgi?id=703892
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=703892
|
| |
|
|
|
|
| |
Explain GDK_SCALE and GDK_DPI_SCALE.
|
| |
|
| |
|
|
|
|
|
|
| |
The GtkRecentChooser already has a property that can be used
to set this on a per widget basis and the recent manager already
has a max-age limit.
|
|
|
|
|
|
|
| |
Use g_themed_icon_new_with_default_fallbacks, so we don't end up
without icons when the theme doesn't have symbolic icons.
https://bugzilla.gnome.org/show_bug.cgi?id=703606
|
|
|
|
|
|
|
| |
Deprecate gtk_icon_set_render_icon_surface() and gtk_image_get_icon_set(),
which take parameters of the deprecated GtkIconSet.
https://bugzilla.gnome.org/show_bug.cgi?id=703616
|
|
|
|
|
|
|
| |
Some functions had only a deprecation comment in the .c file, or only a
deprecation annotation in the .h file. Add the missing parts.
https://bugzilla.gnome.org/show_bug.cgi?id=703616
|
|
|
|
|
|
|
|
| |
Fixed the documentation to clarify that gtk_recent_info_get_visited
and gtk_recent_info_get_modified are actually about the recent info
meta-data rather than the resource itself.
https://bugzilla.gnome.org/show_bug.cgi?id=703827
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the introduction of the use of buffer scaling in ed4fcee4ct we
must request version 3 of the compositor as that is the version of the
surface interface that adds this new functionality. See the following
commit in weston:
commit a85118c1b85df6fbf8f896dca971a5b79a94da71
Author: Jason Ekstrand <jason@jlekstrand.net>
Date: Thu Jun 27 20:17:02 2013 -0500
Use wl_resource_create() for creating resources
This commit sets the version numbers for all added/created objects. The
wl_compositor.create_surface implementation was altered to create a surface
with the same version as the underlying wl_compositor. Since no other
"child interfaces" have version greater than 1, they were all hard-coded to
version 1.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
https://bugzilla.gnome.org/show_bug.cgi?id=703817
|
|
|
|
|
|
|
|
| |
We should mention that newly written code should not have the private
data pointer in the instance structure, and that private data should be
added using the new GObject macros.
https://bugzilla.gnome.org/show_bug.cgi?id=702996
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=702996
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=702996
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=702996
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=702996
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=702996
|
|
|
|
|
|
|
| |
Drop the g_type_class_add_private() function, and use the macros
instead.
https://bugzilla.gnome.org/show_bug.cgi?id=702996
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=702996
|
|
|
|
|
|
| |
And mention in which cases we should show one in the documentation.
https://bugzilla.gnome.org/show_bug.cgi?id=703656
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=703765
|
|
|
|
|
|
|
|
| |
In add_preedit_attrs, don't free foreground/background colors already
set in the underlying text attributes (style). They will be free'd by
release_style.
https://bugzilla.gnome.org/show_bug.cgi?id=703533
|
|
|
|
|
|
|
| |
The conversion from gtk_widget_override_font to a GtkTextTag
in fbbb66ae7d19516b7a99de3d8b0a96164fb3ead2 was defective.
https://bugzilla.gnome.org/show_bug.cgi?id=701119
|
| |
|
| |
|
|
|
|
|
| |
Toolbar icon size can still be changed on a per-widget basis as
needed by the application developer.
|
|
|
|
|
| |
Toolbar style can still be changed on a per-widget basis as
needed by the application developer.
|
| |
|
|
|
|
| |
Just use the default value of AUTOMATIC and make it just work.
|
|
|
|
| |
Ooops.
|
|
|
|
|
| |
The perf/ directory was unused and the code was outdated. So it's easier
to delete than trying to modernize the code.
|
| |
|
|
|
|
| |
Same disease as with the previous fix.
|
|
|
|
| |
Must pass the window as first argument to the signal handler.
|
| |
|
| |
|