

Qt Widgets

kvnkb
Various KDE Stuff by keluoinhac 7 comments
I think it would be appropriate to start the description with a short English explanation. Even though this program is mainly interesting for Viatnamese folks, this is a English website and there are several reasons other people could be interested.
From the sources:
“Vietnamese input method for KDE.” - Nov 07 2013
From the sources:
“Vietnamese input method for KDE.” - Nov 07 2013

Py-Cashew
Plasma 4 Extensions by BenoitMonin 28 comments
Is my interpretation correct, that your OSS contribution basically sums up to this post?
You are free to make suggestions, but do not attack devs personally.
I don’t know the architectural backgrounds to the FAQ response, but as a developer, I see, that some simple things may violate archtectural guidelines. Braking the guidelines may increase the bug count and complicates debugging.
So without knowing the code, the only question is, why they don't ship the plasmoid script with the SC. Either it is something personal, or they just think kde-apps is as good, and this way they don't have to care for the code. I think it is a legitim decission. - Sep 02 2013
You are free to make suggestions, but do not attack devs personally.
I don’t know the architectural backgrounds to the FAQ response, but as a developer, I see, that some simple things may violate archtectural guidelines. Braking the guidelines may increase the bug count and complicates debugging.
So without knowing the code, the only question is, why they don't ship the plasmoid script with the SC. Either it is something personal, or they just think kde-apps is as good, and this way they don't have to care for the code. I think it is a legitim decission. - Sep 02 2013
Hi,
thanks for your comments.
1) I've quickly looked into the code to see, why it does not work with switches max/min values. Here is a quick patch:
289c289
< for(int i = 0; i <= (int)(minorSteps * valueSpan / majorStep); i++){
---
> for(int i = 0; i <= (int)(minorSteps * abs(valueSpan) / majorStep); i++){
295c295
< painter->rotate(majorStep * angleSpan / (-valueSpan * minorSteps));
---
> painter->rotate(majorStep * angleSpan / (-fabs(valueSpan) * minorSteps));
302,303c302,303
< for(int i = (int)ceil(m_minimum / majorStep);
< i <= (int)(m_maximum / majorStep); i++){
---
> for(int i = (int)ceil(fmin(m_minimum, m_maximum) / majorStep);
> i <= (int)(fmax(m_minimum, m_maximum) / majorStep); i++){
I've done this in quite short time, and I don't know the code anymore, as I have written it years ago. So it is not unlikely, that it has inintended side effects.
2) I initially planned to do that, but I think you are more flexible, when using a extra widget. In my applications I did it that way. The reason is, that it looks too tiny, if you use the standard font. In case you make it bold and bigger, it does not line up with the other fonts in the GUI. So the only option is to provide full font formatting options in the API. This produces code and you still are less flexible (can not use QLCDNumber).
3) This should be easy to add (filling some circle with a QConicalGradient brush). The only effort is to write a sensible API to define the velues for that.
Well, while these things are no big deal, I'm not shure, If I find time in near future to add them, as I did not program in C++ for years now. - Jul 24 2012
thanks for your comments.
1) I've quickly looked into the code to see, why it does not work with switches max/min values. Here is a quick patch:
289c289
< for(int i = 0; i <= (int)(minorSteps * valueSpan / majorStep); i++){
---
> for(int i = 0; i <= (int)(minorSteps * abs(valueSpan) / majorStep); i++){
295c295
< painter->rotate(majorStep * angleSpan / (-valueSpan * minorSteps));
---
> painter->rotate(majorStep * angleSpan / (-fabs(valueSpan) * minorSteps));
302,303c302,303
< for(int i = (int)ceil(m_minimum / majorStep);
< i <= (int)(m_maximum / majorStep); i++){
---
> for(int i = (int)ceil(fmin(m_minimum, m_maximum) / majorStep);
> i <= (int)(fmax(m_minimum, m_maximum) / majorStep); i++){
I've done this in quite short time, and I don't know the code anymore, as I have written it years ago. So it is not unlikely, that it has inintended side effects.
2) I initially planned to do that, but I think you are more flexible, when using a extra widget. In my applications I did it that way. The reason is, that it looks too tiny, if you use the standard font. In case you make it bold and bigger, it does not line up with the other fonts in the GUI. So the only option is to provide full font formatting options in the API. This produces code and you still are less flexible (can not use QLCDNumber).
3) This should be easy to add (filling some circle with a QConicalGradient brush). The only effort is to write a sensible API to define the velues for that.
Well, while these things are no big deal, I'm not shure, If I find time in near future to add them, as I did not program in C++ for years now. - Jul 24 2012
> By the way , can you please elaborate , how you have decided the formula for radius and other parameters? This will help me to add some more feature for my work.
I've uploades some scratches at http://www.2shared.com/file/lZOLuK_e/QScale-construction.html
This are some geometrical scratches, as I don't have the derivation of the formulars at hand.
This explains the derivation of the rotation point. The label bounding box is the bounding box from the labelSample as derived in updateLabelSample() - Mar 27 2012
I've uploades some scratches at http://www.2shared.com/file/lZOLuK_e/QScale-construction.html
This are some geometrical scratches, as I don't have the derivation of the formulars at hand.
This explains the derivation of the rotation point. The label bounding box is the bounding box from the labelSample as derived in updateLabelSample() - Mar 27 2012
Hi, to integrate it in your project you can copy qscale.h and qscale.cpp into your project. Then include this two files in your project file as you see it in QScale.pro. Now you can include qscale.h in your program and create a instance. This you can see in the main.cpp file.
- Feb 01 2012