From c61cabb07547daaa07053eae602a946c7152a294 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Mon, 13 Jul 2020 06:29:48 +0400 Subject: [PATCH] Make qt_make_filter_list a part of file_utilities_linux.cpp --- .../platform/linux/file_utilities_linux.cpp | 22 +++++++++++++--- Telegram/SourceFiles/qt_functions.cpp | 26 ------------------- 2 files changed, 19 insertions(+), 29 deletions(-) diff --git a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp index fa2b2cb0c..4ae87497c 100644 --- a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp @@ -23,8 +23,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION #include - -QStringList qt_make_filter_list(const QString &filter); #endif // !TDESKTOP_DISABLE_GTK_INTEGRATION namespace Platform { @@ -365,6 +363,24 @@ namespace { const char *filterRegExp = "^(.*)\\(([a-zA-Z0-9_.,*? +;#\\-\\[\\]@\\{\\}/!<>\\$%&=^~:\\|]*)\\)$"; +QStringList makeFilterList(const QString &filter) { + QString f(filter); + + if (f.isEmpty()) + return QStringList(); + + QString sep(QLatin1String(";;")); + int i = f.indexOf(sep, 0); + if (i == -1) { + if (f.indexOf(QLatin1Char('\n'), 0) != -1) { + sep = QLatin1Char('\n'); + i = f.indexOf(sep, 0); + } + } + + return f.split(sep); +} + // Makes a list of filters from a normal filter string "Image Files (*.png *.jpg)" QStringList cleanFilterList(const QString &filter) { QRegExp regexp(QString::fromLatin1(filterRegExp)); @@ -382,7 +398,7 @@ QStringList cleanFilterList(const QString &filter) { GtkFileDialog::GtkFileDialog(QWidget *parent, const QString &caption, const QString &directory, const QString &filter) : QDialog(parent) , _windowTitle(caption) , _initialDirectory(directory) { - auto filters = qt_make_filter_list(filter); + auto filters = makeFilterList(filter); const int numFilters = filters.count(); _nameFilters.reserve(numFilters); for (int i = 0; i < numFilters; ++i) { diff --git a/Telegram/SourceFiles/qt_functions.cpp b/Telegram/SourceFiles/qt_functions.cpp index 5a9117773..9067963ed 100644 --- a/Telegram/SourceFiles/qt_functions.cpp +++ b/Telegram/SourceFiles/qt_functions.cpp @@ -34,34 +34,8 @@ // For QTextItemInt declaraion #include -#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION /* TODO: find a dynamic library with these symbols. */ -/* Debian maintainer: this function is taken from qfiledialog.cpp */ -/* - Makes a list of filters from ;;-separated text. - Used by the mac and windows implementations -*/ -QStringList qt_make_filter_list(const QString &filter) -{ - QString f(filter); - - if (f.isEmpty()) - return QStringList(); - - QString sep(QLatin1String(";;")); - int i = f.indexOf(sep, 0); - if (i == -1) { - if (f.indexOf(QLatin1Char('\n'), 0) != -1) { - sep = QLatin1Char('\n'); - i = f.indexOf(sep, 0); - } - } - - return f.split(sep); -} -#endif // !TDESKTOP_DISABLE_GTK_INTEGRATION - /* Debian maintainer: this constructor is taken from qtextengine.cpp for TextPainter::drawLine */ QTextItemInt::QTextItemInt(const QGlyphLayout &g, QFont *font, const QChar *chars_, int numChars, QFontEngine *fe, const QTextCharFormat &format) : flags(0), justified(false), underlineStyle(QTextCharFormat::NoUnderline), charFormat(format),