From 9029fc709be59c8c572373ff5c005c9010c6d657 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Mon, 12 Nov 2012 20:34:56 -0500 Subject: [PATCH] DiskUsage: update status view after zoom in or zoom out. fixes #6756. --- src/apps/diskusage/PieView.cpp | 11 ++++++++++- src/apps/diskusage/PieView.h | 4 +++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/apps/diskusage/PieView.cpp b/src/apps/diskusage/PieView.cpp index 5d770fa341..9a3526096f 100644 --- a/src/apps/diskusage/PieView.cpp +++ b/src/apps/diskusage/PieView.cpp @@ -135,7 +135,8 @@ PieView::PieView(BVolume* volume) fVolume(volume), fMouseOverInfo(), fClicked(false), - fDragging(false) + fDragging(false), + fUpdateFileAt(false) { fMouseOverMenu = new BPopUpMenu(kEmptyStr, false, false); fMouseOverMenu->AddItem(new BMenuItem(B_TRANSLATE("Get Info"), NULL), @@ -239,9 +240,13 @@ PieView::MouseUp(BPoint where) if (info != NULL) { if (info == fScanner->CurrentDir()) { fScanner->ChangeDir(info->parent); + fLastWhere = where; + fUpdateFileAt = true; Invalidate(); } else if (info->children.size() > 0) { fScanner->ChangeDir(info); + fLastWhere = where; + fUpdateFileAt = true; Invalidate(); } } @@ -301,6 +306,10 @@ PieView::Draw(BRect updateRect) _DrawPieChart(updateRect); if (fWindow != NULL) fWindow->SetRescanEnabled(true); + if (fUpdateFileAt) { + fWindow->ShowInfo(_FileAt(fLastWhere)); + fUpdateFileAt = false; + } } } } diff --git a/src/apps/diskusage/PieView.h b/src/apps/diskusage/PieView.h index 12dd5e3540..4890de8ba5 100644 --- a/src/apps/diskusage/PieView.h +++ b/src/apps/diskusage/PieView.h @@ -91,7 +91,9 @@ private: bool fClicked; bool fDragging; BPoint fDragStart; - FileInfo* fClickedFile; + FileInfo* fClickedFile; + BPoint fLastWhere; + bool fUpdateFileAt; }; #endif // PIE_VIEW_H