Changeset 121 in tspsg-svn for trunk/src/mainwindow.cpp


Ignore:
Timestamp:
Jun 22, 2010, 3:38:24 PM (15 years ago)
Author:
laleppa
Message:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/mainwindow.cpp

    r119 r121  
    2323
    2424#include "mainwindow.h"
     25
     26#ifdef _T_T_L_
     27#include "_.h"
     28_B_ _I_ _N_ _G_ _O_
     29#endif
    2530
    2631/*!
     
    510515        bb->button(QDialogButtonBox::Ok)->setCursor(QCursor(Qt::PointingHandCursor));
    511516
    512         lblTranslated->setText(QApplication::translate("--------", "TRANSLATION", "Please, provide translator credits here."));
    513         if (lblTranslated->text() == "TRANSLATION")
     517        lblTranslated->setText(QApplication::translate("--------", "AUTHORS", "Please, provide translator credits here."));
     518        if (lblTranslated->text() == "AUTHORS")
    514519                lblTranslated->hide();
    515520        else {
     
    520525                hb2->addWidget(lblTranslated);
    521526        }
     527
     528        // This one isn't displayed anywhere, yet. Provided as a placeholder for future use.
     529        QApplication::translate("--------", "VERSION", "Please, provide your translation version here.");
    522530
    523531        hb2->addWidget(bb);
     
    535543        dlg->setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);
    536544        dlg->setWindowTitle(tr("About %1").arg(QApplication::applicationName()));
    537         dlg->setWindowIcon(QIcon(":/images/icons/help-about.png"));
     545        dlg->setWindowIcon(QIcon::fromTheme("help-about", QIcon(":/images/icons/help-about.png")));
    538546        dlg->setLayout(vb);
    539547
     
    635643        cur.insertText(tr("Task:"));
    636644        outputMatrix(cur, matrix);
    637         if (settings->value("Output/ShowGraph", DEF_SHOW_GRAPH).toBool())
     645        if (settings->value("Output/ShowGraph", DEF_SHOW_GRAPH).toBool()) {
     646#ifdef _T_T_L_
     647                _m_ _a_ _g_ _i_ _c_(pic)
     648#endif
    638649                drawNode(pic, 0);
     650        }
    639651        cur.insertHtml("<hr>");
    640652        cur.insertBlock(fmt_paragraph);
     
    880892        y = r * (3 * nstep + 1);
    881893
     894#ifdef _T_T_L_
     895        if (nstep == -481124) {
     896                _t_t_l_(pic, r, x);
     897                return;
     898        }
     899#endif
     900
    882901        pic.drawEllipse(QPointF(x, y), r, r);
    883902
     
    979998void MainWindow::loadLangList()
    980999{
    981 QDir dir(PATH_L10N, "tspsg_*.qm", QDir::Name | QDir::IgnoreCase, QDir::Files);
    982         if (!dir.exists())
    983                 return;
    984 QFileInfoList langs = dir.entryInfoList();
    985         if (langs.size() <= 0)
    986                 return;
     1000QMap<QString, QStringList> langlist;
     1001QFileInfoList langs;
     1002QFileInfo lang;
     1003QString name;
     1004QStringList language, dirs;
     1005QTranslator t;
     1006QDir dir;
     1007        dir.setFilter(QDir::Files);
     1008        dir.setNameFilters(QStringList("tspsg_*.qm"));
     1009        dir.setSorting(QDir::NoSort);
     1010
     1011        dirs << PATH_L10N << ":/l10n";
     1012        foreach (QString dirname, dirs) {
     1013                dir.setPath(dirname);
     1014                if (dir.exists()) {
     1015                        langs = dir.entryInfoList();
     1016                        for (int k = 0; k < langs.size(); k++) {
     1017                                lang = langs.at(k);
     1018                                if (lang.completeBaseName().compare("tspsg_en", Qt::CaseInsensitive) && !langlist.contains(lang.completeBaseName().mid(6)) && t.load(lang.completeBaseName(), dirname)) {
     1019
     1020                                        language.clear();
     1021                                        language.append(lang.completeBaseName().mid(6));
     1022                                        language.append(t.translate("--------", "COUNTRY", "Please, provide an ISO 3166-1 alpha-2 country code for this translation language here (eg., UA).").toLower());
     1023                                        language.append(t.translate("--------", "LANGNAME", "Please, provide a native name of your translation language here."));
     1024                                        language.append(t.translate("MainWindow", "Set application language to %1", "").arg(name));
     1025
     1026                                        langlist.insert(language.at(0), language);
     1027                                }
     1028                        }
     1029                }
     1030        }
     1031
    9871032QAction *a;
    988 QTranslator t;
    989 QString name;
    990         for (int k = 0; k < langs.size(); k++) {
    991                 QFileInfo lang = langs.at(k);
    992                 if (lang.completeBaseName().compare("tspsg_en", Qt::CaseInsensitive) && t.load(lang.completeBaseName(), PATH_L10N)) {
    993                         name = t.translate("--------", "LANGNAME", "Please, provide a native name of your translation language here.");
    994                         a = menuSettingsLanguage->addAction(name);
    995                         a->setStatusTip(t.translate("MainWindow", "Set application language to %1", "").arg(name));
    996                         a->setData(lang.completeBaseName().mid(6));
    997                         a->setCheckable(true);
    998                         a->setActionGroup(groupSettingsLanguageList);
    999                         if (settings->value("Language", QLocale::system().name()).toString().startsWith(lang.completeBaseName().mid(6)))
    1000                                 a->setChecked(true);
    1001                 }
     1033        foreach (language, langlist) {
     1034                a = menuSettingsLanguage->addAction(language.at(2));
     1035                a->setStatusTip(language.at(3));
     1036                a->setIcon(QIcon::fromTheme(QString("flag-%1").arg(language.at(1))/*, QIcon(QString(":/images/icons/l10n/%1.png").arg(language.at(1)))*/));
     1037                a->setData(language.at(0));
     1038                a->setCheckable(true);
     1039                a->setActionGroup(groupSettingsLanguageList);
     1040                if (settings->value("Language", QLocale::system().name()).toString().startsWith(language.at(0)))
     1041                        a->setChecked(true);
    10021042        }
    10031043}
     
    10341074        else {
    10351075                // No luck. Let's try to load a bundled one.
    1036                 if (qtTranslator->load("qt_" + lng, PATH_L10N))
     1076                if (qtTranslator->load("qt_" + lng, PATH_L10N)) {
     1077                        // We have a translation in the localization direcotry.
    10371078                        qApp->installTranslator(qtTranslator);
    1038                 else {
    1039                         // Qt library translation unavailable
     1079                } else if (qtTranslator->load("qt_" + lng, ":/l10n")) {
     1080                        // We have a translation "built-in" into application resources.
     1081                        qApp->installTranslator(qtTranslator);
     1082                } else {
     1083                        // Qt library translation unavailable for this language.
    10401084                        delete qtTranslator;
    10411085                        qtTranslator = NULL;
     
    10451089        // Now let's load application translation.
    10461090        translator = new QTranslator(this);
    1047         if (translator->load("tspsg_" + lng, PATH_L10N))
     1091        if (translator->load("tspsg_" + lng, PATH_L10N)) {
     1092                // We have a translation in the localization directory.
    10481093                qApp->installTranslator(translator);
    1049         else {
     1094        } else if (translator->load("tspsg_" + lng, ":/l10n")) {
     1095                // We have a translation "built-in" into application resources.
     1096                qApp->installTranslator(translator);
     1097        } else {
    10501098                delete translator;
    10511099                translator = NULL;
     
    10531101                        settings->remove("Language");
    10541102                        QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
    1055                         if (isVisible())
    1056                                 QMessageBox::warning(this, tr("Language Change"), tr("Unable to load the translation language.\nFalling back to autodetection."));
    1057                         else
    1058                                 QMessageBox::warning(NULL, tr("Language Change"), tr("Unable to load the translation language.\nFalling back to autodetection."));
     1103                        QMessageBox::warning(isVisible() ? this : NULL, tr("Language Change"), tr("Unable to load the translation language.\nFalling back to autodetection."));
    10591104                        QApplication::restoreOverrideCursor();
    10601105                }
     
    12361281        Ui::MainWindow::setupUi(this);
    12371282
     1283        // File Menu
     1284        actionFileNew->setIcon(QIcon::fromTheme("document-new", QIcon(":/images/icons/document-new.png")));
     1285        actionFileOpen->setIcon(QIcon::fromTheme("document-open", QIcon(":/images/icons/document-open.png")));
     1286        actionFileSave->setIcon(QIcon::fromTheme("document-save", QIcon(":/images/icons/document-save.png")));
     1287        menuFileSaveAs->setIcon(QIcon::fromTheme("document-save-as", QIcon(":/images/icons/document-save-as.png")));
     1288        actionFileExit->setIcon(QIcon::fromTheme("application-exit", QIcon(":/images/icons/application-exit.png")));
     1289        // Settings Menu
     1290        menuSettingsLanguage->setIcon(QIcon::fromTheme("preferences-desktop-locale", QIcon(":/images/icons/preferences-desktop-locale.png")));
     1291        actionSettingsLanguageEnglish->setIcon(QIcon::fromTheme("flag-gb"/*, QIcon(":/images/icons/l10n/gb.png")*/));
     1292        menuSettingsStyle->setIcon(QIcon::fromTheme("preferences-desktop-theme", QIcon(":/images/icons/preferences-desktop-theme.png")));
     1293        actionSettingsPreferences->setIcon(QIcon::fromTheme("preferences-system", QIcon(":/images/icons/preferences-system.png")));
     1294        // Help Menu
     1295        actionHelpContents->setIcon(QIcon::fromTheme("help-contents", QIcon(":/images/icons/help-contents.png")));
     1296        actionHelpContextual->setIcon(QIcon::fromTheme("help-contextual", QIcon(":/images/icons/help-contextual.png")));
     1297        actionHelpAbout->setIcon(QIcon::fromTheme("help-about", QIcon(":/images/icons/help-about.png")));
     1298        // Buttons
     1299        buttonRandom->setIcon(QIcon::fromTheme("roll", QIcon(":/images/icons/roll.png")));
     1300        buttonSolve->setIcon(QIcon::fromTheme("dialog-ok", QIcon(":/images/icons/dialog-ok.png")));
     1301        buttonSaveSolution->setIcon(QIcon::fromTheme("document-save-as", QIcon(":/images/icons/document-save-as.png")));
     1302        buttonBackToTask->setIcon(QIcon::fromTheme("go-previous", QIcon(":/images/icons/go-previous.png")));
     1303
     1304//      action->setIcon(QIcon::fromTheme("", QIcon(":/images/icons/.png")));
     1305
    12381306#if QT_VERSION >= 0x040600
    12391307        setToolButtonStyle(Qt::ToolButtonFollowStyle);
     
    12761344        actionFilePrintPreview->setObjectName("actionFilePrintPreview");
    12771345        actionFilePrintPreview->setEnabled(false);
    1278         actionFilePrintPreview->setIcon(QIcon(":/images/icons/document-print-preview.png"));
     1346        actionFilePrintPreview->setIcon(QIcon::fromTheme("document-print-preview", QIcon(":/images/icons/document-print-preview.png")));
    12791347
    12801348        actionFilePrint = new QAction(this);
    12811349        actionFilePrint->setObjectName("actionFilePrint");
    12821350        actionFilePrint->setEnabled(false);
    1283         actionFilePrint->setIcon(QIcon(":/images/icons/document-print.png"));
     1351        actionFilePrint->setIcon(QIcon::fromTheme("document-print", QIcon(":/images/icons/document-print.png")));
    12841352
    12851353        menuFile->insertAction(actionFileExit,actionFilePrintPreview);
     
    13011369#ifndef HANDHELD
    13021370        actionSettingsToolbarsConfigure = new QAction(this);
    1303         actionSettingsToolbarsConfigure->setIcon(QIcon(":/images/icons/configure-toolbars.png"));
     1371        actionSettingsToolbarsConfigure->setIcon(QIcon::fromTheme("configure-toolbars", QIcon(":/images/icons/configure-toolbars.png")));
    13041372#endif // HANDHELD
    13051373
    13061374#ifdef Q_OS_WIN32
    13071375        actionHelpCheck4Updates = new QAction(this);
    1308         actionHelpCheck4Updates->setIcon(QIcon(":/images/icons/system-software-update.png"));
     1376        actionHelpCheck4Updates->setIcon(QIcon::fromTheme("system-software-update", QIcon(":/images/icons/system-software-update.png")));
    13091377        actionHelpCheck4Updates->setEnabled(hasUpdater());
    13101378        menuHelp->insertAction(actionHelpAboutQt, actionHelpCheck4Updates);
Note: See TracChangeset for help on using the changeset viewer.