public virtual int OnQueryAddDirectories(IVsProject pProject, int cDirectories, string[] rgpszMkDocuments, VSQUERYADDDIRECTORYFLAGS[] rgFlags, VSQUERYADDDIRECTORYRESULTS[] pSummaryResult, VSQUERYADDDIRECTORYRESULTS[] rgResults)
 {
     return VSConstants.E_NOTIMPL;
 }
 int IVsTrackProjectDocumentsEvents2.OnQueryAddDirectories(
     IVsProject pProject,
     int cDirectories,
     string[] rgpszMkDocuments,
     VSQUERYADDDIRECTORYFLAGS[] rgFlags,
     VSQUERYADDDIRECTORYRESULTS[] pSummaryResult,
     VSQUERYADDDIRECTORYRESULTS[] rgResults)
 {
     return VSConstants.S_OK;
 }
Example #3
0
 public int OnQueryAddDirectories(IVsProject pProject, int cDirectories, string[] rgpszMkDocuments,
                                  VSQUERYADDDIRECTORYFLAGS[] rgFlags, 
                                  VSQUERYADDDIRECTORYRESULTS[] pSummaryResult,
                                  VSQUERYADDDIRECTORYRESULTS[] rgResults)
 {
     return 0;
 }
 public int OnQueryAddDirectories(IVsProject pProject, int cDirectories, string[] rgpszMkDocuments, VSQUERYADDDIRECTORYFLAGS[] rgFlags, VSQUERYADDDIRECTORYRESULTS[] pSummaryResult, VSQUERYADDDIRECTORYRESULTS[] rgResults) {
     throw new NotImplementedException();
 }
Example #5
0
 int IVsTrackProjectDocumentsEvents2.OnQueryAddDirectories(IVsProject pProject, int cDirectories, string[] rgpszMkDocuments, VSQUERYADDDIRECTORYFLAGS[] rgFlags, VSQUERYADDDIRECTORYRESULTS[] pSummaryResult, VSQUERYADDDIRECTORYRESULTS[] rgResults)
 {
     return NativeMethods.S_OK; // We are not interested in this one
 }
Example #6
0
        /// <summary>
        /// This method notifies the client when a project has requested to add directories.
        /// </summary>
        /// <param name="pProject">[in] Project to which the directories will be added.</param>
        /// <param name="cDirectories">[in] Number of directories to add.</param>
        /// <param name="rgpszMkDocuments">[in] Array of paths for the directories to add.</param>
        /// <param name="rgFlags">[in] Flags identifying information about each directory. For a list of rgFlags values, see <see cref=">VSQUERYADDDIRECTORYFLAGS"/.</param>
        /// <param name="pSummaryResult">[out] Summary result object. This object is a summation of the yes and no results for the array of directories passed in rgpszMkDocuments.
        /// If the result for a single directory is no, then pSummaryResult is equal to VSQUERYADDDIRECTORYRESULTS_AddNotOK; if the results for all directories are yes, then pSummaryResult is equal to VSQUERYADDDIRECTORYRESULTS_AddOK. For a list of pSummaryResult values, see VSQUERYADDDIRECTORYRESULTS.</param>
        /// <param name="rgResults">[out] Array of results. For a list of rgResults values, see VSQUERYADDDIRECTORYRESULTS.</param>
        /// <returns></returns>
        /// <remarks>Deny a query only if allowing the operation would compromise your stable state</remarks>
        public int OnQueryAddDirectories(IVsProject pProject, int cDirectories, string[] rgpszMkDocuments, VSQUERYADDDIRECTORYFLAGS[] rgFlags, VSQUERYADDDIRECTORYRESULTS[] pSummaryResult, VSQUERYADDDIRECTORYRESULTS[] rgResults)
        {
            if (pProject == null || rgpszMkDocuments == null)
                return VSConstants.E_POINTER;

            bool track = SccProvider.TrackProjectChanges(pProject as IVsSccProject2);

            bool allOk = true;
            for (int i = 0; i < cDirectories; i++)
            {
                bool ok = true;

                string dir = rgpszMkDocuments[i];

                if (string.IsNullOrEmpty(dir) || !SvnItem.IsValidPath(dir))
                    continue;

                dir = SvnTools.GetNormalizedFullPath(dir);

                if (track && !SvnCanAddPath(dir, SvnNodeKind.Directory))
                    ok = false;

                if (rgResults != null)
                    rgResults[i] = ok ? VSQUERYADDDIRECTORYRESULTS.VSQUERYADDDIRECTORYRESULTS_AddOK : VSQUERYADDDIRECTORYRESULTS.VSQUERYADDDIRECTORYRESULTS_AddNotOK;

                if (!ok)
                    allOk = false;
            }

            if (pSummaryResult != null)
                pSummaryResult[0] = allOk ? VSQUERYADDDIRECTORYRESULTS.VSQUERYADDDIRECTORYRESULTS_AddOK : VSQUERYADDDIRECTORYRESULTS.VSQUERYADDDIRECTORYRESULTS_AddNotOK;

            if (!allOk && !_inBatch)
                ShowQueryErrorDialog();

            return VSConstants.S_OK;
        }
 public int OnQueryAddDirectories(IVsProject pProject, int cDirectories, string[] rgpszMkDocuments, VSQUERYADDDIRECTORYFLAGS[] rgFlags, VSQUERYADDDIRECTORYRESULTS[] pSummaryResult, VSQUERYADDDIRECTORYRESULTS[] rgResults) {
     foreach (var dir in rgpszMkDocuments) {
         DocumentEvents.Add("OnQueryAddDirectories " + dir);
         CodeDocumentEvents.Add("OnQueryAddDirectories(" + GetRelativePath(pProject, dir) + ")");
     }
     return VSConstants.S_OK;
 }