Added support for setting the DockWidget icon - this icon is shown in the title bar or when using the ToggleViewAction
This commit is contained in:
@@ -330,9 +330,31 @@ QAction* CDockWidget::toggleViewAction() const
|
||||
}
|
||||
|
||||
|
||||
//============================================================================
|
||||
void CDockWidget::setToggleViewActionMode(eToggleViewActionMode Mode)
|
||||
{
|
||||
if (ActionModeToggle == Mode)
|
||||
{
|
||||
d->ToggleViewAction->setCheckable(true);
|
||||
d->ToggleViewAction->setIcon(QIcon());
|
||||
}
|
||||
else
|
||||
{
|
||||
d->ToggleViewAction->setCheckable(false);
|
||||
d->ToggleViewAction->setIcon(d->TitleWidget->icon());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//============================================================================
|
||||
void CDockWidget::toggleView(bool Open)
|
||||
{
|
||||
QAction* Sender = qobject_cast<QAction*>(sender());
|
||||
if (Sender == d->ToggleViewAction && !d->ToggleViewAction->isCheckable())
|
||||
{
|
||||
Open = true;
|
||||
}
|
||||
|
||||
if (Open)
|
||||
{
|
||||
d->showDockWidget();
|
||||
@@ -391,6 +413,17 @@ bool CDockWidget::event(QEvent *e)
|
||||
}
|
||||
|
||||
|
||||
//============================================================================
|
||||
void CDockWidget::setIcon(const QIcon& Icon)
|
||||
{
|
||||
d->TitleWidget->setIcon(Icon);
|
||||
if (!d->ToggleViewAction->isCheckable())
|
||||
{
|
||||
d->ToggleViewAction->setIcon(Icon);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace ads
|
||||
|
||||
|
||||
Reference in New Issue
Block a user