diff --git a/src/private/Frame.cpp b/src/private/Frame.cpp index 328f028c..6acfc4bf 100644 --- a/src/private/Frame.cpp +++ b/src/private/Frame.cpp @@ -199,7 +199,7 @@ FloatingWindow* Frame::detachTab(DockWidgetBase *dockWidget) return floatingWindow; } -int Frame::indexOfDockWidget(DockWidgetBase *dw) +int Frame::indexOfDockWidget(const DockWidgetBase *dw) { if (m_inCtor || m_inDtor) return -1; diff --git a/src/private/Frame_p.h b/src/private/Frame_p.h index b5c80e44..78e0eda7 100644 --- a/src/private/Frame_p.h +++ b/src/private/Frame_p.h @@ -84,7 +84,7 @@ public: FloatingWindow *detachTab(DockWidgetBase *); ///@brief returns the index of the specified dock widget - int indexOfDockWidget(DockWidgetBase *); + int indexOfDockWidget(const DockWidgetBase *); ///@brief returns the index of the current tab int currentIndex() const; @@ -293,7 +293,7 @@ protected: QSize biggestDockWidgetMaxSize() const; virtual void removeWidget_impl(DockWidgetBase *) = 0; - virtual int indexOfDockWidget_impl(DockWidgetBase *) = 0; + virtual int indexOfDockWidget_impl(const DockWidgetBase *) = 0; virtual int currentIndex_impl() const = 0; virtual void setCurrentTabIndex_impl(int index) = 0; virtual void setCurrentDockWidget_impl(DockWidgetBase *) = 0; diff --git a/src/private/TabWidget_p.h b/src/private/TabWidget_p.h index bf9a0ffe..6e1946bd 100644 --- a/src/private/TabWidget_p.h +++ b/src/private/TabWidget_p.h @@ -109,7 +109,7 @@ public: /** * @brief Returns the index of the dock widget, or -1 if it doesn't exist */ - virtual int indexOfDockWidget(DockWidgetBase *) const = 0; + virtual int indexOfDockWidget(const DockWidgetBase *) const = 0; /** * @brief Sets the current dock widget index diff --git a/src/private/quick/FrameQuick.cpp b/src/private/quick/FrameQuick.cpp index b98f8ddd..3a582da7 100644 --- a/src/private/quick/FrameQuick.cpp +++ b/src/private/quick/FrameQuick.cpp @@ -84,7 +84,7 @@ void FrameQuick::removeWidget_impl(DockWidgetBase *dw) disconnect(m_connections.take(dw)); } -int FrameQuick::indexOfDockWidget_impl(DockWidgetBase *dw) +int FrameQuick::indexOfDockWidget_impl(const DockWidgetBase *dw) { return m_tabWidget->indexOfDockWidget(dw); } diff --git a/src/private/quick/FrameQuick_p.h b/src/private/quick/FrameQuick_p.h index 991d0e93..6677ff4c 100644 --- a/src/private/quick/FrameQuick_p.h +++ b/src/private/quick/FrameQuick_p.h @@ -49,7 +49,7 @@ public: protected: void removeWidget_impl(DockWidgetBase *) override; - int indexOfDockWidget_impl(DockWidgetBase *) override; + int indexOfDockWidget_impl(const DockWidgetBase *) override; int currentIndex_impl() const override; void setCurrentTabIndex_impl(int index) override; void setCurrentDockWidget_impl(DockWidgetBase *) override; diff --git a/src/private/quick/TabWidgetQuick.cpp b/src/private/quick/TabWidgetQuick.cpp index 66d9430e..23cd90cb 100644 --- a/src/private/quick/TabWidgetQuick.cpp +++ b/src/private/quick/TabWidgetQuick.cpp @@ -43,7 +43,7 @@ void TabWidgetQuick::removeDockWidget(DockWidgetBase *dw) m_dockWidgetModel->remove(dw); } -int TabWidgetQuick::indexOfDockWidget(DockWidgetBase *dw) const +int TabWidgetQuick::indexOfDockWidget(const DockWidgetBase *dw) const { return m_dockWidgetModel->indexOf(dw); } @@ -186,9 +186,9 @@ void DockWidgetModel::remove(DockWidgetBase *dw) } } -int DockWidgetModel::indexOf(DockWidgetBase *dw) +int DockWidgetModel::indexOf(const DockWidgetBase *dw) { - return m_dockWidgets.indexOf(dw); + return m_dockWidgets.indexOf(const_cast(dw)); } bool DockWidgetModel::insert(DockWidgetBase *dw, int index) diff --git a/src/private/quick/TabWidgetQuick_p.h b/src/private/quick/TabWidgetQuick_p.h index 6c2a35e7..748565e9 100644 --- a/src/private/quick/TabWidgetQuick_p.h +++ b/src/private/quick/TabWidgetQuick_p.h @@ -46,7 +46,7 @@ public: int numDockWidgets() const override; void removeDockWidget(DockWidgetBase *) override; - int indexOfDockWidget(DockWidgetBase *) const override; + int indexOfDockWidget(const DockWidgetBase *) const override; DockWidgetModel *dockWidgetModel() const; DockWidgetBase *dockwidgetAt(int index) const override; int currentIndex() const override; @@ -88,7 +88,7 @@ public: QVariant data(const QModelIndex &index, int role) const override; DockWidgetBase *dockWidgetAt(int index) const; void remove(DockWidgetBase *); - int indexOf(DockWidgetBase *); + int indexOf(const DockWidgetBase *); bool insert(DockWidgetBase *dw, int index); bool contains(DockWidgetBase *dw) const; protected: diff --git a/src/private/widgets/FrameWidget.cpp b/src/private/widgets/FrameWidget.cpp index 40410062..96df8f8c 100644 --- a/src/private/widgets/FrameWidget.cpp +++ b/src/private/widgets/FrameWidget.cpp @@ -101,7 +101,7 @@ QSize FrameWidget::maxSizeHint() const return waste + biggestDockWidgetMaxSize(); } -int FrameWidget::indexOfDockWidget_impl(DockWidgetBase *dw) +int FrameWidget::indexOfDockWidget_impl(const DockWidgetBase *dw) { return m_tabWidget->indexOfDockWidget(dw); } diff --git a/src/private/widgets/FrameWidget_p.h b/src/private/widgets/FrameWidget_p.h index 1532826f..fe0f28c5 100644 --- a/src/private/widgets/FrameWidget_p.h +++ b/src/private/widgets/FrameWidget_p.h @@ -39,7 +39,7 @@ public: protected: void paintEvent(QPaintEvent *) override; QSize maxSizeHint() const override; - int indexOfDockWidget_impl(DockWidgetBase *) override; + int indexOfDockWidget_impl(const DockWidgetBase *) override; void setCurrentDockWidget_impl(DockWidgetBase *) override; int currentIndex_impl() const override; void insertDockWidget_impl(DockWidgetBase *, int index) override; diff --git a/src/private/widgets/TabWidgetWidget.cpp b/src/private/widgets/TabWidgetWidget.cpp index 32ed87d4..399a5bab 100644 --- a/src/private/widgets/TabWidgetWidget.cpp +++ b/src/private/widgets/TabWidgetWidget.cpp @@ -69,9 +69,9 @@ void TabWidgetWidget::removeDockWidget(DockWidgetBase *dw) removeTab(indexOf(dw)); } -int TabWidgetWidget::indexOfDockWidget(DockWidgetBase *dw) const +int TabWidgetWidget::indexOfDockWidget(const DockWidgetBase *dw) const { - return indexOf(dw); + return indexOf(const_cast(dw)); } void TabWidgetWidget::mouseDoubleClickEvent(QMouseEvent *ev) diff --git a/src/private/widgets/TabWidgetWidget_p.h b/src/private/widgets/TabWidgetWidget_p.h index 2502e59e..d9e7e34d 100644 --- a/src/private/widgets/TabWidgetWidget_p.h +++ b/src/private/widgets/TabWidgetWidget_p.h @@ -40,7 +40,7 @@ public: int numDockWidgets() const override; void removeDockWidget(DockWidgetBase *) override; - int indexOfDockWidget(DockWidgetBase *) const override; + int indexOfDockWidget(const DockWidgetBase *) const override; Q_SIGNALS: void currentTabChanged(int index) override;