Minor tweaks.

This commit is contained in:
spx 2011-11-18 22:40:58 +00:00
parent af8be41663
commit efc8275ed1
11 changed files with 61 additions and 53 deletions

View File

@ -668,7 +668,7 @@ void CConfigParser::AddMeasure(CMeasure* pMeasure)
{ {
if (pMeasure) if (pMeasure)
{ {
m_Measures[StrToLower(pMeasure->GetName())] = pMeasure; m_Measures[StrToLower(pMeasure->GetOriginalName())] = pMeasure;
} }
} }

View File

@ -108,8 +108,8 @@ private:
static void SetMultiMonitorVariables(bool reset); static void SetMultiMonitorVariables(bool reset);
static void SetMonitorVariable(const std::wstring& strVariable, const std::wstring& strValue) { SetVariable(c_MonitorVariables, strVariable, strValue); } static void SetMonitorVariable(const std::wstring& strVariable, const std::wstring& strValue) { SetVariable(c_MonitorVariables, strVariable, strValue); }
static std::wstring StrToLower(const std::wstring& str) { std::wstring strTmp(str); return StrToLowerC(strTmp); } static std::wstring StrToLower(const std::wstring& str) { std::wstring strTmp(str); StrToLowerC(strTmp); return strTmp; }
static std::wstring StrToLower(const WCHAR* str) { std::wstring strTmp(str); return StrToLowerC(strTmp); } static std::wstring StrToLower(const WCHAR* str) { std::wstring strTmp(str); StrToLowerC(strTmp); return strTmp; }
static std::wstring& StrToLowerC(std::wstring& str) { std::transform(str.begin(), str.end(), str.begin(), ::towlower); return str; } static std::wstring& StrToLowerC(std::wstring& str) { std::transform(str.begin(), str.end(), str.begin(), ::towlower); return str; }
std::wstring m_Filename; std::wstring m_Filename;

View File

@ -56,6 +56,7 @@ public:
virtual const WCHAR* GetStats(); virtual const WCHAR* GetStats();
const WCHAR* GetName() { return m_Name.c_str(); } const WCHAR* GetName() { return m_Name.c_str(); }
const std::wstring& GetOriginalName() { return m_Name; }
const char* GetAsciiName() { return m_AsciiName.c_str(); } const char* GetAsciiName() { return m_AsciiName.c_str(); }
void Disable() { m_Disabled = true; } void Disable() { m_Disabled = true; }

View File

@ -390,14 +390,14 @@ void CMeter::ReadConfig(CConfigParser& parser, const WCHAR* section)
m_SolidColor2 = parser.ReadColor(section, L"SolidColor2", m_SolidColor); m_SolidColor2 = parser.ReadColor(section, L"SolidColor2", m_SolidColor);
m_SolidAngle = (Gdiplus::REAL)parser.ReadFloat(section, L"GradientAngle", 0.0); m_SolidAngle = (Gdiplus::REAL)parser.ReadFloat(section, L"GradientAngle", 0.0);
m_RightMouseDownAction = parser.ReadString(section, L"RightMouseDownAction", L"", false);
m_LeftMouseDownAction = parser.ReadString(section, L"LeftMouseDownAction", L"", false); m_LeftMouseDownAction = parser.ReadString(section, L"LeftMouseDownAction", L"", false);
m_RightMouseDownAction = parser.ReadString(section, L"RightMouseDownAction", L"", false);
m_MiddleMouseDownAction = parser.ReadString(section, L"MiddleMouseDownAction", L"", false); m_MiddleMouseDownAction = parser.ReadString(section, L"MiddleMouseDownAction", L"", false);
m_RightMouseUpAction = parser.ReadString(section, L"RightMouseUpAction", L"", false);
m_LeftMouseUpAction = parser.ReadString(section, L"LeftMouseUpAction", L"", false); m_LeftMouseUpAction = parser.ReadString(section, L"LeftMouseUpAction", L"", false);
m_RightMouseUpAction = parser.ReadString(section, L"RightMouseUpAction", L"", false);
m_MiddleMouseUpAction = parser.ReadString(section, L"MiddleMouseUpAction", L"", false); m_MiddleMouseUpAction = parser.ReadString(section, L"MiddleMouseUpAction", L"", false);
m_RightMouseDoubleClickAction = parser.ReadString(section, L"RightMouseDoubleClickAction", L"", false);
m_LeftMouseDoubleClickAction = parser.ReadString(section, L"LeftMouseDoubleClickAction", L"", false); m_LeftMouseDoubleClickAction = parser.ReadString(section, L"LeftMouseDoubleClickAction", L"", false);
m_RightMouseDoubleClickAction = parser.ReadString(section, L"RightMouseDoubleClickAction", L"", false);
m_MiddleMouseDoubleClickAction = parser.ReadString(section, L"MiddleMouseDoubleClickAction", L"", false); m_MiddleMouseDoubleClickAction = parser.ReadString(section, L"MiddleMouseDoubleClickAction", L"", false);
m_MouseOverAction = parser.ReadString(section, L"MouseOverAction", L"", false); m_MouseOverAction = parser.ReadString(section, L"MouseOverAction", L"", false);
m_MouseLeaveAction = parser.ReadString(section, L"MouseLeaveAction", L"", false); m_MouseLeaveAction = parser.ReadString(section, L"MouseLeaveAction", L"", false);

