mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-10-06 07:50:01 +00:00
special-location-bar: Factor out Settings launch code
We are going to change from GtkInfoBar to AdwBanner. So, the GtkInfoBar::response signal is going away. In preparation, isolate the reusable parts of its callback in functions that can be used as calbacks to the AdwBanner::button-clicked signal. (Factored out by António Fernandes <antoniof@gnome.org> from Peter's original commit.)
This commit is contained in:
parent
6a20c86588
commit
a22f86f679
|
@ -52,39 +52,50 @@ enum
|
||||||
|
|
||||||
G_DEFINE_TYPE (NautilusSpecialLocationBar, nautilus_special_location_bar, ADW_TYPE_BIN)
|
G_DEFINE_TYPE (NautilusSpecialLocationBar, nautilus_special_location_bar, ADW_TYPE_BIN)
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_sharing_clicked (GtkInfoBar *infobar)
|
||||||
|
{
|
||||||
|
GtkWindow *window = GTK_WINDOW (gtk_widget_get_root (GTK_WIDGET (infobar)));
|
||||||
|
GVariant *parameters = g_variant_new_parsed (
|
||||||
|
"('launch-panel', [<('sharing', @av [])>], @a{sv} {})");
|
||||||
|
|
||||||
|
nautilus_dbus_launcher_call (nautilus_dbus_launcher_get (),
|
||||||
|
NAUTILUS_DBUS_LAUNCHER_SETTINGS,
|
||||||
|
"Activate",
|
||||||
|
parameters, window);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_trash_auto_emptied_clicked (GtkInfoBar *infobar)
|
||||||
|
{
|
||||||
|
GtkWindow *window = GTK_WINDOW (gtk_widget_get_root (GTK_WIDGET (infobar)));
|
||||||
|
GVariant *parameters = g_variant_new_parsed (
|
||||||
|
"('launch-panel', [<('usage', @av [])>], @a{sv} {})");
|
||||||
|
|
||||||
|
nautilus_dbus_launcher_call (nautilus_dbus_launcher_get (),
|
||||||
|
NAUTILUS_DBUS_LAUNCHER_SETTINGS,
|
||||||
|
"Activate",
|
||||||
|
parameters, window);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
on_info_bar_response (GtkInfoBar *infobar,
|
on_info_bar_response (GtkInfoBar *infobar,
|
||||||
gint response_id,
|
gint response_id,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
NautilusSpecialLocationBar *bar = user_data;
|
NautilusSpecialLocationBar *bar = user_data;
|
||||||
GtkRoot *window = gtk_widget_get_root (GTK_WIDGET (bar));
|
|
||||||
|
|
||||||
switch (bar->button_response)
|
switch (bar->button_response)
|
||||||
{
|
{
|
||||||
case SPECIAL_LOCATION_SHARING_RESPONSE:
|
case SPECIAL_LOCATION_SHARING_RESPONSE:
|
||||||
{
|
{
|
||||||
GVariant *parameters;
|
on_sharing_clicked (infobar);
|
||||||
|
|
||||||
parameters = g_variant_new_parsed ("('launch-panel', [<('sharing', @av [])>], "
|
|
||||||
"@a{sv} {})");
|
|
||||||
nautilus_dbus_launcher_call (nautilus_dbus_launcher_get (),
|
|
||||||
NAUTILUS_DBUS_LAUNCHER_SETTINGS,
|
|
||||||
"Activate",
|
|
||||||
parameters, GTK_WINDOW (window));
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPECIAL_LOCATION_TRASH_RESPONSE:
|
case SPECIAL_LOCATION_TRASH_RESPONSE:
|
||||||
{
|
{
|
||||||
GVariant *parameters;
|
on_trash_auto_emptied_clicked (infobar);
|
||||||
|
|
||||||
parameters = g_variant_new_parsed ("('launch-panel', [<('usage', @av [])>], "
|
|
||||||
"@a{sv} {})");
|
|
||||||
nautilus_dbus_launcher_call (nautilus_dbus_launcher_get (),
|
|
||||||
NAUTILUS_DBUS_LAUNCHER_SETTINGS,
|
|
||||||
"Activate",
|
|
||||||
parameters, GTK_WINDOW (window));
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue