* [internal] UI redesign, part 6

* Plus ça change...
This commit is contained in:
Pete Batard 2018-02-14 22:20:42 +00:00
parent c27ad743d5
commit 1254d1695d
8 changed files with 145 additions and 90 deletions

View File

@ -15,6 +15,11 @@ content. PLEASE, do not just look at this Changelog when updating your
translation, but always use the English section of rufus.loc as your base.
For instance, MSG_114, that was introduced in v1.0.8 is MORE than one line!
o Version 1.0.23 (2018.??.??)
- Changed MSG_280 "Image selection" -> "Disk or ISO image"
- Changed MSG_281 "(Please select an image)" -> "%s (Please select)"
MSG_281 + MSG_280 are used to create the message that appears in the boot selection dropdown when an image has not been selected.
o Version 1.0.22 (2017.07.17)
- *NEW* MSG_295 "Warning: Unofficial version"
- *NEW* MSG_296 "This version of Rufus was NOT produced by its official developer(s).\n\nAre you sure you want to run it?"

View File

@ -97,15 +97,14 @@ v 1.0.23
# Main dialog
g IDD_DIALOG
t IDS_DEVICE_SETTINGS_TXT "Device Settings"
t IDS_DRIVE_PROPERTIES_TXT "Drive Properties"
t IDS_DEVICE_TXT "Device"
# TODO: use MSG_278 for translations
t IDS_BOOT_TYPE_TXT "Boot selection"
t IDC_SELECT_IMAGE "SELECT"
t IDC_SELECT "SELECT"
t IDS_IMAGE_OPTION_TXT "Image Option"
t IDS_PARTITION_TYPE_TXT "Partition scheme"
t IDS_TARGET_SYSTEM_TXT "Target system"
t IDC_ADVANCED_DEVICE_SETTINGS "Advanced Device Settings"
t IDC_LIST_USB_HDD "List USB Hard Drives"
# Note: It is acceptable to drop the parenthesis () below if you are running out of space
# as there is a tooltip (MSG_169) providing these details.
@ -118,14 +117,12 @@ t IDS_FORMAT_OPTIONS_TXT "Format Options"
t IDS_FILESYSTEM_TXT "File system"
t IDS_CLUSTERSIZE_TXT "Cluster size"
t IDS_LABEL_TXT "Volume label"
t IDC_ADVANCED_FORMAT_OPTIONS "Advanced Format Options"
t IDC_QUICKFORMAT "Quick format"
t IDC_BADBLOCKS "Check device for bad blocks"
t IDC_EXTENDED_LABEL "Create extended label and icon files"
t IDS_STATUS_TXT "Status"
t IDCANCEL "CLOSE"
t IDC_START "START"
t IDS_ADVANCED_OPTIONS_GRP "Advanced Options"
# About dialog
g IDD_ABOUTBOX
@ -540,12 +537,9 @@ t MSG_276 "Write in %s mode (Recommended)"
t MSG_277 "Write in %s mode"
# The following will be used for new controls of the Rufus 3.0 interface
# They are added as messages, so that I will have them available when needed.
# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used
# 279 & 281 will be items that can appear in the dropdowns
t MSG_278 "Boot type"
t MSG_279 "Non bootable"
t MSG_280 "Image selection"
t MSG_281 "(Please select an image)"
t MSG_280 "Disk or ISO image"
t MSG_281 "%s (Please select)"
t MSG_282 "Exclusive USB drive locking"
t MSG_283 "Invalid signature"
t MSG_284 "The downloaded executable is missing a digital signature."
@ -574,15 +568,14 @@ t MSG_301 "Standard Windows installation"
# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language
# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200)
t MSG_302 "Windows To Go"
t MSG_303 "Disk or ISO image"
t MSG_304 "%s (Please select)"
t MSG_305 "Settings"
# Was 'IDC_ABOUT'
t MSG_306 "About"
# Was 'IDC_LOG'
t MSG_307 "Log"
t MSG_305 "Show application settings"
t MSG_306 "Show information about this application"
t MSG_307 "Show the log"
t MSG_308 "advanced drive properties"
t MSG_309 "advanced format options"
t MSG_310 "Show %s"
t MSG_311 "Hide %s"
t MSG_312 "Create a disk image of the selected device"
################################################################################
############################# TRANSLATOR END COPY ##############################
@ -5218,13 +5211,12 @@ v 1.0.23
b "en-US"
g IDD_DIALOG
t IDS_DEVICE_SETTINGS_TXT "Options de Périphérique"
t IDS_DRIVE_PROPERTIES_TXT "Options de Périphérique"
t IDS_DEVICE_TXT "Périphérique"
t IDS_BOOT_TYPE_TXT "Type de démarrage"
t IDC_SELECT_IMAGE "SELECTION"
t IDC_SELECT "SELECTION"
t IDS_IMAGE_OPTION_TXT "Option d'image"
t IDS_PARTITION_TYPE_TXT "Schéma de partition"
t IDC_ADVANCED_DEVICE_SETTINGS "Options de Périphérique Avancées"
t IDS_TARGET_SYSTEM_TXT "Système de destination"
t IDS_FILESYSTEM_TXT "Système de fichiers"
t IDS_CLUSTERSIZE_TXT "Taille d'unité d'allocation"
@ -5235,7 +5227,6 @@ t IDC_QUICKFORMAT "Formatage rapide"
t IDC_BOOT "Créer un disque de démarrage"
t IDC_WINDOWS_INSTALL "Installation standard de Windows"
t IDC_EXTENDED_LABEL "Ajouter un label étendu et une icône"
t IDC_ADVANCED_FORMAT_OPTIONS "Options de Formatage Avancées"
t IDS_STATUS_TXT "Statut"
t IDC_ABOUT "A propos..."
t IDCANCEL "FERMER"
@ -5605,8 +5596,8 @@ t MSG_268 "Application de l'image Windows..."
t MSG_269 "Préservation des dates de fichiers"
t MSG_270 "Debug USB"
t MSG_271 "Calculation des checksums de l'image : %0.1f%% complété"
t MSG_272 "Calcule les checksums MD5, SHA1 et SHA256 pour l'image sélectionée"
t MSG_273 "Change la langue de l'application"
t MSG_272 "Calculer les checksums MD5, SHA1 et SHA256 pour l'image sélectionée"
t MSG_273 "Changer la langue de l'application"
t MSG_274 "Image ISOHybrid détectée"
t MSG_275 "L'image que vous avez sélectionnée est une image 'ISOHybrid'. Cela veut dire quelle peut "
"être écrite soit en mode %s (copie de fichiers) ou en mode %s (image disque).\n"
@ -5643,7 +5634,14 @@ t MSG_298 "Le fichier ISO que vous avez sélectionné ne fait pas la bonne taill
"cliquant le bouton '#'."
t MSG_303 "Image disque ou ISO"
t MSG_304 "%s (Veuillez sélectionner)"
t MSG_305 "Afficher les paramètres de l'application"
t MSG_306 "Afficher les informations à propos de cette application"
t MSG_307 "Afficher le log"
t MSG_308 "options de périphérique avancées"
t MSG_309 "options de formatage avancées"
t MSG_310 "Afficher les %s"
t MSG_311 "Cacher les %s"
t MSG_312 "Créer une image disque à partir du périphérique sélectionné"
################################################################################
l "de-DE" "German (Deutsch)" 0x0407, 0x0807, 0x0c07, 0x1007, 0x1407