View File

@ -92,6 +92,7 @@ public:
bool IsMouseOver() { return m_MouseOver; } bool IsMouseOver() { return m_MouseOver; }
const WCHAR* GetName() { return m_Name.c_str(); } const WCHAR* GetName() { return m_Name.c_str(); }
const std::wstring& GetOriginalName() { return m_Name; }
void ResetUpdateCounter() { m_UpdateCounter = m_UpdateDivider; } void ResetUpdateCounter() { m_UpdateCounter = m_UpdateDivider; }
int GetUpdateCounter() { return m_UpdateCounter; } int GetUpdateCounter() { return m_UpdateCounter; }
@ -156,14 +157,14 @@ protected:
HWND m_ToolTipHandle; HWND m_ToolTipHandle;
std::wstring m_RightMouseDownAction; // Actions for left and right and middle mouse buttons std::wstring m_LeftMouseDownAction; // Actions for left/right/middle mouse buttons
std::wstring m_RightMouseUpAction; std::wstring m_RightMouseDownAction;
std::wstring m_RightMouseDoubleClickAction;
std::wstring m_LeftMouseDownAction;
std::wstring m_LeftMouseUpAction;
std::wstring m_LeftMouseDoubleClickAction;
std::wstring m_MiddleMouseDownAction; std::wstring m_MiddleMouseDownAction;
std::wstring m_LeftMouseUpAction;
std::wstring m_RightMouseUpAction;
std::wstring m_MiddleMouseUpAction; std::wstring m_MiddleMouseUpAction;
std::wstring m_LeftMouseDoubleClickAction;
std::wstring m_RightMouseDoubleClickAction;
std::wstring m_MiddleMouseDoubleClickAction; std::wstring m_MiddleMouseDoubleClickAction;
std::wstring m_MouseOverAction; std::wstring m_MouseOverAction;
std::wstring m_MouseLeaveAction; std::wstring m_MouseLeaveAction;

View File

