Changeset 222b8db664140ef6c8b5015a5ca71167687ffe92


Ignore:
Timestamp:
07/04/10 16:06:09 (3 years ago)
Author:
Matias De la Puente <mfpuente.ar@…>
Children:
7b5d40273d0698cf356798f2bfdcfdf3bd1a8a25
Parents:
e7bab963c488e383de4d6c79887ec374f2621765
git-committer:
Matias De la Puente <mfpuente.ar@…> (07/04/10 16:06:09)
Message:

Projects: Add 'add file' action

AddFileDialog?{Presenter,View,ViewIface?} is based on parts of ProjectsUI and AddFileDialog? from old i4uc

Location:
libi4uc
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • libi4uc/Makefile.am

    re7bab96 r222b8db  
    1515 
    1616libi4uc_la_SOURCES = \ 
     17        i4ucaddfiledialogpresenter.vala \ 
     18        i4ucaddfiledialogview.vala \ 
     19        i4ucaddfiledialogviewiface.vala \ 
    1720        i4ucauthorslist.vala \ 
    1821        i4ucbuilder.vala \ 
     
    4144        i4ucpagespaneliface.vala \ 
    4245        i4ucprofilebuilder.vala \ 
     46        i4ucprofileschecklist.vala \ 
    4347        i4ucprofileslist.vala \ 
    4448        i4ucproject.vala \ 
  • libi4uc/i4ucprojectspresenter.vala

    re7bab96 r222b8db  
    3232 
    3333                //Configure view 
     34                _view.add_file_sensitive = false; 
    3435                _view.close_sensitive = false; 
    3536 
     
    3738                _view.new_clicked.connect (on_new_clicked); 
    3839                _view.open_clicked.connect (on_open_clicked); 
     40                _view.add_file_clicked.connect (on_add_file_clicked); 
    3941                _view.close_clicked.connect (on_close_clicked); 
    4042                _view.projects_side_page_view.project_changed.connect (on_project_changed); 
     
    8587        } 
    8688 
     89        private void on_add_file_clicked () 
     90        { 
     91                var current_project = _projects_side_page_presenter.current_project; 
     92                var dialog_presenter = new AddFileDialogPresenter (_view.create_add_file_dialog_view (), current_project); 
     93                string file; 
     94                Gee.List<string> profiles; 
     95                if (dialog_presenter.run (out file, out profiles)) 
     96                { 
     97                        current_project.files.add (file); 
     98                        foreach (var profile in profiles) 
     99                                current_project.profiles[profile].files.add (file); 
     100                        current_project.save (); 
     101                        //TODO: update projects_side_panel 
     102                        //TODO: open the file 
     103                } 
     104        } 
     105 
    87106        private void on_close_clicked () 
    88107        { 
     
    92111        private void on_project_changed () 
    93112        { 
     113                _view.add_file_sensitive = _projects_side_page_presenter.current_project != null; 
    94114                _view.close_sensitive = _projects_side_page_presenter.current_project != null; 
    95115        } 
  • libi4uc/i4ucprojectsview.vala

    re7bab96 r222b8db  
    2828        private SidePanel _side_panel; 
    2929        private ProjectsSidePageView _projects_side_page_view = new ProjectsSidePageView (); 
     30        private Action _add_file_action; 
    3031        private Action _close_action; 
    3132 
    3233        public ProjectsSidePageViewIface projects_side_page_view { get { return _projects_side_page_view; } } 
     34         
     35        public bool add_file_sensitive 
     36        { 
     37                set { _add_file_action.sensitive = value; } 
     38                get { return _add_file_action.sensitive; } 
     39        } 
    3340         
    3441        public bool close_sensitive 
     
    4956                _ui_manager.add_ui_from_string (_UI, -1); 
    5057                 
     58                _add_file_action = _action_group.get_action ("AddFileProjectAction"); 
    5159                _close_action = _action_group.get_action ("CloseProjectAction"); 
    5260 
     
    100108        } 
    101109 
     110        public AddFileDialogViewIface create_add_file_dialog_view () 
     111        { 
     112                return new AddFileDialogView (); 
     113        } 
     114 
    102115        private void on_new () 
    103116        { 
     
    108121        { 
    109122                this.open_clicked (); 
     123        } 
     124 
     125        private void on_add_file () 
     126        { 
     127                this.add_file_clicked (); 
    110128        } 
    111129 
     
    120138                { "NewProjectAction", STOCK_NEW, null, null, N_("Create a new project"), on_new }, 
    121139                { "OpenProjectAction", STOCK_OPEN, null, null, N_("Open a project"), on_open }, 
     140                { "AddFileProjectAction", STOCK_ADD, N_("Add file"), null, N_("Add a file to current project"), on_add_file }, 
    122141                { "CloseProjectAction", STOCK_CLOSE, null, null, N_("Close current project"), on_close } 
    123142        }; 
     
    131150                                <menuitem action="OpenProjectAction"/> 
    132151                                <separator/> 
     152                                <menuitem action="AddFileProjectAction"/> 
     153                                <separator/> 
    133154                                <menuitem action="CloseProjectAction"/> 
    134155                        </menu> 
  • libi4uc/i4ucprojectsviewiface.vala

    re7bab96 r222b8db  
    2323{ 
    2424        public abstract ProjectsSidePageViewIface projects_side_page_view { get; } 
     25        public abstract bool add_file_sensitive { set; get; } 
    2526        public abstract bool close_sensitive { set; get; } 
    2627 
    2728        public signal void new_clicked (); 
    2829        public signal void open_clicked (); 
     30        public signal void add_file_clicked (); 
    2931        public signal void close_clicked (); 
    3032 
     
    3234        public abstract int show_new_dialog (out string project_uri, out string project_name, out Gee.List<string> authors); 
    3335        public abstract void show_open_dialog (ref string folder_uri, out Gee.List<string> projects); 
     36        public abstract AddFileDialogViewIface create_add_file_dialog_view (); 
    3437} 
Note: See TracChangeset for help on using the changeset viewer.