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 ();
}