summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author(no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10>2010-04-08 03:17:58 +0000
committer(no author) <(no author)@4f64403b-2f21-0410-a795-97e2b3489a10>2010-04-08 03:17:58 +0000
commite9be9eaaea3e90af7224aa7fb4bb5333e9d7be57 (patch)
tree11e7af008b0bae322664319901e1a976fd078cba
parent92be070586e97f44892da28a592aa1c0925a40d1 (diff)
Removed translation of plugin names
Improved icon management, added support for W7 large icons git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@503 4f64403b-2f21-0410-a795-97e2b3489a10
-rw-r--r--updater/icons.cpp70
-rw-r--r--updater/icons.h4
-rw-r--r--updater/options.cpp19
-rw-r--r--updater/progress_dialog.cpp2
-rw-r--r--updater/services.cpp6
-rw-r--r--updater/updater.cpp5
-rw-r--r--updater/updater.rc4
-rw-r--r--updater/utils.cpp3
-rw-r--r--updater/version.h2
9 files changed, 36 insertions, 79 deletions
diff --git a/updater/icons.cpp b/updater/icons.cpp
index 9b8c3b5..1123294 100644
--- a/updater/icons.cpp
+++ b/updater/icons.cpp
@@ -1,10 +1,6 @@
#include "common.h"
#include "icons.h"
-HANDLE hIcoLibIconsChanged = NULL;
-
-extern HANDLE hMainMenuItem, hMainMenuItemRestart, hMainMenuItemUpdateAndExit;
-
typedef struct
{
char* szDescr;
@@ -12,83 +8,49 @@ typedef struct
int defIconID;
} IconStruct;
-static IconStruct iconList[] =
+static const IconStruct iconList[] =
{
{ "Check for Plugin Updates", "updater_check", IDI_MAINMENU },
{ "Restart", "updater_restart", IDI_RESTART },
{ "Update and Exit", "updater_checkexit", IDI_UPDATEANDEXIT },
};
+HANDLE hIcolibIcon[SIZEOF(iconList)];
-HICON LoadIconEx(IconIndex i)
-{
- HICON hIcon;
- if (hIcoLibIconsChanged)
- hIcon = (HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)iconList[(int)i].szName);
- else
- hIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(iconList[(int)i].defIconID),
- IMAGE_ICON, 0, 0, 0);
-
- return hIcon;
+HICON LoadIconEx(IconIndex i, bool big)
+{
+ return (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, big, (LPARAM)hIcolibIcon[(int)i]);
}
-void ReleaseIconEx(HICON hIcon)
+HANDLE GetIconHandle(IconIndex i)
{
- if (hIcoLibIconsChanged)
- CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
- else
- DestroyIcon(hIcon);
+ return hIcolibIcon[(int)i];
}
-
-int ReloadIcons(WPARAM wParam, LPARAM lParam)
+void ReleaseIconEx(HICON hIcon)
{
- // fix menu icons
- CLISTMENUITEM menu = {0};
-
- menu.cbSize = sizeof(menu);
- menu.flags = CMIM_ICON;
-
- menu.hIcon = LoadIconEx(I_CHKUPD);
- CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMainMenuItem, (LPARAM)&menu);
- ReleaseIconEx(menu.hIcon);
-
- menu.hIcon = LoadIconEx(I_RSTRT);
- CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMainMenuItemRestart, (LPARAM)&menu);
- ReleaseIconEx(menu.hIcon);
-
- menu.hIcon = LoadIconEx(I_CHKUPDEXT);
- CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMainMenuItemUpdateAndExit, (LPARAM)&menu);
- ReleaseIconEx(menu.hIcon);
-
- return 0;
+ CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
}
+
void InitIcons(void)
{
SKINICONDESC sid = {0};
- char path[MAX_PATH];
+ TCHAR path[MAX_PATH];
int i;
sid.cbSize = sizeof(SKINICONDESC);
sid.pszSection = MODULE;
- sid.pszDefaultFile = path;
- GetModuleFileNameA(hInst, path, sizeof(path));
+ sid.flags = SIDF_PATH_TCHAR;
+ sid.ptszDefaultFile = path;
+ GetModuleFileName(hInst, path, sizeof(path));
- for (i = 0; i < sizeof(iconList) / sizeof(IconStruct); ++i)
+ for (i = 0; i < SIZEOF(iconList); ++i)
{
sid.pszDescription = iconList[i].szDescr;
sid.pszName = iconList[i].szName;
sid.iDefaultIndex = -iconList[i].defIconID;
- CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);
+ hIcolibIcon[i] = (HANDLE)CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);
}
-
- hIcoLibIconsChanged = HookEvent(ME_SKIN2_ICONSCHANGED, ReloadIcons);
-}
-
-
-void DeinitIcons(void)
-{
- if (hIcoLibIconsChanged) UnhookEvent(hIcoLibIconsChanged);
}
diff --git a/updater/icons.h b/updater/icons.h
index 76389d9..650551e 100644
--- a/updater/icons.h
+++ b/updater/icons.h
@@ -2,11 +2,11 @@
#define _ICONS_INC
void InitIcons(void);
-void DeinitIcons(void);
typedef enum {I_CHKUPD, I_RSTRT, I_CHKUPDEXT} IconIndex;
-HICON LoadIconEx(IconIndex i);
+HICON LoadIconEx(IconIndex i, bool big = false);
+HANDLE GetIconHandle(IconIndex i);
void ReleaseIconEx(HICON hIcon);
diff --git a/updater/options.cpp b/updater/options.cpp
index f753997..12b7fc0 100644
--- a/updater/options.cpp
+++ b/updater/options.cpp
@@ -14,28 +14,26 @@ void add_restart_menu_item() {
CLISTMENUITEM menu = {0};
menu.cbSize=sizeof(menu);
- menu.flags = CMIM_ALL;
- menu.hIcon = LoadIconEx(I_RSTRT);
+ menu.flags = CMIM_ALL | CMIF_ICONFROMICOLIB;
+ menu.icolibItem = GetIconHandle(I_RSTRT);
menu.pszName = "Restart";
menu.pszService= MS_UPDATE_MENURESTART;
menu.position = 2000099900;
hMainMenuItemRestart = (HANDLE)CallService(MS_CLIST_ADDMAINMENUITEM,0,(LPARAM)&menu);
- ReleaseIconEx(menu.hIcon);
}
void add_update_and_exit_menu_item() {
CLISTMENUITEM menu = {0};
menu.cbSize=sizeof(menu);
- menu.flags = CMIM_ALL;
- menu.hIcon = LoadIconEx(I_CHKUPDEXT);
+ menu.flags = CMIM_ALL | CMIF_ICONFROMICOLIB;
+ menu.icolibItem = GetIconHandle(I_CHKUPDEXT);
menu.pszName = "Update and Exit";
menu.pszService= MS_UPDATE_MENUUPDATEANDEXIT;
menu.position = 2000099901;
hMainMenuItemUpdateAndExit = (HANDLE)CallService(MS_CLIST_ADDMAINMENUITEM,0,(LPARAM)&menu);
- ReleaseIconEx(menu.hIcon);
}
void remove_restart_menu_item() {
@@ -53,6 +51,7 @@ void remove_update_and_exit_menu_item() {
static int EnumerateFuncFillList(char *szComponentName, UpdateOptions *update_options, LPARAM lParam) {
LVITEM lvI = {0};
HWND hwndDlg = (HWND)lParam;
+ HWND hwndLV = GetDlgItem(hwndDlg, IDC_LST_REGISTERED);
TCHAR *temp_str;
// Some code to create the list-view control.
@@ -63,7 +62,7 @@ static int EnumerateFuncFillList(char *szComponentName, UpdateOptions *update_op
lvI.iSubItem = 0;
lvI.pszText = (temp_str = GetTString(szComponentName));
- lvI.iItem = ListView_InsertItem(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), &lvI);
+ lvI.iItem = ListView_InsertItem(hwndLV, &lvI);
mir_free(temp_str);
lvI.mask = LVIF_TEXT;
@@ -75,9 +74,9 @@ static int EnumerateFuncFillList(char *szComponentName, UpdateOptions *update_op
lvI.pszText = (((int)lvI.lParam & 2) == 2 ? TranslateT("TRUE") : TranslateT("FALSE"));
}
- ListView_SetItem(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), &lvI);
+ ListView_SetItem(hwndLV, &lvI);
- ListView_SetCheckState(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), lvI.iItem, update_options->enabled);
+ ListView_SetCheckState(hwndLV, lvI.iItem, update_options->enabled);
return 0;
}
@@ -153,7 +152,7 @@ static INT_PTR CALLBACK DlgProcOpts1(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR
lvc.iSubItem = 1;
lvc.pszText = TranslateT("Use Beta?");
- lvc.cx = 80; // width of column in pixels
+ lvc.cx = 90; // width of column in pixels
ListView_InsertColumn(GetDlgItem(hwndDlg, IDC_LST_REGISTERED), 1, &lvc);
}
diff --git a/updater/progress_dialog.cpp b/updater/progress_dialog.cpp
index 3fedf6f..64e1507 100644
--- a/updater/progress_dialog.cpp
+++ b/updater/progress_dialog.cpp
@@ -21,7 +21,7 @@ INT_PTR CALLBACK DlgProcProgress(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
//SetClassLong(hwndDlg, GCL_HICON, (LONG)hIconCheck);
//SetClassLong(hwndDlg, GCL_HICONSM, (LONG)hIconCheck);
SendMessage(hwndDlg, WM_SETICON, ICON_SMALL, (LPARAM)LoadIconEx(I_CHKUPD));
- SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)LoadIconEx(I_CHKUPD));
+ SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)LoadIconEx(I_CHKUPD, true));
SAVEWINDOWPOS swp;
swp.hwnd=hwndDlg; swp.hContact=0; swp.szModule=MODULE; swp.szNamePrefix="ProgressWindow";
diff --git a/updater/services.cpp b/updater/services.cpp
index 4e90b15..90215b1 100644
--- a/updater/services.cpp
+++ b/updater/services.cpp
@@ -745,12 +745,13 @@ int ServicesModulesLoaded(WPARAM wParam, LPARAM lParam) {
CLISTMENUITEM menu = {0};
menu.cbSize=sizeof(menu);
- menu.flags = CMIM_ALL;
- menu.hIcon = LoadIconEx(I_CHKUPD);
+ menu.flags = CMIM_ALL | CMIF_ICONFROMICOLIB;
+ menu.icolibItem = GetIconHandle(I_CHKUPD);
menu.pszName = "Check for updates";
menu.pszService= MS_UPDATE_CHECKFORUPDATES;
menu.position = 500010000;
+
#ifdef MS_CLIST_ADDGROUPMENUITEM
if (ServiceExists(MS_CLIST_ADDGROUPMENUITEM)) {
GroupMenuParam gmp = {0};
@@ -758,7 +759,6 @@ int ServicesModulesLoaded(WPARAM wParam, LPARAM lParam) {
}
#endif
hMainMenuItem = (HANDLE)CallService(MS_CLIST_ADDMAINMENUITEM,0,(LPARAM)&menu);
- ReleaseIconEx(menu.hIcon);
hEventServicesModulesLoaded2 = HookEvent(ME_SYSTEM_MODULESLOADED, ServicesModulesLoaded2);
startup_timer_id = SetTimer(0, 0, 5000, StartupTimerProc);
diff --git a/updater/updater.cpp b/updater/updater.cpp
index db25aad..d60eb37 100644
--- a/updater/updater.cpp
+++ b/updater/updater.cpp
@@ -253,8 +253,6 @@ extern "C" int __declspec(dllexport) Load(PLUGINLINK *link)
icex.dwICC = ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&icex);
- OleInitialize(0);
-
HookEvent(ME_OPT_INITIALISE, OptInit);
// do this before init services, so that InitPopups is called before startup update
@@ -275,8 +273,5 @@ extern "C" int __declspec(dllexport) Unload(void)
DeinitPopups();
DeinitNetlib();
- DeinitIcons();
-
- OleUninitialize();
return 0;
}
diff --git a/updater/updater.rc b/updater/updater.rc
index 54a77c7..c00769f 100644
--- a/updater/updater.rc
+++ b/updater/updater.rc
@@ -83,7 +83,7 @@ EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
CONTROL "Check for updates on startup",IDC_CHK_ONSTART,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,97,138,10
- PUSHBUTTON "Check for updates",IDC_BTN_CHECK,156,211,91,17
+ PUSHBUTTON "Check for updates",IDC_BTN_CHECK,156,211,116,17
CONTROL "List1",IDC_LST_REGISTERED,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,0,0,293,70
CONTROL "(But only once per day)",IDC_CHK_ONCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,110,128,10
CONTROL "Check daily",IDC_CHK_DAILY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,123,136,10
@@ -96,7 +96,7 @@ BEGIN
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,191,215,10
CONTROL "Use popups for progress info",IDC_CHK_POPUP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,110,127,10
CONTROL "Show 'Restart' menu item",IDC_CHK_RESTART,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,123,127,10
- PUSHBUTTON "Update and Exit",IDC_BTN_CHECKNORESTART,58,211,91,17
+ PUSHBUTTON "Update and Exit",IDC_BTN_CHECKNORESTART,17,211,116,17
CONTROL "Show 'Update and Exit' menu item",IDC_CHK_UPDATEANDEXIT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,136,127,10
CONTROL "Slider1",IDC_SLID_VERREQ,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,8,83,100,12
diff --git a/updater/utils.cpp b/updater/utils.cpp
index 98d57be..9b8eea9 100644
--- a/updater/utils.cpp
+++ b/updater/utils.cpp
@@ -73,7 +73,8 @@ bool CreatePath(const TCHAR *szDir)
TCHAR *GetTString(const char *asc)
{
if (!asc) return NULL;
- return (TCHAR*)CallService(MS_LANGPACK_PCHARTOTCHAR, 0, (LPARAM)asc);
+ return mir_a2t(asc);
+// return (TCHAR*)CallService(MS_LANGPACK_PCHARTOTCHAR, 0, (LPARAM)asc);
}
void RemoveFolder(const TCHAR *src_folder)
diff --git a/updater/version.h b/updater/version.h
index 1fdc1af..51e7758 100644
--- a/updater/version.h
+++ b/updater/version.h
@@ -5,7 +5,7 @@
#define __MAJOR_VERSION 0
#define __MINOR_VERSION 6
#define __RELEASE_NUM 0
-#define __BUILD_NUM 2
+#define __BUILD_NUM 3
#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM
#define __FILEVERSION_STRING_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM