mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Profile2: use a different image when no profile is visible
This patch adds a new image resource named poster.png which, is shown instead of the 3 posters. The main reason for that is due to the poster text not being visible. This new image is pretty much the Subsurface logo only. It also removes the grid lines, while the poster is visible. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
7d9849cfed
commit
324b8cbff1
7 changed files with 21 additions and 18 deletions
|
@ -464,19 +464,19 @@ void ProfileWidget2::fixBackgroundPos()
|
|||
{
|
||||
if (currentState != EMPTY)
|
||||
return;
|
||||
QPixmap toBeScaled;
|
||||
if (!backgrounds.keys().contains(backgroundFile)) {
|
||||
backgrounds[backgroundFile] = QPixmap(backgroundFile);
|
||||
}
|
||||
toBeScaled = backgrounds[backgroundFile];
|
||||
QPixmap p = toBeScaled.scaledToHeight(viewport()->height());
|
||||
QPixmap toBeScaled = QPixmap(backgroundFile);
|
||||
QPixmap p = toBeScaled.scaledToHeight(viewport()->height() - 40, Qt::SmoothTransformation);
|
||||
int x = viewport()->width() / 2 - p.width() / 2;
|
||||
int y = viewport()->height() / 2 - p.height() / 2;
|
||||
background->setPixmap(p);
|
||||
background->setX(mapToScene(x, 0).x());
|
||||
background->setY(mapToScene(y, 20).y());
|
||||
}
|
||||
|
||||
void ProfileWidget2::wheelEvent(QWheelEvent *event)
|
||||
{
|
||||
if (currentState == EMPTY)
|
||||
return;
|
||||
QPoint toolTipPos = mapFromScene(toolTipItem->pos());
|
||||
double scaleFactor = 1.15;
|
||||
if (event->delta() > 0 && zoomLevel < 20) {
|
||||
|
@ -495,7 +495,7 @@ void ProfileWidget2::scrollViewTo(const QPoint &pos)
|
|||
{
|
||||
/* since we cannot use translate() directly on the scene we hack on
|
||||
* the scroll bars (hidden) functionality */
|
||||
if (!zoomLevel)
|
||||
if (!zoomLevel || currentState == EMPTY)
|
||||
return;
|
||||
QScrollBar *vs = verticalScrollBar();
|
||||
QScrollBar *hs = horizontalScrollBar();
|
||||
|
@ -534,17 +534,18 @@ void ProfileWidget2::setEmptyState()
|
|||
return;
|
||||
|
||||
dataModel->clear();
|
||||
backgroundFile = QString(":poster%1").arg(rand() % 3 + 1);
|
||||
currentState = EMPTY;
|
||||
|
||||
backgroundFile = QString(":poster");
|
||||
fixBackgroundPos();
|
||||
profileYAxis->setPos(itemPos.depth.pos.off);
|
||||
gasYAxis->setPos(itemPos.partialPressure.pos.off);
|
||||
timeAxis->setPos(itemPos.time.pos.off);
|
||||
background->setY(itemPos.background.on.y());
|
||||
background->setVisible(true);
|
||||
|
||||
profileYAxis->setVisible(false);
|
||||
gasYAxis->setVisible(false);
|
||||
timeAxis->setVisible(false);
|
||||
temperatureAxis->setVisible(false);
|
||||
cylinderPressureAxis->setVisible(false);
|
||||
toolTipItem->setVisible(false);
|
||||
temperatureAxis->setPos(itemPos.temperature.pos.off);
|
||||
cylinderPressureAxis->setPos(itemPos.cylinder.pos.off);
|
||||
meanDepth->setVisible(false);
|
||||
diveComputerText->setVisible(false);
|
||||
diveCeiling->setVisible(false);
|
||||
|
@ -572,6 +573,11 @@ void ProfileWidget2::setProfileState()
|
|||
|
||||
background->setVisible(false);
|
||||
toolTipItem->setVisible(true);
|
||||
profileYAxis->setVisible(true);
|
||||
gasYAxis->setVisible(true);
|
||||
timeAxis->setVisible(true);
|
||||
temperatureAxis->setVisible(true);
|
||||
cylinderPressureAxis->setVisible(true);
|
||||
|
||||
profileYAxis->setPos(itemPos.depth.pos.on);
|
||||
QSettings s;
|
||||
|
|
|
@ -93,7 +93,6 @@ private:
|
|||
DivePlotDataModel *dataModel;
|
||||
State currentState;
|
||||
int zoomLevel;
|
||||
QHash<QString, QPixmap> backgrounds;
|
||||
DivePixmapItem *background;
|
||||
QString backgroundFile;
|
||||
ToolTipItem *toolTipItem;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue