You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.0 KiB
C++
91 lines
3.0 KiB
C++
#include "MainWindow.h"
|
|
#include "ui_MainWindow.h"
|
|
|
|
#include <QtWidgets/QFileDialog>
|
|
#include <QtWidgets/QMessageBox>
|
|
|
|
MainWindow::MainWindow(QWidget *parent) :
|
|
QMainWindow(parent),
|
|
m_ui(new Ui::MainWindow) {
|
|
setupUi();
|
|
}
|
|
MainWindow::~MainWindow() {
|
|
delete m_ui;
|
|
}
|
|
|
|
void MainWindow::setupUi() {
|
|
m_ui->setupUi(this);
|
|
|
|
//region Shortcuts
|
|
m_ui->actionFileNew->setShortcut(QKeySequence::New);
|
|
m_ui->actionFileOpen->setShortcut(QKeySequence::Open);
|
|
m_ui->actionFileSave->setShortcut(QKeySequence::Save);
|
|
m_ui->actionFileSaveAs->setShortcut(QKeySequence::SaveAs);
|
|
m_ui->actionFileReload->setShortcut(QKeySequence::Refresh);
|
|
m_ui->actionFileClose->setShortcut(QKeySequence::Close);
|
|
m_ui->actionFileSettings->setShortcut(QKeySequence::Preferences);
|
|
m_ui->actionFileQuit->setShortcut(QKeySequence::Quit);
|
|
|
|
m_ui->actionEditUndo->setShortcut(QKeySequence::Undo);
|
|
m_ui->actionEditRedo->setShortcut(QKeySequence::Redo);
|
|
m_ui->actionEditCopy->setShortcut(QKeySequence::Copy);
|
|
m_ui->actionEditCut->setShortcut(QKeySequence::Cut);
|
|
m_ui->actionEditPaste->setShortcut(QKeySequence::Paste);
|
|
m_ui->actionEditModify->setShortcut(QKeySequence(tr("F2")));
|
|
m_ui->actionEditDelete->setShortcut(QKeySequence::Delete);
|
|
m_ui->actionEditMoveUp->setShortcut(QKeySequence(tr("Ctrl+Up")));
|
|
m_ui->actionEditMoveDown->setShortcut(QKeySequence(tr("Ctrl+Down")));
|
|
|
|
m_ui->actionSearchFind->setShortcut(QKeySequence::Find);
|
|
m_ui->actionSearchFindNext->setShortcut(QKeySequence::FindNext);
|
|
m_ui->actionSearchFindPrevious->setShortcut(QKeySequence::FindPrevious);
|
|
m_ui->actionSearchReplace->setShortcut(QKeySequence::Replace);
|
|
|
|
m_ui->actionHelpAboutNBTModifier->setShortcut(QKeySequence::HelpContents);
|
|
//endregion
|
|
|
|
//region Signals
|
|
connect(m_ui->actionHelpAboutQt, &QAction::triggered, qApp, &QApplication::aboutQt);
|
|
//endregion
|
|
}
|
|
|
|
void MainWindow::on_actionFileOpen_triggered() {
|
|
const QString path = QFileDialog::getOpenFileName(
|
|
this,
|
|
tr("Choose a file to open"),
|
|
qApp->applicationDirPath(),
|
|
QString(tr("Data files (*.dat);;All files (*.*)"))
|
|
);
|
|
if (path.isEmpty()) {
|
|
return;
|
|
}
|
|
|
|
const QFile file(path, this);
|
|
|
|
}
|
|
|
|
void MainWindow::on_actionHelpAboutNBTModifier_triggered() {
|
|
QMessageBox info(this);
|
|
|
|
info.setIcon(QMessageBox::Information);
|
|
info.setWindowTitle(tr("About NBTModifier"));
|
|
|
|
info.setStandardButtons(QMessageBox::Ok);
|
|
|
|
info.setTextFormat(Qt::RichText);
|
|
info.setText(
|
|
tr(
|
|
// language=HTML
|
|
"NBTModifier 1.0.0<br>"
|
|
"Copyright © 2020 Julien Rosset<br>"
|
|
"<br>"
|
|
"<a href='https://www.qt.io/'>Qt %1</a> and <a href='https://github.com/KDE/breeze-icons'>KDE Breeze icons</a><br>"
|
|
"<br>"
|
|
"<a href='mailto:jul.rosset@gmail.com'>jul.rosset@gmail.com</a><br>"
|
|
"<a href='https://git.jrosset.ovh/darkelfe14728/NBTModifier'>Project page</a>"
|
|
)
|
|
.arg(QT_VERSION_STR)
|
|
);
|
|
|
|
info.exec();
|
|
} |