add java compile

This commit is contained in:
sonichy 2018-08-23 17:29:45 +08:00
parent 34e3525fd5
commit b78155a986
2 changed files with 29 additions and 2 deletions

BIN
HTYEdit

Binary file not shown.

View File

@ -83,7 +83,7 @@ void MainWindow::on_action_about_triggered()
void MainWindow::on_action_changelog_triggered()
{
QString s = "1.5\n2018-08\n增加行号\n\n1.4\n2018-07\n设置QTextEdit的Tab跳过的空格数为4个空格\n\n1.3\n2018-06\n增加调试窗口。\n\n1.2\n2018-05\n增加c、cpp的OpenGL编译命令。\n2018-05\n解决右键打开方式无法打开文件问题。\n增加运行python。\n2018-04\n增加打印功能。\n\n1.1\n2017-10\n增加获取文本编码(使用 file --mime-encoding 命令返回),但是没有解决乱码问题。\n排版实验。\n用文本框代替消息框显示更新日志。\n2017-07\n增加拖放打开文件。\n2017-06\n增加语法高亮。\n提取打开文件的相对路径使Markdown预览能够载入相对路径图片。\n\n1.0\n2017-03\n支持命令行打开文件和打开方式打开文件。\n查找窗口填入选中文本。\n2017-02\n根据文件扩展名选择语法高亮方案。\nJS语法高亮实验成功\nHTML语法高亮实验成功\n增加设置字体。\n设置状态栏左右边距。\n2017-01\n实现全部替换。\n设置循环查找。\n增加查找替换窗体和功能。\n根据文件扩展名决定是否使用默认程序打开如htm。\n优化保存、另存为和文本修动标题标记逻辑。\n增加撤销,重做,子窗标题文本改动标识。\n增加子窗体类实现Ctrl+滚轮缩放和保存打开文件的路径。\n增加使用默认程序预览文件。\n把上一个打开或保存的路径设置为打开或保存对话框的默认路径和文件名。\n增加放大、缩小。\n增加文本光标变化信号,光标所在行列显示在状态栏第二栏。\n状态栏分为2栏\n修复没有子窗口时预览引起的崩溃。\n增加预览功能。\n保存成功。\n修改字体颜色,背景色成功。\n新建文件成功,打开文件载入成功。\n选用QMdiArea作为主控件增加窗口标签、平铺、层叠菜单。 \n制作主要菜单。";
QString s = "1.5\n2018-08\n增加行号\n增加java文件编译命令\n\n1.4\n2018-07\n设置QTextEdit的Tab跳过的空格数为4个空格\n\n1.3\n2018-06\n增加调试窗口。\n\n1.2\n2018-05\n增加c、cpp的OpenGL编译命令。\n2018-05\n解决右键打开方式无法打开文件问题。\n增加运行python。\n2018-04\n增加打印功能。\n\n1.1\n2017-10\n增加获取文本编码(使用 file --mime-encoding 命令返回),但是没有解决乱码问题。\n排版实验。\n用文本框代替消息框显示更新日志。\n2017-07\n增加拖放打开文件。\n2017-06\n增加语法高亮。\n提取打开文件的相对路径使Markdown预览能够载入相对路径图片。\n\n1.0\n2017-03\n支持命令行打开文件和打开方式打开文件。\n查找窗口填入选中文本。\n2017-02\n根据文件扩展名选择语法高亮方案。\nJS语法高亮实验成功\nHTML语法高亮实验成功\n增加设置字体。\n设置状态栏左右边距。\n2017-01\n实现全部替换。\n设置循环查找。\n增加查找替换窗体和功能。\n根据文件扩展名决定是否使用默认程序打开如htm。\n优化保存、另存为和文本修动标题标记逻辑。\n增加撤销,重做,子窗标题文本改动标识。\n增加子窗体类实现Ctrl+滚轮缩放和保存打开文件的路径。\n增加使用默认程序预览文件。\n把上一个打开或保存的路径设置为打开或保存对话框的默认路径和文件名。\n增加放大、缩小。\n增加文本光标变化信号,光标所在行列显示在状态栏第二栏。\n状态栏分为2栏\n修复没有子窗口时预览引起的崩溃。\n增加预览功能。\n保存成功。\n修改字体颜色,背景色成功。\n新建文件成功,打开文件载入成功。\n选用QMdiArea作为主控件增加窗口标签、平铺、层叠菜单。 \n制作主要菜单。";
QDialog *dialog = new QDialog;
dialog->setWindowTitle("更新历史");
dialog->setFixedSize(400,300);
@ -271,6 +271,30 @@ void MainWindow::on_action_run_triggered()
});
qDebug() << command;
process_compile->start(command);
} else if (suffix == "java") {
on_action_save_triggered();
QString command = lineEdit_command->text().arg(filename1).arg(QFileInfo(path).baseName());
LS1->setText(command);
ui->textBrowser->setText("");
ui->textBrowser->append(command);
QProcess *process_compile = new QProcess;
process_compile->setWorkingDirectory(filepath);
connect(process_compile, SIGNAL(readyReadStandardOutput()), this, SLOT(printOutput()));
connect(process_compile, SIGNAL(readyReadStandardError()), this, SLOT(printError()));
connect(process_compile, static_cast<void(QProcess::*)(int, QProcess::ExitStatus)>(&QProcess::finished), [=](int exitCode, QProcess::ExitStatus exitStatus){
Q_UNUSED(exitCode);
Q_UNUSED(exitStatus);
qDebug() << exitCode << exitStatus;
QProcess *process_run = new QProcess;
process_run->setWorkingDirectory(filepath);
connect(process_run, SIGNAL(readyReadStandardOutput()), this, SLOT(printOutput()));
connect(process_run, SIGNAL(readyReadStandardError()), this, SLOT(printError()));
QString command2 = "java " + QFileInfo(path).baseName();
ui->textBrowser->append(command2);
process_run->start(command2);
});
qDebug() << command;
process_compile->start(command);
}
}
}
@ -390,9 +414,9 @@ void MainWindow::on_action_font_triggered()
}
}
//自己写的高亮效率低打开文件会卡死弃用引入QSyntaxHighlighter类
void MainWindow::SyntaxHighlight()
{
//自己写的高亮效率低打开文件会卡死弃用引入QSyntaxHighlighter类。
QTextCursor cursor = ((QTextEdit*)(ui->mdiArea->currentSubWindow()->widget()))->textCursor();
QString suffix = QFileInfo(((MdiChild*)(ui->mdiArea->currentSubWindow()->widget()))->path).suffix().toLower();
if (suffix == "htm" || suffix == "html") {
@ -546,6 +570,9 @@ void MainWindow::updateCommand()
} else if (suffix == "py") {
ui->textBrowser->show();
lineEdit_command->setText("python %1");
} else if (suffix == "java") {
ui->textBrowser->show();
lineEdit_command->setText("javac %1");
} else {
lineEdit_command->setText("");
ui->textBrowser->hide();