Commit Graph
100 Commits
Author SHA1 Message Date
Stephan Aßmus f6e5131227 TextDocumentTest: Make document editable. 2015-09-06 23:02:51 +02:00
Stephan Aßmus 87136732d0 HaikuDepot: Fixed wording in a comment. 2015-09-06 21:51:24 +02:00
Stephan Aßmus 36ab52c74e HaikuDepot: Adapt package contents when package status changes
Based on a patch in ticket #11886 by TwoFx, but with checks for
packageRef.Get() != NULL and better member name for the package status.
2015-08-20 16:25:07 +02:00
Stephan Aßmus f333ade309 Icon-O-Matic: Converted color picker to use layouting
Basically synced the code with what I did for WIP WonderBrush rewrite.
 * Converted to use layouting
 * Removed unused liblayout MView cruft
 * Removed need for rendering in separate threads in favor of
   rendering lazily. The original Colors! rendering was insanely slow
   and inefficient, hence the separate rendering threads.
 * Some style fixes along the way.
 * Some minor bug fixes, too, but these were not actually triggered.
 * Renamed selected_color_mode.h to SelectedColorMode.h
2015-07-19 23:20:22 +02:00
Stephan Aßmus 0ebc8ac6ef IOM/ColorField: Get rid of useless threads
Generate bitmap in Draw() lazily. Removed liblayout stuff. Support for
Haiku layout methods. Fixed some bugs with selecting red/green/blue
as fixed values (ticket #10574).
2015-07-19 23:20:11 +02:00
Stephan Aßmus 44046ca5cd IOM/AlphaSlider: Removed liblayout suff, added Haiku layout methods
Also added support for border styles.
2015-07-19 23:20:02 +02:00
Stephan Aßmus 0cbb6c11ee Icon-O-Matic: Make GradientTransformable a BReferenceable
* Switch to using support/Referenceable.h instead of using an older copy
   of this code.
 * Make GradientTransformable a BReferenceable and fix #12033.
2015-05-09 21:38:15 +02:00
Stephan Aßmus f67071b98c HaikuDepot: Re-activated Size-column
Noticed that HaikuDepotServer info now contains "payloadLength", which is
the package size. Populate that in the list view.
2015-04-04 22:45:46 +02:00
Stephan Aßmus 53094e2fa1 StringForSize.h: Fixed header guard comment at EOF 2015-04-04 22:45:41 +02:00
Stephan Aßmus 72992391bb HaikuDepot: Title versus Name distinction
* The name is the static package name. The title is either that name,
   or a translated pretty version of the name.
 * Adjust package info retrieval to server API changes. Unbreaks package
   translations.
2015-04-04 22:45:37 +02:00
Stephan Aßmus 4bf45bfb5d HaikuDepot: Added UndoableEditListener list to TextDocument
This is all work in progress. The plan is to move the code that does any
actual changes to the TextDocument into UndoableEdit implementations, then
emit these edits to interesed listeners. They can then store them to
implement the edit history. If there are not listeners, the edits will
simply be released after they've done their work.
Implemented so far is only the support for storing the edit listeners.
2015-02-22 21:25:49 +01:00
Stephan Aßmus b5cbbf8041 HaikuDepot: UndoableEditListener base class added 2015-02-22 21:25:11 +01:00
Stephan Aßmus 651e8326ca HaikuDepot: Base-classes for generic undo/redo support.
I plan to use these in the text view and editor framework.
2015-02-22 20:35:34 +01:00
Stephan Aßmus 7b2c59b9b8 HaikuDepot: Implemented light-weight package manager update
No, not updating packages via HaikuDepot, but a light-weight synchronization
between the system package manager list and the HaikuDepot model. After
installing or removing a package, HaikuDepot performed a very costly update
of all information by basically throwing everything away and reloading it.
Implements #11786.
2015-01-25 22:11:38 +01:00
Stephan Aßmus 4a1fc9b122 HaikuDepot: Keep reference to PackageInfos longer...
... in PackageInfoView::SetPackage() and Clear(). The sub-views reference
stuff from the previous PackageInfo instance. If we release the reference
before adopting the new package, the sub-views may still access stuff from
the previous package. For example the PackageActionView tries to avoid
rebuilding the button list and compares previous package actions to the
new actions. Particularily after the package list has been rebuild, we have
only new PackageInfo instances and the PackageInfoView may hold on to a
PackageInfo that is not still referenced anywhere else. Would be a good
explanation for #11785.
2015-01-25 10:04:23 +01:00
Stephan Aßmus 57e51fff75 HaikuDepot: Fix failing to show some packages after refreshing.
Since the package information is refreshed asynchronously, some packages
may fit the current filter parameters. Check for this situation more
generically in the MSG_PACKAGE_CHANGED notification. Before, it was only
done for prominent packages to make them appear in the Featured packages
view. The problem was visible by for example selecting a category and then
refreshing packages. Many of the previously shown packages would be missing
and magically appear when changing filter parameters slightly and back
to what they were.
2015-01-11 17:22:17 +01:00
Stephan Aßmus 1b5e65f587 HaikuDepot: Adopt selected Depot/Category...
... in FilterView::AdoptModel(). Otherwise the selection is reset
after refreshing packages from the Tools menu. Fixes #10990.
2015-01-11 17:21:19 +01:00
Stephan Aßmus 15eb4c43c9 HaikuDepot: Added RemovePackage() method...
... to PackagedListView.
2015-01-11 17:21:00 +01:00
Stephan Aßmus 18b941b46c HaikuDepot: Added RemovePackage() method...
... to FeaturedPackagesView.
2015-01-11 17:20:22 +01:00
Stephan Aßmus fed7859a71 HaikuDepot: Quitting while contents were populated dead-locked.
Fixes #11737
2015-01-11 16:26:15 +01:00
Stephan Aßmus 2098842047 HaikuDepot: Temporary solution for empty contents tab
Display a message (quick solution: a BStringItem) that package contents are
not available for remote packages.
2015-01-11 00:23:35 +01:00
Stephan Aßmus 788144656e HaikuDepot: Fixed package content extraction
When trying to find a matching parent item, we cannot rely on cached
pointers to BPackageEntries, since those are re-used per entry level
from the BPackageReader. Instead, we build the package entry path as
a string and store that with the list item.

Removed debug output.
2015-01-11 00:12:01 +01:00
Stephan Aßmus 84316965ed HaikuDepot: Populate package contents asynchronously
Also remove debugging output with O(n*n) runtime. The problem for which I
write this is already understood, but it is not yet fixed.
2015-01-10 23:39:27 +01:00
Stephan Aßmus 09f8290534 HaikuDepot: Always init the thread ids...
... also in case creating the semaphores fails.
2015-01-10 23:39:27 +01:00
Stephan Aßmus 05bffa62e6 HaikuDepot: Check thread ids before waiting for threads.
These threads are not created if creating a semaphore failed, so
it's not fixing a bug which anyone has likely encountered.
2015-01-10 23:39:26 +01:00
Stephan Aßmus 9550c5ec8e HaikuDepot: Fixes and cleanup to the Contents tab patch
Most changes were in the PackageContentOutliner and its HandleEntry() method
to make it work correctly. The parent entry of a visited entry may not be
the last parent entry, but some other previously added entry. We need a
PackageEntryItem class to also store the BPackageEntry together with the
list item.
Other small fixes.
2015-01-09 23:07:20 +01:00
Stephan Aßmus 2afa3f3b8b HaikuDepot: Improved screen shot window
* Black background
 * Auto-resize to fit new screen shot, re-center on screen
2015-01-03 22:07:31 +01:00
Stephan Aßmus 9c3e96bfb7 HaikuDepot: Keep same tab when updating package info 2014-12-29 00:04:46 +01:00
Stephan Aßmus 89e4ba17d0 HaikuDepot: Update package info after rating package
Let Model::PopulatePackage() have a mode where it forces the update on a
package that has already been populated. Trigger populating from success
code path in RatePackageWindow. Fixes #11638.
2014-12-28 23:51:23 +01:00
Stephan Aßmus 056d423c39 HaikuDepot: Mark installed featured packages...
... with a checkmark icon.
2014-12-28 23:35:42 +01:00
Stephan Aßmus ee13e7f8dd HaikuDepot: Hide up/down rating votes UI
These are not implemented yet at all.
2014-12-28 22:33:55 +01:00
Stephan Aßmus 7b206268ab HaikuDepot: Hide Size column until it can be implemented
Fixes #10394.
2014-12-28 22:33:54 +01:00
Stephan Aßmus 12107be2ec HaikuDepot: Search all packages when showing featured
The intention was that typing search terms searches all packages, not only
the featured ones. This didn't actually work in Model::CreatePackageList().
2014-12-27 22:25:19 +01:00
Stephan Aßmus 75ba9dbfc3 HaikuDepot: Lock model when selecting a package 2014-12-27 22:25:18 +01:00
Stephan Aßmus 93a7cf94a3 HaikuDepot: Clear package info view if package not listed
If the visible packages list does not contain the currently showing package
anymore after filter parameters have changed, clear the package info area.
This also means that when installed packages are turned off, which means
a package will disappear from the list after being installed, the package
will no longer keep showing in the info area. This situation is less likely
with the change that installed packages will now show by default and the
user has to explicitly turn them off.
2014-12-27 09:38:28 +01:00
Stephan Aßmus 0c6df5d52e HaikuDepot: Fixed regression: selecting featured packages
Since the fVisiblePackages list in MainWindow is now also filtered by
featured packages, and since the "featured" status of packages is collected
asynchronously, the list needs to be updated in the package changed
notification. Also, the package should only be added to the featured packages
view if it is now in the visible list. Other filter criteria would not be
taken into account otherwise. Fixes #11663
2014-12-27 09:38:26 +01:00
Stephan Aßmus 1986ab9f31 HaikuDepot: Sync the selection between normal and featured list 2014-12-26 22:42:11 +01:00
Stephan Aßmus b2843daed7 HaikuDepot: Added PackagesListView::Select(PackageInfo)
which also scrolls the row into view (if it exists).
2014-12-26 22:41:10 +01:00
Stephan Aßmus ede65a8f9b HaikuDepot: Handle NULL PackageInfoRef in FeaturedPackagesView::Select() 2014-12-26 22:40:24 +01:00
Stephan Aßmus 7b434ea483 HaikuDepot: SharedBitmap: Enlarge maximum stream size
This is used for screenshots and some are larger than 128KiB.
2014-12-26 22:38:54 +01:00
Stephan Aßmus 2997e05b4f HaikuDepot: All "Show" settings are persistent now. 2014-12-26 22:20:27 +01:00
Stephan Aßmus 4fade61ff8 HaikuDepot: Change when featured packages are shown
* Renamed the "Option" menu to "Show", removed the now redundant "Show" from
   the items in that menu.
 * Add an "Only featured packages" item in the Show menu. This item is disabled
   as soon as the user types something in the search terms field. Othetwise,
   this setting is respected, i.e. one can combine the featured setting with
   other settings, i.e. show all featured packages of a certain depot and in a
   certain category.
 * Added PackageInfo::IsProminent() and removed the respective method from
   the MainWindow (which only considered a package prominent if it was not
   yet installed).
 * "Show -> Installed packages" now defaults to on. There have been complaints
   on Trac and I guess rightfully so. The use-cases in which one starts
   HaikuDepot and wants to know about installed packages are just as likely
   as the use-case where one wants to install new software.
2014-12-26 22:08:08 +01:00
Stephan Aßmus 474b9e090d HaikuDepot: Check if package_daemon runs and offer to start it
Fixes ticket #9967.
2014-12-23 22:22:06 +01:00
Stephan Aßmus ca747629f9 HaikuDepot: Fix drawing bugs of count view
The packages count view centers its label. It therefore needs a full update
on resize. Also optimize SetItemCount() by trying to avoid unneccessary
layout invalidations.
2014-12-23 14:57:27 +01:00
Stephan Aßmus d5ef985e18 HaikuDepot: Added rudimentary screenshot window.
Clicking the thumbnail in the package info area will now open a
window where the full-size screenshot is downloaded and shown. There can
only be one such screenshot window open. Navigating between multiple
screenshots of a package is not yet implemented. Also, no caching, but
this may be OK as it is, since one usually looks at these only once and
doesn't want the harddrive filling up with screenshots.
2014-11-29 23:07:32 +01:00
Stephan Aßmus f5a8bae677 HaikuDepot: Paragraph: Fixed typo in PrintToStream() 2014-11-29 23:07:30 +01:00
Stephan Aßmus 368ec7fa0e HaikuDepot: Use a LinkedBitmapView for the screenshot. 2014-11-29 23:07:29 +01:00
Stephan Aßmus 77badf8eca HaikuDepot: Added TODO to LinkView and bugfix.
SetViewCursor(NULL) does not unset the view cursor.
2014-11-29 23:07:28 +01:00
Stephan Aßmus a45f75e0c5 HaikuDepot: LinkedBitmapView derived from BitmapView
Sends a BMessage when clicked and enabled, shows the link cursor
when hovered with the mouse.
2014-11-29 23:07:27 +01:00
Stephan Aßmus 8507d262d8 HaikuDepot: Support wheel scrolling in featured packages
* Forward B_MOUSE_WHEEL_CHANGED to parent view from each package row view
 * Configure small/big steps on vertical scroll bar.
2014-11-13 22:58:24 +01:00
Stephan Aßmus 664372ab49 HaikuDepot: Visualize selection in featured packages view 2014-11-09 12:04:50 +01:00
Stephan Aßmus ef40255d5d HaikuDepot: Make summary text non-selectable...
... in the rows of featured packages.
2014-11-09 12:04:48 +01:00
Stephan Aßmus 6e2ac1775e HaikuDepot: Added SetSelectable(bool) to TextDocumentView. 2014-11-09 12:04:47 +01:00
Stephan Aßmus 0a9c902921 HaikuDepot: Show a "Featured packages" label
Also remove the left-over separator in the Tools menu.
2014-11-02 02:00:51 +01:00
Stephan Aßmus 6f6ad9153b HaikuDepot: Improve featured package items
Show the summary instead of the version. The layout still sucks, but I will
have to implement some kind of row/flow BLayout to get what I initially had
in mind. Another TODO is to highlight the clicked item somehow.
2014-11-02 01:38:34 +01:00
Stephan Aßmus dfbf4d3885 HaikuDepot: Fix click detection in featured packages
Take window activation and parent bounds (a featured package scrolled outside
the visible region within the parent) into account.
2014-11-02 01:38:33 +01:00
Stephan Aßmus 1f3c1ef1c5 HaikuDepot: Select clicked featured packages 2014-11-02 01:38:32 +01:00
Stephan Aßmus a3056e412a HaikuDepot: Move selection message constant to MainWindow.h 2014-11-02 01:38:30 +01:00
Stephan Aßmus 419dc642f5 HaikuDepot: Feature packages with prominence <= 200 2014-11-02 01:38:29 +01:00
Stephan Aßmus da6511046d HaikuDepot: Properly add featured packages.
* Rework existing package listener mechanism to report any interesting
   changes. Listen for prominence changes in addition to package state.
 * Add featured packages to the FeaturedPackagesView when their prominence
   is retrived, and also in _AdoptModel().
 * In _AdoptModel(), show the featured packages view when no search filters
   are active and installed packages are not shown either. Otherwise show
   the list of all packages matching the current filtering.
2014-11-02 01:38:28 +01:00
Stephan Aßmus 64458d227c HaikuDepot: Only list featured packages once. 2014-11-02 01:38:27 +01:00
Stephan Aßmus 0c169ace2e HaikuDepot: Add some getters to Model.
For category, depot and search terms filter.
2014-11-02 01:38:25 +01:00
Stephan Aßmus 3d869af5e4 HaikuDepot: Separate MessagePackageListener...
...into MessagePackageListener and OnePackageMessagePackageListener.
The first one doesn't know which package(s) it's listening to. But it
can filter the change notifications now and only react to certain changes.
The second one knows which package it's listening to.
2014-11-02 01:38:24 +01:00
Stephan Aßmus 9f40cd4121 HaikuDepot: Retrieve prominence values from web app 2014-11-02 01:38:23 +01:00
Stephan Aßmus 6072a7e417 HaikuDepot: Added "prominence" member to PackageInfo 2014-11-02 01:38:21 +01:00
Stephan Aßmus 4b930cca9c HaikuDepot: Work in progress on featured packages
Not yet visible. But the package list area in the main window has a card
layout now and a second (hidden) page for featured packages. Which packages
are visible there will depend on the prominence value from the web-app
and other parameters later (suggestions based on packages already installed
and user-ratings). At the moment, there is no mechanism for updating the
package list when package info is retrieved asynchronously, even from the
cache. Also, the view should switch to the list when searching and perhaps
in other situations as well, like selecting a category or when no packages
would be featured. And clicking featured packages does not yet select them in
the info area...
2014-10-26 23:37:18 +01:00
Stephan Aßmus f545fe6acc HaikuDepot: Extracted MarkupTextView into its own files 2014-10-26 23:37:17 +01:00
Stephan Aßmus 7631f91496 HaikuDepot: Beginnings of "featured packages" view
Currently a vertically scrollable container for views which are similar
to the title area in the package info view (and share most code, but it
will diverge later on). Untested and not yet used.
2014-10-26 23:37:15 +01:00
Stephan Aßmus 73a3f44915 HaikuDepot: Extracted MessagePackageListener...
... from PackageInfoView into its own files.
2014-10-26 23:37:14 +01:00
Stephan Aßmus 7d0ce97b27 HaikuDepot: Extraced LinkView and ScrollableGroupView...
... from PackageInfoView.cpp into their own files in ui_generic.
2014-10-26 23:37:13 +01:00
Stephan Aßmus cb9a077fde HaikuDepot: Implemented "opening" installed packages
Package contents are scanned to find deskbar links. If a package has less
than four links, they will be offered in separate "Open <link name>" buttons
in the package info area. Usually, this results in one button to open the
main application from the package. If the heuristic proves to be not good
enough, this could be improved of course.
2014-10-26 23:37:12 +01:00
Stephan Aßmus 2d2824bfff HaikuDepot: Store package file name in PackageInfo
Also removed misplaced WIP functionality to find deskbar links
2014-10-26 23:37:10 +01:00
Stephan Aßmus ad5bc044c5 HaikuDepot: Make sure to pick up changed package action labels 2014-10-26 23:37:09 +01:00
Stephan Aßmus a88f2beb0f Make HaikuDepot the preferred app for .hpkg files.
Note that double clicking a .hpkg in one of the packages folders will
not yet have a sensible result. I think it should open the regular
HaikuDepot with the full packages list, default to show installed packages
only and pre-select the package that was double clicked. It would be tricky
however if more than one installed package file is opened at once.
2014-10-26 00:25:19 +02:00
Stephan Aßmus 5f52e82c00 HaikuDepot: Some work in progress to prepare "opening" packages
The idea is to parse packages for Deskbar links and offer to "open" them
once they are installed. The added functionality is not yet complete and
will eventually figure out the file system location of a package and parse
the contents. I am mainly pushing this since my git-foo is limited and
I want to push the fix for the discovered deadlock.
2014-10-26 00:13:48 +02:00
Stephan Aßmus 6b147523f1 HaikuDepot: Fixed potential dead-lock in package list refresh.
When the package list was refreshed while package info was still being
pulled from the web app, calling Model::Clear() with the model lock already
held could lead to a dead-lock: The package populator could block on the
model lock to update information, while StopPopulatingAllPackages() waited
for the thread to exit, but held the lock that the thread was blocking on.
So call StopPopulatingAllPackages() before grabbing the lock and calling
Clear() in MainWindow::_RefreshPackageList().
2014-10-26 00:13:47 +02:00
Stephan Aßmus fdec4227f5 HaikuDepot: Resurrect Options menu...
And move the (new) checkmarks into the Options menu. This makes them less
easy to discover, but cleans up the UI, especially since the options to show
development and source code packages are not very important for most users.
2014-10-25 17:30:54 +02:00
Stephan Aßmus e0a26dce59 HaikuDepot: Centralized user account features in the UI
There is now a right-aligned second menu bar for the account management.
The menu label is what was previously shown underneath the search terms field.
The menu items have moved from the Tools menu into the new user menu. This
means the login/logout functionality is directly available where the login
info is shown in the UI when you click it.
2014-10-25 17:16:37 +02:00
Stephan Aßmus 9303787b1a HaikuDepot: Show ratings in other languages with empty comments 2014-10-25 16:33:02 +02:00
Stephan Aßmus 7102f0d09b HaikuDepot: Disable package action button...
... after scheduling the respective package action.
2014-10-25 16:33:00 +02:00
Stephan Aßmus 87d1eac74e HaikuDepot: Implement ProgressPackageDownloadStarted()...
... by calling ProgressPackageDownloadActive() with a 0.0f progress
percentage.
2014-10-25 11:12:29 +02:00
Stephan Aßmus 24e3b35816 HaikuDepot: Support installing local package files
* Give the PackageManager either the package name, or the path to a local
   .hpkg package to Install().
 * Implement Warn() to at least print something to the command line. Change
   the TODO to show the warning to the user instead.
2014-10-25 11:12:27 +02:00
Stephan Aßmus 9002c94345 Package Kit: Always allocate local repository
Consequently always register it with the solver in Init(). This solves the
problem that it made a difference at which time Init() is called. Init() is
called at the beginning of Install() and Uninstall(), but HaikuDepot was
calling it before that for other reasons. A second call to Init() will exit
early. If local package files were added to the PackageManager instance,
the local repository was created lazily, but because Init() did not run a
second time, the local repository was not registered with the solver. Now
it already is, since it is no longer created on demand, but always.
2014-10-25 11:12:26 +02:00
Stephan Aßmus 448f707cea HaikuDepot: Never refresh repositories or package lists...
... when in single package mode.
2014-10-25 11:12:25 +02:00
Stephan Aßmus 89fbeddf2a HaikuDepot: Store local package path in PackageInfo...
... when launched with a path to a .hpkg file.
2014-10-25 11:12:24 +02:00
Stephan Aßmus 08f2b2b232 HaikuDepot: Restrict max width of links in package view 2014-10-18 22:52:00 +02:00
Stephan Aßmus 96ebc1d602 HaikuDepot: React to B_SELECT_ALL in custom text view 2014-10-12 23:41:27 +02:00
Stephan Aßmus 639756547d HaikuDepot: Move worker thread init into method
... and call it from the second version of the MainWindow constructor.
2014-10-12 23:21:54 +02:00
Stephan Aßmus 027e51ae7d HaikuDepot: Log more errors to stderr.
These errors do not necessarily need to be reported to the user via alerts.
They are more of an indication that HaikuDepot needs to be smarter when
figuring out what package actions to present at all.
2014-10-12 23:21:52 +02:00
Stephan Aßmus 1783f96af9 HaikuDepot: Show alert when scheduling package action failed 2014-10-12 23:21:49 +02:00
Stephan Aßmus 2fb1b897bc HaikuDepot: Revert change regarding publisher name
It is now again the first string from the copyrights list, unless there is
no copyrights list, in which case the vendor string is used.
2014-10-10 22:51:19 +02:00
Stephan Aßmus 6d519fd175 HaikuDepot: WIP to open .hpkg files.
* When opening .hpkg files, shows just the PackageInfoView in a smaller
   window.
 * PackageInfo constructor with BPackageInfo argument
 * Default pkg icon has a single instance only. Before, there would be another
   instance for each repository refresh.

TODO:
 * Install button on single package view is non functional
 * Probably needs to do someting different when opening .hpkg from an
   installed packages folder (show the regular list and focus that package?).
 * The filter view and list view are still constructed for the single package
   mode.
 * ...
2014-10-10 22:42:07 +02:00
Stephan Aßmus a3dfc57d04 HaikuDepot: Enable caching of info retrieved from web-app 2014-10-07 22:32:42 +02:00
Stephan Aßmus cdb2290fe9 HaikuDepot: Logic reversal with marking username field
Fixed flipping the boolean passed to MarkAsInvalid() for the user name field,
which only recently became apparent.
2014-10-07 21:35:09 +02:00
Stephan Aßmus 6f9eb8d1bb HaikuDepot: Validate input before creating account
Provide error or info alert when fields are invalid, suggest
providing an email, but allow to ignore the warning.
2014-10-04 13:31:58 +02:00
Stephan Aßmus fa09af9a8f HaikuDepot/RatePackageWindow: Output in error code paths 2014-10-04 12:32:59 +02:00
Stephan Aßmus 602db4afd3 HaikuDepot: Removed misleading default comment text 2014-10-03 12:59:45 +02:00
Stephan Aßmus 5ba7054c6b HaikuDepot: Don't try to send "unspecified" stability
Set to empty string and cause the JSON to have null. Fixes sending/editing
comments without specifying a stability rating.
2014-10-03 12:59:44 +02:00
Stephan Aßmus b5b717785e HaikuDepot: Specific error for untracked packages
The web service currently only synchronizes with HaikuPorts. Packages
from 3rd party repositories which were added by the user cannot be rated.

Also, use a warning alert for errors in the UserLoginWindow and
RatePackageWindow.
2014-10-02 22:57:51 +02:00
Stephan Aßmus f532d965bf HaikuDepot: Escape strings in the JSON builder
Fixes uploading comments which use any char that needs to be escaped.
Such as line-breaks, " or \.
2014-10-02 22:57:49 +02:00