Extend the "Mark all as read": if shift is down, iterate over all projects to mark all their entries as read. And also provide a tooltip for that button explaining the shift-feature.
(Closes issue #348) : Mark All Projects as Read
Use CAppUtils::SearchReplace() to replace the variables since that function replaces all occurrences and not just the first.
(Fixes issue #349) : %project replacement is executed only for the first occurence in script/command
Improve the regex to check whether an url points to a real repository and not a page generated by SVNParentPath.
(Fixes issue #341) : Some SVN url creates never ending list of sub-projects