1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #include <QGuiApplication>
- #include <QScreen>
- #include <QWidget>
- #include <QMenuBar>
- #include <QFileDialog>
- #include <QUrl>
- #include <QFileInfo>
- #include <QDebug>
- #include "MainWindow.hpp"
- MainWindow::MainWindow ()
- {
- createActions ();
- createMenus ();
- setWindowTitle (tr ("DSL - Draw Strength Line"));
- QScreen *screen = QGuiApplication::primaryScreen ();
- QRect screenGeometry = screen->geometry ();
- int screenWidth = screenGeometry.width () - 200;
- int screenHeight = screenGeometry.height () - 200;
-
- wa = new WorkArea (screenWidth, screenHeight, this);
-
- setCentralWidget (wa);
- setFixedSize (screenWidth, screenHeight);
- }
- void
- MainWindow::open ()
- {
- filename = QFileDialog::getOpenFileName (this,
- QObject::
- tr ("Open image file"),
- QDir::currentPath (),
- QObject::tr("Images files (*.jpg *.png);;All files (*.*)"));
- QDir::setCurrent(QString(filename).remove(QUrl(filename).fileName()));
- QString SLFilename = QFileDialog::getOpenFileName (this,
- QObject::
- tr ("Open strength lines file"),
- QDir::currentPath (),
- QObject::
- tr
- ("Json files (*.json);;All files (*.*)"));
- wa->loadImage (filename.toStdString ());
- wa->loadSL(SLFilename.toStdString());
- wa->setReadOnly(true);
- wa->repaint();
- setFixedSize (wa->geometry().width(), wa->geometry().height()+wa->geometry().y());
- }
- void
- MainWindow::save ()
- {
- QString fileToSave = QFileDialog::getSaveFileName (this,
- QObject::tr ("Save file"),
- QDir::currentPath ().append("/").append(QFileInfo(filename).baseName()).append(".json"),
- QObject::tr("JSON file (*.json);;All files (*.*)"));
- if(!fileToSave.endsWith(".json"))
- fileToSave.append(".json");
- wa->saveStrengthLine (fileToSave.toStdString ());
- }
- void
- MainWindow::createActions ()
- {
- openAct = new QAction (tr ("&Open image"), this);
- openAct->setShortcuts (QKeySequence::Open);
- connect (openAct, &QAction::triggered, this, &MainWindow::open);
- saveAct = new QAction (tr ("&Save"), this);
- saveAct->setShortcuts (QKeySequence::Save);
- connect (saveAct, &QAction::triggered, this, &MainWindow::save);
- exitAct = new QAction (tr ("E&xit"), this);
- exitAct->setShortcuts (QKeySequence::Quit);
- connect (exitAct, &QAction::triggered, this, &QWidget::close);
- }
- void
- MainWindow::createMenus ()
- {
- fileMenu = menuBar ()->addMenu (tr ("&File"));
- fileMenu->addAction (openAct);
- fileMenu->addAction (saveAct);
- fileMenu->addSeparator ();
- fileMenu->addAction (exitAct);
- }
|