*** empty log message ***
authorfm
Thu, 01 Oct 2009 12:45:56 +0200
changeset 239 eb8760523bed
parent 238 964a65133383
child 240 4f87d0e71d54
*** empty log message ***
extensions.st
--- 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