Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        backgrounds.c 


Log Message:
Fix some background dialog issues + tweak layout.

===================================================================
RCS file: /cvs/e/e16/e/src/backgrounds.c,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -3 -r1.96 -r1.97
--- backgrounds.c       25 May 2007 22:40:47 -0000      1.96
+++ backgrounds.c       11 Jul 2007 09:35:01 -0000      1.97
@@ -1534,6 +1534,7 @@
 static int          tmp_bg_timeout;
 
 static void         BG_RedrawView(void);
+static void         BGSettingsGoTo(Background * bg);
 
 static void
 CB_ConfigureBG(Dialog * d __UNUSED__, int val, void *data __UNUSED__)
@@ -1575,7 +1576,8 @@
 
 /* Draw the background preview image */
 static void
-CB_DesktopMiniDisplayRedraw(Dialog * d __UNUSED__, int val, void *data)
+CB_DesktopMiniDisplayRedraw(Dialog * d __UNUSED__, int val __UNUSED__,
+                           void *data)
 {
    Background         *bg;
    Pixmap              pmap;
@@ -1592,24 +1594,21 @@
    win = DialogItemAreaGetWindow(di);
    DialogItemAreaGetSize(di, &w, &h);
 
-   if (val == 1)
-     {
-       pmap = EGetWindowBackgroundPixmap(win);
-       fbg = (tmp_bg_image) ? BackgroundGetBgFile(tmp_bg) : NULL;
-       ffg = (tmp_bg_image) ? BackgroundGetFgFile(tmp_bg) : NULL;
-       ESetColor(&xclr, tmp_bg_r, tmp_bg_g, tmp_bg_b);
-       bg = BackgroundCreate("TEMP", &xclr, fbg, tmp_bg_tile,
-                             tmp_bg_keep_aspect, tmp_bg_xjust,
-                             1024 - tmp_bg_yjust, tmp_bg_xperc,
-                             1024 - tmp_bg_yperc, ffg,
-                             tmp_bg->top.keep_aspect, tmp_bg->top.xjust,
-                             tmp_bg->top.yjust, tmp_bg->top.xperc,
-                             tmp_bg->top.yperc);
-
-       BackgroundApplyPmap(bg, win, pmap, w, h);
-       BackgroundDestroy(bg);
-       EClearWindow(win);
-     }
+   pmap = EGetWindowBackgroundPixmap(win);
+   fbg = (tmp_bg_image) ? BackgroundGetBgFile(tmp_bg) : NULL;
+   ffg = (tmp_bg_image) ? BackgroundGetFgFile(tmp_bg) : NULL;
+   ESetColor(&xclr, tmp_bg_r, tmp_bg_g, tmp_bg_b);
+   bg = BackgroundCreate("TEMP", &xclr, fbg, tmp_bg_tile,
+                        tmp_bg_keep_aspect, tmp_bg_xjust,
+                        1024 - tmp_bg_yjust, tmp_bg_xperc,
+                        1024 - tmp_bg_yperc, ffg,
+                        tmp_bg->top.keep_aspect, tmp_bg->top.xjust,
+                        tmp_bg->top.yjust, tmp_bg->top.xperc,
+                        tmp_bg->top.yperc);
+
+   BackgroundApplyPmap(bg, win, pmap, w, h);
+   BackgroundDestroy(bg);
+   EClearWindow(win);
 }
 
 /* Update tmp vars according to the current tmp_bg */
@@ -1638,7 +1637,8 @@
    Esnprintf(s, sizeof(s),
             _("Background definition information:\nName: %s\nFile: %s\n"),
             BackgroundGetName(tmp_bg), (stmp) ? stmp : _("-NONE-"));
-   _EFREE(stmp);
+   if (stmp)
+      Efree(stmp);
    DialogItemSetText(di, s);
 }
 
@@ -1659,17 +1659,20 @@
    BG_DialogSetFileName(bg_filename);
    DialogDrawItems(bg_sel_dialog, bg_filename, 0, 0, 99999, 99999);
 
