saveDialogUi.setupUi(this);
// Get handles for the widgets.
+ QGraphicsView *mimeGraphicsViewPointer = saveDialogUi.mimeGraphicsView;
QLabel *urlLabelPointer = saveDialogUi.urlLabel;
QLabel *filetypeLabelPointer = saveDialogUi.fileTypeLabel;
QLabel *mimeTypeLabelPointer = saveDialogUi.mimeTypeLabel;
// 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("<b>" + downloadUrl.toString() + "</b>");
- filetypeLabelPointer->setText("<b>" + mimeDatabase.mimeTypeForName(mimeType).comment() + "</b>");
- mimeTypeLabelPointer->setText("<b>" + mimeType + "</b>");
+ filetypeLabelPointer->setText("<b>" + mimeType.comment() + "</b>");
+ mimeTypeLabelPointer->setText("<b>" + mimeTypeString + "</b>");
// Populate the download size label.
if (downloadItemPointer->totalBytes() == -1) // The file size is unknown.