private void ButtonPickFile_Click(object sender, EventArgs e) { this.UpdateFromGrid(); OpenFileDialog openFileDlg = new OpenFileDialog(); openFileDlg.DefaultExt = "pdf"; openFileDlg.Filter = "PDF Documents (*.pdf)|*.pdf"; openFileDlg.Multiselect = true; openFileDlg.ShowReadOnly = true; openFileDlg.Title = "Add PDF Files ..."; openFileDlg.FilterIndex = 1; if (openFileDlg.ShowDialog(this) == DialogResult.OK) { foreach (string file in openFileDlg.FileNames) { MergeListFiles mergeListItem = new MergeListFiles(); if (this.merger.MergeListFileArray.Count > 0) { mergeListItem.Level = this.merger.MergeListFileArray[this.merger.MergeListFileArray.Count - 1].Level; } mergeListItem.Path = file; this.merger.MergeListFileArray.Add(mergeListItem); } } this.UpdateGrid(); }
private void ButtonEdit_Click(object sender, EventArgs e) { if (this.dataGrid.SelectedRows.Count == 0) { return; } this.UpdateFromGrid(); // get selected List <int> selected = this.GetSelected(); // ignore if last row selected // if (Selected[Selected.Count - 1] >= (dataGrid.Rows.Count - 1)) // return; string v = Program.GetViewer(); List <string> notFound = new List <string>(); // move up from bottom for (int sel_ind = selected.Count - 1; sel_ind >= 0; --sel_ind) { int irow = selected[sel_ind]; MergeListFiles selectedItem = (MergeListFiles)this.merger.MergeListFileArray[irow].Clone(); string fn = selectedItem.Path; if (File.Exists(fn) == false) { notFound.Add(fn); continue; } if (v.Length == 0) { System.Diagnostics.Process.Start("\"" + fn + "\""); } else { System.Diagnostics.Process.Start(v, "\"" + fn + "\""); } } if (notFound.Count > 0) { string err = string.Format("{0} file(s) were not found:", notFound.Count); foreach (string fn in notFound) { err += "\n" + fn; } MessageBox.Show(err, "Error", MessageBoxButtons.OK); } }
private void UpdateFromGrid() { this.dataGrid.EndEdit(); this.merger.MergeListFileArray = new List <MergeListFiles>(); foreach (DataGridViewRow row in this.dataGrid.Rows) { MergeListFiles mergeItem = new MergeListFiles(); mergeItem.Path = row.Cells[1].Value.ToString(); mergeItem.Pages = row.Cells[2].Value.ToString(); if (row.Cells[3].Value != null) { if (row.Cells[3].Value.ToString().Length > 0) { mergeItem.Bookmark = row.Cells[3].Value.ToString(); } } DataGridViewCheckBoxCell check = (DataGridViewCheckBoxCell)row.Cells[4]; if ((bool)check.Value == false) { mergeItem.Include = false; } DataGridViewComboBoxCell combo = (DataGridViewComboBoxCell)row.Cells[5]; mergeItem.Level = combo.Items.IndexOf(row.Cells[5].Value); this.merger.MergeListFileArray.Add(mergeItem); } this.merger.MergeListInfo.OutFilename = this.outBox.Text; this.merger.MergeListInfo.NumberPages = this.checkBoxNumberPages.Checked; try { this.merger.MergeListInfo.StartPage = int.Parse(this.textBoxStartPage.Text); } catch { this.merger.MergeListInfo.StartPage = 1; } this.merger.MergeListInfo.Annotation = this.textBoxAnnotate.Text; this.merger.MergeListInfo.PaginationFormat = this.PaginationFormat; }
private void DuplicateRow(object sender, EventArgs e) { foreach (DataGridViewRow row in this.dataGrid.Rows) { if (row.Selected == true) { try { int sel = row.Index; this.UpdateFromGrid(); MergeListFiles mergeListItem = this.merger.MergeListFileArray[row.Index]; this.merger.MergeListFileArray.Add(mergeListItem); this.UpdateGrid(); this.dataGrid.Rows[sel].Selected = true; return; } catch { } } } }
private void DataGrid_DragDrop(object sender, DragEventArgs e) { this.UpdateFromGrid(); string[] files = e.Data.GetData(DataFormats.FileDrop) as string[]; foreach (string fn in files) { if (fn.ToLower().EndsWith(".pdf") == true) { MergeListFiles mergeListItem = new MergeListFiles(); if (this.merger.MergeListFileArray.Count > 0) { mergeListItem.Level = this.merger.MergeListFileArray[this.merger.MergeListFileArray.Count - 1].Level; } mergeListItem.Path = fn; this.merger.MergeListFileArray.Add(mergeListItem); } } this.UpdateGrid(); }
private void ButtonDown_Click(object sender, EventArgs e) { if (this.dataGrid.SelectedRows.Count == 0) { return; } this.UpdateFromGrid(); // get selected List <int> selected = this.GetSelected(); // ignore if last row selected if (selected[selected.Count - 1] >= (this.dataGrid.Rows.Count - 1)) { return; } // move up from bottom for (int sel_ind = selected.Count - 1; sel_ind >= 0; --sel_ind) { int irow = selected[sel_ind]; MergeListFiles selectedItem = (MergeListFiles)this.merger.MergeListFileArray[irow].Clone(); this.merger.MergeListFileArray.RemoveAt(irow); this.merger.MergeListFileArray.Insert(irow + 1, selectedItem); } this.UpdateGrid(); // restore selections this.dataGrid.ClearSelection(); foreach (int irow in selected) { this.dataGrid.Rows[irow + 1].Selected = true; } }