Top |
TeplFileSaverTeplFileSaver — Save a TeplBuffer into a file |
TeplBuffer * | buffer | Read / Write / Construct Only |
TeplFile * | file | Read / Write / Construct Only |
TeplFileSaverFlags | flags | Read / Write / Construct |
GFile * | location | Read / Write / Construct Only |
TeplNewlineType | newline-type | Read / Write / Construct |
A TeplFileSaver object permits to save a TeplBuffer into a GFile.
A file saver should be used only for one save operation, including errors
handling. If an error occurs, you can reconfigure the saver and relaunch the
operation with tepl_file_saver_save_async()
.
Make the GtkTextView non-editable during the save operation. See
gtk_text_view_set_editable()
. Because the save operation is asynchronous, and
gtk_text_buffer_set_modified()
must be called (with a FALSE
value) only when
the file has been successfully saved. So that's why
gtk_text_buffer_set_modified()
is called by tepl_file_saver_save_finish()
,
not at the beginning of the save operation. If the view/buffer is editable
during the save operation, gtk_text_buffer_set_modified()
may be called at
the wrong place in the undo/redo history.
TeplFileSaver * tepl_file_saver_new (TeplBuffer *buffer
,TeplFile *file
);
Creates a new TeplFileSaver object. The buffer
will be saved to the
TeplFile's location.
This constructor is suitable for a simple "save" operation, when the file
already contains a non-NULL
“location”.
Since: 1.0
TeplFileSaver * tepl_file_saver_new_with_target (TeplBuffer *buffer
,TeplFile *file
,GFile *target_location
);
Creates a new TeplFileSaver object with a target location. When the
file saving is finished successfully, target_location
is set to the file
's
“location” property. If an error occurs, the previous valid
location is still available in TeplFile.
This constructor is suitable for a "save as" operation, or for saving a new buffer for the first time.
buffer |
the TeplBuffer to save. |
|
file |
the TeplFile. |
|
target_location |
the GFile where to save the buffer to. |
Since: 1.0
TeplBuffer *
tepl_file_saver_get_buffer (TeplFileSaver *saver
);
Since: 1.0
GFile *
tepl_file_saver_get_location (TeplFileSaver *saver
);
Since: 1.0
void tepl_file_saver_set_newline_type (TeplFileSaver *saver
,TeplNewlineType newline_type
);
Sets the newline type. By default the newline type is taken from the TeplFile.
Since: 1.0
TeplNewlineType
tepl_file_saver_get_newline_type (TeplFileSaver *saver
);
Since: 1.0
void tepl_file_saver_set_flags (TeplFileSaver *saver
,TeplFileSaverFlags flags
);
Since: 1.0
TeplFileSaverFlags
tepl_file_saver_get_flags (TeplFileSaver *saver
);
Since: 1.0
void tepl_file_saver_save_async (TeplFileSaver *saver
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Saves asynchronously the buffer into the file. See the GAsyncResult documentation to know how to use this function.
saver |
||
io_priority |
the I/O priority of the request. E.g. |
|
cancellable |
optional GCancellable object, |
[nullable] |
callback |
a GAsyncReadyCallback to call when the request is satisfied. |
[scope async] |
user_data |
user data to pass to |
Since: 5.0
gboolean tepl_file_saver_save_finish (TeplFileSaver *saver
,GAsyncResult *result
,GError **error
);
Finishes a file saving started with tepl_file_saver_save_async()
.
If the file has been saved successfully, the following TeplFile properties will be updated: the location and the newline type.
gtk_text_buffer_set_modified() is called with FALSE
if the file has been
saved successfully.
Since: 1.0
“buffer”
property“buffer” TeplBuffer *
The TeplBuffer to save. The TeplFileSaver object has a weak reference to the buffer.
Owner: TeplFileSaver
Flags: Read / Write / Construct Only
Since: 1.0
“file”
property“file” TeplFile *
The TeplFile. The TeplFileSaver object has a weak reference to the file.
Owner: TeplFileSaver
Flags: Read / Write / Construct Only
Since: 1.0
“flags”
property“flags” TeplFileSaverFlags
File saving flags.
Owner: TeplFileSaver
Flags: Read / Write / Construct
Since: 1.0
“location”
property“location” GFile *
The GFile where to save the buffer. By default the location is taken from the TeplFile at construction time.
Owner: TeplFileSaver
Flags: Read / Write / Construct Only
Since: 1.0
“newline-type”
property“newline-type” TeplNewlineType
The newline type.
Owner: TeplFileSaver
Flags: Read / Write / Construct
Default value: TEPL_NEWLINE_TYPE_LF
Since: 1.0