#include "tooltipmanager.h"
#include "filemetadatatooltip.h"
+#include <KConfigGroup>
#include <KIcon>
#include <KIO/PreviewJob>
+#include <KSharedConfig>
#include <QApplication>
#include <QDesktopWidget>
m_fileMetaDataToolTip(0),
m_toolTipRequested(false),
m_metaDataRequested(false),
+ m_appliedWaitCursor(false),
m_item(),
- m_itemRect()
+ m_itemRect(),
+ m_enabledPlugins()
{
static FileMetaDataToolTip* sharedToolTip = 0;
if (sharedToolTip == 0) {
void ToolTipManager::hideToolTip()
{
- QApplication::restoreOverrideCursor();
+ if (m_appliedWaitCursor) {
+ QApplication::restoreOverrideCursor();
+ m_appliedWaitCursor = false;
+ }
m_toolTipRequested = false;
m_metaDataRequested = false;
// Request a preview of the item
m_fileMetaDataToolTip->setPreview(QPixmap());
- KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << m_item, 256, 256);
+ if (m_enabledPlugins.isEmpty()) {
+ const KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings");
+ m_enabledPlugins = globalConfig.readEntry("Plugins", QStringList()
+ << "directorythumbnail"
+ << "imagethumbnail"
+ << "jpegthumbnail");
+ }
+ KIO::PreviewJob* job = KIO::filePreview(KFileItemList() << m_item, 256, 256, true, true, &m_enabledPlugins);
connect(job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)),
this, SLOT(setPreviewPix(const KFileItem&, const QPixmap&)));
void ToolTipManager::showToolTip()
{
Q_ASSERT(m_toolTipRequested);
- QApplication::restoreOverrideCursor();
+ if (m_appliedWaitCursor) {
+ QApplication::restoreOverrideCursor();
+ m_appliedWaitCursor = false;
+ }
if (QApplication::mouseButtons() & Qt::LeftButton) {
return;
}
if (m_fileMetaDataToolTip->preview().isNull() || m_metaDataRequested) {
+ Q_ASSERT(!m_appliedWaitCursor);
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+ m_appliedWaitCursor = true;
return;
}