private void CreateWidgets() { this.SetDefaultSize (500, 400); this.Icon = new Gdk.Pixbuf(Util.ImagesPath("ifolder16.png")); this.WindowPosition = Gtk.WindowPosition.Center; VBox vbox = new VBox (false, 0); this.Add (vbox); vbox.Spacing = 10; vbox.BorderWidth = 10; AccTreeView = new iFolderTreeView(); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.Add(AccTreeView); vbox.PackStart(sw, true, true, 0); AccTreeStore = new ListStore(typeof(string)); AccTreeView.Model = AccTreeStore; TreeViewColumn serverColumn = new TreeViewColumn(); serverColumn.Title = Util.GS("User Name"); CellRendererText servercr = new CellRendererText(); servercr.Xpad = 5; serverColumn.PackStart(servercr, false); serverColumn.SetCellDataFunc(servercr, new TreeCellDataFunc(ServerCellTextDataFunc)); serverColumn.Resizable = true; serverColumn.MinWidth = 150; AccTreeView.AppendColumn(serverColumn); TreeViewColumn nameColumn = new TreeViewColumn(); nameColumn.Title = Util.GS("Home Location"); CellRendererText ncrt = new CellRendererText(); nameColumn.PackStart(ncrt, false); nameColumn.SetCellDataFunc(ncrt, new TreeCellDataFunc(NameCellTextDataFunc)); nameColumn.Resizable = true; nameColumn.MinWidth = 175; AccTreeView.AppendColumn(nameColumn); AccTreeView.Selection.Mode = SelectionMode.Single; AccTreeView.Selection.Changed += new EventHandler(AccSelectionChangedHandler); TreeViewColumn statusColumn = new TreeViewColumn(); statusColumn.Title = Util.GS("Status"); CellRendererText scrt = new CellRendererText(); statusColumn.PackStart(scrt, false); statusColumn.SetCellDataFunc(scrt, new TreeCellDataFunc(StatusCellTextDataFunc)); statusColumn.Resizable = true; statusColumn.MinWidth = 75; AccTreeView.AppendColumn(statusColumn); HButtonBox buttonBox = new HButtonBox(); buttonBox.Spacing = 10; buttonBox.Layout = ButtonBoxStyle.End; vbox.PackStart(buttonBox, false, false, 0); MigrateButton = new Button("_Migrate"); buttonBox.PackStart(MigrateButton); MigrateButton.Clicked += new EventHandler(OnMigrateAccount); DetailsButton = new Button(Gtk.Stock.Cancel); buttonBox.PackStart(DetailsButton); this.DetailsButton.Clicked += new EventHandler(OnCancelClicked); }
private void InitializeWidgets() { this.Spacing = 10; this.BorderWidth = 10; UserTreeView = new iFolderTreeView(); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.Add(UserTreeView); this.PackStart(sw, true, true, 0); UserTreeStore = new ListStore(typeof(iFolderUser)); UserTreeView.Model = UserTreeStore; CellRendererPixbuf mcrp = new CellRendererPixbuf(); TreeViewColumn UserColumn = new TreeViewColumn(); UserColumn.PackStart(mcrp, false); UserColumn.SetCellDataFunc(mcrp, new TreeCellDataFunc(UserCellPixbufDataFunc)); CellRendererText mcrt = new CellRendererText(); UserColumn.PackStart(mcrt, false); UserColumn.SetCellDataFunc(mcrt, new TreeCellDataFunc(UserCellTextDataFunc)); UserColumn.Title = Util.GS("User"); UserTreeView.AppendColumn(UserColumn); UserColumn.Resizable = true; CellRendererText statecr = new CellRendererText(); statecr.Xpad = 5; TreeViewColumn stateColumn = UserTreeView.AppendColumn(Util.GS("State"), statecr, new TreeCellDataFunc(StateCellTextDataFunc)); stateColumn.Resizable = true; stateColumn.MinWidth = 150; CellRendererText accesscr = new CellRendererText(); accesscr.Xpad = 5; TreeViewColumn accessColumn = UserTreeView.AppendColumn(Util.GS("Access"), accesscr, new TreeCellDataFunc(AccessCellTextDataFunc)); accessColumn.Resizable = true; UserTreeView.Selection.Mode = SelectionMode.Multiple; UserTreeView.Selection.Changed += new EventHandler(OnUserSelectionChanged); UserTreeView.ButtonPressEvent += new ButtonPressEventHandler( OnUserTreeViewButtonPressed); UserTreeView.RowActivated += new RowActivatedHandler( OnUserTreeViewRowActivated); UserPixBuf = new Gdk.Pixbuf(Util.ImagesPath("ifolderuser.png")); InvitedPixBuf = new Gdk.Pixbuf(Util.ImagesPath("inviteduser.png")); CurrentUserPixBuf = new Gdk.Pixbuf(Util.ImagesPath("currentuser.png")); HBox buttonBox = new HBox(); buttonBox.Spacing = 10; this.PackStart(buttonBox, false, false, 0); HBox leftBox = new HBox(); leftBox.Spacing = 10; buttonBox.PackStart(leftBox, false, false, 0); HBox midBox = new HBox(); midBox.Spacing = 10; buttonBox.PackStart(midBox, true, true, 0); HBox rightBox = new HBox(); rightBox.Spacing = 10; buttonBox.PackStart(rightBox, false, false, 0); AddButton = new Button(Gtk.Stock.Add); rightBox.PackStart(AddButton); AddButton.Clicked += new EventHandler(OnAddUser); RemoveButton = new Button(Gtk.Stock.Remove); rightBox.PackStart(RemoveButton); RemoveButton.Clicked += new EventHandler(OnRemoveUser); AccessButton = new Button(Util.GS("Acc_ess...")); leftBox.PackStart(AccessButton); AccessButton.Clicked += new EventHandler(OnAccessClicked); }
private void InitializeWidgets() { this.Spacing = 10; this.BorderWidth = 10; AccTreeView = new iFolderTreeView(); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.Add(AccTreeView); this.PackStart(sw, true, true, 0); AccTreeStore = new ListStore(typeof(string)); AccTreeView.Model = AccTreeStore; TreeViewColumn onlineColumn = new TreeViewColumn(); onlineColumn.Title = Util.GS("Online"); onlineToggleButton = new CellRendererToggle(); onlineToggleButton.Xpad = 5; onlineToggleButton.Xalign = 0.5F; onlineColumn.PackStart(onlineToggleButton, true); onlineColumn.SetCellDataFunc(onlineToggleButton, new TreeCellDataFunc(OnlineCellToggleDataFunc)); onlineToggleButton.Toggled += new ToggledHandler(OnlineToggled); AccTreeView.AppendColumn(onlineColumn); TreeViewColumn serverColumn = new TreeViewColumn(); serverColumn.Title = Util.GS("Server Name"); CellRendererText servercr = new CellRendererText(); servercr.Xpad = 5; serverColumn.PackStart(servercr, false); serverColumn.SetCellDataFunc(servercr, new TreeCellDataFunc(ServerCellTextDataFunc)); serverColumn.Resizable = true; serverColumn.MinWidth = 150; AccTreeView.AppendColumn(serverColumn); TreeViewColumn nameColumn = new TreeViewColumn(); nameColumn.Title = Util.GS("User Name"); CellRendererText ncrt = new CellRendererText(); nameColumn.PackStart(ncrt, false); nameColumn.SetCellDataFunc(ncrt, new TreeCellDataFunc(NameCellTextDataFunc)); nameColumn.Resizable = true; nameColumn.MinWidth = 150; AccTreeView.AppendColumn(nameColumn); AccTreeView.Selection.Mode = SelectionMode.Single; AccTreeView.Selection.Changed += new EventHandler(AccSelectionChangedHandler); HButtonBox buttonBox = new HButtonBox(); buttonBox.Spacing = 10; buttonBox.Layout = ButtonBoxStyle.End; this.PackStart(buttonBox, false, false, 0); AddButton = new Button(Gtk.Stock.Add); buttonBox.PackStart(AddButton); AddButton.Clicked += new EventHandler(OnAddAccount); RemoveButton = new Button(Gtk.Stock.Remove); buttonBox.PackStart(RemoveButton); RemoveButton.Clicked += new EventHandler(OnRemoveAccount); DetailsButton = new Button(Gtk.Stock.Properties); buttonBox.PackStart(DetailsButton); DetailsButton.Clicked += new EventHandler(OnDetailsClicked); AccTreeView.RowActivated += new RowActivatedHandler( OnAccTreeRowActivated); }
/// <summary> /// Set up the widgets /// </summary> /// <returns> /// Widget to display /// </returns> private void InitializeWidgets() { this.Spacing = 10; this.BorderWidth = 10; // Set up the iFolder2.x Accounts tree view in a scrolled window AccTreeView = new iFolderTreeView(); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.Add(AccTreeView); this.PackStart(sw, true, true, 0); AccTreeStore = new ListStore(typeof(string)); AccTreeView.Model = AccTreeStore; // User Name Column TreeViewColumn serverColumn = new TreeViewColumn(); serverColumn.Title = Util.GS("User Name"); CellRendererText servercr = new CellRendererText(); servercr.Xpad = 5; serverColumn.PackStart(servercr, false); serverColumn.SetCellDataFunc(servercr, new TreeCellDataFunc(ServerCellTextDataFunc)); serverColumn.Resizable = true; serverColumn.MinWidth = 150; AccTreeView.AppendColumn(serverColumn); // Home Location Column TreeViewColumn nameColumn = new TreeViewColumn(); nameColumn.Title = Util.GS("Home Location"); CellRendererText ncrt = new CellRendererText(); nameColumn.PackStart(ncrt, false); nameColumn.SetCellDataFunc(ncrt, new TreeCellDataFunc(NameCellTextDataFunc)); nameColumn.Resizable = true; nameColumn.MinWidth = 150; AccTreeView.AppendColumn(nameColumn); AccTreeView.Selection.Mode = SelectionMode.Single; AccTreeView.Selection.Changed += new EventHandler(AccSelectionChangedHandler); // Status column TreeViewColumn statusColumn = new TreeViewColumn(); statusColumn.Title = Util.GS("Status"); CellRendererText stat = new CellRendererText(); stat.Xpad = 5; statusColumn.PackStart(stat, false); statusColumn.SetCellDataFunc(stat, new TreeCellDataFunc(statusCellTextDataFunc)); statusColumn.Resizable = true; statusColumn.MinWidth = 150; AccTreeView.AppendColumn(statusColumn); // Set up buttons for add/remove/accept/decline HButtonBox buttonBox = new HButtonBox(); buttonBox.Spacing = 10; buttonBox.Layout = ButtonBoxStyle.End; this.PackStart(buttonBox, false, false, 0); //AddButton = new Button("Add"); // buttonBox.PackStart(AddButton); MigrateButton = new Button("_Migrate"); buttonBox.PackStart(MigrateButton); MigrateButton.Clicked += new EventHandler(OnMigrateAccount); DetailsButton = new Button(Gtk.Stock.Properties); buttonBox.PackStart(DetailsButton); DetailsButton.Clicked += new EventHandler(OnDetailsClicked); AccTreeView.RowActivated += new RowActivatedHandler( OnAccTreeRowActivated); }
private void SetupDialog() { this.Title = Util.GS("iFolder passphrase"); this.Icon = new Gdk.Pixbuf(Util.ImagesPath("ifolder16.png")); this.HasSeparator = false; this.SetDefaultSize (450, 100); this.Modal = true; this.DestroyWithParent = true; this.DefaultResponse = ResponseType.Ok; HBox imagebox = new HBox(); imagebox.Spacing = 0; iFolderBanner = new Image( new Gdk.Pixbuf(Util.ImagesPath("ifolder-banner.png"))); imagebox.PackStart(iFolderBanner, false, false, 0); ScaledPixbuf = new Gdk.Pixbuf(Util.ImagesPath("ifolder-banner-scaler.png")); iFolderScaledBanner = new Image(ScaledPixbuf); iFolderScaledBanner.ExposeEvent += new ExposeEventHandler(OnBannerExposed); imagebox.PackStart(iFolderScaledBanner, true, true, 0); this.VBox.PackStart (imagebox, false, true, 0); Table table = new Table(8, 3, false); this.VBox.PackStart(table, false, false, 0); table.ColumnSpacing = 6; table.RowSpacing = 6; table.BorderWidth = 12; Label l = new Label(Util.GS("Enter the passphrase")+":"); table.Attach(l,0,3, 0,1, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); l.LineWrap = true; l.Xalign = 0.0F; table.Attach(new Label(""), 0,1, 1,2, AttachOptions.Fill, 0,12,0); l = new Label(Util.GS("Domain Name")+":"); table.Attach(l, 1,2, 1,2, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); l.LineWrap = true; l.Xalign = 0.0F; DomainInformation info = simws.GetDomainInformation(DomainID); l = new Label(info.Name + " (" + info.Host + ")"); table.Attach(l, 2,3, 1,2, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); l.LineWrap = true; l.Xalign = 0.0F; table.Attach(new Label(""), 0,1, 2,3, AttachOptions.Fill, 0,12,0); l = new Label(Util.GS("_Passphrase:")); table.Attach(l,1,2, 2,3, AttachOptions.Shrink | AttachOptions.Fill, 0,0,0); l.Xalign = 0.0F; PassPhraseEntry = new Entry(); PassPhraseEntry.Visibility = false; PassPhraseEntry.Changed += new EventHandler(OnFieldsChanged); table.Attach(PassPhraseEntry, 2,3, 2,3, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); l.MnemonicWidget = PassPhraseEntry; l = new Label(Util.GS("_Re-type passphrase:")); table.Attach(l, 1,2, 3,4, AttachOptions.Shrink | AttachOptions.Fill, 0,0,0); l.Xalign = 0.0F; PassPhraseVerifyEntry = new Entry(); PassPhraseVerifyEntry.Visibility = false; PassPhraseVerifyEntry.Changed += new EventHandler(OnFieldsChanged); table.Attach(PassPhraseVerifyEntry, 2,3, 3,4, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); l.MnemonicWidget = PassPhraseVerifyEntry; savePassPhraseButton = new CheckButton(Util.GS("Remember passphrase")); table.Attach(savePassPhraseButton, 2,3, 4,5, AttachOptions.Shrink | AttachOptions.Fill, 0,0,0); l = new Label(Util.GS("Select Passphrase Recovery Agent")+":"); table.Attach(l, 0,3, 5,6, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); l.LineWrap = true; l.Xalign = 0.0F; RATreeView = new iFolderTreeView (); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.HscrollbarPolicy = Gtk.PolicyType.Automatic; sw.VscrollbarPolicy = Gtk.PolicyType.Automatic; sw.Add(RATreeView); DomainController domainController = DomainController.GetDomainController(); RATreeStore = new ListStore(typeof(string)); RATreeView.Model = RATreeStore; RAList = domainController.GetRAList(DomainID); if( RAList == null) { Debug.PrintLine(" no recovery agent present:"); } else Debug.PrintLine("Recovery agent present"); foreach (string raagent in RAList ) { Debug.PrintLine(String.Format("raagent:{0}", raagent)); RATreeStore.AppendValues (raagent); } RATreeStore.AppendValues(Util.GS("Server_Default")); TreeViewColumn raNameColumn = new TreeViewColumn(); raNameColumn.Title = Util.GS("Recovery Agents"); CellRendererText cr = new CellRendererText(); cr.Xpad = 5; raNameColumn.PackStart(cr, false); raNameColumn.SetCellDataFunc(cr, new TreeCellDataFunc(RANameCellTextDataFunc)); raNameColumn.Resizable = true; raNameColumn.MinWidth = 250; RATreeView.AppendColumn(raNameColumn); RATreeView.Selection.Mode = SelectionMode.Single; table.Attach(sw, 0,3, 6,8, AttachOptions.Expand | AttachOptions.Fill, 0,0,0); this.VBox.ShowAll(); this.AddButton(Stock.Cancel, ResponseType.Cancel); this.AddButton(Stock.Ok, ResponseType.Ok); this.SetResponseSensitive(ResponseType.Ok, false); this.DefaultResponse = ResponseType.Ok; }
/// <summary> /// Set up the UI inside the Window /// </summary> private void InitializeWidgets() { this.Spacing = 10; this.BorderWidth = 10; // Create the main TreeView and add it to a scrolled // window, then add it to the main vbox widget UserTreeView = new iFolderTreeView(); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.Add(UserTreeView); this.PackStart(sw, true, true, 0); // Set up the iFolder TreeView UserTreeStore = new ListStore(typeof(iFolderUser)); UserTreeView.Model = UserTreeStore; CellRendererPixbuf mcrp = new CellRendererPixbuf(); TreeViewColumn UserColumn = new TreeViewColumn(); UserColumn.PackStart(mcrp, false); UserColumn.Spacing = 2; UserColumn.SetCellDataFunc(mcrp, new TreeCellDataFunc(UserCellPixbufDataFunc)); CellRendererText mcrt = new CellRendererText(); UserColumn.PackStart(mcrt, false); UserColumn.SetCellDataFunc(mcrt, new TreeCellDataFunc(UserCellTextDataFunc)); UserColumn.Title = Util.GS("User"); UserTreeView.AppendColumn(UserColumn); UserColumn.Resizable = true; CellRendererText statecr = new CellRendererText(); statecr.Xpad = 5; TreeViewColumn stateColumn = UserTreeView.AppendColumn(Util.GS("Role"), statecr, new TreeCellDataFunc(StateCellTextDataFunc)); stateColumn.Resizable = true; stateColumn.MinWidth = 150; CellRendererText accesscr = new CellRendererText(); accesscr.Xpad = 5; TreeViewColumn accessColumn = UserTreeView.AppendColumn(Util.GS("Rights"), accesscr, new TreeCellDataFunc(AccessCellTextDataFunc)); accessColumn.Resizable = true; UserTreeView.Selection.Mode = SelectionMode.Multiple; UserTreeView.Selection.Changed += new EventHandler(OnUserSelectionChanged); UserTreeView.ButtonPressEvent += new ButtonPressEventHandler( OnUserTreeViewButtonPressed); UserTreeView.RowActivated += new RowActivatedHandler( OnUserTreeViewRowActivated); OwnerUserPixbuf = new Gdk.Pixbuf(Util.ImagesPath("ifolder-user-owner16.png")); CurrentUserPixbuf = new Gdk.Pixbuf(Util.ImagesPath("ifolder-user-current16.png")); // Use an empty pixbuf to represent a normal user NormalUserPixbuf = new Gdk.Pixbuf(OwnerUserPixbuf.Colorspace, true, OwnerUserPixbuf.BitsPerSample, OwnerUserPixbuf.Width, OwnerUserPixbuf.Height); NormalUserPixbuf.Fill(0x00000000); // transparent // Set up buttons for add/remove/accept/decline HBox buttonBox = new HBox(); buttonBox.Spacing = 10; this.PackStart(buttonBox, false, false, 0); HBox leftBox = new HBox(); leftBox.Spacing = 10; buttonBox.PackStart(leftBox, false, false, 0); HBox midBox = new HBox(); midBox.Spacing = 10; buttonBox.PackStart(midBox, true, true, 0); HBox rightBox = new HBox(); rightBox.Spacing = 10; buttonBox.PackStart(rightBox, false, false, 0); AddButton = new Button(Gtk.Stock.Add); rightBox.PackStart(AddButton); AddButton.Clicked += new EventHandler(OnAddUser); RemoveButton = new Button(Gtk.Stock.Remove); rightBox.PackStart(RemoveButton); RemoveButton.Clicked += new EventHandler(OnRemoveUser); AccessButton = new Button(Util.GS("R_ights...")); leftBox.PackStart(AccessButton); AccessButton.Clicked += new EventHandler(OnAccessClicked); }
private Gnome.DruidPage CreateRAPage() { RAPage = new DruidRAPage( Util.GS("Encryption"), AddAccountPixbuf, null); RAPage.CancelClicked += new Gnome.CancelClickedHandler(OnCancelClicked); RAPage.ValidateClicked += new ValidateClickedHandler(OnValidateClicked); RAPage.SkipClicked += new SkipClickedHandler(OnSkipClicked); RAPage.Prepared += new Gnome.PreparedHandler(OnRAPagePrepared); Table table = new Table(6, 3, false); RAPage.VBox.PackStart(table, false, false, 0); table.ColumnSpacing = 6; table.RowSpacing = 6; table.BorderWidth = 12; this.AlreadyPrepared = false; Label l = new Label(Util.GS("Enter the Passphrase")); table.Attach(l, 0,3, 0,1, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); l.LineWrap = true; l.Xalign = 0.0F; table.Attach(new Label(""), 0,1, 1,2, AttachOptions.Fill, 0,12,0); l = new Label(Util.GS("_Passphrase:")); table.Attach(l, 1,2, 1,2, AttachOptions.Shrink | AttachOptions.Fill, 0,0,0); l.Xalign = 0.0F; PassPhraseEntry = new Entry(); PassPhraseEntry.Visibility = false; table.Attach(PassPhraseEntry, 2,3, 1,2, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); PassPhraseEntry.Changed += new EventHandler(ChangeSensitivity); l.MnemonicWidget = PassPhraseEntry; RetypePassPhraseLabel = new Label(Util.GS("R_etype the passphrase:")); table.Attach(RetypePassPhraseLabel, 1,2, 2,3, AttachOptions.Shrink | AttachOptions.Fill, 0,0,0); l.Xalign = 0.0F; PassPhraseVerifyEntry = new Entry(); PassPhraseVerifyEntry.Visibility = false; table.Attach(PassPhraseVerifyEntry, 2,3, 2,3, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); PassPhraseVerifyEntry.Changed += new EventHandler(ChangeSensitivity); l.MnemonicWidget = PassPhraseVerifyEntry; RememberPassPhraseCheckButton = new CheckButton(Util.GS("_Remember the passphrase")); table.Attach(RememberPassPhraseCheckButton, 2,3, 3,4, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); SelectRALabel = new Label(Util.GS("Select the Passphrase Recovery Agent")); table.Attach(SelectRALabel, 0,3, 4,5, AttachOptions.Fill | AttachOptions.Expand, 0,0,0); l.LineWrap = true; l.Xalign = 0.0F; RATreeView = new iFolderTreeView (); ScrolledWindow RAScrolledWindow = new ScrolledWindow(); RAScrolledWindow.ShadowType = Gtk.ShadowType.None; RAScrolledWindow.HscrollbarPolicy = Gtk.PolicyType.Automatic; RAScrolledWindow.VscrollbarPolicy = Gtk.PolicyType.Automatic; RAScrolledWindow.Add(RATreeView); RATreeStore = new ListStore(typeof(string)); RATreeView.Model = RATreeStore; TreeViewColumn raNameColumn = new TreeViewColumn(); raNameColumn.Title = Util.GS("Passphrase Recovery Agents"); CellRendererText cr = new CellRendererText(); cr.Xpad = 5; raNameColumn.PackStart(cr, false); raNameColumn.SetCellDataFunc(cr, new TreeCellDataFunc(RANameCellTextDataFunc)); raNameColumn.Resizable = true; raNameColumn.MinWidth = 250; RATreeView.AppendColumn(raNameColumn); RATreeView.Selection.Mode = SelectionMode.Single; table.Attach(RAScrolledWindow, 0,3, 5,7, AttachOptions.Expand | AttachOptions.Fill, 0,0,0); AccountDruid.CancelButton.Sensitive = false; return RAPage; }
/// <summary> /// Setup Dialog - Customize /// </summary> private void SetupDialog() { this.Title = Util.GS("iFolder passphrase"); this.Icon = new Gdk.Pixbuf(Util.ImagesPath("ifolder16.png")); this.HasSeparator = false; // this.BorderWidth = 10; this.SetDefaultSize(450, 100); // this.Resizable = false; this.Modal = true; this.DestroyWithParent = true; this.DefaultResponse = ResponseType.Ok; //----------------------------- // Add iFolderGraphic //----------------------------- HBox imagebox = new HBox(); imagebox.Spacing = 0; iFolderBanner = new Image( new Gdk.Pixbuf(Util.ImagesPath("ifolder-banner.png"))); imagebox.PackStart(iFolderBanner, false, false, 0); ScaledPixbuf = new Gdk.Pixbuf(Util.ImagesPath("ifolder-banner-scaler.png")); iFolderScaledBanner = new Image(ScaledPixbuf); iFolderScaledBanner.ExposeEvent += new ExposeEventHandler(OnBannerExposed); imagebox.PackStart(iFolderScaledBanner, true, true, 0); this.VBox.PackStart(imagebox, false, true, 0); Table table = new Table(8, 3, false); this.VBox.PackStart(table, false, false, 0); table.ColumnSpacing = 6; table.RowSpacing = 6; table.BorderWidth = 12; // Row 1 Label l = new Label(Util.GS("Enter the passphrase") + ":"); table.Attach(l, 0, 3, 0, 1, AttachOptions.Fill | AttachOptions.Expand, 0, 0, 0); l.LineWrap = true; l.Xalign = 0.0F; // Row 2 table.Attach(new Label(""), 0, 1, 1, 2, AttachOptions.Fill, 0, 12, 0); // spacer l = new Label(Util.GS("Domain Name") + ":"); table.Attach(l, 1, 2, 1, 2, AttachOptions.Fill | AttachOptions.Expand, 0, 0, 0); l.LineWrap = true; l.Xalign = 0.0F; DomainInformation info = simws.GetDomainInformation(DomainID); l = new Label(info.Name + " (" + info.Host + ")"); table.Attach(l, 2, 3, 1, 2, AttachOptions.Fill | AttachOptions.Expand, 0, 0, 0); l.LineWrap = true; l.Xalign = 0.0F; // Row 3 table.Attach(new Label(""), 0, 1, 2, 3, AttachOptions.Fill, 0, 12, 0); // spacer l = new Label(Util.GS("_Passphrase:")); table.Attach(l, 1, 2, 2, 3, AttachOptions.Shrink | AttachOptions.Fill, 0, 0, 0); l.Xalign = 0.0F; PassPhraseEntry = new Entry(); PassPhraseEntry.Visibility = false; PassPhraseEntry.Changed += new EventHandler(OnFieldsChanged); table.Attach(PassPhraseEntry, 2, 3, 2, 3, AttachOptions.Fill | AttachOptions.Expand, 0, 0, 0); l.MnemonicWidget = PassPhraseEntry; // Row 4 l = new Label(Util.GS("_Re-type passphrase:")); table.Attach(l, 1, 2, 3, 4, AttachOptions.Shrink | AttachOptions.Fill, 0, 0, 0); l.Xalign = 0.0F; PassPhraseVerifyEntry = new Entry(); PassPhraseVerifyEntry.Visibility = false; PassPhraseVerifyEntry.Changed += new EventHandler(OnFieldsChanged); table.Attach(PassPhraseVerifyEntry, 2, 3, 3, 4, AttachOptions.Fill | AttachOptions.Expand, 0, 0, 0); l.MnemonicWidget = PassPhraseVerifyEntry; // Row 5 savePassPhraseButton = new CheckButton(Util.GS("Remember passphrase")); table.Attach(savePassPhraseButton, 2, 3, 4, 5, AttachOptions.Shrink | AttachOptions.Fill, 0, 0, 0); // Row 6 l = new Label(Util.GS("Select Passphrase Recovery Agent") + ":"); table.Attach(l, 0, 3, 5, 6, AttachOptions.Fill | AttachOptions.Expand, 0, 0, 0); l.LineWrap = true; l.Xalign = 0.0F; // Row 7 RATreeView = new iFolderTreeView(); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.HscrollbarPolicy = Gtk.PolicyType.Automatic; sw.VscrollbarPolicy = Gtk.PolicyType.Automatic; sw.Add(RATreeView); DomainController domainController = DomainController.GetDomainController(); RATreeStore = new ListStore(typeof(string)); RATreeView.Model = RATreeStore; RAList = domainController.GetRAList(DomainID); iFolderWebService ifws = DomainController.GetiFolderService(); TreeIter listiter = TreeIter.Zero; bool selected = false; try{ ifws.ChangePassword(DomainID, null, null); listiter = RATreeStore.AppendValues(Util.GS("Server_Default")); selected = true; } catch { } if (RAList == null) { Debug.PrintLine(" no recovery agent present:"); } else { Debug.PrintLine("Recovery agent present"); } foreach (string raagent in RAList) { Debug.PrintLine(String.Format("raagent:{0}", raagent)); RATreeStore.AppendValues(raagent); } // RA Name Column TreeViewColumn raNameColumn = new TreeViewColumn(); raNameColumn.Title = Util.GS("Recovery Agents"); CellRendererText cr = new CellRendererText(); cr.Xpad = 5; raNameColumn.PackStart(cr, false); raNameColumn.SetCellDataFunc(cr, new TreeCellDataFunc(RANameCellTextDataFunc)); raNameColumn.Resizable = true; raNameColumn.MinWidth = 250; RATreeView.AppendColumn(raNameColumn); RATreeView.Selection.Mode = SelectionMode.Single; table.Attach(sw, 0, 3, 6, 8, AttachOptions.Expand | AttachOptions.Fill, 0, 0, 0); this.VBox.ShowAll(); if (selected) { RATreeView.Selection.SelectIter(listiter); } this.AddButton(Stock.Cancel, ResponseType.Cancel); this.AddButton(Stock.Ok, ResponseType.Ok); this.SetResponseSensitive(ResponseType.Ok, false); this.DefaultResponse = ResponseType.Ok; }
/// <summary> /// Set up the UI inside the Window /// </summary> private void CreateWidgets() { this.SetDefaultSize(500, 400); this.Icon = new Gdk.Pixbuf(Util.ImagesPath("ifolder16.png")); this.WindowPosition = Gtk.WindowPosition.Center; VBox vbox = new VBox(false, 0); this.Add(vbox); vbox.Spacing = 10; vbox.BorderWidth = 10; // Set up the iFolder2.x Accounts tree view in a scrolled window AccTreeView = new iFolderTreeView(); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.Add(AccTreeView); vbox.PackStart(sw, true, true, 0); AccTreeStore = new ListStore(typeof(string)); AccTreeView.Model = AccTreeStore; // User Name Column TreeViewColumn serverColumn = new TreeViewColumn(); serverColumn.Title = Util.GS("User Name"); CellRendererText servercr = new CellRendererText(); servercr.Xpad = 5; serverColumn.PackStart(servercr, false); serverColumn.SetCellDataFunc(servercr, new TreeCellDataFunc(ServerCellTextDataFunc)); serverColumn.Resizable = true; serverColumn.MinWidth = 150; AccTreeView.AppendColumn(serverColumn); // Home Location Column TreeViewColumn nameColumn = new TreeViewColumn(); nameColumn.Title = Util.GS("Home Location"); CellRendererText ncrt = new CellRendererText(); nameColumn.PackStart(ncrt, false); nameColumn.SetCellDataFunc(ncrt, new TreeCellDataFunc(NameCellTextDataFunc)); nameColumn.Resizable = true; nameColumn.MinWidth = 175; AccTreeView.AppendColumn(nameColumn); AccTreeView.Selection.Mode = SelectionMode.Single; AccTreeView.Selection.Changed += new EventHandler(AccSelectionChangedHandler); // Status column TreeViewColumn statusColumn = new TreeViewColumn(); statusColumn.Title = Util.GS("Status"); CellRendererText scrt = new CellRendererText(); statusColumn.PackStart(scrt, false); statusColumn.SetCellDataFunc(scrt, new TreeCellDataFunc(StatusCellTextDataFunc)); statusColumn.Resizable = true; statusColumn.MinWidth = 75; AccTreeView.AppendColumn(statusColumn); HBox buttonBox = new HBox(false, 0); vbox.PackStart(buttonBox, false, false, 0); HelpButton = new Button(Gtk.Stock.Help); buttonBox.PackStart(HelpButton, false, false, 0); this.HelpButton.Clicked += new EventHandler(OnHelpClicked); DetailsButton = new Button(Gtk.Stock.Cancel); buttonBox.PackEnd(DetailsButton, false, false, 0); this.DetailsButton.Clicked += new EventHandler(OnCancelClicked); MigrateButton = new Button("_Migrate"); buttonBox.PackEnd(MigrateButton, false, false, 2); MigrateButton.Clicked += new EventHandler(OnMigrateAccount); }