TeplFile

TeplFile — On-disk representation of a TeplBuffer

Functions

Properties

GFile * location Read / Write / Construct
TeplNewlineType newline-type Read
char * short-name Read

Types and Values

Object Hierarchy

    GEnum
    ╰── TeplNewlineType
    GObject
    ╰── TeplFile

Includes

#include <tepl/tepl.h>

Description

A TeplFile object is the on-disk representation of a TeplBuffer.

With a TeplFile, you can create and configure a TeplFileLoader and TeplFileSaver which take by default the values of the TeplFile properties (except for the file loader which auto-detects some properties). On a successful load or save operation, the TeplFile properties are updated. If an operation fails, the TeplFile properties have still the previous valid values.

It is possible to use TeplFile without using TeplFileLoader and TeplFileSaver. TeplFile alone offers several features useful for a text editor.

When using TeplFile alone, TeplFile does the I/O operations (if any) asynchronously.

Functions

TeplUntitledFileCallback ()

gchar *
(*TeplUntitledFileCallback) (gint untitled_file_number);

Type definition for a function that will be called to create a string containing untitled_file_number , to give a name to a file not yet present on disk.

Parameters

untitled_file_number

the number.

 

Since: 6.2

TeplMountOperationFactory ()

GMountOperation *
(*TeplMountOperationFactory) (TeplFile *file,
                              gpointer user_data);

Type definition for a function that will be called to create a GMountOperation. This is useful for creating a GtkMountOperation.

Parameters

file

a TeplFile.

 

user_data

user data.

 

Since: 1.0

tepl_file_new ()

TeplFile *
tepl_file_new (void);

Returns

a new TeplFile object.

Since: 1.0

tepl_file_get_location ()

GFile *
tepl_file_get_location (TeplFile *file);

Parameters

file

a TeplFile.

 

Returns

the value of the “location” property.

[transfer none]

Since: 1.0

tepl_file_set_location ()

void
tepl_file_set_location (TeplFile *file,
                        GFile *location);

Sets the “location” property.

Parameters

file

a TeplFile.

 

location

the new GFile, or NULL.

[nullable]

Since: 1.0

tepl_file_get_short_name ()

gchar *
tepl_file_get_short_name (TeplFile *file);

Parameters

file

a TeplFile.

 

Returns

the value of the “short-name” property. Free with g_free() when no longer needed.

Since: 5.0

tepl_file_set_untitled_file_callback ()

void
tepl_file_set_untitled_file_callback (TeplFile *file,
                                      TeplUntitledFileCallback callback);

Sets a TeplUntitledFileCallback, useful to customize the “short-name”.

[skip]

Parameters

file

a TeplFile.

 

callback

a TeplUntitledFileCallback, or NULL to unset.

[nullable]

Since: 6.2

tepl_file_get_newline_type ()

TeplNewlineType
tepl_file_get_newline_type (TeplFile *file);

Parameters

file

a TeplFile.

 

Returns

the value of the “newline-type” property.

Since: 1.0

tepl_file_set_mount_operation_factory ()

void
tepl_file_set_mount_operation_factory (TeplFile *file,
                                       TeplMountOperationFactory callback,
                                       gpointer user_data,
                                       GDestroyNotify notify);

Sets a TeplMountOperationFactory function that will be called when a GMountOperation must be created. This is useful for creating a GtkMountOperation with the parent GtkWindow.

If a mount operation factory isn't set, g_mount_operation_new() will be called.

Parameters

file

a TeplFile.

 

callback

a TeplMountOperationFactory to call when a GMountOperation is needed.

[scope notified]

user_data

the data to pass to the callback function.

[closure]

notify

function to call on user_data when the callback is no longer needed, or NULL.

[nullable]

Since: 1.0

tepl_file_add_uri_to_recent_manager ()

void
tepl_file_add_uri_to_recent_manager (TeplFile *file);

If the “location” isn't NULL, adds its URI to the default GtkRecentManager with gtk_recent_manager_add_item().

Parameters

file

a TeplFile.

 

Since: 4.0

Types and Values

struct TeplFile

struct TeplFile;

enum TeplNewlineType

Members

TEPL_NEWLINE_TYPE_LF

line feed, used on UNIX.

 

TEPL_NEWLINE_TYPE_CR

carriage return, used on Mac.

 

TEPL_NEWLINE_TYPE_CR_LF

carriage return followed by a line feed, used on Windows.

 

Since: 1.0

TEPL_NEWLINE_TYPE_DEFAULT

#define TEPL_NEWLINE_TYPE_DEFAULT TEPL_NEWLINE_TYPE_CR_LF

The default newline type on the current OS.

Since: 1.0

Property Details

The “location” property

  “location”                 GFile *

The location.

Owner: TeplFile

Flags: Read / Write / Construct

Since: 1.0

The “newline-type” property

  “newline-type”             TeplNewlineType

The line ending type.

Owner: TeplFile

Flags: Read

Default value: TEPL_NEWLINE_TYPE_CR_LF

Since: 1.0

The “short-name” property

  “short-name”               char *

The file short name.

When the “location” is NULL, this property contains by default "Untitled File N" (translated), with N the Nth untitled file of the application, starting at 1. When an untitled file is closed (when the TeplFile is freed) or its “location” is set, its untitled number is released and can be used by a later file.

See tepl_file_set_untitled_file_callback() to customize the string. Other examples: "Unsaved" instead of "Untitled", or "Document" instead of "File".

When the “location” is not NULL, this property contains the display-name (see G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME). However, requesting the display-name can take some time (for example for a remote file with a slow network connection). When the “location” property is set, the display-name is fetched asynchronously. When the display-name is available, this property is notified. In the meantime – after the “location” is set but before receiving the display-name – a fallback implementation is used that does no blocking I/O (but it may return a different result compared to the real display-name).

Owner: TeplFile

Flags: Read

Default value: NULL

Since: 1.0

See Also

TeplFileLoader, TeplFileSaver