Ok, I am pretty fad-up with this tedious work so I am gonna stop for a
while.
This patch is converting everything related to browsing, qt4 only. I am
not going to do either qt3 or gtk. Too tired... If we are really serious
about qt3 and gtk, this work needs to be done anyway so I will commit
the qt4 part now...
Abdel.
Index: BufferView.C
===================================================================
--- BufferView.C (revision 15292)
+++ BufferView.C (working copy)
@@ -1369,6 +1369,7 @@
if (filename.empty()) {
// Launch a file browser
+ // FIXME UNICODE
string initpath = lyxrc.document_path;
if (buffer_) {
@@ -1378,22 +1379,22 @@
initpath = trypath;
}
- FileDialog fileDlg(lyx::to_utf8(_("Select LyX document to
insert")),
+ // FIXME UNICODE
+ FileDialog fileDlg(_("Select LyX document to insert"),
LFUN_FILE_INSERT,
- make_pair(string(lyx::to_utf8(_("Documents|#o#O"))),
- string(lyxrc.document_path)),
- make_pair(string(lyx::to_utf8(_("Examples|#E#e"))),
- string(addPath(package().system_support(),
"examples"))));
+ make_pair(_("Documents|#o#O"),
lyx::from_utf8(lyxrc.document_path)),
+ make_pair(_("Examples|#E#e"),
lyx::from_utf8(addPath(package().system_support(), "examples"))));
FileDialog::Result result =
- fileDlg.open(initpath,
- FileFilterList(lyx::to_utf8(_("LyX
Documents (*.lyx)"))),
- string());
+ fileDlg.open(lyx::from_utf8(initpath),
+ FileFilterList(_("LyX Documents (*.lyx)")),
+ docstring());
if (result.first == FileDialog::Later)
return;
- filename = result.second;
+ // FIXME UNICODE
+ filename = lyx::to_utf8(result.second);
// check selected filename
if (filename.empty()) {
Index: frontends/controllers/ControlBibtex.C
===================================================================
--- frontends/controllers/ControlBibtex.C (revision 15292)
+++ frontends/controllers/ControlBibtex.C (working copy)
@@ -48,26 +48,26 @@
{}
-string const ControlBibtex::browseBib(string const & in_name) const
+docstring const ControlBibtex::browseBib(docstring const & in_name) const
{
// FIXME UNICODE
- pair<string, string> dir1(lyx::to_utf8(_("Documents|#o#O")),
- string(lyxrc.document_path));
- FileFilterList const filter(lyx::to_utf8(_("BibTeX Databases
(*.bib)")));
- return browseRelFile(in_name, kernel().bufferFilepath(),
- lyx::to_utf8(_("Select a BibTeX database to add")),
+ pair<docstring, docstring> dir1(_("Documents|#o#O"),
+ lyx::from_utf8(lyxrc.document_path));
+ FileFilterList const filter(_("BibTeX Databases (*.bib)"));
+ return browseRelFile(in_name, lyx::from_utf8(kernel().bufferFilepath()),
+ _("Select a BibTeX database to add"),
filter, false, dir1);
}
-string const ControlBibtex::browseBst(string const & in_name) const
+docstring const ControlBibtex::browseBst(docstring const & in_name) const
{
// FIXME UNICODE
- pair<string, string> dir1(lyx::to_utf8(_("Documents|#o#O")),
- string(lyxrc.document_path));
- FileFilterList const filter(lyx::to_utf8(_("BibTeX Styles (*.bst)")));
- return browseRelFile(in_name, kernel().bufferFilepath(),
- lyx::to_utf8(_("Select a BibTeX style")), filter,
false, dir1);
+ pair<docstring, docstring> dir1(_("Documents|#o#O"),
+ lyx::from_utf8(lyxrc.document_path));
+ FileFilterList const filter(_("BibTeX Styles (*.bst)"));
+ return browseRelFile(in_name, lyx::from_utf8(kernel().bufferFilepath()),
+ _("Select a BibTeX style"), filter, false, dir1);
}
Index: frontends/controllers/ControlBibtex.h
===================================================================
--- frontends/controllers/ControlBibtex.h (revision 15292)
+++ frontends/controllers/ControlBibtex.h (working copy)
@@ -14,6 +14,9 @@
#define CONTROLBIBTEX_H
#include "ControlCommand.h"
+
+#include "support/docstring.h"
+
#include <vector>
namespace lyx {
@@ -34,10 +37,10 @@
ControlBibtex(Dialog &);
/// Browse for a .bib file
- std::string const browseBib(std::string const & in_name) const;
+ lyx::docstring const browseBib(lyx::docstring const & in_name) const;
/// Browse for a .bst file
- std::string const browseBst(std::string const & in_name) const;
+ lyx::docstring const browseBst(lyx::docstring const & in_name) const;
/// get the list of bst files
void getBibStyles(std::vector<std::string> & data) const;
Index: frontends/controllers/ControlExternal.C
===================================================================
--- frontends/controllers/ControlExternal.C (revision 15292)
+++ frontends/controllers/ControlExternal.C (working copy)
@@ -156,17 +156,17 @@
}
-string const ControlExternal::browse(string const & input,
- string const & template_name) const
+docstring const ControlExternal::browse(docstring const & input,
+ docstring const & template_name) const
{
- string const title = lyx::to_utf8(_("Select external file"));
+ docstring const title = _("Select external file");
- string const bufpath = kernel().bufferFilepath();
+ docstring const bufpath = lyx::from_utf8(kernel().bufferFilepath());
FileFilterList const filter =
- FileFilterList(getTemplateFilters(template_name));
+
FileFilterList(lyx::from_utf8(getTemplateFilters(lyx::to_utf8(template_name))));
- std::pair<string, string> dir1(N_("Documents|#o#O"),
- string(lyxrc.document_path));
+ std::pair<docstring, docstring> dir1(_("Documents|#o#O"),
+ lyx::from_utf8(lyxrc.document_path));
return browseRelFile(input, bufpath, title, filter, false, dir1);
}
Index: frontends/controllers/ControlExternal.h
===================================================================
--- frontends/controllers/ControlExternal.h (revision 15292)
+++ frontends/controllers/ControlExternal.h (working copy)
@@ -68,8 +68,8 @@
std::string const
getTemplateFilters(std::string const & template_name) const;
///
- std::string const browse(std::string const & input_file,
- std::string const & template_name) const;
+ lyx::docstring const browse(lyx::docstring const & input_file,
+ lyx::docstring const & template_name) const;
/// Read the Bounding Box from a eps or ps-file
std::string const readBB(std::string const & file);
Index: frontends/controllers/ControlGraphics.C
===================================================================
--- frontends/controllers/ControlGraphics.C (revision 15292)
+++ frontends/controllers/ControlGraphics.C (working copy)
@@ -81,20 +81,20 @@
}
-string const ControlGraphics::browse(string const & in_name) const
+docstring const ControlGraphics::browse(docstring const & in_name) const
{
// FIXME UNICODE
- string const title = lyx::to_utf8(_("Select graphics file"));
+ docstring const title = _("Select graphics file");
// Does user clipart directory exist?
string clipdir = addName(package().user_support(), "clipart");
if (!(fs::exists(clipdir) && fs::is_directory(clipdir)))
// No - bail out to system clipart directory
clipdir = addName(package().system_support(), "clipart");
- pair<string, string> dir1(lyx::to_utf8(_("Clipart|#C#c")), clipdir);
- pair<string, string> dir2(lyx::to_utf8(_("Documents|#o#O")),
string(lyxrc.document_path));
+ pair<docstring, docstring> dir1(_("Clipart|#C#c"),
lyx::from_utf8(clipdir));
+ pair<docstring, docstring> dir2(_("Documents|#o#O"),
lyx::from_utf8(lyxrc.document_path));
// Show the file browser dialog
- return browseRelFile(in_name, kernel().bufferFilepath(),
+ return browseRelFile(in_name, lyx::from_utf8(kernel().bufferFilepath()),
title,
FileFilterList(),
false, dir1, dir2);
Index: frontends/controllers/ControlGraphics.h
===================================================================
--- frontends/controllers/ControlGraphics.h (revision 15292)
+++ frontends/controllers/ControlGraphics.h (working copy)
@@ -16,6 +16,9 @@
#include "Dialog.h"
+
+#include "support/docstring.h"
+
#include <utility>
#include <vector>
@@ -46,7 +49,7 @@
InsetGraphicsParams const & params() const { return *params_.get(); }
/// Browse for a file
- std::string const browse(std::string const &) const;
+ lyx::docstring const browse(lyx::docstring const &) const;
/// Read the Bounding Box from a eps or ps-file
std::string const readBB(std::string const & file);
/// Control the bb
Index: frontends/controllers/ControlInclude.C
===================================================================
--- frontends/controllers/ControlInclude.C (revision 15292)
+++ frontends/controllers/ControlInclude.C (working copy)
@@ -72,27 +72,25 @@
}
-string const ControlInclude::browse(string const & in_name, Type in_type) const
+docstring const ControlInclude::browse(docstring const & in_name, Type
in_type) const
{
- // FIXME UNICODE
- string const title = lyx::to_utf8(_("Select document to include"));
+ docstring const title = _("Select document to include");
// input TeX, verbatim, or LyX file ?
FileFilterList filters;
switch (in_type) {
case INCLUDE:
case INPUT:
- // FIXME UNICODE
- filters = FileFilterList(lyx::to_utf8(_("LaTeX/LyX Documents
(*.tex *.lyx)")));
+ filters = FileFilterList(_("LaTeX/LyX Documents (*.tex
*.lyx)"));
break;
case VERBATIM:
break;
}
- pair<string, string> dir1(N_("Documents|#o#O"),
- string(lyxrc.document_path));
+ pair<docstring, docstring> dir1(_("Documents|#o#O"),
+ lyx::from_utf8(lyxrc.document_path));
- string const docpath = onlyPath(kernel().buffer().fileName());
+ docstring const docpath =
lyx::from_utf8(onlyPath(kernel().buffer().fileName()));
return browseRelFile(in_name, docpath, title,
filters, false, dir1);
Index: frontends/controllers/ControlInclude.h
===================================================================
--- frontends/controllers/ControlInclude.h (revision 15292)
+++ frontends/controllers/ControlInclude.h (working copy)
@@ -18,6 +18,8 @@
#include "Dialog.h"
#include "insets/insetcommandparams.h"
+#include "support/docstring.h"
+
namespace lyx {
namespace frontend {
@@ -52,7 +54,7 @@
void setParams(InsetCommandParams const &);
/// Browse for a file
- std::string const browse(std::string const &, Type) const;
+ lyx::docstring const browse(lyx::docstring const &, Type) const;
/// load a file
void load(std::string const & file);
Index: frontends/controllers/ControlPrefs.C
===================================================================
--- frontends/controllers/ControlPrefs.C (revision 15292)
+++ frontends/controllers/ControlPrefs.C (working copy)
@@ -27,6 +27,8 @@
#include <sstream>
+using lyx::docstring;
+
using std::ostringstream;
using std::pair;
using std::string;
@@ -107,51 +109,47 @@
}
-string const ControlPrefs::browsebind(string const & file) const
+docstring const ControlPrefs::browsebind(docstring const & file) const
{
- // FIXME UNICODE
- return browseLibFile("bind", file, "bind",
- lyx::to_utf8(_("Choose bind file")),
- FileFilterList(lyx::to_utf8(_("LyX bind files
(*.bind)"))));
+ return browseLibFile(lyx::from_ascii("bind"), file,
lyx::from_ascii("bind"),
+ _("Choose bind file"),
+ FileFilterList(_("LyX bind files (*.bind)")));
}
-string const ControlPrefs::browseUI(string const & file) const
+docstring const ControlPrefs::browseUI(docstring const & file) const
{
- // FIXME UNICODE
- return browseLibFile("ui", file, "ui",
- lyx::to_utf8(_("Choose UI file")),
- FileFilterList(lyx::to_utf8(_("LyX UI files
(*.ui)"))));
+ return browseLibFile(lyx::from_ascii("ui"), file, lyx::from_ascii("ui"),
+ _("Choose UI file"),
+ FileFilterList(_("LyX UI files (*.ui)")));
}
-string const ControlPrefs::browsekbmap(string const & file) const
+docstring const ControlPrefs::browsekbmap(docstring const & file) const
{
- // FIXME UNICODE
- return browseLibFile("kbd", file, "kmap",
- lyx::to_utf8(_("Choose keyboard map")),
- FileFilterList(lyx::to_utf8(_("LyX keyboard maps
(*.kmap)"))));
+ return browseLibFile(lyx::from_ascii("kbd"), file,
lyx::from_ascii("kmap"),
+ _("Choose keyboard map"),
+ FileFilterList(_("LyX keyboard maps (*.kmap)")));
}
-string const ControlPrefs::browsedict(string const & file) const
+docstring const ControlPrefs::browsedict(docstring const & file) const
{
- // FIXME UNICODE
return browseFile(file,
- lyx::to_utf8(_("Choose personal dictionary")),
- FileFilterList(lyx::to_utf8(_("*.ispell"))));
+ _("Choose personal dictionary"),
+ FileFilterList(_("*.ispell")));
}
-string const ControlPrefs::browse(string const & file,
- string const & title) const
+docstring const ControlPrefs::browse(docstring const & file,
+ docstring const & title) const
{
return browseFile(file, title, FileFilterList(), true);
}
-string const ControlPrefs::browsedir(string const & path,
- string const & title) const
+docstring const ControlPrefs::browsedir(docstring const & path,
+ docstring const & title) const
{
return browseDir(path, title);
}
Index: frontends/controllers/ControlPrefs.h
===================================================================
--- frontends/controllers/ControlPrefs.h (revision 15292)
+++ frontends/controllers/ControlPrefs.h (working copy)
@@ -51,18 +51,18 @@
Movers const & movers() const { return movers_; }
/// various file pickers
- std::string const browsebind(std::string const & file) const;
- std::string const browseUI(std::string const & file) const;
- std::string const browsekbmap(std::string const & file) const;
- std::string const browsedict(std::string const & file) const;
+ lyx::docstring const browsebind(lyx::docstring const & file) const;
+ lyx::docstring const browseUI(lyx::docstring const & file) const;
+ lyx::docstring const browsekbmap(lyx::docstring const & file) const;
+ lyx::docstring const browsedict(lyx::docstring const & file) const;
/// general browse
- std::string const browse(std::string const & file,
- std::string const & title) const;
+ lyx::docstring const browse(lyx::docstring const & file,
+ lyx::docstring const & title) const;
/// browse directory
- std::string const browsedir(std::string const & path,
- std::string const & title) const;
+ lyx::docstring const browsedir(lyx::docstring const & path,
+ lyx::docstring const & title) const;
/// set a color
void setColor(LColor_color col, std::string const & hex);
Index: frontends/controllers/ControlPrint.C
===================================================================
--- frontends/controllers/ControlPrint.C (revision 15292)
+++ frontends/controllers/ControlPrint.C (working copy)
@@ -67,12 +67,11 @@
}
-string const ControlPrint::browse(string const & in_name) const
+docstring const ControlPrint::browse(docstring const & in_name) const
{
- // FIXME UNICODE
- return browseRelFile(in_name, kernel().buffer().filePath(),
- lyx::to_utf8(_("Print to file")),
- FileFilterList(lyx::to_utf8(_("PostScript files
(*.ps)"))),
+ return browseRelFile(in_name,
lyx::from_utf8(kernel().buffer().filePath()),
+ _("Print to file"),
+ FileFilterList(_("PostScript files (*.ps)")),
true);
}
Index: frontends/controllers/ControlPrint.h
===================================================================
--- frontends/controllers/ControlPrint.h (revision 15292)
+++ frontends/controllers/ControlPrint.h (working copy)
@@ -14,6 +14,9 @@
#define CONTROLPRINT_H
#include "Dialog.h"
+
+#include "support/docstring.h"
+
#include <boost/scoped_ptr.hpp>
class PrinterParams;
@@ -39,7 +42,7 @@
virtual kb_action getLfun() const { return LFUN_BUFFER_PRINT; }
/// Browse for a file
- std::string const browse(std::string const &) const;
+ lyx::docstring const browse(lyx::docstring const &) const;
///
PrinterParams & params() const;
private:
Index: frontends/controllers/helper_funcs.C
===================================================================
--- frontends/controllers/helper_funcs.C (revision 15292)
+++ frontends/controllers/helper_funcs.C (working copy)
@@ -23,9 +23,11 @@
#include "support/lstrings.h"
#include "support/package.h"
+using lyx::docstring;
+
using std::pair;
+using std::string;
using std::vector;
-using std::string;
namespace lyx {
@@ -44,16 +46,16 @@
namespace frontend {
-string const browseFile(string const & filename,
- string const & title,
+docstring const browseFile(docstring const & filename,
+ docstring const & title,
FileFilterList const & filters,
bool save,
- pair<string,string> const & dir1,
- pair<string,string> const & dir2)
+ pair<docstring,docstring> const & dir1,
+ pair<docstring,docstring> const & dir2)
{
- string lastPath(".");
+ docstring lastPath = from_ascii(".");
if (!filename.empty())
- lastPath = onlyPath(filename);
+ lastPath = lyx::from_utf8(onlyPath(lyx::to_utf8(filename)));
FileDialog fileDlg(title, LFUN_SELECT_FILE_SYNC, dir1, dir2);
@@ -61,29 +63,31 @@
if (save)
result = fileDlg.save(lastPath, filters,
- onlyFilename(filename));
+
lyx::from_utf8(onlyFilename(lyx::to_utf8(filename))));
else
result = fileDlg.open(lastPath, filters,
- onlyFilename(filename));
+
lyx::from_utf8(onlyFilename(lyx::to_utf8(filename))));
return result.second;
}
-string const browseRelFile(string const & filename,
- string const & refpath,
- string const & title,
+docstring const browseRelFile(docstring const & filename,
+ docstring const & refpath,
+ docstring const & title,
FileFilterList const & filters,
bool save,
- pair<string,string> const & dir1,
- pair<string,string> const & dir2)
+ pair<docstring,docstring> const & dir1,
+ pair<docstring,docstring> const & dir2)
{
- string const fname = makeAbsPath(filename, refpath);
+ docstring const fname = lyx::from_utf8(
+ makeAbsPath(lyx::to_utf8(filename), lyx::to_utf8(refpath)));
- string const outname = browseFile(fname, title, filters, save,
+ docstring const outname = browseFile(fname, title, filters, save,
dir1, dir2);
- string const reloutname = makeRelPath(outname, refpath);
- if (prefixIs(reloutname, "../"))
+ docstring const reloutname = lyx::from_utf8(
+ makeRelPath(lyx::to_utf8(outname), lyx::to_utf8(refpath)));
+ if (prefixIs(lyx::to_utf8(reloutname), "../"))
return outname;
else
return reloutname;
@@ -91,63 +95,64 @@
-string const browseLibFile(string const & dir,
- string const & name,
- string const & ext,
- string const & title,
+docstring const browseLibFile(docstring const & dir,
+ docstring const & name,
+ docstring const & ext,
+ docstring const & title,
FileFilterList const & filters)
{
// FIXME UNICODE
- pair<string,string> const dir1(lyx::to_utf8(_("System files|#S#s")),
- addName(package().system_support(),
dir));
+ pair<docstring, docstring> const dir1(_("System files|#S#s"),
+
lyx::from_utf8(addName(package().system_support(), lyx::to_utf8(dir))));
- pair<string,string> const dir2(lyx::to_utf8(_("User files|#U#u")),
- addName(package().user_support(), dir));
+ pair<docstring, docstring> const dir2(_("User files|#U#u"),
+
lyx::from_utf8(addName(package().user_support(), lyx::to_utf8(dir))));
- string const result = browseFile(libFileSearch(dir, name, ext), title,
- filters, false, dir1, dir2);
+ docstring const result = browseFile(lyx::from_utf8(
+ libFileSearch(lyx::to_utf8(dir), lyx::to_utf8(name),
lyx::to_utf8(ext))),
+ title, filters, false, dir1, dir2);
// remove the extension if it is the default one
- string noextresult;
- if (getExtension(result) == ext)
- noextresult = changeExtension(result, string());
+ docstring noextresult;
+ if (lyx::from_utf8(getExtension(lyx::to_utf8(result))) == ext)
+ noextresult =
lyx::from_utf8(changeExtension(lyx::to_utf8(result), string()));
else
noextresult = result;
// remove the directory, if it is the default one
- string const file = onlyFilename(noextresult);
- if (libFileSearch(dir, file, ext) == result)
+ docstring const file =
lyx::from_utf8(onlyFilename(lyx::to_utf8(noextresult)));
+ if (lyx::from_utf8(libFileSearch(lyx::to_utf8(dir), lyx::to_utf8(file),
lyx::to_utf8(ext))) == result)
return file;
else
return noextresult;
}
-string const browseDir(string const & pathname,
- string const & title,
- pair<string,string> const & dir1,
- pair<string,string> const & dir2)
+docstring const browseDir(docstring const & pathname,
+ docstring const & title,
+ pair<docstring,docstring> const & dir1,
+ pair<docstring,docstring> const & dir2)
{
- string lastPath(".");
+ docstring lastPath = lyx::from_ascii(".");
if (!pathname.empty())
- lastPath = onlyPath(pathname);
+ lastPath = lyx::from_utf8(onlyPath(lyx::to_utf8(pathname)));
FileDialog fileDlg(title, LFUN_SELECT_FILE_SYNC, dir1, dir2);
FileDialog::Result const result =
- fileDlg.opendir(lastPath, onlyFilename(pathname));
+ fileDlg.opendir(lastPath,
lyx::from_utf8(onlyFilename(lyx::to_utf8(pathname))));
return result.second;
}
-vector<string> const getLatexUnits()
+vector<docstring> const getLatexUnits()
{
- vector<string> units;
+ vector<docstring> units;
int i = 0;
char const * str = stringFromUnit(i);
for (; str != 0; ++i, str = stringFromUnit(i))
- units.push_back(str);
+ units.push_back(lyx::from_ascii(str));
return units;
}
Index: frontends/controllers/helper_funcs.h
===================================================================
--- frontends/controllers/helper_funcs.h (revision 15292)
+++ frontends/controllers/helper_funcs.h (working copy)
@@ -12,6 +12,8 @@
#ifndef HELPERFUNCS_H
#define HELPERFUNCS_H
+#include "support/docstring.h"
+
#include <boost/bind.hpp>
#include <utility>
#include <vector>
@@ -34,15 +36,15 @@
pattern: *.ps etc.
dir1 = (name, dir), dir2 = (name, dir): extra buttons on the dialog.
*/
-std::string const
-browseFile(std::string const & filename,
- std::string const & title,
+lyx::docstring const
+browseFile(lyx::docstring const & filename,
+ lyx::docstring const & title,
support::FileFilterList const & filters,
bool save = false,
- std::pair<std::string,std::string> const & dir1 =
- std::make_pair(std::string(), std::string()),
- std::pair<std::string,std::string> const & dir2 =
- std::make_pair(std::string(), std::string()));
+ std::pair<lyx::docstring,lyx::docstring> const & dir1 =
+ std::make_pair(lyx::docstring(), lyx::docstring()),
+ std::pair<lyx::docstring,lyx::docstring> const & dir2 =
+ std::make_pair(lyx::docstring(), lyx::docstring()));
/** Wrapper around browseFile which tries to provide a filename
@@ -51,16 +53,16 @@
of the form "../baz/foo.txt", an absolute path is returned. This is
intended to be useful for insets which encapsulate files/
*/
-std::string const
-browseRelFile(std::string const & filename,
- std::string const & refpath,
- std::string const & title,
+lyx::docstring const
+browseRelFile(lyx::docstring const & filename,
+ lyx::docstring const & refpath,
+ lyx::docstring const & title,
support::FileFilterList const & filters,
bool save = false,
- std::pair<std::string,std::string> const & dir1 =
- std::make_pair(std::string(), std::string()),
- std::pair<std::string,std::string> const & dir2 =
- std::make_pair(std::string(), std::string()));
+ std::pair<lyx::docstring,lyx::docstring> const & dir1 =
+ std::make_pair(lyx::docstring(), lyx::docstring()),
+ std::pair<lyx::docstring,lyx::docstring> const & dir2 =
+ std::make_pair(lyx::docstring(), lyx::docstring()));
/** Wrapper around browseFile which tries to provide a filename
@@ -68,11 +70,11 @@
* parameters have the same meaning as in the
* lyx::support::LibFileSearch function.
*/
-std::string const
-browseLibFile(std::string const & dir,
- std::string const & name,
- std::string const & ext,
- std::string const & title,
+lyx::docstring const
+browseLibFile(lyx::docstring const & dir,
+ lyx::docstring const & name,
+ lyx::docstring const & ext,
+ lyx::docstring const & title,
support::FileFilterList const & filters);
@@ -81,17 +83,17 @@
title: the title of the dialog.
dir1 = (name, dir), dir2 = (name, dir): extra buttons on the dialog.
*/
-std::string const
-browseDir(std::string const & pathname,
- std::string const & title,
- std::pair<std::string,std::string> const & dir1 =
- std::make_pair(std::string(), std::string()),
- std::pair<std::string,std::string> const & dir2 =
- std::make_pair(std::string(), std::string()));
+lyx::docstring const
+browseDir(lyx::docstring const & pathname,
+ lyx::docstring const & title,
+ std::pair<lyx::docstring,lyx::docstring> const & dir1 =
+ std::make_pair(lyx::docstring(), lyx::docstring()),
+ std::pair<lyx::docstring,lyx::docstring> const & dir2 =
+ std::make_pair(lyx::docstring(), lyx::docstring()));
/// Returns a vector of units that can be used to create a valid LaTeX length.
-std::vector<std::string> const getLatexUnits();
+std::vector<lyx::docstring> const getLatexUnits();
/** Functions to extract vectors of the first and second elems from a
Index: frontends/FileDialog.h
===================================================================
--- frontends/FileDialog.h (revision 15292)
+++ frontends/FileDialog.h (working copy)
@@ -15,6 +15,8 @@
#include "lfuns.h"
+#include "support/docstring.h"
+
#include <utility>
#include <string>
@@ -37,7 +39,7 @@
{
public:
/// label, directory path button
- typedef std::pair<std::string, std::string> Button;
+ typedef std::pair<lyx::docstring, lyx::docstring> Button;
/// result type
enum ResultType {
@@ -46,7 +48,7 @@
};
/// result return
- typedef std::pair<FileDialog::ResultType, std::string> Result;
+ typedef std::pair<FileDialog::ResultType, lyx::docstring> Result;
/**
* Constructs a file dialog with title \param title.
@@ -59,27 +61,27 @@
* additional directories in the navigation (an empty
* directory is interpreted as getcwd())
*/
- FileDialog(std::string const & title,
+ FileDialog(lyx::docstring const & title,
kb_action a = LFUN_SELECT_FILE_SYNC,
- Button b1 = Button(std::string(), std::string()),
- Button b2 = Button(std::string(), std::string()));
+ Button b1 = Button(lyx::docstring(), lyx::docstring()),
+ Button b2 = Button(lyx::docstring(), lyx::docstring()));
~FileDialog();
/// Choose a file for opening, starting in directory \c path.
- Result const open(std::string const & path,
+ Result const open(lyx::docstring const & path,
lyx::support::FileFilterList const & filters,
- std::string const & suggested);
+ lyx::docstring const & suggested);
/// Choose a directory, starting in directory \c path.
- Result const opendir(std::string const & path = std::string(),
- std::string const & suggested = std::string());
+ Result const opendir(lyx::docstring const & path = lyx::docstring(),
+ lyx::docstring const & suggested =
lyx::docstring());
/// Choose a file for saving, starting in directory \c path.
- Result const save(std::string const & path,
+ Result const save(lyx::docstring const & path,
lyx::support::FileFilterList const & filters,
- std::string const & suggested);
+ lyx::docstring const & suggested);
private:
class Private;
@@ -87,7 +89,7 @@
Private * private_;
/// the dialog title
- std::string title_;
+ lyx::docstring title_;
/// success action to perform if not synchronous
kb_action success_;
Index: frontends/qt4/FileDialog.C
===================================================================
--- frontends/qt4/FileDialog.C (revision 15292)
+++ frontends/qt4/FileDialog.C (working copy)
@@ -41,9 +41,9 @@
#endif
using lyx::support::FileFilterList;
+using lyx::docstring;
using std::endl;
-using std::string;
class FileDialog::Private {
@@ -53,7 +53,7 @@
};
-FileDialog::FileDialog(string const & t,
+FileDialog::FileDialog(docstring const & t,
kb_action s, Button b1, Button b2)
: private_(new FileDialog::Private), title_(t), success_(s)
{
@@ -68,19 +68,19 @@
}
-FileDialog::Result const FileDialog::save(string const & path,
+FileDialog::Result const FileDialog::save(docstring const & path,
FileFilterList const & filters,
- string const & suggested)
+ docstring const & suggested)
{
- lyxerr[Debug::GUI] << "Select with path \"" << path
- << "\", mask \"" << filters.as_string()
- << "\", suggested \"" << suggested << '"' << endl;
+ lyxerr[Debug::GUI] << "Select with path \"" << lyx::to_utf8(path)
+ << "\", mask \"" << lyx::to_utf8(filters.as_string())
+ << "\", suggested \"" << lyx::to_utf8(suggested) <<
'"' << endl;
FileDialog::Result result;
result.first = FileDialog::Chosen;
#ifdef USE_NATIVE_FILEDIALOG
- string const startsWith = makeAbsPath(suggested, path);
- result.second = fromqstr(QFileDialog::getSaveFileName(
+ docstring const startsWith = makeAbsPath(suggested, path);
+ result.second = qstring_to_ucs4(QFileDialog::getSaveFileName(
qApp->focusWidget(),
title_.c_str(), toqstr(startsWith), toqstr(filters.as_string())
));
#else
@@ -95,26 +95,26 @@
int res = dlg.exec();
lyxerr[Debug::GUI] << "result " << res << endl;
if (res == QDialog::Accepted)
- result.second = fromqstr(dlg.selectedFiles()[0]);
+ result.second = qstring_to_ucs4(dlg.selectedFiles()[0]);
dlg.hide();
#endif
return result;
}
-FileDialog::Result const FileDialog::open(string const & path,
+FileDialog::Result const FileDialog::open(docstring const & path,
FileFilterList const & filters,
- string const & suggested)
+ docstring const & suggested)
{
- lyxerr[Debug::GUI] << "Select with path \"" << path
- << "\", mask \"" << filters.as_string()
- << "\", suggested \"" << suggested << '"' << endl;
+ lyxerr[Debug::GUI] << "Select with path \"" << lyx::to_utf8(path)
+ << "\", mask \"" << lyx::to_utf8(filters.as_string())
+ << "\", suggested \"" << lyx::to_utf8(suggested) <<
'"' << endl;
FileDialog::Result result;
result.first = FileDialog::Chosen;
#ifdef USE_NATIVE_FILEDIALOG
- string const startsWith = makeAbsPath(suggested, path);
- result.second = fromqstr(QFileDialog::getOpenFileName(
+ docstring const startsWith = makeAbsPath(suggested, path);
+ result.second = qstring_to_ucs4(QFileDialog::getOpenFileName(
qApp->focusWidget(),
title_.c_str(), toqstr(startsWith), toqstr(filters.as_string())
));
#else
@@ -127,28 +127,28 @@
int res = dlg.exec();
lyxerr[Debug::GUI] << "result " << res << endl;
if (res == QDialog::Accepted)
- result.second = fromqstr(dlg.selectedFiles()[0]);
+ result.second = qstring_to_ucs4(dlg.selectedFiles()[0]);
dlg.hide();
#endif
return result;
}
-FileDialog::Result const FileDialog::opendir(string const & path,
- string const & suggested)
+FileDialog::Result const FileDialog::opendir(docstring const & path,
+ docstring const & suggested)
{
- lyxerr[Debug::GUI] << "Select with path \"" << path
- << "\", suggested \"" << suggested << '"' << endl;
+ lyxerr[Debug::GUI] << "Select with path \"" << lyx::to_utf8(path)
+ << "\", suggested \"" << lyx::to_utf8(suggested) <<
'"' << endl;
FileDialog::Result result;
result.first = FileDialog::Chosen;
#ifdef USE_NATIVE_FILEDIALOG
- string const startsWith = makeAbsPath(suggested, path);
- result.second = fromqstr(QFileDialog::getExistingDirectory(
+ docstring const startsWith = makeAbsPath(suggested, path);
+ result.second = qstring_to_ucs4(QFileDialog::getExistingDirectory(
qApp->focusWidget(),
title_.c_str(),toqstr(startsWith) ));
#else
- FileFilterList const filter(lyx::to_utf8(_("Directories")));
+ FileFilterList const filter(_("Directories"));
LyXFileDialog dlg(title_, path, filter, private_->b1, private_->b2);
@@ -161,7 +161,7 @@
int res = dlg.exec();
lyxerr[Debug::GUI] << "result " << res << endl;
if (res == QDialog::Accepted)
- result.second = fromqstr(dlg.selectedFiles()[0]);
+ result.second = qstring_to_ucs4(dlg.selectedFiles()[0]);
dlg.hide();
#endif
return result;
Index: frontends/qt4/FileDialog_private.C
===================================================================
--- frontends/qt4/FileDialog_private.C (revision 15292)
+++ frontends/qt4/FileDialog_private.C (working copy)
@@ -22,6 +22,7 @@
#include <QHBoxLayout>
using lyx::support::split;
+using lyx::docstring;
using std::string;
@@ -29,23 +30,25 @@
namespace {
/// return the Qt form of the label
-string const getLabel(string const & str) {
+docstring const getLabel(docstring const & ucs4str) {
+ // FIXME UNICOE
+ string str = lyx::to_utf8(ucs4str);
string label;
string sc(split(str, label, '|'));
if (sc.length() < 2)
- return label;
+ return lyx::from_utf8(label);
string::size_type pos = label.find(sc[1]);
if (pos == string::npos)
- return label;
+ return lyx::from_utf8(label);
label.insert(pos, 1, '&');
- return label;
+ return lyx::from_utf8(label);
}
} // namespace anon
-LyXFileDialog::LyXFileDialog(string const & t,
- string const & p,
+LyXFileDialog::LyXFileDialog(docstring const & t,
+ docstring const & p,
lyx::support::FileFilterList const & filters,
FileDialog::Button const & b1,
FileDialog::Button const & b2)
Index: frontends/qt4/FileDialog_private.h
===================================================================
--- frontends/qt4/FileDialog_private.h (revision 15292)
+++ frontends/qt4/FileDialog_private.h (working copy)
@@ -31,8 +31,8 @@
{
Q_OBJECT
public:
- LyXFileDialog(std::string const & title,
- std::string const & path,
+ LyXFileDialog(lyx::docstring const & title,
+ lyx::docstring const & path,
lyx::support::FileFilterList const & filters,
FileDialog::Button const & b1,
FileDialog::Button const & b2);
@@ -40,10 +40,10 @@
void buttonClicked();
private:
QToolButton * b1_;
- std::string b1_dir_;
+ lyx::docstring b1_dir_;
QToolButton * b2_;
- std::string b2_dir_;
+ lyx::docstring b2_dir_;
};
#endif // FILEDIALOG_PRIVATE_H
Index: frontends/qt4/QBibtexDialog.C
===================================================================
--- frontends/qt4/QBibtexDialog.C (revision 15292)
+++ frontends/qt4/QBibtexDialog.C (working copy)
@@ -117,15 +117,16 @@
void QBibtexDialog::browsePressed()
{
- string const file = form_->controller().browseBst("");
+ docstring const file = form_->controller().browseBst(docstring());
if (!file.empty()) {
- string const filen = changeExtension(file, "");
+ // FIXME UNICODE
+ docstring const filen =
lyx::from_utf8(changeExtension(lyx::to_utf8(file), ""));
bool present = false;
unsigned int pres = 0;
for (int i = 0; i != styleCB->count(); ++i) {
- if (fromqstr(styleCB->itemText(i)) == filen) {
+ if (qstring_to_ucs4(styleCB->itemText(i)) == filen) {
present = true;
pres = i;
}
@@ -142,10 +143,11 @@
void QBibtexDialog::browseBibPressed()
{
- string const file = trim(form_->controller().browseBib(""));
+ docstring const file = trim(form_->controller().browseBib(docstring()));
if (!file.empty()) {
- QString const f = toqstr(changeExtension(file, ""));
+ // FIXME UNICODE
+ QString const f =
toqstr(lyx::from_utf8(changeExtension(lyx::to_utf8(file), "")));
bool present = false;
for (int i = 0; i < add_->bibLW->count(); ++i) {
@@ -173,7 +175,7 @@
void QBibtexDialog::addDatabase()
{
int const sel = add_->bibLW->currentRow();
- string const file = trim(fromqstr(add_->bibED->text()));
+ docstring const file = trim(qstring_to_ucs4(add_->bibED->text()));
if (sel < 0 && file.empty())
return;
@@ -193,7 +195,7 @@
if (!file.empty()) {
add_->bibED->clear();
- QString const f = toqstr(changeExtension(file, ""));
+ QString const f =
toqstr(lyx::from_utf8(changeExtension(lyx::to_utf8(file), "")));
QList<QListWidgetItem *> matches =
databaseLW->findItems(f, Qt::MatchExactly);
if (matches.empty())
Index: frontends/qt4/QExternalDialog.C
===================================================================
--- frontends/qt4/QExternalDialog.C (revision 15292)
+++ frontends/qt4/QExternalDialog.C (working copy)
@@ -144,10 +144,10 @@
void QExternalDialog::browseClicked()
{
int const choice = externalCO->currentIndex();
- string const template_name =
- form_->controller().getTemplate(choice).lyxName;
- string const str =
- form_->controller().browse(fromqstr(fileED->text()),
+ docstring const template_name =
+ lyx::from_utf8(form_->controller().getTemplate(choice).lyxName);
+ docstring const str =
+ form_->controller().browse(qstring_to_ucs4(fileED->text()),
template_name);
fileED->setText(toqstr(str));
form_->changed();
Index: frontends/qt4/QGraphicsDialog.C
===================================================================
--- frontends/qt4/QGraphicsDialog.C (revision 15292)
+++ frontends/qt4/QGraphicsDialog.C (working copy)
@@ -140,8 +140,8 @@
void QGraphicsDialog::browse_clicked()
{
- string const str =
- form_->controller().browse(fromqstr(filename->text()));
+ docstring const str =
+ form_->controller().browse(qstring_to_ucs4(filename->text()));
filename->setText(toqstr(str));
form_->changed();
}
Index: frontends/qt4/QInclude.C
===================================================================
--- frontends/qt4/QInclude.C (revision 15292)
+++ frontends/qt4/QInclude.C (working copy)
@@ -129,7 +129,7 @@
else
type = ControlInclude::VERBATIM;
- string const & name =
controller().browse(fromqstr(dialog_->filenameED->text()), type);
+ docstring const & name =
controller().browse(qstring_to_ucs4(dialog_->filenameED->text()), type);
if (!name.empty())
dialog_->filenameED->setText(toqstr(name));
}
Index: frontends/qt4/QLPrintDialog.C
===================================================================
--- frontends/qt4/QLPrintDialog.C (revision 15292)
+++ frontends/qt4/QLPrintDialog.C (working copy)
@@ -60,7 +60,7 @@
void QLPrintDialog::browseClicked()
{
- QString file = toqstr(form_->controller().browse(""));
+ QString file = toqstr(form_->controller().browse(docstring()));
if (!file.isNull()) {
fileED->setText(file);
form_->changed();
Index: frontends/qt4/QPrefsDialog.C
===================================================================
--- frontends/qt4/QPrefsDialog.C (revision 15292)
+++ frontends/qt4/QPrefsDialog.C (working copy)
@@ -277,7 +277,7 @@
QString PrefKeyboard::testKeymap(QString keymap)
{
- return toqstr(form_->controller().browsekbmap(fromqstr(keymap)));
+ return toqstr(form_->controller().browsekbmap(qstring_to_ucs4(keymap)));
}
@@ -700,11 +700,11 @@
lyxserverDirED->setText(external_path(rc.lyxpipes));
}
-// NB: the lyx::to_utf8(_() is OK here because it gets passed back and we
toqstr()) them
-
void PrefPaths::select_templatedir()
{
- string
file(form_->controller().browsedir(fromqstr(templateDirED->text()),
lyx::to_utf8(_("Select a document templates directory"))));
+ docstring file(form_->controller().browsedir(
+ qstring_to_ucs4(templateDirED->text()),
+ _("Select a document templates directory")));
if (!file.empty())
templateDirED->setText(toqstr(file));
}
@@ -712,7 +712,9 @@
void PrefPaths::select_tempdir()
{
- string file(form_->controller().browsedir(fromqstr(tempDirED->text()),
lyx::to_utf8(_("Select a temporary directory"))));
+ docstring file(form_->controller().browsedir(
+ qstring_to_ucs4(tempDirED->text()),
+ _("Select a temporary directory")));
if (!file.empty())
tempDirED->setText(toqstr(file));
}
@@ -720,7 +722,9 @@
void PrefPaths::select_backupdir()
{
- string
file(form_->controller().browsedir(fromqstr(backupDirED->text()),
lyx::to_utf8(_("Select a backups directory"))));
+ docstring file(form_->controller().browsedir(
+ qstring_to_ucs4(backupDirED->text()),
+ _("Select a backups directory")));
if (!file.empty())
backupDirED->setText(toqstr(file));
}
@@ -728,7 +732,9 @@
void PrefPaths::select_workingdir()
{
- string
file(form_->controller().browsedir(fromqstr(workingDirED->text()),
lyx::to_utf8(_("Select a document directory"))));
+ docstring file(form_->controller().browsedir(
+ qstring_to_ucs4(workingDirED->text()),
+ _("Select a document directory")));
if (!file.empty())
workingDirED->setText(toqstr(file));
}
@@ -736,7 +742,9 @@
void PrefPaths::select_lyxpipe()
{
- string
file(form_->controller().browse(fromqstr(lyxserverDirED->text()),
lyx::to_utf8(_("Give a filename for the LyX server pipe"))));
+ docstring file(form_->controller().browse(
+ qstring_to_ucs4(lyxserverDirED->text()),
+ _("Give a filename for the LyX server pipe")));
if (!file.empty())
lyxserverDirED->setText(toqstr(file));
}
@@ -837,7 +845,7 @@
void PrefSpellchecker::select_dict()
{
- string
file(form_->controller().browsedict(fromqstr(persDictionaryED->text())));
+ docstring
file(form_->controller().browsedict(qstring_to_ucs4(persDictionaryED->text())));
if (!file.empty())
persDictionaryED->setText(toqstr(file));
}
@@ -1136,6 +1144,7 @@
if (row<0)
return;
+ // FIXME UNICODE?
std::string const browser_text =
fromqstr(AllCopiersLW->currentItem()->text());
Format const * fmt = getFormat(browser_text);
@@ -1786,7 +1795,7 @@
void PrefUserInterface::select_ui()
{
- string file(form_->controller().browseUI(fromqstr(uiFileED->text())));
+ docstring
file(form_->controller().browseUI(qstring_to_ucs4(uiFileED->text())));
if (!file.empty())
uiFileED->setText(toqstr(file));
}
@@ -1794,7 +1803,7 @@
void PrefUserInterface::select_bind()
{
- string
file(form_->controller().browsebind(fromqstr(bindFileED->text())));
+ docstring
file(form_->controller().browsebind(qstring_to_ucs4(bindFileED->text())));
if (!file.empty())
bindFileED->setText(toqstr(file));
}
Index: lyx_cb.C
===================================================================
--- lyx_cb.C (revision 15292)
+++ lyx_cb.C (working copy)
@@ -129,27 +129,26 @@
if (filename.empty()) {
- FileDialog fileDlg(lyx::to_utf8(_("Choose a filename to save
document as")),
+ // FIXME UNICODE
+ FileDialog fileDlg(_("Choose a filename to save document as"),
LFUN_BUFFER_WRITE_AS,
- make_pair(string(lyx::to_utf8(_("Documents|#o#O"))),
- string(lyxrc.document_path)),
- make_pair(string(lyx::to_utf8(_("Templates|#T#t"))),
- string(lyxrc.template_path)));
+ make_pair(_("Documents|#o#O"),
lyx::from_utf8(lyxrc.document_path)),
+ make_pair(_("Templates|#T#t"),
lyx::from_utf8(lyxrc.template_path)));
if (!isLyXFilename(fname))
fname += ".lyx";
- FileFilterList const filter (lyx::to_utf8(_("LyX Documents
(*.lyx)")));
+ FileFilterList const filter (_("LyX Documents (*.lyx)"));
FileDialog::Result result =
- fileDlg.save(onlyPath(fname),
+ fileDlg.save(lyx::from_utf8(onlyPath(fname)),
filter,
- onlyFilename(fname));
+ lyx::from_utf8(onlyFilename(fname)));
if (result.first == FileDialog::Later)
return false;
- fname = result.second;
+ fname = lyx::to_utf8(result.second);
if (fname.empty())
return false;
@@ -382,17 +381,17 @@
string fname = f;
if (fname.empty()) {
- FileDialog fileDlg(lyx::to_utf8(_("Select file to insert")),
+ FileDialog fileDlg(_("Select file to insert"),
(asParagraph) ? LFUN_FILE_INSERT_ASCII_PARA :
LFUN_FILE_INSERT_ASCII);
FileDialog::Result result =
- fileDlg.open(bv->buffer()->filePath(),
- FileFilterList(), string());
+ fileDlg.open(lyx::from_utf8(bv->buffer()->filePath()),
+ FileFilterList(), docstring());
if (result.first == FileDialog::Later)
return string();
- fname = result.second;
+ fname = lyx::to_utf8(result.second);
if (fname.empty())
return string();
Index: lyxfunc.C
===================================================================
--- lyxfunc.C (revision 15292)
+++ lyxfunc.C (working copy)
@@ -1707,23 +1707,21 @@
// The template stuff
string templname;
if (fromTemplate) {
- FileDialog fileDlg(lyx::to_utf8(_("Select template file")),
+ FileDialog fileDlg(_("Select template file"),
LFUN_SELECT_FILE_SYNC,
- make_pair(string(lyx::to_utf8(_("Documents|#o#O"))),
- string(lyxrc.document_path)),
- make_pair(string(lyx::to_utf8(_("Templates|#T#t"))),
- string(lyxrc.template_path)));
+ make_pair(_("Documents|#o#O"),
lyx::from_utf8(lyxrc.document_path)),
+ make_pair(_("Templates|#T#t"),
lyx::from_utf8(lyxrc.template_path)));
FileDialog::Result result =
- fileDlg.open(lyxrc.template_path,
- FileFilterList(lyx::to_utf8(_("LyX
Documents (*.lyx)"))),
- string());
+ fileDlg.open(lyx::from_utf8(lyxrc.template_path),
+ FileFilterList(_("LyX Documents (*.lyx)")),
+ docstring());
if (result.first == FileDialog::Later)
return;
if (result.second.empty())
return;
- templname = result.second;
+ templname = lyx::to_utf8(result.second);
}
Buffer * const b = newFile(filename, templname, !name.empty());
@@ -1746,22 +1744,20 @@
string filename;
if (fname.empty()) {
- FileDialog fileDlg(lyx::to_utf8(_("Select document to open")),
+ FileDialog fileDlg(_("Select document to open"),
LFUN_FILE_OPEN,
- make_pair(string(lyx::to_utf8(_("Documents|#o#O"))),
- string(lyxrc.document_path)),
- make_pair(string(lyx::to_utf8(_("Examples|#E#e"))),
- string(addPath(package().system_support(),
"examples"))));
+ make_pair(_("Documents|#o#O"),
lyx::from_utf8(lyxrc.document_path)),
+ make_pair(_("Examples|#E#e"),
lyx::from_utf8(addPath(package().system_support(), "examples"))));
FileDialog::Result result =
- fileDlg.open(initpath,
- FileFilterList(lyx::to_utf8(_("LyX
Documents (*.lyx)"))),
- string());
+ fileDlg.open(lyx::from_utf8(initpath),
+ FileFilterList(_("LyX Documents (*.lyx)")),
+ docstring());
if (result.first == FileDialog::Later)
return;
- filename = result.second;
+ filename = lyx::to_utf8(result.second);
// check selected filename
if (filename.empty()) {
@@ -1823,25 +1819,27 @@
docstring const text = bformat(_("Select %1$s file to import"),
formats.prettyName(format));
- FileDialog fileDlg(lyx::to_utf8(text),
+ FileDialog fileDlg(text,
LFUN_BUFFER_IMPORT,
- make_pair(string(lyx::to_utf8(_("Documents|#o#O"))),
- string(lyxrc.document_path)),
- make_pair(string(lyx::to_utf8(_("Examples|#E#e"))),
- string(addPath(package().system_support(),
"examples"))));
+ make_pair(_("Documents|#o#O"),
lyx::from_utf8(lyxrc.document_path)),
+ make_pair(_("Examples|#E#e"),
+
lyx::from_utf8(addPath(package().system_support(), "examples"))));
- string const filter = lyx::to_utf8(formats.prettyName(format))
- + " (*." + formats.extension(format) + ')';
+ docstring filter = formats.prettyName(format);
+ filter += " (*.";
+ // FIXME UNICODE
+ filter += lyx::from_utf8(formats.extension(format));
+ filter += ')';
FileDialog::Result result =
- fileDlg.open(initpath,
+ fileDlg.open(lyx::from_utf8(initpath),
FileFilterList(filter),
- string());
+ docstring());
if (result.first == FileDialog::Later)
return;
- filename = result.second;
+ filename = lyx::to_utf8(result.second);
// check selected filename
if (filename.empty())
Index: support/filefilterlist.C
===================================================================
--- support/filefilterlist.C (revision 15292)
+++ support/filefilterlist.C (working copy)
@@ -21,6 +21,8 @@
#include <sstream>
+using lyx::docstring;
+
using std::distance;
using std::ostringstream;
using std::string;
@@ -81,7 +83,7 @@
namespace lyx {
namespace support {
-FileFilterList::Filter::Filter(std::string const & description,
+FileFilterList::Filter::Filter(lyx::docstring const & description,
std::string const & globs)
: desc_(description)
{
@@ -99,10 +101,10 @@
}
-FileFilterList::FileFilterList(string const & qt_style_filter)
+FileFilterList::FileFilterList(docstring const & qt_style_filter)
{
// FIXME UNICODE
- string const filter = qt_style_filter
+ string const filter = lyx::to_utf8(qt_style_filter)
+ (qt_style_filter.empty() ? string() : ";;")
+ lyx::to_utf8(_("All files (*)"));
@@ -139,17 +141,19 @@
boost::match_results<string::const_iterator> what;
if (!boost::regex_search(filter, what, filter_re)) {
// Just a glob, no description.
- filters_.push_back(Filter(string(), trim(filter)));
+ filters_.push_back(Filter(docstring(), trim(filter)));
} else {
- string const desc = string(what[1].first, what[1].second);
+ // FIXME UNICODE
+ docstring const desc = lyx::from_utf8(string(what[1].first,
what[1].second));
string const globs = string(what[2].first, what[2].second);
filters_.push_back(Filter(trim(desc), trim(globs)));
}
}
-string const FileFilterList::as_string() const
+docstring const FileFilterList::as_string() const
{
+ // FIXME UNICODE
ostringstream ss;
vector<Filter>::const_iterator fit = filters_.begin();
@@ -165,7 +169,7 @@
bool const has_description = !fit->description().empty();
if (has_description)
- ss << fit->description() << " (";
+ ss << lyx::to_utf8(fit->description()) << " (";
for (Filter::glob_iterator git = gbegin; git != gend; ++git) {
if (git != gbegin)
@@ -177,7 +181,7 @@
ss << ')';
}
- return ss.str();
+ return lyx::from_utf8(ss.str());
}
} // namespace support
Index: support/filefilterlist.h
===================================================================
--- support/filefilterlist.h (revision 15292)
+++ support/filefilterlist.h (working copy)
@@ -12,6 +12,8 @@
#ifndef FILE_FILTER_LIST_H
#define FILE_FILTER_LIST_H
+#include "support/docstring.h"
+
#include <string>
#include <vector>
@@ -26,18 +28,19 @@
*/
class FileFilterList {
public:
+ // FIXME UNICODE: globs_ should be unicode...
class Filter {
- std::string desc_;
+ lyx::docstring desc_;
std::vector<std::string> globs_;
public:
/* \param description text describing the filters.
* \param one or more wildcard patterns, separated by
* whitespace.
*/
- Filter(std::string const & description,
+ Filter(lyx::docstring const & description,
std::string const & globs);
- std::string const & description() const { return desc_; }
+ lyx::docstring const & description() const { return desc_; }
typedef std::vector<std::string>::const_iterator glob_iterator;
glob_iterator begin() const { return globs_.begin(); }
@@ -48,8 +51,8 @@
* Eg. "TeX documents (*.tex);;LyX Documents (*.lyx)".
* The "All files (*)" filter is always added to the list.
*/
- explicit FileFilterList(std::string const & qt_style_filter =
- std::string());
+ explicit FileFilterList(lyx::docstring const & qt_style_filter =
+ lyx::docstring());
typedef std::vector<Filter>::size_type size_type;
@@ -62,7 +65,7 @@
* although any brace expressions are expanded.
* (E.g. "*.{png,jpg}" -> "*.png *.jpg")
*/
- std::string const as_string() const;
+ lyx::docstring const as_string() const;
private:
void parse_filter(std::string const & filter);