comparison src/myframe.cpp @ 1:20018a6f69a9

implement copy.
author pyon@macmini
date Wed, 31 Oct 2012 18:08:52 +0900
parents 7c3921bf511e
children deaf3f2d54b2
comparison
equal deleted inserted replaced
0:7c3921bf511e 1:20018a6f69a9
24 m_menuFile = new wxMenu(); 24 m_menuFile = new wxMenu();
25 25
26 wxMenuItem* m_menuItemAbout = new wxMenuItem( m_menuFile, ID_MNABOUT, wxString( wxT("&About...\tF1") ) , wxT("Show about dialog"), wxITEM_NORMAL ); 26 wxMenuItem* m_menuItemAbout = new wxMenuItem( m_menuFile, ID_MNABOUT, wxString( wxT("&About...\tF1") ) , wxT("Show about dialog"), wxITEM_NORMAL );
27 m_menuFile->Append( m_menuItemAbout ); 27 m_menuFile->Append( m_menuItemAbout );
28 28
29 m_menubar->Append( m_menuFile, wxT("ファイル(&F)") ); 29 m_menubar->Append( m_menuFile, wxT("File(&F)") );
30 30
31 this->SetMenuBar( m_menubar ); 31 this->SetMenuBar( m_menubar );
32 32
33 // 33 //
34 wxFlexGridSizer* fgSizer = new wxFlexGridSizer( 0, 2, 0, 0 ); 34 wxFlexGridSizer* fgSizer = new wxFlexGridSizer( 0, 4, 0, 0 );
35 fgSizer->SetFlexibleDirection( wxBOTH ); 35 fgSizer->SetFlexibleDirection( wxBOTH );
36 fgSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); 36 fgSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
37 37
38 m_staticText1 = new wxStaticText( this, wxID_ANY, wxT("Folder"), wxDefaultPosition, wxDefaultSize, 0 ); 38 m_staticText1 = new wxStaticText( this, wxID_ANY, wxT("Folder"), wxDefaultPosition, wxDefaultSize, 0 );
39 fgSizer->Add( m_staticText1, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); 39 fgSizer->Add( m_staticText1, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
51 fgSizer->Add( m_staticText3, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); 51 fgSizer->Add( m_staticText3, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
52 52
53 m_textCtrlCommand = new wxTextCtrl( this, ID_COMMAND, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); 53 m_textCtrlCommand = new wxTextCtrl( this, ID_COMMAND, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
54 fgSizer->Add( m_textCtrlCommand, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); 54 fgSizer->Add( m_textCtrlCommand, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
55 55
56 m_staticText4 = new wxStaticText( this, wxID_ANY, wxT("MoveTo"), wxDefaultPosition, wxDefaultSize, 0 ); 56 m_staticText4 = new wxStaticText( this, wxID_ANY, wxT("wait [sec]"), wxDefaultPosition, wxDefaultSize, 0 );
57 fgSizer->Add( m_staticText4, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); 57 fgSizer->Add( m_staticText4, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
58
59 m_textCtrlWait = new wxTextCtrl( this, ID_WAIT, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
60 fgSizer->Add( m_textCtrlWait, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
61
62 m_staticText5 = new wxStaticText( this, wxID_ANY, wxT("MoveTo"), wxDefaultPosition, wxDefaultSize, 0 );
63 fgSizer->Add( m_staticText5, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
58 64
59 m_dirPickerMove = new wxDirPickerCtrl( this, ID_MOVEDIR, wxEmptyString, wxT("Select a folder"), wxDefaultPosition, wxDefaultSize, wxDIRP_DEFAULT_STYLE ); 65 m_dirPickerMove = new wxDirPickerCtrl( this, ID_MOVEDIR, wxEmptyString, wxT("Select a folder"), wxDefaultPosition, wxDefaultSize, wxDIRP_DEFAULT_STYLE );
60 fgSizer->Add( m_dirPickerMove, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 66 fgSizer->Add( m_dirPickerMove, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
61 67
62 m_staticText5 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); 68 m_staticText6 = new wxStaticText( this, wxID_ANY, wxT("copy"), wxDefaultPosition, wxDefaultSize, 0 );
63 fgSizer->Add( m_staticText5, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); 69 fgSizer->Add( m_staticText6, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
70
71 m_checkBoxCopy = new wxCheckBox( this, ID_COPY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
72 fgSizer->Add( m_checkBoxCopy, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
73
74 m_staticTextDummy1 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
75 fgSizer->Add( m_staticTextDummy1, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
76
77 m_staticTextDummy2 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
78 fgSizer->Add( m_staticTextDummy2, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
79
80 m_staticTextDummy3 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
81 fgSizer->Add( m_staticTextDummy3, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
64 82
65 m_toggleBtn = new wxToggleButton( this, ID_TOGGLEWATCH, wxT("Start Watching"), wxDefaultPosition, wxDefaultSize, 0 ); 83 m_toggleBtn = new wxToggleButton( this, ID_TOGGLEWATCH, wxT("Start Watching"), wxDefaultPosition, wxDefaultSize, 0 );
66 fgSizer->Add( m_toggleBtn, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); 84 fgSizer->Add( m_toggleBtn, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
67 85
68 this->SetSizer( fgSizer ); 86 this->SetSizer( fgSizer );
69 this->Layout(); 87 this->Layout();
70 88
71 this->Centre( wxBOTH ); 89 this->Centre( wxBOTH );
72 90
73 m_dirPickerWatch->SetPath( wxT("/Users/takayuki/wx/dw_test" ) ); 91 //m_dirPickerWatch->SetPath( wxT("/Users/takayuki/wx/dw_test" ) );
74 m_dirPickerMove->SetPath( wxT("/Users/takayuki/wx/dw_test/log" ) ); 92 //m_dirPickerMove->SetPath( wxT("/Users/takayuki/wx/dw_test/log" ) );
93 m_dirPickerWatch->SetPath( wxT("\\\\Kai-sv51\\Users\\Administrator\\Documents\\Fuji Xerox\\DocuWorks\\DWFolders\\ユーザーフォルダ" ) );
94 m_dirPickerMove->SetPath( wxT("C:\\Users\\KAIGO\\Desktop\\dww\\" ) );
75 m_textCtrlFile->SetValue( wxT("test.file") ); 95 m_textCtrlFile->SetValue( wxT("test.file") );
76 } 96 }
77 97
78 MyFrame::~MyFrame() 98 MyFrame::~MyFrame()
79 { 99 {
113 } 133 }
114 134
115 /* フォルダ監視 */ 135 /* フォルダ監視 */
116 void MyFrame::OnFileSystemEvent( wxFileSystemWatcherEvent& event ) 136 void MyFrame::OnFileSystemEvent( wxFileSystemWatcherEvent& event )
117 { 137 {
118 //wxMessageBox(wxT("")); 138 wxMilliSleep( 1500 );
139
119 wxString watchdir = m_dirPickerWatch->GetPath(); 140 wxString watchdir = m_dirPickerWatch->GetPath();
120 wxString filename = m_textCtrlFile->GetValue(); 141 wxString filename = m_textCtrlFile->GetValue();
121 wxString command = m_textCtrlCommand->GetValue(); 142 wxString command = m_textCtrlCommand->GetValue();
122 wxString movedir = m_dirPickerMove->GetPath(); 143 wxString movedir = m_dirPickerMove->GetPath();
123 144
128 wxDir dir( watchdir ); 149 wxDir dir( watchdir );
129 bool cont = dir.GetFirst( &file, filename, wxDIR_FILES ); 150 bool cont = dir.GetFirst( &file, filename, wxDIR_FILES );
130 while ( cont ) { 151 while ( cont ) {
131 152
132 if ( !command.IsEmpty() ) { 153 if ( !command.IsEmpty() ) {
154 wxSleep( 2 );
133 wxExecute( command ); 155 wxExecute( command );
134 } 156 }
135 157
136 if ( !movedir.IsEmpty() ) { 158 if ( !movedir.IsEmpty() ) {
137 from = watchdir + wxFILE_SEP_PATH + filename; 159 from = watchdir + wxFILE_SEP_PATH + filename;
138 wxFileName f( from ); 160 wxFileName f( from );
139 wxDateTime now = wxDateTime::Now(); 161 wxDateTime now = wxDateTime::Now();
140 to = movedir + wxFILE_SEP_PATH + f.GetName() + wxT("_") + now.Format(wxT("%Y%m%d%H%M%S")) + wxT(".") + f.GetExt(); 162 to = movedir + wxFILE_SEP_PATH + f.GetName() + wxT("_") + now.Format(wxT("%Y%m%d%H%M%S")) + wxT(".") + f.GetExt();
141 wxRenameFile( from, to, false ); 163 if ( m_checkBoxCopy->IsChecked() ) {
164 wxCopyFile( from, to, false );
165 }
166 else {
167 wxRenameFile( from, to, false );
168 }
142 } 169 }
143 170
144 cont = dir.GetNext( &file ); 171 cont = dir.GetNext( &file );
145 } 172 }
146 } 173 }