Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h Makefile.am actions.c backgrounds.c desktops.c dialog.c 
        events.c focus.c fx.c groups.c iclass.h iconify.c menus.c 
        mod-trans.c pager.c session.c settings.c snaps.c sound.c 
        tooltips.c 
Added Files:
        dialog.h 


Log Message:
Functions for common dialog stuf. Split off dialog.h. Cleanups.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.502
retrieving revision 1.503
diff -u -3 -r1.502 -r1.503
--- E.h 27 Oct 2005 23:18:34 -0000      1.502
+++ E.h 29 Oct 2005 08:48:40 -0000      1.503
@@ -65,12 +65,6 @@
 #define ENABLE_TRANSPARENCY 1
 #define ENABLE_THEME_TRANSPARENCY 1
 
-#define ICLASS_ATTR_OPAQUE      0x00   /* No transparency */
-#define ICLASS_ATTR_BG          0x01   /* Background transparency */
-#define ICLASS_ATTR_GLASS       0x02   /* Glass transparency */
-#define ICLASS_ATTR_NO_CLIP     0x04   /* Don't apply clip mask */
-#define ICLASS_ATTR_USE_CM      0x08   /* Use colormodifier */
-
 #ifdef HAS_XINERAMA
 #include <X11/extensions/Xinerama.h>
 #endif
@@ -316,8 +310,6 @@
 struct _textstate;
 
 typedef struct _ewin EWin;
-typedef struct _dialog Dialog;
-typedef struct _ditem DItem;
 typedef struct _group Group;
 typedef struct _background Background;
 typedef struct _ecursor ECursor;
@@ -727,25 +719,6 @@
 }
 Qentry;
 
-/* Dialog items */
-#define DITEM_NONE         0
-#define DITEM_BUTTON       1
-#define DITEM_CHECKBUTTON  2
-#define DITEM_TEXT         3
-#define DITEM_IMAGE        4
-#define DITEM_SEPARATOR    5
-#define DITEM_TABLE        6
-#define DITEM_RADIOBUTTON  7
-#define DITEM_SLIDER       8
-#define DITEM_AREA         9
-
-/* Dialog button icons */
-#define DIALOG_BUTTON_NONE   0
-#define DIALOG_BUTTON_OK     1
-#define DIALOG_BUTTON_CANCEL 2
-#define DIALOG_BUTTON_APPLY  3
-#define DIALOG_BUTTON_CLOSE  4
-
 typedef struct _rectbox
 {
    void               *data;
@@ -869,24 +842,6 @@
                                       int bottom);
 void                BordersSetupFallback(void);
 
-/* cmclass.c */
-#if ENABLE_COLOR_MODIFIERS
-void                CreateCurve(ModCurve * c);
-void                FreeModCurve(ModCurve * c);
-void                FreeCMClass(ColorModifierClass * cm);
-ColorModifierClass *CreateCMClass(char *name, int rnum, unsigned char *rpx,
-                                 unsigned char *rpy, int gnum,
-                                 unsigned char *gpx, unsigned char *gpy,
-                                 int bnum, unsigned char *bpx,
-                                 unsigned char *bpy);
-void                ModifyCMClass(char *name, int rnum, unsigned char *rpx,
-                                 unsigned char *rpy, int gnum,
-                                 unsigned char *gpx, unsigned char *gpy,
-                                 int bnum, unsigned char *bpx,
-                                 unsigned char *bpy);
-int                 ColorModifierConfigLoad(FILE * fs);
-#endif
-
 /* comms.c */
 void                CommsInit(void);
 void                CommsSend(Client * c, const char *s);
@@ -930,89 +885,11 @@
 void                ECsrApply(int which, Window win);
 
 /* dialog.c */
-typedef void        (DialogCallbackFunc) (Dialog * d, int val, void *data);
-typedef void        (DialogItemCallbackFunc) (int val, void *data);
-
-Dialog             *DialogCreate(const char *name);
-void                DialogBindKey(Dialog * d, const char *key,
-                                 DialogCallbackFunc * func, int val);
-void                DialogSetText(Dialog * d, const char *text);
-void                DialogSetTitle(Dialog * d, const char *title);
-void                DialogSetExitFunction(Dialog * d, DialogCallbackFunc * 
func,
-                                         int val);
-void                DialogSetData(Dialog * d, void *data);
-void               *DialogGetData(Dialog * d);
-
-void                DialogRedraw(Dialog * d);
-void                ShowDialog(Dialog * d);
-void                DialogClose(Dialog * d);
-
-void                DialogAddButton(Dialog * d, const char *text,
-                                   DialogCallbackFunc * func, char doclose,
-                                   int image);
-DItem              *DialogInitItem(Dialog * d);
-DItem              *DialogAddItem(DItem * dii, int type);
-DItem              *DialogItem(Dialog * d);
-void                DialogItemSetCallback(DItem * di, DialogCallbackFunc * 
func,
-                                         int val, void *data);
-void                DialogItemSetClass(DItem * di, struct _imageclass *ic,
-                                      struct _textclass *tclass);
-void                DialogItemSetPadding(DItem * di, int left, int right,
-                                        int top, int bottom);
-void                DialogItemSetFill(DItem * di, char fill_h, char fill_v);
-void                DialogItemSetAlign(DItem * di, int align_h, int align_v);
-void                DialogItemSetText(DItem * di, const char *text);
-void                DialogItemCallCallback(Dialog * d, DItem * di);
-void                DialogDrawItems(Dialog * d, DItem * di, int x, int y, int 
w,
-                                   int h);
-void                DialogItemRadioButtonSetEventFunc(DItem * di,
-                                                     DialogItemCallbackFunc *
-                                                     func);
-void                DialogItemCheckButtonSetState(DItem * di, char onoff);
-void                DialogItemCheckButtonSetPtr(DItem * di, char *onoff_ptr);
-void                DialogItemTableSetOptions(DItem * di, int num_columns,
-                                             char border, char homogenous_h,
-                                             char homogenous_v);
-void                DialogItemSeparatorSetOrientation(DItem * di,
-                                                     char horizontal);
-void                DialogItemImageSetFile(DItem * di, const char *image);
-void                DialogFreeItem(DItem * di);
-void                DialogItemSetRowSpan(DItem * di, int row_span);
-void                DialogItemSetColSpan(DItem * di, int col_span);
-void                DialogItemRadioButtonSetFirst(DItem * di, DItem * first);
-void                DialogItemRadioButtonGroupSetValPtr(DItem * di,
-                                                       int *val_ptr);
-void                DialogItemRadioButtonGroupSetVal(DItem * di, int val);
-
-void                DialogItemSliderSetVal(DItem * di, int val);
-void                DialogItemSliderSetBounds(DItem * di, int lower, int 
upper);
-void                DialogItemSliderSetUnits(DItem * di, int units);
-void                DialogItemSliderSetJump(DItem * di, int jump);
-void                DialogItemSliderSetMinLength(DItem * di, int min);
-void                DialogItemSliderSetValPtr(DItem * di, int *val_ptr);
-void                DialogItemSliderSetOrientation(DItem * di, char 
horizontal);
-int                 DialogItemSliderGetVal(DItem * di);
-void                DialogItemSliderGetBounds(DItem * di, int *lower,
-                                             int *upper);
-
-void                DialogItemAreaSetSize(DItem * di, int w, int h);
-void                DialogItemAreaGetSize(DItem * di, int *w, int *h);
-Window              DialogItemAreaGetWindow(DItem * di);
-void                DialogItemAreaSetEventFunc(DItem * di,
-                                              DialogItemCallbackFunc * func);
-
-void                DialogCallbackClose(Dialog * d, int val, void *data);
-
-void                DialogsCheckUpdate(void);
-
 void                DialogOK(const char *title, const char *fmt, ...);
 void                DialogOKstr(const char *title, const char *txt);
 void                DialogAlert(const char *fmt, ...);
 void                DialogAlertOK(const char *fmt, ...);
 
-EWin               *FindEwinByDialog(Dialog * d);
-int                 FindADialog(void);
-
 /* dock.c */
 void                DockIt(EWin * ewin);
 void                DockDestroy(EWin * ewin);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Makefile.am,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -3 -r1.58 -r1.59
--- Makefile.am 27 Oct 2005 23:18:34 -0000      1.58
+++ Makefile.am 29 Oct 2005 08:48:40 -0000      1.59
@@ -34,6 +34,7 @@
        desktops.c              \
        desktops.h              \
        dialog.c                \
+       dialog.h                \
        dock.c                  \
        draw.c                  \
        econfig.c               \
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/actions.c,v
retrieving revision 1.193
retrieving revision 1.194
diff -u -3 -r1.193 -r1.194
--- actions.c   10 Oct 2005 19:40:10 -0000      1.193
+++ actions.c   29 Oct 2005 08:48:40 -0000      1.194
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"
 
 static void
 runApp(const char *exe, const char *params)
@@ -312,7 +313,7 @@
               "Kim Woelders - [EMAIL PROTECTED]"), e_wm_version, e_wm_date);
    DialogItemSetText(di, buf);
 
-   DialogAddButton(d, _("OK"), NULL, 1, DIALOG_BUTTON_OK);
+   DialogAddButton(d, _("OK"), NULL, 1, DLG_BUTTON_OK);
    ShowDialog(d);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/backgrounds.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -3 -r1.47 -r1.48
--- backgrounds.c       27 Oct 2005 23:18:34 -0000      1.47
+++ backgrounds.c       29 Oct 2005 08:48:40 -0000      1.48
@@ -25,6 +25,7 @@
 #include "E.h"
 #include "backgrounds.h"
 #include "desktops.h"
+#include "dialog.h"
 #include "emodule.h"
 #include "hints.h"             /* FIXME - Should not be here */
 #include "iclass.h"
