d->addSection(new Section(this), "dynamic"); d->buttonGroup = new QButtonGroup(this); setLayout(d->layout); foreach(KoToolAction *toolAction, KoToolManager::instance()->toolActionList()) { addButton(toolAction); } // Update visibility of buttons setButtonsVisible(QList<QString>()); connect(KoToolManager::instance(), SIGNAL(changedTool(KoCanvasController*, int)), this, SLOT(setActiveTool(KoCanvasController*, int))); connect(KoToolManager::instance(), SIGNAL(currentLayerChanged(const KoCanvasController*,const KoShapeLayer*)), this, SLOT(setCurrentLayer(const KoCanvasController*,const KoShapeLayer*))); connect(KoToolManager::instance(), SIGNAL(toolCodesSelected(QList<QString>)), this, SLOT(setButtonsVisible(QList<QString>))); connect(KoToolManager::instance(), SIGNAL(addedTool(KoToolAction*,KoCanvasController*)), this, SLOT(toolAdded(KoToolAction*,KoCanvasController*))); QTimer::singleShot(0, this, SLOT(adjustToFit())); } KoToolBox::~KoToolBox() { delete d; } void KoToolBox::addButton(KoToolAction *toolAction) { KoToolBoxButton *button = new KoToolBoxButton(toolAction, this);
qSort(d->buttons.begin(), d->buttons.end(), compareButton); // Update visibility of buttons updateShownTools(QList<QString>()); d->tabBar->setContextMenuPolicy(Qt::CustomContextMenu); connect(d->tabBar, SIGNAL(currentChanged(int)), this, SLOT(toolSelected(int))); connect(d->tabBar, SIGNAL(currentChanged(int)), d->stack, SLOT(setCurrentIndex(int))); connect(d->tabBar, SIGNAL(customContextMenuRequested(QPoint)), SLOT(slotContextMenuRequested(QPoint))); connect(KoToolManager::instance(), SIGNAL(changedTool(KoCanvasController *, int)), this, SLOT(setActiveTool(KoCanvasController *, int))); connect(KoToolManager::instance(), SIGNAL(currentLayerChanged(const KoCanvasController *,const KoShapeLayer*)), this, SLOT(setCurrentLayer(const KoCanvasController *,const KoShapeLayer *))); connect(KoToolManager::instance(), SIGNAL(toolCodesSelected(QList<QString>)), this, SLOT(updateShownTools(QList<QString>))); connect(KoToolManager::instance(), SIGNAL(addedTool(const KoToolButton, KoCanvasController*)), this, SLOT(toolAdded(const KoToolButton, KoCanvasController*))); connect(canvas, SIGNAL(toolOptionWidgetsChanged(const QList<QWidget *> &)), this, SLOT(setOptionWidgets(const QList<QWidget *> &))); } KoModeBox::~KoModeBox() { delete d; } void KoModeBox::addButton(const KoToolButton &button) {