29 m_d->layout =
new QHBoxLayout;
30 m_d->layout->setSpacing(0);
31 m_d->layout->setContentsMargins(0, 0, 0, 0);
32 setLayout(
m_d->layout);
34 setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
36 m_d->collapsedButton.reset(
new QToolButton(
this));
37 m_d->layout->addWidget(
m_d->collapsedButton.data());
39 connect(
m_d->collapsedButton.data(), &QToolButton::triggered, [
this](QAction* triggered) {
40 m_d->collapsedButton->setDefaultAction(triggered);
48 Q_FOREACH (QToolButton*
button,
m_d->allButtons) {
59 return m_d->collapsedButton->autoRaise();
64 m_d->collapsedButton->setIconSize(size);
66 Q_FOREACH (QToolButton*
button,
m_d->allButtons) {
73 return m_d->collapsedButton->iconSize();
78 m_d->autoCollapse = autoCollapse;
83 m_d->collapsed = collapse;
85 m_d->collapsedButton->setVisible(
m_d->collapsed);
87 Q_FOREACH (QToolButton*
button,
m_d->allButtons) {
94 return m_d->collapsed;
99 return m_d->collapsedButton->sizeHint() *
m_d->allButtons.count();
104 return m_d->collapsedButton->size();
109 QToolButton*
button =
new QToolButton(
this);
110 button->setDefaultAction(action);
116 action->setIconVisibleInMenu(
true);
117 if (action->text().isEmpty()) {
120 action->setText(action->toolTip());
123 m_d->collapsedButton->addAction(action);
124 m_d->collapsedButton->setDefaultAction(action);
135 if (
m_d->autoCollapse) {
136 if (size().width() <
sizeHint().width()) {
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
QString button(const QWheelEvent &ev)