Changeset 8884b7871bd5444d3a505a7d2b9075a69deae9ed


Ignore:
Timestamp:
22/03/10 20:01:50 (3 years ago)
Author:
Matias De la Puente <mfpuente.ar@…>
Children:
03ea8d2b66b016923b66ad71912e6906bf8c1a5d
Parents:
63e85bdc294f960ed78c8cb40b44f2b506383dd8
git-committer:
Matias De la Puente <mfpuente.ar@…> (22/03/10 20:01:50)
Message:

Add document preferences action

Files:
5 added
9 edited

Legend:

Unmodified
Added
Removed
  • libi4uc/Makefile.am

    r63e85bd r8884b78  
    2020        i4ucdocumentpageviewfactory.vala \ 
    2121        i4ucdocumentpageviewiface.vala \ 
     22        i4ucdocumentpreferencespagepresenter.vala \ 
     23        i4ucdocumentpreferencespageview.vala \ 
     24        i4ucdocumentpreferencespageviewfactory.vala \ 
     25        i4ucdocumentpreferencespageviewiface.vala \ 
    2226        i4ucdocumentspresenter.vala \ 
    2327        i4ucdocumentsview.vala \ 
     
    2933        i4ucpagespanel.vala \ 
    3034        i4ucsettings.vala \ 
     35        i4ucviewutils.vala \ 
    3136        $(NULL) 
    3237 
  • libi4uc/i4ucdocumentpagepresenter.vala

    r8283a1f r8884b78  
    4444        { 
    4545                _view = view; 
     46                 
     47                //configure view 
     48                var settings = I4uc.Settings.instance; 
     49                _view.font_name = settings.documents_font; 
     50                _view.tab_width = settings.documents_tab_width; 
     51                _view.auto_indent = settings.documents_auto_indent; 
     52                _view.highlight_current_line = settings.documents_highlight_current_line; 
     53                _view.insert_spaces_instead_of_tabs = settings.documents_insert_spaces_instead_of_tabs; 
     54                _view.show_line_numbers = settings.documents_show_line_numbers; 
     55                _view.highlight_matching_brackets = settings.documents_highlight_matching_brackets; 
     56                _view.wrap_mode = settings.documents_wrap_mode; 
    4657                 
    4758                //connect view signals 
  • libi4uc/i4ucdocumentpageview.vala

    r8283a1f r8884b78  
    2525        private SourceView _source_view; 
    2626        private SourceBuffer _source_buffer = new SourceBuffer (null); 
     27         
     28        public string font_name 
     29        { 
     30                set { _source_view.modify_font (Pango.FontDescription.from_string (value)); } 
     31                get { return ""; } 
     32        } 
     33         
     34        public int tab_width 
     35        { 
     36                set { _source_view.tab_width = value; } 
     37                get { return (int)_source_view.tab_width; } 
     38        } 
     39         
     40        public bool auto_indent 
     41        { 
     42                set { _source_view.auto_indent = value; } 
     43                get { return _source_view.auto_indent; } 
     44        } 
     45         
     46        public bool highlight_current_line 
     47        { 
     48                set { _source_view.highlight_current_line = value; } 
     49                get { return _source_view.highlight_current_line; } 
     50        } 
     51         
     52        public bool insert_spaces_instead_of_tabs 
     53        { 
     54                set { _source_view.insert_spaces_instead_of_tabs = value; } 
     55                get { return _source_view.insert_spaces_instead_of_tabs; } 
     56        } 
     57         
     58        public bool show_line_numbers 
     59        { 
     60                set { _source_view.show_line_numbers = value; } 
     61                get { return _source_view.show_line_numbers; } 
     62        } 
     63         
     64        public bool highlight_matching_brackets 
     65        { 
     66                set { _source_buffer.highlight_matching_brackets = value; } 
     67                get { return _source_buffer.highlight_matching_brackets; } 
     68        } 
     69         
     70        public bool wrap_mode 
     71        { 
     72                set { _source_view.wrap_mode = value ? WrapMode.WORD_CHAR : WrapMode.NONE; } 
     73                get { return _source_view.wrap_mode == WrapMode.WORD_CHAR; } 
     74        } 
    2775         
    2876        public string content 
  • libi4uc/i4ucdocumentpageviewiface.vala

    r8283a1f r8884b78  
    2727        public abstract string tab_tooltip { set; get; } 
    2828        public abstract bool tab_mark { set; get; } 
     29        public abstract string font_name { set; get; } 
     30        public abstract int tab_width { set; get; } 
     31        public abstract bool auto_indent { set; get; } 
     32        public abstract bool highlight_current_line { set; get; } 
     33        public abstract bool insert_spaces_instead_of_tabs { set; get; } 
     34        public abstract bool show_line_numbers { set; get; } 
     35        public abstract bool highlight_matching_brackets { set; get; } 
     36        public abstract bool wrap_mode { set; get; } 
    2937        public abstract string content { get; } 
    3038         
  • libi4uc/i4ucdocumentspresenter.vala

    r8283a1f r8884b78  
    2525        private DocumentsViewIface _view; 
    2626        private DocumentPageViewFactory _page_view_factory; 
     27        private DocumentPreferencesPageViewFactory _preferences_page_view_factory; 
    2728        private ArrayList <DocumentPagePresenter> _page_presenters = new ArrayList <DocumentPagePresenter> (); 
    2829        private DocumentPagePresenter _page_presenter_selected; 
     30        private DocumentPreferencesPagePresenter _preferences_page_presenter; 
    2931         
    30         public DocumentsPresenter (DocumentsViewIface view, DocumentPageViewFactory page_view_factory) 
     32        public DocumentsPresenter (DocumentsViewIface view, DocumentPageViewFactory page_view_factory, DocumentPreferencesPageViewFactory preferences_page_view_factory) 
    3133        { 
    3234                _view = view; 
    3335                _page_view_factory = page_view_factory; 
     36                _preferences_page_view_factory = preferences_page_view_factory; 
    3437                 
    3538                //configure view 
     
    4245                _view.save_clicked.connect (on_save_clicked); 
    4346                _view.save_as_clicked.connect (on_save_as_clicked); 
     47                _view.document_preferences_clicked.connect (on_preferences_clicked); 
    4448        } 
    4549         
     
    96100        } 
    97101         
     102        private void on_preferences_clicked () 
     103        { 
     104                if (_preferences_page_presenter == null) 
     105                { 
     106                        var page_view = _preferences_page_view_factory.create_page (); 
     107                        _preferences_page_presenter = new DocumentPreferencesPagePresenter (page_view, _page_presenters); 
     108                        _preferences_page_view_factory.add_page (page_view); 
     109                        _preferences_page_presenter.view.close_clicked.connect ((view) => { 
     110                                _preferences_page_view_factory.remove_page (view); 
     111                                _preferences_page_presenter = null; 
     112                        }); 
     113                } 
     114                _preferences_page_view_factory.show_page (_preferences_page_presenter.view); 
     115        } 
     116         
    98117        private DocumentPageViewIface? get_page_view_from_title (string title) 
    99118        { 
  • libi4uc/i4ucdocumentsview.vala

    r8136fe2 r8884b78  
    7878        } 
    7979         
     80        private void on_document_preferences () 
     81        { 
     82                this.document_preferences_clicked (); 
     83        } 
     84         
    8085        private const ActionEntry[] _action_entries = 
    8186        { 
     
    8388                { "OpenDocumentAction", STOCK_OPEN, null, null, N_("Open a file"), on_open }, 
    8489                { "SaveDocumentAction", STOCK_SAVE, null, null, N_("Save current document"), on_save }, 
    85                 { "SaveAsDocumentAction", STOCK_SAVE_AS, null, null, N_("Save current document with a diferent name"), on_save_as } 
     90                { "SaveAsDocumentAction", STOCK_SAVE_AS, null, null, N_("Save current document with a diferent name"), on_save_as }, 
     91                { "DocumentsMenuAction", null, N_("_Documents") }, 
     92                        { "DocumentsPreferencesAction", STOCK_PREFERENCES, N_("Documents preferences"), null, N_("Change documents preferences"), on_document_preferences } 
    8693        }; 
    8794         
     
    100107                        </placeholder> 
    101108                </menu> 
     109                <placeholder name="MenuBarOps"> 
     110                        <menu name="DocumentsMenu" action="DocumentsMenuAction"> 
     111                                <menuitem action="DocumentsPreferencesAction"/> 
     112                        </menu> 
     113                </placeholder> 
    102114        </menubar> 
    103115        <toolbar name="MainToolbar"> 
  • libi4uc/i4ucdocumentsviewiface.vala

    r8136fe2 r8884b78  
    2929        public signal void save_clicked (); 
    3030        public signal void save_as_clicked (); 
     31        public signal void document_preferences_clicked (); 
    3132} 
  • libi4uc/i4ucsettings.vala

    r63e85bd r8884b78  
    7676                    key_file.get_start_group () != _I4UC_SETTINGS) 
    7777                        return; 
    78                                  
     78                 
    7979                this.projects_panel_visible = key_file.get_boolean (_I4UC_SETTINGS, "projects_panel_visible"); 
    8080                this.logs_panel_visible = key_file.get_boolean (_I4UC_SETTINGS, "logs_panel_visible"); 
  • src/main.vala

    r63e85bd r8884b78  
    3131         
    3232        var document_page_view_factory = new DocumentPageViewFactory (main_window_view.pages_panel); 
     33        var document_preferences_page_view_factory = new DocumentPreferencesPageViewFactory (main_window_view.pages_panel); 
    3334         
    3435        var main_window_presenter = new MainWindowPresenter (main_window_view); 
    35         var documents_presenter = new DocumentsPresenter (main_window_view.documents_view, document_page_view_factory); 
     36        var documents_presenter = new DocumentsPresenter (main_window_view.documents_view, document_page_view_factory, document_preferences_page_view_factory); 
    3637         
    3738        Gtk.main (); 
Note: See TracChangeset for help on using the changeset viewer.