summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Walter <stefw@src.gnome.org>2005-09-19 21:22:54 +0000
committerStefan Walter <stefw@src.gnome.org>2005-09-19 21:22:54 +0000
commit934f0851ef1841b5089f57ac484948b271adbdf2 (patch)
tree1baa169d893c1e2ce469d2d04ce43e72dacb6a97
parentf9ee9215e4ebe0cef6fe152858be98601ac5438d (diff)
downloadnautilus-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--ChangeLog11
-rw-r--r--src/nautilus-connect-server-dialog-main.c2
-rw-r--r--src/nautilus-connect-server-dialog.c23
-rw-r--r--src/nautilus-connect-server-dialog.h3
-rw-r--r--src/nautilus-window-menus.c4
5 files changed, 38 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 20771452e..1975d78c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}