[Goodies-commits] r6542 - in sion/trunk: . src

Enrico Troeger enrico at xfce.org
Sun Jan 25 13:26:08 CET 2009


Author: enrico
Date: 2009-01-25 12:26:08 +0000 (Sun, 25 Jan 2009)
New Revision: 6542

Modified:
   sion/trunk/ChangeLog
   sion/trunk/src/bookmarkeditdialog.c
   sion/trunk/src/common.c
Log:
Add a hack to make the 'davs://' scheme also available even if GVfs tells to not support it (GVFs bug #538461).

Modified: sion/trunk/ChangeLog
===================================================================
--- sion/trunk/ChangeLog	2009-01-25 12:25:55 UTC (rev 6541)
+++ sion/trunk/ChangeLog	2009-01-25 12:26:08 UTC (rev 6542)
@@ -2,6 +2,9 @@
 
  * src/main.c, src/preferencesdialog.c, src/window.c:
    Add an option to start minimized.
+ * src/bookmarkeditdialog.c, src/common.c:
+   Add a hack to make the 'davs://' scheme also available even if GVfs
+   tells to not support it (GVfs bug #538461).
 
 
 2009-01-19  Enrico Tröger  <enrico(at)xfce(dot)org>

Modified: sion/trunk/src/bookmarkeditdialog.c
===================================================================
--- sion/trunk/src/bookmarkeditdialog.c	2009-01-25 12:25:55 UTC (rev 6541)
+++ sion/trunk/src/bookmarkeditdialog.c	2009-01-25 12:26:08 UTC (rev 6542)
@@ -104,15 +104,25 @@
 enum {
 	COLUMN_INDEX,
 	COLUMN_VISIBLE,
-	COLUMN_DESC,
+	COLUMN_DESC
 };
 
+/* this enum must be in sync with the 'methods' array below */
+enum {
+	SCHEME_FTP,
+	SCHEME_SFTP,
+	SCHEME_SMB,
+	SCHEME_DAV,
+	SCHEME_DAVS,
+	SCHEME_CUSTOM
+};
+
 static struct MethodInfo methods[] = {
 	{ "ftp",  21,	SHOW_PORT | SHOW_USER },
 	{ "sftp", 22,	SHOW_PORT | SHOW_USER },
 	{ "smb",  0,	SHOW_SHARE | SHOW_USER | SHOW_DOMAIN },
+	{ "dav",  80,	SHOW_PORT | SHOW_USER },
 	{ "davs", 443,	SHOW_PORT | SHOW_USER },
-	{ "dav",  80,	SHOW_PORT | SHOW_USER },
 	{ NULL,   0,	0 }
 };
 static guint methods_len = G_N_ELEMENTS(methods);
@@ -554,6 +564,7 @@
 {
 	guint i, j;
 	gboolean visible;
+	gboolean have_webdav = FALSE;
 	const gchar* const *supported;
 	GtkListStore *store;
 	GtkTreeModel *filter;
@@ -571,16 +582,26 @@
 		visible = FALSE;
 		for (j = 0; supported[j] != NULL; j++)
 		{
-			if (methods[i].scheme == NULL || sion_str_equal(methods[i].scheme, supported[j]))
+			/* Hack: list 'davs://' even if GVfs reports to not support it.
+			 * See http://bugzilla.gnome.org/show_bug.cgi?id=538461 */
+			if (i == SCHEME_DAV && sion_str_equal(methods[i].scheme, supported[j]))
 			{
 				visible = TRUE;
+				have_webdav = TRUE;
 				break;
 			}
+			if (i == SCHEME_DAVS && have_webdav)
+			{
+				visible = TRUE;
+				break;
+			}
+			else if (methods[i].scheme == NULL || sion_str_equal(methods[i].scheme, supported[j]))
+			{
+				visible = TRUE;
+				break;
+			}
 		}
-		if (methods[i].scheme != NULL)
-			scheme = sion_describe_scheme(methods[i].scheme);
-		else
-			scheme = _("Custom Location");
+		scheme = sion_describe_scheme(methods[i].scheme);
 
 		gtk_list_store_append(store, &iter);
 		gtk_list_store_set(store, &iter,
@@ -590,6 +611,8 @@
 			-1);
 	}
 
+	gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), COLUMN_DESC, GTK_SORT_ASCENDING);
+
 	filter = gtk_tree_model_filter_new(GTK_TREE_MODEL(store), NULL);
 	gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(filter), COLUMN_VISIBLE);
 	gtk_combo_box_set_model(GTK_COMBO_BOX(priv->type_combo), filter);

Modified: sion/trunk/src/common.c
===================================================================
--- sion/trunk/src/common.c	2009-01-25 12:25:55 UTC (rev 6541)
+++ sion/trunk/src/common.c	2009-01-25 12:26:08 UTC (rev 6542)
@@ -76,11 +76,11 @@
 	else if (sion_str_equal(scheme, "dav"))
 		return _("WebDAV");
 	else if (sion_str_equal(scheme, "davs"))
-		return _("Secure WebDAV");
+		return _("WebDAV (secure)");
 	else if (sion_str_equal(scheme, "network"))
 		return _("Network");
 
-	return NULL;
+	return _("Custom Location");
 }
 
 




More information about the Goodies-commits mailing list