Media Kit: Remove DynamicScrollView from DefaultMediaTheme.
As of the last commit, a BScrollView in layouted mode now behaves this way by default. Change-Id: I07bd17d6d20e494c0e2f08172c0d54b10fa5d26d Reviewed-on: https://review.haiku-os.org/c/893 Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
5b0e5c0ac6
commit
9e7d077d1b
@@ -34,17 +34,6 @@ using namespace BPrivate;
|
|||||||
|
|
||||||
namespace BPrivate {
|
namespace BPrivate {
|
||||||
|
|
||||||
class DynamicScrollView : public BScrollView {
|
|
||||||
public:
|
|
||||||
DynamicScrollView(const char *name, BView *target);
|
|
||||||
virtual ~DynamicScrollView();
|
|
||||||
|
|
||||||
virtual void FrameResized(float width, float height);
|
|
||||||
|
|
||||||
private:
|
|
||||||
void UpdateBars();
|
|
||||||
};
|
|
||||||
|
|
||||||
class SeparatorView : public BView {
|
class SeparatorView : public BView {
|
||||||
public:
|
public:
|
||||||
SeparatorView(orientation orientation);
|
SeparatorView(orientation orientation);
|
||||||
@@ -197,63 +186,6 @@ stop_watching_for_parameter_changes(BControl* control, BParameter ¶meter)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// #pragma mark -
|
|
||||||
|
|
||||||
|
|
||||||
DynamicScrollView::DynamicScrollView(const char *name, BView *target)
|
|
||||||
: BScrollView(name, target, 0, true, true, B_NO_BORDER)
|
|
||||||
{
|
|
||||||
SetExplicitMinSize(BSize(B_V_SCROLL_BAR_WIDTH, B_H_SCROLL_BAR_HEIGHT));
|
|
||||||
SetFlags(Flags() | B_FRAME_EVENTS);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
DynamicScrollView::~DynamicScrollView()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
DynamicScrollView::FrameResized(float width, float height)
|
|
||||||
{
|
|
||||||
BScrollView::FrameResized(width, height);
|
|
||||||
UpdateBars();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
DynamicScrollView::UpdateBars()
|
|
||||||
{
|
|
||||||
BRect bounds = Bounds();
|
|
||||||
BSize size = Target()->PreferredSize();
|
|
||||||
|
|
||||||
BScrollBar *horizontalBar = ScrollBar(B_HORIZONTAL),
|
|
||||||
*verticalBar = ScrollBar(B_VERTICAL);
|
|
||||||
|
|
||||||
// update the scroll bar range & proportions
|
|
||||||
|
|
||||||
if (horizontalBar != NULL) {
|
|
||||||
float delta = size.Width() - bounds.Width(),
|
|
||||||
proportion = bounds.Width() / size.Width();
|
|
||||||
if (delta < 0)
|
|
||||||
delta = 0;
|
|
||||||
|
|
||||||
horizontalBar->SetRange(0, delta);
|
|
||||||
horizontalBar->SetSteps(1, bounds.Width());
|
|
||||||
horizontalBar->SetProportion(proportion);
|
|
||||||
}
|
|
||||||
if (verticalBar != NULL) {
|
|
||||||
float delta = size.Height() - bounds.Height(),
|
|
||||||
proportion = bounds.Height() / size.Height();
|
|
||||||
if (delta < 0)
|
|
||||||
delta = 0;
|
|
||||||
|
|
||||||
verticalBar->SetRange(0, delta);
|
|
||||||
verticalBar->SetSteps(1, bounds.Height());
|
|
||||||
verticalBar->SetProportion(proportion);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|
||||||
@@ -738,8 +670,10 @@ DefaultMediaTheme::MakeViewFor(BParameterWeb *web, const BRect *hintRect)
|
|||||||
if (groupView == NULL)
|
if (groupView == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
DynamicScrollView *scrollView = new DynamicScrollView(groupView->Name(),
|
BScrollView *scrollView = new BScrollView(groupView->Name(), groupView, 0,
|
||||||
groupView);
|
true, true, B_NO_BORDER);
|
||||||
|
scrollView->SetExplicitMinSize(BSize(B_V_SCROLL_BAR_WIDTH,
|
||||||
|
B_H_SCROLL_BAR_HEIGHT));
|
||||||
if (tabView == NULL) {
|
if (tabView == NULL) {
|
||||||
if (hintRect != NULL) {
|
if (hintRect != NULL) {
|
||||||
scrollView->MoveTo(hintRect->LeftTop());
|
scrollView->MoveTo(hintRect->LeftTop());
|
||||||
|
|||||||
Reference in New Issue
Block a user