1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2024-08-14 23:57:05 +00:00

* [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. 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! 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) o Version 1.0.22 (2017.07.17)
- *NEW* MSG_295 "Warning: Unofficial version" - *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?" - *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 # Main dialog
g IDD_DIALOG g IDD_DIALOG
t IDS_DEVICE_SETTINGS_TXT "Device Settings" t IDS_DRIVE_PROPERTIES_TXT "Drive Properties"
t IDS_DEVICE_TXT "Device" t IDS_DEVICE_TXT "Device"
# TODO: use MSG_278 for translations # TODO: use MSG_278 for translations
t IDS_BOOT_TYPE_TXT "Boot selection" 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_IMAGE_OPTION_TXT "Image Option"
t IDS_PARTITION_TYPE_TXT "Partition scheme" t IDS_PARTITION_TYPE_TXT "Partition scheme"
t IDS_TARGET_SYSTEM_TXT "Target system" t IDS_TARGET_SYSTEM_TXT "Target system"
t IDC_ADVANCED_DEVICE_SETTINGS "Advanced Device Settings"
t IDC_LIST_USB_HDD "List USB Hard Drives" 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 # 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. # 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_FILESYSTEM_TXT "File system"
t IDS_CLUSTERSIZE_TXT "Cluster size" t IDS_CLUSTERSIZE_TXT "Cluster size"
t IDS_LABEL_TXT "Volume label" t IDS_LABEL_TXT "Volume label"
t IDC_ADVANCED_FORMAT_OPTIONS "Advanced Format Options"
t IDC_QUICKFORMAT "Quick format" t IDC_QUICKFORMAT "Quick format"
t IDC_BADBLOCKS "Check device for bad blocks" t IDC_BADBLOCKS "Check device for bad blocks"
t IDC_EXTENDED_LABEL "Create extended label and icon files" t IDC_EXTENDED_LABEL "Create extended label and icon files"
t IDS_STATUS_TXT "Status" t IDS_STATUS_TXT "Status"
t IDCANCEL "CLOSE" t IDCANCEL "CLOSE"
t IDC_START "START" t IDC_START "START"
t IDS_ADVANCED_OPTIONS_GRP "Advanced Options"
# About dialog # About dialog
g IDD_ABOUTBOX g IDD_ABOUTBOX
@ -540,12 +537,9 @@ t MSG_276 "Write in %s mode (Recommended)"
t MSG_277 "Write in %s mode" t MSG_277 "Write in %s mode"
# The following will be used for new controls of the Rufus 3.0 interface # 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. # 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_279 "Non bootable"
t MSG_280 "Image selection" t MSG_280 "Disk or ISO image"
t MSG_281 "(Please select an image)" t MSG_281 "%s (Please select)"
t MSG_282 "Exclusive USB drive locking" t MSG_282 "Exclusive USB drive locking"
t MSG_283 "Invalid signature" t MSG_283 "Invalid signature"
t MSG_284 "The downloaded executable is missing a digital 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 # 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) # 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_302 "Windows To Go"
t MSG_303 "Disk or ISO image" t MSG_305 "Show application settings"
t MSG_304 "%s (Please select)" t MSG_306 "Show information about this application"
t MSG_305 "Settings" t MSG_307 "Show the log"
# Was 'IDC_ABOUT' t MSG_308 "advanced drive properties"
t MSG_306 "About" t MSG_309 "advanced format options"
# Was 'IDC_LOG' t MSG_310 "Show %s"
t MSG_307 "Log" t MSG_311 "Hide %s"
t MSG_312 "Create a disk image of the selected device"
################################################################################ ################################################################################
############################# TRANSLATOR END COPY ############################## ############################# TRANSLATOR END COPY ##############################
@ -5218,13 +5211,12 @@ v 1.0.23
b "en-US" b "en-US"
g IDD_DIALOG 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_DEVICE_TXT "Périphérique"
t IDS_BOOT_TYPE_TXT "Type de démarrage" 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_IMAGE_OPTION_TXT "Option d'image"
t IDS_PARTITION_TYPE_TXT "Schéma de partition" 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_TARGET_SYSTEM_TXT "Système de destination"
t IDS_FILESYSTEM_TXT "Système de fichiers" t IDS_FILESYSTEM_TXT "Système de fichiers"
t IDS_CLUSTERSIZE_TXT "Taille d'unité d'allocation" 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_BOOT "Créer un disque de démarrage"
t IDC_WINDOWS_INSTALL "Installation standard de Windows" t IDC_WINDOWS_INSTALL "Installation standard de Windows"
t IDC_EXTENDED_LABEL "Ajouter un label étendu et une icône" 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 IDS_STATUS_TXT "Statut"
t IDC_ABOUT "A propos..." t IDC_ABOUT "A propos..."
t IDCANCEL "FERMER" 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_269 "Préservation des dates de fichiers"
t MSG_270 "Debug USB" t MSG_270 "Debug USB"
t MSG_271 "Calculation des checksums de l'image : %0.1f%% complété" 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_272 "Calculer les checksums MD5, SHA1 et SHA256 pour l'image sélectionée"
t MSG_273 "Change la langue de l'application" t MSG_273 "Changer la langue de l'application"
t MSG_274 "Image ISOHybrid détectée" 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 " 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" "ê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 '#'." "cliquant le bouton '#'."
t MSG_303 "Image disque ou ISO" t MSG_303 "Image disque ou ISO"
t MSG_304 "%s (Veuillez sélectionner)" 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 l "de-DE" "German (Deutsch)" 0x0407, 0x0807, 0x0c07, 0x1007, 0x1407

