- Timestamp:
- 26/10/10 14:00:09 (3 years ago)
- Children:
- 33592374e666da943a2de0a6e84fab987585392b
- Parents:
- a70bdd96cc9cb661637388cca3306aa4e2305e3c
- git-author:
- Matias De la Puente <mfpuente.ar@…> (25/10/10 12:51:10)
- git-committer:
- Matias De la Puente <mfpuente.ar@…> (26/10/10 14:00:09)
- File:
-
- 1 edited
-
libi4uccore/projectslogic.vala (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libi4uccore/projectslogic.vala
rdfe49c7 r628f3dc 25 25 private ProjectsView _view; 26 26 private DocumentsLogic _documents_logic; 27 private ProgrammersLogic _programmers_logic; 27 28 private ProjectsPageLogic _page_logic; 28 29 private ProfileBuilder _profile_builder = new ProfileBuilder (); 29 30 30 public ProjectsLogic (ProjectsView view, DocumentsLogic documents_logic )31 public ProjectsLogic (ProjectsView view, DocumentsLogic documents_logic, ProgrammersLogic programmers_logic) 31 32 { 32 33 _view = view; 33 34 _documents_logic = documents_logic; 35 _programmers_logic = programmers_logic; 34 36 35 37 _documents_logic.add_document_opener (".i4uc", this); … … 47 49 _view.remove_profile_sensitive = false; 48 50 _view.build_profile_sensitive = false; 51 _view.program_profile_sensitive = false; 49 52 _view.stop_sensitive = false; 50 53 _view.clean_profile_sensitive = false; … … 65 68 _view.remove_profile_clicked.connect (on_remove_profile_clicked); 66 69 _view.build_profile_clicked.connect (on_build_profile_clicked); 70 _view.program_profile_clicked.connect (on_program_profile_clicked); 67 71 _view.stop_clicked.connect (on_stop_clicked); 68 72 _view.clean_profile_clicked.connect (on_clean_profile_clicked); … … 75 79 _profile_builder.new_message.connect (on_profile_builder_new_message); 76 80 _profile_builder.command_finished.connect (on_profile_builder_command_finished); 81 _programmers_logic.notify["can-write-flash"].connect (on_programmers_logic_can_write_flash_changed); 77 82 } 78 83 … … 232 237 _view.show_error_message (_("Error trying to build profile %s: %s").printf (current_profile.name, e.message)); 233 238 } 239 } 240 241 private void on_program_profile_clicked () 242 { 243 var current_project = _page_logic.current_project; 244 var current_profile = current_project.profiles[_view.page_view.current_profile]; 245 var hexfile = current_project.name + "-" + current_profile.name + ".hex"; 246 var hexfile_uri = current_project.get_file_uri (hexfile.replace (" ", "_")); 247 var hexfile_file = File.new_for_uri (hexfile_uri); 248 249 if (!hexfile_file.query_exists (null)) 250 { 251 _view.show_error_message (_("The file %s doesn't exists").printf (hexfile_file.get_path ())); 252 return; 253 } 254 _programmers_logic.write_flash (hexfile_uri); 234 255 } 235 256 … … 285 306 _view.build_profile_sensitive = profile_selected && !_profile_builder.is_building; 286 307 _view.clean_profile_sensitive = profile_selected && !_profile_builder.is_building; 308 _view.program_profile_sensitive = profile_selected && !_profile_builder.is_building && _programmers_logic.can_write_flash; 287 309 } 288 310 … … 324 346 _view.build_profile_sensitive = !is_building; 325 347 _view.stop_sensitive = is_building; 348 _view.program_profile_sensitive = !is_building; 326 349 } 327 350 … … 335 358 _view.build_log_page.add_command (command_context); 336 359 } 360 361 private void on_programmers_logic_can_write_flash_changed () 362 { 363 var profile_selected = _view.page_view.current_profile != null && 364 _view.page_view.current_profile != "__NONE__"; 365 _view.program_profile_sensitive = profile_selected && !_profile_builder.is_building && _programmers_logic.can_write_flash; 366 } 337 367 }
Note: See TracChangeset
for help on using the changeset viewer.

