public void PopulateBibleCacheTab() { Extensions.Set available = new Extensions.Set(); Extensions.Set cached = new Extensions.Set(); BiblesAvailable_listEx.Items.Clear(); BiblesCached_listEx.Items.Clear(); foreach (string book in _MainForm.bibles.Translations()) { cached.Add(book); BiblesCached_listEx.Add(book, 1); } foreach (string book in SwordW.Instance().getBibles()) { available.Add(book); } available = available - cached; foreach (string book in available.Keys) { BiblesAvailable_listEx.Add(book, 0); } }
private void swordWorker_RunWorkerCompleted( object sender, RunWorkerCompletedEventArgs e) { bool added; // First, handle the case where an exception was thrown. if (e.Error != null) { MessageBox.Show(e.Error.Message); added = false; } else if (e.Cancelled) { // Next, handle the case where the user canceled // the operation. // Note that due to a race condition in // the DoWork event handler, the Cancelled // flag may not have been set, even though // CancelAsync was called. added = false; } else { // Finally, handle the case where the operation // succeeded. // e.Result.ToString(); added = (bool)e.Result; } if (added) { int Index = BiblesAvailable_listEx.SelectedIndex; string tr = BiblesAvailable_listEx.Items[Index].ToString(); BiblesAvailable_listEx.Remove(Index); _MainForm.BibleText_Translations_Populate(); BiblesCached_listEx.Add(tr, 1); } BibleCache_progressBar.Value = BibleCache_progressBar.Maximum; BibleCache_Message.Visible = false; BibleCache_progressBar.Visible = false; }