@ -1468,11 +1468,11 @@ void CMeterWindow::SetOption(const WCHAR* arg, bool group)
if (value.empty()) if (value.empty())
{ {
GetParser().DeleteValue((*j)->GetName(), option); GetParser().DeleteValue((*j)->GetOriginalName(), option);
} }
else else
{ {
GetParser().SetValue((*j)->GetName(), option, value); GetParser().SetValue((*j)->GetOriginalName(), option, value);
} }
} }
} }
@ -2138,14 +2138,14 @@ bool CMeterWindow::ReadSkin()
} }
} }
m_RightMouseDownAction = m_Parser.ReadString(L"Rainmeter", L"RightMouseDownAction", L"", false);
m_LeftMouseDownAction = m_Parser.ReadString(L"Rainmeter", L"LeftMouseDownAction", L"", false); m_LeftMouseDownAction = m_Parser.ReadString(L"Rainmeter", L"LeftMouseDownAction", L"", false);
m_RightMouseDownAction = m_Parser.ReadString(L"Rainmeter", L"RightMouseDownAction", L"", false);
m_MiddleMouseDownAction = m_Parser.ReadString(L"Rainmeter", L"MiddleMouseDownAction", L"", false); m_MiddleMouseDownAction = m_Parser.ReadString(L"Rainmeter", L"MiddleMouseDownAction", L"", false);
m_RightMouseUpAction = m_Parser.ReadString(L"Rainmeter", L"RightMouseUpAction", L"", false);
m_LeftMouseUpAction = m_Parser.ReadString(L"Rainmeter", L"LeftMouseUpAction", L"", false); m_LeftMouseUpAction = m_Parser.ReadString(L"Rainmeter", L"LeftMouseUpAction", L"", false);
m_RightMouseUpAction = m_Parser.ReadString(L"Rainmeter", L"RightMouseUpAction", L"", false);
m_MiddleMouseUpAction = m_Parser.ReadString(L"Rainmeter", L"MiddleMouseUpAction", L"", false); m_MiddleMouseUpAction = m_Parser.ReadString(L"Rainmeter", L"MiddleMouseUpAction", L"", false);
m_RightMouseDoubleClickAction = m_Parser.ReadString(L"Rainmeter", L"RightMouseDoubleClickAction", L"", false);
m_LeftMouseDoubleClickAction = m_Parser.ReadString(L"Rainmeter", L"LeftMouseDoubleClickAction", L"", false); m_LeftMouseDoubleClickAction = m_Parser.ReadString(L"Rainmeter", L"LeftMouseDoubleClickAction", L"", false);
m_RightMouseDoubleClickAction = m_Parser.ReadString(L"Rainmeter", L"RightMouseDoubleClickAction", L"", false);
m_MiddleMouseDoubleClickAction = m_Parser.ReadString(L"Rainmeter", L"MiddleMouseDoubleClickAction", L"", false); m_MiddleMouseDoubleClickAction = m_Parser.ReadString(L"Rainmeter", L"MiddleMouseDoubleClickAction", L"", false);
m_MouseOverAction = m_Parser.ReadString(L"Rainmeter", L"MouseOverAction", L"", false); m_MouseOverAction = m_Parser.ReadString(L"Rainmeter", L"MouseOverAction", L"", false);
m_MouseLeaveAction = m_Parser.ReadString(L"Rainmeter", L"MouseLeaveAction", L"", false); m_MouseLeaveAction = m_Parser.ReadString(L"Rainmeter", L"MouseLeaveAction", L"", false);

View File

@ -360,14 +360,14 @@ private:
HWND m_Window; // Handle to the Rainmeter window HWND m_Window; // Handle to the Rainmeter window
std::wstring m_RightMouseDownAction; // Action to run when right mouse is pressed
std::wstring m_LeftMouseDownAction; // Action to run when left mouse is pressed std::wstring m_LeftMouseDownAction; // Action to run when left mouse is pressed
std::wstring m_RightMouseDownAction; // Action to run when right mouse is pressed
std::wstring m_MiddleMouseDownAction; // Action to run when middle mouse is pressed std::wstring m_MiddleMouseDownAction; // Action to run when middle mouse is pressed
std::wstring m_RightMouseUpAction; // Action to run when right mouse is released
std::wstring m_LeftMouseUpAction; // Action to run when left mouse is released std::wstring m_LeftMouseUpAction; // Action to run when left mouse is released
std::wstring m_RightMouseUpAction; // Action to run when right mouse is released
std::wstring m_MiddleMouseUpAction; // Action to run when middle mouse is released std::wstring m_MiddleMouseUpAction; // Action to run when middle mouse is released
std::wstring m_RightMouseDoubleClickAction; // Action to run when right mouse is double-clicked
std::wstring m_LeftMouseDoubleClickAction; // Action to run when left mouse is double-clicked std::wstring m_LeftMouseDoubleClickAction; // Action to run when left mouse is double-clicked
std::wstring m_RightMouseDoubleClickAction; // Action to run when right mouse is double-clicked
std::wstring m_MiddleMouseDoubleClickAction; // Action to run when middle mouse is double-clicked std::wstring m_MiddleMouseDoubleClickAction; // Action to run when middle mouse is double-clicked
std::wstring m_MouseOverAction; // Action to run when mouse goes over the window std::wstring m_MouseOverAction; // Action to run when mouse goes over the window
std::wstring m_MouseLeaveAction; // Action to run when mouse leaves the window std::wstring m_MouseLeaveAction; // Action to run when mouse leaves the window

View File

@ -1148,10 +1148,10 @@ void CRainmeter::ActivateActiveConfigs()
std::multimap<int, int>::const_iterator iter = m_ConfigOrders.begin(); std::multimap<int, int>::const_iterator iter = m_ConfigOrders.begin();
for ( ; iter != m_ConfigOrders.end(); ++iter) for ( ; iter != m_ConfigOrders.end(); ++iter)
{ {
const CONFIG& config = m_ConfigStrings[(*iter).second]; const CONFIG& configS = m_ConfigStrings[(*iter).second];
if (config.active > 0 && config.active <= (int)config.iniFiles.size()) if (configS.active > 0 && configS.active <= (int)configS.iniFiles.size())
{ {
ActivateConfig((*iter).second, config.active - 1); ActivateConfig((*iter).second, configS.active - 1);
} }
} }
} }
@ -1403,12 +1403,13 @@ std::pair<int, int> CRainmeter::GetMeterWindowIndex(const std::wstring& config,
for (int i = 0, isize = (int)m_ConfigStrings.size(); i < isize; ++i) for (int i = 0, isize = (int)m_ConfigStrings.size(); i < isize; ++i)
{ {
if (_wcsicmp(m_ConfigStrings[i].config.c_str(), configName) == 0) const CONFIG& configS = m_ConfigStrings[i];
if (_wcsicmp(configS.config.c_str(), configName) == 0)
{ {
const WCHAR* iniFileName = iniFile.c_str(); const WCHAR* iniFileName = iniFile.c_str();
for (int j = 0, jsize = (int)m_ConfigStrings[i].iniFiles.size(); j < jsize; ++j) for (int j = 0, jsize = (int)configS.iniFiles.size(); j < jsize; ++j)
{ {
if (_wcsicmp(m_ConfigStrings[i].iniFiles[j].c_str(), iniFileName) == 0) if (_wcsicmp(configS.iniFiles[j].c_str(), iniFileName) == 0)
{ {
indexes = std::make_pair(i, j); indexes = std::make_pair(i, j);
return indexes; return indexes;
@ -1430,10 +1431,11 @@ std::pair<int, int> CRainmeter::GetMeterWindowIndex(UINT menuCommand)
// Check which config was selected // Check which config was selected
for (size_t i = 0, isize = m_ConfigStrings.size(); i < isize; ++i) for (size_t i = 0, isize = m_ConfigStrings.size(); i < isize; ++i)
{ {
if (menuCommand >= m_ConfigStrings[i].commandBase && const CONFIG& configS = m_ConfigStrings[i];
menuCommand < (m_ConfigStrings[i].commandBase + m_ConfigStrings[i].iniFiles.size())) if (menuCommand >= configS.commandBase &&
menuCommand < (configS.commandBase + configS.iniFiles.size()))
{ {
indexes = std::make_pair(i, menuCommand - m_ConfigStrings[i].commandBase); indexes = std::make_pair(i, menuCommand - configS.commandBase);
return indexes; return indexes;
} }
} }
@ -1443,7 +1445,6 @@ std::pair<int, int> CRainmeter::GetMeterWindowIndex(UINT menuCommand)
return indexes; return indexes;
} }
CMeterWindow* CRainmeter::GetMeterWindow(HWND hwnd) CMeterWindow* CRainmeter::GetMeterWindow(HWND hwnd)
{ {
std::map<std::wstring, CMeterWindow*>::const_iterator iter = m_Meters.begin(); std::map<std::wstring, CMeterWindow*>::const_iterator iter = m_Meters.begin();
@ -1593,6 +1594,8 @@ int CRainmeter::ScanForConfigsRecursive(const std::wstring& path, std::wstring b
base += L"\\"; base += L"\\";
} }
menu.reserve(menu.size() + folders.size());
std::list<std::wstring>::const_iterator iter = folders.begin(); std::list<std::wstring>::const_iterator iter = folders.begin();
for ( ; iter != folders.end(); ++iter) for ( ; iter != folders.end(); ++iter)
{ {
@ -2227,15 +2230,16 @@ void CRainmeter::ReadGeneralSettings(const std::wstring& iniFile)
for (int i = 0, isize = (int)m_ConfigStrings.size(); i < isize; ++i) for (int i = 0, isize = (int)m_ConfigStrings.size(); i < isize; ++i)
{ {
int active = parser.ReadInt(m_ConfigStrings[i].config.c_str(), L"Active", 0); CONFIG& configS = m_ConfigStrings[i];
int active = parser.ReadInt(configS.config.c_str(), L"Active", 0);
// Make sure there is a ini file available // Make sure there is a ini file available
if (active > 0 && active <= (int)m_ConfigStrings[i].iniFiles.size()) if (active > 0 && active <= (int)configS.iniFiles.size())
{ {
m_ConfigStrings[i].active = active; configS.active = active;
} }
int order = parser.ReadInt(m_ConfigStrings[i].config.c_str(), L"LoadOrder", 0); int order = parser.ReadInt(configS.config.c_str(), L"LoadOrder", 0);
SetLoadOrder(i, order); SetLoadOrder(i, order);
} }
} }
@ -2277,19 +2281,20 @@ void CRainmeter::RefreshAll()
const std::wstring& skinConfig = mw->GetSkinName(); const std::wstring& skinConfig = mw->GetSkinName();
for (int i = 0, isize = (int)m_ConfigStrings.size(); i < isize; ++i) for (int i = 0, isize = (int)m_ConfigStrings.size(); i < isize; ++i)
{ {
if (_wcsicmp(skinConfig.c_str(), m_ConfigStrings[i].config.c_str()) == 0) CONFIG& configS = m_ConfigStrings[i];
if (_wcsicmp(skinConfig.c_str(), configS.config.c_str()) == 0)
{ {
found = 1; found = 1;
const std::wstring& skinIniFile = mw->GetSkinIniFile(); const std::wstring& skinIniFile = mw->GetSkinIniFile();
for (int j = 0, jsize = (int)m_ConfigStrings[i].iniFiles.size(); j < jsize; ++j) for (int j = 0, jsize = (int)configS.iniFiles.size(); j < jsize; ++j)
{ {
if (_wcsicmp(skinIniFile.c_str(), m_ConfigStrings[i].iniFiles[j].c_str()) == 0) if (_wcsicmp(skinIniFile.c_str(), configS.iniFiles[j].c_str()) == 0)
{ {
found = 2; found = 2;
if (m_ConfigStrings[i].active != j + 1) if (configS.active != j + 1)
{ {
// Switch to new ini-file order // Switch to new ini-file order
m_ConfigStrings[i].active = j + 1; configS.active = j + 1;
WriteActive(skinConfig, j); WriteActive(skinConfig, j);
} }
break; break;
@ -2738,9 +2743,10 @@ HMENU CRainmeter::CreateConfigMenu(HMENU configMenu, const std::vector<CONFIGMEN
bool separator = false; bool separator = false;
for (int i = 0, j = 0, isize = (int)configMenuData.size(); i < isize; ++i) for (int i = 0, j = 0, isize = (int)configMenuData.size(); i < isize; ++i)
{ {
if (configMenuData[i].index == -1) const CONFIGMENU& configMenuS = configMenuData[i];
if (configMenuS.index == -1)
{ {
HMENU submenu = CreateConfigMenu(NULL, configMenuData[i].children); HMENU submenu = CreateConfigMenu(NULL, configMenuS.children);
if (submenu) if (submenu)
{ {
if (separator) if (separator)
@ -2750,13 +2756,13 @@ HMENU CRainmeter::CreateConfigMenu(HMENU configMenu, const std::vector<CONFIGMEN
++j; ++j;
separator = false; separator = false;
} }
InsertMenu(configMenu, i + j, MF_BYPOSITION | MF_POPUP, (UINT_PTR)submenu, configMenuData[i].name.c_str()); InsertMenu(configMenu, i + j, MF_BYPOSITION | MF_POPUP, (UINT_PTR)submenu, configMenuS.name.c_str());
} }
} }
else else
{ {
CONFIG& config = m_ConfigStrings[configMenuData[i].index]; const CONFIG& configS = m_ConfigStrings[configMenuS.index];
InsertMenu(configMenu, i, MF_BYPOSITION | ((config.active == i + 1) ? MF_CHECKED : MF_UNCHECKED), config.commandBase + i, configMenuData[i].name.c_str()); InsertMenu(configMenu, i, MF_BYPOSITION | ((configS.active == i + 1) ? MF_CHECKED : MF_UNCHECKED), configS.commandBase + i, configMenuS.name.c_str());
separator = true; separator = true;
} }
} }
@ -2930,12 +2936,12 @@ HMENU CRainmeter::CreateSkinMenu(CMeterWindow* meterWindow, int index, HMENU con
const WCHAR* skin = skinName.c_str(); const WCHAR* skin = skinName.c_str();
for (int i = 0, isize = (int)m_ConfigStrings.size(); i < isize; ++i) for (int i = 0, isize = (int)m_ConfigStrings.size(); i < isize; ++i)
{ {
const CONFIG& config = m_ConfigStrings[i]; const CONFIG& configS = m_ConfigStrings[i];
if (_wcsicmp(config.config.c_str(), skin) == 0) if (_wcsicmp(configS.config.c_str(), skin) == 0)
{ {
for (int j = 0, jsize = (int)config.iniFiles.size(); j < jsize; ++j) for (int j = 0, jsize = (int)configS.iniFiles.size(); j < jsize; ++j)
{ {
InsertMenu(variantsMenu, j, MF_BYPOSITION | ((config.active == j + 1) ? MF_CHECKED : MF_UNCHECKED), config.commandBase + j, config.iniFiles[j].c_str()); InsertMenu(variantsMenu, j, MF_BYPOSITION | ((configS.active == j + 1) ? MF_CHECKED : MF_UNCHECKED), configS.commandBase + j, configS.iniFiles[j].c_str());
} }
break; break;
} }

View File

@ -107,7 +107,7 @@ void CSystem::Initialize(HINSTANCE instance)
SetOSPlatform(); SetOSPlatform();
c_Monitors.monitors.reserve(8); c_Monitors.monitors.reserve(4);
SetMultiMonitorInfo(); SetMultiMonitorInfo();
WCHAR directory[MAX_PATH] = {0}; WCHAR directory[MAX_PATH] = {0};

View File

@ -19,9 +19,9 @@ static int Measure_GetOption(lua_State* L)
CConfigParser& parser = meterWindow->GetParser(); CConfigParser& parser = meterWindow->GetParser();
std::wstring strTmp = LuaManager::ToWide(L, 2); std::wstring strTmp = LuaManager::ToWide(L, 2);
strTmp = parser.GetValue(self->GetName(), strTmp, L""); strTmp = parser.GetValue(self->GetOriginalName(), strTmp, L"");
parser.SetBuiltInVariable(L"CURRENTSECTION", self->GetName()); // Set temporarily parser.SetBuiltInVariable(L"CURRENTSECTION", self->GetOriginalName()); // Set temporarily
parser.ReplaceVariables(strTmp); parser.ReplaceVariables(strTmp);
parser.SetBuiltInVariable(L"CURRENTSECTION", L""); // Reset parser.SetBuiltInVariable(L"CURRENTSECTION", L""); // Reset
parser.ReplaceMeasures(strTmp); parser.ReplaceMeasures(strTmp);

View File

@ -18,9 +18,9 @@ static int Meter_GetOption(lua_State* L)
CConfigParser& parser = meterWindow->GetParser(); CConfigParser& parser = meterWindow->GetParser();
std::wstring strTmp = LuaManager::ToWide(L, 2); std::wstring strTmp = LuaManager::ToWide(L, 2);
strTmp = parser.GetValue(self->GetName(), strTmp, L""); strTmp = parser.GetValue(self->GetOriginalName(), strTmp, L"");
parser.SetBuiltInVariable(L"CURRENTSECTION", self->GetName()); // Set temporarily parser.SetBuiltInVariable(L"CURRENTSECTION", self->GetOriginalName()); // Set temporarily
parser.ReplaceVariables(strTmp); parser.ReplaceVariables(strTmp);
parser.SetBuiltInVariable(L"CURRENTSECTION", L""); // Reset parser.SetBuiltInVariable(L"CURRENTSECTION", L""); // Reset
parser.ReplaceMeasures(strTmp); parser.ReplaceMeasures(strTmp);