stuff for the ExtendedPartitionAddOn. If I understand correctly, from the
point of view of the Disk Device API, ExtendedPartitionAddOn is a disk system
which supports child partitions and is analogous to PartitionMapAddOn. The
type string for the supported child partitions is probably wrong, since I
used "Intel Logical Partition".... In fact, the types currently returned by
PartitionMapAddOn are not as intended either. We will have to think of how
we want this particular feature to work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23877 a95241bf-73f2-0310-859d-f6bbb57e9c96
to be able to call BPartition::GetNextSupportedChildType(). For the
PartitionMapAddOn, the types should be either primary or extended, depending
on the number of empty primary partitions and the existance of one
extended partition. DriveSetup shows "Intel Primary Partition" and
"Intel Extended Partition" in the Create menu now. Ingo, please review,
maybe I didn't understand the plan correctly. Also, I tried to follow the
code path, which is quite nested, and am pretty confused.. For example,
I didn't find the place where the CreateChildJob is finally created. Is this
missing yet?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23876 a95241bf-73f2-0310-859d-f6bbb57e9c96
the BDiskDevice of a BPartiton has not been prepared for modifications. To
me, it means the initialization status of the object does not support the
operation, hence B_NO_INIT. B_BAD_DATA hints to me that I have passed invalid
data to a function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23875 a95241bf-73f2-0310-859d-f6bbb57e9c96
use a cached value otherwise. Should speed up icon placement when Tracker
starts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23871 a95241bf-73f2-0310-859d-f6bbb57e9c96
* If in B_WIDTH_AS_USUAL mode, the strings in the tabs are nevertheless
truncated to the available width.
* Pass the real area available for the string to BTab::DrawLabel(), resolved
TODO in DrawLabel() about not having to calculate an offset to account
for the slope.
* Fixed some too lines of code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23869 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The BMediaTheme now uses B_WIDTH_FROM_LABEL for tabs in tabviews,
this makes tabs as wide as they need to be.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23868 a95241bf-73f2-0310-859d-f6bbb57e9c96
* BTimeSource now checks if it is about to add itself as a slave node
and refuses to.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23867 a95241bf-73f2-0310-859d-f6bbb57e9c96
spaces. This way we can use all the existing logic to select them in either
list view or the disk layout view. IAW, selecting empty spaces now works.
* Changed the way the Create menu works. It is now only enabled if a space
item is selected and then the sub items are filled with the types that
the parent partition says it supports for child creation. (Does not
yet seem to work.)
* PartitionViews for spaces were not put into the partition_id -> view map.
* Fixed focus indication when switching the disk for the disk layout view,
previously, the correct view was only selected when the disk did not change.
* Added a temporary work around to avoid showing bogus space items at all
(those smaller than a "cylinder size"). Currently hard coded to 8 MB size.
But I already have an idea how we could fix this in the Disk Device API
implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23854 a95241bf-73f2-0310-859d-f6bbb57e9c96
name ("Intel Extended Partition"), this allows disks with extended partitions
to successfully PrepareForModifications(). I have just used DriveSetup to
initialize a partition with BFS. Yay!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23851 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use our own BBitmapStringField implementation which also requires our
own BColumn implementation. This is just a visual improvement which makes
both the eventual partiton icon and device label indent with the outline
level of the list item
* when setting the Unmount menu item enabled state, check wether the
partition in question is the /boot volume and disallow unmounting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23845 a95241bf-73f2-0310-859d-f6bbb57e9c96
ReadAt() and Read() with regards to the file position. Ie, WriteAt()
is not supposed to modify the data pointer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23830 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added optional tracing for the main operations
* fixed bad pointer arithmetic when reallocating/moving the object's data
* it was impossible to remove the very first space via _RemoveSpaces()
* added a little more variaty to error return codes for some
functions to make them a little more helpful
-> This fixes the bogus space values in DriveSetup (#1737)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23824 a95241bf-73f2-0310-859d-f6bbb57e9c96
PrepareModifications() on the parent BDiskDevice first. Hm. I should
probably reorganize things a bit.
* Selecting these empty spaces is still not supported.
* Fixed inserting empty spaces in the DiskView at the correct index.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23812 a95241bf-73f2-0310-859d-f6bbb57e9c96
partitions - I couldn't test it yet, but what is definitely missing
is being able to select these spaces to create new partitions on them
* fixed the bug that if you select a partition on another disk, the
disk view does not switch to the new disk. (I was comparing disk
pointers, but since I deleted the old BDiskDevice instance first, the
new one got assigned the same pointer... at least it appears I am not
leaking memory anywhere... :-))
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23811 a95241bf-73f2-0310-859d-f6bbb57e9c96
one has actually been compiled on Haiku and uses better network options, since
it uses BONE headers. On Rene's machine, this version is running since 2.5
days under Haiku. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23795 a95241bf-73f2-0310-859d-f6bbb57e9c96
with an unsupported sound card or the like, the fSoundOutput initialization
is checked in more places.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23764 a95241bf-73f2-0310-859d-f6bbb57e9c96
* a little cleanup in PartitionList to respect the 80 chars/line limit
* added PartitionList::AddSpace() and alternative PartitionListRow
constructor in preparation for support of empty spaces on devices
* refactored a _InsertIndexForOffset() method, the insertion index is
now based on offset instead of partition_id (untested)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23761 a95241bf-73f2-0310-859d-f6bbb57e9c96
views don't have a valid screen clipping yet. If then later we want
to invalidate the clipping of an entire hierarchie, the traversal stops
before reaching some of the child views, because the assumption was that
for any views with invalid screen clipping, their child views have invalid
screen clipping as well. Though this might cost a little performance, we
always invalidate the screen clipping of all child views, ignoring the
flag of the current view. Fixes ticket #1198 (garbled screen clipping of
E-Mail prefs and WonderBrush tool area when switching tabs).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23688 a95241bf-73f2-0310-859d-f6bbb57e9c96
having these
* added DriveSetup to the image
* added optional package Pe, enable it in your UserBuildConfig
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23670 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the structure of the add-on was originally designed to handle all kinds of
different input devices, but has been limited to handle Wacom tablets for
now, since our mouse add-on handles the rest already.
* various Wacom Tablets are supported including Cintiq Partner, Graphire,
Graphire2/3/4, Intuos, Intous2/3, PenStation, PenPartner and Volito
TODO: Currently, the add-on does not work for some reason, though the kernel
driver publishes a devfs entry and the input_server picks it up, the Wacom
device thread is running. Need to investigate...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23667 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the driver should be generic for all Wacom tablets, but there is a
special control transfer to put the devices in to "absolute mode", it
may not work with future tablets. The driver allows to use read devices,
for which there is a special protocol. If the read request has a certain
size, then the driver will transmit info on the device, like the vendor
and product id as well as the max the packet size, for reads larger than
that, it will issue an interrupt transfer and put the raw data received
from the device behind the info header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23666 a95241bf-73f2-0310-859d-f6bbb57e9c96
management
* added labels for partitions in the DiskView
* added selection via clicking a partition in the DiskView
* indicated menu items for unimplemented features
* added help message for freshly opened DriveSetup
* added TODO file with some of my ideas for the next steps
* refactored adoption of current disk/partition, the disk is not
unnecessarily deleted and recreated anymore
* gone is the colorfulness, the partitions are colored in greys according
to their level in the hierarchy
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23633 a95241bf-73f2-0310-859d-f6bbb57e9c96
since the changes to where the mime database write support lives
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23629 a95241bf-73f2-0310-859d-f6bbb57e9c96
MainWindow::_Initialize()... setting the name and block size should work,
though I have not tested this yet due to lack of available partitions.
TODO: Use driver settings API from libroot to build the parameter string
and move the GUI of the InitParamsPanel into the BFS add-on, implement
BPartition::GetInitializationParameterEditor() accordingly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23561 a95241bf-73f2-0310-859d-f6bbb57e9c96
in the critical error handler. In the high level function, the jmp_buf is
now allocated on the stack and placed in the "cinfo->err" structure. This
should make the mechanism thread-safe. Unfortunately, we don't use the
original libjpeg anymore as is, but this seems to be frozen code since a
few years anyways. If you have any better suggestions, please don't
hesitate to mention them! :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23560 a95241bf-73f2-0310-859d-f6bbb57e9c96
that only loads bitmaps and is supposed to return a status_t error from
the Translate() function, especially for people using this in mission
critical applications.
The requirements on the error handler that is
to be installed for the jpeg library are not to return to the calling
function for critical errors. C++ exceptions seem like the
natural solution to the problem, but unfortunately, they simply don't
seem to work, possibly because we are inside an add-on. Ingo had the idea
to use setjmp() and longjmp() to go directly from the error handler back
to the top level code and this works. I have implemented this from what
I understand from reading the opengroup spec, but the compiler currently
issues a warning. Feel free to fix. The desired effects are achieved though,
the translator recovers correctly from broken jpg files now.
Also, I don't know if the translator should somehow "uninstall" the
breakpoint. Again, feel free to fix or tell me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23559 a95241bf-73f2-0310-859d-f6bbb57e9c96
* sort the partitions by id (TODO: should be disk offset, but works as
intended now)
* expand the partition tree entries by default
* renamed DriveVisitor to ListPopulatorVisitor, moved implementation into
class definition
* added MountAllVisitor and used it to implement according menu item
* added menu item members to MainWindow, so it keeps the pointers
* added MainWindow::_EnabledDisableMenuItems() which looks for the
current disk and partition and their properties to en-/disable the items
* moved BDiskDevice member from DiskView to MainWindow, renamed to
fCurrentDisk
* implemented mounting and unmounting the currently selected partition,
mounting works, unmounting does not work as in Tracker, but the error
description is not as helpful, or just as helpful, since Force Unmount
does not work in Tracker at the moment
* implemented initializing the selected partition, not tested to the end,
but likely works, so beware! (TODO: finish the parameter window and use it,
partitions are hardcoded to "BFS Init Test" and 2048 blocksize). The
process displays a warning at the beginning and another one at the end
before writing anything to disk, but please do take it seriously... :-)
* store and restore the listview column settings (width of columns mostly)
* more appropriate usage of the BDiskDeviceRoster API
* improved DiskView display a little with frames and more contrast in the
colors
* implemented FrameResized() to adapt the box layout
* no longer pass disk pointer to BDiskDeviceRoster::VisitEachPartition(),
since it will overwrite it!
* no longer use BDiskDeviceRoster at all, BPartition::VisitEachDescendant()
is what we need
* added a WIP InitParamsPanel, does not compile, but is not added to the
Jamfile yet, it will be a blocking panel like a BAlert and will later
be refactored into the parameter editor add-on for BFS
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23545 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fix a rounding problem when layouting the image
Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23427 a95241bf-73f2-0310-859d-f6bbb57e9c96
B_MOUSE_MOVED message does not already contain the same buttons as a
following B_MOUSE_DOWN message... fixes mouse clicks being ignored
when you are moving the mouse at the same time when clicking
(using Haiku's mouse input_server device on BeOS or ZETA)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23421 a95241bf-73f2-0310-859d-f6bbb57e9c96
* handle one more allocation failure in device_added
* improved style consistency in a few places
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23409 a95241bf-73f2-0310-859d-f6bbb57e9c96
and you never pressed any key on the usb keyboard, you could suddenly
be flooded with a random key...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23403 a95241bf-73f2-0310-859d-f6bbb57e9c96
which already existed in the region backend ported from XOrg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23394 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixes the content inside the tabview in the Media preflet spanning over
the wrong area (wrong insets)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23338 a95241bf-73f2-0310-859d-f6bbb57e9c96
mouse case in the ioctl() hook. Should be considered work in progress.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23330 a95241bf-73f2-0310-859d-f6bbb57e9c96
* changed the way the interrupt schedules and repeats are handled, the
input server thread (via ioctl) is now triggering the scheduling and
processing of usb interrupt transfers. As long as it is blocking on
the usb_callback semaphore, it is using it as timeout for the key
repeats.
-> no more deadlock because the driver is issuing usb commands from
within the usb_callback function (hotplugging should be fixed
when using the Haiku usb stack)
-> the driver is no longer installing one timer per key down event
-> simplifications
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23328 a95241bf-73f2-0310-859d-f6bbb57e9c96
mouse events would not be passed to the correct children of views with
B_DRAW_ON_CHILDREN flag set -> fixed. (fixes#1673)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23300 a95241bf-73f2-0310-859d-f6bbb57e9c96
deserve to be mentioned... please speak up and I will correct it on
the spot! :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23297 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the Revert button always returns to the settings which were active
when the preflet was started
* the Defaults button always applies the default settings (the Revert
button then still reverts to the original settings instead of those
which were active when "Defaults" was pressed)
* the enabled state of the two buttons is correctly maintained
* code cleanup and refactoring
Thanks a lot, aldeck!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23296 a95241bf-73f2-0310-859d-f6bbb57e9c96
frame around the currently selected partition (in the listview)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23290 a95241bf-73f2-0310-859d-f6bbb57e9c96
non-traight lines extending past the thumb frame because of anti-aliasing
effects
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23286 a95241bf-73f2-0310-859d-f6bbb57e9c96
* add support for B_HOME and B_END key (jump to min/max value)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23285 a95241bf-73f2-0310-859d-f6bbb57e9c96
by toggling pointers instead of assigning/transfering regions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23272 a95241bf-73f2-0310-859d-f6bbb57e9c96
* cleanup the code in a few places
* fixed a bug where the border region would not be made empty if there
was a decorator previously, but there is no new one
* slight improvement for memory footprint of WindowLayer by using bit fields
for more of the flags
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23271 a95241bf-73f2-0310-859d-f6bbb57e9c96
* improve the placement of text in the shutdown window
* define constants for the width of the "stripe" and icon size
Thanks! Fixes#1697.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23270 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed bitmap fonts for real (applied the wrong patch last time)
* some cleanup for coding style by myself (in other places)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23269 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed rendering of certain chinese fonts
(I think it fixes rendering of bitmap fonts in general, but it should not
support rotated text AFAIKT, since that is only supported for vector fonts)
Nice work, Anthony, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23261 a95241bf-73f2-0310-859d-f6bbb57e9c96
caused messed up undo/redo when removing multibyte UTF8 glyphs via forward
backspace
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23156 a95241bf-73f2-0310-859d-f6bbb57e9c96
* improved naming of some private BView functions and used our underscore
prefix
* added a _DrawAfterChildren method to BView which does the necessary setup
and calls the DrawAfterChildren hook
* call the new _DrawAfterChildren method in the BWindow implementation, this
was easy since the view tokens are already hierachically sorted
* implement support for B_DRAW_ON_CHILDREN in the app_server's ViewLayer, it
simply means that children are ignored for the views clipping region, any
drawing methods will paint over children (therefor the B_DRAW_ON_CHILDREN
flag is even properly named)
With these changes, support for B_DRAW_ON_CHILDREN and the DrawAfterChildren()
hook are implemented and behave exactly as on R5 as far as I can tell, also
for the view background painting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23154 a95241bf-73f2-0310-859d-f6bbb57e9c96
correctly setup anyways, since libmail.so was not part of it (at least
not commited to the repo)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23151 a95241bf-73f2-0310-859d-f6bbb57e9c96
* build DriveSetup for the test environment, though it doesn't display anything
in that mode... just to work on some general things, maybe I add a fake
partition tree just to test things later
* cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23095 a95241bf-73f2-0310-859d-f6bbb57e9c96
not negative
* PathSource can now remember a global scale, and the IconRenderer sets
it, since this value is used in the curve converter for on the fly
generation of vertices, this change does not affect anything and doesn't
create the need to "update" the conversion pipeline to render an icon at
different sizes (like Icon-O-Matic does)
-> this change fixes edgy curves on icons rendered bigger than 64x64 as
reported by Axel some time ago
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23093 a95241bf-73f2-0310-859d-f6bbb57e9c96
position on screen (fixes drawing glitches in patterns when the view
was moved on screen (for example because the parent window got moved))
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23089 a95241bf-73f2-0310-859d-f6bbb57e9c96
on my P35 with JMircon controller. I still have the "pci fixup" disabled
though. Without this change, I could boot until the blue desktop background
with cursor, but all the apps were in frozen state and would not display
on screen (F12 worked and showed Tracker and so on as running teams, but
I could not even move the mouse)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23015 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fix the problem with duplicated parent partition entries, we need to recurse
into child rows when findig a particular BRow, or else RowAt() or CountRows()
will only return the top level list entries
* disabled the bitmap column for now, to get a better overview of "level"
* display the device path also for partitions, not just devices
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22889 a95241bf-73f2-0310-859d-f6bbb57e9c96
* add partition creation menu items
* filter filesystems by their support for "initializing"
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22855 a95241bf-73f2-0310-859d-f6bbb57e9c96
that same nick, not a different one)
* performance improvement in Draw() (using ItemFrame() in the inner loop scales
really bad)
* fixed scroll range for when BListItem::Height() is non-integer (scrolling
all the way to the bottom in Visions nick list works now)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22835 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed +/- 1 bug in _BTextGapBuffer_::GetString()
* used the correct text and offsets in BTextView whenever the visible
text is to be used
* when copying to the clipboard, copy the bullets
* when dragging the text, drag the bullets
TODO:
* test more with UTF8 chars in the original text (I am unsure if fSelStart
and so on is really in bytes rather than glyphs)
* test with multiple font styles
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22787 a95241bf-73f2-0310-859d-f6bbb57e9c96