added QEvent::FileOpen management for YACReader on MacOSX

This commit is contained in:
Luis Ángel San Martín 2013-12-23 22:08:56 +01:00
parent 40dcb461e7
commit 0aef145cd3
2 changed files with 38 additions and 0 deletions

View File

@ -22,13 +22,47 @@
#define new DEBUG_NEW #define new DEBUG_NEW
#endif #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[]) int main(int argc, char * argv[])
{ {
#if defined(_MSC_VER) && defined(_DEBUG) #if defined(_MSC_VER) && defined(_DEBUG)
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
#endif #endif
#ifdef Q_OS_MAC
YACReaderApplication app(argc,argv);
#else
QApplication app(argc, argv); QApplication app(argc, argv);
#endif
app.setApplicationName("YACReader"); app.setApplicationName("YACReader");
app.setOrganizationName("YACReader"); app.setOrganizationName("YACReader");
@ -39,6 +73,9 @@ int main(int argc, char * argv[])
app.installTranslator(&translator); app.installTranslator(&translator);
MainWindowViewer * mwv = new MainWindowViewer(); MainWindowViewer * mwv = new MainWindowViewer();
#ifdef Q_OS_MAC
app.setWindow(mwv);
#endif
mwv->show(); mwv->show();
int ret = app.exec(); int ret = app.exec();

View File

@ -123,6 +123,7 @@ void logSystemAndConfig()
int main( int argc, char ** argv ) int main( int argc, char ** argv )
{ {
//fix for misplaced text in Qt4.8 and Mavericks
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
#if QT_VERSION < 0x050000 #if QT_VERSION < 0x050000
if(QSysInfo::MacintoshVersion > QSysInfo::MV_10_8) if(QSysInfo::MacintoshVersion > QSysInfo::MV_10_8)