2007-07-25 20:21:06 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* __________ __ ___.
|
|
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
|
|
* \/ \/ \/ \/ \/
|
|
|
|
*
|
|
|
|
* Copyright (C) 2007 by Dominik Riebeling
|
|
|
|
*
|
|
|
|
* All files in this archive are subject to the GNU General Public License.
|
|
|
|
* See the file COPYING in the source tree root for full license agreement.
|
|
|
|
*
|
|
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
|
|
* KIND, either express or implied.
|
|
|
|
*
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
2013-01-27 11:01:56 +00:00
|
|
|
#include <QCoreApplication>
|
|
|
|
#include <QSettings>
|
2007-07-25 20:21:06 +00:00
|
|
|
#include "rbutilqt.h"
|
2009-08-15 17:02:25 +00:00
|
|
|
#include "systrace.h"
|
2013-11-03 10:08:18 +00:00
|
|
|
#include "Logger.h"
|
|
|
|
#include "ConsoleAppender.h"
|
|
|
|
#include "FileAppender.h"
|
2007-07-25 20:21:06 +00:00
|
|
|
|
2007-08-22 20:51:36 +00:00
|
|
|
#ifdef STATIC
|
|
|
|
#include <QtPlugin>
|
2015-12-16 19:29:38 +00:00
|
|
|
#if QT_VERSION < 0x050000
|
2007-08-22 20:51:36 +00:00
|
|
|
Q_IMPORT_PLUGIN(qtaccessiblewidgets)
|
2015-12-16 19:29:38 +00:00
|
|
|
#else
|
|
|
|
Q_IMPORT_PLUGIN(AccessibleFactory)
|
|
|
|
#endif
|
2007-08-22 20:51:36 +00:00
|
|
|
#endif
|
2007-07-25 20:21:06 +00:00
|
|
|
|
2009-08-15 17:02:25 +00:00
|
|
|
|
2007-07-25 20:21:06 +00:00
|
|
|
int main( int argc, char ** argv ) {
|
|
|
|
QApplication app( argc, argv );
|
2013-11-03 10:08:18 +00:00
|
|
|
ConsoleAppender* consoleAppender = new ConsoleAppender();
|
|
|
|
consoleAppender->setFormat("[%f:%i %L] %m\n");
|
|
|
|
Logger::registerAppender(consoleAppender);
|
|
|
|
SysTrace::rotateTrace();
|
|
|
|
QString tracefile = QDir::tempPath() + "/rbutil-trace.log";
|
|
|
|
FileAppender* fileAppender = new FileAppender();
|
|
|
|
fileAppender->setFormat("[%f:%i %L] %m\n");
|
|
|
|
fileAppender->setFileName(tracefile);
|
|
|
|
Logger::registerAppender(fileAppender);
|
|
|
|
LOG_INFO() << "Starting trace at" << QDateTime::currentDateTime().toString(Qt::ISODate);
|
|
|
|
|
2008-10-13 17:19:45 +00:00
|
|
|
#if defined(Q_OS_MAC)
|
|
|
|
QDir dir(QApplication::applicationDirPath());
|
|
|
|
dir.cdUp();
|
|
|
|
dir.cd("plugins");
|
|
|
|
QApplication::addLibraryPath(dir.absolutePath());
|
|
|
|
#endif
|
2008-02-10 18:25:49 +00:00
|
|
|
QString absolutePath = QCoreApplication::instance()->applicationDirPath();
|
2007-07-29 18:09:41 +00:00
|
|
|
// portable installation:
|
|
|
|
// check for a configuration file in the program folder.
|
|
|
|
QSettings *user;
|
2007-08-09 18:40:32 +00:00
|
|
|
if(QFileInfo(absolutePath + "/RockboxUtility.ini").isFile())
|
|
|
|
user = new QSettings(absolutePath + "/RockboxUtility.ini", QSettings::IniFormat, 0);
|
2007-07-29 18:09:41 +00:00
|
|
|
else user = new QSettings(QSettings::IniFormat, QSettings::UserScope, "rockbox.org", "RockboxUtility");
|
|
|
|
|
2008-07-25 19:28:24 +00:00
|
|
|
QString applang = QLocale::system().name();
|
2007-07-25 20:21:06 +00:00
|
|
|
QTranslator translator;
|
2008-07-31 19:26:58 +00:00
|
|
|
QTranslator qttrans;
|
2007-07-29 18:09:41 +00:00
|
|
|
// install translator
|
2007-09-03 14:37:00 +00:00
|
|
|
if(!user->value("lang", "").toString().isEmpty()) {
|
2008-07-25 19:28:24 +00:00
|
|
|
applang = user->value("lang", "").toString();
|
|
|
|
}
|
|
|
|
if(!applang.isEmpty()) {
|
|
|
|
if(!translator.load("rbutil_" + applang, absolutePath))
|
|
|
|
translator.load("rbutil_" + applang, ":/lang");
|
2008-07-31 19:26:58 +00:00
|
|
|
if(!qttrans.load("qt_" + applang,
|
|
|
|
QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
|
2008-08-13 22:41:00 +00:00
|
|
|
qttrans.load("qt_" + applang, ":/lang");
|
2008-07-31 19:26:58 +00:00
|
|
|
|
2008-07-25 19:28:24 +00:00
|
|
|
QLocale::setDefault(applang);
|
2007-07-29 18:09:41 +00:00
|
|
|
}
|
|
|
|
delete user;
|
2007-07-25 20:21:06 +00:00
|
|
|
app.installTranslator(&translator);
|
2008-07-31 19:26:58 +00:00
|
|
|
app.installTranslator(&qttrans);
|
2010-06-15 21:14:11 +00:00
|
|
|
//: This string is used to indicate the writing direction. Translate it
|
|
|
|
//: to "RTL" (without quotes) for RTL languages. Anything else will get
|
|
|
|
//: treated as LTR language.
|
|
|
|
if(QObject::tr("LTR") == "RTL")
|
2009-10-19 17:38:46 +00:00
|
|
|
app.setLayoutDirection(Qt::RightToLeft);
|
2007-07-25 20:21:06 +00:00
|
|
|
|
2011-10-02 14:30:05 +00:00
|
|
|
// keep a list of installed translators. Needed to be able uninstalling them
|
|
|
|
// later again (in case of translation changes)
|
|
|
|
QList<QTranslator*> translators;
|
|
|
|
translators.append(&translator);
|
|
|
|
translators.append(&qttrans);
|
2007-07-25 20:21:06 +00:00
|
|
|
RbUtilQt window(0);
|
2011-10-02 14:30:05 +00:00
|
|
|
RbUtilQt::translators = translators;
|
2007-07-25 20:21:06 +00:00
|
|
|
window.show();
|
|
|
|
|
|
|
|
// app.connect( &app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()) );
|
|
|
|
return app.exec();
|
|
|
|
|
|
|
|
}
|