From 9786c1ecf9e35d8da85ce7793d155221fe73255b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 16 Feb 2006 13:48:00 +0000 Subject: [PATCH] * When an icon changes, the MimeTypeListView updates the type now. * Selecting "None" as preferred application didn't work. * Forgot to implement changing a MIME type's long description. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16422 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/filetypes/FileTypesWindow.cpp | 14 +++++++++++--- src/preferences/filetypes/MimeTypeListView.cpp | 10 ++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/preferences/filetypes/FileTypesWindow.cpp b/src/preferences/filetypes/FileTypesWindow.cpp index 620eedcf24..4a1196dd35 100644 --- a/src/preferences/filetypes/FileTypesWindow.cpp +++ b/src/preferences/filetypes/FileTypesWindow.cpp @@ -658,7 +658,7 @@ FileTypesWindow::FileTypesWindow(BRect frame) box->AddChild(fSelectButton); menu = new BPopUpMenu("preferred"); - menu->AddItem(item = new BMenuItem("None", NULL)); + menu->AddItem(item = new BMenuItem("None", new BMessage(kMsgPreferredAppChosen))); item->SetMarked(true); innerRect.right = innerRect.left - 6.0f; @@ -1237,13 +1237,21 @@ FileTypesWindow::MessageReceived(BMessage* message) break; } + case kMsgDescriptionEntered: + { + fCurrentType.SetLongDescription(fDescriptionControl->Text()); + break; + } + // Preferred Application group case kMsgPreferredAppChosen: { const char* signature; - if (message->FindString("signature", &signature) == B_OK) - fCurrentType.SetPreferredApp(signature); + if (message->FindString("signature", &signature) != B_OK) + signature = NULL; + + fCurrentType.SetPreferredApp(signature); break; } diff --git a/src/preferences/filetypes/MimeTypeListView.cpp b/src/preferences/filetypes/MimeTypeListView.cpp index 7264362bc0..283d69c355 100644 --- a/src/preferences/filetypes/MimeTypeListView.cpp +++ b/src/preferences/filetypes/MimeTypeListView.cpp @@ -512,6 +512,16 @@ MimeTypeListView::MessageReceived(BMessage* message) } break; } + case B_PREFERRED_APP_CHANGED: + case B_ICON_CHANGED: + // TODO: take B_ICON_FOR_TYPE_CHANGED into account, too + if (fShowIcons) { + // refresh item + MimeTypeItem* item = FindItem(type); + if (item != NULL) + InvalidateItem(IndexOf(item)); + } + break; default: break;