diff options
author | George Hazan <ghazan@miranda.im> | 2020-07-10 15:54:20 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2020-07-10 15:54:20 +0300 |
commit | 7dddb66b003f830035dd9364da563477204e7ae1 (patch) | |
tree | d008524c33290c664af819de79ce1fe27563d066 | |
parent | 5c1528b948c86b1fee540d4ede4e231dcfcdb718 (diff) |
NoHistory: option added to enable history removal for newly added contacts
-rw-r--r-- | plugins/NoHistory/src/dllmain.cpp | 14 | ||||
-rw-r--r-- | plugins/NoHistory/src/options.cpp | 393 | ||||
-rw-r--r-- | plugins/NoHistory/src/stdafx.h | 3 | ||||
-rw-r--r-- | plugins/NoHistory/src/version.h | 14 |
4 files changed, 213 insertions, 211 deletions
diff --git a/plugins/NoHistory/src/dllmain.cpp b/plugins/NoHistory/src/dllmain.cpp index 4f51522157..c0e80b7676 100644 --- a/plugins/NoHistory/src/dllmain.cpp +++ b/plugins/NoHistory/src/dllmain.cpp @@ -41,7 +41,8 @@ PLUGININFOEX pluginInfoEx = };
CMPlugin::CMPlugin() :
- PLUGIN<CMPlugin>(MODULENAME, pluginInfoEx)
+ PLUGIN<CMPlugin>(MODULENAME, pluginInfoEx),
+ bEnabledForNew(MODULENAME, "EnabledForNew", true)
{}
/////////////////////////////////////////////////////////////////////////////////////////
@@ -198,8 +199,18 @@ int IconPressed(WPARAM hContact, LPARAM lParam) return 0;
}
+/////////////////////////////////////////////////////////////////////////////////////////
+// add default setting for new contacts
+static int OnContactAdded(WPARAM hContact, LPARAM)
+{
+ g_plugin.setByte(hContact, DBSETTING_REMOVE, g_plugin.bEnabledForNew);
+ return 0;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
// add icon to srmm status icons
+
void SrmmMenu_Load()
{
StatusIconData sid = {};
@@ -256,6 +267,7 @@ int CMPlugin::Load() InitIcons();
HookEvent(ME_CLIST_PREBUILDCONTACTMENU, PrebuildContactMenu);
+ HookEvent(ME_DB_CONTACT_ADDED, OnContactAdded);
HookEvent(ME_DB_EVENT_ADDED, OnDatabaseEventAdd);
HookEvent(ME_OPT_INITIALISE, OptInit);
HookEvent(ME_SYSTEM_MODULESLOADED, ModulesLoaded);
diff --git a/plugins/NoHistory/src/options.cpp b/plugins/NoHistory/src/options.cpp index 92944f174f..f34b580395 100644 --- a/plugins/NoHistory/src/options.cpp +++ b/plugins/NoHistory/src/options.cpp @@ -1,232 +1,219 @@ #include "stdafx.h"
-static void SetListGroupIcons(HWND hwndList, HANDLE hFirstItem, HANDLE hParentItem, int *groupChildCount)
+class CDlgOptionsDlg : public CDlgBase
{
- int iconOn = 1;
- int childCount = 0;
- int iImage;
- HANDLE hItem;
-
- int typeOfFirst = SendMessage(hwndList, CLM_GETITEMTYPE, (WPARAM)hFirstItem, 0);
-
- //check groups
- if (typeOfFirst == CLCIT_GROUP)
- hItem = hFirstItem;
- else
- hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_NEXTGROUP, (LPARAM)hFirstItem);
- while (hItem) {
- HANDLE hChildItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_CHILD, (LPARAM)hItem);
- if (hChildItem)
- SetListGroupIcons(hwndList, hChildItem, hItem, &childCount);
- if (iconOn && SendMessage(hwndList, CLM_GETEXTRAIMAGE, (WPARAM)hItem, 0) == 0)
- iconOn = 0;
- hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_NEXTGROUP, (LPARAM)hItem);
- }
+ HANDLE hItemAll, hItemNew;
+
+ CCtrlClc clist;
+
+ void SetListGroupIcons(HANDLE hFirstItem, HANDLE hParentItem, int *groupChildCount = nullptr)
+ {
+ int iconOn = 1;
+ int childCount = 0;
+
+ int typeOfFirst = clist.GetItemType(hFirstItem);
+
+ // check groups
+ HANDLE hItem = (typeOfFirst == CLCIT_GROUP) ? hFirstItem : clist.GetNextItem(hFirstItem, CLGN_NEXTGROUP);
+ while (hItem) {
+ HANDLE hChildItem = clist.GetNextItem(hItem, CLGN_CHILD);
+ if (hChildItem)
+ SetListGroupIcons(hChildItem, hItem, &childCount);
+ if (iconOn && clist.GetExtraImage(hItem, 0) == 0)
+ iconOn = 0;
+ hItem = clist.GetNextItem(hItem, CLGN_NEXTGROUP);
+ }
- //check contacts
- if (typeOfFirst == CLCIT_CONTACT)
- hItem = hFirstItem;
- else
- hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_NEXTCONTACT, (LPARAM)hFirstItem);
- while (hItem) {
- iImage = SendMessage(hwndList, CLM_GETEXTRAIMAGE, (WPARAM)hItem, 0);
- if (iconOn && iImage == 0)
- iconOn = 0;
- if (iImage != EMPTY_EXTRA_ICON)
- childCount++;
- hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_NEXTCONTACT, (LPARAM)hItem);
- }
- //set icons
- SendMessage(hwndList, CLM_SETEXTRAIMAGE, (WPARAM)hParentItem, MAKELPARAM(0, childCount ? (iconOn ? 1 : 0) : EMPTY_EXTRA_ICON));
- if (groupChildCount)
- *groupChildCount += childCount;
-}
+ // check contacts
+ hItem = (typeOfFirst == CLCIT_CONTACT) ? hFirstItem : clist.GetNextItem(hFirstItem, CLGN_NEXTCONTACT);
+ while (hItem) {
+ int iImage = clist.GetExtraImage(hItem, 0);
+ if (iconOn && iImage == 0)
+ iconOn = 0;
+ if (iImage != EMPTY_EXTRA_ICON)
+ childCount++;
+ hItem = clist.GetNextItem(hItem, CLGN_NEXTCONTACT);
+ }
-static void SetAllChildIcons(HWND hwndList, HANDLE hFirstItem, int iColumn, int iImage)
-{
- HANDLE hItem;
-
- int typeOfFirst = SendMessage(hwndList, CLM_GETITEMTYPE, (WPARAM)hFirstItem, 0);
- //check groups
- if (typeOfFirst == CLCIT_GROUP) hItem = hFirstItem;
- else hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_NEXTGROUP, (LPARAM)hFirstItem);
- while (hItem) {
- HANDLE hChildItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_CHILD, (LPARAM)hItem);
- if (hChildItem)
- SetAllChildIcons(hwndList, hChildItem, iColumn, iImage);
- hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_NEXTGROUP, (LPARAM)hItem);
+ // set icons
+ clist.SetExtraImage(hParentItem, 0, childCount ? (iconOn ? 1 : 0) : EMPTY_EXTRA_ICON);
+ if (groupChildCount)
+ *groupChildCount += childCount;
}
- //check contacts
- if (typeOfFirst == CLCIT_CONTACT)
- hItem = hFirstItem;
- else
- hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_NEXTCONTACT, (LPARAM)hFirstItem);
-
- while (hItem) {
- int iOldIcon = SendMessage(hwndList, CLM_GETEXTRAIMAGE, (WPARAM)hItem, iColumn);
- if (iOldIcon != EMPTY_EXTRA_ICON && iOldIcon != iImage)
- SendMessage(hwndList, CLM_SETEXTRAIMAGE, (WPARAM)hItem, MAKELPARAM(iColumn, iImage));
- hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_NEXTCONTACT, (LPARAM)hItem);
- }
-}
-static void ResetListOptions(HWND hwndList)
-{
- SetWindowLongPtr(hwndList, GWL_STYLE, GetWindowLongPtr(hwndList, GWL_STYLE) | CLS_SHOWHIDDEN);
-}
+ void SetAllChildIcons(HANDLE hFirstItem, int iColumn, int iImage)
+ {
+ int typeOfFirst = clist.GetItemType(hFirstItem);
+ // check groups
+ HANDLE hItem = (typeOfFirst == CLCIT_GROUP) ? hFirstItem : clist.GetNextItem(hFirstItem, CLGN_NEXTGROUP);
+ while (hItem) {
+ HANDLE hChildItem = clist.GetNextItem(hItem, CLGN_CHILD);
+ if (hChildItem)
+ SetAllChildIcons(hChildItem, iColumn, iImage);
+ hItem = clist.GetNextItem(hItem, CLGN_NEXTGROUP);
+ }
+
+ // check contacts
+ hItem = (typeOfFirst == CLCIT_CONTACT) ? hFirstItem : clist.GetNextItem(hFirstItem, CLGN_NEXTCONTACT);
+ while (hItem) {
+ int iOldIcon = clist.GetExtraImage(hItem, iColumn);
+ if (iOldIcon != EMPTY_EXTRA_ICON && iOldIcon != iImage)
+ clist.SetExtraImage(hItem, iColumn, iImage);
+ hItem = clist.GetNextItem(hItem, CLGN_NEXTCONTACT);
+ }
+ }
-static void SetAllContactIcons(HWND hwndList)
-{
- for (auto &hContact : Contacts()) {
- char *proto = Proto_GetBaseAccountName(hContact);
- bool chat_room = (proto && db_get_b(hContact, proto, "ChatRoom", 0) != 0);
-
- if (!chat_room) {
- HANDLE hItem = (HANDLE)SendMessage(hwndList, CLM_FINDCONTACT, hContact, 0);
- if (hItem) {
- bool disabled = (g_plugin.getByte(hContact, DBSETTING_REMOVE) == 1);
- SendMessage(hwndList, CLM_SETEXTRAIMAGE, (WPARAM)hItem, MAKELPARAM(0, disabled ? 1 : 0));
+ void SetAllContactIcons()
+ {
+ for (auto &hContact : Contacts()) {
+ char *proto = Proto_GetBaseAccountName(hContact);
+ bool chat_room = (proto && db_get_b(hContact, proto, "ChatRoom", 0) != 0);
+
+ if (!chat_room) {
+ HANDLE hItem = clist.FindContact(hContact);
+ if (hItem) {
+ bool disabled = (g_plugin.getByte(hContact, DBSETTING_REMOVE) == 1);
+ clist.SetExtraImage(hItem, 0, disabled ? 1 : 0);
+ }
}
}
}
-}
-static INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- static HANDLE hItemAll;
- static HWND hwndList;
-
- switch (msg) {
- case WM_INITDIALOG:
- TranslateDialogDefault(hwndDlg);
- hwndList = GetDlgItem(hwndDlg, IDC_LIST);
- {
- HIMAGELIST hIml = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 2, 2);
- g_plugin.addImgListIcon(hIml, IDI_HKEEP);
- g_plugin.addImgListIcon(hIml, IDI_HREMOVE);
- SendMessage(hwndList, CLM_SETEXTRAIMAGELIST, 0, (LPARAM)hIml);
-
- SendDlgItemMessage(hwndDlg, IDC_PIC_KEEP, STM_SETICON, (WPARAM)g_plugin.getIcon(IDI_HKEEP), 0);
- SendDlgItemMessage(hwndDlg, IDC_PIC_REMOVE, STM_SETICON, (WPARAM)g_plugin.getIcon(IDI_HREMOVE), 0);
- }
- ResetListOptions(hwndList);
- SendMessage(hwndList, CLM_SETEXTRACOLUMNS, 1, 0);
- {
- CLCINFOITEM cii = { sizeof(cii) };
- cii.flags = CLCIIF_GROUPFONT;
- cii.pszText = TranslateT("** All contacts **");
- hItemAll = (HANDLE)SendMessage(hwndList, CLM_ADDINFOITEM, 0, (LPARAM)&cii);
- }
+public:
+ CDlgOptionsDlg() :
+ CDlgBase(g_plugin, IDD_OPT),
+ clist(this, IDC_LIST)
+ {
+ clist.OnNewContact = clist.OnListRebuilt = Callback(this, &CDlgOptionsDlg::onListRebuilt);
+ clist.OnOptionsChanged = Callback(this, &CDlgOptionsDlg::onOptionsChanged);
+ clist.OnContactMoved = Callback(this, &CDlgOptionsDlg::onContactMoved);
+ clist.OnClick = Callback(this, &CDlgOptionsDlg::onClick);
+ }
- SetAllContactIcons(hwndList);
- SetListGroupIcons(hwndList, (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_ROOT, 0), hItemAll, nullptr);
-
- SendDlgItemMessage(hwndDlg, IDC_SPN_TIMEOUT, UDM_SETRANGE, 0, (LPARAM)MAKELONG(60 * 60, 1));
- return FALSE;
-
- case WM_SETFOCUS:
- SetFocus(hwndList);
- break;
-
- case WM_COMMAND:
- if (HIWORD(wParam) == EN_CHANGE && (HWND)lParam == GetFocus())
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- break;
-
- case WM_NOTIFY:
- switch (((LPNMHDR)lParam)->idFrom) {
- case IDC_LIST:
- switch (((LPNMHDR)lParam)->code) {
- case CLN_NEWCONTACT:
- case CLN_LISTREBUILT:
- SetAllContactIcons(hwndList);
- //fall through
- case CLN_CONTACTMOVED:
- SetListGroupIcons(hwndList, (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_ROOT, 0), hItemAll, nullptr);
- break;
-
- case CLN_OPTIONSCHANGED:
- ResetListOptions(hwndList);
- break;
-
- case NM_CLICK:
- // Make sure we have an extra column
- NMCLISTCONTROL *nm = (NMCLISTCONTROL*)lParam;
- if (nm->iColumn == -1)
- break;
-
- // Find clicked item
- DWORD hitFlags;
- HANDLE hItem = (HANDLE)SendMessage(hwndList, CLM_HITTEST, (WPARAM)&hitFlags, MAKELPARAM(nm->pt.x, nm->pt.y));
- if (hItem == nullptr || !(hitFlags & CLCHT_ONITEMEXTRA))
- break;
-
- // Get image in clicked column (0=none, 1=visible, 2=invisible)
- int iImage = SendMessage(hwndList, CLM_GETEXTRAIMAGE, (WPARAM)hItem, MAKELPARAM(nm->iColumn, 0));
- if (iImage == 0)
- iImage = nm->iColumn + 1;
- else if (iImage == 1)
- iImage = 0;
-
- // Update list, making sure that the options are mutually exclusive
- switch (SendMessage(hwndList, CLM_GETITEMTYPE, (WPARAM)hItem, 0)) {
- case CLCIT_CONTACT:
- SendMessage(hwndList, CLM_SETEXTRAIMAGE, (WPARAM)hItem, MAKELPARAM(nm->iColumn, iImage));
- break;
- case CLCIT_INFO: // All Contacts
- SetAllChildIcons(hwndList, hItem, nm->iColumn, iImage);
- break;
- case CLCIT_GROUP:
- hItem = (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_CHILD, (LPARAM)hItem);
- if (hItem)
- SetAllChildIcons(hwndList, hItem, nm->iColumn, iImage);
- }
- // Update the all/none icons
- SetListGroupIcons(hwndList, (HANDLE)SendMessage(hwndList, CLM_GETNEXTITEM, CLGN_ROOT, 0), hItemAll, nullptr);
+ bool OnInitDialog() override
+ {
+ HIMAGELIST hIml = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 2, 2);
+ g_plugin.addImgListIcon(hIml, IDI_HKEEP);
+ g_plugin.addImgListIcon(hIml, IDI_HREMOVE);
+ clist.SetExtraImageList(hIml);
- // Activate Apply button
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- }
- break;
+ SendDlgItemMessage(m_hwnd, IDC_PIC_KEEP, STM_SETICON, (WPARAM)g_plugin.getIcon(IDI_HKEEP), 0);
+ SendDlgItemMessage(m_hwnd, IDC_PIC_REMOVE, STM_SETICON, (WPARAM)g_plugin.getIcon(IDI_HREMOVE), 0);
- case 0:
- switch (((LPNMHDR)lParam)->code) {
- case PSN_APPLY:
- for (auto &hContact : Contacts()) {
- char *proto = Proto_GetBaseAccountName(hContact);
- bool chat_room = (proto && db_get_b(hContact, proto, "ChatRoom", 0) != 0);
-
- if (!chat_room) {
- HANDLE hItem = (HANDLE)SendMessage(hwndList, CLM_FINDCONTACT, hContact, 0);
- if (hItem) {
- int iImage = SendMessage(hwndList, CLM_GETEXTRAIMAGE, (WPARAM)hItem, MAKELPARAM(0, 0));
- g_plugin.setByte(hContact, DBSETTING_REMOVE, iImage == 1);
- }
- }
+ onOptionsChanged(0);
+ clist.SetExtraColumns(1);
+
+ CLCINFOITEM cii = { sizeof(cii) };
+ cii.flags = CLCIIF_GROUPFONT;
+
+ cii.pszText = TranslateT("** All contacts **");
+ hItemAll = clist.AddInfoItem(&cii);
+
+ cii.pszText = TranslateT("** New contacts **");
+ hItemNew = clist.AddInfoItem(&cii);
+ clist.SetExtraImage(hItemNew, 0, g_plugin.bEnabledForNew);
+
+ onListRebuilt(0);
+ SetFocus(clist.GetHwnd());
+
+ SendDlgItemMessage(m_hwnd, IDC_SPN_TIMEOUT, UDM_SETRANGE, 0, (LPARAM)MAKELONG(60 * 60, 1));
+ return true;
+ }
+
+ bool OnApply() override
+ {
+ g_plugin.bEnabledForNew = clist.GetExtraImage(hItemNew, 0);
+
+ for (auto &hContact : Contacts()) {
+ char *proto = Proto_GetBaseAccountName(hContact);
+ bool chat_room = (proto && db_get_b(hContact, proto, "ChatRoom", 0) != 0);
+
+ if (!chat_room) {
+ HANDLE hItem = clist.FindContact(hContact);
+ if (hItem) {
+ int iImage = clist.GetExtraImage(hItem, 0);
+ g_plugin.setByte(hContact, DBSETTING_REMOVE, iImage == 1);
}
- return TRUE;
}
}
- break;
+ return true;
+ }
- case WM_DESTROY:
- ImageList_Destroy((HIMAGELIST)SendMessage(hwndList, CLM_GETEXTRAIMAGELIST, 0, 0));
- break;
+ void OnDestroy() override
+ {
+ ImageList_Destroy(clist.GetExtraImageList());
}
- return 0;
-}
+ void onListRebuilt(CCtrlClc::TEventInfo *)
+ {
+ SetAllContactIcons();
+ SetListGroupIcons(clist.GetNextItem(CLGN_ROOT, 0), hItemAll);
+ }
+
+ void onOptionsChanged(CCtrlClc::TEventInfo *)
+ {
+ SetWindowLongPtr(clist.GetHwnd(), GWL_STYLE, GetWindowLongPtr(clist.GetHwnd(), GWL_STYLE) | CLS_SHOWHIDDEN | CLS_HIDEEMPTYGROUPS);
+ }
+
+ void onContactMoved(CCtrlClc::TEventInfo *)
+ {
+ SetListGroupIcons(clist.GetNextItem(CLGN_ROOT, 0), hItemAll);
+ }
+
+ void onClick(CCtrlClc::TEventInfo *ev)
+ {
+ // Make sure we have an extra column
+ NMCLISTCONTROL *nm = ev->info;
+ if (nm->iColumn == -1)
+ return;
+
+ // Find clicked item
+ DWORD hitFlags;
+ HANDLE hItem = clist.HitTest(nm->pt.x, nm->pt.y, &hitFlags);
+ if (hItem == nullptr || !(hitFlags & CLCHT_ONITEMEXTRA))
+ return;
+
+ // Get image in clicked column
+ int iImage = clist.GetExtraImage(hItem, 0);
+ if (iImage == 0)
+ iImage = 0 + 1;
+ else if (iImage == 1)
+ iImage = 0;
+
+ // Update list, making sure that the options are mutually exclusive
+ switch (clist.GetItemType(hItem)) {
+ case CLCIT_CONTACT:
+ clist.SetExtraImage(hItem, 0, iImage);
+ break;
+ case CLCIT_INFO:
+ if (hItem == hItemAll)
+ SetAllChildIcons(hItem, 0, iImage);
+ else
+ clist.SetExtraImage(hItem, 0, iImage);
+ break;
+ case CLCIT_GROUP:
+ hItem = clist.GetNextItem(hItem, CLGN_CHILD);
+ if (hItem)
+ SetAllChildIcons(hItem, 0, iImage);
+ }
+
+ // Update the all/none icons
+ SetListGroupIcons(clist.GetNextItem(CLGN_ROOT, 0), hItemAll);
+
+ // Activate Apply button
+ NotifyChange();
+ }
+};
int OptInit(WPARAM wParam, LPARAM)
{
OPTIONSDIALOGPAGE odp = {};
- odp.flags = ODPF_BOLDGROUPS | ODPF_UNICODE;
+ odp.flags = ODPF_BOLDGROUPS;
odp.position = -790000000;
- odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT);
- odp.szTitle.w = LPGENW("No History");
- odp.szGroup.w = LPGENW("History");
- odp.szTab.w = LPGENW("Logging");
- odp.pfnDlgProc = DlgProcOpts;
+ odp.szGroup.a = LPGEN("History");
+ odp.szTitle.a = LPGEN("No History");
+ odp.szTab.a = LPGEN("Logging");
+ odp.pDialog = new CDlgOptionsDlg();
g_plugin.addOptions(wParam, &odp);
return 0;
}
diff --git a/plugins/NoHistory/src/stdafx.h b/plugins/NoHistory/src/stdafx.h index 5da0cb63ac..82ca708c8a 100644 --- a/plugins/NoHistory/src/stdafx.h +++ b/plugins/NoHistory/src/stdafx.h @@ -9,6 +9,7 @@ #include <m_database.h>
#include <m_clist.h>
#include <m_clc.h>
+#include <m_gui.h>
#include <m_langpack.h>
#include <m_protocols.h>
#include <m_options.h>
@@ -29,6 +30,8 @@ struct CMPlugin : public PLUGIN<CMPlugin> {
CMPlugin();
+ CMOption<bool> bEnabledForNew;
+
int Load() override;
int Unload() override;
};
diff --git a/plugins/NoHistory/src/version.h b/plugins/NoHistory/src/version.h index dfe53dd546..0b1d605720 100644 --- a/plugins/NoHistory/src/version.h +++ b/plugins/NoHistory/src/version.h @@ -1,13 +1,13 @@ -#define __MAJOR_VERSION 0 -#define __MINOR_VERSION 2 +#define __MAJOR_VERSION 0 +#define __MINOR_VERSION 2 #define __RELEASE_NUM 3 -#define __BUILD_NUM 0 +#define __BUILD_NUM 1 #include <stdver.h> #define __PLUGIN_NAME "NoHistory" #define __FILENAME "NoHistory.dll" -#define __DESCRIPTION "Prevent Miranda from storing any history." -#define __AUTHOR "Scott Ellis, NightFox" -#define __AUTHORWEB "https://miranda-ng.org/p/NoHistory/" -#define __COPYRIGHT "© 2005 Scott Ellis, 2010-17 NightFox, 2017-20 Miranda NG team" +#define __DESCRIPTION "Prevent Miranda from storing any history." +#define __AUTHOR "Scott Ellis, NightFox" +#define __AUTHORWEB "https://miranda-ng.org/p/NoHistory/" +#define __COPYRIGHT "© 2005 Scott Ellis, 2010-17 NightFox, 2017-20 Miranda NG team" |