⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prefswin.c

📁 xmms-1.2.10.tar.gz学习使用的就下吧
💻 C
📖 第 1 页 / 共 4 页
字号:
	cfg.snap_distance = CLAMP(atoi(gtk_entry_get_text(GTK_ENTRY(prefswin_options_sd_entry))), 0, 1000);	cfg.playlist_font = g_strdup(gtk_entry_get_text(GTK_ENTRY(prefswin_options_font_entry)));	cfg.mainwin_font = g_strdup(gtk_entry_get_text(GTK_ENTRY(prefswin_mainwin_font_entry)));	cfg.gentitle_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(prefswin_title_entry)));	cfg.pause_between_songs_time = CLAMP(atoi(gtk_entry_get_text(GTK_ENTRY(prefswin_options_pbs_entry))), 0, 1000);	cfg.mouse_change = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(prefswin_options_mouse_spin));	set_current_output_plugin(selected_oplugin);	equalizerwin_set_doublesize(cfg.doublesize && cfg.eq_doublesize_linked);	if (cfg.dim_titlebar)	{		mainwin_menubtn->pb_allow_draw = mainwin_focus;		mainwin_minimize->pb_allow_draw = mainwin_focus;		mainwin_shade->pb_allow_draw = mainwin_focus;		mainwin_close->pb_allow_draw = mainwin_focus;		equalizerwin_close->pb_allow_draw = equalizerwin_focus;		playlistwin_shade->pb_allow_draw = playlistwin_focus;		playlistwin_close->pb_allow_draw = playlistwin_focus;	}	else	{		mainwin_menubtn->pb_allow_draw = TRUE;		mainwin_minimize->pb_allow_draw = TRUE;		mainwin_shade->pb_allow_draw = TRUE;		mainwin_close->pb_allow_draw = TRUE;		equalizerwin_close->pb_allow_draw = TRUE;		playlistwin_shade->pb_allow_draw = TRUE;		playlistwin_close->pb_allow_draw = TRUE;	}		if (cfg.get_info_on_load)		playlist_start_get_info_scan();	if (mainwin_info->tb_timeout_tag)	{		textbox_set_scroll(mainwin_info, FALSE);		textbox_set_scroll(mainwin_info, TRUE);	}	if (show_wm_old != cfg.show_wm_decorations)		prefswin_toggle_wm_decorations();	textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font);	playlist_list_set_font(cfg.playlist_font);	playlistwin_update_list();	mainwin_set_info_text();	draw_main_window(TRUE);	draw_playlist_window(TRUE);	draw_equalizer_window(TRUE);	save_config();}void prefswin_ok_cb(GtkWidget * w, gpointer data){	prefswin_apply_changes();	gtk_widget_hide(prefswin);}void prefswin_cancel_cb(GtkWidget * w, gpointer data){ 	gtk_widget_hide(prefswin);}void prefswin_apply_cb(GtkWidget * w, gpointer data){	prefswin_apply_changes();}void prefswin_font_browse_ok(GtkWidget * w, gpointer data){	GtkFontSelectionDialog *fontsel = GTK_FONT_SELECTION_DIALOG(data);	gchar *fontname;	fontname = gtk_font_selection_dialog_get_font_name(fontsel);		if (fontname)		gtk_entry_set_text(GTK_ENTRY(prefswin_options_font_entry), fontname);	gtk_widget_destroy(GTK_WIDGET(fontsel));}void prefswin_font_browse_cb(GtkWidget * w, gpointer data){	static GtkWidget *fontsel;	if (fontsel != NULL)		return;	fontsel = gtk_font_selection_dialog_new(_("Select playlist font:"));	gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontsel), gtk_entry_get_text(GTK_ENTRY(prefswin_options_font_entry)));	gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontsel)->ok_button), "clicked", GTK_SIGNAL_FUNC(prefswin_font_browse_ok), fontsel);	gtk_signal_connect_object(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontsel)->cancel_button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(fontsel));	gtk_signal_connect(GTK_OBJECT(fontsel), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &fontsel);	gtk_widget_show(fontsel);}void prefswin_mainwin_font_browse_ok(GtkWidget * w, gpointer data){	GtkFontSelectionDialog *fontsel = GTK_FONT_SELECTION_DIALOG(data);	gchar *fontname;	fontname = gtk_font_selection_dialog_get_font_name(fontsel);	if (fontname)		gtk_entry_set_text(GTK_ENTRY(prefswin_mainwin_font_entry), fontname);	gtk_widget_destroy(GTK_WIDGET(fontsel));}void prefswin_mainwin_font_browse_cb(GtkWidget * w, gpointer data){	static GtkWidget *fontsel;	if (!fontsel)	{		fontsel = gtk_font_selection_dialog_new(_("Select main window font:"));		gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontsel), gtk_entry_get_text(GTK_ENTRY(prefswin_mainwin_font_entry)));		gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontsel)->ok_button), "clicked", GTK_SIGNAL_FUNC(prefswin_mainwin_font_browse_ok), fontsel);		gtk_signal_connect_object(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontsel)->cancel_button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(fontsel));		gtk_signal_connect(GTK_OBJECT(fontsel), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &fontsel);		gtk_widget_show(fontsel);	}}void prefswin_gplugins_use_cb(GtkToggleButton * w, gpointer data){	gint sel;	GtkAdjustment *adj;	gfloat pos;	GtkCList *clist = GTK_CLIST(data);	if (!clist->selection || updating_glist)		return;	sel = GPOINTER_TO_INT(clist->selection->data);	enable_general_plugin(sel, gtk_toggle_button_get_active(w));	adj = gtk_clist_get_vadjustment(clist);	pos = adj->value;	add_general_plugins(clist);	gtk_adjustment_set_value(adj, pos);	gtk_clist_set_vadjustment(clist, adj);	gtk_clist_select_row(clist, sel, 0);}void prefswin_vplugins_rescan(void){	gint sel;	GtkAdjustment *adj;	gfloat pos;	GtkCList *clist = GTK_CLIST(prefswin_vplugins_list);	if (clist->selection)		sel = GPOINTER_TO_INT(clist->selection->data);	else		sel = -1;	adj = gtk_clist_get_vadjustment(clist);	pos = adj->value;	add_vis_plugins(clist);	gtk_adjustment_set_value(adj, pos);	gtk_clist_set_vadjustment(clist, adj);	if(sel != -1)		gtk_clist_select_row(clist, sel, 0);}		void prefswin_vplugins_use_cb(GtkToggleButton * w, gpointer data){	gint sel;	GtkCList *clist = GTK_CLIST(data);	if (!clist->selection || updating_vlist)		return;	sel = GPOINTER_TO_INT(clist->selection->data);		enable_vis_plugin(sel, gtk_toggle_button_get_active(w));		prefswin_vplugins_rescan();}void prefswin_eplugins_rescan(void){	gint sel;	GtkAdjustment *adj;	gfloat pos;	GtkCList *clist = GTK_CLIST(prefswin_eplugins_list);	if (clist->selection)		sel = GPOINTER_TO_INT(clist->selection->data);	else		sel = -1;	adj = gtk_clist_get_vadjustment(clist);	pos = adj->value;	add_effect_plugins(clist);	gtk_adjustment_set_value(adj, pos);	gtk_clist_set_vadjustment(clist, adj);	if(sel != -1)		gtk_clist_select_row(clist, sel, 0);}		void prefswin_eplugins_use_cb(GtkToggleButton * w, gpointer data){	gint sel;	GtkCList *clist = GTK_CLIST(data);	if (!clist->selection || updating_elist)		return;	sel = GPOINTER_TO_INT(clist->selection->data);	enable_effect_plugin(sel, gtk_toggle_button_get_active(w));	prefswin_eplugins_rescan();}void prefswin_ip_toggled(GtkToggleButton * w, gpointer data){	InputPlugin *selected;	gint sel;	GtkAdjustment *adj;	gfloat pos;	GtkCList *clist = GTK_CLIST(data);	if (!clist->selection || updating_ilist)		return;	sel = GPOINTER_TO_INT(clist->selection->data);	selected = (InputPlugin *) (g_list_nth(get_input_list(), sel)->data);	if (!gtk_toggle_button_get_active(w))		disabled_iplugins = g_list_append(disabled_iplugins, selected);	else if (g_list_find(disabled_iplugins, selected))		disabled_iplugins = g_list_remove(disabled_iplugins, selected);	adj = gtk_clist_get_vadjustment(clist);	pos = adj->value;	add_input_plugins(clist);	gtk_adjustment_set_value(adj, pos);	gtk_clist_set_vadjustment(clist, adj);	gtk_clist_select_row(clist, sel, 0);}static GtkWidget * prefswin_option_new(gboolean * cfg){	struct option_info *info;	info = g_malloc(sizeof(struct option_info));	info->button = gtk_check_button_new();	info->cfg = cfg;	option_list = g_list_prepend(option_list, info);	return info->button;}static GtkWidget * prefswin_option_new_with_label(gboolean * cfg, char * label){	GtkWidget *buttonw, *labelw;	buttonw = prefswin_option_new(cfg);	labelw = gtk_label_new(label);	gtk_misc_set_alignment(GTK_MISC(labelw), 0.0, 0.5);	gtk_container_add(GTK_CONTAINER(buttonw), labelw);	return buttonw;}static GtkWidget * prefswin_option_new_with_label_to_table(gboolean * cfg, char * label, GtkTable * table, int x, int y){	GtkWidget *buttonw;	buttonw = prefswin_option_new_with_label(cfg, label);	gtk_table_attach_defaults(table, buttonw, x, x + 1, y, y + 1);	return buttonw;}static GtkWidget * prefswin_option_new_to_table(gboolean * cfg, GtkTable * table, int x, int y){	GtkWidget *buttonw;	buttonw = prefswin_option_new(cfg);	gtk_table_attach_defaults(table, buttonw, x, x + 1, y, y + 1);	return buttonw;}static GtkWidget * prefswin_radio_new(gboolean *cfg, GtkRadioButton *group){	struct option_info *info;	GtkWidget *button = gtk_radio_button_new_from_widget(group);	if (cfg != NULL)	{		info = g_malloc(sizeof(struct option_info));		info->button = button;		info->cfg = cfg;		option_list = g_list_prepend(option_list, info);	}	return button;}static GtkWidget * prefswin_radio_new_with_label(gboolean *cfg, GtkRadioButton *group, char *label){	GtkWidget *buttonw, *labelw;	buttonw = prefswin_radio_new(cfg, group);	labelw = gtk_label_new(label);	gtk_misc_set_alignment(GTK_MISC(labelw), 0.0, 0.5);	gtk_container_add(GTK_CONTAINER(buttonw), labelw);	return buttonw;}static void prefswin_options_read_data(void){	GList *node;	for (node = option_list; node; node = g_list_next(node))	{		struct option_info *info = node->data;		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(info->button), *(info->cfg));	}}static void prefswin_options_write_data(void){	GList *node;	for (node = option_list; node; node = g_list_next(node))	{		struct option_info *info = node->data;		*info->cfg = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(info->button));	}}void create_prefs_window(void){	GtkWidget *prefswin_audio_vbox;	GtkWidget *prefswin_audio_ilist, *prefswin_audio_iframe, *prefswin_audio_ivbox;	GtkWidget *prefswin_audio_ihbox, *prefswin_audio_ihbbox;	GtkWidget *prefswin_audio_oframe, *prefswin_audio_ovbox, *prefswin_audio_olist;	GtkWidget *prefswin_audio_ohbox, *prefswin_eplugins_vbox;	GtkWidget *prefswin_eplugins_frame, *prefswin_eplugins_hbox;	GtkWidget *prefswin_eplugins_hbbox, *prefswin_gplugins_hbbox;	GtkWidget *prefswin_gplugins_frame, *prefswin_gplugins_vbox;	GtkWidget *prefswin_gplugins_hbox, *prefswin_gplugins_list;		GtkWidget *prefswin_vplugins_box, *prefswin_vplugins_vbox;	GtkWidget *prefswin_vplugins_frame, *prefswin_vplugins_hbox;	GtkWidget *prefswin_vplugins_hbbox;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -