[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Review Request: Present Windows TabBox Layout + key navigation in TabBox
From:       Martin_Gräßlin <kde () martin-graesslin ! com>
Date:       2012-03-22 14:37:05
Message-ID: 20120322143705.5921.44845 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


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

(Updated March 22, 2012, 2:37 p.m.)


Review request for kwin and Aurélien Gâteau.


Changes
-------

Updated the layout to match proposal a:
* no longer bold text
* icon grouped with text

I decided to not use any bold text as bold text made the text and icon jump around \
when the item got selected. Proposal b is hard to impossible to implement as I don't \
know in the layout where the borders of the thumbnail will be rendered.


Description
-------

This is a multi commit review request (yes I'm also lazy;-)

@Aurélien: I added you to the request as you recently had shown interest in the QML \
switchers. So any comments on this new layout are appreciated.

I consider this layout as a good replacement for the old box-switch effect showing \
all thumbnails but just in a much better way. And I am thinking about whether this \
could be a good default.

Present Windows like Window Switcher layout
    
This layout is intended to replace the TabBox mode in Present Windows effect.
The advantages of a layout over the effect are:
* works without compositing
* supports multi-screen in a better way (windows don't move)
* is an overlay on top of the windows instead of reusing the windows
* is not a hack inside the actual effect
* visually consistent with other layouts

Add proper key navigation to layout based window switchers
    
The grabbed key events inside TabBox are forwarded to the declarative view which \
passes it to the normal keyPressedEvent() method. This allows the QML files to handle \
keyboard navigation themselves.  
The views support key navigation natively, though this cannot be used as we need to \
update the ModelIndex when a new item is selected. Also there seems to be a problem \
if the tabbox is shown again, in that case the focus seems to be somehow lost. \
Because of that the navigation is handled in the Item embedding the list.


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


Diffs
-----

  kwin/tabbox/qml/clients/thumbnails/contents/ui/main.qml a0bb073 
  kwin/tabbox/qml/tabbox.qml dd8cc09 
  kwin/tabbox/tabbox.cpp f0e745f 
  kwin/tabbox/tabboxhandler.h 1a2a0c6 
  kwin/tabbox/tabboxhandler.cpp e91ea71 
  kwin/tabbox/qml/clients/text/contents/ui/main.qml 669a541 
  kwin/tabbox/qml/clients/present_windows/metadata.desktop PRE-CREATION 
  kwin/tabbox/qml/IconTabBox.qml f2b3eab 
  kwin/tabbox/qml/clients/compact/contents/ui/main.qml 9504789 
  kwin/tabbox/qml/clients/informative/contents/ui/main.qml 9ec8757 
  kwin/tabbox/qml/clients/present_windows/contents/ui/main.qml PRE-CREATION 
  kwin/tabbox/declarative.cpp a470fe8 
  kwin/tabbox/qml/CMakeLists.txt d6771e0 
  kwin/tabbox/declarative.h 28b8a74 
  kwin/kcmkwin/kwintabbox/main.h b178371 
  kwin/kcmkwin/kwintabbox/main.cpp b13993d 
  kwin/effects/presentwindows/presentwindows.h 4073ee6 
  kwin/effects/presentwindows/presentwindows.cpp f3159c0 

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


Testing
-------


Thanks,

Martin Gräßlin


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/104357/">http://git.reviewboard.kde.org/r/104357/</a>
  </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for kwin and Aurélien Gâteau.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated March 22, 2012, 2:37 p.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
                break-word;">Updated the layout to match proposal a:
* no longer bold text
* icon grouped with text

I decided to not use any bold text as bold text made the text and icon jump around \
when the item got selected. Proposal b is hard to impossible to implement as I \
don&#39;t know in the layout where the borders of the thumbnail will be \
rendered.</pre>  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">This is a multi commit review request (yes I&#39;m also lazy;-)

@Aurélien: I added you to the request as you recently had shown interest in the QML \
switchers. So any comments on this new layout are appreciated.

I consider this layout as a good replacement for the old box-switch effect showing \
all thumbnails but just in a much better way. And I am thinking about whether this \
could be a good default.

Present Windows like Window Switcher layout
    
This layout is intended to replace the TabBox mode in Present Windows effect.
The advantages of a layout over the effect are:
* works without compositing
* supports multi-screen in a better way (windows don&#39;t move)
* is an overlay on top of the windows instead of reusing the windows
* is not a hack inside the actual effect
* visually consistent with other layouts

Add proper key navigation to layout based window switchers
    
The grabbed key events inside TabBox are forwarded to the declarative view which \
passes it to the normal keyPressedEvent() method. This allows the QML files to handle \
keyboard navigation themselves.  
The views support key navigation natively, though this cannot be used as we need to \
update the ModelIndex when a new item is selected. Also there seems to be a problem \
if the tabbox is shown again, in that case the focus seems to be somehow lost. \
Because of that the navigation is handled in the Item embedding the list.</pre>  \
</td>  </tr>
</table>




<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=291916">291916</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>kwin/tabbox/qml/clients/thumbnails/contents/ui/main.qml <span style="color: \
grey">(a0bb073)</span></li>

 <li>kwin/tabbox/qml/tabbox.qml <span style="color: grey">(dd8cc09)</span></li>

 <li>kwin/tabbox/tabbox.cpp <span style="color: grey">(f0e745f)</span></li>

 <li>kwin/tabbox/tabboxhandler.h <span style="color: grey">(1a2a0c6)</span></li>

 <li>kwin/tabbox/tabboxhandler.cpp <span style="color: grey">(e91ea71)</span></li>

 <li>kwin/tabbox/qml/clients/text/contents/ui/main.qml <span style="color: \
grey">(669a541)</span></li>

 <li>kwin/tabbox/qml/clients/present_windows/metadata.desktop <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>kwin/tabbox/qml/IconTabBox.qml <span style="color: grey">(f2b3eab)</span></li>

 <li>kwin/tabbox/qml/clients/compact/contents/ui/main.qml <span style="color: \
grey">(9504789)</span></li>

 <li>kwin/tabbox/qml/clients/informative/contents/ui/main.qml <span style="color: \
grey">(9ec8757)</span></li>

 <li>kwin/tabbox/qml/clients/present_windows/contents/ui/main.qml <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>kwin/tabbox/declarative.cpp <span style="color: grey">(a470fe8)</span></li>

 <li>kwin/tabbox/qml/CMakeLists.txt <span style="color: grey">(d6771e0)</span></li>

 <li>kwin/tabbox/declarative.h <span style="color: grey">(28b8a74)</span></li>

 <li>kwin/kcmkwin/kwintabbox/main.h <span style="color: grey">(b178371)</span></li>

 <li>kwin/kcmkwin/kwintabbox/main.cpp <span style="color: grey">(b13993d)</span></li>

 <li>kwin/effects/presentwindows/presentwindows.h <span style="color: \
grey">(4073ee6)</span></li>

 <li>kwin/effects/presentwindows/presentwindows.cpp <span style="color: \
grey">(f3159c0)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/104357/diff/" style="margin-left: \
3em;">View Diff</a></p>




  </td>
 </tr>
</table>




  </div>
 </body>
</html>



_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic