yacreader/YACReader/main.cpp
2014-01-13 16:41:54 +01:00

99 lines
2.3 KiB
C++

#include <QApplication>
#include <QPixmap>
#include <QLabel>
//#include <QMetaObject>
#include <QPushButton>
#include <QMainWindow>
#include <QtCore>
#include <QThread>
#include <QFile>
#include <QDataStream>
#include <QTranslator>
#include <QSysInfo>
#include "main_window_viewer.h"
#include "configuration.h"
#include "exit_check.h"
#if defined(WIN32) && defined(_DEBUG)
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ )
#define new DEBUG_NEW
#endif
#ifdef Q_OS_MAC
#include <QEvent>
class YACReaderApplication: public QApplication
{
public:
YACReaderApplication(int & argc, char ** argv) : QApplication(argc,argv)
{}
void setWindow(MainWindowViewer * w)
{
window = w;
}
protected:
bool event(QEvent * event)
{
switch(event->type())
{
case QEvent::FileOpen:
window->openComicFromPath(static_cast<QFileOpenEvent *>(event)->file());
return true;
default:
return QApplication::event(event);
}
}
private:
MainWindowViewer * window;
};
#endif
int main(int argc, char * argv[])
{
#if defined(_MSC_VER) && defined(_DEBUG)
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
#endif
//fix for misplaced text in Qt4.8 and Mavericks
#ifdef Q_OS_MAC
#if QT_VERSION < 0x050000
if(QSysInfo::MacintoshVersion > QSysInfo::MV_10_8)
QFont::insertSubstitution(".Lucida Grande UI", "Lucida Grande");
#endif
#endif
#ifdef Q_OS_MAC
YACReaderApplication app(argc,argv);
#else
QApplication app(argc, argv);
#endif
app.setApplicationName("YACReader");
app.setOrganizationName("YACReader");
QTranslator translator;
QString sufix = QLocale::system().name();
translator.load(QCoreApplication::applicationDirPath()+"/languages/yacreader_"+sufix);
app.installTranslator(&translator);
MainWindowViewer * mwv = new MainWindowViewer();
#ifdef Q_OS_MAC
app.setWindow(mwv);
#endif
mwv->show();
int ret = app.exec();
//Configuration::getConfiguration().save();
YACReader::exitCheck(ret);
return ret;
}