X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fdialogs%2FSaveDialog.cpp;h=281cc77c79a4c4ff97e606e4ce50402159c38242;hb=e28b208d6f953d24bd05927a16775d103714fd36;hp=fff857d41e18679f2b61cf374152f8316ced57a8;hpb=1ce11bc5f6630bf81aa67bdaca411fbea93dc017;p=PrivacyBrowserPC.git
diff --git a/src/dialogs/SaveDialog.cpp b/src/dialogs/SaveDialog.cpp
index fff857d..281cc77 100644
--- a/src/dialogs/SaveDialog.cpp
+++ b/src/dialogs/SaveDialog.cpp
@@ -45,6 +45,7 @@ SaveDialog::SaveDialog(QWebEngineDownloadItem *downloadItemPointer)
saveDialogUi.setupUi(this);
// Get handles for the widgets.
+ QGraphicsView *mimeGraphicsViewPointer = saveDialogUi.mimeGraphicsView;
QLabel *urlLabelPointer = saveDialogUi.urlLabel;
QLabel *filetypeLabelPointer = saveDialogUi.fileTypeLabel;
QLabel *mimeTypeLabelPointer = saveDialogUi.mimeTypeLabel;
@@ -55,15 +56,33 @@ SaveDialog::SaveDialog(QWebEngineDownloadItem *downloadItemPointer)
// Get the URL and the suggested file name.
downloadUrl = downloadItemPointer->url();
suggestedFileName = downloadItemPointer->suggestedFileName();
- QString mimeType = downloadItemPointer->mimeType();
+ QString mimeTypeString = downloadItemPointer->mimeType();
// Get a MIME type database.
QMimeDatabase mimeDatabase;
+ // Get the MIME type.
+ QMimeType mimeType = mimeDatabase.mimeTypeForName(mimeTypeString);
+
+ // Get the MIME type icon.
+ QIcon mimeTypeIcon = QIcon::fromTheme(mimeType.iconName());
+
+ // Create a graphics scene.
+ QGraphicsScene *mimeGraphicsScenePointer = new QGraphicsScene(this);
+
+ // Set the graphics scene.
+ mimeGraphicsViewPointer->setScene(mimeGraphicsScenePointer);
+
+ // Set the background of the graphics view to be the same as the window
+ mimeGraphicsViewPointer->setBackgroundRole(QPalette::Window);
+
+ // Add the MIME type icon to the scene.
+ mimeGraphicsScenePointer->addPixmap(mimeTypeIcon.pixmap(64, 64));
+
// Populate the labels.
urlLabelPointer->setText("" + downloadUrl.toString() + "");
- filetypeLabelPointer->setText("" + mimeDatabase.mimeTypeForName(mimeType).comment() + "");
- mimeTypeLabelPointer->setText("" + mimeType + "");
+ filetypeLabelPointer->setText("" + mimeType.comment() + "");
+ mimeTypeLabelPointer->setText("" + mimeTypeString + "");
// Populate the download size label.
if (downloadItemPointer->totalBytes() == -1) // The file size is unknown.