> On Jan. 2, 2017, 9:38 a.m., David Faure wrote: > > Renaming is really a special case of moving. Saying that "kio_trash doesn't > > support renaming" is correct but only a partial truth. It also doesn't > > support moving from trash:/ to trash:/subdir/. So it would be more correct > > to say that kio_trash supports moving trash-to-file and file-to-trash but > > not trash-to-trash. > > > > So it seems to me that this patch models the wrong thing, and is likely to > > give us further trouble down the line. > > > > I wonder if we could invent something more dynamic than the .protocol keys. > > An additional way to talk to a slave and ask if a specific operation (for > > specific URLs) is implemented. Something like KIO::CapabilityJob *job = > > KIO::capability(Move, url1, url2); connect; and in the slot, enable/disable > > the action accordingly. By default this would just use the information from > > the .protocol files, but in addition a new SlaveBase method (fake-virtual > > until KF6, using virtual_hook) would allow slaves to answer the query with > > more precision, depending on the actual URLs. What do you think? > > > > Of course the alternative (which is actually simpler short term) is to > > implement renaming in kio_trash ;) > > Actual renaming should be easy, moving between subdirs is a bit more tricky > > but doable too. I can take a look at that next weekend.
> Renaming is really a special case of moving. Saying that "kio_trash doesn't > support renaming" is correct but only a partial truth. It also doesn't > support moving from trash:/ to trash:/subdir/. So it would be more correct to > say that kio_trash supports moving trash-to-file and file-to-trash but not > trash-to-trash. Good point... > Something like KIO::CapabilityJob *job = KIO::capability(Move, url1, url2); > connect; and in the slot, enable/disable the action accordingly. This would be more flexible indeed. On the other hand, it's more verbose and low-level. Also, for the "renaming" case one needs a way to make up url2 (url1 would just be the selected url in the dolphin view). > Of course the alternative (which is actually simpler short term) is to > implement renaming in kio_trash ;) Definitely :) All right, let's discuss this again later, waiting for news from kio_trash. - Elvis ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/129741/#review101715 ----------------------------------------------------------- On Jan. 1, 2017, 11:01 p.m., Elvis Angelaccio wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/129741/ > ----------------------------------------------------------- > > (Updated Jan. 1, 2017, 11:01 p.m.) > > > Review request for KDE Frameworks, David Faure and Emmanuel Pescosta. > > > Repository: kio > > > Description > ------- > > An ioslave protocol might support moving files but not "renaming" them > (rename here means "the F2 shortcut in filemanagers"). trash:/ is a good > example. > > The new `renaming` field defaults to `moving`, so that we don't have to add > renaming=true to every protocol file out there. > > > Diffs > ----- > > src/core/kfileitemlistproperties.h 2b4a5b33166513493e6499e6479a04965a895b57 > src/core/kfileitemlistproperties.cpp > 5c6e6bba693f8b9bfc942ff39bee5d24f159fd7f > src/core/kprotocolinfo.cpp 0290c63b37a45a22995238f9cfcc11b8334d339c > src/core/kprotocolinfo_p.h 8d05bd194fdaa7b7e7552e0d1d22bf16b28ffbc1 > src/core/kprotocolmanager.h 13b8c0756f8e355b1ec84cdf1c44086f41fa05c5 > src/core/kprotocolmanager.cpp 9a0a96fe749a11c66a22bb3eff62d0601e3b7b36 > src/ioslaves/trash/tests/testtrash.cpp > 67a6130e7c86af00e596dc439125c29eb74fc99f > src/ioslaves/trash/trash.json d7dc03eb073c7bfdde3c7eebfbac144ad62964fe > src/protocoltojson/main.cpp 0bf3c7062d076412c779f6cae25a98e1b2c61be4 > > Diff: https://git.reviewboard.kde.org/r/129741/diff/ > > > Testing > ------- > > Using the new `supportsRenaming()` api from Dolphin, F2 in Trash is now > disabled. More context in https://git.reviewboard.kde.org/r/129714 > > > Thanks, > > Elvis Angelaccio > >