InfoSidebarPage::InfoSidebarPage(QWidget* parent) :
SidebarPage(parent),
- m_multipleSelection(false), //TODO: check if I'm needed
m_pendingPreview(false),
m_timer(0),
m_preview(0),
const int spacing = KDialog::spacingHint();
m_timer = new QTimer(this);
+ m_timer->setSingleShot(true);
connect(m_timer, SIGNAL(timeout()),
this, SLOT(slotTimeout()));
void InfoSidebarPage::setUrl(const KUrl& url)
{
- if (!m_shownUrl.equals(url, KUrl::CompareWithoutTrailingSlash)) {
+ if (url.isValid() && !m_shownUrl.equals(url, KUrl::CompareWithoutTrailingSlash)) {
cancelRequest();
m_shownUrl = url;
showItemInfo();
void InfoSidebarPage::setSelection(const KFileItemList& selection)
{
- cancelRequest();
SidebarPage::setSelection(selection);
- m_multipleSelection = (selection.size() > 1);
- showItemInfo();
+ m_timer->start(TimerDelay);
}
void InfoSidebarPage::requestDelayedItemInfo(const KUrl& url)
{
cancelRequest();
- if (!url.isEmpty() && !m_multipleSelection) {
+ if (!url.isEmpty() && (selection().size() <= 1)) {
m_urlCandidate = url;
- m_timer->setSingleShot(true);
- m_timer->start(300);
+ m_timer->start(TimerDelay);
}
}
const KFileItemList& selectedItems = selection();
KUrl file;
+ const int itemCount = selectedItems.count();
if (selectedItems.count() == 0) {
file = m_shownUrl;
} else {
file = selectedItems[0]->url();
}
- if (m_multipleSelection) {
+ if (itemCount > 1) {
KIconLoader iconLoader;
QPixmap icon = iconLoader.loadIcon("exec",
K3Icon::NoGroup,
void showPreview(const KFileItem& item, const QPixmap& pixmap);
private:
+ enum { TimerDelay = 300 };
+
/**
* Checks whether the an URL is repesented by a bookmark. If yes,
* then the bookmark icon and name are shown instead of a preview.
bool showMetaInfo(const QString& key) const;
private:
- bool m_multipleSelection;
bool m_pendingPreview;
QTimer* m_timer;
KUrl m_shownUrl;