mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
ges-ui: add new command, remove quit command (closing last window quits app)
This commit is contained in:
parent
e557592074
commit
a4f315274c
2 changed files with 16 additions and 19 deletions
|
@ -87,13 +87,16 @@ typedef struct App
|
|||
GtkSpinButton *frequency;
|
||||
} App;
|
||||
|
||||
static int n_instances = 0;
|
||||
|
||||
/* Prototypes for auto-connected signal handlers ***************************/
|
||||
|
||||
/**
|
||||
* These are declared non-static for signal auto-connection
|
||||
*/
|
||||
|
||||
gboolean window_delete_event_cb (GtkObject * window, App * app);
|
||||
gboolean window_delete_event_cb (GtkObject * window, GdkEvent * event,
|
||||
App * app);
|
||||
void quit_item_activate_cb (GtkMenuItem * item, App * app);
|
||||
void delete_activate_cb (GtkAction * item, App * app);
|
||||
void play_activate_cb (GtkAction * item, App * app);
|
||||
|
@ -999,6 +1002,12 @@ app_dispose (App * app)
|
|||
|
||||
g_free (app);
|
||||
}
|
||||
|
||||
n_instances--;
|
||||
|
||||
if (n_instances == 0) {
|
||||
gtk_main_quit ();
|
||||
}
|
||||
}
|
||||
|
||||
static App *
|
||||
|
@ -1006,6 +1015,7 @@ app_new (void)
|
|||
{
|
||||
App *ret;
|
||||
ret = g_new0 (App, 1);
|
||||
n_instances++;
|
||||
|
||||
ret->selected_type = G_TYPE_NONE;
|
||||
|
||||
|
@ -1040,10 +1050,10 @@ fail:
|
|||
/* UI callbacks ************************************************************/
|
||||
|
||||
gboolean
|
||||
window_delete_event_cb (GtkObject * window, App * app)
|
||||
window_delete_event_cb (GtkObject * window, GdkEvent * event, App * app)
|
||||
{
|
||||
gtk_main_quit ();
|
||||
return TRUE;
|
||||
app_dispose (app);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1283,7 +1293,6 @@ main (int argc, char *argv[])
|
|||
|
||||
if ((app = app_new ())) {
|
||||
gtk_main ();
|
||||
app_dispose (app);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -60,7 +60,9 @@
|
|||
<object class="GtkImageMenuItem" id="new_item">
|
||||
<property name="label">gtk-new</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="new_activate_cb"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
|
@ -84,20 +86,6 @@
|
|||
<property name="use_stock">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem1">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="quit_item">
|
||||
<property name="label">gtk-quit</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="quit_item_activate_cb"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
|
Loading…
Reference in a new issue