Skip to content
Snippets Groups Projects
Commit 5f024b7d authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Show Labels next to favourtie widget icons in toolbar

parent 7ad3498c
No related branches found
No related tags found
1 merge request!71Show labels next to favourite widget icons in toolbr
......@@ -331,17 +331,33 @@ namespace armarx
updateAvailableWidgetList();
}
QAction* ArmarXMainWindow::addActionToToolBar(QAction* action)
QAction* ArmarXMainWindow::addActionToToolBar(QAction* action, bool allowText)
{
QToolButton* button = new QToolButton(ui->toolBar);
if (!action->icon().isNull())
std::optional<QSize> textSize;
if (allowText)
{
const auto sz = action->icon().actualSize({256, 24});
button->setIcon(action->icon());
button->setFixedSize(sz);
button->setIconSize(sz);
button->setToolButtonStyle(Qt::ToolButtonStyle::ToolButtonTextBesideIcon);
button->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
// Get the width of the button when just showing text.
button->setText(action->text());
textSize = button->sizeHint();
}
button->setDefaultAction(action);
if (not action->icon().isNull())
{
const QSize maxSize {256, 24};
const QSize iconSize = action->icon().actualSize(maxSize);
// Setting the action has already set the icon, so this line is unnecessary.
// button->setIcon(action->icon());
button->setIconSize(iconSize);
button->setFixedSize(textSize.has_value()
? QSize{textSize->width() + iconSize.width(), iconSize.height()}
: iconSize);
}
return ui->toolBar->addWidget(button);
}
......@@ -1193,7 +1209,8 @@ namespace armarx
if (mainWidgets.contains(fullWidgetName))
{
addActionToToolBar(action);
bool allowText = false;
addActionToToolBar(action, allowText);
}
actionList[fullWidgetName] = action;
connect(action, SIGNAL(triggered()), action, SLOT(addArmarXWidget()), Qt::UniqueConnection);
......@@ -1640,7 +1657,8 @@ namespace armarx
{
if (actionList.contains(widgetName))
{
favoriteActions.emplace_back(addActionToToolBar(actionList[widgetName]));
bool allowText = true;
favoriteActions.emplace_back(addActionToToolBar(actionList[widgetName], allowText));
}
}
}
......
......@@ -200,7 +200,7 @@ namespace armarx
void loadPlugins(const QSet<QString>& pluginDirs, bool searchRecursive = true);
void loadPlugins(const QStringList& fileNames);
QAction* addActionToToolBar(QAction* action);
QAction* addActionToToolBar(QAction* action, bool allowText);
PluginCache pluginCache;
QDir pluginsDir;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment