void main_playlist_init (GtkWidget *widget) { // make listview widget and bind it to data DdbListview *listview = DDB_LISTVIEW(widget); main_binding.ref = (void (*) (DdbListviewIter))deadbeef->pl_item_ref; main_binding.unref = (void (*) (DdbListviewIter))deadbeef->pl_item_unref; ddb_listview_set_binding (listview, &main_binding); lock_column_config = 1; if (load_column_config (listview, "gtkui.columns.playlist") < 0) { // create default set of columns add_column_helper (listview, "♫", 50, DB_COLUMN_PLAYING, "%playstatus%", 0); add_column_helper (listview, _("Artist / Album"), 150, -1, "%artist% - %album%", 0); add_column_helper (listview, _("Track No"), 50, -1, "%track number%", 1); add_column_helper (listview, _("Title"), 150, -1, "%title%", 0); add_column_helper (listview, _("Duration"), 50, -1, "%length%", 0); } lock_column_config = 0; deadbeef->conf_lock (); listview->group_format = strdup (deadbeef->conf_get_str_fast ("gtkui.playlist.group_by", "")); deadbeef->conf_unlock (); listview->group_title_bytecode = deadbeef->tf_compile (listview->group_format); // FIXME: filepath should be in properties dialog, while tooltip should be // used to show text that doesn't fit in column width if (deadbeef->conf_get_int ("listview.showpathtooltip", 0)) { GValue value = {0, }; g_value_init (&value, G_TYPE_BOOLEAN); g_value_set_boolean (&value, TRUE); DdbListview *pl = DDB_LISTVIEW (widget); g_object_set_property (G_OBJECT (pl->list), "has-tooltip", &value); g_signal_connect (G_OBJECT (pl->list), "query-tooltip", G_CALLBACK (playlist_tooltip_handler), NULL); } }
void search_playlist_init (GtkWidget *widget) { DdbListview *listview = DDB_LISTVIEW(widget); g_signal_connect ((gpointer)listview->list, "key_press_event", G_CALLBACK (on_searchwin_key_press_event), listview); search_binding.ref = (void (*) (DdbListviewIter))deadbeef->pl_item_ref; search_binding.unref = (void (*) (DdbListviewIter))deadbeef->pl_item_unref; search_binding.is_selected = (int (*) (DdbListviewIter))deadbeef->pl_is_selected; ddb_listview_set_binding (listview, &search_binding); lock_column_config = 1; // create default set of columns if (load_column_config (listview, "gtkui.columns.search") < 0) { add_column_helper (listview, _("Artist / Album"), 150, -1, "%artist% - %album%", 0); add_column_helper (listview, _("Track No"), 50, -1, "%track%", 1); add_column_helper (listview, _("Title"), 150, -1, "%title%", 0); add_column_helper (listview, _("Duration"), 50, -1, "%length%", 0); } lock_column_config = 0; deadbeef->conf_lock (); listview->group_format = strdup (deadbeef->conf_get_str_fast ("gtkui.search.group_by", "")); deadbeef->conf_unlock (); listview->group_title_bytecode = deadbeef->tf_compile (listview->group_format); }