Enlightenment CVS committal
Author : codewarrior
Project : e17
Module : proto
Dir : e17/proto/exhibit/src/bin
Modified Files:
exhibit.h exhibit_image.c exhibit_main.c exhibit_main.h
exhibit_menus.c exhibit_options.c exhibit_options.h
Log Message:
- AUTHORS++
- patch from balony for options dialog
- x will fit / unfit image
- s will start / stop slideshow
- some cleanups and removal of unused stuff
- TODO updates
===================================================================
RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- exhibit.h 3 Aug 2006 13:12:17 -0000 1.24
+++ exhibit.h 10 Aug 2006 04:01:10 -0000 1.25
@@ -47,6 +47,7 @@
typedef struct _Exhibit Exhibit;
typedef struct _Ex_Options Ex_Options;
+typedef struct _Ex_Options_Dialog Ex_Options_Dialog;
typedef struct _Ex_Tab Ex_Tab;
typedef struct _Ex_Thumb Ex_Thumb;
typedef struct _Ex_Filedialog Ex_Filedialog;
@@ -82,6 +83,16 @@
int last_h;
};
+struct _Ex_Options_Dialog
+{
+ Etk_Widget *dv_btn_1;
+ Etk_Widget *dv_btn_2;
+
+ Etk_Widget *blur_thresh;
+ Etk_Widget *sharpen_thresh;
+ Etk_Widget *brighten_thresh;
+};
+
struct _Ex_Tab
{
char *dir;
@@ -157,6 +168,7 @@
Ex_Tab *cur_tab;
Ex_Options *options;
+ Ex_Options_Dialog *opt_dialog;
Ex_Config_Version *version;
struct {
===================================================================
RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_image.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- exhibit_image.c 3 Aug 2006 13:12:17 -0000 1.28
+++ exhibit_image.c 10 Aug 2006 04:01:10 -0000 1.29
@@ -353,15 +353,18 @@
int x, y, mx, my, mw, mh, mt, xx, yy;
int a, r, g, b;
int *as, *rs, *gs, *bs;
- int rad = 2; /* maybe make this configurable later */
+ int rad = 2;
unsigned int *p1, *p2;
if(im->use_edje)
return;
-
+
etk_image_size_get(im, &w, &h);
data2 = evas_object_image_data_get(im->image_object, ETK_TRUE);
_ex_image_data_copy(im, data2, w, h); /* for undo */
+
+ rad = e->options->blur_thresh;
+ D(("_ex_image_blur: using rad: %d\n", rad));
if (rad < 1)
return;
@@ -454,7 +457,7 @@
int w, h;
int x, y;
int a, r, g, b;
- int rad = 2; /* maybe make this configurable later */
+ int rad = 2;
unsigned int *p1, *p2;
if(im->use_edje)
@@ -465,6 +468,11 @@
_ex_image_data_copy(im, data2, w, h); /* for undo */
data = malloc(w * h * sizeof(unsigned int));
+
+ /* FIXME I cant see any difference with this changed?? -- Balony */
+ rad = e->options->sharpen_thresh;
+ D(("_ex_image_sharpen: using rad: %d\n", rad));
+
if (rad == 0)
return;
else
===================================================================
RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_main.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -3 -r1.60 -r1.61
--- exhibit_main.c 3 Aug 2006 13:12:17 -0000 1.60
+++ exhibit_main.c 10 Aug 2006 04:01:10 -0000 1.61
@@ -10,12 +10,6 @@
Exhibit *e;
Evas_List *event_handlers;
-
-
-static void _ex_main_button_zoom_in_cb(Etk_Object *obj, void *data);
-static void _ex_main_button_zoom_out_cb(Etk_Object *obj, void *data);
-static void _ex_main_button_zoom_one_to_one_cb(Etk_Object *obj, void *data);
-static void _ex_main_button_fit_to_window_cb(Etk_Object *obj, void *data);
static int _ex_main_dtree_compare_cb(Etk_Tree *tree, Etk_Tree_Row *row1,
Etk_Tree_Row *row2, Etk_Tree_Col *col, void *data);
static void _ex_main_goto_dir_clicked_cb(Etk_Object *object, void *data);
static void _ex_main_entry_dir_key_down_cb(Etk_Object *object, void *event,
void *data);
@@ -52,46 +46,6 @@
}
}
-static void
-_ex_main_button_zoom_in_cb(Etk_Object *obj, void *data)
-{
- Exhibit *e;
-
- e = data;
-
- _ex_tab_current_zoom_in(e);
-}
-
-static void
-_ex_main_button_zoom_out_cb(Etk_Object *obj, void *data)
-{
- Exhibit *e;
-
- e = data;
-
- _ex_tab_current_zoom_out(e);
-}
-
-static void
-_ex_main_button_zoom_one_to_one_cb(Etk_Object *obj, void *data)
-{
- Exhibit *e;
-
- e = data;
-
- _ex_tab_current_zoom_one_to_one(e);
-}
-
-static void
-_ex_main_button_fit_to_window_cb(Etk_Object *obj, void *data)
-{
- Exhibit *e;
-
- e = data;
-
- _ex_tab_current_fit_to_window(e);
-}
-
void
_ex_main_image_unset()
{
@@ -149,17 +103,18 @@
else
{
etk_image_set_from_file(ETK_IMAGE(e->cur_tab->image), image);
-
- if (e->cur_tab->fit_window)
- {
- _ex_main_button_fit_to_window_cb(NULL, e);
- e->options->default_view = EX_IMAGE_FIT_TO_WINDOW;
- }
- else
- {
- _ex_main_button_zoom_one_to_one_cb(NULL, e);
- e->options->default_view = EX_IMAGE_ONE_TO_ONE;
- }
+
+ if (e->options->default_view == EX_IMAGE_FIT_TO_WINDOW)
+ {
+ _ex_tab_current_fit_to_window(e);
+ D(("Setting EX_IMAGE_FIT_TO_WINDOW loaded and used\n"));
+
+ }
+ else if (e->options->default_view == EX_IMAGE_ONE_TO_ONE)
+ {
+ _ex_tab_current_zoom_one_to_one(e);
+ D(("Setting EX_IMAGE_ONE_TO_ONE loaded and used\n"));
+ }
}
bytes = ecore_file_size(image);
@@ -456,10 +411,6 @@
{
etk_main_quit();
}
- else if(!strcmp(ev->key, "s"))
- {
- _ex_main_window_slideshow_toggle(e);
- }
else if(!strcmp(ev->key, "d"))
{
Etk_Tree_Row *r;
@@ -472,6 +423,17 @@
_ex_favorites_add(e, icol_string);
}
}
+ else if(!strcmp(ev->key, "x"))
+ {
+ if(!e->cur_tab->fit_window)
+ _ex_tab_current_fit_to_window(e);
+ else
+ _ex_tab_current_zoom_one_to_one(e);
+ }
+ else if(!strcmp(ev->key, "s"))
+ {
+ _ex_main_window_slideshow_toggle(e);
+ }
}
static void
@@ -805,7 +767,7 @@
e->zoom_in[0] = etk_button_new();
e->zoom_in[1] =
etk_image_new_from_edje(PACKAGE_DATA_DIR"/images/images.edj", "zoom_in");
etk_button_image_set(ETK_BUTTON(e->zoom_in[0]), ETK_IMAGE(e->zoom_in[1]));
- etk_signal_connect("clicked", ETK_OBJECT(e->zoom_in[0]),
ETK_CALLBACK(_ex_main_button_zoom_in_cb), e);
+ etk_signal_connect_swapped("clicked", ETK_OBJECT(e->zoom_in[0]),
ETK_CALLBACK(_ex_tab_current_zoom_in), e);
etk_table_attach(ETK_TABLE(e->table), e->zoom_in[0],
0, 0, 1, 1,
0, 0, ETK_FILL_POLICY_NONE);
@@ -813,7 +775,7 @@
e->zoom_out[0] = etk_button_new();
e->zoom_out[1] =
etk_image_new_from_edje(PACKAGE_DATA_DIR"/images/images.edj", "zoom_out");
etk_button_image_set(ETK_BUTTON(e->zoom_out[0]), ETK_IMAGE(e->zoom_out[1]));
- etk_signal_connect("clicked", ETK_OBJECT(e->zoom_out[0]),
ETK_CALLBACK(_ex_main_button_zoom_out_cb), e);
+ etk_signal_connect_swapped("clicked", ETK_OBJECT(e->zoom_out[0]),
ETK_CALLBACK(_ex_tab_current_zoom_out), e);
etk_table_attach(ETK_TABLE(e->table), e->zoom_out[0],
1, 1, 1, 1,
0, 0, ETK_FILL_POLICY_NONE);
@@ -821,7 +783,7 @@
e->fit[0] = etk_button_new();
e->fit[1] = etk_image_new_from_edje(PACKAGE_DATA_DIR"/images/images.edj",
"fit_to_window");
etk_button_image_set(ETK_BUTTON(e->fit[0]), ETK_IMAGE(e->fit[1]));
- etk_signal_connect("clicked", ETK_OBJECT(e->fit[0]),
ETK_CALLBACK(_ex_main_button_fit_to_window_cb), e);
+ etk_signal_connect_swapped("clicked", ETK_OBJECT(e->fit[0]),
ETK_CALLBACK(_ex_tab_current_fit_to_window), e);
etk_table_attach(ETK_TABLE(e->table), e->fit[0],
2, 2, 1, 1,
0, 0, ETK_FILL_POLICY_NONE);
@@ -829,7 +791,7 @@
e->original[0] = etk_button_new();
e->original[1] =
etk_image_new_from_edje(PACKAGE_DATA_DIR"/images/images.edj", "one_to_one");
etk_button_image_set(ETK_BUTTON(e->original[0]), ETK_IMAGE(e->original[1]));
- etk_signal_connect("clicked", ETK_OBJECT(e->original[0]),
ETK_CALLBACK(_ex_main_button_zoom_one_to_one_cb), e);
+ etk_signal_connect_swapped("clicked", ETK_OBJECT(e->original[0]),
ETK_CALLBACK(_ex_tab_current_zoom_one_to_one), e);
etk_table_attach(ETK_TABLE(e->table), e->original[0],
3, 3, 1, 1,
0, 0, ETK_FILL_POLICY_NONE);
@@ -902,8 +864,12 @@
e->statusbar[2] = etk_statusbar_new();
etk_statusbar_has_resize_grip_set(ETK_STATUSBAR(e->statusbar[2]),
ETK_FALSE);
- etk_box_pack_start(ETK_BOX(e->hbox), e->statusbar[2], ETK_TRUE, ETK_TRUE,
0);
- etk_statusbar_push(ETK_STATUSBAR(e->statusbar[2]), "1:1", 0);
+ etk_box_pack_start(ETK_BOX(e->hbox), e->statusbar[2], ETK_TRUE, ETK_TRUE,
0);
+
+ if (e->options->default_view == EX_IMAGE_ONE_TO_ONE)
+ etk_statusbar_push(ETK_STATUSBAR(e->statusbar[2]), "1:1", 0);
+ else if (e->options->default_view == EX_IMAGE_FIT_TO_WINDOW)
+ etk_statusbar_push(ETK_STATUSBAR(e->statusbar[2]), "Fit to window", 0);
e->statusbar[3] = etk_statusbar_new();
etk_box_pack_start(ETK_BOX(e->hbox), e->statusbar[3], ETK_TRUE, ETK_TRUE,
0);
===================================================================
RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_main.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- exhibit_main.h 3 Aug 2006 13:12:17 -0000 1.11
+++ exhibit_main.h 10 Aug 2006 04:01:10 -0000 1.12
@@ -14,6 +14,8 @@
void _ex_main_window_show(char *dir);
void _ex_main_image_unset();
void _ex_main_image_set(Exhibit *e, char *image);
+void _ex_main_button_fit_to_window_cb(Etk_Object *obj, void *data);
+void _ex_main_button_zoom_one_to_one_cb(Etk_Object *obj, void *data);
===================================================================
RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_menus.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- exhibit_menus.c 3 Aug 2006 13:12:17 -0000 1.24
+++ exhibit_menus.c 10 Aug 2006 04:01:10 -0000 1.25
@@ -302,10 +302,16 @@
if (!e->cur_tab->image_loaded)
return;
+
+ e->brightness = e->options->brighten_thresh;
+
+ /* What is this for? FIXME -- Balony */
+ e->brightness += 10;
- e->brightness += 10;
if(e->brightness > 255)
e->brightness = 255;
+
+ D(("Using brightness %d\n", e->brightness));
_ex_image_brightness(ETK_IMAGE(e->cur_tab->image), e->brightness);
}
===================================================================
RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_options.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- exhibit_options.c 2 Aug 2006 19:23:22 -0000 1.6
+++ exhibit_options.c 10 Aug 2006 04:01:10 -0000 1.7
@@ -1,3 +1,6 @@
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
#include "exhibit.h"
#define NEWD(str, typ) \
@@ -21,9 +24,17 @@
#define VER_NEWI(str, it, type)
EET_DATA_DESCRIPTOR_ADD_BASIC(_ex_config_version_edd, Ex_Config_Version, str,
it, type)
+#define IS_SELECTED(w) etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(w))
+
static Eet_Data_Descriptor *_ex_config_options_edd = NULL;
static Eet_Data_Descriptor *_ex_config_version_edd = NULL;
+static void _ex_options_set();
+static void _ex_options_set_cancel_cb(Etk_Object *object, void *data);
+static void _ex_options_set_apply_cb(Etk_Object *object, void *data);
+static void _ex_options_set_ok_cb(Etk_Object *object, void *data);
+static Etk_Bool _ex_options_window_delete_cb(void *data);
+
int
_ex_options_init()
@@ -278,49 +289,265 @@
e->options = eet_data_read(ef, _ex_config_options_edd, "config/options");
D(("Config: Loaded saved options (%s)\n", e->options->fav_path));
+
+ D(("Default view: %d\n", e->options->default_view));
eet_close(ef);
return 1;
}
+static void
+_ex_options_set_cancel_cb(Etk_Object *object, void *data)
+{
+ etk_object_destroy(ETK_OBJECT(object));
+ E_FREE(e->opt_dialog);
+}
+
+static void
+_ex_options_set_apply_cb(Etk_Object *object, void *data)
+{
+ _ex_options_set();
+ _ex_options_save(e);
+}
+
+static void
+_ex_options_set_ok_cb(Etk_Object *object, void *data)
+{
+ _ex_options_set();
+ _ex_options_save(e);
+ etk_object_destroy(ETK_OBJECT(object));
+
+ E_FREE(e->opt_dialog);
+}
+
+static Etk_Bool
+_ex_options_window_delete_cb(void *data)
+{
+ etk_object_destroy(ETK_OBJECT(data));
+ E_FREE(e->opt_dialog);
+ return ETK_TRUE;
+}
+
+static void
+_ex_options_set()
+{
+ Ex_Options_Dialog *dialog = e->opt_dialog;
+ const char *string;
+
+
+ /* STANDARD VIEW */
+ if (IS_SELECTED(dialog->dv_btn_1))
+ {
+ D(("Zoom 1:1 is checked\n"));
+ e->options->default_view = EX_IMAGE_ONE_TO_ONE;
+ _ex_tab_current_zoom_one_to_one(e);
+ }
+ else if (IS_SELECTED(dialog->dv_btn_2))
+ {
+ D(("Fit to window is checked\n"));
+ e->options->default_view = EX_IMAGE_FIT_TO_WINDOW;
+ _ex_tab_current_fit_to_window(e);
+ }
+
+ /* BLUR */
+ string = etk_entry_text_get(ETK_ENTRY(dialog->blur_thresh));
+ if (string)
+ {
+ D(("Setting blur thresh: %f\n", atof(string)));
+ e->options->blur_thresh = atof(string);
+
+ if (e->options->blur_thresh <= 1)
+ _ex_main_dialog_show("One, Zero or negative value for blur tresh " \
+ "is not recommended! ", ETK_MESSAGE_DIALOG_WARNING);
+ }
+ else
+ {
+ _ex_main_dialog_show("Missing value for blur thresh, but still " \
+ "saving the other options!", ETK_MESSAGE_DIALOG_WARNING);
+ }
+
+ /* SHARPEN */
+ string = etk_entry_text_get(ETK_ENTRY(dialog->sharpen_thresh));
+ if (string)
+ {
+ D(("Setting sharpen thresh: %f\n", atof(string)));
+ e->options->sharpen_thresh = atof(string);
+
+ if (e->options->sharpen_thresh <= 0)
+ _ex_main_dialog_show("Zero or negative value for sharpen tresh " \
+ "is not recommended! ", ETK_MESSAGE_DIALOG_WARNING);
+ }
+ else
+ {
+ _ex_main_dialog_show("Missing value for sharpen thresh, but still " \
+ "saving the other options!", ETK_MESSAGE_DIALOG_WARNING);
+ }
+
+ /* BRIGHTEN */
+ string = etk_entry_text_get(ETK_ENTRY(dialog->brighten_thresh));
+ if (string)
+ {
+ D(("Setting brighten thresh: %f\n", atof(string)));
+ e->options->brighten_thresh = atof(string);
+
+ if (e->options->brighten_thresh <= 0)
+ _ex_main_dialog_show("Zero or negative value for brighten tresh " \
+ "is not recommended! ", ETK_MESSAGE_DIALOG_WARNING);
+ else if (e->options->brighten_thresh > 255)
+ _ex_main_dialog_show("Bigger then 255 value for brighten tresh " \
+ "is not recommended! ", ETK_MESSAGE_DIALOG_WARNING);
+ }
+ else
+ {
+ _ex_main_dialog_show("Missing value for brighten thresh, but still " \
+ "saving the other options!", ETK_MESSAGE_DIALOG_WARNING);
+ }
+
+
+}
+
+static Etk_Widget *
+_ex_options_page_1_create()
+{
+ Etk_Widget *vbox;
+ Etk_Widget *vbox2;
+ Etk_Widget *frame;
+ Etk_Widget *table;
+ Etk_Widget *label;
+ char string[256];
+
+ Ex_Options_Dialog *dialog = e->opt_dialog;
+ vbox = etk_vbox_new(ETK_FALSE, 3);
+
+ frame = etk_frame_new("Choose standard view");
+ etk_box_pack_start(ETK_BOX(vbox), frame, ETK_FALSE, ETK_FALSE, 5);
+
+ vbox2 = etk_vbox_new(ETK_FALSE, 0);
+ etk_container_add(ETK_CONTAINER(frame), vbox2);
+
+ dialog->dv_btn_1 = etk_radio_button_new_with_label("Zoom 1:1", NULL);
+ etk_box_pack_start(ETK_BOX(vbox2), dialog->dv_btn_1, ETK_FALSE, ETK_FALSE,
0);
+
+ dialog->dv_btn_2 = etk_radio_button_new_with_label_from_widget("Fit to
window",
+ ETK_RADIO_BUTTON(dialog->dv_btn_1));
+ etk_box_pack_start(ETK_BOX(vbox2), dialog->dv_btn_2, ETK_FALSE, ETK_FALSE,
0);
+
+ frame = etk_frame_new("Effect thresh");
+ etk_box_pack_start(ETK_BOX(vbox), frame, ETK_FALSE, ETK_FALSE, 5);
+ vbox2 = etk_vbox_new(ETK_FALSE, 0);
+ etk_container_add(ETK_CONTAINER(frame), vbox2);
+
+ table = etk_table_new(2, 3, ETK_FALSE);
+ etk_box_pack_start(ETK_BOX(vbox2), table, ETK_FALSE, ETK_FALSE, 0);
+
+ label = etk_label_new("Blur thresh");
+ etk_table_attach(ETK_TABLE(table), label, 0, 0, 0, 0, 0, 0,
+ ETK_FILL_POLICY_NONE);
+ dialog->blur_thresh = etk_entry_new();
+ etk_table_attach(ETK_TABLE(table), dialog->blur_thresh, 1, 1, 0, 0, 0, 0,
+ ETK_FILL_POLICY_NONE);
+
+ label = etk_label_new("Sharpen thresh");
+ etk_table_attach(ETK_TABLE(table), label, 0, 0, 1, 1, 0, 0,
+ ETK_FILL_POLICY_NONE);
+ dialog->sharpen_thresh = etk_entry_new();
+ etk_table_attach(ETK_TABLE(table), dialog->sharpen_thresh, 1, 1, 1, 1, 0,
0,
+ ETK_FILL_POLICY_NONE);
+
+ label = etk_label_new("Brighten thresh");
+ etk_table_attach(ETK_TABLE(table), label, 0, 0, 2, 2, 0, 0,
+ ETK_FILL_POLICY_NONE);
+ dialog->brighten_thresh = etk_entry_new();
+ etk_table_attach(ETK_TABLE(table), dialog->brighten_thresh, 1, 1, 2, 2, 0,
0,
+ ETK_FILL_POLICY_NONE);
+ /*
+ * Start toggling the correct values from loaded options
+ */
+ if (e->options->default_view == EX_IMAGE_ONE_TO_ONE)
+ etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(dialog->dv_btn_1));
+ else if (e->options->default_view == EX_IMAGE_FIT_TO_WINDOW)
+ etk_toggle_button_toggle(ETK_TOGGLE_BUTTON(dialog->dv_btn_2));
+
+ sprintf(string, "%.2f", e->options->blur_thresh);
+ D(("Entry gets texts for blur tresh: %s\n", string));
+ etk_entry_text_set(ETK_ENTRY(dialog->blur_thresh), string);
+
+ sprintf(string, "%.2f", e->options->sharpen_thresh);
+ D(("Entry gets texts for sharpen tresh: %s\n", string));
+ etk_entry_text_set(ETK_ENTRY(dialog->sharpen_thresh), string);
+
+ sprintf(string, "%.2f", e->options->brighten_thresh);
+ D(("Entry gets texts for brighten tresh: %s\n", string));
+ etk_entry_text_set(ETK_ENTRY(dialog->brighten_thresh), string);
+
+ return vbox;
+}
+
+static Etk_Widget *
+_ex_options_page_2_create()
+{
+ Etk_Widget *vbox;
+
+ vbox = etk_vbox_new(ETK_FALSE, 3);
+
+ return vbox;
+}
+
void
_ex_options_window_show(Exhibit *e)
{
Etk_Widget *win;
- Etk_Widget *vbox, *vbox2;
- Etk_Widget *btn, *btn2;
- Etk_Widget *frame;
+ Etk_Widget *vbox;
+ Etk_Widget *hbox;
+ Etk_Widget *notebook;
+ Etk_Widget *page;
+ Etk_Widget *button;
+
+ if(e->opt_dialog)
+ return;
+
+ e->opt_dialog = calloc(1, sizeof(Ex_Options_Dialog));
win = etk_window_new();
etk_window_title_set(ETK_WINDOW(win), "Exhibit options");
- etk_window_resize(ETK_WINDOW(win), 200, 150);
- etk_container_border_width_set(ETK_CONTAINER(win), 10);
+ etk_container_border_width_set(ETK_CONTAINER(win), 5);
etk_signal_connect("delete_event", ETK_OBJECT(win),
ETK_CALLBACK(_ex_options_window_delete_cb), win);
- vbox = etk_vbox_new(ETK_FALSE, 0);
+ vbox = etk_vbox_new(ETK_FALSE, 3);
etk_container_add(ETK_CONTAINER(win), vbox);
- frame = etk_frame_new("Choose standard view");
- etk_box_pack_start(ETK_BOX(vbox), frame, ETK_TRUE, ETK_FALSE, 0);
-
- vbox2 = etk_vbox_new(ETK_FALSE, 0);
- etk_container_add(ETK_CONTAINER(frame), vbox2);
-
- btn = etk_radio_button_new_with_label("Zoom 1:1", NULL);
- etk_box_pack_start(ETK_BOX(vbox2), btn, ETK_TRUE, ETK_FALSE, 0);
+ notebook = etk_notebook_new();
+ etk_box_pack_start(ETK_BOX(vbox), notebook, ETK_TRUE, ETK_TRUE, 0);
- btn2 = etk_radio_button_new_with_label_from_widget("Fit to window",
- ETK_RADIO_BUTTON(btn));
- etk_box_pack_start(ETK_BOX(vbox2), btn2, ETK_TRUE, ETK_FALSE, 0);
-
+ page = _ex_options_page_1_create();
+ etk_notebook_page_append(ETK_NOTEBOOK(notebook), "General", page);
+ page = _ex_options_page_2_create();
+ etk_notebook_page_append(ETK_NOTEBOOK(notebook), "Slideshow", page);
+
+ etk_box_pack_start(ETK_BOX(vbox), etk_hseparator_new(),
+ ETK_FALSE, ETK_FALSE, 5);
+
+ hbox = etk_hbox_new(ETK_FALSE, 3);
+ etk_box_pack_start(ETK_BOX(vbox), hbox, ETK_FALSE, ETK_FALSE, 0);
+
+ button = etk_button_new_from_stock(ETK_STOCK_DIALOG_OK);
+ etk_box_pack_start(ETK_BOX(hbox), button, ETK_FALSE, ETK_FALSE, 0);
+ etk_signal_connect_swapped("clicked", ETK_OBJECT(button),
+ ETK_CALLBACK(_ex_options_set_ok_cb), win);
+
+ button = etk_button_new_from_stock(ETK_STOCK_DOCUMENT_SAVE);
+ etk_button_label_set(ETK_BUTTON(button), "Apply");
+ etk_box_pack_start(ETK_BOX(hbox), button, ETK_FALSE, ETK_FALSE, 0);
+ etk_signal_connect("clicked", ETK_OBJECT(button),
+ ETK_CALLBACK(_ex_options_set_apply_cb), NULL);
+
+ button = etk_button_new_from_stock(ETK_STOCK_DIALOG_CANCEL);
+ etk_box_pack_start(ETK_BOX(hbox), button, ETK_FALSE, ETK_FALSE, 0);
+ etk_signal_connect_swapped("clicked", ETK_OBJECT(button),
+ ETK_CALLBACK(_ex_options_set_cancel_cb), win);
+
etk_widget_show_all(ETK_WIDGET(win));
}
-Etk_Bool
-_ex_options_window_delete_cb(void *data)
-{
- etk_object_destroy(ETK_OBJECT(data));
- return ETK_TRUE;
-}
===================================================================
RCS file: /cvs/e/e17/proto/exhibit/src/bin/exhibit_options.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- exhibit_options.h 29 Jul 2006 19:50:04 -0000 1.3
+++ exhibit_options.h 10 Aug 2006 04:01:10 -0000 1.4
@@ -1,3 +1,6 @@
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
#ifndef _EX_OPTIONS_H
#define _EX_OPTIONS_H
@@ -9,6 +12,5 @@
int _ex_options_save(Exhibit *e);
int _ex_options_load(Exhibit *e);
void _ex_options_window_show(Exhibit *e);
-Etk_Bool _ex_options_window_delete_cb(void *data);
-
+
#endif
-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs