#include "dolphinmodel.h"
#include "dolphincolumnview.h"
#include "dolphincontroller.h"
+#include "dolphindropcontroller.h"
#include "dolphinstatusbar.h"
#include "dolphinmainwindow.h"
#include "dolphindirlister.h"
m_topLayout->setMargin(0);
m_urlNavigator = new KUrlNavigator(DolphinSettings::instance().placesModel(), url, this);
- connect(m_urlNavigator, SIGNAL(urlsDropped(const KUrl::List&, const KUrl&)),
- m_mainWindow, SLOT(dropUrls(const KUrl::List&, const KUrl&)));
+ connect(m_urlNavigator, SIGNAL(urlsDropped(const KUrl&, QDropEvent*)),
+ this, SLOT(dropUrls(const KUrl&, QDropEvent*)));
connect(m_urlNavigator, SIGNAL(activated()),
this, SLOT(activate()));
connect(m_urlNavigator, SIGNAL(urlChanged(const KUrl&)),
this, SLOT(restoreView(const KUrl&)));
- m_statusBar = new DolphinStatusBar(this, url);
- connect(m_view, SIGNAL(urlChanged(const KUrl&)),
- m_statusBar, SLOT(updateSpaceInfoContent(const KUrl&)));
+ m_statusBar = new DolphinStatusBar(this, m_view);
m_filterBar = new FilterBar(this);
m_filterBar->setVisible(settings->filterBar());
emit showFilterBarChanged(false);
}
-QString DolphinViewContainer::defaultStatusBarText() const
-{
- int folderCount = 0;
- int fileCount = 0;
- m_view->calculateItemCount(fileCount, folderCount);
- return KIO::itemsSummaryString(fileCount + folderCount,
- fileCount,
- folderCount,
- 0, false);
-}
-
-QString DolphinViewContainer::selectionStatusBarText() const
-{
- QString text;
- const KFileItemList list = m_view->selectedItems();
- if (list.isEmpty()) {
- // when an item is triggered, it is temporary selected but selectedItems()
- // will return an empty list
- return QString();
- }
-
- int fileCount = 0;
- int folderCount = 0;
- KIO::filesize_t byteSize = 0;
- KFileItemList::const_iterator it = list.begin();
- const KFileItemList::const_iterator end = list.end();
- while (it != end) {
- const KFileItem& item = *it;
- if (item.isDir()) {
- ++folderCount;
- } else {
- ++fileCount;
- byteSize += item.size();
- }
- ++it;
- }
-
- if (folderCount > 0) {
- text = i18ncp("@info:status", "1 Folder selected", "%1 Folders selected", folderCount);
- if (fileCount > 0) {
- text += ", ";
- }
- }
-
- if (fileCount > 0) {
- const QString sizeText(KIO::convertSize(byteSize));
- text += i18ncp("@info:status", "1 File selected (%2)", "%1 Files selected (%2)", fileCount, sizeText);
- }
-
- return text;
-}
-
void DolphinViewContainer::showFilterBar(bool show)
{
Q_ASSERT(m_filterBar != 0);
(m_statusBar->type() == DolphinStatusBar::Information)) &&
(m_statusBar->progress() == 100);
- const QString text(m_view->hasSelection() ? selectionStatusBarText() : defaultStatusBarText());
+ const QString text(m_view->statusBarText());
m_statusBar->setDefaultText(text);
if (updateStatusBarMsg) {
m_urlNavigator->saveRootUrl(m_view->rootUrl());
}
+void DolphinViewContainer::dropUrls(const KUrl& destination, QDropEvent* event)
+{
+ DolphinDropController::dropUrls(KFileItem(), destination, event, this);
+}
+
void DolphinViewContainer::slotItemTriggered(const KFileItem& item)
{
KUrl url = item.targetUrl();