source: subsurface/desktop-widgets/simplewidgets.h @ cd27c1c

Last change on this file since cd27c1c was cd27c1c, checked in by Dirk Hohndel <dirk@…>, 8 months ago

Hide avg max depth thingie

We don't set it so just hide it.

Signed-off-by: Anton Lundin <glance@…>

  • Property mode set to 100644
File size: 5.1 KB
Line 
1#ifndef SIMPLEWIDGETS_H
2#define SIMPLEWIDGETS_H
3
4class MinMaxAvgWidgetPrivate;
5class QAbstractButton;
6class QNetworkReply;
7
8#include <QWidget>
9#include <QGroupBox>
10#include <QDialog>
11#include <QTextEdit>
12#include <stdint.h>
13
14#include "ui_renumber.h"
15#include "ui_setpoint.h"
16#include "ui_shifttimes.h"
17#include "ui_shiftimagetimes.h"
18#include "ui_urldialog.h"
19#include "ui_divecomponentselection.h"
20#include "ui_listfilter.h"
21#include "ui_filterwidget.h"
22#include "core/exif.h"
23#include "core/dive.h"
24
25
26class MinMaxAvgWidget : public QWidget {
27        Q_OBJECT
28        Q_PROPERTY(double minimum READ minimum WRITE setMinimum)
29        Q_PROPERTY(double maximum READ maximum WRITE setMaximum)
30        Q_PROPERTY(double average READ average WRITE setAverage)
31public:
32        MinMaxAvgWidget(QWidget *parent);
33        ~MinMaxAvgWidget();
34        double minimum() const;
35        double maximum() const;
36        double average() const;
37        void setMinimum(double minimum);
38        void setMaximum(double maximum);
39        void setAverage(double average);
40        void setMinimum(const QString &minimum);
41        void setMaximum(const QString &maximum);
42        void setAverage(const QString &average);
43        void overrideMinToolTipText(const QString &newTip);
44        void overrideAvgToolTipText(const QString &newTip);
45        void overrideMaxToolTipText(const QString &newTip);
46        void setAvgVisibility(const bool visible);
47        void clear();
48
49private:
50        QScopedPointer<MinMaxAvgWidgetPrivate> d;
51};
52
53class RenumberDialog : public QDialog {
54        Q_OBJECT
55public:
56        static RenumberDialog *instance();
57        void renumberOnlySelected(bool selected = true);
58private
59slots:
60        void buttonClicked(QAbstractButton *button);
61
62private:
63        explicit RenumberDialog(QWidget *parent);
64        Ui::RenumberDialog ui;
65        bool selectedOnly;
66};
67
68class SetpointDialog : public QDialog {
69        Q_OBJECT
70public:
71        static SetpointDialog *instance();
72        void setpointData(struct divecomputer *divecomputer, int time);
73private
74slots:
75        void buttonClicked(QAbstractButton *button);
76
77private:
78        explicit SetpointDialog(QWidget *parent);
79        Ui::SetpointDialog ui;
80        struct divecomputer *dc;
81        int time;
82};
83
84class ShiftTimesDialog : public QDialog {
85        Q_OBJECT
86public:
87        static ShiftTimesDialog *instance();
88        void showEvent(QShowEvent *event);
89private
90slots:
91        void buttonClicked(QAbstractButton *button);
92        void changeTime();
93
94private:
95        explicit ShiftTimesDialog(QWidget *parent);
96        int64_t when;
97        Ui::ShiftTimesDialog ui;
98};
99
100class ShiftImageTimesDialog : public QDialog {
101        Q_OBJECT
102public:
103        explicit ShiftImageTimesDialog(QWidget *parent, QStringList fileNames);
104        time_t amount() const;
105        void setOffset(time_t offset);
106        bool matchAll();
107private
108slots:
109        void buttonClicked(QAbstractButton *button);
110        void syncCameraClicked();
111        void dcDateTimeChanged(const QDateTime &);
112        void timeEditChanged(const QTime &time);
113        void updateInvalid();
114        void matchAllImagesToggled(bool);
115
116private:
117        QStringList fileNames;
118        Ui::ShiftImageTimesDialog ui;
119        time_t m_amount;
120        time_t dcImageEpoch;
121        bool matchAllImages;
122};
123
124class URLDialog : public QDialog {
125        Q_OBJECT
126public:
127        explicit URLDialog(QWidget *parent);
128        QString url() const;
129private:
130        Ui::URLDialog ui;
131};
132
133class QCalendarWidget;
134
135class DiveComponentSelection : public QDialog {
136        Q_OBJECT
137public:
138        explicit DiveComponentSelection(QWidget *parent, struct dive *target, struct dive_components *_what);
139private
140slots:
141        void buttonClicked(QAbstractButton *button);
142
143private:
144        Ui::DiveComponentSelectionDialog ui;
145        struct dive *targetDive;
146        struct dive_components *what;
147};
148
149namespace Ui{
150        class FilterWidget2;
151};
152
153class MultiFilter : public QWidget {
154        Q_OBJECT
155public
156slots:
157        void closeFilter();
158        void adjustHeight();
159        void filterFinished();
160
161public:
162        MultiFilter(QWidget *parent);
163        Ui::FilterWidget2 ui;
164};
165
166class TagFilter : public QWidget {
167        Q_OBJECT
168public:
169        TagFilter(QWidget *parent = 0);
170        virtual void showEvent(QShowEvent *);
171        virtual void hideEvent(QHideEvent *);
172
173private:
174        Ui::FilterWidget ui;
175        friend class MultiFilter;
176};
177
178class BuddyFilter : public QWidget {
179        Q_OBJECT
180public:
181        BuddyFilter(QWidget *parent = 0);
182        virtual void showEvent(QShowEvent *);
183        virtual void hideEvent(QHideEvent *);
184
185private:
186        Ui::FilterWidget ui;
187};
188
189class SuitFilter : public QWidget {
190        Q_OBJECT
191public:
192        SuitFilter(QWidget *parent = 0);
193        virtual void showEvent(QShowEvent *);
194        virtual void hideEvent(QHideEvent *);
195
196private:
197        Ui::FilterWidget ui;
198};
199
200class LocationFilter : public QWidget {
201        Q_OBJECT
202public:
203        LocationFilter(QWidget *parent = 0);
204        virtual void showEvent(QShowEvent *);
205        virtual void hideEvent(QHideEvent *);
206
207private:
208        Ui::FilterWidget ui;
209};
210
211class TextHyperlinkEventFilter : public QObject {
212        Q_OBJECT
213public:
214        explicit TextHyperlinkEventFilter(QTextEdit *txtEdit);
215
216        virtual bool eventFilter(QObject *target, QEvent *evt);
217
218private:
219        void handleUrlClick(const QString &urlStr);
220        void handleUrlTooltip(const QString &urlStr, const QPoint &pos);
221        bool stringMeetsOurUrlRequirements(const QString &maybeUrlStr);
222        QString fromCursorTilWhitespace(QTextCursor *cursor, const bool searchBackwards);
223        QString tryToFormulateUrl(QTextCursor *cursor);
224
225        QTextEdit const *const textEdit;
226        QWidget const *const scrollView;
227
228        Q_DISABLE_COPY(TextHyperlinkEventFilter)
229};
230
231bool isGnome3Session();
232QImage grayImage(const QImage &coloredImg);
233
234#endif // SIMPLEWIDGETS_H
Note: See TracBrowser for help on using the repository browser.