⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ptk-file-browser.h

📁 台湾人开发的Linux下的文件管理器
💻 H
字号:
#ifndef  _FILE_BROWSER_H_#define  _FILE_BROWSER_H_#include <gtk/gtk.h>#include "vfs-dir.h"#include <sys/types.h>#include "ptk-icon-view.h"G_BEGIN_DECLS#define PTK_TYPE_FILE_BROWSER             (ptk_file_browser_get_type())#define PTK_FILE_BROWSER(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),  PTK_TYPE_FILE_BROWSER, PtkFileBrowser))#define PTK_FILE_BROWSER_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass),  PTK_TYPE_FILE_BROWSER, PtkFileBrowserClass))#define PTK_IS_FILE_BROWSER(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PTK_TYPE_FILE_BROWSER))#define PTK_IS_FILE_BROWSER_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass),  PTK_TYPE_FILE_BROWSER))#define PTK_FILE_BROWSER_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj),  PTK_TYPE_FILE_BROWSER, PtkFileBrowserClass))typedef enum{    FBVM_ICON_VIEW,    FBVM_LIST_VIEW}PtkFileBrowserViewMode;typedef enum{    FB_SIDE_PANE_BOOKMARKS,    FB_SIDE_PANE_DIR_TREE}PtkFileBrowserSidePaneMode;typedef enum{    FB_SORT_BY_NAME = 0,    FB_SORT_BY_SIZE,    FB_SORT_BY_MTIME,    FB_SORT_BY_TYPE,    FB_SORT_BY_PERM,    FB_SORT_BY_OWNER}FileBrowserSortOrder;typedef struct _PtkFileBrowser PtkFileBrowser;typedef struct _PtkFileBrowserClass PtkFileBrowserClass;struct _PtkFileBrowser{    /* parent class */    GtkHPaned parent;    /* <private> */    GList* history;    GList* curHistory;    int historyNum;    VFSDir* dir;    GtkTreeModel* file_list;    gboolean show_hidden_files;    int max_thumbnail;    FileBrowserSortOrder sort_order;    GtkSortType sort_type;    int n_sel_files;    off_t sel_size;    /* side pane */    GtkToggleToolButton* location_btn;    GtkToggleToolButton* dir_tree_btn;    gboolean show_side_pane;    PtkFileBrowserSidePaneMode side_pane_mode;    GtkWidget* side_pane;    GtkTreeView* side_view;    GtkWidget* side_view_scroll;    /* folder view */    GtkWidget* folder_view;    GtkWidget* folder_view_scroll;    PtkFileBrowserViewMode view_mode;    gboolean busy;    glong prev_update_time;    guint update_timeout;};typedef enum{    PTK_OPEN_DIR,    PTK_OPEN_NEW_TAB,    PTK_OPEN_NEW_WINDOW,    PTK_OPEN_TERMINAL,    PTK_OPEN_FILE}PtkOpenAction;struct _PtkFileBrowserClass{    GtkPanedClass parent;    /* Default signal handlers */    void ( *before_chdir ) ( PtkFileBrowser* file_browser, const char* path, gboolean* cancel );    void ( *after_chdir ) ( PtkFileBrowser* file_browser );    void ( *open_item ) ( PtkFileBrowser* file_browser, const char* path, int action );    void ( *content_change ) ( PtkFileBrowser* file_browser );    void ( *sel_change ) ( PtkFileBrowser* file_browser );    void ( *pane_mode_change ) ( PtkFileBrowser* file_browser );};GType ptk_file_browser_get_type ( void );GtkWidget* ptk_file_browser_new( GtkWidget* mainWindow,                                 PtkFileBrowserViewMode view_mode );/** folder_path should be encodede in on-disk encoding*/gboolean ptk_file_browser_chdir( PtkFileBrowser* file_browser,                                 const char* folder_path,                                 gboolean add_history );/** returned path should be encodede in on-disk encoding*/const char* ptk_file_browser_get_cwd( PtkFileBrowser* file_browser );/** returned path should be encodede in UTF-8*/const char* ptk_file_browser_get_cwd( PtkFileBrowser* file_browser );guint ptk_file_browser_get_n_all_files( PtkFileBrowser* file_browser );guint ptk_file_browser_get_n_visible_files( PtkFileBrowser* file_browser );guint ptk_file_browser_get_n_sel( PtkFileBrowser* file_browser,                                  guint64* sel_size );gboolean ptk_file_browser_can_back( PtkFileBrowser* file_browser );void ptk_file_browser_go_back( PtkFileBrowser* file_browser );gboolean ptk_file_browser_can_forward( PtkFileBrowser* file_browser );void ptk_file_browser_go_forward( PtkFileBrowser* file_browser );void ptk_file_browser_refresh( PtkFileBrowser* file_browser );void ptk_file_browser_update_mime_icons( PtkFileBrowser* file_browser );gboolean ptk_file_browser_is_busy( PtkFileBrowser* file_browser );GtkWidget* ptk_file_browser_get_folder_view( PtkFileBrowser* file_browser );GtkTreeView* ptk_file_browser_get_side_view( PtkFileBrowser* file_browser );void ptk_file_browser_show_hidden_files( PtkFileBrowser* file_browser,                                         gboolean show );/* Side pane */void ptk_file_browser_set_side_pane_mode( PtkFileBrowser* file_browser,                                          PtkFileBrowserSidePaneMode mode );PtkFileBrowserSidePaneMode ptk_file_browser_get_side_pane_mode( PtkFileBrowser* file_browser );void ptk_file_browser_show_side_pane( PtkFileBrowser* file_browser,                                      PtkFileBrowserSidePaneMode mode );void ptk_file_browser_hide_side_pane( PtkFileBrowser* file_browser );gboolean ptk_file_browser_is_side_pane_visible( PtkFileBrowser* file_browser );/* Sorting files */void ptk_file_browser_set_sort_order( PtkFileBrowser* file_browser,                                      FileBrowserSortOrder order );void ptk_file_browser_set_sort_type( PtkFileBrowser* file_browser,                                     GtkSortType order );FileBrowserSortOrder ptk_file_browser_get_sort_order( PtkFileBrowser* file_browser );GtkSortType ptk_file_browser_get_sort_type( PtkFileBrowser* file_browser );GList* ptk_file_browser_get_selected_files( PtkFileBrowser* file_browser );/* Return a list of selected filenames (full paths in on-disk encoding) */void ptk_file_browser_open_selected_files( PtkFileBrowser* file_browser );gboolean ptk_file_browser_can_paste( PtkFileBrowser* file_browser );void ptk_file_browser_paste( PtkFileBrowser* file_browser );gboolean ptk_file_browser_can_cut_or_copy( PtkFileBrowser* file_browser );void ptk_file_browser_cut( PtkFileBrowser* file_browser );void ptk_file_browser_copy( PtkFileBrowser* file_browser );gboolean ptk_file_browser_can_delete( PtkFileBrowser* file_browser );void ptk_file_browser_delete( PtkFileBrowser* file_browser );void ptk_file_browser_select_all( PtkFileBrowser* file_browser );void ptk_file_browser_invert_selection( PtkFileBrowser* file_browser );void ptk_file_browser_rename_selected_file( PtkFileBrowser* file_browser );void ptk_file_browser_file_properties( PtkFileBrowser* file_browser );void ptk_file_browser_view_as_icons( PtkFileBrowser* file_browser );void ptk_file_browser_view_as_list ( PtkFileBrowser* file_browser );void ptk_file_browser_create_new_file( PtkFileBrowser* file_browser,                                       gboolean create_folder );void ptk_file_browser_open_terminal( PtkFileBrowser* file_browser );void ptk_file_browser_show_thumbnails( PtkFileBrowser* file_browser,                                       int max_file_size );void ptk_file_browser_update_display( PtkFileBrowser* file_browser );void ptk_file_browser_emit_open( PtkFileBrowser* file_browser,                                 const char* path,                                 PtkOpenAction action );G_END_DECLS#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -