From af7e438cfe8ce85e1da234318ed1584e89d952cc Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Fri, 29 Jun 2012 05:38:03 +0000 Subject: only add some plugins and protocols, not adapted See please maybe not all need us git-svn-id: http://svn.miranda-ng.org/main/trunk@678 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Tlen/tlen_czaty/mucc_services.cpp | 140 ++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 protocols/Tlen/tlen_czaty/mucc_services.cpp (limited to 'protocols/Tlen/tlen_czaty/mucc_services.cpp') diff --git a/protocols/Tlen/tlen_czaty/mucc_services.cpp b/protocols/Tlen/tlen_czaty/mucc_services.cpp new file mode 100644 index 0000000000..0d4571a633 --- /dev/null +++ b/protocols/Tlen/tlen_czaty/mucc_services.cpp @@ -0,0 +1,140 @@ +/* + +MUCC Group Chat GUI Plugin for Miranda IM +Copyright (C) 2004 Piotr Piastucki + +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, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ +#include "mucc_services.h" +#include "Utils.h" +#include "HelperDialog.h" + +int MUCCQueryChatGroups(MUCCQUERYRESULT *queryResult) +{ + ManagerWindow *managerWnd=ManagerWindow::getWindow(queryResult->pszModule); + if (managerWnd!=NULL) { + managerWnd->queryResultGroups(queryResult); + } + return 1; +} + +int MUCCQueryChatRooms(MUCCQUERYRESULT *queryResult) +{ + ManagerWindow *managerWnd=ManagerWindow::getWindow(queryResult->pszModule); + if (managerWnd!=NULL) { + managerWnd->queryResultRooms(queryResult); + } + return 1; +} + +int MUCCQueryUserRooms(MUCCQUERYRESULT *queryResult) +{ + ManagerWindow *managerWnd=ManagerWindow::getWindow(queryResult->pszModule); + if (managerWnd!=NULL) { + managerWnd->queryResultUserRooms(queryResult); + } + return 1; +} + +int MUCCQueryUserNicks(MUCCQUERYRESULT *queryResult) +{ + ManagerWindow *managerWnd=ManagerWindow::getWindow(queryResult->pszModule); + if (managerWnd!=NULL) { + managerWnd->queryResultUserNick(queryResult); + } + return 1; +} + +INT_PTR MUCCQueryResult(WPARAM wParam, LPARAM lParam) +{ + MUCCQUERYRESULT *queryResult=(MUCCQUERYRESULT *)lParam; + ChatWindow * chatWindow = NULL; + switch (queryResult->iType) { + case MUCC_EVENT_QUERY_GROUPS: + MUCCQueryChatGroups(queryResult); + break; + case MUCC_EVENT_QUERY_ROOMS: + MUCCQueryChatRooms(queryResult); + break; + case MUCC_EVENT_QUERY_USER_ROOMS: + MUCCQueryUserRooms(queryResult); + break; + case MUCC_EVENT_QUERY_USER_NICKS: + MUCCQueryUserNicks(queryResult); + break; + case MUCC_EVENT_QUERY_CONTACTS: + case MUCC_EVENT_QUERY_USERS: + chatWindow=ChatWindow::getWindow(queryResult->pszModule, queryResult->pszParent); + if (chatWindow!=NULL) { + SendMessage(chatWindow->getHWND(), DM_CHAT_QUERY, (WPARAM) 0, (LPARAM) queryResult); + } + break; + } + return 0; +} + +INT_PTR MUCCNewWindow(WPARAM wParam, LPARAM lParam) +{ + MUCCWINDOW *mucWindow = (MUCCWINDOW *) lParam; + if (mucWindow->iType == MUCC_WINDOW_CHATROOM) { + ChatWindow *chat = ChatWindow::getWindow(mucWindow->pszModule, mucWindow->pszID); + if (chat == NULL) { + chat = new ChatWindow(mucWindow); + } + } else if (mucWindow->iType == MUCC_WINDOW_CHATLIST) { + ManagerWindow *manager = ManagerWindow::getWindow(mucWindow->pszModule); + if (manager == NULL) { + + } + //Utils::log("setting name: %s", mucWindow->pszModuleName); + manager->setModuleName(mucWindow->pszModuleName); + manager->start(); + } + return 0; +} + +INT_PTR MUCCEvent(WPARAM wParam, LPARAM lParam) +{ + MUCCEVENT* mucEvent = (MUCCEVENT *) lParam; + ChatWindow * chatWindow = NULL; + switch (mucEvent->iType) { + case MUCC_EVENT_STATUS: + case MUCC_EVENT_MESSAGE: + case MUCC_EVENT_ROOM_INFO: + case MUCC_EVENT_LEAVE: + case MUCC_EVENT_TOPIC: + chatWindow = ChatWindow::getWindow(mucEvent->pszModule, mucEvent->pszID); + if (chatWindow!=NULL) { + SendMessage(chatWindow->getHWND(), DM_CHAT_EVENT, (WPARAM) 0, (LPARAM) mucEvent); + } + break; + case MUCC_EVENT_ERROR: + chatWindow = ChatWindow::getWindow(mucEvent->pszModule, mucEvent->pszID); + if (chatWindow!=NULL) { + SendMessage(chatWindow->getHWND(), DM_CHAT_EVENT, (WPARAM) 0, (LPARAM) mucEvent); + } else { + HelperDialog::errorDlg(mucEvent); + } + break; + case MUCC_EVENT_INVITATION: + HelperDialog::acceptDlg(mucEvent); + break; + case MUCC_EVENT_JOIN: + HelperDialog::joinDlg(mucEvent); + break; + } + return 0; +} -- cgit v1.2.3