TeplFile

TeplFile — On-disk representation of a TeplBuffer

Functions

Properties

char * full-name Read
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

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().

Since: 5.0


tepl_file_get_full_name ()

gchar *
tepl_file_get_full_name (TeplFile *file);

Parameters

file

a TeplFile.

 

Returns

the value of the “full-name” property. Free with g_free().

Since: 6.4


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 “full-name” property

  “full-name”                char *

Convenience property for the full name of a TeplFile.

When the “location” is NULL, this property has the same value as the “short-name”.

When the “location” is not NULL, this property contains the full path to the location. It uses:

  • g_file_get_parse_name()

  • tepl_utils_replace_home_dir_with_tilde()

Owner: TeplFile

Flags: Read

Default value: NULL


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_LF

Since: 1.0


The “short-name” property

  “short-name”               char *

The file short name.

When the “location” is NULL, the default instance of GflsUnsavedDocumentTitles is used to get a title.

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