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.
This makes Deskbar correctly calulate the scroll limits in the case
when scrollbars are attached but not due to an app being added or
removed for example because the icon sizes increased.
fExpando is added and removed from InlineScrollView only and it is
created and destroyed in BarView only. Before this there was a
case where it was removed in both InlineScrollView and BarView
causing a crash from the double remove
Otherwise when you switch from bottom mini mode to vertical expando mode
you'll get scroll arrows when you shouldn't because the bottom of the
window frame will be below the screen.
... rather than the current menu item widths. This means that
Deskbar will shrink the menu items until they are at their minimum
size before it activates the scroll arrows. Previous to this
change the scroll arrows were being turned on prematurely. Also
lower the minimum menu item width to the icon width + 50pixels which
is arbitrary but looks good to my eye.
* Split the Leaf menu and seperator into their own menubar.
* I got rid of a lot of special cases for horizontal in the
ExpandoMenuBar class because now the menubar contains the same
items as in vertical mode. However, it also means that the dreaded
<none> bug also affects horizontal mode.
* Make the application menubar resize itself even in horizontal mode.
This means that the view background shows through so I'm going to have
to fix this up.
* Calculate when to add the scroll arrows and how much to allow the user
to scroll by for horizontal. CheckItemSizes() got a big refactoring.
* Rework the InlineScrollView class a bit. It no longer requires you to
specify the begin and end limits on construction because it can
calculate them instead. It also no longer depends on the screen at all,
this means this class can be extened to be used more generally and in
more places.
InlineScrollView takes a BView instead of a BMenu as well, and it
no longer has flags to do drawing respond to frame changes since
this view does neither of those things.
... when rebuilding the application bar.
This fixes a Deskbar crash on resolution change because the lower
scrollbar is a child of fExpando so it must be removed and deleted
before fExpando is. So the tear down is remote scroll arrows
(if attached) then remote fExpando, then remove the scroll arrow
container view. The application bar is then rebuilt in reverse.
When you scroll, make the lower arrow scroll the same way to give
the illusion that it isn't moving at all.
So, now both arrows scroll on MouseDown, but, Deskbar crashes on
resolution change.
Also gave the Up Arrow and Down Arrow a scroll arrow. The up arrow works
but the down arrow doesn't because the sibling menu is stealing the
MouseDown event."
instead of trying to make it follow fExpando just make it a fixed
size on creation. It is invisible and extends to the bottom of the
screen. fExpando grows inside it, and the window follows fExpando.
When the window grows taller than the screenframe the arrows are
added. You can scroll with the mouse wheel, but I haven't yet gotten
scrolling to work from clicking. Deskbar still crashes when going
from Mini mode to vertical expando mode. I have no idea why.
Rename ScrollMenu.cpp to MenuScrollView.cpp
Half step towards making this class work as part of Deskbar without
extending any other classes. Scrolling works both with mouse and
scroll wheel. Redraws on scroll, need to make that work better.
Also need to move classes out of the Interface Kit and into Deskbar.
Modify the ScrollMenu class to use the layout kit by adding a constructor that doesn't take a view.
Get the BScrollMenu class to follow the size of the BMenu it is a parent of. Adjust the scrollers to appear in the right places. This is a WIP but it works in Deskbar, next step is to integrate this directly into BMenu with the scrollers as children of the menu instead of as children of the BScroller class.
Rebase changes on top of master
Deskbar scrolling works for the most part, just need to fix the
bottom arrow and clean up a bit.
Currently hardcoded to Verdex target. Code prepared to pick up configuration
details from FDT when implemented. Only enabled in FloppyImage for ARM.
This actually enables the kernel to read the content of the image file
passed using the "-pflash" parameter to QEMU....
Remove the dummies from the C code and implement them in assembly,
due to the label referencing issues with the fault handler.
This code is ripe for optimisation, my ARM assembly is pretty
basic ;)
Does work though, and gets us one step closer to a full arch.
As noted during BeGeistert and today again by kallisti5, there's a
Pentium reference in the ARM bootloader code.
Correct the message to something more appropriate....
Thanks to Rene for the suggestion ;)
This is to make sure all ARM platforms will benefit from planned work on this
MMU/CPU code. The less code duplicated, the better.
Compile-tested for all supported ARM platforms
The DOI (Digital Object Identifier) is a unique identifier
for (scientific and other...) publications.
While the doi: URI scheme was only a draft, it's not totally unlikely
that we ever hit such a URI, in this case we just redirect to the
official DOI website.
cf. http://tools.ietf.org/html/draft-paskin-doi-uri
* Read/Write up to 1024x1024 icon sizes.
* All build-in icon sizes available as pages in ShowImage.
* Support only 32-bit icon colors (rgb32 and rgba32) now.
This also implements the fault handler correctly now, and cleans up the
exception handling. Seems a lot more stable now, no unexpected panics or
faults happening anymore.
This will generate asm_offsets.h which makes our assembly code
easier to maintain by preventing hardcoded offsets for fields within structures.
(copied from X86 and removed the X86 specifics)
- BreakpointTableModel now encapsulates both breakpoints and watchpoints.
- Extended BreakpointView and TeamWindow to handle enable/disable/removing
watchpoints as well.
This comes from a similar patch in FreeBSD r234666 but does the check
and acknowledge in the case where we don't have any other interrupts.
Since the interrupt isn't used it is never unmasked and therefore the
check against the interrupt mask will always fail if the TWSI IRQ is
the only interrupt that happened. In that case an interrupt storm would
be triggered that lasts until any other valid interrupt comes along, is
handled and both are acknowledged.
This may help with #8454 on some cards that exhibit the spurious TWSI
IRQs.
Since we now implement HAIKU_CHECK_DISABLE_INTERRUPTS there is no need
to do it again in the interrupt handler. Further, store and carry over
the interrupt status from the hook to the interrupt handler as that is
cleaner and just in case reading the register somehow clears it. May
help with #8454.
This gets basic watchpoint support working. Right clicking on a variable
and picking Watch now opens a prompt with the inferred address, size
and watch type for the user to adjust.
Still needs some work to get them to show/be modifiable in the breakpoints
tab and to get them to respect architectural restrictions (i.e. on x86 we
can realistically only do 2 hardware watchpoints and those are restricted
to write watch), at least until we support software emulated watchpoints.
Move calculating the width of the column title itself out to
OutlineView::GetColumnPreferredWidth(). Previously, each pass would
compute the width of both the field itself and the column title,
leading to considerable redundant work. Also, take outline level indent
into account in the resulting width. Should improve performance a bit.
* don't enforce a zero boundary or a zero alignment
* when going to the next range, takes alignment into account.
It could previously just be enforced again through alignment and loop infinite.
* it should help with some FreeBSD based drivers
- navigate in a single S&T group using (win + left and right arrows)
- minor fixed to the patch
- enable switching between S&T groups on the same desktop again (win + up and down arrows)
Hope window key + arrow keys does not collide with to many apps?
* When in full screen mode, add a tooltip with the window title,
and a keyboard shortcut hint so one knows how to get out of it.
Should help with #7356
* 80 column cleanup
We now parse the user's input to see if it should be a pointer/reference
type and create a derived type accordingly. This allows casting to e.g.
StyledEditApp*.
* Dynamically update the serial port list in the connection menu when devices get added or removed
* Make the settings in the settings menu actually do something
* This makes the keymap behave as in every other operating system.
* I don't really understand the original purpose of this change. Please
enlighten me (see #4464).
* Before, you had to have both, the text view layout item, and the label
layout item or else nothing would ever be visible.
* Now you can only create the text view item, and it will still work.
* Also, no matter the order you added the layout items, they would always
put the label on the left, and the control to the right.
* You can place the label and text view layout items anywhere now, although
you should keep in mind that the view spans over their frame unions; IOW
they should always adjacent to each other, but not necessarily horizontally
and left to right.
* No longer uses a fixed label spacing, but utilizes
BControlLook::DefaultLabelSpacing() instead.
* However, the spacing is always added to the right of the label, no matter
how you place it in the layout. Maybe one wants to add a SetLabelTextViewGap()
like method.
* Adjust BTextView to use B_COMMAND_KEY instead of B_CONTROL_KEY
for wordwise navigation and jumping to the top and bottom.
This requires a shortcut, which is only installed if there is
none already (for the groups B_LEFT_ARROW/B_RIGHT_ARROW and
B_HOME/B_END). As a result, wordwise navigation no longer works
in Mail, for instance.
* drop "protected" from bsd-compat header sys/cdefs.h, as that define
pollutes the global namespace and at least FreeBSD doesn't provide
it anymore
* remove all uses of that macro from libedit, which seems to be the
only user in our tree
This contains both the common ARM(v5) vector handling as well as
the PXA(verdex) specific interrupt controller code, to be seperated
when ARM support for FDT is implemented.
Functional enough to handle interrupts, needs work on KDL support.
* General fixes to get the refactored framebuffer code to work
(across all 3 supported architectures)
* PXA (verdex) specific fixes to framebuffer code.
Now properly displays the (greyed) icons on the framebuffer!
Signed-off-by: Ithamar R. Adema <ithamar@upgrade-android.com>
* since the FDT linux boot method doesn't pass the uimage, we can't
use it to pass the kernel+driver tgz in a multi-file uimage.
* instead we check for the linux initrd properties in the /chosen node.
(cherry picked from my sam460ex branch)
* we first try to find 'serial', 'serial0' or 'serial1' in /aliases
* extract the required properties from the found node and use them
* fallback to the hardcoded UART from the board definition header
(cherry picked from my sam460ex branch)
* add some helpers for Flattened Device Trees, for now a dump call
* dump the passed FDT on startup for now
Conflicts:
src/system/boot/platform/u-boot/Jamfile
(cherry picked from my sam460ex branch)
* For the sam460ex and likely some ARM boards we will try to boot
using the passed FDT, as it's the recommended method now.
(cherry picked from my sam460ex branch)
* U-Boot based loader code will need to manipulate the passed
Flattened Device Tree, no need to reinvent the wheel.
* libfdt itself is dual-licensed GPL/BSD, the later suiting us.
* This comes from <git://git.jdl.com/software/dtc.git> tag v1.3.0
(cherry picked from my sam460ex branch)
nielx+pulkomandy: With the switch from Pootle we switched to the correct
representation of country codes by using lang_COUNTRY (instead of lang_country).
Haiku did not respect that yet and instead always looked for lower case country
codes, thus not finding all the hard work of the pt_BR team.
Other translations currently affected are en_CA and en_GB, though these are not
actively maintained.
+alpha4
On quit, the inspector window needs to detach itself from its current
block and release its reference. Otherwise the next attempt to inspect
the same block will crash since it still contains the deleted window
in its listener list. Also fixes leaking blocks.
This uses custom controls to allow the user to choose between
single and double arrows and none, dots, or line knob styles
in a graphical fashion copied from BeOS Scrollbar preflet.
* Fake-atributes enabled by default (Real attributes require optimization. Too slow with big and fragmented volumes.)
* Upadted mime-table for file extension to mime-type mapping.
* Fix for fake-attributes mode switching.
* Fix: the size of dirent struct in the fake attributes was counted incorrectly
* Directory reading code was re-written from scratch. That fixes hopefully #7573, #4974, #4877, #9082
* Create, rename, unlink routines were completely reimplemented
* Added fully functional support of extended attributes. This fixes#6509
Draw the return key with rounded inner corners instead of square, this
builds on top of the changes made in hrev44709. The secret to rounding
the corners was to draw both the edge and background of the individual
sections before drawing the button's background on top minus the
clipped out bottom left section.
+alpha4 (optionally, purely cosmetic but shouldn't hurt)
The ls command, uses blue color for directories. For a directory that
has write permission for others, it uses green highlighting while
displaying the directory name. However, blue text and green highlight
is difficult to read.
The patch keeps the text color as blue and changes the highlight to
yellow.
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>