summaryrefslogtreecommitdiff
path: root/baobab
diff options
context:
space:
mode:
Diffstat (limited to 'baobab')
-rw-r--r--baobab/src/baobab-remote-connect-dialog.c140
1 files changed, 132 insertions, 8 deletions
diff --git a/baobab/src/baobab-remote-connect-dialog.c b/baobab/src/baobab-remote-connect-dialog.c
index a1a95132..a8db624f 100644
--- a/baobab/src/baobab-remote-connect-dialog.c
+++ b/baobab/src/baobab-remote-connect-dialog.c
@@ -44,7 +44,11 @@
struct _BaobabRemoteConnectDialogDetails {
+#if GTK_CHECK_VERSION (3, 0, 0)
+ GtkWidget *grid;
+#else
GtkWidget *table;
+#endif
GtkWidget *type_combo;
GtkWidget *uri_entry;
@@ -391,7 +395,11 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
{
struct MethodInfo *meth;
int index, i;
+#if GTK_CHECK_VERSION (3, 0, 0)
+ GtkWidget *label, *grid;
+#else
GtkWidget *label, *table;
+#endif
GtkTreeIter iter;
/* Get our method info */
@@ -401,6 +409,42 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
g_assert (index < G_N_ELEMENTS (methods) && index >= 0);
meth = &(methods[index]);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ if (gtk_widget_get_parent (dialog->details->uri_entry) != NULL) {
+ gtk_container_remove (GTK_CONTAINER (dialog->details->grid),
+ dialog->details->uri_entry);
+ }
+ if (gtk_widget_get_parent (dialog->details->server_entry) != NULL) {
+ gtk_container_remove (GTK_CONTAINER (dialog->details->grid),
+ dialog->details->server_entry);
+ }
+ if (gtk_widget_get_parent (dialog->details->share_entry) != NULL) {
+ gtk_container_remove (GTK_CONTAINER (dialog->details->grid),
+ dialog->details->share_entry);
+ }
+ if (gtk_widget_get_parent (dialog->details->port_entry) != NULL) {
+ gtk_container_remove (GTK_CONTAINER (dialog->details->grid),
+ dialog->details->port_entry);
+ }
+ if (gtk_widget_get_parent (dialog->details->folder_entry) != NULL) {
+ gtk_container_remove (GTK_CONTAINER (dialog->details->grid),
+ dialog->details->folder_entry);
+ }
+ if (gtk_widget_get_parent (dialog->details->user_entry) != NULL) {
+ gtk_container_remove (GTK_CONTAINER (dialog->details->grid),
+ dialog->details->user_entry);
+ }
+ if (gtk_widget_get_parent (dialog->details->domain_entry) != NULL) {
+ gtk_container_remove (GTK_CONTAINER (dialog->details->grid),
+ dialog->details->domain_entry);
+ }
+ /* Destroy all labels */
+ gtk_container_foreach (GTK_CONTAINER (dialog->details->grid),
+ (GtkCallback) gtk_widget_destroy, NULL);
+
+ i = 1;
+ grid = dialog->details->grid;
+#else
if (gtk_widget_get_parent (dialog->details->uri_entry) != NULL) {
gtk_container_remove (GTK_CONTAINER (dialog->details->table),
dialog->details->uri_entry);
@@ -433,9 +477,9 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_container_foreach (GTK_CONTAINER (dialog->details->table),
(GtkCallback) gtk_widget_destroy, NULL);
-
i = 1;
table = dialog->details->table;
+#endif
if (meth->scheme == NULL) {
label = gtk_label_new_with_mnemonic (_("_Location (URI):"));
@@ -446,12 +490,20 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
#endif
gtk_widget_show (label);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gtk_grid_attach (GTK_GRID (grid), label, 0, i, 1, 1);
+
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->uri_entry);
+ gtk_widget_set_hexpand (dialog->details->uri_entry, TRUE);
+ gtk_widget_show (dialog->details->uri_entry);
+ gtk_grid_attach (GTK_GRID (grid), dialog->details->uri_entry, 1, i, 1, 1);
+#else
gtk_table_attach (GTK_TABLE (table), label,
0, 1,
i, i+1,
GTK_FILL, GTK_FILL,
0, 0);
-
+
gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->uri_entry);
gtk_widget_show (dialog->details->uri_entry);
gtk_table_attach (GTK_TABLE (table), dialog->details->uri_entry,
@@ -459,6 +511,7 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
i, i+1,
GTK_FILL | GTK_EXPAND, GTK_FILL,
0, 0);
+#endif
i++;
@@ -473,12 +526,20 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
#endif
gtk_widget_show (label);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gtk_grid_attach (GTK_GRID (grid), label, 0, i, 1, 1);
+
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->server_entry);
+ gtk_widget_set_hexpand (dialog->details->server_entry, TRUE);
+ gtk_widget_show (dialog->details->server_entry);
+ gtk_grid_attach (GTK_GRID (grid), dialog->details->server_entry, 1, i, 1, 1);
+#else
gtk_table_attach (GTK_TABLE (table), label,
0, 1,
i, i+1,
GTK_FILL, GTK_FILL,
0, 0);
-
+
gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->server_entry);
gtk_widget_show (dialog->details->server_entry);
gtk_table_attach (GTK_TABLE (table), dialog->details->server_entry,
@@ -486,6 +547,7 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
i, i+1,
GTK_FILL | GTK_EXPAND, GTK_FILL,
0, 0);
+#endif
i++;
@@ -497,11 +559,15 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
#endif
gtk_widget_show (label);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gtk_grid_attach (GTK_GRID (grid), label, 0, i, 2, 1);
+#else
gtk_table_attach (GTK_TABLE (table), label,
0, 2,
i, i+1,
GTK_FILL, GTK_FILL,
0, 0);
+#endif
i++;
@@ -514,12 +580,20 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
#endif
gtk_widget_show (label);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gtk_grid_attach (GTK_GRID (grid), label, 0, i, 1, 1);
+
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->share_entry);
+ gtk_widget_set_hexpand (dialog->details->share_entry, TRUE);
+ gtk_widget_show (dialog->details->share_entry);
+ gtk_grid_attach (GTK_GRID (grid), dialog->details->share_entry, 1, i, 1, 1);
+#else
gtk_table_attach (GTK_TABLE (table), label,
0, 1,
i, i+1,
GTK_FILL, GTK_FILL,
0, 0);
-
+
gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->share_entry);
gtk_widget_show (dialog->details->share_entry);
gtk_table_attach (GTK_TABLE (table), dialog->details->share_entry,
@@ -527,6 +601,7 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
i, i+1,
GTK_FILL | GTK_EXPAND, GTK_FILL,
0, 0);
+#endif
i++;
}
@@ -540,12 +615,20 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
#endif
gtk_widget_show (label);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gtk_grid_attach (GTK_GRID (grid), label, 0, i, 1, 1);
+
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->port_entry);
+ gtk_widget_set_hexpand (dialog->details->port_entry, TRUE);
+ gtk_widget_show (dialog->details->port_entry);
+ gtk_grid_attach (GTK_GRID (grid), dialog->details->port_entry, 1, i, 1, 1);
+#else
gtk_table_attach (GTK_TABLE (table), label,
0, 1,
i, i+1,
GTK_FILL, GTK_FILL,
0, 0);
-
+
gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->port_entry);
gtk_widget_show (dialog->details->port_entry);
gtk_table_attach (GTK_TABLE (table), dialog->details->port_entry,
@@ -553,6 +636,7 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
i, i+1,
GTK_FILL | GTK_EXPAND, GTK_FILL,
0, 0);
+#endif
i++;
}
@@ -565,12 +649,20 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
#endif
gtk_widget_show (label);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gtk_grid_attach (GTK_GRID (grid), label, 0, i, 1, 1);
+
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->folder_entry);
+ gtk_widget_set_hexpand (dialog->details->folder_entry, TRUE);
+ gtk_widget_show (dialog->details->folder_entry);
+ gtk_grid_attach (GTK_GRID (grid), dialog->details->folder_entry, 1, i, 1, 1);
+#else
gtk_table_attach (GTK_TABLE (table), label,
0, 1,
i, i+1,
GTK_FILL, GTK_FILL,
0, 0);
-
+
gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->folder_entry);
gtk_widget_show (dialog->details->folder_entry);
gtk_table_attach (GTK_TABLE (table), dialog->details->folder_entry,
@@ -578,6 +670,7 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
i, i+1,
GTK_FILL | GTK_EXPAND, GTK_FILL,
0, 0);
+#endif
i++;
@@ -590,12 +683,20 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
#endif
gtk_widget_show (label);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gtk_grid_attach (GTK_GRID (grid), label, 0, i, 1, 1);
+
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->user_entry);
+ gtk_widget_set_hexpand (dialog->details->user_entry, TRUE);
+ gtk_widget_show (dialog->details->user_entry);
+ gtk_grid_attach (GTK_GRID (grid), dialog->details->user_entry, 1, i, 1, 1);
+#else
gtk_table_attach (GTK_TABLE (table), label,
0, 1,
i, i+1,
GTK_FILL, GTK_FILL,
0, 0);
-
+
gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->user_entry);
gtk_widget_show (dialog->details->user_entry);
gtk_table_attach (GTK_TABLE (table), dialog->details->user_entry,
@@ -603,6 +704,7 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
i, i+1,
GTK_FILL | GTK_EXPAND, GTK_FILL,
0, 0);
+#endif
i++;
}
@@ -616,6 +718,14 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
#endif
gtk_widget_show (label);
+#if GTK_CHECK_VERSION (3, 0, 0)
+ gtk_grid_attach (GTK_GRID (grid), label, 0, i, 1, 1);
+
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), dialog->details->domain_entry);
+ gtk_widget_set_hexpand (dialog->details->user_entry, TRUE);
+ gtk_widget_show (dialog->details->domain_entry);
+ gtk_grid_attach (GTK_GRID (grid), dialog->details->domain_entry, 1, i, 1, 1);
+#else
gtk_table_attach (GTK_TABLE (table), label,
0, 1,
i, i+1,
@@ -629,6 +739,7 @@ setup_for_type (BaobabRemoteConnectDialog *dialog)
i, i+1,
GTK_FILL | GTK_EXPAND, GTK_FILL,
0, 0);
+#endif
i++;
}
@@ -670,7 +781,11 @@ static void
baobab_remote_connect_dialog_init (BaobabRemoteConnectDialog *dialog)
{
GtkWidget *label;
+#if GTK_CHECK_VERSION (3, 0, 0)
+ GtkWidget *grid;
+#else
GtkWidget *table;
+#endif
GtkWidget *combo;
GtkWidget *hbox;
GtkWidget *vbox;
@@ -789,13 +904,22 @@ baobab_remote_connect_dialog_init (BaobabRemoteConnectDialog *dialog)
gtk_box_pack_start (GTK_BOX (hbox),
label, FALSE, FALSE, 0);
-
+
+#if GTK_CHECK_VERSION (3, 0, 0)
+ dialog->details->grid = grid = gtk_grid_new ();
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 12);
+ gtk_widget_show (grid);
+ gtk_box_pack_start (GTK_BOX (hbox),
+ grid, TRUE, TRUE, 0);
+#else
dialog->details->table = table = gtk_table_new (5, 2, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_table_set_col_spacings (GTK_TABLE (table), 12);
gtk_widget_show (table);
gtk_box_pack_start (GTK_BOX (hbox),
table, TRUE, TRUE, 0);
+#endif
//dialog->details->uri_entry = caja_location_entry_new ();
dialog->details->uri_entry = gtk_entry_new();