diff --git a/Library/Meter.cpp b/Library/Meter.cpp index 11747d21..6395b528 100644 --- a/Library/Meter.cpp +++ b/Library/Meter.cpp @@ -61,6 +61,7 @@ CMeter::CMeter(CMeterWindow* meterWindow) m_Initialized = false; m_HasMouseAction = false; m_MouseActionCursor = true; + m_ToolTipHidden = false; m_ToolTipHandle = NULL; @@ -365,7 +366,7 @@ void CMeter::ReadConfig(const WCHAR* section) m_ToolTipIcon = parser.ReadString(section, L"ToolTipIcon", L"", true); m_ToolTipWidth = (int)parser.ReadFormula(section, L"ToolTipWidth", 1000); m_ToolTipType = 0!=parser.ReadInt(section, L"ToolTipType", 0); - m_ToolTipHidden = 0!=parser.ReadInt(section, L"ToolTipHidden", 0); + m_ToolTipHidden = 0!=parser.ReadInt(section, L"ToolTipHidden", m_ToolTipHidden); m_MeasureName = parser.ReadString(section, L"MeasureName", L""); @@ -679,9 +680,10 @@ void CMeter::UpdateToolTip() DestroyIcon(hIcon); } } + if (m_ToolTipHidden) { - SendMessage(hwndTT, TTM_ACTIVATE, false, NULL); + SendMessage(hwndTT, TTM_ACTIVATE, FALSE, NULL); } else { diff --git a/Library/Meter.h b/Library/Meter.h index dbdd785a..45c64226 100644 --- a/Library/Meter.h +++ b/Library/Meter.h @@ -72,6 +72,8 @@ public: const std::wstring& GetToolTipText() { return m_ToolTipText; }; HWND GetToolTipHandle() { return m_ToolTipHandle; }; void SetToolTipHandle(HWND handle) { m_ToolTipHandle = handle; }; + void SetToolTipHidden(bool b) { m_ToolTipHidden = b; }; + bool IsToolTipHidden() { return m_ToolTipHidden; }; void CreateToolTip(CMeterWindow* meterWindow); void UpdateToolTip(); @@ -131,6 +133,7 @@ protected: std::wstring m_ToolTipTitle; std::wstring m_ToolTipIcon; unsigned int m_ToolTipWidth; + unsigned int m_ToolTipDelay; bool m_ToolTipType; bool m_ToolTipHidden; diff --git a/Library/MeterWindow.cpp b/Library/MeterWindow.cpp index 1142dc0f..205e21d8 100644 --- a/Library/MeterWindow.cpp +++ b/Library/MeterWindow.cpp @@ -980,7 +980,10 @@ void CMeterWindow::ShowMeter(const WCHAR* name, bool group) (*j)->Show(); if ((*j)->GetToolTipHandle() != NULL) { - SendMessage((*j)->GetToolTipHandle(), TTM_ACTIVATE, TRUE, NULL); + if (!(*j)->IsToolTipHidden()) + { + SendMessage((*j)->GetToolTipHandle(), TTM_ACTIVATE, TRUE, NULL); + } } m_ResetRegion = true; // Need to recalculate the window region if (!group) return; @@ -1822,6 +1825,7 @@ bool CMeterWindow::ReadSkin() m_WindowUpdate = m_Parser.ReadInt(L"Rainmeter", L"Update", 1000); m_TransitionUpdate = m_Parser.ReadInt(L"Rainmeter", L"TransitionUpdate", 100); m_MouseActionCursor = 0 != m_Parser.ReadInt(L"Rainmeter", L"MouseActionCursor", 1); + m_ToolTipHidden = 0 != m_Parser.ReadInt(L"Rainmeter", L"ToolTipHidden", 0); // Checking for localfonts std::wstring localFont = m_Parser.ReadString(L"Rainmeter", L"LocalFont", L""); @@ -1980,11 +1984,16 @@ bool CMeterWindow::ReadSkin() { meter->SetName(strSection.c_str()); - if(m_MouseActionCursor == false) + if (m_MouseActionCursor == false) { meter->SetMouseActionCursor(false); } + if (m_ToolTipHidden == true) + { + meter->SetToolTipHidden(true); + } + meter->ReadConfig(strSection.c_str()); } } diff --git a/Library/MeterWindow.h b/Library/MeterWindow.h index 0967d51f..5ebc70a5 100644 --- a/Library/MeterWindow.h +++ b/Library/MeterWindow.h @@ -373,6 +373,7 @@ private: Gdiplus::PrivateFontCollection* m_FontCollection; bool m_MouseActionCursor; + bool m_ToolTipHidden; }; #endif