Changeset e7bab963c488e383de4d6c79887ec374f2621765


Ignore:
Timestamp:
05/04/10 15:14:08 (3 years ago)
Author:
Matias De la Puente <mfpuente.ar@…>
Children:
222b8db664140ef6c8b5015a5ca71167687ffe92
Parents:
7de01d30f19e0a3d6ec5aeb01b43dbe0c3dcc010
git-committer:
Matias De la Puente <mfpuente.ar@…> (05/04/10 15:14:08)
Message:

Projects: Add 'new' action

Recycle and improve NewProjectDialog? from old i4uc

Location:
libi4uc
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • libi4uc/Makefile.am

    r16031c0 re7bab96  
    1515 
    1616libi4uc_la_SOURCES = \ 
     17        i4ucauthorslist.vala \ 
    1718        i4ucbuilder.vala \ 
    1819        i4ucbuilderdevicetype.vala \ 
     
    3435        i4ucmainwindowview.vala \ 
    3536        i4ucmainwindowviewiface.vala \ 
     37        i4ucnewprojectdialog.vala \ 
    3638        i4ucpage.vala \ 
    3739        i4ucpageiface.vala \ 
  • libi4uc/i4ucprojectspresenter.vala

    r7de01d3 re7bab96  
    3535 
    3636                //Connect view signals 
     37                _view.new_clicked.connect (on_new_clicked); 
    3738                _view.open_clicked.connect (on_open_clicked); 
    3839                _view.close_clicked.connect (on_close_clicked); 
     
    5253        { 
    5354                _projects_side_page_presenter.remove_all_projects (); 
     55        } 
     56 
     57        private void on_new_clicked () 
     58        { 
     59                string project_uri; 
     60                string project_name; 
     61                Gee.List<string> authors; 
     62                if (_view.show_new_dialog (out project_uri, out project_name, out authors) == Gtk.ResponseType.OK) 
     63                { 
     64                        var project = new Project (); 
     65                        project.name = project_name; 
     66                        project.authors.add_all (authors); 
     67 
     68                        var main_profile = new ProjectProfile (); 
     69                        main_profile.name = "main"; 
     70                        project.profiles["main"] = main_profile; 
     71 
     72                        project.save (project_uri); 
     73                        _projects_side_page_presenter.add_project (project); 
     74                } 
    5475        } 
    5576 
  • libi4uc/i4ucprojectsview.vala

    rc5050d6 re7bab96  
    6363        } 
    6464 
     65        public int show_new_dialog (out string project_uri, out string project_name, out Gee.List<string> authors) 
     66        { 
     67                var dialog = new NewProjectDialog (); 
     68                var response = dialog.run (); 
     69 
     70                project_uri = dialog.uri; 
     71                project_name = dialog.name; 
     72                authors = dialog.authors; 
     73 
     74                dialog.destroy (); 
     75                return response; 
     76        } 
     77 
    6578        public void show_open_dialog (ref string folder_uri, out Gee.List<string> projects) 
    6679        { 
     
    8699                dialog.destroy (); 
    87100        } 
     101 
     102        private void on_new () 
     103        { 
     104                this.new_clicked (); 
     105        } 
    88106         
    89107        private void on_open () 
     
    100118        { 
    101119                { "ProjectsMenuAction", null, N_("_Projects") }, 
     120                { "NewProjectAction", STOCK_NEW, null, null, N_("Create a new project"), on_new }, 
    102121                { "OpenProjectAction", STOCK_OPEN, null, null, N_("Open a project"), on_open }, 
    103122                { "CloseProjectAction", STOCK_CLOSE, null, null, N_("Close current project"), on_close } 
     
    109128                <placeholder name="MenuBarOps"> 
    110129                        <menu name="ProjectsMenu" action="ProjectsMenuAction"> 
     130                                <menuitem action="NewProjectAction"/> 
    111131                                <menuitem action="OpenProjectAction"/> 
    112132                                <separator/> 
  • libi4uc/i4ucprojectsviewiface.vala

    rc5050d6 re7bab96  
    2525        public abstract bool close_sensitive { set; get; } 
    2626 
     27        public signal void new_clicked (); 
    2728        public signal void open_clicked (); 
    2829        public signal void close_clicked (); 
    2930 
    3031        public abstract void show_error_message (string error_message); 
     32        public abstract int show_new_dialog (out string project_uri, out string project_name, out Gee.List<string> authors); 
    3133        public abstract void show_open_dialog (ref string folder_uri, out Gee.List<string> projects); 
    3234} 
Note: See TracChangeset for help on using the changeset viewer.