[gnome-control-center] sound: Use G_DEFINE_TYPE



commit 43129a1cfd30374c3ff45c54eae9ee5cd68ae1b6
Author: Robert Ancell <robert ancell canonical com>
Date:   Tue Sep 26 21:09:45 2017 -0400

    sound: Use G_DEFINE_TYPE

 panels/sound/cc-sound-panel.c          |    8 +
 panels/sound/cc-sound-panel.h          |   26 +--
 panels/sound/gvc-balance-bar.c         |  150 +++++-----
 panels/sound/gvc-balance-bar.h         |   23 +--
 panels/sound/gvc-channel-bar.c         |  405 +++++++++++++-------------
 panels/sound/gvc-channel-bar.h         |   23 +--
 panels/sound/gvc-combo-box.c           |  124 ++++----
 panels/sound/gvc-combo-box.h           |   25 +--
 panels/sound/gvc-level-bar.c           |  224 +++++++--------
 panels/sound/gvc-level-bar.h           |   23 +--
 panels/sound/gvc-mixer-dialog.c        |  499 ++++++++++++++++----------------
 panels/sound/gvc-mixer-dialog.h        |   23 +--
 panels/sound/gvc-sound-theme-chooser.c |   82 +++---
 panels/sound/gvc-sound-theme-chooser.h |   23 +--
 panels/sound/gvc-speaker-test.c        |   58 ++--
 panels/sound/gvc-speaker-test.h        |   23 +--
 16 files changed, 780 insertions(+), 959 deletions(-)
---
diff --git a/panels/sound/cc-sound-panel.c b/panels/sound/cc-sound-panel.c
index d715e9a..2d73f1b 100644
--- a/panels/sound/cc-sound-panel.c
+++ b/panels/sound/cc-sound-panel.c
@@ -32,6 +32,14 @@
 #include "cc-sound-panel.h"
 #include "gvc-mixer-dialog.h"
 
+struct _CcSoundPanel {
+       CcPanel parent_instance;
+
+       GvcMixerControl *control;
+       GvcMixerDialog  *dialog;
+       GtkWidget       *connecting_label;
+};
+
 CC_PANEL_REGISTER (CcSoundPanel, cc_sound_panel)
 
 enum {
diff --git a/panels/sound/cc-sound-panel.h b/panels/sound/cc-sound-panel.h
index 1fb21b5..dd72ef9 100644
--- a/panels/sound/cc-sound-panel.h
+++ b/panels/sound/cc-sound-panel.h
@@ -25,30 +25,8 @@
 
 G_BEGIN_DECLS
 
-#define CC_TYPE_SOUND_PANEL cc_sound_panel_get_type()
-#define CC_SOUND_PANEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CC_TYPE_SOUND_PANEL, CcSoundPanel))
-#define CC_SOUND_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CC_TYPE_SOUND_PANEL, 
CcSoundPanelClass))
-#define CC_IS_SOUND_PANEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CC_TYPE_SOUND_PANEL))
-#define CC_IS_SOUND_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CC_TYPE_SOUND_PANEL))
-#define CC_SOUND_PANEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CC_TYPE_SOUND_PANEL, 
CcSoundPanelClass))
-
-typedef struct _CcSoundPanel CcSoundPanel;
-typedef struct _CcSoundPanelClass CcSoundPanelClass;
-typedef struct _CcSoundPanelPrivate CcSoundPanelPrivate;
-
-struct _CcSoundPanel {
-       CcPanel parent;
-
-       GvcMixerControl *control;
-       GvcMixerDialog  *dialog;
-       GtkWidget       *connecting_label;
-};
-
-struct _CcSoundPanelClass {
-       CcPanelClass parent_class;
-};
-
-GType cc_sound_panel_get_type (void) G_GNUC_CONST;
+#define CC_TYPE_SOUND_PANEL (cc_sound_panel_get_type ())
+G_DECLARE_FINAL_TYPE (CcSoundPanel, cc_sound_panel, CC, SOUND_PANEL, CcPanel)
 
 G_END_DECLS
 
diff --git a/panels/sound/gvc-balance-bar.c b/panels/sound/gvc-balance-bar.c
index 3933fd9..5a9a45b 100644
--- a/panels/sound/gvc-balance-bar.c
+++ b/panels/sound/gvc-balance-bar.c
@@ -35,10 +35,10 @@
 #define SCALE_SIZE 128
 #define ADJUSTMENT_MAX_NORMAL 65536.0 /* PA_VOLUME_NORM */
 
-#define GVC_BALANCE_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GVC_TYPE_BALANCE_BAR, 
GvcBalanceBarPrivate))
-
-struct GvcBalanceBarPrivate
+struct _GvcBalanceBar
 {
+        GtkBox         parent_instance;
+
         GvcChannelMap *channel_map;
         GvcBalanceType btype;
         GtkWidget     *scale_box;
@@ -80,27 +80,26 @@ G_DEFINE_TYPE (GvcBalanceBar, gvc_balance_bar, GTK_TYPE_BOX)
 static GtkWidget *
 _scale_box_new (GvcBalanceBar *bar)
 {
-        GvcBalanceBarPrivate *priv = bar->priv;
         GtkWidget            *box;
         GtkWidget            *sbox;
         GtkWidget            *ebox;
-        GtkAdjustment        *adjustment = bar->priv->adjustment;
+        GtkAdjustment        *adjustment = bar->adjustment;
         char                 *str_lower, *str_upper;
         gdouble              lower, upper;
 
-        bar->priv->scale_box = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
-        priv->scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, priv->adjustment);
-        gtk_scale_set_has_origin (GTK_SCALE (priv->scale), FALSE);
-        gtk_widget_set_size_request (priv->scale, SCALE_SIZE, -1);
+        bar->scale_box = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+        bar->scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, bar->adjustment);
+        gtk_scale_set_has_origin (GTK_SCALE (bar->scale), FALSE);
+        gtk_widget_set_size_request (bar->scale, SCALE_SIZE, -1);
 
-        bar->priv->start_box = sbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+        bar->start_box = sbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
         gtk_box_pack_start (GTK_BOX (box), sbox, FALSE, FALSE, 0);
 
-        gtk_box_pack_start (GTK_BOX (sbox), priv->label, FALSE, FALSE, 0);
+        gtk_box_pack_start (GTK_BOX (sbox), bar->label, FALSE, FALSE, 0);
 
-        gtk_box_pack_start (GTK_BOX (box), priv->scale, TRUE, TRUE, 0);
+        gtk_box_pack_start (GTK_BOX (box), bar->scale, TRUE, TRUE, 0);
 
