Skip to content

Commit

Permalink
Use new settings API
Browse files Browse the repository at this point in the history
  • Loading branch information
YoannQDQ committed Apr 22, 2023
1 parent 246cb5f commit 0945734
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 7 deletions.
12 changes: 7 additions & 5 deletions src/app/options/qgsoptions.cpp
Expand Up @@ -59,6 +59,7 @@
#include "options/qgsadvancedoptions.h"
#include "qgssettingsentryimpl.h"
#include "qgssettingsentryenumflag.h"
#include "qgsmeasuredialog.h"

#ifdef HAVE_OPENCL
#include "qgsopenclutils.h"
Expand Down Expand Up @@ -649,9 +650,9 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti

// set the measure tool copy settings
connect( mSeparatorOther, &QRadioButton::toggled, mSeparatorCustom, &QLineEdit::setEnabled );
bool includeHeader = mSettings->value( QStringLiteral( "qgis/measure/clipboard_header" ), false ).toBool();
mIncludeHeader->setChecked( includeHeader );
const QString sep = mSettings->value( QStringLiteral( "qgis/measure/clipboard_separator" ), QStringLiteral( "\t" ) ).toString();
mIncludeHeader->setChecked( QgsMeasureDialog::settingClipboardHeader->value() );

const QString sep = QgsMeasureDialog::settingClipboardSeparator->value();

if ( sep.isEmpty() || sep == QStringLiteral( "\t" ) )
mSeparatorTab->setChecked( true );
Expand Down Expand Up @@ -1682,7 +1683,7 @@ void QgsOptions::saveOptions()
bool baseUnit = mKeepBaseUnitCheckBox->isChecked();
mSettings->setValue( QStringLiteral( "/qgis/measure/keepbaseunit" ), baseUnit );

mSettings->setValue( QStringLiteral( "/qgis/measure/clipboard_header" ), mIncludeHeader->isChecked() );
QgsMeasureDialog::settingClipboardHeader->setValue( mIncludeHeader->isChecked() );
QString separator;
if ( mSeparatorTab->isChecked() )
separator = QStringLiteral( "\t" );
Expand All @@ -1696,7 +1697,8 @@ void QgsOptions::saveOptions()
separator = QStringLiteral( ":" );
else
separator = mSeparatorCustom->text();
mSettings->setValue( QStringLiteral( "/qgis/measure/clipboard_separator" ), separator );

QgsMeasureDialog::settingClipboardSeparator->setValue( separator );

//set the color for selections
QColor myColor = pbnSelectionColor->color();
Expand Down
11 changes: 9 additions & 2 deletions src/app/qgsmeasuredialog.cpp
Expand Up @@ -24,6 +24,8 @@
#include "qgscoordinatereferencesystem.h"
#include "qgsunittypes.h"
#include "qgssettings.h"
#include "qgssettingsentryimpl.h"
#include "qgssettingstree.h"
#include "qgsgui.h"

#include <QClipboard>
Expand All @@ -32,6 +34,11 @@
#include <QPushButton>


const QgsSettingsEntryBool *QgsMeasureDialog::settingClipboardHeader = new QgsSettingsEntryBool( QStringLiteral( "clipboard-header" ), QgsSettingsTree::sTreeMeasure, false, QObject::tr( "Whether the header should be copied to the cliboard along the coordinates, distances" ) );

const QgsSettingsEntryString *QgsMeasureDialog::settingClipboardSeparator = new QgsSettingsEntryString( QStringLiteral( "clipboard-separator" ), QgsSettingsTree::sTreeMeasure, QStringLiteral( "\t" ), QObject::tr( "Separator between the measure columns copied to the clipboard" ) );


QgsMeasureDialog::QgsMeasureDialog( QgsMeasureTool *tool, Qt::WindowFlags f )
: QDialog( tool->canvas()->topLevelWidget(), f )
, mMeasureArea( tool->measureArea() )
Expand Down Expand Up @@ -713,10 +720,10 @@ double QgsMeasureDialog::convertArea( double area, Qgis::AreaUnit toUnit ) const

void QgsMeasureDialog::copyMeasurements()
{
bool includeHeader = QgsSettings().value( QStringLiteral( "qgis/measure/clipboard_header" ), false ).toBool();
bool includeHeader = settingClipboardHeader->value();

// Get the separator
QString separator = QgsSettings().value( QStringLiteral( "qgis/measure/clipboard_separator" ), QStringLiteral( "\t" ) ).toString();
QString separator = settingClipboardSeparator->value();
if ( separator.isEmpty() )
separator = QStringLiteral( "\t" );

Expand Down
5 changes: 5 additions & 0 deletions src/app/qgsmeasuredialog.h
Expand Up @@ -27,13 +27,18 @@
class QCloseEvent;
class QgsMeasureTool;
class QgsMapCanvas;
class QgsSettingsEntryBool;
class QgsSettingsEntryString;

class APP_EXPORT QgsMeasureDialog : public QDialog, private Ui::QgsMeasureBase
{
Q_OBJECT

public:

static const QgsSettingsEntryBool *settingClipboardHeader;
static const QgsSettingsEntryString *settingClipboardSeparator;

//! Constructor
QgsMeasureDialog( QgsMeasureTool *tool, Qt::WindowFlags f = Qt::WindowFlags() );

Expand Down
1 change: 1 addition & 0 deletions src/core/settings/qgssettingstree.h
Expand Up @@ -61,6 +61,7 @@ class CORE_EXPORT QgsSettingsTree
static inline QgsSettingsTreeNode *sTreeRendering = treeRoot()->createChildNode( QStringLiteral( "rendering" ) );
static inline QgsSettingsTreeNode *sTreeSvg = treeRoot()->createChildNode( QStringLiteral( "svg" ) );
static inline QgsSettingsTreeNode *sTreeWms = treeRoot()->createChildNode( QStringLiteral( "wms" ) );
static inline QgsSettingsTreeNode *sTreeMeasure = treeRoot()->createChildNode( QStringLiteral( "measure" ) );

#endif

Expand Down

0 comments on commit 0945734

Please sign in to comment.