* Give a chance to volume/disks icons to save their position when changing the

"Show Disks/Volumes Icon" preference. Fixes #1559
* Automatic white space cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32513 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Alexandre Deckner
2009-08-19 13:19:31 +00:00
parent 3074019e96
commit c5b7a0fe6a
+15 -14
View File
@@ -101,15 +101,15 @@ DesktopPoseView::InitDesktopDirentIterator(BPoseView *nodeMonitoringTarget,
return NULL; return NULL;
CachedEntryIteratorList *result = new DesktopEntryListCollection(); CachedEntryIteratorList *result = new DesktopEntryListCollection();
ASSERT(!sourceModel.IsQuery()); ASSERT(!sourceModel.IsQuery());
ASSERT(sourceModel.Node()); ASSERT(sourceModel.Node());
BDirectory *sourceDirectory = dynamic_cast<BDirectory *>(sourceModel.Node()); BDirectory *sourceDirectory = dynamic_cast<BDirectory *>(sourceModel.Node());
dev_t sourceDevice = sourceModel.NodeRef()->device; dev_t sourceDevice = sourceModel.NodeRef()->device;
ASSERT(sourceDirectory); ASSERT(sourceDirectory);
// build an iterator list, start with boot // build an iterator list, start with boot
EntryListBase *perDesktopIterator = new CachedDirectoryEntryList( EntryListBase *perDesktopIterator = new CachedDirectoryEntryList(
*sourceDirectory); *sourceDirectory);
@@ -153,7 +153,7 @@ DesktopPoseView::InitDesktopDirentIterator(BPoseView *nodeMonitoringTarget,
} }
} }
} }
if (result->Rewind() != B_OK) { if (result->Rewind() != B_OK) {
delete result; delete result;
if (nodeMonitoringTarget) if (nodeMonitoringTarget)
@@ -205,7 +205,7 @@ DesktopPoseView::FSNotification(const BMessage *message)
&& otherDesktop.GetEntry(&entry) == B_OK) { && otherDesktop.GetEntry(&entry) == B_OK) {
// place desktop items from the mounted volume onto the desktop // place desktop items from the mounted volume onto the desktop
Model model(&entry); Model model(&entry);
if (model.InitCheck() == B_OK) if (model.InitCheck() == B_OK)
AddPoses(&model); AddPoses(&model);
} }
} }
@@ -247,7 +247,7 @@ DesktopPoseView::Represents(const node_ref *ref) const
deviceDesktop.GetNodeRef(&nref); deviceDesktop.GetNodeRef(&nref);
return nref == *ref; return nref == *ref;
} }
return _inherited::Represents(ref); return _inherited::Represents(ref);
} }
@@ -266,14 +266,15 @@ void
DesktopPoseView::ShowVolumes(bool visible, bool showShared) DesktopPoseView::ShowVolumes(bool visible, bool showShared)
{ {
if (LockLooper()) { if (LockLooper()) {
SavePoseLocations();
if (!visible) if (!visible)
RemoveRootPoses(); RemoveRootPoses();
else else
AddRootPoses(true, showShared); AddRootPoses(true, showShared);
UnlockLooper(); UnlockLooper();
} }
} }
void void
DesktopPoseView::RemoveNonBootItems() DesktopPoseView::RemoveNonBootItems()
@@ -294,7 +295,7 @@ DesktopPoseView::AddNonBootItems()
return; return;
BVolumeRoster volumeRoster; BVolumeRoster volumeRoster;
BVolume boot; BVolume boot;
volumeRoster.GetBootVolume(&boot); volumeRoster.GetBootVolume(&boot);
@@ -310,9 +311,9 @@ DesktopPoseView::AddNonBootItems()
&& otherDesktop.GetEntry(&entry) == B_OK) { && otherDesktop.GetEntry(&entry) == B_OK) {
// place desktop items from the mounted volume onto the desktop // place desktop items from the mounted volume onto the desktop
Model model(&entry); Model model(&entry);
if (model.InitCheck() == B_OK) if (model.InitCheck() == B_OK)
AddPoses(&model); AddPoses(&model);
} }
} }
} }
@@ -359,7 +360,7 @@ DesktopPoseView::AdaptToVolumeChange(BMessage *message)
if (model.InitCheck() == B_OK) { if (model.InitCheck() == B_OK) {
BMessage entryMessage; BMessage entryMessage;
entryMessage.what = B_NODE_MONITOR; entryMessage.what = B_NODE_MONITOR;
if (showDisksIcon) if (showDisksIcon)
entryMessage.AddInt32("opcode", B_ENTRY_CREATED); entryMessage.AddInt32("opcode", B_ENTRY_CREATED);
else { else {
@@ -392,7 +393,7 @@ DesktopPoseView::AdaptToDesktopIntegrationChange(BMessage *message)
bool mountVolumesOnDesktop = true; bool mountVolumesOnDesktop = true;
bool mountSharedVolumesOntoDesktop = true; bool mountSharedVolumesOntoDesktop = true;
bool integrateNonBootBeOSDesktops = true; bool integrateNonBootBeOSDesktops = true;
message->FindBool("MountVolumesOntoDesktop", &mountVolumesOnDesktop); message->FindBool("MountVolumesOntoDesktop", &mountVolumesOnDesktop);
message->FindBool("MountSharedVolumesOntoDesktop", &mountSharedVolumesOntoDesktop); message->FindBool("MountSharedVolumesOntoDesktop", &mountSharedVolumesOntoDesktop);
message->FindBool("IntegrateNonBootBeOSDesktops", &integrateNonBootBeOSDesktops); message->FindBool("IntegrateNonBootBeOSDesktops", &integrateNonBootBeOSDesktops);
@@ -442,7 +443,7 @@ DesktopPoseView::UpdateNonBootDesktopPoses(bool integrateNonBootBeOSDesktops)
&& volume != bootVolume) { && volume != bootVolume) {
// place desktop items from the volume onto the desktop // place desktop items from the volume onto the desktop
Model model(&entry); Model model(&entry);
if (model.InitCheck() == B_OK) if (model.InitCheck() == B_OK)
AddPoses(&model); AddPoses(&model);
} }
} }