treeview = gtk_tree_view_new ();
gtk_widget_show (treeview);
+ gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(treeview), TRUE);
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE);
for(i = 0, count = 0; columns[i].title; i++, count++)
list_store_types[i] = (columns[i].type == G_TYPE_OBJECT)?GDK_TYPE_PIXBUF:columns[i].type;
list_store_types[count] = G_TYPE_INT;
+ list_store_types[count + 1] = G_TYPE_BOOLEAN;
+ list_store_types[count + 2] = G_TYPE_STRING;
- list_store = gtk_list_store_newv(count + 1, list_store_types);
+ list_store = gtk_list_store_newv(count + 3, list_store_types);
gtk_tree_view_set_model( GTK_TREE_VIEW( treeview ), GTK_TREE_MODEL( list_store ) );
for(i = 0; columns[i].title; i++)
{
char* prop;
+ column = NULL;
if(columns[i].type == G_TYPE_OBJECT)
{
{
renderer = gtk_cell_renderer_text_new();
prop = "text";
+
+ column = gtk_tree_view_column_new_with_attributes(
+ columns[i].title, renderer,
+ prop, i,
+ "background-set", count + 1,
+ "background", count + 2,
+ NULL);
}
- column = gtk_tree_view_column_new_with_attributes(
- columns[i].title, renderer, prop, i, NULL);
+ if(!column)
+ column = gtk_tree_view_column_new_with_attributes(
+ columns[i].title, renderer,
+ prop, i,
+ NULL);
+
gtk_tree_view_append_column(GTK_TREE_VIEW( treeview ), column);
};
return hbox;
}
+static GtkWidget* pane_library_search_buttons(GtkWidget* top, omnplay_instance_t* app)
+{
+ GtkWidget* hbox;
+
+ hbox = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox);
+
+ /* text entry */
+ gtk_box_pack_start (GTK_BOX (hbox),
+ app->library.search = gtk_entry_new(),
+ TRUE, TRUE, 0);
+ gtk_widget_show(app->library.search);
+
+ /* playlist modify buttons */
+ gtk_box_pack_start (GTK_BOX (hbox),
+ ui_create_button(top, app, BUTTON_LIBRARY_FIND),
+ FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox),
+ ui_create_button(top, app, BUTTON_LIBRARY_FIND_NEXT),
+ FALSE, FALSE, 0);
+
+ return hbox;
+}
+
static GtkWidget* pane_library(GtkWidget* top, omnplay_instance_t* app)
{
GtkWidget* vbox;
pane_library_buttons(top, app),
FALSE, FALSE, 0);
- /* add buttons box */
+ /* add grid */
gtk_box_pack_start (GTK_BOX (vbox),
pane_library_grid(top, app),
TRUE, TRUE, 0);
+ /* add search buttons */
+ gtk_box_pack_start (GTK_BOX (vbox),
+ pane_library_search_buttons(top, app),
+ FALSE, FALSE, 0);
+
return vbox;
}
item->player = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
/* check if all data entered correctly */
- if(item->dur && item->id[0])
+ if(item->id[0])
c = 0;
};
};
return r;
};
+
+void ui_library_refresh(omnplay_instance_t* app, GtkWidget **p_win, GtkWidget **p_label)
+{
+ GtkWidget *win, *box, *label;
+
+ win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_title(GTK_WINDOW(win), _("Library refreshing..."));
+ gtk_window_set_default_size(GTK_WINDOW(win), 250, 100);
+ gtk_window_set_modal(GTK_WINDOW(win), TRUE);
+ gtk_window_set_transient_for(GTK_WINDOW(win), GTK_WINDOW(app->window));
+
+ box = gtk_vbox_new(FALSE, 0);
+ gtk_widget_show(box);
+ gtk_container_add(GTK_CONTAINER(win), box);
+
+ label = create_label(NULL, "Requsting status...", NULL, 0),
+ gtk_widget_show(label);
+ gtk_box_pack_start (GTK_BOX(box), label, TRUE, TRUE, 0);
+
+ gtk_window_present(GTK_WINDOW(win));
+ gtk_widget_show(win);
+
+ *p_win = win;
+ *p_label = label;
+};