summaryrefslogtreecommitdiff
path: root/plugins/Clist_nicer
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2015-07-03 08:43:58 +0000
committerGeorge Hazan <george.hazan@gmail.com>2015-07-03 08:43:58 +0000
commit1ac5dafa951f57dfca5cf0dd6e7d2eeeea2f6772 (patch)
tree7f7adfefbd54d284072b98dc18bbd2bb26a165d4 /plugins/Clist_nicer
parent6c1c4268578dcd59fc78f2ec8336bee991213a93 (diff)
- IDR_CONTEXT resource removed from all clists;
- all menu control rewritten using Menu_* functions, thus making group & tray menu customizable in StdClist & Clist_Nicer; - major gdi resource leak fixed git-svn-id: http://svn.miranda-ng.org/main/trunk@14483 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Clist_nicer')
-rw-r--r--plugins/Clist_nicer/res/addgroup.icobin1150 -> 0 bytes
-rw-r--r--plugins/Clist_nicer/res/resource.rc42
-rw-r--r--plugins/Clist_nicer/src/clistmenus.cpp23
-rw-r--r--plugins/Clist_nicer/src/clisttray.cpp4
-rw-r--r--plugins/Clist_nicer/src/clui.cpp42
-rw-r--r--plugins/Clist_nicer/src/groupmenu.cpp216
-rw-r--r--plugins/Clist_nicer/src/resource.h2
7 files changed, 55 insertions, 274 deletions
diff --git a/plugins/Clist_nicer/res/addgroup.ico b/plugins/Clist_nicer/res/addgroup.ico
deleted file mode 100644
index 539c32fcd9..0000000000
--- a/plugins/Clist_nicer/res/addgroup.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/Clist_nicer/res/resource.rc b/plugins/Clist_nicer/res/resource.rc
index 28fbc2cd53..e37a5911d5 100644
--- a/plugins/Clist_nicer/res/resource.rc
+++ b/plugins/Clist_nicer/res/resource.rc
@@ -537,7 +537,6 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
-IDI_ADDGROUP ICON "addgroup.ico"
IDI_CLIST ICON "clist.ico"
IDI_DELETE ICON "delete.ico"
IDI_CLVM_OPTIONS ICON "options_clvm.ico"
@@ -601,47 +600,6 @@ BEGIN
END
END
-IDR_CONTEXT MENU
-BEGIN
- POPUP "Tray"
- BEGIN
- MENUITEM "&Hide/Show", 40038
- MENUITEM SEPARATOR
- MENUITEM "E&xit", ID_TRAY_EXIT
- END
- POPUP "Nowhere"
- BEGIN
- MENUITEM "&New group", POPUP_NEWGROUP
- MENUITEM SEPARATOR
- MENUITEM "&Hide offline users", POPUP_HIDEOFFLINE
- MENUITEM "Hide &offline users out here", POPUP_HIDEOFFLINEROOT
- MENUITEM "Hide &empty groups", POPUP_HIDEEMPTYGROUPS
- MENUITEM "Disable &groups", POPUP_DISABLEGROUPS
- MENUITEM SEPARATOR
- MENUITEM SEPARATOR
- MENUITEM "Hide Miranda", POPUP_HIDEMIRANDA
- END
- POPUP "Group"
- BEGIN
- MENUITEM "&New subgroup", POPUP_NEWSUBGROUP
- MENUITEM "&Hide offline users in here", POPUP_GROUPHIDEOFFLINE
- MENUITEM SEPARATOR
- MENUITEM "&Rename group", POPUP_RENAMEGROUP
- MENUITEM "&Delete group", POPUP_DELETEGROUP
- MENUITEM SEPARATOR
- MENUITEM "Move marked contacts to this group", POPUP_MOVEMARKEDHERE, GRAYED
- END
- POPUP "Appearance"
- BEGIN
- MENUITEM "Show status icons", POPUP_SHOWSTATUSICONS
- MENUITEM "Show metacontact protocol icons", POPUP_SHOWMETAICONS
- MENUITEM SEPARATOR
- MENUITEM "Show additional buttons", POPUP_BUTTONS
- MENUITEM "Draw sunken frame", POPUP_FRAME
- END
-END
-
-
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
diff --git a/plugins/Clist_nicer/src/clistmenus.cpp b/plugins/Clist_nicer/src/clistmenus.cpp
index abaf6cda54..61e0570f26 100644
--- a/plugins/Clist_nicer/src/clistmenus.cpp
+++ b/plugins/Clist_nicer/src/clistmenus.cpp
@@ -29,23 +29,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#pragma hdrstop
-static HMENU hMainMenu, hMainStatusMenu;
-
-void InitIconLibMenuIcons();
extern IconItemT iconItem[];
-
-void DestroyTrayMenu(HMENU hMenu)
-{
- int i, cnt;
-
- cnt = GetMenuItemCount(hMenu);
- for (i = 0; i < cnt; ++i) {
- HMENU hSubMenu = GetSubMenu(hMenu, i);
- if (hSubMenu == hMainStatusMenu || hSubMenu == hMainMenu)
- RemoveMenu(hMenu, i--, MF_BYPOSITION);
- }
- DestroyMenu(hMenu);
-}
+void InitIconLibMenuIcons();
INT_PTR CloseAction(WPARAM, LPARAM)
{
@@ -384,13 +369,9 @@ int InitCustomMenus(void)
CMenuItem mi;
mi.position = 200000;
mi.pszService = "CList/SetContactIgnore";
- mi.hIcolibItem = iconItem[1].hIcolib;
+ mi.hIcolibItem = iconItem[0].hIcolib;
mi.name.a = LPGEN("&Contact list settings...");
Menu_AddContactMenuItem(&mi);
-
- hMainStatusMenu = (HMENU)Menu_GetStatusMenu();
- hMainMenu = Menu_GetMainMenu();
-
return 0;
}
diff --git a/plugins/Clist_nicer/src/clisttray.cpp b/plugins/Clist_nicer/src/clisttray.cpp
index d60405fecc..6ef9e834d1 100644
--- a/plugins/Clist_nicer/src/clisttray.cpp
+++ b/plugins/Clist_nicer/src/clisttray.cpp
@@ -24,9 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "stdafx.h"
-#define TRAYICON_ID_BASE 100
-#define TIM_CALLBACK (WM_USER+1857)
-#define TIM_CREATE (WM_USER+1858)
+#define TRAYICON_ID_BASE 100
extern HIMAGELIST hCListImages;
diff --git a/plugins/Clist_nicer/src/clui.cpp b/plugins/Clist_nicer/src/clui.cpp
index 80b01a7a48..ec0cf9dc97 100644
--- a/plugins/Clist_nicer/src/clui.cpp
+++ b/plugins/Clist_nicer/src/clui.cpp
@@ -73,7 +73,6 @@ void InitGroupMenus();
void FS_RegisterFonts();
void LoadExtraIconModule();
void RemoveFromTaskBar(HWND hWnd);
-void DestroyTrayMenu(HMENU hMenu);
extern LONG g_cxsmIcon, g_cysmIcon;
@@ -778,6 +777,8 @@ static void GetButtonRect(HWND hwnd, RECT *rc)
LRESULT CALLBACK ContactListWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
+ RECT rc;
+
switch (msg) {
case WM_CREATE:
{
@@ -906,7 +907,7 @@ LRESULT CALLBACK ContactListWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM l
case WM_PAINT:
{
PAINTSTRUCT ps;
- RECT rc, rcFrame, rcClient;
+ RECT rcFrame, rcClient;
HDC hdc;
HRGN rgn = 0;
HDC hdcReal = BeginPaint(hwnd, &ps);
@@ -1022,7 +1023,6 @@ skipbg:
case WM_ENTERSIZEMOVE:
{
- RECT rc;
POINT pt = { 0 };
GetWindowRect(hwnd, &g_PreSizeRect);
@@ -1098,7 +1098,6 @@ skipbg:
if (pcli->hwndContactList != 0) {
SendMessage(hwnd, WM_ENTERSIZEMOVE, 0, 0);
- RECT rc;
GetWindowRect(hwnd, &rc);
WINDOWPOS wp = { 0 };
wp.cx = rc.right - rc.left;
@@ -1113,7 +1112,6 @@ skipbg:
case WM_MOVE:
if (!IsIconic(hwnd)) {
- RECT rc;
GetWindowRect(hwnd, &rc);
if (!Docking_IsDocked(0, 0)) {
@@ -1123,7 +1121,6 @@ skipbg:
}
cluiPos.right = rc.right - rc.left;
if (cfg::dat.realTimeSaving) {
- RECT rc;
GetWindowRect(hwnd, &rc);
// if docked, dont remember pos (except for width)
@@ -1346,9 +1343,8 @@ skipbg:
if (cfg::clcdat) {
pcli->pfnGetRowByIndex(cfg::clcdat, cfg::clcdat->selection, &contact, NULL);
- if (contact && contact->type == CLCIT_CONTACT) {
+ if (contact && contact->type == CLCIT_CONTACT)
hContact = contact->hContact;
- }
}
while (item) {
if (item->uId == (DWORD)LOWORD(wParam)) {
@@ -1438,26 +1434,17 @@ skipbg:
case IDC_TBMENU:
case IDC_TBTOPMENU:
case IDC_STBTOPMENU:
- {
- RECT rc;
- HMENU hMenu = Menu_GetMainMenu();
- GetButtonRect(GetDlgItem(hwnd, LOWORD(wParam)), &rc);
- TrackPopupMenu(hMenu, TPM_TOPALIGN | TPM_LEFTALIGN | TPM_RIGHTBUTTON, rc.left, LOWORD(wParam) == IDC_TBMENU ? rc.top : rc.bottom, 0, hwnd, NULL);
- }
+ GetButtonRect(GetDlgItem(hwnd, LOWORD(wParam)), &rc);
+ TrackPopupMenu(Menu_GetMainMenu(), TPM_TOPALIGN | TPM_LEFTALIGN | TPM_RIGHTBUTTON, rc.left, LOWORD(wParam) == IDC_TBMENU ? rc.top : rc.bottom, 0, hwnd, NULL);
return 0;
case IDC_TBTOPSTATUS:
case IDC_STBTOPSTATUS:
case IDC_TBGLOBALSTATUS:
- {
- RECT rc;
- HMENU hmenu = (HMENU)Menu_GetStatusMenu();
- GetButtonRect(GetDlgItem(hwnd, LOWORD(wParam)), &rc);
- TrackPopupMenu(hmenu, TPM_TOPALIGN | TPM_LEFTALIGN | TPM_RIGHTBUTTON, rc.left, LOWORD(wParam) == IDC_TBGLOBALSTATUS ? rc.top : rc.bottom, 0, hwnd, NULL);
- }
+ GetButtonRect(GetDlgItem(hwnd, LOWORD(wParam)), &rc);
+ TrackPopupMenu(Menu_GetStatusMenu(), TPM_TOPALIGN | TPM_LEFTALIGN | TPM_RIGHTBUTTON, rc.left, LOWORD(wParam) == IDC_TBGLOBALSTATUS ? rc.top : rc.bottom, 0, hwnd, NULL);
return 0;
-
case IDC_TBSOUND:
case IDC_STBSOUND:
cfg::dat.soundsOff = !cfg::dat.soundsOff;
@@ -1613,10 +1600,8 @@ buttons_done:
break;
case WM_CONTEXTMENU:
+ GetWindowRect(pcli->hwndContactTree, &rc);
{
- RECT rc;
- GetWindowRect(pcli->hwndContactTree, &rc);
-
// x/y might be -1 if it was generated by a kb click
POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };
if (pt.x == -1 && pt.y == -1) {
@@ -1631,7 +1616,7 @@ buttons_done:
if (PtInRect(&rc, pt)) {
HMENU hMenu = Menu_BuildGroupMenu();
TrackPopupMenu(hMenu, TPM_TOPALIGN | TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, 0, hwnd, NULL);
- DestroyTrayMenu(hMenu);
+ Menu_DestroyNestedMenu(hMenu);
return 0;
}
GetWindowRect(pcli->hwndStatus, &rc);
@@ -1640,7 +1625,7 @@ buttons_done:
if (cfg::getByte("CLUI", "SBarRightClk", 0))
hMenu = Menu_GetMainMenu();
else
- hMenu = (HMENU)Menu_GetStatusMenu();
+ hMenu = Menu_GetStatusMenu();
TrackPopupMenu(hMenu, TPM_TOPALIGN | TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, 0, hwnd, NULL);
return 0;
}
@@ -1924,12 +1909,9 @@ static INT_PTR CLN_ShowMainMenu(WPARAM, LPARAM)
static INT_PTR CLN_ShowStatusMenu(WPARAM, LPARAM)
{
- HMENU hMenu;
POINT pt;
-
- hMenu = (HMENU)Menu_GetStatusMenu();
GetCursorPos(&pt);
- TrackPopupMenu(hMenu, TPM_TOPALIGN | TPM_LEFTALIGN | TPM_LEFTBUTTON, pt.x, pt.y, 0, pcli->hwndContactList, NULL);
+ TrackPopupMenu(Menu_GetStatusMenu(), TPM_TOPALIGN | TPM_LEFTALIGN | TPM_LEFTBUTTON, pt.x, pt.y, 0, pcli->hwndContactList, NULL);
return 0;
}
diff --git a/plugins/Clist_nicer/src/groupmenu.cpp b/plugins/Clist_nicer/src/groupmenu.cpp
index a3be204ae6..29700f1415 100644
--- a/plugins/Clist_nicer/src/groupmenu.cpp
+++ b/plugins/Clist_nicer/src/groupmenu.cpp
@@ -27,34 +27,33 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
/////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////// Group MENU //////////////////////////////
-HGENMENU hGroupMainMenuItemProxy;
-HGENMENU hHideShowMainMenuItem;
-HGENMENU hGroupStatusMenuItemProxy;
-HGENMENU hAppearanceMenuItemProxy;
-HGENMENU hEventAreaMenuItemProxy;
+static HGENMENU hGroupMainMenuItemProxy;
+static HGENMENU hHideShowMainMenuItem;
+static HGENMENU hGroupStatusMenuItemProxy;
+static HGENMENU hEventAreaMenuItemProxy;
-static HMENU hMenuOldContext;
-
-HGENMENU hHideOfflineUsersMenuItem;
-HGENMENU hHideOfflineUsersOutHereMenuItem;
-HGENMENU hHideEmptyGroupsMenuItem;
-HGENMENU hDisableGroupsMenuItem;
-HGENMENU hNewGroupMenuItem;
-HGENMENU hNewSubGroupMenuItem;
+struct
+{
+ char *name;
+ int command, mask, position;
+ HGENMENU hMenu;
+}
+static hAppearanceItems[] =
+{
+ { LPGEN("Show status icons"), POPUP_SHOWSTATUSICONS, CLUI_FRAME_STATUSICONS, 10001 },
+ { LPGEN("Show metacontact protocol icons"), POPUP_SHOWMETAICONS, CLUI_USEMETAICONS, 10002 },
+ { LPGEN("Show additional buttons"), POPUP_BUTTONS, CLUI_FRAME_SHOWBOTTOMBUTTONS, 110001 },
+ { LPGEN("Draw sunken frame"), POPUP_FRAME, CLUI_FRAME_CLISTSUNKEN, 110002 }
+};
-void InitSubGroupMenus(void);
+static HMENU hMenuOldContext;
-INT_PTR GroupMenu_OnAddService(WPARAM wParam, LPARAM lParam)
+static INT_PTR GroupMenu_OnAddService(WPARAM wParam, LPARAM lParam)
{
MENUITEMINFO *mii = (MENUITEMINFO*)wParam;
if (mii == NULL)
return 0;
- if (hHideShowMainMenuItem == (HANDLE)lParam) {
- mii->fMask |= MIIM_STATE;
- mii->fState |= MFS_DEFAULT;
-
- }
if (hGroupMainMenuItemProxy == (HANDLE)lParam) {
mii->fMask |= MIIM_SUBMENU;
mii->hSubMenu = Menu_GetMainMenu();
@@ -64,65 +63,24 @@ INT_PTR GroupMenu_OnAddService(WPARAM wParam, LPARAM lParam)
mii->fMask |= MIIM_SUBMENU;
mii->hSubMenu = Menu_GetStatusMenu();
}
- if (hAppearanceMenuItemProxy == (HANDLE)lParam) {
- hMenuOldContext = GetSubMenu(LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_CONTEXT)), 3);
- TranslateMenu(hMenuOldContext);
-
- CheckMenuItem(hMenuOldContext, POPUP_FRAME, MF_BYCOMMAND | (cfg::dat.dwFlags & CLUI_FRAME_CLISTSUNKEN ? MF_CHECKED : MF_UNCHECKED));
- CheckMenuItem(hMenuOldContext, POPUP_BUTTONS, MF_BYCOMMAND | (cfg::dat.dwFlags & CLUI_FRAME_SHOWBOTTOMBUTTONS ? MF_CHECKED : MF_UNCHECKED));
- CheckMenuItem(hMenuOldContext, POPUP_SHOWMETAICONS, MF_BYCOMMAND | (cfg::dat.dwFlags & CLUI_USEMETAICONS ? MF_CHECKED : MF_UNCHECKED));
- CheckMenuItem(hMenuOldContext, POPUP_SHOWSTATUSICONS, MF_BYCOMMAND | (cfg::dat.dwFlags & CLUI_FRAME_STATUSICONS ? MF_CHECKED : MF_UNCHECKED));
-
- mii->fMask |= MIIM_SUBMENU;
- mii->hSubMenu = hMenuOldContext;
- }
return TRUE;
}
-INT_PTR HideGroupsHelper(WPARAM, LPARAM)
-{
- int newVal = !(GetWindowLongPtr(pcli->hwndContactTree, GWL_STYLE) & CLS_HIDEEMPTYGROUPS);
- cfg::writeByte("CList", "HideEmptyGroups", (BYTE)newVal);
- SendMessage(pcli->hwndContactTree, CLM_SETHIDEEMPTYGROUPS, newVal, 0);
- return 0;
-}
-
-INT_PTR UseGroupsHelper(WPARAM, LPARAM)
+static INT_PTR CommandHelper(WPARAM wParam, LPARAM)
{
- int newVal = !(GetWindowLongPtr(pcli->hwndContactTree, GWL_STYLE) & CLS_USEGROUPS);
- cfg::writeByte("CList", "UseGroups", (BYTE)newVal);
- SendMessage(pcli->hwndContactTree, CLM_SETUSEGROUPS, newVal,0);
- return 0;
-}
-
-INT_PTR HideOfflineRootHelper(WPARAM, LPARAM)
-{
- SendMessage(pcli->hwndContactTree, CLM_SETHIDEOFFLINEROOT, !SendMessage(pcli->hwndContactTree, CLM_GETHIDEOFFLINEROOT, 0, 0), 0);
+ SendMessage(pcli->hwndContactList, WM_COMMAND, MAKELONG(wParam, BN_CLICKED), 1);
return 0;
}
static int OnBuildGroupMenu(WPARAM, LPARAM)
{
- bool bEnabled = 0 != cfg::getByte("CList", "HideOffline", SETTING_HIDEOFFLINE_DEFAULT);
- Menu_EnableItem(hHideOfflineUsersMenuItem, bEnabled);
-
- bEnabled = 0 != SendMessage(pcli->hwndContactTree, CLM_GETHIDEOFFLINEROOT, 0, 0);
- Menu_EnableItem(hHideOfflineUsersOutHereMenuItem, bEnabled);
-
- bEnabled = 0 != (GetWindowLongPtr(pcli->hwndContactTree, GWL_STYLE) & CLS_HIDEEMPTYGROUPS);
- Menu_EnableItem(hHideEmptyGroupsMenuItem, bEnabled);
-
- bEnabled = 0 != (GetWindowLongPtr(pcli->hwndContactTree, GWL_STYLE) & CLS_USEGROUPS);
- Menu_EnableItem(hDisableGroupsMenuItem, bEnabled);
-
- Menu_EnableItem(hGroupMainMenuItemProxy, bEnabled);
- Menu_EnableItem(hAppearanceMenuItemProxy, bEnabled);
+ for (int i = 0; i < _countof(hAppearanceItems); i++)
+ Menu_SetChecked(hAppearanceItems[i].hMenu, (cfg::dat.dwFlags & hAppearanceItems[i].mask) != 0);
return 0;
}
IconItemT iconItem[] = {
- { LPGENT("New group"), "new_group", IDI_ADDGROUP },
- { LPGENT("Contact list"), "clist", IDI_CLIST }
+ { LPGENT("Contact list"), "clist", IDI_CLIST }
};
void InitIconLibMenuIcons(void)
@@ -133,24 +91,11 @@ void InitIconLibMenuIcons(void)
void InitGroupMenus(void)
{
CreateServiceFunction("CLISTMENUSGroup/GroupMenuOnAddService", GroupMenu_OnAddService);
- CreateServiceFunction("CLISTMENUSGroup/HideGroupsHelper", HideGroupsHelper);
- CreateServiceFunction("CLISTMENUSGroup/UseGroupsHelper", UseGroupsHelper);
- CreateServiceFunction("CLISTMENUSGroup/HideOfflineRootHelper", HideOfflineRootHelper);
HookEvent(ME_CLIST_PREBUILDGROUPMENU, OnBuildGroupMenu);
- InitSubGroupMenus();
-
// add exit command to menu
- GroupMenuParam gmp;
-
CMenuItem mi;
- mi.position = 1900000;
- mi.pszService = "CloseAction";
- mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_EXIT);
- mi.name.a = LPGEN("E&xit");
- Menu_AddGroupMenuItem(&mi);
-
mi.position = 500;
mi.pszService = MS_CLIST_SHOWHIDE;
mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_SHOWHIDE);
@@ -175,114 +120,33 @@ void InitGroupMenus(void)
mi.name.a = LPGEN("&Status");
hGroupStatusMenuItemProxy = Menu_AddGroupMenuItem(&mi);
+ // Appearance menu
mi.position = 390100;
- mi.hIcolibItem = iconItem[1].hIcolib;
+ mi.hIcolibItem = iconItem[0].hIcolib;
mi.name.a = LPGEN("Appearance");
- hAppearanceMenuItemProxy = Menu_AddGroupMenuItem(&mi);
+ mi.root = Menu_AddGroupMenuItem(&mi);
+
+ mi.hIcolibItem = NULL;
+ mi.pszService = "CLISTMENUSGroup/CommandHelper";
+ CreateServiceFunction(mi.pszService, CommandHelper);
+ for (int i = 0; i < _countof(hAppearanceItems); i++) {
+ GroupMenuParam gmp;
+ gmp.wParam = hAppearanceItems[i].command;
+ mi.name.a = hAppearanceItems[i].name;
+ mi.position = hAppearanceItems[i].position;
+ hAppearanceItems[i].hMenu = Menu_AddGroupMenuItem(&mi, &gmp);
+ }
+ mi.root = NULL;
mi.position = 400000;
mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_OPTIONS);
mi.pszService = "Options/OptionsCommand";
mi.name.a = LPGEN("&Options...");
Menu_AddGroupMenuItem(&mi);
- mi.position = 500000;
+ mi.position = 1000000;
mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_MIRANDA);
mi.pszService = "CLN/About";
mi.name.a = LPGEN("&About the contact list...");
Menu_AddGroupMenuItem(&mi);
-
- mi.flags = 0;
- mi.position = 100000;
- mi.hIcolibItem = iconItem[0].hIcolib;
- mi.pszService = "CLISTMENUSSubGroup/GroupMenuExecProxy";
- mi.name.a = LPGEN("&New group");
- hNewGroupMenuItem = Menu_AddGroupMenuItem(&mi, &gmp);
-
- mi.position = 100001;
- mi.hIcolibItem = NULL;
- mi.hIcolibItem = NULL;
- mi.pszService = MS_CLIST_SETHIDEOFFLINE;
- mi.name.a = LPGEN("&Hide offline users");
- gmp.wParam = -1;
- hHideOfflineUsersMenuItem = Menu_AddGroupMenuItem(&mi, &gmp);
-
- mi.position = 100002;
- mi.pszService = "CLISTMENUSGroup/HideOfflineRootHelper";
- mi.name.a = LPGEN("Hide &offline users out here");
- hHideOfflineUsersOutHereMenuItem = Menu_AddGroupMenuItem(&mi);
-
- mi.position = 100003;
- mi.pszService = "CLISTMENUSGroup/HideGroupsHelper";
- mi.name.a = LPGEN("Hide &empty groups");
- hHideEmptyGroupsMenuItem = Menu_AddGroupMenuItem(&mi);
-
- mi.position = 100004;
- mi.pszService = "CLISTMENUSGroup/UseGroupsHelper";
- mi.name.a = LPGEN("Disable &groups");
- hDisableGroupsMenuItem = Menu_AddGroupMenuItem(&mi);
-}
-
-//////////////////////////////SubGroup MENU/////////////////////////
-HANDLE hSubGroupMainMenuItemProxy;
-HANDLE hSubGroupStatusMenuItemProxy;
-HANDLE hPreBuildSubGroupMenuEvent;
-HGENMENU hHideOfflineUsersHereMenuItem;
-
-static int OnBuildSubGroupMenu(WPARAM wParam, LPARAM)
-{
- ClcGroup *group = (ClcGroup*)wParam;
- if (group != 0) // contact->group
- Menu_ModifyItem(hHideOfflineUsersHereMenuItem, NULL, INVALID_HANDLE_VALUE, group->hideOffline ? CMIF_CHECKED : 0);
- return 0;
-}
-
-// wparam menu handle to pass to clc.c
-INT_PTR GroupMenuExecProxy(WPARAM wParam, LPARAM)
-{
- SendMessage(pcli->hwndContactTree, WM_COMMAND, wParam, 0);
- return 0;
-}
-
-void InitSubGroupMenus(void)
-{
- CreateServiceFunction("CLISTMENUSSubGroup/GroupMenuExecProxy", GroupMenuExecProxy);
-
- HookEvent(ME_CLIST_PREBUILDSUBGROUPMENU, OnBuildSubGroupMenu);
-
- // add exit command to menu
- GroupMenuParam gmp = {};
-
- CMenuItem mi;
- mi.position = 1000;
- mi.hIcolibItem = iconItem[0].hIcolib;
- mi.pszService = "CLISTMENUSSubGroup/GroupMenuExecProxy";
- mi.name.a = LPGEN("&New subgroup");
- gmp.wParam = POPUP_NEWSUBGROUP;
- hNewSubGroupMenuItem = Menu_AddSubGroupMenuItem(&mi, &gmp);
-
- mi.position = 1001;
- mi.hIcolibItem = NULL;
- mi.hIcolibItem = NULL;
- mi.pszService = "CLISTMENUSSubGroup/GroupMenuExecProxy";
- mi.name.a = LPGEN("&Hide offline users in here");
- gmp.wParam = POPUP_GROUPHIDEOFFLINE;
- hHideOfflineUsersHereMenuItem = (HGENMENU)Menu_AddSubGroupMenuItem(&mi, &gmp);
-
- memset(&mi, 0, sizeof(mi));
- mi.position = 900001;
- mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_RENAME);
- mi.pszService = "CLISTMENUSSubGroup/GroupMenuExecProxy";
- mi.name.a = LPGEN("&Rename group");
- gmp.wParam = POPUP_RENAMEGROUP;
- Menu_AddSubGroupMenuItem(&mi, &gmp);
-
- mi.position = 900002;
- mi.hIcolibItem = Skin_GetIconHandle(SKINICON_OTHER_DELETE);
- mi.pszService = "CLISTMENUSSubGroup/GroupMenuExecProxy";
- mi.name.a = LPGEN("&Delete group");
- gmp.wParam = POPUP_DELETEGROUP;
- Menu_AddSubGroupMenuItem(&mi, &gmp);
}
-
-//////////////////////////////END SubGroup MENU/////////////////////////
diff --git a/plugins/Clist_nicer/src/resource.h b/plugins/Clist_nicer/src/resource.h
index abb763ae2e..93b50e6938 100644
--- a/plugins/Clist_nicer/src/resource.h
+++ b/plugins/Clist_nicer/src/resource.h
@@ -10,13 +10,11 @@
#define IDD_OPTIONSDIALOG 101
#define IDD_CLNABOUT 102
#define IDD_OPT_CLIST 126
-#define IDI_ADDGROUP 143
#define IDI_CLIST 146
#define IDI_OPTIONS 163
#define IDI_DELETE 175
#define IDI_CLVM_OPTIONS 176
#define IDI_CLVM_SELECT 177
-#define IDR_CONTEXT 180
#define IDC_DROP 183
#define IDR_CLISTMENU 199
#define IDI_BLANK 200