mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Skin Packager: Fixer some issues
This commit is contained in:
parent
5ffb9b367d
commit
a44a96f27b
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (C) 2011 Birunthan Mohanathas
|
Copyright (C) 2012 Birunthan Mohanathas
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
This program is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU General Public License
|
modify it under the terms of the GNU General Public License
|
||||||
@ -50,7 +50,7 @@ void CDialogPackage::Create(HINSTANCE hInstance, LPWSTR lpCmdLine)
|
|||||||
HANDLE hMutex;
|
HANDLE hMutex;
|
||||||
if (IsRunning(L"RainmeterBackup", &hMutex))
|
if (IsRunning(L"RainmeterBackup", &hMutex))
|
||||||
{
|
{
|
||||||
HWND hwnd = FindWindow(L"#32770", L"Rainmeter Packager");
|
HWND hwnd = FindWindow(L"#32770", L"Rainmeter Skin Packager");
|
||||||
SetForegroundWindow(hwnd);
|
SetForegroundWindow(hwnd);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -168,7 +168,7 @@ INT_PTR CDialogPackage::OnCommand(WPARAM wParam, LPARAM lParam)
|
|||||||
m_PackagerThread = (HANDLE)_beginthreadex(NULL, 0, PackagerThreadProc, this, 0, NULL);
|
m_PackagerThread = (HANDLE)_beginthreadex(NULL, 0, PackagerThreadProc, this, 0, NULL);
|
||||||
if (!m_PackagerThread)
|
if (!m_PackagerThread)
|
||||||
{
|
{
|
||||||
MessageBox(m_Window, L"Unknown error.", L"Rainmeter Packager", MB_ERROR);
|
MessageBox(m_Window, L"Unknown error.", L"Rainmeter Skin Packager", MB_ERROR);
|
||||||
EndDialog(m_Window, 0);
|
EndDialog(m_Window, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -263,7 +263,7 @@ bool CDialogPackage::CreatePackage()
|
|||||||
{
|
{
|
||||||
std::wstring error = L"Unable to create package.";
|
std::wstring error = L"Unable to create package.";
|
||||||
error += L"\n\nClick OK to close Packager.";
|
error += L"\n\nClick OK to close Packager.";
|
||||||
MessageBox(NULL, error.c_str(), L"Rainmeter Packager", MB_ERROR);
|
MessageBox(NULL, error.c_str(), L"Rainmeter Skin Packager", MB_ERROR);
|
||||||
DeleteFile(tempFile);
|
DeleteFile(tempFile);
|
||||||
return cleanup();
|
return cleanup();
|
||||||
}
|
}
|
||||||
@ -292,7 +292,7 @@ bool CDialogPackage::CreatePackage()
|
|||||||
error += (*iter).first;
|
error += (*iter).first;
|
||||||
error += L"'.";
|
error += L"'.";
|
||||||
error += L"\n\nClick OK to close Packager.";
|
error += L"\n\nClick OK to close Packager.";
|
||||||
MessageBox(NULL, error.c_str(), L"Rainmeter Packager", MB_ERROR);
|
MessageBox(NULL, error.c_str(), L"Rainmeter Skin Packager", MB_ERROR);
|
||||||
return cleanup();
|
return cleanup();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -312,7 +312,7 @@ bool CDialogPackage::CreatePackage()
|
|||||||
error += (*iter).first;
|
error += (*iter).first;
|
||||||
error += L"'.";
|
error += L"'.";
|
||||||
error += L"\n\nClick OK to close Packager.";
|
error += L"\n\nClick OK to close Packager.";
|
||||||
MessageBox(NULL, error.c_str(), L"Rainmeter Packager", MB_ERROR);
|
MessageBox(NULL, error.c_str(), L"Rainmeter Skin Packager", MB_ERROR);
|
||||||
return cleanup();
|
return cleanup();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -332,7 +332,7 @@ bool CDialogPackage::CreatePackage()
|
|||||||
{
|
{
|
||||||
std::wstring error = L"Unable to create package.";
|
std::wstring error = L"Unable to create package.";
|
||||||
error += L"\n\nClick OK to close Packager.";
|
error += L"\n\nClick OK to close Packager.";
|
||||||
MessageBox(NULL, error.c_str(), L"Rainmeter Packager", MB_ERROR);
|
MessageBox(NULL, error.c_str(), L"Rainmeter Skin Packager", MB_ERROR);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -343,6 +343,9 @@ unsigned __stdcall CDialogPackage::PackagerThreadProc(void* pParam)
|
|||||||
{
|
{
|
||||||
CDialogPackage* dialog = (CDialogPackage*)pParam;
|
CDialogPackage* dialog = (CDialogPackage*)pParam;
|
||||||
|
|
||||||
|
// Wait a bit so new style MessageBox dialogs work
|
||||||
|
Sleep(100);
|
||||||
|
|
||||||
if (dialog->CreatePackage())
|
if (dialog->CreatePackage())
|
||||||
{
|
{
|
||||||
// Stop the progress bar
|
// Stop the progress bar
|
||||||
@ -350,7 +353,7 @@ unsigned __stdcall CDialogPackage::PackagerThreadProc(void* pParam)
|
|||||||
// SendMessage(item, PBM_SETMARQUEE, (WPARAM)FALSE, 0);
|
// SendMessage(item, PBM_SETMARQUEE, (WPARAM)FALSE, 0);
|
||||||
|
|
||||||
FlashWindow(dialog->m_Window, TRUE);
|
FlashWindow(dialog->m_Window, TRUE);
|
||||||
MessageBox(NULL, L"The .rmskin file has been successfully created.", L"Rainmeter Packager", MB_OK | MB_ICONINFORMATION);
|
MessageBox(NULL, L"The .rmskin file has been successfully created.", L"Rainmeter Skin Packager", MB_OK | MB_ICONINFORMATION);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -418,10 +421,6 @@ bool CDialogPackage::AddFileToPackage(const char* realPath, const char* zipPath)
|
|||||||
bool CDialogPackage::AddFolderToPackage(const std::wstring& path, std::wstring base, const char* zipPrefix, bool recursive)
|
bool CDialogPackage::AddFolderToPackage(const std::wstring& path, std::wstring base, const char* zipPrefix, bool recursive)
|
||||||
{
|
{
|
||||||
std::wstring filter = path + base;
|
std::wstring filter = path + base;
|
||||||
if (!base.empty())
|
|
||||||
{
|
|
||||||
filter += L'\\';
|
|
||||||
}
|
|
||||||
std::string asciiBase = ConvertToAscii(filter.c_str());
|
std::string asciiBase = ConvertToAscii(filter.c_str());
|
||||||
filter += L'*';
|
filter += L'*';
|
||||||
|
|
||||||
@ -458,7 +457,7 @@ bool CDialogPackage::AddFolderToPackage(const std::wstring& path, std::wstring b
|
|||||||
{
|
{
|
||||||
std::string asciiFile = asciiBase + ConvertToAscii(fd.cFileName);
|
std::string asciiFile = asciiBase + ConvertToAscii(fd.cFileName);
|
||||||
std::string zipFile = zipPrefix;
|
std::string zipFile = zipPrefix;
|
||||||
zipFile += &asciiFile[path.length()];
|
zipFile += &asciiFile[path.length() - 1];
|
||||||
|
|
||||||
ret = AddFileToPackage(asciiFile.c_str(), zipFile.c_str());
|
ret = AddFileToPackage(asciiFile.c_str(), zipFile.c_str());
|
||||||
if (!ret)
|
if (!ret)
|
||||||
@ -468,7 +467,7 @@ bool CDialogPackage::AddFolderToPackage(const std::wstring& path, std::wstring b
|
|||||||
error += base;
|
error += base;
|
||||||
error += fd.cFileName;
|
error += fd.cFileName;
|
||||||
error += L"\n\nClick OK to close Packager.";
|
error += L"\n\nClick OK to close Packager.";
|
||||||
MessageBox(NULL, error.c_str(), L"Rainmeter Packager", MB_ERROR);
|
MessageBox(NULL, error.c_str(), L"Rainmeter Skin Packager", MB_ERROR);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -482,7 +481,9 @@ bool CDialogPackage::AddFolderToPackage(const std::wstring& path, std::wstring b
|
|||||||
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)
|
||||||
{
|
{
|
||||||
ret = AddFolderToPackage(path, base + (*iter), zipPrefix, recursive);
|
std::wstring newBase = base + (*iter);
|
||||||
|
newBase += L'\\';
|
||||||
|
ret = AddFolderToPackage(path, newBase, zipPrefix, recursive);
|
||||||
if (!ret) break;
|
if (!ret) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -683,11 +684,12 @@ INT_PTR CALLBACK CDialogPackage::SelectPluginDlgProc(HWND hWnd, UINT uMsg, WPARA
|
|||||||
OPENFILENAME ofn = { sizeof(OPENFILENAME) };
|
OPENFILENAME ofn = { sizeof(OPENFILENAME) };
|
||||||
ofn.Flags = OFN_FILEMUSTEXIST;
|
ofn.Flags = OFN_FILEMUSTEXIST;
|
||||||
ofn.lpstrFilter = L"Plugins (.dll)\0*.dll";
|
ofn.lpstrFilter = L"Plugins (.dll)\0*.dll";
|
||||||
|
ofn.lpstrTitle = L"Select plugin file";
|
||||||
|
ofn.lpstrDefExt = L"dll";
|
||||||
ofn.nFilterIndex = 0;
|
ofn.nFilterIndex = 0;
|
||||||
ofn.lpstrFile = buffer;
|
ofn.lpstrFile = buffer;
|
||||||
ofn.nMaxFile = _countof(buffer);
|
ofn.nMaxFile = _countof(buffer);
|
||||||
ofn.lpstrTitle = L"Select plugin file";
|
ofn.hwndOwner = c_Dialog->GetWindow();
|
||||||
ofn.lpstrDefExt = L"dll";
|
|
||||||
|
|
||||||
if (!GetOpenFileName(&ofn))
|
if (!GetOpenFileName(&ofn))
|
||||||
{
|
{
|
||||||
@ -707,7 +709,7 @@ INT_PTR CALLBACK CDialogPackage::SelectPluginDlgProc(HWND hWnd, UINT uMsg, WPARA
|
|||||||
const WCHAR* otherName = PathFindFileName(x32 ? plugins->second.c_str() : plugins->first.c_str());
|
const WCHAR* otherName = PathFindFileName(x32 ? plugins->second.c_str() : plugins->first.c_str());
|
||||||
if (*otherName && _wcsicmp(otherName, PathFindFileName(buffer)) != 0)
|
if (*otherName && _wcsicmp(otherName, PathFindFileName(buffer)) != 0)
|
||||||
{
|
{
|
||||||
MessageBox(hWnd, L"Plugins must have same name.", L"Rainmeter Packager", MB_OK | MB_TOPMOST);
|
MessageBox(hWnd, L"Plugins must have same name.", L"Rainmeter Skin Packager", MB_OK | MB_TOPMOST);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -724,7 +726,7 @@ INT_PTR CALLBACK CDialogPackage::SelectPluginDlgProc(HWND hWnd, UINT uMsg, WPARA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageBox(hWnd, L"Invalid plugin.", L"Rainmeter Packager", MB_OK | MB_TOPMOST);
|
MessageBox(hWnd, L"Invalid plugin.", L"Rainmeter Skin Packager", MB_OK | MB_TOPMOST);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -961,7 +963,7 @@ void CDialogPackage::CTabOptions::Initialize()
|
|||||||
{
|
{
|
||||||
m_Initialized = true;
|
m_Initialized = true;
|
||||||
|
|
||||||
std::wstring fileName = c_Dialog->m_Author + L'_';
|
std::wstring fileName = c_Dialog->m_Name + L'_';
|
||||||
fileName += c_Dialog->m_Version;
|
fileName += c_Dialog->m_Version;
|
||||||
|
|
||||||
// Escape reserved chars
|
// Escape reserved chars
|
||||||
@ -994,6 +996,9 @@ void CDialogPackage::CTabOptions::Initialize()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
c_Dialog->m_LoadTheme = true;
|
||||||
|
c_Dialog->m_Load = (*c_Dialog->m_ThemeFolders.cbegin()).first;
|
||||||
|
|
||||||
Button_SetCheck(item, BST_CHECKED);
|
Button_SetCheck(item, BST_CHECKED);
|
||||||
|
|
||||||
item = GetDlgItem(m_Window, IDC_PACKAGEOPTIONS_LOADTHEME_COMBO);
|
item = GetDlgItem(m_Window, IDC_PACKAGEOPTIONS_LOADTHEME_COMBO);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (C) 2011 Birunthan Mohanathas
|
Copyright (C) 2012 Birunthan Mohanathas
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
This program is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU General Public License
|
modify it under the terms of the GNU General Public License
|
||||||
@ -16,8 +16,8 @@
|
|||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SKININSTALLER_DIALOGBACKUP_H_
|
#ifndef SKININSTALLER_DIALOGPACKAGE_H_
|
||||||
#define SKININSTALLER_DIALOGBACKUP_H_
|
#define SKININSTALLER_DIALOGPACKAGE_H_
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "zip.h"
|
#include "zip.h"
|
||||||
|
@ -27,7 +27,7 @@ VS_VERSION_INFO VERSIONINFO
|
|||||||
{
|
{
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
{
|
{
|
||||||
VALUE "FileDescription", "Rainmeter Skin Package Installer"
|
VALUE "FileDescription", "Rainmeter Skin Installer"
|
||||||
VALUE "FileVersion", STRFILEVER
|
VALUE "FileVersion", STRFILEVER
|
||||||
VALUE "LegalCopyright", "© 2012 - Birunthan Mohanathas"
|
VALUE "LegalCopyright", "© 2012 - Birunthan Mohanathas"
|
||||||
VALUE "OriginalFilename", "SkinInstaller.exe"
|
VALUE "OriginalFilename", "SkinInstaller.exe"
|
||||||
@ -68,7 +68,7 @@ IDR_INSTALL_MENU MENU
|
|||||||
|
|
||||||
IDD_PACKAGE_DIALOG DIALOGEX 0, 0, 320, 290
|
IDD_PACKAGE_DIALOG DIALOGEX 0, 0, 320, 290
|
||||||
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Rainmeter Packager"
|
CAPTION "Rainmeter Skin Packager"
|
||||||
FONT 8, "MS Shell Dlg 2"
|
FONT 8, "MS Shell Dlg 2"
|
||||||
{
|
{
|
||||||
CONTROL "", IDC_PACKAGE_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 308, 261
|
CONTROL "", IDC_PACKAGE_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 308, 261
|
||||||
|
Loading…
x
Reference in New Issue
Block a user