6 years agoPrevent testsqlcollectionlocation from crashing. smallFixes3
Ralf Engels [Thu, 12 Jul 2012 16:43:11 +0000 (18:43 +0200)]
Prevent testsqlcollectionlocation from crashing.

Don't rely on the transcoding controller to be always there.
Most of our singleton objects are only created in the Amarok object,
so no real singletons at all.

6 years agoTry to fix jenkins test errors with QWidgets
Ralf Engels [Thu, 12 Jul 2012 16:17:25 +0000 (18:17 +0200)]
Try to fix jenkins test errors with QWidgets

Protect three KMessageBox instances from being shown when
the application is in Tty mode.

6 years agoPrevent hang in testmetamultitrack.
Ralf Engels [Wed, 11 Jul 2012 14:25:00 +0000 (16:25 +0200)]
Prevent hang in testmetamultitrack.

The class variable mutex had problems in the destructor.
The function static mutex should not have the problem and I also
can't see problems with initialization.

6 years agoFix Amazon testcase for Jenkins
Ralf Engels [Tue, 10 Jul 2012 13:01:14 +0000 (15:01 +0200)]
Fix Amazon testcase for Jenkins

Skip emblem test case since the emblem is loaded from the Amarok
data directory.
Since this is only available once Amarok is installed the test will
fail for everybody that first runs the tests and then installs.

6 years agoPrevent testm3uplaylist from crashing.
Ralf Engels [Tue, 10 Jul 2012 12:48:30 +0000 (14:48 +0200)]
Prevent testm3uplaylist from crashing.

On my PC I got an assertion because the kde i18n system was not
correctly initialized.

6 years agoFix TestPlaylistFileProvider
Ralf Engels [Tue, 10 Jul 2012 11:40:31 +0000 (13:40 +0200)]
Fix TestPlaylistFileProvider

Add test case for new case where the given playlist name has a dot
but no known extension.
Fix handling of extensions in PlaylistFileProvider.
Change testcase to use a data driven test.

6 years agoFix DynamicModel test
Ralf Engels [Tue, 10 Jul 2012 09:03:58 +0000 (11:03 +0200)]
Fix DynamicModel test

Don't rely on engine controller to be there.
Don't create actions for a tty application (they crashed the test)
Don't rely on the logger to be there (which migth not be in a test case)

6 years agoRefactor EngineController
Ralf Engels [Mon, 2 Jul 2012 15:34:08 +0000 (17:34 +0200)]
Refactor EngineController

Refactor EngineController by documenting and cleaning up
CurrentTrack, NextTrack and the new QueuedTrack
Also implement the setCurrentTrack function which I obviously
planned to do some time ago bug forgot about it.

BUG: 299890

6 years agoTypo in ChangeLog, sorry
Matěj Laitl [Mon, 9 Jul 2012 11:20:48 +0000 (13:20 +0200)]
Typo in ChangeLog, sorry

6 years agoSqlTrack: update uidUrl in db if it changes on metadata change
Matěj Laitl [Mon, 9 Jul 2012 10:47:12 +0000 (12:47 +0200)]
SqlTrack: update uidUrl in db if it changes on metadata change

Following scenario lead to statistics, lyrics and labels loss:
 1. make sure a track in local collection is not tagged by
    amarok_afttagger or with musicbrainz uid
 2. turn off "Watch folders for changes" (or work fast)
 3. change title of the track within Amarok
 4. move the file within collection folders using Dolphin
 5. hit "Update Collection"
 6. the stats are lost; normally Amarok should match the track by
    uidUrl, but it isn't updated in the db in step 3., so it doesn't
    find the old track and removes the entry for it.

[Reporters: ^^^ see a nice example of "steps to reproduce"]

This patch changes step 3 to reread and update uidUrl in the database
if necessary.

 * Don't loose statictis, labels and lyrics when changing metadata of a
   track (not tagged by afttagger) followed by moving it.

BUG: 292245
CCMAIL: Ralf Engels <>

6 years agoSqlCollection: introduce generateUidUrl() and use it in ScanResultProcessor
Matěj Laitl [Mon, 9 Jul 2012 10:37:35 +0000 (12:37 +0200)]
SqlCollection: introduce generateUidUrl() and use it in ScanResultProcessor

so that the information is not scattered throughout the code-base, next
commit will make use of it.

