« Return to Thread: [PATCH] Added options entry for sshfs

[PATCH] Added options entry for sshfs

by Armen Baghumian-2 :: Rate this Message:

Reply to Author | View in Thread

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



_______________________________________________
Tomboy-list mailing list
Tomboy-list@...
http://lists.beatniksoftware.com/listinfo.cgi/tomboy-list-beatniksoftware.com

 « Return to Thread: [PATCH] Added options entry for sshfs