Skin Packager: Added Remove button and tweaked UI

This commit is contained in:
Birunthan Mohanathas 2012-06-23 22:18:30 +03:00
parent 2117bcfbd5
commit 34b59f9f6e
5 changed files with 136 additions and 72 deletions

View File

@ -158,16 +158,10 @@ INT_PTR CDialogInstall::OnInitDialog(WPARAM wParam, LPARAM lParam)
if (GetOSPlatform() >= OSPLATFORM_VISTA)
{
SetDialogFont();
BUTTON_SPLITINFO bsi;
bsi.mask = BCSIF_SIZE;
bsi.size.cx = 20;
bsi.size.cy = 14;
}
HWND item = GetDlgItem(m_Window, IDC_INSTALL_ADVANCED_BUTTON);
Button_SetStyle(item, BS_SPLITBUTTON, TRUE);
Button_SetSplitInfo(item, &bsi);
}
CDialog::SetMenuButton(item);
if (ReadPackage())
{
@ -1345,7 +1339,7 @@ std::wstring CDialogInstall::GetWindowsVersionString()
// -----------------------------------------------------------------------------------------------
//
// Backup tab
// Install tab
//
// -----------------------------------------------------------------------------------------------

View File

@ -174,7 +174,7 @@ INT_PTR CDialogPackage::OnCommand(WPARAM wParam, LPARAM lParam)
}
break;
case IDCLOSE:
case IDCANCEL:
if (!m_PackagerThread)
{
EndDialog(m_Window, 0);
@ -214,7 +214,7 @@ INT_PTR CDialogPackage::OnNotify(WPARAM wParam, LPARAM lParam)
void CDialogPackage::SetNextButtonState()
{
BOOL state = !(m_Name.empty() || m_Author.empty() || m_Version.empty() || m_SkinFolder.second.empty());
BOOL state = !(m_Name.empty() || m_Author.empty() || m_SkinFolder.second.empty());
EnableWindow(GetDlgItem(m_Window, IDC_PACKAGE_NEXT_BUTTON), state);
}
@ -485,6 +485,17 @@ bool CDialogPackage::AddFolderToPackage(const std::wstring& path, std::wstring b
return result;
}
void CDialogPackage::ShowHelp()
{
std::wstring url = L"http://rainmeter.net/cms/UsingApplication-SkinPackager";
if (revision_beta)
{
url += L"_beta";
}
ShellExecute(m_Window, L"open", url.c_str(), NULL, NULL, SW_SHOWNORMAL);
}
std::wstring CDialogPackage::SelectFolder(HWND parent, const std::wstring& existingPath)
{
LPCWSTR dialog = MAKEINTRESOURCE(IDD_PACKAGESELECTFOLDER_DIALOG);
@ -558,7 +569,7 @@ INT_PTR CALLBACK CDialogPackage::SelectFolderDlgProc(HWND hWnd, UINT uMsg, WPARA
item = GetDlgItem(hWnd, IDC_PACKAGESELECTFOLDER_CUSTOMBROWSE_BUTTON);
EnableWindow(item, FALSE);
item = GetDlgItem(hWnd, IDCLOSE);
item = GetDlgItem(hWnd, IDCANCEL);
EnableWindow(item, sel != -1);
}
break;
@ -586,7 +597,7 @@ INT_PTR CALLBACK CDialogPackage::SelectFolderDlgProc(HWND hWnd, UINT uMsg, WPARA
DWORD attributes = GetFileAttributes(buffer);
BOOL state = (attributes != INVALID_FILE_ATTRIBUTES &&
attributes & FILE_ATTRIBUTE_DIRECTORY);
EnableWindow(GetDlgItem(hWnd, IDCLOSE), state);
EnableWindow(GetDlgItem(hWnd, IDCANCEL), state);
}
break;
@ -607,7 +618,7 @@ INT_PTR CALLBACK CDialogPackage::SelectFolderDlgProc(HWND hWnd, UINT uMsg, WPARA
}
break;
case IDCLOSE:
case IDCANCEL:
{
WCHAR buffer[MAX_PATH];
HWND item = GetDlgItem(hWnd, IDC_PACKAGESELECTFOLDER_EXISTING_RADIO);
@ -718,7 +729,7 @@ INT_PTR CALLBACK CDialogPackage::SelectPluginDlgProc(HWND hWnd, UINT uMsg, WPARA
if (!plugins->first.empty() && !plugins->second.empty())
{
// Enable Add button if both plugins have been selected
EnableWindow(GetDlgItem(hWnd, IDCLOSE), TRUE);
EnableWindow(GetDlgItem(hWnd, IDCANCEL), TRUE);
}
break;
}
@ -728,7 +739,7 @@ INT_PTR CALLBACK CDialogPackage::SelectPluginDlgProc(HWND hWnd, UINT uMsg, WPARA
}
break;
case IDCLOSE:
case IDCANCEL:
EndDialog(hWnd, 1);
break;
}
@ -760,13 +771,13 @@ void CDialogPackage::CTabInfo::Initialize()
m_Initialized = true;
HWND item = GetDlgItem(m_Window, IDC_INSTALLTAB_NAME_TEXT);
Edit_SetCueBannerText(item, L"Specify name");
Edit_SetCueBannerText(item, L"...");
item = GetDlgItem(m_Window, IDC_INSTALLTAB_AUTHOR_TEXT);
Edit_SetCueBannerText(item, L"Specify author");
Edit_SetCueBannerText(item, L"...");
item = GetDlgItem(m_Window, IDC_INSTALLTAB_VERSION_TEXT);
Edit_SetCueBannerText(item, L"Specify version");
Edit_SetCueBannerText(item, L"...");
item = GetDlgItem(m_Window, IDC_PACKAGEINFO_COMPONENTS_LIST);
@ -786,7 +797,7 @@ void CDialogPackage::CTabInfo::Initialize()
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.fmt = LVCFMT_LEFT;
lvc.iSubItem = 0;
lvc.cx = 395;
lvc.cx = 252;
lvc.pszText = L"Name";
ListView_InsertColumn(item, 0, &lvc);
@ -888,6 +899,50 @@ INT_PTR CDialogPackage::CTabInfo::OnCommand(WPARAM wParam, LPARAM lParam)
}
break;
case IDC_PACKAGEINFO_REMOVE_BUTTON:
{
HWND item = GetDlgItem(m_Window, IDC_PACKAGEINFO_COMPONENTS_LIST);
int sel = ListView_GetNextItem(item, -1, LVNI_FOCUSED | LVNI_SELECTED);
if (sel != -1)
{
WCHAR buffer[MAX_PATH];
// Remove unchecked items from the component sets
LVITEM lvi;
lvi.mask = LVIF_GROUPID | LVIF_TEXT;
lvi.iSubItem = 0;
lvi.iItem = sel;
lvi.pszText = buffer;
lvi.cchTextMax = _countof(buffer);
ListView_GetItem(item, &lvi);
ListView_DeleteItem(item, sel);
const std::wstring name = buffer;
switch (lvi.iGroupId)
{
case 0:
{
item = GetDlgItem(m_Window, IDC_PACKAGEINFO_ADDSKIN_BUTTON);
EnableWindow(item, TRUE);
c_Dialog->m_SkinFolder.first.clear();
c_Dialog->m_SkinFolder.second.clear();
c_Dialog->SetNextButtonState();
}
break;
case 1:
c_Dialog->m_ThemeFolders.erase(c_Dialog->m_ThemeFolders.find(name));
break;
case 2:
c_Dialog->m_PluginFolders.erase(c_Dialog->m_PluginFolders.find(name));
break;
}
}
}
break;
case IDC_PACKAGEINFO_NAME_EDIT:
case IDC_PACKAGEINFO_AUTHOR_EDIT:
case IDC_PACKAGEINFO_VERSION_EDIT:
@ -924,13 +979,21 @@ INT_PTR CDialogPackage::CTabInfo::OnNotify(WPARAM wParam, LPARAM lParam)
LPNMHDR nm = (LPNMHDR)lParam;
switch (nm->code)
{
case LVN_GETEMPTYMARKUP:
case LVN_ITEMCHANGED:
{
NMLVEMPTYMARKUP* lvem = (NMLVEMPTYMARKUP*)lParam;
lvem->dwFlags = EMF_CENTERED;
wcscpy_s(lvem->szMarkup, L"Use the buttons below to add components to the .rmskin.");
SetWindowLongPtr(m_Window, DWLP_MSGRESULT, TRUE);
NMLISTVIEW* nmlv = (NMLISTVIEW*)lParam;
if (nm->idFrom == IDC_PACKAGEINFO_COMPONENTS_LIST)
{
BOOL selected = (nmlv->uNewState & LVIS_SELECTED);
HWND item = GetDlgItem(m_Window, IDC_PACKAGEINFO_REMOVE_BUTTON);
EnableWindow(item, selected);
}
}
break;
case NM_CLICK:
c_Dialog->ShowHelp();
break;
default:
@ -1201,6 +1264,9 @@ INT_PTR CALLBACK CDialogPackage::CTabAdvanced::DlgProc(HWND hWnd, UINT uMsg, WPA
{
case WM_COMMAND:
return c_Dialog->m_TabAdvanced.OnCommand(wParam, lParam);
case WM_NOTIFY:
return c_Dialog->m_TabInfo.OnNotify(wParam, lParam); // Redirect to m_TabInfo
}
return FALSE;

View File

@ -84,6 +84,8 @@ private:
bool AddFileToPackage(const WCHAR* realPath, const WCHAR* zipPath);
bool AddFolderToPackage(const std::wstring& path, std::wstring base, const WCHAR* zipPrefix);
void ShowHelp();
static std::wstring SelectFolder(HWND parent, const std::wstring& existingPath);
static INT_PTR CALLBACK SelectFolderDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

View File

@ -66,74 +66,75 @@ IDR_INSTALL_MENU MENU
// Dialog
//
IDD_PACKAGE_DIALOG DIALOGEX 0, 0, 320, 290
IDD_PACKAGE_DIALOG DIALOGEX 0, 0, 300, 280
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Rainmeter Skin Packager"
FONT 8, "MS Shell Dlg 2"
{
CONTROL "", IDC_PACKAGE_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 308, 261
DEFPUSHBUTTON "Next", IDC_PACKAGE_NEXT_BUTTON, 208, 271, 50, 14, WS_DISABLED
PUSHBUTTON "Create package", IDC_PACKAGE_CREATEPACKAGE_BUTTON, 178, 271, 80, 14, NOT WS_VISIBLE
PUSHBUTTON "Close", IDCLOSE, 263, 271, 50, 14
CONTROL "", IDC_PACKAGE_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 288, 251
DEFPUSHBUTTON "Next", IDC_PACKAGE_NEXT_BUTTON, 188, 261, 50, 14, WS_DISABLED
PUSHBUTTON "Create package", IDC_PACKAGE_CREATEPACKAGE_BUTTON, 158, 261, 80, 14, NOT WS_VISIBLE
PUSHBUTTON "Cancel", IDCANCEL, 243, 261, 50, 14
}
IDD_PACKAGEINFO_TAB DIALOGEX 15, 15, 290, 242
IDD_PACKAGEINFO_TAB DIALOGEX 15, 15, 270, 235
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
FONT 8, "MS Shell Dlg 2"
{
CONTROL "Fill in the information, add a skin, and click Next to continue.\n\nFor information about .rmskin packages, check the <A>manual</A>.", IDC_STATIC, "SysLink", 0x0, 0, 0, 284, 39
LTEXT "Enter the information and select the components to use for the .rmskin package.", IDC_STATIC, 0, 0, 264, 19
GROUPBOX "Information", IDC_STATIC, 0, 40, 290, 70
LTEXT "Name:", IDC_STATIC, 6, 56, 35, 9
EDITTEXT IDC_PACKAGEINFO_NAME_EDIT, 56, 53, 160, 14
LTEXT "Author:", IDC_STATIC, 6, 74, 35, 9
EDITTEXT IDC_PACKAGEINFO_AUTHOR_EDIT, 56, 71, 160, 14
LTEXT "Version:", IDC_STATIC, 6, 92, 35, 9
EDITTEXT IDC_PACKAGEINFO_VERSION_EDIT, 56, 89, 80, 14
GROUPBOX "Information", IDC_STATIC, 0, 35, 270, 70
LTEXT "Name:", IDC_STATIC, 6, 51, 35, 9
EDITTEXT IDC_PACKAGEINFO_NAME_EDIT, 56, 48, 208, 14
LTEXT "Author:", IDC_STATIC, 6, 69, 35, 9
EDITTEXT IDC_PACKAGEINFO_AUTHOR_EDIT, 56, 66, 208, 14
LTEXT "Version:", IDC_STATIC, 6, 87, 35, 9
EDITTEXT IDC_PACKAGEINFO_VERSION_EDIT, 56, 83, 140, 14
GROUPBOX "Components", IDC_STATIC, 0, 115, 290, 127
CONTROL "", IDC_PACKAGEINFO_COMPONENTS_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 6, 130, 278, 86
PUSHBUTTON "Add skin...", IDC_PACKAGEINFO_ADDSKIN_BUTTON, 6, 220, 70, 14
PUSHBUTTON "Add theme...", IDC_PACKAGEINFO_ADDTHEME_BUTTON, 81, 220, 70, 14
PUSHBUTTON "Add plugin...", IDC_PACKAGEINFO_ADDPLUGIN_BUTTON, 156, 220, 70, 14
GROUPBOX "Components", IDC_STATIC, 0, 110, 270, 108
CONTROL "", IDC_PACKAGEINFO_COMPONENTS_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 6, 125, 182, 86
PUSHBUTTON "Add skin...", IDC_PACKAGEINFO_ADDSKIN_BUTTON, 194, 125, 70, 14
PUSHBUTTON "Add theme...", IDC_PACKAGEINFO_ADDTHEME_BUTTON, 194, 144, 70, 14
PUSHBUTTON "Add plugin...", IDC_PACKAGEINFO_ADDPLUGIN_BUTTON, 194, 162, 70, 14
PUSHBUTTON "Remove", IDC_PACKAGEINFO_REMOVE_BUTTON, 194, 197, 70, 14, WS_DISABLED
CONTROL "<A>What is a .rmskin package?</A>", IDC_STATIC, "SysLink", 0x0, 0, 225, 264, 9
}
IDD_PACKAGEOPTIONS_TAB DIALOGEX 15, 30, 290, 227
IDD_PACKAGEOPTIONS_TAB DIALOGEX 15, 30, 270, 220
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
FONT 8, "MS Shell Dlg 2"
{
CONTROL "Select the install options below. For information about the options, check the <A>manual</A>.", IDC_STATIC, "SysLink", 0x0, 0, 0, 284, 29
LTEXT "Save package to:", IDC_STATIC, 0, 30, 290, 9
EDITTEXT IDC_PACKAGEOPTIONS_FILE_EDIT, 0, 47, 260, 14, ES_READONLY | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
PUSHBUTTON "...", IDC_PACKAGEOPTIONS_FILEBROWSE_BUTTON, 265, 47, 25, 14, WS_TABSTOP
LTEXT "Save package to:", IDC_STATIC, 0, 0, 270, 9
EDITTEXT IDC_PACKAGEOPTIONS_FILE_EDIT, 0, 17, 240, 14, ES_READONLY | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
PUSHBUTTON "...", IDC_PACKAGEOPTIONS_FILEBROWSE_BUTTON, 245, 17, 25, 14, WS_TABSTOP
GROUPBOX "After installation", IDC_STATIC, 0, 111, 290, 58
AUTORADIOBUTTON "Do nothing", IDC_PACKAGEOPTIONS_DONOTHING_RADIO, 6, 126, 85, 9, WS_TABSTOP
AUTORADIOBUTTON "Load skin", IDC_PACKAGEOPTIONS_LOADSKIN_RADIO, 6, 139, 85, 9, WS_TABSTOP
EDITTEXT IDC_PACKAGEOPTIONS_LOADSKIN_EDIT, 96, 136, 159, 14, ES_READONLY | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | NOT WS_VISIBLE
PUSHBUTTON "...", IDC_PACKAGEOPTIONS_LOADSKINBROWSE_BUTTON, 260, 136, 25, 14, WS_TABSTOP | NOT WS_VISIBLE
AUTORADIOBUTTON "Load theme", IDC_PACKAGEOPTIONS_LOADTHEME_RADIO, 6, 152, 85, 9, WS_TABSTOP
COMBOBOX IDC_PACKAGEOPTIONS_LOADTHEME_COMBO, 96, 149, 100, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | NOT WS_VISIBLE
GROUPBOX "After installation", IDC_STATIC, 0, 101, 270, 58
AUTORADIOBUTTON "Do nothing", IDC_PACKAGEOPTIONS_DONOTHING_RADIO, 6, 116, 85, 9, WS_TABSTOP
AUTORADIOBUTTON "Load skin", IDC_PACKAGEOPTIONS_LOADSKIN_RADIO, 6, 129, 85, 9, WS_TABSTOP
EDITTEXT IDC_PACKAGEOPTIONS_LOADSKIN_EDIT, 96, 126, 138, 14, ES_READONLY | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | NOT WS_VISIBLE
PUSHBUTTON "...", IDC_PACKAGEOPTIONS_LOADSKINBROWSE_BUTTON, 239, 126, 25, 14, WS_TABSTOP | NOT WS_VISIBLE
AUTORADIOBUTTON "Load theme", IDC_PACKAGEOPTIONS_LOADTHEME_RADIO, 6, 142, 85, 9, WS_TABSTOP
COMBOBOX IDC_PACKAGEOPTIONS_LOADTHEME_COMBO, 96, 139, 168, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | NOT WS_VISIBLE
GROUPBOX "Minimum requirements", IDC_STATIC, 0, 174, 290, 53
LTEXT "Rainmeter version:", IDC_STATIC, 6, 190, 85, 9
EDITTEXT IDC_PACKAGEOPTIONS_RAINMETERVERSION_EDIT, 96, 187, 80, 14
LTEXT "Windows version:", IDC_STATIC, 6, 208, 85, 9
COMBOBOX IDC_PACKAGEOPTIONS_WINDOWSVERSION_COMBO, 96, 205, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Minimum requirements", IDC_STATIC, 0, 164, 270, 53
LTEXT "Rainmeter version:", IDC_STATIC, 6, 180, 85, 9
EDITTEXT IDC_PACKAGEOPTIONS_RAINMETERVERSION_EDIT, 96, 177, 80, 14
LTEXT "Windows version:", IDC_STATIC, 6, 198, 85, 9
COMBOBOX IDC_PACKAGEOPTIONS_WINDOWSVERSION_COMBO, 96, 195, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
}
IDD_PACKAGEADVANCED_TAB DIALOGEX 15, 30, 290, 227
IDD_PACKAGEADVANCED_TAB DIALOGEX 15, 30, 270, 220
STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
FONT 8, "MS Shell Dlg 2"
{
LTEXT "Header image:", IDC_STATIC, 0, 3, 85, 9
EDITTEXT IDC_PACKAGEADVANCED_HEADER_EDIT, 90, 0, 170, 14, ES_READONLY | ES_AUTOHSCROLL | WS_TABSTOP
PUSHBUTTON "...", IDC_PACKAGEADVANCED_HEADERROWSE_BUTTON, 265, 0, 25, 14, WS_TABSTOP
LTEXT "Variable files:", IDC_STATIC, 0, 23, 85, 9
EDITTEXT IDC_PACKAGEADVANCED_VARIABLEFILES_EDIT, 90, 20, 200, 14, ES_AUTOHSCROLL | WS_TABSTOP
AUTOCHECKBOX "Merge skins", IDC_PACKAGEADVANCED_MERGESKINS_CHECK, 0, 40, 85, 9, WS_TABSTOP
EDITTEXT IDC_PACKAGEADVANCED_HEADER_EDIT, 90, 0, 150, 14, ES_READONLY | ES_AUTOHSCROLL | WS_TABSTOP
PUSHBUTTON "...", IDC_PACKAGEADVANCED_HEADERROWSE_BUTTON, 245, 0, 25, 14, WS_TABSTOP
LTEXT "Variables files:", IDC_STATIC, 0, 24, 85, 9
EDITTEXT IDC_PACKAGEADVANCED_VARIABLEFILES_EDIT, 90, 21, 180, 14, ES_AUTOHSCROLL | WS_TABSTOP
AUTOCHECKBOX "Merge skins", IDC_PACKAGEADVANCED_MERGESKINS_CHECK, 0, 42, 85, 9, WS_TABSTOP
CONTROL "<A>Help</A>", IDC_STATIC, "SysLink", 0x0, 0, 210, 264, 9
}
IDD_PACKAGESELECTFOLDER_DIALOG DIALOGEX 0, 0, 200, 100
@ -147,7 +148,7 @@ FONT 8, "MS Shell Dlg 2"
AUTORADIOBUTTON "Add custom folder:", IDC_PACKAGESELECTFOLDER_CUSTOM_RADIO, 6, 40, 220, 9, WS_TABSTOP
EDITTEXT IDC_PACKAGESELECTFOLDER_CUSTOM_EDIT, 16, 53, 149, 14, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL | WS_DISABLED
PUSHBUTTON "...", IDC_PACKAGESELECTFOLDER_CUSTOMBROWSE_BUTTON, 170, 53, 25, 14, WS_TABSTOP | WS_DISABLED
DEFPUSHBUTTON "Add", IDCLOSE, 144, 82, 50, 14
DEFPUSHBUTTON "Add", IDCANCEL, 146, 82, 50, 14
}
IDD_PACKAGESELECTPLUGIN_DIALOG DIALOGEX 0, 0, 200, 100
@ -162,7 +163,7 @@ FONT 8, "MS Shell Dlg 2"
LTEXT "64-bit DLL:", IDC_STATIC, 6, 40, 220, 9
EDITTEXT IDC_PACKAGESELECTPLUGIN_64BIT_EDIT, 16, 53, 149, 14, ES_READONLY | WS_BORDER
PUSHBUTTON "...", IDC_PACKAGESELECTPLUGIN_64BITBROWSE_BUTTON, 170, 53, 25, 14, WS_TABSTOP
DEFPUSHBUTTON "Add", IDCLOSE, 144, 82, 50, 14, WS_DISABLED
DEFPUSHBUTTON "Add", IDCANCEL, 146, 82, 50, 14, WS_DISABLED
}
IDD_INSTALL_DIALOG DIALOGEX 0, 0, 266, 250
@ -175,7 +176,7 @@ FONT 8, "MS Shell Dlg 2"
CONTROL "", IDC_INSTALL_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 42, 254, 185
PUSHBUTTON "Advanced", IDC_INSTALL_ADVANCED_BUTTON, 6, 231, 70, 14
DEFPUSHBUTTON "Install", IDC_INSTALL_INSTALL_BUTTON, 155, 231, 50, 14
PUSHBUTTON "Cancel", IDCLOSE, 210, 231, 50, 14
PUSHBUTTON "Cancel", IDCANCEL, 210, 231, 50, 14
}
IDD_INSTALL_TAB DIALOGEX 15, 51, 236, 168

View File

@ -35,6 +35,7 @@
#define IDC_PACKAGEINFO_ADDSKIN_BUTTON 1004
#define IDC_PACKAGEINFO_ADDTHEME_BUTTON 1005
#define IDC_PACKAGEINFO_ADDPLUGIN_BUTTON 1006
#define IDC_PACKAGEINFO_REMOVE_BUTTON 1007
#define IDC_PACKAGEOPTIONS_FILE_EDIT 1000
#define IDC_PACKAGEOPTIONS_FILEBROWSE_BUTTON 1001