Call isVisible() through the controller instead of view

This will be state that's moving to the controller.
This commit is contained in:
Sergio Martins
2022-08-20 18:28:58 +01:00
parent a1f427e8e2
commit 8e0ba911d0
2 changed files with 7 additions and 4 deletions

View File

@@ -64,9 +64,12 @@ public:
/// @brief Returns whether this controller is of the specified type
bool is(Type) const;
// View convenience methods to save 1 indirection
/// Returns whether the view is visible
bool isVisible() const;
/// Hides or shows the view associated with this controller
void setVisible(bool);
QRect rect() const;
QPoint mapToGlobal(QPoint) const;
int height() const;

View File

@@ -433,8 +433,8 @@ void Group::updateTitleBarVisibility()
visible = true;
}
const bool wasVisible = m_titleBar->view()->isVisible();
m_titleBar->view()->setVisible(visible);
const bool wasVisible = m_titleBar->isVisible();
m_titleBar->setVisible(visible);
if (wasVisible != visible) {
Q_EMIT actualTitleBarChanged();
@@ -820,7 +820,7 @@ QSize Group::biggestDockWidgetMaxSize() const
QRect Group::dragRect() const
{
QRect rect;
if (m_titleBar->view()->isVisible()) {
if (m_titleBar->isVisible()) {
rect = m_titleBar->view()->rect();
rect.moveTopLeft(m_titleBar->view()->mapToGlobal(QPoint(0, 0)));
}