]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/information/informationpanelcontent.cpp
Exit the deleted directory when it is removed
[dolphin.git] / src / panels / information / informationpanelcontent.cpp
index 98c012243752fe98562ee419e84ea784bd6db98f..f1379f9619c0e935be6342e84fc57ea661f72d76 100644 (file)
@@ -6,7 +6,6 @@
 
 #include "informationpanelcontent.h"
 
-#include <KIO/JobUiDelegate>
 #include <KIO/PreviewJob>
 #include <KConfigGroup>
 #include <KIconEffect>
 #include <QPainterPath>
 
 #include <QIcon>
+#include <QStyle>
 #include <QTextDocument>
 
 #include <Baloo/FileMetaDataWidget>
 
-#include <panels/places/placesitem.h>
-#include <panels/places/placesitemmodel.h>
-
 #include <Phonon/BackendCapabilities>
 #include <Phonon/MediaObject>
 
-#include <QLabel>
 #include <QDialogButtonBox>
+#include <QGesture>
+#include <QLabel>
+#include <QLinearGradient>
+#include <QPainter>
+#include <QPolygon>
 #include <QScrollArea>
+#include <QScroller>
 #include <QTextLayout>
 #include <QTimer>
 #include <QVBoxLayout>
-#include <QScroller>
-#include <QStyle>
-#include <QPainter>
-#include <QBitmap>
-#include <QLinearGradient>
-#include <QPolygon>
-#include <QGesture>
 
 #include "dolphin_informationpanelsettings.h"
 #include "phononwidget.h"
@@ -60,7 +55,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 +145,6 @@ InformationPanelContent::InformationPanelContent(QWidget* parent) :
     layout->addWidget(m_configureButtons);
 
     grabGesture(Qt::TapAndHoldGesture);
-
-    m_placesItemModel = new PlacesItemModel(this);
 }
 
 InformationPanelContent::~InformationPanelContent()
@@ -193,7 +185,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 +383,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<int>((p.width() / 2 - PLAY_ARROW_SIZE / 2) / pixmap.devicePixelRatio());
-        const int zeroY = static_cast<int>((p.height() / 2 - PLAY_ARROW_SIZE / 2) / pixmap.devicePixelRatio());
+        const int zeroX = static_cast<int>((p.width() / 2 - arrowSize / 2) / pixmap.devicePixelRatio());
+        const int zeroY = static_cast<int>((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;
@@ -482,7 +477,7 @@ void InformationPanelContent::setNameLabelText(const QString& text)
     QTextLine line = textLayout.createLine();
     while (line.isValid()) {
         line.setLineWidth(m_nameLabel->width());
-        wrappedText += processedText.midRef(line.textStart(), line.textLength());
+        wrappedText += QStringView(processedText).mid(line.textStart(), line.textLength());
 
         line = textLayout.createLine();
         if (line.isValid()) {