A long time has passed since the last post I created here (sorry about that). I have been very busy working on my GSoC proposal and intend to show the results I got so far.
As you could see in my previous post, at LaKademy I could start the creation of the connections List Model to show wireless connections. After talking to Lamarque we decided to create a plasmoid with the same features that exist in the C++ one. So I improved my List Model to support other kinds of connections too (Wired ethernet and VPN e.g.). It's also possible to connect to a network, disconnect and enable or disable the wireless interface just like it can be done in the C++ popup. An example of how the connections tab is organized can be seen below:
Connections List Model in QML |
Connections shown in each tab. |
Besides the Connections List Model I also created the Interfaces List Model, in other words, the list widget that will show what interfaces are available in the machine or not. As it's possible to see inside the C++ plasmoid, when an interface item gets hovered in by the mouse cursor, the connection items that correspond to the interface item changes their states too. Furthermore, each time an interface item gets clicked, the interface details widget for the selected interface appears. An example of the interfaces List Model can be seen below:
Interface and Connection List Widgets |
As I said before, when an interface item gets clicked, the interface details widget appears, so, I ported it to QML too, the best thing to do was to embed the C++ object inside the QML Plasmoid, by the end, the result was pretty good and it's possible to see the traffic plotter inside the plasmoid to the interface or connection (if it was connected before) that was clicked.
So, today, we have a QML Plasmoid for Plasma NM with almost the same features of the C++ one (I didn't show, but the Mobile Broadbad interface is also treated). To compare with what we have today, there you go two screenshots of the C++ Plasmoid for Plasma NM:
C++ Plasmoid for Plasma NM |
I intend to post more frequently here, so, I will post soon to show the improved QML plasmoid and some things about all the experience too.
That's all for today. Thanks for reading! :) Bye!
A intenção é de apenas reproduzir a funcionalidade do plasmoid atual para QML para melhorar a manutenção do código ou será adicionado algo novo ?
ResponderExcluirCheers, keep up the good work!
ResponderExcluirIncidentally, do you know if plasma will ever support right-click events? Not being able to right-click listed connections seriously hurts usability (in my own snowflake opinion).
One more step, thanks ! :)
ResponderExcluirBut I can't help but thinking that often, the layout of some KDE UIs don't looks so good... the items seems to "float" in the windows :/
A intenção é portar o plasmoid C++ para QML e a partir daí implementar as melhorias. Não é fácil imlementar coisas novas no plasmoid C++, com QML fica muito mais fácil, inclusive criar versões diferentes do plasmoid (para desktop e tablet por examplo)
ResponderExcluirIn English: the intention is to port the C++ plasmoid to QML and from there implement new features. It is not easy to implement new features in the C++ plasmoid. On the other hand that is much easier with QML, we can even create different plasmoid versions: one for desktop and another for tablets.
Right menu buttons are disencouraged in plasmoids. None of the main plasmois shipped with KDE SC (battery and device notifier) uses them, except for launching the configuration module. Anyway, I do not think it is possible to create a right menu button for an element inside the plasmoid. The menu for the entire plasmoid would get called instead.
The layout is going be improved, Arthur wrote that in the post. The UI usuability changes are going to continue after GSoC too now that the work in the background (mainly the list models) are almost done.
Este comentário foi removido pelo autor.
ResponderExcluirGreat work Arthur, congratulations! =)
ResponderExcluirAnd congratulations to Lamarque too!
Thanks :D
ExcluirAwesome work!!
ResponderExcluirThanks :)
ExcluirOk... as it goes for coding and doing your job - it's great and keep it up my friend BUT... you need to learn about something called "pixel perfect layout". Please look at this: http://imgur.com/s2u7n
ResponderExcluirthanks, a few things are already corrected, the other ones I'm going to take a better look. Sometime the problem is that the space comes from the QML Plasma Widget (for the Tool Button used in 'Settings...' and 'Show Connections' e.g.)
Excluir