Re: c++11 and workspace

2017-08-17 Thread Hugo Pereira Da Costa



On 08/17/2017 10:09 PM, Thiago Macieira wrote:

On Thursday, 17 August 2017 08:52:21 PDT Martin Flöser wrote:

Am 2017-08-17 16:48, schrieb Hugo Pereira Da Costa:

Hi,

Quick question on the status of c++11 features that I can include in
breeze. Are std::function allowed ?

In workspace you can/should use C++11, KWin/master even requires C++14.

Confirm if you mean the core language or the standard library.


As far as I am concerned, I was referring mostly to core language.



c++11 and workspace

2017-08-17 Thread Hugo Pereira Da Costa

Hi,

Quick question on the status of c++11 features that I can include in 
breeze. Are std::function allowed ?


Thanks in advance,

Hugo



Re: Review Request 127866: Oxygen: Fix QCache usage

2017-02-25 Thread Hugo Pereira Da Costa


> On May 30, 2016, 11:34 a.m., Hugo Pereira Da Costa wrote:
> > Ship It!
> 
> Hugo Pereira Da Costa wrote:
> err. Wait ...
> There are rendering issues here once the patch is applied. 
> See http://wstaw.org/m/2016/05/30/plasma-desktopY12228.png
> (left is "before", right is "after"). 
> So something seems wrong with the background gradient. 
> I'll investigate a bit ...
> 
> Hugo Pereira Da Costa wrote:
> Hi again,
> So, thinking more about it, and actually answering the questions raised 
> in the review:
> 
> - do we track public API for this part of Oxygen? Does anything in a 
> different library or application link to this?
> No we don't this is supposed to be an "internal" (as in private) library, 
> used only by oxygen style and decoration. No ABI/API guarantee. 
> 
> - QColor: can we change the return type. I would say yes, (from reference 
> to value), and return to using QCache
> - Tilesets: I would be inclined to changing the return type here too, 
> using values, and assuming the copy constructor does not cost much, based on 
> the implicit-shareness nature of pixmaps, and keep a built-in QCache here 
> (which should be more efficient than the (otherwise nice) FIFO. 
> 
> Now I understand that this is a lot of going back and forth, and a job I 
> should rather do myself, as the maintainer of the code.
> So I would propose to "postpone" this RR for now, and for me to locally
> - take the QPixmap change from this patch
> - implement something similar for QColor and TileSet
> - test.
> Then if I manage to do that in a reasonable time (e.g. this week), drop 
> the review and commit my change instead (with proper credits where due). 
> Otherwise (because of me being too busy with other stuff), just commit this 
> review (once the problem mentionned above is fixed, though I could not 
> investigate yet).
> 
> What do you think ? 
> 
> (also: I need to sanitize this run-time changing of the cache use and 
> max-cost)
> 
> Michael Pyne wrote:
> Hugo,
> 
> That all sounds fair. And if it's all too much difficulty, then we might 
> be able to lean on the hinted-at-but-not-quite-documented QCache behavior 
> that ::insert() only fails if the item being inserted has a cost higher than 
> maxCost. In that case I could ignore the Coverity issues (since Coverity 
> can't statically prove that items are always < maxCost) and then drop the RR 
> (and perhaps ask Qt to document more stringently that guarantee for 
> QCache::insert).
> 
> Still though, I think the QColor return type change would make sense even 
> independent of this RR.
> 
> Hugo Pereira Da Costa wrote:
> Hi again Michael,
> 
> So, I have a working implementation here that 
> - keeps using QCache wherever possible, passing QColor and TileSet as 
> values rather than as refs (in a way that is similar to the change you did 
> for QPixmaps)
> - uses your FIFOCache for the implementation of Oxygen::Cache, which is a 
> "cache of caches", and thus cannot possibly use values.
> 
> Seems to work (though I would like to test a bit more), and should fix 
> all the issues with Coverty.
> Since I have blatently copied your code for the home-made FiFOCache, i 
> have added you as a copyright holder for oxygenhelper.h
> is that ok with you ? Should i put your name in other places too ? 
> 
> Best, 
> 
> Hugo
> 
> Michael Pyne wrote:
> > Since I have blatently copied your code for the home-made FiFOCache, i 
> have added you as a copyright holder for oxygenhelper.h
> is that ok with you ? Should i put your name in other places too ?
> 
> That's perfectly fine. You don't need to mention me elsewhere, as long as 
> this RR is mentioned in the commit log I think that would cover any needed 
> attribution of work.
> 
> Albert Astals Cid wrote:
> What's the status of this, was commited? Needs further work? Should be 
> discarded?

yes.Code was committed,review should be discarded


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127866/#review96029
---


On May 22, 2016, 4:20 a.m., Michael Pyne wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127866/
> ---
> 
> (Updated May 22, 2016, 4:

Re: Review Request 127866: Oxygen: Fix QCache usage

2016-06-06 Thread Hugo Pereira Da Costa


> On May 30, 2016, 11:34 a.m., Hugo Pereira Da Costa wrote:
> > Ship It!
> 
> Hugo Pereira Da Costa wrote:
> err. Wait ...
> There are rendering issues here once the patch is applied. 
> See http://wstaw.org/m/2016/05/30/plasma-desktopY12228.png
> (left is "before", right is "after"). 
> So something seems wrong with the background gradient. 
> I'll investigate a bit ...
> 
> Hugo Pereira Da Costa wrote:
> Hi again,
> So, thinking more about it, and actually answering the questions raised 
> in the review:
> 
> - do we track public API for this part of Oxygen? Does anything in a 
> different library or application link to this?
> No we don't this is supposed to be an "internal" (as in private) library, 
> used only by oxygen style and decoration. No ABI/API guarantee. 
> 
> - QColor: can we change the return type. I would say yes, (from reference 
> to value), and return to using QCache
> - Tilesets: I would be inclined to changing the return type here too, 
> using values, and assuming the copy constructor does not cost much, based on 
> the implicit-shareness nature of pixmaps, and keep a built-in QCache here 
> (which should be more efficient than the (otherwise nice) FIFO. 
> 
> Now I understand that this is a lot of going back and forth, and a job I 
> should rather do myself, as the maintainer of the code.
> So I would propose to "postpone" this RR for now, and for me to locally
> - take the QPixmap change from this patch
> - implement something similar for QColor and TileSet
> - test.
> Then if I manage to do that in a reasonable time (e.g. this week), drop 
> the review and commit my change instead (with proper credits where due). 
> Otherwise (because of me being too busy with other stuff), just commit this 
> review (once the problem mentionned above is fixed, though I could not 
> investigate yet).
> 
> What do you think ? 
> 
> (also: I need to sanitize this run-time changing of the cache use and 
> max-cost)
> 
> Michael Pyne wrote:
> Hugo,
> 
> That all sounds fair. And if it's all too much difficulty, then we might 
> be able to lean on the hinted-at-but-not-quite-documented QCache behavior 
> that ::insert() only fails if the item being inserted has a cost higher than 
> maxCost. In that case I could ignore the Coverity issues (since Coverity 
> can't statically prove that items are always < maxCost) and then drop the RR 
> (and perhaps ask Qt to document more stringently that guarantee for 
> QCache::insert).
> 
> Still though, I think the QColor return type change would make sense even 
> independent of this RR.

Hi again Michael,

So, I have a working implementation here that 
- keeps using QCache wherever possible, passing QColor and TileSet as values 
rather than as refs (in a way that is similar to the change you did for 
QPixmaps)
- uses your FIFOCache for the implementation of Oxygen::Cache, which is a 
"cache of caches", and thus cannot possibly use values.

Seems to work (though I would like to test a bit more), and should fix all the 
issues with Coverty.
Since I have blatently copied your code for the home-made FiFOCache, i have 
added you as a copyright holder for oxygenhelper.h
is that ok with you ? Should i put your name in other places too ? 

Best, 

Hugo


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127866/#review96029
---


On May 22, 2016, 4:20 a.m., Michael Pyne wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127866/
> ---
> 
> (Updated May 22, 2016, 4:20 a.m.)
> 
> 
> Review request for kde-workspace and Hugo Pereira Da Costa.
> 
> 
> Repository: oxygen
> 
> 
> Description
> ---
> 
> This should mostly complete the QCache fixes I kicked off in a previous RR, 
> 127837. Hugo noted there were many other similar usages, and boy he wasn't 
> kidding! ;) The long story short is that these usages can theoretically cause 
> use-after-free behavior (which can lead to crashes and even undefined 
> behavior if the compiler ever gets smart).
> 
> *NOTE* It is -much- easier to review if you download the diff to your git 
> repository for oxygen and then run "git diff -b" to ignore whitespace 
> changes, particularly for the QPixmap changes.
> 
> For QPixmaps we return values instead 

Re: Review Request 127866: Oxygen: Fix QCache usage

2016-05-30 Thread Hugo Pereira Da Costa


> On May 30, 2016, 11:34 a.m., Hugo Pereira Da Costa wrote:
> > Ship It!
> 
> Hugo Pereira Da Costa wrote:
> err. Wait ...
> There are rendering issues here once the patch is applied. 
> See http://wstaw.org/m/2016/05/30/plasma-desktopY12228.png
> (left is "before", right is "after"). 
> So something seems wrong with the background gradient. 
> I'll investigate a bit ...

Hi again,
So, thinking more about it, and actually answering the questions raised in the 
review:

- do we track public API for this part of Oxygen? Does anything in a different 
library or application link to this?
No we don't this is supposed to be an "internal" (as in private) library, used 
only by oxygen style and decoration. No ABI/API guarantee. 

- QColor: can we change the return type. I would say yes, (from reference to 
value), and return to using QCache
- Tilesets: I would be inclined to changing the return type here too, using 
values, and assuming the copy constructor does not cost much, based on the 
implicit-shareness nature of pixmaps, and keep a built-in QCache here (which 
should be more efficient than the (otherwise nice) FIFO. 

Now I understand that this is a lot of going back and forth, and a job I should 
rather do myself, as the maintainer of the code.
So I would propose to "postpone" this RR for now, and for me to locally
- take the QPixmap change from this patch
- implement something similar for QColor and TileSet
- test.
Then if I manage to do that in a reasonable time (e.g. this week), drop the 
review and commit my change instead (with proper credits where due). Otherwise 
(because of me being too busy with other stuff), just commit this review (once 
the problem mentionned above is fixed, though I could not investigate yet).

What do you think ? 

(also: I need to sanitize this run-time changing of the cache use and max-cost)


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127866/#review96029
---


On May 22, 2016, 4:20 a.m., Michael Pyne wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127866/
> ---
> 
> (Updated May 22, 2016, 4:20 a.m.)
> 
> 
> Review request for kde-workspace and Hugo Pereira Da Costa.
> 
> 
> Repository: oxygen
> 
> 
> Description
> ---
> 
> This should mostly complete the QCache fixes I kicked off in a previous RR, 
> 127837. Hugo noted there were many other similar usages, and boy he wasn't 
> kidding! ;) The long story short is that these usages can theoretically cause 
> use-after-free behavior (which can lead to crashes and even undefined 
> behavior if the compiler ever gets smart).
> 
> *NOTE* It is -much- easier to review if you download the diff to your git 
> repository for oxygen and then run "git diff -b" to ignore whitespace 
> changes, particularly for the QPixmap changes.
> 
> For QPixmaps we return values instead of pointers, so we simply make a 
> separate copy to be cached when we do insert. For QColor we return references 
> to values so we *must* return pointers, and those have to be owned by a 
> QCache to avoid memleaks. So I added a helper function to loop until the 
> cache accepts the new entry. TileSets are a similar concern, except those 
> have manual loops since I was uncertain about whether TileSet's copy 
> constructor was the best idea or not.
> 
> This fixes a ton of Coverity issues (59717 - 259733, 259739, 259742 - 259752, 
> 1336154, 1336155) and might be associated with Qt bug 38142 and KDE bug 
> 219055 (which doesn't actually appear to be a dupe of a different bug to 
> me...).
> 
> 
> Diffs
> -
> 
>   kdecoration/oxygendecohelper.cpp aa75eca 
>   kstyle/oxygenstyle.cpp e428606 
>   kstyle/oxygenstylehelper.h 9510a60 
>   kstyle/oxygenstylehelper.cpp 612ba37 
>   liboxygen/oxygenhelper.h a6453a0 
>   liboxygen/oxygenhelper.cpp 4843604 
>   liboxygen/oxygenshadowcache.cpp 907e586 
> 
> Diff: https://git.reviewboard.kde.org/r/127866/diff/
> 
> 
> Testing
> ---
> 
> Compiled without warnings, installed and ran `oxygen-demo5 -style oxygen`. 
> Used the GUI Benchmark feature to automatically cycle through all the listed 
> features -- no crashes or obvious rendering errors.
> 
> 
> Thanks,
> 
> Michael Pyne
> 
>



Re: Review Request 127866: Oxygen: Fix QCache usage

2016-05-30 Thread Hugo Pereira Da Costa


> On May 30, 2016, 11:34 a.m., Hugo Pereira Da Costa wrote:
> > Ship It!

err. Wait ...
There are rendering issues here once the patch is applied. 
See http://wstaw.org/m/2016/05/30/plasma-desktopY12228.png
(left is "before", right is "after"). 
So something seems wrong with the background gradient. 
I'll investigate a bit ...


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127866/#review96029
---


On May 22, 2016, 4:20 a.m., Michael Pyne wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127866/
> ---
> 
> (Updated May 22, 2016, 4:20 a.m.)
> 
> 
> Review request for kde-workspace and Hugo Pereira Da Costa.
> 
> 
> Repository: oxygen
> 
> 
> Description
> ---
> 
> This should mostly complete the QCache fixes I kicked off in a previous RR, 
> 127837. Hugo noted there were many other similar usages, and boy he wasn't 
> kidding! ;) The long story short is that these usages can theoretically cause 
> use-after-free behavior (which can lead to crashes and even undefined 
> behavior if the compiler ever gets smart).
> 
> *NOTE* It is -much- easier to review if you download the diff to your git 
> repository for oxygen and then run "git diff -b" to ignore whitespace 
> changes, particularly for the QPixmap changes.
> 
> For QPixmaps we return values instead of pointers, so we simply make a 
> separate copy to be cached when we do insert. For QColor we return references 
> to values so we *must* return pointers, and those have to be owned by a 
> QCache to avoid memleaks. So I added a helper function to loop until the 
> cache accepts the new entry. TileSets are a similar concern, except those 
> have manual loops since I was uncertain about whether TileSet's copy 
> constructor was the best idea or not.
> 
> This fixes a ton of Coverity issues (59717 - 259733, 259739, 259742 - 259752, 
> 1336154, 1336155) and might be associated with Qt bug 38142 and KDE bug 
> 219055 (which doesn't actually appear to be a dupe of a different bug to 
> me...).
> 
> 
> Diffs
> -
> 
>   kdecoration/oxygendecohelper.cpp aa75eca 
>   kstyle/oxygenstyle.cpp e428606 
>   kstyle/oxygenstylehelper.h 9510a60 
>   kstyle/oxygenstylehelper.cpp 612ba37 
>   liboxygen/oxygenhelper.h a6453a0 
>   liboxygen/oxygenhelper.cpp 4843604 
>   liboxygen/oxygenshadowcache.cpp 907e586 
> 
> Diff: https://git.reviewboard.kde.org/r/127866/diff/
> 
> 
> Testing
> ---
> 
> Compiled without warnings, installed and ran `oxygen-demo5 -style oxygen`. 
> Used the GUI Benchmark feature to automatically cycle through all the listed 
> features -- no crashes or obvious rendering errors.
> 
> 
> Thanks,
> 
> Michael Pyne
> 
>



Re: Review Request 127866: Oxygen: Fix QCache usage

2016-05-30 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127866/#review96029
---


Ship it!




Ship It!

- Hugo Pereira Da Costa


On May 22, 2016, 4:20 a.m., Michael Pyne wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127866/
> ---
> 
> (Updated May 22, 2016, 4:20 a.m.)
> 
> 
> Review request for kde-workspace and Hugo Pereira Da Costa.
> 
> 
> Repository: oxygen
> 
> 
> Description
> ---
> 
> This should mostly complete the QCache fixes I kicked off in a previous RR, 
> 127837. Hugo noted there were many other similar usages, and boy he wasn't 
> kidding! ;) The long story short is that these usages can theoretically cause 
> use-after-free behavior (which can lead to crashes and even undefined 
> behavior if the compiler ever gets smart).
> 
> *NOTE* It is -much- easier to review if you download the diff to your git 
> repository for oxygen and then run "git diff -b" to ignore whitespace 
> changes, particularly for the QPixmap changes.
> 
> For QPixmaps we return values instead of pointers, so we simply make a 
> separate copy to be cached when we do insert. For QColor we return references 
> to values so we *must* return pointers, and those have to be owned by a 
> QCache to avoid memleaks. So I added a helper function to loop until the 
> cache accepts the new entry. TileSets are a similar concern, except those 
> have manual loops since I was uncertain about whether TileSet's copy 
> constructor was the best idea or not.
> 
> This fixes a ton of Coverity issues (59717 - 259733, 259739, 259742 - 259752, 
> 1336154, 1336155) and might be associated with Qt bug 38142 and KDE bug 
> 219055 (which doesn't actually appear to be a dupe of a different bug to 
> me...).
> 
> 
> Diffs
> -
> 
>   kdecoration/oxygendecohelper.cpp aa75eca 
>   kstyle/oxygenstyle.cpp e428606 
>   kstyle/oxygenstylehelper.h 9510a60 
>   kstyle/oxygenstylehelper.cpp 612ba37 
>   liboxygen/oxygenhelper.h a6453a0 
>   liboxygen/oxygenhelper.cpp 4843604 
>   liboxygen/oxygenshadowcache.cpp 907e586 
> 
> Diff: https://git.reviewboard.kde.org/r/127866/diff/
> 
> 
> Testing
> ---
> 
> Compiled without warnings, installed and ran `oxygen-demo5 -style oxygen`. 
> Used the GUI Benchmark feature to automatically cycle through all the listed 
> features -- no crashes or obvious rendering errors.
> 
> 
> Thanks,
> 
> Michael Pyne
> 
>



Re: Review Request 127866: Oxygen: Fix QCache usage

2016-05-15 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127866/#review95480
---



To be honest, I am quite puzzle by this whole thing.
Now, every insertion in the cache requires at least two searches in there and 
(in many case) at least one copy constructor being called. This is quite 
expansive ... (even though this happens only if the object is not found in the 
cache).

Also: not sure I understand what issue we are trying to fix and how: why is it 
that if the object inserted in the cache is immediately deleted, just retrying 
an indefinite amount of time will "fix" the issue. Are we not just transforming 
a crash into a freeze (infinite loop) ? 

The Qt documentation is very vague about cases where the object is deleted 
immediately, and the only case it mentions is: " In particular, if cost is 
greater than maxCost(), the object will be deleted immediately."
Well, in such cases (that should not appear here), the infinite loop will not 
help. Right ? 
Since we have no idea on how "predictible" the other deletion cases are, I 
don't think the fix is a good fix. 

Does that mean that we should change the code in order to use references rather 
than pointer everywhere ? (as you did in the first patch on this topic) ? 

Or get rid of using QCache (because this absence of guarantee at the insertion 
stage is too much of a pain to handle) ? 

Or just commit and wait for bug reports about freezes ? (but with a happy 
coverty) ?

- Hugo Pereira Da Costa


On May 8, 2016, 5:03 a.m., Michael Pyne wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127866/
> ---
> 
> (Updated May 8, 2016, 5:03 a.m.)
> 
> 
> Review request for kde-workspace and Hugo Pereira Da Costa.
> 
> 
> Repository: oxygen
> 
> 
> Description
> ---
> 
> This should mostly complete the QCache fixes I kicked off in a previous RR, 
> 127837. Hugo noted there were many other similar usages, and boy he wasn't 
> kidding! ;) The long story short is that these usages can theoretically cause 
> use-after-free behavior (which can lead to crashes and even undefined 
> behavior if the compiler ever gets smart).
> 
> *NOTE* It is -much- easier to review if you download the diff to your git 
> repository for oxygen and then run "git diff -b" to ignore whitespace 
> changes, particularly for the QPixmap changes.
> 
> For QPixmaps we return values instead of pointers, so we simply make a 
> separate copy to be cached when we do insert. For QColor we return references 
> to values so we *must* return pointers, and those have to be owned by a 
> QCache to avoid memleaks. So I added a helper function to loop until the 
> cache accepts the new entry. TileSets are a similar concern, except those 
> have manual loops since I was uncertain about whether TileSet's copy 
> constructor was the best idea or not.
> 
> This fixes a ton of Coverity issues (59717 - 259733, 259739, 259742 - 259752, 
> 1336154, 1336155) and might be associated with Qt bug 38142 and KDE bug 
> 219055 (which doesn't actually appear to be a dupe of a different bug to 
> me...).
> 
> 
> Diffs
> -
> 
>   kstyle/oxygenstylehelper.cpp 612ba37 
>   liboxygen/oxygenhelper.h a6453a0 
>   liboxygen/oxygenhelper.cpp 4843604 
>   liboxygen/oxygenshadowcache.cpp 907e586 
> 
> Diff: https://git.reviewboard.kde.org/r/127866/diff/
> 
> 
> Testing
> ---
> 
> Compiled without warnings, installed and ran `oxygen-demo5 -style oxygen`. 
> Used the GUI Benchmark feature to automatically cycle through all the listed 
> features -- no crashes or obvious rendering errors.
> 
> 
> Thanks,
> 
> Michael Pyne
> 
>



Re: Review Request 126308: KPushButton: respect SH_DialogButtonBox_ButtonsHaveIcons, also when drawing

2015-12-21 Thread Hugo Pereira Da Costa
le.
> 
> 
> 
> 
> => the platform integration plugin (KDE part in all Qt applications) 
> needs to read that setting and expose it to the styles.
> Alternatively the styles could read the setting from kdeglobals directly, 
> but that requires them to link kconfig (to do it correctly, just grabbing it 
> from the users kdeglobals ini isn't that much of a problem ;-), ie. rules out 
> Qt-only styles (and somehow contrasts w/ the KF5 approach to things)
> 
> 
> 
> 
> Ideally™ there would be an official "Qt::AA_PushButtonTextOnly" (rename 
> me) flag for the QPA to set and QPushButtons to pick.
> 
> René J.V. Bertin wrote:
> Hear hear ...
> 
> I have raised that final question in the Qt bug report I filed on this 
> (https://bugreports.qt.io/browse/QTBUG-49887)
> 
> Maybe the best approach is to ensure that for now ShowIconsOnButtons is 
> handled the best way possible in the main current KDE styles (Breeze, Oxygen, 
> QtCurve) and then wait to see what position Qt adopts before trying to 
> implement something better (= less CPU intensive)?
> 
> Thomas Lübking wrote:
> What "hear hear" - I hardly changed my opinion, just figured that the 
> hint is ignored all over KDE (client) code on migration from KDialogButtonBox 
> to QDialogButtonBox and in other places and thus considered we 
> -unfortunately- will best try to "fix" that (broken client code) in 
> QPushButton. I had simply underestimated that this is not a bug in 
> KDialogButtonBox only, but broken all over the place.
> 
> Please nota bene that QPushButton is /not/ broken and does /not/ need to 
> be fixed. One would request it to catch and cover broken client code. They 
> may very well just respond "why not simply fix your shit?"
> 
> > Maybe the best approach is to ensure that for now ShowIconsOnButtons is 
> handled [...] see what position Qt adopts
> 
> In that case I'd propose to PoC a working infrastructure (QPA reads 
> setting and sets a dynamic property on the QApplication instance, best before 
> the style is constructed, so that finally the style(s) adopt that) and then 
> ask "can we please make this a canonical and documented application 
> attribute?"

Hi, 
Jumping in. 
I have played with honouring ShowIconsOnButtons in Breeze style directly (on a 
local branch)
Now: it is easy to get the icon not being shown, but the buttons are still 
"large", as if they would contain the icon. The reason is that, as already 
pointed by René, QPushButton::SizeHint already include the size of the icon to 
be  drawn in the size it calculates and passes to QStyle::sizeFromContents.
So that you would need to either "undo" the size calculated by QPushButton in 
the sizeHint method (which sounds quite fragile I think), or indeed, patch 
QPushButton in some way ...  
Comments welcome (especially if I missed something)


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126308/#review89737
---


On Dec. 11, 2015, 4:26 p.m., René J.V. Bertin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126308/
> ---
> 
> (Updated Dec. 11, 2015, 4:26 p.m.)
> 
> 
> Review request for KDE Software on Mac OS X, KDE Frameworks, Qt KDE, Hugo 
> Pereira Da Costa, and Yichao Yu.
> 
> 
> Repository: kdelibs4support
> 
> 
> Description
> ---
> 
> KF5 applications have long had a habit of drawing icons on buttons even when 
> this feature was turned off in the user's setting. This was mostly noticeable 
> in applications built on kdelibs4support.
> 
> It seems that the actual culprit is in Qt's QPushButton implementation 
> (https://bugreports.qt.io/browse/QTBUG-49887), but it is possible to work 
> around it in `KPushButton::paintEvent`, by removing the icon (forcing it to 
> the null icon) in the option instance, before handing off control to the 
> painter.
> 
> 
> Diffs
> -
> 
>   src/kdeui/kdialogbuttonbox.cpp 0f6649b 
>   src/kdeui/kpushbutton.cpp 98534fa 
> 
> Diff: https://git.reviewboard.kde.org/r/126308/diff/
> 
> 
> Testing
> ---
> 
> On Kubuntu 14.04 and OS X 10.9.5 with Qt 5.5.1 and KF5 frameworks 5.16.0 .
> 
> I have not yet verified if there are other classes where this modification 
> would be relevant too.
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>



Re: Review Request 126308: KPushButton: respect SH_DialogButtonBox_ButtonsHaveIcons, also when drawing

2015-12-11 Thread Hugo Pereira Da Costa


> On Dec. 10, 2015, 10:11 p.m., Thomas Lübking wrote:
> > 1. What tells you that this is a dialog buttonbox pushbutton?
> > 2. What happens if the button has no text?
> > 
> > 
> > The bug is in QDialogButtonBox (or rather the K variant, 
> > QDialogButtonBoxPrivate::createButton() seems to incorporate the hint 
> > correctly)
> > 
> > 
> > [KDE] has "ShowIconsOnPushButtons=false" in kdeglobals which was 
> > interpreted by KPushButton _and_ kstyle for the hint, but the hint only 
> > covers Q'DialogButtonBox'es - there's simply no global rule for this like 
> > AA_DontShowIconsInMenus
> > 
> > => KDialogButtonBox shall respect the hint for its buttons (there're two 
> > special creation routines).
> > 
> > For the rest, the platform plugin ideally picks the kdeglobals setting and 
> > exports it to the application object (dyn property?) where the style can 
> > pick it and incorporate it into its calculations (ie. if no icons are 
> > wanted and there's text or arrow, omit the icon in size calculation and 
> > painting)
> > 
> > "Fixing" that in deprecated KPushButton doesn't really fix anything. We'll 
> > face the mix we had, just that users of QPushButton were far less prone to 
> > pass them an icon in pre-KF5 times.
> > 
> > Please also attach Hugo Pereira Da Costa.
> 
> René J.V. Bertin wrote:
> 1: why should one care? It is said nowhere that the setting defined as 
> "show icons on buttons" in `systemsettings(5)` applies only to dialogs. 
> Rather, the tooltip says "when this is enabled, KDE applications will show 
> icons alongside [sic!] some important buttons".
> In other words, when "this" is *not* enabled, there should be no icons, 
> period.
> I have found no sign in the code that the ShowIconsOnPushButtons hint is 
> to be used only for dialogs; `SH_DialogButtonBox_ButtonsHaveIcons` indeed 
> carries the suggestion in its name but I would not be surprised if Qt really 
> thinks of it in a more general sense. Probably also because the notion of 
> what a dialog is has become a lot vaguer.
> 
> And that also happens to be what Qt does; buttons show their icons on 
> Linux (and other Unix variants?) but on OS X or MS Windows displaying of 
> those icons is deactivated unless you use a style that enables it. In fact, 
> the default setting for `SH_DialogButtonBox_ButtonsHaveIcons` is false except 
> in the generic Unix theme (= it does work globally like 
> `AA_DontShowIconsInMenus` everywhere else).
> 
> 2: a user who indicates s/he doesn't want to see icons will get an empty 
> button. That's also what can happen with QPushButton, and app developers have 
> to take this into consideration. Cf. toolbars (and Qt's position on the use 
> of "texted separators").
> I don't think I've ever come across a standard button showing only an 
> icon, except possibly the arrow button next to the progress indicators in 
> KMail and KDevelop.
> 
> As to fixing it here: as it turns out, "here" is the main source for 
> annoying icons rearing their silly heads on buttons on my screen ;) and it 
> was also something of a challenge to understand why they kept appearing 
> despite the fact that all code appeared to return the value of 
> `ShowIconsOnPushButtons`. Deprecated or not, it doesn't look like all 
> applications are going to stop using it anytime soon.
> 
> I looked into fixing the issue in KDialogButtonBox but saw that it does 
> nothing to override the `ShowIconsOnPushButtons` setting. The only way to 
> respect the setting through that class (or a modern equivalent) would be to 
> set an empty icon if `ShowIconsOnPushButtons=false`. That introduces another 
> regression: changes in this setting are supposed to be reflected by running 
> applications without requiring a restart (or a recreation of dialogs). If it 
> were just me I'd decree that buttons can have either text or an icon, but 
> right now we have to make do with this mixed situation.
> 
> I don't mind making this an OS X (and MS Windows) specific modification, 
> of course, but on those platforms
> 
> Thomas Lübking wrote:
> > 1: why should one care?
> 
> Because, as explained, that is what the hint says. Nothing else.
> 
> > I have found no sign in the code that the ShowIconsOnPushButtons hint 
> is to be used only for dialogs
> 
> No, but it's been used to feed SH_DialogButtonBox_ButtonsHaveIcons *AND* 
> KPushButton.
> ShowIconsOnPushButtons implied SH_DialogButtonBox_ButtonsHaveIcons but 
> NOT vv.
> 
> 

Re: Review Request 126308: KPushButton: respect SH_DialogButtonBox_ButtonsHaveIcons, also when drawing

2015-12-11 Thread Hugo Pereira Da Costa


> On Dec. 10, 2015, 10:11 p.m., Thomas Lübking wrote:
> > 1. What tells you that this is a dialog buttonbox pushbutton?
> > 2. What happens if the button has no text?
> > 
> > 
> > The bug is in QDialogButtonBox (or rather the K variant, 
> > QDialogButtonBoxPrivate::createButton() seems to incorporate the hint 
> > correctly)
> > 
> > 
> > [KDE] has "ShowIconsOnPushButtons=false" in kdeglobals which was 
> > interpreted by KPushButton _and_ kstyle for the hint, but the hint only 
> > covers Q'DialogButtonBox'es - there's simply no global rule for this like 
> > AA_DontShowIconsInMenus
> > 
> > => KDialogButtonBox shall respect the hint for its buttons (there're two 
> > special creation routines).
> > 
> > For the rest, the platform plugin ideally picks the kdeglobals setting and 
> > exports it to the application object (dyn property?) where the style can 
> > pick it and incorporate it into its calculations (ie. if no icons are 
> > wanted and there's text or arrow, omit the icon in size calculation and 
> > painting)
> > 
> > "Fixing" that in deprecated KPushButton doesn't really fix anything. We'll 
> > face the mix we had, just that users of QPushButton were far less prone to 
> > pass them an icon in pre-KF5 times.
> > 
> > Please also attach Hugo Pereira Da Costa.
> 
> René J.V. Bertin wrote:
> 1: why should one care? It is said nowhere that the setting defined as 
> "show icons on buttons" in `systemsettings(5)` applies only to dialogs. 
> Rather, the tooltip says "when this is enabled, KDE applications will show 
> icons alongside [sic!] some important buttons".
> In other words, when "this" is *not* enabled, there should be no icons, 
> period.
> I have found no sign in the code that the ShowIconsOnPushButtons hint is 
> to be used only for dialogs; `SH_DialogButtonBox_ButtonsHaveIcons` indeed 
> carries the suggestion in its name but I would not be surprised if Qt really 
> thinks of it in a more general sense. Probably also because the notion of 
> what a dialog is has become a lot vaguer.
> 
> And that also happens to be what Qt does; buttons show their icons on 
> Linux (and other Unix variants?) but on OS X or MS Windows displaying of 
> those icons is deactivated unless you use a style that enables it. In fact, 
> the default setting for `SH_DialogButtonBox_ButtonsHaveIcons` is false except 
> in the generic Unix theme (= it does work globally like 
> `AA_DontShowIconsInMenus` everywhere else).
> 
> 2: a user who indicates s/he doesn't want to see icons will get an empty 
> button. That's also what can happen with QPushButton, and app developers have 
> to take this into consideration. Cf. toolbars (and Qt's position on the use 
> of "texted separators").
> I don't think I've ever come across a standard button showing only an 
> icon, except possibly the arrow button next to the progress indicators in 
> KMail and KDevelop.
> 
> As to fixing it here: as it turns out, "here" is the main source for 
> annoying icons rearing their silly heads on buttons on my screen ;) and it 
> was also something of a challenge to understand why they kept appearing 
> despite the fact that all code appeared to return the value of 
> `ShowIconsOnPushButtons`. Deprecated or not, it doesn't look like all 
> applications are going to stop using it anytime soon.
> 
> I looked into fixing the issue in KDialogButtonBox but saw that it does 
> nothing to override the `ShowIconsOnPushButtons` setting. The only way to 
> respect the setting through that class (or a modern equivalent) would be to 
> set an empty icon if `ShowIconsOnPushButtons=false`. That introduces another 
> regression: changes in this setting are supposed to be reflected by running 
> applications without requiring a restart (or a recreation of dialogs). If it 
> were just me I'd decree that buttons can have either text or an icon, but 
> right now we have to make do with this mixed situation.
> 
> I don't mind making this an OS X (and MS Windows) specific modification, 
> of course, but on those platforms
> 
> Thomas Lübking wrote:
> > 1: why should one care?
> 
> Because, as explained, that is what the hint says. Nothing else.
> 
> > I have found no sign in the code that the ShowIconsOnPushButtons hint 
> is to be used only for dialogs
> 
> No, but it's been used to feed SH_DialogButtonBox_ButtonsHaveIcons *AND* 
> KPushButton.
> ShowIconsOnPushButtons implied SH_DialogButtonBox_ButtonsHaveIcons but 
> NOT vv.
> 
> 

Re: Review Request 126308: KPushButton: respect SH_DialogButtonBox_ButtonsHaveIcons, also when drawing

2015-12-11 Thread Hugo Pereira Da Costa


> On Dec. 10, 2015, 10:11 p.m., Thomas Lübking wrote:
> > 1. What tells you that this is a dialog buttonbox pushbutton?
> > 2. What happens if the button has no text?
> > 
> > 
> > The bug is in QDialogButtonBox (or rather the K variant, 
> > QDialogButtonBoxPrivate::createButton() seems to incorporate the hint 
> > correctly)
> > 
> > 
> > [KDE] has "ShowIconsOnPushButtons=false" in kdeglobals which was 
> > interpreted by KPushButton _and_ kstyle for the hint, but the hint only 
> > covers Q'DialogButtonBox'es - there's simply no global rule for this like 
> > AA_DontShowIconsInMenus
> > 
> > => KDialogButtonBox shall respect the hint for its buttons (there're two 
> > special creation routines).
> > 
> > For the rest, the platform plugin ideally picks the kdeglobals setting and 
> > exports it to the application object (dyn property?) where the style can 
> > pick it and incorporate it into its calculations (ie. if no icons are 
> > wanted and there's text or arrow, omit the icon in size calculation and 
> > painting)
> > 
> > "Fixing" that in deprecated KPushButton doesn't really fix anything. We'll 
> > face the mix we had, just that users of QPushButton were far less prone to 
> > pass them an icon in pre-KF5 times.
> > 
> > Please also attach Hugo Pereira Da Costa.
> 
> René J.V. Bertin wrote:
> 1: why should one care? It is said nowhere that the setting defined as 
> "show icons on buttons" in `systemsettings(5)` applies only to dialogs. 
> Rather, the tooltip says "when this is enabled, KDE applications will show 
> icons alongside [sic!] some important buttons".
> In other words, when "this" is *not* enabled, there should be no icons, 
> period.
> I have found no sign in the code that the ShowIconsOnPushButtons hint is 
> to be used only for dialogs; `SH_DialogButtonBox_ButtonsHaveIcons` indeed 
> carries the suggestion in its name but I would not be surprised if Qt really 
> thinks of it in a more general sense. Probably also because the notion of 
> what a dialog is has become a lot vaguer.
> 
> And that also happens to be what Qt does; buttons show their icons on 
> Linux (and other Unix variants?) but on OS X or MS Windows displaying of 
> those icons is deactivated unless you use a style that enables it. In fact, 
> the default setting for `SH_DialogButtonBox_ButtonsHaveIcons` is false except 
> in the generic Unix theme (= it does work globally like 
> `AA_DontShowIconsInMenus` everywhere else).
> 
> 2: a user who indicates s/he doesn't want to see icons will get an empty 
> button. That's also what can happen with QPushButton, and app developers have 
> to take this into consideration. Cf. toolbars (and Qt's position on the use 
> of "texted separators").
> I don't think I've ever come across a standard button showing only an 
> icon, except possibly the arrow button next to the progress indicators in 
> KMail and KDevelop.
> 
> As to fixing it here: as it turns out, "here" is the main source for 
> annoying icons rearing their silly heads on buttons on my screen ;) and it 
> was also something of a challenge to understand why they kept appearing 
> despite the fact that all code appeared to return the value of 
> `ShowIconsOnPushButtons`. Deprecated or not, it doesn't look like all 
> applications are going to stop using it anytime soon.
> 
> I looked into fixing the issue in KDialogButtonBox but saw that it does 
> nothing to override the `ShowIconsOnPushButtons` setting. The only way to 
> respect the setting through that class (or a modern equivalent) would be to 
> set an empty icon if `ShowIconsOnPushButtons=false`. That introduces another 
> regression: changes in this setting are supposed to be reflected by running 
> applications without requiring a restart (or a recreation of dialogs). If it 
> were just me I'd decree that buttons can have either text or an icon, but 
> right now we have to make do with this mixed situation.
> 
> I don't mind making this an OS X (and MS Windows) specific modification, 
> of course, but on those platforms
> 
> Thomas Lübking wrote:
> > 1: why should one care?
> 
> Because, as explained, that is what the hint says. Nothing else.
> 
> > I have found no sign in the code that the ShowIconsOnPushButtons hint 
> is to be used only for dialogs
> 
> No, but it's been used to feed SH_DialogButtonBox_ButtonsHaveIcons *AND* 
> KPushButton.
> ShowIconsOnPushButtons implied SH_DialogButtonBox_ButtonsHaveIcons but 
> NOT vv.
> 
> 

