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();
}
}
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;
}
{
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()