Changeset 0ac9690913 in tspsg for src/mainwindow.cpp


Ignore:
Timestamp:
Dec 7, 2009, 5:06:44 PM (15 years ago)
Author:
Oleksii Serdiuk
Branches:
0.1.3.145-beta1-symbian, 0.1.4.170-beta2-bb10, appveyor, imgbot, master, readme
Children:
a218bf2cb2
Parents:
3b1caa32d0
Message:

+ Toolbar state and position is now saved and restored with Main Window state and position.

  • Made some small improvements to the code.
  • Fixed some errors in the documentation.
  • Made source code more "documentation friendly".
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mainwindow.cpp

    r3b1caa32d0 r0ac9690913  
    8383        connect(spinCities,SIGNAL(valueChanged(int)),this,SLOT(spinCitiesValueChanged(int)));
    8484        setCentralWidget(tabWidget);
    85 #ifndef Q_OS_WINCE
    86 QRect rect = geometry();
    87         if (settings->value("SavePos",false).toBool()) {
     85
     86        if (settings->value("SavePos", false).toBool()) {
    8887                // Loading of saved window state
    8988                settings->beginGroup("MainWindow");
    90                 resize(settings->value("Size",size()).toSize());
    91                 move(settings->value("Position",pos()).toPoint());
    92                 if (settings->value("Maximized",false).toBool())
    93                         setWindowState(windowState() | Qt::WindowMaximized);
     89#ifndef Q_OS_WINCE
     90                restoreGeometry(settings->value("Geometry").toByteArray());
     91#endif // Q_OS_WINCE
     92                restoreState(settings->value("State").toByteArray());
    9493                settings->endGroup();
     94#ifndef Q_OS_WINCE
    9595        } else {
    9696                // Centering main window
     97QRect rect = geometry();
    9798                rect.moveCenter(QApplication::desktop()->availableGeometry(this).center());
    9899                setGeometry(rect);
    99         }
    100100#endif // Q_OS_WINCE
     101        }
     102
    101103        qsrand(QDateTime().currentDateTime().toTime_t());
    102         tspmodel = new CTSPModel();
     104        tspmodel = new CTSPModel(this);
    103105        taskView->setModel(tspmodel);
    104106        connect(tspmodel,SIGNAL(numCitiesChanged(int)),this,SLOT(numCitiesChanged(int)));
     
    440442}
    441443
    442 void MainWindow::closeEvent(QCloseEvent *event)
     444void MainWindow::closeEvent(QCloseEvent *ev)
    443445{
    444446        if (!maybeSave()) {
    445                 event->ignore();
    446                 return;
    447         }
    448         settings->setValue("NumCities",spinCities->value());
     447                ev->ignore();
     448                return;
     449        }
     450        settings->setValue("NumCities", spinCities->value());
     451
     452        // Saving Main Window state
     453        if (settings->value("SavePos", false).toBool()) {
     454                settings->beginGroup("MainWindow");
    449455#ifndef Q_OS_WINCE
    450         // Saving windows state
    451         if (settings->value("SavePos",false).toBool()) {
    452                 settings->beginGroup("MainWindow");
    453                 settings->setValue("Maximized",isMaximized());
    454                 if (!isMaximized()) {
    455                         settings->setValue("Size",size());
    456                         settings->setValue("Position",pos());
    457                 }
     456                settings->setValue("Geometry", saveGeometry());
     457#endif // Q_OS_WINCE
     458                settings->setValue("State", saveState());
    458459                settings->endGroup();
    459460        }
    460 #endif // Q_OS_WINCE
    461         QMainWindow::closeEvent(event);
     461
     462        QMainWindow::closeEvent(ev);
    462463}
    463464
     
    520521}
    521522
    522 bool MainWindow::loadLanguage(QString lang)
     523bool MainWindow::loadLanguage(const QString &lang)
    523524{
    524525// i18n
    525526bool ad = false;
    526         if (lang.isEmpty()) {
     527QString lng = lang;
     528        if (lng.isEmpty()) {
    527529                ad = settings->value("Language","").toString().isEmpty();
    528                 lang = settings->value("Language",QLocale::system().name()).toString();
     530                lng = settings->value("Language",QLocale::system().name()).toString();
    529531        }
    530532static QTranslator *qtTranslator; // Qt library translator
     
    541543        }
    542544        translator = new QTranslator();
    543         if (lang.compare("en") && !lang.startsWith("en_")) {
     545        if (lng.compare("en") && !lng.startsWith("en_")) {
    544546                // Trying to load system Qt library translation...
    545                 if (qtTranslator->load("qt_" + lang,QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
     547                if (qtTranslator->load("qt_" + lng,QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
    546548                        qApp->installTranslator(qtTranslator);
    547549                else
    548550                        // No luck. Let's try to load bundled one.
    549                         if (qtTranslator->load("qt_" + lang,PATH_I18N))
     551                        if (qtTranslator->load("qt_" + lng,PATH_I18N))
    550552                                qApp->installTranslator(qtTranslator);
    551553                        else {
     
    555557                        }
    556558                // Now let's load application translation.
    557                 if (translator->load(lang,PATH_I18N))
     559                if (translator->load(lng,PATH_I18N))
    558560                        qApp->installTranslator(translator);
    559561                else {
     
    581583}
    582584
    583 void MainWindow::outputMatrix(tMatrix matrix, QStringList &output, int nRow, int nCol)
     585void MainWindow::outputMatrix(const tMatrix &matrix, QStringList &output, int nRow, int nCol)
    584586{
    585587int n = spinCities->value();
     
    589591                line = "<tr>";
    590592                for (int c = 0; c < n; c++) {
    591                         if (matrix[r][c] == INFINITY)
     593                        if (matrix.at(r).at(c) == INFINITY)
    592594                                line += "<td align=\"center\">"INFSTR"</td>";
    593595                        else if ((r == nRow) && (c == nCol))
    594                                 line += "<td align=\"center\" class=\"selected\">" + QVariant(matrix[r][c]).toString() + "</td>";
     596                                line += "<td align=\"center\" class=\"selected\">" + QVariant(matrix.at(r).at(c)).toString() + "</td>";
    595597                        else
    596                                 line += "<td align=\"center\">" + QVariant(matrix[r][c]).toString() + "</td>";
     598                                line += "<td align=\"center\">" + QVariant(matrix.at(r).at(c)).toString() + "</td>";
    597599                }
    598600                line += "</tr>";
     
    626628}
    627629
    628 void MainWindow::setFileName(QString fileName)
     630void MainWindow::setFileName(const QString &fileName)
    629631{
    630632        this->fileName = fileName;
Note: See TracChangeset for help on using the changeset viewer.