X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/0c8ef2977e2285676fb4c2ee1fdcb1e641c1acd7..7904ae417af2b7b59ee54a9f875191e9e4802492:/src/views/tooltips/tooltipmanager.cpp diff --git a/src/views/tooltips/tooltipmanager.cpp b/src/views/tooltips/tooltipmanager.cpp index 4c5825635..bb2890138 100644 --- a/src/views/tooltips/tooltipmanager.cpp +++ b/src/views/tooltips/tooltipmanager.cpp @@ -20,7 +20,7 @@ #include "tooltipmanager.h" #include "dolphinfilemetadatawidget.h" -#include + #include #include #include @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -35,11 +36,10 @@ ToolTipManager::ToolTipManager(QWidget* parent) : QObject(parent), - m_showToolTipTimer(0), - m_contentRetrievalTimer(0), - m_transientParent(0), - m_fileMetaDataWidget(0), - m_tooltipWidget(new KToolTipWidget()), + m_showToolTipTimer(nullptr), + m_contentRetrievalTimer(nullptr), + m_transientParent(nullptr), + m_fileMetaDataWidget(nullptr), m_toolTipRequested(false), m_metaDataRequested(false), m_appliedWaitCursor(false), @@ -106,7 +106,9 @@ void ToolTipManager::hideToolTip() m_metaDataRequested = false; m_showToolTipTimer->stop(); m_contentRetrievalTimer->stop(); - m_tooltipWidget->hideLater(); + if (m_tooltipWidget) { + m_tooltipWidget->hideLater(); + } } void ToolTipManager::startContentRetrieval() @@ -127,7 +129,10 @@ void ToolTipManager::startContentRetrieval() // Request a preview of the item m_fileMetaDataWidget->setPreview(QPixmap()); - KIO::PreviewJob* job = new KIO::PreviewJob(KFileItemList() << m_item, QSize(256, 256)); + QStringList plugins = KIO::PreviewJob::availablePlugins(); + KIO::PreviewJob* job = new KIO::PreviewJob(KFileItemList() << m_item, + QSize(256, 256), + &plugins); job->setIgnoreMaximumSize(m_item.isLocalFile()); if (job->uiDelegate()) { KJobWidgets::setWindow(job, qApp->activeWindow()); @@ -201,6 +206,9 @@ void ToolTipManager::showToolTip() // Adjust the size to get a proper sizeHint() m_fileMetaDataWidget->adjustSize(); + if (!m_tooltipWidget) { + m_tooltipWidget.reset(new KToolTipWidget()); + } m_tooltipWidget->showBelow(m_itemRect, m_fileMetaDataWidget, m_transientParent); m_toolTipRequested = false; }