Allow clicking mouse back button on stacked panel widgets

Only works if click occurs outside of widgets - we probably should
start ignoring clicks which aren't left/middle/right in any
mouse event handlers
This commit is contained in:
Nyall Dawson 2017-03-17 13:55:31 +10:00
parent 7aff3e784c
commit e5f581405e
3 changed files with 18 additions and 0 deletions

View File

@ -89,4 +89,9 @@ class QgsPanelWidgetStack: public QWidget
* @param panel The panel to close.
*/
void closePanel( QgsPanelWidget* panel );
protected:
void mouseReleaseEvent( QMouseEvent *e );
};

View File

@ -147,6 +147,14 @@ void QgsPanelWidgetStack::closePanel( QgsPanelWidget *panel )
this->updateBreadcrumb();
}
void QgsPanelWidgetStack::mouseReleaseEvent( QMouseEvent *e )
{
if ( e->button() == Qt::BackButton )
{
acceptCurrentPanel();
}
}
void QgsPanelWidgetStack::updateBreadcrumb()
{
QString breadcrumb;

View File

@ -117,6 +117,11 @@ class GUI_EXPORT QgsPanelWidgetStack : public QWidget, private Ui::QgsRendererWi
* @param panel The panel to close.
*/
void closePanel( QgsPanelWidget *panel );
protected:
void mouseReleaseEvent( QMouseEvent *e ) override;
private:
void updateBreadcrumb();
QStack<QString> mTitles;