-   DialogItemSliderSetVal(tmp_w[0], tmp_bg_r);
-   DialogItemCheckButtonSetState(tmp_w[1], tmp_bg_image);
-   DialogItemSliderSetVal(tmp_w[2], tmp_bg_g);
-   DialogItemCheckButtonSetState(tmp_w[3], tmp_bg_keep_aspect);
-   DialogItemSliderSetVal(tmp_w[4], tmp_bg_b);
-   DialogItemCheckButtonSetState(tmp_w[5], tmp_bg_tile);
+   DialogItemCheckButtonSetState(tmp_w[0], tmp_bg_image);
+   DialogItemCheckButtonSetState(tmp_w[1], tmp_bg_keep_aspect);
+   DialogItemCheckButtonSetState(tmp_w[2], tmp_bg_tile);
+   DialogItemSliderSetVal(tmp_w[3], tmp_bg_r);
+   DialogItemSliderSetVal(tmp_w[4], tmp_bg_g);
+   DialogItemSliderSetVal(tmp_w[5], tmp_bg_b);
    DialogItemSliderSetVal(tmp_w[6], tmp_bg_xjust);
    DialogItemSliderSetVal(tmp_w[7], tmp_bg_yjust);
    DialogItemSliderSetVal(tmp_w[8], tmp_bg_yperc);
    DialogItemSliderSetVal(tmp_w[9], tmp_bg_xperc);
 
+   /* Redraw mini BG display */
+   CB_DesktopMiniDisplayRedraw(NULL, 0, bg_mini_disp);
+
    /* Redraw scrolling BG list */
    BG_RedrawView();
 
@@ -1758,6 +1761,7 @@
                    void *data __UNUSED__)
 {
    ecore_list_prepend(bg_list, ecore_list_remove_node(bg_list, tmp_bg));
+   BGSettingsGoTo(tmp_bg);
    BG_RedrawView();
    autosave();
 }
@@ -1873,16 +1877,31 @@
    switch (ev->type)
      {
      case ButtonPress:
-       num = ecore_list_nodes(bg_list);
-       x = (num * (64 + 8) - w) * tmp_bg_sel_sliderval / (4 * num) +
-          ev->xbutton.x;
-       bg = (Background *) ecore_list_goto_index(bg_list, x / (64 + 8));
-       if (!bg || bg == DeskBackgroundGet(DesksGetCurrent()))
-          break;
-       BgDialogSetNewCurrent(bg);
-       DeskBackgroundSet(DesksGetCurrent(), bg);
-       autosave();
-       break;
+       switch (ev->xbutton.button)
+         {
+         case 1:
+            num = ecore_list_nodes(bg_list);
+            x = (num * (64 + 8) - w) * tmp_bg_sel_sliderval / (4 * num) +
+               ev->xbutton.x;
+            bg = (Background *) ecore_list_goto_index(bg_list, x / (64 + 8));
+            if (!bg || bg == DeskBackgroundGet(DesksGetCurrent()))
+               break;
+            BgDialogSetNewCurrent(bg);
+            DeskBackgroundSet(DesksGetCurrent(), bg);
+            autosave();
+            break;
+         case 4:
+            tmp_bg_sel_sliderval += 4;
+            goto do_slide;
+         case 5:
+            tmp_bg_sel_sliderval -= 4;
+            goto do_slide;
+          do_slide:
+            DialogItemSliderSetVal(bg_sel_slider, tmp_bg_sel_sliderval);
+            CB_BGAreaSlide(NULL, 0, NULL);
+            DialogDrawItems(bg_sel_dialog, bg_sel_slider, 0, 0, 99999, 99999);
+            break;
+         }
      }
 }
 
@@ -1945,8 +1964,10 @@
 }
 
 static int
-BG_SortFileCompare(Background * bg1, Background * bg2)
+BG_SortFileCompare(void *_bg1, void *_bg2)
 {
+   Background         *bg1 = (Background *) _bg1;
+   Background         *bg2 = (Background *) _bg2;
    const char         *name1, *name2;
 
    /* return < 0 is b1 <  b2 */
@@ -1957,13 +1978,11 @@
    name2 = BackgroundGetBgFile(bg2);
    if (name1 && name2)
       return strcmp(name1, name2);
-
-   name1 = BackgroundGetFgFile(bg1);
-   name2 = BackgroundGetFgFile(bg2);
-   if (name1 && name2)
-      return strcmp(name1, name2);
-
-   return 0;
+   if (name1)
+      return 1;
+   if (name2)
+      return -1;
+   return (bg1 < bg2) ? -1 : 1;
 }
 
 static void