@@ -1778,7 +1779,7 @@
    pmap = ECreatePixmap(win, w, h, VRoot.depth);
    gc = ECreateGC(pmap, 0, NULL);
 
-   ic_button = ImageclassFind("DIALOG_BUTTON", 0);
+   ic_button = ImageclassFind("DLG_BUTTON", 0);
 
    XSetForeground(disp, gc, BlackPixel(disp, VRoot.scr));
    XFillRectangle(disp, pmap, gc, 0, 0, w, h);
@@ -2132,19 +2133,9 @@
    DialogItemTableSetOptions(table, 3, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemSetColSpan(di, 2);
-       DialogItemImageSetFile(di, "pix/bg.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Desktop\n"
-                           "Background Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 3);
-     }
+      DialogAddHeader(d, "pix/bg.png",
+                     _("Enlightenment Desktop\n"
+                       "Background Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetText(di, _("BG Colour\n"));
@@ -2383,15 +2374,7 @@
    DialogItemSetAlign(di, 512, 512);
    BG_DialogSetFileName(bg_filename);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 3);
-
-   DialogAddButton(d, _("OK"), CB_ConfigureBG, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureBG, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureBG, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureBG, -1);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureBG, 0);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureBG);
 
    ShowDialog(d);
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.194
retrieving revision 1.195
diff -u -3 -r1.194 -r1.195
--- desktops.c  27 Oct 2005 23:18:35 -0000      1.194
+++ desktops.c  29 Oct 2005 08:48:40 -0000      1.195
@@ -25,6 +25,7 @@
 #include "backgrounds.h"
 #include "buttons.h"
 #include "desktops.h"
+#include "dialog.h"
 #include "emodule.h"
 #include "eobj.h"
 #include "ewins.h"
@@ -1921,18 +1922,9 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/desktops.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Multiple Desktop\n"
-                           "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/desktops.png",
+                     _("Enlightenment Multiple Desktop\n"
+                       "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetColSpan(di, 2);
@@ -2023,16 +2015,10 @@
    DialogItemRadioButtonGroupSetVal(di, 1);
    DialogItemRadioButtonGroupSetValPtr(radio, &tmp_dragdir);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureDesktops);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureDesktops, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureDesktops, 0, 
DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureDesktops, 1, 
DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureDesktops, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureDesktops, 0);
    ShowDialog(d);
+
    DialogItemSetCallback(slider, CB_DesktopDisplayRedraw, 0, (void *)area);
    CB_DesktopDisplayRedraw(d, 1, area);
 }
@@ -2155,20 +2141,8 @@
    DialogItemTableSetOptions(table, 1, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       table2 = DialogAddItem(table, DITEM_TABLE);
-       DialogItemTableSetOptions(table2, 2, 0, 0, 0);
-
-       di = DialogAddItem(table2, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/areas.png");
-
-       di = DialogAddItem(table2, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Virtual Desktop\n"
-                           "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-     }
+      DialogAddHeader(d, "pix/areas.png",
+                     _("Enlightenment Virtual Desktop\n" "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetText(di, _("Virtual Desktop size:\n"));
@@ -2228,15 +2202,10 @@
    DialogItemSliderSetJump(di, 10);
    DialogItemSliderSetValPtr(di, &tmp_edge_resist);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureAreas);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureAreas, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureAreas, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureAreas, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureAreas, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureAreas, 0);
    ShowDialog(d);
+
    CB_AreaDisplayRedraw(d, 1, area);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/dialog.c,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -3 -r1.133 -r1.134
--- dialog.c    27 Oct 2005 23:18:35 -0000      1.133
+++ dialog.c    29 Oct 2005 08:48:40 -0000      1.134
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"
 #include "ewins.h"
 #include "hints.h"
 #include "iclass.h"
@@ -411,16 +412,16 @@
      {
        switch (db->image)
          {
-         case DIALOG_BUTTON_OK:
+         case DLG_BUTTON_OK:
             im = ELoadImage("pix/ok.png");
             break;
-         case DIALOG_BUTTON_CANCEL:
+         case DLG_BUTTON_CANCEL:
             im = ELoadImage("pix/cancel.png");
             break;
-         case DIALOG_BUTTON_APPLY:
+         case DLG_BUTTON_APPLY:
             im = ELoadImage("pix/apply.png");
             break;
-         case DIALOG_BUTTON_CLOSE:
+         case DLG_BUTTON_CLOSE:
             im = ELoadImage("pix/close.png");
             break;
          default:
@@ -801,6 +802,51 @@
 }
 
 void
+DialogAddHeader(Dialog * d, const char *img, const char *txt)
+{
+   DItem              *table, *di;
+
+   /* FIXME - Center table horizontally */
+   table = DialogAddItem(d->item, DITEM_TABLE);
+   DialogItemSetColSpan(table, d->item->item.table.num_columns);
+   DialogItemTableSetOptions(table, 2, 0, 0, 0);
+
+   di = DialogAddItem(table, DITEM_IMAGE);
+   DialogItemImageSetFile(di, img);
+
+   di = DialogAddItem(table, DITEM_TEXT);
+   DialogItemSetText(di, txt);
+
+   di = DialogAddItem(d->item, DITEM_SEPARATOR);
+   DialogItemSetColSpan(di, d->item->item.table.num_columns);
+}
+
+void
+DialogAddFooter(Dialog * d, int flags, DialogCallbackFunc * cb)
+{
+   DItem              *di;
+
+   di = DialogAddItem(d->item, DITEM_SEPARATOR);
+   DialogItemSetColSpan(di, d->item->item.table.num_columns);
+
+   if (flags & 4)
+     {
+       DialogAddButton(d, _("OK"), cb, 1, DLG_BUTTON_OK);
+     }
+   if (flags & 2)
+     {
+       DialogAddButton(d, _("Apply"), cb, 0, DLG_BUTTON_APPLY);
+       DialogBindKey(d, "Return", cb, 0);
+     }
+   if (flags & 1)
+     {
+       DialogAddButton(d, _("Close"), cb, 1, DLG_BUTTON_CLOSE);
+       DialogBindKey(d, "Escape", DialogCallbackClose, 0);
+     }
+   DialogSetExitFunction(d, cb, 2);
+}
+
+void
 DialogItemSetCallback(DItem * di, DialogCallbackFunc * func, int val,
                      void *data)
 {
@@ -2012,7 +2058,7 @@
    DialogSetTitle(d, title);
    DialogSetText(d, txt);
 
-   DialogAddButton(d, _("OK"), NULL, 1, DIALOG_BUTTON_OK);
+   DialogAddButton(d, _("OK"), NULL, 1, DLG_BUTTON_OK);
    ShowDialog(d);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/events.c,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -3 -r1.104 -r1.105
--- events.c    23 Oct 2005 15:02:51 -0000      1.104
+++ events.c    29 Oct 2005 08:48:40 -0000      1.105
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"            /* FIXME - Should not be here */
 #include "emodule.h"
 #include "xwin.h"
 #include <sys/time.h>
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/focus.c,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -3 -r1.127 -r1.128
--- focus.c     27 Oct 2005 23:18:35 -0000      1.127
+++ focus.c     29 Oct 2005 08:48:40 -0000      1.128
@@ -23,6 +23,7 @@
  */
 #include "E.h"
 #include "desktops.h"          /* FIXME - Should not be here */
+#include "dialog.h"
 #include "emodule.h"
 #include "ewins.h"
 #include "hints.h"
@@ -702,16 +703,8 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/focus.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di, _("Enlightenment Focus\n" "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/focus.png",
+                     _("Enlightenment Focus\n" "Settings Dialog\n"));
 
    radio = di = DialogAddItem(table, DITEM_RADIOBUTTON);
    DialogItemSetColSpan(di, 2);
@@ -843,15 +836,8 @@
    DialogItemRadioButtonGroupSetVal(di, 0);
    DialogItemRadioButtonGroupSetValPtr(radio2, &tmp_warp_icon_mode);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureFocus);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureFocus, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureFocus, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureFocus, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureFocus, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureFocus, 0);
    ShowDialog(d);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/fx.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -3 -r1.55 -r1.56
--- fx.c        10 Oct 2005 19:40:11 -0000      1.55
+++ fx.c        29 Oct 2005 08:48:40 -0000      1.56
@@ -22,6 +22,7 @@
  */
 #include "E.h"
 #include "desktops.h"
+#include "dialog.h"
 #include "emodule.h"
 #include "xwin.h"
 #include <math.h>
@@ -985,17 +986,8 @@
    DialogItemTableSetOptions(table, 1, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/fx.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Special Effects\n"
-                           "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-     }
+      DialogAddHeader(d, "pix/fx.png",
+                     _("Enlightenment Special Effects\n" "Settings Dialog\n"));
 
    /* Effects */
    di = DialogAddItem(table, DITEM_TEXT);
@@ -1013,14 +1005,7 @@
    DialogItemSetText(di, _("Waves"));
    DialogItemCheckButtonSetPtr(di, &tmp_effect_waves);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-
-   DialogAddButton(d, _("OK"), CB_ConfigureFX, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureFX, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureFX, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureFX, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureFX, 0);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureFX);
 
    ShowDialog(d);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/groups.c,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -3 -r1.70 -r1.71
--- groups.c    10 Oct 2005 19:40:11 -0000      1.70
+++ groups.c    29 Oct 2005 08:48:40 -0000      1.71
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"
 #include "emodule.h"
 #include "ewins.h"
 #include "snaps.h"
@@ -496,17 +497,6 @@
 static int          tmp_action;
 
 static void
-ChooseGroupEscape(Dialog * d, int val __UNUSED__, void *data __UNUSED__)
-{
-   if (tmp_groups)
-     {
-       ShowHideWinGroups(tmp_ewin, tmp_groups[tmp_index], SET_OFF);
-       Efree(tmp_groups);
-     }
-   DialogClose(d);
-}
-
-static void
 ChooseGroup(Dialog * d __UNUSED__, int val, void *data __UNUSED__)
 {
    if (((val == 0) || (val == 2)) && tmp_groups)
@@ -608,18 +598,8 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/group.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Window Group\n"
-                           "Selection Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/group.png",
+                     _("Enlightenment Window Group\n" "Selection Dialog\n"));
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetColSpan(di, 2);
@@ -644,14 +624,7 @@
      }
    DialogItemRadioButtonGroupSetValPtr(radio, &tmp_group_index);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
-
-   DialogAddButton(d, _("OK"), ChooseGroup, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Close"), ChooseGroup, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, ChooseGroup, 2);
-   DialogBindKey(d, "Escape", ChooseGroupEscape, 0);
-   DialogBindKey(d, "Return", ChooseGroup, 0);
+   DialogAddFooter(d, DLG_OC, ChooseGroup);
 
    for (i = 0; i < num_groups; i++)
       Efree(group_member_strings[i]);
@@ -677,18 +650,6 @@
 static DItem       *di_mirror;
 
 static void
-CB_ConfigureGroupEscape(Dialog * d, int val __UNUSED__, void *data __UNUSED__)
-{
-   if (tmp_cfgs)
-     {
-       ShowHideWinGroups(tmp_ewin, tmp_groups[tmp_current_group], SET_OFF);
-       Efree(tmp_cfgs);
-       tmp_cfgs = NULL;
-     }
-   DialogClose(d);
-}
-
-static void
 CB_ConfigureGroup(Dialog * d __UNUSED__, int val, void *data __UNUSED__)
 {
    int                 i;
@@ -801,18 +762,8 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/group.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Window Group\n"
-                           "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/group.png",
+                     _("Enlightenment Window Group\n" "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetColSpan(di, 2);
@@ -911,15 +862,7 @@
    DialogItemCheckButtonSetState(di, tmp_cfgs[0].mirror);
    DialogItemCheckButtonSetPtr(di, &(tmp_cfg.mirror));
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
-
-   DialogAddButton(d, _("OK"), CB_ConfigureGroup, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureGroup, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureGroup, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureGroup, 2);
-   DialogBindKey(d, "Escape", CB_ConfigureGroupEscape, 0);
-   DialogBindKey(d, "Return", CB_ConfigureGroup, 0);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureGroup);
 
    for (i = 0; i < ewin->num_groups; i++)
       Efree(group_member_strings[i]);
@@ -967,18 +910,9 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/group.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Default\n"
-                           "Group Control Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/group.png",
+                     _("Enlightenment Default\n"
+                       "Group Control Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetColSpan(di, 2);
@@ -1041,18 +975,8 @@
    DialogItemSetText(di, _("Swap Window Locations"));
    DialogItemCheckButtonSetPtr(di, &(tmp_group_swap));
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureDefaultGroupSettings);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureDefaultGroupSettings, 1,
-                  DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureDefaultGroupSettings, 0,
-                  DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureDefaultGroupSettings, 1,
-                  DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureDefaultGroupSettings, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureDefaultGroupSettings, 0);
    ShowDialog(d);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/iclass.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- iclass.h    16 Oct 2005 13:59:52 -0000      1.3
+++ iclass.h    29 Oct 2005 08:48:40 -0000      1.4
@@ -47,6 +47,30 @@
 #define ST_WARPLIST    10
 #define ST_BUTTON      11
 
+#define ICLASS_ATTR_OPAQUE      0x00   /* No transparency */
+#define ICLASS_ATTR_BG          0x01   /* Background transparency */
+#define ICLASS_ATTR_GLASS       0x02   /* Glass transparency */
+#define ICLASS_ATTR_NO_CLIP     0x04   /* Don't apply clip mask */
+#define ICLASS_ATTR_USE_CM      0x08   /* Use colormodifier */
+
+/* cmclass.c */
+#if ENABLE_COLOR_MODIFIERS
+void                CreateCurve(ModCurve * c);
+void                FreeModCurve(ModCurve * c);
+void                FreeCMClass(ColorModifierClass * cm);
+ColorModifierClass *CreateCMClass(char *name, int rnum, unsigned char *rpx,
+                                 unsigned char *rpy, int gnum,
+                                 unsigned char *gpx, unsigned char *gpy,
+                                 int bnum, unsigned char *bpx,
+                                 unsigned char *bpy);
+void                ModifyCMClass(char *name, int rnum, unsigned char *rpx,
+                                 unsigned char *rpy, int gnum,
+                                 unsigned char *gpx, unsigned char *gpy,
+                                 int bnum, unsigned char *bpx,
+                                 unsigned char *bpy);
+int                 ColorModifierConfigLoad(FILE * fs);
+#endif
+
 /* iclass.c */
 int                 ImageclassConfigLoad(FILE * fs);
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/iconify.c,v
retrieving revision 1.186
retrieving revision 1.187
diff -u -3 -r1.186 -r1.187
--- iconify.c   27 Oct 2005 23:18:35 -0000      1.186
+++ iconify.c   29 Oct 2005 08:48:40 -0000      1.187
@@ -23,6 +23,7 @@
  */
 #include "E.h"
 #include "desktops.h"
+#include "dialog.h"
 #include "ecore-e16.h"
 #include "emodule.h"
 #include "eobj.h"
@@ -2220,18 +2221,8 @@
    DialogItemTableSetOptions(table, 1, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       table2 = DialogAddItem(table, DITEM_TABLE);
-       DialogItemTableSetOptions(table2, 2, 0, 0, 0);
-
-       di = DialogAddItem(table2, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/iconbox.png");
-
-       di = DialogAddItem(table2, DITEM_TEXT);
-       DialogItemSetText(di, _("Enlightenment Iconbox\n" "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-     }
+      DialogAddHeader(d, "pix/iconbox.png",
+                     _("Enlightenment Iconbox\n" "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetText(di, _("Transparent background"));
@@ -2395,14 +2386,8 @@
    DialogItemRadioButtonGroupSetVal(di, 3);
    DialogItemRadioButtonGroupSetValPtr(radio3, &tmp_ib_arrows);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureIconbox);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureIconbox, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureIconbox, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureIconbox, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureIconbox, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureIconbox, 0);
    ShowDialog(d);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v
retrieving revision 1.220
retrieving revision 1.221
diff -u -3 -r1.220 -r1.221
--- menus.c     27 Oct 2005 23:18:35 -0000      1.220
+++ menus.c     29 Oct 2005 08:48:40 -0000      1.221
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"
 #include "emodule.h"
 #include "eobj.h"
 #include "ewins.h"
@@ -1999,17 +2000,8 @@
    DialogItemTableSetOptions(table, 3, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/place.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetColSpan(di, 2);
-       DialogItemSetText(di, _("Enlightenment Menu\n" "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 3);
-     }
+      DialogAddHeader(d, "pix/place.png",
+                     _("Enlightenment Menu\n" "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetColSpan(di, 3);
@@ -2026,15 +2018,7 @@
    DialogItemSetText(di, _("Warp pointer after moving menus"));
    DialogItemCheckButtonSetPtr(di, &tmp_warpmenus);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 3);
-
-   DialogAddButton(d, _("OK"), CB_ConfigureMenus, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureMenus, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureMenus, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureMenus, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureMenus, 0);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureMenus);
 
    ShowDialog(d);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/mod-trans.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- mod-trans.c 10 Oct 2005 19:40:11 -0000      1.11
+++ mod-trans.c 29 Oct 2005 08:48:40 -0000      1.12
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"
 #include "emodule.h"
 #include "iclass.h"
 
@@ -140,16 +141,9 @@
    DialogItemTableSetOptions(table, 7, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetColSpan(di, 7);
-       DialogItemSetText(di,
-                         _("Enlightenment Selective Transparency\n"
-                           "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 7);
-     }
+      DialogAddHeader(d, "pix/tips.png",
+                     _("Enlightenment Selective Transparency\n"
+                       "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetColSpan(di, 7);
@@ -288,15 +282,7 @@
    DialogItemSliderSetValPtr(di, &tmp_theme_transparency);
    DialogItemSetCallback(di, CB_ThemeTransparency, 0, (void *)label);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 7);
-
-   DialogAddButton(d, _("OK"), CB_ConfigureTrans, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureTrans, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureTrans, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureTrans, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureTrans, 0);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureTrans);
 
    ShowDialog(d);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/pager.c,v
retrieving revision 1.182
retrieving revision 1.183
diff -u -3 -r1.182 -r1.183
--- pager.c     27 Oct 2005 23:18:35 -0000      1.182
+++ pager.c     29 Oct 2005 08:48:40 -0000      1.183
@@ -24,6 +24,7 @@
 #include "E.h"
 #include "backgrounds.h"
 #include "desktops.h"
+#include "dialog.h"
 #include "emodule.h"
 #include "ewins.h"
 #include "hints.h"
@@ -1754,18 +1755,9 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/pager.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Desktop & Area\n"
-                           "Pager Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/pager.png",
+                     _("Enlightenment Desktop & Area\n"
+                       "Pager Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetColSpan(di, 2);
@@ -1889,15 +1881,8 @@
    DialogItemRadioButtonGroupSetVal(di, 3);
    DialogItemRadioButtonGroupSetValPtr(radio, &tmp_pager_menu_button);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigurePager);
 
-   DialogAddButton(d, _("OK"), CB_ConfigurePager, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigurePager, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigurePager, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigurePager, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigurePager, 0);
    ShowDialog(d);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/session.c,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -3 -r1.107 -r1.108
--- session.c   27 Oct 2005 23:28:17 -0000      1.107
+++ session.c   29 Oct 2005 08:48:40 -0000      1.108
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"
 #include "ecore-e16.h"
 #include "emodule.h"
 #include "ewins.h"
@@ -969,13 +970,12 @@
        if (Conf.session.enable_reboot_halt)
          {
             DialogAddButton(d, _("  Yes, Shut Down  "), LogoutCB, 1,
-                            DIALOG_BUTTON_OK);
+                            DLG_BUTTON_OK);
             DialogAddButton(d, _("  Yes, Reboot  "), LogoutCB, 1,
-                            DIALOG_BUTTON_OK);
+                            DLG_BUTTON_OK);
          }
-       DialogAddButton(d, _("  Yes, Log Out  "), LogoutCB, 1,
-                       DIALOG_BUTTON_OK);
-       DialogAddButton(d, _("  No  "), NULL, 1, DIALOG_BUTTON_CANCEL);
+       DialogAddButton(d, _("  Yes, Log Out  "), LogoutCB, 1, DLG_BUTTON_OK);
+       DialogAddButton(d, _("  No  "), NULL, 1, DLG_BUTTON_CANCEL);
        DialogBindKey(d, "Escape", DialogCallbackClose, 1);
        DialogBindKey(d, "Return", LogoutCB, 0);
      }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/settings.c,v
retrieving revision 1.144
retrieving revision 1.145
diff -u -3 -r1.144 -r1.145
--- settings.c  19 Oct 2005 19:32:00 -0000      1.144
+++ settings.c  29 Oct 2005 08:48:40 -0000      1.145
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"
 #include <time.h>
 
 static int          tmp_move;
@@ -76,18 +77,9 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/moveres.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Move & Resize\n"
-                           "Method Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/moveres.png",
+                     _("Enlightenment Move & Resize\n"
+                       "Method Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetFill(di, 0, 0);
@@ -194,17 +186,8 @@
    DialogItemSetText(di, _("Update window while moving"));
    DialogItemCheckButtonSetPtr(di, &tmp_update_while_moving);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureMoveResize);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureMoveResize, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureMoveResize, 0,
-                  DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureMoveResize, 1,
-                  DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureMoveResize, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureMoveResize, 0);
    ShowDialog(d);
 }
 
@@ -300,18 +283,9 @@
    DialogItemTableSetOptions(table, 2, 0, 1, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/place.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Window Placement\n"
-                           "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/place.png",
+                     _("Enlightenment Window Placement\n"
+                       "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetColSpan(di, 2);
@@ -442,17 +416,8 @@
      }
 #endif
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigurePlacement);
 
-   DialogAddButton(d, _("OK"), CB_ConfigurePlacement, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigurePlacement, 0,
-                  DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigurePlacement, 1,
-                  DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigurePlacement, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigurePlacement, 0);
    ShowDialog(d);
 }
 
@@ -495,18 +460,9 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/raise.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Automatic Raising\n"
-                           "of Windows Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/raise.png",
+                     _("Enlightenment Automatic Raising\n"
+                       "of Windows Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetColSpan(di, 2);
@@ -524,17 +480,8 @@
    DialogItemSliderSetJump(di, 25);
    DialogItemSliderSetValPtr(di, &tmp_autoraisetime);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureAutoraise);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureAutoraise, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureAutoraise, 0,
-                  DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureAutoraise, 1,
-                  DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureAutoraise, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureAutoraise, 0);
    ShowDialog(d);
 }
 
@@ -589,18 +536,8 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/miscellaneous.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di,
-                         _("Enlightenment Miscellaneous\n"
-                           "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/miscellaneous.png",
+                     _("Enlightenment Miscellaneous\n" "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetColSpan(di, 2);
@@ -638,17 +575,8 @@
    DialogItemSetText(di, _("Use saveunders to reduce window exposures"));
    DialogItemCheckButtonSetPtr(di, &tmp_saveunders);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureMiscellaneous);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureMiscellaneous, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureMiscellaneous, 0,
-                  DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureMiscellaneous, 1,
-                  DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureMiscellaneous, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureMiscellaneous, 0);
    ShowDialog(d);
 }
 
@@ -700,19 +628,8 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-#if 0
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/tips.png");
-#endif
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetColSpan(di, 2);
-       DialogItemSetText(di,
-                         _("Enlightenment Composite\n" "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/pager.png",
+                     _("Enlightenment Composite\n" "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetColSpan(di, 2);
@@ -760,17 +677,8 @@
    DialogItemSliderSetJump(di, 5);
    DialogItemSliderSetValPtr(di, &Cfg_composite.fade_speed);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureComposite);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureComposite, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureComposite, 0,
-                  DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureComposite, 1,
-                  DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureComposite, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureComposite, 0);
    ShowDialog(d);
 }
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/snaps.c,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -3 -r1.101 -r1.102
--- snaps.c     27 Oct 2005 20:38:12 -0000      1.101
+++ snaps.c     29 Oct 2005 08:48:40 -0000      1.102
@@ -24,6 +24,7 @@
  */
 #include "E.h"
 #include "desktops.h"
+#include "dialog.h"
 #include "ewins.h"
 #include "snaps.h"
 #include "xwin.h"
@@ -655,20 +656,9 @@
    DialogItemTableSetOptions(table, 4, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemSetColSpan(di, 2);
-       DialogItemImageSetFile(di, "pix/snapshots.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetColSpan(di, 2);
-       DialogItemSetText(di,
-                         _("Select the attributes of this\n"
-                           "window you wish to Remember\n" "from now on\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 4);
-     }
+      DialogAddHeader(d, "pix/snapshots.png",
+                     _("Select the attributes of this\n"
+                       "window you wish to Remember\n" "from now on\n"));
 
    sd = Ecalloc(1, sizeof(SnapDlgData));
    DialogSetData(d, sd);
@@ -917,15 +907,7 @@
        DialogItemCheckButtonSetPtr(di, &sd->snap_group);
      }
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 4);
-
-   DialogAddButton(d, _("OK"), CB_ApplySnap, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ApplySnap, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ApplySnap, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ApplySnap, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ApplySnap, 0);
+   DialogAddFooter(d, DLG_OAC, CB_ApplySnap);
 
    ShowDialog(d);
 }
@@ -1011,19 +993,9 @@
    DialogItemTableSetOptions(table, 3, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/snapshots.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetColSpan(di, 2);
-       DialogItemSetText(di,
-                         _("Enlightenment Remembered\n"
-                           "Windows Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 3);
-     }
+      DialogAddHeader(d, "pix/snapshots.png",
+                     _("Enlightenment Remembered\n"
+                       "Windows Settings Dialog\n"));
 
    lst = (Snapshot **) ListItemType(&num, LIST_TYPE_SNAPSHOT);
    rd_ewin_list = Emalloc(sizeof(RememberWinList) * (num + 1));
@@ -1086,14 +1058,7 @@
                          ("There are no active windows with remembered 
attributes."));
      }
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 3);
-
-   DialogAddButton(d, _("OK"), CB_ApplyRemember, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Close"), CB_ApplyRemember, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ApplyRemember, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ApplyRemember, 0);
+   DialogAddFooter(d, DLG_OC, CB_ApplyRemember);
 
    ShowDialog(d);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/sound.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- sound.c     10 Oct 2005 19:40:11 -0000      1.35
+++ sound.c     29 Oct 2005 08:48:40 -0000      1.36
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "dialog.h"
 #include "emodule.h"
 
 #ifdef HAVE_LIBESD
@@ -443,16 +444,9 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/sound.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di, _("Enlightenment Audio\n" "Settings Dialog\n"));
+      DialogAddHeader(d, "pix/sound.png",
+                     _("Enlightenment Audio\n" "Settings Dialog\n"));
 
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
 #ifdef HAVE_LIBESD
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetColSpan(di, 2);
@@ -466,15 +460,8 @@
                       "present at the time of compilation."));
 #endif
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureAudio);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureAudio, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureAudio, 0, DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureAudio, 1, DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureAudio, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureAudio, 0);
    ShowDialog(d);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/tooltips.c,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -3 -r1.88 -r1.89
