From 24145eb51f09d7f97c7ed3725bacb552130b9da0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20P=C3=B6sel?= Date: Tue, 15 Jul 2014 21:38:32 +0000 Subject: Facebook: Option to not open chats on creaton git-svn-id: http://svn.miranda-ng.org/main/trunk@9819 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/FacebookRM/src/chat.cpp | 6 ++++-- protocols/FacebookRM/src/constants.h | 1 + protocols/FacebookRM/src/db.h | 1 + protocols/FacebookRM/src/dialogs.cpp | 2 ++ protocols/FacebookRM/src/resource.h | 1 + 5 files changed, 9 insertions(+), 2 deletions(-) (limited to 'protocols/FacebookRM/src') diff --git a/protocols/FacebookRM/src/chat.cpp b/protocols/FacebookRM/src/chat.cpp index ac909fa2ee..872485107e 100644 --- a/protocols/FacebookRM/src/chat.cpp +++ b/protocols/FacebookRM/src/chat.cpp @@ -235,10 +235,12 @@ void FacebookProto::AddChat(const TCHAR *tid, const TCHAR *tname) gce.time = ::time(NULL); gce.pDest = &gcd; + bool hideChats = getBool(FACEBOOK_KEY_HIDE_CHATS, DEFAULT_HIDE_CHATS); + // Add self contact AddChatContact(tid, facy.self_.user_id.c_str(), facy.self_.real_name.c_str()); - CallServiceSync(MS_GC_EVENT,SESSION_INITDONE,reinterpret_cast(&gce)); - CallServiceSync(MS_GC_EVENT,SESSION_ONLINE, reinterpret_cast(&gce)); + CallServiceSync(MS_GC_EVENT, (hideChats ? WINDOW_HIDDEN : SESSION_INITDONE), reinterpret_cast(&gce)); + CallServiceSync(MS_GC_EVENT, SESSION_ONLINE, reinterpret_cast(&gce)); } INT_PTR FacebookProto::OnJoinChat(WPARAM hContact, LPARAM suppress) diff --git a/protocols/FacebookRM/src/constants.h b/protocols/FacebookRM/src/constants.h index fa1fa24dfe..a0b29ad867 100644 --- a/protocols/FacebookRM/src/constants.h +++ b/protocols/FacebookRM/src/constants.h @@ -81,6 +81,7 @@ along with this program. If not, see . #define DEFAULT_FILTER_ADS 0 #define DEFAULT_MESSAGES_ON_OPEN 0 #define DEFAULT_MESSAGES_ON_OPEN_COUNT 10 +#define DEFAULT_HIDE_CHATS 0 #define DEFAULT_EVENT_NOTIFICATIONS_ENABLE 1 #define DEFAULT_EVENT_FEEDS_ENABLE 1 diff --git a/protocols/FacebookRM/src/db.h b/protocols/FacebookRM/src/db.h index 834f7e7a74..d395bec813 100644 --- a/protocols/FacebookRM/src/db.h +++ b/protocols/FacebookRM/src/db.h @@ -58,6 +58,7 @@ along with this program. If not, see . #define FACEBOOK_KEY_FILTER_ADS "FilterAds" #define FACEBOOK_KEY_MESSAGES_ON_OPEN "MessagesOnOpen" #define FACEBOOK_KEY_MESSAGES_ON_OPEN_COUNT "MessagesOnOpenCount" +#define FACEBOOK_KEY_HIDE_CHATS "HideChats" #define FACEBOOK_KEY_POLL_RATE "PollRate" // [HIDDEN] #define FACEBOOK_KEY_TIMEOUTS_LIMIT "TimeoutsLimit" // [HIDDEN] diff --git a/protocols/FacebookRM/src/dialogs.cpp b/protocols/FacebookRM/src/dialogs.cpp index 0c6a91a3bb..326cb85326 100644 --- a/protocols/FacebookRM/src/dialogs.cpp +++ b/protocols/FacebookRM/src/dialogs.cpp @@ -454,6 +454,7 @@ INT_PTR CALLBACK FBOptionsAdvancedProc(HWND hwnd, UINT message, WPARAM wparam, L LoadDBCheckState(proto, hwnd, IDC_INBOX_ONLY, FACEBOOK_KEY_INBOX_ONLY, DEFAULT_INBOX_ONLY); LoadDBCheckState(proto, hwnd, IDC_KEEP_UNREAD, FACEBOOK_KEY_KEEP_UNREAD, DEFAULT_KEEP_UNREAD); LoadDBCheckState(proto, hwnd, IDC_MESSAGES_ON_OPEN, FACEBOOK_KEY_MESSAGES_ON_OPEN, DEFAULT_MESSAGES_ON_OPEN); + LoadDBCheckState(proto, hwnd, IDC_HIDE_CHATS, FACEBOOK_KEY_HIDE_CHATS, DEFAULT_HIDE_CHATS); int count = proto->getByte(FACEBOOK_KEY_MESSAGES_ON_OPEN_COUNT, 10); count = min(count, FACEBOOK_MESSAGES_ON_OPEN_LIMIT); @@ -506,6 +507,7 @@ INT_PTR CALLBACK FBOptionsAdvancedProc(HWND hwnd, UINT message, WPARAM wparam, L StoreDBCheckState(proto, hwnd, IDC_INBOX_ONLY, FACEBOOK_KEY_INBOX_ONLY); StoreDBCheckState(proto, hwnd, IDC_KEEP_UNREAD, FACEBOOK_KEY_KEEP_UNREAD); StoreDBCheckState(proto, hwnd, IDC_MESSAGES_ON_OPEN, FACEBOOK_KEY_MESSAGES_ON_OPEN); + StoreDBCheckState(proto, hwnd, IDC_HIDE_CHATS, FACEBOOK_KEY_HIDE_CHATS); int count = GetDlgItemInt(hwnd, IDC_MESSAGES_COUNT, NULL, TRUE); count = min(count, FACEBOOK_MESSAGES_ON_OPEN_LIMIT); diff --git a/protocols/FacebookRM/src/resource.h b/protocols/FacebookRM/src/resource.h index 13646c3dfe..5fb781e678 100644 --- a/protocols/FacebookRM/src/resource.h +++ b/protocols/FacebookRM/src/resource.h @@ -35,6 +35,7 @@ #define IDC_INBOX_ONLY 1038 #define IDC_INBOX_ONLY2 1039 #define IDC_MESSAGES_ON_OPEN 1039 +#define IDC_HIDE_CHATS 1040 #define IDC_NOTIFICATIONS_ENABLE 1041 #define IDC_FEEDS_ENABLE 1042 #define IDC_OTHER_ENABLE 1043 -- cgit v1.2.3