]> Dogcows Code - chaz/openbox/blobdiff - src/Basemenu.cc
make modal dialogs unmodal before reassigning focus when they are unmanaged
[chaz/openbox] / src / Basemenu.cc
index fcd6931e6eba5dff03dbd4012468d59f131b2b3a..57c10fcb65223defa2e2615fc55418b538247e95 100644 (file)
@@ -557,8 +557,11 @@ void Basemenu::drawItem(int index, bool highlight, bool clear,
   }
 
   MenuStyle *style = screen->getMenuStyle();
-  BPen pen((highlight || item->isSelected()) ? style->h_text : style->f_text),
-      hipen(style->hilite.color());
+  BPen hipen(style->hilite.color());
+  // match the text color
+  BPen pen((highlight ? style->h_text :
+            (item->isEnabled() ? style->f_text :
+             style->d_text)));
 
 
   sel_x = item_x;
@@ -607,14 +610,16 @@ void Basemenu::drawItem(int index, bool highlight, bool clear,
   }
   
   if (dosel && item->isSelected()) {
-    // match the text color
-    BPen pen((highlight ? style->h_text :
-              (item->isEnabled() ? style->f_text :
-               style->d_text)));
-
       XPoint pts[6];
 
-      pts[0].x = sel_x + 0;
+      // put the check mark on the opposite side of the menu
+      int x = sel_x;
+      if (screen->getMenuStyle()->bullet_pos == Right)
+        x -= (menu.item_w - menu.item_h - menu.bevel_w);
+      else
+        x += (menu.item_w - menu.item_h - menu.bevel_w);
+
+      pts[0].x = x + 0;
       pts[0].y = sel_y + 2;
       
       pts[1].x = 0;
This page took 0.024611 seconds and 4 git commands to generate.