6 years agoSVN_SILENT made messages (.desktop file)
Script Kiddy [Mon, 9 Jul 2012 09:08:29 +0000 (11:08 +0200)]
SVN_SILENT made messages (.desktop file)

6 years agoSVN_SILENT made messages (.desktop file)
Script Kiddy [Wed, 4 Jul 2012 08:29:58 +0000 (10:29 +0200)]
SVN_SILENT made messages (.desktop file)

6 years agotests: make testdebug actually test debugging and make it faster
Matěj Laitl [Thu, 21 Jun 2012 22:56:18 +0000 (00:56 +0200)]
tests: make testdebug actually test debugging and make it faster

tests must run in a few seconds so that developers have no excuse not
to run them. :-)

6 years agoAmarokPlaylistScript: play all media in {add,play}Media(), add playMediaList()
Matěj Laitl [Tue, 3 Jul 2012 21:20:15 +0000 (23:20 +0200)]
AmarokPlaylistScript: play all media in {add,play}Media(), add playMediaList()

No need to convert to tracks (this way it excluded playlists),
PlaylistController is good enough to read all kinds of urls including

Add playMediaList() method for symmetry with addMediaList() when at it.

We thought it worked for other than .m3u playlists, but it was by
chance becasce CollectionManager::trackForUrl() returned something
(probably the first track) for other playlists.

BUG: 232697

6 years agoEditFilterDialog: add "Last Played" back
Matěj Laitl [Tue, 3 Jul 2012 19:55:27 +0000 (21:55 +0200)]
EditFilterDialog: add "Last Played" back

It was assumed that his is a recent regression, but looking at the
code, this bug was present at least in January 2011.

BUG: 302746

6 years agoTagDialog: correct rounding for rating
Matěj Laitl [Tue, 3 Jul 2012 16:12:24 +0000 (18:12 +0200)]
TagDialog: correct rounding for rating

I still wonder how observant our users are. :-)

BUG: 273363

6 years agoREADME, CMakeLists: clarify our liblastfm 0.3 dependency
Matěj Laitl [Tue, 3 Jul 2012 15:49:33 +0000 (17:49 +0200)]
README, CMakeLists: clarify our liblastfm 0.3 dependency

...we depend on 0.3.* until patch from Harald is merged.

6 years agoIpodMeta.cpp: sanitize includes
Matěj Laitl [Wed, 27 Jun 2012 09:03:40 +0000 (11:03 +0200)]
IpodMeta.cpp: sanitize includes

6 years agoDo not use i18n() in global C-like variables
Albert Astals Cid [Mon, 2 Jul 2012 09:11:23 +0000 (11:11 +0200)]
Do not use i18n() in global C-like variables

If you use i18n() in stuff that gets called before the main KComponentData is created bad stuff happens [1] (and you were getting a warning about it for ages). This fixes it by using I18N_NOOP and then using i18n over it.


Acked by Matěj Laitl

REVIEW: 105408

6 years agoAdded some missing translations thx to Lasse Liehu for pointing it out
Patrick von Reth [Sun, 1 Jul 2012 20:41:33 +0000 (23:41 +0300)]
Added some missing translations thx to Lasse Liehu for pointing it out


6 years agoFixed the compiler warning related to overloading of addMatch in
Jasneet Singh Bhatti [Fri, 29 Jun 2012 19:11:33 +0000 (00:41 +0530)]
Fixed the compiler warning related to overloading of addMatch in
tests/mocks/MockQueryMaker.h :

'virtual Collections::QueryMaker* Collections::QueryMaker::addMatch(const LabelPtr&)’
was hidden [-Woverloaded-virtual]

6 years agoAdded unit test for core/collections/QueryMaker
Jasneet Singh Bhatti [Wed, 27 Jun 2012 17:48:04 +0000 (23:18 +0530)]
Added unit test for core/collections/QueryMaker

REVIEW: 105172

6 years agoFix Context view not being fully formed on startup
Matěj Laitl [Mon, 25 Jun 2012 22:42:50 +0000 (00:42 +0200)]
Fix Context view not being fully formed on startup

Something from inside Plasma tries to resize context view's sceneRect()
to 200x200 px. I don't know why this happens, but let's hope we'll have
QML context view soon, so don't investigate and use a work-around.

