Cancel settings window on ESC, small cleanup.

This commit is contained in:
Humdinger
2012-02-29 20:21:20 +01:00
parent ddec5397e4
commit a697ddedc5
+18 -7
View File
@@ -31,9 +31,10 @@ const uint32 MSG_DESTSELECT = 'mDes';
ExpanderPreferences::ExpanderPreferences(BMessage* settings) ExpanderPreferences::ExpanderPreferences(BMessage* settings)
: BWindow(BRect(0, 0, 325, 305), B_TRANSLATE("Expander settings"), :
B_FLOATING_WINDOW_LOOK, B_FLOATING_APP_WINDOW_FEEL, B_NOT_CLOSABLE BWindow(BRect(0, 0, 325, 305), B_TRANSLATE("Expander settings"),
| B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS), B_FLOATING_WINDOW_LOOK, B_FLOATING_APP_WINDOW_FEEL, B_NOT_RESIZABLE
| B_NOT_CLOSABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS),
fSettings(settings), fSettings(settings),
fUsePanel(NULL) fUsePanel(NULL)
{ {
@@ -234,8 +235,9 @@ ExpanderPreferences::MessageReceived(BMessage* msg)
{ {
if (!fUsePanel) { if (!fUsePanel) {
BMessenger messenger(this); BMessenger messenger(this);
fUsePanel = new DirectoryFilePanel(B_OPEN_PANEL, &messenger, NULL, fUsePanel = new DirectoryFilePanel(B_OPEN_PANEL, &messenger,
B_DIRECTORY_NODE, false, NULL, new DirectoryRefFilter(), true); NULL, B_DIRECTORY_NODE, false, NULL,
new DirectoryRefFilter(), true);
} }
fUsePanel->Show(); fUsePanel->Show();
break; break;
@@ -274,16 +276,25 @@ ExpanderPreferences::MessageReceived(BMessage* msg)
fDestText->TextView()->MakeEditable(false); fDestText->TextView()->MakeEditable(false);
break; break;
} }
case B_KEY_DOWN:
{
int32 index;
if (msg->FindInt32("key", &index) == B_OK && index != 1)
break;
// Falling through on ESC
}
case MSG_CANCEL: case MSG_CANCEL:
{
_ReadSettings(); _ReadSettings();
Hide(); Hide();
break; break;
}
case MSG_OK: case MSG_OK:
{
_WriteSettings(); _WriteSettings();
Hide(); Hide();
break; break;
}
default: default:
break; break;
} }