mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Map Short Names - add preference setting
Adds a preference setting in the "Default" settings tab to toggle whether to display shortened names in the Map. TODO: instead of using the generic "settingsChanged" signal, it would be much more efficient to only update items based on the actual setting which was changed. Signed-off-by: Michael WERLE <micha@michaelwerle.com>
This commit is contained in:
parent
3dbba5ae69
commit
efb1832db8
7 changed files with 44 additions and 3 deletions
|
@ -104,6 +104,7 @@ struct preferences {
|
||||||
double mobile_scale;
|
double mobile_scale;
|
||||||
bool show_developer;
|
bool show_developer;
|
||||||
bool three_m_based_grid;
|
bool three_m_based_grid;
|
||||||
|
bool map_short_names;
|
||||||
|
|
||||||
// ********** Equipment tab *******
|
// ********** Equipment tab *******
|
||||||
const char *default_cylinder;
|
const char *default_cylinder;
|
||||||
|
|
|
@ -68,6 +68,7 @@ void qPrefDisplay::loadSync(bool doSync)
|
||||||
load_singleColumnPortrait();
|
load_singleColumnPortrait();
|
||||||
}
|
}
|
||||||
disk_three_m_based_grid(doSync);
|
disk_three_m_based_grid(doSync);
|
||||||
|
disk_map_short_names(doSync);
|
||||||
}
|
}
|
||||||
|
|
||||||
void qPrefDisplay::set_divelist_font(const QString &value)
|
void qPrefDisplay::set_divelist_font(const QString &value)
|
||||||
|
@ -151,6 +152,8 @@ HANDLE_PREFERENCE_BOOL(Display, "show_developer", show_developer);
|
||||||
|
|
||||||
HANDLE_PREFERENCE_BOOL(Display, "three_m_based_grid", three_m_based_grid);
|
HANDLE_PREFERENCE_BOOL(Display, "three_m_based_grid", three_m_based_grid);
|
||||||
|
|
||||||
|
HANDLE_PREFERENCE_BOOL(Display, "map_short_names", map_short_names);
|
||||||
|
|
||||||
void qPrefDisplay::setCorrectFont()
|
void qPrefDisplay::setCorrectFont()
|
||||||
{
|
{
|
||||||
// get the font from the settings or our defaults
|
// get the font from the settings or our defaults
|
||||||
|
|
|
@ -26,6 +26,7 @@ class qPrefDisplay : public QObject {
|
||||||
Q_PROPERTY(int lastState READ lastState WRITE set_lastState NOTIFY lastStateChanged)
|
Q_PROPERTY(int lastState READ lastState WRITE set_lastState NOTIFY lastStateChanged)
|
||||||
Q_PROPERTY(bool singleColumnPortrait READ singleColumnPortrait WRITE set_singleColumnPortrait NOTIFY singleColumnPortraitChanged)
|
Q_PROPERTY(bool singleColumnPortrait READ singleColumnPortrait WRITE set_singleColumnPortrait NOTIFY singleColumnPortraitChanged)
|
||||||
Q_PROPERTY(bool three_m_based_grid READ three_m_based_grid WRITE set_three_m_based_grid NOTIFY three_m_based_gridChanged)
|
Q_PROPERTY(bool three_m_based_grid READ three_m_based_grid WRITE set_three_m_based_grid NOTIFY three_m_based_gridChanged)
|
||||||
|
Q_PROPERTY(bool map_short_names READ map_short_names WRITE set_map_short_names NOTIFY map_short_namesChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static qPrefDisplay *instance();
|
static qPrefDisplay *instance();
|
||||||
|
@ -54,6 +55,7 @@ public:
|
||||||
static int lastState() { return st_lastState; }
|
static int lastState() { return st_lastState; }
|
||||||
static bool singleColumnPortrait() { return st_singleColumnPortrait; }
|
static bool singleColumnPortrait() { return st_singleColumnPortrait; }
|
||||||
static bool three_m_based_grid() { return prefs.three_m_based_grid; }
|
static bool three_m_based_grid() { return prefs.three_m_based_grid; }
|
||||||
|
static bool map_short_names() { return prefs.map_short_names; }
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
static void set_animation_speed(int value);
|
static void set_animation_speed(int value);
|
||||||
|
@ -74,6 +76,7 @@ public slots:
|
||||||
static void set_lastState(int value);
|
static void set_lastState(int value);
|
||||||
static void set_singleColumnPortrait(bool value);
|
static void set_singleColumnPortrait(bool value);
|
||||||
static void set_three_m_based_grid(bool value);
|
static void set_three_m_based_grid(bool value);
|
||||||
|
static void set_map_short_names(bool value);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void animation_speedChanged(int value);
|
void animation_speedChanged(int value);
|
||||||
|
@ -94,6 +97,7 @@ signals:
|
||||||
void lastStateChanged(int value);
|
void lastStateChanged(int value);
|
||||||
void singleColumnPortraitChanged(bool value);
|
void singleColumnPortraitChanged(bool value);
|
||||||
void three_m_based_gridChanged(bool value);
|
void three_m_based_gridChanged(bool value);
|
||||||
|
void map_short_namesChanged(bool value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
qPrefDisplay() {}
|
qPrefDisplay() {}
|
||||||
|
@ -106,6 +110,7 @@ private:
|
||||||
static void disk_display_invalid_dives(bool doSync);
|
static void disk_display_invalid_dives(bool doSync);
|
||||||
static void disk_show_developer(bool doSync);
|
static void disk_show_developer(bool doSync);
|
||||||
static void disk_three_m_based_grid(bool doSync);
|
static void disk_three_m_based_grid(bool doSync);
|
||||||
|
static void disk_map_short_names(bool doSync);
|
||||||
|
|
||||||
// functions to handle class variables
|
// functions to handle class variables
|
||||||
static void load_lastDir();
|
static void load_lastDir();
|
||||||
|
|
|
@ -29,6 +29,7 @@ MapWidget::MapWidget(QWidget *parent) : QQuickWidget(parent)
|
||||||
connect(this, &QQuickWidget::statusChanged, this, &MapWidget::doneLoading);
|
connect(this, &QQuickWidget::statusChanged, this, &MapWidget::doneLoading);
|
||||||
connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &MapWidget::divesChanged);
|
connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &MapWidget::divesChanged);
|
||||||
connect(&diveListNotifier, &DiveListNotifier::dataReset, this, &MapWidget::reload);
|
connect(&diveListNotifier, &DiveListNotifier::dataReset, this, &MapWidget::reload);
|
||||||
|
connect(&diveListNotifier, &DiveListNotifier::settingsChanged, this, &MapWidget::reload);
|
||||||
setSource(urlMapWidget);
|
setSource(urlMapWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,8 @@ void PreferencesDefaults::refreshSettings()
|
||||||
ui->grid3MBased->setChecked(true);
|
ui->grid3MBased->setChecked(true);
|
||||||
else
|
else
|
||||||
ui->gridGeneric->setChecked(true);
|
ui->gridGeneric->setChecked(true);
|
||||||
|
|
||||||
|
ui->checkBox_map_short_names->setChecked(qPrefDisplay::map_short_names());
|
||||||
}
|
}
|
||||||
|
|
||||||
void PreferencesDefaults::syncSettings()
|
void PreferencesDefaults::syncSettings()
|
||||||
|
@ -40,4 +42,5 @@ void PreferencesDefaults::syncSettings()
|
||||||
qPrefDisplay::set_font_size(ui->fontsize->value());
|
qPrefDisplay::set_font_size(ui->fontsize->value());
|
||||||
qPrefDisplay::set_animation_speed(ui->velocitySlider->value());
|
qPrefDisplay::set_animation_speed(ui->velocitySlider->value());
|
||||||
qPrefDisplay::set_three_m_based_grid(ui->grid3MBased->isChecked());
|
qPrefDisplay::set_three_m_based_grid(ui->grid3MBased->isChecked());
|
||||||
|
qPrefDisplay::set_map_short_names(ui->checkBox_map_short_names->isChecked());
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,12 +86,12 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_15">
|
<widget class="QLabel" name="label_15">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Speed</string>
|
<string>Speed</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -149,6 +149,29 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Map Display Options</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Short Names:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="checkBox_map_short_names">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_2">
|
<spacer name="verticalSpacer_2">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include "divelocationmodel.h"
|
#include "divelocationmodel.h"
|
||||||
#include "core/divesite.h"
|
#include "core/divesite.h"
|
||||||
#include "core/divefilter.h"
|
#include "core/divefilter.h"
|
||||||
|
#include "core/settings/qPrefDisplay.h"
|
||||||
#if !defined(SUBSURFACE_MOBILE) && !defined(SUBSURFACE_DOWNLOADER)
|
#if !defined(SUBSURFACE_MOBILE) && !defined(SUBSURFACE_DOWNLOADER)
|
||||||
#include "qt-models/filtermodels.h"
|
#include "qt-models/filtermodels.h"
|
||||||
#include "desktop-widgets/mapwidget.h"
|
#include "desktop-widgets/mapwidget.h"
|
||||||
|
@ -19,8 +20,12 @@ static QString siteMapDisplayName(const char *sitename)
|
||||||
{
|
{
|
||||||
const char Separator = '/';
|
const char Separator = '/';
|
||||||
QString fullname(sitename);
|
QString fullname(sitename);
|
||||||
QString name = fullname.section(Separator, -1).trimmed();
|
|
||||||
|
|
||||||
|
if (!qPrefDisplay::map_short_names() ) {
|
||||||
|
return fullname;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString name = fullname.section(Separator, -1).trimmed();
|
||||||
if (name.isEmpty()) {
|
if (name.isEmpty()) {
|
||||||
name = fullname;
|
name = fullname;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue