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

The PhotoModel class manages a list of photo data. Plus de détails...

#include <PhotoModel.h>

Graphe d'héritage de PhotoModel:

Types publics

enum  Roles {
  FilenameRole = Qt::UserRole , ImageUrlRole , LatitudeRole , LongitudeRole ,
  HasGPSRole , IsCurrentRole , IsSelectedRole , IsMarkerRole ,
  IsWelcomeRole , InsideCircleRole , ToBeSavedRole , DateTimeOriginalRole ,
  CamModelRole , MakeRole , ImageWidthRole , ImageHeightRole ,
  OrientationRole , ShutterSpeedRole , FNumberRole , CreatorRole ,
  CityRole , CountryRole , LocationRole , DescriptionRole ,
  CaptionWriterRole , SoftwareRole , KeywordsRole
}
 The Roles enum lists the roles associated to each attribute of a Photo. Plus de détails...

Connecteurs publics

void append (const QString filename, const QString url)
 Adds a Photo to the model, with just a name and a path (url). Other data should be filled later, from exif metadata.
void appendSavedPosition ()
 Ajoute une entrée spéciale dans le Modèle, correspondant à une position GPS mémorisée (marker jaune). Ses coordonnées GPS sont celles de la photo sélectionnée.
void fetchExifMetadata (int row=-1)
 Ce slot lit des données EXIF d'une (ou de toutes les) photos du répertoire, en utilisant la tache asynchrone ExifReadTask. A la fin de chaque lecture, la tache appelle setData().
void saveMetadata ()
 Ce slot écrit dans les fichiers JPG (de façon asynchrone) les metadonnées IPTC des photos qui ont été modifiées. Ce slot est connecté au signal QML saveMetadata émis par ToolBarBottom.
void setData (int row, QString value, QString property)
 Ce slot ajoute ou modifie une propriété d'une Photo, par exemple quand on clique sur une suggestion.
void setInCircleItemCoords (const double latitude, const double longitude)
 Ce slot affecte les coordonnées GPS fournies à toutes les photos géographiquement situées à l'interieur du cercle rouge.
void setPhotoProperty (const int photo, const QString value, const QString property)
 Ce slot affecte le role fourni à toutes les photos demandées.
void applyCreatorToAll ()
 Applique le "photographe" à toutes les photos du modèle.
void removeSavedPosition ()
 Supprime du modèle l'item correspondant à la position sauvegardée.
void duplicateData (int row)
 Duplicates an item of the model, and add it at the end of the vector.
void removeData (int row)
 Fonction typique qui supprime l'item désigné du modèle.

Signaux

void sendSuggestion (QString text, QString target, QString category, int row)
 Ce signal envoie une Suggestion au SuggestionModel.
void writeProgressChanged ()
 Ce signal est émis chaque fois qu'une nouvelle donnée Exif est écrite dans un JPG.
void currentItemRowChanged (const int row)
 Signal émis quand la Photo courante change.
void currentItemCoordsChanged ()
 Signal émis quand les coordonnées GPS de la Photo courante changent.
void currentItemHasGPSChanged ()
 Signal émis quand le flag hasGPS de la photo courante change.
void dataCleared ()
 Signal émis quand le modèle a été vidé.
void dataSaved ()
 Signal émis quand les données ont été enregistrées sur le disque.
void firstCoordsReady ()
 Signal émis quand les coordonnées GPS de la première photo sont disponibles.
void savedPositionExistsChanged ()
 Signal émis quand une SavedPosition est créée ou supprimée.
void loadingChanged ()
 Signal émis quand le status loading change.
void selectionCountChanged ()
 Signal émis quand le nombre de photos sélectionnées change.

Fonctions membres publiques

 PhotoModel (QObject *parent=nullptr)
 Constructor. Just add the welcome item in the list. If the debug mode is active, a second item is added for testing purpose.
int rowCount (const QModelIndex &parent) const override
 Returns the number of items in the model.
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 Returns the role value of an element of the model.
Qt::ItemFlags flags (const QModelIndex &index) const override
 PhotoModel::flags.
QHash< int, QByteArray > roleNames () const override
 Table of Role names. C'est la correspondance entre le role C++ et le nom de la property dans QML.
