MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setUpEditor(); //adds new tab button QToolButton *newTabButton = new QToolButton(this); ui->tabWidget->setCornerWidget(newTabButton); newTabButton->setAutoRaise(true); newTabButton->setText("+"); //connect signals QObject::connect(newTabButton, SIGNAL(clicked()), this, SLOT(makeNewTab())); QObject::connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(deleteTab(int))); //create keyboard shortcuts QShortcut *shortcut = new QShortcut(QKeySequence("ctrl+w"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(deleteCurrentTab())); shortcut = new QShortcut(QKeySequence("ctrl+t"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(makeNewTab())); shortcut = new QShortcut(QKeySequence("ctrl+s"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(on_actionSave_triggered())); shortcut = new QShortcut(QKeySequence("ctrl+shift+s"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(on_actionSave_As_triggered())); shortcut = new QShortcut(QKeySequence("ctrl+o"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(on_actionOpen_triggered())); shortcut = new QShortcut(QKeySequence("ctrl+q"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(on_actionQuit_triggered())); shortcut = new QShortcut(QKeySequence("ctrl+tab"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(switchToNextTab())); shortcut = new QShortcut(QKeySequence("ctrl+shift+tab"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(switchToPrevTab())); shortcut = new QShortcut(QKeySequence("ctrl+d"), ui->tabWidget); QObject::connect(shortcut, SIGNAL(activated()), this, SLOT(deleteLine())); }
void MainWindow::on_actionNew_Tab_triggered() { makeNewTab(); }
void TabWidget::newTab() { makeNewTab(true); }