void DolphinMainWindow::openInNewTab()
{
const KFileItemList list = m_activeViewContainer->view()->selectedItems();
- if ((list.count() == 1) && list[0].isDir()) {
- openNewTab(m_activeViewContainer->view()->selectedUrls()[0]);
+ if (list.isEmpty()) {
+ openNewTab(m_activeViewContainer->url());
+ } else if ((list.count() == 1) && list[0].isDir()) {
+ openNewTab(list[0].url());
}
}
void DolphinMainWindow::openInNewWindow()
{
+ KUrl newWindowUrl;
+
const KFileItemList list = m_activeViewContainer->view()->selectedItems();
- if ((list.count() == 1) && list[0].isDir()) {
+ if (list.isEmpty()) {
+ newWindowUrl = m_activeViewContainer->url();
+ } else if ((list.count() == 1) && list[0].isDir()) {
+ newWindowUrl = list[0].url();
+ }
+
+ if (!newWindowUrl.isEmpty()) {
DolphinMainWindow* window = DolphinApplication::app()->createMainWindow();
- window->changeUrl(m_activeViewContainer->view()->selectedUrls()[0]);
+ window->changeUrl(newWindowUrl);
window->show();
}
}
void DolphinMainWindow::stopLoading()
{
+ m_activeViewContainer->view()->stopLoading();
+}
+
+void DolphinMainWindow::enableStopAction()
+{
+ actionCollection()->action("stop")->setEnabled(true);
+}
+
+void DolphinMainWindow::disableStopAction()
+{
+ actionCollection()->action("stop")->setEnabled(false);
}
void DolphinMainWindow::toggleFilterBarVisibility(bool show)
KUrl urlA;
KUrl urlB;
- KUrl::List urls = m_viewTab[m_tabIndex].primaryView->view()->selectedUrls();
- switch (urls.count()) {
+ KFileItemList items = m_viewTab[m_tabIndex].primaryView->view()->selectedItems();
+
+ switch (items.count()) {
case 0: {
Q_ASSERT(m_viewTab[m_tabIndex].secondaryView != 0);
- urls = m_viewTab[m_tabIndex].secondaryView->view()->selectedUrls();
- Q_ASSERT(urls.count() == 2);
- urlA = urls[0];
- urlB = urls[1];
+ items = m_viewTab[m_tabIndex].secondaryView->view()->selectedItems();
+ Q_ASSERT(items.count() == 2);
+ urlA = items[0].url();
+ urlB = items[1].url();
break;
}
case 1: {
- urlA = urls[0];
+ urlA = items[0].url();
Q_ASSERT(m_viewTab[m_tabIndex].secondaryView != 0);
- urls = m_viewTab[m_tabIndex].secondaryView->view()->selectedUrls();
- Q_ASSERT(urls.count() == 1);
- urlB = urls[0];
+ items = m_viewTab[m_tabIndex].secondaryView->view()->selectedItems();
+ Q_ASSERT(items.count() == 1);
+ urlB = items[0].url();
break;
}
case 2: {
- urlA = urls[0];
- urlB = urls[1];
+ urlA = items[0].url();
+ urlB = items[1].url();
break;
}
void DolphinMainWindow::editSettings()
{
if (m_settingsDialog == 0) {
- const KUrl& url = activeViewContainer()->url();
+ const KUrl url = activeViewContainer()->url();
m_settingsDialog = new DolphinSettingsDialog(url, this);
m_settingsDialog->setAttribute(Qt::WA_DeleteOnClose);
m_settingsDialog->show();
{
DolphinContextMenu contextMenu(this, item, url);
contextMenu.setCustomActions(customActions);
- contextMenu.open();
+ const DolphinContextMenu::Command command = contextMenu.open();
+
+ switch (command) {
+ case DolphinContextMenu::OpenParentFolderInNewWindow: {
+ DolphinMainWindow* window = DolphinApplication::app()->createMainWindow();
+ window->changeUrl(item.url().upUrl());
+ window->show();
+ break;
+ }
+
+ case DolphinContextMenu::OpenParentFolderInNewTab:
+ openNewTab(item.url().upUrl());
+ break;
+
+ case DolphinContextMenu::None:
+ default:
+ break;
+ }
}
void DolphinMainWindow::init()
setupActions();
- const KUrl& homeUrl = generalSettings->homeUrl();
+ const KUrl homeUrl(generalSettings->homeUrl());
setUrlAsCaption(homeUrl);
m_actionHandler = new DolphinViewActionHandler(actionCollection(), this);
connect(m_actionHandler, SIGNAL(actionBeingHandled()), SLOT(clearStatusBar()));
updateViewActions();
updateGoActions();
- const KUrl& url = m_activeViewContainer->url();
+ const KUrl url = m_activeViewContainer->url();
setUrlAsCaption(url);
- if (m_viewTab.count() > 1 && m_viewTab[m_tabIndex].secondaryView != 0) {
+ if (m_viewTab.count() > 1) {
m_tabBar->setTabText(m_tabIndex, tabName(url));
m_tabBar->setTabIcon(m_tabIndex, KIcon(KMimeType::iconNameForUrl(url)));
}
void DolphinMainWindow::updateGoActions()
{
QAction* goUpAction = actionCollection()->action(KStandardAction::name(KStandardAction::Up));
- const KUrl& currentUrl = m_activeViewContainer->url();
+ const KUrl currentUrl = m_activeViewContainer->url();
goUpAction->setEnabled(currentUrl.upUrl() != currentUrl);
}
this, SLOT(openNewTab(const KUrl&)));
connect(view, SIGNAL(requestContextMenu(KFileItem, const KUrl&, const QList<QAction*>&)),
this, SLOT(openContextMenu(KFileItem, const KUrl&, const QList<QAction*>&)));
+ connect(view, SIGNAL(startedPathLoading(KUrl)),
+ this, SLOT(enableStopAction()));
+ connect(view, SIGNAL(finishedPathLoading(KUrl)),
+ this, SLOT(disableStopAction()));
const KUrlNavigator* navigator = container->urlNavigator();
connect(navigator, SIGNAL(urlChanged(const KUrl&)),