mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Fixed messagebox and context menu layout with RTL languages
This commit is contained in:
parent
15380f1697
commit
0ce52f744a
@ -1160,7 +1160,7 @@ void CConfigParser::ReadIniFile(const std::wstring& iniFile, LPCTSTR skinSection
|
|||||||
{
|
{
|
||||||
if (depth > 100) // Is 100 enough to assume the include loop never ends?
|
if (depth > 100) // Is 100 enough to assume the include loop never ends?
|
||||||
{
|
{
|
||||||
MessageBox(NULL, GetString(ID_STR_INCLUDEINFINITELOOP), APPNAME, MB_OK | MB_TOPMOST | MB_ICONERROR);
|
Rainmeter->ShowMessage(NULL, GetString(ID_STR_INCLUDEINFINITELOOP), MB_OK | MB_ICONERROR);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1414,7 +1414,7 @@ INT_PTR CDialogManage::CTabThemes::OnCommand(WPARAM wParam, LPARAM lParam)
|
|||||||
if (alreadyExists)
|
if (alreadyExists)
|
||||||
{
|
{
|
||||||
std::wstring text = GetFormattedString(ID_STR_THEMEALREADYEXISTS, theme.c_str());
|
std::wstring text = GetFormattedString(ID_STR_THEMEALREADYEXISTS, theme.c_str());
|
||||||
if (MessageBox(m_Window, text.c_str(), APPNAME, MB_ICONWARNING | MB_YESNO | MB_TOPMOST) != IDYES)
|
if (Rainmeter->ShowMessage(m_Window, text.c_str(), MB_ICONWARNING | MB_YESNO) != IDYES)
|
||||||
{
|
{
|
||||||
// Cancel
|
// Cancel
|
||||||
break;
|
break;
|
||||||
@ -1434,7 +1434,7 @@ INT_PTR CDialogManage::CTabThemes::OnCommand(WPARAM wParam, LPARAM lParam)
|
|||||||
if (!CSystem::CopyFiles(Rainmeter->GetIniFile(), path))
|
if (!CSystem::CopyFiles(Rainmeter->GetIniFile(), path))
|
||||||
{
|
{
|
||||||
std::wstring text = GetFormattedString(ID_STR_THEMESAVEFAIL, path.c_str());
|
std::wstring text = GetFormattedString(ID_STR_THEMESAVEFAIL, path.c_str());
|
||||||
MessageBox(m_Window, text.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONERROR);
|
Rainmeter->ShowMessage(m_Window, text.c_str(), MB_OK | MB_ICONERROR);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1476,7 +1476,7 @@ INT_PTR CDialogManage::CTabThemes::OnCommand(WPARAM wParam, LPARAM lParam)
|
|||||||
if (file == INVALID_HANDLE_VALUE)
|
if (file == INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
std::wstring text = GetFormattedString(ID_STR_THEMESAVEFAIL, path.c_str());
|
std::wstring text = GetFormattedString(ID_STR_THEMESAVEFAIL, path.c_str());
|
||||||
MessageBox(m_Window, text.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONERROR);
|
Rainmeter->ShowMessage(m_Window, text.c_str(), MB_OK | MB_ICONERROR);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1521,7 +1521,7 @@ INT_PTR CDialogManage::CTabThemes::OnCommand(WPARAM wParam, LPARAM lParam)
|
|||||||
std::vector<std::wstring>& themes = const_cast<std::vector<std::wstring>&>(Rainmeter->GetAllThemes());
|
std::vector<std::wstring>& themes = const_cast<std::vector<std::wstring>&>(Rainmeter->GetAllThemes());
|
||||||
|
|
||||||
std::wstring text = GetFormattedString(ID_STR_THEMEDELETE, themes[sel].c_str());
|
std::wstring text = GetFormattedString(ID_STR_THEMEDELETE, themes[sel].c_str());
|
||||||
if (MessageBox(m_Window, text.c_str(), APPNAME, MB_ICONQUESTION | MB_YESNO | MB_TOPMOST) != IDYES)
|
if (Rainmeter->ShowMessage(m_Window, text.c_str(), MB_ICONQUESTION | MB_YESNO) != IDYES)
|
||||||
{
|
{
|
||||||
// Cancel
|
// Cancel
|
||||||
break;
|
break;
|
||||||
|
@ -1949,7 +1949,7 @@ bool CMeterWindow::ReadSkin()
|
|||||||
if (_waccess(iniFile.c_str(), 0) == -1)
|
if (_waccess(iniFile.c_str(), 0) == -1)
|
||||||
{
|
{
|
||||||
std::wstring message = GetFormattedString(ID_STR_UNABLETOREFRESHSKIN, m_FolderPath.c_str(), m_FileName.c_str());
|
std::wstring message = GetFormattedString(ID_STR_UNABLETOREFRESHSKIN, m_FolderPath.c_str(), m_FileName.c_str());
|
||||||
MessageBox(m_Window, message.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONEXCLAMATION);
|
Rainmeter->ShowMessage(m_Window, message.c_str(), MB_OK | MB_ICONEXCLAMATION);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1972,7 +1972,7 @@ bool CMeterWindow::ReadSkin()
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::wstring text = GetFormattedString(ID_STR_NEWVERSIONREQUIRED, m_FolderPath.c_str(), m_FileName.c_str(), buffer);
|
std::wstring text = GetFormattedString(ID_STR_NEWVERSIONREQUIRED, m_FolderPath.c_str(), m_FileName.c_str(), buffer);
|
||||||
MessageBox(m_Window, text.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONEXCLAMATION);
|
Rainmeter->ShowMessage(m_Window, text.c_str(), MB_OK | MB_ICONEXCLAMATION);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2226,7 +2226,7 @@ bool CMeterWindow::ReadSkin()
|
|||||||
if (m_Meters.empty())
|
if (m_Meters.empty())
|
||||||
{
|
{
|
||||||
std::wstring text = GetFormattedString(ID_STR_NOMETERSINSKIN, m_FolderPath.c_str(), m_FileName.c_str());
|
std::wstring text = GetFormattedString(ID_STR_NOMETERSINSKIN, m_FolderPath.c_str(), m_FileName.c_str());
|
||||||
MessageBox(m_Window, text.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONEXCLAMATION);
|
Rainmeter->ShowMessage(m_Window, text.c_str(), MB_OK | MB_ICONEXCLAMATION);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -965,7 +965,7 @@ int CRainmeter::Initialize(LPCWSTR iniPath)
|
|||||||
if (m_SkinFolders.empty())
|
if (m_SkinFolders.empty())
|
||||||
{
|
{
|
||||||
std::wstring error = GetFormattedString(ID_STR_NOAVAILABLESKINS, m_SkinPath.c_str());
|
std::wstring error = GetFormattedString(ID_STR_NOAVAILABLESKINS, m_SkinPath.c_str());
|
||||||
MessageBox(NULL, error.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONERROR);
|
ShowMessage(NULL, error.c_str(), MB_OK | MB_ICONERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
ResetStats();
|
ResetStats();
|
||||||
@ -1340,7 +1340,7 @@ void CRainmeter::ActivateSkin(int folderIndex, int fileIndex)
|
|||||||
if (_waccess(skinIniPath.c_str(), 0) == -1)
|
if (_waccess(skinIniPath.c_str(), 0) == -1)
|
||||||
{
|
{
|
||||||
std::wstring message = GetFormattedString(ID_STR_UNABLETOACTIVATESKIN, folderPath.c_str(), fileSz);
|
std::wstring message = GetFormattedString(ID_STR_UNABLETOACTIVATESKIN, folderPath.c_str(), fileSz);
|
||||||
MessageBox(NULL, message.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONEXCLAMATION);
|
ShowMessage(NULL, message.c_str(), MB_OK | MB_ICONEXCLAMATION);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2464,7 +2464,7 @@ void CRainmeter::RefreshAll()
|
|||||||
DeactivateSkin(mw, index);
|
DeactivateSkin(mw, index);
|
||||||
|
|
||||||
std::wstring error = GetFormattedString(ID_STR_UNABLETOREFRESHSKIN, skinFolder, skinIniFile);
|
std::wstring error = GetFormattedString(ID_STR_UNABLETOREFRESHSKIN, skinFolder, skinIniFile);
|
||||||
MessageBox(NULL, error.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONEXCLAMATION);
|
ShowMessage(NULL, error.c_str(), MB_OK | MB_ICONEXCLAMATION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2472,7 +2472,7 @@ void CRainmeter::RefreshAll()
|
|||||||
DeactivateSkin(mw, -2); // -2 = Force deactivate
|
DeactivateSkin(mw, -2); // -2 = Force deactivate
|
||||||
|
|
||||||
std::wstring error = GetFormattedString(ID_STR_UNABLETOREFRESHSKIN, skinFolder, L"");
|
std::wstring error = GetFormattedString(ID_STR_UNABLETOREFRESHSKIN, skinFolder, L"");
|
||||||
MessageBox(NULL, error.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONEXCLAMATION);
|
ShowMessage(NULL, error.c_str(), MB_OK | MB_ICONEXCLAMATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -2738,6 +2738,22 @@ void CRainmeter::ResetStats()
|
|||||||
CMeasureNet::ResetStats();
|
CMeasureNet::ResetStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Wraps MessageBox(). Sets RTL flag if necessary.
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
int CRainmeter::ShowMessage(HWND parent, const WCHAR* text, UINT type)
|
||||||
|
{
|
||||||
|
type |= MB_TOPMOST;
|
||||||
|
|
||||||
|
if (*GetString(ID_STR_ISRTL) == L'1')
|
||||||
|
{
|
||||||
|
type |= MB_RTLREADING;
|
||||||
|
}
|
||||||
|
|
||||||
|
return MessageBox(parent, text, APPNAME, type);
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Opens the context menu in given coordinates.
|
** Opens the context menu in given coordinates.
|
||||||
**
|
**
|
||||||
@ -2858,14 +2874,13 @@ void CRainmeter::ShowContextMenu(POINT pos, CMeterWindow* meterWindow)
|
|||||||
|
|
||||||
// Show context menu
|
// Show context menu
|
||||||
TrackPopupMenu(
|
TrackPopupMenu(
|
||||||
subMenu,
|
subMenu,
|
||||||
TPM_RIGHTBUTTON | TPM_LEFTALIGN,
|
TPM_RIGHTBUTTON | TPM_LEFTALIGN | (*GetString(ID_STR_ISRTL) == L'1' ? TPM_LAYOUTRTL : 0),
|
||||||
pos.x,
|
pos.x,
|
||||||
pos.y,
|
pos.y,
|
||||||
0,
|
0,
|
||||||
hWnd,
|
hWnd,
|
||||||
NULL
|
NULL);
|
||||||
);
|
|
||||||
|
|
||||||
if (meterWindow)
|
if (meterWindow)
|
||||||
{
|
{
|
||||||
@ -3209,7 +3224,7 @@ void CRainmeter::StartLogging()
|
|||||||
SetLogging(false);
|
SetLogging(false);
|
||||||
|
|
||||||
std::wstring text = GetFormattedString(ID_STR_LOGFILECREATEFAIL, logFile);
|
std::wstring text = GetFormattedString(ID_STR_LOGFILECREATEFAIL, logFile);
|
||||||
MessageBox(NULL, text.c_str(), APPNAME, MB_OK | MB_TOPMOST | MB_ICONERROR);
|
ShowMessage(NULL, text.c_str(), MB_OK | MB_ICONERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3240,7 +3255,7 @@ void CRainmeter::DeleteLogFile()
|
|||||||
if (_waccess(logFile, 0) != -1)
|
if (_waccess(logFile, 0) != -1)
|
||||||
{
|
{
|
||||||
std::wstring text = GetFormattedString(ID_STR_LOGFILEDELETE, logFile);
|
std::wstring text = GetFormattedString(ID_STR_LOGFILEDELETE, logFile);
|
||||||
int res = MessageBox(NULL, text.c_str(), APPNAME, MB_YESNO | MB_TOPMOST | MB_ICONQUESTION);
|
int res = ShowMessage(NULL, text.c_str(), MB_YESNO | MB_ICONQUESTION);
|
||||||
if (res == IDYES)
|
if (res == IDYES)
|
||||||
{
|
{
|
||||||
// Disable logging
|
// Disable logging
|
||||||
@ -3306,7 +3321,7 @@ void CRainmeter::TestSettingsFile(bool bDefaultIniLocation)
|
|||||||
error += GetFormattedString(ID_STR_SETTINGSREADONLY, iniFile);
|
error += GetFormattedString(ID_STR_SETTINGSREADONLY, iniFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageBox(NULL, error.c_str(), APPNAME, MB_OK | MB_ICONERROR);
|
ShowMessage(NULL, error.c_str(), MB_OK | MB_ICONERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,6 +198,8 @@ public:
|
|||||||
|
|
||||||
void SetDebug(bool debug);
|
void SetDebug(bool debug);
|
||||||
|
|
||||||
|
int ShowMessage(HWND parent, const WCHAR* text, UINT type);
|
||||||
|
|
||||||
bool IsMenuActive() { return m_MenuActive; }
|
bool IsMenuActive() { return m_MenuActive; }
|
||||||
void ShowContextMenu(POINT pos, CMeterWindow* meterWindow);
|
void ShowContextMenu(POINT pos, CMeterWindow* meterWindow);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user