Skip to content

Commit 0916aa6

Browse files
authored
Merge pull request #335 from hpi-swa-teaching/feature/timestamps
Showing timestamps in messages
2 parents 81b4518 + a2768b1 commit 0916aa6

File tree

26 files changed

+113
-28
lines changed

26 files changed

+113
-28
lines changed

packages/TelegramClient-Core.package/TCCMessage.class/class/newFromMessageEvent..st

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ newFromMessageEvent: aMessageEvent
88
chatID: (aMessageEvent at: 'chat_id');
99
senderID: (aMessageEvent at: 'sender_user_id');
1010
id: (aMessageEvent at: 'id');
11-
isOutgoing: (aMessageEvent at: 'is_outgoing')
11+
isOutgoing: (aMessageEvent at: 'is_outgoing');
12+
date: (self timeStampToDateAndTime: (aMessageEvent at: 'date'))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
json conversion
2+
timeStampToDateAndTime: aUnixTimestamp
3+
4+
^ (DateAndTime fromUnixTime: aUnixTimestamp) asLocal
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
date: aDateAndTime
3+
4+
date := aDateAndTime
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
date
3+
4+
^ date

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

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
{
22
"class" : {
3-
"newFromMessageEvent:" : "js 8/2/2020 22:01" },
3+
"newFromMessageEvent:" : "RK 5/7/2021 10:20",
4+
"timeStampToDateAndTime:" : "JB 5/16/2021 09:42" },
45
"instance" : {
56
"chatID" : "js 7/31/2020 15:14",
67
"chatID:" : "j 7/16/2020 12:03",
8+
"date" : "RK 5/7/2021 10:02",
9+
"date:" : "RK 5/7/2021 10:02",
710
"id" : "js 8/1/2020 18:20",
811
"id:" : "js 8/1/2020 18:20",
912
"initialize" : "js 8/1/2020 18:18",

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"chatID",
1111
"id",
1212
"senderID",
13-
"isOutgoing" ],
13+
"isOutgoing",
14+
"date" ],
1415
"name" : "TCCMessage",
1516
"pools" : [
1617
],

packages/TelegramClient-Tests.package/TCTChatTests.class/instance/setUp.st

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ setUp
88
message: aNumber asString;
99
chatID: aNumber * 2;
1010
senderID: aNumber * 3;
11-
id: aNumber * 4)].
11+
id: aNumber * 4;
12+
date: (DateAndTime fromUnixTime: aNumber * 60))].

packages/TelegramClient-Tests.package/TCTChatTests.class/instance/testMessage.st

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ testMessage
99
'sender_user_id' -> '2'.
1010
'id' -> '3'.
1111
'is_outgoing' -> false.
12+
'date' -> (DateAndTime fromUnixTime: 0) asSeconds.
1213
'content' -> (Dictionary newFrom: {
1314
'@type' -> 'messageText'.
1415
'text' -> (Dictionary newFrom: {
1516
'text' -> 'testText'})})})).
1617

1718
self assert: message senderID equals: '2'.
18-
self assert: message id equals: '3'.
19+
self assert: message id equals: '3'.
20+
self assert: message date asUTC asTime hhmm24 equals: '0000'.
21+
self assert: message message equals: 'testText'.

packages/TelegramClient-Tests.package/TCTChatTests.class/methodProperties.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
"instance" : {
55
"chat" : "LL 8/2/2020 20:25",
66
"chat:" : "LL 8/2/2020 20:26",
7-
"setUp" : "js 8/2/2020 20:44",
7+
"setUp" : "JB 5/16/2021 13:20",
88
"testAddNewestMessage" : "js 8/2/2020 22:48",
99
"testAddOldestMessage" : "js 8/2/2020 20:47",
1010
"testID" : "js 8/2/2020 21:03",
1111
"testLastMessage" : "js 8/2/2020 21:04",
12-
"testMessage" : "js 8/2/2020 22:53",
12+
"testMessage" : "JB 5/16/2021 10:15",
1313
"testMessages" : "js 8/2/2020 21:06",
1414
"testMessagesSize" : "js 8/2/2020 20:48",
1515
"testNullID" : "js 8/2/2020 21:15",

packages/TelegramClient-UI.package/TCUChatMessageList.class/instance/addMessageAtBottom..st

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ addMessageAtBottom: aMessage
33

44
| newMessage |
55
newMessage := TCUMessage newFromTCCMessage: aMessage.
6+
newMessage shrinkWrap.
67

7-
self messages do: [:message | message position: (message position - (0 @ (newMessage height)))].
8+
self messages do: [:message | message position: (message position - (0 @ (newMessage height + self defaultMessageMargin)))].
89

910
newMessage isOutgoing
10-
ifTrue: [newMessage bottomRight: (self bottomRight - (self defaultMessageMargin @ 0))]
11-
ifFalse: [newMessage bottomLeft: (self bottomLeft + (self defaultMessageMargin @ 0))].
11+
ifTrue: [newMessage bottomRight: (self bottomRight - (self defaultMessageMargin asPoint))]
12+
ifFalse: [newMessage bottomLeft: (self bottomLeft + (self defaultMessageMargin @ self defaultMessageMargin negated))].
1213
self addMorph: newMessage.
1314
self messages add: newMessage.

packages/TelegramClient-UI.package/TCUChatMessageList.class/methodProperties.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"class" : {
33
},
44
"instance" : {
5-
"addMessageAtBottom:" : "js 8/2/2020 22:03",
5+
"addMessageAtBottom:" : "JB 5/7/2021 12:27",
66
"addMessages" : "js 8/2/2020 22:16",
77
"chat" : "js 7/31/2020 16:39",
88
"chat:" : "js 7/31/2020 16:39",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
colors
2+
colorNileBlue
3+
4+
^ (Color r: (26 / 255) g: (69 / 255) b: (90 / 255))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
colors
2+
colorPottersClay
3+
4+
^ (Color r: (131 / 255) g: (94 / 255) b: (57 / 255))

packages/TelegramClient-UI.package/TCUDefaultValues.class/methodProperties.json

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
"colorGray" : "R.S 5/20/2020 13:41",
55
"colorLightBlue" : "N.S. 7/26/2020 15:48",
66
"colorLightGray" : "R.S 6/1/2020 14:25",
7+
"colorNileBlue" : "JB 5/10/2021 17:55",
8+
"colorPottersClay" : "JB 5/10/2021 17:57",
79
"colorRed" : "LL 7/15/2020 19:36" },
810
"instance" : {
911
} }

packages/TelegramClient-UI.package/TCUMessage.class/class/newFromTCCMessage..st

+1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ newFromTCCMessage: aMessage
55
text: aMessage message;
66
senderID: aMessage senderID;
77
isOutgoing: aMessage isOutgoing;
8+
date: aMessage date;
89
initialize
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
drawing
2+
addDate
3+
4+
| textMorph |
5+
6+
textMorph := self defaultTextMorph
7+
contents: self messageDateText;
8+
margins: self defaultDateMargins;
9+
color: (self isOutgoing
10+
ifTrue: [TCUDefaultValues colorPottersClay]
11+
ifFalse: [TCUDefaultValues colorNileBlue]).
12+
13+
self
14+
shrinkToContentWidth: textMorph;
15+
addMorphBack: textMorph.
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
11
drawing
22
addText
33

4-
| textMorph expectedWidth |
4+
| textMorph |
55

6-
textMorph := TextMorph new
6+
textMorph := self defaultTextMorph
77
contents: self text;
8-
wrapFlag: true;
98
margins: self defaultTextMargins;
10-
width: self defaultWidth;
11-
hResizing: #rigid;
12-
color: Color white;
13-
lock.
14-
15-
expectedWidth := textMorph textStyle defaultFont widthOfString: self text.
16-
(expectedWidth <= self defaultWidth)
17-
ifTrue: [textMorph width: expectedWidth + (self defaultTextMargins x * 2)].
9+
color: Color white.
1810

