Commit Graph

241 Commits

Author SHA1 Message Date
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
Matthias Clasen
6b7be4a3a2 Add a very bad fallback check
...maybe committing this inspires some better solution.
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
Javier Jardón
5c6656e485 gtk/gtkapplication.c: Fix typo 2011-11-20 23:05:47 +00:00
Matthias Clasen
190c271986 Add a missing include 2011-11-09 22:03:10 -05:00
Ryan Lortie
7e22a5350c Don't implement GApplication mainloop
Let the default GApplication implementation take care of it.

https://bugzilla.gnome.org/show_bug.cgi?id=658805
2011-11-09 00:22:52 -05:00
Ryan Lortie
f86351c05f GtkApplication: chain up ::startup 2011-09-14 14:04:10 -04:00
Claudio Saavedra
c3b7590c77 Avoid GApplication being released twice on gtk_application_remove_window() calls
Removing the window from the window list before setting the
application to %NULL avoids gtk_application_remove_window() triggering
another call to gtk_application_window_removed(), which would release
the application a second time.

https://bugzilla.gnome.org/show_bug.cgi?id=653053
2011-06-21 00:38:33 +03:00
Matthias Clasen
8143ce69eb GtkApplication: Add window-added/-removed signals
This is useful to let unrelated parts of an application (or
plugins) learn about the windows of an application. Based
on a patch by Matt Barnes,
https://bugzilla.gnome.org/show_bug.cgi?id=641087
2011-05-31 19:12:13 -04:00
Matthias Clasen
75390b2d60 Sort GtkApplication windows by most-recently-focused
Based on a patch by Matt Barnes,
https://bugzilla.gnome.org/show_bug.cgi?id=624539
2011-05-31 18:28:55 -04:00
Matthias Clasen
7db4bee4b6 Clarify documentation about application vs window lifecycle
https://bugzilla.gnome.org/show_bug.cgi?id=639931
2011-01-24 22:20:35 -05:00
Pavel Holejsovsky
9389054da2 [GI] Add (type) annotations to real types 2011-01-20 10:38:38 +01:00
Matthias Clasen
f2cde4cf3b Move the GtkApplication example to the right place 2011-01-06 01:13:50 -05:00
Hans Breuer
fc122305d0 Protect inclusion of unistd.h 2011-01-02 13:29:23 +01:00
Matthias Clasen
9157e15653 GtkApplication: drop Quit from the docs
GtkApplication does not currently implement any default actions.
2010-11-08 11:31:01 +09:00
Matthias Clasen
ac0b97aa23 ifdef X-specific stuff
gdk_x11_ APIs can only be used inside #ifdef GDK_WINDOWING_X11.
2010-10-30 17:37:01 +09:00
Matthias Clasen
1be9b7f782 Some GtkApplication cleanups
Remove no-longer-needed vfuncs, no longer existing functions,
and improve the docs here and there.
2010-10-23 21:24:24 +02:00
Javier Jardón
9f035742e3 gtkapplication: fix docs 2010-10-20 11:07:11 +02:00
Ryan Lortie
c5ebb61b6f GtkApplication: add gtk_application_get_windows()
Return a GList of the GtkWindow objects for each window that has the
application set as its "application" property.
2010-10-19 21:10:02 +02:00
Ryan Lortie
ab5fb5dee5 GtkApplication rewrite 2010-10-19 01:31:09 +02:00
Jonh Wendell
5c2966dda3 Do not access an invalid ActionGroup. Closes #624362. 2010-07-14 14:50:28 -03:00
Jonh Wendell
5f1b5d2406 Merge branch 'windows_list' 2010-07-13 16:49:21 -03:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Emmanuele Bassi
15646b6e74 docs: Document the GtkApplication::quit signal behavior
And add Since: annotations to the GtkApplication signals.
2010-07-08 14:12:27 +01:00
Ryan Lortie
424842e3a9 GtkApplication: use new GVariant bytestring API 2010-07-07 16:37:55 -04:00
Jonh Wendell
9125ccb1cb [GtkApplication] Add gtk_application_get_windows()
Closes #623598.
2010-07-05 17:12:53 -03:00
Emmanuele Bassi
b98667d41e application: Remove a variable and silence a compiler warning 2010-06-18 14:26:57 +01:00
Emmanuele Bassi
2755b93913 application: Revert the leak plug
The &s in the signature of a GVariant means "pass me a pointer". To
avoid repeating the same mistake, use a const gchar* to declare the
key.
2010-06-18 14:26:05 +01:00
Emmanuele Bassi
3e1b82336c application: Plug a leak
The key returned by g_variant_iter_next() should be freed as well.

Also, clean up the coding style a bit.
2010-06-18 12:06:39 +01:00
Christian Persch
9d0b941da6 application: Fix marshaler for GVariant gtype change
Use VARIANT instead of BOXED.
2010-06-18 00:25:06 +02:00
Emmanuele Bassi
4f357dbf95 application: Allow sub-classes to override the Window creation
Sub-classes of GtkApplication might want to override the way an
application window is created - for instance, to hook into GtkBuilder
or to set up some basic UI or state.

A new GtkApplication::create_window() virtual function is added to the
GtkApplicationClass vtable, which returns the newly created GtkWindow.
The gtk_application_create_window() function calls the vfunc and adds
the returned window to the list of windows managed by the application
instance.

Calling gtk_application_add_window() will also set the default window,
if one is not already set.

This commit also removes a spurious g_object_ref_sink() on the newly
created GtkWindow.
2010-06-17 15:41:12 +01:00
Colin Walters
bdaefd7efe [GtkApplication] Update for GApplication API changes
Move appid parameter first to match GApplication.
2010-06-16 11:02:39 -04:00
Colin Walters
6c71da01cc [GtkApplication] Update for GApplication API changes
We now implement "quit" and "action" signals here.

https://bugzilla.gnome.org/show_bug.cgi?id=621003
2010-06-14 18:30:51 -04:00
Matthias Clasen
79b161f709 Use gtk_action_group_get_action when looking up actions
...instead of open-coding it. Pointed out by Christian Persch
in bug 620960
2010-06-08 09:03:07 -04:00
Matthias Clasen
cca298ad7d Remove debug spew 2010-06-08 08:58:16 -04:00
Matthias Clasen
b366ae9c22 Update to GApplication api changes 2010-06-08 08:29:01 -04:00
Matthias Clasen
1ae257d00a Add GtkApplication
This is a work in progress to stub out an application class. The
primary goal is to provide a mechanism for applications to export
GtkActions, and there is a standard "Quit" action.

This is based on GApplication.

Future work:
 * Add a way to say "This is my application menubar", which gets
   put into all toplevel windows on non-OS-X, and into the top
   on OS X.
 * Support session management.
 * Support application settings.

https://bugzilla.gnome.org/show_bug.cgi?id=127958
2010-06-07 16:46:30 -04:00