#include "renamedialog.h"
#include "urlnavigator.h"
#include "viewproperties.h"
+#include "dolphinsettings.h"
DolphinView::DolphinView(DolphinMainWindow* mainWindow,
QWidget* parent,
connect(clipboard, SIGNAL(dataChanged()),
this, SLOT(updateCutItems()));
- m_urlNavigator = new UrlNavigator(url, this);
+ m_urlNavigator = new UrlNavigator(DolphinSettings::instance().bookmarkManager(), url, this);
m_urlNavigator->setShowHiddenFiles(showHiddenFiles);
connect(m_urlNavigator, SIGNAL(urlChanged(const KUrl&)),
this, SLOT(loadDirectory(const KUrl&)));
m_topLayout->addWidget(itemView());
m_topLayout->addWidget(m_filterBar);
m_topLayout->addWidget(m_statusBar);
-
- loadDirectory(m_urlNavigator->url());
}
DolphinView::~DolphinView()
m_urlNavigator->editUrl(editable);
}
-const QLinkedList<UrlNavigator::HistoryElem> DolphinView::urlHistory(int& index) const
-{
- return m_urlNavigator->history(index);
-}
-
bool DolphinView::hasSelection() const
{
return itemView()->selectionModel()->hasSelection();
void DolphinView::loadDirectory(const KUrl& url)
{
+ if(!isActive()) {
+ requestActivation();
+ }
+
const ViewProperties props(url);
const Mode mode = props.viewMode();
void DolphinView::restoreContentsPos()
{
- int index = 0;
- const QLinkedList<UrlNavigator::HistoryElem> history = urlHistory(index);
- if (!history.isEmpty()) {
+ UrlNavigator::HistoryElem historyItem = m_urlNavigator->currentHistoryItem();
+ if (!historyItem.url().isEmpty()) {
QAbstractItemView* view = itemView();
- // TODO: view->setCurrentItem(history[index].currentFileName());
-
- QLinkedList<UrlNavigator::HistoryElem>::const_iterator it = history.begin();
- it += index;
- view->horizontalScrollBar()->setValue((*it).contentsX());
- view->verticalScrollBar()->setValue((*it).contentsY());
+ // TODO: view->setCurrentItem(historyItem.currentFileName());
+ view->horizontalScrollBar()->setValue(historyItem.contentsX());
+ view->verticalScrollBar()->setValue(historyItem.contentsY());
}
}
void DolphinView::emitSelectionChangedSignal()
{
- emit selectionChanged();
+ emit selectionChanged(DolphinView::selectedItems());
}
void DolphinView::closeFilterBar()
m_mainWindow->setActiveView(this);
}
+void DolphinView::changeSelection(const KFileItemList& selection)
+{
+ clearSelection();
+ if (selection.isEmpty()) {
+ return;
+ }
+ KUrl baseUrl = url();
+ KUrl url;
+ QItemSelection new_selection;
+ foreach (KFileItem* item, selection) {
+ url = item->url().upUrl();
+ if (baseUrl.equals(url, KUrl::CompareWithoutTrailingSlash)) {
+ QModelIndex index = m_proxyModel->mapFromSource(m_dirModel->indexForItem(*item));
+ new_selection.select(index, index);
+ }
+ }
+ itemView()->selectionModel()->select(new_selection,
+ QItemSelectionModel::ClearAndSelect
+ | QItemSelectionModel::Current);
+}
+
void DolphinView::changeNameFilter(const QString& nameFilter)
{
// The name filter of KDirLister does a 'hard' filtering, which
void DolphinView::updateActivationState()
{
m_urlNavigator->setActive(isActive());
+ if(isActive()) {
+ emit urlChanged(url());
+ emit selectionChanged(selectedItems());
+ }
}
void DolphinView::updateCutItems()