| 3 |
#include <wx/wx.h> |
#include <wx/wx.h> |
| 4 |
#include <wx/image.h> |
#include <wx/image.h> |
| 5 |
#include <wx/snglinst.h> |
#include <wx/snglinst.h> |
| 6 |
|
#include <wx/xrc/xmlres.h> |
| 7 |
#include "mnDef.h" |
#include "mnDef.h" |
| 8 |
#include "mnFrame.h" |
#include "mnFrame.h" |
| 9 |
#include "mnController.h" |
#include "mnFrameController.h" |
| 10 |
|
|
| 11 |
|
extern void InitXmlResource(); // defined in mnResource.cpp generated by wxrc |
| 12 |
|
|
| 13 |
class mnApp: public wxApp { |
class mnApp: public wxApp { |
| 14 |
public: |
public: |
| 22 |
|
|
| 23 |
IMPLEMENT_APP(mnApp) |
IMPLEMENT_APP(mnApp) |
| 24 |
|
|
| 25 |
static wxLocale locale(wxLANGUAGE_DEFAULT); |
//static wxLocale locale(wxLANGUAGE_DEFAULT); |
| 26 |
|
|
| 27 |
bool mnApp::OnInit() |
bool mnApp::OnInit() |
| 28 |
{ |
{ |
| 29 |
|
wxString* dirName = new wxString(); |
| 30 |
|
wxString gotDirName; |
| 31 |
|
wxDirDialog* dlg; |
| 32 |
|
wxString confKey; |
| 33 |
|
|
| 34 |
const wxString appName = wxString::Format(wxT(MN_APP_NAME) wxT("-%s"), wxGetUserId().c_str()); |
const wxString appName = wxString::Format(wxT(MN_APP_NAME) wxT("-%s"), wxGetUserId().c_str()); |
| 35 |
|
|
| 36 |
m_checker = new wxSingleInstanceChecker(appName); |
m_checker = new wxSingleInstanceChecker(appName); |
| 41 |
} |
} |
| 42 |
|
|
| 43 |
wxInitAllImageHandlers(); |
wxInitAllImageHandlers(); |
| 44 |
mainFrame = new mnFrame(0, -1, wxT("")); |
wxXmlResource::Get()->InitAllHandlers(); |
| 45 |
|
InitXmlResource(); |
| 46 |
|
|
| 47 |
|
mainFrame = new mnFrame(0); |
| 48 |
|
|
| 49 |
/* set controller object as event handler */ |
/* set controller object as event handler */ |
| 50 |
mnController* controller = new mnController(mainFrame); |
mnFrameController* controller = new mnFrameController(mainFrame); |
| 51 |
mainFrame->PushEventHandler(controller); |
mainFrame->PushEventHandler(controller); |
| 52 |
|
|
| 53 |
SetTopWindow(mainFrame); |
SetTopWindow(mainFrame); |
| 54 |
mainFrame->Show(); |
mainFrame->Show(); |
| 55 |
|
|
| 56 |
|
/* add note panel */ |
| 57 |
|
wxConfig* config = new wxConfig(wxT(CONF_APP_NAME)); |
| 58 |
|
if(config->Read(wxT(CONF_WIKI_DIR), dirName) == FALSE) { |
| 59 |
|
delete dirName; |
| 60 |
|
dlg = new wxDirDialog(mainFrame); |
| 61 |
|
if(dlg->ShowModal() == wxID_OK) { |
| 62 |
|
gotDirName = dlg->GetPath(); |
| 63 |
|
config->Write(wxT(CONF_WIKI_DIR), gotDirName.c_str()); |
| 64 |
|
mainFrame->addNotePanel(&gotDirName); |
| 65 |
|
} |
| 66 |
|
else { |
| 67 |
|
mainFrame->Close(); |
| 68 |
|
} |
| 69 |
|
} |
| 70 |
|
else { |
| 71 |
|
mainFrame->addNotePanel(dirName); |
| 72 |
|
|
| 73 |
|
for(int i = 1; ;i++) { |
| 74 |
|
confKey.sprintf(wxT(CONF_WIKI_DIR) "%d", i); |
| 75 |
|
if(config->Read(confKey.c_str(), dirName) == FALSE) break; |
| 76 |
|
mainFrame->addNotePanel(dirName); |
| 77 |
|
} |
| 78 |
|
mainFrame->getNotebook()->SetSelection(0); |
| 79 |
|
} |
| 80 |
|
|
| 81 |
|
delete config; |
| 82 |
|
|
| 83 |
|
mainFrame->setFocusToSearchTextCtrl(); |
| 84 |
return true; |
return true; |
| 85 |
} |
} |
| 86 |
|
|