mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-08 00:05:09 -04:00
[projects] Implement translation support for project and layer metadata
This commit is contained in:
parent
05477e03aa
commit
fd0cb2c37d
@ -27,7 +27,7 @@ try:
|
|||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
QgsAbstractMetadataBase.__virtual_methods__ = ['readMetadataXml', 'writeMetadataXml', 'combine']
|
QgsAbstractMetadataBase.__virtual_methods__ = ['readMetadataXml', 'writeMetadataXml', 'combine', 'registerTranslations']
|
||||||
QgsAbstractMetadataBase.__abstract_methods__ = ['clone']
|
QgsAbstractMetadataBase.__abstract_methods__ = ['clone']
|
||||||
QgsAbstractMetadataBase.__group__ = ['metadata']
|
QgsAbstractMetadataBase.__group__ = ['metadata']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
|
@ -14,7 +14,7 @@ try:
|
|||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
QgsLayerMetadata.__overridden_methods__ = ['clone', 'readMetadataXml', 'writeMetadataXml', 'combine']
|
QgsLayerMetadata.__overridden_methods__ = ['clone', 'readMetadataXml', 'writeMetadataXml', 'combine', 'registerTranslations']
|
||||||
QgsLayerMetadata.__group__ = ['metadata']
|
QgsLayerMetadata.__group__ = ['metadata']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# The following has been generated automatically from src/core/metadata/qgsprojectmetadata.h
|
# The following has been generated automatically from src/core/metadata/qgsprojectmetadata.h
|
||||||
try:
|
try:
|
||||||
QgsProjectMetadata.__overridden_methods__ = ['clone', 'readMetadataXml', 'writeMetadataXml', 'combine']
|
QgsProjectMetadata.__overridden_methods__ = ['clone', 'readMetadataXml', 'writeMetadataXml', 'combine', 'registerTranslations']
|
||||||
QgsProjectMetadata.__group__ = ['metadata']
|
QgsProjectMetadata.__group__ = ['metadata']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class QgsAbstractMetadataBase
|
class QgsAbstractMetadataBase
|
||||||
{
|
{
|
||||||
%Docstring(signature="appended")
|
%Docstring(signature="appended")
|
||||||
@ -436,7 +437,7 @@ Sets a date value for the specified date ``type``.
|
|||||||
.. versionadded:: 3.30
|
.. versionadded:: 3.30
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual bool readMetadataXml( const QDomElement &metadataElement );
|
virtual bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() );
|
||||||
%Docstring
|
%Docstring
|
||||||
Sets state from DOM document.
|
Sets state from DOM document.
|
||||||
|
|
||||||
@ -449,7 +450,7 @@ Subclasses which override this method should take care to also call the
|
|||||||
base class method in order to read common metadata properties.
|
base class method in order to read common metadata properties.
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const;
|
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
|
||||||
%Docstring
|
%Docstring
|
||||||
Stores state in a DOM node.
|
Stores state in a DOM node.
|
||||||
|
|
||||||
@ -472,6 +473,11 @@ Any existing values in this object will be overwritten by non-empty
|
|||||||
values from ``other``.
|
values from ``other``.
|
||||||
|
|
||||||
.. versionadded:: 3.20
|
.. versionadded:: 3.20
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void registerTranslations( QgsTranslationContext *translationContext ) const;
|
||||||
|
%Docstring
|
||||||
|
Registers metadata translation strings
|
||||||
%End
|
%End
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -282,12 +282,14 @@ Reads the metadata state from a ``layer``'s custom properties (see
|
|||||||
.. seealso:: :py:func:`saveToLayer`
|
.. seealso:: :py:func:`saveToLayer`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual bool readMetadataXml( const QDomElement &metadataElement );
|
virtual bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() );
|
||||||
|
|
||||||
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const;
|
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
|
||||||
|
|
||||||
virtual void combine( const QgsAbstractMetadataBase *other );
|
virtual void combine( const QgsAbstractMetadataBase *other );
|
||||||
|
|
||||||
|
virtual void registerTranslations( QgsTranslationContext *translationContext ) const;
|
||||||
|
|
||||||
|
|
||||||
bool operator==( const QgsLayerMetadata &metadataOther ) const;
|
bool operator==( const QgsLayerMetadata &metadataOther ) const;
|
||||||
|
|
||||||
|
@ -77,12 +77,14 @@ Sets the project's creation date/timestamp.
|
|||||||
.. seealso:: :py:func:`creationDateTime`
|
.. seealso:: :py:func:`creationDateTime`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual bool readMetadataXml( const QDomElement &metadataElement );
|
virtual bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() );
|
||||||
|
|
||||||
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const;
|
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
|
||||||
|
|
||||||
virtual void combine( const QgsAbstractMetadataBase *other );
|
virtual void combine( const QgsAbstractMetadataBase *other );
|
||||||
|
|
||||||
|
virtual void registerTranslations( QgsTranslationContext *translationContext ) const;
|
||||||
|
|
||||||
|
|
||||||
bool operator==( const QgsProjectMetadata &metadataOther ) const;
|
bool operator==( const QgsProjectMetadata &metadataOther ) const;
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ try:
|
|||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
QgsAbstractMetadataBase.__virtual_methods__ = ['readMetadataXml', 'writeMetadataXml', 'combine']
|
QgsAbstractMetadataBase.__virtual_methods__ = ['readMetadataXml', 'writeMetadataXml', 'combine', 'registerTranslations']
|
||||||
QgsAbstractMetadataBase.__abstract_methods__ = ['clone']
|
QgsAbstractMetadataBase.__abstract_methods__ = ['clone']
|
||||||
QgsAbstractMetadataBase.__group__ = ['metadata']
|
QgsAbstractMetadataBase.__group__ = ['metadata']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
|
@ -14,7 +14,7 @@ try:
|
|||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
QgsLayerMetadata.__overridden_methods__ = ['clone', 'readMetadataXml', 'writeMetadataXml', 'combine']
|
QgsLayerMetadata.__overridden_methods__ = ['clone', 'readMetadataXml', 'writeMetadataXml', 'combine', 'registerTranslations']
|
||||||
QgsLayerMetadata.__group__ = ['metadata']
|
QgsLayerMetadata.__group__ = ['metadata']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# The following has been generated automatically from src/core/metadata/qgsprojectmetadata.h
|
# The following has been generated automatically from src/core/metadata/qgsprojectmetadata.h
|
||||||
try:
|
try:
|
||||||
QgsProjectMetadata.__overridden_methods__ = ['clone', 'readMetadataXml', 'writeMetadataXml', 'combine']
|
QgsProjectMetadata.__overridden_methods__ = ['clone', 'readMetadataXml', 'writeMetadataXml', 'combine', 'registerTranslations']
|
||||||
QgsProjectMetadata.__group__ = ['metadata']
|
QgsProjectMetadata.__group__ = ['metadata']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class QgsAbstractMetadataBase
|
class QgsAbstractMetadataBase
|
||||||
{
|
{
|
||||||
%Docstring(signature="appended")
|
%Docstring(signature="appended")
|
||||||
@ -436,7 +437,7 @@ Sets a date value for the specified date ``type``.
|
|||||||
.. versionadded:: 3.30
|
.. versionadded:: 3.30
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual bool readMetadataXml( const QDomElement &metadataElement );
|
virtual bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() );
|
||||||
%Docstring
|
%Docstring
|
||||||
Sets state from DOM document.
|
Sets state from DOM document.
|
||||||
|
|
||||||
@ -449,7 +450,7 @@ Subclasses which override this method should take care to also call the
|
|||||||
base class method in order to read common metadata properties.
|
base class method in order to read common metadata properties.
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const;
|
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
|
||||||
%Docstring
|
%Docstring
|
||||||
Stores state in a DOM node.
|
Stores state in a DOM node.
|
||||||
|
|
||||||
@ -472,6 +473,11 @@ Any existing values in this object will be overwritten by non-empty
|
|||||||
values from ``other``.
|
values from ``other``.
|
||||||
|
|
||||||
.. versionadded:: 3.20
|
.. versionadded:: 3.20
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void registerTranslations( QgsTranslationContext *translationContext ) const;
|
||||||
|
%Docstring
|
||||||
|
Registers metadata translation strings
|
||||||
%End
|
%End
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -282,12 +282,14 @@ Reads the metadata state from a ``layer``'s custom properties (see
|
|||||||
.. seealso:: :py:func:`saveToLayer`
|
.. seealso:: :py:func:`saveToLayer`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual bool readMetadataXml( const QDomElement &metadataElement );
|
virtual bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() );
|
||||||
|
|
||||||
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const;
|
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
|
||||||
|
|
||||||
virtual void combine( const QgsAbstractMetadataBase *other );
|
virtual void combine( const QgsAbstractMetadataBase *other );
|
||||||
|
|
||||||
|
virtual void registerTranslations( QgsTranslationContext *translationContext ) const;
|
||||||
|
|
||||||
|
|
||||||
bool operator==( const QgsLayerMetadata &metadataOther ) const;
|
bool operator==( const QgsLayerMetadata &metadataOther ) const;
|
||||||
|
|
||||||
|
@ -77,12 +77,14 @@ Sets the project's creation date/timestamp.
|
|||||||
.. seealso:: :py:func:`creationDateTime`
|
.. seealso:: :py:func:`creationDateTime`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual bool readMetadataXml( const QDomElement &metadataElement );
|
virtual bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() );
|
||||||
|
|
||||||
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const;
|
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
|
||||||
|
|
||||||
virtual void combine( const QgsAbstractMetadataBase *other );
|
virtual void combine( const QgsAbstractMetadataBase *other );
|
||||||
|
|
||||||
|
virtual void registerTranslations( QgsTranslationContext *translationContext ) const;
|
||||||
|
|
||||||
|
|
||||||
bool operator==( const QgsProjectMetadata &metadataOther ) const;
|
bool operator==( const QgsProjectMetadata &metadataOther ) const;
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "qgsabstractmetadatabase.h"
|
#include "qgsabstractmetadatabase.h"
|
||||||
#include "qgsmaplayer.h"
|
#include "qgsmaplayer.h"
|
||||||
|
#include "qgstranslationcontext.h"
|
||||||
|
|
||||||
QString QgsAbstractMetadataBase::identifier() const
|
QString QgsAbstractMetadataBase::identifier() const
|
||||||
{
|
{
|
||||||
@ -183,7 +184,7 @@ void QgsAbstractMetadataBase::setLanguage( const QString &language )
|
|||||||
mLanguage = language;
|
mLanguage = language;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsAbstractMetadataBase::readMetadataXml( const QDomElement &metadataElement )
|
bool QgsAbstractMetadataBase::readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context )
|
||||||
{
|
{
|
||||||
QDomNode mnl;
|
QDomNode mnl;
|
||||||
QDomElement mne;
|
QDomElement mne;
|
||||||
@ -212,6 +213,13 @@ bool QgsAbstractMetadataBase::readMetadataXml( const QDomElement &metadataElemen
|
|||||||
mnl = metadataElement.namedItem( QStringLiteral( "abstract" ) );
|
mnl = metadataElement.namedItem( QStringLiteral( "abstract" ) );
|
||||||
mAbstract = mnl.toElement().text();
|
mAbstract = mnl.toElement().text();
|
||||||
|
|
||||||
|
if ( context.projectTranslator() )
|
||||||
|
{
|
||||||
|
mType = context.projectTranslator()->translate( "metadata", mType );
|
||||||
|
mTitle = context.projectTranslator()->translate( "metadata", mTitle );
|
||||||
|
mAbstract = context.projectTranslator()->translate( "metadata", mAbstract );
|
||||||
|
}
|
||||||
|
|
||||||
// set keywords
|
// set keywords
|
||||||
const QDomNodeList keywords = metadataElement.elementsByTagName( QStringLiteral( "keywords" ) );
|
const QDomNodeList keywords = metadataElement.elementsByTagName( QStringLiteral( "keywords" ) );
|
||||||
mKeywords.clear();
|
mKeywords.clear();
|
||||||
@ -315,7 +323,7 @@ bool QgsAbstractMetadataBase::readMetadataXml( const QDomElement &metadataElemen
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsAbstractMetadataBase::writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const
|
bool QgsAbstractMetadataBase::writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext & ) const
|
||||||
{
|
{
|
||||||
// identifier
|
// identifier
|
||||||
QDomElement identifier = document.createElement( QStringLiteral( "identifier" ) );
|
QDomElement identifier = document.createElement( QStringLiteral( "identifier" ) );
|
||||||
@ -481,6 +489,22 @@ bool QgsAbstractMetadataBase::writeMetadataXml( QDomElement &metadataElement, QD
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QgsAbstractMetadataBase::registerTranslations( QgsTranslationContext *translationContext ) const
|
||||||
|
{
|
||||||
|
if ( !mTitle.isEmpty() )
|
||||||
|
{
|
||||||
|
translationContext->registerTranslation( QStringLiteral( "metadata" ), mTitle );
|
||||||
|
}
|
||||||
|
if ( !mType.isEmpty() )
|
||||||
|
{
|
||||||
|
translationContext->registerTranslation( QStringLiteral( "metadata" ), mType );
|
||||||
|
}
|
||||||
|
if ( !mAbstract.isEmpty() )
|
||||||
|
{
|
||||||
|
translationContext->registerTranslation( QStringLiteral( "metadata" ), mAbstract );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void QgsAbstractMetadataBase::combine( const QgsAbstractMetadataBase *other )
|
void QgsAbstractMetadataBase::combine( const QgsAbstractMetadataBase *other )
|
||||||
{
|
{
|
||||||
if ( !other )
|
if ( !other )
|
||||||
|
@ -21,12 +21,15 @@
|
|||||||
#include "qgis_sip.h"
|
#include "qgis_sip.h"
|
||||||
#include "qgis_core.h"
|
#include "qgis_core.h"
|
||||||
#include "qgis.h"
|
#include "qgis.h"
|
||||||
|
#include "qgsreadwritecontext.h"
|
||||||
|
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QMetaType>
|
#include <QMetaType>
|
||||||
|
|
||||||
class QDomElement;
|
class QDomElement;
|
||||||
class QDomDocument;
|
class QDomDocument;
|
||||||
|
class QgsTranslationContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \ingroup core
|
* \ingroup core
|
||||||
@ -529,7 +532,7 @@ class CORE_EXPORT QgsAbstractMetadataBase
|
|||||||
* Subclasses which override this method should take care to also call the base
|
* Subclasses which override this method should take care to also call the base
|
||||||
* class method in order to read common metadata properties.
|
* class method in order to read common metadata properties.
|
||||||
*/
|
*/
|
||||||
virtual bool readMetadataXml( const QDomElement &metadataElement );
|
virtual bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores state in a DOM node.
|
* Stores state in a DOM node.
|
||||||
@ -542,7 +545,7 @@ class CORE_EXPORT QgsAbstractMetadataBase
|
|||||||
* Subclasses which override this method should take care to also call the base
|
* Subclasses which override this method should take care to also call the base
|
||||||
* class method in order to write common metadata properties.
|
* class method in order to write common metadata properties.
|
||||||
*/
|
*/
|
||||||
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const;
|
virtual bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Combines the metadata from this object with the metadata from an \a other object.
|
* Combines the metadata from this object with the metadata from an \a other object.
|
||||||
@ -553,6 +556,11 @@ class CORE_EXPORT QgsAbstractMetadataBase
|
|||||||
*/
|
*/
|
||||||
virtual void combine( const QgsAbstractMetadataBase *other );
|
virtual void combine( const QgsAbstractMetadataBase *other );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers metadata translation strings
|
||||||
|
*/
|
||||||
|
virtual void registerTranslations( QgsTranslationContext *translationContext ) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
|
|
||||||
#include "qgslayermetadata.h"
|
#include "qgslayermetadata.h"
|
||||||
#include "qgsmaplayer.h"
|
#include "qgsmaplayer.h"
|
||||||
|
#include "qgstranslationcontext.h"
|
||||||
|
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
|
|
||||||
QgsLayerMetadata *QgsLayerMetadata::clone() const
|
QgsLayerMetadata *QgsLayerMetadata::clone() const
|
||||||
@ -132,9 +134,9 @@ void QgsLayerMetadata::readFromLayer( const QgsMapLayer *layer )
|
|||||||
mLinks = layer->customProperty( QStringLiteral( "metadata/links" ) ).value<QgsAbstractMetadataBase::LinkList>();
|
mLinks = layer->customProperty( QStringLiteral( "metadata/links" ) ).value<QgsAbstractMetadataBase::LinkList>();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsLayerMetadata::readMetadataXml( const QDomElement &metadataElement )
|
bool QgsLayerMetadata::readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context )
|
||||||
{
|
{
|
||||||
QgsAbstractMetadataBase::readMetadataXml( metadataElement );
|
QgsAbstractMetadataBase::readMetadataXml( metadataElement, context );
|
||||||
|
|
||||||
QDomNode mnl;
|
QDomNode mnl;
|
||||||
QDomElement mne;
|
QDomElement mne;
|
||||||
@ -160,6 +162,11 @@ bool QgsLayerMetadata::readMetadataXml( const QDomElement &metadataElement )
|
|||||||
{
|
{
|
||||||
mnl = rightsNodeList.at( i );
|
mnl = rightsNodeList.at( i );
|
||||||
mne = mnl.toElement();
|
mne = mnl.toElement();
|
||||||
|
QString right = mne.text();
|
||||||
|
if ( context.projectTranslator() )
|
||||||
|
{
|
||||||
|
right = context.projectTranslator()->translate( "metadata", right );
|
||||||
|
}
|
||||||
rightsList.append( mne.text() );
|
rightsList.append( mne.text() );
|
||||||
}
|
}
|
||||||
setRights( rightsList );
|
setRights( rightsList );
|
||||||
@ -240,9 +247,9 @@ bool QgsLayerMetadata::readMetadataXml( const QDomElement &metadataElement )
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsLayerMetadata::writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const
|
bool QgsLayerMetadata::writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context ) const
|
||||||
{
|
{
|
||||||
QgsAbstractMetadataBase::writeMetadataXml( metadataElement, document );
|
QgsAbstractMetadataBase::writeMetadataXml( metadataElement, document, context );
|
||||||
|
|
||||||
// fees
|
// fees
|
||||||
QDomElement fees = document.createElement( QStringLiteral( "fees" ) );
|
QDomElement fees = document.createElement( QStringLiteral( "fees" ) );
|
||||||
@ -342,6 +349,16 @@ bool QgsLayerMetadata::writeMetadataXml( QDomElement &metadataElement, QDomDocum
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QgsLayerMetadata::registerTranslations( QgsTranslationContext *translationContext ) const
|
||||||
|
{
|
||||||
|
QgsAbstractMetadataBase::registerTranslations( translationContext );
|
||||||
|
|
||||||
|
for ( const QString &right : std::as_const( mRights ) )
|
||||||
|
{
|
||||||
|
translationContext->registerTranslation( QStringLiteral( "metadata" ), right );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void QgsLayerMetadata::combine( const QgsAbstractMetadataBase *other )
|
void QgsLayerMetadata::combine( const QgsAbstractMetadataBase *other )
|
||||||
{
|
{
|
||||||
QgsAbstractMetadataBase::combine( other );
|
QgsAbstractMetadataBase::combine( other );
|
||||||
|
@ -313,9 +313,10 @@ class CORE_EXPORT QgsLayerMetadata : public QgsAbstractMetadataBase
|
|||||||
*/
|
*/
|
||||||
void readFromLayer( const QgsMapLayer *layer );
|
void readFromLayer( const QgsMapLayer *layer );
|
||||||
|
|
||||||
bool readMetadataXml( const QDomElement &metadataElement ) override;
|
bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() ) override;
|
||||||
bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const override;
|
bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const override;
|
||||||
void combine( const QgsAbstractMetadataBase *other ) override;
|
void combine( const QgsAbstractMetadataBase *other ) override;
|
||||||
|
void registerTranslations( QgsTranslationContext *translationContext ) const override;
|
||||||
|
|
||||||
bool operator==( const QgsLayerMetadata &metadataOther ) const;
|
bool operator==( const QgsLayerMetadata &metadataOther ) const;
|
||||||
|
|
||||||
|
@ -16,12 +16,14 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#include "qgsprojectmetadata.h"
|
#include "qgsprojectmetadata.h"
|
||||||
|
#include "qgstranslationcontext.h"
|
||||||
|
|
||||||
#include <QDomNode>
|
#include <QDomNode>
|
||||||
#include <QDomDocument>
|
#include <QDomDocument>
|
||||||
|
|
||||||
bool QgsProjectMetadata::readMetadataXml( const QDomElement &metadataElement )
|
bool QgsProjectMetadata::readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context )
|
||||||
{
|
{
|
||||||
QgsAbstractMetadataBase::readMetadataXml( metadataElement );
|
QgsAbstractMetadataBase::readMetadataXml( metadataElement, context );
|
||||||
|
|
||||||
QDomNode mnl;
|
QDomNode mnl;
|
||||||
|
|
||||||
@ -29,6 +31,11 @@ bool QgsProjectMetadata::readMetadataXml( const QDomElement &metadataElement )
|
|||||||
mnl = metadataElement.namedItem( QStringLiteral( "author" ) );
|
mnl = metadataElement.namedItem( QStringLiteral( "author" ) );
|
||||||
mAuthor = mnl.toElement().text();
|
mAuthor = mnl.toElement().text();
|
||||||
|
|
||||||
|
if ( context.projectTranslator() )
|
||||||
|
{
|
||||||
|
mAuthor = context.projectTranslator()->translate( "metadata", mAuthor );
|
||||||
|
}
|
||||||
|
|
||||||
if ( !mDates.contains( Qgis::MetadataDateType::Created ) )
|
if ( !mDates.contains( Qgis::MetadataDateType::Created ) )
|
||||||
{
|
{
|
||||||
// creation datetime -- old format
|
// creation datetime -- old format
|
||||||
@ -40,9 +47,9 @@ bool QgsProjectMetadata::readMetadataXml( const QDomElement &metadataElement )
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsProjectMetadata::writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const
|
bool QgsProjectMetadata::writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context ) const
|
||||||
{
|
{
|
||||||
QgsAbstractMetadataBase::writeMetadataXml( metadataElement, document );
|
QgsAbstractMetadataBase::writeMetadataXml( metadataElement, document, context );
|
||||||
|
|
||||||
// author
|
// author
|
||||||
QDomElement author = document.createElement( QStringLiteral( "author" ) );
|
QDomElement author = document.createElement( QStringLiteral( "author" ) );
|
||||||
@ -59,6 +66,13 @@ bool QgsProjectMetadata::writeMetadataXml( QDomElement &metadataElement, QDomDoc
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QgsProjectMetadata::registerTranslations( QgsTranslationContext *translationContext ) const
|
||||||
|
{
|
||||||
|
QgsAbstractMetadataBase::registerTranslations( translationContext );
|
||||||
|
|
||||||
|
translationContext->registerTranslation( QStringLiteral( "metadata" ), mAuthor );
|
||||||
|
}
|
||||||
|
|
||||||
void QgsProjectMetadata::combine( const QgsAbstractMetadataBase *other )
|
void QgsProjectMetadata::combine( const QgsAbstractMetadataBase *other )
|
||||||
{
|
{
|
||||||
QgsAbstractMetadataBase::combine( other );
|
QgsAbstractMetadataBase::combine( other );
|
||||||
|
@ -82,9 +82,10 @@ class CORE_EXPORT QgsProjectMetadata : public QgsAbstractMetadataBase
|
|||||||
*/
|
*/
|
||||||
void setCreationDateTime( const QDateTime &creationDateTime );
|
void setCreationDateTime( const QDateTime &creationDateTime );
|
||||||
|
|
||||||
bool readMetadataXml( const QDomElement &metadataElement ) override;
|
bool readMetadataXml( const QDomElement &metadataElement, const QgsReadWriteContext &context = QgsReadWriteContext() ) override;
|
||||||
bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const override;
|
bool writeMetadataXml( QDomElement &metadataElement, QDomDocument &document, const QgsReadWriteContext &context = QgsReadWriteContext() ) const override;
|
||||||
void combine( const QgsAbstractMetadataBase *other ) override;
|
void combine( const QgsAbstractMetadataBase *other ) override;
|
||||||
|
void registerTranslations( QgsTranslationContext *translationContext ) const override;
|
||||||
|
|
||||||
bool operator==( const QgsProjectMetadata &metadataOther ) const;
|
bool operator==( const QgsProjectMetadata &metadataOther ) const;
|
||||||
|
|
||||||
|
@ -685,6 +685,9 @@ void QgsProject::registerTranslatableObjects( QgsTranslationContext *translation
|
|||||||
registerTranslatableContainers( translationContext, vlayer->editFormConfig().invisibleRootContainer(), vlayer->id() );
|
registerTranslatableContainers( translationContext, vlayer->editFormConfig().invisibleRootContainer(), vlayer->id() );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//register metadata
|
||||||
|
mapLayer->metadata().registerTranslations( translationContext );
|
||||||
}
|
}
|
||||||
|
|
||||||
//register layergroups
|
//register layergroups
|
||||||
@ -700,6 +703,9 @@ void QgsProject::registerTranslatableObjects( QgsTranslationContext *translation
|
|||||||
{
|
{
|
||||||
translationContext->registerTranslation( QStringLiteral( "project:relations" ), relation.name() );
|
translationContext->registerTranslation( QStringLiteral( "project:relations" ), relation.name() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//register metadata
|
||||||
|
mMetadata.registerTranslations( translationContext );
|
||||||
}
|
}
|
||||||
|
|
||||||
void QgsProject::setDataDefinedServerProperties( const QgsPropertyCollection &properties )
|
void QgsProject::setDataDefinedServerProperties( const QgsPropertyCollection &properties )
|
||||||
@ -2306,7 +2312,7 @@ bool QgsProject::readProjectFile( const QString &filename, Qgis::ProjectReadFlag
|
|||||||
|
|
||||||
if ( !element.isNull() )
|
if ( !element.isNull() )
|
||||||
{
|
{
|
||||||
mMetadata.readMetadataXml( element );
|
mMetadata.readMetadataXml( element, context );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2670,7 +2676,6 @@ bool QgsProject::readProjectFile( const QString &filename, Qgis::ProjectReadFlag
|
|||||||
|
|
||||||
if ( write() )
|
if ( write() )
|
||||||
{
|
{
|
||||||
setTitle( localeFileName );
|
|
||||||
QgsMessageLog::logMessage( tr( "Translated project saved with locale prefix %1" ).arg( newFileName ), QObject::tr( "Project translation" ), Qgis::MessageLevel::Success );
|
QgsMessageLog::logMessage( tr( "Translated project saved with locale prefix %1" ).arg( newFileName ), QObject::tr( "Project translation" ), Qgis::MessageLevel::Success );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -687,7 +687,7 @@ bool QgsMapLayer::readLayerXml( const QDomElement &layerElement, QgsReadWriteCon
|
|||||||
|
|
||||||
// mMetadata.readFromLayer( this );
|
// mMetadata.readFromLayer( this );
|
||||||
const QDomElement metadataElem = layerElement.firstChildElement( QStringLiteral( "resourceMetadata" ) );
|
const QDomElement metadataElem = layerElement.firstChildElement( QStringLiteral( "resourceMetadata" ) );
|
||||||
mMetadata.readMetadataXml( metadataElem );
|
mMetadata.readMetadataXml( metadataElem, context );
|
||||||
|
|
||||||
setAutoRefreshInterval( layerElement.attribute( QStringLiteral( "autoRefreshTime" ), QStringLiteral( "0" ) ).toInt() );
|
setAutoRefreshInterval( layerElement.attribute( QStringLiteral( "autoRefreshTime" ), QStringLiteral( "0" ) ).toInt() );
|
||||||
if ( layerElement.hasAttribute( QStringLiteral( "autoRefreshMode" ) ) )
|
if ( layerElement.hasAttribute( QStringLiteral( "autoRefreshMode" ) ) )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user