add setting for quickplay singleplayer

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97
2024-08-08 16:53:26 +03:00
parent 0308710211
commit c9809fff6d
29 changed files with 253 additions and 128 deletions

View File

@ -309,4 +309,17 @@ bool WideBar::checkHash(QByteArray const& old_hash) const
return old_hash == getHash();
}
void WideBar::setActionVisible(QAction* action, bool visible)
{
auto iter = getMatching(action);
if (iter == m_entries.end()) {
return;
}
iter->bar_action->setVisible(visible);
// NOTE: This is needed so that disabled actions get reflected on the button when it is made visible.
static_cast<ActionButton*>(widgetForAction(iter->bar_action))->actionChanged();
}
#include "WideBar.moc"

View File

@ -38,6 +38,8 @@ class WideBar : public QToolBar {
[[nodiscard]] QByteArray getVisibilityState() const;
void setVisibilityState(QByteArray&&);
void setActionVisible(QAction* action, bool visible);
private:
struct BarEntry {
enum class Type { None, Action, Separator, Spacer } type = Type::None;