Inheritance: IProgressStatus, IDisposable
		void Install ()
		{
			btnPrev.Sensitive = false;
			btnNext.Sensitive = false;
			
			string txt;
			string okmessage;
			string errmessage;
			
			installMonitor = new InstallMonitor (progressLabel, progressBar, mainProgressBar);
			ThreadStart oper;
				
			if (uninstallId == null) {
				oper = new ThreadStart (RunInstall);
				okmessage = Catalog.GetString ("The installation has been successfully completed.");
				errmessage = Catalog.GetString ("The installation failed!");
			} else {
				oper = new ThreadStart (RunUninstall);
				okmessage = Catalog.GetString ("The uninstallation has been successfully completed.");
				errmessage = Catalog.GetString ("The uninstallation failed!");
			}
			
			Thread t = new Thread (oper);
			t.Start ();
			
			installing = true;
			installMonitor.WaitForCompleted ();
			installing = false;
			
			wizardNotebook.NextPage ();

			if (installMonitor.Success) {
				imageError.Visible = false;
				imageInfo.Visible = true;
				txt = "<b>" + okmessage + "</b>\n\n";
			} else {
				imageError.Visible = true;
				imageInfo.Visible = false;
				txt = "<span foreground=\"red\"><b>" + errmessage + "</b></span>\n\n";
				foreach (string s in installMonitor.Errors)
					txt += s + "\n";
			}
			
			labelResult.Markup = txt;
			OnPageChanged ();
		}
Beispiel #2
0
        void Install()
        {
            btnPrev.Sensitive = false;
            btnNext.Sensitive = false;

            string txt;
            string okmessage;
            string errmessage;
            string warnmessage;

            installMonitor = new InstallMonitor(progressLabel, progressBar, mainProgressBar);
            ThreadStart oper;

            if (uninstallId == null)
            {
                oper        = new ThreadStart(RunInstall);
                okmessage   = Catalog.GetString("The installation has been successfully completed.");
                errmessage  = Catalog.GetString("The installation failed!");
                warnmessage = Catalog.GetString("The installation has completed with warnings.");
            }
            else
            {
                oper        = new ThreadStart(RunUninstall);
                okmessage   = Catalog.GetString("The uninstallation has been successfully completed.");
                errmessage  = Catalog.GetString("The uninstallation failed!");
                warnmessage = Catalog.GetString("The uninstallation has completed with warnings.");
            }

            Thread t = new Thread(oper);

            t.Start();

            installing = true;
            installMonitor.WaitForCompleted();
            installing = false;

            wizardNotebook.NextPage();

            if (installMonitor.Success && installMonitor.Warnings.Count == 0)
            {
                imageWarn.Visible  = false;
                imageError.Visible = false;
                imageInfo.Visible  = true;
                txt = "<b>" + okmessage + "</b>\n\n";
            }
            else if (installMonitor.Success)
            {
                imageWarn.Visible  = true;
                imageInfo.Visible  = false;
                imageError.Visible = false;
                txt = "<b>" + warnmessage + "</b>\n\n";
                foreach (string s in installMonitor.Warnings)
                {
                    txt += GLib.Markup.EscapeText(s) + "\n";
                }
            }
            else
            {
                imageWarn.Visible  = false;
                imageInfo.Visible  = false;
                imageError.Visible = true;
                txt = "<span foreground=\"red\"><b>" + errmessage + "</b></span>\n\n";
                foreach (string s in installMonitor.Errors)
                {
                    txt += GLib.Markup.EscapeText(s) + "\n";
                }
            }

            labelResult.Markup = txt;
            OnPageChanged();
        }
		void FillSummaryPage ()
		{
			btnPrev.Sensitive = true;
			
			AddinHeader[] infos = tree.GetSelectedAddins ();
			PackageCollection packs = new PackageCollection ();
			foreach (AddinHeader info in infos) {
				AddinRepositoryEntry arep = (AddinRepositoryEntry) tree.GetAddinData (info);
				packs.Add (Package.FromRepository (arep));
			}
			
			packagesToInstall = new PackageCollection (packs);
			
			PackageCollection toUninstall;
			DependencyCollection unresolved;
			bool res;
			
			InstallMonitor m = new InstallMonitor ();
			res = service.ResolveDependencies (m, packs, out toUninstall, out unresolved);
			
			StringBuilder sb = new StringBuilder ();
			if (!res) {
				sb.Append (Catalog.GetString ("<b><span foreground=\"red\">The selected add-ins can't be installed because there are dependency conflicts.</span></b>\n"));
				foreach (string s in m.Errors) {
					sb.Append (Catalog.GetString ("<b><span foreground=\"red\">" + s + "</span></b>\n"));
				}
				sb.Append ("\n");
			}
			
			if (m.Warnings.Count != 0) {
				foreach (string w in m.Warnings) {
					sb.Append (Catalog.GetString ("<b><span foreground=\"red\">" + w + "</span></b>\n"));
				}
				sb.Append ("\n");
			}
			
			sb.Append (Catalog.GetString ("<b>The following packages will be installed:</b>\n\n"));
			foreach (Package p in packs) {
				sb.Append (p.Name);
				if (!p.SharedInstall)
					sb.Append (Catalog.GetString (" (in user directory)"));
				sb.Append ("\n");
			}
			sb.Append ("\n");
			
			if (toUninstall.Count > 0) {
				sb.Append (Catalog.GetString ("<b>The following packages need to be uninstalled:</b>\n\n"));
				foreach (Package p in toUninstall) {
					sb.Append (p.Name + "\n");
				}
				sb.Append ("\n");
			}
			
			if (unresolved.Count > 0) {
				sb.Append (Catalog.GetString ("<b>The following dependencies could not be resolved:</b>\n\n"));
				foreach (Dependency p in unresolved) {
					sb.Append (p.Name + "\n");
				}
				sb.Append ("\n");
			}
			btnNext.Sensitive = res;
			labelSummary.Markup = sb.ToString ();
		}