BUG: 292895
DIGEST: popular bug fixed in Amarok

6 years agoContextView: trivial: no need to call constructor twice
Matěj Laitl [Mon, 25 Jun 2012 22:41:26 +0000 (00:41 +0200)]
ContextView: trivial: no need to call constructor twice

6 years agoMPRIS2: do not emit Seeked() unnecessarily
Alex Merry [Mon, 25 Jun 2012 17:01:46 +0000 (18:01 +0100)]
MPRIS2: do not emit Seeked() unnecessarily

The spec says we don't need to emit Seeked when the track changes

6 years agofix JJ: Label about info at is truncated
Sven Krohlas [Mon, 25 Jun 2012 13:42:46 +0000 (15:42 +0200)]
fix JJ: Label about info at is truncated

Patch by Lachlan Dufton <>


6 years agonext attempt to fix TestM3UPlaylist on Jenkins
Sven Krohlas [Sat, 23 Jun 2012 22:56:51 +0000 (00:56 +0200)]
next attempt to fix TestM3UPlaylist on Jenkins

finally does the trick.

6 years agoAttempt to work around TestM3UPlaylist crash
Sven Krohlas [Sat, 23 Jun 2012 12:27:44 +0000 (14:27 +0200)]
Attempt to work around TestM3UPlaylist crash

by waiting one second before deleting the playlist on cleanup. This
should give other threads fetching meta data enough time to finish.

I did 20 test runs and only one crash (different from the ones before)
occured. Maybe that's another issue. Let's see what this does on Jenkins.

If that works I suppose other tests could be fixed this way, too. So they
can finally start to report real erros. ^^

6 years agoReplace / and \ by - in PlaylistFileProvider::save()
Sven Krohlas [Sat, 23 Jun 2012 00:42:04 +0000 (02:42 +0200)]
Replace / and \ by - in PlaylistFileProvider::save()

Also adding tests for those cases.

6 years agoTestPlaylistFormat : Reimplemented testIsPlaylist() with data driven testing
Jasneet Singh Bhatti [Fri, 22 Jun 2012 18:43:16 +0000 (00:13 +0530)]
TestPlaylistFormat : Reimplemented testIsPlaylist() with data driven testing
to make it shorter and less redundant.

Now the whole test uses data driven testing.
Thanks to Matěj for reimplementing testGetFormat()

6 years agomp3tunes: Fix memleaks and zero termination issue
Sam Lade [Fri, 22 Jun 2012 15:16:06 +0000 (16:16 +0100)]
mp3tunes: Fix memleaks and zero termination issue

Reported by cppcheck on Jenkins.
Bonus: Also fix an unused variable compiler warning.

6 years agoTestPlaylistFormat: leverage data-driven testing, formatting fixes
Matěj Laitl [Fri, 22 Jun 2012 13:57:29 +0000 (15:57 +0200)]
TestPlaylistFormat: leverage data-driven testing, formatting fixes

Data-driven testing is used in testGetFormat() to make the test
shorter, more elegant and less repetitive. Jasneet, you may want to do
the same for testIsPlaylist(), I'm too lazy. :-)

Additionally, tabs are converted to spaces. Including .moc file is not
needed unless Q_OBJECT is in a .cpp file, so it is removed.

CCMAIL: Jasneet Bhatti <>

6 years agowarnings--
Sven Krohlas [Fri, 22 Jun 2012 13:42:33 +0000 (15:42 +0200)]

Fix annoying

QWARN  : TestMetaMultiTrack::initTestCase() QObject::connect: Cannot queue arguments of type 'Meta::TrackPtr'

The test still sometimes crashes at the end.

6 years agoAdded unit test for core/collections/Collection
Jasneet Singh Bhatti [Fri, 22 Jun 2012 11:33:13 +0000 (17:03 +0530)]
Added unit test for core/collections/Collection

REVIEW: 105166

6 years agoChangeLog for previous commit.
Matěj Laitl [Thu, 21 Jun 2012 23:26:05 +0000 (01:26 +0200)]
ChangeLog for previous commit.

And I thought I stopped forgetting it. :-|

6 years agoMediaDeviceCache: remove polling, solid events should suffice
Matěj Laitl [Mon, 11 Jun 2012 15:00:52 +0000 (17:00 +0200)]
MediaDeviceCache: remove polling, solid events should suffice

