File filter

Display extensions
This commit is contained in:
stojce 2014-01-11 21:03:49 +01:00
parent d81968df51
commit 623def0964
4 changed files with 22 additions and 17 deletions

View file

@ -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;
} }

View file

@ -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);

View file

@ -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;
}; };

View file

@ -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()));
} }