From cbe3cb21f5bca61a03bbd4ae811ee906e09b3f4f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 13 Jun 2015 16:55:17 +0000 Subject: - miranda32.exe now does nothing bug extends PATH to %miranda_root%\libs and loads mir_app.dll; - everything that was in miranda32.exe (including resources) moved to mir_app.dll; - exports from mir_app.dll now available for using directly, without perversions; - src/stdplug.h deleted; git-svn-id: http://svn.miranda-ng.org/main/trunk@14143 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/modules/extraicons/ExtraIconGroup.cpp | 217 ------------------------------ 1 file changed, 217 deletions(-) delete mode 100644 src/modules/extraicons/ExtraIconGroup.cpp (limited to 'src/modules/extraicons/ExtraIconGroup.cpp') diff --git a/src/modules/extraicons/ExtraIconGroup.cpp b/src/modules/extraicons/ExtraIconGroup.cpp deleted file mode 100644 index 26704a0cfa..0000000000 --- a/src/modules/extraicons/ExtraIconGroup.cpp +++ /dev/null @@ -1,217 +0,0 @@ -/* - -Copyright (C) 2009 Ricardo Pescuma Domenecci -Copyright (C) 2012-15 Miranda NG project - -This is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -This 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 -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with this file; see the file license.txt. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. -*/ - -#include "..\..\core\commonheaders.h" - -#include "extraicons.h" - -ExtraIconGroup::ExtraIconGroup(const char *_name) : - ExtraIcon(_name), setValidExtraIcon(false), insideApply(false), - items(1) -{ - db_set_resident(MODULE_NAME, _name); -} - -ExtraIconGroup::~ExtraIconGroup() -{ -} - -void ExtraIconGroup::addExtraIcon(BaseExtraIcon *extra) -{ - items.insert(extra); - - CMString description; - for (int i = 0; i < items.getCount(); i++) { - if (i > 0) - description += _T(" / "); - description += items[i]->getDescription(); - } - - tszDescription = mir_tstrdup(description); -} - -void ExtraIconGroup::rebuildIcons() -{ - for (int i = 0; i < items.getCount(); i++) - items[i]->rebuildIcons(); -} - -void ExtraIconGroup::applyIcon(MCONTACT hContact) -{ - if (!isEnabled() || hContact == NULL) - return; - - setValidExtraIcon = false; - - insideApply = true; - - int i; - for (i = 0; i < items.getCount(); i++) { - items[i]->applyIcon(hContact); - if (setValidExtraIcon) - break; - } - - insideApply = false; - - db_set_dw(hContact, MODULE_NAME, szName, setValidExtraIcon ? items[i]->getID() : 0); -} - -int ExtraIconGroup::getPosition() const -{ - int pos = INT_MAX; - for (int i = 0; i < items.getCount(); i++) - pos = MIN(pos, items[i]->getPosition()); - return pos; -} - -void ExtraIconGroup::setSlot(int slot) -{ - ExtraIcon::setSlot(slot); - - for (int i = 0; i < items.getCount(); i++) - items[i]->setSlot(slot); -} - -ExtraIcon * ExtraIconGroup::getCurrentItem(MCONTACT hContact) const -{ - int id = (int)db_get_dw(hContact, MODULE_NAME, szName, 0); - if (id < 1) - return NULL; - - for (int i = 0; i < items.getCount(); i++) - if (id == items[i]->getID()) - return items[i]; - - return NULL; -} - -void ExtraIconGroup::onClick(MCONTACT hContact) -{ - ExtraIcon *extra = getCurrentItem(hContact); - if (extra != NULL) - extra->onClick(hContact); -} - -int ExtraIconGroup::setIcon(int id, MCONTACT hContact, HANDLE value) -{ - return internalSetIcon(id, hContact, (void*)value, false); -} - -int ExtraIconGroup::setIconByName(int id, MCONTACT hContact, const char *value) -{ - return internalSetIcon(id, hContact, (void*)value, true); -} - -int ExtraIconGroup::internalSetIcon(int id, MCONTACT hContact, void *value, bool bByName) -{ - if (insideApply) { - for (int i=0; i < items.getCount(); i++) - if (items[i]->getID() == id) { - if (bByName) - return items[i]->setIconByName(id, hContact, (const char*)value); - return items[i]->setIcon(id, hContact, (HANDLE)value); - } - - return -1; - } - - ExtraIcon *current = getCurrentItem(hContact); - int currentPos = items.getCount(); - int storePos = items.getCount(); - for (int i=0; i < items.getCount(); i++) { - if (items[i]->getID() == id) - storePos = i; - - if (items[i] == current) - currentPos = i; - } - - if (storePos == items.getCount()) - return -1; - - if (storePos > currentPos) { - items[storePos]->storeIcon(hContact, value); - return 0; - } - - // Ok, we have to set the icon, but we have to assert it is a valid icon - - setValidExtraIcon = false; - - int ret; - if (bByName) - ret = items[storePos]->setIconByName(id, hContact, (const char*)value); - else - ret = items[storePos]->setIcon(id, hContact, (HANDLE)value); - - if (storePos < currentPos) { - if (setValidExtraIcon) - db_set_dw(hContact, MODULE_NAME, szName, items[storePos]->getID()); - } - else if (storePos == currentPos) { - if (!setValidExtraIcon) { - db_set_dw(hContact, MODULE_NAME, szName, 0); - - insideApply = true; - - for (++storePos; storePos < items.getCount(); ++storePos) { - items[storePos]->applyIcon(hContact); - if (setValidExtraIcon) - break; - } - - insideApply = false; - - if (setValidExtraIcon && storePos < items.getCount()) - db_set_dw(hContact, MODULE_NAME, szName, items[storePos]->getID()); - } - } - - return ret; -} - -const TCHAR *ExtraIconGroup::getDescription() const -{ - return tszDescription; -} - -const char *ExtraIconGroup::getDescIcon() const -{ - for (int i = 0; i < items.getCount(); i++) - if (!IsEmpty(items[i]->getDescIcon())) - return items[i]->getDescIcon(); - - return ""; -} - -int ExtraIconGroup::getType() const -{ - return EXTRAICON_TYPE_GROUP; -} - -int ExtraIconGroup::ClistSetExtraIcon(MCONTACT hContact, HANDLE hImage) -{ - if (hImage != INVALID_HANDLE_VALUE) - setValidExtraIcon = true; - - return Clist_SetExtraIcon(hContact, slot, hImage); -} -- cgit v1.2.3