diff options
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/FacebookRM/res/facebook.rc | 52 | ||||
-rw-r--r-- | protocols/FacebookRM/src/dialogs.cpp | 36 | ||||
-rw-r--r-- | protocols/FacebookRM/src/json.cpp | 6 | ||||
-rw-r--r-- | protocols/FacebookRM/src/process.cpp | 4 | ||||
-rw-r--r-- | protocols/FacebookRM/src/proto.cpp | 5 |
5 files changed, 49 insertions, 54 deletions
diff --git a/protocols/FacebookRM/res/facebook.rc b/protocols/FacebookRM/res/facebook.rc index a7eb8de43e..7ca22fce7c 100644 --- a/protocols/FacebookRM/res/facebook.rc +++ b/protocols/FacebookRM/res/facebook.rc @@ -113,8 +113,8 @@ BEGIN EDITTEXT IDC_PW,84,33,123,13,ES_PASSWORD | ES_AUTOHSCROLL
CONTROL "Create a new Facebook account",IDC_NEWACCOUNTLINK,
"Hyperlink",WS_TABSTOP,84,52,189,10
- GROUPBOX "Network", IDC_STATIC, 7, 72, 291, 42
- CONTROL "Force secure (HTTPS) connection",IDC_SECURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,85,281,10
+ GROUPBOX "Network",IDC_STATIC,7,72,291,42
+ CONTROL "Force secure (HTTPS) connection",IDC_SECURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,85,281,10
CONTROL "Use secure connection also for channel requests",IDC_SECURE_CHANNEL,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,31,99,262,10
GROUPBOX "Contacts",IDC_STATIC,7,120,291,60
@@ -125,7 +125,7 @@ BEGIN CONTROL "Use bigger avatars",IDC_BIGGER_AVATARS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,162,271,10
END
-IDD_OPTIONS_EVENTS DIALOGEX 0, 0, 305, 185
+IDD_OPTIONS_EVENTS DIALOGEX 0, 0, 305, 208
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 400, 0, 0x1
@@ -139,11 +139,13 @@ BEGIN CONTROL "Don't show advertising posts",IDC_FILTER_ADS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,150,67,138,8
CONTROL "Other events",IDC_OTHER_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,79,272,8
CONTROL "Client notifications",IDC_CLIENT_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,95,272,8
+ RTEXT "Use this server for opening links:",IDC_STATIC,13,123,139,8
+ COMBOBOX IDC_URL_SERVER,156,120,138,59,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Use balloon notifications in system tray instead of popups",IDC_SYSTRAY_NOTIFY,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,121,272,8
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,147,272,8
CONTROL "Use logging notifications into special chatroom",IDC_NOTIFICATIONS_CHATROOM,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,138,272,8
- PUSHBUTTON "Preview",IDC_PREVIEW,116,156,68,14
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,164,272,8
+ PUSHBUTTON "Preview",IDC_PREVIEW,116,182,68,14
END
IDD_OPTIONS_STATUSES DIALOGEX 0, 0, 308, 226
@@ -151,7 +153,7 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
- GROUPBOX "Statuses",IDC_STATIC,7,7,294,91
+ GROUPBOX "Statuses",IDC_STATIC,7,7,294,73
CONTROL "Post Miranda statuses to Wall",IDC_SET_STATUS,"Button",BS_AUTOCHECKBOX | BS_TOP | WS_TABSTOP,13,21,281,10
CONTROL "Turn off chat on Facebook when going to offline in Miranda",IDC_DISCONNECT_CHAT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,34,281,10
@@ -159,8 +161,6 @@ BEGIN "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,47,281,10
CONTROL "Allow posting statuses to my pages (may slow down login)",IDC_LOAD_PAGES,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,61,281,10
- RTEXT "Use this server for opening links:",IDC_STATIC,13,77,139,8
- COMBOBOX IDC_URL_SERVER,156,74,138,59,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END
IDD_CAPTCHAFORM DIALOGEX 0, 0, 258, 224
@@ -185,25 +185,25 @@ EXSTYLE WS_EX_CONTROLPARENT FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
GROUPBOX "Messages",IDC_STATIC,7,7,294,70
- CONTROL "Receive messages from ""inbox"" folder only",IDC_INBOX_ONLY,
+ CONTROL "Receive messages from ""inbox"" folder only",IDC_INBOX_ONLY,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,19,281,10
- CONTROL "Use local time for received messages", IDC_USE_LOCAL_TIME,
- "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 13, 33, 281, 10
+ CONTROL "Use local time for received messages",IDC_USE_LOCAL_TIME,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,33,281,10
CONTROL "Keep messages as unread on server (don't send ""seen"" info)",IDC_KEEP_UNREAD,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,47,281,10
- CONTROL "Show stickers as custom smileys (EXPERIMENTAL)", IDC_CUSTOM_SMILEYS,
- "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 13, 61, 281, 10
- GROUPBOX "Multi user chats", IDC_STATIC, 7, 83, 294, 43
- CONTROL "Enable multi user chats support", IDC_ENABLE_CHATS,
- "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 13, 96, 281, 10
- CONTROL "Do not open chat windows on creation", IDC_HIDE_CHATS,
- "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 13, 110, 281, 10
- GROUPBOX "History synchronization", IDC_STATIC, 7, 134, 294, 59
- CONTROL "Load last messages (24 hours old) on login (EXPERIMENTAL)", IDC_LOGIN_SYNC,
- "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 13, 148, 281, 10
- CONTROL "Load last messages on opening message window (EXPERIMENTAL)", IDC_MESSAGES_ON_OPEN,
- "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 13, 162, 281, 10
- RTEXT "Number of messages to load:", IDC_STATIC, 13, 176, 231, 8
+ CONTROL "Show stickers as custom smileys (EXPERIMENTAL)",IDC_CUSTOM_SMILEYS,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,61,281,10
+ GROUPBOX "Multi user chats",IDC_STATIC,7,83,294,43
+ CONTROL "Enable multi user chats support",IDC_ENABLE_CHATS,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,96,281,10
+ CONTROL "Do not open chat windows on creation",IDC_HIDE_CHATS,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,110,281,10
+ GROUPBOX "History synchronization",IDC_STATIC,7,134,294,59
+ CONTROL "Load last messages (24 hours old) on login (EXPERIMENTAL)",IDC_LOGIN_SYNC,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,148,281,10
+ CONTROL "Load last messages on opening message window (EXPERIMENTAL)",IDC_MESSAGES_ON_OPEN,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,162,281,10
+ RTEXT "Number of messages to load:",IDC_STATIC,13,176,231,8
EDITTEXT IDC_MESSAGES_COUNT,249,173,34,14,ES_AUTOHSCROLL
CONTROL "",IDC_MESSAGES_COUNT_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,283,173,11,14
END
@@ -267,7 +267,7 @@ BEGIN VERTGUIDE, 150
VERTGUIDE, 288
TOPMARGIN, 7
- BOTTOMMARGIN, 177
+ BOTTOMMARGIN, 200
END
IDD_OPTIONS_STATUSES, DIALOG
diff --git a/protocols/FacebookRM/src/dialogs.cpp b/protocols/FacebookRM/src/dialogs.cpp index f546a54cf4..81103ed166 100644 --- a/protocols/FacebookRM/src/dialogs.cpp +++ b/protocols/FacebookRM/src/dialogs.cpp @@ -450,10 +450,6 @@ INT_PTR CALLBACK FBOptionsStatusesProc(HWND hwnd, UINT message, WPARAM wparam, L proto = reinterpret_cast<FacebookProto*>(lparam); SetWindowLongPtr(hwnd,GWLP_USERDATA,lparam); - for(size_t i=0; i<SIZEOF(server_types); i++) - SendDlgItemMessageA(hwnd, IDC_URL_SERVER, CB_INSERTSTRING, i, reinterpret_cast<LPARAM>(Translate(server_types[i].name))); - SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_SETCURSEL, proto->getByte(FACEBOOK_KEY_SERVER_TYPE, 0), 0); - LoadDBCheckState(proto, hwnd, IDC_DISCONNECT_CHAT, FACEBOOK_KEY_DISCONNECT_CHAT, DEFAULT_DISCONNECT_CHAT); LoadDBCheckState(proto, hwnd, IDC_SET_STATUS, FACEBOOK_KEY_SET_MIRANDA_STATUS, DEFAULT_SET_MIRANDA_STATUS); LoadDBCheckState(proto, hwnd, IDC_MAP_STATUSES, FACEBOOK_KEY_MAP_STATUSES, DEFAULT_MAP_STATUSES); @@ -463,23 +459,17 @@ INT_PTR CALLBACK FBOptionsStatusesProc(HWND hwnd, UINT message, WPARAM wparam, L } case WM_COMMAND: { - switch (LOWORD(wparam)) { - case IDC_URL_SERVER: - if(HIWORD(wparam) == CBN_SELCHANGE) - SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); - break; - default: + //switch (LOWORD(wparam)) { + //default: SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); break; - } - break; + //} + //break; } case WM_NOTIFY: if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY) { - proto->setByte(FACEBOOK_KEY_SERVER_TYPE, SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_GETCURSEL, 0, 0)); - StoreDBCheckState(proto, hwnd, IDC_DISCONNECT_CHAT, FACEBOOK_KEY_DISCONNECT_CHAT); StoreDBCheckState(proto, hwnd, IDC_MAP_STATUSES, FACEBOOK_KEY_MAP_STATUSES); StoreDBCheckState(proto, hwnd, IDC_LOAD_PAGES, FACEBOOK_KEY_LOAD_PAGES); @@ -517,12 +507,14 @@ INT_PTR CALLBACK FBOptionsEventsProc(HWND hwnd, UINT message, WPARAM wparam, LPA proto = reinterpret_cast<FacebookProto*>(lparam); SetWindowLongPtr(hwnd,GWLP_USERDATA,lparam); - for(size_t i=0; i<SIZEOF(feed_types); i++) - { - SendDlgItemMessageA(hwnd,IDC_FEED_TYPE,CB_INSERTSTRING,i, - reinterpret_cast<LPARAM>(Translate(feed_types[i].name))); - } + for (size_t i = 0; i<SIZEOF(feed_types); i++) + SendDlgItemMessageA(hwnd, IDC_FEED_TYPE, CB_INSERTSTRING, i, reinterpret_cast<LPARAM>(Translate(feed_types[i].name))); SendDlgItemMessage(hwnd, IDC_FEED_TYPE, CB_SETCURSEL, proto->getByte(FACEBOOK_KEY_FEED_TYPE, 0), 0); + + for (size_t i = 0; i<SIZEOF(server_types); i++) + SendDlgItemMessageA(hwnd, IDC_URL_SERVER, CB_INSERTSTRING, i, reinterpret_cast<LPARAM>(Translate(server_types[i].name))); + SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_SETCURSEL, proto->getByte(FACEBOOK_KEY_SERVER_TYPE, 0), 0); + LoadDBCheckState(proto, hwnd, IDC_SYSTRAY_NOTIFY, FACEBOOK_KEY_SYSTRAY_NOTIFY, DEFAULT_SYSTRAY_NOTIFY); LoadDBCheckState(proto, hwnd, IDC_NOTIFICATIONS_CHATROOM, FACEBOOK_KEY_NOTIFICATIONS_CHATROOM, DEFAULT_NOTIFICATIONS_CHATROOM); @@ -544,8 +536,9 @@ INT_PTR CALLBACK FBOptionsEventsProc(HWND hwnd, UINT message, WPARAM wparam, LPA proto->NotifyEvent(proto->m_tszUserName, TranslateT("Sample notification"), NULL, FACEBOOK_EVENT_NOTIFICATION); break; case IDC_FEED_TYPE: - if(HIWORD(wparam) == CBN_SELCHANGE) - SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); + case IDC_URL_SERVER: + if (HIWORD(wparam) == CBN_SELCHANGE) + SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); break; default: SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); @@ -557,6 +550,7 @@ INT_PTR CALLBACK FBOptionsEventsProc(HWND hwnd, UINT message, WPARAM wparam, LPA if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY) { proto->setByte(FACEBOOK_KEY_FEED_TYPE, SendDlgItemMessage(hwnd, IDC_FEED_TYPE, CB_GETCURSEL, 0, 0)); + proto->setByte(FACEBOOK_KEY_SERVER_TYPE, SendDlgItemMessage(hwnd, IDC_URL_SERVER, CB_GETCURSEL, 0, 0)); StoreDBCheckState(proto, hwnd, IDC_SYSTRAY_NOTIFY, FACEBOOK_KEY_SYSTRAY_NOTIFY); StoreDBCheckState(proto, hwnd, IDC_NOTIFICATIONS_CHATROOM, FACEBOOK_KEY_NOTIFICATIONS_CHATROOM); diff --git a/protocols/FacebookRM/src/json.cpp b/protocols/FacebookRM/src/json.cpp index 445d1e767d..4c24b138b8 100644 --- a/protocols/FacebookRM/src/json.cpp +++ b/protocols/FacebookRM/src/json.cpp @@ -473,12 +473,14 @@ int facebook_json_parser::parse_messages(void* data, std::vector< facebook_messa participant = participants.find(reader_id); if (participant != participants.end()) { - MCONTACT hChatContact = proto->ChatIDToHContact(tid); - if (!chatroom->message_readers.empty()) chatroom->message_readers += ", "; chatroom->message_readers += participant->second; + MCONTACT hChatContact = proto->ChatIDToHContact(tid); + if (!hChatContact) + continue; + ptrT readers(mir_utf8decodeT(chatroom->message_readers.c_str())); StatusTextData st = { 0 }; diff --git a/protocols/FacebookRM/src/process.cpp b/protocols/FacebookRM/src/process.cpp index 406e8dfaf5..b4e182842e 100644 --- a/protocols/FacebookRM/src/process.cpp +++ b/protocols/FacebookRM/src/process.cpp @@ -568,7 +568,7 @@ void FacebookProto::SyncThreads(void*) std::string timestamp = "0"; if (ptrtimestamp != NULL) - timestamp = std::string(ptrtimestamp); // FIXME: is std::string(..) needed? + timestamp = ptrtimestamp; unsigned __int64 time = _atoi64(timestamp.c_str()); @@ -752,7 +752,7 @@ void FacebookProto::ReceiveMessages(std::vector<facebook_message*> messages, boo UpdateChat(tthread_id.c_str(), messages[i]->user_id.c_str(), messages[i]->sender_name.c_str(), messages[i]->message_text.c_str(), timestamp); // Automatically mark message as read because chatroom doesn't support onRead event (yet) - // ForkThread(&FacebookProto::ReadMessageWorker, (void*)hChatContact); // FIXME: temporary disabled + ForkThread(&FacebookProto::ReadMessageWorker, (void*)hChatContact); } else { // Single-user message debugLogA(" Got message: %s", messages[i]->message_text.c_str()); diff --git a/protocols/FacebookRM/src/proto.cpp b/protocols/FacebookRM/src/proto.cpp index 15c7a220fb..b10a5821b5 100644 --- a/protocols/FacebookRM/src/proto.cpp +++ b/protocols/FacebookRM/src/proto.cpp @@ -563,12 +563,11 @@ int FacebookProto::OnProcessSrmmEvent(WPARAM, LPARAM lParam) MessageRead(event->hContact); } else if (event->uType == MSG_WINDOW_EVT_OPEN) { // Check if we have enabled loading messages on open window - if (!getBool(FACEBOOK_KEY_MESSAGES_ON_OPEN, DEFAULT_MESSAGES_ON_OPEN)) + if (!getBool(FACEBOOK_KEY_MESSAGES_ON_OPEN, DEFAULT_MESSAGES_ON_OPEN) || isChatRoom(event->hContact)) return 0; // Load last messages for this contact - if (!isChatRoom(event->hContact)) - ForkThread(&FacebookProto::LoadLastMessages, new MCONTACT(event->hContact)); + ForkThread(&FacebookProto::LoadLastMessages, new MCONTACT(event->hContact)); } return 0; |