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 <Application.h>
#include <AppFileInfo.h>
#include <Beep.h>
#include <Bitmap.h>
#include <Catalog.h>
#include <ControlLook.h>
@@ -33,7 +32,6 @@
#include <MenuItem.h>
#include <Message.h>
#include <MessageRunner.h>
#include <PlaySound.h>
#include <Point.h>
#include <PopUpMenu.h>
#include <Region.h>
@@ -210,7 +208,6 @@ CalcView::CalcView(BRect frame, rgb_color rgbBaseColor, BMessage* settings)
fPopUpMenu(NULL),
fAutoNumlockItem(NULL),
fAudioFeedbackItem(NULL),
fOptions(new CalcOptions()),
fEvaluateThread(-1),
fEvaluateMessageRunner(NULL),
@@ -249,7 +246,6 @@ CalcView::CalcView(BMessage* archive)
fPopUpMenu(NULL),
fAutoNumlockItem(NULL),
fAudioFeedbackItem(NULL),
fOptions(new CalcOptions()),
fEvaluateThread(-1),
fEvaluateMessageRunner(NULL),
@@ -316,10 +312,6 @@ CalcView::MessageReceived(BMessage* message)
ToggleAutoNumlock();
return;
case MSG_OPTIONS_AUDIO_FEEDBACK:
ToggleAudioFeedback();
return;
case MSG_OPTIONS_ANGLE_MODE_RADIAN:
SetDegreeMode(false);
return;
@@ -810,15 +802,16 @@ CalcView::Copy()
{
// access system clipboard
if (be_clipboard->Lock()) {
be_clipboard->Clear();
BMessage* clipper = be_clipboard->Data();
clipper->what = B_MIME_DATA;
// TODO: should check return for errors!
BString expression = fExpressionTextView->Text();
clipper->AddData("text/plain", B_MIME_TYPE,
expression.String(), expression.Length());
//clipper->PrintToStream();
be_clipboard->Commit();
BMessage* clipper;
if (be_clipboard->Clear() == B_OK
&& (clipper = be_clipboard->Data()) == B_OK) {
BString expression = fExpressionTextView->Text();
if (clipper->AddData("text/plain", B_MIME_TYPE,
expression.String(), expression.Length() == B_OK) {
clipper->what = B_MIME_DATA;
be_clipboard->Commit();
}
}
be_clipboard->Unlock();
}
}
@@ -953,7 +946,6 @@ CalcView::Evaluate()
return;
}
_AudioFeedback(false);
_SetEnabled(false);
// 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
CalcView::SetDegreeMode(bool degrees)
{
@@ -1331,8 +1315,6 @@ CalcView::_PressKey(int key)
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
CalcView::_Colorize()
{
@@ -1429,8 +1395,6 @@ CalcView::_CreatePopUpMenu(bool addKeypadModeMenuItems)
// construct items
fAutoNumlockItem = new BMenuItem(B_TRANSLATE("Enable Num Lock on startup"),
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"),
new BMessage(MSG_OPTIONS_ANGLE_MODE_RADIAN));
fAngleModeDegreeItem = new BMenuItem(B_TRANSLATE("Degrees"),
@@ -1446,7 +1410,6 @@ CalcView::_CreatePopUpMenu(bool addKeypadModeMenuItems)
// apply current settings
fAutoNumlockItem->SetMarked(fOptions->auto_num_lock);
fAudioFeedbackItem->SetMarked(fOptions->audio_feedback);
fAngleModeRadianItem->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->AddItem(fAutoNumlockItem);
// TODO: Enable this when we use beep events which can be configured
// in the Sounds preflet.
//fPopUpMenu->AddItem(fAudioFeedbackItem);
fPopUpMenu->AddSeparatorItem();
fPopUpMenu->AddItem(fAngleModeRadianItem);
fPopUpMenu->AddItem(fAngleModeDegreeItem);
-7
View File
@@ -18,7 +18,6 @@
enum {
MSG_OPTIONS_AUTO_NUM_LOCK = 'oanl',
MSG_OPTIONS_AUDIO_FEEDBACK = 'oafb',
MSG_OPTIONS_ANGLE_MODE_RADIAN = 'oamr',
MSG_OPTIONS_ANGLE_MODE_DEGREE = 'oamd',
MSG_OPTIONS_KEYPAD_MODE_COMPACT = 'okmc',
@@ -87,10 +86,6 @@ class CalcView : public BView {
// Toggle whether or not the Num Lock key starts on
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
void SetDegreeMode(bool degrees);
@@ -107,7 +102,6 @@ class CalcView : public BView {
void _PressKey(const char* label);
int32 _KeyForLabel(const char* label) const;
void _FlashKey(int32 key, uint32 flashFlags);
void _AudioFeedback(bool inBackGround);
void _Colorize();
@@ -156,7 +150,6 @@ class CalcView : public BView {
// pop-up context menu.
BPopUpMenu* fPopUpMenu;
BMenuItem* fAutoNumlockItem;
BMenuItem* fAudioFeedbackItem;
BMenuItem* fAngleModeRadianItem;
BMenuItem* fAngleModeDegreeItem;