Summer of Code project. Thanks for your work Łukasz and I hope we can see
more work from you.
Still to do:
- Create an icon.
- Add pkg files to the MIME database with PackageInstaller as the default
handler. The rdef here has the MIME type name for the pkg format should
anyone else choose to add it :)
- Support for running scripts included with packages.
- Testing various different packages.
- Fixing problems in the Haiku GUI layout system which affect the code used
for various parts of the installer GUI (please bear with the commented out
code for now.)
- Adding this to the image.
Tomorrow I will add Łukasz's InstalledPackages utility which can be used to
view installed packages and uninstall them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22525 a95241bf-73f2-0310-859d-f6bbb57e9c96
don't block when they should because the semaphore sometimes gets released too
much. One day I'll try to add some tests, though this seems like something you
can't exactly unit test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22279 a95241bf-73f2-0310-859d-f6bbb57e9c96
them. I have tested this with a simple test program I downloaded
from the internet. We get the same result as on Linux, so I think
this is good. I will test it more with WebKit later.
Our Pthreads implementation is still missing some stuff, but this
adds a good chunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22274 a95241bf-73f2-0310-859d-f6bbb57e9c96
commas on class member initializers, fixing a typo. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22174 a95241bf-73f2-0310-859d-f6bbb57e9c96
for the Appearance and Menu prefs, and Tracker's settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22049 a95241bf-73f2-0310-859d-f6bbb57e9c96
default to having no accelerators, but that setting was not ever read
properly. So in fact the meny pref was correct, but the menus were wrong.
This fixes that.
If the default setting is supposed to be accelerators on then the settings
should be changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22011 a95241bf-73f2-0310-859d-f6bbb57e9c96
- One from Justin O'Dell which properly enables and disables the play and stop
buttons.
- One from me which doesn't crash Sounds if you try to open a file which has no
MIME type set. It previously assumed the super type would always exist.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22010 a95241bf-73f2-0310-859d-f6bbb57e9c96
preferences apps. This fixes most of bug #254.
This is his first contribution to Haiku, and hopefully the first of many.
Thanks Justin!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21992 a95241bf-73f2-0310-859d-f6bbb57e9c96
crashed. Turns out a call I use, BFont.GetBoundingBoxesForStrings was not
implemented, and worse, there was bug in how the ServerApp read the parameters
from the link. This was easy to fix to stop app_server from crashing, but it
took me a while to figure out how to implement GetBoundingBoxesForStrings.
Anyhow I implemented an initial version which works fairly well for now. I
don't think the width is quite right, but it seems to match StringWidth(), so
I guess it is good enough for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21652 a95241bf-73f2-0310-859d-f6bbb57e9c96
The default BApplication::QuitRequested was not playing well with the other quitting logic in
MediaPlayer (like in the windows.)
This simple "return true" QuitRequested seems to do the trick.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21500 a95241bf-73f2-0310-859d-f6bbb57e9c96
1. Deleted headers/shared/
2. Added a Jamfile to src/shared to build it into a static library libshared.a.
3. Removed my changes in the build/jam directory.
4. Have ShowImage include libshared.a.
I forgot to add AboutWindow.h to headers/private/shared. I will do that next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21402 a95241bf-73f2-0310-859d-f6bbb57e9c96
would keep the zoom level of the previous image in some cases.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21392 a95241bf-73f2-0310-859d-f6bbb57e9c96
despite being talked about repeatedly, does not currently exist.
Adding this required adding some new Jam rules to deal with this shared source
directory and headers. I had some fun figuring this out. Despite writing
articles about Jam in the Haiku newsletter a few years ago I still find Jam to
be a PITA at times.
But my solution seems to work pretty well. Basically you just call the rule
UseSharedSource and pass the name of the shared source file you want to use.
This rule sets up the header directories and the right Jam variables for the
source file. You then add the source file to the source list in the Application
rule like any other source file.
I also made the authors list sent to the about window constructor null
terminated instead of passing the size of the array, as suggested by Hugo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21391 a95241bf-73f2-0310-859d-f6bbb57e9c96
realized that calling it a window may not be strictly correct since it isn't a
decendent of BWindow, but just uses a BAlert. Oh well, it can be changed if
need be.
I'm also checking in the first use of it, in ShowImage. Since ShowImage can
still be compiled for R5 I've added a #ifdef around the new BAboutWindow
related code.
I'm open for suggestions for the interface for this class, well mostly the
constructor. I'm not a big fan of having to specify the number of authors.
For now I'm making the header private, but I don't think it would be a big deal
to expose it publically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21389 a95241bf-73f2-0310-859d-f6bbb57e9c96
little rounded box on the bottom with the full message in it.
Given that currently this version only uses fortune to get it's message this
allows maximum enjoyment of the little anecdotes and jokes provided by fortune.
Though after testing this 60+ times today I'm starting to get sick of fortunes.
I've implemented everything myself here, including breaking the string up on
newlines and drawing each line of text with the right vertical spacing. I
suppose some clever use of BTextView would have been better. But this works
fine and wasn't that much code.
I'm not sure if this was the most productive use of the last 5 hours, but I
learned quite a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21347 a95241bf-73f2-0310-859d-f6bbb57e9c96
There is still work to be done.
I did some code formatting as well as created the Jamfile and rdef. I copied
the R5 Joysticks bitmap icons, but am working on a Haiku vector icon. For now I
just copied the Fonts icon for purposes of having something in the rdef.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21051 a95241bf-73f2-0310-859d-f6bbb57e9c96
by Jon Watte.
This was a tough but interesting problem. My version still isn't quite as nice
as his. I think the color generation could be improved, and I KNOW the x and y
placement of the text could be improved.
I also think it would be nice to display the full message at the bottom of the
screen (similar to ShowImage showing the file type and name in full screen
mode.)
But this is a good base to work from.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20035 a95241bf-73f2-0310-859d-f6bbb57e9c96
huge deal but it doesn't make much sense to resize images during a slideshow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20020 a95241bf-73f2-0310-859d-f6bbb57e9c96
cropping an image to a certain size or taking similar sized croppings from
various images (as I need to do.)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20012 a95241bf-73f2-0310-859d-f6bbb57e9c96
I'm considered splashing it up a bit by adding parameters for colors, etc, but
this will make a good baseline.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20005 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Fixed some formatting in the recently added resizing code.
- Changed the operation name for rotating counterclockwise to use that name
instead of anticlockwise. This makes the code consistent with the GUI.
- Reformatted the constants header to use an enum. Also removed the empty
constants cpp file.
- The QuitRequested handler in the app did not ask the windows to close, which
could cause modified images to be closed without prompting the user. Now it
does, which makes ShowImage more user friendly.
Changes to the image view:
- Added a member for keeping track of the type of image. This is mostly used in
properly updating the window's status bar when the image is changed (flipped,
rotated, etc.) This removes some hacky code I added before :)
- Removed the status parameter in the Notify method since it was only used for
the above image type status updating.
- Removed a redundant if in the mouse up handler.
- The key down handlers for moving to the next and previous image did not
properly prompt the user if the image had changed. I fixed this by sending a
message to the window where the prompting code resides. When adding this I
also created a few helper methods for sending messages to the window, which
removed some (small) repeated code through-out the class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19994 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added a Japanese translation for this item, thanks to Koki.
Now the old queries are deleted before adding new ones, thanks to AGMS.
Though the last item was not actually a memory leak (the destructor would
eventually get all the added queries), this would cause weird behavior which I
did notice (multiple queries existed which all sent the same notifications.)
Either way, good catch AGMS :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19657 a95241bf-73f2-0310-859d-f6bbb57e9c96
of new messages so I added a new menu item to refresh the new mail query. I
wrapped the addition of the menu item in an #ifdef since it should not be
needed on Haiku.
While testing this I saw some pretty crazy behavior which I can only assume
means the R5 query notification is really, really buggy. Or the mail_daemon is
doing something weird.
Unlike the others this menu item does not have a Japanese translation and
probably doesn't need one, but if someone really wants to add it feel free :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19656 a95241bf-73f2-0310-859d-f6bbb57e9c96
a debugger call in _LaunchInputServer may be overkill, but at least you could
conceivably cleanly restart the machine in the debugger (I think.) Because
without the input_server the machine is pretty useless.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19615 a95241bf-73f2-0310-859d-f6bbb57e9c96
app_server. I added it at the end. Feel free to move it to a better spot, if
there is one. Note that putting it in the middle with require recompiling a lot
of things.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19614 a95241bf-73f2-0310-859d-f6bbb57e9c96
better...not sure what I was thinking with 5 seconds before.) I also fixed a
few other issues related to this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19578 a95241bf-73f2-0310-859d-f6bbb57e9c96
cursor after a delay when in fullscreen mode. I set the delay to 5 seconds. In
addition I make sure the ShowImage window is the active window before trying to
hide the cursor, because otherwise there is a lot of cursor flickering if you
change workspaces.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19569 a95241bf-73f2-0310-859d-f6bbb57e9c96
Tracker. For now it only works when the delete key is pressed. I suppose a menu
item might be useful, but I can do that later if people really want it :)
When the image is trashed the next image in the directory is opened. If the
trashed image is the last in the directory the window is closed.
The code seems pretty solid as I even tested it with Tracker not running. It
also works fine in R5 (in fact that is where I tested it.)
As shown I would prefer to use the Tracker headers rather than redefining the
constant used for the trashing message. I'm already using Tracker's app MIME
type from the private headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19564 a95241bf-73f2-0310-859d-f6bbb57e9c96
short and long descriptions. Though these are small add-ons, I'm thinking about
making them simple apps (with no GUI though.) This way the file_types entry
will make more sense. In the R5 release on BeBits I completely took out the
file_types entry though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19539 a95241bf-73f2-0310-859d-f6bbb57e9c96
quit request and are simply removed from the list of apps to close if this
happens. This is primarily designed for the input_server.
I also corrected the MIME type of the debug_server which was causing it to be
incorrectly killed at shutdown.
I did some other clean-up and removed the code I unintentionally submitted
yesterday.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19509 a95241bf-73f2-0310-859d-f6bbb57e9c96
added back if need be. There were some building bugs anyhow in these versions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19507 a95241bf-73f2-0310-859d-f6bbb57e9c96
Also changed the include for TrackerAddon.h to TrackerAddOn.h (note the
capital O.) Haiku does not have the lower-case o version.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19505 a95241bf-73f2-0310-859d-f6bbb57e9c96
suggested by Axel for the "magic variable" that is replaced by the Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19485 a95241bf-73f2-0310-859d-f6bbb57e9c96
"Read". Others could be added fairly easily since I just use one source file
and a new Jam code generation rule to set the appropriate status in the source
file. I feel this is better than bugging the user with some GUI dialog where
they pick the status they want in a single add-on.
For now I'm using the BeMail icon for both.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19482 a95241bf-73f2-0310-859d-f6bbb57e9c96
our build platforms should have sed support (it is built into Jambase at
least.) I use these rules to do some code generation in my soon to be committed
MarkAs Tracker add-ons.
This works pretty nifty if I do say so myself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19481 a95241bf-73f2-0310-859d-f6bbb57e9c96
For those wondering "mark_as" is the directory for the MarkAsRead and MarkAsNew
Tracker add-ons I'm planning to add (for email.) If anyone is violently
opposed to this idea, speak now.
The WorkspacesLayer change was mostly an update to existing and ifdef 0'd
code so it would compile under ifdef 1. I left those changes and just set the
ifdef back to 0 here.
The other changes below were debugging and build changes that definitely were
not needed in the repository.
The undocumented changes in the last submission include some new keyboard
shortcuts in ShowImage as well as various changes to the input server and
roster as part of my ongoing work on those. I will clean this up some more
and make another submission in a few hours.
Note to self: never submit from a high-level directory...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19480 a95241bf-73f2-0310-859d-f6bbb57e9c96
these for other people, but they wouldn't compile for me when building the
app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19479 a95241bf-73f2-0310-859d-f6bbb57e9c96
still tons of OpenBeOS references in various source files (especially in
comments), but this was more overt.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19461 a95241bf-73f2-0310-859d-f6bbb57e9c96
I'm not quite sure what the difference between a developer and contributor is,
but I hope I qualify as a developer. If not feel free to move my name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19331 a95241bf-73f2-0310-859d-f6bbb57e9c96
Now if the Backgrounds preferences app is already running clicking the
"Set Background..." button will activate it. Previously this was ignored
because the app was launched without checking the return code from be_roster.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19301 a95241bf-73f2-0310-859d-f6bbb57e9c96
system is shutting down.
For the protocol between the Registrar and input_server I decided to just
re-use the message constant already defined in the input server headers
(SYSTEM_SHUTTING_DOWN.)
The code in the input server to notify the InputServerDevices about the
shutdown was pretty trivial.
For the code in the Registrar I'll let some gurus review it to make sure it
fits in with the rest of the code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19289 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Changed the hotkey for the zoom to be = instead of + so that no shifting is necessary.
- Fixed the bitmap alignment code to solve some problems when zooming.
- Removed all references to alignment in the view since the image was already always centered. This greatly simplified the bitmap alignment.
- Removed the redundant fScaleX and fScaleY members of the view since they were always the same as fZoom.
- Removed all code related to having a border in the view.
- Fixed a bug where the type of file would disappear in the status area when zooming (this fix is a little hackish.)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19253 a95241bf-73f2-0310-859d-f6bbb57e9c96
The arguments passed on the command-line were not checked if they were files before being opened. This caused StyledEdit to crash if a directory was one of the arguments. Now each argument being passed is checked to see if it is a file before being opened, and if all arguments are directories, an empty document will be opened.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17235 a95241bf-73f2-0310-859d-f6bbb57e9c96
1. The newly renamed "Flip Sideways" and "Flip Upside Down" have been renamed again to "Flip Left To Right" and "Flip Top To Bottom". This was after some feedback indicating a preference for the new names.
2. When dragging a selection the standard outlined rectangle is used for the dragging image instead of the alpha-blended bitmap of the selected part of the image if the selection rectangle is larger than 400x400 (taking into account scaling of the image.) This mimics the original ShowImage with the exception of the minimum size. The choice of 400x400 was fairly arbitrary. I may see about turning that value into some kind of hidden option.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17229 a95241bf-73f2-0310-859d-f6bbb57e9c96
1. Renamed the Image menu items "Mirror Vertical" and "Mirror Horizontal" to "Flip Sideways" and "Flip Upside Down", respectively. This also involved changing the code to match the new names, for consistency.
2. Fixed a bug where zooming in and out would result in the image moving off center. This was due to the bitmap width and height not being recalculated after applying the zoom factor and therefore throwing off the calculations to find the rect for the center.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17182 a95241bf-73f2-0310-859d-f6bbb57e9c96