mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Minor changes
This commit is contained in:
parent
5dd2f249dd
commit
5c90577955
@ -1677,7 +1677,7 @@ int CRainmeter::ScanForSkinsRecursive(const std::wstring& path, std::wstring bas
|
||||
{
|
||||
if (wcscmp(L".", fileData.cFileName) != 0 &&
|
||||
wcscmp(L"..", fileData.cFileName) != 0 &&
|
||||
!(level == 0 && wcscmp(L"@Backup", fileData.cFileName) == 0) &&
|
||||
!(level == 0 && wcscmp(L"Backup", fileData.cFileName) == 0) &&
|
||||
!(level == 1 && wcscmp(L"@Resources", fileData.cFileName) == 0))
|
||||
{
|
||||
subfolders.push_back(filename);
|
||||
|
@ -1165,7 +1165,8 @@ void CSystem::SetWallpaper(const std::wstring& wallpaper, const std::wstring& st
|
||||
Bitmap* bitmap = Bitmap::FromFile(wallpaper.c_str());
|
||||
if (bitmap && bitmap->GetLastStatus() == Ok)
|
||||
{
|
||||
std::wstring file = Rainmeter->GetSettingsPath() + L"Wallpaper.bmp";
|
||||
std::wstring file = Rainmeter->GetSettingsPath();
|
||||
file += L"Wallpaper.bmp";
|
||||
|
||||
const CLSID bmpClsid = { 0x557cf400, 0x1a04, 0x11d3, { 0x9a, 0x73, 0x0, 0x0, 0xf8, 0x1e, 0xf3, 0x2e } };
|
||||
if (bitmap->Save(file.c_str(), &bmpClsid) == Ok)
|
||||
|
@ -581,6 +581,28 @@ bool CDialogInstall::ReadOptions(const WCHAR* file)
|
||||
}
|
||||
}
|
||||
|
||||
if (GetPrivateProfileString(section, newFormat ? L"LoadType" : L"LaunchType", L"", buffer, MAX_LINE_LENGTH, file) > 0)
|
||||
{
|
||||
bool loadSkin = _wcsicmp(buffer, newFormat ? L"Skin" : L"Load") == 0;
|
||||
|
||||
GetPrivateProfileString(section, newFormat ? L"Load" : L"LaunchCommand", L"", buffer, MAX_LINE_LENGTH, file);
|
||||
if (loadSkin)
|
||||
{
|
||||
if (newFormat)
|
||||
{
|
||||
m_LoadSkins.push_back(buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_LoadSkins = Tokenize(buffer, L"|");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_LoadTheme = buffer;
|
||||
}
|
||||
}
|
||||
|
||||
if (newFormat)
|
||||
{
|
||||
if (GetPrivateProfileString(section, L"MinimumDotNET", L"", buffer, MAX_LINE_LENGTH, file) > 0 &&
|
||||
@ -600,31 +622,43 @@ bool CDialogInstall::ReadOptions(const WCHAR* file)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetPrivateProfileString(section, L"LaunchType", L"", buffer, MAX_LINE_LENGTH, file) > 0)
|
||||
{
|
||||
bool loadSkins = _wcsicmp(buffer, L"load") == 0;
|
||||
|
||||
GetPrivateProfileString(section, L"LaunchCommand", L"", buffer, MAX_LINE_LENGTH, file);
|
||||
if (loadSkins)
|
||||
{
|
||||
m_LoadSkins = Tokenize(buffer, L"|");
|
||||
}
|
||||
else
|
||||
{
|
||||
m_LoadTheme = buffer;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CDialogInstall::InstallPackage()
|
||||
{
|
||||
if (!m_MergeSkins && m_BackupSkins)
|
||||
{
|
||||
// Move skins into backup folder
|
||||
for (auto iter = m_PackageSkins.cbegin(); iter != m_PackageSkins.cend(); ++iter)
|
||||
{
|
||||
std::wstring from = g_Data.skinsPath + *iter;
|
||||
std::wstring to = g_Data.skinsPath + L"Backup\\";
|
||||
CreateDirectory(to.c_str(), NULL);
|
||||
to += *iter;
|
||||
to += L'\0'; // For SHFileOperation
|
||||
|
||||
// Delete current backup
|
||||
SHFILEOPSTRUCT fo =
|
||||
{
|
||||
NULL,
|
||||
FO_DELETE,
|
||||
to.c_str(),
|
||||
NULL,
|
||||
FOF_NO_UI | FOF_NOCONFIRMATION | FOF_ALLOWUNDO
|
||||
};
|
||||
SHFileOperation(&fo);
|
||||
|
||||
if (!CopyFiles(from, to, true))
|
||||
{
|
||||
m_ErrorMessage = L"Unable to move to:\n";
|
||||
m_ErrorMessage += to;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WCHAR buffer[MAX_PATH];
|
||||
|
||||
// Helper to sets buffer with current file name
|
||||
@ -642,19 +676,6 @@ bool CDialogInstall::InstallPackage()
|
||||
return false;
|
||||
};
|
||||
|
||||
if (!m_MergeSkins && m_BackupSkins)
|
||||
{
|
||||
// Move skins into backup folder
|
||||
for (auto iter = m_PackageSkins.cbegin(); iter != m_PackageSkins.cend(); ++iter)
|
||||
{
|
||||
std::wstring from = g_Data.skinsPath + *iter;
|
||||
std::wstring to = g_Data.skinsPath + L"Backup\\";
|
||||
CreateDirectory(to.c_str(), NULL);
|
||||
to += *iter;
|
||||
CopyFiles(from, to, true);
|
||||
}
|
||||
}
|
||||
|
||||
unzGoToFirstFile(m_PackageUnzFile);
|
||||
const WCHAR* root = m_PackageRoot.c_str();
|
||||
do
|
||||
|
Loading…
Reference in New Issue
Block a user