Polish translation complete
[mdictionary] / trunk / src / base / gui / main.cpp
1 /*******************************************************************************
2
3     This file is part of mDictionary.
4
5     mDictionary is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9
10     mDictionary is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with mDictionary.  If not, see <http://www.gnu.org/licenses/>.
17
18     Copyright 2010 Comarch S.A.
19
20 *******************************************************************************/
21
22 //Created by Mateusz Półrola
23
24 #include <QtGui/QApplication>
25 #include "MainWindow.h"
26 #include "../backbone/backbone.h"
27 #include "../../includes/translation.h"
28 #include "../../includes/Notify.h"
29 #include <QDebug>
30
31
32 QStringList parseParameters(int argc, char *argv[]) {
33     bool wordListStarted = false;
34     QStringList result;
35     for(int i=1; i<argc; i++) {
36         QString argument(argv[i]);
37         if(!wordListStarted) {
38             if(argument == "-s" || argument == "--search") {
39                 wordListStarted = true;
40             }
41         }
42         else {
43             if(!argument.startsWith("-") &&
44                !argument.startsWith("--")) {
45                 result << argument;
46             }
47         }
48     }
49
50     return result;
51 }
52
53 int main(int argc, char *argv[]) {
54     QApplication a(argc, argv);
55     QApplication::setOrganizationName("Comarch S.A.");
56     QApplication::setOrganizationDomain("comarch.com");
57     QApplication::setApplicationName("mDictionary");
58
59     QStringList search = parseParameters(argc, argv);
60
61     qRegisterMetaType<Translation*>("Translation*");
62     qRegisterMetaType<QList<Translation*> >("QList<Translation*>");
63     qRegisterMetaType<Notify>("Notify");
64     qRegisterMetaType<Notify::NotifyType>("Notify::NotifyType");
65
66     QString locale = QLocale::system().name();
67
68     QTranslator qtTranslator;
69     qtTranslator.load("qt_" + QLocale::system().name(),
70     QLibraryInfo::location(QLibraryInfo::TranslationsPath));
71     a.installTranslator(&qtTranslator);
72
73     QTranslator myTranslator;
74     if(locale == "pl_PL")
75         myTranslator.load(":/translations/dict_pl");
76     else
77         myTranslator.load(":/translations/dict_en");
78     a.installTranslator(&myTranslator);
79
80     Backbone backbone;
81     MainWindow w(&backbone);
82     w.show();
83
84     if(search.count() > 0) {
85         w.setExactSearch(true);
86         w.searchExact(search[0]);
87     }
88
89     return a.exec();
90 }