Last Friday I did some experiments with using html-like tables to implement interface details using a single Plasma::Label, that simplifies the code and, most important, reduces memory usage. I almost succeed, the result is this:
Another advantage of using html tables is that now we can select which detail to show per interface type. In the current implementation the entries Operator, Signal Quality and Access Technology are only shown for Gsm connections. Monolithic Knm uses a similar code to showing tooltips for the interfaces. One other thing Knm does is let the user select which detail and in which order to present them, that is more flexible than what I have implemented so far. I plan to port that code to Plasma NM in the future as more I progress in MM implementation the more information will be added to interface details, so it would be good to select which detail I want to see. One more thing to the TODO list.
Sometimes I get very stubborn to finish one thing. If you look at the screenshot above you can see the access technology and signal quality beside the connection name at the right side of Plasma NM. I thought I could do that in a couple of hours at most, what naive of me. Yesterday morning I started to dig the code finding how Plasma NM does that for wireless connections. Man, it looks like a labirint, only today morning I finally have got everything working, well almost everything, there are some edges to polish. What took me so much time was the fact the wireless component gets the signal strength througth org.kded.networkmanagement (a kded module), so I had to implemented one interface for org.kded.networkmanagement too, more precisely org.kded.networkmanagement.GsmInterfaceConnection. The implementation adds 13 new files to the source code :-/ and charnges several other files. Well, at least now I can see the signal quality and access technology without having to open the interface details window :-) Yes!!!
8 comments:
Wow, this looks great! Cannot wait to test this! When will you commit this to trunk?
I need to finish the MM solid backend and commit it to trunk before I can commit the changes to Plasma NM. KDE is in hard feature freeze, which as far as I know ends in August with the KDE SC 4.5.0 release, then I can only commit the MM solid backend to trunk after that.
The html table change can be commmited now since it does not depends on MM. Unfortunately I still have some layout problems. Sometimes the left panel does not resize properly and the back button does not work because some widget overrides it. I added a hack that resizes the left panel as needed but it must run when the panel is visible to the user, and you can see the panel increasing two times during a couple of seconds until it finds the right size. Usability speaking it is very bad to see that happening, I am still trying to find a better solution.
This widget is to big. Why not to move this functionality to classical app?
Do you think it will be possible to connect through a bluetooth connected phone acting as a GSM modem?
I guess this will need some more work with the bluetooth manager, but if the connection to between the computer and the phone was established, do you think NM applet would be able to use that?
I would find that very useful, but it is usually not easy to set up atm.
I just say thanks :)
Great to see someone working on the NM part of KDE
since I use the new NM plamsma app I can finally use my UMTS stick again without using the gnoma nm-applet :)
The rest looks great to me too.
Keep up the good work! :)
@Anonymous, well, I like the old app but I am not knm maintainer and the older developers already decided to deprecate knm and stay with plasma nm only. I cannot change that. Besides I like the traffic plotter :-) That was one of the things I would like to implement in knm, less one thing for me to do. I know the widget is big, programming in plasma (and superkaramba) has this problem, there is too much space wasting. Unfortunately the only solution (hack) for the layout problem I talked abrove is increase the window until it fits the contents and let the back button working again.
@Magnus, I will test my Samsung i8910 as bluetooth modem and see what happens. I have only connected with my phone using wvdial (never with MM) because the AT +CFUN=1 command (turn radio on) in fact disables my phone's radio enterely. As far as I know MM always issue this command when connecting and with wvdial I can prevent this command to be issue, in MM I do not know if it is even possible. I do not know the state of nm-applet about this, I used it only once last year to do some tests required by my employer. As far as I know once the phone is connected to rfcomm subsystem it acts as a serial modem, problably from that moment on NM e MM can work with it. Setting the rfcomm part is editing the file /etc/bluetooth/rfcomm.conf, loading the right modules (rfcomm.ko) and pairing the devices. I will test that later and let you know the results.
@Eric, thanks.
I tried to connect using my modem as bluetooth modem, it did no work, udev/bluetoothd did not create the /dev/rfcommX entry. Even creating it manually it did not connect to my phone. I know bluetooth is working because I use (k)anyremote to use my phone to control amarok, it works. I will keep trying.
I have just posted a new blog about using phone as bluetooth modem, who is interested go to the blog's front page.
Post a Comment