mirror of
				https://github.com/chibicitiberiu/rainmeter-studio.git
				synced 2024-02-24 04:33:31 +00:00 
			
		
		
		
	Added spx's meter/measure/config "Group" functionality.
Minor fix to installer script
This commit is contained in:
		| @@ -28,8 +28,8 @@ LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT | ||||
| // | ||||
|  | ||||
| VS_VERSION_INFO VERSIONINFO | ||||
|  FILEVERSION 1,3,0,467 | ||||
|  PRODUCTVERSION 1,3,0,467 | ||||
|  FILEVERSION 1,3,0,470 | ||||
|  PRODUCTVERSION 1,3,0,470 | ||||
|  FILEFLAGSMASK 0x17L | ||||
| #ifdef _DEBUG | ||||
|  FILEFLAGS 0x1L | ||||
| @@ -45,12 +45,12 @@ BEGIN | ||||
|         BLOCK "040b04b0" | ||||
|         BEGIN | ||||
|             VALUE "FileDescription", "Rainmeter - A Customizable Resource Meter" | ||||
|             VALUE "FileVersion", "1, 3, 0, 467" | ||||
|             VALUE "FileVersion", "1, 3, 0, 470" | ||||
|             VALUE "InternalName", "Rainmeter" | ||||
|             VALUE "LegalCopyright", "Copyright (C) 2010 - Rainy" | ||||
|             VALUE "OriginalFilename", "Rainmeter.exe" | ||||
|             VALUE "ProductName", "Rainmeter" | ||||
|             VALUE "ProductVersion", "1, 3, 0, 467" | ||||
|             VALUE "ProductVersion", "1, 3, 0, 470" | ||||
|         END | ||||
|     END | ||||
|     BLOCK "VarFileInfo" | ||||
|   | ||||
| @@ -502,7 +502,6 @@ void CMeterWindow::ChangeZPos(ZPOSITION zPos, bool all) | ||||
| { | ||||
| 	if(!m_ChildWindow) | ||||
| 	{ | ||||
| 		HWND parent = GetAncestor(m_Window, GA_PARENT); | ||||
| 		HWND winPos = HWND_NOTOPMOST; | ||||
| 		m_WindowZPosition = zPos; | ||||
|  | ||||
| @@ -1453,6 +1452,8 @@ void CMeterWindow::ReadConfig() | ||||
| 	m_AlphaValue = 255; | ||||
| 	m_FadeDuration = 250; | ||||
|  | ||||
| 	std::wstring group = L""; | ||||
|  | ||||
| 	CConfigParser parser; | ||||
| 	parser.Initialize(iniFile.c_str(), m_Rainmeter); | ||||
|  | ||||
| @@ -1532,6 +1533,9 @@ void CMeterWindow::ReadConfig() | ||||
|  | ||||
| 		m_FadeDuration = parser.ReadInt(section, L"FadeDuration", m_FadeDuration); | ||||
|  | ||||
| 		group = parser.ReadString(section, L"Group", group.c_str()); | ||||
| 		InitializeGroup(group); | ||||
|  | ||||
| 		// On the second loop override settings from the skin's section | ||||
| 		section = m_SkinName.c_str(); | ||||
| 	} | ||||
|   | ||||
| @@ -27,6 +27,7 @@ | ||||
| #include <list> | ||||
| #include <vector> | ||||
| #include "ConfigParser.h" | ||||
| #include "Group.h" | ||||
| #include "Export.h" | ||||
|  | ||||
| #define BEGIN_MESSAGEPROC switch(uMsg) { | ||||
| @@ -92,15 +93,10 @@ enum BANGCOMMAND | ||||
| 	BANG_TOGGLEMETER, | ||||
| 	BANG_SHOWMETER, | ||||
| 	BANG_HIDEMETER, | ||||
| 	BANG_MOVEMETER, | ||||
| 	BANG_TOGGLEMEASURE, | ||||
| 	BANG_ENABLEMEASURE, | ||||
| 	BANG_DISABLEMEASURE, | ||||
| 	BANG_TOGGLEMETERGROUP, | ||||
| 	BANG_SHOWMETERGROUP, | ||||
| 	BANG_HIDEMETERGROUP, | ||||
| 	BANG_TOGGLEMEASUREGROUP, | ||||
| 	BANG_ENABLEMEASUREGROUP, | ||||
| 	BANG_DISABLEMEASUREGROUP, | ||||
| 	BANG_SHOW, | ||||
| 	BANG_HIDE, | ||||
| 	BANG_TOGGLE, | ||||
| @@ -110,9 +106,16 @@ enum BANGCOMMAND | ||||
| 	BANG_MOVE, | ||||
| 	BANG_ZPOS, | ||||
| 	BANG_SETTRANSPARENCY, | ||||
|  | ||||
| 	BANG_TOGGLEMETERGROUP, | ||||
| 	BANG_SHOWMETERGROUP, | ||||
| 	BANG_HIDEMETERGROUP, | ||||
| 	BANG_TOGGLEMEASUREGROUP, | ||||
| 	BANG_ENABLEMEASUREGROUP, | ||||
| 	BANG_DISABLEMEASUREGROUP, | ||||
|  | ||||
| 	BANG_LSHOOK, | ||||
| 	BANG_ABOUT, | ||||
| 	BANG_MOVEMETER, | ||||
| 	BANG_PLUGIN, | ||||
| 	BANG_SETVARIABLE | ||||
| }; | ||||
| @@ -121,7 +124,7 @@ class CRainmeter; | ||||
| class CMeasure; | ||||
| class CMeter; | ||||
|  | ||||
| class CMeterWindow | ||||
| class CMeterWindow : public CGroup | ||||
| { | ||||
| public: | ||||
| 	CMeterWindow(std::wstring& path, std::wstring& config, std::wstring& iniFile); | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -48,30 +48,56 @@ enum PLATFORM | ||||
| 	PLATFORM_XP | ||||
| }; | ||||
|  | ||||
| void RainmeterActivateConfig(HWND, const char* arg); | ||||
| void RainmeterDeactivateConfig(HWND, const char* arg); | ||||
| void RainmeterToggleConfig(HWND, const char* arg); | ||||
| void RainmeterRefresh(HWND, const char* arg); | ||||
| void RainmeterRefreshApp(HWND, const char* arg); | ||||
| void RainmeterRedraw(HWND, const char* arg); | ||||
| void RainmeterToggleMeasure(HWND, const char* arg); | ||||
| void RainmeterEnableMeasure(HWND, const char* arg); | ||||
| void RainmeterDisableMeasure(HWND, const char* arg); | ||||
| void RainmeterToggleMeter(HWND, const char* arg); | ||||
| void RainmeterShowMeter(HWND, const char* arg); | ||||
| void RainmeterHideMeter(HWND, const char* arg); | ||||
| void RainmeterShow(HWND, const char* arg); | ||||
| void RainmeterHide(HWND, const char* arg); | ||||
| void RainmeterToggle(HWND, const char* arg); | ||||
| void RainmeterShowFade(HWND, const char* arg); | ||||
| void RainmeterHideFade(HWND, const char* arg); | ||||
| void RainmeterToggleFade(HWND, const char* arg); | ||||
| void RainmeterShowMeter(HWND, const char* arg); | ||||
| void RainmeterHideMeter(HWND, const char* arg); | ||||
| void RainmeterToggleMeter(HWND, const char* arg); | ||||
| void RainmeterMoveMeter(HWND, const char* arg); | ||||
| void RainmeterEnableMeasure(HWND, const char* arg); | ||||
| void RainmeterDisableMeasure(HWND, const char* arg); | ||||
| void RainmeterToggleMeasure(HWND, const char* arg); | ||||
| void RainmeterActivateConfig(HWND, const char* arg); | ||||
| void RainmeterDeactivateConfig(HWND, const char* arg); | ||||
| void RainmeterToggleConfig(HWND, const char* arg); | ||||
| void RainmeterMove(HWND, const char* arg); | ||||
| void RainmeterZPos(HWND, const char* arg); | ||||
| void RainmeterSetTransparency(HWND, const char* arg); | ||||
| void RainmeterSetVariable(HWND, const char* arg); | ||||
|  | ||||
| void RainmeterRefreshGroup(HWND, const char* arg); | ||||
| void RainmeterRedrawGroup(HWND, const char* arg); | ||||
| void RainmeterShowGroup(HWND, const char* arg); | ||||
| void RainmeterHideGroup(HWND, const char* arg); | ||||
| void RainmeterToggleGroup(HWND, const char* arg); | ||||
| void RainmeterShowFadeGroup(HWND, const char* arg); | ||||
| void RainmeterHideFadeGroup(HWND, const char* arg); | ||||
| void RainmeterToggleFadeGroup(HWND, const char* arg); | ||||
| void RainmeterShowMeterGroup(HWND, const char* arg); | ||||
| void RainmeterHideMeterGroup(HWND, const char* arg); | ||||
| void RainmeterToggleMeterGroup(HWND, const char* arg); | ||||
| void RainmeterEnableMeasureGroup(HWND, const char* arg); | ||||
| void RainmeterDisableMeasureGroup(HWND, const char* arg); | ||||
| void RainmeterToggleMeasureGroup(HWND, const char* arg); | ||||
| void RainmeterDeactivateConfigGroup(HWND, const char* arg); | ||||
| void RainmeterZPosGroup(HWND, const char* arg); | ||||
| void RainmeterSetTransparencyGroup(HWND, const char* arg); | ||||
| void RainmeterSetVariableGroup(HWND, const char* arg); | ||||
|  | ||||
| void RainmeterLsHook(HWND, const char* arg); | ||||
| void RainmeterAbout(HWND, const char* arg); | ||||
| void RainmeterSkinMenu(HWND, const char* arg); | ||||
| void RainmeterTrayMenu(HWND, const char* arg); | ||||
| void RainmeterResetStats(HWND, const char* arg); | ||||
| void RainmeterMoveMeter(HWND, const char* arg); | ||||
| void RainmeterPluginBang(HWND, const char* arg); | ||||
| void RainmeterQuit(HWND, const char* arg); | ||||
| void RainmeterSetVariable(HWND, const char* arg); | ||||
|  | ||||
| void BangWithArgs(BANGCOMMAND bang, const WCHAR* arg, size_t numOfArgs); | ||||
|  | ||||
| @@ -93,13 +119,6 @@ public: | ||||
| 		int active; | ||||
| 	}; | ||||
|  | ||||
| 	struct CONFIGORDER | ||||
| 	{ | ||||
| 		std::wstring config; | ||||
| 		int id; | ||||
| 		int active; | ||||
| 	}; | ||||
|  | ||||
| 	struct CONFIGMENU | ||||
| 	{ | ||||
| 		std::wstring name; | ||||
| @@ -121,9 +140,9 @@ public: | ||||
|  | ||||
| 	CMeterWindow* GetMeterWindow(const std::wstring& config); | ||||
| 	CMeterWindow* GetMeterWindow(HWND hwnd); | ||||
| 	void GetMeterWindowsByLoadOrder(std::multimap<int, CMeterWindow*>& windows, const std::wstring& group = L""); | ||||
| 	std::map<std::wstring, CMeterWindow*>& GetAllMeterWindows() { return m_Meters; }; | ||||
| 	const std::vector<CONFIG>& GetAllConfigs() { return m_ConfigStrings; }; | ||||
| 	const std::multimap<int, CONFIGORDER>& GetAllConfigOrders() { return m_ConfigOrders; } | ||||
| 	const std::vector<std::wstring>& GetAllThemes() { return m_Themes; }; | ||||
|  | ||||
| 	void ActivateConfig(int configIndex, int iniIndex); | ||||
| @@ -198,7 +217,7 @@ private: | ||||
| 	void ScanForConfigs(std::wstring& path); | ||||
| 	void ScanForThemes(std::wstring& path); | ||||
| 	void ReadGeneralSettings(std::wstring& path); | ||||
| 	void SetConfigOrder(const std::wstring& config, int index, int active); | ||||
| 	void SetConfigOrder(int configIndex); | ||||
| 	int GetLoadOrder(const std::wstring& config); | ||||
| 	bool SetActiveConfig(std::wstring& skinName, std::wstring& skinIni); | ||||
| 	void UpdateDesktopWorkArea(bool reset); | ||||
| @@ -218,7 +237,7 @@ private: | ||||
|  | ||||
| 	std::vector<CONFIG> m_ConfigStrings;	    // All configs found in the given folder | ||||
| 	std::vector<CONFIGMENU> m_ConfigMenu; | ||||
| 	std::multimap<int, CONFIGORDER> m_ConfigOrders; | ||||
| 	std::multimap<int, int> m_ConfigOrders; | ||||
| 	std::map<std::wstring, CMeterWindow*> m_Meters;			// The meter windows | ||||
| 	std::vector<std::wstring> m_Themes; | ||||
|  | ||||
| @@ -240,7 +259,8 @@ private: | ||||
| 	BOOL m_DisableVersionCheck; | ||||
| 	BOOL m_NewVersion; | ||||
| 	 | ||||
| 	BOOL m_DesktopWorkAreaChanged; | ||||
| 	bool m_DesktopWorkAreaChanged; | ||||
| 	bool m_DesktopWorkAreaType;			// If true, DesktopWorkArea is treated as "margin" | ||||
| 	std::map<UINT, RECT> m_DesktopWorkAreas; | ||||
| 	std::vector<RECT> m_OldDesktopWorkAreas; | ||||
|  | ||||
|   | ||||
| @@ -134,10 +134,23 @@ void CSystem::Finalize() | ||||
| 	KillTimer(c_Window, TIMER_NETSTATS); | ||||
| 	KillTimer(c_Window, TIMER_DELETELATER); | ||||
|  | ||||
| 	if (c_WinEventHook) UnhookWinEvent(c_WinEventHook); | ||||
| 	if (c_WinEventHook) | ||||
| 	{ | ||||
| 		UnhookWinEvent(c_WinEventHook); | ||||
| 		c_WinEventHook = NULL; | ||||
| 	} | ||||
|  | ||||
| 	if (c_HelperWindow) DestroyWindow(c_HelperWindow); | ||||
| 	if (c_Window) DestroyWindow(c_Window); | ||||
| 	if (c_HelperWindow) | ||||
| 	{ | ||||
| 		DestroyWindow(c_HelperWindow); | ||||
| 		c_HelperWindow = NULL; | ||||
| 	} | ||||
|  | ||||
| 	if (c_Window) | ||||
| 	{ | ||||
| 		DestroyWindow(c_Window); | ||||
| 		c_Window = NULL; | ||||
| 	} | ||||
| } | ||||
|  | ||||
| /* MyInfoEnumProc | ||||
| @@ -522,7 +535,7 @@ void CSystem::UpdateWorkareaInfo() | ||||
|  | ||||
| 			if (CRainmeter::GetDebug()) | ||||
| 			{ | ||||
| 				DebugLog(L"WorkArea @%i : L=%i, T=%i, R=%i, B=%i (W=%i, H=%i)", | ||||
| 				DebugLog(L"WorkArea@%i : L=%i, T=%i, R=%i, B=%i (W=%i, H=%i)", | ||||
| 					i + 1, | ||||
| 					info.rcWork.left, info.rcWork.top, info.rcWork.right, info.rcWork.bottom, | ||||
| 					info.rcWork.right - info.rcWork.left, info.rcWork.bottom - info.rcWork.top); | ||||
|   | ||||
| @@ -50,6 +50,8 @@ public: | ||||
| 	static void Initialize(HINSTANCE instance); | ||||
| 	static void Finalize(); | ||||
|  | ||||
| 	static HWND GetWindow() { return c_Window; } | ||||
|  | ||||
| 	static const MULTIMONITOR_INFO& GetMultiMonitorInfo() { return c_Monitors; } | ||||
| 	static size_t GetMonitorCount(); | ||||
|  | ||||
|   | ||||
| @@ -1,2 +1,2 @@ | ||||
| #pragma once | ||||
| const int revision_number = 467; | ||||
| const int revision_number = 470; | ||||
		Reference in New Issue
	
	Block a user
	 jsmorley
					jsmorley