about summary refs log blame commit diff stats
path: root/src/main.cpp
blob: abe662664b373529931069f764f2ab48f368b980 (plain) (tree)
1
2
3
4
5
6
7
8
9




                      

                   
                           
                          
                              
                                 
        
                         





                                                                  
 
                              


                                             








                                         

                            
#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));

#ifndef NDEBUG
    wxLog::SetVerbose(true);
    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);