--- a/extensions.st Thu Oct 01 12:45:45 2009 +0200
+++ b/extensions.st Thu Oct 01 12:45:56 2009 +0200
@@ -632,6 +632,52 @@
Transcript showCR:self class name, ': action for #classMenuSubversionUpdate ...'.
! !
+!Tools::NewSystemBrowser methodsFor:'aspects-queries'!
+
+hasClassesSelectedAndSubversionRepositoryExists
+
+ | classes |
+ classes := self selectedClasses value.
+ classes size = 0 ifTrue:[^false].
+ ^classes
+ allSatisfy:
+ [:cls|self hasSubversionRepositoryFor: cls theNonMetaclass package]
+
+ "Created: / 20-06-2009 / 12:10:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 21-06-2009 / 00:31:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 22-08-2009 / 11:19:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Tools::NewSystemBrowser methodsFor:'aspects-queries'!
+
+hasProjectSelectedSubversionRepositoryExists
+ ^ [ self hasProjectSelected
+ and:[self selectedProjects value size = 1
+ and:[self hasSubversionRepositoryFor: self selectedProjects value anyOne]]]
+
+ "Created: / 31-03-2008 / 15:07:52 / janfrog"
+! !
+
+!Tools::NewSystemBrowser methodsFor:'aspects-queries'!
+
+hasSingleClassAndSubversionRepositoryExists
+ ^ self hasSingleClassSelected
+ and:[self hasSubversionRepositoryFor: self theSingleSelectedClass package]
+
+ "Created: / 19-04-2008 / 17:40:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!Tools::NewSystemBrowser methodsFor:'aspects-queries'!
+
+hasSubversionRepositoryFor: package
+
+ ^self hasSubversionSupport and:
+ [SVN::RepositoryManager hasRepositoryForPackage: package]
+
+ "Created: / 31-03-2008 / 15:08:13 / janfrog"
+ "Modified: / 22-08-2009 / 10:49:33 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
!Tools::NewSystemBrowser methodsFor:'menus-dynamic'!
projectMenuSubversionBranches
@@ -913,6 +959,192 @@
"Created: / 19-04-2008 / 11:09:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
+!Tools::NewSystemBrowser class methodsFor:'menu specs - subversion'!
+
+classMenuSubversion
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+ "
+ MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#classMenuSubversion
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser classMenuSubversion)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ label: 'Commit'
+ itemValue: classMenuSubversionCommit
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' commit 'Commit')
+ )
+ (MenuItem
+ enabled: false
+ label: 'Update'
+ itemValue: classMenuSubversionUpdate
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' update 'Update')
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Compare with revision HEAD'
+ itemValue: classMenuSubversionCompareImageWithRevisionHead
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision HEAD')
+ )
+ (MenuItem
+ label: 'Compare with revision'
+ itemValue: classMenuSubversionCompareImageWithRevision
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision')
+ )
+ )
+ nil
+ nil
+ )
+! !
+
+!Tools::NewSystemBrowser class methodsFor:'menu specs - subversion'!
+
+projectMenuSubversion
+ "This resource specification was automatically generated
+ by the MenuEditor of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the MenuEditor may not be able to read the specification."
+
+ "
+ MenuEditor new openOnClass:Tools::NewSystemBrowser andSelector:#projectMenuSubversion
+ (Menu new fromLiteralArrayEncoding:(Tools::NewSystemBrowser projectMenuSubversion)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+ #(Menu
+ (
+ (MenuItem
+ enabled: false
+ label: 'Branch'
+ translateLabel: true
+ submenuChannel: projectMenuSubversionBranches
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' checkout 'Branch')
+ keepLinkedMenu: true
+ )
+ (MenuItem
+ label: 'Commit'
+ itemValue: projectMenuSubversionCommit
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' commit 'Commit')
+ )
+ (MenuItem
+ label: 'Update'
+ itemValue: projectMenuSubversionUpdate
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' update 'Update')
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Browse revision log'
+ itemValue: projectMenuSubversionShowRevisionLog
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' log 'Browse revision log')
+ )
+ (MenuItem
+ label: 'Browse working copy'
+ itemValue: projectMenuSubversionBrowseWorkingCopy
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Compare with revision HEAD'
+ itemValue: projectMenuSubversionCompareImageWithRevisionHEAD
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision HEAD')
+ )
+ (MenuItem
+ label: 'Compare with revision'
+ itemValue: projectMenuSubversionCompareImageWithRevision
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' compare 'Compare with revision')
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Merge with revision HEAD'
+ itemValue: projectMenuSubversionMergeImageWithRevisionHEAD
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' merge 'Merge with revision HEAD')
+ )
+ (MenuItem
+ label: 'Merge with revision'
+ itemValue: projectMenuSubversionMergeImageWithRevision
+ translateLabel: true
+ labelImage: (ResourceRetriever #'SVN::IconLibrary' merge 'Merge with revision')
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'More'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Load revision...'
+ itemValue: projectMenuSubversionLoadRevision
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Remove working copy'
+ itemValue: projectMenuSubversionRemoveWorkingCopy
+ translateLabel: true
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ enabled: hasSingleProjectSelected
+ label: 'Fast commit'
+ translateLabel: true
+ choice: projectMenuSubversionCommitMode
+ choiceValue: fast
+ )
+ (MenuItem
+ enabled: hasSingleProjectSelected
+ label: 'Full commit'
+ translateLabel: true
+ choice: projectMenuSubversionCommitMode
+ choiceValue: full
+ )
+ )
+ nil
+ nil
+ )
+ )
+ )
+ nil
+ nil
+ )
+! !
+
!URL methodsFor:'queries'!
isValidSvnRepositoryUrl