These were copied from the same code that originally was used for libjpeg
(jpegsrc.v6b.tar.gz) in the JPEGTranslator with a few small changes.
This will be used to implement JPEG lossless transformations in ShowImage in
the way suggested by Michael Lotz in the email linked from the bug.
Next up is changes to ShowImage.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28544 a95241bf-73f2-0310-859d-f6bbb57e9c96
mixer's controls, so I am removing it.
If someone disagrees, this code can be added back easily.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28509 a95241bf-73f2-0310-859d-f6bbb57e9c96
several translators which used the incorrect MIME type for the base Be Bitmap
Format. Please when adding translators use image/x-be-bitmap, not just
x-be-bitmap. Though I suppose the if statement in ShowImage could be changed to
only look for x-be-bitmap at the end of the string when filtering, I think this
is the proper fix.
While I was editing the translators I also made the naming more consistant by
adding the translator name in parenthesis after Be Bitmap Format for those that
did not have it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28487 a95241bf-73f2-0310-859d-f6bbb57e9c96
Also fixed a GCC warning about comparison between signed and unsigned.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27434 a95241bf-73f2-0310-859d-f6bbb57e9c96
leaked. So I reorganized the if statement to remove this possibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27431 a95241bf-73f2-0310-859d-f6bbb57e9c96
need for a null check. Or the null check needs to be moved to after last is
initialized. But if the user_memcpy of cookie succeeds, last should not be null
since it is just a copy of cookie. Probably.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27429 a95241bf-73f2-0310-859d-f6bbb57e9c96
before being NULL checked on line 1234. I moved the null check to be after name
is initialized and removed it from line 1234.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27428 a95241bf-73f2-0310-859d-f6bbb57e9c96
since fPageFormatText is accessed in both branches of the if before the null
check. If it was actually null there would be a crash well before line 483. In
addition this member is initialized in the constructor. I assume the null check
was added to provide symmetry with the null check of fJobSetupText below it.
But that latter null check is needed since fJobSetupText may not have been
created in the constructor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27427 a95241bf-73f2-0310-859d-f6bbb57e9c96
for Summer of Code 2007. It probably still needs some work but it is better put
into SVN than sitting on my machine. I figure it might one day be morphed
into a simple Haiku package manager (though maybe we don't want that...)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27395 a95241bf-73f2-0310-859d-f6bbb57e9c96
the article I am writing, though it really did need this change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26408 a95241bf-73f2-0310-859d-f6bbb57e9c96
by BWindow, no longer by the app_server. This should stop the "screen freeze"
effect.
This adds a dependency on libpng.so and libz.so to libbe.so. The same
dependencies and the PNGDump code added here can be removed from the
app_server. I am just waiting for a code review of this before doing that.
This implementation still does not give the client a chance to handle it
differently.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25269 a95241bf-73f2-0310-859d-f6bbb57e9c96
off the screen at all, it will be moved back on when the window is activated.
I almost think this might be a reasonable default implementation for
WindowActivated in BWindow :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25234 a95241bf-73f2-0310-859d-f6bbb57e9c96
This creates a new tab Info to contain the information for the media
mixer instead of placing it next to the setup controls.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23967 a95241bf-73f2-0310-859d-f6bbb57e9c96
defined in the headers. If this is not the correct way to do this, let me
know, but it seems to work (well it compiled at least.)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22890 a95241bf-73f2-0310-859d-f6bbb57e9c96
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