View File

@ -34,7 +34,7 @@ RUFUS_URL "\\line\n"
const char* additional_copyrights =
"{\\rtf1\\ansi\n"
"Rufus 3.0 GUI redesign concept by Fahad Al-Riyami\\line\n"
"UI redesign concept by Fahad Al-Riyami\\line\n"
"Used with kind authorization\\line\n"
"\\line\n"
"Icon by PC Unleashed:\\line\n"

View File

@ -43,16 +43,15 @@ const loc_control_id control_id[] = {
LOC_CTRL(IDC_PARTITION_TYPE),
LOC_CTRL(IDC_CLUSTERSIZE),
LOC_CTRL(IDC_STATUS),
LOC_CTRL(IDC_ABOUT),
LOC_CTRL(IDC_LABEL),
LOC_CTRL(IDC_QUICKFORMAT),
LOC_CTRL(IDC_SHOW_ADVANCED_TOOLBAR),
LOC_CTRL(IDC_BADBLOCKS),
LOC_CTRL(IDC_PROGRESS),
LOC_CTRL(IDC_BOOTTYPE),
LOC_CTRL(IDC_BOOT_TYPE),
LOC_CTRL(IDC_NBPASSES),
LOC_CTRL(IDC_TEST),
LOC_CTRL(IDC_SELECT_IMAGE),
LOC_CTRL(IDC_SELECT),
LOC_CTRL(IDC_EXTENDED_LABEL),
LOC_CTRL(IDC_RUFUS_MBR),
LOC_CTRL(IDC_TARGET_SYSTEM),
@ -64,7 +63,6 @@ const loc_control_id control_id[] = {
LOC_CTRL(IDC_STATUS_TOOLBAR),
LOC_CTRL(IDC_HASH),
LOC_CTRL(IDC_SAVE),
LOC_CTRL(IDC_SELECT),
LOC_CTRL(IDC_IMAGE_OPTION),
LOC_CTRL(IDC_ABOUT_LICENSE),
LOC_CTRL(IDC_ABOUT_ICON),
@ -76,6 +74,7 @@ const loc_control_id control_id[] = {
LOC_CTRL(IDC_NOTIFICATION_LINE),
LOC_CTRL(IDC_ADVANCED_DEVICE_TOOLBAR),
LOC_CTRL(IDC_ADVANCED_FORMAT_TOOLBAR),
LOC_CTRL(IDC_ABOUT),
LOC_CTRL(IDC_LOG),
LOC_CTRL(IDC_WINDOWS_INSTALL),
LOC_CTRL(IDC_WINDOWS_TO_GO),
@ -137,7 +136,7 @@ const loc_control_id control_id[] = {
LOC_CTRL(IDC_LIST_ITEM14),
LOC_CTRL(IDC_LIST_ITEM15),
LOC_CTRL(IDC_LIST_ITEMMAX),
LOC_CTRL(IDC_ADVANCED_DEVICE_SETTINGS),
LOC_CTRL(IDC_ADVANCED_DRIVE_PROPERTIES),
LOC_CTRL(IDC_ADVANCED_FORMAT_OPTIONS),
LOC_CTRL(IDS_DEVICE_TXT),
LOC_CTRL(IDS_PARTITION_TYPE_TXT),
@ -154,7 +153,7 @@ const loc_control_id control_id[] = {
LOC_CTRL(IDS_TARGET_SYSTEM_TXT),
LOC_CTRL(IDS_IMAGE_OPTION_TXT),
LOC_CTRL(IDS_BOOT_TYPE_TXT),
LOC_CTRL(IDS_DEVICE_SETTINGS_TXT),
LOC_CTRL(IDS_DRIVE_PROPERTIES_TXT),
LOC_CTRL(IDS_FORMAT_OPTIONS_TXT),
LOC_CTRL(IDS_STATUS_TXT),
LOC_CTRL(MSG_000),
@ -468,6 +467,16 @@ const loc_control_id control_id[] = {
LOC_CTRL(MSG_308),
LOC_CTRL(MSG_309),
LOC_CTRL(MSG_310),
LOC_CTRL(MSG_311),
LOC_CTRL(MSG_312),
LOC_CTRL(MSG_313),
LOC_CTRL(MSG_314),
LOC_CTRL(MSG_315),
LOC_CTRL(MSG_316),
LOC_CTRL(MSG_317),
LOC_CTRL(MSG_318),
LOC_CTRL(MSG_319),
LOC_CTRL(MSG_320),
LOC_CTRL(MSG_MAX),
LOC_CTRL(IDOK),
LOC_CTRL(IDCANCEL),

View File

@ -79,16 +79,15 @@
#define IDC_PARTITION_TYPE 1004
#define IDC_CLUSTERSIZE 1005
#define IDC_STATUS 1006
#define IDC_ABOUT 1007
#define IDC_LABEL 1008
#define IDC_QUICKFORMAT 1009
#define IDC_SHOW_ADVANCED_TOOLBAR 1010
#define IDC_BADBLOCKS 1011
#define IDC_PROGRESS 1012
#define IDC_BOOTTYPE 1013
#define IDC_BOOT_TYPE 1013
#define IDC_NBPASSES 1014
#define IDC_TEST 1015
#define IDC_SELECT_IMAGE 1016
#define IDC_SELECT 1016
#define IDC_EXTENDED_LABEL 1017
#define IDC_RUFUS_MBR 1018
#define IDC_TARGET_SYSTEM 1019
@ -100,19 +99,19 @@
#define IDC_STATUS_TOOLBAR 1025
#define IDC_HASH 1026
#define IDC_SAVE 1027
#define IDC_SELECT 1028
#define IDC_IMAGE_OPTION 1029
#define IDC_ABOUT_LICENSE 1030
#define IDC_ABOUT_ICON 1031
#define IDC_ABOUT_COPYRIGHTS 1033
#define IDC_ABOUT_BLURB 1034
#define IDC_LICENSE_TEXT 1035
#define IDC_ABOUT_COPYRIGHTS 1032
#define IDC_ABOUT_BLURB 1033
#define IDC_LICENSE_TEXT 1034
#define IDC_NOTIFICATION_ICON 1040
#define IDC_NOTIFICATION_TEXT 1041
#define IDC_NOTIFICATION_LINE 1042
#define IDC_ADVANCED_DEVICE_TOOLBAR 1043
#define IDC_ADVANCED_FORMAT_TOOLBAR 1044
#define IDC_LOG 1045
#define IDC_ABOUT 1045
#define IDC_LOG 1046
#define IDC_WINDOWS_INSTALL 1047
#define IDC_WINDOWS_TO_GO 1048
#define IDC_SHOW_ADVANCED_OPTIONS 1049
@ -173,7 +172,7 @@
#define IDC_LIST_ITEM14 1109
#define IDC_LIST_ITEM15 1110
#define IDC_LIST_ITEMMAX 1111
#define IDC_ADVANCED_DEVICE_SETTINGS 1112
#define IDC_ADVANCED_DRIVE_PROPERTIES 1112
#define IDC_ADVANCED_FORMAT_OPTIONS 1113
#define IDS_DEVICE_TXT 2000
#define IDS_PARTITION_TYPE_TXT 2001
@ -190,7 +189,7 @@
#define IDS_TARGET_SYSTEM_TXT 2013
#define IDS_IMAGE_OPTION_TXT 2014
#define IDS_BOOT_TYPE_TXT 2015
#define IDS_DEVICE_SETTINGS_TXT 2016
#define IDS_DRIVE_PROPERTIES_TXT 2016
#define IDS_FORMAT_OPTIONS_TXT 2017
#define IDS_STATUS_TXT 2018
#define MSG_000 3000
@ -504,7 +503,17 @@
#define MSG_308 3308
#define MSG_309 3309
#define MSG_310 3310
#define MSG_MAX 3311
#define MSG_311 3311
#define MSG_312 3312
#define MSG_313 3313
#define MSG_314 3314
#define MSG_315 3315
#define MSG_316 3316
#define MSG_317 3317
#define MSG_318 3318
#define MSG_319 3319
#define MSG_320 3320
#define MSG_MAX 3321
// Next default values for new objects
//

View File

@ -177,6 +177,7 @@ static HANDLE format_thid = NULL, dialog_handle = NULL;
static HWND hSelectImage = NULL, hStart = NULL;
static HICON hIconSave, hIconDown, hIconUp, hIconLang, hIconAbout, hIconSettings, hIconLog;
static char szTimer[12] = "00:00:00";
static wchar_t wtbtext[2][128];
static unsigned int timer;
extern BOOL enable_iso, enable_joliet, enable_rockridge, enable_ntfs_compression;
@ -318,7 +319,7 @@ static void SetBootOptions(void)
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "FreeDOS"), BT_FREEDOS));
image_index = (nWindowsVersion < WINDOWS_10) ? 3 : 2;
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType,
(image_path == NULL) ? lmprintf(MSG_304, lmprintf(MSG_303)) : short_image_path), BT_IMAGE));
(image_path == NULL) ? lmprintf(MSG_281, lmprintf(MSG_280)) : short_image_path), BT_IMAGE));
if (advanced_mode_device) {
static_sprintf(tmp, "Syslinux %s", embedded_sl_version_str[0]);
@ -360,7 +361,6 @@ static void SetPartitionSchemeAndTargetSystem(BOOL only_target)
allowed_target_system[0] = FALSE;
allowed_target_system[1] = FALSE;
allowed_target_system[2] = TRUE;
// TODO: Grey out target system
break;
case BT_IMAGE:
if (pt == PARTITION_STYLE_GPT)
@ -427,7 +427,6 @@ static void SetPartitionSchemeAndTargetSystem(BOOL only_target)
if (allowed_target_system[2])
IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem,
ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_033)), TT_BIOS));
// TODO: use SetComboEntry to be more explicit
IGNORE_RETVAL(ComboBox_SetCurSel(hTargetSystem, 0));
}
@ -1042,7 +1041,6 @@ void UpdateProgress(int op, float percent)
// Toggle controls according to operation
static void EnableControls(BOOL bEnable)
{
// TODO - use a list?
EnableWindow(GetDlgItem(hMainDialog, IDC_DEVICE), bEnable);
EnableWindow(hStart, (ComboBox_GetCurSel(hDeviceList)<0)?FALSE:bEnable);
EnableWindow(GetDlgItem(hMainDialog, IDC_ABOUT), bEnable);
@ -1052,7 +1050,9 @@ static void EnableControls(BOOL bEnable)
EnableWindow(hNBPasses, bEnable);
EnableWindow(hAdvancedDeviceToolBar, bEnable);
EnableWindow(hAdvancedFormatToolBar, bEnable);
EnableWindow(hMultiToolbar, bEnable);
SendMessage(hMultiToolbar, TB_ENABLEBUTTON, (WPARAM)IDC_ABOUT, (LPARAM)bEnable);
SendMessage(hMultiToolbar, TB_ENABLEBUTTON, (WPARAM)IDC_SETTINGS, (LPARAM)bEnable);
SendMessage(hMultiToolbar, TB_ENABLEBUTTON, (WPARAM)IDC_LANG, (LPARAM)bEnable);
EnableWindow(hStatusToolbar, bEnable);
EnableWindow(GetDlgItem(hMainDialog, IDC_LIST_USB_HDD), bEnable);
SetDlgItemTextU(hMainDialog, IDCANCEL, lmprintf(bEnable?MSG_006:MSG_007));
@ -1275,10 +1275,12 @@ static void ResizeDialogs(int shift)
Edit_Scroll(hLog, 0, Edit_GetLineCount(hLog));
}
// Toggle "advanced" mode
// Toggle "advanced" options
static void ToggleAdvancedDeviceOptions(BOOL enable)
{
RECT rc;
SIZE sz;
TBBUTTONINFO button_info;
int i, shift = advanced_device_section_height;
if (!enable)
@ -1286,7 +1288,17 @@ static void ToggleAdvancedDeviceOptions(BOOL enable)
format_vpos += shift;
status_vpos += shift;
// Toggle the Hide/Show toolbar text
utf8_to_wchar_no_alloc(lmprintf((enable) ? MSG_311 : MSG_310, lmprintf(MSG_308)), wtbtext[0], ARRAYSIZE(wtbtext[0]));
button_info.cbSize = sizeof(button_info);
button_info.dwMask = TBIF_TEXT;
button_info.pszText = wtbtext[0];
SendMessage(hAdvancedDeviceToolBar, TB_SETBUTTONINFO, (WPARAM)IDC_ADVANCED_DRIVE_PROPERTIES, (LPARAM)&button_info);
SendMessage(hAdvancedDeviceToolBar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)((enable) ? hUpImageList : hDownImageList));
GetWindowRect(hAdvancedDeviceToolBar, &rc);
MapWindowPoints(NULL, hMainDialog, (POINT*)&rc, 2);
SendMessage(hAdvancedDeviceToolBar, TB_GETIDEALSIZE, (WPARAM)FALSE, (LPARAM)&sz);
SetWindowPos(hAdvancedDeviceToolBar, HWND_TOP, rc.left, rc.top, sz.cx, rc.bottom - rc.top, 0);
// Move the controls up or down
for (i = 0; i<ARRAYSIZE(advanced_device_move_ids); i++)
@ -1310,13 +1322,26 @@ static void ToggleAdvancedDeviceOptions(BOOL enable)
static void ToggleAdvancedFormatOptions(BOOL enable)
{
int i, shift = advanced_format_section_height; // -show_advanced_height;
RECT rc;
SIZE sz;
TBBUTTONINFO button_info;
int i, shift = advanced_format_section_height;
if (!enable)
shift = -shift;
status_vpos += shift;
// Toggle the Hide/Show toolbar text
utf8_to_wchar_no_alloc(lmprintf((enable) ? MSG_311 : MSG_310, lmprintf(MSG_309)), wtbtext[1], ARRAYSIZE(wtbtext[0]));
button_info.cbSize = sizeof(button_info);
button_info.dwMask = TBIF_TEXT;
button_info.pszText = wtbtext[1];
SendMessage(hAdvancedFormatToolBar, TB_SETBUTTONINFO, (WPARAM)IDC_ADVANCED_FORMAT_OPTIONS, (LPARAM)&button_info);
SendMessage(hAdvancedFormatToolBar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)((enable) ? hUpImageList : hDownImageList));
GetWindowRect(hAdvancedFormatToolBar, &rc);
MapWindowPoints(NULL, hMainDialog, (POINT*)&rc, 2);
SendMessage(hAdvancedFormatToolBar, TB_GETIDEALSIZE, (WPARAM)FALSE, (LPARAM)&sz);
SetWindowPos(hAdvancedFormatToolBar, HWND_TOP, rc.left, rc.top, sz.cx, rc.bottom - rc.top, 0);
// Move the controls up or down
for (i = 0; i<ARRAYSIZE(advanced_format_move_ids); i++)
@ -1423,7 +1448,6 @@ static void UpdateImage(void)
}
}
// TODO: Ultimately we may want to keep a list of most recent images
if (image_path != NULL) {
ComboBox_DeleteString(hBootType, index);
ComboBox_InsertStringU(hBootType, index, short_image_path);
@ -1486,10 +1510,11 @@ DWORD WINAPI ISOScanThread(LPVOID param)
SetMBRProps();
} else {
// Set Target and FS accordingly
// TODO - Doesn't seem to work for Windows ISOs
if (img_report.is_iso) {
IGNORE_RETVAL(ComboBox_SetCurSel(hBootType, image_index));
SetPartitionSchemeAndTargetSystem(FALSE);
// TODO: Maybe we should just call PopulateProperties() here?
SetFileSystemAndClusterSize(NULL);
SetFSFromISO();
SetMBRProps();
SetProposedLabel(ComboBox_GetCurSel(hDeviceList));
@ -1899,7 +1924,6 @@ static void CreateAdditionalControls(HWND hDlg)
HIMAGELIST hToolbarImageList;
RECT rc;
SIZE sz;
static wchar_t wtbtext[2][128];
int i16, s16, toolbar_fudge = -6;
TBBUTTON tbToolbarButtons[7];
@ -1936,24 +1960,34 @@ static void CreateAdditionalControls(HWND hDlg)
}
// Fetch the up and down expand icons for the advanced options toolbar
hDll = GetLibraryHandle("ComDlg32");
hIconDown = (HICON)LoadImage(hDll, MAKEINTRESOURCE(577), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED);
hDownImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0);
ImageList_AddIcon(hDownImageList, hIconDown);
hIconUp = (HICON)LoadImage(hDll, MAKEINTRESOURCE(578), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED);
hUpImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0);
ImageList_AddIcon(hUpImageList, hIconUp);
if (nWindowsVersion < WINDOWS_8) {
hDll = GetLibraryHandle("Shell32");
hIconDown = (HICON)LoadImage(hDll, MAKEINTRESOURCE(16750), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED);
hDownImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0);
ImageList_AddIcon(hDownImageList, hIconDown);
hIconUp = (HICON)LoadImage(hDll, MAKEINTRESOURCE(16749), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED);
hUpImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0);
ImageList_AddIcon(hUpImageList, hIconUp);
} else {
hDll = GetLibraryHandle("ComDlg32");
hIconDown = (HICON)LoadImage(hDll, MAKEINTRESOURCE(577), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED);
hDownImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0);
ImageList_AddIcon(hDownImageList, hIconDown);
hIconUp = (HICON)LoadImage(hDll, MAKEINTRESOURCE(578), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED);
hUpImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0);
ImageList_AddIcon(hUpImageList, hIconUp);
}
// Create the advanced options toolbars
memset(wtbtext, 0, sizeof(wtbtext));
GetWindowTextW(GetDlgItem(hDlg, IDC_ADVANCED_DEVICE_SETTINGS), wtbtext[0], ARRAYSIZE(wtbtext[0]));
utf8_to_wchar_no_alloc(lmprintf((advanced_mode_device) ? MSG_311 : MSG_310, lmprintf(MSG_308)), wtbtext[0], ARRAYSIZE(wtbtext[0]));
hAdvancedDeviceToolBar = CreateWindowExW(0, TOOLBARCLASSNAME, NULL,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN |
CCS_NODIVIDER | TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_TRANSPARENT | TBSTYLE_TOOLTIPS | TBSTYLE_AUTOSIZE,
0, 0, 0, 0, hMainDialog, (HMENU)IDC_ADVANCED_DEVICE_TOOLBAR, hMainInstance, NULL);
SendMessage(hAdvancedDeviceToolBar, CCM_SETVERSION, (WPARAM)6, 0);
memset(tbToolbarButtons, 0, sizeof(TBBUTTON));
tbToolbarButtons[0].idCommand = IDC_ADVANCED_DEVICE_SETTINGS;
tbToolbarButtons[0].idCommand = IDC_ADVANCED_DRIVE_PROPERTIES;
tbToolbarButtons[0].fsStyle = BTNS_SHOWTEXT | BTNS_AUTOSIZE;
tbToolbarButtons[0].fsState = TBSTATE_ENABLED;
tbToolbarButtons[0].iString = (INT_PTR)wtbtext[0];
@ -1961,12 +1995,12 @@ static void CreateAdditionalControls(HWND hDlg)
SendMessage(hAdvancedDeviceToolBar, TB_SETIMAGELIST, 0, (LPARAM)hUpImageList);
SendMessage(hAdvancedDeviceToolBar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
SendMessage(hAdvancedDeviceToolBar, TB_ADDBUTTONS, 1, (LPARAM)&tbToolbarButtons);
GetWindowRect(GetDlgItem(hDlg, IDC_ADVANCED_DEVICE_SETTINGS), &rc);
GetWindowRect(GetDlgItem(hDlg, IDC_ADVANCED_DRIVE_PROPERTIES), &rc);
MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2);
SendMessage(hAdvancedDeviceToolBar, TB_GETIDEALSIZE, (WPARAM)FALSE, (LPARAM)&sz);
SetWindowPos(hAdvancedDeviceToolBar, HWND_TOP, rc.left + toolbar_fudge, rc.top, sz.cx, rc.bottom - rc.top, 0);
GetWindowTextW(GetDlgItem(hDlg, IDC_ADVANCED_FORMAT_OPTIONS), wtbtext[1], ARRAYSIZE(wtbtext[1]));
utf8_to_wchar_no_alloc(lmprintf((advanced_mode_format) ? MSG_311 : MSG_310, lmprintf(MSG_309)), wtbtext[1], ARRAYSIZE(wtbtext[1]));
hAdvancedFormatToolBar = CreateWindowExW(0, TOOLBARCLASSNAME, NULL,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN |
CCS_NODIVIDER | TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_TRANSPARENT | TBSTYLE_TOOLTIPS | TBSTYLE_AUTOSIZE,
@ -1994,8 +2028,8 @@ static void CreateAdditionalControls(HWND hDlg)
hToolbarImageList = ImageList_Create(i16, i16, ILC_COLOR32, 4, 0);
ImageList_AddIcon(hToolbarImageList, hIconAbout);
ImageList_AddIcon(hToolbarImageList, hIconSettings);
ImageList_AddIcon(hToolbarImageList, hIconLang);
ImageList_AddIcon(hToolbarImageList, hIconLog);
ImageList_AddIcon(hToolbarImageList, hIconLang);
SendMessage(hMultiToolbar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)hToolbarImageList);
SendMessage(hMultiToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
memset(tbToolbarButtons, 0, sizeof(TBBUTTON) * ARRAYSIZE(tbToolbarButtons));
@ -2015,7 +2049,7 @@ static void CreateAdditionalControls(HWND hDlg)
tbToolbarButtons[3].fsState = TBSTATE_INDETERMINATE;
tbToolbarButtons[3].iBitmap = I_IMAGENONE;
tbToolbarButtons[3].iString = (INT_PTR)L" ";
tbToolbarButtons[4].idCommand = IDC_LANG;
tbToolbarButtons[4].idCommand = IDC_LOG;
tbToolbarButtons[4].fsStyle = BTNS_AUTOSIZE;
tbToolbarButtons[4].fsState = TBSTATE_ENABLED;
tbToolbarButtons[4].iBitmap = 2;
@ -2023,7 +2057,7 @@ static void CreateAdditionalControls(HWND hDlg)
tbToolbarButtons[5].fsState = TBSTATE_INDETERMINATE;
tbToolbarButtons[5].iBitmap = I_IMAGENONE;
tbToolbarButtons[5].iString = (INT_PTR)L" ";
tbToolbarButtons[6].idCommand = IDC_LOG;
tbToolbarButtons[6].idCommand = IDC_LANG;
tbToolbarButtons[6].fsStyle = BTNS_AUTOSIZE;
tbToolbarButtons[6].fsState = TBSTATE_ENABLED;
tbToolbarButtons[6].iBitmap = 3;
@ -2116,7 +2150,7 @@ static void GetFullWidth(HWND hDlg)
full_width = rc.right - rc.left - cb_width;
// Initialize the min width according to the longest message from the Boot Type drowpdown
full_width = max(full_width, GetTextSize(GetDlgItem(hDlg, IDC_BOOTTYPE), lmprintf(MSG_304, lmprintf(MSG_303))).cx);
full_width = max(full_width, GetTextSize(GetDlgItem(hDlg, IDC_BOOT_TYPE), lmprintf(MSG_281, lmprintf(MSG_280))).cx);
// Go through the Image Options for Windows To Go
full_width = max(full_width, GetTextSize(GetDlgItem(hDlg, IDC_IMAGE_OPTION), lmprintf(MSG_301)).cx);
@ -2224,7 +2258,7 @@ static void SetSectionHeaders(HWND hDlg)
SIZE sz;
HFONT hf;
wchar_t wtmp[128];
int i, control[3] = { IDS_DEVICE_SETTINGS_TXT, IDS_FORMAT_OPTIONS_TXT, IDS_STATUS_TXT };
int i, control[3] = { IDS_DRIVE_PROPERTIES_TXT, IDS_FORMAT_OPTIONS_TXT, IDS_STATUS_TXT };
// Set the section header fonts and resize the static controls accordingly
hf = CreateFontA(48, 0, 0, 0, FW_SEMIBOLD, FALSE, FALSE, FALSE, DEFAULT_CHARSET,
@ -2252,7 +2286,7 @@ static void PositionControls(HWND hDlg)
// TODO: dynamicize button_fudge
int dropdown_height, button_fudge = 2;
// TODO: compute button width intependtly and use it to compute half_width
int i, width = (half_width - small_sep_width) / 2, x, control[3] = { IDC_SELECT_IMAGE, IDC_START, IDCANCEL };
int i, width = (half_width - small_sep_width) / 2, x, control[3] = { IDC_SELECT, IDC_START, IDCANCEL };
// Resize the height of the label and progress bar to the height of standard dropdowns
hCtrl = GetDlgItem(hDlg, IDC_DEVICE);
@ -2297,7 +2331,7 @@ static void PositionControls(HWND hDlg)
advanced_format_section_height = rc.bottom - advanced_format_section_height;
// Get the vertical position of the sections text
hCtrl = GetDlgItem(hDlg, IDS_DEVICE_SETTINGS_TXT);
hCtrl = GetDlgItem(hDlg, IDS_DRIVE_PROPERTIES_TXT);
GetWindowRect(hCtrl, &rc);
MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2);
sz = GetTextSize(hCtrl, NULL);
@ -2364,7 +2398,7 @@ static void PositionControls(HWND hDlg)
SetWindowPos(hCtrl, HWND_TOP, x, rc.top, hash_button_width, rc.bottom - rc.top, 0);
// Resize the boot selection button
hCtrl = GetDlgItem(hDlg, IDC_BOOTTYPE);
hCtrl = GetDlgItem(hDlg, IDC_BOOT_TYPE);
GetWindowRect(hCtrl, &rc);
MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2);
SetWindowPos(hCtrl, HWND_TOP, rc.left, rc.top, x - margin_width - small_sep_width, rc.bottom - rc.top, 0);
@ -2379,7 +2413,7 @@ static void PositionControls(HWND hDlg)
SetWindowPos(hCtrl, NULL, rc.left, sz.cy - 1,
rc.right - rc.left, dropdown_height + button_fudge, SWP_NOZORDER);
hCtrl = GetDlgItem(hDlg, IDC_BOOTTYPE);
hCtrl = GetDlgItem(hDlg, IDC_BOOT_TYPE);
GetWindowRect(hCtrl, &rcSelectedImage);
MapWindowPoints(NULL, hDlg, (POINT*)&rcSelectedImage, 2);
hCtrl = GetDlgItem(hDlg, IDC_HASH);
@ -2428,8 +2462,8 @@ static void InitDialog(HWND hDlg)
hClusterSize = GetDlgItem(hDlg, IDC_CLUSTERSIZE);
hLabel = GetDlgItem(hDlg, IDC_LABEL);
hProgress = GetDlgItem(hDlg, IDC_PROGRESS);
hBootType = GetDlgItem(hDlg, IDC_BOOTTYPE);
hSelectImage = GetDlgItem(hDlg, IDC_SELECT_IMAGE);
hBootType = GetDlgItem(hDlg, IDC_BOOT_TYPE);
hSelectImage = GetDlgItem(hDlg, IDC_SELECT);
hNBPasses = GetDlgItem(hDlg, IDC_NBPASSES);
hDiskID = GetDlgItem(hDlg, IDC_DISK_ID);
hStart = GetDlgItem(hDlg, IDC_START);
@ -2558,6 +2592,7 @@ static void InitDialog(HWND hDlg)
// CreateTooltip(GetDlgItem(hDlg, IDC_WINDOWS_INSTALL), lmprintf(MSG_199), -1);
// CreateTooltip(GetDlgItem(hDlg, IDC_WINDOWS_TO_GO), lmprintf(MSG_200), -1);
CreateTooltip(GetDlgItem(hDlg, IDC_HASH), lmprintf(MSG_272), -1);
CreateTooltip(GetDlgItem(hDlg, IDC_SAVE), lmprintf(MSG_312), -1);
// Set a label for the Advanced Mode and Select Image button for screen readers
// SetWindowTextU(GetDlgItem(hDlg, IDC_ADVANCED), lmprintf(MSG_160));
@ -2573,7 +2608,7 @@ static void InitDialog(HWND hDlg)
// Process commandline parameters
if (iso_provided) {
// Simulate a button click for image selection
PostMessage(hDlg, WM_COMMAND, IDC_SELECT_IMAGE, 0);
PostMessage(hDlg, WM_COMMAND, IDC_SELECT, 0);
}
SetBootTypeDropdownWidth();
@ -2949,7 +2984,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
// Must come last for the log window to get focus
ShowWindow(hLogDlg, log_displayed?SW_SHOW:SW_HIDE);
break;
case IDC_ADVANCED_DEVICE_SETTINGS:
case IDC_ADVANCED_DRIVE_PROPERTIES:
advanced_mode_device = !advanced_mode_device;
WriteSettingBool(SETTING_ADVANCED_MODE_DEVICE, advanced_mode_device);
ToggleAdvancedDeviceOptions(advanced_mode_device);
@ -3050,7 +3085,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
SetMBRProps();
// SetToGo();
break;
case IDC_BOOTTYPE:
case IDC_BOOT_TYPE:
bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType));
if ((HIWORD(wParam) != CBN_SELCHANGE) || (bt == selection_default))
break;
@ -3067,7 +3102,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
tt = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme));
pt = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem));
return (INT_PTR)TRUE;
case IDC_SELECT_IMAGE:
case IDC_SELECT:
if (iso_provided) {
uprintf("\r\nImage provided: '%s'", image_path);
iso_provided = FALSE; // One off thing...
@ -3432,7 +3467,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
if (image_path != NULL) {
iso_provided = TRUE;
// Simulate image selection click
SendMessage(hDlg, WM_COMMAND, IDC_SELECT_IMAGE, 0);
SendMessage(hDlg, WM_COMMAND, IDC_SELECT, 0);
}
break;
@ -4025,7 +4060,7 @@ relaunch:
if (image_path != NULL) {
iso_provided = TRUE;
dont_display_image_name = TRUE;
SendMessage(hDlg, WM_COMMAND, IDC_SELECT_IMAGE, 0);
SendMessage(hDlg, WM_COMMAND, IDC_SELECT, 0);
}
continue;
}

