History log of /haiku/src/apps/deskcalc/CalcView.cpp
Revision Date Author Comments
# b005f8c9 28-Feb-2024 Pascal Abresch <nep-git@packageloss.eu>

DeskCalc: Fix expressionView text color

Also makes DeskCalc use the Panel text color if the contast is
sufficient
Change-Id: Ibe2d0ad4ba5958f2629be3759091233ad86bcc9d

Change-Id: I51cd7a06e6ea236ec3325d1787ff72ad489fe868
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7488
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 9c274ccd 28-Feb-2024 Pascal Abresch <nep-git@packageloss.eu>

Document new rgb_color apis, apply their usage.

Change-Id: I48f1bedd3abfb3b445c1c7090ce43504bcff4537
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7485
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# b3099de6 12-Jan-2023 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

DeskCalc: fix live updating of button text color

When using the panel background color, always use the matching panel
text color from system preferences.

When using a custom color, compute appropriate light or dark text color
to go with it.

Change-Id: I107731efec03a8c9661b89e26255a4fe91def79b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3560
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 143253c8 23-May-2022 Dale Cieslak <dcieslak@yahoo.com>

DeskCalc: Fix Locale-aware display

Expression parser was made aware of Locale-specific separators in
hrev56067. However, the Expression view was still using only '.' as
separator. This change passes the Locale-specific decimal separator
to the ExpressionTextView class and uses that to parse the value for
display.

Fixes #17754

Change-Id: I7386eed51afe929a9b3eee69334f9199a3d06c4a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5338
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# d39b5bfd 28-Feb-2022 Dale Cieslak <dcieslak@yahoo.com>

DeskCalc: make input Locale-aware

Accepts input with separators based on user's Locale. For example,
with a European locale, "1.234,56" is valid input. With a US locale,
"1,234.56" is accepted. The grouping separator is ignored and
removed, and the decimal separator is kept.

Supports multi-byte decimal separator and grouping separators.

The keypad localization is based on the user's Language setting,
but the separators come from the Formatting. Thus if the Language
is set to English, but the Formatting is set to, for example,
German, the keypad will show '.', but when pressed it will emit
',' to match the number Formatting. Otherwise the keypad breaks
the localized formatting.

Fixes #8503

Change-Id: I0d112bdca67a4e4898e37062102343194ed47f8f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4965
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# e9946b67 25-Jul-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

DeskCalc: fix mixup of key codes and labels

We must keep an untranslated version of the text for use with the
expression parser. Only the key label in the user interface should be
translated.

Fixes #15709.


# 0d6b19e9 29-Dec-2020 Pascal Abresch <nep@packageloss.eu>

DeskCalc: Remove __HAIKU__ ifdef

No functional change intended

Change-Id: I934bef5c8b09a267c423edf7698bb57170e43945
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3559
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# d9385a9d 20-Jul-2020 John Scipione <jscipione@gmail.com>

IK: align BTextView text rect/fix alignment

Recalculate line breaks in FrameResized() if word-wrap is on, otherwise
only move the text rect into position. StyledEdit was recalculating line
breaks before on resize (we have to in this mode) and the frame offset
updates for non-wrapping text views are inexpensive. This makes resizing
text view's work like StyledEdit everywhere.

Scroll to cursor when word-wrap setting changes if text view is editable.
If you are viewing a long document changing word-wrap can move the cursor
quite far, so scroll back to it.

Fix _ActualTabWidth() pen location for right and center-aligned text views
so that tabs widths are calculated correctly.

Reset fTextRect horizontal limits to bounds minus insets in
_RecalculateLineBreaks(), then grow fTextRect based on alignment when
wrap is off.

Fixing insets also fixes right and center-aligned BTextViews.
Left-aligned text view's grow right, right-aligned ones grow left,
and center-aligned ones grow out.

