2025-01-04 04:12:51 +00:00
|
|
|
#include "FileManagerMenu.h"
|
|
|
|
|
|
|
|
|
|
#include <QFileDialog>
|
|
|
|
|
#include <QMessageBox>
|
|
|
|
|
|
|
|
|
|
#include "app/Application.h"
|
|
|
|
|
#include "common/RecourceHelper.h"
|
|
|
|
|
|
|
|
|
|
#include "ui/MainFrame.h"
|
|
|
|
|
#include "ui/WorkSpace/WorkSpaceDlg.h"
|
|
|
|
|
|
|
|
|
|
#include "common/SpdLogger.h"
|
|
|
|
|
#include "workspace/WorkSpace.h"
|
|
|
|
|
#include "workspace/WorkSpaceManager.h"
|
2025-01-21 18:42:57 +00:00
|
|
|
#include "utils/FileUtils.h"
|
2025-01-04 04:12:51 +00:00
|
|
|
|
|
|
|
|
#include "ui_FileManagerMenu.h"
|
|
|
|
|
|
|
|
|
|
FileManagerMenu::FileManagerMenu(QWidget* parent)
|
|
|
|
|
: QWidget(parent)
|
|
|
|
|
, ui(new Ui::FileManagerMenu) {
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
|
|
|
|
|
InitConnect();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FileManagerMenu::~FileManagerMenu() {
|
|
|
|
|
delete ui;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FileManagerMenu::InitConnect() {
|
|
|
|
|
connect(ui->menu_new_file, &QToolButton::clicked, this, &FileManagerMenu::NewWorkSpace);
|
|
|
|
|
connect(ui->menu_open_file, &QToolButton::clicked, this, &FileManagerMenu::OpenWorkSpace);
|
|
|
|
|
connect(ui->menu_save_file, &QToolButton::clicked, this, &FileManagerMenu::SaveWorkSpace);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FileManagerMenu::NewWorkSpace() {
|
|
|
|
|
LOG_INFO("click newworkspace");
|
|
|
|
|
WorkSpaceDlg* dlg = new WorkSpaceDlg(&MainFrame::Get());
|
|
|
|
|
dlg->exec();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FileManagerMenu::OpenWorkSpace() {
|
|
|
|
|
LOG_INFO("click newworkspace");
|
|
|
|
|
QString selfilter = tr("Dyt (*.dyt)");
|
|
|
|
|
|
|
|
|
|
const QString workspacePath = Application::GetWorkSpacePath();
|
|
|
|
|
QString dytFile = QFileDialog::getOpenFileName(&MainFrame::Get(), tr("open dyt file"), workspacePath,
|
|
|
|
|
tr("Dyt (*.dyt);;All files (*.*)"),
|
|
|
|
|
&selfilter);
|
|
|
|
|
LOG_INFO("user select file: {}", dytFile.toStdString());
|
|
|
|
|
if (dytFile.isEmpty()) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
emit LoadDyt(dytFile);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FileManagerMenu::SaveWorkSpace() {
|
|
|
|
|
LOG_INFO("click SaveWorkSpace");
|
2025-01-21 18:42:57 +00:00
|
|
|
|
2025-01-04 04:12:51 +00:00
|
|
|
WorkSpace* workspace = WorkSpaceManager::Get().GetCurrent();
|
|
|
|
|
if (nullptr == workspace) {
|
|
|
|
|
LOG_WARN("workspace is nullptr");
|
2025-01-21 18:42:57 +00:00
|
|
|
QMessageBox::warning(&MainFrame::Get(), tr("warning"), tr("workspace is nullptr"));
|
2025-01-04 04:12:51 +00:00
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-21 18:42:57 +00:00
|
|
|
const QString name = workspace->GetName();
|
|
|
|
|
QString dytFile = workspace->GetPath();
|
|
|
|
|
LOG_INFO("save {} dyt file: {}", name.toLocal8Bit().constData(),
|
|
|
|
|
dytFile.toLocal8Bit().constData());
|
|
|
|
|
/* if (!FileUtils::IsExist(dytFile)) {
|
|
|
|
|
QString selfilter = tr("Dyt (*.dyt)");
|
|
|
|
|
const QString workspacePath = Application::GetWorkSpacePath();
|
|
|
|
|
dytFile = QFileDialog::getSaveFileName(&MainFrame::Get(), tr("save dyt file"), workspacePath,
|
|
|
|
|
tr("Dyt (*.dyt);;All files (*.*)"),
|
|
|
|
|
&selfilter);
|
|
|
|
|
LOG_INFO("user select file: {}", dytFile.toLocal8Bit().constData());
|
|
|
|
|
if (dytFile.isEmpty()) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}*/
|
|
|
|
|
|
2025-01-04 04:12:51 +00:00
|
|
|
bool success = workspace->Save(dytFile);
|
|
|
|
|
LOG_INFO("save dyt: {}", success);
|
|
|
|
|
}
|