From b880db8491271b4bd4aa87c2dd79b5e3c3dde6cf Mon Sep 17 00:00:00 2001 From: watcherhd Date: Thu, 17 Nov 2011 18:46:23 +0000 Subject: added: ieview, imo2sproxy, skype git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@175 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- ieview/ieview_services.cpp | 117 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 ieview/ieview_services.cpp (limited to 'ieview/ieview_services.cpp') diff --git a/ieview/ieview_services.cpp b/ieview/ieview_services.cpp new file mode 100644 index 0000000..ab27b1e --- /dev/null +++ b/ieview/ieview_services.cpp @@ -0,0 +1,117 @@ +/* + +IEView Plugin for Miranda IM +Copyright (C) 2005-2010 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 "ieview_services.h" +//#include "SRMMHTMLBuilder.h" +#include "ScriverHTMLBuilder.h" +#include "TabSRMMHTMLBuilder.h" +#include "TemplateHTMLBuilder.h" +#include "MUCCHTMLBuilder.h" +#include "ChatHTMLBuilder.h" +#include "HistoryHTMLBuilder.h" +#include "IEView.h" +#include "m_ieview.h" +#include "Options.h" +#include "ieview_common.h" + +int HandleIEWindow(WPARAM wParam, LPARAM lParam) { + IEVIEWWINDOW *window = (IEVIEWWINDOW *) lParam; + IEView::init(); + Options::init(); + if (window->iType == IEW_CREATE) { + HTMLBuilder *builder = NULL; + switch (window->dwMode) { + case IEWM_MUCC: + builder = new MUCCHTMLBuilder(); + break; + case IEWM_CHAT: + builder = new ChatHTMLBuilder(); + break; + case IEWM_TABSRMM: + builder = new TabSRMMHTMLBuilder(); + break; + case IEWM_SCRIVER: +// builder = new HistoryHTMLBuilder(); + builder = new ScriverHTMLBuilder(); + break; + case IEWM_HISTORY: + builder = new HistoryHTMLBuilder(); + break; + case IEWM_BROWSER: + builder = NULL; + break; + default: + builder = new ScriverHTMLBuilder(); + break; + } + IEView * view = new IEView(window->parent, builder, window->x, window->y, window->cx, window->cy); + window->hwnd = view->getHWND(); + } else if (window->iType == IEW_SETPOS) { + IEView * view = IEView::get(window->hwnd); + if (view!=NULL) { + view->setWindowPos(window->x, window->y, window->cx,window->cy); + } + } else if (window->iType == IEW_SCROLLBOTTOM) { + IEView * view = IEView::get(window->hwnd); + if (view!=NULL) { + view->scrollToBottom(); + } + } else if (window->iType == IEW_DESTROY) { + IEView * view = IEView::get(window->hwnd); + if (view!=NULL) { + delete view; + } + } + return 0; +} + +int HandleIEEvent(WPARAM wParam, LPARAM lParam) { + IEVIEWEVENT *event = (IEVIEWEVENT *) lParam; + IEView::init(); + Options::init(); + IEView * view = IEView::get(event->hwnd); + if (view != NULL) { + if (event->iType == IEE_LOG_DB_EVENTS) { + view->appendEventOld(event); + } else if (event->iType == IEE_CLEAR_LOG) { + view->clear(event); + } else if (event->iType == IEE_GET_SELECTION) { + return (int)view->getSelection(event); + } else if (event->iType == IEE_SAVE_DOCUMENT) { + view->saveDocument(); + } else if (event->iType == IEE_LOG_MEM_EVENTS) { + view->appendEvent(event); + } + } + return 0; +} + +int HandleIENavigate(WPARAM wParam, LPARAM lParam) { + IEVIEWNAVIGATE *navigate = (IEVIEWNAVIGATE *) lParam; + IEView::init(); + Options::init(); + IEView * view = IEView::get(navigate->hwnd); + if (view != NULL) { + if (navigate->iType == IEN_NAVIGATE) { + view->navigate(navigate); + } + } + return 0; +} -- cgit v1.2.3