which I misunderstood. setdecor can now refer to decorators by their
short (i.e. file system) name as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41602 a95241bf-73f2-0310-859d-f6bbb57e9c96
This changes how Decorators are managed and applied. The app_server
no longer scans and maintains the available ones himself, but is
simply asked to load a Decorator add-on from a provided path.
The Decorator scanning is moved into DecorInfo and DecorInfoUtil,
private classes in the InterfaceKit. The bin command 'setdecor'
uses those.
I cleaned up all the coding style violations that I could find,
removed chunks of code which didn't make sense (if you never put
a NULL pointer into a list, you don't need to check for this and
so on) and also cleaned up other passages for improved clarity
and simplicity.
I also tested the functionality and it works fine. Would even be
Ok to include in Alpha 3, IMHO. Thanks for the patch!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41581 a95241bf-73f2-0310-859d-f6bbb57e9c96
a multi-document application. This is already more useful than
before, but will be even more useful once it is possible to copy
more types of objects to the system clipboard and paste them into
other open icons.
* Fixed wrong snapping menu item being marked when restoring settings
that enable a different snapping mode from the default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41212 a95241bf-73f2-0310-859d-f6bbb57e9c96
icon scale is larger than the maximum visibility scale of
4.0f. This just means you cannot prevent shapes from
rendering in icons rendered larger than 256x256.
visibility scale is 4.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41206 a95241bf-73f2-0310-859d-f6bbb57e9c96
to get the main menu bar to report the correct minimum size. My
previous commit with regards to setting the correct minimum window
size introduced a regression that the window could not shrink below
it's initial size because of some backwards compatibility behavior
of BMenuBar (IIRC).
* Inserted a content view to hold the tool bar and the show image
views. This one does not use layout management, so that everything
pretty much works as before.
* Showing/Hiding the tool bar is now animated.
* When the tool bar is enabled in principle, it will automatically
show in full screen mode when the user moves the mouse. When the
mouse is not above the tool bar, it is hidden after a delay.
* Added a right-aligned "Leave full screen" icon to the tool bar.
* Improved the workings of the slide show icon. As before, it automatically
triggers full screen mode. It is now pressed when the slide show is
running. Clicking it again just stops the slide show without affecting
the full screen mode (i.e. also not when the user left full screen mode
meanwhile).
There are some problems with images not being automatically sized to
the full screen size as would be expected. This needs to be fixed, yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41202 a95241bf-73f2-0310-859d-f6bbb57e9c96
will stretch the icons across the available space. However,
it's possible to still add items afterwards, which makes those
items right-aligned.
* Added SetActionVisible() to show or hide icons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41200 a95241bf-73f2-0310-859d-f6bbb57e9c96
I suppose it was discussed on the i18n list as mentioned in that
commit. However two things, Humdinger: 1) You did not test your commit,
and 2) You did incomplete cleanup. If you had removed the member variable
from the StyledEditWindow header, you would have gotten at least a
compile error. Those things being said, I did not test my changes
either... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41187 a95241bf-73f2-0310-859d-f6bbb57e9c96
* When exporting for the first time, use the native saver's file
name to initialize the file panel save text.
* Don't shadow exportMode variable.
* Small cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41181 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Do not implement backbuffering. Besides being inefficient on Haiku it solves
the grey area on start up.
* Reimplement scrolling and layouting the canvas. The mouse cursor is now the
anchor when scrolling with the mouse wheel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41180 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Make validating the scroll offset in SetDataRect() optional.
* Introduced SetDataRectAndScrollOffset() to set both atomically.
This avoids some unwanted feedback when having to set them
both anyway, but hook methods are called and re-enter back into
the client code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41179 a95241bf-73f2-0310-859d-f6bbb57e9c96
the application to set the file panel save text to the previous
ref name.
* Wait for the export thread to finish writing the file before
trying to set the icon attribute. Usually it never worked when
saving a file for the first time, since the file did not yet
exist.
* Report errors to std::err.
* Code style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41178 a95241bf-73f2-0310-859d-f6bbb57e9c96
which triggers MainWindow::ObjectChanged() and locked the window, this could
happen at a time where the application already has the MainWindow locked in _Open(),
and tries to execute fDocument->MakeEmpty(), which in turn waits for the export
thread to finish.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41152 a95241bf-73f2-0310-859d-f6bbb57e9c96
left side of the interface below the menu bars
minimum width. Resolves cut off strings with
localization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41149 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed the full-screen icon, since the zoom icon of the window
already does the job.
* Added an icon for the slide show, but it additionally goes into
full-screen mode.
* Added appropriate work arounds for bugs in the Interface Kit
concerning the hiding of tool-tips, and a bug in the app_server
concerning the invalidation of unhidden views...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41065 a95241bf-73f2-0310-859d-f6bbb57e9c96
an appropriate offset when the button is drawn in
pressed look. Fixes the bitmap being drawn with a
much too big offset.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41056 a95241bf-73f2-0310-859d-f6bbb57e9c96
View menu)
* The previous/next, selection mode, zoom actions and full screen
mode are accessible via tool bar.
* The tool bar can currently not be shown in full screen mode.
Eventually, I want it to work like in MediaPlayer when it is
generally enabled.
* Fixed capitalization "Selection Mode" into "Selection mode"
(needs catalogs update for all languages).
* When leaving selection mode, clear the selection. Especially
with the new tool bar icon, it looked really weird and irritating
when the selection persisted.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41055 a95241bf-73f2-0310-859d-f6bbb57e9c96
derived classes. This is now used for storing and restoring DataSources
in/from the ActivityView archive. Fixes replicant restoration after
switching the preferred system language.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41027 a95241bf-73f2-0310-859d-f6bbb57e9c96
the swap file specifically. There is already a TODO in
the code for replacing this mechanism with something
cleaner and more flexible. Resolves ticket #7367.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41026 a95241bf-73f2-0310-859d-f6bbb57e9c96
no default font at all, in which case we have more serious worries. CID 1559.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40884 a95241bf-73f2-0310-859d-f6bbb57e9c96
in sprintf() invokations, specifically to avoid reading more
bytes than are contained in the passed arguments. Thanks! Small
cleanups of the touced code by myself included.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40876 a95241bf-73f2-0310-859d-f6bbb57e9c96
volumes. I've decided not to put this into InstallerInitScript, as I reckon
the script is to customize the installation process more than to be a critical
part of the process.
* Make mirroring the existing indices onto the target volume ignore more errors.
This should be the final fix for ticket #7320.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40836 a95241bf-73f2-0310-859d-f6bbb57e9c96
was taken from sourceDirectory, and fs_read_index_dir does not set
errno when returning NULL (i.e. no more index entry), which resulted
in the logic to think an error happened, but it only carried over from
fs_create_index() when the index already existed. I think lsindex
needs to be fixed as well, since it checks errno after
fs_read_index_dir(). In case fs_read_index_dir() is supposed to set
errno, it should reset it internally before it's possible to encounter
any error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40820 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note that it would have been an option to invoke mkindex, which has
a similar mirroring option, in the InstallerInitScript, but I favor
making Installer depend on as few external tools as possible.
* Very small cleanup in _PerformInstall(). It should be broken up more
into individual methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40816 a95241bf-73f2-0310-859d-f6bbb57e9c96
tracker task thread, which got broken/removed in r40226.
* Also fixed a race condition that the previous code
had, which is that after unlocking the window, the task
thread could be interrupted, the window could theoretically
go away and the view be destroyed before the thread continues,
but we still access/dereference the BView pointer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40698 a95241bf-73f2-0310-859d-f6bbb57e9c96
virtual but only static methods, it is not so likely that binary compatibility issues may arrise
from using it in new apps. Adjusted all the Jamfiles that included the private libicon headers. Note
that it was never necessary to link against libicon.a, since it's part of libbe anyway. There was one
instance where that was done. Hopefully it does not break the build, but I did this change a while ago,
tested it and then the harddrive began failing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40679 a95241bf-73f2-0310-859d-f6bbb57e9c96
and uses it when old B_CMAP8 icons are to be upscaled exactly 2x. Looks much
better than the previous blurry bilinear scaling. Small cleanups by myself,
closes#7130, thanks a lot!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40678 a95241bf-73f2-0310-859d-f6bbb57e9c96
use in derived classes without enforced code paths... (CID 10252).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40639 a95241bf-73f2-0310-859d-f6bbb57e9c96
to be locked before its font is retrieved or items are added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40623 a95241bf-73f2-0310-859d-f6bbb57e9c96
icons.
* Imported a few of zuMi's awesome tool bar icons as C code. Doing
it this way imposes the least start up panalty (10ms on my Core 2 Duo,
which is imperceptable when usually opening some largish image).
* The init code is run, but there is no tool bar yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40588 a95241bf-73f2-0310-859d-f6bbb57e9c96
into libshared.a as BPrivate::BIconButton. Removed some outdated functionality
as well (now only uses BControlLook for drawing, cleaned up custom drawing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40587 a95241bf-73f2-0310-859d-f6bbb57e9c96
frame when quitting ShowImage in fullscreen mode, but the old window frame
instead which would be restored when leaving fullscreen more.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40561 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a Rating menu to the ShowImage window, to easily
give the current image a rating (uses same attribute as other
types of media, i.e. MediaPlayer).
* ShowImage no longer tries to adapt the window size of newly
opened windows to the image that is loaded into them. I've found
that the most annoying ShowImage misbehavior. I don't know why
this was thought to be a good idea, maybe it was useful in
BeOS presentations when you select 20 images in a folder and
make them pop up all at once. I however use ShowImage mainly
to view at fotos, all of which are larger than my screen, so
ShowImage would basically _aÃlways_cover up everything, even
though there is the fullscreen mode for that. Now, ShowImage
remembers the last used window position, new windows will open
at an offset. In another words, you can now have a Tracker
folder of images open, view one, close the window, view another,
ShowImage will open at the previous location, all very convenient
and expected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40556 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Some updating to new header indentation style
* Improved consistency of asterix style in FileTypes.cpp.
* Implemented passing -type some/type on the command line and having
that type initially selected in the FileTypesWindow. (Unfortunately
BOutlineListView::ScrollToSelection() is broken.)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40472 a95241bf-73f2-0310-859d-f6bbb57e9c96
If the user removed the groups attribute from the Person MIME type, People would
crash when trying to open any menu. (untested)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40463 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Make sure that video and audio default to display rating as rating (untested).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40382 a95241bf-73f2-0310-859d-f6bbb57e9c96
is now only a fallback attribute list which is install in case the Person
MIME type has no attributes at all. Otherwise the GUI is completely driven
by the current Person attributes, as configured (and sorted) by FileTypes.
This has been on my mental TODO list since years. Finally one can add
a "Cell phone" attribute in Filetypes and actually see and edit it in
People. Or a birth day attribute. If I had read the previous code correctly,
it was only due to a bug that People did not remove those any attributes
on every launch.
I've tested this quite a bit, but it wouldn't hurt to test it some more.
The only "regression" I am aware of is that State and Zip code are not
in one line anymore. Perhaps this feature could be reintroduced by looking
at the display width and if two attributes are short, put them in one line...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40381 a95241bf-73f2-0310-859d-f6bbb57e9c96
to manually sort the attributes and b) very obvious how to do it. Drag&drop
sorting should be implemented eventually (more convenient but less obvious),
but this works pretty well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40380 a95241bf-73f2-0310-859d-f6bbb57e9c96
if all other attributes are the same as before. This first is helping
a feature I am going to commit next, the other is making sure that a
newly created attribute is selected, I pondered other options to realize
this feature against the highly asynchronous model updates, but this
seems to be most robust and highly unlikely to be triggered in accident.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40378 a95241bf-73f2-0310-859d-f6bbb57e9c96
fixed size flag at once. Not sure if this can be merged into one of the
existing GetInfo() variants without breaking binary compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40374 a95241bf-73f2-0310-859d-f6bbb57e9c96
a BSplitView. The layout weight is remembered in the settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40373 a95241bf-73f2-0310-859d-f6bbb57e9c96
related to gradients. This was for example very noticeable when running
MediaPlayer which redraws the slider a lot. With three movies running,
app_server would leak at about 100KiB per second.
Might be related to #7071 or even fix it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40364 a95241bf-73f2-0310-859d-f6bbb57e9c96
in the BSplitView class, related to getting and setting item weights
programatically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40048 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed R5 versions of the code, since I don't believe
other parts of Icon-O-Matic still compile on R5...
* No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39893 a95241bf-73f2-0310-859d-f6bbb57e9c96
the keyboard and fixes ticket #4746. I did not test creating new
partitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39892 a95241bf-73f2-0310-859d-f6bbb57e9c96
the Partition menu shall never be disabled. Fixed enabled state
of some other menus/entries after this change. Fixes ticket #6783.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39891 a95241bf-73f2-0310-859d-f6bbb57e9c96
for some MAPM functions, since they will otherwise
just return 0, instead of indicating an error.
Thanks! Fixes ticket #6398.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39889 a95241bf-73f2-0310-859d-f6bbb57e9c96
* A lot of HID definitions got extracted from USB_hid.h into their
own files. Many more definitions have been added from the specs.
* The names have been moved into the proper B_* namspace.
* The USB hid driver has been adapted for the changes.
Thanks a lot and sorry for the delay!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39874 a95241bf-73f2-0310-859d-f6bbb57e9c96
between the source file list and the controls on the right, and ticket
#6985 is fixed. A lot of issues and quirks remain with this application.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39855 a95241bf-73f2-0310-859d-f6bbb57e9c96
with the previous patch from him.
* More cleanup by myself in MediaConverterWindow::MessageReceived(),
no functional changes intended.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39853 a95241bf-73f2-0310-859d-f6bbb57e9c96
mode for the first selected item (i.e. just like Cmd-E). This makes Tracker
behave as Windows Explorer and at least Nautilus in Ubuntu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39744 a95241bf-73f2-0310-859d-f6bbb57e9c96
thread. After fixing the internal locking of AddOnMonitorHandler in
r38235, running the AddOnManager before scanning add-ons could lead
to a dead-lock in case devices appeared while the input_server was
still initializing. This hopefully fixes#6760 and possibly also
#6819. I've tested in both qemu and on real hardware (quad-core with
3 mice, one tablet and 3 keyboards connected). I've also tested
hot-plugging devices, which still works as expected. The problem may
have already been fixed in the preceding changeset, by elliminating
an extra involved looper. Since node monitor messages were actually
received on the wrong looper, using the looper lock in AddOnManager
did not have the intended effects.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39742 a95241bf-73f2-0310-859d-f6bbb57e9c96
from AddOnMonitor. This solves a concurrency problem in the AddOnMonitorHandler
implementation which called into AddOnManager private methods on the wrong
looper thread without locking. Would have corrupted memory when unplugging
input devices during input_server initialization (so normally not encountered).
The code paths for adding devices were locking already, since those can be
called from other threads as well and this was anticipated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39741 a95241bf-73f2-0310-859d-f6bbb57e9c96
yet take the AddOnMonitorHandler (and also does not Run() the looper
automatically). Added SetHandler() method which allows to set the handler
afterward. Does not require updates in existing clients.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39740 a95241bf-73f2-0310-859d-f6bbb57e9c96
in Deskbar (registrar is a background application). Fixes ticket
#6809.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39385 a95241bf-73f2-0310-859d-f6bbb57e9c96
works on all host platforms, fixes the build on Linux at least.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39384 a95241bf-73f2-0310-859d-f6bbb57e9c96
to Invoke() in MouseUp() in the code path for keyboard control.
Should fix ticket #6792, but I have not actually tested it.
* Don't post notification values in KeyDown() when the value did
not change because it was constrained between min and max values.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39323 a95241bf-73f2-0310-859d-f6bbb57e9c96
function in the common accelerant code wasn't public in the first
place and the patch was a correction for r37670, sorry for
missing that. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39321 a95241bf-73f2-0310-859d-f6bbb57e9c96
few warnings. Thanks! I did not apply the hunks about moving
a logging function in the common accelerant code to be static.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39320 a95241bf-73f2-0310-859d-f6bbb57e9c96
passing an additional -Wall to the compiler, which may actually
have unwanted effects. -Wall is standard by the build system.
Also, -Wno-multichar was passed unnecessarily for Haiku targets.
I didn't remove it for the bfs_shell, hope this is what Ingo meant
in the ticket.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39314 a95241bf-73f2-0310-859d-f6bbb57e9c96
hints at a possible problem: Within the process_options() function, the
code does not make sure that size is a multiple of the option length
(unless I missed something) and thus the loop could wrap the unsigned
size variable, and not exit as intended. Make size an ssize_t and cast
where appropriate, after making sure it's initially a positive value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39309 a95241bf-73f2-0310-859d-f6bbb57e9c96
don't currently compile since not all of the Services Kit classes are included
in the build ATM.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39163 a95241bf-73f2-0310-859d-f6bbb57e9c96
Integrated the classes in the Network Kit (libbnetapi.so). Only the foundation
classed BUrl, BUrlContext, BNetworkCookie, BNetworkCookieJar and the private
HttpTime code is currently compiled. The BUrlProtocol currently contains some
misplaced BUrlProtocolHttp specific stuff, and the HTTP stuff itself has a
dependency on libcrypto and should live in an add-on instead. I've sprinkled
some TODOs in the code, and I've done some renaming compared to the last
version of the GSoC patch. Any help to bring this further along is appreciated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39161 a95241bf-73f2-0310-859d-f6bbb57e9c96
about the contained tracks from media files. Display an alert
accordingly. Fixes ticket #6497. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39157 a95241bf-73f2-0310-859d-f6bbb57e9c96
work in progress, don't remember how far I got. Supposed
to extract the image file and document page navigation
from ShowImageView. Not included in build. Untested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39101 a95241bf-73f2-0310-859d-f6bbb57e9c96