Beispiel #4
0
        void FillSummaryPage()
        {
            btnPrev.Sensitive = true;

            AddinHeader[]     infos = tree.GetSelectedAddins();
            PackageCollection packs = new PackageCollection();

            foreach (AddinHeader info in infos)
            {
                AddinRepositoryEntry arep = (AddinRepositoryEntry)tree.GetAddinData(info);
                packs.Add(Package.FromRepository(arep));
            }

            packagesToInstall = new PackageCollection(packs);

            PackageCollection    toUninstall;
            DependencyCollection unresolved;
            bool res;

            InstallMonitor m = new InstallMonitor();

            res = service.ResolveDependencies(m, packs, out toUninstall, out unresolved);

            StringBuilder sb = new StringBuilder();

            if (!res)
            {
                sb.Append("<b><span foreground=\"red\">").Append(Catalog.GetString("The selected extensions can't be installed because there are dependency conflicts.")).Append("</span></b>\n");
                foreach (string s in m.Errors)
                {
                    sb.Append("<b><span foreground=\"red\">" + s + "</span></b>\n");
                }
                sb.Append("\n");
            }

            if (m.Warnings.Count != 0)
            {
                foreach (string w in m.Warnings)
                {
                    sb.Append("<b><span foreground=\"red\">" + w + "</span></b>\n");
                }
                sb.Append("\n");
            }

            sb.Append("<b>").Append(Catalog.GetString("The following packages will be installed:")).Append("</b>\n\n");
            foreach (Package p in packs)
            {
                sb.Append(p.Name);
                if (!p.SharedInstall)
                {
                    sb.Append(Catalog.GetString(" (in user directory)"));
                }
                sb.Append("\n");
            }
            sb.Append("\n");

            if (toUninstall.Count > 0)
            {
                sb.Append("<b>").Append(Catalog.GetString("The following packages need to be uninstalled:")).Append("</b>\n\n");
                foreach (Package p in toUninstall)
                {
                    sb.Append(p.Name + "\n");
                }
                sb.Append("\n");
            }

            if (unresolved.Count > 0)
            {
                sb.Append("<b>").Append(Catalog.GetString("The following dependencies could not be resolved:")).Append("</b>\n\n");
                foreach (Dependency p in unresolved)
                {
                    sb.Append(p.Name + "\n");
                }
                sb.Append("\n");
            }
            btnNext.Sensitive   = res;
            labelSummary.Markup = sb.ToString();
        }
