mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-01 00:46:20 -05:00
handle bad layer: show unfixable layer count as message bar and skip dialog when list is empty.
This commit is contained in:
parent
5346c8013c
commit
0088f28931
@ -22,6 +22,7 @@
|
||||
#include "qgslogger.h"
|
||||
#include "qgsrasterlayer.h"
|
||||
#include "qgsproviderregistry.h"
|
||||
#include "qgsmessagebar.h"
|
||||
|
||||
#include <QDomDocument>
|
||||
#include <QDomElement>
|
||||
@ -37,7 +38,18 @@ void QgsHandleBadLayersHandler::handleBadLayers( QList<QDomNode> layers, QDomDoc
|
||||
{
|
||||
QApplication::setOverrideCursor( Qt::ArrowCursor );
|
||||
QgsHandleBadLayers *dialog = new QgsHandleBadLayers( layers, projectDom );
|
||||
|
||||
if ( dialog->layerCount() < layers.size() )
|
||||
QgisApp::instance()->messageBar()->pushMessage(
|
||||
tr( "Handle Bad layers" ),
|
||||
tr( "%1 of %2 bad layers were not not fixable." )
|
||||
.arg( layers.size() - dialog->layerCount() )
|
||||
.arg( layers.size() ),
|
||||
QgsMessageBar::WARNING, QgisApp::instance()->messageTimeout() );
|
||||
|
||||
if ( dialog->layerCount() > 0 )
|
||||
dialog->exec();
|
||||
|
||||
delete dialog;
|
||||
QApplication::restoreOverrideCursor();
|
||||
}
|
||||
@ -357,3 +369,8 @@ void QgsHandleBadLayers::rejected()
|
||||
|
||||
QDialog::reject();
|
||||
}
|
||||
|
||||
int QgsHandleBadLayers::layerCount()
|
||||
{
|
||||
return mLayerList->rowCount();
|
||||
}
|
||||
|
@ -46,6 +46,8 @@ class QgsHandleBadLayers
|
||||
QgsHandleBadLayers( const QList<QDomNode> &layers, const QDomDocument &dom );
|
||||
~QgsHandleBadLayers();
|
||||
|
||||
int layerCount();
|
||||
|
||||
private slots:
|
||||
void selectionChanged();
|
||||
void browseClicked();
|
||||
|
Loading…
x
Reference in New Issue
Block a user