FmFolderModel

FmFolderModel — A model for folder view window.

Synopsis

#define             COL_FILE_UNSORTED
                    FmFolderModel;
struct              FmFolderModelClass;
enum                FmFolderModelViewCol;
void                fm_folder_model_file_changed        (FmFolderModel *model,
                                                         FmFileInfo *file);
void                fm_folder_model_file_created        (FmFolderModel *model,
                                                         FmFileInfo *file);
void                fm_folder_model_file_deleted        (FmFolderModel *model,
                                                         FmFileInfo *file);
gboolean            fm_folder_model_find_iter_by_filename
                                                        (FmFolderModel *model,
                                                         GtkTreeIter *it,
                                                         const char *name);
FmFolder *          fm_folder_model_get_folder          (FmFolderModel *model);
FmPath *            fm_folder_model_get_folder_path     (FmFolderModel *model);
guint               fm_folder_model_get_icon_size       (FmFolderModel *model);
gpointer            fm_folder_model_get_item_userdata   (FmFolderModel *model,
                                                         GtkTreeIter *it);
gboolean            fm_folder_model_get_show_hidden     (FmFolderModel *model);
FmFolderModel *     fm_folder_model_new                 (FmFolder *dir,
                                                         gboolean show_hidden);
void                fm_folder_model_set_folder          (FmFolderModel *model,
                                                         FmFolder *dir);
void                fm_folder_model_set_icon_size       (FmFolderModel *model,
                                                         guint icon_size);
void                fm_folder_model_set_item_userdata   (FmFolderModel *model,
                                                         GtkTreeIter *it,
                                                         gpointer user_data);
void                fm_folder_model_set_show_hidden     (FmFolderModel *model,
                                                         gboolean show_hidden);

Object Hierarchy

  GObject
   +----FmFolderModel

Implemented Interfaces

FmFolderModel implements GtkTreeModel, GtkTreeSortable, GtkTreeDragSource and GtkTreeDragDest.

Signals

  "row-deleting"                                   : Run First

Description

include: libfm/fm-folder-model.h

The FmFolderModel is used by widgets such as FmFolderView to arrange items of folder.

Details

COL_FILE_UNSORTED

#define COL_FILE_UNSORTED COL_FILE_INFO

FmFolderModel

typedef struct _FmFolderModel FmFolderModel;

struct FmFolderModelClass

struct FmFolderModelClass {
    GObjectClass parent;
    void (*row_deleting)(FmFolderModel* model, GtkTreePath* tp,
                         GtkTreeIter* iter, gpointer data);
};

GObjectClass parent;

the parent class

row_deleting ()

the class closure for the "row-deleting" signal

enum FmFolderModelViewCol

typedef enum {
  COL_FILE_GICON = 0,
  COL_FILE_ICON,
  COL_FILE_NAME,
  COL_FILE_SIZE,
  COL_FILE_DESC,
  COL_FILE_PERM,
  COL_FILE_OWNER,
  COL_FILE_MTIME,
  COL_FILE_INFO,
} FmFolderModelViewCol;

Columns of folder view

COL_FILE_GICON

(GIcon *) icon image

COL_FILE_ICON

(FmIcon *) icon descriptor

COL_FILE_NAME

(gchar *) file name

COL_FILE_SIZE

(gchar *) file size text

COL_FILE_DESC

(gchar *) file MIME description

COL_FILE_PERM

(gchar *) reserved, not implemented

COL_FILE_OWNER

(gchar *) reserved, not implemented

COL_FILE_MTIME

(gchar *) modification time text

COL_FILE_INFO

(FmFileInfo *) file info

fm_folder_model_file_changed ()

void                fm_folder_model_file_changed        (FmFolderModel *model,
                                                         FmFileInfo *file);

Updates info for the file in the model.

model :

a folder model instance

file :

a file into

Since 0.1.0


fm_folder_model_file_created ()

void                fm_folder_model_file_created        (FmFolderModel *model,
                                                         FmFileInfo *file);

Adds new created file into model.

model :

the folder model instance

file :

new file into

Since 0.1.0


fm_folder_model_file_deleted ()

void                fm_folder_model_file_deleted        (FmFolderModel *model,
                                                         FmFileInfo *file);

Removes a file from model.

model :

the folder model instance

file :

removed file into

Since 0.1.0


fm_folder_model_find_iter_by_filename ()

gboolean            fm_folder_model_find_iter_by_filename
                                                        (FmFolderModel *model,
                                                         GtkTreeIter *it,
                                                         const char *name);

Searches model for existance of some file in it. If file was found then sets it to match found file.

model :

the folder model instance

it :

pointer to iterator to fill

name :

file name to search

Returns :

TRUE if file was found.

Since 0.1.0


fm_folder_model_get_folder ()

FmFolder *          fm_folder_model_get_folder          (FmFolderModel *model);

Retrieves a folder that model is created for. Returned data are owned by the model and should not be freed by caller.

model :

the folder model instance

Returns :

the folder descriptor. [transfer none]

Since 1.0.0


fm_folder_model_get_folder_path ()

FmPath *            fm_folder_model_get_folder_path     (FmFolderModel *model);

Retrieves path of folder that model is created for. Returned data are owned by the model and should not be freed by caller.

model :

the folder model instance

Returns :

the path of the folder of the model. [transfer none]

Since 1.0.0


fm_folder_model_get_icon_size ()

guint               fm_folder_model_get_icon_size       (FmFolderModel *model);

Retrieves the size of icons in model data.

model :

the folder model instance

Returns :

size of icons in pixels.

Since 0.1.0


fm_folder_model_get_item_userdata ()

gpointer            fm_folder_model_get_item_userdata   (FmFolderModel *model,
                                                         GtkTreeIter *it);

Returns the data that was set by last call of fm_folder_model_set_item_userdata() on that row.

model :

the folder model instance

it :

iterator of row to retrieve data

Returns :

user data that was set on that row

Since 1.0.0


fm_folder_model_get_show_hidden ()

gboolean            fm_folder_model_get_show_hidden     (FmFolderModel *model);

Retrieves info whether folder model includes hidden files.

model :

the folder model instance

Returns :

TRUE if hidden files are visible within model.

Since 0.1.0


fm_folder_model_new ()

FmFolderModel *     fm_folder_model_new                 (FmFolder *dir,
                                                         gboolean show_hidden);

Creates new folder model for the dir.

dir :

the folder to create model

show_hidden :

whether show hidden files initially or not

Returns :

a new FmFolderModel object. [transfer full]

Since 0.1.0


fm_folder_model_set_folder ()

void                fm_folder_model_set_folder          (FmFolderModel *model,
                                                         FmFolder *dir);

Changes folder which model handles. This call allows reusing the model for different folder, in case, e.g. directory was changed.

model :

a folder model instance

dir :

a new folder for the model

Since 0.1.0


fm_folder_model_set_icon_size ()

void                fm_folder_model_set_icon_size       (FmFolderModel *model,
                                                         guint icon_size);

Changes the size of icons in model data.

model :

the folder model instance

icon_size :

new size for icons in pixels

Since 0.1.0


fm_folder_model_set_item_userdata ()

void                fm_folder_model_set_item_userdata   (FmFolderModel *model,
                                                         GtkTreeIter *it,
                                                         gpointer user_data);

Sets the data that can be retrieved by fm_folder_model_get_item_userdata().

model :

the folder model instance

it :

iterator of row to set data

user_data :

user data that will be associated with the row

Since 1.0.0


fm_folder_model_set_show_hidden ()

void                fm_folder_model_set_show_hidden     (FmFolderModel *model,
                                                         gboolean show_hidden);

Changes visibility of hodden files within model.

model :

the folder model instance

show_hidden :

whether show hidden files or not

Since 0.1.0

Signal Details

The "row-deleting" signal

void                user_function                      (FmFolderModel *model,
                                                        GtkTreePath   *row,
                                                        GtkTreeIter   *iter,
                                                        gpointer       data,
                                                        gpointer       user_data)      : Run First

This signal is emitted before row is deleted.

It can be used if view has some data associated with the row so those data can be freed safely.

model :

folder model instance that received the signal

row :

path to row that is about to be deleted

iter :

iterator of row that is about to be deleted

data :

user data associated with the row

user_data :

user data set when the signal handler was connected.

Since 1.0.0