Expand Peruse Creator's Abilities
Peruse is a free and open source comic book reader application by KDE. The application includes a tool called Peruse Creator which is designed to create comic books for use with Peruse and other readers. Peruse has support from Advanced Comic Book Format(ACBF), which is a metadata container for comic book archives.
The Peruse Creator tool is one of Peruse’s special features. The Creator is currently very simple. It only allows the user to create CBZ comic book archives annotated with details such as authors, publisher information, characters and so on. It does not support the text layers system ACBF proposes for comic book navigation and presentation system.
Mentor:Dan Leinir Turthra Jensen ([email protected], IRC: leinir, Telegram and twitter: @leinir)
Community Bonding Period
During the period, I started with understanding and analysing the PeruseCode base and tested the application against various cases (different comic books). The first part of my project aims at creating a capable image editor for PeruseCreator.With the help of my mentor, I made a plan containing the features of the Editor to be made. I read various documentations of various similar projects so as to increase my knowledge and studied QML to a greater extent for the GUI development. I have also tried small implementations using QML also for better understanding. Apart from all these the bonding period was very useful for me for interacting with my Mentor and making good communication with the community and understanding the code base well.
== Coding Period -Phase one(May 14th to June 13th) ==
Designing the Editor Component
The works for the Editor which is supposed to have an Editing and Viewer component which will be totally completed and implemented at the end of the Second Phase has started. The GUI for the Editing component is designed using QML. The UI follows the simple and minimalistic design and packs many capabilities. As of now the Editor Contains a ToolBar and supports Layers which are the two main aspects of an image editor. Furthermore, a colour palette and more editing tools shall be integrated into the component. As of now, I made a GUI for the Layer canvas including controls for "Adding a Layer", Deleting a Layer", "Changing the Layer order".The QML design is shown below.
After the Layer canvas, GUI was over I moved over to the ToolBar.The ToolBar now Includes a PenTool, EraserTool, CropTool, and a SelectTool.
After working out with the GUI for a while I started working on the backend (c++) for all these components. First of all, rather than creating everything together at once, I began to complete small tasks one by one and putting them up together at the end like a "Divide and Conquer" approach. So the Editor as the whole component will be ready in working condition only at the end. As of now, the subtasks are completed to almost half. The "PenTool", "Eraser tool" , "ImageCanvas" and Layer Functions are now completed separately. The files are uploaded to my personal repository in the GitHub for sharing with the mentor. The Editor is now in a Beta Stage, the files are now Scattered ones only as the interlinking will only be done after the subtasks are completed and further a bugless and capable component fully after testing will be only integrated to Peruse main branch.