diff --git a/mainwindow.cpp b/mainwindow.cpp index c817caaef14a26205d634ca6874121bbdf80aa5b..66887035f7dfbcd361b9e630456ed749d39c089a 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());