Commit Graph
100 Commits
Author SHA1 Message Date
Stephan Aßmus f3997b74b3 Applied patch by Pete Goodeve (with small coding style corrections)
which fixes vertical BSliders. (ticket #7548) Thanks a bunch!
+alpha


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 15:39:34 +00:00
Stephan Aßmus 8102d8b3ad When cleaning up the patch, I accidentally removed some functionality
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
2011-05-20 07:18:40 +00:00
Stephan Aßmus b46615c55a Applied patch by Joseph "looncraz" Groover from ticket #7445.
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
2011-05-19 15:25:54 +00:00
Stephan Aßmus 5568f4014d Pixel aligned the arrow. Would be nice if someone uploaded this to the website and replaced the current download background
graphics with this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-02 21:54:48 +00:00
Stephan Aßmus 22c7e6324c Implemented loading a new icon into the same window when that
window is empty.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-17 19:21:09 +00:00
Stephan Aßmus 5a6d9c8288 Rotating path indices is implemented since some time...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-17 19:20:25 +00:00
Stephan Aßmus e6da4edf67 Update window title with file name when it is known.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-10 22:53:38 +00:00
Stephan Aßmus 61ee19d10f * A whole buch of refactoring and other changes to make Icon-O-Matic
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
2011-04-10 22:32:51 +00:00
Stephan Aßmus e9e50497fc Don't prevent shapes from being rendered when the global
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
2011-04-08 18:34:11 +00:00
Stephan Aßmus 94fd94986a * The window uses layout management in principle. This was necessary
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
2011-04-08 15:08:33 +00:00
Stephan Aßmus e1ae00a962 Added icon for leaving full screen mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-08 15:00:25 +00:00
Stephan Aßmus 11b2388364 * Added AddGlue() method. If this is not used, the tool bar
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
2011-04-08 14:59:54 +00:00
Stephan Aßmus 9b13c4181c Compute window size limits at least with the minimum menu bar
and tool bar width taken into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-08 12:21:53 +00:00
Stephan Aßmus 65b917918b Decreased the unused spacing in the tool bar.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-08 12:08:39 +00:00
Stephan Aßmus 871620540d Follow up commit on r41184, which removed the Edit->Clear menu item.
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
2011-04-06 08:47:48 +00:00
Stephan Aßmus 73b0cf2c46 Removed dead code (CID 2858).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-04 15:47:16 +00:00
Stephan Aßmus 1c3b1649cd Fixed buffer overrun, CID 4338.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-04 15:36:23 +00:00
Stephan Aßmus 9705667601 * Created separate PNG exporters for 16x16, 32x32 and 64x64 sizes.
* 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
2011-04-04 09:39:25 +00:00
Stephan Aßmus aedb8a1c34 * Small cleanups.
* 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
2011-04-04 09:37:33 +00:00
Stephan Aßmus 59383a8c46 * Exposed ValidScrollOffsetFor() as public method.
* 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
2011-04-04 09:25:07 +00:00
Stephan Aßmus e62d9c79e1 * Inherit from SimpleFileSaver, which enables the logic in
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
2011-04-04 09:21:43 +00:00
Stephan Aßmus 1c4001e299 * Code style cleanup.
* Make WaitForExportThread() available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-04 09:19:48 +00:00
Stephan Aßmus 1f3678c179 * Don't return the export thread id as error code in Export().
* Added WaitForExportThread() method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-04 09:18:27 +00:00
Stephan Aßmus 3587919e02 Fixed possible dead-lock. The export thread invokes fDocument->CommandStack()->Save();
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
2011-03-31 14:43:09 +00:00
Stephan Aßmus c9c3e1ab81 Removed some dead and broken code for setting a document icon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-31 11:45:25 +00:00
Stephan Aßmus d19e434d9c Style cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-31 11:43:14 +00:00
Stephan Aßmus cf4224b6da Use layout aware BMenuBars and do not shrink the
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
2011-03-31 10:10:59 +00:00
Stephan Aßmus a877c0e7d8 * Changed the previous/next icons to the ones intended by zuMi.
* 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
2011-03-21 10:59:10 +00:00
Stephan Aßmus ddc9530b4d The frame that the bitmap is centered in has already
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
2011-03-20 12:59:01 +00:00
Stephan Aßmus cf0d830818 * Display a tool bar by default (setting can be toggled in the
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
2011-03-20 12:53:38 +00:00
Stephan Aßmus d1901581f4 Introduced DataSource::InternalName(), which must be implemented by all
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
2011-03-19 16:38:30 +00:00
Stephan Aßmus e6c49e10f9 Don't ignore the entire var directory, but rather only
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
2011-03-19 13:49:28 +00:00
Stephan Aßmus 1d1031cf27 Duh, of course fStyle can be NULL in SetStyle(), which is for example
called from the constructors...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:47:57 +00:00
Stephan Aßmus 663738e98e The whole file assumes fStyle cannot be NULL, and it can't be NULL unless there is
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
2011-03-08 21:36:35 +00:00
Stephan Aßmus 87911f6c6e fClippingRegion cannot be NULL at this point (or at least is not supposed to be). CID 3167.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:26:17 +00:00
Stephan Aßmus a498a54794 Don't hide the dragMessage parameter (which was unused). CID 5333.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:04:29 +00:00
Stephan Aßmus de68adf69b Secure coding, sprintf->snprintf. CID 6321.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:59:00 +00:00
Stephan Aßmus f1aceeca70 Initialize hash_link. I don't think it could be used uninitialized, but it never hurts...
CID 9468.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:55:01 +00:00
Stephan Aßmus 54fff0c456 Fixed resource leak in error code path. CID 5888.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:48:09 +00:00
Stephan Aßmus feacc2de79 Patch by starsseed from ticket #7341: Use correct format strings
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
2011-03-08 20:23:03 +00:00
Stephan Aßmus 670fbd136a Typo fixed and debug left-over removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-06 10:34:16 +00:00
Stephan Aßmus 45739d5d4b * Added creation of default indices, as are currently present on regular Haiku
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
2011-03-06 10:25:25 +00:00
Stephan Aßmus df4e063a13 Of course I did not get this right on first try... the targetDevice
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
2011-03-05 17:37:24 +00:00
Stephan Aßmus a2dc49b516 * Mirror all the indices from the source volume to the target volume.
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
2011-03-05 16:14:52 +00:00
Stephan Aßmus 7d805b2d52 * Fixed unlocking the window before suspending the
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
2011-02-26 09:56:48 +00:00
Stephan Aßmus 4153964a10 Moved IconUtils.h to Interface Kit and therefor made it an "official" header. Since the class has no
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
2011-02-25 09:12:38 +00:00
Stephan Aßmus ed95053221 Applied patch by John Scipione that adds the scale2x algorithm to BIconUtils
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
2011-02-25 08:34:18 +00:00
Stephan Aßmus 581144ea46 fLastSnapTime was never initialized, which may have prevented
snapping to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 11:36:26 +00:00
Stephan Aßmus cbaa4d3143 Initialize all members. They don't seem to be used, but this can avoid future
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
2011-02-23 11:29:26 +00:00
Stephan Aßmus 96f9949a2d The parent menu of the attributes menu might be showing, thus it needs
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
2011-02-22 22:46:48 +00:00
Stephan Aßmus 9473d287b3 * Added functionality for initializing and retrieving future tool bar
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
2011-02-20 22:42:30 +00:00
Stephan Aßmus 804c69ca06 Moved IconButton from LaunchBox (actually the updated version from WebPositive)
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
2011-02-20 22:33:05 +00:00
Stephan Aßmus c418e2bedc Fixed a bug noticed by Axel (thanks!): Don't store the fullscreen window
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
2011-02-19 18:00:05 +00:00
Stephan Aßmus 5b76e505e5 Two unrelated features mangled into one commit:
* 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
2011-02-19 11:28:07 +00:00
Stephan Aßmus 3b693801a9 Small cleanups, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-19 10:46:30 +00:00
Stephan Aßmus 7b820451e9 Fixed a typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-19 10:46:05 +00:00
Stephan Aßmus 6df0729855 Added "Configure attributes" item to Edit menu (?). This feature invokes
FileTypes with the Person MIME type selected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-12 22:15:38 +00:00
Stephan Aßmus 0b4ddda5f0 * Some reordering of methods to match declaration order.
* 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
2011-02-12 22:12:21 +00:00
Stephan Aßmus a9bc82a4b0 * Ordered method implementations as their declarations in the header.
* Updated header indentation style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-12 21:57:36 +00:00
Stephan Aßmus fd44ef4211 Initialize fGroups, since that is used in BuildGroupMenu() called by the window.
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
2011-02-12 17:42:22 +00:00
Stephan Aßmus 968ec77e1f Renamed PeopleWindow/View to PersonWindow/View, since they only show one person at a time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-12 17:40:58 +00:00
Stephan Aßmus af927c61ba * Make sure the image super type has Width, Height, Rating, Comment and Year.
* 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
2011-02-07 23:29:26 +00:00
Stephan Aßmus bb5f99a5a6 Reimplemented how People works. The previously hard-coded attribute list
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
2011-02-07 23:25:16 +00:00
Stephan Aßmus 2099a79214 Added two new buttons "Move up" and "Move down", which makes it a) possible
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
2011-02-07 23:20:23 +00:00
Stephan Aßmus a416707fb3 There is really no reason at all to mess up the current sorting
of the attributes just by adding a new attribute.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-07 23:18:14 +00:00
Stephan Aßmus c8cbb2763f Try to remember the last selected attribute, or select a new attribute
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
2011-02-07 23:17:11 +00:00
Stephan Aßmus 2b52661315 Added another GetInfo() variant with which one can retrieve the count and
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
2011-02-07 20:10:14 +00:00
Stephan Aßmus 36ef875aad The left and right side of the FileTypes interface are now divided by
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
2011-02-07 18:47:50 +00:00
Stephan Aßmus 17925a3529 * The app_server leaked the BGradient objects on each drawing operation
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
2011-02-06 10:25:06 +00:00
Stephan Aßmus b03f6b7126 Fix coding style and improve readability and correctness.
(value != 0 != value == 1).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-01 21:31:07 +00:00
Stephan Aßmus d1b6305cd9 Forward important properties and setters of the private BSplitLayout
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
2011-01-01 12:08:49 +00:00
Stephan Aßmus 1812583c05 Fixed spacing in Style group layout. (ticket #6553)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-19 12:17:20 +00:00
Stephan Aßmus aed19c751b * Coding style cleanup.
* 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
2010-12-19 12:14:49 +00:00
Stephan Aßmus 32ba4befc4 Make the list view focused by default, this allows to use DriveSetup with
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
2010-12-19 11:01:47 +00:00
Stephan Aßmus b9d2622de1 Since "Mount all" is not connected to a selected disk/partition,
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
2010-12-19 10:55:36 +00:00
Stephan Aßmus 22334353d0 Only print unexpected errors to stderr when constructing the settings file.
Fixes ticket #6899. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-19 10:44:20 +00:00
Stephan Aßmus 1e9af0512d Patch by jscipione: Check valid input value range
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
2010-12-19 10:34:55 +00:00
Stephan Aßmus b6ec842de4 Patch by x-ist from ticket #6115:
* 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
2010-12-16 20:23:56 +00:00
Stephan Aßmus 7730c84696 Improved layout of controls and more cleanup. There is now a splitter
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
2010-12-15 17:31:57 +00:00
Stephan Aßmus 0a81944d5d More cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-15 10:47:02 +00:00
Stephan Aßmus f086ada784 * Applied patch from Barrett (ticket #6497) which fixes some issues
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
2010-12-15 10:34:58 +00:00
Stephan Aßmus d277bc8294 Since the function keys don't serve any purpose yet, make F2 enter renaming
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
2010-12-05 19:15:57 +00:00
Stephan Aßmus ea8a421c0c Run the AddOnManager after having loaded add-ons on the InputServer
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
2010-12-05 15:10:50 +00:00
Stephan Aßmus 509a3787b1 Eliminate the second add-on monitor looper by inheriting AddOnManger
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
2010-12-05 15:03:11 +00:00
Stephan Aßmus 445751e17a Refactored AddOnMonitor to allow an alternative constructor which does not
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
2010-12-05 14:59:27 +00:00
Stephan Aßmus 1f1db8cf7e Brought the public methods in declaration order.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-05 11:54:38 +00:00
Stephan Aßmus 506a7b97c1 Prevent the shutdown dialog from minimizing without an entry
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
2010-11-10 10:51:47 +00:00
Stephan Aßmus c8fa948b2a close() is defined in unistd.h as per the OpenGroup. Hope this
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
2010-11-10 09:02:15 +00:00
Stephan Aßmus 8e61947230 Don't leak file descriptors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-09 23:28:07 +00:00
Stephan Aßmus e6cb8eb4c6 * Reuse the check for changed location which decides whether
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
2010-11-06 12:43:24 +00:00
Stephan Aßmus fdca7b0ff3 Applied rest of kalibers patch from ticket #6349. The logging
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
2010-11-06 11:33:59 +00:00
Stephan Aßmus 4c9da6dc09 Applied patch by kaliber from ticket #6349. which fixes quite a
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
2010-11-06 10:17:41 +00:00
Stephan Aßmus 08e6655afe Patch by kaliber (ticket #6333): Removed many instances of
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
2010-11-05 20:31:11 +00:00
Stephan Aßmus 21c8f94c7d I don't understand much about the code in question, but the ticket #6789
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
2010-11-05 17:39:15 +00:00
Stephan Aßmus 766bc131b4 Integrated the test from the "Services Kit" GSoC project. The urlRequest tests
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
2010-10-27 14:16:51 +00:00
Stephan Aßmus eb3504793b Added the new headers to the NetworkKit.h all-in-one header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-27 14:16:19 +00:00
Stephan Aßmus 45939109b4 Patch done by Christophe Huriaux as part of GSoC 2010 "Services Kit" project:
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
2010-10-27 14:03:31 +00:00
Stephan Aßmus e66d0f5520 Patch by Barrett: Check for errors when obtaining information
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
2010-10-26 16:32:39 +00:00
Stephan Aßmus 707466cad1 Part of a refactoring/rewrite I was once working on,
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
2010-10-23 23:17:16 +00:00
Stephan Aßmus 43eea4c2c4 Apparently it does not work... convert to TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 22:56:50 +00:00