mirror of
https://github.com/ONLYOFFICE/desktop-apps.git
synced 2026-04-07 14:09:22 +08:00
[win-nix] fix bug 32225
This commit is contained in:
@ -37,6 +37,7 @@
|
||||
|
||||
#include "../Common/OfficeFileFormats.h"
|
||||
|
||||
#include <QList>
|
||||
#include <QDebug>
|
||||
|
||||
#if defined(_WIN32)
|
||||
@ -71,7 +72,6 @@ CFileDialogWrapper::CFileDialogWrapper(QWidget * parent) : QObject(parent)
|
||||
m_mapFilters[AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF] = tr("PDF File (*.pdf)");
|
||||
m_mapFilters[AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_DJVU] = tr("DJVU File (*.djvu)");
|
||||
m_mapFilters[AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_XPS] = tr("XPS File (*.xps)");
|
||||
|
||||
}
|
||||
|
||||
CFileDialogWrapper::~CFileDialogWrapper()
|
||||
@ -169,8 +169,12 @@ QString CFileDialogWrapper::getFilter(const QString& extension) const
|
||||
|
||||
QString CFileDialogWrapper::modalOpen(const QString& path, const QString& filter)
|
||||
{
|
||||
QString _filter_ = filter.length() ? filter : tr("All files (*.*)");
|
||||
QString _sel_filter = tr("All files (*.*)");
|
||||
QString _filter_ = filter;
|
||||
if ( _filter_.isEmpty() ) {
|
||||
_filter_ = joinFilters();
|
||||
}
|
||||
|
||||
QString _sel_filter = m_mapFilters[AVS_OFFICESTUDIO_FILE_UNKNOWN];
|
||||
// QWidget * p = qobject_cast<QWidget *>(parent());
|
||||
|
||||
return QFileDialog::getOpenFileName(
|
||||
@ -216,3 +220,33 @@ int CFileDialogWrapper::getFormat()
|
||||
{
|
||||
return m_format;
|
||||
}
|
||||
|
||||
QString CFileDialogWrapper::joinFilters() const
|
||||
{
|
||||
auto _get_all_exts = [] (const QList<QString>& l) {
|
||||
QRegExp re("[\\w\\s]+\\((\\*\\.\\w+)\\)");
|
||||
QString extns;
|
||||
for ( auto f : l ) {
|
||||
if ( !(re.indexIn(f) < 0) ) {
|
||||
if ( !extns.isEmpty() )
|
||||
extns.append(" ");
|
||||
|
||||
extns.append( re.cap(1) );
|
||||
}
|
||||
}
|
||||
|
||||
return extns;
|
||||
};
|
||||
|
||||
QString _out;
|
||||
QList<QString> _vl(m_mapFilters.values());
|
||||
// _vl.insert(1, tr("All supported documents") + " (" + _get_all_exts(_vl) + ")");
|
||||
for ( auto f : _vl ) {
|
||||
if ( !_out.isEmpty() )
|
||||
_out.append(";;");
|
||||
|
||||
_out.append(f);
|
||||
}
|
||||
|
||||
return _out;
|
||||
}
|
||||
|
||||
@ -65,6 +65,7 @@ public:
|
||||
private:
|
||||
QString getFilter(const QString&) const;
|
||||
int getKey(const QString &value);
|
||||
QString joinFilters() const;
|
||||
|
||||
QString m_filters;
|
||||
QMap<int, QString> m_mapFilters;
|
||||
|
||||
@ -33,8 +33,8 @@
|
||||
#ifndef VERSION_H
|
||||
#define VERSION_H
|
||||
|
||||
#define VER_FILEVERSION 4,3,3,332
|
||||
#define VER_FILEVERSION_STR "4.3.3.332\0"
|
||||
#define VER_FILEVERSION 4,3,3,334
|
||||
#define VER_FILEVERSION_STR "4.3.3.334\0"
|
||||
|
||||
#define VER_PRODUCTVERSION VER_FILEVERSION
|
||||
#define VER_PRODUCTVERSION_STR "4.3\0"
|
||||
|
||||
Reference in New Issue
Block a user