Enlightenment CVS committal Author : titan Project : e17 Module : proto
Dir : e17/proto/ephoto/src Modified Files: ephoto.c ephoto.h ephoto_callbacks.c Log Message: Begin fixing ephoto stuff up! =================================================================== RCS file: /cvs/e/e17/proto/ephoto/src/ephoto.c,v retrieving revision 1.66 retrieving revision 1.67 diff -u -3 -r1.66 -r1.67 --- ephoto.c 27 Jul 2006 08:02:17 -0000 1.66 +++ ephoto.c 5 Sep 2006 18:57:30 -0000 1.67 @@ -1,20 +1,15 @@ #include "ephoto.h" Main *m = NULL; -const char *current_album; -const char *current_slideshow; int main(int argc, char **argv) { + FILE *file; char *home; - char *name; char ephoto_path[PATH_MAX]; - char database[PATH_MAX]; + char ephoto_complete[PATH_MAX]; int argint = 1; - int rc = SQLITE_OK; int i = 0; - Ecore_List *files; - sqlite3 *db; if (!ewl_init(&argc, argv)) { @@ -29,39 +24,21 @@ home = getenv("HOME"); snprintf(ephoto_path, PATH_MAX, "%s/.ephoto", home); - snprintf(database, PATH_MAX, "%s/ephoto_database", ephoto_path); - + snprintf(ephoto_complete, PATH_MAX, "%s/Complete Library", ephoto_path); m = calloc(1, sizeof(Main)); - if (!ecore_file_exists(ephoto_path)) - { - ecore_file_mkdir(ephoto_path); - } - - if (!ecore_file_exists(database)) + if (!ecore_file_exists(ephoto_path)) ecore_file_mkdir(ephoto_path); + + if (!ecore_file_exists(ephoto_complete)) { - sqlite3_open(database, &db); - sqlite3_exec(db, "CREATE TABLE images(id INTEGER PRIRMARY KEY AUTOINCREMENT," - "name VARCHAR(255));", NULL, NULL, NULL); - sqlite3_exec(db, "CREATE TABLE albums(id INTEGER PRIMARY KEY AUTOINCREMENT," - "name VARCHAR(255));", NULL, NULL, NULL); - sqlite3_exec(db, "CREATE TABLE albums_full(id INTEGER PRIMARY KEY AUTOINCREMENT," - "album_id INTEGER, image_id INTEGER);", NULL, NULL, NULL); - sqlite3_exec(db, "CREATE TABLE slideshows(id INTEGER PRIMARY KEY AUTOINCREMENT," - "name VARCHAR(255));", NULL, NULL, NULL); - sqlite3_exec(db, "CREATE TABLE slideshows_images_full(id INTEGER PRIMARY KEY AUTOINCREMENT," - "slideshows_id INTEGER, images_id INTEGER);", NULL, NULL, NULL); - sqlite3_exec(db, "CREATE TABLE settings(id INTEGER PRIMARY KEY AUTOINCREMENT," - "name VARCHAR(255));", NULL, NULL, NULL); - sqlite3_exec(db, "CREATE TABLE slideshows_settings_full(id INTEGER PRIMARY KEY AUTOINCREMENT," - "slideshows_id INTEGER, settings_id INTEGER);", NULL, NULL, NULL); - sqlite3_exec(db, "INSERT OR IGNORE INTO albums (name) VALUES ('Complete Library');", - NULL, NULL, NULL); - sqlite3_exec(db, "INSERT OR IGNORE INTO slideshows (name) VALUES ('Complete Library Slideshow');", - NULL, NULL, NULL); - sqlite3_close(db); + file = fopen(ephoto_complete, "w"); + if (file != NULL) + { + fputs("#Ephoto Complete Library", file); + fclose(file); + } } - + m->win = ewl_window_new(); ewl_window_title_set(EWL_WINDOW(m->win), "ephoto"); ewl_window_name_set(EWL_WINDOW(m->win), "ephoto"); @@ -92,57 +69,6 @@ ewl_object_fill_policy_set(EWL_OBJECT(m->menu_item), EWL_FLAG_FILL_ALL); ewl_widget_show(m->menu_item); - m->menu = ewl_menu_new(); - ewl_button_label_set(EWL_BUTTON(m->menu), "Albums"); - ewl_container_child_append(EWL_CONTAINER(m->menubar), m->menu); - ewl_object_fill_policy_set(EWL_OBJECT(m->menu), EWL_FLAG_FILL_NONE); - ewl_widget_show(m->menu); - - m->menu_item = ewl_menu_item_new(); - ewl_button_label_set(EWL_BUTTON(m->menu_item), "Create new album"); - ewl_container_child_append(EWL_CONTAINER(m->menu), m->menu_item); - ewl_callback_append(m->menu_item, EWL_CALLBACK_CLICKED, add_album_cb, NULL); - ewl_object_fill_policy_set(EWL_OBJECT(m->menu_item), EWL_FLAG_FILL_ALL); - ewl_widget_show(m->menu_item); - - m->menu_item = ewl_menu_item_new(); - ewl_button_label_set(EWL_BUTTON(m->menu_item), "Add images to album"); - ewl_callback_append(m->menu_item, EWL_CALLBACK_CLICKED, add_album_image_cb, NULL); - ewl_container_child_append(EWL_CONTAINER(m->menu), m->menu_item); - ewl_object_fill_policy_set(EWL_OBJECT(m->menu_item), EWL_FLAG_FILL_ALL); - ewl_widget_show(m->menu_item); - - m->menu_item = ewl_menu_item_new(); - ewl_button_label_set(EWL_BUTTON(m->menu_item), "Remove album"); - ewl_container_child_append(EWL_CONTAINER(m->menu), m->menu_item); - ewl_object_fill_policy_set(EWL_OBJECT(m->menu_item), EWL_FLAG_FILL_ALL); - ewl_widget_show(m->menu_item); - - m->menu = ewl_menu_new(); - ewl_button_label_set(EWL_BUTTON(m->menu), "Slideshows"); - ewl_container_child_append(EWL_CONTAINER(m->menubar), m->menu); - ewl_object_fill_policy_set(EWL_OBJECT(m->menu), EWL_FLAG_FILL_NONE); - ewl_widget_show(m->menu); - - m->menu_item = ewl_menu_item_new(); - ewl_button_label_set(EWL_BUTTON(m->menu_item), "Create new slideshow"); - ewl_container_child_append(EWL_CONTAINER(m->menu), m->menu_item); - ewl_callback_append(m->menu_item, EWL_CALLBACK_CLICKED, add_slideshow_cb, NULL); - ewl_object_fill_policy_set(EWL_OBJECT(m->menu_item), EWL_FLAG_FILL_ALL); - ewl_widget_show(m->menu_item); - - m->menu_item = ewl_menu_item_new(); - ewl_button_label_set(EWL_BUTTON(m->menu_item), "Add images to slideshow"); - ewl_container_child_append(EWL_CONTAINER(m->menu), m->menu_item); - ewl_object_fill_policy_set(EWL_OBJECT(m->menu_item), EWL_FLAG_FILL_ALL); - ewl_widget_show(m->menu_item); - - m->menu_item = ewl_menu_item_new(); - ewl_button_label_set(EWL_BUTTON(m->menu_item), "Remove slideshow"); - ewl_container_child_append(EWL_CONTAINER(m->menu), m->menu_item); - ewl_object_fill_policy_set(EWL_OBJECT(m->menu_item), EWL_FLAG_FILL_ALL); - ewl_widget_show(m->menu_item); - m->hpaned = ewl_hpaned_new(); ewl_object_alignment_set(EWL_OBJECT(m->hpaned), EWL_FLAG_ALIGN_CENTER); ewl_container_child_append(EWL_CONTAINER(m->vbox), m->hpaned); @@ -164,11 +90,11 @@ ewl_object_size_request(EWL_OBJECT(m->albums_border), 30, 250); ewl_widget_show(m->albums_border); - m->albums = ewl_scrollpane_new(); - ewl_widget_state_set(EWL_WIDGET(m->albums), "nobg", EWL_STATE_PERSISTENT); + m->albums = ewl_tree_new(1); ewl_container_child_append(EWL_CONTAINER(m->albums_border), m->albums); ewl_object_fill_policy_set(EWL_OBJECT(m->albums), EWL_FLAG_FILL_ALL); - ewl_box_spacing_set(EWL_BOX(EWL_SCROLLPANE(m->albums)->box), 8); + ewl_tree_headers_visible_set(EWL_TREE(m->albums), 0); + ewl_tree_expandable_rows_set(EWL_TREE(m->albums), FALSE); ewl_widget_show(m->albums); m->hseparator = ewl_hseparator_new(); @@ -177,22 +103,23 @@ ewl_object_fill_policy_set(EWL_OBJECT(m->hseparator), EWL_FLAG_FILL_ALL); ewl_widget_show(m->hseparator); - m->slideshows_border = ewl_border_new(); - ewl_border_text_set(EWL_BORDER(m->slideshows_border), "Slideshows"); - ewl_border_label_alignment_set(EWL_BORDER(m->slideshows_border), EWL_FLAG_ALIGN_CENTER); - ewl_container_child_append(EWL_CONTAINER(m->groups), m->slideshows_border); - ewl_object_alignment_set(EWL_OBJECT(m->slideshows_border), EWL_FLAG_ALIGN_CENTER); - ewl_object_fill_policy_set(EWL_OBJECT(m->slideshows_border), EWL_FLAG_FILL_ALL); - ewl_object_size_request(EWL_OBJECT(m->slideshows_border), 30, 250); - ewl_widget_show(m->slideshows_border); - - m->slideshows = ewl_scrollpane_new(); - ewl_widget_state_set(EWL_WIDGET(m->slideshows), "nobg", EWL_STATE_PERSISTENT); - ewl_container_child_append(EWL_CONTAINER(m->slideshows_border), m->slideshows); - ewl_object_fill_policy_set(EWL_OBJECT(m->slideshows), EWL_FLAG_FILL_ALL); - ewl_box_spacing_set(EWL_BOX(EWL_SCROLLPANE(m->slideshows)->box), 8); - ewl_widget_show(m->slideshows); - + m->browser_border = ewl_border_new(); + ewl_border_text_set(EWL_BORDER(m->browser_border), "Browser"); + ewl_border_label_alignment_set(EWL_BORDER(m->browser_border), + EWL_FLAG_ALIGN_CENTER); + ewl_container_child_append(EWL_CONTAINER(m->groups), m->browser_border); + ewl_object_alignment_set(EWL_OBJECT(m->browser_border), EWL_FLAG_ALIGN_CENTER); + ewl_object_fill_policy_set(EWL_OBJECT(m->browser_border), EWL_FLAG_FILL_ALL); + ewl_object_size_request(EWL_OBJECT(m->browser_border), 30, 250); + ewl_widget_show(m->browser_border); + + m->browser = ewl_tree_new(1); + ewl_container_child_append(EWL_CONTAINER(m->browser_border), m->browser); + ewl_object_fill_policy_set(EWL_OBJECT(m->browser), EWL_FLAG_FILL_ALL); + ewl_tree_headers_visible_set(EWL_TREE(m->browser), 0); + ewl_tree_expandable_rows_set(EWL_TREE(m->browser), FALSE); + ewl_widget_show(m->browser); + m->viewer_border = ewl_border_new(); ewl_border_text_set(EWL_BORDER(m->viewer_border), "Viewer"); ewl_border_label_alignment_set(EWL_BORDER(m->viewer_border), EWL_FLAG_ALIGN_CENTER); @@ -202,7 +129,6 @@ ewl_widget_show(m->viewer_border); m->viewer = ewl_scrollpane_new(); - ewl_widget_state_set(EWL_WIDGET(m->viewer), "nobg", EWL_STATE_PERSISTENT); ewl_container_child_append(EWL_CONTAINER(m->viewer_border), m->viewer); ewl_object_fill_policy_set(EWL_OBJECT(m->viewer), EWL_FLAG_FILL_ALL); ewl_widget_show(m->viewer); @@ -213,15 +139,9 @@ ewl_object_fill_policy_set(EWL_OBJECT(m->viewer_freebox), EWL_FLAG_FILL_ALL); ewl_widget_show(m->viewer_freebox); - sqlite3_open(database, &db); - rc = sqlite3_exec(db, "SELECT name FROM albums;", populate_album_cb, 0, 0); - sqlite3_close(db); - - sqlite3_open(database, &db); - rc = sqlite3_exec(db, "SELECT name FROM slideshows;", populate_slideshow_cb, 0, 0); - sqlite3_close(db); - - + ewl_callback_append(m->albums, EWL_CALLBACK_SHOW, populate_albums, NULL); + ewl_callback_append(m->browser, EWL_CALLBACK_SHOW, populate_browser, home); + ewl_main(); return 0; } =================================================================== RCS file: /cvs/e/e17/proto/ephoto/src/ephoto.h,v retrieving revision 1.30 retrieving revision 1.31 diff -u -3 -r1.30 -r1.31 --- ephoto.h 27 Jul 2006 08:02:17 -0000 1.30 +++ ephoto.h 5 Sep 2006 18:57:30 -0000 1.31 @@ -4,19 +4,12 @@ #include <Ecore_File.h> #include <Ewl.h> #include <limits.h> -#include <sqlite3.h> #include <stdio.h> #include <stdlib.h> void destroy_cb(Ewl_Widget *w, void *event, void *data); -void add_album_cb(Ewl_Widget *w, void *event, void *data); -void add_album_image_cb(Ewl_Widget *w, void *event, void *data); -void add_slideshow_cb(Ewl_Widget *w, void *event, void *data); -void add_slideshow_image_cb(Ewl_Widget *w, void *event, void *data); -void album_clicked_cb(Ewl_Widget *w, void *event, void *data); -void slideshow_clicked_cb(Ewl_Widget *w, void *event, void *data); -int populate_album_cb(void *NotUsed, int argc, char **argv, char **ColName); -int populate_slideshow_cb(void *NotUsed, int argc, char **argv, char **ColName); +void populate_albums(Ewl_Widget *w, void *event, void *data); +void populate_browser(Ewl_Widget *w, void *event, void *data); typedef struct _Main Main; @@ -33,8 +26,8 @@ Ewl_Widget *hseparator; Ewl_Widget *albums; Ewl_Widget *albums_border; - Ewl_Widget *slideshows; - Ewl_Widget *slideshows_border; + Ewl_Widget *browser_border; + Ewl_Widget *browser; Ewl_Widget *viewer; Ewl_Widget *viewer_border; Ewl_Widget *viewer_freebox; @@ -42,7 +35,5 @@ }; extern Main *m; -extern const char *current_album; -extern const char *current_slideshow; #endif =================================================================== RCS file: /cvs/e/e17/proto/ephoto/src/ephoto_callbacks.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- ephoto_callbacks.c 27 Jul 2006 08:02:17 -0000 1.8 +++ ephoto_callbacks.c 5 Sep 2006 18:57:30 -0000 1.9 @@ -1,9 +1,5 @@ #include "ephoto.h" -void ok_album(Ewl_Widget *w, void *event, void *data); -void ok_slideshow(Ewl_Widget *w, void *event, void *data); -void cancel(Ewl_Widget *w, void *event, void *data); - void destroy_cb(Ewl_Widget *w, void *event, void *data) { ewl_widget_destroy(w); @@ -14,358 +10,96 @@ return; } -void ok_album(Ewl_Widget *w, void *event, void *data) +void populate_albums(Ewl_Widget *w, void *event, void *data) { + char *album; char *home; - char *entry_text; - char database[PATH_MAX]; - char command[PATH_MAX]; - sqlite3 *db; - Ewl_Widget *win; - Ewl_Widget *parent; - Ewl_Widget *next; - Ewl_Widget *entry; + char path[PATH_MAX]; + Ecore_List *albums; + Ewl_Widget *hbox; + Ewl_Widget *image; Ewl_Widget *text; - - entry = data; - - entry_text = ewl_text_text_get(EWL_TEXT(entry)); - home = getenv("HOME"); - snprintf(database, PATH_MAX, "%s/.ephoto/ephoto_database", home); - - ewl_container_child_iterate_begin(EWL_CONTAINER(m->albums)); - - while ((next = ewl_container_child_next(EWL_CONTAINER(m->albums))) != NULL) - { - if (!strcmp(entry_text, ewl_icon_label_get(EWL_ICON(next)))) - { - parent = entry->parent; - text = ewl_container_child_get(EWL_CONTAINER(parent), 0); - ewl_text_text_set(EWL_TEXT(text), "Whoops! This album exists!\n Please try again!"); - w = NULL; - event = NULL; - data = NULL; - return; - } - } - - snprintf(command, PATH_MAX, "INSERT OR IGNORE INTO albums (name) VALUES ('%s');", entry_text); - - sqlite3_open(database, &db); - sqlite3_exec(db, command, NULL, NULL, NULL); - sqlite3_close(db); - - m->icon = ewl_icon_new(); - ewl_icon_label_set(EWL_ICON(m->icon), entry_text); - ewl_object_alignment_set(EWL_OBJECT(m->icon), EWL_FLAG_ALIGN_CENTER); - ewl_callback_append(m->icon, EWL_CALLBACK_CLICKED, album_clicked_cb, NULL); - ewl_container_child_append(EWL_CONTAINER(m->albums), m->icon); - ewl_widget_show(m->icon); + Ewl_Widget *children[1]; + Ewl_Widget *row; - parent = entry->parent; - win = parent->parent; - ewl_widget_destroy(win); - - w = NULL; - event = NULL; - data = NULL; - return; -} - -void ok_slideshow(Ewl_Widget *w, void *event, void *data) -{ - char *home; - char *entry_text; - char database[PATH_MAX]; - char command[PATH_MAX]; - sqlite3 *db; - Ewl_Widget *win; - Ewl_Widget *parent; - Ewl_Widget *next; - Ewl_Widget *entry; - Ewl_Widget *text; - - entry = data; - - entry_text = ewl_text_text_get(EWL_TEXT(entry)); home = getenv("HOME"); - snprintf(database, PATH_MAX, "%s/.ephoto/ephoto_database", home); + snprintf(path, PATH_MAX, "%s/.ephoto/", home); - ewl_container_child_iterate_begin(EWL_CONTAINER(m->slideshows)); + if (!ecore_file_exists(path)) ecore_file_mkdir(path); - while ((next = ewl_container_child_next(EWL_CONTAINER(m->slideshows))) != NULL) + albums = ecore_list_new(); + albums = ecore_file_ls(path); + + while(!ecore_list_is_empty(albums)) { - if (!strcmp(entry_text, ewl_icon_label_get(EWL_ICON(next)))) - { - parent = entry->parent; - text = ewl_container_child_get(EWL_CONTAINER(parent), 0); - ewl_text_text_set(EWL_TEXT(text), "Whoops! This slideshow exists!\n Please try again!"); - w = NULL; - event = NULL; - data = NULL; - return; - } + album = ecore_list_remove_first(albums); + + hbox = ewl_hbox_new(); + ewl_object_alignment_set(EWL_OBJECT(hbox), EWL_FLAG_ALIGN_CENTER); + ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL); + ewl_box_spacing_set(EWL_BOX(hbox), 5); + ewl_widget_show(hbox); + + image = ewl_image_new(); + ewl_container_child_append(EWL_CONTAINER(hbox), image); + ewl_widget_show(image); + text = ewl_text_new(); + ewl_text_text_set(EWL_TEXT(text), album); + ewl_object_fill_policy_set(EWL_OBJECT(text), EWL_FLAG_FILL_ALL); + ewl_object_alignment_set(EWL_OBJECT(text), EWL_FLAG_ALIGN_CENTER); + ewl_container_child_append(EWL_CONTAINER(hbox), text); + ewl_widget_show(text); + + children[0] = hbox; + children[1] = NULL; + + row = ewl_tree_row_add(EWL_TREE(m->albums), NULL, children); + ewl_widget_name_set(row, album); + //ewl_callback_append(row, EWL_CALLBACK_CLICKED, NULL, NULL); } - - snprintf(command, PATH_MAX, "INSERT OR IGNORE INTO slideshows (name) VALUES ('%s');", entry_text); - - sqlite3_open(database, &db); - sqlite3_exec(db, command, NULL, NULL, NULL); - sqlite3_close(db); - - m->icon = ewl_icon_new(); - ewl_icon_label_set(EWL_ICON(m->icon), entry_text); - ewl_object_alignment_set(EWL_OBJECT(m->icon), EWL_FLAG_ALIGN_CENTER); - ewl_callback_append(m->icon, EWL_CALLBACK_CLICKED, slideshow_clicked_cb, NULL); - ewl_container_child_append(EWL_CONTAINER(m->slideshows), m->icon); - ewl_widget_show(m->icon); - - parent = entry->parent; - win = parent->parent; - ewl_widget_destroy(win); - - w = NULL; - event = NULL; - data = NULL; - return; -} - - -void cancel(Ewl_Widget *w, void *event, void *data) -{ - ewl_widget_destroy(EWL_WIDGET(data)); - w = NULL; - event = NULL; - data = NULL; - return; } -void add_album_cb(Ewl_Widget *w, void *event, void *data) +void populate_browser(Ewl_Widget *w, void *event, void *data) { - Ewl_Widget *win; - Ewl_Widget *vbox; - Ewl_Widget *text; - Ewl_Widget *entry; + char *directory; + char *file; + Ecore_List *files; Ewl_Widget *hbox; - Ewl_Widget *button; - - win = ewl_window_new(); - ewl_window_title_set(EWL_WINDOW(win), "Create an album"); - ewl_window_name_set(EWL_WINDOW(win), "Create an album"); - ewl_object_size_request(EWL_OBJECT(win), 243, 73); - ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW, cancel, win); - ewl_widget_show(win); - - vbox = ewl_vbox_new(); - ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_ALL); - ewl_container_child_append(EWL_CONTAINER(win), vbox); - ewl_widget_show(vbox); - - text = ewl_text_new(); - ewl_text_text_set(EWL_TEXT(text), "Enter the name of the album you wish to create"); - ewl_container_child_append(EWL_CONTAINER(vbox), text); - ewl_widget_show(text); - - entry = ewl_entry_new(); - ewl_container_child_append(EWL_CONTAINER(vbox), entry); - ewl_widget_show(entry); - - hbox = ewl_hbox_new(); - ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_HFILL); - ewl_container_child_append(EWL_CONTAINER(vbox), hbox); - ewl_widget_show(hbox); - - button = ewl_button_new(); - ewl_button_label_set(EWL_BUTTON(button), "Ok"); - ewl_container_child_append(EWL_CONTAINER(hbox), button); - ewl_callback_append(button, EWL_CALLBACK_CLICKED, ok_album, entry); - ewl_widget_show(button); - - button = ewl_button_new(); - ewl_button_label_set(EWL_BUTTON(button), "Cancel"); - ewl_container_child_append(EWL_CONTAINER(hbox), button); - ewl_callback_append(button, EWL_CALLBACK_CLICKED, cancel, win); - ewl_widget_show(button); - - w = NULL; - event = NULL; - data = NULL; - return; -} - -void album_fd_cb(Ewl_Widget *w, void *event, void *data) -{ - char full_name[PATH_MAX]; - Ewl_Dialog_Event *e; - e = event; + Ewl_Widget *image; + Ewl_Widget *text; + Ewl_Widget *children[1]; + Ewl_Widget *row; - if (e->response == EWL_STOCK_CANCEL) - { - cancel(w, NULL, w); - w = NULL; - event = NULL; - data = NULL; - return; - } - - if (e->response == EWL_STOCK_OK) - { - snprintf(full_name, PATH_MAX, "%s/%s", ewl_filedialog_directory_get(EWL_FILEDIALOG(w)), - ewl_filedialog_selected_file_get(EWL_FILEDIALOG(w))); - - m->icon = ewl_icon_new(); - ewl_icon_label_set(EWL_ICON(m->icon), ewl_filedialog_selected_file_get(EWL_FILEDIALOG(w))); - ewl_icon_image_set(EWL_ICON(m->icon), full_name, NULL); - ewl_icon_constrain_set(EWL_ICON(m->icon), 64); - ewl_object_alignment_set(EWL_OBJECT(m->icon), EWL_FLAG_ALIGN_CENTER); - ewl_container_child_append(EWL_CONTAINER(m->viewer_freebox), m->icon); - ewl_widget_show(m->icon); + directory = data; - cancel(w, NULL, w); - w = NULL; - event = NULL; - data = NULL; - return; - } - - w = NULL; - event = NULL; - data = NULL; - return; -} - -void add_album_image_cb(Ewl_Widget *w, void *event, void *data) -{ - Ewl_Widget *fd; + files = ecore_list_new(); + files = ecore_file_ls(directory); - fd = ewl_filedialog_new(); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "png files", ".png"); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "jpg files", ".jpg"); - ewl_filedialog_filter_add(EWL_FILEDIALOG(fd), "jpeg files", ".jpeg"); - ewl_callback_append(fd, EWL_CALLBACK_DELETE_WINDOW, cancel, fd); - ewl_callback_append(fd, EWL_CALLBACK_VALUE_CHANGED, album_fd_cb, NULL); - ewl_object_size_request(EWL_OBJECT(fd), 400, 200); - ewl_filedialog_list_view_set(EWL_FILEDIALOG(fd), ewl_filelist_icon_view_get()); - ewl_widget_show(fd); - - w = NULL; - event = NULL; - data = NULL; - return; -} - -void add_slideshow_cb(Ewl_Widget *w, void *event, void *data) -{ - Ewl_Widget *win; - Ewl_Widget *vbox; - Ewl_Widget *text; - Ewl_Widget *entry; - Ewl_Widget *hbox; - Ewl_Widget *button; - - win = ewl_window_new(); - ewl_window_title_set(EWL_WINDOW(win), "Create a slideshow"); - ewl_window_name_set(EWL_WINDOW(win), "Create an slideshow"); - ewl_object_size_request(EWL_OBJECT(win), 243, 73); - ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW, cancel, win); - ewl_widget_show(win); - - vbox = ewl_vbox_new(); - ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_ALL); - ewl_container_child_append(EWL_CONTAINER(win), vbox); - ewl_widget_show(vbox); - - text = ewl_text_new(); - ewl_text_text_set(EWL_TEXT(text), "Enter the name of the slideshow you wish to create"); - ewl_container_child_append(EWL_CONTAINER(vbox), text); - ewl_widget_show(text); - - entry = ewl_entry_new(); - ewl_container_child_append(EWL_CONTAINER(vbox), entry); - ewl_widget_show(entry); - - hbox = ewl_hbox_new(); - ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_HFILL); - ewl_container_child_append(EWL_CONTAINER(vbox), hbox); - ewl_widget_show(hbox); - - button = ewl_button_new(); - ewl_button_label_set(EWL_BUTTON(button), "Ok"); - ewl_container_child_append(EWL_CONTAINER(hbox), button); - ewl_callback_append(button, EWL_CALLBACK_CLICKED, ok_slideshow, entry); - ewl_widget_show(button); - - button = ewl_button_new(); - ewl_button_label_set(EWL_BUTTON(button), "Cancel"); - ewl_container_child_append(EWL_CONTAINER(hbox), button); - ewl_callback_append(button, EWL_CALLBACK_CLICKED, cancel, win); - ewl_widget_show(button); - - w = NULL; - event = NULL; - data = NULL; - return; -} - -void album_clicked_cb(Ewl_Widget *w, void *event, void *data) -{ - char *home; - char database[PATH_MAX]; - sqlite3 *db; - - current_album = ewl_icon_label_get(EWL_ICON(w)); - - w = NULL; - event = NULL; - data = NULL; - return; -} - -void slideshow_clicked_cb(Ewl_Widget *w, void *event, void *data) -{ - char *home; - char database[PATH_MAX]; - sqlite3 *db; - - current_slideshow = ewl_icon_label_get(EWL_ICON(w)); - - w = NULL; - event = NULL; - data = NULL; - return; -} - -int populate_album_cb(void *NotUsed, int argc, char **argv, char **ColName) -{ - int i; - - for(i = 0; i < argc; i++) + while (!ecore_list_is_empty(files)) { - m->icon = ewl_icon_new(); - ewl_icon_label_set(EWL_ICON(m->icon), argv[i]); - ewl_object_alignment_set(EWL_OBJECT(m->icon), EWL_FLAG_ALIGN_CENTER); - ewl_callback_append(m->icon, EWL_CALLBACK_CLICKED, album_clicked_cb, NULL); - ewl_container_child_append(EWL_CONTAINER(m->albums), m->icon); - ewl_widget_show(m->icon); - } + file = ecore_list_remove_first(files); - return 0; -} + hbox = ewl_hbox_new(); + ewl_object_alignment_set(EWL_OBJECT(hbox), EWL_FLAG_ALIGN_CENTER); + ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL); + ewl_box_spacing_set(EWL_BOX(hbox), 5); + ewl_widget_show(hbox); + + image = ewl_image_new(); + ewl_container_child_append(EWL_CONTAINER(hbox), image); + ewl_widget_show(image); + + text = ewl_text_new(); + ewl_text_text_set(EWL_TEXT(text), file); + ewl_object_fill_policy_set(EWL_OBJECT(text), EWL_FLAG_FILL_ALL); + ewl_object_alignment_set(EWL_OBJECT(text), EWL_FLAG_ALIGN_CENTER); + ewl_container_child_append(EWL_CONTAINER(hbox), text); + ewl_widget_show(text); -int populate_slideshow_cb(void *NotUsed, int argc, char **argv, char **ColName) -{ - int i; + children[0] = hbox; + children[1] = NULL; - for(i = 0; i < argc; i++) - { - m->icon = ewl_icon_new(); - ewl_icon_label_set(EWL_ICON(m->icon), argv[i]); - ewl_object_alignment_set(EWL_OBJECT(m->icon), EWL_FLAG_ALIGN_CENTER); - ewl_callback_append(m->icon, EWL_CALLBACK_CLICKED, slideshow_clicked_cb, NULL); - ewl_container_child_append(EWL_CONTAINER(m->slideshows), m->icon); - ewl_widget_show(m->icon); + row = ewl_tree_row_add(EWL_TREE(m->browser), NULL, children); + ewl_widget_name_set(row, file); } - - return 0; } - ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs