From 1c34c831a4bd51a94d953828ea08ab0db3373049 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Fri, 30 May 2014 14:38:27 -0300 Subject: [PATCH] Add stub for a widget to show the dive pictures. This has a few classes: the model is the list of pictures for the current dive, the delegate is how this pictures will be displayed on screen, the widget is the collection of delegates, and the DivePictureThumbnailThread is a worker-thread to generate the thumbnails so the UI will not freeze. [Dirk Hohndel: added the new files to subsurface.pro] Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- CMakeLists.txt | 1 + qt-ui/divepicturewidget.cpp | 26 ++++++++++++++++++++++++++ qt-ui/divepicturewidget.h | 29 +++++++++++++++++++++++++++++ subsurface.pro | 2 ++ 4 files changed, 58 insertions(+) create mode 100644 qt-ui/divepicturewidget.cpp create mode 100644 qt-ui/divepicturewidget.h diff --git a/CMakeLists.txt b/CMakeLists.txt index e19032c49..ab46d3748 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -138,6 +138,7 @@ SET(SUBSURFACE_INTERFACE qt-ui/groupedlineedit.cpp qt-ui/usermanual.cpp qt-ui/divelogexportdialog.cpp + qt-ui/divepicturewidget.cpp ) #the profile widget diff --git a/qt-ui/divepicturewidget.cpp b/qt-ui/divepicturewidget.cpp new file mode 100644 index 000000000..aea415725 --- /dev/null +++ b/qt-ui/divepicturewidget.cpp @@ -0,0 +1,26 @@ +#include "divepicturewidget.h" + +void DivePictureDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + QStyledItemDelegate::paint(painter, option, index); +} + +int DivePictureModel::columnCount(const QModelIndex &parent) const +{ + +} + +QVariant DivePictureModel::data(const QModelIndex &index, int role) const +{ + +} + +int DivePictureModel::rowCount(const QModelIndex &parent) const +{ + +} + +DivePictureView::DivePictureView(QWidget *parent): QListView(parent) +{ + +} diff --git a/qt-ui/divepicturewidget.h b/qt-ui/divepicturewidget.h new file mode 100644 index 000000000..260d3caa7 --- /dev/null +++ b/qt-ui/divepicturewidget.h @@ -0,0 +1,29 @@ +#ifndef DIVEPICTUREWIDGET_H +#define DIVEPICTUREWIDGET_H + +#include +#include +#include +#include + +class DivePictureModel : QAbstractTableModel { + virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; + virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; +}; + +class DivePictureDelegate : QStyledItemDelegate { + virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; +}; + +class DivePictureView : public QListView{ + Q_OBJECT +public: + DivePictureView(QWidget *parent); +}; + +class DivePictureThumbnailThread : public QThread { + +}; + +#endif \ No newline at end of file diff --git a/subsurface.pro b/subsurface.pro index 6eb2bc879..539eb0ca0 100644 --- a/subsurface.pro +++ b/subsurface.pro @@ -40,6 +40,7 @@ HEADERS = \ qt-ui/completionmodels.h \ qt-ui/divecomputermanagementdialog.h \ qt-ui/divelistview.h \ + qt-ui/divepicturewidget.h \ qt-ui/diveplanner.h \ qt-ui/downloadfromdivecomputer.h \ qt-ui/globe.h \ @@ -112,6 +113,7 @@ SOURCES = \ qt-ui/completionmodels.cpp \ qt-ui/divecomputermanagementdialog.cpp \ qt-ui/divelistview.cpp \ + qt-ui/divepicturewidget.cpp \ qt-ui/diveplanner.cpp \ qt-ui/downloadfromdivecomputer.cpp \ qt-ui/globe.cpp \