<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Hi Okular developers!</p>
<p>I am trying to start with KDE development. It is my first open source initiative. I think, Okular is an interesting point to start. My first patch (<a href="https://git.reviewboard.kde.org/r/129773/" target="_blank" rel="noreferrer">https://git.reviewboard.kde.org/r/129773/</a>) was not accepted. Anyway, I carry on.</p>
<p>I think, I could try some code cleanup work. So please let me know if the following idea is welcome.</p>
<p>When I see pageview.cpp, there is an object PageViewPrivate *d. Obviously it is PIMPL. But I cannot see a private implementation. Everything is done in PageView. PageViewPrivate is just a data class. I would like to make PageViewPrivate really a private implementation. I don't know yet how far I can separate PageView and PageViewPrivate. But I think they could have individual responsibles. One is the interface to the outside world and the other is all the implementation details. Following the single-responsibility-principle, I cannot believe that pageview.cpp must have 5000 lines of code.</p>
<p>But one question: Is there a technical reason for hiding all the data in a d-pointer? The code looks as if the author did not want to use a d-pointer but was forced to it.</p>
<p>Best regards!</p>

</body></html>