Beispiel #5
0
		void FillSummaryPage ()
		{
			PackageCollection packs = new PackageCollection ();
			
			if (filesToInstall != null) {
				foreach (string file in filesToInstall) {
					packs.Add (Package.FromFile (file));
				}
			}
			else {
				foreach (AddinRepositoryEntry arep in addinsToInstall) {
					packs.Add (Package.FromRepository (arep));
				}
			}
			
			packagesToInstall = new PackageCollection (packs);
			
			PackageCollection toUninstall;
			DependencyCollection unresolved;
			bool res;
			
			InstallMonitor m = new InstallMonitor ();
			res = service.ResolveDependencies (m, packs, out toUninstall, out unresolved);
			
			StringBuilder sb = new StringBuilder ();
			if (!res) {
				sb.Append ("<b><span foreground=\"red\">").Append (Catalog.GetString ("The selected add-ins can't be installed because there are dependency conflicts.")).Append ("</span></b>\n");
				foreach (string s in m.Errors) {
					sb.Append ("<b><span foreground=\"red\">" + s + "</span></b>\n");
				}
				sb.Append ("\n");
			}
			
			if (m.Warnings.Count != 0) {
				foreach (string w in m.Warnings) {
					sb.Append ("<b><span foreground=\"red\">" + w + "</span></b>\n");
				}
				sb.Append ("\n");
			}
			
			sb.Append ("<b>").Append (Catalog.GetString ("The following packages will be installed:")).Append ("</b>\n\n");
			foreach (Package p in packs) {
				sb.Append (p.Name);
				if (!p.SharedInstall)
					sb.Append (Catalog.GetString (" (in user directory)"));
				sb.Append ("\n");
			}
			sb.Append ("\n");
			
			if (toUninstall.Count > 0) {
				sb.Append ("<b>").Append (Catalog.GetString ("The following packages need to be uninstalled:")).Append ("</b>\n\n");
				foreach (Package p in toUninstall) {
					sb.Append (p.Name + "\n");
				}
				sb.Append ("\n");
			}
			
			if (unresolved.Count > 0) {
				sb.Append ("<b>").Append (Catalog.GetString ("The following dependencies could not be resolved:")).Append ("</b>\n\n");
				foreach (Dependency p in unresolved) {
					sb.Append (p.Name + "\n");
				}
				sb.Append ("\n");
			}
			buttonOk.Sensitive = res;
			ShowMessage (sb.ToString ());
		}
Beispiel #6
0
		void Install ()
		{
			insSeparator.Visible = true;
			boxProgress.Visible = true;
			buttonOk.Sensitive = false;
			
			string txt;
			string errmessage;
			string warnmessage;
			
			ThreadStart oper;
				
			if (uninstallIds == null) {
				installMonitor = new InstallMonitor (globalProgressLabel, mainProgressBar, Catalog.GetString ("Installing Add-ins"));
				oper = new ThreadStart (RunInstall);
				errmessage = Catalog.GetString ("The installation failed!");
				warnmessage = Catalog.GetString ("The installation has completed with warnings.");
			} else {
				installMonitor = new InstallMonitor (globalProgressLabel, mainProgressBar, Catalog.GetString ("Uninstalling Add-ins"));
				oper = new ThreadStart (RunUninstall);
				errmessage = Catalog.GetString ("The uninstallation failed!");
				warnmessage = Catalog.GetString ("The uninstallation has completed with warnings.");
			}
			
			installing = true;
			oper ();
			installing = false;
			
			buttonCancel.Visible = false;
			buttonOk.Label = Gtk.Stock.Close;
			buttonOk.UseStock = true;
			
			if (installMonitor.Success && installMonitor.Warnings.Count == 0) {
				Respond (Gtk.ResponseType.Ok);
				return;
			} else if (installMonitor.Success) {
				txt = "<b>" + warnmessage + "</b>\n\n";
				foreach (string s in installMonitor.Warnings)
					txt += GLib.Markup.EscapeText (s) + "\n";
				response = Gtk.ResponseType.Ok;
				buttonOk.Sensitive = true;
			} else {
				buttonCancel.Label = Gtk.Stock.Close;
				buttonCancel.UseStock = true;
				txt = "<span foreground=\"red\"><b>" + errmessage + "</b></span>\n\n";
				foreach (string s in installMonitor.Errors)
					txt += GLib.Markup.EscapeText (s) + "\n";
				response = Gtk.ResponseType.Cancel;
				buttonOk.Sensitive = true;
			}
			
			ShowMessage (txt);
		}
Beispiel #7
0
        void Install()
        {
            insSeparator.Visible = true;
            boxProgress.Visible  = true;
            buttonOk.Sensitive   = false;

            string txt;
            string errmessage;
            string warnmessage;

            ThreadStart oper;

            if (uninstallIds == null)
            {
                installMonitor = new InstallMonitor(globalProgressLabel, mainProgressBar, Catalog.GetString("Installing Extension Packages"));
                oper           = new ThreadStart(RunInstall);
                errmessage     = Catalog.GetString("The installation failed!");
                warnmessage    = Catalog.GetString("The installation has completed with warnings.");
            }
            else
            {
                installMonitor = new InstallMonitor(globalProgressLabel, mainProgressBar, Catalog.GetString("Uninstalling Extension Packages"));
                oper           = new ThreadStart(RunUninstall);
                errmessage     = Catalog.GetString("The uninstallation failed!");
                warnmessage    = Catalog.GetString("The uninstallation has completed with warnings.");
            }

            installing = true;
            oper();
            installing = false;

            buttonCancel.Visible = false;
            buttonOk.Label       = Gtk.Stock.Close;
            buttonOk.UseStock    = true;

            if (installMonitor.Success && installMonitor.Warnings.Count == 0)
            {
                Respond(Gtk.ResponseType.Ok);
                return;
            }
            else if (installMonitor.Success)
            {
                txt = "<b>" + warnmessage + "</b>\n\n";
                foreach (string s in installMonitor.Warnings)
                {
                    txt += GLib.Markup.EscapeText(s) + "\n";
                }
                response           = Gtk.ResponseType.Ok;
                buttonOk.Sensitive = true;
            }
            else
            {
                buttonCancel.Label    = Gtk.Stock.Close;
                buttonCancel.UseStock = true;
                txt = "<span foreground=\"red\"><b>" + errmessage + "</b></span>\n\n";
                foreach (string s in installMonitor.Errors)
                {
                    txt += GLib.Markup.EscapeText(s) + "\n";
                }
                response           = Gtk.ResponseType.Cancel;
                buttonOk.Sensitive = true;
            }

            ShowMessage(txt);
        }
Beispiel #8
0
        void FillSummaryPage()
        {
            PackageCollection packs = new PackageCollection();

            if (filesToInstall != null)
            {
                foreach (string file in filesToInstall)
                {
                    packs.Add(Package.FromFile(file));
                }
            }
            else
            {
                foreach (AddinRepositoryEntry arep in addinsToInstall)
                {
                    packs.Add(Package.FromRepository(arep));
                }
            }

            packagesToInstall = new PackageCollection(packs);

            PackageCollection    toUninstall;
            DependencyCollection unresolved;
            bool res;

            InstallMonitor m = new InstallMonitor();

            res = service.ResolveDependencies(m, packs, out toUninstall, out unresolved);

            StringBuilder sb = new StringBuilder();

            if (!res)
            {
                sb.Append("<b><span foreground=\"red\">").Append(Catalog.GetString("The selected extension packages can't be installed because there are dependency conflicts.")).Append("</span></b>\n");
                foreach (string s in m.Errors)
                {
                    sb.Append("<b><span foreground=\"red\">" + s + "</span></b>\n");
                }
                sb.Append("\n");
            }

            if (m.Warnings.Count != 0)
            {
                foreach (string w in m.Warnings)
                {
                    sb.Append("<b><span foreground=\"red\">" + w + "</span></b>\n");
                }
                sb.Append("\n");
            }

            sb.Append("<b>").Append(Catalog.GetString("The following packages will be installed:")).Append("</b>\n\n");
            foreach (Package p in packs)
            {
                sb.Append(p.Name);
                if (!p.SharedInstall)
                {
                    sb.Append(Catalog.GetString(" (in user directory)"));
                }
                sb.Append("\n");
            }
            sb.Append("\n");

            if (toUninstall.Count > 0)
            {
                sb.Append("<b>").Append(Catalog.GetString("The following packages need to be uninstalled:")).Append("</b>\n\n");
                foreach (Package p in toUninstall)
                {
                    sb.Append(p.Name + "\n");
                }
                sb.Append("\n");
            }

            if (unresolved.Count > 0)
            {
                sb.Append("<b>").Append(Catalog.GetString("The following dependencies could not be resolved:")).Append("</b>\n\n");
                foreach (Dependency p in unresolved)
                {
                    sb.Append(p.Name + "\n");
                }
                sb.Append("\n");
            }
            buttonOk.Sensitive = res;
            ShowMessage(sb.ToString());
        }