Some issues with porting KDE4 plasmoid to Plasma5
Hello, Some time ago I've started a porting of my plasmoids and dataengines to the newest Plasma and found some problems with it. I've ported a DataEngine w\o any problem, but I have issues about a Plasmoid. I've read API reference and look at examples from plasma-next and didn't find solutions. First of all I want say that I don't plan to use QML/JS now and plan to develop of my plasmoids in pure C++. Firstly it is related to other project parts which is in C++/Qt and I don't want to use additional languages w\o any special necessity. Also as far as I understand the core plasmoid part (on which I have issue too) still shoul be written in C++. Also I try to avoid using deprecated functions. My questions are: 1. Is there any alternative to Plasma::PopupApplet? If there is not, is there a plan to implement it? 2. Is there a possibility to paint complex UI w\o using QML (in C++ code)? For example, I didn't find old Applet::setLayout() and PopupApplet::setWidget() methods. 3. How can I connect DataEngine to my Plasmoid? The old method which I used was dataEnigne(), some new applets use this method too, but it doesn't exist in the newest Plasma headers. Some new widgets such as nm-applet use Plasma::DataEngineManager::self()-engine() constuction, but Plasma::DataEngineManager class doesn't exist in the Plasma too =( If you need a reference to my plasmoid, example on which I'm working now may be found here [1] (it is more simple than the second one). 1. https://github.com/arcan1s/netctl-gui -- Sincerely yours, Evgeniy Alekseev e-mail: darkarca...@mail.ru ICQ: 407-398-235 Jabber: arca...@jabber.ru signature.asc Description: This is a digitally signed message part. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: Some issues with porting KDE4 plasmoid to Plasma5
On Sunday 16 November 2014, Evgeniy Alekseev wrote: Hello, Some time ago I've started a porting of my plasmoids and dataengines to the newest Plasma and found some problems with it. I've ported a DataEngine w\o any problem, but I have issues about a Plasmoid. I've read API reference and look at examples from plasma-next and didn't find solutions. First of all I want say that I don't plan to use QML/JS now and plan to develop of my plasmoids in pure C++. Firstly it is related to other project in Plasma5 pure C++ plasmoids are not possible anymore, the c++ api was for QGraphicsView (since plasma was based on top of it) plasma5 is based on top of scene graph, so the only way to write an UI is trough QML. You can still use C++ in a dataengine or a private QML import. parts which is in C++/Qt and I don't want to use additional languages w\o any special necessity. Also as far as I understand the core plasmoid part (on which I have issue too) still shoul be written in C++. Also I try to avoid using deprecated functions. My questions are: 1. Is there any alternative to Plasma::PopupApplet? If there is not, is there a plan to implement it? all applets are popupapplets now. see http://notmart.org/blog/2014/02/making-plasmoids-qml-api-better/ especially the section Compact and full representations 2. Is there a possibility to paint complex UI w\o using QML (in C++ code)? For example, I didn't find old Applet::setLayout() and PopupApplet::setWidget() methods. no, only QML is allowed, and subclassing Applet doesn't really work anymore. If you have a complex QWidget ui in theory you could still have it by implementing it in a QML import, then making ti show from a slot invoked by qml. 3. How can I connect DataEngine to my Plasmoid? The old method which I used was dataEnigne(), some new applets use this method too, but it doesn't exist in the newest Plasma headers. Some new widgets such as nm-applet use Plasma::DataEngineManager::self()-engine() constuction, but Plasma::DataEngineManager class doesn't exist in the Plasma too =( see the QML bindings: https://techbase.kde.org/Development/Tutorials/Plasma2/QML2/API#Data_Engines -- Marco Martin ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: Some issues with porting KDE4 plasmoid to Plasma5
At Tuesday 25 November 2014 10:23:37 Marco Martin wrote: On Sunday 16 November 2014, Evgeniy Alekseev wrote: Hello, Some time ago I've started a porting of my plasmoids and dataengines to the newest Plasma and found some problems with it. I've ported a DataEngine w\o any problem, but I have issues about a Plasmoid. I've read API reference and look at examples from plasma-next and didn't find solutions. First of all I want say that I don't plan to use QML/JS now and plan to develop of my plasmoids in pure C++. Firstly it is related to other project in Plasma5 pure C++ plasmoids are not possible anymore, the c++ api was for QGraphicsView (since plasma was based on top of it) plasma5 is based on top of scene graph, so the only way to write an UI is trough QML. You can still use C++ in a dataengine or a private QML import. parts which is in C++/Qt and I don't want to use additional languages w\o any special necessity. Also as far as I understand the core plasmoid part (on which I have issue too) still shoul be written in C++. Also I try to avoid using deprecated functions. My questions are: 1. Is there any alternative to Plasma::PopupApplet? If there is not, is there a plan to implement it? all applets are popupapplets now. see http://notmart.org/blog/2014/02/making-plasmoids-qml-api-better/ especially the section Compact and full representations 2. Is there a possibility to paint complex UI w\o using QML (in C++ code)? For example, I didn't find old Applet::setLayout() and PopupApplet::setWidget() methods. no, only QML is allowed, and subclassing Applet doesn't really work anymore. If you have a complex QWidget ui in theory you could still have it by implementing it in a QML import, then making ti show from a slot invoked by qml. 3. How can I connect DataEngine to my Plasmoid? The old method which I used was dataEnigne(), some new applets use this method too, but it doesn't exist in the newest Plasma headers. Some new widgets such as nm-applet use Plasma::DataEngineManager::self()-engine() constuction, but Plasma::DataEngineManager class doesn't exist in the Plasma too =( see the QML bindings: https://techbase.kde.org/Development/Tutorials/Plasma2/QML2/API#Data_Engines Thank you for the answer and the links! Seems all my questions are QML porting retaled, so I'll look on it and hope will port own KDE stuff successfully =) Thank you again. -- Sincerely yours, Evgeniy Alekseev email: darkarca...@mail.ru ICQ: 407-398-235 Jabber: arca...@jabber.ru signature.asc Description: This is a digitally signed message part. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel