Changeset 3c40239e8c602c1870208940eaee9b6828b9032c
- Timestamp:
- 11/10/09 00:21:49 (4 years ago)
- Parents:
- 2a1e37c2ebaa4d166360a8bed2b730ac8cdc8203
- Children:
- 5cdca2452ef978895eef8f5175a821b555063098
- git-committer:
- Armin Burgmeier <armin@arbur.net> / 2009-11-10T00:21:49Z+0100
- Files:
-
- 7 modified
-
ChangeLog (modified) (1 diff)
-
code/core/preferences.cpp (modified) (2 diffs)
-
code/core/preferences.hpp (modified) (2 diffs)
-
code/core/textsessionview.cpp (modified) (3 diffs)
-
code/core/textsessionview.hpp (modified) (1 diff)
-
code/dialogs/preferences-dialog.cpp (modified) (9 diffs)
-
code/dialogs/preferences-dialog.hpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ChangeLog
r2a1e37c r3c40239 1 2009-11-09 GabrÃel A. Pétursson <gabrielp@simnet.is>, Armin Burgmeier <armin@arbur.net> 2 3 * code/core/preferences.hpp: 4 * code/core/preferences.cpp: Added scheme_id preference option to 5 appearance. 6 7 * code/core/textsessionview.hpp: 8 * code/core/textsessionview.cpp: Set GtkSourceView style scheme 9 according to selected scheme ID. 10 11 * code/dialogs/preferences-dialog.hpp: 12 * code/dialogs/preferences-dialog.cpp: Add a list to choose one's 13 favoured style scheme to the appearance tab. 14 1 15 2009-11-09 Benjamin Herr <ben@0x539.de> 2 16 -
code/core/preferences.cpp
r89522f2 r3c40239 94 94 show_statusbar(entry.get_value<bool>("show-statusbar", true)), 95 95 show_browser(entry.get_value<bool>("show-browser", true)), 96 show_userlist(entry.get_value<bool>("show-userlist", true)) 96 show_userlist(entry.get_value<bool>("show-userlist", true)), 97 scheme_id(entry.get_value<Glib::ustring>("scheme-id", "classic")) 97 98 { 98 99 } … … 113 114 entry.set_value("show-browser", show_browser); 114 115 entry.set_value("show-userlist", show_userlist); 116 entry.set_value("scheme-id", scheme_id); 115 117 } 116 118 -
code/core/preferences.hpp
r89522f2 r3c40239 25 25 26 26 #include <gtksourceview/gtksourceview.h> 27 #include <gtksourceview/gtksourcestyleschememanager.h> 27 28 28 29 #include <gtkmm/toolbar.h> … … 153 154 Option<bool> show_browser; 154 155 Option<bool> show_userlist; 156 157 Option<Glib::ustring> scheme_id; 155 158 }; 156 159 -
code/core/textsessionview.cpp
r646a4f3 r3c40239 190 190 m_preferences.appearance.font.signal_changed().connect( 191 191 sigc::mem_fun(*this, &TextSessionView::on_font_changed)); 192 192 m_preferences.appearance.scheme_id.signal_changed().connect( 193 sigc::mem_fun(*this, &TextSessionView::on_scheme_changed)); 193 194 gtk_source_view_set_tab_width(m_view, m_preferences.editor.tab_width); 194 195 gtk_source_view_set_insert_spaces_instead_of_tabs( … … 228 229 229 230 pack_start(*scroll, Gtk::PACK_EXPAND_WIDGET); 231 232 gtk_source_buffer_set_style_scheme(m_buffer, gtk_source_style_scheme_manager_get_scheme(gtk_source_style_scheme_manager_get_default(), static_cast<Glib::ustring>(preferences.appearance.scheme_id).c_str())); 230 233 } 231 234 … … 423 426 } 424 427 428 void Gobby::TextSessionView::on_scheme_changed() 429 { 430 gtk_source_buffer_set_style_scheme(m_buffer, gtk_source_style_scheme_manager_get_scheme(gtk_source_style_scheme_manager_get_default(), static_cast<Glib::ustring>(m_preferences.appearance.scheme_id).c_str())); 431 } 432 425 433 bool Gobby::TextSessionView:: 426 434 on_query_tooltip(int x, int y, bool keyboard_mode, -
code/core/textsessionview.hpp
r646a4f3 r3c40239 103 103 104 104 void on_font_changed(); 105 void on_scheme_changed(); 105 106 106 107 bool on_query_tooltip(int x, int y, bool keyboard_mode, -
code/dialogs/preferences-dialog.cpp
r89522f2 r3c40239 22 22 23 23 #include <gtkmm/messagedialog.h> 24 #include <gtkmm/scrolledwindow.h> 24 25 #include <gtkmm/stock.h> 25 26 #include <stdexcept> 27 28 #include <gtksourceview/gtksourcestyleschememanager.h> 26 29 27 30 namespace … … 206 209 void Gobby::PreferencesDialog::Group::add(Gtk::Widget& widget) 207 210 { 208 m_box.pack_start(widget, Gtk::PACK_ SHRINK);211 m_box.pack_start(widget, Gtk::PACK_EXPAND_WIDGET); 209 212 } 210 213 … … 220 223 } 221 224 222 void Gobby::PreferencesDialog::Page::add(Gtk::Widget& widget )223 { 224 m_box.pack_start(widget, Gtk::PACK_SHRINK);225 void Gobby::PreferencesDialog::Page::add(Gtk::Widget& widget, bool expand) 226 { 227 m_box.pack_start(widget, expand ? Gtk::PACK_EXPAND_WIDGET : Gtk::PACK_SHRINK); 225 228 } 226 229 … … 290 293 // m_group_paths.show(); 291 294 292 add(m_group_settings );293 add(m_group_paths );295 add(m_group_settings, false); 296 add(m_group_paths, false); 294 297 } 295 298 … … 384 387 m_group_saving.show(); 385 388 386 add(m_group_tab );387 add(m_group_indentation );388 add(m_group_homeend );389 add(m_group_saving );389 add(m_group_tab, false); 390 add(m_group_indentation, false); 391 add(m_group_homeend, false); 392 add(m_group_saving, false); 390 393 } 391 394 … … 501 504 m_group_spaces.show(); 502 505 503 add(m_group_wrap );504 add(m_group_linenum );505 add(m_group_curline );506 add(m_group_margin );507 add(m_group_bracket );508 add(m_group_spaces );506 add(m_group_wrap, false); 507 add(m_group_linenum, false); 508 add(m_group_curline, false); 509 add(m_group_margin, false); 510 add(m_group_bracket, false); 511 add(m_group_spaces, false); 509 512 } 510 513 … … 522 525 m_group_toolbar(_("Toolbar") ), 523 526 m_group_font(_("Font") ), 524 m_cmb_toolbar_style(preferences.appearance.toolbar_style) 527 m_group_scheme(_("Color Scheme")), 528 m_cmb_toolbar_style(preferences.appearance.toolbar_style), 529 m_list(Gtk::ListStore::create(m_columns)), 530 m_tree(m_list) 525 531 { 526 532 const Pango::FontDescription& font = preferences.appearance.font; … … 546 552 m_group_font.show(); 547 553 548 add(m_group_toolbar); 549 add(m_group_font); 554 Gtk::TreeViewColumn column_name; 555 Gtk::CellRendererText renderer_name; 556 column_name.pack_start(renderer_name, false); 557 column_name.add_attribute(renderer_name.property_text(), m_columns.name); 558 559 m_tree.append_column(column_name);//"Scheme Name", m_columns.name); 560 m_tree.append_column("Scheme description", m_columns.description); 561 562 Pango::AttrList list; 563 Pango::Attribute attr(Pango::Attribute::create_attr_weight(Pango::WEIGHT_BOLD)); 564 list.insert(attr); 565 renderer_name.property_attributes() = list; 566 567 m_tree.set_headers_visible(false); 568 m_tree.show(); 569 570 Gtk::ScrolledWindow* scroll = Gtk::manage(new Gtk::ScrolledWindow); 571 scroll->set_shadow_type(Gtk::SHADOW_IN); 572 scroll->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); 573 scroll->add(m_tree); 574 scroll->show(); 575 576 m_group_scheme.add(*scroll); 577 m_group_scheme.show(); 578 579 GtkSourceStyleSchemeManager* manager = gtk_source_style_scheme_manager_get_default(); 580 const gchar* const* ids = gtk_source_style_scheme_manager_get_scheme_ids(manager); 581 582 Glib::ustring current_scheme = preferences.appearance.scheme_id; 583 584 for (const gchar* const* id = ids; *id != NULL; ++id) 585 { 586 GtkSourceStyleScheme* scheme = gtk_source_style_scheme_manager_get_scheme(manager, *id); 587 const gchar* name = gtk_source_style_scheme_get_name(scheme); 588 const gchar* desc = gtk_source_style_scheme_get_description(scheme); 589 590 Gtk::TreeIter iter = m_list->append(); 591 (*iter)[m_columns.name] = name; 592 (*iter)[m_columns.description] = desc; 593 (*iter)[m_columns.scheme] = scheme; 594 595 if (current_scheme == gtk_source_style_scheme_get_id(scheme)) 596 m_tree.get_selection()->select(iter); 597 } 598 599 m_tree.get_selection()->signal_changed().connect( 600 sigc::bind( 601 sigc::mem_fun(*this, &Appearance::on_scheme_changed), 602 sigc::ref(preferences))); 603 604 m_list->set_sort_column_id(m_columns.name, Gtk::SORT_ASCENDING); // This should do it 605 606 add(m_group_toolbar, false); 607 add(m_group_font, false); 608 add(m_group_scheme, true); 609 } 610 611 void Gobby::PreferencesDialog::Appearance::on_scheme_changed(Preferences& preferences) 612 { 613 Gtk::TreeIter iter = m_tree.get_selection()->get_selected(); 614 GtkSourceStyleScheme* scheme = (*iter)[m_columns.scheme]; 615 preferences.appearance.scheme_id = gtk_source_style_scheme_get_id(scheme); 550 616 } 551 617 … … 579 645 m_group_connection_policy.show(); 580 646 581 add(m_group_trust_file );582 add(m_group_connection_policy );647 add(m_group_trust_file, false); 648 add(m_group_connection_policy, false); 583 649 } 584 650 -
code/dialogs/preferences-dialog.hpp
r89522f2 r3c40239 113 113 public: 114 114 Page(); 115 void add(Gtk::Widget& widget );115 void add(Gtk::Widget& widget, bool expand); 116 116 117 117 protected: … … 212 212 213 213 protected: 214 class Columns: public Gtk::TreeModelColumnRecord 215 { 216 public: 217 Gtk::TreeModelColumn<GtkSourceStyleScheme*> scheme; 218 Gtk::TreeModelColumn<Glib::ustring> name; 219 Gtk::TreeModelColumn<Glib::ustring> description; 220 Columns() 221 { 222 add(scheme); 223 add(name); 224 add(description); 225 } 226 }; 227 228 void on_scheme_changed(Preferences& preferences); 229 214 230 Group m_group_toolbar; 215 231 Group m_group_font; 232 Group m_group_scheme; 216 233 217 234 PreferencesComboBox<Gtk::ToolbarStyle> m_cmb_toolbar_style; 218 235 Gtk::FontButton m_btn_font; 236 237 Columns m_columns; 238 Glib::RefPtr<Gtk::ListStore> m_list; 239 Gtk::TreeView m_tree; 219 240 }; 220 241
