コード例 #1
0
        private void AAOpenSourceMI_Click(object sender, EventArgs e)
        {
            if ((sourceFile == null) || (!System.IO.File.Exists(sourceFile)))
            {
                sourceFile = new TempFile(_selectedItem.ResolveRecord.FromFileSpec);
                if (Scm.GetFileVersion(sourceFile, _selectedItem.ResolveRecord.FromFileSpec) == null)
                {
                    sourceFile.Dispose();
                    sourceFile = null;
                    return;
                }
            }

            if (Preferences.LocalSettings.GetBool("OpenShelvedFileInEditor", true))
            {
                EnvDTE.DTE dte = P4VsProvider.GetDTE();
                dte.ItemOperations.OpenFile(sourceFile, null);
            }
            else
            {
                ShowFileContentsDlg dlg = new ShowFileContentsDlg();

                dlg.TempFile = sourceFile;
                dlg.Title    = _selectedItem.ResolveRecord.FromFileSpec.ToString();

                // Show modeless
                dlg.Show();
            }
        }
コード例 #2
0
        private void AAOpenMergedMI_Click(object sender, EventArgs e)
        {
            if ((sourceFile == null) || (!System.IO.File.Exists(sourceFile)))
            {
                sourceFile = new TempFile(_selectedItem.ResolveRecord.FromFileSpec);
                if (Scm.GetFileVersion(sourceFile, _selectedItem.ResolveRecord.FromFileSpec) == null)
                {
                    sourceFile.Dispose();
                    sourceFile = null;
                    return;
                }
            }

            if ((baseFile == null) || (!System.IO.File.Exists(baseFile)))
            {
                baseFile = new TempFile(_selectedItem.ResolveRecord.BaseFileSpec);
                if (Scm.GetFileVersion(baseFile, _selectedItem.ResolveRecord.BaseFileSpec) == null)
                {
                    baseFile = null;
                    return;
                }
            }
            string targetFile = _selectedItem.ResolveRecord.LocalFilePath.Path;

            if ((mergedFile == null) || (!System.IO.File.Exists(mergedFile)))
            {
                string mergedFileName = string.Format("{0}(merged {1}[{2}]){3}",
                                                      System.IO.Path.GetFileNameWithoutExtension(_selectedItem.ResolveRecord.LocalFilePath.Path),
                                                      ((P4.VersionRange)_selectedItem.ResolveRecord.FromFileSpec.Version).Upper,
                                                      _selectedItem.ResolveRecord.BaseFileSpec.Version,
                                                      System.IO.Path.GetExtension(_selectedItem.ResolveRecord.LocalFilePath.Path));

                mergedFile = new TempFile(mergedFileName);

                if (Scm.MergeLocalFiles(baseFile, sourceFile, targetFile, mergedFile) == false)
                {
                    MessageBox.Show(Resources.ResolveFileInteractiveControl_CannotCreateMergedFile, Resources.PerforceSCM, MessageBoxButtons.OK);
                    mergedFile.Dispose();
                    mergedFile = null;
                    return;
                }
            }
            if (Preferences.LocalSettings.GetBool("OpenShelvedFileInEditor", true))
            {
                EnvDTE.DTE dte = P4VsProvider.GetDTE();
                dte.ItemOperations.OpenFile(mergedFile, null);
            }
            else
            {
                ShowFileContentsDlg dlg = new ShowFileContentsDlg();

                dlg.TempFile = mergedFile;
                dlg.Title    = string.Format(Resources.ResolveFileInteractiveControl_MergeOfFiles,
                                             _selectedItem.ResolveRecord.FromFileSpec.ToString(),
                                             _selectedItem.ResolveRecord.LocalFilePath.Path);

                // Show modeless
                dlg.Show();
            }
        }
コード例 #3
0
        private void AAOpenTargetMI_Click(object sender, EventArgs e)
        {
            ShowFileContentsDlg dlg = new ShowFileContentsDlg();

            dlg.FilePath = _selectedItem.ResolveRecord.LocalFilePath.Path;
            dlg.Title    = _selectedItem.ResolveRecord.FromFileSpec.ToString();

            // Show modeless
            dlg.Show();
        }
コード例 #4
0
ファイル: UnshelveFileDlg.cs プロジェクト: perforce/P4VS
        private void FileListMnu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            if (e.ClickedItem.Name == "FLM_ViewMI")
            {
                foreach (ListViewItem it in ShelvedFilesLV.SelectedItems)
                {
                    P4.ShelvedFile shelvedFile = it.Tag as P4.ShelvedFile;
                    if (shelvedFile != null)
                    {
                        string file = shelvedFile.Path.ToString();

                        long maxPreviewSize = 1024 * ((long)Preferences.LocalSettings.GetInt("Size_files", 500));
                        long shelvedSize    = _scm.GetShelvedFileSize(_changelistId, file);
                        if (shelvedSize > maxPreviewSize)
                        {
                            string size = P4ObjectTreeListViewItem.PrettyPrintFileSize(shelvedSize);
                            string msg  = string.Format(Resources.FileExceedsMaxPreviewSizeWarning, size);
                            if (DialogResult.No == MessageBox.Show(msg, Resources.P4VS, MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
                            {
                                return;
                            }
                        }

                        P4.FileSpec shelvedSpec = new P4.FileSpec(shelvedFile.Path,
                                                                  new P4.ShelvedInChangelistIdVersion(_changelistId));

                        using (TempFile sourceFile = new TempFile(shelvedSpec))
                        {
                            if (_scm.GetFileVersion(sourceFile, shelvedSpec) == null)
                            {
                                MessageBox.Show(Resources.UnshelveFileDialog_CannotGetShelvedFileContentsError,
                                                Resources.P4VS, MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return;
                            }

                            if (Preferences.LocalSettings.GetBool("OpenShelvedFileInEditor", true))
                            {
                                EnvDTE.DTE dte = P4VsProvider.GetDTE();
                                dte.ItemOperations.OpenFile(sourceFile, null);
                            }
                            else
                            {
                                ShowFileContentsDlg dlg = new ShowFileContentsDlg();

                                dlg.TempFile = sourceFile;
                                dlg.Title    = shelvedSpec.ToString();

                                // Show modeless
                                dlg.Show();
                            }
                        }
                    }
                }
            }
        }
コード例 #5
0
        private void AAOpenTargetMI_Click(object sender, EventArgs e)
        {
            if (Preferences.LocalSettings.GetBool("OpenShelvedFileInEditor", true))
            {
                EnvDTE.DTE dte = P4VsProvider.GetDTE();
                dte.ItemOperations.OpenFile(_selectedItem.ResolveRecord.LocalFilePath.Path, null);
            }
            else
            {
                ShowFileContentsDlg dlg = new ShowFileContentsDlg();

                dlg.FilePath = _selectedItem.ResolveRecord.LocalFilePath.Path;
                dlg.Title    = _selectedItem.ResolveRecord.FromFileSpec.ToString();

                // Show modeless
                dlg.Show();
            }
        }
コード例 #6
0
        private void AAOpenSourceMI_Click(object sender, EventArgs e)
        {
            if (sourceFile == null)
            {
                sourceFile = new TempFile();
                if (Scm.GetFileVersion(sourceFile, _selectedItem.ResolveRecord.FromFileSpec) == null)
                {
                    return;
                }
            }

            ShowFileContentsDlg dlg = new ShowFileContentsDlg();

            dlg.TempFile = sourceFile;
            dlg.Title    = _selectedItem.ResolveRecord.FromFileSpec.ToString();

            // Show modeless
            dlg.Show();
        }
コード例 #7
0
        private void AAOpenMergedMI_Click(object sender, EventArgs e)
        {
            if (sourceFile == null)
            {
                sourceFile = new TempFile();
                if (Scm.GetFileVersion(sourceFile, _selectedItem.ResolveRecord.FromFileSpec) == null)
                {
                    return;
                }
            }

            if (baseFile == null)
            {
                baseFile = new TempFile();
                if (Scm.GetFileVersion(baseFile, _selectedItem.ResolveRecord.BaseFileSpec) == null)
                {
                    return;
                }
            }

            string targetFile = _selectedItem.ResolveRecord.LocalFilePath.Path;

            if (mergedFile == null)
            {
                mergedFile = new TempFile();

                if (Scm.MergeLocalFiles(baseFile, sourceFile, targetFile, mergedFile) == false)
                {
                    return;
                }
            }
            ShowFileContentsDlg dlg = new ShowFileContentsDlg();

            dlg.TempFile = mergedFile;
            dlg.Title    = string.Format(Resources.ResolveFileInteractiveControl_MergeOfFiles,
                                         _selectedItem.ResolveRecord.FromFileSpec.ToString(),
                                         _selectedItem.ResolveRecord.LocalFilePath.Path);

            // Show modeless
            dlg.Show();
        }