[Okular-devel] Review Request: Allow the page number selector to be docked in a toolbar

Albert Astals Cid tsdgeos at terra.es
Sun Jan 22 21:35:05 UTC 2012



> On Jan. 22, 2012, 7:12 p.m., Albert Astals Cid wrote:
> > Hi, me again, sorry for the delay.
> > 
> > I find the current implementation a bit confusing user-wise since i can have the "Page number" toolbar shown and no "Page number" toolbar is really visible at all since the other page widget is visible.
> > For that i'm suggesting two solutions:
> >  a) Do not force the limit of only one minibar available, so the user can have none, one or two page widgets visible
> >  b) Uncheck the "Page number" toolbar action when the "old" page widget is visible, and then if somebody checks it, toggle it back
> > 
> > The option b) looks difficult-ish since you'd probably have to do quite a bit of xml-gui vodoo to make it work nicely, so i'm leaning towards a)
> > 
> > What do you think?
> 
> Jonathan Marten wrote:
>     No objection to doing (a), since that would avoid all of the user confusion with only one of the tool and page bar being able to be shown at any time.  It will slightly complicate the MiniBar implementation, the intended observerId() will have to be specified to its constructor instead of being hardwired in minibar.h.  With that being available, two MiniBar's can be created for the page bar and for the tool each with a unique ID.  If this is acceptable in terms of code complexity and BC then I will work on the changes.
>
> 
> Albert Astals Cid wrote:
>     Why do you need two different observed id? After all even if it's two "different" widgets they are basically "mirrors" one of the other, i think it should be doable with just one observer id.
> 
> Jonathan Marten wrote:
>     Because of Document::addObserver(DocumentObserver *pObserver), which stores the pObserver in a QMap indexed by the observerId.  So adding a second observer with the same observerId as one already existing will overwrite the first.
>     It could do an insertMulti() into the map, but then many more changes would be needed in Document to handle this.

Or you could decouple the logic of the minibar from the widget itself, sharing the same logic for both of the widgets, that would make sense imho, but it's probably more work than you were expecting, what do you think? i'm not totally against adding a new observer id but i'd like to avoid it unless totally necessary


- Albert


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


On Dec. 28, 2011, 8:21 p.m., Jonathan Marten wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/103427/
> -----------------------------------------------------------
> 
> (Updated Dec. 28, 2011, 8:21 p.m.)
> 
> 
> Review request for Okular.
> 
> 
> Description
> -------
> 
> The bug (and duplicates) suggests that the page bar which normally appears at the bottom of the Okular window could be docked in the toolbar, in order to save vertical screen space which is especially useful on a wide screen.  This patch implements that.
> 
> There can only be one MiniBar in existence, because of the fixed observer ID (which must be unique).  So the page tool only appears in the toolbar if the page bar is hidden;  if it is shown, then the page number and size label appears there as before.  The MiniBar is reparented in Part::slotShowBottomBar() when the page bar is shown or hidden.
> 
> The page tool is placed in its own toolbar by default, so that it can be positioned or floated in accordance with the user's preference.
> 
> There are GUI changes and a new I18N string, so this change (if accepted) would be targeted at KDE SC 4.8.1 or later.
> 
> 
> This addresses bug 279128.
>     http://bugs.kde.org/show_bug.cgi?id=279128
> 
> 
> Diffs
> -----
> 
>   part.rc 33d3829 
>   part.cpp b3b4234 
>   part-viewermode.rc dbd8e42 
>   part.h cae5af0 
> 
> Diff: http://git.reviewboard.kde.org/r/103427/diff/diff
> 
> 
> Testing
> -------
> 
> Built Okular from master with these changes.  Checked operation in both embedded and standalone modes with page bar shown or not, with a variety of PDF files.
> 
> 
> Screenshots
> -----------
> 
> With page bar shown
>   http://git.reviewboard.kde.org/r/103427/s/372/
> With page bar hidden
>   http://git.reviewboard.kde.org/r/103427/s/373/
> 
> 
> Thanks,
> 
> Jonathan Marten
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20120122/6a412dbb/attachment.html>


More information about the Okular-devel mailing list