[tomboy-list] [PATCH] Added options entry for sshfs
armen at opensourceclub.org
armen at opensourceclub.org
Sat Jun 27 12:28:03 PDT 2009
Hello,
Just added a new entry which you can pass any options to sshfs,
the having port option is pointless so it's been removed.
Regards,
Armen Baghumian
---
.../Addins/SshSyncService/SshSyncServiceAddin.cs | 72
+++++++++----------- 1 files changed, 33 insertions(+), 39 deletions(-)
diff --git a/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs
b/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs index
f0f66d6..8a5f571 100644 ---
a/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs +++
b/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs @@ -16,6 +16,7 @@
namespace Tomboy.Sync Entry serverEntry;
Entry folderEntry;
Entry usernameEntry;
+ Entry optionsEntry;
/// <summary>
/// Creates a Gtk.Widget that's used to configure the
service. This @@ -28,13 +29,11 @@ namespace Tomboy.Sync
Gtk.Table table = new Gtk.Table (3, 2, false);
// Read settings out of gconf
- string server, folder, username;
- int port;
- GetConfigSettings (out server, out folder, out
username, out port);
+ string server, folder, username, options;
+
+ GetConfigSettings (out server, out folder, out
username, out options); if (server == null)
server = string.Empty;
- if (port != 22)
- server += ":" + port.ToString ();
if (folder == null)
folder = string.Empty;
if (username == null)
@@ -58,14 +57,23 @@ namespace Tomboy.Sync
usernameEntry.Text = username;
table.Attach (usernameEntry, 1, 2, 1, 2);
- l = new Label (Catalog.GetString ("_Folder
Path (optional):"));
+ l = new Label (Catalog.GetString ("SSHFS
_Options:")); l.Xalign = 1;
table.Attach (l, 0, 1, 2, 3);
+ optionsEntry = new Entry ();
+ l.MnemonicWidget = optionsEntry;
+ optionsEntry.Text = options;
+ table.Attach (optionsEntry, 1, 2, 2, 3);
+
+ l = new Label (Catalog.GetString ("_Folder
Path (optional):"));
+ l.Xalign = 1;
+ table.Attach (l, 0, 1, 3, 4);
+
folderEntry = new Entry ();
l.MnemonicWidget = folderEntry;
folderEntry.Text = folder;
- table.Attach (folderEntry, 1, 2, 2, 3);
+ table.Attach (folderEntry, 1, 2, 3, 4);
// Text for label describing setup required
for SSH sync addin to work string sshInfo = Catalog.GetString ("SSH
synchronization requires an existing SSH key for this " + @@ -86,10
+94,9 @@ namespace Tomboy.Sync
protected override bool VerifyConfiguration ()
{
- string server, folder, username;
- int port;
+ string server, folder, username, options;
- if (!GetPrefWidgetSettings (out server, out
folder, out username, out port)) {
+ if (!GetPrefWidgetSettings (out server, out
folder, out username, out options)) { // TODO: Figure out a way to send
the error back to the client Logger.Debug ("One of url, username was
empty"); throw new TomboySyncException (Catalog.GetString ("Server or
username field is empty.")); @@ -100,12 +107,11 @@ namespace Tomboy.Sync
protected override void SaveConfigurationValues ()
{
- string server, folder, username;
- int port;
- GetPrefWidgetSettings (out server, out folder,
out username, out port);
+ string server, folder, username, options;
+ GetPrefWidgetSettings (out server, out folder,
out username, out options);
Preferences.Set
("/apps/tomboy/sync_sshfs_server", server);
- Preferences.Set
("/apps/tomboy/sync_sshfs_port", port);
+ Preferences.Set
("/apps/tomboy/sync_sshfs_options", options); Preferences.Set
("/apps/tomboy/sync_sshfs_folder", folder); Preferences.Set
("/apps/tomboy/sync_sshfs_username", username); }
@@ -116,7 +122,7 @@ namespace Tomboy.Sync
protected override void ResetConfigurationValues ()
{
Preferences.Set
("/apps/tomboy/sync_sshfs_server", string.Empty);
- Preferences.Set
("/apps/tomboy/sync_sshfs_port", 22);
+ Preferences.Set
("/apps/tomboy/sync_sshfs_options", string.Empty); Preferences.Set
("/apps/tomboy/sync_sshfs_folder", string.Empty); Preferences.Set
("/apps/tomboy/sync_sshfs_username", string.Empty); }
@@ -127,9 +133,8 @@ namespace Tomboy.Sync
public override bool IsConfigured
{
get {
- string server, folder, username;
- int port;
- return GetConfigSettings (out server,
out folder, out username, out port);
+ string server, folder, username,
options;
+ return GetConfigSettings (out server,
out folder, out username, out options); }
}
@@ -157,21 +162,20 @@ namespace Tomboy.Sync
protected override string GetFuseMountExeArgs (string
mountPath, bool fromStoredValues) {
- int port = 22;
- string server, folder, username;
+ string server, folder, username, options;
if (fromStoredValues)
- GetConfigSettings (out server, out
folder, out username, out port);
+ GetConfigSettings (out server, out
folder, out username, out options); else
- GetPrefWidgetSettings (out server, out
folder, out username, out port);
+ GetPrefWidgetSettings (out server, out
folder, out username, out options); return string.Format (
- "-p {0} {1}@{2}:{3} {4}",
- port,
+ "{0} {1}@{2}:{3} {4}",
+ options,
username,
server,
folder,
mountPath);
}
-
+
protected override string
GetFuseMountExeArgsForDisplay (string mountPath, bool fromStoredValues)
{ return GetFuseMountExeArgs (mountPath, fromStoredValues);
@@ -199,13 +203,10 @@ namespace Tomboy.Sync
/// <summary>
/// Get config settings
/// </summary>
- private bool GetConfigSettings (out string server, out
string folder, out string username, out int port)
+ private bool GetConfigSettings (out string server, out
string folder, out string username, out string options) {
server = Preferences.Get
("/apps/tomboy/sync_sshfs_server") as String;
- port = 22;
- try {
- port = (int)Preferences.Get
("/apps/tomboy/sync_sshfs_port");
- } catch {}
+ options = Preferences.Get
("/apps/tomboy/sync_sshfs_options") as String; folder = Preferences.Get
("/apps/tomboy/sync_sshfs_folder") as String; username =
Preferences.Get ("/apps/tomboy/sync_sshfs_username") as String;
@@ -216,19 +217,12 @@ namespace Tomboy.Sync
/// <summary>
/// Get config settings
/// </summary>
- private bool GetPrefWidgetSettings (out string server,
out string folder, out string username, out int port)
+ private bool GetPrefWidgetSettings (out string server,
out string folder, out string username, out string options) {
- port = 22;
server = serverEntry.Text.Trim ();
- int lastColonIndex = server.LastIndexOf(":");
- if (lastColonIndex > 0) {
- try {
- port = int.Parse
(server.Substring (lastColonIndex + 1));
- } catch {}
- server = server.Substring (0,
lastColonIndex);
- }
folder = folderEntry.Text.Trim ();
username = usernameEntry.Text.Trim ();
+ options = optionsEntry.Text.Trim ();
return !string.IsNullOrEmpty (server)
&& !string.IsNullOrEmpty (username);
--
1.5.5.dirty
More information about the Tomboy-list
mailing list