Some optimizations and cleanup.

This commit is contained in:
Birunthan Mohanathas 2011-09-24 09:13:13 +00:00
parent eb4b84328e
commit 55391d4b98
8 changed files with 95 additions and 121 deletions

View File

@ -19,11 +19,6 @@
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Application.rc">
<Filter>Source Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
@ -34,4 +29,9 @@
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Application.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@ -218,17 +218,16 @@ INT_PTR CDialogAbout::OnInitDialog(WPARAM wParam, LPARAM lParam)
HICON hIcon = LoadIcon(Rainmeter->GetInstance(), MAKEINTRESOURCE(IDI_TRAY));
SendMessage(m_Window, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
std::wstring tmpSz;
HWND item = GetDlgItem(m_Window, IDC_ABOUT_TAB);
TCITEM tci = {0};
tci.mask = TCIF_TEXT;
tci.pszText = GetString(ID_STR_LOG, tmpSz);
tci.pszText = GetString(ID_STR_LOG);
TabCtrl_InsertItem(item, 0, &tci);
tci.pszText = GetString(ID_STR_MEASURES, tmpSz);
tci.pszText = GetString(ID_STR_MEASURES);
TabCtrl_InsertItem(item, 1, &tci);
tci.pszText = GetString(ID_STR_PLUGINS, tmpSz);
tci.pszText = GetString(ID_STR_PLUGINS);
TabCtrl_InsertItem(item, 2, &tci);
tci.pszText = GetString(ID_STR_VERSION, tmpSz);
tci.pszText = GetString(ID_STR_VERSION);
TabCtrl_InsertItem(item, 3, &tci);
HINSTANCE instance = Rainmeter->GetResourceInstance();
@ -369,21 +368,20 @@ void CDialogAbout::CTabLog::Initialize()
ListView_SetImageList(item, (WPARAM)hImageList, LVSIL_SMALL);
std::wstring tmpSz;
LVCOLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.fmt = LVCFMT_LEFT; // left-aligned column
lvc.iSubItem = 0;
lvc.cx = 75;
lvc.pszText = GetString(ID_STR_TYPE, tmpSz);
lvc.pszText = GetString(ID_STR_TYPE);
ListView_InsertColumn(item, 0, &lvc);
lvc.iSubItem = 1;
lvc.cx = 85;
lvc.pszText = GetString(ID_STR_TIME, tmpSz);
lvc.pszText = GetString(ID_STR_TIME);
ListView_InsertColumn(item, 1, &lvc);
lvc.iSubItem = 2;
lvc.cx = 370;
lvc.pszText = GetString(ID_STR_MESSAGE, tmpSz);
lvc.pszText = GetString(ID_STR_MESSAGE);
ListView_InsertColumn(item, 2, &lvc);
// Add stored entires
@ -581,21 +579,20 @@ void CDialogAbout::CTabMeasures::Initialize()
HWND item = GetDlgItem(m_Window, IDC_ABOUTMEASURES_ITEMS_LISTVIEW);
ListView_SetExtendedListViewStyleEx(item, LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER, LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER);
std::wstring tmpSz;
LVCOLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.fmt = LVCFMT_LEFT; // left-aligned column
lvc.iSubItem = 0;
lvc.cx = 120;
lvc.pszText = GetString(ID_STR_NAME, tmpSz);
lvc.pszText = GetString(ID_STR_NAME);
ListView_InsertColumn(item, 0, &lvc);
lvc.iSubItem = 1;
lvc.cx = 90;
lvc.pszText = GetString(ID_STR_RANGE, tmpSz);
lvc.pszText = GetString(ID_STR_RANGE);
ListView_InsertColumn(item, 1, &lvc);
lvc.iSubItem = 2;
lvc.cx = 130;
lvc.pszText = GetString(ID_STR_VALUE, tmpSz);
lvc.pszText = GetString(ID_STR_VALUE);
ListView_InsertColumn(item, 2, &lvc);
// Add entries for each config
@ -863,21 +860,20 @@ void CDialogAbout::CTabPlugins::Initialize()
// Add columns to the list view
HWND item = GetDlgItem(m_Window, IDC_ABOUTPLUGINS_ITEMS_LISTVIEW);
std::wstring tmpSz;
LVCOLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.fmt = LVCFMT_LEFT; // left-aligned column
lvc.iSubItem = 0;
lvc.cx = 140;
lvc.pszText = GetString(ID_STR_NAME, tmpSz);
lvc.pszText = GetString(ID_STR_NAME);
ListView_InsertColumn(item, 0, &lvc);
lvc.iSubItem = 1;
lvc.cx = 80;
lvc.pszText = GetString(ID_STR_VERSION, tmpSz);
lvc.pszText = GetString(ID_STR_VERSION);
ListView_InsertColumn(item, 1, &lvc);
lvc.iSubItem = 2;
lvc.cx = 310;
lvc.pszText = GetString(ID_STR_AUTHOR, tmpSz);
lvc.pszText = GetString(ID_STR_AUTHOR);
ListView_InsertColumn(item, 2, &lvc);
LVITEM vitem;

View File

@ -202,15 +202,14 @@ INT_PTR CDialogManage::OnInitDialog(WPARAM wParam, LPARAM lParam)
HICON hIcon = LoadIcon(Rainmeter->GetInstance(), MAKEINTRESOURCE(IDI_TRAY));
SendMessage(m_Window, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
std::wstring tmpSz;
HWND item = GetDlgItem(m_Window, IDC_MANAGE_TAB);
TCITEM tci = {0};
tci.mask = TCIF_TEXT;
tci.pszText = GetString(ID_STR_SKINS, tmpSz);
tci.pszText = GetString(ID_STR_SKINS);
TabCtrl_InsertItem(item, 0, &tci);
tci.pszText = GetString(ID_STR_THEMES, tmpSz);
tci.pszText = GetString(ID_STR_THEMES);
TabCtrl_InsertItem(item, 1, &tci);
tci.pszText = GetString(ID_STR_SETTINGS, tmpSz);
tci.pszText = GetString(ID_STR_SETTINGS);
TabCtrl_InsertItem(item, 2, &tci);
HINSTANCE instance = Rainmeter->GetResourceInstance();
@ -344,8 +343,7 @@ void CDialogManage::CTabSkins::Initialize()
{
m_Initialized = true;
std::wstring tmpSz;
GetString(ID_STR_ACTIVESKINS, tmpSz);
std::wstring tmpSz = GetString(ID_STR_ACTIVESKINS);
if (CSystem::GetOSPlatform() >= OSPLATFORM_VISTA)
{
// Arrow down
@ -379,7 +377,7 @@ void CDialogManage::CTabSkins::Initialize()
ShowWindow(item, SW_HIDE);
item = GetDlgItem(m_Window, IDC_MANAGESKINS_DISPLAYMONITOR_BUTTON);
GetString(ID_STR_DISPLAYMONITOR, tmpSz);
GetString(ID_STR_DISPLAYMONITOR);
if (CSystem::GetOSPlatform() >= OSPLATFORM_VISTA)
{
// Arrow down
@ -400,17 +398,17 @@ void CDialogManage::CTabSkins::Initialize()
ComboBox_AddString(item, L"90%");
item = GetDlgItem(m_Window, IDC_MANAGESKINS_ZPOSITION_COMBOBOX);
ComboBox_AddString(item, GetString(ID_STR_ONDESKTOP, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_BOTTOM, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_NORMAL, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_TOPMOST, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_STAYTOPMOST, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_ONDESKTOP));
ComboBox_AddString(item, GetString(ID_STR_BOTTOM));
ComboBox_AddString(item, GetString(ID_STR_NORMAL));
ComboBox_AddString(item, GetString(ID_STR_TOPMOST));
ComboBox_AddString(item, GetString(ID_STR_STAYTOPMOST));
item = GetDlgItem(m_Window, IDC_MANAGESKINS_ONHOVER_COMBOBOX);
ComboBox_AddString(item, GetString(ID_STR_DONOTHING, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_HIDE, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_FADEIN, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_FADEOUT, tmpSz));
ComboBox_AddString(item, GetString(ID_STR_DONOTHING));
ComboBox_AddString(item, GetString(ID_STR_HIDE));
ComboBox_AddString(item, GetString(ID_STR_FADEIN));
ComboBox_AddString(item, GetString(ID_STR_FADEOUT));
m_HandleCommands = true;
}
@ -478,7 +476,7 @@ void CDialogManage::CTabSkins::SetControls()
if (m_SkinWindow)
{
SetWindowText(item, GetString(ID_STR_UNLOAD, buffer, 64));
SetWindowText(item, GetString(ID_STR_UNLOAD));
item = GetDlgItem(m_Window, IDC_MANAGESKINS_REFRESH_BUTTON);
EnableWindow(item, TRUE);
@ -546,15 +544,14 @@ void CDialogManage::CTabSkins::SetControls()
}
else
{
SetWindowText(item, GetString(ID_STR_LOAD, buffer, 64));
SetWindowText(item, GetString(ID_STR_LOAD));
}
}
void CDialogManage::CTabSkins::DisableControls(bool clear)
{
HWND item = GetDlgItem(m_Window, IDC_MANAGESKINS_LOAD_BUTTON);
WCHAR buffer[64];
SetWindowText(item, GetString(ID_STR_LOAD, buffer, 64));
SetWindowText(item, GetString(ID_STR_LOAD));
if (clear)
{
@ -1198,7 +1195,6 @@ INT_PTR CDialogManage::CTabSkins::OnNotify(WPARAM wParam, LPARAM lParam)
HMENU menu = LoadMenu(Rainmeter->GetResourceInstance(), MAKEINTRESOURCE(IDR_MANAGESKINS_MENU));
if (menu && TreeView_GetItem(nm->hwndFrom, &tvi))
{
std::wstring tmpSz;
HMENU subMenu;
MENUITEMINFO mii = {0};
mii.cbSize = sizeof(MENUITEMINFO);
@ -1212,7 +1208,7 @@ INT_PTR CDialogManage::CTabSkins::OnNotify(WPARAM wParam, LPARAM lParam)
if (tvi.state & TVIS_EXPANDED)
{
mii.dwTypeData = GetString(ID_STR_COLLAPSE, tmpSz);
mii.dwTypeData = GetString(ID_STR_COLLAPSE);
SetMenuItemInfo(subMenu, ID_CONTEXT_MANAGESKINSMENU_EXPAND, MF_BYCOMMAND, &mii);
}
}
@ -1224,7 +1220,7 @@ INT_PTR CDialogManage::CTabSkins::OnNotify(WPARAM wParam, LPARAM lParam)
if (m_SkinWindow)
{
mii.dwTypeData = GetString(ID_STR_UNLOAD, tmpSz);
mii.dwTypeData = GetString(ID_STR_UNLOAD);
SetMenuItemInfo(subMenu, ID_CONTEXT_MANAGESKINSMENU_LOAD, MF_BYCOMMAND, &mii);
}
else

View File

@ -358,11 +358,6 @@
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Library.rc">
<Filter>Source Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ConfigParser.h">
<Filter>Header Files</Filter>
@ -613,4 +608,9 @@
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Library.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@ -732,26 +732,11 @@ void LogError(CError& error)
CDialogAbout::ShowAboutLog();
}
WCHAR* GetString(UINT id, WCHAR* buffer, int len)
{
LoadString(Rainmeter->GetResourceInstance(), id, buffer, len);
return buffer;
}
WCHAR* GetString(UINT id, std::wstring& buffer)
WCHAR* GetString(UINT id)
{
LPWSTR pData;
int len = LoadString(Rainmeter->GetResourceInstance(), id, (LPWSTR)&pData, 0);
if (len)
{
buffer.assign(pData, len);
}
else
{
buffer.clear();
}
return (WCHAR*)buffer.c_str();
return len ? pData : L"";
}
std::wstring GetFormattedString(UINT id, ...)
@ -759,10 +744,9 @@ std::wstring GetFormattedString(UINT id, ...)
LPWSTR pBuffer = NULL;
va_list args = NULL;
va_start(args, id);
std::wstring tmpSz;
FormatMessage(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ALLOCATE_BUFFER,
GetString(id, tmpSz),
GetString(id),
0,
0,
(LPWSTR)&pBuffer,
@ -771,7 +755,7 @@ std::wstring GetFormattedString(UINT id, ...)
va_end(args);
tmpSz = pBuffer;
std::wstring tmpSz = pBuffer;
LocalFree(pBuffer);
return tmpSz;
}

View File

@ -62,8 +62,7 @@ std::wstring ConvertToWide(LPCSTR str);
std::string ConvertToUTF8(LPCWSTR str);
std::wstring ConvertUTF8ToWide(LPCSTR str);
WCHAR* GetString(UINT id, WCHAR* buffer, int len = 64);
WCHAR* GetString(UINT id, std::wstring& buffer);
WCHAR* GetString(UINT id);
std::wstring GetFormattedString(UINT id, ...);
HINSTANCE LSExecuteAsAdmin(HWND Owner, LPCTSTR szCommand, int nShowCmd);

View File

@ -1763,6 +1763,8 @@ CRainmeter::~CRainmeter()
FinalizeLitestep();
if (m_ResourceInstance) FreeLibrary(m_ResourceInstance);
CoUninitialize();
GdiplusShutdown(m_GDIplusToken);
@ -3905,8 +3907,7 @@ void CRainmeter::ShowContextMenu(POINT pos, CMeterWindow* meterWindow)
// Put Update notifications in the Tray menu
if (m_NewVersion)
{
std::wstring tmpSz;
InsertMenu(subMenu, 0, MF_BYPOSITION, ID_CONTEXT_NEW_VERSION, GetString(ID_STR_UPDATEAVAILABLE, tmpSz));
InsertMenu(subMenu, 0, MF_BYPOSITION, ID_CONTEXT_NEW_VERSION, GetString(ID_STR_UPDATEAVAILABLE));
HiliteMenuItem(Rainmeter->GetTrayWindow()->GetWindow(), subMenu, 0, MF_BYPOSITION | MF_HILITE);
InsertMenu(subMenu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);
}
@ -4396,8 +4397,7 @@ void CRainmeter::TestSettingsFile(bool bDefaultIniLocation)
}
if (!bSuccess)
{
std::wstring error;
GetString(ID_STR_SETTINGSNOTWRITABLE, error);
std::wstring error = GetString(ID_STR_SETTINGSNOTWRITABLE);
if (!bDefaultIniLocation)
{

View File

@ -78,6 +78,50 @@
#define IDC_MANAGESETTINGS_SHOWLOGFILE_BUTTON 1057
#define IDC_MANAGESETTINGS_DELETELOGFILE_BUTTON 1058
#define ID_STR_ISRTL 2000
#define ID_STR_UPDATEAVAILABLE 2001
#define ID_STR_LOG 2002
#define ID_STR_MEASURES 2003
#define ID_STR_PLUGINS 2004
#define ID_STR_VERSION 2005
#define ID_STR_TYPE 2006
#define ID_STR_TIME 2007
#define ID_STR_MESSAGE 2008
#define ID_STR_NAME 2009
#define ID_STR_RANGE 2010
#define ID_STR_VALUE 2011
#define ID_STR_AUTHOR 2012
#define ID_STR_PATHDETAILS 2013
#define ID_STR_SKINS 2014
#define ID_STR_THEMES 2015
#define ID_STR_SETTINGS 2016
#define ID_STR_ACTIVESKINS 2017
#define ID_STR_DISPLAYMONITOR 2018
#define ID_STR_STAYTOPMOST 2019
#define ID_STR_TOPMOST 2020
#define ID_STR_NORMAL 2021
#define ID_STR_BOTTOM 2022
#define ID_STR_ONDESKTOP 2023
#define ID_STR_DONOTHING 2024
#define ID_STR_HIDE 2025
#define ID_STR_FADEIN 2026
#define ID_STR_FADEOUT 2027
#define ID_STR_LOAD 2028
#define ID_STR_UNLOAD 2029
#define ID_STR_COLLAPSE 2030
#define ID_STR_SETTINGSNOTWRITABLE 2031
#define ID_STR_SETTINGSMOVEFILE 2032
#define ID_STR_SETTINGSREADONLY 2033
#define ID_STR_THEMEALREADYEXISTS 2034
#define ID_STR_THEMESAVEFAIL 2035
#define ID_STR_THEMEDELETE 2036
#define ID_STR_LOGFILECREATED 2037
#define ID_STR_LOGFILECREATEFAIL 2038
#define ID_STR_LOGFILEDELETE 2039
#define ID_STR_NOAVAILABLESKINS 2040
#define ID_STR_UNABLETOACTIVATESKIN 2041
#define ID_STR_UNABLETOREFRESHSKIN 2042
#define ID_CONTEXT_REFRESH 4001
#define ID_CONTEXT_QUIT 4002
#define ID_CONTEXT_DISABLEDRAG 4003
@ -140,48 +184,3 @@
#define ID_THEME_LAST 43000
#define ID_MONITOR_FIRST 43001
#define ID_MONITOR_LAST 44000
#define ID_STR_ISRTL 0
#define ID_STR_UPDATEAVAILABLE 10
#define ID_STR_LOG 20
#define ID_STR_MEASURES 21
#define ID_STR_PLUGINS 22
#define ID_STR_VERSION 23
#define ID_STR_TYPE 24
#define ID_STR_TIME 25
#define ID_STR_MESSAGE 26
#define ID_STR_NAME 27
#define ID_STR_RANGE 28
#define ID_STR_VALUE 29
#define ID_STR_AUTHOR 30
#define ID_STR_PATHDETAILS 31
#define ID_STR_SKINS 32
#define ID_STR_THEMES 33
#define ID_STR_SETTINGS 34
#define ID_STR_ACTIVESKINS 35
#define ID_STR_DISPLAYMONITOR 36
#define ID_STR_STAYTOPMOST 37
#define ID_STR_TOPMOST 38
#define ID_STR_NORMAL 39
#define ID_STR_BOTTOM 40
#define ID_STR_ONDESKTOP 41
#define ID_STR_DONOTHING 42
#define ID_STR_HIDE 43
#define ID_STR_FADEIN 44
#define ID_STR_FADEOUT 45
#define ID_STR_LOAD 46
#define ID_STR_UNLOAD 47
#define ID_STR_COLLAPSE 48
#define ID_STR_SETTINGSNOTWRITABLE 49
#define ID_STR_SETTINGSMOVEFILE 50
#define ID_STR_SETTINGSREADONLY 51
#define ID_STR_THEMEALREADYEXISTS 52
#define ID_STR_THEMESAVEFAIL 53
#define ID_STR_THEMEDELETE 54
#define ID_STR_LOGFILECREATED 55
#define ID_STR_LOGFILECREATEFAIL 56
#define ID_STR_LOGFILEDELETE 57
#define ID_STR_NOAVAILABLESKINS 58
#define ID_STR_UNABLETOACTIVATESKIN 59
#define ID_STR_UNABLETOREFRESHSKIN 60