Skip to content

Commit f250b19

Browse files
committedJun 2, 2017
Move QgsBrowserDockWidget from app to gui
1 parent 2d78ef8 commit f250b19

File tree

6 files changed

+30
-14
lines changed

6 files changed

+30
-14
lines changed
 

‎src/app/CMakeLists.txt‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ SET(QGIS_APP_SRCS
1616
qgsattributetypedialog.cpp
1717
qgsattributetabledialog.cpp
1818
qgsbookmarks.cpp
19-
qgsbrowserdockwidget.cpp
2019
qgsclipboard.cpp
2120
qgscustomization.cpp
2221
qgscustomprojectiondialog.cpp
@@ -204,7 +203,6 @@ SET (QGIS_APP_MOC_HDRS
204203
qgsattributetypedialog.h
205204
qgsattributetabledialog.h
206205
qgsbookmarks.h
207-
qgsbrowserdockwidget.h
208206
qgsclipboard.h
209207
qgscustomization.h
210208
qgscustomprojectiondialog.h

‎src/app/qgisapp.cpp‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -885,11 +885,17 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, bool skipVersionCh
885885
mBrowserWidget->setObjectName( QStringLiteral( "Browser" ) );
886886
addDockWidget( Qt::LeftDockWidgetArea, mBrowserWidget );
887887
mBrowserWidget->hide();
888+
connect( this, &QgisApp::newProject, mBrowserWidget, &QgsBrowserDockWidget::updateProjectHome );
889+
connect( mBrowserWidget, &QgsBrowserDockWidget::openFile, this, &QgisApp::openFile );
890+
connect( mBrowserWidget, &QgsBrowserDockWidget::handleDropUriList, this, &QgisApp::handleDropUriList );
888891

889892
mBrowserWidget2 = new QgsBrowserDockWidget( tr( "Browser Panel (2)" ), this );
890893
mBrowserWidget2->setObjectName( QStringLiteral( "Browser2" ) );
891894
addDockWidget( Qt::LeftDockWidgetArea, mBrowserWidget2 );
892895
mBrowserWidget2->hide();
896+
connect( this, &QgisApp::newProject, mBrowserWidget2, &QgsBrowserDockWidget::updateProjectHome );
897+
connect( mBrowserWidget2, &QgsBrowserDockWidget::openFile, this, &QgisApp::openFile );
898+
connect( mBrowserWidget2, &QgsBrowserDockWidget::handleDropUriList, this, &QgisApp::handleDropUriList );
893899

894900
addDockWidget( Qt::LeftDockWidgetArea, mAdvancedDigitizingDockWidget );
895901
mAdvancedDigitizingDockWidget->hide();

‎src/app/qgisapp.h‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,6 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
232232
*/
233233
bool addProject( const QString &projectFile );
234234

235-
/** Convenience function to open either a project or a layer file.
236-
*/
237-
void openFile( const QString &fileName );
238235
//!Overloaded version of the private function with same name that takes the imagename as a parameter
239236
void saveMapAsImage( const QString &, QPixmap * );
240237

@@ -618,13 +615,16 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
618615
//! Unregister a previously registered custom drop handler.
619616
void unregisterCustomDropHandler( QgsCustomDropHandler *handler );
620617

618+
public slots:
621619
//! Process the list of URIs that have been dropped in QGIS
622620
void handleDropUriList( const QgsMimeDataUtils::UriList &lst );
623621

624622
//! Returns the active map layer.
625623
QgsMapLayer *activeLayer();
626624

627625
public slots:
626+
//! Convenience function to open either a project or a layer file.
627+
void openFile( const QString &fileName );
628628
void layerTreeViewDoubleClicked( const QModelIndex &index );
629629
//! Make sure the insertion point for new layers is up-to-date with the current item in layer tree view
630630
void updateNewLayerInsertionPoint();

‎src/gui/CMakeLists.txt‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ SET(QGIS_GUI_SRCS
173173
qgsattributetypeloaddialog.cpp
174174
qgsblendmodecombobox.cpp
175175
qgsbrowsertreeview.cpp
176+
qgsbrowserdockwidget.cpp
176177
qgsbusyindicatordialog.cpp
177178
qgscharacterselectordialog.cpp
178179
qgscheckablecombobox.cpp
@@ -362,6 +363,7 @@ SET(QGIS_GUI_MOC_HDRS
362363
qgsdial.h
363364
qgsdialog.h
364365
qgsdockwidget.h
366+
qgsbrowserdockwidget.h
365367
qgsencodingfiledialog.h
366368
qgserrordialog.h
367369
qgsexpressionbuilderdialog.h
@@ -648,6 +650,7 @@ SET(QGIS_GUI_HDRS
648650
qgssqlcomposerdialog.h
649651
qgstablewidgetitem.h
650652
qgsuserinputdockwidget.h
653+
qgsbrowserdockwidget.h
651654
qgsvertexmarker.h
652655
qgsfiledownloader.h
653656

‎src/app/qgsbrowserdockwidget.cpp‎ renamed to ‎src/gui/qgsbrowserdockwidget.cpp‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#include <QPlainTextDocumentLayout>
2424
#include <QSortFilterProxyModel>
2525

26-
#include "qgisapp.h"
2726
#include "qgsbrowsermodel.h"
2827
#include "qgsbrowsertreeview.h"
2928
#include "qgslogger.h"
@@ -337,9 +336,6 @@ void QgsBrowserDockWidget::showEvent( QShowEvent *e )
337336
if ( !mModel )
338337
{
339338
mModel = new QgsBrowserModel( mBrowserView );
340-
341-
connect( QgisApp::instance(), &QgisApp::newProject, mModel, &QgsBrowserModel::updateProjectHome );
342-
343339
mProxyModel = new QgsBrowserTreeFilterProxyModel( this );
344340
mProxyModel->setBrowserModel( mModel );
345341
mBrowserView->setSettingsSection( objectName().toLower() ); // to distinguish 2 instances ow browser
@@ -515,7 +511,7 @@ void QgsBrowserDockWidget::addLayer( QgsLayerItem *layerItem )
515511

516512
QgsMimeDataUtils::UriList list;
517513
list << layerItem->mimeUri();
518-
QgisApp::instance()->handleDropUriList( list );
514+
emit handleDropUriList( list );
519515
}
520516

521517
void QgsBrowserDockWidget::addLayerAtIndex( const QModelIndex &index )
@@ -529,7 +525,7 @@ void QgsBrowserDockWidget::addLayerAtIndex( const QModelIndex &index )
529525
if ( projectItem )
530526
{
531527
QApplication::setOverrideCursor( Qt::WaitCursor );
532-
QgisApp::instance()->openFile( projectItem->path() );
528+
emit openFile( projectItem->path() );
533529
QApplication::restoreOverrideCursor();
534530
}
535531
}
@@ -561,7 +557,7 @@ void QgsBrowserDockWidget::addSelectedLayers()
561557
{
562558
QgsProjectItem *projectItem = qobject_cast<QgsProjectItem *>( item );
563559
if ( projectItem )
564-
QgisApp::instance()->openFile( projectItem->path() );
560+
emit openFile( projectItem->path() );
565561

566562
QApplication::restoreOverrideCursor();
567563
return;
@@ -657,6 +653,11 @@ void QgsBrowserDockWidget::setFilter()
657653
mProxyModel->setFilter( filter );
658654
}
659655

656+
void QgsBrowserDockWidget::updateProjectHome()
657+
{
658+
if (mModel) mModel->updateProjectHome();
659+
}
660+
660661
void QgsBrowserDockWidget::setFilterSyntax( QAction *action )
661662
{
662663
if ( !action || ! mProxyModel )

‎src/app/qgsbrowserdockwidget.h‎ renamed to ‎src/gui/qgsbrowserdockwidget.h‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
#include "qgsdataitem.h"
2424
#include "qgsbrowsertreeview.h"
2525
#include "qgsdockwidget.h"
26+
#include "qgis_gui.h"
2627
#include <QSortFilterProxyModel>
27-
#include "qgis_app.h"
2828

2929
class QgsBrowserModel;
3030
class QModelIndex;
@@ -101,7 +101,7 @@ class QgsBrowserPropertiesDialog : public QDialog, private Ui::QgsBrowserPropert
101101
QString mSettingsSection;
102102
};
103103

104-
class APP_EXPORT QgsBrowserDockWidget : public QgsDockWidget, private Ui::QgsBrowserDockWidgetBase
104+
class GUI_EXPORT QgsBrowserDockWidget : public QgsDockWidget, private Ui::QgsBrowserDockWidgetBase
105105
{
106106
Q_OBJECT
107107
public:
@@ -124,6 +124,8 @@ class APP_EXPORT QgsBrowserDockWidget : public QgsDockWidget, private Ui::QgsBro
124124
void setFilterSyntax( QAction * );
125125
void setCaseSensitive( bool caseSensitive );
126126
void setFilter();
127+
void updateProjectHome();
128+
127129

128130
// layer menu items
129131
void addSelectedLayers();
@@ -134,6 +136,12 @@ class APP_EXPORT QgsBrowserDockWidget : public QgsDockWidget, private Ui::QgsBro
134136
void selectionChanged( const QItemSelection &selected, const QItemSelection &deselected );
135137
void splitterMoved();
136138

139+
signals:
140+
// A file needs to be opened
141+
void openFile( const QString );
142+
// Drop uri list needs to be handled
143+
void handleDropUriList( QgsMimeDataUtils::UriList );
144+
137145
protected:
138146
void refreshModel( const QModelIndex &index );
139147
void showEvent( QShowEvent *event ) override;

0 commit comments

Comments
 (0)
Please sign in to comment.