forked from AuroraMiddleware/gtk
example: Modernize the prefs dialog
We should show the current best practice for this kind of dialog, and use a headerbar with a window close button.
This commit is contained in:
parent
b718b95aab
commit
fcba75c2ba
@ -25,12 +25,6 @@ struct _ExampleAppPrefsPrivate
|
|||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
||||||
|
|
||||||
static void
|
|
||||||
preferences_closed (GtkWidget *button)
|
|
||||||
{
|
|
||||||
gtk_widget_destroy (gtk_widget_get_toplevel (button));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
example_app_prefs_init (ExampleAppPrefs *prefs)
|
example_app_prefs_init (ExampleAppPrefs *prefs)
|
||||||
{
|
{
|
||||||
@ -68,12 +62,10 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
|
|||||||
"/org/gtk/exampleapp/prefs.ui");
|
"/org/gtk/exampleapp/prefs.ui");
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
||||||
|
|
||||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), preferences_closed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ExampleAppPrefs *
|
ExampleAppPrefs *
|
||||||
example_app_prefs_new (ExampleAppWindow *win)
|
example_app_prefs_new (ExampleAppWindow *win)
|
||||||
{
|
{
|
||||||
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, NULL);
|
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, "use-header-bar", TRUE, NULL);
|
||||||
}
|
}
|
||||||
|
@ -64,19 +64,6 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child internal-child="action_area">
|
|
||||||
<object class="GtkButtonBox" id="action_area">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="close">
|
|
||||||
<signal name="clicked" handler="preferences_closed"/>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label">_Close</property>
|
|
||||||
<property name="use-underline">True</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</template>
|
</template>
|
||||||
|
@ -25,12 +25,6 @@ struct _ExampleAppPrefsPrivate
|
|||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
||||||
|
|
||||||
static void
|
|
||||||
preferences_closed (GtkWidget *button)
|
|
||||||
{
|
|
||||||
gtk_widget_destroy (gtk_widget_get_toplevel (button));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
example_app_prefs_init (ExampleAppPrefs *prefs)
|
example_app_prefs_init (ExampleAppPrefs *prefs)
|
||||||
{
|
{
|
||||||
@ -68,12 +62,10 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
|
|||||||
"/org/gtk/exampleapp/prefs.ui");
|
"/org/gtk/exampleapp/prefs.ui");
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
||||||
|
|
||||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), preferences_closed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ExampleAppPrefs *
|
ExampleAppPrefs *
|
||||||
example_app_prefs_new (ExampleAppWindow *win)
|
example_app_prefs_new (ExampleAppWindow *win)
|
||||||
{
|
{
|
||||||
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, NULL);
|
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, "use-header-bar", TRUE, NULL);
|
||||||
}
|
}
|
||||||
|
@ -64,19 +64,6 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child internal-child="action_area">
|
|
||||||
<object class="GtkButtonBox" id="action_area">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="close">
|
|
||||||
<signal name="clicked" handler="preferences_closed"/>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label">_Close</property>
|
|
||||||
<property name="use-underline">True</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</template>
|
</template>
|
||||||
|
@ -25,12 +25,6 @@ struct _ExampleAppPrefsPrivate
|
|||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
||||||
|
|
||||||
static void
|
|
||||||
preferences_closed (GtkWidget *button)
|
|
||||||
{
|
|
||||||
gtk_widget_destroy (gtk_widget_get_toplevel (button));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
example_app_prefs_init (ExampleAppPrefs *prefs)
|
example_app_prefs_init (ExampleAppPrefs *prefs)
|
||||||
{
|
{
|
||||||
@ -68,12 +62,10 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
|
|||||||
"/org/gtk/exampleapp/prefs.ui");
|
"/org/gtk/exampleapp/prefs.ui");
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
||||||
|
|
||||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), preferences_closed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ExampleAppPrefs *
|
ExampleAppPrefs *
|
||||||
example_app_prefs_new (ExampleAppWindow *win)
|
example_app_prefs_new (ExampleAppWindow *win)
|
||||||
{
|
{
|
||||||
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, NULL);
|
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, "use-header-bar", TRUE, NULL);
|
||||||
}
|
}
|
||||||
|
@ -64,19 +64,6 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child internal-child="action_area">
|
|
||||||
<object class="GtkButtonBox" id="action_area">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="close">
|
|
||||||
<signal name="clicked" handler="preferences_closed"/>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label">_Close</property>
|
|
||||||
<property name="use-underline">True</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</template>
|
</template>
|
||||||
|
@ -25,12 +25,6 @@ struct _ExampleAppPrefsPrivate
|
|||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
||||||
|
|
||||||
static void
|
|
||||||
preferences_closed (GtkWidget *button)
|
|
||||||
{
|
|
||||||
gtk_widget_destroy (gtk_widget_get_toplevel (button));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
example_app_prefs_init (ExampleAppPrefs *prefs)
|
example_app_prefs_init (ExampleAppPrefs *prefs)
|
||||||
{
|
{
|
||||||
@ -68,12 +62,10 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
|
|||||||
"/org/gtk/exampleapp/prefs.ui");
|
"/org/gtk/exampleapp/prefs.ui");
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
||||||
|
|
||||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), preferences_closed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ExampleAppPrefs *
|
ExampleAppPrefs *
|
||||||
example_app_prefs_new (ExampleAppWindow *win)
|
example_app_prefs_new (ExampleAppWindow *win)
|
||||||
{
|
{
|
||||||
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, NULL);
|
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, "use-header-bar", TRUE, NULL);
|
||||||
}
|
}
|
||||||
|
@ -64,19 +64,6 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child internal-child="action_area">
|
|
||||||
<object class="GtkButtonBox" id="action_area">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="close">
|
|
||||||
<signal name="clicked" handler="preferences_closed"/>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label">_Close</property>
|
|
||||||
<property name="use-underline">True</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</template>
|
</template>
|
||||||
|
@ -25,12 +25,6 @@ struct _ExampleAppPrefsPrivate
|
|||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppPrefs, example_app_prefs, GTK_TYPE_DIALOG)
|
||||||
|
|
||||||
static void
|
|
||||||
preferences_closed (GtkWidget *button)
|
|
||||||
{
|
|
||||||
gtk_widget_destroy (gtk_widget_get_toplevel (button));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
example_app_prefs_init (ExampleAppPrefs *prefs)
|
example_app_prefs_init (ExampleAppPrefs *prefs)
|
||||||
{
|
{
|
||||||
@ -68,12 +62,10 @@ example_app_prefs_class_init (ExampleAppPrefsClass *class)
|
|||||||
"/org/gtk/exampleapp/prefs.ui");
|
"/org/gtk/exampleapp/prefs.ui");
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, font);
|
||||||
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppPrefs, transition);
|
||||||
|
|
||||||
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), preferences_closed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ExampleAppPrefs *
|
ExampleAppPrefs *
|
||||||
example_app_prefs_new (ExampleAppWindow *win)
|
example_app_prefs_new (ExampleAppWindow *win)
|
||||||
{
|
{
|
||||||
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, NULL);
|
return g_object_new (EXAMPLE_APP_PREFS_TYPE, "transient-for", win, "use-header-bar", TRUE, NULL);
|
||||||
}
|
}
|
||||||
|
@ -64,19 +64,6 @@
|
|||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child internal-child="action_area">
|
|
||||||
<object class="GtkButtonBox" id="action_area">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="close">
|
|
||||||
<signal name="clicked" handler="preferences_closed"/>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label">_Close</property>
|
|
||||||
<property name="use-underline">True</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
Reference in New Issue
Block a user