X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2Fqt_helpers.h;h=dd284a8655099af9de1b77028d41ad0993e43911;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=c2437deb10b213103c1f34ca24a132cadb60c31b;hpb=77821e11c1543d9049a15d7a13b36abf6aa4aa5a;p=lyx.git diff --git a/src/frontends/qt4/qt_helpers.h b/src/frontends/qt4/qt_helpers.h index c2437deb10..dd284a8655 100644 --- a/src/frontends/qt4/qt_helpers.h +++ b/src/frontends/qt4/qt_helpers.h @@ -15,21 +15,24 @@ #include "Length.h" #include "support/qstring_helpers.h" -#include "support/strfwd.h" +#include "qt_i18n.h" -#include +#include class QComboBox; class QLineEdit; class QCheckBox; class QString; class QWidget; +template class QList; class LengthCombo; namespace lyx { -namespace support { class FileFilterList; } +namespace support { class FileName; } + +class BufferParams; namespace frontend { @@ -45,9 +48,20 @@ Length const & len, Length::UNIT default_unit); /// method to set widgets from a string void lengthToWidgets(QLineEdit * input, LengthCombo * combo, std::string const & len, Length::UNIT default_unit); -/// method to set widgets from a Length with optional "auto" if zero -void lengthAutoToWidgets(QLineEdit * input, LengthCombo * combo, -Length const & len, Length::UNIT defaultUnit); +/// method to set widgets from a docstring +void lengthToWidgets(QLineEdit * input, LengthCombo * combo, +docstring const & len, Length::UNIT default_unit); + +/// method to get a double value from a localized widget (QLineEdit) +double widgetToDouble(QLineEdit const * input); +/// method to get a double value from a localized widget (QLineEdit) +std::string widgetToDoubleStr(QLineEdit const * input); +/// method to set a (localized) double value in a widget (QLineEdit) +void doubleToWidget(QLineEdit * input, double const & value, + char f = 'g', int prec = 6); +/// method to set a (localized) double value in a widget (QLineEdit) +void doubleToWidget(QLineEdit * input, std::string const & value, + char f = 'g', int prec = 6); /// colors a widget red if invalid void setValid(QWidget * widget, bool valid); @@ -55,14 +69,6 @@ void setValid(QWidget * widget, bool valid); } // namespace frontend -/** -* qt_ - i18nize string and convert to QString - * - * Use this in qt4/ instead of _() - */ -QString const qt_(char const * str, const char * comment = 0); - - /** * qt_ - i18nize string and convert to QString * @@ -71,28 +77,8 @@ QString const qt_(char const * str, const char * comment = 0); QString const qt_(std::string const & str); /// -typedef std::pair LanguagePair; - -/** If the caller is the character dialog, add "No change" and "Reset" -* to the vector. -*/ -std::vector const getLanguageData(bool character_dlg); - -/** Launch a file dialog and return the chosen file. - filename: a suggested filename. - title: the title of the dialog. - pattern: *.ps etc. - dir1 = (name, dir), dir2 = (name, dir): extra buttons on the dialog. -*/ -docstring browseFile(docstring const & filename, - docstring const & title, - support::FileFilterList const & filters, - bool save = false, - docstring const & label1 = docstring(), - docstring const & dir1 = docstring(), - docstring const & label2 = docstring(), - docstring const & dir2 = docstring()); - +support::FileName libFileSearch(QString const & dir, QString const & name, + QString const & ext = QString()); /** Wrapper around browseFile which tries to provide a filename relative to relpath. If the relative path is of the form "foo.txt" @@ -100,40 +86,15 @@ docstring browseFile(docstring const & filename, of the form "../baz/foo.txt", an absolute path is returned. This is intended to be useful for insets which encapsulate files/ */ -docstring browseRelFile(docstring const & filename, - docstring const & refpath, - docstring const & title, - support::FileFilterList const & filters, +QString browseRelFile(QString const & filename, + QString const & refpath, + QString const & title, + QStringList const & filters, bool save = false, - docstring const & label1 = docstring(), - docstring const & dir1 = docstring(), - docstring const & label2 = docstring(), - docstring const & dir2 = docstring()); - - -/** Wrapper around browseFile which tries to provide a filename -* relative to the user or system directory. The dir, name and ext -* parameters have the same meaning as in the -* support::LibFileSearch function. -*/ -docstring browseLibFile(docstring const & dir, - docstring const & name, - docstring const & ext, - docstring const & title, - support::FileFilterList const & filters); - - -/** Launch a file dialog and return the chosen directory. - pathname: a suggested pathname. - title: the title of the dialog. - dir1 = (name, dir), dir2 = (name, dir): extra buttons on the dialog. -*/ -docstring browseDir(docstring const & pathname, - docstring const & title, - docstring const & label1 = docstring(), - docstring const & dir1 = docstring(), - docstring const & label2 = docstring(), - docstring const & dir2 = docstring()); + QString const & label1 = QString(), + QString const & dir1 = QString(), + QString const & label2 = QString(), + QString const & dir2 = QString()); /** Build filelists of all availabe bst/cls/sty-files. Done through @@ -144,7 +105,40 @@ void rescanTexStyles(); /** Fill \c contents from one of the three texfiles. * Each entry in the file list is returned as a name_with_path */ -void getTexFileList(std::string const & filename, std::vector & contents); +QStringList texFileList(QString const & filename); + +/// Convert internal line endings to line endings as expected by the OS +QString const externalLineEnding(docstring const & str); + +/// Convert line endings in any formnat to internal line endings +docstring const internalLineEnding(QString const & str); + +// wrapper around the docstring versions +QString internalPath(QString const &); +QString onlyFilename(QString const & str); +QString onlyPath(QString const & str); +QStringList fileFilters(QString const & description); + +QString changeExtension(QString const & oldname, QString const & extension); + +/// Remove the extension from \p name +QString removeExtension(QString const & name); + +/** Add the extension \p ext to \p name. + Use this instead of changeExtension if you know that \p name is without + extension, because changeExtension would wrongly interpret \p name if it + contains a dot. + */ +QString addExtension(QString const & name, QString const & extension); + +/// Return the extension of the file (not including the .) +QString getExtension(QString const & name); +QString makeAbsPath(QString const & relpath, QString const & base); +QString changeExtension(QString const & oldname, QString const & ext); + +/// \return the display string associated with given type and buffer +/// parameter. +QString guiName(std::string const & type, BufferParams const & bp); } // namespace lyx