#endif
using lyx::support::FileFilterList;
+using lyx::docstring;
using std::endl;
using std::string;
};
-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)
{
}
-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);
+ string const startsWith = makeAbsPath(lyx::to_utf8(suggested), lyx::to_utf8(path));
result.second = fromqstr(
QFileDialog::getSaveFileName(toqstr(startsWith),
toqstr(filters.as_string()),
qApp->focusWidget() ? qApp->focusWidget() : qApp->mainWidget(),
- title_.c_str()));
+ lyx::to_utf8(title_).c_str()));
#else
LyXFileDialog dlg(path, filters, title_, private_->b1, private_->b2);
dlg.setMode(QFileDialog::AnyFile);
int res = dlg.exec();
lyxerr[Debug::GUI] << "result " << res << endl;
if (res == QDialog::Accepted)
- result.second = fromqstr(dlg.selectedFile());
+ result.second = qstring_to_ucs4(dlg.selectedFile());
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);
+ string const startsWith = makeAbsPath(lyx::to_utf8(suggested), lyx::to_utf8(path));
result.second = fromqstr(
QFileDialog::getOpenFileName(toqstr(startsWith),
toqstr(filters.as_string()),
qApp->focusWidget() ? qApp->focusWidget() : qApp->mainWidget(),
- title_.c_str()));
+ lyx::to_utf8(title_).c_str()));
#else
LyXFileDialog dlg(path, filters, title_, private_->b1, private_->b2);
int res = dlg.exec();
lyxerr[Debug::GUI] << "result " << res << endl;
if (res == QDialog::Accepted)
- result.second = fromqstr(dlg.selectedFile());
+ result.second = qstring_to_ucs4(dlg.selectedFile());
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);
+ string const startsWith = makeAbsPath(lyx::to_utf8(suggested), lyx::to_utf8(path));
result.second = fromqstr(
QFileDialog::getExistingDirectory(toqstr(startsWith),
qApp->focusWidget() ? qApp->focusWidget() : qApp->mainWidget(),
- title_.c_str()));
+ lyx::to_utf8(title_).c_str()));
#else
- FileFilterList const filter(lyx::to_utf8(_("Directories")));
+ FileFilterList const filter(_("Directories"));
LyXFileDialog dlg(path, filter, title_, private_->b1, private_->b2);
int res = dlg.exec();
lyxerr[Debug::GUI] << "result " << res << endl;
if (res == QDialog::Accepted)
- result.second = fromqstr(dlg.selectedFile());
+ result.second = qstring_to_ucs4(dlg.selectedFile());
dlg.hide();
#endif
return result;
#include <qtoolbutton.h>
using lyx::support::split;
+using lyx::docstring;
using std::string;
namespace {
/// return the Qt form of the label
-string const getLabel(string const & str) {
- string label;
- string sc(split(str, label, '|'));
+docstring const getLabel(docstring const & str) {
+ docstring label;
+ docstring sc(split(str, label, '|'));
if (sc.length() < 2)
return label;
- string::size_type pos = label.find(sc[1]);
- if (pos == string::npos)
+ docstring::size_type pos = label.find(sc[1]);
+ if (pos == docstring::npos)
return label;
label.insert(pos, 1, '&');
return label;
} // namespace anon
-LyXFileDialog::LyXFileDialog(string const & p,
+LyXFileDialog::LyXFileDialog(docstring const & p,
lyx::support::FileFilterList const & filters,
- string const & t,
+ docstring const & t,
FileDialog::Button const & b1,
FileDialog::Button const & b2)
: QFileDialog(toqstr(p), toqstr(filters.as_string()),
{
Q_OBJECT
public:
- LyXFileDialog(std::string const & path,
+ LyXFileDialog(lyx::docstring const & path,
lyx::support::FileFilterList const & filters,
- std::string const & title,
+ lyx::docstring const & title,
FileDialog::Button const & b1,
FileDialog::Button const & b2);
public slots:
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
void QBibtexDialog::browsePressed()
{
- string const file = form_->controller().browseBst("");
+ string const file = lyx::to_utf8(form_->controller().browseBst(lyx::from_ascii("")));
if (!file.empty()) {
string const filen = changeExtension(file, "");
void QBibtexDialog::browseBibPressed()
{
- string const file = trim(form_->controller().browseBib(""));
+ string const file = trim(lyx::to_utf8(form_->controller().browseBib(lyx::from_ascii(""))));
if (!file.empty()) {
string const f = changeExtension(file, "");
int const choice = externalCO->currentItem();
string const template_name =
form_->controller().getTemplate(choice).lyxName;
- string const str =
- form_->controller().browse(fromqstr(fileED->text()),
- template_name);
+ docstring const str =
+ form_->controller().browse(qstring_to_ucs4(fileED->text()),
+ lyx::from_utf8(template_name));
fileED->setText(toqstr(str));
form_->changed();
}
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();
}
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));
}
void QLPrintDialog::browseClicked()
{
- QString file = toqstr(form_->controller().browse(""));
+ QString file = toqstr(form_->controller().browse(lyx::from_ascii("")));
if (!file.isNull()) {
fileED->setText(file);
form_->changed();
void QPrefsDialog::select_ui()
{
- string file(form_->controller().browseUI(fromqstr(uiModule->uiFileED->text())));
+ docstring file(form_->controller().browseUI(qstring_to_ucs4(uiModule->uiFileED->text())));
if (!file.empty())
uiModule->uiFileED->setText(toqstr(file));
}
void QPrefsDialog::select_bind()
{
- string file(form_->controller().browsebind(fromqstr(uiModule->bindFileED->text())));
+ docstring file(form_->controller().browsebind(qstring_to_ucs4(uiModule->bindFileED->text())));
if (!file.empty())
uiModule->bindFileED->setText(toqstr(file));
}
void QPrefsDialog::select_keymap1()
{
- string file(form_->controller().browsekbmap(fromqstr(keyboardModule->firstKeymapED->text())));
+ docstring file(form_->controller().browsekbmap(qstring_to_ucs4(keyboardModule->firstKeymapED->text())));
if (!file.empty())
keyboardModule->firstKeymapED->setText(toqstr(file));
}
void QPrefsDialog::select_keymap2()
{
- string file(form_->controller().browsekbmap(fromqstr(keyboardModule->secondKeymapED->text())));
+ docstring file(form_->controller().browsekbmap(qstring_to_ucs4(keyboardModule->secondKeymapED->text())));
if (!file.empty())
keyboardModule->secondKeymapED->setText(toqstr(file));
}
void QPrefsDialog::select_dict()
{
- string file(form_->controller().browsedict(fromqstr(spellcheckerModule->persDictionaryED->text())));
+ docstring file(form_->controller().browsedict(qstring_to_ucs4(spellcheckerModule->persDictionaryED->text())));
if (!file.empty())
spellcheckerModule->persDictionaryED->setText(toqstr(file));
}
void QPrefsDialog::select_templatedir()
{
- string file(form_->controller().browsedir(fromqstr(pathsModule->templateDirED->text()), lyx::to_utf8(_("Select a document templates directory"))));
+ docstring file(form_->controller().browsedir(qstring_to_ucs4(pathsModule->templateDirED->text()), _("Select a document templates directory")));
if (!file.empty())
pathsModule->templateDirED->setText(toqstr(file));
}
void QPrefsDialog::select_tempdir()
{
- string file(form_->controller().browsedir(fromqstr(pathsModule->tempDirED->text()), lyx::to_utf8(_("Select a temporary directory"))));
+ docstring file(form_->controller().browsedir(qstring_to_ucs4(pathsModule->tempDirED->text()), _("Select a temporary directory")));
if (!file.empty())
pathsModule->tempDirED->setText(toqstr(file));
}
void QPrefsDialog::select_backupdir()
{
- string file(form_->controller().browsedir(fromqstr(pathsModule->backupDirED->text()), lyx::to_utf8(_("Select a backups directory"))));
+ docstring file(form_->controller().browsedir(qstring_to_ucs4(pathsModule->backupDirED->text()), _("Select a backups directory")));
if (!file.empty())
pathsModule->backupDirED->setText(toqstr(file));
}
void QPrefsDialog::select_workingdir()
{
- string file(form_->controller().browsedir(fromqstr(pathsModule->workingDirED->text()), lyx::to_utf8(_("Select a document directory"))));
+ docstring file(form_->controller().browsedir(qstring_to_ucs4(pathsModule->workingDirED->text()), _("Select a document directory")));
if (!file.empty())
pathsModule->workingDirED->setText(toqstr(file));
}
void QPrefsDialog::select_lyxpipe()
{
- string file(form_->controller().browse(fromqstr(pathsModule->lyxserverDirED->text()), lyx::to_utf8(_("Give a filename for the LyX server pipe"))));
+ docstring file(form_->controller().browse(qstring_to_ucs4(pathsModule->lyxserverDirED->text()), _("Give a filename for the LyX server pipe")));
if (!file.empty())
pathsModule->lyxserverDirED->setText(toqstr(file));
}
}
-string const split(string const & a, string & piece, char delim)
+template<typename String, typename Char> inline
+String const doSplit(String const & a, String & piece, Char delim)
{
- string tmp;
- string::size_type i = a.find(delim);
+ String tmp;
+ typename String::size_type i = a.find(delim);
if (i == a.length() - 1) {
piece = a.substr(0, i);
- } else if (i != string::npos) {
+ } else if (i != String::npos) {
piece = a.substr(0, i);
tmp = a.substr(i + 1);
} else if (i == 0) {
}
+string const split(string const & a, string & piece, char delim)
+{
+ return doSplit(a, piece, delim);
+}
+
+
+docstring const split(docstring const & a, docstring & piece, char_type delim)
+{
+ return doSplit(a, piece, delim);
+}
+
+
string const split(string const & a, char delim)
{
string tmp;
\endcode
*/
std::string const split(std::string const & a, std::string & piece, char delim);
+docstring const split(docstring const & a, docstring & piece, char_type delim);
/// Same as split but does not return a piece
std::string const split(std::string const & a, char delim);