diff options
author | George Hazan <ghazan@miranda.im> | 2017-03-24 15:38:17 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2017-03-24 15:38:17 +0300 |
commit | e84bafdd3f3d2eb67e10a9bd3fbe600748962b6f (patch) | |
tree | 1b563061e473ef8bbe62b86821da21c319cca2c5 /plugins/TabSRMM/src/chat_main.cpp | |
parent | aa55162ab85df5aa0ac6b87711bfee222b3222dd (diff) |
revolution in chat menus
- common code moved to the core (Chat_CreateGCMenu, Chat_DestroyGCMenu);
- ability added to any plugin to add its own items into any GC menu, not only to the protocol plugins
to do that a plugin calls Chat_AddMenuItems and returns 0 to allow any other plugin to process menu hook
Diffstat (limited to 'plugins/TabSRMM/src/chat_main.cpp')
-rw-r--r-- | plugins/TabSRMM/src/chat_main.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/plugins/TabSRMM/src/chat_main.cpp b/plugins/TabSRMM/src/chat_main.cpp index 626c5aea5c..bbc0162b93 100644 --- a/plugins/TabSRMM/src/chat_main.cpp +++ b/plugins/TabSRMM/src/chat_main.cpp @@ -206,6 +206,22 @@ static void CheckUpdate() db_set_b(0, "Compatibility", "TabChatFonts", 3);
}
+/////////////////////////////////////////////////////////////////////////////////////////
+
+static gc_item tabItems[] =
+{
+ { TranslateT("Highlight user..."), 20020, MENU_ITEM }
+};
+
+static int OnCreateGCMenu(WPARAM, LPARAM lParam)
+{
+ GCMENUITEMS *gcitems = (GCMENUITEMS*)lParam;
+ if (gcitems->Type == MENU_ON_NICKLIST)
+ Chat_AddMenuItems(gcitems->hMenu, _countof(tabItems), tabItems);
+
+ return 0;
+}
+
// load the module
int Chat_Load()
{
@@ -239,6 +255,7 @@ int Chat_Load() g_hMenu = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_MENU));
+ HookEvent(ME_GC_BUILDMENU, OnCreateGCMenu);
g_Settings.Highlight = new CMUCHighlight();
return 0;
}
|