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 <KDualAction>
 | 
				
			||||||
#include <KIO/FileCopyJob>
 | 
					#include <KIO/FileCopyJob>
 | 
				
			||||||
#include <KIO/MimetypeJob>
 | 
					#include <KIO/MimetypeJob>
 | 
				
			||||||
 | 
					#include <KIOFileWidgets/KFileWidget>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef WITH_KFILEMETADATA
 | 
					#ifdef WITH_KFILEMETADATA
 | 
				
			||||||
#include <KFileMetaData/kfilemetadata/usermetadata.h>
 | 
					#include <KFileMetaData/kfilemetadata/usermetadata.h>
 | 
				
			||||||
| 
						 | 
					@ -93,6 +94,8 @@ DanbooruMainWindow::DanbooruMainWindow(QWidget *parent)
 | 
				
			||||||
    m_service->setParent(this);
 | 
					    m_service->setParent(this);
 | 
				
			||||||
    setCentralWidget(m_view);
 | 
					    setCentralWidget(m_view);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    qApp->setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    qmlRegisterType<Danbooru::DanbooruPost>("DanbooruClient", 1, 0, "DanbooruPost");
 | 
					    qmlRegisterType<Danbooru::DanbooruPost>("DanbooruClient", 1, 0, "DanbooruPost");
 | 
				
			||||||
    qmlRegisterType<Danbooru::DanbooruService>("DanbooruClient", 1, 0, "DanbooruService");
 | 
					    qmlRegisterType<Danbooru::DanbooruService>("DanbooruClient", 1, 0, "DanbooruService");
 | 
				
			||||||
    qRegisterMetaType<DanbooruPost::Rating>();
 | 
					    qRegisterMetaType<DanbooruPost::Rating>();
 | 
				
			||||||
| 
						 | 
					@ -485,10 +488,15 @@ void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags
 | 
				
			||||||
    QString remoteFile = url.fileName();
 | 
					    QString remoteFile = url.fileName();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QPointer<QFileDialog> saveDialog = new QFileDialog(this, i18n("Save image"));
 | 
					    QPointer<QFileDialog> saveDialog = new QFileDialog(this, i18n("Save image"));
 | 
				
			||||||
 | 
					    QString recentClass;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    saveDialog->setAcceptMode(QFileDialog::AcceptSave);
 | 
					    saveDialog->setAcceptMode(QFileDialog::AcceptSave);
 | 
				
			||||||
    saveDialog->setFileMode(QFileDialog::AnyFile);
 | 
					    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);
 | 
					    saveDialog->setOption(QFileDialog::DontConfirmOverwrite, false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QStringList filters;
 | 
					    QStringList filters;
 | 
				
			||||||
| 
						 | 
					@ -514,6 +522,8 @@ void DanbooruMainWindow::slotHandleDownload(const QUrl &url, const QVariant tags
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       if (result) {
 | 
					       if (result) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // TODO: KRecentDirs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        QUrl localFile = saveDialog->selectedUrls().at(0);
 | 
					        QUrl localFile = saveDialog->selectedUrls().at(0);
 | 
				
			||||||
        if (!localFile.isEmpty()) {
 | 
					        if (!localFile.isEmpty()) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue