SVN_SILENT: Minor simplificiation of the code. No change of behavior has been done.

svn path=/trunk/KDE/kdebase/apps/; revision=1073046
This commit is contained in:
Peter Penz 2010-01-11 13:37:54 +00:00
parent 6301372c21
commit 84f0a0d619

View file

@ -171,32 +171,32 @@ void DolphinController::handleKeyPressEvent(QKeyEvent* event)
const QItemSelectionModel* selModel = m_itemView->selectionModel();
const QModelIndex currentIndex = selModel->currentIndex();
const bool trigger = currentIndex.isValid()
&& ((event->key() == Qt::Key_Return)
|| (event->key() == Qt::Key_Enter))
&& ((event->key() == Qt::Key_Return) || (event->key() == Qt::Key_Enter))
&& !selModel->selectedIndexes().isEmpty();
if (trigger) {
QModelIndexList dirQueue;
const QModelIndexList indexList = selModel->selectedIndexes();
foreach (const QModelIndex& index, indexList) {
// Trigger non-directories immediately.
if (!itemForIndex(index).isDir()) {
emit itemTriggered(itemForIndex(index));
} else {
// Keep storing the directory indexes for trigger later.
dirQueue << index;
}
if (!trigger) {
return;
}
// Emit the signal itemTriggered() for all selected files.
// Several selected directories are opened in separate tabs,
// one selected directory will get opened in the view.
QModelIndexList dirQueue;
const QModelIndexList indexList = selModel->selectedIndexes();
foreach (const QModelIndex& index, indexList) {
if (itemForIndex(index).isDir()) {
dirQueue << index;
} else {
emit itemTriggered(itemForIndex(index));
}
// Trigger directories - Tabs if multiple, else normal.
if (!dirQueue.isEmpty()) {
if (dirQueue.length() == 1) {
// For single directory selection, open normally.
emit itemTriggered(itemForIndex(dirQueue[0]));
} else {
foreach(const QModelIndex& dir, dirQueue) {
// Since its a valid directory - open a tab.
emit tabRequested(itemForIndex(dir).url());
}
}
}
if (dirQueue.length() == 1) {
// open directory in the view
emit itemTriggered(itemForIndex(dirQueue[0]));
} else {
// open directories in separate tabs
foreach(const QModelIndex& dir, dirQueue) {
emit tabRequested(itemForIndex(dir).url());
}
}
}