@@ -1979,10 +1998,9 @@
    /* remove them all from the list */
    for (i = 0; i < num; i++)
       ecore_list_remove_node(bg_list, bglist[i]);
-   Quicksort((void **)bglist, 0, num - 1,
-            (int (*)(void *d1, void *d2))BG_SortFileCompare);
+   Quicksort((void **)bglist, 0, num - 2, BG_SortFileCompare);
    for (i = 0; i < num; i++)
-      ecore_list_prepend(bg_list, bglist[i]);
+      ecore_list_append(bg_list, bglist[i]);
    Efree(bglist);
 
    BGSettingsGoTo(tmp_bg);
@@ -2033,6 +2051,7 @@
    autosave();
 }
 
+#if 0                          /* Doesn't do anything useful */
 static void
 CB_BGSortContent(Dialog * d __UNUSED__, int val __UNUSED__,
                 void *data __UNUSED__)
@@ -2053,13 +2072,16 @@
 
    autosave();
 }
+#endif
 
+#if 0                          /* Remove? */
 static void
 CB_DesktopMiniDisplayAreaInit(DItem * di, int val __UNUSED__,
                              void *data __UNUSED__)
 {
    CB_DesktopMiniDisplayRedraw(DialogItemGetDialog(di), 1, di);
 }
+#endif
 
 static void
 CB_InitView(DItem * di __UNUSED__, int val __UNUSED__, void *data __UNUSED__)
