| 91 | |
| 92 | |
| 93 | MainWindow::MainWindow(NotepadNextApplication *app) : |
| 94 | ui(new Ui::MainWindow), |
| 95 | app(app), |
| 96 | zoomEventWatcher(new ZoomEventWatcher(this)) |
| 97 | { |
| 98 | qInfo(Q_FUNC_INFO); |
| 99 | |
| 100 | setAttribute(Qt::WA_DeleteOnClose); |
| 101 | |
| 102 | ui->setupUi(this); |
| 103 | |
| 104 | applyCustomShortcuts(); |
| 105 | |
| 106 | qInfo("setupUi Completed"); |
| 107 | |
| 108 | defaultDirectoryManager = new DefaultDirectoryManager(this, app->getSettings(), this); |
| 109 | |
| 110 | connect(this, &MainWindow::aboutToClose, this, &MainWindow::saveSettings); |
| 111 | |
| 112 | // Create and set up the connections to the docked editor |
| 113 | dockedEditor = new DockedEditor(this); |
| 114 | connect(dockedEditor, &DockedEditor::editorCloseRequested, this, [=](ScintillaNext *editor) { closeFile(editor); }); |
| 115 | connect(dockedEditor, &DockedEditor::editorActivated, this, &MainWindow::activateEditor); |
| 116 | connect(dockedEditor, &DockedEditor::contextMenuRequestedForEditor, this, &MainWindow::tabBarRightClicked); |
| 117 | connect(dockedEditor, &DockedEditor::titleBarDoubleClicked, this, &MainWindow::newFile); |
| 118 | |
| 119 | // Set up the menus |
| 120 | connect(ui->actionNew, &QAction::triggered, this, &MainWindow::newFile); |
| 121 | connect(ui->actionOpen, &QAction::triggered, this, &MainWindow::openFileDialog); |
| 122 | connect(ui->actionReload, &QAction::triggered, this, &MainWindow::reloadFile); |
| 123 | connect(ui->actionClose, &QAction::triggered, this, &MainWindow::closeCurrentFile); |
| 124 | connect(ui->actionCloseAll, &QAction::triggered, this, &MainWindow::closeAllFiles); |
| 125 | connect(ui->actionExit, &QAction::triggered, this, &MainWindow::close); |
| 126 | |
| 127 | #ifdef Q_OS_WIN |
| 128 | ui->actionExit->setShortcut(QKeySequence("Alt+F4")); |
| 129 | #else |
| 130 | ui->actionExit->setShortcut(QKeySequence::Quit); |
| 131 | #endif |
| 132 | |
| 133 | connect(ui->actionOpenFolderasWorkspace, &QAction::triggered, this, &MainWindow::openFolderAsWorkspaceDialog); |
| 134 | |
| 135 | connect(ui->actionCloseAllExceptActive, &QAction::triggered, this, &MainWindow::closeAllExceptActive); |
| 136 | connect(ui->actionCloseAllToLeft, &QAction::triggered, this, &MainWindow::closeAllToLeft); |
| 137 | connect(ui->actionCloseAllToRight, &QAction::triggered, this, &MainWindow::closeAllToRight); |
| 138 | |
| 139 | connect(ui->actionSave, &QAction::triggered, this, &MainWindow::saveCurrentFile); |
| 140 | connect(ui->actionSaveAs, &QAction::triggered, this, &MainWindow::saveCurrentFileAsDialog); |
| 141 | connect(ui->actionSaveCopyAs, &QAction::triggered, this, &MainWindow::saveCopyAsDialog); |
| 142 | connect(ui->actionSaveAll, &QAction::triggered, this, &MainWindow::saveAll); |
| 143 | connect(ui->actionRename, &QAction::triggered, this, &MainWindow::renameFile); |
| 144 | |
| 145 | connect(ui->actionExportHtml, &QAction::triggered, this, [=]() { |
| 146 | HtmlConverter html(currentEditor()); |
| 147 | exportAsFormat(&html, QStringLiteral("HTML files (*.html)")); |
| 148 | }); |
| 149 | |
| 150 | connect(ui->actionExportRtf, &QAction::triggered, this, [=]() { |
nothing calls this directly
no test coverage detected