Review Request: Document switcher plugin improvement

Jarosław Sierant jaroslaw.sierant at gmail.com
Tue Dec 11 17:46:31 UTC 2012



> On Dec. 9, 2012, 3:30 p.m., Andreas Pakulat wrote:
> > plugins/documentswitcher/documentswitcherplugin.cpp, line 117
> > <http://git.reviewboard.kde.org/r/107628/diff/2/?file=97530#file97530line117>
> >
> >     Isn't there an itemview method to resize contents to the needed size?
> 
> Jarosław Sierant wrote:
>     I'm not sure if I understand you correctly. I want to automatically resize window to content not opposite.
>     I have no big experience in QT programming but I couldn't find an easy solution.
>     
>     There is a problem to get correct size of the list view item.
>     In current implementation sizeHint is incorrect (Qt do not calculate size on its own).
>     So I have to calculate it manually based on the content.
>     I use it to resize the window.
>     
>     I can reimplement sizeHint method in DocumentSwitcherTreeView class (it would be the pretty solution).
>     But there will be additional loop to calculate proper width.
>     What do you think about it?
> 
> Andreas Pakulat wrote:
>     I actually think having some maximum size significantly smaller than the screen would be better. In fact I'd say the popup shouldn't be larger than the document view to better indicate that this popup is related to the documents and not all of the IDE.
>     
>     In addition I think its important to have both, the window adjust to the content and vice-versa, but that might be quite a bit more involved.
>     
>     Anyway, as the code currently uses QListView there is indeed no easy way to let the view resize its column to match the contents and then resize the view to the column width. An easy way to fix that would be replacing the QListView base class with QTreeView which has a header and at least one column and thus can be told to resize the column to the contents of the column. Then you can get the column width and ensure the its not too wide. After that is done resize the column back to the width of the view in case its still wider to get the elided text from the view automatically.

I will change QListView to QTreeView with 3 columns (Icon, File Name, path) and provide new diff.

I though about it but I did not want to make too much changes in first commit :).


- Jarosław


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


On Dec. 7, 2012, 5:25 p.m., Jarosław Sierant wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/107628/
> -----------------------------------------------------------
> 
> (Updated Dec. 7, 2012, 5:25 p.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Description
> -------
> 
> Document switcher window width is automatically calculated base on content (auto adjust to longest item). Current screen width is upper bound of the window width.
> 
> Code duplication has been removed (methods walkForward/walkBackward).
> 
> A path to the file on items list can be truncated if it is too long (threshold=80).
> 
> 
> Diffs
> -----
> 
>   plugins/documentswitcher/documentswitcherplugin.h 0924e81 
>   plugins/documentswitcher/documentswitcherplugin.cpp d457a5a 
> 
> Diff: http://git.reviewboard.kde.org/r/107628/diff/
> 
> 
> Testing
> -------
> 
> Only manual tests are done.
> 
> 
> Thanks,
> 
> Jarosław Sierant
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20121211/79cb5fa9/attachment-0001.html>


More information about the KDevelop-devel mailing list