Added a custom widget for tagging dives

A custom tag widget has been added to MainTab.
Tags are seperated by a comma ",". The implementation
supports escaping a comma by using "\,".
While typing, the widget supports the user by suggesting
tags using a QCompleter.

Signed-off-by: Maximilian Güntner <maximilian.guentner@gmail.com>
This commit is contained in:
Maximilian Güntner 2013-11-02 02:20:02 +01:00
parent 6fe8cb6521
commit 04cdfce782
10 changed files with 582 additions and 50 deletions

View file

@ -31,6 +31,7 @@ struct NotesBackup{
int rating;
int visibility;
QString divemaster;
QString tags;
cylinder_t cylinders[MAX_CYLINDERS];
weightsystem_t weightsystem[MAX_WEIGHTSYSTEMS ];
};
@ -40,6 +41,7 @@ struct Completers{
QCompleter *divemaster;
QCompleter *buddy;
QCompleter *suit;
QCompleter *tags;
};
class MainTab : public QTabWidget
@ -73,6 +75,7 @@ public slots:
void on_dateTimeEdit_dateTimeChanged(const QDateTime& datetime);
void on_rating_valueChanged(int value);
void on_visibility_valueChanged(int value);
void on_tagWidget_textChanged();
void editCylinderWidget(const QModelIndex& index);
void editWeightWidget(const QModelIndex& index);
void addDiveStarted();
@ -94,6 +97,7 @@ private:
Completers completers;
void resetPallete();
void saveTags();
QString printGPSCoords(int lat, int lon);
};