This fixes a bug where Amarok (very probably needlessly) polls solid
for all devices every single second (!!!) just to detect whether some
unmounted paths become mounted or vice versa. This should not be needed
at all, solid should notify us about everything.

Let's hope this doesn't cause subtle bugs, but several people already
tested it with success [thanks, Sam]. (probably none of them with older
kdelibs though)

BUG: 289462
REVIEW: 105221

6 years agoTry to fix 279966 crash when unplugging a device which is still scanned
Ralf Engels [Thu, 21 Jun 2012 13:12:46 +0000 (15:12 +0200)]
Try to fix 279966 crash when unplugging a device which is still scanned

From the crash log I could see that the m_memColl is already set to 0
when the scanning job sends it's signal.
BUG: 279966

6 years agoDon't supply EditCapabilities if FileTrack is not writable
Ralf Engels [Tue, 19 Jun 2012 13:04:32 +0000 (15:04 +0200)]
Don't supply EditCapabilities if FileTrack is not writable

BUG: 290369

6 years agoAdded unit test for core/playlists/PlaylistFormat
Jasneet Singh Bhatti [Wed, 20 Jun 2012 14:37:36 +0000 (20:07 +0530)]
Added unit test for core/playlists/PlaylistFormat

REVIEW: 105306

6 years agoDon't hardcode / as directory separator
Sven Krohlas [Wed, 20 Jun 2012 13:02:58 +0000 (15:02 +0200)]
Don't hardcode / as directory separator

Might have caused problems on Windows. I don't know, I don't have a Windows
machine to test. While we are at it:
TheOneRing++ for providing our Windows builds. If anybody else reads this
this person ahs to find a Windows-specific bug and fix it. TheOneRing
needs some help. :)

6 years agopartly fix TestPlaylistFileProvider
Sven Krohlas [Wed, 20 Jun 2012 12:54:16 +0000 (14:54 +0200)]
partly fix TestPlaylistFileProvider

This one was quite broken. It no longer crashes but still fails.

It seems as if PlaylistFileProvider::save()
* returns NULL if attempting to save an m3u playlist (that was the cause of the crash)
* adds an additional.xspf to the given file name, if it ends with .xspf
* doesn't save a .pls file to disc

CCing Bart, you know that code waaaaaaaaay better than me. :)

6 years agoAdded unit test for class ActionsCapability of core/capabilities/ActionsCapability
Jasneet Singh Bhatti [Tue, 19 Jun 2012 23:32:38 +0000 (05:02 +0530)]
Added unit test for class ActionsCapability of core/capabilities/ActionsCapability

REVIEW: 105144

6 years agofix TestPLSPlaylist
Sven Krohlas [Tue, 19 Jun 2012 15:52:11 +0000 (17:52 +0200)]
fix TestPLSPlaylist

We should be down to 14 failing tests now.

6 years ago${KDE4_KDEUI_LIBS} is not needed for TestMetaTrack
Sven Krohlas [Tue, 19 Jun 2012 14:10:24 +0000 (16:10 +0200)]
${KDE4_KDEUI_LIBS} is not needed for TestMetaTrack

${QT_QTGUI_LIBRARY} is enough. Pointed out by Jasneet.

6 years agoAdded a unit test for class MetaCapability in core/meta/Meta
Jasneet Singh Bhatti [Tue, 19 Jun 2012 14:47:40 +0000 (20:17 +0530)]
Added a unit test for class MetaCapability in core/meta/Meta

REVIEW: 105291

6 years agoSVN_SILENT made messages (.desktop file)
Script Kiddy [Mon, 18 Jun 2012 08:04:12 +0000 (10:04 +0200)]
SVN_SILENT made messages (.desktop file)

6 years agoIpodCollection: don't depend on glibconfig.h in IpodMeta.d, Qt does it
Matěj Laitl [Sat, 16 Jun 2012 09:16:22 +0000 (11:16 +0200)]
IpodCollection: don't depend on glibconfig.h in IpodMeta.d, Qt does it

6 years agolastfm: Better fix for scrobbling issues
Sam Lade [Fri, 15 Jun 2012 23:48:28 +0000 (00:48 +0100)]
lastfm: Better fix for scrobbling issues

Fix the issue with ~1/5 tracks being submitted on the GStreamer backend
without introducing intermittent double-submission issues.

6 years agoDo not return collectionFolders() unless ready.
Edward Hades [Wed, 13 Jun 2012 20:38:25 +0000 (22:38 +0200)]
Do not return collectionFolders() unless ready.

If a collectionFolders() method of MountPointManager is called before it
has completed identifying mount points, it adds the default path like

BUG: 286219

6 years agoSqlPlaylist: remove unused cruft
Matěj Laitl [Tue, 12 Jun 2012 22:46:37 +0000 (00:46 +0200)]
SqlPlaylist: remove unused cruft

6 years agoSVN_SILENT made messages (.desktop file)
Script Kiddy [Tue, 12 Jun 2012 15:01:20 +0000 (17:01 +0200)]
SVN_SILENT made messages (.desktop file)

6 years agoUpdate Changelog
Alex Merry [Mon, 11 Jun 2012 20:59:56 +0000 (21:59 +0100)]
Update Changelog

I always forget this

6 years agoMPRIS: give out embedded images in their natural size
Alex Merry [Mon, 11 Jun 2012 20:45:48 +0000 (21:45 +0100)]
MPRIS: give out embedded images in their natural size

Rather than always resizing to 135 when the image is embedded in a file,
get the image at its original size.

CCBUG: 301399

6 years agoMPRIS: Actually use the cached we created
Alex Merry [Mon, 11 Jun 2012 16:28:37 +0000 (17:28 +0100)]
MPRIS: Actually use the cached we created

When we create a cached image (because we can't use the full-size one -
eg: it is embedded), actually use it.

I _think_ this should fix bug 301399.

CCBUG: 301399

6 years agoAdd more debugging info for mpris:artUrl in the MPRIS2 interface
Alex Merry [Mon, 11 Jun 2012 15:00:03 +0000 (16:00 +0100)]
Add more debugging info for mpris:artUrl in the MPRIS2 interface

Trying to track down a bug where it is not always exported properly.

6 years agoConstruct the MPRIS1 arturl the same way as the MPRIS2 mpris:artUrl
Alex Merry [Mon, 11 Jun 2012 14:43:03 +0000 (15:43 +0100)]
Construct the MPRIS1 arturl the same way as the MPRIS2 mpris:artUrl

Now we try to get the full size version before falling back to a reduced
version, and we encode the URL properly.

BUG: 278550

6 years agoUpdate the changelog
Alex Merry [Mon, 11 Jun 2012 14:06:17 +0000 (15:06 +0100)]
Update the changelog

6 years agoPlay the correct track when inserting tracks into a sorted playlist
Alex Merry [Mon, 11 Jun 2012 13:57:22 +0000 (14:57 +0100)]
Play the correct track when inserting tracks into a sorted playlist

When Playlist::Controller::insertOptioned() is told to play the track
that has been inserted, it previously failed to account for the
relocation of the tracks when inserted into a sorted list.  The last
track in the list would end up being played, rather than the first
inserted track.

BUG: 244595

6 years agoMake the playlist code a little clearer
Alex Merry [Mon, 11 Jun 2012 13:35:23 +0000 (14:35 +0100)]
Make the playlist code a little clearer

Abusing the visibleInsertedRowCount to store a different value is just

6 years agoFix insert options in AddTrack in the MPRIS1 interface
Alex Merry [Mon, 11 Jun 2012 13:01:48 +0000 (14:01 +0100)]
Fix insert options in AddTrack in the MPRIS1 interface

The Append option should be given whether playImmediately is true or
not.  So the correct value to pass when playImmediately is true is

6 years agoadded missing translations and updated some
Patrick von Reth [Mon, 11 Jun 2012 11:43:21 +0000 (13:43 +0200)]
added missing translations and updated some sorry or the delay, I somehow lost the overview

6 years agoTrivial change in proxy collection EditCapability
Matěj Laitl [Sun, 10 Jun 2012 10:54:13 +0000 (12:54 +0200)]
Trivial change in proxy collection EditCapability

6 years agoFix inconsistent scrobbling with GStreamer backend
Sam Lade [Sun, 10 Jun 2012 17:50:56 +0000 (18:50 +0100)]
Fix inconsistent scrobbling with GStreamer backend

