|
|
@ -68,13 +68,14 @@ MainWindow::MainWindow() : QMainWindow() { |
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::createActions() { |
|
|
|
void MainWindow::createActions() { |
|
|
|
QMenu *file_menu = menuBar()->addMenu(tr("&File")); |
|
|
|
QMenu *file_menu = menuBar()->addMenu(tr("&File")); |
|
|
|
file_menu->addAction(tr("Open DBC File..."), this, &MainWindow::loadDBCFromFile); |
|
|
|
file_menu->addAction(tr("Open DBC File..."), this, &MainWindow::loadDBCFromFile)->setShortcuts(QKeySequence::Open); |
|
|
|
file_menu->addAction(tr("Load DBC From Clipboard"), this, &MainWindow::loadDBCFromClipboard); |
|
|
|
file_menu->addAction(tr("Load DBC From Clipboard"), this, &MainWindow::loadDBCFromClipboard); |
|
|
|
file_menu->addSeparator(); |
|
|
|
file_menu->addSeparator(); |
|
|
|
file_menu->addAction(tr("Save DBC As..."), this, &MainWindow::saveDBCToFile); |
|
|
|
file_menu->addAction(tr("Save DBC..."), this, &MainWindow::saveDBCToFile)->setShortcuts(QKeySequence::Save); |
|
|
|
|
|
|
|
file_menu->addAction(tr("Save DBC As..."), this, &MainWindow::saveAsDBCToFile)->setShortcuts(QKeySequence::SaveAs); |
|
|
|
file_menu->addAction(tr("Copy DBC To Clipboard"), this, &MainWindow::saveDBCToClipboard); |
|
|
|
file_menu->addAction(tr("Copy DBC To Clipboard"), this, &MainWindow::saveDBCToClipboard); |
|
|
|
file_menu->addSeparator(); |
|
|
|
file_menu->addSeparator(); |
|
|
|
file_menu->addAction(tr("Settings..."), this, &MainWindow::setOption); |
|
|
|
file_menu->addAction(tr("Settings..."), this, &MainWindow::setOption)->setShortcuts(QKeySequence::Preferences); |
|
|
|
|
|
|
|
|
|
|
|
QMenu *edit_menu = menuBar()->addMenu(tr("&Edit")); |
|
|
|
QMenu *edit_menu = menuBar()->addMenu(tr("&Edit")); |
|
|
|
auto undo_act = detail_widget->undo_stack->createUndoAction(this, tr("&Undo")); |
|
|
|
auto undo_act = detail_widget->undo_stack->createUndoAction(this, tr("&Undo")); |
|
|
@ -182,7 +183,7 @@ void MainWindow::loadDBCFromName(const QString &name) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::loadDBCFromFile() { |
|
|
|
void MainWindow::loadDBCFromFile() { |
|
|
|
QString file_name = QFileDialog::getOpenFileName(this, tr("Open File"), settings.last_dir, "DBC (*.dbc)"); |
|
|
|
file_name = QFileDialog::getOpenFileName(this, tr("Open File"), settings.last_dir, "DBC (*.dbc)"); |
|
|
|
if (!file_name.isEmpty()) { |
|
|
|
if (!file_name.isEmpty()) { |
|
|
|
settings.last_dir = QFileInfo(file_name).absolutePath(); |
|
|
|
settings.last_dir = QFileInfo(file_name).absolutePath(); |
|
|
|
QFile file(file_name); |
|
|
|
QFile file(file_name); |
|
|
@ -213,18 +214,24 @@ void MainWindow::loadDBCFromFingerprint() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::saveDBCToFile() { |
|
|
|
void MainWindow::saveDBCToFile() { |
|
|
|
QString file_name = QFileDialog::getSaveFileName(this, tr("Save File"), |
|
|
|
if (file_name.isEmpty()) { |
|
|
|
QDir::cleanPath(settings.last_dir + "/untitled.dbc"), tr("DBC (*.dbc)")); |
|
|
|
saveAsDBCToFile(); |
|
|
|
if (!file_name.isEmpty()) { |
|
|
|
} else { |
|
|
|
settings.last_dir = QFileInfo(file_name).absolutePath(); |
|
|
|
settings.last_dir = QFileInfo(file_name).absolutePath(); |
|
|
|
QFile file(file_name); |
|
|
|
QFile file(file_name); |
|
|
|
if (file.open(QIODevice::WriteOnly)) { |
|
|
|
if (file.open(QIODevice::WriteOnly)) { |
|
|
|
file.write(dbc()->generateDBC().toUtf8()); |
|
|
|
file.write(dbc()->generateDBC().toUtf8()); |
|
|
|
detail_widget->undo_stack->clear(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::saveAsDBCToFile() { |
|
|
|
|
|
|
|
file_name = QFileDialog::getSaveFileName(this, tr("Save File"), QDir::cleanPath(settings.last_dir + "/untitled.dbc"), tr("DBC (*.dbc)")); |
|
|
|
|
|
|
|
if (!file_name.isEmpty()) { |
|
|
|
|
|
|
|
saveDBCToFile(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void MainWindow::saveDBCToClipboard() { |
|
|
|
void MainWindow::saveDBCToClipboard() { |
|
|
|
QGuiApplication::clipboard()->setText(dbc()->generateDBC()); |
|
|
|
QGuiApplication::clipboard()->setText(dbc()->generateDBC()); |
|
|
|
QMessageBox::information(this, tr("Copy To Clipboard"), tr("DBC Successfully copied!")); |
|
|
|
QMessageBox::information(this, tr("Copy To Clipboard"), tr("DBC Successfully copied!")); |
|
|
|