TiPhotoLocator 2.2
A tiny application to easily geotag your photos
Chargement...
Recherche...
Aucune correspondance
Référence de la classe SuggestionModel

The SuggestionModel class manages a list of Suggestion. Plus de détails...

#include <SuggestionModel.h>

Graphe d'héritage de SuggestionModel:

Types publics

enum  Roles { TextRole = Qt::UserRole , TargetRole , CategoryRole , PhotosRole }
 The Roles enum lists the roles associated to each attribute of a Suggestion. Plus de détails...

Connecteurs publics

void append (const QString &text, const QString &target, const QString &category, int photo_row=-2)
 Adds a suggestion to the model. Ce slot permet à n'importe qui d'ajouter une Suggestion. Il y a un controle pour éviter les doublons.
void onCurrentPhotoChanged (const int row)
 Ce slot reçoit et mémorise l'indice dans le modèle de la photo courante de la ListView.

Signaux

void folderLocationChanged ()

Fonctions membres publiques

QString folderLocation () const
 SuggestionModel (QObject *parent=nullptr)
 Contructor.
int rowCount (const QModelIndex &parent) const override
 Returns the number of elements in the model.
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 Returns the requested role value of an element of the model.
Qt::ItemFlags flags (const QModelIndex &index) const override
 Retourne les flags Qt d'un élément (éditable, activé, sélectionnable).
QHash< int, QByteArray > roleNames () const override
 Table of Role names.
Q_INVOKABLE void dumpData ()
 Debug function that print (in the console) one line of the model at every call.
Q_INVOKABLE void clear ()
 Deletes all the items of the Model.
Q_INVOKABLE void clearByCategory (const QString &category)
 Supprime toutes les suggestions dont la catégorie contient la chaîne passée en paramètre.
Q_INVOKABLE void setDefaultDateFromFolder (const QString &folderUrl)
 Extrait date, lieu et commentaires du nom du dossier et les ajoute comme suggestions globales. Format attendu : YYYY[-. ]MM[-. ]<lieu>[-. ](<commentaires>) Valeurs par défaut si la date est absente: date courante.
void removeCurrentPhotoFromSuggestion (const QModelIndex index)
 Enlève la Photo courante de la liste des photos correspondant à une Suggestion donnée par son index.
void removeFromSuggestion (const QString target)
 Enlève la Photo courante de la liste des photos correspondant à une Suggestion donnée par sa Target.

Propriétés

QString folderLocation

Fonctions membres privées

void addPhotoToSuggestion (const int suggestion_row, int photo_row)
 Ajoute une Photo à la liste des photos ayant un "match" avec cette Suggestion. La suggestion apparait alors dans la Zone des Suggestions pour cette Photo.
void addCategoryToSuggestion (const int suggestion_row, const QString category)
 Ajoute une catégorie à la Suggestion.
void createInitialSuggestions ()
 Ajoute au modèle quelques suggestions basiques.
void loadKeywordsFromFile (const QString &lang)
 Charge les keywords prédéfinis depuis un fichier ressource (un fichier par langue).
void loadKeywordsFromSettings ()
 Charge les keywords personalisés depuis les settings.

Attributs privés

QVector< Suggestionm_suggestions
 La liste des Suggestion.
int m_currentPhotoRow = -9
 Indice de la photo courante. Valeurs spéciales: -9 = aucune photo | -1 = toutes les photos | -2 = la photo sélectionée.
int m_dumpedRow
 La dernière ligne affichée dans le dump de debug.
QString m_folderLocation
 Le lieu extrait du nom du dossier courant.

Description détaillée

The SuggestionModel class manages a list of Suggestion.


Documentation des énumérations membres

◆ Roles

The Roles enum lists the roles associated to each attribute of a Suggestion.


Documentation des constructeurs et destructeur

◆ SuggestionModel()

SuggestionModel::SuggestionModel ( QObject * parent = nullptr)
explicit

Contructor.


Paramètres
parentobject.

Documentation des fonctions membres

◆ addCategoryToSuggestion()

void SuggestionModel::addCategoryToSuggestion ( const int suggestion_row,
const QString category )
private

Ajoute une catégorie à la Suggestion.


Paramètres
suggestion_row: L'indice de la Suggestion à modifier.
category: La catégorie à ajouter à la Suggestion: "geo" ou "tag".

Si on veut ajouter une catégorie déjà existante: la fonction ne fait rien. Si on veut ajouter une autre catégorie: la catégorie devient "geo|tag" (les deux).

◆ addPhotoToSuggestion()

void SuggestionModel::addPhotoToSuggestion ( const int suggestion_row,
int photo_row )
private

Ajoute une Photo à la liste des photos ayant un "match" avec cette Suggestion. La suggestion apparait alors dans la Zone des Suggestions pour cette Photo.


Paramètres
suggestion_row: L'indice de la Suggestion à modifier.
photo_row: L'indice de la Photo à ajouter à la Suggestion. La valeur spéciale -1 signifie 'toutes les photos'. La valeur spéciale -2 signifie 'la Photo sélectionée'.

