reopen app according to HIG
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -304,11 +304,38 @@ void wxApp::MacNewFile()
|
||||
|
||||
void wxApp::MacReopenApp()
|
||||
{
|
||||
// eventually check for open docs, if none, call MacNewFile
|
||||
wxTopLevelWindowMac* topLevelWindow = wxDynamicCast(GetTopWindow(), wxTopLevelWindowMac);
|
||||
|
||||
if (topLevelWindow && topLevelWindow->IsIconized())
|
||||
topLevelWindow->Iconize(false);
|
||||
// HIG says :
|
||||
// if there is no open window -> create a new one
|
||||
// if all windows are hidden -> show the first
|
||||
// if some windows are not hidden -> do nothing
|
||||
|
||||
wxWindowList::compatibility_iterator node = wxTopLevelWindows.GetFirst();
|
||||
if ( node == NULL )
|
||||
{
|
||||
MacNewFile() ;
|
||||
}
|
||||
else
|
||||
{
|
||||
wxTopLevelWindow* win = NULL ;
|
||||
wxTopLevelWindow* firstIconized = NULL ;
|
||||
while (node)
|
||||
{
|
||||
wxTopLevelWindow* win = (wxTopLevelWindow*) node->GetData();
|
||||
if ( win->IsIconized() == false )
|
||||
{
|
||||
firstIconized = NULL ;
|
||||
break ;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( firstIconized == NULL )
|
||||
firstIconized = win ;
|
||||
}
|
||||
node = node->GetNext();
|
||||
}
|
||||
if ( firstIconized )
|
||||
firstIconized->Iconize( false ) ;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user