## ThunarNavigator

ThunarNavigator

## Functions

ThunarFile * | thunar_navigator_get_current_directory ()
void | thunar_navigator_set_current_directory ()
void | thunar_navigator_change_directory ()
void | thunar_navigator_open_new_tab ()

## Properties

ThunarFile * | current-directory | Read / Write

## Signals

void | change-directory | Run Last
void | open-new-tab | Run Last

## Object Hierarchy

        GInterface
        ╰── ThunarNavigator

## Description

## Functions

### thunar_navigator_get_current_directory ()

    ThunarFile *
    thunar_navigator_get_current_directory
                                   (ThunarNavigator *navigator);

Returns the directory currently displayed by `navigator` or `NULL`, if `navigator` does not currently display and directory.

#### Parameters

navigator | a ThunarNavigator instance. |

#### Returns

the current directory of `navigator` or `NULL`.

### thunar_navigator_set_current_directory ()

    void
    thunar_navigator_set_current_directory
                                   (ThunarNavigator *navigator,
                                    ThunarFile *current_directory);

Sets a new current directory that should be displayed by the `navigator` .

#### Parameters

navigator | a ThunarNavigator instance. |
current_directory | the new directory to display or `NULL`. |

### thunar_navigator_change_directory ()

    void
    thunar_navigator_change_directory (ThunarNavigator *navigator,
                                       ThunarFile *directory);

Emits the "change-directory" signal on `navigator` with the specified `directory` .

Derived classes should invoke this method whenever the user selects a new directory from within `navigator` . The derived class should not perform any directory changing operations itself, but leave it up to the surrounding module (usually a ThunarWindow instance) to change the directory.

It should never ever be called from outside a ThunarNavigator implementation, as that may led to unexpected results!

#### Parameters

navigator | a ThunarNavigator instance. |
directory | a ThunarFile referring to a directory. |

### thunar_navigator_open_new_tab ()

    void
    thunar_navigator_open_new_tab (ThunarNavigator *navigator,
                                   ThunarFile *directory);

## Property Details

### The `“current-directory”` property

      “current-directory”        ThunarFile *

The directory currently displayed by this ThunarNavigator instance or `NULL` if no directory is currently displayed (it's up to the implementing class to define the appearance of a navigator that has no directory associated with it).

Whenever a navigator wants the surrounding module (usually a ThunarWindow) to change to another directory, it should invoke the "change-directory" signal using the `thunar_navigator_change_directory()` method. It should not directly change the "current-directory" property, but wait for the surrounding module to change the "current-directory" property afterwards.

Owner: ThunarNavigator

Flags: Read / Write

## Signal Details

### The `“change-directory”` signal

    void
    user_function (ThunarNavigator *navigator,
                   ThunarFile      *directory,
                   gpointer         user_data)

Invoked by implementing classes whenever the user requests to changed the current directory to `directory` from within the `navigator` instance (e.g. for the location buttons bar, this signal would be invoked whenever the user clicks on a path button).

The `navigator` must not apply the `directory` to the "current-directory" property directly. But instead, it must wait for the surrounding module (usually a ThunarWindow instance) to explicitly inform the `navigator` to change it's current directory using the `thunar_navigator_set_current_directory()` method or the "current-directory" property.

#### Parameters

navigator | a ThunarNavigator instance. |
directory | a ThunarFile referring to the new directory. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“open-new-tab”` signal

    void
    user_function (ThunarNavigator *thunarnavigator,
                   ThunarFile      *arg1,
                   gpointer         user_data)

Flags: Run Last