With the GStreamer backend, the trackChanged signal seems to be emitted
twice on track change, which in turn sometimes triggered a consistency
check in the scrobbling code and sometimes causes tracks not to be
scrobbled. About 1/5 (variable) tracks would be successfully scrobbled.

This should not affect scrobbling with the VLC backend, which emits
correct signals.

This is a temporary hack until Matěj's statistics rewrite is complete.

6 years agoPlaylist::Dock: refactor paletteChanged(), no functional change
Matěj Laitl [Sat, 9 Jun 2012 13:47:18 +0000 (15:47 +0200)]
Playlist::Dock: refactor paletteChanged(), no functional change

6 years agoUse proper color in "Dynamic Playlist" notification strip
Matěj Laitl [Sat, 9 Jun 2012 13:17:18 +0000 (15:17 +0200)]
Use proper color in "Dynamic Playlist" notification strip was not using style's link colour, from QPalette documentation:
> Note that we do not use the Link and LinkVisited roles when rendering
> rich text in Qt, and that we recommend that you use CSS

I didn't know this.

This should fix low-contrast problem with Obsidian Coast color scheme
and the like. It is still not optimal, but that would require
rethinking PaletteHandler::highlightColor().

BUG: 301303

6 years agoContextView: fix crash in addCollapseAnimation, dedicated to Mamarok
Matěj Laitl [Sat, 9 Jun 2012 12:12:48 +0000 (14:12 +0200)]
ContextView: fix crash in addCollapseAnimation, dedicated to Mamarok

With some gdb fu, I was able to investigate that the root cause of the
bug was invalid static_cast<>, I wish static_casts were (almost) never
used in Amarok.

This crash-fix is a day-late present for Myriam Schweingruber's
birthday - cheers, Myriam! :-)

[this crash existed (in its current form) since at least 2011-07-14 as
reported by Marian Kyral. We thought we have fixed it already, but we
have in fact just reduced its probability by defaulting to a different
configuration wrt collapsing applets. My last patch touching this
7ff8068a993b3ef08 was rather a blind guess and debugging patch than
a real fix.]

BUG: 258741
CCMAIL: Myriam Schweingruber <>
DIGEST: Amarok crash-fix, please mention dedication ;-)

6 years agotests: fix ProxyLogger test failure I introduced
Matěj Laitl [Fri, 8 Jun 2012 10:38:32 +0000 (12:38 +0200)]
tests: fix ProxyLogger test failure I introduced

ProxyLogger used to move itself main thread upon creation and this was
tested. I changed it to just Q_ASSERT it is created in the main thread
- the test was (correctly) hitting the assertion now. As assertions
cannot be currently [1] tested, remove this one test.


6 years agoAmazon store: several fixes related to the config
Sven Krohlas [Thu, 7 Jun 2012 20:05:54 +0000 (22:05 +0200)]
Amazon store: several fixes related to the config

* trivial code cleanup
* do not attempt to query the store if there is no valid config. I missed
  a corner case there
* correctly write the config if the user just presses OK when being
  presented our best guess. this is the ugliest hack I have ever written.
  Isn't there a better solution?


6 years agoQtGroupingProxy: don't redefine variable inside modelRowsRemoved()
Matěj Laitl [Wed, 6 Jun 2012 21:39:58 +0000 (23:39 +0200)]
QtGroupingProxy: don't redefine variable inside modelRowsRemoved()

Spotted and fixed by wiglot on IRC that disappeared before I had chance
to talk to him.

Bart, you may want to push this change upstream.

6 years agoApply update from QtGroupingProxy.
Bart Cerneels [Tue, 5 Jun 2012 12:54:47 +0000 (14:54 +0200)]
Apply update from QtGroupingProxy.

commit 42febf5 from
Call endRemoveRows in reverse order as begin...

This is a hack, because beginRemoveRows() should always be followed
by endRemoveRows() before the next remove. But since QAbstractItemView
uses a stack to apply changes it works with those. Might break proxyies

Fixes QVector crash in QSortFilterProxyModel with Qt debug builds.



6 years agoRemove unneeded virtual method implementation.
Bart Cerneels [Wed, 6 Jun 2012 12:44:34 +0000 (14:44 +0200)]
Remove unneeded virtual method implementation.