Q_INVOKABLE QString getRoleName (int role)
 Retourne le nom du role dans le modèle.
Q_INVOKABLE QVariant getUrl (int row)
 Returns the full name of the photo. This is an example of unitary getter method.
Q_INVOKABLE QVariantMap get (int row)
 La méthode get() (invocable par QML) renvoie les données de la photo demandée. Usage dans QML: titre = myModel.get(1).title;
Q_INVOKABLE void addToSelection (int row, bool exclusive=false)
 Cette méthode (invocable par QML) ajoute la photo désignée aux photos sélectionnées.
Q_INVOKABLE void removeFromSelection (int row)
 Cette méthode enlève la photo désignée des photos sélectionnées.
Q_INVOKABLE void resetSelection ()
 Enleve le flag "isSelected" à toutes les photos.
Q_INVOKABLE void selectUnlocalized ()
 Ajoute le flag "isSelected" à toutes les photos qui n'ont pas de coordonnées GPS.
Q_INVOKABLE void selectUndated ()
 Ajoute le flag "isSelected" à toutes les photos qui n'ont pas de date.
Q_INVOKABLE void selectAll ()
 Ajoute le flag "isSelected" à toutes les photos.
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 removePhotoKeyword (QString keyword)
 Enlève un des mots-clef descriptif de la photo.
Q_INVOKABLE void updatePhotoKeyword (QString keyword, int index)
 Modifie un des mots-clef descriptif de la photo.
Q_INVOKABLE void setSelectedItemsCoords (QGeoCoordinate coords)
 Affecte les coordonnées GPS fournies à toutes les photos sélectionnées.
Q_INVOKABLE void findInCirclePhotos (int circle_radius=-1)
 Parcourt toutes les Photo du modèle, et flague celles qui sont à l'interieur du cercle demandé. Fonction avec mécanisme de Mutuelle Exclusion (MUTEX).
Q_INVOKABLE void suggestFromSelection ()
 Cherche des suggestions de keywords, country, city, location pour la photo courante, en allant regarder dans les tags des autres photos de la selection.
Q_INVOKABLE void suggestFromPrevious ()
 Cherche des suggestions de geotags (country, city, location) pour la photo courante, en allant regarder dans les tags des photos précédentes.
Q_INVOKABLE void suggestFromPhoto (const int row)
 Envoie des suggestions de keywords, country, city, location pour la photo courante, en allant regarder dans les tags de la photo fournie.
Q_INVOKABLE void selectionCount ()
void append (const QVariantMap data)
 Adds a Photo item to the model, from a list of metadata.
bool setData (const QModelIndex &index, const QVariant &value, int role) override
 Surcharge qui permet de modifier unitairement un Role d'un item du modèle.
void setData (const QVariantMap &value_list)
 Cette méthode permet de modifier plusieurs roles d'un item du modèle, avec comme clef le role FilenameRole. Elle est appelée lors de la lecture (ou relecture) globale des tags Exif des photos originales.
