X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3e95a6cccc76d61473a2815457beefaaae62ec7c..e9bd295b:/src/panels/information/informationpanelcontent.cpp diff --git a/src/panels/information/informationpanelcontent.cpp b/src/panels/information/informationpanelcontent.cpp index 98c012243..a1e8d1b1d 100644 --- a/src/panels/information/informationpanelcontent.cpp +++ b/src/panels/information/informationpanelcontent.cpp @@ -23,9 +23,6 @@ #include -#include -#include - #include #include @@ -60,7 +57,6 @@ InformationPanelContent::InformationPanelContent(QWidget* parent) : m_nameLabel(nullptr), m_metaDataWidget(nullptr), m_metaDataArea(nullptr), - m_placesItemModel(nullptr), m_isVideo(false) { parent->installEventFilter(this); @@ -151,8 +147,6 @@ InformationPanelContent::InformationPanelContent(QWidget* parent) : layout->addWidget(m_configureButtons); grabGesture(Qt::TapAndHoldGesture); - - m_placesItemModel = new PlacesItemModel(this); } InformationPanelContent::~InformationPanelContent() @@ -193,7 +187,7 @@ void InformationPanelContent::refreshPixmapView() QSize(m_preview->width(), m_preview->height()), &plugins); m_previewJob->setScaleType(KIO::PreviewJob::Unscaled); - m_previewJob->setIgnoreMaximumSize(m_item.isLocalFile()); + m_previewJob->setIgnoreMaximumSize(m_item.isLocalFile() && !m_item.isSlow()); if (m_previewJob->uiDelegate()) { KJobWidgets::setWindow(m_previewJob, this); } @@ -391,22 +385,25 @@ void InformationPanelContent::showPreview(const KFileItem& item, KIconLoader::global()->drawOverlays(item.overlays(), p, KIconLoader::Desktop); if (m_isVideo) { - // adds a play arrow + // adds a play arrow overlay + + auto maxDim = qMax(p.width(), p.height()); + auto arrowSize = qMax(PLAY_ARROW_SIZE, maxDim / 8); // compute relative pixel positions - const int zeroX = static_cast((p.width() / 2 - PLAY_ARROW_SIZE / 2) / pixmap.devicePixelRatio()); - const int zeroY = static_cast((p.height() / 2 - PLAY_ARROW_SIZE / 2) / pixmap.devicePixelRatio()); + const int zeroX = static_cast((p.width() / 2 - arrowSize / 2) / pixmap.devicePixelRatio()); + const int zeroY = static_cast((p.height() / 2 - arrowSize / 2) / pixmap.devicePixelRatio()); QPolygon arrow; arrow << QPoint(zeroX, zeroY); - arrow << QPoint(zeroX, zeroY + PLAY_ARROW_SIZE); - arrow << QPoint(zeroX + PLAY_ARROW_SIZE, zeroY + PLAY_ARROW_SIZE / 2); + arrow << QPoint(zeroX, zeroY + arrowSize); + arrow << QPoint(zeroX + arrowSize, zeroY + arrowSize / 2); QPainterPath path; path.addPolygon(arrow); - QLinearGradient gradient(QPointF(zeroX, zeroY), - QPointF(zeroX + PLAY_ARROW_SIZE,zeroY + PLAY_ARROW_SIZE)); + QLinearGradient gradient(QPointF(zeroX, zeroY + arrowSize / 2), + QPointF(zeroX + arrowSize, zeroY + arrowSize / 2)); QColor whiteColor = Qt::white; QColor blackColor = Qt::black;