@@ -2072,9 +2094,8 @@
 _DlgFillBackground(Dialog * d, DItem * table, void *data)
 {
    Background         *bg = (Background *) data;
-   DItem              *di, *table2, *area, *slider, *slider2, *label;
-   DItem              *w1, *w2, *w3, *w4, *w5, *w6;
-   int                 num;
+   DItem              *di, *table2, *table3, *area, *label;
+   int                 i, num;
    char                s[1024];
 
    ScanBackgroundMenu();
@@ -2094,15 +2115,33 @@
 
    bg_sel_dialog = d;
 
-   DialogItemTableSetOptions(table, 3, 0, 0, 0);
+   DialogItemTableSetOptions(table, 1, 0, 0, 0);
 
-   di = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetText(di, _("BG Colour\n"));
+   table2 = DialogAddItem(table, DITEM_TABLE);
+   DialogItemTableSetOptions(table2, 2, 0, 1, 0);
 
-   di = DialogAddItem(table, DITEM_NONE);
+   di = bg_filename = DialogAddItem(table2, DITEM_TEXT);
+   DialogItemSetFill(di, 1, 0);
+   BG_DialogSetFileName(bg_filename);
+
+   table3 = DialogAddItem(table2, DITEM_TABLE);
+
+   di = tmp_w[0] = DialogAddItem(table3, DITEM_CHECKBUTTON);
+   DialogItemSetText(di, _("Use background image"));
+   DialogItemCheckButtonSetPtr(di, &tmp_bg_image);
+
+   di = tmp_w[1] = DialogAddItem(table3, DITEM_CHECKBUTTON);
+   DialogItemSetText(di, _("Keep aspect on scale"));
+   DialogItemCheckButtonSetPtr(di, &tmp_bg_keep_aspect);
+
+   di = tmp_w[2] = DialogAddItem(table3, DITEM_CHECKBUTTON);
+   DialogItemSetText(di, _("Tile image across background"));
+   DialogItemCheckButtonSetPtr(di, &tmp_bg_tile);
 
    table2 = DialogAddItem(table, DITEM_TABLE);
-   DialogItemTableSetOptions(table2, 4, 0, 0, 0);
+   DialogItemTableSetOptions(table2, 4, 0, 1, 0);
+   DialogItemSetFill(table2, 0, 0);
+   DialogItemSetAlign(table2, 512, 0);
 
    di = DialogAddItem(table2, DITEM_BUTTON);
    DialogItemSetText(di, _("Move to Front\n"));
@@ -2116,84 +2155,38 @@
    di = DialogAddItem(table2, DITEM_BUTTON);
    DialogItemSetText(di, _("Unlist\n"));
    DialogItemSetCallback(di, CB_ConfigureDelBG, 0, NULL);
+   DialogBindKey(d, "D", CB_ConfigureDelBG, 0, NULL);
 
    di = DialogAddItem(table2, DITEM_BUTTON);
    DialogItemSetText(di, _("Delete File\n"));
-   DialogItemSetCallback(di, CB_ConfigureDelBG, 0, NULL);
-   DialogBindKey(d, "D", CB_ConfigureDelBG, 0, NULL);
+   DialogItemSetCallback(di, CB_ConfigureDelBG, 1, NULL);
    DialogBindKey(d, "Delete", CB_ConfigureDelBG, 1, NULL);
 
-   di = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetFill(di, 0, 0);
-   DialogItemSetAlign(di, 1024, 512);
-   DialogItemSetText(di, _("Red:\n"));
-
-   di = w1 = tmp_w[0] = DialogAddItem(table, DITEM_SLIDER);
-   DialogItemSliderSetBounds(di, 0, 255);
-   DialogItemSliderSetUnits(di, 1);
-   DialogItemSliderSetJump(di, 16);
-   DialogItemSliderSetValPtr(di, &tmp_bg_r);
-
-   di = w2 = tmp_w[1] = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetText(di, _("Use background image"));
-   DialogItemCheckButtonSetPtr(di, &tmp_bg_image);
-
-   di = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetFill(di, 0, 0);
-   DialogItemSetAlign(di, 1024, 512);
-   DialogItemSetText(di, _("Green:\n"));
-
-   di = w3 = tmp_w[2] = DialogAddItem(table, DITEM_SLIDER);
-   DialogItemSliderSetBounds(di, 0, 255);
-   DialogItemSliderSetUnits(di, 1);
-   DialogItemSliderSetJump(di, 16);
-   DialogItemSliderSetValPtr(di, &tmp_bg_g);
-
-   di = w4 = tmp_w[3] = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetText(di, _("Keep aspect on scale"));
-   DialogItemCheckButtonSetPtr(di, &tmp_bg_keep_aspect);
-
-   di = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetFill(di, 0, 0);
-   DialogItemSetAlign(di, 1024, 512);
-   DialogItemSetText(di, _("Blue:\n"));
-
-   di = w5 = tmp_w[4] = DialogAddItem(table, DITEM_SLIDER);
-   DialogItemSliderSetBounds(di, 0, 255);
-   DialogItemSliderSetUnits(di, 1);
-   DialogItemSliderSetJump(di, 16);
-   DialogItemSliderSetValPtr(di, &tmp_bg_b);
-
-   di = w6 = tmp_w[5] = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetText(di, _("Tile image across background"));
-   DialogItemCheckButtonSetPtr(di, &tmp_bg_tile);
-
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 3);
+   table2 = DialogAddItem(table, DITEM_TABLE);
+   DialogItemTableSetOptions(table2, 3, 0, 1, 0);
 
-   di = DialogAddItem(table, DITEM_TEXT);
+   di = DialogAddItem(table2, DITEM_TEXT);
    DialogItemSetFill(di, 0, 0);
    DialogItemSetAlign(di, 512, 512);
-   DialogItemSetColSpan(di, 2);
    DialogItemSetText(di,
                     _("Background\n" "Image\n" "Scaling\n" "and\n"
                       "Alignment\n"));
 
-   table2 = DialogAddItem(table, DITEM_TABLE);
-   DialogItemTableSetOptions(table2, 3, 0, 0, 0);
+   table3 = DialogAddItem(table2, DITEM_TABLE);
+   DialogItemTableSetOptions(table3, 3, 0, 0, 0);
 
-   di = DialogAddItem(table2, DITEM_NONE);
+   di = DialogAddItem(table3, DITEM_NONE);
 
-   di = slider = tmp_w[6] = DialogAddItem(table2, DITEM_SLIDER);
+   di = tmp_w[6] = DialogAddItem(table3, DITEM_SLIDER);
    DialogItemSliderSetMinLength(di, 10);
    DialogItemSliderSetBounds(di, 0, 1024);
    DialogItemSliderSetUnits(di, 1);
    DialogItemSliderSetJump(di, 64);
    DialogItemSliderSetValPtr(di, &tmp_bg_xjust);
 
