diff options
author | George Hazan <ghazan@miranda.im> | 2018-05-17 20:51:37 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2018-05-17 20:51:37 +0300 |
commit | 7639f72273189df60566755c0d5f1e4ab7201b67 (patch) | |
tree | 94a51765449331befe968a90b48cbf08fa83e6ed /plugins/NotesAndReminders/src | |
parent | 523f3588b6f21adcc4bcf3ec3ffad05e2298863a (diff) |
NewAwaySys, NewEventNotify, NewXstatusNotify, NoHistory, NotesReminders, NotifyAnything, Nudge => CMPlugin
Diffstat (limited to 'plugins/NotesAndReminders/src')
-rw-r--r-- | plugins/NotesAndReminders/src/globals.h | 17 | ||||
-rw-r--r-- | plugins/NotesAndReminders/src/main.cpp | 77 | ||||
-rw-r--r-- | plugins/NotesAndReminders/src/notes.cpp | 6 | ||||
-rw-r--r-- | plugins/NotesAndReminders/src/reminders.cpp | 10 |
4 files changed, 57 insertions, 53 deletions
diff --git a/plugins/NotesAndReminders/src/globals.h b/plugins/NotesAndReminders/src/globals.h index c67ece2043..90c0003964 100644 --- a/plugins/NotesAndReminders/src/globals.h +++ b/plugins/NotesAndReminders/src/globals.h @@ -7,7 +7,6 @@ #include <time.h>
#include <richedit.h>
-#define __NO_CMPLUGIN_NEEDED
#include <win2k.h>
#include <newpluginapi.h>
#include <m_database.h>
@@ -29,6 +28,13 @@ #define MODULENAME "StickyNotes"
#define SECTIONNAME LPGEN("Notes & Reminders")
+struct CMPlugin : public PLUGIN<CMPlugin>
+{
+ CMPlugin() :
+ PLUGIN<CMPlugin>(MODULENAME)
+ {}
+};
+
// normal timer interval for reminder update processing
#define REMINDER_UPDATE_INTERVAL 10000
// short timer interval for reminder updates used as long as there are pending alarams in the event queue
@@ -40,7 +46,6 @@ #define NR_FONTID_BODY 1
#define NR_FONTID_MAX NR_FONTID_BODY
-
typedef struct {
HFONT hFont;
char size;
@@ -77,8 +82,8 @@ typedef struct { extern void CreateMsgWindow(void);
extern void DestroyMsgWindow(void);
-extern STICKYNOTE* NewNote(int Ax,int Ay,int Aw,int Ah,char *Data,
- ULARGE_INTEGER *ID,BOOL Visible,BOOL bOnTop,int scrollV);
+extern STICKYNOTE* NewNote(int Ax,int Ay,int Aw,int Ah,char *Data, ULARGE_INTEGER *ID,BOOL Visible,BOOL bOnTop,int scrollV);
+
extern void LoadNotes(BOOL bIsStartup);
extern void SaveNotes(void);
extern void DeleteNotes(void);
@@ -94,8 +99,7 @@ extern BOOL CheckRemindersAndStart(void); extern void InitSettings(void);
extern void TermSettings(void);
-extern INT_PTR CALLBACK DlgProcOptions(HWND hdlg,UINT message,
- WPARAM wParam,LPARAM lParam);
+extern INT_PTR CALLBACK DlgProcOptions(HWND hdlg,UINT message, WPARAM wParam,LPARAM lParam);
extern void LoadNRFont(int i, LOGFONT *lf, COLORREF *colour);
extern BOOL WS_Init();
@@ -104,7 +108,6 @@ extern void WS_CleanUp(); extern LPCSTR GetDateFormatStr();
extern LPCSTR GetTimeFormatStr();
-extern HINSTANCE hinstance;
extern HINSTANCE hmiranda;
extern BOOL g_CloseAfterAddReminder, g_UseDefaultPlaySound;
diff --git a/plugins/NotesAndReminders/src/main.cpp b/plugins/NotesAndReminders/src/main.cpp index f3d2c3af51..9f3cd465fe 100644 --- a/plugins/NotesAndReminders/src/main.cpp +++ b/plugins/NotesAndReminders/src/main.cpp @@ -1,7 +1,7 @@ #include "globals.h"
CLIST_INTERFACE *pcli;
-HINSTANCE hinstance = nullptr;
+CMPlugin g_plugin;
HINSTANCE hmiranda = nullptr;
int hLangpack;
@@ -15,6 +15,8 @@ HMODULE hRichedDll = nullptr; extern TREEELEMENT *g_Stickies;
extern TREEELEMENT *RemindersList;
+/////////////////////////////////////////////////////////////////////////////////////////
+
static PLUGININFOEX pluginInfo =
{
sizeof(PLUGININFOEX),
@@ -28,6 +30,12 @@ static PLUGININFOEX pluginInfo = {0x842a6668, 0xf9da, 0x4968, {0xbf, 0xd7, 0xd2, 0xbd, 0x9d, 0xf8, 0x48, 0xee}} // {842A6668-F9DA-4968-BFD7-D2BD9DF848EE}
};
+extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD)
+{
+ return &pluginInfo;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
void RegisterFontServiceFonts();
void RegisterKeyBindings();
@@ -110,14 +118,14 @@ IconItem iconList[] = void InitIcons(void)
{
- Icon_Register(hinstance, LPGEN("Sticky Notes"), iconList, _countof(iconList), MODULENAME);
+ Icon_Register(g_plugin.getInst(), LPGEN("Sticky Notes"), iconList, _countof(iconList), MODULENAME);
}
static int OnOptInitialise(WPARAM w, LPARAM)
{
OPTIONSDIALOGPAGE odp = { 0 };
odp.position = 900002000;
- odp.hInstance = hinstance;
+ odp.hInstance = g_plugin.getInst();
odp.pszTemplate = MAKEINTRESOURCEA(IDD_STNOTEOPTIONS);
odp.szTitle.a = SECTIONNAME;
odp.szGroup.a = LPGEN("Plugins");
@@ -259,41 +267,7 @@ int OnModulesLoaded(WPARAM, LPARAM) return 0;
}
-extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD)
-{
- return &pluginInfo;
-}
-
-extern "C" __declspec(dllexport) int Unload(void)
-{
- CloseNotesList();
- CloseReminderList();
- SaveNotes();
- SaveReminders();
- DestroyMsgWindow();
- WS_CleanUp();
- TermSettings();
-
- UnhookEvent(hkFontChange);
- UnhookEvent(hkColorChange);
-
- UnhookEvent(hkOptInit);
-
- IcoLib_ReleaseIcon(g_hReminderIcon);
- DeleteObject(hBodyFont);
- DeleteObject(hCaptionFont);
-
- if (hRichedDll)
- FreeLibrary(hRichedDll);
-
- return 0;
-}
-
-BOOL WINAPI DllMain(HINSTANCE hinst, DWORD, LPVOID)
-{
- hinstance = hinst;
- return TRUE;
-}
+/////////////////////////////////////////////////////////////////////////////////////////
extern "C" __declspec(dllexport) int Load(void)
{
@@ -321,3 +295,30 @@ extern "C" __declspec(dllexport) int Load(void) return 0;
}
+
+/////////////////////////////////////////////////////////////////////////////////////////
+
+extern "C" __declspec(dllexport) int Unload(void)
+{
+ CloseNotesList();
+ CloseReminderList();
+ SaveNotes();
+ SaveReminders();
+ DestroyMsgWindow();
+ WS_CleanUp();
+ TermSettings();
+
+ UnhookEvent(hkFontChange);
+ UnhookEvent(hkColorChange);
+
+ UnhookEvent(hkOptInit);
+
+ IcoLib_ReleaseIcon(g_hReminderIcon);
+ DeleteObject(hBodyFont);
+ DeleteObject(hCaptionFont);
+
+ if (hRichedDll)
+ FreeLibrary(hRichedDll);
+
+ return 0;
+}
diff --git a/plugins/NotesAndReminders/src/notes.cpp b/plugins/NotesAndReminders/src/notes.cpp index 2cfde03695..1f843c520c 100644 --- a/plugins/NotesAndReminders/src/notes.cpp +++ b/plugins/NotesAndReminders/src/notes.cpp @@ -898,7 +898,7 @@ static BOOL DoContextMenu(HWND AhWnd, WPARAM, LPARAM lParam) STICKYNOTE *SN = (STICKYNOTE*)GetProp(AhWnd, "ctrldata"); HMENU hMenuLoad, FhMenu, hSub; - hMenuLoad = LoadMenu(hinstance, "MNU_NOTEPOPUP"); + hMenuLoad = LoadMenu(g_plugin.getInst(), "MNU_NOTEPOPUP"); FhMenu = GetSubMenu(hMenuLoad, 0); if (SN->bOnTop) @@ -1688,7 +1688,7 @@ static BOOL DoListContextMenu(HWND AhWnd, WPARAM wParam, LPARAM lParam, STICKYNO if (hwndListView != GetDlgItem(AhWnd, IDC_LISTREMINDERS)) return FALSE; - HMENU hMenuLoad = LoadMenu(hinstance, "MNU_NOTELISTPOPUP"); + HMENU hMenuLoad = LoadMenu(g_plugin.getInst(), "MNU_NOTELISTPOPUP"); HMENU FhMenu = GetSubMenu(hMenuLoad, 0); MENUITEMINFO mii = { 0 }; @@ -1947,7 +1947,7 @@ static INT_PTR CALLBACK DlgProcViewNotes(HWND Dialog, UINT Message, WPARAM wPara void ListNotes(void) { if (!ListNotesVisible) { - CreateDialog(hinstance, MAKEINTRESOURCE(IDD_LISTREMINDERS), nullptr, DlgProcViewNotes); + CreateDialog(g_plugin.getInst(), MAKEINTRESOURCE(IDD_LISTREMINDERS), nullptr, DlgProcViewNotes); ListNotesVisible = TRUE; } else BringWindowToTop(LV); diff --git a/plugins/NotesAndReminders/src/reminders.cpp b/plugins/NotesAndReminders/src/reminders.cpp index 1b6b8854cc..e15415e8c4 100644 --- a/plugins/NotesAndReminders/src/reminders.cpp +++ b/plugins/NotesAndReminders/src/reminders.cpp @@ -1938,7 +1938,7 @@ INT_PTR OpenTriggeredReminder(WPARAM, LPARAM l) pReminder->RemVisible = TRUE;
- HWND H = CreateDialog(hinstance, MAKEINTRESOURCE(IDD_NOTIFYREMINDER), nullptr, DlgProcNotifyReminder);
+ HWND H = CreateDialog(g_plugin.getInst(), MAKEINTRESOURCE(IDD_NOTIFYREMINDER), nullptr, DlgProcNotifyReminder);
pReminder->handle = H;
mir_snprintf(S2, "%s! - %s", Translate("Reminder"), S1);
@@ -1957,7 +1957,7 @@ void NewReminder(void) {
if (!NewReminderVisible) {
NewReminderVisible = TRUE;
- CreateDialog(hinstance, MAKEINTRESOURCE(IDD_ADDREMINDER), nullptr, DlgProcNewReminder);
+ CreateDialog(g_plugin.getInst(), MAKEINTRESOURCE(IDD_ADDREMINDER), nullptr, DlgProcNewReminder);
}
}
@@ -1971,7 +1971,7 @@ void EditReminder(REMINDERDATA *p) p->RemVisible = TRUE;
NewReminderVisible = 2;
pEditReminder = p;
- CreateDialog(hinstance, MAKEINTRESOURCE(IDD_ADDREMINDER), nullptr, DlgProcNewReminder);
+ CreateDialog(g_plugin.getInst(), MAKEINTRESOURCE(IDD_ADDREMINDER), nullptr, DlgProcNewReminder);
}
else {
BringWindowToTop(p->handle);
@@ -2087,7 +2087,7 @@ static BOOL DoListContextMenu(HWND AhWnd, WPARAM wParam, LPARAM lParam, REMINDER {
HWND hwndListView = (HWND)wParam;
if (hwndListView != GetDlgItem(AhWnd, IDC_LISTREMINDERS)) return FALSE;
- HMENU hMenuLoad = LoadMenu(hinstance, "MNU_REMINDERPOPUP");
+ HMENU hMenuLoad = LoadMenu(g_plugin.getInst(), "MNU_REMINDERPOPUP");
HMENU FhMenu = GetSubMenu(hMenuLoad, 0);
MENUITEMINFO mii = { 0 };
@@ -2284,7 +2284,7 @@ static INT_PTR CALLBACK DlgProcViewReminders(HWND Dialog, UINT Message, WPARAM w void ListReminders(void)
{
if (!ListReminderVisible) {
- CreateDialog(hinstance, MAKEINTRESOURCE(IDD_LISTREMINDERS), nullptr, DlgProcViewReminders);
+ CreateDialog(g_plugin.getInst(), MAKEINTRESOURCE(IDD_LISTREMINDERS), nullptr, DlgProcViewReminders);
ListReminderVisible = TRUE;
}
else {
|