Top | ![]() |
![]() |
![]() |
![]() |
GtkDialog * | fm_file_properties_widget_new () |
gboolean | fm_show_file_properties () |
gboolean | fm_file_properties_add_for_mime_type () |
struct | FmFilePropertiesExtensionInit |
#define | FM_MODULE_gtk_file_prop_VERSION |
extern FmFilePropertiesExtensionInit | fm_module_init_gtk_file_prop |
include
: libfm/fm-gtk.h
The file properties dialog is a window with few tabs and buttons "OK"
and "Cancel". Most of content of those tabs is handled by the widget
itself but there is a possibility to change its content for some file
type. See fm_file_properties_add_for_mime_type()
for details.
Default content of tabs of file properties dialog follows (each tab has a GtkAlignment element, tab ids below meant of those):
Tab 1: contains GtkTable (id general_table) with items:
GtkImage (id icon) : file icon, eventbox: id icon_eventbox
GtkLabel (id file) : reserved (hidden), hidden label: id file_label
GtkEntry (id name) : label: "Name"
GtkLabel (id dir) : label: "Location"
GtkLabel (id target) : label: "Target", id target_label
GtkLabel (id type) : label: "File type"
GtkComboBox (id open_with) : label: "Open with", id open_with_label
GtkLabel (id total_files) : (hidden) label: "Total count of files", id total_files_label
GtkLabel (id total_size) : label: "Total Size of Files", id total_size_label
GtkLabel (id size_on_disk) : label: "Size on Disk", id size_on_disk_label
GtkLabel (id mtime) : label: "Last Modification", id mtime_label
GtkLabel (id atime) : label: "Last Access", id atime_label
GtkLabel (id ctime) : (hidden) label: "Last Permissions Change", id ctime_label
Tab 2: id permissions_tab, contains items inside:
GtkEntry (id owner) : label: "Owner", id owner_label
GtkEntry (id group) : label: "Group", id group_label
GtkComboBox (id read_perm) : label: "View content"
GtkComboBox (id write_perm) : label: "Change content"
GtkComboBox (id exec_perm) : label: "Execute", id exec_label
GtkComboBox (id flags_set_file) : label: "Special bits", id flags_label
GtkComboBox (id flags_set_dir) : share the place with flags_set_file
GtkCheckButton (id hidden) "Hidden file"
Tab 3: id extra_tab (hidden), empty, label: id extra_tab_label
Since gtk_table_get_size()
is available only for GTK 2.22 ... GTK 3.4
it is not generally recommended to change size of GtkTable but be also
aware that gtk_table_attach()
is marked deprecated in GTK 3.4 though.
Widget sets icon activatable if target file supports icon change. If user changes icon then its name (either themed name or file path) will be stored as GQuark fm_qdata_id in GtkImage "icon" (see above).
Widget sets name entry editable if target file supports renaming. Both icon name and file name will be checked after extensions are finished therefore extensions have a chance to reset the data and widget will not do own processing.
GtkDialog * fm_file_properties_widget_new (FmFileInfoList *files
,gboolean toplevel
);
Creates new dialog widget for change properties of files
.
Since: 0.1.0
gboolean fm_show_file_properties (GtkWindow *parent
,FmFileInfoList *files
);
Creates and shows file properties dialog for files
.
Since: 0.1.0
gboolean fm_file_properties_add_for_mime_type (const char *mime_type
,FmFilePropertiesExtensionInit *callbacks
);
Adds a handler for some mime type into file properties dialog. The
handler will be used if file properties dialog is opened for single
file or for few files of the same type to extend its functionality.
The value "*" of mime_type
has special meaning - the handler will
be used for file types where no other extension is applied. No
wildcards are allowed otherwise.
Since: 1.2.0
struct FmFilePropertiesExtensionInit { gpointer (*init)(GtkBuilder *ui, gpointer uidata, FmFileInfoList *files); void (*finish)(gpointer data, gboolean cancelled); };
The structure describing callbacks for File Properties dialog extension specific for some file type.
The init
callback is called before dialog window is opened. Callback
can disable or enable elements in dialog window, add triggers on those
elements, append new elements, etc. Callback gets three arguments: the
actual UI from builder, internal widget data pointer, and file infos
list. Internal widget data pointer may be used to block widget builtin
signal handler (that may be required if extension has own handler for
some GtkEntry element). Callback should return some own internal data
pointer which will be used as argument for finish
callback later.
The finish
callback is called before dialog window is closed. It gets
two arguments: the data pointer that was returned by init
callback
before and boolean value indicating if dialog was closed not by "OK"
button. Callback should free any resources allocated by init
callback
before.
This structure is used for "gtk_file_prop" module initialization. The key for module of this type is content type (MIME name) to support. The value "*" has special meaning - the module will be used for file types where no other extension is applied. No wildcards are allowed otherwise.
Since: 1.2.0