1911
self
20-
extent: textMorph extent + self defaultMargin;
21-
addMorphCentered: textMorph.
12+
shrinkToContentWidth: textMorph;
13+
addMorph: textMorph.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
date: aDateAndTime
3+
4+
date := aDateAndTime
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
date
3+
4+
^ date
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
default values
2+
defaultDateMargins
3+
4+
^ (self defaultTextMargins rect: self defaultTextMargins) top: 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
default values
2+
defaultTextMorph
3+
4+
^ TextMorph new
5+
wrapFlag: true;
6+
width: self defaultWidth;
7+
hResizing: #rigid;
8+
lock;
9+
yourself

packages/TelegramClient-UI.package/TCUMessage.class/instance/initialize.st

+3
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ initialize
66
self
77
width: self defaultWidth;
88
height: self defaultHeight;
9+
layoutPolicy: TableLayout new;
10+
cellPositioning: #topLeft;
911
color: (self isOutgoing
1012
ifTrue: [TCUDefaultValues colorCarrot]
1113
ifFalse: [TCUDefaultValues colorLightBlue]);
1214
addText;
15+
addDate;
1316
hResizing: #shrinkWrap;
1417
vResizing: #shrinkWrap;
1518
borderWidth: 0;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
text conversion
2+
messageDateText
3+
4+
^ (String streamContents: [
5+
:aStream | self date asTime print24: true showSeconds: false on: aStream ])
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
accessing
2+
shrinkToContentWidth: aTextMorph
3+
4+
| expectedWidth |
5+
6+
expectedWidth := aTextMorph textStyle defaultFont widthOfString: aTextMorph contents.
7+
(expectedWidth <= self defaultWidth)
8+
ifTrue: [aTextMorph width: expectedWidth + (self defaultTextMargins x * 2)].
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
11
{
22
"class" : {
3-
"newFromTCCMessage:" : "js 8/2/2020 22:02" },
3+
"newFromTCCMessage:" : "RK 5/7/2021 10:11" },
44
"instance" : {
5-
"addText" : "r.s 8/2/2020 18:41",
5+
"addDate" : "JB 5/16/2021 09:45",
6+
"addText" : "RK 5/12/2021 15:12",
7+
"date" : "RK 5/7/2021 10:11",
8+
"date:" : "RK 5/7/2021 10:12",
9+
"defaultDateMargins" : "JB 5/16/2021 09:45",
610
"defaultHeight" : "rs 6/17/2020 20:07",
711
"defaultMargin" : "js 7/31/2020 18:19",
812
"defaultMinTextLength" : "js 7/31/2020 18:03",
913
"defaultTextMargins" : "r.s 8/2/2020 18:39",
14+
"defaultTextMorph" : "RK 5/12/2021 14:03",
1015
"defaultWidth" : "r.s 7/31/2020 14:19",
11-
"initialize" : "js 8/2/2020 22:03",
16+
"initialize" : "JB 5/7/2021 11:57",
1217
"isOutgoing" : "js 8/2/2020 22:02",
1318
"isOutgoing:" : "js 8/2/2020 22:02",
19+
"messageDateText" : "JB 5/17/2021 10:04",
1420
"senderID" : "js 7/31/2020 16:11",
1521
"senderID:" : "js 7/31/2020 16:10",
22+
"shrinkToContentWidth:" : "RK 5/12/2021 15:10",
1623
"text" : "rs 6/17/2020 19:48",
1724
"text:" : "rs 6/17/2020 19:52" } }

packages/TelegramClient-UI.package/TCUMessage.class/properties.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
"instvars" : [
99
"text",
1010
"senderID",
11-
"isOutgoing" ],
11+
"isOutgoing",
12+
"date" ],
1213
"name" : "TCUMessage",
1314
"pools" : [
1415
],

0 commit comments

Comments
 (0)