Mercurial > mercurial > hgweb_rsearcher.cgi
comparison src/main.cpp @ 9:ae89ce4793d8
add satellite-view.
| author | pyon@macmini |
|---|---|
| date | Wed, 31 Oct 2018 20:10:29 +0900 |
| parents | 29829e98d510 |
| children | 36811fd22bd2 |
comparison
equal
deleted
inserted
replaced
| 8:82f9af6aa7e4 | 9:ae89ce4793d8 |
|---|---|
| 1 // Filename : main.cpp | 1 // Filename : main.cpp |
| 2 // Last Change: 2018-10-26 金 13:14:54. | 2 // Last Change: 2018-10-31 水 15:18:12. |
| 3 // | 3 // |
| 4 | |
| 4 #include "id.h" | 5 #include "id.h" |
| 5 #include "main.h" | 6 #include "main.h" |
| 6 #include "auth.h" | 7 #include "auth.h" |
| 7 #include "rsearcher.h" | 8 #include "rsearcher.h" |
| 8 | 9 |
| 22 { | 23 { |
| 23 if ( !wxApp::OnInit() ) return false; | 24 if ( !wxApp::OnInit() ) return false; |
| 24 | 25 |
| 25 wxImage::AddHandler( new wxJPEGHandler ); | 26 wxImage::AddHandler( new wxJPEGHandler ); |
| 26 wxImage::AddHandler( new wxPNGHandler ); | 27 wxImage::AddHandler( new wxPNGHandler ); |
| 28 wxFileSystem::AddHandler( new wxZipFSHandler ); | |
| 27 InitSetting(); | 29 InitSetting(); |
| 28 | 30 |
| 29 // Main Window | 31 // Main Window |
| 30 MainFrame *mainframe = new MainFrame( NULL, ID_MAIN, wxEmptyString, wxPoint( rect.x, rect.y ), rect.GetSize(), wxDEFAULT_FRAME_STYLE ); | 32 MainFrame *mainframe = new MainFrame( NULL, ID_MAIN, wxEmptyString, wxPoint( rect.x, rect.y ), rect.GetSize(), wxDEFAULT_FRAME_STYLE ); |
| 31 mainframe->SetServer( m_serveraddr, m_serverport ); | 33 mainframe->SetServer( m_serveraddr, m_serverport ); |
| 32 mainframe->GetDB(); | 34 if ( !mainframe->GetDB() ) { |
| 35 mainframe->Destroy(); | |
| 36 return true; | |
| 37 } | |
| 33 | 38 |
| 34 // Splash Screen | 39 // Splash Screen |
| 35 wxFileSystem::AddHandler( new wxZipFSHandler ); | 40 SplashScreen( splash ); |
| 36 wxFileSystem* fs = new wxFileSystem(); | |
| 37 wxString archive = wxT( "file:///./myapp.bin" ); | |
| 38 for ( int i = 0; i < 11; i++ ) { | |
| 39 wxFSFile* file = fs->OpenFile( archive + wxString::Format( wxT( "#zip:startup%02d.png" ), i ) ); | |
| 40 if ( file ) { | |
| 41 wxInputStream* s = file->GetStream(); | |
| 42 wxImage image( *s, wxBITMAP_TYPE_PNG ); | |
| 43 wxBitmap bmp = wxBitmap( image ); | |
| 44 wxSplashScreen* splash = new wxSplashScreen( bmp, wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT, 2000, NULL, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE|wxSTAY_ON_TOP ); | |
| 45 delete file; | |
| 46 } | |
| 47 wxMilliSleep( 150 ); | |
| 48 } | |
| 49 delete fs; | |
| 50 | 41 |
| 51 // User Dialgo | 42 // User Dialgo |
| 52 AuthDialog *authdlg = new AuthDialog( NULL, wxID_ANY, wxT( "Who are you ?" ), wxDefaultPosition, wxDefaultSize, wxCAPTION ); | 43 AuthDialog *authdlg = new AuthDialog( NULL, wxID_ANY, wxT( "Who are you ?" ), wxDefaultPosition, wxDefaultSize, wxCAPTION ); |
| 53 if ( !authdlg->LoadDB() ) { | 44 if ( !authdlg->LoadDB() ) { |
| 54 authdlg->Destroy(); | 45 authdlg->Destroy(); |
| 62 } else { | 53 } else { |
| 63 unsigned int seed = (unsigned int)time( 0 ); | 54 unsigned int seed = (unsigned int)time( 0 ); |
| 64 srand( seed ); | 55 srand( seed ); |
| 65 int n = rand() % 13; | 56 int n = rand() % 13; |
| 66 wxFileSystem* fs = new wxFileSystem(); | 57 wxFileSystem* fs = new wxFileSystem(); |
| 58 wxString archive = wxT( "file:///./myapp.bin" ); | |
| 67 wxFSFile* file = fs->OpenFile( archive + wxString::Format( wxT( "#zip:%02d.jpg" ), n ) ); | 59 wxFSFile* file = fs->OpenFile( archive + wxString::Format( wxT( "#zip:%02d.jpg" ), n ) ); |
| 68 if ( file ) { | 60 if ( file ) { |
| 69 wxInputStream* s = file->GetStream(); | 61 wxInputStream* s = file->GetStream(); |
| 70 wxFileOutputStream of( wxT( "./image/hello.jpg" ) ); | 62 wxFileOutputStream of( wxT( "./image/hello.jpg" ) ); |
| 71 s->Read( of ); | 63 s->Read( of ); |
| 112 config->Read( wxT( "proxy_port" ), &m_serverport ); | 104 config->Read( wxT( "proxy_port" ), &m_serverport ); |
| 113 if ( m_serveraddr.IsSameAs( wxEmptyString, false ) ) { | 105 if ( m_serveraddr.IsSameAs( wxEmptyString, false ) ) { |
| 114 config->Read( wxT( "address" ), &m_serveraddr ); | 106 config->Read( wxT( "address" ), &m_serveraddr ); |
| 115 config->Read( wxT( "port" ), &m_serverport ); | 107 config->Read( wxT( "port" ), &m_serverport ); |
| 116 } | 108 } |
| 117 delete config; | |
| 118 | 109 |
| 119 if ( m_serveraddr.IsSameAs( wxEmptyString, false ) ) { | 110 if ( m_serveraddr.IsSameAs( wxEmptyString, false ) ) { |
| 120 m_serveraddr = wxT( "192.168.21.151" ); // nginx | 111 m_serveraddr = wxT( "192.168.21.151" ); // nginx |
| 121 m_serverport = 80; | 112 m_serverport = 80; |
| 122 } | 113 } |
| 114 | |
| 115 config->SetPath( wxT( "/Misc" ) ); | |
| 116 config->Read( wxT( "splash" ), &splash ); | |
| 117 | |
| 118 delete config; | |
| 123 } | 119 } |
| 124 | 120 |
| 125 void MyApp::SaveSetting() | 121 void MyApp::SaveSetting() |
| 126 { | 122 { |
| 127 config = new wxFileConfig( wxT( "MyApp" ), wxT( "T.Mutoh" ), conf_file, wxEmptyString, wxCONFIG_USE_LOCAL_FILE ); | 123 config = new wxFileConfig( wxT( "MyApp" ), wxT( "T.Mutoh" ), conf_file, wxEmptyString, wxCONFIG_USE_LOCAL_FILE ); |
| 132 config->Write( wxT( "w" ), rect.width ); | 128 config->Write( wxT( "w" ), rect.width ); |
| 133 config->Write( wxT( "h" ), rect.height ); | 129 config->Write( wxT( "h" ), rect.height ); |
| 134 delete config; | 130 delete config; |
| 135 } | 131 } |
| 136 | 132 |
| 133 void MyApp::SplashScreen( int ms ) | |
| 134 { | |
| 135 if ( ms < 0 ) return; | |
| 136 | |
| 137 wxFileSystem* fs = new wxFileSystem(); | |
| 138 wxString archive = wxT( "file:///./myapp.bin" ); | |
| 139 for ( int i = 0; i < 11; i++ ) { | |
| 140 wxFSFile* file = fs->OpenFile( archive + wxString::Format( wxT( "#zip:startup%02d.png" ), i ) ); | |
| 141 if ( file ) { | |
| 142 wxInputStream* s = file->GetStream(); | |
| 143 wxImage image( *s, wxBITMAP_TYPE_PNG ); | |
| 144 wxBitmap bmp = wxBitmap( image ); | |
| 145 wxSplashScreen* splash = new wxSplashScreen( bmp, wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT, 2000, NULL, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE|wxSTAY_ON_TOP ); | |
| 146 delete file; | |
| 147 } | |
| 148 wxMilliSleep( ms ); | |
| 149 } | |
| 150 delete fs; | |
| 151 } | |
| 152 | |
| 137 void MyApp::RemoveFile( wxString pattern ) | 153 void MyApp::RemoveFile( wxString pattern ) |
| 138 { | 154 { |
| 139 wxString file = wxFindFirstFile( pattern ); | 155 wxString file = wxFindFirstFile( pattern ); |
| 140 while ( !file.empty() ) { | 156 while ( !file.empty() ) { |
| 141 wxRemoveFile( file ); | 157 wxRemoveFile( file ); |
