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