6 years agoMeta::MetaCapability: sanitize and document interface
Matěj Laitl [Wed, 6 Jun 2012 10:45:54 +0000 (12:45 +0200)]
Meta::MetaCapability: sanitize and document interface

MetaCapability interface is divided by this commit into:
 * public: has<CapIface>() and create<CapIface>()
 * "protected": hasCapabilityInterface() and createCapabilityInterface()

The protected methods are in fact public, because various proxy classes
need to call them on other instances, protected inheritance doesn't
allow this.

Also document that the caller of create<CapIface>() needs to delete it

Convert existing (non-proxy) callers of hasCapabilityInterface() to
has<CapIface>() to promote usage of the "public" API.

6 years agoleaks--
Harald Sitter [Wed, 6 Jun 2012 01:15:49 +0000 (03:15 +0200)]

- likeback leaks QResizeEvents, as they are fake events passed directly
  to the filter function rather than through the event loop there is
  no need to put them on the heap
- cleanup bias factories when master factory gets deleted

6 years agoleak--
Harald Sitter [Wed, 6 Jun 2012 00:45:16 +0000 (02:45 +0200)]

set view as parent of browsercategorylistdelegate, also do not use
implicit parenting all over the place -.-

6 years agoPlaylists: remove capability things
Matěj Laitl [Wed, 6 Jun 2012 00:24:32 +0000 (02:24 +0200)]
Playlists: remove capability things

These weren't used in any way and just spoiled the code.

6 years agoEditablePlaylistCapability is IMO nonsense, remove it altogether
Matěj Laitl [Tue, 5 Jun 2012 23:52:44 +0000 (01:52 +0200)]
EditablePlaylistCapability is IMO nonsense, remove it altogether

...along with capability stuff in XSPFPlaylist. None of these were
(ever?) used.

6 years agofix build \o/
Harald Sitter [Wed, 6 Jun 2012 00:00:55 +0000 (02:00 +0200)]
fix build \o/

6 years agostatemanagement: remove a bunch of old cruft from 2008
Matěj Laitl [Tue, 5 Jun 2012 23:44:07 +0000 (01:44 +0200)]
statemanagement: remove a bunch of old cruft from 2008

6 years agoleak--
Harald Sitter [Tue, 5 Jun 2012 23:42:58 +0000 (01:42 +0200)]

don't new a QFile and return without deleting, read(QIOD) forms a blocking
call chain, so avoid new in the first place

6 years agoIpodCollection: Don't hit ulimit -n when copying covers
Matěj Laitl [Tue, 5 Jun 2012 21:38:57 +0000 (23:38 +0200)]
IpodCollection: Don't hit ulimit -n when copying covers

This was because QTemporaryFile holds its file open. It cannot be
forced to close its file, so use slightly more dumb solution.

BUG: 301207

6 years agoIpodCollection: don't crash when ejecting while the db is being written
Matěj Laitl [Tue, 5 Jun 2012 14:47:26 +0000 (16:47 +0200)]
IpodCollection: don't crash when ejecting while the db is being written

Piotr, I think this solves your crash, can you please pull, rebuild &
re-test? Let me know whether the crash is fixed or not.

BUG: 301208

6 years agoRevert "Apply update from QtGroupingProxy."
Bart Cerneels [Tue, 5 Jun 2012 13:31:33 +0000 (15:31 +0200)]
Revert "Apply update from QtGroupingProxy."

This reverts commit e4c09dd3d207e7de4c9db2cd382746f98764c0dd.

revert until it works with Qt debug build.

6 years agoApply update from QtGroupingProxy.
Bart Cerneels [Tue, 5 Jun 2012 12:54:47 +0000 (14:54 +0200)]
Apply update from QtGroupingProxy.

commit 42febf5 from
Call endRemoveRows in reverse order as begin...

This is a hack, because beginRemoveRows() should always be followed
by endRemoveRows() before the next remove. But since QAbstractItemView
uses a stack to apply changes it works with those. Might break proxyies

Possible fix for SortFilterProxy crashes.



6 years agoRefactor for clarity.
Bart Cerneels [Fri, 1 Jun 2012 08:28:48 +0000 (10:28 +0200)]
Refactor for clarity.

TODO: Don't call PlaylistProvider::Playlists() since it triggers a load.
Trust playlistCount() values.

