Skip to content

Commit 3cfa213

Browse files
authored
Pinned chats (#506)
* write acceptance tests for pinned chats * add isPinned instance var and unit test * add prefix to chat titled if chat is pinned * fix lint
1 parent 5bd62c0 commit 3cfa213

File tree

20 files changed

+79
-15
lines changed

20 files changed

+79
-15
lines changed

packages/TelegramClient-Core.package/TCCChat.class/instance/initialize.st

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ initialize
1010
isChannel: false;
1111
position: self class defaultUnknownPosition;
1212
numberOfRequestedMessages: self class defaultNumberOfRequestedMessages;
13-
selectedReplyToMessageId: self class defaultSelectedReplyToMessageId.
13+
selectedReplyToMessageId: self class defaultSelectedReplyToMessageId;
14+
isPinned: false.

packages/TelegramClient-Core.package/TCCChat.class/instance/initializeFromChatEvent..st

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ initializeFromChatEvent: anEvent
66
id: (anEvent at: 'id');
77
canSendMessages: ((anEvent at: 'permissions') at: 'can_send_messages');
88
muted: ((anEvent at: 'notification_settings') at: 'mute_for') > 0;
9-
lastMessage: ''.
9+
lastMessage: '';
10+
isPinned: false.
1011

1112
(anEvent at: 'photo') ifNotNil: [
1213
self photoId: (((anEvent at: 'photo') at: 'small') at: 'id').
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
isPinned: aBoolean
3+
4+
isPinned := aBoolean
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
isPinned
3+
4+
^ isPinned

packages/TelegramClient-Core.package/TCCChat.class/methodProperties.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@
2222
"ifNotWaitingForUpdate:" : "js 8/2/2020 13:17",
2323
"infoLoaded" : "per 6/4/2021 15:59",
2424
"infoLoaded:" : "per 6/4/2021 15:51",
25-
"initialize" : "JS 5/26/2022 14:31",
26-
"initializeFromChatEvent:" : "rgw 6/2/2022 15:24",
25+
"initialize" : "js 6/18/2022 10:48",
26+
"initializeFromChatEvent:" : "js 6/18/2022 10:47",
2727
"isBasicGroup" : "per 6/15/2021 08:08",
2828
"isChannel" : "per 7/17/2021 15:51",
2929
"isChannel:" : "per 7/17/2021 15:50",
3030
"isGroup" : "per 6/4/2021 14:42",
31+
"isPinned" : "js 6/18/2022 10:18",
32+
"isPinned:" : "js 6/18/2022 10:19",
3133
"isPrivate" : "per 6/4/2021 14:42",
3234
"isSuperGroup" : "per 6/15/2021 08:09",
3335
"lastMessage" : "rs 6/19/2020 17:33",

packages/TelegramClient-Core.package/TCCChat.class/properties.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
"messageIds",
2121
"messageDictionary",
2222
"selectedReplyToMessageId",
23-
"photoId" ],
23+
"photoId",
24+
"isPinned" ],
2425
"name" : "TCCChat",
2526
"pools" : [
2627
],

packages/TelegramClient-Core.package/TCCChats.class/methodProperties.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
"add:" : "pk 8/4/2021 11:17",
77
"getChat:" : "pk 8/4/2021 12:20",
88
"hasChat:" : "pk 8/4/2021 12:20",
9-
"notify" : "js 7/31/2020 14:47" } }
9+
"notify" : "js 6/18/2022 10:38" } }
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
event handling
22
updateChatPosition: anEvent
3-
3+
44
(self chats getChat: (anEvent at: 'chat_id'))
5-
position: ((anEvent at: 'position') at: 'order').
5+
position: ((anEvent at: 'position') at: 'order');
6+
isPinned: ((anEvent at: 'position') at: 'is_pinned').
67

78
self chats notify.

packages/TelegramClient-Core.package/TCCChatsHandler.class/methodProperties.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"class" : {
33
},
44
"instance" : {
5-
"addChat:" : "pk 8/5/2021 16:36",
5+
"addChat:" : "js 6/18/2022 09:27",
66
"addNewMessage:" : "pk 8/5/2021 16:37",
77
"answeredMessageReceived:" : "JS 5/26/2022 15:58",
88
"chatHistoryReceived:" : "pk 8/5/2021 16:37",
@@ -15,5 +15,5 @@
1515
"initialize" : "RS 8/1/2021 12:51",
1616
"openNewChat:" : "pk 8/5/2021 16:38",
1717
"searchChat:" : "pk 8/5/2021 16:38",
18-
"updateChatPosition:" : "RS 8/1/2021 12:55",
18+
"updateChatPosition:" : "js 6/18/2022 11:04",
1919
"updateLastMessage:" : "RS 8/1/2021 12:55" } }
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
drawing
22
addTitle
33

4+
| prefix |
5+
prefix := ''.
6+
self chat isPinned ifTrue: [
7+
prefix := '[pinned] '
8+
].
49
self addMorph: (TextMorph new
510
position: self topLeft + self class defaultTitleOffset;
6-
contents: ((self chatName condensedIntoOneLine truncateWithElipsisTo: self class defaultTitleLength) asText addAttribute: TextEmphasis bold);
11+
contents: ((prefix, self chatName condensedIntoOneLine truncateWithElipsisTo: self class defaultTitleLength) asText addAttribute: TextEmphasis bold);
712
lock;
813
yourself).

0 commit comments

Comments
 (0)