--- a/MCRepositoryBrowser.st Sun Dec 04 15:44:21 2011 +0100
+++ b/MCRepositoryBrowser.st Sun Dec 04 15:44:23 2011 +0100
@@ -5,7 +5,7 @@
selectedVersionHolder worker selectedVersionDetailsHolder
selectedRepositoryHolder targetPackage targetNamespace
lastPackage targetPackageHolder targetNamespaceNameHolder
- updateChangefileHolder'
+ updateChangefileHolder selectedPackageHolder'
classVariableNames:''
poolDictionaries:''
category:'Monticello-St/X UI'
@@ -552,12 +552,69 @@
)
! !
+!MCRepositoryBrowser class methodsFor:'startup'!
+
+openOnPrimaryRepository
+ "the primary repository is the one into which we checkin by default.
+ (see MCSettingsApplication)"
+
+ ^ self openOnPrimaryRepositoryForPackage:nil
+
+ "Created: / 03-12-2011 / 10:41:03 / cg"
+!
+
+openOnPrimaryRepositoryForPackage:anSTXPackageIdOrNil
+ "the primary repository is the one into which we checkin by default.
+ (see MCSettingsApplication)"
+
+ |repository browser|
+
+ repository := UserPreferences current at:#mcPrimaryRepository ifAbsent:nil.
+
+ browser := self new.
+ browser allButOpen.
+ browser selectedRepository:repository.
+ anSTXPackageIdOrNil notNil ifTrue:[
+ browser selectedPackage:anSTXPackageIdOrNil.
+ ].
+ browser openWindow.
+ ^ browser.
+
+ "Created: / 03-12-2011 / 10:42:01 / cg"
+! !
+
!MCRepositoryBrowser methodsFor:'accessing'!
+selectedPackage:aPackageName
+ |listEntry packageListApp|
+
+ packageListApp := (builder componentAt:#PackageList) application.
+ listEntry := packageListApp listHolder value detect:[:listEntry | listEntry name = aPackageName] ifNone:nil.
+ packageListApp selectionHolder value:listEntry.
+
+ "Created: / 04-12-2011 / 09:30:00 / cg"
+!
+
+selectedRepository:aRepository
+ |rep fakeEntry listEntry repListApp|
+
+ rep := self repositoriesHolder value detect:[:e | e = aRepository] ifNone:nil.
+ rep notNil ifTrue:[
+ repListApp := (builder componentAt:#RepositoryList) application.
+ fakeEntry := repListApp makeEntry:rep.
+ listEntry := repListApp listHolder value detect:[:listEntry | listEntry repository = fakeEntry repository].
+ repListApp selectionHolder value:listEntry.
+ ]
+
+ "Created: / 03-12-2011 / 10:44:16 / cg"
+!
+
selectedVersion
"return the value in 'selectedVersionHolder'"
^ self selectedVersionHolder value
+
+ "Modified (comment): / 04-12-2011 / 09:28:52 / cg"
!
selectedVersion: newValue
@@ -567,12 +624,13 @@
!
selectedVersionAsMCVersion
+ | entry |
- | entry |
entry := self selectedVersionHolder value.
^entry ifNil:[nil] ifNotNil:[entry asMCVersion].
"Created: / 13-10-2010 / 17:48:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 04-12-2011 / 09:29:01 / cg"
! !
!MCRepositoryBrowser methodsFor:'aspect-queries'!
@@ -615,41 +673,46 @@
!MCRepositoryBrowser methodsFor:'aspects'!
packagesHolder
- "return/create the 'packagesHolder' value holder (automatically generated)"
-
packagesHolder isNil ifTrue:[
packagesHolder := ValueHolder new.
].
^ packagesHolder
+
+ "Modified (comment): / 04-12-2011 / 09:27:57 / cg"
!
packagesHolder:something
- "set the 'packagesHolder' value holder (automatically generated)"
+ packagesHolder := something.
- packagesHolder := something.
+ "Modified (comment): / 04-12-2011 / 09:28:01 / cg"
!
repositoriesHolder
- "return/create the 'repositoriesHolder' value holder (automatically generated)"
-
repositoriesHolder isNil ifTrue:[
repositoriesHolder := ValueHolder with:(MCRepositoryGroup default repositories).
].
^ repositoriesHolder
"Modified: / 16-09-2010 / 18:33:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified (format): / 29-08-2011 / 12:26:04 / cg"
+ "Modified (comment): / 04-12-2011 / 09:28:06 / cg"
!
repositoriesHolder:something
- "set the 'repositoriesHolder' value holder (automatically generated)"
+ repositoriesHolder := something.
+
+ "Modified (comment): / 04-12-2011 / 09:28:09 / cg"
+!
- repositoriesHolder := something.
+selectedPackageHolder
+ selectedPackageHolder isNil ifTrue:[
+ selectedPackageHolder := nil asValue.
+ ].
+ ^ selectedPackageHolder
+
+ "Created: / 04-12-2011 / 09:27:50 / cg"
!
selectedRepositoryHolder
- "return/create the valueHolder 'selectedVersionHolder'"
-
selectedRepositoryHolder isNil ifTrue:[
selectedRepositoryHolder := nil asValue.
].
@@ -661,27 +724,16 @@
selectedVersionDetailsHolder
<resource: #uiAspect>
- "automatically generated by UIPainter ..."
-
- "*** the code below creates a default model when invoked."
- "*** (which may not be the one you wanted)"
- "*** Please change as required and accept it in the browser."
- "*** (and replace this comment by something more useful ;-)"
-
selectedVersionDetailsHolder isNil ifTrue:[
selectedVersionDetailsHolder := '' asValue.
-"/ if your app needs to be notified of changes, uncomment one of the lines below:
-"/ selectedPackageDetailsHolder addDependent:self.
-"/ selectedPackageDetailsHolder onChangeSend:#selectedPackageDetailsHolderChanged to:self.
].
^ selectedVersionDetailsHolder.
"Modified: / 17-09-2010 / 15:17:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (comment): / 03-12-2011 / 11:08:52 / cg"
!
selectedVersionHolder
- "return/create the valueHolder 'selectedVersionHolder'"
-
selectedVersionHolder isNil ifTrue:[
selectedVersionHolder := ValueHolder with:nil "defaultValue here".
selectedVersionHolder onChangeSend: #updateVersionDetails to: self.
@@ -689,6 +741,7 @@
^ selectedVersionHolder
"Modified: / 17-09-2010 / 15:23:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (comment): / 04-12-2011 / 09:28:21 / cg"
!
selectedVersionHolder:something
@@ -698,39 +751,23 @@
targetNamespaceNameHolder
<resource: #uiAspect>
- "automatically generated by UIPainter ..."
-
- "*** the code below creates a default model when invoked."
- "*** (which may not be the one you wanted)"
- "*** Please change as required and accept it in the browser."
- "*** (and replace this comment by something more useful ;-)"
-
targetNamespaceNameHolder isNil ifTrue:[
targetNamespaceNameHolder := ValueHolder new.
-"/ if your app needs to be notified of changes, uncomment one of the lines below:
-"/ targetNamespaceNameHolder addDependent:self.
-"/ targetNamespaceNameHolder onChangeSend:#targetNamespaceNameHolderChanged to:self.
].
^ targetNamespaceNameHolder.
+
+ "Modified (comment): / 03-12-2011 / 11:09:03 / cg"
!
targetPackageHolder
<resource: #uiAspect>
- "automatically generated by UIPainter ..."
-
- "*** the code below creates a default model when invoked."
- "*** (which may not be the one you wanted)"
- "*** Please change as required and accept it in the browser."
- "*** (and replace this comment by something more useful ;-)"
-
targetPackageHolder isNil ifTrue:[
targetPackageHolder := ValueHolder new.
-"/ if your app needs to be notified of changes, uncomment one of the lines below:
-"/ targetPackageHolder addDependent:self.
-"/ targetPackageHolder onChangeSend:#targetPackageHolderChanged to:self.
].
^ targetPackageHolder.
+
+ "Modified (comment): / 03-12-2011 / 11:09:09 / cg"
!
updateChangefileHolder
@@ -743,18 +780,18 @@
!
versionsHolder
- "return/create the 'versionsHolder' value holder (automatically generated)"
-
versionsHolder isNil ifTrue:[
versionsHolder := ValueHolder new.
].
^ versionsHolder
+
+ "Modified (comment): / 04-12-2011 / 09:28:30 / cg"
!
versionsHolder:something
- "set the 'versionsHolder' value holder (automatically generated)"
+ versionsHolder := something.
- versionsHolder := something.
+ "Modified (comment): / 04-12-2011 / 09:28:33 / cg"
! !
!MCRepositoryBrowser methodsFor:'menu actions'!
@@ -1004,31 +1041,40 @@
!MCRepositoryBrowser methodsFor:'updating'!
updateVersionDetails
+ | versionEntry version |
- | versionEntry version |
worker ifNotNil:[worker terminate. worker := nil].
versionEntry := self selectedVersion.
versionEntry ifNil:[selectedVersionDetailsHolder value:'No version selected'. ^self].
- worker :=
- [[selectedVersionDetailsHolder value:'Reading ',versionEntry name,'...'.
+ "/ async is not a good idea - if it takes long, user might start to click around...
+"/ worker :=
+"/ [[selectedVersionDetailsHolder value:'Reading ',versionEntry name,'...'.
+"/ version := versionEntry asMCVersion.
+"/ version ifNotNil:
+"/ [selectedVersionDetailsHolder value: version summary]] ensure:[worker := nil]] newProcess.
+"/ worker resume.
+
+ self withWaitCursorDo:[
+ selectedVersionDetailsHolder value:'Reading ',versionEntry name,'...'.
version := versionEntry asMCVersion.
- version ifNotNil:
- [selectedVersionDetailsHolder value: version summary]] ensure:[worker := nil]] newProcess.
- worker resume.
+ version ifNotNil:[
+ selectedVersionDetailsHolder value: version summary
+ ]
+ ].
"Created: / 17-09-2010 / 15:23:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 26-10-2010 / 22:08:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 25-11-2011 / 11:33:31 / cg"
+ "Modified (comment): / 03-12-2011 / 11:11:28 / cg"
! !
!MCRepositoryBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepositoryBrowser.st,v 1.15 2011-11-25 10:33:38 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepositoryBrowser.st,v 1.16 2011-12-04 14:44:23 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepositoryBrowser.st,v 1.15 2011-11-25 10:33:38 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepositoryBrowser.st,v 1.16 2011-12-04 14:44:23 cg Exp $'
!
version_SVN