/* * Copyright 2016 (c) Anna Schumaker. */ #include #include #include #include #include static const gchar *QUEUE_SETTINGS[Q_MODEL_N_COLUMNS] = { [Q_MODEL_TRACK_NR] = "gui.queue.track", [Q_MODEL_TITLE] = "gui.queue.title", [Q_MODEL_LENGTH] = "gui.queue.length", [Q_MODEL_ARTIST] = "gui.queue.artist", [Q_MODEL_ALBUM] = "gui.queue.album", [Q_MODEL_YEAR] = "gui.queue.year", [Q_MODEL_GENRE] = "gui.queue.genre", [Q_MODEL_COUNT] = "gui.queue.count", [Q_MODEL_LAST_PLAY] = "gui.queue.played", [Q_MODEL_FILE_PATH] = "gui.queue.filepath", }; static GtkTreeView *view_treeview = NULL; void __view_column_resized(GtkTreeViewColumn *col, GParamSpec *pspec, gpointer data) { unsigned int i; for (i = 0; i < Q_MODEL_N_COLUMNS; i++) { if (col == gtk_tree_view_get_column(view_treeview, i)) { gui_settings_set(QUEUE_SETTINGS[i], gtk_tree_view_column_get_width(col)); break; } } } void gui_view_init() { GtkTreeViewColumn *col; int i, pos; view_treeview = GTK_TREE_VIEW(gui_builder_widget("o_treeview")); for (i = 0; i < Q_MODEL_N_COLUMNS; i++) { col = gtk_tree_view_get_column(view_treeview, i); pos = gui_settings_get(QUEUE_SETTINGS[i]); if (col && pos > 0) gtk_tree_view_column_set_fixed_width(col, pos); } } void gui_view_set_model(GtkTreeModelFilter *filter) { gtk_tree_view_set_model(view_treeview, GTK_TREE_MODEL(filter)); }