(GPLv3/C++/Qt5) front-end used to read texts with annotations
C++ Makefile Python QMake Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
art
cppdipylon
mini_project
py_ui
.gitignore
README
dipylonreader.project

README

(C++/Qt5) front-end used to read texts with some annotations

TODO
* si type apparaît dans main.xml sans être défini, boom

[ui]
- téléchargement des .dipydocs : faire apparaître la fenêtre avec la barre de progression.
- téléchargement des .dipydocs : faire apparaître le curseur souris de l'attente.
- supprimer le bouton stop du mode audio
- permettre de choisir la taille des flèches (= multiple de la taille indiquée dans le fichier main.xml; x1, x2, x3)
- ouvrir le(s) dernier(s) fichier(s) ouverts
- (ui)menu contextuel avec espace
- (ui)ouvrir la liste des documents disponibles dès le lancement.
- (ui)icône hidetoolbar : reprendre les couleurs de la toolbar.
- créer une entrée dans les menus où le splashscreen est autorisé/interdit, afin de modifier : this->display_splashscreen == true
- [ui] flèche gauche, flèche droite : passer d'un segment à l'autre (+first pos, +last pos)
- [ui] Menu : informations sur le dipydoc
- [ui] faire pivoter les fenêtres : bouton ou dragable (cf QDockWidget)
- [ui] si zone de traduction horizontale, placer la traduction à la même hauteur que le le texte traduit.
- [ui/tablette] bouton Menu (en haut à gauche ? un gros point ?)
- [ui] mute/volume slider (http://qt-project.org/doc/qt-5/qtwidgets-widgets-sliders-example.html)
- [ui] -/+ taille du texte
- [ui] interface jeunes enfants : grosses icônes + gros curseur souris.
- [ui] menu contextuel click droit
- [ui] justify ne fonctionne pas (au moins sur Linux)

[+]
- doc. achetés : Fichier>télécharger doc. acheté avec le n° du doc. acheté.
- permettre des variantes dans le texte.
- vector of DipyDocTranslation + current_translation (plusieurs traductions possibles, ...)
- document image (http://qt-project.org/doc/qt-5/qpixmap.html#details)
- autoriser le format "hh:mm:ss:milliseconds" dans main.xml
- si un textrange renvoie à un caractère au-delà de la longueur du texte, erreur.

[code]
- utiliser save geometry pour conserver/restaurer la pos+taille de la QMainWindow
- plus de pointeurs hors Qt > smart pointers + virer les delete correspondant.
- que faire de bool MainWindow::saveMainFileOfADipyDocAs() ??// READ_AND_WRITE n'est nulle part utilisé.
- réfléchir à la question : le ~/dipydocs est-il complètement nettoyé après un download ? Documenter ce comportement.
- memory leaks : regarder valgrind + g++ -g
- pointeurs const par sécurité partout où c'est possible.
- relire le code : les include sont-ils nécessaires ?
- et si on clique dans l'intro ? comment réagissent les _contains() ?
- dans ... , vérifier que "number", "name" existent :

      if( name == "level" ) {
        current_division = DIPYDOCDIV_INSIDE_LEVEL;
        int     level_number = xmlreader.attributes().value("number").toString().toInt();
        QString level_name = xmlreader.attributes().value("name").toString();
        this->levels[ level_number ] = level_name;
        continue;
      }

[doc]
- (doc)numéroter toutes les connexions (TOUS LES connect()) et faire un dessin.
- (doc)friend class/include/ à relire : sont-ils nécessaires ?
- this->setParent()+this->setName() -> doc.

[crossplaform]
- renommer MXE MXE_Qt5_1
- build : Linux_static/Linux_dynamique/Win32static/Win64static/OSXstatic/IPadStatic/AndroidStatic
- [win] installateur Windows (cf mail de ~)