예제 #1
0
			public StatusProgressFormWrapper(Form fParent, string strTitle,
				bool bCanCancel, bool bMarqueeProgress)
			{
				m_dlg = new StatusProgressForm();
				m_dlg.InitEx(strTitle, bCanCancel, bMarqueeProgress, fParent);

				if(fParent != null) m_dlg.Show(fParent);
				else m_dlg.Show();
			}
예제 #2
0
		public static StatusProgressForm ConstructEx(string strTitle,
			bool bCanCancel, bool bMarqueeProgress, Form fOwner,
			string strInitialOp)
		{
			StatusProgressForm dlg = new StatusProgressForm();
			dlg.InitEx(strTitle, bCanCancel, bMarqueeProgress, fOwner);

			if(fOwner != null) dlg.Show(fOwner);
			else dlg.Show();

			dlg.StartLogging(strInitialOp, false);

			return dlg;
		}
예제 #3
0
        public static StatusProgressForm ConstructEx(string strTitle,
                                                     bool bCanCancel, bool bMarqueeProgress, Form fOwner,
                                                     string strInitialOp)
        {
            StatusProgressForm dlg = new StatusProgressForm();

            dlg.InitEx(strTitle, bCanCancel, bMarqueeProgress, fOwner);

            if (fOwner != null)
            {
                dlg.Show(fOwner);
            }
            else
            {
                dlg.Show();
            }

            dlg.StartLogging(strInitialOp, false);

            return(dlg);
        }
        /// <summary>
        /// Downloads some favicons.
        /// </summary>
        /// <param name="entries">The entries.</param>
        private void downloadSomeFavicons(KeePassLib.Collections.PwObjectList<PwEntry> entries)
        {
            StatusProgressForm progressForm = new StatusProgressForm();

            progressForm.InitEx("Downloading Favicons", true, false, m_host.MainWindow);
            progressForm.Show();
            progressForm.SetProgress(0);

            float progress = 0;
            float outputLength = (float)entries.UCount;
            int downloadsCompleted = 0;
            string errorMessage = "";
            int errorCount = 0;

            foreach (PwEntry pwe in entries)
            {
                string message = "";
                downloadOneFavicon(pwe, ref message);
                if (message != "")
                {
                    errorMessage = message;
                    errorCount++;
                }

                downloadsCompleted++;
                progress = (downloadsCompleted / outputLength) * 100;
                progressForm.SetProgress((uint)Math.Floor(progress));
                System.Threading.Thread.Sleep(100);
                if (progressForm.UserCancelled)
                    break;
            }

            progressForm.Hide();
            progressForm.Close();

            if (errorMessage != "")
            {
                if (errorCount == 1)
                    MessageBox.Show(errorMessage, "Download error");
                else
                    MessageBox.Show(errorCount + " errors occurred. The last error message is shown here. To see the other messages, select a smaller group of entries and use the right click menu to start the download. " + errorMessage, "Download errors");
            }

            m_host.MainWindow.UpdateUI(false, null, false, null,
                true, null, true);
            m_host.MainWindow.UpdateTrayIcon();
        }
예제 #5
0
		private StatusProgressForm ConstructStatusDialog()
		{
			StatusProgressForm dlg = new StatusProgressForm();
			dlg.InitEx(m_strTitle, false, true, m_bUseThread ? null : m_fOwner);
			dlg.Show();
			dlg.StartLogging(null, false);
			dlg.SetProgress(m_uProgress);

			MainForm mfOwner = ((m_fOwner != null) ? (m_fOwner as MainForm) : null);
			if((m_bUseThread == false) && (mfOwner != null))
			{
				mfOwner.RedirectActivationPush(dlg);
				mfOwner.UIBlockInteraction(true);
			}

			return dlg;
		}
예제 #6
0
        private static StatusProgressForm BeginStatusDialog(string strText)
        {
            StatusProgressForm dlg = new StatusProgressForm();
            dlg.InitEx(PwDefs.ShortProductName, false, true, null);
            dlg.Show();
            dlg.StartLogging(strText ?? string.Empty, false);

            return dlg;
        }