Changeset View
Changeset View
Standalone View
Standalone View
krusader/Panel/PanelView/krview.cpp
Show First 20 Lines • Show All 392 Lines • ▼ Show 20 Line(s) | 392 | if (fallbackToFocused) { | |||
---|---|---|---|---|---|
393 | // if all else fails, take the current item | 393 | // if all else fails, take the current item | ||
394 | const QString item = getCurrentItem(); | 394 | const QString item = getCurrentItem(); | ||
395 | if (names->empty() && !item.isEmpty() && item != "..") { | 395 | if (names->empty() && !item.isEmpty() && item != "..") { | ||
396 | names->append(item); | 396 | names->append(item); | ||
397 | } | 397 | } | ||
398 | } | 398 | } | ||
399 | } | 399 | } | ||
400 | 400 | | |||
401 | void KrView::getSelectedKrViewItems(KrViewItemList *items) | 401 | KrViewItemList KrView::getSelectedKrViewItems() | ||
402 | { | 402 | { | ||
403 | for (KrViewItem * it = getFirst(); it != nullptr; it = getNext(it)) | 403 | KrViewItemList items; | ||
404 | if (it->isSelected() && (it->name() != "..")) items->append(it); | 404 | for (KrViewItem * it = getFirst(); it != nullptr; it = getNext(it)) { | ||
405 | if (it->isSelected() && (it->name() != "..")) { | ||||
406 | items.append(it); | ||||
407 | } | ||||
408 | } | ||||
405 | 409 | | |||
406 | // if all else fails, take the current item | 410 | // if all else fails, take the current item | ||
407 | QString item = getCurrentItem(); | 411 | if (items.empty()) { | ||
408 | if (items->empty() && | 412 | KrViewItem *currentItem = getCurrentKrViewItem(); | ||
409 | !item.isEmpty() && | 413 | if (currentItem && !currentItem->isDummy()) { | ||
410 | item != ".." && | 414 | items.append(getCurrentKrViewItem()); | ||
411 | getCurrentKrViewItem() != nullptr) { | 415 | } | ||
412 | items->append(getCurrentKrViewItem()); | | |||
413 | } | 416 | } | ||
417 | | ||||
418 | return items; | ||||
414 | } | 419 | } | ||
415 | 420 | | |||
416 | QString KrView::statistics() | 421 | QString KrView::statistics() | ||
417 | { | 422 | { | ||
418 | KIO::filesize_t size = calcSize(); | 423 | KIO::filesize_t size = calcSize(); | ||
419 | KIO::filesize_t selectedSize = calcSelectedSize(); | 424 | KIO::filesize_t selectedSize = calcSelectedSize(); | ||
420 | QString tmp; | 425 | QString tmp; | ||
421 | KConfigGroup grp(_config, "Look&Feel"); | 426 | KConfigGroup grp(_config, "Look&Feel"); | ||
▲ Show 20 Lines • Show All 49 Lines • ▼ Show 20 Line(s) | 457 | { | |||
471 | } | 476 | } | ||
472 | 477 | | |||
473 | if (op()) op()->setMassSelectionUpdate(false); | 478 | if (op()) op()->setMassSelectionUpdate(false); | ||
474 | updateView(); | 479 | updateView(); | ||
475 | if (ensureVisibilityAfterSelect() && temp != nullptr) { | 480 | if (ensureVisibilityAfterSelect() && temp != nullptr) { | ||
476 | makeItemVisible(temp); | 481 | makeItemVisible(temp); | ||
477 | } else if (makeVisible && firstMatch != nullptr) { | 482 | } else if (makeVisible && firstMatch != nullptr) { | ||
478 | // if no selected item is visible... | 483 | // if no selected item is visible... | ||
479 | KrViewItemList selectedItems; | 484 | const KrViewItemList selectedItems = getSelectedKrViewItems(); | ||
480 | getSelectedKrViewItems(&selectedItems); | | |||
481 | bool anyVisible = false; | 485 | bool anyVisible = false; | ||
482 | for (KrViewItem *item : selectedItems) { | 486 | for (KrViewItem *item : selectedItems) { | ||
483 | if (isItemVisible(item)) { | 487 | if (isItemVisible(item)) { | ||
484 | anyVisible = true; | 488 | anyVisible = true; | ||
485 | break; | 489 | break; | ||
486 | } | 490 | } | ||
487 | } | 491 | } | ||
488 | if (!anyVisible) { | 492 | if (!anyVisible) { | ||
▲ Show 20 Lines • Show All 734 Lines • Show Last 20 Lines |