-        switch (bar->priv->btype) {
+        switch (bar->btype) {
         case BALANCE_TYPE_RL:
                 str_lower = g_strdup_printf ("<small>%s</small>", C_("balance", "Left"));
                 str_upper = g_strdup_printf ("<small>%s</small>", C_("balance", "Right"));
@@ -118,42 +117,42 @@ _scale_box_new (GvcBalanceBar *bar)
         }
 
         lower = gtk_adjustment_get_lower (adjustment);
-        gtk_scale_add_mark (GTK_SCALE (priv->scale), lower,
+        gtk_scale_add_mark (GTK_SCALE (bar->scale), lower,
                             GTK_POS_BOTTOM, str_lower);
         g_free (str_lower);
         upper = gtk_adjustment_get_upper (adjustment);
-        gtk_scale_add_mark (GTK_SCALE (priv->scale), upper,
+        gtk_scale_add_mark (GTK_SCALE (bar->scale), upper,
                             GTK_POS_BOTTOM, str_upper);
         g_free (str_upper);
 
-        if (bar->priv->btype != BALANCE_TYPE_LFE) {
-                gtk_scale_add_mark (GTK_SCALE (priv->scale),
+        if (bar->btype != BALANCE_TYPE_LFE) {
+                gtk_scale_add_mark (GTK_SCALE (bar->scale),
                                     (upper - lower)/2 + lower,
                                     GTK_POS_BOTTOM, NULL);
         }
 
-        bar->priv->end_box = ebox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+        bar->end_box = ebox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
         gtk_box_pack_start (GTK_BOX (box), ebox, FALSE, FALSE, 0);
 
-        ca_gtk_widget_disable_sounds (bar->priv->scale, FALSE);
-        gtk_widget_add_events (bar->priv->scale, GDK_SCROLL_MASK);
+        ca_gtk_widget_disable_sounds (bar->scale, FALSE);
+        gtk_widget_add_events (bar->scale, GDK_SCROLL_MASK);
 
-        g_signal_connect (G_OBJECT (bar->priv->scale), "button-press-event",
+        g_signal_connect (G_OBJECT (bar->scale), "button-press-event",
                           G_CALLBACK (on_scale_button_press_event), bar);
-        g_signal_connect (G_OBJECT (bar->priv->scale), "button-release-event",
+        g_signal_connect (G_OBJECT (bar->scale), "button-release-event",
                           G_CALLBACK (on_scale_button_release_event), bar);
-        g_signal_connect (G_OBJECT (bar->priv->scale), "scroll-event",
+        g_signal_connect (G_OBJECT (bar->scale), "scroll-event",
                           G_CALLBACK (on_scale_scroll_event), bar);
 
-        if (bar->priv->size_group != NULL) {
-                gtk_size_group_add_widget (bar->priv->size_group, sbox);
+        if (bar->size_group != NULL) {
+                gtk_size_group_add_widget (bar->size_group, sbox);
 
-                if (bar->priv->symmetric) {
-                        gtk_size_group_add_widget (bar->priv->size_group, ebox);
+                if (bar->symmetric) {
+                        gtk_size_group_add_widget (bar->size_group, ebox);
                 }
         }
 
-        gtk_scale_set_draw_value (GTK_SCALE (priv->scale), FALSE);
+        gtk_scale_set_draw_value (GTK_SCALE (bar->scale), FALSE);
 
         return box;
 }
@@ -165,16 +164,16 @@ gvc_balance_bar_set_size_group (GvcBalanceBar *bar,
 {
         g_return_if_fail (GVC_IS_BALANCE_BAR (bar));
 
-        bar->priv->size_group = group;
-        bar->priv->symmetric = symmetric;
+        bar->size_group = group;
+        bar->symmetric = symmetric;
 
-        if (bar->priv->size_group != NULL) {
-                gtk_size_group_add_widget (bar->priv->size_group,
-                                           bar->priv->start_box);
+        if (bar->size_group != NULL) {
+                gtk_size_group_add_widget (bar->size_group,
+                                           bar->start_box);
 
-                if (bar->priv->symmetric) {
-                        gtk_size_group_add_widget (bar->priv->size_group,
-                                                   bar->priv->end_box);
+                if (bar->symmetric) {
+                        gtk_size_group_add_widget (bar->size_group,
+                                                   bar->end_box);
                 }
         }
         gtk_widget_queue_draw (GTK_WIDGET (bar));
@@ -204,10 +203,10 @@ update_level_from_map (GvcBalanceBar *bar,
         const gdouble *volumes;
         gdouble val;
 
-        g_debug ("Volume changed (for %s bar)", btype_to_string (bar->priv->btype));
+        g_debug ("Volume changed (for %s bar)", btype_to_string (bar->btype));
 
         volumes = gvc_channel_map_get_volume (map);
-        switch (bar->priv->btype) {
+        switch (bar->btype) {
         case BALANCE_TYPE_RL:
                 val = volumes[BALANCE];
                 break;
@@ -221,7 +220,7 @@ update_level_from_map (GvcBalanceBar *bar,
                 g_assert_not_reached ();
         }
 
-        gtk_adjustment_set_value (bar->priv->adjustment, val);
+        gtk_adjustment_set_value (bar->adjustment, val);
 }
 
 static void
@@ -238,12 +237,12 @@ gvc_balance_bar_set_channel_map (GvcBalanceBar *bar,
 {
         g_return_if_fail (GVC_BALANCE_BAR (bar));
 
-        if (bar->priv->channel_map != NULL) {
-                g_signal_handlers_disconnect_by_func (G_OBJECT (bar->priv->channel_map),
+        if (bar->channel_map != NULL) {
+                g_signal_handlers_disconnect_by_func (G_OBJECT (bar->channel_map),
                                                       on_channel_map_volume_changed, bar);
-                g_object_unref (bar->priv->channel_map);
+                g_object_unref (bar->channel_map);
         }
-        bar->priv->channel_map = g_object_ref (map);
+        bar->channel_map = g_object_ref (map);
 
         update_level_from_map (bar, map);
 
@@ -261,16 +260,16 @@ gvc_balance_bar_set_balance_type (GvcBalanceBar *bar,
 
         g_return_if_fail (GVC_BALANCE_BAR (bar));
 
-        bar->priv->btype = btype;
-        if (bar->priv->btype != BALANCE_TYPE_LFE) {
-                bar->priv->adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
+        bar->btype = btype;
+        if (bar->btype != BALANCE_TYPE_LFE) {
+                bar->adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
                                                                             -1.0,
                                                                             1.0,
                                                                             0.5,
                                                                             0.5,
                                                                             0.0));
         } else {
-                bar->priv->adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
+                bar->adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
                                                                             0.0,
                                                                             ADJUSTMENT_MAX_NORMAL,
                                                                             ADJUSTMENT_MAX_NORMAL/100.0,
@@ -278,27 +277,27 @@ gvc_balance_bar_set_balance_type (GvcBalanceBar *bar,
                                                                             0.0));
         }
 
-        g_object_ref_sink (bar->priv->adjustment);
-        g_signal_connect (bar->priv->adjustment,
+        g_object_ref_sink (bar->adjustment);
+        g_signal_connect (bar->adjustment,
                           "value-changed",
                           G_CALLBACK (on_adjustment_value_changed),
                           bar);
 
         switch (btype) {
         case BALANCE_TYPE_RL:
-                bar->priv->label = gtk_label_new_with_mnemonic (_("_Balance:"));
+                bar->label = gtk_label_new_with_mnemonic (_("_Balance:"));
                 break;
         case BALANCE_TYPE_FR:
-                bar->priv->label = gtk_label_new_with_mnemonic (_("_Fade:"));
+                bar->label = gtk_label_new_with_mnemonic (_("_Fade:"));
                 break;
         case BALANCE_TYPE_LFE:
-                bar->priv->label = gtk_label_new_with_mnemonic (_("_Subwoofer:"));
+                bar->label = gtk_label_new_with_mnemonic (_("_Subwoofer:"));
                 break;
         default:
                 g_assert_not_reached ();
         }
-        gtk_widget_set_halign (bar->priv->label, GTK_ALIGN_START);
-        gtk_widget_set_valign (bar->priv->label, GTK_ALIGN_START);
+        gtk_widget_set_halign (bar->label, GTK_ALIGN_START);
+        gtk_widget_set_valign (bar->label, GTK_ALIGN_START);
 
         /* frame */
         frame = gtk_frame_new (NULL);
@@ -306,13 +305,13 @@ gvc_balance_bar_set_balance_type (GvcBalanceBar *bar,
         gtk_box_pack_start (GTK_BOX (bar), frame, TRUE, TRUE, 0);
 
         /* box with scale */
-        bar->priv->scale_box = _scale_box_new (bar);
-        gtk_container_add (GTK_CONTAINER (frame), bar->priv->scale_box);
+        bar->scale_box = _scale_box_new (bar);
+        gtk_container_add (GTK_CONTAINER (frame), bar->scale_box);
         gtk_widget_show_all (frame);
 
-        gtk_widget_set_direction (bar->priv->scale, GTK_TEXT_DIR_LTR);
-        gtk_label_set_mnemonic_widget (GTK_LABEL (bar->priv->label),
-                                       bar->priv->scale);
+        gtk_widget_set_direction (bar->scale, GTK_TEXT_DIR_LTR);
+        gtk_label_set_mnemonic_widget (GTK_LABEL (bar->label),
+                                       bar->scale);
 
         g_object_notify (G_OBJECT (bar), "balance-type");
 }
@@ -348,7 +347,7 @@ gvc_balance_bar_get_property (GObject     *object,
 
         switch (prop_id) {
         case PROP_CHANNEL_MAP:
-                g_value_set_object (value, self->priv->channel_map);
+                g_value_set_object (value, self->channel_map);
                 break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -388,8 +387,6 @@ gvc_balance_bar_class_init (GvcBalanceBarClass *klass)
                                                            "Whether the balance is right-left or front-rear",
                                                            BALANCE_TYPE_RL, NUM_BALANCE_TYPES - 1, 
BALANCE_TYPE_RL,
                                                            G_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY));
-
-        g_type_class_add_private (klass, sizeof (GvcBalanceBarPrivate));
 }
 
 
@@ -398,7 +395,7 @@ on_scale_button_press_event (GtkWidget      *widget,
                              GdkEventButton *event,
                              GvcBalanceBar  *bar)
 {
-        bar->priv->click_lock = TRUE;
+        bar->click_lock = TRUE;
 
         return FALSE;
 }
@@ -408,7 +405,7 @@ on_scale_button_release_event (GtkWidget      *widget,
                                GdkEventButton *event,
                                GvcBalanceBar  *bar)
 {
-        bar->priv->click_lock = FALSE;
+        bar->click_lock = FALSE;
 
         return FALSE;
 }
@@ -421,7 +418,7 @@ on_scale_scroll_event (GtkWidget      *widget,
         gdouble value;
         gdouble dx, dy;
 
-        value = gtk_adjustment_get_value (bar->priv->adjustment);
+        value = gtk_adjustment_get_value (bar->adjustment);
 
         if (!gdk_event_get_scroll_deltas ((GdkEvent*)event, &dx, &dy)) {
                 dx = 0.0;
@@ -441,7 +438,7 @@ on_scale_scroll_event (GtkWidget      *widget,
                 }
         }
 
-        if (bar->priv->btype == BALANCE_TYPE_LFE) {
+        if (bar->btype == BALANCE_TYPE_LFE) {
                 if (dy > 0) {
                         if (value + dy * ADJUSTMENT_MAX_NORMAL/100.0 > ADJUSTMENT_MAX_NORMAL)
                                 value = ADJUSTMENT_MAX_NORMAL;
@@ -466,7 +463,7 @@ on_scale_scroll_event (GtkWidget      *widget,
                                 value = value + dy * 0.01;
                 }
         }
-        gtk_adjustment_set_value (bar->priv->adjustment, value);
+        gtk_adjustment_set_value (bar->adjustment, value);
 
         return TRUE;
 }
@@ -479,15 +476,15 @@ on_adjustment_value_changed (GtkAdjustment *adjustment,
         pa_cvolume             cv;
         const pa_channel_map  *pa_map;
 
-        if (bar->priv->channel_map == NULL)
+        if (bar->channel_map == NULL)
                 return;
 
-        cv = *gvc_channel_map_get_cvolume (bar->priv->channel_map);
+        cv = *gvc_channel_map_get_cvolume (bar->channel_map);
         val = gtk_adjustment_get_value (adjustment);
 
-        pa_map = gvc_channel_map_get_pa_channel_map (bar->priv->channel_map);
+        pa_map = gvc_channel_map_get_pa_channel_map (bar->channel_map);
 
-        switch (bar->priv->btype) {
+        switch (bar->btype) {
         case BALANCE_TYPE_RL:
                 pa_cvolume_set_balance (&cv, pa_map, val);
                 break;
@@ -499,13 +496,12 @@ on_adjustment_value_changed (GtkAdjustment *adjustment,
                 break;
         }
 
-        gvc_channel_map_volume_changed (bar->priv->channel_map, &cv, TRUE);
+        gvc_channel_map_volume_changed (bar->channel_map, &cv, TRUE);
 }
 
 static void
 gvc_balance_bar_init (GvcBalanceBar *bar)
 {
-        bar->priv = GVC_BALANCE_BAR_GET_PRIVATE (bar);
 }
 
 static void
@@ -518,12 +514,12 @@ gvc_balance_bar_finalize (GObject *object)
 
         bar = GVC_BALANCE_BAR (object);
 
-        g_return_if_fail (bar->priv != NULL);
+        g_return_if_fail (bar != NULL);
 
-        if (bar->priv->channel_map != NULL) {
-                g_signal_handlers_disconnect_by_func (G_OBJECT (bar->priv->channel_map),
+        if (bar->channel_map != NULL) {
+                g_signal_handlers_disconnect_by_func (G_OBJECT (bar->channel_map),
                                                       on_channel_map_volume_changed, bar);
-                g_object_unref (bar->priv->channel_map);
+                g_object_unref (bar->channel_map);
         }
 
         G_OBJECT_CLASS (gvc_balance_bar_parent_class)->finalize (object);
diff --git a/panels/sound/gvc-balance-bar.h b/panels/sound/gvc-balance-bar.h
index f2204a3..4638b06 100644
--- a/panels/sound/gvc-balance-bar.h
+++ b/panels/sound/gvc-balance-bar.h
@@ -26,12 +26,8 @@
 
 G_BEGIN_DECLS
 
-#define GVC_TYPE_BALANCE_BAR         (gvc_balance_bar_get_type ())
-#define GVC_BALANCE_BAR(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GVC_TYPE_BALANCE_BAR, GvcBalanceBar))
-#define GVC_BALANCE_BAR_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GVC_TYPE_BALANCE_BAR, GvcBalanceBarClass))
-#define GVC_IS_BALANCE_BAR(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVC_TYPE_BALANCE_BAR))
-#define GVC_IS_BALANCE_BAR_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GVC_TYPE_BALANCE_BAR))
-#define GVC_BALANCE_BAR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVC_TYPE_BALANCE_BAR, 
GvcBalanceBarClass))
+#define GVC_TYPE_BALANCE_BAR (gvc_balance_bar_get_type ())
+G_DECLARE_FINAL_TYPE (GvcBalanceBar, gvc_balance_bar, GVC, BALANCE_BAR, GtkBox)
 
 typedef enum {
         BALANCE_TYPE_RL,
@@ -41,21 +37,6 @@ typedef enum {
 
 #define NUM_BALANCE_TYPES BALANCE_TYPE_LFE + 1
 
-typedef struct GvcBalanceBarPrivate GvcBalanceBarPrivate;
-
-typedef struct
-{
-        GtkBox                parent;
-        GvcBalanceBarPrivate *priv;
-} GvcBalanceBar;
-
-typedef struct
-{
-        GtkBoxClass           parent_class;
-} GvcBalanceBarClass;
-
-GType               gvc_balance_bar_get_type            (void);
-
 GtkWidget *         gvc_balance_bar_new                 (const GvcChannelMap *map,
                                                          GvcBalanceType btype);
 
diff --git a/panels/sound/gvc-channel-bar.c b/panels/sound/gvc-channel-bar.c
index 6d5a319..e834af1 100644
--- a/panels/sound/gvc-channel-bar.c
+++ b/panels/sound/gvc-channel-bar.c
@@ -36,13 +36,13 @@
 #define SCALE_SIZE 128
 #define ADJUSTMENT_MAX_NORMAL gvc_mixer_control_get_vol_max_norm(NULL)
 #define ADJUSTMENT_MAX_AMPLIFIED gvc_mixer_control_get_vol_max_amplified(NULL)
-#define ADJUSTMENT_MAX (bar->priv->is_amplified ? ADJUSTMENT_MAX_AMPLIFIED : ADJUSTMENT_MAX_NORMAL)
+#define ADJUSTMENT_MAX (bar->is_amplified ? ADJUSTMENT_MAX_AMPLIFIED : ADJUSTMENT_MAX_NORMAL)
 #define SCROLLSTEP (ADJUSTMENT_MAX / 100.0 * 5.0)
 
-#define GVC_CHANNEL_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GVC_TYPE_CHANNEL_BAR, 
GvcChannelBarPrivate))
-
-struct GvcChannelBarPrivate
+struct _GvcChannelBar
 {
+        GtkBox         parent_instance;
+
         GtkOrientation orientation;
         GtkWidget     *scale_box;
         GtkWidget     *start_box;
@@ -102,80 +102,79 @@ G_DEFINE_TYPE (GvcChannelBar, gvc_channel_bar, GTK_TYPE_BOX)
 static GtkWidget *
 _scale_box_new (GvcChannelBar *bar)
 {
-        GvcChannelBarPrivate *priv = bar->priv;
         GtkWidget            *box;
         GtkWidget            *sbox;
         GtkWidget            *ebox;
 
-        if (priv->orientation == GTK_ORIENTATION_VERTICAL) {
-                bar->priv->scale_box = box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+        if (bar->orientation == GTK_ORIENTATION_VERTICAL) {
+                bar->scale_box = box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
 
-                priv->scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, priv->adjustment);
+                bar->scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, bar->adjustment);
 
-                gtk_widget_set_size_request (priv->scale, -1, SCALE_SIZE);
-                gtk_range_set_inverted (GTK_RANGE (priv->scale), TRUE);
+                gtk_widget_set_size_request (bar->scale, -1, SCALE_SIZE);
+                gtk_range_set_inverted (GTK_RANGE (bar->scale), TRUE);
 
-                bar->priv->start_box = sbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+                bar->start_box = sbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
                 gtk_box_pack_start (GTK_BOX (box), sbox, FALSE, FALSE, 0);
 
-                gtk_box_pack_start (GTK_BOX (sbox), priv->image, FALSE, FALSE, 0);
-                gtk_box_pack_start (GTK_BOX (sbox), priv->label, FALSE, FALSE, 0);
+                gtk_box_pack_start (GTK_BOX (sbox), bar->image, FALSE, FALSE, 0);
+                gtk_box_pack_start (GTK_BOX (sbox), bar->label, FALSE, FALSE, 0);
 
-                gtk_box_pack_start (GTK_BOX (sbox), priv->high_image, FALSE, FALSE, 0);
-                gtk_widget_hide (priv->high_image);
-                gtk_box_pack_start (GTK_BOX (box), priv->scale, TRUE, TRUE, 0);
+                gtk_box_pack_start (GTK_BOX (sbox), bar->high_image, FALSE, FALSE, 0);
+                gtk_widget_hide (bar->high_image);
+                gtk_box_pack_start (GTK_BOX (box), bar->scale, TRUE, TRUE, 0);
 
-                bar->priv->end_box = ebox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+                bar->end_box = ebox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
                 gtk_box_pack_start (GTK_BOX (box), ebox, FALSE, FALSE, 0);
 
-                gtk_box_pack_start (GTK_BOX (ebox), priv->low_image, FALSE, FALSE, 0);
-                gtk_widget_hide (priv->low_image);
+                gtk_box_pack_start (GTK_BOX (ebox), bar->low_image, FALSE, FALSE, 0);
+                gtk_widget_hide (bar->low_image);
 
-                gtk_box_pack_start (GTK_BOX (ebox), priv->mute_switch, FALSE, FALSE, 0);
+                gtk_box_pack_start (GTK_BOX (ebox), bar->mute_switch, FALSE, FALSE, 0);
         } else {
-                bar->priv->scale_box = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
-                gtk_box_pack_start (GTK_BOX (box), priv->image, FALSE, FALSE, 0);
+                bar->scale_box = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+                gtk_box_pack_start (GTK_BOX (box), bar->image, FALSE, FALSE, 0);
 
-                priv->scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, priv->adjustment);
+                bar->scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, bar->adjustment);
 
-                gtk_widget_set_size_request (priv->scale, SCALE_SIZE, -1);
+                gtk_widget_set_size_request (bar->scale, SCALE_SIZE, -1);
 
-                bar->priv->start_box = sbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+                bar->start_box = sbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
                 gtk_box_pack_start (GTK_BOX (box), sbox, FALSE, FALSE, 0);
 
-                gtk_box_pack_end (GTK_BOX (sbox), priv->low_image, FALSE, FALSE, 0);
-                gtk_widget_show (priv->low_image);
+                gtk_box_pack_end (GTK_BOX (sbox), bar->low_image, FALSE, FALSE, 0);
+                gtk_widget_show (bar->low_image);
 
-                gtk_box_pack_start (GTK_BOX (sbox), priv->label, TRUE, TRUE, 0);
-                gtk_box_pack_start (GTK_BOX (box), priv->scale, TRUE, TRUE, 0);
+                gtk_box_pack_start (GTK_BOX (sbox), bar->label, TRUE, TRUE, 0);
+                gtk_box_pack_start (GTK_BOX (box), bar->scale, TRUE, TRUE, 0);
 
-                bar->priv->end_box = ebox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+                bar->end_box = ebox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
                 gtk_box_pack_start (GTK_BOX (box), ebox, FALSE, FALSE, 0);
 
-                gtk_box_pack_start (GTK_BOX (ebox), priv->high_image, FALSE, FALSE, 0);
-                gtk_widget_show (priv->high_image);
-                gtk_box_pack_start (GTK_BOX (ebox), priv->mute_switch, FALSE, FALSE, 0);
+                gtk_box_pack_start (GTK_BOX (ebox), bar->high_image, FALSE, FALSE, 0);
+                gtk_widget_show (bar->high_image);
+                gtk_box_pack_start (GTK_BOX (ebox), bar->mute_switch, FALSE, FALSE, 0);
         }
 
-        ca_gtk_widget_disable_sounds (bar->priv->scale, FALSE);
-        gtk_widget_add_events (bar->priv->scale, GDK_SCROLL_MASK);
+        ca_gtk_widget_disable_sounds (bar->scale, FALSE);
+        gtk_widget_add_events (bar->scale, GDK_SCROLL_MASK);
 
-        g_signal_connect (G_OBJECT (bar->priv->scale), "button-press-event",
+        g_signal_connect (G_OBJECT (bar->scale), "button-press-event",
                           G_CALLBACK (on_scale_button_press_event), bar);
-        g_signal_connect (G_OBJECT (bar->priv->scale), "button-release-event",
+        g_signal_connect (G_OBJECT (bar->scale), "button-release-event",
                           G_CALLBACK (on_scale_button_release_event), bar);
-        g_signal_connect (G_OBJECT (bar->priv->scale), "scroll-event",
+        g_signal_connect (G_OBJECT (bar->scale), "scroll-event",
                           G_CALLBACK (on_scale_scroll_event), bar);
 
-        if (bar->priv->size_group != NULL) {
-                gtk_size_group_add_widget (bar->priv->size_group, sbox);
+        if (bar->size_group != NULL) {
+                gtk_size_group_add_widget (bar->size_group, sbox);
 
-                if (bar->priv->symmetric) {
-                        gtk_size_group_add_widget (bar->priv->size_group, ebox);
+                if (bar->symmetric) {
+                        gtk_size_group_add_widget (bar->size_group, ebox);
                 }
         }
 
-        gtk_scale_set_draw_value (GTK_SCALE (priv->scale), FALSE);
+        gtk_scale_set_draw_value (GTK_SCALE (bar->scale), FALSE);
 
         return box;
 }
@@ -183,29 +182,29 @@ _scale_box_new (GvcChannelBar *bar)
 static void
 update_image (GvcChannelBar *bar)
 {
-        gtk_image_set_from_icon_name (GTK_IMAGE (bar->priv->image),
-                                      bar->priv->icon_name,
+        gtk_image_set_from_icon_name (GTK_IMAGE (bar->image),
+                                      bar->icon_name,
                                       GTK_ICON_SIZE_DIALOG);
 
-        if (bar->priv->icon_name != NULL) {
-                gtk_widget_show (bar->priv->image);
+        if (bar->icon_name != NULL) {
+                gtk_widget_show (bar->image);
         } else {
-                gtk_widget_hide (bar->priv->image);
+                gtk_widget_hide (bar->image);
         }
 }
 
 static void
 update_label (GvcChannelBar *bar)
 {
-        if (bar->priv->name != NULL) {
-                gtk_label_set_text_with_mnemonic (GTK_LABEL (bar->priv->label),
-                                                  bar->priv->name);
-                gtk_label_set_mnemonic_widget (GTK_LABEL (bar->priv->label),
-                                               bar->priv->scale);
-                gtk_widget_show (bar->priv->label);
+        if (bar->name != NULL) {
+                gtk_label_set_text_with_mnemonic (GTK_LABEL (bar->label),
+                                                  bar->name);
+                gtk_label_set_mnemonic_widget (GTK_LABEL (bar->label),
+                                               bar->scale);
+                gtk_widget_show (bar->label);
         } else {
-                gtk_label_set_text (GTK_LABEL (bar->priv->label), NULL);
-                gtk_widget_hide (bar->priv->label);
+                gtk_label_set_text (GTK_LABEL (bar->label), NULL);
+                gtk_widget_hide (bar->label);
         }
 }
 
@@ -215,44 +214,44 @@ update_layout (GvcChannelBar *bar)
         GtkWidget *box;
         GtkWidget *frame;
 
-        if (bar->priv->scale == NULL) {
+        if (bar->scale == NULL) {
                 return;
         }
 
-        box = bar->priv->scale_box;
+        box = bar->scale_box;
         frame = gtk_widget_get_parent (box);
 
-        g_object_ref (bar->priv->image);
-        g_object_ref (bar->priv->label);
-        g_object_ref (bar->priv->mute_switch);
-        g_object_ref (bar->priv->low_image);
-        g_object_ref (bar->priv->high_image);
+        g_object_ref (bar->image);
+        g_object_ref (bar->label);
+        g_object_ref (bar->mute_switch);
+        g_object_ref (bar->low_image);
+        g_object_ref (bar->high_image);
 
-        gtk_container_remove (GTK_CONTAINER (bar->priv->start_box), bar->priv->image);
-        gtk_container_remove (GTK_CONTAINER (bar->priv->start_box), bar->priv->label);
-        gtk_container_remove (GTK_CONTAINER (bar->priv->end_box), bar->priv->mute_switch);
+        gtk_container_remove (GTK_CONTAINER (bar->start_box), bar->image);
+        gtk_container_remove (GTK_CONTAINER (bar->start_box), bar->label);
+        gtk_container_remove (GTK_CONTAINER (bar->end_box), bar->mute_switch);
 
-        if (bar->priv->orientation == GTK_ORIENTATION_VERTICAL) {
-                gtk_container_remove (GTK_CONTAINER (bar->priv->start_box), bar->priv->low_image);
-                gtk_container_remove (GTK_CONTAINER (bar->priv->end_box), bar->priv->high_image);
+        if (bar->orientation == GTK_ORIENTATION_VERTICAL) {
+                gtk_container_remove (GTK_CONTAINER (bar->start_box), bar->low_image);
+                gtk_container_remove (GTK_CONTAINER (bar->end_box), bar->high_image);
         } else {
-                gtk_container_remove (GTK_CONTAINER (bar->priv->end_box), bar->priv->low_image);
-                gtk_container_remove (GTK_CONTAINER (bar->priv->start_box), bar->priv->high_image);
+                gtk_container_remove (GTK_CONTAINER (bar->end_box), bar->low_image);
+                gtk_container_remove (GTK_CONTAINER (bar->start_box), bar->high_image);
         }
 
-        gtk_container_remove (GTK_CONTAINER (box), bar->priv->start_box);
-        gtk_container_remove (GTK_CONTAINER (box), bar->priv->scale);
-        gtk_container_remove (GTK_CONTAINER (box), bar->priv->end_box);
+        gtk_container_remove (GTK_CONTAINER (box), bar->start_box);
+        gtk_container_remove (GTK_CONTAINER (box), bar->scale);
+        gtk_container_remove (GTK_CONTAINER (box), bar->end_box);
         gtk_container_remove (GTK_CONTAINER (frame), box);
 
-        bar->priv->scale_box = _scale_box_new (bar);
-        gtk_container_add (GTK_CONTAINER (frame), bar->priv->scale_box);
+        bar->scale_box = _scale_box_new (bar);
+        gtk_container_add (GTK_CONTAINER (frame), bar->scale_box);
 
-        g_object_unref (bar->priv->image);
-        g_object_unref (bar->priv->label);
-        g_object_unref (bar->priv->mute_switch);
-        g_object_unref (bar->priv->low_image);
-        g_object_unref (bar->priv->high_image);
+        g_object_unref (bar->image);
+        g_object_unref (bar->label);
+        g_object_unref (bar->mute_switch);
+        g_object_unref (bar->low_image);
+        g_object_unref (bar->high_image);
 
         gtk_widget_show_all (frame);
 }
@@ -264,16 +263,16 @@ gvc_channel_bar_set_size_group (GvcChannelBar *bar,
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        bar->priv->size_group = group;
-        bar->priv->symmetric = symmetric;
+        bar->size_group = group;
+        bar->symmetric = symmetric;
 
-        if (bar->priv->size_group != NULL) {
-                gtk_size_group_add_widget (bar->priv->size_group,
-                                           bar->priv->start_box);
+        if (bar->size_group != NULL) {
+                gtk_size_group_add_widget (bar->size_group,
+                                           bar->start_box);
 
-                if (bar->priv->symmetric) {
-                        gtk_size_group_add_widget (bar->priv->size_group,
-                                                   bar->priv->end_box);
+                if (bar->symmetric) {
+                        gtk_size_group_add_widget (bar->size_group,
+                                                   bar->end_box);
                 }
         }
         gtk_widget_queue_draw (GTK_WIDGET (bar));
@@ -285,8 +284,8 @@ gvc_channel_bar_set_name (GvcChannelBar  *bar,
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        g_free (bar->priv->name);
-        bar->priv->name = g_strdup (name);
+        g_free (bar->name);
+        bar->name = g_strdup (name);
         update_label (bar);
         g_object_notify (G_OBJECT (bar), "name");
 }
@@ -297,8 +296,8 @@ gvc_channel_bar_set_icon_name (GvcChannelBar  *bar,
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        g_free (bar->priv->icon_name);
-        bar->priv->icon_name = g_strdup (name);
+        g_free (bar->icon_name);
+        bar->icon_name = g_strdup (name);
         update_image (bar);
         g_object_notify (G_OBJECT (bar), "icon-name");
 }
@@ -309,11 +308,11 @@ gvc_channel_bar_set_low_icon_name   (GvcChannelBar *bar,
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        if (name != NULL && strcmp (bar->priv->low_icon_name, name) != 0) {
-                g_free (bar->priv->low_icon_name);
-                bar->priv->low_icon_name = g_strdup (name);
-                gtk_image_set_from_icon_name (GTK_IMAGE (bar->priv->low_image),
-                                              bar->priv->low_icon_name,
+        if (name != NULL && strcmp (bar->low_icon_name, name) != 0) {
+                g_free (bar->low_icon_name);
+                bar->low_icon_name = g_strdup (name);
+                gtk_image_set_from_icon_name (GTK_IMAGE (bar->low_image),
+                                              bar->low_icon_name,
                                               GTK_ICON_SIZE_MENU);
                 g_object_notify (G_OBJECT (bar), "low-icon-name");
         }
@@ -325,11 +324,11 @@ gvc_channel_bar_set_high_icon_name  (GvcChannelBar *bar,
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        if (name != NULL && strcmp (bar->priv->high_icon_name, name) != 0) {
-                g_free (bar->priv->high_icon_name);
-                bar->priv->high_icon_name = g_strdup (name);
-                gtk_image_set_from_icon_name (GTK_IMAGE (bar->priv->high_image),
-                                              bar->priv->high_icon_name,
+        if (name != NULL && strcmp (bar->high_icon_name, name) != 0) {
+                g_free (bar->high_icon_name);
+                bar->high_icon_name = g_strdup (name);
+                gtk_image_set_from_icon_name (GTK_IMAGE (bar->high_image),
+                                              bar->high_icon_name,
                                               GTK_ICON_SIZE_MENU);
                 g_object_notify (G_OBJECT (bar), "high-icon-name");
         }
@@ -341,8 +340,8 @@ gvc_channel_bar_set_orientation (GvcChannelBar  *bar,
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        if (orientation != bar->priv->orientation) {
-                bar->priv->orientation = orientation;
+        if (orientation != bar->orientation) {
+                bar->orientation = orientation;
                 update_layout (bar);
                 g_object_notify (G_OBJECT (bar), "orientation");
         }
@@ -355,13 +354,13 @@ gvc_channel_bar_set_adjustment (GvcChannelBar *bar,
         g_return_if_fail (GVC_CHANNEL_BAR (bar));
         g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
 
-        if (bar->priv->adjustment != NULL) {
-                g_object_unref (bar->priv->adjustment);
+        if (bar->adjustment != NULL) {
+                g_object_unref (bar->adjustment);
         }
-        bar->priv->adjustment = g_object_ref_sink (adjustment);
+        bar->adjustment = g_object_ref_sink (adjustment);
 
-        if (bar->priv->scale != NULL) {
-                gtk_range_set_adjustment (GTK_RANGE (bar->priv->scale), adjustment);
+        if (bar->scale != NULL) {
+                gtk_range_set_adjustment (GTK_RANGE (bar->scale), adjustment);
         }
 
         g_object_notify (G_OBJECT (bar), "adjustment");
@@ -372,7 +371,7 @@ gvc_channel_bar_get_adjustment (GvcChannelBar *bar)
 {
         g_return_val_if_fail (GVC_IS_CHANNEL_BAR (bar), NULL);
 
-        return bar->priv->adjustment;
+        return bar->adjustment;
 }
 
 static gboolean
@@ -380,7 +379,7 @@ on_scale_button_press_event (GtkWidget      *widget,
                              GdkEventButton *event,
                              GvcChannelBar  *bar)
 {
-        bar->priv->click_lock = TRUE;
+        bar->click_lock = TRUE;
 
         return FALSE;
 }
@@ -393,7 +392,7 @@ on_scale_button_release_event (GtkWidget      *widget,
         GtkAdjustment *adj;
         gdouble value;
 
-        bar->priv->click_lock = FALSE;
+        bar->click_lock = FALSE;
 
         adj = gtk_range_get_adjustment (GTK_RANGE (widget));
 
@@ -426,7 +425,7 @@ gvc_channel_bar_scroll (GvcChannelBar *bar, GdkEventScroll *event)
 
         direction = event->direction;
 
-        if (bar->priv->orientation == GTK_ORIENTATION_VERTICAL) {
+        if (bar->orientation == GTK_ORIENTATION_VERTICAL) {
                 if (direction == GDK_SCROLL_LEFT || direction == GDK_SCROLL_RIGHT)
                         return FALSE;
         } else {
@@ -462,8 +461,8 @@ gvc_channel_bar_scroll (GvcChannelBar *bar, GdkEventScroll *event)
                }
        }
 
-        adj = gtk_range_get_adjustment (GTK_RANGE (bar->priv->scale));
-        if (adj == bar->priv->zero_adjustment) {
+        adj = gtk_range_get_adjustment (GTK_RANGE (bar->scale));
+        if (adj == bar->zero_adjustment) {
                 if (dy > 0)
                         gvc_channel_bar_set_is_muted (bar, FALSE);
                 return TRUE;
@@ -484,7 +483,7 @@ gvc_channel_bar_scroll (GvcChannelBar *bar, GdkEventScroll *event)
         }
 
         gvc_channel_bar_set_is_muted (bar, (value == 0.0));
-        adj = gtk_range_get_adjustment (GTK_RANGE (bar->priv->scale));
+        adj = gtk_range_get_adjustment (GTK_RANGE (bar->scale));
         gtk_adjustment_set_value (adj, value);
 
         return TRUE;
@@ -504,15 +503,15 @@ on_zero_adjustment_value_changed (GtkAdjustment *adjustment,
 {
         gdouble value;
 
-        if (bar->priv->click_lock != FALSE) {
+        if (bar->click_lock != FALSE) {
                 return;
         }
 
-        value = gtk_adjustment_get_value (bar->priv->zero_adjustment);
-        gtk_adjustment_set_value (bar->priv->adjustment, value);
+        value = gtk_adjustment_get_value (bar->zero_adjustment);
+        gtk_adjustment_set_value (bar->adjustment, value);
 
 
-        if (bar->priv->show_mute == FALSE) {
+        if (bar->show_mute == FALSE) {
                 /* this means the adjustment moved away from zero and
                  * therefore we should unmute and set the volume. */
                 gvc_channel_bar_set_is_muted (bar, value > 0.0);
@@ -522,33 +521,33 @@ on_zero_adjustment_value_changed (GtkAdjustment *adjustment,
 static void
 update_mute_switch (GvcChannelBar *bar)
 {
-        if (bar->priv->show_mute) {
-                gtk_widget_show (bar->priv->mute_switch);
-                gtk_switch_set_active (GTK_SWITCH (bar->priv->mute_switch),
-                                       !bar->priv->is_muted);
+        if (bar->show_mute) {
+                gtk_widget_show (bar->mute_switch);
+                gtk_switch_set_active (GTK_SWITCH (bar->mute_switch),
+                                       !bar->is_muted);
         } else {
-                gtk_widget_hide (bar->priv->mute_switch);
+                gtk_widget_hide (bar->mute_switch);
         }
 
-        if (bar->priv->is_muted) {
+        if (bar->is_muted) {
                 /* If we aren't showing the mute button then
                  * move slider to the zero.  But we don't want to
                  * change the adjustment.  */
-                g_signal_handlers_block_by_func (bar->priv->zero_adjustment,
+                g_signal_handlers_block_by_func (bar->zero_adjustment,
                                                  on_zero_adjustment_value_changed,
                                                  bar);
-                gtk_adjustment_set_value (bar->priv->zero_adjustment, 0);
-                g_signal_handlers_unblock_by_func (bar->priv->zero_adjustment,
+                gtk_adjustment_set_value (bar->zero_adjustment, 0);
+                g_signal_handlers_unblock_by_func (bar->zero_adjustment,
                                                    on_zero_adjustment_value_changed,
                                                    bar);
-                gtk_range_set_adjustment (GTK_RANGE (bar->priv->scale),
-                                          bar->priv->zero_adjustment);
+                gtk_range_set_adjustment (GTK_RANGE (bar->scale),
+                                          bar->zero_adjustment);
         } else {
                 /* no longer muted so restore the original adjustment
                  * and tell the front-end that the value changed */
-                gtk_range_set_adjustment (GTK_RANGE (bar->priv->scale),
-                                          bar->priv->adjustment);
-                gtk_adjustment_value_changed (bar->priv->adjustment);
+                gtk_range_set_adjustment (GTK_RANGE (bar->scale),
+                                          bar->adjustment);
+                gtk_adjustment_value_changed (bar->adjustment);
         }
 }
 
@@ -558,10 +557,10 @@ gvc_channel_bar_set_is_muted (GvcChannelBar *bar,
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        if (is_muted != bar->priv->is_muted) {
+        if (is_muted != bar->is_muted) {
                 /* Update our internal state before telling the
                  * front-end about our changes */
-                bar->priv->is_muted = is_muted;
+                bar->is_muted = is_muted;
                 update_mute_switch (bar);
                 g_object_notify (G_OBJECT (bar), "is-muted");
         }
@@ -571,7 +570,7 @@ gboolean
 gvc_channel_bar_get_is_muted  (GvcChannelBar *bar)
 {
         g_return_val_if_fail (GVC_IS_CHANNEL_BAR (bar), FALSE);
-        return bar->priv->is_muted;
+        return bar->is_muted;
 }
 
 void
@@ -580,8 +579,8 @@ gvc_channel_bar_set_show_mute (GvcChannelBar *bar,
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        if (show_mute != bar->priv->show_mute) {
-                bar->priv->show_mute = show_mute;
+        if (show_mute != bar->show_mute) {
+                bar->show_mute = show_mute;
                 g_object_notify (G_OBJECT (bar), "show-mute");
                 update_mute_switch (bar);
         }
@@ -591,7 +590,7 @@ gboolean
 gvc_channel_bar_get_show_mute (GvcChannelBar *bar)
 {
         g_return_val_if_fail (GVC_IS_CHANNEL_BAR (bar), FALSE);
-        return bar->priv->show_mute;
+        return bar->show_mute;
 }
 
 void
@@ -599,26 +598,26 @@ gvc_channel_bar_set_is_amplified (GvcChannelBar *bar, gboolean amplified)
 {
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
-        bar->priv->is_amplified = amplified;
-        gtk_adjustment_set_upper (bar->priv->adjustment, ADJUSTMENT_MAX);
-        gtk_adjustment_set_upper (bar->priv->zero_adjustment, ADJUSTMENT_MAX);
-        gtk_scale_clear_marks (GTK_SCALE (bar->priv->scale));
+        bar->is_amplified = amplified;
+        gtk_adjustment_set_upper (bar->adjustment, ADJUSTMENT_MAX);
+        gtk_adjustment_set_upper (bar->zero_adjustment, ADJUSTMENT_MAX);
+        gtk_scale_clear_marks (GTK_SCALE (bar->scale));
 
         if (amplified) {
                 char *str;
 
-                if (bar->priv->base_volume == ADJUSTMENT_MAX_NORMAL) {
+                if (bar->base_volume == ADJUSTMENT_MAX_NORMAL) {
                         str = g_strdup_printf ("<small>%s</small>", C_("volume", "100%"));
-                        gtk_scale_add_mark (GTK_SCALE (bar->priv->scale), ADJUSTMENT_MAX_NORMAL,
+                        gtk_scale_add_mark (GTK_SCALE (bar->scale), ADJUSTMENT_MAX_NORMAL,
                                             GTK_POS_BOTTOM, str);
                 } else {
                         str = g_strdup_printf ("<small>%s</small>", C_("volume", "Unamplified"));
-                        gtk_scale_add_mark (GTK_SCALE (bar->priv->scale), bar->priv->base_volume,
+                        gtk_scale_add_mark (GTK_SCALE (bar->scale), bar->base_volume,
                                             GTK_POS_BOTTOM, str);
                         /* Only show 100% if it's higher than the base volume */
-                        if (bar->priv->base_volume < ADJUSTMENT_MAX_NORMAL) {
+                        if (bar->base_volume < ADJUSTMENT_MAX_NORMAL) {
                                 str = g_strdup_printf ("<small>%s</small>", C_("volume", "100%"));
-                                gtk_scale_add_mark (GTK_SCALE (bar->priv->scale), ADJUSTMENT_MAX_NORMAL,
+                                gtk_scale_add_mark (GTK_SCALE (bar->scale), ADJUSTMENT_MAX_NORMAL,
                                                     GTK_POS_BOTTOM, str);
                         }
                 }
@@ -629,19 +628,19 @@ gvc_channel_bar_set_is_amplified (GvcChannelBar *bar, gboolean amplified)
                  * these widgets plus the scale but neither GtkScale
                  * nor GtkSwitch support baseline alignment yet. */
 
-                gtk_widget_set_valign (bar->priv->mute_switch, GTK_ALIGN_START);
+                gtk_widget_set_valign (bar->mute_switch, GTK_ALIGN_START);
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-                gtk_misc_set_alignment (GTK_MISC (bar->priv->low_image), 0.5, 0.15);
-                gtk_misc_set_alignment (GTK_MISC (bar->priv->high_image), 0.5, 0.15);
+                gtk_misc_set_alignment (GTK_MISC (bar->low_image), 0.5, 0.15);
+                gtk_misc_set_alignment (GTK_MISC (bar->high_image), 0.5, 0.15);
 G_GNUC_END_IGNORE_DEPRECATIONS
-                gtk_widget_set_valign (bar->priv->label, GTK_ALIGN_START);
+                gtk_widget_set_valign (bar->label, GTK_ALIGN_START);
         } else {
-                gtk_widget_set_valign (bar->priv->mute_switch, GTK_ALIGN_CENTER);
+                gtk_widget_set_valign (bar->mute_switch, GTK_ALIGN_CENTER);
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-                gtk_misc_set_alignment (GTK_MISC (bar->priv->low_image), 0.5, 0.5);
-                gtk_misc_set_alignment (GTK_MISC (bar->priv->high_image), 0.5, 0.5);
+                gtk_misc_set_alignment (GTK_MISC (bar->low_image), 0.5, 0.5);
+                gtk_misc_set_alignment (GTK_MISC (bar->high_image), 0.5, 0.5);
 G_GNUC_END_IGNORE_DEPRECATIONS
-                gtk_widget_set_valign (bar->priv->label, GTK_ALIGN_CENTER);
+                gtk_widget_set_valign (bar->label, GTK_ALIGN_CENTER);
         }
 }
 
@@ -650,7 +649,7 @@ gvc_channel_bar_get_ellipsize (GvcChannelBar *bar)
 {
         g_return_val_if_fail (GVC_IS_CHANNEL_BAR (bar), FALSE);
 
-        return gtk_label_get_ellipsize (GTK_LABEL (bar->priv->label)) != PANGO_ELLIPSIZE_NONE;
+        return gtk_label_get_ellipsize (GTK_LABEL (bar->label)) != PANGO_ELLIPSIZE_NONE;
 }
 
 void
@@ -660,9 +659,9 @@ gvc_channel_bar_set_ellipsize (GvcChannelBar *bar,
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
         if (ellipsized)
-                gtk_label_set_ellipsize (GTK_LABEL (bar->priv->label), PANGO_ELLIPSIZE_END);
+                gtk_label_set_ellipsize (GTK_LABEL (bar->label), PANGO_ELLIPSIZE_END);
        else
-                gtk_label_set_ellipsize (GTK_LABEL (bar->priv->label), PANGO_ELLIPSIZE_NONE);
+                gtk_label_set_ellipsize (GTK_LABEL (bar->label), PANGO_ELLIPSIZE_NONE);
 }
 
 void
@@ -672,12 +671,12 @@ gvc_channel_bar_set_base_volume (GvcChannelBar *bar,
         g_return_if_fail (GVC_IS_CHANNEL_BAR (bar));
 
         if (base_volume == 0) {
-                bar->priv->base_volume = ADJUSTMENT_MAX_NORMAL;
+                bar->base_volume = ADJUSTMENT_MAX_NORMAL;
                 return;
         }
 
         /* Note that you need to call _is_amplified() afterwards to update the marks */
-        bar->priv->base_volume = base_volume;
+        bar->base_volume = base_volume;
 }
 
 static void
@@ -732,35 +731,34 @@ gvc_channel_bar_get_property (GObject     *object,
                               GParamSpec  *pspec)
 {
         GvcChannelBar *self = GVC_CHANNEL_BAR (object);
-        GvcChannelBarPrivate *priv = self->priv;
 
         switch (prop_id) {
         case PROP_ORIENTATION:
-                g_value_set_enum (value, priv->orientation);
+                g_value_set_enum (value, self->orientation);
                 break;
         case PROP_IS_MUTED:
-                g_value_set_boolean (value, priv->is_muted);
+                g_value_set_boolean (value, self->is_muted);
                 break;
         case PROP_SHOW_MUTE:
-                g_value_set_boolean (value, priv->show_mute);
+                g_value_set_boolean (value, self->show_mute);
                 break;
         case PROP_NAME:
-                g_value_set_string (value, priv->name);
+                g_value_set_string (value, self->name);
                 break;
         case PROP_ICON_NAME:
-                g_value_set_string (value, priv->icon_name);
+                g_value_set_string (value, self->icon_name);
                 break;
         case PROP_LOW_ICON_NAME:
-                g_value_set_string (value, priv->low_icon_name);
+                g_value_set_string (value, self->low_icon_name);
                 break;
         case PROP_HIGH_ICON_NAME:
-                g_value_set_string (value, priv->high_icon_name);
+                g_value_set_string (value, self->high_icon_name);
                 break;
         case PROP_ADJUSTMENT:
                 g_value_set_object (value, gvc_channel_bar_get_adjustment (self));
                 break;
         case PROP_IS_AMPLIFIED:
-                g_value_set_boolean (value, priv->is_amplified);
+                g_value_set_boolean (value, self->is_amplified);
                 break;
         case PROP_ELLIPSIZE:
                 g_value_set_boolean (value, gvc_channel_bar_get_ellipsize (self));
@@ -870,7 +868,6 @@ gvc_channel_bar_class_init (GvcChannelBarClass *klass)
                                                                "Whether the label is ellipsized",
                                                                FALSE,
                                                                G_PARAM_READWRITE|G_PARAM_CONSTRUCT));
-        g_type_class_add_private (klass, sizeof (GvcChannelBarPrivate));
 }
 
 static void
@@ -888,56 +885,54 @@ gvc_channel_bar_init (GvcChannelBar *bar)
 {
         GtkWidget *frame;
 
-        bar->priv = GVC_CHANNEL_BAR_GET_PRIVATE (bar);
-
-        bar->priv->base_volume = ADJUSTMENT_MAX_NORMAL;
-        bar->priv->low_icon_name = g_strdup ("audio-volume-low-symbolic");
-        bar->priv->high_icon_name = g_strdup ("audio-volume-high-symbolic");
+        bar->base_volume = ADJUSTMENT_MAX_NORMAL;
+        bar->low_icon_name = g_strdup ("audio-volume-low-symbolic");
+        bar->high_icon_name = g_strdup ("audio-volume-high-symbolic");
 
-        bar->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
-        bar->priv->adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
+        bar->orientation = GTK_ORIENTATION_HORIZONTAL;
+        bar->adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
                                                                     0.0,
                                                                     ADJUSTMENT_MAX_NORMAL,
                                                                     ADJUSTMENT_MAX_NORMAL/100.0,
                                                                     ADJUSTMENT_MAX_NORMAL/10.0,
                                                                     0.0));
-        g_object_ref_sink (bar->priv->adjustment);
+        g_object_ref_sink (bar->adjustment);
 
-        bar->priv->zero_adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
+        bar->zero_adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
                                                                          0.0,
                                                                          ADJUSTMENT_MAX_NORMAL,
                                                                          ADJUSTMENT_MAX_NORMAL/100.0,
                                                                          ADJUSTMENT_MAX_NORMAL/10.0,
                                                                          0.0));
-        g_object_ref_sink (bar->priv->zero_adjustment);
+        g_object_ref_sink (bar->zero_adjustment);
 
-        g_signal_connect (bar->priv->zero_adjustment,
+        g_signal_connect (bar->zero_adjustment,
                           "value-changed",
                           G_CALLBACK (on_zero_adjustment_value_changed),
                           bar);
 
-        bar->priv->mute_switch = gtk_switch_new ();
-        gtk_widget_set_no_show_all (bar->priv->mute_switch, TRUE);
-        g_signal_connect (bar->priv->mute_switch,
+        bar->mute_switch = gtk_switch_new ();
+        gtk_widget_set_no_show_all (bar->mute_switch, TRUE);
+        g_signal_connect (bar->mute_switch,
                           "notify::active",
                           G_CALLBACK (on_mute_switch_toggled),
                           bar);
 
-        bar->priv->low_image = gtk_image_new_from_icon_name ("audio-volume-low-symbolic",
+        bar->low_image = gtk_image_new_from_icon_name ("audio-volume-low-symbolic",
                                                              GTK_ICON_SIZE_MENU);
-        gtk_style_context_add_class (gtk_widget_get_style_context (bar->priv->low_image), "dim-label");
-        gtk_widget_set_no_show_all (bar->priv->low_image, TRUE);
-        bar->priv->high_image = gtk_image_new_from_icon_name ("audio-volume-high-symbolic",
+        gtk_style_context_add_class (gtk_widget_get_style_context (bar->low_image), "dim-label");
+        gtk_widget_set_no_show_all (bar->low_image, TRUE);
+        bar->high_image = gtk_image_new_from_icon_name ("audio-volume-high-symbolic",
                                                               GTK_ICON_SIZE_MENU);
-        gtk_style_context_add_class (gtk_widget_get_style_context (bar->priv->high_image), "dim-label");
-        gtk_widget_set_no_show_all (bar->priv->high_image, TRUE);
+        gtk_style_context_add_class (gtk_widget_get_style_context (bar->high_image), "dim-label");
+        gtk_widget_set_no_show_all (bar->high_image, TRUE);
 
-        bar->priv->image = gtk_image_new ();
-        gtk_widget_set_no_show_all (bar->priv->image, TRUE);
+        bar->image = gtk_image_new ();
+        gtk_widget_set_no_show_all (bar->image, TRUE);
 
-        bar->priv->label = gtk_label_new (NULL);
-        gtk_widget_set_halign (bar->priv->label, GTK_ALIGN_START);
-        gtk_widget_set_no_show_all (bar->priv->label, TRUE);
+        bar->label = gtk_label_new (NULL);
+        gtk_widget_set_halign (bar->label, GTK_ALIGN_START);
+        gtk_widget_set_no_show_all (bar->label, TRUE);
 
         /* frame */
         frame = gtk_frame_new (NULL);
@@ -946,9 +941,9 @@ gvc_channel_bar_init (GvcChannelBar *bar)
         gtk_widget_show_all (frame);
 
         /* box with scale */
-        bar->priv->scale_box = _scale_box_new (bar);
+        bar->scale_box = _scale_box_new (bar);
 
-        gtk_container_add (GTK_CONTAINER (frame), bar->priv->scale_box);
+        gtk_container_add (GTK_CONTAINER (frame), bar->scale_box);
         gtk_widget_show_all (frame);
 }
 
@@ -962,12 +957,12 @@ gvc_channel_bar_finalize (GObject *object)
 
         channel_bar = GVC_CHANNEL_BAR (object);
 
-        g_return_if_fail (channel_bar->priv != NULL);
+        g_return_if_fail (channel_bar != NULL);
 
-        g_free (channel_bar->priv->name);
-        g_free (channel_bar->priv->icon_name);
-        g_free (channel_bar->priv->low_icon_name);
-        g_free (channel_bar->priv->high_icon_name);
+        g_free (channel_bar->name);
+        g_free (channel_bar->icon_name);
+        g_free (channel_bar->low_icon_name);
+        g_free (channel_bar->high_icon_name);
 
         G_OBJECT_CLASS (gvc_channel_bar_parent_class)->finalize (object);
 }
diff --git a/panels/sound/gvc-channel-bar.h b/panels/sound/gvc-channel-bar.h
index afa5231..f0ded18 100644
--- a/panels/sound/gvc-channel-bar.h
+++ b/panels/sound/gvc-channel-bar.h
@@ -24,27 +24,8 @@
 
 G_BEGIN_DECLS
 
-#define GVC_TYPE_CHANNEL_BAR         (gvc_channel_bar_get_type ())
-#define GVC_CHANNEL_BAR(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GVC_TYPE_CHANNEL_BAR, GvcChannelBar))
-#define GVC_CHANNEL_BAR_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GVC_TYPE_CHANNEL_BAR, GvcChannelBarClass))
-#define GVC_IS_CHANNEL_BAR(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVC_TYPE_CHANNEL_BAR))
-#define GVC_IS_CHANNEL_BAR_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GVC_TYPE_CHANNEL_BAR))
-#define GVC_CHANNEL_BAR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVC_TYPE_CHANNEL_BAR, 
GvcChannelBarClass))
-
-typedef struct GvcChannelBarPrivate GvcChannelBarPrivate;
-
-typedef struct
-{
-        GtkBox                parent;
-        GvcChannelBarPrivate *priv;
-} GvcChannelBar;
-
-typedef struct
-{
-        GtkBoxClass           parent_class;
-} GvcChannelBarClass;
-
-GType               gvc_channel_bar_get_type            (void);
+#define GVC_TYPE_CHANNEL_BAR (gvc_channel_bar_get_type ())
+G_DECLARE_FINAL_TYPE (GvcChannelBar, gvc_channel_bar, GVC, CHANNEL_BAR, GtkBox)
 
 GtkWidget *         gvc_channel_bar_new                 (void);
 
diff --git a/panels/sound/gvc-combo-box.c b/panels/sound/gvc-combo-box.c
index 5f8eaed..ee77b0d 100644
--- a/panels/sound/gvc-combo-box.c
+++ b/panels/sound/gvc-combo-box.c
@@ -33,10 +33,10 @@
 #include "gvc-mixer-stream.h"
 #include "gvc-mixer-card.h"
 
-#define GVC_COMBO_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GVC_TYPE_COMBO_BOX, 
GvcComboBoxPrivate))
-
-struct GvcComboBoxPrivate
+struct _GvcComboBox
 {
+        GtkBox         parent_instance;
+
         GtkWidget     *drop_box;
         GtkWidget     *start_box;
         GtkWidget     *end_box;
@@ -83,16 +83,16 @@ gvc_combo_box_set_size_group (GvcComboBox *combo_box,
 {
         g_return_if_fail (GVC_IS_COMBO_BOX (combo_box));
 
-        combo_box->priv->size_group = group;
-        combo_box->priv->symmetric = symmetric;
+        combo_box->size_group = group;
+        combo_box->symmetric = symmetric;
 
-        if (combo_box->priv->size_group != NULL) {
-                gtk_size_group_add_widget (combo_box->priv->size_group,
-                                           combo_box->priv->start_box);
+        if (combo_box->size_group != NULL) {
+                gtk_size_group_add_widget (combo_box->size_group,
+                                           combo_box->start_box);
 
-                if (combo_box->priv->symmetric) {
-                        gtk_size_group_add_widget (combo_box->priv->size_group,
-                                                   combo_box->priv->end_box);
+                if (combo_box->symmetric) {
+                        gtk_size_group_add_widget (combo_box->size_group,
+                                                   combo_box->end_box);
                 }
         }
         gtk_widget_queue_draw (GTK_WIDGET (combo_box));
@@ -108,13 +108,13 @@ gvc_combo_box_set_property (GObject       *object,
 
         switch (prop_id) {
         case PROP_LABEL:
-                gtk_label_set_text_with_mnemonic (GTK_LABEL (self->priv->label), g_value_get_string (value));
+                gtk_label_set_text_with_mnemonic (GTK_LABEL (self->label), g_value_get_string (value));
                 break;
         case PROP_BUTTON_LABEL:
-                gtk_button_set_label (GTK_BUTTON (self->priv->button), g_value_get_string (value));
+                gtk_button_set_label (GTK_BUTTON (self->button), g_value_get_string (value));
                 break;
         case PROP_SHOW_BUTTON:
-                gtk_widget_set_visible (self->priv->button, g_value_get_boolean (value));
+                gtk_widget_set_visible (self->button, g_value_get_boolean (value));
                 break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -133,15 +133,15 @@ gvc_combo_box_get_property (GObject     *object,
         switch (prop_id) {
         case PROP_LABEL:
                 g_value_set_string (value,
-                                    gtk_label_get_text (GTK_LABEL (self->priv->label)));
+                                    gtk_label_get_text (GTK_LABEL (self->label)));
                 break;
         case PROP_BUTTON_LABEL:
                 g_value_set_string (value,
-                                    gtk_button_get_label (GTK_BUTTON (self->priv->button)));
+                                    gtk_button_get_label (GTK_BUTTON (self->button)));
                 break;
         case PROP_SHOW_BUTTON:
                 g_value_set_boolean (value,
-                                     gtk_widget_get_visible (self->priv->button));
+                                     gtk_widget_get_visible (self->button));
                 break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -183,7 +183,7 @@ gvc_combo_box_class_init (GvcComboBoxClass *klass)
                 g_signal_new ("changed",
                               G_TYPE_FROM_CLASS (klass),
                               G_SIGNAL_RUN_LAST,
-                              G_STRUCT_OFFSET (GvcComboBoxClass, changed),
+                              0,
                               NULL, NULL,
                               g_cclosure_marshal_VOID__STRING,
                               G_TYPE_NONE, 1, G_TYPE_STRING);
@@ -191,12 +191,10 @@ gvc_combo_box_class_init (GvcComboBoxClass *klass)
                 g_signal_new ("button-clicked",
                               G_TYPE_FROM_CLASS (klass),
                               G_SIGNAL_RUN_LAST,
-                              G_STRUCT_OFFSET (GvcComboBoxClass, button_clicked),
+                              0,
                               NULL, NULL,
                               g_cclosure_marshal_VOID__VOID,
                               G_TYPE_NONE, 0, G_TYPE_NONE);
-
-        g_type_class_add_private (klass, sizeof (GvcComboBoxPrivate));
 }
 
 void
@@ -206,19 +204,19 @@ gvc_combo_box_set_profiles (GvcComboBox *combo_box,
         const GList *l;
 
         g_return_if_fail (GVC_IS_COMBO_BOX (combo_box));
-        g_return_if_fail (combo_box->priv->set_called == FALSE);
+        g_return_if_fail (combo_box->set_called == FALSE);
 
         for (l = profiles; l != NULL; l = l->next) {
                 GvcMixerCardProfile *p = l->data;
 
-                gtk_list_store_insert_with_values (GTK_LIST_STORE (combo_box->priv->model),
+                gtk_list_store_insert_with_values (GTK_LIST_STORE (combo_box->model),
                                                    NULL,
                                                    G_MAXINT,
                                                    COL_NAME, p->profile,
                                                    COL_HUMAN_NAME, p->human_profile,
                                                    -1);
         }
-        combo_box->priv->set_called = TRUE;
+        combo_box->set_called = TRUE;
 }
 
 void
@@ -228,19 +226,19 @@ gvc_combo_box_set_ports (GvcComboBox *combo_box,
         const GList *l;
 
         g_return_if_fail (GVC_IS_COMBO_BOX (combo_box));
-        g_return_if_fail (combo_box->priv->set_called == FALSE);
+        g_return_if_fail (combo_box->set_called == FALSE);
 
         for (l = ports; l != NULL; l = l->next) {
                 GvcMixerStreamPort *p = l->data;
 
-                gtk_list_store_insert_with_values (GTK_LIST_STORE (combo_box->priv->model),
+                gtk_list_store_insert_with_values (GTK_LIST_STORE (combo_box->model),
                                                    NULL,
                                                    G_MAXINT,
                                                    COL_NAME, p->port,
                                                    COL_HUMAN_NAME, p->human_port,
                                                    -1);
         }
-        combo_box->priv->set_called = TRUE;
+        combo_box->set_called = TRUE;
 }
 
 void
@@ -250,18 +248,18 @@ gvc_combo_box_set_active (GvcComboBox *combo_box,
         GtkTreeIter iter;
         gboolean cont;
 
-        cont = gtk_tree_model_get_iter_first (combo_box->priv->model, &iter);
+        cont = gtk_tree_model_get_iter_first (combo_box->model, &iter);
         while (cont != FALSE) {
                 char *name;
 
-                gtk_tree_model_get (combo_box->priv->model, &iter,
+                gtk_tree_model_get (combo_box->model, &iter,
                                     COL_NAME, &name,
                                     -1);
                 if (g_strcmp0 (name, id) == 0) {
-                        gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo_box->priv->combobox), &iter);
+                        gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo_box->combobox), &iter);
                         return;
                 }
-                cont = gtk_tree_model_iter_next (combo_box->priv->model, &iter);
+                cont = gtk_tree_model_iter_next (combo_box->model, &iter);
         }
         g_warning ("Could not find id '%s' in combo box", id);
 }
@@ -278,7 +276,7 @@ on_combo_box_changed (GtkComboBox *widget,
                 return;
         }
 
-        gtk_tree_model_get (combo_box->priv->model, &iter,
+        gtk_tree_model_get (combo_box->model, &iter,
                             COL_NAME, &profile,
                             -1);
         g_signal_emit (combo_box, signals[CHANGED], 0, profile);
@@ -301,67 +299,65 @@ gvc_combo_box_init (GvcComboBox *combo_box)
         GtkWidget            *ebox;
         GtkCellRenderer      *renderer;
 
-        combo_box->priv = GVC_COMBO_BOX_GET_PRIVATE (combo_box);
-
-        combo_box->priv->model = GTK_TREE_MODEL (gtk_list_store_new (NUM_COLS,
-                                                                     G_TYPE_STRING,
-                                                                     G_TYPE_STRING));
+        combo_box->model = GTK_TREE_MODEL (gtk_list_store_new (NUM_COLS,
+                                                               G_TYPE_STRING,
+                                                               G_TYPE_STRING));
 
-        combo_box->priv->label = gtk_label_new (NULL);
-        gtk_widget_set_halign (combo_box->priv->label, GTK_ALIGN_START);
+        combo_box->label = gtk_label_new (NULL);
+        gtk_widget_set_halign (combo_box->label, GTK_ALIGN_START);
 
         /* frame */
         frame = gtk_frame_new (NULL);
         gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
         gtk_box_pack_start (GTK_BOX (combo_box), frame, TRUE, TRUE, 0);
 
-        combo_box->priv->drop_box = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
-        combo_box->priv->combobox = gtk_combo_box_new_with_model (combo_box->priv->model);
+        combo_box->drop_box = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+        combo_box->combobox = gtk_combo_box_new_with_model (combo_box->model);
         renderer = gtk_cell_renderer_text_new ();
-        gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box->priv->combobox),
+        gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box->combobox),
                                     renderer, TRUE);
-        gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo_box->priv->combobox),
+        gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo_box->combobox),
                                        renderer,
                                        "text", COL_HUMAN_NAME);
 
         /* Make sure that the combo box isn't too wide when human names are overly long,
          * but that we can still read the full length of it */
         g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
-        g_object_set (G_OBJECT (combo_box->priv->combobox), "popup-fixed-width", FALSE, NULL);
+        g_object_set (G_OBJECT (combo_box->combobox), "popup-fixed-width", FALSE, NULL);
 
-        combo_box->priv->start_box = sbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+        combo_box->start_box = sbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
         gtk_box_pack_start (GTK_BOX (box), sbox, FALSE, FALSE, 0);
 
-        gtk_box_pack_start (GTK_BOX (sbox), combo_box->priv->label, FALSE, FALSE, 0);
+        gtk_box_pack_start (GTK_BOX (sbox), combo_box->label, FALSE, FALSE, 0);
 
-        gtk_box_pack_start (GTK_BOX (box), combo_box->priv->combobox, TRUE, TRUE, 0);
+        gtk_box_pack_start (GTK_BOX (box), combo_box->combobox, TRUE, TRUE, 0);
 
-        combo_box->priv->button = gtk_button_new_with_label ("APPLICATION BUG");
-        gtk_button_set_use_underline (GTK_BUTTON (combo_box->priv->button), TRUE);
-        gtk_widget_set_no_show_all (combo_box->priv->button, TRUE);
-        gtk_box_pack_start (GTK_BOX (box), combo_box->priv->button, FALSE, FALSE, 0);
+        combo_box->button = gtk_button_new_with_label ("APPLICATION BUG");
+        gtk_button_set_use_underline (GTK_BUTTON (combo_box->button), TRUE);
+        gtk_widget_set_no_show_all (combo_box->button, TRUE);
+        gtk_box_pack_start (GTK_BOX (box), combo_box->button, FALSE, FALSE, 0);
 
 
-        combo_box->priv->end_box = ebox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+        combo_box->end_box = ebox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
         gtk_box_pack_start (GTK_BOX (box), ebox, FALSE, FALSE, 0);
 
-        if (combo_box->priv->size_group != NULL) {
-                gtk_size_group_add_widget (combo_box->priv->size_group, sbox);
+        if (combo_box->size_group != NULL) {
+                gtk_size_group_add_widget (combo_box->size_group, sbox);
 
-                if (combo_box->priv->symmetric) {
-                        gtk_size_group_add_widget (combo_box->priv->size_group, ebox);
+                if (combo_box->symmetric) {
+                        gtk_size_group_add_widget (combo_box->size_group, ebox);
                 }
         }
 
-        gtk_container_add (GTK_CONTAINER (frame), combo_box->priv->drop_box);
+        gtk_container_add (GTK_CONTAINER (frame), combo_box->drop_box);
         gtk_widget_show_all (frame);
 
-        gtk_label_set_mnemonic_widget (GTK_LABEL (combo_box->priv->label),
-                                       combo_box->priv->combobox);
+        gtk_label_set_mnemonic_widget (GTK_LABEL (combo_box->label),
+                                       combo_box->combobox);
 
-        g_signal_connect (G_OBJECT (combo_box->priv->combobox), "changed",
+        g_signal_connect (G_OBJECT (combo_box->combobox), "changed",
                           G_CALLBACK (on_combo_box_changed), combo_box);
-        g_signal_connect (G_OBJECT (combo_box->priv->button), "clicked",
+        g_signal_connect (G_OBJECT (combo_box->button), "clicked",
                           G_CALLBACK (on_combo_box_button_clicked), combo_box);
 }
 
@@ -375,10 +371,10 @@ gvc_combo_box_finalize (GObject *object)
 
         combo_box = GVC_COMBO_BOX (object);
 
-        g_return_if_fail (combo_box->priv != NULL);
+        g_return_if_fail (combo_box != NULL);
 
-        g_object_unref (combo_box->priv->model);
-        combo_box->priv->model = NULL;
+        g_object_unref (combo_box->model);
+        combo_box->model = NULL;
 
         G_OBJECT_CLASS (gvc_combo_box_parent_class)->finalize (object);
 }
diff --git a/panels/sound/gvc-combo-box.h b/panels/sound/gvc-combo-box.h
index 97c3fb1..77937c2 100644
--- a/panels/sound/gvc-combo-box.h
+++ b/panels/sound/gvc-combo-box.h
@@ -24,29 +24,8 @@
 
 G_BEGIN_DECLS
 
-#define GVC_TYPE_COMBO_BOX         (gvc_combo_box_get_type ())
-#define GVC_COMBO_BOX(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GVC_TYPE_COMBO_BOX, GvcComboBox))
-#define GVC_COMBO_BOX_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GVC_TYPE_COMBO_BOX, GvcComboBoxClass))
-#define GVC_IS_COMBO_BOX(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVC_TYPE_COMBO_BOX))
-#define GVC_IS_COMBO_BOX_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GVC_TYPE_COMBO_BOX))
-#define GVC_COMBO_BOX_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVC_TYPE_COMBO_BOX, GvcComboBoxClass))
-
-typedef struct GvcComboBoxPrivate GvcComboBoxPrivate;
-
-typedef struct
-{
-        GtkBox              parent;
-        GvcComboBoxPrivate *priv;
-} GvcComboBox;
-
-typedef struct
-{
-        GtkBoxClass             parent_class;
-        void (* changed)        (GvcComboBox *combobox, const char *name);
-        void (* button_clicked) (GvcComboBox *combobox);
-} GvcComboBoxClass;
-
-GType               gvc_combo_box_get_type            (void);
+#define GVC_TYPE_COMBO_BOX (gvc_combo_box_get_type ())
+G_DECLARE_FINAL_TYPE (GvcComboBox, gvc_combo_box, GVC, COMBO_BOX, GtkBox)
 
 GtkWidget *         gvc_combo_box_new                 (const char   *label);
 
diff --git a/panels/sound/gvc-level-bar.c b/panels/sound/gvc-level-bar.c
index 24627ce..3941946 100644
--- a/panels/sound/gvc-level-bar.c
+++ b/panels/sound/gvc-level-bar.c
@@ -32,8 +32,6 @@
 
 #define NUM_BOXES 30
 
-#define GVC_LEVEL_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GVC_TYPE_LEVEL_BAR, 
GvcLevelBarPrivate))
-
 #define MIN_HORIZONTAL_BAR_WIDTH   150
 #define HORIZONTAL_BAR_HEIGHT      6
 #define VERTICAL_BAR_WIDTH         6
@@ -59,8 +57,10 @@ typedef struct {
         double       fl_b;
 } LevelBarLayout;
 
-struct GvcLevelBarPrivate
+struct _GvcLevelBar
 {
+        GtkWidget      parent_instance;
+
         GtkOrientation orientation;
         GtkAdjustment *peak_adjustment;
         GtkAdjustment *rms_adjustment;
@@ -132,7 +132,7 @@ fraction_from_adjustment (GvcLevelBar   *bar,
         min = gtk_adjustment_get_lower (adjustment);
         max = gtk_adjustment_get_upper (adjustment);
 
-        switch (bar->priv->scale) {
+        switch (bar->scale) {
         case GVC_LEVEL_SCALE_LINEAR:
                 fraction = (level - min) / (max - min);
                 break;
@@ -151,11 +151,11 @@ reset_max_peak (GvcLevelBar *bar)
 {
         gdouble min;
 
-        min = gtk_adjustment_get_lower (bar->priv->peak_adjustment);
-        bar->priv->max_peak = min;
-        bar->priv->layout.max_peak_num = 0;
+        min = gtk_adjustment_get_lower (bar->peak_adjustment);
+        bar->max_peak = min;
+        bar->layout.max_peak_num = 0;
         gtk_widget_queue_draw (GTK_WIDGET (bar));
-        bar->priv->max_peak_id = 0;
+        bar->max_peak_id = 0;
         return FALSE;
 }
 
@@ -169,51 +169,51 @@ bar_calc_layout (GvcLevelBar *bar)
         GtkStyle *style;
 
         gtk_widget_get_allocation (GTK_WIDGET (bar), &allocation);
-        bar->priv->layout.area.width = allocation.width - 2;
-        bar->priv->layout.area.height = allocation.height - 2;
+        bar->layout.area.width = allocation.width - 2;
+        bar->layout.area.height = allocation.height - 2;
 
         style = gtk_widget_get_style (GTK_WIDGET (bar));
         color = style->bg [GTK_STATE_NORMAL];
-        bar->priv->layout.bg_r = (float)color.red / 65535.0;
-        bar->priv->layout.bg_g = (float)color.green / 65535.0;
-        bar->priv->layout.bg_b = (float)color.blue / 65535.0;
+        bar->layout.bg_r = (float)color.red / 65535.0;
+        bar->layout.bg_g = (float)color.green / 65535.0;
+        bar->layout.bg_b = (float)color.blue / 65535.0;
         color = style->dark [GTK_STATE_NORMAL];
-        bar->priv->layout.bdr_r = (float)color.red / 65535.0;
-        bar->priv->layout.bdr_g = (float)color.green / 65535.0;
-        bar->priv->layout.bdr_b = (float)color.blue / 65535.0;
+        bar->layout.bdr_r = (float)color.red / 65535.0;
+        bar->layout.bdr_g = (float)color.green / 65535.0;
+        bar->layout.bdr_b = (float)color.blue / 65535.0;
         color = style->bg [GTK_STATE_SELECTED];
-        bar->priv->layout.fl_r = (float)color.red / 65535.0;
-        bar->priv->layout.fl_g = (float)color.green / 65535.0;
-        bar->priv->layout.fl_b = (float)color.blue / 65535.0;
-
-        if (bar->priv->orientation == GTK_ORIENTATION_VERTICAL) {
-                peak_level = bar->priv->peak_fraction * bar->priv->layout.area.height;
-                max_peak_level = bar->priv->max_peak * bar->priv->layout.area.height;
-
-                bar->priv->layout.delta = bar->priv->layout.area.height / NUM_BOXES;
-                bar->priv->layout.area.x = 0;
-                bar->priv->layout.area.y = 0;
-                bar->priv->layout.box_height = bar->priv->layout.delta / 2;
-                bar->priv->layout.box_width = bar->priv->layout.area.width;
-                bar->priv->layout.box_radius = bar->priv->layout.box_width / 2;
+        bar->layout.fl_r = (float)color.red / 65535.0;
+        bar->layout.fl_g = (float)color.green / 65535.0;
+        bar->layout.fl_b = (float)color.blue / 65535.0;
+
+        if (bar->orientation == GTK_ORIENTATION_VERTICAL) {
+                peak_level = bar->peak_fraction * bar->layout.area.height;
+                max_peak_level = bar->max_peak * bar->layout.area.height;
+
+                bar->layout.delta = bar->layout.area.height / NUM_BOXES;
+                bar->layout.area.x = 0;
+                bar->layout.area.y = 0;
+                bar->layout.box_height = bar->layout.delta / 2;
+                bar->layout.box_width = bar->layout.area.width;
+                bar->layout.box_radius = bar->layout.box_width / 2;
         } else {
-                peak_level = bar->priv->peak_fraction * bar->priv->layout.area.width;
-                max_peak_level = bar->priv->max_peak * bar->priv->layout.area.width;
-
-                bar->priv->layout.delta = bar->priv->layout.area.width / NUM_BOXES;
-                bar->priv->layout.area.x = 0;
-                bar->priv->layout.area.y = 0;
-                bar->priv->layout.box_width = bar->priv->layout.delta / 2;
-                bar->priv->layout.box_height = bar->priv->layout.area.height;
-                bar->priv->layout.box_radius = bar->priv->layout.box_height / 2;
+                peak_level = bar->peak_fraction * bar->layout.area.width;
+                max_peak_level = bar->max_peak * bar->layout.area.width;
+
+                bar->layout.delta = bar->layout.area.width / NUM_BOXES;
+                bar->layout.area.x = 0;
+                bar->layout.area.y = 0;
+                bar->layout.box_width = bar->layout.delta / 2;
+                bar->layout.box_height = bar->layout.area.height;
+                bar->layout.box_radius = bar->layout.box_height / 2;
         }
 
         /* This can happen if the level bar isn't realized */
-        if (bar->priv->layout.delta == 0)
+        if (bar->layout.delta == 0)
                 return;
 
-        bar->priv->layout.peak_num = peak_level / bar->priv->layout.delta;
-        bar->priv->layout.max_peak_num = max_peak_level / bar->priv->layout.delta;
+        bar->layout.peak_num = peak_level / bar->layout.delta;
+        bar->layout.max_peak_num = max_peak_level / bar->layout.delta;
 }
 
 static void
@@ -222,22 +222,22 @@ update_peak_value (GvcLevelBar *bar)
         gdouble        val;
         LevelBarLayout layout;
 
-        layout = bar->priv->layout;
+        layout = bar->layout;
 
-        val = fraction_from_adjustment (bar, bar->priv->peak_adjustment);
-        bar->priv->peak_fraction = val;
+        val = fraction_from_adjustment (bar, bar->peak_adjustment);
+        bar->peak_fraction = val;
 
-        if (val > bar->priv->max_peak) {
-                if (bar->priv->max_peak_id > 0) {
-                        g_source_remove (bar->priv->max_peak_id);
+        if (val > bar->max_peak) {
+                if (bar->max_peak_id > 0) {
+                        g_source_remove (bar->max_peak_id);
                 }
-                bar->priv->max_peak_id = g_timeout_add_seconds (1, (GSourceFunc)reset_max_peak, bar);
-                bar->priv->max_peak = val;
+                bar->max_peak_id = g_timeout_add_seconds (1, (GSourceFunc)reset_max_peak, bar);
+                bar->max_peak = val;
         }
 
         bar_calc_layout (bar);
 
-        if (layout_changed (&bar->priv->layout, &layout)) {
+        if (layout_changed (&bar->layout, &layout)) {
                 gtk_widget_queue_draw (GTK_WIDGET (bar));
         }
 }
@@ -247,15 +247,15 @@ update_rms_value (GvcLevelBar *bar)
 {
         gdouble val;
 
-        val = fraction_from_adjustment (bar, bar->priv->rms_adjustment);
-        bar->priv->rms_fraction = val;
+        val = fraction_from_adjustment (bar, bar->rms_adjustment);
+        bar->rms_fraction = val;
 }
 
 GtkOrientation
 gvc_level_bar_get_orientation (GvcLevelBar *bar)
 {
         g_return_val_if_fail (GVC_IS_LEVEL_BAR (bar), 0);
-        return bar->priv->orientation;
+        return bar->orientation;
 }
 
 void
@@ -264,8 +264,8 @@ gvc_level_bar_set_orientation (GvcLevelBar   *bar,
 {
         g_return_if_fail (GVC_IS_LEVEL_BAR (bar));
 
-        if (orientation != bar->priv->orientation) {
-                bar->priv->orientation = orientation;
+        if (orientation != bar->orientation) {
+                bar->orientation = orientation;
                 gtk_widget_queue_draw (GTK_WIDGET (bar));
                 g_object_notify (G_OBJECT (bar), "orientation");
         }
@@ -292,16 +292,16 @@ gvc_level_bar_set_peak_adjustment (GvcLevelBar   *bar,
         g_return_if_fail (GVC_LEVEL_BAR (bar));
         g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
 
-        if (bar->priv->peak_adjustment != NULL) {
-                g_signal_handlers_disconnect_by_func (bar->priv->peak_adjustment,
+        if (bar->peak_adjustment != NULL) {
+                g_signal_handlers_disconnect_by_func (bar->peak_adjustment,
                                                       G_CALLBACK (on_peak_adjustment_value_changed),
                                                       bar);
-                g_object_unref (bar->priv->peak_adjustment);
+                g_object_unref (bar->peak_adjustment);
         }
 
-        bar->priv->peak_adjustment = g_object_ref_sink (adjustment);
+        bar->peak_adjustment = g_object_ref_sink (adjustment);
 
-        g_signal_connect (bar->priv->peak_adjustment,
+        g_signal_connect (bar->peak_adjustment,
                           "value-changed",
                           G_CALLBACK (on_peak_adjustment_value_changed),
                           bar);
@@ -318,17 +318,17 @@ gvc_level_bar_set_rms_adjustment (GvcLevelBar   *bar,
         g_return_if_fail (GVC_LEVEL_BAR (bar));
         g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
 
-        if (bar->priv->rms_adjustment != NULL) {
-                g_signal_handlers_disconnect_by_func (bar->priv->peak_adjustment,
+        if (bar->rms_adjustment != NULL) {
+                g_signal_handlers_disconnect_by_func (bar->peak_adjustment,
                                                       G_CALLBACK (on_rms_adjustment_value_changed),
                                                       bar);
-                g_object_unref (bar->priv->rms_adjustment);
+                g_object_unref (bar->rms_adjustment);
         }
 
-        bar->priv->rms_adjustment = g_object_ref_sink (adjustment);
+        bar->rms_adjustment = g_object_ref_sink (adjustment);
 
 
-        g_signal_connect (bar->priv->peak_adjustment,
+        g_signal_connect (bar->peak_adjustment,
                           "value-changed",
                           G_CALLBACK (on_peak_adjustment_value_changed),
                           bar);
@@ -343,7 +343,7 @@ gvc_level_bar_get_peak_adjustment (GvcLevelBar *bar)
 {
         g_return_val_if_fail (GVC_IS_LEVEL_BAR (bar), NULL);
 
-        return bar->priv->peak_adjustment;
+        return bar->peak_adjustment;
 }
 
 GtkAdjustment *
@@ -351,7 +351,7 @@ gvc_level_bar_get_rms_adjustment (GvcLevelBar *bar)
 {
         g_return_val_if_fail (GVC_IS_LEVEL_BAR (bar), NULL);
 
-        return bar->priv->rms_adjustment;
+        return bar->rms_adjustment;
 }
 
 void
@@ -360,8 +360,8 @@ gvc_level_bar_set_scale (GvcLevelBar  *bar,
 {
         g_return_if_fail (GVC_IS_LEVEL_BAR (bar));
 
-        if (scale != bar->priv->scale) {
-                bar->priv->scale = scale;
+        if (scale != bar->scale) {
+                bar->scale = scale;
 
                 update_peak_value (bar);
                 update_rms_value (bar);
@@ -407,16 +407,16 @@ gvc_level_bar_get_property (GObject     *object,
 
         switch (prop_id) {
         case PROP_SCALE:
-                g_value_set_int (value, self->priv->scale);
+                g_value_set_int (value, self->scale);
                 break;
         case PROP_ORIENTATION:
-                g_value_set_enum (value, self->priv->orientation);
+                g_value_set_enum (value, self->orientation);
                 break;
         case PROP_PEAK_ADJUSTMENT:
-                g_value_set_object (value, self->priv->peak_adjustment);
+                g_value_set_object (value, self->peak_adjustment);
                 break;
         case PROP_RMS_ADJUSTMENT:
-                g_value_set_object (value, self->priv->rms_adjustment);
+                g_value_set_object (value, self->rms_adjustment);
                 break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -438,7 +438,7 @@ gvc_level_bar_size_request (GtkWidget      *widget,
 {
         GvcLevelBar *bar = GVC_LEVEL_BAR (widget);
 
-        switch (bar->priv->orientation) {
+        switch (bar->orientation) {
         case GTK_ORIENTATION_VERTICAL:
                 requisition->width = VERTICAL_BAR_WIDTH;
                 requisition->height = MIN_VERTICAL_BAR_HEIGHT;
@@ -504,7 +504,7 @@ gvc_level_bar_size_allocate (GtkWidget     *widget,
         gtk_widget_set_allocation (widget, allocation);
         gtk_widget_get_allocation (widget, allocation);
 
-        if (bar->priv->orientation == GTK_ORIENTATION_VERTICAL) {
+        if (bar->orientation == GTK_ORIENTATION_VERTICAL) {
                 allocation->height = MIN (allocation->height, MIN_VERTICAL_BAR_HEIGHT);
                 allocation->width = MAX (allocation->width, VERTICAL_BAR_WIDTH);
         } else {
@@ -584,37 +584,37 @@ gvc_level_bar_draw (GtkWidget *widget,
 
         cairo_save (cr);
 
-        if (bar->priv->orientation == GTK_ORIENTATION_VERTICAL) {
+        if (bar->orientation == GTK_ORIENTATION_VERTICAL) {
                 int i;
                 int by;
 
                 for (i = 0; i < NUM_BOXES; i++) {
-                        by = i * bar->priv->layout.delta;
+                        by = i * bar->layout.delta;
                         curved_rectangle (cr,
-                                          bar->priv->layout.area.x + 0.5,
+                                          bar->layout.area.x + 0.5,
                                           by + 0.5,
-                                          bar->priv->layout.box_width - 1,
-                                          bar->priv->layout.box_height - 1,
-                                          bar->priv->layout.box_radius);
-                        if ((bar->priv->layout.max_peak_num - 1) == i) {
+                                          bar->layout.box_width - 1,
+                                          bar->layout.box_height - 1,
+                                          bar->layout.box_radius);
+                        if ((bar->layout.max_peak_num - 1) == i) {
                                 /* fill peak foreground */
-                                cairo_set_source_rgb (cr, bar->priv->layout.fl_r, bar->priv->layout.fl_g, 
bar->priv->layout.fl_b);
+                                cairo_set_source_rgb (cr, bar->layout.fl_r, bar->layout.fl_g, 
bar->layout.fl_b);
                                 cairo_fill_preserve (cr);
-                        } else if ((bar->priv->layout.peak_num - 1) >= i) {
+                        } else if ((bar->layout.peak_num - 1) >= i) {
                                 /* fill background */
-                                cairo_set_source_rgb (cr, bar->priv->layout.bg_r, bar->priv->layout.bg_g, 
bar->priv->layout.bg_b);
+                                cairo_set_source_rgb (cr, bar->layout.bg_r, bar->layout.bg_g, 
bar->layout.bg_b);
                                 cairo_fill_preserve (cr);
                                 /* fill foreground */
-                                cairo_set_source_rgba (cr, bar->priv->layout.fl_r, bar->priv->layout.fl_g, 
bar->priv->layout.fl_b, 0.5);
+                                cairo_set_source_rgba (cr, bar->layout.fl_r, bar->layout.fl_g, 
bar->layout.fl_b, 0.5);
                                 cairo_fill_preserve (cr);
                         } else {
                                 /* fill background */
-                                cairo_set_source_rgb (cr, bar->priv->layout.bg_r, bar->priv->layout.bg_g, 
bar->priv->layout.bg_b);
+                                cairo_set_source_rgb (cr, bar->layout.bg_r, bar->layout.bg_g, 
bar->layout.bg_b);
                                 cairo_fill_preserve (cr);
                         }
 
                         /* stroke border */
-                        cairo_set_source_rgb (cr, bar->priv->layout.bdr_r, bar->priv->layout.bdr_g, 
bar->priv->layout.bdr_b);
+                        cairo_set_source_rgb (cr, bar->layout.bdr_r, bar->layout.bdr_g, bar->layout.bdr_b);
                         cairo_set_line_width (cr, 1);
                         cairo_stroke (cr);
                 }
@@ -629,33 +629,33 @@ gvc_level_bar_draw (GtkWidget *widget,
                 }
 
                 for (i = 0; i < NUM_BOXES; i++) {
-                        bx = i * bar->priv->layout.delta;
+                        bx = i * bar->layout.delta;
                         curved_rectangle (cr,
                                           bx + 0.5,
-                                          bar->priv->layout.area.y + 0.5,
-                                          bar->priv->layout.box_width - 1,
-                                          bar->priv->layout.box_height - 1,
-                                          bar->priv->layout.box_radius);
+                                          bar->layout.area.y + 0.5,
+                                          bar->layout.box_width - 1,
+                                          bar->layout.box_height - 1,
+                                          bar->layout.box_radius);
 
-                        if ((bar->priv->layout.max_peak_num - 1) == i) {
+                        if ((bar->layout.max_peak_num - 1) == i) {
                                 /* fill peak foreground */
-                                cairo_set_source_rgb (cr, bar->priv->layout.fl_r, bar->priv->layout.fl_g, 
bar->priv->layout.fl_b);
+                                cairo_set_source_rgb (cr, bar->layout.fl_r, bar->layout.fl_g, 
bar->layout.fl_b);
                                 cairo_fill_preserve (cr);
-                        } else if ((bar->priv->layout.peak_num - 1) >= i) {
+                        } else if ((bar->layout.peak_num - 1) >= i) {
                                 /* fill background */
-                                cairo_set_source_rgb (cr, bar->priv->layout.bg_r, bar->priv->layout.bg_g, 
bar->priv->layout.bg_b);
+                                cairo_set_source_rgb (cr, bar->layout.bg_r, bar->layout.bg_g, 
bar->layout.bg_b);
                                 cairo_fill_preserve (cr);
                                 /* fill foreground */
-                                cairo_set_source_rgba (cr, bar->priv->layout.fl_r, bar->priv->layout.fl_g, 
bar->priv->layout.fl_b, 0.5);
+                                cairo_set_source_rgba (cr, bar->layout.fl_r, bar->layout.fl_g, 
bar->layout.fl_b, 0.5);
                                 cairo_fill_preserve (cr);
                         } else {
                                 /* fill background */
-                                cairo_set_source_rgb (cr, bar->priv->layout.bg_r, bar->priv->layout.bg_g, 
bar->priv->layout.bg_b);
+                                cairo_set_source_rgb (cr, bar->layout.bg_r, bar->layout.bg_g, 
bar->layout.bg_b);
                                 cairo_fill_preserve (cr);
                         }
 
                         /* stroke border */
-                        cairo_set_source_rgb (cr, bar->priv->layout.bdr_r, bar->priv->layout.bdr_g, 
bar->priv->layout.bdr_b);
+                        cairo_set_source_rgb (cr, bar->layout.bdr_r, bar->layout.bdr_g, bar->layout.bdr_b);
                         cairo_set_line_width (cr, 1);
                         cairo_stroke (cr);
                 }
@@ -713,35 +713,31 @@ gvc_level_bar_class_init (GvcLevelBarClass *klass)
                                                            G_MAXINT,
                                                            GVC_LEVEL_SCALE_LINEAR,
                                                            G_PARAM_READWRITE|G_PARAM_CONSTRUCT));
-
-        g_type_class_add_private (klass, sizeof (GvcLevelBarPrivate));
 }
 
 static void
 gvc_level_bar_init (GvcLevelBar *bar)
 {
-        bar->priv = GVC_LEVEL_BAR_GET_PRIVATE (bar);
-
-        bar->priv->peak_adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
+        bar->peak_adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
                                                                          0.0,
                                                                          1.0,
                                                                          0.05,
                                                                          0.1,
                                                                          0.1));
-        g_object_ref_sink (bar->priv->peak_adjustment);
-        g_signal_connect (bar->priv->peak_adjustment,
+        g_object_ref_sink (bar->peak_adjustment);
+        g_signal_connect (bar->peak_adjustment,
                           "value-changed",
                           G_CALLBACK (on_peak_adjustment_value_changed),
                           bar);
 
-        bar->priv->rms_adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
+        bar->rms_adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0,
                                                                         0.0,
                                                                         1.0,
                                                                         0.05,
                                                                         0.1,
                                                                         0.1));
-        g_object_ref_sink (bar->priv->rms_adjustment);
-        g_signal_connect (bar->priv->rms_adjustment,
+        g_object_ref_sink (bar->rms_adjustment);
+        g_signal_connect (bar->rms_adjustment,
                           "value-changed",
                           G_CALLBACK (on_rms_adjustment_value_changed),
                           bar);
@@ -759,12 +755,10 @@ gvc_level_bar_finalize (GObject *object)
 
         bar = GVC_LEVEL_BAR (object);
 
-        if (bar->priv->max_peak_id > 0) {
-                g_source_remove (bar->priv->max_peak_id);
+        if (bar->max_peak_id > 0) {
+                g_source_remove (bar->max_peak_id);
         }
 
-        g_return_if_fail (bar->priv != NULL);
-
         G_OBJECT_CLASS (gvc_level_bar_parent_class)->finalize (object);
 }
 
diff --git a/panels/sound/gvc-level-bar.h b/panels/sound/gvc-level-bar.h
index ebd5dd8..758b011 100644
--- a/panels/sound/gvc-level-bar.h
+++ b/panels/sound/gvc-level-bar.h
@@ -25,25 +25,8 @@
 
 G_BEGIN_DECLS
 
-#define GVC_TYPE_LEVEL_BAR         (gvc_level_bar_get_type ())
-#define GVC_LEVEL_BAR(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GVC_TYPE_LEVEL_BAR, GvcLevelBar))
-#define GVC_LEVEL_BAR_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GVC_TYPE_LEVEL_BAR, GvcLevelBarClass))
-#define GVC_IS_LEVEL_BAR(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVC_TYPE_LEVEL_BAR))
-#define GVC_IS_LEVEL_BAR_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GVC_TYPE_LEVEL_BAR))
-#define GVC_LEVEL_BAR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVC_TYPE_LEVEL_BAR, GvcLevelBarClass))
-
-typedef struct GvcLevelBarPrivate GvcLevelBarPrivate;
-
-typedef struct
-{
-        GtkWidget           parent;
-        GvcLevelBarPrivate *priv;
-} GvcLevelBar;
-
-typedef struct
-{
-        GtkWidgetClass      parent_class;
-} GvcLevelBarClass;
+#define GVC_TYPE_LEVEL_BAR (gvc_level_bar_get_type ())
+G_DECLARE_FINAL_TYPE (GvcLevelBar, gvc_level_bar, GVC, LEVEL_BAR, GtkBox)
 
 typedef enum
 {
@@ -52,8 +35,6 @@ typedef enum
     GVC_LEVEL_SCALE_LAST
 } GvcLevelScale;
 
-GType               gvc_level_bar_get_type            (void);
-
 GtkWidget *         gvc_level_bar_new                 (void);
 void                gvc_level_bar_set_orientation     (GvcLevelBar   *bar,
                                                        GtkOrientation orientation);
diff --git a/panels/sound/gvc-mixer-dialog.c b/panels/sound/gvc-mixer-dialog.c
index a358f03..3caf253 100644
--- a/panels/sound/gvc-mixer-dialog.c
+++ b/panels/sound/gvc-mixer-dialog.c
@@ -46,10 +46,10 @@
 
 #define SCALE_SIZE 128
 
-#define GVC_MIXER_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GVC_TYPE_MIXER_DIALOG, 
GvcMixerDialogPrivate))
-
-struct GvcMixerDialogPrivate
+struct _GvcMixerDialog
 {
+        GtkBox           parent_instance;
+
         GvcMixerControl *mixer_control;
         GHashTable      *bars; /* Application and event bars only */
         GtkWidget       *notebook;
@@ -142,7 +142,7 @@ profile_selection_changed (GvcComboBox    *combo_box,
                 gvc_mixer_ui_device_get_origin (output),
                 gvc_mixer_ui_device_get_id (output));
 
-        if (gvc_mixer_control_change_profile_on_selected_device (dialog->priv->mixer_control, output, 
profile) == FALSE) {
+        if (gvc_mixer_control_change_profile_on_selected_device (dialog->mixer_control, output, profile) == 
FALSE) {
                 g_warning ("Could not change profile on device %s",
                            gvc_mixer_ui_device_get_description (output));
          }
@@ -158,42 +158,42 @@ update_output_settings (GvcMixerDialog      *dialog,
         GtkAdjustment       *adj;
 
         g_debug ("Updating output settings");
-        if (dialog->priv->output_balance_bar != NULL) {
-                gtk_container_remove (GTK_CONTAINER (dialog->priv->output_settings_box),
-                                      dialog->priv->output_balance_bar);
-                dialog->priv->output_balance_bar = NULL;
+        if (dialog->output_balance_bar != NULL) {
+                gtk_container_remove (GTK_CONTAINER (dialog->output_settings_box),
+                                      dialog->output_balance_bar);
+                dialog->output_balance_bar = NULL;
         }
-        if (dialog->priv->output_fade_bar != NULL) {
-                gtk_container_remove (GTK_CONTAINER (dialog->priv->output_settings_box),
-                                      dialog->priv->output_fade_bar);
-                dialog->priv->output_fade_bar = NULL;
+        if (dialog->output_fade_bar != NULL) {
+                gtk_container_remove (GTK_CONTAINER (dialog->output_settings_box),
+                                      dialog->output_fade_bar);
+                dialog->output_fade_bar = NULL;
         }
-        if (dialog->priv->output_lfe_bar != NULL) {
-                gtk_container_remove (GTK_CONTAINER (dialog->priv->output_settings_box),
-                                      dialog->priv->output_lfe_bar);
-                dialog->priv->output_lfe_bar = NULL;
+        if (dialog->output_lfe_bar != NULL) {
+                gtk_container_remove (GTK_CONTAINER (dialog->output_settings_box),
+                                      dialog->output_lfe_bar);
+                dialog->output_lfe_bar = NULL;
         }
-        if (dialog->priv->output_profile_combo != NULL) {
-                gtk_container_remove (GTK_CONTAINER (dialog->priv->output_settings_box),
-                                      dialog->priv->output_profile_combo);
-                dialog->priv->output_profile_combo = NULL;
+        if (dialog->output_profile_combo != NULL) {
+                gtk_container_remove (GTK_CONTAINER (dialog->output_settings_box),
+                                      dialog->output_profile_combo);
+                dialog->output_profile_combo = NULL;
         }
 
-        stream = gvc_mixer_control_get_stream_from_device (dialog->priv->mixer_control,
+        stream = gvc_mixer_control_get_stream_from_device (dialog->mixer_control,
                                                            device);
         if (stream == NULL) {
                 g_warning ("Default sink stream not found");
                 return;
         }
 
-        gvc_channel_bar_set_base_volume (GVC_CHANNEL_BAR (dialog->priv->output_bar),
+        gvc_channel_bar_set_base_volume (GVC_CHANNEL_BAR (dialog->output_bar),
                                          gvc_mixer_stream_get_base_volume (stream));
-        gvc_channel_bar_set_is_amplified (GVC_CHANNEL_BAR (dialog->priv->output_bar),
+        gvc_channel_bar_set_is_amplified (GVC_CHANNEL_BAR (dialog->output_bar),
                                           gvc_mixer_stream_get_can_decibel (stream));
 
        /* Update the adjustment in case the previous bar wasn't decibel
         * capable, and we clipped it */
-        adj = GTK_ADJUSTMENT (gvc_channel_bar_get_adjustment (GVC_CHANNEL_BAR (dialog->priv->output_bar)));
+        adj = GTK_ADJUSTMENT (gvc_channel_bar_get_adjustment (GVC_CHANNEL_BAR (dialog->output_bar)));
        gtk_adjustment_set_value (adj,
                                  gvc_mixer_stream_get_volume (stream));
 
@@ -203,41 +203,41 @@ update_output_settings (GvcMixerDialog      *dialog,
                 return;
         }
 
-        dialog->priv->output_balance_bar = gvc_balance_bar_new (map, BALANCE_TYPE_RL);
-        if (dialog->priv->size_group != NULL) {
-                gvc_balance_bar_set_size_group (GVC_BALANCE_BAR (dialog->priv->output_balance_bar),
-                                                dialog->priv->size_group,
+        dialog->output_balance_bar = gvc_balance_bar_new (map, BALANCE_TYPE_RL);
+        if (dialog->size_group != NULL) {
+                gvc_balance_bar_set_size_group (GVC_BALANCE_BAR (dialog->output_balance_bar),
+                                                dialog->size_group,
                                                 TRUE);
         }
-        gtk_box_pack_start (GTK_BOX (dialog->priv->output_settings_box),
-                            dialog->priv->output_balance_bar,
+        gtk_box_pack_start (GTK_BOX (dialog->output_settings_box),
+                            dialog->output_balance_bar,
                             FALSE, FALSE, 6);
-        gtk_widget_show (dialog->priv->output_balance_bar);
+        gtk_widget_show (dialog->output_balance_bar);
 
         if (gvc_channel_map_can_fade (map)) {
-                dialog->priv->output_fade_bar = gvc_balance_bar_new (map, BALANCE_TYPE_FR);
-                if (dialog->priv->size_group != NULL) {
-                        gvc_balance_bar_set_size_group (GVC_BALANCE_BAR (dialog->priv->output_fade_bar),
-                                                        dialog->priv->size_group,
+                dialog->output_fade_bar = gvc_balance_bar_new (map, BALANCE_TYPE_FR);
+                if (dialog->size_group != NULL) {
+                        gvc_balance_bar_set_size_group (GVC_BALANCE_BAR (dialog->output_fade_bar),
+                                                        dialog->size_group,
                                                         TRUE);
                 }
-                gtk_box_pack_start (GTK_BOX (dialog->priv->output_settings_box),
-                                    dialog->priv->output_fade_bar,
+                gtk_box_pack_start (GTK_BOX (dialog->output_settings_box),
+                                    dialog->output_fade_bar,
                                     FALSE, FALSE, 6);
-                gtk_widget_show (dialog->priv->output_fade_bar);
+                gtk_widget_show (dialog->output_fade_bar);
         }
 
         if (gvc_channel_map_has_lfe (map)) {
-                dialog->priv->output_lfe_bar = gvc_balance_bar_new (map, BALANCE_TYPE_LFE);
-                if (dialog->priv->size_group != NULL) {
-                        gvc_balance_bar_set_size_group (GVC_BALANCE_BAR (dialog->priv->output_lfe_bar),
-                                                        dialog->priv->size_group,
+                dialog->output_lfe_bar = gvc_balance_bar_new (map, BALANCE_TYPE_LFE);
+                if (dialog->size_group != NULL) {
+                        gvc_balance_bar_set_size_group (GVC_BALANCE_BAR (dialog->output_lfe_bar),
+                                                        dialog->size_group,
                                                         TRUE);
                 }
-                gtk_box_pack_start (GTK_BOX (dialog->priv->output_settings_box),
-                                    dialog->priv->output_lfe_bar,
+                gtk_box_pack_start (GTK_BOX (dialog->output_settings_box),
+                                    dialog->output_lfe_bar,
                                     FALSE, FALSE, 6);
-                gtk_widget_show (dialog->priv->output_lfe_bar);
+                gtk_widget_show (dialog->output_lfe_bar);
         }
 
         profiles = gvc_mixer_ui_device_get_profiles (device);
@@ -246,42 +246,42 @@ update_output_settings (GvcMixerDialog      *dialog,
         if (TRUE /*g_list_length((GList *) profiles) >= 2 */) {
                 const gchar *active_profile;
 
-                dialog->priv->output_profile_combo = gvc_combo_box_new (_("_Profile:"));
+                dialog->output_profile_combo = gvc_combo_box_new (_("_Profile:"));
 
-                g_object_set (G_OBJECT (dialog->priv->output_profile_combo), "button-label", _("_Test 
Speakers"), NULL);
-                g_object_set (G_OBJECT (dialog->priv->output_profile_combo),
+                g_object_set (G_OBJECT (dialog->output_profile_combo), "button-label", _("_Test Speakers"), 
NULL);
+                g_object_set (G_OBJECT (dialog->output_profile_combo),
                               "show-button", TRUE, NULL);
-                g_signal_connect (G_OBJECT (dialog->priv->output_profile_combo), "button-clicked",
+                g_signal_connect (G_OBJECT (dialog->output_profile_combo), "button-clicked",
                                   G_CALLBACK (on_test_speakers_clicked), dialog);
 
                 if (profiles)
-                        gvc_combo_box_set_profiles (GVC_COMBO_BOX (dialog->priv->output_profile_combo),
+                        gvc_combo_box_set_profiles (GVC_COMBO_BOX (dialog->output_profile_combo),
                                                     profiles);
-                gtk_box_pack_start (GTK_BOX (dialog->priv->output_settings_box),
-                                    dialog->priv->output_profile_combo,
+                gtk_box_pack_start (GTK_BOX (dialog->output_settings_box),
+                                    dialog->output_profile_combo,
                                     TRUE, FALSE, 6);
 
-                if (dialog->priv->size_group != NULL) {
-                        gvc_combo_box_set_size_group (GVC_COMBO_BOX (dialog->priv->output_profile_combo),
-                                                      dialog->priv->size_group, FALSE);
+                if (dialog->size_group != NULL) {
+                        gvc_combo_box_set_size_group (GVC_COMBO_BOX (dialog->output_profile_combo),
+                                                      dialog->size_group, FALSE);
                 }
 
                 active_profile = gvc_mixer_ui_device_get_active_profile (device);
                 if (active_profile)
-                        gvc_combo_box_set_active (GVC_COMBO_BOX (dialog->priv->output_profile_combo), 
active_profile);
+                        gvc_combo_box_set_active (GVC_COMBO_BOX (dialog->output_profile_combo), 
active_profile);
 
-                g_object_set_data (G_OBJECT (dialog->priv->output_profile_combo),
+                g_object_set_data (G_OBJECT (dialog->output_profile_combo),
                                    "uidevice",
                                    device);
                 if (g_list_length((GList *) profiles))
-                        g_signal_connect (G_OBJECT (dialog->priv->output_profile_combo), "changed",
+                        g_signal_connect (G_OBJECT (dialog->output_profile_combo), "changed",
                                           G_CALLBACK (profile_selection_changed), dialog);
 
-                gtk_widget_show (dialog->priv->output_profile_combo);
+                gtk_widget_show (dialog->output_profile_combo);
         }
 
         /* FIXME: We could make this into a "No settings" label instead */
-        gtk_widget_set_sensitive (dialog->priv->output_balance_bar, gvc_channel_map_can_balance (map));
+        gtk_widget_set_sensitive (dialog->output_balance_bar, gvc_channel_map_can_balance (map));
 }
 
 #define DECAY_STEP .15
@@ -292,15 +292,15 @@ update_input_peak (GvcMixerDialog *dialog,
 {
         GtkAdjustment *adj;
 
-        if (dialog->priv->last_input_peak >= DECAY_STEP) {
-                if (v < dialog->priv->last_input_peak - DECAY_STEP) {
-                        v = dialog->priv->last_input_peak - DECAY_STEP;
+        if (dialog->last_input_peak >= DECAY_STEP) {
+                if (v < dialog->last_input_peak - DECAY_STEP) {
+                        v = dialog->last_input_peak - DECAY_STEP;
                 }
         }
 
-        dialog->priv->last_input_peak = v;
+        dialog->last_input_peak = v;
 
-        adj = gvc_level_bar_get_peak_adjustment (GVC_LEVEL_BAR (dialog->priv->input_level_bar));
+        adj = gvc_level_bar_get_peak_adjustment (GVC_LEVEL_BAR (dialog->input_level_bar));
         if (v >= 0) {
                 gtk_adjustment_set_value (adj, v);
         } else {
@@ -399,7 +399,7 @@ create_monitor_stream_for_source (GvcMixerDialog *dialog,
         g_debug ("Create monitor for %u",
                  gvc_mixer_stream_get_index (stream));
 
-        context = gvc_mixer_control_get_pa_context (dialog->priv->mixer_control);
+        context = gvc_mixer_control_get_pa_context (dialog->mixer_control);
 
         if (pa_context_get_server_protocol_version (context) < 13) {
                 return;
@@ -438,8 +438,8 @@ create_monitor_stream_for_source (GvcMixerDialog *dialog,
                 pa_stream_unref (s);
         } else {
                 g_object_set_data (G_OBJECT (stream), "has-monitor", GINT_TO_POINTER (TRUE));
-                g_object_set_data (G_OBJECT (dialog->priv->input_level_bar), "pa_stream", s);
-                g_object_set_data (G_OBJECT (dialog->priv->input_level_bar), "stream", stream);
+                g_object_set_data (G_OBJECT (dialog->input_level_bar), "pa_stream", s);
+                g_object_set_data (G_OBJECT (dialog->input_level_bar), "stream", stream);
         }
 }
 
@@ -451,15 +451,15 @@ stop_monitor_stream_for_source (GvcMixerDialog *dialog)
         int             res;
         GvcMixerStream *stream;
 
-        s = g_object_get_data (G_OBJECT (dialog->priv->input_level_bar), "pa_stream");
+        s = g_object_get_data (G_OBJECT (dialog->input_level_bar), "pa_stream");
         if (s == NULL)
                 return;
-        stream = g_object_get_data (G_OBJECT (dialog->priv->input_level_bar), "stream");
+        stream = g_object_get_data (G_OBJECT (dialog->input_level_bar), "stream");
         g_assert (stream != NULL);
 
         g_debug ("Stopping monitor for %u", pa_stream_get_index (s));
 
-        context = gvc_mixer_control_get_pa_context (dialog->priv->mixer_control);
+        context = gvc_mixer_control_get_pa_context (dialog->mixer_control);
 
         if (pa_context_get_server_protocol_version (context) < 13) {
                 return;
@@ -468,8 +468,8 @@ stop_monitor_stream_for_source (GvcMixerDialog *dialog)
         res = pa_stream_disconnect (s);
         if (res == 0)
                 g_object_set_data (G_OBJECT (stream), "has-monitor", GINT_TO_POINTER (FALSE));
-        g_object_set_data (G_OBJECT (dialog->priv->input_level_bar), "pa_stream", NULL);
-        g_object_set_data (G_OBJECT (dialog->priv->input_level_bar), "stream", NULL);
+        g_object_set_data (G_OBJECT (dialog->input_level_bar), "pa_stream", NULL);
+        g_object_set_data (G_OBJECT (dialog->input_level_bar), "stream", NULL);
 }
 
 static void
@@ -484,27 +484,27 @@ update_input_settings (GvcMixerDialog   *dialog,
 
         stop_monitor_stream_for_source (dialog);
 
-        if (dialog->priv->input_profile_combo != NULL) {
-                gtk_container_remove (GTK_CONTAINER (dialog->priv->input_settings_box),
-                                      dialog->priv->input_profile_combo);
-                dialog->priv->input_profile_combo = NULL;
+        if (dialog->input_profile_combo != NULL) {
+                gtk_container_remove (GTK_CONTAINER (dialog->input_settings_box),
+                                      dialog->input_profile_combo);
+                dialog->input_profile_combo = NULL;
         }
 
-        stream = gvc_mixer_control_get_stream_from_device (dialog->priv->mixer_control,
+        stream = gvc_mixer_control_get_stream_from_device (dialog->mixer_control,
                                                            device);
         if (stream == NULL) {
                 g_debug ("Default source stream not found");
                 return;
         }
 
-        gvc_channel_bar_set_base_volume (GVC_CHANNEL_BAR (dialog->priv->input_bar),
+        gvc_channel_bar_set_base_volume (GVC_CHANNEL_BAR (dialog->input_bar),
                                          gvc_mixer_stream_get_base_volume (stream));
-        gvc_channel_bar_set_is_amplified (GVC_CHANNEL_BAR (dialog->priv->input_bar),
+        gvc_channel_bar_set_is_amplified (GVC_CHANNEL_BAR (dialog->input_bar),
                                           gvc_mixer_stream_get_can_decibel (stream));
 
        /* Update the adjustment in case the previous bar wasn't decibel
         * capable, and we clipped it */
-        adj = GTK_ADJUSTMENT (gvc_channel_bar_get_adjustment (GVC_CHANNEL_BAR (dialog->priv->input_bar)));
+        adj = GTK_ADJUSTMENT (gvc_channel_bar_get_adjustment (GVC_CHANNEL_BAR (dialog->input_bar)));
        gtk_adjustment_set_value (adj,
                                  gvc_mixer_stream_get_volume (stream));
 
@@ -512,30 +512,30 @@ update_input_settings (GvcMixerDialog   *dialog,
         if (g_list_length ((GList *) profiles) >= 2) {
                 const gchar *active_profile;
 
-                dialog->priv->input_profile_combo = gvc_combo_box_new (_("_Profile:"));
-                gvc_combo_box_set_profiles (GVC_COMBO_BOX (dialog->priv->input_profile_combo),
+                dialog->input_profile_combo = gvc_combo_box_new (_("_Profile:"));
+                gvc_combo_box_set_profiles (GVC_COMBO_BOX (dialog->input_profile_combo),
                                             profiles);
 
-                gtk_box_pack_start (GTK_BOX (dialog->priv->input_settings_box),
-                                    dialog->priv->input_profile_combo,
+                gtk_box_pack_start (GTK_BOX (dialog->input_settings_box),
+                                    dialog->input_profile_combo,
                                     TRUE, TRUE, 0);
 
-                if (dialog->priv->size_group != NULL) {
-                        gvc_combo_box_set_size_group (GVC_COMBO_BOX (dialog->priv->input_profile_combo),
-                                                      dialog->priv->size_group, FALSE);
+                if (dialog->size_group != NULL) {
+                        gvc_combo_box_set_size_group (GVC_COMBO_BOX (dialog->input_profile_combo),
+                                                      dialog->size_group, FALSE);
                 }
 
                 active_profile = gvc_mixer_ui_device_get_active_profile (device);
                 if (active_profile)
-                        gvc_combo_box_set_active (GVC_COMBO_BOX (dialog->priv->input_profile_combo), 
active_profile);
+                        gvc_combo_box_set_active (GVC_COMBO_BOX (dialog->input_profile_combo), 
active_profile);
 
-                g_object_set_data (G_OBJECT (dialog->priv->input_profile_combo),
+                g_object_set_data (G_OBJECT (dialog->input_profile_combo),
                                    "uidevice",
                                    device);
-                g_signal_connect (G_OBJECT (dialog->priv->input_profile_combo), "changed",
+                g_signal_connect (G_OBJECT (dialog->input_profile_combo), "changed",
                                   G_CALLBACK (profile_selection_changed), dialog);
 
-                gtk_widget_show (dialog->priv->input_profile_combo);
+                gtk_widget_show (dialog->input_profile_combo);
         }
 
         create_monitor_stream_for_source (dialog, stream);
@@ -550,25 +550,25 @@ gvc_mixer_dialog_set_mixer_control (GvcMixerDialog  *dialog,
 
         g_object_ref (control);
 
-        if (dialog->priv->mixer_control != NULL) {
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+        if (dialog->mixer_control != NULL) {
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       G_CALLBACK (on_control_active_input_update),
                                                       dialog);
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       G_CALLBACK (on_control_active_output_update),
                                                       dialog);
-                g_object_unref (dialog->priv->mixer_control);
+                g_object_unref (dialog->mixer_control);
         }
 
-        dialog->priv->mixer_control = control;
+        dialog->mixer_control = control;
 
         /* FIXME: Why are some mixer_control signals connected here,
          * and others in the dialog constructor? (And similar for disconnect) */
-        g_signal_connect (dialog->priv->mixer_control,
+        g_signal_connect (dialog->mixer_control,
                           "active-input-update",
                           G_CALLBACK (on_control_active_input_update),
                           dialog);
-        g_signal_connect (dialog->priv->mixer_control,
+        g_signal_connect (dialog->mixer_control,
                           "active-output-update",
                           G_CALLBACK (on_control_active_output_update),
                           dialog);
@@ -581,7 +581,7 @@ gvc_mixer_dialog_get_mixer_control (GvcMixerDialog *dialog)
 {
         g_return_val_if_fail (GVC_IS_MIXER_DIALOG (dialog), NULL);
 
-        return dialog->priv->mixer_control;
+        return dialog->mixer_control;
 }
 
 static void
@@ -677,14 +677,14 @@ lookup_bar_for_stream (GvcMixerDialog *dialog,
 {
         GtkWidget *bar;
 
-        bar = g_hash_table_lookup (dialog->priv->bars, GUINT_TO_POINTER (gvc_mixer_stream_get_id (stream)));
+        bar = g_hash_table_lookup (dialog->bars, GUINT_TO_POINTER (gvc_mixer_stream_get_id (stream)));
         if (bar)
                 return bar;
 
-        if (g_object_get_data (G_OBJECT (dialog->priv->output_bar), "gvc-mixer-dialog-stream") == stream)
-                return dialog->priv->output_bar;
-        if (g_object_get_data (G_OBJECT (dialog->priv->input_bar), "gvc-mixer-dialog-stream") == stream)
-                return dialog->priv->input_bar;
+        if (g_object_get_data (G_OBJECT (dialog->output_bar), "gvc-mixer-dialog-stream") == stream)
+                return dialog->output_bar;
+        if (g_object_get_data (G_OBJECT (dialog->input_bar), "gvc-mixer-dialog-stream") == stream)
+                return dialog->input_bar;
 
         return NULL;
 }
@@ -744,8 +744,8 @@ on_stream_is_muted_notify (GObject        *object,
         gvc_channel_bar_set_is_muted (GVC_CHANNEL_BAR (bar),
                                       is_muted);
 
-        if (stream == gvc_mixer_control_get_default_sink (dialog->priv->mixer_control)) {
-                gtk_widget_set_sensitive (dialog->priv->applications_box,
+        if (stream == gvc_mixer_control_get_default_sink (dialog->mixer_control)) {
+                gtk_widget_set_sensitive (dialog->applications_box,
                                           !is_muted);
         }
 
@@ -756,7 +756,7 @@ save_bar_for_stream (GvcMixerDialog *dialog,
                      GvcMixerStream *stream,
                      GtkWidget      *bar)
 {
-        g_hash_table_insert (dialog->priv->bars,
+        g_hash_table_insert (dialog->bars,
                              GUINT_TO_POINTER (gvc_mixer_stream_get_id (stream)),
                              bar);
 }
@@ -770,9 +770,9 @@ create_bar (GvcMixerDialog *dialog,
 
         bar = gvc_channel_bar_new ();
         gtk_widget_set_sensitive (bar, FALSE);
-        if (add_to_size_group && dialog->priv->size_group != NULL) {
+        if (add_to_size_group && dialog->size_group != NULL) {
                 gvc_channel_bar_set_size_group (GVC_CHANNEL_BAR (bar),
-                                                dialog->priv->size_group,
+                                                dialog->size_group,
                                                 symmetric);
         }
         gvc_channel_bar_set_show_mute (GVC_CHANNEL_BAR (bar),
@@ -824,7 +824,7 @@ active_input_update (GvcMixerDialog *dialog,
         g_debug ("active_input_update device id = %i",
                  gvc_mixer_ui_device_get_id (active_input));
 
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->input_treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->input_treeview));
 
         if (gtk_tree_model_get_iter_first (model, &iter) == FALSE) {
                 g_warning ("No devices in the tree, so cannot set the active output");
@@ -848,20 +848,20 @@ active_input_update (GvcMixerDialog *dialog,
 
                 if (is_selected) {
                         GtkTreeSelection *selection;
-                        selection = gtk_tree_view_get_selection (GTK_TREE_VIEW 
(dialog->priv->input_treeview));
+                        selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->input_treeview));
                         gtk_tree_selection_select_iter (selection, &iter);
                 }
         } while (gtk_tree_model_iter_next (model, &iter));
 
-        stream = gvc_mixer_control_get_stream_from_device (dialog->priv->mixer_control,
+        stream = gvc_mixer_control_get_stream_from_device (dialog->mixer_control,
                                                            active_input);
         if (stream == NULL) {
                 g_warning ("Couldn't find a stream from the active input");
-                gtk_widget_set_sensitive (dialog->priv->input_bar, FALSE);
+                gtk_widget_set_sensitive (dialog->input_bar, FALSE);
                 return;
         }
 
-        bar_set_stream (dialog, dialog->priv->input_bar, stream);
+        bar_set_stream (dialog, dialog->input_bar, stream);
         update_input_settings (dialog, active_input);
 
 }
@@ -881,7 +881,7 @@ active_output_update (GvcMixerDialog   *dialog,
         g_debug ("active output update device id = %i",
                  gvc_mixer_ui_device_get_id (active_output));
 
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->output_treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->output_treeview));
 
         if (gtk_tree_model_get_iter_first (model, &iter) == FALSE){
                 g_warning ("No devices in the tree, so cannot set the active output");
@@ -911,19 +911,19 @@ active_output_update (GvcMixerDialog   *dialog,
 
                 if (is_selected) {
                         GtkTreeSelection *selection;
-                        selection = gtk_tree_view_get_selection (GTK_TREE_VIEW 
(dialog->priv->output_treeview));
+                        selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->output_treeview));
                         gtk_tree_selection_select_iter (selection, &iter);
                 }
         } while (gtk_tree_model_iter_next (model, &iter));
 
-        stream = gvc_mixer_control_get_stream_from_device (dialog->priv->mixer_control,
+        stream = gvc_mixer_control_get_stream_from_device (dialog->mixer_control,
                                                            active_output);
         if (stream == NULL) {
                 g_warning ("Couldn't find a stream from the active output");
                 return;
         }
 
-        bar_set_stream (dialog, dialog->priv->output_bar, stream);
+        bar_set_stream (dialog, dialog->output_bar, stream);
         update_output_settings (dialog, active_output);
 }
 
@@ -948,7 +948,7 @@ bar_set_stream (GvcMixerDialog *dialog,
 
                 g_signal_handlers_disconnect_by_func (old_stream, on_stream_is_muted_notify, dialog);
                 g_signal_handlers_disconnect_by_func (old_stream, on_stream_volume_notify, dialog);
-                g_hash_table_remove (dialog->priv->bars, GUINT_TO_POINTER (gvc_mixer_stream_get_id 
(old_stream)));
+                g_hash_table_remove (dialog->bars, GUINT_TO_POINTER (gvc_mixer_stream_get_id (old_stream)));
         }
 
         gtk_widget_set_sensitive (bar, (stream != NULL));
@@ -998,8 +998,8 @@ add_stream (GvcMixerDialog *dialog,
 
         if (GVC_IS_MIXER_SOURCE (stream) || GVC_IS_MIXER_SINK (stream))
                 return;
-        else if (stream == gvc_mixer_control_get_event_sink_input (dialog->priv->mixer_control)) {
-                bar = dialog->priv->effects_bar;
+        else if (stream == gvc_mixer_control_get_event_sink_input (dialog->mixer_control)) {
+                bar = dialog->effects_bar;
                 g_debug ("Adding effects stream");
         } else {
                 /* Must be an application stream */
@@ -1009,9 +1009,9 @@ add_stream (GvcMixerDialog *dialog,
 
                 bar = create_app_bar (dialog, name,
                                       gvc_mixer_stream_get_icon_name (stream));
-                gtk_box_pack_start (GTK_BOX (dialog->priv->applications_box), bar, FALSE, FALSE, 12);
-                dialog->priv->num_apps++;
-                gtk_widget_hide (dialog->priv->no_apps_label);
+                gtk_box_pack_start (GTK_BOX (dialog->applications_box), bar, FALSE, FALSE, 12);
+                dialog->num_apps++;
+                gtk_widget_hide (dialog->no_apps_label);
         }
 
         /* We should have a bar by now. */
@@ -1029,7 +1029,7 @@ add_stream (GvcMixerDialog *dialog,
 
                         g_signal_handlers_disconnect_by_func (old_stream, on_stream_is_muted_notify, dialog);
                         g_signal_handlers_disconnect_by_func (old_stream, on_stream_volume_notify, dialog);
-                        g_hash_table_remove (dialog->priv->bars, GUINT_TO_POINTER (gvc_mixer_stream_get_id 
(old_stream)));
+                        g_hash_table_remove (dialog->bars, GUINT_TO_POINTER (gvc_mixer_stream_get_id 
(old_stream)));
                 }
                 save_bar_for_stream (dialog, stream, bar);
                 bar_set_stream (dialog, bar, stream);
@@ -1051,7 +1051,7 @@ on_control_stream_added (GvcMixerControl *control,
 
         app_id = gvc_mixer_stream_get_application_id (stream);
 
-        if (stream == gvc_mixer_control_get_event_sink_input (dialog->priv->mixer_control) ||
+        if (stream == gvc_mixer_control_get_event_sink_input (dialog->mixer_control) ||
             (GVC_IS_MIXER_SOURCE (stream) == FALSE &&
              GVC_IS_MIXER_SINK (stream) == FALSE &&
              gvc_mixer_stream_is_virtual (stream) == FALSE &&
@@ -1060,7 +1060,7 @@ on_control_stream_added (GvcMixerControl *control,
              g_strcmp0 (app_id, "org.PulseAudio.pavucontrol") != 0)) {
                 GtkWidget      *bar;
 
-                bar = g_hash_table_lookup (dialog->priv->bars, GUINT_TO_POINTER (id));
+                bar = g_hash_table_lookup (dialog->bars, GUINT_TO_POINTER (id));
                 if (bar != NULL) {
                         g_debug ("GvcMixerDialog: Stream %u already added", id);
                         return;
@@ -1136,7 +1136,7 @@ add_input_ui_entry (GvcMixerDialog *dialog,
         if (icon == NULL) {
                 GvcMixerStream *stream;
                 g_debug ("just detected a network source");
-                stream = gvc_mixer_control_get_stream_from_device (dialog->priv->mixer_control, input);
+                stream = gvc_mixer_control_get_stream_from_device (dialog->mixer_control, input);
                 if (stream == NULL) {
                         g_warning ("tried to add the network source but the stream was null - fail ?!");
                         g_free (final_name);
@@ -1145,7 +1145,7 @@ add_input_ui_entry (GvcMixerDialog *dialog,
                 icon = gvc_mixer_stream_get_gicon (stream);
         }
 
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->input_treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->input_treeview));
         gtk_list_store_append (GTK_LIST_STORE (model), &iter);
 
         gtk_list_store_set (GTK_LIST_STORE (model),
@@ -1202,7 +1202,7 @@ add_output_ui_entry (GvcMixerDialog   *dialog,
                 GvcMixerStream *stream;
 
                 g_debug ("just detected a network sink");
-                stream = gvc_mixer_control_get_stream_from_device (dialog->priv->mixer_control, output);
+                stream = gvc_mixer_control_get_stream_from_device (dialog->mixer_control, output);
 
                 if (stream == NULL) {
                         g_warning ("tried to add the network sink but the stream was null - fail ?!");
@@ -1212,7 +1212,7 @@ add_output_ui_entry (GvcMixerDialog   *dialog,
                 icon = gvc_mixer_stream_get_gicon (stream);
         }
 
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->output_treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->output_treeview));
         gtk_list_store_append (GTK_LIST_STORE (model), &iter);
 
         gtk_list_store_set (GTK_LIST_STORE (model),
@@ -1297,7 +1297,7 @@ on_control_input_removed (GvcMixerControl *control,
                  stream_id);
 
         /* remove from any models */
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->input_treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->input_treeview));
         found = find_item_by_id (GTK_TREE_MODEL (model), id, ID_COLUMN, &iter);
         if (found) {
                 gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
@@ -1342,7 +1342,7 @@ on_control_output_removed (GvcMixerControl *control,
                   sink_stream_id);
 
          /* remove from any models */
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->output_treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->output_treeview));
         found = find_item_by_id (GTK_TREE_MODEL (model), id, ID_COLUMN, &iter);
         if (found) {
                 gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
@@ -1356,25 +1356,25 @@ remove_stream (GvcMixerDialog  *dialog,
         GtkWidget *bar;
         guint output_id, input_id;
 
-        bar = g_hash_table_lookup (dialog->priv->bars, GUINT_TO_POINTER (id));
+        bar = g_hash_table_lookup (dialog->bars, GUINT_TO_POINTER (id));
         if (bar != NULL) {
-                g_hash_table_remove (dialog->priv->bars, GUINT_TO_POINTER (id));
+                g_hash_table_remove (dialog->bars, GUINT_TO_POINTER (id));
                 gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (bar)),
                                       bar);
-                dialog->priv->num_apps--;
-                if (dialog->priv->num_apps == 0) {
-                        gtk_widget_show (dialog->priv->no_apps_label);
+                dialog->num_apps--;
+                if (dialog->num_apps == 0) {
+                        gtk_widget_show (dialog->no_apps_label);
                 }
                 return;
         }
 
-       output_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (dialog->priv->output_bar), 
"gvc-mixer-dialog-stream-id"));
-       input_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (dialog->priv->input_bar), 
"gvc-mixer-dialog-stream-id"));
+       output_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (dialog->output_bar), 
"gvc-mixer-dialog-stream-id"));
+       input_id = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (dialog->input_bar), 
"gvc-mixer-dialog-stream-id"));
 
        if (output_id == id)
-               bar = dialog->priv->output_bar;
+               bar = dialog->output_bar;
        else if (input_id == id)
-               bar = dialog->priv->input_bar;
+               bar = dialog->input_bar;
        else
                return;
 
@@ -1420,14 +1420,14 @@ on_input_selection_changed (GtkTreeSelection *selection,
                             ACTIVE_COLUMN, &active,
                             -1);
 
-        input = gvc_mixer_control_lookup_input_id (dialog->priv->mixer_control, id);
+        input = gvc_mixer_control_lookup_input_id (dialog->mixer_control, id);
 
         if (input == NULL) {
                 g_warning ("on_input_selection_changed - Unable to find input with id: %u", id);
                 return;
         }
 
-        gvc_mixer_control_change_input (dialog->priv->mixer_control, input);
+        gvc_mixer_control_change_input (dialog->mixer_control, input);
 }
 
 static void
@@ -1454,14 +1454,14 @@ on_output_selection_changed (GtkTreeSelection *selection,
         if (active)
                 return;
 
-        output = gvc_mixer_control_lookup_output_id (dialog->priv->mixer_control, id);
+        output = gvc_mixer_control_lookup_output_id (dialog->mixer_control, id);
 
         if (output == NULL) {
                 g_warning ("Unable to find output with id: %u", id);
                 return;
         }
 
-        gvc_mixer_control_change_output (dialog->priv->mixer_control, output);
+        gvc_mixer_control_change_output (dialog->mixer_control, output);
 }
 
 static GtkWidget *
@@ -1532,7 +1532,7 @@ on_test_speakers_clicked (GvcComboBox *widget,
         GtkWidget           *d, *speaker_test, *container;
         char                *title;
 
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->priv->output_treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->output_treeview));
 
         if (gtk_tree_model_get_iter_first (model, &iter) == FALSE) {
                 g_warning ("The tree is empty => we have no device to test speakers with return");
@@ -1559,7 +1559,7 @@ on_test_speakers_clicked (GvcComboBox *widget,
                 return;
         }
 
-        output = gvc_mixer_control_lookup_output_id (dialog->priv->mixer_control, (guint)active_output);
+        output = gvc_mixer_control_lookup_output_id (dialog->mixer_control, (guint)active_output);
         stream_id = gvc_mixer_ui_device_get_stream_id (output);
 
         if (stream_id == GVC_MIXER_UI_DEVICE_INVALID)
@@ -1567,7 +1567,7 @@ on_test_speakers_clicked (GvcComboBox *widget,
 
         g_debug ("Test speakers on '%s'", gvc_mixer_ui_device_get_description (output));
 
-        stream = gvc_mixer_control_lookup_stream_id (dialog->priv->mixer_control, stream_id);
+        stream = gvc_mixer_control_lookup_stream_id (dialog->mixer_control, stream_id);
         if (stream == NULL) {
                 g_debug ("Stream/sink not found");
                 return;
@@ -1582,15 +1582,15 @@ on_test_speakers_clicked (GvcComboBox *widget,
                                            NULL);
 
         g_free (title);
-        speaker_test = gvc_speaker_test_new (dialog->priv->mixer_control,
+        speaker_test = gvc_speaker_test_new (dialog->mixer_control,
                                              stream);
         gtk_widget_show (speaker_test);
         container = gtk_dialog_get_content_area (GTK_DIALOG (d));
         gtk_container_add (GTK_CONTAINER (container), speaker_test);
 
-        dialog->priv->test_dialog = d;
+        dialog->test_dialog = d;
         g_object_add_weak_pointer (G_OBJECT (d),
-                                   (gpointer *) &dialog->priv->test_dialog);
+                                   (gpointer *) &dialog->test_dialog);
         gtk_dialog_run (GTK_DIALOG (d));
         gtk_widget_destroy (d);
 }
@@ -1621,30 +1621,30 @@ gvc_mixer_dialog_constructor (GType                  type,
 
         gtk_container_set_border_width (GTK_CONTAINER (self), 12);
 
-        self->priv->output_stream_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
-        gtk_widget_set_margin_top (self->priv->output_stream_box, 12);
+        self->output_stream_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+        gtk_widget_set_margin_top (self->output_stream_box, 12);
         gtk_box_pack_start (GTK_BOX (main_vbox),
-                            self->priv->output_stream_box,
+                            self->output_stream_box,
                             FALSE, FALSE, 0);
-        self->priv->output_bar = create_bar (self, TRUE, TRUE);
-        gvc_channel_bar_set_name (GVC_CHANNEL_BAR (self->priv->output_bar),
+        self->output_bar = create_bar (self, TRUE, TRUE);
+        gvc_channel_bar_set_name (GVC_CHANNEL_BAR (self->output_bar),
                                   _("_Output volume:"));
-        gtk_widget_set_sensitive (self->priv->output_bar, FALSE);
-        gtk_box_pack_start (GTK_BOX (self->priv->output_stream_box),
-                            self->priv->output_bar, TRUE, TRUE, 12);
+        gtk_widget_set_sensitive (self->output_bar, FALSE);
+        gtk_box_pack_start (GTK_BOX (self->output_stream_box),
+                            self->output_bar, TRUE, TRUE, 12);
 
-        self->priv->notebook = gtk_notebook_new ();
+        self->notebook = gtk_notebook_new ();
         gtk_box_pack_start (GTK_BOX (main_vbox),
-                            self->priv->notebook,
+                            self->notebook,
                             TRUE, TRUE, 0);
-        gtk_container_set_border_width (GTK_CONTAINER (self->priv->notebook), 5);
+        gtk_container_set_border_width (GTK_CONTAINER (self->notebook), 5);
 
         /* Output page */
-        self->priv->output_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
-        gtk_container_set_border_width (GTK_CONTAINER (self->priv->output_box), 12);
+        self->output_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+        gtk_container_set_border_width (GTK_CONTAINER (self->output_box), 12);
         label = gtk_label_new (_("Output"));
-        gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
-                                  self->priv->output_box,
+        gtk_notebook_append_page (GTK_NOTEBOOK (self->notebook),
+                                  self->output_box,
                                   label);
 
         box = gtk_frame_new (_("C_hoose a device for sound output:"));
@@ -1652,11 +1652,11 @@ gvc_mixer_dialog_constructor (GType                  type,
         _gtk_label_make_bold (GTK_LABEL (label));
         gtk_label_set_use_underline (GTK_LABEL (label), TRUE);
         gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_NONE);
-        gtk_box_pack_start (GTK_BOX (self->priv->output_box), box, TRUE, TRUE, 0);
+        gtk_box_pack_start (GTK_BOX (self->output_box), box, TRUE, TRUE, 0);
 
-        self->priv->output_treeview = create_ui_device_treeview (self,
+        self->output_treeview = create_ui_device_treeview (self,
                                                                  G_CALLBACK (on_output_selection_changed));
-        gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->priv->output_treeview);
+        gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->output_treeview);
 
         sw = gtk_scrolled_window_new (NULL, NULL);
         gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
@@ -1664,7 +1664,7 @@ gvc_mixer_dialog_constructor (GType                  type,
                                         GTK_POLICY_AUTOMATIC);
         gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
                                              GTK_SHADOW_IN);
-        gtk_container_add (GTK_CONTAINER (sw), self->priv->output_treeview);
+        gtk_container_add (GTK_CONTAINER (sw), self->output_treeview);
         gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW (sw), 150);
         gtk_widget_set_margin_top (sw, 6);
         gtk_container_add (GTK_CONTAINER (box), sw);
@@ -1673,33 +1673,33 @@ gvc_mixer_dialog_constructor (GType                  type,
         label = gtk_frame_get_label_widget (GTK_FRAME (box));
         _gtk_label_make_bold (GTK_LABEL (label));
         gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_NONE);
-        gtk_box_pack_start (GTK_BOX (self->priv->output_box), box, FALSE, FALSE, 12);
-        self->priv->output_settings_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-        gtk_container_add (GTK_CONTAINER (box), self->priv->output_settings_box);
+        gtk_box_pack_start (GTK_BOX (self->output_box), box, FALSE, FALSE, 12);
+        self->output_settings_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+        gtk_container_add (GTK_CONTAINER (box), self->output_settings_box);
 
         /* Input page */
-        self->priv->input_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
-        gtk_container_set_border_width (GTK_CONTAINER (self->priv->input_box), 12);
+        self->input_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+        gtk_container_set_border_width (GTK_CONTAINER (self->input_box), 12);
         label = gtk_label_new (_("Input"));
-        gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
-                                  self->priv->input_box,
+        gtk_notebook_append_page (GTK_NOTEBOOK (self->notebook),
+                                  self->input_box,
                                   label);
 
-        self->priv->input_bar = create_bar (self, TRUE, TRUE);
-        gvc_channel_bar_set_name (GVC_CHANNEL_BAR (self->priv->input_bar),
+        self->input_bar = create_bar (self, TRUE, TRUE);
+        gvc_channel_bar_set_name (GVC_CHANNEL_BAR (self->input_bar),
                                   _("_Input volume:"));
-        gvc_channel_bar_set_low_icon_name (GVC_CHANNEL_BAR (self->priv->input_bar),
+        gvc_channel_bar_set_low_icon_name (GVC_CHANNEL_BAR (self->input_bar),
                                            "audio-input-microphone-low-symbolic");
-        gvc_channel_bar_set_high_icon_name (GVC_CHANNEL_BAR (self->priv->input_bar),
+        gvc_channel_bar_set_high_icon_name (GVC_CHANNEL_BAR (self->input_bar),
                                             "audio-input-microphone-high-symbolic");
-        gtk_widget_set_sensitive (self->priv->input_bar, FALSE);
-        gtk_widget_set_margin_top (self->priv->input_bar, 6);
-        gtk_box_pack_start (GTK_BOX (self->priv->input_box),
-                            self->priv->input_bar,
+        gtk_widget_set_sensitive (self->input_bar, FALSE);
+        gtk_widget_set_margin_top (self->input_bar, 6);
+        gtk_box_pack_start (GTK_BOX (self->input_box),
+                            self->input_bar,
                             FALSE, FALSE, 0);
 
         box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
-        gtk_box_pack_start (GTK_BOX (self->priv->input_box),
+        gtk_box_pack_start (GTK_BOX (self->input_box),
                             box,
                             FALSE, FALSE, 6);
 
@@ -1712,26 +1712,26 @@ gvc_mixer_dialog_constructor (GType                  type,
         gtk_box_pack_start (GTK_BOX (sbox),
                             label,
                             FALSE, FALSE, 0);
-        if (self->priv->size_group != NULL)
-                gtk_size_group_add_widget (self->priv->size_group, sbox);
+        if (self->size_group != NULL)
+                gtk_size_group_add_widget (self->size_group, sbox);
 
-        self->priv->input_level_bar = gvc_level_bar_new ();
-        gvc_level_bar_set_scale (GVC_LEVEL_BAR (self->priv->input_level_bar),
+        self->input_level_bar = gvc_level_bar_new ();
+        gvc_level_bar_set_scale (GVC_LEVEL_BAR (self->input_level_bar),
                                  GVC_LEVEL_SCALE_LINEAR);
         gtk_box_pack_start (GTK_BOX (box),
-                            self->priv->input_level_bar,
+                            self->input_level_bar,
                             TRUE, TRUE, 6);
 
         ebox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
         gtk_box_pack_start (GTK_BOX (box),
                             ebox,
                             FALSE, FALSE, 0);
-        if (self->priv->size_group != NULL)
-                gtk_size_group_add_widget (self->priv->size_group, ebox);
+        if (self->size_group != NULL)
+                gtk_size_group_add_widget (self->size_group, ebox);
 
-        self->priv->input_settings_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
-        gtk_box_pack_start (GTK_BOX (self->priv->input_box),
-                            self->priv->input_settings_box,
+        self->input_settings_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+        gtk_box_pack_start (GTK_BOX (self->input_box),
+                            self->input_settings_box,
                             FALSE, FALSE, 0);
 
         box = gtk_frame_new (_("C_hoose a device for sound input:"));
@@ -1739,11 +1739,11 @@ gvc_mixer_dialog_constructor (GType                  type,
         _gtk_label_make_bold (GTK_LABEL (label));
         gtk_label_set_use_underline (GTK_LABEL (label), TRUE);
         gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_NONE);
-        gtk_box_pack_start (GTK_BOX (self->priv->input_box), box, TRUE, TRUE, 0);
+        gtk_box_pack_start (GTK_BOX (self->input_box), box, TRUE, TRUE, 0);
 
-        self->priv->input_treeview = create_ui_device_treeview (self,
+        self->input_treeview = create_ui_device_treeview (self,
                                                                 G_CALLBACK (on_input_selection_changed));
-        gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->priv->input_treeview);
+        gtk_label_set_mnemonic_widget (GTK_LABEL (label), self->input_treeview);
 
         sw = gtk_scrolled_window_new (NULL, NULL);
         gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
@@ -1751,71 +1751,71 @@ gvc_mixer_dialog_constructor (GType                  type,
                                         GTK_POLICY_AUTOMATIC);
         gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
                                              GTK_SHADOW_IN);
-        gtk_container_add (GTK_CONTAINER (sw), self->priv->input_treeview);
+        gtk_container_add (GTK_CONTAINER (sw), self->input_treeview);
         gtk_widget_set_margin_top (sw, 6);
         gtk_container_add (GTK_CONTAINER (box), sw);
 
         /* Effects page */
-        self->priv->sound_effects_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
-        gtk_container_set_border_width (GTK_CONTAINER (self->priv->sound_effects_box), 12);
+        self->sound_effects_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+        gtk_container_set_border_width (GTK_CONTAINER (self->sound_effects_box), 12);
         label = gtk_label_new (_("Sound Effects"));
-        gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
-                                  self->priv->sound_effects_box,
+        gtk_notebook_append_page (GTK_NOTEBOOK (self->notebook),
+                                  self->sound_effects_box,
                                   label);
 
-        self->priv->effects_bar = create_bar (self, TRUE, TRUE);
-        gvc_channel_bar_set_name (GVC_CHANNEL_BAR (self->priv->effects_bar),
+        self->effects_bar = create_bar (self, TRUE, TRUE);
+        gvc_channel_bar_set_name (GVC_CHANNEL_BAR (self->effects_bar),
                                   _("_Alert volume:"));
-        gtk_widget_set_sensitive (self->priv->effects_bar, FALSE);
-        gtk_box_pack_start (GTK_BOX (self->priv->sound_effects_box),
-                            self->priv->effects_bar, FALSE, FALSE, 0);
+        gtk_widget_set_sensitive (self->effects_bar, FALSE);
+        gtk_box_pack_start (GTK_BOX (self->sound_effects_box),
+                            self->effects_bar, FALSE, FALSE, 0);
 
-        self->priv->sound_theme_chooser = gvc_sound_theme_chooser_new ();
-        gtk_box_pack_start (GTK_BOX (self->priv->sound_effects_box),
-                            self->priv->sound_theme_chooser,
+        self->sound_theme_chooser = gvc_sound_theme_chooser_new ();
+        gtk_box_pack_start (GTK_BOX (self->sound_effects_box),
+                            self->sound_theme_chooser,
                             TRUE, TRUE, 6);
 
         /* Applications */
-        self->priv->applications_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
-        gtk_container_set_border_width (GTK_CONTAINER (self->priv->applications_box), 12);
+        self->applications_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
+        gtk_container_set_border_width (GTK_CONTAINER (self->applications_box), 12);
         label = gtk_label_new (_("Applications"));
-        gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
-                                  self->priv->applications_box,
+        gtk_notebook_append_page (GTK_NOTEBOOK (self->notebook),
+                                  self->applications_box,
                                   label);
-        self->priv->no_apps_label = gtk_label_new (_("No application is currently playing or recording 
audio."));
-        gtk_box_pack_start (GTK_BOX (self->priv->applications_box),
-                            self->priv->no_apps_label,
+        self->no_apps_label = gtk_label_new (_("No application is currently playing or recording audio."));
+        gtk_box_pack_start (GTK_BOX (self->applications_box),
+                            self->no_apps_label,
                             TRUE, TRUE, 0);
 
-        g_signal_connect (self->priv->mixer_control,
+        g_signal_connect (self->mixer_control,
                           "output-added",
                           G_CALLBACK (on_control_output_added),
                           self);
-        g_signal_connect (self->priv->mixer_control,
+        g_signal_connect (self->mixer_control,
                           "output-removed",
                           G_CALLBACK (on_control_output_removed),
                           self);
-        g_signal_connect (self->priv->mixer_control,
+        g_signal_connect (self->mixer_control,
                           "input-added",
                           G_CALLBACK (on_control_input_added),
                           self);
-        g_signal_connect (self->priv->mixer_control,
+        g_signal_connect (self->mixer_control,
                           "input-removed",
                           G_CALLBACK (on_control_input_removed),
                           self);
 
-        g_signal_connect (self->priv->mixer_control,
+        g_signal_connect (self->mixer_control,
                           "stream-added",
                           G_CALLBACK (on_control_stream_added),
                           self);
-        g_signal_connect (self->priv->mixer_control,
+        g_signal_connect (self->mixer_control,
                           "stream-removed",
                           G_CALLBACK (on_control_stream_removed),
                           self);
 
         gtk_widget_show_all (main_vbox);
 
-        streams = gvc_mixer_control_get_streams (self->priv->mixer_control);
+        streams = gvc_mixer_control_get_streams (self->mixer_control);
         for (l = streams; l != NULL; l = l->next) {
                 stream = l->data;
                 add_stream (self, stream);
@@ -1830,44 +1830,44 @@ gvc_mixer_dialog_dispose (GObject *object)
 {
         GvcMixerDialog *dialog = GVC_MIXER_DIALOG (object);
 
-        if (dialog->priv->mixer_control != NULL) {
+        if (dialog->mixer_control != NULL) {
 
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       on_control_output_added,
                                                       dialog);
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       on_control_output_removed,
                                                       dialog);
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       on_control_input_added,
                                                       dialog);
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       on_control_input_removed,
                                                       dialog);
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       on_control_active_input_update,
                                                       dialog);
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       on_control_active_output_update,
                                                       dialog);
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       on_control_stream_added,
                                                       dialog);
-                g_signal_handlers_disconnect_by_func (dialog->priv->mixer_control,
+                g_signal_handlers_disconnect_by_func (dialog->mixer_control,
                                                       on_control_stream_removed,
                                                       dialog);
 
-                g_object_unref (dialog->priv->mixer_control);
-                dialog->priv->mixer_control = NULL;
+                g_object_unref (dialog->mixer_control);
+                dialog->mixer_control = NULL;
         }
 
-        if (dialog->priv->bars != NULL) {
-                g_hash_table_destroy (dialog->priv->bars);
-                dialog->priv->bars = NULL;
+        if (dialog->bars != NULL) {
+                g_hash_table_destroy (dialog->bars);
+                dialog->bars = NULL;
         }
 
-        if (dialog->priv->test_dialog != NULL) {
-                gtk_dialog_response (GTK_DIALOG (dialog->priv->test_dialog),
+        if (dialog->test_dialog != NULL) {
+                gtk_dialog_response (GTK_DIALOG (dialog->test_dialog),
                                      GTK_RESPONSE_OK);
         }
 
@@ -1892,8 +1892,6 @@ gvc_mixer_dialog_class_init (GvcMixerDialogClass *klass)
                                                               "mixer control",
                                                               GVC_TYPE_MIXER_CONTROL,
                                                               G_PARAM_READWRITE|G_PARAM_CONSTRUCT));
-
-        g_type_class_add_private (klass, sizeof (GvcMixerDialogPrivate));
 }
 
 
@@ -1902,9 +1900,8 @@ gvc_mixer_dialog_init (GvcMixerDialog *dialog)
 {
         gtk_orientable_set_orientation (GTK_ORIENTABLE (dialog),
                                         GTK_ORIENTATION_VERTICAL);
-        dialog->priv = GVC_MIXER_DIALOG_GET_PRIVATE (dialog);
-        dialog->priv->bars = g_hash_table_new (NULL, NULL);
-        dialog->priv->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+        dialog->bars = g_hash_table_new (NULL, NULL);
+        dialog->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
 }
 
 static void
@@ -1917,7 +1914,7 @@ gvc_mixer_dialog_finalize (GObject *object)
 
         mixer_dialog = GVC_MIXER_DIALOG (object);
 
-        g_return_if_fail (mixer_dialog->priv != NULL);
+        g_return_if_fail (mixer_dialog != NULL);
         G_OBJECT_CLASS (gvc_mixer_dialog_parent_class)->finalize (object);
 }
 
@@ -1957,7 +1954,7 @@ gvc_mixer_dialog_set_page (GvcMixerDialog *self,
         else if (g_str_equal (page, "applications"))
                 num = PAGE_APPLICATIONS;
 
-        gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook), num);
+        gtk_notebook_set_current_page (GTK_NOTEBOOK (self->notebook), num);
 
         return TRUE;
 }
diff --git a/panels/sound/gvc-mixer-dialog.h b/panels/sound/gvc-mixer-dialog.h
index 7efdcd0..5d8b754 100644
--- a/panels/sound/gvc-mixer-dialog.h
+++ b/panels/sound/gvc-mixer-dialog.h
@@ -25,27 +25,8 @@
 
 G_BEGIN_DECLS
 
-#define GVC_TYPE_MIXER_DIALOG         (gvc_mixer_dialog_get_type ())
-#define GVC_MIXER_DIALOG(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GVC_TYPE_MIXER_DIALOG, 
GvcMixerDialog))
-#define GVC_MIXER_DIALOG_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GVC_TYPE_MIXER_DIALOG, 
GvcMixerDialogClass))
-#define GVC_IS_MIXER_DIALOG(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVC_TYPE_MIXER_DIALOG))
-#define GVC_IS_MIXER_DIALOG_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GVC_TYPE_MIXER_DIALOG))
-#define GVC_MIXER_DIALOG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVC_TYPE_MIXER_DIALOG, 
GvcMixerDialogClass))
-
-typedef struct GvcMixerDialogPrivate GvcMixerDialogPrivate;
-
-typedef struct
-{
-        GtkVBox                parent;
-        GvcMixerDialogPrivate *priv;
-} GvcMixerDialog;
-
-typedef struct
-{
-        GtkVBoxClass           parent_class;
-} GvcMixerDialogClass;
-
-GType               gvc_mixer_dialog_get_type            (void);
+#define GVC_TYPE_MIXER_DIALOG (gvc_mixer_dialog_get_type ())
+G_DECLARE_FINAL_TYPE (GvcMixerDialog, gvc_mixer_dialog, GVC, MIXER_DIALOG, GtkBox)
 
 GvcMixerDialog *    gvc_mixer_dialog_new                 (GvcMixerControl *control);
 gboolean            gvc_mixer_dialog_set_page            (GvcMixerDialog *dialog, const gchar* page);
diff --git a/panels/sound/gvc-sound-theme-chooser.c b/panels/sound/gvc-sound-theme-chooser.c
index 4d1ac98..cd63dc9 100644
--- a/panels/sound/gvc-sound-theme-chooser.c
+++ b/panels/sound/gvc-sound-theme-chooser.c
@@ -37,10 +37,9 @@
 #include "gvc-sound-theme-chooser.h"
 #include "sound-theme-file-utils.h"
 
-#define GVC_SOUND_THEME_CHOOSER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
GVC_TYPE_SOUND_THEME_CHOOSER, GvcSoundThemeChooserPrivate))
-
-struct GvcSoundThemeChooserPrivate
+struct _GvcSoundThemeChooser
 {
+        GtkBox     parent_instance;
         GtkWidget *treeview;
         GtkWidget *selection_box;
         GSettings *settings;
@@ -290,7 +289,7 @@ update_alert_model (GvcSoundThemeChooser  *chooser,
         GtkTreeModel *model;
         GtkTreeIter   iter;
 
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (chooser->priv->treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (chooser->treeview));
         g_assert (gtk_tree_model_get_iter_first (model, &iter));
         do {
                 char    *this_id;
@@ -302,7 +301,7 @@ update_alert_model (GvcSoundThemeChooser  *chooser,
                 if (strcmp (this_id, id) == 0) {
                         GtkTreeSelection *selection;
 
-                        selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (chooser->priv->treeview));
+                        selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (chooser->treeview));
                         gtk_tree_selection_select_iter (selection, &iter);
                 }
 
@@ -321,13 +320,13 @@ save_theme_name (GvcSoundThemeChooser *chooser,
 
         /* special case for no sounds */
         if (strcmp (theme_name, NO_SOUNDS_THEME_NAME) == 0) {
-                g_settings_set_boolean (chooser->priv->sound_settings, EVENT_SOUNDS_KEY, FALSE);
+                g_settings_set_boolean (chooser->sound_settings, EVENT_SOUNDS_KEY, FALSE);
                 return;
         } else {
-                g_settings_set_boolean (chooser->priv->sound_settings, EVENT_SOUNDS_KEY, TRUE);
+                g_settings_set_boolean (chooser->sound_settings, EVENT_SOUNDS_KEY, TRUE);
         }
 
-        g_settings_set_string (chooser->priv->sound_settings, SOUND_THEME_KEY, theme_name);
+        g_settings_set_string (chooser->sound_settings, SOUND_THEME_KEY, theme_name);
 }
 
 static gboolean
@@ -397,7 +396,7 @@ update_alert (GvcSoundThemeChooser *chooser,
         gboolean      add_custom;
         gboolean      remove_custom;
 
-        is_custom = strcmp (chooser->priv->current_theme, CUSTOM_THEME_NAME) == 0;
+        is_custom = strcmp (chooser->current_theme, CUSTOM_THEME_NAME) == 0;
         is_default = strcmp (alert_id, DEFAULT_ALERT_ID) == 0;
 
         /* So a few possibilities:
@@ -412,8 +411,8 @@ update_alert (GvcSoundThemeChooser *chooser,
                 /* remove custom just in case */
                 remove_custom = TRUE;
         } else if (! is_custom && ! is_default) {
-                if (chooser->priv->current_parent)
-                        create_custom_theme (chooser->priv->current_parent);
+                if (chooser->current_parent)
+                        create_custom_theme (chooser->current_parent);
                 else
                         create_custom_theme (DEFAULT_THEME);
                 save_alert_sounds (chooser, alert_id);
@@ -433,7 +432,7 @@ update_alert (GvcSoundThemeChooser *chooser,
         } else if (remove_custom) {
                 delete_custom_theme_dir ();
                 if (is_custom) {
-                        save_theme_name (chooser, chooser->priv->current_parent);
+                        save_theme_name (chooser, chooser->current_parent);
                 }
         }
 
@@ -449,11 +448,11 @@ play_preview_for_id (GvcSoundThemeChooser *chooser,
         /* special case: for the default item on custom themes
          * play the alert for the parent theme */
         if (strcmp (id, DEFAULT_ALERT_ID) == 0) {
-                if (chooser->priv->current_parent != NULL) {
+                if (chooser->current_parent != NULL) {
                         ca_gtk_play_for_widget (GTK_WIDGET (chooser), 0,
                                                 CA_PROP_APPLICATION_NAME, _("Sound Preferences"),
                                                 CA_PROP_EVENT_ID, "bell-window-system",
-                                                CA_PROP_CANBERRA_XDG_THEME_NAME, 
chooser->priv->current_parent,
+                                                CA_PROP_CANBERRA_XDG_THEME_NAME, chooser->current_parent,
                                                 CA_PROP_EVENT_DESCRIPTION, _("Testing event sound"),
                                                 CA_PROP_CANBERRA_CACHE_CONTROL, "never",
                                                 CA_PROP_APPLICATION_ID, "org.gnome.VolumeControl",
@@ -498,7 +497,7 @@ on_treeview_row_activated (GtkTreeView          *treeview,
         GtkTreeIter   iter;
         char         *id;
 
-        model = gtk_tree_view_get_model (GTK_TREE_VIEW (chooser->priv->treeview));
+        model = gtk_tree_view_get_model (GTK_TREE_VIEW (chooser->treeview));
         if (!gtk_tree_model_get_iter (model, &iter, path)) {
                 return;
         }
@@ -630,30 +629,30 @@ update_theme (GvcSoundThemeChooser *chooser)
         gboolean     events_enabled;
         char        *last_theme;
 
-        events_enabled = g_settings_get_boolean (chooser->priv->sound_settings, EVENT_SOUNDS_KEY);
+        events_enabled = g_settings_get_boolean (chooser->sound_settings, EVENT_SOUNDS_KEY);
 
-        last_theme = chooser->priv->current_theme;
+        last_theme = chooser->current_theme;
         if (events_enabled) {
-                chooser->priv->current_theme = g_settings_get_string (chooser->priv->sound_settings, 
SOUND_THEME_KEY);
+                chooser->current_theme = g_settings_get_string (chooser->sound_settings, SOUND_THEME_KEY);
         } else {
-                chooser->priv->current_theme = g_strdup (NO_SOUNDS_THEME_NAME);
+                chooser->current_theme = g_strdup (NO_SOUNDS_THEME_NAME);
         }
 
-        if (g_strcmp0 (last_theme, chooser->priv->current_theme) != 0) {
-                g_clear_pointer (&chooser->priv->current_parent, g_free);
-                if (load_theme_name (chooser->priv->current_theme,
-                                     &chooser->priv->current_parent) == FALSE) {
-                        g_free (chooser->priv->current_theme);
-                        chooser->priv->current_theme = g_strdup (DEFAULT_THEME);
+        if (g_strcmp0 (last_theme, chooser->current_theme) != 0) {
+                g_clear_pointer (&chooser->current_parent, g_free);
+                if (load_theme_name (chooser->current_theme,
+                                     &chooser->current_parent) == FALSE) {
+                        g_free (chooser->current_theme);
+                        chooser->current_theme = g_strdup (DEFAULT_THEME);
                         load_theme_name (DEFAULT_THEME,
-                                         &chooser->priv->current_parent);
+                                         &chooser->current_parent);
                 }
         }
         g_free (last_theme);
 
-        gtk_widget_set_sensitive (chooser->priv->selection_box, events_enabled);
+        gtk_widget_set_sensitive (chooser->selection_box, events_enabled);
 
-        update_alerts_from_theme_name (chooser, chooser->priv->current_theme);
+        update_alerts_from_theme_name (chooser, chooser->current_theme);
 }
 
 static GObject *
@@ -680,8 +679,6 @@ gvc_sound_theme_chooser_class_init (GvcSoundThemeChooserClass *klass)
 
         object_class->constructor = gvc_sound_theme_chooser_constructor;
         object_class->finalize = gvc_sound_theme_chooser_finalize;
-
-        g_type_class_add_private (klass, sizeof (GvcSoundThemeChooserPrivate));
 }
 
 static void
@@ -732,13 +729,12 @@ gvc_sound_theme_chooser_init (GvcSoundThemeChooser *chooser)
 
         gtk_orientable_set_orientation (GTK_ORIENTABLE (chooser),
                                         GTK_ORIENTATION_VERTICAL);
-        chooser->priv = GVC_SOUND_THEME_CHOOSER_GET_PRIVATE (chooser);
 
-        chooser->priv->settings = g_settings_new (WM_SCHEMA);
-        chooser->priv->sound_settings = g_settings_new (KEY_SOUNDS_SCHEMA);
+        chooser->settings = g_settings_new (WM_SCHEMA);
+        chooser->sound_settings = g_settings_new (KEY_SOUNDS_SCHEMA);
 
         str = g_strdup_printf ("<b>%s</b>", _("C_hoose an alert sound:"));
-        chooser->priv->selection_box = box = gtk_frame_new (str);
+        chooser->selection_box = box = gtk_frame_new (str);
         g_free (str);
         label = gtk_frame_get_label_widget (GTK_FRAME (box));
         gtk_label_set_use_underline (GTK_LABEL (label), TRUE);
@@ -748,24 +744,24 @@ gvc_sound_theme_chooser_init (GvcSoundThemeChooser *chooser)
         gtk_widget_set_margin_top (box, 6);
         gtk_box_pack_start (GTK_BOX (chooser), box, TRUE, TRUE, 6);
 
-        chooser->priv->treeview = create_alert_treeview (chooser);
-        gtk_label_set_mnemonic_widget (GTK_LABEL (label), chooser->priv->treeview);
+        chooser->treeview = create_alert_treeview (chooser);
+        gtk_label_set_mnemonic_widget (GTK_LABEL (label), chooser->treeview);
 
         scrolled_window = gtk_scrolled_window_new (NULL, NULL);
-        setup_list_size_constraint (scrolled_window, chooser->priv->treeview);
+        setup_list_size_constraint (scrolled_window, chooser->treeview);
 
         gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
                                         GTK_POLICY_NEVER,
                                         GTK_POLICY_AUTOMATIC);
         gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window),
                                              GTK_SHADOW_IN);
-        gtk_container_add (GTK_CONTAINER (scrolled_window), chooser->priv->treeview);
+        gtk_container_add (GTK_CONTAINER (scrolled_window), chooser->treeview);
         gtk_widget_set_margin_top (scrolled_window, 6);
         gtk_container_add (GTK_CONTAINER (box), scrolled_window);
 
-        g_signal_connect (G_OBJECT (chooser->priv->sound_settings), "changed",
+        g_signal_connect (G_OBJECT (chooser->sound_settings), "changed",
                           G_CALLBACK (on_sound_settings_changed), chooser);
-        g_signal_connect (chooser->priv->settings, "changed::" AUDIO_BELL_KEY,
+        g_signal_connect (chooser->settings, "changed::" AUDIO_BELL_KEY,
                           G_CALLBACK (on_audible_bell_changed), chooser);
 }
 
@@ -779,9 +775,9 @@ gvc_sound_theme_chooser_finalize (GObject *object)
 
         sound_theme_chooser = GVC_SOUND_THEME_CHOOSER (object);
 
-        if (sound_theme_chooser->priv != NULL) {
-                g_object_unref (sound_theme_chooser->priv->settings);
-                g_object_unref (sound_theme_chooser->priv->sound_settings);
+        if (sound_theme_chooser != NULL) {
+                g_object_unref (sound_theme_chooser->settings);
+                g_object_unref (sound_theme_chooser->sound_settings);
         }
 
         G_OBJECT_CLASS (gvc_sound_theme_chooser_parent_class)->finalize (object);
diff --git a/panels/sound/gvc-sound-theme-chooser.h b/panels/sound/gvc-sound-theme-chooser.h
index c3d686c..122a9f0 100644
--- a/panels/sound/gvc-sound-theme-chooser.h
+++ b/panels/sound/gvc-sound-theme-chooser.h
@@ -24,27 +24,8 @@
 
 G_BEGIN_DECLS
 
-#define GVC_TYPE_SOUND_THEME_CHOOSER         (gvc_sound_theme_chooser_get_type ())
-#define GVC_SOUND_THEME_CHOOSER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GVC_TYPE_SOUND_THEME_CHOOSER, 
GvcSoundThemeChooser))
-#define GVC_SOUND_THEME_CHOOSER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GVC_TYPE_SOUND_THEME_CHOOSER, 
GvcSoundThemeChooserClass))
-#define GVC_IS_SOUND_THEME_CHOOSER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVC_TYPE_SOUND_THEME_CHOOSER))
-#define GVC_IS_SOUND_THEME_CHOOSER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GVC_TYPE_SOUND_THEME_CHOOSER))
-#define GVC_SOUND_THEME_CHOOSER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVC_TYPE_SOUND_THEME_CHOOSER, 
GvcSoundThemeChooserClass))
-
-typedef struct GvcSoundThemeChooserPrivate GvcSoundThemeChooserPrivate;
-
-typedef struct
-{
-        GtkVBox                      parent;
-        GvcSoundThemeChooserPrivate *priv;
-} GvcSoundThemeChooser;
-
-typedef struct
-{
-        GtkVBoxClass          parent_class;
-} GvcSoundThemeChooserClass;
-
-GType               gvc_sound_theme_chooser_get_type            (void);
+#define GVC_TYPE_SOUND_THEME_CHOOSER (gvc_sound_theme_chooser_get_type ())
+G_DECLARE_FINAL_TYPE (GvcSoundThemeChooser, gvc_sound_theme_chooser, GVC, SOUND_THEME_CHOOSER, GtkBox)
 
 GtkWidget *         gvc_sound_theme_chooser_new                 (void);
 
diff --git a/panels/sound/gvc-speaker-test.c b/panels/sound/gvc-speaker-test.c
index 279a0f6..a84ecf2 100644
--- a/panels/sound/gvc-speaker-test.c
+++ b/panels/sound/gvc-speaker-test.c
@@ -33,10 +33,9 @@
 #include "gvc-speaker-test.h"
 #include "gvc-mixer-stream.h"
 
-#define GVC_SPEAKER_TEST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GVC_TYPE_SPEAKER_TEST, 
GvcSpeakerTestPrivate))
-
-struct GvcSpeakerTestPrivate
+struct _GvcSpeakerTest
 {
+        GtkGrid          parent_instance;
         GtkWidget       *channel_controls[PA_CHANNEL_POSITION_MAX];
         ca_context      *canberra;
         GvcMixerStream  *stream;
@@ -88,13 +87,13 @@ gvc_speaker_test_set_property (GObject       *object,
 
         switch (prop_id) {
         case PROP_STREAM:
-                self->priv->stream = g_value_dup_object (value);
-                if (self->priv->control != NULL)
+                self->stream = g_value_dup_object (value);
+                if (self->control != NULL)
                         update_channel_map (self);
                 break;
         case PROP_CONTROL:
-                self->priv->control = g_value_dup_object (value);
-                if (self->priv->stream != NULL)
+                self->control = g_value_dup_object (value);
+                if (self->stream != NULL)
                         update_channel_map (self);
                 break;
         default:
@@ -113,10 +112,10 @@ gvc_speaker_test_get_property (GObject     *object,
 
         switch (prop_id) {
         case PROP_STREAM:
-                g_value_set_object (value, self->priv->stream);
+                g_value_set_object (value, self->stream);
                 break;
         case PROP_CONTROL:
-                g_value_set_object (value, self->priv->control);
+                g_value_set_object (value, self->control);
                 break;
         default:
                 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -147,7 +146,6 @@ gvc_speaker_test_class_init (GvcSpeakerTestClass *klass)
                                                               "The mixer controller",
                                                               GVC_TYPE_MIXER_CONTROL,
                                                               G_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY));
-        g_type_class_add_private (klass, sizeof (GvcSpeakerTestPrivate));
 }
 
 static const char *
@@ -365,9 +363,9 @@ create_channel_controls (GvcSpeakerTest *speaker_test)
         guint i;
 
         for (i = 0; i < G_N_ELEMENTS (position_table); i += 3) {
-                speaker_test->priv->channel_controls[position_table[i]] = channel_control_new 
(speaker_test->priv->canberra, (pa_channel_position_t) position_table[i]);
+                speaker_test->channel_controls[position_table[i]] = channel_control_new 
(speaker_test->canberra, (pa_channel_position_t) position_table[i]);
                 gtk_grid_attach (GTK_GRID (speaker_test),
-                                 speaker_test->priv->channel_controls[position_table[i]],
+                                 speaker_test->channel_controls[position_table[i]],
                                  position_table[i+1], position_table[i+2], 1, 1);
         }
 }
@@ -378,19 +376,19 @@ update_channel_map (GvcSpeakerTest *speaker_test)
         guint i;
         const GvcChannelMap *map;
 
-        g_return_if_fail (speaker_test->priv->control != NULL);
-        g_return_if_fail (speaker_test->priv->stream != NULL);
+        g_return_if_fail (speaker_test->control != NULL);
+        g_return_if_fail (speaker_test->stream != NULL);
 
         g_debug ("XXX update_channel_map called XXX");
 
-        map = gvc_mixer_stream_get_channel_map (speaker_test->priv->stream);
+        map = gvc_mixer_stream_get_channel_map (speaker_test->stream);
         g_return_if_fail (map != NULL);
 
-        ca_context_change_device (speaker_test->priv->canberra,
-                                  gvc_mixer_stream_get_name (speaker_test->priv->stream));
+        ca_context_change_device (speaker_test->canberra,
+                                  gvc_mixer_stream_get_name (speaker_test->stream));
 
         for (i = 0; i < G_N_ELEMENTS (position_table); i += 3) {
-                gtk_widget_set_visible (speaker_test->priv->channel_controls[position_table[i]],
+                gtk_widget_set_visible (speaker_test->channel_controls[position_table[i]],
                                         gvc_channel_map_has_position(map, position_table[i]));
         }
 }
@@ -418,14 +416,12 @@ gvc_speaker_test_init (GvcSpeakerTest *speaker_test)
 {
         GtkWidget *face;
 
-        speaker_test->priv = GVC_SPEAKER_TEST_GET_PRIVATE (speaker_test);
-
-        ca_context_create (&speaker_test->priv->canberra);
-        ca_context_set_driver (speaker_test->priv->canberra, "pulse");
-        ca_context_change_props (speaker_test->priv->canberra,
+        ca_context_create (&speaker_test->canberra);
+        ca_context_set_driver (speaker_test->canberra, "pulse");
+        ca_context_change_props (speaker_test->canberra,
                                  CA_PROP_APPLICATION_ID, "org.gnome.VolumeControl",
                                  NULL);
-        gvc_speaker_test_set_theme (speaker_test->priv->canberra);
+        gvc_speaker_test_set_theme (speaker_test->canberra);
 
         gtk_widget_set_direction (GTK_WIDGET (speaker_test), GTK_TEXT_DIR_LTR);
         gtk_container_set_border_width (GTK_CONTAINER (speaker_test), 12);
@@ -451,16 +447,16 @@ gvc_speaker_test_finalize (GObject *object)
 
         speaker_test = GVC_SPEAKER_TEST (object);
 
-        g_return_if_fail (speaker_test->priv != NULL);
+        g_return_if_fail (speaker_test != NULL);
 
-        g_object_unref (speaker_test->priv->stream);
-        speaker_test->priv->stream = NULL;
+        g_object_unref (speaker_test->stream);
+        speaker_test->stream = NULL;
 
-        g_object_unref (speaker_test->priv->control);
-        speaker_test->priv->control = NULL;
+        g_object_unref (speaker_test->control);
+        speaker_test->control = NULL;
 
-        ca_context_destroy (speaker_test->priv->canberra);
-        speaker_test->priv->canberra = NULL;
+        ca_context_destroy (speaker_test->canberra);
+        speaker_test->canberra = NULL;
 
         G_OBJECT_CLASS (gvc_speaker_test_parent_class)->finalize (object);
 }
diff --git a/panels/sound/gvc-speaker-test.h b/panels/sound/gvc-speaker-test.h
index 6139b01..fc5dcc4 100644
--- a/panels/sound/gvc-speaker-test.h
+++ b/panels/sound/gvc-speaker-test.h
@@ -26,27 +26,8 @@
 
 G_BEGIN_DECLS
 
-#define GVC_TYPE_SPEAKER_TEST         (gvc_speaker_test_get_type ())
-#define GVC_SPEAKER_TEST(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GVC_TYPE_SPEAKER_TEST, 
GvcSpeakerTest))
-#define GVC_SPEAKER_TEST_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), GVC_TYPE_SPEAKER_TEST, 
GvcSpeakerTestClass))
-#define GVC_IS_SPEAKER_TEST(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GVC_TYPE_SPEAKER_TEST))
-#define GVC_IS_SPEAKER_TEST_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GVC_TYPE_SPEAKER_TEST))
-#define GVC_SPEAKER_TEST_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GVC_TYPE_SPEAKER_TEST, 
GvcSpeakerTestClass))
-
-typedef struct GvcSpeakerTestPrivate GvcSpeakerTestPrivate;
-
-typedef struct
-{
-        GtkNotebook               parent;
-        GvcSpeakerTestPrivate *priv;
-} GvcSpeakerTest;
-
-typedef struct
-{
-        GtkNotebookClass        parent_class;
-} GvcSpeakerTestClass;
-
-GType               gvc_speaker_test_get_type            (void);
+#define GVC_TYPE_SPEAKER_TEST (gvc_speaker_test_get_type ())
+G_DECLARE_FINAL_TYPE (GvcSpeakerTest, gvc_speaker_test, GVC, SPEAKER_TEST, GtkGrid)
 
 GtkWidget *         gvc_speaker_test_new                 (GvcMixerControl *control,
                                                           GvcMixerStream  *stream);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]