Re: KScreenGenie moved to KDE Review

2015-06-28 Thread Hugo Pereira Da Costa

On 06/28/2015 06:40 PM, Hugo Pereira Da Costa wrote:

On 06/28/2015 10:58 AM, Martin Koller wrote:

On Thursday 18 June 2015 15:03:27 Boudhayan Gupta wrote:


Here's an Imgur album with some more screenshots, including how
Rectangle Selection works:

http://imgur.com/a/1peZa
I miss the copy button to be able to copy the captured image to the 
clipboard


Two regressions that I've spotted running with latest KSG from master 
branch:


1/ as far as I can tell, the window is non resizable. KSnapshot is, 
and resizing the window ends up resizing the screenshot in it, which I 
find really useful.
2/ once you have selected Active Window + Take a new snapshot, the 
application waits for you to click somewhere, but as far as I can 
tell, the window on which you click does not matter, what you get in 
the screenshot is the window that was active *before* you click on 
take a new snapshot.
This is very impractical: if you want to change active window you need 
first to select it (away from the ksg window, which is in fact the 
active one (hum: does that mean that the button is actually ill-named) 
? , select an active window, then click back on kscreengenie (making 
this window the active one), then take a new snapshot.




Ksnapshot behaves differently: you select take a new snapshot, you 
click on a window, the window becomes active and this is the one 
that gets a screenshot.


I have not tested how it works when you use a delay.

Another one: the delay spinbox is in 1/10 seconds unit. What use is a 
delay of 100 milliseconds ? KSnapshot uses seconds, which IMHO makes 
more sense



Best regards,

Hugo





Re: KScreenGenie moved to KDE Review

2015-06-28 Thread Hugo Pereira Da Costa

On 06/28/2015 10:58 AM, Martin Koller wrote:

On Thursday 18 June 2015 15:03:27 Boudhayan Gupta wrote:


Here's an Imgur album with some more screenshots, including how
Rectangle Selection works:

http://imgur.com/a/1peZa

I miss the copy button to be able to copy the captured image to the clipboard

Two regressions that I've spotted running with latest KSG from master 
branch:


1/ as far as I can tell, the window is non resizable. KSnapshot is, and 
resizing the window ends up resizing the screenshot in it, which I find 
really useful.
2/ once you have selected Active Window + Take a new snapshot, the 
application waits for you to click somewhere, but as far as I can 
tell, the window on which you click does not matter, what you get in the 
screenshot is the window that was active *before* you click on take a 
new snapshot.
This is very impractical: if you want to change active window you need 
first to select it (away from the ksg window, which is in fact the 
active one (hum: does that mean that the button is actually ill-named) ? 
, select an active window, then click back on kscreengenie (making 
this window the active one), then take a new snapshot.


Ksnapshot behaves differently: you select take a new snapshot, you 
click on a window, the window becomes active and this is the one that 
gets a screenshot.


I have not tested how it works when you use a delay.

Best regards,

Hugo



Re: Review Request 121083: Replace manual export files with CMake's generate_export_header

2014-11-23 Thread Hugo Pereira Da Costa


 On Nov. 22, 2014, 12:18 a.m., Harald Sitter wrote:
  This breaks the kde4 build as ECM is not being used there and 
  generate_export_header is not available without ECM.
 
 Andrius da Costa Ribas wrote:
 generate_export_header isn't in ECM, but in cmake itself 
 (http://www.cmake.org/cmake/help/v3.0/module/GenerateExportHeader.html). Does 
 kde4 required cmake version not support it? Should I revert this commit?
 
 Harald Sitter wrote:
 Ah, I was not aware of that. So the solution probably is to move the 
 include(GenerateExportheader) line outside the if-else for kf5/kde4
 
 Albert Astals Cid wrote:
 Andrius: kdelibs4 has to work on cmake 2.8.9, when was that introduced?
 
 Harald Sitter wrote:
 If kubuntu packaging can be trusted it was there before that (e.g. was 
 already in 2.8.7)
 
 Thomas Lübking wrote:
 
 http://www.cmake.org/cmake/help/v2.8.9/cmake.html#module:GenerateExportHeader

I'm running cmake 3.1 here and still can't get oxygen to build in KDE4 mode 
anyway.
Cmake aborts with: Unknown CMake command generate_export_header
So surely something seems broken with this patch (missing module include ?)

Can you either test compilation with option -DUSE_KDE4=1, and fix, or provide 
instructions, or revert ? 

Thanks ! 

Hugo


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121083/#review70761
---


On Nov. 21, 2014, 10:47 p.m., Andrius da Costa Ribas wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/121083/
 ---
 
 (Updated Nov. 21, 2014, 10:47 p.m.)
 
 
 Review request for kde-workspace and kdewin.
 
 
 Repository: oxygen
 
 
 Description
 ---
 
 These files currently use  
 
 ```
 __attribute__((visibility(...)))
 ```
 
 which doesn't work on MSVC.
 
 
 Diffs
 -
 
   liboxygen/oxygen_config_export.h 02ea29d 
   liboxygen/oxygen_export.h b8877a0 
   liboxygen/CMakeLists.txt 69b7bd2 
 
 Diff: https://git.reviewboard.kde.org/r/121083/diff/
 
 
 Testing
 ---
 
 Builds with msvc 2013 64bit
 
 
 Thanks,
 
 Andrius da Costa Ribas
 




Re: KF5 tab style issues

2014-09-16 Thread Hugo Pereira Da Costa

On 09/15/2014 10:42 PM, Michal Humpula wrote:

Hi there,

I've encountered strange issue with the style of kf5 kdevelop tabs.
Specifically the close button takes more space then anything else. It seems to
be drawn by QCommonStyle class, which is inherited by KStyle.

What I'm not sure, where is the bug. Is it in the
* QCommonStyle because it draws that big close button, or
* KStyle because it does not override close button by itself, or
* my specific style/setup combo, which I'm not sure what it is because Qt5
seems to choosing proper style magically by itself?

As for the last one, I've seen it on at least one other machine (scummos), so
it doesn't seems to be specific to my setup.

Any hint, what should I fix, would be appreciated

Cheers
Michal

Hi,
please file a bug at https://bugs.kde.org/enter_bug.cgi?product=Breeze
(component QStyle)
providing application, steps to reproduce and screenshot
tab close buttons in oxygen-demo5 (second page, and checking on the 
show tab close button options, look good here, but again there might 
be application specific issues ...


Thanks !

Hugo



Re: Review Request 118763: Remove find_package(XCB) call as it is handled already by the top-level cmake file

2014-08-18 Thread Hugo Pereira Da Costa


 On June 26, 2014, 11:49 a.m., Hugo Pereira Da Costa wrote:
  Ship It!

Ping ? Should I commit this myself ?


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118763/#review61017
---


On June 16, 2014, 2:07 p.m., Bernd Steinhauser wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/118763/
 ---
 
 (Updated June 16, 2014, 2:07 p.m.)
 
 
 Review request for kde-workspace, Plasma and Hugo Pereira Da Costa.
 
 
 Repository: oxygen
 
 
 Description
 ---
 
 No idea if kde-workspace is still the right group, if not, please change.
 
 find_package(XCB) is called without specifying the required components. This 
 leads to linking to unused dependencies in case they are installed.
 
 Since XCB is searched for in the top level cmake file in the repository, 
 there is no need to search for it again. The component required there (only 
 base XCB) is sufficient.
 Although, this should be sufficient to fix the deps problem, it makes sense 
 to link to XCB::XCB instead of ${XCB_LIBRARIES}, since the former is what is 
 actually needed.
 
 
 Diffs
 -
 
   kstyle/CMakeLists.txt 165b62a 
   liboxygen/CMakeLists.txt 0d1dd94 
 
 Diff: https://git.reviewboard.kde.org/r/118763/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bernd Steinhauser
 




Re: Review Request 118763: Remove find_package(XCB) call as it is handled already by the top-level cmake file

2014-06-26 Thread Hugo Pereira Da Costa


 On June 16, 2014, 6:57 a.m., Martin Gräßlin wrote:
  looks good to me, +1. Please add Hugo Pereira Da Costa to the Review 
  Request, though.
  
  The review request made me wonder whether we still need to find XLib in 
  Oxygen, though. The parts shown only use XCB, so maybe we could just go for 
  finding only XCB?

@Martin,
yes you are probably right. X11 should not be necessary any more.
I'll double check and commit. (have other stuff pending).


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118763/#review60162
---


On June 16, 2014, 2:07 p.m., Bernd Steinhauser wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/118763/
 ---
 
 (Updated June 16, 2014, 2:07 p.m.)
 
 
 Review request for kde-workspace, Plasma and Hugo Pereira Da Costa.
 
 
 Repository: oxygen
 
 
 Description
 ---
 
 No idea if kde-workspace is still the right group, if not, please change.
 
 find_package(XCB) is called without specifying the required components. This 
 leads to linking to unused dependencies in case they are installed.
 
 Since XCB is searched for in the top level cmake file in the repository, 
 there is no need to search for it again. The component required there (only 
 base XCB) is sufficient.
 Although, this should be sufficient to fix the deps problem, it makes sense 
 to link to XCB::XCB instead of ${XCB_LIBRARIES}, since the former is what is 
 actually needed.
 
 
 Diffs
 -
 
   kstyle/CMakeLists.txt 165b62a 
   liboxygen/CMakeLists.txt 0d1dd94 
 
 Diff: https://git.reviewboard.kde.org/r/118763/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bernd Steinhauser
 




Re: Review Request 118763: Remove find_package(XCB) call as it is handled already by the top-level cmake file

2014-06-26 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118763/#review61017
---

Ship it!


Ship It!

- Hugo Pereira Da Costa


On June 16, 2014, 2:07 p.m., Bernd Steinhauser wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/118763/
 ---
 
 (Updated June 16, 2014, 2:07 p.m.)
 
 
 Review request for kde-workspace, Plasma and Hugo Pereira Da Costa.
 
 
 Repository: oxygen
 
 
 Description
 ---
 
 No idea if kde-workspace is still the right group, if not, please change.
 
 find_package(XCB) is called without specifying the required components. This 
 leads to linking to unused dependencies in case they are installed.
 
 Since XCB is searched for in the top level cmake file in the repository, 
 there is no need to search for it again. The component required there (only 
 base XCB) is sufficient.
 Although, this should be sufficient to fix the deps problem, it makes sense 
 to link to XCB::XCB instead of ${XCB_LIBRARIES}, since the former is what is 
 actually needed.
 
 
 Diffs
 -
 
   kstyle/CMakeLists.txt 165b62a 
   liboxygen/CMakeLists.txt 0d1dd94 
 
 Diff: https://git.reviewboard.kde.org/r/118763/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Bernd Steinhauser
 




Re: Review Request 115964: Oxygen: avoid calls to reparseConfiguration() on startup.

2014-02-25 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115964/#review50797
---


Right now, I'm not able to compile, due to:

home/hpereira/kf5/src/kde-workspace/kstyles/oxygen/oxygenstyle.cpp: In 
constructor ‘Oxygen::Style::Style()’:
/home/hpereira/kf5/src/kde-workspace/kstyles/oxygen/oxygenstyle.cpp:193:60: 
error: ‘class Oxygen::StyleConfigData’ has no member named ‘sharedConfig’
 _helper( new StyleHelper( StyleConfigData::self()-sharedConfig() ) ),

Does this review depend on some pending changes in kconfig ?

- Hugo Pereira Da Costa


On Feb. 23, 2014, 12:08 p.m., David Faure wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/115964/
 ---
 
 (Updated Feb. 23, 2014, 12:08 p.m.)
 
 
 Review request for kde-workspace and Hugo Pereira Da Costa.
 
 
 Repository: kde-workspace
 
 
 Description
 ---
 
 Oxygen: avoid calls to reparseConfiguration() on startup.
 
 strace -e open kate | grep -v NOENT | grep oxygenrc | wc -l
   went from 8 to 4
   (and when looking for kdeglobals, from 13 to 11)
 
 There's still a lot of work to be done in that area...
 (within KConfigSkeleton, and probably kdeplatformtheme)
 
 
 Diffs
 -
 
   kstyles/oxygen/oxygenshadowhelper.h 
 066edd3292f390401691a9d6e5182e9dc6d24133 
   kstyles/oxygen/oxygenshadowhelper.cpp 
 b3f3d0c876067292a72647e9fcda07cbbf4ba4b0 
   kstyles/oxygen/oxygenstyle.h 35323b4578eb9aa0d1efcc5901bab80fadea64f3 
   kstyles/oxygen/oxygenstyle.cpp f6ff24ad515003ad031c80665935e6d113b5a1e5 
   kstyles/oxygen/oxygenstylehelper.h 57b86c7ed540364040e87a8464299db17c460647 
   kstyles/oxygen/oxygenstylehelper.cpp 
 f2af4172c5beb8b8c3bb0d75b5eb351dc710289e 
   kwin/clients/oxygen/demo/oxygenshadowdemodialog.cpp 
 9e1481cab4cca2961b48c791e72d925ae4a83d05 
   kwin/clients/oxygen/oxygendecohelper.h 
 4c9a44ab54edec7bdc428f33e580efc60efdf235 
   kwin/clients/oxygen/oxygendecohelper.cpp 
 e6bbcbf9df7eee3188c84cd74f0e32b7cfd162d3 
   kwin/clients/oxygen/oxygenfactory.h 
 9ed90ec1567ed537a3524b2d4a507a3471341a64 
   kwin/clients/oxygen/oxygenfactory.cpp 
 6d5b08b9160a7794f668feb2914450b602360ce6 
   libs/oxygen/oxygenhelper.h ee381a74320da172e834550f61ef214377870bfc 
   libs/oxygen/oxygenhelper.cpp cd6562b411fdb1bce6d0c740a4b38dae33218324 
 
 Diff: https://git.reviewboard.kde.org/r/115964/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 David Faure
 




Re: Review Request 115964: Oxygen: avoid calls to reparseConfiguration() on startup.

2014-02-25 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115964/#review50816
---

Ship it!


code is good and works well. Thanks ! 

- Hugo Pereira Da Costa


On Feb. 25, 2014, 12:02 p.m., David Faure wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/115964/
 ---
 
 (Updated Feb. 25, 2014, 12:02 p.m.)
 
 
 Review request for kde-workspace and Hugo Pereira Da Costa.
 
 
 Repository: kde-workspace
 
 
 Description
 ---
 
 Oxygen: avoid calls to reparseConfiguration() on startup.
 
 strace -e open kate | grep -v NOENT | grep oxygenrc | wc -l
   went from 8 to 4
   (and when looking for kdeglobals, from 13 to 11)
 
 There's still a lot of work to be done in that area...
 (within KConfigSkeleton, and probably kdeplatformtheme)
 
 
 Diffs
 -
 
   kstyles/oxygen/oxygenshadowhelper.h 
 066edd3292f390401691a9d6e5182e9dc6d24133 
   kstyles/oxygen/oxygenshadowhelper.cpp 
 b3f3d0c876067292a72647e9fcda07cbbf4ba4b0 
   kstyles/oxygen/oxygenstyle.h 35323b4578eb9aa0d1efcc5901bab80fadea64f3 
   kstyles/oxygen/oxygenstyle.cpp f6ff24ad515003ad031c80665935e6d113b5a1e5 
   kstyles/oxygen/oxygenstylehelper.h 57b86c7ed540364040e87a8464299db17c460647 
   kstyles/oxygen/oxygenstylehelper.cpp 
 f2af4172c5beb8b8c3bb0d75b5eb351dc710289e 
   kwin/clients/oxygen/demo/oxygenshadowdemodialog.cpp 
 9e1481cab4cca2961b48c791e72d925ae4a83d05 
   kwin/clients/oxygen/oxygendecohelper.h 
 4c9a44ab54edec7bdc428f33e580efc60efdf235 
   kwin/clients/oxygen/oxygendecohelper.cpp 
 e6bbcbf9df7eee3188c84cd74f0e32b7cfd162d3 
   kwin/clients/oxygen/oxygenfactory.h 
 9ed90ec1567ed537a3524b2d4a507a3471341a64 
   kwin/clients/oxygen/oxygenfactory.cpp 
 6d5b08b9160a7794f668feb2914450b602360ce6 
   libs/oxygen/oxygenhelper.h ee381a74320da172e834550f61ef214377870bfc 
   libs/oxygen/oxygenhelper.cpp cd6562b411fdb1bce6d0c740a4b38dae33218324 
 
 Diff: https://git.reviewboard.kde.org/r/115964/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 David Faure
 




Re: Review Request 115515: [oxygen] Check whether we are on platform X11 before calling into xcb

2014-02-07 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115515/#review49179
---

Ship it!


ship it, again :)

- Hugo Pereira Da Costa


On Feb. 6, 2014, 12:22 p.m., Martin Gräßlin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/115515/
 ---
 
 (Updated Feb. 6, 2014, 12:22 p.m.)
 
 
 Review request for kde-workspace and Hugo Pereira Da Costa.
 
 
 Repository: kde-workspace
 
 
 Description
 ---
 
 [oxygen] Check whether we are on platform X11 before calling into xcb
 
 Just because we compiled with X11 present doesn't mean we run on X11.
 This fixes quite a lot of crashers when trying to run framework apps
 on Wayland.
 
 @Hugo: do you know of further files which use xcb unconditionally and which I 
 just haven't hit yet?
 
 
 Diffs
 -
 
   kstyles/oxygen/CMakeLists.txt ca9cc1a1710187f5013482ef502c456238fd4373 
   kstyles/oxygen/oxygenblurhelper.cpp 
 d774b2c45f8ec452311d34f35adf4d9bcc39693d 
   kstyles/oxygen/oxygenshadowhelper.cpp 
 f77093daa4f907afd55333032c6f6b618ad2f47f 
   kstyles/oxygen/oxygenstylehelper.cpp 
 7e2de41822bf0205e2cec7ea82c8e3f6751a2a6b 
   kstyles/oxygen/oxygenwindowmanager.h 
 7ef54d3172b0b0a92b6c33152858cb923b9d3f1e 
   kstyles/oxygen/oxygenwindowmanager.cpp 
 308ce4d049b6ce4c9c2cdd67448d351747f34b19 
   libs/oxygen/oxygenhelper.h 8d734e6e3f3a23c0257cc400417c340ba6d48bea 
   libs/oxygen/oxygenhelper.cpp 1fe78c24c053e74f2179de00ee9a5701997a0acb 
 
 Diff: https://git.reviewboard.kde.org/r/115515/diff/
 
 
 Testing
 ---
 
 running Kate on Wayland till it crashes (or doesn't)
 
 
 Thanks,
 
 Martin Gräßlin
 




Re: Review Request 112335: In oxygen: Use the iconSize from mainToolbar

2014-01-07 Thread Hugo Pereira Da Costa


 On Jan. 7, 2014, 5:44 a.m., Àlex Fiestas wrote:
  Hey hugo, is this in somehow now that oxygen uses KStyle again?

Hi Alex,
yes this has been removed from Oxygen::pixelMetric
and moved to kstyle::pixelMetric.
However it has the same issue: 

case PM_ToolBarIconSize:
return KIconLoader::global()-currentSize(KIconLoader::Toolbar);

so feel free to move the fix there and commit.

Hugo


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/112335/#review46952
---


On Aug. 28, 2013, 5:09 p.m., Àlex Fiestas wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/112335/
 ---
 
 (Updated Aug. 28, 2013, 5:09 p.m.)
 
 
 Review request for kde-workspace and Hugo Pereira Da Costa.
 
 
 Repository: kde-workspace
 
 
 Description
 ---
 
 In the qplatformplugin  we use information from MainToolbar (which makes 
 sense) but in the styles we use information from Toolbar.
 
 This unify both by using MainToolbar in styles (if accepted will modify 
 kstyle as well).
 
 
 Diffs
 -
 
   kstyles/oxygen/oxygenstyle.cpp 83aaf5c 
 
 Diff: https://git.reviewboard.kde.org/r/112335/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Àlex Fiestas
 




Re: Review Request 114537: Fix progressbar's busy animation with QtQuickControls

2013-12-19 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/114537/#review45932
---

Ship it!


Ship It!

- Hugo Pereira Da Costa


On Dec. 19, 2013, 11:18 a.m., Martin Klapetek wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/114537/
 ---
 
 (Updated Dec. 19, 2013, 11:18 a.m.)
 
 
 Review request for kde-workspace and Hugo Pereira Da Costa.
 
 
 Repository: kde-workspace
 
 
 Description
 ---
 
 This makes the animated busy state of QtQuickControls' progressbar actually 
 move.
 
 
 Diffs
 -
 
   kstyles/oxygen/animations/oxygenbusyindicatorengine.cpp da4d67e 
   kstyles/oxygen/oxygenstyle.cpp cf371ca 
 
 Diff: http://git.reviewboard.kde.org/r/114537/diff/
 
 
 Testing
 ---
 
 Tested QQC gallery and QWidget5 gallery, both works correctly.
 
 
 Thanks,
 
 Martin Klapetek
 




Review Request 114328: re-add customstyleelement suite to kstyle

2013-12-06 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/114328/
---

Review request for kdelibs.


Repository: kdelibs


Description
---

re-add customstyleelement suite to kstyle


Diffs
-

  tier4/frameworkintegration/src/kstyle/kstyle.h 8a881f5 
  tier4/frameworkintegration/src/kstyle/kstyle.cpp 27d407e 

Diff: http://git.reviewboard.kde.org/r/114328/diff/


Testing
---

compiles, works, fix kde-workspace build
also: will be used when moving oxygen from qcommonstyle back to kstyle (right 
now we have a fork of some of the said methods)


Thanks,

Hugo Pereira Da Costa



projects page dead ?

2013-11-29 Thread Hugo Pereira Da Costa

https://projects.kde.org/projects/
gives 'bad gateway'. Is it just me ? A known (hopefully temporary) issue 
? Has the page moved ?


Thanks in advance,

Hugo


kde-workspace git broken ?

2013-11-11 Thread Hugo Pereira Da Costa

Hello,
I think commits
9f70241d57f3ba1013b9f28650478c8bbb1233e0
137dd285bdf821fd2c8a5c17e30dc9c1a6eca87b
09ea308ab55505efe7aeaebcd4aef6292cd884e6

seriously broke kde-workspace
At least several changes in oxygen where reverted in the process.
(below is a diff of oxygenstyle.h between 
008ac5efabfb99f04813e5dad29c2d0a92d13fc5 and current master), which 
should definitly not be there ...

can someone more git-knowledgable check/confirm/fix ?

Hugo







diff --git a/kstyles/oxygen/oxygenstyle.h b/kstyles/oxygen/oxygenstyle.h

index afe632b..59f2ae4 100644

--- a/kstyles/oxygen/oxygenstyle.h

+++ b/kstyles/oxygen/oxygenstyle.h

@@ -24,7 +24,7 @@

// (c) 2002,2003 Maksim Orlovich mo0...@mail.rochester.edu

// based on the KDE3 HighColor Style

// Copyright (C) 2001-2002 Karol Szwed gall...@kde.org

-// (C) 2001-2002 Fredrik Höglund fred...@kde.org

+// (C) 2001-2002 Fredrik Höglund fred...@kde.org

// Drawing routines adapted from the KDE2 HCStyle,

// Copyright (C) 2000 Daniel M. Duley mos...@kde.org

// (C) 2000 Dirk Mueller muel...@kde.org

@@ -51,24 +51,18 @@

#include oxygenmetrics.h

#include oxygentileset.h

-#include QMap

-#include QAbstractScrollArea

-#include QCommonStyle

-#include QDockWidget

-#include QMdiSubWindow

-#include QStyleOption

-#include QStyleOptionSlider

-#include QStylePlugin

-#include QToolBar

-#include QToolBox

-#include QWidget

-

-#include QIcon

-

-namespace OxygenPrivate

-{

- class TabBarData;

-}

+#include QtCore/QMap

+#include QtGui/QAbstractScrollArea

+#include QtGui/QCommonStyle

+#include QtGui/QDockWidget

+#include QtGui/QMdiSubWindow

+#include QtGui/QStyleOption

+#include QtGui/QStyleOptionSlider

+#include QtGui/QToolBar

+#include QtGui/QToolBox

+#include QtGui/QWidget

+

+#include KIcon

namespace Oxygen

{

@@ -85,23 +79,6 @@ namespace Oxygen

class WidgetExplorer;

class BlurHelper;

- class StylePlugin : public QStylePlugin

- {

- Q_OBJECT

- Q_PLUGIN_METADATA(IID org.qt-project.Qt.QStyleFactoryInterface FILE 
oxygen.json )


-

- public:

-

- //! constructor

- StylePlugin(QObject *parent = 0):

- QStylePlugin(parent)

- {}

-

- //! create style

- QStyle* create( const QString );

-

- };

-

//! toplevel manager

class TopLevelManager: public QObject

{

@@ -197,6 +174,7 @@ namespace Oxygen

bool eventFilterComboBoxContainer( QWidget*, QEvent* );

bool eventFilterDockWidget( QDockWidget*, QEvent* );

bool eventFilterMdiSubWindow( QMdiSubWindow*, QEvent* );

+ bool eventFilterQ3ListView( QWidget*, QEvent* );

bool eventFilterScrollBar( QWidget*, QEvent* );

bool eventFilterTabBar( QWidget*, QEvent* );

bool eventFilterToolBar( QToolBar*, QEvent* );

@@ -211,7 +189,7 @@ namespace Oxygen

//@}

- protected Q_SLOTS:

+ protected slots:

//! update oxygen configuration

void oxygenConfigurationChanged( void );

@@ -226,7 +204,10 @@ namespace Oxygen

{ return pixelMetric(PM_DefaultLayoutSpacing, option, widget); }

//! standard icons

- virtual QIcon standardIcon( StandardPixmap, const QStyleOption* = 0, 
const QWidget* = 0) const;


+ virtual QIcon standardIconImplementation(

+ StandardPixmap standardIcon,

+ const QStyleOption *option,

+ const QWidget *widget) const;

protected:

@@ -300,6 +281,59 @@ namespace Oxygen

//! list of slabs

typedef QListSlabRect SlabRectList;

+ /*!

+ tabBar data class needed for

+ the rendering of tabbars when

+ one tab is being drawn

+ */

+ class TabBarData: public QObject

+ {

+

+ public:

+

+ //! constructor

+ explicit TabBarData( Style* parent ):

+ QObject( parent ),

+ _style( parent ),

+ _dirty( false )

+ {}

+

+ //! destructor

+ virtual ~TabBarData( void )

+ {}

+

+ //! assign target tabBar

+ void lock( const QWidget* widget )

+ { _tabBar = widget; }

+

+ //! true if tabbar is locked

+ bool locks( const QWidget* widget ) const

+ { return _tabBar  _tabBar.data() == widget; }

+

+ //! set dirty

+ void setDirty( const bool value = true )

+ { _dirty = value; }

+

+ //! release

+ void release( void )

+ { _tabBar.clear(); }

+

+ //! draw tabBarBase

+ virtual void drawTabBarBaseControl( const QStyleOptionTab*, QPainter*, 
const QWidget* );


+

+ private:

+

+ //! pointer to parent style object

+ QWeakPointerconst Style _style;

+

+ //! pointer to target tabBar

+ QWeakPointerconst QWidget _tabBar;

+

+ //! if true, will paint on next TabBarTabShapeControlCall

+ bool _dirty;

+

+ };

+

//@}

//! animations

@@ -341,6 +375,10 @@ namespace Oxygen

SplitterFactory splitterFactory( void ) const

{ return *_splitterFactory; }

+ //! tabBar data

+ TabBarData tabBarData( void ) const

+ { return *_tabBarData; }

+

//!@name subelementRect specialized functions

//@{

@@ -477,6 +515,8 @@ namespace Oxygen

bool drawPanelItemViewItemPrimitive( const QStyleOption*, QPainter*, 
const QWidget* ) const;


bool drawPanelLineEditPrimitive( const QStyleOption*, QPainter*, const 
QWidget* ) const;


bool drawIndicatorMenuCheckMarkPrimitive( const QStyleOption*, 
QPainter*, const QWidget* 

Re: kde-workspace git broken ?

2013-11-11 Thread Hugo Pereira Da Costa

On 11/11/2013 02:13 PM, Martin Gräßlin wrote:

On Monday 11 November 2013 13:29:32 Hugo Pereira Da Costa wrote:

Hello,
I think commits
9f70241d57f3ba1013b9f28650478c8bbb1233e0
137dd285bdf821fd2c8a5c17e30dc9c1a6eca87b
09ea308ab55505efe7aeaebcd4aef6292cd884e6

seriously broke kde-workspace

yes, it's broken. I already created a sysadmin request. Unfortunately a
similar commit got just pushed to KDE/4.11. So at the moment both master and
KDE/4.11 branch are broken.

Please remember: do not push a revert of a merge commit.

Is it possible to have a commit hook that would prevent such revert ?


Cheers
Martin




please delete kde-workspace master-xcb remote branch

2013-10-24 Thread Hugo Pereira Da Costa

Hi,

could someone with proper credentials delete the kde-workspace remote 
branch called master-xcb, I just created it *by mistake* while pushing 
some changes to master ?


Thanks in advance,

Hugo


Re: Review Request: make folderview icons translucent if composite is enabled

2012-05-03 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101463/#review13308
---


For the record, I have implemented a 'modified' version of Thomas patch in 
oxygen (without the clearMask() call that could possibly break things 
elsewhere), and it just works (without this current patch implemented).
See: http://wstaw.org/m/2012/05/03/dnd0.png

This is pushed to master. I do not think it requires backporting to KDE 4.8

(As a side note, I have also implemented alpha channel for Window tabbing dnd 
icons, in oxygen-decoration, to test the above. See: 
http://wstaw.org/m/2012/05/03/dnd1.png)

I believe this review request can therefore be discarder.


- Hugo Pereira Da Costa


On April 19, 2012, 11:29 p.m., Mathias Stephan Panzenböck wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/101463/
 ---
 
 (Updated April 19, 2012, 11:29 p.m.)
 
 
 Review request for KDE Base Apps.
 
 
 Description
 ---
 
 This patch makes dragged folderview icons translucent if composite is 
 enabled. It is a kinda hack that uses an event filter to find Qt's D'n'D 
 window, clears any mask on it and sets the Qt::WA_TranslucentBackground 
 attribute. I use it day to day and it works fine.
 
 The proper place to fix this would be in Qt, but they wrongfully marked the 
 bug report as invalid, because they think X11 does not support translucent 
 windows:
 http://bugreports.qt.nokia.com/browse/QTBUG-8519
 
 
 This addresses bug 256475.
 http://bugs.kde.org/show_bug.cgi?id=256475
 
 
 Diffs
 -
 
   plasma/applets/folderview/iconview.h e648ff0 
   plasma/applets/folderview/iconview.cpp 3186b18 
 
 Diff: http://git.reviewboard.kde.org/r/101463/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Mathias Stephan Panzenböck
 




Re: Review Request: make folderview icons translucent if composite is enabled

2012-05-03 Thread Hugo Pereira Da Costa


 On May 29, 2011, 1:05 p.m., Thomas Lübking wrote:
  Not sure wheher it's really worth it (though using ARGB over XShape might 
  actually bring better performance) but I assume the style (oxygen) can deal 
  this more efficiently (via polishment) and also globally (not only for the 
  folderview plasmoid but _all_ Qt icon drags)
  Gonna try and send Hugo a patch if it works.
 
 Thomas Lübking wrote:
 Yes, is. As trivial as
 if (widget-testAttribute(Qt::WA_X11NetWmWindowTypeDND)  
 FX::compositingActive()) // uses KWindowSystem, FX is bespin
 {
widget-setAttribute(Qt::WA_TranslucentBackground);
widget-clearMask();
 }
 
 Mathias Stephan Panzenböck wrote:
 If you have *a lot* of desktop icons and drag them all, the current code 
 (using a mask and no ARGB window) makes kwin so slow, that the automatic 
 desktop effects deactivation kicks in. So I think just for that it is worth 
 to apply this (or a similar) patch. Also I think using these masked icons are 
 really ugly. If no ARGB window can be used it would be better to use drag 
 icons like dolphin does.

I agree with Thomas it would be much less of a hack if it goes in the style.
Will add in there.
(PS: I see other places where I'd love ARGB in DND, namely when moving title 
windows around for window tabbing).


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101463/#review3574
---


On April 19, 2012, 11:29 p.m., Mathias Stephan Panzenböck wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/101463/
 ---
 
 (Updated April 19, 2012, 11:29 p.m.)
 
 
 Review request for KDE Base Apps.
 
 
 Description
 ---
 
 This patch makes dragged folderview icons translucent if composite is 
 enabled. It is a kinda hack that uses an event filter to find Qt's D'n'D 
 window, clears any mask on it and sets the Qt::WA_TranslucentBackground 
 attribute. I use it day to day and it works fine.
 
 The proper place to fix this would be in Qt, but they wrongfully marked the 
 bug report as invalid, because they think X11 does not support translucent 
 windows:
 http://bugreports.qt.nokia.com/browse/QTBUG-8519
 
 
 This addresses bug 256475.
 http://bugs.kde.org/show_bug.cgi?id=256475
 
 
 Diffs
 -
 
   plasma/applets/folderview/iconview.h e648ff0 
   plasma/applets/folderview/iconview.cpp 3186b18 
 
 Diff: http://git.reviewboard.kde.org/r/101463/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Mathias Stephan Panzenböck
 




Re: Using KColorScheme in style only (Was: fix frameworks-kactions compile error)

2012-04-19 Thread Hugo Pereira Da Costa

On 04/19/2012 11:27 AM, Stephen Kelly wrote:

Hi, can anyone who knows about styles/KColorScheme comment on this?

Thanks,

Stephen Kelly wrote:

Kevin Ottens wrote:

On Wednesday 11 April 2012 23:34:18 Stephen Kelly wrote:

[...]
At the center of the questions of what to do with KUrlLabel and
KCapacityBar are the question of what to do about their KColorScheme
dependency. Their use of KColorScheme seems to me like something that
should be handled by the style instead (otherwise, for example,
QProgressBar wouldn't look consistent with a KCapacityBar with its
backgrounds and fill etc). Oxygen may already even handle a KCapacityBar
(I'm not certain):

yes. Oxygen does overwrite the default rendering for kcapacitybar.

kde-workspace/kstyles/oxygen{master}$ git grep CapacityBar
oxygenstyle.cpp:CE_CapacityBar( newControlElement(
CE_CapacityBar ) )
oxygenstyle.cpp:if( element == CE_CapacityBar )
oxygenstyle.cpp:fcn =Style::drawCapacityBarControl;
oxygenstyle.cpp:bool Style::drawCapacityBarControl( const
QStyleOption* option, QPainter* painter, const QWidget* widget ) const
oxygenstyle.h:virtual bool drawCapacityBarControl( const
QStyleOption*, QPainter*, const QWidget* ) const;
oxygenstyle.h:QStyle::ControlElement CE_CapacityBar;


KColorScheme is very different from QPalette. It seems to have 4
dimensions that QPalette doesn't have. I'm all for configuration, but I
think it should have an affect in the style, not in the widgets
themselves. Any thoughts?

Would it be possible to remove the use of KColorScheme from these
widgets in general?

In my oppinion, yes.

Oxygen does use kcolorscheme extensively (that's actually one of the 
reason why it can't easily be isolated as a Qt only widget style)
I believe it's ok if default rendering of custom kdeui widgets uses Qt 
only (QPalette, QStyle)
One can always overwrite the default rendering to benefit from whatever 
KDE features you want.



I'm unfortunately completely ignorant regarding KColorScheme... I agree
it should probably not leak into our widgets and be used by the styles
only though.

Hugo, any ideas/comment on this? The background is here:

http://thread.gmane.org/gmane.comp.kde.devel.frameworks/473/focus=485

Thanks,






Re: Binary compatiblity for liboxygenstyle.so

2012-03-06 Thread Hugo Pereira Da Costa

Adding Ralf in CC, since he is experiencing the same issues.

--


 This starts to get off-topic, but I see the same with zsh, as in I
 started zsh
 from bash and run the above tests, with : ending it works, without it
 doesn't.


There's either some weird statement in your local or global shell profile
or Qt (4.8/git, vanilla/distro?) is broken on interpreting that env.

print_env.sh --
#!/bin/sh
env
--
chmod +x print_env.sh

QT_PLUGIN_PATH=/opt/kde4/lib64/kde4/plugins ./print_env | grep
QT_PLUGIN_PATH
QT_PLUGIN_PATH=/opt/kde4/lib64/kde4/plugins: ./print_env | grep
QT_PLUGIN_PATH

If the correct value ends up there, i'd bet for a Qt bug (the other dir
could be just a failsafe thing, ie if the configured plugin dir doesn't
exist, Qt might lookup likely places in it's own path.

Good news is that you can continue using bash - iff you still want to,
that is ;-)

Cheers,
Thomas




Re: Binary compatiblity for liboxygenstyle.so

2012-02-25 Thread Hugo Pereira Da Costa

On 02/24/12 19:38, Andras Mantia wrote:

On Friday, February 24, 2012 05:48:36 PM Sune Vuorela wrote:

On 2012-02-24, Hugo Pereira Da Costah...@oxygen-icons.org  wrote:

I understand that. The point I was trying to make, is that you would
still get the old pluggin, admittingly without crashing, but which
would nonetheless be not correct.

Whattabout just linking liboxygenstyle static into the oxygen style?
Problem solved. No more abi to manage.

Alternatively, set the SOVERSION of liboxygenstyle to the version of KDE
Workspace. As you have no external dependencies outside kde-workspace
this should not give any problems for anyone.

I tend to think proper soversion bumping would be a good solution.
In both cases it does not fix (sorry for repeating myself) the true 
issue, which is that your plugin_path is not consistent with your 
LD_LIBRARY_PATH.


In fact, thinking more about it, I would be inclined to leave the code 
as it is now, because such BIC crashes make it fairly easy to spot the 
inconsistency, which otherwise can have much more pernicious effects.
For instance I have had many bug reports about this or that new option 
in the configuration ... does not work (and it actually does work, 
except you are using the old pluggin), or worse:
this or that optimization of the code (to fix slow pixmap allocation on 
NVIDIA to name one, as reported in a bug), that has no effect at all in 
my case (says the reporter), again because of loading the wrong pluggin.


These two examples are much more complicated to spot and fix than the 
crash cases, and would occur more often if the BIC crash cases becomes 
fixed, by any of the solutions proposed above.


Also note that nowhere in KDE you can find an About Oxygen button that 
would tell you which so version you are using anyway ...


Cheers,

Hugo


Andras




Re: Binary compatiblity for liboxygenstyle.so

2012-02-24 Thread Hugo Pereira Da Costa

Hi Andras,

no there is no guarantee for liboxygenstyle.so.4, and I don't plan to 
guarantee it.

It is all internal to kde-workspace, and has no public api.
the fact that oxygen gets broken for kde installed from source due to 
incorrect plugin path is an issue with Qt installantion, and/or with 
local KDE install (experts should confirm), that must be fixed upstream, 
disregarding of the above. In fact the same issue can lead (and has led) 
to crashes elsewhere, notably in the decorations. Therefore I don't 
think it justifies ensuring the the BIC you ask, which would generate 
extra -and IMHO unnecessary- complexity, if not overhead.


Sorry,

Hugo


Hi,

  is there any BC guarantee for liboxygenstyle.so.4? If not, i think there
should be... It is not the first time that you cannot run application installed
by your distribution under a self-compiled KDE master, because BIC issues in
lliboxygenstyle.so. The apps from there load the oxygen.so plugin from the
system directories, but as the link against the master's liboxygenstyle.so
dynamically, so if that changes in a BIC way, the apps crash and don't start.

Eg:
qtcreator: symbol lookup error: /usr/lib64/kde4/plugins/styles/oxygen.so:
undefined symbol: _ZN6Oxygen7TileSetC1ERK7QPixmap

Right now the problem was most probably was the following commit:

http://commits.kde.org/kde-workspace/04490c8a827347ed41b9b1bee0539cea750ddf50

I know this does not affect regular releases in distributions, but it is very
bad for those working/testing KDE master.

Andras





Re: Binary compatiblity for liboxygenstyle.so

2012-02-24 Thread Hugo Pereira Da Costa

On 02/24/2012 11:21 AM, Hugo Pereira Da Costa wrote:

Hi Andras,

no there is no guarantee for liboxygenstyle.so.4, and I don't plan to 
guarantee it.

It is all internal to kde-workspace, and has no public api.
the fact that oxygen gets broken for kde installed from source due to 
incorrect plugin path is an issue with Qt installantion, and/or with 
local KDE install (experts should confirm), that must be fixed 
upstream, disregarding of the above. In fact the same issue can lead 
(and has led) to crashes elsewhere, notably in the decorations. 
Therefore I don't think it justifies ensuring the the BIC you ask, 
which would generate extra -and IMHO unnecessary- complexity, if not 
overhead.


If I remember correctly, the recipy for getting the right pluggin path 
(and thus avoid the crashes -always-), is to edit 
$HOME/.config/Trolltech.conf, and remove (or fix) the libraryPath 
section in [qt].



Sorry,

Hugo


Hi,

  is there any BC guarantee for liboxygenstyle.so.4? If not, i think 
there
should be... It is not the first time that you cannot run application 
installed
by your distribution under a self-compiled KDE master, because BIC 
issues in
lliboxygenstyle.so. The apps from there load the oxygen.so plugin 
from the
system directories, but as the link against the master's 
liboxygenstyle.so
dynamically, so if that changes in a BIC way, the apps crash and 
don't start.


Eg:
qtcreator: symbol lookup error: 
/usr/lib64/kde4/plugins/styles/oxygen.so:

undefined symbol: _ZN6Oxygen7TileSetC1ERK7QPixmap

Right now the problem was most probably was the following commit:

http://commits.kde.org/kde-workspace/04490c8a827347ed41b9b1bee0539cea750ddf50 



I know this does not affect regular releases in distributions, but it 
is very

bad for those working/testing KDE master.

Andras







Re: Binary compatiblity for liboxygenstyle.so

2012-02-24 Thread Hugo Pereira Da Costa

On 02/24/2012 11:25 AM, Hugo Pereira Da Costa wrote:

On 02/24/2012 11:21 AM, Hugo Pereira Da Costa wrote:

Hi Andras,

no there is no guarantee for liboxygenstyle.so.4, and I don't plan to 
guarantee it.

It is all internal to kde-workspace, and has no public api.
the fact that oxygen gets broken for kde installed from source due to 
incorrect plugin path is an issue with Qt installantion, and/or with 
local KDE install (experts should confirm), that must be fixed 
upstream, disregarding of the above. In fact the same issue can lead 
(and has led) to crashes elsewhere, notably in the decorations. 
Therefore I don't think it justifies ensuring the the BIC you ask, 
which would generate extra -and IMHO unnecessary- complexity, if not 
overhead.


oh and forget the bit about decorations, its actually not true (or 
unrelated).


If I remember correctly, the recipy for getting the right pluggin path 
(and thus avoid the crashes -always-), is to edit 
$HOME/.config/Trolltech.conf, and remove (or fix) the libraryPath 
section in [qt].



Sorry,

Hugo


Hi,

  is there any BC guarantee for liboxygenstyle.so.4? If not, i think 
there
should be... It is not the first time that you cannot run 
application installed
by your distribution under a self-compiled KDE master, because BIC 
issues in
lliboxygenstyle.so. The apps from there load the oxygen.so plugin 
from the
system directories, but as the link against the master's 
liboxygenstyle.so
dynamically, so if that changes in a BIC way, the apps crash and 
don't start.


Eg:
qtcreator: symbol lookup error: 
/usr/lib64/kde4/plugins/styles/oxygen.so:

undefined symbol: _ZN6Oxygen7TileSetC1ERK7QPixmap

Right now the problem was most probably was the following commit:

http://commits.kde.org/kde-workspace/04490c8a827347ed41b9b1bee0539cea750ddf50 



I know this does not affect regular releases in distributions, but 
it is very

bad for those working/testing KDE master.

Andras









Re: Binary compatiblity for liboxygenstyle.so

2012-02-24 Thread Hugo Pereira Da Costa

On 02/24/2012 11:43 AM, Pino Toscano wrote:

Alle venerdì 24 febbraio 2012, Hugo Pereira Da Costa ha scritto:

no there is no guarantee for liboxygenstyle.so.4, and I don't plan to
guarantee it.
It is all internal to kde-workspace, and has no public api.

Then please correctly bump its SONAME, instead of using the same SONAME
(liboxygenstyle.so.4) for API-/ABI- incompatible new versions of it.


Hi Pino,

I think the real issue here is:

despite the fact that you have a local kde build, the pluggins that gets 
loaded by Qt when running a KDE or Qt application are not the ones you 
compiled. An old one is used instead, that is inconsistent with the 
libraries it links to.

The new, compiled one, should get loaded.
No change of so name will fix that.
Correct ?

Hugo


Re: Binary compatiblity for liboxygenstyle.so

2012-02-24 Thread Hugo Pereira Da Costa

On 02/24/2012 11:51 AM, Thiago Macieira wrote:

On sexta-feira, 24 de fevereiro de 2012 11.49.44, Hugo Pereira Da Costa wrote:

despite the fact that you have a local kde build, the pluggins that gets
loaded by Qt when running a KDE or Qt application are not the ones you
compiled. An old one is used instead, that is inconsistent with the
libraries it links to.
The new, compiled one, should get loaded.
No change of so name will fix that.
Correct ?

Correct.

Make sure that your new KDE's installation is found by the Qt plugin system,
either by setting QT_PLUGIN_PATH or by editing Trolltech.conf.



Side note: since this is actually a recurring issue, I guess it should 
be documented on techbase (or elswhere more appropriate; suggestions 
welcome).


I'm ready to do so, but might need help, proof-reading from expert. 
Thiago ?


Cheers,

Hugo


Re: Binary compatiblity for liboxygenstyle.so

2012-02-24 Thread Hugo Pereira Da Costa

On 02/24/2012 11:56 AM, Andras Mantia wrote:

On Friday, February 24, 2012 11:51:51 AM Thiago Macieira wrote:

Correct.

Make sure that your new KDE's installation is found by the Qt plugin
system,  either by setting QT_PLUGIN_PATH or by editing Trolltech.conf.

I have this:
printenv QT_PLUGIN_PATH
/opt/qt4/plugins:/opt/kde4/lib64/kde4/plugins:/encrypted/home/andris/.kde4/lib64/kde4/plugins/:/opt/kde4/lib64/kde4/plugins/


cat ~/.config/Trolltech.conf
[qt]
4.7\libraryPath=/opt/kde4/lib64/kde4/plugins
4.8\libraryPath=/opt/kde4/lib64/kde4/plugins

  qtcreator
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
qtcreator: symbol lookup error: /usr/lib64/kde4/plugins/styles/oxygen.so:
undefined symbol: _ZN6Oxygen7TileSetC1ERK7QPixmap

are other applications also crashing (like, e.g. plasma workspace, or 
kwin) ? (It should)


if not it might be a QtCreator specific issue.



No matter what I do, it still loads from /usr/lib64.

Andras





Re: Review Request: #include fixx11h.h

2012-01-15 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103638/#review9843
---


As far as Oxygen is concerned, feel free to ship it.

- Hugo Pereira Da Costa


On Jan. 15, 2012, 12:53 p.m., Erik Sigra wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103638/
 ---
 
 (Updated Jan. 15, 2012, 12:53 p.m.)
 
 
 Review request for KDE Base Apps and Hugo Pereira Da Costa.
 
 
 Description
 ---
 
 Add #include fixx11h.h in some places where it was missing. This improves 
 buildability.
 
 
 Diffs
 -
 
   kcminit/main.cpp 68bfb05 
   kcontrol/access/kaccess.h c364b25 
   kcontrol/access/kcmaccess.cpp 64a6803 
   kcontrol/bell/bell.cpp 3d9395f 
   kcontrol/fonts/fonts.cpp 61886d4 
   kcontrol/input/kapplymousetheme.cpp c9bc511 
   kcontrol/input/main.cpp 0f9f33a 
   kcontrol/input/mouse.cpp cebb174 
   kcontrol/input/xcursor/legacytheme.cpp 28d7f2a 
   kcontrol/input/xcursor/previewwidget.cpp aff149b 
   kcontrol/input/xcursor/thememodel.cpp d69dde0 
   kcontrol/input/xcursor/themepage.cpp 0f678ed 
   kcontrol/input/xcursor/xcursortheme.cpp 2fc7504 
   kcontrol/keyboard/kcmmisc.cpp 382f026 
   kcontrol/keyboard/keyboard_hardware.cpp 9f9c026 
   kcontrol/keyboard/xinput_helper.cpp 2971d20 
   kcontrol/kfontinst/lib/FcEngine.cpp 8b74fce 
   kcontrol/krdb/krdb.cpp 92d84e9 
   kcontrol/randr/krandrapp.cpp af53671 
   kcontrol/randr/module/randrpolltest.cpp 30d689e 
   kcontrol/style/kcmstyle.cpp b8f46be 
   kdm/kcm/background/bgrender.cpp 17cf33d 
   kdm/kfrontend/krootimage.cpp e4ddc85 
   khotkeys/libkhotkeysprivate/actions/keyboard_input_action.cpp b3b1ec3 
   khotkeys/libkhotkeysprivate/triggers/gestures.cpp e70c074 
   khotkeys/libkhotkeysprivate/windows_handler.cpp eb02374 
   kinfocenter/Modules/base/os_base.h 9c903ea 
   kinfocenter/Modules/opengl/opengl.cpp 7df2b17 
   klipper/klipper.cpp aafe616 
   krunner/krunnerdialog.cpp 007887f 
   krunner/lock/lockprocess.cc 65c7f1d 
   krunner/screensaver/xautolock.cpp 7124215 
   krunner/startupid.cpp a436183 
   kscreensaver/libkscreensaver/kscreensaver.cpp 55bcbea 
   ksmserver/fadeeffect.h 8d45ebc 
   ksmserver/fadeeffect.cpp 8b94834 
   ksmserver/kcheckrunning.cpp f0648fc 
   ksmserver/legacy.cpp 62a4672 
   ksmserver/logouteffect.cpp a2fc060 
   ksplash/ksplashqml/SplashApp.h 9b63c4e 
   ksplash/ksplashqml/main.cpp d59bff8 
   ksplash/simple/main.cpp 0e730bf 
   kstyles/oxygen/oxygenshadowhelper.cpp 28cc651 
   kstyles/oxygen/oxygenstylehelper.cpp 24710cd 
   ksystraycmd/main.cpp 9a72389 
   kwin/atoms.h 95e1bde 
   kwin/clients/b2/b2client.cpp 6b52996 
   kwin/clients/oxygen/oxygenclient.cpp cd94eb4 
   kwin/clients/oxygen/oxygensizegrip.cpp 221ee74 
   kwin/effects/resize/resize.cpp 84bdd7f 
   kwin/effects/showfps/showfps.cpp 5161401 
   kwin/effects/showpaint/showpaint.cpp f689b1c 
   kwin/kcmkwin/kwindecoration/preview.cpp a3d4256 
   kwin/kcmkwin/kwinoptions/mouse.cpp 51a80f9 
   kwin/kcmkwin/kwinoptions/windows.cpp 30c94c0 
   kwin/killer/killer.cpp d37a654 
   kwin/killwindow.cpp 57e15e5 
   kwin/libkwineffects/kwinglobals.cpp 575813e 
   kwin/opengltest/opengltest.cpp eda7b51 
   kwin/outline.cpp 6ef499c 
   kwin/overlaywindow.h 14d2d58 
   kwin/tabbox/tabboxhandler.cpp e91ea71 
   kwin/tools/decobenchmark/preview.cpp 429cbd2 
   kwin/tools/test_gravity.cpp 4ddb136 
   kwin/utils.cpp a9abc5d 
   kwin/workspace.h 40562d4 
   libs/kephal/service/xrandr12/randrdisplay.h 3a6392c 
   libs/kworkspace/kdisplaymanager.cpp 28fabfc 
   plasma/desktop/shell/plasmaapp.cpp 7abd8fc 
   plasma/generic/applets/systemtray/protocols/fdo/fdoselectionmanager.cpp 
 4257202 
   plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp 
 1826512 
   plasma/generic/dataengines/mouse/cursornotificationhandler.h 7b4d3eb 
   plasma/netbook/shell/plasmaapp.cpp 22c54b2 
   powerdevil/daemon/actions/dpms/powerdevildpmsaction.cpp a16bf7e 
   powerdevil/daemon/backends/upower/xrandrbrightness.h 875c667 
 
 Diff: http://git.reviewboard.kde.org/r/103638/diff/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Erik Sigra
 




Re: Review Request: fix the rect passed to kcapacitybar paint method

2012-01-12 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103669/
---

(Updated Jan. 12, 2012, 7:06 p.m.)


Review request for Dolphin, kdelibs and Solid.


Changes
---

Changed rect() into contentsRect(), as advised by Thomas


Description
---

fixes the rect passed to paint method so that it matches the widget rect and 
not the event (clip) rect, since the former is what's expected by widget styles.


This addresses bug 290879.
http://bugs.kde.org/show_bug.cgi?id=290879


Diffs (updated)
-

  kdeui/widgets/kcapacitybar.cpp 6e63c3f 

Diff: http://git.reviewboard.kde.org/r/103669/diff/diff


Testing
---

Fixes bug above.
No regression with other styles.


Thanks,

Hugo Pereira Da Costa



Re: hard-dep for Qt 4.8

2012-01-12 Thread Hugo Pereira Da Costa
Personally, I think making Qt4.8 mandatory for KDE4.8 without strong 
reasons to do so raises the barrier a bit too high for casual 
contributors willing to fix bugs. I personally find Qt harder to compile 
than kde and am quite reluctant to update, just to be able to still fix 
bugs in oxygen.


Hugo

On Thursday 12 January 2012, Marco Martin wrote:

On Thursday 12 January 2012, Martin Gräßlin wrote:

Our distributions will ship 4.8 together with 4.8 and this
combination might just be untested by the maintainers. So I
strongly suggest that we make Qt 4.8 a dependency for master just
to get the code tested and fixed before distros use it.

So unless there is a good reason why not to increase, I would like
to see master depend on Qt 4.8.

yep, that is the most valid reason imo, distribution will have 4.8,
no matter what

That's no valid reason. Distributions shipped kdepim 4.4 together with
Qt 4.7. Still we never made Qt 4.7 a hard requirement for kdepim 4.4.

If you want developers to switch to Qt 4.8 to get the KDE code better
tested with this version of Qt then simply ask developers to do so. I
see no good reason to force developers to do so.


Regards,
Ingo




Re: hard-dep for Qt 4.8

2012-01-12 Thread Hugo Pereira Da Costa

On 01/13/2012 12:12 AM, Hugo Pereira Da Costa wrote:
Personally, I think making Qt4.8 mandatory for KDE4.8 without strong 
reasons to do so raises the barrier a bit too high for casual 
contributors willing to fix bugs. I personally find Qt harder to 
compile than kde and am quite reluctant to update, just to be able to 
still fix bugs in oxygen.


or saying it differently: so far I've been quite happy with the fact 
that I could develop in kde while still relying on the Qt installation 
provided by my (one year old) linux distro, and not having to compile it 
myself ...



Hugo

On Thursday 12 January 2012, Marco Martin wrote:

On Thursday 12 January 2012, Martin Gräßlin wrote:

Our distributions will ship 4.8 together with 4.8 and this
combination might just be untested by the maintainers. So I
strongly suggest that we make Qt 4.8 a dependency for master just
to get the code tested and fixed before distros use it.

So unless there is a good reason why not to increase, I would like
to see master depend on Qt 4.8.

yep, that is the most valid reason imo, distribution will have 4.8,
no matter what

That's no valid reason. Distributions shipped kdepim 4.4 together with
Qt 4.7. Still we never made Qt 4.7 a hard requirement for kdepim 4.4.

If you want developers to switch to Qt 4.8 to get the KDE code better
tested with this version of Qt then simply ask developers to do so. I
see no good reason to force developers to do so.


Regards,
Ingo






Re: Review Request: fix the rect passed to kcapacitybar paint method

2012-01-10 Thread Hugo Pereira Da Costa


 On Jan. 10, 2012, 6:08 p.m., Thomas Lübking wrote:
  kdeui/widgets/kcapacitybar.cpp, line 374
  http://git.reviewboard.kde.org/r/103669/diff/2/?file=46380#file46380line374
 
  rather ..., contentsRect());
  Otherwise looks fine (i guess setCllipRegion() is overhead)

Concerning setClipRegion() overhead, no clue.

Concerning passing contentsRect() instead of rect(), well, 
QStyleOption::initFrom uses widget-rect() by default. Now, other widgets 
implementation might use contentsRect() when initializing their options.
Testing, both work (I guess cause the margin is zero :)).


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103669/#review9716
---


On Jan. 10, 2012, 5:06 p.m., Hugo Pereira Da Costa wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103669/
 ---
 
 (Updated Jan. 10, 2012, 5:06 p.m.)
 
 
 Review request for kdelibs.
 
 
 Description
 ---
 
 fixes the rect passed to paint method so that it matches the widget rect and 
 not the event (clip) rect, since the former is what's expected by widget 
 styles.
 
 
 This addresses bug 290879.
 http://bugs.kde.org/show_bug.cgi?id=290879
 
 
 Diffs
 -
 
   kdeui/widgets/kcapacitybar.cpp 6e63c3f 
 
 Diff: http://git.reviewboard.kde.org/r/103669/diff/diff
 
 
 Testing
 ---
 
 Fixes bug above.
 No regression with other styles.
 
 
 Thanks,
 
 Hugo Pereira Da Costa
 




Re: Building kde-workspace with latest checkout

2011-09-21 Thread Hugo Pereira Da Costa

Adding kde-core-devel, which is better suited for these kind of emails.

Seems to me that trunk is actually not up to date for kdelibs, and that 
accessor to


resizeMethodHint is missing from plasma/wallpaper.h / .cpp


See patch attached. (can someone fix/commit this ?)


At least it made things compile again for me.


Hugo



Hi guys,

I keep getting this error while trying to build kde-workspace module:

[ 57%] Building CXX object
plasma/generic/wallpapers/image/CMakeFiles/plasma_wallpaper_image.dir/backgroundlistmodel.o
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:
In member function ‘virtual void Image::save(KConfigGroup)’:
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:130:66:
error: ‘resizeMethodHint’ was not declared in this scope
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:
In member function ‘virtual QWidget*
Image::createConfigurationInterface(QWidget*)’:
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:152:51:
error: ‘resizeMethodHint’ was not declared in this scope
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:241:34:
error: ‘resizeMethodHint’ was not declared in this scope
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:251:60:
error: ‘resizeMethodHint’ was not declared in this scope
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:
In member function ‘void Image::positioningChanged(int)’:
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:630:47:
error: ‘resizeMethodHint’ was not declared in this scope
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:
In member function ‘void Image::renderWallpaper(const QString)’:
/home/ggorosito/kde/kdesrc/kde/kde-workspace/plasma/generic/wallpapers/image/image.cpp:783:44:
error: ‘resizeMethodHint’ was not declared in this scope
make[2]: *** 
[plasma/generic/wallpapers/image/CMakeFiles/plasma_wallpaper_image.dir/image.o]
Error 1

Full log: http://pastebin.com/UnE2m3Am

Today I talked with Aaron about this, he told me to make sure that
kdelibs is up to date and is setted up to branch KDE/4.7.. and it is:

ggorosito@glaptop:~/kde/kdesrc/kde/kdelibs$ git config --get-all
remote.origin.url
http://anongit.kde.org/kdelibs.git

ggorosito@glaptop:~/kde/kdesrc/kde/kdelibs$ git branch
* KDE/4.7
   master

Any ideas!?

###
#  Gonzalo Gorosito
#  Programador  sysadmin
#
#  http://www.tutorialesdebian.com - Tutoriales para debianeros,
scripts, info, notícias y mucho mas.
#  http://www.ggorosito.com.ar - Website personal
###


Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe


diff --git a/plasma/wallpaper.cpp b/plasma/wallpaper.cpp
index 97ec7e8..16cf3a7 100644
--- a/plasma/wallpaper.cpp
+++ b/plasma/wallpaper.cpp
@@ -421,6 +421,9 @@ void Wallpaper::setResizeMethodHint(Wallpaper::ResizeMethod 
resizeMethod)
 emit renderHintsChanged();
 }
 
+Wallpaper::ResizeMethod Wallpaper::resizeMethodHint( void ) const
+{ return d-lastResizeMethod; }
+
 void Wallpaper::setTargetSizeHint(const QSizeF targetSize)
 {
 d-targetSize = targetSize;
diff --git a/plasma/wallpaper.h b/plasma/wallpaper.h
index e1e9891..3086517 100644
--- a/plasma/wallpaper.h
+++ b/plasma/wallpaper.h
@@ -416,12 +416,17 @@ class PLASMA_EXPORT Wallpaper : public QObject
 /**
  * This method is invoked by setUrls(KUrl::List)
  * Can be Overriden by Plugins which want to support setting Image URLs
- * Will be changed to virtual method in libplasma2/KDE5 
+ * Will be changed to virtual method in libplasma2/KDE5
  * @since 4.7
  */
 void addUrls(const KUrl::List urls);
 
 protected:
+
+
+Wallpaper::ResizeMethod resizeMethodHint( void ) const;
+
+
 /**
  * This constructor is to be used with the plugin loading systems
  * found in KPluginInfo and KService. The argument list is expected


Expert advice needed on problems with oxygen + alpha channel

2011-08-09 Thread Hugo Pereira Da Costa

Hello,

I'm facing a bug with oxygen and KToolBar when compositing is active 
that I need expert advice on.


The issue: when you detach (unlock and move out of the window) a 
KToolbar from a main window, oxygen gives it the translucent 
background flag, and uses it to draw nice beveled corner on the 
detached toolbar. The same *was* done for Dockwidgets, and it *used to* 
work in both cases.


Sadly enough it does not work anymore (try it with e.g. toolbars in 
dolphin). You get a zillion of errors message like:


X Error: BadMatch (invalid parameter attributes) 8
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x22027d8

and the toolbar contents is not drawn anymore.

Nor does it work for Dockwidgets in which there is a KPart (okular or 
kate), as was reported in bug https://bugs.kde.org/show_bug.cgi?id=273848


To fix the bug, I found a workaround that unfortunately looks nice only 
when using KWin. I could do the same for KToolBars, but what annoys me is


- it does work without the workaround for other QDockWidgets (with no 
kpart in there)
- it does work without the workaround for QToolBar (try, e.g. in QGit, 
or Quassel)

- it looks ugly when using kde applications in another DE.

I believe it is somehow related to XmlGui, and would rather have this 
fixed there, than propagating ugly workarounds. However, I have no clue 
where to look, how to start.


Advice ?

Thanks in advance,

Hugo


Re: Review Request: Fix logic with clear-button animation in klineedit (notably at first try) and address bug 268898.

2011-07-27 Thread Hugo Pereira Da Costa


 On July 26, 2011, 10:46 p.m., Aleix Pol Gonzalez wrote:
  kdeui/widgets/klineedit.cpp, line 358
  http://git.reviewboard.kde.org/r/102095/diff/1/?file=30032#file30032line358
 
  Wouldn't it be better to put it this way? Just saying...
  
  d-clearButton-animateVisible(d-wideEnoughForClear  text.length()  
  0);
 
 Nicolas Alvarez wrote:
 I think the original is clearer, to be honest.
 
 Hugo Pereira Da Costa wrote:
 I agree with Nicolas.
 I have nothing against putting boolean test inside the method call, *in 
 principle*, but I believe it's convenient only if the boolean condition is 
 short enough to write.

Other than that, anyone willing to go for a ship it ? 
It was reported on bug 268898 that the patch actually works, and that no 
regression has been found so far (which is also my own experience)


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/102095/#review5129
---


On July 26, 2011, 9:54 p.m., Hugo Pereira Da Costa wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/102095/
 ---
 
 (Updated July 26, 2011, 9:54 p.m.)
 
 
 Review request for kdelibs.
 
 
 Summary
 ---
 
 Details:
 - fixes the somewhat incorrect logic in KLineEditButton::animateVisible
 - simplifies KLineEdit::updateClearButtonIcon consequently.
 
 
 This addresses bug 268898.
 http://bugs.kde.org/show_bug.cgi?id=268898
 
 
 Diffs
 -
 
   kdeui/widgets/klineedit.cpp 8f1c8a4 
   kdeui/widgets/klineedit_p.h 95016bd 
 
 Diff: http://git.reviewboard.kde.org/r/102095/diff
 
 
 Testing
 ---
 
 tested with klineedittest found in kdelibs/kdeui/tests, this with and without 
 the patch attached to comment #1 of bug 268898, used to actually trigger the 
 mentionned bug. Also tested with other klineEdit implementation such as 
 Dolphin's location bar.
 
 
 Thanks,
 
 Hugo
 




Re: KMainWindow unit test crash, caused by recent Oxygen commit

2011-06-27 Thread Hugo Pereira Da Costa
I could reproduce the issue with both kxmlgui_unittest and 
kmainwindow_unittest
Oxygen was the curlpit indeed. (there was a real flaw in the code, 
thanks to Thomas for pointing it out).


Should be fixed with
http://commits.kde.org/kde-workspace/68dbf302f2cb7bb011bdbd52e8dda04902a1dae5

Sorry for the trouble,

Hugo



On 06/27/2011 04:46 PM, Frank Reininghaus wrote:

Hi,

I'm seeing a failure in kmainwindow_unittest:

http://my.cdash.org/testDetails.php?test=6516885build=203056

The test crashes with the backtrace below. Sometimes, also kxmlgui_unittest
crashes with that bt, but that's not 100% reproducible.

It seems that the failure is due to commit 2bc71422 in kde-workspace:

https://projects.kde.org/projects/kde/kdebase/kde-
workspace/repository/revisions/2bc71422e031879d21b1b65fe774d23f5dfd

I don't know KMainWindow and KXmlGui well, so I can't say if they do anything
wrong here, if the tests need to be fixed, or if Oxygen really is the culprit.

Best regards,
Frank

P.S.: The backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x76664cea in QObject::installEventFilter (this=0x7fffcc80,
obj=0x6af770) at kernel/qobject.cpp:2061
2061if (d-threadData != obj-d_func()-threadData) {
(gdb) bt
#0  0x76664cea in QObject::installEventFilter (this=0x7fffcc80,
obj=0x6af770) at kernel/qobject.cpp:2061
#1  0x7fffef61045a in Oxygen::SplitterFactory::registerWidget
(this=0x696ce0, widget=0x7fffcc80)
 at /home/kde-devel/kde/src/KDE/kde-
workspace/kstyles/oxygen/oxygensplitterproxy.cpp:59
#2  0x7fffef6124d6 in Oxygen::Style::polish (this=0x665b60,
widget=0x7fffcc80) at /home/kde-devel/kde/src/KDE/kde-
workspace/kstyles/oxygen/oxygenstyle.cpp:211
#3  0x75550fed in QWidget::event (this=0x7fffcc80,
event=0x7fffcb00) at kernel/qwidget.cpp:8364
#4  0x75a2b87e in QMainWindow::event (this=0x7fffcc80,
event=0x7fffcb00) at widgets/qmainwindow.cpp:1480
#5  0x779da24f in KMainWindow::event (this=0x7fffcc80,
ev=0x7fffcb00) at /home/kde-
devel/kde/src/KDE/kdelibs/kdeui/widgets/kmainwindow.cpp:1100
#6  0x754ea03e in QApplicationPrivate::notify_helper (this=0x62c9f0,
receiver=0x7fffcc80, e=0x7fffcb00) at kernel/qapplication.cpp:4477
#7  0x754e9d3e in QApplication::notify (this=0x7fffdab0,
receiver=0x7fffcc80, e=0x7fffcb00) at kernel/qapplication.cpp:4442
#8  0x7664aa33 in QCoreApplication::notifyInternal
(this=0x7fffdab0, receiver=0x7fffcc80, event=0x7fffcb00) at
kernel/qcoreapplication.cpp:787
#9  0x7664e765 in QCoreApplication::sendEvent
(receiver=0x7fffcc80, event=0x7fffcb00) at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#10 0x75552a4c in QWidget::ensurePolished (this=0x7fffcc80) at
kernel/qwidget.cpp:9615
#11 0x7554f3df in QWidget::setVisible (this=0x7fffcc80,
visible=true) at kernel/qwidget.cpp:7630
#12 0x004087c2 in QWidget::show (this=0x7fffcc80) at /home/kde-
devel/qt/include/QtGui/../../src/gui/kernel/qwidget.h:487
#13 0x0040743a in KMainWindow_UnitTest::testNameWithSpecialChars
(this=0x7fffdaa0) at /home/kde-
devel/kde/src/KDE/kdelibs/kdeui/tests/kmainwindow_unittest.cpp:81
#14 0x004064c9 in KMainWindow_UnitTest::qt_metacall
(this=0x7fffdaa0, _c=QMetaObject::InvokeMetaMethod, _id=2,
_a=0x7fffce30)
 at /home/kde-
devel/kde/build/KDE/kdelibs/kdeui/tests/kmainwindow_unittest.moc:86
#15 0x76652ba7 in QMetaObject::metacall (object=0x7fffdaa0,
cl=QMetaObject::InvokeMetaMethod, idx=6, argv=0x7fffce30) at
kernel/qmetaobject.cpp:237
#16 0x76655836 in QMetaMethod::invoke (this=0x7fffd310,
object=0x7fffdaa0, connectionType=Qt::DirectConnection, returnValue=...,
val0=..., val1=..., val2=...,
 val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at
kernel/qmetaobject.cpp:1597
#17 0x76654ade in QMetaObject::invokeMethod (obj=0x7fffdaa0,
member=0x7242b0 testNameWithSpecialChars, type=Qt::DirectConnection,
ret=..., val0=..., val1=..., val2=
 ..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...)
at kernel/qmetaobject.cpp:1151
#18 0x77439544 in QMetaObject::invokeMethod (obj=0x7fffdaa0,
member=0x7242b0 testNameWithSpecialChars, type=Qt::DirectConnection,
val0=..., val1=..., val2=..., val3=
 ..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs.h:410
#19 0x774372ec in QTest::qInvokeTestMethodDataEntry (slot=0x7242b0
testNameWithSpecialChars) at qtestcase.cpp:1277
#20 0x77437879 in QTest::qInvokeTestMethod (slotName=0x40a1b8
testNameWithSpecialChars(), data=0x0) at qtestcase.cpp:1385
#21 0x77437f15 in QTest::qInvokeTestMethods
(testObject=0x7fffdaa0) at qtestcase.cpp:1540
#22 0x774383a4 in QTest::qExec (testObject=0x7fffdaa0, argc=1,

Re: Help on .desktop files for oxygen

2011-05-06 Thread Hugo Pereira Da Costa

Some follow-up.

I coded locally the necessary changes to have oxygen-settings included 
inside systemsettings, even when through changing the various pages 
into KCModules, and ... well ... it pretty much defeats the purpose (see 
screenshot at: http://simplest-image-hosting.net/jpg-0-plasma-desktopye3595)


The result is that the advanced configuration is now more visible than 
the basic ones (located in Application Appearance and Workspace 
Appearance, for widget and decoration style), which is pretty much the 
opposite of what oxygen-settings was trying to achieve ...


So unless someone has a better idea (or disagrees with the above), I 
guess I'll leave things unchanged (oxygen-settings as a non-advertised 
standalone application) for kde 4.7.


Oppinions ? Comments ? Ideas ? (somehow I wish system-settings still had 
its advanced tab).


Hugo

Le 04/28/2011 04:08 PM, Hugo Pereira Da Costa a écrit :

Le 04/28/2011 02:52 PM, Harald Sitter a écrit :

On Thursday 28 April 2011 11:54:13 Hugo Pereira Da Costa wrote:

Having all the configuration featurs of oxygen-settings in
systemsettings is simply not an option (it has been discussed at length
among oxygen devs).
It does not have to be in the existing KCMs ;) (i.e. see what Ben 
wrote).
All I am saying is, not having a settings UI appear in SystemSettings 
but in

the menu is rather confusing from a user POV.


Icon probably should be start-here-oxygen.

mmm. I'm confused. There is no start-here-oxygen.png icon in themes,
whereas there is an oxygen.png icon (well, in oxygen theme). But 
maybe I

should rather ship the icon (and install) with the application ?
Oh my bad, I was thinking of start-here.png, which is not suitable. 
Basically

I think there are 2 options here:
a) ship your own icon
b) use oxygen.png

Latter is not very advisable iff you choose to have the app listed in 
the menu,
as the implementation of the menu (think gnome-menu) is responsible 
for icon
lookup, which of course then fails if the used icon set is not 
oxygen. For a
KCM/SystemSettings entry that would be a none-issue as IIRC 
KIconLoader always

tries to look for icons in oxygen as second to last option.

So, if your desktop file is only used within a KApplication (such as
SystemSettings) you can use any icon from the oxygen set knowing that 
it will
always be displayed, if your desktop file can be used by non-KApps 
you will
need to ship an icon for the application and install it to the 
hicolor theme.


Also see [1].


General note about the Settings category: I think in a default setup
only
SystemSettings is listed in Settings (which will not make it show 
up in

the menu at all), adding another application entry to the Settings
category will make it show up in the menu... a menu with 2 entries (of
which one is already listed by default in kickoff favorites *and* the
kickoff computer tab) seems like bad default appearance to me *shrug*

Fine with me (and I agree about your concern).
Any better Categories suggestion ? (or alternatively, where do I find
the list of available Categories) ?

[3] contains a list of all registred cateogires.
[2] is the main spec on desktop files, it points to other relevant 
specs as

needed (which includes [1] and [3] of course ;)).

I do still believe that integrating the app to show up within 
systemsettings

rather than the menu would be the way to go though :)



Yep.
You, and Berto and Ben got me convinced.
I'll do that.  Thanks a bunch for the feedback and advice.



[1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-
latest.html#install_icons
[2] 
http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-

latest.html
[3] 
http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html#category-

registry







Re: QPixmap::handle(): Pixmap is not an X11 class pixmap

2011-05-02 Thread Hugo Pereira Da Costa

Le 05/02/2011 04:33 PM, Christoph Feck a écrit :

On Monday 02 May 2011 16:15:42 Wolfgang Rohdewald wrote:

since updating to kubuntu 11.04 I am getting this message
while KApplication is created, but only if I use raster or opengl
as graphics system:

kpat --graphicssystem raster
QPixmap::handle(): Pixmap is not an X11 class pixmap

this seems to happen with all KDE programs.

Any idea?

kdelibs 4.6.2
qt 4.7.2


What's the widget style you are using ?


I remember a recent discussion in #qt-labs about this, and I think it has
already been fixed in Qt 4.8 branch.

The issue, if I understood the discussion correctly, is that even while you
are setting a non X11 backend, it is still possible for applications to create
an X11 native QPixmap via the fromX11Pixmap() function, but the checks in Qt
forgot that case.

Those checks were added to make sure applications don't try to access the
underlying X11 pixmap so that changing the default backend to raster (or
opengl) is possible for a future version of Qt.

In other words, you likely don't need to worry about that warning, unless your
application breaks because of it.

On the other hand, I am highly interested why kpat tries to use X11 pixmaps at
all. Adding kde-games-devel.

Christoph Feck (kdepepo)




Re: Review Request: Add KMessageWidget, an alternative to KMessageBox

2011-05-02 Thread Hugo Pereira Da Costa


 On May 1, 2011, 10:14 a.m., Hugo Pereira Da Costa wrote:
  Hello Aurelien, 
  
  Though I have nothing to say against the current design of your kmessagebox 
  widget, something I miss in your implementation is the possibility for a 
  widget style to override/replace your rendering. I can indeed imagine some 
  styles (not oxygen though) for which your design might not integrate that 
  well, notably skulpture for which all widgets have square corners, that 
  won't match your nice rounded one. 
  
  There is a mechanism to register custom style primitives that widget 
  styles may or may not support, and for your custom widget to test whether 
  the style supports the new primitive or not, allowing it to fallback to its 
  own rendering, when not supported. I think it would be nice for your widget 
  (and other 'custom' widgets that you'd plan to implement) to use this 
  mechanism, for better future integration.
  
  kdeui/kdelibs/kcapacitybar implements this mechanism (the widget appears in 
  the statusbar of dolphin to give the available space on a given device), 
  and oxygen (as well as bespin) actually uses it to render the capacity bar 
  as a regular progress bar, instead of the default implementation (which 
  you can see by using any style but oxygen, or bespin, e.g. plastique). 
  
  Tell me that you think, and also if needed I can help implementing if you 
  agree with the above but are short of time to work on it.
  
  Cheers,
  
  Hugo
 
 Aaron J. Seigo wrote:
 note that this widget exposes a bug in oxygen style where when fading 
 between two strings in a QLabel, the background is not updated. so when the 
 text changes as well as the background color, the old background color 
 remains. this is easily seen if you run kmessagewidgetdemo from 
 kdeexamples/kmessagewidget/ and switch between the Information and Positive 
 messages.
 
 Hugo Pereira Da Costa wrote:
 Thanks Aaron.
 Its now fixed (in a temporary way) in trunk. 
 Note: I've been planing to re-implement the label text transition for a 
 looong time now, in a much more robust way, to avoid these kind of issues 
 -that occur elsewhere in kde- ... But have not found time so far :(

 
 Aurélien Gâteau wrote:
 @Hugo: Interesting, I didn't know about this mechanism. I will be quite 
 busy for the upcoming two weeks so if you feel like implementing it, feel 
 free to (btw: I don't get the nice capacity bar in Dolphin anymore, just a 
 progress bar, is it normal?)
 
 @Aaron: I was able to reproduce this bug for a while when the content 
 widget was hidden away by moving it (0, content-height()). Strangely enough 
 changing the code to move it to (0, -content-height()) fixed it for me.

Aurélien: btw: I don't get the nice capacity bar in Dolphin anymore, just a 
progress bar, is it normal?
Yes its normal. Its precisely what the styling mechanism allowed us to do. We 
(that is: Nuno, I, and some others) felt that the default implementation 
provided by Dolphin, although nice, had some polishing issues, and did not 
integrate well with Oxygen, so we re-implemented it in oxygen, and after some 
more discussion with Nuno, we figured that rather than implementing a new UI 
element with different rendering for just this purpose, we'd better just reuse 
the progress bar element, which which achieves just the same goal. 


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101249/#review3002
---


On April 30, 2011, 1:10 p.m., Aurélien Gâteau wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/101249/
 ---
 
 (Updated April 30, 2011, 1:10 p.m.)
 
 
 Review request for kdelibs.
 
 
 Summary
 ---
 
 KMessageWidget is a new widget which can be considered as a less intrusive 
 alternative for KMessageBox. It was designed during KDE UX sprint 2011 ( 
 http://community.kde.org/Sprints/UX2011/KMessageWidget ).
 
 The class documentation should make it clear how and when it can be used.
 
 This widget could be used by:
 - Browsers to implement their remember password widgets (Konqueror, 
 Rekonq...)
 - Forms to provide feedback on validation errors
 - Bluedevil KCM to replace its custom No Bluetooth adapter have been found 
 message widget
 - Nepomuk/Strigi KCM to indicate status of their services
 - Gwenview to replace its custom save bar
 - ...
 
 I still have a few additions in mind for the API but it is already usable and 
 since we are freezing I think it can be merged in master in its current 
 state. I assume it will still be possible to extend the API a bit before 
 kdelibs 4.7 freezes for good.
 
 I also wrote an example program in the kdeexample repository ( 
 https

Re: Review Request: Add KMessageWidget, an alternative to KMessageBox

2011-05-01 Thread Hugo Pereira Da Costa

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101249/#review3003
---


Also, I wanted to add that Gtk already has a widget similar to your idea, 
called GtkInfoBar, and which is rendered by oxygen-gtk like in the screenshot 
below:

http://simplest-image-hosting.net/jpg-0-plasma-desktopou9644

Now I must say it is not widely used in gtk land. 

- Hugo


On April 30, 2011, 1:10 p.m., Aurélien Gâteau wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/101249/
 ---
 
 (Updated April 30, 2011, 1:10 p.m.)
 
 
 Review request for kdelibs.
 
 
 Summary
 ---
 
 KMessageWidget is a new widget which can be considered as a less intrusive 
 alternative for KMessageBox. It was designed during KDE UX sprint 2011 ( 
 http://community.kde.org/Sprints/UX2011/KMessageWidget ).
 
 The class documentation should make it clear how and when it can be used.
 
 This widget could be used by:
 - Browsers to implement their remember password widgets (Konqueror, 
 Rekonq...)
 - Forms to provide feedback on validation errors
 - Bluedevil KCM to replace its custom No Bluetooth adapter have been found 
 message widget
 - Nepomuk/Strigi KCM to indicate status of their services
 - Gwenview to replace its custom save bar
 - ...
 
 I still have a few additions in mind for the API but it is already usable and 
 since we are freezing I think it can be merged in master in its current 
 state. I assume it will still be possible to extend the API a bit before 
 kdelibs 4.7 freezes for good.
 
 I also wrote an example program in the kdeexample repository ( 
 https://projects.kde.org/projects/kde/kdeexamples/repository/show?rev=agateau%2Fkmessagewidget
  ), though I am wondering whether it shouldn't be moved in kdeui/tests as it 
 is more a manual test program than an example.
 
 
 Diffs
 -
 
   kdeui/CMakeLists.txt d1873d154f4dde92c29f2e6dab1be70d49ddb55e 
   kdeui/widgets/kmessagewidget.h PRE-CREATION 
   kdeui/widgets/kmessagewidget.cpp PRE-CREATION 
 
 Diff: http://git.reviewboard.kde.org/r/101249/diff
 
 
 Testing
 ---
 
 
 Screenshots
 ---
 
 Montage from kmessagewidgetdemo
   http://git.reviewboard.kde.org/r/101249/s/141/
 
 
 Thanks,
 
 Aurélien
 




Re: Review Request: Add KMessageWidget, an alternative to KMessageBox

2011-05-01 Thread Hugo Pereira Da Costa


 On May 1, 2011, 10:14 a.m., Hugo Pereira Da Costa wrote:
  Hello Aurelien, 
  
  Though I have nothing to say against the current design of your kmessagebox 
  widget, something I miss in your implementation is the possibility for a 
  widget style to override/replace your rendering. I can indeed imagine some 
  styles (not oxygen though) for which your design might not integrate that 
  well, notably skulpture for which all widgets have square corners, that 
  won't match your nice rounded one. 
  
  There is a mechanism to register custom style primitives that widget 
  styles may or may not support, and for your custom widget to test whether 
  the style supports the new primitive or not, allowing it to fallback to its 
  own rendering, when not supported. I think it would be nice for your widget 
  (and other 'custom' widgets that you'd plan to implement) to use this 
  mechanism, for better future integration.
  
  kdeui/kdelibs/kcapacitybar implements this mechanism (the widget appears in 
  the statusbar of dolphin to give the available space on a given device), 
  and oxygen (as well as bespin) actually uses it to render the capacity bar 
  as a regular progress bar, instead of the default implementation (which 
  you can see by using any style but oxygen, or bespin, e.g. plastique). 
  
  Tell me that you think, and also if needed I can help implementing if you 
  agree with the above but are short of time to work on it.
  
  Cheers,
  
  Hugo
 
 Aaron J. Seigo wrote:
 note that this widget exposes a bug in oxygen style where when fading 
 between two strings in a QLabel, the background is not updated. so when the 
 text changes as well as the background color, the old background color 
 remains. this is easily seen if you run kmessagewidgetdemo from 
 kdeexamples/kmessagewidget/ and switch between the Information and Positive 
 messages.

Thanks Aaron.
Its now fixed (in a temporary way) in trunk. 
Note: I've been planing to re-implement the label text transition for a looong 
time now, in a much more robust way, to avoid these kind of issues -that occur 
elsewhere in kde- ... But have not found time so far :(


- Hugo


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101249/#review3002
---


On April 30, 2011, 1:10 p.m., Aurélien Gâteau wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/101249/
 ---
 
 (Updated April 30, 2011, 1:10 p.m.)
 
 
 Review request for kdelibs.
 
 
 Summary
 ---
 
 KMessageWidget is a new widget which can be considered as a less intrusive 
 alternative for KMessageBox. It was designed during KDE UX sprint 2011 ( 
 http://community.kde.org/Sprints/UX2011/KMessageWidget ).
 
 The class documentation should make it clear how and when it can be used.
 
 This widget could be used by:
 - Browsers to implement their remember password widgets (Konqueror, 
 Rekonq...)
 - Forms to provide feedback on validation errors
 - Bluedevil KCM to replace its custom No Bluetooth adapter have been found 
 message widget
 - Nepomuk/Strigi KCM to indicate status of their services
 - Gwenview to replace its custom save bar
 - ...
 
 I still have a few additions in mind for the API but it is already usable and 
 since we are freezing I think it can be merged in master in its current 
 state. I assume it will still be possible to extend the API a bit before 
 kdelibs 4.7 freezes for good.
 
 I also wrote an example program in the kdeexample repository ( 
 https://projects.kde.org/projects/kde/kdeexamples/repository/show?rev=agateau%2Fkmessagewidget
  ), though I am wondering whether it shouldn't be moved in kdeui/tests as it 
 is more a manual test program than an example.
 
 
 Diffs
 -
 
   kdeui/CMakeLists.txt d1873d154f4dde92c29f2e6dab1be70d49ddb55e 
   kdeui/widgets/kmessagewidget.h PRE-CREATION 
   kdeui/widgets/kmessagewidget.cpp PRE-CREATION 
 
 Diff: http://git.reviewboard.kde.org/r/101249/diff
 
 
 Testing
 ---
 
 
 Screenshots
 ---
 
 Montage from kmessagewidgetdemo
   http://git.reviewboard.kde.org/r/101249/s/141/
 
 
 Thanks,
 
 Aurélien
 




Help on .desktop files for oxygen

2011-04-28 Thread Hugo Pereira Da Costa

Hi,
For a couple of releases, oxygen widget and decoration style comes with 
an advanced configuration tool, called oxygen-settings [1], and 
accessible (so far) only from terminal (or krunner).


For the record: there are already 'basic' configuration tools available 
at the usual places in system-settings for the decoration and the style 
with a much more limited set of configuration options, the idea being 
not to expose newcommers and casual users to too many options of which 
they simply do not care (such as the duration of the animations). On the 
other hand, another advantage that I see for oxygen-settings is that it 
regroups the widget style and decoration options at the same place.


For 4.7 I'd like to make this advanced tool available via kde' launcher 
menu.

Good idea ? Bad idea ? Objections ?

Also I guess need a .desktop file for that.
Never wrote such a thing before, so some other expert pair of eyes would 
help.


The content I came up with by looking at various other desktop files is 
attached.


Advice welcome,

Hugo

[1] Screenshot: http://simplest-image-hosting.net/jpg-0-plasma-desktopat4300

[Desktop Entry]
Type=Application
Exec=oxygen-settings -caption %c %i
Icon=oxygen
GenericName=Oxygen Advanced Configuration
Terminal=false
Name=Oxygen Advanced Configuration
Categories=Qt;KDE;Settings;
X-KDE-ServiceTypes=DBUS/InstantMessenger
X-DBUS-StartupType=Unique
X-DBUS-ServiceName=org.kde.konversation


Re: Help on .desktop files for oxygen

2011-04-28 Thread Hugo Pereira Da Costa

Harald, David,

Thanks for the feedback. Obviously too much careless copy/paste on my side.

Harald:
Having all the configuration featurs of oxygen-settings in 
systemsettings is simply not an option (it has been discussed at length 
among oxygen devs). So the available solutions are either:


1/ no advanced options GUI at all, and we instruct power users on how 
to modify oxygenrc manually at will. This is what we started with, and 
Nuno has a blog post about it.


2/ keep oxygen-settings to edit oxygenrc for you, but don't make it 
generally available, instructing people that it is here and can be run 
via command line on a per-user, per-bug, per-whatever basis. This is the 
current solution (and I've read complains about it on various forums).


3/ make it available via .desktop file, which is what I suggest now.

Also, we're naturally ready to discuss the possibility of moving some 
(one or two, no more) of the advanced options to the basic options.


More detailed questions follow.



X-KDE-ServiceTypes=DBUS/InstantMessenger
X-DBUS-StartupType=Unique
X-DBUS-ServiceName=org.kde.konversation

are probably not supposed to be there ;)


True. I guess now you know which desktop file I use to make mine ;)


GenericName and Name ought not be the same... Generic could be something like
Advanced Widget and Window Decoration Settings.


Clear. Thanks !


Icon probably should be start-here-oxygen.

mmm. I'm confused. There is no start-here-oxygen.png icon in themes, 
whereas there is an oxygen.png icon (well, in oxygen theme). But maybe I 
should rather ship the icon (and install) with the application ?



General note about the Settings category: I think in a default setup only
SystemSettings is listed in Settings (which will not make it show up in the
menu at all), adding another application entry to the Settings category will
make it show up in the menu... a menu with 2 entries (of which one is already
listed by default in kickoff favorites *and* the kickoff computer tab) seems
like bad default appearance to me *shrug*

Fine with me (and I agree about your concern).
Any better Categories suggestion ? (or alternatively, where do I find 
the list of available Categories) ?


Even a KDE;Application;Misc would suit me.

I want the application to appear in the menu, but do not care about how 
visible it is (and it should definitely not be as visible as 
system-settings).



Hugo



Re: OpenPrinting Summit - Print Dialog and Colour Management

2011-03-16 Thread Hugo Pereira Da Costa
On Wednesday 16 March 2011 19:55:48 todd rme wrote:
 On Wed, Mar 16, 2011 at 1:44 PM, John Layt johnl...@googlemail.com wrote:
  Hi,
  
  I'll be attending the OpenPrinting Summit [1] to discuss how to complete
  the Common Printing Dialog [2] and integrate it into KDE and Qt.  I'm
  looking for any feedback people may have about the CPD, and any
  questions you want me to ask while I'm there.
  
  The CPD is a common print dialog implementation in Qt and Gtk that gets
  called via DBus.  The dialog includes a preview image, more
  user-friendly options, better driver integration, and settings
  management.  Most programs will simply print their entire document to
  PDF and pass the file to the CPD and not have any more involvement, but
  there is a callback mode for longer multi-page documents to use.
  
  We will obviously need new API to wrap the new workflow and
  functionality, which I think should be a stand-alone Qt-based library
  until such time as Qt can be convinced to integrate it natively.  This
  library will also need to provide fallback functionality to use the
  native Qt print dialog for when the CPD is not present, such as on
  Windows and OSX.  Otherwise apps will need to code for two different
  print paths depending on the platform which is not desirable.
  
  You can have a play with the dialog in its current rough and ugly state
  at [3].  OpenPrinting have a GSoC project to finish the dialog this year
  which I've promised to help advertise.  It would be great if we could
  find a good Qt gui hacker to make it really shine.
  
  Also on the agenda is integrated end-to-end Colour Management possibly
  using colord [4], something I know absolutly nothing about, so any
  feedback or suggestions people have on that will be very welcome.  For
  starters the dependencies for colord are glib and policykit.
  
  The OpenPrinting Summit is part of the Linux Foundation Collaboration
  Summit immediately following Camp KDE, so if you're attending and want
  to be involved in either of these areas please let me know, backup on
  the more technical aspects would be welcome.
  
  Cheers!
  
  John.
 
 Are there screenshots of the most recent version available?
 

Just made these: 
http://simplest-image-hosting.net/png-0-cpd

Left: Qt
Right: gtk

Hugo

 -Todd


Re: OpenPrinting Summit - Print Dialog and Colour Management

2011-03-16 Thread Hugo Pereira Da Costa
On Wednesday 16 March 2011 19:55:48 todd rme wrote:
 On Wed, Mar 16, 2011 at 1:44 PM, John Layt johnl...@googlemail.com wrote:
  Hi,
  
  I'll be attending the OpenPrinting Summit [1] to discuss how to complete
  the Common Printing Dialog [2] and integrate it into KDE and Qt.  I'm
  looking for any feedback people may have about the CPD, and any
  questions you want me to ask while I'm there.
  
  The CPD is a common print dialog implementation in Qt and Gtk that gets
  called via DBus.  The dialog includes a preview image, more
  user-friendly options, better driver integration, and settings
  management.  Most programs will simply print their entire document to
  PDF and pass the file to the CPD and not have any more involvement, but
  there is a callback mode for longer multi-page documents to use.
  
  We will obviously need new API to wrap the new workflow and
  functionality, which I think should be a stand-alone Qt-based library
  until such time as Qt can be convinced to integrate it natively.  This
  library will also need to provide fallback functionality to use the
  native Qt print dialog for when the CPD is not present, such as on
  Windows and OSX.  Otherwise apps will need to code for two different
  print paths depending on the platform which is not desirable.
  
  You can have a play with the dialog in its current rough and ugly state
  at [3].  OpenPrinting have a GSoC project to finish the dialog this year
  which I've promised to help advertise.  It would be great if we could
  find a good Qt gui hacker to make it really shine.
  
  Also on the agenda is integrated end-to-end Colour Management possibly
  using colord [4], something I know absolutly nothing about, so any
  feedback or suggestions people have on that will be very welcome.  For
  starters the dependencies for colord are glib and policykit.
  
  The OpenPrinting Summit is part of the Linux Foundation Collaboration
  Summit immediately following Camp KDE, so if you're attending and want
  to be involved in either of these areas please let me know, backup on
  the more technical aspects would be welcome.
  
  Cheers!
  
  John.
 
 Are there screenshots of the most recent version available?
 

Just made these: 
http://simplest-image-hosting.net/png-0-cpd

Left: Qt
Right: gtk

Hugo

 -Todd


Re: Merge or Cherry-Pick?

2011-02-03 Thread Hugo Pereira Da Costa
On Thursday 03 February 2011 13:04:18 Johannes Sixt wrote:
 Am 2/3/2011 12:15, schrieb Hugo Pereira Da Costa:
  So I git cloned KDE/4.6 into some local branch (git checkout KDE/4.6; git
  checkout -b toolbuttons), then fix, then test.
  
  Now I want to merge to the KDE/4.6 branch; thats easy.
  
  Then I want to merge to master (or to some local branch cloned from
  master and then from there to master). As already announced in this
  thread, this results in tons of conflicts (notably many .desktop files).
 
 Before anybody begins to work in this way, someone with sufficient
 knowlege must introduce the first real merge of the 4.6 branch into the
 master branch. The conflicts must be resolved; or it is possible to punt
 by using -s ours.
 
 As long as this merge did not happen, anyone who wants to use the merge
 workflow is at a loss, unfortunately.
 
  I do: git merge -X ours toolbuttons
  Is that the correct action to take ?
 
 No. Perhaps you meant 'git merge -s ours toolbuttons',

No, I really meant

 git merge -X ours toolbuttons

which I believe, is equivalent to 

  git merge -s recursive -X ours toolbuttons

and which, according to the documentation (and confirmed by my test), would 
pick my changes if there is no conflict, and keep the master branch source, 
in case of conflict. 

Which, in my case, is exactly what I need (since there is no conflict with 
oxygenstyle.cpp).

Anyway, I agree with you, I'm not that confident with the merge part itself, 
and will follow your advice, by just waiting. 

My understanding is also that people should refrain from cherry-picking before 
this original merge happens, cause that would only make it more painful. 

Correct ?



 but even that would
 be wrong because it would ignore your changes that you made in the 4.6
 branch - but this defeats the purpose of the merge.
 
  Or should I give up and cherry-pick ? (I'd really like not to).
 
 My recommendation: Keep the fix in 4.6 only for the moment. Just wait
 until the initial merge has happened - and lets hope (HOPE BIG TIME) that
 the person doing that merge knows what s/he is doing!
 
 Hannes


RESOLVED vs CLOSED

2011-01-15 Thread Hugo Pereira Da Costa
Hello all,
sorry for this newbye question.
I was pointed out that RESOLVED bugs on bugs.kde.org can be further tagged as 
CLOSED. ... which I did not know.

Right now, there are 432 bug reports related to oxygen which are RESOLVED, but 
not CLOSED. 

What exactly is the policy on tagging them as CLOSED, with respect to RESOLVED 
? (so far I've been using the second pretty much in place of the first) 

Should I go through all of them and CLOSE them ? Or just the ones that are 
only FIXED, or INVALID, or UPSTREAM ? 

Thx,

Hugo 


Re: system-settings color change vs Qt (non-kde) apps

2011-01-04 Thread Hugo Pereira Da Costa
On Tuesday, January 04, 2011 09:05:13 pm Albert Astals Cid wrote:
 A Dimarts, 4 de gener de 2011, Hugo Pereira Da Costa va escriure:
  Hello all,
  
  Here, when I change the color scheme in kde's system-settings, the change
  is propagated properly to KDE apps, but not to Qt (non-kde) applications
  (like, for instance QGit, and other applications of mine). I believe this
  is due to differences between QApplication and KApplication (correct ?)
  
  Experimenting locally, I found out that if in oxygen's style I connect to
  kglobalsettings changes, and explicitely call
  
  KGlobal::config()-reparseConfiguration();
  
  there, then the above gets fixed. I believe however that this is not
  quite acceptable, since obviously reparseConfiguration would be called
  twice for kde apps (correct ?).
  
  So. Does anyone have advice/insight on what we can do about it ? e.g.:
  
  - leave the situation as it is now ? (meaning that whenever you change
  color scheme you have to restart every Qt app you have, to get the right
  color changes, which I believe is unfortunate.
  
  - hack oxygen (in a way similar/better than the above, if possible)
  
  - leave that upstream to Qt (?)
 
 I'd say this should be added to kdebase/workspace/qguiplatformplugin_kde
 

Sounds promising, I'll have a look and will post review request if I come up 
with something.

Thanks for the info !

Hugo

 Albert
 
  Thanks in advance,
  
  Hugo