mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-10-05 23:40: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)
|
||||
|
||||
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
|
||||
on_info_bar_response (GtkInfoBar *infobar,
|
||||
gint response_id,
|
||||
gpointer user_data)
|
||||
{
|
||||
NautilusSpecialLocationBar *bar = user_data;
|
||||
GtkRoot *window = gtk_widget_get_root (GTK_WIDGET (bar));
|
||||
|
||||
switch (bar->button_response)
|
||||
{
|
||||
case SPECIAL_LOCATION_SHARING_RESPONSE:
|
||||
{
|
||||
GVariant *parameters;
|
||||
|
||||
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));
|
||||
on_sharing_clicked (infobar);
|
||||
}
|
||||
break;
|
||||
|
||||
case SPECIAL_LOCATION_TRASH_RESPONSE:
|
||||
{
|
||||
GVariant *parameters;
|
||||
|
||||
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));
|
||||
on_trash_auto_emptied_clicked (infobar);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in a new issue