show the difference between two versions for a specified path
[tfs.git] / class / Gtk.TeamFoundation / RepositoryDialog.cs
blobcb3000ce05b76034d9b677884539be8a40b1f4bd
1 //
2 // RepositoryDialog.cs
3 //
4 // Authors:
5 // Joel Reed (joelwreed@gmail.com)
6 //
8 //
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
16 //
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
19 //
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 using System;
30 using System.Text;
31 using Gtk;
33 using Microsoft.TeamFoundation.Client;
34 using Microsoft.TeamFoundation.VersionControl.Common;
35 using Microsoft.TeamFoundation.VersionControl.Client;
36 using OpenTF.Common;
38 namespace Gtk.TeamFoundation
40 public class RepositoryDialog : DialogBase
42 private Entry name;
43 private Entry server;
44 private Entry username;
45 private Entry password;
46 private Button okButton;
48 public string WorkspaceName
50 get { return name.Text; }
53 public string Server
55 get { return server.Text; }
58 public string Username
60 get { return username.Text; }
63 public string Password
65 get { return password.Text; }
68 protected override bool OnKeyPressEvent(Gdk.EventKey evnt)
70 if (evnt.Key == Gdk.Key.Return)
71 okButton.Click();
73 return base.OnKeyPressEvent(evnt);
76 public RepositoryDialog(Workspace workspace) : base((workspace == null)? "Add Repository" : "Edit Repository")
78 Table table = new Table(3, 2, false);
79 table.RowSpacing = ((uint)(6));
80 table.ColumnSpacing = ((uint)(6));
81 table.BorderWidth = ((uint)(12));
83 name = AddLabeledEntry(table, "_Name:", 1, 2);
84 server = AddLabeledEntry(table, "_Server:", 2, 3);
85 table.Attach(new Gtk.HSeparator(), 0, 2, 3, 4);
87 username = AddLabeledEntry(table, "_Username:", 4, 5);
88 password = AddLabeledEntry(table, "_Password:", 5, 6);
89 VBox.Add(table);
91 okButton = AddButton ("OK", ResponseType.Ok) as Button;
92 AddCloseButton("Cancel");
93 DefaultResponse = ResponseType.Ok;
95 if (workspace != null)
97 name.Text = workspace.Name;
98 Uri uri = workspace.VersionControlServer.TeamFoundationServer.Uri;
99 server.Text = uri.Host.ToString();
101 string creds = Keyring.GetCredentials(uri.ToString());
102 int comma = creds.IndexOf(",");
104 if (comma != -1)
106 username.Text = creds.Substring(0, comma);
107 password.Text = creds.Substring(comma+1);
109 else username.Text = creds;
111 else
113 name.Text = "CodePlex";
114 server.Text = "https://tfs01.codeplex.com";
115 username.Text = "snd\\";
118 ShowAll();