## RBStatusbar

RBStatusbar — status bar widget

## Synopsis

                        RBStatusbar;
                        RBStatusbarClass;
    RBStatusbar *       rb_statusbar_new                    (RhythmDB *db,
                                                             GtkUIManager *ui_manager);
    void                rb_statusbar_set_source             (RBStatusbar *statusbar,
                                                             RBSource *source);
    void                rb_statusbar_set_progress           (RBStatusbar *statusbar,
                                                             double progress,
                                                             const char *text);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBox
                                     +----GtkHBox
                                           +----GtkStatusbar
                                                 +----RBStatusbar

## Implemented Interfaces

RBStatusbar implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Properties

      "db"                       RhythmDB*             : Read / Write
      "source"                   RBSource*             : Read / Write
      "ui-manager"               GtkUIManager*         : Read / Write / Construct Only

## Description

The status bar is displayed at the bottom of the main window. It consists of some status text and a progress bar.

The status text usually comes from the selected source, and typically shows the number of songs, the total duration and the total file size. When a menu is open, however, the status text shows the description of the currently selected menu item.

The progress bar shows progress information from a variety of sources. The source that is currently selected in the source list can provide progress information, such as buffering feedback, track transfer status, or progress for updating a song catalog. If the source does not provide status information and the database is busy (loading the database from disk, processing a query, etc.) the progress bar will be pulsed periodically.

## Details

### RBStatusbar

    typedef struct _RBStatusbar RBStatusbar;

### RBStatusbarClass

    typedef struct {
    	GtkStatusbarClass parent_class;
    } RBStatusbarClass;

### rb_statusbar_new ()

    RBStatusbar *       rb_statusbar_new                    (RhythmDB *db,
                                                             GtkUIManager *ui_manager);

Creates the status bar widget.

`db` : | the RhythmDB instance
`ui_manager` : | the GtkUIManager
Returns : | the status bar widget

### rb_statusbar_set_source ()

    void                rb_statusbar_set_source             (RBStatusbar *statusbar,
                                                             RBSource *source);

Updates the status bar for a newly selected source.

`statusbar` : | the RBStatusbar
`source` : | the new selected RBSource

### rb_statusbar_set_progress ()

    void                rb_statusbar_set_progress           (RBStatusbar *statusbar,
                                                             double progress,
                                                             const char *text);

Updates the progress bar widget. If the progress fraction is less than zero, the progress bar is hidden.

`statusbar` : | the RBStatusbar
`progress` : | progress fraction
`text` : | text to display on the progress bar

## Property Details

### The `"db"` property

      "db"                       RhythmDB*             : Read / Write

The RhythmDB instance

### The `"source"` property

      "source"                   RBSource*             : Read / Write

The currently selected RBSource

### The `"ui-manager"` property

      "ui-manager"               GtkUIManager*         : Read / Write / Construct Only

The GtkUIManager instance