diff --git a/src/preferences/backgrounds/Backgrounds.cpp b/src/preferences/backgrounds/Backgrounds.cpp index 630f380388..c2e3d16e67 100644 --- a/src/preferences/backgrounds/Backgrounds.cpp +++ b/src/preferences/backgrounds/Backgrounds.cpp @@ -11,7 +11,7 @@ #include "BackgroundsView.h" #include -#include +#include #include @@ -28,8 +28,6 @@ class BackgroundsWindow : public BWindow { public: BackgroundsWindow(BRect frame, bool standalone = true); - void ProcessRefs(entry_ref dir, BMessage* refs); - protected: virtual bool QuitRequested(); virtual void WorkspaceActivated(int32 oldWorkspaces, bool active); @@ -92,32 +90,9 @@ BackgroundsWindow::WorkspaceActivated(int32 oldWorkspaces, bool active) } -void -BackgroundsWindow::ProcessRefs(entry_ref dir, BMessage* refs) -{ - fBackgroundsView->ProcessRefs(dir, refs); -} - - // #pragma mark - -/*! - \brief Tracker add-on entry -*/ -void -process_refs(entry_ref dir, BMessage* refs, void* /*reserved*/) -{ - BackgroundsWindow* window = new BackgroundsWindow(BRect(100, 100, 570, 325), false); - window->ProcessRefs(dir, refs); - snooze(500); - window->Show(); - - status_t status; - wait_for_thread(window->Thread(), &status); -} - - int main(int argc, char** argv) { @@ -130,4 +105,3 @@ main(int argc, char** argv) return 0; } - diff --git a/src/preferences/backgrounds/BackgroundsView.cpp b/src/preferences/backgrounds/BackgroundsView.cpp index 895fab7e9b..0507b9c614 100644 --- a/src/preferences/backgrounds/BackgroundsView.cpp +++ b/src/preferences/backgrounds/BackgroundsView.cpp @@ -990,6 +990,12 @@ BackgroundsView::UpdateButtons() void BackgroundsView::RefsReceived(BMessage *msg) { + if (!msg->HasRef("refs") && msg->HasRef("dir_ref")) { + entry_ref dirRef; + if (msg->FindRef("dir_ref", &dirRef) == B_OK) + msg->AddRef("refs", &dirRef); + } + entry_ref ref; int32 i = 0; BMimeType imageType("image"); @@ -1095,23 +1101,6 @@ BackgroundsView::AddImage(BPath path) } -void -BackgroundsView::ProcessRefs(entry_ref dir, BMessage* refs) -{ - fWorkspaceMenu->FindItem(kMsgDefaultFolder)->SetMarked(true); - BMessenger messenger(this); - messenger.SendMessage(kMsgDefaultFolder); - - if (refs->CountNames(B_REF_TYPE) > 0) { - messenger.SendMessage(refs); - } else { - BMessage message(B_REFS_RECEIVED); - message.AddRef("refs", &dir); - messenger.SendMessage(&message); - } -} - - Image* BackgroundsView::GetImage(int32 imageIndex) { diff --git a/src/preferences/backgrounds/BackgroundsView.h b/src/preferences/backgrounds/BackgroundsView.h index 016c656886..f29a4af34c 100644 --- a/src/preferences/backgrounds/BackgroundsView.h +++ b/src/preferences/backgrounds/BackgroundsView.h @@ -90,7 +90,6 @@ class BackgroundsView : public BBox { void WorkspaceActivated(uint32 oldWorkspaces, bool active); int32 AddImage(BPath path); Image* GetImage(int32 imageIndex); - void ProcessRefs(entry_ref dir_ref, BMessage* msg); void GetPreferredSize(float* _width, float* _height);