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
Ã* 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.
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.
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.
* 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.
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.
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.
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.
* 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.
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.
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.
* 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.
* 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.
* 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.
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
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
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
* 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
* 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
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
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
* 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
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
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
* 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
* 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