diff options
author | Eric Polino <aluink@pidgin.im> | 2007-07-12 21:49:27 +0000 |
---|---|---|
committer | Eric Polino <aluink@pidgin.im> | 2007-07-12 21:49:27 +0000 |
commit | 62149636167775934e40c93d9d54da01d5df0e43 (patch) | |
tree | cbd081e2f128f3acfd7d6bf54a99289b9f8347a1 | |
parent | fe8c9b2b40a23ea9ee25b3ac128e7144026b6cf9 (diff) | |
download | pidgin-62149636167775934e40c93d9d54da01d5df0e43.tar.gz |
Redid the look to the Sound Prefs
-rw-r--r-- | finch/gntsound.c | 132 |
1 files changed, 64 insertions, 68 deletions
diff --git a/finch/gntsound.c b/finch/gntsound.c index 7459ae5461..f86205eb26 100644 --- a/finch/gntsound.c +++ b/finch/gntsound.c @@ -73,6 +73,7 @@ typedef struct { GntWidget *selector; GntWidget *profiles; + GntWidget *new_profile; gchar * original_profile; } SoundPrefDialog; @@ -736,7 +737,6 @@ static void load_pref_window(const char * profile) { gint i; - GList *itr, *list; finch_sound_set_active_profile(profile); @@ -778,15 +778,6 @@ load_pref_window(const char * profile) /* Can someone double check to make sure there isn't a leak in the way I'm keeping * track of thest profile suggests in the entry. Thanks! */ - list = itr = finch_sound_get_profiles(); - for(;itr;itr = itr->next){ - gnt_entry_add_suggest(GNT_ENTRY(pref_dialog->profiles),itr->data); - } - g_list_foreach(list,(GFunc)g_free,NULL); - g_list_free(list); - - gnt_entry_set_text(GNT_ENTRY(pref_dialog->profiles),finch_sound_get_active_profile()); - gnt_widget_draw(pref_dialog->window); } @@ -809,8 +800,6 @@ prof_del_cb(GntWidget *button, gpointer null) if(!strcmp(profile,DEFAULT_PROFILE)) return; - gnt_entry_remove_suggest(GNT_ENTRY(pref_dialog->profiles),profile); - purple_prefs_remove(pref); g_free(pref); @@ -821,7 +810,7 @@ prof_del_cb(GntWidget *button, gpointer null) } static void -prof_text_load(GntEntry *entry, gpointer null) +prof_add_cb(GntEntry *entry, gpointer null) { const char * profile = gnt_entry_get_text(entry); @@ -830,12 +819,6 @@ prof_text_load(GntEntry *entry, gpointer null) } static void -prof_text_completion(GntEntry *entry, gpointer start, gpointer end, gpointer null) -{ - prof_text_load(entry,null); -} - -static void cancel_cb(GntButton *button, gpointer win) { finch_sound_set_active_profile(pref_dialog->original_profile); @@ -845,7 +828,7 @@ cancel_cb(GntButton *button, gpointer win) void finch_sounds_show_all(void) { - GntWidget *box, *cmbox, *slider; + GntWidget *box, *tmpbox, *splitbox, *cmbox, *slider; GntWidget *entry; GntWidget *chkbox; GntWidget *button; @@ -871,6 +854,33 @@ finch_sounds_show_all(void) gnt_box_set_fill(GNT_BOX(win), TRUE); gnt_box_set_alignment(GNT_BOX(win),GNT_ALIGN_LEFT); + /* Profiles */ + splitbox = gnt_hbox_new(FALSE); + + box = gnt_vbox_new(FALSE); + gnt_box_add_widget(GNT_BOX(box),gnt_label_new_with_format(_("Profiles"),GNT_TEXT_FLAG_BOLD)); + pref_dialog->profiles = tree = gnt_tree_new(); + gnt_box_add_widget(GNT_BOX(box),tree); + + pref_dialog->new_profile = entry = gnt_entry_new(""); + gnt_box_add_widget(GNT_BOX(box),entry); + + tmpbox = gnt_hbox_new(FALSE); + button = gnt_button_new("Add"); + g_signal_connect(G_OBJECT(button),"activate",G_CALLBACK(prof_add_cb),NULL); + gnt_box_add_widget(GNT_BOX(tmpbox),button); + button = gnt_button_new("Delete"); + g_signal_connect(G_OBJECT(button),"activate",G_CALLBACK(prof_del_cb),NULL); + gnt_box_add_widget(GNT_BOX(tmpbox),button); + gnt_box_add_widget(GNT_BOX(box),tmpbox); + gnt_box_add_widget(GNT_BOX(splitbox),box); + + gnt_box_add_widget(GNT_BOX(splitbox),gnt_vline_new()); + + /* Sound method */ + + box = gnt_vbox_new(FALSE); + pref_dialog->method = cmbox = gnt_combo_box_new(); gnt_tree_set_hash_fns(GNT_TREE(GNT_COMBO_BOX(cmbox)->dropdown), g_str_hash, g_str_equal, NULL); gnt_combo_box_add_data(GNT_COMBO_BOX(cmbox),"automatic",_("Automatic")); @@ -880,55 +890,57 @@ finch_sounds_show_all(void) gnt_combo_box_add_data(GNT_COMBO_BOX(cmbox),"custom",_("Command")); gnt_combo_box_add_data(GNT_COMBO_BOX(cmbox),"nosound",_("No Sound")); - /* Sound method */ label = gnt_label_new_with_format(_("Sound Method"),GNT_TEXT_FLAG_BOLD); - gnt_box_add_widget(GNT_BOX(win),label); - box = gnt_hbox_new(TRUE); - gnt_box_set_fill(GNT_BOX(box),FALSE); - gnt_box_set_pad(GNT_BOX(box),0); - gnt_box_add_widget(GNT_BOX(box),gnt_label_new(_("Method: "))); - gnt_box_add_widget(GNT_BOX(box),cmbox); - gnt_box_add_widget(GNT_BOX(win),box); - - box = gnt_hbox_new(TRUE); - gnt_box_set_pad(GNT_BOX(box),0); - gnt_box_set_fill(GNT_BOX(box),FALSE); - gnt_box_add_widget(GNT_BOX(box),gnt_label_new(_("Sound Command\n(%s for filename)"))); + gnt_box_add_widget(GNT_BOX(box),label); + tmpbox = gnt_hbox_new(TRUE); + gnt_box_set_fill(GNT_BOX(tmpbox),FALSE); + gnt_box_set_pad(GNT_BOX(tmpbox),0); + gnt_box_add_widget(GNT_BOX(tmpbox),gnt_label_new(_("Method: "))); + gnt_box_add_widget(GNT_BOX(tmpbox),cmbox); + gnt_box_add_widget(GNT_BOX(box),tmpbox); + + tmpbox = gnt_hbox_new(TRUE); + gnt_box_set_pad(GNT_BOX(tmpbox),0); + gnt_box_set_fill(GNT_BOX(tmpbox),FALSE); + gnt_box_add_widget(GNT_BOX(tmpbox),gnt_label_new(_("Sound Command\n(%s for filename)"))); pref_dialog->command = entry = gnt_entry_new(""); - gnt_box_add_widget(GNT_BOX(box),entry); - gnt_box_add_widget(GNT_BOX(win),box); + gnt_box_add_widget(GNT_BOX(tmpbox),entry); + gnt_box_add_widget(GNT_BOX(box),tmpbox); - gnt_box_add_widget(GNT_BOX(win), gnt_line_new(FALSE)); + gnt_box_add_widget(GNT_BOX(box), gnt_line_new(FALSE)); /* Sound options */ - gnt_box_add_widget(GNT_BOX(win),gnt_label_new_with_format(_("Sound Options"),GNT_TEXT_FLAG_BOLD)); + gnt_box_add_widget(GNT_BOX(box),gnt_label_new_with_format(_("Sound Options"),GNT_TEXT_FLAG_BOLD)); pref_dialog->conv_focus = chkbox = gnt_check_box_new(_("Sounds when conversation has focus")); - gnt_box_add_widget(GNT_BOX(win),chkbox); + gnt_box_add_widget(GNT_BOX(box),chkbox); - box = gnt_hbox_new(TRUE); - gnt_box_set_pad(GNT_BOX(box),0); - gnt_box_set_fill(GNT_BOX(box),FALSE); - gnt_box_add_widget(GNT_BOX(box),gnt_label_new("Enable Sounds:")); + tmpbox = gnt_hbox_new(TRUE); + gnt_box_set_pad(GNT_BOX(tmpbox),0); + gnt_box_set_fill(GNT_BOX(tmpbox),FALSE); + gnt_box_add_widget(GNT_BOX(tmpbox),gnt_label_new("Enable Sounds:")); pref_dialog->while_status = cmbox = gnt_combo_box_new(); gnt_combo_box_add_data(GNT_COMBO_BOX(cmbox),GINT_TO_POINTER(3),_("Always")); gnt_combo_box_add_data(GNT_COMBO_BOX(cmbox),GINT_TO_POINTER(1),_("Only when available")); gnt_combo_box_add_data(GNT_COMBO_BOX(cmbox),GINT_TO_POINTER(2),_("Only when not available")); - gnt_box_add_widget(GNT_BOX(box),cmbox); - gnt_box_add_widget(GNT_BOX(win),box); + gnt_box_add_widget(GNT_BOX(tmpbox),cmbox); + gnt_box_add_widget(GNT_BOX(box),tmpbox); - box = gnt_hbox_new(TRUE); - gnt_box_set_pad(GNT_BOX(box),0); - gnt_box_set_fill(GNT_BOX(box),FALSE); - gnt_box_add_widget(GNT_BOX(box),gnt_label_new(_("Volume(0-100):"))); + tmpbox = gnt_hbox_new(TRUE); + gnt_box_set_pad(GNT_BOX(tmpbox),0); + gnt_box_set_fill(GNT_BOX(tmpbox),FALSE); + gnt_box_add_widget(GNT_BOX(tmpbox),gnt_label_new(_("Volume(0-100):"))); pref_dialog->volume = slider = gnt_slider_new(FALSE,100,0); gnt_slider_set_step(GNT_SLIDER(slider),5); label = gnt_label_new(""); gnt_slider_reflect_label(GNT_SLIDER(slider),GNT_LABEL(label)); - gnt_box_set_pad(GNT_BOX(box),1); - gnt_box_add_widget(GNT_BOX(box),slider); - gnt_box_add_widget(GNT_BOX(box),label); - gnt_box_add_widget(GNT_BOX(win),box); + gnt_box_set_pad(GNT_BOX(tmpbox),1); + gnt_box_add_widget(GNT_BOX(tmpbox),slider); + gnt_box_add_widget(GNT_BOX(tmpbox),label); + gnt_box_add_widget(GNT_BOX(box),tmpbox); + gnt_box_add_widget(GNT_BOX(splitbox),box); + + gnt_box_add_widget(GNT_BOX(win),splitbox); gnt_box_add_widget(GNT_BOX(win), gnt_hline_new()); @@ -967,22 +979,6 @@ finch_sounds_show_all(void) gnt_box_add_widget(GNT_BOX(win), gnt_line_new(FALSE)); - /* Sound profiles */ - gnt_box_add_widget(GNT_BOX(win),gnt_label_new_with_format(_("Profiles"),GNT_TEXT_FLAG_BOLD)); - box = gnt_hbox_new(FALSE); - pref_dialog->profiles = entry = gnt_entry_new(""); - gnt_entry_set_word_suggest(GNT_ENTRY(pref_dialog->profiles),TRUE); - gnt_box_add_widget(GNT_BOX(box),entry); - - g_signal_connect(G_OBJECT(entry),"activate",G_CALLBACK(prof_text_load),NULL); - g_signal_connect(G_OBJECT(entry),"completion",G_CALLBACK(prof_text_completion),NULL); - g_signal_connect(G_OBJECT(entry),"lost-focus",G_CALLBACK(prof_text_load),NULL); - - button = gnt_button_new("Delete"); - g_signal_connect(G_OBJECT(button),"activate",G_CALLBACK(prof_del_cb),NULL); - gnt_box_add_widget(GNT_BOX(box),button); - gnt_box_add_widget(GNT_BOX(win),box); - /* Add new stuff before this */ box = gnt_hbox_new(FALSE); gnt_box_set_pad(GNT_BOX(box),0); |