diff --git a/README.md b/README.md index 80b6c0b5..03c73f3f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # IMAPClient [![Build Status](https://travis-ci.org/hpi-swa-teaching/IMAPClient.svg?branch=develop)](https://travis-ci.org/hpi-swa-teaching/IMAPClient) [![Coverage Status](https://coveralls.io/repos/github/hpi-swa-teaching/IMAPClient/badge.svg?branch=develop)](https://coveralls.io/github/hpi-swa-teaching/IMAPClient?branch=develop) -Welcome to our IMAP Client project. We are a team of 4th semester IT-Systems Engineering students and are happy to take over this project for the sixth iteration. -This project is part of a lecture in Softwareengineering techniques and will be contributing to our final grade, so we are giving it our best ;) -As this is a student project, it will mostly be worked on during the summer terms. Therefore our time with this project is limited to the end of july. +Welcome to our IMAP Client project. We are a team of 4th semester IT-Systems Engineering studets and are happy to take over this project for the fifth iteration. +This project is part of a lecture in Softwaredevelopment techniques and will be contributing to our final grade, so we are giving it our best ;) +As this is a student project (and many other projects from this group), it will mostly be worked on during the summer terms. Therefore our time with this project is limited to the end of july. In case of any questions, feel free to contact us. @@ -26,52 +26,28 @@ You can open the tool with the command `ICFolderDialog new` or using a Menu Entr ## Configuration You can customize the number of mails, which are fetched on the initial update process, and the number of mails which are loaded if you press the `Load older Mails` Button. Default are 100 and 10. Change `ICFolder>>numbersOfHeadersToFetch{AtLoaderOlderMail | AtTheBeginning}` - This will not regard the e-mails that are already persisted on your disk, so if you have some e-mails in a Maildir directory, all of them will be read no matter what you defined here. ## Features - Manage different accounts - ![](screenshots/addAccount.png) - You can add an account by clicking the `+` button. You will then be prompted to enter the account information needed to establish a connection with the server. - - - Fetch new mails from the server - ![](screenshots/updating.png) - Mails are automatically fetched on login. If you wish to update and resynchronize with the server, click the update button. - - - Delete & move mails - ![](screenshots/move.png) - A right click on any mail will show you your options. Deleting a mail automatically moves it to the trash folder. If you want to revert a deletion, you can simply navigate to the trash folder and move the email back to another folder. - When you want to permanently delete emails, right click on the trash folder and choose expunge. This will dump your trash folder permanently. - - Flag and read emails - A right click on any mail will show you your options. You can flag an email for later use or mark it as seen if you do not want to be disturbed by it beeing highlighted anymore. Also you can mark already seen mails as unseen again. - ![](screenshots/flag.png) - ![](screenshots/unflag.png) - - - See unseen mails immediately. - All unseen mails will be highlighted and the number of unseen mails per folder can be seen next to the folder name. + ![](screenshots/manage_accounts.png) + - Fetch new mails from the server - - Search Mails - ![](screenshots/search.png) - You can enter a search string into the search bar at the top. Right next to the search bar you can see, how many search results you got for the current search. + ![](screenshots/update_mails.png) + - Delete & move mails - - Parse different encodings + ![](screenshots/move_mails.png) + - See unseen mails immediately + Search Mails - - Reflect server changes back to Client. - If you're accessing your mails for a different device, and deleting/moving them, just press the update button in the Client, and every change should be correctly updated. + ![](screenshots/search_mails.png) + - Display emails correctly (parse different encodings) - - Sort mails by different categories. - ![](screenshots/sort.png) - By default all sortings are ascending. Double clicking the button will switch do descending order. + - Reflect server changes back to Client. If you're accessing your mails for a different device, and deleting/moving them, just press the update button in the Client, and every change should be correctly updated. - - Addressbook. - ![](screenshots/addressbook.png) - You can open the addressbook by clicking the button with the person icon. The adressbook holds all sender addresses of mails from any of the currently logged in accounts. + - Display emails correctly (parse different encodings) ## Usage -Start the IMAP Client with `ICFolderDialog new`. Add new Accounts with the `+` Button. We tested the functionality with web.de Accounts. But other accounts should work fine. -The hpi owa accounts are known to be relatively large, as calendar and contact meta information is also sent to our client as folder objects. Therefore it might not entirely load in the requested time of 5 seconds. - -For HPI accounts use the following login info: +Start the IMAP Client with `ICFolderDialog new`. Add new Accounts with the `+` Button. We tested the functionality with the HPI OWA Accounts. But other accounts should work fine. ``` Server: owa.hpi.de Port: 993 @@ -79,25 +55,9 @@ Username: surname.lastname Password: xxxxxxx Use SSL: True ``` -For web.de accounts use the following login info: -``` -Server: imap.web.de -Port: 993 -Username: username -Password: xxxxxxx -Use SSL: True -``` ## Security -Your password isn't stored on disk, but will be visible to your Squeak environment. It is immediately deleted after login, so you will not be able to retrieve it afterwards, but be aware that we are no security experts and you might not want to test this with a high severity account. -After closing the IMAP-Client and reopening it your are welcomed by a password prompt to re-enter your credentials. - -## Known Problems - -As this project has lived through many iterations, there are a couple of known issues that we could not resolve during the few months we spend with this project. -If you encounter any problem while using our IMAP client, have a look at the Issues of this GitHub Project. Most of them are probably already known to us. -In case your problem has not been reported yet, feel free to post a new issue and describe what you did to get the problem, what the unexpected behaviour was and what behaviour you would have expected. -Thank you in anvance for contributing to making this project better by reporting any problems that we are not yet aware of! +Your password isn't stored on disk, but visible to your Squeak environment. After closing the IMAP-Client and reopening it your are welcomed by a password prompt to re-enter your credentials. ## Documentation @@ -112,4 +72,6 @@ Hava a look at the GitHub Project Wiki to find more insights into the project. 2019: Paul Methfessel, Martin Taraz, Otto Kissig, Tim Garrels, Felix Rindt -2020: Henrik Guhl, Lorenz Woth, Niko Hastrich, Julia Joch +## Questions + +If you have any question, feel free to drop us a line :-) diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/README.md b/packages/IMAPClient-Core.package/ICAccountInfo.class/README.md index 78ec8809..4e432a13 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/README.md +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/README.md @@ -1,11 +1 @@ An ICAccountInfo is a dataobject holding information needed to connect to a server such as server address and user credentials. It also ensures basic IMAP datatype validity. - -Instance Variables - - accountName: Name of the account set by the user. - host: Hostname of the IMAP server. - port: Port of the IMAP service on the server. Default: 993. - username: Username to login at the IMAP server. - password: Password of the user to login at the server. Will be deleted after login. - - \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/class/newWith..st b/packages/IMAPClient-Core.package/ICAccountInfo.class/class/newWith..st index b1b59f55..ed2fecbd 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/class/newWith..st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/class/newWith..st @@ -2,9 +2,9 @@ instance creation newWith: aDataDictionary ^ self new - accountName: (aDataDictionary at: 'accountName' ifAbsent: [nil]); - host: (aDataDictionary at: 'address' ifAbsent: [self invalidHost]); - port: ((aDataDictionary at: 'port' ifAbsent: [self invalidPort]) asNumber); - username: (aDataDictionary at: 'username' ifAbsent: [self invalidUsername]); - password: (aDataDictionary at: 'password' ifAbsent: [self invalidPassword]); - ssl: (aDataDictionary at: 'ssl' ifAbsent: [self initialSsl]) \ No newline at end of file + accountName: (aDataDictionary at: 'accountName'); + host: (aDataDictionary at: 'address'); + port: ((aDataDictionary at: 'port') asNumber); + username: (aDataDictionary at: 'username'); + password: (aDataDictionary at: 'password'); + ssl: (aDataDictionary at: 'ssl') \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/^equals.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/^equals.st deleted file mode 100644 index 38079291..00000000 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/^equals.st +++ /dev/null @@ -1,4 +0,0 @@ -comparing -= anotherAccountInfo - ^ (self class = anotherAccountInfo class) - and: [self asDictionary = anotherAccountInfo asDictionary] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/accountNameUnused.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/accountNameUnused.st index 21f21b96..7fe0ccd3 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/accountNameUnused.st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/accountNameUnused.st @@ -1,5 +1,5 @@ -validating +accessing accountNameUnused ^ ICEndPoint connectionConfigurations - noneSatisfy: [:each | (self accountName) = (each accountName)] \ No newline at end of file + noneSatisfy: [:credDict | (self accountName) = (credDict at: 'accountName')] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/asDictionary.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/asDictionary.st index c3d11725..96e81de2 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/asDictionary.st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/asDictionary.st @@ -1,4 +1,4 @@ -converting +accessing asDictionary | dict | diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/canConvert..st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/canConvert..st index 4003dbb8..3d581a1b 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/canConvert..st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/canConvert..st @@ -1,4 +1,4 @@ -validating +validation canConvert: aString ^ ('"|\\' asRegex matchesIn: aString) isEmpty \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/eraseStoredPassword.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/eraseStoredPassword.st deleted file mode 100644 index a0c50d32..00000000 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/eraseStoredPassword.st +++ /dev/null @@ -1,4 +0,0 @@ -action -eraseStoredPassword - - self password: '' \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hasValidServerInfo.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hasValidServerInfo.st index f110e963..3bf1654c 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hasValidServerInfo.st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hasValidServerInfo.st @@ -1,4 +1,4 @@ -validating +validation hasValidServerInfo ^ self host ~= self class invalidHost diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hasValidUserInfo.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hasValidUserInfo.st index 7eb62ae7..0f587741 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hasValidUserInfo.st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hasValidUserInfo.st @@ -1,4 +1,4 @@ -validating +validation hasValidUserInfo ^ self username ~= self class invalidUsername diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hash.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hash.st deleted file mode 100644 index 2251f0bc..00000000 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/hash.st +++ /dev/null @@ -1,5 +0,0 @@ -comparing -hash - "Answer an integer value that is related to the identity of the receiver." - - ^ self username bitXor: (self accountName bitXor: (self host bitXor: self port hash)) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/isValid.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/isValid.st index 34227b7f..04d5e66f 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/isValid.st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/isValid.st @@ -1,4 +1,4 @@ -validating +validation isValid ^ self hasValidServerInfo and: [self hasValidUserInfo] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/passwordAsIMAPString.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/passwordAsIMAPString.st index 4d94863e..b31f189a 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/passwordAsIMAPString.st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/passwordAsIMAPString.st @@ -1,4 +1,4 @@ -converting +accessing passwordAsIMAPString ^ '"', self password, '"' \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/usernameAsIMAPString.st b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/usernameAsIMAPString.st index 46d7eba0..a15b58c9 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/usernameAsIMAPString.st +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/instance/usernameAsIMAPString.st @@ -1,4 +1,4 @@ -converting +accessing usernameAsIMAPString ^ '"', self username, '"' \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/methodProperties.json b/packages/IMAPClient-Core.package/ICAccountInfo.class/methodProperties.json index e660483c..d5ced72a 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/methodProperties.json +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/methodProperties.json @@ -6,18 +6,15 @@ "invalidPassword" : "tg 7/10/2019 20:10", "invalidPort" : "tg 7/10/2019 20:09", "invalidUsername" : "tg 7/10/2019 20:10", - "newWith:" : "NH 7/15/2020 10:14" }, + "newWith:" : "mt 7/26/2019 15:19" }, "instance" : { - "=" : "NH 7/15/2020 10:31", "accountName" : "tg 7/10/2019 20:20", "accountName:" : "tg 7/10/2019 17:35", - "accountNameUnused" : "NH 7/15/2020 09:58", + "accountNameUnused" : "NH 6/14/2020 12:09", "asDictionary" : "tg 7/18/2019 23:07", "canConvert:" : "fr 7/26/2019 15:37", - "eraseStoredPassword" : "LW 7/31/2020 11:39", "hasValidServerInfo" : "tg 7/15/2019 12:08", "hasValidUserInfo" : "tg 7/15/2019 12:08", - "hash" : "LW 8/1/2020 12:04", "host" : "tg 7/10/2019 20:06", "host:" : "tg 7/10/2019 17:11", "isValid" : "fr 7/26/2019 15:57", diff --git a/packages/IMAPClient-Core.package/ICAccountInfo.class/properties.json b/packages/IMAPClient-Core.package/ICAccountInfo.class/properties.json index a0b5927d..f193f3d7 100644 --- a/packages/IMAPClient-Core.package/ICAccountInfo.class/properties.json +++ b/packages/IMAPClient-Core.package/ICAccountInfo.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "LW 8/1/2020 11:20", + "commentStamp" : "tg 7/15/2019 12:14", "instvars" : [ "accountName", "host", diff --git a/packages/IMAPClient-Core.package/ICAddressBook.class/README.md b/packages/IMAPClient-Core.package/ICAddressBook.class/README.md index 3cf9685c..fbc2640e 100644 --- a/packages/IMAPClient-Core.package/ICAddressBook.class/README.md +++ b/packages/IMAPClient-Core.package/ICAddressBook.class/README.md @@ -1,2 +1,2 @@ -An ICAddressBook is a collection for the user's contacts containing email addresses of all accounts. -This is a singleton which can be accessed with #new. \ No newline at end of file +An ICAddressBook is a collection for the user's contacts containing email addresses as entries. + \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAddressBook.class/class/new.st b/packages/IMAPClient-Core.package/ICAddressBook.class/class/new.st deleted file mode 100644 index d6685f32..00000000 --- a/packages/IMAPClient-Core.package/ICAddressBook.class/class/new.st +++ /dev/null @@ -1,4 +0,0 @@ -instance creation -new - Instance ifNil: [Instance := super new: 10]. - ^ Instance \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAddressBook.class/instance/addEmail..st b/packages/IMAPClient-Core.package/ICAddressBook.class/instance/addEmail..st index 9adfa74d..fb82728b 100644 --- a/packages/IMAPClient-Core.package/ICAddressBook.class/instance/addEmail..st +++ b/packages/IMAPClient-Core.package/ICAddressBook.class/instance/addEmail..st @@ -1,4 +1,4 @@ -action +crud addEmail: aString self addIfNotPresent: aString diff --git a/packages/IMAPClient-Core.package/ICAddressBook.class/instance/change.with..st b/packages/IMAPClient-Core.package/ICAddressBook.class/instance/change.with..st new file mode 100644 index 00000000..93d2a00a --- /dev/null +++ b/packages/IMAPClient-Core.package/ICAddressBook.class/instance/change.with..st @@ -0,0 +1,8 @@ +crud +change: anOldEmailString with: aNewEmailString + + | entryToUpdate | + entryToUpdate := self find: anOldEmailString. + + self remove: entryToUpdate. + self addEmail: aNewEmailString \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICAddressBook.class/instance/find..st b/packages/IMAPClient-Core.package/ICAddressBook.class/instance/find..st index 3ade4c67..2f67adba 100644 --- a/packages/IMAPClient-Core.package/ICAddressBook.class/instance/find..st +++ b/packages/IMAPClient-Core.package/ICAddressBook.class/instance/find..st @@ -1,4 +1,4 @@ -action +crud find: anEntry | index | diff --git a/packages/IMAPClient-Core.package/ICAddressBook.class/methodProperties.json b/packages/IMAPClient-Core.package/ICAddressBook.class/methodProperties.json index 529d6b72..55cde425 100644 --- a/packages/IMAPClient-Core.package/ICAddressBook.class/methodProperties.json +++ b/packages/IMAPClient-Core.package/ICAddressBook.class/methodProperties.json @@ -1,8 +1,9 @@ { "class" : { - "new" : "hg 6/24/2020 12:34" }, + }, "instance" : { "addEmail:" : "LW 6/16/2020 09:51", + "change:with:" : "LW 6/16/2020 09:51", "feedMeWithEntries:" : "LW 6/16/2020 09:51", "find:" : "LW 6/16/2020 09:51", "readChildFoldersMailsFrom:" : "LW 6/16/2020 09:50", diff --git a/packages/IMAPClient-Core.package/ICAddressBook.class/properties.json b/packages/IMAPClient-Core.package/ICAddressBook.class/properties.json index 202501a3..e2c24efa 100644 --- a/packages/IMAPClient-Core.package/ICAddressBook.class/properties.json +++ b/packages/IMAPClient-Core.package/ICAddressBook.class/properties.json @@ -3,8 +3,8 @@ "classinstvars" : [ ], "classvars" : [ - "Instance" ], - "commentStamp" : "LW 8/1/2020 11:23", + ], + "commentStamp" : "hg 6/10/2020 10:36", "instvars" : [ ], "name" : "ICAddressBook", diff --git a/packages/IMAPClient-Core.package/ICEmail.class/class/newFromJsonStream..st b/packages/IMAPClient-Core.package/ICEmail.class/class/newFromJsonStream..st deleted file mode 100644 index e399cb51..00000000 --- a/packages/IMAPClient-Core.package/ICEmail.class/class/newFromJsonStream..st +++ /dev/null @@ -1,7 +0,0 @@ -instance creation -newFromJsonStream: aStream - - ^ self basicNew - deserializeFrom: (Json readFrom: aStream); - initialize; - yourself \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/^equals.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/^equals.st deleted file mode 100644 index c9b06d08..00000000 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/^equals.st +++ /dev/null @@ -1,12 +0,0 @@ -comparing -= anObject - "Answer whether the receiver and anObject represent the same object." - - self == anObject - ifTrue: [ ^ true ]. - self class = anObject class - ifFalse: [ ^ false ]. - ^ self header = anObject header - and: [ - self messageID = anObject messageID - and: [ self body = anObject body and: [ self folder = anObject folder and: [ self uniqueID = anObject uniqueID ] ] ] ] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/bodyAsString.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/bodyAsString.st index e827a5b6..ed6b8a45 100644 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/bodyAsString.st +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/bodyAsString.st @@ -1,4 +1,4 @@ -converting +print bodyAsString ^ self body asString diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/deleteEmail.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/deleteEmail.st new file mode 100644 index 00000000..64725985 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/deleteEmail.st @@ -0,0 +1,8 @@ +endpoint interaction +deleteEmail + + | anICEndPoint | + + anICEndPoint := self folder endpoint select: self folder path. + self deleteEmailFromDisk. + anICEndPoint deleteEmail: self \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/deleteEmailFromDisk.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/deleteEmailFromDisk.st new file mode 100644 index 00000000..a9b94f2f --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/deleteEmailFromDisk.st @@ -0,0 +1,5 @@ +action +deleteEmailFromDisk + + self folder removeMail: self. + FileDirectory default deleteFileNamed: (self maildirFileName, FileDirectory slash, self uniqueID) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/deserializeFrom..st b/packages/IMAPClient-Core.package/ICEmail.class/instance/deserializeFrom..st deleted file mode 100644 index dc67e7b3..00000000 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/deserializeFrom..st +++ /dev/null @@ -1,7 +0,0 @@ -accessing-header -deserializeFrom: aJson - - self header: (Dictionary newFrom: (aJson at: 'header' ifAbsent: [JsonObject new])); - body: (aJson at: 'body'); - messageID: (aJson at: 'messageID'); - uniqueID: (aJson at: 'uid') \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/hash.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/hash.st deleted file mode 100644 index 2674cdb2..00000000 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/hash.st +++ /dev/null @@ -1,6 +0,0 @@ -comparing -hash - "Answer an integer value that is related to the identity of the receiver." - - ^ self header hash - bitXor: (self messageID hash bitXor: (self body hash bitXor: (self folder hash bitXor: self uniqueID hash))) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/headerAsString.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/headerAsString.st index 06f2fd77..972533dc 100644 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/headerAsString.st +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/headerAsString.st @@ -1,4 +1,4 @@ -converting +print headerAsString | headerFields | diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/maildirFileName.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/maildirFileName.st new file mode 100644 index 00000000..2f7bf672 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/maildirFileName.st @@ -0,0 +1,4 @@ +accessing +maildirFileName + + ^ self folder endpoint maildirFileName \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/minimalHeaderAsString.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/minimalHeaderAsString.st new file mode 100644 index 00000000..2a008c50 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/minimalHeaderAsString.st @@ -0,0 +1,10 @@ +print +minimalHeaderAsString + + ^ + 'Content-Type: ', self contentType, String cr, + 'Content-Transfer-Encoding: ', self contentTransferEncoding, String cr, + 'from: ', self from, String cr, + 'to: ', self to, String cr, + 'subject: ', self subject, String cr, + 'date: ', self date \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/modifyFlag..st b/packages/IMAPClient-Core.package/ICEmail.class/instance/modifyFlag..st new file mode 100644 index 00000000..3e75c10f --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/modifyFlag..st @@ -0,0 +1,12 @@ +endpoint interaction +modifyFlag: aFlag + + | anICEndPoint | + + self retrieveFlags. + + anICEndPoint := self folder endpoint. + + (self perform: aFlag) + ifTrue: [anICEndPoint resetFlag: self and: aFlag] + ifFalse: [anICEndPoint setFlag: self and: aFlag] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/moveEmail..st b/packages/IMAPClient-Core.package/ICEmail.class/instance/moveEmail..st new file mode 100644 index 00000000..860deeaf --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/moveEmail..st @@ -0,0 +1,8 @@ +endpoint interaction +moveEmail: aFolder + + | anICEndPoint | + + anICEndPoint := self folder endpoint select: self folder path. + self deleteEmailFromDisk. + anICEndPoint moveEmail: self to: aFolder \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/retrieveBody.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/retrieveBody.st index bf603443..f57526a0 100644 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/retrieveBody.st +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/retrieveBody.st @@ -1,8 +1,9 @@ -action +endpoint interaction retrieveBody - "this is the only action that the email has to be responsible for, because it is called when an email is opened" - self folder endpoint retrieveBody: self. + self folder endpoint + select: self folder path; + fillBodyFor: self. ^'Content-Type: ', (self contentType), Character cr, 'Content-Transfer-Encoding: ', self contentTransferEncoding, diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/retrieveFlags.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/retrieveFlags.st new file mode 100644 index 00000000..2941a06f --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/retrieveFlags.st @@ -0,0 +1,4 @@ +endpoint interaction +retrieveFlags + + self folder retrieveFlagsFrom: self uniqueID to: self uniqueID \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/saveInMaildir.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/saveInMaildir.st new file mode 100644 index 00000000..4caafcc5 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/saveInMaildir.st @@ -0,0 +1,7 @@ +accessing +saveInMaildir + + ^ ICFileReadWriter new + write: self + in: self maildirFileName + as: self uniqueID \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/sender.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/sender.st deleted file mode 100644 index 0c0e00aa..00000000 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/sender.st +++ /dev/null @@ -1,6 +0,0 @@ -accessing-header -sender - - | fromCollection | - fromCollection := self from findBetweenSubStrs: '<>'. - ^ (fromCollection at: 2 ifAbsent: [fromCollection at: 1 ifAbsent: [ '' ]]) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/senderAddressFromHeader.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/senderAddressFromHeader.st index c12812d8..c9b61355 100644 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/senderAddressFromHeader.st +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/senderAddressFromHeader.st @@ -1,4 +1,7 @@ accessing-header senderAddressFromHeader - ^ (MailAddressParser addressesIn: self from) first \ No newline at end of file + | emailAddress | + emailAddress := (MailAddressParser addressesIn: self from) at: 1. + + ^ emailAddress \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/serializeToJson.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/serializeToJson.st deleted file mode 100644 index a9806b88..00000000 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/serializeToJson.st +++ /dev/null @@ -1,9 +0,0 @@ -accessing -serializeToJson - - ^ Json render: ( - JsonObject newFrom: { - 'header' -> (JsonObject newFrom: self header). - 'body' -> self body. - 'messageID' -> self messageID. - 'uid' -> self uniqueID}) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/instance/to.st b/packages/IMAPClient-Core.package/ICEmail.class/instance/to.st index ac0070a8..fae238b0 100644 --- a/packages/IMAPClient-Core.package/ICEmail.class/instance/to.st +++ b/packages/IMAPClient-Core.package/ICEmail.class/instance/to.st @@ -1,4 +1,4 @@ accessing-header to - ^ self header at: #to ifAbsent: Array new \ No newline at end of file + ^ self header at: #to ifAbsent: String empty \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEmail.class/methodProperties.json b/packages/IMAPClient-Core.package/ICEmail.class/methodProperties.json index 6a85c032..68116125 100644 --- a/packages/IMAPClient-Core.package/ICEmail.class/methodProperties.json +++ b/packages/IMAPClient-Core.package/ICEmail.class/methodProperties.json @@ -1,8 +1,7 @@ { "class" : { - "newFromJsonStream:" : "hg 7/30/2020 09:50" }, + }, "instance" : { - "=" : "hg 7/30/2020 11:06", "asString" : "AR 7/28/2016 14:06", "body" : "pm 6/3/2019 21:27", "body:" : "pm 6/9/2019 16:34", @@ -16,31 +15,35 @@ "dateFormatted" : "tg 7/19/2019 11:31", "dateInSecondsSince1980" : "tg 7/26/2019 21:04", "dateInSecondsSinceSqueakEpoch" : "tg 7/19/2019 10:35", + "deleteEmail" : "fr 7/26/2019 15:41", + "deleteEmailFromDisk" : "tg 7/26/2019 21:59", "deleted" : "DH 7/19/2018 21:58", "deleted:" : "DH 7/19/2018 19:43", - "deserializeFrom:" : "LW 8/1/2020 12:06", "flagged" : "C.G. 7/25/2018 13:47", "flagged:" : "C.G. 7/25/2018 13:47", "folder" : "ms 7/10/2016 13:31", "folder:" : "pm 6/14/2019 14:44", "from" : "C.G. 7/25/2018 13:47", "from:" : "C.G. 7/25/2018 13:47", - "hash" : "hg 7/30/2020 11:06", "header" : "pm 6/3/2019 21:28", "header:" : "pm 6/9/2019 16:37", "headerAsString" : "C.G. 7/25/2018 13:47", + "maildirFileName" : "C.G. 7/25/2018 13:48", "messageID" : "ms 7/10/2016 13:59", "messageID:" : "pm 6/9/2019 16:41", + "minimalHeaderAsString" : "DH 6/9/2018 15:31", + "modifyFlag:" : "C.G. 7/25/2018 13:48", + "moveEmail:" : "fr 7/26/2019 15:41", "open" : "lvm 5/20/2018 20:10", - "retrieveBody" : "JJ 8/2/2020 15:33", + "retrieveBody" : "ok 7/26/2019 21:07", + "retrieveFlags" : "pm 6/2/2019 15:58", + "saveInMaildir" : "pm 6/2/2019 15:58", "seen" : "C.G. 7/25/2018 13:49", "seen:" : "C.G. 7/25/2018 13:49", - "sender" : "hg 7/3/2020 16:10", - "senderAddressFromHeader" : "LW 8/2/2020 13:58", - "serializeToJson" : "hg 7/29/2020 15:25", + "senderAddressFromHeader" : "LW 6/10/2020 13:12", "subject" : "tg 7/19/2019 11:45", "subject:" : "C.G. 7/25/2018 13:49", - "to" : "hg 7/30/2020 11:25", + "to" : "C.G. 7/25/2018 13:49", "to:" : "C.G. 7/25/2018 13:49", "uniqueID" : "pm 6/2/2019 15:58", "uniqueID:" : "pm 6/2/2019 15:58" } } diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/README.md b/packages/IMAPClient-Core.package/ICEndPoint.class/README.md index cb0ddb1c..bf667cc6 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/README.md +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/README.md @@ -1,14 +1,10 @@ An ICEndPoint is main class for our framework, handling server communication. Instance Variables - stream: Contains an ICStreamWrapper, resembling the connection to the server. - accountInfo: Contains the ICAccountInfo, i.e. the username and password of the current connection. - loggedIn: Returns a boolean value indicating if the user is currently logged in. - rootFolder: A virtual ICFolder containing all parsed folders from the server as children. - lastResponse: Contains the complete (possibly multi-line) answer for the last sent command. - uids: Collection of unique ids of messages. - hierarchyDelimiter: Symbol indicating the delimiter for hierachies. - currentFolderName: Folder name string of the currently requesting folder. - fatalErrorOccured: Boolean indicator whether an error occured or not after a request. - folderNameOfTrash: Folder name string of the trash folder on the server. - readWriter: Responsible for disk I/O. Instance of ICFileReadWriter. \ No newline at end of file + authenticationInfo: Contains the ICAuthenticationInfo, i.e. the username and password of the current connection. + lastResponse: Contains the complete (possibly multi-line) answer for the last sent command. + loggedIn: Returns a boolean value indicating if the user is currently logged in. + rootFolder: A virtual ICFolder containing all parsed folders from the server as children. + serverInfo: Contains an ICServerInfo, i.e. the host name and the port of the current connection. + ssl: A boolean value indicating whether SSL is currently enabled. + stream: Contains an ICStreamWrapper, resembling the connection to the server. \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/class/addConfiguration..st b/packages/IMAPClient-Core.package/ICEndPoint.class/class/addConfiguration..st index c0b5ce5b..e38e9195 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/class/addConfiguration..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/class/addConfiguration..st @@ -1,4 +1,5 @@ -configuration storage -addConfiguration: anAccountInfo +storage +addConfiguration: aDictionary - self basicConnectionConfigurations add: anAccountInfo \ No newline at end of file + (self checkValidConfiguration: aDictionary) ifFalse: [self error: 'Not a valid dataDictionary']. + self basicConnectionConfigurations add: aDictionary \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/class/basicConnectionConfigurations.st b/packages/IMAPClient-Core.package/ICEndPoint.class/class/basicConnectionConfigurations.st index 73b97e14..af1d215e 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/class/basicConnectionConfigurations.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/class/basicConnectionConfigurations.st @@ -1,4 +1,4 @@ -configuration storage +storage basicConnectionConfigurations ^ ConnectionConfigurations ifNil: [ConnectionConfigurations := OrderedCollection new] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/class/checkValidConfiguration..st b/packages/IMAPClient-Core.package/ICEndPoint.class/class/checkValidConfiguration..st new file mode 100644 index 00000000..05cbcc23 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/class/checkValidConfiguration..st @@ -0,0 +1,8 @@ +storage +checkValidConfiguration: aDataDictionary + + ^ (aDataDictionary includesKey: 'username') and: + (aDataDictionary includesKey: 'port') and: + (aDataDictionary includesKey: 'address') and: + (aDataDictionary includesKey: 'accountName') and: + (aDataDictionary includesKey: 'ssl') \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/class/clearConfigurations.st b/packages/IMAPClient-Core.package/ICEndPoint.class/class/clearConfigurations.st new file mode 100644 index 00000000..f8a9c85c --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/class/clearConfigurations.st @@ -0,0 +1,4 @@ +storage +clearConfigurations + + self connectionConfigurations: nil \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/class/connectionConfigurations..st b/packages/IMAPClient-Core.package/ICEndPoint.class/class/connectionConfigurations..st index 78ff8d0a..6b13ac97 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/class/connectionConfigurations..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/class/connectionConfigurations..st @@ -1,4 +1,4 @@ -configuration storage +storage connectionConfigurations: anOrderedCollection ConnectionConfigurations := anOrderedCollection \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/class/connectionConfigurations.st b/packages/IMAPClient-Core.package/ICEndPoint.class/class/connectionConfigurations.st index 34ce1615..5c83a0df 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/class/connectionConfigurations.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/class/connectionConfigurations.st @@ -1,4 +1,4 @@ -configuration storage +storage connectionConfigurations ^ self basicConnectionConfigurations copy \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/class/eraseStoredPasswords.st b/packages/IMAPClient-Core.package/ICEndPoint.class/class/eraseStoredPasswords.st deleted file mode 100644 index 51234f48..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/class/eraseStoredPasswords.st +++ /dev/null @@ -1,4 +0,0 @@ -configuration storage -eraseStoredPasswords - self basicConnectionConfigurations do: [:anAccountInfo | - anAccountInfo eraseStoredPassword]. \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/class/removeConfiguration..st b/packages/IMAPClient-Core.package/ICEndPoint.class/class/removeConfiguration..st index d32967e3..31ea5484 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/class/removeConfiguration..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/class/removeConfiguration..st @@ -1,4 +1,4 @@ -configuration storage -removeConfiguration: anAccountInfo +storage +removeConfiguration: aDictionary - ^ self basicConnectionConfigurations remove: anAccountInfo \ No newline at end of file + ^ self basicConnectionConfigurations remove: aDictionary \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/asAccountInfoDictionary.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/asAccountInfoDictionary.st new file mode 100644 index 00000000..13336518 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/asAccountInfoDictionary.st @@ -0,0 +1,4 @@ +accessing +asAccountInfoDictionary + + ^ self accountInfo asDictionary \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/checkLoggedIn.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/checkLoggedIn.st index 9e41a6d5..1cd60beb 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/checkLoggedIn.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/checkLoggedIn.st @@ -1,4 +1,4 @@ -login +error handling checkLoggedIn (self fatalErrorOccured) diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/connectAndLoginWith..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/connectAndLoginWith..st index c971e254..42dc7744 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/connectAndLoginWith..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/connectAndLoginWith..st @@ -1,10 +1,14 @@ -login +connection connectAndLoginWith: anICAccountInfo self accountInfo: anICAccountInfo. - [self + [self connect; login] valueWithin: 5 seconds - onTimeout: [self handleTimeout] \ No newline at end of file + onTimeout: [ + (self fatalErrorOccured) + ifFalse: [ + self inform: 'Connection could not be established due to a timeout'. + self fatalErrorOccured: true]] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/createEmailsWith.andName.and..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/createEmailsWith.andName.and..st new file mode 100644 index 00000000..91c085a0 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/createEmailsWith.andName.and..st @@ -0,0 +1,20 @@ +storage +createEmailsWith: maildirDirectory andName: directoryName and: relativeRootFolder + + | serverDirectory filereader folder | + + serverDirectory := maildirDirectory directoryNamed: directoryName. + filereader := ICFileReadWriter new. + + serverDirectory directoryNames do: [:foldername | + folder := (ICFolder new) + folderName: foldername; + endpoint: self; + yourself. + relativeRootFolder addFolder: folder. + self createEmailsWith: serverDirectory andName: foldername and: folder]. + + relativeRootFolder addMails: (serverDirectory fileNames collect: [:filename | + (filereader get: filename in: (maildirDirectory fullPathFor: directoryName)) + folder: relativeRootFolder; + yourself ]). diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/currentUIDs.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/currentUIDs.st index bc6a0acf..099790d6 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/currentUIDs.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/currentUIDs.st @@ -1,4 +1,4 @@ -protocol handling - fetch +fetching currentUIDs self diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/currentUIDsFor..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/currentUIDsFor..st index 2ea8e427..e09ca2c1 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/currentUIDsFor..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/currentUIDsFor..st @@ -1,4 +1,4 @@ -protocol handling - fetch +fetching currentUIDsFor: anICFolder | isEmpty | diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/deleteEmail..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/deleteEmail..st index a93164a0..e3bdd6fd 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/deleteEmail..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/deleteEmail..st @@ -1,8 +1,6 @@ -protocol handling - delete +delete deleteEmail: anEmail - self select: anEmail folder path. - self sendCommand: (ICCommand deleteEmail: anEmail messageID). + self sendCommand: (ICCommand deleteEmail: anEmail messageID). self fetchNextResponse. - - self moveEmail: anEmail to: self folderNameOfTrash. \ No newline at end of file + self moveEmail: anEmail to: self folderNameOfTrash \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/deleteMailLocally..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/deleteMailLocally..st deleted file mode 100644 index cf98464f..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/deleteMailLocally..st +++ /dev/null @@ -1,5 +0,0 @@ -protocol handling - delete -deleteMailLocally: anEmail - - anEmail folder removeMail: anEmail. - self readWriter delete: anEmail \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/expungeEmail.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/expungeEmail.st new file mode 100644 index 00000000..563f64b9 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/expungeEmail.st @@ -0,0 +1,5 @@ +delete +expungeEmail + + self sendCommand: ICCommand expungeEmail. + self fetchNextResponse diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/expungeEmails.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/expungeEmails.st deleted file mode 100644 index df6e5d6d..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/expungeEmails.st +++ /dev/null @@ -1,5 +0,0 @@ -protocol handling - delete -expungeEmails - - self sendCommand: ICCommand expungeEmails. - self fetchNextResponse diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fetchMailsBeginningAt.number..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fetchMailsBeginningAt.number..st index 3963b0a6..9bf0b407 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fetchMailsBeginningAt.number..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fetchMailsBeginningAt.number..st @@ -1,4 +1,4 @@ -protocol handling - fetch +fetching fetchMailsBeginningAt: aBeginUID number: numberOfMessages | start end possibleUID numberToFetch | diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fetchNextResponse.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fetchNextResponse.st index 2fdd178c..327143a6 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fetchNextResponse.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fetchNextResponse.st @@ -1,4 +1,4 @@ -protocol handling - fetch +fetching fetchNextResponse | multiLineResponse | diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fillBodyFor..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fillBodyFor..st index a0a1233a..cea02782 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fillBodyFor..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/fillBodyFor..st @@ -1,4 +1,4 @@ -protocol handling - fetch +login fillBodyFor: anEmail self diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/folderFromResponse..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/folderFromResponse..st index fba6e339..b52fa55d 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/folderFromResponse..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/folderFromResponse..st @@ -1,4 +1,4 @@ -protocol handling +protocol parse folderFromResponse: responseLine | folder folderPath parent namePart| diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/handleTimeout.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/handleTimeout.st deleted file mode 100644 index c0ad8fcd..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/handleTimeout.st +++ /dev/null @@ -1,7 +0,0 @@ -connection -handleTimeout - - (self fatalErrorOccured) - ifFalse: [ - self inform: 'Connection could not be established due to a timeout'. - self fatalErrorOccured: true] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/listAllFolders.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/listAllFolders.st index 3f22ebc2..f6ee5508 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/listAllFolders.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/listAllFolders.st @@ -1,4 +1,4 @@ -protocol handling - fetch +message handling listAllFolders ^ self listFoldersIn: String empty using: '*' \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/listFoldersIn.using..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/listFoldersIn.using..st index 579f15a9..21f8a6cc 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/listFoldersIn.using..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/listFoldersIn.using..st @@ -1,4 +1,4 @@ -protocol handling - fetch +message handling listFoldersIn: root using: filter self diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/loadEmailsFromMaildir.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/loadEmailsFromMaildir.st new file mode 100644 index 00000000..ad376970 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/loadEmailsFromMaildir.st @@ -0,0 +1,16 @@ +storage +loadEmailsFromMaildir + + | directory directoryName | + + directory := FileDirectory default. + (directory directoryExists: 'Maildir') + ifFalse: [directory createDirectory: 'Maildir']. + + directory := directory directoryNamed: 'Maildir'. + directoryName := self rootFolderName. + + (directory directoryExists: directoryName) + ifFalse: [^ (OrderedCollection new)]. + + ^ self createEmailsWith: directory andName: directoryName and: (self rootFolder) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/login.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/login.st index 420fb669..90e280e5 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/login.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/login.st @@ -1,12 +1,23 @@ login login - (self throwErrorIfNotLoggedIn) ifFalse: [^false]. - (self throwErrorIfAccountInvalid) ifFalse: [^false]. - - self sendLoginCommand. - - (self throwErrorIfNotLoggedIn) ifFalse: [^false]. - - (ICFileReadWriter newWith: self) readEmailsFromDisk. + (self checkConnected) ifFalse: [ + self fatalErrorOccured: true. + self inform: 'Cant connect to the server'. + ^ false]. + + (self accountInfo isValid) ifFalse: [ + self fatalErrorOccured: true. + ^ false]. + + self sendCommand: (ICCommand loginWith: self accountInfo); + fetchNextResponse; + loggedIn: (ICParser commandSucceeded: self stream lastResponse). + + (self checkLoggedIn) ifFalse: [ + self fatalErrorOccured: true. + ^ false]. + + self loadEmailsFromMaildir. + ^ true \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirDiffFetchHeadersFrom..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirDiffFetchHeadersFrom..st index c809c9ab..2c41f3c3 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirDiffFetchHeadersFrom..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirDiffFetchHeadersFrom..st @@ -1,4 +1,4 @@ -protocol handling - fetch +fetching maildirDiffFetchHeadersFrom: anUID self uids diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirDiffFetchHeadersFrom.to..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirDiffFetchHeadersFrom.to..st index e8070825..450fea09 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirDiffFetchHeadersFrom.to..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirDiffFetchHeadersFrom.to..st @@ -1,4 +1,4 @@ -protocol handling - fetch +fetching maildirDiffFetchHeadersFrom: start to: end | searchBegin searchEnd mailFolder | diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirFileName.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirFileName.st index 6e051bc6..001bb3df 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirFileName.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/maildirFileName.st @@ -3,6 +3,6 @@ maildirFileName ^ 'Maildir', FileDirectory slash, - self rootDirectoryName, + self rootFolderName, FileDirectory slash, self currentFolderName copyReplaceAll: (self hierarchyDelimiter) with: (FileDirectory slash) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/modifyFlag.for..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/modifyFlag.for..st deleted file mode 100644 index e10471dc..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/modifyFlag.for..st +++ /dev/null @@ -1,6 +0,0 @@ -protocol handling - flags -modifyFlag: aFlag for: anEmail - - (anEmail perform: aFlag) - ifTrue: [self resetFlag: anEmail and: aFlag] - ifFalse: [self setFlag: anEmail and: aFlag] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/moveEmail.to..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/moveEmail.to..st index aee6ffbe..5ed67a2f 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/moveEmail.to..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/moveEmail.to..st @@ -1,11 +1,6 @@ -protocol handling - move +delete moveEmail: anEmail to: aFolder - self select: anEmail folder path. - self deleteMailLocally: anEmail. - - self resetDeletedFlagWhenRecovering: anEmail. - self sendCommand: (ICCommand moveEmail: anEmail messageID to: aFolder). self fetchNextResponse. (self rootFolder childFolderNamed: aFolder with: (self hierarchyDelimiter)) update \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseFetchHeaders..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseFetchHeaders..st index 6d5d71ff..99a6175c 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseFetchHeaders..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseFetchHeaders..st @@ -1,4 +1,4 @@ -protocol handling +protocol parse parseFetchHeaders: headerLines | folder parseResult mailCollection | @@ -17,7 +17,6 @@ parseFetchHeaders: headerLines mail := ICParser parseFetchHeader: message withId: id. mailCollection add: mail. "store the ICMail in the appropriate folder and write it on the disk" - mail folder: folder. - self readWriter write: mail]. + mail folder: folder; saveInMaildir]. ^ mailCollection \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseFetchedFlagsAndPopulate..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseFetchedFlagsAndPopulate..st index c1b17161..331ad3a0 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseFetchedFlagsAndPopulate..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseFetchedFlagsAndPopulate..st @@ -1,4 +1,4 @@ -protocol handling +protocol parse parseFetchedFlagsAndPopulate: aFolder | flagsPerUID | @@ -7,7 +7,10 @@ parseFetchedFlagsAndPopulate: aFolder aFolder emails do: [:email | flagsPerUID at: email uniqueID asString ifPresent: [:flags | - email seen: (flags includes: '\Seen'). - email flagged: (flags includes: '\Flagged'). - email deleted: (flags includes: '\Deleted'). - self readWriter write: email]] \ No newline at end of file + ((email seen ~= (flags includes: '\Seen')) or: + (email flagged ~= (flags includes: '\Flagged')) or: + (email deleted ~= (flags includes: '\Deleted'))) ifTrue: [ + email seen: (flags includes: '\Seen'). + email flagged: (flags includes: '\Flagged'). + email deleted: (flags includes: '\Deleted'). + email saveInMaildir]]]. \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseListResponse.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseListResponse.st index 2ab38efd..d5d29793 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseListResponse.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/parseListResponse.st @@ -1,4 +1,4 @@ -protocol handling +protocol parse parseListResponse self fetchNextResponse. diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/ping.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/ping.st new file mode 100644 index 00000000..344c14e5 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/ping.st @@ -0,0 +1,7 @@ +message handling +ping + + self checkConnected. + self sendCommand: ICCommand noop. + self fetchNextResponse. + ^ true \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/readWriter..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/readWriter..st deleted file mode 100644 index 9ac10024..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/readWriter..st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -readWriter: anObject - readWriter := anObject \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/readWriter.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/readWriter.st deleted file mode 100644 index 4787ad2a..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/readWriter.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -readWriter - ^ readWriter ifNil: [readWriter := ICFileReadWriter newWith: self] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/resetDeletedFlagWhenRecovering..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/resetDeletedFlagWhenRecovering..st deleted file mode 100644 index 8936e475..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/resetDeletedFlagWhenRecovering..st +++ /dev/null @@ -1,5 +0,0 @@ -protocol handling - flags -resetDeletedFlagWhenRecovering: anEmail - - (anEmail folder folderName = self folderNameOfTrash) - ifTrue: [ self resetFlag: anEmail and: #deleted] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/resetFlag.and..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/resetFlag.and..st index 99d7a5a9..a2bbd870 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/resetFlag.and..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/resetFlag.and..st @@ -1,4 +1,4 @@ -protocol handling - flags +fetching resetFlag: anEmail and: aFlag self sendCommand: (ICCommand resetFlag: aFlag asString for: anEmail messageID). diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/retrieveBody..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/retrieveBody..st deleted file mode 100644 index acb04107..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/retrieveBody..st +++ /dev/null @@ -1,6 +0,0 @@ -protocol handling - fetch -retrieveBody: anEmail - - self - select: anEmail folder path; - fillBodyFor: anEmail. \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/retrieveFlagsFrom.to.in..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/retrieveFlagsFrom.to.in..st index 2745d08e..b1a66f51 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/retrieveFlagsFrom.to.in..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/retrieveFlagsFrom.to.in..st @@ -1,4 +1,4 @@ -protocol handling - fetch +fetching retrieveFlagsFrom: anUID to: anotherUID in: aFolder self diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/rootDirectoryName.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/rootFolderName.st similarity index 89% rename from packages/IMAPClient-Core.package/ICEndPoint.class/instance/rootDirectoryName.st rename to packages/IMAPClient-Core.package/ICEndPoint.class/instance/rootFolderName.st index 9ab7efe6..bee1dab9 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/rootDirectoryName.st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/rootFolderName.st @@ -1,5 +1,5 @@ accessing -rootDirectoryName +rootFolderName ^ (SecureHashAlgorithm new hashMessage: self host, self username) diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/select..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/select..st index 78a12b4b..8faf6ffd 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/select..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/select..st @@ -1,4 +1,4 @@ -protocol handling - fetch +message handling select: aFolderName self currentFolderName: aFolderName; diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/sendLoginCommand.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/sendLoginCommand.st deleted file mode 100644 index 65d9ac35..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/sendLoginCommand.st +++ /dev/null @@ -1,6 +0,0 @@ -login -sendLoginCommand - - self sendCommand: (ICCommand loginWith: self accountInfo); - fetchNextResponse; - loggedIn: (ICParser commandSucceeded: self stream lastResponse) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/setFlag.and..st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/setFlag.and..st index 93188b1b..75098c56 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/setFlag.and..st +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/setFlag.and..st @@ -1,4 +1,4 @@ -protocol handling - flags +fetching setFlag: anEmail and: aFlag self sendCommand: (ICCommand setFlag: aFlag asString for: anEmail messageID). diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/throwErrorIfAccountInvalid.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/throwErrorIfAccountInvalid.st deleted file mode 100644 index 6c15e719..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/throwErrorIfAccountInvalid.st +++ /dev/null @@ -1,7 +0,0 @@ -login -throwErrorIfAccountInvalid - - (self accountInfo isValid) ifFalse: [ - self fatalErrorOccured: true. - ^ false]. - ^true \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/throwErrorIfNotLoggedIn.st b/packages/IMAPClient-Core.package/ICEndPoint.class/instance/throwErrorIfNotLoggedIn.st deleted file mode 100644 index 57376b14..00000000 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/instance/throwErrorIfNotLoggedIn.st +++ /dev/null @@ -1,8 +0,0 @@ -login -throwErrorIfNotLoggedIn - - (self checkConnected) ifFalse: [ - self fatalErrorOccured: true. - self inform: 'Cant connect to the server'. - ^ false]. - ^ true \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/methodProperties.json b/packages/IMAPClient-Core.package/ICEndPoint.class/methodProperties.json index 8f001d30..fb1751ce 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/methodProperties.json +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/methodProperties.json @@ -1,34 +1,36 @@ { "class" : { "accountFolderHashRelevantCharacters" : "ok 7/26/2019 19:11", - "addConfiguration:" : "LW 7/31/2020 11:42", + "addConfiguration:" : "tg 7/8/2019 15:12", "basicConnectionConfigurations" : "tg 7/8/2019 15:14", + "checkValidConfiguration:" : "tg 7/18/2019 23:06", + "clearConfigurations" : "pm 6/19/2019 13:17", "connectionConfigurations" : "tg 7/8/2019 15:14", "connectionConfigurations:" : "pm 6/19/2019 14:49", "defaultStreamClass" : "tg 7/15/2019 13:26", - "eraseStoredPasswords" : "LW 7/31/2020 11:29", "errorBadProtocol" : "js 5/15/2016 13:55", "errorInvalidConnectionConfiguration" : "js 5/15/2016 16:15", "refreshConnectionIntervalInSeconds" : "ok 7/26/2019 21:04", - "removeConfiguration:" : "NH 7/15/2020 09:55" }, + "removeConfiguration:" : "tg 7/8/2019 15:12" }, "instance" : { "accountInfo" : "tg 7/10/2019 17:23", "accountInfo:" : "tg 7/10/2019 17:24", + "asAccountInfoDictionary" : "tg 7/15/2019 12:20", "checkConnected" : "tg 7/10/2019 19:29", "checkForBadRequest" : "pm 7/25/2019 17:59", "checkForParameterError" : "tg 7/26/2019 11:43", "checkLoggedIn" : "tg 7/15/2019 12:44", "close" : "AR 5/31/2016 11:12", "connect" : "tg 7/15/2019 13:27", - "connectAndLoginWith:" : "LW 8/2/2020 16:30", + "connectAndLoginWith:" : "NH 5/13/2020 10:51", "connectWith:" : "tg 7/18/2019 23:00", + "createEmailsWith:andName:and:" : "tg 7/26/2019 22:01", "currentFolderName" : "C.G. 7/25/2018 13:50", "currentFolderName:" : "C.G. 7/25/2018 13:50", "currentUIDs" : "fr 7/26/2019 15:48", "currentUIDsFor:" : "ok 7/26/2019 21:01", - "deleteEmail:" : "hg 7/31/2020 12:21", - "deleteMailLocally:" : "hg 7/31/2020 12:24", - "expungeEmails" : "NH 8/2/2020 11:35", + "deleteEmail:" : "tg 7/26/2019 14:12", + "expungeEmail" : "pm 7/23/2019 15:07", "fatalErrorOccured" : "tg 7/26/2019 21:05", "fatalErrorOccured:" : "tg 7/26/2019 21:05", "fetchMailsBeginningAt:number:" : "pm 7/15/2019 20:28", @@ -37,7 +39,6 @@ "folderFromResponse:" : "ok 7/26/2019 17:45", "folderNameOfTrash" : "tg 7/26/2019 14:12", "folderNameOfTrash:" : "tg 7/26/2019 14:13", - "handleTimeout" : "LW 8/2/2020 16:26", "hierarchyDelimiter" : "mw 5/11/2018 10:37", "hierarchyDelimiter:" : "mw 5/11/2018 10:37", "host" : "ok 7/26/2019 19:09", @@ -46,38 +47,32 @@ "lastResponse:" : "lvm 5/24/2018 10:16", "listAllFolders" : "js 6/14/2016 12:31", "listFoldersIn:using:" : "pm 7/23/2019 14:51", + "loadEmailsFromMaildir" : "ok 7/26/2019 21:02", "loggedIn" : "pm 6/9/2019 13:07", "loggedIn:" : "js 5/15/2016 13:09", - "login" : "JJ 8/2/2020 16:43", + "login" : "tg 7/26/2019 11:43", "logout" : "tg 7/25/2019 12:42", "maildirDiffFetchHeadersFrom:" : "tg 7/15/2019 13:31", "maildirDiffFetchHeadersFrom:to:" : "ok 7/26/2019 21:02", - "maildirFileName" : "hg 7/29/2020 10:50", - "modifyFlag:for:" : "LW 8/1/2020 09:32", - "moveEmail:to:" : "JJ 7/31/2020 13:54", - "parseFetchHeaders:" : "NH 7/30/2020 22:13", - "parseFetchedFlagsAndPopulate:" : "LW 8/2/2020 16:53", + "maildirFileName" : "tg 7/26/2019 21:05", + "moveEmail:to:" : "pm 7/23/2019 14:58", + "parseFetchHeaders:" : "fr 7/26/2019 15:53", + "parseFetchedFlagsAndPopulate:" : "pm 7/25/2019 17:45", "parseListResponse" : "tg 7/26/2019 14:20", + "ping" : "pm 7/23/2019 15:09", "preventTimeout" : "lvm 7/23/2018 23:33", - "readWriter" : "NH 7/30/2020 21:43", - "readWriter:" : "NH 7/30/2020 21:42", "refreshConnectionProcess" : "ok 7/26/2019 21:04", - "resetDeletedFlagWhenRecovering:" : "JJ 7/31/2020 13:55", "resetFlag:and:" : "tg 7/26/2019 13:44", - "retrieveBody:" : "LW 8/1/2020 09:55", "retrieveFlagsFrom:to:in:" : "pm 7/25/2019 17:45", - "rootDirectoryName" : "hg 7/29/2020 10:50", "rootFolder" : "pm 6/9/2019 13:09", "rootFolder:" : "js 6/10/2016 15:09", + "rootFolderName" : "tg 7/26/2019 21:05", "select:" : "fr 7/26/2019 15:45", "sendCommand:" : "DH 6/26/2018 20:21", - "sendLoginCommand" : "JJ 8/2/2020 16:17", "setFlag:and:" : "tg 7/26/2019 13:44", "stream" : "pm 6/9/2019 13:08", "stream:" : "js 6/7/2016 10:17", "testAccountWith:" : "tg 7/26/2019 22:12", - "throwErrorIfAccountInvalid" : "JJ 8/2/2020 16:42", - "throwErrorIfNotLoggedIn" : "JJ 8/2/2020 16:15", "uids" : "C.G. 7/25/2018 13:59", "uids:" : "pm 6/9/2019 16:52", "username" : "ok 7/26/2019 19:09" } } diff --git a/packages/IMAPClient-Core.package/ICEndPoint.class/properties.json b/packages/IMAPClient-Core.package/ICEndPoint.class/properties.json index 3f062e11..96e353df 100644 --- a/packages/IMAPClient-Core.package/ICEndPoint.class/properties.json +++ b/packages/IMAPClient-Core.package/ICEndPoint.class/properties.json @@ -4,19 +4,19 @@ ], "classvars" : [ "ConnectionConfigurations" ], - "commentStamp" : "LW 8/2/2020 14:03", + "commentStamp" : "ms 7/28/2016 11:48", "instvars" : [ "stream", "accountInfo", "loggedIn", "rootFolder", "lastResponse", + "ssl", "uids", "hierarchyDelimiter", "currentFolderName", "fatalErrorOccured", - "folderNameOfTrash", - "readWriter" ], + "folderNameOfTrash" ], "name" : "ICEndPoint", "pools" : [ ], diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/README.md b/packages/IMAPClient-Core.package/ICFileReadWriter.class/README.md index 02036d20..6c497541 100644 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/README.md +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/README.md @@ -1,5 +1 @@ -An ICFileReadWriter is a JSON File Writer and Reader handling the file system storage of mails. - -Instance Variables: - directoryToFolderDictionary: Dictionary that maps a folder instance to each directory. - endpoint: Endpoint instance. \ No newline at end of file +An ICFileReadWriter is a JSON File Writer and Reader handling the file system storage of mails. \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/class/newWith..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/class/newWith..st deleted file mode 100644 index f30144b1..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/class/newWith..st +++ /dev/null @@ -1,6 +0,0 @@ -instance creation -newWith: anEndpoint - - ^self new - endpoint: anEndpoint; - yourself \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createHeaderFrom..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createHeaderFrom..st new file mode 100644 index 00000000..4e6a1825 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createHeaderFrom..st @@ -0,0 +1,14 @@ +read file +createHeaderFrom: aJsonObject + + aJsonObject ifNil: [^ nil]. + + ^ Dictionary newFrom: { + #date -> (aJsonObject at: 'date'). + #from -> (aJsonObject at: 'from'). + #subject -> (aJsonObject at: 'subject'). + #contentType -> (aJsonObject at: 'contentType'). + #contentTransferEncoding -> (aJsonObject at: 'contentTransferEncoding'). + #to -> (self recipientsFrom: (aJsonObject at: 'to')). + #seen -> (aJsonObject at: 'seen'). + #flagged -> (aJsonObject at: 'flagged')} \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createJsonHeaderFrom..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createJsonHeaderFrom..st new file mode 100644 index 00000000..f01458ba --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createJsonHeaderFrom..st @@ -0,0 +1,18 @@ +write file +createJsonHeaderFrom: aDictionary + + | jsonFile | + + aDictionary ifNil: [^ nil]. + + jsonFile := JsonObject newFrom: { + 'date' -> (aDictionary at: #date ifAbsent: ['']). + 'from' -> (aDictionary at: #from ifAbsent: ['']). + 'subject' -> (aDictionary at: #subject ifAbsent: ['']). + 'to' -> (aDictionary at: #to ifAbsent: ['']). + 'seen' -> (aDictionary at: #seen ifAbsent: [true]). + 'flagged' -> (aDictionary at: #flagged ifAbsent: [false]). + 'contentType' -> (aDictionary at: #contentType ifAbsent: ['']). + 'contentTransferEncoding' -> (aDictionary at: #contentTransferEncoding ifAbsent: [''])}. + + ^ jsonFile \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createPathRecursive.and..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createPathRecursive.and..st new file mode 100644 index 00000000..57458308 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/createPathRecursive.and..st @@ -0,0 +1,13 @@ +write file +createPathRecursive: aPath and: aFileWriter + + | subDir | + + subDir := ((aPath subStrings: (FileDirectory slash))). + + subDir ifNotEmpty: [ + (aFileWriter directoryExists: subDir first) + ifFalse: [ aFileWriter createDirectory: subDir first]. + self createPathRecursive: + (subDir allButFirst joinSeparatedBy: (FileDirectory slash)) + and: (aFileWriter on: subDir first)]. \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/delete..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/delete..st deleted file mode 100644 index 27af17c6..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/delete..st +++ /dev/null @@ -1,4 +0,0 @@ -delete file -delete: anICEmail - - (FileDirectory default / self endpoint maildirFileName) deleteFileNamed: anICEmail uniqueID ifAbsent: [^ self] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/directoryToFolderDictionary.st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/directoryToFolderDictionary.st deleted file mode 100644 index 3ce542e2..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/directoryToFolderDictionary.st +++ /dev/null @@ -1,5 +0,0 @@ -accessing -directoryToFolderDictionary - - ^ directoryToFolderDictionary ifNil: [ - directoryToFolderDictionary := Dictionary newFrom: {self rootDirectory -> self endpoint rootFolder}] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/directoryVisitor.st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/directoryVisitor.st deleted file mode 100644 index 2c1b9d1f..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/directoryVisitor.st +++ /dev/null @@ -1,10 +0,0 @@ -read file -directoryVisitor - - ^ [:directory | | currentFolder | - (directory = self rootDirectory) ifFalse: [ - currentFolder := ICFolder - named: directory pathParts last - in: (self directoryToFolderDictionary at: directory containingDirectory) - with: self endpoint. - directoryToFolderDictionary at: directory put: currentFolder]] diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/endpoint..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/endpoint..st deleted file mode 100644 index 6f688b24..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/endpoint..st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -endpoint: anObject - endpoint := anObject \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/endpoint.st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/endpoint.st deleted file mode 100644 index 33992810..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/endpoint.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -endpoint - ^ endpoint \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/fileVisitor.st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/fileVisitor.st deleted file mode 100644 index b631d04a..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/fileVisitor.st +++ /dev/null @@ -1,10 +0,0 @@ -read file -fileVisitor - - ^ [:file | | currentFolder | - currentFolder := self directoryToFolderDictionary at: file directory. - currentFolder addMails: { - (ICEmail newFromJsonStream: file) - folder: currentFolder; - yourself}. - file close] diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/get.in..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/get.in..st new file mode 100644 index 00000000..e0db6399 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/get.in..st @@ -0,0 +1,15 @@ +read file +get: aFile in: aFolder + + | filestream jsonFile | + + filestream := FileStream readOnlyFileNamed: aFolder, FileDirectory slash, aFile asString. + jsonFile := Json readFrom: filestream. + filestream close. + + ^ ICEmail new + header: (self createHeaderFrom: (jsonFile at: 'header')); + body: (jsonFile at: 'body'); + messageID: (jsonFile at: 'messageID'); + uniqueID: (jsonFile at: 'uid'); + yourself \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/readEmailsFromDisk.st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/readEmailsFromDisk.st deleted file mode 100644 index e996a6c0..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/readEmailsFromDisk.st +++ /dev/null @@ -1,6 +0,0 @@ -read file -readEmailsFromDisk - - self rootDirectory - assureExistence; - withAllFilesDo: self fileVisitor andDirectoriesDo: self directoryVisitor \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/recipientsFrom..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/recipientsFrom..st new file mode 100644 index 00000000..121b6dec --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/recipientsFrom..st @@ -0,0 +1,6 @@ +read file +recipientsFrom: aJsonObject + + aJsonObject + ifNil: [^ nil] + ifNotNil: [^ aJsonObject asOrderedCollection] diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/rootDirectory.st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/rootDirectory.st deleted file mode 100644 index d69b1e02..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/rootDirectory.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -rootDirectory - - ^ (FileDirectory default directoryNamed: 'Maildir') directoryNamed: self endpoint rootDirectoryName \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/write..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/write..st deleted file mode 100644 index 76e70895..00000000 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/write..st +++ /dev/null @@ -1,12 +0,0 @@ -write file -write: anICEmail - - (FileDirectory default / self endpoint maildirFileName) assureExistence. - - FileStream - forceNewFileNamed: (self endpoint maildirFileName, FileDirectory slash, anICEmail uniqueID) - do: [:stream | - stream nextPutAll: anICEmail - serializeToJson; - flush; - close] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/write.in.as..st b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/write.in.as..st new file mode 100644 index 00000000..7e2f1049 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/instance/write.in.as..st @@ -0,0 +1,17 @@ +write file +write: anICEmail in: aFolder as: aString + + | jsonFile renderedJson fileDirectory | + + jsonFile := JsonObject newFrom: { + 'header' -> (self createJsonHeaderFrom: anICEmail header). + 'body' -> anICEmail body. + 'messageID' -> anICEmail messageID. + 'uid' -> anICEmail uniqueID}. + + fileDirectory := FileDirectory default. + self createPathRecursive: aFolder and: fileDirectory. + + renderedJson := Json render: jsonFile. + FileStream forceNewFileNamed: (aFolder, FileDirectory slash, aString) do: + [ :stream | stream nextPutAll: renderedJson; flush; close ] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/methodProperties.json b/packages/IMAPClient-Core.package/ICFileReadWriter.class/methodProperties.json index 1343570b..83beb9bb 100644 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/methodProperties.json +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/methodProperties.json @@ -1,13 +1,10 @@ { "class" : { - "newWith:" : "hg 7/29/2020 13:55" }, + }, "instance" : { - "delete:" : "hg 8/2/2020 19:11", - "directoryToFolderDictionary" : "hg 7/29/2020 15:35", - "directoryVisitor" : "hg 7/29/2020 14:18", - "endpoint" : "hg 7/29/2020 14:09", - "endpoint:" : "hg 7/29/2020 14:09", - "fileVisitor" : "hg 7/30/2020 09:51", - "readEmailsFromDisk" : "hg 7/29/2020 14:19", - "rootDirectory" : "hg 7/29/2020 13:56", - "write:" : "LW 8/2/2020 16:37" } } + "createHeaderFrom:" : "pm 6/3/2019 18:34", + "createJsonHeaderFrom:" : "C.G. 7/25/2018 14:00", + "createPathRecursive:and:" : "tg 7/26/2019 21:50", + "get:in:" : "pm 6/2/2019 15:58", + "recipientsFrom:" : "fr 7/26/2019 15:34", + "write:in:as:" : "pm 6/2/2019 16:11" } } diff --git a/packages/IMAPClient-Core.package/ICFileReadWriter.class/properties.json b/packages/IMAPClient-Core.package/ICFileReadWriter.class/properties.json index 3b86d9f5..f64da6fd 100644 --- a/packages/IMAPClient-Core.package/ICFileReadWriter.class/properties.json +++ b/packages/IMAPClient-Core.package/ICFileReadWriter.class/properties.json @@ -4,10 +4,9 @@ ], "classvars" : [ ], - "commentStamp" : "LW 8/1/2020 11:14", + "commentStamp" : "ok 7/9/2019 21:00", "instvars" : [ - "directoryToFolderDictionary", - "endpoint" ], + ], "name" : "ICFileReadWriter", "pools" : [ ], diff --git a/packages/IMAPClient-Core.package/ICFolder.class/class/named.in..st b/packages/IMAPClient-Core.package/ICFolder.class/class/named.in..st new file mode 100644 index 00000000..44f3364b --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFolder.class/class/named.in..st @@ -0,0 +1,11 @@ +instance creation +named: name in: parent + + | newFolder | + + newFolder := self new. + newFolder folderName: name. + + parent addFolder: newFolder. + + ^ newFolder \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/addFolder..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/addFolder..st index 20be860e..5444ae1d 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/addFolder..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/addFolder..st @@ -1,4 +1,4 @@ -action - folder hierarchy +folder hierarchy addFolder: child child parent: self. diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/addMails..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/addMails..st index 69d8a2bc..fc9e4fcc 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/addMails..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/addMails..st @@ -1,5 +1,4 @@ -action - add emails +email access addMails: aMailCollection - "Since Exchange uses other objects than emails we need to exclude them from the list" self emails addAll: (self sanitizeMailCollection: aMailCollection). \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/ensureFreshness.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/checkTopicality.st similarity index 76% rename from packages/IMAPClient-Core.package/ICFolder.class/instance/ensureFreshness.st rename to packages/IMAPClient-Core.package/ICFolder.class/instance/checkTopicality.st index 7c4f47a4..18c655e6 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/ensureFreshness.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/checkTopicality.st @@ -1,11 +1,8 @@ -action - freshness -ensureFreshness +updateEmails +checkTopicality - " This method is part of a good first issue with no. 366 :)" | relevantUIDs localMails min max | - self emails ifEmpty: [^ self]. - " we cant access first and last of the sortedCollection because its sorted by date, not by UID " min := self lowestUniqueID. max := self highestUniqueID. @@ -19,4 +16,4 @@ ensureFreshness relevantUIDs do: [ :uid | localMails removeAllSuchThat: [ :mail | mail uniqueID = uid]]. "everything left in localMails has changed, and therefore can be removed" - localMails do: [ :mail | self endpoint deleteMailLocally: mail] \ No newline at end of file + localMails do: [ :mail | mail deleteEmailFromDisk] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed..st new file mode 100644 index 00000000..41cf7ef5 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed..st @@ -0,0 +1,4 @@ +folder hierarchy +childFolderNamed: name + + ^ self childFolderNamed: name ifAbsent: [Error signal: self class errorChildDoesNotExist] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.ifAbsent..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.ifAbsent..st index 9ba1c14d..e5a29568 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.ifAbsent..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.ifAbsent..st @@ -1,4 +1,4 @@ -action - folder hierarchy +folder hierarchy childFolderNamed: childFolderName ifAbsent: block ^ self childFolders diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.with..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.with..st index 1f06fa4a..fef0311a 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.with..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.with..st @@ -1,4 +1,4 @@ -action - folder hierarchy +folder hierarchy childFolderNamed: name with: delimiter ^ self diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.with.ifAbsent..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.with.ifAbsent..st index b3080bca..a025b299 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.with.ifAbsent..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolderNamed.with.ifAbsent..st @@ -1,4 +1,4 @@ -action - folder hierarchy +folder hierarchy childFolderNamed: childFolderName with: delimiter ifAbsent: block | rootPart childPart child parts | diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolders..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolders..st new file mode 100644 index 00000000..94a53e2a --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/childFolders..st @@ -0,0 +1,4 @@ +accessing +childFolders: anOrderedCollection + + childFolders := anOrderedCollection \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/countFolders.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/countFolders.st index 3f26fe0b..5639beb2 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/countFolders.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/countFolders.st @@ -1,4 +1,4 @@ -action - folder hierarchy +folder hierarchy countFolders ^ self childFolders inject: self childFolders size into: [:count :child | count + child countFolders] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/emails..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/emails..st index 5e7929d1..b6e0ab79 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/emails..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/emails..st @@ -1,4 +1,4 @@ accessing -emails: anOrderedCollection +emails: aDictionary - emails := anOrderedCollection \ No newline at end of file + emails := aDictionary \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/emails.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/emails.st index e8f68365..17e0eb29 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/emails.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/emails.st @@ -1,4 +1,4 @@ accessing emails - - ^ emails ifNil: [emails := OrderedCollection new] \ No newline at end of file + ^ emails ifNil: [emails := (SortedCollection sortBlock: [:first :second | + first dateInSecondsSinceSqueakEpoch >= second dateInSecondsSinceSqueakEpoch])] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/expungeEmails.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/expungeEmails.st index 67438ede..1eb07789 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/expungeEmails.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/expungeEmails.st @@ -1,8 +1,8 @@ -action - remove emails +accessing expungeEmails - self emails do: [ :email | - email deleted ifTrue: [self endpoint deleteMailLocally: email]]. - self endpoint - select: self path; - expungeEmails + | anICEndPoint | + + self emails do: [ :email | email deleteEmailFromDisk]. + anICEndPoint := self endpoint select: self path. + anICEndPoint expungeEmail \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/fetchHeadersFrom..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/fetchHeadersFrom..st index e75f86e9..d226ec2a 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/fetchHeadersFrom..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/fetchHeadersFrom..st @@ -1,10 +1,14 @@ -action - update emails +updateEmails fetchHeadersFrom: anUID self emails addAll: (self endpoint currentUIDsFor: self; maildirDiffFetchHeadersFrom: anUID). - self ensureFreshness. self emails ifEmpty: [^ self]. + + self checkTopicality. + + self emails ifEmpty: [^ self]. + self retrieveFlagsFrom: self emails last uniqueID to: self emails first uniqueID \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/highestUniqueID.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/highestUniqueID.st index ab2f7d37..747c1147 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/highestUniqueID.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/highestUniqueID.st @@ -1,4 +1,4 @@ -accessing +updateEmails highestUniqueID (self emails) ifEmpty: [^ nil]. diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/fetchNumberOfLatestEmails..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/latestEmails..st similarity index 57% rename from packages/IMAPClient-Core.package/ICFolder.class/instance/fetchNumberOfLatestEmails..st rename to packages/IMAPClient-Core.package/ICFolder.class/instance/latestEmails..st index 97b43390..f2facb45 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/fetchNumberOfLatestEmails..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/latestEmails..st @@ -1,12 +1,12 @@ -action - update emails -fetchNumberOfLatestEmails: aNumber +email access +latestEmails: count | startUID allUIDs | self endpoint currentUIDsFor: self. allUIDs := self endpoint uids. allUIDs ifEmpty: [^ OrderedCollection new]. - (allUIDs size - aNumber) strictlyPositive - ifTrue: [startUID := allUIDs at: (allUIDs size - aNumber)] + (allUIDs size - count) strictlyPositive + ifTrue: [startUID := allUIDs at: (allUIDs size - count)] ifFalse: [startUID := (allUIDs first) - 1]. self fetchHeadersFrom: startUID \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/loadOlderMails.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/loadOlderMails.st index f0e3eb7b..7b707cc7 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/loadOlderMails.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/loadOlderMails.st @@ -1,4 +1,4 @@ -action - update emails +email access loadOlderMails self emails addAll: diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/lowestUniqueID.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/lowestUniqueID.st index 1891165c..258f0588 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/lowestUniqueID.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/lowestUniqueID.st @@ -1,4 +1,4 @@ -accessing +updateEmails lowestUniqueID (self emails) ifEmpty: [^ nil]. diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/modifyFlag.for..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/modifyFlag.for..st deleted file mode 100644 index abfef41a..00000000 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/modifyFlag.for..st +++ /dev/null @@ -1,5 +0,0 @@ -action - update emails -modifyFlag: aFlag for: anEmail - - self retrieveFlagsFor: anEmail. - self endpoint modifyFlag: aFlag for: anEmail \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/numOfUnseenMails.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/numOfUnseenMails.st new file mode 100644 index 00000000..ea6ac2ab --- /dev/null +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/numOfUnseenMails.st @@ -0,0 +1,7 @@ +email access +numOfUnseenMails + + | numOfUnseen | + + numOfUnseen := self childFolders detectSum: [:anICFolder | anICFolder numOfUnseenMails]. + ^ (numOfUnseen + (self emails count: [:anICEmail | anICEmail seen not])) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/numberOfUnseenMails.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/numberOfUnseenMails.st deleted file mode 100644 index 8dc2be9d..00000000 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/numberOfUnseenMails.st +++ /dev/null @@ -1,7 +0,0 @@ -accessing -numberOfUnseenMails - - | numberOfUnseen | - - numberOfUnseen := self childFolders detectSum: [:anICFolder | anICFolder numberOfUnseenMails]. - ^ (numberOfUnseen + (self emails count: [:anICEmail | anICEmail seen not])) \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/path.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/path.st index 0574d688..5e1404a6 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/path.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/path.st @@ -1,4 +1,4 @@ -action - folder hierarchy +folder hierarchy path ^ (self parent == self rootFolder) diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/removeFolder..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/removeFolder..st index 66da4a6d..1bd0b6c6 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/removeFolder..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/removeFolder..st @@ -1,4 +1,4 @@ -action - folder hierarchy +folder hierarchy removeFolder: child ^ self removeFolder: child ifAbsent: [Error signal: self class errorChildDoesNotExist] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/removeFolder.ifAbsent..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/removeFolder.ifAbsent..st index e9cd99ab..4c3da44a 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/removeFolder.ifAbsent..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/removeFolder.ifAbsent..st @@ -1,4 +1,4 @@ -action - folder hierarchy +folder hierarchy removeFolder: child ifAbsent: block (self childFolders includes: child) ifFalse: [^ block value]. diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/removeMail..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/removeMail..st index 5493a346..12d46e40 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/removeMail..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/removeMail..st @@ -1,4 +1,4 @@ -action - remove emails +email access removeMail: anICEmail self emails remove: anICEmail. \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/retrieveFlagsFor..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/retrieveFlagsFor..st deleted file mode 100644 index 70b902b8..00000000 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/retrieveFlagsFor..st +++ /dev/null @@ -1,4 +0,0 @@ -action - update emails -retrieveFlagsFor: anEmail - - self retrieveFlagsFrom: anEmail uniqueID to: anEmail uniqueID diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/retrieveFlagsFrom.to..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/retrieveFlagsFrom.to..st index b69b4153..3286fc5f 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/retrieveFlagsFrom.to..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/retrieveFlagsFrom.to..st @@ -1,6 +1,5 @@ -action - update emails +updateEmails retrieveFlagsFrom: anUID to: anotherUID - self endpoint select: self path; retrieveFlagsFrom: anUID to: anotherUID in: self \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/sanitizeMailCollection..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/sanitizeMailCollection..st index 89e984e9..9d4c6866 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/sanitizeMailCollection..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/sanitizeMailCollection..st @@ -1,4 +1,4 @@ -action - sanitize emails +email access sanitizeMailCollection: aMailCollection ^ aMailCollection select: [:mail | mail date notEmpty] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/startUpdateProcess..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/startUpdateProcess..st index 78bcba5b..76e36ba9 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/startUpdateProcess..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/startUpdateProcess..st @@ -1,10 +1,10 @@ -action - update emails +updateEmails startUpdateProcess: anUID (self folderName = 'root') ifTrue: [^self]. [anUID - ifNil: [self fetchNumberOfLatestEmails: self class numberOfHeadersToFetchAtTheBeginning] + ifNil: [self latestEmails: self class numberOfHeadersToFetchAtTheBeginning] ifNotNil: [self fetchHeadersFrom: anUID]] on: Error do: [:e | self inform: e asString] \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/update.st b/packages/IMAPClient-Core.package/ICFolder.class/instance/update.st index f8d912fa..12e046dd 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/update.st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/update.st @@ -1,4 +1,4 @@ -action - update emails +updateEmails update self startUpdateProcess: self highestUniqueID. diff --git a/packages/IMAPClient-Core.package/ICFolder.class/instance/updateAndShowProgressWith..st b/packages/IMAPClient-Core.package/ICFolder.class/instance/updateAndShowProgressWith..st index 9af10c12..213ad5c1 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/instance/updateAndShowProgressWith..st +++ b/packages/IMAPClient-Core.package/ICFolder.class/instance/updateAndShowProgressWith..st @@ -1,4 +1,4 @@ -action - update emails +updateEmails updateAndShowProgressWith: aBlock ProgressNotification diff --git a/packages/IMAPClient-Core.package/ICFolder.class/methodProperties.json b/packages/IMAPClient-Core.package/ICFolder.class/methodProperties.json index 543c6b1b..7d43ba8a 100644 --- a/packages/IMAPClient-Core.package/ICFolder.class/methodProperties.json +++ b/packages/IMAPClient-Core.package/ICFolder.class/methodProperties.json @@ -2,6 +2,7 @@ "class" : { "defaultName" : "js 6/7/2016 11:49", "errorChildDoesNotExist" : "js 6/14/2016 09:27", + "named:in:" : "tg 7/19/2019 09:27", "named:in:with:" : "tg 7/19/2019 09:19", "newRootFolderWith:" : "C.G. 7/25/2018 14:12", "numberOfHeadersToFetchAtLoadOlderMails" : "DH 7/22/2018 22:37", @@ -9,29 +10,30 @@ "instance" : { "accountName" : "ok 7/26/2019 19:06", "addFolder:" : "js 6/7/2016 13:09", - "addMails:" : "LW 8/1/2020 10:14", + "addMails:" : "LW 5/20/2020 09:48", + "checkTopicality" : "fr 7/26/2019 15:57", + "childFolderNamed:" : "C.G. 7/25/2018 14:02", "childFolderNamed:ifAbsent:" : "tg 7/19/2019 09:19", "childFolderNamed:with:" : "C.G. 6/26/2018 11:01", "childFolderNamed:with:ifAbsent:" : "tg 7/26/2019 21:52", "childFolders" : "pm 6/9/2019 13:12", + "childFolders:" : "js 6/7/2016 11:32", "countFolders" : "C.G. 7/25/2018 14:02", - "emails" : "LW 7/31/2020 12:27", - "emails:" : "LW 7/31/2020 12:26", + "emails" : "fr 7/26/2019 15:19", + "emails:" : "ms 6/28/2016 09:52", "endpoint" : "ms 7/10/2016 13:24", "endpoint:" : "pm 6/9/2019 16:56", - "ensureFreshness" : "JJ 8/2/2020 15:52", - "expungeEmails" : "NH 8/2/2020 11:36", - "fetchHeadersFrom:" : "JJ 8/2/2020 15:52", - "fetchNumberOfLatestEmails:" : "LW 8/2/2020 14:35", + "expungeEmails" : "JJ 6/15/2020 20:56", + "fetchHeadersFrom:" : "tg 7/26/2019 21:05", "folderName" : "tg 7/19/2019 09:17", "folderName:" : "tg 7/19/2019 09:17", "hierarchyDelimiter" : "ok 7/26/2019 19:02", "highestUniqueID" : "pm 6/3/2019 18:34", "isTrashFolder" : "JJ 6/10/2020 10:47", + "latestEmails:" : "fr 7/26/2019 15:55", "loadOlderMails" : "tg 7/26/2019 21:05", "lowestUniqueID" : "pm 6/3/2019 18:34", - "modifyFlag:for:" : "JJ 8/2/2020 15:36", - "numberOfUnseenMails" : "LW 8/2/2020 14:27", + "numOfUnseenMails" : "C.G. 7/25/2018 14:03", "parent" : "tg 6/25/2019 21:21", "parent:" : "js 6/7/2016 11:32", "parentPath" : "ok 7/26/2019 19:08", @@ -40,10 +42,9 @@ "removeFolder:" : "C.G. 7/25/2018 14:03", "removeFolder:ifAbsent:" : "C.G. 7/25/2018 14:04", "removeMail:" : "tg 7/26/2019 21:59", - "retrieveFlagsFor:" : "JJ 8/2/2020 15:25", - "retrieveFlagsFrom:to:" : "JJ 8/2/2020 15:33", + "retrieveFlagsFrom:to:" : "fr 7/26/2019 15:37", "rootFolder" : "ok 7/26/2019 19:05", "sanitizeMailCollection:" : "LW 5/20/2020 09:49", - "startUpdateProcess:" : "LW 8/2/2020 14:34", + "startUpdateProcess:" : "tg 7/26/2019 20:33", "update" : "pm 6/3/2019 18:34", "updateAndShowProgressWith:" : "LW 6/3/2020 15:13" } } diff --git a/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/connectTo.on..st b/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/connectTo.on..st index cb235b81..16f88cb3 100644 --- a/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/connectTo.on..st +++ b/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/connectTo.on..st @@ -3,7 +3,7 @@ connectTo: aHost on: aPort | hostAddress | - self ssl ifTrue: [^ self sslConnectTo: aHost on: aPort]. + self useSSL ifTrue: [^ self sslConnectTo: aHost on: aPort]. hostAddress := NetNameResolver addressForName: aHost. self close. diff --git a/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/connectTo.on.with..st b/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/connectTo.on.with..st index aca55a8f..5a7e98bf 100644 --- a/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/connectTo.on.with..st +++ b/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/connectTo.on.with..st @@ -3,7 +3,7 @@ connectTo: aHost on: aPort with: aStreamClass | hostAddress | - self ssl ifTrue: [^ self sslConnectTo: aHost on: aPort]. + self useSSL ifTrue: [^ self sslConnectTo: aHost on: aPort]. hostAddress := NetNameResolver addressForName: aHost. self close. diff --git a/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/useSSL.st b/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/useSSL.st new file mode 100644 index 00000000..f36f1779 --- /dev/null +++ b/packages/IMAPClient-Core.package/ICStreamWrapper.class/instance/useSSL.st @@ -0,0 +1,4 @@ +accessing +useSSL + + ^ self ssl \ No newline at end of file diff --git a/packages/IMAPClient-Core.package/ICStreamWrapper.class/methodProperties.json b/packages/IMAPClient-Core.package/ICStreamWrapper.class/methodProperties.json index 027db9c2..7f9acfef 100644 --- a/packages/IMAPClient-Core.package/ICStreamWrapper.class/methodProperties.json +++ b/packages/IMAPClient-Core.package/ICStreamWrapper.class/methodProperties.json @@ -3,8 +3,8 @@ "connectionTimeout" : "ok 7/26/2019 18:50" }, "instance" : { "close" : "js 6/14/2016 10:43", - "connectTo:on:" : "LW 8/1/2020 10:24", - "connectTo:on:with:" : "LW 8/1/2020 10:24", + "connectTo:on:" : "tg 7/26/2019 22:13", + "connectTo:on:with:" : "C.G. 7/25/2018 14:08", "host" : "js 6/7/2016 09:58", "host:" : "js 6/7/2016 09:59", "isConnected" : "js 6/7/2016 10:04", @@ -18,4 +18,5 @@ "ssl:" : "ms 7/12/2016 09:45", "sslConnectTo:on:" : "tg 7/26/2019 22:13", "stream" : "pm 6/9/2019 13:14", - "stream:" : "js 6/7/2016 10:05" } } + "stream:" : "js 6/7/2016 10:05", + "useSSL" : "ms 7/12/2016 09:45" } } diff --git a/packages/IMAPClient-Protocol.package/ICCommand.class/class/expungeEmails.st b/packages/IMAPClient-Protocol.package/ICCommand.class/class/expungeEmail.st similarity index 71% rename from packages/IMAPClient-Protocol.package/ICCommand.class/class/expungeEmails.st rename to packages/IMAPClient-Protocol.package/ICCommand.class/class/expungeEmail.st index c14322d8..a4d95a90 100644 --- a/packages/IMAPClient-Protocol.package/ICCommand.class/class/expungeEmails.st +++ b/packages/IMAPClient-Protocol.package/ICCommand.class/class/expungeEmail.st @@ -1,4 +1,4 @@ commands -expungeEmails +expungeEmail ^ self join: {'EXPUNGE'} \ No newline at end of file diff --git a/packages/IMAPClient-Protocol.package/ICCommand.class/class/isValidFlag..st b/packages/IMAPClient-Protocol.package/ICCommand.class/class/isValidFlag..st index 5a1c9878..8febe83b 100644 --- a/packages/IMAPClient-Protocol.package/ICCommand.class/class/isValidFlag..st +++ b/packages/IMAPClient-Protocol.package/ICCommand.class/class/isValidFlag..st @@ -1,4 +1,4 @@ validation isValidFlag: aFlagString - ^ {'Seen' . 'Flagged' . 'Deleted'} includes: aFlagString withFirstCharacterUppercase \ No newline at end of file + ^ {'Seen' . 'Flagged'} includes: aFlagString withFirstCharacterUppercase \ No newline at end of file diff --git a/packages/IMAPClient-Protocol.package/ICCommand.class/methodProperties.json b/packages/IMAPClient-Protocol.package/ICCommand.class/methodProperties.json index a20ee543..538e6957 100644 --- a/packages/IMAPClient-Protocol.package/ICCommand.class/methodProperties.json +++ b/packages/IMAPClient-Protocol.package/ICCommand.class/methodProperties.json @@ -2,11 +2,11 @@ "class" : { "allUIDs" : "pm 7/23/2019 14:18", "deleteEmail:" : "pm 7/23/2019 14:46", - "expungeEmails" : "NH 8/2/2020 11:35", + "expungeEmail" : "pm 7/23/2019 14:19", "fetchBody:" : "pm 7/23/2019 14:48", "fetchFlagsForUIDsFrom:to:" : "pm 7/24/2019 21:18", "fetchHeadersForUIDsFrom:to:" : "pm 7/24/2019 21:18", - "isValidFlag:" : "JJ 7/31/2020 13:55", + "isValidFlag:" : "tg 7/26/2019 13:45", "join:" : "pm 7/24/2019 21:24", "listSubfoldersOf:filterBy:" : "pm 7/23/2019 14:50", "loginWith:" : "pm 7/23/2019 14:52", diff --git a/packages/IMAPClient-Protocol.package/ICParser.class/class/populate.withReceiver..st b/packages/IMAPClient-Protocol.package/ICParser.class/class/populate.withReceiver..st index d979af3e..05c701a7 100644 --- a/packages/IMAPClient-Protocol.package/ICParser.class/class/populate.withReceiver..st +++ b/packages/IMAPClient-Protocol.package/ICParser.class/class/populate.withReceiver..st @@ -1,4 +1,4 @@ parsing populate: anEmail withReceiver: aHeaderChunk - anEmail to: (aHeaderChunk subStrings: ',') asArray \ No newline at end of file + anEmail to: (aHeaderChunk subStrings: ',') asOrderedCollection \ No newline at end of file diff --git a/packages/IMAPClient-Protocol.package/ICParser.class/methodProperties.json b/packages/IMAPClient-Protocol.package/ICParser.class/methodProperties.json index 3169f7cf..1dc86284 100644 --- a/packages/IMAPClient-Protocol.package/ICParser.class/methodProperties.json +++ b/packages/IMAPClient-Protocol.package/ICParser.class/methodProperties.json @@ -28,7 +28,7 @@ "populate:withFlags:" : "LW 5/6/2020 16:34", "populate:withHeaderChunks:" : "ok 7/26/2019 16:24", "populate:withHeadersFrom:" : "ok 7/26/2019 17:58", - "populate:withReceiver:" : "hg 7/30/2020 11:31", + "populate:withReceiver:" : "pm 7/25/2019 17:37", "populate:withSender:" : "pm 7/25/2019 17:38", "populate:withSubject:" : "tg 7/26/2019 21:01", "protocolError" : "pm 7/25/2019 17:26", diff --git a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountInfoFromEmptyDictionaryIsInvalid.st b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountInfoFromEmptyDictionaryIsInvalid.st deleted file mode 100644 index 72615764..00000000 --- a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountInfoFromEmptyDictionaryIsInvalid.st +++ /dev/null @@ -1,4 +0,0 @@ -testing -testAccountInfoFromEmptyDictionaryIsInvalid - - self assert: (ICAccountInfo newWith: Dictionary new) isValid not \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountInfoFromFullDictionaryIsValid.st b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountInfoFromFullDictionaryIsValid.st deleted file mode 100644 index b2e77e23..00000000 --- a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountInfoFromFullDictionaryIsValid.st +++ /dev/null @@ -1,4 +0,0 @@ -testing -testAccountInfoFromFullDictionaryIsValid - - self assert: (ICAccountInfo newWith: self accountInfo asDictionary) isValid \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountNameUsed.st b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountNameUsed.st index d2d70355..1844a053 100644 --- a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountNameUsed.st +++ b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testAccountNameUsed.st @@ -1,7 +1,7 @@ testing testAccountNameUsed - ICEndPoint addConfiguration: self accountInfo. + ICEndPoint addConfiguration: self accountInfo asDictionary. self assert: self accountInfo accountNameUnused not. - ICEndPoint removeConfiguration: self accountInfo + ICEndPoint removeConfiguration: self accountInfo asDictionary. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testForArgumentCount.st b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testForArgumentCount.st index edb87258..23aaaa8e 100644 --- a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testForArgumentCount.st +++ b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testForArgumentCount.st @@ -2,4 +2,4 @@ testing testForArgumentCount self assert: ['\".*\"' asRegex matches: self accountInfo usernameAsIMAPString]. - self assert: ['\".*\"' asRegex matches: self accountInfo passwordAsIMAPString] \ No newline at end of file + self assert: ['\".*\"' asRegex matches: self accountInfo passwordAsIMAPString]. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testForValidIMAPString.st b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testForValidIMAPString.st index a5e22af7..83af96db 100644 --- a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testForValidIMAPString.st +++ b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/instance/testForValidIMAPString.st @@ -2,5 +2,5 @@ testing testForValidIMAPString self should: [self accountInfo username: self class invalidUsername] raise: Error. - self should: [self accountInfo password: self class invalidPassword] raise: Error + self should: [self accountInfo password: self class invalidPassword] raise: Error. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/methodProperties.json index d8737f51..bf47214f 100644 --- a/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICAccountInfoTest.class/methodProperties.json @@ -11,12 +11,10 @@ "accountInfo" : "tg 7/10/2019 18:44", "accountInfo:" : "tg 7/10/2019 18:44", "setUp" : "mt 7/26/2019 14:21", - "testAccountInfoFromEmptyDictionaryIsInvalid" : "hg 7/31/2020 22:05", - "testAccountInfoFromFullDictionaryIsValid" : "hg 7/31/2020 22:05", "testAccountNameUnused" : "JJ 6/12/2020 12:13", - "testAccountNameUsed" : "hg 7/31/2020 22:05", - "testForArgumentCount" : "hg 7/31/2020 22:05", - "testForValidIMAPString" : "hg 7/31/2020 22:06", + "testAccountNameUsed" : "NH 6/14/2020 12:11", + "testForArgumentCount" : "tg 7/10/2019 18:45", + "testForValidIMAPString" : "mt 7/26/2019 14:29", "testMissingAccountnameForCompleteness" : "NH 6/14/2020 12:04", "testMissingHostForCompleteness" : "NH 6/14/2020 12:04", "testMissingPasswordForCompleteness" : "NH 6/14/2020 12:04", diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/README.md b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/README.md index 789bc12e..856ec051 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/README.md +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/README.md @@ -1,6 +1 @@ -This class tests ICAddressBook and ICAddressBookEntry. - -Instance Variables - - addressBook: An ICAddressBook - emailAddress: A string containing an e-mail address. \ No newline at end of file +This class tests ICAddressBook and ICAddressBookEntry. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/setUp.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/setUp.st index 97d0e254..8158cb48 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/setUp.st +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/setUp.st @@ -1,5 +1,5 @@ -running +as yet unclassified setUp - self addressBook: (ICAddressBook new: 10). + self addressBook: ICAddressBook new. self emailAddress: 'maxmustermann@moin.rocks' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testAddEntry.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testAddEntry.st index 9721bec2..3d65b1bc 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testAddEntry.st +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testAddEntry.st @@ -1,4 +1,4 @@ -adding entries +as yet unclassified testAddEntry self addressBook addEmail: self emailAddress. diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testAddEntryDuplicated.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testAddEntryDuplicated.st index 2ae61bb6..d2a0f8d5 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testAddEntryDuplicated.st +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testAddEntryDuplicated.st @@ -1,4 +1,4 @@ -adding entries +as yet unclassified testAddEntryDuplicated self addressBook addEmail: self emailAddress. diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testChangeEntry.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testChangeEntry.st new file mode 100644 index 00000000..736abba1 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testChangeEntry.st @@ -0,0 +1,12 @@ +as yet unclassified +testChangeEntry + + | newEmail | + newEmail := 'maytheforce@bewith.you'. + + self addressBook addEmail: self emailAddress. + + self addressBook change: self emailAddress with: newEmail. + + self assert: (self addressBook includes: newEmail) equals: true + \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testChangeEntryToBeDuplicated.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testChangeEntryToBeDuplicated.st new file mode 100644 index 00000000..8b5f0a9b --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testChangeEntryToBeDuplicated.st @@ -0,0 +1,13 @@ +as yet unclassified +testChangeEntryToBeDuplicated + + | newEmailAddress initialSize | + newEmailAddress := 'maytheforce@bewith.you'. + + self addressBook addEmail: self emailAddress. + self addressBook addEmail: newEmailAddress. + initialSize := self addressBook size. + + self addressBook change: newEmailAddress with: self emailAddress. + self assert: self addressBook size equals: initialSize - 1. + \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testDeleteEntry.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testDeleteEntry.st index 6215ba72..bc9b6122 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testDeleteEntry.st +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testDeleteEntry.st @@ -1,4 +1,4 @@ -delete entries +as yet unclassified testDeleteEntry self addressBook addEmail: self emailAddress. diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testDeleteNonExistentEntryRaisesError.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testDeleteNonExistentEntryRaisesError.st index 17c1c0d9..2fe3558b 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testDeleteNonExistentEntryRaisesError.st +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testDeleteNonExistentEntryRaisesError.st @@ -1,4 +1,4 @@ -delete entries +as yet unclassified testDeleteNonExistentEntryRaisesError self should: [self addressBook remove: self emailAddress] raise: NotFound \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testFindEntry.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testFindEntry.st index df291541..98271801 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testFindEntry.st +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testFindEntry.st @@ -1,4 +1,4 @@ -find entries +as yet unclassified testFindEntry self addressBook addEmail: self emailAddress. diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testFindNonExistentEntryRaisesError.st b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testFindNonExistentEntryRaisesError.st index c125e135..f4ce966c 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testFindNonExistentEntryRaisesError.st +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/instance/testFindNonExistentEntryRaisesError.st @@ -1,4 +1,4 @@ -find entries +as yet unclassified testFindNonExistentEntryRaisesError self should: [self addressBook find: self emailAddress] raise: Error \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/methodProperties.json index c9a96f61..b1951cfc 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/methodProperties.json @@ -6,9 +6,11 @@ "addressBook:" : "LW 5/13/2020 09:54", "emailAddress" : "LW 6/10/2020 09:42", "emailAddress:" : "LW 6/10/2020 09:42", - "setUp" : "hg 6/24/2020 11:37", + "setUp" : "LW 6/10/2020 09:42", "testAddEntry" : "hg 6/10/2020 10:27", "testAddEntryDuplicated" : "hg 6/10/2020 10:27", + "testChangeEntry" : "hg 6/10/2020 10:28", + "testChangeEntryToBeDuplicated" : "hg 6/10/2020 10:28", "testDeleteEntry" : "hg 6/10/2020 10:28", "testDeleteNonExistentEntryRaisesError" : "hg 6/10/2020 10:17", "testFindEntry" : "hg 6/10/2020 10:29", diff --git a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/properties.json b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/properties.json index 07fde719..310db38a 100644 --- a/packages/IMAPClient-Tests.package/ICAddressBookTest.class/properties.json +++ b/packages/IMAPClient-Tests.package/ICAddressBookTest.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "LW 8/1/2020 11:39", + "commentStamp" : "NH 5/27/2020 09:30", "instvars" : [ "addressBook", "emailAddress" ], diff --git a/packages/IMAPClient-Tests.package/ICDeployment.class/class/createMCZfor.in..st b/packages/IMAPClient-Tests.package/ICDeployment.class/class/createMCZfor.in..st index dfddb32d..9856cdf8 100644 --- a/packages/IMAPClient-Tests.package/ICDeployment.class/class/createMCZfor.in..st +++ b/packages/IMAPClient-Tests.package/ICDeployment.class/class/createMCZfor.in..st @@ -1,10 +1,10 @@ release building createMCZfor: aPackageName in: aZIP - | mczStream workingCopy version | +| mczStream workingCopy version | - mczStream := RWBinaryOrTextStream on: (String new: 10000). - workingCopy := MCWorkingCopy forPackage: (MCPackage new name: aPackageName). - version := workingCopy newVersionWithName: aPackageName message: ('new ', aPackageName , ' release'). - version fileOutOn: mczStream. - (aZIP addString: mczStream contents as: (aPackageName, '.mcz')) desiredCompressionLevel: 0 \ No newline at end of file +mczStream := RWBinaryOrTextStream on: (String new: 10000). +workingCopy := MCWorkingCopy forPackage: (MCPackage new name: aPackageName). +version := workingCopy newVersionWithName: aPackageName message: ('new ', aPackageName , ' release'). +version fileOutOn: mczStream. +(aZIP addString: mczStream contents as: (aPackageName, '.mcz')) desiredCompressionLevel: 0. diff --git a/packages/IMAPClient-Tests.package/ICDeployment.class/instance/setUp.st b/packages/IMAPClient-Tests.package/ICDeployment.class/instance/setUp.st index ca5e6c8e..31763cfa 100644 --- a/packages/IMAPClient-Tests.package/ICDeployment.class/instance/setUp.st +++ b/packages/IMAPClient-Tests.package/ICDeployment.class/instance/setUp.st @@ -1,4 +1,4 @@ running setUp - self timeout: 60 \ No newline at end of file +self timeout: 60 \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICDeployment.class/instance/testDeployment.st b/packages/IMAPClient-Tests.package/ICDeployment.class/instance/testDeployment.st index 689174e5..d04ad68c 100644 --- a/packages/IMAPClient-Tests.package/ICDeployment.class/instance/testDeployment.st +++ b/packages/IMAPClient-Tests.package/ICDeployment.class/instance/testDeployment.st @@ -1,11 +1,11 @@ deployment testDeployment - | zip | +| zip | - zip := ZipArchive new. +zip := ZipArchive new. - self class packagesToDeploy do: [:package | self class createMCZfor: package in: zip]. - zip addString: self class preambleString as: 'install/preamble'. +self class packagesToDeploy do: [:package | self class createMCZfor: package in: zip]. +zip addString: self class preambleString as: 'install/preamble'. - zip writeToFileNamed: (self class releaseName, '.sar') \ No newline at end of file +zip writeToFileNamed: (self class releaseName, '.sar'). \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICDeployment.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICDeployment.class/methodProperties.json index d87c37fb..5e2a8af8 100644 --- a/packages/IMAPClient-Tests.package/ICDeployment.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICDeployment.class/methodProperties.json @@ -1,9 +1,9 @@ { "class" : { - "createMCZfor:in:" : "hg 7/31/2020 22:33", + "createMCZfor:in:" : "tg 7/26/2019 10:35", "packagesToDeploy" : "tg 7/25/2019 21:24", "preambleString" : "mt 7/26/2019 14:42", "releaseName" : "tg 7/26/2019 10:31" }, "instance" : { - "setUp" : "hg 7/31/2020 22:07", - "testDeployment" : "hg 7/31/2020 22:05" } } + "setUp" : "mt 7/26/2019 14:48", + "testDeployment" : "tg 7/26/2019 10:07" } } diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedBody.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedBody.st index 8915ede7..f62a16e4 100644 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedBody.st +++ b/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedBody.st @@ -1,7 +1,7 @@ constants expectedBody - ^ 'Content-Type: text/plain; charset=ISO-8859-1', String cr, + ^ 'Content-Type: text/plain; charset=ISO-8859-1', String cr, 'Content-Transfer-Encoding: base64', String cr, String cr, 'body text' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedMinimalHeaderAsString.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedMinimalHeaderAsString.st index b1ec85ae..0fc494ab 100644 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedMinimalHeaderAsString.st +++ b/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedMinimalHeaderAsString.st @@ -1,7 +1,8 @@ constants expectedMinimalHeaderAsString - ^ 'Content-Type: text/plain; charset=ISO-8859-1', String cr, + ^ + 'Content-Type: text/plain; charset=ISO-8859-1', String cr, 'Content-Transfer-Encoding: base64', String cr, 'from: sender', String cr, 'to: receiver', String cr, diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedStringRepresentation.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedStringRepresentation.st index 42120306..28d22692 100644 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedStringRepresentation.st +++ b/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedStringRepresentation.st @@ -1,7 +1,7 @@ constants expectedStringRepresentation - ^ 'contentTransferEncoding: base64', String cr, + ^ 'contentTransferEncoding: base64', String cr, 'contentType: text/plain; charset=ISO-8859-1', String cr, 'date: Fri, 10 Jun 2016 12:51:42 +0200', String cr, 'from: sender', String cr, diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/givenJsonObject.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/class/givenJsonObject.st deleted file mode 100644 index 17144f74..00000000 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/givenJsonObject.st +++ /dev/null @@ -1,16 +0,0 @@ -constants -givenJsonObject - - ^ JsonObject newFrom: { - 'header' -> (JsonObject newFrom: { - 'date' -> 'Fri, 10 Jun 2016 12:51:42 +0200'. - 'from' -> 'sender'. - 'subject' -> 'subject text'. - 'flagged' -> false. - 'seen' -> false. - 'contentType' -> 'text/plain; charset="iso-8859-1"'. - 'contentTransferEncoding' -> 'quoted-printable'. - 'to' -> #('receiver1' 'receiver2')}). - 'body' -> 'body text'. - 'messageID' -> nil. - 'uid' ->0} \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDateInSecondsSince1980.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDateInSecondsSince1980.st index 46f9186e..5046c5d2 100644 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDateInSecondsSince1980.st +++ b/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDateInSecondsSince1980.st @@ -1,4 +1,4 @@ accessing testDateInSecondsSince1980 - self assert: self email dateInSecondsSince1980 equals: self class expected1980Seconds \ No newline at end of file + self assert: self email dateInSecondsSince1980 equals: self class expected1980Seconds. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDateInSecondsSinceSqueakEpoch.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDateInSecondsSinceSqueakEpoch.st index 85c86f36..d8585850 100644 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDateInSecondsSinceSqueakEpoch.st +++ b/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDateInSecondsSinceSqueakEpoch.st @@ -1,4 +1,4 @@ accessing testDateInSecondsSinceSqueakEpoch - self assert: self email dateInSecondsSinceSqueakEpoch equals: self class expectedSqueakEpochSeconds \ No newline at end of file + self assert: self email dateInSecondsSinceSqueakEpoch equals: self class expectedSqueakEpochSeconds. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDeserialization.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDeserialization.st deleted file mode 100644 index 8e537c42..00000000 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testDeserialization.st +++ /dev/null @@ -1,8 +0,0 @@ -accessing -testDeserialization - - | stream | - stream := ReadWriteStream on: String new. - self class givenJsonObject jsonWriteOn: stream. - self assert: (ICEmail newFromJsonStream: stream) - equals: self class expectedMailObject \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testMinimalHeaderAsString.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testMinimalHeaderAsString.st new file mode 100644 index 00000000..5c16eca1 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testMinimalHeaderAsString.st @@ -0,0 +1,6 @@ +accessing +testMinimalHeaderAsString + + self + assert: self email minimalHeaderAsString + equals: self class expectedMinimalHeaderAsString \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testSerialization.st b/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testSerialization.st deleted file mode 100644 index 2d8b9888..00000000 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/instance/testSerialization.st +++ /dev/null @@ -1,5 +0,0 @@ -accessing -testSerialization - - self assert: (Json readFrom: (ReadStream on: self class expectedMailObject serializeToJson)) - equals: self class givenJsonObject \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICEmailTest.class/methodProperties.json index f7573183..a2fd7c00 100644 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICEmailTest.class/methodProperties.json @@ -2,22 +2,19 @@ "class" : { "emailDate" : "tg 7/19/2019 12:40", "expected1980Seconds" : "tg 7/19/2019 09:33", - "expectedBody" : "hg 7/31/2020 22:32", - "expectedMailObject" : "hg 7/30/2020 11:37", - "expectedMinimalHeaderAsString" : "hg 7/31/2020 22:32", + "expectedBody" : "DH 6/9/2018 15:33", + "expectedMinimalHeaderAsString" : "DH 6/9/2018 15:32", "expectedParsedMESZDate" : "tg 7/19/2019 10:36", "expectedParsedUTCDate" : "tg 7/19/2019 10:36", "expectedSqueakEpochSeconds" : "tg 7/19/2019 09:29", - "expectedStringRepresentation" : "hg 7/31/2020 22:33", - "givenJsonObject" : "hg 7/30/2020 11:40" }, + "expectedStringRepresentation" : "DH 6/9/2018 15:23" }, "instance" : { "email" : "C.G. 7/25/2018 17:52", "email:" : "pm 6/9/2019 17:16", "setUp" : "mt 7/26/2019 14:28", "testAsString" : "mw 5/11/2018 12:06", "testDateFormatted" : "tg 7/19/2019 08:36", - "testDateInSecondsSince1980" : "hg 7/31/2020 22:07", - "testDateInSecondsSinceSqueakEpoch" : "hg 7/31/2020 22:07", - "testDeserialization" : "hg 7/30/2020 11:01", - "testRetrieveBody" : "mt 7/26/2019 14:41", - "testSerialization" : "hg 7/30/2020 10:57" } } + "testDateInSecondsSince1980" : "tg 7/19/2019 09:26", + "testDateInSecondsSinceSqueakEpoch" : "tg 7/19/2019 09:27", + "testMinimalHeaderAsString" : "C.G. 7/25/2018 17:53", + "testRetrieveBody" : "mt 7/26/2019 14:41" } } diff --git a/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/invalidPasswordAccountInfo.st b/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/invalidPasswordAccountInfo.st index 155644a3..72a3656f 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/invalidPasswordAccountInfo.st +++ b/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/invalidPasswordAccountInfo.st @@ -2,9 +2,9 @@ constants invalidPasswordAccountInfo ^ ICAccountInfo new - accountName: self validAccountName; - host: self validHost; - port: self validPort; - username: self validUsername; - password: self invalidPassword; - ssl: true \ No newline at end of file + accountName: self validAccountName; + host: self validHost; + port: self validPort; + username: self validUsername; + password: self invalidPassword; + ssl: true \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/invalidUsernameAccountInfo.st b/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/invalidUsernameAccountInfo.st index 3ea8a29f..0982b780 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/invalidUsernameAccountInfo.st +++ b/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/invalidUsernameAccountInfo.st @@ -2,9 +2,9 @@ constants invalidUsernameAccountInfo ^ ICAccountInfo new - accountName: self validAccountName; - host: self validHost; - port: self validPort; - username: self invalidUsername; - password: self validPassword; - ssl: true \ No newline at end of file + accountName: self validAccountName; + host: self validHost; + port: self validPort; + username: self invalidUsername; + password: self validPassword; + ssl: true \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/validAccountInfo.st b/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/validAccountInfo.st index 82dece5a..d97e6e76 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/validAccountInfo.st +++ b/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/class/validAccountInfo.st @@ -2,9 +2,9 @@ constants validAccountInfo ^ ICAccountInfo new - accountName: self validAccountName; - host: self validHost; - port: self validPort; - username: self validUsername; - password: self validPassword; - ssl: true \ No newline at end of file + accountName: self validAccountName; + host: self validHost; + port: self validPort; + username: self validUsername; + password: self validPassword; + ssl: true \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/methodProperties.json index 3af6af1e..3bf2cd24 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICEndPointAuthentificationTest.class/methodProperties.json @@ -1,10 +1,10 @@ { "class" : { "invalidPassword" : "jwe 6/15/2016 16:03", - "invalidPasswordAccountInfo" : "hg 7/31/2020 22:30", + "invalidPasswordAccountInfo" : "mt 7/26/2019 14:22", "invalidUsername" : "jwe 6/15/2016 16:03", - "invalidUsernameAccountInfo" : "hg 7/31/2020 22:30", - "validAccountInfo" : "hg 7/31/2020 22:30", + "invalidUsernameAccountInfo" : "mt 7/26/2019 14:23", + "validAccountInfo" : "mt 7/26/2019 14:23", "validAccountName" : "tg 7/10/2019 19:43", "validHost" : "tg 7/10/2019 19:43", "validPassword" : "tg 4/30/2019 12:22", diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/class/emailHeaderWithId3.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/class/emailHeaderWithId3.st index 21a50f4d..9c944893 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/class/emailHeaderWithId3.st +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/class/emailHeaderWithId3.st @@ -2,7 +2,7 @@ constants emailHeaderWithId3 ^ Dictionary newFrom: { - #to -> #(''). + #to -> #('') asOrderedCollection . #from -> 'Jan '. #subject -> 'lorem ipsum'. #date -> 'Fri, 10 Jun 2016 12:51:42 +0200'. diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/class/emailHeaderWithId4.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/class/emailHeaderWithId4.st index 6fabc063..ddcfd14a 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/class/emailHeaderWithId4.st +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/class/emailHeaderWithId4.st @@ -2,7 +2,7 @@ constants emailHeaderWithId4 ^ Dictionary newFrom: { - #to -> #(''). + #to -> #('') asOrderedCollection. #from -> 'John ' . #subject -> 'dolor sit amet'. #date -> 'Sun, 12 Jun 2016 12:51:42 +0200'. diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/messageID.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/messageID.st new file mode 100644 index 00000000..a1599726 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/messageID.st @@ -0,0 +1,5 @@ +setup +messageID + + ^ 42 + \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/messageIDWithDifferentOrder.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/messageIDWithDifferentOrder.st new file mode 100644 index 00000000..9550e1b3 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/messageIDWithDifferentOrder.st @@ -0,0 +1,4 @@ +fetch +messageIDWithDifferentOrder + + ^ 44 \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineBodyMessageID.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineBodyMessageID.st new file mode 100644 index 00000000..40fa70ee --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineBodyMessageID.st @@ -0,0 +1,5 @@ +setup +multilineBodyMessageID + + ^ 43 + \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineReceiverMessageID.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineReceiverMessageID.st new file mode 100644 index 00000000..e7009307 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineReceiverMessageID.st @@ -0,0 +1,4 @@ +fetch +multilineReceiverMessageID + + ^ 46 \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineSenderMessageID.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineSenderMessageID.st new file mode 100644 index 00000000..32831e8f --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/multilineSenderMessageID.st @@ -0,0 +1,4 @@ +fetch +multilineSenderMessageID + + ^ 45 \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/setUp.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/setUp.st index 587085dc..a4ad1bdd 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/setUp.st +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/setUp.st @@ -7,7 +7,8 @@ setUp self rootFolder: ICFolder new. self rootFolder endpoint: self endPoint. - subfolder := ICFolder named: 'inbox' in: self rootFolder with: self endPoint. + subfolder := ICFolder named: 'inbox' in: self rootFolder. + subfolder endpoint: self endPoint. self endPoint diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/tearDown.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/tearDown.st index 52e2d9ba..a836cb36 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/tearDown.st +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/tearDown.st @@ -3,7 +3,7 @@ tearDown | mailAPath mailBPath path folderName | - folderName := self endPoint rootDirectoryName. + folderName := self endPoint rootFolderName. path := 'Maildir', FileDirectory slash, folderName, FileDirectory slash, 'inbox'. mailAPath := FileDirectory default fullPathFor: path , FileDirectory slash, '3' . diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testFetchMailsBeginningAtWithFoundMails.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testFetchMailsBeginningAtWithFoundMails.st index bbb0e1ad..d12de6e9 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testFetchMailsBeginningAtWithFoundMails.st +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testFetchMailsBeginningAtWithFoundMails.st @@ -4,7 +4,7 @@ testFetchMailsBeginningAtWithFoundMails | path emailObjects mailAPath mailBPath folderName | emailObjects := self endPoint fetchMailsBeginningAt: 42 number: 2. - folderName := self endPoint rootDirectoryName. + folderName := self endPoint rootFolderName. path := 'Maildir', FileDirectory slash, folderName, FileDirectory slash, 'inbox'. mailAPath := FileDirectory default fullPathFor: path , FileDirectory slash, '3' . mailBPath := FileDirectory default fullPathFor: path , FileDirectory slash, '4' . diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testPing.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testPing.st new file mode 100644 index 00000000..c09dba62 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testPing.st @@ -0,0 +1,4 @@ +ping +testPing + + self assert: self endPoint ping \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testRetrieveFlagsOnly.st b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testRetrieveFlagsOnly.st index b305c1cf..9e042ecc 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testRetrieveFlagsOnly.st +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/instance/testRetrieveFlagsOnly.st @@ -1,7 +1,8 @@ logout testRetrieveFlagsOnly - | folder mailA mailB emailObjects folderName mailAPath mailBPath path | + | folder mailA mailB emailObjects folderName mailAPath mailBPath path readWriter | + "Load emails from server and store them locally" "To test the functionality I need ICEMails, which are already present in storage, @@ -13,7 +14,7 @@ testRetrieveFlagsOnly folder := emailObjects first folder. folder addMails: emailObjects. - folderName := self endPoint rootDirectoryName. + folderName := self endPoint rootFolderName. path := 'Maildir', FileDirectory slash, folderName, FileDirectory slash, 'inbox'. mailAPath := FileDirectory default fullPathFor: path , FileDirectory slash, '3' . mailBPath := FileDirectory default fullPathFor: path , FileDirectory slash, '4' . @@ -21,10 +22,8 @@ testRetrieveFlagsOnly "Asserts that in the beginning the flags equal this" self assert: mailA seen equals: true. self assert: mailA flagged equals: false. - self assert: mailA deleted equals: false. self assert: mailB seen equals: true. self assert: mailB flagged equals: false. - self assert: mailB deleted equals: false. "Now retrive flags to trigger update" self endPoint retrieveFlagsFrom: 3 to: 4 in: folder. @@ -32,21 +31,18 @@ testRetrieveFlagsOnly "Asserts that the flags - in the mail object - were updated" self assert: mailA seen equals: false. self assert: mailA flagged equals: true. - self assert: mailA deleted equals: false. self assert: mailB seen equals: false. self assert: mailB flagged equals: true. - self assert: mailB deleted equals: false. "Asserts that the flags - in the maildir storage file - were also updated" - mailA := ICEmail newFromJsonStream: (FileStream readOnlyFileNamed: mailAPath). - mailB := ICEmail newFromJsonStream: (FileStream readOnlyFileNamed: mailBPath). + readWriter := ICFileReadWriter new. + mailA := readWriter get: '3' in: path. + mailB := readWriter get: '4' in: path. self assert: mailA seen equals: false. self assert: mailA flagged equals: true. - self assert: mailA deleted equals: false. self assert: mailB seen equals: false. self assert: mailB flagged equals: true. - self assert: mailB deleted equals: false. "Delete generated files" FileDirectory default diff --git a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/methodProperties.json index 89df03ea..537c315c 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICEndPointCommandTest.class/methodProperties.json @@ -1,7 +1,7 @@ { "class" : { - "emailHeaderWithId3" : "hg 7/30/2020 11:27", - "emailHeaderWithId4" : "hg 7/30/2020 11:27", + "emailHeaderWithId3" : "DH 5/30/2018 16:55", + "emailHeaderWithId4" : "DH 5/30/2018 16:56", "expectedFetchBody" : "AR 6/13/2016 17:02", "expectedFetchHeader" : "mw 5/11/2018 14:33", "expectedFetchHeaderDate" : "AR 6/30/2016 07:42", @@ -20,15 +20,21 @@ "instance" : { "endPoint" : "js 6/14/2016 10:46", "endPoint:" : "pm 6/9/2019 17:17", + "messageID" : "AR 6/13/2016 18:45", + "messageIDWithDifferentOrder" : "al 6/28/2016 10:25", + "multilineBodyMessageID" : "AR 6/15/2016 12:01", + "multilineReceiverMessageID" : "al 6/28/2016 10:46", + "multilineSenderMessageID" : "al 6/28/2016 10:38", "rootFolder" : "C.G. 7/25/2018 17:54", "rootFolder:" : "pm 6/9/2019 17:17", - "setUp" : "JJ 8/2/2020 18:51", - "tearDown" : "hg 7/29/2020 10:50", - "testFetchMailsBeginningAtWithFoundMails" : "hg 7/29/2020 10:50", + "setUp" : "tg 7/26/2019 20:58", + "tearDown" : "ok 7/25/2019 18:39", + "testFetchMailsBeginningAtWithFoundMails" : "mt 7/26/2019 14:46", "testFetchMailsBeginningAtWithoutFoundMails" : "mt 7/26/2019 14:46", "testFillMessageBody" : "pm 6/2/2019 15:58", "testFillMessageBodyWithMultilineBody" : "pm 6/2/2019 15:58", "testListAllFolders" : "DH 4/27/2018 02:35", "testLogout" : "jwe 6/21/2016 10:15", - "testRetrieveFlagsOnly" : "JJ 7/31/2020 14:13", + "testPing" : "jwe 6/21/2016 10:15", + "testRetrieveFlagsOnly" : "tg 7/26/2019 22:01", "testSelectInbox" : "C.G. 7/25/2018 18:00" } } diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultAccountInfo.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultAccountInfo.st deleted file mode 100644 index 628829d9..00000000 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultAccountInfo.st +++ /dev/null @@ -1,10 +0,0 @@ -constants -defaultAccountInfo - - ^ ICAccountInfo newWith: (Dictionary newFrom: { - 'accountName' -> 'accountname'. - 'address' -> 'imap.test.de'. - 'port' -> 42. - 'username' -> 'test@test.test'. - 'password' -> 'TOTALLY SECRET PASSWORD'. - 'ssl' -> true}) \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultConfigurationDictionary.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultConfigurationDictionary.st new file mode 100644 index 00000000..5b2093ee --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultConfigurationDictionary.st @@ -0,0 +1,10 @@ +constants +defaultConfigurationDictionary + + ^ Dictionary newFrom: { + 'accountName' -> 'accountname'. + 'address' -> 'imap.test.de'. + 'port' -> 42. + 'username' -> 'test@test.test'. + 'ssl' -> true. + } \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultInvalidAccountInfo.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultInvalidAccountInfo.st deleted file mode 100644 index 2e9e3651..00000000 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultInvalidAccountInfo.st +++ /dev/null @@ -1,8 +0,0 @@ -constants -defaultInvalidAccountInfo - - ^ ICAccountInfo newWith: (Dictionary newFrom: { - 'address' -> 'imap.test.de'. - 'bort' -> 42. - 'username' -> 'test@test.test'. - 'ssl' -> true}) \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultInvalidKeysConfigurationDictionary.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultInvalidKeysConfigurationDictionary.st new file mode 100644 index 00000000..be79aed4 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/defaultInvalidKeysConfigurationDictionary.st @@ -0,0 +1,9 @@ +constants +defaultInvalidKeysConfigurationDictionary + + ^ Dictionary newFrom: { + 'address' -> 'imap.test.de'. + 'bort' -> 42. + 'username' -> 'test@test.test'. + 'ssl' -> true. + } \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/invalidDataDictionaryErrorMessage.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/invalidDataDictionaryErrorMessage.st index ac7731c1..ed670b9a 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/invalidDataDictionaryErrorMessage.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/class/invalidDataDictionaryErrorMessage.st @@ -1,4 +1,4 @@ constants invalidDataDictionaryErrorMessage - ^ 'Not a valid AccountInfo' \ No newline at end of file + ^ 'Not a valid dataDictionary' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/setUp.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/setUp.st index 93e0fc4e..e4913d82 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/setUp.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/setUp.st @@ -2,5 +2,6 @@ running setUp self previousConnectionConfigurations: ICEndPoint connectionConfigurations. - ICEndPoint connectionConfigurations: nil + ICEndPoint connectionConfigurations: nil. + \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/tearDown.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/tearDown.st index 03f18982..6f3c39df 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/tearDown.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/tearDown.st @@ -1,4 +1,6 @@ running tearDown - ICEndPoint connectionConfigurations: self previousConnectionConfigurations \ No newline at end of file + ICEndPoint connectionConfigurations: self previousConnectionConfigurations. + + \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testAddConfiguration.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testAddConfiguration.st index 0b10a2fd..987b131c 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testAddConfiguration.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testAddConfiguration.st @@ -1,6 +1,6 @@ testing testAddConfiguration - ICEndPoint addConfiguration: self class defaultAccountInfo. + ICEndPoint addConfiguration: self class defaultConfigurationDictionary. self assert: ICEndPoint connectionConfigurations equals: - { self class defaultAccountInfo } asOrderedCollection \ No newline at end of file + { self class defaultConfigurationDictionary } asOrderedCollection \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testCheckValidConfiguration.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testCheckValidConfiguration.st new file mode 100644 index 00000000..c274817b --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testCheckValidConfiguration.st @@ -0,0 +1,7 @@ +testing +testCheckValidConfiguration + + self assert: (ICEndPoint checkValidConfiguration: Dictionary new) not. + self assert: (ICEndPoint checkValidConfiguration: self class defaultInvalidKeysConfigurationDictionary) not. + + self assert: (ICEndPoint checkValidConfiguration: self class defaultConfigurationDictionary) \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testClearConfigurations.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testClearConfigurations.st new file mode 100644 index 00000000..f2bf518c --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testClearConfigurations.st @@ -0,0 +1,6 @@ +testing +testClearConfigurations + + ICEndPoint addConfiguration: self class defaultConfigurationDictionary. + ICEndPoint clearConfigurations. + self assert: ICEndPoint connectionConfigurations equals: OrderedCollection new \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testLazyInit.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testLazyInit.st index e4454260..5f831808 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testLazyInit.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testLazyInit.st @@ -1,4 +1,4 @@ testing testLazyInit - self assert: ICEndPoint connectionConfigurations equals: OrderedCollection new \ No newline at end of file + self assert: ICEndPoint connectionConfigurations equals: OrderedCollection new \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testReferenceDeleteSecurity.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testReferenceDeleteSecurity.st index 3472f99a..ef399e58 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testReferenceDeleteSecurity.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testReferenceDeleteSecurity.st @@ -2,9 +2,9 @@ testing testReferenceDeleteSecurity |reference| - ICEndPoint addConfiguration: self class defaultAccountInfo. + ICEndPoint addConfiguration: self class defaultConfigurationDictionary. reference := ICEndPoint connectionConfigurations. - reference remove: self class defaultAccountInfo. + reference remove: self class defaultConfigurationDictionary. self assert: ICEndPoint connectionConfigurations equals: - {self class defaultAccountInfo} asOrderedCollection \ No newline at end of file + {self class defaultConfigurationDictionary} asOrderedCollection. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testRejectInvaildConfiguration.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testRejectInvaildConfiguration.st new file mode 100644 index 00000000..e5abe11e --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testRejectInvaildConfiguration.st @@ -0,0 +1,11 @@ +testing +testRejectInvaildConfiguration + + self should: [ICEndPoint addConfiguration: Dictionary new] + raise: Error + description: self class invalidDataDictionaryErrorMessage. + self should: [ICEndPoint addConfiguration: + self class defaultInvalidKeysConfigurationDictionary ] + raise: Error + description: self class invalidDataDictionaryErrorMessage + \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testRemoveConfiguration.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testRemoveConfiguration.st index 9eb4bf2d..2860527e 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testRemoveConfiguration.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/instance/testRemoveConfiguration.st @@ -1,6 +1,6 @@ testing testRemoveConfiguration - ICEndPoint addConfiguration: self class defaultAccountInfo. - ICEndPoint removeConfiguration: self class defaultAccountInfo. + ICEndPoint addConfiguration: self class defaultConfigurationDictionary. + ICEndPoint removeConfiguration: self class defaultConfigurationDictionary. self assert: ICEndPoint connectionConfigurations equals: OrderedCollection new \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/methodProperties.json index c865401c..450b0f24 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionConfigurationsTest.class/methodProperties.json @@ -1,14 +1,17 @@ { "class" : { - "defaultAccountInfo" : "NH 7/15/2020 10:18", - "defaultInvalidAccountInfo" : "NH 7/15/2020 10:07", - "invalidDataDictionaryErrorMessage" : "NH 7/15/2020 10:15" }, + "defaultConfigurationDictionary" : "tg 7/19/2019 10:02", + "defaultInvalidKeysConfigurationDictionary" : "tg 7/19/2019 10:02", + "invalidDataDictionaryErrorMessage" : "pm 6/19/2019 14:26" }, "instance" : { "previousConnectionConfigurations" : "pm 6/11/2019 19:44", "previousConnectionConfigurations:" : "pm 6/11/2019 19:45", - "setUp" : "hg 7/31/2020 22:08", - "tearDown" : "hg 7/31/2020 22:09", - "testAddConfiguration" : "NH 7/15/2020 10:05", - "testLazyInit" : "hg 7/31/2020 22:09", - "testReferenceDeleteSecurity" : "hg 7/31/2020 22:09", - "testRemoveConfiguration" : "NH 7/15/2020 10:06" } } + "setUp" : "pm 6/19/2019 13:19", + "tearDown" : "pm 6/19/2019 13:19", + "testAddConfiguration" : "pm 6/19/2019 14:46", + "testCheckValidConfiguration" : "pm 6/19/2019 15:03", + "testClearConfigurations" : "pm 6/19/2019 14:47", + "testLazyInit" : "pm 6/19/2019 14:47", + "testReferenceDeleteSecurity" : "tg 7/26/2019 20:59", + "testRejectInvaildConfiguration" : "tg 7/26/2019 21:00", + "testRemoveConfiguration" : "pm 6/19/2019 14:47" } } diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/invalidHostAccountInfo.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/invalidHostAccountInfo.st index cc9f7aef..9454b403 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/invalidHostAccountInfo.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/invalidHostAccountInfo.st @@ -1,10 +1,10 @@ constants invalidHostAccountInfo - ^ ICAccountInfo new - accountName: self validAccountName; - host: self invalidHost; - port: self validPort; - username: self validUsername; - password: self validPassword; - ssl: true \ No newline at end of file +^ ICAccountInfo new + accountName: self validAccountName; + host: self invalidHost; + port: self validPort; + username: self validUsername; + password: self validPassword; + ssl: true \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/invalidPortAccountInfo.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/invalidPortAccountInfo.st index 6a706d8c..8005517f 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/invalidPortAccountInfo.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/invalidPortAccountInfo.st @@ -2,9 +2,9 @@ constants invalidPortAccountInfo ^ ICAccountInfo new - accountName: self validAccountName; - host: self validHost; - port: self invalidPort; - username: self validUsername; - password: self validPassword; - ssl: true \ No newline at end of file + accountName: self validAccountName; + host: self validHost; + port: self invalidPort; + username: self validUsername; + password: self validPassword; + ssl: true \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/validAccountInfo.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/validAccountInfo.st index 82dece5a..d97e6e76 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/validAccountInfo.st +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/class/validAccountInfo.st @@ -2,9 +2,9 @@ constants validAccountInfo ^ ICAccountInfo new - accountName: self validAccountName; - host: self validHost; - port: self validPort; - username: self validUsername; - password: self validPassword; - ssl: true \ No newline at end of file + accountName: self validAccountName; + host: self validHost; + port: self validPort; + username: self validUsername; + password: self validPassword; + ssl: true \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/instance/testPingIfNotConnected.st b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/instance/testPingIfNotConnected.st new file mode 100644 index 00000000..cf9f4375 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/instance/testPingIfNotConnected.st @@ -0,0 +1,5 @@ +accessing +testPingIfNotConnected + + self endPoint ping. + self assert: self endPoint fatalErrorOccured equals: true \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/methodProperties.json index 62f832a2..a24d5caa 100644 --- a/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICEndPointConnectionTest.class/methodProperties.json @@ -2,10 +2,10 @@ "class" : { "defaultMockServerConfig" : "C.G. 7/25/2018 18:22", "invalidHost" : "tg 7/10/2019 19:36", - "invalidHostAccountInfo" : "hg 7/31/2020 22:29", + "invalidHostAccountInfo" : "mt 7/26/2019 14:24", "invalidPort" : "AR 5/31/2016 22:00", - "invalidPortAccountInfo" : "hg 7/31/2020 22:29", - "validAccountInfo" : "hg 7/31/2020 22:29", + "invalidPortAccountInfo" : "mt 7/26/2019 14:23", + "validAccountInfo" : "mt 7/26/2019 14:23", "validAccountName" : "tg 7/10/2019 19:26", "validHost" : "jwe 7/28/2016 14:29", "validHostIP" : "AR 7/12/2016 10:24", @@ -19,4 +19,5 @@ "tearDown" : "js 6/7/2016 09:42", "testConnectToOn" : "tg 7/26/2019 21:41", "testConnectToOnWithWrongHost" : "tg 7/10/2019 20:00", - "testConnectToOnWithWrongPort" : "tg 7/10/2019 20:00" } } + "testConnectToOnWithWrongPort" : "tg 7/10/2019 20:00", + "testPingIfNotConnected" : "C.G. 7/25/2018 18:02" } } diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedJsonHeader.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedJsonHeader.st new file mode 100644 index 00000000..7d5ead9d --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedJsonHeader.st @@ -0,0 +1,12 @@ +constants +expectedJsonHeader + + ^ JsonObject newFrom: { + 'date' -> 'Fri, 10 Jun 2016 12:51:42 +0200'. + 'from' -> 'sender'. + 'subject' -> 'subject text'. + 'flagged' -> false. + 'seen' -> false. + 'contentType' -> 'text/plain; charset="iso-8859-1"'. + 'contentTransferEncoding' -> 'quoted-printable'. + 'to' -> (OrderedCollection newFrom: {'receiver1'. 'receiver2'})} \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedMailObject.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedMailObject.st similarity index 81% rename from packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedMailObject.st rename to packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedMailObject.st index 19343ce8..4892ebb6 100644 --- a/packages/IMAPClient-Tests.package/ICEmailTest.class/class/expectedMailObject.st +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedMailObject.st @@ -9,5 +9,5 @@ expectedMailObject seen: false; contentType: 'text/plain; charset="iso-8859-1"'; contentTransferEncoding: 'quoted-printable'; - to: { 'receiver1' . 'receiver2' }; + to: (OrderedCollection newFrom: { 'receiver1' . 'receiver2' }); date: 'Fri, 10 Jun 2016 12:51:42 +0200' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedMailObjectFor..st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedMailObjectFor..st deleted file mode 100644 index 5fc07f49..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/expectedMailObjectFor..st +++ /dev/null @@ -1,14 +0,0 @@ -constants -expectedMailObjectFor: UID - - ^ ICEmail new - body: 'body text'; - subject: 'subject text'; - from: 'sender'; - flagged: false; - seen: false; - contentType: 'text/plain; charset="iso-8859-1"'; - contentTransferEncoding: 'quoted-printable'; - to: { 'receiver1' . 'receiver2' }; - date: 'Fri, 10 Jun 2016 12:51:42 +0200'; - uniqueID: UID \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/givenJsonObject.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/givenJsonObject.st new file mode 100644 index 00000000..62c0882a --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/givenJsonObject.st @@ -0,0 +1,22 @@ +constants +givenJsonObject + + | header object | + + Transcript show: 'Debug'. + Transcript show: JsonObject. + header := JsonObject newFrom: { + 'date' -> 'Fri, 10 Jun 2016 12:51:42 +0200'. + 'from' -> 'sender'. + 'subject' -> 'subject text'. + 'flagged' -> false. + 'seen' -> false. + 'contentType' -> 'text/plain; charset="iso-8859-1"'. + 'contentTransferEncoding' -> 'quoted-printable'. + 'to' -> #('receiver1' 'receiver2')}. + + object := JsonObject newFrom: { + 'header' -> header. + 'body' -> 'body text'}. + + ^ object \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/givenJsonObjectFor..st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/givenJsonObjectFor..st deleted file mode 100644 index d8718209..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/class/givenJsonObjectFor..st +++ /dev/null @@ -1,16 +0,0 @@ -constants -givenJsonObjectFor: UID - - ^ JsonObject newFrom: { - 'header' -> (JsonObject newFrom: { - 'date' -> 'Fri, 10 Jun 2016 12:51:42 +0200'. - 'from' -> 'sender'. - 'subject' -> 'subject text'. - 'flagged' -> false. - 'seen' -> false. - 'contentType' -> 'text/plain; charset="iso-8859-1"'. - 'contentTransferEncoding' -> 'quoted-printable'. - 'to' -> #('receiver1' 'receiver2')}). - 'body' -> 'body text'. - 'messageID' -> nil. - 'uid' ->UID} \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/createFileWith..st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/createFileWith..st deleted file mode 100644 index 06fbd9bf..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/createFileWith..st +++ /dev/null @@ -1,10 +0,0 @@ -accessing -createFileWith: UID - - | testMail | - - testMail := self class expectedMailObjectFor: UID. - (FileDirectory default / self endpoint maildirFileName) assureExistence. - FileStream - forceNewFileNamed: (self endpoint maildirFileName, FileDirectory slash, testMail uniqueID) - do: [:stream | stream nextPutAll: testMail serializeToJson; flush; close ] \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/deleteUID.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/deleteUID.st deleted file mode 100644 index 7ea8b268..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/deleteUID.st +++ /dev/null @@ -1,4 +0,0 @@ -UIDs -deleteUID - - ^ '1' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/endpoint..st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/endpoint..st deleted file mode 100644 index 6f688b24..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/endpoint..st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -endpoint: anObject - endpoint := anObject \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/endpoint.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/endpoint.st deleted file mode 100644 index 33992810..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/endpoint.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -endpoint - ^ endpoint \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/readUID.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/readUID.st deleted file mode 100644 index 097e2673..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/readUID.st +++ /dev/null @@ -1,4 +0,0 @@ -UIDs -readUID - - ^ '3' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/setUp.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/setUp.st index 8c13816f..7409be69 100644 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/setUp.st +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/setUp.st @@ -1,5 +1,4 @@ -setup +running setUp - - self endpoint: (ICMockEndpoint new rootFolder: ICFolder new). - self readWriter: (ICFileReadWriter newWith: self endpoint) \ No newline at end of file + + self readWriter: ICFileReadWriter new \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/tearDown.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/tearDown.st deleted file mode 100644 index d1cb5ccf..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/tearDown.st +++ /dev/null @@ -1,4 +0,0 @@ -teardown -tearDown - - (FileDirectory default / self endpoint maildirFileName) deleteLocalFiles \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testCreateHeader.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testCreateHeader.st new file mode 100644 index 00000000..87b5ee0d --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testCreateHeader.st @@ -0,0 +1,9 @@ +accessing +testCreateHeader + + | jsonHeader | + + jsonHeader := (self class givenJsonObject at: 'header'). + self + assert: (self readWriter createHeaderFrom: jsonHeader) + equals: self class expectedMailObject header \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testCreateJsonHeader.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testCreateJsonHeader.st new file mode 100644 index 00000000..d20188b9 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testCreateJsonHeader.st @@ -0,0 +1,6 @@ +accessing +testCreateJsonHeader + + self + assert: (self readWriter createJsonHeaderFrom: self class expectedMailObject header) + equals: self class expectedJsonHeader \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testDelete.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testDelete.st deleted file mode 100644 index 15ce1e00..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testDelete.st +++ /dev/null @@ -1,7 +0,0 @@ -delteFile -testDelete - - self createFileWith: self deleteUID. - self assert: (FileDirectory default / self endpoint maildirFileName / self deleteUID asString) exists. - self readWriter delete: (self class expectedMailObjectFor: self deleteUID). - self assert: (FileDirectory default / self endpoint maildirFileName / self deleteUID asString) exists not \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testRead.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testRead.st deleted file mode 100644 index 169844d9..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testRead.st +++ /dev/null @@ -1,7 +0,0 @@ -readFile -testRead - - self createFileWith: self readUID. - self readWriter readEmailsFromDisk. - self assert: { (self class expectedMailObjectFor: self readUID) folder: self endpoint rootFolder } - equals: self endpoint rootFolder emails asArray \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testReadWrite.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testReadWrite.st new file mode 100644 index 00000000..b893f787 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testReadWrite.st @@ -0,0 +1,10 @@ +accessing +testReadWrite + + | email | + + self readWriter write: (self class expectedMailObject) in: 'Maildir' as: 'testMail'. + email := (self readWriter get: 'testMail' in: 'Maildir'). + + self assert: (email header) equals: self class expectedMailObject header. + self assert: (email body) equals: self class expectedMailObject body \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testRecipients.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testRecipients.st new file mode 100644 index 00000000..dd9c22b9 --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testRecipients.st @@ -0,0 +1,9 @@ +accessing +testRecipients + + | jsonRecipients | + + jsonRecipients := (self class givenJsonObject at: 'header') at: 'to'. + self + assert: (self readWriter recipientsFrom: jsonRecipients) + equals: (self class expectedMailObject header at: #to) \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testWrite.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testWrite.st deleted file mode 100644 index 5aaa6e49..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/testWrite.st +++ /dev/null @@ -1,6 +0,0 @@ -writeFile -testWrite - - self readWriter write: (self class expectedMailObjectFor: self writeUID). - self assert: (self class givenJsonObjectFor: self writeUID) - equals: (Json readFrom: (FileDirectory default / self endpoint maildirFileName / self writeUID) readStream) \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/writeUID.st b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/writeUID.st deleted file mode 100644 index daa6fd74..00000000 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/instance/writeUID.st +++ /dev/null @@ -1,4 +0,0 @@ -UIDs -writeUID - - ^ '2' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/methodProperties.json index bac56a63..209ebd03 100644 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/methodProperties.json @@ -1,18 +1,13 @@ { "class" : { - "expectedMailObjectFor:" : "hg 7/31/2020 11:29", - "givenJsonObjectFor:" : "hg 7/31/2020 10:59" }, + "expectedJsonHeader" : "C.G. 7/25/2018 18:21", + "expectedMailObject" : "DH 6/6/2018 20:10", + "givenJsonObject" : "C.G. 7/25/2018 18:21" }, "instance" : { - "createFileWith:" : "hg 7/31/2020 22:09", - "deleteUID" : "hg 7/31/2020 11:29", - "endpoint" : "hg 7/31/2020 10:36", - "endpoint:" : "hg 7/31/2020 10:36", - "readUID" : "hg 7/31/2020 11:29", "readWriter" : "dl 7/20/2017 10:54", "readWriter:" : "pm 6/9/2019 17:18", - "setUp" : "hg 7/31/2020 22:09", - "tearDown" : "hg 7/31/2020 11:56", - "testDelete" : "hg 7/31/2020 22:09", - "testRead" : "hg 7/31/2020 22:09", - "testWrite" : "hg 7/31/2020 11:29", - "writeUID" : "hg 7/31/2020 11:29" } } + "setUp" : "C.G. 7/25/2018 18:02", + "testCreateHeader" : "C.G. 7/25/2018 18:03", + "testCreateJsonHeader" : "C.G. 7/25/2018 18:03", + "testReadWrite" : "C.G. 7/25/2018 18:03", + "testRecipients" : "pm 6/3/2019 18:53" } } diff --git a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/properties.json b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/properties.json index 5527bea0..42128914 100644 --- a/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/properties.json +++ b/packages/IMAPClient-Tests.package/ICFileReadWriterTest.class/properties.json @@ -6,8 +6,7 @@ ], "commentStamp" : "tg 7/8/2019 15:48", "instvars" : [ - "readWriter", - "endpoint" ], + "readWriter" ], "name" : "ICFileReadWriterTest", "pools" : [ ], diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testAddFolder.st b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testAddFolder.st index 8d3c70ee..b78ba55c 100644 --- a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testAddFolder.st +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testAddFolder.st @@ -3,15 +3,15 @@ testAddFolder | subfolder1 | - subfolder1 := ICFolder named: 'subfolder' in: self root with: self endpoint. + subfolder1 := ICFolder named: 'subfolder' in: self root. self assert: self root childFolders size equals: 1. self assert: self root countFolders equals: 1. - ICFolder named: 'subfolder' in: subfolder1 with: self endpoint. + ICFolder named: 'subfolder' in: subfolder1. self assert: self root childFolders size equals: 1. self assert: self root countFolders equals: 2. - ICFolder named: 'subfolder' in: subfolder1 with: self endpoint. + ICFolder named: 'subfolder' in: subfolder1. self assert: self root childFolders size equals: 1. self assert: self root countFolders equals: 3. self assert: subfolder1 countFolders equals: 2 \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testChildFolderNamedWithSubfolderNotPresent.st b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testChildFolderNamedWithSubfolderNotPresent.st new file mode 100644 index 00000000..51e16c3c --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testChildFolderNamedWithSubfolderNotPresent.st @@ -0,0 +1,12 @@ +folderNames +testChildFolderNamedWithSubfolderNotPresent + + | subfolder1 subfolder2 | + + subfolder1 := ICFolder named: 'subfolder' in: self root. + subfolder2 := ICFolder named: 'subfolder2' in: subfolder1. + subfolder2 endpoint: self endpoint. + subfolder1 endpoint: self endpoint. + + self should: [ subfolder1 childFolderNamed: 'subfolder3' ] raise: Error. + self assert: subfolder2 path equals: 'subfolder.subfolder2' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testChildFolderNamedWithSubfolderPresent.st b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testChildFolderNamedWithSubfolderPresent.st new file mode 100644 index 00000000..be19931d --- /dev/null +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testChildFolderNamedWithSubfolderPresent.st @@ -0,0 +1,10 @@ +folderNames +testChildFolderNamedWithSubfolderPresent + + | subfolder1 subfolder2 result | + + subfolder1 := ICFolder named: 'subfolder' in: self root. + subfolder2 := ICFolder named: 'subfolder2' in: subfolder1. + + result := subfolder1 childFolderNamed: 'subfolder2'. + self assert: result equals: subfolder2 \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testCountFolders.st b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testCountFolders.st index c65f9055..bcaef9b5 100644 --- a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testCountFolders.st +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testCountFolders.st @@ -3,9 +3,9 @@ testCountFolders | subfolder1 subfolder2 subfolder3 | - subfolder1 := ICFolder named: 'subfolder1' in: self root with: self endpoint. - subfolder2 := ICFolder named: 'subfolder2' in: subfolder1 with: self endpoint. - subfolder3 := ICFolder named: 'subfolder3' in: subfolder2 with: self endpoint. + subfolder1 := ICFolder named: 'subfolder1' in: self root. + subfolder2 := ICFolder named: 'subfolder2' in: subfolder1. + subfolder3 := ICFolder named: 'subfolder3' in: subfolder2. self assert: subfolder1 countFolders equals: 2. self assert: subfolder2 countFolders equals: 1. diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testEmailInFolder.st b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testEmailInFolder.st index 6eea182a..3fe8c4a0 100644 --- a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testEmailInFolder.st +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testEmailInFolder.st @@ -3,7 +3,8 @@ testEmailInFolder | folder | - folder := ICFolder named: 'folder' in: self root with: self endpoint. + folder := ICFolder named: 'folder' in: self root. + folder endpoint: self endpoint. folder emails: {self exampleEmailIn: folder}. self assert: folder emails first folder path = folder path \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRemoveFolder.st b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRemoveFolder.st index 064efcbe..e2691d10 100644 --- a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRemoveFolder.st +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRemoveFolder.st @@ -3,9 +3,9 @@ testRemoveFolder | subfolder1 subfolder2 subfolder3 | - subfolder1 := ICFolder named: 'subfolder1' in: self root with: self endpoint. - subfolder2 := ICFolder named: 'subfolder2' in: subfolder1 with: self endpoint. - subfolder3 := ICFolder named: 'subfolder3' in: subfolder2 with: self endpoint. + subfolder1 := ICFolder named: 'subfolder1' in: self root. + subfolder2 := ICFolder named: 'subfolder2' in: subfolder1. + subfolder3 := ICFolder named: 'subfolder3' in: subfolder2. subfolder2 removeFolder: subfolder3. diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRemoveFolderWithFolderNotExisting.st b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRemoveFolderWithFolderNotExisting.st index 8b5b9f01..728840cb 100644 --- a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRemoveFolderWithFolderNotExisting.st +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRemoveFolderWithFolderNotExisting.st @@ -3,7 +3,7 @@ testRemoveFolderWithFolderNotExisting | subfolder1 subfolder2 | - subfolder1 := ICFolder named: 'subfolder1' in: self root with: self endpoint. - subfolder2 := ICFolder named: 'subfolder2' in: self root with: self endpoint. + subfolder1 := ICFolder named: 'subfolder1' in: self root. + subfolder2 := ICFolder named: 'subfolder2' in: self root. self should: [subfolder1 removeFolder: subfolder2] raise: Error \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRootFolderHashName.st b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRootFolderHashName.st index 5e4574a1..a9a9c860 100644 --- a/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRootFolderHashName.st +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/instance/testRootFolderHashName.st @@ -8,14 +8,14 @@ testRootFolderHashName testEndpoint accountInfo host: 'testHost'; username: 'klaus'. - self assert: testEndpoint rootDirectoryName equals: '1394373304'. + self assert: testEndpoint rootFolderName equals: '1394373304'. testEndpoint accountInfo host: 'tHost'; username: 'klaus'. - self assert: testEndpoint rootDirectoryName equals: '8003456151'. + self assert: testEndpoint rootFolderName equals: '8003456151'. testEndpoint accountInfo host: 'abcd'; username: 'efgh'. - self assert: testEndpoint rootDirectoryName equals: '3788214663' \ No newline at end of file + self assert: testEndpoint rootFolderName equals: '3788214663' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICFolderTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICFolderTest.class/methodProperties.json index 35462158..fa083f4e 100644 --- a/packages/IMAPClient-Tests.package/ICFolderTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICFolderTest.class/methodProperties.json @@ -9,9 +9,11 @@ "root:" : "pm 6/9/2019 17:19", "setUp" : "C.G. 7/25/2018 18:04", "tearDown" : "js 6/7/2016 12:56", - "testAddFolder" : "JJ 8/2/2020 18:47", - "testCountFolders" : "JJ 8/2/2020 18:47", - "testEmailInFolder" : "JJ 8/2/2020 18:48", - "testRemoveFolder" : "JJ 8/2/2020 18:48", - "testRemoveFolderWithFolderNotExisting" : "JJ 8/2/2020 18:48", - "testRootFolderHashName" : "hg 7/29/2020 10:50" } } + "testAddFolder" : "DH 7/19/2018 18:18", + "testChildFolderNamedWithSubfolderNotPresent" : "C.G. 7/25/2018 18:04", + "testChildFolderNamedWithSubfolderPresent" : "C.G. 7/25/2018 18:04", + "testCountFolders" : "C.G. 7/25/2018 18:04", + "testEmailInFolder" : "C.G. 7/25/2018 18:05", + "testRemoveFolder" : "C.G. 7/25/2018 18:04", + "testRemoveFolderWithFolderNotExisting" : "C.G. 7/25/2018 18:04", + "testRootFolderHashName" : "mt 7/26/2019 14:30" } } diff --git a/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/maildirFileName.st b/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/maildirFileName.st deleted file mode 100644 index 8c931581..00000000 --- a/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/maildirFileName.st +++ /dev/null @@ -1,6 +0,0 @@ -mockMethods -maildirFileName - - ^ 'Maildir', - FileDirectory slash, - self rootDirectoryName \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/retrieveBody..st b/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/retrieveBody..st deleted file mode 100644 index c3e79231..00000000 --- a/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/retrieveBody..st +++ /dev/null @@ -1,4 +0,0 @@ -mockMethods -retrieveBody: anEmail - - anEmail body: self mailBody \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/rootDirectoryName.st b/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/rootDirectoryName.st deleted file mode 100644 index a7c2bb75..00000000 --- a/packages/IMAPClient-Tests.package/ICMockEndpoint.class/instance/rootDirectoryName.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -rootDirectoryName - - ^ 'TestDirectory' \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICMockEndpoint.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICMockEndpoint.class/methodProperties.json index cb305f70..03c6230a 100644 --- a/packages/IMAPClient-Tests.package/ICMockEndpoint.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICMockEndpoint.class/methodProperties.json @@ -6,9 +6,6 @@ "hierarchyDelimiter" : "ms 7/28/2016 14:04", "mailBody" : "C.G. 7/25/2018 18:10", "mailBody:" : "pm 6/9/2019 17:19", - "maildirFileName" : "hg 7/31/2020 10:34", - "retrieveBody:" : "LW 8/1/2020 10:35", - "rootDirectoryName" : "hg 7/31/2020 10:33", "rootFolder" : "ms 7/28/2016 14:00", "rootFolder:" : "pm 6/9/2019 17:19", "select:" : "mt 7/26/2019 14:38" } } diff --git a/packages/IMAPClient-Tests.package/ICMockSocketStream.class/instance/initialize.st b/packages/IMAPClient-Tests.package/ICMockSocketStream.class/instance/initialize.st index b48cf56f..987d4eb9 100644 --- a/packages/IMAPClient-Tests.package/ICMockSocketStream.class/instance/initialize.st +++ b/packages/IMAPClient-Tests.package/ICMockSocketStream.class/instance/initialize.st @@ -4,4 +4,4 @@ initialize self responseQueue: OrderedCollection new; server: ICMockServer new; - connected: false \ No newline at end of file + connected: false. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICMockSocketStream.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICMockSocketStream.class/methodProperties.json index 662691b9..8fc29619 100644 --- a/packages/IMAPClient-Tests.package/ICMockSocketStream.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICMockSocketStream.class/methodProperties.json @@ -6,7 +6,7 @@ "connectTo:on:" : "C.G. 7/25/2018 18:14", "connected" : "js 6/7/2016 09:49", "connected:" : "pm 6/9/2019 17:23", - "initialize" : "hg 7/31/2020 22:16", + "initialize" : "AR 6/13/2016 15:21", "isConnected" : "js 6/7/2016 09:57", "lastResponse" : "js 6/7/2016 10:26", "lastResponse:" : "pm 6/9/2019 17:25", diff --git a/packages/IMAPClient-Tests.package/ICParserTest.class/class/firstExpectedMailObject.st b/packages/IMAPClient-Tests.package/ICParserTest.class/class/firstExpectedMailObject.st index a0eda106..8c82b59a 100644 --- a/packages/IMAPClient-Tests.package/ICParserTest.class/class/firstExpectedMailObject.st +++ b/packages/IMAPClient-Tests.package/ICParserTest.class/class/firstExpectedMailObject.st @@ -4,7 +4,7 @@ firstExpectedMailObject ^ ICEmail new date: 'Tue, 1 Aug 2017 14:08:29 +0200'; from: 'test@example.de'; - to: { 'student@hpi.de' }; + to: (OrderedCollection newFrom: { 'student@hpi.de' }); subject: 'test mail'; uniqueID: (self firstUID); yourself \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICParserTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICParserTest.class/methodProperties.json index 706c3ed4..02066efa 100644 --- a/packages/IMAPClient-Tests.package/ICParserTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICParserTest.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { "expectedNumberOfMails" : "dl 8/1/2017 16:25", "firstExampleResponse" : "C.G. 7/4/2018 13:21", - "firstExpectedMailObject" : "hg 7/30/2020 11:45", + "firstExpectedMailObject" : "pm 6/2/2019 15:58", "firstExpectedResponse" : "C.G. 7/4/2018 13:22", "firstMessageID" : "DH 7/4/2018 12:37", "firstUID" : "DH 7/4/2018 12:37" }, diff --git a/packages/IMAPClient-Tests.package/ICStreamWrapperTest.class/instance/setUp.st b/packages/IMAPClient-Tests.package/ICStreamWrapperTest.class/instance/setUp.st index 546a3ab4..5ac4c672 100644 --- a/packages/IMAPClient-Tests.package/ICStreamWrapperTest.class/instance/setUp.st +++ b/packages/IMAPClient-Tests.package/ICStreamWrapperTest.class/instance/setUp.st @@ -1,4 +1,4 @@ running setUp - self streamWrapper: ICStreamWrapper new \ No newline at end of file + self streamWrapper: ICStreamWrapper new. \ No newline at end of file diff --git a/packages/IMAPClient-Tests.package/ICStreamWrapperTest.class/methodProperties.json b/packages/IMAPClient-Tests.package/ICStreamWrapperTest.class/methodProperties.json index edb44f34..dd01f127 100644 --- a/packages/IMAPClient-Tests.package/ICStreamWrapperTest.class/methodProperties.json +++ b/packages/IMAPClient-Tests.package/ICStreamWrapperTest.class/methodProperties.json @@ -4,7 +4,7 @@ "testserverPort" : "ok 7/25/2019 20:16", "testserverSSLPort" : "ok 7/25/2019 20:17" }, "instance" : { - "setUp" : "hg 7/31/2020 22:28", + "setUp" : "ok 7/25/2019 20:17", "streamWrapper" : "ok 7/25/2019 20:18", "streamWrapper:" : "ok 7/25/2019 20:18", "tearDown" : "ok 7/25/2019 20:17", diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/README.md b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/README.md index bc3a753c..16966111 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/README.md +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/README.md @@ -1,7 +1 @@ -An ICAddressBookDialog is a toolbuilder-based UI for displaying the contents of the user's address book. - -Instance Variables - - addressBook: The ICAddressBook instance holding e-mail addresses which sent e-mails to one of the accounts. - selectedAddressBookEntry: Currently selected e-mail address. - emailAccounts: List of all e-mail accounts handled by this address book. \ No newline at end of file +An ICAddressBookDialog is a toolbuilder-based UI for displaying the contents of the user's address book. \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/addressBookEntriesMenu..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/addressBookEntriesMenu..st index cd55cd66..041866d5 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/addressBookEntriesMenu..st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/addressBookEntriesMenu..st @@ -1,8 +1,10 @@ toolbuilder addressBookEntriesMenu: aMenu - self selectedAddressBookEntry ifNil: [^ aMenu]. + self selectedAddressBookEntry ifNil: [^ aMenu ]. - aMenu add: (self labelForDeletionAction) action: #deleteAddressBookEntry. + aMenu + add: (self labelForDeletionAction) + action: #deleteAddressBookEntry. ^ aMenu diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/addressBookEntryHelp.st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/addressBookEntryHelp.st new file mode 100644 index 00000000..bd6061a5 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/addressBookEntryHelp.st @@ -0,0 +1,4 @@ +toolbuilder +addressBookEntryHelp + + ^ 'E-Mail-Adresse...' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddAddressBookEntryButton..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddAddressBookEntryButton..st new file mode 100644 index 00000000..cad13e68 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddAddressBookEntryButton..st @@ -0,0 +1,8 @@ +toolbuilder +buildAddAddressBookEntryButton: builder + + ^ builder pluggableButtonSpec new + model: self; + frame: (0.8 @ 0.8 corner: 1 @ 0.95); + label: 'Add'; + action: #createAddressBookEntry \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddressBookEntryAddLine..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddressBookEntryAddLine..st new file mode 100644 index 00000000..af3f870e --- /dev/null +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddressBookEntryAddLine..st @@ -0,0 +1,10 @@ +toolbuilder +buildAddressBookEntryAddLine: builder + + ^ builder pluggableInputFieldSpec new + model: self; + frame: (0 @ 0.8 extent: 0.8 @ 0.15); + setText: #updateNewEmailAddress:; + getText: #newEmailAddress; + editText: #newEmailAddress:; + help: #addressBookEntryHelp diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddressBookEntryList..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddressBookEntryList..st index 9af66501..130a07a9 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddressBookEntryList..st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildAddressBookEntryList..st @@ -10,7 +10,7 @@ buildAddressBookEntryList: builder setSelected: #selectedAddressBookEntry:; getSelected: #selectedAddressBookEntry; menu: #addressBookEntriesMenu:; - frame: (0 @ 0 extent: 1 @ 1); + frame: (0 @ 0 extent: 1 @ 0.75); color: (Color white); columns: { [:listMorph | (listMorph filteredItems collect: [:item | diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildWith..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildWith..st index 6e6dfb24..b405c21c 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildWith..st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/buildWith..st @@ -6,4 +6,7 @@ buildWith: builder label: self dialogTitle; children: OrderedCollection new; extent: 350 @ 200; - children: {self buildAddressBookEntryList: builder.}) \ No newline at end of file + children: { + self buildAddressBookEntryList: builder. + self buildAddressBookEntryAddLine: builder. + self buildAddAddressBookEntryButton: builder.}) \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/createAddressBookEntry.st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/createAddressBookEntry.st new file mode 100644 index 00000000..85066934 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/createAddressBookEntry.st @@ -0,0 +1,10 @@ +action +createAddressBookEntry + + self newEmailAddress ifNil: [ + self inform: 'Please provide an email address.'. + ^ self]. + + self addressBook addEmail: (self sanitizeInput: self newEmailAddress). + + self triggerNewEntryChanges \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/defaultBackgroundColor.st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/defaultBackgroundColor.st index 2d05acd7..1e369132 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/defaultBackgroundColor.st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/defaultBackgroundColor.st @@ -1,4 +1,4 @@ -accessing +toolbuilder defaultBackgroundColor ^ Color paleBlue darker darker \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/deleteAddressBookEntry.st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/deleteAddressBookEntry.st index 4f9ec675..b782c39d 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/deleteAddressBookEntry.st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/deleteAddressBookEntry.st @@ -4,4 +4,5 @@ deleteAddressBookEntry self addressBook remove: self selectedAddressBookEntry. self selectedAddressBookEntry: nil. - self changed: #addressBook. \ No newline at end of file + self + changed: #addressBook. \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/dialogTitle.st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/dialogTitle.st index 9c468553..748d2956 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/dialogTitle.st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/dialogTitle.st @@ -1,4 +1,4 @@ -accessing +toolbuilder dialogTitle ^ 'Address Book' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/labelForAddressBookEntry..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/labelForAddressBookEntry..st index 5554175d..904b3403 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/labelForAddressBookEntry..st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/labelForAddressBookEntry..st @@ -1,4 +1,4 @@ -accessing +toolbuilder labelForAddressBookEntry: aEmailAddress ^ aEmailAddress \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/labelForDeletionAction.st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/labelForDeletionAction.st index cb5f4ad8..9cd6d422 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/labelForDeletionAction.st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/labelForDeletionAction.st @@ -1,4 +1,4 @@ -accessing +action labelForDeletionAction ^ 'Delete Entry' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/newEmailAddress..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/newEmailAddress..st new file mode 100644 index 00000000..ddc834f7 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/newEmailAddress..st @@ -0,0 +1,4 @@ +accessing +newEmailAddress: aString + + newEmailAddress := aString \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/newEmailAddress.st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/newEmailAddress.st new file mode 100644 index 00000000..c2099601 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/newEmailAddress.st @@ -0,0 +1,4 @@ +accessing +newEmailAddress + + ^ newEmailAddress \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/sanitizeInput..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/sanitizeInput..st index 8dcf1a7c..ad9db385 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/sanitizeInput..st +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/sanitizeInput..st @@ -1,4 +1,4 @@ -validating +action sanitizeInput: aString - ^ aString asString withBlanksTrimmed \ No newline at end of file + ^ aString asString withBlanksTrimmed. \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/triggerNewEntryChanges.st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/triggerNewEntryChanges.st new file mode 100644 index 00000000..5ff1a86d --- /dev/null +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/triggerNewEntryChanges.st @@ -0,0 +1,7 @@ +helper +triggerNewEntryChanges + + self + newEmailAddress: ''; + changed: #newEmailAddress; + changed: #addressBook \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/updateNewEmailAddress..st b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/updateNewEmailAddress..st new file mode 100644 index 00000000..22c13a6e --- /dev/null +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/instance/updateNewEmailAddress..st @@ -0,0 +1,6 @@ +toolbuilder +updateNewEmailAddress: aString + + self newEmailAddress: aString. + self createAddressBookEntry + diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/methodProperties.json b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/methodProperties.json index 9d5f9ca1..a7df515f 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/methodProperties.json +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/methodProperties.json @@ -4,17 +4,25 @@ "instance" : { "addressBook" : "LW 5/27/2020 11:11", "addressBook:" : "LW 5/27/2020 11:11", - "addressBookEntriesMenu:" : "LW 8/1/2020 10:38", - "buildAddressBookEntryList:" : "hg 7/3/2020 15:49", - "buildWith:" : "hg 7/3/2020 15:49", + "addressBookEntriesMenu:" : "LW 6/16/2020 10:05", + "addressBookEntryHelp" : "LW 5/27/2020 11:43", + "buildAddAddressBookEntryButton:" : "LW 6/10/2020 13:51", + "buildAddressBookEntryAddLine:" : "NH 6/3/2020 10:05", + "buildAddressBookEntryList:" : "LW 6/16/2020 10:10", + "buildWith:" : "LW 6/10/2020 13:37", + "createAddressBookEntry" : "LW 6/10/2020 11:33", "defaultBackgroundColor" : "LW 5/27/2020 11:11", - "deleteAddressBookEntry" : "hg 7/3/2020 15:54", + "deleteAddressBookEntry" : "LW 6/10/2020 10:49", "dialogTitle" : "LW 5/27/2020 11:10", "emailAccounts" : "LW 6/10/2020 11:20", "emailAccounts:" : "LW 6/10/2020 11:20", "initializeMailEmailAddresses" : "LW 6/10/2020 13:20", "labelForAddressBookEntry:" : "LW 6/10/2020 10:51", "labelForDeletionAction" : "LW 6/16/2020 10:05", - "sanitizeInput:" : "LW 8/1/2020 10:38", + "newEmailAddress" : "LW 5/27/2020 12:07", + "newEmailAddress:" : "LW 5/27/2020 12:10", + "sanitizeInput:" : "NH 6/3/2020 10:13", "selectedAddressBookEntry" : "LW 5/27/2020 12:22", - "selectedAddressBookEntry:" : "LW 5/27/2020 12:32" } } + "selectedAddressBookEntry:" : "LW 5/27/2020 12:32", + "triggerNewEntryChanges" : "LW 6/10/2020 10:50", + "updateNewEmailAddress:" : "NH 6/3/2020 10:05" } } diff --git a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/properties.json b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/properties.json index b17d6fc7..91fc5f51 100644 --- a/packages/IMAPClient-UI.package/ICAddressBookDialog.class/properties.json +++ b/packages/IMAPClient-UI.package/ICAddressBookDialog.class/properties.json @@ -4,9 +4,10 @@ ], "classvars" : [ ], - "commentStamp" : "LW 8/1/2020 11:24", + "commentStamp" : "LW 6/10/2020 13:22", "instvars" : [ "addressBook", + "newEmailAddress", "selectedAddressBookEntry", "emailAccounts" ], "name" : "ICAddressBookDialog", diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/README.md b/packages/IMAPClient-UI.package/ICEmailDialog.class/README.md index f4201ad4..dc2c3b7f 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/README.md +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/README.md @@ -1,5 +1 @@ -An ICLoginDialog is a toolbuilder-based UI for displaying the contents of an ICEmail. - -Instance Variables: - - email: ICEmail object that is currently opened. \ No newline at end of file +An ICLoginDialog is a toolbuilder-based UI for displaying the contents of an ICEmail. \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/class/defaultSubject.st b/packages/IMAPClient-UI.package/ICEmailDialog.class/class/defaultSubject.st index ce906af9..2255fbb1 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/class/defaultSubject.st +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/class/defaultSubject.st @@ -1,4 +1,4 @@ -constants +defaults defaultSubject ^ '(no subject)' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/body.st b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/body.st index bc0426bd..e51047c4 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/body.st +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/body.st @@ -1,4 +1,4 @@ -accessing - email +email access body | mimeDoc body | diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/checkBoxColor.st b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/checkBoxColor.st index fcd7f22b..edd36bc2 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/checkBoxColor.st +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/checkBoxColor.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface checkBoxColor ^ Color transparent \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/defaultBackgroundColor.st b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/defaultBackgroundColor.st index 72dae161..30321112 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/defaultBackgroundColor.st +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/defaultBackgroundColor.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface defaultBackgroundColor ^ Color paleBlue darker darker \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/dialogTitle.st b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/dialogTitle.st index 143079af..e4dee937 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/dialogTitle.st +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/dialogTitle.st @@ -1,4 +1,4 @@ -accessing - user interface +toolbuilder dialogTitle ^ self subject \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/recipients.st b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/recipients.st index d51ddcdc..fa053428 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/recipients.st +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/recipients.st @@ -1,4 +1,4 @@ -accessing - email +email access recipients ^ self email to joinSeparatedBy: ';' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/sender.st b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/sender.st index f6e07a7b..e179743d 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/sender.st +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/sender.st @@ -1,4 +1,4 @@ -accessing - email +email access sender ^ self email from \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/subject.st b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/subject.st index ba5b4d74..28fb411f 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/subject.st +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/instance/subject.st @@ -1,4 +1,4 @@ -accessing - email +email access subject ^ self email subject ifEmpty: [^ self class defaultSubject] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICEmailDialog.class/properties.json b/packages/IMAPClient-UI.package/ICEmailDialog.class/properties.json index 89dc6dd4..1d61e65d 100644 --- a/packages/IMAPClient-UI.package/ICEmailDialog.class/properties.json +++ b/packages/IMAPClient-UI.package/ICEmailDialog.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "LW 8/1/2020 11:24", + "commentStamp" : "ms 7/28/2016 11:58", "instvars" : [ "email" ], "name" : "ICEmailDialog", diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/README.md b/packages/IMAPClient-UI.package/ICFolderDialog.class/README.md index b75545d7..c454ed27 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/README.md +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/README.md @@ -1,16 +1 @@ An ICFolderDialog is a toolbuilder-based UI for displaying the folder hierarchy of a given rootFolder and displaying all emails of a selected folder. Opens up an ICEmailDialog displaying the details of an email when double-clicking an email in the right pane. - -Instance Variables: - rootFolder: Virtual root folder of the select account. - selectedEmail: Currently selected ICEMail from the e-mail list. Might be nil if non is selected. - selectedEndpoint: Selected endpoint indicating the selected account. - selectedFolder: Currently selected ICFolder from the folder list. Might be nil if non is selected. - emailAccounts: Collection of all accounts visible in the account list. - uninitializedAccounts: Collection of uninitialized accounts. - initializedAccounts: Collection of accounts after they have been initialized. - numberOfFetchedFolders: Number of fetched folders. Used for prgoress indication. - numberOfFolders: Number of folders. Used for prgoress indication. - filterString: Current search string from search input field. - searchResultsString: String indicating the number of results for the given search. - sortMethod: A symbol of the currently applied sort method. - reverseMails: Indicator whether sort method should be reversed or not. \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/accountsComplete.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/accountsComplete.st index 4aa70a51..6589736f 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/accountsComplete.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/accountsComplete.st @@ -1,16 +1,14 @@ accountManagment accountsComplete - self emailAccounts: (self initializedAccounts collect: [:anAccountInfo | - ICEndPoint new connectAndLoginWith: anAccountInfo]). + self emailAccounts: (self initializedAccounts collect: [:configData | + ICEndPoint new connectAndLoginWith: (ICAccountInfo newWith: configData)]). "let all Endpoints preload their file structure and configure them to prevent timeouts" self emailAccounts do: [:endpoint | self folderWith: endpoint. endpoint preventTimeout]. - ICEndPoint eraseStoredPasswords. - self update. ToolBuilder default open: self \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/addAccount..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/addAccount..st index a25cdae2..5cc02393 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/addAccount..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/addAccount..st @@ -1,6 +1,6 @@ accountManagment addAccount: anAccountInfo + ICEndPoint addConfiguration: anAccountInfo asDictionary. self emailAccounts add: (ICEndPoint new connectAndLoginWith: anAccountInfo). - self changed: #emailAccounts. - self addAccountInfoToEndpointConfigWithoutPassword: anAccountInfo. + self changed: #emailAccounts \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/addAccountInfoToEndpointConfigWithoutPassword..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/addAccountInfoToEndpointConfigWithoutPassword..st deleted file mode 100644 index b5995ec8..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/addAccountInfoToEndpointConfigWithoutPassword..st +++ /dev/null @@ -1,5 +0,0 @@ -accountManagment -addAccountInfoToEndpointConfigWithoutPassword: anAccountInfo - - anAccountInfo eraseStoredPassword. - ICEndPoint addConfiguration: anAccountInfo diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildButtonSortBy.with.with.with..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildButtonSortBy.with.with.with..st deleted file mode 100644 index 79935a36..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildButtonSortBy.with.with.with..st +++ /dev/null @@ -1,8 +0,0 @@ -toolbuilder -buildButtonSortBy: aFrame with: aLabel with: anAction with: builder - - ^ builder pluggableButtonSpec new - model: self; - frame: aFrame; - label: aLabel; - action: anAction \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailList..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailList..st index bda68979..f20c1d74 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailList..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailList..st @@ -20,8 +20,6 @@ buildEmailList: builder [:listMorph | (listMorph filteredItems collect: [:item | item preferredWidthOfColumn: 2]) max]. [:listMorph | (listMorph filteredItems collect: [:item | - item preferredWidthOfColumn: 3]) max]. - [:listMorph | (listMorph filteredItems collect: [:item | - item preferredWidthOfColumn: 4]) max].}; - frame: (0.2 @ 0.1 extent: 0.8 @ 0.9); + item preferredWidthOfColumn: 3]) max].}; + frame: (0.2 @ 0.05 extent: 0.8 @ 0.95); color: (Color white) diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailSearch..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailSearch..st index 53e7cf2f..5fd83d4a 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailSearch..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailSearch..st @@ -3,7 +3,7 @@ buildEmailSearch: builder ^ builder pluggableInputFieldSpec new model: self; - frame: (0 @ 0 extent: 0.75 @ 1); + frame: (0 @ 0 extent: 0.6 @ 1); editText: #changeFilter:; setText: #filterString:; getText: #filterString; diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailSortPanel..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailSortPanel..st deleted file mode 100644 index 80334250..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildEmailSortPanel..st +++ /dev/null @@ -1,12 +0,0 @@ -toolbuilder -buildEmailSortPanel: builder - - ^ builder pluggablePanelSpec new - wantsResizeHandles: true; - model: self; - frame: (0.2 @ 0.05 extent: 0.8 @ 0.05); - children: { - self buildButtonSortBy: (0.0 @ 0.0 extent: 0.25 @ 1) with: 'Flag' with: #sortEmailsByFlag with: builder. - self buildButtonSortBy: (0.25 @ 0.0 extent: 0.25 @ 1) with: 'Subject' with: #sortEmailsBySubject with: builder. - self buildButtonSortBy: (0.5 @ 0.0 extent: 0.25 @ 1) with: 'Sender' with: #sortEmailsBySender with: builder. - self buildButtonSortBy: (0.75 @ 0.0 extent: 0.25 @ 1) with: 'Date' with: #sortEmailsByDate with: builder.} \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildSearchResults..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildSearchResults..st index 7b44f879..473b18fb 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildSearchResults..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildSearchResults..st @@ -3,9 +3,9 @@ buildSearchResults: builder ^ builder pluggableTextSpec new model: self; - frame: (0.75 @ 0 extent: 0.05 @ 1); - getText: #searchResultsString; + frame: (0.6 @ 0 extent: 0.2 @ 1); + setText: #searchResultsString:; + getText: #searchResultsString; + help: #emailSearchResultsHelp; askBeforeDiscardingEdits: false; - indicateUnacceptedChanges: false; - readOnly: true; - color: #searchResultsColor \ No newline at end of file + indicateUnacceptedChanges: false \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildWith..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildWith..st index aa97756e..1dea84cf 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildWith..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/buildWith..st @@ -4,10 +4,10 @@ buildWith: builder ^ builder build: (builder pluggableWindowSpec new model: self; label: self dialogTitle; + children: OrderedCollection new; closeAction: #closeConnection; extent: 1200 @ 600; children: { self buildNavigationPanel: builder. self buildEmailTopPanel: builder. - self buildEmailList: builder. - self buildEmailSortPanel: builder}) \ No newline at end of file + self buildEmailList: builder.}) \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/changeFilter..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/changeFilter..st index 04aeb60e..1f7e3044 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/changeFilter..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/changeFilter..st @@ -1,4 +1,4 @@ -action - sorting +get emails changeFilter: aText self filterString: aText asString; diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/childFolders.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/childFolders.st index c14aa085..be96dc53 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/childFolders.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/childFolders.st @@ -1,4 +1,4 @@ -accessing - folder +folder selection childFolders (self rootFolder) diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/currentRemoteVatId.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/currentRemoteVatId.st index 89fe362d..dfa13789 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/currentRemoteVatId.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/currentRemoteVatId.st @@ -1,4 +1,4 @@ -accessing - user interface +toolbuilder currentRemoteVatId ^'' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/defaultBackgroundColor.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/defaultBackgroundColor.st index 72dae161..1e369132 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/defaultBackgroundColor.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/defaultBackgroundColor.st @@ -1,4 +1,4 @@ -accessing - user interface +toolbuilder defaultBackgroundColor ^ Color paleBlue darker darker \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/deleteAccountButton..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/deleteAccountButton..st index 1271df91..cfe3668e 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/deleteAccountButton..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/deleteAccountButton..st @@ -1,7 +1,7 @@ accountManagment deleteAccountButton: anEndpoint - ICEndPoint removeConfiguration: anEndpoint accountInfo. + ICEndPoint removeConfiguration: anEndpoint accountInfo asDictionary. self emailAccounts remove: anEndpoint. self selectedFolder: nil. diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/deleteEmail.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/deleteEmail.st index 59a42ceb..33d06724 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/deleteEmail.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/deleteEmail.st @@ -1,7 +1,7 @@ -action - emails +email selection deleteEmail - self selectedEndpoint deleteEmail: self selectedEmail. + self selectedEmail deleteEmail. self selectedEmail: nil. self triggerEmailChanges \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/dialogTitle.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/dialogTitle.st index ff19af93..ac5fa0eb 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/dialogTitle.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/dialogTitle.st @@ -1,4 +1,4 @@ -accessing - user interface +toolbuilder dialogTitle ^ 'IMAP Overview' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/editAccount.with..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/editAccount.with..st index b42cc024..326d2e38 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/editAccount.with..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/editAccount.with..st @@ -1,13 +1,13 @@ accountManagment editAccount: anAccountInfo with: anEndPoint - ICEndPoint removeConfiguration: anEndPoint accountInfo. + ICEndPoint removeConfiguration: anEndPoint accountInfo asDictionary. self emailAccounts remove: anEndPoint. + ICEndPoint addConfiguration: anAccountInfo asDictionary. + self emailAccounts add: (ICEndPoint new connectAndLoginWith: anAccountInfo). self selectedFolder: nil. self rootFolder: nil. - - self addAccountInfoToEndpointConfigWithoutPassword: anAccountInfo. self triggerEmailChanges \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListKeyPress..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListKeyPress..st index 66214915..864f8814 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListKeyPress..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListKeyPress..st @@ -1,4 +1,4 @@ -keyboard handling +events emailListKeyPress: aKey self emailListKeyPressMapping at: (aKey asLowercase) ifPresent: [ :anAction | diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListKeyPressMapping.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListKeyPressMapping.st index b378409f..31d61b81 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListKeyPressMapping.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListKeyPressMapping.st @@ -1,4 +1,4 @@ -keyboard handling +events emailListKeyPressMapping ^ { diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListMenu..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListMenu..st index 8f35ed5c..0efe2572 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListMenu..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailListMenu..st @@ -1,9 +1,10 @@ -toolbuilder +folder selection emailListMenu: aMenu self selectedEmail ifNil: [^ aMenu]. - self selectedFolder retrieveFlagsFor: self selectedEmail. + "update the flags of the mail" + self selectedEmail retrieveFlags. aMenu add: ((self selectedEmail seen) diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailSearchHelp.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailSearchHelp.st index 4aa50a4b..d498204e 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailSearchHelp.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailSearchHelp.st @@ -1,4 +1,4 @@ -accessing - user interface +toolbuilder emailSearchHelp ^ 'Suche ...' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailSearchResultsHelp.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailSearchResultsHelp.st new file mode 100644 index 00000000..e3fa502a --- /dev/null +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailSearchResultsHelp.st @@ -0,0 +1,4 @@ +toolbuilder +emailSearchResultsHelp + + ^ 'Anzahl der Suchergebnisse' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailsOfSelectedFolder.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailsOfSelectedFolder.st index 15d1577a..de884035 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailsOfSelectedFolder.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emailsOfSelectedFolder.st @@ -1,4 +1,4 @@ -accessing - folder +folder selection emailsOfSelectedFolder | emails | @@ -8,7 +8,8 @@ emailsOfSelectedFolder emails ifEmpty: [^ emails]. - emails sort: (self sortBlocks at: self sortMethod). - self reverseMails ifTrue: [emails reverseInPlace]. - - ^ emails select: [:anICEmail | self shouldEmailBeVisible: anICEmail] \ No newline at end of file + self filterString notEmpty + ifTrue: [^ emails select: [:anICEmail | + (self labelForMail: anICEmail) includesSubstring: self filterString caseSensitive: false]]. + + ^ emails \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasize..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasize..st deleted file mode 100644 index 0b4e88ec..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasize..st +++ /dev/null @@ -1,4 +0,0 @@ -toolbuilder -emphasize: anEmailLine - - anEmailLine emphasis: 9 \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenAccounts..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenAccounts..st index 65216681..b12f128a 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenAccounts..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenAccounts..st @@ -2,6 +2,6 @@ toolbuilder emphasizeUnseenAccounts: aCollection aCollection do: [:anIndentingListItemMorph | - anIndentingListItemMorph complexContents item rootFolder numberOfUnseenMails > 0 - ifTrue: [self emphasize: anIndentingListItemMorph] - ifFalse: [self unemphasize: anIndentingListItemMorph]] \ No newline at end of file + anIndentingListItemMorph complexContents item rootFolder numOfUnseenMails > 0 + ifTrue: [anIndentingListItemMorph emphasis: 9] + ifFalse: [anIndentingListItemMorph emphasis: 0]] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenFolders..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenFolders..st index 263b3595..b3ee9438 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenFolders..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenFolders..st @@ -2,6 +2,6 @@ toolbuilder emphasizeUnseenFolders: aCollection aCollection do: [:anIndentingListItemMorph | - anIndentingListItemMorph complexContents item numberOfUnseenMails > 0 - ifTrue: [self emphasize: anIndentingListItemMorph] - ifFalse: [self unemphasize: anIndentingListItemMorph]] \ No newline at end of file + anIndentingListItemMorph complexContents item numOfUnseenMails > 0 + ifTrue: [anIndentingListItemMorph emphasis: 9] + ifFalse: [anIndentingListItemMorph emphasis: 0]] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenMessages..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenMessages..st index cf28c4d4..eeae03fc 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenMessages..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/emphasizeUnseenMessages..st @@ -1,7 +1,7 @@ toolbuilder emphasizeUnseenMessages: aCollection - + aCollection do: [:anIndentingListItemMorph | anIndentingListItemMorph complexContents item seen - ifTrue: [self unemphasize: anIndentingListItemMorph] - ifFalse: [self emphasize: anIndentingListItemMorph]] \ No newline at end of file + ifTrue: [anIndentingListItemMorph emphasis: 0] + ifFalse: [anIndentingListItemMorph emphasis: 9]] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/expungeSelectedFolder.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/expungeSelectedFolder.st index c3e74a10..37c99608 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/expungeSelectedFolder.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/expungeSelectedFolder.st @@ -1,4 +1,4 @@ -action - emails +email selection expungeSelectedFolder self selectedFolder diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderListMenu.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderListMenu.st index df6e1290..543502b6 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderListMenu.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderListMenu.st @@ -1,4 +1,4 @@ -toolbuilder +folder selection folderListMenu | aMenu folders | diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderNameOf..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderNameOf..st index dc3567fe..d8a45400 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderNameOf..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderNameOf..st @@ -1,4 +1,4 @@ -accessing - folder +folder selection folderNameOf: folder | levelCounter offset currentFolder | diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderTreeMenu..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderTreeMenu..st index 780f3604..02d79905 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderTreeMenu..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderTreeMenu..st @@ -1,8 +1,6 @@ -toolbuilder +folder selection folderTreeMenu: aMenu - self selectedFolder ifNil: [^aMenu]. - (self selectedFolder isTrashFolder) ifTrue: [ aMenu add: 'empty trash' action: #expungeSelectedFolder]. diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderWith..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderWith..st index 1710a2eb..f99b3365 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderWith..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/folderWith..st @@ -1,4 +1,4 @@ -accessing - folder +folder selection folderWith: endpoint ^ endpoint diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/initialize.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/initialize.st index 6a539bc0..b9c96055 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/initialize.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/initialize.st @@ -1,8 +1,9 @@ -initialize +initialization initialize self uninitializedAccounts: ICEndPoint connectionConfigurations. + (self uninitializedAccounts) ifEmpty: [self accountsComplete] ifNotEmpty: [ICPasswordDialog openWith: (self uninitializedAccounts first) and: self] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/initializedAccounts..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/initializedAccounts..st new file mode 100644 index 00000000..7186d8e3 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/initializedAccounts..st @@ -0,0 +1,4 @@ +accessing +initializedAccounts: anOrderedCollection + + initializedAccounts := anOrderedCollection \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForAccount..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForAccount..st index 457d6c84..62b54535 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForAccount..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForAccount..st @@ -1,9 +1,9 @@ -accessing - account +email selection labelForAccount: anICEndpoint | countOfUnseenMails | - countOfUnseenMails := anICEndpoint rootFolder numberOfUnseenMails. + countOfUnseenMails := anICEndpoint rootFolder numOfUnseenMails. countOfUnseenMails > 0 ifTrue: [^ anICEndpoint accountInfo accountName, Character tab, '[' , countOfUnseenMails asString, ']'] ifFalse: [^ anICEndpoint accountInfo accountName, Character tab, ''] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForDeletionAction..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForDeletionAction..st new file mode 100644 index 00000000..8ed60069 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForDeletionAction..st @@ -0,0 +1,6 @@ +flags +labelForDeletionAction: aFolderName + + (aFolderName = 'Trash') + ifTrue: [^ 'Clear Folder'] + ifFalse: [^ 'Move to trash'] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForFolder..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForFolder..st index 8b5bac49..167f3cdd 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForFolder..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForFolder..st @@ -1,9 +1,9 @@ -accessing - folder +folder selection labelForFolder: anICFolder | countOfUnseenMails | - countOfUnseenMails := anICFolder numberOfUnseenMails. + countOfUnseenMails := anICFolder numOfUnseenMails. countOfUnseenMails > 0 ifTrue: [^ anICFolder folderName, Character tab, '[', countOfUnseenMails asString, ']'] ifFalse: [^ anICFolder folderName, Character tab, ''] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForMail..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForMail..st index 9eb03b5d..8043756b 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForMail..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/labelForMail..st @@ -1,12 +1,18 @@ -accessing - email +email selection labelForMail: anICEmail - ^ ((anICEmail flagged) - ifTrue: ['*'] - ifFalse: [' ']), - Character tab, - ((anICEmail subject ifEmpty: [ICEmailDialog defaultSubject]) truncateTo: 80), + | fromCollection subject label | + + fromCollection := anICEmail from findBetweenSubStrs: '<>'. + + subject := anICEmail subject ifEmpty: [ICEmailDialog defaultSubject]. + + label := (subject truncateTo: 80), Character tab, - anICEmail sender, + (fromCollection at: 2 ifAbsent: [fromCollection at: 1 ifAbsent: ['']]), Character tab, - anICEmail dateFormatted \ No newline at end of file + anICEmail dateFormatted. + + (anICEmail flagged) ifTrue: [label := '[FLAGGED] ', label]. + + ^ label \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/loadOlderEmails.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/loadOlderEmails.st index fe1e6e33..4d69ef02 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/loadOlderEmails.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/loadOlderEmails.st @@ -1,4 +1,4 @@ -action - load older emails +get emails loadOlderEmails self selectedFolder ifNotNil: [ diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/loadOlderEmailsProcess.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/loadOlderEmailsProcess.st index 792a0077..2ee77ba9 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/loadOlderEmailsProcess.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/loadOlderEmailsProcess.st @@ -1,4 +1,4 @@ -action - load older emails +get emails loadOlderEmailsProcess self selectedFolder loadOlderMails. diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/modifyFlag..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/modifyFlag..st index df9f781b..ca06bfda 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/modifyFlag..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/modifyFlag..st @@ -1,6 +1,6 @@ -action - emails +flags modifyFlag: aFlag - self selectedFolder modifyFlag: aFlag for: self selectedEmail. - self selectedFolder retrieveFlagsFor: self selectedEmail. + self selectedEmail modifyFlag: aFlag. + self selectedEmail retrieveFlags. self triggerEmailChanges \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/moveEmail..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/moveEmail..st index a147d534..3c61d43f 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/moveEmail..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/moveEmail..st @@ -1,6 +1,6 @@ -action - emails +email selection moveEmail: aFolder - self selectedEndpoint moveEmail: self selectedEmail to: aFolder. + self selectedEmail moveEmail: aFolder. self selectedEmail: nil. self triggerEmailChanges \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/openAddressBook.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/openAddressBook.st index 64764f5a..c405ab07 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/openAddressBook.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/openAddressBook.st @@ -1,4 +1,4 @@ -action - addressbook +accountManagment openAddressBook ICAddressBookDialog openWith: self emailAccounts \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/openEmail..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/openEmail..st index 89809e93..d97c9139 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/openEmail..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/openEmail..st @@ -1,8 +1,8 @@ -action - emails +email selection openEmail: anICEmail [anICEmail open. - self selectedFolder retrieveFlagsFor: anICEmail. + self selectedEmail retrieveFlags. self triggerEmailChanges] on: Error do: [:e | self inform: self class loadEmailBodyFailure] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/passwordPromtCallback..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/passwordPromtCallback..st index 31469b44..22b78aa4 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/passwordPromtCallback..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/passwordPromtCallback..st @@ -1,11 +1,12 @@ accountManagment -passwordPromtCallback: anAccountInfo +passwordPromtCallback: aDictionary | nextAccount | - self initializedAccounts add: anAccountInfo. + + self initializedAccounts add: aDictionary. nextAccount := self uninitializedAccounts findFirst: [:account | - (account accountName) = (anAccountInfo accountName)]. + (account at: 'accountName') = (aDictionary at: 'accountName')]. self uninitializedAccounts removeAt: nextAccount. (self uninitializedAccounts isEmpty) diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/progressCallback.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/progressCallback.st index 56a12bc0..4caafee7 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/progressCallback.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/progressCallback.st @@ -1,4 +1,4 @@ -action - emails +get emails progressCallback | result | diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/reverseMails..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/reverseMails..st deleted file mode 100644 index 2d4dae01..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/reverseMails..st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -reverseMails: anObject - reverseMails := anObject \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/reverseMails.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/reverseMails.st deleted file mode 100644 index c18d6293..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/reverseMails.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -reverseMails - reverseMails ifNil: [reverseMails := false]. - ^ reverseMails \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/searchResultsColor.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/searchResultsColor.st deleted file mode 100644 index 98012e67..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/searchResultsColor.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing - user interface -searchResultsColor - ^ (Color r: 0.91 g: 0.91 b: 0.91) \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/searchResultsString..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/searchResultsString..st new file mode 100644 index 00000000..4c78a77c --- /dev/null +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/searchResultsString..st @@ -0,0 +1,4 @@ +accessing +searchResultsString: anObject + + searchResultsString := anObject \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/shouldEmailBeVisible..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/shouldEmailBeVisible..st deleted file mode 100644 index 67cf8262..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/shouldEmailBeVisible..st +++ /dev/null @@ -1,4 +0,0 @@ -accessing - folder -shouldEmailBeVisible: anICEmail - ^ self filterString isEmpty or: [ - (self labelForMail: anICEmail) includesSubstring: self filterString caseSensitive: false] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortBlocks.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortBlocks.st deleted file mode 100644 index a95cce6c..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortBlocks.st +++ /dev/null @@ -1,8 +0,0 @@ -action - sorting -sortBlocks - - ^ Dictionary withAll: { - #subject -> [:aMail :anotherMail | aMail subject caseInsensitiveLessOrEqual: anotherMail subject]. - #sender -> [:aMail :anotherMail | aMail sender caseInsensitiveLessOrEqual: anotherMail sender]. - #flag -> [:aMail :anotherMail | aMail flagged asInteger >= anotherMail flagged asInteger]. - #date -> [:aMail :anotherMail | aMail dateInSecondsSinceSqueakEpoch >= anotherMail dateInSecondsSinceSqueakEpoch]} \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBy..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBy..st deleted file mode 100644 index 62df769a..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBy..st +++ /dev/null @@ -1,8 +0,0 @@ -action - sorting -sortEmailsBy: aSymbol - (self sortMethod = aSymbol) - ifTrue: [self toggleReverseMails] - ifFalse: [ - self sortMethod: aSymbol. - self reverseMails: false]. - self changed: #emailsOfSelectedFolder \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsByDate.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsByDate.st deleted file mode 100644 index 17046637..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsByDate.st +++ /dev/null @@ -1,3 +0,0 @@ -action - sorting -sortEmailsByDate - self sortEmailsBy: #date \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsByFlag.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsByFlag.st deleted file mode 100644 index ea197ddf..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsByFlag.st +++ /dev/null @@ -1,3 +0,0 @@ -action - sorting -sortEmailsByFlag - self sortEmailsBy: #flag \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBySender.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBySender.st deleted file mode 100644 index ba8113e0..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBySender.st +++ /dev/null @@ -1,3 +0,0 @@ -action - sorting -sortEmailsBySender - self sortEmailsBy: #sender \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBySubject.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBySubject.st deleted file mode 100644 index dc6029be..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortEmailsBySubject.st +++ /dev/null @@ -1,3 +0,0 @@ -action - sorting -sortEmailsBySubject - self sortEmailsBy: #subject \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortMethod..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortMethod..st deleted file mode 100644 index 7c972a1c..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortMethod..st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -sortMethod: anObject - sortMethod := anObject \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortMethod.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortMethod.st deleted file mode 100644 index 602c3dbd..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/sortMethod.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -sortMethod - sortMethod ifNil: [sortMethod := #date]. - ^ sortMethod \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/subFoldersOf..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/subFoldersOf..st index e65731ce..f85a774e 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/subFoldersOf..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/subFoldersOf..st @@ -1,4 +1,4 @@ -accessing - folder +folder selection subFoldersOf: folder ^ folder childFolders \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/toggleReverseMails.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/toggleReverseMails.st deleted file mode 100644 index fba17f43..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/toggleReverseMails.st +++ /dev/null @@ -1,3 +0,0 @@ -action - sorting -toggleReverseMails - self reverseMails: self reverseMails not \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/unemphasize..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/unemphasize..st deleted file mode 100644 index 099942f9..00000000 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/unemphasize..st +++ /dev/null @@ -1,4 +0,0 @@ -toolbuilder -unemphasize: anEmailLine - - anEmailLine emphasis: 0 \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/update.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/update.st index 76074feb..21947322 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/update.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/update.st @@ -1,4 +1,4 @@ -action - emails +get emails update self numberOfFetchedFolders: 0. diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/updateProcess.st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/updateProcess.st index 9102f03a..3d0315fb 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/updateProcess.st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/updateProcess.st @@ -1,4 +1,4 @@ -action - emails +get emails updateProcess self emailAccounts do: [:anICEndpoint | diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/userListMenu..st b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/userListMenu..st index a989f40c..278a931f 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/userListMenu..st +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/instance/userListMenu..st @@ -1,8 +1,6 @@ -toolbuilder +folder selection userListMenu: aMenu - self selectedEndpoint ifNil: [^ aMenu]. - aMenu add: 'Edit' action: [self editAccountButton: self selectedEndpoint]; add: 'Delete' action: [self deleteAccountButton: self selectedEndpoint]. diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/methodProperties.json b/packages/IMAPClient-UI.package/ICFolderDialog.class/methodProperties.json index d7289b37..ad75c3d4 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/methodProperties.json +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/methodProperties.json @@ -5,97 +5,83 @@ "loadEmailBodyFailure" : "tg 7/26/2019 16:19", "open" : "DH 7/19/2018 18:21" }, "instance" : { - "accountsComplete" : "LW 7/31/2020 11:24", - "addAccount:" : "LW 7/31/2020 11:15", - "addAccountInfoToEndpointConfigWithoutPassword:" : "LW 7/31/2020 11:15", + "accountsComplete" : "NH 5/13/2020 10:54", + "addAccount:" : "tg 7/25/2019 11:47", "buildAddAccountButton:" : "tg 7/26/2019 22:07", - "buildButtonSortBy:with:with:with:" : "hg 7/3/2020 16:12", - "buildEmailList:" : "hg 7/1/2020 10:39", - "buildEmailSearch:" : "hg 6/24/2020 10:33", - "buildEmailSortPanel:" : "hg 7/3/2020 16:13", - "buildEmailTopPanel:" : "NH 6/29/2020 15:34", + "buildEmailList:" : "pm 6/26/2019 14:31", + "buildEmailSearch:" : "LW 6/3/2020 10:31", + "buildEmailTopPanel:" : "JJ 5/27/2020 16:13", "buildFolderTree:" : "JJ 6/10/2020 10:32", "buildLoadOlderEmailsButton:" : "pm 6/26/2019 14:43", "buildNavigationPanel:" : "hg 6/16/2020 22:05", "buildOpenAddressBookButton:" : "LW 6/10/2020 10:45", - "buildSearchResults:" : "hg 6/24/2020 10:34", + "buildSearchResults:" : "JJ 5/27/2020 16:17", "buildUpdateButton:" : "hg 6/16/2020 22:11", "buildUserList:" : "tg 7/25/2019 20:19", - "buildWith:" : "NH 6/29/2020 15:41", + "buildWith:" : "pm 6/26/2019 14:43", "changeFilter:" : "hg 6/4/2020 19:58", "childFolders" : "tg 7/26/2019 13:30", "closeConnection" : "tg 7/26/2019 13:30", "createAccount" : "fr 7/7/2019 09:59", "currentRemoteVatId" : "dl 6/23/2017 12:30", "defaultBackgroundColor" : "C.G. 7/25/2018 14:16", - "deleteAccountButton:" : "NH 7/15/2020 09:52", - "deleteEmail" : "NH 7/30/2020 21:45", + "deleteAccountButton:" : "hg 6/16/2020 22:08", + "deleteEmail" : "hg 6/16/2020 22:10", "dialogTitle" : "ms 6/26/2016 13:50", - "editAccount:with:" : "LW 7/31/2020 11:30", + "editAccount:with:" : "hg 6/16/2020 22:08", "editAccountButton:" : "tg 7/26/2019 16:22", "emailAccounts" : "LW 6/3/2020 10:33", "emailAccounts:" : "hg 6/6/2020 22:44", "emailListKeyPress:" : "tg 7/26/2019 15:53", "emailListKeyPressMapping" : "pm 5/27/2019 14:00", - "emailListMenu:" : "JJ 8/2/2020 15:47", + "emailListMenu:" : "JJ 6/10/2020 11:00", "emailSearchHelp" : "lvm 7/3/2018 16:09", - "emailsOfSelectedFolder" : "NH 7/31/2020 11:53", - "emphasize:" : "hg 8/2/2020 15:39", - "emphasizeUnseenAccounts:" : "LW 8/2/2020 16:17", - "emphasizeUnseenFolders:" : "LW 8/2/2020 16:17", - "emphasizeUnseenMessages:" : "hg 8/2/2020 15:42", + "emailSearchResultsHelp" : "JJ 5/27/2020 16:16", + "emailsOfSelectedFolder" : "pm 6/26/2019 14:32", + "emphasizeUnseenAccounts:" : "LW 5/6/2020 11:17", + "emphasizeUnseenFolders:" : "LW 5/6/2020 11:16", + "emphasizeUnseenMessages:" : "LW 5/6/2020 11:17", "expungeSelectedFolder" : "JJ 6/10/2020 10:54", "filterString" : "lvm 6/26/2018 14:05", "filterString:" : "fr 6/3/2019 15:50", - "folderListMenu" : "NH 7/31/2020 09:37", + "folderListMenu" : "tg 7/25/2019 11:35", "folderNameOf:" : "tg 7/26/2019 22:03", - "folderTreeMenu:" : "NH 8/2/2020 17:23", + "folderTreeMenu:" : "JJ 6/10/2020 10:40", "folderWith:" : "pm 6/3/2019 18:47", - "initialize" : "LW 7/15/2020 11:07", + "initialize" : "tg 7/8/2019 14:56", "initializedAccounts" : "C.G. 7/25/2018 14:18", - "labelForAccount:" : "LW 8/2/2020 14:27", - "labelForFolder:" : "LW 8/2/2020 14:27", - "labelForMail:" : "LW 8/1/2020 12:15", + "initializedAccounts:" : "pm 6/9/2019 17:02", + "labelForAccount:" : "tg 7/10/2019 18:39", + "labelForDeletionAction:" : "C.G. 7/25/2018 14:19", + "labelForFolder:" : "tg 7/19/2019 09:19", + "labelForMail:" : "pm 6/26/2019 14:34", "loadOlderEmails" : "hg 6/4/2020 20:03", "loadOlderEmailsProcess" : "hg 6/6/2020 11:37", - "modifyFlag:" : "JJ 8/2/2020 15:36", - "moveEmail:" : "NH 7/31/2020 09:25", + "modifyFlag:" : "hg 6/6/2020 22:21", + "moveEmail:" : "hg 6/6/2020 22:21", "numberOfFetchedFolders" : "C.G. 7/12/2018 08:14", "numberOfFetchedFolders:" : "pm 6/9/2019 17:03", "numberOfFolders" : "C.G. 7/12/2018 08:15", "numberOfFolders:" : "pm 6/9/2019 17:03", "openAddressBook" : "LW 6/10/2020 11:16", - "openEmail:" : "JJ 8/2/2020 15:37", - "passwordPromtCallback:" : "LW 7/15/2020 11:05", + "openEmail:" : "hg 6/6/2020 11:38", + "passwordPromtCallback:" : "tg 7/26/2019 21:41", "progressCallback" : "LW 6/3/2020 15:10", - "reverseMails" : "NH 6/29/2020 17:16", - "reverseMails:" : "NH 6/29/2020 17:09", "rootFolder" : "ms 6/26/2016 14:05", "rootFolder:" : "pm 6/9/2019 17:03", - "searchResultsColor" : "hg 6/24/2020 10:31", "searchResultsString" : "JJ 5/27/2020 16:16", + "searchResultsString:" : "JJ 5/27/2020 16:16", "selectedEmail" : "ms 6/28/2016 11:17", "selectedEmail:" : "pm 6/14/2019 14:45", "selectedEndpoint" : "tg 7/25/2019 20:19", "selectedEndpoint:" : "hg 6/6/2020 22:50", "selectedFolder" : "ms 6/28/2016 11:44", "selectedFolder:" : "hg 6/6/2020 22:23", - "shouldEmailBeVisible:" : "NH 7/31/2020 10:09", - "sortBlocks" : "hg 7/3/2020 16:22", - "sortEmailsBy:" : "hg 7/1/2020 10:17", - "sortEmailsByDate" : "hg 7/1/2020 10:17", - "sortEmailsByFlag" : "hg 7/1/2020 10:42", - "sortEmailsBySender" : "hg 7/1/2020 10:22", - "sortEmailsBySubject" : "hg 7/1/2020 10:17", - "sortMethod" : "NH 6/29/2020 17:16", - "sortMethod:" : "NH 6/29/2020 17:09", "subFoldersOf:" : "ms 6/26/2016 14:10", "switchToNewEndpoint" : "hg 6/6/2020 22:50", - "toggleReverseMails" : "NH 6/29/2020 17:18", "triggerEmailChanges" : "hg 6/6/2020 22:42", - "unemphasize:" : "hg 8/2/2020 15:41", "uninitializedAccounts" : "pm 6/9/2019 13:16", "uninitializedAccounts:" : "C.G. 7/25/2018 14:21", "update" : "tg 7/25/2019 11:38", "updateProcess" : "hg 6/16/2020 22:10", - "userListMenu:" : "NH 8/2/2020 17:24" } } + "userListMenu:" : "tg 7/25/2019 20:27" } } diff --git a/packages/IMAPClient-UI.package/ICFolderDialog.class/properties.json b/packages/IMAPClient-UI.package/ICFolderDialog.class/properties.json index 3d338deb..4a3d6ea0 100644 --- a/packages/IMAPClient-UI.package/ICFolderDialog.class/properties.json +++ b/packages/IMAPClient-UI.package/ICFolderDialog.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "LW 8/1/2020 11:38", + "commentStamp" : "ms 7/28/2016 12:02", "instvars" : [ "rootFolder", "selectedEmail", @@ -16,9 +16,7 @@ "numberOfFetchedFolders", "numberOfFolders", "filterString", - "searchResultsString", - "sortMethod", - "reverseMails" ], + "searchResultsString" ], "name" : "ICFolderDialog", "pools" : [ ], diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/README.md b/packages/IMAPClient-UI.package/ICLoginDialog.class/README.md index 86a4d48d..8d000bb1 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/README.md +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/README.md @@ -1,14 +1,4 @@ An ICLoginDialog is a toolbuilder-based UI for adding new account configuration to the client which then can be authorized by the ICPasswordDialog. Instance Variables - accountName: Name of the account set by the user. - serverPort: Port of the IMAP service on the server. Default: 993. - username: Username to login at the IMAP server. - password: Password to login with. - serverAddress: Hostname of the IMAP server.# - ssl: A boolean flag indicating whether SSL is enabled. - inputCollection: Collection containing input fields. - loginMorph: Morph with the login form. - folderDialogInstance: Parent instance of ICFolderDialog. - updateMode: Indicates wheter we update an existing or create a new account. - endpoint: ICEndpoint instance to talk with. \ No newline at end of file + ssl: A boolean flag indicating whether SSL is enabled. \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/class/open.with..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/class/open.with..st index db14be11..55e2de97 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/class/open.with..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/class/open.with..st @@ -6,7 +6,7 @@ open: aFolderDialogInstance with: anEndpoint instance := self new. instance folderDialogInstance: aFolderDialogInstance. - instance data: anEndpoint accountInfo. + instance loadData: anEndpoint asAccountInfoDictionary. instance updateMode: true. instance endpoint: anEndpoint. diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/accountnameUnused..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/accountnameUnused..st index 218722a8..7712d4cc 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/accountnameUnused..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/accountnameUnused..st @@ -1,4 +1,4 @@ -validating +helper accountnameUnused: anAccountInfo (anAccountInfo accountNameUnused) ifFalse: [ diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/addOrEditAccount..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/addOrEditAccount..st index 4e4af62d..0587720e 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/addOrEditAccount..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/addOrEditAccount..st @@ -1,4 +1,4 @@ -action - button +login addOrEditAccount: anAccountInfo (self updateMode) diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/changeInputField..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/changeInputField..st index 59d22fc9..e9626a25 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/changeInputField..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/changeInputField..st @@ -1,4 +1,4 @@ -keyboard handling +helper changeInputField: currentIndex | correctSubmorph text | diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/checkAccountInfoValidity..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/checkAccountInfoValidity..st index 435c5350..3b9361f1 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/checkAccountInfoValidity..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/checkAccountInfoValidity..st @@ -1,4 +1,4 @@ -validating +helper checkAccountInfoValidity: anAccountInfo self displayEmptyFieldErrorMessageIfNecessary: anAccountInfo missingFields. diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/checkBoxColor.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/checkBoxColor.st index fcd7f22b..edd36bc2 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/checkBoxColor.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/checkBoxColor.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface checkBoxColor ^ Color transparent \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/constructEmptyFieldsErrorMessage..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/constructEmptyFieldsErrorMessage..st index c7d1c9e8..625b1ef8 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/constructEmptyFieldsErrorMessage..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/constructEmptyFieldsErrorMessage..st @@ -1,4 +1,4 @@ -error handling +toasts constructEmptyFieldsErrorMessage: aCollection aCollection sort: [:first :second | diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/createAccountInfo.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/createAccountInfo.st index 9464480e..86b77b98 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/createAccountInfo.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/createAccountInfo.st @@ -1,4 +1,4 @@ -action - button +helper createAccountInfo ^ ICAccountInfo new diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/data..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/data..st deleted file mode 100644 index 6313f6c1..00000000 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/data..st +++ /dev/null @@ -1,9 +0,0 @@ -accessing -data: anAccountInfo - - self accountName: (anAccountInfo accountName). - self serverAddress: (anAccountInfo host). - self serverPort: (anAccountInfo port) asString. - self username: (anAccountInfo username). - self password: (anAccountInfo password). - self ssl: (anAccountInfo ssl) \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/defaultBackgroundColor.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/defaultBackgroundColor.st index b4640863..c1da5cc5 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/defaultBackgroundColor.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/defaultBackgroundColor.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface defaultBackgroundColor ^ Color paleBlue darker darker \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/dialogTitle.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/dialogTitle.st index 4a9f03c2..8d6744fd 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/dialogTitle.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/dialogTitle.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface dialogTitle ^ 'IMAP Login' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/displayAccountnameExistsErrorMessage.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/displayAccountnameExistsErrorMessage.st index 0c080237..df9a2488 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/displayAccountnameExistsErrorMessage.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/displayAccountnameExistsErrorMessage.st @@ -1,4 +1,4 @@ -error handling +toasts displayAccountnameExistsErrorMessage UserDialogBoxMorph inform: 'This account name already exists.' title: 'Note' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/displayEmptyFieldErrorMessageIfNecessary..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/displayEmptyFieldErrorMessageIfNecessary..st index b4cac4f8..521899a2 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/displayEmptyFieldErrorMessageIfNecessary..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/displayEmptyFieldErrorMessageIfNecessary..st @@ -1,6 +1,7 @@ -error handling +toasts displayEmptyFieldErrorMessageIfNecessary: aCollection (aCollection isEmpty) ifFalse: [ - UserDialogBoxMorph inform: (self constructEmptyFieldsErrorMessage: aCollection) title: 'Note'] \ No newline at end of file + UserDialogBoxMorph inform: (self constructEmptyFieldsErrorMessage: aCollection) title: 'Note' + ] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementHeight.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementHeight.st index 36543ff6..94e40291 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementHeight.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementHeight.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface guiElementHeight ^ 0.14 \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementWidth.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementWidth.st index 9b726b18..805ff80e 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementWidth.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementWidth.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface guiElementWidth ^ 0.7 \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementXOffset.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementXOffset.st index 737b22f3..73ff00b1 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementXOffset.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementXOffset.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface guiElementXOffset ^ (1 - self guiElementWidth) / 2 \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYOffset.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYOffset.st index e705e48a..6d67d618 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYOffset.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYOffset.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface guiElementYOffset ^ 0.02 \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYOffsetOf..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYOffsetOf..st index 33b77b32..d5ad3aab 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYOffsetOf..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYOffsetOf..st @@ -1,4 +1,4 @@ -accessing - user interface +user interface guiElementYOffsetOf: aNumber ^ self guiElementYOffset + (aNumber * self guiElementYSpacing) \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYSpacing.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYSpacing.st index 3dab2ecd..1059dafa 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYSpacing.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/guiElementYSpacing.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface guiElementYSpacing ^ 0.14 \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/insertDefaults.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/insertDefaults.st index 3fde1990..7e1957e6 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/insertDefaults.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/insertDefaults.st @@ -1,4 +1,4 @@ -action - button +login insertDefaults ((self serverPort isNil) or: [(self serverPort asString isEmpty)]) diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/keyEvent..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/keyEvent..st index 5229f73c..25a73509 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/keyEvent..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/keyEvent..st @@ -1,4 +1,4 @@ -keyboard handling +helper keyEvent: aKey | shouldLogin | @@ -8,4 +8,4 @@ keyEvent: aKey ifFalse: [shouldLogin := (aKey keyValue = 36)]. shouldLogin - ifTrue: [self submit] \ No newline at end of file + ifTrue: [self login] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/lastCharacterIsTab..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/lastCharacterIsTab..st index 8b37f670..e6f94ee2 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/lastCharacterIsTab..st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/lastCharacterIsTab..st @@ -1,4 +1,4 @@ -validating +helper lastCharacterIsTab: aString ^ aString notEmpty and: [aString last asciiValue == 9] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/loadData..st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/loadData..st new file mode 100644 index 00000000..e2fec747 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/loadData..st @@ -0,0 +1,9 @@ +accessing +loadData: dataDictionary + + self accountName: (dataDictionary at: 'accountName'). + self serverAddress: (dataDictionary at: 'address'). + self serverPort: (dataDictionary at: 'port') asString. + self username: (dataDictionary at: 'username'). + self password: (dataDictionary at: 'password'). + self ssl: (dataDictionary at: 'ssl') \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/nameHelpText.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/nameHelpText.st index c1b3a8e9..6cffd2d8 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/nameHelpText.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/nameHelpText.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface nameHelpText ^ 'name (arbitrarily)' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/passwordHelpText.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/passwordHelpText.st index 94d58845..1a96197d 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/passwordHelpText.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/passwordHelpText.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface passwordHelpText ^ 'password' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/serverAdressHelpText.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/serverAdressHelpText.st index 42defac8..8bffef35 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/serverAdressHelpText.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/serverAdressHelpText.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface serverAdressHelpText ^ 'server address' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/serverPortHelpText.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/serverPortHelpText.st index 73b88406..a684f6e5 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/serverPortHelpText.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/serverPortHelpText.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface serverPortHelpText ^ 'server port (default: 993)' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/sslCheckBoxLabel.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/sslCheckBoxLabel.st index bdc13989..382f51cd 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/sslCheckBoxLabel.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/sslCheckBoxLabel.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface sslCheckBoxLabel ^ 'Use SSL' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/submit.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/submit.st index 0d757f8d..417bf35f 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/submit.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/submit.st @@ -1,4 +1,4 @@ -action - button +login submit | accountInfo | diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/toggleSSL.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/toggleSSL.st index a0771135..0eef3e46 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/toggleSSL.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/toggleSSL.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface toggleSSL self ssl: (self ssl not) diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/usernameHelpText.st b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/usernameHelpText.st index 4704f657..949f6285 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/usernameHelpText.st +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/instance/usernameHelpText.st @@ -1,4 +1,4 @@ -accessing - user interface +user interface usernameHelpText ^ 'user name' \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/methodProperties.json b/packages/IMAPClient-UI.package/ICLoginDialog.class/methodProperties.json index a283fbe5..3512af0b 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/methodProperties.json +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/methodProperties.json @@ -3,7 +3,7 @@ "defaultPort" : "ok 7/9/2019 19:05", "inputParameterOrder" : "tg 7/25/2019 10:48", "open:" : "C.G. 6/21/2018 10:56", - "open:with:" : "LW 8/1/2020 10:43" }, + "open:with:" : "tg 7/15/2019 12:19" }, "instance" : { "accountName" : "C.G. 7/25/2018 14:21", "accountName:" : "tg 7/26/2019 15:55", @@ -23,11 +23,10 @@ "checkBoxColor" : "ms 7/13/2016 17:34", "constructEmptyFieldsErrorMessage:" : "tg 7/25/2019 12:59", "createAccountInfo" : "NH 6/14/2020 12:25", - "data:" : "LW 8/1/2020 10:43", "defaultBackgroundColor" : "C.G. 6/21/2018 00:28", "dialogTitle" : "ms 6/14/2016 09:53", "displayAccountnameExistsErrorMessage" : "ok 6/25/2019 00:26", - "displayEmptyFieldErrorMessageIfNecessary:" : "LW 8/1/2020 10:45", + "displayEmptyFieldErrorMessageIfNecessary:" : "JJ 6/12/2020 12:05", "endpoint" : "C.G. 7/25/2018 14:22", "endpoint:" : "pm 6/9/2019 17:13", "folderDialogInstance" : "C.G. 7/25/2018 14:23", @@ -41,8 +40,9 @@ "inputCollection" : "C.G. 7/25/2018 14:23", "inputCollection:" : "pm 6/9/2019 17:12", "insertDefaults" : "tg 7/26/2019 22:07", - "keyEvent:" : "hg 6/24/2020 10:44", + "keyEvent:" : "NH 6/14/2020 12:24", "lastCharacterIsTab:" : "tg 7/26/2019 21:47", + "loadData:" : "tg 7/19/2019 09:56", "loginMorph" : "C.G. 7/25/2018 14:24", "loginMorph:" : "pm 6/9/2019 17:12", "nameHelpText" : "DH 6/12/2018 22:36", diff --git a/packages/IMAPClient-UI.package/ICLoginDialog.class/properties.json b/packages/IMAPClient-UI.package/ICLoginDialog.class/properties.json index 856f4584..8b8cca61 100644 --- a/packages/IMAPClient-UI.package/ICLoginDialog.class/properties.json +++ b/packages/IMAPClient-UI.package/ICLoginDialog.class/properties.json @@ -4,7 +4,7 @@ ], "classvars" : [ ], - "commentStamp" : "LW 8/1/2020 11:28", + "commentStamp" : "tg 7/8/2019 15:37", "instvars" : [ "accountName", "serverPort", diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/class/openWith.and..st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/class/openWith.and..st index 4792afe7..15d1208e 100644 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/class/openWith.and..st +++ b/packages/IMAPClient-UI.package/ICPasswordDialog.class/class/openWith.and..st @@ -1,10 +1,10 @@ instance creation -openWith: anAccountInfo and: anInstance +openWith: aDictionary and: anInstance | instance | instance := self new. - instance accountInfo: anAccountInfo. + instance data: aDictionary. instance folderDialogInstance: anInstance. ^ ToolBuilder default open: instance \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/accountInfo..st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/accountInfo..st deleted file mode 100644 index bdfa4674..00000000 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/accountInfo..st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -accountInfo: anAccountInfo - - accountInfo := anAccountInfo \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/accountInfo.st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/accountInfo.st deleted file mode 100644 index c69efc63..00000000 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/accountInfo.st +++ /dev/null @@ -1,4 +0,0 @@ -accessing -accountInfo - - ^ accountInfo \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/buildWith..st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/buildWith..st index 4f41a192..1d174749 100644 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/buildWith..st +++ b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/buildWith..st @@ -5,7 +5,7 @@ buildWith: builder newWindow := builder build: (builder pluggableWindowSpec new model: self; - label: (self accountInfo accountName); + label: (self data at: 'accountName'); extent: 200 @ 100; children: { self buildPasswordField: builder. diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/data..st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/data..st new file mode 100644 index 00000000..89877ea1 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/data..st @@ -0,0 +1,4 @@ +accessing +data: aDictionary + + data := aDictionary \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/data.st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/data.st new file mode 100644 index 00000000..d2d0f025 --- /dev/null +++ b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/data.st @@ -0,0 +1,4 @@ +accessing +data + + ^ data \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/erasePassword.st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/erasePassword.st deleted file mode 100644 index 523ed917..00000000 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/erasePassword.st +++ /dev/null @@ -1,5 +0,0 @@ -login -erasePassword - - self password: String empty. - self accountInfo password: String empty \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/login.st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/login.st index 505c598d..b7cb4977 100644 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/login.st +++ b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/login.st @@ -1,10 +1,18 @@ login login + + | accountInfo | + self password ifNil: [ + self inform: 'Please put in a password'. + ^ self]. - self accountInfo password: self password asString. - - ((ICEndPoint new) testAccountWith: self accountInfo) + self data at: 'password' put: (self password asString). + + [accountInfo := ICAccountInfo newWith: self data.] + on: Error + do: [:e | self inform: e asString. ^ self]. + + ((ICEndPoint new) testAccountWith: accountInfo) ifTrue: [ - self folderDialogInstance passwordPromtCallback: self accountInfo. - self window abandon]. - self erasePassword \ No newline at end of file + self folderDialogInstance passwordPromtCallback: (self data). + self window abandon] \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/loginWithPassword..st b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/loginWithPassword..st index 33fbccb2..16c9df0d 100644 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/loginWithPassword..st +++ b/packages/IMAPClient-UI.package/ICPasswordDialog.class/instance/loginWithPassword..st @@ -1,8 +1,5 @@ login loginWithPassword: aText - aText ifNil: [ - self inform: 'Please put in a password'. - ^ self]. self password: aText. self login \ No newline at end of file diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/methodProperties.json b/packages/IMAPClient-UI.package/ICPasswordDialog.class/methodProperties.json index 03e2b143..f59aa385 100644 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/methodProperties.json +++ b/packages/IMAPClient-UI.package/ICPasswordDialog.class/methodProperties.json @@ -1,17 +1,16 @@ { "class" : { - "openWith:and:" : "hg 8/2/2020 15:24" }, + "openWith:and:" : "C.G. 6/20/2018 21:11" }, "instance" : { - "accountInfo" : "hg 8/2/2020 15:19", - "accountInfo:" : "hg 8/2/2020 15:19", "buildAddPasswordButton:" : "pm 6/25/2019 16:58", "buildPasswordField:" : "pm 6/25/2019 16:57", - "buildWith:" : "hg 8/2/2020 15:25", - "erasePassword" : "hg 8/2/2020 15:20", + "buildWith:" : "tg 7/26/2019 15:51", + "data" : "C.G. 7/25/2018 14:25", + "data:" : "pm 6/9/2019 17:14", "folderDialogInstance" : "C.G. 7/25/2018 14:25", "folderDialogInstance:" : "pm 6/9/2019 17:14", - "login" : "hg 8/2/2020 15:26", - "loginWithPassword:" : "hg 8/2/2020 15:05", + "login" : "tg 7/26/2019 21:41", + "loginWithPassword:" : "fr 6/13/2019 14:39", "password" : "C.G. 7/25/2018 14:25", "password:" : "fr 6/13/2019 14:44", "window" : "C.G. 7/25/2018 14:25", diff --git a/packages/IMAPClient-UI.package/ICPasswordDialog.class/properties.json b/packages/IMAPClient-UI.package/ICPasswordDialog.class/properties.json index 4f03c84f..19317e33 100644 --- a/packages/IMAPClient-UI.package/ICPasswordDialog.class/properties.json +++ b/packages/IMAPClient-UI.package/ICPasswordDialog.class/properties.json @@ -6,10 +6,10 @@ ], "commentStamp" : "tg 7/9/2019 14:43", "instvars" : [ + "data", "folderDialogInstance", "password", - "window", - "accountInfo" ], + "window" ], "name" : "ICPasswordDialog", "pools" : [ ], diff --git a/screenshots/addAccount.png b/screenshots/addAccount.png deleted file mode 100644 index 7f0c2e58..00000000 Binary files a/screenshots/addAccount.png and /dev/null differ diff --git a/screenshots/addressbook.png b/screenshots/addressbook.png deleted file mode 100644 index 4e78a8c3..00000000 Binary files a/screenshots/addressbook.png and /dev/null differ diff --git a/screenshots/flag.png b/screenshots/flag.png deleted file mode 100644 index fd9dde15..00000000 Binary files a/screenshots/flag.png and /dev/null differ diff --git a/screenshots/move.png b/screenshots/move.png deleted file mode 100644 index 1bfcfe5b..00000000 Binary files a/screenshots/move.png and /dev/null differ diff --git a/screenshots/search.png b/screenshots/search.png deleted file mode 100644 index 3513042c..00000000 Binary files a/screenshots/search.png and /dev/null differ diff --git a/screenshots/sort.png b/screenshots/sort.png deleted file mode 100644 index 1fe24580..00000000 Binary files a/screenshots/sort.png and /dev/null differ diff --git a/screenshots/unflag.png b/screenshots/unflag.png deleted file mode 100644 index 047743ef..00000000 Binary files a/screenshots/unflag.png and /dev/null differ diff --git a/screenshots/updating.png b/screenshots/updating.png deleted file mode 100644 index 6095275e..00000000 Binary files a/screenshots/updating.png and /dev/null differ