mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[misc] improve messages and dialogs
This commit is contained in:
		
							parent
							
								
									b0e131e5e4
								
							
						
					
					
						commit
						e1ff2a5273
					
				
					 5 changed files with 357 additions and 51 deletions
				
			
		|  | @ -383,7 +383,7 @@ BOOL GetDrivePartitionData(DWORD DriveIndex, char* FileSystemName, DWORD FileSys | |||
| 	r = DeviceIoControl(hPhysical, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX,  | ||||
| 			NULL, 0, geometry, sizeof(geometry), &size, NULL); | ||||
| 	if (!r || size <= 0) { | ||||
| 		uprintf("Could not get geometry for drive #%d: %s\n", DriveIndex, WindowsErrorString()); | ||||
| 		uprintf("Could not get geometry for drive 0x%02x: %s\n", DriveIndex, WindowsErrorString()); | ||||
| 		safe_closehandle(hPhysical); | ||||
| 		return FALSE; | ||||
| 	} | ||||
|  | @ -396,7 +396,7 @@ BOOL GetDrivePartitionData(DWORD DriveIndex, char* FileSystemName, DWORD FileSys | |||
| 	r = DeviceIoControl(hPhysical, IOCTL_DISK_GET_DRIVE_LAYOUT_EX,  | ||||
| 			NULL, 0, layout, sizeof(layout), &size, NULL ); | ||||
| 	if (!r || size <= 0) { | ||||
| 		uprintf("Could not get layout for drive #d: %s\n", DriveIndex, WindowsErrorString()); | ||||
| 		uprintf("Could not get layout for drive 0x%02x: %s\n", DriveIndex, WindowsErrorString()); | ||||
| 		return FALSE; | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -881,7 +881,7 @@ static BOOL WriteMBR(HANDLE hPhysicalDrive) | |||
| 		r = write_syslinux_mbr(&fake_fd); | ||||
| 	} else { | ||||
| 		if ((IS_WINPE(iso_report.winpe) && !iso_report.uses_minint) || (IsChecked(IDC_RUFUS_MBR))) { | ||||
| 			uprintf("Using Rufus bootable USB selection MBR\n"); | ||||
| 			uprintf("Using " APPLICATION_NAME " bootable USB selection MBR\n"); | ||||
| 			r = WriteRufusMBR(&fake_fd); | ||||
| 		} else { | ||||
| 			uprintf("Using Windows 7 MBR\n"); | ||||
|  | @ -1243,7 +1243,7 @@ DWORD WINAPI FormatThread(LPVOID param) | |||
| 			if (log_fd == NULL) { | ||||
| 				uprintf("Could not create log file for bad blocks check\n"); | ||||
| 			} else { | ||||
| 				fprintf(log_fd, "Rufus bad blocks check started on: %04d.%02d.%02d %02d:%02d:%02d\n", | ||||
| 				fprintf(log_fd, APPLICATION_NAME " bad blocks check started on: %04d.%02d.%02d %02d:%02d:%02d\n", | ||||
| 				lt.wYear, lt.wMonth, lt.wDay, lt.wHour, lt.wMinute, lt.wSecond); | ||||
| 				fflush(log_fd); | ||||
| 			} | ||||
|  | @ -1271,7 +1271,7 @@ DWORD WINAPI FormatThread(LPVOID param) | |||
| 					report.num_corruption_errors); | ||||
| 				fprintf(log_fd, "%s", bb_msg); | ||||
| 				GetLocalTime(<); | ||||
| 				fprintf(log_fd, "Rufus bad blocks check ended on: %04d.%02d.%02d %02d:%02d:%02d\n", | ||||
| 				fprintf(log_fd, APPLICATION_NAME " bad blocks check ended on: %04d.%02d.%02d %02d:%02d:%02d\n", | ||||
| 				lt.wYear, lt.wMonth, lt.wDay, lt.wHour, lt.wMinute, lt.wSecond); | ||||
| 				fclose(log_fd); | ||||
| 				safe_sprintf(&bb_msg[strlen(bb_msg)], sizeof(bb_msg)-strlen(bb_msg)-1, | ||||
|  |  | |||
							
								
								
									
										20
									
								
								src/net.c
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								src/net.c
									
										
									
									
									
								
							|  | @ -314,7 +314,7 @@ BOOL DownloadFile(const char* url, const char* file, HWND hProgressDialog) | |||
| 	HttpQueryInfoA(hRequest, HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, (LPVOID)&dwStatus, &dwSize, NULL); | ||||
| 	if (dwStatus != 200) { | ||||
| 		error_code = ERROR_INTERNET_ITEM_NOT_FOUND; | ||||
| 		uprintf("Unable to acess file. Server status %d\n", dwStatus); | ||||
| 		uprintf("Unable to acess file: Server status %d\n", dwStatus); | ||||
| 		goto out; | ||||
| 	} | ||||
| 	dwSize = sizeof(dwTotalSize); | ||||
|  | @ -326,7 +326,7 @@ BOOL DownloadFile(const char* url, const char* file, HWND hProgressDialog) | |||
| 
 | ||||
| 	fd = fopen(file, "wb"); | ||||
| 	if (fd == NULL) { | ||||
| 		uprintf("Unable to create file %s: %s\n", file, WinInetErrorString()); | ||||
| 		uprintf("Unable to create file '%s': %s\n", file, WinInetErrorString()); | ||||
| 		goto out; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -342,7 +342,7 @@ BOOL DownloadFile(const char* url, const char* file, HWND hProgressDialog) | |||
| 		SendMessage(hProgressBar, PBM_SETPOS, (WPARAM)(MAX_PROGRESS*((1.0f*dwSize)/(1.0f*dwTotalSize))), 0); | ||||
| 		PrintStatus(0, FALSE, "Downloading: %0.1f%%\n", (100.0f*dwSize)/(1.0f*dwTotalSize)); | ||||
| 		if (fwrite(buf, 1, dwDownloaded, fd) != dwDownloaded) { | ||||
| 			uprintf("Error writing file %s: %s\n", file, WinInetErrorString()); | ||||
| 			uprintf("Error writing file '%s': %s\n", file, WinInetErrorString()); | ||||
| 			goto out; | ||||
| 		} | ||||
| 	} | ||||
|  | @ -353,7 +353,7 @@ BOOL DownloadFile(const char* url, const char* file, HWND hProgressDialog) | |||
| 		goto out; | ||||
| 	} else { | ||||
| 		r = TRUE; | ||||
| 		uprintf("Successfully downloaded %s\n", file); | ||||
| 		uprintf("Successfully downloaded '%s'\n", file); | ||||
| 	} | ||||
| 
 | ||||
| out: | ||||
|  | @ -536,7 +536,7 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | |||
| 				goto out; | ||||
| 			continue; | ||||
| 		} | ||||
| 		vuprintf("Found match for %s on server %s.", urlpath, server_url); | ||||
| 		vuprintf("Found match for %s on server %s", urlpath, server_url); | ||||
| 
 | ||||
| 		dwSize = sizeof(mime); | ||||
| 		HttpQueryInfoA(hRequest, HTTP_QUERY_CONTENT_TYPE, (LPVOID)&mime, &dwSize, NULL); | ||||
|  | @ -557,11 +557,9 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | |||
| 		WriteRegistryKey64(REGKEY_HKCU, REGKEY_LAST_UPDATE, server_time); | ||||
| 		// Might as well let the user know
 | ||||
| 		if (!force_update_check) { | ||||
| 			if (local_time > server_time + 600) { | ||||
| 				uprintf("Your local clock appears more than 10 minutes early - You ought to fix that...\n"); | ||||
| 			} | ||||
| 			if (local_time < server_time - 600) { | ||||
| 				uprintf("Your local clock appears more than 10 minutes late - you ought to fix that...\n"); | ||||
| 			if ((local_time > server_time + 600) || (local_time < server_time - 600)) { | ||||
| 				uprintf("IMPORTANT: Your local clock is more than 10 minutes in the %s. Unless you fix this, " APPLICATION_NAME " may not be able to check for updates...",  | ||||
| 					(local_time > server_time + 600)?"future":"past"); | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
|  | @ -635,7 +633,7 @@ BOOL CheckForUpdates(BOOL force) | |||
| 	if (update_check_in_progress) | ||||
| 		return FALSE; | ||||
| 	if (CreateThread(NULL, 0, CheckForUpdatesThread, NULL, 0, NULL) == NULL) { | ||||
| 		uprintf("Unable to start check for updates thread"); | ||||
| 		uprintf("Unable to start update check thread"); | ||||
| 		return FALSE; | ||||
| 	} | ||||
| 	return TRUE; | ||||
|  |  | |||
							
								
								
									
										51
									
								
								src/rufus.c
									
										
									
									
									
								
							
							
						
						
									
										51
									
								
								src/rufus.c
									
										
									
									
									
								
							|  | @ -336,7 +336,7 @@ static BOOL GetDriveInfo(int ComboIndex) | |||
| 		return FALSE; | ||||
| 
 | ||||
| 	if (!DefineClusterSizes()) { | ||||
| 		uprintf("no file system is selectable for this drive\n"); | ||||
| 		uprintf("No file system is selectable for this drive\n"); | ||||
| 		return FALSE; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -622,7 +622,7 @@ static BOOL GetUSBDevices(DWORD devnum) | |||
| 				if(GetLastError() != ERROR_NO_MORE_ITEMS) { | ||||
| 					uprintf("SetupDiEnumDeviceInterfaces failed: %s\n", WindowsErrorString()); | ||||
| 				} else { | ||||
| 					uprintf("Device was eliminated because it doesn't report itself as a disk\n"); | ||||
| 					uprintf("Device was eliminated because it didn't report itself as a disk\n"); | ||||
| 				} | ||||
| 				break; | ||||
| 			} | ||||
|  | @ -631,7 +631,7 @@ static BOOL GetUSBDevices(DWORD devnum) | |||
| 				if(GetLastError() == ERROR_INSUFFICIENT_BUFFER) { | ||||
| 					devint_detail_data = (PSP_DEVICE_INTERFACE_DETAIL_DATA_A)calloc(1, size); | ||||
| 					if (devint_detail_data == NULL) { | ||||
| 						uprintf("unable to allocate data for SP_DEVICE_INTERFACE_DETAIL_DATA\n"); | ||||
| 						uprintf("Unable to allocate data for SP_DEVICE_INTERFACE_DETAIL_DATA\n"); | ||||
| 						return FALSE; | ||||
| 					} | ||||
| 					devint_detail_data->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_A); | ||||
|  | @ -651,7 +651,7 @@ static BOOL GetUSBDevices(DWORD devnum) | |||
| 
 | ||||
| 			hDrive = CreateFileA(devint_detail_data->DevicePath, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); | ||||
| 			if(hDrive == INVALID_HANDLE_VALUE) { | ||||
| 				uprintf("could not open '%s': %s\n", devint_detail_data->DevicePath, WindowsErrorString());  | ||||
| 				uprintf("Could not open '%s': %s\n", devint_detail_data->DevicePath, WindowsErrorString());  | ||||
| 				continue; | ||||
| 			} | ||||
| 
 | ||||
|  | @ -888,10 +888,8 @@ BOOL CALLBACK LogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) | |||
| 				log_buffer = (char*)malloc(log_size); | ||||
| 			if (log_buffer != NULL) { | ||||
| 				log_size = GetDlgItemTextU(hDlg, IDC_LOG_EDIT, log_buffer, log_size); | ||||
| 				if (log_size == 0) { | ||||
| 					uprintf("Nothing to save.\n"); | ||||
| 				} else { | ||||
| 					log_size--;	// remove NULL terminator
 | ||||
| 				if (log_size != 0) { | ||||
| 					log_size--;	// remove NUL terminator
 | ||||
| 					filepath =  FileDialog(TRUE, app_dir, "rufus.log", "log", "Rufus log"); | ||||
| 					if (filepath != NULL) { | ||||
| 						FileIO(TRUE, filepath, &log_buffer, &log_size); | ||||
|  | @ -1033,16 +1031,14 @@ DWORD WINAPI ISOScanThread(LPVOID param) | |||
| 	} | ||||
| 	if ((!iso_report.has_bootmgr) && (!iso_report.has_isolinux) && (!IS_WINPE(iso_report.winpe)) && (!iso_report.has_efi)) { | ||||
| 		MessageBoxU(hMainDialog, "This version of Rufus only supports bootable ISOs\n" | ||||
| 			"based on 'bootmgr/WinPE', 'isolinux' or EFI boot.\n" | ||||
| 			"This ISO image doesn't appear to use either...", "Unsupported ISO", MB_OK|MB_ICONINFORMATION); | ||||
| 			"based on bootmgr/WinPE, isolinux or EFI.\n" | ||||
| 			"This ISO doesn't appear to use either...", "Unsupported ISO", MB_OK|MB_ICONINFORMATION); | ||||
| 		safe_free(iso_path); | ||||
| 		SetMBRProps(); | ||||
| 	} else if ((iso_report.has_efi || iso_report.has_win7_efi) && (iso_report.has_4GB_file)) { | ||||
| 		// Who the heck decided that using FAT32 for UEFI booting, in late 200x, was a great idea?!?
 | ||||
| 		MessageBoxU(hMainDialog, "Congratulations! You have just exposed the shortshightedness of the UEFI committee, by simply " | ||||
| 			"trying to use an EFI based image with a file that is larger than 4 GB.\nPlease address your complaints to any of " | ||||
| 			"the companies listed at http://www.uefi.org/about/, for sticking with FAT32 as the default EFI filesystem and thus " | ||||
| 			"preventing easy booting of large VHDs with UEFI.", "Who the heck couldn't see that one coming?", MB_OK|MB_ICONINFORMATION); | ||||
| 		// Who the heck decided that using FAT32 for UEFI boot was a great idea?!?
 | ||||
| 		MessageBoxU(hMainDialog, "This ISO image contains a file larger than 4 GB and cannot be used to boot in EFI mode from USB.\r\n" | ||||
| 			"This is a technical limitation from the UEFI/FAT32 process, not from " APPLICATION_NAME ".", "Non USB-UEFI compatible ISO", MB_OK|MB_ICONINFORMATION); | ||||
| 		safe_free(iso_path); | ||||
| 	} else { | ||||
| 		for(i=0; i<NB_OLD_C32; i++) { | ||||
|  | @ -1061,8 +1057,8 @@ DWORD WINAPI ISOScanThread(LPVOID param) | |||
| 						"- Select 'Yes' to connect to the internet and replace the file.\n" | ||||
| 						"- Select 'No' to leave the existing ISO file unmodified.\n" | ||||
| 						"If you don't know what to do, you should select 'Yes'.\n\n" | ||||
| 						"Note: the file will be downloaded in the current directory. Once a\n" | ||||
| 						"%s exists there, it will always be used as replacement.\n", old_c32_name[i], old_c32_name[i]); | ||||
| 						"Note that the file will be downloaded in the current directory and once a\n" | ||||
| 						"'%s' exists there, it will always be used as replacement.\n", old_c32_name[i], old_c32_name[i]); | ||||
| 					safe_sprintf(msg_title, sizeof(msg_title), "Replace %s?", old_c32_name[i]); | ||||
| 					if (MessageBoxA(hMainDialog, msg, msg_title, MB_YESNO|MB_ICONWARNING) == IDYES) { | ||||
| 						SetWindowTextU(hISOProgressDlg, "Downloading file..."); | ||||
|  | @ -1280,7 +1276,7 @@ void InitDialog(HWND hDlg) | |||
| 	token = strtok(tmp, "v"); | ||||
| 	for (i=0; (i<4) && ((token = strtok(NULL, ".")) != NULL); i++) | ||||
| 		rufus_version[i] = (uint16_t)atoi(token); | ||||
| 	uprintf("Rufus version %d.%d.%d.%d\n", rufus_version[0], rufus_version[1], rufus_version[2], rufus_version[3]); | ||||
| 	uprintf(APPLICATION_NAME " version %d.%d.%d.%d\n", rufus_version[0], rufus_version[1], rufus_version[2], rufus_version[3]); | ||||
| 
 | ||||
| 	// Prefer FreeDOS to MS-DOS
 | ||||
| 	selection_default = DT_FREEDOS; | ||||
|  | @ -1367,7 +1363,7 @@ void InitDialog(HWND hDlg) | |||
| 		"This should only be necessary for XP installation" , 10000); | ||||
| 	CreateTooltip(GetDlgItem(hDlg, IDC_EXTRA_PARTITION), "Create an extra hidden partition and try to align partitions boundaries.\n" | ||||
| 		"This can improve boot detection for older BIOSes", -1); | ||||
| 	CreateTooltip(GetDlgItem(hDlg, IDC_ENABLE_FIXED_DISKS), "Enable detection for disks not normally detected by Rufus. " | ||||
| 	CreateTooltip(GetDlgItem(hDlg, IDC_ENABLE_FIXED_DISKS), "Enable detection for disks not normally detected by " APPLICATION_NAME ". " | ||||
| 		"USE AT YOUR OWN RISKS!!!", -1); | ||||
| 	CreateTooltip(GetDlgItem(hDlg, IDC_START), "Start the formatting operation.\nThis will DESTROY any data on the target!", -1); | ||||
| 	CreateTooltip(GetDlgItem(hDlg, IDC_ABOUT), "Licensing information and credits", -1); | ||||
|  | @ -1696,10 +1692,11 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | |||
| 			if (nDeviceIndex != CB_ERR) { | ||||
| 				if ((IsChecked(IDC_BOOT)) && (!BootCheck())) | ||||
| 					break; | ||||
| 				// TODO: use UTF-8 here with MessageBoxU
 | ||||
| 				GetWindowTextW(hDeviceList, wtmp, ARRAYSIZE(wtmp)); | ||||
| 				_snwprintf(wstr, ARRAYSIZE(wstr), L"WARNING: ALL DATA ON DEVICE %s\r\nWILL BE DESTROYED.\r\n" | ||||
| 				_snwprintf(wstr, ARRAYSIZE(wstr), L"WARNING: ALL DATA ON DEVICE '%s'\r\nWILL BE DESTROYED.\r\n" | ||||
| 					L"To continue with this operation, click OK. To quit click CANCEL.", wtmp); | ||||
| 				if (MessageBoxW(hMainDialog, wstr, L"Rufus", MB_OKCANCEL|MB_ICONWARNING) == IDOK) { | ||||
| 				if (MessageBoxW(hMainDialog, wstr, LTEXT(APPLICATION_NAME), MB_OKCANCEL|MB_ICONWARNING) == IDOK) { | ||||
| 					// Disable all controls except cancel
 | ||||
| 					EnableControls(FALSE); | ||||
| 					DeviceNum = (DWORD)ComboBox_GetItemData(hDeviceList, nDeviceIndex); | ||||
|  | @ -1848,7 +1845,9 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine | |||
| 		{0, 0, NULL, 0} | ||||
| 	}; | ||||
| 
 | ||||
| 	uprintf("*** RUFUS INIT ***\n"); | ||||
| 	uprintf("*** " APPLICATION_NAME " init ***\n"); | ||||
| 
 | ||||
| 	SetThreadLocale(MAKELCID(LANG_FRENCH, SUBLANG_FRENCH)); | ||||
| 
 | ||||
| 	// Reattach the console, if we were started from commandline
 | ||||
| 	if (AttachConsole(ATTACH_PARENT_PROCESS) != 0) { | ||||
|  | @ -1899,14 +1898,14 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine | |||
| 	// in which case we wait for the mutex to be relinquished
 | ||||
| 	if ((safe_strlen(lpCmdLine)==2) && (lpCmdLine[0] == '/') && (lpCmdLine[1] == 'W')) | ||||
| 		wait_for_mutex = 150;		// Try to acquire the mutex for 15 seconds
 | ||||
| 	mutex = CreateMutexA(NULL, TRUE, "Global/RUFUS"); | ||||
| 	mutex = CreateMutexA(NULL, TRUE, "Global/" APPLICATION_NAME); | ||||
| 	for (;(wait_for_mutex>0) && (mutex != NULL) && (GetLastError() == ERROR_ALREADY_EXISTS); wait_for_mutex--) { | ||||
| 		CloseHandle(mutex); | ||||
| 		Sleep(100); | ||||
| 		mutex = CreateMutexA(NULL, TRUE, "Global/RUFUS"); | ||||
| 		mutex = CreateMutexA(NULL, TRUE, "Global/" APPLICATION_NAME); | ||||
| 	} | ||||
| 	if ((mutex == NULL) || (GetLastError() == ERROR_ALREADY_EXISTS)) { | ||||
| 		MessageBoxA(NULL, "Another Rufus application is running.\n" | ||||
| 		MessageBoxA(NULL, "Another " APPLICATION_NAME " application is running.\n" | ||||
| 			"Please close the first application before running another one.", | ||||
| 			"Other instance detected", MB_ICONSTOP); | ||||
| 		goto out; | ||||
|  | @ -2014,7 +2013,7 @@ out: | |||
| 	if (attached_console) | ||||
| 		DetachConsole(); | ||||
| 	CloseHandle(mutex); | ||||
| 	uprintf("*** RUFUS EXIT ***\n"); | ||||
| 	uprintf("*** " APPLICATION_NAME " exit ***\n"); | ||||
| #ifdef _CRTDBG_MAP_ALLOC | ||||
| 	_CrtDumpMemoryLeaks(); | ||||
| #endif | ||||
|  |  | |||
							
								
								
									
										327
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										327
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -16,10 +16,10 @@ | |||
| #undef APSTUDIO_READONLY_SYMBOLS | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // English resources | ||||
| // Neutral resources | ||||
| 
 | ||||
| #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) | ||||
| LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL | ||||
| #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU) | ||||
| LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | ||||
| #pragma code_page(1252) | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
|  | @ -30,7 +30,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL | |||
| IDD_DIALOG DIALOGEX 12, 12, 206, 329 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| EXSTYLE WS_EX_APPWINDOW | ||||
| CAPTION "Rufus v1.3.3.247" | ||||
| CAPTION "Rufus v1.3.3.248" | ||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||
| BEGIN | ||||
|     DEFPUSHBUTTON   "Start",IDC_START,94,291,50,14 | ||||
|  | @ -276,8 +276,8 @@ END | |||
| // | ||||
| 
 | ||||
| VS_VERSION_INFO VERSIONINFO | ||||
|  FILEVERSION 1,3,3,247 | ||||
|  PRODUCTVERSION 1,3,3,247 | ||||
|  FILEVERSION 1,3,3,248 | ||||
|  PRODUCTVERSION 1,3,3,248 | ||||
|  FILEFLAGSMASK 0x3fL | ||||
| #ifdef _DEBUG | ||||
|  FILEFLAGS 0x1L | ||||
|  | @ -294,13 +294,13 @@ BEGIN | |||
|         BEGIN | ||||
|             VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" | ||||
|             VALUE "FileDescription", "Rufus" | ||||
|             VALUE "FileVersion", "1.3.3.247" | ||||
|             VALUE "FileVersion", "1.3.3.248" | ||||
|             VALUE "InternalName", "Rufus" | ||||
|             VALUE "LegalCopyright", "(c) 2011-2013 Pete Batard (GPL v3)" | ||||
|             VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" | ||||
|             VALUE "OriginalFilename", "rufus.exe" | ||||
|             VALUE "ProductName", "Rufus" | ||||
|             VALUE "ProductVersion", "1.3.3.247" | ||||
|             VALUE "ProductVersion", "1.3.3.248" | ||||
|         END | ||||
|     END | ||||
|     BLOCK "VarFileInfo" | ||||
|  | @ -320,7 +320,316 @@ END | |||
| IDI_ICON                ICON                    "../res/rufus.ico" | ||||
| IDI_UP                  ICON                    "../res/up.ico" | ||||
| IDI_DOWN                ICON                    "../res/down.ico" | ||||
| #endif    // English resources | ||||
| #endif    // Neutral resources | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // French (France) resources | ||||
| 
 | ||||
| #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) | ||||
| LANGUAGE LANG_FRENCH, SUBLANG_FRENCH | ||||
| #pragma code_page(1252) | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // | ||||
| // Dialog | ||||
| // | ||||
| 
 | ||||
| IDD_DIALOG DIALOGEX 12, 12, 206, 329 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| EXSTYLE WS_EX_APPWINDOW | ||||
| CAPTION "Rufus v1.3.3.248" | ||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||
| BEGIN | ||||
|     DEFPUSHBUTTON   "Lancer",IDC_START,94,291,50,14 | ||||
|     PUSHBUTTON      "Fermer",IDCANCEL,148,291,50,14 | ||||
|     COMBOBOX        IDC_DEVICE,8,17,190,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     CONTROL         "Device",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,9,6,22,8 | ||||
|     COMBOBOX        IDC_FILESYSTEM,8,75,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "File system",IDC_STATIC,9,64,51,10 | ||||
|     COMBOBOX        IDC_PARTITION_SCHEME,8,46,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "Partition scheme and target system type",IDC_STATIC,9,35,176,8 | ||||
|     COMBOBOX        IDC_CLUSTERSIZE,8,104,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "Cluster size",IDC_STATIC,9,93,105,10 | ||||
|     PUSHBUTTON      "About...",IDC_ABOUT,8,291,50,14 | ||||
|     GROUPBOX        "Format Options       ",IDC_STATIC,7,149,192,66 | ||||
|     EDITTEXT        IDC_LABEL,7,131,190,13,ES_AUTOHSCROLL | ||||
|     CONTROL         "Check device for bad blocks:",IDC_BADBLOCKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,161,101,10 | ||||
|     CONTROL         "Quick format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,55,10 | ||||
|     CONTROL         "Create a bootable disk using:",IDC_BOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,104,10 | ||||
|     CONTROL         "Create extended label and icon files",IDC_SET_ICON, | ||||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,198,131,10 | ||||
|     LTEXT           "New volume label",IDC_STATIC,9,121,105,10 | ||||
|     CONTROL         "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,272,189,9 | ||||
|     COMBOBOX        IDC_NBPASSES,119,159,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     COMBOBOX        IDC_BOOTTYPE,119,183,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     PUSHBUTTON      "...",IDC_SELECT_ISO,171,182,22,14,BS_ICON | ||||
|     PUSHBUTTON      "T",IDC_TEST,80,291,12,14,NOT WS_VISIBLE | ||||
|     CONTROL         "Use Rufus MBR with BIOS ID:",IDC_RUFUS_MBR,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,13,248,106,10 | ||||
|     PUSHBUTTON      "",IDC_ADVANCED,63,148,14,10,BS_TOP | BS_FLAT | ||||
|     GROUPBOX        "Advanced Options",IDC_ADVANCED_GROUP,7,210,192,54,NOT WS_VISIBLE | ||||
|     COMBOBOX        IDC_DISK_ID,119,246,73,30,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ||||
|     CONTROL         "Add fixes for old BIOSes (extra partition, align, etc.)",IDC_EXTRA_PARTITION, | ||||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,235,184,10 | ||||
|     CONTROL         "List fixed (non-flash) or unpartitionned USB disks",IDC_ENABLE_FIXED_DISKS, | ||||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,222,185,10 | ||||
|     PUSHBUTTON      "Log",IDC_LOG,62,291,18,14 | ||||
| END | ||||
| 
 | ||||
| IDD_ABOUTBOX DIALOGEX 0, 0, 287, 201 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| CAPTION "A propos de Rufus" | ||||
| FONT 8, "Microsoft Sans Serif", 400, 0, 0x0 | ||||
| BEGIN | ||||
|     ICON            IDI_ICON,IDC_ABOUT_ICON,11,8,20,20 | ||||
|     DEFPUSHBUTTON   "OK",IDOK,231,181,50,14,WS_GROUP | ||||
|     PUSHBUTTON      "License",IDC_ABOUT_LICENSE,46,181,50,14,WS_GROUP | ||||
|     CONTROL         "",IDC_ABOUT_COPYRIGHTS,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL,46,101,235,74,WS_EX_STATICEDGE | ||||
|     CONTROL         "",IDC_ABOUT_BLURB,"RichEdit20W",ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | WS_TABSTOP,46,7,235,93 | ||||
|     PUSHBUTTON      "Mises a jour",IDC_ABOUT_UPDATES,100,181,50,14,NOT WS_VISIBLE | WS_GROUP | ||||
| END | ||||
| 
 | ||||
| IDD_ISO_EXTRACT DIALOGEX 0, 0, 262, 66 | ||||
| STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | ||||
| CAPTION "Copying ISO files..." | ||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||
| BEGIN | ||||
|     LTEXT           "Opening ISO image - please wait...",IDC_ISO_FILENAME,8,10,246,13,SS_PATHELLIPSIS | ||||
|     CONTROL         "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,7,26,247,8 | ||||
|     PUSHBUTTON      "Cancel",IDC_ISO_ABORT,111,43,50,14 | ||||
| END | ||||
| 
 | ||||
| IDD_LICENSE DIALOGEX 0, 0, 335, 205 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| CAPTION "Rufus License" | ||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||
| BEGIN | ||||
|     DEFPUSHBUTTON   "Close",IDOK,278,187,50,14 | ||||
|     EDITTEXT        IDC_LICENSE_TEXT,7,7,321,176,ES_MULTILINE | ES_READONLY | WS_VSCROLL | ||||
| END | ||||
| 
 | ||||
| IDD_LOG DIALOGEX 0, 0, 366, 329 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | ||||
| CAPTION "Log" | ||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||
| BEGIN | ||||
|     EDITTEXT        IDC_LOG_EDIT,0,0,366,301,ES_MULTILINE | ES_READONLY | NOT WS_BORDER | WS_VSCROLL,WS_EX_STATICEDGE | ||||
|     PUSHBUTTON      "Clear Log",IDC_LOG_CLEAR,198,308,50,14 | ||||
|     PUSHBUTTON      "Save Log",IDC_LOG_SAVE,253,308,50,14 | ||||
|     DEFPUSHBUTTON   "Close Log",IDCANCEL,308,308,50,14 | ||||
| END | ||||
| 
 | ||||
| IDD_NOTIFICATION DIALOGEX 0, 0, 263, 63 | ||||
| STYLE DS_SETFONT | DS_FIXEDSYS | DS_NOFAILCREATE | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME | ||||
| CAPTION "Rufus" | ||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||
| BEGIN | ||||
|     LTEXT           "",IDC_NOTIFICATION_LINE,0,0,263,39 | ||||
|     CONTROL         "",IDC_STATIC,"Static",SS_WHITERECT,0,0,263,38 | ||||
|     ICON            32516,IDC_NOTIFICATION_ICON,6,6,20,20 | ||||
|     LTEXT           "",IDC_NOTIFICATION_TEXT,35,10,219,20 | ||||
|     DEFPUSHBUTTON   "No",IDNO,206,44,50,14 | ||||
|     PUSHBUTTON      "More information",IDC_MORE_INFO,8,44,63,14,NOT WS_VISIBLE | ||||
|     PUSHBUTTON      "Yes",IDYES,154,44,50,14,NOT WS_VISIBLE | ||||
| END | ||||
| 
 | ||||
| IDD_UPDATE_POLICY DIALOGEX 0, 0, 287, 198 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| CAPTION "Update policy and settings" | ||||
| FONT 8, "Microsoft Sans Serif", 400, 0, 0x0 | ||||
| BEGIN | ||||
|     ICON            IDI_ICON,IDC_ABOUT_ICON,11,8,21,20 | ||||
|     DEFPUSHBUTTON   "Close",IDCANCEL,221,172,50,14,WS_GROUP | ||||
|     CONTROL         "",IDC_POLICY,"RichEdit20W",WS_VSCROLL | 0x804,46,8,235,130,WS_EX_STATICEDGE | ||||
|     COMBOBOX        IDC_UPDATE_FREQUENCY,133,155,66,12,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "Check for updates:",IDC_STATIC,52,157,72,11 | ||||
|     LTEXT           "Include beta versions:",IDC_STATIC,52,173,93,11 | ||||
|     COMBOBOX        IDC_INCLUDE_BETAS,133,171,36,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     GROUPBOX        "Settings",IDC_STATIC,45,145,161,46 | ||||
|     PUSHBUTTON      "Check Now",IDC_CHECK_NOW,221,154,50,14 | ||||
|     GROUPBOX        "",IDC_STATIC,210,145,71,46 | ||||
| END | ||||
| 
 | ||||
| IDD_NEW_VERSION DIALOGEX 0, 0, 384, 268 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| CAPTION "Check For Updates - Rufus" | ||||
| FONT 8, "Microsoft Sans Serif", 400, 0, 0x0 | ||||
| BEGIN | ||||
|     PUSHBUTTON      "Close",IDCANCEL,167,244,50,14,WS_GROUP | ||||
|     CONTROL         "",IDC_RELEASE_NOTES,"RichEdit20W",WS_VSCROLL | 0x804,15,77,352,88,WS_EX_STATICEDGE | ||||
|     DEFPUSHBUTTON   "Download",IDC_DOWNLOAD,293,211,74,14,WS_GROUP | ||||
|     CONTROL         "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,15,212,270,11 | ||||
|     GROUPBOX        "Release Notes",IDC_STATIC,8,63,367,111 | ||||
|     LTEXT           "A newer version is available. Please download the latest version!",IDC_STATIC,10,32,229,8 | ||||
|     LTEXT           "[...]",IDC_YOUR_VERSION,10,8,124,8 | ||||
|     LTEXT           "[...]",IDC_LATEST_VERSION,10,19,129,8 | ||||
|     CONTROL         "<a href=""http://rufus.akeo.ie"">Click here to go to the website</a>",IDC_WEBSITE, | ||||
|                     "SysLink",WS_TABSTOP,143,49,96,9 | ||||
|     GROUPBOX        "Download",IDC_STATIC,8,177,367,58 | ||||
|     EDITTEXT        IDC_DOWNLOAD_URL,15,191,351,13,ES_AUTOHSCROLL | ES_READONLY | ||||
| END | ||||
| 
 | ||||
| 
 | ||||
| #ifdef APSTUDIO_INVOKED | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // | ||||
| // TEXTINCLUDE | ||||
| // | ||||
| 
 | ||||
| 1 TEXTINCLUDE  | ||||
| BEGIN | ||||
|     "resource.h\0" | ||||
| END | ||||
| 
 | ||||
| 2 TEXTINCLUDE  | ||||
| BEGIN | ||||
|     "#include <windows.h>\r\n" | ||||
|     "#ifndef IDC_STATIC\r\n" | ||||
|     "#define IDC_STATIC -1\r\n" | ||||
|     "#endif\r\n" | ||||
|     "\0" | ||||
| END | ||||
| 
 | ||||
| 3 TEXTINCLUDE  | ||||
| BEGIN | ||||
|     "\r\n" | ||||
|     "IDR_SL_LDLINUX_BSS      RCDATA                  ""../res/syslinux/ldlinux.bss""\r\n" | ||||
|     "IDR_SL_LDLINUX_SYS      RCDATA                  ""../res/syslinux/ldlinux.sys""\r\n" | ||||
|     "IDR_BR_MBR_BIN          RCDATA                  ""../res/mbr/mbr.bin""\r\n" | ||||
|     "IDR_FD_COMMAND_COM      RCDATA                  ""../res/freedos/COMMAND.COM""\r\n" | ||||
|     "IDR_FD_KERNEL_SYS       RCDATA                  ""../res/freedos/KERNEL.SYS""\r\n" | ||||
|     "IDR_FD_DISPLAY_EXE      RCDATA                  ""../res/freedos/DISPLAY.EXE""\r\n" | ||||
|     "IDR_FD_KEYB_EXE         RCDATA                  ""../res/freedos/KEYB.EXE""\r\n" | ||||
|     "IDR_FD_MODE_COM         RCDATA                  ""../res/freedos/MODE.COM""\r\n" | ||||
|     "IDR_FD_KB1_SYS          RCDATA                  ""../res/freedos/KEYBOARD.SYS""\r\n" | ||||
|     "IDR_FD_KB2_SYS          RCDATA                  ""../res/freedos/KEYBRD2.SYS""\r\n" | ||||
|     "IDR_FD_KB3_SYS          RCDATA                  ""../res/freedos/KEYBRD3.SYS""\r\n" | ||||
|     "IDR_FD_KB4_SYS          RCDATA                  ""../res/freedos/KEYBRD4.SYS""\r\n" | ||||
|     "IDR_FD_EGA1_CPX         RCDATA                  ""../res/freedos/ega.cpx""\r\n" | ||||
|     "IDR_FD_EGA2_CPX         RCDATA                  ""../res/freedos/ega2.cpx""\r\n" | ||||
|     "IDR_FD_EGA3_CPX         RCDATA                  ""../res/freedos/ega3.cpx""\r\n" | ||||
|     "IDR_FD_EGA4_CPX         RCDATA                  ""../res/freedos/ega4.cpx""\r\n" | ||||
|     "IDR_FD_EGA5_CPX         RCDATA                  ""../res/freedos/ega5.cpx""\r\n" | ||||
|     "IDR_FD_EGA6_CPX         RCDATA                  ""../res/freedos/ega6.cpx""\r\n" | ||||
|     "IDR_FD_EGA7_CPX         RCDATA                  ""../res/freedos/ega7.cpx""\r\n" | ||||
|     "IDR_FD_EGA8_CPX         RCDATA                  ""../res/freedos/ega8.cpx""\r\n" | ||||
|     "IDR_FD_EGA9_CPX         RCDATA                  ""../res/freedos/ega9.cpx""\r\n" | ||||
|     "IDR_FD_EGA10_CPX        RCDATA                  ""../res/freedos/ega10.cpx""\r\n" | ||||
|     "IDR_FD_EGA11_CPX        RCDATA                  ""../res/freedos/ega11.cpx""\r\n" | ||||
|     "IDR_FD_EGA12_CPX        RCDATA                  ""../res/freedos/ega12.cpx""\r\n" | ||||
|     "IDR_FD_EGA13_CPX        RCDATA                  ""../res/freedos/ega13.cpx""\r\n" | ||||
|     "IDR_FD_EGA14_CPX        RCDATA                  ""../res/freedos/ega14.cpx""\r\n" | ||||
|     "IDR_FD_EGA15_CPX        RCDATA                  ""../res/freedos/ega15.cpx""\r\n" | ||||
|     "IDR_FD_EGA16_CPX        RCDATA                  ""../res/freedos/ega16.cpx""\r\n" | ||||
|     "IDR_FD_EGA17_CPX        RCDATA                  ""../res/freedos/ega17.cpx""\r\n" | ||||
|     "IDR_FD_EGA18_CPX        RCDATA                  ""../res/freedos/ega18.cpx""\r\n" | ||||
|     "\r\n" | ||||
|     "// Must reference a manifest for visual styles and elevation\r\n" | ||||
|     "// Oh, and it must happen at the end, or MinGW will ignore it!\r\n" | ||||
|     "#if defined(__GNUC__)\r\n" | ||||
|     "CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST ""common_controls_and_elevation.manifest""\r\n" | ||||
|     "#endif\r\n" | ||||
|     "\0" | ||||
| END | ||||
| 
 | ||||
| #endif    // APSTUDIO_INVOKED | ||||
| 
 | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // | ||||
| // DESIGNINFO | ||||
| // | ||||
| 
 | ||||
| #ifdef APSTUDIO_INVOKED | ||||
| GUIDELINES DESIGNINFO | ||||
| BEGIN | ||||
|     IDD_DIALOG, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_ABOUTBOX, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_ISO_EXTRACT, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_LICENSE, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_LOG, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_NOTIFICATION, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_UPDATE_POLICY, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| 
 | ||||
|     IDD_NEW_VERSION, DIALOG | ||||
|     BEGIN | ||||
|     END | ||||
| END | ||||
| #endif    // APSTUDIO_INVOKED | ||||
| 
 | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // | ||||
| // Version | ||||
| // | ||||
| 
 | ||||
| VS_VERSION_INFO VERSIONINFO | ||||
|  FILEVERSION 1,3,3,248 | ||||
|  PRODUCTVERSION 1,3,3,248 | ||||
|  FILEFLAGSMASK 0x3fL | ||||
| #ifdef _DEBUG | ||||
|  FILEFLAGS 0x1L | ||||
| #else | ||||
|  FILEFLAGS 0x0L | ||||
| #endif | ||||
|  FILEOS 0x40004L | ||||
|  FILETYPE 0x1L | ||||
|  FILESUBTYPE 0x0L | ||||
| BEGIN | ||||
|     BLOCK "StringFileInfo" | ||||
|     BEGIN | ||||
|         BLOCK "000904b0" | ||||
|         BEGIN | ||||
|             VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" | ||||
|             VALUE "FileDescription", "Rufus" | ||||
|             VALUE "FileVersion", "1.3.3.248" | ||||
|             VALUE "InternalName", "Rufus" | ||||
|             VALUE "LegalCopyright", "(c) 2011-2013 Pete Batard (GPL v3)" | ||||
|             VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" | ||||
|             VALUE "OriginalFilename", "rufus.exe" | ||||
|             VALUE "ProductName", "Rufus" | ||||
|             VALUE "ProductVersion", "1.3.3.248" | ||||
|         END | ||||
|     END | ||||
|     BLOCK "VarFileInfo" | ||||
|     BEGIN | ||||
|         VALUE "Translation", 0x9, 1200 | ||||
|     END | ||||
| END | ||||
| 
 | ||||
| 
 | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| // | ||||
| // Icon | ||||
| // | ||||
| 
 | ||||
| // Icon with lowest ID value placed first to ensure application icon | ||||
| // remains consistent on all systems. | ||||
| IDI_ICON                ICON                    "../res/rufus.ico" | ||||
| IDI_UP                  ICON                    "../res/up.ico" | ||||
| IDI_DOWN                ICON                    "../res/down.ico" | ||||
| #endif    // French (France) resources | ||||
| ///////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue