X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fomnplay.cpp;h=d6202e2c5621aafe69ba03b62f98f3dc5fec53d4;hb=d27e5326da43856ff804ce7b9e90bbf36c5712a5;hp=d78a7b93b1189aa490b0db558c9bd376c683b65e;hpb=c8e4c07cd7e57f0348999069bee0029ceec8522a;p=melted_gui diff --git a/src/omnplay.cpp b/src/omnplay.cpp index d78a7b9..d6202e2 100644 --- a/src/omnplay.cpp +++ b/src/omnplay.cpp @@ -899,7 +899,7 @@ static void omnplay_playlist_item_swap(omnplay_instance_t* app, int dir) pthread_mutex_unlock(&app->playlist.lock); }; -static void omnpay_library_add(omnplay_instance_t* app, int after) +static void omnplay_library_add(omnplay_instance_t* app, int after) { int idx, c, i; playlist_item_t* items; @@ -966,11 +966,17 @@ static gboolean omnplay_button_click(omnplay_instance_t* app, control_buttons_t omnplay_ctl(app, button); break; case BUTTON_LIBRARY_ADD: - omnpay_library_add(app, 0); + omnplay_library_add(app, 0); break; case BUTTON_LIBRARY_REFRESH: omnplay_library_refresh(app); break; + case BUTTON_LIBRARY_FIND: + omnplay_library_search(app, 0); + break; + case BUTTON_LIBRARY_FIND_NEXT: + omnplay_library_search(app, 1); + break; }; return TRUE; @@ -1054,6 +1060,41 @@ static gboolean on_playlist_grid_key(GtkWidget *widget, GdkEventKey *event, gpoi return FALSE; }; +static gboolean on_library_grid_key(GtkWidget *widget, GdkEventKey *event, gpointer data) +{ + omnplay_instance_t* app = (omnplay_instance_t*)data; + + switch(event->keyval) + { + case GDK_C: + case GDK_c: + if(event->state & GDK_CONTROL_MASK) + { + fprintf(stderr, "CTRL+c\n"); + return TRUE; + }; + break; + case GDK_V: + case GDK_v: + if(event->state & GDK_CONTROL_MASK) + { + fprintf(stderr, "CTRL+v\n"); + return TRUE; + }; + break; + case GDK_X: + case GDK_x: + if(event->state & GDK_CONTROL_MASK) + { + fprintf(stderr, "CTRL+x\n"); + return TRUE; + }; + break; + }; + + return FALSE; +}; + void omnplay_init(omnplay_instance_t* app) { int i; @@ -1071,6 +1112,10 @@ void omnplay_init(omnplay_instance_t* app) gtk_signal_connect(GTK_OBJECT(app->playlist_grid), "key-press-event", GTK_SIGNAL_FUNC(on_playlist_grid_key), app); + gtk_widget_add_events(app->library_grid, GDK_BUTTON_PRESS_MASK); + gtk_signal_connect(GTK_OBJECT(app->library_grid), "key-press-event", + GTK_SIGNAL_FUNC(on_library_grid_key), app); + /* create lock */ pthread_mutex_init(&app->players.lock, &attr); @@ -1117,3 +1162,13 @@ void omnplay_release(omnplay_instance_t* app) /* destroy library lock */ pthread_mutex_destroy(&app->library.lock); }; + +void omnplay_playlist_normalize(omnplay_instance_t* app) +{ + int i; + + /* normalize playlist */ + for(i = 0; i < app->playlist.count; i++) + if(omnplay_library_normalize_item(app, &app->playlist.item[i])) + omnplay_playlist_draw_item(app, i); +};