Matthias Clasen
1c6d0c3e27
GtkApplicationWindow: Set the accel group on constructed windows
...
This will make the menuitems pick up matching accel map entries
automatically. Currently, nothing creates such accel map entries,
though.
2011-12-19 12:51:11 -05:00
Matthias Clasen
9d62d24d65
GtkApplicationWindow: Add a GtkAccelGroup
...
This will be used in the following patches.
2011-12-19 12:51:11 -05:00
Matthias Clasen
d5d896f812
Fix a gtk-doc warning
2011-12-19 12:51:11 -05:00
Ryan Lortie
90fcf994d5
GtkApplication: export windows on the bus
...
And advertise their location on the bus using X11 properties.
2011-12-19 12:51:11 -05:00
Ryan Lortie
03db3e1ca1
(trivially) implement 'shutdown' in GtkApplication
2011-12-19 12:51:11 -05:00
Matthias Clasen
aa1faa7c70
Add an example
2011-12-19 12:51:10 -05:00
Matthias Clasen
898bc98d3b
Update GtkApplicationWindow docs
2011-12-19 12:51:10 -05:00
Matthias Clasen
3205a40b84
Whitespace fix
2011-12-19 12:51:10 -05:00
Matthias Clasen
f119c834c1
Make accelmap initialization more forgiving
2011-12-19 12:51:10 -05:00
Matthias Clasen
7ef340fb87
Clean up includes
2011-12-19 12:51:10 -05:00
Ryan Lortie
cd7ce867a7
Split off GMenuModel -> GtkMenuBar code
...
Put this in a separate file and substantially refactor it.
Move handling of submenu creation into gtkmodelmenuitem where it
belongs.
Improve our handling of when to show separators or not.
2011-12-19 12:51:10 -05:00
Ryan Lortie
afb0c098cb
Watch "shell shows menu" settings for changes
...
Correctly monitor the GtkSettings for changes to the
"gtk-shell-shows-app-menu" and "gtk-shell-shows-menubar" properties.
2011-12-19 12:51:10 -05:00
Ryan Lortie
88f16b13f3
GtkSettings: quartz: shell always shows menus
2011-12-19 12:51:10 -05:00
Matthias Clasen
b7de477611
Never add separators to menubars
2011-12-19 12:51:10 -05:00
Ryan Lortie
2e64177e3f
GtkModelMenuItem: don't leak a GVariant
2011-12-19 12:51:10 -05:00
Ryan Lortie
f83530ae3a
GtkModelMenuItem: omit indicator if not required
...
GtkModelMenuItem, being based on GtkCheckMenuItem, was always reserving
space for a check/radio indicator. This ends up looking pretty strange
in a GtkMenuBar.
Don't reserve space for the indicator unless it's appropriate.
2011-12-19 12:51:10 -05:00
Ryan Lortie
de53b5226d
GtkApplicationWindow: nuke some g_print spew
2011-12-19 12:51:10 -05:00
Ryan Lortie
f0c2ff39fc
GtkApplcationWindow: plug two obvious leaks
2011-12-19 12:51:10 -05:00
Colin Walters
c7e7237559
GtkApplicationWindow: Consistently unparent menubar
...
We create it floating, and don't hold an extra ref, so we should
just unparent it.
2011-12-19 12:51:10 -05:00
Ryan Lortie
c299963428
GtkApplicationWindow: clean up menubar logic
2011-12-19 12:51:10 -05:00
Ryan Lortie
612e24dfc6
introduce GtkModelMenuItem
...
This GtkMenuItem subclass (and GActionObserver implementation) contains
all the knowledge necessary for converting a GMenuModel item description
into a GtkMenuItem.
Remove much of the code that used to do this from
gtkapplicationwindow.c.
2011-12-19 12:51:09 -05:00
Ryan Lortie
ecfdb834c9
GtkSettings: add shell-shows-menubar property
...
Unity will set this to tell us that it is going to handle displaying the
menubar.
2011-12-19 12:51:09 -05:00
Matthias Clasen
45e9d09eab
Only add separators when a section actually ends
2011-12-19 12:51:09 -05:00
Colin Walters
2c6b7eff17
GtkApplicationWindow: Further sanitize handling of merging app menu and menubar
...
The _set_show_app_menu should really be _set_show_menubar().
Also, correctly display just the window menu in the window when run
under GNOME 3.
2011-12-19 12:51:09 -05:00
Colin Walters
65a2962733
GtkApplication: Merge app menu and menubar
...
Change bloatpad to have both an app menu and a menubar.
2011-12-19 12:51:09 -05:00
Matthias Clasen
aae52d4580
GtkApplicationWindow: Make mnemonics work for stateful actions
2011-12-19 12:51:09 -05:00
Colin Walters
3a088d9ac2
GtkApplicationWindow: Don't unref a NULL object
2011-12-19 12:51:09 -05:00
Ryan Lortie
b42308f8e3
Adapt to changes in GLib API
...
g_application_get_menu() -> get_app_menu().
2011-12-19 12:51:09 -05:00
Matthias Clasen
33aaf26dd5
Drop GtkApplicationMenuButton for now
...
This feels premature; we do have the fallback situation covered
adaequately with the menubar, and people can do their own creative
solutions with gtk_application_window_get_menu(), so we don't have
to offer a widget for this right now.
2011-12-19 12:51:09 -05:00
Matthias Clasen
acbda82199
Remove a redundant test
2011-12-19 12:51:09 -05:00
Matthias Clasen
b893247eeb
GtkApplicationMenuButton: add docs
2011-12-19 12:51:09 -05:00
Matthias Clasen
bd30a1c556
Undoccommentify action muxer files
2011-12-19 12:51:09 -05:00
Matthias Clasen
0683f086bb
Whitespace fixes
2011-12-19 12:51:09 -05:00
Matthias Clasen
6d0475df4f
Remove no-longer existing function
2011-12-19 12:51:09 -05:00
Matthias Clasen
f10f3bc7e4
GtkApplicationWindow: more docs
2011-12-19 12:51:09 -05:00
Matthias Clasen
762616dd75
Include gtkapplicationmenubutton.h in gtk.h
2011-12-19 12:51:08 -05:00
Matthias Clasen
65f5a65336
GtkApplicationWindow: mark a string for translation
2011-12-19 12:51:08 -05:00
Matthias Clasen
792c719478
Some coding style fixes
2011-12-19 12:51:08 -05:00
Matthias Clasen
d9c3714fcb
GtkApplication: doc improvement
2011-12-19 12:51:08 -05:00
Matthias Clasen
a6794133aa
Some initial docs
2011-12-19 12:51:08 -05:00
Colin Walters
1eee7fb103
GtkApplicationWindow: Use dispose for GObjects
...
This ensures we break cyclic references.
2011-12-19 12:51:08 -05:00
Colin Walters
9e9e1a9fbf
gtkapplicationwindow: Pick up gtk-shell-shows-app-menu XSetting
...
Calling gtk_application_window_set_show_app_menu() is now an override
for that setting. If you don't call it, we pick up the default.
2011-12-19 12:51:08 -05:00
Ryan Lortie
ddfbe19b23
add GtkApplicationMenuButton
2011-12-19 12:51:08 -05:00
Ryan Lortie
1a97f4b9ef
GtkApplicationWindow: wire up action activations
...
Wire the 'activate_action' and 'change_action_state' vfuncs through to
the GSimpleActionGroup.
2011-12-19 12:51:08 -05:00
Ryan Lortie
af0c1e66ab
gtk.symbols fixes
2011-12-19 12:51:08 -05:00
Ryan Lortie
7e34342899
GtkApplicationWindow: implement GActionMap
2011-12-19 12:51:08 -05:00
Ryan Lortie
a93b9dd1cb
add GtkApplicationWindow
...
This is a GtkWindow subclass that "application windows" will use. Each
is associated with a GtkApplication, has the ability to show menus and
will have its own associated set of actions.
2011-12-19 12:51:08 -05:00
Ryan Lortie
e7ad2f97c8
add GActionMuxer and observer interfaces
...
These were destined for GLib, but they don't really make sense as a
public API. Instead, we'll copy/paste them around between the various
codebases that need to render menus.
2011-12-19 12:51:08 -05:00
Ryan Lortie
f826dd5481
GtkSettings: add shell-shows-app-menu property
...
This is a boolean property that will be set to TRUE if the current
desktop environment is capable of displaying the application menu as
part of the desktop shell.
If it is FALSE then the application will need to display the menu for
itself.
2011-12-19 12:51:08 -05:00
Matthias Clasen
6b7be4a3a2
Add a very bad fallback check
...
...maybe committing this inspires some better solution.
2011-12-19 12:51:07 -05:00
Colin Walters
9c52a73c21
window: Set a _DBUS_APPLICATION_ID X11 window property
...
This will allow gnome-shell to reference it.
2011-12-19 12:51:07 -05:00
Matthias Clasen
5705a330c2
GtkApplication: Insert separators after sections
...
The previous code was only inserting a separator when a new
section was starting right away, which may not always be the
case.
2011-12-19 12:45:51 -05:00
Matthias Clasen
5aee67793f
GtkApplication: Initial attempt at section headings
...
This should be redone to show the label together with the
separator line, somehow. For now, just put the label below
the separator, as a separate item.
2011-12-19 12:45:51 -05:00
Matthias Clasen
92af3d04b8
GtkApplication: use activate for actions here, too
2011-12-19 12:45:51 -05:00
Matthias Clasen
95d9a5e368
Adapt to api changes in GMenuModel
2011-12-19 12:45:51 -05:00
Matthias Clasen
cc24dbe9c7
GtkApplication: add a way to get the appmenu
...
This function either returns a GtkMenu or NULL.
Still to do: detect if the app menu is externally handled.
2011-12-19 12:45:51 -05:00
Matthias Clasen
601b3fca60
Drop an unused variable
2011-12-19 12:45:51 -05:00
Matthias Clasen
3b2f77e2c6
Remove an unneeded include
2011-12-19 12:45:51 -05:00
Matthias Clasen
f13083bf0d
Pass domain to the menu parser
...
This is necessary to make translations in markup work.
2011-12-19 12:45:51 -05:00
Matthias Clasen
1ddaf01aed
Quick-and-dirty GtkBuilder integration
...
This makes GtkBuilder accept a GMenuMarkup tree at the toplevel
(ie with <menu id='foo'> being a child of <interface>) and the resulting
GMenu object can be obtained via gtk_builder_get_object (builder, "foo").
2011-12-19 12:45:50 -05:00
Benjamin Otte
902c5c6979
a11y: emit entry signals immediately
...
We want to emit signals when stuff happens, not sometime later. That way
we can also catch the correct text that was deleted.
https://bugzilla.gnome.org/show_bug.cgi?id=659445
2011-12-19 16:17:14 +01:00
Benjamin Otte
3d4a8dabb2
a11y: implement widget_(un)set in ContainerCell
2011-12-19 16:17:13 +01:00
Benjamin Otte
d2a58446ea
a11y: Make GtkCellAccessible a GtkAccessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
073b4d8bea
accessible: Deprecate gtk_accessible_connect_widget_destroyed()
...
That was an abomination. Also, if people called it twice, you got even
mor signal handlers!
2011-12-19 16:17:13 +01:00
Benjamin Otte
0c1f2f2fc1
widget: Set widget in accessible's constructor
...
No need to add t manually later.
2011-12-19 16:17:13 +01:00
Benjamin Otte
d801b28365
a11y: Don't connect_destroyed anymore
...
It's not used now that set_widget() does the right thing.
2011-12-19 16:17:13 +01:00
Benjamin Otte
1961be9ee9
iconview: Simplify adjustment monitoring for accessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
4652d4c399
a11y: Remove widget_destroyed call
...
GtkAccessible does all of that for us now.
2011-12-19 16:17:13 +01:00
Benjamin Otte
80a0413d40
a11y: Use widget_unset vfunc in treeview
2011-12-19 16:17:13 +01:00
Benjamin Otte
dbc1581376
accessible: Ensure we unset the widget when finalizing
2011-12-19 16:17:13 +01:00
Benjamin Otte
03a63def24
widget: Unref accessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
7b5b678e2e
a11y: Fix crash in notebook
...
When the accessible was disposed before the notebook it referenced, the
weak ref could still trigger. This works around it.
2011-12-19 16:17:13 +01:00
Benjamin Otte
e042462674
widget: Unset self from accessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
23b5f9c066
widget: Unset widget on accessibles
2011-12-19 16:17:13 +01:00
Benjamin Otte
075cc5dd36
accesible: Manage the DEFUNCT state
...
A GtkAccessible with a NULL widget is defunct, there's no way around it.
2011-12-19 16:17:12 +01:00
Benjamin Otte
1305815bde
iconview: Split out iconview accessible
2011-12-19 16:17:12 +01:00
Benjamin Otte
eb27c61878
accessible: Use set_widget() in destroy notify
...
We don't want to bypass the unset_widget call.
2011-12-19 16:17:12 +01:00
Benjamin Otte
bac73e48db
API: accessible: Add widget_set and widget_unset vfuncs
...
I expect them to be used a lot, so this approach seems better than
requiring signals that connect to "notify::widget". Also, we can't use
regular functions (like dispose or constructed), becaiuse those assume
that (un)setting of the widget only happens once and with the current
design (a puble set_widget() function) we can't really guarantee that.
Also, I split them into two separate functions as one function is part
of construction and the other part of destruction of the object. And it
doesn't sound like a good idea to have that both be part of one
function.
2011-12-19 16:17:12 +01:00
Benjamin Otte
50431be274
accessible: At an important note to the docs
...
I wanted to use weak refs to ensure this instead, but it's a performance
problem when used in the treeview and each and every cell adds a weak
ref to the treeview.
2011-12-19 16:17:12 +01:00
Benjamin Otte
5789fd983b
accessible: Check the widgeyt actually changed when setting
2011-12-19 16:17:12 +01:00
Benjamin Otte
1998a63917
accessible: Make widget a property
2011-12-19 16:17:12 +01:00
Benjamin Otte
eed9cc94e1
treeview: Only set focus column in setter function
...
Single point of entry. It's actually going to become more complicated
with a11y now.
2011-12-19 16:17:12 +01:00
Benjamin Otte
e4f6a7124b
a11y: Simplify code
...
Use peek_cell() instead of a custom find_cell() function that duplicates
loads of functionality.
2011-12-19 16:17:12 +01:00
Matthias Clasen
020c1846b7
Use the workarea when placing popups
...
This uses the new workarea API to avoid placing popups underneath
panels, docks, etc.
2011-12-18 14:29:16 -05:00
Ignacio Casal Quinteiro
69fba5d3ed
textlayout: cleanup
...
Use g_clear_object, move unrefs to dispose and reorganize code
2011-12-18 18:46:36 +01:00
Paolo Borelli
397cbbef32
Use gtk_text_layout_get_iter_at_line
...
We already have a gtk_text_layout_get_iter_at_line wrapper that takes
care of getting the btree from the layout, we may as well use it.
2011-12-18 17:44:23 +01:00
Paolo Borelli
7f301cf822
Remove useless get_iter_at_line calls.
...
No need to call _gtk_text_btree_get_iter_at_line right before calling
totally_invisible_line, since it is the first thing it does itself.
2011-12-18 17:35:08 +01:00
Rui Matos
4a113394da
tests: Add a test for latest commit
...
https://bugzilla.gnome.org/show_bug.cgi?id=666392
2011-12-17 11:59:08 +00:00
Rui Matos
9d6da33ff5
widget: Flip the sensitive flag even if the state doesn't change
...
Even if we can't change our sensitivity because the parent is insensitive we
should still flip the sensitive flag. Otherwise, with and insensitive parent,
child.set_sensitive(True)
...
parent.set_sensitive(True)
would result in child still being insensitive.
https://bugzilla.gnome.org/show_bug.cgi?id=666392
2011-12-17 11:48:01 +00:00
Benjamin Otte
b9fad15ee6
filechooserentry: Catch tab key earlier
...
Instead of in the key_press handler, use a signal handler. The signal
handler runs before the default handler, and before other signal
handlers. In particular it runs before the signal handler installed via
gtk_entry_set_completion() which pops down the entry completion, and we
don't want that to happen.
The code does not change the code of the handler in any significant way,
it just refacotrs it to not call the parent anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=663573
2011-12-16 20:09:14 +01:00
Benjamin Otte
640754e98b
filechooserentry: Do inline completion only when opening files
...
When saving files, using <tab> is required. We don't want the UI
randomly changing filenames from below us.
https://bugzilla.gnome.org/show_bug.cgi?id=663573
2011-12-16 20:09:14 +01:00
Benjamin Otte
351dd206bc
filechooserentry: Remove unused enum
2011-12-16 20:09:14 +01:00
Benjamin Otte
4fb6961c6a
filechooserentry: Allow NULL as base folder again
...
This was removed previously, but is necessary to support the case where
no base folder is in use, which should cause an error. This can be
experienced in save mode in the recent files list.
https://bugzilla.gnome.org/show_bug.cgi?id=663573
2011-12-16 20:09:14 +01:00
Benjamin Otte
523a45d927
filechooserentry: Don't show files when selecting directory
...
We don't want to complete on files when they're not supposed to be
selectable.
2011-12-16 20:09:14 +01:00
Benjamin Otte
57766f1948
filechooserentry: Remove beep function
...
There's only 2 places left where we potentially beep. We can call
gtk_widget_error_bell() directly there.
2011-12-16 20:09:14 +01:00
Benjamin Otte
0d10583695
filechooserentry: Simplify load completion
...
Most importantly, consistently trigger a beep when we abort a pending
completion.
2011-12-16 20:09:14 +01:00
Benjamin Otte
c4a331f934
filechooserentry: Use a GtkFileFilter for filtering
...
That way, we can use the regular filtering features of the
filesystemmodel instead of having our own filtering function that
duplicates much of the matching code.
This also removes the broken-on-windows feature where files strting with
a dot were not autocompleted.
2011-12-16 20:09:14 +01:00
Benjamin Otte
98fb16e307
filesystemmodel: Add a toggle for whether directories are filtered
2011-12-16 20:09:14 +01:00
Benjamin Otte
b47b6d307e
filechooserentry: Remove the file column
...
It is not needed anymore.
2011-12-16 20:09:14 +01:00
Benjamin Otte
5607cd9170
filechooserentry: Simplify code
...
Use all the clever functions we invented in recent refactorings to
compute the file and dir part and the current folder.
This also fixes the bug where "./" was not taken as the current
directory but interpreted as a file named "./".
2011-12-16 20:09:13 +01:00