Use AA_DontCreateNativeWidgetSiblings to prevent rendering issues
Start supporting kfiledialog:// URLs
This commit is contained in:
		
					parent
					
						
							
								2abc76e311
							
						
					
				
			
			
				commit
				
					
						ea20a7c157
					
				
			
		
					 1 changed files with 11 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -45,6 +45,7 @@
 | 
			
		|||
#include <KDualAction>
 | 
			
		||||
#include <KIO/FileCopyJob>
 | 
			
		||||
#include <KIO/MimetypeJob>
 | 
			
		||||
#include <KIOFileWidgets/KFileWidget>
 | 
			
		||||
 | 
			
		||||
#ifdef WITH_KFILEMETADATA
 | 
			
		||||
#include <KFileMetaData/kfilemetadata/usermetadata.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -93,6 +94,8 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
 | 
			
		|||
    m_service->setParent(this);
 | 
			
		||||
    setCentralWidget(m_view);
 | 
			
		||||
 | 
			
		||||
    qApp->setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true);
 | 
			
		||||
 | 
			
		||||
    qmlRegisterType<Danbooru::DanbooruPost>("DanbooruClient", 1, 0, "DanbooruPost");
 | 
			
		||||
    qmlRegisterType<Danbooru::DanbooruService>("DanbooruClient", 1, 0, "DanbooruService");
 | 
			
		||||
    qRegisterMetaType<DanbooruPost::Rating>();
 | 
			
		||||
| 
						 | 
				
			
			@ -485,10 +488,15 @@ void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags
 | 
			
		|||
    QString remoteFile = url.fileName();
 | 
			
		||||
 | 
			
		||||
    QPointer<QFileDialog> saveDialog = new QFileDialog(this, i18n("Save image"));
 | 
			
		||||
    QString recentClass;
 | 
			
		||||
 | 
			
		||||
    saveDialog->setAcceptMode(QFileDialog::AcceptSave);
 | 
			
		||||
    saveDialog->setFileMode(QFileDialog::AnyFile);
 | 
			
		||||
    saveDialog->setDirectory(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation));
 | 
			
		||||
    saveDialog->setDirectoryUrl(KFileWidget::getStartUrl(
 | 
			
		||||
        QUrl(QStringLiteral("kfiledialog://danbooru-client")), recentClass));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    saveDialog->setOption(QFileDialog::DontConfirmOverwrite, false);
 | 
			
		||||
 | 
			
		||||
    QStringList filters;
 | 
			
		||||
| 
						 | 
				
			
			@ -514,6 +522,8 @@ void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags
 | 
			
		|||
 | 
			
		||||
       if (result) {
 | 
			
		||||
 | 
			
		||||
        // TODO: KRecentDirs
 | 
			
		||||
 | 
			
		||||
        QUrl localFile = saveDialog->selectedUrls().at(0);
 | 
			
		||||
        if (!localFile.isEmpty()) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue