mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add a method to plot the pictures on the profile.
It plots in the wrong place for now, because I need to change the model a bit. But it shares the same pixmap with the other widget which is nice. :) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
ebe799e0a0
commit
43cf9fdb7a
2 changed files with 20 additions and 2 deletions
|
@ -702,7 +702,7 @@ void ProfileWidget2::setProfileState()
|
||||||
|
|
||||||
disconnectTemporaryConnections();
|
disconnectTemporaryConnections();
|
||||||
connect(DivePictureModel::instance(), SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, SLOT(plotPictures()));
|
connect(DivePictureModel::instance(), SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, SLOT(plotPictures()));
|
||||||
connect(DivePictureModel::instance(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),this, SLOT(plotPictureS()));
|
connect(DivePictureModel::instance(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),this, SLOT(plotPictures()));
|
||||||
connect(DivePictureModel::instance(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),this, SLOT(plotPictures()));
|
connect(DivePictureModel::instance(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),this, SLOT(plotPictures()));
|
||||||
/* show the same stuff that the profile shows. */
|
/* show the same stuff that the profile shows. */
|
||||||
|
|
||||||
|
@ -1050,7 +1050,7 @@ void ProfileWidget2::disconnectTemporaryConnections()
|
||||||
this, SLOT(pointsRemoved(const QModelIndex &, int, int)));
|
this, SLOT(pointsRemoved(const QModelIndex &, int, int)));
|
||||||
|
|
||||||
disconnect(DivePictureModel::instance(), SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, SLOT(plotPictures()));
|
disconnect(DivePictureModel::instance(), SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, SLOT(plotPictures()));
|
||||||
disconnect(DivePictureModel::instance(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),this, SLOT(plotPictureS()));
|
disconnect(DivePictureModel::instance(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),this, SLOT(plotPictures()));
|
||||||
disconnect(DivePictureModel::instance(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),this, SLOT(plotPictures()));
|
disconnect(DivePictureModel::instance(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),this, SLOT(plotPictures()));
|
||||||
|
|
||||||
Q_FOREACH (QAction *action, actionsForKeys.values()) {
|
Q_FOREACH (QAction *action, actionsForKeys.values()) {
|
||||||
|
@ -1288,3 +1288,19 @@ void ProfileWidget2::keyEscAction()
|
||||||
if (plannerModel->isPlanner())
|
if (plannerModel->isPlanner())
|
||||||
plannerModel->cancelPlan();
|
plannerModel->cancelPlan();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProfileWidget2::plotPictures()
|
||||||
|
{
|
||||||
|
qDeleteAll(pictures);
|
||||||
|
pictures.clear();
|
||||||
|
|
||||||
|
DivePictureModel *m = DivePictureModel::instance();
|
||||||
|
for(int i = 0; i < m->rowCount(); i++){
|
||||||
|
DivePixmapItem *item = new DivePixmapItem();
|
||||||
|
item->setPixmap(m->index(i,0).data(Qt::DecorationRole).value<QPixmap>());
|
||||||
|
item->setPos(10,10); // TODO: put the item in the correct place.
|
||||||
|
item->setFlag(QGraphicsItem::ItemIgnoresTransformations);
|
||||||
|
scene()->addItem(item);
|
||||||
|
pictures.push_back(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -91,6 +91,7 @@ slots: // Necessary to call from QAction's signals.
|
||||||
void makeFirstDC();
|
void makeFirstDC();
|
||||||
void pointInserted(const QModelIndex &parent, int start, int end);
|
void pointInserted(const QModelIndex &parent, int start, int end);
|
||||||
void pointsRemoved(const QModelIndex &, int start, int end);
|
void pointsRemoved(const QModelIndex &, int start, int end);
|
||||||
|
void plotPictures();
|
||||||
void replot();
|
void replot();
|
||||||
|
|
||||||
/* this is called for every move on the handlers. maybe we can speed up this a bit? */
|
/* this is called for every move on the handlers. maybe we can speed up this a bit? */
|
||||||
|
@ -159,6 +160,7 @@ private:
|
||||||
//specifics for ADD and PLAN
|
//specifics for ADD and PLAN
|
||||||
QList<DiveHandler *> handles;
|
QList<DiveHandler *> handles;
|
||||||
QList<QGraphicsSimpleTextItem *> gases;
|
QList<QGraphicsSimpleTextItem *> gases;
|
||||||
|
QList<DivePixmapItem*> pictures;
|
||||||
void repositionDiveHandlers();
|
void repositionDiveHandlers();
|
||||||
int fixHandlerIndex(DiveHandler *activeHandler);
|
int fixHandlerIndex(DiveHandler *activeHandler);
|
||||||
friend class DiveHandler;
|
friend class DiveHandler;
|
||||||
|
|
Loading…
Add table
Reference in a new issue