From 4c56a102ca3b2345953ae9f30701d8f074ecd2c2 Mon Sep 17 00:00:00 2001 From: Humdinger Date: Wed, 29 Jan 2014 12:57:38 +0100 Subject: [PATCH] Truncate names of files/folders that are being grep'ed --- src/apps/text_search/GrepWindow.cpp | 11 +++++++++-- src/apps/text_search/GrepWindow.h | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/apps/text_search/GrepWindow.cpp b/src/apps/text_search/GrepWindow.cpp index 414a326b88..407b2abbc0 100644 --- a/src/apps/text_search/GrepWindow.cpp +++ b/src/apps/text_search/GrepWindow.cpp @@ -144,6 +144,7 @@ GrepWindow::GrepWindow(BMessage* message) _LoadPrefs(); _TileIfMultipleWindows(); + fSearchBoxWidth = fSearchText->Bounds().Width(); Show(); } @@ -157,6 +158,7 @@ GrepWindow::~GrepWindow() void GrepWindow::FrameResized(float width, float height) { + fSearchBoxWidth = fSearchText->Bounds().Width(); BWindow::FrameResized(width, height); fModel->fFrame = Frame(); _SavePrefs(); @@ -1035,8 +1037,13 @@ GrepWindow::_OnNodeMonitorPulse() void GrepWindow::_OnReportFileName(BMessage* message) { - if (fModel->fState != STATE_UPDATE) - fSearchText->SetText(message->FindString("filename")); + if (fModel->fState != STATE_UPDATE) { + BString name = message->FindString("filename"); + fSearchText->TruncateString(&name, B_TRUNCATE_MIDDLE, + fSearchBoxWidth - 10); + + fSearchText->SetText(name); + } } diff --git a/src/apps/text_search/GrepWindow.h b/src/apps/text_search/GrepWindow.h index dd4dce1fe9..702bc201e5 100644 --- a/src/apps/text_search/GrepWindow.h +++ b/src/apps/text_search/GrepWindow.h @@ -141,6 +141,8 @@ private: bigtime_t fLastNodeMonitorEvent; ChangesIterator* fChangesIterator; BMessageRunner* fChangesPulse; + float fSearchBoxWidth; + BFilePanel* fFilePanel; };