diff --git a/src/Squot.package/SqueakWorkingCopy.class/instance/remoteNames.st b/src/Squot.package/SqueakWorkingCopy.class/instance/remoteNames.st new file mode 100644 index 000000000..22fd424a9 --- /dev/null +++ b/src/Squot.package/SqueakWorkingCopy.class/instance/remoteNames.st @@ -0,0 +1,3 @@ +remotes +remoteNames + ^ self unitOfWork remoteNames \ No newline at end of file diff --git a/src/Squot.package/SqueakWorkingCopy.class/methodProperties.json b/src/Squot.package/SqueakWorkingCopy.class/methodProperties.json index 6539bf113..6cdf6c993 100644 --- a/src/Squot.package/SqueakWorkingCopy.class/methodProperties.json +++ b/src/Squot.package/SqueakWorkingCopy.class/methodProperties.json @@ -91,6 +91,7 @@ "refsForCommits" : "mad 9/11/2023 16:36", "refsForCommits:" : "mad 9/11/2023 16:36", "register" : "mad 9/19/2023 12:07", + "remoteNames" : "mad 9/21/2023 17:05", "removeMapper:" : "mad 9/20/2023 17:30", "requestCredentialsFor:ifCanceled:" : "mad 9/18/2023 12:49", "requestRemoteNameAndRefFor:" : "mad 9/18/2023 20:04", diff --git a/src/Squot.package/SquotBrowser.class/instance/projectListMenu..st b/src/Squot.package/SquotBrowser.class/instance/projectListMenu..st index a2367c021..1c79be581 100644 --- a/src/Squot.package/SquotBrowser.class/instance/projectListMenu..st +++ b/src/Squot.package/SquotBrowser.class/instance/projectListMenu..st @@ -3,7 +3,11 @@ projectListMenu: aMenu self activeWorkingCopy ifNotNil: [ aMenu target: self; - add: 'remove this project' action: #actionRemoveActiveProject]. + add: 'remove this project' action: #actionRemoveActiveProject; + add: 'manage remotes' + target: SquotRemotesBrowser + selector: #openOnWorkingCopy: + argument: self activeWorkingCopy]. aMenu target: self; add: 'new project' action: #actionNewProject; diff --git a/src/Squot.package/SquotBrowser.class/methodProperties.json b/src/Squot.package/SquotBrowser.class/methodProperties.json index 1ade7e8e8..a22e9f05f 100644 --- a/src/Squot.package/SquotBrowser.class/methodProperties.json +++ b/src/Squot.package/SquotBrowser.class/methodProperties.json @@ -64,7 +64,7 @@ "openDialogToMaterializeCommit:displayName:" : "mad 9/21/2023 13:55", "openDialogToMaterializeHead" : "mad 9/21/2023 13:57", "openDialogToMergeChangeSets:from:displayName:" : "mad 9/19/2023 12:36", - "projectListMenu:" : "mad 9/21/2023 11:59", + "projectListMenu:" : "mad 9/21/2023 17:10", "refChanged:" : "mad 9/15/2023 11:04", "refList" : "mad 9/19/2023 14:37", "refListMenu:" : "mad 9/21/2023 13:50", diff --git a/src/Squot.package/SquotRemoteDialog.class/README.md b/src/Squot.package/SquotRemoteDialog.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/Squot.package/SquotRemoteDialog.class/class/getRemoteWithTitle..st b/src/Squot.package/SquotRemoteDialog.class/class/getRemoteWithTitle..st new file mode 100644 index 000000000..ef2d643bc --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/class/getRemoteWithTitle..st @@ -0,0 +1,4 @@ +dialog +getRemoteWithTitle: aString + ^ (self withTitle: aString) + getRemote \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/class/getRemoteWithTitle.name.url..st b/src/Squot.package/SquotRemoteDialog.class/class/getRemoteWithTitle.name.url..st new file mode 100644 index 000000000..02e3176a6 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/class/getRemoteWithTitle.name.url..st @@ -0,0 +1,4 @@ +dialog +getRemoteWithTitle: titleString name: nameString url: urlString + ^ (self withTitle: titleString name: nameString url: urlString) + getRemote \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/class/withTitle..st b/src/Squot.package/SquotRemoteDialog.class/class/withTitle..st new file mode 100644 index 000000000..be632b15a --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/class/withTitle..st @@ -0,0 +1,5 @@ +instance creation +withTitle: aString + ^ self new + title: aString; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/class/withTitle.name.url..st b/src/Squot.package/SquotRemoteDialog.class/class/withTitle.name.url..st new file mode 100644 index 000000000..0943606bf --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/class/withTitle.name.url..st @@ -0,0 +1,6 @@ +instance creation +withTitle: titleString name: nameString url: urlString + ^ (self withTitle: titleString) + remoteName: nameString; + remoteUrl: urlString; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/accept.st b/src/Squot.package/SquotRemoteDialog.class/instance/accept.st new file mode 100644 index 000000000..da223ebdf --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/accept.st @@ -0,0 +1,5 @@ +actions +accept + self + accepted: true; + close. \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/accepted..st b/src/Squot.package/SquotRemoteDialog.class/instance/accepted..st new file mode 100644 index 000000000..1b724b2b2 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/accepted..st @@ -0,0 +1,3 @@ +accessing +accepted: aBoolean + accepted := aBoolean \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/accepted.st b/src/Squot.package/SquotRemoteDialog.class/instance/accepted.st new file mode 100644 index 000000000..c49d3143f --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/accepted.st @@ -0,0 +1,3 @@ +accessing +accepted + ^ accepted ifNil: [false] \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildButtons..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildButtons..st new file mode 100644 index 000000000..2a7613bf6 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildButtons..st @@ -0,0 +1,6 @@ +toolbuilder +buildButtons: builder + ^ { + self buildCancelButton: builder. + self buildOkButton: builder. + } \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildCancelButton..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildCancelButton..st new file mode 100644 index 000000000..111fe24e6 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildCancelButton..st @@ -0,0 +1,7 @@ +toolbuilder +buildCancelButton: builder + ^ builder pluggableActionButtonSpec new + model: self; + action: #close; + label: 'Cancel'; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildDialogWith..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildDialogWith..st new file mode 100644 index 000000000..06bb8b5a3 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildDialogWith..st @@ -0,0 +1,8 @@ +toolbuilder +buildDialogWith: builder + ^ builder pluggableDialogSpec new + model: self; + title: self title; + children: (self buildLayout: builder); + buttons: (self buildButtons: builder); + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildInputsPanel..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildInputsPanel..st new file mode 100644 index 000000000..13c140a4e --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildInputsPanel..st @@ -0,0 +1,6 @@ +toolbuilder +buildInputsPanel: builder + ^ SquotGUIUtilities buildVerticalLayout: { + self buildRemoteNameInput: builder. + self buildRemoteUrlInput: builder. + } with: builder \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildLayout..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildLayout..st new file mode 100644 index 000000000..6dc8e4632 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildLayout..st @@ -0,0 +1,5 @@ +toolbuilder +buildLayout: builder + ^ {(self buildInputsPanel: builder) + frame: LayoutFrame fullFrame; + yourself} \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildOkButton..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildOkButton..st new file mode 100644 index 000000000..8d08fe77a --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildOkButton..st @@ -0,0 +1,7 @@ +toolbuilder +buildOkButton: builder + ^ builder pluggableActionButtonSpec new + model: self; + action: #accept; + label: 'Ok'; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildRemoteNameInput..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildRemoteNameInput..st new file mode 100644 index 000000000..1be7c2444 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildRemoteNameInput..st @@ -0,0 +1,9 @@ +toolbuilder +buildRemoteNameInput: builder + ^ builder pluggableInputFieldSpec new + model: self; + getText: #remoteName; + editText: #remoteName:; + setText: #remoteName:; + help: 'name'; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildRemoteUrlInput..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildRemoteUrlInput..st new file mode 100644 index 000000000..f72430f36 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildRemoteUrlInput..st @@ -0,0 +1,9 @@ +toolbuilder +buildRemoteUrlInput: builder + ^ builder pluggableInputFieldSpec new + model: self; + getText: #remoteUrl; + editText: #remoteUrl:; + setText: #remoteUrl:; + help: 'URL'; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/buildWith..st b/src/Squot.package/SquotRemoteDialog.class/instance/buildWith..st new file mode 100644 index 000000000..2731a8dd8 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/buildWith..st @@ -0,0 +1,3 @@ +toolbuilder +buildWith: builder + ^ builder build: (self buildDialogWith: builder) \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/close.st b/src/Squot.package/SquotRemoteDialog.class/instance/close.st new file mode 100644 index 000000000..0e9810592 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/close.st @@ -0,0 +1,3 @@ +toolbuilder +close + self changed: #close. \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/getRemote.st b/src/Squot.package/SquotRemoteDialog.class/instance/getRemote.st new file mode 100644 index 000000000..80352effb --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/getRemote.st @@ -0,0 +1,4 @@ +dialog +getRemote + self open. + ^ self remote \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/open.st b/src/Squot.package/SquotRemoteDialog.class/instance/open.st new file mode 100644 index 000000000..ae2371d80 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/open.st @@ -0,0 +1,4 @@ +toolbuilder +open + self accepted: false. + ^ ToolBuilder open: self \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/remote.st b/src/Squot.package/SquotRemoteDialog.class/instance/remote.st new file mode 100644 index 000000000..2b5e146d2 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/remote.st @@ -0,0 +1,8 @@ +accessing +remote + self accepted ifFalse: [^ nil]. + self remoteName isEmptyOrNil ifTrue: [^ nil]. + self remoteUrl isEmptyOrNil ifTrue: [^ nil]. + ^ (GitRemote name: self remoteName url: self remoteUrl) + addDefaultFetchSpec; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/remoteName..st b/src/Squot.package/SquotRemoteDialog.class/instance/remoteName..st new file mode 100644 index 000000000..986f748f9 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/remoteName..st @@ -0,0 +1,3 @@ +accessing +remoteName: aString + remoteName := aString \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/remoteName.st b/src/Squot.package/SquotRemoteDialog.class/instance/remoteName.st new file mode 100644 index 000000000..4beb4a632 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/remoteName.st @@ -0,0 +1,3 @@ +accessing +remoteName + ^ remoteName \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/remoteUrl..st b/src/Squot.package/SquotRemoteDialog.class/instance/remoteUrl..st new file mode 100644 index 000000000..dfa50a906 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/remoteUrl..st @@ -0,0 +1,3 @@ +accessing +remoteUrl: aString + remoteUrl := aString \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/remoteUrl.st b/src/Squot.package/SquotRemoteDialog.class/instance/remoteUrl.st new file mode 100644 index 000000000..5b2a3467d --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/remoteUrl.st @@ -0,0 +1,3 @@ +accessing +remoteUrl + ^ remoteUrl \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/title..st b/src/Squot.package/SquotRemoteDialog.class/instance/title..st new file mode 100644 index 000000000..b28409e5e --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/title..st @@ -0,0 +1,3 @@ +accessing +title: aString + title := aString \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/instance/title.st b/src/Squot.package/SquotRemoteDialog.class/instance/title.st new file mode 100644 index 000000000..fc1a896a1 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/instance/title.st @@ -0,0 +1,3 @@ +accessing +title + ^ title \ No newline at end of file diff --git a/src/Squot.package/SquotRemoteDialog.class/methodProperties.json b/src/Squot.package/SquotRemoteDialog.class/methodProperties.json new file mode 100644 index 000000000..490d947a7 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/methodProperties.json @@ -0,0 +1,29 @@ +{ + "class" : { + "getRemoteWithTitle:" : "mad 9/21/2023 17:53", + "getRemoteWithTitle:name:url:" : "mad 9/21/2023 17:53", + "withTitle:" : "mad 9/21/2023 17:52", + "withTitle:name:url:" : "mad 9/21/2023 17:52" }, + "instance" : { + "accept" : "mad 9/21/2023 18:14", + "accepted" : "mad 9/21/2023 18:15", + "accepted:" : "mad 9/21/2023 18:15", + "buildButtons:" : "mad 9/21/2023 17:47", + "buildCancelButton:" : "mad 9/21/2023 18:16", + "buildDialogWith:" : "mad 9/21/2023 18:18", + "buildInputsPanel:" : "mad 9/21/2023 17:45", + "buildLayout:" : "mad 9/21/2023 18:18", + "buildOkButton:" : "mad 9/21/2023 17:47", + "buildRemoteNameInput:" : "mad 9/21/2023 18:20", + "buildRemoteUrlInput:" : "mad 9/21/2023 18:20", + "buildWith:" : "mad 9/21/2023 17:48", + "close" : "mad 9/21/2023 17:43", + "getRemote" : "mad 9/21/2023 17:49", + "open" : "mad 9/21/2023 18:17", + "remote" : "mad 9/21/2023 18:15", + "remoteName" : "mad 9/21/2023 17:51", + "remoteName:" : "mad 9/21/2023 18:09", + "remoteUrl" : "mad 9/21/2023 17:51", + "remoteUrl:" : "mad 9/21/2023 18:09", + "title" : "mad 9/21/2023 17:51", + "title:" : "mad 9/21/2023 18:29" } } diff --git a/src/Squot.package/SquotRemoteDialog.class/properties.json b/src/Squot.package/SquotRemoteDialog.class/properties.json new file mode 100644 index 000000000..cb9dd5c85 --- /dev/null +++ b/src/Squot.package/SquotRemoteDialog.class/properties.json @@ -0,0 +1,17 @@ +{ + "category" : "Squot-Mapper-Browser", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "title", + "remoteName", + "remoteUrl", + "accepted" ], + "name" : "SquotRemoteDialog", + "pools" : [ + ], + "super" : "Model", + "type" : "normal" } diff --git a/src/Squot.package/SquotRemotesBrowser.class/README.md b/src/Squot.package/SquotRemotesBrowser.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/Squot.package/SquotRemotesBrowser.class/class/onWorkingCopy..st b/src/Squot.package/SquotRemotesBrowser.class/class/onWorkingCopy..st new file mode 100644 index 000000000..6b26fd94a --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/class/onWorkingCopy..st @@ -0,0 +1,5 @@ +as yet unclassified +onWorkingCopy: aWorkingCopy + ^ self new + workingCopy: aWorkingCopy; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/class/openOnWorkingCopy..st b/src/Squot.package/SquotRemotesBrowser.class/class/openOnWorkingCopy..st new file mode 100644 index 000000000..1f25db11a --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/class/openOnWorkingCopy..st @@ -0,0 +1,4 @@ +as yet unclassified +openOnWorkingCopy: aWorkingCopy + ^ (self onWorkingCopy: aWorkingCopy) + open \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/actionAddRemote.st b/src/Squot.package/SquotRemotesBrowser.class/instance/actionAddRemote.st new file mode 100644 index 000000000..15e779c83 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/actionAddRemote.st @@ -0,0 +1,3 @@ +actions +actionAddRemote + self addRemote: (SquotRemoteDialog getRemoteWithTitle: 'Add Remote'). \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/actionEditRemote.st b/src/Squot.package/SquotRemotesBrowser.class/instance/actionEditRemote.st new file mode 100644 index 000000000..8a6cb22d2 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/actionEditRemote.st @@ -0,0 +1,10 @@ +actions +actionEditRemote + self selectedRemoteName ifNil: [^ self]. + self withUnitOfWork: [| remote | + remote := self selectedRemote. + self addRemote: + (SquotRemoteDialog + getRemoteWithTitle: 'Edit Remote' + name: remote name + url: remote url)]. diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/actionRemoveRemote.st b/src/Squot.package/SquotRemotesBrowser.class/instance/actionRemoveRemote.st new file mode 100644 index 000000000..5d17ec368 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/actionRemoveRemote.st @@ -0,0 +1,3 @@ +actions +actionRemoveRemote + self unitOfWork removeRemoteNamed: (self selectedRemoteName ifNil: [^ self]). \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/addRemote..st b/src/Squot.package/SquotRemotesBrowser.class/instance/addRemote..st new file mode 100644 index 000000000..b6d417429 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/addRemote..st @@ -0,0 +1,5 @@ +actions +addRemote: aGitRemote + self unitOfWork addRemote: (aGitRemote ifNil: [^ self]). + (self confirm: ('Do you want to fetch the new remote ''{1}'' now?' format: {aGitRemote name})) + ifTrue: [self workingCopy fetch: aGitRemote name]. \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildAddRemoteButton..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildAddRemoteButton..st new file mode 100644 index 000000000..11fb885f8 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildAddRemoteButton..st @@ -0,0 +1,7 @@ +toolbuilder +buildAddRemoteButton: builder + ^ builder pluggableActionButtonSpec new + model: self; + action: #actionAddRemote; + label: 'Add remote'; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildButtons..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildButtons..st new file mode 100644 index 000000000..0b05b5d72 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildButtons..st @@ -0,0 +1,7 @@ +toolbuilder +buildButtons: builder + ^ SquotGUIUtilities buildButtons: { + self buildAddRemoteButton: builder. + self buildEditRemoteButton: builder. + self buildRemoveRemoteButton: builder. + } with: builder \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildEditRemoteButton..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildEditRemoteButton..st new file mode 100644 index 000000000..7396b14c7 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildEditRemoteButton..st @@ -0,0 +1,8 @@ +toolbuilder +buildEditRemoteButton: builder + ^ builder pluggableActionButtonSpec new + model: self; + action: #actionEditRemote; + enabled: #hasSelectedRemote; + label: 'Edit remote'; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildInputsPanel..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildInputsPanel..st new file mode 100644 index 000000000..13c140a4e --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildInputsPanel..st @@ -0,0 +1,6 @@ +toolbuilder +buildInputsPanel: builder + ^ SquotGUIUtilities buildVerticalLayout: { + self buildRemoteNameInput: builder. + self buildRemoteUrlInput: builder. + } with: builder \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildLayout..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildLayout..st new file mode 100644 index 000000000..9da010c59 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildLayout..st @@ -0,0 +1,6 @@ +toolbuilder +buildLayout: builder + ^ SquotGUIUtilities buildVerticalLayout: { + self buildRemoteList: builder. + self buildButtons: builder. + } with: builder \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoteDialog.title..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoteDialog.title..st new file mode 100644 index 000000000..b0bbc8b91 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoteDialog.title..st @@ -0,0 +1,7 @@ +toolbuilder +buildRemoteDialog: builder title: aString + ^ builder pluggableDialogSpec new + title: aString; + children: {self buildInputsPanel: builder}; + button: {self buildDialogOkButton: builder}; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoteList..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoteList..st new file mode 100644 index 000000000..d306a1463 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoteList..st @@ -0,0 +1,8 @@ +toolbuilder +buildRemoteList: builder + ^ builder pluggableListSpec new + model: self; + list: #remoteList; + getSelected: #selectedRemoteName; + setSelected: #selectedRemoteName:; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoveRemoteButton..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoveRemoteButton..st new file mode 100644 index 000000000..30041a041 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildRemoveRemoteButton..st @@ -0,0 +1,8 @@ +toolbuilder +buildRemoveRemoteButton: builder + ^ builder pluggableActionButtonSpec new + model: self; + action: #actionRemoveRemote; + enabled: #hasSelectedRemote; + label: 'Remove remote'; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildWindow..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildWindow..st new file mode 100644 index 000000000..c89727eba --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildWindow..st @@ -0,0 +1,7 @@ +toolbuilder +buildWindow: builder + ^ builder pluggableWindowSpec new + model: self; + children: (SquotGUIUtilities windowChild: (self buildLayout: builder)); + label: #windowTitle; + yourself \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/buildWith..st b/src/Squot.package/SquotRemotesBrowser.class/instance/buildWith..st new file mode 100644 index 000000000..6ee13b821 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/buildWith..st @@ -0,0 +1,3 @@ +toolbuilder +buildWith: builder + ^ builder build: (self buildWindow: builder) \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/hasSelectedRemote.st b/src/Squot.package/SquotRemotesBrowser.class/instance/hasSelectedRemote.st new file mode 100644 index 000000000..b06b4520b --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/hasSelectedRemote.st @@ -0,0 +1,3 @@ +accessing +hasSelectedRemote + ^ self selectedRemoteName notNil \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/open.st b/src/Squot.package/SquotRemotesBrowser.class/instance/open.st new file mode 100644 index 000000000..89acf04e2 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/open.st @@ -0,0 +1,3 @@ +toolbuilder +open + ^ ToolBuilder open: self \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/remoteList.st b/src/Squot.package/SquotRemotesBrowser.class/instance/remoteList.st new file mode 100644 index 000000000..c82dbebdb --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/remoteList.st @@ -0,0 +1,3 @@ +ui +remoteList + ^ self workingCopy remoteNames sorted \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemote.st b/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemote.st new file mode 100644 index 000000000..ea99643fd --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemote.st @@ -0,0 +1,3 @@ +accessing +selectedRemote + ^ self unitOfWork remoteNamed: (self selectedRemoteName ifNil: [^ nil]) \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemoteName..st b/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemoteName..st new file mode 100644 index 000000000..03b130f23 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemoteName..st @@ -0,0 +1,6 @@ +accessing +selectedRemoteName: aString + selectedRemoteName := aString. + self + changed: #selectedRemoteName; + changed: #hasSelectedRemote. \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemoteName.st b/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemoteName.st new file mode 100644 index 000000000..bdf4642fb --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/selectedRemoteName.st @@ -0,0 +1,3 @@ +accessing +selectedRemoteName + ^ selectedRemoteName \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/unitOfWork.st b/src/Squot.package/SquotRemotesBrowser.class/instance/unitOfWork.st new file mode 100644 index 000000000..ba44699d8 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/unitOfWork.st @@ -0,0 +1,3 @@ +accessing +unitOfWork + ^ self workingCopy unitOfWork \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/update..st b/src/Squot.package/SquotRemotesBrowser.class/instance/update..st new file mode 100644 index 000000000..86e5e60ac --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/update..st @@ -0,0 +1,4 @@ +updating +update: anObject + super update: anObject. + anObject = #config ifTrue: [self changed: #remoteList]. \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/windowTitle.st b/src/Squot.package/SquotRemotesBrowser.class/instance/windowTitle.st new file mode 100644 index 000000000..5022c48af --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/windowTitle.st @@ -0,0 +1,3 @@ +toolbuilder +windowTitle + ^ 'Remotes of ', self workingCopy name \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/withUnitOfWork..st b/src/Squot.package/SquotRemotesBrowser.class/instance/withUnitOfWork..st new file mode 100644 index 000000000..dcf541bab --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/withUnitOfWork..st @@ -0,0 +1,3 @@ +accessing +withUnitOfWork: aBlock + ^ self workingCopy withUnitOfWork: aBlock \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/workingCopy..st b/src/Squot.package/SquotRemotesBrowser.class/instance/workingCopy..st new file mode 100644 index 000000000..bb03ebe67 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/workingCopy..st @@ -0,0 +1,5 @@ +accessing +workingCopy: aWorkingCopy + workingCopy ifNotNil: [workingCopy removeDependent: self]. + workingCopy := aWorkingCopy. + workingCopy ifNotNil: [workingCopy addDependent: self]. \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/instance/workingCopy.st b/src/Squot.package/SquotRemotesBrowser.class/instance/workingCopy.st new file mode 100644 index 000000000..685b55241 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/instance/workingCopy.st @@ -0,0 +1,3 @@ +accessing +workingCopy + ^ workingCopy \ No newline at end of file diff --git a/src/Squot.package/SquotRemotesBrowser.class/methodProperties.json b/src/Squot.package/SquotRemotesBrowser.class/methodProperties.json new file mode 100644 index 000000000..dfb000895 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/methodProperties.json @@ -0,0 +1,31 @@ +{ + "class" : { + "onWorkingCopy:" : "mad 9/21/2023 17:07", + "openOnWorkingCopy:" : "mad 9/21/2023 17:08" }, + "instance" : { + "actionAddRemote" : "mad 9/21/2023 17:58", + "actionEditRemote" : "mad 9/21/2023 18:06", + "actionRemoveRemote" : "mad 9/21/2023 18:06", + "addRemote:" : "mad 9/21/2023 18:24", + "buildAddRemoteButton:" : "mad 9/21/2023 17:02", + "buildButtons:" : "mad 9/21/2023 17:02", + "buildEditRemoteButton:" : "mad 9/21/2023 17:02", + "buildInputsPanel:" : "mad 9/21/2023 17:24", + "buildLayout:" : "mad 9/21/2023 17:06", + "buildRemoteDialog:title:" : "mad 9/21/2023 17:23", + "buildRemoteList:" : "mad 9/21/2023 18:05", + "buildRemoveRemoteButton:" : "mad 9/21/2023 17:02", + "buildWindow:" : "mad 9/21/2023 17:11", + "buildWith:" : "mad 9/21/2023 17:02", + "hasSelectedRemote" : "mad 9/21/2023 18:06", + "open" : "mad 9/21/2023 17:08", + "remoteList" : "mad 9/21/2023 17:06", + "selectedRemote" : "mad 9/21/2023 18:06", + "selectedRemoteName" : "mad 9/21/2023 18:06", + "selectedRemoteName:" : "mad 9/21/2023 18:06", + "unitOfWork" : "mad 9/21/2023 17:55", + "update:" : "mad 9/21/2023 18:20", + "windowTitle" : "mad 9/21/2023 17:11", + "withUnitOfWork:" : "mad 9/21/2023 17:59", + "workingCopy" : "mad 9/21/2023 17:02", + "workingCopy:" : "mad 9/21/2023 17:04" } } diff --git a/src/Squot.package/SquotRemotesBrowser.class/properties.json b/src/Squot.package/SquotRemotesBrowser.class/properties.json new file mode 100644 index 000000000..7a9f479a0 --- /dev/null +++ b/src/Squot.package/SquotRemotesBrowser.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Squot-Mapper-Browser", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "workingCopy", + "selectedRemoteName" ], + "name" : "SquotRemotesBrowser", + "pools" : [ + ], + "super" : "Model", + "type" : "normal" }