From f717f5b0949cf55190ebe9bb41aa07fa7fd545e1 Mon Sep 17 00:00:00 2001 From: Maksym Veremeyenko Date: Sat, 25 Jun 2011 13:57:54 +0300 Subject: [PATCH] drop library update window --- src/library.c | 34 +++++++++++++--------------------- src/omnplay.cpp | 9 +++++++++ src/omnplay.h | 1 + src/ui.c | 23 ----------------------- src/ui.h | 1 - 5 files changed, 23 insertions(+), 45 deletions(-) diff --git a/src/library.c b/src/library.c index d2e73f3..db9ff24 100644 --- a/src/library.c +++ b/src/library.c @@ -224,47 +224,34 @@ void omnplay_library_save(omnplay_instance_t* app) static void omnplay_get_content_cb(omnplay_instance_t* app, playlist_item_t* item, void* data) { - gdk_threads_enter(); - gtk_label_set_text(GTK_LABEL(data), item->id); - gdk_flush(); - gdk_threads_leave(); + omnplay_set_status(app, item->id); }; static void* omnplay_library_refresh_proc(void* data) { - GtkWidget *refresh_ui[2]; omnplay_instance_t* app = (omnplay_instance_t*)data; int count, i; playlist_item_t* items; gdk_threads_enter(); - - /* create UI for monitoring update */ - ui_library_refresh(app, &refresh_ui[0], &refresh_ui[1]); - gtk_widget_show_all(refresh_ui[0]); - gtk_window_present(GTK_WINDOW(refresh_ui[0])); - + gtk_widget_set_sensitive(app->window, FALSE); gdk_flush(); gdk_threads_leave(); + omnplay_set_status(app, "Updating library..."); + items = (playlist_item_t*)malloc(sizeof(playlist_item_t) * MAX_LIBRARY_ITEMS); - count = omnplay_get_content(app, items, MAX_LIBRARY_ITEMS, omnplay_get_content_cb, refresh_ui[1]); + count = omnplay_get_content(app, items, MAX_LIBRARY_ITEMS, omnplay_get_content_cb, NULL); if(count > 0) { - gdk_threads_enter(); - gtk_label_set_text(GTK_LABEL(refresh_ui[1]), "Quering whois..."); - gdk_flush(); - gdk_threads_leave(); + omnplay_set_status(app, "Quering whois..."); if(app->library.whois[0]) omnplay_whois_list(app, items, &count); - gdk_threads_enter(); - gtk_label_set_text(GTK_LABEL(refresh_ui[1]), "Setting library..."); - gdk_flush(); - gdk_threads_leave(); + omnplay_set_status(app, "Setting library..."); pthread_mutex_lock(&app->library.lock); @@ -283,6 +270,8 @@ static void* omnplay_library_refresh_proc(void* data) gdk_threads_leave(); }; + omnplay_set_status(app, "Normalizing playlist..."); + free(items); gdk_threads_enter(); @@ -290,11 +279,14 @@ static void* omnplay_library_refresh_proc(void* data) gdk_flush(); gdk_threads_leave(); + omnplay_set_status(app, ""); + gdk_threads_enter(); - gtk_widget_destroy(refresh_ui[0]); + gtk_widget_set_sensitive(app->window, TRUE); gdk_flush(); gdk_threads_leave(); + return NULL; }; diff --git a/src/omnplay.cpp b/src/omnplay.cpp index 0d64463..8c2bafc 100644 --- a/src/omnplay.cpp +++ b/src/omnplay.cpp @@ -1298,3 +1298,12 @@ void omnplay_playlist_normalize(omnplay_instance_t* app) if(omnplay_library_normalize_item(app, &app->playlist.item[i])) omnplay_playlist_draw_item(app, i); }; + +void omnplay_set_status(omnplay_instance_t* app, char* str) +{ + gdk_threads_enter(); +// gtk_label_set_text(GTK_LABEL(data), str); + gdk_flush(); + gdk_threads_leave(); +}; + diff --git a/src/omnplay.h b/src/omnplay.h index de4e942..f5051e5 100644 --- a/src/omnplay.h +++ b/src/omnplay.h @@ -188,6 +188,7 @@ int omnplay_library_normalize_item(omnplay_instance_t* app, playlist_item_t* ite playlist_item_t* omnplay_library_get_selected(omnplay_instance_t* app, int *count); void omnplay_playlist_normalize(omnplay_instance_t* app); void omnplay_library_search(omnplay_instance_t* app, int next); +void omnplay_set_status(omnplay_instance_t* app, char* str); #ifdef __cplusplus }; diff --git a/src/ui.c b/src/ui.c index 50da745..97d01be 100644 --- a/src/ui.c +++ b/src/ui.c @@ -712,26 +712,3 @@ int ui_playlist_item_dialog(omnplay_instance_t* app, playlist_item_t* item) 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)); -// gtk_window_set_deletable(GTK_WINDOW(win), FALSE); -// gtk_window_set_resizable(GTK_WINDOW(win), FALSE); - - 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_box_pack_start (GTK_BOX(box), label, TRUE, TRUE, 0); - - *p_win = win; - *p_label = label; -}; diff --git a/src/ui.h b/src/ui.h index 9890138..0e313a1 100644 --- a/src/ui.h +++ b/src/ui.h @@ -29,7 +29,6 @@ extern "C" GtkWidget* ui_omnplay(omnplay_instance_t* app); int ui_playlist_item_dialog(omnplay_instance_t* app, playlist_item_t* item); -void ui_library_refresh(omnplay_instance_t* app, GtkWidget **p_win, GtkWidget **p_label); #ifdef __cplusplus }; -- 1.7.4.4