## BurnerTrackDataCfg

BurnerTrackDataCfg

## Functions

BurnerTrackDataCfg * | burner_track_data_cfg_new ()
gboolean | burner_track_data_cfg_add ()
GtkTreePath * | burner_track_data_cfg_add_empty_directory ()
gboolean | burner_track_data_cfg_remove ()
gboolean | burner_track_data_cfg_rename ()
gboolean | burner_track_data_cfg_reset ()
gboolean | burner_track_data_cfg_load_medium ()
void | burner_track_data_cfg_unload_current_medium ()
BurnerMedium * | burner_track_data_cfg_get_current_medium ()
GSList * | burner_track_data_cfg_get_available_media ()
void | burner_track_data_cfg_dont_filter_uri ()
GSList * | burner_track_data_cfg_get_restored_list ()
void | burner_track_data_cfg_restore ()
GtkTreeModel * | burner_track_data_cfg_get_filtered_model ()
BurnerBurnResult | burner_track_data_cfg_span ()
BurnerBurnResult | burner_track_data_cfg_span_again ()
BurnerBurnResult | burner_track_data_cfg_span_possible ()
void | burner_track_data_cfg_span_stop ()
GIcon * | burner_track_data_cfg_get_icon ()
gchar * | burner_track_data_cfg_get_icon_path ()
gboolean | burner_track_data_cfg_set_icon ()

## Types and Values

#define | BURNER_DND_TARGET_DATA_TRACK_REFERENCE_LIST
enum | BurnerTrackDataCfgColumn
struct | BurnerTrackDataCfg

## Description

## Functions

### burner_track_data_cfg_new ()

    BurnerTrackDataCfg *
    burner_track_data_cfg_new (void);

Creates a new BurnerTrackDataCfg.

#### Returns

a new BurnerTrackDataCfg.

### burner_track_data_cfg_add ()

    gboolean
    burner_track_data_cfg_add (BurnerTrackDataCfg *track,
                               const gchar *uri,
                               GtkTreePath *parent);

Add a new file (with `uri` as URI) under a directory (`parent` ). If `parent` is NULL, the file is added to the root. Also if `uri` is the path of a directory, this directory will be explored and all its children added to the tree.

#### Parameters

track | a BurnerTrackDataCfg |
uri | a gchar |
parent | a GtkTreePath or NULL |

#### Returns

a gboolean. TRUE if the operation was successful, FALSE otherwise

### burner_track_data_cfg_add_empty_directory ()

    GtkTreePath *
    burner_track_data_cfg_add_empty_directory
                                   (BurnerTrackDataCfg *track,
                                    const gchar *name,
                                    GtkTreePath *parent);

Add a new empty directory (with `name` as name) under another directory (`parent` ). If `parent` is NULL, the file is added to the root.

#### Parameters

track | a BurnerTrackDataCfg |
name | a gchar |
parent | a GtkTreePath or NULL |

#### Returns

a GtkTreePath which should be destroyed when not needed; NULL if the operation was not successful.

### burner_track_data_cfg_remove ()

    gboolean
    burner_track_data_cfg_remove (BurnerTrackDataCfg *track,
                                  GtkTreePath *treepath);

Removes a file or a directory (as well as its children) from the tree. NOTE: some files cannot be removed like files from an imported session.

#### Parameters

track | a BurnerTrackDataCfg |
treepath | a GtkTreePath |

#### Returns

a gboolean. TRUE if the operation was successful, FALSE otherwise

### burner_track_data_cfg_rename ()

    gboolean
    burner_track_data_cfg_rename (BurnerTrackDataCfg *track,
                                  const gchar *newname,
                                  GtkTreePath *treepath);

Renames the file in the tree pointed by `treepath` .

#### Parameters

track | a BurnerTrackDataCfg |
newname | a gchar |
treepath | a GtkTreePath |

#### Returns

a gboolean. TRUE if the operation was successful, FALSE otherwise

### burner_track_data_cfg_reset ()

    gboolean
    burner_track_data_cfg_reset (BurnerTrackDataCfg *track);

