diff --git a/Library/Rainmeter.cpp b/Library/Rainmeter.cpp index a2a03aa5..a5f69fa3 100644 --- a/Library/Rainmeter.cpp +++ b/Library/Rainmeter.cpp @@ -3248,14 +3248,14 @@ void CRainmeter::ShowContextMenu(POINT pos, CMeterWindow* meterWindow) AppendMenu(configMenu, 0, ID_CONTEXT_OPENSKINSFOLDER, L"Open Skins\' Folder"); AppendMenu(configMenu, 0, ID_CONTEXT_MANAGESKINS, L"Manage Skins..."); - InsertMenu(subMenu, 3, MF_BYPOSITION | MF_POPUP, (UINT_PTR)configMenu, L"Configs"); + InsertMenu(subMenu, 4, MF_BYPOSITION | MF_POPUP, (UINT_PTR)configMenu, L"Configs"); } HMENU themeMenu = CreateThemeMenu(); if (themeMenu) { - InsertMenu(subMenu, 4, MF_BYPOSITION | MF_POPUP, (UINT_PTR)themeMenu, L"Themes"); - InsertMenu(subMenu, 5, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); + InsertMenu(subMenu, 5, MF_BYPOSITION | MF_POPUP, (UINT_PTR)themeMenu, L"Themes"); + InsertMenu(subMenu, 6, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); } if (meterWindow) @@ -3267,6 +3267,7 @@ void CRainmeter::ShowContextMenu(POINT pos, CMeterWindow* meterWindow) } else { + InsertMenu(subMenu, 1, MF_BYPOSITION, ID_CONTEXT_DOWNLOADS, L"Rainmeter Downloads"); InsertMenu(subMenu, 11, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); // Create a menu for all active configs @@ -3277,7 +3278,7 @@ void CRainmeter::ShowContextMenu(POINT pos, CMeterWindow* meterWindow) { CMeterWindow* mw = ((*iter).second); HMENU skinMenu = CreateSkinMenu(mw, index, configMenu); - InsertMenu(subMenu, 11, MF_BYPOSITION | MF_POPUP, (UINT_PTR)skinMenu, mw->GetSkinName().c_str()); + InsertMenu(subMenu, 12, MF_BYPOSITION | MF_POPUP, (UINT_PTR)skinMenu, mw->GetSkinName().c_str()); ++index; } diff --git a/Library/TrayWindow.cpp b/Library/TrayWindow.cpp index 783894ee..86b8d80d 100644 --- a/Library/TrayWindow.cpp +++ b/Library/TrayWindow.cpp @@ -31,6 +31,7 @@ #define RAINMETER_OFFICIAL L"http://rainmeter.net/RainCMS/" #define RAINMETER_MANUAL L"http://rainmeter.net/RainCMS/?q=Manual" #define RAINMETER_MANUALBETA L"http://rainmeter.net/RainCMS/?q=ManualBeta" +#define RAINMETER_DOWNLOADS L"http://rainmeter.net/RainCMS/?q=Downloads" extern CRainmeter* Rainmeter; @@ -406,6 +407,10 @@ LRESULT CALLBACK CTrayWindow::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA { OpenAboutDialog(tray->GetWindow(), Rainmeter->GetInstance()); } + if (wParam == ID_CONTEXT_DOWNLOADS) + { + LSExecute(NULL, RAINMETER_DOWNLOADS, SW_SHOWNORMAL); + } else if(wParam == ID_CONTEXT_SHOW_HELP) { LSExecute(NULL, revision_beta ? RAINMETER_MANUALBETA : RAINMETER_MANUAL, SW_SHOWNORMAL); diff --git a/Library/resource.h b/Library/resource.h index e4c1ed10..d46b168b 100644 --- a/Library/resource.h +++ b/Library/resource.h @@ -19,6 +19,7 @@ #define ID_CONTEXT_REFRESH 4001 #define ID_CONTEXT_QUIT 4002 #define ID_CONTEXT_ABOUT 4004 +#define ID_CONTEXT_DOWNLOADS 4005 #define ID_CONTEXT_CONFIGS_DEFAULT 4006 #define ID_CONTEXT_EDITCONFIG 4008 #define ID_CONTEXT_CLOSESKIN 4009