Skip to content

Commit 09b87cc

Browse files
committed
misc fixes
1 parent c63e93e commit 09b87cc

File tree

3 files changed

+92
-42
lines changed

3 files changed

+92
-42
lines changed

repository/ViennaTalk-Application/ViennaCommandLineHandler.class.st

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,19 @@ ViennaCommandLineHandler class >> generate [
7676
ViennaCommandLineHandler >> activate [
7777

7878
self
79+
installLocalDirectory;
7980
installMenu;
8081
installQuitSession.
8182
ViennaLauncher reopen
8283
]
8384

85+
{ #category : 'activation' }
86+
ViennaCommandLineHandler >> installLocalDirectory [
87+
88+
SystemResolver userLocalDirectory:
89+
FileLocator viennaTalkDocumentDirectory
90+
]
91+
8492
{ #category : 'activation' }
8593
ViennaCommandLineHandler >> installMenu [
8694

repository/ViennaTalk-Browser-Core/ViennaRefactoringBrowser.class.st

Lines changed: 83 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -884,6 +884,50 @@ ViennaRefactoringBrowser >> cherrypick [
884884
self updateModuleList ]
885885
]
886886

887+
{ #category : 'user interface' }
888+
ViennaRefactoringBrowser >> chooseDirectory: aString path: aFileReference [
889+
890+
| reference |
891+
reference := nil.
892+
StOpenDirectoryPresenter new
893+
openFolder:
894+
(aFileReference ifNil: [ FileLocator viennaTalkDocumentDirectory ]);
895+
title: aString;
896+
okAction: [ :directoryReference | reference := directoryReference ];
897+
openModal.
898+
^ reference
899+
]
900+
901+
{ #category : 'user interface' }
902+
ViennaRefactoringBrowser >> chooseExistingFileReference: aString extensions: anArrayOfString path: aFileReference [
903+
904+
| reference |
905+
reference := nil.
906+
StOpenFilePresenter new
907+
openFolder:
908+
(aFileReference ifNil: [ FileLocator viennaTalkDocumentDirectory ]);
909+
extensions: anArrayOfString;
910+
title: aString;
911+
okAction: [ :directoryReference | reference := directoryReference ];
912+
openModal.
913+
^ reference
914+
]
915+
916+
{ #category : 'user interface' }
917+
ViennaRefactoringBrowser >> chooseForSaveFileReference: aString extensions: anArrayOfString path: aFileReference [
918+
919+
| reference |
920+
reference := nil.
921+
StSaveFilePresenter new
922+
filter: (StCustomExtensionsFilter extensions: anArrayOfString);
923+
defaultFolder:
924+
(aFileReference ifNil: [ FileLocator viennaTalkDocumentDirectory ]);
925+
title: aString;
926+
okAction: [ :ref | reference := ref ];
927+
openModal.
928+
^ reference
929+
]
930+
887931
{ #category : 'private' }
888932
ViennaRefactoringBrowser >> clearDirty [
889933

@@ -2377,7 +2421,7 @@ ViennaRefactoringBrowser >> load: aFileReference [
23772421
{ #category : 'operations' }
23782422
ViennaRefactoringBrowser >> loadFromDirectory [
23792423

2380-
(UIManager default
2424+
(self
23812425
chooseDirectory: 'Directory to open'
23822426
path: FileLocator viennaTalkDocumentDirectory) ifNotNil: [ :dir |
23832427
self load: dir ]
@@ -2386,7 +2430,7 @@ ViennaRefactoringBrowser >> loadFromDirectory [
23862430
{ #category : 'operations' }
23872431
ViennaRefactoringBrowser >> loadFromFile [
23882432

2389-
(UIManager default
2433+
(self
23902434
chooseExistingFileReference: 'File to open'
23912435
extensions: #( 'vdmsl' )
23922436
path: FileLocator viennaTalkDocumentDirectory) ifNotNil: [ :file |
@@ -2481,43 +2525,43 @@ ViennaRefactoringBrowser >> menuBar [
24812525
ViennaRefactoringBrowser >> mergeAnnotationsIntoFRAM [
24822526

24832527
| fram |
2484-
(UIManager default
2528+
(self
24852529
chooseExistingFileReference: 'Import directory'
24862530
extensions: #( 'xfmv' )
2487-
path: FileLocator viennaTalkDocumentDirectory) ifNotNil: [ :ref |
2531+
path: FileLocator viennaTalkDocumentDirectory) ifNotNil: [ :ref |
24882532
fram := ViennaFRAMModel fromFile: ref ].
24892533
fram ifNil: [ ^ nil ].
24902534
fram loadSpec: self specification.
2491-
(UIManager default
2535+
(self
24922536
chooseForSaveFileReference: 'Export file'
24932537
extensions: #( 'xfmv' )
2494-
path: FileLocator home asFileReference) ifNotNil: [ :ref |
2538+
path: FileLocator home asFileReference) ifNotNil: [ :ref |
24952539
fram writeXMLFile: ref ]
24962540
]
24972541

24982542
{ #category : 'operations' }
24992543
ViennaRefactoringBrowser >> mergeOperationsFromFRAM [
25002544

25012545
| fram copyMap newAst |
2502-
(UIManager default
2546+
(self
25032547
chooseExistingFileReference: 'Import directory'
25042548
extensions: #( 'xfmv' )
25052549
path: FileLocator viennaTalkDocumentDirectory) ifNotNil: [ :ref |
25062550
fram := ViennaFRAMModel fromFile: ref ].
25072551
^ fram ifNotNil: [
2508-
| module category definition |
2509-
module := self module.
2510-
category := self category.
2511-
definition := self definition.
2512-
copyMap := IdentityDictionary new.
2513-
newAst := self specification copyWhole: copyMap.
2514-
fram appendToSpec: newAst.
2515-
self epiLogMergeFRAM: newAst.
2516-
moduleList selectItem: (copyMap at: module ifAbsent: [ nil ]).
2517-
categoryList selectItem: (copyMap at: category ifAbsent: [ nil ]).
2518-
definitionList selectItem:
2519-
(copyMap at: definition ifAbsent: [ nil ]).
2520-
newAst ]
2552+
| module category definition |
2553+
module := self module.
2554+
category := self category.
2555+
definition := self definition.
2556+
copyMap := IdentityDictionary new.
2557+
newAst := self specification copyWhole: copyMap.
2558+
fram appendToSpec: newAst.
2559+
self epiLogMergeFRAM: newAst.
2560+
moduleList selectItem: (copyMap at: module ifAbsent: [ nil ]).
2561+
categoryList selectItem: (copyMap at: category ifAbsent: [ nil ]).
2562+
definitionList selectItem:
2563+
(copyMap at: definition ifAbsent: [ nil ]).
2564+
newAst ]
25212565
]
25222566

25232567
{ #category : 'accessing' }
@@ -2973,37 +3017,36 @@ ViennaRefactoringBrowser >> saveAs [
29733017
{ #category : 'operations' }
29743018
ViennaRefactoringBrowser >> saveAsDirectory [
29753019

2976-
(UIManager default
3020+
(self
29773021
chooseDirectory: 'Directory to save'
2978-
from: FileLocator viennaTalkDocumentDirectory) ifNotNil: [ :dir |
2979-
(dir filesMatching: '*.vdmsl') do: [ :file | file ensureDeleteAll ].
2980-
self specification modulesDo: [ :moduleNode |
2981-
| file |
2982-
file := dir / moduleNode identifier withExtension: 'vdmsl'.
2983-
file
2984-
ensureDeleteAll;
2985-
writeStreamDo: [ :stream |
2986-
stream nextPutAll:
2987-
((ViennaVDMFormatter format: moduleNode) withLineEndings:
2988-
OSPlatform current lineEnding) ] ].
2989-
UIManager default message: 'Save to ' , dir basename , '/.'.
2990-
self fileReference: dir.
2991-
self clearDirty ]
3022+
path: FileLocator viennaTalkDocumentDirectory) ifNotNil: [ :dir |
3023+
(dir filesMatching: '*.vdmsl') do: [ :file | file ensureDeleteAll ].
3024+
self specification modulesDo: [ :moduleNode |
3025+
| file |
3026+
file := dir / moduleNode identifier withExtension: 'vdmsl'.
3027+
file
3028+
ensureDeleteAll;
3029+
writeStreamDo: [ :stream |
3030+
stream nextPutAll:
3031+
((ViennaVDMFormatter format: moduleNode) withLineEndings:
3032+
OSPlatform current lineEnding) ] ].
3033+
UIManager default message: 'Save to ' , dir basename , '/.'.
3034+
self fileReference: dir.
3035+
self clearDirty ]
29923036
]
29933037

29943038
{ #category : 'operations' }
29953039
ViennaRefactoringBrowser >> saveAsFile [
29963040

2997-
(UIManager default
3041+
(self
29983042
chooseForSaveFileReference: 'File to save'
29993043
extensions: #( 'vdmsl' )
3000-
path: FileLocator viennaTalkDocumentDirectory asFileReference)
3001-
ifNotNil: [ :file |
3044+
path: FileLocator viennaTalkDocumentDirectory) ifNotNil: [ :file |
30023045
file
30033046
ensureDeleteAll;
30043047
writeStreamDo: [ :stream |
3005-
stream nextPutAll:
3006-
(self source withLineEndings: OSPlatform current lineEnding) ].
3048+
stream nextPutAll:
3049+
(self source withLineEndings: OSPlatform current lineEnding) ].
30073050
UIManager default message: 'Save to ' , file basename , '.'.
30083051
self fileReference: file.
30093052
self clearDirty ]

repository/ViennaTalk-Engine-Core/ViennaVDMJ.class.st

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,7 @@ ViennaVDMJ class >> globalLock: aBlock [
142142
ViennaVDMJ class >> initialize [
143143

144144
super initialize.
145-
Smalltalk addToStartUpList: self.
146-
Smalltalk isInteractiveGraphic ifTrue: [ self install ]
145+
Smalltalk addToStartUpList: self
147146
]
148147

149148
{ #category : 'class initialization' }

0 commit comments

Comments
 (0)