1
0

fb2app.cpp 1.5 KB

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