gboolean nautilus_window_slot_handle_event (NautilusWindowSlot *slot, GdkEventKey *event) { NautilusWindow *window; window = nautilus_window_slot_get_window (slot); if (NAUTILUS_IS_DESKTOP_WINDOW (window)) return FALSE; return nautilus_query_editor_handle_event (slot->query_editor, event); }
static void action_nautilus_manual_callback (GtkAction *action, gpointer user_data) { NautilusWindow *window; GError *error; GtkWidget *dialog; const char* helpuri; const char* name = gtk_action_get_name (action); error = NULL; window = NAUTILUS_WINDOW (user_data); if (g_str_equal (name, "NautilusHelpSearch")) { helpuri = "help:gnome-help/files-search"; } else if (g_str_equal (name,"NautilusHelpSort")) { helpuri = "help:gnome-help/files-sort"; } else if (g_str_equal (name, "NautilusHelpLost")) { helpuri = "help:gnome-help/files-lost"; } else if (g_str_equal (name, "NautilusHelpShare")) { helpuri = "help:gnome-help/files-share"; } else { helpuri = "help:gnome-help/files"; } if (NAUTILUS_IS_DESKTOP_WINDOW (window)) { nautilus_launch_application_from_command (gtk_window_get_screen (GTK_WINDOW (window)), "gnome-help", FALSE, NULL); } else { gtk_show_uri (gtk_window_get_screen (GTK_WINDOW (window)), helpuri, gtk_get_current_event_time (), &error); } if (error) { dialog = gtk_message_dialog_new (GTK_WINDOW (window), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("There was an error displaying help: \n%s"), error->message); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); gtk_widget_show (dialog); g_error_free (error); } }
static NautilusWindowSlot * get_window_slot_for_location (NautilusApplication *application, GFile *location) { NautilusWindowSlot *slot; GList *l, *sl; slot = NULL; if (g_file_query_file_type (location, G_FILE_QUERY_INFO_NONE, NULL) != G_FILE_TYPE_DIRECTORY) { location = g_file_get_parent (location); } else { g_object_ref (location); } for (l = gtk_application_get_windows (GTK_APPLICATION (application)); l; l = l->next) { NautilusWindow *win = NAUTILUS_WINDOW (l->data); if (NAUTILUS_IS_DESKTOP_WINDOW (win)) continue; for (sl = nautilus_window_get_slots (win); sl; sl = sl->next) { NautilusWindowSlot *current = NAUTILUS_WINDOW_SLOT (sl->data); GFile *slot_location = nautilus_window_slot_get_location (current); if (g_file_equal (slot_location, location)) { slot = current; break; } } if (slot) { break; } } g_object_unref (location); return slot; }
static void action_nautilus_manual_callback (GtkAction *action, gpointer user_data) { NautilusWindow *window; GError *error; GtkWidget *dialog; error = NULL; window = NAUTILUS_WINDOW (user_data); if (NAUTILUS_IS_DESKTOP_WINDOW (window)) { gdk_spawn_command_line_on_screen ( gtk_window_get_screen (GTK_WINDOW (window)), "gnome-help", &error); } else { gtk_show_uri (gtk_window_get_screen (GTK_WINDOW (window)), "ghelp:user-guide#gosnautilus-1", gtk_get_current_event_time (), &error); } if (error) { dialog = gtk_message_dialog_new (GTK_WINDOW (window), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("There was an error displaying help: \n%s"), error->message); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); gtk_widget_show (dialog); g_error_free (error); } }