A couple small bug fixes in the directory browser.

This commit is contained in:
casey langen 2018-02-12 08:10:38 -08:00
parent 80a10ffe5f
commit e5d82dc868
2 changed files with 22 additions and 17 deletions

View File

@ -114,7 +114,7 @@ void DirectoryLayout::SetDirectory(const std::string& directory) {
this->rootDirectory = directory;
this->adapter->SetRootDirectory(directory);
this->directoryList->SetSelectedIndex(0);
this->Refresh();
this->Refresh(true);
}
void DirectoryLayout::OnVisibilityChanged(bool visible) {
@ -126,12 +126,17 @@ void DirectoryLayout::OnVisibilityChanged(bool visible) {
void DirectoryLayout::RequeryTrackList(ListWindow *view) {
size_t selected = this->directoryList->GetSelectedIndex();
if (selected != ListWindow::NO_SELECTION) {
std::string fullPath = "";
if (selected == 0 && this->adapter->GetLeafAt(0) == "..") {
return;
}
std::string fullPath = this->adapter->GetFullPathAt(selected);
else if (selected == ListWindow::NO_SELECTION) {
fullPath = this->rootDirectory; /* no sub directories */
}
else {
fullPath = this->adapter->GetFullPathAt(selected);
}
if (fullPath.size()) {
fullPath = NormalizeDir(fullPath);
@ -147,7 +152,6 @@ void DirectoryLayout::RequeryTrackList(ListWindow *view) {
}
}
}
}
void DirectoryLayout::OnDirectoryChanged(
ListWindow *view, size_t newIndex, size_t oldIndex)

View File

@ -35,7 +35,7 @@
#include "stdafx.h"
#include <core/support/Common.h>
#include <cursespp/Text.h>
#include <cursespp/ScrollAdapterBase.h>
#include <cursespp/SingleLineEntry.h>
@ -241,5 +241,6 @@ IScrollAdapter::EntryPtr DirectoryAdapter::GetEntry(cursespp::ScrollableWindow*
--index;
}
return IScrollAdapter::EntryPtr(new SingleLineEntry(this->subdirs[index]));
auto text = text::Ellipsize(this->subdirs[index], this->GetWidth());
return IScrollAdapter::EntryPtr(new SingleLineEntry(text));
}