DeskCalc: Remove audio feedback and add error handling

Change-Id: If470e91581d7569ed2589f67721e813cccd83fe2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2095
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Zotyamester
2020-01-25 11:42:20 +00:00
committed by Adrien Destugues
parent 1e7069152e
commit d623ab8459
2 changed files with 10 additions and 57 deletions
+10 -50
View File
@@ -23,7 +23,6 @@
#include <Alert.h> #include <Alert.h>
#include <Application.h> #include <Application.h>
#include <AppFileInfo.h> #include <AppFileInfo.h>
#include <Beep.h>
#include <Bitmap.h> #include <Bitmap.h>
#include <Catalog.h> #include <Catalog.h>
#include <ControlLook.h> #include <ControlLook.h>
@@ -33,7 +32,6 @@
#include <MenuItem.h> #include <MenuItem.h>
#include <Message.h> #include <Message.h>
#include <MessageRunner.h> #include <MessageRunner.h>
#include <PlaySound.h>
#include <Point.h> #include <Point.h>
#include <PopUpMenu.h> #include <PopUpMenu.h>
#include <Region.h> #include <Region.h>
@@ -210,7 +208,6 @@ CalcView::CalcView(BRect frame, rgb_color rgbBaseColor, BMessage* settings)
fPopUpMenu(NULL), fPopUpMenu(NULL),
fAutoNumlockItem(NULL), fAutoNumlockItem(NULL),
fAudioFeedbackItem(NULL),
fOptions(new CalcOptions()), fOptions(new CalcOptions()),
fEvaluateThread(-1), fEvaluateThread(-1),
fEvaluateMessageRunner(NULL), fEvaluateMessageRunner(NULL),
@@ -249,7 +246,6 @@ CalcView::CalcView(BMessage* archive)
fPopUpMenu(NULL), fPopUpMenu(NULL),
fAutoNumlockItem(NULL), fAutoNumlockItem(NULL),
fAudioFeedbackItem(NULL),
fOptions(new CalcOptions()), fOptions(new CalcOptions()),
fEvaluateThread(-1), fEvaluateThread(-1),
fEvaluateMessageRunner(NULL), fEvaluateMessageRunner(NULL),
@@ -316,10 +312,6 @@ CalcView::MessageReceived(BMessage* message)
ToggleAutoNumlock(); ToggleAutoNumlock();
return; return;
case MSG_OPTIONS_AUDIO_FEEDBACK:
ToggleAudioFeedback();
return;
case MSG_OPTIONS_ANGLE_MODE_RADIAN: case MSG_OPTIONS_ANGLE_MODE_RADIAN:
SetDegreeMode(false); SetDegreeMode(false);
return; return;
@@ -810,15 +802,16 @@ CalcView::Copy()
{ {
// access system clipboard // access system clipboard
if (be_clipboard->Lock()) { if (be_clipboard->Lock()) {
be_clipboard->Clear(); BMessage* clipper;
BMessage* clipper = be_clipboard->Data(); if (be_clipboard->Clear() == B_OK
clipper->what = B_MIME_DATA; && (clipper = be_clipboard->Data()) == B_OK) {
// TODO: should check return for errors! BString expression = fExpressionTextView->Text();
BString expression = fExpressionTextView->Text(); if (clipper->AddData("text/plain", B_MIME_TYPE,
clipper->AddData("text/plain", B_MIME_TYPE, expression.String(), expression.Length() == B_OK) {
expression.String(), expression.Length()); clipper->what = B_MIME_DATA;
//clipper->PrintToStream(); be_clipboard->Commit();
be_clipboard->Commit(); }
}
be_clipboard->Unlock(); be_clipboard->Unlock();
} }
} }
@@ -953,7 +946,6 @@ CalcView::Evaluate()
return; return;
} }
_AudioFeedback(false);
_SetEnabled(false); _SetEnabled(false);
// Disable input while we evaluate // Disable input while we evaluate
@@ -995,14 +987,6 @@ CalcView::ToggleAutoNumlock(void)
} }
void
CalcView::ToggleAudioFeedback(void)
{
fOptions->audio_feedback = !fOptions->audio_feedback;
fAudioFeedbackItem->SetMarked(fOptions->audio_feedback);
}
void void
CalcView::SetDegreeMode(bool degrees) CalcView::SetDegreeMode(bool degrees)
{ {
@@ -1331,8 +1315,6 @@ CalcView::_PressKey(int key)
fExpressionTextView->Insert(fKeypad[key].code); fExpressionTextView->Insert(fKeypad[key].code);
} }
} }
_AudioFeedback(true);
} }
@@ -1379,22 +1361,6 @@ CalcView::_FlashKey(int32 key, uint32 flashFlags)
} }
void
CalcView::_AudioFeedback(bool inBackGround)
{
// TODO: Use beep events... This interface is not implemented on Haiku
// anyways...
#if 0
if (fOptions->audio_feedback) {
BEntry zimp("key.AIFF");
entry_ref zimp_ref;
zimp.GetRef(&zimp_ref);
play_sound(&zimp_ref, true, false, inBackGround);
}
#endif
}
void void
CalcView::_Colorize() CalcView::_Colorize()
{ {
@@ -1429,8 +1395,6 @@ CalcView::_CreatePopUpMenu(bool addKeypadModeMenuItems)
// construct items // construct items
fAutoNumlockItem = new BMenuItem(B_TRANSLATE("Enable Num Lock on startup"), fAutoNumlockItem = new BMenuItem(B_TRANSLATE("Enable Num Lock on startup"),
new BMessage(MSG_OPTIONS_AUTO_NUM_LOCK)); new BMessage(MSG_OPTIONS_AUTO_NUM_LOCK));
fAudioFeedbackItem = new BMenuItem(B_TRANSLATE("Audio Feedback"),
new BMessage(MSG_OPTIONS_AUDIO_FEEDBACK));
fAngleModeRadianItem = new BMenuItem(B_TRANSLATE("Radians"), fAngleModeRadianItem = new BMenuItem(B_TRANSLATE("Radians"),
new BMessage(MSG_OPTIONS_ANGLE_MODE_RADIAN)); new BMessage(MSG_OPTIONS_ANGLE_MODE_RADIAN));
fAngleModeDegreeItem = new BMenuItem(B_TRANSLATE("Degrees"), fAngleModeDegreeItem = new BMenuItem(B_TRANSLATE("Degrees"),
@@ -1446,7 +1410,6 @@ CalcView::_CreatePopUpMenu(bool addKeypadModeMenuItems)
// apply current settings // apply current settings
fAutoNumlockItem->SetMarked(fOptions->auto_num_lock); fAutoNumlockItem->SetMarked(fOptions->auto_num_lock);
fAudioFeedbackItem->SetMarked(fOptions->audio_feedback);
fAngleModeRadianItem->SetMarked(!fOptions->degree_mode); fAngleModeRadianItem->SetMarked(!fOptions->degree_mode);
fAngleModeDegreeItem->SetMarked(fOptions->degree_mode); fAngleModeDegreeItem->SetMarked(fOptions->degree_mode);
@@ -1454,9 +1417,6 @@ CalcView::_CreatePopUpMenu(bool addKeypadModeMenuItems)
fPopUpMenu = new BPopUpMenu("pop-up", false, false); fPopUpMenu = new BPopUpMenu("pop-up", false, false);
fPopUpMenu->AddItem(fAutoNumlockItem); fPopUpMenu->AddItem(fAutoNumlockItem);
// TODO: Enable this when we use beep events which can be configured
// in the Sounds preflet.
//fPopUpMenu->AddItem(fAudioFeedbackItem);
fPopUpMenu->AddSeparatorItem(); fPopUpMenu->AddSeparatorItem();
fPopUpMenu->AddItem(fAngleModeRadianItem); fPopUpMenu->AddItem(fAngleModeRadianItem);
fPopUpMenu->AddItem(fAngleModeDegreeItem); fPopUpMenu->AddItem(fAngleModeDegreeItem);
-7
View File
@@ -18,7 +18,6 @@
enum { enum {
MSG_OPTIONS_AUTO_NUM_LOCK = 'oanl', MSG_OPTIONS_AUTO_NUM_LOCK = 'oanl',
MSG_OPTIONS_AUDIO_FEEDBACK = 'oafb',
MSG_OPTIONS_ANGLE_MODE_RADIAN = 'oamr', MSG_OPTIONS_ANGLE_MODE_RADIAN = 'oamr',
MSG_OPTIONS_ANGLE_MODE_DEGREE = 'oamd', MSG_OPTIONS_ANGLE_MODE_DEGREE = 'oamd',
MSG_OPTIONS_KEYPAD_MODE_COMPACT = 'okmc', MSG_OPTIONS_KEYPAD_MODE_COMPACT = 'okmc',
@@ -87,10 +86,6 @@ class CalcView : public BView {
// Toggle whether or not the Num Lock key starts on // Toggle whether or not the Num Lock key starts on
void ToggleAutoNumlock(void); void ToggleAutoNumlock(void);
// Toggle whether or not to provide audio feedback
// (option currently disabled)
void ToggleAudioFeedback(void);
// Set the angle mode to degrees or radians // Set the angle mode to degrees or radians
void SetDegreeMode(bool degrees); void SetDegreeMode(bool degrees);
@@ -107,7 +102,6 @@ class CalcView : public BView {
void _PressKey(const char* label); void _PressKey(const char* label);
int32 _KeyForLabel(const char* label) const; int32 _KeyForLabel(const char* label) const;
void _FlashKey(int32 key, uint32 flashFlags); void _FlashKey(int32 key, uint32 flashFlags);
void _AudioFeedback(bool inBackGround);
void _Colorize(); void _Colorize();
@@ -156,7 +150,6 @@ class CalcView : public BView {
// pop-up context menu. // pop-up context menu.
BPopUpMenu* fPopUpMenu; BPopUpMenu* fPopUpMenu;
BMenuItem* fAutoNumlockItem; BMenuItem* fAutoNumlockItem;
BMenuItem* fAudioFeedbackItem;
BMenuItem* fAngleModeRadianItem; BMenuItem* fAngleModeRadianItem;
BMenuItem* fAngleModeDegreeItem; BMenuItem* fAngleModeDegreeItem;