void MainWindow::addDocument(Document *doc) { if (documentTabs->indexOf(doc) != -1) return; m_undoGroup->addStack(doc->undoStack()); documentTabs->addTab(doc, fixedWindowTitle(doc)); connect(doc, SIGNAL(currentShapeChanged(QString)), this, SLOT(updateActions())); connect(doc->undoStack(), SIGNAL(indexChanged(int)), this, SLOT(updateActions())); connect(doc->undoStack(), SIGNAL(cleanChanged(bool)), this, SLOT(updateActions())); setCurrentDocument(doc); }
void Document::setCurrentShape(int index) { QString currentName; if (m_currentIndex != -1) update(m_shapeList.at(m_currentIndex).rect()); m_currentIndex = index; if (m_currentIndex != -1) { const Shape ¤t = m_shapeList.at(m_currentIndex); update(current.rect()); currentName = current.name(); } emit currentShapeChanged(currentName); }
void MainWindow::removeDocument(Document *doc) { int index = documentTabs->indexOf(doc); if (index == -1) return; documentTabs->removeTab(index); m_undoGroup->removeStack(doc->undoStack()); disconnect(doc, SIGNAL(currentShapeChanged(QString)), this, SLOT(updateActions())); disconnect(doc->undoStack(), SIGNAL(indexChanged(int)), this, SLOT(updateActions())); disconnect(doc->undoStack(), SIGNAL(cleanChanged(bool)), this, SLOT(updateActions())); if (documentTabs->count() == 0) { newDocument(); updateActions(); } }
void FootprintPadShapeSelectorWidget::btnOctagonToggled(bool checked) noexcept { mBtnRound->setChecked(!checked); mBtnRect->setChecked(!checked); emit currentShapeChanged(getCurrentShape()); }