Registered Member
|
Hi,
I've installed kdev-upload. However it didn't work with kdevelop 5.1.1. The following message was in the output:
As defined in CMakeLists.txt the file gets copied to ${DATA_INSTALL_DIR} . So it is located in /usr/share/kdevupload/kdevupload.rc . After a lot of debugging I found out, that it works when copied to the following location: /usr/share/kdevupload.rc . This works, but I get the following message:
So I've tried to change CMakeLists.txt to ${KXMLGUI_INSTALL_DIR} which results in the same message which I had first:
I'm on Manjaro Linux with Plasma 5.10.4, Frameworks 5.36.0 , QT 5.9.1 , kdevelop 5.1.1
It works when copying the rc file manually to /usr/share/kdevupload.rc , but I'm interested in a common solution. I took a look at github kdev modules to find out how other modules do this. The most common solutions seems to be /usr/share/kxmlgui5/kdevupload/kdevupload.rc . But this doesn't work either. I also searched for some documentation on kdevelop plugin development, but didn't find anything helpful. Best regards |
Global Moderator
|
One common way to do it nowadays seems to be to put it into a .qrc file which is compiled into the executable. I don't know how to install it properly, sorry -- if I were to find out, I'd look for a different application doing that.
I'm working on the KDevelop IDE.
|
KDE Developer
|
As Sven said: putting the .rc into a resource is how it's done nowadays.
Please check out the following review, and just make kdev-upload do the same: https://phabricator.kde.org/D528#0b38f892 (changes in plugins/documentview/ could be used as a template) We'd happily accept a patch of yours on our Phabricator instance. To get started how to contribute, please read through: https://www.kdevelop.org/contribute-kdevelop Thanks! |
Registered Member
|
Thanks for your replies!
So, this is what I've tried: * added kdevupload.qrc https://pastebin.com/epuNcqme * editet CMakeLists.txt https://pastebin.com/zNcEPYyF Then I compile:
Which results in
And no output for
And still getting
As I understand the qrc includes the "kdevupload.rc" in the plugin, so it's not copied on the filesystem? |
Global Moderator
|
Maybe you need to use :/kdevupload.rc for the file name? Look at how the others do it maybe.
Qt resource files are not installed as files -- they are compiled into the binary and loaded from there. They don't exist as actual files.
I'm working on the KDevelop IDE.
|
Registered Member
|
Unfortunately this does not work either:
I already took a look at other modules, which all do the same: https://github.com/KDE/kdevplatform/blo ... in.cpp#L93 . Furthermore the method setXMLFile checks automatically if it's a qrc resource: https://github.com/KDE/kxmlgui/blob/mas ... t.cpp#L240 So I've printed out a list of all resource files and found:
And now I have the solution : https://github.com/KDE/kxmlgui/blob/mas ... t.cpp#L234 The component name was "uploadproject", but needs to be "kdevupload". The context menu still does not work, but this might be caused by the following changes in kdevplatform: https://github.com/KDE/kdevplatform/com ... eb39d8311f I'm on kdevplatform 5.1.1 and the commit came later... Thanks for your help! |
Registered Member
|
So, now I've fixed the context menu, too. I had to create a different branch for kdevplatform 5.1.1 (which I've installed). The "broken-features" branch should work for kdevplatform > 5.1.1 .
I've read https://www.kdevelop.org/contribute-kdevelop which led me to https://phabricator.kde.org/dashboard/view/8/ which led me to https://community.kde.org/Infrastructure/Phabricator . I have to "Log in to Phab and enter Code Review (a.k.a Differential).". But I have no Phabricator account and can't find out how to register. So, I've pushed everything to github: https://github.com/schnere/kdev-upload . |
KDE Developer
|
Note: Instructions how to sign up are here: https://community.kde.org/Infrastructur ... Logging_in
|
Registered Member
|
|
Global Moderator
|
|
Registered Member
|
@scummos : thanks for the hint!
@kfunk: thanks for merging! |
Registered users: Bing [Bot], daret, Google [Bot], Sogou [Bot]