Review Request 112023: Disable move/copy actions for non-writeable UMS collections.

Frank Meerkoetter frank at meerkoetter.org
Sun Sep 1 12:38:56 UTC 2013



> On Aug. 12, 2013, 4:57 p.m., Matěj Laitl wrote:
> > src/core/collections/Collection.h, lines 125-135
> > <http://git.reviewboard.kde.org/r/112023/diff/1/?file=178093#file178093line125>
> >
> >     Hmm, I don't like the combination of 2 bools to signify 3 possible values (because you introduce one invalid combination).
> >     
> >     What about making it:
> >     Enum WritableType {
> >         Writable,
> >         TemporarilyNotWritable,
> >         NotWritable // permanently
> >     }
> >     WritableType writableType() const;
> 
> Frank Meerkoetter wrote:
>     Sure, i'll update the patch
> 
> Frank Meerkoetter wrote:
>     I have a question about your proposal.
>     
>     Your intention is to replace isWriteable() and isWriteableType() with writeableType() which returns an enum?
> 
> Matěj Laitl wrote:
>     Yes, exactly. It might be a good idea to change it also in CollectionLocation so that Collection::writableType() remains just a convenience shortcut.

Hi, did you see my updated patch?


- Frank


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112023/#review37599
-----------------------------------------------------------


On Aug. 25, 2013, 9:09 p.m., Frank Meerkoetter wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112023/
> -----------------------------------------------------------
> 
> (Updated Aug. 25, 2013, 9:09 p.m.)
> 
> 
> Review request for Amarok.
> 
> 
> Description
> -------
> 
> The fix in https://git.reviewboard.kde.org/r/111991/ fixes isWriteable() for UMS collections. This has the effect that if an UMS-collection is actually non-writeable the copy/move operations will be missing from the TreeView/Filebrowser context menus. There is no clue to the user what is going on.
> 
> This patch is introducing a new method to the Collection interface so we can differentiate between collections that are non-writeable by principle and collections that just happen to be non-writeable right now (for what ever reason).
> 
> I use this changed collection interface to disable move/copy actions (as opposed to hide) for non-writeable UMS-colllections. This should give the user at least a hint what is going on.
> 
> Unfortunately i haven't found a way to display a tooltip ("Currently readonly"). The action is offering an setTooltip() method but now effect was observed.
> 
> 
> Diffs
> -----
> 
>   src/browsers/CollectionTreeItemModel.cpp 1ac4463 
>   src/browsers/CollectionTreeView.cpp 6fad164 
>   src/browsers/filebrowser/FileView.cpp ad200eb 
>   src/core-impl/collections/db/sql/SqlCollectionLocation.h da1b2e5 
>   src/core-impl/collections/db/sql/SqlCollectionLocation.cpp 3b55f66 
>   src/core-impl/collections/ipodcollection/IpodCollection.h 14fdd40 
>   src/core-impl/collections/ipodcollection/IpodCollection.cpp 36738d7 
>   src/core-impl/collections/ipodcollection/IpodCollectionLocation.h cc27e19 
>   src/core-impl/collections/ipodcollection/IpodCollectionLocation.cpp f8105f9 
>   src/core-impl/collections/ipodcollection/IpodMeta.cpp 6beca0a 
>   src/core-impl/collections/ipodcollection/IpodPlaylist.cpp 61c60ba 
>   src/core-impl/collections/ipodcollection/IpodPlaylistProvider.cpp dcef4c2 
>   src/core-impl/collections/mediadevicecollection/MediaDeviceCollectionLocation.h e40529f 
>   src/core-impl/collections/mediadevicecollection/MediaDeviceCollectionLocation.cpp 603ceff 
>   src/core-impl/collections/mediadevicecollection/MediaDeviceMeta.cpp 4a419d5 
>   src/core-impl/collections/nepomukcollection/NepomukCollection.h c5d7a13 
>   src/core-impl/collections/nepomukcollection/NepomukCollection.cpp 77aef8e 
>   src/core-impl/collections/playdarcollection/PlaydarCollection.h 1a7ec89 
>   src/core-impl/collections/playdarcollection/PlaydarCollection.cpp 5c2349d 
>   src/core-impl/collections/support/FileCollectionLocation.h 9bd303e 
>   src/core-impl/collections/support/FileCollectionLocation.cpp 4b9b4b0 
>   src/core-impl/collections/support/TrashCollectionLocation.h 239a977 
>   src/core-impl/collections/support/TrashCollectionLocation.cpp 61c2e49 
>   src/core-impl/collections/umscollection/UmsCollection.cpp a73fd34 
>   src/core-impl/collections/umscollection/UmsCollectionLocation.h 6cfe4df 
>   src/core-impl/collections/umscollection/UmsCollectionLocation.cpp cef90d7 
>   src/core/collections/Collection.h 94d24d7 
>   src/core/collections/Collection.cpp 01a2e8c 
>   src/core/collections/CollectionLocation.h 7a1ed1e 
>   src/core/collections/CollectionLocation.cpp 2385570 
>   src/services/ServiceCollectionLocation.h cea3b84 
>   src/services/ServiceCollectionLocation.cpp d1cb0d8 
>   src/services/mp3tunes/Mp3tunesService.cpp ed2b006 
>   src/services/mp3tunes/Mp3tunesServiceCollectionLocation.h 2b06cb4 
>   src/services/mp3tunes/Mp3tunesServiceCollectionLocation.cpp 6aaa66d 
>   src/synchronization/MasterSlaveSynchronizationJob.cpp 1979701 
>   src/synchronization/OneWaySynchronizationJob.cpp 99f504c 
>   src/synchronization/UnionJob.cpp 8602044 
>   tests/core-impl/collections/db/sql/TestSqlCollectionLocation.cpp ab41db3 
>   tests/core/collections/CollectionLocationTest.cpp 720fa6a 
>   tests/core/collections/TestCollection.cpp 72a8b3b 
>   tests/synchronization/TestMasterSlaveSynchronizationJob.cpp b8b59c4 
>   tests/synchronization/TestOneWaySynchronizationJob.cpp ce7a2b5 
>   tests/synchronization/TestUnionJob.cpp 2343577 
> 
> Diff: http://git.reviewboard.kde.org/r/112023/diff/
> 
> 
> Testing
> -------
> 
> I have tested with an USB-stick that is writeable and another one that is non-writeable. I have also observed that for the FileBrowser the "Local collection" is still shown as active.
>  
> 
> 
> Thanks,
> 
> Frank Meerkoetter
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20130901/7ead3c7a/attachment.html>


More information about the Amarok-devel mailing list