◆ append

void SuggestionModel::append ( const QString & text,
const QString & target,
const QString & category,
int photo_row = -2 )
slot

Adds a suggestion to the model. Ce slot permet à n'importe qui d'ajouter une Suggestion. Il y a un controle pour éviter les doublons.


Paramètres
textThe text of the Suggestion.
targetThe name of the Exif tag compatible with this Suggestion.
categoryThe category of the Suggestion ("geo", "tag", "geo|tag")
photo_rowL'indice de la Photo à associer à cette Suggestion. La valeur spéciale -1 signifie 'toutes les photos'. La valeur spéciale -2 signifie 'la Photo courante' (valeur par défaut).

◆ clear()

void SuggestionModel::clear ( )

Deletes all the items of the Model.


On utilise cette fonction quand on scanne un nouveau répertoire de photos.

◆ clearByCategory()

void SuggestionModel::clearByCategory ( const QString & category)

Supprime toutes les suggestions dont la catégorie contient la chaîne passée en paramètre.


Paramètres
category: la catégorie à supprimer, par exemple "geo".

◆ createInitialSuggestions()

void SuggestionModel::createInitialSuggestions ( )
private

Ajoute au modèle quelques suggestions basiques.


◆ data()

QVariant SuggestionModel::data ( const QModelIndex & index,
int role = Qt::DisplayRole ) const
override

Returns the requested role value of an element of the model.


Note
Implémentation obligatoire.
Paramètres
index: index de l'élément dans le modèle.
role: rôle demandé (TextRole, TargetRole, CategoryRole, PhotosRole).
Renvoie
QVariant contenant la valeur, ou QVariant vide si index invalide ou rôle inconnu.

◆ dumpData()

void SuggestionModel::dumpData ( )

Debug function that print (in the console) one line of the model at every call.


◆ flags()

Qt::ItemFlags SuggestionModel::flags ( const QModelIndex & index) const
override

Retourne les flags Qt d'un élément (éditable, activé, sélectionnable).


Paramètres
index: index de l'élément dans le modèle.
Renvoie
Qt::NoItemFlags si index invalide, sinon ItemIsEditable | ItemIsEnabled | ItemIsSelectable.

◆ loadKeywordsFromFile()

void SuggestionModel::loadKeywordsFromFile ( const QString & lang)
private

Charge les keywords prédéfinis depuis un fichier ressource (un fichier par langue).


Paramètres
lang: code de langue ("eng" ou "fre").

◆ loadKeywordsFromSettings()

void SuggestionModel::loadKeywordsFromSettings ( )
private

Charge les keywords personalisés depuis les settings.


◆ onCurrentPhotoChanged

void SuggestionModel::onCurrentPhotoChanged ( const int row)
slot

Ce slot reçoit et mémorise l'indice dans le modèle de la photo courante de la ListView.


Paramètres
rowLa position dans PhotoModel de la photo active.

◆ removeCurrentPhotoFromSuggestion()

void SuggestionModel::removeCurrentPhotoFromSuggestion ( const QModelIndex index)

Enlève la Photo courante de la liste des photos correspondant à une Suggestion donnée par son index.


Paramètres
index: L'index dans le Model de la Suggestion à modifier. Note: la suggestion existe toujours: on a juste enlevé la photo courante de ses photos associées: donc elle n'apparait plus dans la Zone des Suggestions pour cette Photo.

◆ removeFromSuggestion()

void SuggestionModel::removeFromSuggestion ( const QString target)

Enlève la Photo courante de la liste des photos correspondant à une Suggestion donnée par sa Target.


Paramètres
target: la suggestion à enlever, par exemple "city", "country"... Note: la suggestion existe toujours: on a juste enlevé la photo courante de ses photos associées: donc elle n'apparait plus dans la Zone des Suggestions pour cette Photo.

◆ roleNames()

QHash< int, QByteArray > SuggestionModel::roleNames ( ) const
override

Table of Role names.


Note
Implémentation obligatoire.

C'est la correspondance entre le role C++ et le nom de la property dans QML.

Renvoie
Table associant chaque valeur de Roles à son nom exposé en QML.

◆ rowCount()

int SuggestionModel::rowCount ( const QModelIndex & parent) const
override

Returns the number of elements in the model.


Note
Implémentation obligatoire.
Paramètres
parent: index parent (doit être invalide pour un modèle à plat).
Renvoie
Nombre de suggestions dans m_suggestions, ou 0 si parent est valide.

◆ setDefaultDateFromFolder()

void SuggestionModel::setDefaultDateFromFolder ( const QString & folderUrl)

Extrait date, lieu et commentaires du nom du dossier et les ajoute comme suggestions globales. Format attendu : YYYY[-. ]MM[-. ]<lieu>[-. ](<commentaires>) Valeurs par défaut si la date est absente: date courante.


Paramètres
folderUrlURI du dossier (format "file:///...").

La documentation de cette classe a été générée à partir des fichiers suivants :