Example #1
0
MateMixerSwitch *
gvc_combo_box_get_switch (GvcComboBox *combobox)
{
        g_return_val_if_fail (GVC_IS_COMBO_BOX (combobox), NULL);

        return combobox->priv->swtch;
}
void
gvc_combo_box_set_profiles (GvcComboBox *combo_box,
                            const GHashTable* profiles)
{
        g_return_if_fail (GVC_IS_COMBO_BOX (combo_box));
        g_return_if_fail (combo_box->priv->set_called == FALSE);

        const GList *l;
        const GList *keys;

        keys = g_hash_table_get_keys (profiles);

        for (l = keys; l != NULL; l = l->next) {
                gchar* k;
                GvcMixerCardProfile *p;
                k = l->data;
                
                p = g_hash_table_lookup (profiles, k);
                g_debug ("set profiles - key %s \n profile %s \n human profile %s",
                         k,
                         p->profile,
                         p->human_profile);

                gtk_list_store_insert_with_values (GTK_LIST_STORE (combo_box->priv->model),
                                                   NULL,
                                                   G_MAXINT,
                                                   COL_NAME, p->profile,
                                                   COL_HUMAN_NAME, p->human_profile,
                                                   -1);
        }
        combo_box->priv->set_called = TRUE;
}
Example #3
0
void
gvc_combo_box_set_size_group (GvcComboBox  *combobox,
                              GtkSizeGroup *group,
                              gboolean      symmetric)
{
        g_return_if_fail (GVC_IS_COMBO_BOX (combobox));
        g_return_if_fail (GTK_IS_SIZE_GROUP (group));

        if (group != NULL) {
                gtk_size_group_add_widget (group, combobox->priv->start_box);
                if (symmetric == TRUE)
                        gtk_size_group_add_widget (group, combobox->priv->end_box);
        }
        gtk_widget_queue_draw (GTK_WIDGET (combobox));
}
static void
gvc_combo_box_finalize (GObject *object)
{
        GvcComboBox *combo_box;

        g_return_if_fail (object != NULL);
        g_return_if_fail (GVC_IS_COMBO_BOX (object));

        combo_box = GVC_COMBO_BOX (object);

        g_return_if_fail (combo_box->priv != NULL);

        g_object_unref (combo_box->priv->model);
        combo_box->priv->model = NULL;

        G_OBJECT_CLASS (gvc_combo_box_parent_class)->finalize (object);
}
void
gvc_combo_box_set_size_group (GvcComboBox *combo_box,
                              GtkSizeGroup  *group,
                              gboolean       symmetric)
{
        g_return_if_fail (GVC_IS_COMBO_BOX (combo_box));

        combo_box->priv->size_group = group;
        combo_box->priv->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->priv->symmetric) {
                        gtk_size_group_add_widget (combo_box->priv->size_group,
                                                   combo_box->priv->end_box);
                }
        }
        gtk_widget_queue_draw (GTK_WIDGET (combo_box));
}
void
gvc_combo_box_set_ports (GvcComboBox *combo_box,
                         const GList       *ports)
{
        const GList *l;

        g_return_if_fail (GVC_IS_COMBO_BOX (combo_box));
        g_return_if_fail (combo_box->priv->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),
                                                   NULL,
                                                   G_MAXINT,
                                                   COL_NAME, p->port,
                                                   COL_HUMAN_NAME, p->human_port,
                                                   -1);
        }
        combo_box->priv->set_called = TRUE;
}
Example #7
0
static void
gvc_combo_box_set_switch (GvcComboBox *combobox, MateMixerSwitch *swtch)
{
        MateMixerSwitchOption *active;
        const GList           *options;

        g_return_if_fail (GVC_IS_COMBO_BOX (combobox));
        g_return_if_fail (MATE_MIXER_IS_SWITCH (swtch));

        combobox->priv->swtch = g_object_ref (swtch);

        active  = mate_mixer_switch_get_active_option (swtch);
        options = mate_mixer_switch_list_options (swtch);
        while (options != NULL) {
                GtkTreeIter            iter;
                MateMixerSwitchOption *option = MATE_MIXER_SWITCH_OPTION (options->data);

                gtk_list_store_insert_with_values (GTK_LIST_STORE (combobox->priv->model),
                                                   &iter,
                                                   G_MAXINT,
                                                   COL_NAME,
                                                   mate_mixer_switch_option_get_name (option),
                                                   COL_HUMAN_NAME,
                                                   mate_mixer_switch_option_get_label (option),
                                                   -1);

                /* Select the currently active option of the switch */
                if (option == active) {
                        gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox->priv->combobox),
                                                       &iter);
                }
                options = options->next;
        }

        g_signal_connect (G_OBJECT (swtch),
                          "notify::active-option",
                          G_CALLBACK (on_switch_active_option_notify),
                          combobox);
}