コード例 #1
0
ファイル: PdfMergeForm.cs プロジェクト: sdbostwick/PdfMerge
        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();
        }
コード例 #2
0
ファイル: PdfMergeForm.cs プロジェクト: sdbostwick/PdfMerge
        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);
            }
        }
コード例 #3
0
ファイル: PdfMergeForm.cs プロジェクト: sdbostwick/PdfMerge
        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;
        }
コード例 #4
0
ファイル: PdfMergeForm.cs プロジェクト: sdbostwick/PdfMerge
 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
             {
             }
         }
     }
 }
コード例 #5
0
ファイル: PdfMergeForm.cs プロジェクト: sdbostwick/PdfMerge
        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();
        }
コード例 #6
0
ファイル: PdfMergeForm.cs プロジェクト: sdbostwick/PdfMerge
        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;
            }
        }