--- tooltips.c  16 Oct 2005 13:59:52 -0000      1.88
+++ tooltips.c  29 Oct 2005 08:48:40 -0000      1.89
@@ -23,6 +23,7 @@
  */
 #include "E.h"
 #include "conf.h"
+#include "dialog.h"
 #include "emodule.h"
 #include "eobj.h"
 #include "iclass.h"
@@ -851,16 +852,8 @@
    DialogItemTableSetOptions(table, 2, 0, 0, 0);
 
    if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemImageSetFile(di, "pix/tips.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetText(di, _("Enlightenment Tooltip\n" "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-     }
+      DialogAddHeader(d, "pix/tips.png",
+                     _("Enlightenment Tooltip\n" "Settings Dialog\n"));
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetColSpan(di, 2);
@@ -882,15 +875,8 @@
    DialogItemSliderSetJump(di, 25);
    DialogItemSliderSetValPtr(di, &tmp_tooltiptime);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
+   DialogAddFooter(d, DLG_OAC, CB_ConfigureTooltips);
 
-   DialogAddButton(d, _("OK"), CB_ConfigureTooltips, 1, DIALOG_BUTTON_OK);
-   DialogAddButton(d, _("Apply"), CB_ConfigureTooltips, 0, 
DIALOG_BUTTON_APPLY);
-   DialogAddButton(d, _("Close"), CB_ConfigureTooltips, 1, 
DIALOG_BUTTON_CLOSE);
-   DialogSetExitFunction(d, CB_ConfigureTooltips, 2);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0);
-   DialogBindKey(d, "Return", CB_ConfigureTooltips, 0);
    ShowDialog(d);
 }
 




-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to