void TabWidget::removeCurrentTab() { // question disabled due user requests. Yes I agree it was anoying. // if (QMessageBox::question(this, // tr("Close current session"), // tr("Are you sure you want to close current sesstion?"), // QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) // { if (count() > 1) { removeTab(currentIndex()); } else { emit closeTabNotification(); } }
TermMainWindow::TermMainWindow( QWidget *parent, virConnectPtr *connPtrPtr, QString arg1, QString arg2, const QString& work_dir, const QString& command) : VM_Viewer(parent, connPtrPtr, arg1, arg2), m_initShell(command), m_initWorkDir(work_dir) { setupUi(this); Properties::Instance()->loadSettings(); migrate_settings(); m_bookmarksDock = new QDockWidget(tr("Bookmarks"), this); m_bookmarksDock->setObjectName("BookmarksDockWidget"); BookmarksWidget *bookmarksWidget = new BookmarksWidget(m_bookmarksDock); m_bookmarksDock->setWidget(bookmarksWidget); addDockWidget(Qt::LeftDockWidgetArea, m_bookmarksDock); connect(bookmarksWidget, SIGNAL(callCommand(QString)), this, SLOT(bookmarksWidget_callCommand(QString))); connect(m_bookmarksDock, SIGNAL(visibilityChanged(bool)), this, SLOT(bookmarksDock_visibilityChanged(bool))); connect(actAbout, SIGNAL(triggered()), SLOT(actAbout_triggered())); connect(actAboutQt, SIGNAL(triggered()), qApp, SLOT(aboutQt())); setContentsMargins(0, 0, 0, 0); restoreGeometry(Properties::Instance()->mainWindowGeometry); restoreState(Properties::Instance()->mainWindowState); connect(consoleTabulator, SIGNAL(closeTabNotification()), SLOT(close())); consoleTabulator->setWorkDirectory(work_dir); consoleTabulator->setTabPosition((QTabWidget::TabPosition)Properties::Instance()->tabsPos); //consoleTabulator->setShellProgram(command); consoleTabulator->addNewTab(QString("<%2> Domain Terminal in [ %1 ] Connection").arg(arg1).arg(arg2)); setWindowTitle(QString("<%2> Domain Terminal in [ %1 ] Connection").arg(arg1).arg(arg2)); setWindowIcon(QIcon::fromTheme("utilities-terminal")); setup_FileMenu_Actions(); setup_ActionsMenu_Actions(); setup_ViewMenu_Actions(); // Add global rename Session shortcut renameSession = new QAction(tr("Rename Session"), this); renameSession->setShortcut(QKeySequence(tr(RENAME_SESSION_SHORTCUT))); connect(renameSession, SIGNAL(triggered()), consoleTabulator, SLOT(renameSession())); }
void TabWidget::removeTab(int index) { setUpdatesEnabled(false); QWidget * w = widget(index); QTabWidget::removeTab(index); w->deleteLater(); int current = currentIndex(); if (current >= 0 ) { qobject_cast<TermWidgetHolder*>(widget(current))->setInitialFocus(); } // do not decrease it as renaming is disabled in renameTabsAfterRemove // tabName--; setUpdatesEnabled(true); if (count() == 0) emit closeTabNotification(); }