223
222
gm_audio_profile_edit_new (GConfClient *conf, const char *id)
225
224
GMAudioProfileEdit *dialog;
228
227
GtkTextBuffer *tb;
228
GError *error = NULL;
230
230
/* get the dialog */
231
xml = gmp_util_load_glade_file (GM_AUDIO_GLADE_FILE,
232
"profile-edit-dialog", NULL);
233
dialog = (GMAudioProfileEdit *) glade_xml_get_widget (xml, "profile-edit-dialog");
231
builder = gmp_util_load_builder_file ("gnome-audio-profile-edit.ui", NULL, &error);
233
g_warning (error->message);
234
g_error_free (error);
238
dialog = GM_AUDIO_PROFILE_EDIT (gtk_builder_get_object (builder, "profile-edit-dialog"));
239
g_return_val_if_fail (dialog != NULL, NULL);
235
241
/* make sure we have priv */
236
242
if (dialog->priv == NULL)
252
258
g_assert (dialog->priv->profile);
254
260
/* autoconnect doesn't handle data pointers, sadly, so do by hand */
255
w = glade_xml_get_widget (xml, "profile-name-entry");
261
w = GTK_WIDGET (gtk_builder_get_object (builder, "profile-name-entry"));
256
262
gm_audio_profile_edit_update_name (dialog, dialog->priv->profile);
257
263
g_signal_connect (G_OBJECT (w), "changed",
258
264
G_CALLBACK (on_profile_name_changed), dialog->priv->profile);
259
w = glade_xml_get_widget (xml, "profile-description-textview");
265
w = GTK_WIDGET (gtk_builder_get_object (builder, "profile-description-textview"));
260
266
gm_audio_profile_edit_update_description (dialog, dialog->priv->profile);
261
267
tb = gtk_text_view_get_buffer (GTK_TEXT_VIEW (w));
262
268
g_signal_connect (G_OBJECT (tb), "changed",
263
269
G_CALLBACK (on_profile_description_changed), dialog->priv->profile);
264
w = glade_xml_get_widget (xml, "profile-pipeline-entry");
270
w = GTK_WIDGET (gtk_builder_get_object (builder, "profile-pipeline-entry"));
265
271
gm_audio_profile_edit_update_pipeline (dialog, dialog->priv->profile);
266
272
g_signal_connect (G_OBJECT (w), "changed",
267
273
G_CALLBACK (on_profile_pipeline_changed), dialog->priv->profile);
268
w = glade_xml_get_widget (xml, "profile-extension-entry");
274
w = GTK_WIDGET (gtk_builder_get_object (builder, "profile-extension-entry"));
269
275
gm_audio_profile_edit_update_extension (dialog, dialog->priv->profile);
270
276
g_signal_connect (G_OBJECT (w), "changed",
271
277
G_CALLBACK (on_profile_extension_changed), dialog->priv->profile);
272
w = glade_xml_get_widget (xml, "profile-active-button");
278
w = GTK_WIDGET (gtk_builder_get_object (builder, "profile-active-button"));
273
279
gm_audio_profile_edit_update_active (dialog, dialog->priv->profile);
274
280
g_signal_connect (G_OBJECT (w), "toggled",
275
281
G_CALLBACK (on_profile_active_toggled), dialog->priv->profile);
403
409
gm_audio_profile_edit_get_widget (GMAudioProfileEdit *dialog,
404
410
const char *widget_name)
409
xml = dialog->priv->xml;
411
g_return_val_if_fail (xml, NULL);
413
w = glade_xml_get_widget (xml, widget_name);
415
builder = dialog->priv->builder;
417
g_return_val_if_fail (builder, NULL);
419
w = GTK_WIDGET (gtk_builder_get_object (builder, widget_name));
416
422
g_error ("No such widget %s", widget_name);