## TotemVideoList TotemVideoList — a GtkTreeView widget for listing videos |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <totem-video-list.h>

                        TotemVideoList;
                        TotemVideoListClass;
    TotemVideoList *    totem_video_list_new                (void);
    GtkUIManager *      totem_video_list_get_ui_manager     (TotemVideoList *self);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkTreeView
                               +----TotemVideoList

## Implemented Interfaces

TotemVideoList implements AtkImplementorIface, GtkBuildable and GtkScrollable.

## Properties

      "mrl-column"               gint                  : Read / Write
      "show-tooltip-uri"         gboolean              : Read / Write
      "tooltip-column"           gint                  : Read / Write
      "totem"                    TotemObject*          : Read / Write

## Signals

      "starting-video"                                 : Run Last

## Description

TotemVideoList is a GtkTreeView designed for listing videos by their thumbnails using TotemCellRendererVideo. It supports tooltips, loading the videos by activating tree view rows, and GtkUIManager actions in the popup menu.

Note that it requires "totem" to be set to an instance of TotemObject to work.

## Details

### TotemVideoList

    typedef struct _TotemVideoList TotemVideoList;

All the fields in the TotemVideoList structure are private and should never be accessed directly.

### TotemVideoListClass

    typedef struct {
    	GtkTreeViewClass parent;
    	gboolean (*starting_video) (TotemVideoList *video_list, GtkTreePath *path);
    } TotemVideoListClass;

The class structure for the TotemVideoList type.

GtkTreeViewClass `parent`; | the parent class
`starting_video` () | the generic signal handler for the "starting-video" signal, which can be overridden by inheriting classes

### totem_video_list_new ()

    TotemVideoList *    totem_video_list_new                (void);

Creates a new TotemVideoList with default properties.

Returns : | a new TotemVideoList

### totem_video_list_get_ui_manager ()

    GtkUIManager *      totem_video_list_get_ui_manager     (TotemVideoList *self);

Returns the GtkUIManager in use by `self`.

`self` : | a TotemVideoList
Returns : | `self`'s GtkUIManager. [transfer none]

## Property Details

### The `"mrl-column"` property

      "mrl-column"               gint                  : Read / Write

The column number of the GtkTreeModel column containing MRLs of the videos in the video list. If it's set to -1, video rows will not be activatable (e.g. by double-clicking them).

Allowed values: >= G_MAXULONG

Default value: -1

### The `"show-tooltip-uri"` property

      "show-tooltip-uri"         gboolean              : Read / Write

If this is `TRUE`, the URI of each video will be displayed in the tooltip for that video (or a message saying "No video URI" will be displayed if the URI is unset); otherwise, the tooltip will only display the video name.

Default value: TRUE

Since 2.90.6

### The `"tooltip-column"` property

      "tooltip-column"           gint                  : Read / Write

The column number of the GtkTreeModel column containing tooltips to be displayed by the video list. If it's set to -1, no tooltips shall be displayed.

Allowed values: >= G_MAXULONG

Default value: -1

### The `"totem"` property

      "totem"                    TotemObject*          : Read / Write

A TotemObject for integration purposes.

## Signal Details

### The `"starting-video"` signal

    gboolean            user_function                      (TotemVideoList *video_list,
                                                            GtkTreePath    *tree_path,
                                                            gpointer        user_data)       : Run Last

The "starting-video" signal is emitted when a video row is activated, just before the video is added to the playlist. It allows for the video's MRL in the GtkTreeModel to be modified, for example.

If this returns `TRUE`, the video will be played; otherwise, it will not.

`video_list` : | the TotemVideoList which received the signal
`tree_path` : | the GtkTreePath of the video row about to be played
`user_data` : | user data set when the signal handler was connected.

## See Also

TotemCellRendererVideo