From: John Spray Date: Wed, 19 Apr 2006 09:11:25 +0000 (+0000) Subject: Changes to External controller for GTK implementation X-Git-Tag: 1.6.10~13325 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=35948be2348489fbe7bd5673dc261bc693b2df95;p=features.git Changes to External controller for GTK implementation git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13693 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index af0b645631..1d33d438e1 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,7 @@ +2006-04-19 Bernhard Reiter + * ControlExternal.[Ch]: Split browse(...) half, introducing + getTemplateFilters(...) + 2006-03-10 Martin Vermeer * ControlChanges.C: fix bug 2212: First change is skipped in diff --git a/src/frontends/controllers/ControlExternal.C b/src/frontends/controllers/ControlExternal.C index e0c36c0ec4..520a1f4e23 100644 --- a/src/frontends/controllers/ControlExternal.C +++ b/src/frontends/controllers/ControlExternal.C @@ -140,22 +140,30 @@ external::Template ControlExternal::getTemplate(int i) const } -string const ControlExternal::browse(string const & input, - string const & template_name) const +string const +ControlExternal::getTemplateFilters(string const & template_name) const { - string const title = _("Select external file"); - - string const bufpath = kernel().bufferFilepath(); - /// Determine the template file extension external::TemplateManager const & etm = external::TemplateManager::get(); external::Template const * const et_ptr = etm.getTemplateByName(template_name); - FileFilterList const filter = et_ptr ? - FileFilterList(et_ptr->fileRegExp) : - FileFilterList(); + if (et_ptr) + return et_ptr->fileRegExp; + + return string(); +} + + +string const ControlExternal::browse(string const & input, + string const & template_name) const +{ + string const title = _("Select external file"); + + string const bufpath = kernel().bufferFilepath(); + FileFilterList const filter = + FileFilterList(getTemplateFilters(template_name)); std::pair dir1(N_("Documents|#o#O"), string(lyxrc.document_path)); diff --git a/src/frontends/controllers/ControlExternal.h b/src/frontends/controllers/ControlExternal.h index da404970d3..967dce22cf 100644 --- a/src/frontends/controllers/ControlExternal.h +++ b/src/frontends/controllers/ControlExternal.h @@ -65,8 +65,11 @@ public: /// external::Template getTemplate(int) const; /// + std::string const + getTemplateFilters(std::string const & template_name) const; + /// std::string const browse(std::string const & input_file, - std::string const & tempalate_name) const; + std::string const & template_name) const; /// Read the Bounding Box from a eps or ps-file std::string const readBB(std::string const & file);