diff --git a/gui/collection_mgr.cpp b/gui/collection_mgr.cpp index 812fe9df..6cafc087 100644 --- a/gui/collection_mgr.cpp +++ b/gui/collection_mgr.cpp @@ -104,7 +104,7 @@ static void on_library_add(unsigned int id, Library *library) row[collection_cols.c_col_path] = library->root_path; } -/*static void on_library_update(unsigned int id, Library *library) +static void on_library_update(unsigned int id, Library *library) { Gtk::TreeModel::Row row; Glib::RefPtr list = get_collection_list(); @@ -116,20 +116,16 @@ static void on_library_add(unsigned int id, Library *library) if (row[collection_cols.c_col_id] == id) row[collection_cols.c_col_size] = library->count; } -}*/ +} void collection_mgr_init() { - //struct Callbacks *cb = get_callbacks(); - Gtk::TreeView *treeview = get_widget("o_collection_treeview"); Glib::RefPtr list = get_collection_list(); Glib::RefPtr toggle; toggle = get_object("o_collection_toggle"); - //cb->on_library_update = on_library_update; - connect_button("o_collection_ok", on_collection_ok); connect_button("o_collection_update", on_collection_update); @@ -138,3 +134,23 @@ void collection_mgr_init() treeview->signal_key_press_event().connect(sigc::ptr_fun(on_collection_key_pressed)); toggle->signal_toggled().connect(sigc::ptr_fun(on_collection_toggled)); } + +void collection_mgr_init2() +{ + Database *db; + Database::iterator it; + + db = &tagdb :: get_library_db(); + for (it = db->begin(); it != db->end(); it = db->next(it)) + on_library_add((*it)->id, *it); +} + +void collection_mgr_update() +{ + Database *db; + Database::iterator it; + + db = &tagdb :: get_library_db(); + for (it = db->begin(); it != db->end(); it = db->next(it)) + on_library_update((*it)->id, *it); +} diff --git a/gui/gui.cpp b/gui/gui.cpp index ffd0af07..a9c54d99 100644 --- a/gui/gui.cpp +++ b/gui/gui.cpp @@ -194,6 +194,8 @@ bool on_idle() prog->show(); prog->set_fraction(idle::get_progress()); } + + collection_mgr_update(); return ret; } diff --git a/gui/main.cpp b/gui/main.cpp index d858a714..70d9b3fd 100644 --- a/gui/main.cpp +++ b/gui/main.cpp @@ -37,6 +37,7 @@ Gtk::Window *ocarina_init(int *argc, char ***argv) playlist :: select("Favorites"); share_file("ocarina6.glade"); post_init_tabs(); + collection_mgr_init2(); return window; } diff --git a/include/gui/ocarina.h b/include/gui/ocarina.h index 2191213d..8458f967 100644 --- a/include/gui/ocarina.h +++ b/include/gui/ocarina.h @@ -10,6 +10,8 @@ /* collection_mgr.cpp */ void collection_mgr_init(); +void collection_mgr_init2(); +void collection_mgr_update(); /* main.cpp */