diff options
| author | Ted Gould <ted@gould.cx> | 2006-03-29 05:41:48 +0000 |
|---|---|---|
| committer | gouldtj <gouldtj@users.sourceforge.net> | 2006-03-29 05:41:48 +0000 |
| commit | b6df03c77648187115fd9fdb7c6e6900db8e1f8a (patch) | |
| tree | 15d1b40ff25532460b169f9cbae0737052dfdd88 /src | |
| parent | r10983@tres: ted | 2006-02-19 00:12:15 -0800 (diff) | |
| download | inkscape-b6df03c77648187115fd9fdb7c6e6900db8e1f8a.tar.gz inkscape-b6df03c77648187115fd9fdb7c6e6900db8e1f8a.zip | |
r10984@tres: ted | 2006-02-19 09:59:18 -0800
Allowing for a default selected extension. This will then adjust
everytime a new one is selected.
(bzr r348)
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/dialog/extension-editor.cpp | 19 | ||||
| -rw-r--r-- | src/ui/dialog/extension-editor.h | 6 |
2 files changed, 19 insertions, 6 deletions
diff --git a/src/ui/dialog/extension-editor.cpp b/src/ui/dialog/extension-editor.cpp index fdb203d8a..e20ac4592 100644 --- a/src/ui/dialog/extension-editor.cpp +++ b/src/ui/dialog/extension-editor.cpp @@ -78,7 +78,9 @@ ExtensionEditor::ExtensionEditor() Inkscape::Extension::db.foreach(dbfunc, this); - _page_list_model->foreach_iter(sigc::mem_fun(*this, &ExtensionEditor::defaultExtension)); + gchar const * defaultext = prefs_get_string_attribute("dialogs.extensioneditor", "selected-extension"); + if (defaultext == NULL) defaultext = "org.inkscape.input.svg"; + this->setExtension(defaultext); show_all_children(); } @@ -90,12 +92,18 @@ ExtensionEditor::~ExtensionEditor() { } +void +ExtensionEditor::setExtension(Glib::ustring extension_id) { + _selection_search = extension_id; + _page_list_model->foreach_iter(sigc::mem_fun(*this, &ExtensionEditor::setExtensionIter)); + return; +} + bool -ExtensionEditor::defaultExtension(const Gtk::TreeModel::iterator &iter) +ExtensionEditor::setExtensionIter(const Gtk::TreeModel::iterator &iter) { - Glib::ustring desired = "org.inkscape.input.svg"; Gtk::TreeModel::Row row = *iter; - if (row[_page_list_columns._col_id] == desired) { + if (row[_page_list_columns._col_id] == _selection_search) { _page_list.get_selection()->select(iter); return true; } @@ -118,10 +126,11 @@ ExtensionEditor::on_pagelist_selection_changed (void) _page_frame.remove(); Gtk::TreeModel::Row row = *iter; // _current_page = row[_page_list_columns._col_page]; - // prefs_set_string_attribute("dialogs.extensioneditor", "selected", row[_page_list_columns._col_id].c_str()); _page_title.set_markup("<span size='large'><b>" + row[_page_list_columns._col_name] + "</b></span>"); // _page_frame.add(*_current_page); // _current_page->show(); + Glib::ustring id = row[_page_list_columns._col_id]; + prefs_set_string_attribute("dialogs.extensioneditor", "selected-extension", id.c_str()); } return; diff --git a/src/ui/dialog/extension-editor.h b/src/ui/dialog/extension-editor.h index 0a182958c..aebe35049 100644 --- a/src/ui/dialog/extension-editor.h +++ b/src/ui/dialog/extension-editor.h @@ -61,13 +61,17 @@ protected: Gtk::TreeModel::Path _path_shapes; private: + Glib::ustring _selection_search; + ExtensionEditor(ExtensionEditor const &d); ExtensionEditor& operator=(ExtensionEditor const &d); void on_pagelist_selection_changed(void); static void dbfunc (Inkscape::Extension::Extension * in_plug, gpointer in_data); Gtk::TreeModel::iterator add_extension (Inkscape::Extension::Extension * ext); - bool defaultExtension(const Gtk::TreeModel::iterator &iter); + bool setExtensionIter(const Gtk::TreeModel::iterator &iter); +public: + void setExtension(Glib::ustring extension_id); }; } // namespace Dialog |