View file

@ -34,7 +34,7 @@ RUFUS_URL "\\line\n"
const char* additional_copyrights = const char* additional_copyrights =
"{\\rtf1\\ansi\n" "{\\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" "Used with kind authorization\\line\n"
"\\line\n" "\\line\n"
"Icon by PC Unleashed:\\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_PARTITION_TYPE),
LOC_CTRL(IDC_CLUSTERSIZE), LOC_CTRL(IDC_CLUSTERSIZE),
LOC_CTRL(IDC_STATUS), LOC_CTRL(IDC_STATUS),
LOC_CTRL(IDC_ABOUT),
LOC_CTRL(IDC_LABEL), LOC_CTRL(IDC_LABEL),
LOC_CTRL(IDC_QUICKFORMAT), LOC_CTRL(IDC_QUICKFORMAT),
LOC_CTRL(IDC_SHOW_ADVANCED_TOOLBAR), LOC_CTRL(IDC_SHOW_ADVANCED_TOOLBAR),
LOC_CTRL(IDC_BADBLOCKS), LOC_CTRL(IDC_BADBLOCKS),
LOC_CTRL(IDC_PROGRESS), LOC_CTRL(IDC_PROGRESS),
LOC_CTRL(IDC_BOOTTYPE), LOC_CTRL(IDC_BOOT_TYPE),
LOC_CTRL(IDC_NBPASSES), LOC_CTRL(IDC_NBPASSES),
LOC_CTRL(IDC_TEST), LOC_CTRL(IDC_TEST),
LOC_CTRL(IDC_SELECT_IMAGE), LOC_CTRL(IDC_SELECT),
LOC_CTRL(IDC_EXTENDED_LABEL), LOC_CTRL(IDC_EXTENDED_LABEL),
LOC_CTRL(IDC_RUFUS_MBR), LOC_CTRL(IDC_RUFUS_MBR),
LOC_CTRL(IDC_TARGET_SYSTEM), LOC_CTRL(IDC_TARGET_SYSTEM),
@ -64,7 +63,6 @@ const loc_control_id control_id[] = {
LOC_CTRL(IDC_STATUS_TOOLBAR), LOC_CTRL(IDC_STATUS_TOOLBAR),
LOC_CTRL(IDC_HASH), LOC_CTRL(IDC_HASH),
LOC_CTRL(IDC_SAVE), LOC_CTRL(IDC_SAVE),
LOC_CTRL(IDC_SELECT),
LOC_CTRL(IDC_IMAGE_OPTION), LOC_CTRL(IDC_IMAGE_OPTION),
LOC_CTRL(IDC_ABOUT_LICENSE), LOC_CTRL(IDC_ABOUT_LICENSE),
LOC_CTRL(IDC_ABOUT_ICON), LOC_CTRL(IDC_ABOUT_ICON),
@ -76,6 +74,7 @@ const loc_control_id control_id[] = {
LOC_CTRL(IDC_NOTIFICATION_LINE), LOC_CTRL(IDC_NOTIFICATION_LINE),
LOC_CTRL(IDC_ADVANCED_DEVICE_TOOLBAR), LOC_CTRL(IDC_ADVANCED_DEVICE_TOOLBAR),
LOC_CTRL(IDC_ADVANCED_FORMAT_TOOLBAR), LOC_CTRL(IDC_ADVANCED_FORMAT_TOOLBAR),
LOC_CTRL(IDC_ABOUT),
LOC_CTRL(IDC_LOG), LOC_CTRL(IDC_LOG),
LOC_CTRL(IDC_WINDOWS_INSTALL), LOC_CTRL(IDC_WINDOWS_INSTALL),
LOC_CTRL(IDC_WINDOWS_TO_GO), 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_ITEM14),
LOC_CTRL(IDC_LIST_ITEM15), LOC_CTRL(IDC_LIST_ITEM15),
LOC_CTRL(IDC_LIST_ITEMMAX), 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(IDC_ADVANCED_FORMAT_OPTIONS),
LOC_CTRL(IDS_DEVICE_TXT), LOC_CTRL(IDS_DEVICE_TXT),
LOC_CTRL(IDS_PARTITION_TYPE_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_TARGET_SYSTEM_TXT),
LOC_CTRL(IDS_IMAGE_OPTION_TXT), LOC_CTRL(IDS_IMAGE_OPTION_TXT),
LOC_CTRL(IDS_BOOT_TYPE_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_FORMAT_OPTIONS_TXT),
LOC_CTRL(IDS_STATUS_TXT), LOC_CTRL(IDS_STATUS_TXT),
LOC_CTRL(MSG_000), LOC_CTRL(MSG_000),
@ -468,6 +467,16 @@ const loc_control_id control_id[] = {
LOC_CTRL(MSG_308), LOC_CTRL(MSG_308),
LOC_CTRL(MSG_309), LOC_CTRL(MSG_309),
LOC_CTRL(MSG_310), 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(MSG_MAX),
LOC_CTRL(IDOK), LOC_CTRL(IDOK),
LOC_CTRL(IDCANCEL), LOC_CTRL(IDCANCEL),

View file

@ -79,16 +79,15 @@
#define IDC_PARTITION_TYPE 1004 #define IDC_PARTITION_TYPE 1004
#define IDC_CLUSTERSIZE 1005 #define IDC_CLUSTERSIZE 1005
#define IDC_STATUS 1006 #define IDC_STATUS 1006
#define IDC_ABOUT 1007
#define IDC_LABEL 1008 #define IDC_LABEL 1008
#define IDC_QUICKFORMAT 1009 #define IDC_QUICKFORMAT 1009
#define IDC_SHOW_ADVANCED_TOOLBAR 1010 #define IDC_SHOW_ADVANCED_TOOLBAR 1010
#define IDC_BADBLOCKS 1011 #define IDC_BADBLOCKS 1011
#define IDC_PROGRESS 1012 #define IDC_PROGRESS 1012
#define IDC_BOOTTYPE 1013 #define IDC_BOOT_TYPE 1013
#define IDC_NBPASSES 1014 #define IDC_NBPASSES 1014
#define IDC_TEST 1015 #define IDC_TEST 1015
#define IDC_SELECT_IMAGE 1016 #define IDC_SELECT 1016
#define IDC_EXTENDED_LABEL 1017 #define IDC_EXTENDED_LABEL 1017
#define IDC_RUFUS_MBR 1018 #define IDC_RUFUS_MBR 1018
#define IDC_TARGET_SYSTEM 1019 #define IDC_TARGET_SYSTEM 1019
@ -100,19 +99,19 @@
#define IDC_STATUS_TOOLBAR 1025 #define IDC_STATUS_TOOLBAR 1025
#define IDC_HASH 1026 #define IDC_HASH 1026
#define IDC_SAVE 1027 #define IDC_SAVE 1027
#define IDC_SELECT 1028
#define IDC_IMAGE_OPTION 1029 #define IDC_IMAGE_OPTION 1029
#define IDC_ABOUT_LICENSE 1030 #define IDC_ABOUT_LICENSE 1030
#define IDC_ABOUT_ICON 1031 #define IDC_ABOUT_ICON 1031
#define IDC_ABOUT_COPYRIGHTS 1033 #define IDC_ABOUT_COPYRIGHTS 1032
#define IDC_ABOUT_BLURB 1034 #define IDC_ABOUT_BLURB 1033
#define IDC_LICENSE_TEXT 1035 #define IDC_LICENSE_TEXT 1034
#define IDC_NOTIFICATION_ICON 1040 #define IDC_NOTIFICATION_ICON 1040
#define IDC_NOTIFICATION_TEXT 1041 #define IDC_NOTIFICATION_TEXT 1041
#define IDC_NOTIFICATION_LINE 1042 #define IDC_NOTIFICATION_LINE 1042
#define IDC_ADVANCED_DEVICE_TOOLBAR 1043 #define IDC_ADVANCED_DEVICE_TOOLBAR 1043
#define IDC_ADVANCED_FORMAT_TOOLBAR 1044 #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_INSTALL 1047
#define IDC_WINDOWS_TO_GO 1048 #define IDC_WINDOWS_TO_GO 1048
#define IDC_SHOW_ADVANCED_OPTIONS 1049 #define IDC_SHOW_ADVANCED_OPTIONS 1049
@ -173,7 +172,7 @@
#define IDC_LIST_ITEM14 1109 #define IDC_LIST_ITEM14 1109
#define IDC_LIST_ITEM15 1110 #define IDC_LIST_ITEM15 1110
#define IDC_LIST_ITEMMAX 1111 #define IDC_LIST_ITEMMAX 1111
#define IDC_ADVANCED_DEVICE_SETTINGS 1112 #define IDC_ADVANCED_DRIVE_PROPERTIES 1112
#define IDC_ADVANCED_FORMAT_OPTIONS 1113 #define IDC_ADVANCED_FORMAT_OPTIONS 1113
#define IDS_DEVICE_TXT 2000 #define IDS_DEVICE_TXT 2000
#define IDS_PARTITION_TYPE_TXT 2001 #define IDS_PARTITION_TYPE_TXT 2001
@ -190,7 +189,7 @@
#define IDS_TARGET_SYSTEM_TXT 2013 #define IDS_TARGET_SYSTEM_TXT 2013
#define IDS_IMAGE_OPTION_TXT 2014 #define IDS_IMAGE_OPTION_TXT 2014
#define IDS_BOOT_TYPE_TXT 2015 #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_FORMAT_OPTIONS_TXT 2017
#define IDS_STATUS_TXT 2018 #define IDS_STATUS_TXT 2018
#define MSG_000 3000 #define MSG_000 3000
@ -504,7 +503,17 @@
#define MSG_308 3308 #define MSG_308 3308
#define MSG_309 3309 #define MSG_309 3309
#define MSG_310 3310 #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 // 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 HWND hSelectImage = NULL, hStart = NULL;
static HICON hIconSave, hIconDown, hIconUp, hIconLang, hIconAbout, hIconSettings, hIconLog; static HICON hIconSave, hIconDown, hIconUp, hIconLang, hIconAbout, hIconSettings, hIconLog;
static char szTimer[12] = "00:00:00"; static char szTimer[12] = "00:00:00";
static wchar_t wtbtext[2][128];
static unsigned int timer; static unsigned int timer;
extern BOOL enable_iso, enable_joliet, enable_rockridge, enable_ntfs_compression; 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)); IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "FreeDOS"), BT_FREEDOS));
image_index = (nWindowsVersion < WINDOWS_10) ? 3 : 2; image_index = (nWindowsVersion < WINDOWS_10) ? 3 : 2;
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, 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) { if (advanced_mode_device) {
static_sprintf(tmp, "Syslinux %s", embedded_sl_version_str[0]); 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[0] = FALSE;
allowed_target_system[1] = FALSE; allowed_target_system[1] = FALSE;
allowed_target_system[2] = TRUE; allowed_target_system[2] = TRUE;
// TODO: Grey out target system
break; break;
case BT_IMAGE: case BT_IMAGE:
if (pt == PARTITION_STYLE_GPT) if (pt == PARTITION_STYLE_GPT)
@ -427,7 +427,6 @@ static void SetPartitionSchemeAndTargetSystem(BOOL only_target)
if (allowed_target_system[2]) if (allowed_target_system[2])
IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem,
ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_033)), TT_BIOS)); ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_033)), TT_BIOS));
// TODO: use SetComboEntry to be more explicit
IGNORE_RETVAL(ComboBox_SetCurSel(hTargetSystem, 0)); IGNORE_RETVAL(ComboBox_SetCurSel(hTargetSystem, 0));
} }
@ -1042,7 +1041,6 @@ void UpdateProgress(int op, float percent)
// Toggle controls according to operation // Toggle controls according to operation
static void EnableControls(BOOL bEnable) static void EnableControls(BOOL bEnable)
{ {
// TODO - use a list?
EnableWindow(GetDlgItem(hMainDialog, IDC_DEVICE), bEnable); EnableWindow(GetDlgItem(hMainDialog, IDC_DEVICE), bEnable);
EnableWindow(hStart, (ComboBox_GetCurSel(hDeviceList)<0)?FALSE:bEnable); EnableWindow(hStart, (ComboBox_GetCurSel(hDeviceList)<0)?FALSE:bEnable);
EnableWindow(GetDlgItem(hMainDialog, IDC_ABOUT), bEnable); EnableWindow(GetDlgItem(hMainDialog, IDC_ABOUT), bEnable);
@ -1052,7 +1050,9 @@ static void EnableControls(BOOL bEnable)
EnableWindow(hNBPasses, bEnable); EnableWindow(hNBPasses, bEnable);
EnableWindow(hAdvancedDeviceToolBar, bEnable); EnableWindow(hAdvancedDeviceToolBar, bEnable);
EnableWindow(hAdvancedFormatToolBar, 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(hStatusToolbar, bEnable);
EnableWindow(GetDlgItem(hMainDialog, IDC_LIST_USB_HDD), bEnable); EnableWindow(GetDlgItem(hMainDialog, IDC_LIST_USB_HDD), bEnable);
SetDlgItemTextU(hMainDialog, IDCANCEL, lmprintf(bEnable?MSG_006:MSG_007)); 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)); Edit_Scroll(hLog, 0, Edit_GetLineCount(hLog));
} }
// Toggle "advanced" mode // Toggle "advanced" options
static void ToggleAdvancedDeviceOptions(BOOL enable) static void ToggleAdvancedDeviceOptions(BOOL enable)
{ {
RECT rc; RECT rc;
SIZE sz;
TBBUTTONINFO button_info;
int i, shift = advanced_device_section_height; int i, shift = advanced_device_section_height;
if (!enable) if (!enable)
@ -1286,7 +1288,17 @@ static void ToggleAdvancedDeviceOptions(BOOL enable)
format_vpos += shift; format_vpos += shift;
status_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)); 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 // Move the controls up or down
for (i = 0; i<ARRAYSIZE(advanced_device_move_ids); i++) for (i = 0; i<ARRAYSIZE(advanced_device_move_ids); i++)
@ -1310,13 +1322,26 @@ static void ToggleAdvancedDeviceOptions(BOOL enable)
static void ToggleAdvancedFormatOptions(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) if (!enable)
shift = -shift; shift = -shift;
status_vpos += 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)); 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 // Move the controls up or down
for (i = 0; i<ARRAYSIZE(advanced_format_move_ids); i++) 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) { if (image_path != NULL) {
ComboBox_DeleteString(hBootType, index); ComboBox_DeleteString(hBootType, index);
ComboBox_InsertStringU(hBootType, index, short_image_path); ComboBox_InsertStringU(hBootType, index, short_image_path);
@ -1486,10 +1510,11 @@ DWORD WINAPI ISOScanThread(LPVOID param)
SetMBRProps(); SetMBRProps();
} else { } else {
// Set Target and FS accordingly // Set Target and FS accordingly
// TODO - Doesn't seem to work for Windows ISOs
if (img_report.is_iso) { if (img_report.is_iso) {
IGNORE_RETVAL(ComboBox_SetCurSel(hBootType, image_index)); IGNORE_RETVAL(ComboBox_SetCurSel(hBootType, image_index));
SetPartitionSchemeAndTargetSystem(FALSE); SetPartitionSchemeAndTargetSystem(FALSE);
// TODO: Maybe we should just call PopulateProperties() here?
SetFileSystemAndClusterSize(NULL);
SetFSFromISO(); SetFSFromISO();
SetMBRProps(); SetMBRProps();
SetProposedLabel(ComboBox_GetCurSel(hDeviceList)); SetProposedLabel(ComboBox_GetCurSel(hDeviceList));
@ -1899,7 +1924,6 @@ static void CreateAdditionalControls(HWND hDlg)
HIMAGELIST hToolbarImageList; HIMAGELIST hToolbarImageList;
RECT rc; RECT rc;
SIZE sz; SIZE sz;
static wchar_t wtbtext[2][128];
int i16, s16, toolbar_fudge = -6; int i16, s16, toolbar_fudge = -6;
TBBUTTON tbToolbarButtons[7]; TBBUTTON tbToolbarButtons[7];
@ -1936,6 +1960,15 @@ static void CreateAdditionalControls(HWND hDlg)
} }
// Fetch the up and down expand icons for the advanced options toolbar // Fetch the up and down expand icons for the advanced options toolbar
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"); hDll = GetLibraryHandle("ComDlg32");
hIconDown = (HICON)LoadImage(hDll, MAKEINTRESOURCE(577), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); hIconDown = (HICON)LoadImage(hDll, MAKEINTRESOURCE(577), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED);
hDownImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0); hDownImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0);
@ -1943,17 +1976,18 @@ static void CreateAdditionalControls(HWND hDlg)
hIconUp = (HICON)LoadImage(hDll, MAKEINTRESOURCE(578), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); hIconUp = (HICON)LoadImage(hDll, MAKEINTRESOURCE(578), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED);
hUpImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0); hUpImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0);
ImageList_AddIcon(hUpImageList, hIconUp); ImageList_AddIcon(hUpImageList, hIconUp);
}
// Create the advanced options toolbars // Create the advanced options toolbars
memset(wtbtext, 0, sizeof(wtbtext)); 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, hAdvancedDeviceToolBar = CreateWindowExW(0, TOOLBARCLASSNAME, NULL,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN | WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN |
CCS_NODIVIDER | TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_TRANSPARENT | TBSTYLE_TOOLTIPS | TBSTYLE_AUTOSIZE, CCS_NODIVIDER | TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_TRANSPARENT | TBSTYLE_TOOLTIPS | TBSTYLE_AUTOSIZE,
0, 0, 0, 0, hMainDialog, (HMENU)IDC_ADVANCED_DEVICE_TOOLBAR, hMainInstance, NULL); 0, 0, 0, 0, hMainDialog, (HMENU)IDC_ADVANCED_DEVICE_TOOLBAR, hMainInstance, NULL);
SendMessage(hAdvancedDeviceToolBar, CCM_SETVERSION, (WPARAM)6, 0); SendMessage(hAdvancedDeviceToolBar, CCM_SETVERSION, (WPARAM)6, 0);
memset(tbToolbarButtons, 0, sizeof(TBBUTTON)); 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].fsStyle = BTNS_SHOWTEXT | BTNS_AUTOSIZE;
tbToolbarButtons[0].fsState = TBSTATE_ENABLED; tbToolbarButtons[0].fsState = TBSTATE_ENABLED;
tbToolbarButtons[0].iString = (INT_PTR)wtbtext[0]; 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_SETIMAGELIST, 0, (LPARAM)hUpImageList);
SendMessage(hAdvancedDeviceToolBar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); SendMessage(hAdvancedDeviceToolBar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
SendMessage(hAdvancedDeviceToolBar, TB_ADDBUTTONS, 1, (LPARAM)&tbToolbarButtons); 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); MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2);
SendMessage(hAdvancedDeviceToolBar, TB_GETIDEALSIZE, (WPARAM)FALSE, (LPARAM)&sz); 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); 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, hAdvancedFormatToolBar = CreateWindowExW(0, TOOLBARCLASSNAME, NULL,
WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN | WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN |
CCS_NODIVIDER | TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_TRANSPARENT | TBSTYLE_TOOLTIPS | TBSTYLE_AUTOSIZE, 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); hToolbarImageList = ImageList_Create(i16, i16, ILC_COLOR32, 4, 0);
ImageList_AddIcon(hToolbarImageList, hIconAbout); ImageList_AddIcon(hToolbarImageList, hIconAbout);
ImageList_AddIcon(hToolbarImageList, hIconSettings); ImageList_AddIcon(hToolbarImageList, hIconSettings);
ImageList_AddIcon(hToolbarImageList, hIconLang);
ImageList_AddIcon(hToolbarImageList, hIconLog); ImageList_AddIcon(hToolbarImageList, hIconLog);
ImageList_AddIcon(hToolbarImageList, hIconLang);
SendMessage(hMultiToolbar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)hToolbarImageList); SendMessage(hMultiToolbar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)hToolbarImageList);
SendMessage(hMultiToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); SendMessage(hMultiToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
memset(tbToolbarButtons, 0, sizeof(TBBUTTON) * ARRAYSIZE(tbToolbarButtons)); memset(tbToolbarButtons, 0, sizeof(TBBUTTON) * ARRAYSIZE(tbToolbarButtons));
@ -2015,7 +2049,7 @@ static void CreateAdditionalControls(HWND hDlg)
tbToolbarButtons[3].fsState = TBSTATE_INDETERMINATE; tbToolbarButtons[3].fsState = TBSTATE_INDETERMINATE;
tbToolbarButtons[3].iBitmap = I_IMAGENONE; tbToolbarButtons[3].iBitmap = I_IMAGENONE;
tbToolbarButtons[3].iString = (INT_PTR)L" "; tbToolbarButtons[3].iString = (INT_PTR)L" ";
tbToolbarButtons[4].idCommand = IDC_LANG; tbToolbarButtons[4].idCommand = IDC_LOG;
tbToolbarButtons[4].fsStyle = BTNS_AUTOSIZE; tbToolbarButtons[4].fsStyle = BTNS_AUTOSIZE;
tbToolbarButtons[4].fsState = TBSTATE_ENABLED; tbToolbarButtons[4].fsState = TBSTATE_ENABLED;
tbToolbarButtons[4].iBitmap = 2; tbToolbarButtons[4].iBitmap = 2;
@ -2023,7 +2057,7 @@ static void CreateAdditionalControls(HWND hDlg)
tbToolbarButtons[5].fsState = TBSTATE_INDETERMINATE; tbToolbarButtons[5].fsState = TBSTATE_INDETERMINATE;
tbToolbarButtons[5].iBitmap = I_IMAGENONE; tbToolbarButtons[5].iBitmap = I_IMAGENONE;
tbToolbarButtons[5].iString = (INT_PTR)L" "; tbToolbarButtons[5].iString = (INT_PTR)L" ";
tbToolbarButtons[6].idCommand = IDC_LOG; tbToolbarButtons[6].idCommand = IDC_LANG;
tbToolbarButtons[6].fsStyle = BTNS_AUTOSIZE; tbToolbarButtons[6].fsStyle = BTNS_AUTOSIZE;
tbToolbarButtons[6].fsState = TBSTATE_ENABLED; tbToolbarButtons[6].fsState = TBSTATE_ENABLED;
tbToolbarButtons[6].iBitmap = 3; tbToolbarButtons[6].iBitmap = 3;
@ -2116,7 +2150,7 @@ static void GetFullWidth(HWND hDlg)
full_width = rc.right - rc.left - cb_width; full_width = rc.right - rc.left - cb_width;
// Initialize the min width according to the longest message from the Boot Type drowpdown // 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 // Go through the Image Options for Windows To Go
full_width = max(full_width, GetTextSize(GetDlgItem(hDlg, IDC_IMAGE_OPTION), lmprintf(MSG_301)).cx); 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; SIZE sz;
HFONT hf; HFONT hf;
wchar_t wtmp[128]; 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 // Set the section header fonts and resize the static controls accordingly
hf = CreateFontA(48, 0, 0, 0, FW_SEMIBOLD, FALSE, FALSE, FALSE, DEFAULT_CHARSET, 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 // TODO: dynamicize button_fudge
int dropdown_height, button_fudge = 2; int dropdown_height, button_fudge = 2;
// TODO: compute button width intependtly and use it to compute half_width // 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 // Resize the height of the label and progress bar to the height of standard dropdowns
hCtrl = GetDlgItem(hDlg, IDC_DEVICE); hCtrl = GetDlgItem(hDlg, IDC_DEVICE);
@ -2297,7 +2331,7 @@ static void PositionControls(HWND hDlg)
advanced_format_section_height = rc.bottom - advanced_format_section_height; advanced_format_section_height = rc.bottom - advanced_format_section_height;
// Get the vertical position of the sections text // 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); GetWindowRect(hCtrl, &rc);
MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2);
sz = GetTextSize(hCtrl, NULL); 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); SetWindowPos(hCtrl, HWND_TOP, x, rc.top, hash_button_width, rc.bottom - rc.top, 0);
// Resize the boot selection button // Resize the boot selection button
hCtrl = GetDlgItem(hDlg, IDC_BOOTTYPE); hCtrl = GetDlgItem(hDlg, IDC_BOOT_TYPE);
GetWindowRect(hCtrl, &rc); GetWindowRect(hCtrl, &rc);
MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); 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); 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, SetWindowPos(hCtrl, NULL, rc.left, sz.cy - 1,
rc.right - rc.left, dropdown_height + button_fudge, SWP_NOZORDER); rc.right - rc.left, dropdown_height + button_fudge, SWP_NOZORDER);
hCtrl = GetDlgItem(hDlg, IDC_BOOTTYPE); hCtrl = GetDlgItem(hDlg, IDC_BOOT_TYPE);
GetWindowRect(hCtrl, &rcSelectedImage); GetWindowRect(hCtrl, &rcSelectedImage);
MapWindowPoints(NULL, hDlg, (POINT*)&rcSelectedImage, 2); MapWindowPoints(NULL, hDlg, (POINT*)&rcSelectedImage, 2);
hCtrl = GetDlgItem(hDlg, IDC_HASH); hCtrl = GetDlgItem(hDlg, IDC_HASH);
@ -2428,8 +2462,8 @@ static void InitDialog(HWND hDlg)
hClusterSize = GetDlgItem(hDlg, IDC_CLUSTERSIZE); hClusterSize = GetDlgItem(hDlg, IDC_CLUSTERSIZE);
hLabel = GetDlgItem(hDlg, IDC_LABEL); hLabel = GetDlgItem(hDlg, IDC_LABEL);
hProgress = GetDlgItem(hDlg, IDC_PROGRESS); hProgress = GetDlgItem(hDlg, IDC_PROGRESS);
hBootType = GetDlgItem(hDlg, IDC_BOOTTYPE); hBootType = GetDlgItem(hDlg, IDC_BOOT_TYPE);
hSelectImage = GetDlgItem(hDlg, IDC_SELECT_IMAGE); hSelectImage = GetDlgItem(hDlg, IDC_SELECT);
hNBPasses = GetDlgItem(hDlg, IDC_NBPASSES); hNBPasses = GetDlgItem(hDlg, IDC_NBPASSES);
hDiskID = GetDlgItem(hDlg, IDC_DISK_ID); hDiskID = GetDlgItem(hDlg, IDC_DISK_ID);
hStart = GetDlgItem(hDlg, IDC_START); 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_INSTALL), lmprintf(MSG_199), -1);
// CreateTooltip(GetDlgItem(hDlg, IDC_WINDOWS_TO_GO), lmprintf(MSG_200), -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_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 // Set a label for the Advanced Mode and Select Image button for screen readers
// SetWindowTextU(GetDlgItem(hDlg, IDC_ADVANCED), lmprintf(MSG_160)); // SetWindowTextU(GetDlgItem(hDlg, IDC_ADVANCED), lmprintf(MSG_160));
@ -2573,7 +2608,7 @@ static void InitDialog(HWND hDlg)
// Process commandline parameters // Process commandline parameters
if (iso_provided) { if (iso_provided) {
// Simulate a button click for image selection // Simulate a button click for image selection
PostMessage(hDlg, WM_COMMAND, IDC_SELECT_IMAGE, 0); PostMessage(hDlg, WM_COMMAND, IDC_SELECT, 0);
} }
SetBootTypeDropdownWidth(); 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 // Must come last for the log window to get focus
ShowWindow(hLogDlg, log_displayed?SW_SHOW:SW_HIDE); ShowWindow(hLogDlg, log_displayed?SW_SHOW:SW_HIDE);
break; break;
case IDC_ADVANCED_DEVICE_SETTINGS: case IDC_ADVANCED_DRIVE_PROPERTIES:
advanced_mode_device = !advanced_mode_device; advanced_mode_device = !advanced_mode_device;
WriteSettingBool(SETTING_ADVANCED_MODE_DEVICE, advanced_mode_device); WriteSettingBool(SETTING_ADVANCED_MODE_DEVICE, advanced_mode_device);
ToggleAdvancedDeviceOptions(advanced_mode_device); ToggleAdvancedDeviceOptions(advanced_mode_device);
@ -3050,7 +3085,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
SetMBRProps(); SetMBRProps();
// SetToGo(); // SetToGo();
break; break;
case IDC_BOOTTYPE: case IDC_BOOT_TYPE:
bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType));
if ((HIWORD(wParam) != CBN_SELCHANGE) || (bt == selection_default)) if ((HIWORD(wParam) != CBN_SELCHANGE) || (bt == selection_default))
break; 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)); tt = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme));
pt = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); pt = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem));
return (INT_PTR)TRUE; return (INT_PTR)TRUE;
case IDC_SELECT_IMAGE: case IDC_SELECT:
if (iso_provided) { if (iso_provided) {
uprintf("\r\nImage provided: '%s'", image_path); uprintf("\r\nImage provided: '%s'", image_path);
iso_provided = FALSE; // One off thing... 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) { if (image_path != NULL) {
iso_provided = TRUE; iso_provided = TRUE;
// Simulate image selection click // Simulate image selection click
SendMessage(hDlg, WM_COMMAND, IDC_SELECT_IMAGE, 0); SendMessage(hDlg, WM_COMMAND, IDC_SELECT, 0);
} }
break; break;
@ -4025,7 +4060,7 @@ relaunch:
if (image_path != NULL) { if (image_path != NULL) {
iso_provided = TRUE; iso_provided = TRUE;
dont_display_image_name = TRUE; dont_display_image_name = TRUE;
SendMessage(hDlg, WM_COMMAND, IDC_SELECT_IMAGE, 0); SendMessage(hDlg, WM_COMMAND, IDC_SELECT, 0);
} }
continue; continue;
} }

