Merge branch '1.3'

This commit is contained in:
Sergio Martins
2021-04-05 06:27:45 +01:00
11 changed files with 36 additions and 2 deletions

View File

@@ -111,8 +111,11 @@ void Frame::onDockWidgetTitleChanged()
updateTitleAndIcon();
if (!m_inCtor) { // don't call pure virtual in ctor
if (auto dw = qobject_cast<DockWidgetBase*>(sender()))
renameTab(indexOfDockWidget(dw), dw->title());
if (auto dw = qobject_cast<DockWidgetBase*>(sender())) {
int index = indexOfDockWidget(dw);
renameTab(index, dw->title());
changeTabIcon(index, dw->icon(DockWidgetBase::IconPlace::TabBar));
}
}
}

View File

@@ -294,6 +294,7 @@ protected Q_SLOTS:
protected:
virtual void renameTab(int index, const QString &) = 0;
virtual void changeTabIcon(int index, const QIcon &) = 0;
/**
* @brief Returns the minimum size of the dock widgets.

View File

@@ -134,6 +134,9 @@ public:
///@brief rename's the tab's text
virtual void renameTab(int index, const QString &) = 0;
///@brief change the tab's icon
virtual void changeTabIcon(int index, const QIcon &) = 0;
/**
* @brief Returns the current index
*/

View File

@@ -155,6 +155,13 @@ void FrameQuick::renameTab(int, const QString &)
// Not needed for QtQuick. Our model reacts to titleChanged()
}
void FrameQuick::changeTabIcon(int index, const QIcon &)
{
Q_UNUSED(index);
qDebug() << Q_FUNC_INFO << "Not implemented";
}
void FrameQuick::setStackLayout(QQuickItem *stackLayout)
{
if (m_stackLayout || !stackLayout) {

View File

@@ -61,6 +61,8 @@ protected:
DockWidgetBase *dockWidgetAt_impl(int index) const override;
DockWidgetBase *currentDockWidget_impl() const override;
void renameTab(int index, const QString &) override;
void changeTabIcon(int index, const QIcon &) override;
Q_INVOKABLE void setStackLayout(QQuickItem *);
int nonContentsHeight() const override;

View File

@@ -88,6 +88,12 @@ void TabWidgetQuick::renameTab(int index, const QString &)
qWarning() << Q_FUNC_INFO << "Not implemented";
}
void TabWidgetQuick::changeTabIcon(int index, const QIcon &)
{
Q_UNUSED(index);
qWarning() << Q_FUNC_INFO << "Not implemented";
}
DockWidgetBase *TabWidgetQuick::dockwidgetAt(int index) const
{
return m_dockWidgetModel->dockWidgetAt(index);

View File

@@ -66,6 +66,7 @@ protected:
bool isPositionDraggable(QPoint p) const override;
void setTabBarAutoHide(bool) override;
void renameTab(int index, const QString &) override;
void changeTabIcon(int index, const QIcon &) override;
private:
Q_DISABLE_COPY(TabWidgetQuick)

View File

@@ -169,6 +169,10 @@ void FrameWidget::renameTab(int index, const QString &text)
m_tabWidget->renameTab(index, text);
}
void FrameWidget::changeTabIcon(int index, const QIcon &icon)
{
m_tabWidget->changeTabIcon(index, icon);
}
int KDDockWidgets::FrameWidget::nonContentsHeight() const
{

View File

@@ -50,6 +50,7 @@ protected:
DockWidgetBase *dockWidgetAt_impl(int index) const override;
QRect dragRect() const override;
void renameTab(int index, const QString &) override;
void changeTabIcon(int index, const QIcon &) override;
int nonContentsHeight() const override;
private:
friend class ::TestDocks;

View File

@@ -135,6 +135,11 @@ void TabWidgetWidget::renameTab(int index, const QString &text)
setTabText(index, text);
}
void TabWidgetWidget::changeTabIcon(int index, const QIcon &icon)
{
setTabIcon(index, icon);
}
DockWidgetBase *TabWidgetWidget::dockwidgetAt(int index) const
{
return qobject_cast<DockWidgetBase *>(widget(index));

View File

@@ -55,6 +55,7 @@ protected:
bool insertDockWidget(int index, DockWidgetBase *, const QIcon&, const QString &title) override;
void setTabBarAutoHide(bool) override;
void renameTab(int index, const QString &) override;
void changeTabIcon(int index, const QIcon &) override;
DockWidgetBase *dockwidgetAt(int index) const override;
int currentIndex() const override;