-   di = DialogAddItem(table2, DITEM_NONE);
+   di = DialogAddItem(table3, DITEM_NONE);
 
-   di = slider2 = tmp_w[7] = DialogAddItem(table2, DITEM_SLIDER);
+   di = tmp_w[7] = DialogAddItem(table3, DITEM_SLIDER);
    DialogItemSliderSetMinLength(di, 10);
    DialogItemSliderSetOrientation(di, 0);
    DialogItemSetFill(di, 0, 1);
@@ -2202,20 +2195,13 @@
    DialogItemSliderSetJump(di, 64);
    DialogItemSliderSetValPtr(di, &tmp_bg_yjust);
 
-   di = bg_mini_disp = area = DialogAddItem(table2, DITEM_AREA);
+   di = bg_mini_disp = area = DialogAddItem(table3, DITEM_AREA);
    DialogItemAreaSetSize(di, 64, 48);
+#if 0                          /* Remove? */
    DialogItemAreaSetInitFunc(di, CB_DesktopMiniDisplayAreaInit);
+#endif
 
-   DialogItemSetCallback(w1, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
-   DialogItemSetCallback(w2, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
-   DialogItemSetCallback(w3, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
-   DialogItemSetCallback(w4, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
-   DialogItemSetCallback(w5, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
-   DialogItemSetCallback(w6, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
-   DialogItemSetCallback(slider, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
-   DialogItemSetCallback(slider2, CB_DesktopMiniDisplayRedraw, 0, (void 
*)area);
-
-   di = slider = tmp_w[8] = DialogAddItem(table2, DITEM_SLIDER);
+   di = tmp_w[8] = DialogAddItem(table3, DITEM_SLIDER);
    DialogItemSliderSetMinLength(di, 10);
    DialogItemSliderSetOrientation(di, 0);
    DialogItemSetFill(di, 0, 1);
@@ -2223,119 +2209,151 @@
    DialogItemSliderSetUnits(di, 1);
    DialogItemSliderSetJump(di, 64);
    DialogItemSliderSetValPtr(di, &tmp_bg_yperc);
-   DialogItemSetCallback(slider, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
 
-   di = DialogAddItem(table2, DITEM_NONE);
+   di = DialogAddItem(table3, DITEM_NONE);
 
-   di = slider = tmp_w[9] = DialogAddItem(table2, DITEM_SLIDER);
+   di = tmp_w[9] = DialogAddItem(table3, DITEM_SLIDER);
    DialogItemSliderSetMinLength(di, 10);
    DialogItemSliderSetBounds(di, 0, 1024);
    DialogItemSliderSetUnits(di, 1);
    DialogItemSliderSetJump(di, 64);
    DialogItemSliderSetValPtr(di, &tmp_bg_xperc);
-   DialogItemSetCallback(slider, CB_DesktopMiniDisplayRedraw, 0, (void *)area);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 3);
+   table3 = DialogAddItem(table2, DITEM_TABLE);
+   DialogItemTableSetOptions(table3, 2, 0, 0, 0);
 
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
+   di = DialogAddItem(table3, DITEM_TEXT);
    DialogItemSetColSpan(di, 2);
-   DialogItemSetText(di, _("Use dithering in Hi-Colour"));
-   DialogItemCheckButtonSetPtr(di, &tmp_hiq);
+   DialogItemSetFill(di, 0, 0);
+   DialogItemSetAlign(di, 512, 512);
+   DialogItemSetText(di, _("BG Colour\n"));
 
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetText(di, _("Background overrides theme"));
-   DialogItemCheckButtonSetPtr(di, &tmp_userbg);
+   di = DialogAddItem(table3, DITEM_TEXT);
+   DialogItemSetFill(di, 0, 0);
+   DialogItemSetAlign(di, 1024, 512);
+   DialogItemSetText(di, _("Red:\n"));
 
-   di = label = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetColSpan(di, 3);
-   DialogItemSetAlign(di, 512, 512);
-   Esnprintf(s, sizeof(s), _("Unused backgrounds freed after %2i:%02i:%02i"),
-            tmp_bg_timeout / 3600,
-            (tmp_bg_timeout / 60) - (60 * (tmp_bg_timeout / 3600)),
-            (tmp_bg_timeout) - (60 * (tmp_bg_timeout / 60)));
-   DialogItemSetText(di, s);
+   di = tmp_w[3] = DialogAddItem(table3, DITEM_SLIDER);
+   DialogItemSliderSetBounds(di, 0, 255);
+   DialogItemSliderSetUnits(di, 1);
+   DialogItemSliderSetJump(di, 16);
+   DialogItemSliderSetValPtr(di, &tmp_bg_r);
 
-   di = DialogAddItem(table, DITEM_SLIDER);
-   DialogItemSetColSpan(di, 3);
-   DialogItemSliderSetMinLength(di, 10);
-   DialogItemSliderSetBounds(di, 0, 60 * 60 * 4);
-   DialogItemSliderSetUnits(di, 30);
-   DialogItemSliderSetJump(di, 60);
-   DialogItemSliderSetValPtr(di, &tmp_bg_timeout);
-   DialogItemSetCallback(di, CB_DesktopTimeout, 0, (void *)label);
+   di = DialogAddItem(table3, DITEM_TEXT);
+   DialogItemSetFill(di, 0, 0);
+   DialogItemSetAlign(di, 1024, 512);
+   DialogItemSetText(di, _("Green:\n"));
+
+   di = tmp_w[4] = DialogAddItem(table3, DITEM_SLIDER);
+   DialogItemSliderSetBounds(di, 0, 255);
+   DialogItemSliderSetUnits(di, 1);
+   DialogItemSliderSetJump(di, 16);
+   DialogItemSliderSetValPtr(di, &tmp_bg_g);
+
+   di = DialogAddItem(table3, DITEM_TEXT);
+   DialogItemSetFill(di, 0, 0);
+   DialogItemSetAlign(di, 1024, 512);
+   DialogItemSetText(di, _("Blue:\n"));
+
+   di = tmp_w[5] = DialogAddItem(table3, DITEM_SLIDER);
+   DialogItemSliderSetBounds(di, 0, 255);
+   DialogItemSliderSetUnits(di, 1);
+   DialogItemSliderSetJump(di, 16);
+   DialogItemSliderSetValPtr(di, &tmp_bg_b);
+
+   for (i = 0; i < 10; i++)
+      DialogItemSetCallback(tmp_w[i], CB_DesktopMiniDisplayRedraw, 0, area);
 
    di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 3);
 
    table2 = DialogAddItem(table, DITEM_TABLE);
-   DialogItemTableSetOptions(table2, 2, 0, 0, 0);
+   DialogItemTableSetOptions(table2, 3, 0, 0, 0);
 
-   di = DialogAddItem(table2, DITEM_BUTTON);
+   table3 = DialogAddItem(table2, DITEM_TABLE);
+   DialogItemTableSetOptions(table3, 2, 0, 0, 0);
+
+   di = DialogAddItem(table3, DITEM_BUTTON);
    DialogItemSetFill(di, 0, 0);
    DialogItemSetText(di, "<-");
    DialogItemSetCallback(di, CB_BGNext, -1, NULL);
    DialogBindKey(d, "Left", CB_BGNext, -1, NULL);
-   DialogBindKey(d, "BackSpace", CB_BGNext, -1, NULL);
 
-   di = DialogAddItem(table2, DITEM_BUTTON);
+   di = DialogAddItem(table3, DITEM_BUTTON);
    DialogItemSetFill(di, 0, 0);
    DialogItemSetText(di, "->");
    DialogItemSetCallback(di, CB_BGNext, 1, NULL);
    DialogBindKey(d, "Right", CB_BGNext, 1, NULL);
-   DialogBindKey(d, "space", CB_BGNext, 1, NULL);
 
-   di = DialogAddItem(table, DITEM_BUTTON);
+   di = DialogAddItem(table2, DITEM_BUTTON);
    DialogItemSetFill(di, 0, 0);
    DialogItemSetText(di, _("Pre-scan BG's"));
    DialogItemSetCallback(di, CB_BGScan, 0, NULL);
 
-   table2 = DialogAddItem(table, DITEM_TABLE);
-   DialogItemTableSetOptions(table2, 3, 0, 0, 0);
+   table3 = DialogAddItem(table2, DITEM_TABLE);
+   DialogItemTableSetOptions(table3, 3, 0, 0, 0);
 
-   di = DialogAddItem(table2, DITEM_BUTTON);
+   di = DialogAddItem(table3, DITEM_BUTTON);
    DialogItemSetFill(di, 0, 0);
    DialogItemSetText(di, _("Sort by File"));
    DialogItemSetCallback(di, CB_BGSortFile, 0, NULL);
 
-   di = DialogAddItem(table2, DITEM_BUTTON);
+   di = DialogAddItem(table3, DITEM_BUTTON);
    DialogItemSetFill(di, 0, 0);
    DialogItemSetText(di, _("Sort by Attr."));
    DialogItemSetCallback(di, CB_BGSortAttrib, 0, NULL);
 
-   di = DialogAddItem(table2, DITEM_BUTTON);
+#if 0                          /* Doesn't do anything useful */
+   di = DialogAddItem(table3, DITEM_BUTTON);
    DialogItemSetFill(di, 0, 0);
    DialogItemSetText(di, _("Sort by Image"));
    DialogItemSetCallback(di, CB_BGSortContent, 0, NULL);
+#endif
 
    di = bg_sel = DialogAddItem(table, DITEM_AREA);
-   DialogItemSetColSpan(di, 3);
    DialogItemAreaSetSize(di, 160, 56);
    DialogItemAreaSetEventFunc(di, CB_BGAreaEvent);
    DialogItemAreaSetInitFunc(di, CB_InitView);
 
    num = ecore_list_nodes(bg_list);
    di = bg_sel_slider = DialogAddItem(table, DITEM_SLIDER);
-   DialogItemSetColSpan(di, 3);
    DialogItemSliderSetBounds(di, 0, num * 4);
    DialogItemSliderSetUnits(di, 1);
    DialogItemSliderSetJump(di, 9);
    DialogItemSliderSetValPtr(di, &tmp_bg_sel_sliderval);
    DialogItemSetCallback(bg_sel_slider, CB_BGAreaSlide, 0, NULL);
 
-   di = bg_filename = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetColSpan(di, 3);
-   DialogItemSetAlign(di, 512, 512);
-   BG_DialogSetFileName(bg_filename);
-
    di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 3);
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetColSpan(di, 3);
+   DialogItemSetText(di, _("Use dithering in Hi-Colour"));
+   DialogItemCheckButtonSetPtr(di, &tmp_hiq);
+
+   di = DialogAddItem(table, DITEM_CHECKBUTTON);
+   DialogItemSetText(di, _("Background overrides theme"));
+   DialogItemCheckButtonSetPtr(di, &tmp_userbg);
+
+   di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetText(di,
                     _("Enable background transparency compatibility mode"));
    DialogItemCheckButtonSetPtr(di, &tmp_root_hint);
+
+   di = DialogAddItem(table, DITEM_SEPARATOR);
+
+   di = label = DialogAddItem(table, DITEM_TEXT);
+   DialogItemSetAlign(di, 512, 512);
+   Esnprintf(s, sizeof(s), _("Unused backgrounds freed after %2i:%02i:%02i"),
+            tmp_bg_timeout / 3600,
+            (tmp_bg_timeout / 60) - (60 * (tmp_bg_timeout / 3600)),
+            (tmp_bg_timeout) - (60 * (tmp_bg_timeout / 60)));
+   DialogItemSetText(di, s);
+
+   di = DialogAddItem(table, DITEM_SLIDER);
+   DialogItemSliderSetMinLength(di, 10);
+   DialogItemSliderSetBounds(di, 0, 60 * 60 * 4);
+   DialogItemSliderSetUnits(di, 30);
+   DialogItemSliderSetJump(di, 60);
+   DialogItemSliderSetValPtr(di, &tmp_bg_timeout);
+   DialogItemSetCallback(di, CB_DesktopTimeout, 0, label);
 }
 
 const DialogDef     DlgBackground = {



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to