1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #include <QGuiApplication>
- #include <QScreen>
- #include <QWidget>
- #include <QMenuBar>
- #include <QFileDialog>
- #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 ()
- {
- QString filename = QFileDialog::getOpenFileName (this,
- QObject::
- tr ("Open image file"),
- QDir::currentPath (),
- QObject::
- tr
- ("Images files (*.jpg *.png);;All files (*.*)"));
- wa->loadImage (filename.toStdString ());
- setFixedSize (wa->geometry().width(), wa->geometry().height()+wa->geometry().y());
- }
- void
- MainWindow::save ()
- {
- QString filename = QFileDialog::getSaveFileName (this,
- QObject::tr ("Save file"),
- QDir::currentPath (),
- QObject::
- tr
- ("JSON file (*.json);;All files (*.*)"));
- if(!filename.endsWith(".json"))
- filename.append(".json");
- wa->saveStrengthLine (filename.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);
- }
|