18#include "moc_qgsrecentcoordinatereferencesystemsmodel.cpp" 
   24#ifdef ENABLE_MODELTEST 
   29  : QAbstractItemModel( parent )
 
   30  , mColumnCount( subclassColumnCount )
 
   32#ifdef ENABLE_MODELTEST 
   33  new ModelTest( 
this, 
this );
 
 
   44  if ( !
index.isValid() )
 
   46    return Qt::ItemFlags();
 
   49  return Qt::ItemIsSelectable | Qt::ItemIsEnabled;
 
 
   58  if ( 
index.column() == 0 )
 
 
   98  return createIndex( row, column );
 
 
  103  return QModelIndex();
 
 
  108  if ( !
index.isValid() )
 
  111  return mCrs.value( 
index.row() );
 
 
  116  const int currentRow = mCrs.indexOf( 
crs );
 
  117  if ( currentRow > 0 )
 
  120    beginMoveRows( QModelIndex(), currentRow, currentRow, QModelIndex(), 0 );
 
  121    mCrs.removeAt( currentRow );
 
  122    mCrs.insert( 0, 
crs );
 
  125  else if ( currentRow < 0 )
 
  128    beginInsertRows( QModelIndex(), 0, 0 );
 
  129    mCrs.insert( 0, 
crs );
 
  136  const int currentRow = mCrs.indexOf( 
crs );
 
  137  if ( currentRow >= 0 )
 
  139    beginRemoveRows( QModelIndex(), currentRow, currentRow );
 
  140    mCrs.removeAt( currentRow );
 
  145void QgsRecentCoordinateReferenceSystemsModel::recentCrsCleared()
 
  158  : QSortFilterProxyModel( parent )
 
  161  setSourceModel( mModel );
 
  162  setDynamicSortFilter( 
true );
 
 
  186  if ( mFilterDeprecated == filter )
 
  189  mFilterDeprecated = filter;
 
 
  195  mFilterString = filter;
 
 
  204  const QModelIndex sourceIndex = mModel->
index( sourceRow, 0, sourceParent );
 
  241  if ( !mFilterString.trimmed().isEmpty() )
 
  243    if ( !( 
crs.
description().contains( mFilterString, Qt::CaseInsensitive )
 
  244            || 
crs.
authid().contains( mFilterString, Qt::CaseInsensitive ) ) )
 
 
  253  const QModelIndex sourceIndex = mapToSource( index );
 
  254  return mModel->
crs( sourceIndex );
 
 
CrsType
Coordinate reference system types.
 
@ Compound
Compound (horizontal + vertical) CRS.
 
@ Projected
Projected CRS.
 
@ DerivedProjected
Derived projected CRS.
 
@ Engineering
Engineering CRS.
 
@ Geographic3d
3D geopraphic CRS
 
@ Geographic2d
2D geographic CRS
 
@ Geocentric
Geocentric CRS.
 
static QgsCoordinateReferenceSystemRegistry * coordinateReferenceSystemRegistry()
Returns the application's coordinate reference system (CRS) registry, which handles known CRS definit...
 
@ FilterVertical
Include vertical CRS (excludes compound CRS containing a vertical component)
 
@ FilterCompound
Include compound CRS.
 
@ FilterHorizontal
Include horizontal CRS (excludes compound CRS containing a horizontal component)
 
void recentCrsRemoved(const QgsCoordinateReferenceSystem &crs)
Emitted when a recently used CRS has been removed from the recent CRS list.
 
void recentCrsCleared()
Emitted when the list of recently used CRS has been cleared.
 
void recentCrsPushed(const QgsCoordinateReferenceSystem &crs)
Emitted when a recently used CRS has been pushed to the top of the recent CRS list.
 
QList< QgsCoordinateReferenceSystem > recentCrs()
Returns a list of recently used CRS.
 
Represents a coordinate reference system (CRS).
 
bool isValid() const
Returns whether this CRS is correctly initialized and usable.
 
QString userFriendlyIdentifier(Qgis::CrsIdentifierType type=Qgis::CrsIdentifierType::MediumString) const
Returns a user friendly identifier for the CRS.
 
Qgis::CrsType type() const
Returns the type of the CRS.
 
bool isDeprecated() const
Returns true if the CRS is considered deprecated.
 
A model for display of recently used coordinate reference systems.
 
Qt::ItemFlags flags(const QModelIndex &index) const override
 
QgsCoordinateReferenceSystem crs(const QModelIndex &index) const
Returns the CRS for the corresponding index.
 
QModelIndex parent(const QModelIndex &index) const override
 
QVariant data(const QModelIndex &index, int role) const override
 
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
 
QgsRecentCoordinateReferenceSystemsModel(QObject *parent=nullptr, int subclassColumnCount=1)
Constructor for QgsRecentCoordinateReferenceSystemsModel, with the specified parent object.
 
int rowCount(const QModelIndex &parent=QModelIndex()) const override
 
int columnCount(const QModelIndex &=QModelIndex()) const override
 
@ AuthId
CRS authority ID.
 
@ Crs
Coordinate reference system.
 
QgsCoordinateReferenceSystem crs(const QModelIndex &index) const
Returns the CRS for the corresponding index.
 
void setFilters(QgsCoordinateReferenceSystemProxyModel::Filters filters)
Set filters that affect how CRS are filtered.
 
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override
 
QgsCoordinateReferenceSystemProxyModel::Filters filters() const
Returns any filters that affect how CRS are filtered.
 
QgsRecentCoordinateReferenceSystemsProxyModel(QObject *parent=nullptr, int subclassColumnCount=1)
Constructor for QgsRecentCoordinateReferenceSystemsProxyModel, with the given parent object.
 
void setFilterString(const QString &filter)
Sets a filter string, such that only coordinate reference systems matching the specified string will ...
 
void setFilterDeprecated(bool filter)
Sets whether deprecated CRS should be filtered from the results.
 
QgsRecentCoordinateReferenceSystemsModel * recentCoordinateReferenceSystemsModel()
Returns the underlying source model.
 
const QgsCoordinateReferenceSystem & crs