bool MainWindow::closeAllTabs() { while (tabWidget->currentWidget()) { if (!closeActiveTab()) return false; } return true; }
void DeclarativeTabModel::clear() { if (count() == 0) return; beginResetModel(); for (int i = m_tabs.count() - 1; i >= 0; --i) { removeTab(m_tabs.at(i).tabId(), m_tabs.at(i).thumbnailPath(), i); } closeActiveTab(); endResetModel(); }
void DeclarativeTabModel::removeTabById(int tabId, bool activeTab) { int index = -1; if (!activeTab) { index = findTabIndex(tabId); } if (activeTab) { closeActiveTab(); } else if (index >= 0){ remove(index); } }
void DeclarativeTabModel::clear() { if (count() == 0) return; beginResetModel(); for (int i = m_tabs.count() - 1; i >= 0; --i) { removeTab(m_tabs.at(i), i); } emit countChanged(); closeActiveTab(); endResetModel(); // No need guard anything as all tabs got closed. m_activeTabClosed = false; }
void MainWindow::createActions() { openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this); openAct->setShortcuts(QKeySequence::Open); openAct->setStatusTip(tr("Open an existing file")); connect(openAct, SIGNAL(triggered()), this, SLOT(open())); saveAct = new QAction(QIcon(":/images/save.png"), tr("&Save"), this); saveAct->setShortcuts(QKeySequence::Save); saveAct->setStatusTip(tr("Save the document to disk")); saveAct->setEnabled(false); connect(saveAct, SIGNAL(triggered()), this, SLOT(save())); closeAct = new QAction(QIcon(":/images/close.png"), tr("Cl&ose"), this); closeAct->setShortcut(QKeySequence::Close); closeAct->setStatusTip(tr("Close the active tab")); connect(closeAct, SIGNAL(triggered()), this, SLOT(closeActiveTab())); closeAllAct = new QAction(tr("Close &All"), this); closeAllAct->setShortcut(tr("Ctrl+Shift+W")); closeAllAct->setStatusTip(tr("Close all the tabs")); connect(closeAllAct, SIGNAL(triggered()), this, SLOT(closeAllTabs())); separatorAct = new QAction(this); separatorAct->setSeparator(true); exitAct = new QAction(QIcon(":/images/exit.png"), tr("E&xit"), this); exitAct->setShortcut(tr("Ctrl+Q")); exitAct->setStatusTip(tr("Exit the application")); connect(exitAct, SIGNAL(triggered()), this, SLOT(close())); boldAct = new QAction(QIcon(":/images/textbold.png"), tr("&Bold"), this); boldAct->setShortcut(QKeySequence::Bold); boldAct->setCheckable(true); connect(boldAct, SIGNAL(triggered(bool)), this, SLOT(bold(bool))); italicAct = new QAction(QIcon(":/images/textitalic.png"), tr("&Italic"), this); italicAct->setShortcut(QKeySequence::Italic); italicAct->setCheckable(true); connect(italicAct, SIGNAL(triggered(bool)), this, SLOT(italic(bool))); underlineAct = new QAction(QIcon(":/images/textunder.png"), tr("&Underine"), this); underlineAct->setShortcut(QKeySequence::Underline); underlineAct->setCheckable(true); connect(underlineAct, SIGNAL(triggered(bool)), this, SLOT(underline(bool))); zoomInAct = new QAction(QIcon(":/images/zoomin.png"), tr("Zoom &in"), this); zoomInAct->setShortcut(QKeySequence::ZoomIn); connect(zoomInAct, SIGNAL(triggered()), this, SLOT(zoomIn())); zoomOutAct = new QAction(QIcon(":/images/zoomout.png"), tr("Zoom &out"), this); zoomOutAct->setShortcut(QKeySequence::ZoomOut); connect(zoomOutAct, SIGNAL(triggered()), this, SLOT(zoomOut())); nextAct = new QAction(QIcon(":/images/next.png"), tr("Ne&xt"), this); nextAct->setShortcuts(QKeySequence::NextChild); nextAct->setStatusTip(tr("Move the focus to the next window")); connect(nextAct, SIGNAL(triggered()), this, SLOT(nextTab())); previousAct = new QAction(QIcon(":/images/previous.png"), tr("Pre&vious"), this); previousAct->setShortcuts(QKeySequence::PreviousChild); previousAct->setStatusTip(tr("Move the focus to the previous window")); connect(previousAct, SIGNAL(triggered()), this, SLOT(previousTab())); splitAct = new QAction(tr("&Split symbol"), this); splitAct->setShortcut(tr("Ctrl+2")); connect(splitAct, SIGNAL(triggered()), this, SLOT(splitSymbol())); joinAct = new QAction(tr("&Join with Next Symbol"), this); joinAct->setShortcut(tr("Ctrl+1")); connect(joinAct, SIGNAL(triggered()), this, SLOT(joinSymbol())); deleteAct = new QAction(tr("&Delete symbol"), this); deleteAct->setShortcut(QKeySequence::Delete); connect(deleteAct, SIGNAL(triggered()), this, SLOT(deleteSymbol())); aboutAct = new QAction(QIcon(":/images/about.png"), tr("&About"), this); aboutAct->setStatusTip(tr("Show the application's About box")); connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); }