Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library should be rewritten in Qt #683

Closed
kelson42 opened this issue Aug 28, 2021 · 8 comments · Fixed by #946
Closed

Library should be rewritten in Qt #683

kelson42 opened this issue Aug 28, 2021 · 8 comments · Fixed by #946
Assignees
Labels
enhancement Qt Qt related UI User Interface
Milestone

Comments

@kelson42
Copy link
Collaborator

kelson42 commented Aug 28, 2021

The library is the view which allows to handle books, locally (when books are already downloaded) or remotely (from the online catalog) to download them. Here is how it looks like.

Local library (with filters):
image

Online library (with filters):
image

Although the whole Kiwix-Desktop software is written in C++, this part is a HTML rendering widget and the details are handled in HTML/JS/CSS with the framework vue.js. The problem with vue.js is that it needs a special effort to keep the visual coherence with the rest of the app in Qt. Actually there is no "real" reason why this part should not be in Qt. We should rewrite it in Qt.

Implementing this ticket is the first part of a larger effort to improve the usability of the library of Kiwix-Desktop which is currently really not good enough. See the project for a broader understanding https://github.com/kiwix/kiwix-desktop/projects/8.

The work to do is to provide something similar (maybe a few things can be changed at that time as well, but this is not the primary goall). The primary goal is to get rid of js/css/html. So, same sidebar and similar filters and on the righ pane the list of books with same features. All the core code is already in C++ in Kiwix-Desktop or Libkiwix, so this is to 90% only a UI work.

Here are the resources to have a look to:

@juuz0
Copy link
Collaborator

juuz0 commented Oct 22, 2021

Is this something which will be done by official people only (thought that because its mentioned in Projects)
or can I give it a shot using QWidget and following the design like shown in InVision

@kelson42
Copy link
Collaborator Author

@juuz0 No, I would be super glad if you could take it. This is actually the main concern I have currently with Kiwix Desktop. Obviously both @mgautierfr and me are here to guide you if needed... but this task is significantly more complex than what you have done so far.

@juuz0
Copy link
Collaborator

juuz0 commented Oct 22, 2021

@kelson42 Yea, I agree this will be significantly more complex but I've the time anyway. Thanks for the assurance with mentorship too, loved working with y'all till now.

I'll be starting soon, going to replicate the UI first then moving on to functionality :)

@juuz0
Copy link
Collaborator

juuz0 commented Oct 25, 2021

So, I'm thinking a QTableWidget/QTableView to display the library contents.
@kelson42 @mgautierfr Thoughts? Are there any other better ways to display

@kelson42
Copy link
Collaborator Author

@juuz0 On my side, as far as it looks like and behaves like in https://github.com/kiwix/kiwix-desktop/wiki/kiwix-desktop-2-concept It is good to me. @mgautierfr more to say?

@mgautierfr
Copy link
Member

I wonder if QML/QtQuick could be a solution here.
I know a very little about QML (mainly the main principles/behaviors) so it is maybe a wrong idea.
It would be nice to have a pro/cons comparison. (And the main question is : is it possible to have QML "widget" inside a Qt "cpp" widget)

Else, QTable* is probably a good idea if we stick to "cpp" widgets.

@stale
Copy link

stale bot commented Jun 13, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.

1 similar comment
@stale
Copy link

stale bot commented Aug 14, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.

@stale stale bot added the stale label Aug 14, 2022
@stale stale bot removed the stale label Jul 1, 2023
@kelson42 kelson42 added this to the 2.4.0 milestone Jul 1, 2023
@kelson42 kelson42 unpinned this issue Aug 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Qt Qt related UI User Interface
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants