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

List:       kde-panel-devel
Subject:    Re: Review Request: Add keyboard navigation to plasma applet Folder
From:       Fredrik_Höglund <fredrik () kde ! org>
Date:       2009-03-20 21:07:30
Message-ID: 20090320210730.1668.23018 () localhost
[Download RAW message or body]


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


I have some comments in addition to the coding style issues mentioned by Aaron.


/trunk/KDE/kdebase/apps/plasma/applets/folderview/iconview.h
<http://reviewboard.kde.org/r/368/#comment330>

    This function should be named scrollTo() to match the QAbstractItemView API.
    In my opinion it also belongs in the AbstractItemView class, since it's not view \
specific.  



/trunk/KDE/kdebase/apps/plasma/applets/folderview/iconview.cpp
<http://reviewboard.kde.org/r/368/#comment331>

    A problem with the way this function is implemented is that it assumes that the \
view is always sorted and that the icons always flow from left to right.  
    When the user has rearranged the icons (m_layoutBroken is true), you have to \
assume that the icons are no longer arranged in a grid and that the visual order no \
longer matches the order in the model.  
    When this is the case, and the user has pressed the up key for example, you have \
to iterate over all the icons and find the one that is closest to the current icon \
while still being above it.  



/trunk/KDE/kdebase/apps/plasma/applets/folderview/iconview.cpp
<http://reviewboard.kde.org/r/368/#comment332>

    The implementation of this function suffers from the same problem as the one \
above.  It should also use the smoothScroll() function instead of changing the \
scrollbar value directly.  
    I would implement it by doing something like:
    
    const QRect r = mapFromViewport(visualRect(index));
    if (r.top() < 0) {
        smoothScroll(0, r.top());
    } else if (r.bottom() > geometry().height()) {
        smoothScroll(0, r.bottom() - geometry().height());
    }
    


- Fredrik


On 2009-03-20 10:21:32, Shantanu Tushar Jha wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/368/
> -----------------------------------------------------------
> 
> (Updated 2009-03-20 10:21:32)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> This partly addresses the above bug, adding keyboard navigation and launch using \
> Enter key. Please report if the code is too complex, I've tried my best to keep it \
> to the point. 
> 
> This addresses bug 187241.
> https://bugs.kde.org/show_bug.cgi?id=187241
> 
> 
> Diffs
> -----
> 
> /trunk/KDE/kdebase/apps/plasma/applets/folderview/iconview.h 941694 
> /trunk/KDE/kdebase/apps/plasma/applets/folderview/iconview.cpp 941694 
> 
> Diff: http://reviewboard.kde.org/r/368/diff
> 
> 
> Testing
> -------
> 
> Tested on latest SVN build. Navigation and launch work fine. The problem is with \
> movement of the scrollbar with the keyboard focus, the scrollbar refuses to go to \
> minimum value when m_scrollBar->setValue( m_scrollBar->minimum() ); is used. What \
> am I doing wrong? 
> 
> Thanks,
> 
> Shantanu
> 
> 

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


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

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