Completely empties `track` and unloads any currently loaded session

#### Parameters

track | a BurnerTrackDataCfg |

#### Returns

a gboolean. TRUE if the operation was successful, FALSE otherwise

### burner_track_data_cfg_load_medium ()

    gboolean
    burner_track_data_cfg_load_medium (BurnerTrackDataCfg *track,
                                       BurnerMedium *medium,
                                       GError **error);

Tries to load the contents of the last session of `medium` so all its files will be included in the tree to perform a merge between files from the session and new added files. Errors are stored in `error` .

#### Parameters

track | a BurnerTrackDataCfg |
medium | a BurnerMedium |
error | a GError |

#### Returns

a gboolean. TRUE if the operation was successful, FALSE otherwise

### burner_track_data_cfg_unload_current_medium ()

    void
    burner_track_data_cfg_unload_current_medium
                                   (BurnerTrackDataCfg *track);

Unload the contents of the last session of the currently loaded medium. See `burner_track_data_cfg_load_medium()`.

#### Parameters

track | a BurnerTrackDataCfg |

### burner_track_data_cfg_get_current_medium ()

    BurnerMedium *
    burner_track_data_cfg_get_current_medium
                                   (BurnerTrackDataCfg *track);

Gets the currently loaded medium.

#### Parameters

track | a BurnerTrackDataCfg |

#### Returns

a BurnerMedium. NULL if no medium are currently loaded. Do not unref when the BurnerMedium is not needed anymore.

### burner_track_data_cfg_get_available_media ()

    GSList *
    burner_track_data_cfg_get_available_media
                                   (BurnerTrackDataCfg *track);

Gets a list of all the media that can be appended with new data and which have a session that can be loaded.

#### Parameters

track | a BurnerTrackDataCfg |

#### Returns

a GSList of BurnerMedium. Free the list and unref its contents when the list is not needed anymore.

### burner_track_data_cfg_dont_filter_uri ()

    void
    burner_track_data_cfg_dont_filter_uri (BurnerTrackDataCfg *track,
                                           const gchar *uri);

Prevents `uri` to be filtered while automatic exploration of added directories is performed.

#### Parameters

track | a BurnerTrackDataCfg |
uri | a gchar |

### burner_track_data_cfg_get_restored_list ()

    GSList *
    burner_track_data_cfg_get_restored_list
                                   (BurnerTrackDataCfg *track);

Gets a list of URIs (as gchar *) that were restored with `burner_track_data_cfg_restore()`.

#### Parameters

track | a BurnerTrackDataCfg |

#### Returns

a GSList; free the list and its contents when not needed anymore.

### burner_track_data_cfg_restore ()

    void
    burner_track_data_cfg_restore (BurnerTrackDataCfg *track,
                                   GtkTreePath *treepath);

Removes a file from the filtered file list (see `burner_track_data_cfg_get_filtered_model()`) and re-adds it wherever it should be in the tree. `treepath` is a GtkTreePath associated with the GtkTreeModel which holds the filtered files not the main tree.

#### Parameters

track | a BurnerTrackDataCfg |
treepath | a GtkTreePath |

### burner_track_data_cfg_get_filtered_model ()

    GtkTreeModel *
    burner_track_data_cfg_get_filtered_model
                                   (BurnerTrackDataCfg *track);

Gets a GtkTreeModel which contains all the files that were automatically filtered while added directories were explored.

#### Parameters

track | a BurnerTrackDataCfg |

#### Returns

a GtkTreeModel. Unref when not needed.

### burner_track_data_cfg_span ()

    BurnerBurnResult
    burner_track_data_cfg_span (BurnerTrackDataCfg *track,
                                goffset sectors,
                                BurnerTrackData *new_track);

Creates a new BurnerTrackData (stored in `new_track` ) from the files contained in `track` . The sum of their sizes does not exceed `sectors` . This allows one to burn a tree on multiple discs. This function can be called repeatedly; in this case if some files were left out after the previous calls, the newly created BurnerTrackData is created with all or part of the remaining files.

#### Parameters

track | a BurnerTrackDataCfg |
sectors | a goffset |
new_track | a BurnerTrackData |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if there is not anymore data. BURNER_BURN_RETRY if the operation was successful and a new BurnerTrackDataCfg was created. BURNER_BURN_ERR otherwise.

### burner_track_data_cfg_span_again ()

    BurnerBurnResult
    burner_track_data_cfg_span_again (BurnerTrackDataCfg *track);

Checks whether some files were not included during calls to `burner_track_data_cfg_span()`.

#### Parameters

track | a BurnerTrackDataCfg |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if there is not anymore data. BURNER_BURN_RETRY if the operation was successful and a new BurnerTrackDataCfg was created. BURNER_BURN_ERR otherwise.

### burner_track_data_cfg_span_possible ()

    BurnerBurnResult
    burner_track_data_cfg_span_possible (BurnerTrackDataCfg *track,
                                         goffset sectors);

Checks if a new BurnerTrackData can be created from the files remaining in the tree after calls to `burner_track_data_cfg_span()`.

#### Parameters

track | a BurnerTrackDataCfg |
sectors | a goffset |

#### Returns

a BurnerBurnResult. BURNER_BURN_OK if there is not anymore data. BURNER_BURN_RETRY if the operation was successful and a new BurnerTrackDataCfg was created. BURNER_BURN_ERR otherwise.

### burner_track_data_cfg_span_stop ()

    void
    burner_track_data_cfg_span_stop (BurnerTrackDataCfg *track);

Resets the list of files that were included after calls to `burner_track_data_cfg_span()`.

#### Parameters

track | a BurnerTrackDataCfg |

### burner_track_data_cfg_get_icon ()

    GIcon *
    burner_track_data_cfg_get_icon (BurnerTrackDataCfg *track);

Returns the currently selected icon.

#### Parameters

track | a BurnerTrackDataCfg |

#### Returns

a GIcon or NULL.

### burner_track_data_cfg_get_icon_path ()

    gchar *
    burner_track_data_cfg_get_icon_path (BurnerTrackDataCfg *track);

Returns a path pointing to the currently selected icon file.

#### Parameters

track | a BurnerTrackDataCfg |

#### Returns

a gchar or NULL.

### burner_track_data_cfg_set_icon ()

    gboolean
    burner_track_data_cfg_set_icon (BurnerTrackDataCfg *track,
                                    const gchar *icon_path,
                                    GError **error);

Sets the current icon.

#### Parameters

track | a BurnerTrackDataCfg |
icon_path | a gchar |
error | a GError |

#### Returns

a gboolean. TRUE if the operation was successful, FALSE otherwise

## Types and Values

### BURNER_DND_TARGET_DATA_TRACK_REFERENCE_LIST

    #define BURNER_DND_TARGET_DATA_TRACK_REFERENCE_LIST "GTK_TREE_MODEL_ROW"

### enum BurnerTrackDataCfgColumn

#### Members

BURNER_DATA_TREE_MODEL_NAME |  |
BURNER_DATA_TREE_MODEL_URI |  |
BURNER_DATA_TREE_MODEL_MIME_DESC |  |
BURNER_DATA_TREE_MODEL_MIME_ICON |  |
BURNER_DATA_TREE_MODEL_SIZE |  |
BURNER_DATA_TREE_MODEL_SHOW_PERCENT |  |
BURNER_DATA_TREE_MODEL_PERCENT |  |
BURNER_DATA_TREE_MODEL_STYLE |  |
BURNER_DATA_TREE_MODEL_COLOR |  |
BURNER_DATA_TREE_MODEL_EDITABLE |  |
BURNER_DATA_TREE_MODEL_IS_FILE |  |
BURNER_DATA_TREE_MODEL_IS_LOADING |  |
BURNER_DATA_TREE_MODEL_IS_IMPORTED |  |
BURNER_DATA_TREE_MODEL_COL_NUM |  |

### struct BurnerTrackDataCfg

    struct BurnerTrackDataCfg {
    	BurnerTrackData parent_instance;
    };