void selectFirstPhoto ()
 Active la première photo de la liste (preview de l'image et pinpoint géographique). Cette méthode est appelée une fois que l'on a lu les données Exif de la première photo de la liste.
void setWriteProgress (const int total=0)
 PhotoModel::setWriteProgress.

Attributs publics

QModelIndex m_markerIndex = QModelIndex()
 Index du marker SavedPosition. Initialisé à une valeur invalide.

Attributs protégés

int m_markerRow = -1
 Position du marker SavedPosition.

Propriétés

int currentItemRow
 currentItemRow is the Photo row in the model corresponding to the current photo in the ListView.
QGeoCoordinate currentItemCoords
 currentItemCoords is the GPS coordinates of the current Photo.
bool currentItemHasGPS
 currentItemHasGPS indicate if the current Photo has GPS coordinates.
bool savedPositionExists
 Indique si un SavedPosition existe dans le modèle.
bool loading
 Indique si le modele est en train de lire les données Exif.
qreal writeProgress
 Indique si le modele est en train d'écrire les données Exif.
int selectionCount
 Le nombre de photos dans la sélection.

Fonctions membres privées

void addTestItem ()
 Adds a test item to the PhotoModel. (only if DebugMode is enabled in the *Settingss)
void resetCircle ()
 Enleve le flag "insideCircle" à toutes les photos.
void setLoading (const bool state)
 Positionne le flag "loading" qui indique que le modèle est en train de se remplir avec les données EXIF.
void currentItemRow (const int row)
 Mémorise la photo indiquée comme étant la photo courante de la ListView.
void currentItemCoords (const QGeoCoordinate coords)
 Mémorise les coordonnées dans la photo sélectionnée.
int getCurrentItemRow ()
 Returns the last selected row.
bool getCurrentItemHasGPS ()
 Returns if the selected photo has GPS coordinates.
QGeoCoordinate getCurrentItemCoords ()
 Returns the GPS Coords of the selected row.
bool belong (double pLa, double pLo, double oLa, double oLo, float rLa, float rLo)
 Indique si le point P de coordonnées (pX, pY) appartient au cercle de centre O (oX, oY) et de rayon R.

Attributs privés

QVector< Photom_photos
 La liste des Photo du modèle.
int m_lastCurrentRow = 0
 L'indice de la précédente photo sélectionnée. (initialisé à 0 car au départ, on a un item: le Welcome Rolleyflex)
int m_dumpedRow = 0
 Compteur pour le dump de debug.
int m_lastCircleRadius = 0
 Valeur précdente du rayon de recherche.
bool m_circleResetted = true
 True si le rayon du cercle est à 0, et que le flag insideCircle a été resetté sur toutes les photos.
bool m_savedPositionExists = false
 True si le marker SavedPosition existe.
bool m_loading = false
 True si le modèle est en train de scanner le répertoire.
qreal m_writeProgress = 0
 Progression de l'écriture des données Exif dans les JPG. Varie de 0 à 1.
int m_totalWrite = 1
 Nombre de fichiers JPEG à modifier avec de nouvelles metadata.
int m_countWrite = 0
 Nombre de fichiers JPEG modifiés avec de nouvelles metadata.
int m_selectionCount = 0
 Nombre de photos dans la sélection.

Description détaillée

The PhotoModel class manages a list of photo data.


Documentation des énumérations membres

◆ Roles

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


Documentation des constructeurs et destructeur

◆ PhotoModel()

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

Constructor. Just add the welcome item in the list. If the debug mode is active, a second item is added for testing purpose.


Paramètres
parent: paramètre classique pour les QAbstractListModel.

Documentation des fonctions membres

◆ addTestItem()

void PhotoModel::addTestItem ( )
private

Adds a test item to the PhotoModel. (only if DebugMode is enabled in the *Settingss)


Note
For testing purpose.

◆ addToSelection()

void PhotoModel::addToSelection ( int row,
bool exclusive = false )

Cette méthode (invocable par QML) ajoute la photo désignée aux photos sélectionnées.


Paramètres
row: indice de la photo dans la listView
exclusive: if True, all other Photos are unselected.

◆ append [1/2]

void PhotoModel::append ( const QString filename,
const QString url )
slot

Adds a Photo to the model, with just a name and a path (url). Other data should be filled later, from exif metadata.


Paramètres
filename: filename of the photo
url: full path of the photo (in Qt format)

◆ append() [2/2]

void PhotoModel::append ( const QVariantMap data)

Adds a Photo item to the model, from a list of metadata.


Paramètres
data: a 'key-value' dictionnary of metadata.
Note
Accepts only 2 keys: filename and imageUrl.
QVariantMap map;
map.insert("filename", QVariant(filename));
map.insert(roleNames().value(ImageUrlRole), QVariant(url));
QHash< int, QByteArray > roleNames() const override
Table of Role names. C'est la correspondance entre le role C++ et le nom de la property dans QML.
Definition PhotoModel.cpp:93

◆ appendSavedPosition

void PhotoModel::appendSavedPosition ( )
slot

Ajoute une entrée spéciale dans le Modèle, correspondant à une position GPS mémorisée (marker jaune). Ses coordonnées GPS sont celles de la photo sélectionnée.


◆ applyCreatorToAll

void PhotoModel::applyCreatorToAll ( )
slot

Applique le "photographe" à toutes les photos du modèle.


Le nom du photographe est configuré dans les Settings.

◆ belong()

bool PhotoModel::belong ( double pLa,
double pLo,
double oLa,
double oLo,
float rLa,
float rLo )
private

Indique si le point P de coordonnées (pX, pY) appartient au cercle de centre O (oX, oY) et de rayon R.


Paramètres
pLa: Latitude du point à tester.
pLo: Longitude du point à tester.
oLa: Latitude de l'origine du cercle.
oLo: Longitude de l'origine du cercle.
rLa: le rayon du cercle sur l'axe des Latitudes N-S(en degrés).
rLo: le rayon du cercle sur l'axe des Longitudes E-W (en degrés).
Renvoie
true si le point est dans le cercle.
Note
Pour être le plus rapide possible, le cercle est plutôt un carré.

◆ clear()

void PhotoModel::clear ( )

Deletes all the items of the Model.


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

◆ currentItemCoords()

void PhotoModel::currentItemCoords ( const QGeoCoordinate coords)
private

Mémorise les coordonnées dans la photo sélectionnée.


Paramètres
coords: Coordonnées GPS à appliquer.

◆ currentItemRow()

void PhotoModel::currentItemRow ( const int row)
private

Mémorise la photo indiquée comme étant la photo courante de la ListView.


Met le flag isCurrent du précédent item à False et le nouveau à True. On fait aussi le traitement si le numéro de row est le même, car il s'agit peut-être d'une autre liste de photos.

Paramètres
row: l'indice de l'item courant de la ListView.

◆ data()

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

Returns the role value of an element of the model.


Note
Implémentation obligatoire.
Paramètres
index: index of the element of the model.
role: the requested role (enum).
Renvoie
the requested role value

◆ dumpData()

void PhotoModel::dumpData ( )

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


Note
Debug function.

◆ duplicateData

void PhotoModel::duplicateData ( int row)
slot

Duplicates an item of the model, and add it at the end of the vector.


Paramètres
row: item row to be duplicated.

◆ fetchExifMetadata

void PhotoModel::fetchExifMetadata ( int photo = -1)
slot

Ce slot lit des données EXIF d'une (ou de toutes les) photos du répertoire, en utilisant la tache asynchrone ExifReadTask. A la fin de chaque lecture, la tache appelle setData().


Paramètres
photo: l'indice de la photo (vide ou -1 = toutes les photos du répertoire)

◆ findInCirclePhotos()

void PhotoModel::findInCirclePhotos ( int circle_radius = -1)

Parcourt toutes les Photo du modèle, et flague celles qui sont à l'interieur du cercle demandé. Fonction avec mécanisme de Mutuelle Exclusion (MUTEX).


Paramètres
circle_radiusLe rayon du cercle (en mètres). Si circle_radius vaut 0, alors on enleve les pictos "circle". Si circle_radius vaut -1, (default value) alors on réutilise la dernière valeur de rayon reçue.

On utilise les conversions: 1°lat = 111km et 1°long = 111km x cos(lat).

Voir également
PhotoModel::resetCircle et PhotoModel::belong

◆ flags()

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

PhotoModel::flags.


Paramètres
index
Renvoie

◆ get()

QVariantMap PhotoModel::get ( int row)

La méthode get() (invocable par QML) renvoie les données de la photo demandée. Usage dans QML: titre = myModel.get(1).title;


Paramètres
row: indice.
Renvoie
une Map contenant toutes les propriétés de l'item, dont la propriété spéciale: "row".

◆ getCurrentItemCoords()

QGeoCoordinate PhotoModel::getCurrentItemCoords ( )
private

Returns the GPS Coords of the selected row.


◆ getCurrentItemHasGPS()

bool PhotoModel::getCurrentItemHasGPS ( )
private

Returns if the selected photo has GPS coordinates.


◆ getCurrentItemRow()

int PhotoModel::getCurrentItemRow ( )
private

Returns the last selected row.


◆ getRoleName()

QString PhotoModel::getRoleName ( int role)

Retourne le nom du role dans le modèle.


Paramètres
rolela valeur numérique du role.
Renvoie
la valeur texte du role.

◆ getUrl()

QVariant PhotoModel::getUrl ( int row)

Returns the full name of the photo. This is an example of unitary getter method.


Paramètres
row: Indice de l'élément à lire.
Renvoie
a QVariant containing the absolute path and full name (image URL) of the photo.

◆ removeData

void PhotoModel::removeData ( int row)
slot

Fonction typique qui supprime l'item désigné du modèle.


Paramètres
row: la position dans le vecteur de l'item à supprimer.

◆ removeFromSelection()

void PhotoModel::removeFromSelection ( int row)

Cette méthode enlève la photo désignée des photos sélectionnées.


Paramètres
row: indice de la photo dans la listView

◆ removePhotoKeyword()

void PhotoModel::removePhotoKeyword ( QString keyword)

Enlève un des mots-clef descriptif de la photo.


Paramètres
keyword: le mot-clef à retirer de la liste.
Note
Cette méthode modifie la Photo actuellement sélectionée.

◆ removeSavedPosition

void PhotoModel::removeSavedPosition ( )
slot

Supprime du modèle l'item correspondant à la position sauvegardée.


L'item SavedPosition, de type isMarker est supprimé du modèle.

◆ resetCircle()

void PhotoModel::resetCircle ( )
private

Enleve le flag "insideCircle" à toutes les photos.


◆ resetSelection()

void PhotoModel::resetSelection ( )

Enleve le flag "isSelected" à toutes les photos.


◆ roleNames()

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

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


Note
Implémentation obligatoire.
Un appel à roleNames().value(role); renvoie la property (string) correspondant au role demandé.
Un appel à roleNames().key(property.toUtf8()); renvoie le role (int) correspondant à la property demandée.

◆ rowCount()

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

Returns the number of items in the model.


Note
Implémentation obligatoire.
Paramètres
parent: parent of the model.
Renvoie
the number of elements in the model.

◆ saveMetadata

void PhotoModel::saveMetadata ( )
slot

Ce slot écrit dans les fichiers JPG (de façon asynchrone) les metadonnées IPTC des photos qui ont été modifiées. Ce slot est connecté au signal QML saveMetadata émis par ToolBarBottom.


Note
Tag obligatoire: imageUrl.
Tags modifiés: GPS coords, Creator, City, Country, Location, DateTimeOriginal.
Tags automatiques: GPS Ref, MetadataEditingSoftware.

◆ selectAll()

void PhotoModel::selectAll ( )

Ajoute le flag "isSelected" à toutes les photos.


◆ selectFirstPhoto()

void PhotoModel::selectFirstPhoto ( )

Active la première photo de la liste (preview de l'image et pinpoint géographique). Cette méthode est appelée une fois que l'on a lu les données Exif de la première photo de la liste.


◆ selectUndated()

void PhotoModel::selectUndated ( )

Ajoute le flag "isSelected" à toutes les photos qui n'ont pas de date.


◆ selectUnlocalized()

void PhotoModel::selectUnlocalized ( )

Ajoute le flag "isSelected" à toutes les photos qui n'ont pas de coordonnées GPS.


◆ setData() [1/3]

bool PhotoModel::setData ( const QModelIndex & index,
const QVariant & value,
int role )
override

Surcharge qui permet de modifier unitairement un Role d'un item du modèle.


Cette fonction met aussi à True le flag To Be Saved quand il s'agit d'une action opérateur. Cette fonction est appelée quand on clique sur un Chips, pour modifier une des propriétés de la Photo. Certains roles ne sont pas modifiables: imageUrl, isCurrent, hasGPS, filename, shutterSpeed, F-number, etc.

Voir également
https://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html#qabstractitemmodel-subclass
Note
: Il est important d'émettre le signal dataChanged() after saving the changes.
Paramètres
index: l'index (au sens QModelIndex) de l'item à modifier.
value: la nouvelle valeur.
role: le Role à modifier (LatitudeRole, LongitudeRole, ToBeSavedRole, city, country).
Renvoie
true si la modification a réussi. False si l'index n'est pas valide, ou si la nouvelle valeur est identique à l'existante.

◆ setData() [2/3]

void PhotoModel::setData ( const QVariantMap & value_list)

Cette méthode permet de modifier plusieurs roles d'un item du modèle, avec comme clef le role FilenameRole. Elle est appelée lors de la lecture (ou relecture) globale des tags Exif des photos originales.


Roles non modifiables (ignorés): imageUrl, insideCircle.
Roles non modifiables (recalculés): hasGPS, toBeSaved.

Note
Cette fonction positionne le flag ToBeSaved à False.
Paramètres
value_list: la liste des données à modifier. Attention: les keys sont les noms des balises EXIF. FileName est obligatoire.

◆ setData [3/3]

void PhotoModel::setData ( int row,
QString value,
QString property )
slot

Ce slot ajoute ou modifie une propriété d'une Photo, par exemple quand on clique sur une suggestion.


Paramètres
row: indice de la photo.
value: valeur de la propriété.
property: nom de la propriété.

◆ setInCircleItemCoords

void PhotoModel::setInCircleItemCoords ( const double latitude,
const double longitude )
slot

Ce slot affecte les coordonnées GPS fournies à toutes les photos géographiquement situées à l'interieur du cercle rouge.


Paramètres
latitude: Latitude GPS à affecter aux photos
longitude: Longitude GPS à affecter aux photos
Voir également
PhotoModel::findInCirclePhotos

◆ setLoading()

void PhotoModel::setLoading ( const bool state)
private

Positionne le flag "loading" qui indique que le modèle est en train de se remplir avec les données EXIF.


Paramètres
stateTrue pour indiquer que la lecture est en cours.

◆ setPhotoProperty

void PhotoModel::setPhotoProperty ( const int photo,
const QString value,
const QString property )
slot

Ce slot affecte le role fourni à toutes les photos demandées.


Paramètres
photo: l'indice de la Photo à modifier. Voir la note pour les valeurs particulières.
value: la valeur de la property.
property: le nom de la property (correspondant à un Role).
Note
Valeurs particulières du paramètre photo:
  • La valeur spéciale -1 signifie toutes les photos.
  • La valeur spéciale -2 signifie la photo courante.
  • La valeur spéciale -3 signifie les photos du cercle.
  • La valeur spéciale -4 signifie les photos sélectionées.

◆ setSelectedItemsCoords()

void PhotoModel::setSelectedItemsCoords ( QGeoCoordinate coords)

Affecte les coordonnées GPS fournies à toutes les photos sélectionnées.


Paramètres
coordsdes coordonnées GPS.

◆ setWriteProgress()

void PhotoModel::setWriteProgress ( const int total = 0)

PhotoModel::setWriteProgress.


Paramètres
total: Nombre de photos dont on veut écrire les exifs. Si 0 ou non fourni, alors c'est que l'on vient de faire une écriture.

◆ suggestFromPhoto()

void PhotoModel::suggestFromPhoto ( const int row)

Envoie des suggestions de keywords, country, city, location pour la photo courante, en allant regarder dans les tags de la photo fournie.


◆ suggestFromPrevious()

void PhotoModel::suggestFromPrevious ( )

Cherche des suggestions de geotags (country, city, location) pour la photo courante, en allant regarder dans les tags des photos précédentes.


◆ suggestFromSelection()

void PhotoModel::suggestFromSelection ( )

Cherche des suggestions de keywords, country, city, location pour la photo courante, en allant regarder dans les tags des autres photos de la selection.


◆ updatePhotoKeyword()

void PhotoModel::updatePhotoKeyword ( QString keyword,
int index )

Modifie un des mots-clef descriptif de la photo.


Paramètres
keyword: la nouvelle valeur du mot-clef.
index: la position du mot-clef dans la liste.
Note
Cette méthode modifie la Photo actuellement sélectionée.

Documentation des propriétés

◆ selectionCount

void PhotoModel::selectionCount

Le nombre de photos dans la sélection.

Compte le nombre de photos sélectionnées.



La documentation de cette classe a été générée à partir des fichiers suivants :
  • Sources/cpp/Models/PhotoModel.h
  • Sources/cpp/Models/PhotoModel.cpp