diff options
author | Stefan Walter <stefw@src.gnome.org> | 2005-09-19 21:22:54 +0000 |
---|---|---|
committer | Stefan Walter <stefw@src.gnome.org> | 2005-09-19 21:22:54 +0000 |
commit | 934f0851ef1841b5089f57ac484948b271adbdf2 (patch) | |
tree | 1baa169d893c1e2ce469d2d04ce43e72dacb6a97 | |
parent | f9ee9215e4ebe0cef6fe152858be98601ac5438d (diff) | |
download | nautilus-934f0851ef1841b5089f57ac484948b271adbdf2.tar.gz |
Autofill "Connect to server" dialog where possible. Fixes #314745
* nautilus-connect-server-dialog-main.c: (main):
* nautilus-connect-server-dialog.h:
* nautilus-connect-server-dialog.c:
(nautilus_connect_server_dialog_new):
* nautilus-window-menus.c:
(action_connect_to_server_callback):
Autofill "Connect to server" dialog where possible.
Fixes #314745
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | src/nautilus-connect-server-dialog-main.c | 2 | ||||
-rw-r--r-- | src/nautilus-connect-server-dialog.c | 23 | ||||
-rw-r--r-- | src/nautilus-connect-server-dialog.h | 3 | ||||
-rw-r--r-- | src/nautilus-window-menus.c | 4 |
5 files changed, 38 insertions, 5 deletions
@@ -1,3 +1,14 @@ +2005-09-19 Nate Nielsen <nielsen@memberwebs.com> + + * nautilus-connect-server-dialog-main.c: (main): + * nautilus-connect-server-dialog.h: + * nautilus-connect-server-dialog.c: + (nautilus_connect_server_dialog_new): + * nautilus-window-menus.c: + (action_connect_to_server_callback): + Autofill "Connect to server" dialog where possible. + Fixes #314745 + 2005-09-19 Christian Neumair <chris@gnome-de.org> * libnautilus-private/nautilus-file-operations.c: diff --git a/src/nautilus-connect-server-dialog-main.c b/src/nautilus-connect-server-dialog-main.c index f9248cc9d..65d8e0868 100644 --- a/src/nautilus-connect-server-dialog-main.c +++ b/src/nautilus-connect-server-dialog-main.c @@ -111,7 +111,7 @@ main (int argc, char *argv[]) gtk_window_set_default_icon_name ("gnome-fs-directory"); - dialog = nautilus_connect_server_dialog_new (NULL); + dialog = nautilus_connect_server_dialog_new (NULL, NULL); open_dialogs = 1; g_signal_connect (dialog, "destroy", diff --git a/src/nautilus-connect-server-dialog.c b/src/nautilus-connect-server-dialog.c index 6ff52948c..90a298028 100644 --- a/src/nautilus-connect-server-dialog.c +++ b/src/nautilus-connect-server-dialog.c @@ -758,16 +758,35 @@ nautilus_connect_server_dialog_init (NautilusConnectServerDialog *dialog) } GtkWidget * -nautilus_connect_server_dialog_new (NautilusWindow *window) +nautilus_connect_server_dialog_new (NautilusWindow *window, const gchar *location) { + NautilusConnectServerDialog *conndlg; GtkWidget *dialog; + GnomeVFSURI *uri; dialog = gtk_widget_new (NAUTILUS_TYPE_CONNECT_SERVER_DIALOG, NULL); if (window) { + conndlg = NAUTILUS_CONNECT_SERVER_DIALOG (dialog); + gtk_window_set_screen (GTK_WINDOW (dialog), gtk_window_get_screen (GTK_WINDOW (window))); - NAUTILUS_CONNECT_SERVER_DIALOG (dialog)->details->application = window->application; + conndlg->details->application = window->application; + + if (location) { + uri = gnome_vfs_uri_new (location); + g_return_val_if_fail (uri != NULL, dialog); + + /* ... and if it's a remote URI, then load as the default */ + if (!g_str_equal (gnome_vfs_uri_get_scheme (uri), "file") && + !gnome_vfs_uri_is_local (uri)) { + + gtk_combo_box_set_active (GTK_COMBO_BOX (conndlg->details->type_combo), TYPE_URI); + gtk_entry_set_text (GTK_ENTRY (conndlg->details->uri_entry), location); + } +; + gnome_vfs_uri_unref (uri); + } } return dialog; diff --git a/src/nautilus-connect-server-dialog.h b/src/nautilus-connect-server-dialog.h index c9bea7f41..f84e35b53 100644 --- a/src/nautilus-connect-server-dialog.h +++ b/src/nautilus-connect-server-dialog.h @@ -46,7 +46,8 @@ struct _NautilusConnectServerDialogClass { }; GType nautilus_connect_server_dialog_get_type (void); -GtkWidget* nautilus_connect_server_dialog_new (NautilusWindow *window); +GtkWidget* nautilus_connect_server_dialog_new (NautilusWindow *window, + const gchar *uri); /* Private internal calls */ diff --git a/src/nautilus-window-menus.c b/src/nautilus-window-menus.c index b0b2235c3..1fea2e7c8 100644 --- a/src/nautilus-window-menus.c +++ b/src/nautilus-window-menus.c @@ -217,9 +217,11 @@ static void action_connect_to_server_callback (GtkAction *action, gpointer user_data) { + NautilusWindow *window = NAUTILUS_WINDOW (user_data); GtkWidget *dialog; - dialog = nautilus_connect_server_dialog_new (NAUTILUS_WINDOW (user_data)); + dialog = nautilus_connect_server_dialog_new (window, nautilus_window_get_location (window)); + gtk_widget_show (dialog); } |