Push the Quit/Close menu logic down into common.
This commit is contained in:
parent
c258ad7e3c
commit
cc82e59003
|
@ -26,6 +26,7 @@
|
|||
#include <tool/conditional_menu.h>
|
||||
#include <tool/action_menu.h>
|
||||
#include <menus_helpers.h>
|
||||
#include <kiface_i.h>
|
||||
|
||||
|
||||
CONDITIONAL_MENU::CONDITIONAL_MENU( bool isContextMenu, TOOL_INTERACTIVE* aTool ) :
|
||||
|
@ -98,6 +99,21 @@ void CONDITIONAL_MENU::AddSeparator( int aOrder )
|
|||
}
|
||||
|
||||
|
||||
void CONDITIONAL_MENU::AddQuitOrClose( KIFACE_I* aKiface )
|
||||
{
|
||||
if( !aKiface || aKiface->IsSingle() ) // not when under a project mgr
|
||||
{
|
||||
// Don't use ACTIONS::quit; wxWidgets moves this on OSX and expects to find it via
|
||||
// wxID_EXIT
|
||||
AddItem( wxID_EXIT, _( "Quit" ), "", exit_xpm, SELECTION_CONDITIONS::ShowAlways );
|
||||
}
|
||||
else
|
||||
{
|
||||
AddItem( wxID_CLOSE, _( "Close\tCTRL+W" ), "", exit_xpm, SELECTION_CONDITIONS::ShowAlways );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SELECTION g_resolveDummySelection;
|
||||
|
||||
|
||||
|
|
|
@ -115,16 +115,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
|
|||
fileMenu->AddItem( ACTIONS::plot, EE_CONDITIONS::ShowAlways );
|
||||
|
||||
fileMenu->AddSeparator();
|
||||
|
||||
if( Kiface().IsSingle() ) // not when under a project mgr
|
||||
{
|
||||
// Don't use ACTIONS::quit; wxWidgets moves this on OSX and expects to find it via wxID_EXIT
|
||||
fileMenu->AddItem( wxID_EXIT, _( "Quit" ), "", exit_xpm, EE_CONDITIONS::ShowAlways );
|
||||
}
|
||||
else
|
||||
{
|
||||
fileMenu->AddItem( wxID_CLOSE, _( "Close" ), "", exit_xpm, EE_CONDITIONS::ShowAlways );
|
||||
}
|
||||
fileMenu->AddQuitOrClose( &Kiface() );
|
||||
|
||||
fileMenu->Resolve();
|
||||
|
||||
|
|
|
@ -139,8 +139,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar()
|
|||
fileMenu->AddItem( ACTIONS::print, SELECTION_CONDITIONS::ShowAlways );
|
||||
|
||||
fileMenu->AddSeparator();
|
||||
// Don't use ACTIONS::quit; wxWidgets moves this on OSX and expects to find it via wxID_EXIT
|
||||
fileMenu->AddItem( wxID_EXIT, _( "Quit" ), "", exit_xpm, SELECTION_CONDITIONS::ShowAlways );
|
||||
fileMenu->AddQuitOrClose( &Kiface() );
|
||||
|
||||
fileMenu->Resolve();
|
||||
|
||||
|
|
|
@ -30,10 +30,10 @@
|
|||
#include <list>
|
||||
#include <wx/wx.h>
|
||||
|
||||
|
||||
class SELECTION_TOOL;
|
||||
class TOOL_ACTION;
|
||||
class TOOL_INTERACTIVE;
|
||||
class KIFACE_I;
|
||||
|
||||
|
||||
class CONDITIONAL_MENU : public ACTION_MENU
|
||||
|
@ -100,6 +100,14 @@ public:
|
|||
*/
|
||||
void AddSeparator( int aOrder = ANY_ORDER );
|
||||
|
||||
/**
|
||||
* Functions AddQuitOrClose()
|
||||
*
|
||||
* Adds either a standard Quit or Close item to the menu (depending on whether or not the
|
||||
* app was launched stand-alone).
|
||||
*/
|
||||
void AddQuitOrClose( KIFACE_I* aKiface );
|
||||
|
||||
/**
|
||||
* Function Evaluate()
|
||||
*
|
||||
|
|
|
@ -84,8 +84,7 @@ void KICAD_MANAGER_FRAME::ReCreateMenuBar()
|
|||
unzip_xpm, SELECTION_CONDITIONS::ShowAlways );
|
||||
|
||||
fileMenu->AddSeparator();
|
||||
// Don't use ACTIONS::quit; wxWidgets moves this on OSX and expects to find it via wxID_EXIT
|
||||
fileMenu->AddItem( wxID_EXIT, _( "Quit" ), "", exit_xpm, SELECTION_CONDITIONS::ShowAlways );
|
||||
fileMenu->AddQuitOrClose( nullptr );
|
||||
|
||||
fileMenu->Resolve();
|
||||
|
||||
|
|
|
@ -78,18 +78,7 @@ void PL_EDITOR_FRAME::ReCreateMenuBar()
|
|||
fileMenu->AddItem( ACTIONS::print, SELECTION_CONDITIONS::ShowAlways );
|
||||
|
||||
fileMenu->AddSeparator();
|
||||
|
||||
if( Kiface().IsSingle() )
|
||||
{
|
||||
// Don't use ACTIONS::quit; wxWidgets moves this on OSX and expects to find it via wxID_EXIT
|
||||
fileMenu->AddItem( wxID_EXIT, _( "Quit" ), "", exit_xpm,
|
||||
SELECTION_CONDITIONS::ShowAlways );
|
||||
}
|
||||
else
|
||||
{
|
||||
fileMenu->AddItem( wxID_CLOSE, _( "Close" ), "", exit_xpm,
|
||||
SELECTION_CONDITIONS::ShowAlways );
|
||||
}
|
||||
fileMenu->AddQuitOrClose( &Kiface() );
|
||||
|
||||
fileMenu->Resolve();
|
||||
|
||||
|
|
|
@ -193,17 +193,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
|
|||
fileMenu->AddMenu( submenuArchive, SELECTION_CONDITIONS::ShowAlways );
|
||||
|
||||
fileMenu->AddSeparator();
|
||||
|
||||
if( Kiface().IsSingle() ) // not when under a project mgr
|
||||
{
|
||||
// Don't use ACTIONS::quit; wxWidgets moves this on OSX and expects to find it via wxID_EXIT
|
||||
fileMenu->AddItem( wxID_EXIT, _( "Quit" ), "", exit_xpm, SELECTION_CONDITIONS::ShowAlways );
|
||||
}
|
||||
else
|
||||
{
|
||||
fileMenu->AddItem(
|
||||
wxID_CLOSE, _( "Close" ), "", exit_xpm, SELECTION_CONDITIONS::ShowAlways );
|
||||
}
|
||||
fileMenu->AddQuitOrClose( &Kiface() );
|
||||
|
||||
fileMenu->Resolve();
|
||||
|
||||
|
|
Loading…
Reference in New Issue