mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-30 07:29:29 +02:00
EmptyPanelRect selection fix
This commit is contained in:
parent
6b79a5eccb
commit
335478270b
@ -1273,10 +1273,12 @@ struct VRulersAndChannels final : TrackPanelGroup {
|
|||||||
//Simply fills area using specified brush and outlines borders
|
//Simply fills area using specified brush and outlines borders
|
||||||
class EmptyPanelRect final : public CommonTrackPanelCell
|
class EmptyPanelRect final : public CommonTrackPanelCell
|
||||||
{
|
{
|
||||||
|
//Required to keep selection behaviour similar to others
|
||||||
|
std::shared_ptr<Track> mTrack;
|
||||||
int mFillBrushName;
|
int mFillBrushName;
|
||||||
public:
|
public:
|
||||||
explicit EmptyPanelRect(int fillBrushName)
|
explicit EmptyPanelRect(const std::shared_ptr<Track>& track, int fillBrushName)
|
||||||
: mFillBrushName(fillBrushName)
|
: mTrack(track), mFillBrushName(fillBrushName)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1296,7 +1298,7 @@ public:
|
|||||||
|
|
||||||
std::shared_ptr<Track> DoFindTrack() override
|
std::shared_ptr<Track> DoFindTrack() override
|
||||||
{
|
{
|
||||||
return {};
|
return mTrack;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<UIHandlePtr> HitTest(const TrackPanelMouseState& state, const AudacityProject* pProject)
|
std::vector<UIHandlePtr> HitTest(const TrackPanelMouseState& state, const AudacityProject* pProject)
|
||||||
@ -1342,8 +1344,11 @@ struct ChannelGroup final : TrackPanelGroup {
|
|||||||
auto &view = TrackView::Get( *channel );
|
auto &view = TrackView::Get( *channel );
|
||||||
if (auto affordance = view.GetAffordanceControls())
|
if (auto affordance = view.GetAffordanceControls())
|
||||||
{
|
{
|
||||||
|
auto panelRect = std::make_shared<EmptyPanelRect>(
|
||||||
|
channel->shared_from_this(),
|
||||||
|
channel->GetSelected() ? clrTrackInfoSelected : clrTrackInfo);
|
||||||
Refinement hgroup {
|
Refinement hgroup {
|
||||||
std::make_pair(rect.GetLeft() + 1, std::make_shared<EmptyPanelRect>(channel->GetSelected() ? clrTrackInfoSelected : clrTrackInfo)),
|
std::make_pair(rect.GetLeft() + 1, panelRect),
|
||||||
std::make_pair(mLeftOffset, affordance)
|
std::make_pair(mLeftOffset, affordance)
|
||||||
};
|
};
|
||||||
refinement.emplace_back(yy, std::make_shared<HorizontalGroup>(hgroup));
|
refinement.emplace_back(yy, std::make_shared<HorizontalGroup>(hgroup));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user