WebPositive: let escape close the menu.
* Intercept the escape key to mean "stop loading" only when menus are closed.
This commit is contained in:
@@ -334,6 +334,7 @@ BrowserWindow::BrowserWindow(BRect frame, SettingsMessage* appSettings,
|
|||||||
B_AUTO_UPDATE_SIZE_LIMITS | B_ASYNCHRONOUS_CONTROLS),
|
B_AUTO_UPDATE_SIZE_LIMITS | B_ASYNCHRONOUS_CONTROLS),
|
||||||
fIsFullscreen(false),
|
fIsFullscreen(false),
|
||||||
fInterfaceVisible(false),
|
fInterfaceVisible(false),
|
||||||
|
fMenusRunning(false),
|
||||||
fPulseRunner(NULL),
|
fPulseRunner(NULL),
|
||||||
fVisibleInterfaceElements(interfaceElements),
|
fVisibleInterfaceElements(interfaceElements),
|
||||||
fContext(context),
|
fContext(context),
|
||||||
@@ -707,7 +708,7 @@ BrowserWindow::DispatchMessage(BMessage* message, BHandler* target)
|
|||||||
_InvokeButtonVisibly(fFindCloseButton);
|
_InvokeButtonVisibly(fFindCloseButton);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (bytes[0] == B_ESCAPE) {
|
} else if (bytes[0] == B_ESCAPE && !fMenusRunning) {
|
||||||
if (modifierKeys == B_COMMAND_KEY)
|
if (modifierKeys == B_COMMAND_KEY)
|
||||||
_ShowInterface(true);
|
_ShowInterface(true);
|
||||||
else {
|
else {
|
||||||
@@ -1125,6 +1126,14 @@ BrowserWindow::MenusBeginning()
|
|||||||
{
|
{
|
||||||
_UpdateHistoryMenu();
|
_UpdateHistoryMenu();
|
||||||
_UpdateClipboardItems();
|
_UpdateClipboardItems();
|
||||||
|
fMenusRunning = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
BrowserWindow::MenusEnded()
|
||||||
|
{
|
||||||
|
fMenusRunning = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ public:
|
|||||||
virtual void MessageReceived(BMessage* message);
|
virtual void MessageReceived(BMessage* message);
|
||||||
virtual bool QuitRequested();
|
virtual bool QuitRequested();
|
||||||
virtual void MenusBeginning();
|
virtual void MenusBeginning();
|
||||||
|
virtual void MenusEnded();
|
||||||
|
|
||||||
virtual void ScreenChanged(BRect screenSize,
|
virtual void ScreenChanged(BRect screenSize,
|
||||||
color_space format);
|
color_space format);
|
||||||
@@ -246,6 +247,7 @@ private:
|
|||||||
|
|
||||||
bool fIsFullscreen;
|
bool fIsFullscreen;
|
||||||
bool fInterfaceVisible;
|
bool fInterfaceVisible;
|
||||||
|
bool fMenusRunning;
|
||||||
BRect fNonFullscreenWindowFrame;
|
BRect fNonFullscreenWindowFrame;
|
||||||
BMessageRunner* fPulseRunner;
|
BMessageRunner* fPulseRunner;
|
||||||
uint32 fVisibleInterfaceElements;
|
uint32 fVisibleInterfaceElements;
|
||||||
|
|||||||
Reference in New Issue
Block a user