Make extra scrolling space for all aligned text views go the other way
from how it did in hrev24130 (and on left-aligned text view's too) so
that half the text is visible when you edit past the end or before the
beginnning of a text view instead of none of it.

Fixes #1651 #12608 #13796 #15189

Do not _RecalculateLineBreaks() if text view bounds are invalid.
In SetText() detect invalid text view bounds and resize the view to the
width and height of the first line. Then recalculate line breaks.
This fixes BAlert text view size issues.

Fixes #16481 (regression from hrev54496.)

Remove useless and heavy computation. There is no point in computing line
breaks for a 10px wide text view and it takes a long time because it needs
a lot of linebreaks. The view eventually gets laid out properly.

Fixes #5582 (which was not locale-related, after all.)

Only apply default insets if text rect is set to bounds. This ensures
that apps that manipulate the text rect can continue to do so without
the default insets interfering while apps that don't can benefit
from the defaults. If you want to set the text rect to bounds and
not use the default insets you must override the default by calling
SetInsets(). This prevent the default insets from being applied once
apps have changed the text rect fixing a bug in Icon-O-Matic where the
text rect insets were being applied incorrectly.

Fixes #16488 (regression from hrev54496.)

Reduce left and right insets inside text views from full label spacing
to half label spacing. Unify padding between BTextControl and BTextView.

Move fLayoutData->UpdateInsets() to private BTextView::_UpdateInsets()
because we need access to BTextView member variables when deciding
whether or not to add the default padding or not.

_UpdateInsets() changes:
* Don't update insets if BTextView::SetInsets() was called.
* Don't add default insets unless fTextRect is set to view Bounds().
* Do not set the right and bottom insets to left and top if negative,
set them to 0 like we do to left and top -- DeskCalc bug otherwise.

Fixes #15688

Other BTextView fixes:
* Replace max_c and min_c with std::max and std::min respectively.
* Remove scrolling from one instance of BTextView::SetText() as it
produced undesired results while editing a scrolled text view.
* Add default insets in _UpdateInsets()
* Fix scrolling when entering and deleting text so that some part of
the text is always visible. Make visible scroll width depend on font
size.
* Allow scrolling to a negative offset in x but not y. This allows you
to scroll the entire contents of right and centered-aligned text views
whose content does not fit in the box.
* Change _Refresh() to take an offset instead of a bool so that you can
scroll to any offset.
* Replace TextLength() with fText->Length() in a couple of places.

TextControl changes:
* Set text rect in BTextControl::DoLayout().
* Remove AlignTextRect() from TextInput.

Fix the following problems in apps:

ScreenSaver: Set text rect in PreviewView::AddPreview().
Tracker: Set "Edit name" text view insets to 2. Tweek text rect position
to be on top of label in icon, mini-icon, and list mode. Add a TODO that
the text rect is a pixel off from the name on some files.
Mail: Remove _AlignTextRect() and FrameResized() from AddressTextControl.
Use default insets on the text view, defaults are fine here.
DeskCalc: Set insets based on font size in ExpressionTextView
SetTextRect() instead of manipulating the text rect.
Remove _CheckTextRect() and related methods from InputTextView.
Icon-O-Matic: Remove _CheckTextRect() and related methods from InputTextView.
WebPositive: Remove _AlignTextRect() and FrameResized() from URLTextView
and call SetInsets().
StyledEdit: Word-wrap and FrameResized() changes ported to BTextView.

Fixes #16476 #16480 #16488 (regressions from hrev54496.)

Change-Id: Ifeca6077f8815ccd86d5a3880f99556298aaf0fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3152
Reviewed-by: John Scipione <jscipione@gmail.com>


# d6a742ca 26-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

DeskCalc: Use IsLocked() instead of Lock()

As suggested by korli.


# f8969c78 26-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

DeskCalc: use an autolock to simplify clipboard handling.


# 3cba7254 25-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

DeskCalc: fix gcc8 build.


# 1bd3bfd0 25-Jan-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

DeskCalc: fix build.

Apparently, this code was submitted to Gerrit without checking if it
built.


# d623ab84 18-Jan-2020 Zotyamester <szatmary.zoltan1222@gmail.com>

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 <pulkomandy@gmail.com>


# 992ae400 18-Jan-2020 Murai Takashi <tmurai01@gmail.com>

Fix catching by value

Pointed out by LGTM.
Change-Id: I223655c728305f6f45b3738553da5b7d7a69e8c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2134
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 7a202ae8 22-Dec-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

DeskCalc: fix translation of key labels

The labels were never actually translated, only marked for use in
catalogs. Moreover, all the keys were sent as a single string, which is
unconvenient for translation and requires useless parsing in the code.

Use an array of strings instead, which is simpler.

There is a change to the archiving format, instead of storing the whole
keymap, only its name is stored. For backwards compatibility, if we
detect "ln" at the start of the string we use scientific mode.

Change-Id: I566d8d51e8ac6e780fc25207aad1dfa7ff737988
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2049
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# dfb3c928 21-Sep-2019 Murai Takashi <tmurai01@gmail.com>

Deskcalc: Fix 'new[]' array freed with 'delete'

fKeypad is allocated by new[] in _ParseCalcDesc(), but freed by delete.
Pointed out by LGTM.

Change-Id: Iac81d3cc6bfcf003ddf9146415a4400c34a1b7f2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1879
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# aa7f93c5 24-Jan-2019 Rob Gill <rrobgill@protonmail.com>

src/apps Code formatting

* No functional changes

code formatting changes only

Change-Id: I046ae21d9b288126022fe0bc2ddf827843765e70
Reviewed-on: https://review.haiku-os.org/c/896
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# bc622f6b 15-Oct-2018 Humdinger <humdingerb@gmail.com>

Fix missing localization

This addresses some of what's reported in ticket #14637.

* Keymap preferences: Localize key labels. Translators have
to be careful not too use too long words here...

* Media preferences: Fix typo "SoundFonts" -> "SoundFont"
The two popup menus, Video input/output, both use "<none>",
which when the catkeys are collected is reduced to one item.
Apparently, Italian likes to have different tranlsations for
them. I hope to fix that by using B_TRANSLATE_COMMENT with
differing comments. Not sure if that'll work...

* Network preferences: Localize "on/off" and "Enable/Disable"
in the Services.

* Repositories preferences:
Add RepoRow.cpp to DoCatalogs.

* Shortcuts preferences: Localize "Left/Right/Both/Either/None"

* Bluetooth replicant: Localize menu items and alerts.

* DeskCalc: Localize button names.

* HaikuDepot:
- Use BStringFormat and variables to replace for the WorkStatusView.
- Put package name in single quotes; nicer if you have package names
with spaces.
- Avoid leading and trailing spaces in translatable strings. Those
can be overlooked b the translator.
- Use B_UTF8_ELLIPSIS instead of "...".

Change-Id: Ia32908f9faad5188aa87c918c31229277decbda9
Reviewed-on: https://review.haiku-os.org/631
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 4d87bc24 23-Nov-2017 Humdinger <humdingerb@gmail.com>

DeskCalc: Improve removal of newlines of dropped files

Thanks to Adrien for the pointers.


# 6a354201 22-Nov-2017 Humdinger <humdingerb@gmail.com>

DeskCalc: remove trailing newlines of dropped files

Initialize the buffer.
Remove trailing newlines. Before, the dropped expression would
'scroll' out of view if it happened to have a newline at the
end.
Thanks to DeadYak for helpful input which pretty much changed
my original code about 98%...


# 2b7297f8 21-Nov-2017 Kacper Kasper <kacperkasper@gmail.com>

DeskCalc: accept file drops.

* Fixes #9283.


# d704be35 20-Jul-2016 John Scipione <jscipione@gmail.com>

DeskCalc: Live update base color again

... but only if you don't have a custom base color set.

Was broken trying to fix color drop regression in hrev50428

We don't want your custom Deskcalc color to get
overridden accidentially.

If you have dropped a custom base color and you want live
updating to work again, drop the current panel background
color.


# f8056cd9 20-Jul-2016 John Scipione <jscipione@gmail.com>

DeskCalc: Set base color to panel bg color by default

...in unused ctor


# 572ecd20 20-Jul-2016 John Scipione <jscipione@gmail.com>

DeskCalc: Style fixes


# 1d3dbfcc 19-Jul-2016 John Scipione <jscipione@gmail.com>

Deskcalc: Don't set base color on _Colorize()

Fixes #12864


# fa19dd44 10-Dec-2015 looncraz <looncraz@looncraz.net>

apps: Convert to using Set*UIColor.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0045-0075, 0077-0087 from looncraz, unmodified.


# 969fac14 12-Jun-2013 John Scipione <jscipione@gmail.com>

Evaluate asynchronously in a separate thread

Show calculating animation


# 786b0f8f 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Resize a bit more efficiently.

Remove B_FULL_UPDATE_ON_RESIZE flag from view.

We already Invalidate() on FrameResized() which redraws the
view on resize for us. This reduces the number of times Draw() is called
from 3+ in some cases to just one. Unfortunately Draw() is still called
multiple times in some cases producing noticable flickering and drawing
artifacts but it is marginally better.


# fbc8aeaa 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Replace comment with equivalent code


# 43f09adb 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Add private _IsEmbedded() method


# d2577d74 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Remove ResizeTo()


# ed7d3e22 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Remove pre-ControlLook drawing code


# 29fbfe31 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Style fixes


# b98de092 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Update copyright headers

Style fixes to header, update copyright years, remove my name
from files that I didn't have anything to do with besides style fixes,
add myself to ExpressionTextView.cpp


# f9d2a8cb 26-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Remove extra FrameResized() call.

BView::ResizeTo() calls FrameResized() which resolves to the virtual
FrameResized() method in CalcView. So, FrameResized() was
getting called twice.


# d81cbcf3 26-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: tiny whitespace style fix


# 31535ac6 01-May-2013 Adrien Destugues <pulkomandy@gmail.com>

Make BAboutWindow modal

�* Set its type to B_MODAL_WINDO, and also set B_NOT_MOVABLE
* Since this removes the window tab, add an "Ok" button to close the window
* Remove the GetWindow mess and just use it as any regular window
* Adjust all callers again

The AlertPosition method doesn't seem to work right, the window pops up
offset to the right. I also noticed that some of our calls to BAboutWindow
are actually not reacable because we removed Abutrequested from the apps.
Maybe we should clean them up (locale preflet and activity monitor are examples)

More annoying is the fact that opening a modal window from a deskbar replicant
is modal against the whole deskbar. Not sure what to do about that.


# fd19c736 30-Apr-2013 Adrien Destugues <pulkomandy@gmail.com>

Fix BAboutWindow lifecycle

BAboutWindow returned false in QuitRequested in order to hide instead of closing.
Not only this keeps a BLooper running for a rarely used window, but it also
prevents quitting an application in the window was not destroyed first.

* Remove aforementioned QuitRequested method,
* Add a static GetWindow method that returns the existing about window, if there
is one, or creates one if there is not. A boolean can be set to tell the caller
what happened,
* Adjust all callers to use that new method, instead of managing the window themselves.


# 7fe8b2bf 17-Dec-2012 John Scipione <jscipione@gmail.com>

Also lock fAboutWindow before Quit()ting in other apps


# cea38119 12-Nov-2012 John Scipione <jscipione@gmail.com>

Remove About DeskCalc... from right click menu.

We decided not to include about dialogs in system apps (right?)


# 80d7bf83 18-Aug-2012 John Scipione <jscipione@gmail.com>

Add authors back.


# 97a81406 18-Aug-2012 John Scipione <jscipione@gmail.com>

Instead of destroying the BAboutWindow object on close, Hide() it, then on the destructor of the calling window call Quit() explicitly to destroy it.


# 12a9a71d 18-Aug-2012 John Scipione <jscipione@gmail.com>

Use a quit bool in B_ABOUT_REQUESTED to indicate that the about window has quit instead of using kAboutWindowClosed message. This prevents message signature clashes.


# 3fdab584 18-Aug-2012 John Scipione <jscipione@gmail.com>

Set the about window object to NULL on close or quit.

Pass the BHandler object that opened the about window to BAboutWindow.
When the window closes, send a kAboutWindowClosed message back to the
handler. This allows the handler to set the variable to NULL.

Implement the new about dialog constructor in all apps that use it.
Remove the old constructor. This now works reliably for all cases I
tested without crashing and does the right thing on close. The setup
and teardown is a bit more complicated than I wanted though.
Unfortunately this seems to be necessary when not using a BAlert.

Fetching the app icon does not work reliably yet. This is because for
replicants the app may not be running. I may have to pass the icon in
instead of grabbing it from the signature.


# 5b0cd987 17-Aug-2012 John Scipione <jscipione@gmail.com>

WIP: Create the about dialog once, hide and show, Quit() when object is destroyed.


# 0046f444 01-Aug-2012 John Scipione <jscipione@gmail.com>

Modify about window to take an app signature.

* Grabs the app icon and version from the resource file.
* Allow you to specify the copyright holder instead of hardcoding
"Haiku, Inc."
* Support multiple extra copyright fields.
* Modify BAlert to take a custom icon.
* Set the custom icon of the BAlert to the app icon.
* Also set the app version.

* Convert BAboutWindow to derive from BWindow
* Place a 128x128 icon and fill out a scrolling BTextView
with options such as authors, version history, copyright,
license, etc. Still needs some work but is coming along.

* Add the word Version to the version line, i8n'ed of course,
and tweak the info box and default sizes.


# 593808d9 03-Aug-2012 John Scipione <jscipione@gmail.com>

Return authors name's to DeskCalc headers.

No functional change.

* Surround email addresses in angle brackets.
* Add myself to ExpressionParser.cpp and .h
* Remove myself from ExpressionTextView.cpp and .h
* Alphatetize authors by last name.

Thanks Ingo and Axel.


# 9f5d4ecd 01-Aug-2012 John Scipione <jscipione@gmail.com>

Style fixes, update copyright, add myself as author.

No functional change.


# 7d404dbc 31-Jul-2012 John Scipione <jscipione@gmail.com>

Rename the angle mode menu items to just 'Radians' and 'Degrees'. No reason for the word Mode.


# fa37d94d 31-Jul-2012 John Scipione <jscipione@gmail.com>

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.


# 8ffd0477 30-Jul-2012 John Scipione <jscipione@gmail.com>

Implement degree mode in DeskCalc.

Default is radian mode, You set the option in the right click menu
like the other options.

Note: degree mode does not affect hyperbolic trigonometric functions.
This is how Mac Calculator, Windows Calculator, and Google Calculator
work.


# 0084fa52 30-May-2012 Axel Dörfler <axeld@pinc-software.de>

Reverted the rounded buttons again.

* Following the previous discussion on the mailing list and Stippi's final mail.
* I tried to get used to it in the last couple of weeks, but I think it just
looks out of place, and not good either.


# 85136fac 24-May-2012 John Scipione <jscipione@gmail.com>

Fix formatting bug in Deskcalc.

Calculations that take up the full width of the Deskcalc window
sometimes scroll the result over showing you only the tail end. This
is because the horizontal inset makes the area too small to fit the
result. Removing this horizontal inset means that the result will
always fit in the space provided, and Deskcalc will recalculate to
fit, but it also means that the result always starts at the leftmost
side of the textarea, a fair tradeoff.


# a2e15b24 30-Apr-2012 Axel Dörfler <axeld@pinc-software.de>

Changed the default background color to the system default.


# e08d64d0 18-Apr-2012 John Scipione <jscipione@gmail.com>

If we caught the message in these cases there is no reason to continue on.


# 63c55f02 17-Apr-2012 John Scipione <jscipione@gmail.com>

Update Deskcalc's right-click menu options.

If CalcView is embedded as a replicant on the desktop it's parent
window is not CalcWindow. Furthermore, it can't switch between
compact, basic and scientific keypad modes, you are locked in tox
the one you picked at the time you embeded the view into the desktop.
So, I have updated the right-click message to reflect this reality
by taking away the keypad mode switching options. You can still
set auto num-lock and turn beep on and off (theoretically someday
anyway) but the CalcView receives these messages instead of
CalcWindow. So, these 2 options now work in the case of a CalcView
embedded in the desktop at least.


# 546208a5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# a884b43b 19-Mar-2012 John Scipione <jscipione@gmail.com>

Added support for buttons and menuframes with rounded corners.

* Not turned on for default buttons and menuframes right now.
* Updated Deskcalc and Keymap to use buttons with rounded corners.
* Overloaded methods with radium parameters are not virtual right
now so as to not break vtables. Added /*virtual*/ before each
method that should be made virtual in ControlLook.h
* Added a light line to the left border of the down arrow frame
on menu frames as a small visual tweak.
* Replace StrokeRect() with StrokeRoundRect() when drawing the
default button indicator. This gives them a rounded
appearance if the button is also rounded.
* Added protected methods _DrawMenuFieldBackgroundOutside and
_DrawMenuFieldBackgroundInside.
* Created some protected methods to get the edge, frame, and bevel
colors from a passed in base color because it was a mess and I
needed to calculate the colors from mutiple methods. It is much
cleaner now.
* Added myself to ControlLook.cpp authors list. Assigned copyright
to Haiku, Inc. Stippi also retains his copyright.
* Tons of style fixes.
- Change all instances of `if (flags & B_FLAG)` to
`if ((flags & B_FLAG) != 0)`
- Reorder some methods.
- Reorder includes.
- Spacing.
- Updated comments.


# d63b75fa 22-Feb-2012 Philippe Saint-Pierre <stpere@gmail.com>

Outline of labels/strings drawn to desktop

* Rather than duplicating the decision taking logic involving wheter or not to draw
the outline or glow in every replicant, update be_control_look to make it more
generic.
* The Monitoring of the background preferences is now only done in Tracker (where it
was already being done).
* Add a BControlLook::B_IGNORE_OUTLINE flag to avoid this new behaviour.
* Remove that said logic from ActivityMonitor and use be_control_look.
* Use the ignore flag in DeskCalc to avoid the outline in its case.

Should fix #7716, #7291.


# 60ba75c5 06-Nov-2011 John Scipione <jscipione@gmail.com>

Add a scientific mode to Deskcalc.

Deskcalc already contains support for all the functions in scientific mode
but up until now you had to know what they were called and type them in to
figure them out. Scientific mode gives you access to most of the available
functions via buttons.

Pushing one of the the scientific mode buttons inserts the function name
along with an innertube () at the current cursor location. If you have some
text highlighted when you push a scientific mode button it will put that
text inside the innertube. So you can type 0.5, then highlight the text with
the mouse, and then push the sin button and you will get sin(0.5).

The contextual menu has been altered to support the new mode.
Instead of having a single show keypad option in the contextual menu there
are 3 new options instead. Compact mode, Basic mode, and Scientific mode.
Basic mode is the default mode showing the basic keypad. Compact mode is the
same as show keypad turned off, showing just a bare text field. Scientific
mode is the new mode which adds buttons for the different transcendental
functions and constants that Deskcalc supports. You can also use Alt+0, Alt+1,
and Alt+2 keyboard modifiers to switch between the modes.

In addition to accepting the word 'pi' for the circumference of the unit
circle, Deskcalc now also recognizes the UTF-8 character π which has a
dedicated button in scientific mode. I also changed the parser so that
lowercase 'e' always means Euler's number and uppercase 'E' always means
'times 10 to the' so 1E5 means 1 times 10 to the 5th.

Another small tweak I did was to adjust the minimum basic mode width so that
the window is flush with the tab.

I also renamed fColums to fColumns, took out some spaces and other style
changes and bumped the version to 2.2.0.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43199 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 62769fc6 26-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Follow-up on r41108. Removal of About-windows and menu items.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41115 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 11c7ff53 25-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Removing most About windows and menu items as discussed here
http://www.freelists.org/post/haiku-commits/r40968-in-haikutrunksrcapps-activitymonitor-bootmanager-charactermap-codycam-deskbar,3
Leaving them for now in replicants, and in Terminal, according to (my interpretation of) the instructions here
http://dev.haiku-os.org/browser/haiku/trunk/src/apps/terminal/README.GPL_to_OBOS#L70
Some sporadic cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41108 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 560ff447 25-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Use resource definition files instead of DoCatalogs rule. Rename B_TRANSLATE_APP_NAME and related macros to the more generic B_TRANSLATE_SYSTEM_NAME, to also fits add-ons, folders, etc, and make 'System name' its standard context. Change CodyCam and PoorMan's app signatures to match the overall x-vnd.Haiku-App pattern. Some clean-up. Make SlideShowSaver build again.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41103 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 31db75d0 16-Mar-2011 Jonas Sundström <jonas@kirilla.com>

New stippi on the block? Nah. Just a typo.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40969 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b97c5149 15-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Making use of B_TRANSLATE_APP_NAME, BAboutMenuItem, BAboutWindow. Clean-up. Removal of some ellipsis. ('About Haiku' in Deskbar.)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40968 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c45c76e6 07-Mar-2011 Philippe Saint-Pierre <stpere@gmail.com>

DeskCalc

Move the Invalidate() call introduced in r40863. It is now in FrameResized().

This now seems to fix #7010 for good.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40864 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 13b4be3f 07-Mar-2011 Philippe Saint-Pierre <stpere@gmail.com>

DeskCalc:

Invalidate the CalcView after changing the Show Keypad option, to force to redraw the keypad.

Fixes ticket #7010.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 14afc67b 22-Feb-2011 Philippe Saint-Pierre <stpere@gmail.com>

DeskCalc:
* Replace usage of strcpy by strlcpy (CID 6790)
* Check the return value of FindApp before continuing (CID 2366)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40634 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c2ffab8 13-Dec-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Patch from Jason Fagnière (Protonux) as part of GCI :
* i18nize devices, charactermap, cdplayer, activitymonitor.

Thanks!

(note : there are some known 80-column problems in this patch)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39835 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 665c794f 21-Apr-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Wim: The resulting expression string is now fit to the current width
of the window. Insignificant digits are truncated from the end. DeskCalc may
also switch to scientific notation if there is not enough room left.

Thanks a lot! Fixes ticket #5203.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7974d3dc 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdinger:
Updated Haiku apps to use sentence-case. What a huge undertaking...
The files where I had to apply the patch manually (for mysterious
reasons) have also gotten a whitespace cleanup. I've proof-read
everything so hopefully there should be no problems.

This should be the final part of #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96


# accec9a7 06-Nov-2009 Alexandre Deckner <alex@zappotek.com>

* Style fixes. Encountered ambiguous cases, please see my following questions
in the commit ml.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33923 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59d799da 28-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the mapm library from src/apps/deskcalc to src/libs and headers/libs.
* Moved the ExpressionParser class to shared. It's now built into its own
static library.
* Added hexadecimal number support to the expression parser as well as
Evaluation*() methods to get a number instead of a string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31298 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b4dce77e 10-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Repurposed the calculator icon. The icon only shows when the keypad is hidden,
so someone using it to trigger evaluation is highly unlikely, since he can
just press return/enter. But when DeskCalc is embedded into the Desktop, it
is convenient to clear the text view. (Clicking anywhere in DeskCalc already
gives the text view focus.)
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30697 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 160f5f5e 10-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Philippe Saint-Pierre: Don't use BTextView::LineHeight() when the font
has not yet been set... Thanks a lot!

D'oh, this one made me slap my hand against my forehead!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30101 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 14cfdab5 05-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Reset the follow mode to "follow none" when instantiating a replicant view.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29918 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2833e9ea 04-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

* Fix drawing the background if needed on other shelfs than Tracker (untested).
* Fix invalidating the whole view when receiving a color drop, since the frame
around the text input is also affected now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29893 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 403687d8 28-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

* Beautified everything with the help of BControlLook.
* When embedded on the desktop, draw with alpha compositing.
* Implemented flashing the pressed keys.
* Clicking the calculator icon in compressed mode will evaluate.
* Cleaned up dead code, did some refactoring.
* Removed Audio Feedback option, since the feature is currently missing support
in Haiku. (play_sound() unimplemented)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29763 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f163ab92 23-Feb-2009 Jérôme Duval <korli@users.berlios.de>

replicant view is already sized correctly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29295 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bc3229d6 22-Feb-2009 Jérôme Duval <korli@users.berlios.de>

* load settings before building the window: the behavior is then similar with the replicant version.
* change window limits when keypad option is off
* style cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29293 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a1056d5f 14-Feb-2009 Alexandre Deckner <alex@zappotek.com>

* Key font size now also takes the window width into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29207 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0eaec30 01-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Fix more operator precedence errors. These do not do what you'd expect at first
sight. The comparison operator takes precedence over the binary ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29121 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a6bda77 14-Jan-2009 Stephan Aßmus <superstippi@gmx.de>

Got rid of the options window and implemented them directly
in the context menu. Since there are only so few options, this
is much more convenient. (Fixes part of #3236.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28902 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 46c8e2c1 14-Jan-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Lukasz Kozlowski:
* Fixed About menu item for DeskCalc to say "DeskCalc" instead of "Calculator".
(fixes #3234)

Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28896 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8443d21c 04-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

Included "Mike's Arbitrary Precision Math Library" in DeskCalc (BSD style
license) and rebased the ExpressionParser from double on the MAPM data type.
Currently, the binary operators are not supported anymore, but the imprecise
calculations were getting on my nerves. I think a lot more neat functions
could now be supported, but I have not looked into it further. I also didn't
dare look closer at the C code of the library, but it seems to be well
tested. It's portable by all means, I guess even if the target platform has
8.3 char file names to hold the code... Luckily, the library inclused a C++
wrapper class for the data type (MAPM) which makes it fairly comfortable to
use and hides the ugly C stuff and messy memory management.

The result seems to be quite nice so far. Previously, I couldn't even calculate
my finances without eventually getting some rounding errors.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28506 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bf681d14 12-May-2008 Stephan Aßmus <superstippi@gmx.de>

BRoster::GetAppInfo() only works on running applications, for the replicant to
find the DeskCalc icon, we need to use BRoster::FindApp() instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25477 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 956a0d19 05-Dec-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Use floorf() on the calculations otherwise casting to an int could
truncate negative values to 0. Fixes bug #914.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23061 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 66eba86f 16-May-2007 Axel Dörfler <axeld@pinc-software.de>

* Applied patch by Jonas Sundstrom: fixed the usage of B_UTF8_ELLIPSIS hopefully
everywhere in the tree.
* Added the ellipsis to "About Haiku" in Deskbar as well.
* Minor cleanup of Deskbar's StatusView.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21156 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 435b2897 17-Nov-2006 Stephan Aßmus <superstippi@gmx.de>

* use the application icon instead of a hardcoded icon in the CalcView,
so now the nice vector icon gets displayed



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19315 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1f84dba7 07-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

the finishing touches...
* now displays the calculator icon besides the text entry
when the keypad is off, also draws a frame around the text
entry and uses standard black on white...
* fixed a few other issues
* should hopefully be complete now
* on R5, there are sometimes rendering bugs with the
app_server (sometimes it doesn't invalidate views that
are transparent and have been resized before the window is
shown)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17777 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2176a2d 07-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

* fix leading spaces after evaluating
* increase to 13 digits after decimal point
* load and save the expression history


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17776 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19f75b98 07-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

I hope Daniel is not upset, but Ingo and I have written a new parser:
* it supports white spaces
* it supports , and . for the decimal point
* it gives parse errors and where the error occured
* it supports more functions
I also added evaluating an expression given on the command line, it doesn't
show the UI then.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b4d21c83 07-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

Quite a bunch of changes... but it doesn't work perfectly yet.
I ran into an obscure Pe bug which resulted in me overwriting
the wrong file... but then the machine KDLd, which it almost
never does... and I got lucky and the file was there again...
But this teaches me to commit more often.
* replaced expression area with a custom text view
* added expression string history (a bit dumb yet)
* added option to hide the keypad


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17767 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e61b54a2 06-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

remembers option window position and avoids opening another instance of it, options window is not resizable anymore

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b9622604 06-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

fixed build and applied yet more cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17741 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a216b33a 06-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

more cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17740 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cb395c4 06-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

adding DeskCalc by Timothy Wayper

huge cleanup of the DeskCalc code:
* applied style guide
* fixed any TODOs from timmy
* slightly nicer looking options window
* new way to store settings
* code should be more robust
* includes parser kindly donated by Daniel Wallner


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17737 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 969fac14a7363e96cd67d2dda6ee3ef5a8c9bada 12-Jun-2013 John Scipione <jscipione@gmail.com>

Evaluate asynchronously in a separate thread

Show calculating animation


# 786b0f8f1ecc9f9fd289d096a5ce12de619fe59e 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Resize a bit more efficiently.

Remove B_FULL_UPDATE_ON_RESIZE flag from view.

We already Invalidate() on FrameResized() which redraws the
view on resize for us. This reduces the number of times Draw() is called
from 3+ in some cases to just one. Unfortunately Draw() is still called
multiple times in some cases producing noticable flickering and drawing
artifacts but it is marginally better.


# fbc8aeaac80c417df5eebbcd3cfc19fd5a767e0d 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Replace comment with equivalent code


# 43f09adbe2a11c16b67cb8ec930782c08a0374fa 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Add private _IsEmbedded() method


# d2577d74afe8cc6da36786cfdde68d8731b4c4a0 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Remove ResizeTo()


# ed7d3e22f9e7a0c57bc1b41846ae873a46994348 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Remove pre-ControlLook drawing code


# 29fbfe311067dbe6606afde7043b98a1234cef12 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Style fixes


# b98de092d8e0609615f4509c84498bb7df207f50 27-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Update copyright headers

Style fixes to header, update copyright years, remove my name
from files that I didn't have anything to do with besides style fixes,
add myself to ExpressionTextView.cpp


# f9d2a8cb257092a8b01f86af21f5a5b0e9147b69 26-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: Remove extra FrameResized() call.

BView::ResizeTo() calls FrameResized() which resolves to the virtual
FrameResized() method in CalcView. So, FrameResized() was
getting called twice.


# d81cbcf359729687afa1cce849f85260c8724d74 26-Jun-2013 John Scipione <jscipione@gmail.com>

DeskCalc: tiny whitespace style fix


# 31535ac63b726cbcd1933c5fa429543eca4e7509 01-May-2013 Adrien Destugues <pulkomandy@gmail.com>

Make BAboutWindow modal

�* Set its type to B_MODAL_WINDO, and also set B_NOT_MOVABLE
* Since this removes the window tab, add an "Ok" button to close the window
* Remove the GetWindow mess and just use it as any regular window
* Adjust all callers again

The AlertPosition method doesn't seem to work right, the window pops up
offset to the right. I also noticed that some of our calls to BAboutWindow
are actually not reacable because we removed Abutrequested from the apps.
Maybe we should clean them up (locale preflet and activity monitor are examples)

More annoying is the fact that opening a modal window from a deskbar replicant
is modal against the whole deskbar. Not sure what to do about that.


# fd19c7366df2134106131c370c99c3ed7f38757f 30-Apr-2013 Adrien Destugues <pulkomandy@gmail.com>

Fix BAboutWindow lifecycle

BAboutWindow returned false in QuitRequested in order to hide instead of closing.
Not only this keeps a BLooper running for a rarely used window, but it also
prevents quitting an application in the window was not destroyed first.

* Remove aforementioned QuitRequested method,
* Add a static GetWindow method that returns the existing about window, if there
is one, or creates one if there is not. A boolean can be set to tell the caller
what happened,
* Adjust all callers to use that new method, instead of managing the window themselves.


# 7fe8b2bf2a3e4b1c258ec9a4ec748f71d8a9e226 17-Dec-2012 John Scipione <jscipione@gmail.com>

Also lock fAboutWindow before Quit()ting in other apps


# cea381197409f6102836e57678dc3848c76e108f 12-Nov-2012 John Scipione <jscipione@gmail.com>

Remove About DeskCalc... from right click menu.

We decided not to include about dialogs in system apps (right?)


# 80d7bf83bdaf85b1676816ccdbd2c60f2a72c167 18-Aug-2012 John Scipione <jscipione@gmail.com>

Add authors back.


# 97a814061e5b6fc26fbfedf2efb859ec2bcf87a1 18-Aug-2012 John Scipione <jscipione@gmail.com>

Instead of destroying the BAboutWindow object on close, Hide() it, then on the destructor of the calling window call Quit() explicitly to destroy it.


# 12a9a71db61beed2755d9916f454a61500613630 18-Aug-2012 John Scipione <jscipione@gmail.com>

Use a quit bool in B_ABOUT_REQUESTED to indicate that the about window has quit instead of using kAboutWindowClosed message. This prevents message signature clashes.


# 3fdab584468f3b71e8a1ecc4238ed6699cfe78cd 18-Aug-2012 John Scipione <jscipione@gmail.com>

Set the about window object to NULL on close or quit.

Pass the BHandler object that opened the about window to BAboutWindow.
When the window closes, send a kAboutWindowClosed message back to the
handler. This allows the handler to set the variable to NULL.

Implement the new about dialog constructor in all apps that use it.
Remove the old constructor. This now works reliably for all cases I
tested without crashing and does the right thing on close. The setup
and teardown is a bit more complicated than I wanted though.
Unfortunately this seems to be necessary when not using a BAlert.

Fetching the app icon does not work reliably yet. This is because for
replicants the app may not be running. I may have to pass the icon in
instead of grabbing it from the signature.


# 5b0cd98792de98b6ef3f40c432f0971ca6a5d405 17-Aug-2012 John Scipione <jscipione@gmail.com>

WIP: Create the about dialog once, hide and show, Quit() when object is destroyed.


# 0046f4443675694b16fda4829e6f838954bf23fa 01-Aug-2012 John Scipione <jscipione@gmail.com>

Modify about window to take an app signature.

* Grabs the app icon and version from the resource file.
* Allow you to specify the copyright holder instead of hardcoding
"Haiku, Inc."
* Support multiple extra copyright fields.
* Modify BAlert to take a custom icon.
* Set the custom icon of the BAlert to the app icon.
* Also set the app version.

* Convert BAboutWindow to derive from BWindow
* Place a 128x128 icon and fill out a scrolling BTextView
with options such as authors, version history, copyright,
license, etc. Still needs some work but is coming along.

* Add the word Version to the version line, i8n'ed of course,
and tweak the info box and default sizes.


# 593808d96ab873ed345cf3a1ac1f5bf04809755f 03-Aug-2012 John Scipione <jscipione@gmail.com>

Return authors name's to DeskCalc headers.

No functional change.

* Surround email addresses in angle brackets.
* Add myself to ExpressionParser.cpp and .h
* Remove myself from ExpressionTextView.cpp and .h
* Alphatetize authors by last name.

Thanks Ingo and Axel.


# 9f5d4ecd972134f48a330f95d8a9a9ea49dbc3a1 01-Aug-2012 John Scipione <jscipione@gmail.com>

Style fixes, update copyright, add myself as author.

No functional change.


# 7d404dbcae3f5b237a6e297b55235ac89e6c936d 31-Jul-2012 John Scipione <jscipione@gmail.com>

Rename the angle mode menu items to just 'Radians' and 'Degrees'. No reason for the word Mode.


# fa37d94d1bd5b2c559f1ab1cac40826a945cec9c 31-Jul-2012 John Scipione <jscipione@gmail.com>

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.


# 8ffd0477dd4998324e051800da35cadd91a7fb8c 30-Jul-2012 John Scipione <jscipione@gmail.com>

Implement degree mode in DeskCalc.

Default is radian mode, You set the option in the right click menu
like the other options.

Note: degree mode does not affect hyperbolic trigonometric functions.
This is how Mac Calculator, Windows Calculator, and Google Calculator
work.


# 0084fa520924353948934c0dab7d6a10d9da96fa 30-May-2012 Axel Dörfler <axeld@pinc-software.de>

Reverted the rounded buttons again.

* Following the previous discussion on the mailing list and Stippi's final mail.
* I tried to get used to it in the last couple of weeks, but I think it just
looks out of place, and not good either.


# 85136facdeaac7df6ae1f0b4f2dbfb3550ded245 24-May-2012 John Scipione <jscipione@gmail.com>

Fix formatting bug in Deskcalc.

Calculations that take up the full width of the Deskcalc window
sometimes scroll the result over showing you only the tail end. This
is because the horizontal inset makes the area too small to fit the
result. Removing this horizontal inset means that the result will
always fit in the space provided, and Deskcalc will recalculate to
fit, but it also means that the result always starts at the leftmost
side of the textarea, a fair tradeoff.


# a2e15b244f9428b61588006f9e048dea845ce24a 30-Apr-2012 Axel Dörfler <axeld@pinc-software.de>

Changed the default background color to the system default.


# e08d64d0d6a3a35a8e8efa78ed34a7c1a407fb04 18-Apr-2012 John Scipione <jscipione@gmail.com>

If we caught the message in these cases there is no reason to continue on.


# 63c55f0212d9893fc435b45894c4ce8691556905 17-Apr-2012 John Scipione <jscipione@gmail.com>

Update Deskcalc's right-click menu options.

If CalcView is embedded as a replicant on the desktop it's parent
window is not CalcWindow. Furthermore, it can't switch between
compact, basic and scientific keypad modes, you are locked in tox
the one you picked at the time you embeded the view into the desktop.
So, I have updated the right-click message to reflect this reality
by taking away the keypad mode switching options. You can still
set auto num-lock and turn beep on and off (theoretically someday
anyway) but the CalcView receives these messages instead of
CalcWindow. So, these 2 options now work in the case of a CalcView
embedded in the desktop at least.


# 546208a53940a26c6379c48a7854ade1a8250fc5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# a884b43bb1c7bbd60789f35934466a970fe59d9f 19-Mar-2012 John Scipione <jscipione@gmail.com>

Added support for buttons and menuframes with rounded corners.

* Not turned on for default buttons and menuframes right now.
* Updated Deskcalc and Keymap to use buttons with rounded corners.
* Overloaded methods with radium parameters are not virtual right
now so as to not break vtables. Added /*virtual*/ before each
method that should be made virtual in ControlLook.h
* Added a light line to the left border of the down arrow frame
on menu frames as a small visual tweak.
* Replace StrokeRect() with StrokeRoundRect() when drawing the
default button indicator. This gives them a rounded
appearance if the button is also rounded.
* Added protected methods _DrawMenuFieldBackgroundOutside and
_DrawMenuFieldBackgroundInside.
* Created some protected methods to get the edge, frame, and bevel
colors from a passed in base color because it was a mess and I
needed to calculate the colors from mutiple methods. It is much
cleaner now.
* Added myself to ControlLook.cpp authors list. Assigned copyright
to Haiku, Inc. Stippi also retains his copyright.
* Tons of style fixes.
- Change all instances of `if (flags & B_FLAG)` to
`if ((flags & B_FLAG) != 0)`
- Reorder some methods.
- Reorder includes.
- Spacing.
- Updated comments.


# d63b75faf848697b07bfad9b71899e6caf9ab5bc 22-Feb-2012 Philippe Saint-Pierre <stpere@gmail.com>

Outline of labels/strings drawn to desktop

* Rather than duplicating the decision taking logic involving wheter or not to draw
the outline or glow in every replicant, update be_control_look to make it more
generic.
* The Monitoring of the background preferences is now only done in Tracker (where it
was already being done).
* Add a BControlLook::B_IGNORE_OUTLINE flag to avoid this new behaviour.
* Remove that said logic from ActivityMonitor and use be_control_look.
* Use the ignore flag in DeskCalc to avoid the outline in its case.

Should fix #7716, #7291.


# 60ba75c5ec6df48a5fa2ae8a14802ea8001791bb 06-Nov-2011 John Scipione <jscipione@gmail.com>

Add a scientific mode to Deskcalc.

Deskcalc already contains support for all the functions in scientific mode
but up until now you had to know what they were called and type them in to
figure them out. Scientific mode gives you access to most of the available
functions via buttons.

Pushing one of the the scientific mode buttons inserts the function name
along with an innertube () at the current cursor location. If you have some
text highlighted when you push a scientific mode button it will put that
text inside the innertube. So you can type 0.5, then highlight the text with
the mouse, and then push the sin button and you will get sin(0.5).

The contextual menu has been altered to support the new mode.
Instead of having a single show keypad option in the contextual menu there
are 3 new options instead. Compact mode, Basic mode, and Scientific mode.
Basic mode is the default mode showing the basic keypad. Compact mode is the
same as show keypad turned off, showing just a bare text field. Scientific
mode is the new mode which adds buttons for the different transcendental
functions and constants that Deskcalc supports. You can also use Alt+0, Alt+1,
and Alt+2 keyboard modifiers to switch between the modes.

In addition to accepting the word 'pi' for the circumference of the unit
circle, Deskcalc now also recognizes the UTF-8 character π which has a
dedicated button in scientific mode. I also changed the parser so that
lowercase 'e' always means Euler's number and uppercase 'E' always means
'times 10 to the' so 1E5 means 1 times 10 to the 5th.

Another small tweak I did was to adjust the minimum basic mode width so that
the window is flush with the tab.

I also renamed fColums to fColumns, took out some spaces and other style
changes and bumped the version to 2.2.0.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43199 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 62769fc6d5b7ee60cea4d6e289316a5e20e0c5d4 26-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Follow-up on r41108. Removal of About-windows and menu items.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41115 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 11c7ff531a01b64773d8a8f0e02c1c7c9f27ca29 25-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Removing most About windows and menu items as discussed here
http://www.freelists.org/post/haiku-commits/r40968-in-haikutrunksrcapps-activitymonitor-bootmanager-charactermap-codycam-deskbar,3
Leaving them for now in replicants, and in Terminal, according to (my interpretation of) the instructions here
http://dev.haiku-os.org/browser/haiku/trunk/src/apps/terminal/README.GPL_to_OBOS#L70
Some sporadic cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41108 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 560ff4478d5c85455ea3e5ed5e392ef93132d545 25-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Use resource definition files instead of DoCatalogs rule. Rename B_TRANSLATE_APP_NAME and related macros to the more generic B_TRANSLATE_SYSTEM_NAME, to also fits add-ons, folders, etc, and make 'System name' its standard context. Change CodyCam and PoorMan's app signatures to match the overall x-vnd.Haiku-App pattern. Some clean-up. Make SlideShowSaver build again.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41103 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 31db75d0ae55e27e0270869eac00ba505faaabe7 16-Mar-2011 Jonas Sundström <jonas@kirilla.com>

New stippi on the block? Nah. Just a typo.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40969 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b97c51490af2a4e3a20d6baf7d31e59b63924e99 15-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Making use of B_TRANSLATE_APP_NAME, BAboutMenuItem, BAboutWindow. Clean-up. Removal of some ellipsis. ('About Haiku' in Deskbar.)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40968 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c45c76e658209408333fcef7edeb7078d26842fa 07-Mar-2011 Philippe Saint-Pierre <stpere@gmail.com>

DeskCalc

Move the Invalidate() call introduced in r40863. It is now in FrameResized().

This now seems to fix #7010 for good.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40864 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 13b4be3fb29d2ae93b8e1901c049123db591c3a6 07-Mar-2011 Philippe Saint-Pierre <stpere@gmail.com>

DeskCalc:

Invalidate the CalcView after changing the Show Keypad option, to force to redraw the keypad.

Fixes ticket #7010.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 14afc67b4c368925e24b9951ba62dede4a9015a3 22-Feb-2011 Philippe Saint-Pierre <stpere@gmail.com>

DeskCalc:
* Replace usage of strcpy by strlcpy (CID 6790)
* Check the return value of FindApp before continuing (CID 2366)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40634 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c2ffab858c6f0447aef751eef73f00a8512839d 13-Dec-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Patch from Jason Fagnière (Protonux) as part of GCI :
* i18nize devices, charactermap, cdplayer, activitymonitor.

Thanks!

(note : there are some known 80-column problems in this patch)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39835 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 665c794f1de47714cdb5d6cc7813a5569afaecdf 21-Apr-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Wim: The resulting expression string is now fit to the current width
of the window. Insignificant digits are truncated from the end. DeskCalc may
also switch to scientific notation if there is not enough room left.

Thanks a lot! Fixes ticket #5203.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7974d3dcf39ce78e5885b481eee12e561ad6e096 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdinger:
Updated Haiku apps to use sentence-case. What a huge undertaking...
The files where I had to apply the patch manually (for mysterious
reasons) have also gotten a whitespace cleanup. I've proof-read
everything so hopefully there should be no problems.

This should be the final part of #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96


# accec9a7ae72185d181c72fbeca054a101b83a0d 06-Nov-2009 Alexandre Deckner <alex@zappotek.com>

* Style fixes. Encountered ambiguous cases, please see my following questions
in the commit ml.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33923 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59d799dabcba86f92658ddb402f634e262d9aae7 28-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the mapm library from src/apps/deskcalc to src/libs and headers/libs.
* Moved the ExpressionParser class to shared. It's now built into its own
static library.
* Added hexadecimal number support to the expression parser as well as
Evaluation*() methods to get a number instead of a string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31298 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b4dce77e73efa74b8b06e2ed66293b2150b3037c 10-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Repurposed the calculator icon. The icon only shows when the keypad is hidden,
so someone using it to trigger evaluation is highly unlikely, since he can
just press return/enter. But when DeskCalc is embedded into the Desktop, it
is convenient to clear the text view. (Clicking anywhere in DeskCalc already
gives the text view focus.)
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30697 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 160f5f5e2f5f41fb13839c6d648e9b802cd0f609 10-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Philippe Saint-Pierre: Don't use BTextView::LineHeight() when the font
has not yet been set... Thanks a lot!

D'oh, this one made me slap my hand against my forehead!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30101 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 14cfdab543cd4742de559c14db848dfef070002d 05-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Reset the follow mode to "follow none" when instantiating a replicant view.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29918 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2833e9ea831b0c2e869808688769d5d63c60b197 04-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

* Fix drawing the background if needed on other shelfs than Tracker (untested).
* Fix invalidating the whole view when receiving a color drop, since the frame
around the text input is also affected now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29893 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 403687d8d25dfa7fc0ffe84ffe488ea342b055aa 28-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

* Beautified everything with the help of BControlLook.
* When embedded on the desktop, draw with alpha compositing.
* Implemented flashing the pressed keys.
* Clicking the calculator icon in compressed mode will evaluate.
* Cleaned up dead code, did some refactoring.
* Removed Audio Feedback option, since the feature is currently missing support
in Haiku. (play_sound() unimplemented)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29763 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f163ab92bb218d85cb8d8179edae757d3468b979 23-Feb-2009 Jérôme Duval <korli@users.berlios.de>

replicant view is already sized correctly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29295 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bc3229d648655bf13d4297f4dfef9884987fdbfb 22-Feb-2009 Jérôme Duval <korli@users.berlios.de>

* load settings before building the window: the behavior is then similar with the replicant version.
* change window limits when keypad option is off
* style cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29293 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a1056d5fa3bdd65f80df8a4f0cb7a6fc6dfd37c4 14-Feb-2009 Alexandre Deckner <alex@zappotek.com>

* Key font size now also takes the window width into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29207 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0eaec308617fe6623df22fb2e41308517c5d7cb 01-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Fix more operator precedence errors. These do not do what you'd expect at first
sight. The comparison operator takes precedence over the binary ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29121 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7a6bda771660eecce32cac3793cc064499af343e 14-Jan-2009 Stephan Aßmus <superstippi@gmx.de>

Got rid of the options window and implemented them directly
in the context menu. Since there are only so few options, this
is much more convenient. (Fixes part of #3236.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28902 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 46c8e2c17d5239ebd6c801e00afa548bbd999c35 14-Jan-2009 Stephan Aßmus <superstippi@gmx.de>

Patch by Lukasz Kozlowski:
* Fixed About menu item for DeskCalc to say "DeskCalc" instead of "Calculator".
(fixes #3234)

Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28896 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8443d21cf88820cea85176a2ac7bb97c7eda56e2 04-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

Included "Mike's Arbitrary Precision Math Library" in DeskCalc (BSD style
license) and rebased the ExpressionParser from double on the MAPM data type.
Currently, the binary operators are not supported anymore, but the imprecise
calculations were getting on my nerves. I think a lot more neat functions
could now be supported, but I have not looked into it further. I also didn't
dare look closer at the C code of the library, but it seems to be well
tested. It's portable by all means, I guess even if the target platform has
8.3 char file names to hold the code... Luckily, the library inclused a C++
wrapper class for the data type (MAPM) which makes it fairly comfortable to
use and hides the ugly C stuff and messy memory management.

The result seems to be quite nice so far. Previously, I couldn't even calculate
my finances without eventually getting some rounding errors.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28506 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bf681d149a7d5cbd844a2618e4955cab55fe20a2 12-May-2008 Stephan Aßmus <superstippi@gmx.de>

BRoster::GetAppInfo() only works on running applications, for the replicant to
find the DeskCalc icon, we need to use BRoster::FindApp() instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25477 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 956a0d199c8d2126598041614f47f46f211416d8 05-Dec-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Use floorf() on the calculations otherwise casting to an int could
truncate negative values to 0. Fixes bug #914.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23061 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 66eba86f4b3c2eef6462d090e93245fc60d7127b 16-May-2007 Axel Dörfler <axeld@pinc-software.de>

* Applied patch by Jonas Sundstrom: fixed the usage of B_UTF8_ELLIPSIS hopefully
everywhere in the tree.
* Added the ellipsis to "About Haiku" in Deskbar as well.
* Minor cleanup of Deskbar's StatusView.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21156 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 435b2897a3b0331f532a3378f58768a5965122a3 17-Nov-2006 Stephan Aßmus <superstippi@gmx.de>

* use the application icon instead of a hardcoded icon in the CalcView,
so now the nice vector icon gets displayed



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19315 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1f84dba758bfad519f525d2e835fd1525b4a1b6a 07-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

the finishing touches...
* now displays the calculator icon besides the text entry
when the keypad is off, also draws a frame around the text
entry and uses standard black on white...
* fixed a few other issues
* should hopefully be complete now
* on R5, there are sometimes rendering bugs with the
app_server (sometimes it doesn't invalidate views that
are transparent and have been resized before the window is
shown)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17777 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2176a2d86634ed2e9c3c20e8daee5ad0b37e836 07-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

* fix leading spaces after evaluating
* increase to 13 digits after decimal point
* load and save the expression history


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17776 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 19f75b98e63c274db842a6e1193a9d7ae2854ce7 07-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

I hope Daniel is not upset, but Ingo and I have written a new parser:
* it supports white spaces
* it supports , and . for the decimal point
* it gives parse errors and where the error occured
* it supports more functions
I also added evaluating an expression given on the command line, it doesn't
show the UI then.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b4d21c8325e187a3e0019470c431213addc74500 07-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

Quite a bunch of changes... but it doesn't work perfectly yet.
I ran into an obscure Pe bug which resulted in me overwriting
the wrong file... but then the machine KDLd, which it almost
never does... and I got lucky and the file was there again...
But this teaches me to commit more often.
* replaced expression area with a custom text view
* added expression string history (a bit dumb yet)
* added option to hide the keypad


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17767 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e61b54a291a92a587062e132cecf2f0bf06db206 06-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

remembers option window position and avoids opening another instance of it, options window is not resizable anymore

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17742 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b962260488105b10bda67a35f42adbd13130af96 06-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

fixed build and applied yet more cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17741 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a216b33aed182904fff0a11c683cc6dbe78ef75d 06-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

more cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17740 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cb395c433f4ba7efee9f127f9d41fb651f3c30f 06-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

adding DeskCalc by Timothy Wayper

huge cleanup of the DeskCalc code:
* applied style guide
* fixed any TODOs from timmy
* slightly nicer looking options window
* new way to store settings
* code should be more robust
* includes parser kindly donated by Daniel Wallner


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17737 a95241bf-73f2-0310-859d-f6bbb57e9c96