// worst case) might block the application for several seconds. To prevent such
// a blocking the MIME-type of the items will determined until the MaxBlockTimeout
// has been reached and only those items will get passed. As soon as the MIME-type
- // has been resolved once KIO::filePreview() can already access the resolved
+ // has been resolved once KIO::PreviewJob() can already access the resolved
// MIME-type in a fast way.
QElapsedTimer timer;
timer.start();
break;
}
}
- KJob* job = KIO::filePreview(itemSubSet, cacheSize, &m_enabledPlugins);
+ KIO::PreviewJob* job = new KIO::PreviewJob(itemSubSet, cacheSize, &m_enabledPlugins);
+ job->setIgnoreMaximumSize(items.first().isLocalFile());
connect(job, SIGNAL(gotPreview(KFileItem,QPixmap)),
this, SLOT(slotGotPreview(KFileItem,QPixmap)));
#include <QCheckBox>
#include <QGroupBox>
+#include <QHBoxLayout>
#include <QLabel>
#include <QListView>
#include <QPainter>
#include <QShowEvent>
#include <QSlider>
#include <QSortFilterProxyModel>
-#include <QGridLayout>
#include <QVBoxLayout>
// default settings
namespace {
const bool UseThumbnails = true;
- const int MaxLocalPreviewSize = 5; // 5 MB
const int MaxRemotePreviewSize = 0; // 0 MB
}
m_initialized(false),
m_listView(0),
m_enabledPreviewPlugins(),
- m_localFileSizeBox(0),
m_remoteFileSizeBox(0)
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
m_listView->setVerticalScrollMode(QListView::ScrollPerPixel);
QVBoxLayout* listBoxLayout = new QVBoxLayout(listBox);
+ listBoxLayout->setSpacing(KDialog::spacingHint());
+ listBoxLayout->setMargin(KDialog::marginHint());
listBoxLayout->addWidget(m_listView);
- // Create group box "Don't create previews for"
- QGroupBox* fileSizeBox = new QGroupBox(i18nc("@title:group", "Do not create previews for"), this);
-
- QLabel* localFileSizeLabel = new QLabel(i18nc("@label Don't create previews for: <Local files above:> XX MByte",
- "Local files above:"), this);
-
- m_localFileSizeBox = new KIntSpinBox(this);
- m_localFileSizeBox->setSingleStep(1);
- m_localFileSizeBox->setSuffix(QLatin1String(" MB"));
- m_localFileSizeBox->setRange(0, 9999999); /* MB */
-
- QLabel* remoteFileSizeLabel = new QLabel(i18nc("@label Don't create previews for: <Remote files above:> XX MByte",
- "Remote files above:"), this);
+ QLabel* remoteFileSizeLabel = new QLabel(i18nc("@label", "Skip previews for remote files above:"), this);
m_remoteFileSizeBox = new KIntSpinBox(this);
m_remoteFileSizeBox->setSingleStep(1);
m_remoteFileSizeBox->setSuffix(QLatin1String(" MB"));
m_remoteFileSizeBox->setRange(0, 9999999); /* MB */
- QGridLayout* fileSizeBoxLayout = new QGridLayout(fileSizeBox);
- fileSizeBoxLayout->addWidget(localFileSizeLabel, 0, 0, Qt::AlignRight);
- fileSizeBoxLayout->addWidget(m_localFileSizeBox, 0, 1);
- fileSizeBoxLayout->addWidget(remoteFileSizeLabel, 1, 0, Qt::AlignRight);
- fileSizeBoxLayout->addWidget(m_remoteFileSizeBox, 1, 1);
+ QHBoxLayout* fileSizeBoxLayout = new QHBoxLayout(this);
+ fileSizeBoxLayout->addWidget(remoteFileSizeLabel, 0, Qt::AlignRight);
+ fileSizeBoxLayout->addWidget(m_remoteFileSizeBox);
topLayout->addWidget(listBox);
- topLayout->addWidget(fileSizeBox);
+ topLayout->addLayout(fileSizeBoxLayout);
loadSettings();
connect(m_listView, SIGNAL(clicked(QModelIndex)), this, SIGNAL(changed()));
- connect(m_localFileSizeBox, SIGNAL(valueChanged(int)), this, SIGNAL(changed()));
connect(m_remoteFileSizeBox, SIGNAL(valueChanged(int)), this, SIGNAL(changed()));
}
KConfigGroup globalConfig(KGlobal::config(), QLatin1String("PreviewSettings"));
globalConfig.writeEntry("Plugins", m_enabledPreviewPlugins);
- const qulonglong maximumLocalSize = static_cast<qulonglong>(m_localFileSizeBox->value()) * 1024 * 1024;
- globalConfig.writeEntry("MaximumSize",
- maximumLocalSize,
- KConfigBase::Normal | KConfigBase::Global);
const qulonglong maximumRemoteSize = static_cast<qulonglong>(m_remoteFileSizeBox->value()) * 1024 * 1024;
globalConfig.writeEntry("MaximumRemoteSize",
maximumRemoteSize,
void PreviewsSettingsPage::restoreDefaults()
{
- m_localFileSizeBox->setValue(MaxLocalPreviewSize);
m_remoteFileSizeBox->setValue(MaxRemotePreviewSize);
}
globalConfig.sync();
}
- const qulonglong defaultLocalPreview = static_cast<qulonglong>(MaxLocalPreviewSize) * 1024 * 1024;
- const qulonglong maxLocalByteSize = globalConfig.readEntry("MaximumSize", defaultLocalPreview);
- const int maxLocalMByteSize = maxLocalByteSize / (1024 * 1024);
- m_localFileSizeBox->setValue(maxLocalMByteSize);
-
const qulonglong defaultRemotePreview = static_cast<qulonglong>(MaxRemotePreviewSize) * 1024 * 1024;
const qulonglong maxRemoteByteSize = globalConfig.readEntry("MaximumRemoteSize", defaultRemotePreview);
const int maxRemoteMByteSize = maxRemoteByteSize / (1024 * 1024);