DolphinViewContainer::DolphinViewContainer(DolphinMainWindow* mainWindow,
QWidget* parent,
- const KUrl& url,
- DolphinView::Mode mode,
- bool showHiddenFiles) :
+ const KUrl& url) :
QWidget(parent),
m_showProgress(false),
m_folderCount(0),
m_topLayout->setSpacing(0);
m_topLayout->setMargin(0);
- connect(m_mainWindow, SIGNAL(activeViewChanged()),
- this, SLOT(updateActivationState()));
-
QClipboard* clipboard = QApplication::clipboard();
connect(clipboard, SIGNAL(dataChanged()),
this, SLOT(updateCutItems()));
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(activated()),
+ this, SLOT(activate()));
const GeneralSettings* settings = DolphinSettings::instance().generalSettings();
m_urlNavigator->setUrlEditable(settings->editableUrl());
m_dirLister = new DolphinDirLister();
m_dirLister->setAutoUpdate(true);
m_dirLister->setMainWindow(this);
- m_dirLister->setShowingDotFiles(showHiddenFiles);
m_dirLister->setDelayedMimeTypes(true);
m_dirModel = new KDirModel();
this, SLOT(updateStatusBar()));
connect(m_dirLister, SIGNAL(completed()),
this, SLOT(updateItemCount()));
- connect(m_dirLister, SIGNAL(completed()),
- this, SLOT(updateCutItems()));
- connect(m_dirLister, SIGNAL(newItems(const KFileItemList&)),
- this, SLOT(generatePreviews(const KFileItemList&)));
connect(m_dirLister, SIGNAL(infoMessage(const QString&)),
this, SLOT(showInfoMessage(const QString&)));
connect(m_dirLister, SIGNAL(errorMessage(const QString&)),
url,
m_dirLister,
m_dirModel,
- m_proxyModel,
- mode);
+ m_proxyModel);
connect(m_view, SIGNAL(urlChanged(const KUrl&)),
m_urlNavigator, SLOT(setUrl(const KUrl&)));
connect(m_view, SIGNAL(requestContextMenu(KFileItem*, const KUrl&)),
this, SLOT(openContextMenu(KFileItem*, const KUrl&)));
connect(m_view, SIGNAL(urlsDropped(const KUrl::List&, const KUrl&)),
m_mainWindow, SLOT(dropUrls(const KUrl::List&, const KUrl&)));
- connect(m_view, SIGNAL(requestItemInfo(const KUrl&)),
- this, SLOT(showItemInfo(const KUrl&)));
+ connect(m_view, SIGNAL(contentsMoved(int, int)),
+ this, SLOT(saveContentsPos(int, int)));
+ connect(m_view, SIGNAL(requestItemInfo(KFileItem)),
+ this, SLOT(showItemInfo(KFileItem)));
connect(m_view, SIGNAL(errorMessage(const QString&)),
this, SLOT(showErrorMessage(const QString&)));
connect(m_view, SIGNAL(infoMessage(const QString&)),
}
}
-DolphinStatusBar* DolphinViewContainer::statusBar() const
-{
- return m_statusBar;
-}
-
bool DolphinViewContainer::isFilterBarVisible() const
{
return m_filterBar->isVisible();
return m_dirModel->itemForIndex(dirModelIndex);
}
-DolphinMainWindow* DolphinViewContainer::mainWindow() const
-{
- return m_mainWindow;
-}
-
void DolphinViewContainer::updateProgress(int percent)
{
if (!m_showProgress) {
// not contain another progress information. This means that
// the directory loading progress information has the lowest priority.
const QString progressText(m_statusBar->progressText());
- m_showProgress = progressText.isEmpty() ||
- (progressText == i18n("Loading folder..."));
+ const QString loadingText(i18nc("@info:progress", "Loading folder..."));
+ m_showProgress = progressText.isEmpty() || (progressText == loadingText);
if (m_showProgress) {
- m_statusBar->setProgressText(i18n("Loading folder..."));
+ m_statusBar->setProgressText(loadingText);
m_statusBar->setProgress(0);
}
}
updateStatusBar();
- QTimer::singleShot(0, this, SLOT(restoreContentsPos()));
+ QTimer::singleShot(100, this, SLOT(restoreContentsPos()));
}
-void DolphinViewContainer::showItemInfo(const KUrl& url)
+void DolphinViewContainer::showItemInfo(const KFileItem& item)
{
- if (url.isEmpty()) {
+ if (item.isNull()) {
m_statusBar->clear();
- return;
- }
-
- const QModelIndex index = m_dirModel->indexForUrl(url);
- const KFileItem* item = m_dirModel->itemForIndex(index);
- if (item != 0) {
- m_statusBar->setMessage(item->getStatusBarInfo(), DolphinStatusBar::Default);
+ } else {
+ m_statusBar->setMessage(item.getStatusBarInfo(), DolphinStatusBar::Default);
}
}
}
if (folderCount > 0) {
- text = i18np("1 Folder selected", "%1 Folders selected", folderCount);
+ 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 += i18np("1 File selected (%2)", "%1 Files selected (%2)", fileCount, sizeText);
+ text += i18ncp("@info:status", "1 File selected (%2)", "%1 Files selected (%2)", fileCount, sizeText);
}
return text;
contextMenu.open();
}
+void DolphinViewContainer::saveContentsPos(int x, int y)
+{
+ m_urlNavigator->savePosition(x, y);
+}
+
+void DolphinViewContainer::restoreContentsPos()
+{
+ if (!url().isEmpty()) {
+ const QPoint pos = m_urlNavigator->savedPosition();
+ m_view->setContentsPosition(pos.x(), pos.y());
+ }
+}
+
+void DolphinViewContainer::activate()
+{
+ setActive(true);
+}
+
#include "dolphinviewcontainer.moc"