<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="https://git.reviewboard.kde.org/r/115283/">https://git.reviewboard.kde.org/r/115283/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On January 24th, 2014, 7:24 p.m. UTC, <b>Albert Astals Cid</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I don't think there's any problem with resizing, i'd say it's only your math that is wrong
    int xOffset = pageViewSize.width() - pageSize.width();
    int yOffset = pageViewSize.height() - pageSize.height();
    resize( width() - xOffset, height() - yOffset );
seems to be what you should really be doing, it doesn't perfectly work, but it may just be because the sizes you're using are not the correct.

Also I think this feature only makes sense when you're in non continuous view.
</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Probably the arguments of resize function would be same in both cases ( in yours as well as mine ).
width() - xOffset = width() - pageViewSize.width() + pageSize.width(), when xOffset = pageViewSize.width() - pageSize.width();
pageSize.width() + xOffset = width() - pageViewSize.width() + pageSize.width(), when xOffset = width() - pageViewSize.width();
same in the case of height.

I changed the implementation as you have stated above.

The feature is not working perfectly because the xOffset (width other than pageViewSize) is changing with window's size whereas here xOffset and yOffsets are assumed to be constant. This mostly happens when thumbnails or toc etc. are open. I can't find out a way in which I can get the final size of these side widgets when the window will be resized or some porportionality factor with which there width is changing with respect to the whole window.


But the problem that I have stated above persists on my laptop. Steps to reproduce the problem :-
==> open okular and maximize the window.
==> change the zoom level, preferably very large from the current zoom level or very small.
==> select fit window to page option. Window will be restored but will not be resized.
==> If nothing happens then move the window and then again select fit window to page. Now the window will be resized, even if size of window is changed or the window is maximized.</pre>
<br />










<p>- Saheb</p>


<br />
<p>On January 27th, 2014, 8:21 a.m. UTC, Saheb Preet Singh wrote:</p>








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

<div>Review request for Okular and Albert Astals Cid.</div>
<div>By Saheb Preet Singh.</div>


<p style="color: grey;"><i>Updated Jan. 27, 2014, 8:21 a.m.</i></p>







<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=326844">326844</a>


</div>



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


<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;">okular do not have a feature to resize the current window to the current page size.

The bug is solved upto some extent, the window is resizing as desired.

resize method of qwidget class is used to resize the window.

The window is resizing  as required but sometimes it doesn't resizes . It has to be moved by mouse and then again click on the button in the menu to resize the window again.  Once it is moved by mouse, it works fine. Now, when the zoom level is changed, the problem starts again.

I think the problem occurs due to something happening in the other portion of the code.

I searched about it on the internet and nobody was able to answer the solution to people with same problem. There are some alternative solutions to the problem:-

==> Use set geometry instead of resize which works fine. but would have to be taken care of the size of the screen and the original position of the window. Also, repainting the portion outside the window when the window is resized to a smaller window.

==> Use a timer which will signal a slot which in turn will resize the window, but that might require qsignalmapper to map the width and height to the slot. ( I didn't tried this solution ).

The best solution i could find on the internet is this http://qt-project.org/forums/viewthread/25648

Also, there is one more issue, the fit window to page button in the view menu is enabled by default. It should not be enabled when no document is open. Where should the code for enabling this button should be implemented.
</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;">
tested when
==> window is maximized and restored.
==> thumbnails, table of content are opened and closed.
==> various toolbars are shown and hidden.
==> for all the zoom levels shown in the toolbar and custom zoom level ( example 123.23% ).</pre>
  </td>
 </tr>
</table>


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

 <li>ui/pageview.cpp <span style="color: grey">(65967bf)</span></li>

 <li>shell/shell.cpp <span style="color: grey">(1708501)</span></li>

 <li>ui/pageview.h <span style="color: grey">(9c15af6)</span></li>

 <li>shell/shell.h <span style="color: grey">(c065c56)</span></li>

 <li>part.rc <span style="color: grey">(6b1f44e)</span></li>

 <li>part.h <span style="color: grey">(4b3aafd)</span></li>

 <li>part.cpp <span style="color: grey">(88e2c41)</span></li>

</ul>

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







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








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