Workaround for Qt bug: Don't use "native" FileOpen dialog when Themes are disabled.
This commit is contained in:
parent
8f4fae7fda
commit
1c9cb08b75
@ -577,7 +577,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Add folder</source>
|
||||
<translation>Ordner Erstellen</translation>
|
||||
<translation>Ordner Hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New Folder</source>
|
||||
|
Binary file not shown.
@ -25,7 +25,7 @@
|
||||
#define VER_LAMEXP_MAJOR 4
|
||||
#define VER_LAMEXP_MINOR_HI 0
|
||||
#define VER_LAMEXP_MINOR_LO 0
|
||||
#define VER_LAMEXP_BUILD 212
|
||||
#define VER_LAMEXP_BUILD 213
|
||||
#define VER_LAMEXP_SUFFIX TechPreview
|
||||
|
||||
/*
|
||||
|
@ -71,6 +71,7 @@
|
||||
#define SET_FONT_BOLD(WIDGET,BOLD) { QFont _font = WIDGET->font(); _font.setBold(BOLD); WIDGET->setFont(_font); }
|
||||
#define FLASH_WINDOW(WND) { FLASHWINFO flashInfo; memset(&flashInfo, 0, sizeof(FLASHWINFO)); flashInfo.cbSize = sizeof(FLASHWINFO); flashInfo.dwFlags = FLASHW_ALL; flashInfo.uCount = 12; flashInfo.dwTimeout = 125; flashInfo.hwnd = WND->winId(); FlashWindowEx(&flashInfo); }
|
||||
#define LINK(URL) QString("<a href=\"%1\">%2</a>").arg(URL).arg(URL)
|
||||
#define TEMP_HIDE_DROPBOX(CMD) { bool __dropBoxVisible = m_dropBox->isVisible(); if(__dropBoxVisible) m_dropBox->hide(); CMD; if(__dropBoxVisible) m_dropBox->show(); }
|
||||
|
||||
//Helper class
|
||||
class Index: public QObjectUserData
|
||||
@ -706,11 +707,13 @@ void MainWindow::windowShown(void)
|
||||
void MainWindow::aboutButtonClicked(void)
|
||||
{
|
||||
ABORT_IF_BUSY;
|
||||
if(m_dropBox->isVisible()) m_dropBox->hide();
|
||||
AboutDialog *aboutBox = new AboutDialog(m_settings, this);
|
||||
aboutBox->exec();
|
||||
LAMEXP_DELETE(aboutBox);
|
||||
if(m_settings->dropBoxWidgetEnabled()) m_dropBox->show();
|
||||
|
||||
TEMP_HIDE_DROPBOX
|
||||
(
|
||||
AboutDialog *aboutBox = new AboutDialog(m_settings, this);
|
||||
aboutBox->exec();
|
||||
LAMEXP_DELETE(aboutBox);
|
||||
)
|
||||
}
|
||||
|
||||
/*
|
||||
@ -799,9 +802,30 @@ void MainWindow::closeButtonClicked(void)
|
||||
void MainWindow::addFilesButtonClicked(void)
|
||||
{
|
||||
ABORT_IF_BUSY;
|
||||
QStringList fileTypeFilters = DecoderRegistry::getSupportedTypes();
|
||||
QStringList selectedFiles = QFileDialog::getOpenFileNames(this, tr("Add file(s)"), QString(), fileTypeFilters.join(";;"));
|
||||
addFiles(selectedFiles);
|
||||
|
||||
TEMP_HIDE_DROPBOX
|
||||
(
|
||||
if(lamexp_themes_enabled())
|
||||
{
|
||||
QStringList fileTypeFilters = DecoderRegistry::getSupportedTypes();
|
||||
QStringList selectedFiles = QFileDialog::getOpenFileNames(this, tr("Add file(s)"), QString(), fileTypeFilters.join(";;"));
|
||||
if(!selectedFiles.isEmpty())
|
||||
{
|
||||
addFiles(selectedFiles);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
QFileDialog dialog(this, tr("Add file(s)"));
|
||||
QStringList fileTypeFilters = DecoderRegistry::getSupportedTypes();
|
||||
dialog.setNameFilter(fileTypeFilters.join(";;"));
|
||||
if(dialog.exec())
|
||||
{
|
||||
QStringList selectedFiles = dialog.selectedFiles();
|
||||
addFiles(selectedFiles);
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
/*
|
||||
@ -810,21 +834,39 @@ void MainWindow::addFilesButtonClicked(void)
|
||||
void MainWindow::openFolderActionActivated(void)
|
||||
{
|
||||
ABORT_IF_BUSY;
|
||||
QString selectedFolder = QFileDialog::getExistingDirectory(this, tr("Add folder"), QDesktopServices::storageLocation(QDesktopServices::MusicLocation));
|
||||
QString selectedFolder;
|
||||
|
||||
if(!selectedFolder.isEmpty())
|
||||
{
|
||||
QDir sourceDir(selectedFolder);
|
||||
QFileInfoList fileInfoList = sourceDir.entryInfoList(QDir::Files);
|
||||
QStringList fileList;
|
||||
|
||||
while(!fileInfoList.isEmpty())
|
||||
TEMP_HIDE_DROPBOX
|
||||
(
|
||||
if(lamexp_themes_enabled())
|
||||
{
|
||||
fileList << fileInfoList.takeFirst().canonicalFilePath();
|
||||
selectedFolder = QFileDialog::getExistingDirectory(this, tr("Add folder"), QDesktopServices::storageLocation(QDesktopServices::MusicLocation));
|
||||
}
|
||||
else
|
||||
{
|
||||
QFileDialog dialog(this, tr("Add folder"));
|
||||
dialog.setFileMode(QFileDialog::DirectoryOnly);
|
||||
dialog.setDirectory(QDesktopServices::storageLocation(QDesktopServices::MusicLocation));
|
||||
if(dialog.exec())
|
||||
{
|
||||
selectedFolder = dialog.selectedFiles().first();
|
||||
}
|
||||
}
|
||||
|
||||
addFiles(fileList);
|
||||
}
|
||||
if(!selectedFolder.isEmpty())
|
||||
{
|
||||
QDir sourceDir(selectedFolder);
|
||||
QFileInfoList fileInfoList = sourceDir.entryInfoList(QDir::Files);
|
||||
QStringList fileList;
|
||||
|
||||
while(!fileInfoList.isEmpty())
|
||||
{
|
||||
fileList << fileInfoList.takeFirst().canonicalFilePath();
|
||||
}
|
||||
|
||||
addFiles(fileList);
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1206,17 +1248,16 @@ void MainWindow::checkUpdatesActionActivated(void)
|
||||
{
|
||||
ABORT_IF_BUSY;
|
||||
|
||||
if(m_dropBox->isVisible()) m_dropBox->hide();
|
||||
UpdateDialog *updateDialog = new UpdateDialog(m_settings, this);
|
||||
|
||||
updateDialog->exec();
|
||||
if(updateDialog->getSuccess())
|
||||
{
|
||||
m_settings->autoUpdateLastCheck(QDate::currentDate().toString(Qt::ISODate));
|
||||
}
|
||||
|
||||
LAMEXP_DELETE(updateDialog);
|
||||
if(m_settings->dropBoxWidgetEnabled()) m_dropBox->show();
|
||||
TEMP_HIDE_DROPBOX
|
||||
(
|
||||
UpdateDialog *updateDialog = new UpdateDialog(m_settings, this);
|
||||
updateDialog->exec();
|
||||
if(updateDialog->getSuccess())
|
||||
{
|
||||
m_settings->autoUpdateLastCheck(QDate::currentDate().toString(Qt::ISODate));
|
||||
}
|
||||
LAMEXP_DELETE(updateDialog);
|
||||
)
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user