mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
core/tests: merge Animations and add vars. to qPrefDisplay
Add class variable tooltip_position to qPrefDisplay Add class variable lastDir to qPrefDisplay qPrefDisplay is updated to use new qPrefPrivate functions Adjust test cases incl. qml tests qPrefAnimations only has 1 variable, that really is a display variable Merge the variable into qPrefDisplay, to simplify setup (and avoid loading extra page in qml). correct theme to save in correct place, and make it a static class variable Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
82b626b3fd
commit
ebc0e6d3f3
22 changed files with 257 additions and 220 deletions
|
@ -103,7 +103,6 @@ set(SUBSURFACE_CORE_LIB_SRCS
|
|||
|
||||
# classes to manage struct preferences for QWidget and QML
|
||||
settings/qPref.cpp
|
||||
settings/qPrefAnimations.cpp
|
||||
settings/qPrefCloudStorage.cpp
|
||||
settings/qPrefDisplay.cpp
|
||||
settings/qPrefDiveComputer.cpp
|
||||
|
|
|
@ -109,7 +109,6 @@ struct preferences {
|
|||
const char *divelist_font;
|
||||
double font_size;
|
||||
bool show_developer;
|
||||
const char *theme;
|
||||
|
||||
// ********** Facebook **********
|
||||
facebook_prefs_t facebook;
|
||||
|
|
|
@ -16,7 +16,6 @@ void qPref::loadSync(bool doSync)
|
|||
if (!doSync)
|
||||
uiLanguage(NULL);
|
||||
|
||||
qPrefAnimations::instance()->loadSync(doSync);
|
||||
qPrefCloudStorage::instance()->loadSync(doSync);
|
||||
qPrefDisplay::instance()->loadSync(doSync);
|
||||
qPrefDiveComputer::instance()->loadSync(doSync);
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include <QObject>
|
||||
|
||||
#include "qPrefAnimations.h"
|
||||
#include "qPrefCloudStorage.h"
|
||||
#include "qPrefDisplay.h"
|
||||
#include "qPrefDiveComputer.h"
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "qPrefAnimations.h"
|
||||
#include "qPrefPrivate.h"
|
||||
|
||||
static const QString group = QStringLiteral("Animations");
|
||||
|
||||
qPrefAnimations::qPrefAnimations(QObject *parent) : QObject(parent)
|
||||
{
|
||||
}
|
||||
qPrefAnimations *qPrefAnimations::instance()
|
||||
{
|
||||
static qPrefAnimations *self = new qPrefAnimations;
|
||||
return self;
|
||||
}
|
||||
|
||||
void qPrefAnimations::loadSync(bool doSync)
|
||||
{
|
||||
disk_animation_speed(doSync);
|
||||
}
|
||||
|
||||
HANDLE_PREFERENCE_INT(Animations, "/animation_speed", animation_speed);
|
|
@ -1,35 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#ifndef QPREFANIMATIONS_H
|
||||
#define QPREFANIMATIONS_H
|
||||
#include "core/pref.h"
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class qPrefAnimations : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(int animation_speed READ animation_speed WRITE set_animation_speed NOTIFY animation_speed_changed);
|
||||
|
||||
public:
|
||||
qPrefAnimations(QObject *parent = NULL);
|
||||
static qPrefAnimations *instance();
|
||||
|
||||
// Load/Sync local settings (disk) and struct preference
|
||||
static void loadSync(bool doSync);
|
||||
static void load() { loadSync(false); }
|
||||
static void sync() { loadSync(true); }
|
||||
|
||||
public:
|
||||
static int animation_speed() { return prefs.animation_speed; }
|
||||
|
||||
public slots:
|
||||
static void set_animation_speed(int value);
|
||||
|
||||
signals:
|
||||
void animation_speed_changed(int value);
|
||||
|
||||
private:
|
||||
// functions to load/sync variable with disk
|
||||
static void disk_animation_speed(bool doSync);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -8,6 +8,39 @@
|
|||
|
||||
static const QString group = QStringLiteral("Display");
|
||||
|
||||
QPointF qPrefDisplay::st_tooltip_position;
|
||||
static const QPointF st_tooltip_position_default = QPointF(0,0);
|
||||
|
||||
QString qPrefDisplay::st_lastDir;
|
||||
static const QString st_lastDir_default = "";
|
||||
|
||||
QString qPrefDisplay::st_theme;
|
||||
static const QString st_theme_default = "Blue";
|
||||
|
||||
QString qPrefDisplay::st_UserSurvey;
|
||||
static const QString st_UserSurvey_default = "";
|
||||
|
||||
QByteArray qPrefDisplay::st_mainSplitter;
|
||||
static const QByteArray st_mainSplitter_default = "";
|
||||
|
||||
QByteArray qPrefDisplay::st_topSplitter;
|
||||
static const QByteArray st_topSplitter_default = "";
|
||||
|
||||
QByteArray qPrefDisplay::st_bottomSplitter;
|
||||
static const QByteArray st_bottomSplitter_default = "";
|
||||
|
||||
bool qPrefDisplay::st_maximized;
|
||||
static bool st_maximized_default = false;
|
||||
|
||||
QByteArray qPrefDisplay::st_geometry;
|
||||
static const QByteArray st_geometry_default = 0;
|
||||
|
||||
QByteArray qPrefDisplay::st_windowState;
|
||||
static const QByteArray st_windowState_default = 0;
|
||||
|
||||
int qPrefDisplay::st_lastState;
|
||||
static int st_lastState_default = false;
|
||||
|
||||
qPrefDisplay::qPrefDisplay(QObject *parent) : QObject(parent)
|
||||
{
|
||||
}
|
||||
|
@ -19,11 +52,16 @@ qPrefDisplay *qPrefDisplay::instance()
|
|||
|
||||
void qPrefDisplay::loadSync(bool doSync)
|
||||
{
|
||||
disk_animation_speed(doSync);
|
||||
disk_divelist_font(doSync);
|
||||
disk_font_size(doSync);
|
||||
disk_display_invalid_dives(doSync);
|
||||
disk_show_developer(doSync);
|
||||
disk_theme(doSync);
|
||||
if (!doSync) {
|
||||
load_tooltip_position();
|
||||
load_theme();
|
||||
load_UserSurvey();
|
||||
}
|
||||
}
|
||||
|
||||
void qPrefDisplay::set_divelist_font(const QString &value)
|
||||
|
@ -69,13 +107,13 @@ void qPrefDisplay::disk_font_size(bool doSync)
|
|||
setCorrectFont();
|
||||
}
|
||||
|
||||
//JAN static const QString group = QStringLiteral("Animations");
|
||||
HANDLE_PREFERENCE_INT(Display, "/animation_speed", animation_speed);
|
||||
|
||||
HANDLE_PREFERENCE_BOOL(Display, "/displayinvalid", display_invalid_dives);
|
||||
|
||||
HANDLE_PREFERENCE_BOOL(Display, "/show_developer", show_developer);
|
||||
|
||||
HANDLE_PREFERENCE_TXT(Display, "/theme", theme);
|
||||
|
||||
|
||||
void qPrefDisplay::setCorrectFont()
|
||||
{
|
||||
// get the font from the settings or our defaults
|
||||
|
@ -102,3 +140,25 @@ void qPrefDisplay::setCorrectFont()
|
|||
|
||||
prefs.display_invalid_dives = qPrefPrivate::propValue(group + "/displayinvalid", default_prefs.display_invalid_dives).toBool();
|
||||
}
|
||||
|
||||
HANDLE_PROP_QSTRING(Display, "FileDialog/LastDir", lastDir);
|
||||
|
||||
HANDLE_PROP_QSTRING(Display, "Theme/currentTheme", theme);
|
||||
|
||||
HANDLE_PROP_QPOINTF(Display, "ProfileMap/tooltip_position", tooltip_position);
|
||||
|
||||
HANDLE_PROP_QSTRING(Display, "UserSurvey/SurveyDone", UserSurvey);
|
||||
|
||||
HANDLE_PROP_QBYTEARRAY(Display, "MainWindow/mainSplitter", mainSplitter);
|
||||
|
||||
HANDLE_PROP_QBYTEARRAY(Display, "MainWindow/topSplitter", topSplitter);
|
||||
|
||||
HANDLE_PROP_QBYTEARRAY(Display, "MainWindow/bottomSplitter", bottomSplitter);
|
||||
|
||||
HANDLE_PROP_BOOL(Display, "MainWindow/maximized", maximized);
|
||||
|
||||
HANDLE_PROP_QBYTEARRAY(Display, "MainWindow/geometry", geometry);
|
||||
|
||||
HANDLE_PROP_QBYTEARRAY(Display, "MainWindow/windowState", windowState);
|
||||
|
||||
HANDLE_PROP_INT(Display, "MainWindow/lastState", lastState);
|
||||
|
|
|
@ -4,14 +4,26 @@
|
|||
#include "core/pref.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QPointF>
|
||||
|
||||
class qPrefDisplay : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(int animation_speed READ animation_speed WRITE set_animation_speed NOTIFY animation_speed_changed);
|
||||
Q_PROPERTY(QString divelist_font READ divelist_font WRITE set_divelist_font NOTIFY divelist_font_changed);
|
||||
Q_PROPERTY(double font_size READ font_size WRITE set_font_size NOTIFY font_size_changed);
|
||||
Q_PROPERTY(bool display_invalid_dives READ display_invalid_dives WRITE set_display_invalid_dives NOTIFY display_invalid_dives_changed);
|
||||
Q_PROPERTY(QString lastDir READ lastDir WRITE set_lastDir NOTIFY lastDir_changed);
|
||||
Q_PROPERTY(bool show_developer READ show_developer WRITE set_show_developer NOTIFY show_developer_changed);
|
||||
Q_PROPERTY(QString theme READ theme WRITE set_theme NOTIFY theme_changed);
|
||||
Q_PROPERTY(QPointF tooltip_position READ tooltip_position WRITE set_tooltip_position NOTIFY tooltip_position_changed);
|
||||
Q_PROPERTY(QString UserSurvey READ UserSurvey WRITE set_UserSurvey NOTIFY UserSurvey_changed);
|
||||
Q_PROPERTY(QByteArray mainSplitter READ mainSplitter WRITE set_mainSplitter NOTIFY mainSplitter_changed);
|
||||
Q_PROPERTY(QByteArray topSplitter READ topSplitter WRITE set_topSplitter NOTIFY topSplitter_changed);
|
||||
Q_PROPERTY(QByteArray bottomSplitter READ bottomSplitter WRITE set_bottomSplitter NOTIFY bottomSplitter_changed);
|
||||
Q_PROPERTY(bool maximized READ maximized WRITE set_maximized NOTIFY maximized_changed);
|
||||
Q_PROPERTY(QByteArray geometry READ geometry WRITE set_geometry NOTIFY geometry_changed);
|
||||
Q_PROPERTY(QByteArray windowState READ windowState WRITE set_windowState NOTIFY windowState_changed);
|
||||
Q_PROPERTY(int lastState READ lastState WRITE set_lastState NOTIFY lastState_changed);
|
||||
|
||||
public:
|
||||
qPrefDisplay(QObject *parent = NULL);
|
||||
|
@ -23,35 +35,94 @@ public:
|
|||
static void sync() { loadSync(true); }
|
||||
|
||||
public:
|
||||
static int animation_speed() { return prefs.animation_speed; }
|
||||
static QString divelist_font() { return prefs.divelist_font; }
|
||||
static double font_size() { return prefs.font_size; }
|
||||
static bool display_invalid_dives() { return prefs.display_invalid_dives; }
|
||||
static QString lastDir() { return st_lastDir; ; }
|
||||
static bool show_developer() { return prefs.show_developer; }
|
||||
static QString theme() { return prefs.theme; }
|
||||
static QString theme() { return st_theme; }
|
||||
static QPointF tooltip_position() { return st_tooltip_position; }
|
||||
static QString UserSurvey() { return st_UserSurvey; }
|
||||
static QByteArray mainSplitter() { return st_mainSplitter; }
|
||||
static QByteArray topSplitter() { return st_topSplitter; }
|
||||
static QByteArray bottomSplitter() { return st_bottomSplitter; }
|
||||
static bool maximized() { return st_maximized; }
|
||||
static QByteArray geometry() { return st_geometry; }
|
||||
static QByteArray windowState() { return st_windowState; }
|
||||
static int lastState() { return st_lastState; }
|
||||
|
||||
public slots:
|
||||
static void set_animation_speed(int value);
|
||||
static void set_divelist_font(const QString &value);
|
||||
static void set_font_size(double value);
|
||||
static void set_display_invalid_dives(bool value);
|
||||
static void set_lastDir(const QString &value);
|
||||
static void set_show_developer(bool value);
|
||||
static void set_theme(const QString &value);
|
||||
static void set_tooltip_position(const QPointF &value);
|
||||
static void set_UserSurvey(const QString &value);
|
||||
static void set_mainSplitter(const QByteArray &value);
|
||||
static void set_topSplitter(const QByteArray &value);
|
||||
static void set_bottomSplitter(const QByteArray &value);
|
||||
static void set_maximized(bool value);
|
||||
static void set_geometry(const QByteArray& value);
|
||||
static void set_windowState(const QByteArray& value);
|
||||
static void set_lastState(int value);
|
||||
|
||||
signals:
|
||||
void animation_speed_changed(int value);
|
||||
void divelist_font_changed(const QString &value);
|
||||
void font_size_changed(double value);
|
||||
void display_invalid_dives_changed(bool value);
|
||||
void lastDir_changed(const QString &value);
|
||||
void show_developer_changed(bool value);
|
||||
void theme_changed(const QString &value);
|
||||
void tooltip_position_changed(const QPointF &value);
|
||||
void UserSurvey_changed(const QString &value);
|
||||
void mainSplitter_changed(const QByteArray &value);
|
||||
void topSplitter_changed(const QByteArray &value);
|
||||
void bottomSplitter_changed(const QByteArray &value);
|
||||
void maximized_changed(bool value);
|
||||
void geometry_changed(const QByteArray& value);
|
||||
void windowState_changed(const QByteArray& value);
|
||||
void lastState_changed(int value);
|
||||
|
||||
private:
|
||||
// functions to load/sync variable with disk
|
||||
static void disk_animation_speed(bool doSync);
|
||||
static void disk_divelist_font(bool doSync);
|
||||
static void disk_font_size(bool doSync);
|
||||
static void disk_display_invalid_dives(bool doSync);
|
||||
static void disk_show_developer(bool doSync);
|
||||
static void disk_theme(bool doSync);
|
||||
|
||||
// functions to handle class variables
|
||||
static void load_lastDir();
|
||||
static void load_theme();
|
||||
static void load_tooltip_position();
|
||||
static void load_UserSurvey();
|
||||
static void load_mainSplitter();
|
||||
static void load_topSplitter();
|
||||
static void load_bottomSplitter();
|
||||
static void load_maximized();
|
||||
static void load_geometry();
|
||||
static void load_windowState();
|
||||
static void load_lastState();
|
||||
|
||||
// font helper function
|
||||
static void setCorrectFont();
|
||||
|
||||
// Class variables not present in structure preferences
|
||||
static QString st_lastDir;
|
||||
static QString st_theme;
|
||||
static QPointF st_tooltip_position;
|
||||
static QString st_UserSurvey;
|
||||
static QByteArray st_mainSplitter;
|
||||
static QByteArray st_topSplitter;
|
||||
static QByteArray st_bottomSplitter;
|
||||
static bool st_maximized;
|
||||
static QByteArray st_geometry;
|
||||
static QByteArray st_windowState;
|
||||
static int st_lastState;
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -74,7 +74,7 @@ void PreferencesDefaults::refreshSettings()
|
|||
ui->default_cylinder->setCurrentIndex(i);
|
||||
}
|
||||
ui->displayinvalid->setChecked(qPrefDisplay::display_invalid_dives());
|
||||
ui->velocitySlider->setValue(qPrefAnimations::animation_speed());
|
||||
ui->velocitySlider->setValue(qPrefDisplay::animation_speed());
|
||||
ui->btnUseDefaultFile->setChecked(qPrefGeneral::use_default_file());
|
||||
|
||||
if (qPrefCloudStorage::cloud_verification_status() == qPref::CS_VERIFIED) {
|
||||
|
@ -117,5 +117,5 @@ void PreferencesDefaults::syncSettings()
|
|||
qPrefDisplay::set_divelist_font(ui->font->currentFont().toString());
|
||||
qPrefDisplay::set_font_size(ui->fontsize->value());
|
||||
qPrefDisplay::set_display_invalid_dives(ui->displayinvalid->isChecked());
|
||||
qPrefAnimations::set_animation_speed(ui->velocitySlider->value());
|
||||
qPrefDisplay::set_animation_speed(ui->velocitySlider->value());
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include "templatelayout.h"
|
||||
#include "core/statistics.h"
|
||||
#include "core/qthelper.h"
|
||||
#include "core/settings/qPrefAnimations.h"
|
||||
#include "core/settings/qPrefDisplay.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <QPainter>
|
||||
|
@ -136,7 +136,7 @@ void Printer::render(int Pages = 0)
|
|||
// keep original preferences
|
||||
QPointer<ProfileWidget2> profile = MainWindow::instance()->graphics();
|
||||
int profileFrameStyle = profile->frameStyle();
|
||||
int animationOriginal = qPrefAnimations::animation_speed();
|
||||
int animationOriginal = qPrefDisplay::animation_speed();
|
||||
double fontScale = profile->getFontPrintScale();
|
||||
double printFontScale = 1.0;
|
||||
|
||||
|
@ -144,7 +144,7 @@ void Printer::render(int Pages = 0)
|
|||
profile->setFrameStyle(QFrame::NoFrame);
|
||||
profile->setPrintMode(true, !printOptions->color_selected);
|
||||
profile->setToolTipVisibile(false);
|
||||
qPrefAnimations::set_animation_speed(0);
|
||||
qPrefDisplay::set_animation_speed(0);
|
||||
|
||||
// render the Qwebview
|
||||
QPainter painter;
|
||||
|
@ -202,7 +202,7 @@ void Printer::render(int Pages = 0)
|
|||
#else
|
||||
profile->resize(originalSize);
|
||||
#endif
|
||||
qPrefAnimations::set_animation_speed(animationOriginal);
|
||||
qPrefDisplay::set_animation_speed(animationOriginal);
|
||||
|
||||
//replot the dive after returning the settings
|
||||
profile->plotDive(0, true, true);
|
||||
|
|
|
@ -78,7 +78,6 @@ SOURCES += ../../subsurface-mobile-main.cpp \
|
|||
../../core/connectionlistmodel.cpp \
|
||||
../../core/qt-ble.cpp \
|
||||
../../core/settings/qPref.cpp \
|
||||
../../core/settings/qPrefAnimations.cpp \
|
||||
../../core/settings/qPrefCloudStorage.cpp \
|
||||
../../core/settings/qPrefDisplay.cpp \
|
||||
../../core/settings/qPrefDiveComputer.cpp \
|
||||
|
@ -200,7 +199,6 @@ HEADERS += \
|
|||
../../core/connectionlistmodel.h \
|
||||
../../core/qt-ble.h \
|
||||
../../core/settings/qPref.h \
|
||||
../../core/settings/qPrefAnimations.h \
|
||||
../../core/settings/qPrefCloudStorage.h \
|
||||
../../core/settings/qPrefDisplay.h \
|
||||
../../core/settings/qPrefDiveComputer.h \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "profile-widget/animationfunctions.h"
|
||||
#include "core/pref.h"
|
||||
#include "core/settings/qPrefAnimations.h"
|
||||
#include "core/settings/qPrefDisplay.h"
|
||||
#include <QPropertyAnimation>
|
||||
|
||||
namespace Animations {
|
||||
|
||||
void hide(QObject *obj)
|
||||
{
|
||||
if (qPrefAnimations::animation_speed() != 0) {
|
||||
if (qPrefDisplay::animation_speed() != 0) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity");
|
||||
animation->setStartValue(1);
|
||||
animation->setEndValue(0);
|
||||
|
@ -20,7 +20,7 @@ namespace Animations {
|
|||
|
||||
void show(QObject *obj)
|
||||
{
|
||||
if (qPrefAnimations::animation_speed() != 0) {
|
||||
if (qPrefDisplay::animation_speed() != 0) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity");
|
||||
animation->setStartValue(0);
|
||||
animation->setEndValue(1);
|
||||
|
@ -32,7 +32,7 @@ namespace Animations {
|
|||
|
||||
void animDelete(QObject *obj)
|
||||
{
|
||||
if (qPrefAnimations::animation_speed() != 0) {
|
||||
if (qPrefDisplay::animation_speed() != 0) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity");
|
||||
obj->connect(animation, &QPropertyAnimation::finished, &QObject::deleteLater);
|
||||
animation->setStartValue(1);
|
||||
|
@ -45,7 +45,7 @@ namespace Animations {
|
|||
|
||||
void moveTo(QObject *obj, qreal x, qreal y)
|
||||
{
|
||||
if (qPrefAnimations::animation_speed() != 0) {
|
||||
if (qPrefDisplay::animation_speed() != 0) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "pos");
|
||||
animation->setDuration(prefs.animation_speed);
|
||||
animation->setStartValue(obj->property("pos").toPointF());
|
||||
|
@ -58,7 +58,7 @@ namespace Animations {
|
|||
|
||||
void scaleTo(QObject *obj, qreal scale)
|
||||
{
|
||||
if (qPrefAnimations::animation_speed() != 0) {
|
||||
if (qPrefDisplay::animation_speed() != 0) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "scale");
|
||||
animation->setDuration(prefs.animation_speed);
|
||||
animation->setStartValue(obj->property("scale").toReal());
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "core/profile.h"
|
||||
#include "core/membuffer.h"
|
||||
#include "core/metrics.h"
|
||||
#include "core/settings/qPrefAnimations.h"
|
||||
#include "core/settings/qPrefDisplay.h"
|
||||
#include <QPropertyAnimation>
|
||||
#include <QSettings>
|
||||
#include <QGraphicsView>
|
||||
|
@ -62,7 +62,7 @@ void ToolTipItem::collapse()
|
|||
{
|
||||
int dim = defaultIconMetrics().sz_small;
|
||||
|
||||
if (qPrefAnimations::animation_speed()) {
|
||||
if (qPrefDisplay::animation_speed()) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(this, "rect");
|
||||
animation->setDuration(100);
|
||||
animation->setStartValue(nextRectangle);
|
||||
|
@ -120,7 +120,7 @@ void ToolTipItem::expand()
|
|||
nextRectangle.setHeight(height);
|
||||
|
||||
if (nextRectangle != rect()) {
|
||||
if (qPrefAnimations::animation_speed()) {
|
||||
if (qPrefDisplay::animation_speed()) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(this, "rect", this);
|
||||
animation->setDuration(prefs.animation_speed);
|
||||
animation->setStartValue(rect());
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "core/subsurface-string.h"
|
||||
#include "core/qthelper.h"
|
||||
#include "core/profile.h"
|
||||
#include "core/settings/qPrefAnimations.h"
|
||||
#include "core/settings/qPrefDisplay.h"
|
||||
#include "core/settings/qPrefTechnicalDetails.h"
|
||||
#include "core/settings/qPrefPartialPressureGas.h"
|
||||
#include "profile-widget/diveeventitem.h"
|
||||
|
@ -596,8 +596,8 @@ void ProfileWidget2::plotDive(struct dive *d, bool force, bool doClearPictures)
|
|||
// special handling for the first time we display things
|
||||
int animSpeedBackup = 0;
|
||||
if (firstCall && haveFilesOnCommandLine()) {
|
||||
animSpeedBackup = qPrefAnimations::animation_speed();
|
||||
qPrefAnimations::set_animation_speed(0);
|
||||
animSpeedBackup = qPrefDisplay::animation_speed();
|
||||
qPrefDisplay::set_animation_speed(0);
|
||||
firstCall = false;
|
||||
}
|
||||
|
||||
|
@ -806,7 +806,7 @@ void ProfileWidget2::plotDive(struct dive *d, bool force, bool doClearPictures)
|
|||
#endif
|
||||
diveComputerText->setText(dcText);
|
||||
if (haveFilesOnCommandLine() && animSpeedBackup != 0) {
|
||||
qPrefAnimations::set_animation_speed(animSpeedBackup);
|
||||
qPrefDisplay::set_animation_speed(animSpeedBackup);
|
||||
}
|
||||
|
||||
#ifndef SUBSURFACE_MOBILE
|
||||
|
|
|
@ -156,7 +156,6 @@ void register_qml_types()
|
|||
{
|
||||
int rc;
|
||||
REGISTER_TYPE(qPref, "SsrfPrefs");
|
||||
REGISTER_TYPE(qPrefAnimations, "SsrfAnimationsPrefs");
|
||||
REGISTER_TYPE(qPrefCloudStorage, "SsrfCloudStoragePrefs");
|
||||
REGISTER_TYPE(qPrefDisplay, "SsrfDisplayPrefs");
|
||||
REGISTER_TYPE(qPrefDiveComputer, "SsrfDiveComputerPrefs");
|
||||
|
|
|
@ -98,7 +98,7 @@ int main(int argc, char **argv)
|
|||
set_filename(NULL);
|
||||
|
||||
// some hard coded settings
|
||||
qPrefAnimations::set_animation_speed(0); // we render the profile to pixmap, no animations
|
||||
qPrefDisplay::set_animation_speed(0); // we render the profile to pixmap, no animations
|
||||
|
||||
// always show the divecomputer reported ceiling in red
|
||||
prefs.redceiling = 1;
|
||||
|
|
|
@ -100,7 +100,6 @@ TEST(TestPicture testpicture.cpp)
|
|||
TEST(TestMerge testmerge.cpp)
|
||||
TEST(TestTagList testtaglist.cpp)
|
||||
|
||||
TEST(TestQPrefAnimations testqPrefAnimations.cpp)
|
||||
TEST(TestQPrefCloudStorage testqPrefCloudStorage.cpp)
|
||||
TEST(TestQPrefDisplay testqPrefDisplay.cpp)
|
||||
TEST(TestQPrefDiveComputer testqPrefDiveComputer.cpp)
|
||||
|
@ -132,7 +131,6 @@ add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}
|
|||
TestMerge
|
||||
TestTagList
|
||||
|
||||
TestQPrefAnimations
|
||||
TestQPrefCloudStorage
|
||||
TestQPrefDisplay
|
||||
TestQPrefDiveComputer
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "testqPrefAnimations.h"
|
||||
|
||||
#include "core/pref.h"
|
||||
#include "core/qthelper.h"
|
||||
#include "core/settings/qPref.h"
|
||||
|
||||
#include <QDate>
|
||||
#include <QTest>
|
||||
|
||||
void TestQPrefAnimations::initTestCase()
|
||||
{
|
||||
QCoreApplication::setOrganizationName("Subsurface");
|
||||
QCoreApplication::setOrganizationDomain("subsurface.hohndel.org");
|
||||
QCoreApplication::setApplicationName("SubsurfaceTestQPrefAnimations");
|
||||
}
|
||||
|
||||
void TestQPrefAnimations::test_struct_get()
|
||||
{
|
||||
// Test struct pref -> get func.
|
||||
|
||||
auto tst = qPrefAnimations::instance();
|
||||
|
||||
prefs.animation_speed = 17;
|
||||
|
||||
QCOMPARE(tst->animation_speed(), prefs.animation_speed);
|
||||
}
|
||||
|
||||
void TestQPrefAnimations::test_set_struct()
|
||||
{
|
||||
// Test set func -> struct pref
|
||||
|
||||
auto tst = qPrefAnimations::instance();
|
||||
|
||||
tst->set_animation_speed(27);
|
||||
|
||||
QCOMPARE(prefs.animation_speed, 27);
|
||||
}
|
||||
|
||||
void TestQPrefAnimations::test_set_load_struct()
|
||||
{
|
||||
// test set func -> load -> struct pref
|
||||
|
||||
auto tst = qPrefAnimations::instance();
|
||||
|
||||
tst->set_animation_speed(33);
|
||||
|
||||
prefs.animation_speed = 17;
|
||||
|
||||
tst->load();
|
||||
QCOMPARE(prefs.animation_speed, 33);
|
||||
}
|
||||
|
||||
void TestQPrefAnimations::test_struct_disk()
|
||||
{
|
||||
// test struct prefs -> disk
|
||||
|
||||
auto tst = qPrefAnimations::instance();
|
||||
|
||||
prefs.animation_speed = 27;
|
||||
|
||||
tst->sync();
|
||||
prefs.animation_speed = 35;
|
||||
|
||||
tst->load();
|
||||
QCOMPARE(prefs.animation_speed, 27);
|
||||
}
|
||||
|
||||
void TestQPrefAnimations::test_multiple()
|
||||
{
|
||||
// test multiple instances have the same information
|
||||
|
||||
prefs.animation_speed = 37;
|
||||
auto tst_direct = new qPrefAnimations;
|
||||
|
||||
prefs.animation_speed = 25;
|
||||
auto tst = qPrefAnimations::instance();
|
||||
|
||||
QCOMPARE(tst->animation_speed(), tst_direct->animation_speed());
|
||||
QCOMPARE(tst_direct->animation_speed(), 25);
|
||||
}
|
||||
|
||||
QTEST_MAIN(TestQPrefAnimations)
|
|
@ -1,18 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#ifndef TESTQPREFANIMATIONS_H
|
||||
#define TESTQPREFANIMATIONS_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class TestQPrefAnimations : public QObject {
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void initTestCase();
|
||||
void test_struct_get();
|
||||
void test_set_struct();
|
||||
void test_set_load_struct();
|
||||
void test_struct_disk();
|
||||
void test_multiple();
|
||||
};
|
||||
|
||||
#endif // TESTQPREFANIMATIONS_H
|
|
@ -21,17 +21,17 @@ void TestQPrefDisplay::test_struct_get()
|
|||
|
||||
auto display = qPrefDisplay::instance();
|
||||
|
||||
prefs.animation_speed = 17;
|
||||
prefs.display_invalid_dives = true;
|
||||
prefs.divelist_font = copy_qstring("comic");
|
||||
prefs.font_size = 12.0;
|
||||
prefs.show_developer = false;
|
||||
prefs.theme = copy_qstring("myTheme");
|
||||
|
||||
QCOMPARE(display->animation_speed(), prefs.animation_speed);
|
||||
QCOMPARE(display->display_invalid_dives(), prefs.display_invalid_dives);
|
||||
QCOMPARE(display->divelist_font(), QString(prefs.divelist_font));
|
||||
QCOMPARE(display->font_size(), prefs.font_size);
|
||||
QCOMPARE(display->show_developer(), prefs.show_developer);
|
||||
QCOMPARE(display->theme(), QString(prefs.theme));
|
||||
}
|
||||
|
||||
void TestQPrefDisplay::test_set_struct()
|
||||
|
@ -40,17 +40,39 @@ void TestQPrefDisplay::test_set_struct()
|
|||
|
||||
auto display = qPrefDisplay::instance();
|
||||
|
||||
display->set_animation_speed(27);
|
||||
display->set_display_invalid_dives(true);
|
||||
display->set_divelist_font("doNotCareAtAll");
|
||||
display->set_font_size(12.0);
|
||||
display->set_show_developer(false);
|
||||
display->set_theme("myTheme");
|
||||
display->set_lastDir("test1");
|
||||
display->set_tooltip_position(QPointF(512, 3));
|
||||
display->set_UserSurvey("my1");
|
||||
display->set_mainSplitter("main1");
|
||||
display->set_topSplitter("top1");
|
||||
display->set_bottomSplitter("bottom1");
|
||||
display->set_maximized(false);
|
||||
display->set_geometry("geo1");
|
||||
display->set_windowState("win1");
|
||||
display->set_lastState(17);
|
||||
|
||||
QCOMPARE(prefs.animation_speed, 27);
|
||||
QCOMPARE(prefs.display_invalid_dives, true);
|
||||
QCOMPARE(prefs.divelist_font, "doNotCareAtAll");
|
||||
QCOMPARE(prefs.font_size, 12.0);
|
||||
QCOMPARE(prefs.show_developer, false);
|
||||
QCOMPARE(prefs.theme, "myTheme");
|
||||
QCOMPARE(display->theme(), QString("myTheme"));
|
||||
QCOMPARE(display->lastDir(), QString("test1"));
|
||||
QCOMPARE(display->tooltip_position(), QPointF(512, 3));
|
||||
QCOMPARE(display->UserSurvey(), QString("my1"));
|
||||
QCOMPARE(display->mainSplitter(), QByteArray("main1"));
|
||||
QCOMPARE(display->topSplitter(), QByteArray("top1"));
|
||||
QCOMPARE(display->bottomSplitter(), QByteArray("bottom1"));
|
||||
QCOMPARE(display->maximized(), false);
|
||||
QCOMPARE(display->geometry(), QByteArray("geo1"));
|
||||
QCOMPARE(display->windowState(), QByteArray("win1"));
|
||||
QCOMPARE(display->lastState(), 17);
|
||||
}
|
||||
|
||||
void TestQPrefDisplay::test_set_load_struct()
|
||||
|
@ -59,24 +81,46 @@ void TestQPrefDisplay::test_set_load_struct()
|
|||
|
||||
auto display = qPrefDisplay::instance();
|
||||
|
||||
display->set_animation_speed(33);
|
||||
display->set_display_invalid_dives(false);
|
||||
display->set_divelist_font("doNotCareString");
|
||||
display->set_font_size(15.0);
|
||||
display->set_show_developer(true);
|
||||
display->set_theme("myTheme2");
|
||||
display->set_lastDir("test2");
|
||||
display->set_tooltip_position(QPointF(612, 3));
|
||||
display->set_UserSurvey("my2");
|
||||
display->set_mainSplitter("main2");
|
||||
display->set_topSplitter("top2");
|
||||
display->set_bottomSplitter("bottom2");
|
||||
display->set_maximized(true);
|
||||
display->set_geometry("geo2");
|
||||
display->set_windowState("win2");
|
||||
display->set_lastState(27);
|
||||
|
||||
prefs.animation_speed = 17;
|
||||
prefs.display_invalid_dives = true;
|
||||
prefs.divelist_font = copy_qstring("doNotCareAtAll");
|
||||
prefs.font_size = 12.0;
|
||||
prefs.show_developer = false;
|
||||
prefs.theme = copy_qstring("myTheme");
|
||||
|
||||
display->load();
|
||||
QCOMPARE(prefs.animation_speed, 33);
|
||||
QCOMPARE(prefs.display_invalid_dives, false);
|
||||
QCOMPARE(prefs.divelist_font, "doNotCareString");
|
||||
QCOMPARE(prefs.font_size, 15.0);
|
||||
QCOMPARE(prefs.show_developer, true);
|
||||
QCOMPARE(prefs.theme, "myTheme2");
|
||||
QCOMPARE(display->theme(), QString("myTheme2"));
|
||||
QCOMPARE(display->lastDir(), QString("test2"));
|
||||
QCOMPARE(display->tooltip_position(), QPointF(612, 3));
|
||||
QCOMPARE(display->UserSurvey(), QString("my2"));
|
||||
QCOMPARE(display->mainSplitter(), QByteArray("main2"));
|
||||
QCOMPARE(display->topSplitter(), QByteArray("top2"));
|
||||
QCOMPARE(display->bottomSplitter(), QByteArray("bottom2"));
|
||||
QCOMPARE(display->maximized(), true);
|
||||
QCOMPARE(display->geometry(), QByteArray("geo2"));
|
||||
QCOMPARE(display->windowState(), QByteArray("win2"));
|
||||
QCOMPARE(display->lastState(), 27);
|
||||
}
|
||||
|
||||
void TestQPrefDisplay::test_struct_disk()
|
||||
|
@ -85,25 +129,25 @@ void TestQPrefDisplay::test_struct_disk()
|
|||
|
||||
auto display = qPrefDisplay::instance();
|
||||
|
||||
prefs.animation_speed = 27;
|
||||
prefs.display_invalid_dives = true;
|
||||
prefs.divelist_font = copy_qstring("doNotCareAtAll");
|
||||
prefs.font_size = 17.0;
|
||||
prefs.show_developer = false;
|
||||
prefs.theme = copy_qstring("myTheme3");
|
||||
|
||||
display->sync();
|
||||
prefs.animation_speed = 35;
|
||||
prefs.display_invalid_dives = false;
|
||||
prefs.divelist_font = copy_qstring("noString");
|
||||
prefs.font_size = 11.0;
|
||||
prefs.show_developer = true;
|
||||
prefs.theme = copy_qstring("myTheme");
|
||||
|
||||
display->load();
|
||||
QCOMPARE(prefs.animation_speed, 27);
|
||||
QCOMPARE(prefs.display_invalid_dives, true);
|
||||
QCOMPARE(prefs.divelist_font, "doNotCareAtAll");
|
||||
QCOMPARE(prefs.font_size, 17.0);
|
||||
QCOMPARE(prefs.show_developer, false);
|
||||
QCOMPARE(prefs.theme, "myTheme3");
|
||||
}
|
||||
|
||||
void TestQPrefDisplay::test_multiple()
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
import QtQuick 2.6
|
||||
import QtTest 1.2
|
||||
import org.subsurfacedivelog.mobile 1.0
|
||||
|
||||
TestCase {
|
||||
name: "qPrefAnimations"
|
||||
|
||||
SsrfAnimationsPrefs {
|
||||
id: tst
|
||||
}
|
||||
|
||||
function test_variables() {
|
||||
var x1 = tst.animation_speed;
|
||||
tst.animation_speed = 37
|
||||
compare(tst.animation_speed, 37)
|
||||
}
|
||||
|
||||
}
|
|
@ -11,21 +11,68 @@ TestCase {
|
|||
}
|
||||
|
||||
function test_variables() {
|
||||
var x0 = display.animation_speed
|
||||
display.animation_speed = 37
|
||||
compare(display.animation_speed, 37)
|
||||
|
||||
var x1 = display.divelist_font
|
||||
display.divelist_font = "helvitica"
|
||||
compare(display.divelist_font, "helvitica")
|
||||
|
||||
var x2 = display.font_size
|
||||
display.font_size = 12.0
|
||||
compare(display.font_size, 12.0)
|
||||
|
||||
var x3 = display.display_invalid_dives
|
||||
display.display_invalid_dives = !x3
|
||||
compare(display.display_invalid_dives, !x3)
|
||||
|
||||
var x4 = display.show_developer
|
||||
display.show_developer = !x4
|
||||
compare(display.show_developer, !x4)
|
||||
|
||||
var x5 = display.theme
|
||||
display.theme = "myColor"
|
||||
compare(display.theme, "myColor")
|
||||
}
|
||||
|
||||
//TBD var x6 = display.tooltip_position
|
||||
//TBD display.tooltip_position = ??
|
||||
//TBD compare(display.tooltip_position, ??)
|
||||
|
||||
var x7 = display.lastDir
|
||||
display.lastDir = "myDir"
|
||||
compare(display.lastDir, "myDir")
|
||||
|
||||
var x8 = display.UserSurvey
|
||||
display.UserSurvey = "yes"
|
||||
compare(display.UserSurvey, "yes")
|
||||
|
||||
//TBD var x9 = display.mainSplitter
|
||||
//TBD display.mainSplitter = ???
|
||||
//TBD compare(display.mainSplitter, ???)
|
||||
|
||||
//TBD var x10 = display.topSplitter
|
||||
//TBD display.topSplitter = ???
|
||||
//TBD compare(display.topSplitter, ???)
|
||||
|
||||
//TBD var x11 = display.bottomSplitter
|
||||
//TBD display.bottomSplitter = ???
|
||||
//TBD compare(display.bottomSplitter, ???)
|
||||
|
||||
var x12 = display.maximized
|
||||
display.maximized = true
|
||||
compare(display.maximized, true)
|
||||
|
||||
//TBD var x13 = display.geometry
|
||||
//TBD display.geometry = ???
|
||||
//TBD compare(display.geometry, ???)
|
||||
|
||||
//TBD var x14 = display.windowState
|
||||
//TBD display.windowState = ???
|
||||
//TBD compare(display.windowState, ???)
|
||||
|
||||
var x15 = display.lastState
|
||||
display.lastState = 17
|
||||
compare(display.lastState, 17)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue