Mercurial > mercurial > hgweb_rsearcher.cgi
diff src/rsearcher.cpp @ 13:f5ffc34f045a
manage DB.
author | pyon@macmini |
---|---|
date | Wed, 14 Nov 2018 19:43:40 +0900 |
parents | 799b6008db8e |
children | c1dc1fcee7fe |
line wrap: on
line diff
--- a/src/rsearcher.cpp Tue Nov 13 21:11:20 2018 +0900 +++ b/src/rsearcher.cpp Wed Nov 14 19:43:40 2018 +0900 @@ -1,5 +1,5 @@ // Filename : rsearcher.cpp -// Last Change: 2018-11-09 金 09:01:40. +// Last Change: 2018-11-14 水 14:06:25. // #include <wx/arrstr.h> @@ -290,6 +290,8 @@ EVT_BUTTON( ID_MZOOM, MainFrame::OnMinusZoom ) EVT_BUTTON( ID_DARK, MainFrame::OnDark ) EVT_BUTTON( ID_SWIN, MainFrame::OnSatellite ) + EVT_BUTTON( ID_UPIDX, MainFrame::OnUpdateIndex ) + EVT_BUTTON( ID_DLMAN, MainFrame::OnDownloadManual ) EVT_BUTTON( wxID_HELP, MainFrame::OnHelp ) EVT_BUTTON( wxID_CLOSE, MainFrame::OnBClose ) EVT_BUTTON( ID_LOGOUT, MainFrame::OnLogout ) @@ -427,6 +429,19 @@ stl->Show(); } +void MainFrame::OnUpdateIndex( wxCommandEvent& WXUNUSED(event ) ) +{ + GetDB( 0, 0, 2 ); + UpdateIndex(); + wxMessageBox( wxT( "update index done." ) ); +} + +void MainFrame::OnDownloadManual( wxCommandEvent& WXUNUSED(event) ) +{ + wxString execmd = wxT( "cmd /c start manual.pdf" ); + wxExecute( execmd ); +} + void MainFrame::OnHelp( wxCommandEvent& WXUNUSED(event) ) { wxString version, build; @@ -572,6 +587,10 @@ m_buttonDark->Hide(); m_buttonSatellite = new wxButton( this, ID_SWIN, wxT( "Satellite" ), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonSatellite->Hide(); + m_buttonDLMan = new wxButton( this, ID_DLMAN, wxT( "Manual" ), wxDefaultPosition, wxDefaultSize, 0 ); + m_buttonDLMan->Hide(); + m_buttonUpdateIndex = new wxButton( this, ID_UPIDX, wxT( "Update Index" ), wxDefaultPosition, wxDefaultSize, 0 ); + m_buttonUpdateIndex->Hide(); m_buttonClose = new wxButton( this, wxID_CLOSE, wxT( "Close" ), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonClose->Hide(); m_buttonHelp = new wxButton( this, wxID_HELP, wxT( "Help" ), wxDefaultPosition, wxDefaultSize, 0 ); @@ -595,17 +614,19 @@ void MainFrame::SetAccelerator( void ) { - wxAcceleratorEntry entries[9]; - entries[0].Set( wxACCEL_CTRL, (int)'P', wxID_PRINT ); - entries[1].Set( wxACCEL_NORMAL, WXK_F1, wxID_HELP ); - entries[2].Set( wxACCEL_NORMAL, WXK_F4, ID_FOCUS ); - entries[3].Set( wxACCEL_NORMAL, (int)'Z', ID_PZOOM ); - entries[4].Set( wxACCEL_NORMAL, (int)'X', ID_MZOOM ); - entries[5].Set( wxACCEL_NORMAL, (int)'D', ID_DARK ); - entries[6].Set( wxACCEL_CTRL, (int)'Q', wxID_CLOSE ); - entries[7].Set( wxACCEL_SHIFT, (int)'W', ID_SWIN ); - entries[8].Set( wxACCEL_SHIFT, (int)'L', ID_DARK ); // now building ( logout ) - wxAcceleratorTable accel( 8, entries ); + wxAcceleratorEntry entries[11]; + entries[0].Set( wxACCEL_CTRL, (int)'P', wxID_PRINT ); + entries[1].Set( wxACCEL_NORMAL, WXK_F1, wxID_HELP ); + entries[2].Set( wxACCEL_NORMAL, WXK_F2, ID_DLMAN ); + entries[3].Set( wxACCEL_NORMAL, WXK_F4, ID_FOCUS ); + entries[4].Set( wxACCEL_NORMAL, (int)'Z', ID_PZOOM ); + entries[5].Set( wxACCEL_NORMAL, (int)'X', ID_MZOOM ); + entries[6].Set( wxACCEL_NORMAL, (int)'D', ID_DARK ); + entries[7].Set( wxACCEL_CTRL, (int)'Q', wxID_CLOSE ); + entries[8].Set( wxACCEL_SHIFT, (int)'W', ID_SWIN ); + entries[9].Set( wxACCEL_SHIFT, (int)'R', ID_UPIDX ); + entries[10].Set( wxACCEL_SHIFT, (int)'L', ID_DARK ); // now building ( logout ) + wxAcceleratorTable accel( 10, entries ); SetAcceleratorTable( accel ); } @@ -629,9 +650,12 @@ return; } - if ( cmd.IsSameAs( wxT( "3915" ), true ) ) { + if ( cmd.IsSameAs( wxT( "3915" ), true ) && m_user.IsSameAs( wxT( "root" ) ) ) { ManageDBFrame *mngframe = new ManageDBFrame( this, wxID_ANY, wxT( "Management Window" ), wxDefaultPosition, wxSize( 300, 180 ), wxCAPTION|wxTAB_TRAVERSAL ); + mngframe->SetDBdir( m_dbdir ); + mngframe->SetServer( m_server ); mngframe->Show(); + m_searchCtrl->Clear(); return; } @@ -872,12 +896,7 @@ pd.SetSize( wxSize( 320, 140 ) ); // index - wxTextFile file; - file.Open( wxT( "index.db" ) ); - for ( int i = 0; i < file.GetLineCount(); i++ ) - m_index.Add( file.GetLine( i ) ); - file.Close(); - m_index.Sort( true ); + UpdateIndex(); // decrypto wxString key = wxT( "12345678900123456789abcdefabcdef" ); @@ -905,6 +924,23 @@ } } +void MainFrame::UpdateIndex( void ) +{ + wxString oldest = wxT( "30001231" ); + wxString newest = wxT( "20000401" ); + wxTextFile file; + file.Open( wxT( "index.db" ) ); + for ( int i = 0; i < file.GetLineCount(); i++ ) { + wxArrayString buf = wxSplit( file.GetLine( i ), ':', '\\' ); + if ( oldest.Cmp( buf[1] ) == 1 ) oldest = buf[1]; + if ( newest.Cmp( buf[1] ) == -1 ) newest = buf[1]; + m_index.Add( file.GetLine( i ) ); + } + file.Close(); + m_index.Sort( true ); + m_textCtrlLog->SetValue( wxT( "Index: " ) + oldest + wxT( " - " ) + newest ); +} + void MainFrame::PasteSearch( void ) { wxString s;