private void btnRenameCat_Click(object sender, EventArgs e) { if (ixItemSelected < 1) { return; } string catname = _categories.Items[ixItemSelected].ToString(); Prompt p = new Prompt(); p.Text = Loc.Get("Rename category"); p.lblPrompt.Text = Loc.Get("Please enter a new name for the category:"); if (p.ShowDialog() == DialogResult.OK) { string newname = p._input.Text; if (newname != "") { if (_categories.Items.Contains(newname)) { MessageBox.Show(Loc.Get("Name is already in use"), Loc.Get("Error")); return; } PhotoInfo.RenameCategory(catname, newname); LoadCategories(); // refresh the list // update the current category for the photo prevew container photoPreviewContainer1.CurrentCategory = newname; } } }
private void UpdateInfoLabel() { if (proj != null) { lblInfo.Text = String.Format(Loc.Get("Slide {0} of {1}"), proj.currentSlideNum + 1, proj.songSlides.Count); } }
static void Main() { Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); Application.ThreadExit += new EventHandler(Application_ThreadExit); // Single instance only Program.onlyOne = new Mutex(true, "SingleInstanceEPresenter"); if (!Program.onlyOne.WaitOne(0, false)) { MessageBox.Show(Loc.Get("ePresenter is already running"), "ePresenter"); try { Process[] p = System.Diagnostics.Process.GetProcessesByName("LaunchEP"); if (p.Length > 0) { p[0].Kill(); } } catch { /*System.Diagnostics.Trace.WriteLine("Failed to close the splash");*/ } return; } Program.ConfigHelper = new ConfigHelper(); global::EmpowerPresenter.Properties.Resources.Culture = new System.Globalization.CultureInfo(Program.ConfigHelper.CurrentLanguage); System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Program.ConfigHelper.CurrentLanguage); Loc.culture = Program.ConfigHelper.CurrentLanguage; Application.EnableVisualStyles(); Program.Presenter = new Main(); Application.Run(Program.Presenter); }
private void llAttachPPT_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (currentSong == null || Type.GetTypeFromProgID("PowerPoint.Application") == null) { return; } try { Program.Presenter.BeginExKeyOwner(); OpenFileDialog f = new OpenFileDialog(); f.Title = Loc.Get("Select PowerPoint presentation"); f.Filter = Loc.Get("PowerPoint presentation") + " (*.ppt;*.pps;*.pot)| *.ppt;*.pps;*.pot"; if (f.ShowDialog() == DialogResult.Yes && File.Exists(f.FileName)) { currentSong.DisplayDefault = false; currentSong.Location = f.FileName; Data.Songs.AddUpdateSong(currentSong); currentSong.AcceptChanges(); llAttachPPT.Visible = false; llDetach.Visible = true; } } finally { Program.Presenter.EndExKeyOwner(); } }
////////////////////////////////////////////////////////////////////////////// public DisplayEngine() { SetStyle(ControlStyles.ResizeRedraw, true); SetStyle(ControlStyles.DoubleBuffer, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); SetStyle(ControlStyles.UserPaint, true); if (Form.ModifierKeys == Keys.Control) { windowMode = true; } InitializeComponent(); cm = new ContextMenu(); cm.MenuItems.Add(Loc.Get("Hide"), delegate { this.HideDisplay(); }); this.ContextMenu = cm; this.TopMost = false; this.VisibleChanged += new EventHandler(DisplayEngine_VisibleChanged); this.FormClosing += new FormClosingEventHandler(ImageDisplayer_FormClosing); Microsoft.Win32.SystemEvents.DisplaySettingsChanged += new EventHandler(SystemEvents_DisplaySettingsChanged); // Anmiation t.Interval = 100; t.Tick += new EventHandler(t_Tick); // Configuration Properties.Settings.Default.PropertyChanged += new PropertyChangedEventHandler(OnPropertyChanged); }
private int PaintSong(Graphics g) { int w = this.Width; if (w > 350) { w = 350; } int cx = (int)(((double)this.Width - w) / 2); int margin = 5; int itemSpacing = 4; int cy = margin; for (int i = 0; i < lSongVerses.Count; i++) { // Build the item to paint SongVerse sv = lSongVerses[i]; string s = ""; if (i == 0) { s += songnum + ". "; } if (sv.IsChorus) { s += Loc.Get("Chorus:") + " "; } else { if (i != 0) { s += sv.VerseNumber + ". "; } } s += sv.Text; // Measure string int h = (int)g.MeasureString(s, this.Font, w).Height; int xadjust = 0; if (sv.IsChorus) // Chorus indent { w -= 15; xadjust = 15; } Rectangle r = new Rectangle(cx + xadjust, cy, w, h); // Measure and fill highlights StringFormat sf = new StringFormat(); sf.SetMeasurableCharacterRanges(SearchHelper.FindCharacterRanges(s, searchTerms)); foreach (Region rg in g.MeasureCharacterRanges(s, this.Font, r, sf)) { g.FillRegion(new SolidBrush(Color.FromArgb(100, Color.Yellow)), rg); } g.DrawString(s, this.Font, Brushes.Black, r); cy += h + itemSpacing; } return(cy); }
private void btnClose_Click(object sender, EventArgs e) { if (proj.dirty && MessageBox.Show(this, Loc.Get("Project not saved. Save now?"), Loc.Get("Warning"), MessageBoxButtons.YesNo) == DialogResult.Yes) { btnSave_Click(null, null); } proj.CloseProject(); }
public DemoVersionOnly(string featureName) { InitializeComponent(); t.Interval = 3000; t.Tick += new EventHandler(t_Tick); t.Start(); lblFeature.Text = Loc.Get(featureName); Program.Presenter.RegisterExKeyOwnerForm(this); }
private void UpdateInfoLabel() { if (proj == null || proj.currentIndex == -1 || proj.names.Count == 0) { lblInfo.Text = Loc.Get("Preview:"); } else { lblInfo.Text = proj.names[proj.currentIndex]; } }
private void txtChorus_Validating(object sender, System.ComponentModel.CancelEventArgs e) { if (txtChorus.Text.IndexOfAny(new char[] { '*', '"', '%' }) != -1) { errorProvider1.SetError(txtChorus, Loc.Get("Contains at least one of the invalid characters:") + " * \" %"); } else { errorProvider1.SetError(txtChorus, ""); } }
private void llDeleteProj_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (currentProject == null) { return; } if (MessageBox.Show(this, Loc.Get("Are you sure you want to delete?"), Loc.Get("Warning"), MessageBoxButtons.YesNo) == DialogResult.Yes) { ScrollerStore ss = new ScrollerStore(); ss.DeleteAnouncement(currentProject.name); this.LoadProjList(); UpdateUI(); } }
private void btnUnlink_Click(object sender, EventArgs e) { if (ppiCurrent == null) { return; } string txt = Loc.Get("Are you sure you want to remove the image from the current category") + "?"; if (MessageBox.Show(this, txt, Loc.Get("Warning"), MessageBoxButtons.YesNo) == DialogResult.Yes) { PhotoInfo.RemoveImageFromCat(ppiCurrent.PhotoInfo.ImageId, photoPreviewContainer1.CurrentCategory); photoPreviewContainer1.Controls.Remove(ppiCurrent); } }
private void btnRemoveCat_Click(object sender, EventArgs e) { if (ixItemSelected < 1) { return; } string catname = _categories.Items[ixItemSelected].ToString(); string txt = Loc.Get("Are you sure you want to remove the selected category:") + " "; if (MessageBox.Show(this, txt + catname + "?", Loc.Get("Warning"), MessageBoxButtons.YesNo) == DialogResult.Yes) { PhotoInfo.RemoveCategory(catname); LoadCategories(); // refresh the list } }
private void btnAdd_Click(object sender, EventArgs e) { try { Program.Presenter.BeginExKeyOwner(); OpenFileDialog f = new OpenFileDialog(); f.Title = Loc.Get("Select image to add"); f.Multiselect = true; f.Filter = Loc.Get("Supported formats") + " | *.jpg;*.png;*.bmp;*.gif | JPEG | *.jpg | GIF | *.gif | PNG | *.png | BMP | *.bmp"; if (f.ShowDialog() == DialogResult.OK) { proj.AddFiles(f.FileNames); } } finally { Program.Presenter.EndExKeyOwner(); } }
private void _OK_Click(object sender, System.EventArgs e) { string[] cats = PhotoInfo.GetCatList(); foreach (string cat in cats) { if (cat == _name.Text) { MessageBox.Show(this, Loc.Get("Category already exists"), Loc.Get("Error")); return; } } PhotoInfo.AddCategory(_name.Text); DialogResult = DialogResult.OK; this.Close(); }
private void txtName_TextChanged(object sender, EventArgs e) { CancelEventArgs a = new CancelEventArgs(); if (ValidateName != null) { ValidateName(txtName.Text, a); } if (a.Cancel) { errorProvider1.SetError(txtName, Loc.Get("A project with this name already exists")); btnOK.Enabled = false; } else { errorProvider1.SetError(txtName, ""); btnOK.Enabled = true; } }
// Display Settings private void llAttachPPT_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (currentRow == null) { return; } OpenFileDialog f = new OpenFileDialog(); Program.Presenter.BeginExKeyOwner(); f.Title = Loc.Get("Select PowerPoint presentation"); f.Filter = Loc.Get("PowerPoint presentation") + " (*.ppt;*.pps;*.pot)| *.ppt;*.pps;*.pot"; if (f.ShowDialog() == DialogResult.Yes && File.Exists(f.FileName)) { currentRow.DisplayDefault = false; currentRow.Location = f.FileName; } Program.Presenter.EndExKeyOwner(); }
private void deleteToolStripMenuItem_Click(object sender, EventArgs e) { if (currentSong == null) { return; } DialogResult result = MessageBox.Show(this, Loc.Get("Are you sure you want to delete") + " " + currentSong.Number + " - " + currentSong.Title + "?", Loc.Get("Confirm Deletion"), MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) { Data.Songs.DeleteSong(currentSong.AutoNumber); currentSong.Delete(); currentSong.AcceptChanges(); currentSong = null; } }
private void txtNumber_Validating(object sender, System.ComponentModel.CancelEventArgs e) { int num = 0; if (int.TryParse(txtNumber.Text, out num)) { if (num < 0) { errorProvider1.SetError(txtNumber, Loc.Get("Number cannot be negative")); } else { errorProvider1.SetError(txtNumber, ""); } } else { errorProvider1.SetError(txtNumber, Loc.Get("Not a valid number")); } }
public static Image GetImageIncompatible(double scale) { using (Image i = new Bitmap(800, 600)) { Graphics g = Graphics.FromImage(i); g.FillRectangle(Brushes.White, g.ClipBounds); string text = Loc.Get("Incompatible Presentation"); Font f = new Font("Arial", 36F, FontStyle.Bold); StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; SizeF s = g.MeasureString(text, f, 800, sf); int w = Convert.ToInt32(s.Width); int h = Convert.ToInt32(s.Height); g.DrawString(text, f, Brushes.Red, new System.Drawing.Rectangle((800 - w) / 2, (600 - h) / 2, w, h), sf); Image.GetThumbnailImageAbort imageAbort = new System.Drawing.Image.GetThumbnailImageAbort(ImageAbort); Image ret = i.GetThumbnailImage((int)(i.Width * scale), (int)(i.Height * scale), imageAbort, IntPtr.Zero); i.Dispose(); return(ret); } }
private void btnSave_Click(object sender, System.EventArgs e) { // Verify that we have at least one verse int rows = 0; foreach (DataRow r in dt.Rows) { if (r.RowState != DataRowState.Deleted) { rows++; } } if (rows == 0) { MessageBox.Show(Loc.Get("Please add at least one verse for the song")); return; } this.DialogResult = DialogResult.OK; this.save(); this.Close(); }
private void RefreshSearchList() { if (txtFulltextSearch.Text == "") { return; } pnlSearchSelection.BringToFront(); lbSearchResults.SuspendLayout(); lbSearchResults.Items.Clear(); lock (lSearchResults) { #if !DEMO List <string> searchTerms = SearchHelper.BreakSearchTerms(txtFulltextSearch.Text); // Caller is responsible to make sure that search terms have not changed if (rRelevent.Checked && searchTerms.Count > 1) { // Sort the verses based on score SongSearchHelper.ScoreResults(lSearchResults, searchTerms); SearchRelevancyComparer comp = new SearchRelevancyComparer(); lSearchResults.Sort(comp); } else { lSearchResults.Sort(new SongNumberComparer()); } // Add to list foreach (SongSearchResult ssr in lSearchResults) { lbSearchResults.Items.Add(ssr); } #endif } lbSearchResults.ResumeLayout(); lblTitleSearchResults.Text = Loc.Get("Search results:") + " (" + lSearchResults.Count + ")"; }
private void btnAddImage_Click(object sender, System.EventArgs e) { OpenFileDialog f = new OpenFileDialog(); Program.Presenter.BeginExKeyOwner(); f.Title = Loc.Get("Select image to add"); f.Filter = Loc.Get("Supported formats") + " | *.jpeg;*.jpg;*.png;*.bmp;*.gif | JPG | *.jpg | JPEG | *.jpeg | GIF | *.gif | PNG | *.png | BMP | *.bmp"; f.Multiselect = false; if (f.ShowDialog() == DialogResult.OK) { try { int id = PhotoInfo.AddImage(Image.FromFile(f.FileName)); AssignToCategory a2c = new AssignToCategory(id, true); if (a2c.ShowDialog() == DialogResult.OK) { LoadCategories(); photoPreviewContainer1.Controls.Clear(); } } catch (Exception ex) { System.Diagnostics.Trace.WriteLine(ex.ToString()); } } Program.Presenter.EndExKeyOwner(); }
private void UpdateInfoLabel() { lblInfo.Text = Loc.Get("Preview:"); }
private void imgBtn_MouseEnter(object sender, EventArgs e) { lblInfo.Text = Loc.Get(((Control)sender).Tag.ToString()); }
// Song Information public void LoadSong(PresenterDataset.SongsRow row) { if (row == null) { this.Close(); return; } currentRow = row; // Accept changes if not new if (row.RowState == DataRowState.Detached) { this.Text = Loc.Get("Add a new song"); this.btnSave.Text = Loc.Get("Add"); // setup datatable InternalLoadSongFromDB(row, true); } else { this.btnSave.Text = Loc.Get("Save"); row.AcceptChanges(); // Load song verses from database InternalLoadSongFromDB(row, false); } // Set textboxes if (currentRow.Number != -1) { txtNumber.Text = currentRow.Number.ToString(); } else { txtNumber.Text = ""; } txtTitle.Text = currentRow.Title; txtChorus.Text = currentRow.Chorus; // Image and properties currentImage = new PhotoInfo(); if (currentRow.Image == -2) { currentImage.ImageId = Program.ConfigHelper.SongDefaultImage; } else { currentImage.ImageId = currentRow.Image; } sliderSuspendUpdate++; if (currentRow.Overlay == 777) { sliderOpacity.Value = 50; } else { sliderOpacity.Value = (int)(((double)currentRow.Overlay + 255) * 100 / 512); } sliderSuspendUpdate--; txtCopyright.Text = Data.Songs.GetSongCopyright(currentRow.AutoNumber); }
private void RefreshSearchList() { if (txtBibSearch.Text == "") { return; } pnlSearchSelection.BringToFront(); lbSearchVerses.SuspendLayout(); lbSearchVerses.Items.Clear(); lock (lResults) { #if !DEMO // Get search terms List <string> searchTerms = SearchHelper.BreakSearchTerms(txtBibSearch.Text); // Caller is responsible to make sure that search terms have not changed // Sort the results BibleVerseComparer bvc = new BibleVerseComparer(); if (rRelevent.Checked && searchTerms.Count > 1) { // Sort the verses based on score BibleSearchHelper.ScoreResults(lResults, searchTerms); SearchRelevancyComparer comp = new SearchRelevancyComparer(); lResults.Sort(comp); } else { lResults.Sort(bvc); } // Double filter the results List <BibleSearchResult> lDoubleFilter = new List <BibleSearchResult>(); foreach (BibleSearchResult r in lResults) { foreach (BookData bd in lbBibleBook.Items) // Check book { if (bd.mappingName == r.bibVerse.RefBook) { lDoubleFilter.Add(r); break; } } } // Add to the list foreach (BibleSearchResult r in lDoubleFilter) { lbSearchVerses.Items.Add(r); } // Turn off the tumbler pnlInitTumbler.Visible = false; // Set visible items based on search result count pbNoItems.Visible = llNoResults.Visible = lDoubleFilter.Count == 0; lblSort.Visible = rNoSort.Visible = rRelevent.Visible = lbSearchVerses.Visible = !pbNoItems.Visible; lblTitleSearchResults.Text = Loc.Get("Search results:") + " (" + lDoubleFilter.Count + ")"; #endif } lbSearchVerses.ResumeLayout(); }
public Dictionary <int, string> GetInlineRepresentation() { if (songSlides.Count == 0) { return(new Dictionary <int, string>()); } Dictionary <int, string> slideText = new Dictionary <int, string>(); if (includeVerseNumbers) { foreach (SongSlideData ssd in this.songSlides) { slideText.Add(ssd.slideNumber, RemoveVerseFormatting(ssd.text)); } } else { string chorus = Loc.Get("Chorus:") + " "; string lastRefStr = ""; bool titleAdded = false; foreach (SongSlideData ssd in this.songSlides) { string refstr = ""; if (ssd.isChorus) { if (lastRefStr != chorus) { refstr = chorus; lastRefStr = refstr; } else { refstr = ""; } } else { if (!ssd.isPartial && ssd.verseNumber != 1) { refstr = ssd.verseNumber + ". "; lastRefStr = refstr; } if (ssd.isPartial && ssd.verseNumber != 1) { if (lastRefStr != ssd.verseNumber + ". ") // Notice: number is applied only once { refstr = ssd.verseNumber + ". "; lastRefStr = refstr; } } } // Add title if (!titleAdded) { refstr = currentSong.Number + ". " + refstr; titleAdded = true; } string verse = RemoveVerseFormatting(ssd.text); slideText.Add(ssd.slideNumber, refstr + verse); } } return(slideText); }