2007-05-10 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Thu, 10 May 2007 14:42:16 +0000 (14:42 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Thu, 10 May 2007 14:42:16 +0000 (14:42 +0000)
* pinentry/pinentry-curses.c (dialog_create): Re-add calculation
of cancel button position.  Adjust calculation of OK button
position if it is the only one used.

ChangeLog
pinentry/pinentry-curses.c

index 9affe3b..996f342 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-05-10  Marcus Brinkmann  <marcus@g10code.de>
+
+       * pinentry/pinentry-curses.c (dialog_create): Re-add calculation
+       of cancel button position.  Adjust calculation of OK button
+       position if it is the only one used.
+
 2007-04-13  Marcus Brinkmann  <marcus@g10code.de>
 
        * qt/secqlineedit.h (SecQLineEdit::contextMenuEvent,
index da33173..d376e3d 100644 (file)
@@ -404,18 +404,29 @@ dialog_create (pinentry_t pinentry, dialog_t dialog)
     }
   move (ypos, xpos);
   addch (ACS_VLINE);
-  dialog->ok_y = ypos;
-  /* Calculating the left edge of the left button, rounding down.  */
-  dialog->ok_x = xpos + 2 + ((x - 4) / 2 - strlen (dialog->ok)) / 2;
-  move (dialog->ok_y, dialog->ok_x);
-  addstr (dialog->ok);
-  if ( dialog->cancel)
+
+  if (dialog->cancel)
     {
+      dialog->ok_y = ypos;
+      /* Calculating the left edge of the left button, rounding down.  */
+      dialog->ok_x = xpos + 2 + ((x - 4) / 2 - strlen (dialog->ok)) / 2;
+      move (dialog->ok_y, dialog->ok_x);
+      addstr (dialog->ok);
+
       dialog->cancel_y = ypos;
       /* Calculating the left edge of the right button, rounding up.  */
+      dialog->cancel_x = xpos + x - 2 - ((x - 4) / 2 + strlen (dialog->cancel)) / 2;
       move (dialog->cancel_y, dialog->cancel_x);
       addstr (dialog->cancel);
     }
+  else
+    {
+      dialog->ok_y = ypos;
+      /* Calculating the left edge of the OK button, rounding down.  */
+      dialog->ok_x = xpos + x / 2 - strlen (dialog->ok) / 2;
+      move (dialog->ok_y, dialog->ok_x);
+      addstr (dialog->ok);
+    }
 
  out:
   if (description)