fb2app.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include <QApplication>
  2. #include <QErrorMessage>
  3. #include "fb2app.hpp"
  4. #include "fb2main.hpp"
  5. #ifndef PACKAGE_NAME
  6. #define PACKAGE_NAME "fb2edit"
  7. #define PACKAGE_VENDOR "LinTest"
  8. #define PACKAGE_VERSION "0.XX.XX"
  9. #endif // PACKAGE_VERSION
  10. void FbApplication::handleMessage(QtMsgType type, const char *msg)
  11. {
  12. /*
  13. switch (type) {
  14. case QtDebugMsg:
  15. fprintf(stderr, "Debug: %s\n", msg);
  16. break;
  17. case QtWarningMsg:
  18. fprintf(stderr, "Warning: %s\n", msg);
  19. break;
  20. case QtCriticalMsg:
  21. fprintf(stderr, "Critical: %s\n", msg);
  22. break;
  23. case QtFatalMsg:
  24. fprintf(stderr, "Fatal: %s\n", msg);
  25. abort();
  26. }
  27. */
  28. emit logMessage( QString::fromUtf8(msg));
  29. }
  30. static void fb2MessageHandler(QtMsgType type, const char *msg)
  31. {
  32. ((FbApplication*)qApp)->handleMessage(type, msg);
  33. }
  34. int main(int argc, char *argv[])
  35. {
  36. Q_INIT_RESOURCE(fb2edit);
  37. FbApplication app(argc, argv);
  38. app.setApplicationName(QString(PACKAGE_NAME));
  39. app.setOrganizationName(QString(PACKAGE_VENDOR));
  40. app.setApplicationVersion(QString(PACKAGE_VERSION));
  41. QTranslator translator;
  42. translator.load(QLocale::system().name(), ":ts");
  43. app.installTranslator(&translator);
  44. int count = app.arguments().count();
  45. for (int i = 1; i < count; i++) {
  46. QString arg = app.arguments().at(i);
  47. (new FbMainWindow(arg))->show();
  48. }
  49. if (count == 1) (new FbMainWindow)->show();
  50. qInstallMsgHandler(fb2MessageHandler);
  51. return app.exec();
  52. }