https://github.com/darealshinji/fltk-filetable
Customizable FLTK file selection widgets
https://github.com/darealshinji/fltk-filetable
Last synced: 7 months ago
JSON representation
Customizable FLTK file selection widgets
- Host: GitHub
- URL: https://github.com/darealshinji/fltk-filetable
- Owner: darealshinji
- License: other
- Created: 2021-07-06T19:31:16.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-05-08T11:57:53.000Z (over 2 years ago)
- Last Synced: 2025-01-30T06:41:36.082Z (8 months ago)
- Language: C++
- Size: 339 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Customizable file selection widgets in a table format.
The following classes are available:
fltk::filetable_
-> base class, must be sub-classed to be usablefltk::filetable_simple
-> this widget only distincts between regular files and Unix special filesfltk::filetable_extension
-> file selection widget where the file icons are set based on the file
extensions (MS Windows style); Unix special files are recognized toofltk::filetable_magic
-> file selection widget where the file icons are set based on the magic
bytes (Linux style); Unix special files are recognized too; this widget
uses multithreading and libmagic (experimental)fltk::dirtree
-> a directory tree based on the Fl_Tree classxdg
-> helper class to read the XDG paths from the user-dirs.dirs config filefltk::mountbutton
-> work in progressfltk::fileselection
-> convenience template class that provides most features of a file selection
widget, such as a sidebar and an address barMy motivation to write these was that the default FLTK file selection was
practically not customizable and didn't look and feel modern enough, while
the native dialog was using GTK, which didn't feel right to me since I wanted
to use FLTK and not GTK.
I've tried to find a belance between being easy to use, highly customizable,
feature rich, looking modern and at the same time keeping it as simple as
possible (I don't intend to write a fully featured file manager).Known issues or limitations:
* fltk::dirtree only lists directories; you need to subclass or modify it if you
want files to be listed too* fltk::fileselection has some minor focus issues
* auto-width doesn't work correctly on the fltk::filetable_ subclasses on
startup, see the code in fltk::fileselection for a workaround* fltk::filetable_magic might crash, you must define `FLTK_EXPERIMENTAL` to use it
* only SVG icons are supported
* icons and MIME type assossiations aren't taken from the Desktop Environment,
you need to configure them yourself