tools/drawMapTest/mainwindow.cpp
branchui-scaling
changeset 15283 c4fd2813b127
parent 13390 0135e64c6c66
parent 15279 7ab5cf405686
child 15663 d92eeb468dad
equal deleted inserted replaced
13390:0135e64c6c66 15283:c4fd2813b127
     1 #include <QFileDialog>
       
     2 
       
     3 #include "mainwindow.h"
       
     4 #include "ui_mainwindow.h"
       
     5 #include "drawmapscene.h"
       
     6 
       
     7 MainWindow::MainWindow(QWidget *parent) :
       
     8     QMainWindow(parent),
       
     9     ui(new Ui::MainWindow)
       
    10 {
       
    11     ui->setupUi(this);
       
    12 
       
    13     scene = new DrawMapScene(this);
       
    14     //ui->graphicsView->setScene(scene);
       
    15     ui->drawMapWidget->setScene(scene);
       
    16 
       
    17     connect(ui->pbUndo, SIGNAL(clicked()), scene, SLOT(undo()));
       
    18     connect(scene, SIGNAL(pathChanged()), this, SLOT(scene_pathChanged()));
       
    19 }
       
    20 
       
    21 MainWindow::~MainWindow()
       
    22 {
       
    23     delete ui;
       
    24 }
       
    25 
       
    26 void MainWindow::changeEvent(QEvent *e)
       
    27 {
       
    28     QMainWindow::changeEvent(e);
       
    29     switch (e->type()) {
       
    30     case QEvent::LanguageChange:
       
    31         ui->retranslateUi(this);
       
    32         break;
       
    33     default:
       
    34         break;
       
    35     }
       
    36 }
       
    37 
       
    38 void MainWindow::scene_pathChanged()
       
    39 {
       
    40     QString str = scene->encode().toBase64();
       
    41     ui->plainTextEdit->setPlainText(str);
       
    42     ui->sbBytes->setValue(str.size());
       
    43 }
       
    44 
       
    45 void MainWindow::on_pbSave_clicked()
       
    46 {
       
    47     QString fileName = QFileDialog::getSaveFileName(this, tr("Save map"), ".");
       
    48 
       
    49     if(!fileName.isEmpty())
       
    50     {
       
    51         QFile f(fileName);
       
    52 
       
    53         f.open(QIODevice::WriteOnly);
       
    54         f.write(scene->encode());
       
    55     }
       
    56 }
       
    57 
       
    58 void MainWindow::on_pbLoad_clicked()
       
    59 {
       
    60     QString fileName = QFileDialog::getOpenFileName(this, tr("Open map file"), ".");
       
    61 
       
    62     if(!fileName.isEmpty())
       
    63     {
       
    64         QFile f(fileName);
       
    65 
       
    66         f.open(QIODevice::ReadOnly);
       
    67         QByteArray data = f.readAll();
       
    68         scene->decode(data);
       
    69     }
       
    70 }