/* vim: set ai et ts=4 sw=4: */ #ifndef __prefs_h__ #define __prefs_h__ typedef struct _Prefs { gboolean play_shuffle; gboolean play_loop; gboolean play_mute; gboolean play_effect; gboolean view_toolbar; gboolean view_statusbar; gboolean view_sidebar; gboolean view_play_info; gboolean view_play_pos; gchar* playlist_columns; gint sidebar_icon_width; gint sidebar_icon_height; gboolean sidebar_text_beside_icon; gboolean save_geometry; gint geometry_x; gint geometry_y; gint geometry_width; gint geometry_height; gint divider_position; gboolean parse_tag; gboolean parse_tag_all; gchar* playback_device; gboolean decoder_select_by_contents; gboolean playback_volume; gchar* tag_codesets; } Prefs; extern Prefs prefs; void prefs_read(void); void prefs_write(void); void prefs_apply(void); gboolean prefs_show_dialog(void); gint prefs_get_playlist_column_index(const gchar* id); const gchar* prefs_get_playlist_column_id(gint index); /*-----------------------------------------------------------------*/ #define PREFS_DIALOG(obj) GTK_CHECK_CAST(obj, prefs_dialog_get_type(), PrefsDialog) #define PREFS_DIALOG_CLASS(klass) GTK_CHECK_CLASS_CAST(klass, prefs_dialog_get_type(), PrefsDialogClass) #define IS_PREFS_DIALOG(obj) GTK_CHECK_TYPE(obj, prefs_dialog_get_type()) typedef struct _PrefsDialog { GtkDialog parent; GtkWidget* nb; // general tab GtkWidget* general_table; GtkWidget* plc_frame; GtkWidget* plc_hbox; GtkWidget* plc_scrollwin; GtkWidget* plc_treeview; GtkWidget* plc_vbox; GtkWidget* plc_up_btn; GtkWidget* plc_down_btn; GtkWidget* plc_add_btn; GtkWidget* plc_remove_btn; GtkTreeModel* plc_model; GtkTreeSelection* plc_selection; GtkWidget* sb_frame; GtkWidget* sb_table; GtkWidget* sb_icon_width_label; GtkWidget* sb_icon_width_spin; GtkWidget* sb_icon_height_label; GtkWidget* sb_icon_height_spin; GtkWidget* sb_text_beside_icon_check; GtkWidget* others_frame; GtkWidget* others_table; GtkWidget* save_geometry_check; GtkWidget* parse_tag_check; GtkWidget* parse_tag_all_check; // input tab GtkWidget* input_table; GtkWidget* decoder_frame; GtkWidget* decoder_table; GtkWidget* decoder_select_by_contents_check; // output tab GtkWidget* output_table; GtkWidget* playback_frame; GtkWidget* playback_table; GtkWidget* playback_device_label; GtkWidget* playback_device_combo; GtkWidget* playback_volume_check; } PrefsDialog; typedef struct _PrefsDialogClass { GtkDialogClass parent_class; } PrefsDialogClass; GtkType prefs_dialog_get_type(void); GtkWidget* prefs_dialog_new(void); void prefs_dialog_update_ui(PrefsDialog* self); void prefs_dialog_update_prefs(PrefsDialog* self); #endif /*prefs.h*/