mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 14:10:30 +00:00
gtk-demo: Add a gear menu
Modernize the about dialog, and make it available from a gear menu, together with a way to bring up the inspector.
This commit is contained in:
parent
3286221870
commit
f6afa3d03f
@ -45,22 +45,43 @@ activate_about (GSimpleAction *action,
|
|||||||
"The GTK Team",
|
"The GTK Team",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
char *version;
|
||||||
|
GString *s;
|
||||||
|
|
||||||
|
s = g_string_new ("");
|
||||||
|
|
||||||
|
g_string_append (s, "System libraries\n");
|
||||||
|
g_string_append_printf (s, "\tGLib\t%d.%d.%d\n",
|
||||||
|
glib_major_version,
|
||||||
|
glib_minor_version,
|
||||||
|
glib_micro_version);
|
||||||
|
g_string_append_printf (s, "\tGTK\t%d.%d.%d\n",
|
||||||
|
gtk_get_major_version (),
|
||||||
|
gtk_get_minor_version (),
|
||||||
|
gtk_get_micro_version ());
|
||||||
|
g_string_append_printf (s, "\nA link can apppear here: <http://www.gtk.org>");
|
||||||
|
|
||||||
|
version = g_strdup_printf ("%s\nRunning against GTK %d.%d.%d",
|
||||||
|
PACKAGE_VERSION,
|
||||||
|
gtk_get_major_version (),
|
||||||
|
gtk_get_minor_version (),
|
||||||
|
gtk_get_micro_version ());
|
||||||
|
|
||||||
gtk_show_about_dialog (GTK_WINDOW (gtk_application_get_active_window (app)),
|
gtk_show_about_dialog (GTK_WINDOW (gtk_application_get_active_window (app)),
|
||||||
"program-name", "GTK Demo",
|
"program-name", "GTK Demo",
|
||||||
"version", g_strdup_printf ("%s,\nRunning against GTK %d.%d.%d",
|
"version", version,
|
||||||
PACKAGE_VERSION,
|
"copyright", "© 1997—2019 The GTK Team",
|
||||||
gtk_get_major_version (),
|
|
||||||
gtk_get_minor_version (),
|
|
||||||
gtk_get_micro_version ()),
|
|
||||||
"copyright", "(C) 1997-2013 The GTK Team",
|
|
||||||
"license-type", GTK_LICENSE_LGPL_2_1,
|
"license-type", GTK_LICENSE_LGPL_2_1,
|
||||||
"website", "http://www.gtk.org",
|
"website", "http://www.gtk.org",
|
||||||
"comments", "Program to demonstrate GTK widgets",
|
"comments", "Program to demonstrate GTK widgets",
|
||||||
"authors", authors,
|
"authors", authors,
|
||||||
"logo-icon-name", "org.gtk.Demo4",
|
"logo-icon-name", "org.gtk.Demo4",
|
||||||
"title", "About GTK Demo",
|
"title", "About GTK Demo",
|
||||||
|
"system-information", s->str,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
g_string_free (s, TRUE);
|
||||||
|
g_free (version);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -84,6 +105,14 @@ activate_quit (GSimpleAction *action,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
activate_inspector (GSimpleAction *action,
|
||||||
|
GVariant *parameter,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
gtk_window_set_interactive_debugging (TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
window_closed_cb (GtkWidget *window, gpointer data)
|
window_closed_cb (GtkWidget *window, gpointer data)
|
||||||
{
|
{
|
||||||
@ -1200,6 +1229,7 @@ main (int argc, char **argv)
|
|||||||
static GActionEntry app_entries[] = {
|
static GActionEntry app_entries[] = {
|
||||||
{ "about", activate_about, NULL, NULL, NULL },
|
{ "about", activate_about, NULL, NULL, NULL },
|
||||||
{ "quit", activate_quit, NULL, NULL, NULL },
|
{ "quit", activate_quit, NULL, NULL, NULL },
|
||||||
|
{ "inspector", activate_inspector, NULL, NULL, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Most code in gtk-demo is intended to be exemplary, but not
|
/* Most code in gtk-demo is intended to be exemplary, but not
|
||||||
|
@ -1,5 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<interface>
|
<interface>
|
||||||
|
<menu id="gear_menu">
|
||||||
|
<section>
|
||||||
|
<item>
|
||||||
|
<attribute name="label" translatable="yes">_Inspector</attribute>
|
||||||
|
<attribute name="action">app.inspector</attribute>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<attribute name="label" translatable="yes">_About GTK Demo</attribute>
|
||||||
|
<attribute name="action">app.about</attribute>
|
||||||
|
</item>
|
||||||
|
</section>
|
||||||
|
</menu>
|
||||||
<object class="GtkTreeStore" id="treestore">
|
<object class="GtkTreeStore" id="treestore">
|
||||||
<columns>
|
<columns>
|
||||||
<column type="gchararray"/>
|
<column type="gchararray"/>
|
||||||
@ -35,6 +47,13 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
<child type="end">
|
||||||
|
<object class="GtkMenuButton" id="gear_menu_button">
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="menu-model">gear_menu</property>
|
||||||
|
<property name="icon-name">open-menu-symbolic</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
Loading…
Reference in New Issue
Block a user