mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +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;
 | 
			
		||||
	bool        show_developer;
 | 
			
		||||
	bool        three_m_based_grid;
 | 
			
		||||
	bool        map_short_names;
 | 
			
		||||
 | 
			
		||||
	// ********** Equipment tab *******
 | 
			
		||||
	const char *default_cylinder;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,6 +68,7 @@ void qPrefDisplay::loadSync(bool doSync)
 | 
			
		|||
		load_singleColumnPortrait();
 | 
			
		||||
	}
 | 
			
		||||
	disk_three_m_based_grid(doSync);
 | 
			
		||||
	disk_map_short_names(doSync);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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, "map_short_names", map_short_names);
 | 
			
		||||
 | 
			
		||||
void qPrefDisplay::setCorrectFont()
 | 
			
		||||
{
 | 
			
		||||
	// 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(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 map_short_names READ map_short_names WRITE set_map_short_names NOTIFY map_short_namesChanged)
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	static qPrefDisplay *instance();
 | 
			
		||||
| 
						 | 
				
			
			@ -54,6 +55,7 @@ public:
 | 
			
		|||
	static int lastState() { return st_lastState; }
 | 
			
		||||
	static bool singleColumnPortrait() { return st_singleColumnPortrait; }
 | 
			
		||||
	static bool three_m_based_grid() { return prefs.three_m_based_grid; }
 | 
			
		||||
	static bool map_short_names() { return prefs.map_short_names; }
 | 
			
		||||
 | 
			
		||||
public slots:
 | 
			
		||||
	static void set_animation_speed(int value);
 | 
			
		||||
| 
						 | 
				
			
			@ -74,6 +76,7 @@ public slots:
 | 
			
		|||
	static void set_lastState(int value);
 | 
			
		||||
	static void set_singleColumnPortrait(bool value);
 | 
			
		||||
	static void set_three_m_based_grid(bool value);
 | 
			
		||||
	static void set_map_short_names(bool value);
 | 
			
		||||
 | 
			
		||||
signals:
 | 
			
		||||
	void animation_speedChanged(int value);
 | 
			
		||||
| 
						 | 
				
			
			@ -94,6 +97,7 @@ signals:
 | 
			
		|||
	void lastStateChanged(int value);
 | 
			
		||||
	void singleColumnPortraitChanged(bool value);
 | 
			
		||||
	void three_m_based_gridChanged(bool value);
 | 
			
		||||
	void map_short_namesChanged(bool value);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
	qPrefDisplay() {}
 | 
			
		||||
| 
						 | 
				
			
			@ -106,6 +110,7 @@ private:
 | 
			
		|||
	static void disk_display_invalid_dives(bool doSync);
 | 
			
		||||
	static void disk_show_developer(bool doSync);
 | 
			
		||||
	static void disk_three_m_based_grid(bool doSync);
 | 
			
		||||
	static void disk_map_short_names(bool doSync);
 | 
			
		||||
 | 
			
		||||
	// functions to handle class variables
 | 
			
		||||
	static void load_lastDir();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ MapWidget::MapWidget(QWidget *parent) : QQuickWidget(parent)
 | 
			
		|||
	connect(this, &QQuickWidget::statusChanged, this, &MapWidget::doneLoading);
 | 
			
		||||
	connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &MapWidget::divesChanged);
 | 
			
		||||
	connect(&diveListNotifier, &DiveListNotifier::dataReset, this, &MapWidget::reload);
 | 
			
		||||
	connect(&diveListNotifier, &DiveListNotifier::settingsChanged, this, &MapWidget::reload);
 | 
			
		||||
	setSource(urlMapWidget);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,6 +32,8 @@ void PreferencesDefaults::refreshSettings()
 | 
			
		|||
		ui->grid3MBased->setChecked(true);
 | 
			
		||||
	else
 | 
			
		||||
		ui->gridGeneric->setChecked(true);
 | 
			
		||||
 | 
			
		||||
	ui->checkBox_map_short_names->setChecked(qPrefDisplay::map_short_names());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void PreferencesDefaults::syncSettings()
 | 
			
		||||
| 
						 | 
				
			
			@ -40,4 +42,5 @@ void PreferencesDefaults::syncSettings()
 | 
			
		|||
	qPrefDisplay::set_font_size(ui->fontsize->value());
 | 
			
		||||
	qPrefDisplay::set_animation_speed(ui->velocitySlider->value());
 | 
			
		||||
	qPrefDisplay::set_three_m_based_grid(ui->grid3MBased->isChecked());
 | 
			
		||||
	qPrefDisplay::set_map_short_names(ui->checkBox_map_short_names->isChecked());
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -149,6 +149,29 @@
 | 
			
		|||
    </widget>
 | 
			
		||||
   </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>
 | 
			
		||||
    <spacer name="verticalSpacer_2">
 | 
			
		||||
     <property name="orientation">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
#include "divelocationmodel.h"
 | 
			
		||||
#include "core/divesite.h"
 | 
			
		||||
#include "core/divefilter.h"
 | 
			
		||||
#include "core/settings/qPrefDisplay.h"
 | 
			
		||||
#if !defined(SUBSURFACE_MOBILE) && !defined(SUBSURFACE_DOWNLOADER)
 | 
			
		||||
#include "qt-models/filtermodels.h"
 | 
			
		||||
#include "desktop-widgets/mapwidget.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -19,8 +20,12 @@ static QString siteMapDisplayName(const char *sitename)
 | 
			
		|||
{
 | 
			
		||||
	const char Separator = '/';
 | 
			
		||||
	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()) {
 | 
			
		||||
		name = fullname;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue