mirror of
https://github.com/jorenchik/mdemory.git
synced 2026-03-22 00:26:21 +00:00
changes in code after tests on windows
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#include <cstdio>
|
||||
#include <ctime>
|
||||
#include <time.h>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
@@ -8,31 +8,12 @@
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
#include <qabstractbutton.h>
|
||||
#include <qapplication.h>
|
||||
#include <qboxlayout.h>
|
||||
#include <qcombobox.h>
|
||||
#include <qdialog.h>
|
||||
#include <qlabel.h>
|
||||
#include <qlayoutitem.h>
|
||||
#include <qmainwindow.h>
|
||||
#include <qnamespace.h>
|
||||
#include <qobjectdefs.h>
|
||||
#include <qsettings.h>
|
||||
#include <qsizepolicy.h>
|
||||
#include <qt/QtWidgets/qwidget.h>
|
||||
#include <qtoolbutton.h>
|
||||
#include <qwidget.h>
|
||||
#include <qwindow.h>
|
||||
#include <qwindowdefs.h>
|
||||
|
||||
#include <Qsci/qsciscintilla.h>
|
||||
#include <Qsci/qscilexercpp.h>
|
||||
#include <QApplication>
|
||||
#include <QMainWindow>
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QHeaderView>
|
||||
#include <QToolButton>
|
||||
#include <QFileSystemModel>
|
||||
#include <QTreeView>
|
||||
@@ -42,28 +23,18 @@
|
||||
#include <QScrollArea>
|
||||
#include <QSpacerItem>
|
||||
#include <QFile>
|
||||
#include <QShortcut>
|
||||
#include <QTime>
|
||||
#include <QRegularExpression>
|
||||
#include <QStringList>
|
||||
#include <QListView>
|
||||
#include <QWindow>
|
||||
#include <QMenuBar>
|
||||
#include <QMenu>
|
||||
#include <QFileDialog>
|
||||
#include <qabstractitemmodel.h>
|
||||
#include <QFormLayout>
|
||||
#include <QSettings>
|
||||
#include <QLineEdit>
|
||||
#include <QComboBox>
|
||||
#include <QSpinBox>
|
||||
#include <QDoubleSpinBox>
|
||||
#include <QCheckBox>
|
||||
#include <QPushButton>
|
||||
#include <QStandardPaths>
|
||||
#include <QShortcut>
|
||||
#include <QWidget>
|
||||
#include <QTextBrowser>
|
||||
#include <QHeaderView>
|
||||
|
||||
#include <Qsci/qscilexer.h>
|
||||
#include <Qsci/qsciscintilla.h>
|
||||
#include <Qsci/qscilexercpp.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "settings.h"
|
||||
@@ -71,7 +42,6 @@
|
||||
#include "trainWindow.h"
|
||||
#include "api.h"
|
||||
#include "parser.h"
|
||||
#include "qscilexer.h"
|
||||
|
||||
// Atmiņas bāze.
|
||||
QString currentPath = "";
|
||||
@@ -746,6 +716,32 @@ void pickDirectory(QString directory) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Pārbauda direktorija lasāmību
|
||||
try {
|
||||
auto tempFile = path.concat("/.writetest.tmp").string();
|
||||
std::ofstream file(tempFile);
|
||||
if (file) {
|
||||
file.close();
|
||||
std::filesystem::remove(tempFile);
|
||||
} else {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Atveršanas kļūda",
|
||||
"Izvēlētajā direktorijā nav iespējams rakstīt."
|
||||
);
|
||||
currentPath = "";
|
||||
return;
|
||||
}
|
||||
} catch (const std::exception& e) {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Atveršanas kļūda",
|
||||
"Neizdevās pārbaudīt izvēlētā direktorija rakstāmību."
|
||||
);
|
||||
currentPath = "";
|
||||
return;
|
||||
}
|
||||
|
||||
currentPath = directory;
|
||||
|
||||
// Atjauno failu sarakstu.
|
||||
@@ -768,6 +764,7 @@ void pickDirectory(QString directory) {
|
||||
}
|
||||
|
||||
void setupEditorSave() {
|
||||
const QString title = editMdem ? "Rediģēšanas kļūda" : "Pievienošanas kļūda";
|
||||
debug = settings->value(SETTING_DEBUG).toBool();
|
||||
showTimes = settings->value(SETTING_SHOW_TIMES).toBool();
|
||||
auto res = transpile(editor->text().toStdString());
|
||||
@@ -778,7 +775,7 @@ void setupEditorSave() {
|
||||
}
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Rediģēšanas kļūda",
|
||||
title,
|
||||
QString::fromStdString(res.error)
|
||||
);
|
||||
} else {
|
||||
@@ -786,7 +783,7 @@ void setupEditorSave() {
|
||||
if (res.value.questions.size() <= 0) {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Rediģēšanas kļūda",
|
||||
title,
|
||||
"Jūsu ievadē nav jautājumu."
|
||||
);
|
||||
} else if (res.value.questions.size() == 1) {
|
||||
@@ -807,7 +804,7 @@ void setupEditorSave() {
|
||||
} else {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Rediģēšanas kļūda",
|
||||
title,
|
||||
"Jūsu ievadē ir vairāki jautājumi. Lūdzu ievadiet vienu!"
|
||||
);
|
||||
}
|
||||
@@ -815,7 +812,7 @@ void setupEditorSave() {
|
||||
if (res.value.questions.size() <= 0) {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Rediģēšanas kļūda",
|
||||
title,
|
||||
"Jūsu ievadē nav jautājumu."
|
||||
);
|
||||
} else {
|
||||
@@ -873,6 +870,7 @@ QMainWindow *initMdemListWindow() {
|
||||
// Saistīti logi.
|
||||
auto *settingsWindow = initSettings();
|
||||
trainWindow = initTrainWindow();
|
||||
trainWindow->resize(800, 600);
|
||||
|
||||
QMainWindow *guideWindow = new QMainWindow;
|
||||
{ // Apmācības logs.
|
||||
@@ -884,6 +882,7 @@ QMainWindow *initMdemListWindow() {
|
||||
layout->addWidget(textBrowser);
|
||||
guideWidget->setLayout(layout);
|
||||
guideWindow->setCentralWidget(guideWidget);
|
||||
guideWindow->resize(800, 600);
|
||||
}
|
||||
|
||||
QAction *actionOpen;
|
||||
@@ -1019,14 +1018,26 @@ QMainWindow *initMdemListWindow() {
|
||||
|
||||
// Pogu definēšana.
|
||||
QObject::connect(&toolbar->btnAdd, &QToolButton::clicked, []() {
|
||||
if (!currentMdemBuffer) {
|
||||
return;
|
||||
}
|
||||
editMdem = nullptr;
|
||||
editorWindow->show();
|
||||
editor->setText("");
|
||||
});
|
||||
QObject::connect(&toolbar->btnLoad, &QToolButton::clicked, []() {
|
||||
if (!currentMdemBuffer) {
|
||||
return;
|
||||
}
|
||||
if (!trainWindow->isHidden()) {
|
||||
trainWindow->hide();
|
||||
}
|
||||
reloadMdem(currentMdem);
|
||||
});
|
||||
QObject::connect(&toolbar->btnSave, &QToolButton::clicked, []() {
|
||||
if (!currentMdemBuffer) {
|
||||
return;
|
||||
}
|
||||
saveMdem();
|
||||
});
|
||||
QObject::connect(
|
||||
@@ -1088,7 +1099,7 @@ QMainWindow *initMdemListWindow() {
|
||||
mdemList = new QTreeView();
|
||||
|
||||
QStringList filters;
|
||||
filters << "*.mdem";
|
||||
filters << "*.mdem" << "*.txt";
|
||||
model->setNameFilters(filters);
|
||||
model->setNameFilterDisables(false);
|
||||
|
||||
@@ -1108,7 +1119,7 @@ QMainWindow *initMdemListWindow() {
|
||||
&QTreeView::doubleClicked,
|
||||
[](const QModelIndex &index) {
|
||||
auto fileInfo = model->fileInfo(index);
|
||||
if (fileInfo.suffix() == "mdem") {
|
||||
if (!fileInfo.isDir()) {
|
||||
trainWindow->close();
|
||||
reloadMdem(fileInfo.filePath().toStdString());
|
||||
}
|
||||
@@ -1271,5 +1282,6 @@ QMainWindow *initMdemListWindow() {
|
||||
|
||||
window->setCentralWidget(wMain);
|
||||
window->show();
|
||||
window->resize(800, 600);
|
||||
return window;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user