Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Linus Jahn
kaidan
Commits
3567abd9
Commit
3567abd9
authored
Jun 10, 2017
by
Weblate
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
ef730d0a
0cb665d6
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
1 deletion
+32
-1
src/Kaidan.cpp
src/Kaidan.cpp
+1
-1
src/RosterController.cpp
src/RosterController.cpp
+12
-0
src/RosterController.h
src/RosterController.h
+1
-0
src/RosterModel.cpp
src/RosterModel.cpp
+17
-0
src/RosterModel.h
src/RosterModel.h
+1
-0
No files found.
src/Kaidan.cpp
View file @
3567abd9
...
...
@@ -225,7 +225,7 @@ void Kaidan::setChatPartner(QString chatPartner)
void
Kaidan
::
sendMessage
(
QString
jid
,
QString
message
)
{
messageController
->
sendMessage
(
&
jid
,
&
message
);
rosterController
->
updateLastExchangedOfJid
(
&
jid
);
rosterController
->
handleNewMessageSent
(
&
jid
,
&
message
);
}
QString
Kaidan
::
getResourcePath
(
QString
name_
)
...
...
src/RosterController.cpp
View file @
3567abd9
...
...
@@ -239,6 +239,10 @@ void RosterController::handleMessageReceived(Swift::Message::ref message)
if
(
optionalMessageBody
)
{
QString
msgAuthor
=
QString
::
fromStdString
(
message
->
getFrom
()
.
toBare
().
toString
());
QString
message
=
QString
::
fromStdString
(
optionalMessageBody
.
get
());
// update the last message for this contact
rosterModel
->
setLastMessageForJid
(
&
msgAuthor
,
&
message
);
updateLastExchangedOfJid
(
&
msgAuthor
);
...
...
@@ -248,6 +252,14 @@ void RosterController::handleMessageReceived(Swift::Message::ref message)
}
}
void
RosterController
::
handleNewMessageSent
(
QString
*
jid
,
QString
*
message
)
{
// update the last message for this contact
rosterModel
->
setLastMessageForJid
(
jid
,
message
);
// update the last exchanged date
updateLastExchangedOfJid
(
jid
);
}
void
RosterController
::
updateLastExchangedOfJid
(
QString
*
jid_
)
{
QString
dateTime
=
QDateTime
::
currentDateTime
().
toString
(
Qt
::
ISODate
);
...
...
src/RosterController.h
View file @
3567abd9
...
...
@@ -44,6 +44,7 @@ public:
void
requestRosterFromClient
();
RosterModel
*
getRosterModel
();
void
setChatPartner
(
QString
*
chatPartner
);
void
handleNewMessageSent
(
QString
*
,
QString
*
);
void
updateLastExchangedOfJid
(
QString
*
jid_
);
void
newUnreadMessageForJid
(
const
QString
jid_
);
void
resetUnreadMessagesForJid
(
QString
*
jid_
);
...
...
src/RosterModel.cpp
View file @
3567abd9
...
...
@@ -193,3 +193,20 @@ void RosterModel::setUnreadMessageCountOfJid(const QString* jid_, const int coun
submit
();
}
void
RosterModel
::
setLastMessageForJid
(
QString
*
jid
,
QString
*
message
)
{
QSqlQuery
query
;
query
.
prepare
(
QString
(
"UPDATE Roster SET lastMessage = %1 WHERE jid = '%2'"
)
.
arg
(
*
message
,
*
jid
));
if
(
!
query
.
exec
())
{
qDebug
(
"Failed to query database: %s"
,
qPrintable
(
query
.
lastError
().
text
()));
qDebug
()
<<
query
.
lastQuery
();
}
if
(
!
select
())
{
qDebug
()
<<
"Error on select in RosterModel::setUnreadMessageCountOfJid"
;
}
submit
();
}
src/RosterModel.h
View file @
3567abd9
...
...
@@ -43,6 +43,7 @@ public:
void
setLastExchangedOfJid
(
QString
*
,
QString
*
);
int
getUnreadMessageCountOfJid
(
const
QString
*
jid_
);
void
setUnreadMessageCountOfJid
(
const
QString
*
jid_
,
const
int
unreadMessageCount
);
void
setLastMessageForJid
(
QString
*
,
QString
*
);
};
#endif // ROSTERMODEL_H
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment