Enlightenment CVS committal
Author : titan
Project : e17
Module : apps/ephoto
Dir : e17/apps/ephoto/src/bin
Modified Files:
ephoto.c ephoto.h ephoto_albums.c ephoto_database.c
ephoto_dialogs.c ephoto_gui.c ephoto_main.c
ephoto_normal_view.c ephoto_single_view.c
Log Message:
Change from Freebox to Freebox_mvc.. update to work with fill policy changes
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- ephoto.c 8 Apr 2008 22:39:00 -0000 1.9
+++ ephoto.c 14 Jun 2008 21:35:01 -0000 1.10
@@ -1,62 +1,15 @@
#include "ephoto.h"
-Ephoto_Config *ec;
Ephoto_Main *em;
int
main(int argc, char **argv)
{
- int i;
-
if (!ewl_init(&argc, argv))
{
- printf("Ewl is not usable, please check your installation!\n");
+ printf("Ewl is not usable, check your installation!\n");
return 1;
}
-
- em = NULL;
- em = calloc(1, sizeof(Ephoto_Main));
-
- em->albums = ecore_list_new();
- em->fsystem = ecore_list_new();
- em->images = ecore_dlist_new();
-
- em->types = ecore_hash_new(ecore_str_hash, ecore_str_compare);
- ecore_hash_set(em->types, "image/gif", "image");
- ecore_hash_set(em->types, "image/jpeg", "image");
- ecore_hash_set(em->types, "image/png", "image");
- ecore_hash_set(em->types, "image/svg+xml", "image");
- ecore_hash_set(em->types, "image/tiff", "image");
-
- ec = NULL;
- ec = calloc(1, sizeof(Ephoto_Config));
-
- for(i = 1; i < argc; i++)
- {
- if (!strcmp(argv[i], "--help"))
- {
- printf( "Help Page\n"
- "ephoto %%f - Opens an image for viewing\n");
- return 0;
- }
- else
- {
- if(strncmp(argv[i], "/", 1))
- {
- char buf[PATH_MAX], file[PATH_MAX];
-
- getcwd(buf, PATH_MAX);
- buf[sizeof(buf)-1] = '\0';
-
- snprintf(file, PATH_MAX, "%s/%s", buf, argv[i]);
- if (ecore_file_exists(file))
- ec->requested_image = file;
- }
- else
- if (ecore_file_exists(argv[i]))
- ec->requested_image = argv[i];
- }
- }
#ifdef ENABLE_NLS
setlocale(LC_MESSAGES, "");
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- ephoto.h 8 Apr 2008 22:39:00 -0000 1.28
+++ ephoto.h 14 Jun 2008 21:35:01 -0000 1.29
@@ -69,7 +69,6 @@
/*ephoto_dialogs.c*/
void about_dialog(Ewl_Widget *w, void *event, void *data);
-void add_album_dialog(Ewl_Widget *w, void *event, void *data);
/*ephoto_exif.c*/
#ifdef BUILD_EXIF_SUPPORT
@@ -108,7 +107,7 @@
void *cb,
void *data);
Ewl_Widget *add_text(Ewl_Widget *c, char *text);
-Ewl_Widget *add_window(char *name, int w, int h, void *cb,
+Ewl_Widget *add_window(char *title, int w, int h, void *cb,
void *data);
/*ephoto_imaging.c*/
@@ -170,6 +169,7 @@
Ewl_Widget *fbox;
Ewl_Widget *ftree;
Ewl_Widget *fthumb_size;
+ Ewl_Widget *scroll;
Ewl_Widget *simage;
Ewl_Widget *single_vbox;
Ewl_Widget *view;
@@ -178,16 +178,6 @@
sqlite3 *db;
};
-typedef struct _Ephoto_Config Ephoto_Config;
-
-struct _Ephoto_Config
-{
- char *requested_album;
- char *requested_directory;
- char *requested_image;
-};
-
extern Ephoto_Main *em;
-extern Ephoto_Config *ec;
#endif
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto_albums.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- ephoto_albums.c 23 Apr 2008 21:28:10 -0000 1.6
+++ ephoto_albums.c 14 Jun 2008 21:35:01 -0000 1.7
@@ -10,7 +10,6 @@
static unsigned int album_data_count(void *data);
static void add_rc_menu(Ewl_Widget *w, void *event, void *data);
static void album_clicked(Ewl_Widget *w, void *event, void *data);
-static void thumb_clicked(Ewl_Widget *w, void *event, void *data);
static void populate_images(Ewl_Widget *w, void *event, void *data);
void
@@ -45,13 +44,14 @@
ewl_view_header_fetch_set(view, album_header_fetch);
tree = ewl_tree_new();
- ewl_tree_headers_visible_set(EWL_TREE(tree), 0);
- ewl_tree_fixed_rows_set(EWL_TREE(tree), 1);
+ ewl_tree_headers_visible_set(EWL_TREE(tree), TRUE);
+ ewl_tree_fixed_rows_set(EWL_TREE(tree), TRUE);
ewl_tree_column_count_set(EWL_TREE(tree), 1);
ewl_mvc_model_set(EWL_MVC(tree), model);
ewl_mvc_view_set(EWL_MVC(tree), view);
ewl_mvc_selection_mode_set(EWL_MVC(tree), EWL_SELECTION_MODE_SINGLE);
- ewl_object_fill_policy_set(EWL_OBJECT(tree), EWL_FLAG_FILL_ALL);
+ ewl_object_fill_policy_set(EWL_OBJECT(tree), EWL_FLAG_FILL_FILL);
+ ewl_object_minimum_w_set(EWL_OBJECT(tree), 180);
ewl_container_child_prepend(EWL_CONTAINER(c), tree);
ewl_widget_show(tree);
@@ -142,25 +142,6 @@
rc_remove, w);
}
-static void
-thumb_clicked(Ewl_Widget *w, void *event, void *data)
-{
- const char *file;
- char *point1;
-
- file = ewl_widget_name_get(w);
-
- ecore_dlist_first_goto(em->images);
- while(ecore_dlist_current(em->images))
- {
- point1 = ecore_dlist_current(em->images);
- if (!strcmp(point1, file)) break;
- ecore_dlist_next(em->images);
- }
-
- show_single_view(NULL, NULL, NULL);
-}
-
void
populate_albums(Ewl_Widget *w, void *event, void *data)
{
@@ -197,7 +178,7 @@
static void
populate_images(Ewl_Widget *w, void *event, void *data)
{
- pthread_t thumb_worker, image_worker;
+ pthread_t image_worker;
int ret1;
if (!ecore_list_empty_is(em->images))
@@ -213,43 +194,9 @@
}
pthread_join(image_worker, NULL);
- ret1 = pthread_create(&thumb_worker, NULL, create_athumb, NULL);
- if (ret1)
- {
- printf("ERROR: Couldn't create thread!\n");
- return;
- }
- pthread_join(thumb_worker, NULL);
+ ewl_mvc_data_set(EWL_MVC(em->fbox), em->images);
return;
-}
-
-void *
-create_athumb()
-{
- Ewl_Widget *thumb;
- char *imagef;
-
- while (ecore_dlist_current(em->images))
- {
- imagef = ecore_dlist_current(em->images);
-
- if (imagef)
- {
- thumb = add_image(em->fbox, imagef, 1,
- thumb_clicked, NULL);
- ewl_image_constrain_set(EWL_IMAGE(thumb),
- ewl_range_value_get(EWL_RANGE
- (em->fthumb_size)));
- ewl_object_alignment_set(EWL_OBJECT(thumb),
- EWL_FLAG_ALIGN_CENTER);
- ewl_widget_name_set(thumb, imagef);
- }
- ecore_dlist_next(em->images);
- }
- ewl_widget_configure(em->fbox_vbox);
-
- pthread_exit(NULL);
}
void *
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto_database.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- ephoto_database.c 8 Apr 2008 22:39:00 -0000 1.10
+++ ephoto_database.c 14 Jun 2008 21:35:01 -0000 1.11
@@ -21,7 +21,8 @@
images_list = ecore_dlist_new();
image_ids = ecore_list_new();
- snprintf(path, PATH_MAX, "%s/.ephoto/.ephoto_database", getenv("HOME"));
+ snprintf(path, PATH_MAX, "%s/.ephoto/.ephoto_database",
+ getenv("HOME"));
snprintf(path2, PATH_MAX, "%s/.ephoto", getenv("HOME"));
if (!ecore_file_exists(path))
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto_dialogs.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ephoto_dialogs.c 8 Apr 2008 22:39:00 -0000 1.4
+++ ephoto_dialogs.c 14 Jun 2008 21:35:01 -0000 1.5
@@ -1,8 +1,6 @@
#include "ephoto.h"
static void close_dialog(Ewl_Widget *w, void *event, void *data);
-static void add_ok(Ewl_Widget *w, void *event, void *data);
-Ewl_Widget *name_entry, *desc_entry;
static void
close_dialog(Ewl_Widget *w, void *event, void *data)
@@ -17,13 +15,15 @@
void
about_dialog(Ewl_Widget *w, void *event, void *data)
{
+ char *txt, title[PATH_MAX];
Ewl_Widget *window, *button, *image, *vbox, *sp, *text;
- window = add_window("About Ephoto", 200, 300, NULL, NULL);
+ window = add_window("About Ephoto", 300, 375, NULL, NULL);
+ ewl_window_dialog_set(EWL_WINDOW(window), TRUE);
ewl_callback_append(window, EWL_CALLBACK_DELETE_WINDOW, close_dialog,
window);
- vbox = add_box(window, EWL_ORIENTATION_VERTICAL, 3);
+ vbox = add_box(window, EWL_ORIENTATION_VERTICAL, 0);
ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_ALL);
image = add_image(vbox, PACKAGE_DATA_DIR "/images/photo_lens.png", 0,
@@ -33,20 +33,33 @@
ewl_object_fill_policy_set(EWL_OBJECT(image), EWL_FLAG_FILL_SHRINK);
sp = ewl_scrollpane_new();
- ewl_object_fill_policy_set(EWL_OBJECT(sp), EWL_FLAG_FILL_ALL);
ewl_container_child_append(EWL_CONTAINER(vbox), sp);
ewl_widget_show(sp);
- text = add_text(sp, "Ephoto is an advanced image viewer that allows\n"
- "you to view images using several methods. They\n"
- "include an icon view, a list view, and a single\n"
- "image view. You can also view exif data, view\n"
- "images in a fullscreen mode, and view images in a\n"
- "slideshow. The edit view offers simple and advanced\n"
- "editing options.");
+ snprintf(title, PATH_MAX, "Ephoto - Version %s", VERSION);
+ txt = "Ephoto is a photo management application that "
+ "organizes images and allows viewing and editing of "
+ "them. It includes a standard thumbnail browser "
+ "and a single picture browser that allows for "
+ "editing. Features include viewing exif data, "
+ "viewing slideshows, and exporting your images.";
+ text = ewl_text_new();
ewl_text_wrap_set(EWL_TEXT(text), EWL_TEXT_WRAP_WORD);
- ewl_object_alignment_set(EWL_OBJECT(text), EWL_FLAG_ALIGN_CENTER);
+ ewl_text_font_source_set(EWL_TEXT(text), ewl_theme_path_get(),
+ "ewl/default/bold");
+ ewl_text_font_size_set(EWL_TEXT(text), 20);
+ ewl_text_align_set(EWL_TEXT(text), EWL_FLAG_ALIGN_CENTER);
+ ewl_text_styles_set(EWL_TEXT(text), EWL_TEXT_STYLE_SOFT_SHADOW);
+ ewl_text_text_append(EWL_TEXT(text), title);
+ ewl_text_align_set(EWL_TEXT(text), EWL_FLAG_ALIGN_LEFT);
+ ewl_text_styles_set(EWL_TEXT(text), EWL_TEXT_STYLE_NONE);
+ ewl_text_font_set(EWL_TEXT(text), NULL);
+ ewl_text_font_size_set(EWL_TEXT(text), 14);
+ ewl_text_text_append(EWL_TEXT(text), "\n\n");
+ ewl_text_text_append(EWL_TEXT(text), txt);
+ ewl_container_child_append(EWL_CONTAINER(sp), text);
+ ewl_widget_show(text);
button = add_button(vbox, "Close",
PACKAGE_DATA_DIR "/images/dialog-close.png",
@@ -57,48 +70,3 @@
return;
}
-static void
-add_ok(Ewl_Widget *w, void *event, void *data)
-{
- Ewl_Widget *win = data;
- char *name, *desc;
-
- name = ewl_text_text_get(EWL_TEXT(name_entry));
- desc = ewl_text_text_get(EWL_TEXT(desc_entry));
-
- if (name)
- {
- ephoto_db_add_album(em->db, name, desc);
- populate_albums(NULL, NULL, NULL);
- }
-
- ewl_widget_destroy(win);
-}
-
-void
-add_album_dialog(Ewl_Widget *w, void *event, void *data)
-{
- Ewl_Widget *window, *vbox, *hbox;
-
- window = add_window("Add Album", 340, 160, NULL, NULL);
- ewl_callback_append(window, EWL_CALLBACK_DELETE_WINDOW, close_dialog,
- window);
-
- vbox = add_box(window, EWL_ORIENTATION_VERTICAL, 5);
- ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_ALL);
-
- add_text(vbox, "Please provide a name for the new album:");
-
- name_entry = add_entry(vbox, "New Album", NULL, NULL);
-
- add_text(vbox, "Please provide a short description for this album:");
-
- desc_entry = add_entry(vbox, "Album Description", NULL, NULL);
-
- hbox = add_box(vbox, EWL_ORIENTATION_HORIZONTAL, 5);
- ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_SHRINK);
-
- add_button(hbox, "Save", NULL, add_ok, window);
-
- add_button(hbox, "Cancel", NULL, close_dialog, window);
-}
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto_gui.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- ephoto_gui.c 10 Apr 2008 20:40:50 -0000 1.13
+++ ephoto_gui.c 14 Jun 2008 21:35:01 -0000 1.14
@@ -170,7 +170,7 @@
Ewl_Widget *text;
text = ewl_text_new();
- if(txt) ewl_text_text_set(EWL_TEXT(text), _(txt));
+ if(txt) ewl_text_text_append(EWL_TEXT(text), _(txt));
ewl_object_alignment_set(EWL_OBJECT(text),
EWL_FLAG_ALIGN_CENTER);
if(c) ewl_container_child_append(EWL_CONTAINER(c), text);
@@ -180,18 +180,17 @@
}
Ewl_Widget *
-add_window(char *name, int w, int h, void *cb, void *data)
+add_window(char *title, int w, int h, void *cb, void *data)
{
Ewl_Widget *win;
win = ewl_window_new();
- if(name)
- {
- ewl_window_title_set(EWL_WINDOW(win), _(name));
- ewl_window_name_set(EWL_WINDOW(win), _(name));
- }
- if(w && h) ewl_object_size_request(EWL_OBJECT(win), w, h);
- if(cb) ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW,
+ if(title)
+ ewl_window_title_set(EWL_WINDOW(win), _(title));
+ if(w && h)
+ ewl_object_size_request(EWL_OBJECT(win), w, h);
+ if(cb)
+ ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW,
cb, data);
ewl_widget_show(win);
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto_main.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -3 -r1.48 -r1.49
--- ephoto_main.c 8 Apr 2008 22:39:00 -0000 1.48
+++ ephoto_main.c 14 Jun 2008 21:35:01 -0000 1.49
@@ -1,5 +1,6 @@
#include "ephoto.h"
+Ephoto_Main *em;
static void destroy(Ewl_Widget *w, void *event, void *data);
static void
@@ -14,13 +15,6 @@
free(em->current_album);
free(em->current_directory);
free(em);
- if (ec->requested_album)
- free(ec->requested_album);
- if (ec->requested_directory)
- free(ec->requested_directory);
- if (ec->requested_image)
- free(ec->requested_image);
- free(ec);
ewl_main_quit();
return;
}
@@ -28,36 +22,43 @@
void
create_main(void)
{
- const char *type;
char buf[PATH_MAX];
- Ewl_Widget *hbox, *vbox;
+ Ewl_Widget *hbox, *mbar, *menu, *vbox;
- if (ec->requested_image)
- {
- type = efreet_mime_type_get(ec->requested_image);
- if ((ecore_hash_get(em->types, type)) != "image")
- ec->requested_image = NULL;
- }
-
- if (ec->requested_album)
- em->current_album = strdup(ec->requested_album);
- else
- em->current_album = strdup("Complete Library");
+ em = NULL;
+ em = calloc(1, sizeof(Ephoto_Main));
+
+ em->albums = ecore_list_new();
+ em->fsystem = ecore_list_new();
+ em->images = ecore_dlist_new();
+
+ em->types = ecore_hash_new(ecore_str_hash, ecore_str_compare);
+ ecore_hash_set(em->types, "image/gif", "image");
+ ecore_hash_set(em->types, "image/jpeg", "image");
+ ecore_hash_set(em->types, "image/png", "image");
+ ecore_hash_set(em->types, "image/svg+xml", "image");
+ ecore_hash_set(em->types, "image/tiff", "image");
+
+ em->current_album = strdup("Complete Library");
em->db = ephoto_db_init();
- if (ec->requested_directory)
- em->current_directory = strdup(ec->requested_directory);
- else
- {
- getcwd(buf, PATH_MAX);
- em->current_directory = strdup(buf);
- }
+ getcwd(buf, PATH_MAX);
+ em->current_directory = strdup(buf);
- em->win = add_window("Ephoto!", 715, 500, destroy, NULL);
+ em->win = add_window("Ephoto - Photo Management", 600, 400, destroy,
NULL);
vbox = add_box(em->win, EWL_ORIENTATION_VERTICAL, 5);
ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_ALL);
+ mbar = add_menubar(vbox);
+
+ menu = add_menu(mbar, "File");
+ add_menu_item(menu, "Exit",
+ PACKAGE_DATA_DIR "/images/exit.png", destroy, NULL);
+ menu = add_menu(mbar, "Help");
+ add_menu_item(menu, "About",
+ PACKAGE_DATA_DIR "/images/help.png", about_dialog,
NULL);
+
hbox = add_box(vbox, EWL_ORIENTATION_HORIZONTAL, 5);
ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_HFILL);
@@ -70,16 +71,8 @@
ewl_container_child_append(EWL_CONTAINER(em->view), em->view_box);
ewl_widget_show(em->view_box);
- if (ec->requested_image)
- {
- add_single_view(em->view_box);
- add_normal_view(em->view_box);
- }
- else
- {
- add_normal_view(em->view_box);
- add_single_view(em->view_box);
- }
+ add_normal_view(em->view_box);
+ add_single_view(em->view_box);
return;
}
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto_normal_view.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- ephoto_normal_view.c 9 Apr 2008 19:47:39 -0000 1.22
+++ ephoto_normal_view.c 14 Jun 2008 21:35:01 -0000 1.23
@@ -1,29 +1,54 @@
#include "ephoto.h"
static void change_size(Ewl_Widget *w, void *event, void *data);
+static void thumb_clicked(Ewl_Widget *w, void *event, void *data);
static void
change_size(Ewl_Widget *w, void *event, void *data)
{
- Ewl_Widget *child;
+ ewl_mvc_dirty_set(EWL_MVC(em->fbox), TRUE);
+ ewl_widget_configure(em->scroll);
- ewl_container_child_iterate_begin(EWL_CONTAINER(em->fbox));
+ return;
+}
+
+static void
+thumb_clicked(Ewl_Widget *w, void *event, void *data)
+{
+ const char *file;
+ Ewl_Event_Mouse_Down *ev;
- while ((child = ewl_container_child_next(EWL_CONTAINER(em->fbox))))
+ ev = event;
+
+ if (ev->clicks == 2)
{
- ewl_image_constrain_set(EWL_IMAGE(child),
- ewl_range_value_get(EWL_RANGE(em->fthumb_size)));
- ewl_widget_reparent(child);
+ file = ewl_widget_name_get(w);
+ show_single_view(NULL, NULL, NULL);
}
- ewl_widget_configure(em->fbox_vbox);
+}
- return;
+static Ewl_Widget *
+fbox_widget_fetch(void *data, unsigned int row, unsigned int column)
+{
+ char *imagef;
+ Ewl_Widget *image;
+
+ imagef = data;
+
+ image = add_image(NULL, imagef, 1, thumb_clicked, NULL);
+ ewl_image_constrain_set(EWL_IMAGE(image),
+
ewl_range_value_get(EWL_RANGE(em->fthumb_size)));
+ ewl_object_alignment_set(EWL_OBJECT(image), EWL_FLAG_ALIGN_CENTER);
+ ewl_widget_name_set(image, imagef);
+
+ return image;
}
Ewl_Widget *
add_normal_view(Ewl_Widget *c)
{
- Ewl_Widget *avbox, *box, *button, *hbox, *image, *sp, *vbox;
+ Ewl_Widget *avbox, *box, *button, *hbox, *image, *vbox;
+ Ewl_View *view;
em->fbox_vbox = add_box(c, EWL_ORIENTATION_VERTICAL, 5);
ewl_object_fill_policy_set(EWL_OBJECT(em->fbox_vbox),
@@ -31,38 +56,43 @@
ewl_notebook_page_tab_text_set(EWL_NOTEBOOK(c), em->fbox_vbox,
"Normal");
- hbox = ewl_hbox_new();
+ hbox = add_box(em->fbox_vbox, EWL_ORIENTATION_HORIZONTAL, 5);
ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
- ewl_container_child_append(EWL_CONTAINER(em->fbox_vbox), hbox);
- ewl_widget_show(hbox);
avbox = add_box(hbox, EWL_ORIENTATION_VERTICAL, 2);
ewl_object_fill_policy_set(EWL_OBJECT(avbox), EWL_FLAG_FILL_VFILL);
+ ewl_object_minimum_w_set(EWL_OBJECT(avbox), 220);
box = add_box(avbox, EWL_ORIENTATION_HORIZONTAL, 2);
ewl_object_fill_policy_set(EWL_OBJECT(box), EWL_FLAG_FILL_SHRINK);
button = add_button(box, "Import", PACKAGE_DATA_DIR "/images/add.png",
ephoto_import_dialog, NULL);
- ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_SHRINK);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
- button = add_button(box, "Export", PACKAGE_DATA_DIR
"/images/emblem-photos.png", NULL, NULL);
- ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_SHRINK);
+ button = add_button(box, "Export",
+ PACKAGE_DATA_DIR "/images/emblem-photos.png", NULL,
NULL);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
vbox = add_box(hbox, EWL_ORIENTATION_VERTICAL, 2);
- sp = ewl_scrollpane_new();
- ewl_object_fill_policy_set(EWL_OBJECT(sp), EWL_FLAG_FILL_ALL);
- ewl_container_child_append(EWL_CONTAINER(vbox), sp);
- ewl_widget_show(sp);
-
- em->fbox = ewl_hfreebox_new();
- ewl_freebox_layout_type_set(EWL_FREEBOX(em->fbox),
- EWL_FREEBOX_LAYOUT_AUTO);
+ em->scroll = ewl_scrollpane_new();
+ ewl_container_child_append(EWL_CONTAINER(vbox), em->scroll);
+ ewl_widget_show(em->scroll);
+
+ view = ewl_view_new();
+ ewl_view_widget_fetch_set(view, fbox_widget_fetch);
+
+ em->fbox = ewl_hfreebox_mvc_new();
+ ewl_mvc_model_set(EWL_MVC(em->fbox), ewl_model_ecore_list_instance());
+ ewl_mvc_view_set(EWL_MVC(em->fbox), view);
+ ewl_mvc_selection_mode_set(EWL_MVC(em->fbox),
EWL_SELECTION_MODE_SINGLE);
ewl_object_fill_policy_set(EWL_OBJECT(em->fbox), EWL_FLAG_FILL_ALL);
- ewl_container_child_append(EWL_CONTAINER(sp), em->fbox);
+ ewl_container_child_append(EWL_CONTAINER(em->scroll), em->fbox);
ewl_widget_show(em->fbox);
+ show_albums(avbox);
+
box = add_box(vbox, EWL_ORIENTATION_HORIZONTAL, 10);
ewl_object_fill_policy_set(EWL_OBJECT(box), EWL_FLAG_FILL_SHRINK);
@@ -79,8 +109,6 @@
change_size, NULL);
ewl_object_maximum_size_set(EWL_OBJECT(em->fthumb_size), 160, 40);
ewl_widget_show(em->fthumb_size);
-
- show_albums(avbox);
image = add_image(box, PACKAGE_DATA_DIR "/images/image.png", 0, NULL,
NULL);
ewl_image_constrain_set(EWL_IMAGE(image), 32);
===================================================================
RCS file: /cvs/e/e17/apps/ephoto/src/bin/ephoto_single_view.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- ephoto_single_view.c 23 Apr 2008 21:28:10 -0000 1.14
+++ ephoto_single_view.c 14 Jun 2008 21:35:01 -0000 1.15
@@ -16,19 +16,16 @@
static void image_sepia(Ewl_Widget *w, void *event, void *data);
static void close_channel(Ewl_Widget *w, void *event, void *data);
static void channel_mixer(Ewl_Widget *w, void *event, void *data);
-static void set_requested_image_file(Ewl_Widget *w, void *event, void *data);
static void set_image_file(Ewl_Widget *w, void *event, void *data);
-static void
-set_requested_image_file(Ewl_Widget *w, void *event, void *data)
-{
- ewl_image_file_path_set(EWL_IMAGE(w), ec->requested_image);
-}
-
static void
set_image_file(Ewl_Widget *w, void *event, void *data)
{
- ewl_image_file_path_set(EWL_IMAGE(w), ecore_dlist_current(em->images));
+ Ewl_Selection_Idx *i;
+
+ i = ewl_mvc_selected_get(EWL_MVC(em->fbox));
+
+ ewl_image_file_path_set(EWL_IMAGE(w),
ecore_dlist_index_goto(em->images, i->row));
ewl_object_fill_policy_set(EWL_OBJECT(w), EWL_FLAG_FILL_NONE);
ewl_callback_del(w, EWL_CALLBACK_CONFIGURE, set_image_file);
}
@@ -36,8 +33,7 @@
Ewl_Widget *
add_single_view(Ewl_Widget *c)
{
- Ewl_Widget *vbox, *ibox, *hbox, *image, *bhbox;
- Ewl_Widget *standard, *advanced;
+ Ewl_Widget *ibox, *bhbox;
em->ewin = NULL;
@@ -45,29 +41,9 @@
ewl_object_fill_policy_set(EWL_OBJECT(em->single_vbox),
EWL_FLAG_FILL_ALL);
- hbox = add_box(em->single_vbox, EWL_ORIENTATION_HORIZONTAL, 2);
- ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
-
- standard = add_box(hbox, EWL_ORIENTATION_VERTICAL, 2);
- ewl_object_maximum_w_set(EWL_OBJECT(standard), 30);
- ewl_object_minimum_w_set(EWL_OBJECT(standard), 30);
- ewl_object_fill_policy_set(EWL_OBJECT(standard), EWL_FLAG_FILL_VFILL);
-
- add_standard_edit_tools(standard);
-
- advanced = add_image(standard,
- PACKAGE_DATA_DIR "/images/camera-photo.png",
- 0, show_advanced, NULL);
- ewl_image_size_set(EWL_IMAGE(advanced), 25, 25);
- ewl_object_alignment_set(EWL_OBJECT(advanced), EWL_FLAG_ALIGN_LEFT);
- ewl_object_fill_policy_set(EWL_OBJECT(advanced), EWL_FLAG_FILL_SHRINK);
-
- vbox = add_box(hbox, EWL_ORIENTATION_VERTICAL, 0);
- ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_ALL);
-
ibox = ewl_cell_new();
- ewl_object_fill_policy_set(EWL_OBJECT(ibox), EWL_FLAG_FILL_ALL);
- ewl_container_child_append(EWL_CONTAINER(vbox), ibox);
+ ewl_object_fill_policy_set(EWL_OBJECT(ibox), EWL_FLAG_FILL_SHRINK);
+ ewl_container_child_append(EWL_CONTAINER(em->single_vbox), ibox);
ewl_widget_show(ibox);
em->simage = add_image(ibox, NULL, 0, NULL, NULL);
@@ -75,35 +51,12 @@
EWL_FLAG_ALIGN_CENTER);
ewl_object_fill_policy_set(EWL_OBJECT(em->simage),
EWL_FLAG_FILL_SHRINK);
- if (ec->requested_image)
- ewl_callback_append(em->simage, EWL_CALLBACK_SHOW,
- set_requested_image_file, NULL);
- bhbox = add_box(vbox, EWL_ORIENTATION_HORIZONTAL, 5);
+ bhbox = add_box(em->single_vbox, EWL_ORIENTATION_HORIZONTAL, 5);
ewl_object_alignment_set(EWL_OBJECT(bhbox), EWL_FLAG_ALIGN_CENTER);
ewl_object_fill_policy_set(EWL_OBJECT(bhbox), EWL_FLAG_FILL_SHRINK);
- image = add_image(bhbox,
- PACKAGE_DATA_DIR "/images/media-seek-backward.png", 0,
- previous_image, NULL);
- ewl_image_size_set(EWL_IMAGE(image), 32, 32);
- ewl_attach_tooltip_text_set(image, _("Previous Image"));
-
- image = add_image(bhbox,
- PACKAGE_DATA_DIR "/images/media-seek-forward.png", 0,
- next_image, NULL);
- ewl_image_size_set(EWL_IMAGE(image), 32, 32);
- ewl_attach_tooltip_text_set(image, _("Next Image"));
-
- hbox = add_box(em->single_vbox, EWL_ORIENTATION_HORIZONTAL, 5);
- ewl_object_alignment_set(EWL_OBJECT(hbox), EWL_FLAG_ALIGN_LEFT);
- ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_SHRINK);
-
- image = add_image(hbox, PACKAGE_DATA_DIR "/images/normal_view.png", 0,
- show_normal_view, NULL);
- ewl_image_size_set(EWL_IMAGE(image), 25, 25);
- ewl_attach_tooltip_text_set(image, _("Image Thumbnail View"));
- ewl_object_fill_policy_set(EWL_OBJECT(image), EWL_FLAG_FILL_SHRINK);
+ add_standard_edit_tools(bhbox);
return em->single_vbox;
}
@@ -124,37 +77,79 @@
static void
add_standard_edit_tools(Ewl_Widget *c)
{
- Ewl_Widget *image;
+ Ewl_Widget *button;
- image = add_image(c, PACKAGE_DATA_DIR "/images/in.png", 0, zoom_in,
- NULL);
- ewl_image_size_set(EWL_IMAGE(image), 25, 25);
- ewl_object_alignment_set(EWL_OBJECT(image), EWL_FLAG_ALIGN_LEFT);
-
- image = add_image(c, PACKAGE_DATA_DIR "/images/out.png", 0, zoom_out,
- NULL);
- ewl_image_size_set(EWL_IMAGE(image), 25, 25);
- ewl_object_alignment_set(EWL_OBJECT(image), EWL_FLAG_ALIGN_LEFT);
-
- image = add_image(c, PACKAGE_DATA_DIR "/images/undo.png", 0,
- rotate_image_left, NULL);
- ewl_image_size_set(EWL_IMAGE(image), 25, 25);
- ewl_object_alignment_set(EWL_OBJECT(image), EWL_FLAG_ALIGN_LEFT);
-
- image = add_image(c, PACKAGE_DATA_DIR "/images/redo.png", 0,
- rotate_image_right, NULL);
- ewl_image_size_set(EWL_IMAGE(image), 25, 25);
- ewl_object_alignment_set(EWL_OBJECT(image), EWL_FLAG_ALIGN_LEFT);
-
- image = add_image(c, PACKAGE_DATA_DIR "/images/go-next.png", 0,
- flip_image_horizontal, NULL);
- ewl_image_size_set(EWL_IMAGE(image), 25, 25);
- ewl_object_alignment_set(EWL_OBJECT(image), EWL_FLAG_ALIGN_LEFT);
-
- image = add_image(c, PACKAGE_DATA_DIR "/images/go-down.png", 0,
- flip_image_vertical, NULL);
- ewl_image_size_set(EWL_IMAGE(image), 25, 25);
- ewl_object_alignment_set(EWL_OBJECT(image), EWL_FLAG_ALIGN_LEFT);
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR "/images/in.png",
+ zoom_in, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Zoom In"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
+
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR "/images/out.png",
+ zoom_out, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Zoom Out"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
+
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR "/images/undo.png",
+ rotate_image_left, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Rotate Left"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
+
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR "/images/redo.png",
+ rotate_image_right, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Rotate Right"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
+
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR "/images/go-next.png",
+ flip_image_horizontal, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Flip Horizontally"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
+
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR "/images/go-down.png",
+ flip_image_vertical, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Flip Vertically"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
+
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR "/images/camera-photo.png",
+ show_advanced, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Advanced Tools"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
+
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR
"/images/media-seek-backward.png",
+ previous_image, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Previous Image"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
+
+ button = add_button(c, NULL,
+ PACKAGE_DATA_DIR
"/images/media-seek-forward.png",
+ next_image, NULL);
+ ewl_button_image_size_set(EWL_BUTTON(button), 22, 22);
+ ewl_attach_tooltip_text_set(button, _("Next Image"));
+ ewl_object_alignment_set(EWL_OBJECT(button), EWL_FLAG_ALIGN_LEFT);
+ ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_NONE);
return;
}
@@ -169,49 +164,24 @@
static void
show_advanced(void)
{
- const char *file;
- Epsilon *ep;
- Ewl_Widget *grid, *image;
-
- ep = epsilon_new(ecore_dlist_current(em->images));
- if (!epsilon_exists(ep))
- epsilon_generate(ep);
- file = epsilon_thumb_file_get(ep);
- epsilon_free(ep);
-
- em->ewin = add_window("Ephoto Effects!", 375, 100, destroy, NULL);
-
- grid = ewl_grid_new();
- ewl_grid_dimensions_set(EWL_GRID(grid), 1, 4);
- ewl_object_alignment_set(EWL_OBJECT(grid), EWL_FLAG_ALIGN_CENTER);
- ewl_object_fill_policy_set(EWL_OBJECT(grid), EWL_FLAG_FILL_ALL);
- ewl_container_child_append(EWL_CONTAINER(em->ewin), grid);
- ewl_widget_show(grid);
-
- image = add_icon(grid, "Grayscale", file, 0, image_grayscale,
- em->simage);
- ewl_icon_constrain_set(EWL_ICON(image), 81);
- ewl_callback_append(EWL_ICON(image)->image, EWL_CALLBACK_CONFIGURE,
- image_grayscale,
EWL_ICON(image)->image);
- ewl_grid_child_position_set(EWL_GRID(grid), image, 0, 0, 0, 0);
-
- image = add_icon(grid, "Sepia", file, 0, image_sepia, em->simage);
- ewl_icon_constrain_set(EWL_ICON(image), 81);
- ewl_callback_append(EWL_ICON(image)->image, EWL_CALLBACK_CONFIGURE,
- image_sepia, EWL_ICON(image)->image);
- ewl_grid_child_position_set(EWL_GRID(grid), image, 1, 1, 0, 0);
-
- image = add_icon(grid, "Blur", file, 0, image_blur, em->simage);
- ewl_icon_constrain_set(EWL_ICON(image), 81);
- ewl_callback_append(EWL_ICON(image)->image, EWL_CALLBACK_CONFIGURE,
- image_blur, EWL_ICON(image)->image);
- ewl_grid_child_position_set(EWL_GRID(grid), image, 2, 2, 0, 0);
-
- image = add_icon(grid, "Sharpen", file, 0, image_sharpen, em->simage);
- ewl_icon_constrain_set(EWL_ICON(image), 81);
- ewl_callback_append(EWL_ICON(image)->image, EWL_CALLBACK_CONFIGURE,
- image_sharpen, EWL_ICON(image)->image);
- ewl_grid_child_position_set(EWL_GRID(grid), image, 3, 3, 0, 0);
+ Ewl_Widget *fbox, *button;
+
+ em->ewin = add_window("Ephoto Advanced Image Tools!",
+ 240, 185, destroy, NULL);
+
+ fbox = ewl_hfreebox_new();
+ ewl_object_alignment_set(EWL_OBJECT(fbox), EWL_FLAG_ALIGN_CENTER);
+ ewl_object_fill_policy_set(EWL_OBJECT(fbox), EWL_FLAG_FILL_ALL);
+ ewl_container_child_append(EWL_CONTAINER(em->ewin), fbox);
+ ewl_widget_show(fbox);
+
+ button = add_button(fbox, "Grayscale", NULL, image_grayscale,
em->simage);
+
+ button = add_button(fbox, "Sepia", NULL, image_sepia, em->simage);
+
+ button = add_button(fbox, "Blur", NULL, image_blur, em->simage);
+
+ button = add_button(fbox, "Sharpen", NULL, image_sharpen, em->simage);
return;
}
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs