mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[ui] move Syslinux/GRUB downloads after the ISO vs DD mode selection
This commit is contained in:
		
							parent
							
								
									1f4a2aaf30
								
							
						
					
					
						commit
						a3df3b0fb3
					
				
					 3 changed files with 66 additions and 67 deletions
				
			
		|  | @ -11,7 +11,7 @@ | ||||||
|   <Identity |   <Identity | ||||||
|     Name="19453.net.Rufus" |     Name="19453.net.Rufus" | ||||||
|     Publisher="CN=7AC86D13-3E5A-491A-ADD5-80095C212740" |     Publisher="CN=7AC86D13-3E5A-491A-ADD5-80095C212740" | ||||||
|     Version="3.14.1743.0" /> |     Version="3.14.1744.0" /> | ||||||
| 
 | 
 | ||||||
|   <Properties> |   <Properties> | ||||||
|     <DisplayName>Rufus</DisplayName> |     <DisplayName>Rufus</DisplayName> | ||||||
|  |  | ||||||
							
								
								
									
										97
									
								
								src/rufus.c
									
										
									
									
									
								
							
							
						
						
									
										97
									
								
								src/rufus.c
									
										
									
									
									
								
							|  | @ -1352,11 +1352,44 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 			MessageBoxExU(hMainDialog, lmprintf(MSG_089), lmprintf(MSG_088), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | 			MessageBoxExU(hMainDialog, lmprintf(MSG_089), lmprintf(MSG_088), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); | ||||||
| 			goto out; | 			goto out; | ||||||
| 		} | 		} | ||||||
| 		if (IS_DD_BOOTABLE(img_report) && !img_report.is_iso) { | 		if (IS_DD_BOOTABLE(img_report)) { | ||||||
|  | 			if (!img_report.is_iso) { | ||||||
| 				// Pure DD images are fine at this stage
 | 				// Pure DD images are fine at this stage
 | ||||||
|  | 				write_as_image = TRUE; | ||||||
|  | 			} else if (persistence_size == 0) { | ||||||
|  | 				// Ask users how they want to write ISOHybrid images,
 | ||||||
|  | 				// but only do so if persistence has not been selected.
 | ||||||
|  | 				char* iso_image = lmprintf(MSG_036); | ||||||
|  | 				char* dd_image = lmprintf(MSG_095); | ||||||
|  | 				// If the ISO is small enough to be written as an ESP and we are using GPT add the ISO → ESP option
 | ||||||
|  | 				if ((img_report.projected_size < MAX_ISO_TO_ESP_SIZE * MB) && HAS_REGULAR_EFI(img_report) && | ||||||
|  | 					(partition_type == PARTITION_STYLE_GPT) && IS_FAT(fs_type)) { | ||||||
|  | 					char* choices[3] = { lmprintf(MSG_276, iso_image), lmprintf(MSG_277, "ISO → ESP"), lmprintf(MSG_277, dd_image) }; | ||||||
|  | 					i = SelectionDialog(lmprintf(MSG_274), lmprintf(MSG_275, iso_image, dd_image, iso_image, dd_image), | ||||||
|  | 						choices, 3); | ||||||
|  | 					if (i < 0)	// Cancel
 | ||||||
|  | 						goto out; | ||||||
|  | 					else if (i == 2) | ||||||
|  | 						write_as_esp = TRUE; | ||||||
|  | 					else if (i == 3) | ||||||
|  | 						write_as_image = TRUE; | ||||||
|  | 				} else { | ||||||
|  | 					char* choices[2] = { lmprintf(MSG_276, iso_image), lmprintf(MSG_277, dd_image) }; | ||||||
|  | 					i = SelectionDialog(lmprintf(MSG_274), lmprintf(MSG_275, iso_image, dd_image, iso_image, dd_image), | ||||||
|  | 						choices, 2); | ||||||
|  | 					if (i < 0)	// Cancel
 | ||||||
|  | 						goto out; | ||||||
|  | 					else if (i == 2) | ||||||
|  | 						write_as_image = TRUE; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		if (write_as_image) { | ||||||
| 				ret = BOOTCHECK_PROCEED; | 				ret = BOOTCHECK_PROCEED; | ||||||
| 				goto out; | 				goto out; | ||||||
| 		} | 		} | ||||||
|  | 
 | ||||||
| 		if ((image_options & IMOP_WINTOGO) && ComboBox_GetCurItemData(hImageOption)) { | 		if ((image_options & IMOP_WINTOGO) && ComboBox_GetCurItemData(hImageOption)) { | ||||||
| 			if (fs_type != FS_NTFS) { | 			if (fs_type != FS_NTFS) { | ||||||
| 				// Windows To Go only works for NTFS
 | 				// Windows To Go only works for NTFS
 | ||||||
|  | @ -1416,6 +1449,19 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 		if (target_type != TT_BIOS) | 		if (target_type != TT_BIOS) | ||||||
| 			goto uefi_target; | 			goto uefi_target; | ||||||
| 
 | 
 | ||||||
|  | 		if ((img_report.projected_size < MAX_ISO_TO_ESP_SIZE * MB) && HAS_REGULAR_EFI(img_report) && | ||||||
|  | 			(partition_type == PARTITION_STYLE_GPT) && IS_FAT(fs_type)) { | ||||||
|  | 			// The ISO is small enough to be written as an ESP and we are using GPT
 | ||||||
|  | 			// so ask the users if they want to write it as an ESP.
 | ||||||
|  | 			char* iso_image = lmprintf(MSG_036); | ||||||
|  | 			char* choices[2] = { lmprintf(MSG_276, iso_image), lmprintf(MSG_277, "ISO → ESP") }; | ||||||
|  | 			i = SelectionDialog(lmprintf(MSG_274), lmprintf(MSG_310), choices, 2); | ||||||
|  | 			if (i < 0)	// Cancel
 | ||||||
|  | 				goto out; | ||||||
|  | 			else if (i == 2) | ||||||
|  | 				write_as_esp = TRUE; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		if ((partition_type == PARTITION_STYLE_MBR) && (img_report.has_grub2) && (img_report.grub2_version[0] != 0) && | 		if ((partition_type == PARTITION_STYLE_MBR) && (img_report.has_grub2) && (img_report.grub2_version[0] != 0) && | ||||||
| 			(strcmp(img_report.grub2_version, GRUB2_PACKAGE_VERSION) != 0)) { | 			(strcmp(img_report.grub2_version, GRUB2_PACKAGE_VERSION) != 0)) { | ||||||
| 			// We may have to download a different Grub2 version if we can find one
 | 			// We may have to download a different Grub2 version if we can find one
 | ||||||
|  | @ -2819,9 +2865,8 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 				goto aborted_start; | 				goto aborted_start; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (!zero_drive) { | 		if (!zero_drive && (fs_type == FS_UDF)) { | ||||||
| 			// Display a warning about UDF formatting times
 | 			// Display a warning about UDF formatting times
 | ||||||
| 			if (fs_type == FS_UDF) { |  | ||||||
| 			dur_secs = (uint32_t)(((double)SelectedDrive.DiskSize) / 1073741824.0f / UDF_FORMAT_SPEED); | 			dur_secs = (uint32_t)(((double)SelectedDrive.DiskSize) / 1073741824.0f / UDF_FORMAT_SPEED); | ||||||
| 			if (dur_secs > UDF_FORMAT_WARN) { | 			if (dur_secs > UDF_FORMAT_WARN) { | ||||||
| 				dur_mins = dur_secs / 60; | 				dur_mins = dur_secs / 60; | ||||||
|  | @ -2834,52 +2879,6 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 			if ((boot_type == BT_IMAGE) && IS_DD_BOOTABLE(img_report)) { |  | ||||||
| 				if (img_report.is_iso) { |  | ||||||
| 					// Ask users how they want to write ISOHybrid images,
 |  | ||||||
| 					// but only do so if persistence has not been selected.
 |  | ||||||
| 					if (persistence_size == 0) { |  | ||||||
| 						char* iso_image = lmprintf(MSG_036); |  | ||||||
| 						char* dd_image = lmprintf(MSG_095); |  | ||||||
| 						// If the ISO is small enough to be written as an ESP and we are using GPT add the ISO → ESP option
 |  | ||||||
| 						if ((img_report.projected_size < MAX_ISO_TO_ESP_SIZE * MB) && HAS_REGULAR_EFI(img_report) && |  | ||||||
| 							(partition_type == PARTITION_STYLE_GPT) && IS_FAT(fs_type)) { |  | ||||||
| 							char* choices[3] = { lmprintf(MSG_276, iso_image), lmprintf(MSG_277, "ISO → ESP"), lmprintf(MSG_277, dd_image) }; |  | ||||||
| 							i = SelectionDialog(lmprintf(MSG_274), lmprintf(MSG_275, iso_image, dd_image, iso_image, dd_image), |  | ||||||
| 								choices, 3); |  | ||||||
| 							if (i < 0)	// Cancel
 |  | ||||||
| 								goto aborted_start; |  | ||||||
| 							else if (i == 2) |  | ||||||
| 								write_as_esp = TRUE; |  | ||||||
| 							else if (i == 3) |  | ||||||
| 								write_as_image = TRUE; |  | ||||||
| 						} else { |  | ||||||
| 							char* choices[2] = { lmprintf(MSG_276, iso_image), lmprintf(MSG_277, dd_image) }; |  | ||||||
| 							i = SelectionDialog(lmprintf(MSG_274), lmprintf(MSG_275, iso_image, dd_image, iso_image, dd_image), |  | ||||||
| 								choices, 2); |  | ||||||
| 							if (i < 0)	// Cancel
 |  | ||||||
| 								goto aborted_start; |  | ||||||
| 							else if (i == 2) |  | ||||||
| 								write_as_image = TRUE; |  | ||||||
| 						} |  | ||||||
| 					} |  | ||||||
| 				} else { |  | ||||||
| 					write_as_image = TRUE; |  | ||||||
| 				} |  | ||||||
| 			} else if ((img_report.projected_size < MAX_ISO_TO_ESP_SIZE * MB) && HAS_REGULAR_EFI(img_report) && |  | ||||||
| 				(partition_type == PARTITION_STYLE_GPT) && IS_FAT(fs_type)) { |  | ||||||
| 				// The ISO is small enough to be written as an ESP and we are using GPT
 |  | ||||||
| 				// so ask the users if they want to write it as an ESP.
 |  | ||||||
| 				char* iso_image = lmprintf(MSG_036); |  | ||||||
| 				char* choices[2] = { lmprintf(MSG_276, iso_image), lmprintf(MSG_277, "ISO → ESP") }; |  | ||||||
| 				i = SelectionDialog(lmprintf(MSG_274), lmprintf(MSG_310), choices, 2); |  | ||||||
| 				if (i < 0)	// Cancel
 |  | ||||||
| 					goto aborted_start; |  | ||||||
| 				else if (i == 2) |  | ||||||
| 					write_as_esp = TRUE; |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		if (!CheckDriveAccess(SEARCH_PROCESS_TIMEOUT, TRUE)) | 		if (!CheckDriveAccess(SEARCH_PROCESS_TIMEOUT, TRUE)) | ||||||
| 			goto aborted_start; | 			goto aborted_start; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | ||||||
| IDD_DIALOG DIALOGEX 12, 12, 232, 326 | IDD_DIALOG DIALOGEX 12, 12, 232, 326 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| EXSTYLE WS_EX_ACCEPTFILES | EXSTYLE WS_EX_ACCEPTFILES | ||||||
| CAPTION "Rufus 3.14.1743" | CAPTION "Rufus 3.14.1744" | ||||||
| FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | ||||||
| BEGIN | BEGIN | ||||||
|     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP |     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP | ||||||
|  | @ -395,8 +395,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 3,14,1743,0 |  FILEVERSION 3,14,1744,0 | ||||||
|  PRODUCTVERSION 3,14,1743,0 |  PRODUCTVERSION 3,14,1744,0 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -414,13 +414,13 @@ BEGIN | ||||||
|             VALUE "Comments", "https://rufus.ie" |             VALUE "Comments", "https://rufus.ie" | ||||||
|             VALUE "CompanyName", "Akeo Consulting" |             VALUE "CompanyName", "Akeo Consulting" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "3.14.1743" |             VALUE "FileVersion", "3.14.1744" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011-2021 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011-2021 Pete Batard (GPL v3)" | ||||||
|             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" |             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" | ||||||
|             VALUE "OriginalFilename", "rufus-3.14.exe" |             VALUE "OriginalFilename", "rufus-3.14.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "3.14.1743" |             VALUE "ProductVersion", "3.14.1744" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue