An open API service indexing awesome lists of open source software.

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

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 usable

fltk::filetable_simple
-> this widget only distincts between regular files and Unix special files

fltk::filetable_extension
-> file selection widget where the file icons are set based on the file
extensions (MS Windows style); Unix special files are recognized too

fltk::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 class

xdg
-> helper class to read the XDG paths from the user-dirs.dirs config file

fltk::mountbutton
-> work in progress

fltk::fileselection
-> convenience template class that provides most features of a file selection
widget, such as a sidebar and an address bar

My 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