📄 flu_file_chooser.h
字号:
inline static void _forwardCB( Fl_Widget *w, void *arg ) { ((Flu_File_Chooser*)arg)->forwardCB(); } void forwardCB(); inline static void _sortCB( Fl_Widget *w, void *arg ) { ((Flu_File_Chooser*)arg)->sortCB( w ); } void sortCB( Fl_Widget *w ); inline static void _previewCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->previewCB(); } void previewCB(); inline static void _filenameCB( Fl_Widget *w, void *arg ) { ((Flu_File_Chooser*)arg)->filenameCB(); } void filenameCB(); inline static void _filesystemsCB( Fl_Widget *w, void *arg ) { ((Flu_File_Chooser*)arg)->filesystemsCB( ((Flu_Combo_Tree*)w)->value() ); } void filesystemsCB( const char *path ); inline static void delayedCdCB( void *arg ) { ((Flu_File_Chooser*)arg)->cd( ((Flu_File_Chooser*)arg)->delayedCd.c_str() ); } inline static void selectCB( void *arg ) { ((Flu_File_Chooser*)arg)->hide(); } inline static void _cancelCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->cancelCB(); } void cancelCB(); inline static void _okCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->okCB(); } void okCB(); inline static void _trashCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->trashCB(); } void trashCB( bool recycle = true ); inline static void _newFolderCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->newFolderCB(); } void newFolderCB(); inline static void upDirCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->cd( "../" ); } inline static void reloadCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->reloadCB(); } void reloadCB(); inline static void _homeCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->homeCB(); } void homeCB(); inline static void _desktopCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->desktopCB(); } void desktopCB(); inline static void _favoritesCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->favoritesCB(); } void favoritesCB(); inline static void _myComputerCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->myComputerCB(); } void myComputerCB(); inline static void _addToFavoritesCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->addToFavoritesCB(); } void addToFavoritesCB(); inline static void _documentsCB( Fl_Widget*, void *arg ) { ((Flu_File_Chooser*)arg)->documentsCB(); } void documentsCB(); enum { SORT_NAME = 1, SORT_SIZE = 2, SORT_TYPE = 4, SORT_DATE = 8, SORT_REVERSE = 16 }; static void _qSort( int how, bool caseSort, Fl_Widget **array, int low, int high ); friend class Entry; class Entry : public Fl_Input { public: Entry( const char* name, int t, bool d, Flu_File_Chooser *c ); ~Entry(); int handle( int event ); void draw(); void updateSize(); void updateIcon(); FluSimpleString filename, date, filesize, shortname, description, shortDescription, toolTip, altname; //FluSimpleString permissions; //unsigned char pU, pG, pO; // 3-bit unix style permissions unsigned int type, idate; unsigned long isize; bool selected; int editMode; Flu_File_Chooser *chooser; Fl_Image *icon; int nameW, typeW, sizeW, dateW; bool details; inline static void _inputCB( Fl_Widget *w, void *arg ) { ((Entry*)arg)->inputCB(); } void inputCB(); inline static void _editCB( void *arg ) { ((Entry*)arg)->editCB(); } void editCB(); }; friend class FileList; class FileList : public Flu_Wrap_Group { public: FileList( int x, int y, int w, int h, Flu_File_Chooser *c ); ~FileList(); int handle( int event ); void sort( int numDirs = -1 ); int numDirs; Flu_File_Chooser *chooser; }; friend class FileDetails; class FileDetails : public Fl_Pack { public: FileDetails( int x, int y, int w, int h, Flu_File_Chooser *c ); ~FileDetails(); int handle( int event ); void sort( int numDirs = -1 ); void scroll_to( Fl_Widget *w ); Fl_Widget* next( Fl_Widget* w ); Fl_Widget* previous( Fl_Widget* w ); int numDirs; Flu_File_Chooser *chooser; }; friend class CBTile; class CBTile : public Fl_Tile { public: CBTile( int x, int y, int w, int h, Flu_File_Chooser *c ); int handle( int event ); Flu_File_Chooser *chooser; }; friend class FileColumns; class FileColumns : public Fl_Tile { public: FileColumns( int x, int y, int w, int h, Flu_File_Chooser *c ); ~FileColumns(); int handle( int event ); void resize( int x, int y, int w, int h ); Flu_File_Chooser *chooser; int W1, W2, W3, W4; }; friend class PreviewTile; class PreviewTile : public Fl_Tile { public: PreviewTile( int x, int y, int w, int h, Flu_File_Chooser *c ); int handle( int event ); Flu_File_Chooser *chooser; int last; }; class ImgTxtPreview : public PreviewWidgetBase { public: int preview( const char *filename ); unsigned char previewTxt[1024]; }; friend class PreviewGroup; class PreviewGroup : public Fl_Group { public: PreviewGroup( int x, int y, int w, int h, Flu_File_Chooser *c ); void draw(); Flu_File_Chooser *chooser; FluSimpleString lastFile, file; PreviewWidgetBase* handled; }; Fl_Group *getEntryGroup(); Fl_Group *getEntryContainer(); void win2unix( FluSimpleString &s ); void cleanupPath( FluSimpleString &s ); bool correctPath( FluSimpleString &path ); void updateEntrySizes(); void buildFilesystemsCombo(); void addToHistory(); FluSimpleString formatDate( const char *d ); void recursiveScan( const char *dir, StringVector *files ); bool stripPatterns( FluSimpleString s, StringVector* patterns ); int popupContextMenu( Entry *entry ); FluSimpleString commonStr(); static ImgTxtPreview *imgTxtPreview; static int (*customSort)(const char*,const char*); PreviewGroup *previewGroup; PreviewTile *previewTile; Fl_Group *fileGroup; Fl_Menu_Button entryPopup; Fl_Image *defaultFileIcon; Entry *lastSelected; FileList *filelist; FileColumns *filecolumns; Fl_Group *fileDetailsGroup; Fl_Scroll *filescroll; FileDetails *filedetails; Flu_Button *detailNameBtn, *detailTypeBtn, *detailSizeBtn, *detailDateBtn; FluSimpleString currentDir, delayedCd, rawPattern; FluSimpleString userHome, configFilename; FluSimpleString drives[26]; Fl_Pixmap* driveIcons[26]; Flu_Button *fileListBtn, *fileListWideBtn, *fileDetailsBtn, *backBtn, *forwardBtn, *upDirBtn, *trashBtn, *newDirBtn, *addFavoriteBtn, *reloadBtn, *previewBtn; Fl_Browser *favoritesList; Flu_Combo_List *filePattern; int selectionType; bool filenameEnterCallback, filenameTabCallback, walkingHistory, caseSort, fileEditing; int sortMethod; StringVector patterns; static FileTypeInfo *types; static int numTypes; static int typeArraySize;#ifdef WIN32 unsigned int driveMask; unsigned int driveTypes[26]; FluSimpleString volumeNames[26]; bool refreshDrives;#endif class History { public: History() { last = next = NULL; } FluSimpleString path; History *last, *next; }; History *history, *currentHist;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -