mirror of
https://github.com/overte-org/overte.git
synced 2025-08-07 18:10:37 +02:00
File filter
Display extensions
This commit is contained in:
parent
d81968df51
commit
623def0964
4 changed files with 22 additions and 17 deletions
|
@ -71,15 +71,10 @@ QTreeView QHeaderView:section {
|
||||||
}
|
}
|
||||||
|
|
||||||
QTreeView::item {
|
QTreeView::item {
|
||||||
height: 30px;
|
padding: 7px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
QListView::item:selected,
|
QTreeView::item:selected {
|
||||||
QListView::item:selected:active,
|
|
||||||
QTreeView::item:selected,
|
|
||||||
QTreeView::item:selected:active {
|
|
||||||
background: #BDE4E3;
|
background: #BDE4E3;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,17 +72,28 @@ QIcon HiFiIconProvider::icon(const QFileInfo &info) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
QFileInfo iconFile("resources/icons/" + iconsMap[ext]);
|
QFileInfo iconFile("resources/icons/" + iconsMap[ext]);
|
||||||
if (iconFile.exists()) {
|
if (iconFile.exists() && iconFile.isFile()) {
|
||||||
return QIcon(iconFile.filePath());
|
return QIcon(iconFile.filePath());
|
||||||
}
|
}
|
||||||
|
|
||||||
return QIcon("resources/icons/file.svg");
|
return QIcon("resources/icons/file.svg");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString HiFiIconProvider::type(const QFileInfo &info) const {
|
||||||
|
if (info.isFile()) {
|
||||||
|
if (info.suffix().size() > 4) {
|
||||||
|
return info.suffix().at(0).toUpper() + info.suffix().mid(1);
|
||||||
|
}
|
||||||
|
return info.suffix().toUpper();
|
||||||
|
}
|
||||||
|
|
||||||
|
return QFileIconProvider::type(info);
|
||||||
|
}
|
||||||
|
|
||||||
ImportDialog::ImportDialog(QWidget *parent) :
|
ImportDialog::ImportDialog(QWidget *parent) :
|
||||||
QFileDialog(parent, WINDOW_NAME, DESKTOP_LOCATION, NULL),
|
QFileDialog(parent, WINDOW_NAME, DESKTOP_LOCATION, NULL),
|
||||||
_importButton(IMPORT_BUTTON_NAME, this),
|
_importButton(IMPORT_BUTTON_NAME, this),
|
||||||
_cancelButton(CANCEL_BUTTON_NAME, this) {
|
_cancelButton(CANCEL_BUTTON_NAME, this) {
|
||||||
|
|
||||||
setOption(QFileDialog::DontUseNativeDialog, true);
|
setOption(QFileDialog::DontUseNativeDialog, true);
|
||||||
setFileMode(QFileDialog::ExistingFile);
|
setFileMode(QFileDialog::ExistingFile);
|
||||||
|
@ -96,8 +107,8 @@ ImportDialog::ImportDialog(QWidget *parent) :
|
||||||
gridLayout->addWidget(&_importButton, 2, 2);
|
gridLayout->addWidget(&_importButton, 2, 2);
|
||||||
|
|
||||||
connect(&_importButton, SIGNAL(pressed()), SLOT(import()));
|
connect(&_importButton, SIGNAL(pressed()), SLOT(import()));
|
||||||
connect(this, SIGNAL(currentChanged(QString)), SLOT(saveCurrentFile(QString)));
|
|
||||||
connect(&_cancelButton, SIGNAL(pressed()), SLOT(close()));
|
connect(&_cancelButton, SIGNAL(pressed()), SLOT(close()));
|
||||||
|
connect(this, SIGNAL(currentChanged(QString)), SLOT(saveCurrentFile(QString)));
|
||||||
}
|
}
|
||||||
|
|
||||||
ImportDialog::~ImportDialog() {
|
ImportDialog::~ImportDialog() {
|
||||||
|
@ -210,7 +221,7 @@ void ImportDialog::setImportTypes() {
|
||||||
if (!document.isNull() && !document.isEmpty()) {
|
if (!document.isNull() && !document.isEmpty()) {
|
||||||
|
|
||||||
QString importFormatsInfo;
|
QString importFormatsInfo;
|
||||||
QStringList importFormatsFilterList;
|
QString importFormatsFilterList;
|
||||||
QHash<QString, QString> iconsMap;
|
QHash<QString, QString> iconsMap;
|
||||||
|
|
||||||
QJsonObject configObject = document.object();
|
QJsonObject configObject = document.object();
|
||||||
|
@ -233,7 +244,7 @@ void ImportDialog::setImportTypes() {
|
||||||
importFormatsInfo.append(" or");
|
importFormatsInfo.append(" or");
|
||||||
}
|
}
|
||||||
|
|
||||||
importFormatsFilterList.append(QString("%1 (*.%2)").arg(description, ext));
|
importFormatsFilterList.append(QString("*.%1 ").arg(ext));
|
||||||
importFormatsInfo.append(" .").append(ext);
|
importFormatsInfo.append(" .").append(ext);
|
||||||
iconsMap[ext] = icon;
|
iconsMap[ext] = icon;
|
||||||
ff++;
|
ff++;
|
||||||
|
@ -242,8 +253,7 @@ void ImportDialog::setImportTypes() {
|
||||||
|
|
||||||
// set custom file icons
|
// set custom file icons
|
||||||
setIconProvider(new HiFiIconProvider(iconsMap));
|
setIconProvider(new HiFiIconProvider(iconsMap));
|
||||||
|
setNameFilter(importFormatsFilterList);
|
||||||
setNameFilters(importFormatsFilterList);
|
|
||||||
|
|
||||||
setLabelText(QFileDialog::LookIn, QString(IMPORT_INFO).arg(importFormatsInfo));
|
setLabelText(QFileDialog::LookIn, QString(IMPORT_INFO).arg(importFormatsInfo));
|
||||||
setLabelText(QFileDialog::FileName, INFO_LABEL_TEXT);
|
setLabelText(QFileDialog::FileName, INFO_LABEL_TEXT);
|
||||||
|
|
|
@ -22,6 +22,7 @@ public:
|
||||||
HiFiIconProvider(const QHash<QString, QString> map) { iconsMap = map; };
|
HiFiIconProvider(const QHash<QString, QString> map) { iconsMap = map; };
|
||||||
virtual QIcon icon(IconType type) const;
|
virtual QIcon icon(IconType type) const;
|
||||||
virtual QIcon icon(const QFileInfo &info) const;
|
virtual QIcon icon(const QFileInfo &info) const;
|
||||||
|
virtual QString type(const QFileInfo &info) const;
|
||||||
QHash<QString, QString> iconsMap;
|
QHash<QString, QString> iconsMap;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ VoxelImporter::VoxelImporter(QWidget* parent)
|
||||||
_currentTask(NULL),
|
_currentTask(NULL),
|
||||||
_nextTask(NULL) {
|
_nextTask(NULL) {
|
||||||
|
|
||||||
connect(&_importDialog, SIGNAL(previewToggled(bool)), SLOT(preImport()));
|
|
||||||
connect(&_importDialog, SIGNAL(currentChanged(QString)), SLOT(preImport()));
|
connect(&_importDialog, SIGNAL(currentChanged(QString)), SLOT(preImport()));
|
||||||
connect(&_importDialog, SIGNAL(accepted()), SLOT(import()));
|
connect(&_importDialog, SIGNAL(accepted()), SLOT(import()));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue