Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h menus.c tooltips.c warp.c 


Log Message:
Inhibit tooltips while showing focus list or menus.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.362
retrieving revision 1.363
diff -u -3 -r1.362 -r1.363
--- E.h 9 Feb 2005 13:45:25 -0000       1.362
+++ E.h 10 Feb 2005 10:35:14 -0000      1.363
@@ -2162,6 +2162,7 @@
 
 void                TooltipsHandleEvent(void);
 void                TooltipsHide(void);
+void                TooltipsEnable(int enable);
 
 /* ttfont.c */
 void                Efont_extents(Efont * f, const char *text,
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v
retrieving revision 1.165
retrieving revision 1.166
diff -u -3 -r1.165 -r1.166
--- menus.c     8 Feb 2005 21:12:08 -0000       1.165
+++ menus.c     10 Feb 2005 10:35:15 -0000      1.166
@@ -388,6 +388,7 @@
        Mode_menus.current_depth = 1;
        MenuShowMasker(m);
 #endif
+       TooltipsEnable(0);
        GrabKeyboard(m->win);
      }
    m->ref_count++;
@@ -1083,11 +1084,6 @@
             MoveEwin(ewin, lx, ly);
             ShowEwin(ewin);
          }
-#if 0
-       Mode_menus.list[0] = m;
-       Mode_menus.current_depth = 1;
-       MenuShowMasker(m);
-#endif
      }
 
    return m;
@@ -1107,18 +1103,6 @@
      {
        if (!FindEwinByMenu(m)) /* Don't show if already shown */
           MenuShow(m, 0);
-#if 0
-       Mode_menus.list[0] = m;
-       Mode_menus.current_depth = 1;
-       MenuShowMasker(m);
-       m->ref_count++;
-     }
-   else
-     {
-       Mode_menus.list[0] = NULL;
-       Mode_menus.current_depth = 0;
-       MenuHideMasker();
-#endif
      }
 }
 
@@ -1148,17 +1132,6 @@
      {
        if (!FindEwinByMenu(m))
           MenuShow(m, 0);
-#if 0
-       Mode_menus.list[0] = m;
-       Mode_menus.current_depth = 1;
-       MenuShowMasker(m);
-     }
-   else
-     {
-       Mode_menus.list[0] = NULL;
-       Mode_menus.current_depth = 0;
-       MenuHideMasker();
-#endif
      }
 }
 
@@ -1181,6 +1154,7 @@
    MenuHideMasker();
    Mode_menus.current_depth = 0;
    Mode_menus.clicked = 0;
+   TooltipsEnable(1);
 
 #if 0
    /* If all done properly this shouldn't be necessary... */
@@ -1358,11 +1332,6 @@
        unsigned int        mw, mh;
        EWin               *ewin2;
 
-#if 0
-       Mode_menus.list[0] = m;
-       Mode_menus.current_depth = 1;
-       MenuShowMasker(m);
-#endif
        ewin = FindEwinByMenu(m);
        if (ewin)
          {
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/tooltips.c,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -3 -r1.69 -r1.70
--- tooltips.c  2 Feb 2005 17:12:05 -0000       1.69
+++ tooltips.c  10 Feb 2005 10:35:16 -0000      1.70
@@ -31,6 +31,11 @@
    unsigned int        opacity;
 } Conf_tooltips;
 
+static struct
+{
+   int                 inhibit;
+} Mode_tooltips;
+
 struct _tooltip
 {
    char               *name;
@@ -684,6 +689,20 @@
      }
 }
 
+void
+TooltipsEnable(int enable)
+{
+   if (enable)
+     {
+       if (Mode_tooltips.inhibit > 0)
+          Mode_tooltips.inhibit--;
+     }
+   else
+     {
+       Mode_tooltips.inhibit++;
+     }
+}
+
 static ToolTip     *ttip = NULL;
 
 static void
@@ -750,10 +769,14 @@
 {
    if (ttip)
       TooltipHide(ttip);
+
    RemoveTimerEvent("TOOLTIP_TIMEOUT");
-   if (Conf_tooltips.enable)
-      DoIn("TOOLTIP_TIMEOUT", 0.001 * Conf_tooltips.delay, ToolTipTimeout, 0,
-          NULL);
+
+   if (Mode_tooltips.inhibit || !Conf_tooltips.enable)
+      return;
+
+   DoIn("TOOLTIP_TIMEOUT", 0.001 * Conf_tooltips.delay, ToolTipTimeout, 0,
+       NULL);
 }
 
 /*
@@ -765,6 +788,9 @@
 {
    switch (sig)
      {
+     case ESIGNAL_INIT:
+       memset(&Mode_tooltips, 0, sizeof(Mode_tooltips));
+       break;
      case ESIGNAL_AREA_SWITCH_START:
      case ESIGNAL_DESK_SWITCH_START:
        TooltipsHide();
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/warp.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -3 -r1.55 -r1.56
--- warp.c      9 Feb 2005 19:29:16 -0000       1.55
+++ warp.c      10 Feb 2005 10:35:16 -0000      1.56
@@ -82,6 +82,7 @@
        warpFocusTitleWindow = ECreateWindow(VRoot.win, 0, 0, 1, 1, 1);
        EventCallbackRegister(warpFocusTitleWindow, 0, WarpFocusHandleEvent,
                              NULL);
+       TooltipsEnable(0);
      }
 
    pq = Mode.queue_up;
@@ -217,6 +218,11 @@
             EDestroyWindow(warplist[i].win);
             Efree(warplist[i].txt);
          }
+       EventCallbackUnregister(warpFocusTitleWindow, 0, WarpFocusHandleEvent,
+                               NULL);
+       EDestroyWindow(warpFocusTitleWindow);
+       TooltipsEnable(1);
+       warpFocusTitleWindow = None;
      }
 
    if (warplist)




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to