Changeset c006fa359f7823874cf7a814cb87823276535eae
- Timestamp:
- 01/06/07 23:58:06 (6 years ago)
- Parents:
- 1662ea7cb97e74c04650ddda1130c2ea7a4d07ce
- Children:
- dae8a2ac150d973882215b5fb1d08b7135343f38
- git-committer:
- Philipp Kern <phil@0x539.de> / 2007-01-06T22:58:06Z+0000
- Files:
-
- 2 removed
- 14 modified
-
inc/config.hpp (modified) (2 diffs)
-
inc/document_settings.hpp (modified) (3 diffs)
-
inc/folder.hpp (modified) (1 diff)
-
inc/header.hpp (modified) (3 diffs)
-
inc/mimemap.hpp (deleted)
-
inc/preferences.hpp (modified) (3 diffs)
-
inc/window.hpp (modified) (1 diff)
-
src/config.cpp (modified) (2 diffs)
-
src/document_settings.cpp (modified) (10 diffs)
-
src/documentlist.cpp (modified) (4 diffs)
-
src/docwindow.cpp (modified) (2 diffs)
-
src/folder.cpp (modified) (2 diffs)
-
src/header.cpp (modified) (5 diffs)
-
src/mimemap.cpp (deleted)
-
src/preferences.cpp (modified) (2 diffs)
-
src/window.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
inc/config.hpp
rbfb82f7 rc006fa3 66 66 { 67 67 public: 68 class iterator 69 { 70 private: 71 typedef std::map<Glib::ustring, Entry>::iterator 72 base_type; 73 74 public: 75 iterator(const base_type& base); 76 77 iterator& operator++(); 78 iterator operator++(int); 79 80 bool operator==(const iterator& other) const; 81 bool operator!=(const iterator& other) const; 82 83 const Glib::ustring& index() const; 84 Entry& entry(); 85 86 private: 87 base_type m_iter; 88 }; 89 68 90 Entry(); 69 91 Entry(const Entry& other); … … 75 97 void save(xmlpp::Element& element) const; 76 98 99 bool has_entry(const Glib::ustring& index) const; 77 100 Entry& operator[](const Glib::ustring& index); 101 102 iterator begin(); 103 iterator end(); 78 104 79 105 template<typename T> T get(const T& default_value = T()) const -
inc/document_settings.hpp
rba89078 rc006fa3 99 99 /** @brief Returns the columns for the underlaying ListStore. 100 100 */ 101 const Columns& get_columns() const;101 // const Columns& get_columns() const; 102 102 103 103 /** @brief Returns the underlaying list that may be displayed by … … 124 124 signal_document_remove_type document_remove_event() const; 125 125 126 const Columns columns; 126 127 private: 127 128 void on_document_insert(DocumentInfo& info); … … 139 140 140 141 Glib::RefPtr<Gtk::ListStore> m_data; 141 Columns m_cols;142 //Columns m_cols; 142 143 143 144 Glib::RefPtr<Gdk::Pixbuf> m_icon; -
inc/folder.hpp
r0c6e731 rc006fa3 89 89 const MimeMap& get_mime_map() const; 90 90 91 #if 0 91 92 Glib::RefPtr<const Gtk::SourceLanguagesManager> 92 93 get_lang_manager() const; 94 #endif 93 95 94 96 // Calls from the window -
inc/header.hpp
r0c6e731 rc006fa3 114 114 }; 115 115 116 Header(const ApplicationState& state); 116 typedef Glib::RefPtr<Gtk::SourceLanguagesManager> LangManager; 117 118 Header(const ApplicationState& state, const LangManager& lang_mgr); 117 119 118 120 // Access to accelerator groups of the ui manager … … 120 122 Glib::RefPtr<const Gtk::AccelGroup> get_accel_group() const; 121 123 122 Glib::RefPtr<Gtk::SourceLanguagesManager>124 /*Glib::RefPtr<Gtk::SourceLanguagesManager> 123 125 get_lang_manager(); 124 126 Glib::RefPtr<const Gtk::SourceLanguagesManager> 125 get_lang_manager() const; 127 get_lang_manager() const;*/ 126 128 127 129 // Access to toolbar & menubar … … 180 182 181 183 const Glib::RefPtr<Gtk::UIManager> m_ui_manager; 182 Glib::RefPtr<Gtk::SourceLanguagesManager> m_lang_manager;184 //Glib::RefPtr<Gtk::SourceLanguagesManager> m_lang_manager; 183 185 184 186 Gtk::MenuBar* m_menubar; -
inc/preferences.hpp
r0586368 rc006fa3 23 23 #include "config.hpp" 24 24 25 #include "sourceview/sourcelanguage.hpp" 26 #include "sourceview/sourcelanguagesmanager.hpp" 27 25 28 namespace Gobby 26 29 { … … 29 32 { 30 33 public: 34 typedef Glib::RefPtr<Gtk::SourceLanguage> Language; 35 typedef Glib::RefPtr<Gtk::SourceLanguagesManager> LangManager; 36 31 37 /** Uninitialised preferences. 32 38 */ 33 39 Preferences(); 34 40 35 /** Reads preferences values out of a config. 41 /** Reads preferences values out of a config, using default values 42 * for values that do not exist in the config. 36 43 */ 37 Preferences(Config& m_config); 38 39 /** Copies preferences. 40 */ 41 Preferences(const Preferences& other); 42 ~Preferences(); 43 44 /** Copies preferences. 45 */ 46 Preferences& operator=(const Preferences& other); 44 Preferences(Config& m_config, const LangManager& lang_mgr); 47 45 48 46 /** Serialises preferences back to config. 49 47 */ 50 void serialise(Config& config) ;48 void serialise(Config& config) const; 51 49 52 struct50 class Editor 53 51 { 52 public: 53 Editor(); 54 Editor(Config::Entry& entry); 55 void serialise(Config::Entry& entry) const; 56 54 57 unsigned int tab_width; 55 58 bool tab_spaces; 56 59 bool indentation_auto; 57 60 bool homeend_smart; 58 } editor;61 }; 59 62 60 struct63 class View 61 64 { 65 public: 66 View(); 67 View(Config::Entry& entry); 68 void serialise(Config::Entry& entry) const; 69 62 70 bool wrap_text; 63 71 bool wrap_words; … … 67 75 unsigned int margin_pos; 68 76 bool bracket_highlight; 69 } view;77 }; 70 78 71 struct79 class Appearance 72 80 { 81 public: 82 Appearance(); 83 Appearance(Config::Entry& entry); 84 void serialise(Config::Entry& entry) const; 85 73 86 Gtk::ToolbarStyle toolbar_show; 74 87 bool remember; 75 } appearance; 88 }; 89 90 class FileList 91 { 92 public: 93 typedef std::map<Glib::ustring, Language> map_type; 94 95 class iterator 96 { 97 private: 98 typedef map_type::const_iterator base_iterator; 99 100 public: 101 iterator(base_iterator iter); 102 103 iterator& operator++(); 104 iterator operator++(int); 105 106 const Glib::ustring& pattern() const; 107 const Language& language() const; 108 private: 109 base_iterator m_iter; 110 }; 111 112 FileList(); 113 FileList(Config::Entry& entry, const LangManager& lang_mgr); 114 115 void serialise(Config::Entry& entry) const; 116 117 // This function may also return an already existing iterator 118 // when pattern is already in the map. Compare lang to be sure 119 // that the entry actually has been inserted. 120 iterator add(const Glib::ustring& pattern, 121 const Language& lang); 122 123 iterator begin() const; 124 iterator end() const; 125 protected: 126 iterator add_by_mime_type(const Glib::ustring& pattern, 127 const Glib::ustring& mime_type, 128 const LangManager& lang_mgr); 129 130 map_type m_files; 131 }; 132 133 Editor editor; 134 View view; 135 Appearance appearance; 136 FileList files; 76 137 }; 77 138 -
inc/window.hpp
r0c6e731 rc006fa3 133 133 // Config 134 134 Config& m_config; 135 Glib::RefPtr<Gtk::SourceLanguagesManager> m_lang_manager; 135 136 Preferences m_preferences; 136 137 const IconManager& m_icon_mgr; -
src/config.cpp
r67caaea rc006fa3 93 93 } 94 94 95 Gobby::Config::Entry::iterator::iterator(const base_type& base): 96 m_iter(base) 97 { 98 } 99 100 Gobby::Config::Entry::iterator& Gobby::Config::Entry::iterator::operator++() 101 { 102 ++ m_iter; 103 return *this; 104 } 105 106 Gobby::Config::Entry::iterator Gobby::Config::Entry::iterator::operator++(int) 107 { 108 iterator temp(*this); 109 ++ *this; 110 return temp; 111 } 112 113 bool Gobby::Config::Entry::iterator::operator==(const iterator& other) const 114 { 115 return m_iter == other.m_iter; 116 } 117 118 bool Gobby::Config::Entry::iterator::operator!=(const iterator& other) const 119 { 120 return m_iter != other.m_iter; 121 } 122 123 const Glib::ustring& Gobby::Config::Entry::iterator::index() const 124 { 125 return m_iter->first; 126 } 127 128 Gobby::Config::Entry& Gobby::Config::Entry::iterator::entry() 129 { 130 return m_iter->second; 131 } 132 95 133 Gobby::Config::Entry::Entry() 96 134 { … … 146 184 } 147 185 186 bool Gobby::Config::Entry::has_entry(const Glib::ustring& index) const 187 { 188 return m_table.find(index) != m_table.end(); 189 } 190 148 191 Gobby::Config::Entry& 149 192 Gobby::Config::Entry::operator[](const Glib::ustring& index) 150 193 { 151 194 return m_table[index]; 195 } 196 197 Gobby::Config::Entry::iterator Gobby::Config::Entry::begin() 198 { 199 return iterator(m_table.begin() ); 200 } 201 202 Gobby::Config::Entry::iterator Gobby::Config::Entry::end() 203 { 204 return iterator(m_table.end() ); 152 205 } 153 206 -
src/document_settings.cpp
rba89078 rc006fa3 57 57 m_icon(window.render_icon(Gtk::Stock::EDIT, Gtk::ICON_SIZE_BUTTON)) 58 58 { 59 m_data = Gtk::ListStore::create( m_cols);59 m_data = Gtk::ListStore::create(columns); 60 60 } 61 61 … … 88 88 get_original_encoding(const LocalDocumentInfo& info) const 89 89 { 90 return (*get_iter(info))[ m_cols.original_encoding];90 return (*get_iter(info))[columns.original_encoding]; 91 91 } 92 92 … … 95 95 const Glib::ustring& encoding) 96 96 { 97 (*get_iter(info))[ m_cols.original_encoding] = encoding;97 (*get_iter(info))[columns.original_encoding] = encoding; 98 98 } 99 99 … … 101 101 get_path(const LocalDocumentInfo& info) const 102 102 { 103 return (*get_iter(info))[ m_cols.path];103 return (*get_iter(info))[columns.path]; 104 104 } 105 105 … … 107 107 const Glib::ustring& path) 108 108 { 109 (*get_iter(info))[ m_cols.path] = path;109 (*get_iter(info))[columns.path] = path; 110 110 } 111 111 … … 114 114 { 115 115 return m_columns; 116 } */116 } 117 117 118 118 const Gobby::DocumentSettings::Columns& 119 119 Gobby::DocumentSettings::get_columns() const 120 120 { 121 return m_cols;122 } 121 return columns; 122 }*/ 123 123 124 124 Glib::RefPtr<Gtk::ListStore> Gobby::DocumentSettings::get_list() … … 169 169 170 170 Gtk::TreeIter iter = m_data->append(); 171 (*iter)[ m_cols.info] = &local_info;172 (*iter)[ m_cols.icon] = m_icon;173 (*iter)[ m_cols.color] = document_color(local_info);174 (*iter)[ m_cols.title] = local_info.get_title();171 (*iter)[columns.info] = &local_info; 172 (*iter)[columns.icon] = m_icon; 173 (*iter)[columns.color] = document_color(local_info); 174 (*iter)[columns.title] = local_info.get_title(); 175 175 176 176 m_map[&local_info] = iter; … … 201 201 { 202 202 LocalDocumentInfo& local_info = dynamic_cast<LocalDocumentInfo&>(info); 203 (*get_iter(local_info))[ m_cols.title] = local_info.get_title();203 (*get_iter(local_info))[columns.title] = local_info.get_title(); 204 204 } 205 205 … … 208 208 { 209 209 if(&user == &info.get_buffer().get_self() ) 210 (*get_iter(info))[ m_cols.color] = document_color(info);210 (*get_iter(info))[columns.color] = document_color(info); 211 211 } 212 212 … … 215 215 { 216 216 if(&user == &info.get_buffer().get_self() ) 217 (*get_iter(info))[ m_cols.color] = document_color(info);217 (*get_iter(info))[columns.color] = document_color(info); 218 218 } 219 219 -
src/documentlist.cpp
rba89078 rc006fa3 48 48 m_btn_subscribe(_("Subscribe") ) 49 49 { 50 m_view_col.pack_start(settings. get_columns().icon, false);51 m_view_col.pack_start(settings. get_columns().title, false);50 m_view_col.pack_start(settings.columns.icon, false); 51 m_view_col.pack_start(settings.columns.title, false); 52 52 m_view_col.set_spacing(5); 53 53 … … 68 68 m_view_col.add_attribute( 69 69 renderer->property_foreground_gdk(), 70 settings. get_columns().color70 settings.columns.color 71 71 ); 72 72 73 m_view_col.set_sort_column(settings. get_columns().title);73 m_view_col.set_sort_column(settings.columns.title); 74 74 75 75 m_tree_view.add_events(Gdk::BUTTON_PRESS_MASK); … … 178 178 179 179 LocalDocumentInfo* info = 180 (*tree_iter)[m_settings. get_columns().info];180 (*tree_iter)[m_settings.columns.info]; 181 181 182 182 if(can_subscribe(*info) ) … … 202 202 203 203 LocalDocumentInfo* info = 204 (*tree_iter)[m_settings. get_columns().info];204 (*tree_iter)[m_settings.columns.info]; 205 205 206 206 if(can_subscribe(*info) ) -
src/docwindow.cpp
r1ae339e rc006fa3 63 63 64 64 // TODO: Set source language by filename 65 buf->set_highlight( true);65 buf->set_highlight(false); 66 66 67 67 buf->signal_mark_set().connect( … … 148 148 void Gobby::DocWindow::grab_focus() 149 149 { 150 Gtk::ScrolledWindow::grab_focus(); 150 151 m_view.grab_focus(); 151 152 } -
src/folder.cpp
r0c6e731 rc006fa3 145 145 } 146 146 147 #if 0 147 148 Glib::RefPtr<const Gtk::SourceLanguagesManager> 148 149 Gobby::Folder::get_lang_manager() const … … 150 151 return m_header.get_lang_manager(); 151 152 } 153 #endif 152 154 153 155 void Gobby::Folder::obby_start(LocalBuffer& buf) -
src/header.cpp
r0c6e731 rc006fa3 203 203 } 204 204 205 Gobby::Header::Header(const ApplicationState& state): 205 Gobby::Header::Header(const ApplicationState& state, 206 const LangManager& lang_mgr): 206 207 group_app(Gtk::ActionGroup::create() ), 207 208 group_session(Gtk::ActionGroup::create() ), … … 409 410 ), 410 411 411 m_ui_manager(Gtk::UIManager::create() ), 412 m_lang_manager(Gtk::SourceLanguagesManager::create() ) 412 m_ui_manager(Gtk::UIManager::create() ) 413 413 { 414 414 // Assign auto actions … … 600 600 // Get available languages 601 601 std::list<Glib::RefPtr<Gtk::SourceLanguage> > lang_list = 602 m_lang_manager->get_available_languages();602 lang_mgr->get_available_languages(); 603 603 604 604 // Sort languages by name … … 708 708 } 709 709 710 #if 0 710 711 Glib::RefPtr<Gtk::SourceLanguagesManager> Gobby::Header::get_lang_manager() 711 712 { … … 718 719 return m_lang_manager; 719 720 } 721 #endif 720 722 721 723 Gtk::MenuBar& Gobby::Header::get_menubar() -
src/preferences.cpp
r0586368 rc006fa3 19 19 #include "preferences.hpp" 20 20 21 Gobby::Preferences::Editor::Editor() 22 { 23 } 24 25 Gobby::Preferences::Editor::Editor(Config::Entry& entry): 26 tab_width(entry["tab"]["width"].get<unsigned int>(8)), 27 tab_spaces(entry["tab"]["spaces"].get<bool>(false)), 28 indentation_auto(entry["indentation"]["auto"].get<bool>(true)), 29 homeend_smart(entry["homeend"]["smart"].get<bool>(true) ) 30 { 31 } 32 33 void Gobby::Preferences::Editor::serialise(Config::Entry& entry) const 34 { 35 entry["tab"]["width"].set(tab_width); 36 entry["tab"]["spaces"].set(tab_spaces); 37 entry["indentation"]["auto"].set(indentation_auto); 38 entry["homeend"]["smart"].set(homeend_smart); 39 } 40 41 Gobby::Preferences::View::View() 42 { 43 } 44 45 Gobby::Preferences::View::View(Config::Entry& entry): 46 wrap_text(entry["wrap"]["text"].get<bool>(true) ), 47 wrap_words(entry["wrap"]["words"].get<bool>(true) ), 48 linenum_display(entry["linenum"]["display"].get<bool>(true) ), 49 curline_highlight(entry["curline"]["highlight"].get<bool>(true) ), 50 margin_display(entry["margin"]["display"].get<bool>(true) ), 51 margin_pos(entry["margin"]["pos"].get<unsigned int>(80) ), 52 bracket_highlight(entry["bracket"]["highlight"].get<bool>(true) ) 53 { 54 } 55 56 void Gobby::Preferences::View::serialise(Config::Entry& entry) const 57 { 58 entry["wrap"]["text"].set(wrap_text); 59 entry["wrap"]["words"].set(wrap_words); 60 entry["linenum"]["display"].set(linenum_display); 61 entry["curline"]["highlight"].set(curline_highlight); 62 entry["margin"]["display"].set(margin_display); 63 entry["margin"]["pos"].set(margin_pos); 64 entry["bracket"]["highlight"].set(bracket_highlight); 65 } 66 67 Gobby::Preferences::Appearance::Appearance() 68 { 69 } 70 71 Gobby::Preferences::Appearance::Appearance(Config::Entry& entry): 72 toolbar_show( 73 static_cast<Gtk::ToolbarStyle>( 74 entry["toolbar"]["show"].get<int>( 75 static_cast<int>(Gtk::TOOLBAR_BOTH) 76 ) 77 ) 78 ), 79 remember(entry["windows"]["remember"].get<bool>(true) ) 80 { 81 } 82 83 void Gobby::Preferences::Appearance::serialise(Config::Entry& entry) const 84 { 85 entry["toolbar"]["show"].set(static_cast<int>(toolbar_show) ); 86 entry["windows"]["remember"].set(remember); 87 } 88 89 Gobby::Preferences::FileList::iterator::iterator(const base_iterator iter): 90 m_iter(iter) 91 { 92 } 93 94 Gobby::Preferences::FileList::iterator& 95 Gobby::Preferences::FileList::iterator::operator++() 96 { 97 ++ m_iter; 98 return *this; 99 } 100 101 Gobby::Preferences::FileList::iterator 102 Gobby::Preferences::FileList::iterator::operator++(int) 103 { 104 iterator temp(m_iter); 105 ++ *this; 106 return temp; 107 } 108 109 const Glib::ustring& Gobby::Preferences::FileList::iterator::pattern() const 110 { 111 return m_iter->first; 112 } 113 114 const Gobby::Preferences::Language& 115 Gobby::Preferences::FileList::iterator::language() const 116 { 117 return m_iter->second; 118 } 119 120 Gobby::Preferences::FileList::FileList() 121 { 122 } 123 124 Gobby::Preferences::FileList::FileList(Config::Entry& entry, 125 const LangManager& lang_mgr) 126 { 127 if(entry.begin() != entry.end() ) 128 { 129 for(Config::Entry::iterator iter = entry.begin(); 130 iter != entry.end(); 131 ++ iter) 132 { 133 Config::Entry& ent = iter.entry(); 134 135 Glib::ustring pattern = 136 ent["pattern"].get<Glib::ustring>("unknown"); 137 Glib::ustring mime = 138 ent["mime_type"].get<Glib::ustring>("unknown"); 139 140 Glib::RefPtr<Gtk::SourceLanguage> lang = 141 lang_mgr->get_language_from_mime_type(mime); 142 143 if(lang) m_files[pattern] = lang; 144 } 145 } 146 else 147 { 148 // Default list 149 add_by_mime_type("*.ada", "text/x-ada", lang_mgr); 150 add_by_mime_type("*.ada", "text/x-ada", lang_mgr); 151 add_by_mime_type("*.c", "text/x-c", lang_mgr); 152 add_by_mime_type("*.h", "text/x-c++", lang_mgr); 153 add_by_mime_type("*.hh", "text/x-c++", lang_mgr); 154 add_by_mime_type("*.cpp", "text/x-c++", lang_mgr); 155 add_by_mime_type("*.hpp", "text/x-c++", lang_mgr); 156 add_by_mime_type("*.cc", "text/x-c++", lang_mgr); 157 add_by_mime_type("*.cs", "text/x-csharp", lang_mgr); 158 add_by_mime_type("*.css", "text/css", lang_mgr); 159 add_by_mime_type("*.diff", "text/x-diff", lang_mgr); 160 add_by_mime_type("*.patch", "text/x-diff", lang_mgr); 161 add_by_mime_type("*.f", "text/x-fortran", lang_mgr); 162 add_by_mime_type("*.f77", "text/x-fortran", lang_mgr); 163 add_by_mime_type("*.hs", "text/x-haskell", lang_mgr); 164 add_by_mime_type("*.htm", "text/html", lang_mgr); 165 add_by_mime_type("*.html", "text/html", lang_mgr); 166 add_by_mime_type("*.xhtml", "text/html", lang_mgr); 167 add_by_mime_type("*.idl", "text/x-idl", lang_mgr); 168 add_by_mime_type("*.java", "text/x-java", lang_mgr); 169 add_by_mime_type("*.js", "text/x-javascript", lang_mgr); 170 add_by_mime_type("*.tex", "text/x-tex", lang_mgr); 171 add_by_mime_type("*.latex", "text/x-tex", lang_mgr); 172 add_by_mime_type("*.lua", "text/x-lua", lang_mgr); 173 add_by_mime_type("*.dpr", "text/x-pascal", lang_mgr); 174 add_by_mime_type("*.pas", "text/x-pascal", lang_mgr); 175 add_by_mime_type("*.pl", "text/x-perl", lang_mgr); 176 add_by_mime_type("*.pm", "text/x-perl", lang_mgr); 177 add_by_mime_type("*.php", "text/x-php", lang_mgr); 178 add_by_mime_type("*.php3", "text/x-php", lang_mgr); 179 add_by_mime_type("*.php4", "text/x-php", lang_mgr); 180 add_by_mime_type("*.php5", "text/x-php", lang_mgr); 181 add_by_mime_type( 182 "*.po", 183 "text/x-gettext-translation", 184 lang_mgr 185 ); 186 add_by_mime_type("*.py", "text/x-python", lang_mgr); 187 add_by_mime_type("*.rb", "text/x-ruby", lang_mgr); 188 add_by_mime_type("*.sql", "text/x-sql", lang_mgr); 189 add_by_mime_type("*.texi", "text/x-texinfo", lang_mgr); 190 add_by_mime_type("*.bas", "text/x-vb", lang_mgr); 191 add_by_mime_type("*.vbs", "text/x-vb", lang_mgr); 192 add_by_mime_type("*.v", "text/x-verilog-src", lang_mgr); 193 add_by_mime_type("*.xml", "text/xml", lang_mgr); 194 add_by_mime_type( 195 "*.desktop", 196 "application/x-gnome-app-info", 197 lang_mgr 198 ); 199 add_by_mime_type("*.tcl", "text/x-tcl", lang_mgr); 200 add_by_mime_type("Makefile", "text/x-Maxefile", lang_mgr); 201 } 202 } 203 204 void Gobby::Preferences::FileList::serialise(Config::Entry& entry) const 205 { 206 int num = 0; 207 208 for(map_type::const_iterator iter = m_files.begin(); 209 iter != m_files.end(); 210 ++ iter) 211 { 212 std::stringstream stream; 213 stream << "file" << (++num); 214 215 std::list<Glib::ustring> mime_types = 216 iter->second->get_mime_types(); 217 218 Config::Entry& main = entry[stream.str()]; 219 220 main["pattern"].set(iter->first); 221 main["mime_type"].set(mime_types.front()); 222 } 223 } 224 225 Gobby::Preferences::FileList::iterator 226 Gobby::Preferences::FileList::add(const Glib::ustring& pattern, 227 const Language& lang) 228 { 229 //map_type::iterator iter = m_files.find(pattern); 230 //if(iter != m_files.end() ) return iter; 231 return iterator(m_files.insert(std::make_pair(pattern, lang) ).first); 232 } 233 234 Gobby::Preferences::FileList::iterator 235 Gobby::Preferences::FileList::add_by_mime_type(const Glib::ustring& pattern, 236 const Glib::ustring& mime_type, 237 const LangManager& lang_mgr) 238 { 239 Glib::RefPtr<Gtk::SourceLanguage> lang = 240 lang_mgr->get_language_from_mime_type(mime_type); 241 242 if(lang) 243 return add(pattern, lang); 244 else 245 return iterator(m_files.end()); 246 } 247 248 Gobby::Preferences::FileList::iterator 249 Gobby::Preferences::FileList::begin() const 250 { 251 return iterator(m_files.begin() ); 252 } 253 254 Gobby::Preferences::FileList::iterator 255 Gobby::Preferences::FileList::end() const 256 { 257 return iterator(m_files.end() ); 258 } 259 21 260 Gobby::Preferences::Preferences() 22 261 { … … 24 263 } 25 264 26 Gobby::Preferences::Preferences(Config& config) 27 { 28 // Read preferences from config 29 editor.tab_width = 30 config["editor"]["tab"]["width"].get<unsigned int>(8); 31 editor.tab_spaces = config["editor"]["tab"]["spaces"].get<bool>(false); 32 editor.indentation_auto = 33 config["editor"]["indentation"]["auto"].get<bool>(true); 34 editor.homeend_smart = 35 config["editor"]["homeend"]["smart"].get<bool>(true); 36 37 view.wrap_text = config["view"]["wrap"]["text"].get<bool>(true); 38 view.wrap_words = config["view"]["wrap"]["words"].get<bool>(true); 39 view.linenum_display = 40 config["view"]["linenum"]["display"].get<bool>(true); 41 view.curline_highlight = 42 config["view"]["curline"]["highlight"].get<bool>(true); 43 view.margin_display = 44 config["view"]["margin"]["display"].get<bool>(true); 45 view.margin_pos = 46 config["view"]["margin"]["pos"].get<unsigned int>(80); 47 view.bracket_highlight = 48 config["view"]["bracket"]["highlight"].get<bool>(true); 49 50 appearance.toolbar_show = static_cast<Gtk::ToolbarStyle>( 51 config["appearance"]["toolbar"]["show"].get<int>( 52 static_cast<int>(Gtk::TOOLBAR_BOTH) 53 ) 54 ); 55 appearance.remember = 56 config["appearance"]["windows"]["remember"].get<bool>(true); 57 } 58 59 Gobby::Preferences::Preferences(const Preferences& other) 60 { 61 *this = other; 62 } 63 64 Gobby::Preferences::~Preferences() 65 { 66 } 67 68 void Gobby::Preferences::serialise(Config& config) 265 Gobby::Preferences::Preferences(Config& config, const LangManager& lang_mgr): 266 editor(config["editor"]), 267 view(config["view"]), 268 appearance(config["appearance"]), 269 files(config["files"], lang_mgr) 270 { 271 } 272 273 void Gobby::Preferences::serialise(Config& config) const 69 274 { 70 275 // Serialise into config 71 config["editor"]["tab"]["width"].set(editor.tab_width); 72 config["editor"]["tab"]["spaces"].set(editor.tab_spaces); 73 config["editor"]["indentation"]["auto"].set(editor.indentation_auto); 74 config["editor"]["homeend"]["smart"].set(editor.homeend_smart); 75 76 config["view"]["wrap"]["text"].set(view.wrap_text); 77 config["view"]["wrap"]["words"].set(view.wrap_words); 78 config["view"]["linenum"]["display"].set(view.linenum_display); 79 config["view"]["curline"]["highlight"].set(view.curline_highlight); 80 config["view"]["margin"]["display"].set(view.margin_display); 81 config["view"]["margin"]["pos"].set(view.margin_pos); 82 config["view"]["bracket"]["highlight"].set(view.bracket_highlight); 83 84 config["appearance"]["toolbar"]["show"].set( 85 static_cast<int>(appearance.toolbar_show) ); 86 config["appearance"]["windows"]["remember"].set(appearance.remember); 87 } 88 89 Gobby::Preferences& Gobby::Preferences::operator=(const Preferences& other) 90 { 91 editor = other.editor; 92 view = other.view; 93 appearance = other.appearance; 94 95 return *this; 96 } 97 276 editor.serialise(config["editor"]); 277 view.serialise(config["view"]); 278 appearance.serialise(config["appearance"]); 279 files.serialise(config["files"]); 280 } -
src/window.cpp
r0c6e731 rc006fa3 51 51 Gobby::Window::Window(const IconManager& icon_mgr, Config& config): 52 52 Gtk::Window(Gtk::WINDOW_TOPLEVEL), m_config(config), 53 m_preferences(m_config), m_icon_mgr(icon_mgr), 53 m_lang_manager(Gtk::SourceLanguagesManager::create() ), 54 m_preferences(m_config, m_lang_manager), m_icon_mgr(icon_mgr), 54 55 #ifdef WITH_HOWL 55 56 m_zeroconf(NULL), 56 57 #endif 57 58 m_application_state(APPLICATION_NONE), 58 m_document_settings(*this), m_header(m_application_state), 59 m_document_settings(*this), 60 m_header(m_application_state, m_lang_manager), 59 61 m_userlist(*this, m_header, m_preferences, config["windows"]), 60 62 m_documentlist( … … 472 474 dlg.get_vbox()->pack_start(m_chk_default_ext, Gtk::PACK_SHRINK); 473 475 // This option confuses the overwrite confirmation :/ 474 //m_chk_default_ext.show();476 //m_chk_default_ext.show(); 475 477 476 478 #ifdef GTKMM_GEQ_28 … … 529 531 dlg.set_version(PACKAGE_VERSION); 530 532 dlg.set_comments(_("A collaborative text editor")); 531 dlg.set_copyright("Copyright (C) 2005 0x539 dev group <crew@0x539.de>"); 533 534 dlg.set_copyright( 535 "Copyright (C) 2005, 2006 0x539 dev " 536 "group <crew@0x539.de>" 537 ); 538 532 539 dlg.set_logo(m_icon_mgr.gobby); 533 540 … … 986 993 { 987 994 // Quit session 988 obby_end(); 995 if(m_buffer.get() != NULL && m_buffer->is_open() ) 996 obby_end(); 989 997 // End program 990 998 Gtk::Main::quit();
