summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-08-13 10:49:59 -0300
committerGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-08-13 10:49:59 -0300
commit6da2d40d3c6f288695ece0384bbad229b345f2b8 (patch)
tree6f3983578ba05e134f32872d6b041828743ed807 /qt-ui
parent84f73a5fb199d79bcf79eaeab52ce1198668c3cb (diff)
downloadsubsurface-6da2d40d3c6f288695ece0384bbad229b345f2b8.tar.gz
Added completion for buddy, divemaster, location and suit.
Added completion for buddy, divemaster, location and suit. The completions uses some models that I created in the last commit - everytime that a divelog file is loaded, it creates a list of completion items. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/maintab.cpp16
-rw-r--r--qt-ui/maintab.h10
2 files changed, 26 insertions, 0 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index f2fed0921..44429f8c8 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -12,8 +12,10 @@
#include "divelistview.h"
#include "modeldelegates.h"
#include "globe.h"
+#include "completionmodels.h"
#include <QLabel>
+#include <QCompleter>
#include <QDebug>
#include <QSet>
#include <QSettings>
@@ -94,6 +96,16 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
ui->weights->setItemDelegateForColumn(WeightModel::TYPE, new WSInfoDelegate());
connect(this, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int)));
+
+ completers.buddy = new QCompleter(BuddyCompletionModel::instance(), ui->buddy);
+ completers.divemaster = new QCompleter(DiveMasterCompletionModel::instance(), ui->divemaster);
+ completers.location = new QCompleter(LocationCompletionModel::instance(), ui->location);
+ completers.suit = new QCompleter(SuitCompletionModel::instance(), ui->suit);
+ ui->buddy->setCompleter(completers.buddy);
+ ui->divemaster->setCompleter(completers.divemaster);
+ ui->location->setCompleter(completers.location);
+ ui->suit->setCompleter(completers.suit);
+
initialUiSetup();
}
@@ -348,6 +360,10 @@ void MainTab::addWeight_clicked()
void MainTab::reload()
{
+ SuitCompletionModel::instance()->updateModel();
+ BuddyCompletionModel::instance()->updateModel();
+ LocationCompletionModel::instance()->updateModel();
+ DiveMasterCompletionModel::instance()->updateModel();
}
void MainTab::on_editAccept_clicked(bool edit)
diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h
index 745f401a4..8c398a77d 100644
--- a/qt-ui/maintab.h
+++ b/qt-ui/maintab.h
@@ -12,6 +12,8 @@
#include "models.h"
+class QCompleter;
+
namespace Ui
{
class MainTab;
@@ -27,6 +29,13 @@ struct NotesBackup{
QString divemaster;
};
+struct Completers{
+ QCompleter *location;
+ QCompleter *divemaster;
+ QCompleter *buddy;
+ QCompleter *suit;
+};
+
class MainTab : public QTabWidget
{
Q_OBJECT
@@ -72,6 +81,7 @@ private:
QPushButton *addCylinder;
QPushButton *addWeight;
enum { NONE, DIVE, TRIP } editMode;
+ Completers completers;
void enableEdition();
};