From: Enlightenment C. <no...@cv...> - 2007-01-09 19:12:57
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_callbacks.c Log Message: Callback added on Ctrl-R to select a random row in the mlib tree. Callback added on Reurn to add the selection in the playlist. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- emphasis_callbacks.c 30 Dec 2006 13:46:38 -0000 1.14 +++ emphasis_callbacks.c 10 Jan 2007 01:12:53 -0000 1.15 @@ -1,6 +1,7 @@ #include "emphasis.h" #include "emphasis_callbacks.h" #include <ctype.h> +#define xrand(min, max) (rand() % (max - min)) + min + 1 /* TODO : update doc */ /** @@ -672,6 +673,20 @@ return; } + if (!strcmp(event->key, "r") + && event->modifiers == ETK_MODIFIER_CTRL) + { + int i, r; + r = xrand(0, etk_tree_num_rows_get(tree)); + row = etk_tree_first_row_get(tree); + for (i=0; i<r; i++) + { + row = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); + } + etk_tree_row_select(row); + etk_tree_row_scroll_to(row, ETK_TRUE); + return; + } if (!strcmp(event->key, "Tab") || event->modifiers == ETK_MODIFIER_CTRL) @@ -724,6 +739,12 @@ } else if (!strcmp("Return", event->keyname)) { + Emphasis_Type et; + + et = (Emphasis_Type)etk_object_data_get(object, "Emphasis_Type"); + emphasis_playlist_append_selected(tree, et); + mpc_play_if_stopped(); + emphasis_tree_mlib_init(player, type); etk_tree_col_title_set(col, base_title); return; } |
From: Enlightenment C. <no...@cv...> - 2007-01-14 13:27:47
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_callbacks.c emphasis_callbacks.h emphasis_config_gui.c emphasis_cover_db.c emphasis_gui.c emphasis_media.c emphasis_mpc.c emphasis_mpc.h emphasis_player.c emphasis_player.h Log Message: Another aji's patch : Shuffle added. A change in the config doesn't require to relaunch emphasis anymore. Keybinding added on 'c' to clear the playlist. Keybinding added on 's' to shuffle the playlist. textblock bug solved. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- emphasis_callbacks.c 10 Jan 2007 01:12:53 -0000 1.15 +++ emphasis_callbacks.c 14 Jan 2007 19:27:43 -0000 1.16 @@ -784,7 +784,7 @@ cb_pls_contextual_menu(Etk_Object *object, Etk_Event_Mouse_Down *event, void *data) { - UNUSED(object) + UNUSED(object); Emphasis_Gui *gui; gui = data; @@ -802,21 +802,32 @@ cb_playlist_clear(Etk_Object *object, Etk_Event_Mouse_Down *event, void *data) { - UNUSED(object) - UNUSED(event) - UNUSED(data) + UNUSED(object); + UNUSED(event); + UNUSED(data); mpc_playlist_clear(); } /** + * * @brief Shuffle the playlist + */ +void +cb_playlist_shuffle(Etk_Object *object, void *data) +{ + UNUSED_CLICKED_PARAM; + + mpc_playlist_shuffle(); +} + +/** * @brief Callback function of bindings key on the playlist */ void cb_pls_bindings_key(Etk_Object *object, Etk_Event_Key_Down *event, void *data) { - UNUSED(object) + UNUSED(object); Emphasis_Player_Gui *player; Evas_List *rowlist; Evas_List *list; @@ -832,6 +843,20 @@ mpc_playlist_delete(list); } } + else if(!strcmp(event->key, "c")) + { + cb_playlist_clear(NULL,NULL,NULL); + } + else if(!strcmp(event->key, "s")) + { + cb_playlist_shuffle(NULL,NULL); + } + /* + else if(!strcmp(event->key, "u")) + { + cb_database_update(NULL, data); + } + */ } /** @@ -840,7 +865,7 @@ void cb_playlist_delete(Etk_Object *object, void *data) { - UNUSED(object) + UNUSED(object); Emphasis_Player_Gui *player; Evas_List *rowlist; Evas_List *list; @@ -859,7 +884,7 @@ void cb_database_update(Etk_Object *object, void *data) { - UNUSED(object) + UNUSED(object); Emphasis_Player_Gui *player; player = data; @@ -896,7 +921,6 @@ cb_switch_full(Etk_Object *object, void *data) { UNUSED(object); -// int x, y, w, h; Emphasis_Player_Gui *player; player = data; @@ -907,7 +931,6 @@ } player->state = EMPHASIS_FULL; -// etk_window_geometry_get(ETK_WINDOW(player->small.window), &x, &y, &w, &h); etk_widget_hide(player->small.window); etk_widget_hide(player->media.window); @@ -920,14 +943,12 @@ emphasis_player_toggle_full(player, ETK_TRUE); etk_widget_show(player->full.window); -// etk_window_move(ETK_WINDOW(player->full.window), x, y); } void cb_switch_small(Etk_Object *object, void *data) { UNUSED(object); -// int x, y, w, h; Emphasis_Player_Gui *player; player = data; @@ -938,7 +959,6 @@ } player->state = EMPHASIS_SMALL; -// etk_window_geometry_get(ETK_WINDOW(player->full.window), &x, &y, &w, &h); etk_widget_hide(player->full.window); etk_container_add(ETK_CONTAINER(player->media.window), player->media.root); @@ -949,7 +969,6 @@ etk_widget_show(player->media.window); } etk_widget_show(player->small.window); -// etk_window_move(ETK_WINDOW(player->small.window), x, y); } void =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- emphasis_callbacks.h 30 Dec 2006 13:46:38 -0000 1.7 +++ emphasis_callbacks.h 14 Jan 2007 19:27:43 -0000 1.8 @@ -50,6 +50,7 @@ void cb_pls_bindings_key(Etk_Object *object, Etk_Event_Key_Down *event, void *data); void cb_playlist_delete(Etk_Object *object, void *data); +void cb_playlist_shuffle(Etk_Object *object, void *data); void cb_database_update(Etk_Object *object, void *data); void cb_small_resize(Etk_Object *object, void *data); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_config_gui.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- emphasis_config_gui.c 30 Dec 2006 13:46:38 -0000 1.5 +++ emphasis_config_gui.c 14 Jan 2007 19:27:43 -0000 1.6 @@ -89,18 +89,33 @@ emphasis_configgui_save(Emphasis_Config_Gui *configgui) { Emphasis_Config *config; + char *key = NULL, *value = NULL; + int reconnect = 0; config = config_load(); - if(config->hostname) { free(config->hostname); } - if(config->password) { free(config->password); } - - config->hostname = - strdup(etk_entry_text_get(ETK_ENTRY(configgui->hostname))); - config->password = - strdup(etk_entry_text_get(ETK_ENTRY(configgui->password))); - config->port = - etk_range_value_get(ETK_RANGE(configgui->port)); + if((key = config->hostname)) + { + value = strdup(etk_entry_text_get(ETK_ENTRY(configgui->hostname))); + if(strcmp(key,value)) { reconnect = 1; } + free(config->hostname); + } + config->hostname = value; + + if((key = config->password)) + { + value = strdup(etk_entry_text_get(ETK_ENTRY(configgui->password))); + if(!reconnect && strcmp(key,value)) { reconnect = 1; } + free(config->password); + } + config->password = value; + + if(!reconnect && config->port != etk_range_value_get(ETK_RANGE(configgui->port))) + { + reconnect = 1; + } + config->port = etk_range_value_get(ETK_RANGE(configgui->port)); + config->crossfade = etk_range_value_get(ETK_RANGE(configgui->xfade)); @@ -122,5 +137,13 @@ config_save(config); config_free(config); + + if(reconnect) + { + Emphasis_Gui *gui = configgui->data; + emphasis_player_cover_set(gui->player, NULL); + emphasis_player_progress_set(gui->player, 0.0, 0.001); + mpc_disconnect(); + } } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_cover_db.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- emphasis_cover_db.c 30 Dec 2006 13:46:38 -0000 1.3 +++ emphasis_cover_db.c 14 Jan 2007 19:27:43 -0000 1.4 @@ -27,22 +27,14 @@ ci = gui->cover_queue; artist = ci->artist; - album = ci->album; + album = ci->album; strescape(artist); strescape(album); gui->cover_queue = NULL; cover_path = emphasis_cover_db_search(artist, album); - if (cover_path == NULL) - { - emphasis_player_cover_set(gui->player, - emphasis_cover_haricotmagique()); - } - else - { - emphasis_player_cover_set(gui->player, cover_path); - free(cover_path); - } + emphasis_player_cover_set(gui->player, cover_path); + if (cover_path != NULL) { free(cover_path); } emphasis_player_cover_size_update(gui->player); free(artist); @@ -51,7 +43,7 @@ } else { - usleep(500); + usleep(200); } } } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_gui.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- emphasis_gui.c 30 Dec 2006 13:46:38 -0000 1.9 +++ emphasis_gui.c 14 Jan 2007 19:27:43 -0000 1.10 @@ -52,13 +52,15 @@ emphasis_menu_append(gui->menu, "clear", - ETK_STOCK_EDIT_CLEAR, cb_playlist_clear, NULL, + ETK_STOCK_EDIT_CLEAR , cb_playlist_clear , NULL, + "shuffle", + ETK_STOCK_APPLICATIONS_GAMES, cb_playlist_shuffle, NULL, "delete", - ETK_STOCK_EDIT_DELETE, cb_playlist_delete, player, + ETK_STOCK_EDIT_DELETE , cb_playlist_delete, player, "update", - ETK_STOCK_VIEW_REFRESH, cb_database_update, player, + ETK_STOCK_VIEW_REFRESH , cb_database_update, player, "config", - ETK_STOCK_PREFERENCES_SYSTEM, cb_config_show, gui, + ETK_STOCK_PREFERENCES_SYSTEM, cb_config_show , gui, NULL); /* Do we need all this connect ? */ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_media.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- emphasis_media.c 30 Dec 2006 13:46:38 -0000 1.3 +++ emphasis_media.c 14 Jan 2007 19:27:43 -0000 1.4 @@ -254,10 +254,15 @@ Etk_Tree *pls_list; pls_list = ETK_TREE(player->media.pls_list); - etk_tree_clear(pls_list); + etk_tree_clear(pls_list); +#if defined(LIBMPD_0_12_4) emphasis_tree_mlib_append(pls_list, (mpc_list_playlists()), MPD_DATA_TYPE_PLAYLIST, NULL); +#else + etk_tree_append(pls_list, etk_tree_nth_col_get(pls_list, 0), + "You need libmpd 0.12.4 in order to use mpd playlists", NULL); +#endif } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- emphasis_mpc.c 30 Dec 2006 13:46:38 -0000 1.11 +++ emphasis_mpc.c 14 Jan 2007 19:27:43 -0000 1.12 @@ -18,7 +18,6 @@ { mpd_send_password(mo); mpc_signal_connect_status_changed(data); - /* TODO: Destroy this time if not needed anymore */ timer = ecore_timer_add(0.2, mpc_update, NULL); } else @@ -130,6 +129,7 @@ void status_changed_callback(MpdObj * mo, ChangedStatusType what, void *data) { + static int refresh_info = 1; Emphasis_Player_Gui *player; Emphasis_Song *song = NULL; MpdState state; @@ -149,11 +149,12 @@ total_time = mpd_status_get_total_song_time(mo); emphasis_player_progress_set(player, (float) elapsed_time, total_time); /* dirty hack */ - if(!mpd_status_db_is_updating(mo)) + if(!mpd_status_db_is_updating(mo) && refresh_info) { song = mpc_playlist_get_current_song(); emphasis_player_info_set(player, song, NULL); emphasis_song_free(song); + refresh_info = 0; } } if (what & MPD_CST_UPDATING) @@ -226,6 +227,7 @@ emphasis_player_info_set(player, song, NULL); emphasis_pls_mark_current(ETK_TREE(player->media.pls), song->id); emphasis_song_free(song); + refresh_info = 1; break; case MPD_STATUS_STATE_UNKNOWN: emphasis_player_info_set(player, NULL, "wtf is that ?"); @@ -447,6 +449,15 @@ } /** + * @brief Shuffle current mpd playlist + */ +void +mpc_playlist_shuffle(void) +{ + mpd_playlist_shuffle(mo); +} + +/** * @brief Play the song with id @e id * @param id An id of one of the songs in the playlist */ @@ -664,6 +675,7 @@ void mpc_save_playlist(char *playlist_name) { +#if defined(LIBMPD_0_12_4) int mpd_error; mpd_error = mpd_database_save_playlist(mo, playlist_name); @@ -674,6 +686,9 @@ fprintf(stderr, "A playlist with the same name already exist.\n"); } } +#else + UNUSED(playlist_name); +#endif } void =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- emphasis_mpc.h 30 Dec 2006 13:46:38 -0000 1.8 +++ emphasis_mpc.h 14 Jan 2007 19:27:43 -0000 1.9 @@ -33,6 +33,7 @@ void mpc_playlist_delete(Evas_List *list); void mpc_playlist_clear(void); void mpc_playlist_commit(void); +void mpc_playlist_shuffle(void); void mpc_play_id(int id); void mpc_play(void); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- emphasis_player.c 30 Dec 2006 13:46:38 -0000 1.5 +++ emphasis_player.c 14 Jan 2007 19:27:43 -0000 1.6 @@ -76,9 +76,8 @@ player->media.search_tree = enhance_var_get(en, "search_page_tree"); - player->media.pls_list = enhance_var_get(en, "media_pls_list"); - player->media.pls_content = enhance_var_get(en, "media_pls_content"); - + player->media.pls_list = enhance_var_get(en, "media_pls_list"); + player->media.pls_content = enhance_var_get(en, "media_pls_content"); player->media.pls_entry_save = enhance_var_get(en, "media_pls_entry_save"); /* Mediabox buttons init */ @@ -88,16 +87,6 @@ player->media.button_playlists = enhance_var_get(en, "media_button_pls"); player->media.button_stats = enhance_var_get(en, "media_button_stats"); - /* TODO : finish the special theme - etk_widget_theme_file_set(ETK_WIDGET(player->media.button_lib), - PACKAGE_DATA_DIR "/widgets/media_tab_button.edj"); - etk_widget_theme_file_set(ETK_WIDGET(player->media.button_search), - PACKAGE_DATA_DIR "/widgets/media_tab_button.edj"); - etk_widget_theme_file_set(ETK_WIDGET(player->media.button_playlists), - PACKAGE_DATA_DIR "/widgets/media_tab_button.edj"); - etk_widget_theme_file_set(ETK_WIDGET(player->media.button_stats), - PACKAGE_DATA_DIR "/widgets/media_tab_button.edj"); - */ /* enhance completion : col def */ etk_tree_multiple_select_set(ETK_TREE(player->media.artist), ETK_TRUE); etk_tree_multiple_select_set(ETK_TREE(player->media.album) , ETK_TRUE); @@ -203,8 +192,7 @@ (void*)EMPHASIS_TRACK); /* enhance complection : images */ - /* TODO : use cover_haricotmagique() */ - emphasis_player_cover_set(player, PACKAGE_DATA_DIR EMPHASIS_LOGO); + emphasis_player_cover_set(player, NULL); emphasis_player_vol_image_set(player, 0, PACKAGE_DATA_DIR EMPHASIS_SOUNDL); emphasis_player_vol_image_set(player, 1, PACKAGE_DATA_DIR EMPHASIS_SOUNDR); @@ -290,8 +278,8 @@ enhance_callback_data_set(en, "cb_media_pls_save_clicked" , player); enhance_callback_data_set(en, "cb_media_pls_load_clicked" , player); enhance_callback_data_set(en, "cb_media_pls_del_clicked" , player); - enhance_callback_data_set(en, "cb_media_pls_list_row_clicked" , player); + enhance_callback_data_set(en, "cb_tree_mlib_clicked" , player); enhance_callback_data_set(en, "cb_media_pls_save_key_down" , player); @@ -301,6 +289,8 @@ void emphasis_player_cover_set(Emphasis_Player_Gui *player, const char *path) { + if(!path) { path = emphasis_cover_haricotmagique(); } + etk_image_set_from_file(ETK_IMAGE(player->full.cover) , path, NULL); etk_image_set_from_file(ETK_IMAGE(player->small.cover), path, NULL); } @@ -426,7 +416,7 @@ } etk_textblock_object_cursor_visible_set - (ETK_TEXT_VIEW(player->small.info)->textblock->evas_objects->data, + (evas_list_data(ETK_TEXT_VIEW(player->small.info)->textblock->evas_objects), ETK_FALSE); } @@ -543,10 +533,10 @@ /* TODO : doc */ void emphasis_player_vol_image_set(Emphasis_Player_Gui *player, - int right, + int high, const char *path) { - switch(right) + switch(high) { case 0: etk_image_set_from_file(ETK_IMAGE(player->small.sound_low), path, NULL); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- emphasis_player.h 30 Dec 2006 13:46:38 -0000 1.3 +++ emphasis_player.h 14 Jan 2007 19:27:43 -0000 1.4 @@ -143,7 +143,7 @@ void emphasis_player_vol_slider_set(Emphasis_Player_Gui *player, int value); void emphasis_player_vol_image_set(Emphasis_Player_Gui *player, - int right, + int high, const char *path); void emphasis_player_mode_set(Emphasis_Player_Gui *player, Emphasis_Mode state); |
From: Enlightenment C. <no...@cv...> - 2007-01-14 13:28:14
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/data Modified Files: config.glade emphasis.glade Log Message: Another aji's patch : Shuffle added. A change in the config doesn't require to relaunch emphasis anymore. Keybinding added on 'c' to clear the playlist. Keybinding added on 's' to shuffle the playlist. textblock bug solved. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/data/config.glade,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- config.glade 30 Dec 2006 13:46:38 -0000 1.2 +++ config.glade 14 Jan 2007 19:27:43 -0000 1.3 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd"> -<!-- Generated with glade3 +<!--Generated with glade3 3.0.2 on Sat Jan 13 18:46:03 2007 by aji@neiki Version: 3.0.1 Date: Wed Dec 20 00:52:02 2006 User: aji @@ -21,7 +21,7 @@ <child> <widget class="GtkFrame" id="frame1"> <property name="visible">True</property> - <property name="label_xalign">0.000000</property> + <property name="label_xalign">0</property> <property name="shadow_type">GTK_SHADOW_NONE</property> <child> <widget class="GtkTable" id="table1"> @@ -29,78 +29,78 @@ <property name="n_rows">3</property> <property name="n_columns">2</property> <child> - <widget class="GtkSpinButton" id="port"> + <widget class="GtkEntry" id="hostname"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="adjustment">0 0 65535 1 1 1</property> </widget> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> + <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="label3"> + <widget class="GtkEntry" id="password"> <property name="visible">True</property> - <property name="xalign">0.000000</property> - <property name="label" translatable="yes">Hostname : </property> + <property name="can_focus">True</property> + <property name="visibility">False</property> </widget> <packing> - <property name="x_options">GTK_FILL</property> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="label4"> + <widget class="GtkLabel" id="label5"> <property name="visible">True</property> - <property name="xalign">0.000000</property> - <property name="label" translatable="yes">Port : </property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Password :</property> </widget> <packing> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="label5"> + <widget class="GtkLabel" id="label4"> <property name="visible">True</property> - <property name="xalign">0.000000</property> - <property name="label" translatable="yes">Password :</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Port : </property> </widget> <packing> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkEntry" id="password"> + <widget class="GtkLabel" id="label3"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="visibility">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Hostname : </property> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkEntry" id="hostname"> + <widget class="GtkSpinButton" id="port"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="adjustment">0 0 65535 1 1 1</property> </widget> <packing> <property name="left_attach">1</property> <property name="right_attach">2</property> - <property name="y_options"></property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> </packing> </child> </widget> @@ -124,10 +124,10 @@ <child> <widget class="GtkFrame" id="frame2"> <property name="visible">True</property> - <property name="label_xalign">0.000000</property> + <property name="label_xalign">0</property> <property name="shadow_type">GTK_SHADOW_NONE</property> <child> - <widget class="GtkCheckButton" id="aspect1"> + <widget class="GtkCheckButton" id="aspect"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="label" translatable="yes">Keep cover aspect</property> @@ -155,7 +155,7 @@ <child> <widget class="GtkFrame" id="frame3"> <property name="visible">True</property> - <property name="label_xalign">0.000000</property> + <property name="label_xalign">0</property> <property name="shadow_type">GTK_SHADOW_NONE</property> <child> <widget class="GtkVBox" id="vbox2"> =================================================================== RCS file: /cvs/e/e17/apps/emphasis/data/emphasis.glade,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- emphasis.glade 30 Dec 2006 13:46:38 -0000 1.6 +++ emphasis.glade 14 Jan 2007 19:27:43 -0000 1.7 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd"> -<!-- Generated with glade3 +<!--Generated with glade3 3.0.2 on Sat Jan 13 20:23:52 2007 by aji@neiki Version: 3.0.1 Date: Tue Dec 12 00:12:02 2006 User: aji @@ -25,6 +25,7 @@ <property name="width_request">180</property> <property name="height_request">180</property> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> </widget> <packing> <property name="expand">False</property> @@ -37,7 +38,7 @@ <child> <widget class="GtkProgressBar" id="small_progress"> <property name="visible">True</property> - <property name="pulse_step">0.1</property> + <property name="pulse_step">0.10000000149011612</property> <signal name="mouse_down" handler="cb_seek_time"/> </widget> </child> @@ -151,6 +152,7 @@ <child> <widget class="GtkImage" id="small_sound_low"> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -172,6 +174,7 @@ <child> <widget class="GtkImage" id="small_sound_high"> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -490,6 +493,7 @@ <child> <widget class="GtkImage" id="image1"> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> <property name="icon_size">1</property> <property name="icon_name">ETK_STOCK_SYSTEM_SEARCH</property> </widget> @@ -610,6 +614,9 @@ <property name="can_focus">True</property> <signal name="row_clicked" handler="cb_media_pls_list_row_clicked"/> </widget> + <packing> + <property name="resize">False</property> + </packing> </child> <child> <widget class="GtkTreeView" id="media_pls_content"> @@ -643,6 +650,7 @@ <child> <widget class="GtkEntry" id="media_pls_entry_save"> <property name="can_focus">True</property> + <property name="text" translatable="yes">lalala</property> <signal name="key_down" handler="cb_media_pls_save_key_down"/> </widget> <packing> @@ -839,6 +847,7 @@ <child> <widget class="GtkImage" id="full_sound_low"> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -861,6 +870,7 @@ <child> <widget class="GtkImage" id="full_sound_high"> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -943,7 +953,7 @@ <child> <widget class="GtkLabel" id="full_info"> <property name="visible">True</property> - <property name="xalign">0.000000</property> + <property name="xalign">0</property> <property name="label" translatable="yes">current song info</property> </widget> <packing> @@ -985,7 +995,7 @@ <child> <widget class="GtkProgressBar" id="full_progress"> <property name="visible">True</property> - <property name="pulse_step">0.1</property> + <property name="pulse_step">0.10000000149011612</property> <signal name="mouse_down" handler="cb_seek_time"/> </widget> </child> @@ -1003,6 +1013,7 @@ <property name="width_request">100</property> <property name="height_request">100</property> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> </widget> <packing> <property name="expand">False</property> |
From: Enlightenment C. <no...@cv...> - 2007-01-14 13:28:20
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis Modified Files: README TODO configure.in Log Message: Another aji's patch : Shuffle added. A change in the config doesn't require to relaunch emphasis anymore. Keybinding added on 'c' to clear the playlist. Keybinding added on 's' to shuffle the playlist. textblock bug solved. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/README,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- README 20 Aug 2006 22:48:49 -0000 1.5 +++ README 14 Jan 2007 19:27:43 -0000 1.6 @@ -2,25 +2,29 @@ ##################################### Features: - Drag and drop between medialib treeview and playlist is supported. - Double left click on a row of medialib treeview add it with a search to the playlist, - and play it if the server is on status "stop". - ex : double left click on an album row will add all this album - Middle click remove them on the same principe, - Select a row in the playlist and push "d" to delete it from the playlist. - Right click open a contextual menu. - A click on the progress bar seek the right time on the song. - Select a medialib tree and type some letters will search for "pattern.*", Esc to cancel + Drag and drop between medialib treeview and playlist is supported. + Double left click on a row of medialib treeview add it with a search + to the playlist, and play it if the server is on status "stop". + ex : double left click on an album row will add all this album. + Middle click remove them on the same principe, + Select a row in the playlist and push "d" to delete it from the playlist. + Push "c" or "s" to clear or shuffle the current playlist. + Right click open a contextual menu. + A click on the progress bar seek the right time on the song. + "Ctrl+r" on artist/album/track tree selects randomly a row. + Select a medialib tree and type some letters will search for "pattern.*", + Esc to cancel. ##################################### Description: - Emphasis is a simple MPD (Music Player Daemon) client writen in C/Etk. + Emphasis is a simple MPD (Music Player Daemon) client writen in C/Etk. ##################################### Depends: - libmpd 0.12.0 ( svn co https://svn.musicpd.org/libmpd/trunk libmpd ) - mpd 0.12.0 ( svn co https://svn.musicpd.org/mpd/trunk mpd ) - A special debian repository for this version : - http://musicpd.org/~normalperson/debian/ + libmpd 0.12.0 ( svn co https://svn.musicpd.org/libmpd/trunk libmpd ) + mpd 0.12.0 ( svn co https://svn.musicpd.org/mpd/trunk mpd ) + A special debian repository for this version : + http://musicpd.org/~normalperson/debian/ - Ecore and Etk ( Enlightenment DR17 cvs: ano...@an...:/var/cvs/e ) + Ecore, Etk and Enhance + ( Enlightenment DR17 cvs: ano...@an...:/var/cvs/e ) =================================================================== RCS file: /cvs/e/e17/apps/emphasis/TODO,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- TODO 30 Dec 2006 13:46:38 -0000 1.6 +++ TODO 14 Jan 2007 19:27:43 -0000 1.7 @@ -1,5 +1,12 @@ +== Details == +-Updater/completer cette doc ! +-Revoir le "namespace" des fonctions +-Trier les callbacks (soit des emphasis_`part`_callback.c soit dans les fichiers emphasis_`part`.c) +-Emphasis_Song dans data_list et convert_mpd_song dans convert ? +-Faire une routine de quit qui prend en param Emphasis_Gui *gui + == Bugfix == --Un-Leak the writing of the config +-Un-Leak the writing of the config << up-to-date? -Change prototypes of row_clicked callbacks -Fixe cover "refresh" (sometime) @@ -9,10 +16,8 @@ *Make a special panel for stream support *Add bindings keys *Add "crossfade" cover -*Fixe windows postion (not at startup) *Add support of ID3 covers and path choose for cover *Grab media-keys -*Add a theme or media_tab_icons *Add lyrics == Later == =================================================================== RCS file: /cvs/e/e17/apps/emphasis/configure.in,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- configure.in 9 Oct 2006 20:36:46 -0000 1.10 +++ configure.in 14 Jan 2007 19:27:43 -0000 1.11 @@ -124,7 +124,8 @@ AC_MSG_ERROR([libmpd not found.]) ] ) -if test `pkg-config --modversion libmpd` = "0.12.4"; then + +if `pkg-config --atleast-version=0.12.4 libmpd`; then libmpd_v_cflags="-DLIBMPD_0_12_4" else libmpd_v_cflags="-DLIBMPD_0_12_0" |
From: Enlightenment C. <no...@cv...> - 2007-01-14 13:49:04
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis Modified Files: TODO Log Message: don't commit old TODO =================================================================== RCS file: /cvs/e/e17/apps/emphasis/TODO,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- TODO 14 Jan 2007 19:27:43 -0000 1.7 +++ TODO 14 Jan 2007 19:49:02 -0000 1.8 @@ -1,12 +1,4 @@ -== Details == --Updater/completer cette doc ! --Revoir le "namespace" des fonctions --Trier les callbacks (soit des emphasis_`part`_callback.c soit dans les fichiers emphasis_`part`.c) --Emphasis_Song dans data_list et convert_mpd_song dans convert ? --Faire une routine de quit qui prend en param Emphasis_Gui *gui - == Bugfix == --Un-Leak the writing of the config << up-to-date? -Change prototypes of row_clicked callbacks -Fixe cover "refresh" (sometime) @@ -19,6 +11,7 @@ *Add support of ID3 covers and path choose for cover *Grab media-keys *Add lyrics +*Update the doc ! -== Later == +== Dream == *Support XMMS 2 (later later later) |
From: Enlightenment C. <no...@cv...> - 2007-01-15 21:33:43
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/emphasis_cover_editor Modified Files: emphasis_cover_editor.c Log Message: Moving to Etk_Tree2. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/emphasis_cover_editor/emphasis_cover_editor.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- emphasis_cover_editor.c 30 Dec 2006 13:46:38 -0000 1.3 +++ emphasis_cover_editor.c 16 Jan 2007 03:33:39 -0000 1.4 @@ -26,8 +26,8 @@ Evas_List *cover_changed = NULL; void on_window_destroy(Etk_Object *object, void *data); -void fill_tree_with_db(Etk_Tree *tree); -void on_tree_row_selected(Etk_Object *object, Etk_Tree_Row *row, void *data); +void fill_tree_with_db(Etk_Tree2 *tree); +void on_tree_row_selected(Etk_Object *object, Etk_Tree2_Row *row, void *data); void change_cover_path(char *cover_path); void filechooser_close(Etk_Object *object, void *data); void filechooser_dialog_open(Etk_Dialog *filechooser_dialog, int response_id, void *data); @@ -36,15 +36,15 @@ /*********/ int -tree_sort(Etk_Tree *tree, - Etk_Tree_Row *r1, Etk_Tree_Row *r2, - Etk_Tree_Col *col, +tree_sort(Etk_Tree2 *tree, + Etk_Tree2_Row *r1, Etk_Tree2_Row *r2, + Etk_Tree2_Col *col, void *data) { char *k1 = NULL; char *k2 = NULL; - etk_tree_row_fields_get(r1, col, &k1, NULL); - etk_tree_row_fields_get(r2, col, &k2, NULL); + etk_tree2_row_fields_get(r1, col, &k1, NULL); + etk_tree2_row_fields_get(r2, col, &k2, NULL); return strcoll(k1, k2); } @@ -70,7 +70,7 @@ const char *artist; const char *album; char *key; - Etk_Tree_Row *row; + Etk_Tree2_Row *row; if (response_id == ETK_RESPONSE_OK) { @@ -81,9 +81,9 @@ && album && strcmp(album, "")) { asprintf(&key, "/%s/%s", artist, album); - row = etk_tree_append(ETK_TREE(tree), - etk_tree_nth_col_get(ETK_TREE(tree), 0), - key, NULL); + row = etk_tree2_row_append(ETK_TREE2(tree), NULL, + etk_tree2_nth_col_get(ETK_TREE2(tree), 0), + key, NULL); } } etk_entry_text_set(ETK_ENTRY(entry_add_artist), ""); @@ -140,10 +140,10 @@ } void -on_tree_row_selected(Etk_Object *object, Etk_Tree_Row *row, void *data) +on_tree_row_selected(Etk_Object *object, Etk_Tree2_Row *row, void *data) { char *path; - path = etk_tree_row_data_get(row); + path = etk_tree2_row_data_get(row); if(path) { @@ -160,18 +160,18 @@ void change_cover_path(char *cover_path) { - Etk_Tree_Row *row; + Etk_Tree2_Row *row; Cover_Entry *ce; char *key; - row = etk_tree_selected_row_get(ETK_TREE(tree)); + row = etk_tree2_selected_row_get(ETK_TREE2(tree)); if (!row) { return; } ce = malloc(sizeof(Cover_Entry)); - etk_tree_row_fields_get(row, etk_tree_nth_col_get(ETK_TREE(tree), 0), + etk_tree2_row_fields_get(row, etk_tree2_nth_col_get(ETK_TREE2(tree), 0), &key, NULL); ce->key = strdup(key); ce->path = strdup(cover_path); @@ -194,7 +194,7 @@ const char *cover_file_name; const char *cover_file_folder; char *cover_path; - Etk_Tree_Row *row; + Etk_Tree2_Row *row; if (response_id == ETK_RESPONSE_OK) { @@ -210,9 +210,9 @@ change_cover_path(cover_path); - row = etk_tree_selected_row_get(ETK_TREE(tree)); - free(etk_tree_row_data_get(row)); - etk_tree_row_data_set(row, cover_path); + row = etk_tree2_selected_row_get(ETK_TREE2(tree)); + free(etk_tree2_row_data_get(row)); + etk_tree2_row_data_set(row, cover_path); etk_image_set_from_file(ETK_IMAGE(cover), cover_path, NULL); } etk_widget_hide_all(ETK_WIDGET(filechooser_dialog)); @@ -221,7 +221,7 @@ void on_btn_open_clicked(Etk_Object *object, void *data) { - if (!etk_tree_selected_row_get(ETK_TREE(tree))) + if (!etk_tree2_selected_row_get(ETK_TREE2(tree))) { return; } @@ -251,7 +251,7 @@ entry_add_artist = enhance_var_get(en, "entry_add_artist"); entry_add_album = enhance_var_get(en, "entry_add_album"); - fill_tree_with_db(ETK_TREE(tree)); + fill_tree_with_db(ETK_TREE2(tree)); etk_main(); @@ -259,13 +259,13 @@ } void -fill_tree_with_db(Etk_Tree *tree) +fill_tree_with_db(Etk_Tree2 *tree) { int num, i; char **entries; char *cover_path; - Etk_Tree_Col *col; - Etk_Tree_Row *row; + Etk_Tree2_Col *col; + Etk_Tree2_Row *row; Eet_File *ef; char *cover_db_path; @@ -278,31 +278,30 @@ exit(-1); } - col = etk_tree_col_new(tree, "/artist/album", - etk_tree_model_text_new(tree), - 0); - etk_tree_build(tree); - etk_tree_freeze(tree); + col = etk_tree2_col_new(tree, "/artist/album", 0, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + etk_tree2_build(tree); + etk_tree2_freeze(tree); entries = eet_list(ef, "*", &num); for (i=0; i<num; i++) { cover_path = eet_read(ef, entries[i], NULL); - row = etk_tree_append(tree, col, entries[i], NULL); + row = etk_tree2_row_append(tree, NULL, col, entries[i], NULL); if (strcmp("not found", cover_path)) { - etk_tree_row_data_set(row, cover_path); + etk_tree2_row_data_set(row, cover_path); } else { - etk_tree_row_data_set(row, NULL); + etk_tree2_row_data_set(row, NULL); } } eet_close(ef); free(cover_db_path); - etk_tree_sort(tree, tree_sort, ETK_TRUE, etk_tree_nth_col_get(tree, 0), NULL); - etk_tree_thaw(tree); + etk_tree2_col_sort_set(etk_tree2_nth_col_get(tree, 0), tree_sort, NULL); + etk_tree2_thaw(tree); } |
From: Enlightenment C. <no...@cv...> - 2007-01-15 21:33:44
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis.c emphasis.h emphasis_callbacks.c emphasis_callbacks.h emphasis_gui.c emphasis_media.c emphasis_media.h emphasis_misc.c emphasis_misc.h emphasis_mpc.c emphasis_player.c emphasis_search.c Log Message: Moving to Etk_Tree2. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- emphasis.c 30 Dec 2006 13:46:38 -0000 1.9 +++ emphasis.c 16 Jan 2007 03:33:39 -0000 1.10 @@ -62,13 +62,13 @@ config->geometry.media_w, config->geometry.media_h); /* Set the last width of the playlist's columns */ - etk_tree_col_width_set(ETK_TREE_COL_GET(player->media.pls, 0), + etk_tree2_col_width_set(ETK_TREE2_COL_GET(player->media.pls, 0), config->colwidth.title); - etk_tree_col_width_set(ETK_TREE_COL_GET(player->media.pls, 1), + etk_tree2_col_width_set(ETK_TREE2_COL_GET(player->media.pls, 1), config->colwidth.time); - etk_tree_col_width_set(ETK_TREE_COL_GET(player->media.pls, 2), + etk_tree2_col_width_set(ETK_TREE2_COL_GET(player->media.pls, 2), config->colwidth.artist); - etk_tree_col_width_set(ETK_TREE_COL_GET(player->media.pls, 3), + etk_tree2_col_width_set(ETK_TREE2_COL_GET(player->media.pls, 3), config->colwidth.album); /* Set the medialib paned size */ @@ -124,8 +124,8 @@ gui->timer = timer; emphasis_tree_mlib_init(gui->player, EMPHASIS_ARTIST); - etk_tree_row_select(etk_tree_first_row_get - (ETK_TREE(gui->player->media.artist))); + etk_tree2_row_select(etk_tree2_first_row_get + (ETK_TREE2(gui->player->media.artist))); return 0; } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- emphasis.h 30 Dec 2006 13:46:38 -0000 1.7 +++ emphasis.h 16 Jan 2007 03:33:39 -0000 1.8 @@ -28,7 +28,7 @@ #include "emphasis_cover.h" #include "emphasis_cover_db.h" -#define ETK_TREE_COL_GET(tree, num) etk_tree_nth_col_get(ETK_TREE(tree), num) +#define ETK_TREE2_COL_GET(tree, num) etk_tree2_nth_col_get(ETK_TREE2(tree), num) #define UNUSED(var) (void)(var); #define UNUSED_CLICKED_PARAM (void)(object); (void)(data); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- emphasis_callbacks.c 14 Jan 2007 19:27:43 -0000 1.16 +++ emphasis_callbacks.c 16 Jan 2007 03:33:39 -0000 1.17 @@ -29,13 +29,13 @@ &(config->geometry.media_h)); config->colwidth.title = - etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 0)); + etk_tree2_col_width_get(ETK_TREE2_COL_GET(player->media.pls, 0)); config->colwidth.time = - etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 1)); + etk_tree2_col_width_get(ETK_TREE2_COL_GET(player->media.pls, 1)); config->colwidth.artist = - etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 2)); + etk_tree2_col_width_get(ETK_TREE2_COL_GET(player->media.pls, 2)); config->colwidth.album = - etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 3)); + etk_tree2_col_width_get(ETK_TREE2_COL_GET(player->media.pls, 3)); config->media_paned = etk_paned_position_get(ETK_PANED(player->media.paned)); config->mode = player->state; @@ -226,7 +226,7 @@ * And set the album tree with. */ void -cb_tree_artist_selected(Etk_Object *object, Etk_Tree_Row *row, void *data) +cb_tree_artist_selected(Etk_Object *object, Etk_Tree2_Row *row, void *data) { UNUSED(object) UNUSED(row) @@ -236,31 +236,31 @@ player = data; - artist_sel = etk_tree_selected_rows_get(ETK_TREE(player->media.artist)); - artist = etk_tree_row_data_get(evas_list_data(artist_sel)); + artist_sel = etk_tree2_selected_rows_get(ETK_TREE2(player->media.artist)); + artist = etk_tree2_row_data_get(evas_list_data(artist_sel)); if (artist == NULL) { - emphasis_tree_mlib_set(ETK_TREE(player->media.album), + emphasis_tree_mlib_set(ETK_TREE2(player->media.album), mpc_mlib_album_get(NULL), MPD_DATA_TYPE_TAG, NULL); - etk_tree_row_select - (etk_tree_first_row_get(ETK_TREE(player->media.album))); + etk_tree2_row_select + (etk_tree2_first_row_get(ETK_TREE2(player->media.album))); return; } - emphasis_tree_mlib_set(ETK_TREE(player->media.album), NULL, + emphasis_tree_mlib_set(ETK_TREE2(player->media.album), NULL, MPD_DATA_TYPE_TAG, NULL); while (artist_sel) { - artist = etk_tree_row_data_get(evas_list_data(artist_sel)); - emphasis_tree_mlib_append(ETK_TREE(player->media.album), + artist = etk_tree2_row_data_get(evas_list_data(artist_sel)); + emphasis_tree_mlib_append(ETK_TREE2(player->media.album), mpc_mlib_album_get(artist), MPD_DATA_TYPE_TAG, artist); artist_sel = evas_list_next(artist_sel); } - etk_tree_row_select(etk_tree_first_row_get(ETK_TREE(player->media.album))); + etk_tree2_row_select(etk_tree2_first_row_get(ETK_TREE2(player->media.album))); } /** @@ -268,7 +268,7 @@ * Then set the tree track with that stuff. */ void -cb_tree_album_selected(Etk_Object *object, Etk_Tree_Row *row, void *data) +cb_tree_album_selected(Etk_Object *object, Etk_Tree2_Row *row, void *data) { UNUSED(object) UNUSED(row) @@ -280,17 +280,17 @@ player = data; - album_sel = etk_tree_selected_rows_get(ETK_TREE(player->media.album)); - album_tag = etk_tree_row_data_get(evas_list_data(album_sel)); + album_sel = etk_tree2_selected_rows_get(ETK_TREE2(player->media.album)); + album_tag = etk_tree2_row_data_get(evas_list_data(album_sel)); if (album_tag == NULL) { - etk_tree_clear(ETK_TREE(player->media.track)); - artist_sel = etk_tree_selected_rows_get(ETK_TREE(player->media.artist)); + etk_tree2_clear(ETK_TREE2(player->media.track)); + artist_sel = etk_tree2_selected_rows_get(ETK_TREE2(player->media.artist)); while (artist_sel) { - artist_tag = etk_tree_row_data_get(evas_list_data(artist_sel)); - emphasis_tree_mlib_append(ETK_TREE(player->media.track), + artist_tag = etk_tree2_row_data_get(evas_list_data(artist_sel)); + emphasis_tree_mlib_append(ETK_TREE2(player->media.track), mpc_mlib_track_get(artist_tag, NULL), MPD_DATA_TYPE_SONG, NULL); artist_sel = evas_list_next(artist_sel); @@ -298,17 +298,19 @@ return; } - etk_tree_clear(ETK_TREE(player->media.track)); + etk_tree2_clear(ETK_TREE2(player->media.track)); while (album_sel) { - album_tag = etk_tree_row_data_get(evas_list_data(album_sel)); - emphasis_tree_mlib_append(ETK_TREE(player->media.track), + album_tag = etk_tree2_row_data_get(evas_list_data(album_sel)); + emphasis_tree_mlib_append(ETK_TREE2(player->media.track), mpc_mlib_track_get(album_tag[1], album_tag[0]), MPD_DATA_TYPE_SONG, NULL); album_sel = evas_list_next(album_sel); } } +/* FIXME wait for tree2 to support dnd */ +#if 0 /** * @brief Set a drag widget from a list of artist selected * @param data A common drag widget @@ -318,22 +320,22 @@ { Etk_Widget *drag_menu, *menu_item; Etk_Drag *drag; - Etk_Tree *tree; + Etk_Tree2 *tree; Evas_List *rowlist, *next; char *artist; const char **types; unsigned int num_types; Evas_List *playlist = NULL, *tmplist; - tree = ETK_TREE(object); + tree = ETK_TREE2(object); drag = ETK_DRAG((ETK_WIDGET(tree))->drag); - rowlist = etk_tree_selected_rows_get(tree); + rowlist = etk_tree2_selected_rows_get(tree); drag_menu = etk_menu_new(); while(rowlist) { - artist = etk_tree_row_data_get(evas_list_data(rowlist)); + artist = etk_tree2_row_data_get(evas_list_data(rowlist)); tmplist = mpc_mlib_track_get(artist, NULL); if(artist) @@ -382,22 +384,22 @@ { Etk_Widget *drag_menu, *menu_item; Etk_Drag *drag; - Etk_Tree *tree; + Etk_Tree2 *tree; Evas_List *rowlist; char **album; const char **types; unsigned int num_types; Evas_List *playlist = NULL, *tmplist; - tree = ETK_TREE(object); + tree = ETK_TREE2(object); drag = ETK_DRAG((ETK_WIDGET(object))->drag); - rowlist = etk_tree_selected_rows_get(tree); + rowlist = etk_tree2_selected_rows_get(tree); drag_menu = etk_menu_new(); while (rowlist) { - album = etk_tree_row_data_get(evas_list_data(rowlist)); + album = etk_tree2_row_data_get(evas_list_data(rowlist)); if (album != NULL) { tmplist = mpc_mlib_track_get(album[1], album[0]); @@ -425,10 +427,10 @@ } else { - Etk_Tree_Row *row; + Etk_Tree2_Row *row; - row = etk_tree_first_row_get(tree); - row = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); + row = etk_tree2_first_row_get(tree); + row = etk_tree2_row_next_get(row); rowlist = evas_list_free(rowlist); rowlist = NULL; emphasis_list_free(playlist); @@ -436,7 +438,7 @@ while (row) { rowlist = evas_list_append(rowlist, row); - row = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); + row = etk_tree2_row_next_get(row); } } } @@ -463,24 +465,24 @@ { Etk_Widget *drag_menu, *menu_item; Etk_Drag *drag; - Etk_Tree *tree; + Etk_Tree2 *tree; Evas_List *rowlist; char *title; const char **types; unsigned int num_types; Evas_List *playlist; - tree = ETK_TREE(object); + tree = ETK_TREE2(object); drag = ETK_DRAG((ETK_WIDGET(object))->drag); drag_menu = etk_menu_new(); - rowlist = etk_tree_selected_rows_get(tree); + rowlist = etk_tree2_selected_rows_get(tree); playlist = convert_rowlist_in_playlist_with_file(rowlist); while (rowlist) { - etk_tree_row_fields_get(evas_list_data(rowlist), - etk_tree_nth_col_get(tree, 0), &title, NULL); + etk_tree2_row_fields_get(evas_list_data(rowlist), + etk_tree2_nth_col_get(tree, 0), &title, NULL); menu_item = etk_menu_item_new_with_label(title); etk_menu_shell_append(ETK_MENU_SHELL(drag_menu), @@ -496,13 +498,14 @@ etk_drag_types_set(drag, types, num_types); etk_drag_data_set(drag, playlist, 1); - etk_tree_row_fields_get(evas_list_data(rowlist), - etk_tree_nth_col_get(tree, 0), &title, NULL); + etk_tree2_row_fields_get(evas_list_data(rowlist), + etk_tree2_nth_col_get(tree, 0), &title, NULL); etk_container_add(ETK_CONTAINER(drag), drag_menu); ((Emphasis_Player_Gui*)data)->media.drag = ETK_WIDGET(drag); } +#endif /** * @brief Get the playlist draged. Add it to the current playlist. @@ -513,11 +516,11 @@ cb_drop_song(Etk_Object *object, void *event, void *data) { UNUSED(event) - Etk_Tree *tree; + Etk_Tree2 *tree; Etk_Drag *drag; Evas_List *list; - tree = ETK_TREE(object); + tree = ETK_TREE2(object); drag = ETK_DRAG(((Emphasis_Player_Gui*)data)->media.drag); if (drag == NULL || @@ -551,7 +554,7 @@ * @brief Double-click on a row add the artist's song to the playlist */ void -cb_tree_mlib_clicked(Etk_Object *object, Etk_Tree_Row *row, +cb_tree_mlib_clicked(Etk_Object *object, Etk_Tree2_Row *row, Etk_Event_Mouse_Down *event, void *data) { Emphasis_Player_Gui *player; @@ -562,15 +565,15 @@ et = (Emphasis_Type) etk_object_data_get(object, "Emphasis_Type"); if ((event->button == 1) && (event->flags == ETK_MOUSE_DOUBLE_CLICK)) { - emphasis_playlist_append_selected(ETK_TREE(object), et); + emphasis_playlist_append_selected(ETK_TREE2(object), et); mpc_play_if_stopped(); } if (event->button == 2) { - etk_tree_row_fields_get(row, etk_tree_nth_col_get(ETK_TREE(object), 0), + etk_tree2_row_fields_get(row, etk_tree2_nth_col_get(ETK_TREE2(object), 0), &str, NULL); - emphasis_playlist_search_and_delete(ETK_TREE(player->media.pls), str, et); + emphasis_playlist_search_and_delete(ETK_TREE2(player->media.pls), str, et); } } @@ -578,21 +581,18 @@ * @brief Play the song double-clicked */ void -cb_tree_pls_clicked(Etk_Object *object, Etk_Tree_Row *row, +cb_tree_pls_clicked(Etk_Object *object, Etk_Tree2_Row *row, Etk_Event_Mouse_Down *event, void *data) { UNUSED(data) + UNUSED(object) int id; if ((event->button == 1) && (event->flags == ETK_MOUSE_DOUBLE_CLICK)) { - id = (int) etk_tree_row_data_get(row); + id = (int) etk_tree2_row_data_get(row); mpc_play_id(id); } - if (event->button == 1) - { - ETK_TREE(object)->last_selected = row; - } } void @@ -640,28 +640,28 @@ cb_mlib_bindings_key(Etk_Object *object, Etk_Event_Key_Down *event, void *data) { - Etk_Tree *tree; - Etk_Tree_Row *row, *row_next; - Etk_Tree_Col *col; + Etk_Tree2 *tree; + Etk_Tree2_Row *row, *row_next; + Etk_Tree2_Col *col; Emphasis_Player_Gui *player; char *str; if (!event->string) return; - tree = ETK_TREE(object); + tree = ETK_TREE2(object); player = data; if (!strcmp(event->key, "a") && event->modifiers == ETK_MODIFIER_CTRL) { - etk_tree_select_all(tree); + etk_tree2_select_all(tree); if (object == ETK_OBJECT(player->media.track)) return; - row = etk_tree_first_row_get(tree); - etk_tree_row_unselect(row); + row = etk_tree2_first_row_get(tree); + etk_tree2_row_unselect(row); if (object == ETK_OBJECT(player->media.artist)) { cb_tree_artist_selected(object, row, data); @@ -677,14 +677,15 @@ && event->modifiers == ETK_MODIFIER_CTRL) { int i, r; - r = xrand(0, etk_tree_num_rows_get(tree)); - row = etk_tree_first_row_get(tree); + /* We need an accessor here */ + r = xrand(0, ETK_TREE2(tree)->total_rows); + row = etk_tree2_first_row_get(tree); for (i=0; i<r; i++) { - row = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); + row = etk_tree2_row_next_get(row); } - etk_tree_row_select(row); - etk_tree_row_scroll_to(row, ETK_TRUE); + etk_tree2_row_select(row); + etk_tree2_row_scroll_to(row, ETK_TRUE); return; } @@ -692,7 +693,7 @@ || event->modifiers == ETK_MODIFIER_CTRL) return; - col = etk_tree_nth_col_get(tree, 0); + col = etk_tree2_nth_col_get(tree, 0); /**/ const char *cur_title, *base_title; @@ -703,7 +704,7 @@ /*get the base title of the tree */ base_title = etk_object_data_get(ETK_OBJECT(tree), "title"); /*get the current title of tree */ - cur_title = etk_tree_col_title_get(col); + cur_title = etk_tree2_col_title_get(col); type = (Emphasis_Type) etk_object_data_get(ETK_OBJECT(tree), "Emphasis_Type"); /* FIXME & > < */ @@ -727,14 +728,14 @@ emphasis_tree_mlib_init(player, type); if (strlen(title) == strlen(base_title) + 17) { - etk_tree_col_title_set(col, base_title); + etk_tree2_col_title_set(col, base_title); return; } } else if (!strcmp("Escape", event->keyname)) { emphasis_tree_mlib_init(player, type); - etk_tree_col_title_set(col, base_title); + etk_tree2_col_title_set(col, base_title); return; } else if (!strcmp("Return", event->keyname)) @@ -745,34 +746,34 @@ emphasis_playlist_append_selected(tree, et); mpc_play_if_stopped(); emphasis_tree_mlib_init(player, type); - etk_tree_col_title_set(col, base_title); + etk_tree2_col_title_set(col, base_title); return; } else asprintf(&title, "%s%s", cur_title, event->string); } - etk_tree_col_title_set(etk_tree_nth_col_get(tree, 0), title); + etk_tree2_col_title_set(etk_tree2_nth_col_get(tree, 0), title); length = strlen(base_title) + 17; filter = strdup(&title[length]); length = strlen(filter); /**/ - row = etk_tree_first_row_get(tree); + row = etk_tree2_first_row_get(tree); while (row) { - row_next = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); - etk_tree_row_fields_get(row, col, &str, NULL); + row_next = etk_tree2_row_next_get(row); + etk_tree2_row_fields_get(row, col, &str, NULL); if (!strncasecmp("The ", str, 4)) { str = str + 4; } if (!strcmp("All", str) || (strncasecmp(filter, str, length) != 0)) - etk_tree_row_del(row); + etk_tree2_row_delete(row); row = row_next; } - etk_tree_row_select(etk_tree_first_row_get(tree)); + etk_tree2_row_select(etk_tree2_first_row_get(tree)); free(title); free(filter); } @@ -836,7 +837,7 @@ if (!strcmp(event->key, "d") || !strcmp(event->key, "Delete")) { - rowlist = etk_tree_selected_rows_get(ETK_TREE(player->media.pls)); + rowlist = etk_tree2_selected_rows_get(ETK_TREE2(player->media.pls)); if (rowlist) { list = convert_rowlist_in_playlist_with_id(rowlist); @@ -872,7 +873,7 @@ player = data; - rowlist = etk_tree_selected_rows_get(ETK_TREE(player->media.pls)); + rowlist = etk_tree2_selected_rows_get(ETK_TREE2(player->media.pls)); list = convert_rowlist_in_playlist_with_id(rowlist); mpc_playlist_delete(list); @@ -892,9 +893,9 @@ emphasis_tree_mlib_init(player, EMPHASIS_ARTIST); /* Clear old search */ - etk_tree_col_title_set(ETK_TREE_COL_GET(player->media.artist, 0), "Artist"); - etk_tree_col_title_set(ETK_TREE_COL_GET(player->media.album , 0), "Album"); - etk_tree_col_title_set(ETK_TREE_COL_GET(player->media.track , 0), "Track"); + etk_tree2_col_title_set(ETK_TREE2_COL_GET(player->media.artist, 0), "Artist"); + etk_tree2_col_title_set(ETK_TREE2_COL_GET(player->media.album , 0), "Album"); + etk_tree2_col_title_set(ETK_TREE2_COL_GET(player->media.track , 0), "Track"); /* TODO redraw */ } @@ -1068,12 +1069,12 @@ } void -cb_media_pls_list_row_clicked(Etk_Object *object, Etk_Tree_Row *row, +cb_media_pls_list_row_clicked(Etk_Object *object, Etk_Tree2_Row *row, Etk_Event_Mouse_Down *event, void *data) { Emphasis_Player_Gui *player; - Etk_Tree *tree; - Etk_Tree_Col *col; + Etk_Tree2 *tree; + Etk_Tree2_Col *col; char *playlist_name; player = data; @@ -1081,12 +1082,12 @@ { if (event->flags == ETK_MOUSE_NONE) { - tree = ETK_TREE(object); - col = etk_tree_nth_col_get(tree, 0); + tree = ETK_TREE2(object); + col = etk_tree2_nth_col_get(tree, 0); - etk_tree_clear(ETK_TREE(player->media.pls_content)); - etk_tree_row_fields_get(row, col, &playlist_name, NULL); - emphasis_tree_mlib_append(ETK_TREE(player->media.pls_content), + etk_tree2_clear(ETK_TREE2(player->media.pls_content)); + etk_tree2_row_fields_get(row, col, &playlist_name, NULL); + emphasis_tree_mlib_append(ETK_TREE2(player->media.pls_content), (mpc_get_playlist_content(playlist_name)), MPD_DATA_TYPE_SONG, NULL); @@ -1134,21 +1135,21 @@ UNUSED(object); #if defined(LIBMPD_0_12_4) Emphasis_Player_Gui *player; - Etk_Tree_Col *col; - Etk_Tree_Row *row; + Etk_Tree2_Col *col; + Etk_Tree2_Row *row; char *playlist_name; player = data; - col = etk_tree_nth_col_get(ETK_TREE(player->media.pls_list), 0); - row = etk_tree_selected_row_get(ETK_TREE(player->media.pls_list)); - etk_tree_row_fields_get(row, col, &playlist_name, NULL); + col = etk_tree2_nth_col_get(ETK_TREE2(player->media.pls_list), 0); + row = etk_tree2_selected_row_get(ETK_TREE2(player->media.pls_list)); + etk_tree2_row_fields_get(row, col, &playlist_name, NULL); mpc_playlist_clear(); - etk_tree_multiple_select_set(ETK_TREE(player->media.pls_content), ETK_TRUE); - etk_tree_select_all(ETK_TREE(player->media.pls_content)); - emphasis_playlist_append_selected(ETK_TREE(player->media.pls_content), + etk_tree2_multiple_select_set(ETK_TREE2(player->media.pls_content), ETK_TRUE); + etk_tree2_select_all(ETK_TREE2(player->media.pls_content)); + emphasis_playlist_append_selected(ETK_TREE2(player->media.pls_content), EMPHASIS_TRACK); - etk_tree_unselect_all(ETK_TREE(player->media.pls_content)); + etk_tree2_unselect_all(ETK_TREE2(player->media.pls_content)); mpc_play_if_stopped(); #else UNUSED(data); @@ -1161,14 +1162,14 @@ UNUSED(object); #if defined(LIBMPD_0_12_4) Emphasis_Player_Gui *player; - Etk_Tree_Col *col; - Etk_Tree_Row *row; + Etk_Tree2_Col *col; + Etk_Tree2_Row *row; char *playlist_name; player = data; - col = etk_tree_nth_col_get(ETK_TREE(player->media.pls_list), 0); - row = etk_tree_selected_row_get(ETK_TREE(player->media.pls_list)); - etk_tree_row_fields_get(row, col, &playlist_name, NULL); + col = etk_tree2_nth_col_get(ETK_TREE2(player->media.pls_list), 0); + row = etk_tree2_selected_row_get(ETK_TREE2(player->media.pls_list)); + etk_tree2_row_fields_get(row, col, &playlist_name, NULL); mpc_delete_playlist(playlist_name); emphasis_pls_list_init(player); @@ -1195,19 +1196,19 @@ UNUSED(object); Evas_List *row; Evas_List *list; - Etk_Tree_Col *col; + Etk_Tree2_Col *col; const char *file; player = data; - row = etk_tree_selected_rows_get(ETK_TREE(player->media.search_tree)); + row = etk_tree2_selected_rows_get(ETK_TREE2(player->media.search_tree)); if (!row) - row = etk_tree_unselected_rows_get(ETK_TREE(player->media.search_tree)); + row = etk_tree2_unselected_rows_get(ETK_TREE2(player->media.search_tree)); list = row; - col = etk_tree_nth_col_get(ETK_TREE(player->media.search_tree), 3); + col = etk_tree2_nth_col_get(ETK_TREE2(player->media.search_tree), 3); while (row) { - etk_tree_row_fields_get(evas_list_data(row), col, &file, NULL); + etk_tree2_row_fields_get(evas_list_data(row), col, &file, NULL); mpc_playlist_add_song(file, 0); row = evas_list_next(row); } @@ -1284,15 +1285,14 @@ Emphasis_Player_Gui *player; Evas_List *children; Evas_List *child; - Evas_List *sub_children; Evas_List *sub_child; + Evas_List *list; Evas_List *query = NULL; Etk_Widget *widget; int index; player = data; - children = - etk_container_children_get(ETK_CONTAINER(player->media.search_root)); + children = etk_container_children_get(ETK_CONTAINER(player->media.search_root)); child = children; while (child) @@ -1301,24 +1301,22 @@ if (ETK_IS_BOX(widget)) { - sub_children = - etk_container_children_get(ETK_CONTAINER(evas_list_data(child))); - sub_child = sub_children; - - index = - etk_combobox_active_item_nth_get - (ETK_COMBOBOX(evas_list_data(sub_child))); + /* Get the search row content */ + sub_child = etk_container_children_get(ETK_CONTAINER(evas_list_data(child))); + list = sub_child; + + /* Get the id of the tag to search */ + index = etk_combobox_active_item_nth_get(ETK_COMBOBOX(evas_list_data(sub_child))); query = evas_list_append(query, (void *)index); + /* Get the search pattern */ sub_child = evas_list_next(sub_child); - query = - evas_list_append - (query, etk_entry_text_get(ETK_ENTRY(evas_list_data(sub_child)))); + query = evas_list_append(query, etk_entry_text_get(ETK_ENTRY(evas_list_data(sub_child)))); - evas_list_free(sub_children); + evas_list_free(list); } - if (ETK_IS_TREE(widget)) { break; } + if (ETK_IS_TREE2(widget)) { break; } child = evas_list_next(child); } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- emphasis_callbacks.h 14 Jan 2007 19:27:43 -0000 1.8 +++ emphasis_callbacks.h 16 Jan 2007 03:33:39 -0000 1.9 @@ -24,17 +24,17 @@ void cb_vol_slider_value_changed(Etk_Object *object, double value, void *data); -void cb_tree_artist_selected(Etk_Object *object, Etk_Tree_Row *row, void *data); -void cb_tree_album_selected(Etk_Object *object, Etk_Tree_Row *row, void *data); +void cb_tree_artist_selected(Etk_Object *object, Etk_Tree2_Row *row, void *data); +void cb_tree_album_selected(Etk_Object *object, Etk_Tree2_Row *row, void *data); void cb_drag_artist(Etk_Object *object, void *data); void cb_drag_album(Etk_Object *object, void *data); void cb_drag_track(Etk_Object *object, void *data); void cb_drop_song(Etk_Object *object, void *event, void *data); -void cb_tree_mlib_clicked(Etk_Object *object, Etk_Tree_Row *row, +void cb_tree_mlib_clicked(Etk_Object *object, Etk_Tree2_Row *row, Etk_Event_Mouse_Down *event, void *data); -void cb_tree_pls_clicked(Etk_Object *object, Etk_Tree_Row *row, +void cb_tree_pls_clicked(Etk_Object *object, Etk_Tree2_Row *row, Etk_Event_Mouse_Down *event, void *data); void cb_emphasis_bindings_key(Etk_Object *object, Etk_Event_Key_Down *event, @@ -66,7 +66,7 @@ void cb_config_ok(Etk_Object *object, void *data); Etk_Bool cb_config_hide(Etk_Object *object, void *data); -void cb_media_pls_list_row_clicked(Etk_Object *object, Etk_Tree_Row *row, +void cb_media_pls_list_row_clicked(Etk_Object *object, Etk_Tree2_Row *row, Etk_Event_Mouse_Down *event, void *data); void cb_media_pls_save_clicked(Etk_Object *object, void *data); void cb_media_pls_load_clicked(Etk_Object *object, void *data); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_gui.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- emphasis_gui.c 14 Jan 2007 19:27:43 -0000 1.10 +++ emphasis_gui.c 16 Jan 2007 03:33:39 -0000 1.11 @@ -34,10 +34,10 @@ player = gui->player; - etk_tree_clear(ETK_TREE(player->media.artist)); - etk_tree_clear(ETK_TREE(player->media.album)); - etk_tree_clear(ETK_TREE(player->media.track)); - etk_tree_clear(ETK_TREE(player->media.pls)); + etk_tree2_clear(ETK_TREE2(player->media.artist)); + etk_tree2_clear(ETK_TREE2(player->media.album)); + etk_tree2_clear(ETK_TREE2(player->media.track)); + etk_tree2_clear(ETK_TREE2(player->media.pls)); } /* TODO : documentation */ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_media.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- emphasis_media.c 14 Jan 2007 19:27:43 -0000 1.4 +++ emphasis_media.c 16 Jan 2007 03:33:39 -0000 1.5 @@ -6,22 +6,22 @@ void emphasis_tree_mlib_init(Emphasis_Player_Gui *player, Emphasis_Type type) { - Etk_Tree_Row *row; + Etk_Tree2_Row *row; Evas_List *list; switch (type) { case EMPHASIS_ARTIST: list = mpc_mlib_artist_get(); - emphasis_tree_mlib_set(ETK_TREE(player->media.artist), list, + emphasis_tree_mlib_set(ETK_TREE2(player->media.artist), list, MPD_DATA_TYPE_TAG, NULL); break; case EMPHASIS_ALBUM: - row = etk_tree_selected_row_get(ETK_TREE(player->media.artist)); + row = etk_tree2_selected_row_get(ETK_TREE2(player->media.artist)); cb_tree_artist_selected(ETK_OBJECT(player->media.artist), row, player); break; case EMPHASIS_TRACK: - row = etk_tree_selected_row_get(ETK_TREE(player->media.album)); + row = etk_tree2_selected_row_get(ETK_TREE2(player->media.album)); cb_tree_album_selected(ETK_OBJECT(player->media.album), row, player); break; } @@ -29,13 +29,13 @@ /* TODO : documentation */ void -emphasis_tree_mlib_set(Etk_Tree *tree, Evas_List *list, +emphasis_tree_mlib_set(Etk_Tree2 *tree, Evas_List *list, MpdDataType mpd_type, char *tag) { - Etk_Tree_Row *row; + Etk_Tree2_Row *row; char **album_tag = NULL; - etk_tree_clear(tree); + etk_tree2_clear(tree); if (mpd_type == MPD_DATA_TYPE_TAG) { if (tag != NULL) @@ -44,8 +44,8 @@ album_tag[0] = NULL; album_tag[1] = tag; } - row = etk_tree_append(tree, etk_tree_nth_col_get(tree, 0), "All", NULL); - etk_tree_row_data_set(row, album_tag); + row = etk_tree2_row_append(tree, NULL, etk_tree2_nth_col_get(tree, 0), "All", NULL); + etk_tree2_row_data_set(row, album_tag); } if (list) { @@ -60,22 +60,22 @@ * @param mpd_type The type of the list */ void -emphasis_tree_mlib_append(Etk_Tree *tree, Evas_List *list, +emphasis_tree_mlib_append(Etk_Tree2 *tree, Evas_List *list, MpdDataType mpd_type, char *tag) { - Etk_Tree_Col *col; - Etk_Tree_Row *row; + Etk_Tree2_Col *col; + Etk_Tree2_Row *row; Emphasis_Data *data; Evas_List *first_list; char **album_tag; Emphasis_Type et; - etk_tree_freeze(tree); - col = etk_tree_nth_col_get(tree, 0); + etk_tree2_freeze(tree); + col = etk_tree2_nth_col_get(tree, 0); first_list = list; - etk_tree_freeze(tree); + etk_tree2_freeze(tree); if (mpd_type == MPD_DATA_TYPE_TAG) { et = (Emphasis_Type) etk_object_data_get(ETK_OBJECT(tree), @@ -83,17 +83,17 @@ while (list) { data = evas_list_data(list); - row = etk_tree_append(tree, col, data->tag, NULL); + row = etk_tree2_row_append(tree, NULL, col, data->tag, NULL); if (et == EMPHASIS_ALBUM) { album_tag = malloc(sizeof(char *) * 2); album_tag[0] = strdupnull(data->tag); album_tag[1] = strdupnull(tag); - etk_tree_row_data_set(row, album_tag); + etk_tree2_row_data_set(row, album_tag); } else { - etk_tree_row_data_set(row, strdup(data->tag)); + etk_tree2_row_data_set(row, strdup(data->tag)); } list = evas_list_next(list); } @@ -106,11 +106,11 @@ { data = evas_list_data(list); if (data->song->title) - row = etk_tree_append(tree, col, data->song->title, NULL); + row = etk_tree2_row_append(tree, NULL, col, data->song->title, NULL); else - row = etk_tree_append(tree, col, data->song->file, NULL); + row = etk_tree2_row_append(tree, NULL, col, data->song->file, NULL); - etk_tree_row_data_set(row, strdup(data->song->file)); + etk_tree2_row_data_set(row, strdup(data->song->file)); list = evas_list_next(list); } } @@ -121,14 +121,14 @@ while (list) { data = evas_list_data(list); - etk_tree_append(tree, col, data->playlist, NULL); + etk_tree2_row_append(tree, NULL, col, data->playlist, NULL); list = evas_list_next(list); } } } } - etk_tree_thaw(tree); + etk_tree2_thaw(tree); emphasis_list_free(first_list); } @@ -138,33 +138,33 @@ * @param playlist The full playlist used by mpd */ void -emphasis_tree_pls_set(Etk_Tree *tree, Evas_List *playlist) +emphasis_tree_pls_set(Etk_Tree2 *tree, Evas_List *playlist) { - Etk_Tree_Col *col_title, *col_time, *col_artist, *col_album; - Etk_Tree_Row *row, *row_next; + Etk_Tree2_Col *col_title, *col_time, *col_artist, *col_album; + Etk_Tree2_Row *row, *row_next; int id; char *title, *song_time; Emphasis_Data *data; Evas_List *list; list = playlist; - col_title = etk_tree_nth_col_get(tree, 0); - col_time = etk_tree_nth_col_get(tree, 1); - col_artist = etk_tree_nth_col_get(tree, 2); - col_album = etk_tree_nth_col_get(tree, 3); + col_title = etk_tree2_nth_col_get(tree, 0); + col_time = etk_tree2_nth_col_get(tree, 1); + col_artist = etk_tree2_nth_col_get(tree, 2); + col_album = etk_tree2_nth_col_get(tree, 3); - etk_tree_freeze(tree); - row = etk_tree_first_row_get(tree); + etk_tree2_freeze(tree); + row = etk_tree2_first_row_get(tree); /* LEAK : playlist and on NULL */ while (row && playlist) { data = evas_list_data(playlist); - row_next = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); - id = (int) etk_tree_row_data_get(row); + row_next = etk_tree2_row_next_get(row); + id = (int) etk_tree2_row_data_get(row); if (data->song->id != id) { - etk_tree_row_del(row); + etk_tree2_row_delete(row); } else { @@ -175,8 +175,8 @@ while (row) { - row_next = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); - etk_tree_row_del(row); + row_next = etk_tree2_row_next_get(row); + etk_tree2_row_delete(row); row = row_next; } @@ -189,19 +189,19 @@ title = data->song->title; asprintf(&song_time, "%d:%02d", (data->song->time) / 60, (data->song->time) % 60); - row = - etk_tree_append(tree, col_title, NULL, title, col_time, song_time, - col_artist, data->song->artist, col_album, - data->song->album, NULL); + row = etk_tree2_row_append(tree, NULL, + col_title, NULL, NULL, title, + col_time, song_time, + col_artist, data->song->artist, + col_album, data->song->album, NULL); - - etk_tree_row_data_set(row, (int *) data->song->id); + etk_tree2_row_data_set(row, (int *) data->song->id); free(song_time); playlist = evas_list_next(playlist); } emphasis_list_free(list); - etk_tree_thaw(tree); + etk_tree2_thaw(tree); } /** @@ -209,41 +209,40 @@ * @note can be improve by stoping the while loop when the to cond has been validated */ void -emphasis_pls_mark_current(Etk_Tree *tree, int id) +emphasis_pls_mark_current(Etk_Tree2 *tree, int id) { - Etk_Tree_Col *col_current; - Etk_Tree_Row *row; + Etk_Tree2_Col *col_current; + Etk_Tree2_Row *row; int row_id; char *image, *title; - col_current = etk_tree_nth_col_get(tree, 0); + col_current = etk_tree2_nth_col_get(tree, 0); - etk_tree_freeze(tree); - row = etk_tree_first_row_get(tree); + etk_tree2_freeze(tree); + row = etk_tree2_first_row_get(tree); while (row) { - row_id = (int) etk_tree_row_data_get(row); - etk_tree_row_fields_get(row, col_current, &image, &title, NULL); + row_id = (int) etk_tree2_row_data_get(row); + etk_tree2_row_fields_get(row, col_current, &image, NULL, &title, NULL); title = strdup(title); if (image) { - etk_tree_row_fields_set(row, col_current, NULL, title, NULL); + etk_tree2_row_fields_set(row, ETK_FALSE, col_current, NULL, NULL, title, NULL); } if (row_id == id) { - etk_tree_row_fields_set(row, col_current, - PACKAGE_DATA_DIR "/images/note.png", title, - NULL); - etk_tree_row_scroll_to(row, ETK_FALSE); - + etk_tree2_row_fields_set(row, ETK_FALSE, col_current, + PACKAGE_DATA_DIR "/images/note.png", NULL, title, + NULL); + etk_tree2_row_scroll_to(row, ETK_FALSE); } free(title); /* TODO Don't read the whole tree stop after one mark/unmark */ - row = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); + row = etk_tree2_row_next_get(row); } - etk_tree_thaw(tree); + etk_tree2_thaw(tree); } @@ -251,17 +250,17 @@ void emphasis_pls_list_init(Emphasis_Player_Gui *player) { - Etk_Tree *pls_list; + Etk_Tree2 *pls_list; - pls_list = ETK_TREE(player->media.pls_list); - etk_tree_clear(pls_list); + pls_list = ETK_TREE2(player->media.pls_list); + etk_tree2_clear(pls_list); #if defined(LIBMPD_0_12_4) emphasis_tree_mlib_append(pls_list, (mpc_list_playlists()), MPD_DATA_TYPE_PLAYLIST, NULL); #else - etk_tree_append(pls_list, etk_tree_nth_col_get(pls_list, 0), + etk_tree2_append(pls_list, etk_tree2_nth_col_get(pls_list, 0), "You need libmpd 0.12.4 in order to use mpd playlists", NULL); #endif } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_media.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- emphasis_media.h 20 Aug 2006 22:48:49 -0000 1.2 +++ emphasis_media.h 16 Jan 2007 03:33:39 -0000 1.3 @@ -3,15 +3,15 @@ void emphasis_tree_mlib_init(Emphasis_Player_Gui *player, Emphasis_Type type); -void emphasis_tree_mlib_set(Etk_Tree *tree, Evas_List *list, +void emphasis_tree_mlib_set(Etk_Tree2 *tree, Evas_List *list, MpdDataType mpd_type, char *tag); -void emphasis_tree_mlib_append(Etk_Tree *tree, Evas_List *list, +void emphasis_tree_mlib_append(Etk_Tree2 *tree, Evas_List *list, MpdDataType mpd_type, char *tag); -void emphasis_tree_pls_set(Etk_Tree *tree, Evas_List *playlist); +void emphasis_tree_pls_set(Etk_Tree2 *tree, Evas_List *playlist); -void emphasis_pls_mark_current(Etk_Tree *tree, int id); +void emphasis_pls_mark_current(Etk_Tree2 *tree, int id); void emphasis_pls_list_init(Emphasis_Player_Gui *player); #endif /* EMPHASIS_MEDIA_H_ */ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_misc.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- emphasis_misc.c 30 Dec 2006 13:46:38 -0000 1.5 +++ emphasis_misc.c 16 Jan 2007 03:33:39 -0000 1.6 @@ -32,7 +32,7 @@ convert_rowlist_in_playlist_with_file(Evas_List *rowlist) { Evas_List *list = NULL, *first_rowlist; - Etk_Tree_Row *row; + Etk_Tree2_Row *row; Emphasis_Data *data = NULL; if (!rowlist) @@ -47,7 +47,7 @@ data = malloc(sizeof(Emphasis_Data)); data->type = MPD_DATA_TYPE_SONG; data->song = malloc(sizeof(Emphasis_Song)); - data->song->file = strdup(etk_tree_row_data_get(row)); + data->song->file = strdup(etk_tree2_row_data_get(row)); list = evas_list_append(list, data); rowlist = evas_list_next(rowlist); @@ -67,7 +67,7 @@ convert_rowlist_in_playlist_with_id(Evas_List *rowlist) { Evas_List *list = NULL, *first_rowlist; - Etk_Tree_Row *row; + Etk_Tree2_Row *row; int id; Emphasis_Data *data = NULL; @@ -79,7 +79,7 @@ while (rowlist) { row = evas_list_data(rowlist); - id = (int) etk_tree_row_data_get(row); + id = (int) etk_tree2_row_data_get(row); data = malloc(sizeof(Emphasis_Data)); data->type = MPD_DATA_TYPE_SONG; @@ -100,21 +100,21 @@ * @param gui A Emphasis_Gui */ void -emphasis_playlist_append_selected(Etk_Tree *tree, Emphasis_Type type) +emphasis_playlist_append_selected(Etk_Tree2 *tree, Emphasis_Type type) { - Etk_Tree_Row *row; + Etk_Tree2_Row *row; Evas_List *rowlist, *list; Evas_List *playlist = NULL, *tmplist; char *artist, **album; - rowlist = etk_tree_selected_rows_get(tree); + rowlist = etk_tree2_selected_rows_get(tree); list = rowlist; if (type == EMPHASIS_ARTIST) { while (rowlist) { - artist = etk_tree_row_data_get(evas_list_data(rowlist)); + artist = etk_tree2_row_data_get(evas_list_data(rowlist)); tmplist = mpc_mlib_track_get(artist, NULL); playlist = evas_list_concatenate(playlist, tmplist); rowlist = evas_list_next(rowlist); @@ -124,19 +124,19 @@ { while (rowlist) { - album = etk_tree_row_data_get(evas_list_data(rowlist)); + album = etk_tree2_row_data_get(evas_list_data(rowlist)); if (album == NULL) { /* the first row is the All */ - row = etk_tree_first_row_get(tree); - row = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); + row = etk_tree2_first_row_get(tree); + row = etk_tree2_row_next_get(row); while (row) { - album = etk_tree_row_data_get(row); + album = etk_tree2_row_data_get(row); tmplist = mpc_mlib_track_get(album[1], album[0]); playlist = evas_list_concatenate(playlist, tmplist); - row = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); + row = etk_tree2_row_next_get(row); } break; } @@ -158,11 +158,11 @@ } void -emphasis_playlist_search_and_delete(Etk_Tree *tree, char *str, +emphasis_playlist_search_and_delete(Etk_Tree2 *tree, char *str, Emphasis_Type type) { - Etk_Tree_Col *col; - Etk_Tree_Row *row; + Etk_Tree2_Col *col; + Etk_Tree2_Row *row; int num = -1; char *row_str; Evas_List *rowlist = NULL; @@ -181,24 +181,24 @@ break; } - col = etk_tree_nth_col_get(tree, num); - row = etk_tree_first_row_get(tree); + col = etk_tree2_nth_col_get(tree, num); + row = etk_tree2_first_row_get(tree); while (row) { if (type == EMPHASIS_TRACK) { - etk_tree_row_fields_get(row, col, NULL, &row_str, NULL); + etk_tree2_row_fields_get(row, col, NULL, &row_str, NULL); } else { - etk_tree_row_fields_get(row, col, &row_str, NULL); + etk_tree2_row_fields_get(row, col, &row_str, NULL); } if (row_str && !(strcmp(row_str, str))) { rowlist = evas_list_append(rowlist, row); } - row = etk_tree_next_row_get(row, ETK_FALSE, ETK_FALSE); + row = etk_tree2_row_next_get(row); } list = convert_rowlist_in_playlist_with_id(rowlist); mpc_playlist_delete(list); @@ -364,4 +364,50 @@ escaped[j] = '\0'; return escaped; +} + +Evas_List * +etk_tree2_selected_rows_get(Etk_Tree2 *tree) +{ + Evas_List *selected_rows = NULL; + Etk_Tree2_Row *row; + + if (!tree) + return NULL; + + if (!etk_tree2_multiple_select_get(tree)) + { + selected_rows = evas_list_append(selected_rows, etk_tree2_selected_row_get(tree)); + } + else + { + for (row = etk_tree2_first_row_get(tree); row; row = row->next) + { + if (etk_tree2_row_is_selected(row)) + { + selected_rows = evas_list_append(selected_rows, row); + } + } + } + return selected_rows; +} + +Evas_List * +etk_tree2_unselected_rows_get(Etk_Tree2 *tree) +{ + Evas_List *unselected_rows = NULL; + Etk_Tree2_Row *row; + + if (!tree) + return NULL; + + for (row = etk_tree2_first_row_get(tree); row; row = row->next) + { + if (!etk_tree2_row_is_selected(row)) + { + unselected_rows = evas_list_append(unselected_rows, row); + } + } + + return unselected_rows; } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_misc.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- emphasis_misc.h 30 Dec 2006 13:46:38 -0000 1.5 +++ emphasis_misc.h 16 Jan 2007 03:33:39 -0000 1.6 @@ -11,8 +11,8 @@ Evas_List *convert_rowlist_in_playlist_with_file(Evas_List *rowlist); Evas_List *convert_rowlist_in_playlist_with_id(Evas_List *rowlist); /* void mpd_data_full_free(MpdData * list); */ -void emphasis_playlist_append_selected(Etk_Tree *tree, Emphasis_Type type); -void emphasis_playlist_search_and_delete(Etk_Tree *tree, char *str, +void emphasis_playlist_append_selected(Etk_Tree2 *tree, Emphasis_Type type); +void emphasis_playlist_search_and_delete(Etk_Tree2 *tree, char *str, Emphasis_Type type); char *strdupnull(char *str); @@ -24,5 +24,9 @@ void etk_container_inspect(Etk_Container *container, int lvl, int *to_trace); char *etk_strescape(const char *str); + +Evas_List *etk_tree2_selected_rows_get(Etk_Tree2 *tree); +Evas_List *etk_tree2_unselected_rows_get(Etk_Tree2 *tree); + /** @} */ #endif /* EMPHASIS_MISC_H_ */ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- emphasis_mpc.c 14 Jan 2007 19:27:43 -0000 1.12 +++ emphasis_mpc.c 16 Jan 2007 03:33:39 -0000 1.13 @@ -173,11 +173,11 @@ if (what & MPD_CST_DATABASE) { char *tree_title; - Etk_Tree *tree = ETK_TREE(player->media.artist); + Etk_Tree2 *tree = ETK_TREE2(player->media.artist); tree_title = etk_object_data_get(ETK_OBJECT(tree), "title"); emphasis_tree_mlib_init(player, EMPHASIS_ARTIST); - etk_tree_col_title_set(etk_tree_nth_col_get(tree,0), tree_title); + etk_tree2_col_title_set(etk_tree2_nth_col_get(tree,0), tree_title); song = mpc_playlist_get_current_song(); emphasis_player_info_set(player, song, NULL); @@ -213,7 +213,7 @@ case MPD_STATUS_STATE_STOP: emphasis_player_info_set(player, NULL, "Music Stoped"); emphasis_player_toggle_play(player); - emphasis_pls_mark_current(ETK_TREE(player->media.pls), -1); + emphasis_pls_mark_current(ETK_TREE2(player->media.pls), -1); break; case MPD_STATUS_STATE_PAUSE: song = mpc_playlist_get_current_song(); @@ -225,7 +225,7 @@ song = mpc_playlist_get_current_song(); emphasis_player_toggle_play(player); emphasis_player_info_set(player, song, NULL); - emphasis_pls_mark_current(ETK_TREE(player->media.pls), song->id); + emphasis_pls_mark_current(ETK_TREE2(player->media.pls), song->id); emphasis_song_free(song); refresh_info = 1; break; @@ -240,7 +240,7 @@ playlist = mpd_playlist_get_changes(mo, -1); emphasis_playlist = convert_mpd_data(playlist); - emphasis_tree_pls_set(ETK_TREE(player->media.pls), emphasis_playlist); + emphasis_tree_pls_set(ETK_TREE2(player->media.pls), emphasis_playlist); // emphasis_list_free(emphasis_playlist); mpd_data_free(playlist); @@ -251,7 +251,7 @@ if (song) { emphasis_player_info_set(player, song, NULL); - emphasis_pls_mark_current(ETK_TREE(player->media.pls), song->id); + emphasis_pls_mark_current(ETK_TREE2(player->media.pls), song->id); emphasis_cover_change((Emphasis_Gui *) data, song->artist, song->album); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- emphasis_player.c 14 Jan 2007 19:27:43 -0000 1.6 +++ emphasis_player.c 16 Jan 2007 03:33:39 -0000 1.7 @@ -88,69 +88,52 @@ player->media.button_stats = enhance_var_get(en, "media_button_stats"); /* enhance completion : col def */ - etk_tree_multiple_select_set(ETK_TREE(player->media.artist), ETK_TRUE); - etk_tree_multiple_select_set(ETK_TREE(player->media.album) , ETK_TRUE); - etk_tree_multiple_select_set(ETK_TREE(player->media.track) , ETK_TRUE); - etk_tree_multiple_select_set(ETK_TREE(player->media.pls) , ETK_TRUE); + etk_tree2_multiple_select_set(ETK_TREE2(player->media.artist), ETK_TRUE); + etk_tree2_multiple_select_set(ETK_TREE2(player->media.album) , ETK_TRUE); + etk_tree2_multiple_select_set(ETK_TREE2(player->media.track) , ETK_TRUE); + etk_tree2_multiple_select_set(ETK_TREE2(player->media.pls) , ETK_TRUE); - etk_tree_col_new(ETK_TREE(player->media.artist), - "Artist", - etk_tree_model_text_new(ETK_TREE(player->media.artist)), - 60); - etk_tree_col_new(ETK_TREE(player->media.album), - "Album", - etk_tree_model_text_new(ETK_TREE(player->media.album)), - 60); - etk_tree_col_new(ETK_TREE(player->media.track), - "Track", - etk_tree_model_text_new(ETK_TREE(player->media.track)), - 60); + Etk_Tree2_Col *col; + col = etk_tree2_col_new(ETK_TREE2(player->media.artist), "Artist", 60, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + etk_tree2_build(ETK_TREE2(player->media.artist)); + + col = etk_tree2_col_new(ETK_TREE2(player->media.album), "Album", 60, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + etk_tree2_build(ETK_TREE2(player->media.album)); + + col = etk_tree2_col_new(ETK_TREE2(player->media.track), "Track", 60, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + etk_tree2_build(ETK_TREE2(player->media.track)); /* pls */ - etk_tree_col_new(ETK_TREE(player->media.pls), - "Title", - etk_tree_model_icon_text_new(ETK_TREE(player->media.pls), - ETK_TREE_FROM_FILE), - 140); - etk_tree_col_new(ETK_TREE(player->media.pls), - "Time", - etk_tree_model_text_new(ETK_TREE(player->media.pls)), - 30); - etk_tree_col_new(ETK_TREE(player->media.pls), - "Artist", - etk_tree_model_text_new(ETK_TREE(player->media.pls)), - 120); - etk_tree_col_new(ETK_TREE(player->media.pls), - "Album", - etk_tree_model_text_new(ETK_TREE(player->media.pls)), - 120); + col = etk_tree2_col_new(ETK_TREE2(player->media.pls), "Title", 140, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_image_new()); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + col = etk_tree2_col_new(ETK_TREE2(player->media.pls), "Time", 30, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + col = etk_tree2_col_new(ETK_TREE2(player->media.pls), "Artist", 120, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + col = etk_tree2_col_new(ETK_TREE2(player->media.pls), "Album", 120, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + etk_tree2_build(ETK_TREE2(player->media.pls)); /* search page */ - etk_tree_multiple_select_set(ETK_TREE(player->media.search_tree), ETK_TRUE); - etk_tree_col_new(ETK_TREE(player->media.search_tree), - "Artist", - etk_tree_model_text_new(ETK_TREE(player->media.search_tree)), - 120); - etk_tree_col_new(ETK_TREE(player->media.search_tree), - "Album", - etk_tree_model_text_new(ETK_TREE(player->media.search_tree)), - 100); - etk_tree_col_new(ETK_TREE(player->media.search_tree), - "Title", - etk_tree_model_text_new(ETK_TREE(player->media.search_tree)), - 200); - etk_tree_col_new(ETK_TREE(player->media.search_tree), - "Filename", - etk_tree_model_text_new(ETK_TREE(player->media.search_tree)), - 200); - etk_tree_build(ETK_TREE(player->media.search_tree)); + etk_tree2_multiple_select_set(ETK_TREE2(player->media.search_tree), ETK_TRUE); + col = etk_tree2_col_new(ETK_TREE2(player->media.search_tree), "Artist", 120, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + col = etk_tree2_col_new(ETK_TREE2(player->media.search_tree), "Album", 100, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + col = etk_tree2_col_new(ETK_TREE2(player->media.search_tree), "Title", 200, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + col = etk_tree2_col_new(ETK_TREE2(player->media.search_tree), "Filename", 200, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + etk_tree2_build(ETK_TREE2(player->media.search_tree)); /* playlists page */ - etk_tree_col_new(ETK_TREE(player->media.pls_list), - "Playlists", - etk_tree_model_text_new(ETK_TREE(player->media.pls_list)), - 120); - etk_tree_col_new(ETK_TREE(player->media.pls_content), - "Preview", - etk_tree_model_text_new(ETK_TREE(player->media.pls_content)), - 120); + col = etk_tree2_col_new(ETK_TREE2(player->media.pls_list), "Playlists", 120, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + etk_tree2_build(ETK_TREE2(player->media.pls_list)); + col = etk_tree2_col_new(ETK_TREE2(player->media.pls_content), "Preview", 120, 0.0); + etk_tree2_col_model_add(col, etk_tree2_model_text_new()); + etk_tree2_build(ETK_TREE2(player->media.pls_content)); /**/ etk_object_data_set(ETK_OBJECT(player->media.artist), "title", "Artist"); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_search.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- emphasis_search.c 30 Dec 2006 13:46:38 -0000 1.1 +++ emphasis_search.c 16 Jan 2007 03:33:39 -0000 1.2 @@ -59,24 +59,24 @@ void emphasis_search_tree_fill(Emphasis_Player_Gui *player, Evas_List *results) { - Etk_Tree *tree; - Etk_Tree_Col *col1; - Etk_Tree_Col *col2; - Etk_Tree_Col *col3; - Etk_Tree_Col *col4; + Etk_Tree2 *tree; + Etk_Tree2_Col *col1; + Etk_Tree2_Col *col2; + Etk_Tree2_Col *col3; + Etk_Tree2_Col *col4; Evas_List *list; Emphasis_Data *data; Emphasis_Song *song; list = results; - tree = ETK_TREE(player->media.search_tree); - col1 = etk_tree_nth_col_get(tree, 0); - col2 = etk_tree_nth_col_get(tree, 1); - col3 = etk_tree_nth_col_get(tree, 2); - col4 = etk_tree_nth_col_get(tree, 3); + tree = ETK_TREE2(player->media.search_tree); + col1 = etk_tree2_nth_col_get(tree, 0); + col2 = etk_tree2_nth_col_get(tree, 1); + col3 = etk_tree2_nth_col_get(tree, 2); + col4 = etk_tree2_nth_col_get(tree, 3); - etk_tree_clear(tree); - etk_tree_freeze(tree); + etk_tree2_clear(tree); + etk_tree2_freeze(tree); while (results) { @@ -84,15 +84,15 @@ if (data->type == EMPHASIS_DATA_TYPE_SONG) { song = data->song; - etk_tree_append(tree, - col1, song->artist, - col2, song->album, - col3, song->title, - col4, song->file, - NULL); + etk_tree2_row_append(tree, NULL, + col1, song->artist, + col2, song->album, + col3, song->title, + col4, song->file, + NULL); } results = evas_list_next(results); } - etk_tree_thaw(tree); + etk_tree2_thaw(tree); emphasis_list_free(list); } |
From: Enlightenment C. <no...@cv...> - 2007-01-15 21:34:14
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/data Modified Files: emphasis.glade Log Message: Moving to Etk_Tree2. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/data/emphasis.glade,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- emphasis.glade 14 Jan 2007 19:27:43 -0000 1.7 +++ emphasis.glade 16 Jan 2007 03:33:39 -0000 1.8 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd"> -<!--Generated with glade3 3.0.2 on Sat Jan 13 20:23:52 2007 by aji@neiki +<!-- Generated with glade3 Version: 3.0.1 Date: Tue Dec 12 00:12:02 2006 User: aji @@ -25,7 +25,6 @@ <property name="width_request">180</property> <property name="height_request">180</property> <property name="visible">True</property> - <property name="stock">gtk-missing-image</property> </widget> <packing> <property name="expand">False</property> @@ -38,7 +37,7 @@ <child> <widget class="GtkProgressBar" id="small_progress"> <property name="visible">True</property> - <property name="pulse_step">0.10000000149011612</property> + <property name="pulse_step">0.1</property> <signal name="mouse_down" handler="cb_seek_time"/> </widget> </child> @@ -152,7 +151,6 @@ <child> <widget class="GtkImage" id="small_sound_low"> <property name="visible">True</property> - <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -174,7 +172,6 @@ <child> <widget class="GtkImage" id="small_sound_high"> <property name="visible">True</property> - <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -493,7 +490,6 @@ <child> <widget class="GtkImage" id="image1"> <property name="visible">True</property> - <property name="stock">gtk-missing-image</property> <property name="icon_size">1</property> <property name="icon_name">ETK_STOCK_SYSTEM_SEARCH</property> </widget> @@ -614,9 +610,6 @@ <property name="can_focus">True</property> <signal name="row_clicked" handler="cb_media_pls_list_row_clicked"/> </widget> - <packing> - <property name="resize">False</property> - </packing> </child> <child> <widget class="GtkTreeView" id="media_pls_content"> @@ -650,7 +643,6 @@ <child> <widget class="GtkEntry" id="media_pls_entry_save"> <property name="can_focus">True</property> - <property name="text" translatable="yes">lalala</property> <signal name="key_down" handler="cb_media_pls_save_key_down"/> </widget> <packing> @@ -847,7 +839,6 @@ <child> <widget class="GtkImage" id="full_sound_low"> <property name="visible">True</property> - <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -870,7 +861,6 @@ <child> <widget class="GtkImage" id="full_sound_high"> <property name="visible">True</property> - <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -953,7 +943,7 @@ <child> <widget class="GtkLabel" id="full_info"> <property name="visible">True</property> - <property name="xalign">0</property> + <property name="xalign">0.000000</property> <property name="label" translatable="yes">current song info</property> </widget> <packing> @@ -995,7 +985,7 @@ <child> <widget class="GtkProgressBar" id="full_progress"> <property name="visible">True</property> - <property name="pulse_step">0.10000000149011612</property> + <property name="pulse_step">0.1</property> <signal name="mouse_down" handler="cb_seek_time"/> </widget> </child> @@ -1013,7 +1003,6 @@ <property name="width_request">100</property> <property name="height_request">100</property> <property name="visible">True</property> - <property name="stock">gtk-missing-image</property> </widget> <packing> <property name="expand">False</property> |
From: Enlightenment C. <no...@cv...> - 2007-01-16 02:56:09
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_callbacks.c emphasis_misc.c Log Message: Small bugfix when double click on a playlist file. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- emphasis_callbacks.c 16 Jan 2007 03:33:39 -0000 1.17 +++ emphasis_callbacks.c 16 Jan 2007 08:56:06 -0000 1.18 @@ -1142,7 +1142,7 @@ player = data; col = etk_tree2_nth_col_get(ETK_TREE2(player->media.pls_list), 0); row = etk_tree2_selected_row_get(ETK_TREE2(player->media.pls_list)); - etk_tree2_row_fields_get(row, col, &playlist_name, NULL); + etk_tree2_row_fields_get(row, ETK_FALSE, col, &playlist_name, NULL); mpc_playlist_clear(); etk_tree2_multiple_select_set(ETK_TREE2(player->media.pls_content), ETK_TRUE); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_misc.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- emphasis_misc.c 16 Jan 2007 03:33:39 -0000 1.6 +++ emphasis_misc.c 16 Jan 2007 08:56:06 -0000 1.7 @@ -44,9 +44,9 @@ { row = evas_list_data(rowlist); - data = malloc(sizeof(Emphasis_Data)); + data = calloc(1, sizeof(Emphasis_Data)); data->type = MPD_DATA_TYPE_SONG; - data->song = malloc(sizeof(Emphasis_Song)); + data->song = calloc(1, sizeof(Emphasis_Song)); data->song->file = strdup(etk_tree2_row_data_get(row)); list = evas_list_append(list, data); |
From: Enlightenment C. <no...@cv...> - 2007-02-27 16:30:19
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_callbacks.c emphasis_gui.c emphasis_mpc.c Log Message: =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- emphasis_callbacks.c 17 Jan 2007 01:30:09 -0000 1.19 +++ emphasis_callbacks.c 27 Feb 2007 22:30:11 -0000 1.20 @@ -1142,9 +1142,10 @@ player = data; col = etk_tree_nth_col_get(ETK_TREE(player->media.pls_list), 0); row = etk_tree_selected_row_get(ETK_TREE(player->media.pls_list)); + if (!row) return; etk_tree_row_fields_get(row, ETK_FALSE, col, &playlist_name, NULL); - mpc_playlist_clear(); +// mpc_playlist_clear(); etk_tree_multiple_select_set(ETK_TREE(player->media.pls_content), ETK_TRUE); etk_tree_select_all(ETK_TREE(player->media.pls_content)); emphasis_playlist_append_selected(ETK_TREE(player->media.pls_content), =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_gui.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- emphasis_gui.c 17 Jan 2007 01:30:09 -0000 1.12 +++ emphasis_gui.c 27 Feb 2007 22:30:11 -0000 1.13 @@ -79,7 +79,6 @@ ETK_CALLBACK(cb_pls_contextual_menu), gui); etk_signal_connect("mouse_down", ETK_OBJECT(player->media.track), ETK_CALLBACK(cb_pls_contextual_menu), gui); - } /** =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- emphasis_mpc.c 17 Jan 2007 01:30:09 -0000 1.14 +++ emphasis_mpc.c 27 Feb 2007 22:30:11 -0000 1.15 @@ -557,6 +557,7 @@ { song = mpd_playlist_get_changes(mo, mpd_playlist_get_old_playlist_id(mo)); + if (!song) return; mpc_play_id(song->song->id); mpd_data_free(song); } |
From: Enlightenment C. <no...@cv...> - 2007-02-27 16:34:01
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_callbacks.c Log Message: Small fix on the playlists. Thanks Pavel. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- emphasis_callbacks.c 27 Feb 2007 22:30:11 -0000 1.20 +++ emphasis_callbacks.c 27 Feb 2007 22:33:51 -0000 1.21 @@ -1145,7 +1145,7 @@ if (!row) return; etk_tree_row_fields_get(row, ETK_FALSE, col, &playlist_name, NULL); -// mpc_playlist_clear(); + mpc_playlist_clear(); etk_tree_multiple_select_set(ETK_TREE(player->media.pls_content), ETK_TRUE); etk_tree_select_all(ETK_TREE(player->media.pls_content)); emphasis_playlist_append_selected(ETK_TREE(player->media.pls_content), |
From: Enlightenment C. <no...@cv...> - 2007-03-08 23:09:53
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_callbacks.c Log Message: Use the new combobox API. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- emphasis_callbacks.c 27 Feb 2007 22:33:51 -0000 1.21 +++ emphasis_callbacks.c 9 Mar 2007 05:09:53 -0000 1.22 @@ -1307,7 +1307,7 @@ list = sub_child; /* Get the id of the tag to search */ - index = etk_combobox_active_item_nth_get(ETK_COMBOBOX(evas_list_data(sub_child))); + index = etk_combobox_active_item_num_get(ETK_COMBOBOX(evas_list_data(sub_child))); query = evas_list_append(query, (void *)index); /* Get the search pattern */ |
From: Enlightenment C. <no...@cv...> - 2007-03-09 12:23:20
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/m4 Added Files: ac_path_efl.m4 Removed Files: ac_path_generic.m4 Log Message: *Aji's new sub-mode "tiny", works with small mode: - Tiny and Small mode: . A right-click on cover or textview switch to tiny/small mode. - Tiny mode: . A left-click on cover or textview show/hide concurrent window. . Close window hide it, close both to quit. . A middle-click on cover or textview show/hide medialib window. . Special Cover Zone: , A left-click at bottom-left corner play prev song. , A left-click at bottom-middle zone play/pause song. , A left-click at bootom-right corner play next zone. *Some autotfoo corrections *No more scary warnings *Various fixes |
From: Enlightenment C. <no...@cv...> - 2007-03-09 12:23:21
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: Makefile.am emphasis_callbacks.c emphasis_callbacks.h emphasis_config.c emphasis_convert.c emphasis_cover_db.c emphasis_data_list.c emphasis_gui.c emphasis_gui.h emphasis_media.c emphasis_media.h emphasis_misc.c emphasis_misc.h emphasis_mpc.c emphasis_mpc.h emphasis_player.c emphasis_player.h Log Message: *Aji's new sub-mode "tiny", works with small mode: - Tiny and Small mode: . A right-click on cover or textview switch to tiny/small mode. - Tiny mode: . A left-click on cover or textview show/hide concurrent window. . Close window hide it, close both to quit. . A middle-click on cover or textview show/hide medialib window. . Special Cover Zone: , A left-click at bottom-left corner play prev song. , A left-click at bottom-middle zone play/pause song. , A left-click at bootom-right corner play next zone. *Some autotfoo corrections *No more scary warnings *Various fixes =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- Makefile.am 30 Dec 2006 13:46:38 -0000 1.6 +++ Makefile.am 9 Mar 2007 18:23:18 -0000 1.7 @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in AM_CFLAGS = \ --Wall -W -g -D_GNU_SOURCE $(my_includes) +-Wall -W -g -D_GNU_SOURCE @ECORE_CFLAGS@ @ETK_CFLAGS@ @ENHANCE_CFLAGS@ @libmpd_CFLAGS@ @XML2_CFLAGS@ bin_PROGRAMS = emphasis @@ -37,6 +37,6 @@ emphasis_data_list.c \ emphasis_search.c -emphasis_LDADD = @my_libs@ +emphasis_LDADD = @ECORE_LIBS@ @ETK_LIBS@ @ENHANCE_LIBS@ @libmpd_LIBS@ @XML2_LIBS@ MAINTAINERCLEANFILES = Makefile.in =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- emphasis_callbacks.c 9 Mar 2007 05:09:53 -0000 1.22 +++ emphasis_callbacks.c 9 Mar 2007 18:23:18 -0000 1.23 @@ -19,37 +19,44 @@ /* Save the current config settings */ config = config_load(); - etk_widget_geometry_get(ETK_WIDGET(player->full.window), - &(config->geometry.x), &(config->geometry.y), - &(config->geometry.w), &(config->geometry.h)); - - etk_widget_geometry_get(ETK_WIDGET(player->media.window), - NULL, NULL, - &(config->geometry.media_w), - &(config->geometry.media_h)); - - config->colwidth.title = - etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 0)); - config->colwidth.time = - etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 1)); - config->colwidth.artist = - etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 2)); - config->colwidth.album = - etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 3)); - config->media_paned = etk_paned_position_get(ETK_PANED(player->media.paned)); - - config->mode = player->state; - config->pls_show = - etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(player->small.media)); - config->crossfade = mpc_get_crossfade(); - - if(config->stop_on_exit) + if(config) { - cb_button_stop_clicked(NULL, NULL); - } + if(player) + { + etk_widget_geometry_get(ETK_WIDGET(player->full.window), + &(config->geometry.x), &(config->geometry.y), + &(config->geometry.w), &(config->geometry.h)); + + etk_widget_geometry_get(ETK_WIDGET(player->media.window), + NULL, NULL, + &(config->geometry.media_w), + &(config->geometry.media_h)); + + config->colwidth.title = + etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 0)); + config->colwidth.time = + etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 1)); + config->colwidth.artist = + etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 2)); + config->colwidth.album = + etk_tree_col_width_get(ETK_TREE_COL_GET(player->media.pls, 3)); + config->media_paned = + etk_paned_position_get(ETK_PANED(player->media.paned)); + + config->mode = player->state; + config->pls_show = + etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(player->small.media)); + } /* if player */ + config->crossfade = mpc_get_crossfade(); + + if(config->stop_on_exit) + { + cb_button_stop_clicked(NULL, NULL); + } - config_save(config); - config_free(config); + config_save(config); + config_free(config); + } /* if config */ mpc_disconnect(); ecore_config_shutdown(); @@ -65,12 +72,54 @@ Emphasis_Player_Gui *player; player = data; - etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(player->small.media)); + if(data) etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(player->small.media)); etk_widget_hide(ETK_WIDGET(object)); return ETK_TRUE; } +Etk_Bool +cb_pack_quit(Etk_Object *object, void *data) +{ + Emphasis_Player_Gui *player; + player = data; + + if(data && player->small.packed == ETK_FALSE) + { + Etk_Widget *win = NULL; + + win = (object == (Etk_Object*)player->small.cov.window) ? + player->small.ctr.window : player->small.cov.window; + if (etk_widget_is_visible(win) == ETK_TRUE) + { return cb_window_hide(object, data); } + + etk_widget_hide(player->small.cov.window); + etk_widget_hide(player->small.ctr.window); + + etk_container_remove(ETK_CONTAINER(player->small.cov.window), + player->small.cov.root); + etk_container_remove(ETK_CONTAINER(player->small.ctr.window), + player->small.ctr.root); + + etk_box_append(ETK_BOX(player->small.root), player->small.cov.root, + ETK_BOX_START, ETK_BOX_FILL, 0); + etk_box_append(ETK_BOX(player->small.root), player->small.ctr.root, + ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); + + if(player->state == EMPHASIS_SMALL) + { cb_quit(NULL, player); } + } + return ETK_FALSE; +} + +Etk_Bool +cb_window_hide(Etk_Object *object, void *data) +{ + UNUSED(data); + etk_widget_hide(ETK_WIDGET(object)); + return ETK_TRUE; +} + /** * @brief Stop the playing */ @@ -138,6 +187,8 @@ Emphasis_Player_Gui *player; player = data; + if(!data) return; + if (player->state == EMPHASIS_FULL) { cb_switch_small(object, data); @@ -157,6 +208,8 @@ Etk_Bool checked; player = data; + if(!data) return; + checked = etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(object)); @@ -180,6 +233,8 @@ Etk_Widget *progress; int x_click, widget_width; + if(event->button != 1) { return; } + progress = ETK_WIDGET(object); x_click = event->widget.x; @@ -196,7 +251,11 @@ UNUSED(event); Emphasis_Player_Gui *player; + if(event->button != 1) { return; } + player = data; + if(!data) return; + if (ETK_WIDGET(object) == player->full.sound_low || ETK_WIDGET(object) == player->small.sound_low) { @@ -235,6 +294,7 @@ char *artist; player = data; + if(!data) return; artist_sel = etk_tree_selected_rows_get(ETK_TREE(player->media.artist)); artist = etk_tree_row_data_get(evas_list_data(artist_sel)); @@ -278,7 +338,7 @@ char *artist_tag; player = data; - + if(!data) return; album_sel = etk_tree_selected_rows_get(ETK_TREE(player->media.album)); album_tag = etk_tree_row_data_get(evas_list_data(album_sel)); @@ -310,7 +370,6 @@ } /* FIXME wait for tree2 to support dnd */ -#if 0 /** * @brief Set a drag widget from a list of artist selected * @param data A common drag widget @@ -318,6 +377,7 @@ void cb_drag_artist(Etk_Object *object, void *data) { +#if 0 Etk_Widget *drag_menu, *menu_item; Etk_Drag *drag; Etk_Tree *tree; @@ -327,6 +387,8 @@ unsigned int num_types; Evas_List *playlist = NULL, *tmplist; + if(!data) return; + tree = ETK_TREE(object); drag = ETK_DRAG((ETK_WIDGET(tree))->drag); rowlist = etk_tree_selected_rows_get(tree); @@ -344,7 +406,7 @@ } else { - menu_item = etk_menu_item_new_with_label("All"); + menu_item = etk_menu_item_new_with_label(LABEL_MLIB_ALL); } etk_menu_shell_append(ETK_MENU_SHELL(drag_menu), @@ -365,6 +427,7 @@ evas_list_free(rowlist); types = calloc(1, sizeof(char)); + if(!types) return; num_types = 1; types[0] = strdup("Emphasis_Playlist"); @@ -373,6 +436,7 @@ etk_container_add(ETK_CONTAINER(drag), drag_menu); ((Emphasis_Player_Gui*)data)->media.drag = ETK_WIDGET(drag); +#endif } /** @@ -382,6 +446,7 @@ void cb_drag_album(Etk_Object *object, void *data) { +#if 0 Etk_Widget *drag_menu, *menu_item; Etk_Drag *drag; Etk_Tree *tree; @@ -391,6 +456,8 @@ unsigned int num_types; Evas_List *playlist = NULL, *tmplist; + if(!data) return; + tree = ETK_TREE(object); drag = ETK_DRAG((ETK_WIDGET(object))->drag); rowlist = etk_tree_selected_rows_get(tree); @@ -410,7 +477,7 @@ } else { - menu_item = etk_menu_item_new_with_label("All"); + menu_item = etk_menu_item_new_with_label(LABEL_MLIB_ALL); } etk_menu_shell_append(ETK_MENU_SHELL(drag_menu), @@ -444,6 +511,7 @@ } types = calloc(1, sizeof(char)); + if(!types) return; num_types = 1; types[0] = strdup("Emphasis_Playlist"); @@ -453,6 +521,7 @@ etk_container_add(ETK_CONTAINER(drag), drag_menu); ((Emphasis_Player_Gui*)data)->media.drag = ETK_WIDGET(drag); +#endif } /** @@ -463,6 +532,7 @@ void cb_drag_track(Etk_Object *object, void *data) { +#if 0 Etk_Widget *drag_menu, *menu_item; Etk_Drag *drag; Etk_Tree *tree; @@ -472,6 +542,8 @@ unsigned int num_types; Evas_List *playlist; + if(!data) return; + tree = ETK_TREE(object); drag = ETK_DRAG((ETK_WIDGET(object))->drag); @@ -492,6 +564,7 @@ } types = calloc(1, sizeof(char)); + if(!types) return; num_types = 1; types[0] = strdup("Emphasis_Playlist"); @@ -504,8 +577,8 @@ etk_container_add(ETK_CONTAINER(drag), drag_menu); ((Emphasis_Player_Gui*)data)->media.drag = ETK_WIDGET(drag); -} #endif +} /** * @brief Get the playlist draged. Add it to the current playlist. @@ -515,11 +588,14 @@ void cb_drop_song(Etk_Object *object, void *event, void *data) { +#if 0 UNUSED(event) Etk_Tree *tree; Etk_Drag *drag; Evas_List *list; + if(!data) return; + tree = ETK_TREE(object); drag = ETK_DRAG(((Emphasis_Player_Gui*)data)->media.drag); @@ -548,6 +624,7 @@ evaslist = evas_list_next(evaslist); } */ +#endif } /** @@ -561,6 +638,8 @@ Emphasis_Type et; char *str; + if(!data) return; + player = data; et = (Emphasis_Type) etk_object_data_get(object, "Emphasis_Type"); if ((event->button == 1) && (event->flags == ETK_MOUSE_DOUBLE_CLICK)) @@ -646,7 +725,7 @@ Emphasis_Player_Gui *player; char *str; - if (!event->string) + if (!event->string || !data) return; tree = ETK_TREE(object); @@ -655,6 +734,7 @@ if (!strcmp(event->key, "a") && event->modifiers == ETK_MODIFIER_CTRL) { + /* CTRL+a select all rows */ etk_tree_select_all(tree); if (object == ETK_OBJECT(player->media.track)) @@ -676,14 +756,12 @@ if (!strcmp(event->key, "r") && event->modifiers == ETK_MODIFIER_CTRL) { - int i, r; + int r; + /* selected randomly a row */ + /* We need an accessor here */ r = xrand(0, ETK_TREE(tree)->total_rows); - row = etk_tree_first_row_get(tree); - for (i=0; i<r; i++) - { - row = etk_tree_row_next_get(row); - } + row = etk_tree_nth_row_get(tree, r); etk_tree_row_select(row); etk_tree_row_scroll_to(row, ETK_TRUE); return; @@ -695,7 +773,8 @@ col = etk_tree_nth_col_get(tree, 0); -/**/ +/**/ + /* fast search section */ const char *cur_title, *base_title; char *title, *filter = NULL; int length; @@ -707,7 +786,23 @@ cur_title = etk_tree_col_title_get(col); type = (Emphasis_Type) etk_object_data_get(ETK_OBJECT(tree), "Emphasis_Type"); + if (!strcmp("Return", event->keyname)) + { + /* add selected songs to pls */ + Emphasis_Type et; + + et = (Emphasis_Type)etk_object_data_get(object, "Emphasis_Type"); + if(!et) { return; } + emphasis_playlist_append_selected(tree, et); + mpc_play_if_stopped(); + emphasis_tree_mlib_init(player, type); + if (strcmp(base_title, cur_title)) + { etk_tree_col_title_set(col, base_title); } + return; + } + /* FIXME & > < */ + /* Fast Research */ if (!strcmp(base_title, cur_title)) { /* FIXME, works with kenjins-like? */ @@ -734,17 +829,7 @@ } else if (!strcmp("Escape", event->keyname)) { - emphasis_tree_mlib_init(player, type); - etk_tree_col_title_set(col, base_title); - return; - } - else if (!strcmp("Return", event->keyname)) - { - Emphasis_Type et; - - et = (Emphasis_Type)etk_object_data_get(object, "Emphasis_Type"); - emphasis_playlist_append_selected(tree, et); - mpc_play_if_stopped(); + /* quit fast search */ emphasis_tree_mlib_init(player, type); etk_tree_col_title_set(col, base_title); return; @@ -762,13 +847,14 @@ row = etk_tree_first_row_get(tree); while (row) { + /* show corresponding rows */ row_next = etk_tree_row_next_get(row); etk_tree_row_fields_get(row, col, &str, NULL); if (!strncasecmp("The ", str, 4)) { str = str + 4; } - if (!strcmp("All", str) || (strncasecmp(filter, str, length) != 0)) + if (!strcmp(LABEL_MLIB_ALL, str) || (strncasecmp(filter, str, length) != 0)) etk_tree_row_delete(row); row = row_next; } @@ -788,6 +874,8 @@ UNUSED(object); Emphasis_Gui *gui; + if(!data) return; + gui = data; if (event->button == 3) { @@ -833,6 +921,7 @@ Evas_List *rowlist; Evas_List *list; + if(!data) return; player = data; if (!strcmp(event->key, "d") || !strcmp(event->key, "Delete")) @@ -852,12 +941,10 @@ { cb_playlist_shuffle(NULL,NULL); } - /* else if(!strcmp(event->key, "u")) { cb_database_update(NULL, data); } - */ } /** @@ -871,6 +958,7 @@ Evas_List *rowlist; Evas_List *list; + if(!data) return; player = data; rowlist = etk_tree_selected_rows_get(ETK_TREE(player->media.pls)); @@ -887,6 +975,8 @@ { UNUSED(object); Emphasis_Player_Gui *player; + + if(!data) return; player = data; mpc_database_update(); @@ -907,6 +997,7 @@ int w = 0; UNUSED(object); + if(!data) return; player = data; etk_window_geometry_get(ETK_WINDOW(player->small.window), @@ -924,6 +1015,7 @@ UNUSED(object); Emphasis_Player_Gui *player; + if(!data) return; player = data; if(player->state == EMPHASIS_FULL) @@ -934,6 +1026,8 @@ etk_widget_hide(player->small.window); etk_widget_hide(player->media.window); + etk_widget_hide(player->small.cov.window); + etk_widget_hide(player->small.ctr.window); etk_container_remove(ETK_CONTAINER(player->media.window), player->media.root); etk_box_append(ETK_BOX(player->full.root), @@ -952,6 +1046,7 @@ UNUSED(object); Emphasis_Player_Gui *player; + if(!data) return; player = data; if(player->state == EMPHASIS_SMALL) @@ -969,7 +1064,13 @@ { etk_widget_show(player->media.window); } - etk_widget_show(player->small.window); + if(player->small.packed) + { etk_widget_show(player->small.window); } + else + { + etk_widget_show(player->small.cov.window); + etk_widget_show(player->small.ctr.window); + } } void @@ -980,6 +1081,7 @@ Emphasis_Player_Gui *player; player = data; + if(!data) return; etk_notebook_current_page_set(ETK_NOTEBOOK(player->media.notebook), 0); } @@ -992,6 +1094,7 @@ Emphasis_Player_Gui *player; player = data; + if(!data) return; etk_notebook_current_page_set(ETK_NOTEBOOK(player->media.notebook), 1); } @@ -1004,6 +1107,7 @@ Emphasis_Player_Gui *player; player = data; + if(!data) return; etk_notebook_current_page_set(ETK_NOTEBOOK(player->media.notebook), 2); emphasis_pls_list_init(player); @@ -1017,6 +1121,7 @@ Emphasis_Player_Gui *player; player = data; + if(!data) return; etk_notebook_current_page_set(ETK_NOTEBOOK(player->media.notebook), 3); } @@ -1028,11 +1133,13 @@ Emphasis_Config_Gui *configgui; UNUSED(object); + if(!data) return; gui = data; if(gui->config_gui == NULL) { gui->config_gui = malloc(sizeof(Emphasis_Config_Gui)); + if(!gui->config_gui) return; emphasis_init_configgui(gui->config_gui); gui->config_gui->data = data; } @@ -1048,6 +1155,7 @@ Emphasis_Config_Gui *configgui; UNUSED(object); + if(!data) return ETK_TRUE; configgui = data; etk_widget_hide_all(configgui->window); @@ -1060,10 +1168,10 @@ { Emphasis_Config_Gui *configgui; + if(!data) return; configgui = data; emphasis_configgui_save(configgui); - //emphasis_try_connect(configgui->data); cb_config_hide(object, data); } @@ -1077,6 +1185,7 @@ Etk_Tree_Col *col; char *playlist_name; + if(!data) return; player = data; if (event->button == 1) { @@ -1103,12 +1212,13 @@ cb_media_pls_save_clicked(Etk_Object *object, void *data) { UNUSED(object); -#if defined(LIBMPD_0_12_4) Emphasis_Player_Gui *player; Etk_Widget *entry; - + + if(!data) return; player = data; entry = player->media.pls_entry_save; + if(!entry) return; if (etk_widget_is_visible(entry)) { if (etk_entry_text_get(ETK_ENTRY(entry))) @@ -1124,25 +1234,22 @@ etk_widget_focus(entry); } emphasis_pls_list_init(player); -#else - UNUSED(data); -#endif } void cb_media_pls_load_clicked(Etk_Object *object, void *data) { UNUSED(object); -#if defined(LIBMPD_0_12_4) Emphasis_Player_Gui *player; Etk_Tree_Col *col; Etk_Tree_Row *row; char *playlist_name; + if(!data) return; player = data; col = etk_tree_nth_col_get(ETK_TREE(player->media.pls_list), 0); row = etk_tree_selected_row_get(ETK_TREE(player->media.pls_list)); - if (!row) return; + if(!row) return; etk_tree_row_fields_get(row, ETK_FALSE, col, &playlist_name, NULL); mpc_playlist_clear(); @@ -1152,21 +1259,18 @@ EMPHASIS_TRACK); etk_tree_unselect_all(ETK_TREE(player->media.pls_content)); mpc_play_if_stopped(); -#else - UNUSED(data); -#endif } void cb_media_pls_del_clicked(Etk_Object *object, void *data) { UNUSED(object); -#if defined(LIBMPD_0_12_4) Emphasis_Player_Gui *player; Etk_Tree_Col *col; Etk_Tree_Row *row; char *playlist_name; + if(!data) return; player = data; col = etk_tree_nth_col_get(ETK_TREE(player->media.pls_list), 0); row = etk_tree_selected_row_get(ETK_TREE(player->media.pls_list)); @@ -1174,9 +1278,6 @@ mpc_delete_playlist(playlist_name); emphasis_pls_list_init(player); -#else - UNUSED(data); -#endif } void @@ -1199,6 +1300,8 @@ Evas_List *list; Etk_Tree_Col *col; const char *file; + + if(!data) return; player = data; row = etk_tree_selected_rows_get(ETK_TREE(player->media.search_tree)); @@ -1223,6 +1326,7 @@ UNUSED(object); Emphasis_Player_Gui *player; + if(!data) return; player = data; cb_playlist_clear(NULL,NULL,NULL); cb_media_search_btn_add_clicked(object, data); @@ -1234,6 +1338,7 @@ UNUSED(object); Emphasis_Player_Gui *player; + if(!data) return; player = data; emphasis_search_row_add(player); } @@ -1245,6 +1350,7 @@ Etk_Widget *search_query_row; Etk_Widget *button; + if(!data) return; search_root = data; button = ETK_WIDGET(object); search_query_row = etk_widget_parent_get(button); @@ -1292,6 +1398,7 @@ Etk_Widget *widget; int index; + if(!data) return; player = data; children = etk_container_children_get(ETK_CONTAINER(player->media.search_root)); @@ -1331,4 +1438,123 @@ /* ^ freed results */ evas_list_free(query); +} + +void +cb_small_pack(Etk_Object *object, Etk_Event_Mouse_Down *event, void *data) +{ + Emphasis_Player_Gui *player; + UNUSED(object); + + if(!data) { return; } + + player = data; + + if(event->button == 1) /* left-click, */ + { + /* show/hide concurrent window */ + Etk_Widget *win = NULL; + + if(player->small.packed == ETK_TRUE) { return; } + + if(object == (Etk_Object*)player->small.cover) + { + int w, h; + etk_widget_inner_geometry_get + (player->small.cov.window, NULL, NULL, &w, &h); + + if( event->widget.y >= h - 30) + { + /* special sensible cover zone (bottom) */ + if(event->widget.x <= w * 0.33) + { + /* left zone */ + mpc_prev(); + } + else if(event->widget.x >= ( w - w * 0.33 )) + { + /* middle zone */ + mpc_next(); + } + else + { + /* right zone */ + mpc_toggle_play_pause(); + } + return; /* no show/hide */ + } + win = player->small.ctr.window; + } + else + if(object == (Etk_Object*)player->small.info) + { + win = player->small.cov.window; + } + else + { return; } + + + if(etk_widget_is_visible(win) == ETK_TRUE) + { etk_widget_hide(win); } + else + { etk_widget_show(win); } + } + else if(event->button == 2) /* middle-click */ + { + /* show/hide mlib window */ + Etk_Widget *toggle = player->small.media; + + cb_toggle_media(ETK_OBJECT(toggle), player); + etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(toggle), + !etk_toggle_button_active_get + (ETK_TOGGLE_BUTTON(toggle))); + } + else if(event->button == 3) /* right-click */ + { + /* switch small<->tiny */ + if(player->small.packed == ETK_TRUE) + { + /* packing */ + etk_widget_hide(player->small.window); + + etk_container_add(ETK_CONTAINER(player->small.cov.window), + player->small.cov.root); + etk_container_add(ETK_CONTAINER(player->small.ctr.window), + player->small.ctr.root); + + etk_widget_size_request_set(player->small.cover, + player->small.cover_size_w, + player->small.cover_size_w); + + etk_widget_show(player->small.cov.window); + etk_widget_show(player->small.ctr.window); + } + else + { + /* unpacking */ + etk_widget_hide(player->small.cov.window); + etk_widget_hide(player->small.ctr.window); + + etk_container_remove(ETK_CONTAINER(player->small.cov.window), + player->small.cov.root); + etk_container_remove(ETK_CONTAINER(player->small.ctr.window), + player->small.ctr.root); + + etk_box_append(ETK_BOX(player->small.root), player->small.cov.root, + ETK_BOX_START, ETK_BOX_FILL, 0); + etk_box_append(ETK_BOX(player->small.root), player->small.ctr.root, + ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); + + etk_widget_size_request_set(player->small.cover, + player->small.cover_size_w, + player->small.cover_size_h); + + etk_widget_show(player->small.window); + } + + etk_textblock_cursor_visible_set + (etk_text_view_textblock_get(ETK_TEXT_VIEW(player->small.info)), + ETK_FALSE); + player->small.packed = !player->small.packed; + } } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- emphasis_callbacks.h 17 Jan 2007 01:30:09 -0000 1.10 +++ emphasis_callbacks.h 9 Mar 2007 18:23:18 -0000 1.11 @@ -8,6 +8,8 @@ */ Etk_Bool cb_quit(Etk_Object *object, void *data); Etk_Bool cb_media_quit(Etk_Object *object, void *data); +Etk_Bool cb_window_hide(Etk_Object *object, void *data); +Etk_Bool cb_pack_quit(Etk_Object *object, void *data); void cb_button_stop_clicked(Etk_Object *object, void *data); void cb_button_prev_clicked(Etk_Object *object, void *data); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_config.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- emphasis_config.c 30 Dec 2006 13:46:38 -0000 1.5 +++ emphasis_config.c 9 Mar 2007 18:23:18 -0000 1.6 @@ -37,6 +37,7 @@ Emphasis_Config *config; config = malloc(sizeof(Emphasis_Config)); + if(!config) return NULL; set_defaults(); ecore_config_load(); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_convert.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- emphasis_convert.c 30 Dec 2006 13:46:38 -0000 1.2 +++ emphasis_convert.c 9 Mar 2007 18:23:18 -0000 1.3 @@ -10,6 +10,7 @@ return NULL; dest = malloc(sizeof(Emphasis_Song)); + if(!dest) return NULL; dest->file = strdupnull(src->file); dest->artist = strdupnull(src->artist); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_cover_db.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- emphasis_cover_db.c 14 Jan 2007 19:27:43 -0000 1.4 +++ emphasis_cover_db.c 9 Mar 2007 18:23:18 -0000 1.5 @@ -35,7 +35,7 @@ cover_path = emphasis_cover_db_search(artist, album); emphasis_player_cover_set(gui->player, cover_path); if (cover_path != NULL) { free(cover_path); } - emphasis_player_cover_size_update(gui->player); + //emphasis_player_cover_size_update(gui->player); free(artist); free(album); @@ -122,7 +122,7 @@ char *cover_path = NULL; char *key; int size; - void *cover; + void *cover = NULL; Eet_File *ef; asprintf(&config_path, "%s/.e/apps/emphasis/cover.eet", getenv("HOME")); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_data_list.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- emphasis_data_list.c 30 Dec 2006 13:46:38 -0000 1.2 +++ emphasis_data_list.c 9 Mar 2007 18:23:18 -0000 1.3 @@ -7,6 +7,7 @@ Emphasis_Data *data; data = malloc(sizeof(Emphasis_Data)); + if(!data) return NULL; data->song = NULL; data->tag = NULL; data->directory = NULL; =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_gui.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- emphasis_gui.c 27 Feb 2007 22:30:11 -0000 1.13 +++ emphasis_gui.c 9 Mar 2007 18:23:18 -0000 1.14 @@ -10,6 +10,11 @@ emphasis_init_gui(Emphasis_Gui *gui) { gui->player = malloc(sizeof(Emphasis_Player_Gui)); + if(!gui->player) + { + fprintf(stderr, "Memory full\n"); + exit(1); + } /* TODO : check player */ /* TODO ; check config, state, etc */ @@ -79,6 +84,7 @@ ETK_CALLBACK(cb_pls_contextual_menu), gui); etk_signal_connect("mouse_down", ETK_OBJECT(player->media.track), ETK_CALLBACK(cb_pls_contextual_menu), gui); + } /** @@ -163,6 +169,7 @@ Cover_Info *old; ci = malloc(sizeof(Cover_Info)); + if(ci == NULL) { return; } ci->artist = strdupnull(artist); ci->album = strdupnull(album); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_gui.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- emphasis_gui.h 30 Dec 2006 13:46:38 -0000 1.4 +++ emphasis_gui.h 9 Mar 2007 18:23:18 -0000 1.5 @@ -14,7 +14,7 @@ typedef enum _Emphasis_Type Emphasis_Type; enum _Emphasis_Type { - EMPHASIS_ARTIST, + EMPHASIS_ARTIST = 1, EMPHASIS_ALBUM, EMPHASIS_TRACK }; =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_media.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- emphasis_media.c 17 Jan 2007 01:30:09 -0000 1.6 +++ emphasis_media.c 9 Mar 2007 18:23:18 -0000 1.7 @@ -41,10 +41,11 @@ if (tag != NULL) { album_tag = malloc(sizeof(char *) * 2); + if(!album_tag) return; album_tag[0] = NULL; album_tag[1] = tag; } - row = etk_tree_row_append(tree, NULL, etk_tree_nth_col_get(tree, 0), "All", NULL); + row = etk_tree_row_append(tree, NULL, etk_tree_nth_col_get(tree, 0), LABEL_MLIB_ALL, NULL); etk_tree_row_data_set(row, album_tag); } if (list) @@ -87,6 +88,7 @@ if (et == EMPHASIS_ALBUM) { album_tag = malloc(sizeof(char *) * 2); + if(!album_tag) return; album_tag[0] = strdupnull(data->tag); album_tag[1] = strdupnull(tag); etk_tree_row_data_set(row, album_tag); @@ -254,14 +256,9 @@ pls_list = ETK_TREE(player->media.pls_list); etk_tree_clear(pls_list); -#if defined(LIBMPD_0_12_4) emphasis_tree_mlib_append(pls_list, (mpc_list_playlists()), MPD_DATA_TYPE_PLAYLIST, NULL); -#else - etk_tree_row_append(pls_list, NULL, etk_tree_nth_col_get(pls_list, 0), - "You need libmpd 0.12.4 in order to use mpd playlists", NULL); -#endif } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_media.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- emphasis_media.h 17 Jan 2007 01:30:09 -0000 1.4 +++ emphasis_media.h 9 Mar 2007 18:23:18 -0000 1.5 @@ -14,4 +14,7 @@ void emphasis_pls_mark_current(Etk_Tree *tree, int id); void emphasis_pls_list_init(Emphasis_Player_Gui *player); + +#define LABEL_MLIB_ALL "<b>All</b>" + #endif /* EMPHASIS_MEDIA_H_ */ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_misc.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- emphasis_misc.c 17 Jan 2007 01:30:09 -0000 1.8 +++ emphasis_misc.c 9 Mar 2007 18:23:18 -0000 1.9 @@ -45,8 +45,10 @@ row = evas_list_data(rowlist); data = calloc(1, sizeof(Emphasis_Data)); + if(!data) return NULL; data->type = MPD_DATA_TYPE_SONG; data->song = calloc(1, sizeof(Emphasis_Song)); + if(!data->song) { free(data); return NULL; } data->song->file = strdup(etk_tree_row_data_get(row)); list = evas_list_append(list, data); @@ -82,8 +84,10 @@ id = (int) etk_tree_row_data_get(row); data = malloc(sizeof(Emphasis_Data)); + if(!data) return NULL; data->type = MPD_DATA_TYPE_SONG; data->song = malloc(sizeof(Emphasis_Song)); + if(!data->song) { free(data); return NULL; } data->song->id = id; list = evas_list_append(list, data); @@ -326,6 +330,7 @@ size = strlen(str)+1; escaped = malloc(sizeof(char)*size); + if(!escaped) return NULL; for( i=0, j=0, c=str[0] ; c!='\0' ; i++, j++, c=str[i]) { @@ -410,4 +415,79 @@ } return unselected_rows; +} + +Etk_Bool +etk_image_has_error(Etk_Image *widget) +{ + Evas_Object *obj = NULL; + + if(!widget) { return ETK_FALSE; } + + obj = etk_image_evas_object_get(widget); + if( obj && !evas_object_image_load_error_get(obj)) + { return ETK_FALSE; } + else + { return ETK_TRUE; } +} + +void +etk_textblock_cursor_visible_set(Etk_Textblock *tb, Etk_Bool visible) +{ + Evas_Object *tbo = NULL; + + if(!tb) { return; } + + tbo = evas_list_data(tb->evas_objects); + + if(!tbo) { return; } + + etk_textblock_object_cursor_visible_set(tbo, visible); +} + +Etk_Bool +etk_textblock_cursor_visible_get(Etk_Textblock *tb) +{ + Evas_Object *tbo = NULL; + + if(!tb) { return ETK_FALSE; } + + tbo = evas_list_data(tb->evas_objects); + + if(!tbo) { return ETK_FALSE; } + + return etk_textblock_object_cursor_visible_get(tbo); +} + +Etk_Tree_Row* +etk_tree_nth_row_get(Etk_Tree *tree, int n) +{ + Etk_Tree_Row *row; + int i; + int len; + + /* TODO modulo list? */ + if(!tree || (n<0) || (n >= tree->total_rows )) { return NULL; } + len = tree->total_rows; + + if(n > len/2) + { + for(i = len - 1, row = etk_tree_last_row_get(tree) ; + row ; + i-- , row = etk_tree_row_prev_get(row)) + { + if (i == n) return row; + } + } + else + { + for(i = 0 , row = etk_tree_first_row_get(tree) ; + row ; + i++ , row = etk_tree_row_next_get(row)) + { + if (i == n) return row; + } + } + + return NULL; } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_misc.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- emphasis_misc.h 17 Jan 2007 01:30:09 -0000 1.7 +++ emphasis_misc.h 9 Mar 2007 18:23:18 -0000 1.8 @@ -25,8 +25,14 @@ void etk_container_inspect(Etk_Container *container, int lvl, int *to_trace); char *etk_strescape(const char *str); + +/* ETK functions++ */ Evas_List *etk_tree_selected_rows_get(Etk_Tree *tree); Evas_List *etk_tree_unselected_rows_get(Etk_Tree *tree); +Etk_Bool etk_image_has_error(Etk_Image *widget); +void etk_textblock_cursor_visible_set(Etk_Textblock *tb, Etk_Bool visible); +Etk_Bool etk_textblock_cursor_visible_get(Etk_Textblock *tb); +Etk_Tree_Row* etk_tree_nth_row_get(Etk_Tree *tree, int n); /** @} */ #endif /* EMPHASIS_MISC_H_ */ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- emphasis_mpc.c 27 Feb 2007 22:30:11 -0000 1.15 +++ emphasis_mpc.c 9 Mar 2007 18:23:18 -0000 1.16 @@ -264,17 +264,20 @@ void mpc_connection_changed(MpdObj * mo, int connect, void *data) { - UNUSED(mo) + UNUSED(mo); Emphasis_Gui *gui; + static int refresh_info = 1; gui = data; if (!connect) { - emphasis_player_info_set(gui->player, NULL, "Not connected to MPD"); + if(refresh_info) + emphasis_player_info_set(gui->player, NULL, "Not connected to MPD"); ecore_timer_del(gui->timer); gui->timer = ecore_timer_add(0.2, emphasis_try_connect, data); } + else refresh_info = 0; } /** @@ -557,7 +560,7 @@ { song = mpd_playlist_get_changes(mo, mpd_playlist_get_old_playlist_id(mo)); - if (!song) return; + if(!song) return; mpc_play_id(song->song->id); mpd_data_free(song); } @@ -641,7 +644,6 @@ Evas_List * mpc_list_playlists(void) { -#if defined(LIBMPD_0_12_4) MpdData *data; Evas_List *list; @@ -650,15 +652,11 @@ mpd_data_free(data); return list; -#else - return NULL; -#endif } Evas_List * mpc_get_playlist_content(char *playlist_name) { -#if defined(LIBMPD_0_12_4) MpdData *data; Evas_List *list; @@ -667,16 +665,11 @@ mpd_data_free(data); return list; -#else - UNUSED(playlist_name); - return NULL; -#endif } void mpc_save_playlist(char *playlist_name) { -#if defined(LIBMPD_0_12_4) int mpd_error; mpd_error = mpd_database_save_playlist(mo, playlist_name); @@ -687,15 +680,11 @@ fprintf(stderr, "A playlist with the same name already exist.\n"); } } -#else - UNUSED(playlist_name); -#endif } void mpc_delete_playlist(char *playlist_name) { -#if defined(LIBMPD_0_12_4) int mpd_error; mpd_error = mpd_database_delete_playlist(mo, playlist_name); @@ -703,12 +692,8 @@ { fprintf(stderr, "An error occur during the playlist deleting\n"); } -#else - UNUSED(playlist_name); -#endif } -#if defined(LIBMPD_0_12_4) MpdData *mpd_database_list_playlist(MpdObj *mi) { MpdData *data = NULL; @@ -746,7 +731,6 @@ } return mpd_data_get_first(data); } -#endif Evas_List * mpc_find(Evas_List *query, int exact) =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- emphasis_mpc.h 14 Jan 2007 19:27:43 -0000 1.9 +++ emphasis_mpc.h 9 Mar 2007 18:23:18 -0000 1.10 @@ -63,10 +63,8 @@ Evas_List *mpc_find(Evas_List *query, int exact); -#if defined(LIBMPD_0_12_4) #include <libmpd/libmpd-internal.h> MpdData *mpd_database_list_playlist(MpdObj *mi); -#endif /** @} */ #endif /* EMPHASIS_MPC_H_ */ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- emphasis_player.c 17 Jan 2007 01:30:09 -0000 1.8 +++ emphasis_player.c 9 Mar 2007 18:23:18 -0000 1.9 @@ -11,7 +11,7 @@ enhance_var_get(en,id) static void _emphasis_enhance_callbacks(Emphasis_Player_Gui *player); - +static void _emphasis_init_player_small(Emphasis_Player_Gui *player); /* TODO : documentation */ void emphasis_init_player(Emphasis_Player_Gui *player) @@ -35,8 +35,13 @@ /* TODO : check widget? */ EN_VAR_GET(en, player, window); + etk_widget_hide(player->small.window); + etk_widget_hide(player->full.window); EN_VAR_GET(en, player, root); - + + player->small.ctr.root = enhance_var_get(en, "small_root_ctrl"); + player->small.cov.root = enhance_var_get(en, "small_root_cover"); + _emphasis_init_player_small(player); EN_VAR_GET(en, player, cover); EN_VAR_GET(en, player, stop); @@ -47,7 +52,8 @@ EN_VAR_GET(en, player, info); EN_VAR_GET(en, player, progress); - EN_VAR_GET(en, player, time); + //EN_VAR_GET(en, player, time); + player->full.time = enhance_var_get(en, "full_time"); EN_VAR_GET(en, player, sound_slider); EN_VAR_GET(en, player, sound_low); @@ -196,6 +202,36 @@ } static void +_emphasis_init_player_small(Emphasis_Player_Gui *player) +{ + Etk_Widget *wid; + + /* controls */ + wid = etk_window_new(); + etk_window_wmclass_set(ETK_WINDOW(wid), + "emphasis", "Emphasis"); + etk_window_title_set(ETK_WINDOW(wid), "Controls"); + etk_window_resize(ETK_WINDOW(wid), 10, 180); + etk_widget_hide(wid); + etk_signal_connect("delete_event", ETK_OBJECT(wid), + ETK_CALLBACK(cb_pack_quit), player); + player->small.ctr.window = wid; + + /* controls */ + wid = etk_window_new(); + etk_window_wmclass_set(ETK_WINDOW(wid), + "emphasis", "Emphasis"); + etk_window_title_set(ETK_WINDOW(wid), "Cover"); + etk_window_resize(ETK_WINDOW(wid), 10, 10); + etk_widget_hide(wid); + etk_signal_connect("delete_event", ETK_OBJECT(wid), + ETK_CALLBACK(cb_pack_quit), player); + player->small.cov.window = wid; + + player->small.packed = ETK_TRUE; +} + +static void _emphasis_enhance_callbacks(Emphasis_Player_Gui *player) { Enhance *en; @@ -266,16 +302,28 @@ enhance_callback_data_set(en, "cb_tree_mlib_clicked" , player); enhance_callback_data_set(en, "cb_media_pls_save_key_down" , player); + enhance_callback_data_set(en, "cb_small_pack", player); } + /* TODO : documentation */ void emphasis_player_cover_set(Emphasis_Player_Gui *player, const char *path) { - if(!path) { path = emphasis_cover_haricotmagique(); } + const char *cover; + if(!path) { cover = emphasis_cover_haricotmagique(); } + else { cover = path; } + + etk_image_set_from_file(ETK_IMAGE(player->full.cover) , cover, NULL); + etk_image_set_from_file(ETK_IMAGE(player->small.cover), cover, NULL); + + if(!path) { return; } - etk_image_set_from_file(ETK_IMAGE(player->full.cover) , path, NULL); - etk_image_set_from_file(ETK_IMAGE(player->small.cover), path, NULL); + if( etk_image_has_error(ETK_IMAGE(player->full.cover)) == ETK_TRUE || + etk_image_has_error(ETK_IMAGE(player->small.cover)) == ETK_TRUE ) + { + emphasis_player_cover_set(player, NULL); + } } /* TODO : documentation */ @@ -363,7 +411,7 @@ title, artist, album, msg); asprintf(&info_textblock, "<b><font size=16>%s </font size></b>\n" - "<font size=11>(%s)</font size>\n" + "<font size=10> (%s)</font size>\n" "<font size=11><i>by</i></font size> " "<font size=13>%s </font size>\n" "<font size=11><i>in</i></font size> " @@ -397,10 +445,9 @@ } } - - etk_textblock_object_cursor_visible_set - (evas_list_data(ETK_TEXT_VIEW(player->small.info)->textblock->evas_objects), - ETK_FALSE); + + etk_textblock_cursor_visible_set + (etk_text_view_textblock_get(ETK_TEXT_VIEW(player->small.info)), ETK_FALSE); } /* TODO : update doc */ @@ -427,7 +474,8 @@ total_time % 60); etk_label_set(ETK_LABEL(player->full.time) , time); - etk_label_set(ETK_LABEL(player->small.time), time); +// etk_label_set(ETK_LABEL(player->small.time), time); + etk_progress_bar_text_set(ETK_PROGRESS_BAR(player->small.progress), time); free(time); } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- emphasis_player.h 14 Jan 2007 19:27:43 -0000 1.4 +++ emphasis_player.h 9 Mar 2007 18:23:18 -0000 1.5 @@ -29,6 +29,17 @@ Etk_Widget *window; Etk_Widget *root; + struct + { + Etk_Widget *window; + Etk_Widget *root; + } ctr; + struct + { + Etk_Widget *window; + Etk_Widget *root; + } cov; + Etk_Widget *cover; int cover_size_w; int cover_size_h; @@ -41,7 +52,6 @@ Etk_Widget *info; Etk_Widget *progress; - Etk_Widget *time; Etk_Widget *sound_slider; Etk_Widget *sound_low; @@ -51,6 +61,8 @@ Etk_Widget *repeat; Etk_Widget *full; Etk_Widget *media; + + Etk_Bool packed; }small; struct /* full mode */ |
From: Enlightenment C. <no...@cv...> - 2007-03-09 12:23:48
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis Modified Files: README configure.in emphasis.c.in Log Message: *Aji's new sub-mode "tiny", works with small mode: - Tiny and Small mode: . A right-click on cover or textview switch to tiny/small mode. - Tiny mode: . A left-click on cover or textview show/hide concurrent window. . Close window hide it, close both to quit. . A middle-click on cover or textview show/hide medialib window. . Special Cover Zone: , A left-click at bottom-left corner play prev song. , A left-click at bottom-middle zone play/pause song. , A left-click at bootom-right corner play next zone. *Some autotfoo corrections *No more scary warnings *Various fixes =================================================================== RCS file: /cvs/e/e17/apps/emphasis/README,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- README 14 Jan 2007 19:27:43 -0000 1.6 +++ README 9 Mar 2007 18:23:17 -0000 1.7 @@ -2,18 +2,73 @@ ##################################### Features: - Drag and drop between medialib treeview and playlist is supported. - Double left click on a row of medialib treeview add it with a search - to the playlist, and play it if the server is on status "stop". - ex : double left click on an album row will add all this album. - Middle click remove them on the same principe, - Select a row in the playlist and push "d" to delete it from the playlist. - Push "c" or "s" to clear or shuffle the current playlist. - Right click open a contextual menu. - A click on the progress bar seek the right time on the song. - "Ctrl+r" on artist/album/track tree selects randomly a row. - Select a medialib tree and type some letters will search for "pattern.*", - Esc to cancel. + - Medialib: + . Drag and drop between medialib treeview and playlist is supported. + . Double left-click or phush "Return" on a row of medialib treeview add it + with a search to the playlist, and play it if the server is on + status "stop". + ex : double left click on an album row will add all this album. + . "Ctrl+r" on artist/album/track tree selects randomly a row. + . Middle-click remove them on the same principe. + . Select a medialib tree and type some letters will search for "pattern.*", + "Esc" to cancel. + - Playlist: + . Select a row in the playlist and push "d" or "Suppr" to delete it from + the playlist. + . Push "c" to clear the current playlist. + . Push "s" to shuffle the current playlist. + . Push "u" to update your database. + . Right click open a contextual menu. + - Controls: + . A click on the progress bar seek the right time on the song. + - Tiny and Small mode: + . A right-click on cover or textview switch to tiny/small mode. + - Tiny mode: + . A left-click on cover or textview show/hide concurrent window. + . Close window hide it, close both to quit. + . A middle-click on cover or textview show/hide medialib window. + . Special Cover Zone: + , A left-click at bottom-left corner play prev song. + , A left-click at bottom-middle zone play/pause song. + , A left-click at bootom-right corner play next zone. + +##################################### + [ Cover window ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯x¯] > hide window ....... + |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| . + | | . + | switch tiny/small mode | -> right-click . + | | . + | | . + | show/hide mlib window | -> middle-click . + | | ... both, quit. + | | \ . + | show/hide controls window | | . + | | > left-click . + - - - - - - - - - - - - - | | . + | prev | play/pause | next | / . + ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ . + . + [ Controls window ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯x¯] > hide window ....... + |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| + | [- - - - - - - ] | + | | + | ----------------------------------- | + | | {text_view} | | + | | | | + | | switch tiny/small mode | | -> right-click + | | | | + | | show/hide mlib window | | -> middle-click + | | | | + | | show/hide cover window | | -> left-click + | | | | + | ----------------------------------- | + | | + | [ ] [ ] [ ] [ ] | + | | + | ( ) ·····················X····· ( ) | + | | + | { } ? { } O { } ^ { } + | + ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ##################################### Description: =================================================================== RCS file: /cvs/e/e17/apps/emphasis/configure.in,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- configure.in 14 Jan 2007 19:27:43 -0000 1.11 +++ configure.in 9 Mar 2007 18:23:17 -0000 1.12 @@ -57,104 +57,18 @@ packagesrcdir=`cd $srcdir && pwd` AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [Source Code Directory]) -#check for ECORE -AC_PATH_EFL( - ecore, - 0.9.9.022, - [ - AC_DEFINE(HAVE_ECORE, 1, have ECORE) - ecore="ECORE " - AM_CONDITIONAL(HAVE_ECORE, true) - have_ecore="yes" - ecore_libs=`ecore-config --libs` - ecore_cflags=`ecore-config --cflags` - ], - [ - AC_MSG_ERROR([No Ecore, can't build.]) - ] -) - -#check for ETK -AC_PATH_EFL( - etk, - 0.1.0.001, - [ - AC_DEFINE(HAVE_ETK, 1, have ETK) - etk="ETK " - AM_CONDITIONAL(HAVE_ETK, true) - have_etk="yes" - etk_libs=`etk-config --libs` - etk_cflags=`etk-config --cflags` - ], - [ - AC_MSG_ERROR([No Etk, can't build.]) - ] -) - -#check for Enhance -AC_PATH_EFL( - enhance, - 0.0.1, - [ - AC_DEFINE(HAVE_ENHANCE, 1, have ENHANCE) - enhance="ENHANCE " - AM_CONDITIONAL(HAVE_ENHANCE, true) - have_enhance="yes" - enhance_libs=`enhance-config --libs` - enhance_cflags=`enhance-config --cflags` - ], - [ - AC_MSG_ERROR([No Enhance, can't build.]) - ] -) - -#check for libmpd -PKG_CHECK_MODULES( - [libmpd], - libmpd >= 0.12.0, - [ - AC_DEFINE(HAVE_LIBMPD, 1, have LIBMPD) - libmpd="libmpd" - AM_CONDITIONAL(HAVE_LIBMPD, true) - have_libmpd="yes" - libmpd_libs=`pkg-config --libs libmpd` - libmpd_cflags=`pkg-config --cflags libmpd` - ], - [ - AC_MSG_ERROR([libmpd not found.]) - ] -) - -if `pkg-config --atleast-version=0.12.4 libmpd`; then - libmpd_v_cflags="-DLIBMPD_0_12_4" -else - libmpd_v_cflags="-DLIBMPD_0_12_0" -fi - -PKG_CHECK_MODULES(XML2, libxml-2.0) -AC_CHECK_LIB(pthread, pthread_create) - dnl Set ETK_PACKAGE_DATA_DIR in config.h. etk_prefix="\"`etk-config --prefix`/share/etk\"" AC_DEFINE_UNQUOTED(ETK_PACKAGE_DATA_DIR, $etk_prefix, [Data dir for etk lib.]) - -ecore_libs=`ecore-config --libs` -ecore_cflags=`ecore-config --cflags` -etk_libs=`etk-config --libs` -etk_cflags=`etk-config --cflags` -enhance_libs=`enhance-config --libs` -enhance_flags=`enhance-config --cflags` -libmpd_libs=`pkg-config --libs libmpd` -libmpd_cflags=`pkg-config --cflags libmpd` -libxml2_libs=`xml2-config --libs` -libxml2_cflags=`xml2-config --cflags` - -# add your required libs / include here -my_includes="$ecore_cflags $etk_cflags $enhance_cflags $libmpd_cflags $libxml2_cflags -DHAVE_STRNDUP $libmpd_v_cflags" -my_libs="$ecore_libs $etk_libs $enhance_libs $libmpd_libs $libxml2_libs -lpthread" -AC_SUBST(my_includes) -AC_SUBST(my_libs) +m4_include(m4/ac_path_efl.m4) +AC_CHECK_FUNCS(strndup) +AC_CHECK_LIB(pthread, pthread_create) +AC_PATH_EFL(ecore, 0.9.9.022, [AM_CONDITIONAL(HAVE_ECORE, true)]) +AC_PATH_EFL(etk, 0.1.0.002, [AM_CONDITIONAL(HAVE_ETK, true)]) +AC_PATH_GENERIC(enhance, 0.0.1, [AM_CONDITIONAL(HAVE_ENHANCE, true)]) +AC_PATH_GENERIC(XML2, 2.6.0, [AM_CONDITIONAL(HAVE_XML2, true)]) +PKG_CHECK_MODULES(libmpd, libmpd >= 0.12.4, [AM_CONDITIONAL(HAVE_LIBMPD, true)]) AC_OUTPUT([ Makefile =================================================================== RCS file: /cvs/e/e17/apps/emphasis/emphasis.c.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- emphasis.c.in 6 Jun 2006 11:22:15 -0000 1.1 +++ emphasis.c.in 9 Mar 2007 18:23:17 -0000 1.2 @@ -10,7 +10,8 @@ @version 0.1 @author Samuel Mendes <heka.lok\@gmail.com> -@date 2006 +@author Aberman Jonathan <ajiproduction\@gmail.com> +@date 2006-2007 @section intro Introduction |
From: Enlightenment C. <no...@cv...> - 2007-03-09 12:23:49
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/data Modified Files: emphasis.glade Log Message: *Aji's new sub-mode "tiny", works with small mode: - Tiny and Small mode: . A right-click on cover or textview switch to tiny/small mode. - Tiny mode: . A left-click on cover or textview show/hide concurrent window. . Close window hide it, close both to quit. . A middle-click on cover or textview show/hide medialib window. . Special Cover Zone: , A left-click at bottom-left corner play prev song. , A left-click at bottom-middle zone play/pause song. , A left-click at bootom-right corner play next zone. *Some autotfoo corrections *No more scary warnings *Various fixes =================================================================== RCS file: /cvs/e/e17/apps/emphasis/data/emphasis.glade,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- emphasis.glade 17 Jan 2007 01:38:04 -0000 1.9 +++ emphasis.glade 9 Mar 2007 18:23:17 -0000 1.10 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd"> -<!-- Generated with glade3 +<!--Generated with glade3 3.0.2 on Fri Jan 26 11:29:35 2007 by aji@neiki Version: 3.0.1 Date: Tue Dec 12 00:12:02 2006 User: aji @@ -19,275 +19,276 @@ <child> <widget class="GtkVBox" id="small_root"> <property name="visible">True</property> - <property name="spacing">1</property> <child> - <widget class="GtkImage" id="small_cover"> - <property name="width_request">180</property> - <property name="height_request">180</property> + <widget class="GtkVBox" id="small_root_cover"> <property name="visible">True</property> + <child> + <widget class="GtkImage" id="small_cover"> + <property name="width_request">180</property> + <property name="height_request">180</property> + <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> + <signal name="mouse_down" handler="cb_small_pack"/> + </widget> + </child> </widget> <packing> <property name="expand">False</property> - <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkHBox" id="hbox1"> + <widget class="GtkVBox" id="small_root_ctrl"> <property name="visible">True</property> + <property name="spacing">1</property> <child> <widget class="GtkProgressBar" id="small_progress"> <property name="visible">True</property> - <property name="pulse_step">0.1</property> + <property name="pulse_step">0.10000000149011612</property> <signal name="mouse_down" handler="cb_seek_time"/> </widget> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> </child> <child> - <widget class="GtkLabel" id="small_time"> + <widget class="GtkTextView" id="small_info"> <property name="visible">True</property> - <property name="label" translatable="yes">00:00/00:00</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="cursor_visible">False</property> + <property name="accepts_tab">False</property> + <signal name="mouse_down" handler="cb_small_pack"/> + <property name="text" translatable="yes">current song info</property> </widget> <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkTextView" id="small_info"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="cursor_visible">False</property> - <property name="accepts_tab">False</property> - <property name="text" translatable="yes">current song info</property> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox2"> - <property name="visible">True</property> <child> - <widget class="GtkButton" id="small_stop"> + <widget class="GtkHBox" id="hbox2"> <property name="visible">True</property> - <property name="can_focus">True</property> - <signal name="clicked" handler="cb_button_stop_clicked"/> <child> - <widget class="GtkImage" id="image2"> + <widget class="GtkButton" id="small_stop"> <property name="visible">True</property> - <property name="stock">gtk-media-stop</property> - <property name="icon_size">1</property> + <property name="can_focus">True</property> + <signal name="clicked" handler="cb_button_stop_clicked"/> + <child> + <widget class="GtkImage" id="image2"> + <property name="visible">True</property> + <property name="stock">gtk-media-stop</property> + <property name="icon_size">1</property> + </widget> + </child> </widget> </child> - </widget> - </child> - <child> - <widget class="GtkButton" id="small_prev"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <signal name="clicked" handler="cb_button_prev_clicked"/> <child> - <widget class="GtkImage" id="image9"> + <widget class="GtkButton" id="small_prev"> <property name="visible">True</property> - <property name="stock">gtk-media-previous</property> - <property name="icon_size">1</property> + <property name="can_focus">True</property> + <signal name="clicked" handler="cb_button_prev_clicked"/> + <child> + <widget class="GtkImage" id="image9"> + <property name="visible">True</property> + <property name="stock">gtk-media-previous</property> + <property name="icon_size">1</property> + </widget> + </child> </widget> + <packing> + <property name="position">1</property> + </packing> </child> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="small_play"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <signal name="clicked" handler="cb_button_play_clicked"/> <child> - <widget class="GtkImage" id="image4"> + <widget class="GtkButton" id="small_play"> <property name="visible">True</property> - <property name="stock">gtk-media-play</property> - <property name="icon_size">1</property> + <property name="can_focus">True</property> + <signal name="clicked" handler="cb_button_play_clicked"/> + <child> + <widget class="GtkImage" id="image4"> + <property name="visible">True</property> + <property name="stock">gtk-media-play</property> + <property name="icon_size">1</property> + </widget> + </child> </widget> + <packing> + <property name="position">2</property> + </packing> </child> - </widget> - <packing> - <property name="position">2</property> - </packing> - </child> - <child> - <widget class="GtkButton" id="small_next"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <signal name="clicked" handler="cb_button_next_clicked"/> <child> - <widget class="GtkImage" id="image5"> + <widget class="GtkButton" id="small_next"> <property name="visible">True</property> - <property name="stock">gtk-media-next</property> - <property name="icon_size">1</property> + <property name="can_focus">True</property> + <signal name="clicked" handler="cb_button_next_clicked"/> + <child> + <widget class="GtkImage" id="image5"> + <property name="visible">True</property> + <property name="stock">gtk-media-next</property> + <property name="icon_size">1</property> + </widget> + </child> </widget> + <packing> + <property name="position">3</property> + </packing> </child> </widget> <packing> + <property name="expand">False</property> <property name="position">3</property> </packing> </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">3</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox3"> - <property name="visible">True</property> <child> - <widget class="GtkImage" id="small_sound_low"> + <widget class="GtkHBox" id="hbox3"> <property name="visible">True</property> - <signal name="mouse_down" handler="cb_vol_image_clicked"/> + <child> + <widget class="GtkImage" id="small_sound_low"> + <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> + <signal name="mouse_down" handler="cb_vol_image_clicked"/> + </widget> + <packing> + <property name="expand">False</property> + </packing> + </child> + <child> + <widget class="GtkHScale" id="small_sound_slider"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="adjustment">1 1 100 1 1 0</property> + <property name="draw_value">False</property> + <signal name="value_changed" handler="cb_vol_slider_value_changed"/> + </widget> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <widget class="GtkImage" id="small_sound_high"> + <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> + <signal name="mouse_down" handler="cb_vol_image_clicked"/> + </widget> + <packing> + <property name="expand">False</property> + <property name="position">2</property> + </packing> + </child> </widget> <packing> <property name="expand">False</property> + <property name="position">4</property> </packing> </child> <child> - <widget class="GtkHScale" id="small_sound_slider"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="adjustment">1 1 100 1 1 0</property> - <property name="draw_value">False</property> - <signal name="value_changed" handler="cb_vol_slider_value_changed"/> - </widget> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkImage" id="small_sound_high"> + <widget class="GtkHSeparator" id="hseparator1"> <property name="visible">True</property> - <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> <property name="expand">False</property> - <property name="position">2</property> + <property name="position">5</property> </packing> </child> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">4</property> - </packing> - </child> - <child> - <widget class="GtkHSeparator" id="hseparator1"> - <property name="visible">True</property> - </widget> - <packing> - <property name="expand">False</property> - <property name="position">5</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox4"> - <property name="visible">True</property> - <property name="homogeneous">True</property> <child> - <widget class="GtkCheckButton" id="small_random"> + <widget class="GtkHBox" id="hbox4"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="draw_indicator">True</property> - <signal name="clicked" handler="cb_toggle_random"/> + <property name="homogeneous">True</property> <child> - <widget class="GtkImage" id="image12"> + <widget class="GtkCheckButton" id="small_random"> <property name="visible">True</property> - <property name="stock">gtk-about</property> - <property name="icon_size">1</property> + <property name="can_focus">True</property> + <property name="draw_indicator">True</property> + <signal name="clicked" handler="cb_toggle_random"/> + <child> + <widget class="GtkImage" id="image12"> + <property name="visible">True</property> + <property name="stock">gtk-about</property> + <property name="icon_size">1</property> + </widget> + </child> </widget> + <packing> + <property name="fill">False</property> + </packing> </child> - </widget> - <packing> - <property name="fill">False</property> - </packing> - </child> - <child> - <widget class="GtkHBox" id="hbox14"> - <property name="visible">True</property> <child> - <widget class="GtkCheckButton" id="small_repeat"> + <widget class="GtkHBox" id="hbox14"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="draw_indicator">True</property> - <signal name="clicked" handler="cb_toggle_repeat"/> <child> - <widget class="GtkImage" id="image13"> + <widget class="GtkCheckButton" id="small_repeat"> <property name="visible">True</property> - <property name="stock">gtk-refresh</property> - <property name="icon_size">1</property> + <property name="can_focus">True</property> + <property name="draw_indicator">True</property> + <signal name="clicked" handler="cb_toggle_repeat"/> + <child> + <widget class="GtkImage" id="image13"> + <property name="visible">True</property> + <property name="stock">gtk-refresh</property> + <property name="icon_size">1</property> + </widget> + </child> </widget> + <packing> + <property name="fill">False</property> + </packing> </child> </widget> <packing> <property name="fill">False</property> + <property name="position">1</property> </packing> </child> - </widget> - <packing> - <property name="fill">False</property> - <property name="position">1</property> - </packing> - </child> - <child> - <widget class="GtkCheckButton" id="small_full"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="draw_indicator">True</property> - <property name="tooltip">toggle to full mode</property> - <signal name="clicked" handler="cb_toggle_full"/> <child> - <widget class="GtkImage" id="image23"> + <widget class="GtkCheckButton" id="small_full"> <property name="visible">True</property> - <property name="stock">gtk-go-up</property> - <property name="icon_size">1</property> + <property name="can_focus">True</property> + <property name="draw_indicator">True</property> + <property name="tooltip">toggle to full mode</property> + <signal name="clicked" handler="cb_toggle_full"/> + <child> + <widget class="GtkImage" id="image23"> + <property name="visible">True</property> + <property name="stock">gtk-go-up</property> + <property name="icon_size">1</property> + </widget> + </child> </widget> + <packing> + <property name="fill">False</property> + <property name="position">2</property> + </packing> </child> - </widget> - <packing> - <property name="fill">False</property> - <property name="position">2</property> - </packing> - </child> - <child> - <widget class="GtkCheckButton" id="small_media"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="draw_indicator">True</property> - <property name="tooltip">show/hide playlist</property> - <signal name="clicked" handler="cb_toggle_media"/> <child> - <widget class="GtkImage" id="image24"> + <widget class="GtkCheckButton" id="small_media"> <property name="visible">True</property> - <property name="stock">gtk-add</property> - <property name="icon_size">1</property> + <property name="can_focus">True</property> + <property name="draw_indicator">True</property> + <property name="tooltip">show/hide playlist</property> + <signal name="clicked" handler="cb_toggle_media"/> + <child> + <widget class="GtkImage" id="image24"> + <property name="visible">True</property> + <property name="stock">gtk-add</property> + <property name="icon_size">1</property> + </widget> + </child> </widget> + <packing> + <property name="fill">False</property> + <property name="position">3</property> + </packing> </child> </widget> <packing> + <property name="expand">False</property> <property name="fill">False</property> - <property name="position">3</property> + <property name="position">6</property> </packing> </child> </widget> <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="position">6</property> + <property name="position">1</property> </packing> </child> </widget> @@ -358,13 +359,13 @@ <child> <widget class="GtkHBox" id="hbox7"> <property name="visible">True</property> - <property name="homogeneous">True</property> <property name="spacing">6</property> + <property name="homogeneous">True</property> <child> <widget class="GtkTreeView" id="media_artist"> <property name="visible">True</property> <property name="can_focus">True</property> - <signal name="drag_begin" handler="cb_drag_artist"/> + <!--<signal name="drag_begin" handler="cb_drag_artist"/>--> <signal name="row_selected" handler="cb_tree_artist_selected"/> <signal name="key_down" handler="cb_mlib_bindings_key"/> </widget> @@ -373,7 +374,7 @@ <widget class="GtkTreeView" id="media_album"> <property name="visible">True</property> <property name="can_focus">True</property> - <signal name="drag_begin" handler="cb_drag_album"/> + <!--<signal name="drag_begin" handler="cb_drag_album"/>--> <signal name="row_selected" handler="cb_tree_album_selected"/> <signal name="key_down" handler="cb_mlib_bindings_key"/> </widget> @@ -385,7 +386,7 @@ <widget class="GtkTreeView" id="media_track"> <property name="visible">True</property> <property name="can_focus">True</property> - <signal name="drag_begin" handler="cb_drag_track"/> + <!--<signal name="drag_begin" handler="cb_drag_track"/>--> <signal name="key_down" handler="cb_mlib_bindings_key"/> </widget> <packing> @@ -402,7 +403,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="rules_hint">True</property> - <signal name="drag_drop" handler="cb_drop_song"/> + <!--<signal name="drag_drop" handler="cb_drop_song"/>--> <signal name="key_down" handler="cb_pls_bindings_key"/> </widget> </child> @@ -491,6 +492,7 @@ <child> <widget class="GtkImage" id="image1"> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> <property name="icon_size">1</property> <property name="icon_name">ETK_STOCK_SYSTEM_SEARCH</property> </widget> @@ -611,6 +613,9 @@ <property name="can_focus">True</property> <signal name="row_clicked" handler="cb_media_pls_list_row_clicked"/> </widget> + <packing> + <property name="resize">False</property> + </packing> </child> <child> <widget class="GtkTreeView" id="media_pls_content"> @@ -840,6 +845,7 @@ <child> <widget class="GtkImage" id="full_sound_low"> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -862,6 +868,7 @@ <child> <widget class="GtkImage" id="full_sound_high"> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_vol_image_clicked"/> </widget> <packing> @@ -944,7 +951,7 @@ <child> <widget class="GtkLabel" id="full_info"> <property name="visible">True</property> - <property name="xalign">0.000000</property> + <property name="xalign">0</property> <property name="label" translatable="yes">current song info</property> </widget> <packing> @@ -986,7 +993,7 @@ <child> <widget class="GtkProgressBar" id="full_progress"> <property name="visible">True</property> - <property name="pulse_step">0.1</property> + <property name="pulse_step">0.10000000149011612</property> <signal name="mouse_down" handler="cb_seek_time"/> </widget> </child> @@ -1004,6 +1011,7 @@ <property name="width_request">100</property> <property name="height_request">100</property> <property name="visible">True</property> + <property name="stock">gtk-missing-image</property> </widget> <packing> <property name="expand">False</property> |
From: Enlightenment C. <no...@cv...> - 2007-03-13 19:28:05
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_callbacks.c emphasis_callbacks.h emphasis_player.c Log Message: Wheel on the cover when in tiny mode adjust the volume. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- emphasis_callbacks.c 9 Mar 2007 18:23:18 -0000 1.23 +++ emphasis_callbacks.c 14 Mar 2007 01:28:03 -0000 1.24 @@ -1558,3 +1558,29 @@ player->small.packed = !player->small.packed; } } + + +void +cb_tiny_cover_wheel(Etk_Object *object, Etk_Event_Mouse_Wheel *event, void *data) +{ + Emphasis_Player_Gui *player; + Etk_Event_Mouse_Down event_md; + UNUSED(object); + + if(!data) { return; } + player = data; + + if(player->small.packed) { return; } + + event_md.button = 1; + if(event->z < 0) + { + cb_vol_image_clicked(ETK_OBJECT(player->full.sound_high), + &event_md, player); + } + else + { + cb_vol_image_clicked(ETK_OBJECT(player->full.sound_low), + &event_md, player); + } +} =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- emphasis_callbacks.h 9 Mar 2007 18:23:18 -0000 1.11 +++ emphasis_callbacks.h 14 Mar 2007 01:28:03 -0000 1.12 @@ -86,5 +86,6 @@ Etk_Event_Key_Down *event, void *data); void cb_media_search_btn_search_clicked(Etk_Object *object, void *data); +void cb_tiny_cover_wheel(Etk_Object *object, Etk_Event_Mouse_Wheel *event, void *data); /** @} */ #endif /* EMPHASIS_CALLBACKS_H_ */ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- emphasis_player.c 9 Mar 2007 18:23:18 -0000 1.9 +++ emphasis_player.c 14 Mar 2007 01:28:03 -0000 1.10 @@ -303,6 +303,7 @@ enhance_callback_data_set(en, "cb_media_pls_save_key_down" , player); enhance_callback_data_set(en, "cb_small_pack", player); + enhance_callback_data_set(en, "cb_tiny_cover_wheel", player); } |
From: Enlightenment C. <no...@cv...> - 2007-03-13 19:28:41
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/data Modified Files: emphasis.glade Added Files: emphasis.png Log Message: Wheel on the cover when in tiny mode adjust the volume. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/data/emphasis.glade,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- emphasis.glade 9 Mar 2007 18:23:17 -0000 1.10 +++ emphasis.glade 14 Mar 2007 01:28:03 -0000 1.11 @@ -29,6 +29,7 @@ <property name="visible">True</property> <property name="stock">gtk-missing-image</property> <signal name="mouse_down" handler="cb_small_pack"/> + <signal name="mouse_wheel" handler="cb_tiny_cover_wheel"/> </widget> </child> </widget> |
From: Enlightenment C. <no...@cv...> - 2007-03-18 11:18:20
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: Makefile.am emphasis_callbacks.c emphasis_media.c emphasis_mpc.c Log Message: Revert change on libmpd support. Back to the libmpd >= 0.12.0 depedency. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- Makefile.am 9 Mar 2007 18:23:18 -0000 1.7 +++ Makefile.am 18 Mar 2007 17:18:17 -0000 1.8 @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in AM_CFLAGS = \ --Wall -W -g -D_GNU_SOURCE @ECORE_CFLAGS@ @ETK_CFLAGS@ @ENHANCE_CFLAGS@ @libmpd_CFLAGS@ @XML2_CFLAGS@ +-Wall -W -g -D_GNU_SOURCE @ECORE_CFLAGS@ @ETK_CFLAGS@ @ENHANCE_CFLAGS@ @libmpd_CFLAGS@ @XML2_CFLAGS@ @libmpd_v_cflags@ bin_PROGRAMS = emphasis =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_callbacks.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- emphasis_callbacks.c 14 Mar 2007 01:28:03 -0000 1.24 +++ emphasis_callbacks.c 18 Mar 2007 17:18:17 -0000 1.25 @@ -1212,6 +1212,7 @@ cb_media_pls_save_clicked(Etk_Object *object, void *data) { UNUSED(object); +#if defined(LIBMPD_0_12_4) Emphasis_Player_Gui *player; Etk_Widget *entry; @@ -1234,12 +1235,16 @@ etk_widget_focus(entry); } emphasis_pls_list_init(player); +#else + UNUSED(data); +#endif } void cb_media_pls_load_clicked(Etk_Object *object, void *data) { UNUSED(object); +#if defined(LIBMPD_0_12_4) Emphasis_Player_Gui *player; Etk_Tree_Col *col; Etk_Tree_Row *row; @@ -1259,12 +1264,16 @@ EMPHASIS_TRACK); etk_tree_unselect_all(ETK_TREE(player->media.pls_content)); mpc_play_if_stopped(); +#else + UNUSED(data); +#endif } void cb_media_pls_del_clicked(Etk_Object *object, void *data) { UNUSED(object); +#if defined(LIBMPD_0_12_4) Emphasis_Player_Gui *player; Etk_Tree_Col *col; Etk_Tree_Row *row; @@ -1278,6 +1287,9 @@ mpc_delete_playlist(playlist_name); emphasis_pls_list_init(player); +#else + UNUSED(data); +#endif } void @@ -1483,6 +1495,14 @@ } return; /* no show/hide */ } + else if( event->widget.y <= 7 ) + { + /* special sensible cover zone (top) */ + double seek; + seek = (double) event->widget.x / (double) w; + mpc_seek(seek); + return; /* no show/hide */ + } win = player->small.ctr.window; } else @@ -1514,7 +1534,7 @@ /* switch small<->tiny */ if(player->small.packed == ETK_TRUE) { - /* packing */ + /* unpacking */ etk_widget_hide(player->small.window); etk_container_add(ETK_CONTAINER(player->small.cov.window), @@ -1523,15 +1543,16 @@ player->small.ctr.root); etk_widget_size_request_set(player->small.cover, - player->small.cover_size_w, - player->small.cover_size_w); + 100, 100); + //player->small.cover_size_w, + //player->small.cover_size_w); etk_widget_show(player->small.cov.window); etk_widget_show(player->small.ctr.window); } else { - /* unpacking */ + /* packing */ etk_widget_hide(player->small.cov.window); etk_widget_hide(player->small.ctr.window); =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_media.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- emphasis_media.c 9 Mar 2007 18:23:18 -0000 1.7 +++ emphasis_media.c 18 Mar 2007 17:18:17 -0000 1.8 @@ -256,9 +256,14 @@ pls_list = ETK_TREE(player->media.pls_list); etk_tree_clear(pls_list); +#if defined(LIBMPD_0_12_4) emphasis_tree_mlib_append(pls_list, (mpc_list_playlists()), MPD_DATA_TYPE_PLAYLIST, NULL); +#else + etk_tree_append(pls_list, etk_tree_nth_col_get(pls_list, 0), + "You need libmpd 0.12.4 order to use mpd playlists", NULL); +#endif } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- emphasis_mpc.c 9 Mar 2007 18:23:18 -0000 1.16 +++ emphasis_mpc.c 18 Mar 2007 17:18:17 -0000 1.17 @@ -644,6 +644,7 @@ Evas_List * mpc_list_playlists(void) { +#if defined(LIBMPD_0_12_4) MpdData *data; Evas_List *list; @@ -652,11 +653,15 @@ mpd_data_free(data); return list; +#else + return NULL; +#endif } Evas_List * mpc_get_playlist_content(char *playlist_name) { +#if defined(LIBMPD_0_12_4) MpdData *data; Evas_List *list; @@ -665,11 +670,15 @@ mpd_data_free(data); return list; +#else + return NULL; +#endif } void mpc_save_playlist(char *playlist_name) { +#if defined(LIBMPD_0_12_4) int mpd_error; mpd_error = mpd_database_save_playlist(mo, playlist_name); @@ -680,11 +689,15 @@ fprintf(stderr, "A playlist with the same name already exist.\n"); } } +#else + UNUSED(playerlist_name) +#endif } void mpc_delete_playlist(char *playlist_name) { +#if defined(LIBMPD_0_12_4) int mpd_error; mpd_error = mpd_database_delete_playlist(mo, playlist_name); @@ -692,6 +705,9 @@ { fprintf(stderr, "An error occur during the playlist deleting\n"); } +#else + UNUSED(playlist_name) +#endif } MpdData *mpd_database_list_playlist(MpdObj *mi) |
From: Enlightenment C. <no...@cv...> - 2007-03-18 11:18:50
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis Modified Files: configure.in Log Message: Revert change on libmpd support. Back to the libmpd >= 0.12.0 depedency. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/configure.in,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- configure.in 9 Mar 2007 18:23:17 -0000 1.12 +++ configure.in 18 Mar 2007 17:18:17 -0000 1.13 @@ -61,6 +61,14 @@ etk_prefix="\"`etk-config --prefix`/share/etk\"" AC_DEFINE_UNQUOTED(ETK_PACKAGE_DATA_DIR, $etk_prefix, [Data dir for etk lib.]) +libmpd_v_cflags="" +if `pkg-config --atleast-version=0.12.4 libmpd` +then + libmpd_v_cflags="-DLIBMPD_0_12_4" +fi +AC_SUBST(libmpd_v_cflags) + + m4_include(m4/ac_path_efl.m4) AC_CHECK_FUNCS(strndup) AC_CHECK_LIB(pthread, pthread_create) @@ -68,7 +76,7 @@ AC_PATH_EFL(etk, 0.1.0.002, [AM_CONDITIONAL(HAVE_ETK, true)]) AC_PATH_GENERIC(enhance, 0.0.1, [AM_CONDITIONAL(HAVE_ENHANCE, true)]) AC_PATH_GENERIC(XML2, 2.6.0, [AM_CONDITIONAL(HAVE_XML2, true)]) -PKG_CHECK_MODULES(libmpd, libmpd >= 0.12.4, [AM_CONDITIONAL(HAVE_LIBMPD, true)]) +PKG_CHECK_MODULES(libmpd, libmpd >= 0.12.0, [AM_CONDITIONAL(HAVE_LIBMPD, true)]) AC_OUTPUT([ Makefile |
From: Enlightenment C. <no...@cv...> - 2007-03-18 23:38:21
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_media.c emphasis_mpc.c Log Message: typo =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_media.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- emphasis_media.c 18 Mar 2007 17:18:17 -0000 1.8 +++ emphasis_media.c 19 Mar 2007 05:38:19 -0000 1.9 @@ -262,8 +262,8 @@ MPD_DATA_TYPE_PLAYLIST, NULL); #else - etk_tree_append(pls_list, etk_tree_nth_col_get(pls_list, 0), - "You need libmpd 0.12.4 order to use mpd playlists", NULL); + etk_tree_row_append(pls_list, NULL, etk_tree_nth_col_get(pls_list, 0), + "You need libmpd 0.12.4 order to use mpd playlists", NULL); #endif } =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_mpc.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- emphasis_mpc.c 18 Mar 2007 17:18:17 -0000 1.17 +++ emphasis_mpc.c 19 Mar 2007 05:38:19 -0000 1.18 @@ -671,6 +671,7 @@ mpd_data_free(data); return list; #else + UNUSED(playlist_name) return NULL; #endif } @@ -690,7 +691,7 @@ } } #else - UNUSED(playerlist_name) + UNUSED(playlist_name) #endif } |
From: Enlightenment C. <no...@cv...> - 2007-03-19 14:13:08
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/data Modified Files: Makefile.am emphasis.desktop Log Message: Added the installation of the .desktop =================================================================== RCS file: /cvs/e/e17/apps/emphasis/data/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 9 Oct 2006 19:35:57 -0000 1.4 +++ Makefile.am 19 Mar 2007 20:13:01 -0000 1.5 @@ -6,6 +6,12 @@ files_DATA = $(FILES) EXTRA_DIST = $(FILES) +desktopdir = $(datadir)/applications +desktop_DATA = emphasis.desktop + +icondir = $(datadir)/pixmaps/ +icon_DATA = emphasis.png emphasis.svg + SUBDIRS = images MAINTAINERCLEANFILES = Makefile.in \ =================================================================== RCS file: /cvs/e/e17/apps/emphasis/data/emphasis.desktop,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- emphasis.desktop 9 Oct 2006 19:35:57 -0000 1.1 +++ emphasis.desktop 19 Mar 2007 20:13:01 -0000 1.2 @@ -12,7 +12,7 @@ Exec=emphasis Terminal=false Type=Application -Icon=emphasis.png +Icon=emphasis Categories=ENLIGHTENMENT;Application;AudioVideo; StartupNotify=true Encoding=UTF-8 |
From: Enlightenment C. <no...@cv...> - 2007-03-19 15:46:37
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/data Added Files: emphasis.svg Log Message: Sorry I forget a file |
From: Enlightenment C. <no...@cv...> - 2007-03-20 02:47:06
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis/src/bin Modified Files: emphasis_player.c Log Message: cleanup of some textblock tags =================================================================== RCS file: /cvs/e/e17/apps/emphasis/src/bin/emphasis_player.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- emphasis_player.c 14 Mar 2007 01:28:03 -0000 1.10 +++ emphasis_player.c 20 Mar 2007 08:47:04 -0000 1.11 @@ -389,12 +389,12 @@ "</left_margin>", title, artist, album); asprintf(&info_textblock, - "<b><font size=16>%s </font size></b>" + "<b><font size=16>%s </font></b>" "\n\n" - "<font size=11><i>by</i></font size> " - "<font size=13>%s </font size>\n" - "<font size=11><i>in</i></font size> " - "<font size=13>%s </font size> ", + "<font size=11><i>by</i></font> " + "<font size=13>%s </font>\n" + "<font size=11><i>in</i></font> " + "<font size=13>%s </font> ", title, artist, album); } else @@ -411,12 +411,12 @@ "</left_margin>", title, artist, album, msg); asprintf(&info_textblock, - "<b><font size=16>%s </font size></b>\n" - "<font size=10> (%s)</font size>\n" - "<font size=11><i>by</i></font size> " - "<font size=13>%s </font size>\n" - "<font size=11><i>in</i></font size> " - "<font size=13>%s </font size>", + "<b><font size=16>%s </font></b>\n" + "<font size=10> (%s)</font>\n" + "<font size=11><i>by</i></font> " + "<font size=13>%s </font>\n" + "<font size=11><i>in</i></font> " + "<font size=13>%s </font>", title, msg, artist, album); } |
From: Enlightenment C. <no...@cv...> - 2007-03-22 13:25:28
|
Enlightenment CVS committal Author : lok Project : e17 Module : apps/emphasis Dir : e17/apps/emphasis Modified Files: INSTALL configure.in Log Message: Patch from `vko. Use pkg-config and libtool. =================================================================== RCS file: /cvs/e/e17/apps/emphasis/INSTALL,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- INSTALL 6 Jun 2006 11:22:15 -0000 1.1 +++ INSTALL 22 Mar 2007 13:25:26 -0000 1.2 @@ -1,8 +1,8 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free -Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -10,7 +10,10 @@ Basic Installation ================== -These are generic installation instructions. +Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -23,9 +26,9 @@ It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is +the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale -cache files.) +cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail @@ -35,20 +38,17 @@ may remove or edit it. The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. + `./configure' to configure the package for your system. - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. 2. Type `make' to compile the package. @@ -78,7 +78,7 @@ by setting variables in the command line or in the environment. Here is an example: - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. @@ -87,17 +87,15 @@ You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the +own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. Installation Names ================== @@ -190,12 +188,12 @@ ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). Here is a another example: +overridden in the site shell script). - /bin/bash ./configure CONFIG_SHELL=/bin/bash +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: -Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent -configuration-related scripts to be executed by `/bin/bash'. + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== =================================================================== RCS file: /cvs/e/e17/apps/emphasis/configure.in,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- configure.in 18 Mar 2007 17:18:17 -0000 1.13 +++ configure.in 22 Mar 2007 13:25:26 -0000 1.14 @@ -21,8 +21,7 @@ AC_HEADER_STDC AC_C_CONST AM_ENABLE_SHARED -#AM_PROG_LIBTOOL -LIBS="" +AM_PROG_LIBTOOL dnl Set PACKAGE_DATA_DIR in config.h. if test "x${prefix}" = "xNONE"; then @@ -72,8 +71,8 @@ m4_include(m4/ac_path_efl.m4) AC_CHECK_FUNCS(strndup) AC_CHECK_LIB(pthread, pthread_create) -AC_PATH_EFL(ecore, 0.9.9.022, [AM_CONDITIONAL(HAVE_ECORE, true)]) -AC_PATH_EFL(etk, 0.1.0.002, [AM_CONDITIONAL(HAVE_ETK, true)]) +PKG_CHECK_MODULES(ECORE, ecore >= 0.9.9.022, [AM_CONDITIONAL(HAVE_ECORE, true)]) +PKG_CHECK_MODULES(ETK, etk >= 0.1.0.002, [AM_CONDITIONAL(HAVE_ETK, true)]) AC_PATH_GENERIC(enhance, 0.0.1, [AM_CONDITIONAL(HAVE_ENHANCE, true)]) AC_PATH_GENERIC(XML2, 2.6.0, [AM_CONDITIONAL(HAVE_XML2, true)]) PKG_CHECK_MODULES(libmpd, libmpd >= 0.12.0, [AM_CONDITIONAL(HAVE_LIBMPD, true)]) |