Review Request 125262: Parse ServiceType files when reading .desktop files

Alex Richardson arichardson.kde at gmail.com
Mon Oct 12 22:25:02 UTC 2015


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

(Updated Oct. 12, 2015, 10:25 p.m.)


Status
------

This change has been marked as submitted.


Review request for KDE Frameworks, David Faure and Sebastian Kügler.


Changes
-------

Submitted with commit e3b1d023dcf2c10f5b4feb4eb1973bcc0fbdb954 by Alex Richardson to branch master.


Repository: kcoreaddons


Description
-------

Parse ServiceType files when reading .desktop files

---

Remove lots of duplicated code for desktop{tojson,fileparser}.cpp

The only reason these were copy-pasted are minor differences in the
output which is now fixed by using qInstallMessageHandler and the
ability to generate JSON compatible with the first published version
of desktoptojson (which is hopefully no longer used and can be removed
soon)

---

QCommandLineParser uses -v for --version so just use --verbose

Otherwise the whole QCommandlineOption is ignored and there is no way
to enable verbose mode

---

desktopparser: Use more categorized logging

---

desktopparser: Allow passing relative paths to service type files

---

Add KPluginMetaData::fromDesktopFile()

This function allows specifying a list of service type files to be
parsed when loading the .desktop file.

---

desktopparser: Improve warning messages and add new unit test

The new test checks how the desktop parser handles service type files
with invalid property definitions

---

desktopparser: Fix parsing of double and bool values

QString::compare returns 0 on equal and make sure that we don't assign
the parsed double to an integer local variable

---

Add another unit test for desktop parsing with service types

Test that all supported types are converted correctly

---

Allow setting service types in kcoreaddons_desktop_to_json()


Diffs
-----

  KF5CoreAddonsMacros.cmake acfcaa3069991395d83923bcc30cd08f231c30eb 
  autotests/data/servicetypes/bad-groups-input.desktop PRE-CREATION 
  autotests/data/servicetypes/bad-groups-servicetype.desktop PRE-CREATION 
  autotests/data/servicetypes/example-input.desktop PRE-CREATION 
  autotests/data/servicetypes/example-servicetype.desktop PRE-CREATION 
  autotests/data/servicetypes/fake-kdevelopplugin.desktop PRE-CREATION 
  autotests/desktoptojsontest.cpp 63ba2bee10de77ae6c0697cb654defa67d069f65 
  autotests/kpluginmetadatatest.cpp 82ec06a91005ffd2c8e50d7a641706c6c7beac6b 
  src/desktoptojson/CMakeLists.txt 94a199d8fa44a21b15e24c2e4f42551adada8f72 
  src/desktoptojson/desktoptojson.h bfa38b0f5ddd0581ad176d854614bc9c80dd139a 
  src/desktoptojson/desktoptojson.cpp f07de309a667aaa017a22f761222f2b5f6694ccb 
  src/desktoptojson/main.cpp 9bac8ff55d005d1944c04f557aa9601de2b0ca15 
  src/lib/plugin/desktopfileparser.cpp 0f71ead0e83270d757179ad233982beadb6c9806 
  src/lib/plugin/desktopfileparser_p.h 767146e691a9b6c9827c5b7bcd9b73c98ff868e3 
  src/lib/plugin/kpluginmetadata.h 59b6a9db0811d24c9ad8a3e86212ea50b9cd95ce 
  src/lib/plugin/kpluginmetadata.cpp f7942b1aef3f165c0fab2a0cb4422422342e5f8d 

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


Testing
-------

Added some unit test and they pass


Thanks,

Alex Richardson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20151012/1b96ae46/attachment.html>


More information about the Kde-frameworks-devel mailing list