6 years agoIpodCollection: finally safe solution for crash on early eject
Matěj Laitl [Tue, 5 Jun 2012 12:37:29 +0000 (14:37 +0200)]
IpodCollection: finally safe solution for crash on early eject

We now (asynchronously) wait for the job that parses iPod tracks and
playlists before destroying IpodCollection.

Other change is that we factor playlists parsing into
IpodParseTracksJob, it really belongs there. (previously it was just
called from that thread and it made false impression that the method
is only called from the main thread)

BUG: 301166

6 years agoIpodCollection: more unique collectionId and track unique ids
Matěj Laitl [Mon, 4 Jun 2012 10:34:40 +0000 (12:34 +0200)]
IpodCollection: more unique collectionId and track unique ids

...will be beneficiary for my StatSyncing GSoC work

6 years agoIpodCollection: try to detect iPhone UUID even with kdelibs <= 4.8.2
Matěj Laitl [Mon, 4 Jun 2012 08:43:12 +0000 (10:43 +0200)]
IpodCollection: try to detect iPhone UUID even with kdelibs <= 4.8.2

...hacky, but we know the kdelibs code and it wont change now it is
released months ago. :-)

6 years agoIpodCollection: prevent crash on early disconnect and double-freeing
Matěj Laitl [Sun, 3 Jun 2012 10:51:52 +0000 (12:51 +0200)]
IpodCollection: prevent crash on early disconnect and double-freeing

We were deleting Itdb_Playlist's twice, once in itdb_free and for the
second time in IpodPlaylist::~IpodPlaylist. Ensure we delete it only in
the second call by using trick we already do with tracks.

Also, try to prevent crashes when IpodCollection is destoryed while
IpodPlaylistProvider is still in parseItdbPlaylists() (needs testing)

CCBUG: 300958

6 years agoSVN_SILENT made messages (.desktop file)
Script Kiddy [Sun, 3 Jun 2012 07:36:05 +0000 (09:36 +0200)]
SVN_SILENT made messages (.desktop file)

6 years agoSVN_SILENT made messages (.desktop file)
Script Kiddy [Sat, 2 Jun 2012 07:57:24 +0000 (09:57 +0200)]
SVN_SILENT made messages (.desktop file)

6 years agoMake building spectrum analyzer applet optional
Sam Lade [Thu, 31 May 2012 20:17:31 +0000 (21:17 +0100)]
Make building spectrum analyzer applet optional

Adds -DWITH_SPECTRUM_ANALYZER option to cmake and marks OpenGL as an
optional package.

6 years agoSVN_SILENT made messages (.desktop file)
Script Kiddy [Thu, 31 May 2012 08:42:40 +0000 (10:42 +0200)]
SVN_SILENT made messages (.desktop file)

6 years agoSome minor string fixes.
Frederik Schwarzer [Wed, 30 May 2012 16:44:27 +0000 (18:44 +0200)]
Some minor string fixes.

6 years agoFix plural handling: counter has to be %1.
Frederik Schwarzer [Wed, 30 May 2012 16:22:59 +0000 (18:22 +0200)]
Fix plural handling: counter has to be %1.

6 years agoUpdate release HOWTO to current procedure.
Bart Cerneels [Wed, 30 May 2012 12:05:45 +0000 (14:05 +0200)]
Update release HOWTO to current procedure.

Don't be afraid to update and extent this people. Will make future
tarball creators a lot less frustrated.


6 years agoRename README that is really about script updates.
Bart Cerneels [Wed, 30 May 2012 12:04:17 +0000 (14:04 +0200)]
Rename README that is really about script updates.

And not release script. How did that get in there anyway?

6 years agoBump plugin version prior to 2.6-beta1 release.
Bart Cerneels [Wed, 30 May 2012 08:26:09 +0000 (10:26 +0200)]
Bump plugin version prior to 2.6-beta1 release.

DIGEST: Amarok 2.6-beta1 tagged.

6 years agoMinor: Remove unnecessary const_cast, cleanup
Kevin Funk [Tue, 29 May 2012 23:37:05 +0000 (01:37 +0200)]
Minor: Remove unnecessary const_cast, cleanup

6 years agoMetaConstants: fix playcount icon name
Matěj Laitl [Tue, 29 May 2012 21:46:21 +0000 (23:46 +0200)]
MetaConstants: fix playcount icon name