From 6780e0a24209e7d857d15f6ac974105bdefa0cc2 Mon Sep 17 00:00:00 2001 From: Maksym Veremeyenko Date: Mon, 9 Jul 2012 08:20:01 +0300 Subject: [PATCH] notify status during library browse --- src/library.c | 7 +++++++ src/ui.c | 8 +++++--- src/ui.h | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/library.c b/src/library.c index 8f06337..ca8f8f7 100644 --- a/src/library.c +++ b/src/library.c @@ -142,6 +142,7 @@ static void on_library_row_expanded mvcp_dir dir; mvcp_dir_entry_t *e; instance_t* app = (instance_t*)user_data; + char msg[PATH_MAX]; // g_warning("on_library_row_expanded: HERE"); @@ -183,6 +184,9 @@ static void on_library_row_expanded e = (mvcp_dir_entry_t*)malloc(sizeof(mvcp_dir_entry_t)); *e = dir_entry; + snprintf(msg, sizeof(msg), "probing [%s]", e->full); + ui_set_status(app, msg, 0); + if(!e->dir && mvcp_ok == mvcp_probe_clip( app->library.handle[0], e->full, &list_entry)) { list_e = (mvcp_list_entry_t*)malloc(sizeof(mvcp_list_entry_t)); @@ -192,6 +196,9 @@ static void on_library_row_expanded library_add_item(app, GTK_TREE_STORE(model), iter, e, list_e); }; + snprintf(msg, sizeof(msg), "read [%s] done", p); + ui_set_status(app, msg, 0); + /* restore cursor */ gdk_window_set_cursor(gtk_widget_get_toplevel(GTK_WIDGET(treeview))->window, NULL); diff --git a/src/ui.c b/src/ui.c index 64d5f99..e0541c9 100644 --- a/src/ui.c +++ b/src/ui.c @@ -986,12 +986,14 @@ void ui_playlist_draw_item(instance_t* app, int idx) pthread_mutex_unlock(&app->playlist.lock); }; -void ui_set_status(instance_t* app, char* str) +void ui_set_status(instance_t* app, char* str, int lock) { - gdk_threads_enter(); + if(lock) + gdk_threads_enter(); gtk_label_set_text(GTK_LABEL(app->status_label), str); gdk_flush(); - gdk_threads_leave(); + if(lock) + gdk_threads_leave(); }; void ui_show_error(GtkWidget *window, char* title, char* message) diff --git a/src/ui.h b/src/ui.h index d6952c8..6aec4ae 100644 --- a/src/ui.h +++ b/src/ui.h @@ -34,7 +34,7 @@ void ui_playlist_draw_item(instance_t* app, int idx); void ui_playlist_select_item(instance_t* app, int idx); int ui_playlist_item_dialog(instance_t* app, playlist_item_t* item); void ui_playlist_draw(instance_t* app); -void ui_set_status(instance_t* app, char* str); +void ui_set_status(instance_t* app, char* str, int lock); struct ui_playlist_io_funcs { -- 1.7.4.4