支持拖放打开多个文件
This commit is contained in:
parent
88f2e4c79f
commit
babfcb4af9
|
@ -6,5 +6,5 @@ Icon=/media/sonichy/job/HY/Linux/Qt/HTYEdit/icon.png
|
|||
Path=/media/sonichy/job/HY/Linux/Qt/HTYEdit
|
||||
Terminal=false
|
||||
Type=Application
|
||||
MimeType=text/plain;
|
||||
MimeType=text/plain;text/html;image/svg+xml;
|
||||
Categories=TextEditor;
|
||||
|
|
6
main.cpp
6
main.cpp
|
@ -14,5 +14,9 @@ int main(int argc, char *argv[])
|
|||
*/
|
||||
MainWindow w;
|
||||
w.show();
|
||||
|
||||
//在新标签里打开文件
|
||||
//https://github.com/linuxdeepin/deepin-editor/blob/209eac26c54fe6d2562dd8e00608b8d62b328529/src/main.cpp#L69
|
||||
//QDBusInterface.callWithArgumentList
|
||||
return app.exec();
|
||||
}
|
||||
}
|
|
@ -59,9 +59,9 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
connect(ui->mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow*)), this, SLOT(subWindowActivate(QMdiSubWindow*)));
|
||||
|
||||
dialogFind = new DialogFind(this);
|
||||
connect(dialogFind->ui->pushButton_find_next,SIGNAL(clicked(bool)),this,SLOT(find()));
|
||||
connect(dialogFind->ui->pushButton_replace,SIGNAL(clicked(bool)),this,SLOT(replace()));
|
||||
connect(dialogFind->ui->pushButton_replaceAll,SIGNAL(clicked(bool)),this,SLOT(replaceAll()));
|
||||
connect(dialogFind->ui->pushButton_find_next, SIGNAL(clicked(bool)), this, SLOT(find()));
|
||||
connect(dialogFind->ui->pushButton_replace, SIGNAL(clicked(bool)), this, SLOT(replace()));
|
||||
connect(dialogFind->ui->pushButton_replaceAll, SIGNAL(clicked(bool)), this, SLOT(replaceAll()));
|
||||
|
||||
QStringList Largs = QApplication::arguments();
|
||||
qDebug() << Largs;
|
||||
|
@ -83,7 +83,7 @@ void MainWindow::on_action_aboutQt_triggered()
|
|||
|
||||
void MainWindow::on_action_about_triggered()
|
||||
{
|
||||
QMessageBox aboutMB(QMessageBox::NoIcon, "关于", "海天鹰编辑器 1.6\n\n一款基于 Qt 的文本编辑程序。\n作者:黄颖\nE-mail: sonichy@163.com\n主页:https://github.com/sonichy\n参考文献:\n多文档编辑器:http://www.qter.org/?page_id=161\nQMdiArea基本用法:http://www.mamicode.com/info-detail-1607476.html\n保存文本:http://blog.csdn.net/neicole/article/details/7330234\n语法高亮:http://www.cnblogs.com/lenxvp/p/5475931.html\n拖放打开文件:http://blog.csdn.net/rl529014/article/details/53057577\n行号:http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html");
|
||||
QMessageBox aboutMB(QMessageBox::NoIcon, "关于", "海天鹰编辑器 1.7\n\n一款基于 Qt 的文本编辑程序。\n作者:黄颖\nE-mail: sonichy@163.com\n主页:https://github.com/sonichy\n参考文献:\n多文档编辑器:http://www.qter.org/?page_id=161\nQMdiArea基本用法:http://www.mamicode.com/info-detail-1607476.html\n保存文本:http://blog.csdn.net/neicole/article/details/7330234\n语法高亮:http://www.cnblogs.com/lenxvp/p/5475931.html\n拖放打开文件:http://blog.csdn.net/rl529014/article/details/53057577\n行号:http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html");
|
||||
aboutMB.setIconPixmap(QPixmap(":/icon.png"));
|
||||
aboutMB.setWindowIcon(QIcon(":/icon.png"));
|
||||
aboutMB.exec();
|
||||
|
@ -91,10 +91,10 @@ void MainWindow::on_action_about_triggered()
|
|||
|
||||
void MainWindow::on_action_changelog_triggered()
|
||||
{
|
||||
QString s = "1.6\n2018-09\n标签右键增加只读菜单。\n优化括号补全。\n\n1.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制作主要菜单。";
|
||||
QString s = "1.7\n2018-10\n支持拖放打开多个文件。\n\n1.6\n2018-09\n标签右键增加只读菜单。\n优化括号补全。\n\n1.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);
|
||||
dialog->setFixedSize(400, 300);
|
||||
QVBoxLayout *vbox = new QVBoxLayout;
|
||||
QTextBrowser *textBrowser = new QTextBrowser;
|
||||
textBrowser->setText(s);
|
||||
|
@ -176,7 +176,7 @@ void MainWindow::open(QString fileName)
|
|||
connect(child, SIGNAL(cursorPositionChanged()), this, SLOT(cursorPositionChange()));
|
||||
QMdiSubWindow *subWindow = ui->mdiArea->addSubWindow(child);
|
||||
QMenu *menu = subWindow->systemMenu();
|
||||
QAction *action_readonly = new QAction("只读",menu);
|
||||
QAction *action_readonly = new QAction("只读", menu);
|
||||
action_readonly->setCheckable(true);
|
||||
menu->addAction(action_readonly);
|
||||
connect(action_readonly, SIGNAL(triggered(bool)), child, SLOT(setReadOnlyA(bool)));
|
||||
|
@ -507,19 +507,18 @@ void MainWindow::dropEvent(QDropEvent *e) //释放对方时,执行的操作
|
|||
{
|
||||
QList<QUrl> urls = e->mimeData()->urls();
|
||||
if(urls.isEmpty())
|
||||
return ;
|
||||
|
||||
QString fileName = urls.first().toLocalFile();
|
||||
|
||||
foreach (QUrl u, urls) {
|
||||
qDebug() << u.toString();
|
||||
}
|
||||
qDebug() << urls.size();
|
||||
|
||||
if(fileName.isEmpty())
|
||||
return;
|
||||
|
||||
open(fileName);
|
||||
//QString fileName = urls.first().toLocalFile();
|
||||
|
||||
foreach (QUrl url, urls) {
|
||||
//qDebug() << url.toString();
|
||||
open(url.toLocalFile());
|
||||
}
|
||||
|
||||
//qDebug() << urls.size();
|
||||
//if(fileName.isEmpty()) return;
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::subWindowActivate(QMdiSubWindow *window)
|
||||
|
|
Loading…
Reference in New Issue