View file

@ -36,21 +36,21 @@ EXSTYLE WS_EX_ACCEPTFILES
CAPTION "Rufus 3.0.1220" CAPTION "Rufus 3.0.1220"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0 FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN 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 LTEXT "Device",IDS_DEVICE_TXT,8,22,216,8
COMBOBOX IDC_DEVICE,8,31,197,10,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_DEVICE,8,31,197,10,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "...",IDC_SAVE,210,31,14,10,BS_ICON PUSHBUTTON "...",IDC_SAVE,210,31,14,10,BS_ICON
LTEXT "Boot selection",IDS_BOOT_TYPE_TXT,8,44,216,8 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 "#",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 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 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 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 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 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 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 "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 "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, 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 COMBOBOX IDC_FILESYSTEM,8,197,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Cluster size",IDS_CLUSTERSIZE_TXT,128,188,96,8 LTEXT "Cluster size",IDS_CLUSTERSIZE_TXT,128,188,96,8
COMBOBOX IDC_CLUSTERSIZE,128,197,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP 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 "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 "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 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 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,240,216,10
LTEXT "Status",IDS_STATUS_TXT,8,252,23,9,NOT WS_GROUP 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 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 "Multi Toolbar",IDC_ABOUT,8,294,74,10,NOT WS_VISIBLE
PUSHBUTTON "Log",IDC_LOG,63,294,21,10,NOT WS_VISIBLE
PUSHBUTTON "T",IDC_TEST,90,294,12,10,NOT WS_VISIBLE PUSHBUTTON "T",IDC_TEST,90,294,12,10,NOT WS_VISIBLE
DEFPUSHBUTTON "START",IDC_START,128,294,45,10 DEFPUSHBUTTON "START",IDC_START,128,294,45,10
PUSHBUTTON "CLOSE",IDCANCEL,181,294,43,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_DISABLE_LGP "DisableLGP"
#define SETTING_ADVANCED_MODE "AdvancedMode" #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_ADVANCED_MODE_FORMAT "ShowAdvancedFormatOptions"
#define SETTING_PRESERVE_TIMESTAMPS "PreserveTimestamps" #define SETTING_PRESERVE_TIMESTAMPS "PreserveTimestamps"
#define SETTING_USE_PROPER_SIZE_UNITS "UseProperSizeUnits" #define SETTING_USE_PROPER_SIZE_UNITS "UseProperSizeUnits"