VersionDiffBrowser.st
changeset 18147 03d5bfe1c546
parent 18146 129f819d8259
child 18279 afdae9cde5cd
--- a/VersionDiffBrowser.st	Wed May 23 11:34:17 2018 +0200
+++ b/VersionDiffBrowser.st	Wed May 23 11:56:03 2018 +0200
@@ -1923,6 +1923,12 @@
     ^ selectedVersionHolder
 !
 
+selectedVersionIndex
+    ^ self selectedVersionIndexHolder value ? 0
+
+    "Created: / 23-05-2018 / 11:35:50 / Claus Gittinger"
+!
+
 selectedVersionIndexHolder
     selectedVersionIndexHolder isNil ifTrue:[
         selectedVersionIndexHolder := nil asValue.
@@ -2025,18 +2031,18 @@
     "versions are sorted youngest first.
      If the current selected one is the first, there is no next version"
      
-    ^ (self selectedVersionIndexHolder value ? 0) > 1.
-
-    "Modified (comment): / 23-05-2018 / 11:33:29 / Claus Gittinger"
+    ^ (self selectedVersionIndex) > 1.
+
+    "Modified: / 23-05-2018 / 11:36:33 / Claus Gittinger"
 !
 
 hasPreviousVersionInVersionList 
     "versions are sorted youngest first.
      If the current selected one is the last, there is no previous version"
 
-    ^ (self selectedVersionIndexHolder value ? 0) < versionList value size.
-
-    "Modified: / 23-05-2018 / 11:33:59 / Claus Gittinger"
+    ^ (self selectedVersionIndex) < versionList value size.
+
+    "Modified: / 23-05-2018 / 11:36:38 / Claus Gittinger"
 !
 
 showingClassChangeSet
@@ -2054,17 +2060,19 @@
         m findGuiResourcesIn:self.
 
         self hasNextVersionInVersionList ifTrue:[
-            nextVersion := self versionList at:(self selectedVersionIndexHolder value - 1).
+            nextVersion := self versionList at:(self selectedVersionIndex - 1).
             item := m atNameKey:#CompareAgainstNextVersion. 
             item label:(resources string:(item label,' (%1)') with:nextVersion).
         ].
         self hasPreviousVersionInVersionList ifTrue:[
-            prevVersion := self versionList at:(self selectedVersionIndexHolder value + 1).
+            prevVersion := self versionList at:(self selectedVersionIndex + 1).
             item := m atNameKey:#CompareAgainstPreviousVersion.
             item label:(resources string:(item label,'(%1)') with:prevVersion).
         ].
         m
       ]
+
+    "Modified: / 23-05-2018 / 11:36:18 / Claus Gittinger"
 ! !
 
 !VersionDiffBrowser methodsFor:'change & update'!
@@ -2983,20 +2991,27 @@
     |cls selectedVersion nextVersion|
 
     selectedVersion := self selectedVersionHolder value.
-    nextVersion := self versionList at:(self selectedVersionIndexHolder value - 1).
+    nextVersion := self versionList at:(self selectedVersionIndex - 1).
     cls := classHolder value.
     
     self class openOnClass:cls versionA:selectedVersion versionB:nextVersion
+
+    "Modified: / 23-05-2018 / 11:37:18 / Claus Gittinger"
 !
 
 versionMenuCompareAgainstPreviousVersion
     |cls selectedVersion prevVersion|
 
     selectedVersion := self selectedVersionHolder value.
-    prevVersion := self versionList at:(self selectedVersionIndexHolder value + 1).
+    selectedVersion isNil ifTrue:[
+        self selectedVersionIndexHolder value:1
+    ].    
+    prevVersion := self versionList at:(self selectedVersionIndex + 1).
     cls := classHolder value.
     
     self class openOnClass:cls versionA:prevVersion versionB:selectedVersion
+
+    "Modified: / 23-05-2018 / 11:38:13 / Claus Gittinger"
 ! !
 
 !VersionDiffBrowser methodsFor:'menu action - filters'!