mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 03:21:29 +00:00
787a23f017
The profile has an "empty state" showing the subsurface logo, which is active when no dive is selected. Switching to/from this mode is quite complex, because all the chart features have to be hidden/shown, etc. Moreover, this mode is not needed on mobile, where multiple ProfileWidgets can be active at the same time and every dive has at least a "faked" profile. Therefore, implement this mode directly in the desktop version of the widget. This makes the rescaling distinctly less cumbersome. It is implemented using a QStackedWidget, which switches between the profile and the logo. This commit does not remove the empty state from the profile. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
38 lines
810 B
C++
38 lines
810 B
C++
// SPDX-License-Identifier: GPL-2.0
|
|
// The profile and its toolbars.
|
|
|
|
#ifndef PROFILEWIDGET_H
|
|
#define PROFILEWIDGET_H
|
|
|
|
#include "ui_profilewidget.h"
|
|
|
|
#include <vector>
|
|
#include <memory>
|
|
|
|
class ProfileWidget2;
|
|
class EmptyView;
|
|
class QStackedWidget;
|
|
|
|
class ProfileWidget : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
ProfileWidget();
|
|
~ProfileWidget();
|
|
std::unique_ptr<ProfileWidget2> view;
|
|
void plotCurrentDive();
|
|
void setPlanState(const struct dive *d, int dc);
|
|
void setEditState(const struct dive *d, int dc);
|
|
void setEnabledToolbar(bool enabled);
|
|
private
|
|
slots:
|
|
void unsetProfHR();
|
|
void unsetProfTissues();
|
|
private:
|
|
std::unique_ptr<EmptyView> emptyView;
|
|
std::vector<QAction *> toolbarActions;
|
|
Ui::ProfileWidget ui;
|
|
QStackedWidget *stack;
|
|
void setDive(const struct dive *d);
|
|
};
|
|
|
|
#endif // PROFILEWIDGET_H
|