65 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								# Portable File Dialogs
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A free C++11 file dialog library.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-   works on Windows, Mac OS X, Linux
							 | 
						||
| 
								 | 
							
								-   **single-header**, no extra library dependencies
							 | 
						||
| 
								 | 
							
								-   **synchronous *or* asynchronous** (does not block the rest of your program!)
							 | 
						||
| 
								 | 
							
								-   **cancelable** (kill asynchronous dialogues without user interaction)
							 | 
						||
| 
								 | 
							
								-   **secure** (immune to shell-quote vulnerabilities)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[](https://www.codacy.com/manual/samhocevar/portable-file-dialogs?utm_source=github.com&utm_medium=referral&utm_content=samhocevar/portable-file-dialogs&utm_campaign=Badge_Grade)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Status
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The library is now pretty robust. It is not as feature-complete as
							 | 
						||
| 
								 | 
							
								[Tiny File Dialogs](https://sourceforge.net/projects/tinyfiledialogs/),
							 | 
						||
| 
								 | 
							
								but has asynchonous dialogs, more maintainable code, and fewer potential
							 | 
						||
| 
								 | 
							
								security issues.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The currently available backends are:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-   Win32 API (all known versions of Windows)
							 | 
						||
| 
								 | 
							
								-   Mac OS X (using AppleScript)
							 | 
						||
| 
								 | 
							
								-   GNOME desktop (using [Zenity](https://en.wikipedia.org/wiki/Zenity) or its clones Matedialog and Qarma)
							 | 
						||
| 
								 | 
							
								-   KDE desktop (using [KDialog](https://github.com/KDE/kdialog))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Experimental support for Emscripten is on its way.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Documentation
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-   [`pfd`](doc/pfd.md) general documentation
							 | 
						||
| 
								 | 
							
								-   [`pfd::message`](doc/message.md) message box
							 | 
						||
| 
								 | 
							
								-   [`pfd::notify`](doc/notify.md) notification
							 | 
						||
| 
								 | 
							
								-   [`pfd::open_file`](doc/open_file.md) file open
							 | 
						||
| 
								 | 
							
								-   [`pfd::save_file`](doc/save_file.md) file save
							 | 
						||
| 
								 | 
							
								-   [`pfd::select_folder`](doc/select_folder.md) folder selection
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## History
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								-   0.1.0 (July 16, 2020): first public release
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Screenshots (Windows 10)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Screenshots (Mac OS X, dark theme)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Screenshots (Linux, GNOME desktop)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Screenshots (Linux, KDE Plasma desktop)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |