Review Request 117806: [WIP] Solid device import with proper model support

Kai Uwe Broulik kde at privat.broulik.de
Wed Feb 8 11:37:18 UTC 2017


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/117806/
-----------------------------------------------------------

(Updated Feb. 8, 2017, 11:37 vorm.)


Status
------

This change has been discarded.


Review request for Solid, Àlex Fiestas, Aleix Pol Gonzalez, Ivan Čukić, and Lukáš Tinkl.


Repository: solid


Description
-------

This adds proper model support to the Solid device import making it possible to hook it up to a ListView directly with automatically propagated change notifications.

You can have a look at a WIP battery monitor using it in [plasma-workspace] broulik/batterymonitorsolidimport branch.

I'm not completely satisfied with it as I'm not really good at that Qt model stuff, having the private impl mess around with the QList and having the model itself just calling beginInsertRows and endInsertRows is probably not optimal.

I apologize for the hard-to-read diff but I renamed the files outside of git and git diff --find-copies-harder confused Review Board :/ It is also available in the broulik/modelimport branch.


Diffs
-----

  autotests/CMakeLists.txt 4368a0d 
  autotests/qml/tst_declarativedevices.qml PRE-CREATION 
  src/imports/CMakeLists.txt 8c579ef 
  src/imports/declarativedevices.h PRE-CREATION 
  src/imports/declarativedevices.cpp PRE-CREATION 
  src/imports/declarativedevices_p.h PRE-CREATION 
  src/imports/devices.h e321c5c 
  src/imports/devices.cpp a586728 
  src/imports/devices_p.h 7d5a1f9 
  src/imports/solidextensionplugin.cpp 6a959f1 
  src/solid/devices/CMakeLists.txt 9271ae1 
  src/solid/devices/backends/fakehw/fakedeviceinterface.h ea7909d 
  src/solid/devices/backends/fakehw/fakedeviceinterface.cpp b5f5821 
  src/solid/devices/backends/fstab/fstabnetworkshare.h 8c5bf1a 
  src/solid/devices/backends/fstab/fstabnetworkshare.cpp 1194a78 
  src/solid/devices/backends/fstab/fstabstorageaccess.h 434a190 
  src/solid/devices/backends/fstab/fstabstorageaccess.cpp 0a77b27 
  src/solid/devices/backends/hal/halbattery.h 1e60aeb 
  src/solid/devices/backends/hal/halbattery.cpp a2ac83d 
  src/solid/devices/backends/hal/halblock.h 6e673ed 
  src/solid/devices/backends/hal/halblock.cpp 1d3e51c 
  src/solid/devices/backends/hal/halcamera.h 43148bf 
  src/solid/devices/backends/hal/halcamera.cpp 562568d 
  src/solid/devices/backends/hal/halcdrom.cpp b35b0de 
  src/solid/devices/backends/hal/haldevice.cpp e878576 
  src/solid/devices/backends/hal/halgenericinterface.h b2e2683 
  src/solid/devices/backends/hal/halgenericinterface.cpp db7cd40 
  src/solid/devices/backends/hal/halopticaldisc.cpp b3004be 
  src/solid/devices/backends/hal/halportablemediaplayer.h 9e6a6fe 
  src/solid/devices/backends/hal/halportablemediaplayer.cpp fde65bd 
  src/solid/devices/backends/hal/halprocessor.h 1c17ce9 
  src/solid/devices/backends/hal/halprocessor.cpp 31959ae 
  src/solid/devices/backends/hal/halstorage.cpp 7ded650 
  src/solid/devices/backends/hal/halstorageaccess.h aaa65ed 
  src/solid/devices/backends/hal/halstorageaccess.cpp 7463212 
  src/solid/devices/backends/hal/halvolume.cpp 4dd4bcc 
  src/solid/devices/backends/udev/CMakeLists.txt 08c59f1 
  src/solid/devices/backends/udev/udevblock.h a3263c1 
  src/solid/devices/backends/udev/udevblock.cpp d7dc110 
  src/solid/devices/backends/udev/udevcamera.h 8d15764 
  src/solid/devices/backends/udev/udevcamera.cpp fa89055 
  src/solid/devices/backends/udev/udevdeviceinterface.h 5b190e7 
  src/solid/devices/backends/udev/udevdeviceinterface.cpp b67592c 
  src/solid/devices/backends/udev/udevgenericinterface.h 0939150 
  src/solid/devices/backends/udev/udevgenericinterface.cpp f513cec 
  src/solid/devices/backends/udev/udevportablemediaplayer.h dc72ce8 
  src/solid/devices/backends/udev/udevportablemediaplayer.cpp 907051c 
  src/solid/devices/backends/udev/udevprocessor.h 3c5db5c 
  src/solid/devices/backends/udev/udevprocessor.cpp 80d14f5 
  src/solid/devices/backends/udisks2/udisksdeviceinterface.h 871aad9 
  src/solid/devices/backends/udisks2/udisksdeviceinterface.cpp 9fa60e5 
  src/solid/devices/backends/upower/upowerbattery.h 9b49d32 
  src/solid/devices/backends/upower/upowerdeviceinterface.h 2fcb322 
  src/solid/devices/backends/upower/upowerdeviceinterface.cpp 0ee5674 
  src/solid/devices/frontend/device.cpp 1ced757 
  src/solid/devices/frontend/deviceinterface.h dd212cc 
  src/solid/devices/frontend/deviceinterface.cpp 15a248d 
  src/solid/devices/ifaces/backenddeviceinterface.h PRE-CREATION 
  src/solid/devices/ifaces/backenddeviceinterface.cpp PRE-CREATION 
  src/solid/devices/ifaces/device.h 893823d 
  src/solid/devices/ifaces/deviceinterface.h 5c14496 

Diff: https://git.reviewboard.kde.org/r/117806/diff/


Testing
-------

I tried to iron out most of the crashes and issues and that thing will definitely need a whole lot of unit tests.


Thanks,

Kai Uwe Broulik

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-hardware-devel/attachments/20170208/c9653221/attachment.html>


More information about the Kde-hardware-devel mailing list