BookmarksEditDialog.st
author fm
Wed, 12 Mar 2008 17:50:33 +0100
changeset 8023 7fd192f7449e
parent 8014 ade46105bcc0
child 8262 69dabd2e594a
permissions -rw-r--r--
changed #hasChanges
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     1
"{ Package: 'stx:libtool' }"
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     2
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     3
SimpleDialog subclass:#BookmarksEditDialog
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     4
	instanceVariableNames:'selectedBookmarksHolder bookmarkListHolder defaultBookmark answer'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     5
	classVariableNames:''
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     6
	poolDictionaries:''
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     7
	category:'Interface-Tools-File'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     8
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     9
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    10
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    11
!BookmarksEditDialog class methodsFor:'image specs'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    12
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    13
fileIn22x22Icon
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    14
    "This resource specification was automatically generated
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    15
     by the ImageEditor of ST/X."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    16
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    17
    "Do not manually edit this!! If it is corrupted,
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    18
     the ImageEditor may not be able to read the specification."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    19
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    20
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    21
     self fileIn22x22Icon inspect
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    22
     ImageEditor openOnClass:self andSelector:#fileIn22x22Icon
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    23
     Icon flushCachedIcons
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    24
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    25
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    26
    <resource: #image>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    27
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    28
    ^Icon
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    29
        constantNamed:'BookmarksDialog class fileIn22x22Icon'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    30
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    31
@@@@@@@@GQ4]GQ4]GQ4]GQ4]GQ4]GP@@@@@@@A4]GQ4]GQ4]GQ4]GQ4]GQ4@@@@@@@@]GQ4]GQ4]GQ4]GQ4]GQ4]@ATUEQTUEQTUEA4]GQ4]GQ4]GQ4]GP@U
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    32
GQ4]DPP''I!!TTGQ4]GQ4]GQ4]GQ4@EQ4]GP$K@"XUG!!P]GQ4]GQ4]GQ4]@AT]GQ4IDPX&EAPTEA4]GQ4]GQ4]GP@UGQ4]C1DEI!!<)HQP]@A4]GQ4]GQ4@EQ4]
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    33
GQLIFQ,)JQ\TGP@@GQ4]GQ4]@AT]GQ4]BRH)JR$)JR$)JR$)GQ4]GP@UGQ4SDPP)JR$)JR$)JR$)JQ4]GQ4@EQ4SC1 )JR$)JR$)JR$)JR$@@A4]@AT]GQDZ
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    34
F2$)JR$)JR$)JR$)GP@]GQ4UGP<LAPX&JR$)JR$)JR$)JP@@GQ4]EQ4@H TFI 8)JPDTGP@@GQ4]GQ4]GQT]ABHEF!!,NJB$AEA4@@A4]GQ4]GQ4UGRHYF XB
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    35
C!!<J@QP]GQ4]GQ4]GQ4]EP$"H TFI 8(B DTGQ4]GQ4]GQ4]@APTEAPTEAPTEAPTEA4]GQ4]GQ4]GP@@@@@@@A4]GQ4]GQ4]GQ4]GQ4]GQ4@@@@@@@@]GQ4]
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    36
GQ4]GQ4]GQ4]GQ4]@@@@@@@@@@@@@@@@@A4]GQ4]GQ4]GP@a') ; colorMapFromArray:#[250 250 255 225 225 237 236 236 244 213 213 228 245 245 252 241 241 248 239 239 246 216 216 230 210 210 224 252 252 255 229 229 239 248 248 254 244 244 250 219 219 232 234 234 243 253 253 255 232 232 241 249 249 254 224 224 236 254 254 255 156 156 182 208 208 223 206 206 221 204 204 219 246 246 253 242 242 249 240 240 247 238 238 245 215 215 229 255 255 255 211 211 225 230 230 240 228 228 238 201 201 218 243 243 249 222 222 235 220 220 233 218 218 231 235 235 244 233 233 242 231 231 240 248 0 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@_<@@_>@@_?@@_? @_? @_? @_??@_??@_??@_??@_??@_? @_? @_? @_? @_? @@@@@@@@@@@@@') ; yourself); yourself]
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    37
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    38
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    39
icon
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    40
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    41
    ^ ToolbarIconLibrary directoryBookmarksIcon
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    42
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    43
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    44
!BookmarksEditDialog class methodsFor:'interface specs'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    45
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    46
windowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    47
    "This resource specification was automatically generated
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    48
     by the UIPainter of ST/X."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    49
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    50
    "Do not manually edit this!! If it is corrupted,
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    51
     the UIPainter may not be able to read the specification."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    52
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    53
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    54
     UIPainter new openOnClass:BookmarksDialog andSelector:#windowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    55
     BookmarksDialog new openInterface:#windowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    56
     BookmarksDialog open
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    57
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    58
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    59
    <resource: #canvas>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    60
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    61
    ^ 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    62
     #(FullSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    63
        name: windowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    64
        window: 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    65
       (WindowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    66
          label: 'Edit Bookmarks'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    67
          name: 'Edit Bookmarks'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    68
          min: (Point 0 0)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    69
          bounds: (Rectangle 0 0 450 296)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    70
        )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    71
        component: 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    72
       (SpecCollection
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    73
          collection: (
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    74
           (MenuPanelSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    75
              name: 'ToolBar'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    76
              layout: (LayoutFrame 0 0 0 0 0 1 30 0)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    77
              menu: toolBarMenu
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    78
              textDefault: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    79
            )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    80
           (SequenceViewSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    81
              name: 'BookmarkList'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    82
              layout: (LayoutFrame 0 0 30 0 0 1 -30 1)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    83
              model: selectedBookmarksHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    84
              hasHorizontalScrollBar: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    85
              hasVerticalScrollBar: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    86
              isMultiSelect: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    87
              useIndex: false
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    88
              sequenceList: bookmarkListHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    89
            )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    90
           (HorizontalPanelViewSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    91
              name: 'HorizontalPanel1'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    92
              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    93
              horizontalLayout: center
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    94
              verticalLayout: center
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    95
              horizontalSpace: 3
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    96
              verticalSpace: 3
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    97
              component: 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    98
             (SpecCollection
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    99
                collection: (
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   100
                 (ActionButtonSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   101
                    label: 'OK'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   102
                    name: 'Button1'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   103
                    translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   104
                    model: doAccept
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   105
                    extent: (Point 125 22)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   106
                  )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   107
                 (ActionButtonSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   108
                    label: 'Cancel'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   109
                    name: 'Button2'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   110
                    translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   111
                    model: doCancel
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   112
                    extent: (Point 125 22)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   113
                  )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   114
                 )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   115
               
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   116
              )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   117
            )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   118
           )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   119
         
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   120
        )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   121
      )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   122
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   123
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   124
!BookmarksEditDialog class methodsFor:'menu specs'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   125
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   126
toolBarMenu
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   127
    "This resource specification was automatically generated
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   128
     by the MenuEditor of ST/X."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   129
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   130
    "Do not manually edit this!! If it is corrupted,
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   131
     the MenuEditor may not be able to read the specification."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   132
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   133
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   134
     MenuEditor new openOnClass:BookmarksEditDialog andSelector:#toolBarMenu
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   135
     (Menu new fromLiteralArrayEncoding:(BookmarksEditDialog toolBarMenu)) startUp
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   136
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   137
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   138
    <resource: #menu>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   139
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   140
    ^ 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   141
     #(Menu
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   142
        (
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   143
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   144
            label: 'New'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   145
            itemValue: new
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   146
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   147
            labelImage: (ResourceRetriever XPToolbarIconLibrary newBookmark22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   148
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   149
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   150
            enabled: removeButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   151
            label: 'Remove'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   152
            itemValue: remove
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   153
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   154
            labelImage: (ResourceRetriever XPToolbarIconLibrary close22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   155
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   156
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   157
            label: '-'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   158
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   159
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   160
            enabled: upButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   161
            label: 'Up'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   162
            itemValue: up
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   163
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   164
            labelImage: (ResourceRetriever XPToolbarIconLibrary up22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   165
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   166
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   167
            enabled: downButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   168
            label: 'Down'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   169
            itemValue: down
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   170
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   171
            labelImage: (ResourceRetriever XPToolbarIconLibrary down22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   172
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   173
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   174
            label: '-'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   175
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   176
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   177
            label: 'Import'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   178
            itemValue: import
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   179
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   180
            labelImage: (ResourceRetriever BookmarksEditDialog fileIn22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   181
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   182
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   183
            label: 'Export'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   184
            itemValue: export
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   185
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   186
            labelImage: (ResourceRetriever XPToolbarIconLibrary fileIn22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   187
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   188
         )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   189
        nil
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   190
        nil
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   191
      )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   192
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   193
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   194
!BookmarksEditDialog class methodsFor:'opening'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   195
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   196
openWith: bookmarks
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   197
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   198
    ^ self openWith: bookmarks defaultBookmark: ''
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   199
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   200
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   201
openWith: bookmarks defaultBookmark: aFilename
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   202
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   203
    | dialog bookmarkStrings |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   204
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   205
    dialog := BookmarksEditDialog new.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   206
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   207
    dialog allButOpenInterface:#windowSpec.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   208
    Dialog aboutToOpenBoxNotificationSignal raiseRequestWith:dialog. 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   209
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   210
    aFilename notNil ifTrue:[dialog defaultBookmark: aFilename asString.].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   211
    bookmarkStrings := bookmarks collect:[:each | each asString].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   212
    dialog bookmarkList: bookmarkStrings.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   213
    dialog openWindow.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   214
    ^ dialog answer
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   215
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   216
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   217
!BookmarksEditDialog methodsFor:'accessing'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   218
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   219
answer
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   220
    ^ answer
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   221
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   222
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   223
bookmarkList
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   224
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   225
    ^ self bookmarkListHolder.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   226
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   227
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   228
bookmarkList: bookmarkStrings
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   229
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   230
    self bookmarkList contents: bookmarkStrings.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   231
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   232
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   233
defaultBookmark
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   234
    ^ defaultBookmark
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   235
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   236
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   237
defaultBookmark:something
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   238
    defaultBookmark := something.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   239
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   240
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   241
indexForNewBookmark
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   242
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   243
    | index |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   244
    index := self selectedBookmarkIndex.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   245
    index = 0 ifTrue:[^ self bookmarkList size].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   246
    ^ index
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   247
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   248
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   249
indexOfBookmark: aString
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   250
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   251
    ^ self bookmarkList indexOf: aString
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   252
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   253
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   254
selectBookmark: bookmark
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   255
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   256
    self selectedBookmarks: (Array with: bookmark).
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   257
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   258
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   259
selectedBookmarkIndex
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   260
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   261
    | someBookmarks |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   262
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   263
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   264
    someBookmarks size = 1 ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   265
        ^ self indexOfBookmark: someBookmarks first
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   266
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   267
    ^ 0
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   268
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   269
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   270
selectedBookmarks
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   271
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   272
    ^ self selectedBookmarksHolder value
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   273
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   274
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   275
selectedBookmarks: aCollection
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   276
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   277
    ^ self selectedBookmarksHolder value: aCollection
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   278
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   279
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   280
!BookmarksEditDialog methodsFor:'aspects'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   281
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   282
bookmarkListHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   283
    <resource: #uiAspect>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   284
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   285
    bookmarkListHolder isNil ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   286
        bookmarkListHolder := List new.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   287
"/ if your app needs to be notified of changes, uncomment one of the lines below:
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   288
"/       bookmarkListHolder addDependent:self.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   289
"/        bookmarkListHolder onChangeSend:#bookmarkListChanged to:self.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   290
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   291
    ^ bookmarkListHolder.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   292
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   293
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   294
downButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   295
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   296
    ^ builder valueAspectFor:#'downButtonEnabledHolder' initialValue:false
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   297
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   298
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   299
removeButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   300
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   301
    ^ builder valueAspectFor:#'removeButtonEnabledHolder' initialValue:false
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   302
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   303
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   304
selectedBookmarksHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   305
    <resource: #uiAspect>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   306
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   307
    selectedBookmarksHolder isNil ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   308
        selectedBookmarksHolder := #() asValue.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   309
"/ if your app needs to be notified of changes, uncomment one of the lines below:
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   310
"/       selectedBookmarksHolder addDependent:self.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   311
       selectedBookmarksHolder onChangeSend:#selectedBookmarksChanged to:self.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   312
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   313
    ^ selectedBookmarksHolder.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   314
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   315
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   316
upButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   317
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   318
    ^ builder valueAspectFor:#'upButtonEnabledHolder' initialValue:false
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   319
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   320
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   321
!BookmarksEditDialog methodsFor:'initialize'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   322
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   323
initialize
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   324
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   325
    defaultBookmark := ''.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   326
    ^ super initialize.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   327
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   328
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   329
!BookmarksEditDialog methodsFor:'menu actions'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   330
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   331
down
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   332
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   333
    | someBookmarks bookmarkToMove index |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   334
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   335
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   336
    someBookmarks size = 1 ifFalse:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   337
    bookmarkToMove := someBookmarks first.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   338
    index := self indexOfBookmark: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   339
    index = self bookmarkList size ifTrue:[^self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   340
    self bookmarkList remove: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   341
    self bookmarkList add: bookmarkToMove afterIndex: index.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   342
    self selectBookmark: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   343
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   344
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   345
export
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   346
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   347
    | filename bookmarks |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   348
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   349
    filename := Dialog 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   350
        requestFileName:'Select file to export bookmarks:' 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   351
        default:'.fileBrowserBookmarks'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   352
        fromDirectory:Filename desktopDirectory. 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   353
    filename isEmptyOrNil ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   354
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   355
    bookmarks := self bookmarkList.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   356
    AbstractFileBrowser saveBookmarks: bookmarks in:filename.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   357
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   358
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   359
import
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   360
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   361
    | answer filename bookmarksFromFile bookmarksToAdd bookmarks|
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   362
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   363
    answer := Dialog 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   364
        requestFileName:'Select file to import bookmarks:' 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   365
        default:'.fileBrowserBookmarks'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   366
        fromDirectory:Filename desktopDirectory.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   367
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   368
    answer isEmptyOrNil ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   369
    filename := answer asFilename.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   370
    (filename isDirectory or:[filename exists not]) ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   371
    bookmarksFromFile := AbstractFileBrowser bookmarksFrom: filename.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   372
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   373
    bookmarks := self bookmarkList.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   374
    bookmarksToAdd := bookmarksFromFile reject:[:each | bookmarks includes: each].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   375
    bookmarks addAll: bookmarksToAdd.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   376
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   377
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   378
new
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   379
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   380
    | someBookmarks default index bookmark|
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   381
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   382
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   383
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   384
    default := someBookmarks isEmpty 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   385
        ifTrue:[defaultBookmark]
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   386
        ifFalse:[someBookmarks first].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   387
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   388
    bookmark := Dialog request:'New Bookmark' title:'Enter a directory' initialAnswer:default.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   389
    bookmark isEmptyOrNil ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   390
    (self bookmarkList includes: bookmark) ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   391
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   392
    index := self indexForNewBookmark.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   393
    self bookmarkList add: bookmark afterIndex: index.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   394
    self selectBookmark: bookmark.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   395
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   396
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   397
remove
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   398
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   399
    | someBookmarks message ans |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   400
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   401
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   402
    someBookmarks isEmpty ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   403
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   404
    message := 'Really remove bookmarks: ', String lf.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   405
    someBookmarks do:[:each | message := message, String lf, (String new: 5) , each].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   406
    ans := Dialog confirm: message.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   407
    ans ifFalse:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   408
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   409
    self bookmarkList removeAll: someBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   410
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   411
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   412
up
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   413
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   414
    | someBookmarks bookmarkToMove index |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   415
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   416
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   417
    someBookmarks size = 1 ifFalse:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   418
    bookmarkToMove := someBookmarks first.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   419
    index := self indexOfBookmark: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   420
    index = 1 ifTrue:[^self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   421
    self bookmarkList remove: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   422
    self bookmarkList add: bookmarkToMove beforeIndex: index - 1.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   423
    self selectBookmark: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   424
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   425
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   426
!BookmarksEditDialog methodsFor:'queries'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   427
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   428
hasChanges
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   429
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   430
    |oldDirectoryBookmarks|
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   431
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   432
    oldDirectoryBookmarks := AbstractFileBrowser directoryBookmarks collect:[:each | each asString].
8023
7fd192f7449e changed #hasChanges
fm
parents: 8014
diff changeset
   433
    ^ self bookmarkList asOrderedCollection ~= oldDirectoryBookmarks
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   434
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   435
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   436
!BookmarksEditDialog methodsFor:'user actions'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   437
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   438
doAccept
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   439
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   440
    | filenames |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   441
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   442
    filenames := self bookmarkList collect:[:each | each asFilename].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   443
    answer := filenames.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   444
    ^ super doAccept
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   445
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   446
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   447
doCancel
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   448
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   449
    | ans |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   450
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   451
    self hasChanges ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   452
        ans := Dialog confirm: 'Really cancel all changes?'.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   453
        ans ifFalse:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   454
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   455
    ^ super doCancel
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   456
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   457
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   458
selectedBookmarksChanged
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   459
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   460
    | someBookmarks selectedBookmarkIndex |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   461
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   462
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   463
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   464
    self upButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   465
    self downButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   466
    self removeButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   467
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   468
    someBookmarks isEmpty ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   469
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   470
    someBookmarks size = 1 ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   471
        selectedBookmarkIndex := self selectedBookmarkIndex.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   472
        selectedBookmarkIndex = 1 ifFalse:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   473
            self upButtonEnabledHolder value: true.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   474
        ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   475
        selectedBookmarkIndex = self bookmarkList size ifFalse:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   476
            self downButtonEnabledHolder value: true.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   477
        ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   478
    ] ifFalse:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   479
        self upButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   480
        self downButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   481
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   482
    self removeButtonEnabledHolder value: true.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   483
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   484
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   485
!BookmarksEditDialog class methodsFor:'documentation'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   486
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   487
version
8023
7fd192f7449e changed #hasChanges
fm
parents: 8014
diff changeset
   488
    ^ '$Header: /cvs/stx/stx/libtool/BookmarksEditDialog.st,v 1.2 2008-03-12 16:50:33 fm Exp $'
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   489
! !