<div dir="ltr"><img width="0" height="0" class="mailtrack-img" alt="" style="display:flex" src="https://mailtrack.io/trace/mail/188029656c4d57d69a8b4c92ac24c7209d92e0a0.png?u=1477559"><div></div>Hi Kanchan,<div><br></div><div>Welcome to the project Okular! KDE Community greets you :)</div><div><br></div><div>1. You should have an intermediate programming experience in C++ ranging from basic variables and iterations to class and objects. If you know about the basic constructs in C++ including functions then you can begin to contribute! You can learn about the classes and objects, templates etc by going through the quick tutorials when required as on the way. I would suggest you to follow a cpp tutorial online and learn by coding the samples on the way. Compile and build your code from the terminal using g++ and/or make. If you want to use an IDE, use eclipse.</div><div><br></div><div>2. Regarding Qt, the Qt docs are apt. You should only know the mechanism of signals and slots which you can learn here [0]. This should be done after gaining some experience in C++. Rest, you can search for the functions and their signatures and return types on the docs.</div><div>Do some sample Qt programming in the latest Qt 5 using QtCreator IDE.</div><div><br></div><div>3. Use Linux with KDE desktop environment installed. Don't use windows. The best OS, in my opinion, is kubuntu. Forget the mouse and the GUI and work on the terminal. Use the commands frequently, don't memorize them and eventually you will get used to them. You can google for the commands anytime but also try to notice what and how it is doing.</div><div><br></div><div>4. Learn git. Install git into your system and learn the basics of commits, branches, rebase etc. A quick overview of git is here [1]. You should read the first 3 chapters of this book [2].</div><div><br></div><div>5. Learn a bit about cmake and how to build the projects using cmake. The best tutorial is on its official website [2]. Build a sample Qt project using cmake.</div><div><br></div><div>6. Now after going through all of them, which I think would take a couple of weeks for the absolute beginner, it's your time to build Okular from the source. This is your first task towards contributing to Okular. Follow [4]. If stuck, message on #okular channel on IRC freenode or send a quick mail here.</div><div><br></div><div>7. After building okular from the source, your next task is to pick up a junior job. Go to [5], create an account, search for the junior jobs in Okular and begin with hacking into the codebase. Submit your first patch on [6].</div><div><br></div><div>Hope it helps!</div><div><br></div><div>Cheers</div><div>Dileep</div><div><br></div><div><br></div><div>[0] <a href="http://doc.qt.io/qt-5/signalsandslots.html">http://doc.qt.io/qt-5/signalsandslots.html</a></div><div>[1] <a href="https://try.github.io/">https://try.github.io/</a></div><div>[2] <a href="https://git-scm.com/book/en/v2">https://git-scm.com/book/en/v2</a><br>[3] <a href="https://cmake.org/cmake-tutorial">https://cmake.org/cmake-tutorial</a><br>[4] <a href="https://okular.kde.org/download.php#okular">https://okular.kde.org/download.php#okular</a></div><div>[5] <a href="http://bugs.kde.org">bugs.kde.org</a></div><div>[6] <a href="http://phabricator.kde.org">http://phabricator.kde.org</a></div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, Aug 4, 2018 at 7:07 PM Kanchan K <<a href="mailto:kanchankarippara@gmail.com">kanchankarippara@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,</div><div>My name is Kanchan.I have been using Okular for a while now.As I'm also a developer,I thought I would try my hand on contributing to Okular.</div><div><br></div><div>I have mostly been a web developer so far,so I do not have much experience with C++ and I have never done any Qt development.</div><div>It would be helpful if someone would suggest some other tasks which I could start with.</div><div><br></div><div>Thanks,</div><div>Kanchan K<br></div></div>
</blockquote></div>