m_searchBox->hide();
connect(m_searchBox, SIGNAL(closeRequest()), this, SLOT(closeSearchBox()));
connect(m_searchBox, SIGNAL(search(QString)), this, SLOT(startSearching(QString)));
+ connect(m_searchBox, SIGNAL(returnPressed(QString)), this, SLOT(requestFocus()));
m_dirLister = new DolphinDirLister();
m_dirLister->setAutoUpdate(true);
m_dirLister->setDelayedMimeTypes(true);
m_dolphinModel = new DolphinModel(this);
- m_dolphinModel->setDirLister(m_dirLister);
+ m_dolphinModel->setDirLister(m_dirLister); // m_dolphinModel takes ownership of m_dirLister
m_dolphinModel->setDropsAllowed(DolphinModel::DropOnDirectory);
m_proxyModel = new DolphinSortFilterProxyModel(this);
DolphinViewContainer::~DolphinViewContainer()
{
- m_dirLister->disconnect();
-
- delete m_proxyModel;
- m_proxyModel = 0;
- delete m_dolphinModel;
- m_dolphinModel = 0;
- m_dirLister = 0; // deleted by m_dolphinModel
}
KUrl DolphinViewContainer::url() const
// Restore the URL for the URL navigator. If Dolphin has been
// started with a search-URL, the home URL is used as fallback.
const KUrl url = m_searchBox->searchPath();
- if (url.isValid() && !url.isEmpty() && !isSearchUrl(url)) {
- m_urlNavigator->setLocationUrl(url);
- } else {
- m_urlNavigator->goHome();
+ if (url.isValid() && !url.isEmpty()) {
+ if (isSearchUrl(url)) {
+ m_urlNavigator->goHome();
+ } else {
+ m_urlNavigator->setLocationUrl(url);
+ }
}
}
}
}
m_view->setUrl(url);
- if (isActive()) {
+ if (isActive() && !isSearchUrl(url)) {
// When an URL has been entered, the view should get the focus.
// The focus must be requested asynchronously, as changing the URL might create
// a new view widget.