[haiku-commits] haiku: hrev44445 - src/apps/deskcalc

  • From: jscipione@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 31 Jul 2012 14:05:09 +0200 (CEST)

hrev44445 adds 1 changeset to branch 'master'
old head: bd97ee39e0e93fe8c7774d89e411de8b85ad0cbf
new head: fa37d94d1bd5b2c559f1ab1cac40826a945cec9c

----------------------------------------------------------------------------

fa37d94: Fix radian/degree mode toggling bug in Deskcalc
  
  I overlooked this problem in my last commit...
  
  If you select the current angle (radian/degree) mode from the menu
  it toggles the angle mode, fixed this to make it keep the current
  mode.

                                     [ John Scipione <jscipione@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev44445
Commit:      fa37d94d1bd5b2c559f1ab1cac40826a945cec9c
URL:         http://cgit.haiku-os.org/haiku/commit/?id=fa37d94
Author:      John Scipione <jscipione@xxxxxxxxx>
Date:        Tue Jul 31 12:01:32 2012 UTC

----------------------------------------------------------------------------

3 files changed, 23 insertions(+), 14 deletions(-)
src/apps/deskcalc/CalcView.cpp   |   20 ++++++++++++--------
src/apps/deskcalc/CalcView.h     |    7 ++++---
src/apps/deskcalc/CalcWindow.cpp |   10 +++++++---

----------------------------------------------------------------------------

diff --git a/src/apps/deskcalc/CalcView.cpp b/src/apps/deskcalc/CalcView.cpp
index eba3f4f..0f17810 100644
--- a/src/apps/deskcalc/CalcView.cpp
+++ b/src/apps/deskcalc/CalcView.cpp
@@ -245,8 +245,12 @@ CalcView::MessageReceived(BMessage* message)
                                ToggleAudioFeedback();
                                return;
 
-                       case MSG_OPTIONS_ANGLE_MODE:
-                               ToggleAngleMode();
+                       case MSG_OPTIONS_ANGLE_MODE_RADIAN:
+                               SetDegreeMode(false);
+                               return;
+
+                       case MSG_OPTIONS_ANGLE_MODE_DEGREE:
+                               SetDegreeMode(true);
                                return;
                }
        }
@@ -977,11 +981,11 @@ CalcView::ToggleAudioFeedback(void)
 
 
 void
-CalcView::ToggleAngleMode(void)
+CalcView::SetDegreeMode(bool degrees)
 {
-       fOptions->degree_mode = !fOptions->degree_mode;
-       fAngleModeRadianItem->SetMarked(!fOptions->degree_mode);
-       fAngleModeDegreeItem->SetMarked(fOptions->degree_mode);
+       fOptions->degree_mode = degrees;
+       fAngleModeRadianItem->SetMarked(!degrees);
+       fAngleModeDegreeItem->SetMarked(degrees);
 }
 
 
@@ -1273,9 +1277,9 @@ CalcView::_CreatePopUpMenu(bool addKeypadModeMenuItems)
        fAudioFeedbackItem = new BMenuItem(B_TRANSLATE("Audio Feedback"),
                new BMessage(MSG_OPTIONS_AUDIO_FEEDBACK));
        fAngleModeRadianItem = new BMenuItem(B_TRANSLATE("Radian Mode"),
-               new BMessage(MSG_OPTIONS_ANGLE_MODE));
+               new BMessage(MSG_OPTIONS_ANGLE_MODE_RADIAN));
        fAngleModeDegreeItem = new BMenuItem(B_TRANSLATE("Degree Mode"),
-               new BMessage(MSG_OPTIONS_ANGLE_MODE));
+               new BMessage(MSG_OPTIONS_ANGLE_MODE_DEGREE));
        if (addKeypadModeMenuItems) {
                fKeypadModeCompactItem = new BMenuItem(B_TRANSLATE("Compact"),
                        new BMessage(MSG_OPTIONS_KEYPAD_MODE_COMPACT), '0');
diff --git a/src/apps/deskcalc/CalcView.h b/src/apps/deskcalc/CalcView.h
index 2c61fe7..f5ffa06 100644
--- a/src/apps/deskcalc/CalcView.h
+++ b/src/apps/deskcalc/CalcView.h
@@ -16,7 +16,8 @@
 enum {
        MSG_OPTIONS_AUTO_NUM_LOCK                               = 'oanl',
        MSG_OPTIONS_AUDIO_FEEDBACK                              = 'oafb',
-       MSG_OPTIONS_ANGLE_MODE                                  = 'oamd',
+       MSG_OPTIONS_ANGLE_MODE_RADIAN                   = 'oamr',
+       MSG_OPTIONS_ANGLE_MODE_DEGREE                   = 'oamd',
        MSG_OPTIONS_KEYPAD_MODE_COMPACT                 = 'okmc',
        MSG_OPTIONS_KEYPAD_MODE_BASIC                   = 'okmb',
        MSG_OPTIONS_KEYPAD_MODE_SCIENTIFIC              = 'okms',
@@ -91,8 +92,8 @@ class CalcView : public BView {
                        // (option currently disabled)
                        void                            
ToggleAudioFeedback(void);
 
-                       // Toggle radian/degree mode
-                       void                            ToggleAngleMode(void);
+                       // Set the angle mode to degrees or radians
+                       void                            SetDegreeMode(bool 
degrees);
 
                        // Set the keypad mode
                        void                            SetKeypadMode(uint8 
mode);
diff --git a/src/apps/deskcalc/CalcWindow.cpp b/src/apps/deskcalc/CalcWindow.cpp
index f91d0d4..d8abc59 100644
--- a/src/apps/deskcalc/CalcWindow.cpp
+++ b/src/apps/deskcalc/CalcWindow.cpp
@@ -88,9 +88,13 @@ CalcWindow::MessageReceived(BMessage* message)
                        fCalcView->ToggleAudioFeedback();
                        break;
 
-               case MSG_OPTIONS_ANGLE_MODE:
-                       fCalcView->ToggleAngleMode();
-                       break;
+               case MSG_OPTIONS_ANGLE_MODE_RADIAN:
+                       fCalcView->SetDegreeMode(false);
+                       return;
+
+               case MSG_OPTIONS_ANGLE_MODE_DEGREE:
+                       fCalcView->SetDegreeMode(true);
+                       return;
 
                case MSG_OPTIONS_KEYPAD_MODE_COMPACT:
                        fCalcView->SetKeypadMode(KEYPAD_MODE_COMPACT);


Other related posts:

  • » [haiku-commits] haiku: hrev44445 - src/apps/deskcalc - jscipione