11 #ifndef QGSCRSSELECTOR_H
12 #define QGSCRSSELECTOR_H
14 #include "ui_qgsprojectionselectorbase.h"
17 #include <QStringList>
65 void setShowNoProjection(
bool show );
72 void setShowBoundsMap(
bool show );
80 bool showNoProjection()
const;
87 bool showBoundsMap()
const;
95 bool hasValidSelection()
const;
132 void setOgcWmsCrsFilter(
const QSet<QString> &crsFilter );
137 void pushProjectionToFront();
156 void projectionDoubleClicked();
160 void showEvent( QShowEvent *event )
override;
163 void resizeEvent( QResizeEvent *event )
override;
174 void loadUserCrsList( QSet<QString> *crsFilter =
nullptr );
183 void loadCrsList( QSet<QString> *crsFilter =
nullptr );
196 QString sqlSafeString(
const QString &
string )
const;
209 QString ogcWmsCrsFilterAsSqlExpression( QSet<QString> *crsFilter );
221 void applySelection(
int column = QgsProjectionSelectionTreeWidget::None, QString value = QString() );
228 QString getSelectedExpression(
const QString &e )
const;
230 QString selectedName();
233 long selectedCrsId();
236 void showDBMissingWarning(
const QString &fileName );
240 RoleDeprecated = Qt::UserRole,
247 QTreeWidgetItem *mUserProjList =
nullptr;
249 QTreeWidgetItem *mGeoList =
nullptr;
251 QTreeWidgetItem *mProjList =
nullptr;
253 QTreeWidgetItem *mUnknownList =
nullptr;
256 QString mCustomCsFile;
258 QString mSrsDatabaseFileName;
263 long getLargestCrsIdMatch(
const QString &sql );
269 bool mProjListDone =
false;
272 bool mUserProjListDone =
false;
275 bool mRecentProjListDone =
false;
277 enum Columns { NameColumn, AuthidColumn, QgisCrsIdColumn, None };
278 int mSearchColumn = QgsProjectionSelectionTreeWidget::None;
279 QString mSearchValue;
281 bool mPushProjectionToFront =
false;
284 QSet<QString> mCrsFilter;
287 QList< QgsCoordinateReferenceSystem > mRecentProjections;
290 void hideDeprecated( QTreeWidgetItem *item );
292 bool mShowMap =
true;
294 bool mInitialized =
false;
296 bool mBlockSignals =
false;
300 void updateBoundsPreview();
301 QStringList authorities();
304 void lstCoordinateSystems_itemDoubleClicked( QTreeWidgetItem *current,
int column );
305 void lstRecent_itemDoubleClicked( QTreeWidgetItem *current,
int column );
306 void lstCoordinateSystems_currentItemChanged( QTreeWidgetItem *current, QTreeWidgetItem *prev );
307 void lstRecent_currentItemChanged( QTreeWidgetItem *current, QTreeWidgetItem *prev );