From c5bf61690ac689071136bbac1475635f4c007857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 18 Aug 2009 12:03:12 +0000 Subject: [PATCH] * When switching modifiers, the source key was not invalidated, making it appear as if a copy happened. This closes bug #4242. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32490 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/keymap/KeyboardLayoutView.cpp | 7 +++++-- src/preferences/keymap/KeymapWindow.cpp | 14 ++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/preferences/keymap/KeyboardLayoutView.cpp b/src/preferences/keymap/KeyboardLayoutView.cpp index 3bec5be5f1..4764d1b9aa 100644 --- a/src/preferences/keymap/KeyboardLayoutView.cpp +++ b/src/preferences/keymap/KeyboardLayoutView.cpp @@ -27,7 +27,8 @@ static const rgb_color kLitIndicatorColor = {116, 212, 83, 255}; KeyboardLayoutView::KeyboardLayoutView(const char* name) - : BView(name, B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE | B_FRAME_EVENTS), + : + BView(name, B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE | B_FRAME_EVENTS), fOffscreenBitmap(NULL), fKeymap(NULL), fEditable(true), @@ -236,7 +237,7 @@ KeyboardLayoutView::MouseMoved(BPoint point, uint32 transit, if (fKeymap == NULL) return; - // rule out dragging for tertiary mouse button + // prevent dragging for tertiary mouse button if ((fButtons & B_TERTIARY_MOUSE_BUTTON) != 0) return; @@ -470,6 +471,8 @@ KeyboardLayoutView::MessageReceived(BMessage* message) fKeymap->Modifier(fDropTarget->code)); fKeymap->SetModifier(fDropTarget->code, modifier); } + + _InvalidateKey(fDragKey); } _InvalidateKey(fDropTarget); diff --git a/src/preferences/keymap/KeymapWindow.cpp b/src/preferences/keymap/KeymapWindow.cpp index 4bd17a973a..dbfd6c7834 100644 --- a/src/preferences/keymap/KeymapWindow.cpp +++ b/src/preferences/keymap/KeymapWindow.cpp @@ -9,6 +9,7 @@ * Axel Dörfler, axeld@pinc-software.de. */ + #include "KeymapWindow.h" #include @@ -62,7 +63,8 @@ static const char* kCurrentKeymapName = "(Current)"; KeymapWindow::KeymapWindow() - : BWindow(BRect(80, 50, 880, 380), "Keymap", B_TITLED_WINDOW, + : + BWindow(BRect(80, 50, 880, 380), "Keymap", B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS) { SetLayout(new BGroupLayout(B_VERTICAL)); @@ -311,7 +313,7 @@ KeymapWindow::MessageReceived(BMessage* message) case kMsgDeadKeyAcuteChanged: { - BMenuItem *item = fAcuteMenu->FindMarked(); + BMenuItem* item = fAcuteMenu->FindMarked(); if (item != NULL) { const char* trigger = item->Label(); if (strcmp(trigger, kDeadKeyTriggerNone) == 0) @@ -324,7 +326,7 @@ KeymapWindow::MessageReceived(BMessage* message) case kMsgDeadKeyCircumflexChanged: { - BMenuItem *item = fCircumflexMenu->FindMarked(); + BMenuItem* item = fCircumflexMenu->FindMarked(); if (item != NULL) { const char* trigger = item->Label(); if (strcmp(trigger, kDeadKeyTriggerNone) == 0) @@ -337,7 +339,7 @@ KeymapWindow::MessageReceived(BMessage* message) case kMsgDeadKeyDiaeresisChanged: { - BMenuItem *item = fDiaeresisMenu->FindMarked(); + BMenuItem* item = fDiaeresisMenu->FindMarked(); if (item != NULL) { const char* trigger = item->Label(); if (strcmp(trigger, kDeadKeyTriggerNone) == 0) @@ -350,7 +352,7 @@ KeymapWindow::MessageReceived(BMessage* message) case kMsgDeadKeyGraveChanged: { - BMenuItem *item = fGraveMenu->FindMarked(); + BMenuItem* item = fGraveMenu->FindMarked(); if (item != NULL) { const char* trigger = item->Label(); if (strcmp(trigger, kDeadKeyTriggerNone) == 0) @@ -363,7 +365,7 @@ KeymapWindow::MessageReceived(BMessage* message) case kMsgDeadKeyTildeChanged: { - BMenuItem *item = fTildeMenu->FindMarked(); + BMenuItem* item = fTildeMenu->FindMarked(); if (item != NULL) { const char* trigger = item->Label(); if (strcmp(trigger, kDeadKeyTriggerNone) == 0)