summaryrefslogtreecommitdiff
path: root/plugins/Bonsai/list.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Bonsai/list.cpp')
-rw-r--r--plugins/Bonsai/list.cpp228
1 files changed, 0 insertions, 228 deletions
diff --git a/plugins/Bonsai/list.cpp b/plugins/Bonsai/list.cpp
deleted file mode 100644
index a7ce5c1033..0000000000
--- a/plugins/Bonsai/list.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
-Bonsai plugin for Miranda IM
-
-Copyright © 2006 Cristian Libotean
-
-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 "list.h"
-
-COptionsList &lstPluginOptions = COptionsList();
-
-COptionsList::COptionsList(int initialCapacity)
-{
- _plugins = NULL;
- _count = 0;
- _capacity = 0;
-
- Enlarge(initialCapacity);
-}
-
-COptionsList::~COptionsList()
-{
- Clear();
- free(_plugins);
-}
-
-void COptionsList::Clear()
-{
- int i;
- for (i = 0; i < Count(); i++)
- {
- delete _plugins[i];
- }
- _count = 0;
-}
-
-int COptionsList::Count() const
-{
- return _count;
-}
-
-int COptionsList::Capacity() const
-{
- return _capacity;
-}
-
-void COptionsList::EnsureCapacity()
-{
- if (_count >= _capacity)
- {
- Enlarge(_capacity / 2);
- }
-}
-
-void COptionsList::Enlarge(int increaseAmount)
-{
- int newSize = _capacity + increaseAmount;
- _plugins = (PPluginOptions *) realloc(_plugins, newSize * sizeof(PPluginOptions));
- _capacity = newSize;
-}
-
-int COptionsList::Contains(const WCHAR *plugin, const WCHAR *group, const WCHAR *title) const
-{
- int pos = Index(plugin, group, title);
- return (pos >= 0);
-}
-
-int COptionsList::Index(const WCHAR *plugin, const WCHAR *group, const WCHAR *title) const
-{
- int i;
- DWORD hPlugin = LangPackHashW(plugin);
- DWORD hGroup = LangPackHashW(group);
- DWORD hTitle = LangPackHashW(title);
- PPluginOptions p;
-
- for (i = 0; i < Count(); i++)
- {
- p = _plugins[i];
- if ((hPlugin == p->pluginHash) && (hGroup == p->groupHash) && (hTitle == p->titleHash))
- {
- return i;
- }
- }
-
- return -1;
-}
-
-int COptionsList::Add(const WCHAR *plugin, const WCHAR *group, const WCHAR *title)
-{
- int pos = Index(plugin, group, title);
- if (pos < 0)
- {
- EnsureCapacity();
-
- PPluginOptions s = new TPluginOptions(plugin, group, title, LangPackHashW(plugin), LangPackHashW(group), LangPackHashW(title));
- _plugins[_count++] = s;
- if (hOptDlg)
- {
- SendMessage(hOptDlg, FOM_UPDATEPLUGINS, 0, 0);
- }
- pos = _count - 1;
- }
-
- return pos;
-}
-
-int COptionsList::Remove(int index)
-{
- if ((index < 0) && (index >= Count()))
- {
- return 1;
- }
-
- int i;
- PPluginOptions tmp = _plugins[index];
- for (i = index; i < _count - 1; i++)
- {
- _plugins[i] = _plugins[i + 1];
- }
- _count--;
- delete tmp;
-
- return 0;
-}
-
-const PPluginOptions COptionsList::operator [](int index)
-{
- if ((index < 0) || (index >= Count()))
- {
- return NULL;
- }
-
- return _plugins[index];
-}
-
-char *BuildPluginUniqueID(PPluginOptions plugin, char *out, int size, int type)
-{
- mir_snprintf(out, size, "%lu-%lu-%lu-%s", plugin->pluginHash, plugin->groupHash, plugin->titleHash, (type == ID_GROUP) ? "G" : "T");
-
- return out;
-}
-
-WCHAR *GetPluginGroup(PPluginOptions plugin, WCHAR *group, int count)
-{
- char name[256];
- WCHAR *res = plugin->szGroup;
-
- BuildPluginUniqueID(plugin, name, 256, ID_GROUP);
-
- GetStringFromDatabase(name, plugin->szGroup, group, count);
- res = (wcslen(group) == 0) ? NULL : group;
-
- return res;
-}
-
-WCHAR *GetPluginTitle(PPluginOptions plugin, WCHAR *title, int count)
-{
- char name[256];
- WCHAR *res = plugin->szTitle;
-
- BuildPluginUniqueID(plugin, name, 256, ID_TITLE);
-
- GetStringFromDatabase(name, plugin->szTitle, title, count);
- res = (wcslen(title) == 0) ? NULL : title;
-
- return res;
-}
-
-void SavePluginGroup(PPluginOptions plugin, WCHAR *newGroup)
-{
- char name[256];
- int del = 0;
-
- BuildPluginUniqueID(plugin, name, 256, ID_GROUP);
-
- if (plugin->szGroup)
- {
- del = (wcscmp(plugin->szGroup, newGroup) == 0) ? 1 : 0;
- }
- else{
- del = ((!newGroup) || (wcslen(newGroup) == 0)) ? 1 : 0;
- }
-
- if (del)
- {
- DBDeleteContactSetting(NULL, ModuleName, name);
- }
- else{
- DBWriteContactSettingWString(NULL, ModuleName, name, newGroup);
- }
-}
-
-void SavePluginTitle(PPluginOptions plugin, WCHAR *newTitle)
-{
- char name[256];
- int del = 0;
-
- BuildPluginUniqueID(plugin, name, sizeof(name), ID_TITLE);
-
- if (plugin->szTitle)
- {
- del = (wcscmp(plugin->szTitle, newTitle) == 0) ? 1 : 0;
- }
- else{
- del = ((!newTitle) || (wcslen(newTitle)) == 0) ? 1 : 0;
- }
-
- if (del)
- {
- DBDeleteContactSetting(NULL, ModuleName, name);
- }
- else{
- DBWriteContactSettingWString(NULL, ModuleName, name, newTitle);
- }
-} \ No newline at end of file