mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-03 22:19:07 +02:00
Menus.cpp does not depend directly on ProjectWindow
This commit is contained in:
parent
3d71edca52
commit
c506536912
@ -36,7 +36,6 @@
|
|||||||
#include "Project.h"
|
#include "Project.h"
|
||||||
#include "ProjectHistory.h"
|
#include "ProjectHistory.h"
|
||||||
#include "ProjectSettings.h"
|
#include "ProjectSettings.h"
|
||||||
#include "ProjectWindow.h"
|
|
||||||
#include "UndoManager.h"
|
#include "UndoManager.h"
|
||||||
#include "commands/CommandManager.h"
|
#include "commands/CommandManager.h"
|
||||||
#include "prefs/TracksPrefs.h"
|
#include "prefs/TracksPrefs.h"
|
||||||
@ -352,6 +351,13 @@ void MenuManager::ModifyUndoMenuItems(AudacityProject &project)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get hackcess to a protected method
|
||||||
|
class wxFrameEx : public wxFrame
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
using wxFrame::DetachMenuBar;
|
||||||
|
};
|
||||||
|
|
||||||
void MenuCreator::RebuildMenuBar(AudacityProject &project)
|
void MenuCreator::RebuildMenuBar(AudacityProject &project)
|
||||||
{
|
{
|
||||||
// On OSX, we can't rebuild the menus while a modal dialog is being shown
|
// On OSX, we can't rebuild the menus while a modal dialog is being shown
|
||||||
@ -368,7 +374,7 @@ void MenuCreator::RebuildMenuBar(AudacityProject &project)
|
|||||||
// Delete the menus, since we will soon recreate them.
|
// Delete the menus, since we will soon recreate them.
|
||||||
// Rather oddly, the menus don't vanish as a result of doing this.
|
// Rather oddly, the menus don't vanish as a result of doing this.
|
||||||
{
|
{
|
||||||
auto &window = ProjectWindow::Get( project );
|
auto &window = static_cast<wxFrameEx&>( GetProjectFrame( project ) );
|
||||||
wxWindowPtr<wxMenuBar> menuBar{ window.GetMenuBar() };
|
wxWindowPtr<wxMenuBar> menuBar{ window.GetMenuBar() };
|
||||||
window.DetachMenuBar();
|
window.DetachMenuBar();
|
||||||
// menuBar gets deleted here
|
// menuBar gets deleted here
|
||||||
|
@ -79,8 +79,6 @@ public:
|
|||||||
};
|
};
|
||||||
PlaybackScroller &GetPlaybackScroller() { return *mPlaybackScroller; }
|
PlaybackScroller &GetPlaybackScroller() { return *mPlaybackScroller; }
|
||||||
|
|
||||||
using wxFrame::DetachMenuBar;
|
|
||||||
|
|
||||||
void SetNormalizedWindowState(wxRect pSizeAndLocation) { mNormalizedWindowState = pSizeAndLocation; }
|
void SetNormalizedWindowState(wxRect pSizeAndLocation) { mNormalizedWindowState = pSizeAndLocation; }
|
||||||
wxRect GetNormalizedWindowState() const { return mNormalizedWindowState; }
|
wxRect GetNormalizedWindowState() const { return mNormalizedWindowState; }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user