From c6467117db53b2ea1f847571c808a0591b3a3cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F=20=D0=91=D0=BE=D0=B3=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Sun, 27 Dec 2020 16:07:15 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BF=D0=BE=20mainwindow.cpp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mainwindow.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index c817caa..6688703 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -16,6 +16,7 @@ MainWindow::MainWindow(QWidget *parent) ui->saveAllAct->setIcon(QPixmap(":/toolBar/images/saveAll.png")); + //!!! Под Linux нет такого каталога. Посмотрите методы Qt, возвращающие стандартные каталоги на любой платформе. fileSystem.setRootPath("C:\\"); ui->treeView->setModel(&fileSystem); @@ -42,7 +43,7 @@ MainWindow::MainWindow(QWidget *parent) connect(ui->activeFilesAct,SIGNAL(toggled(bool)),this, SLOT(on_activeFilesAct(bool))); - bar = new QToolBar(); + bar = new QToolBar(); ///!!! Не указан родительский объект bar->addAction(ui->newAct); bar->addAction(ui->openAct); @@ -146,7 +147,7 @@ void MainWindow::on_closeAllAct_triggered() void MainWindow::on_exitAct_triggered() { - Dialog* dial = new Dialog; + Dialog* dial = new Dialog; ///!!! Не указан родительский объект dial->setWindowTitle("Хотите сохранить файлы перед выход ?"); @@ -169,7 +170,8 @@ void MainWindow::on_exitAct_triggered() void MainWindow::on_openAct_triggered() { - + //!!! А если пользователь python в файл добавит? Там свои расширения... + QString openFileName = QFileDialog::getOpenFileName(this,"Выбрать файл для открытия","C:\\", "Все файлы (*.txt *.h *.cpp *.pro *.pdf) ;; " "C++ файлы (*.h *.cpp *.pro);; Текстовые .txt ;; PDF файлы *.pdf"); @@ -189,6 +191,8 @@ void MainWindow::on_openAct_triggered() QFileInfo fileInfo (file); + ///!!! Жесткая зависимость от расширений. Проверять надо с теми расширениями, которые приведены в файле настроек + if(fileInfo.completeSuffix() == "h" || fileInfo.completeSuffix() == "cpp" || fileInfo.completeSuffix() == "pro" || fileInfo.completeSuffix() == "ui" ) { Highlighter* highlighter = new Highlighter(textEd->document()); @@ -241,6 +245,8 @@ void MainWindow::on_saveAct_triggered() void MainWindow::on_saveAsAct_triggered() { + ///!!! Жесткая зависимость от расширений + QString saveFileName = QFileDialog::getSaveFileName(this,"Выбрать файл для сохранения","C:\\", "Все файлы (*.txt *.cpp *.h);; Текстовый файлы *.txt ;;" " C++ файлы (*.h *.cpp)"); @@ -390,7 +396,7 @@ void MainWindow::on_highlightAct_triggered() QPlainTextEdit* textEd = qobject_cast (ui->tabWidget->currentWidget()); if(textEd == nullptr) { - QErrorMessage * msg = new QErrorMessage(); + QErrorMessage * msg = new QErrorMessage(); ///!!! Не указан родительский объект msg->showMessage("Ошибка выделить все"); return; // } @@ -402,7 +408,7 @@ void MainWindow::on_treeView_clicked(const QModelIndex &index) { if(!index.isValid()) { - QErrorMessage* msg = new QErrorMessage; + QErrorMessage* msg = new QErrorMessage; ///!!! Не указан родительский объект msg->showMessage("Oшибка открытия файла"); } QString path = fileSystem.filePath(index); @@ -425,16 +431,17 @@ void MainWindow::on_treeView_clicked(const QModelIndex &index) } else { - QErrorMessage * msg = new QErrorMessage(); + QErrorMessage * msg = new QErrorMessage(); ///!!! Не указан родительский объект msg->showMessage("Файл с данным расширением не открывается"); return; } - QPlainTextEdit* textEd = new QPlainTextEdit; + QPlainTextEdit* textEd = new QPlainTextEdit; ///!!! Не указан родительский объект QFileInfo fileInfo (file); + //!!! Зависимость от расширений if(fileInfo.completeSuffix() == "h" || fileInfo.completeSuffix() == "cpp" || fileInfo.completeSuffix() == "pro" || fileInfo.completeSuffix() == "ui" ) { Highlighter* highLighter = new Highlighter (textEd->document()); -- GitLab