about summary refs log tree commit diff stats
path: root/src/main.cpp
blob: b327b25995112e325ff1de31623b2e5deea68ea5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <wx/wxprec.h>

#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif

#include <fstream>

#include "global.h"
#include "tracker_config.h"
#include "tracker_frame.h"

static std::ofstream* logfile;

class TrackerApp : public wxApp {
 public:
  virtual bool OnInit() {
    logfile = new std::ofstream(GetAbsolutePath("debug.log"));
    wxLog::SetActiveTarget(new wxLogStream(logfile));
    wxLog::SetVerbose(true);

#ifndef NDEBUG
    wxLog::SetActiveTarget(new wxLogWindow(nullptr, "Debug Log"));
#endif

    GetTrackerConfig().Load();

    TrackerFrame *frame = new TrackerFrame();
    frame->Show(true);
    return true;
  }

  bool OnExceptionInMainLoop() override {
    try {
      throw;
    } catch (const std::exception& ex) {
      wxLogError(ex.what());
    }

    return false;
  }
};

wxIMPLEMENT_APP(TrackerApp);