View File

@ -36,21 +36,21 @@ EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 3.0.1220"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN
LTEXT "Device Settings",IDS_DEVICE_SETTINGS_TXT,8,6,53,12,NOT WS_GROUP
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
LTEXT "Device",IDS_DEVICE_TXT,8,22,216,8
COMBOBOX IDC_DEVICE,8,31,197,10,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "...",IDC_SAVE,210,31,14,10,BS_ICON
LTEXT "Boot selection",IDS_BOOT_TYPE_TXT,8,44,216,8
COMBOBOX IDC_BOOTTYPE,8,53,152,10,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
COMBOBOX IDC_BOOT_TYPE,8,53,152,10,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
PUSHBUTTON "#",IDC_HASH,165,53,9,10,BS_ICON
PUSHBUTTON "SELECT",IDC_SELECT_IMAGE,178,53,46,10
PUSHBUTTON "SELECT",IDC_SELECT,178,53,46,10
LTEXT "Image option",IDS_IMAGE_OPTION_TXT,8,66,216,8
COMBOBOX IDC_IMAGE_OPTION,8,75,216,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Partition scheme",IDS_PARTITION_TYPE_TXT,8,88,96,8
COMBOBOX IDC_PARTITION_TYPE,8,97,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Target system",IDS_TARGET_SYSTEM_TXT,128,88,96,8
COMBOBOX IDC_TARGET_SYSTEM,128,97,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Advanced Device Settings",IDC_ADVANCED_DEVICE_SETTINGS,
CONTROL "Show advanced drive properties",IDC_ADVANCED_DRIVE_PROPERTIES,
"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,8,110,216,10
CONTROL "List USB Hard Drives",IDC_LIST_USB_HDD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,120,216,10
CONTROL "Add fixes for old BIOSes (extra partition, align, etc.)",IDC_OLD_BIOS_FIXES,
@ -64,7 +64,7 @@ BEGIN
COMBOBOX IDC_FILESYSTEM,8,197,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Cluster size",IDS_CLUSTERSIZE_TXT,128,188,96,8
COMBOBOX IDC_CLUSTERSIZE,128,197,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Advanced Format Options",IDC_ADVANCED_FORMAT_OPTIONS,
CONTROL "Show advanced format options",IDC_ADVANCED_FORMAT_OPTIONS,
"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,8,210,216,10
CONTROL "Quick format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,220,216,10
CONTROL "Check device for bad blocks",IDC_BADBLOCKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,230,112,10
@ -73,8 +73,7 @@ BEGIN
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,240,216,10
LTEXT "Status",IDS_STATUS_TXT,8,252,23,9,NOT WS_GROUP
CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,272,216,9
PUSHBUTTON "About...",IDC_ABOUT,8,294,50,10,NOT WS_VISIBLE
PUSHBUTTON "Log",IDC_LOG,63,294,21,10,NOT WS_VISIBLE
PUSHBUTTON "Multi Toolbar",IDC_ABOUT,8,294,74,10,NOT WS_VISIBLE
PUSHBUTTON "T",IDC_TEST,90,294,12,10,NOT WS_VISIBLE
DEFPUSHBUTTON "START",IDC_START,128,294,45,10
PUSHBUTTON "CLOSE",IDCANCEL,181,294,43,10

View File

@ -36,7 +36,7 @@ extern char* ini_file;
#define SETTING_DISABLE_LGP "DisableLGP"
#define SETTING_ADVANCED_MODE "AdvancedMode"
#define SETTING_ADVANCED_MODE_DEVICE "ShowAdvancedDeviceOptions"
#define SETTING_ADVANCED_MODE_DEVICE "ShowAdvancedDriveProperties"
#define SETTING_ADVANCED_MODE_FORMAT "ShowAdvancedFormatOptions"
#define SETTING_PRESERVE_TIMESTAMPS "PreserveTimestamps"
#define SETTING_USE_PROPER_SIZE_UNITS "UseProperSizeUnits"