summaryrefslogtreecommitdiff
path: root/protocols/Omegle/src/messages.cpp
diff options
context:
space:
mode:
authorRobert Pösel <robyer@seznam.cz>2015-10-19 20:11:55 +0000
committerRobert Pösel <robyer@seznam.cz>2015-10-19 20:11:55 +0000
commitd16d69e7b86095c1493f4a7062751768c31a58fc (patch)
treef6396cd0a81bca933763ce4e90305be62128589b /protocols/Omegle/src/messages.cpp
parent3b8beab406e3e93c0c007a8291393bc491669b99 (diff)
Omegle: Various improvements
* Remove typing weirdness * Fix resetting "stranger is typing" on receiving message * Make option "hi message" choose randomly from more messages git-svn-id: http://svn.miranda-ng.org/main/trunk@15571 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Omegle/src/messages.cpp')
-rw-r--r--protocols/Omegle/src/messages.cpp156
1 files changed, 77 insertions, 79 deletions
diff --git a/protocols/Omegle/src/messages.cpp b/protocols/Omegle/src/messages.cpp
index 5eea9b5893..666229ebfd 100644
--- a/protocols/Omegle/src/messages.cpp
+++ b/protocols/Omegle/src/messages.cpp
@@ -1,79 +1,77 @@
-/*
-
-Omegle plugin for Miranda Instant Messenger
-_____________________________________________
-
-Copyright © 2011-15 Robert Pösel
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#include "stdafx.h"
-
-void OmegleProto::SendMsgWorker(void *p)
-{
- if(p == NULL)
- return;
-
- ScopedLock s( facy.send_message_lock_ );
-
- std::string data = *(std::string*)p;
- delete (std::string*)p;
-
- data = utils::text::trim(data);
-
- if (facy.state_ == STATE_ACTIVE && data.length() && facy.send_message( data ))
- {
- TCHAR *msg = mir_a2t_cp(data.c_str(), CP_UTF8);
- UpdateChat(facy.nick_, msg);
- mir_free(msg);
- }
-}
-
-void OmegleProto::SendTypingWorker(void *p)
-{
- if (p == NULL)
- return;
-
- // Save typing info
- bool typ = (*static_cast<int*>(p) == PROTOTYPE_SELFTYPING_ON);
- delete (int*)p;
-
- // Ignore same typing info
- if (facy.typing_ == typ)
- return;
-
- facy.typing_ = typ;
- // Wait for eventually changes to typing info by other thread and ignore if changed
- SleepEx(2000, true);
- if (facy.typing_ != typ || facy.old_typing_ == typ || facy.state_ != STATE_ACTIVE)
- return;
-
- facy.old_typing_ = typ;
- if (typ)
- facy.typing_start();
- else
- facy.typing_stop();
-}
-
-void OmegleProto::NewChatWorker(void*)
-{
- NewChat();
-}
-
-void OmegleProto::StopChatWorker(void*)
-{
- StopChat();
-}
+/*
+
+Omegle plugin for Miranda Instant Messenger
+_____________________________________________
+
+Copyright © 2011-15 Robert Pösel
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "stdafx.h"
+
+void OmegleProto::SendMsgWorker(void *p)
+{
+ if(p == NULL)
+ return;
+
+ ScopedLock s( facy.send_message_lock_ );
+
+ std::string data = *(std::string*)p;
+ delete (std::string*)p;
+
+ data = utils::text::trim(data);
+
+ if (facy.state_ == STATE_ACTIVE && data.length() && facy.send_message( data ))
+ {
+ TCHAR *msg = mir_a2t_cp(data.c_str(), CP_UTF8);
+ UpdateChat(facy.nick_, msg);
+ mir_free(msg);
+ }
+}
+
+void OmegleProto::SendTypingWorker(void *p)
+{
+ if (p == NULL)
+ return;
+
+ // Save typing info
+ bool typ = (*static_cast<int*>(p) == PROTOTYPE_SELFTYPING_ON);
+ delete (int*)p;
+
+ // Ignore same typing info
+ if (facy.typing_ == typ)
+ return;
+
+ if (facy.state_ != STATE_ACTIVE)
+ return;
+
+ facy.typing_ = typ;
+
+ if (typ)
+ facy.typing_start();
+ else
+ facy.typing_stop();
+}
+
+void OmegleProto::NewChatWorker(void*)
+{
+ NewChat();
+}
+
+void OmegleProto::StopChatWorker(void*)
+{
+ StopChat();
+}