public AddinInfoView() { Builder builder = new Gtk.Builder (null, "Mono.Addins.GuiGtk3.interfaces.AddinInfoView.ui", null); builder.Autoconnect (this); Add ((Box) builder.GetObject ("AddinInfoView")); AllowInstall = true; titleWidth = labelName.SizeRequest ().Width; HeaderBox hb = new HeaderBox (1,1,1,1); hb.Show (); hb.Replace (this); hb = new HeaderBox (1,0,0,0); hb.SetPadding (6,6,6,6); hb.Show (); hb.GradientBackround = true; hb.Replace (eboxButs); hb = new HeaderBox (0,1,0,0); hb.SetPadding (6,6,6,6); hb.Show (); hb.GradientBackround = true; hb.Replace (boxHeader); topHeaderBox = hb; //Enable our buttons for clicking btnDisable.Clicked += OnBtnDisableClicked; btnInstall.Clicked += OnBtnInstallClicked; btnUninstall.Clicked += OnBtnUninstallClicked; btnUpdate.Clicked += OnBtnUpdateClicked; urlButton.Clicked += OnUrlButtonClicked; ShowAll (); }
public AddinManagerDialog(Builder builder, IntPtr handle) : base(handle) { builder.Autoconnect (this); // TransientFor = parent; // HasSeparator = false; addininfoInstalled = new AddinInfoView (); addininfoInstalled.InstallClicked += OnInstallClicked; addininfoInstalled.UninstallClicked += OnUninstallClicked; addininfoInstalled.UpdateClicked += OnUpdateClicked; addininfoInstalled.EnableDisableClicked += OnEnableDisableClicked; eventbox2.Child = addininfoInstalled; addininfoGallery = new AddinInfoView (); addininfoGallery.InstallClicked += OnInstallClicked; addininfoGallery.UninstallClicked += OnUninstallClicked; addininfoGallery.UpdateClicked += OnUpdateClicked; addininfoGallery.EnableDisableClicked += OnEnableDisableClicked; eventbox1.Child = addininfoGallery; addininfoUpdates = new AddinInfoView (); addininfoUpdates.InstallClicked += OnInstallClicked; addininfoUpdates.UninstallClicked += OnUninstallClicked; addininfoUpdates.UpdateClicked += OnUpdateClicked; addininfoUpdates.EnableDisableClicked += OnEnableDisableClicked; eventbox3.Child = addininfoUpdates; // Services.PlaceDialog (this, parent); Show (); addininfoInstalled.Init (service); addininfoGallery.Init (service); addinTree.Selection.Mode = SelectionMode.Multiple; tree = new AddinTreeWidget (addinTree); addinTree.Selection.Changed += OnSelectionChanged; tree.VersionVisible = false; galleryTreeView.Selection.Mode = SelectionMode.Multiple; galleryTree = new AddinTreeWidget (galleryTreeView); galleryTree.VersionVisible = false; galleryTree.ShowInstalledMarkers = true; galleryTreeView.Selection.Changed += OnGallerySelectionChanged; updatesTreeView.Selection.Mode = SelectionMode.Multiple; updatesTree = new AddinTreeWidget (updatesTreeView); updatesTree.VersionVisible = false; updatesTree.ShowCategories = false; updatesTree.ShowInstalledMarkers = true; updatesTreeView.Selection.Changed += OnGallerySelectionChanged; //Wiring more buttons buttonUpdateAll.Clicked += OnUpdateAll; buttonRefreshUpdates.Clicked += OnButtonRefreshClicked; buttonRefresh.Clicked += OnButtonRefreshClicked; buttonInstallFromFile.Clicked += OnButtonInstallFromFileClicked; repoCombo.Changed += OnRepoComboChanged; repoStore = new ListStore (typeof(string), typeof(string)); repoCombo.Model = repoStore; CellRendererText crt = new CellRendererText (); repoCombo.PackStart (crt, true); repoCombo.AddAttribute (crt, "text", 0); repoCombo.RowSeparatorFunc = delegate(ITreeModel model, TreeIter iter) { string val = (string) model.GetValue (iter, 0); return val == "---"; }; // Make sure the tree has the focus when switching tabs vboxUpdates.FocusChain = new Widget [] { scrolledUpdates, eboxRepoUpdates }; vboxGallery.FocusChain = new Widget [] { scrolledGallery, eboxRepo }; // Improve the look of the headers HBox tab = new HBox (false, 3); tab.PackStart (new Image (Gdk.Pixbuf.LoadFromResource ("plugin-22.png")), false, false, 0); installedTabLabel = new Label (Catalog.GetString ("Installed")); tab.PackStart (installedTabLabel, true, true, 0); tab.BorderWidth = 3; tab.ShowAll (); notebook.SetTabLabel (notebook.GetNthPage (0), tab); tab = new HBox (false, 3); tab.PackStart (new Image (Gdk.Pixbuf.LoadFromResource ("plugin-update-22.png")), false, false, 0); updatesTabLabel = new Label (Catalog.GetString ("Updates")); tab.PackStart (updatesTabLabel, true, true, 0); tab.BorderWidth = 3; tab.ShowAll (); notebook.SetTabLabel (notebook.GetNthPage (1), tab); tab = new HBox (false, 3); tab.PackStart (new Image (Gdk.Pixbuf.LoadFromResource ("update-16.png")), false, false, 0); galleryTabLabel = new Label (Catalog.GetString ("Gallery")); tab.PackStart (galleryTabLabel, true, true, 0); tab.BorderWidth = 3; tab.ShowAll (); notebook.SetTabLabel (notebook.GetNthPage (2), tab); // Gradient header for the updates and gallery tabs HeaderBox hb = new HeaderBox (1, 0, 1, 1); hb.SetPadding (6,6,6,6); hb.GradientBackround = true; hb.Show (); hb.Replace (eboxRepo); hb = new HeaderBox (1, 0, 1, 1); hb.SetPadding (6,6,6,6); hb.GradientBackround = true; hb.Show (); hb.Replace (eboxRepoUpdates); InsertFilterEntry (); FillRepos (); repoCombo.Active = 0; LoadAll (); ShowAll (); }