mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
99 lines
2.3 KiB
C++
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;
|
|
}
|