static void photos_searchbar_enable_search (PhotosSearchbar *self, gboolean enable) { GVariant *state; state = g_variant_new ("b", enable); g_action_group_change_action_state (G_ACTION_GROUP (self->priv->app), "search", state); }
static void gtk_application_window_change_action_state (GActionGroup *group, const gchar *action_name, GVariant *state) { GtkApplicationWindow *window = GTK_APPLICATION_WINDOW (group); return g_action_group_change_action_state (G_ACTION_GROUP (window->priv->actions), action_name, state); }
static void photos_base_model_active_changed (PhotosBaseModel *self, GObject *active_object) { GApplication *app; GVariant *state; const gchar *action_id; const gchar *id; app = g_application_get_default (); action_id = photos_base_manager_get_action_id (self->mngr); id = photos_filterable_get_id (PHOTOS_FILTERABLE (active_object)); state = g_variant_new ("s", id); g_action_group_change_action_state (G_ACTION_GROUP (app), action_id, state); }
static gboolean toggle_action_on_2button_press (GdkEventButton *event, const char *action, gpointer user_data) { if (event->button == GDK_BUTTON_PRIMARY && event->type == GDK_2BUTTON_PRESS) { GActionGroup *group = gtk_widget_get_action_group (GTK_WIDGET (user_data), "win"); GVariant *state = g_action_group_get_action_state (group, action); g_action_group_change_action_state (group, action, g_variant_new_boolean (!g_variant_get_boolean (state))); g_variant_unref (state); return TRUE; } return FALSE; }
static void zoom_level_changed (GtkRange *range, NautilusToolbar *self) { NautilusWindowSlot *slot; NautilusView *view; gdouble zoom_level; zoom_level = gtk_range_get_value (range); slot = nautilus_window_get_active_slot (self->priv->window); view = nautilus_window_slot_get_current_view (slot); g_action_group_change_action_state (nautilus_view_get_action_group (view), "zoom-to-level", g_variant_new_int32 ((gint) zoom_level)); }
static void gtk_application_window_actions_change_action_state_full (GRemoteActionGroup *remote, const gchar *action_name, GVariant *value, GVariant *platform_data) { GtkApplicationWindowActions *actions = (GtkApplicationWindowActions *) remote; GApplication *application; GApplicationClass *class; application = G_APPLICATION (gtk_window_get_application (actions->window)); class = G_APPLICATION_GET_CLASS (application); class->before_emit (application, platform_data); g_action_group_change_action_state (G_ACTION_GROUP (actions), action_name, value); class->after_emit (application, platform_data); }
void nautilus_init_application_actions (NautilusApplication *app) { GtkBuilder *builder; GError *error = NULL; gboolean show_sidebar; const gchar *debug_no_app_menu; g_action_map_add_action_entries (G_ACTION_MAP (app), app_entries, G_N_ELEMENTS (app_entries), app); builder = gtk_builder_new (); gtk_builder_add_from_resource (builder, "/org/gnome/nautilus/nautilus-app-menu.ui", &error); if (error == NULL) { gtk_application_set_app_menu (GTK_APPLICATION (app), G_MENU_MODEL (gtk_builder_get_object (builder, "app-menu"))); } else { g_critical ("Unable to add the application menu: %s\n", error->message); g_error_free (error); } g_object_unref (builder); debug_no_app_menu = g_getenv ("NAUTILUS_DEBUG_NO_APP_MENU"); if (debug_no_app_menu) { DEBUG ("Disabling app menu GtkSetting as requested..."); g_object_set (gtk_settings_get_default (), "gtk-shell-shows-app-menu", FALSE, NULL); } show_sidebar = g_settings_get_boolean (nautilus_window_state, NAUTILUS_WINDOW_STATE_START_WITH_SIDEBAR); g_action_group_change_action_state (G_ACTION_GROUP (app), "show-hide-sidebar", g_variant_new_boolean (show_sidebar)); nautilus_application_add_accelerator (G_APPLICATION (app), "app.show-hide-sidebar", "F9"); nautilus_application_add_accelerator (G_APPLICATION (app), "app.bookmarks", "<control>b"); }
static void photos_application_launch_search (PhotosApplication *self, const gchar* const *terms, guint timestamp) { PhotosApplicationPrivate *priv = self->priv; GVariant *state; gchar *str; photos_application_create_window (self); photos_mode_controller_set_window_mode (priv->mode_cntrlr, PHOTOS_WINDOW_MODE_OVERVIEW); str = g_strjoinv (" ", (gchar **) terms); photos_search_controller_set_string (priv->state->srch_cntrlr, str); g_free (str); state = g_variant_new ("b", TRUE); g_action_group_change_action_state (G_ACTION_GROUP (self), "search", state); priv->activation_timestamp = timestamp; g_application_activate (G_APPLICATION (self)); }