From a51764c53eecd8ca5f6312b92d8baccda89d5b1d Mon Sep 17 00:00:00 2001 From: John Scipione Date: Fri, 27 Jul 2012 23:12:08 -0400 Subject: [PATCH 01/19] WIP: Yet more style fixes, mostly 80 char violations. --- src/kits/tracker/AttributeStream.cpp | 22 +- src/kits/tracker/AttributeStream.h | 28 +- src/kits/tracker/Background.h | 24 +- src/kits/tracker/BackgroundImage.cpp | 12 +- src/kits/tracker/Bitmaps.cpp | 25 +- src/kits/tracker/ContainerWindow.cpp | 67 ++-- src/kits/tracker/DesktopPoseView.cpp | 6 +- src/kits/tracker/FSClipboard.cpp | 34 +- src/kits/tracker/FSClipboard.h | 8 +- src/kits/tracker/FSUndoRedo.cpp | 32 +- src/kits/tracker/FSUtils.h | 79 ++-- src/kits/tracker/FavoritesMenu.cpp | 17 +- src/kits/tracker/FilePanelPriv.cpp | 142 ++++--- src/kits/tracker/FilePanelPriv.h | 3 +- src/kits/tracker/FindPanel.cpp | 576 +++++++++++++++------------ src/kits/tracker/GroupedMenu.cpp | 14 +- src/kits/tracker/IconCache.cpp | 194 +++++---- src/kits/tracker/IconCache.h | 84 ++-- src/kits/tracker/InfoWindow.cpp | 258 +++++++----- src/kits/tracker/MimeTypeList.cpp | 5 +- src/kits/tracker/Model.cpp | 88 ++-- src/kits/tracker/Model.h | 38 +- src/kits/tracker/Navigator.cpp | 60 ++- src/kits/tracker/OpenWithWindow.cpp | 23 +- src/kits/tracker/OpenWithWindow.h | 59 ++- src/kits/tracker/OverrideAlert.cpp | 11 +- src/kits/tracker/Pose.cpp | 91 +++-- src/kits/tracker/Pose.h | 12 +- src/kits/tracker/PoseList.h | 37 +- src/kits/tracker/PoseView.cpp | 82 ++-- 30 files changed, 1273 insertions(+), 858 deletions(-) diff --git a/src/kits/tracker/AttributeStream.cpp b/src/kits/tracker/AttributeStream.cpp index 47a8ce0896..e315b526a3 100644 --- a/src/kits/tracker/AttributeStream.cpp +++ b/src/kits/tracker/AttributeStream.cpp @@ -156,8 +156,8 @@ AttributeStreamNode::Contains(const char* name, uint32 type) off_t -AttributeStreamNode::Read(const char* name, const char* foreignName, uint32 type, - off_t size, void* buffer, void (*swapFunc)(void*)) +AttributeStreamNode::Read(const char* name, const char* foreignName, + uint32 type, off_t size, void* buffer, void (*swapFunc)(void*)) { if (!fReadFrom) return 0; @@ -288,8 +288,8 @@ AttributeStreamFileNode::Contains(const char* name, uint32 type) off_t -AttributeStreamFileNode::Read(const char* name, const char* foreignName, uint32 type, - off_t size, void* buffer, void (*swapFunc)(void*)) +AttributeStreamFileNode::Read(const char* name, const char* foreignName, + uint32 type, off_t size, void* buffer, void (*swapFunc)(void*)) { if (name && fNode->ReadAttr(name, type, 0, buffer, (size_t)size) == size) return size; @@ -306,8 +306,8 @@ AttributeStreamFileNode::Read(const char* name, const char* foreignName, uint32 off_t -AttributeStreamFileNode::Write(const char* name, const char* foreignName, uint32 type, - off_t size, const void* buffer) +AttributeStreamFileNode::Write(const char* name, const char* foreignName, + uint32 type, off_t size, const void* buffer) { ASSERT(fNode); ASSERT(dynamic_cast(fNode)); @@ -659,8 +659,8 @@ AttributeStreamFilterNode::Contains(const char* name, uint32 type) off_t -AttributeStreamFilterNode::Read(const char* name, const char* foreignName, uint32 type, - off_t size, void* buffer, void (*swapFunc)(void*)) +AttributeStreamFilterNode::Read(const char* name, const char* foreignName, + uint32 type, off_t size, void* buffer, void (*swapFunc)(void*)) { if (!fReadFrom) return 0; @@ -673,8 +673,8 @@ AttributeStreamFilterNode::Read(const char* name, const char* foreignName, uint3 off_t -AttributeStreamFilterNode::Write(const char* name, const char* foreignName, uint32 type, - off_t size, const void* buffer) +AttributeStreamFilterNode::Write(const char* name, const char* foreignName, + uint32 type, off_t size, const void* buffer) { if (!fWriteTo) return 0; @@ -693,7 +693,7 @@ NamesToAcceptAttrFilter::NamesToAcceptAttrFilter(const char** nameList) bool -NamesToAcceptAttrFilter::Reject(const char* name, uint32 , off_t ) +NamesToAcceptAttrFilter::Reject(const char* name, uint32, off_t) { for (int32 index = 0; ;index++) { if (!fNameList[index]) diff --git a/src/kits/tracker/AttributeStream.h b/src/kits/tracker/AttributeStream.h index 0102ba8972..eb37452c69 100644 --- a/src/kits/tracker/AttributeStream.h +++ b/src/kits/tracker/AttributeStream.h @@ -114,11 +114,11 @@ public: virtual off_t Contains(const char*, uint32); // returns size of attribute if found - virtual off_t Read(const char* name, const char* foreignName, uint32 type, off_t size, - void* buffer, void (*swapFunc)(void*) = 0); + virtual off_t Read(const char* name, const char* foreignName, + uint32 type, off_t size, void* buffer, void (*swapFunc)(void*) = 0); // read from this node - virtual off_t Write(const char* name, const char* foreignName, uint32 type, off_t size, - const void* buffer); + virtual off_t Write(const char* name, const char* foreignName, + uint32 type, off_t size, const void* buffer); // write to this node // work calls @@ -307,22 +307,25 @@ private: class SelectiveAttributeTransformer : public AttributeStreamNode { // node applies a transformation on specified attributes public: - SelectiveAttributeTransformer(const char* attributeName, bool (*)(const char*, - uint32 , off_t , void*, void*), void* params); + SelectiveAttributeTransformer(const char* attributeName, + bool (*)(const char*, uint32 , off_t , void*, void*), void* params); virtual ~SelectiveAttributeTransformer(); - virtual off_t Read(const char* name, const char* foreignName, uint32 type, off_t size, - void* buffer, void (*swapFunc)(void*) = 0); + virtual off_t Read(const char* name, const char* foreignName, uint32 type, + off_t size, void* buffer, void (*swapFunc)(void*) = 0); virtual void Rewind(); protected: - virtual bool WillTransform(const char* name, uint32 type, off_t size, const char* data) const; + virtual bool WillTransform(const char* name, uint32 type, off_t size, + const char* data) const; // override to implement filtering; should only return true if transformation will // occur - virtual char* CopyAndApplyTransformer(const char* name, uint32 type, off_t size, const char* data); + virtual char* CopyAndApplyTransformer(const char* name, uint32 type, + off_t size, const char* data); // makes a copy of data - virtual bool ApplyTransformer(const char* name, uint32 type, off_t size, char* data); + virtual bool ApplyTransformer(const char* name, uint32 type, off_t size, + char* data); // transforms in place virtual const AttributeInfo* Next(); virtual const char* Get(); @@ -342,7 +345,8 @@ private: template class AttributeStreamConstValue : public AttributeStreamNode { public: - AttributeStreamConstValue(const char* name, uint32 attributeType, Type value); + AttributeStreamConstValue(const char* name, uint32 attributeType, + Type value); protected: virtual bool CanFeed() const { return true; } diff --git a/src/kits/tracker/Background.h b/src/kits/tracker/Background.h index b850313ff4..58e4b63657 100644 --- a/src/kits/tracker/Background.h +++ b/src/kits/tracker/Background.h @@ -31,10 +31,10 @@ of Be Incorporated in the United States and other countries. Other brand product names are registered trademarks or trademarks of their respective holders. All rights reserved. */ - #ifndef _TRACKER_BACKGROUND_H #define _TRACKER_BACKGROUND_H + #include /*----------------------------------------------------------------*/ @@ -45,12 +45,18 @@ All rights reserved. /*----------------------------------------------------------------*/ /*----- Tracker background BMessage entries --------------------*/ -#define B_BACKGROUND_IMAGE "be:bgndimginfopath" // string path -#define B_BACKGROUND_MODE "be:bgndimginfomode" // int32, the enum below -#define B_BACKGROUND_ORIGIN "be:bgndimginfooffset" // BPoint -#define B_BACKGROUND_TEXT_OUTLINE "be:bgndimginfoerasetext" // bool - // NOTE: the actual attribute name is kept for backwards compatible settings -#define B_BACKGROUND_WORKSPACES "be:bgndimginfoworkspaces" // uint32 +#define B_BACKGROUND_IMAGE "be:bgndimginfopath" + // string path +#define B_BACKGROUND_MODE "be:bgndimginfomode" + // int32, the enum below +#define B_BACKGROUND_ORIGIN "be:bgndimginfooffset" + // BPoint +#define B_BACKGROUND_TEXT_OUTLINE "be:bgndimginfoerasetext" + // bool + // NOTE: the actual attribute name is kept for backwards + // compatible settings +#define B_BACKGROUND_WORKSPACES "be:bgndimginfoworkspaces" + // uint32 /*----------------------------------------------------------------*/ /*----- Background mode values ---------------------------------*/ @@ -65,7 +71,7 @@ enum { /*----------------------------------------------------------------*/ /*----------------------------------------------------------------*/ -const int32 B_RESTORE_BACKGROUND_IMAGE = 'Tbgr'; // force a Tracker window to - // use a new background image +const int32 B_RESTORE_BACKGROUND_IMAGE = 'Tbgr'; + // force a Tracker window to use a new background image #endif // _TRACKER_BACKGROUND_H diff --git a/src/kits/tracker/BackgroundImage.cpp b/src/kits/tracker/BackgroundImage.cpp index f12d110bb0..200787533c 100644 --- a/src/kits/tracker/BackgroundImage.cpp +++ b/src/kits/tracker/BackgroundImage.cpp @@ -71,7 +71,7 @@ BackgroundImage::GetBackgroundImage(const BNode* node, bool isDesktop) return NULL; BMessage container; - char* buffer = new char [info.size]; + char* buffer = new char[info.size]; status_t error = node->ReadAttr(kBackgroundImageInfo, info.type, 0, buffer, (size_t)info.size); if (error == info.size) @@ -104,14 +104,16 @@ BackgroundImage::GetBackgroundImage(const BNode* node, bool isDesktop) be_control_look->SetBackgroundInfo(container); } - container.FindInt32(kBackgroundImageInfoWorkspaces, index, (int32*)&workspaces); + container.FindInt32(kBackgroundImageInfoWorkspaces, index, + (int32*)&workspaces); container.FindInt32(kBackgroundImageInfoMode, index, (int32*)&mode); - container.FindBool(kBackgroundImageInfoTextOutline, index, &textWidgetLabelOutline); + container.FindBool(kBackgroundImageInfoTextOutline, index, + &textWidgetLabelOutline); container.FindPoint(kBackgroundImageInfoOffset, index, &offset); BackgroundImage::BackgroundImageInfo* imageInfo = new - BackgroundImage::BackgroundImageInfo(workspaces, bitmap, mode, offset, - textWidgetLabelOutline); + BackgroundImage::BackgroundImageInfo(workspaces, bitmap, mode, + offset, textWidgetLabelOutline); if (!result) result = new BackgroundImage(node, isDesktop); diff --git a/src/kits/tracker/Bitmaps.cpp b/src/kits/tracker/Bitmaps.cpp index 2f4f68cbf5..a1483426cc 100644 --- a/src/kits/tracker/Bitmaps.cpp +++ b/src/kits/tracker/Bitmaps.cpp @@ -104,7 +104,8 @@ BImageResources::FinishResources(BResources* res) const const void* -BImageResources::LoadResource(type_code type, int32 id, size_t* out_size) const +BImageResources::LoadResource(type_code type, int32 id, + size_t* out_size) const { // Serialize execution. // Looks like BResources is not really thread safe. We should @@ -116,12 +117,14 @@ BImageResources::LoadResource(type_code type, int32 id, size_t* out_size) const // Return the resource. Because we never change the BResources // object, the returned data will not change until TTracker is // destroyed. - return const_cast(&fResources)->LoadResource(type, id, out_size); + return const_cast(&fResources)->LoadResource(type, id, + out_size); } const void* -BImageResources::LoadResource(type_code type, const char* name, size_t* out_size) const +BImageResources::LoadResource(type_code type, const char* name, + size_t* out_size) const { // Serialize execution. BAutolock lock(fLock); @@ -131,12 +134,14 @@ BImageResources::LoadResource(type_code type, const char* name, size_t* out_size // Return the resource. Because we never change the BResources // object, the returned data will not change until TTracker is // destroyed. - return const_cast(&fResources)->LoadResource(type, name, out_size); + return const_cast(&fResources)->LoadResource(type, name, + out_size); } status_t -BImageResources::GetIconResource(int32 id, icon_size size, BBitmap* dest) const +BImageResources::GetIconResource(int32 id, icon_size size, + BBitmap* dest) const { size_t length = 0; const void* data; @@ -144,8 +149,10 @@ BImageResources::GetIconResource(int32 id, icon_size size, BBitmap* dest) const #ifdef __HAIKU__ // try to load vector icon data = LoadResource(B_VECTOR_ICON_TYPE, id, &length); - if (data != NULL && BIconUtils::GetVectorIcon((uint8*)data, length, dest) == B_OK) + if (data != NULL + && BIconUtils::GetVectorIcon((uint8*)data, length, dest) == B_OK) { return B_OK; + } #endif // fall back to R5 icon @@ -155,7 +162,8 @@ BImageResources::GetIconResource(int32 id, icon_size size, BBitmap* dest) const length = 0; data = LoadResource(size == B_LARGE_ICON ? 'ICON' : 'MICN', id, &length); - if (data == NULL || length != (size_t)(size == B_LARGE_ICON ? 1024 : 256)) { + if (data == NULL + || length != (size_t)(size == B_LARGE_ICON ? 1024 : 256)) { TRESPASS(); return B_ERROR; } @@ -212,7 +220,8 @@ BImageResources::find_image(void* memAddr) const status_t -BImageResources::GetBitmapResource(type_code type, int32 id, BBitmap** out) const +BImageResources::GetBitmapResource(type_code type, int32 id, + BBitmap** out) const { *out = NULL; diff --git a/src/kits/tracker/ContainerWindow.cpp b/src/kits/tracker/ContainerWindow.cpp index 34d9b28550..4117d8588d 100644 --- a/src/kits/tracker/ContainerWindow.cpp +++ b/src/kits/tracker/ContainerWindow.cpp @@ -110,12 +110,14 @@ namespace BPrivate { class DraggableContainerIcon : public BView { public: - DraggableContainerIcon(BRect rect, const char* name, uint32 resizeMask); + DraggableContainerIcon(BRect rect, const char* name, + uint32 resizeMask); virtual void AttachedToWindow(); virtual void MouseDown(BPoint where); virtual void MouseUp(BPoint where); - virtual void MouseMoved(BPoint point, uint32 /*transit*/, const BMessage* message); + virtual void MouseMoved(BPoint point, uint32 /*transit*/, + const BMessage* message); virtual void FrameMoved(BPoint newLocation); virtual void Draw(BRect updateRect); @@ -215,7 +217,8 @@ CompareLabels(const BMenuItem* item1, const BMenuItem* item2) static bool -AddOneAddon(const Model* model, const char* name, uint32 shortcut, bool primary, void* context) +AddOneAddon(const Model* model, const char* name, uint32 shortcut, + bool primary, void* context) { AddOneAddonParams* params = (AddOneAddonParams*)context; @@ -249,14 +252,16 @@ AddOnThread(BMessage* refsMessage, entry_ref addonRef, entry_ref dirRef) image_id addonImage = load_add_on(path.Path()); if (addonImage >= 0) { void (*processRefs)(entry_ref, BMessage*, void*); - result = get_image_symbol(addonImage, "process_refs", 2, (void**)&processRefs); + result = get_image_symbol(addonImage, "process_refs", 2, + (void**)&processRefs); #ifndef __INTEL__ if (result < 0) { PRINT(("trying old legacy ppc signature\n")); // try old-style addon signature result = get_image_symbol(addonImage, - "process_refs__F9entry_refP8BMessagePv", 2, (void**)&processRefs); + "process_refs__F9entry_refP8BMessagePv", 2, + (void**)&processRefs); } #endif @@ -279,8 +284,8 @@ AddOnThread(BMessage* refsMessage, entry_ref addonRef, entry_ref dirRef) buffer.ReplaceFirst("%error", strerror(result)); buffer.ReplaceFirst("%name", addonRef.name); - BAlert* alert = new BAlert("", buffer.String(), B_TRANSLATE("Cancel"), 0, 0, - B_WIDTH_AS_USUAL, B_WARNING_ALERT); + BAlert* alert = new BAlert("", buffer.String(), B_TRANSLATE("Cancel"), + 0, 0, B_WIDTH_AS_USUAL, B_WARNING_ALERT); alert->SetShortcut(0, B_ESCAPE); alert->Go(); @@ -946,10 +951,12 @@ BContainerWindow::Init(const BMessage* message) float iconSize = fMenuBar->Bounds().Height() - 2; if (iconSize < 16) iconSize = 16; - float iconPosY = 1 + (fMenuBar->Bounds().Height() - 2 - iconSize) / 2; - BView* icon = new DraggableContainerIcon(BRect(Bounds().Width() - 4 - iconSize + 1, - iconPosY, Bounds().Width() - 4, iconPosY + iconSize - 1), - "ThisContainer", B_FOLLOW_RIGHT); + float iconPosY = 1 + (fMenuBar->Bounds().Height() - 2 + - iconSize) / 2; + BView* icon = new DraggableContainerIcon(BRect(Bounds().Width() + - 4 - iconSize + 1, iconPosY, Bounds().Width() - 4, + iconPosY + iconSize - 1), "ThisContainer", + B_FOLLOW_RIGHT); fMenuBar->AddChild(icon); } } else { @@ -958,11 +965,12 @@ BContainerWindow::Init(const BMessage* message) } AddContextMenus(); - AddShortcut('T', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kDelete), PoseView()); + AddShortcut('T', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kDelete), + PoseView()); AddShortcut('K', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kCleanupAll), PoseView()); - AddShortcut('Q', B_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY | B_CONTROL_KEY, - new BMessage(kQuitTracker)); + AddShortcut('Q', B_COMMAND_KEY | B_OPTION_KEY | B_SHIFT_KEY + | B_CONTROL_KEY, new BMessage(kQuitTracker)); AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY, new BMessage(kOpenSelection), PoseView()); @@ -971,9 +979,12 @@ BContainerWindow::Init(const BMessage* message) #if DEBUG // add some debugging shortcuts - AddShortcut('D', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dbug'), PoseView()); - AddShortcut('C', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dpcc'), PoseView()); - AddShortcut('F', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dpfl'), PoseView()); + AddShortcut('D', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dbug'), + PoseView()); + AddShortcut('C', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dpcc'), + PoseView()); + AddShortcut('F', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage('dpfl'), + PoseView()); AddShortcut('F', B_COMMAND_KEY | B_CONTROL_KEY | B_OPTION_KEY, new BMessage('dpfL'), PoseView()); #endif @@ -1007,7 +1018,8 @@ BContainerWindow::Init(const BMessage* message) void BContainerWindow::RestoreState() { - SetSizeLimits(kContainerWidthMinLimit, 10000, kContainerWindowHeightLimit, 10000); + SetSizeLimits(kContainerWidthMinLimit, 10000, + kContainerWindowHeightLimit, 10000); UpdateTitle(); @@ -1022,7 +1034,8 @@ BContainerWindow::RestoreState() void BContainerWindow::RestoreState(const BMessage &message) { - SetSizeLimits(kContainerWidthMinLimit, 10000, kContainerWindowHeightLimit, 10000); + SetSizeLimits(kContainerWidthMinLimit, 10000, + kContainerWindowHeightLimit, 10000); UpdateTitle(); @@ -1057,7 +1070,8 @@ BContainerWindow::RestoreStateCommon() if (!fBackgroundImage && !isDesktop && DefaultStateSourceNode(kDefaultFolderTemplate, &defaultingNode)) // look for background image info in the source for defaults - fBackgroundImage = BackgroundImage::GetBackgroundImage(&defaultingNode, isDesktop); + fBackgroundImage + = BackgroundImage::GetBackgroundImage(&defaultingNode, isDesktop); } @@ -1075,7 +1089,8 @@ BContainerWindow::UpdateTitle() SetTitle(TargetModel()->Name()); if (Navigator()) - Navigator()->UpdateLocation(PoseView()->TargetModel(), kActionUpdatePath); + Navigator()->UpdateLocation(PoseView()->TargetModel(), + kActionUpdatePath); } @@ -1121,7 +1136,8 @@ BContainerWindow::FrameResized(float, float) if (offsetY < 0 && PoseView()->Bounds().bottom > extent.bottom && Bounds().Height() > fPreviousBounds.Height()) scroll.y - = max_c(fPreviousBounds.Height() - Bounds().Height(), offsetY); + = max_c(fPreviousBounds.Height() - Bounds().Height(), + offsetY); if (scroll != B_ORIGIN) PoseView()->ScrollBy(scroll.x, scroll.y); @@ -1154,7 +1170,8 @@ BContainerWindow::ViewModeChanged(uint32 oldMode, uint32 newMode) { BView* view = FindView("MenuBar"); if (view != NULL) { - // make sure the draggable icon hides if it doesn't have space left anymore + // make sure the draggable icon hides if it doesn't + // have space left anymore view = view->FindView("ThisContainer"); if (view != NULL) view->FrameMoved(view->Frame().LeftTop()); @@ -1248,8 +1265,10 @@ BContainerWindow::GetLayoutState(BNode* node, BMessage* message) continue; char* buffer = new char[info.size]; - if (node->ReadAttr(attrName, info.type, 0, buffer, (size_t)info.size) == info.size) + if (node->ReadAttr(attrName, info.type, 0, buffer, + (size_t)info.size) == info.size) { message->AddData(attrName, info.type, buffer, (ssize_t)info.size); + } delete [] buffer; } return B_OK; diff --git a/src/kits/tracker/DesktopPoseView.cpp b/src/kits/tracker/DesktopPoseView.cpp index ad9bedf2eb..708be1ed41 100644 --- a/src/kits/tracker/DesktopPoseView.cpp +++ b/src/kits/tracker/DesktopPoseView.cpp @@ -241,7 +241,8 @@ DesktopPoseView::AdaptToVolumeChange(BMessage* message) entryMessage.AddInt32("opcode", B_ENTRY_REMOVED); entry_ref ref; if (entry.GetRef(&ref) == B_OK) { - BContainerWindow* disksWindow = tracker->FindContainerWindow(&ref); + BContainerWindow* disksWindow + = tracker->FindContainerWindow(&ref); if (disksWindow) { disksWindow->Lock(); disksWindow->Close(); @@ -252,7 +253,8 @@ DesktopPoseView::AdaptToVolumeChange(BMessage* message) entryMessage.AddInt64("node", model.NodeRef()->node); entryMessage.AddInt64("directory", model.EntryRef()->directory); entryMessage.AddString("name", model.EntryRef()->name); - BContainerWindow* deskWindow = dynamic_cast(Window()); + BContainerWindow* deskWindow + = dynamic_cast(Window()); if (deskWindow) deskWindow->PostMessage(&entryMessage, deskWindow->PoseView()); } diff --git a/src/kits/tracker/FSClipboard.cpp b/src/kits/tracker/FSClipboard.cpp index f20f7b188a..8b8793c2e2 100644 --- a/src/kits/tracker/FSClipboard.cpp +++ b/src/kits/tracker/FSClipboard.cpp @@ -195,8 +195,8 @@ FSClipboardClear() */ uint32 -FSClipboardAddPoses(const node_ref* directory, PoseList* list, uint32 moveMode, - bool clearClipboard) +FSClipboardAddPoses(const node_ref* directory, PoseList* list, + uint32 moveMode, bool clearClipboard) { uint32 refsAdded = 0; int32 listCount = list->CountItems(); @@ -409,13 +409,16 @@ FSClipboardPaste(Model* model, uint32 linksMode) // we need this data later on MakeModeNameFromRefName(modeName, refName); - if (!linksMode && clip->FindInt32(modeName, (int32*)&moveMode) != B_OK) + if (!linksMode && clip->FindInt32(modeName, (int32*)&moveMode) + != B_OK) { continue; + } BEntry entry(&ref); uint32 newMoveMode = 0; - bool sameDirectory = destNodeRef->device == ref.device && destNodeRef->node == ref.directory; + bool sameDirectory = destNodeRef->device == ref.device + && destNodeRef->node == ref.directory; if (!entry.Exists()) { // The entry doesn't exist anymore, so we'll remove @@ -435,9 +438,10 @@ FSClipboardPaste(Model* model, uint32 linksMode) copyList->AddItem(new entry_ref(ref)); } - // if the entry should have been removed from its directory, - // we want to copy that entry next time, no matter if the - // items don't have to be moved at all (source == target) + // if the entry should have been removed from its + // directory, we want to copy that entry next time, no + // matter if the items don't have to be moved at all + // (source == target) if (moveMode == kMoveSelectionTo) newMoveMode = kCopySelectionTo; } @@ -449,8 +453,8 @@ FSClipboardPaste(Model* model, uint32 linksMode) TClipboardNodeRef clipNode; MakeNodeFromName(&clipNode.node, modeName); clipNode.moveMode = kDelete; - updateMessage->AddData("tcnode", T_CLIPBOARD_NODE, &clipNode, - sizeof(TClipboardNodeRef), true); + updateMessage->AddData("tcnode", T_CLIPBOARD_NODE, + &clipNode, sizeof(TClipboardNodeRef), true); } } be_clipboard->Commit(); @@ -470,7 +474,7 @@ FSClipboardPaste(Model* model, uint32 linksMode) if (model->IsRoot()) { BAlert* alert = new BAlert("", B_TRANSLATE("You must drop items on one of the disk icons " - "in the \"Disks\" window."), B_TRANSLATE("Cancel"), NULL, NULL, + "in the \"Disks\" window."), B_TRANSLATE("Cancel"), NULL, NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT); alert->SetShortcut(0, B_ESCAPE); alert->Go(); @@ -499,9 +503,10 @@ FSClipboardPaste(Model* model, uint32 linksMode) } // asynchronous calls take over ownership of the objects passed to it - if (moveList->CountItems() > 0) - FSMoveToFolder(moveList, new BEntry(entry), linksMode ? linksMode : kMoveSelectionTo); - else + if (moveList->CountItems() > 0) { + FSMoveToFolder(moveList, new BEntry(entry), + linksMode ? linksMode : kMoveSelectionTo); + } else delete moveList; if (copyList->CountItems() > 0) @@ -761,7 +766,8 @@ BClipboardRefsWatcher::Clear() //void -//BClipboardRefsWatcher::UpdatePoseViews(bool clearClipboard, const node_ref* node) +//BClipboardRefsWatcher::UpdatePoseViews(bool clearClipboard, +// const node_ref* node) //{ // BMessage message(kFSClipboardChanges); // message.AddInt32("device", node->device); diff --git a/src/kits/tracker/FSClipboard.h b/src/kits/tracker/FSClipboard.h index acb40126c1..01a88933f7 100644 --- a/src/kits/tracker/FSClipboard.h +++ b/src/kits/tracker/FSClipboard.h @@ -67,7 +67,7 @@ class BClipboardRefsWatcher : public BLooper { void UpdatePoseViews(BMessage* reportMessage); protected: - virtual void MessageReceived(BMessage*); + virtual void MessageReceived(BMessage*); private: bool fRefsInClipboard; @@ -87,10 +87,12 @@ void FSClipboardStartWatch(BMessenger target); void FSClipboardStopWatch(BMessenger target); void FSClipboardClear(); -uint32 FSClipboardAddPoses(const node_ref* directory, PoseList* list, uint32 moveMode, bool clearClipboard); +uint32 FSClipboardAddPoses(const node_ref* directory, PoseList* list, + uint32 moveMode, bool clearClipboard); uint32 FSClipboardRemovePoses(const node_ref* directory, PoseList* list); bool FSClipboardPaste(Model* model, uint32 linksMode = 0); void FSClipboardRemove(Model* model); -uint32 FSClipboardFindNodeMode(Model* model, bool autoLock, bool updateRefIfNeeded); +uint32 FSClipboardFindNodeMode(Model* model, bool autoLock, + bool updateRefIfNeeded); #endif // FS_CLIPBOARD_H diff --git a/src/kits/tracker/FSUndoRedo.cpp b/src/kits/tracker/FSUndoRedo.cpp index cf6f895803..b2b3c2c615 100644 --- a/src/kits/tracker/FSUndoRedo.cpp +++ b/src/kits/tracker/FSUndoRedo.cpp @@ -50,7 +50,8 @@ class UndoItemMove : public UndoItem { /** source - list of file(s) that were moved. Assumes ownership. * origfolder - location it was moved from */ - UndoItemMove(BObjectList* sourceList, BDirectory &target, BList* pointList); + UndoItemMove(BObjectList* sourceList, BDirectory &target, + BList* pointList); virtual ~UndoItemMove(); virtual status_t Undo(); @@ -72,10 +73,12 @@ class UndoItemFolder : public UndoItem { virtual status_t Redo(); private: - /* this ref has two different meanings in the different states of this object: - - Undo() - fRef indicates the folder that was created via FSCreateNewFolderIn(...) - - Redo() - fRef indicates the folder in which FSCreateNewFolderIn() should be performed - */ + // this ref has two different meanings in the different states of + // this object: + // - Undo() - fRef indicates the folder that was created via + // FSCreateNewFolderIn(...) + // - Redo() - fRef indicates the folder in which + // FSCreateNewFolderIn() should be performed entry_ref fRef; }; @@ -169,8 +172,8 @@ Undo::Remove() } -MoveCopyUndo::MoveCopyUndo(BObjectList* sourceList, BDirectory &dest, - BList* pointList, uint32 moveMode) +MoveCopyUndo::MoveCopyUndo(BObjectList* sourceList, + BDirectory &dest, BList* pointList, uint32 moveMode) { if (moveMode == kMoveSelectionTo) fUndo = new UndoItemMove(sourceList, dest, pointList); @@ -200,8 +203,8 @@ RenameVolumeUndo::RenameVolumeUndo(BVolume &volume, const char* newName) // #pragma mark - -UndoItemCopy::UndoItemCopy(BObjectList* sourceList, BDirectory &target, - BList* /*pointList*/, uint32 moveMode) +UndoItemCopy::UndoItemCopy(BObjectList* sourceList, + BDirectory &target, BList* /*pointList*/, uint32 moveMode) : fSourceList(*sourceList), fTargetList(*sourceList), @@ -264,8 +267,8 @@ UndoItemCopy::UpdateEntry(BEntry* entry, const char* name) // #pragma mark - -UndoItemMove::UndoItemMove(BObjectList* sourceList, BDirectory &target, - BList* /*pointList*/) +UndoItemMove::UndoItemMove(BObjectList* sourceList, + BDirectory &target, BList* /*pointList*/) : fSourceList(*sourceList) { @@ -293,7 +296,8 @@ UndoItemMove::Undo() ChangeListSource(*list, entry); // FSMoveToFolder() owns its arguments - FSMoveToFolder(list, new BEntry(&fSourceRef), FSUndoMoveMode(kMoveSelectionTo), NULL); + FSMoveToFolder(list, new BEntry(&fSourceRef), + FSUndoMoveMode(kMoveSelectionTo), NULL); return B_OK; } @@ -303,8 +307,8 @@ status_t UndoItemMove::Redo() { // FSMoveToFolder() owns its arguments - FSMoveToFolder(new BObjectList(fSourceList), new BEntry(&fTargetRef), - FSUndoMoveMode(kMoveSelectionTo), NULL); + FSMoveToFolder(new BObjectList(fSourceList), + new BEntry(&fTargetRef), FSUndoMoveMode(kMoveSelectionTo), NULL); return B_OK; } diff --git a/src/kits/tracker/FSUtils.h b/src/kits/tracker/FSUtils.h index da95902cb4..84e3889e9b 100644 --- a/src/kits/tracker/FSUtils.h +++ b/src/kits/tracker/FSUtils.h @@ -46,8 +46,8 @@ All rights reserved. #include "ObjectList.h" -// Note - APIs/code in FSUtils.h and FSUtils.cpp is slated for a major cleanup -// -- in other words, you will find a lot of ugly cruft in here +// APIs/code in FSUtils.h and FSUtils.cpp is slated for a major cleanup +// -- in other words, you will find a lot of ugly cruft in here class BDirectory; class BEntry; @@ -165,36 +165,39 @@ private: #endif _IMPEXP_TRACKER status_t FSCopyAttributesAndStats(BNode*, BNode*); -_IMPEXP_TRACKER void FSDuplicate(BObjectList* srcList, BList* pointList); -_IMPEXP_TRACKER void FSMoveToFolder(BObjectList* srcList, BEntry*, uint32 moveMode, - BList* pointList = NULL); -_IMPEXP_TRACKER void FSMakeOriginalName(char* name, BDirectory* destDir, const char* suffix); +_IMPEXP_TRACKER void FSDuplicate(BObjectList* srcList, + BList* pointList); +_IMPEXP_TRACKER void FSMoveToFolder(BObjectList* srcList, BEntry*, + uint32 moveMode, BList* pointList = NULL); +_IMPEXP_TRACKER void FSMakeOriginalName(char* name, BDirectory* destDir, + const char* suffix); _IMPEXP_TRACKER bool FSIsTrashDir(const BEntry*); _IMPEXP_TRACKER bool FSIsPrintersDir(const BEntry*); _IMPEXP_TRACKER bool FSIsDeskDir(const BEntry*); _IMPEXP_TRACKER bool FSIsHomeDir(const BEntry*); _IMPEXP_TRACKER bool FSIsRootDir(const BEntry*); -_IMPEXP_TRACKER void FSMoveToTrash(BObjectList* srcList, BList* pointList = NULL, - bool async = true); +_IMPEXP_TRACKER void FSMoveToTrash(BObjectList* srcList, + BList* pointList = NULL, bool async = true); // Deprecated void FSDeleteRefList(BObjectList*, bool, bool confirm = true); void FSDelete(entry_ref*, bool, bool confirm = true); void FSRestoreRefList(BObjectList* list, bool async); -_IMPEXP_TRACKER status_t FSLaunchItem(const entry_ref* application, const BMessage* refsReceived, - bool async, bool openWithOK); - // Preferred way of launching; only pass an actual application in , not - // a document; to open documents with the preferred app, pase 0 in and - // stuff all the document refs into - // Consider having silent mode that does not show alerts, just returns error code +_IMPEXP_TRACKER status_t FSLaunchItem(const entry_ref* application, + const BMessage* refsReceived, bool async, bool openWithOK); + // Preferred way of launching; only pass an actual application in + // , not a document; to open documents with the preferred + // app, pase 0 in and stuff all the document refs into + // Consider having silent mode that does not show alerts, + // just returns error code _IMPEXP_TRACKER status_t FSOpenWith(BMessage* listOfRefs); // runs the Open With window; pas a list of refs _IMPEXP_TRACKER void FSEmptyTrash(); -_IMPEXP_TRACKER status_t FSCreateNewFolderIn(const node_ref* destDir, entry_ref* newRef, - node_ref* new_node); +_IMPEXP_TRACKER status_t FSCreateNewFolderIn(const node_ref* destDir, + entry_ref* newRef, node_ref* new_node); _IMPEXP_TRACKER void FSCreateTrashDirs(); _IMPEXP_TRACKER status_t FSGetTrashDir(BDirectory* trashDir, dev_t volume); _IMPEXP_TRACKER status_t FSGetDeskDir(BDirectory* deskDir); @@ -218,23 +221,26 @@ enum ReadAttrResult { kReadAttrForeignOK }; -ReadAttrResult ReadAttr(const BNode*, const char* hostAttrName, const char* foreignAttrName, - type_code , off_t , void*, size_t , void (*swapFunc)(void*) = 0, - bool isForeign = false); - // Endian swapping ReadAttr call; endianness is determined by trying first the - // native attribute name, then the foreign one; an endian swapping function can - // be passed, if null data won't be swapped; if set the foreign endianness - // will be read directly without first trying the native one +ReadAttrResult ReadAttr(const BNode*, const char* hostAttrName, + const char* foreignAttrName, type_code, off_t, void*, size_t, + void (*swapFunc)(void*) = 0, bool isForeign = false); + // Endian swapping ReadAttr call; endianness is determined by trying + // first the native attribute name, then the foreign one; an endian + // swapping function can be passed, if null data won't be swapped; + // if set the foreign endianness will be read directly + // without first trying the native one -ReadAttrResult GetAttrInfo(const BNode*, const char* hostAttrName, const char* foreignAttrName, - type_code* = NULL, size_t* = NULL); +ReadAttrResult GetAttrInfo(const BNode*, const char* hostAttrName, + const char* foreignAttrName, type_code* = NULL, size_t* = NULL); status_t FSCreateNewFolder(const entry_ref*); status_t FSRecursiveCreateFolder(const char* path); -void FSMakeOriginalName(BString &name, const BDirectory* destDir, const char* suffix = 0); +void FSMakeOriginalName(BString &name, const BDirectory* destDir, + const char* suffix = 0); status_t TrackerLaunch(const entry_ref* app, bool async); -status_t TrackerLaunch(const BMessage* refs, bool async, bool okToRunOpenWith = true); +status_t TrackerLaunch(const BMessage* refs, bool async, + bool okToRunOpenWith = true); status_t TrackerLaunch(const entry_ref* app, const BMessage* refs, bool async, bool okToRunOpenWith = true); status_t LaunchBrokenLink(const char*, const BMessage*); @@ -243,9 +249,9 @@ status_t FSFindTrackerSettingsDir(BPath*, bool autoCreate = true); bool FSIsDeskDir(const BEntry*); -// two separate ifYouDoAction and toDoAction versions are needed for localization -// purposes. The first one is used in "If you do action ..." sentence, -// the second one in the "To do action" sentence. +// two separate ifYouDoAction and toDoAction versions are needed for +// localization purposes. The first one is used in "If you do action..." +// sentence, the second one in the "To do action" sentence. bool ConfirmChangeIfWellKnownDirectory(const BEntry* entry, const char* ifYouDoAction, const char* toDoAction, const char* toConfirmAction, bool dontAsk = false, @@ -254,12 +260,14 @@ bool ConfirmChangeIfWellKnownDirectory(const BEntry* entry, bool CheckDevicesEqual(const entry_ref* entry, const Model* targetModel); // Deprecated calls use newer calls above instead -_IMPEXP_TRACKER void FSLaunchItem(const entry_ref*, BMessage* = NULL, int32 workspace = -1); +_IMPEXP_TRACKER void FSLaunchItem(const entry_ref*, BMessage* = NULL, + int32 workspace = -1); _IMPEXP_TRACKER status_t FSLaunchItem(const entry_ref*, BMessage*, int32 workspace, bool asynch); _IMPEXP_TRACKER void FSOpenWithDocuments(const entry_ref* executableToLaunch, BMessage* documentEntryRefs); -_IMPEXP_TRACKER status_t FSLaunchUsing(const entry_ref* ref, BMessage* listOfRefs); +_IMPEXP_TRACKER status_t FSLaunchUsing(const entry_ref* ref, + BMessage* listOfRefs); // some extra directory_which values @@ -279,7 +287,8 @@ class WellKnowEntryList { // system hierarchy public: struct WellKnownEntry { - WellKnownEntry(const node_ref* node, directory_which which, const char* name) + WellKnownEntry(const node_ref* node, directory_which which, + const char* name) : node(*node), which(which), @@ -314,8 +323,8 @@ class WellKnowEntryList { WellKnowEntryList(); void AddOne(directory_which, const char* name); void AddOne(directory_which, const char* path, const char* name); - void AddOne(directory_which, directory_which base, const char* extension, - const char* name); + void AddOne(directory_which, directory_which base, + const char* extension, const char* name); std::vector entries; static WellKnowEntryList* self; diff --git a/src/kits/tracker/FavoritesMenu.cpp b/src/kits/tracker/FavoritesMenu.cpp index 44a0924840..294448a326 100644 --- a/src/kits/tracker/FavoritesMenu.cpp +++ b/src/kits/tracker/FavoritesMenu.cpp @@ -124,7 +124,8 @@ FavoritesMenu::AddNextItem() try { BPath path; - ThrowOnError( find_directory (B_USER_SETTINGS_DIRECTORY, &path, true) ); + ThrowOnError(find_directory(B_USER_SETTINGS_DIRECTORY, + &path, true)); path.Append(kGoDirectory); mkdir(path.Path(), 0777); @@ -169,7 +170,8 @@ FavoritesMenu::AddNextItem() if (item == NULL) return true; - item->SetLabel(ref.name); // this is the name of the link in the Go dir + item->SetLabel(ref.name); + // this is the name of the link in the Go dir if (!fAddedSeparatorForSection) { fAddedSeparatorForSection = true; @@ -214,7 +216,8 @@ FavoritesMenu::AddNextItem() if (!ShouldShowModel(&model)) return true; - BMenuItem* item = BNavMenu::NewModelItem(&model, fOpenFileMessage, fTarget); + BMenuItem* item = BNavMenu::NewModelItem(&model, + fOpenFileMessage, fTarget); if (item) { if (!fAddedSeparatorForSection) { fAddedSeparatorForSection = true; @@ -252,8 +255,10 @@ FavoritesMenu::AddNextItem() // don't add folders that are already in the GoTo section if (find_if(fUniqueRefCheck.begin(), fUniqueRefCheck.end(), - bind2nd(std::equal_to(), ref)) != fUniqueRefCheck.end()) + bind2nd(std::equal_to(), ref)) + != fUniqueRefCheck.end()) { continue; + } Model model(&ref, true); if (model.InitCheck() != B_OK) @@ -262,8 +267,8 @@ FavoritesMenu::AddNextItem() if (!ShouldShowModel(&model)) return true; - BMenuItem* item = BNavMenu::NewModelItem(&model, fOpenFolderMessage, - fTarget, true); + BMenuItem* item = BNavMenu::NewModelItem(&model, + fOpenFolderMessage, fTarget, true); if (item) { if (!fAddedSeparatorForSection) { fAddedSeparatorForSection = true; diff --git a/src/kits/tracker/FilePanelPriv.cpp b/src/kits/tracker/FilePanelPriv.cpp index 5131a96855..70d8cc3432 100644 --- a/src/kits/tracker/FilePanelPriv.cpp +++ b/src/kits/tracker/FilePanelPriv.cpp @@ -507,7 +507,8 @@ TFilePanel::AdjustButton() if (!button) return; - BTextControl* textControl = dynamic_cast(FindView("text view")); + BTextControl* textControl + = dynamic_cast(FindView("text view")); BObjectList* selectionList = fPoseView->SelectionList(); BString buttonText = fButtonText; bool enabled = false; @@ -522,7 +523,8 @@ TFilePanel::AdjustButton() enabled = true; buttonText = B_TRANSLATE("Open"); } else { - // insert the name of the selected model into the text field + // insert the name of the selected model into + // the text field textControl->SetText(model->Name()); textControl->MakeFocus(true); } @@ -736,30 +738,39 @@ TFilePanel::Init(const BMessage*) AddShortcut('W', B_COMMAND_KEY, new BMessage(kCancelButton)); AddShortcut('H', B_COMMAND_KEY, new BMessage(kSwitchToHome)); - AddShortcut('A', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kShowSelectionWindow)); + AddShortcut('A', B_COMMAND_KEY | B_SHIFT_KEY, + new BMessage(kShowSelectionWindow)); AddShortcut('A', B_COMMAND_KEY, new BMessage(B_SELECT_ALL), PoseView()); - AddShortcut('S', B_COMMAND_KEY, new BMessage(kInvertSelection), PoseView()); + AddShortcut('S', B_COMMAND_KEY, new BMessage(kInvertSelection), + PoseView()); AddShortcut('Y', B_COMMAND_KEY, new BMessage(kResizeToFit), PoseView()); AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY, new BMessage(kOpenDir)); - AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_OPTION_KEY, new BMessage(kOpenDir)); + AddShortcut(B_DOWN_ARROW, B_COMMAND_KEY | B_OPTION_KEY, + new BMessage(kOpenDir)); AddShortcut(B_UP_ARROW, B_COMMAND_KEY, new BMessage(kOpenParentDir)); - AddShortcut(B_UP_ARROW, B_COMMAND_KEY | B_OPTION_KEY, new BMessage(kOpenParentDir)); + AddShortcut(B_UP_ARROW, B_COMMAND_KEY | B_OPTION_KEY, + new BMessage(kOpenParentDir)); // New code to make buttons font sensitive rect = windRect; rect.top = rect.bottom - 35; rect.bottom -= 10; rect.right -= 25; - float default_width = be_plain_font->StringWidth(fButtonText.String()) + 20; - rect.left = (default_width > 75) ? (rect.right - default_width) : (rect.right - 75); + float default_width + = be_plain_font->StringWidth(fButtonText.String()) + 20; + rect.left = default_width > 75 + ? rect.right - default_width : rect.right - 75; - BButton* default_button = new BButton(rect, "default button", fButtonText.String(), - new BMessage(kDefaultButton), B_FOLLOW_RIGHT + B_FOLLOW_BOTTOM); + BButton* default_button = new BButton(rect, "default button", + fButtonText.String(), new BMessage(kDefaultButton), + B_FOLLOW_RIGHT + B_FOLLOW_BOTTOM); fBackView->AddChild(default_button); rect.right = rect.left -= 10; - float cancel_width = be_plain_font->StringWidth(B_TRANSLATE("Cancel")) + 20; - rect.left = (cancel_width > 75) ? (rect.right - cancel_width) : (rect.right - 75); + float cancel_width + = be_plain_font->StringWidth(B_TRANSLATE("Cancel")) + 20; + rect.left = cancel_width > 75 + ? rect.right - cancel_width : rect.right - 75; BButton* cancel_button = new BButton(rect, "cancel button", B_TRANSLATE("Cancel"), new BMessage(kCancelButton), @@ -804,7 +815,8 @@ void TFilePanel::RestoreState() { BNode defaultingNode; - if (DefaultStateSourceNode(kDefaultFilePanelTemplate, &defaultingNode, false)) { + if (DefaultStateSourceNode(kDefaultFilePanelTemplate, &defaultingNode, + false)) { AttributeStreamFileNode streamNodeSource(&defaultingNode); RestoreWindowState(&streamNodeSource); PoseView()->Init(&streamNodeSource); @@ -882,7 +894,8 @@ TFilePanel::AddFileContextMenus(BMenu* menu) new BMessage(B_CUT), 'X')); menu->AddItem(new BMenuItem(B_TRANSLATE("Copy"), new BMessage(B_COPY), 'C')); -// menu->AddItem(pasteItem = new BMenuItem("Paste", new BMessage(B_PASTE), 'V')); + //menu->AddItem(pasteItem = new BMenuItem("Paste", new BMessage(B_PASTE), + // 'V')); menu->SetTargetForItems(PoseView()); } @@ -898,10 +911,12 @@ TFilePanel::AddVolumeContextMenus(BMenu* menu) menu->AddItem(new BMenuItem(B_TRANSLATE("Edit name"), new BMessage(kEditItem), 'E')); menu->AddSeparatorItem(); - menu->AddItem(new BMenuItem(B_TRANSLATE("Cut"), new BMessage(B_CUT), 'X')); + menu->AddItem(new BMenuItem(B_TRANSLATE("Cut"), new BMessage(B_CUT), + 'X')); menu->AddItem(new BMenuItem(B_TRANSLATE("Copy"), new BMessage(B_COPY), 'C')); -// menu->AddItem(pasteItem = new BMenuItem("Paste", new BMessage(B_PASTE), 'V')); + //menu->AddItem(pasteItem = new BMenuItem("Paste", new BMessage(B_PASTE), + // 'V')); menu->SetTargetForItems(PoseView()); } @@ -955,7 +970,8 @@ TFilePanel::MenusBeginning() int32 count = PoseView()->SelectionList()->CountItems(); EnableNamedMenuItem(fMenuBar, kNewFolder, !TargetModel()->IsRoot()); - EnableNamedMenuItem(fMenuBar, kMoveToTrash, !TargetModel()->IsRoot() && count); + EnableNamedMenuItem(fMenuBar, kMoveToTrash, !TargetModel()->IsRoot() + && count); EnableNamedMenuItem(fMenuBar, kGetInfo, count != 0); EnableNamedMenuItem(fMenuBar, kEditItem, count == 1); @@ -977,9 +993,12 @@ TFilePanel::MenusEnded() void TFilePanel::ShowContextMenu(BPoint point, const entry_ref* ref, BView* view) { - EnableNamedMenuItem(fWindowContextMenu, kNewFolder, !TargetModel()->IsRoot()); - EnableNamedMenuItem(fWindowContextMenu, kOpenParentDir, !TargetModel()->IsRoot()); - EnableNamedMenuItem(fWindowContextMenu, kMoveToTrash, !TargetModel()->IsRoot()); + EnableNamedMenuItem(fWindowContextMenu, kNewFolder, + !TargetModel()->IsRoot()); + EnableNamedMenuItem(fWindowContextMenu, kOpenParentDir, + !TargetModel()->IsRoot()); + EnableNamedMenuItem(fWindowContextMenu, kMoveToTrash, + !TargetModel()->IsRoot()); _inherited::ShowContextMenu(point, ref, view); } @@ -998,7 +1017,8 @@ TFilePanel::SetButtonLabel(file_panel_button selector, const char* text) switch (selector) { case B_CANCEL_BUTTON: { - BButton* button = dynamic_cast(FindView("cancel button")); + BButton* button + = dynamic_cast(FindView("cancel button")); if (!button) break; @@ -1016,7 +1036,8 @@ TFilePanel::SetButtonLabel(file_panel_button selector, const char* text) { fButtonText = text; float delta = 0; - BButton* button = dynamic_cast(FindView("default button")); + BButton* button + = dynamic_cast(FindView("default button")); if (button) { float old_width = button->StringWidth(button->Label()); button->SetLabel(text); @@ -1043,7 +1064,8 @@ TFilePanel::SetSaveText(const char* text) if (!text) return; - BTextControl* textControl = dynamic_cast(FindView("text view")); + BTextControl* textControl + = dynamic_cast(FindView("text view")); textControl->SetText(text); textControl->TextView()->SelectAll(); } @@ -1060,9 +1082,9 @@ TFilePanel::MessageReceived(BMessage* message) if (message->FindRef("refs", &ref) == B_OK) { BEntry entry(&ref, true); if (entry.InitCheck() == B_OK) { - // Double-click on dir or link-to-dir ALWAYS opens the dir. - // If more than one dir is selected, the - // first is entered. + // Double-click on dir or link-to-dir ALWAYS opens the + // dir. If more than one dir is selected, the first is + // entered. if (entry.IsDirectory()) { entry.GetRef(&ref); bool isDesktop = SwitchDirToDesktopIfNeeded(ref); @@ -1075,7 +1097,8 @@ TFilePanel::MessageReceived(BMessage* message) // Otherwise, we have a file or a link to a file. // AdjustButton has already tested the flavor; // all we have to do is see if the button is enabled. - BButton* button = dynamic_cast(FindView("default button")); + BButton* button = dynamic_cast( + FindView("default button")); if (!button) break; @@ -1087,15 +1110,19 @@ TFilePanel::MessageReceived(BMessage* message) // Don't allow saves of multiple files if (count > 1) { ShowCenteredAlert( - B_TRANSLATE("Sorry, saving more than one item is not allowed."), + B_TRANSLATE( + "Sorry, saving more than one " + "item is not allowed."), B_TRANSLATE("Cancel")); } else { - // if we are a savepanel, set up the filepanel correctly - // then pass control so we follow the same path as if the user + // if we are a savepanel, set up the + // filepanel correctly then pass control + // so we follow the same path as if the user // clicked the save button - // set the 'name' fld to the current ref's name - // notify the panel that the default button should be enabled + // set the 'name' fld to the current ref's + // name notify the panel that the default + // button should be enabled SetSaveText(ref.name); SelectionChanged(); @@ -1144,8 +1171,10 @@ TFilePanel::MessageReceived(BMessage* message) case kAddCurrentDir: { BPath path; - if (find_directory (B_USER_SETTINGS_DIRECTORY, &path, true) != B_OK) + if (find_directory(B_USER_SETTINGS_DIRECTORY, &path, true) + != B_OK) { break; + } path.Append(kGoDirectory); BDirectory goDirectory(path.Path()); @@ -1155,7 +1184,8 @@ TFilePanel::MessageReceived(BMessage* message) entry.GetPath(&path); BSymLink link; - goDirectory.CreateSymLink(TargetModel()->Name(), path.Path(), &link); + goDirectory.CreateSymLink(TargetModel()->Name(), path.Path(), + &link); } break; } @@ -1163,8 +1193,10 @@ TFilePanel::MessageReceived(BMessage* message) case kEditFavorites: { BPath path; - if (find_directory (B_USER_SETTINGS_DIRECTORY, &path, true) != B_OK) + if (find_directory (B_USER_SETTINGS_DIRECTORY, &path, true) + != B_OK) { break; + } path.Append(kGoDirectory); BMessenger msgr(kTrackerSignature); @@ -1199,7 +1231,8 @@ TFilePanel::MessageReceived(BMessage* message) if (fIsSavePanel) { if (PoseView()->IsFocus() && PoseView()->SelectionList()->CountItems() == 1) { - Model* model = (PoseView()->SelectionList()->FirstItem())->TargetModel(); + Model* model = (PoseView()->SelectionList()-> + FirstItem())->TargetModel(); if (model->ResolveIfLink()->IsDirectory()) { PoseView()->CommitActivePose(); PoseView()->OpenSelection(); @@ -1215,13 +1248,17 @@ TFilePanel::MessageReceived(BMessage* message) case B_OBSERVER_NOTICE_CHANGE: { int32 observerWhat; - if (message->FindInt32("be:observe_change_what", &observerWhat) == B_OK) { + if (message->FindInt32("be:observe_change_what", &observerWhat) + == B_OK) { switch (observerWhat) { case kDesktopFilePanelRootChanged: { bool desktopIsRoot = true; - if (message->FindBool("DesktopFilePanelRoot", &desktopIsRoot) == B_OK) - TrackerSettings().SetDesktopFilePanelRoot(desktopIsRoot); + if (message->FindBool("DesktopFilePanelRoot", + &desktopIsRoot) == B_OK) { + TrackerSettings(). + SetDesktopFilePanelRoot(desktopIsRoot); + } SetTo(TargetModel()->EntryRef()); break; } @@ -1416,9 +1453,10 @@ TFilePanel::HandleSaveButton() fTextControl->TextView()->SelectAll(); return; } else { - // if this was invoked by a dbl click, it is an explicit replacement - // of the file. - BString str(B_TRANSLATE("The file \"%name\" already exists in the specified folder. Do you want to replace it?")); + // if this was invoked by a dbl click, it is an explicit + // replacement of the file. + BString str(B_TRANSLATE("The file \"%name\" already exists in " + "the specified folder. Do you want to replace it?")); str.ReplaceFirst("%name", fTextControl->Text()); if (ShowCenteredAlert(str.String(), B_TRANSLATE("Cancel"), @@ -1512,8 +1550,10 @@ TFilePanel::HandleOpenButton() if (((fNodeFlavors & B_DIRECTORY_NODE) != 0 && model->ResolveIfLink()->IsDirectory()) || ((fNodeFlavors & B_SYMLINK_NODE) != 0 && model->IsSymLink()) - || ((fNodeFlavors & B_FILE_NODE) != 0 && model->ResolveIfLink()->IsFile())) + || ((fNodeFlavors & B_FILE_NODE) != 0 + && model->ResolveIfLink()->IsFile())) { message.AddRef("refs", model->EntryRef()); + } } OpenSelectionCommon(&message); @@ -1550,7 +1590,8 @@ TFilePanel::WindowActivated(bool active) // #pragma mark - -BFilePanelPoseView::BFilePanelPoseView(Model* model, BRect frame, uint32 resizeMask) +BFilePanelPoseView::BFilePanelPoseView(Model* model, BRect frame, + uint32 resizeMask) : BPoseView(model, frame, kListMode, resizeMask), fIsDesktop(model->IsDesktop()) { @@ -1583,8 +1624,8 @@ bool BFilePanelPoseView::FSNotification(const BMessage* message) { if (IsDesktopView()) { - // Pretty much copied straight from DesktopPoseView. Would be better - // if the code could be shared somehow. + // Pretty much copied straight from DesktopPoseView. + // Would be better if the code could be shared somehow. switch (message->FindInt32("opcode")) { case B_DEVICE_MOUNTED: { @@ -1600,7 +1641,8 @@ BFilePanelPoseView::FSNotification(const BMessage* message) break; if (settings.MountVolumesOntoDesktop() - && (!volume.IsShared() || settings.MountSharedVolumesOntoDesktop())) { + && (!volume.IsShared() + || settings.MountSharedVolumesOntoDesktop())) { // place an icon for the volume onto the desktop CreateVolumePose(&volume, true); } @@ -1692,7 +1734,8 @@ BFilePanelPoseView::AdaptToVolumeChange(BMessage* message) message->FindBool("ShowDisksIcon", &showDisksIcon); message->FindBool("MountVolumesOntoDesktop", &mountVolumesOnDesktop); - message->FindBool("MountSharedVolumesOntoDesktop", &mountSharedVolumesOntoDesktop); + message->FindBool("MountSharedVolumesOntoDesktop", + &mountSharedVolumesOntoDesktop); BEntry entry("/"); Model model(&entry); @@ -1725,7 +1768,8 @@ BFilePanelPoseView::AdaptToDesktopIntegrationChange(BMessage* message) bool mountSharedVolumesOntoDesktop = true; message->FindBool("MountVolumesOntoDesktop", &mountVolumesOnDesktop); - message->FindBool("MountSharedVolumesOntoDesktop", &mountSharedVolumesOntoDesktop); + message->FindBool("MountSharedVolumesOntoDesktop", + &mountSharedVolumesOntoDesktop); ShowVolumes(false, mountSharedVolumesOntoDesktop); ShowVolumes(mountVolumesOnDesktop, mountSharedVolumesOntoDesktop); diff --git a/src/kits/tracker/FilePanelPriv.h b/src/kits/tracker/FilePanelPriv.h index b9de5c944b..7f4b242fcc 100644 --- a/src/kits/tracker/FilePanelPriv.h +++ b/src/kits/tracker/FilePanelPriv.h @@ -122,7 +122,8 @@ protected: virtual void WindowActivated(bool state); static filter_result FSFilter(BMessage*, BHandler**, BMessageFilter*); - static filter_result MessageDropFilter(BMessage*, BHandler**, BMessageFilter*); + static filter_result MessageDropFilter(BMessage*, BHandler**, + BMessageFilter*); int32 ShowCenteredAlert(const char* text, const char* button1, const char* button2 = NULL, const char* button3 = NULL); diff --git a/src/kits/tracker/FindPanel.cpp b/src/kits/tracker/FindPanel.cpp index 55643e2a4b..bc530d9c12 100644 --- a/src/kits/tracker/FindPanel.cpp +++ b/src/kits/tracker/FindPanel.cpp @@ -106,7 +106,8 @@ namespace BPrivate { class MostUsedNames { public: - MostUsedNames(const char* fileName, const char* directory, int32 maxCount = 5); + MostUsedNames(const char* fileName, const char* directory, + int32 maxCount = 5); ~MostUsedNames(); bool ObtainList(BList* list); @@ -175,8 +176,8 @@ MoreOptionsStruct::QueryTemporary(const BNode* node) FindWindow::FindWindow(const entry_ref* newRef, bool editIfTemplateOnly) : - BWindow(kInitialRect, B_TRANSLATE("Find"), B_TITLED_WINDOW, B_NOT_RESIZABLE - | B_NOT_ZOOMABLE), + BWindow(kInitialRect, B_TRANSLATE("Find"), B_TITLED_WINDOW, + B_NOT_RESIZABLE | B_NOT_ZOOMABLE), fFile(TryOpening(newRef)), fFromTemplate(false), fEditTemplateOnly(false), @@ -218,7 +219,8 @@ FindWindow::FindWindow(const entry_ref* newRef, bool editIfTemplateOnly) fFromTemplate = IsQueryTemplate(fFile); - fBackground = new FindPanel(Bounds(), fFile, this, fFromTemplate, fEditTemplateOnly); + fBackground = new FindPanel(Bounds(), fFile, this, fFromTemplate, + fEditTemplateOnly); AddChild(fBackground); } @@ -292,8 +294,10 @@ const char* FindWindow::QueryName() const { if (fFromTemplate) { - if (!fQueryNameFromTemplate.Length()) - fFile->ReadAttrString(kAttrQueryTemplateName, &fQueryNameFromTemplate); + if (!fQueryNameFromTemplate.Length()) { + fFile->ReadAttrString(kAttrQueryTemplateName, + &fQueryNameFromTemplate); + } return fQueryNameFromTemplate.String(); } @@ -375,7 +379,8 @@ FindWindow::SaveQueryAttributes(BNode* file, bool queryTemplate) // save date/time info for recent query support and transient query killer int32 currentTime = (int32)time(0); - file->WriteAttr(kAttrQueryLastChange, B_INT32_TYPE, 0, ¤tTime, sizeof(int32)); + file->WriteAttr(kAttrQueryLastChange, B_INT32_TYPE, 0, ¤tTime, + sizeof(int32)); int32 tmp = 1; file->WriteAttr("_trk/recentQuery", B_INT32_TYPE, 0, &tmp, sizeof(int32)); } @@ -393,7 +398,8 @@ FindWindow::SaveQueryAsAttributes(BNode* file, BEntry* entry, bool queryTemplate // and the file's location FSSetPoseLocation(entry, *oldLocation); - BNodeInfo(file).SetType(queryTemplate ? B_QUERY_TEMPLATE_MIMETYPE : B_QUERY_MIMETYPE); + BNodeInfo(file).SetType(queryTemplate + ? B_QUERY_TEMPLATE_MIMETYPE : B_QUERY_MIMETYPE); BString predicate; bool dynamicDate; @@ -509,7 +515,8 @@ FindWindow::Find() } int32 currentTime = (int32)time(0); - fFile->WriteAttr(kAttrQueryLastChange, B_INT32_TYPE, 0, ¤tTime, sizeof(int32)); + fFile->WriteAttr(kAttrQueryLastChange, B_INT32_TYPE, 0, ¤tTime, + sizeof(int32)); // tell the tracker about it BMessage message(B_REFS_RECEIVED); @@ -683,7 +690,8 @@ FindPanel::FindPanel(BRect frame, BFile* node, FindWindow* parent, BMessenger self(this); fRecentQueries = new BPopUpMenu("RecentQueries"); - FindPanel::AddRecentQueries(fRecentQueries, true, &self, kSwitchToQueryTemplate); + FindPanel::AddRecentQueries(fRecentQueries, true, &self, + kSwitchToQueryTemplate); AddChild(new MiniMenuField(rect, "RecentQueries", fRecentQueries)); @@ -741,8 +749,8 @@ FindPanel::FindPanel(BRect frame, BFile* node, FindWindow* parent, B_TRANSLATE_NOCOLLECT(kDragNDropActionSpecifiers[1])); BMessenger self(this); - fDraggableIcon = new DraggableQueryIcon(DraggableIcon::PreferredRect(draggableIconOrigin, - B_LARGE_ICON), "saveHere", &dragNDropMessage, + fDraggableIcon = new DraggableQueryIcon(DraggableIcon::PreferredRect( + draggableIconOrigin, B_LARGE_ICON), "saveHere", &dragNDropMessage, self, B_FOLLOW_LEFT | B_FOLLOW_BOTTOM); AddChild(fDraggableIcon); } @@ -769,8 +777,8 @@ FindPanel::FindPanel(BRect frame, BFile* node, FindWindow* parent, rect = expandedBounds; rect.right = rect.left + 200; rect.bottom = rect.top + 20;; - fQueryName = new BTextControl(rect, "queryName", B_TRANSLATE("Query name:"), - "", 0); + fQueryName = new BTextControl(rect, "queryName", + B_TRANSLATE("Query name:"), "", 0); fQueryName->SetDivider(fQueryName->StringWidth(fQueryName->Label()) + 5); fMoreOptionsPane->AddItem(fQueryName, 1); FillCurrentQueryName(fQueryName, parent); @@ -838,9 +846,9 @@ FindPanel::AttachedToWindow() fQueryName->SetTarget(this); fLatch->SetTarget(fMoreOptionsPane); RestoreMimeTypeMenuSelection(node); - // preselect the mime we used the last time - // have to do it here because AddByAttributeItems will build different - // menus based on which mime type is preselected + // preselect the mime we used the last time have to do it here + // because AddByAttributeItems will build different menus based + // on which mime type is preselected RestoreWindowState(node); if (!Window()->CurrentFocus()) { @@ -971,9 +979,10 @@ FindPanel::ShowVolumeMenuLabel() tmpItem = item; } } + if (countSelected == 0) { // no disk selected, for now revert to search all disks - // ToDo: + // TODO: // show no disks here and add a check that will not let the // query go if the user doesn't pick at least one fVolMenu->ItemAt(0)->SetMarked(true); @@ -997,51 +1006,49 @@ FindPanel::MessageReceived(BMessage* message) switch (message->what) { case kVolumeItem: - { - // volume changed - BMenuItem* invokedItem; - dev_t dev; - if (message->FindPointer("source", (void**)&invokedItem) != B_OK) - return; + { + // volume changed + BMenuItem* invokedItem; + dev_t dev; + if (message->FindPointer("source", (void**)&invokedItem) != B_OK) + return; - if (message->FindInt32("device", &dev) != B_OK) - break; + if (message->FindInt32("device", &dev) != B_OK) + break; - BMenu* menu = invokedItem->Menu(); - ASSERT(menu); + BMenu* menu = invokedItem->Menu(); + ASSERT(menu); - if (dev == -1) { + if (dev == -1) { + // all disks selected, uncheck everything else + int32 count = menu->CountItems(); + for (int32 index = 2; index < count; index++) + menu->ItemAt(index)->SetMarked(false); - // all disks selected, uncheck everything else - int32 count = menu->CountItems(); - for (int32 index = 2; index < count; index++) - menu->ItemAt(index)->SetMarked(false); + // make all disks the title and check it + PopUpMenuSetTitle(menu, menu->ItemAt(0)->Label()); + menu->ItemAt(0)->SetMarked(true); + } else { + // a specific volume selected, unmark "all disks" + menu->ItemAt(0)->SetMarked(false); - // make all disks the title and check it - PopUpMenuSetTitle(menu, menu->ItemAt(0)->Label()); - menu->ItemAt(0)->SetMarked(true); + // toggle mark on invoked item + int32 count = menu->CountItems(); + for (int32 index = 2; index < count; index++) { + BMenuItem* item = menu->ItemAt(index); - } else { - // a specific volume selected, unmark "all disks" - menu->ItemAt(0)->SetMarked(false); - - // toggle mark on invoked item - int32 count = menu->CountItems(); - for (int32 index = 2; index < count; index++) { - BMenuItem* item = menu->ItemAt(index); - - if (invokedItem == item) { - // we just selected this - bool wasMarked = item->IsMarked(); - item->SetMarked(!wasMarked); - } + if (invokedItem == item) { + // we just selected this + bool wasMarked = item->IsMarked(); + item->SetMarked(!wasMarked); } } - // make sure the right label is showing - ShowVolumeMenuLabel(); - - break; } + // make sure the right label is showing + ShowVolumeMenuLabel(); + + break; + } case kByAttributeItem: case kByNameItem: @@ -1058,102 +1065,110 @@ FindPanel::MessageReceived(BMessage* message) break; case kMIMETypeItem: - { - BMenuItem* item; - if (message->FindPointer("source", (void**)&item) == B_OK) { - // don't add the "All files and folders" to the list - if (fMimeTypeMenu->IndexOf(item) != 0) - gMostUsedMimeTypes.AddName(item->Label()); + { + BMenuItem* item; + if (message->FindPointer("source", (void**)&item) == B_OK) { + // don't add the "All files and folders" to the list + if (fMimeTypeMenu->IndexOf(item) != 0) + gMostUsedMimeTypes.AddName(item->Label()); - SetCurrentMimeType(item); - } - - // mime type switched - if (fMode != kByAttributeItem) - break; - - // the attributes for this type may be different, rip out the existing ones - RemoveAttrViewItems(); - - Window()->ResizeTo(Window()->Frame().Width(), - ViewHeightForMode(kByAttributeItem, fLatch->Value() != 0)); - - BBox* box = dynamic_cast(FindView("Box")); - ASSERT(box); - box->ResizeTo(box->Bounds().Width(), - BoxHeightForMode(kByAttributeItem, fLatch->Value() != 0)); - - AddAttrView(); - break; + SetCurrentMimeType(item); } + // mime type switched + if (fMode != kByAttributeItem) + break; + + // the attributes for this type may be different, + // rip out the existing ones + RemoveAttrViewItems(); + + Window()->ResizeTo(Window()->Frame().Width(), + ViewHeightForMode(kByAttributeItem, fLatch->Value() != 0)); + + BBox* box = dynamic_cast(FindView("Box")); + ASSERT(box); + box->ResizeTo(box->Bounds().Width(), + BoxHeightForMode(kByAttributeItem, fLatch->Value() != 0)); + + AddAttrView(); + break; + } + case kNameModifiedMessage: // the query name was edited, make the query permanent fTemporaryCheck->SetValue(0); break; case B_SAVE_REQUESTED: - { - // finish saving query template from a SaveAs panel - entry_ref ref; - status_t error = message->FindRef("refs", &ref); + { + // finish saving query template from a SaveAs panel + entry_ref ref; + status_t error = message->FindRef("refs", &ref); + if (error == B_OK) { + // direct entry selected, convert to parent dir and name + BEntry entry(&ref); + error = entry.GetParent(&entry); if (error == B_OK) { - // direct entry selected, convert to parent dir and name - BEntry entry(&ref); - error = entry.GetParent(&entry); - if (error == B_OK) { - entry.GetRef(&dir); - name = ref.name; - } - } else { - // parent dir and name selected - error = message->FindRef("directory", &dir); - if (error == B_OK) - error = message->FindString("name", &name); + entry.GetRef(&dir); + name = ref.name; } + } else { + // parent dir and name selected + error = message->FindRef("directory", &dir); if (error == B_OK) - SaveAsQueryOrTemplate(&dir, name, true); + error = message->FindString("name", &name); } + + if (error == B_OK) + SaveAsQueryOrTemplate(&dir, name, true); + break; + } case B_COPY_TARGET: - { - // finish drag&drop - const char* str; - const char* mimeType = NULL; - const char* actionSpecifier = NULL; - if (message->FindString("be:types", &str) == B_OK - && strcasecmp(str, B_FILE_MIME_TYPE) == 0 - && (message->FindString("be:actionspecifier", &actionSpecifier) == B_OK - || message->FindString("be:filetypes", &mimeType) == B_OK) - && message->FindString("name", &name) == B_OK - && message->FindRef("directory", &dir) == B_OK) { + { + // finish drag&drop + const char* str; + const char* mimeType = NULL; + const char* actionSpecifier = NULL; - bool query = false; - bool queryTemplate = false; + if (message->FindString("be:types", &str) == B_OK + && strcasecmp(str, B_FILE_MIME_TYPE) == 0 + && (message->FindString("be:actionspecifier", + &actionSpecifier) == B_OK + || message->FindString("be:filetypes", &mimeType) == B_OK) + && message->FindString("name", &name) == B_OK + && message->FindRef("directory", &dir) == B_OK) { - if (actionSpecifier - && strcasecmp(actionSpecifier, - B_TRANSLATE_NOCOLLECT( - kDragNDropActionSpecifiers[0])) == 0) { - query = true; - } else if (actionSpecifier - && strcasecmp(actionSpecifier, - B_TRANSLATE_NOCOLLECT( - kDragNDropActionSpecifiers[1])) == 0) { - queryTemplate = true; - } else if (mimeType && strcasecmp(mimeType, - kDragNDropTypes[0]) == 0) { - query = true; - } else if (mimeType && strcasecmp(mimeType, kDragNDropTypes[1]) == 0) - queryTemplate = true; + bool query = false; + bool queryTemplate = false; - if (query || queryTemplate) - SaveAsQueryOrTemplate(&dir, name, queryTemplate); + if (actionSpecifier + && strcasecmp(actionSpecifier, + B_TRANSLATE_NOCOLLECT( + kDragNDropActionSpecifiers[0])) == 0) { + query = true; + } else if (actionSpecifier + && strcasecmp(actionSpecifier, + B_TRANSLATE_NOCOLLECT( + kDragNDropActionSpecifiers[1])) == 0) { + queryTemplate = true; + } else if (mimeType && strcasecmp(mimeType, + kDragNDropTypes[0]) == 0) { + query = true; + } else if (mimeType && strcasecmp(mimeType, + kDragNDropTypes[1]) == 0) { + queryTemplate = true; } + + if (query || queryTemplate) + SaveAsQueryOrTemplate(&dir, name, queryTemplate); } + break; + } default: _inherited::MessageReceived(message); @@ -1163,11 +1178,13 @@ FindPanel::MessageReceived(BMessage* message) void -FindPanel::SaveAsQueryOrTemplate(const entry_ref* dir, const char* name, bool queryTemplate) +FindPanel::SaveAsQueryOrTemplate(const entry_ref* dir, const char* name, + bool queryTemplate) { BDirectory directory(dir); BFile file(&directory, name, O_RDWR | O_CREAT | O_TRUNC); - BNodeInfo(&file).SetType(queryTemplate ? B_QUERY_TEMPLATE_MIMETYPE : B_QUERY_MIMETYPE); + BNodeInfo(&file).SetType(queryTemplate + ? B_QUERY_TEMPLATE_MIMETYPE : B_QUERY_MIMETYPE); BMessage attach(kAttachFile); attach.AddRef("directory", dir); @@ -1194,7 +1211,8 @@ FindPanel::BuildAttrQuery(BQuery* query, bool &dynamicDate) const if (!textControl) return; - BMenuField* menuField = dynamic_cast(view->FindView("MenuField")); + BMenuField* menuField + = dynamic_cast(view->FindView("MenuField")); if (!menuField) return; @@ -1218,78 +1236,85 @@ FindPanel::BuildAttrQuery(BQuery* query, bool &dynamicDate) const break; case B_TIME_TYPE: - { - int flags = 0; - DEBUG_ONLY(time_t result =) - parsedate_etc(textControl->TextView()->Text(), -1, &flags); - dynamicDate = (flags & PARSEDATE_RELATIVE_TIME) != 0; - PRINT(("parsedate_etc - date is %srelative, %" - B_PRIdTIME "\n", - dynamicDate ? "" : "not ", result)); + { + int flags = 0; + DEBUG_ONLY(time_t result =) + parsedate_etc(textControl->TextView()->Text(), -1, + &flags); + dynamicDate = (flags & PARSEDATE_RELATIVE_TIME) != 0; + PRINT(("parsedate_etc - date is %srelative, %" + B_PRIdTIME "\n", + dynamicDate ? "" : "not ", result)); - query->PushDate(textControl->TextView()->Text()); - } + query->PushDate(textControl->TextView()->Text()); break; + } case B_BOOL_TYPE: - { - uint32 value; - if (strcasecmp(textControl->TextView()->Text(), "true") == 0) - value = 1; - else if (strcasecmp(textControl->TextView()->Text(), "true") == 0) - value = 1; - else - value = (uint32)atoi(textControl->TextView()->Text()); + { + uint32 value; + if (strcasecmp(textControl->TextView()->Text(), + "true") == 0) { + value = 1; + } else if (strcasecmp(textControl->TextView()->Text(), + "true") == 0) { + value = 1; + } else + value = (uint32)atoi(textControl->TextView()->Text()); - value %= 2; - query->PushUInt32(value); - } + value %= 2; + query->PushUInt32(value); break; + } case B_UINT8_TYPE: case B_UINT16_TYPE: case B_UINT32_TYPE: - query->PushUInt32((uint32)StringToScalar(textControl->TextView()->Text())); + query->PushUInt32((uint32)StringToScalar( + textControl->TextView()->Text())); break; case B_INT8_TYPE: case B_INT16_TYPE: case B_INT32_TYPE: - query->PushInt32((int32)StringToScalar(textControl->TextView()->Text())); + query->PushInt32((int32)StringToScalar( + textControl->TextView()->Text())); break; case B_UINT64_TYPE: - query->PushUInt64((uint64)StringToScalar(textControl->TextView()->Text())); + query->PushUInt64((uint64)StringToScalar( + textControl->TextView()->Text())); break; case B_OFF_T_TYPE: case B_INT64_TYPE: - query->PushInt64(StringToScalar(textControl->TextView()->Text())); + query->PushInt64(StringToScalar( + textControl->TextView()->Text())); break; case B_FLOAT_TYPE: - { - float floatVal; - sscanf(textControl->TextView()->Text(), "%f", &floatVal); - query->PushFloat(floatVal); - } + { + float floatVal; + sscanf(textControl->TextView()->Text(), "%f", &floatVal); + query->PushFloat(floatVal); break; + } case B_DOUBLE_TYPE: - { - double doubleVal; - sscanf(textControl->TextView()->Text(), "%lf", &doubleVal); - query->PushDouble(doubleVal); - } + { + double doubleVal; + sscanf(textControl->TextView()->Text(), "%lf", &doubleVal); + query->PushDouble(doubleVal); break; - + } } } query_op theOperator; BMenuItem* operatorItem = item->Submenu()->FindMarked(); if (operatorItem && operatorItem->Message() != NULL) { - operatorItem->Message()->FindInt32("operator", (int32*)&theOperator); + operatorItem->Message()->FindInt32("operator", + (int32*)&theOperator); query->PushOp(theOperator); } else query->PushOp(B_EQ); @@ -1297,7 +1322,8 @@ FindPanel::BuildAttrQuery(BQuery* query, bool &dynamicDate) const // add logic based on selection in Logic menufield if (index > 0) { TAttrView* prevView = fAttrViewList.ItemAt(index - 1); - menuField = dynamic_cast(prevView->FindView("Logic")); + menuField + = dynamic_cast(prevView->FindView("Logic")); if (menuField) { item = menuField->Menu()->FindMarked(); if (item) { @@ -1348,7 +1374,8 @@ FindPanel::GetByAttrPredicate(BQuery* query, bool &dynamicDate) const void FindPanel::GetDefaultName(BString &result) const { - BTextControl* textControl = dynamic_cast(FindView("TextControl")); + BTextControl* textControl + = dynamic_cast(FindView("TextControl")); switch (Mode()) { case kByNameItem: result.SetTo(B_TRANSLATE_COMMENT("Name = %name", @@ -1393,16 +1420,17 @@ void FindPanel::GetByNamePredicate(BQuery* query) const { ASSERT(Mode() == (int32)kByNameItem); - BTextControl* textControl = dynamic_cast(FindView("TextControl")); + BTextControl* textControl + = dynamic_cast(FindView("TextControl")); ASSERT(textControl); query->PushAttr("name"); query->PushString(textControl->TextView()->Text(), true); - if (strstr(textControl->TextView()->Text(), "*")) + if (strstr(textControl->TextView()->Text(), "*")) { // assume pattern is a regular expression and try doing an exact match query->PushOp(B_EQ); - else + } else query->PushOp(B_CONTAINS); PushMimeType(query); @@ -1446,14 +1474,16 @@ FindPanel::SwitchMode(uint32 mode) bounds.bottom -= 10; if (fLatch->Value()) bounds.bottom -= kMoreOptionsDelta; - box->ResizeTo(bounds.Width(), BoxHeightForMode(mode, fLatch->Value() != 0)); + box->ResizeTo(bounds.Width(), BoxHeightForMode(mode, + fLatch->Value() != 0)); RemoveByAttributeItems(); ShowOrHideMimeTypeMenu(); AddByNameOrFormulaItems(); if (buffer.Length()) { - ASSERT(mode == kByFormulaItem || oldMode == kByAttributeItem); + ASSERT(mode == kByFormulaItem + || oldMode == kByAttributeItem); BTextControl* textControl = dynamic_cast (FindView("TextControl")); textControl->SetText(buffer.String()); @@ -1492,9 +1522,11 @@ FindPanel::CurrentMimeType(const char** type) const // search for marked item in the list BMenuItem* item = MimeTypeMenu()->FindMarked(); - // if it's one of the most used items, ignore it - if (item != NULL && MimeTypeMenu()->IndexOf(item) != 0 && item->Submenu() == NULL) + if (item != NULL && MimeTypeMenu()->IndexOf(item) != 0 + && item->Submenu() == NULL) { + // if it's one of the most used items, ignore it item = NULL; + } if (item == NULL) { for (int32 index = MimeTypeMenu()->CountItems(); index-- > 0;) { @@ -1536,7 +1568,7 @@ FindPanel::SetCurrentMimeType(BMenuItem* item) fMimeTypeField->MenuItem()->SetLabel(item->Label()); BMenuItem* search; - for (int32 i = 2;(search = MimeTypeMenu()->ItemAt(i)) != NULL;i++) { + for (int32 i = 2; (search = MimeTypeMenu()->ItemAt(i)) != NULL; i++) { if (item == search || !search->Label()) continue; if (!strcmp(item->Label(),search->Label())) { @@ -1583,12 +1615,14 @@ FindPanel::SetCurrentMimeType(const char* label) if (submenu != NULL && !found) { for (int32 subIndex = submenu->CountItems(); subIndex-- > 0;) { BMenuItem* subItem = submenu->ItemAt(subIndex); - if (subItem->Label() != NULL && !strcmp(label, subItem->Label())) { + if (subItem->Label() != NULL + && !strcmp(label, subItem->Label())) { subItem->SetMarked(true); found = true; } } } + if (item->Label() != NULL && !strcmp(label, item->Label())) { item->SetMarked(true); return B_OK; @@ -1615,8 +1649,9 @@ FindPanel::AddOneMimeTypeToMenu(const ShortMimeInfo* info, void* castToMenu) BMessage* msg = new BMessage(kMIMETypeItem); msg->AddString("mimetype", info->InternalName()); - superItem->Submenu()->AddItem(new IconMenuItem(info->ShortDescription(), - msg, info->InternalName(), B_MINI_ICON)); + superItem->Submenu()->AddItem(new IconMenuItem( + info->ShortDescription(), msg, info->InternalName(), + B_MINI_ICON)); } return false; @@ -1628,8 +1663,8 @@ FindPanel::AddMimeTypesToMenu() { BMessage* itemMessage = new BMessage(kMIMETypeItem); itemMessage->AddString("mimetype", kAllMimeTypes); - MimeTypeMenu()->AddItem(new BMenuItem(B_TRANSLATE("All files and folders"), - itemMessage)); + MimeTypeMenu()->AddItem( + new BMenuItem(B_TRANSLATE("All files and folders"), itemMessage)); MimeTypeMenu()->AddSeparatorItem(); MimeTypeMenu()->ItemAt(0)->SetMarked(true); @@ -1777,8 +1812,8 @@ AddOneRecentItem(const entry_ref* ref, void* castToParams) void -FindPanel::AddRecentQueries(BMenu* menu, bool addSaveAsItem, const BMessenger* target, - uint32 what) +FindPanel::AddRecentQueries(BMenu* menu, bool addSaveAsItem, + const BMessenger* target, uint32 what) { BObjectList templates(10, true); BObjectList recentQueries(10, true); @@ -1788,7 +1823,8 @@ FindPanel::AddRecentQueries(BMenu* menu, bool addSaveAsItem, const BMessenger* t BVolume volume; roster.Rewind(); while (roster.GetNextVolume(&volume) == B_OK) { - if (volume.IsPersistent() && volume.KnowsQuery() && volume.KnowsAttr()) { + if (volume.IsPersistent() && volume.KnowsQuery() + && volume.KnowsAttr()) { BQuery query; query.SetVolume(&volume); @@ -2046,9 +2082,11 @@ FindPanel::SaveWindowState(BNode* node, bool editTemplate) saveMoreOptions.searchTrash = fSearchTrashCheck->Value() != 0; saveMoreOptions.temporary = fTemporaryCheck->Value() != 0; - if (node->WriteAttr(kAttrQueryMoreOptions, B_RAW_TYPE, 0, &saveMoreOptions, - sizeof(saveMoreOptions)) == sizeof(saveMoreOptions)) + if (node->WriteAttr(kAttrQueryMoreOptions, B_RAW_TYPE, 0, + &saveMoreOptions, + sizeof(saveMoreOptions)) == sizeof(saveMoreOptions)) { node->RemoveAttr(kAttrQueryMoreOptionsForeign); + } if (editTemplate) { if (UserSpecifiedName()) { @@ -2059,36 +2097,37 @@ FindPanel::SaveWindowState(BNode* node, bool editTemplate) switch (Mode()) { case kByAttributeItem: - { - BMessage message; - int32 count = fAttrViewList.CountItems(); - node->WriteAttr(kAttrQueryInitialNumAttrs, B_INT32_TYPE, 0, - &count, sizeof(int32)); + { + BMessage message; + int32 count = fAttrViewList.CountItems(); + node->WriteAttr(kAttrQueryInitialNumAttrs, B_INT32_TYPE, 0, + &count, sizeof(int32)); - for (int32 index = 0; index < count; index++) - fAttrViewList.ItemAt(index)->SaveState(&message, index); + for (int32 index = 0; index < count; index++) + fAttrViewList.ItemAt(index)->SaveState(&message, index); - ssize_t size = message.FlattenedSize(); - char* buffer = new char[size]; - status_t result = message.Flatten(buffer, size); - if (result == B_OK) { - node->WriteAttr(kAttrQueryInitialAttrs, B_MESSAGE_TYPE, 0, - buffer, (size_t)size); - } - delete [] buffer; + ssize_t size = message.FlattenedSize(); + char* buffer = new char[size]; + status_t result = message.Flatten(buffer, size); + if (result == B_OK) { + node->WriteAttr(kAttrQueryInitialAttrs, B_MESSAGE_TYPE, 0, + buffer, (size_t)size); } + + delete[] buffer; break; + } case kByNameItem: case kByFormulaItem: - { - BTextControl* textControl = dynamic_cast - (FindView("TextControl")); - ASSERT(textControl); - BString formula(textControl->TextView()->Text()); - node->WriteAttrString(kAttrQueryInitialString, &formula); - break; - } + { + BTextControl* textControl = dynamic_cast + (FindView("TextControl")); + ASSERT(textControl); + BString formula(textControl->TextView()->Text()); + node->WriteAttrString(kAttrQueryInitialString, &formula); + break; + } } } @@ -2169,7 +2208,8 @@ FindPanel::RestoreWindowState(const BNode* node) // set modification message after checking the temporary check box, // and filling out the text control so that we do not // always trigger clearing of the temporary check box. - fQueryName->SetModificationMessage(new BMessage(kNameModifiedMessage)); + fQueryName->SetModificationMessage( + new BMessage(kNameModifiedMessage)); } // get volumes to perform query on @@ -2178,23 +2218,25 @@ FindPanel::RestoreWindowState(const BNode* node) attr_info info; if (node->GetAttrInfo(kAttrQueryVolume, &info) == B_OK) { char* buffer = new char[info.size]; - if (node->ReadAttr(kAttrQueryVolume, B_MESSAGE_TYPE, 0, buffer, (size_t)info.size) - == info.size) { + if (node->ReadAttr(kAttrQueryVolume, B_MESSAGE_TYPE, 0, buffer, + (size_t)info.size) == info.size) { BMessage message; if (message.Unflatten(buffer) == B_OK) { for (int32 index = 0; ;index++) { ASSERT(index < 100); BVolume volume; - // match a volume with the info embedded in the message - status_t result = MatchArchivedVolume(&volume, &message, index); + // match a volume with the info embedded in + // the message + status_t result = MatchArchivedVolume(&volume, &message, + index); if (result == B_OK) { char name[256]; volume.GetName(name); SelectItemWithLabel(fVolMenu, name); searchAllVolumes = false; } else if (result != B_DEV_BAD_DRIVE_NUM) - // if B_DEV_BAD_DRIVE_NUM, the volume just isn't mounted this - // time around, keep looking for more + // if B_DEV_BAD_DRIVE_NUM, the volume just isn't + // mounted this time around, keep looking for more // if other error, bail break; } @@ -2208,37 +2250,40 @@ FindPanel::RestoreWindowState(const BNode* node) switch (Mode()) { case kByAttributeItem: - { - int32 count = InitialAttrCount(node); + { + int32 count = InitialAttrCount(node); - attr_info info; - if (node->GetAttrInfo(kAttrQueryInitialAttrs, &info) != B_OK) - break; - char* buffer = new char[info.size]; - if (node->ReadAttr(kAttrQueryInitialAttrs, B_MESSAGE_TYPE, 0, buffer, (size_t)info.size) - == info.size) { - BMessage message; - if (message.Unflatten(buffer) == B_OK) - for (int32 index = 0; index < count; index++) - fAttrViewList.ItemAt(index)->RestoreState(message, index); - } - delete [] buffer; + attr_info info; + if (node->GetAttrInfo(kAttrQueryInitialAttrs, &info) != B_OK) break; + char* buffer = new char[info.size]; + if (node->ReadAttr(kAttrQueryInitialAttrs, B_MESSAGE_TYPE, 0, + buffer, (size_t)info.size) == info.size) { + BMessage message; + if (message.Unflatten(buffer) == B_OK) + for (int32 index = 0; index < count; index++) { + fAttrViewList.ItemAt(index)->RestoreState(message, + index); + } } + delete[] buffer; + break; + } case kByNameItem: case kByFormulaItem: - { - BString buffer; - if (node->ReadAttrString(kAttrQueryInitialString, &buffer) == B_OK) { - BTextControl* textControl = dynamic_cast - (FindView("TextControl")); - ASSERT(textControl); + { + BString buffer; + if (node->ReadAttrString(kAttrQueryInitialString, &buffer) + == B_OK) { + BTextControl* textControl = dynamic_cast + (FindView("TextControl")); + ASSERT(textControl); - textControl->TextView()->SetText(buffer.String()); - } + textControl->TextView()->SetText(buffer.String()); } break; + } } // try to restore focus and possibly text selection @@ -2304,7 +2349,8 @@ FindPanel::AddByNameOrFormulaItems() BRect bounds(box->Bounds()); bounds.InsetBy(10, 10); - BTextControl* textControl = new BTextControl(bounds, "TextControl", "", "", NULL); + BTextControl* textControl = new BTextControl(bounds, "TextControl", + "", "", NULL); textControl->SetDivider(0.0f); box->AddChild(textControl); textControl->MakeFocus(); @@ -2353,7 +2399,8 @@ FindPanel::RemoveByAttributeItems() void FindPanel::ShowOrHideMimeTypeMenu() { - BMenuField* menuField = dynamic_cast(FindView("MimeTypeMenu")); + BMenuField* menuField + = dynamic_cast(FindView("MimeTypeMenu")); if (Mode() == (int32)kByFormulaItem && !menuField->IsHidden()) menuField->Hide(); else if (menuField->IsHidden()) @@ -2398,8 +2445,8 @@ TAttrView::TAttrView(BRect frame, int32 index) for (int32 i = 0; i < 5; i++) { message = new BMessage(kAttributeItem); message->AddInt32("operator", operators[i]); - submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT(operatorLabels[i]), - message)); + submenu->AddItem(new BMenuItem(B_TRANSLATE_NOCOLLECT( + operatorLabels[i]), message)); } // mark first item @@ -2464,7 +2511,7 @@ TAttrView::TAttrView(BRect frame, int32 index) AddChild(fTextControl); AddChild(fMenuField); - // add attributes from currently selected mimetype + // add attributes from currently selected mimetype } @@ -2558,7 +2605,8 @@ TAttrView::SaveState(BMessage* message, int32) if (field) { BMenuItem* item = field->Menu()->FindMarked(); ASSERT(item); - message->AddInt32("logicalRelation", item ? field->Menu()->IndexOf(item) : 0); + message->AddInt32("logicalRelation", + item ? field->Menu()->IndexOf(item) : 0); } } @@ -2618,7 +2666,8 @@ TAttrView::Draw(BRect) // draws the is/contains, etc. string bounds.left -= (width + 10); bounds.bottom -= 6; - DrawString(item->Submenu()->FindMarked()->Label(), bounds.LeftBottom()); + DrawString(item->Submenu()->FindMarked()->Label(), + bounds.LeftBottom()); } } @@ -2677,15 +2726,19 @@ TAttrView::AddAttributes(BMenu* menu, const BMimeType &mimeType) // go through each field in meta mime and add it to a menu for (int32 index = 0; ; index++) { const char* publicName; - if (attributeMessage.FindString("attr:public_name", index, &publicName) != B_OK) + if (attributeMessage.FindString("attr:public_name", index, + &publicName) != B_OK) { break; + } if (!attributeMessage.FindBool("attr:viewable")) continue; const char* attributeName; - if (attributeMessage.FindString("attr:name", index, &attributeName) != B_OK) + if (attributeMessage.FindString("attr:name", index, &attributeName) + != B_OK) { continue; + } int32 type; if (attributeMessage.FindInt32("attr:type", index, &type) != B_OK) @@ -2714,7 +2767,8 @@ TAttrView::AddAttributes(BMenu* menu, const BMimeType &mimeType) message = new BMessage(kAttributeItem); message->AddInt32("operator", B_NE); - submenu->AddItem(new BMenuItem(B_TRANSLATE("is not"), message)); + submenu->AddItem(new BMenuItem(B_TRANSLATE("is not"), + message)); submenu->SetTargetForItems(this); message = new BMessage(kAttributeItem); @@ -2942,12 +2996,14 @@ DeleteTransientQueriesTask::ProcessOneRef(Model* model) ASSERT(dynamic_cast(be_app)); // check that it is not showing - if (dynamic_cast(be_app)->EntryHasWindowOpen(model->EntryRef())) { + if (dynamic_cast(be_app)->EntryHasWindowOpen( + model->EntryRef())) { PRINT(("query %s, showing, can't delete\n", model->Name())); return false; } - PRINT(("query %s, old, temporary, not shownig - deleting\n", model->Name())); + PRINT(("query %s, old, temporary, not shownig - deleting\n", + model->Name())); BEntry entry(model->EntryRef()); entry.Remove(); @@ -2993,8 +3049,8 @@ DeleteTransientQueriesTask::StartUpTransientQueryCleaner() // #pragma mark - -RecentFindItemsMenu::RecentFindItemsMenu(const char* title, const BMessenger* target, - uint32 what) +RecentFindItemsMenu::RecentFindItemsMenu(const char* title, + const BMessenger* target, uint32 what) : BMenu(title, B_ITEMS_IN_COLUMN), fTarget(*target), fWhat(what) @@ -3029,7 +3085,8 @@ TrackerBuildRecentFindItemsMenu(const char* title) DraggableQueryIcon::DraggableQueryIcon(BRect frame, const char* name, - const BMessage* message, BMessenger messenger, uint32 resizeFlags, uint32 flags) + const BMessage* message, BMessenger messenger, uint32 resizeFlags, + uint32 flags) : DraggableIcon(frame, name, B_QUERY_MIMETYPE, B_LARGE_ICON, message, messenger, resizeFlags, flags) { @@ -3056,7 +3113,8 @@ DraggableQueryIcon::DragStarted(BMessage* dragMessage) // #pragma mark - -MostUsedNames::MostUsedNames(const char* fileName, const char* directory, int32 maxCount) +MostUsedNames::MostUsedNames(const char* fileName, const char* directory, + int32 maxCount) : fFileName(fileName), fDirectory(directory), @@ -3157,7 +3215,8 @@ MostUsedNames::AddName(const char* name) list_entry* entry = NULL; if (fList.CountItems() > fCount * 2) { - entry = static_cast(fList.RemoveItem(fList.CountItems() - 1)); + entry = static_cast( + fList.RemoveItem(fList.CountItems() - 1)); // is this the name we want to add here? if (strcmp(name, entry->name)) { @@ -3169,9 +3228,12 @@ MostUsedNames::AddName(const char* name) } if (entry == NULL) { - for (int32 i = 0; (entry = static_cast(fList.ItemAt(i))) != NULL; i++) + for (int32 i = 0; + (entry = static_cast(fList.ItemAt(i))) != NULL; + i++) { if (!strcmp(entry->name, name)) break; + } } if (entry == NULL) { diff --git a/src/kits/tracker/GroupedMenu.cpp b/src/kits/tracker/GroupedMenu.cpp index 8eb4dfbcb3..d781ee7338 100644 --- a/src/kits/tracker/GroupedMenu.cpp +++ b/src/kits/tracker/GroupedMenu.cpp @@ -176,8 +176,10 @@ TGroupedMenu::TGroupedMenu(const char* name) TGroupedMenu::~TGroupedMenu() { TMenuItemGroup* group; - while ((group = static_cast(fGroups.RemoveItem(0L))) != NULL) + while ((group = static_cast(fGroups.RemoveItem(0L))) + != NULL) { delete group; + } } @@ -247,7 +249,8 @@ TGroupedMenu::CountGroups() void -TGroupedMenu::AddGroupItem(TMenuItemGroup* group, BMenuItem* item, int32 atIndex) +TGroupedMenu::AddGroupItem(TMenuItemGroup* group, BMenuItem* item, + int32 atIndex) { int32 groupIndex = fGroups.IndexOf(group); bool addSeparator = false; @@ -257,7 +260,8 @@ TGroupedMenu::AddGroupItem(TMenuItemGroup* group, BMenuItem* item, int32 atIndex if (groupIndex > 0) { // add this group after an existing one TMenuItemGroup* previous = GroupAt(groupIndex - 1); - group->fFirstItemIndex = previous->fFirstItemIndex + previous->fItemsTotal; + group->fFirstItemIndex = previous->fFirstItemIndex + + previous->fItemsTotal; addSeparator = true; } else { // this is the first group @@ -283,7 +287,8 @@ TGroupedMenu::AddGroupItem(TMenuItemGroup* group, BMenuItem* item, int32 atIndex // insert item for real - AddItem(item, atIndex + group->fFirstItemIndex + (group->HasSeparator() ? 1 : 0)); + AddItem(item, + atIndex + group->fFirstItemIndex + (group->HasSeparator() ? 1 : 0)); // move the groups after this one @@ -320,4 +325,3 @@ TGroupedMenu::RemoveGroupItem(TMenuItemGroup* group, BMenuItem* item) group->fFirstItemIndex -= removedSeparator ? 2 : 1; } } - diff --git a/src/kits/tracker/IconCache.cpp b/src/kits/tracker/IconCache.cpp index bfdc610f3d..8cf9d8e195 100644 --- a/src/kits/tracker/IconCache.cpp +++ b/src/kits/tracker/IconCache.cpp @@ -242,13 +242,17 @@ IconCacheEntry::IconHitTest(BPoint where, IconDrawMode mode, icon_size size) con BBitmap* -IconCacheEntry::ConstructBitmap(BBitmap* constructFrom, IconDrawMode requestedMode, - IconDrawMode constructFromMode, icon_size size, LazyBitmapAllocator* lazyBitmap) +IconCacheEntry::ConstructBitmap(BBitmap* constructFrom, + IconDrawMode requestedMode, IconDrawMode constructFromMode, + icon_size size, LazyBitmapAllocator* lazyBitmap) { ASSERT(requestedMode == kSelected && constructFromMode == kNormalIcon); // for now - if (requestedMode == kSelected && constructFromMode == kNormalIcon) - return IconCache::sIconCache->MakeSelectedIcon(constructFrom, size, lazyBitmap); + + if (requestedMode == kSelected && constructFromMode == kNormalIcon) { + return IconCache::sIconCache->MakeSelectedIcon(constructFrom, size, + lazyBitmap); + } return NULL; } @@ -260,7 +264,8 @@ IconCacheEntry::ConstructBitmap(IconDrawMode requestedMode, icon_size size, { BBitmap* source = (size == B_MINI_ICON) ? fMiniIcon : fLargeIcon; ASSERT(source); - return ConstructBitmap(source, requestedMode, kNormalIcon, size, lazyBitmap); + return ConstructBitmap(source, requestedMode, kNormalIcon, size, + lazyBitmap); } @@ -303,14 +308,13 @@ IconCache::IconCache() } -// The following calls use the icon lookup sequence node-prefered app for node- -// metamime-preferred app for metamime to find an icon; +// The following calls use the icon lookup sequence node-prefered app for +// node-metamime-preferred app for metamime to find an icon; // if we are trying to get a specialized icon, we will first look for a normal -// icon in each of the locations, if we get a hit, we look for the specialized, -// if we don't find one, we try to auto-construct one, if we can't we assume the -// icon is not available -// for now the code only looks for normal icons, selected icons are auto-generated - +// icon in each of the locations, if we get a hit, we look for the +// specialized, if we don't find one, we try to auto-construct one, if we +// can't we assume the icon is not available for now the code only looks for +// normal icons, selected icons are auto-generated IconCacheEntry* IconCache::GetIconForPreferredApp(const char* fileTypeSignature, const char* preferredApp, IconDrawMode mode, icon_size size, @@ -336,20 +340,24 @@ IconCache::GetIconForPreferredApp(const char* fileTypeSignature, if (!entry || !entry->HaveIconBitmap(NORMAL_ICON_ONLY, size)) { - PRINT_DISK_HITS(("File %s; Line %d # hitting disk for preferredApp %s, type %s\n", + PRINT_DISK_HITS( + ("File %s; Line %d # hitting disk for preferredApp %s, type %s\n", __FILE__, __LINE__, preferredApp, fileTypeSignature)); BMimeType preferredAppType(preferredApp); BString signature(fileTypeSignature); signature.ToLower(); - if (preferredAppType.GetIconForType(signature.String(), lazyBitmap->Get(), - size) != B_OK) + if (preferredAppType.GetIconForType(signature.String(), + lazyBitmap->Get(), size) != B_OK) { return NULL; + } BBitmap* bitmap = lazyBitmap->Adopt(); if (!entry) { - PRINT_ADD_ITEM(("File %s; Line %d # adding entry for preferredApp %s, type %s\n", - __FILE__, __LINE__, preferredApp, fileTypeSignature)); + PRINT_ADD_ITEM( + ("File %s; Line %d # adding entry for preferredApp %s, " + "type %s\n", __FILE__, __LINE__, preferredApp, + fileTypeSignature)); entry = fSharedCache.AddItem(fileTypeSignature, preferredApp); } entry->SetIcon(bitmap, kNormalIcon, size); @@ -394,8 +402,10 @@ IconCache::GetIconFromMetaMime(const char* fileType, IconDrawMode mode, return NULL; SharedCacheEntry* aliasTo = NULL; - if (entry) - aliasTo = (SharedCacheEntry*)entry->ResolveIfAlias(&fSharedCache); + if (entry) { + aliasTo + = (SharedCacheEntry*)entry->ResolveIfAlias(&fSharedCache); + } // look for icon defined by preferred app from metamime aliasTo = (SharedCacheEntry*)GetIconForPreferredApp(fileType, @@ -407,7 +417,8 @@ IconCache::GetIconFromMetaMime(const char* fileType, IconDrawMode mode, // make an aliased entry so that the next time we get a // hit on the first FindItem in here if (!entry) { - PRINT_ADD_ITEM(("File %s; Line %d # adding entry as alias for type %s\n", + PRINT_ADD_ITEM( + ("File %s; Line %d # adding entry as alias for type %s\n", __FILE__, __LINE__, fileType)); entry = fSharedCache.AddItem(&aliasTo, fileType); entry->SetAliasFor(&fSharedCache, aliasTo); @@ -489,8 +500,9 @@ IconCache::GetIconFromFileTypes(ModelNodeLazyOpener* modelOpener, lazyBitmap, entry); #if DEBUG else - PRINT(("File %s; Line %d # failed to get supertype for type %s\n", - __FILE__, __LINE__, fileType)); + PRINT( + ("File %s; Line %d # failed to get supertype for " + "type %s\n", __FILE__, __LINE__, fileType)); #endif } } @@ -503,15 +515,20 @@ IconCache::GetIconFromFileTypes(ModelNodeLazyOpener* modelOpener, // make an aliased entry so that the next time we get a // hit and substitute a generic icon right away - PRINT_ADD_ITEM(("File %s; Line %d # adding entry as alias for preferredApp %s, type %s\n", + PRINT_ADD_ITEM( + ("File %s; Line %d # adding entry as alias for " + "preferredApp %s, type %s\n", __FILE__, __LINE__, nodePreferredApp, fileType)); - IconCacheEntry* aliasedEntry = fSharedCache.AddItem((SharedCacheEntry**)&entry, - fileType, nodePreferredApp); - aliasedEntry->SetAliasFor(&fSharedCache, (SharedCacheEntry*)entry); + IconCacheEntry* aliasedEntry + = fSharedCache.AddItem((SharedCacheEntry**)&entry, fileType, + nodePreferredApp); + aliasedEntry->SetAliasFor(&fSharedCache, + (SharedCacheEntry*)entry); // OK to cast here, have a runtime check source = kPreferredAppForNode; - // set source as preferred for node, so that next time we get a hit in - // the initial find that uses GetIconForPreferredApp + // set source as preferred for node, so that next time we + // get a hit in the initial find that uses + // GetIconForPreferredApp } else source = kMetaMime; #if DEBUG @@ -542,8 +559,8 @@ IconCache::GetVolumeIcon(AutoLock*nodeCacheLocker, if (source == kTrackerDefault) { // if tracker default, resolved entry is from shared cache - // this could be done a little cleaner if entry had a way to reach - // the cache it is in + // this could be done a little cleaner if entry had a way to + // reach the cache it is in *resultingOpenCache = sharedCacheLocker; sharedCacheLocker->Lock(); } @@ -563,7 +580,8 @@ IconCache::GetVolumeIcon(AutoLock*nodeCacheLocker, BBitmap* bitmap = lazyBitmap->Get(); GetTrackerResources()->GetIconResource(R_ShareIcon, size, bitmap); if (!entry) { - PRINT_ADD_ITEM(("File %s; Line %d # adding entry for model %s\n", + PRINT_ADD_ITEM( + ("File %s; Line %d # adding entry for model %s\n", __FILE__, __LINE__, model->Name())); entry = fNodeCache.AddItem(model->NodeRef()); } @@ -573,7 +591,8 @@ IconCache::GetVolumeIcon(AutoLock*nodeCacheLocker, BBitmap* bitmap = lazyBitmap->Adopt(); ASSERT(bitmap); if (!entry) { - PRINT_ADD_ITEM(("File %s; Line %d # adding entry for model %s\n", + PRINT_ADD_ITEM( + ("File %s; Line %d # adding entry for model %s\n", __FILE__, __LINE__, model->Name())); entry = fNodeCache.AddItem(model->NodeRef()); } @@ -584,7 +603,8 @@ IconCache::GetVolumeIcon(AutoLock*nodeCacheLocker, *resultingOpenCache = sharedCacheLocker; sharedCacheLocker->Lock(); - // If the volume doesnt have a device it should have the generic icon + // If the volume doesnt have a device it should have + // the generic icon entry = GetIconFromMetaMime(B_VOLUME_MIMETYPE, mode, size, lazyBitmap, entry); } @@ -754,8 +774,10 @@ IconCache::GetNodeIcon(ModelNodeLazyOpener* modelOpener, status_t result; if (file) result = GetAppIconFromAttr(file, lazyBitmap->Get(), size); - else - result = GetFileIconFromAttr(model->Node(), lazyBitmap->Get(), size); + else { + result = GetFileIconFromAttr(model->Node(), lazyBitmap->Get(), + size); + } if (result == B_OK) { // node has it's own icon, use it @@ -806,7 +828,8 @@ IconCache::GetGenericIcon(AutoLock* sharedCacheLocker, // make an aliased entry so that the next time we get a // hit and substitute a generic icon right away - PRINT_ADD_ITEM(("File %s; Line %d # adding entry for preferredApp %s, type %s\n", + PRINT_ADD_ITEM( + ("File %s; Line %d # adding entry for preferredApp %s, type %s\n", __FILE__, __LINE__, model->PreferredAppSignature(), model->MimeType())); IconCacheEntry* aliasedEntry = fSharedCache.AddItem( @@ -913,9 +936,9 @@ IconCache::Preload(AutoLock* nodeCacheLocker, model, source, mode, size, &lazyBitmap, entry); } } + // update the icon source model->SetIconFrom(source); - } else { // we already know where the icon should come from, // use shortcuts to get it @@ -1001,18 +1024,21 @@ IconCache::Preload(AutoLock* nodeCacheLocker, if (!entry || !entry->HaveIconBitmap(mode, size)) { // we don't have an icon, go with the generic - PRINT(("icon cache complete miss, falling back on generic icon for %s\n", - model->Name())); + PRINT( + ("icon cache complete miss, falling back on generic icon " + "for %s\n", model->Name())); entry = GetGenericIcon(sharedCacheLocker, &resultingOpenCache, model, source, mode, size, &lazyBitmap, entry); // we don't even have generic, something is really broken, // go with hardcoded generic icon if (!entry || !entry->HaveIconBitmap(mode, size)) { - PRINT(("icon cache complete miss, falling back on generic icon for %s\n", - model->Name())); - entry = GetFallbackIcon(sharedCacheLocker, &resultingOpenCache, - model, mode, size, &lazyBitmap, entry); + PRINT( + ("icon cache complete miss, falling back on generic " + "icon for %s\n", model->Name())); + entry = GetFallbackIcon(sharedCacheLocker, + &resultingOpenCache, model, mode, size, &lazyBitmap, + entry); } // force icon pick up next time around because we probably just @@ -1061,8 +1087,9 @@ IconCache::Draw(Model* model, BView* view, BPoint where, IconDrawMode mode, void -IconCache::SyncDraw(Model* model, BView* view, BPoint where, IconDrawMode mode, - icon_size size, void (*blitFunc)(BView*, BPoint, BBitmap*, void*), +IconCache::SyncDraw(Model* model, BView* view, BPoint where, + IconDrawMode mode, icon_size size, + void (*blitFunc)(BView*, BPoint, BBitmap*, void*), void* passThruState) { AutoLock nodeCacheLocker(&fNodeCache, false); @@ -1083,12 +1110,14 @@ IconCache::SyncDraw(Model* model, BView* view, BPoint where, IconDrawMode mode, void -IconCache::Preload(Model* model, IconDrawMode mode, icon_size size, bool permanent) +IconCache::Preload(Model* model, IconDrawMode mode, icon_size size, + bool permanent) { AutoLock nodeCacheLocker(&fNodeCache, false); AutoLock sharedCacheLocker(&fSharedCache, false); - Preload(&nodeCacheLocker, &sharedCacheLocker, 0, model, mode, size, permanent); + Preload(&nodeCacheLocker, &sharedCacheLocker, 0, model, mode, size, + permanent); } @@ -1358,9 +1387,8 @@ IconCacheEntry::RetireIcons(BObjectList* retiredBitmapList) // In debug mode keep the hash table sizes small so that they grow a lot and -// execercise the resizing code a lot. In release mode allocate them large up-front -// for better performance - +// execercise the resizing code a lot. In release mode allocate them large +// up-front for better performance SharedIconCache::SharedIconCache() #if DEBUG : SimpleIconCache("Shared Icon cache aka \"The Dead-Locker\""), @@ -1397,26 +1425,31 @@ SharedIconCache::Draw(IconCacheEntry* entry, BView* view, BPoint where, SharedCacheEntry* -SharedIconCache::FindItem(const char* fileType, const char* appSignature) const +SharedIconCache::FindItem(const char* fileType, + const char* appSignature) const { ASSERT(fileType); if (!fileType) fileType = B_FILE_MIMETYPE; - SharedCacheEntry* result = fHashTable.FindFirst(SharedCacheEntry::Hash(fileType, - appSignature)); + SharedCacheEntry* result + = fHashTable.FindFirst(SharedCacheEntry::Hash(fileType, + appSignature)); if (!result) return NULL; for(;;) { - if (result->fFileType == fileType && result->fAppSignature == appSignature) + if (result->fFileType == fileType + && result->fAppSignature == appSignature) { return result; + } if (result->fNext < 0) break; - result = const_cast(&fElementArray.At(result->fNext)); + result + = const_cast(&fElementArray.At(result->fNext)); } return NULL; @@ -1438,8 +1471,8 @@ SharedIconCache::AddItem(const char* fileType, const char* appSignature) SharedCacheEntry* -SharedIconCache::AddItem(SharedCacheEntry** outstandingEntry, const char* fileType, - const char* appSignature) +SharedIconCache::AddItem(SharedCacheEntry** outstandingEntry, + const char* fileType, const char* appSignature) { int32 entryToken = fHashTable.ElementIndex(*outstandingEntry); ASSERT(entryToken >= 0); @@ -1481,7 +1514,8 @@ SharedIconCache::RemoveAliasesTo(int32 aliasIndex) void -SharedIconCache::SetAliasFor(IconCacheEntry* alias, const SharedCacheEntry* original) const +SharedIconCache::SetAliasFor(IconCacheEntry* alias, + const SharedCacheEntry* original) const { alias->fAliasForIndex = fHashTable.ElementIndex(original); } @@ -1493,7 +1527,8 @@ SharedCacheEntry::SharedCacheEntry() } -SharedCacheEntry::SharedCacheEntry(const char* fileType, const char* appSignature) +SharedCacheEntry::SharedCacheEntry(const char* fileType, + const char* appSignature) : fNext(-1), fFileType(fileType), fAppSignature(appSignature) @@ -1502,8 +1537,8 @@ SharedCacheEntry::SharedCacheEntry(const char* fileType, const char* appSignatur void -SharedCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, icon_size size, - bool async) +SharedCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, + icon_size size, bool async) { BBitmap* bitmap = IconForMode(mode, size); ASSERT(bitmap); @@ -1529,8 +1564,9 @@ SharedCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, icon_size s void -SharedCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, icon_size size, - void (*blitFunc)(BView*, BPoint, BBitmap*, void*), void* passThruState) +SharedCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, + icon_size size, void (*blitFunc)(BView*, BPoint, BBitmap*, void*), + void* passThruState) { BBitmap* bitmap = IconForMode(mode, size); if (!bitmap) @@ -1542,7 +1578,7 @@ SharedCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, icon_size s // } else { // view->SetDrawingMode(B_OP_OVER); // } -// + (blitFunc)(view, where, bitmap, passThruState); } @@ -1572,7 +1608,8 @@ SharedCacheEntry::Hash() const bool SharedCacheEntry::operator==(const SharedCacheEntry &entry) const { - return fFileType == entry.FileType() && fAppSignature == entry.AppSignature(); + return fFileType == entry.FileType() + && fAppSignature == entry.AppSignature(); } @@ -1616,8 +1653,8 @@ NodeCacheEntry::NodeCacheEntry(const node_ref* node, bool permanent) void -NodeCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, icon_size size, - bool async) +NodeCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, + icon_size size, bool async) { BBitmap* bitmap = IconForMode(mode, size); if (!bitmap) @@ -1646,8 +1683,9 @@ NodeCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, icon_size siz void -NodeCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, icon_size size, - void (*blitFunc)(BView*, BPoint, BBitmap*, void*), void* passThruState) +NodeCacheEntry::Draw(BView* view, BPoint where, IconDrawMode mode, + icon_size size, void (*blitFunc)(BView*, BPoint, BBitmap*, void*), + void* passThruState) { BBitmap* bitmap = IconForMode(mode, size); if (!bitmap) @@ -1766,7 +1804,8 @@ NodeIconCache::FindItem(const node_ref* node) const if (result->fNext < 0) break; - result = const_cast(&fElementArray.At(result->fNext)); + result + = const_cast(&fElementArray.At(result->fNext)); } return NULL; @@ -1786,7 +1825,8 @@ NodeIconCache::AddItem(const node_ref* node, bool permanent) NodeCacheEntry* -NodeIconCache::AddItem(NodeCacheEntry** outstandingEntry, const node_ref* node) +NodeIconCache::AddItem(NodeCacheEntry** outstandingEntry, + const node_ref* node) { int32 entryToken = fHashTable.ElementIndex(*outstandingEntry); @@ -1876,8 +1916,8 @@ SimpleIconCache::SimpleIconCache(const char* name) void -SimpleIconCache::Draw(IconCacheEntry*, BView*, BPoint, IconDrawMode , - icon_size , bool ) +SimpleIconCache::Draw(IconCacheEntry*, BView*, BPoint, IconDrawMode, + icon_size, bool) { TRESPASS(); // pure virtual, do nothing @@ -1885,8 +1925,8 @@ SimpleIconCache::Draw(IconCacheEntry*, BView*, BPoint, IconDrawMode , void -SimpleIconCache::Draw(IconCacheEntry*, BView*, BPoint, IconDrawMode, icon_size, - void(*)(BView*, BPoint, BBitmap*, void*), void*) +SimpleIconCache::Draw(IconCacheEntry*, BView*, BPoint, IconDrawMode, + icon_size, void(*)(BView*, BPoint, BBitmap*, void*), void*) { TRESPASS(); // pure virtual, do nothing @@ -1917,8 +1957,8 @@ SimpleIconCache::IsLocked() const // #pragma mark - -LazyBitmapAllocator::LazyBitmapAllocator(icon_size size, color_space colorSpace, - bool preallocate) +LazyBitmapAllocator::LazyBitmapAllocator(icon_size size, + color_space colorSpace, bool preallocate) : fBitmap(NULL), fSize(size), fColorSpace(colorSpace) diff --git a/src/kits/tracker/IconCache.h b/src/kits/tracker/IconCache.h index 94690f609e..9ca10f2cc0 100644 --- a/src/kits/tracker/IconCache.h +++ b/src/kits/tracker/IconCache.h @@ -49,13 +49,13 @@ All rights reserved. #include "Utilities.h" -// Icon cache splits icons into two caches - the shared cache, likely to get the -// most hits and the node cache. Every icon that is found in a mime based -// structure goes into the shared cache, only files that have their own private -// icon use the node cache; -// Entries are only deleted from the shared cache if an icon for a mime type changes, -// this makes async icon drawing easier. Node cache deletes it's entries whenever a -// file gets deleted. +// Icon cache splits icons into two caches - the shared cache, likely to +// get the most hits and the node cache. Every icon that is found in a +// mime-based structure goes into the shared cache, only files that have +// their own private icon use the node cache; +// Entries are only deleted from the shared cache if an icon for a mime type +// changes, this makes async icon drawing easier. Node cache deletes it's +// entries whenever a file gets deleted. // if a view ever uses the cache to draw in async mode, it needs to call // it when it is being destroyed @@ -100,13 +100,14 @@ enum IconDrawMode { // Where did an icon come from enum IconSource { kUnknownSource, - kUnknownNotFromNode, // icon origin not known but determined not to be from - // the node itself - kTrackerDefault, // file has no type, Tracker provides generic, folder, - // symlink or app + kUnknownNotFromNode, // icon origin not known but determined not + // to be from the node itself + kTrackerDefault, // file has no type, Tracker provides generic, + // folder, symlink or app kTrackerSupplied, // home directory, boot volume, trash, etc. kMetaMime, // from BMimeType - kPreferredAppForType, // have a preferred application for a type, has an icon + kPreferredAppForType, // have a preferred application for a type, + // has an icon kPreferredAppForNode, // have a preferred application for this node, // has an icon kVolume, @@ -117,17 +118,18 @@ enum IconSource { class IconCacheEntry { // aliased entries don't own their icons, just point // to some other entry that does - + // This is used for icons that are defined by a preferred app for // a metamime, types that do not have an icon get to point to // generic, etc. - + public: IconCacheEntry(); ~IconCacheEntry(); void SetAliasFor(const SharedIconCache*, const SharedCacheEntry*); - static IconCacheEntry* ResolveIfAlias(const SharedIconCache*, IconCacheEntry*); + static IconCacheEntry* ResolveIfAlias(const SharedIconCache*, + IconCacheEntry*); IconCacheEntry* ResolveIfAlias(const SharedIconCache*); void SetIcon(BBitmap* bitmap, IconDrawMode mode, icon_size size, @@ -137,9 +139,9 @@ public: bool CanConstructBitmap(IconDrawMode mode, icon_size size) const; static bool AlternateModeForIconConstructing(IconDrawMode requestedMode, IconDrawMode &alternate, icon_size size); - BBitmap* ConstructBitmap(BBitmap* constructFrom, IconDrawMode requestedMode, - IconDrawMode constructFromMode, icon_size size, - LazyBitmapAllocator*); + BBitmap* ConstructBitmap(BBitmap* constructFrom, + IconDrawMode requestedMode, IconDrawMode constructFromMode, + icon_size size, LazyBitmapAllocator*); BBitmap* ConstructBitmap(IconDrawMode requestedMode, icon_size size, LazyBitmapAllocator*); // same as above, always uses normal icon as source @@ -242,16 +244,18 @@ public: virtual void Draw(IconCacheEntry*, BView*, BPoint, IconDrawMode, icon_size, void (*)(BView*, BPoint, BBitmap*, void*), void* = NULL); - SharedCacheEntry* FindItem(const char* fileType, const char* appSignature = 0) - const; - SharedCacheEntry* AddItem(const char* fileType, const char* appSignature = 0); - SharedCacheEntry* AddItem(SharedCacheEntry** outstandingEntry, const char* fileType, + SharedCacheEntry* FindItem(const char* fileType, + const char* appSignature = 0) const; + SharedCacheEntry* AddItem(const char* fileType, const char* appSignature = 0); - // same as previous AddItem, updates the pointer to outstandingEntry, because - // adding to the hash table makes any pending pointer invalid + SharedCacheEntry* AddItem(SharedCacheEntry** outstandingEntry, + const char* fileType, const char* appSignature = 0); + // same as previous AddItem, updates the pointer to outstandingEntry, + // because adding to the hash table makes any pending pointer invalid void IconChanged(SharedCacheEntry*); - void SetAliasFor(IconCacheEntry* alias, const SharedCacheEntry* original) const; + void SetAliasFor(IconCacheEntry* alias, + const SharedCacheEntry* original) const; IconCacheEntry* ResolveIfAlias(IconCacheEntry* entry) const; int32 EntryIndex(const SharedCacheEntry* entry) const; @@ -261,9 +265,9 @@ private: OpenHashTable fHashTable; SharedCacheEntryArray fElementArray; BObjectList fRetiredBitmaps; - // icons are drawn asynchronously, can't just delete them - // right away, instead have to place them onto the retired bitmap list - // and wait for the next sync to delete them + // icons are drawn asynchronously, can't just delete them right away, + // instead have to place them onto the retired bitmap list and wait + // for the next sync to delete them }; @@ -317,11 +321,13 @@ public: NodeCacheEntry* FindItem(const node_ref*) const; NodeCacheEntry* AddItem(const node_ref*, bool permanent = false); - NodeCacheEntry* AddItem(NodeCacheEntry** outstandingEntry, const node_ref*); - // same as previous AddItem, updates the pointer to outstandingEntry, because - // adding to the hash table makes any pending pointer invalid + NodeCacheEntry* AddItem(NodeCacheEntry** outstandingEntry, + const node_ref*); + // same as previous AddItem, updates the pointer to outstandingEntry, + // because adding to the hash table makes any pending pointer invalid void Deleting(const node_ref*); - // model for this node is getting deleted (not necessarily the node itself) + // model for this node is getting deleted + // (not necessarily the node itself) void Removing(const node_ref*); // used by permanent NodeIconCache entries, when an entry gets deleted void Deleting(const BView*); @@ -406,12 +412,12 @@ private: IconCacheEntry* GetIconForPreferredApp(const char* mimeTypeSignature, const char* preferredApp, IconDrawMode mode, icon_size size, LazyBitmapAllocator*, IconCacheEntry*); - IconCacheEntry* GetIconFromFileTypes(ModelNodeLazyOpener*, IconSource &source, + IconCacheEntry* GetIconFromFileTypes(ModelNodeLazyOpener*, + IconSource &source, IconDrawMode mode, icon_size size, + LazyBitmapAllocator*, IconCacheEntry*); + IconCacheEntry* GetIconFromMetaMime(const char* fileType, IconDrawMode mode, icon_size size, LazyBitmapAllocator*, IconCacheEntry*); - IconCacheEntry* GetIconFromMetaMime(const char* fileType, IconDrawMode mode, - icon_size size, LazyBitmapAllocator*, - IconCacheEntry*); IconCacheEntry* GetVolumeIcon(AutoLock* nodeCache, AutoLock* sharedCache, AutoLock** resultingLockedCache, @@ -431,12 +437,14 @@ private: AutoLock* nodeCache, AutoLock** resultingLockedCache, Model*, IconSource&, IconDrawMode mode, - icon_size size, LazyBitmapAllocator*, IconCacheEntry*, bool permanent); + icon_size size, LazyBitmapAllocator*, IconCacheEntry*, + bool permanent); IconCacheEntry* GetGenericIcon(AutoLock* sharedCache, AutoLock** resultingLockedCache, Model*, IconSource&, IconDrawMode mode, icon_size size, LazyBitmapAllocator*, IconCacheEntry*); - IconCacheEntry* GetFallbackIcon(AutoLock* sharedCacheLocker, + IconCacheEntry* GetFallbackIcon( + AutoLock* sharedCacheLocker, AutoLock** resultingOpenCache, Model* model, IconDrawMode mode, icon_size size, LazyBitmapAllocator* lazyBitmap, IconCacheEntry* entry); diff --git a/src/kits/tracker/InfoWindow.cpp b/src/kits/tracker/InfoWindow.cpp index fdb755165c..15138419c0 100644 --- a/src/kits/tracker/InfoWindow.cpp +++ b/src/kits/tracker/InfoWindow.cpp @@ -120,7 +120,8 @@ class AttributeView : public BView { BTextView* TextView() const { return fTitleEditView; } - static filter_result TextViewFilter(BMessage*, BHandler**, BMessageFilter*); + static filter_result TextViewFilter(BMessage*, BHandler**, + BMessageFilter*); off_t LastSize() const; void SetLastSize(off_t); @@ -278,7 +279,8 @@ OpenToolTipWindow(BScreen& screen, BRect rect, const char* name, // #pragma mark - -BInfoWindow::BInfoWindow(Model* model, int32 group_index, LockingList* list) +BInfoWindow::BInfoWindow(Model* model, int32 group_index, + LockingList* list) : BWindow(BInfoWindow::InfoWindowRect(false), "InfoWindow", B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE, B_CURRENT_WORKSPACE), @@ -366,7 +368,8 @@ BInfoWindow::Show() AddChild(fAttributeView); // position window appropriately based on index - BRect windRect(InfoWindowRect(TargetModel()->IsSymLink() || TargetModel()->IsFile())); + BRect windRect(InfoWindowRect(TargetModel()->IsSymLink() + || TargetModel()->IsFile())); if ((fIndex + 2) % 2 == 1) { windRect.OffsetBy(320, 0); fIndex--; @@ -499,8 +502,9 @@ BInfoWindow::MessageReceived(BMessage* message) // We now have to re-target the broken symlink. Unfortunately, // there's no way to change the target of an existing symlink. // So we have to delete the old one and create a new one. - // First, stop watching the broken node (we don't want this window - // to quit when the node is removed.) + // First, stop watching the broken node + // (we don't want this window to quit when the node + // is removed.) stop_watching(this); // Get the parent @@ -601,8 +605,10 @@ BInfoWindow::MessageReceived(BMessage* message) case B_STAT_CHANGED: case B_ATTR_CHANGED: fAttributeView->ModelChanged(TargetModel(), message); - // must be called before the FilePermissionView::ModelChanged() - // call, because it changes the model... (bad style!) + // must be called before the + // FilePermissionView::ModelChanged() + // call, because it changes the model... + // (bad style!) if (fPermissionsView != NULL) fPermissionsView->ModelChanged(TargetModel()); @@ -610,13 +616,15 @@ BInfoWindow::MessageReceived(BMessage* message) case B_DEVICE_UNMOUNTED: { - // We were watching a volume that is no longer mounted, - // we might as well quit + // We were watching a volume that is no longer + // mounted, we might as well quit node_ref itemNode; // Only the device information is available message->FindInt32("device", &itemNode.device); - if (TargetModel()->NodeRef()->device == itemNode.device) + if (TargetModel()->NodeRef()->device + == itemNode.device) { Close(); + } break; } @@ -629,8 +637,10 @@ BInfoWindow::MessageReceived(BMessage* message) case kPermissionsSelected: if (fPermissionsView == NULL) { // Only true on first call. - fPermissionsView = new FilePermissionsView(BRect(kBorderWidth + 1, - fAttributeView->Bounds().bottom, fAttributeView->Bounds().right, + fPermissionsView + = new FilePermissionsView(BRect(kBorderWidth + 1, + fAttributeView->Bounds().bottom, + fAttributeView->Bounds().right, fAttributeView->Bounds().bottom+80), fModel); ResizeBy(0, fPermissionsView->Bounds().Height()); @@ -661,7 +671,7 @@ BInfoWindow::GetSizeString(BString &result, off_t size, int32 fileCount) char sizeBuffer[128]; result << string_for_size((double)size, sizeBuffer, sizeof(sizeBuffer)); - // when we show the byte size, format it with a thousands delimiter (comma) + // when we show the byte size, format it with a thousands delimiter // TODO: use BCountry::FormatNumber if (size >= kKBSize) { char numStr[128]; @@ -784,7 +794,8 @@ BInfoWindow::CalcSize(void* castToWindow) void BInfoWindow::SetSizeStr(const char* sizeStr) { - AttributeView* view = dynamic_cast(FindView("attr_view")); + AttributeView* view + = dynamic_cast(FindView("attr_view")); if (view) view->SetSizeStr(sizeStr); } @@ -803,7 +814,8 @@ BInfoWindow::OpenFilePanel(const entry_ref* ref) false, &message); if (fFilePanel != NULL) { - fFilePanel->SetButtonLabel(B_DEFAULT_BUTTON, B_TRANSLATE("Select")); + fFilePanel->SetButtonLabel(B_DEFAULT_BUTTON, + B_TRANSLATE("Select")); fFilePanel->Window()->ResizeTo(500, 300); BString title(B_TRANSLATE_COMMENT("Link \"%name\" to:", "File dialog title for new sym link")); @@ -826,7 +838,8 @@ BInfoWindow::OpenFilePanel(const entry_ref* ref) AttributeView::AttributeView(BRect rect, Model* model) - : BView(rect, "attr_view", B_FOLLOW_ALL_SIDES, B_WILL_DRAW | B_PULSE_NEEDED), + : BView(rect, "attr_view", B_FOLLOW_ALL_SIDES, + B_WILL_DRAW | B_PULSE_NEEDED), fDivider(0), fPreferredAppMenu(NULL), fModel(model), @@ -873,9 +886,12 @@ AttributeView::AttributeView(BRect rect, Model* model) fTitleRect.left = fIconRect.right + 5; fTitleRect.top = 0; fTitleRect.bottom = fontMetrics.ascent + 1; - fTitleRect.right = min_c(fTitleRect.left + currentFont.StringWidth(fModel->Name()), Bounds().Width() - 5); + fTitleRect.right = min_c( + fTitleRect.left + currentFont.StringWidth(fModel->Name()), + Bounds().Width() - 5); // Offset so that it centers with the icon - fTitleRect.OffsetBy(0, fIconRect.top + ((fIconRect.Height() - fTitleRect.Height()) / 2)); + fTitleRect.OffsetBy(0, + fIconRect.top + ((fIconRect.Height() - fTitleRect.Height()) / 2)); // Make some room for the border for when we are in edit mode // (Negative numbers increase the size of the rect) fTitleRect.InsetBy(-1, -2); @@ -904,8 +920,10 @@ AttributeView::AttributeView(BRect rect, Model* model) BRect preferredAppRect(kBorderWidth + kBorderMargin, fTitleRect.bottom + (lineHeight * 7), Bounds().Width() - 5, fTitleRect.bottom + (lineHeight * 8)); - fPreferredAppMenu = new BMenuField(preferredAppRect, "", "", new BPopUpMenu("")); - fDivider = currentFont.StringWidth(B_TRANSLATE("Opens with:")) + 5; + fPreferredAppMenu = new BMenuField(preferredAppRect, "", "", + new BPopUpMenu("")); + fDivider = currentFont.StringWidth(B_TRANSLATE("Opens with:")) + + 5; fPreferredAppMenu->SetDivider(fDivider); fDivider += (preferredAppRect.left - 2); fPreferredAppMenu->SetFont(¤tFont); @@ -928,8 +946,10 @@ AttributeView::AttributeView(BRect rect, Model* model) for (int32 index = 0; ; index++) { const char* signature; - if (supportingAppList.FindString("applications", index, &signature) != B_OK) + if (supportingAppList.FindString("applications", index, + &signature) != B_OK) { break; + } // Only add separator item if there are more items if (index == 0) @@ -1020,7 +1040,8 @@ AttributeView::InitStrings(const Model* model) // If the BPath is initialized, then check the file for existence if (traversedPath.InitCheck() == B_OK) { - BEntry entry(traversedPath.Path(), false); // look at the target itself + BEntry entry(traversedPath.Path(), false); + // look at the target itself if (entry.InitCheck() == B_OK && entry.Exists()) linked = true; } @@ -1034,8 +1055,10 @@ AttributeView::InitStrings(const Model* model) if (!linked) fLinkToStr += " (broken)"; // link points to missing object } else if (model->IsExecutable()) { - if (((Model*)model)->GetLongVersionString(fDescStr, B_APP_VERSION_KIND) == B_OK) { - // we want a flat string, so we replace all newlines/tabs with spaces + if (((Model*)model)->GetLongVersionString(fDescStr, + B_APP_VERSION_KIND) == B_OK) { + // we want a flat string, so replace all newlines and tabs + // with spaces fDescStr.ReplaceAll('\n', ' '); fDescStr.ReplaceAll('\t', ' '); } else @@ -1097,10 +1120,10 @@ AttributeView::ModelChanged(Model* model, BMessage* message) // ensure notification is for us if (*model->NodeRef() == itemNode // For volumes, the device ID is obviously not handled in a - // consistent way; the node monitor sends us the ID of the parent - // device, while the model is set to the device of the volume - // directly - this hack works for volumes that are mounted in - // the root directory + // consistent way; the node monitor sends us the ID of the + // parent device, while the model is set to the device of the + // volume directly - this hack works for volumes that are + // mounted in the root directory || (model->IsVolume() && itemNode.device == 1 && itemNode.node == model->NodeRef()->node)) { @@ -1167,8 +1190,8 @@ AttributeView::ModelChanged(Model* model, BMessage* message) fModel = model; if (fModel->IsSymLink()) { - // if we are looking at a symlink, deference the model and look at the - // target + // if we are looking at a symlink, deference the model and look + // at the target Model* resolvedModel = new Model(model->EntryRef(), true, true); if (resolvedModel->InitCheck() == B_OK) { if (fIconModel != fModel) @@ -1245,7 +1268,8 @@ AttributeView::MouseDown(BPoint point) } else if (fTitleEditView) { FinishEditingTitle(true); } else if (fSizeRect.Contains(point)) { - if (fModel->IsDirectory() && !fModel->IsVolume() && !fModel->IsRoot()) { + if (fModel->IsDirectory() && !fModel->IsVolume() + && !fModel->IsRoot()) { InvertRect(fSizeRect); fTrackingState = size_track; } else @@ -1253,13 +1277,16 @@ AttributeView::MouseDown(BPoint point) } else if (fIconRect.Contains(point)) { uint32 buttons; Window()->CurrentMessage()->FindInt32("buttons", (int32*)&buttons); - if (((modifiers() & B_CONTROL_KEY) != 0) || (buttons & B_SECONDARY_MOUSE_BUTTON) != 0) { + if (((modifiers() & B_CONTROL_KEY) != 0) + || (buttons & B_SECONDARY_MOUSE_BUTTON) != 0) { // Show contextual menu - BPopUpMenu* contextMenu = new BPopUpMenu("FileContext", false, false); + BPopUpMenu* contextMenu + = new BPopUpMenu("FileContext", false, false); if (contextMenu) { BuildContextMenu(contextMenu); contextMenu->SetAsyncAutoDestruct(true); - contextMenu->Go(ConvertToScreen(point), true, true, ConvertToScreen(fIconRect)); + contextMenu->Go(ConvertToScreen(point), true, true, + ConvertToScreen(fIconRect)); } } else { // Check to see if the point is actually on part of the icon, @@ -1268,21 +1295,25 @@ AttributeView::MouseDown(BPoint point) BPoint offsetPoint; offsetPoint.x = point.x - fIconRect.left; offsetPoint.y = point.y - fIconRect.top; - if (IconCache::sIconCache->IconHitTest(offsetPoint, fIconModel, kNormalIcon, B_LARGE_ICON)) { + if (IconCache::sIconCache->IconHitTest(offsetPoint, fIconModel, + kNormalIcon, B_LARGE_ICON)) { // Can't drag the trash anywhere.. - fTrackingState = fModel->IsTrash() ? open_only_track : icon_track; + fTrackingState = fModel->IsTrash() + ? open_only_track : icon_track; // Check for possible double click if (abs((int32)(fClickPoint.x - point.x)) < kDragSlop && abs((int32)(fClickPoint.y - point.y)) < kDragSlop) { int32 clickCount; - Window()->CurrentMessage()->FindInt32("clicks", &clickCount); + Window()->CurrentMessage()->FindInt32("clicks", + &clickCount); // This checks the* previous* click point if (clickCount == 2) { offsetPoint.x = fClickPoint.x - fIconRect.left; offsetPoint.y = fClickPoint.y - fIconRect.top; - fDoubleClick = IconCache::sIconCache->IconHitTest(offsetPoint, + fDoubleClick + = IconCache::sIconCache->IconHitTest(offsetPoint, fIconModel, kNormalIcon, B_LARGE_ICON); } } @@ -1301,7 +1332,8 @@ AttributeView::MouseMoved(BPoint point, uint32, const BMessage* message) // Highlight Drag target if (message && message->ReturnAddress() != BMessenger(this) && message->what == B_SIMPLE_DATA - && BPoseView::CanHandleDragSelection(fModel, message, (modifiers() & B_CONTROL_KEY) != 0)) { + && BPoseView::CanHandleDragSelection(fModel, message, + (modifiers() & B_CONTROL_KEY) != 0)) { bool overTarget = fIconRect.Contains(point); SetDrawingMode(B_OP_OVER); if (overTarget != fIsDropTarget) { @@ -1334,19 +1366,23 @@ AttributeView::MouseMoved(BPoint point, uint32, const BMessage* message) break; case icon_track: - if (fMouseDown && !fDragging && (abs((int32)(point.x - fClickPoint.x)) > kDragSlop - || abs((int32)(point.y - fClickPoint.y)) > kDragSlop)) { + if (fMouseDown && !fDragging + && (abs((int32)(point.x - fClickPoint.x)) > kDragSlop + || abs((int32)(point.y - fClickPoint.y)) > kDragSlop)) { // Find the required height BFont font; GetFont(&font); font.SetSize(kAttribFontHeight); - float height = CurrentFontHeight(kAttribFontHeight) + fIconRect.Height() + 8; + float height = CurrentFontHeight(kAttribFontHeight) + + fIconRect.Height() + 8; BRect rect(0, 0, min_c(fIconRect.Width() - + font.StringWidth(fModel->Name()) + 4, fIconRect.Width() * 3), height); + + font.StringWidth(fModel->Name()) + 4, + fIconRect.Width() * 3), height); BBitmap* dragBitmap = new BBitmap(rect, B_RGBA32, true); dragBitmap->Lock(); - BView* view = new BView(dragBitmap->Bounds(), "", B_FOLLOW_NONE, 0); + BView* view = new BView(dragBitmap->Bounds(), "", + B_FOLLOW_NONE, 0); dragBitmap->AddChild(view); view->SetOrigin(0, 0); BRect clipRect(view->Bounds()); @@ -1358,23 +1394,27 @@ AttributeView::MouseMoved(BPoint point, uint32, const BMessage* message) view->SetHighColor(0, 0, 0, 0); view->FillRect(view->Bounds()); view->SetDrawingMode(B_OP_ALPHA); - view->SetHighColor(0, 0, 0, 128); // set the level of transparency by value + view->SetHighColor(0, 0, 0, 128); + // set the level of transparency by value view->SetBlendingMode(B_CONSTANT_ALPHA, B_ALPHA_COMPOSITE); // Draw the icon float hIconOffset = (rect.Width() - fIconRect.Width()) / 2; - IconCache::sIconCache->Draw(fIconModel, view, BPoint(hIconOffset, 0), - kNormalIcon, B_LARGE_ICON, true); + IconCache::sIconCache->Draw(fIconModel, view, + BPoint(hIconOffset, 0), kNormalIcon, B_LARGE_ICON, true); // See if we need to truncate the string BString nameString(fModel->Name()); - if (view->StringWidth(fModel->Name()) > rect.Width()) - view->TruncateString(&nameString, B_TRUNCATE_END, rect.Width() - 5); + if (view->StringWidth(fModel->Name()) > rect.Width()) { + view->TruncateString(&nameString, B_TRUNCATE_END, + rect.Width() - 5); + } // Draw the label font_height fontHeight; font.GetHeight(&fontHeight); - float leftText = (view->StringWidth(nameString.String()) - fIconRect.Width()) / 2; + float leftText = (view->StringWidth(nameString.String()) + - fIconRect.Width()) / 2; view->MovePenTo(BPoint(hIconOffset - leftText + 2, fIconRect.Height() + (fontHeight.ascent + 2))); view->DrawString(nameString.String()); @@ -1391,9 +1431,11 @@ AttributeView::MouseMoved(BPoint point, uint32, const BMessage* message) message.AddInt32("buttons", (int32)button); message.AddInt32("be:actions", - (modifiers() & B_OPTION_KEY) != 0 ? B_COPY_TARGET : B_MOVE_TARGET); + (modifiers() & B_OPTION_KEY) != 0 + ? B_COPY_TARGET : B_MOVE_TARGET); message.AddRef("refs", fModel->EntryRef()); - DragMessage(&message, dragBitmap, B_OP_ALPHA, BPoint((fClickPoint.x - fIconRect.left) + DragMessage(&message, dragBitmap, B_OP_ALPHA, + BPoint((fClickPoint.x - fIconRect.left) + hIconOffset, fClickPoint.y - fIconRect.top), this); fDragging = true; } @@ -1413,47 +1455,57 @@ AttributeView::MouseMoved(BPoint point, uint32, const BMessage* message) BPoint point; GetMouse(&point, &buttons); if (Window()->IsActive() && !buttons) { - // If we are down here, then that means that we're tracking the mouse - // but not from a mouse down. In this case, we're just interested in - // knowing whether or not we need to display the "pop-up" version - // of the path or link text. + // If we are down here, then that means that we're tracking + // the mouse but not from a mouse down. In this case, we're + // just interested in knowing whether or not we need to + // display the "pop-up" version of the path or link text. BScreen screen(Window()); BFont font; GetFont(&font); font.SetSize(kAttribFontHeight); - float maxWidth = (Bounds().Width() - (fDivider + kBorderMargin)); + float maxWidth = (Bounds().Width() + - (fDivider + kBorderMargin)); if (fPathRect.Contains(point) && font.StringWidth(fPathStr.String()) > maxWidth) { fTrackingState = no_track; BRect rect(fPathRect); - rect.OffsetBy(Window()->Frame().left, Window()->Frame().top); + rect.OffsetBy(Window()->Frame().left, + Window()->Frame().top); - if (!fPathWindow || BMessenger(fPathWindow).IsValid() == false) { - fPathWindow = OpenToolTipWindow(screen, rect, "fPathWindow", - fPathStr.String(), BMessenger(this), + if (!fPathWindow + || BMessenger(fPathWindow).IsValid() == false) { + fPathWindow = OpenToolTipWindow(screen, rect, + "fPathWindow", fPathStr.String(), + BMessenger(this), new BMessage(kOpenLinkSource)); } } else if (fLinkRect.Contains(point) && font.StringWidth(fLinkToStr.String()) > maxWidth) { fTrackingState = no_track; BRect rect(fLinkRect); - rect.OffsetBy(Window()->Frame().left, Window()->Frame().top); + rect.OffsetBy(Window()->Frame().left, + Window()->Frame().top); - if (!fLinkWindow || BMessenger(fLinkWindow).IsValid() == false) { - fLinkWindow = OpenToolTipWindow(screen, rect, "fLinkWindow", - fLinkToStr.String(), BMessenger(this), + if (!fLinkWindow + || BMessenger(fLinkWindow).IsValid() == false) { + fLinkWindow = OpenToolTipWindow(screen, rect, + "fLinkWindow", fLinkToStr.String(), + BMessenger(this), new BMessage(kOpenLinkTarget)); } } else if (fDescRect.Contains(point) && font.StringWidth(fDescStr.String()) > maxWidth) { fTrackingState = no_track; BRect rect(fDescRect); - rect.OffsetBy(Window()->Frame().left, Window()->Frame().top); + rect.OffsetBy(Window()->Frame().left, + Window()->Frame().top); - if (!fDescWindow || BMessenger(fDescWindow).IsValid() == false) { - fDescWindow = OpenToolTipWindow(screen, rect, "fDescWindow", - fDescStr.String(), BMessenger(this), NULL); + if (!fDescWindow + || BMessenger(fDescWindow).IsValid() == false) { + fDescWindow = OpenToolTipWindow(screen, rect, + "fDescWindow", fDescStr.String(), + BMessenger(this), NULL); } } } @@ -1509,12 +1561,13 @@ AttributeView::MouseUp(BPoint point) } else if (fTrackingState == path_track && fPathRect.Contains(point)) { InvertRect(fPathRect); OpenLinkSource(); - } else if ((fTrackingState == icon_track || fTrackingState == open_only_track) + } else if ((fTrackingState == icon_track + || fTrackingState == open_only_track) && fIconRect.Contains(point)) { // If it was a double click, then tell Tracker to open the item // The CurrentMessage() here does* not* have a "clicks" field, // which is why we are tracking the clicks with this temp var - if (fDoubleClick){ + if (fDoubleClick) { // Double click, launch. BMessage message(B_REFS_RECEIVED); message.AddRef("refs", fModel->EntryRef()); @@ -1580,8 +1633,10 @@ AttributeView::CheckAndSetSize() StatStruct statBuf; BModelOpener opener(fModel); - if (fModel->InitCheck() != B_OK || fModel->Node()->GetStat(&statBuf) != B_OK) + if (fModel->InitCheck() != B_OK + || fModel->Node()->GetStat(&statBuf) != B_OK) { return; + } if (fLastSize == statBuf.st_size) return; @@ -1594,7 +1649,8 @@ AttributeView::CheckAndSetSize() BRect bounds(Bounds()); float lineHeight = CurrentFontHeight() + 2; - bounds.Set(fDivider, fIconRect.bottom, bounds.right, fIconRect.bottom + lineHeight); + bounds.Set(fDivider, fIconRect.bottom, bounds.right, + fIconRect.bottom + lineHeight); Invalidate(bounds); } @@ -1606,8 +1662,10 @@ AttributeView::MessageReceived(BMessage* message) && message->what == B_SIMPLE_DATA && message->ReturnAddress() != BMessenger(this) && fIconRect.Contains(ConvertFromScreen(message->DropPoint())) - && BPoseView::CanHandleDragSelection(fModel, message, (modifiers() & B_CONTROL_KEY) != 0)) { - BPoseView::HandleDropCommon(message, fModel, 0, this, message->DropPoint()); + && BPoseView::CanHandleDragSelection(fModel, message, + (modifiers() & B_CONTROL_KEY) != 0)) { + BPoseView::HandleDropCommon(message, fModel, 0, this, + message->DropPoint()); Invalidate(fIconRect); return; } @@ -1679,7 +1737,8 @@ AttributeView::Draw(BRect) MovePenTo(BPoint(fIconRect.right + 6, lineBase)); // Recalculate the rect width - fTitleRect.right = min_c(fTitleRect.left + currentFont.StringWidth(fModel->Name()), + fTitleRect.right = min_c( + fTitleRect.left + currentFont.StringWidth(fModel->Name()), Bounds().Width() - 5); // Check for possible need of truncation if (StringWidth(fModel->Name()) > fTitleRect.Width()) { @@ -1718,12 +1777,14 @@ AttributeView::Draw(BRect) MovePenTo(BPoint(fDivider + kDrawMargin, lineBase)); SetHighColor(kAttrValueColor); // Check for possible need of truncation - if (StringWidth(fSizeStr.String()) > (Bounds().Width() - (fDivider + kBorderMargin))) { + if (StringWidth(fSizeStr.String()) + > (Bounds().Width() - (fDivider + kBorderMargin))) { BString tmpString(fSizeStr.String()); TruncateString(&tmpString, B_TRUNCATE_MIDDLE, Bounds().Width() - (fDivider + kBorderMargin)); DrawString(tmpString.String()); - fSizeRect.right = fSizeRect.left + StringWidth(tmpString.String()) + 3; + fSizeRect.right = fSizeRect.left + StringWidth(tmpString.String()) + + 3; } else { DrawString(fSizeStr.String()); fSizeRect.right = fSizeRect.left + StringWidth(fSizeStr.String()) + 3; @@ -1752,7 +1813,8 @@ AttributeView::Draw(BRect) lineBase += lineHeight; // Kind - MovePenTo(BPoint(fDivider - (StringWidth(B_TRANSLATE("Kind:"))), lineBase)); + MovePenTo(BPoint(fDivider - (StringWidth(B_TRANSLATE("Kind:"))), + lineBase)); SetHighColor(kAttrTitleColor); DrawString(B_TRANSLATE("Kind:")); MovePenTo(BPoint(fDivider + kDrawMargin, lineBase)); @@ -1773,7 +1835,8 @@ AttributeView::Draw(BRect) SetHighColor(kLinkColor); // Check for truncation - if (StringWidth(fPathStr.String()) > (Bounds().Width() - (fDivider + kBorderMargin))) { + if (StringWidth(fPathStr.String()) > (Bounds().Width() + - (fDivider + kBorderMargin))) { BString nameString(fPathStr.String()); TruncateString(&nameString, B_TRUNCATE_MIDDLE, Bounds().Width() - (fDivider + kBorderMargin)); @@ -1799,7 +1862,8 @@ AttributeView::Draw(BRect) SetHighColor(kLinkColor); // Check for truncation - if (StringWidth(fLinkToStr.String()) > (Bounds().Width() - (fDivider + kBorderMargin))) { + if (StringWidth(fLinkToStr.String()) > (Bounds().Width() + - (fDivider + kBorderMargin))) { BString nameString(fLinkToStr.String()); TruncateString(&nameString, B_TRUNCATE_MIDDLE, Bounds().Width() - (fDivider + kBorderMargin)); @@ -1811,7 +1875,8 @@ AttributeView::Draw(BRect) fLinkRect.top = lineBase - fontMetrics.ascent; fLinkRect.bottom = lineBase + fontMetrics.descent; fLinkRect.left = fDivider + 2; - fLinkRect.right = fLinkRect.left + StringWidth(fLinkToStr.String()) + 3; + fLinkRect.right = fLinkRect.left + StringWidth(fLinkToStr.String()) + + 3; // No description field fDescRect = BRect(-1, -1, -1, -1); @@ -1838,7 +1903,8 @@ AttributeView::Draw(BRect) MovePenTo(BPoint(fDivider + kDrawMargin, lineBase)); SetHighColor(kAttrValueColor); // Check for truncation - if (StringWidth(fDescStr.String()) > (Bounds().Width() - (fDivider + kBorderMargin))) { + if (StringWidth(fDescStr.String()) > (Bounds().Width() + - (fDivider + kBorderMargin))) { BString nameString(fDescStr.String()); TruncateString(&nameString, B_TRUNCATE_MIDDLE, Bounds().Width() - (fDivider + kBorderMargin)); @@ -1873,8 +1939,9 @@ AttributeView::BeginEditingTitle() textRect.OffsetTo(0, 0); textRect.InsetBy(1, 1); - // Just make it some really large size, since we don't do any line wrapping. - // The text filter will make sure to scroll the cursor into position + // Just make it some really large size, since we don't do any line + // wrapping. The text filter will make sure to scroll the cursor + // into position textRect.right = 2000; fTitleEditView = new BTextView(textFrame, "text_editor", @@ -1911,7 +1978,8 @@ AttributeView::FinishEditingTitle(bool commit) const char* text = fTitleEditView->Text(); uint32 length = strlen(text); - if (commit && strcmp(text, fModel->Name()) != 0 && length < B_FILE_NAME_LENGTH) { + if (commit && strcmp(text, fModel->Name()) != 0 + && length < B_FILE_NAME_LENGTH) { BEntry entry(fModel->EntryRef()); BDirectory parent; if (entry.InitCheck() == B_OK @@ -1936,7 +2004,8 @@ AttributeView::FinishEditingTitle(bool commit) GetFont(¤tFont); currentFont.SetSize(kTitleFontHeight); fTitleRect.right = min_c(fTitleRect.left - + currentFont.StringWidth(fTitleEditView->Text()), Bounds().Width() - 5); + + currentFont.StringWidth(fTitleEditView->Text()), + Bounds().Width() - 5); } } } else if (length >= B_FILE_NAME_LENGTH) { @@ -2081,12 +2150,14 @@ AttributeView::BuildContextMenu(BMenu* parent) BMenuItem* sizeItem = NULL; if (model.IsDirectory() && !model.IsVolume() && !model.IsRoot()) { - parent->AddItem(sizeItem = new BMenuItem(B_TRANSLATE("Recalculate folder size"), + parent->AddItem(sizeItem + = new BMenuItem(B_TRANSLATE("Recalculate folder size"), new BMessage(kRecalculateSize))); } if (model.IsSymLink()) { - parent->AddItem(sizeItem = new BMenuItem(B_TRANSLATE("Set new link target"), + parent->AddItem(sizeItem + = new BMenuItem(B_TRANSLATE("Set new link target"), new BMessage(kSetLinkTarget))); } @@ -2116,7 +2187,8 @@ AttributeView::SetPermissionsSwitchState(int32 state) filter_result -AttributeView::TextViewFilter(BMessage* message, BHandler**, BMessageFilter* filter) +AttributeView::TextViewFilter(BMessage* message, BHandler**, + BMessageFilter* filter) { uchar key; AttributeView* attribView = static_cast( @@ -2162,7 +2234,8 @@ AttributeView::SetSizeStr(const char* sizeStr) BRect bounds(Bounds()); float lineHeight = CurrentFontHeight(kAttribFontHeight) + 6; - bounds.Set(fDivider, fIconRect.bottom, bounds.right, fIconRect.bottom + lineHeight); + bounds.Set(fDivider, fIconRect.bottom, bounds.right, + fIconRect.bottom + lineHeight); Invalidate(bounds); } @@ -2171,7 +2244,8 @@ AttributeView::SetSizeStr(const char* sizeStr) TrackingView::TrackingView(BRect frame, const char* str, BMessage* message) - : BControl(frame, "trackingView", str, message, B_FOLLOW_ALL, B_WILL_DRAW), + : BControl(frame, "trackingView", str, message, B_FOLLOW_ALL, + B_WILL_DRAW), fMouseDown(false), fMouseInView(false) { diff --git a/src/kits/tracker/MimeTypeList.cpp b/src/kits/tracker/MimeTypeList.cpp index aeecfece6a..d1fb23010e 100644 --- a/src/kits/tracker/MimeTypeList.cpp +++ b/src/kits/tracker/MimeTypeList.cpp @@ -77,7 +77,8 @@ ShortMimeInfo::ShortDescription() const } int -ShortMimeInfo::CompareShortDescription(const ShortMimeInfo* a, const ShortMimeInfo* b) +ShortMimeInfo::CompareShortDescription(const ShortMimeInfo* a, + const ShortMimeInfo* b) { return a->fShortDescription.ICompare(b->fShortDescription); } @@ -160,5 +161,3 @@ MimeTypeList::Build() fCommonMimeList.SortItems(&ShortMimeInfo::CompareShortDescription); fLock.Unlock(); } - - diff --git a/src/kits/tracker/Model.cpp b/src/kits/tracker/Model.cpp index ffe56b2d25..8a4e5155e5 100644 --- a/src/kits/tracker/Model.cpp +++ b/src/kits/tracker/Model.cpp @@ -270,8 +270,8 @@ Model::SetTo(const entry_ref* newRef, bool traverse, bool open, bool writable) status_t -Model::SetTo(const node_ref* dirNode, const node_ref* nodeRef, const char* name, - bool open, bool writable) +Model::SetTo(const node_ref* dirNode, const node_ref* nodeRef, + const char* name, bool open, bool writable) { delete fNode; fNode = NULL; @@ -425,7 +425,8 @@ Model::OpenNodeCommon(bool writable) case kQueryTemplateNode: // open or reopen delete fNode; - fNode = new BFile(&fEntryRef, (uint32)(writable ? O_RDWR : O_RDONLY)); + fNode = new BFile(&fEntryRef, + (uint32)(writable ? O_RDWR : O_RDONLY)); break; case kDirectoryNode: @@ -455,11 +456,12 @@ Model::OpenNodeCommon(bool writable) PrintToStream(); #endif TRESPASS(); - // this can only happen if GetStat failed before, in which case - // we shouldn't be here - // ToDo: Obviously, we can also be here if the type could not be determined, - // for example for block devices (so the TRESPASS() macro shouldn't be - // used here)! + // this can only happen if GetStat failed before, + // in which case we shouldn't be here + + // ToDo: Obviously, we can also be here if the type could not + // be determined, for example for block devices (so the TRESPASS() + // macro shouldn't be used here)! return fStatus = B_ERROR; } @@ -598,11 +600,12 @@ Model::FinishSettingUpType() && fBaseType != kLinkNode && !CheckNodeIconHintPrivate(fNode, dynamic_cast(be_app) == NULL) && !HasVectorIconHint(fNode)) { - // when checking for the node icon hint, if we are libtracker, only check - // for small icons - checking for the large icons is a little more - // work for the filesystem and this will speed up the test. - // This makes node icons only work if there is a small and a large node - // icon on a file - for libtracker that is not a problem though + // when checking for the node icon hint, if we are libtracker, + // only check for small icons - checking for the large icons + // is a little more work for the filesystem and this will + // speed up the test. This makes node icons only work if there + // is a small and a large node icon on a file - for libtracker + // that is not a problem though fIconFrom = kUnknownNotFromNode; } @@ -648,9 +651,11 @@ Model::FinishSettingUpType() fMimeType = mimeString; if (fIconFrom == kUnknownNotFromNode - && WellKnowEntryList::Match(NodeRef()) > (directory_which)-1) + && WellKnowEntryList::Match(NodeRef()) + > (directory_which)-1) { // one of home, beos, system, boot, etc. fIconFrom = kTrackerSupplied; + } } break; @@ -695,9 +700,8 @@ Model::FinishSettingUpType() case kExecutableNode: if (IsNodeOpen()) { char signature[B_MIME_TYPE_LENGTH]; - if (GetAppSignatureFromAttr(dynamic_cast(fNode), signature) - == B_OK) { - + if (GetAppSignatureFromAttr(dynamic_cast(fNode), + signature) == B_OK) { if (fPreferredAppName) DeletePreferredAppVolumeNameLinkTo(); @@ -706,7 +710,8 @@ Model::FinishSettingUpType() } } if (!fMimeType.Length()) - fMimeType = B_APP_MIME_TYPE; // should use a shared string here + fMimeType = B_APP_MIME_TYPE; + // should use a shared string here break; default: @@ -728,7 +733,8 @@ Model::ResetIconFrom() // mirror the logic from FinishSettingUpType if ((fBaseType == kDirectoryNode || fBaseType == kVolumeNode || fBaseType == kTrashNode || fBaseType == kDesktopNode) - && !CheckNodeIconHintPrivate(fNode, dynamic_cast(be_app) == NULL)) { + && !CheckNodeIconHintPrivate(fNode, + dynamic_cast(be_app) == NULL)) { if (WellKnowEntryList::Match(NodeRef()) > (directory_which)-1) { fIconFrom = kTrackerSupplied; return; @@ -813,7 +819,8 @@ Model::GetPreferredAppForBrokenSymLink(BString &result) BModelOpener opener(this); BNodeInfo info(fNode); - status_t error = info.GetPreferredApp(result.LockBuffer(B_MIME_TYPE_LENGTH)); + status_t error + = info.GetPreferredApp(result.LockBuffer(B_MIME_TYPE_LENGTH)); result.UnlockBuffer(); if (error != B_OK) @@ -1078,9 +1085,10 @@ Model::SupportsMimeType(const char* type, const BObjectList* list, const char* mimeSignature; int32 bufferLength; - if (message.FindData("types", 'CSTR', index, (const void**)&mimeSignature, - &bufferLength)) + if (message.FindData("types", 'CSTR', index, + (const void**)&mimeSignature, &bufferLength)) { return result; + } if (IsSuperHandlerSignature(mimeSignature)) { if (!exactReason) @@ -1098,7 +1106,8 @@ Model::SupportsMimeType(const char* type, const BObjectList* list, } else match = WhileEachListItem(const_cast*>(list), MatchMimeTypeString, mimeSignature); - // const_cast shouldnt be here, have to have it until MW cleans up + // const_cast shouldnt be here, have to have it until + // MW cleans up if (match == kMatch) // supports the actual type, it can't get any better @@ -1150,9 +1159,10 @@ Model::IsSuperHandler() const const char* mimeSignature; int32 bufferLength; - if (message.FindData("types", 'CSTR', index, (const void**)&mimeSignature, - &bufferLength)) + if (message.FindData("types", 'CSTR', index, + (const void**)&mimeSignature, &bufferLength)) { return false; + } if (IsSuperHandlerSignature(mimeSignature)) return true; @@ -1261,7 +1271,8 @@ Model::GetVersionString(BString &result, version_kind kind) return error; char vstr[32]; - sprintf(vstr, "%ld.%ld.%ld", version.major, version.middle, version.minor); + sprintf(vstr, "%ld.%ld.%ld", version.major, version.middle, + version.minor); result = vstr; return B_OK; } @@ -1271,8 +1282,8 @@ Model::GetVersionString(BString &result, version_kind kind) void Model::PrintToStream(int32 level, bool deep) { - PRINT(("model name %s, entry name %s, inode %" B_PRIdINO ", dev %" B_PRIdDEV - ", directory inode %" B_PRIdINO "\n", + PRINT(("model name %s, entry name %s, inode %" B_PRIdINO ", dev %" + B_PRIdDEV ", directory inode %" B_PRIdINO "\n", Name() ? Name() : "**empty name**", EntryRef()->name ? EntryRef()->name : "**empty ref name**", NodeRef()->node, @@ -1324,8 +1335,10 @@ Model::PrintToStream(int32 level, bool deep) if (level < 1) return; - if (!IsVolume()) - PRINT(("preferred app %s\n", fPreferredAppName ? fPreferredAppName : "")); + if (!IsVolume()) { + PRINT(("preferred app %s\n", + fPreferredAppName ? fPreferredAppName : "")); + } PRINT(("icon from: ")); switch (IconFrom()) { @@ -1426,8 +1439,9 @@ Model::TrackIconSource(icon_size size) BMimeType preferredAppType(preferredApp); err = preferredAppType.GetIconForType(MimeType(), &bitmap, size); if (err == B_OK) { - PRINT(("track icon - got icon for type %s from preferred app %s for file\n", - MimeType(), preferredApp)); + PRINT( + ("track icon - got icon for type %s from preferred " + "app %s for file\n", MimeType(), preferredApp)); return; } } @@ -1453,12 +1467,14 @@ Model::TrackIconSource(icon_size size) err = preferredAppType.GetIconForType(MimeType(), &bitmap, size); if (err == B_OK) { // the preferred app knew icon to use for the type, we are done - PRINT(("track icon - signature %s, got icon from preferred app %s\n", - MimeType(), preferredApp)); + PRINT( + ("track icon - signature %s, got icon from preferred " + "app %s\n", MimeType(), preferredApp)); return; } - PRINT(("track icon - signature %s, preferred app %s, no icon, error %s\n", - MimeType(), preferredApp, strerror(err))); + PRINT( + ("track icon - signature %s, preferred app %s, no icon, " + "error %s\n", MimeType(), preferredApp, strerror(err))); } } diff --git a/src/kits/tracker/Model.h b/src/kits/tracker/Model.h index cfe7a27c4f..1a872a7922 100644 --- a/src/kits/tracker/Model.h +++ b/src/kits/tracker/Model.h @@ -88,11 +88,12 @@ class Model { status_t InitCheck() const; - status_t SetTo(const BEntry*, bool open = false, bool writable = false); - status_t SetTo(const entry_ref*, bool traverse = false, bool open = false, + status_t SetTo(const BEntry*, bool open = false, bool writable = false); - status_t SetTo(const node_ref* dirNode, const node_ref* node, const char* name, + status_t SetTo(const entry_ref*, bool traverse = false, bool open = false, bool writable = false); + status_t SetTo(const node_ref* dirNode, const node_ref* node, + const char* name, bool open = false, bool writable = false); int CompareFolderNamesFirst(const Model* compareModel) const; @@ -124,9 +125,9 @@ class Model { void SetPreferredAppSignature(const char*); void GetPreferredAppForBrokenSymLink(BString &result); - // special purpose call - if a symlink is unresolvable, it makes sense - // to be able to get at it's preferred handler which may be different - // from the Tracker. Used by the network neighborhood. + // special purpose call - if a symlink is unresolvable, it makes + // sense to be able to get at it's preferred handler which may be + // different from the Tracker. Used by the network neighborhood. // type getters bool IsFile() const; @@ -159,8 +160,8 @@ class Model { status_t GetLongVersionString(BString &, version_kind); status_t GetVersionString(BString &, version_kind); - status_t AttrAsString(BString &, int64* value, const char* attributeName, - uint32 attributeType); + status_t AttrAsString(BString &, int64* value, + const char* attributeName, uint32 attributeType); // Node monitor update call void UpdateEntryRef(const node_ref* dirRef, const char* name); @@ -189,8 +190,8 @@ class Model { #endif bool IsSuperHandler() const; - int32 SupportsMimeType(const char* type, const BObjectList* list, - bool exactReason = false) const; + int32 SupportsMimeType(const char* type, + const BObjectList* list, bool exactReason = false) const; // pass in one string in or a bunch in // if false, returns as soon as it figures out that // app supports a given type, if true, returns an exact reason @@ -200,8 +201,9 @@ class Model { const void* buffer, size_t ); // cover call, creates a writable node and writes out attributes // into it; work around for file nodes not being writeable - ssize_t WriteAttrKillForeign(const char* attr, const char* foreignAttr, - type_code type, off_t, const void* buffer, size_t); + ssize_t WriteAttrKillForeign(const char* attr, + const char* foreignAttr, type_code type, off_t, + const void* buffer, size_t); bool Mimeset(bool force); // returns true if mime type changed @@ -242,11 +244,13 @@ class Model { entry_ref fEntryRef; StatStruct fStatBuf; - BString fMimeType; // should use string that may be shared for common types + BString fMimeType; + // should use string that may be shared for common types // bit of overloading hackery here to save on footprint union { - char* fPreferredAppName; // used if we are neither a volume nor a symlink + char* fPreferredAppName; // used if we are neither a volume + // nor a symlink char* fVolumeName; // used if we are a volume Model* fLinkTo; // used if we are a symlink }; @@ -267,7 +271,8 @@ class ModelNodeLazyOpener { public: // consider failing when open does not succeed - ModelNodeLazyOpener(Model* model, bool writable = false, bool openLater = true); + ModelNodeLazyOpener(Model* model, bool writable = false, + bool openLater = true); ~ModelNodeLazyOpener(); bool IsOpen() const; @@ -463,7 +468,8 @@ Model::HasLocalizedName() const inline -ModelNodeLazyOpener::ModelNodeLazyOpener(Model* model, bool writable, bool openLater) +ModelNodeLazyOpener::ModelNodeLazyOpener(Model* model, bool writable, + bool openLater) : fModel(model), fWasOpen(model->IsNodeOpen()), fWasOpenForWriting(model->IsNodeOpenForWriting()) diff --git a/src/kits/tracker/Navigator.cpp b/src/kits/tracker/Navigator.cpp index 844b233f5b..5aff95950f 100644 --- a/src/kits/tracker/Navigator.cpp +++ b/src/kits/tracker/Navigator.cpp @@ -58,8 +58,8 @@ static const int32 kMaxHistory = 32; static BPicture sPicture; -BNavigatorButton::BNavigatorButton(BRect rect, const char* name, BMessage* message, - int32 resIDon, int32 resIDoff, int32 resIDdisabled) +BNavigatorButton::BNavigatorButton(BRect rect, const char* name, + BMessage* message, int32 resIDon, int32 resIDoff, int32 resIDdisabled) : BPictureButton(rect, name, &sPicture, &sPicture, message), fResIDOn(resIDon), fResIDOff(resIDoff), @@ -81,17 +81,20 @@ void BNavigatorButton::AttachedToWindow() { BBitmap* bmpOn = 0; - GetTrackerResources()->GetBitmapResource(B_MESSAGE_TYPE, fResIDOn, &bmpOn); + GetTrackerResources()->GetBitmapResource(B_MESSAGE_TYPE, fResIDOn, + &bmpOn); SetPicture(bmpOn, true, true); delete bmpOn; BBitmap* bmpOff = 0; - GetTrackerResources()->GetBitmapResource(B_MESSAGE_TYPE, fResIDOff, &bmpOff); + GetTrackerResources()->GetBitmapResource(B_MESSAGE_TYPE, fResIDOff, + &bmpOff); SetPicture(bmpOff, true, false); delete bmpOff; BBitmap* bmpDisabled = 0; - GetTrackerResources()->GetBitmapResource(B_MESSAGE_TYPE, fResIDDisabled, &bmpDisabled); + GetTrackerResources()->GetBitmapResource(B_MESSAGE_TYPE, fResIDDisabled, + &bmpDisabled); SetPicture(bmpDisabled, false, false); SetPicture(bmpDisabled, false, true); delete bmpDisabled; @@ -197,8 +200,10 @@ BNavigator::Draw(BRect) // Draws a beveled smooth border BeginLineArray(4); AddLine(Bounds().LeftTop(), Bounds().RightTop(), shineColor); - AddLine(Bounds().LeftTop(), Bounds().LeftBottom() - BPoint(0, 1), shineColor); - AddLine(Bounds().LeftBottom() - BPoint(-1, 1), Bounds().RightBottom() - BPoint(0, 1), halfDarkColor); + AddLine(Bounds().LeftTop(), Bounds().LeftBottom() - BPoint(0, 1), + shineColor); + AddLine(Bounds().LeftBottom() - BPoint(-1, 1), + Bounds().RightBottom() - BPoint(0, 1), halfDarkColor); AddLine(Bounds().LeftBottom(), Bounds().RightBottom(), darkColor); EndLineArray(); } @@ -275,14 +280,17 @@ BNavigator::GoUp(bool option) BEntry entry; if (entry.SetTo(fPath.Path()) == B_OK) { BEntry parentEntry; - if (entry.GetParent(&parentEntry) == B_OK && !FSIsDeskDir(&parentEntry)) + if (entry.GetParent(&parentEntry) == B_OK + && !FSIsDeskDir(&parentEntry)) { SendNavigationMessage(kActionUp, &parentEntry, option); + } } } void -BNavigator::SendNavigationMessage(NavigationAction action, BEntry* entry, bool option) +BNavigator::SendNavigationMessage(NavigationAction action, BEntry* entry, + bool option) { entry_ref ref; @@ -298,26 +306,33 @@ BNavigator::SendNavigationMessage(NavigationAction action, BEntry* entry, bool o else nodeRef = NULL; - // if the option key was held down, open in new window (send message to be_app) - // otherwise send message to this window. TTracker (be_app) understands nodeRefToSlection, - // BContainerWindow doesn't, so we have to select the item manually + // if the option key was held down, open in new window (send message + // to be_app) otherwise send message to this window. TTracker + // (be_app) understands nodeRefToSlection, BContainerWindow doesn't, + // so we have to select the item manually if (option) { message.what = B_REFS_RECEIVED; - if (nodeRef) - message.AddData("nodeRefToSelect", B_RAW_TYPE, nodeRef, sizeof(node_ref)); + if (nodeRef) { + message.AddData("nodeRefToSelect", B_RAW_TYPE, nodeRef, + sizeof(node_ref)); + } be_app->PostMessage(&message); } else { message.what = kSwitchDirectory; Window()->PostMessage(&message); UnlockLooper(); - // This is to prevent a dead-lock situation. SelectChildInParentSoon() - // eventually locks the TaskLoop::fLock. Later, when StandAloneTaskLoop::Run() - // runs, it also locks TaskLoop::fLock and subsequently locks this window's looper. - // Therefore we can't call SelectChildInParentSoon with our Looper locked, - // because we would get different orders of locking (thus the risk of dead-locking). + // This is to prevent a dead-lock situation. + // SelectChildInParentSoon() eventually locks the + // TaskLoop::fLock. Later, when StandAloneTaskLoop::Run() + // runs, it also locks TaskLoop::fLock and subsequently + // locks this window's looper. Therefore we can't call + // SelectChildInParentSoon with our Looper locked, + // because we would get different orders of locking + // (thus the risk of dead-locking). // - // Todo: Change the locking behaviour of StandAloneTaskLoop::Run() and sub- - // sequently called functions. + // Todo: Change the locking behaviour of + // StandAloneTaskLoop::Run() and subsequently called + // functions. if (nodeRef) dynamic_cast(be_app)->SelectChildInParentSoon(&ref, nodeRef); LockLooper(); @@ -387,7 +402,8 @@ BNavigator::UpdateLocation(const Model* newmodel, int32 action) BEntry entry; if (entry.SetTo(fPath.Path()) == B_OK) { BEntry parentEntry; - fUp->SetEnabled(entry.GetParent(&parentEntry) == B_OK && !FSIsDeskDir(&parentEntry)); + fUp->SetEnabled(entry.GetParent(&parentEntry) == B_OK + && !FSIsDeskDir(&parentEntry)); } // Enable history buttons if history contains something diff --git a/src/kits/tracker/OpenWithWindow.cpp b/src/kits/tracker/OpenWithWindow.cpp index ff957d0205..7d5456dcb6 100644 --- a/src/kits/tracker/OpenWithWindow.cpp +++ b/src/kits/tracker/OpenWithWindow.cpp @@ -1433,8 +1433,8 @@ SearchForSignatureEntryList::Relation(const BMessage* entriesToOpen, void SearchForSignatureEntryList::RelationDescription(const BMessage* entriesToOpen, - const Model* applicationModel, BString* description, const entry_ref* preferredApp, - const entry_ref* preferredAppForFile) + const Model* applicationModel, BString* description, + const entry_ref* preferredApp, const entry_ref* preferredAppForFile) { for (int32 index = 0; ;index++) { entry_ref ref; @@ -1482,10 +1482,11 @@ SearchForSignatureEntryList::RelationDescription(const BMessage* entriesToOpen, { mimeType.SetTo(model.MimeType()); - if (preferredApp && *applicationModel->EntryRef() == *preferredApp) + if (preferredApp + && *applicationModel->EntryRef() == *preferredApp) { // application matches cached preferred app, we are done description->SetTo(B_TRANSLATE("Preferred for %type")); - else + } else description->SetTo(B_TRANSLATE("Handles %type")); char shortDescription[256]; @@ -1543,7 +1544,9 @@ SearchForSignatureEntryList::CanOpenWithFilter(const Model* appModel, BEntry entry2(&trackerInfo.ref); entry2.GetPath(&path2); - PRINT(("filtering out %s, sig %s, active Tracker at %s, result %s, refName %s\n", + PRINT( + ("filtering out %s, sig %s, active Tracker at %s, " + "result %s, refName %s\n", path.Path(), signature, path2.Path(), strerror(result), trackerInfo.ref.name)); #endif @@ -1583,7 +1586,8 @@ SearchForSignatureEntryList::CanOpenWithFilter(const Model* appModel, return false; } - if (relation != kNoRelation && relation != kSuperhandler && !fGenericFilesOnly) { + if (relation != kNoRelation && relation != kSuperhandler + && !fGenericFilesOnly) { // we hit at least one app that is not a superhandler and // handles the document fFoundOneNonSuperHandler = true; @@ -1614,7 +1618,8 @@ ConditionalAllAppsIterator::Instantiate() BString lookForAppsPredicate; lookForAppsPredicate << "(" << kAttrAppSignature << " = \"*\" ) && ( " << kAttrMIMEType << " = " << B_APP_MIME_TYPE << " ) "; - fWalker = new BTrackerPrivate::TQueryWalker(lookForAppsPredicate.String()); + fWalker + = new BTrackerPrivate::TQueryWalker(lookForAppsPredicate.String()); } @@ -1647,8 +1652,8 @@ ConditionalAllAppsIterator::GetNextRef(entry_ref* ref) int32 -ConditionalAllAppsIterator::GetNextDirents(struct dirent* buffer, size_t length, - int32 count) +ConditionalAllAppsIterator::GetNextDirents(struct dirent* buffer, + size_t length, int32 count) { if (!Iterate()) return 0; diff --git a/src/kits/tracker/OpenWithWindow.h b/src/kits/tracker/OpenWithWindow.h index ade2d702be..21baf5844e 100644 --- a/src/kits/tracker/OpenWithWindow.h +++ b/src/kits/tracker/OpenWithWindow.h @@ -91,23 +91,26 @@ class SearchForSignatureEntryList : public EntryListBase { void TrySettingPreferredAppForFile(const entry_ref*); int32 Relation(const BMessage* entriesToOpen, const Model*) const; - // returns the reason why an application is shown in Open With window + // returns the reason why an application is shown in + // Open With window void RelationDescription(const BMessage* entriesToOpen, const Model*, BString*) const; - // returns a string describing why application handles files to open + // returns a string describing why application handles files + // to open static int32 Relation(const BMessage* entriesToOpen, const Model*, const entry_ref* preferredApp, const entry_ref* preferredAppForFile); - // returns the reason why an application is shown in Open With window - // static version, needs the preferred app for preformance + // returns the reason why an application is shown in Open With + // window static version, needs the preferred app for preformance static void RelationDescription(const BMessage* entriesToOpen, const Model*, BString*, const entry_ref* preferredApp, const entry_ref* preferredAppForFile); - // returns a string describing why application handles files to open + // returns a string describing why application handles files + // to open - bool CanOpenWithFilter(const Model* appModel, const BMessage* entriesToOpen, - const entry_ref* preferredApp); + bool CanOpenWithFilter(const Model* appModel, + const BMessage* entriesToOpen, const entry_ref* preferredApp); void NonGenericFileFound(); bool GenericFilesOnly() const; @@ -116,7 +119,8 @@ class SearchForSignatureEntryList : public EntryListBase { private: static int32 Relation(const Model* node, const Model* app); - // returns the reason why an application is shown in Open With window + // returns the reason why an application is shown in + // Open With window CachedEntryIteratorList* fIteratorList; BObjectList fSignatures; @@ -152,7 +156,8 @@ class OpenWithContainerWindow : public BContainerWindow { OpenWithPoseView* PoseView() const; protected: - virtual BPoseView* NewPoseView(Model* model, BRect rect, uint32 viewMode); + virtual BPoseView* NewPoseView(Model* model, BRect rect, + uint32 viewMode); virtual bool ShouldAddMenus() const; virtual void ShowContextMenu(BPoint, const entry_ref*, BView*); @@ -176,10 +181,12 @@ class OpenWithContainerWindow : public BContainerWindow { void OpenWithSelection(); // open entries with the selected app void MakeDefaultAndOpen(); - // open entries with the selected app and make it the default handler + // open entries with the selected app and make it + // the default handler private: - static filter_result KeyDownFilter(BMessage*, BHandler**, BMessageFilter*); + static filter_result KeyDownFilter(BMessage*, BHandler**, + BMessageFilter*); BMessage* fEntriesToOpen; BButton* fLaunchButton; @@ -198,16 +205,19 @@ class OpenWithPoseView : public BPoseView { // open entries with the selected app int32 OpenWithRelation(const Model*) const; - // returns the reason why an application is shown in Open With window + // returns the reason why an application is shown in + // Open With window void OpenWithRelationDescription(const Model*, BString*) const; - // returns a string describing why application handles files to open + // returns a string describing why application handles files + // to open OpenWithContainerWindow* ContainerWindow() const; virtual bool AddPosesThreadValid(const entry_ref*) const; protected: - // don't do any volume watching and memtamime watching in open with panels for now + // don't do any volume watching and memtamime watching in open with + // panels for now virtual void InitialStartWatching() {} virtual void FinalStopWatching() {} @@ -225,18 +235,22 @@ class OpenWithPoseView : public BPoseView { virtual void SavePoseLocations(BRect* = NULL); virtual void MoveSelectionToTrash(bool selectNext = true); virtual void MoveSelectionTo(BPoint, BPoint, BContainerWindow*); - virtual void MoveSelectionInto(Model* destFolder, BContainerWindow* srcWindow, - bool forceCopy, bool create_link = false); + virtual void MoveSelectionInto(Model* destFolder, + BContainerWindow* srcWindow, bool forceCopy, + bool create_link = false); virtual bool HandleMessageDropped(BMessage*); - virtual bool CanHandleDragSelection(const Model*, const BMessage*, bool); + virtual bool CanHandleDragSelection(const Model*, const BMessage*, + bool); virtual bool Represents(const node_ref*) const; virtual bool Represents(const entry_ref*) const; - virtual void CreatePoses(Model** models, PoseInfo* poseInfoArray, int32 count, - BPose** resultingPoses, bool insertionSort = true, int32* lastPoseIndexPtr = NULL, - BRect* boundsPtr = NULL, bool forceDraw = false); - // override to add selecting the default handling app for selection + virtual void CreatePoses(Model** models, PoseInfo* poseInfoArray, + int32 count, BPose** resultingPoses, bool insertionSort = true, + int32* lastPoseIndexPtr = NULL, BRect* boundsPtr = NULL, + bool forceDraw = false); + // override to add selecting the default handling app + // for selection virtual bool ShouldShowPose(const Model*, const PoseInfo*); @@ -260,7 +274,8 @@ class RelationCachingModelProxy { RelationCachingModelProxy(Model* model); ~RelationCachingModelProxy(); - int32 Relation(SearchForSignatureEntryList* iterator, BMessage* entries) const; + int32 Relation(SearchForSignatureEntryList* iterator, + BMessage* entries) const; Model* fModel; mutable int32 fRelation; diff --git a/src/kits/tracker/OverrideAlert.cpp b/src/kits/tracker/OverrideAlert.cpp index 8431b3bc1f..b282b8006f 100644 --- a/src/kits/tracker/OverrideAlert.cpp +++ b/src/kits/tracker/OverrideAlert.cpp @@ -101,8 +101,9 @@ OverrideAlert::OverPosition(float width, float height) { // This positions the alert window like a normal alert, put // places it on top of the calling window if possible. - - BWindow* window = dynamic_cast(BLooper::LooperForThread(find_thread(NULL))); + + BWindow* window + = dynamic_cast(BLooper::LooperForThread(find_thread(NULL))); BRect screenFrame; BRect desirableRect; screenFrame = BScreen(window).Frame(); @@ -149,7 +150,9 @@ OverrideAlert::UpdateButtons(uint32 modifiers, bool force) fCurModifiers = modifiers; for (int32 i = 0; i < 3; i++) { BButton* button = ButtonAt(i); - if (button) - button->SetEnabled(((fButtonModifiers[i] & fCurModifiers) == fButtonModifiers[i])); + if (button) { + button->SetEnabled(((fButtonModifiers[i] & fCurModifiers) + == fButtonModifiers[i])); + } } } diff --git a/src/kits/tracker/Pose.cpp b/src/kits/tracker/Pose.cpp index f35bd15607..f56618b0fd 100644 --- a/src/kits/tracker/Pose.cpp +++ b/src/kits/tracker/Pose.cpp @@ -56,7 +56,8 @@ CalcFreeSpace(BVolume* volume) if (capacity == 0) return 100; - int32 percent = static_cast(volume->FreeBytes() / (capacity / 100)); + int32 percent + = static_cast(volume->FreeBytes() / (capacity / 100)); // warn below 20 MB of free space (if this is less than 10% of free space) if (volume->FreeBytes() < 20 * 1024 * 1024 && percent < 10) @@ -69,7 +70,8 @@ CalcFreeSpace(BVolume* volume) // symlink pose uses the resolved model to retrieve the icon, if not broken // everything else, like the attributes, etc. is retrieved directly from the // symlink itself -BPose::BPose(Model* model, BPoseView* view, uint32 clipboardMode, bool selected) +BPose::BPose(Model* model, BPoseView* view, uint32 clipboardMode, + bool selected) : fModel(model), fWidgetList(4, true), fClipboardMode(clipboardMode), @@ -148,7 +150,8 @@ BPose::AddWidget(BPoseView* poseView, BColumn* column) BTextWidget* -BPose::AddWidget(BPoseView* poseView, BColumn* column, ModelNodeLazyOpener &opener) +BPose::AddWidget(BPoseView* poseView, BColumn* column, + ModelNodeLazyOpener &opener) { opener.OpenNode(); if (fModel->InitCheck() != B_OK) @@ -171,7 +174,8 @@ BPose::RemoveWidget(BPoseView*, BColumn* column) void -BPose::Commit(bool saveChanges, BPoint loc, BPoseView* poseView, int32 poseIndex) +BPose::Commit(bool saveChanges, BPoint loc, BPoseView* poseView, + int32 poseIndex) { int32 count = fWidgetList.CountItems(); for (int32 index = 0; index < count; index++) { @@ -185,8 +189,8 @@ BPose::Commit(bool saveChanges, BPoint loc, BPoseView* poseView, int32 poseIndex inline bool -OneMouseUp(BTextWidget* widget, BPose* pose, BPoseView* poseView, BColumn* column, - BPoint poseLoc, BPoint where) +OneMouseUp(BTextWidget* widget, BPose* pose, BPoseView* poseView, + BColumn* column, BPoint poseLoc, BPoint where) { BRect rect; if (poseView->ViewMode() == kListMode) @@ -258,7 +262,8 @@ BPose::UpdateWidgetAndModel(Model* resolvedModel, const char* attrName, BTextWidget* widget = fWidgetList.ItemAt(i); BColumn* column = poseView->ColumnFor(widget->AttrHash()); if (column != NULL && !strcmp(column->AttrName(), attrName)) { - widget->CheckAndUpdate(poseLoc, column, poseView, visible); + widget->CheckAndUpdate(poseLoc, column, poseView, + visible); break; } } @@ -283,8 +288,10 @@ BPose::UpdateWidgetAndModel(Model* resolvedModel, const char* attrName, if (column->StatField()) { BTextWidget* widget = WidgetFor(column->AttrHash()); - if (widget) - widget->CheckAndUpdate(poseLoc, column, poseView, visible); + if (widget) { + widget->CheckAndUpdate(poseLoc, column, poseView, + visible); + } } } } @@ -403,7 +410,8 @@ BPose::EditPreviousNextWidgetCommon(BPoseView* poseView, bool next) { bool found = false; int32 delta = next ? 1 : -1; - for (int32 index = next ? 0 : poseView->CountColumns() - 1; ; index += delta) { + for (int32 index = next ? 0 : poseView->CountColumns() - 1; ; + index += delta) { BColumn* column = poseView->ColumnAt(index); if (!column) break; @@ -510,7 +518,8 @@ BPose::PointInPose(BPoint loc, const BPoseView* poseView, BPoint where, if (!column) break; BTextWidget* widget = WidgetFor(column->AttrHash()); - if (widget && widget->CalcClickRect(loc, column, poseView).Contains(where)) { + if (widget + && widget->CalcClickRect(loc, column, poseView).Contains(where)) { if (hitWidget) *hitWidget = widget; return true; @@ -522,8 +531,8 @@ BPose::PointInPose(BPoint loc, const BPoseView* poseView, BPoint where, void -BPose::Draw(BRect rect, const BRect& updateRect, BPoseView* poseView, BView* drawView, - bool fullDraw, BPoint offset, bool selected) +BPose::Draw(BRect rect, const BRect& updateRect, BPoseView* poseView, + BView* drawView, bool fullDraw, BPoint offset, bool selected) { // If the background wasn't cleared and Draw() is not called after // having edited a name or similar (with fullDraw) @@ -549,8 +558,8 @@ BPose::Draw(BRect rect, const BRect& updateRect, BPoseView* poseView, BView* dra iconRect.top = iconRect.bottom - size; if (updateRect.Intersects(iconRect)) { iconRect.OffsetBy(offset); - DrawIcon(iconRect.LeftTop(), drawView, poseView->IconSize(), directDraw, - !windowActive && !showSelectionWhenInactive); + DrawIcon(iconRect.LeftTop(), drawView, poseView->IconSize(), + directDraw, !windowActive && !showSelectionWhenInactive); } // draw text @@ -571,8 +580,8 @@ BPose::Draw(BRect rect, const BRect& updateRect, BPoseView* poseView, BView* dra poseView)); if (updateRect.Intersects(widgetRect)) { - BRect widgetTextRect(widget->CalcRect(rect.LeftTop(), column, - poseView)); + BRect widgetTextRect(widget->CalcRect(rect.LeftTop(), + column, poseView)); bool selectDuringDraw = directDraw && selected && windowActive; @@ -583,12 +592,15 @@ BPose::Draw(BRect rect, const BRect& updateRect, BPoseView* poseView, BView* dra drawView->SetLowColor(0, 0, 0); } - if (index == 0) - widget->Draw(widgetRect, widgetTextRect, column->Width(), - poseView, drawView, selected, fClipboardMode, offset, directDraw); - else + if (index == 0) { + widget->Draw(widgetRect, widgetTextRect, + column->Width(), poseView, drawView, selected, + fClipboardMode, offset, directDraw); + } else { widget->Draw(widgetTextRect, widgetTextRect, column->Width(), - poseView, drawView, false, fClipboardMode, offset, directDraw); + poseView, drawView, false, fClipboardMode, + offset, directDraw); + } if (index == 0 && selectDuringDraw) drawView->PopState(); @@ -596,7 +608,8 @@ BPose::Draw(BRect rect, const BRect& updateRect, BPoseView* poseView, BView* dra if (windowActive || isDrawingSelectionRect) { widgetTextRect.OffsetBy(offset); drawView->InvertRect(widgetTextRect); - } else if (!windowActive && showSelectionWhenInactive) { + } else if (!windowActive + && showSelectionWhenInactive) { widgetTextRect.OffsetBy(offset); drawView->PushState(); drawView->SetDrawingMode(B_OP_BLEND); @@ -705,8 +718,10 @@ BPose::MoveTo(BPoint point, BPoseView* poseView, bool inval) // might need to move a text view if we're active if (poseView->ActivePose() == this) { BView* border_view = poseView->FindView("BorderView"); - if (border_view) - border_view->MoveBy(point.x - oldLocation.x, point.y - oldLocation.y); + if (border_view) { + border_view->MoveBy(point.x - oldLocation.x, + point.y - oldLocation.y); + } } float scale = 1.0; @@ -756,8 +771,8 @@ BPose::WidgetFor(uint32 attr, int32* index) const BTextWidget* -BPose::WidgetFor(BColumn* column, BPoseView* poseView, ModelNodeLazyOpener &opener, - int32* index) +BPose::WidgetFor(BColumn* column, BPoseView* poseView, + ModelNodeLazyOpener &opener, int32* index) { BTextWidget* widget = WidgetFor(column->AttrHash(), index); if (!widget) @@ -777,17 +792,20 @@ BPose::TestLargeIconPixel(BPoint point) const void -BPose::DrawIcon(BPoint where, BView* view, icon_size kind, bool direct, bool drawUnselected) +BPose::DrawIcon(BPoint where, BView* view, icon_size kind, bool direct, + bool drawUnselected) { if (fClipboardMode == kMoveSelectionTo) { view->SetDrawingMode(B_OP_ALPHA); - view->SetHighColor(0, 0, 0, 64); // set the level of transparency + view->SetHighColor(0, 0, 0, 64); + // set the level of transparency view->SetBlendingMode(B_CONSTANT_ALPHA, B_ALPHA_OVERLAY); } else if (direct) view->SetDrawingMode(B_OP_OVER); IconCache::sIconCache->Draw(ResolvedModel(), view, where, - fIsSelected && !drawUnselected ? kSelectedIcon : kNormalIcon, kind, true); + fIsSelected && !drawUnselected ? kSelectedIcon : kNormalIcon, kind, + true); if (fPercent != -1) DrawBar(where, view, kind); @@ -816,7 +834,8 @@ BPose::DrawBar(BPoint where,BView* view,icon_size kind) view->SetHighColor(32, 32, 32, 92); view->MovePenTo(BPoint(where.x + size, where.y + 1 + yOffset)); view->StrokeLine(BPoint(where.x + size, where.y + size - yOffset)); - view->StrokeLine(BPoint(where.x + size - barWidth + 1, where.y + size - yOffset)); + view->StrokeLine(BPoint(where.x + size - barWidth + 1, + where.y + size - yOffset)); view->SetDrawingMode(B_OP_ALPHA); @@ -846,7 +865,9 @@ BPose::DrawBar(BPoint where,BView* view,icon_size kind) // the used space bar bar.top = bar.bottom + 1; bar.bottom = rect.bottom; - view->SetHighColor(fPercent < -1 ? TrackerSettings().WarningSpaceColor() : TrackerSettings().UsedSpaceColor()); + view->SetHighColor(fPercent < -1 + ? TrackerSettings().WarningSpaceColor() + : TrackerSettings().UsedSpaceColor()); view->FillRect(bar); view->PopState(); @@ -899,8 +920,10 @@ BPose::CalcRect(BPoint loc, const BPoseView* poseView, bool minimalRect) const if (minimalRect) { BTextWidget* widget = WidgetFor(poseView->FirstColumn()->AttrHash()); - if (widget) - rect.right = widget->CalcRect(loc, poseView->FirstColumn(), poseView).right; + if (widget) { + rect.right = widget->CalcRect(loc, poseView->FirstColumn(), + poseView).right; + } } return rect; diff --git a/src/kits/tracker/Pose.h b/src/kits/tracker/Pose.h index d03a6ef5d0..1cfefb3fdf 100644 --- a/src/kits/tracker/Pose.h +++ b/src/kits/tracker/Pose.h @@ -55,11 +55,13 @@ enum { class BPose { public: - BPose(Model* adopt, BPoseView*, uint32 clipboardMode, bool selected = false); + BPose(Model* adopt, BPoseView*, uint32 clipboardMode, + bool selected = false); virtual ~BPose(); BTextWidget* AddWidget(BPoseView*, BColumn*); - BTextWidget* AddWidget(BPoseView*, BColumn*, ModelNodeLazyOpener &opener); + BTextWidget* AddWidget(BPoseView*, BColumn*, + ModelNodeLazyOpener &opener); void RemoveWidget(BPoseView*, BColumn*); void SetLocation(BPoint, const BPoseView*); void MoveTo(BPoint, BPoseView*, bool inval = true); @@ -68,13 +70,15 @@ class BPose { bool fullDraw = true); void Draw(BRect poseRect, const BRect& updateRect, BPoseView*, BView* drawView, bool fullDraw, BPoint offset, bool selected); - void DeselectWithoutErasingBackground(BRect rect, BPoseView* poseView); + void DeselectWithoutErasingBackground(BRect rect, + BPoseView* poseView); // special purpose draw call for deselecting over a textured // background void DrawBar(BPoint where, BView* view, icon_size kind); - void DrawIcon(BPoint, BView*, icon_size, bool direct, bool drawUnselected = false); + void DrawIcon(BPoint, BView*, icon_size, bool direct, + bool drawUnselected = false); void DrawToggleSwitch(BRect, BPoseView*); void MouseUp(BPoint poseLoc, BPoseView*, BPoint where, int32 index); Model* TargetModel() const; diff --git a/src/kits/tracker/PoseList.h b/src/kits/tracker/PoseList.h index 4e8c287073..945dda370e 100644 --- a/src/kits/tracker/PoseList.h +++ b/src/kits/tracker/PoseList.h @@ -73,7 +73,8 @@ public: template void -EachPoseAndModel(PoseList* list, void (*eachFunction)(BPose*, Model*, EachParam1), +EachPoseAndModel(PoseList* list, + void (*eachFunction)(BPose*, Model*, EachParam1), EachParam1 eachParam1) { for (int32 index = list->CountItems() - 1; index >= 0; index--) { @@ -87,8 +88,9 @@ EachPoseAndModel(PoseList* list, void (*eachFunction)(BPose*, Model*, EachParam1 template void -EachPoseAndModel(PoseList* list, void (*eachFunction)(BPose*, Model*, int32 , - EachParam1), EachParam1 eachParam1) +EachPoseAndModel(PoseList* list, + void (*eachFunction)(BPose*, Model*, int32, EachParam1), + EachParam1 eachParam1) { for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); @@ -101,8 +103,9 @@ EachPoseAndModel(PoseList* list, void (*eachFunction)(BPose*, Model*, int32 , template void -EachPoseAndModel(PoseList* list, void (*eachFunction)(BPose*, Model*, EachParam1, - EachParam2), EachParam1 eachParam1, EachParam2 eachParam2) +EachPoseAndModel(PoseList* list, + void (*eachFunction)(BPose*, Model*, EachParam1, EachParam2), + EachParam1 eachParam1, EachParam2 eachParam2) { for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); @@ -114,8 +117,9 @@ EachPoseAndModel(PoseList* list, void (*eachFunction)(BPose*, Model*, EachParam1 template void -EachPoseAndModel(PoseList* list, void (*eachFunction)(BPose*, Model*, int32, - EachParam1, EachParam2), EachParam1 eachParam1, EachParam2 eachParam2) +EachPoseAndModel(PoseList* list, + void (*eachFunction)(BPose*, Model*, int32, EachParam1, EachParam2), + EachParam1 eachParam1, EachParam2 eachParam2) { for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); @@ -127,8 +131,8 @@ EachPoseAndModel(PoseList* list, void (*eachFunction)(BPose*, Model*, int32, template void -EachPoseAndResolvedModel(PoseList* list, void (*eachFunction)(BPose*, Model*, EachParam1), - EachParam1 eachParam1) +EachPoseAndResolvedModel(PoseList* list, + void (*eachFunction)(BPose*, Model*, EachParam1), EachParam1 eachParam1) { for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); @@ -140,8 +144,9 @@ EachPoseAndResolvedModel(PoseList* list, void (*eachFunction)(BPose*, Model*, Ea template void -EachPoseAndResolvedModel(PoseList* list, void (*eachFunction)(BPose*, Model*, int32 , - EachParam1), EachParam1 eachParam1) +EachPoseAndResolvedModel(PoseList* list, + void (*eachFunction)(BPose*, Model*, int32 , EachParam1), + EachParam1 eachParam1) { for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); @@ -153,8 +158,9 @@ EachPoseAndResolvedModel(PoseList* list, void (*eachFunction)(BPose*, Model*, in template void -EachPoseAndResolvedModel(PoseList* list, void (*eachFunction)(BPose*, Model*, EachParam1, - EachParam2), EachParam1 eachParam1, EachParam2 eachParam2) +EachPoseAndResolvedModel(PoseList* list, + void (*eachFunction)(BPose*, Model*, EachParam1, EachParam2), + EachParam1 eachParam1, EachParam2 eachParam2) { for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); @@ -166,8 +172,9 @@ EachPoseAndResolvedModel(PoseList* list, void (*eachFunction)(BPose*, Model*, Ea template void -EachPoseAndResolvedModel(PoseList* list, void (*eachFunction)(BPose*, Model*, int32, - EachParam1, EachParam2), EachParam1 eachParam1, EachParam2 eachParam2) +EachPoseAndResolvedModel(PoseList* list, + void (*eachFunction)(BPose*, Model*, int32, EachParam1, EachParam2), + EachParam1 eachParam1, EachParam2 eachParam2) { for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 47d15731c6..11b0e3ec79 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -203,7 +203,8 @@ PoseCompareAddWidget(const BPose* p1, const BPose* p2, BPoseView* view); // #pragma mark - -BPoseView::BPoseView(Model* model, BRect bounds, uint32 viewMode, uint32 resizeMask) +BPoseView::BPoseView(Model* model, BRect bounds, uint32 viewMode, + uint32 resizeMask) : BView(bounds, "PoseView", resizeMask, B_WILL_DRAW | B_PULSE_NEEDED), fIsDrawingSelectionRect(false), fHScrollBar(NULL), @@ -265,7 +266,8 @@ BPoseView::BPoseView(Model* model, BRect bounds, uint32 viewMode, uint32 resizeM fDeskbarFrame(0, 0, -1, -1) { fViewState->SetViewMode(viewMode); - fShowSelectionWhenInactive = TrackerSettings().ShowSelectionWhenInactive(); + fShowSelectionWhenInactive + = TrackerSettings().ShowSelectionWhenInactive(); fTransparentSelection = TrackerSettings().TransparentSelection(); fFilterStrings.AddItem(new BString("")); } @@ -400,7 +402,8 @@ BPoseView::RestoreColumnState(AttributeStreamNode* node) } if (size > 0 && size < 10000) { - // check for invalid sizes here to protect against munged attributes + // check for invalid sizes here to protect against + // munged attributes char* buffer = new char[size]; off_t result = node->Read(name, 0, B_RAW_TYPE, size, buffer); if (result) { @@ -468,7 +471,8 @@ BPoseView::AddColumnList(BObjectList* list) list->SortItems(&CompareColumns); float nextLeftEdge = 0; - for (int32 columIndex = 0; columIndex < list->CountItems(); columIndex++) { + for (int32 columIndex = 0; columIndex < list->CountItems(); + columIndex++) { BColumn* column = list->ItemAt(columIndex); // Make sure that columns don't overlap @@ -477,12 +481,14 @@ BPoseView::AddColumnList(BObjectList* list) column->SetOffset(nextLeftEdge); } - nextLeftEdge = column->Offset() + column->Width() - kRoomForLine / 2.0f - + kTitleColumnExtraMargin; + nextLeftEdge = column->Offset() + column->Width() + - kRoomForLine / 2.0f + kTitleColumnExtraMargin; fColumnList->AddItem(column); - if (!IsWatchingDateFormatChange() && column->AttrType() == B_TIME_TYPE) + if (!IsWatchingDateFormatChange() + && column->AttrType() == B_TIME_TYPE) { StartWatchDateFormatChange(); + } } } @@ -514,15 +520,17 @@ BPoseView::RestoreState(AttributeStreamNode* node) } if (size > 0 && size < 10000) { - // check for invalid sizes here to protect against munged attributes + // check for invalid sizes here to protect against + // munged attributes char* buffer = new char[size]; off_t result = node->Read(name, 0, B_RAW_TYPE, size, buffer); if (result) { BMallocIO stream; stream.WriteAt(0, buffer, size); stream.Seek(0, SEEK_SET); - BViewState* viewstate = BViewState::InstantiateFromStream(&stream, - wrongEndianness); + BViewState* viewstate + = BViewState::InstantiateFromStream(&stream, + wrongEndianness); if (viewstate) { delete fViewState; fViewState = viewstate; @@ -805,25 +813,28 @@ BPoseView::SavePoseLocations(BRect* frameIfDesktop) // nuke opposite endianness dir.RemoveAttr(poseInfoAttrForeign); - if (!isTrash && desktop && dir.WriteAttr(kAttrExtendedDisksPoseInfo, - B_RAW_TYPE, 0, - extendedPoseInfo, extendedPoseInfoSize) - == (ssize_t)extendedPoseInfoSize) + if (!isTrash && desktop + && dir.WriteAttr(kAttrExtendedDisksPoseInfo, + B_RAW_TYPE, 0, extendedPoseInfo, extendedPoseInfoSize) + == (ssize_t)extendedPoseInfoSize) { // nuke opposite endianness dir.RemoveAttr(kAttrExtendedDisksPoseInfoForegin); + } } } else { - model->WriteAttrKillForeign(kAttrPoseInfo, kAttrPoseInfoForeign, - B_RAW_TYPE, 0, &poseInfo, sizeof(poseInfo)); + model->WriteAttrKillForeign(kAttrPoseInfo, + kAttrPoseInfoForeign, B_RAW_TYPE, 0, &poseInfo, + sizeof(poseInfo)); if (desktop) { model->WriteAttrKillForeign(kAttrExtendedPoseInfo, kAttrExtendedPoseInfoForegin, - B_RAW_TYPE, 0, extendedPoseInfo, extendedPoseInfoSize); + B_RAW_TYPE, 0, extendedPoseInfo, + extendedPoseInfoSize); } } - delete [] (char*)extendedPoseInfo; + delete[] (char*)extendedPoseInfo; // TODO: fix up this mess } } @@ -935,15 +946,19 @@ BPoseView::AttachedToWindow() if (fIsDesktopWindow) AddFilter(new TPoseViewFilter(this)); - AddFilter(new ShortcutFilter(B_RETURN, B_OPTION_KEY, kOpenSelection, this)); - // add Option-Return as a shortcut filter because AddShortcut doesn't allow - // us to have shortcuts without Command yet + AddFilter(new ShortcutFilter(B_RETURN, B_OPTION_KEY, kOpenSelection, + this)); + // add Option-Return as a shortcut filter because AddShortcut + // doesn't allow us to have shortcuts without Command yet AddFilter(new ShortcutFilter(B_ESCAPE, 0, B_CANCEL, this)); // Escape key, used to abort an on-going clipboard cut or filtering - AddFilter(new ShortcutFilter(B_ESCAPE, B_SHIFT_KEY, kCancelSelectionToClipboard, this)); - // Escape + SHIFT will remove current selection from clipboard, or all poses from current folder if 0 selected + AddFilter(new ShortcutFilter(B_ESCAPE, B_SHIFT_KEY, + kCancelSelectionToClipboard, this)); + // Escape + SHIFT will remove current selection from clipboard, + // or all poses from current folder if 0 selected - AddFilter(new LongAndDragTrackingFilter(kMsgMouseLongDown, kMsgMouseDragged)); + AddFilter(new LongAndDragTrackingFilter(kMsgMouseLongDown, + kMsgMouseDragged)); fLastLeftTop = LeftTop(); BFont font(be_plain_font); @@ -954,7 +969,8 @@ BPoseView::AttachedToWindow() // static - init just once if (sFontHeight == -1) { font.GetHeight(&sFontInfo); - sFontHeight = sFontInfo.ascent + sFontInfo.descent + sFontInfo.leading; + sFontHeight = sFontInfo.ascent + sFontInfo.descent + + sFontInfo.leading; } if (TTracker* app = dynamic_cast(be_app)) { @@ -981,7 +997,8 @@ BPoseView::SetIconPoseHeight() case kMiniIconMode: fViewState->SetIconSize(B_MINI_ICON); - fIconPoseHeight = ceilf(sFontHeight < IconSizeInt() ? IconSizeInt() : sFontHeight + 1); + fIconPoseHeight = ceilf(sFontHeight < + IconSizeInt() ? IconSizeInt() : sFontHeight + 1); break; default: @@ -1263,7 +1280,7 @@ BPoseView::AddPosesTask(void* castToParams) { // AddPosesTask reeds a bunch of models and passes them off to // the pose placing and drawing routine. - // + AddPosesParams* params = (AddPosesParams*)castToParams; BMessenger target(params->target); entry_ref ref(params->ref); @@ -1318,8 +1335,9 @@ BPoseView::AddPosesTask(void* castToParams) node_ref itemNode; posesResult->fModels[modelChunkIndex] = 0; - // ToDo - redo this so that modelChunkIndex increments right before - // a new model is added to the array; start with modelChunkIndex = -1 + // ToDo - redo this so that modelChunkIndex increments + // right before a new model is added to the array; + // start with modelChunkIndex = -1 int32 count = container->GetNextDirents(eptr, 1024, 1); if (count <= 0 && !modelChunkIndex) @@ -1328,9 +1346,11 @@ BPoseView::AddPosesTask(void* castToParams) if (count) { ASSERT(count == 1); - if ((!hideDotFiles && (!strcmp(eptr->d_name, ".") || !strcmp(eptr->d_name, ".."))) - || (hideDotFiles && eptr->d_name[0] == '.')) + if ((!hideDotFiles && (!strcmp(eptr->d_name, ".") + || !strcmp(eptr->d_name, ".."))) + || (hideDotFiles && eptr->d_name[0] == '.')) { continue; + } dirNode.device = eptr->d_pdev; dirNode.node = eptr->d_pino; From ea001e585a588e40404945a1201821da893d2e09 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 28 Jul 2012 14:00:24 -0400 Subject: [PATCH 02/19] Round 2 of style changes to Tracker * focused on 80-char limit fixes. * also some whitespace and case statement indentation fixes --- src/kits/tracker/AttributeStream.cpp | 25 +- src/kits/tracker/AttributeStream.h | 46 +-- src/kits/tracker/AutoMounterSettings.cpp | 4 +- src/kits/tracker/BackgroundImage.cpp | 19 +- src/kits/tracker/BackgroundImage.h | 6 +- src/kits/tracker/ContainerWindow.cpp | 308 +++++++++++++-------- src/kits/tracker/ContainerWindow.h | 24 +- src/kits/tracker/CountView.cpp | 12 +- src/kits/tracker/DeskWindow.cpp | 17 +- src/kits/tracker/DeskWindow.h | 7 +- src/kits/tracker/DesktopPoseView.cpp | 24 +- src/kits/tracker/DirMenu.cpp | 25 +- src/kits/tracker/DirMenu.h | 5 +- src/kits/tracker/EntryIterator.cpp | 7 +- src/kits/tracker/EntryIterator.h | 4 +- src/kits/tracker/FSClipboard.cpp | 31 ++- src/kits/tracker/FSUndoRedo.cpp | 7 +- src/kits/tracker/FSUtils.cpp | 140 ++++++---- src/kits/tracker/FSUtils.h | 2 +- src/kits/tracker/FavoritesMenu.h | 3 +- src/kits/tracker/FilePanelPriv.h | 3 +- src/kits/tracker/FilePermissionsView.cpp | 111 +++++--- src/kits/tracker/FindPanel.cpp | 128 +++++---- src/kits/tracker/FindPanel.h | 21 +- src/kits/tracker/FunctionObject.h | 55 ++-- src/kits/tracker/GroupedMenu.h | 3 +- src/kits/tracker/IconMenuItem.h | 15 +- src/kits/tracker/InfoWindow.h | 6 +- src/kits/tracker/PoseView.h | 229 ++++++++++----- src/kits/tracker/PoseViewScripting.cpp | 88 +++--- src/kits/tracker/PublicCommands.h | 9 +- src/kits/tracker/QueryContainerWindow.cpp | 14 +- src/kits/tracker/QueryPoseView.cpp | 65 +++-- src/kits/tracker/QueryPoseView.h | 6 +- src/kits/tracker/RecentItems.cpp | 11 +- src/kits/tracker/RecentItems.h | 15 +- src/kits/tracker/RegExp.cpp | 116 ++++---- src/kits/tracker/SelectionWindow.cpp | 44 +-- src/kits/tracker/Settings.cpp | 11 +- src/kits/tracker/Settings.h | 10 +- src/kits/tracker/SettingsHandler.cpp | 15 +- src/kits/tracker/SettingsHandler.h | 6 +- src/kits/tracker/SettingsViews.cpp | 70 +++-- src/kits/tracker/SlowContextPopup.cpp | 47 ++-- src/kits/tracker/SlowContextPopup.h | 5 +- src/kits/tracker/SlowMenu.h | 3 +- src/kits/tracker/StatusWindow.cpp | 41 +-- src/kits/tracker/TaskLoop.cpp | 33 ++- src/kits/tracker/TaskLoop.h | 10 +- src/kits/tracker/TemplatesMenu.cpp | 3 +- src/kits/tracker/Tests.cpp | 18 +- src/kits/tracker/TextWidget.cpp | 37 ++- src/kits/tracker/TextWidget.h | 6 +- src/kits/tracker/Thread.cpp | 6 +- src/kits/tracker/Thread.h | 27 +- src/kits/tracker/TitleView.cpp | 79 ++++-- src/kits/tracker/Tracker.cpp | 195 +++++++------ src/kits/tracker/Tracker.h | 24 +- src/kits/tracker/TrackerInitialState.cpp | 221 ++++++++------- src/kits/tracker/TrackerScripting.cpp | 21 +- src/kits/tracker/TrackerSettings.cpp | 66 +++-- src/kits/tracker/TrackerSettingsWindow.cpp | 21 +- src/kits/tracker/TrackerString.cpp | 138 +++++---- src/kits/tracker/TrackerString.h | 3 +- src/kits/tracker/TrashWatcher.cpp | 18 +- src/kits/tracker/Utilities.cpp | 12 +- src/kits/tracker/Utilities.h | 32 ++- src/kits/tracker/ViewState.h | 3 +- src/kits/tracker/VolumeWindow.cpp | 6 +- src/kits/tracker/WidgetAttributeText.cpp | 38 ++- src/kits/tracker/WidgetAttributeText.h | 11 +- 71 files changed, 1730 insertions(+), 1161 deletions(-) diff --git a/src/kits/tracker/AttributeStream.cpp b/src/kits/tracker/AttributeStream.cpp index e315b526a3..c6ec675143 100644 --- a/src/kits/tracker/AttributeStream.cpp +++ b/src/kits/tracker/AttributeStream.cpp @@ -167,8 +167,8 @@ AttributeStreamNode::Read(const char* name, const char* foreignName, off_t -AttributeStreamNode::Write(const char* name, const char* foreignName, uint32 type, - off_t size, const void* buffer) +AttributeStreamNode::Write(const char* name, const char* foreignName, + uint32 type, off_t size, const void* buffer) { if (!fWriteTo) return 0; @@ -295,7 +295,8 @@ AttributeStreamFileNode::Read(const char* name, const char* foreignName, return size; // didn't find the attribute under the native name, try the foreign name - if (foreignName && fNode->ReadAttr(foreignName, type, 0, buffer, (size_t)size) == size) { + if (foreignName && fNode->ReadAttr(foreignName, type, 0, buffer, + (size_t)size) == size) { // foreign attribute, swap the data if (swapFunc) (swapFunc)(buffer); @@ -353,8 +354,8 @@ bool AttributeStreamFileNode::Fill(char* buffer) const { ASSERT(fNode); - return fNode->ReadAttr(fCurrentAttr.Name(), fCurrentAttr.Type(), 0, buffer, - (size_t)fCurrentAttr.Size()) == (ssize_t)fCurrentAttr.Size(); + return fNode->ReadAttr(fCurrentAttr.Name(), fCurrentAttr.Type(), 0, + buffer, (size_t)fCurrentAttr.Size()) == (ssize_t)fCurrentAttr.Size(); } @@ -422,8 +423,9 @@ AttributeStreamMemoryNode::Contains(const char* name, uint32 type) off_t -AttributeStreamMemoryNode::Read(const char* name, const char* DEBUG_ONLY(foreignName), - uint32 type, off_t bufferSize, void* buffer, void (*DEBUG_ONLY(swapFunc))(void*)) +AttributeStreamMemoryNode::Read(const char* name, + const char* DEBUG_ONLY(foreignName), uint32 type, off_t bufferSize, + void* buffer, void (*DEBUG_ONLY(swapFunc))(void*)) { ASSERT(!foreignName); ASSERT(!swapFunc); @@ -479,7 +481,8 @@ AttributeStreamMemoryNode::Drive() AttributeStreamMemoryNode::AttrNode* -AttributeStreamMemoryNode::BufferingGet(const char* name, uint32 type, off_t size) +AttributeStreamMemoryNode::BufferingGet(const char* name, uint32 type, + off_t size) { char* newBuffer = new char[size]; if (!fReadFrom->Fill(newBuffer)) { @@ -665,8 +668,10 @@ AttributeStreamFilterNode::Read(const char* name, const char* foreignName, if (!fReadFrom) return 0; - if (!Reject(name, type, size)) - return fReadFrom->Read(name, foreignName, type, size, buffer, swapFunc); + if (!Reject(name, type, size)) { + return fReadFrom->Read(name, foreignName, type, size, buffer, + swapFunc); + } return 0; } diff --git a/src/kits/tracker/AttributeStream.h b/src/kits/tracker/AttributeStream.h index eb37452c69..f029ad1678 100644 --- a/src/kits/tracker/AttributeStream.h +++ b/src/kits/tracker/AttributeStream.h @@ -39,13 +39,13 @@ All rights reserved. // // destinationNode << transformer << buffer << filter << sourceNode // -// transformer may for instance perform endian-swapping or offsetting of a B_RECT attribute -// filter may withold certain attributes -// buffer is a memory allocated snapshot of attributes, may be repeatedly streamed into +// transformer may for instance perform endian-swapping or offsetting of +// a B_RECT attribute filter may withold certain attributes buffer is a +// memory allocated snapshot of attributes, may be repeatedly streamed into // other files, buffers // -// In addition to the whacky (but usefull) << syntax, calls like Read, Write are also -// available +// In addition to the whacky (but usefull) << syntax, calls like Read, Write +// are also available #ifndef __ATTRIBUTE_STREAM__ #define __ATTRIBUTE_STREAM__ @@ -104,7 +104,8 @@ public: // any data it has, gets, transforms, doesn't filter out // // under the hood sets up streaming into the next node; hooking - // up source and destination, forces the stream head to start streaming + // up source and destination, forces the stream head to start + // streaming virtual void Rewind(); // get ready to start all over again @@ -128,14 +129,13 @@ public: virtual const AttributeInfo* Next(); // give me the next attribute in the stream virtual const char* Get(); - // give me the data of the attribute in the stream that was just returned - // by Next - // assumes there is a buffering node somewhere on the way to - // the source, from which the resulting buffer is borrowed + // give me the data of the attribute in the stream that was just + // returned by Next assumes there is a buffering node somewhere on the + // way to the source, from which the resulting buffer is borrowed virtual bool Fill(char* buffer) const; - // fill the buffer with data of the attribute in the stream that was just returned - // by next - // is big enough to hold the entire attribute data + // fill the buffer with data of the attribute in the stream that was + // just returned by next is big enough to hold the entire + // attribute data virtual bool CanFeed() const { return false; } // return true if can work as a source for the entire stream @@ -199,10 +199,10 @@ public: virtual void MakeEmpty(); virtual off_t Contains(const char* name, uint32 type); - virtual off_t Read(const char* name, const char* foreignName, uint32 type, off_t size, - void* buffer, void (*swapFunc)(void*) = 0); - virtual off_t Write(const char* name, const char* foreignName, uint32 type, off_t size, - const void* buffer); + virtual off_t Read(const char* name, const char* foreignName, + uint32 type, off_t size, void* buffer, void (*swapFunc)(void*) = 0); + virtual off_t Write(const char* name, const char* foreignName, + uint32 type, off_t size, const void* buffer); protected: virtual bool CanFeed() const { return true; } @@ -275,10 +275,10 @@ public: AttributeStreamFilterNode() {} virtual off_t Contains(const char* name, uint32 type); - virtual off_t Read(const char* name, const char* foreignName, uint32 type, off_t size, - void* buffer, void (*swapFunc)(void*) = 0); - virtual off_t Write(const char* name, const char* foreignName, uint32 type, off_t size, - const void* buffer); + virtual off_t Read(const char* name, const char* foreignName, + uint32 type, off_t size, void* buffer, void (*swapFunc)(void*) = 0); + virtual off_t Write(const char* name, const char* foreignName, + uint32 type, off_t size, const void* buffer); protected: virtual bool Reject(const char* name, uint32 type, off_t size); @@ -319,8 +319,8 @@ public: protected: virtual bool WillTransform(const char* name, uint32 type, off_t size, const char* data) const; - // override to implement filtering; should only return true if transformation will - // occur + // override to implement filtering, should only return true if + // transformation will occur virtual char* CopyAndApplyTransformer(const char* name, uint32 type, off_t size, const char* data); // makes a copy of data diff --git a/src/kits/tracker/AutoMounterSettings.cpp b/src/kits/tracker/AutoMounterSettings.cpp index 33730b3bcd..da9fed63d8 100644 --- a/src/kits/tracker/AutoMounterSettings.cpp +++ b/src/kits/tracker/AutoMounterSettings.cpp @@ -119,7 +119,8 @@ AutomountSettingsPanel::AutomountSettingsPanel(BMessage* settings, new BMessage(kAutomountSettingsChanged)); fAutoMountAllBFSCheck = new BRadioButton("autoBFS", - B_TRANSLATE("All BeOS disks"), new BMessage(kAutomountSettingsChanged)); + B_TRANSLATE("All BeOS disks"), + new BMessage(kAutomountSettingsChanged)); fAutoMountAllCheck = new BRadioButton("autoAll", B_TRANSLATE("All disks"), new BMessage(kAutomountSettingsChanged)); @@ -343,4 +344,3 @@ AutomountSettingsDialog::RunAutomountSettings(const BMessenger& target) (new AutomountSettingsDialog(&reply, target))->Show(); } - diff --git a/src/kits/tracker/BackgroundImage.cpp b/src/kits/tracker/BackgroundImage.cpp index 200787533c..d46d47ccc6 100644 --- a/src/kits/tracker/BackgroundImage.cpp +++ b/src/kits/tracker/BackgroundImage.cpp @@ -73,7 +73,8 @@ BackgroundImage::GetBackgroundImage(const BNode* node, bool isDesktop) BMessage container; char* buffer = new char[info.size]; - status_t error = node->ReadAttr(kBackgroundImageInfo, info.type, 0, buffer, (size_t)info.size); + status_t error = node->ReadAttr(kBackgroundImageInfo, info.type, 0, + buffer, (size_t)info.size); if (error == info.size) error = container.Unflatten(buffer); @@ -91,7 +92,8 @@ BackgroundImage::GetBackgroundImage(const BNode* node, bool isDesktop) BPoint offset; BBitmap* bitmap = NULL; - if (container.FindString(kBackgroundImageInfoPath, index, &path) == B_OK) { + if (container.FindString(kBackgroundImageInfoPath, index, &path) + == B_OK) { bitmap = BTranslationUtils::GetBitmap(path); if (!bitmap) { PRINT(("failed to load background bitmap from path\n")); @@ -177,6 +179,7 @@ BackgroundImage::Show(BView* view, int32 workspace) } } + void BackgroundImage::Show(BackgroundImageInfo* info, BView* view) { @@ -276,13 +279,15 @@ BackgroundImage::Remove() fView->ClearViewBitmap(); fView->Invalidate(); BPoseView* poseView = dynamic_cast(fView); - // make sure text widgets draw the default way, erasing their background + // make sure text widgets draw the default way, erasing + // their background if (poseView) poseView->SetWidgetTextOutline(true); } fShowingBitmap = NULL; } + BackgroundImage::BackgroundImageInfo* BackgroundImage::ImageInfoForWorkspace(int32 workspace) const { @@ -308,6 +313,7 @@ BackgroundImage::ImageInfoForWorkspace(int32 workspace) const return result; } + void BackgroundImage::WorkspaceActivated(BView* view, int32 workspace, bool state) { @@ -334,6 +340,7 @@ BackgroundImage::WorkspaceActivated(BView* view, int32 workspace, bool state) } } + void BackgroundImage::ScreenChanged(BRect, color_space) { @@ -348,12 +355,13 @@ BackgroundImage::ScreenChanged(BRect, color_space) (viewBounds.Width() - bitmapBounds.Width()) / 2, (viewBounds.Height() - bitmapBounds.Height()) / 2); - fView->SetViewBitmap(fShowingBitmap->fBitmap, bitmapBounds, destinationBitmapBounds, - B_FOLLOW_NONE, 0); + fView->SetViewBitmap(fShowingBitmap->fBitmap, bitmapBounds, + destinationBitmapBounds, B_FOLLOW_NONE, 0); fView->Invalidate(); } } + BackgroundImage* BackgroundImage::Refresh(BackgroundImage* oldBackgroundImage, const BNode* fromNode, bool desktop, BPoseView* poseView) @@ -369,4 +377,3 @@ BackgroundImage::Refresh(BackgroundImage* oldBackgroundImage, return result; } - diff --git a/src/kits/tracker/BackgroundImage.h b/src/kits/tracker/BackgroundImage.h index d5857caa23..6a87e29fc7 100644 --- a/src/kits/tracker/BackgroundImage.h +++ b/src/kits/tracker/BackgroundImage.h @@ -77,8 +77,8 @@ public: class BackgroundImageInfo { // element of the per-workspace list public: - BackgroundImageInfo(uint32 workspace, BBitmap* bitmap, Mode mode, BPoint offset, - bool textWidgetOutline); + BackgroundImageInfo(uint32 workspace, BBitmap* bitmap, Mode mode, + BPoint offset, bool textWidgetOutline); ~BackgroundImageInfo(); uint32 fWorkspace; @@ -105,7 +105,7 @@ public: static BackgroundImage* Refresh(BackgroundImage* oldBackgroundImage, const BNode* fromNode, bool desktop, BPoseView* poseView); // respond to a background image setting change - + private: BackgroundImageInfo* ImageInfoForWorkspace(int32) const; void Show(BackgroundImageInfo*, BView* view); diff --git a/src/kits/tracker/ContainerWindow.cpp b/src/kits/tracker/ContainerWindow.cpp index 4117d8588d..bc92cb3ca5 100644 --- a/src/kits/tracker/ContainerWindow.cpp +++ b/src/kits/tracker/ContainerWindow.cpp @@ -153,8 +153,8 @@ ActivateWindowFilter(BMessage*, BHandler** target, BMessageFilter*) { BView* view = dynamic_cast(*target); - // activate the window if no PoseView or DraggableContainerIcon had been pressed - // (those will activate the window themselves, if necessary) + // activate the window if no PoseView or DraggableContainerIcon had been + // pressed (those will activate the window themselves, if necessary) if (view && !dynamic_cast(view) && !dynamic_cast(view) @@ -377,7 +377,8 @@ DraggableContainerIcon::MouseDown(BPoint point) if (IconCache::sIconCache->IconHitTest(point, window->TargetModel(), kNormalIcon, B_MINI_ICON)) { // The click hit the icon, initiate a drag - fDragButton = buttons & (B_PRIMARY_MOUSE_BUTTON | B_SECONDARY_MOUSE_BUTTON); + fDragButton = buttons + & (B_PRIMARY_MOUSE_BUTTON | B_SECONDARY_MOUSE_BUTTON); fDragStarted = false; fClickPoint = point; } else @@ -418,10 +419,11 @@ DraggableContainerIcon::MouseMoved(BPoint point, uint32 /*transit*/, font_height fontHeight; font.GetHeight(&fontHeight); - float height = fontHeight.ascent + fontHeight.descent + fontHeight.leading + 2 - + Bounds().Height() + 8; + float height = fontHeight.ascent + fontHeight.descent + fontHeight.leading + + 2 + Bounds().Height() + 8; - BRect rect(0, 0, max_c(Bounds().Width(), font.StringWidth(model->Name()) + 4), height); + BRect rect(0, 0, max_c(Bounds().Width(), + font.StringWidth(model->Name()) + 4), height); BBitmap* dragBitmap = new BBitmap(rect, B_RGBA32, true); dragBitmap->Lock(); @@ -437,7 +439,8 @@ DraggableContainerIcon::MouseMoved(BPoint point, uint32 /*transit*/, view->SetHighColor(0, 0, 0, 0); view->FillRect(view->Bounds()); view->SetDrawingMode(B_OP_ALPHA); - view->SetHighColor(0, 0, 0, 128); // set the level of transparency by value + view->SetHighColor(0, 0, 0, 128); + // set the level of transparency by value view->SetBlendingMode(B_CONSTANT_ALPHA, B_ALPHA_COMPOSITE); // Draw the icon @@ -451,8 +454,10 @@ DraggableContainerIcon::MouseMoved(BPoint point, uint32 /*transit*/, view->TruncateString(&nameString, B_TRUNCATE_END, rect.Width() - 5); // Draw the label - float leftText = (view->StringWidth(nameString.String()) - Bounds().Width()) / 2; - view->MovePenTo(BPoint(hIconOffset - leftText + 2, Bounds().Height() + (fontHeight.ascent + 2))); + float leftText = (view->StringWidth(nameString.String()) + - Bounds().Width()) / 2; + view->MovePenTo(BPoint(hIconOffset - leftText + 2, Bounds().Height() + + (fontHeight.ascent + 2))); view->DrawString(nameString.String()); view->Sync(); @@ -470,8 +475,8 @@ DraggableContainerIcon::MouseMoved(BPoint point, uint32 /*transit*/, if (button & B_PRIMARY_MOUSE_BUTTON) { // add an action specifier to the message, so that it is not copied - message.AddInt32("be:actions", - (modifiers() & B_OPTION_KEY) != 0 ? B_COPY_TARGET : B_MOVE_TARGET); + message.AddInt32("be:actions", (modifiers() & B_OPTION_KEY) != 0 + ? B_COPY_TARGET : B_MOVE_TARGET); } fDragStarted = true; @@ -787,14 +792,16 @@ BContainerWindow::CreatePoseView(Model* model) && !fPoseView->IsFilePanel()) { BRect rect(Bounds()); rect.top = 0; - // The KeyMenuBar isn't attached yet, otherwise we'd use that to get the offset. + // The KeyMenuBar isn't attached yet, otherwise we'd use that + // to get the offset. rect.bottom = BNavigator::CalcNavigatorHeight(); fNavigator = new BNavigator(model, rect); if (!settings.ShowNavigator()) fNavigator->Hide(); AddChild(fNavigator); } - SetPathWatchingEnabled(settings.ShowNavigator() || settings.ShowFullPathInTitleBar()); + SetPathWatchingEnabled(settings.ShowNavigator() + || settings.ShowFullPathInTitleBar()); } @@ -891,8 +898,8 @@ BContainerWindow::RepopulateMenus() int32 selectCount = PoseView()->SelectionList()->CountItems(); SetupOpenWithMenu(fFileMenu); - SetupMoveCopyMenus(selectCount - ? PoseView()->SelectionList()->FirstItem()->TargetModel()->EntryRef() : NULL, + SetupMoveCopyMenus(selectCount ? PoseView()->SelectionList()-> + FirstItem()->TargetModel()->EntryRef() : NULL, fFileMenu); } @@ -925,7 +932,8 @@ BContainerWindow::Init(const BMessage* message) if (ShouldAddMenus()) { // add menu bar, menus and resize poseview to fit - fMenuBar = new BMenuBar(BRect(0, 0, Bounds().Width() + 1, 1), "MenuBar"); + fMenuBar = new BMenuBar(BRect(0, 0, Bounds().Width() + 1, 1), + "MenuBar"); fMenuBar->SetBorder(B_BORDER_FRAME); AddMenus(); AddChild(fMenuBar); @@ -942,8 +950,10 @@ BContainerWindow::Init(const BMessage* message) fPoseView->MoveTo(BPoint(0, navigatorDelta + y_delta)); fPoseView->ResizeBy(0, -(y_delta)); if (fPoseView->VScrollBar()) { - fPoseView->VScrollBar()->MoveBy(0, KeyMenuBar()->Bounds().Height()); - fPoseView->VScrollBar()->ResizeBy(0, -(KeyMenuBar()->Bounds().Height())); + fPoseView->VScrollBar()->MoveBy(0, + KeyMenuBar()->Bounds().Height()); + fPoseView->VScrollBar()->ResizeBy(0, + -(KeyMenuBar()->Bounds().Height())); } // add folder icon to menu bar @@ -960,7 +970,8 @@ BContainerWindow::Init(const BMessage* message) fMenuBar->AddChild(icon); } } else { - // add equivalents of the menu shortcuts to the menuless desktop window + // add equivalents of the menu shortcuts to the menuless + // desktop window AddShortcuts(); } @@ -1304,7 +1315,8 @@ BContainerWindow::SetLayoutState(BNode* node, const BMessage* message) return result; } - if (node->WriteAttr(name, type, 0, buffer, (size_t)size) != size) { + if (node->WriteAttr(name, type, 0, buffer, + (size_t)size) != size) { PRINT(("error writing %s \n", name)); return result; } @@ -1369,7 +1381,8 @@ BContainerWindow::ResizeToFit() BRect screenFrame(screen.Frame()); screenFrame.InsetBy(5, 5); - screenFrame.top += 15; // keeps title bar of window visible + screenFrame.top += 15; + // keeps title bar of window visible BRect frame(Frame()); @@ -1490,12 +1503,13 @@ BContainerWindow::MessageReceived(BMessage* message) break; PoseView()->MoveSelectionInto(&model, this, false, false, - message->what == kCreateLink, message->what == kCreateRelativeLink); - } else { + message->what == kCreateLink, + message->what == kCreateRelativeLink); + } else if (!TargetModel()->IsQuery()) { // no destination specified, create link in same dir as item - if (!TargetModel()->IsQuery()) - PoseView()->MoveSelectionInto(TargetModel(), this, false, false, - message->what == kCreateLink, message->what == kCreateRelativeLink); + PoseView()->MoveSelectionInto(TargetModel(), this, false, false, + message->what == kCreateLink, + message->what == kCreateRelativeLink); } break; } @@ -1554,13 +1568,17 @@ BContainerWindow::MessageReceived(BMessage* message) // 'action' at all if he can't find it?? action = kActionSet; - Navigator()->UpdateLocation(PoseView()->TargetModel(), action); + Navigator()->UpdateLocation(PoseView()->TargetModel(), + action); } TrackerSettings settings; - if (settings.ShowNavigator() || settings.ShowFullPathInTitleBar()) + if (settings.ShowNavigator() + || settings.ShowFullPathInTitleBar()) { SetPathWatchingEnabled(true); - SetSingleWindowBrowseShortcuts(settings.SingleWindowBrowse()); + } + SetSingleWindowBrowseShortcuts( + settings.SingleWindowBrowse()); // Update draggable folder icon BView* view = FindView("MenuBar"); @@ -1581,26 +1599,23 @@ BContainerWindow::MessageReceived(BMessage* message) case B_REFS_RECEIVED: if (Dragging()) { - // - // ref in this message is the target, - // the end point of the drag - // + // ref in this message is the target, + // the end point of the drag + entry_ref ref; if (message->FindRef("refs", &ref) == B_OK) { - - //printf("BContainerWindow::MessageReceived - refs received\n"); fWaitingForRefs = false; BEntry entry(&ref, true); - // - // don't copy to printers dir + // don't copy to printers dir if (!FSIsPrintersDir(&entry)) { - if (entry.InitCheck() == B_OK && entry.IsDirectory()) { + if (entry.InitCheck() == B_OK + && entry.IsDirectory()) { Model targetModel(&entry, true, false); BPoint dropPoint; uint32 buttons; PoseView()->GetMouse(&dropPoint, &buttons, true); - PoseView()->HandleDropCommon(fDragMessage, &targetModel, NULL, - PoseView(), dropPoint); + PoseView()->HandleDropCommon(fDragMessage, + &targetModel, NULL, PoseView(), dropPoint); } } } @@ -1611,15 +1626,21 @@ BContainerWindow::MessageReceived(BMessage* message) case B_OBSERVER_NOTICE_CHANGE: { int32 observerWhat; - if (message->FindInt32("be:observe_change_what", &observerWhat) == B_OK) { + if (message->FindInt32("be:observe_change_what", &observerWhat) + == B_OK) { TrackerSettings settings; switch (observerWhat) { case kWindowsShowFullPathChanged: UpdateTitle(); - if (!IsPathWatchingEnabled() && settings.ShowFullPathInTitleBar()) + if (!IsPathWatchingEnabled() + && settings.ShowFullPathInTitleBar()) { SetPathWatchingEnabled(true); - if (IsPathWatchingEnabled() && !(settings.ShowNavigator() || settings.ShowFullPathInTitleBar())) + } + if (IsPathWatchingEnabled() + && !(settings.ShowNavigator() + || settings.ShowFullPathInTitleBar())) { SetPathWatchingEnabled(false); + } break; case kSingleWindowBrowseChanged: @@ -1630,35 +1651,47 @@ BContainerWindow::MessageReceived(BMessage* message) && !PoseView()->IsDesktopWindow()) { BRect rect(Bounds()); rect.top = KeyMenuBar()->Bounds().Height() + 1; - rect.bottom = rect.top + BNavigator::CalcNavigatorHeight(); + rect.bottom = rect.top + + BNavigator::CalcNavigatorHeight(); fNavigator = new BNavigator(TargetModel(), rect); fNavigator->Hide(); AddChild(fNavigator); - SetPathWatchingEnabled(settings.ShowNavigator() || settings.ShowFullPathInTitleBar()); + SetPathWatchingEnabled(settings.ShowNavigator() + || settings.ShowFullPathInTitleBar()); } - SetSingleWindowBrowseShortcuts(settings.SingleWindowBrowse()); + SetSingleWindowBrowseShortcuts( + settings.SingleWindowBrowse()); break; case kShowNavigatorChanged: ShowNavigator(settings.ShowNavigator()); - if (!IsPathWatchingEnabled() && settings.ShowNavigator()) + if (!IsPathWatchingEnabled() + && settings.ShowNavigator()) { SetPathWatchingEnabled(true); - if (IsPathWatchingEnabled() && !(settings.ShowNavigator() || settings.ShowFullPathInTitleBar())) + } + if (IsPathWatchingEnabled() + && !(settings.ShowNavigator() + || settings.ShowFullPathInTitleBar())) { SetPathWatchingEnabled(false); - SetSingleWindowBrowseShortcuts(settings.SingleWindowBrowse()); + } + SetSingleWindowBrowseShortcuts( + settings.SingleWindowBrowse()); break; case kDontMoveFilesToTrashChanged: { - bool dontMoveToTrash = settings.DontMoveFilesToTrash(); + bool dontMoveToTrash + = settings.DontMoveFilesToTrash(); - BMenuItem* item = fFileContextMenu->FindItem(kMoveToTrash); - if (item) { + BMenuItem* item + = fFileContextMenu->FindItem(kMoveToTrash); + if (item != NULL) { item->SetLabel(dontMoveToTrash ? B_TRANSLATE("Delete") : B_TRANSLATE("Move to Trash")); } - // Deskbar doesn't have a menu bar, so check if there is fMenuBar + // Deskbar doesn't have a menu bar, so check if + // there is fMenuBar if (fMenuBar && fFileMenu) { item = fFileMenu->FindItem(kMoveToTrash); if (item) { @@ -2009,13 +2042,13 @@ BContainerWindow::AddWindowMenu(BMenu* menu) item->SetTarget(PoseView()); menu->AddItem(item); - item = new BMenuItem(B_TRANSLATE("Select all"), new BMessage(B_SELECT_ALL), - 'A'); + item = new BMenuItem(B_TRANSLATE("Select all"), + new BMessage(B_SELECT_ALL), 'A'); item->SetTarget(PoseView()); menu->AddItem(item); item = new BMenuItem(B_TRANSLATE("Invert selection"), - new BMessage(kInvertSelection), 'S'); + new BMessage(kInvertSelection), 'S'); item->SetTarget(PoseView()); menu->AddItem(item); @@ -2026,8 +2059,8 @@ BContainerWindow::AddWindowMenu(BMenu* menu) menu->AddItem(item); } - item = new BMenuItem(B_TRANSLATE("Close"), new BMessage(B_QUIT_REQUESTED), - 'W'); + item = new BMenuItem(B_TRANSLATE("Close"), + new BMessage(B_QUIT_REQUESTED), 'W'); item->SetTarget(this); menu->AddItem(item); @@ -2053,26 +2086,42 @@ BContainerWindow::AddShortcuts() ASSERT(!PoseView()->IsFilePanel()); ASSERT(!TargetModel()->IsQuery()); - AddShortcut('X', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kCutMoreSelectionToClipboard), this); - AddShortcut('C', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kCopyMoreSelectionToClipboard), this); - AddShortcut('F', B_COMMAND_KEY, new BMessage(kFindButton), PoseView()); - AddShortcut('N', B_COMMAND_KEY, new BMessage(kNewFolder), PoseView()); - AddShortcut('O', B_COMMAND_KEY, new BMessage(kOpenSelection), PoseView()); - AddShortcut('I', B_COMMAND_KEY, new BMessage(kGetInfo), PoseView()); - AddShortcut('E', B_COMMAND_KEY, new BMessage(kEditItem), PoseView()); - AddShortcut('D', B_COMMAND_KEY, new BMessage(kDuplicateSelection), PoseView()); - AddShortcut('T', B_COMMAND_KEY, new BMessage(kMoveToTrash), PoseView()); - AddShortcut('K', B_COMMAND_KEY, new BMessage(kCleanup), PoseView()); - AddShortcut('A', B_COMMAND_KEY, new BMessage(B_SELECT_ALL), PoseView()); - AddShortcut('S', B_COMMAND_KEY, new BMessage(kInvertSelection), PoseView()); - AddShortcut('A', B_COMMAND_KEY | B_SHIFT_KEY, new BMessage(kShowSelectionWindow), PoseView()); - AddShortcut('G', B_COMMAND_KEY, new BMessage(kEditQuery), PoseView()); + AddShortcut('X', B_COMMAND_KEY | B_SHIFT_KEY, + new BMessage(kCutMoreSelectionToClipboard), this); + AddShortcut('C', B_COMMAND_KEY | B_SHIFT_KEY, + new BMessage(kCopyMoreSelectionToClipboard), this); + AddShortcut('F', B_COMMAND_KEY, + new BMessage(kFindButton), PoseView()); + AddShortcut('N', B_COMMAND_KEY, + new BMessage(kNewFolder), PoseView()); + AddShortcut('O', B_COMMAND_KEY, + new BMessage(kOpenSelection), PoseView()); + AddShortcut('I', B_COMMAND_KEY, + new BMessage(kGetInfo), PoseView()); + AddShortcut('E', B_COMMAND_KEY, + new BMessage(kEditItem), PoseView()); + AddShortcut('D', B_COMMAND_KEY, + new BMessage(kDuplicateSelection), PoseView()); + AddShortcut('T', B_COMMAND_KEY, + new BMessage(kMoveToTrash), PoseView()); + AddShortcut('K', B_COMMAND_KEY, + new BMessage(kCleanup), PoseView()); + AddShortcut('A', B_COMMAND_KEY, + new BMessage(B_SELECT_ALL), PoseView()); + AddShortcut('S', B_COMMAND_KEY, + new BMessage(kInvertSelection), PoseView()); + AddShortcut('A', B_COMMAND_KEY | B_SHIFT_KEY, + new BMessage(kShowSelectionWindow), PoseView()); + AddShortcut('G', B_COMMAND_KEY, + new BMessage(kEditQuery), PoseView()); // it is ok to add a global Edit query shortcut here, PoseView will // filter out cases where selected pose is not a query - AddShortcut('U', B_COMMAND_KEY, new BMessage(kUnmountVolume), PoseView()); - AddShortcut(B_UP_ARROW, B_COMMAND_KEY, new BMessage(kOpenParentDir), PoseView()); - AddShortcut('O', B_COMMAND_KEY | B_CONTROL_KEY, new BMessage(kOpenSelectionWith), - PoseView()); + AddShortcut('U', B_COMMAND_KEY, + new BMessage(kUnmountVolume), PoseView()); + AddShortcut(B_UP_ARROW, B_COMMAND_KEY, + new BMessage(kOpenParentDir), PoseView()); + AddShortcut('O', B_COMMAND_KEY | B_CONTROL_KEY, + new BMessage(kOpenSelectionWith), PoseView()); } @@ -2092,7 +2141,8 @@ BContainerWindow::MenusBeginning() SetupOpenWithMenu(fFileMenu); SetupMoveCopyMenus(selectCount - ? PoseView()->SelectionList()->FirstItem()->TargetModel()->EntryRef() : NULL, fFileMenu); + ? PoseView()->SelectionList()->FirstItem()->TargetModel()->EntryRef() + : NULL, fFileMenu); UpdateMenu(fMenuBar, kMenuBarContext); @@ -2464,11 +2514,13 @@ BContainerWindow::SetupMoveCopyMenus(const entry_ref* item_ref, BMenu* parent) // add all mounted volumes (except the one this item lives on) if (modifierKeys & B_SHIFT_KEY) { fCreateLinkItem->SetMessage(new BMessage(kCreateRelativeLink)); - PopulateMoveCopyNavMenu(dynamic_cast(fCreateLinkItem->Submenu()), + PopulateMoveCopyNavMenu(dynamic_cast + (fCreateLinkItem->Submenu()), kCreateRelativeLink, item_ref, false); } else { fCreateLinkItem->SetMessage(new BMessage(kCreateLink)); - PopulateMoveCopyNavMenu(dynamic_cast(fCreateLinkItem->Submenu()), + PopulateMoveCopyNavMenu(dynamic_cast + (fCreateLinkItem->Submenu()), kCreateLink, item_ref, false); } @@ -2566,7 +2618,8 @@ BContainerWindow::ShowContextMenu(BPoint loc, const entry_ref* ref, BView*) // see the notes in SlowContextPopup::AttachedToWindow if (!FSIsPrintersDir(&entry) && !fDragContextMenu->IsShowing()) { - // printf("ShowContextMenu - target is %s %i\n", ref->name, IsShowing(ref)); + //printf("ShowContextMenu - target is %s %i\n", + // ref->name, IsShowing(ref)); fDragContextMenu->ClearMenu(); // in case the ref is a symlink, resolve it @@ -2586,7 +2639,8 @@ BContainerWindow::ShowContextMenu(BPoint loc, const entry_ref* ref, BView*) if (poseView) { BMessenger target(poseView); fDragContextMenu->InitTrackingHook( - &BPoseView::MenuTrackingHook, &target, fDragMessage); + &BPoseView::MenuTrackingHook, &target, + fDragMessage); } // this is now asynchronous so that we don't @@ -2876,7 +2930,8 @@ BContainerWindow::EachAddon(BPath &path, bool (*eachAddon)(const Model*, else delete resolved; } - if (model->InitCheck() != B_OK || !model->ResolveIfLink()->IsExecutable()) { + if (model->InitCheck() != B_OK + || !model->ResolveIfLink()->IsExecutable()) { delete model; continue; } @@ -2903,7 +2958,8 @@ BContainerWindow::EachAddon(BPath &path, bool (*eachAddon)(const Model*, // check all supported types if it has some set if (!secondary) { - for (int32 i = mimeTypes.CountItems(); !primary && i-- > 0;) { + for (int32 i = mimeTypes.CountItems(); + !primary && i-- > 0;) { BString* type = mimeTypes.ItemAt(i); if (info.IsSupportedType(type->String())) { BMimeType mimeType(type->String()); @@ -3044,7 +3100,8 @@ BContainerWindow::UpdateMenu(BMenu* menu, UpdateMenuContext context) Model* selectedModel = NULL; if (selectCount == 1) - selectedModel = PoseView()->SelectionList()->FirstItem()->TargetModel(); + selectedModel = PoseView()->SelectionList()->FirstItem()-> + TargetModel(); if (context == kMenuBarContext || context == kPosePopUpContext) { SetUpEditQueryItem(menu); @@ -3117,8 +3174,8 @@ BContainerWindow::UpdateMenu(BMenu* menu, UpdateMenuContext context) BMenuItem* item = menu->FindItem(B_TRANSLATE("New")); if (item) { - TemplatesMenu* templateMenu = dynamic_cast( - item->Submenu()); + TemplatesMenu* templateMenu = dynamic_cast + (item->Submenu()); if (templateMenu) templateMenu->UpdateMenuState(); } @@ -3159,8 +3216,8 @@ BContainerWindow::LoadAddOn(BMessage* message) refs->AddMessenger("TrackerViewToken", BMessenger(PoseView())); - LaunchInNewThread("Add-on", B_NORMAL_PRIORITY, &AddOnThread, refs, addonRef, - *TargetModel()->EntryRef()); + LaunchInNewThread("Add-on", B_NORMAL_PRIORITY, &AddOnThread, refs, + addonRef, *TargetModel()->EntryRef()); } @@ -3174,11 +3231,14 @@ BContainerWindow::_UpdateSelectionMIMEInfo() if (!mimeType.Length() || mimeType.ICompare(B_FILE_MIMETYPE) == 0) { pose->TargetModel()->Mimeset(true); if (pose->TargetModel()->IsSymLink()) { - Model* resolved = new Model(pose->TargetModel()->EntryRef(), true, true); + Model* resolved = new Model(pose->TargetModel()->EntryRef(), + true, true); if (resolved->InitCheck() == B_OK) { mimeType.SetTo(resolved->MimeType()); - if (!mimeType.Length() || mimeType.ICompare(B_FILE_MIMETYPE) == 0) + if (!mimeType.Length() + || mimeType.ICompare(B_FILE_MIMETYPE) == 0) { resolved->Mimeset(true); + } } delete resolved; } @@ -3241,8 +3301,8 @@ BContainerWindow::NewAttributeMenu(BMenu* menu) kAttrRealName, B_STRING_TYPE, 145, B_ALIGN_LEFT, true, true)); } - menu->AddItem(NewAttributeMenuItem (B_TRANSLATE("Size"), kAttrStatSize, B_OFF_T_TYPE, - 80, B_ALIGN_RIGHT, false, true)); + menu->AddItem(NewAttributeMenuItem (B_TRANSLATE("Size"), kAttrStatSize, + B_OFF_T_TYPE, 80, B_ALIGN_RIGHT, false, true)); menu->AddItem(NewAttributeMenuItem(B_TRANSLATE("Modified"), kAttrStatModified, B_TIME_TYPE, 150, B_ALIGN_LEFT, false, true)); @@ -3255,7 +3315,8 @@ BContainerWindow::NewAttributeMenu(BMenu* menu) if (IsTrash() || InTrash()) { menu->AddItem(NewAttributeMenuItem(B_TRANSLATE("Original name"), - kAttrOriginalPath, B_STRING_TYPE, 225, B_ALIGN_LEFT, false, false)); + kAttrOriginalPath, B_STRING_TYPE, 225, B_ALIGN_LEFT, false, + false)); } else { menu->AddItem(NewAttributeMenuItem(B_TRANSLATE("Location"), kAttrPath, B_STRING_TYPE, 225, B_ALIGN_LEFT, false, false)); @@ -3344,9 +3405,10 @@ BContainerWindow::MarkArrangeByMenu(BMenu* menu) BMenuItem* item = menu->ItemAt(index); if (item->Message()) { uint32 attrHash; - if (item->Message()->FindInt32("attr_hash", (int32*)&attrHash) == B_OK) + if (item->Message()->FindInt32("attr_hash", + (int32*)&attrHash) == B_OK) { item->SetMarked(PoseView()->PrimarySort() == attrHash); - else if (item->Command() == kArrangeReverseOrder) + } else if (item->Command() == kArrangeReverseOrder) item->SetMarked(PoseView()->ReverseSort()); } } @@ -3669,7 +3731,8 @@ BContainerWindow::SetUpDefaultState() BDirectory desktop; FSGetDeskDir(&desktop); - // try copying state from our parent directory, unless it is the desktop folder + // try copying state from our parent directory, unless it is the + // desktop folder BEntry entry(TargetModel()->EntryRef()); BDirectory parent; if (entry.GetParent(&parent) == B_OK && parent != desktop) { @@ -3689,8 +3752,8 @@ BContainerWindow::SetUpDefaultState() // tracker settings folder for what our state should be // For simplicity we are not picking up the most recent // changes that didn't get committed if home is still open in - // a window, that's probably not a problem; would be OK if state got committed - // after every change + // a window, that's probably not a problem; would be OK if state + // got committed after every change && !DefaultStateSourceNode(kDefaultFolderTemplate, &defaultingNode, true)) return; @@ -3712,7 +3775,8 @@ BContainerWindow::SetUpDefaultState() StaggerOneParams params; params.rectFromParent = shouldStagger; - SelectiveAttributeTransformer frameOffsetter(kAttrWindowFrame, OffsetFrameOne, ¶ms); + SelectiveAttributeTransformer frameOffsetter(kAttrWindowFrame, + OffsetFrameOne, ¶ms); SelectiveAttributeTransformer scrollOriginCleaner(kAttrViewState, ClearViewOriginOne, ¶ms); @@ -3744,7 +3808,8 @@ BContainerWindow::RestoreWindowState(AttributeStreamNode* node) } BRect frame(Frame()); - if (node->Read(rectAttributeName, 0, B_RECT_TYPE, sizeof(BRect), &frame) == sizeof(BRect)) { + if (node->Read(rectAttributeName, 0, B_RECT_TYPE, sizeof(BRect), &frame) + == sizeof(BRect)) { MoveTo(frame.LeftTop()); ResizeTo(frame.Width(), frame.Height()); } else @@ -3754,7 +3819,8 @@ BContainerWindow::RestoreWindowState(AttributeStreamNode* node) uint32 workspace; if ((fContainerWindowFlags & kRestoreWorkspace) - && node->Read(workspaceAttributeName, 0, B_INT32_TYPE, sizeof(uint32), &workspace) == sizeof(uint32)) + && node->Read(workspaceAttributeName, 0, B_INT32_TYPE, sizeof(uint32), + &workspace) == sizeof(uint32)) SetWorkspaces(workspace); if (fContainerWindowFlags & kIsHidden) @@ -3766,7 +3832,8 @@ BContainerWindow::RestoreWindowState(AttributeStreamNode* node) if (size > 0) { char buffer[size]; if ((fContainerWindowFlags & kRestoreDecor) - && node->Read(kAttrWindowDecor, 0, B_RAW_TYPE, size, buffer) == size) { + && node->Read(kAttrWindowDecor, 0, B_RAW_TYPE, size, buffer) + == size) { BMessage decorSettings; if (decorSettings.Unflatten(buffer) == B_OK) SetDecoratorSettings(decorSettings); @@ -3802,8 +3869,10 @@ BContainerWindow::RestoreWindowState(const BMessage &message) uint32 workspace; if ((fContainerWindowFlags & kRestoreWorkspace) - && message.FindInt32(workspaceAttributeName, (int32*)&workspace) == B_OK) + && message.FindInt32(workspaceAttributeName, + (int32*)&workspace) == B_OK) { SetWorkspaces(workspace); + } if (fContainerWindowFlags & kIsHidden) Minimize(true); @@ -3888,14 +3957,17 @@ BContainerWindow::DragStart(const BMessage* dragMessage) if (dragMessage == NULL) return B_ERROR; - // if already dragging, or - // if all the refs match - if (Dragging() && SpringLoadedFolderCompareMessages(dragMessage, fDragMessage)) + // if already dragging, or + // if all the refs match + if (Dragging() + && SpringLoadedFolderCompareMessages(dragMessage, fDragMessage)) { return B_OK; + } - // cache the current drag message - // build a list of the mimetypes in the message - SpringLoadedFolderCacheDragData(dragMessage, &fDragMessage, &fCachedTypesList); + // cache the current drag message + // build a list of the mimetypes in the message + SpringLoadedFolderCacheDragData(dragMessage, &fDragMessage, + &fCachedTypesList); fWaitingForRefs = true; @@ -4034,7 +4106,8 @@ BContainerWindow::SetSingleWindowBrowseShortcuts(bool enabled) new BMessage(kOpenSelection), PoseView()); AddShortcut(B_UP_ARROW, B_COMMAND_KEY, new BMessage(kOpenParentDir), PoseView()); - // We change the meaning from kNavigatorCommandUp to kOpenParentDir. + // We change the meaning from kNavigatorCommandUp + // to kOpenParentDir. AddShortcut(B_UP_ARROW, B_COMMAND_KEY | B_OPTION_KEY, new BMessage(kOpenParentDir), PoseView()); // command + option results in closing the parent window @@ -4118,7 +4191,8 @@ BContainerWindow::PopulateArrangeByMenu(BMenu* menu) menu->AddSeparatorItem(); - item = new BMenuItem(B_TRANSLATE("Clean up"), new BMessage(kCleanup), 'K'); + item = new BMenuItem(B_TRANSLATE("Clean up"), new BMessage(kCleanup), + 'K'); item->SetTarget(PoseView()); menu->AddItem(item); } @@ -4127,7 +4201,8 @@ BContainerWindow::PopulateArrangeByMenu(BMenu* menu) // #pragma mark - -WindowStateNodeOpener::WindowStateNodeOpener(BContainerWindow* window, bool forWriting) +WindowStateNodeOpener::WindowStateNodeOpener(BContainerWindow* window, + bool forWriting) : fModelOpener(NULL), fNode(NULL), fStreamNode(NULL) @@ -4139,9 +4214,12 @@ WindowStateNodeOpener::WindowStateNodeOpener(BContainerWindow* window, bool forW fStreamNode = new AttributeStreamFileNode(fNode); } } else if (window->TargetModel()){ - fModelOpener = new ModelNodeLazyOpener(window->TargetModel(), forWriting, false); - if (fModelOpener->IsOpen(forWriting)) - fStreamNode = new AttributeStreamFileNode(fModelOpener->TargetModel()->Node()); + fModelOpener = new ModelNodeLazyOpener(window->TargetModel(), + forWriting, false); + if (fModelOpener->IsOpen(forWriting)) { + fStreamNode = new AttributeStreamFileNode( + fModelOpener->TargetModel()->Node()); + } } } diff --git a/src/kits/tracker/ContainerWindow.h b/src/kits/tracker/ContainerWindow.h index 3fe8fc52ed..138d4f6afe 100644 --- a/src/kits/tracker/ContainerWindow.h +++ b/src/kits/tracker/ContainerWindow.h @@ -78,7 +78,8 @@ class BContainerWindow : public BWindow { uint32 containerWindowFlags, window_look look = B_DOCUMENT_WINDOW_LOOK, window_feel feel = B_NORMAL_WINDOW_FEEL, - uint32 flags = B_WILL_ACCEPT_FIRST_CLICK | B_NO_WORKSPACE_ACTIVATION, + uint32 flags = B_WILL_ACCEPT_FIRST_CLICK + | B_NO_WORKSPACE_ACTIVATION, uint32 workspace = B_CURRENT_WORKSPACE); virtual ~BContainerWindow(); @@ -152,7 +153,8 @@ class BContainerWindow : public BWindow { void MarkAttributeMenu(); void MarkArrangeByMenu(BMenu*); BMenuItem* NewAttributeMenuItem(const char* label, const char* name, - int32 type, float width, int32 align, bool editable, bool statField); + int32 type, float width, int32 align, bool editable, + bool statField); BMenuItem* NewAttributeMenuItem(const char* label, const char* name, int32 type, const char* displayAs, float width, int32 align, bool editable, bool statField); @@ -163,7 +165,8 @@ class BContainerWindow : public BWindow { PiggybackTaskLoop* DelayedTaskLoop(); // use for RunLater queueing void PulseTaskLoop(); - // called by some view that has pulse, either BackgroundView or BPoseView + // called by some view that has pulse, either BackgroundView + // or BPoseView static bool DefaultStateSourceNode(const char* name, BNode* result, bool createNew = false, bool createFolder = true); @@ -205,7 +208,8 @@ class BContainerWindow : public BWindow { virtual void AddMenus(); virtual void AddShortcuts(); - // add equivalents of the menu shortcuts to the menuless desktop window + // add equivalents of the menu shortcuts to the menuless + // desktop window virtual void AddFileMenu(BMenu* menu); virtual void AddWindowMenu(BMenu* menu); @@ -227,7 +231,8 @@ class BContainerWindow : public BWindow { virtual void SetCloseItem(BMenu*); virtual void SetupNavigationMenu(const entry_ref*, BMenu*); virtual void SetupMoveCopyMenus(const entry_ref*, BMenu*); - virtual void PopulateMoveCopyNavMenu(BNavMenu*, uint32, const entry_ref*, bool); + virtual void PopulateMoveCopyNavMenu(BNavMenu*, uint32, + const entry_ref*, bool); virtual void SetupOpenWithMenu(BMenu*); virtual void SetUpEditQueryItem(BMenu*); @@ -250,7 +255,8 @@ class BContainerWindow : public BWindow { BHandler* ResolveSpecifier(BMessage*, int32, BMessage*, int32, const char*); - bool EachAddon(BPath &path, bool(*)(const Model*, const char*, uint32, bool, void*), + bool EachAddon(BPath &path, + bool (*)(const Model*, const char*, uint32, bool, void*), BObjectList*, void*, BObjectList &); void LoadAddOn(BMessage*); @@ -313,8 +319,8 @@ class WindowStateNodeOpener { // this class manages opening and closing the proper node for // state restoring / saving; the constructor knows how to decide whether // to use a special directory for root, etc. - // setter calls used when no attributes can be read from a node and defaults - // are to be substituted + // setter calls used when no attributes can be read from a node and + // defaults are to be substituted public: WindowStateNodeOpener(BContainerWindow* window, bool forWriting); virtual ~WindowStateNodeOpener(); @@ -428,7 +434,7 @@ BContainerWindow::IsPathWatchingEnabled() const return fIsWatchingPath; } -filter_result ActivateWindowFilter(BMessage* message, BHandler**target, +filter_result ActivateWindowFilter(BMessage* message, BHandler** target, BMessageFilter* messageFilter); } // namespace BPrivate diff --git a/src/kits/tracker/CountView.cpp b/src/kits/tracker/CountView.cpp index d9044d0f3e..5ac1cba1ad 100644 --- a/src/kits/tracker/CountView.cpp +++ b/src/kits/tracker/CountView.cpp @@ -242,7 +242,8 @@ BCountView::Draw(BRect updateRect) if (IsTypingAhead()) { // use a muted gray for the typeahead - SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_DARKEN_4_TINT)); + SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), + B_DARKEN_4_TINT)); } else SetHighColor(0, 0, 0); @@ -263,7 +264,8 @@ BCountView::Draw(BRect updateRect) bounds.top--; AddLine(bounds.LeftTop(), bounds.RightTop(), shadow); - AddLine(BPoint(bounds.right, bounds.top + 2), bounds.RightBottom(), lightShadow); + AddLine(BPoint(bounds.right, bounds.top + 2), bounds.RightBottom(), + lightShadow); AddLine(bounds.LeftBottom(), bounds.RightBottom(), lightShadow); } @@ -282,8 +284,10 @@ BCountView::Draw(BRect updateRect) barberPoleRect.InsetBy(1, 1); - BRect destRect(fBarberPoleMap ? fBarberPoleMap->Bounds() : BRect(0, 0, 0, 0)); - destRect.OffsetTo(barberPoleRect.LeftTop() - BPoint(0, fLastBarberPoleOffset)); + BRect destRect(fBarberPoleMap + ? fBarberPoleMap->Bounds() : BRect(0, 0, 0, 0)); + destRect.OffsetTo(barberPoleRect.LeftTop() + - BPoint(0, fLastBarberPoleOffset)); fLastBarberPoleOffset -= 1; if (fLastBarberPoleOffset < 0) fLastBarberPoleOffset = 5; diff --git a/src/kits/tracker/DeskWindow.cpp b/src/kits/tracker/DeskWindow.cpp index 6680aff9c6..dcd54ba86a 100644 --- a/src/kits/tracker/DeskWindow.cpp +++ b/src/kits/tracker/DeskWindow.cpp @@ -84,7 +84,8 @@ struct AddOneShortcutParams { }; static bool -AddOneShortcut(const Model* model, const char*, uint32 shortcut, bool /*primary*/, void* context) +AddOneShortcut(const Model* model, const char*, uint32 shortcut, + bool /*primary*/, void* context) { if (!shortcut) // no shortcut, bail @@ -151,11 +152,10 @@ BDeskWindow::~BDeskWindow() void BDeskWindow::Init(const BMessage*) { - // - // Set the size of the screen before calling the container window's - // Init() because it will add volume poses to this window and - // they will be clipped otherwise - // + // Set the size of the screen before calling the container window's + // Init() because it will add volume poses to this window and + // they will be clipped otherwise + BScreen screen(this); fOldFrame = screen.Frame(); @@ -347,8 +347,8 @@ BDeskWindow::AddWindowContextMenus(BMenu* menu) menu->AddItem(pasteItem); menu->AddSeparatorItem(); #endif - menu->AddItem(new BMenuItem(B_TRANSLATE("Clean up"), new BMessage(kCleanup), - 'K')); + menu->AddItem(new BMenuItem(B_TRANSLATE("Clean up"), + new BMessage(kCleanup), 'K')); menu->AddItem(new BMenuItem(B_TRANSLATE("Select"B_UTF8_ELLIPSIS), new BMessage(kShowSelectionWindow), 'A', B_SHIFT_KEY)); menu->AddItem(new BMenuItem(B_TRANSLATE("Select all"), @@ -470,4 +470,3 @@ BDeskWindow::MessageReceived(BMessage* message) break; } } - diff --git a/src/kits/tracker/DeskWindow.h b/src/kits/tracker/DeskWindow.h index 472b31d0c9..f2099df8a2 100644 --- a/src/kits/tracker/DeskWindow.h +++ b/src/kits/tracker/DeskWindow.h @@ -86,9 +86,10 @@ private: BRect fOldFrame; // in the desktop window addon shortcuts have to be added by AddShortcut - // and we don't always get the MenusBeginning call to check for new addons/update the - // shortcuts -- instead we need to node monitor the addon directory and keep - // a dirty flag that triggers shortcut re-installing + // and we don't always get the MenusBeginning call to check for new + // addons/update the shortcuts -- instead we need to node monitor the + // addon directory and keep a dirty flag that triggers shortcut + // reinstallation bool fShouldUpdateAddonShortcuts; std::set fCurrentAddonShortcuts; // keeps track of which shortcuts are installed for Tracker addons diff --git a/src/kits/tracker/DesktopPoseView.cpp b/src/kits/tracker/DesktopPoseView.cpp index 708be1ed41..4a34df9f7e 100644 --- a/src/kits/tracker/DesktopPoseView.cpp +++ b/src/kits/tracker/DesktopPoseView.cpp @@ -79,19 +79,20 @@ DesktopPoseView::InitDesktopDirentIterator(BPoseView* nodeMonitoringTarget, ASSERT(!sourceModel.IsQuery()); ASSERT(sourceModel.Node()); - BDirectory* sourceDirectory = dynamic_cast(sourceModel.Node()); + BDirectory* sourceDirectory + = dynamic_cast(sourceModel.Node()); ASSERT(sourceDirectory); // build an iterator list, start with boot - EntryListBase* perDesktopIterator = new CachedDirectoryEntryList( - *sourceDirectory); + EntryListBase* perDesktopIterator + = new CachedDirectoryEntryList(*sourceDirectory); result->AddItem(perDesktopIterator); if (nodeMonitoringTarget) { TTracker::WatchNode(sourceModel.NodeRef(), - B_WATCH_DIRECTORY | B_WATCH_NAME | B_WATCH_STAT | B_WATCH_ATTR, - nodeMonitoringTarget); + B_WATCH_DIRECTORY | B_WATCH_NAME | B_WATCH_STAT | B_WATCH_ATTR, + nodeMonitoringTarget); } if (result->Rewind() != B_OK) { @@ -131,7 +132,8 @@ DesktopPoseView::FSNotification(const BMessage* message) break; if (settings.MountVolumesOntoDesktop() - && (!volume.IsShared() || settings.MountSharedVolumesOntoDesktop())) { + && (!volume.IsShared() + || settings.MountSharedVolumesOntoDesktop())) { // place an icon for the volume onto the desktop CreateVolumePose(&volume, true); } @@ -161,8 +163,8 @@ DesktopPoseView::AddPosesCompleted() bool DesktopPoseView::Represents(const node_ref* ref) const { - // When the Tracker is set up to integrate non-boot beos volumes, - // it represents the home/Desktop folders of all beos volumes + // When the Tracker is set up to integrate non-boot beos volumes, + // it represents the home/Desktop folders of all beos volumes return _inherited::Represents(ref); } @@ -227,7 +229,8 @@ DesktopPoseView::AdaptToVolumeChange(BMessage* message) message->FindBool("ShowDisksIcon", &showDisksIcon); message->FindBool("MountVolumesOntoDesktop", &mountVolumesOnDesktop); - message->FindBool("MountSharedVolumesOntoDesktop", &mountSharedVolumesOntoDesktop); + message->FindBool("MountSharedVolumesOntoDesktop", + &mountSharedVolumesOntoDesktop); BEntry entry("/"); Model model(&entry); @@ -270,7 +273,8 @@ DesktopPoseView::AdaptToDesktopIntegrationChange(BMessage* message) bool mountSharedVolumesOntoDesktop = true; message->FindBool("MountVolumesOntoDesktop", &mountVolumesOnDesktop); - message->FindBool("MountSharedVolumesOntoDesktop", &mountSharedVolumesOntoDesktop); + message->FindBool("MountSharedVolumesOntoDesktop", + &mountSharedVolumesOntoDesktop); ShowVolumes(false, mountSharedVolumesOntoDesktop); ShowVolumes(mountVolumesOnDesktop, mountSharedVolumesOntoDesktop); diff --git a/src/kits/tracker/DirMenu.cpp b/src/kits/tracker/DirMenu.cpp index 38ae18b346..303bed716d 100644 --- a/src/kits/tracker/DirMenu.cpp +++ b/src/kits/tracker/DirMenu.cpp @@ -109,10 +109,13 @@ BDirMenu::Populate(const BEntry* startEntry, BWindow* originatingWindow, if (!includeStartEntry) { BDirectory parent; BDirectory dir(&entry); - // if we're at the root directory skip "mnt" and go straight to "/" - if (!showDesktop && dir.InitCheck() == B_OK && dir.IsRootDirectory()) + + if (!showDesktop && dir.InitCheck() == B_OK + && dir.IsRootDirectory()) { + // if we're at the root directory skip "mnt" and + // go straight to "/" parent.SetTo("/"); - else + } else entry.GetParent(&parent); parent.GetEntry(&entry); @@ -137,10 +140,11 @@ BDirMenu::Populate(const BEntry* startEntry, BWindow* originatingWindow, bool hitRoot = false; - // if we're at the root directory skip "mnt" and go straight to "/" BDirectory dir(&entry); if (!showDesktop && dir.InitCheck() == B_OK && dir.IsRootDirectory()) { + // if we're at the root directory skip "mnt" and + // go straight to "/" hitRoot = true; parent.SetTo("/"); } @@ -161,7 +165,7 @@ BDirMenu::Populate(const BEntry* startEntry, BWindow* originatingWindow, if (result == kReadAttrFailed || !info.fInvisible || (showDesktop && desktopEntry == entry)) { AddItemToDirMenu(&entry, originatingWindow, reverse, - addShortcuts, navMenuEntries); + addShortcuts, navMenuEntries); } if (hitRoot) { @@ -213,12 +217,12 @@ BDirMenu::AddItemToDirMenu(const BEntry* entry, BWindow* originatingWindow, BContainerWindow* window = originatingWindow ? dynamic_cast(originatingWindow) : 0; if (window) - message->AddData("nodeRefsToClose", B_RAW_TYPE, window->TargetModel()->NodeRef(), - sizeof (node_ref)); + message->AddData("nodeRefsToClose", B_RAW_TYPE, + window->TargetModel()->NodeRef(), sizeof (node_ref)); ModelMenuItem* item; if (navMenuEntries) { - BNavMenu* subMenu = new BNavMenu(model.Name(), B_REFS_RECEIVED, fTarget, - window); + BNavMenu* subMenu = new BNavMenu(model.Name(), B_REFS_RECEIVED, + fTarget, window); entry_ref ref; entry->GetRef(&ref); subMenu->SetNavDir(&ref); @@ -244,7 +248,8 @@ BDirMenu::AddItemToDirMenu(const BEntry* entry, BWindow* originatingWindow, item->SetTarget(fTarget); if (fMenuBar) { - ModelMenuItem* menu = dynamic_cast(fMenuBar->ItemAt(0)); + ModelMenuItem* menu + = dynamic_cast(fMenuBar->ItemAt(0)); if (menu) { ThrowOnError(menu->SetEntry(entry)); item->SetMarked(true); diff --git a/src/kits/tracker/DirMenu.h b/src/kits/tracker/DirMenu.h index 597cd4e509..0cd8f04036 100644 --- a/src/kits/tracker/DirMenu.h +++ b/src/kits/tracker/DirMenu.h @@ -50,8 +50,9 @@ public: virtual ~BDirMenu(); void Populate(const BEntry* startDir, BWindow* originatingWindow, - bool includeStartDir = false, bool select = false, bool reverse = false, - bool addShortcuts = false, bool navMenuEntries = false); + bool includeStartDir = false, bool select = false, + bool reverse = false, bool addShortcuts = false, + bool navMenuEntries = false); void AddItemToDirMenu(const BEntry*, BWindow* originatingWindow, bool atEnd, bool addShortcuts, bool navMenuEntries = false); void AddDisksIconToMenu(bool reverse = false); diff --git a/src/kits/tracker/EntryIterator.cpp b/src/kits/tracker/EntryIterator.cpp index ee328ec458..1698b9038c 100644 --- a/src/kits/tracker/EntryIterator.cpp +++ b/src/kits/tracker/EntryIterator.cpp @@ -131,8 +131,8 @@ EntryListBase::Next(dirent* ent) // #pragma mark - -CachedEntryIterator::CachedEntryIterator(BEntryList* iterator, int32 numEntries, - bool sortInodes) +CachedEntryIterator::CachedEntryIterator(BEntryList* iterator, + int32 numEntries, bool sortInodes) : fIterator(iterator), fEntryRefBuffer(NULL), @@ -265,7 +265,8 @@ CachedEntryIterator::GetNextDirents(struct dirent* ent, size_t size, bufferRemain -= currentDirentSize; ASSERT(bufferRemain >= 0); - if ((size_t)bufferRemain < (sizeof(dirent) + B_FILE_NAME_LENGTH)) { + if ((size_t)bufferRemain + < (sizeof(dirent) + B_FILE_NAME_LENGTH)) { // cant fit a big entryRef in the buffer, just bail // and start from scratch break; diff --git a/src/kits/tracker/EntryIterator.h b/src/kits/tracker/EntryIterator.h index 843480bb56..08c5e6385b 100644 --- a/src/kits/tracker/EntryIterator.h +++ b/src/kits/tracker/EntryIterator.h @@ -102,8 +102,8 @@ public: // // each chunk of iterators in the cache are then returned in an order, // sorted by their i-node number -- this turns out to give quite a bit - // better performance over just using the order in which they show up using - // the default BEntryList iterator subclass + // better performance over just using the order in which they show up + // using the default BEntryList iterator subclass CachedEntryIterator(BEntryList* iterator, int32 numEntries, bool sortInodes = false); diff --git a/src/kits/tracker/FSClipboard.cpp b/src/kits/tracker/FSClipboard.cpp index 8b8793c2e2..f250aa884a 100644 --- a/src/kits/tracker/FSClipboard.cpp +++ b/src/kits/tracker/FSClipboard.cpp @@ -48,7 +48,8 @@ static void MakeNodeFromName(node_ref* node, char* name); static inline void MakeRefName(char* refName, const node_ref* node); static inline void MakeModeName(char* modeName, const node_ref* node); static inline void MakeModeNameFromRefName(char* modeName, char* refName); -static inline bool CompareModeAndRefName(const char* modeName, const char* refName); +static inline bool CompareModeAndRefName(const char* modeName, + const char* refName); /* static bool @@ -130,8 +131,10 @@ FSClipboardHasRefs() uint32 type; int32 count; if (clip->GetInfo(B_REF_TYPE, 0, &refName, &type, &count) == B_OK - && clip->GetInfo(B_INT32_TYPE, 0, &modeName, &type, &count) == B_OK) + && clip->GetInfo(B_INT32_TYPE, 0, &modeName, &type, &count) + == B_OK) { result = CompareModeAndRefName(modeName, refName); + } } be_clipboard->Unlock(); } @@ -145,8 +148,8 @@ FSClipboardStartWatch(BMessenger target) if (dynamic_cast(be_app) != NULL) ((TTracker*)be_app)->ClipboardRefsWatcher()->AddToNotifyList(target); else { - // this code is used by external apps using objects using FSClipboard functions - // i.e: applications using FilePanel + // this code is used by external apps using objects using FSClipboard + // functions, i.e. applications using FilePanel BMessenger messenger(kTrackerSignature); if (messenger.IsValid()) { BMessage message(kStartWatchClipboardRefs); @@ -163,8 +166,8 @@ FSClipboardStopWatch(BMessenger target) if (dynamic_cast(be_app) != NULL) ((TTracker*)be_app)->ClipboardRefsWatcher()->AddToNotifyList(target); else { - // this code is used by external apps using objects using FSClipboard functions - // i.e: applications using FilePanel + // this code is used by external apps using objects using FSClipboard + // functions, i.e. applications using FilePanel BMessenger messenger(kTrackerSignature); if (messenger.IsValid()) { BMessage message(kStopWatchClipboardRefs); @@ -333,7 +336,8 @@ FSClipboardRemovePoses(const node_ref* directory, PoseList* list) MakeRefName(refName, &clipNode.node); MakeModeName(modeName); - if (clip->RemoveName(refName) == B_OK && clip->RemoveName(modeName)) { + if (clip->RemoveName(refName) == B_OK + && clip->RemoveName(modeName)) { updateMessage.AddData("tcnode", T_CLIPBOARD_NODE, &clipNode, sizeof(TClipboardNodeRef), true, listCount); refsRemoved++; @@ -353,7 +357,6 @@ FSClipboardRemovePoses(const node_ref* directory, PoseList* list) /** Pastes entries from the clipboard to the target model's directory. * Updates moveModes and notifies listeners if necessary. */ - bool FSClipboardPaste(Model* model, uint32 linksMode) { @@ -588,7 +591,8 @@ FSClipboardRemove(Model* model) report->AddInt32("device", ref->device); report->AddInt64("directory", ref->directory); report->AddBool("clearClipboard", false); - report->AddData("tcnode", T_CLIPBOARD_NODE, &tcnode, sizeof(tcnode), true); + report->AddData("tcnode", T_CLIPBOARD_NODE, &tcnode, sizeof(tcnode), + true); messenger.SendMessage(report); delete report; } @@ -624,7 +628,8 @@ BClipboardRefsWatcher::AddToNotifyList(BMessenger target) BMessenger* messenger; bool found = false; - for (int32 index = 0;(messenger = fNotifyList.ItemAt(index)) != NULL; index++) { + for (int32 index = 0; (messenger = fNotifyList.ItemAt(index)) != NULL; + index++) { if (*messenger == target) { found = true; break; @@ -644,7 +649,8 @@ BClipboardRefsWatcher::RemoveFromNotifyList(BMessenger target) if (Lock()) { BMessenger* messenger; - for (int32 index = 0;(messenger = fNotifyList.ItemAt(index)) != NULL; index++) { + for (int32 index = 0; (messenger = fNotifyList.ItemAt(index)) != NULL; + index++) { if (*messenger == target) { delete fNotifyList.RemoveItemAt(index); break; @@ -802,7 +808,8 @@ BClipboardRefsWatcher::UpdatePoseViews(BMessage* reportMessage) int32 index = 0; TClipboardNodeRef* tcnode = NULL; ssize_t size; - while (reportMessage->FindData("tcnode", T_CLIPBOARD_NODE, index, (const void**)&tcnode, &size) == B_OK) { + while (reportMessage->FindData("tcnode", T_CLIPBOARD_NODE, index, + (const void**)&tcnode, &size) == B_OK) { if (tcnode->moveMode == kDelete) { watch_node(&tcnode->node, B_STOP_WATCHING, this); } else { diff --git a/src/kits/tracker/FSUndoRedo.cpp b/src/kits/tracker/FSUndoRedo.cpp index b2b3c2c615..1eb13e1dd1 100644 --- a/src/kits/tracker/FSUndoRedo.cpp +++ b/src/kits/tracker/FSUndoRedo.cpp @@ -239,8 +239,8 @@ UndoItemCopy::Undo() status_t UndoItemCopy::Redo() { - FSMoveToFolder(new BObjectList(fSourceList), new BEntry(&fTargetRef), - FSUndoMoveMode(fMoveMode), NULL); + FSMoveToFolder(new BObjectList(fSourceList), + new BEntry(&fTargetRef), FSUndoMoveMode(fMoveMode), NULL); return B_OK; } @@ -388,7 +388,8 @@ UndoItemRename::Redo() // #pragma mark - -UndoItemRenameVolume::UndoItemRenameVolume(BVolume &volume, const char* newName) +UndoItemRenameVolume::UndoItemRenameVolume(BVolume &volume, + const char* newName) : fVolume(volume), fNewName(newName) diff --git a/src/kits/tracker/FSUtils.cpp b/src/kits/tracker/FSUtils.cpp index c6ae7cbe2f..2e462e1ac7 100644 --- a/src/kits/tracker/FSUtils.cpp +++ b/src/kits/tracker/FSUtils.cpp @@ -124,9 +124,10 @@ status_t MoveItem(BEntry* entry, BDirectory* destDir, BPoint* loc, ConflictCheckResult PreFlightNameCheck(BObjectList* srcList, const BDirectory* destDir, int32* collisionCount, uint32 moveMode); status_t CheckName(uint32 moveMode, const BEntry* srcEntry, - const BDirectory* destDir, bool multipleCollisions, ConflictCheckResult &); -void CopyAttributes(CopyLoopControl* control, BNode* srcNode, BNode* destNode, void* buffer, - size_t bufsize); + const BDirectory* destDir, bool multipleCollisions, + ConflictCheckResult &); +void CopyAttributes(CopyLoopControl* control, BNode* srcNode, + BNode* destNode, void* buffer, size_t bufsize); void CopyPoseLocation(BNode* src, BNode* dest); bool DirectoryMatchesOrContains(const BEntry*, directory_which); bool DirectoryMatchesOrContains(const BEntry*, const char* additionalPath, @@ -177,11 +178,13 @@ static const char* kFileDeleteErrorString = static const char* kReplaceManyStr = B_TRANSLATE_MARK("Some items already exist in this folder with " - "the same names as the items you are %verb.\n \nWould you like to replace " - "them with the ones you are %verb or be prompted for each one?"); + "the same names as the items you are %verb.\n \nWould you like to " + "replace them with the ones you are %verb or be prompted for each " + "one?"); static const char* kFindAlternativeStr = - B_TRANSLATE_MARK("Would you like to find some other suitable application?"); + B_TRANSLATE_MARK("Would you like to find some other suitable " + "application?"); static const char* kFindApplicationStr = B_TRANSLATE_MARK("Would you like to find a suitable application " @@ -635,21 +638,21 @@ ConfirmChangeIfWellKnownDirectory(const BEntry* entry, if (DirectoryMatchesOrContains(entry, B_SYSTEM_DIRECTORY)) { warning.SetTo( B_TRANSLATE("If you %ifYouDoAction the system folder or its " - "contents, you won't be able to boot %osName!\n\nAre you sure you " - "want to do this?\n\nTo %toDoAction the system folder or its " + "contents, you won't be able to boot %osName!\n\nAre you sure " + "you want to do this?\n\nTo %toDoAction the system folder or its " "contents anyway, hold down the Shift key and click " "\"%toConfirmAction\".")); } else if (DirectoryMatches(entry, B_COMMON_DIRECTORY)) { warning.SetTo( B_TRANSLATE("If you %ifYouDoAction the common folder, %osName " - "may not behave properly!\n\nAre you sure you want to do this?\n\n" - "To %toDoAction the common folder anyway, hold down the " + "may not behave properly!\n\nAre you sure you want to do this?" + "\n\nTo %toDoAction the common folder anyway, hold down the " "Shift key and click \"%toConfirmAction\".")); } else if (DirectoryMatches(entry, B_USER_DIRECTORY)) { warning .SetTo( B_TRANSLATE("If you %ifYouDoAction the home folder, %osName " - "may not behave properly!\n\nAre you sure you want to do this?\n\n" - "To %toDoAction the home folder anyway, hold down the " + "may not behave properly!\n\nAre you sure you want to do this?" + "\n\nTo %toDoAction the home folder anyway, hold down the " "Shift key and click \"%toConfirmAction\".")); } else if (DirectoryMatchesOrContains(entry, B_USER_CONFIG_DIRECTORY) || DirectoryMatchesOrContains(entry, B_COMMON_SETTINGS_DIRECTORY)) { @@ -660,21 +663,21 @@ ConfirmChangeIfWellKnownDirectory(const BEntry* entry, B_COMMON_SETTINGS_DIRECTORY)) { warning.SetTo( B_TRANSLATE("If you %ifYouDoAction the mime settings, " - "%osName may not behave properly!\n\nAre you sure you want to " - "do this?")); + "%osName may not behave properly!\n\nAre you sure you want " + "to do this?")); requireOverride = false; } else if (DirectoryMatches(entry, B_USER_CONFIG_DIRECTORY)) { warning.SetTo( - B_TRANSLATE("If you %ifYouDoAction the config folder, %osName " - "may not behave properly!\n\nAre you sure you want to do " - "this?")); + B_TRANSLATE("If you %ifYouDoAction the config folder, " + "%osName may not behave properly!\n\nAre you sure you want " + "to do this?")); requireOverride = false; } else if (DirectoryMatches(entry, B_USER_SETTINGS_DIRECTORY) || DirectoryMatches(entry, B_COMMON_SETTINGS_DIRECTORY)) { warning.SetTo( B_TRANSLATE("If you %ifYouDoAction the settings folder, " - "%osName may not behave properly!\n\nAre you sure you want to " - "do this?")); + "%osName may not behave properly!\n\nAre you sure you want " + "to do this?")); requireOverride = false; } } @@ -752,11 +755,13 @@ InitCopy(CopyLoopControl* loopControl, uint32 moveMode, "directory.")); } else { errorStr.SetTo( - B_TRANSLATE("You cannot copy or move the root directory.")); + B_TRANSLATE("You cannot copy or move the root " + "directory.")); } BAlert* alert = new BAlert("", errorStr.String(), - B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, B_WARNING_ALERT); + B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, + B_WARNING_ALERT); alert->SetShortcut(0, B_ESCAPE); alert->Go(); return B_ERROR; @@ -783,10 +788,12 @@ InitCopy(CopyLoopControl* loopControl, uint32 moveMode, *preflightResult = kPrompt; *collisionCount = 0; - *preflightResult = PreFlightNameCheck(srcList, destDir, collisionCount, - moveMode); - if (*preflightResult == kCanceled) // user canceled + *preflightResult = PreFlightNameCheck(srcList, destDir, + collisionCount, moveMode); + if (*preflightResult == kCanceled) { + // user canceled return B_ERROR; + } } // set up the status display @@ -802,7 +809,8 @@ InitCopy(CopyLoopControl* loopControl, uint32 moveMode, off_t totalSize = 0; if (needSizeCalculation) { if (CalcItemsAndSize(loopControl, srcList, - dstVol->BlockSize(), &totalItems, &totalSize) != B_OK) { + dstVol->BlockSize(), &totalItems, &totalSize) + != B_OK) { return B_ERROR; } @@ -997,7 +1005,8 @@ MoveTask(BObjectList* srcList, BEntry* destEntry, BList* pointList, result = MoveEntryToTrash(&sourceEntry, loc, undo); if (result != B_OK) { - BString error(B_TRANSLATE("Error moving \"%name\" to Trash. (%error)")); + BString error(B_TRANSLATE("Error moving \"%name\" to Trash. " + "(%error)")); error.ReplaceFirst("%name", srcRef->name); error.ReplaceFirst("%error", strerror(result)); BAlert* alert = new BAlert("", error.String(), @@ -1011,8 +1020,8 @@ MoveTask(BObjectList* srcList, BEntry* destEntry, BList* pointList, } // resolve name collisions and hierarchy problems - if (CheckName(moveMode, &sourceEntry, &destDir, collisionCount > 1, - conflictCheckResult) != B_OK) { + if (CheckName(moveMode, &sourceEntry, &destDir, + collisionCount > 1, conflictCheckResult) != B_OK) { // we will skip the current item, because we got a conflict // and were asked to or because there was some conflict @@ -1160,8 +1169,9 @@ CopyFile(BEntry* srcFile, StatStruct* srcStat, BDirectory* destDir, throw (status_t)err; if (err != B_OK) { - if (!loopControl->FileError(B_TRANSLATE_NOCOLLECT(kFileErrorString), - destName, err, true)) { + if (!loopControl->FileError( + B_TRANSLATE_NOCOLLECT(kFileErrorString), destName, err, + true)) { throw (status_t)err; } else { // user selected continue in spite of error, update status bar @@ -1176,7 +1186,8 @@ CopyFile(BEntry* srcFile, StatStruct* srcStat, BDirectory* destDir, static bool CreateFileSystemCompatibleName(const BDirectory* destDir, char* destName) { - // Is it a FAT32 file system? (this is the only one we currently now about) + // Is it a FAT32 file system? + // (this is the only one we currently know about) BEntry target; destDir->GetEntry(&target); @@ -1412,8 +1423,9 @@ CopyAttributes(CopyLoopControl* control, BNode* srcNode, BNode* destNode, static void -CopyFolder(BEntry* srcEntry, BDirectory* destDir, CopyLoopControl* loopControl, - BPoint* loc, bool makeOriginalName, Undo &undo, bool removeSource = false) +CopyFolder(BEntry* srcEntry, BDirectory* destDir, + CopyLoopControl* loopControl, BPoint* loc, bool makeOriginalName, + Undo &undo, bool removeSource = false) { BDirectory newDir; BEntry entry; @@ -1669,7 +1681,8 @@ MoveItem(BEntry* entry, BDirectory* destDir, BPoint* loc, uint32 moveMode, // else source and target are in the same dir source.Append(path.Leaf()); - err = destDir->CreateSymLink(name, source.String(), &link); + err = destDir->CreateSymLink(name, source.String(), + &link); chdir(oldwd); // change working dir back to original @@ -1871,7 +1884,8 @@ MoveEntryToTrash(BEntry* entry, BPoint* loc, Undo &undo) if (volume == boot) { char name[B_FILE_NAME_LENGTH]; volume.GetName(name); - BString buffer(B_TRANSLATE("Cannot unmount the boot volume \"%name\".")); + BString buffer( + B_TRANSLATE("Cannot unmount the boot volume \"%name\".")); buffer.ReplaceFirst("%name", name); BAlert* alert = new BAlert("", buffer.String(), B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, @@ -1898,7 +1912,7 @@ MoveEntryToTrash(BEntry* entry, BPoint* loc, Undo &undo) if (dir == trash_dir || dir.Contains(&trashEntry)) { (new BAlert("", B_TRANSLATE("You cannot put the Trash, home or Desktop " - "directory into the trash."), + "directory into the trash."), B_TRANSLATE("OK"), 0, 0, B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go(); @@ -2060,7 +2074,8 @@ CheckName(uint32 moveMode, const BEntry* sourceEntry, && moveMode != kCreateRelativeLink) { (new BAlert("", B_TRANSLATE("You can't move or copy the trash."), - B_TRANSLATE("OK"), 0, 0, B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go(); + B_TRANSLATE("OK"), 0, 0, B_WIDTH_AS_USUAL, + B_WARNING_ALERT))->Go(); return B_ERROR; } @@ -2092,7 +2107,8 @@ CheckName(uint32 moveMode, const BEntry* sourceEntry, } } - // Ensure user isn't trying to replace a file with folder or vice versa. + // ensure that the user isn't trying to replace a file with folder + // or vice-versa if (moveMode != kCreateLink && moveMode != kCreateRelativeLink && destIsDir != sourceIsDirectory) { @@ -2107,7 +2123,6 @@ CheckName(uint32 moveMode, const BEntry* sourceEntry, if (replaceAll != kReplaceAll) { // prompt user to determine whether to replace or not - BString replaceMsg; if (moveMode == kCreateLink || moveMode == kCreateRelativeLink) { @@ -2176,7 +2191,8 @@ CheckName(uint32 moveMode, const BEntry* sourceEntry, return B_OK; if (err != B_OK) { - BString error(B_TRANSLATE("There was a problem trying to replace \"%name\". The item might be open or busy.")); + BString error(B_TRANSLATE("There was a problem trying to replace " + "\"%name\". The item might be open or busy.")); error.ReplaceFirst("%name", name);; BAlert* alert = new BAlert("", error.String(), B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, B_WARNING_ALERT); @@ -2381,8 +2397,9 @@ FSRecursiveCalcSize(BInfoWindow* window, CopyLoopControl* loopControl, status_t -CalcItemsAndSize(CopyLoopControl* loopControl, BObjectList* refList, - ssize_t blockSize, int32* totalCount, off_t* totalSize) +CalcItemsAndSize(CopyLoopControl* loopControl, + BObjectList* refList, ssize_t blockSize, int32* totalCount, + off_t* totalSize) { int32 fileCount = 0; int32 dirCount = 0; @@ -2488,8 +2505,8 @@ FSGetTrashDir(BDirectory* trashDir, dev_t dev) if (data != NULL) trashDir->WriteAttr(kAttrMiniIcon, 'MICN', 0, data, size); - data = GetTrackerResources()->LoadResource(B_VECTOR_ICON_TYPE, R_TrashIcon, - &size); + data = GetTrackerResources()->LoadResource(B_VECTOR_ICON_TYPE, + R_TrashIcon, &size); if (data != NULL) trashDir->WriteAttr(kAttrIcon, B_VECTOR_ICON_TYPE, 0, data, size); @@ -3228,14 +3245,15 @@ _TrackerLaunchAppWithDocuments(const entry_ref* appRef, const BMessage* refs, if (refs && openWithOK && error != B_SHUTTING_DOWN) { alertString << B_TRANSLATE_NOCOLLECT(kFindAlternativeStr); BAlert* alert = new BAlert("", alertString.String(), - B_TRANSLATE("Cancel"), B_TRANSLATE("Find"), 0, B_WIDTH_AS_USUAL, - B_WARNING_ALERT); + B_TRANSLATE("Cancel"), B_TRANSLATE("Find"), 0, + B_WIDTH_AS_USUAL, B_WARNING_ALERT); alert->SetShortcut(0, B_ESCAPE); if (alert->Go() == 1) error = TrackerOpenWith(refs); } else { BAlert* alert = new BAlert("", alertString.String(), - B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, B_WARNING_ALERT); + B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, + B_WARNING_ALERT); alert->SetShortcut(0, B_ESCAPE); alert->Go(); } @@ -3389,8 +3407,8 @@ _TrackerLaunchDocuments(const entry_ref* /*doNotUse*/, const BMessage* refs, } else { BEntry appEntry(&app, true); for (int32 index = 0;;) { - // remove the app itself from the refs received so we don't try - // to open ourselves + // remove the app itself from the refs received so we don't + // try to open ourselves entry_ref ref; if (copyOfRefs.FindRef("refs", index, &ref) != B_OK) break; @@ -3483,15 +3501,18 @@ _TrackerLaunchDocuments(const entry_ref* /*doNotUse*/, const BMessage* refs, && LoaderErrorDetails(&app, loaderErrorString) == B_OK) { if (openedDocuments) { alertString.SetTo(B_TRANSLATE("Could not open \"%document\" " - "with application \"%app\" (Missing symbol: %symbol). \n")); + "with application \"%app\" (Missing symbol: %symbol). " + "\n")); alertString.ReplaceFirst("%document", documentRef.name); alertString.ReplaceFirst("%app", app.name); - alertString.ReplaceFirst("%symbol", loaderErrorString.String()); + alertString.ReplaceFirst("%symbol", + loaderErrorString.String()); } else { alertString.SetTo(B_TRANSLATE("Could not open \"%document\" " "(Missing symbol: %symbol). \n")); alertString.ReplaceFirst("%document", documentRef.name); - alertString.ReplaceFirst("%symbol", loaderErrorString.String()); + alertString.ReplaceFirst("%symbol", + loaderErrorString.String()); } alternative = B_TRANSLATE_NOCOLLECT(kFindAlternativeStr); } else if (error == B_MISSING_LIBRARY @@ -3502,12 +3523,14 @@ _TrackerLaunchDocuments(const entry_ref* /*doNotUse*/, const BMessage* refs, "\n")); alertString.ReplaceFirst("%document", documentRef.name); alertString.ReplaceFirst("%app", app.name); - alertString.ReplaceFirst("%library", loaderErrorString.String()); + alertString.ReplaceFirst("%library", + loaderErrorString.String()); } else { alertString.SetTo(B_TRANSLATE("Could not open \"%document\" " "(Missing libraries: %library). \n")); alertString.ReplaceFirst("%document", documentRef.name); - alertString.ReplaceFirst("%library", loaderErrorString.String()); + alertString.ReplaceFirst("%library", + loaderErrorString.String()); } alternative = B_TRANSLATE_NOCOLLECT(kFindAlternativeStr); } else { @@ -3525,14 +3548,15 @@ _TrackerLaunchDocuments(const entry_ref* /*doNotUse*/, const BMessage* refs, ASSERT(alternative); alertString << alternative; BAlert* alert = new BAlert("", alertString.String(), - B_TRANSLATE("Cancel"), B_TRANSLATE("Find"), 0, B_WIDTH_AS_USUAL, - B_WARNING_ALERT); + B_TRANSLATE("Cancel"), B_TRANSLATE("Find"), 0, + B_WIDTH_AS_USUAL, B_WARNING_ALERT); alert->SetShortcut(0, B_ESCAPE); if (alert->Go() == 1) error = TrackerOpenWith(refs); } else { BAlert* alert = new BAlert("", alertString.String(), - B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, B_WARNING_ALERT); + B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, + B_WARNING_ALERT); alert->SetShortcut(0, B_ESCAPE); alert->Go(); } @@ -3841,8 +3865,6 @@ WellKnowEntryList::WellKnowEntryList() AddOne((directory_which)B_USER_QUERIES_DIRECTORY, B_USER_DIRECTORY, "queries", "queries"); - - AddOne(B_COMMON_DEVELOP_DIRECTORY, "develop"); AddOne((directory_which)B_USER_DESKBAR_DEVELOP_DIRECTORY, B_USER_DESKBAR_DIRECTORY, "Development", "develop"); diff --git a/src/kits/tracker/FSUtils.h b/src/kits/tracker/FSUtils.h index 84e3889e9b..d872cfc42a 100644 --- a/src/kits/tracker/FSUtils.h +++ b/src/kits/tracker/FSUtils.h @@ -87,7 +87,7 @@ public: kReplace, // remove entry before copying new one kMerge // for folders: leave existing folder, update // contents leaving nonconflicting items - // for files: save original attributes on file. + // for files: save original attributes on file }; //! Override to always overwrite, never overwrite, let user decide, diff --git a/src/kits/tracker/FavoritesMenu.h b/src/kits/tracker/FavoritesMenu.h index 4a416f7424..2863534bf4 100644 --- a/src/kits/tracker/FavoritesMenu.h +++ b/src/kits/tracker/FavoritesMenu.h @@ -111,7 +111,8 @@ enum recent_type { class RecentsMenu : public BNavMenu { public: - RecentsMenu(const char* name,int32 which,uint32 what,BHandler* target); + RecentsMenu(const char* name, int32 which, uint32 what, + BHandler* target); void DetachedFromWindow(); diff --git a/src/kits/tracker/FilePanelPriv.h b/src/kits/tracker/FilePanelPriv.h index 7f4b242fcc..04ad4eb403 100644 --- a/src/kits/tracker/FilePanelPriv.h +++ b/src/kits/tracker/FilePanelPriv.h @@ -167,7 +167,8 @@ public: void SetIsDesktop(bool); protected: - // don't do any volume watching and memtamime watching in file panels for now + // don't do any volume watching and memtamime watching in file panels + // for now virtual void StartWatching(); virtual void StopWatching(); diff --git a/src/kits/tracker/FilePermissionsView.cpp b/src/kits/tracker/FilePermissionsView.cpp index 6efe30810c..f5b7bbf7f5 100644 --- a/src/kits/tracker/FilePermissionsView.cpp +++ b/src/kits/tracker/FilePermissionsView.cpp @@ -56,30 +56,41 @@ FilePermissionsView::FilePermissionsView(BRect rect, Model* model) fModel(model) { // Constants for the column labels: "User", "Group" and "Other". - const float kColumnLabelMiddle = 77, kColumnLabelTop = 6, kColumnLabelSpacing = 37, - kColumnLabelBottom = 20, kColumnLabelWidth = 35, kAttribFontHeight = 10; + const float kColumnLabelMiddle = 77, kColumnLabelTop = 6, + kColumnLabelSpacing = 37, kColumnLabelBottom = 20, + kColumnLabelWidth = 35, kAttribFontHeight = 10; BStringView* strView; - strView = new BStringView(BRect(kColumnLabelMiddle - kColumnLabelWidth / 2, - kColumnLabelTop, kColumnLabelMiddle + kColumnLabelWidth / 2, kColumnLabelBottom), + strView = new BStringView( + BRect(kColumnLabelMiddle - kColumnLabelWidth / 2, + kColumnLabelTop, + kColumnLabelMiddle + kColumnLabelWidth / 2, + kColumnLabelBottom), "", B_TRANSLATE("Owner")); AddChild(strView); strView->SetAlignment(B_ALIGN_CENTER); strView->SetFontSize(kAttribFontHeight); - strView = new BStringView(BRect(kColumnLabelMiddle - kColumnLabelWidth / 2 - + kColumnLabelSpacing, kColumnLabelTop, - kColumnLabelMiddle + kColumnLabelWidth / 2 + kColumnLabelSpacing, - kColumnLabelBottom), "", B_TRANSLATE("Group")); + strView = new BStringView( + BRect(kColumnLabelMiddle - kColumnLabelWidth / 2 + + kColumnLabelSpacing, + kColumnLabelTop, + kColumnLabelMiddle + kColumnLabelWidth / 2 + kColumnLabelSpacing, + kColumnLabelBottom), + "", B_TRANSLATE("Group")); AddChild(strView); strView->SetAlignment(B_ALIGN_CENTER); strView->SetFontSize(kAttribFontHeight); - strView = new BStringView(BRect(kColumnLabelMiddle - kColumnLabelWidth / 2 - + 2 * kColumnLabelSpacing, kColumnLabelTop, - kColumnLabelMiddle + kColumnLabelWidth / 2 + 2 * kColumnLabelSpacing, - kColumnLabelBottom), "", B_TRANSLATE("Other")); + strView = new BStringView( + BRect(kColumnLabelMiddle - kColumnLabelWidth / 2 + + 2 * kColumnLabelSpacing, + kColumnLabelTop, + kColumnLabelMiddle + kColumnLabelWidth / 2 + + 2 * kColumnLabelSpacing, + kColumnLabelBottom), + "", B_TRANSLATE("Other")); AddChild(strView); strView->SetAlignment(B_ALIGN_CENTER); strView->SetFontSize(kAttribFontHeight); @@ -89,53 +100,69 @@ FilePermissionsView::FilePermissionsView(BRect rect, Model* model) kRowLabelVerticalSpacing = 18, kRowLabelRight = kColumnLabelMiddle - kColumnLabelWidth / 2 - 5, kRowLabelHeight = 14; - strView = new BStringView(BRect(kRowLabelLeft, kRowLabelTop, kRowLabelRight, - kRowLabelTop + kRowLabelHeight), + strView = new BStringView(BRect(kRowLabelLeft, kRowLabelTop, + kRowLabelRight, kRowLabelTop + kRowLabelHeight), "", B_TRANSLATE("Read")); AddChild(strView); strView->SetAlignment(B_ALIGN_RIGHT); strView->SetFontSize(kAttribFontHeight); strView = new BStringView(BRect(kRowLabelLeft, kRowLabelTop - + kRowLabelVerticalSpacing, kRowLabelRight, kRowLabelTop - + kRowLabelVerticalSpacing + kRowLabelHeight), + + kRowLabelVerticalSpacing, kRowLabelRight, kRowLabelTop + + kRowLabelVerticalSpacing + kRowLabelHeight), "", B_TRANSLATE("Write")); AddChild(strView); strView->SetAlignment(B_ALIGN_RIGHT); strView->SetFontSize(kAttribFontHeight); strView = new BStringView(BRect(kRowLabelLeft, kRowLabelTop - + 2 * kRowLabelVerticalSpacing, kRowLabelRight, kRowLabelTop - + 2 * kRowLabelVerticalSpacing + kRowLabelHeight), + + 2 * kRowLabelVerticalSpacing, kRowLabelRight, kRowLabelTop + + 2 * kRowLabelVerticalSpacing + kRowLabelHeight), "", B_TRANSLATE("Execute")); AddChild(strView); strView->SetAlignment(B_ALIGN_RIGHT); strView->SetFontSize(kAttribFontHeight); // Constants for the 3x3 check box array. - const float kLeftMargin = kRowLabelRight + 15, kTopMargin = kRowLabelTop - 2, - kHorizontalSpacing = kColumnLabelSpacing, kVerticalSpacing = kRowLabelVerticalSpacing, + const float kLeftMargin = kRowLabelRight + 15, + kTopMargin = kRowLabelTop - 2, + kHorizontalSpacing = kColumnLabelSpacing, + kVerticalSpacing = kRowLabelVerticalSpacing, kCheckBoxWidth = 18, kCheckBoxHeight = 18; FocusCheckBox** checkBoxArray[3][3] = { - { &fReadUserCheckBox, &fReadGroupCheckBox, &fReadOtherCheckBox }, - { &fWriteUserCheckBox, &fWriteGroupCheckBox, &fWriteOtherCheckBox }, - { &fExecuteUserCheckBox, &fExecuteGroupCheckBox, &fExecuteOtherCheckBox }}; + { + &fReadUserCheckBox, + &fReadGroupCheckBox, + &fReadOtherCheckBox + }, + { + &fWriteUserCheckBox, + &fWriteGroupCheckBox, + &fWriteOtherCheckBox + }, + { + &fExecuteUserCheckBox, + &fExecuteGroupCheckBox, + &fExecuteOtherCheckBox + } + }; for (int32 x = 0; x < 3; x++) { for (int32 y = 0; y < 3; y++) { *checkBoxArray[y][x] = new FocusCheckBox(BRect(kLeftMargin + kHorizontalSpacing * x, - kTopMargin + kVerticalSpacing * y, - kLeftMargin + kHorizontalSpacing * x + kCheckBoxWidth, - kTopMargin + kVerticalSpacing * y + kCheckBoxHeight), - "", "", new BMessage(kPermissionsChanged)); + kTopMargin + kVerticalSpacing * y, + kLeftMargin + kHorizontalSpacing * x + kCheckBoxWidth, + kTopMargin + kVerticalSpacing * y + kCheckBoxHeight), + "", "", new BMessage(kPermissionsChanged)); AddChild(*checkBoxArray[y][x]); } } const float kTextControlLeft = 170, kTextControlRight = 270, - kTextControlTop = kColumnLabelTop, kTextControlHeight = 14, kTextControlSpacing = 16; + kTextControlTop = kColumnLabelTop, kTextControlHeight = 14, + kTextControlSpacing = 16; strView = new BStringView(BRect(kTextControlLeft, kTextControlTop, kTextControlRight, kTextControlTop + kTextControlHeight), "", @@ -144,25 +171,30 @@ FilePermissionsView::FilePermissionsView(BRect rect, Model* model) strView->SetFontSize(kAttribFontHeight); AddChild(strView); - fOwnerTextControl = new BTextControl(BRect(kTextControlLeft, kTextControlTop - 2 - + kTextControlSpacing, kTextControlRight, kTextControlTop + kTextControlHeight - 2 - + kTextControlSpacing), "", "", "", new BMessage(kNewOwnerEntered)); + fOwnerTextControl = new BTextControl( + BRect(kTextControlLeft, + kTextControlTop - 2 + kTextControlSpacing, + kTextControlRight, + kTextControlTop + kTextControlHeight - 2 + kTextControlSpacing), + "", "", "", new BMessage(kNewOwnerEntered)); fOwnerTextControl->SetDivider(0); AddChild(fOwnerTextControl); strView = new BStringView(BRect(kTextControlLeft, - kTextControlTop + 5 + 2 * kTextControlSpacing, - kTextControlRight, - kTextControlTop + 2 + 2 * kTextControlSpacing + kTextControlHeight), + kTextControlTop + 5 + 2 * kTextControlSpacing, + kTextControlRight, + kTextControlTop + 2 + 2 * kTextControlSpacing + + kTextControlHeight), "", B_TRANSLATE("Group")); strView->SetAlignment(B_ALIGN_CENTER); strView->SetFontSize(kAttribFontHeight); AddChild(strView); - fGroupTextControl = new BTextControl(BRect(kTextControlLeft, kTextControlTop - + 3 * kTextControlSpacing, kTextControlRight, kTextControlTop - + 3 * kTextControlSpacing + kTextControlHeight), "", "", "", - new BMessage(kNewGroupEntered)); + fGroupTextControl = new BTextControl(BRect(kTextControlLeft, + kTextControlTop + 3 * kTextControlSpacing, + kTextControlRight, + kTextControlTop + 3 * kTextControlSpacing + kTextControlHeight), + "", "", "", new BMessage(kNewGroupEntered)); fGroupTextControl->SetDivider(0); AddChild(fGroupTextControl); @@ -277,7 +309,8 @@ FilePermissionsView::MessageReceived(BMessage* message) case kPermissionsChanged: if (fModel != NULL) { mode_t newPermissions = 0; - newPermissions = (mode_t)((fReadUserCheckBox->Value() ? S_IRUSR : 0) + newPermissions + = (mode_t)((fReadUserCheckBox->Value() ? S_IRUSR : 0) | (fReadGroupCheckBox->Value() ? S_IRGRP : 0) | (fReadOtherCheckBox->Value() ? S_IROTH : 0) diff --git a/src/kits/tracker/FindPanel.cpp b/src/kits/tracker/FindPanel.cpp index bc530d9c12..36e795701f 100644 --- a/src/kits/tracker/FindPanel.cpp +++ b/src/kits/tracker/FindPanel.cpp @@ -334,7 +334,8 @@ void FindWindow::GetPredicateString(BString &predicate, bool &dynamicDate) { BQuery query; - BTextControl* textControl = dynamic_cast(FindView("TextControl")); + BTextControl* textControl + = dynamic_cast(FindView("TextControl")); switch (fBackground->Mode()) { case kByNameItem: fBackground->GetByNamePredicate(&query); @@ -374,8 +375,8 @@ FindWindow::GetDefaultName(BString &result) void FindWindow::SaveQueryAttributes(BNode* file, bool queryTemplate) { - ThrowOnError( BNodeInfo(file).SetType( - queryTemplate ? B_QUERY_TEMPLATE_MIMETYPE : B_QUERY_MIMETYPE) ); + ThrowOnError(BNodeInfo(file).SetType( + queryTemplate ? B_QUERY_TEMPLATE_MIMETYPE : B_QUERY_MIMETYPE)); // save date/time info for recent query support and transient query killer int32 currentTime = (int32)time(0); @@ -387,8 +388,9 @@ FindWindow::SaveQueryAttributes(BNode* file, bool queryTemplate) status_t -FindWindow::SaveQueryAsAttributes(BNode* file, BEntry* entry, bool queryTemplate, - const BMessage* oldAttributes, const BPoint* oldLocation) +FindWindow::SaveQueryAsAttributes(BNode* file, BEntry* entry, + bool queryTemplate, const BMessage* oldAttributes, + const BPoint* oldLocation) { if (oldAttributes) // revive old window settings @@ -613,7 +615,8 @@ FindWindow::MessageReceived(BMessage* message) bool queryTemplate; if (message->FindString("name", &name) == B_OK && message->FindRef("directory", &dir) == B_OK - && message->FindBool("template", &queryTemplate) == B_OK) { + && message->FindBool("template", &queryTemplate) + == B_OK) { delete fFile; fFile = NULL; BDirectory directory(&dir); @@ -623,7 +626,8 @@ FindWindow::MessageReceived(BMessage* message) fFile = TryOpening(&tmpRef); if (fFile) { fRef = tmpRef; - SaveQueryAsAttributes(fFile, &entry, queryTemplate, 0, 0); + SaveQueryAsAttributes(fFile, &entry, queryTemplate, + 0, 0); // try to save whatever state we aleady have // to the new query so that if the user // opens it before runing it from the find panel, @@ -705,7 +709,8 @@ FindPanel::FindPanel(BRect frame, BFile* node, FindWindow* parent, rect.right = rect.left + 150; fMimeTypeField = new BMenuField(rect, "MimeTypeMenu", "", fMimeTypeMenu); fMimeTypeField->SetDivider(0.0f); - fMimeTypeField->MenuItem()->SetLabel(B_TRANSLATE("All files and folders")); + fMimeTypeField->MenuItem()->SetLabel( + B_TRANSLATE("All files and folders")); AddChild(fMimeTypeField); // add popup for search criteria @@ -731,7 +736,7 @@ FindPanel::FindPanel(BRect frame, BFile* node, FindWindow* parent, rect.right = bounds.right - 15; rect.left = rect.right - 100; fVolMenu = new BPopUpMenu("", false, false); // don't radioMode - menuField = new BMenuField(rect, "", B_TRANSLATE("On"), fVolMenu); + menuField = new BMenuField(rect, "", B_TRANSLATE("On"), fVolMenu); menuField->SetDivider(menuField->StringWidth(menuField->Label()) + 8); AddChild(menuField); AddVolumes(fVolMenu); @@ -853,12 +858,14 @@ FindPanel::AttachedToWindow() if (!Window()->CurrentFocus()) { // try to pick a good focus if we restore to one already - BTextControl* textControl = dynamic_cast(FindView("TextControl")); + BTextControl* textControl + = dynamic_cast(FindView("TextControl")); if (!textControl) { // pick the last text control in the attribute view BString title("TextEntry"); title << (fAttrViewList.CountItems() - 1); - textControl = dynamic_cast(FindView(title.String())); + textControl + = dynamic_cast(FindView(title.String())); } if (textControl) textControl->MakeFocus(); @@ -982,7 +989,7 @@ FindPanel::ShowVolumeMenuLabel() if (countSelected == 0) { // no disk selected, for now revert to search all disks - // TODO: + // ToDo: // show no disks here and add a check that will not let the // query go if the user doesn't pick at least one fVolMenu->ItemAt(0)->SetMarked(true); @@ -1295,7 +1302,8 @@ FindPanel::BuildAttrQuery(BQuery* query, bool &dynamicDate) const case B_FLOAT_TYPE: { float floatVal; - sscanf(textControl->TextView()->Text(), "%f", &floatVal); + sscanf(textControl->TextView()->Text(), "%f", + &floatVal); query->PushFloat(floatVal); break; } @@ -1303,7 +1311,8 @@ FindPanel::BuildAttrQuery(BQuery* query, bool &dynamicDate) const case B_DOUBLE_TYPE: { double doubleVal; - sscanf(textControl->TextView()->Text(), "%lf", &doubleVal); + sscanf(textControl->TextView()->Text(), "%lf", + &doubleVal); query->PushDouble(doubleVal); break; } @@ -1428,7 +1437,7 @@ FindPanel::GetByNamePredicate(BQuery* query) const query->PushString(textControl->TextView()->Text(), true); if (strstr(textControl->TextView()->Text(), "*")) { - // assume pattern is a regular expression and try doing an exact match + // assume pattern is a regular expression, try doing an exact match query->PushOp(B_EQ); } else query->PushOp(B_CONTAINS); @@ -1452,6 +1461,7 @@ FindPanel::SwitchMode(uint32 mode) switch (mode) { case kByFormulaItem: + { if (oldMode == kByAttributeItem || oldMode == kByNameItem) { BQuery query; if (oldMode == kByAttributeItem) { @@ -1462,56 +1472,54 @@ FindPanel::SwitchMode(uint32 mode) query.GetPredicate(&buffer); } - // fall thru - + } // fall thru case kByNameItem: - { - fMode = mode; - Window()->ResizeTo(Window()->Frame().Width(), - ViewHeightForMode(mode, fLatch->Value() != 0)); - BRect bounds(Bounds()); - bounds.InsetBy(15, 30); - bounds.bottom -= 10; - if (fLatch->Value()) - bounds.bottom -= kMoreOptionsDelta; - box->ResizeTo(bounds.Width(), BoxHeightForMode(mode, - fLatch->Value() != 0)); + { + fMode = mode; + Window()->ResizeTo(Window()->Frame().Width(), + ViewHeightForMode(mode, fLatch->Value() != 0)); + BRect bounds(Bounds()); + bounds.InsetBy(15, 30); + bounds.bottom -= 10; + if (fLatch->Value()) + bounds.bottom -= kMoreOptionsDelta; + box->ResizeTo(bounds.Width(), BoxHeightForMode(mode, + fLatch->Value() != 0)); - RemoveByAttributeItems(); - ShowOrHideMimeTypeMenu(); - AddByNameOrFormulaItems(); + RemoveByAttributeItems(); + ShowOrHideMimeTypeMenu(); + AddByNameOrFormulaItems(); - if (buffer.Length()) { - ASSERT(mode == kByFormulaItem - || oldMode == kByAttributeItem); - BTextControl* textControl = dynamic_cast - (FindView("TextControl")); - textControl->SetText(buffer.String()); - } - break; + if (buffer.Length()) { + ASSERT(mode == kByFormulaItem + || oldMode == kByAttributeItem); + BTextControl* textControl + = dynamic_cast(FindView("TextControl")); + textControl->SetText(buffer.String()); } + break; + } case kByAttributeItem: - { - fMode = mode; - box->ResizeTo(box->Bounds().Width(), - BoxHeightForMode(mode, fLatch->Value() != 0)); + { + fMode = mode; + box->ResizeTo(box->Bounds().Width(), + BoxHeightForMode(mode, fLatch->Value() != 0)); - Window()->ResizeTo(Window()->Frame().Width(), - ViewHeightForMode(mode, fLatch->Value() != 0)); + Window()->ResizeTo(Window()->Frame().Width(), + ViewHeightForMode(mode, fLatch->Value() != 0)); - BTextControl* textControl = dynamic_cast - (FindView("TextControl")); - - if (textControl) { - textControl->RemoveSelf(); - delete textControl; - } - - ShowOrHideMimeTypeMenu(); - AddAttrView(); - break; + BTextControl* textControl + = dynamic_cast(FindView("TextControl")); + if (textControl) { + textControl->RemoveSelf(); + delete textControl; } + + ShowOrHideMimeTypeMenu(); + AddAttrView(); + break; + } } } @@ -2206,8 +2214,8 @@ FindPanel::RestoreWindowState(const BNode* node) FillCurrentQueryName(fQueryName, dynamic_cast(Window())); // set modification message after checking the temporary check box, - // and filling out the text control so that we do not - // always trigger clearing of the temporary check box. + // and filling out the text control so that we do not always trigger + // clearing of the temporary check box. fQueryName->SetModificationMessage( new BMessage(kNameModifiedMessage)); } @@ -2227,8 +2235,8 @@ FindPanel::RestoreWindowState(const BNode* node) BVolume volume; // match a volume with the info embedded in // the message - status_t result = MatchArchivedVolume(&volume, &message, - index); + status_t result + = MatchArchivedVolume(&volume, &message, index); if (result == B_OK) { char name[256]; volume.GetName(name); diff --git a/src/kits/tracker/FindPanel.h b/src/kits/tracker/FindPanel.h index a858e5d45f..bffffc1fc0 100644 --- a/src/kits/tracker/FindPanel.h +++ b/src/kits/tracker/FindPanel.h @@ -129,8 +129,8 @@ class FindWindow : public BWindow { { return fFile; } const char* QueryName() const; - // reads in the query name from either a saved name in a template or - // form a saved query name + // reads in the query name from either a saved name in a template + // or form a saved query name static bool IsQueryTemplate(BNode* file); @@ -140,7 +140,8 @@ class FindWindow : public BWindow { private: static BFile* TryOpening(const entry_ref* ref); static void GetDefaultQuery(BEntry &entry); - // when opening an empty panel, use the default query to set the panel up + // when opening an empty panel, use the default query to set the + // panel up void SaveQueryAttributes(BNode* file, bool templateQuery); void Find(); @@ -242,10 +243,12 @@ class FindPanel : public BView { void RemoveByAttributeItems(); void RemoveAttrViewItems(); void ShowOrHideMimeTypeMenu(); - // MimeTypeWindow is only shown in kByNameItem and kByAttributeItem modes + // MimeTypeWindow is only shown in kByNameItem and + // kByAttributeItem modes void ShowOrHideMoreOptions(bool show); - // fMode gets set by this and the call relies on it being up-to-date + // fMode gets set by this and the call relies on it being + // up-to-date static int32 InitialAttrCount(const BNode*); void FillCurrentQueryName(BTextControl*, FindWindow*); void AddByNameOrFormulaItems(); @@ -348,7 +351,8 @@ class DeleteTransientQueriesTask { class RecentFindItemsMenu : public BMenu { public: - RecentFindItemsMenu(const char* title, const BMessenger* target, uint32 what); + RecentFindItemsMenu(const char* title, const BMessenger* target, + uint32 what); protected: virtual void AttachedToWindow(); @@ -362,8 +366,9 @@ class RecentFindItemsMenu : public BMenu { class DraggableQueryIcon : public DraggableIcon { // query/query template drag&drop helper public: - DraggableQueryIcon(BRect frame, const char* name, const BMessage* message, - BMessenger target, uint32 resizeFlags = B_FOLLOW_LEFT | B_FOLLOW_TOP, + DraggableQueryIcon(BRect frame, const char* name, + const BMessage* message, BMessenger target, + uint32 resizeFlags = B_FOLLOW_LEFT | B_FOLLOW_TOP, uint32 flags = B_WILL_DRAW); protected: diff --git a/src/kits/tracker/FunctionObject.h b/src/kits/tracker/FunctionObject.h index 0e8241a18e..9b53ae7a6f 100644 --- a/src/kits/tracker/FunctionObject.h +++ b/src/kits/tracker/FunctionObject.h @@ -252,9 +252,11 @@ private: template -class ThreeParamFunctionObjectWithResult : public FunctionObjectWithResult { +class ThreeParamFunctionObjectWithResult : public + FunctionObjectWithResult { public: - ThreeParamFunctionObjectWithResult(Result (*callThis)(Param1, Param2, Param3), + ThreeParamFunctionObjectWithResult( + Result (*callThis)(Param1, Param2, Param3), Param1 p1, Param2 p2, Param3 p3) : function(callThis), p1(p1), @@ -300,10 +302,13 @@ private: }; -template -class FourParamFunctionObjectWithResult : public FunctionObjectWithResult { +template +class FourParamFunctionObjectWithResult : public + FunctionObjectWithResult { public: - FourParamFunctionObjectWithResult(Result (*callThis)(Param1, Param2, Param3, Param4), + FourParamFunctionObjectWithResult( + Result (*callThis)(Param1, Param2, Param3, Param4), Param1 p1, Param2 p2, Param3 p3, Param4 p4) : function(callThis), p1(p1), @@ -369,7 +374,8 @@ private: template -class PlainMemberFunctionObjectWithResult : public FunctionObjectWithResult { +class PlainMemberFunctionObjectWithResult : public + FunctionObjectWithResult { public: PlainMemberFunctionObjectWithResult(R (T::*function)(), T* onThis) : function(function), @@ -390,7 +396,8 @@ private: template class SingleParamMemberFunctionObject : public FunctionObject { public: - SingleParamMemberFunctionObject(void (T::*function)(Param1), T* onThis, Param1 p1) + SingleParamMemberFunctionObject(void (T::*function)(Param1), + T* onThis, Param1 p1) : function(function), target(onThis), p1(p1) @@ -410,8 +417,8 @@ private: template class TwoParamMemberFunctionObject : public FunctionObject { public: - TwoParamMemberFunctionObject(void (T::*function)(Param1, Param2), T* onThis, - Param1 p1, Param2 p2) + TwoParamMemberFunctionObject(void (T::*function)(Param1, Param2), + T* onThis, Param1 p1, Param2 p2) : function(function), target(onThis), p1(p1), @@ -432,10 +439,11 @@ protected: template -class SingleParamMemberFunctionObjectWithResult : public FunctionObjectWithResult { +class SingleParamMemberFunctionObjectWithResult : public + FunctionObjectWithResult { public: - SingleParamMemberFunctionObjectWithResult(R (T::*function)(Param1), T* onThis, - Param1 p1) + SingleParamMemberFunctionObjectWithResult(R (T::*function)(Param1), + T* onThis, Param1 p1) : function(function), target(onThis), p1(p1) @@ -443,7 +451,8 @@ public: } virtual void operator()() - { FunctionObjectWithResult::result = (target->*function)(p1.Pass()); } + { FunctionObjectWithResult::result + = (target->*function)(p1.Pass()); } protected: R (T::*function)(Param1); @@ -453,10 +462,11 @@ protected: template -class TwoParamMemberFunctionObjectWithResult : public FunctionObjectWithResult { +class TwoParamMemberFunctionObjectWithResult : public + FunctionObjectWithResult { public: - TwoParamMemberFunctionObjectWithResult(R (T::*function)(Param1, Param2), T* onThis, - Param1 p1, Param2 p2) + TwoParamMemberFunctionObjectWithResult(R (T::*function)(Param1, Param2), + T* onThis, Param1 p1, Param2 p2) : function(function), target(onThis), p1(p1), @@ -505,7 +515,8 @@ ThreeParamFunctionObject* NewFunctionObject(void (*function)(Param1, Param2, Param3), Param1 p1, Param2 p2, Param3 p3) { - return new ThreeParamFunctionObject(function, p1, p2, p3); + return new ThreeParamFunctionObject + (function, p1, p2, p3); } @@ -521,7 +532,8 @@ template SingleParamMemberFunctionObject* NewMemberFunctionObject(void (T::*function)(Param1), T* onThis, Param1 p1) { - return new SingleParamMemberFunctionObject(function, onThis, p1); + return new SingleParamMemberFunctionObject + (function, onThis, p1); } @@ -530,8 +542,8 @@ TwoParamMemberFunctionObject* NewMemberFunctionObject(void (T::*function)(Param1, Param2), T* onThis, Param1 p1, Param2 p2) { - return new TwoParamMemberFunctionObject(function, onThis, - p1, p2); + return new TwoParamMemberFunctionObject + (function, onThis, p1, p2); } @@ -550,7 +562,8 @@ PlainLockingMemberFunctionObject* NewLockingMemberFunctionObject(void (HandlerOrSubclass::*function)(), HandlerOrSubclass* onThis) { - return new PlainLockingMemberFunctionObject(function, onThis); + return new PlainLockingMemberFunctionObject + (function, onThis); } } // namespace BPrivate diff --git a/src/kits/tracker/GroupedMenu.h b/src/kits/tracker/GroupedMenu.h index 908eac88ae..2a40f7eb62 100644 --- a/src/kits/tracker/GroupedMenu.h +++ b/src/kits/tracker/GroupedMenu.h @@ -58,7 +58,8 @@ class TGroupedMenu : public BMenu { private: friend class TMenuItemGroup; - void AddGroupItem(TMenuItemGroup* group, BMenuItem* item, int32 atIndex); + void AddGroupItem(TMenuItemGroup* group, BMenuItem* item, + int32 atIndex); void RemoveGroupItem(TMenuItemGroup* group, BMenuItem* item); private: diff --git a/src/kits/tracker/IconMenuItem.h b/src/kits/tracker/IconMenuItem.h index 2dc0ee1292..98ab41dbc4 100644 --- a/src/kits/tracker/IconMenuItem.h +++ b/src/kits/tracker/IconMenuItem.h @@ -52,11 +52,12 @@ const bigtime_t kSynchMenuInvokeTimeout = 5000000; class IconMenuItem : public PositionPassingMenuItem { public: IconMenuItem(const char* label, BMessage* message, BBitmap* icon); - IconMenuItem(const char* label, BMessage* message, const char* iconType, - icon_size which); + IconMenuItem(const char* label, BMessage* message, + const char* iconType, icon_size which); IconMenuItem(const char* label, BMessage* message, const BNodeInfo* nodeInfo, icon_size which); - IconMenuItem(BMenu*, BMessage*, const char* iconType, icon_size which); + IconMenuItem(BMenu*, BMessage*, const char* iconType, + icon_size which); virtual ~IconMenuItem(); virtual void GetContentSize(float* width, float* height); @@ -72,9 +73,11 @@ class IconMenuItem : public PositionPassingMenuItem { class ModelMenuItem : public BMenuItem { public: - ModelMenuItem(const Model*, const char* title, BMessage*, char shortcut = '\0', - uint32 modifiers = 0, bool drawText = true, bool extraPad = false); - ModelMenuItem(const Model*, BMenu*, bool drawText = true, bool extraPad = false); + ModelMenuItem(const Model*, const char* title, BMessage*, + char shortcut = '\0', uint32 modifiers = 0, + bool drawText = true, bool extraPad = false); + ModelMenuItem(const Model*, BMenu*, bool drawText = true, + bool extraPad = false); virtual ~ModelMenuItem(); virtual status_t SetEntry(const BEntry*); diff --git a/src/kits/tracker/InfoWindow.h b/src/kits/tracker/InfoWindow.h index 4f13a2a15f..4575e1446e 100644 --- a/src/kits/tracker/InfoWindow.h +++ b/src/kits/tracker/InfoWindow.h @@ -55,7 +55,8 @@ class AttributeView; class BInfoWindow : public BWindow { public: - BInfoWindow(Model*, int32 groupIndex, LockingList* list = NULL); + BInfoWindow(Model*, int32 groupIndex, + LockingList* list = NULL); ~BInfoWindow(); virtual bool IsShowing(const node_ref*) const; @@ -64,7 +65,8 @@ class BInfoWindow : public BWindow { bool StopCalc(); void OpenFilePanel(const entry_ref*); - static void GetSizeString(BString &result, off_t size, int32 fileCount); + static void GetSizeString(BString &result, off_t size, + int32 fileCount); protected: virtual void Quit(); diff --git a/src/kits/tracker/PoseView.h b/src/kits/tracker/PoseView.h index 81e3b3de18..872a9d2b8f 100644 --- a/src/kits/tracker/PoseView.h +++ b/src/kits/tracker/PoseView.h @@ -104,7 +104,8 @@ const uint32 kCheckTypeahead = 'Tcty'; class BPoseView : public BView { public: - BPoseView(Model*, BRect, uint32 viewMode, uint32 resizeMask = B_FOLLOW_ALL); + BPoseView(Model*, BRect, uint32 viewMode, + uint32 resizeMask = B_FOLLOW_ALL); virtual ~BPoseView(); // setup, teardown @@ -113,8 +114,8 @@ class BPoseView : public BView { void InitCommon(); virtual void DetachedFromWindow(); - // Returns true if for instance, node ref is a remote desktop directory and - // this is a desktop pose view. + // Returns true if for instance, node ref is a remote desktop + // directory and this is a desktop pose view. virtual bool Represents(const node_ref*) const; virtual bool Represents(const entry_ref*) const; @@ -151,9 +152,9 @@ class BPoseView : public BView { virtual void SwitchDir(const entry_ref*, AttributeStreamNode* node = NULL); - // in the rare cases where a pose view needs to be explicitly refreshed - // (for instance in a query window with a dynamic date query), this is - // used + // in the rare cases where a pose view needs to be explicitly + // refreshed (for instance in a query window with a dynamic + // date query), this is used virtual void Refresh(); // callbacks @@ -228,7 +229,8 @@ class BPoseView : public BView { icon_size IconSize() const; BRect Extent() const; - void GetLayoutInfo(uint32 viewMode, BPoint* grid, BPoint* offset) const; + void GetLayoutInfo(uint32 viewMode, BPoint* grid, + BPoint* offset) const; int32 CountItems() const; void UpdateCount(); @@ -250,8 +252,8 @@ class BPoseView : public BView { BPoint ResizeColumn(BColumn*, float, float* lastLineDrawPos = NULL, void (*drawLineFunc)(BPoseView*, BPoint, BPoint) = 0, void (*undrawLineFunc)(BPoseView*, BPoint, BPoint) = 0); - // returns the bottom right of the last pose drawn or bottom right of - // bounds + // returns the bottom right of the last pose drawn or + // the bottom right of bounds BColumn* ColumnAt(int32 index) const; BColumn* ColumnFor(uint32 attribute_hash) const; @@ -265,14 +267,16 @@ class BPoseView : public BView { BPose* PoseAtIndex(int32 index) const; BPose* FindPose(BPoint where, int32* index = NULL) const; - // return pose at location h, v (search list starting from bottom so - // drawing and hit detection reflect the same pose ordering) + // return pose at location h, v (search list starting from + // bottom so drawing and hit detection reflect the same pose + // ordering) BPose* FindPose(const Model*, int32* index = NULL) const; BPose* FindPose(const node_ref*, int32* index = NULL) const; BPose* FindPose(const entry_ref*, int32* index = NULL) const; - BPose* FindPose(const entry_ref*, int32 specifierForm, int32* index) const; - // special form of FindPose used for scripting, may - // ask for previous or next pose + BPose* FindPose(const entry_ref*, int32 specifierForm, + int32* index) const; + // special form of FindPose used for scripting, + // may ask for previous or next pose BPose* DeepFindPose(const node_ref* node, int32* index = NULL) const; // same as FindPose, node can be a target of the actual // pose if the pose is a symlink @@ -284,17 +288,22 @@ class BPoseView : public BView { void UnmountSelectedVolumes(); virtual void OpenParent(); - virtual void OpenSelection(BPose* clicked_pose = NULL, int32* index = NULL); - void OpenSelectionUsing(BPose* clicked_pose = NULL, int32* index = NULL); + virtual void OpenSelection(BPose* clicked_pose = NULL, + int32* index = NULL); + void OpenSelectionUsing(BPose* clicked_pose = NULL, + int32* index = NULL); // launches the open with window virtual void MoveSelectionTo(BPoint, BPoint, BContainerWindow*); - void DuplicateSelection(BPoint* dropStart = NULL, BPoint* dropEnd = NULL); + void DuplicateSelection(BPoint* dropStart = NULL, + BPoint* dropEnd = NULL); - // Move to trash calls try to select the next pose in the view when they - // are dones + // Move to trash calls try to select the next pose in the view + // when they are dones virtual void MoveSelectionToTrash(bool selectNext = true); - virtual void DeleteSelection(bool selectNext = true, bool askUser = true); - virtual void MoveEntryToTrash(const entry_ref*, bool selectNext = true); + virtual void DeleteSelection(bool selectNext = true, + bool askUser = true); + virtual void MoveEntryToTrash(const entry_ref*, + bool selectNext = true); void RestoreSelectionFromTrash(bool selectNext = true); @@ -306,7 +315,8 @@ class BPoseView : public BView { void ShowSelectionWindow(); void ClearSelection(); void ShowSelection(bool); - void AddRemovePoseFromSelection(BPose* pose, int32 index, bool select); + void AddRemovePoseFromSelection(BPose* pose, int32 index, + bool select); BLooper* SelectionHandler(); void SetSelectionHandler(BLooper*); @@ -339,7 +349,8 @@ class BPoseView : public BView { inline bool HasPosesInClipboard(); inline void SetHasPosesInClipboard(bool hasPoses); void SetPosesClipboardMode(uint32 clipboardMode); - void UpdatePosesClipboardModeFromClipboard(BMessage* clipboardReport = NULL); + void UpdatePosesClipboardModeFromClipboard( + BMessage* clipboardReport = NULL); // filtering void SetRefFilter(BRefFilter*); @@ -353,21 +364,25 @@ class BPoseView : public BView { // drag&drop handling virtual bool HandleMessageDropped(BMessage*); - static bool HandleDropCommon(BMessage* dragMessage, Model* target, BPose*, - BView* view, BPoint dropPt); + static bool HandleDropCommon(BMessage* dragMessage, Model* target, + BPose*, BView* view, BPoint dropPt); // used by pose views and info windows static bool CanHandleDragSelection(const Model* target, const BMessage* dragMessage, bool ignoreTypes); virtual void DragSelectedPoses(const BPose* clickedPose, BPoint); void MoveSelectionInto(Model* destFolder, BContainerWindow* srcWindow, - bool forceCopy, bool forceMove = false, bool createLink = false, bool relativeLink = false); - static void MoveSelectionInto(Model* destFolder, BContainerWindow* srcWindow, - BContainerWindow* destWindow, uint32 buttons, BPoint loc, - bool forceCopy, bool forceMove = false, bool createLink = false, bool relativeLink = false, - BPoint clickPt = BPoint(0, 0), bool pinToGrid = false); + bool forceCopy, bool forceMove = false, bool createLink = false, + bool relativeLink = false); + static void MoveSelectionInto(Model* destFolder, + BContainerWindow* srcWindow, BContainerWindow* destWindow, + uint32 buttons, BPoint loc, bool forceCopy, + bool forceMove = false, bool createLink = false, + bool relativeLink = false, BPoint clickPt = BPoint(0, 0), + bool pinToGrid = false); - bool UpdateDropTarget(BPoint, const BMessage*, bool trackingContextMenu); + bool UpdateDropTarget(BPoint, const BMessage*, + bool trackingContextMenu); // return true if drop target changed void HiliteDropTarget(bool hiliteState); @@ -390,7 +405,8 @@ class BPoseView : public BView { // easy to have the right StringWidth picked up by // template instantiation, as used by WidgetAttributeText - // show/hide barberpole while a background task is filling up the view, etc. + // show/hide barberpole while a background task is filling + // up the view, etc. void ShowBarberPole(); void HideBarberPole(); @@ -423,7 +439,8 @@ class BPoseView : public BView { // create a new folder, optionally specify a location void NewFileFromTemplate(const BMessage*); - // create a new file based on a template, optionally specify a location + // create a new file based on a template, optionally specify + // a location void ShowContextMenu(BPoint); @@ -434,7 +451,8 @@ class BPoseView : public BView { bool GetProperty(BMessage*, int32, const char*, BMessage*); bool CreateProperty(BMessage* message, BMessage* specifier, int32, const char*, BMessage* reply); - bool ExecuteProperty(BMessage* specifier, int32, const char*, BMessage* reply); + bool ExecuteProperty(BMessage* specifier, int32, const char*, + BMessage* reply); bool CountProperty(BMessage*, int32, const char*, BMessage*); bool DeleteProperty(BMessage*, int32, const char*, BMessage*); @@ -448,16 +466,18 @@ class BPoseView : public BView { void _CheckPoseSortOrder(PoseList* list, BPose*, int32 index); // pose creation - BPose* EntryCreated(const node_ref*, const node_ref*, const char*, int32* index = 0); + BPose* EntryCreated(const node_ref*, const node_ref*, const char*, + int32* index = 0); - void AddPoseToList(PoseList* list, bool visibleList, bool insertionSort, - BPose* pose, BRect&viewBounds, float&listViewScrollBy, - bool forceDraw, int32* indexPtr = NULL); + void AddPoseToList(PoseList* list, bool visibleList, + bool insertionSort, BPose* pose, BRect&viewBounds, + float& listViewScrollBy, bool forceDraw, int32* indexPtr = NULL); BPose* CreatePose(Model*, PoseInfo*, bool insertionSort = true, int32* index = 0, BRect* boundsPtr = 0, bool forceDraw = true); - virtual void CreatePoses(Model**models, PoseInfo* poseInfoArray, int32 count, - BPose**resultingPoses, bool insertionSort = true, int32* lastPoseIndexPtr = 0, - BRect* boundsPtr = 0, bool forceDraw = false); + virtual void CreatePoses(Model**models, PoseInfo* poseInfoArray, + int32 count, BPose** resultingPoses, bool insertionSort = true, + int32* lastPoseIndexPtr = 0, BRect* boundsPtr = 0, + bool forceDraw = false); virtual bool ShouldShowPose(const Model*, const PoseInfo*); // filter, subclasses override to control which poses show up // subclasses should always call inherited @@ -468,28 +488,29 @@ class BPoseView : public BView { virtual bool AddPosesThreadValid(const entry_ref*) const; // verifies whether or not the current set of AddPoses threads // are valid and allowed to be adding poses -- returns false - // in the case where the directory has been switched while populating - // the view + // in the case where the directory has been switched while + // populating the view virtual void AddPoses(Model* model = NULL); - // if is zero, PoseView has other means of iterating through all - // the entries thaat it adds + // if is zero, PoseView has other means of iterating + // through all the entries thaat it adds virtual void AddRootPoses(bool watchIndividually, bool mountShared); - // watchIndividually is used when placing a volume pose onto the Desktop - // where unlike in the Root window it will not be watched by the folder - // representing root. If set, each volume will therefore be watched - // individually + // watchIndividually is used when placing a volume pose onto + // the Desktop where unlike in the Root window it will not be + // watched by the folder representing root. If set, each volume + // will therefore be watched individually virtual void RemoveRootPoses(); virtual void AddTrashPoses(); - virtual bool DeletePose(const node_ref*, BPose* pose = NULL, int32 index = 0); - virtual void DeleteSymLinkPoseTarget(const node_ref* itemNode, BPose* pose, - int32 index); + virtual bool DeletePose(const node_ref*, BPose* pose = NULL, + int32 index = 0); + virtual void DeleteSymLinkPoseTarget(const node_ref* itemNode, + BPose* pose, int32 index); // the pose itself wasn't deleted but it's target node was - the // pose must be a symlink - static void PoseHandleDeviceUnmounted(BPose* pose, Model* model, int32 index, - BPoseView* poseView, dev_t device); + static void PoseHandleDeviceUnmounted(BPose* pose, Model* model, + int32 index, BPoseView* poseView, dev_t device); static void RemoveNonBootDesktopModels(BPose*, Model* model, int32, BPoseView* poseView, dev_t); @@ -497,7 +518,8 @@ class BPoseView : public BView { void CheckAutoPlacedPoses(); // find poses that need placing and place them in a new spot void PlacePose(BPose*, BRect&); - // find a new place for a pose, starting at fHintLocation and place it + // find a new place for a pose, starting at fHintLocation + // and place it bool IsValidLocation(const BPose* pose); bool IsValidLocation(const BRect& rect); status_t GetDeskbarFrame(BRect* frame); @@ -539,14 +561,15 @@ class BPoseView : public BView { virtual void StopWatching(); status_t WatchNewNode(const node_ref* item); - // the above would ideally be the only call of these three and it would - // be a virtual, overriding the specific watch mask in query pose view, etc. - // however we need to call WatchNewNode from inside AddPosesTask while - // the window is unlocked - we have to use the static and a cached - // messenger and masks. + // the above would ideally be the only call of these three and + // it would be a virtual, overriding the specific watch mask in + // query pose view, etc. however we need to call WatchNewNode + // from inside AddPosesTask while the window is unlocked - we + // have to use the static and a cached messenger and masks. static status_t WatchNewNode(const node_ref*, uint32, BMessenger); virtual uint32 WatchNewNodeMask(); - // override to change different watch modes for query pose view, etc. + // override to change different watch modes for query pose + // view, etc. // drag&drop handling static bool EachItemInDraggedSelection(const BMessage* message, @@ -556,21 +579,25 @@ class BPoseView : public BView { // window of the current drag message; locks the window // add const version BRect GetDragRect(int32 clickedPoseIndex); - BBitmap* MakeDragBitmap(BRect dragRect, BPoint clickedPoint, int32 clickedPoseIndex, BPoint&offset); - static bool FindDragNDropAction(const BMessage* dragMessage, bool&canCopy, - bool&canMove, bool&canLink, bool&canErase); + BBitmap* MakeDragBitmap(BRect dragRect, BPoint clickedPoint, + int32 clickedPoseIndex, BPoint&offset); + static bool FindDragNDropAction(const BMessage* dragMessage, + bool&canCopy, bool&canMove, bool&canLink, bool&canErase); static bool CanTrashForeignDrag(const Model*); static bool CanCopyOrMoveForeignDrag(const Model*, const BMessage*); - static bool DragSelectionContains(const BPose* target, const BMessage* dragMessage); + static bool DragSelectionContains(const BPose* target, + const BMessage* dragMessage); static status_t CreateClippingFile(BPoseView* poseView, BFile&result, - char* resultingName, BDirectory* dir, BMessage* message, const char* fallbackName, - bool setLocation = false, BPoint dropPoint = BPoint(0, 0)); + char* resultingName, BDirectory* dir, BMessage* message, + const char* fallbackName, bool setLocation = false, + BPoint dropPoint = BPoint(0, 0)); // opening files, lanunching void OpenSelectionCommon(BPose*, int32*, bool); // used by OpenSelection and OpenSelectionUsing - static void LaunchAppWithSelection(Model*, const BMessage*, bool checkTypes = true); + static void LaunchAppWithSelection(Model*, const BMessage*, + bool checkTypes = true); // node monitoring calls virtual bool EntryMoved(const BMessage*); @@ -585,7 +612,8 @@ class BPoseView : public BView { // selection void SelectPosesListMode(BRect, BList**); void SelectPosesIconMode(BRect, BList**); - void AddRemoveSelectionRange(BPoint where, bool extendSelection, BPose*); + void AddRemoveSelectionRange(BPoint where, bool extendSelection, + BPose*); void _BeginSelectionRect(const BPoint& point, bool extendSelection); void _UpdateSelectionRect(const BPoint& point); @@ -637,10 +665,11 @@ class BPoseView : public BView { PoseList* CurrentPoseList() const; // misc - BList* GetDropPointList(BPoint dropPoint, BPoint startPoint, const PoseList*, - bool sourceInListMode, bool dropOnGrid) const; + BList* GetDropPointList(BPoint dropPoint, BPoint startPoint, + const PoseList*, bool sourceInListMode, bool dropOnGrid) const; void SendSelectionAsRefs(uint32 what, bool onlyQueries = false); - void MoveListToTrash(BObjectList*, bool selectNext, bool deleteDirectly); + void MoveListToTrash(BObjectList*, bool selectNext, + bool deleteDirectly); void Delete(BObjectList*, bool selectNext, bool askUser); void Delete(const entry_ref&ref, bool selectNext, bool askUser); void RestoreItemsFromTrash(BObjectList*, bool selectNext); @@ -779,226 +808,265 @@ class TPoseViewFilter : public BMessageFilter { extern bool -ClearViewOriginOne(const char* name, uint32 type, off_t size, void* data, void* params); +ClearViewOriginOne(const char* name, uint32 type, off_t size, void* data, + void* params); + // inlines follow + inline BContainerWindow* BPoseView::ContainerWindow() const { return dynamic_cast(Window()); } + inline Model* BPoseView::TargetModel() const { return fModel; } + inline float BPoseView::ListElemHeight() const { return fListElemHeight; } + inline float BPoseView::IconPoseHeight() const { return fIconPoseHeight; } + inline uint32 BPoseView::IconSizeInt() const { return fViewState->IconSize(); } + inline icon_size BPoseView::IconSize() const { return (icon_size)fViewState->IconSize(); } + inline PoseList* BPoseView::SelectionList() const { return fSelectionList; } + inline BObjectList* BPoseView::MimeTypesInSelection() { return&fMimeTypesInSelectionCache; } + inline BHScrollBar* BPoseView::HScrollBar() const { return fHScrollBar; } + inline BScrollBar* BPoseView::VScrollBar() const { return fVScrollBar; } + inline BCountView* BPoseView::CountView() const { return fCountView; } + inline bool BPoseView::StateNeedsSaving() { return fStateNeedsSaving || fViewState->StateNeedsSaving(); } + inline uint32 BPoseView::ViewMode() const { return fViewState->ViewMode(); } + inline font_height BPoseView::FontInfo() const { return sFontInfo; } + inline float BPoseView::FontHeight() const { return sFontHeight; } + inline BPose* BPoseView::ActivePose() const { return fActivePose; } + inline void BPoseView::DisableSaveLocation() { fSavePoseLocations = false; } + inline bool BPoseView::IsFilePanel() const { return false; } + inline bool BPoseView::IsDesktopWindow() const { return fIsDesktopWindow; } + inline bool BPoseView::IsDesktopView() const { return false; } + inline uint32 BPoseView::PrimarySort() const { return fViewState->PrimarySort(); } + inline uint32 BPoseView::PrimarySortType() const { return fViewState->PrimarySortType(); } + inline uint32 BPoseView::SecondarySort() const { return fViewState->SecondarySort(); } + inline uint32 BPoseView::SecondarySortType() const { return fViewState->SecondarySortType(); } + inline bool BPoseView::ReverseSort() const { return fViewState->ReverseSort(); } + inline void BPoseView::SetShowHideSelection(bool on) { fShowHideSelection = on; } + inline void BPoseView::SetIconMapping(bool on) { fOkToMapIcons = on; } + inline void BPoseView::AddToExtent(const BRect&rect) { fExtent = fExtent | rect; } + inline void BPoseView::ClearExtent() { fExtent.Set(LONG_MAX, LONG_MAX, LONG_MIN, LONG_MIN); } + inline int32 BPoseView::CountColumns() const { return fColumnList->CountItems(); } + inline int32 BPoseView::IndexOfColumn(const BColumn* column) const { return fColumnList->IndexOf(const_cast(column)); } + inline int32 BPoseView::IndexOfPose(const BPose* pose) const { return CurrentPoseList()->IndexOf(pose); } + inline BPose* BPoseView::PoseAtIndex(int32 index) const { return CurrentPoseList()->ItemAt(index); } + inline BColumn* BPoseView::ColumnAt(int32 index) const { return fColumnList->ItemAt(index); } + inline BColumn* BPoseView::FirstColumn() const { return fColumnList->FirstItem(); } + inline BColumn* BPoseView::LastColumn() const { return fColumnList->LastItem(); } + inline int32 BPoseView::CountItems() const { @@ -1012,90 +1080,105 @@ BPoseView::SetMultipleSelection(bool state) fMultipleSelection = state; } + inline void BPoseView::SetSelectionChangedHook(bool state) { fSelectionChangedHook = state; } + inline void BPoseView::SetAutoScroll(bool state) { fShouldAutoScroll = state; } + inline void BPoseView::SetPoseEditing(bool state) { fAllowPoseEditing = state; } + inline void BPoseView::SetDragEnabled(bool state) { fDragEnabled = state; } + inline void BPoseView::SetDropEnabled(bool state) { fDropEnabled = state; } + inline void BPoseView::SetSelectionRectEnabled(bool state) { fSelectionRectEnabled = state; } + inline void BPoseView::SetAlwaysAutoPlace(bool state) { fAlwaysAutoPlace = state; } + inline void BPoseView::SetEnsurePosesVisible(bool state) { fEnsurePosesVisible = state; } + inline void BPoseView::SetSelectionHandler(BLooper* looper) { fSelectionHandler = looper; } + inline void BPoseView::SetRefFilter(BRefFilter* filter) { fRefFilter = filter; } + inline BRefFilter* BPoseView::RefFilter() const { return fRefFilter; } + inline void BHScrollBar::SetTitleView(BView* view) { fTitleView = view; } + inline BPose* BPoseView::FindPose(const Model* model, int32* index) const { return CurrentPoseList()->FindPose(model, index); } + inline BPose* BPoseView::FindPose(const node_ref* node, int32* index) const { return CurrentPoseList()->FindPose(node, index); } + inline BPose* BPoseView::FindPose(const entry_ref* entry, int32* index) const { diff --git a/src/kits/tracker/PoseViewScripting.cpp b/src/kits/tracker/PoseViewScripting.cpp index d668e6dd9a..0d87eb2ccd 100644 --- a/src/kits/tracker/PoseViewScripting.cpp +++ b/src/kits/tracker/PoseViewScripting.cpp @@ -63,12 +63,12 @@ All rights reserved. // and previous/next specifiers the current PoseView sort order is used. // If PoseView is not in list view mode, the order in which poses are indexed // is arbitrary. -// Both of these specifiers, but indices more so, are likely to be accurate only -// till a next change to the PoseView (a change may be adding, removing a pose, changing -// an attribute or stat resulting in a sort ordering change, changing the sort ordering -// rule. When getting a selected item, there is no guarantee that the item will still -// be selected after the operation. The client must be able to deal with these -// inaccuracies. +// Both of these specifiers, but indices more so, are likely to be accurate +// only untill a next change to the PoseView (a change may be adding, +// removing a pose, changing an attribute or stat resulting in a sort ordering +// change, changing the sort ordering rule. When getting a selected item, +// there is no guarantee that the item will still be selected after the +// operation. The client must be able to deal with these inaccuracies. // Specifying an index/entry_ref that no longer exists will be handled well. #if 0 @@ -128,7 +128,8 @@ const property_info kPosesPropertyList[] = { }, { kPropertyEntry, { B_GET_PROPERTY }, - { B_DIRECT_SPECIFIER, B_INDEX_SPECIFIER, kPreviousSpecifier, kNextSpecifier }, + { B_DIRECT_SPECIFIER, B_INDEX_SPECIFIER, kPreviousSpecifier, + kNextSpecifier }, "get Entry [next|previous|index] # returns specified entries", 0, { B_REF_TYPE }, @@ -156,7 +157,8 @@ const property_info kPosesPropertyList[] = { { kPropertySelection, { B_SET_PROPERTY }, { B_DIRECT_SPECIFIER, kPreviousSpecifier, kNextSpecifier }, - "set Selection of ... to {next|previous|entry} # selects specified entries", + "set Selection of ... to {next|previous|entry} # selects specified " + "entries", 0, {}, {}, @@ -191,7 +193,7 @@ const property_info kPosesPropertyList[] = { {}, {} }, - {NULL, + { NULL, {}, {}, NULL, 0, @@ -209,7 +211,8 @@ BPoseView::GetSupportedSuites(BMessage* _SCRIPTING_ONLY(data)) { #if _SUPPORTS_FEATURE_SCRIPTING data->AddString("suites", kPosesSuites); - BPropertyInfo propertyInfo(const_cast(kPosesPropertyList)); + BPropertyInfo propertyInfo( + const_cast(kPosesPropertyList)); data->AddFlat("messages", &propertyInfo); return _inherited::GetSupportedSuites(data); @@ -249,7 +252,8 @@ BPoseView::HandleScriptingMessage(BMessage* _SCRIPTING_ONLY(message)) switch (message->what) { case B_CREATE_PROPERTY: - handled = CreateProperty(message, &specifier, form, property, &reply); + handled = CreateProperty(message, &specifier, form, property, + &reply); break; case B_GET_PROPERTY: @@ -257,7 +261,8 @@ BPoseView::HandleScriptingMessage(BMessage* _SCRIPTING_ONLY(message)) break; case B_SET_PROPERTY: - handled = SetProperty(message, &specifier, form, property, &reply); + handled = SetProperty(message, &specifier, form, property, + &reply); break; case B_COUNT_PROPERTIES: @@ -302,7 +307,6 @@ BPoseView::ExecuteProperty(BMessage* _SCRIPTING_ONLY(specifier), for (int32 index = 0; specifier->FindRef("refs", index, &ref) == B_OK; index++) launchMessage.AddRef("refs", &ref); - } else if (form == (int32)B_INDEX_SPECIFIER) { // move all poses specified by index to Trash int32 specifyingIndex; @@ -323,7 +327,8 @@ BPoseView::ExecuteProperty(BMessage* _SCRIPTING_ONLY(specifier), if (error == B_OK) { // add a messenger to the launch message that will be used to // dispatch scripting calls from apps to the PoseView - launchMessage.AddMessenger("TrackerViewToken", BMessenger(this, 0, 0)); + launchMessage.AddMessenger("TrackerViewToken", + BMessenger(this, 0, 0)); if (fSelectionHandler) fSelectionHandler->PostMessage(&launchMessage); } @@ -413,8 +418,8 @@ BPoseView::DeleteProperty(BMessage* _SCRIPTING_ONLY(specifier), bool handled = false; if (strcmp(property, kPropertySelection) == 0) { - // deleting on a selection is handled as removing a part of the selection - // not to be confused with deleting a selected item + // deleting on a selection is handled as removing a part of the + // selection not to be confused with deleting a selected item if (form == (int32)B_ENTRY_SPECIFIER) { entry_ref ref; @@ -454,7 +459,7 @@ BPoseView::DeleteProperty(BMessage* _SCRIPTING_ONLY(specifier), } else if (strcmp(property, kPropertyEntry) == 0) { // deleting entries is handled by moving entries to trash - + // build a list of entries, specified by the specifier BObjectList* entryList = new BObjectList(); // list will be deleted for us by the trashing thread @@ -469,8 +474,8 @@ BPoseView::DeleteProperty(BMessage* _SCRIPTING_ONLY(specifier), } else if (form == (int32)B_INDEX_SPECIFIER) { // move all poses specified by index to Trash int32 specifyingIndex; - for (int32 index = 0; specifier->FindInt32("index", index, &specifyingIndex) - == B_OK; index++) { + for (int32 index = 0; specifier->FindInt32("index", index, + &specifyingIndex) == B_OK; index++) { BPose* pose = PoseAtIndex(specifyingIndex); if (!pose) { @@ -478,7 +483,8 @@ BPoseView::DeleteProperty(BMessage* _SCRIPTING_ONLY(specifier), break; } - entryList->AddItem(new entry_ref(*pose->TargetModel()->EntryRef())); + entryList->AddItem( + new entry_ref(*pose->TargetModel()->EntryRef())); } } else return false; @@ -486,8 +492,8 @@ BPoseView::DeleteProperty(BMessage* _SCRIPTING_ONLY(specifier), if (error == B_OK) { TrackerSettings settings; if (!settings.DontMoveFilesToTrash()) { - // move the list we build into trash, don't make the trashing task - // select the next item + // move the list we build into trash, don't make the + // trashing task select the next item MoveListToTrash(entryList, false, false); } else Delete(entryList, false, settings.AskBeforeDeleteFile()); @@ -507,12 +513,13 @@ BPoseView::DeleteProperty(BMessage* _SCRIPTING_ONLY(specifier), bool -BPoseView::CountProperty(BMessage*, int32, const char* _SCRIPTING_ONLY(property), +BPoseView::CountProperty(BMessage*, int32, + const char* _SCRIPTING_ONLY(property), BMessage* _SCRIPTING_ONLY(reply)) { #if _SUPPORTS_FEATURE_SCRIPTING bool handled = false; -// PRINT(("BPoseView::CountProperty, %s\n", property)); + //PRINT(("BPoseView::CountProperty, %s\n", property)); // just return the respecitve counts if (strcmp(property, kPropertySelection) == 0) { @@ -583,7 +590,8 @@ BPoseView::GetProperty(BMessage* _SCRIPTING_ONLY(specifier), } if (pose->IsSelected()) { - reply->AddRef("result", pose->TargetModel()->EntryRef()); + reply->AddRef("result", + pose->TargetModel()->EntryRef()); reply->AddInt32("index", IndexOfPose(pose)); break; } @@ -599,8 +607,10 @@ BPoseView::GetProperty(BMessage* _SCRIPTING_ONLY(specifier), case B_DIRECT_SPECIFIER: { // return all entries of all poses in PoseView - for (int32 index = 0; index < count; index++) - reply->AddRef("result", PoseAtIndex(index)->TargetModel()->EntryRef()); + for (int32 index = 0; index < count; index++) { + reply->AddRef("result", + PoseAtIndex(index)->TargetModel()->EntryRef()); + } handled = true; break; @@ -618,7 +628,8 @@ BPoseView::GetProperty(BMessage* _SCRIPTING_ONLY(specifier), handled = true; break; } - reply->AddRef("result", PoseAtIndex(index)->TargetModel()->EntryRef()); + reply->AddRef("result", + PoseAtIndex(index)->TargetModel()->EntryRef()); handled = true; break; @@ -627,7 +638,8 @@ BPoseView::GetProperty(BMessage* _SCRIPTING_ONLY(specifier), case kPreviousSpecifier: case kNextSpecifier: { - // return entry and index of pose before or after specified pose + // return entry and index of pose before or after + // specified pose entry_ref ref; if (specifier->FindRef("data", &ref) != B_OK) break; @@ -703,16 +715,16 @@ BPoseView::SetProperty(BMessage* _SCRIPTING_ONLY(message), BMessage*, int32 poseIndex; BPose* pose = FindPose(&ref, form, &poseIndex); - + if (!pose) { error = B_ENTRY_NOT_FOUND; handled = true; break; } - + if (clearSelection) { - // first selected item must call SelectPose so the selection - // gets cleared first + // first selected item must call SelectPose so the + // selection gets cleared first SelectPose(pose, poseIndex); clearSelection = false; } else @@ -741,11 +753,13 @@ BPoseView::ResolveSpecifier(BMessage* _SCRIPTING_ONLY(message), int32 _SCRIPTING_ONLY(form), const char* _SCRIPTING_ONLY(property)) { #if _SUPPORTS_FEATURE_SCRIPTING - BPropertyInfo propertyInfo(const_cast(kPosesPropertyList)); + BPropertyInfo propertyInfo( + const_cast(kPosesPropertyList)); - int32 result = propertyInfo.FindMatch(message, index, specifier, form, property); + int32 result = propertyInfo.FindMatch(message, index, specifier, form, + property); if (result < 0) { -// PRINT(("FindMatch result %d \n")); + //PRINT(("FindMatch result %d \n")); return _inherited::ResolveSpecifier(message, index, specifier, form, property); } @@ -765,7 +779,7 @@ BPoseView::FindPose(const entry_ref* _SCRIPTING_ONLY(ref), // flavor of FindPose, used by previous/next specifiers BPose* pose = FindPose(ref, index); - + if (specifierForm == (int32)kPreviousSpecifier) return PoseAtIndex(--*index); else if (specifierForm == (int32)kNextSpecifier) diff --git a/src/kits/tracker/PublicCommands.h b/src/kits/tracker/PublicCommands.h index daa7be0c2a..b14525373d 100644 --- a/src/kits/tracker/PublicCommands.h +++ b/src/kits/tracker/PublicCommands.h @@ -46,12 +46,15 @@ const uint32 kSaveButton = 'Tsav'; const uint32 kShowSplash = 'Spls'; const uint32 kStartWatchClipboardRefs = 'TCbw'; - // StartWatching() clipboard changes. Changes will be sent to given BMessenger "target" + // StartWatching() clipboard changes. Changes will be sent to given + // BMessenger "target" const uint32 kStopWatchClipboardRefs = 'TCfw'; // StopWatching() given BMessenger "target" const uint32 kFSClipboardChanges = 'TCch'; - // Used by FSClipboard functions which change refs in clipboard and are used outside Tracker (like BFilePanel called in another app) - // Contains movemodes named as in FSClipboard operations and in Clipboard (look into FSClipboard files) + // Used by FSClipboard functions which change refs in clipboard and are + // used outside Tracker (like BFilePanel called in another app) + // Contains movemodes named as in FSClipboard operations and in Clipboard + // (look into FSClipboard files) } // namespace BPrivate diff --git a/src/kits/tracker/QueryContainerWindow.cpp b/src/kits/tracker/QueryContainerWindow.cpp index 748de2b8f1..9f7ea1c219 100644 --- a/src/kits/tracker/QueryContainerWindow.cpp +++ b/src/kits/tracker/QueryContainerWindow.cpp @@ -101,8 +101,8 @@ BQueryContainerWindow::AddWindowMenu(BMenu* menu) item->SetTarget(PoseView()); menu->AddItem(item); - item = new BMenuItem(B_TRANSLATE("Select all"), new BMessage(B_SELECT_ALL), - 'A'); + item = new BMenuItem(B_TRANSLATE("Select all"), + new BMessage(B_SELECT_ALL), 'A'); item->SetTarget(PoseView()); menu->AddItem(item); @@ -111,8 +111,8 @@ BQueryContainerWindow::AddWindowMenu(BMenu* menu) item->SetTarget(PoseView()); menu->AddItem(item); - item = new BMenuItem(B_TRANSLATE("Close"), new BMessage(B_QUIT_REQUESTED), - 'W'); + item = new BMenuItem(B_TRANSLATE("Close"), + new BMessage(B_QUIT_REQUESTED), 'W'); item->SetTarget(this); menu->AddItem(item); } @@ -161,9 +161,11 @@ BQueryContainerWindow::SetUpDefaultState() defaultStatePath += sanitizedType; - PRINT(("looking for default query state at %s\n", defaultStatePath.String())); + PRINT(("looking for default query state at %s\n", + defaultStatePath.String())); - if (!DefaultStateSourceNode(defaultStatePath.String(), &defaultingNode, false)) { + if (!DefaultStateSourceNode(defaultStatePath.String(), &defaultingNode, + false)) { TRACE(); return; } diff --git a/src/kits/tracker/QueryPoseView.cpp b/src/kits/tracker/QueryPoseView.cpp index bd17d1da77..e50efa9af6 100644 --- a/src/kits/tracker/QueryPoseView.cpp +++ b/src/kits/tracker/QueryPoseView.cpp @@ -261,7 +261,8 @@ BQueryPoseView::InitDirentIterator(const entry_ref* ref) oldPoseList->AddList(fPoseList); } - fQueryListContainer = new QueryEntryListCollection(&sourceModel, this, oldPoseList); + fQueryListContainer = new QueryEntryListCollection(&sourceModel, this, + oldPoseList); fCreateOldPoseList = false; if (fQueryListContainer->InitCheck() != B_OK) { @@ -298,8 +299,8 @@ BQueryPoseView::InitDirentIterator(const entry_ref* ref) timeData.tm_min = 0; nextHour = mktime(&timeData); - PRINT(("%ld minutes, %ld seconds till next hour\n", (nextHour - now) / 60, - (nextHour - now) % 60)); + PRINT(("%ld minutes, %ld seconds till next hour\n", + (nextHour - now) / 60, (nextHour - now) % 60)); time_t nextMinute = now + 60; // move ahead by a minute @@ -342,7 +343,8 @@ BQueryPoseView::InitDirentIterator(const entry_ref* ref) TTracker* tracker = dynamic_cast(be_app); ASSERT(tracker); tracker->MainTaskLoop()->RunLater( - NewLockingMemberFunctionObject(&BQueryPoseView::Refresh, this), delta); + NewLockingMemberFunctionObject(&BQueryPoseView::Refresh, this), + delta); } return fQueryListContainer->Clone(); @@ -365,14 +367,19 @@ BQueryPoseView::SearchForType() const attr_info attrInfo; // read the type of files we are looking for - status_t status = TargetModel()->Node()->GetAttrInfo(kAttrQueryInitialMime, &attrInfo); - if (status == B_OK) - TargetModel()->Node()->ReadAttrString(kAttrQueryInitialMime, &buffer); + status_t status + = TargetModel()->Node()->GetAttrInfo(kAttrQueryInitialMime, + &attrInfo); + if (status == B_OK) { + TargetModel()->Node()->ReadAttrString(kAttrQueryInitialMime, + &buffer); + } if (buffer.Length()) { TTracker* tracker = dynamic_cast(be_app); if (tracker) { - const ShortMimeInfo* info = tracker->MimeTypes()->FindMimeType(buffer.String()); + const ShortMimeInfo* info + = tracker->MimeTypes()->FindMimeType(buffer.String()); if (info) fSearchForMimeType = info->InternalName(); } @@ -401,8 +408,8 @@ BQueryPoseView::ActiveOnDevice(dev_t device) const // #pragma mark - -QueryEntryListCollection::QueryEntryListCollection(Model* model, BHandler* target, - PoseList* oldPoseList) +QueryEntryListCollection::QueryEntryListCollection(Model* model, + BHandler* target, PoseList* oldPoseList) : fQueryListRep(new QueryListRep(new BObjectList(5, true))) { Rewind(); @@ -421,7 +428,8 @@ QueryEntryListCollection::QueryEntryListCollection(Model* model, BHandler* targe BString buffer; if (model->Node()->ReadAttr(kAttrQueryString, B_STRING_TYPE, 0, - buffer.LockBuffer((int32)info.size), (size_t)info.size) != info.size) { + buffer.LockBuffer((int32)info.size), + (size_t)info.size) != info.size) { fStatus = B_ERROR; return; } @@ -430,9 +438,10 @@ QueryEntryListCollection::QueryEntryListCollection(Model* model, BHandler* targe // read the extra options MoreOptionsStruct saveMoreOptions; - if (ReadAttr(model->Node(), kAttrQueryMoreOptions, kAttrQueryMoreOptionsForeign, - B_RAW_TYPE, 0, &saveMoreOptions, sizeof(MoreOptionsStruct), - &MoreOptionsStruct::EndianSwap) != kReadAttrFailed) { + if (ReadAttr(model->Node(), kAttrQueryMoreOptions, + kAttrQueryMoreOptionsForeign, B_RAW_TYPE, 0, &saveMoreOptions, + sizeof(MoreOptionsStruct), + &MoreOptionsStruct::EndianSwap) != kReadAttrFailed) { fQueryListRep->fShowResultsFromTrash = saveMoreOptions.searchTrash; } @@ -445,7 +454,8 @@ QueryEntryListCollection::QueryEntryListCollection(Model* model, BHandler* targe fQueryListRep->fRefreshEveryMinute = false; if (model->Node()->ReadAttr(kAttrDynamicDateQuery, B_BOOL_TYPE, 0, - &fQueryListRep->fDynamicDateQuery, sizeof(bool)) != sizeof(bool)) { + &fQueryListRep->fDynamicDateQuery, + sizeof(bool)) != sizeof(bool)) { fQueryListRep->fDynamicDateQuery = false; } @@ -473,15 +483,16 @@ QueryEntryListCollection::QueryEntryListCollection(Model* model, BHandler* targe char* buffer = NULL; if ((buffer = (char*)malloc((size_t)info.size)) != NULL - && model->Node()->ReadAttr(kAttrQueryVolume, B_MESSAGE_TYPE, 0, buffer, - (size_t)info.size) == info.size) { + && model->Node()->ReadAttr(kAttrQueryVolume, B_MESSAGE_TYPE, 0, + buffer, (size_t)info.size) == info.size) { BMessage message; if (message.Unflatten(buffer) == B_OK) { for (int32 index = 0; ;index++) { ASSERT(index < 100); BVolume volume; - // match a volume with the info embedded in the message + // match a volume with the info embedded in + // the message result = MatchArchivedVolume(&volume, &message, index); if (result == B_OK) { // start the query on this volume @@ -492,8 +503,8 @@ QueryEntryListCollection::QueryEntryListCollection(Model* model, BHandler* targe searchAllVolumes = false; } else if (result != B_DEV_BAD_DRIVE_NUM) { - // if B_DEV_BAD_DRIVE_NUM, the volume just isn't mounted this - // time around, keep looking for more + // if B_DEV_BAD_DRIVE_NUM, the volume just isn't + // mounted this time around, keep looking for more // if other error, bail break; } @@ -594,8 +605,9 @@ QueryEntryListCollection::GetNextEntry(BEntry* entry, bool traverse) for (int32 count = fQueryListRep->fQueryList->CountItems(); fQueryListRep->fQueryListIndex < count; fQueryListRep->fQueryListIndex++) { - result = fQueryListRep->fQueryList->ItemAt(fQueryListRep->fQueryListIndex) - ->GetNextEntry(entry, traverse); + result = fQueryListRep->fQueryList-> + ItemAt(fQueryListRep->fQueryListIndex) + ->GetNextEntry(entry, traverse); if (result == B_OK) break; } @@ -613,8 +625,9 @@ QueryEntryListCollection::GetNextDirents(struct dirent* buffer, size_t length, fQueryListRep->fQueryListIndex < queryCount; fQueryListRep->fQueryListIndex++) { - result = fQueryListRep->fQueryList->ItemAt(fQueryListRep->fQueryListIndex) - ->GetNextDirents(buffer, length, count); + result = fQueryListRep->fQueryList-> + ItemAt(fQueryListRep->fQueryListIndex)->GetNextDirents(buffer, + length, count); if (result > 0) break; } @@ -631,8 +644,8 @@ QueryEntryListCollection::GetNextRef(entry_ref* ref) fQueryListRep->fQueryListIndex < count; fQueryListRep->fQueryListIndex++) { - result = fQueryListRep->fQueryList->ItemAt(fQueryListRep->fQueryListIndex) - ->GetNextRef(ref); + result = fQueryListRep->fQueryList-> + ItemAt(fQueryListRep->fQueryListIndex)->GetNextRef(ref); if (result == B_OK) break; } diff --git a/src/kits/tracker/QueryPoseView.h b/src/kits/tracker/QueryPoseView.h index 48c1a91db6..dda65cfd8e 100644 --- a/src/kits/tracker/QueryPoseView.h +++ b/src/kits/tracker/QueryPoseView.h @@ -137,11 +137,13 @@ class QueryEntryListCollection : public EntryListBase { PoseList* fOldPoseList; // when doing a Refresh, this list is used to detect poses that - // are no longer a part of a fDynamicDateQuery and need to be removed + // are no longer a part of a fDynamicDateQuery and need to be + // removed }; public: - QueryEntryListCollection(Model*, BHandler* = NULL, PoseList* oldPoseList = NULL); + QueryEntryListCollection(Model*, BHandler* = NULL, + PoseList* oldPoseList = NULL); virtual ~QueryEntryListCollection(); QueryEntryListCollection* Clone(); diff --git a/src/kits/tracker/RecentItems.cpp b/src/kits/tracker/RecentItems.cpp index 244d2675eb..54b48e93e2 100644 --- a/src/kits/tracker/RecentItems.cpp +++ b/src/kits/tracker/RecentItems.cpp @@ -363,7 +363,8 @@ BRecentFilesList::BRecentFilesList(int32 maxItems, bool navMenuFolders, BRecentFilesList::BRecentFilesList(int32 maxItems, bool navMenuFolders, - const char* ofTypeList[], int32 ofTypeListCount, const char* openedByAppSig) + const char* ofTypeList[], int32 ofTypeListCount, + const char* openedByAppSig) : BRecentItemsList(maxItems, navMenuFolders), fType(NULL), @@ -415,15 +416,17 @@ BRecentFilesList::NewFileListMenu(const char* title, const char* openedByAppSig) { return new RecentFilesMenu(title, openFileMessage, - openFolderMessage, target, maxItems, navMenuFolders, ofType, openedByAppSig); + openFolderMessage, target, maxItems, navMenuFolders, ofType, + openedByAppSig); } BMenu* BRecentFilesList::NewFileListMenu(const char* title, BMessage* openFileMessage, BMessage* openFolderMessage, - BHandler* target, int32 maxItems, bool navMenuFolders, const char* ofTypeList[], - int32 ofTypeListCount, const char* openedByAppSig) + BHandler* target, int32 maxItems, bool navMenuFolders, + const char* ofTypeList[], int32 ofTypeListCount, + const char* openedByAppSig) { return new RecentFilesMenu(title, openFileMessage, openFolderMessage, target, maxItems, navMenuFolders, ofTypeList, diff --git a/src/kits/tracker/RecentItems.h b/src/kits/tracker/RecentItems.h index e392419568..7bfb60c23d 100644 --- a/src/kits/tracker/RecentItems.h +++ b/src/kits/tracker/RecentItems.h @@ -63,12 +63,12 @@ public: virtual BMenuItem* GetNextMenuItem(const BMessage* fileOpenMessage = NULL, const BMessage* containerOpenMessage = NULL, BHandler* target = NULL, entry_ref* currentItemRef = NULL); - // if specified, the item for a file gets a copy with - // the item ref attached as "refs", otherwise a default B_REFS_RECEIVED - // message message gets attached - // if specified, the item for a folder, volume or query - // gets a copy with the item ref attached as "refs", otherwise a default + // if specified, the item for a file gets a copy + // with the item ref attached as "refs", otherwise a default // B_REFS_RECEIVED message message gets attached + // if specified, the item for a folder, volume + // or query gets a copy with the item ref attached as "refs", + // otherwise a default B_REFS_RECEIVED message message gets attached // if gets passed, the caller gets to look at the // entry_ref corresponding to the item @@ -101,8 +101,9 @@ public: // use one of the two constructors to set up next item iteration BRecentFilesList(int32 maxItems = 10, bool navMenuFolders = false, const char* ofType = NULL, const char* openedByAppSig = NULL); - BRecentFilesList(int32 maxItems, bool navMenuFolders, const char* ofTypeList[], - int32 ofTypeListCount, const char* openedByAppSig = NULL); + BRecentFilesList(int32 maxItems, bool navMenuFolders, + const char* ofTypeList[], int32 ofTypeListCount, + const char* openedByAppSig = NULL); virtual ~BRecentFilesList(); // use one of the two NewFileListMenu calls to get an entire menu diff --git a/src/kits/tracker/RegExp.cpp b/src/kits/tracker/RegExp.cpp index 0359c04f21..bad5947bcc 100644 --- a/src/kits/tracker/RegExp.cpp +++ b/src/kits/tracker/RegExp.cpp @@ -90,9 +90,9 @@ const uint8 kRegExpMagic = 0234; // of lines that cannot possibly match. The regmust tests are costly enough // that Compile() supplies a regmust only if the r.e. contains something // potentially expensive (at present, the only such thing detected is * or + -// at the start of the r.e., which can involve a lot of backup). Regmlen is -// supplied because the test in RunMatcher() needs it and Compile() is computing -// it anyway. +// at the start of the r.e., which can involve a lot of backup). Regmlen is +// supplied because the test in RunMatcher() needs it and Compile() is +// computing it anyway. // // // @@ -100,15 +100,16 @@ const uint8 kRegExpMagic = 0234; // of a nondeterministic finite-state machine (aka syntax charts or // "railroad normal form" in parsing technology). Each node is an opcode // plus a "next" pointer, possibly plus an operand. "Next" pointers of -// all nodes except kRegExpBranch implement concatenation; a "next" pointer with -// a kRegExpBranch on both ends of it is connecting two alternatives. (Here we -// have one of the subtle syntax dependencies: an individual kRegExpBranch (as -// opposed to a collection of them) is never concatenated with anything -// because of operator precedence.) The operand of some types of node is -// a literal string; for others, it is a node leading into a sub-FSM. In -// particular, the operand of a kRegExpBranch node is the first node of the branch. -// (NB this is* not* a tree structure: the tail of the branch connects -// to the thing following the set of kRegExpBranches.) The opcodes are: +// all nodes except kRegExpBranch implement concatenation; a "next" pointer +// with a kRegExpBranch on both ends of it is connecting two alternatives. +// (Here we have one of the subtle syntax dependencies: an individual +// kRegExpBranch (as opposed to a collection of them) is never concatenated +// with anything because of operator precedence.) The operand of some types +// of node is a literal string; for others, it is a node leading into a +// sub-FSM. In particular, the operand of a kRegExpBranch node is the first +// node of the branch. (NB this is* not* a tree structure: the tail of the +// branch connects to the thing following the set of kRegExpBranches). +// The opcodes are: // // definition number opnd? meaning @@ -133,21 +134,21 @@ enum { // // Opcode notes: // -// kRegExpBranch The set of branches constituting a single choice are hooked -// together with their "next" pointers, since precedence prevents +// kRegExpBranch The set of branches constituting a single choice are +// hooked together with their "next" pointers, since precedence prevents // anything being concatenated to any individual branch. The // "next" pointer of the last kRegExpBranch in a choice points to the // thing following the whole choice. This is also where the // final "next" pointer of each individual branch points; each // branch starts with the operand node of a kRegExpBranch node. // -// kRegExpBack Normal "next" pointers all implicitly point forward; kRegExpBack -// exists to make loop structures possible. +// kRegExpBack Normal "next" pointers all implicitly point forward; +// kRegExpBack exists to make loop structures possible. // -// kRegExpStar,kRegExpPlus '?', and complex '*' and '+', are implemented as circular -// kRegExpBranch structures using kRegExpBack. Simple cases (one character -// per match) are implemented with kRegExpStar and kRegExpPlus for speed -// and to minimize recursive plunges. +// kRegExpStar,kRegExpPlus '?', and complex '*' and '+', are implemented as +// circular kRegExpBranch structures using kRegExpBack. Simple cases +// (one character per match) are implemented with kRegExpStar and +// kRegExpPlus for speed and to minimize recursive plunges. // // kRegExpOpen,kRegExpClose ...are numbered at compile time. // @@ -164,7 +165,8 @@ enum { // const char* kMeta = "^$.[()|?+*\\"; -const int32 kMaxSize = 32767L; // Probably could be 65535L. +const int32 kMaxSize = 32767L; + // Probably could be 65535L. // Flags to be passed up and down: enum { @@ -360,7 +362,8 @@ RegExp::Compile(const char* exp) longest = NULL; len = 0; for (; scan != NULL; scan = Next((char*)scan)) - if (*scan == kRegExpExactly && (int32)strlen(Operand(scan)) >= len) { + if (*scan == kRegExpExactly + && (int32)strlen(Operand(scan)) >= len) { longest = Operand(scan); len = (int32)strlen(Operand(scan)); } @@ -520,10 +523,10 @@ RegExp::Branch(int32* flagp) // - Piece - something followed by possible [*+?] // // Note that the branching code sequences used for ? and the general cases -// of * and + are somewhat optimized: they use the same kRegExpNothing node as -// both the endmarker for their branch list and the body of the last branch. -// It might seem that this node could be dispensed with entirely, but the -// endmarker role is not redundant. +// of * and + are somewhat optimized: they use the same kRegExpNothing node +// as both the endmarker for their branch list and the body of the last +// branch. It might seem that this node could be dispensed with entirely, +// but the endmarker role is not redundant. // char* RegExp::Piece(int32* flagp) @@ -623,12 +626,14 @@ RegExp::Atom(int32* flagp) ret = Node(kRegExpAnyOf); if (*fInputScanPointer == ']' || *fInputScanPointer == '-') Char(*fInputScanPointer++); - while (*fInputScanPointer != '\0' && *fInputScanPointer != ']') { + while (*fInputScanPointer != '\0' + && *fInputScanPointer != ']') { if (*fInputScanPointer == '-') { fInputScanPointer++; - if (*fInputScanPointer == ']' || *fInputScanPointer == '\0') + if (*fInputScanPointer == ']' + || *fInputScanPointer == '\0') { Char('-'); - else { + } else { cclass = UCharAt(fInputScanPointer - 2) + 1; classend = UCharAt(fInputScanPointer); if (cclass > classend + 1) { @@ -678,30 +683,34 @@ RegExp::Atom(int32* flagp) *flagp |= kHasWidth|kSimple; break; default: - { - int32 len; - char ender; + { + int32 len; + char ender; - fInputScanPointer--; - len = (int32)strcspn(fInputScanPointer, kMeta); - if (len <= 0) { - SetError(REGEXP_INTERNAL_ERROR); - return NULL; - } - ender = *(fInputScanPointer + len); - if (len > 1 && IsMult(ender)) - len--; // Back off clear of ?+* operand. - *flagp |= kHasWidth; - if (len == 1) - *flagp |= kSimple; - ret = Node(kRegExpExactly); - while (len > 0) { - Char(*fInputScanPointer++); - len--; - } - Char('\0'); + fInputScanPointer--; + len = (int32)strcspn(fInputScanPointer, kMeta); + if (len <= 0) { + SetError(REGEXP_INTERNAL_ERROR); + return NULL; } + + ender = *(fInputScanPointer + len); + if (len > 1 && IsMult(ender)) + len--; // Back off clear of ?+* operand. + + *flagp |= kHasWidth; + if (len == 1) + *flagp |= kSimple; + + ret = Node(kRegExpExactly); + while (len > 0) { + Char(*fInputScanPointer++); + len--; + } + + Char('\0'); break; + } } return ret; @@ -964,8 +973,10 @@ RegExp::Match(const char* prog) const return 0; uint32 len = strlen(opnd); - if (len > 1 && strncmp(opnd, fStringInputPointer, len) != 0) + if (len > 1 + && strncmp(opnd, fStringInputPointer, len) != 0) { return 0; + } fStringInputPointer += len; } @@ -1255,7 +1266,8 @@ RegExp::Dump() else printf("(%ld)", (s - fRegExp->program) + (next - s)); s += 3; - if (op == kRegExpAnyOf || op == kRegExpAnyBut || op == kRegExpExactly) { + if (op == kRegExpAnyOf || op == kRegExpAnyBut + || op == kRegExpExactly) { // Literal string, where present. while (*s != '\0') { putchar(*s); diff --git a/src/kits/tracker/SelectionWindow.cpp b/src/kits/tracker/SelectionWindow.cpp index f3ca9f6a29..402bf96808 100644 --- a/src/kits/tracker/SelectionWindow.cpp +++ b/src/kits/tracker/SelectionWindow.cpp @@ -63,14 +63,16 @@ SelectionWindow::SelectionWindow(BContainerWindow* window) fParentWindow(window) { if (window->Feel() & kPrivateDesktopWindowFeel) { - // The window will not show up if we have B_FLOATING_SUBSET_WINDOW_FEEL - // and use it with the desktop window since it's never in front. + // The window will not show up if we have + // B_FLOATING_SUBSET_WINDOW_FEEL and use it with the desktop window + // since it's never in front. SetFeel(B_NORMAL_WINDOW_FEEL); } AddToSubset(fParentWindow); - BView* backgroundView = new BView(Bounds(), "bgView", B_FOLLOW_ALL, B_WILL_DRAW); + BView* backgroundView = new BView(Bounds(), "bgView", B_FOLLOW_ALL, + B_WILL_DRAW); backgroundView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); AddChild(backgroundView); @@ -88,24 +90,25 @@ SelectionWindow::SelectionWindow(BContainerWindow* window) // Set wildcard matching to default. // Set up the menu field - fMatchingTypeMenuField = new BMenuField(BRect(7, 6, Bounds().right - 5, 0), - NULL, B_TRANSLATE("Name"), menu); + fMatchingTypeMenuField = new BMenuField(BRect(7, 6, + Bounds().right - 5, 0), NULL, B_TRANSLATE("Name"), menu); backgroundView->AddChild(fMatchingTypeMenuField); fMatchingTypeMenuField->SetDivider(fMatchingTypeMenuField->StringWidth( B_TRANSLATE("Name")) + 8); fMatchingTypeMenuField->ResizeToPreferred(); // Set up the expression text control - fExpressionTextControl = new BTextControl(BRect(7, fMatchingTypeMenuField-> - Bounds().bottom + 11, Bounds().right - 6, 0), NULL, NULL, NULL, NULL, - B_FOLLOW_LEFT_RIGHT); + fExpressionTextControl = new BTextControl(BRect(7, + fMatchingTypeMenuField->Bounds().bottom + 11, + Bounds().right - 6, 0), + NULL, NULL, NULL, NULL, B_FOLLOW_LEFT_RIGHT); backgroundView->AddChild(fExpressionTextControl); fExpressionTextControl->ResizeToPreferred(); fExpressionTextControl->MakeFocus(true); // Set up the Invert checkbox fInverseCheckBox = new BCheckBox( - BRect(7, fExpressionTextControl->Frame().bottom + 6, 6, 6), NULL, + BRect(7, fExpressionTextControl->Frame().bottom + 6, 6, 6), NULL, B_TRANSLATE("Invert"), NULL); backgroundView->AddChild(fInverseCheckBox); fInverseCheckBox->ResizeToPreferred(); @@ -113,15 +116,16 @@ SelectionWindow::SelectionWindow(BContainerWindow* window) // Set up the Ignore Case checkbox fIgnoreCaseCheckBox = new BCheckBox( BRect(fInverseCheckBox->Frame().right + 10, - fInverseCheckBox->Frame().top, 6, 6), NULL, B_TRANSLATE("Ignore case"), - NULL); + fInverseCheckBox->Frame().top, 6, 6), + NULL, B_TRANSLATE("Ignore case"), NULL); fIgnoreCaseCheckBox->SetValue(1); backgroundView->AddChild(fIgnoreCaseCheckBox); fIgnoreCaseCheckBox->ResizeToPreferred(); // Set up the Select button - fSelectButton = new BButton(BRect(0, 0, 5, 5), NULL, B_TRANSLATE("Select"), - new BMessage(kSelectButtonPressed), B_FOLLOW_RIGHT); + fSelectButton = new BButton(BRect(0, 0, 5, 5), NULL, + B_TRANSLATE("Select"), new BMessage(kSelectButtonPressed), + B_FOLLOW_RIGHT); backgroundView->AddChild(fSelectButton); fSelectButton->ResizeToPreferred(); @@ -138,16 +142,19 @@ SelectionWindow::SelectionWindow(BContainerWindow* window) // Center the checkboxes vertically to the button float topMiddleButton = (fSelectButton->Bounds().Height() / 2 - - (fh.ascent + fh.descent + fh.leading + 4) / 2) + fSelectButton->Frame().top; + (fh.ascent + fh.descent + fh.leading + 4) / 2) + + fSelectButton->Frame().top; fInverseCheckBox->MoveTo(fInverseCheckBox->Frame().left, topMiddleButton); fIgnoreCaseCheckBox->MoveTo(fIgnoreCaseCheckBox->Frame().left, topMiddleButton); - float bottomMinWidth = 32 + fSelectButton->Bounds().Width() + - fInverseCheckBox->Bounds().Width() + fIgnoreCaseCheckBox->Bounds().Width(); + float bottomMinWidth = 32 + fSelectButton->Bounds().Width() + + fInverseCheckBox->Bounds().Width() + + fIgnoreCaseCheckBox->Bounds().Width(); float topMinWidth = be_plain_font->StringWidth( B_TRANSLATE("Name matches wildcard expression:###")); - float minWidth = bottomMinWidth > topMinWidth ? bottomMinWidth : topMinWidth; + float minWidth = bottomMinWidth > topMinWidth + ? bottomMinWidth : topMinWidth; class EscapeFilter : public BMessageFilter { public: @@ -240,7 +247,8 @@ SelectionWindow::MoveCloseToMouse() // ... unless that's outside of the current screen size: BScreen screen; - windowPosition.x = MAX(20, MIN(screen.Frame().right - 20 - Frame().Width(), + windowPosition.x + = MAX(20, MIN(screen.Frame().right - 20 - Frame().Width(), windowPosition.x)); windowPosition.y = MAX(20, MIN(screen.Frame().bottom - 20 - Frame().Height(), windowPosition.y)); diff --git a/src/kits/tracker/Settings.cpp b/src/kits/tracker/Settings.cpp index ef07761dcd..31261dba17 100644 --- a/src/kits/tracker/Settings.cpp +++ b/src/kits/tracker/Settings.cpp @@ -46,8 +46,9 @@ Settings* settings = NULL; // generic setting handler classes -StringValueSetting::StringValueSetting(const char* name, const char* defaultValue, - const char* valueExpectedErrorString, const char* wrongValueErrorString) +StringValueSetting::StringValueSetting(const char* name, + const char* defaultValue, const char* valueExpectedErrorString, + const char* wrongValueErrorString) : SettingsArgvDispatcher(name), fDefaultValue(defaultValue), fValueExpectedErrorString(valueExpectedErrorString), @@ -240,9 +241,9 @@ ScalarValueSetting::NeedsSaving() const // #pragma mark - -HexScalarValueSetting::HexScalarValueSetting(const char* name, int32 defaultValue, - const char* valueExpectedErrorString, const char* wrongValueErrorString, - int32 min, int32 max) +HexScalarValueSetting::HexScalarValueSetting(const char* name, + int32 defaultValue, const char* valueExpectedErrorString, + const char* wrongValueErrorString, int32 min, int32 max) : ScalarValueSetting(name, defaultValue, valueExpectedErrorString, wrongValueErrorString, min, max) { diff --git a/src/kits/tracker/Settings.h b/src/kits/tracker/Settings.h index 3758b6f938..47ae4b3c64 100644 --- a/src/kits/tracker/Settings.h +++ b/src/kits/tracker/Settings.h @@ -85,8 +85,9 @@ class ScalarValueSetting : public SettingsArgvDispatcher { // simple int32 setting public: ScalarValueSetting(const char* name, int32 defaultValue, - const char* valueExpectedErrorString, const char* wrongValueErrorString, - int32 min = LONG_MIN, int32 max = LONG_MAX); + const char* valueExpectedErrorString, + const char* wrongValueErrorString, int32 min = LONG_MIN, + int32 max = LONG_MAX); void ValueChanged(int32 newValue); int32 Value() const; @@ -110,8 +111,9 @@ class HexScalarValueSetting : public ScalarValueSetting { // hexadecimal int32 setting public: HexScalarValueSetting(const char* name, int32 defaultValue, - const char* valueExpectedErrorString, const char* wrongValueErrorString, - int32 min = LONG_MIN, int32 max = LONG_MAX); + const char* valueExpectedErrorString, + const char* wrongValueErrorString, int32 min = LONG_MIN, + int32 max = LONG_MAX); void GetValueAsString(char* buffer) const; diff --git a/src/kits/tracker/SettingsHandler.cpp b/src/kits/tracker/SettingsHandler.cpp index d2b2cdf9d0..0fe7285fef 100644 --- a/src/kits/tracker/SettingsHandler.cpp +++ b/src/kits/tracker/SettingsHandler.cpp @@ -188,7 +188,8 @@ ArgvParser::EachArgvPrivate(const char* name, ArgvHandler argvHandlerFunc, // handle new line fEatComment = false; if (!fSawBackslash && (fInDoubleQuote || fInSingleQuote)) { - printf("File %s ; Line %ld # unterminated quote\n", name, fLineNo); + printf("File %s ; Line %ld # unterminated quote\n", name, + fLineNo); result = B_ERROR; break; } @@ -211,7 +212,8 @@ ArgvParser::EachArgvPrivate(const char* name, ArgvHandler argvHandlerFunc, if (!fSawBackslash) { if (!fInDoubleQuote && !fInSingleQuote) { if (ch == ';') { - // semicolon is a command separator, pass on the whole argv + // semicolon is a command separator, pass on + // the whole argv result = SendArgv(argvHandlerFunc, passThru); if (result != B_OK) break; @@ -259,7 +261,8 @@ SettingsArgvDispatcher::SettingsArgvDispatcher(const char* name) void -SettingsArgvDispatcher::SaveSettings(Settings* settings, bool onlyIfNonDefault) +SettingsArgvDispatcher::SaveSettings(Settings* settings, + bool onlyIfNonDefault) { if (!onlyIfNonDefault || NeedsSaving()) { settings->Write("%s ", Name()); @@ -270,8 +273,8 @@ SettingsArgvDispatcher::SaveSettings(Settings* settings, bool onlyIfNonDefault) bool -SettingsArgvDispatcher::HandleRectValue(BRect &result, const char* const* argv, - bool printError) +SettingsArgvDispatcher::HandleRectValue(BRect &result, + const char* const* argv, bool printError) { if (!*argv) { if (printError) @@ -340,7 +343,7 @@ Settings::ParseUserSettings(int, const char* const* argv, void* castToThis) { if (!*argv) return 0; - + SettingsArgvDispatcher* handler = ((Settings*)castToThis)->Find(*argv); if (!handler) return "unknown command"; diff --git a/src/kits/tracker/SettingsHandler.h b/src/kits/tracker/SettingsHandler.h index 255d889e09..6b959f2a3c 100644 --- a/src/kits/tracker/SettingsHandler.h +++ b/src/kits/tracker/SettingsHandler.h @@ -50,7 +50,8 @@ namespace BPrivate { class Settings; -typedef const char* (*ArgvHandler)(int argc, const char* const *argv, void* params); +typedef const char* (*ArgvHandler)(int argc, const char* const *argv, + void* params); // return 0 or error string if parsing failed const int32 kBufferSize = 1024; @@ -117,7 +118,8 @@ public: // return a pointer to an error message or null if parsed OK // some handy reader/writer calls - bool HandleRectValue(BRect&, const char* const *argv, bool printError = true); + bool HandleRectValue(BRect&, const char* const *argv, + bool printError = true); void WriteRectValue(Settings*, BRect); protected: diff --git a/src/kits/tracker/SettingsViews.cpp b/src/kits/tracker/SettingsViews.cpp index 28f1b9b261..5436978f49 100644 --- a/src/kits/tracker/SettingsViews.cpp +++ b/src/kits/tracker/SettingsViews.cpp @@ -59,11 +59,14 @@ static const float kIndentSpacing = 12.0f; //TODO: defaults should be set in one place only (TrackerSettings.cpp) while // being accessible from here. -// What about adding DefaultValue(), IsDefault() etc... methods to xxxValueSetting ? +// What about adding DefaultValue(), IsDefault() etc... methods to +// xxxValueSetting ? static const uint8 kSpaceBarAlpha = 192; static const rgb_color kDefaultUsedSpaceColor = {0, 203, 0, kSpaceBarAlpha}; -static const rgb_color kDefaultFreeSpaceColor = {255, 255, 255, kSpaceBarAlpha}; -static const rgb_color kDefaultWarningSpaceColor = {203, 0, 0, kSpaceBarAlpha}; +static const rgb_color kDefaultFreeSpaceColor + = {255, 255, 255, kSpaceBarAlpha}; +static const rgb_color kDefaultWarningSpaceColor + = {203, 0, 0, kSpaceBarAlpha}; static void @@ -370,10 +373,13 @@ DesktopSettingsView::ShowCurrentSettings() TrackerSettings settings; fShowDisksIconRadioButton->SetValue(settings.ShowDisksIcon()); - fMountVolumesOntoDesktopRadioButton->SetValue(settings.MountVolumesOntoDesktop()); + fMountVolumesOntoDesktopRadioButton->SetValue( + settings.MountVolumesOntoDesktop()); - fMountSharedVolumesOntoDesktopCheckBox->SetValue(settings.MountSharedVolumesOntoDesktop()); - fMountSharedVolumesOntoDesktopCheckBox->SetEnabled(settings.MountVolumesOntoDesktop()); + fMountSharedVolumesOntoDesktopCheckBox->SetValue( + settings.MountSharedVolumesOntoDesktop()); + fMountSharedVolumesOntoDesktopCheckBox->SetEnabled( + settings.MountVolumesOntoDesktop()); } @@ -476,19 +482,22 @@ WindowsSettingsView::MessageReceived(BMessage* message) switch (message->what) { case kWindowsShowFullPathChanged: - settings.SetShowFullPathInTitleBar(fShowFullPathInTitleBarCheckBox->Value() == 1); + settings.SetShowFullPathInTitleBar( + fShowFullPathInTitleBarCheckBox->Value() == 1); tracker->SendNotices(kWindowsShowFullPathChanged); Window()->PostMessage(kSettingsContentsModified); break; case kSingleWindowBrowseChanged: - settings.SetSingleWindowBrowse(fSingleWindowBrowseCheckBox->Value() == 1); + settings.SetSingleWindowBrowse( + fSingleWindowBrowseCheckBox->Value() == 1); if (fSingleWindowBrowseCheckBox->Value() == 0) { fShowNavigatorCheckBox->SetEnabled(false); settings.SetShowNavigator(0); } else { fShowNavigatorCheckBox->SetEnabled(true); - settings.SetShowNavigator(fShowNavigatorCheckBox->Value() != 0); + settings.SetShowNavigator( + fShowNavigatorCheckBox->Value() != 0); } tracker->SendNotices(kShowNavigatorChanged); tracker->SendNotices(kSingleWindowBrowseChanged); @@ -516,10 +525,12 @@ WindowsSettingsView::MessageReceived(BMessage* message) case kSortFolderNamesFirstChanged: { - settings.SetSortFolderNamesFirst(fSortFolderNamesFirstCheckBox->Value() == 1); + settings.SetSortFolderNamesFirst( + fSortFolderNamesFirstCheckBox->Value() == 1); // Make the notification message and send it to the tracker: - send_bool_notices(kSortFolderNamesFirstChanged, "SortFolderNamesFirst", + send_bool_notices(kSortFolderNamesFirstChanged, + "SortFolderNamesFirst", fSortFolderNamesFirstCheckBox->Value() == 1); Window()->PostMessage(kSettingsContentsModified); @@ -528,8 +539,10 @@ WindowsSettingsView::MessageReceived(BMessage* message) case kTypeAheadFilteringChanged: { - settings.SetTypeAheadFiltering(fTypeAheadFilteringCheckBox->Value() == 1); - send_bool_notices(kTypeAheadFilteringChanged, "TypeAheadFiltering", + settings.SetTypeAheadFiltering( + fTypeAheadFilteringCheckBox->Value() == 1); + send_bool_notices(kTypeAheadFilteringChanged, + "TypeAheadFiltering", fTypeAheadFilteringCheckBox->Value() == 1); Window()->PostMessage(kSettingsContentsModified); break; @@ -653,7 +666,8 @@ WindowsSettingsView::ShowCurrentSettings() { TrackerSettings settings; - fShowFullPathInTitleBarCheckBox->SetValue(settings.ShowFullPathInTitleBar()); + fShowFullPathInTitleBarCheckBox->SetValue( + settings.ShowFullPathInTitleBar()); fSingleWindowBrowseCheckBox->SetValue(settings.SingleWindowBrowse()); fShowNavigatorCheckBox->SetEnabled(settings.SingleWindowBrowse()); fShowNavigatorCheckBox->SetValue(settings.ShowNavigator()); @@ -722,9 +736,10 @@ SpaceBarSettingsView::SpaceBarSettingsView() BBox* box = new BBox("box"); box->SetLabel(fColorPicker = new BMenuField("menu", NULL, menu)); - fColorControl = new BColorControl(BPoint(8, fColorPicker->Bounds().Height() - + 8 + kItemExtraSpacing), - B_CELLS_16x16, 1, "SpaceColorControl", new BMessage(kSpaceBarColorChanged)); + fColorControl = new BColorControl(BPoint(8, + fColorPicker->Bounds().Height() + 8 + kItemExtraSpacing), + B_CELLS_16x16, 1, "SpaceColorControl", + new BMessage(kSpaceBarColorChanged)); fColorControl->SetValue(TrackerSettings().UsedSpaceColor()); box->AddChild(fColorControl); @@ -767,7 +782,8 @@ SpaceBarSettingsView::MessageReceived(BMessage* message) switch (message->what) { case kUpdateVolumeSpaceBar: { - settings.SetShowVolumeSpaceBar(fSpaceBarShowCheckBox->Value() == 1); + settings.SetShowVolumeSpaceBar( + fSpaceBarShowCheckBox->Value() == 1); Window()->PostMessage(kSettingsContentsModified); tracker->PostMessage(kShowVolumeSpaceBar); break; @@ -794,7 +810,8 @@ SpaceBarSettingsView::MessageReceived(BMessage* message) { rgb_color color = fColorControl->ValueAsColor(); color.alpha = kSpaceBarAlpha; - //alpha is ignored by BColorControl but is checked in equalities + // alpha is ignored by BColorControl but is checked + // in equalities switch (fCurrentColor) { case 0: @@ -870,7 +887,8 @@ SpaceBarSettingsView::Revert() if (settings.ShowVolumeSpaceBar() != fSpaceBarShow) { settings.SetShowVolumeSpaceBar(fSpaceBarShow); - send_bool_notices(kShowVolumeSpaceBar, "ShowVolumeSpaceBar", fSpaceBarShow); + send_bool_notices(kShowVolumeSpaceBar, "ShowVolumeSpaceBar", + fSpaceBarShow); } if (settings.UsedSpaceColor() != fUsedSpaceColor @@ -978,14 +996,16 @@ TrashSettingsView::MessageReceived(BMessage* message) switch (message->what) { case kDontMoveFilesToTrashChanged: - settings.SetDontMoveFilesToTrash(fDontMoveFilesToTrashCheckBox->Value() == 1); + settings.SetDontMoveFilesToTrash( + fDontMoveFilesToTrashCheckBox->Value() == 1); tracker->SendNotices(kDontMoveFilesToTrashChanged); Window()->PostMessage(kSettingsContentsModified); break; case kAskBeforeDeleteFileChanged: - settings.SetAskBeforeDeleteFile(fAskBeforeDeleteFileCheckBox->Value() == 1); + settings.SetAskBeforeDeleteFile( + fAskBeforeDeleteFileCheckBox->Value() == 1); tracker->SendNotices(kAskBeforeDeleteFileChanged); Window()->PostMessage(kSettingsContentsModified); @@ -1069,7 +1089,9 @@ TrashSettingsView::RecordRevertSettings() bool TrashSettingsView::IsRevertable() const { - return fDontMoveFilesToTrash != (fDontMoveFilesToTrashCheckBox->Value() > 0) - || fAskBeforeDeleteFile != (fAskBeforeDeleteFileCheckBox->Value() > 0); + return fDontMoveFilesToTrash + != (fDontMoveFilesToTrashCheckBox->Value() > 0) + || fAskBeforeDeleteFile + != (fAskBeforeDeleteFileCheckBox->Value() > 0); } diff --git a/src/kits/tracker/SlowContextPopup.cpp b/src/kits/tracker/SlowContextPopup.cpp index 95c33668aa..814ba39f29 100644 --- a/src/kits/tracker/SlowContextPopup.cpp +++ b/src/kits/tracker/SlowContextPopup.cpp @@ -90,26 +90,26 @@ BSlowContextMenu::~BSlowContextMenu() void BSlowContextMenu::AttachedToWindow() { - // showing flag is set immediately as - // it may take a while to build the menu's - // contents. + // showing flag is set immediately as + // it may take a while to build the menu's + // contents. // - // it should get set only once when Go is called - // and will get reset in DetachedFromWindow + // it should get set only once when Go is called + // and will get reset in DetachedFromWindow // - // this flag is used in ContainerWindow::ShowContextMenu - // to determine whether we should show this menu, and - // the only reason we need to do this is because this - // menu is spawned ::Go as an asynchronous menu, which - // is done because we will deadlock if the target's - // window is open... so there + // this flag is used in ContainerWindow::ShowContextMenu + // to determine whether we should show this menu, and + // the only reason we need to do this is because this + // menu is spawned ::Go as an asynchronous menu, which + // is done because we will deadlock if the target's + // window is open... so there fIsShowing = true; BPopUpMenu::AttachedToWindow(); SpringLoadedFolderSetMenuStates(this, fTypesList); - // allow an opportunity to reset the target for each of the items + // allow an opportunity to reset the target for each of the items SetTargetForItems(Target()); } @@ -117,14 +117,14 @@ BSlowContextMenu::AttachedToWindow() void BSlowContextMenu::DetachedFromWindow() { - // see note above in AttachedToWindow + // see note above in AttachedToWindow fIsShowing = false; - // does this need to set this to null? - // the parent, handling dnd should set this - // appropriately + // does this need to set this to null? + // the parent, handling dnd should set this + // appropriately // - // if this changes, BeMenu and RecentsMenu - // in Deskbar should also change + // if this changes, BeMenu and RecentsMenu + // in Deskbar should also change fTypesList = NULL; } @@ -462,8 +462,8 @@ BSlowContextMenu::BuildVolumeMenu() fMessenger, fParentWindow, fTypesList); menu->SetNavDir(model->EntryRef()); - menu->InitTrackingHook(fTrackingHook.fTrackingHook, &(fTrackingHook.fTarget), - fTrackingHook.fDragMessage); + menu->InitTrackingHook(fTrackingHook.fTrackingHook, + &(fTrackingHook.fTarget), fTrackingHook.fDragMessage); ASSERT(menu->Name()); @@ -519,8 +519,8 @@ BSlowContextMenu::SetTarget(const BMessenger &target) TrackingHookData* -BSlowContextMenu::InitTrackingHook(bool (*hook)(BMenu*, void*), const BMessenger* target, - const BMessage* dragMessage) +BSlowContextMenu::InitTrackingHook(bool (*hook)(BMenu*, void*), + const BMessenger* target, const BMessage* dragMessage) { fTrackingHook.fTrackingHook = hook; if (target) @@ -532,7 +532,8 @@ BSlowContextMenu::InitTrackingHook(bool (*hook)(BMenu*, void*), const BMessenger void -BSlowContextMenu::SetTrackingHookDeep(BMenu* menu, bool (*func)(BMenu*, void*), void* state) +BSlowContextMenu::SetTrackingHookDeep(BMenu* menu, + bool (*func)(BMenu*, void*), void* state) { menu->SetTrackingHook(func, state); int32 count = menu->CountItems(); diff --git a/src/kits/tracker/SlowContextPopup.h b/src/kits/tracker/SlowContextPopup.h index d03fd8e65a..c29769b6d5 100644 --- a/src/kits/tracker/SlowContextPopup.h +++ b/src/kits/tracker/SlowContextPopup.h @@ -63,8 +63,9 @@ public: void SetTypesList(const BObjectList* list); const BObjectList* TypesList() const; - static ModelMenuItem* NewModelItem(Model*, const BMessage*, const BMessenger&, - bool suppressFolderHierarchy = false, BContainerWindow* = NULL, + static ModelMenuItem* NewModelItem(Model*, const BMessage*, + const BMessenger&, bool suppressFolderHierarchy = false, + BContainerWindow* = NULL, const BObjectList* typeslist = NULL, TrackingHookData* hook = NULL); diff --git a/src/kits/tracker/SlowMenu.h b/src/kits/tracker/SlowMenu.h index 46c2c37a0d..a85cee4718 100644 --- a/src/kits/tracker/SlowMenu.h +++ b/src/kits/tracker/SlowMenu.h @@ -66,7 +66,8 @@ class BSlowMenu : public BMenu { protected: virtual bool AddDynamicItem(add_state state); - // this is the callback from BMenu, you shouldn't need to override this + // this is the callback from BMenu, you shouldn't need to + // override this bool fMenuBuilt; }; diff --git a/src/kits/tracker/StatusWindow.cpp b/src/kits/tracker/StatusWindow.cpp index 755da3f150..5a1e7ed7f8 100644 --- a/src/kits/tracker/StatusWindow.cpp +++ b/src/kits/tracker/StatusWindow.cpp @@ -315,8 +315,8 @@ BStatusWindow::RemoveStatusItem(thread_id thread) } if (winner != NULL) { - // The height by which the other views will have to be moved (in pixel - // count). + // The height by which the other views will have to be moved + // (in pixel count). float height = winner->Bounds().Height() + 1; fViewList.RemoveItem(winner); winner->RemoveSelf(); @@ -460,7 +460,8 @@ BStatusView::BStatusView(BRect bounds, thread_id thread, StatusWindowState type) break; case kCreateLinkState: - caption = B_TRANSLATE("Preparing to create links" B_UTF8_ELLIPSIS); + caption = B_TRANSLATE("Preparing to create links" + B_UTF8_ELLIPSIS); id = R_MoveStatusBitmap; break; @@ -470,16 +471,19 @@ BStatusView::BStatusView(BRect bounds, thread_id thread, StatusWindowState type) break; case kVolumeState: - caption = B_TRANSLATE("Searching for disks to mount" B_UTF8_ELLIPSIS); + caption = B_TRANSLATE("Searching for disks to mount" + B_UTF8_ELLIPSIS); break; case kDeleteState: - caption = B_TRANSLATE("Preparing to delete items" B_UTF8_ELLIPSIS); + caption = B_TRANSLATE("Preparing to delete items" + B_UTF8_ELLIPSIS); id = R_TrashStatusBitmap; break; case kRestoreFromTrashState: - caption = B_TRANSLATE("Preparing to restore items" B_UTF8_ELLIPSIS); + caption = B_TRANSLATE("Preparing to restore items" + B_UTF8_ELLIPSIS); break; default: @@ -506,8 +510,10 @@ BStatusView::BStatusView(BRect bounds, thread_id thread, StatusWindowState type) + fh.descent + f.top); } - if (id != 0) - GetTrackerResources()->GetBitmapResource(B_MESSAGE_TYPE, id, &fBitmap); + if (id != 0) { + GetTrackerResources()->GetBitmapResource(B_MESSAGE_TYPE, id, + &fBitmap); + } rect = Bounds(); rect.left = rect.right - buttonWidth * 2 - 7; @@ -550,8 +556,8 @@ BStatusView::Init() fLastSpeedReferenceSize = 0; fEstimatedFinishReferenceSize = 0; - fProcessStartTime = fLastSpeedReferenceTime = fEstimatedFinishReferenceTime - = system_time(); + fProcessStartTime = fLastSpeedReferenceTime + = fEstimatedFinishReferenceTime = system_time(); } @@ -580,11 +586,12 @@ BStatusView::InitStatus(int32 totalItems, off_t totalSize, switch (fType) { case kCopyState: - fStatusBar->Reset(B_TRANSLATE("Copying: "), buffer.String()); + fStatusBar->Reset(B_TRANSLATE("Copying: "), buffer.String()); break; case kCreateLinkState: - fStatusBar->Reset(B_TRANSLATE("Creating links: "), buffer.String()); + fStatusBar->Reset(B_TRANSLATE("Creating links: "), + buffer.String()); break; case kMoveState: @@ -592,7 +599,8 @@ BStatusView::InitStatus(int32 totalItems, off_t totalSize, break; case kTrashState: - fStatusBar->Reset(B_TRANSLATE("Emptying Trash" B_UTF8_ELLIPSIS " "), + fStatusBar->Reset( + B_TRANSLATE("Emptying Trash" B_UTF8_ELLIPSIS " "), buffer.String()); break; @@ -619,7 +627,8 @@ BStatusView::Draw(BRect updateRect) { if (fBitmap) { BPoint location; - location.x = (fStatusBar->Frame().left - fBitmap->Bounds().Width()) / 2; + location.x = (fStatusBar->Frame().left + - fBitmap->Bounds().Width()) / 2; location.y = (Bounds().Height()- fBitmap->Bounds().Height()) / 2; DrawBitmap(fBitmap, location); } @@ -695,7 +704,8 @@ BStatusView::_DestinationString(float* _width) BString -BStatusView::_StatusString(float availableSpace, float fontSize, float* _width) +BStatusView::_StatusString(float availableSpace, float fontSize, + float* _width) { BFont font; GetFont(&font); @@ -970,4 +980,3 @@ BStatusView::SetWasCanceled() { fWasCanceled = true; } - diff --git a/src/kits/tracker/TaskLoop.cpp b/src/kits/tracker/TaskLoop.cpp index dfcc7fab38..6a3b00ed95 100644 --- a/src/kits/tracker/TaskLoop.cpp +++ b/src/kits/tracker/TaskLoop.cpp @@ -48,7 +48,8 @@ DelayedTask::~DelayedTask() { } -OneShotDelayedTask::OneShotDelayedTask(FunctionObject* functor, bigtime_t delay) +OneShotDelayedTask::OneShotDelayedTask(FunctionObject* functor, + bigtime_t delay) : DelayedTask(delay), fFunctor(functor) { @@ -293,8 +294,9 @@ TaskLoop::RunWhenIdle(FunctionObjectWithResult* functor, class AccumulatedOneShotDelayedTask : public OneShotDelayedTask { // supports accumulating functors public: - AccumulatedOneShotDelayedTask(AccumulatingFunctionObject* functor, bigtime_t delay, - bigtime_t maxAccumulatingTime = 0, int32 maxAccumulateCount = 0) + AccumulatedOneShotDelayedTask(AccumulatingFunctionObject* functor, + bigtime_t delay, bigtime_t maxAccumulatingTime = 0, + int32 maxAccumulateCount = 0) : OneShotDelayedTask(functor, delay), maxAccumulateCount(maxAccumulateCount), accumulateCount(1), @@ -308,19 +310,24 @@ public: // don't accumulate if too may accumulated already return false; - if (maxAccumulatingTime && system_time() > initialTime + maxAccumulatingTime) + if (maxAccumulatingTime && system_time() > initialTime + + maxAccumulatingTime) { // don't accumulate if too late past initial task return false; + } - return static_cast(fFunctor)->CanAccumulate(accumulateThis); + return static_cast(fFunctor)-> + CanAccumulate(accumulateThis); } - virtual void Accumulate(AccumulatingFunctionObject* accumulateThis, bigtime_t delay) + virtual void Accumulate(AccumulatingFunctionObject* accumulateThis, + bigtime_t delay) { fRunAfter = system_time() + delay; // reset fRunAfter accumulateCount++; - static_cast(fFunctor)->Accumulate(accumulateThis); + static_cast(fFunctor)-> + Accumulate(accumulateThis); } private: @@ -331,8 +338,8 @@ private: }; void -TaskLoop::AccumulatedRunLater(AccumulatingFunctionObject* functor, bigtime_t delay, - bigtime_t maxAccumulatingTime, int32 maxAccumulateCount) +TaskLoop::AccumulatedRunLater(AccumulatingFunctionObject* functor, + bigtime_t delay, bigtime_t maxAccumulatingTime, int32 maxAccumulateCount) { AutoLock autoLock(&fLock); if (!autoLock.IsLocked()) { @@ -351,8 +358,8 @@ TaskLoop::AccumulatedRunLater(AccumulatingFunctionObject* functor, bigtime_t del return; } } - RunLater(new AccumulatedOneShotDelayedTask(functor, delay, maxAccumulatingTime, - maxAccumulateCount)); + RunLater(new AccumulatedOneShotDelayedTask(functor, delay, + maxAccumulatingTime, maxAccumulateCount)); } @@ -479,8 +486,8 @@ StandAloneTaskLoop::StartPulsingIfNeeded() ASSERT(fLock.IsLocked()); if (fScanThread < 0) { // no loop thread yet, spawn one - fScanThread = spawn_thread(StandAloneTaskLoop::RunBinder, "TrackerTaskLoop", - B_LOW_PRIORITY, this); + fScanThread = spawn_thread(StandAloneTaskLoop::RunBinder, + "TrackerTaskLoop", B_LOW_PRIORITY, this); resume_thread(fScanThread); } } diff --git a/src/kits/tracker/TaskLoop.h b/src/kits/tracker/TaskLoop.h index 30b8d99bfd..5282ef838d 100644 --- a/src/kits/tracker/TaskLoop.h +++ b/src/kits/tracker/TaskLoop.h @@ -35,8 +35,8 @@ All rights reserved. #define __TASK_LOOP__ -// Delayed Tasks, Periodic Delayed Tasks, Periodic Delayed Tasks with timeout, -// Run when idle tasks, accumulating delayed tasks +// Delayed Tasks, Periodic Delayed Tasks, Periodic Delayed Tasks with timeout, +// Run when idle tasks, accumulating delayed tasks #include @@ -47,7 +47,6 @@ All rights reserved. namespace BPrivate { - // Task flavors class DelayedTask { @@ -110,8 +109,8 @@ protected: // until functor returns true class RunWhenIdleTask : public PeriodicDelayedTask { public: - RunWhenIdleTask(FunctionObjectWithResult* functor, bigtime_t initialDelay, - bigtime_t idleFor, bigtime_t heartBeat); + RunWhenIdleTask(FunctionObjectWithResult* functor, + bigtime_t initialDelay, bigtime_t idleFor, bigtime_t heartBeat); virtual ~RunWhenIdleTask(); virtual bool RunIfNeeded(bigtime_t currentTime); @@ -256,7 +255,6 @@ DelayedTask::RunAfterTime() const return fRunAfter; } - } // namespace BPrivate using namespace BPrivate; diff --git a/src/kits/tracker/TemplatesMenu.cpp b/src/kits/tracker/TemplatesMenu.cpp index fb251abd31..aa3468b073 100644 --- a/src/kits/tracker/TemplatesMenu.cpp +++ b/src/kits/tracker/TemplatesMenu.cpp @@ -168,7 +168,8 @@ TemplatesMenu::BuildMenu(bool addItems) BMessage* message = new BMessage(kNewEntryFromTemplate); message->AddRef("refs_template", &ref); message->AddString("name", fileName); - AddItem(new IconMenuItem(fileName, message, &nodeInfo, B_MINI_ICON)); + AddItem(new IconMenuItem(fileName, message, &nodeInfo, + B_MINI_ICON)); } } } diff --git a/src/kits/tracker/Tests.cpp b/src/kits/tracker/Tests.cpp index 2591229286..7b3c3f0b59 100644 --- a/src/kits/tracker/Tests.cpp +++ b/src/kits/tracker/Tests.cpp @@ -184,7 +184,8 @@ IconSpewer::DrawSomeNew() } if (numDrawn) { - sprintf(buffer, "average draw time %Ld us per icon", watch.ElapsedTime() / numDrawn); + sprintf(buffer, "average draw time %Ld us per icon", + watch.ElapsedTime() / numDrawn); view->DrawString(buffer, BPoint(20, bounds.bottom - 30)); } @@ -204,8 +205,9 @@ IconSpewer::DrawSomeNew() if (model.IsDirectory()) entry.GetPath(¤tPath); - IconCache::sIconCache->Draw(&model, view, BPoint(column * (kIconSize + 2), - row * (kIconSize + 2)), kNormalIcon, kIconSize, true); + IconCache::sIconCache->Draw(&model, view, + BPoint(column * (kIconSize + 2), row * (kIconSize + 2)), + kNormalIcon, kIconSize, true); target->Unlock(); numDrawn++; } @@ -239,7 +241,8 @@ IconSpewer::DrawSomeOld() view->DrawString(buffer, BPoint(20, bounds.bottom - 20)); } if (numDrawn) { - sprintf(buffer, "average draw time %Ld us per icon", watch.ElapsedTime() / numDrawn); + sprintf(buffer, "average draw time %Ld us per icon", + watch.ElapsedTime() / numDrawn); view->DrawString(buffer, BPoint(20, bounds.bottom - 30)); } sprintf(buffer, "directory: %s", currentPath.Path()); @@ -259,7 +262,8 @@ IconSpewer::DrawSomeOld() entry.GetPath(¤tPath); BIconCache::LockIconCache(); - BIconCache* iconCache = BIconCache::GetIconCache(&model, kIconSize); + BIconCache* iconCache + = BIconCache::GetIconCache(&model, kIconSize); iconCache->Draw(view, BPoint(column * (kIconSize + 2), row * (kIconSize + 2)), B_NORMAL_ICON, kIconSize, true); BIconCache::UnlockIconCache(); @@ -310,8 +314,8 @@ IconSpewer::NextRef() IconTestWindow::IconTestWindow() - : BWindow(BRect(100, 100, 500, 600), "icon cache test", B_TITLED_WINDOW_LOOK, - B_NORMAL_WINDOW_FEEL, 0), + : BWindow(BRect(100, 100, 500, 600), "icon cache test", + B_TITLED_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, 0), iconSpewer(modifiers() == 0) { iconSpewer.SetTarget(this); diff --git a/src/kits/tracker/TextWidget.cpp b/src/kits/tracker/TextWidget.cpp index c788972ac5..e1e00dc3e3 100644 --- a/src/kits/tracker/TextWidget.cpp +++ b/src/kits/tracker/TextWidget.cpp @@ -91,7 +91,8 @@ BTextWidget::Compare(const BTextWidget& with, BPoseView* view) const const char* BTextWidget::Text(const BPoseView* view) const { - StringAttributeText* textAttribute = dynamic_cast(fText); + StringAttributeText* textAttribute + = dynamic_cast(fText); if (textAttribute == NULL) return NULL; @@ -146,7 +147,8 @@ BTextWidget::CalcRectCommon(BPoint poseLoc, const BColumn* column, break; case B_ALIGN_CENTER: - result.left = poseLoc.x + (column->Width() / 2) - (textWidth / 2); + result.left = poseLoc.x + (column->Width() / 2) + - (textWidth / 2); if (result.left < 0) result.left = 0; result.right = result.left + textWidth + 1; @@ -277,8 +279,8 @@ TextViewFilter(BMessage* message, BHandler**, BMessageFilter* filter) if (message->FindInt8("byte", (int8*)&key) != B_OK) return B_DISPATCH_MESSAGE; - BPoseView* poseView = dynamic_cast(filter->Looper())-> - PoseView(); + BPoseView* poseView = dynamic_cast( + filter->Looper())->PoseView(); if (key == B_RETURN || key == B_ESCAPE) { poseView->CommitActivePose(key == B_RETURN); @@ -302,7 +304,8 @@ TextViewFilter(BMessage* message, BHandler**, BMessageFilter* filter) // find the text editing view BView* scrollView = poseView->FindView("BorderView"); if (scrollView != NULL) { - BTextView* textView = dynamic_cast(scrollView->FindView("WidgetTextView")); + BTextView* textView = dynamic_cast( + scrollView->FindView("WidgetTextView")); if (textView != NULL) { BRect rect = scrollView->Frame(); @@ -343,8 +346,8 @@ BTextWidget::StartEdit(BRect bounds, BPoseView* view, BPose* pose) BFont font; view->GetFont(&font); - BTextView* textView = new BTextView(rect, "WidgetTextView", textRect, &font, 0, - B_FOLLOW_ALL, B_WILL_DRAW); + BTextView* textView = new BTextView(rect, "WidgetTextView", textRect, + &font, 0, B_FOLLOW_ALL, B_WILL_DRAW); textView->SetWordWrap(false); DisallowMetaKeys(textView); @@ -375,8 +378,8 @@ BTextWidget::StartEdit(BRect bounds, BPoseView* view, BPose* pose) textView->MoveTo(rect.LeftTop()); textView->ResizeTo(rect.Width(), rect.Height()); - BScrollView* scrollView = new BScrollView("BorderView", textView, 0, 0, false, - false, B_PLAIN_BORDER); + BScrollView* scrollView = new BScrollView("BorderView", textView, 0, 0, + false, false, B_PLAIN_BORDER); view->AddChild(scrollView); // configure text view @@ -406,9 +409,10 @@ BTextWidget::StartEdit(BRect bounds, BPoseView* view, BPose* pose) ASSERT(view->Window()); // how can I not have a Window here??? - if (view->Window()) + if (view->Window()) { // force immediate redraw so TextView appears instantly view->Window()->UpdateIfNeeded(); + } } @@ -422,7 +426,8 @@ BTextWidget::StopEdit(bool saveChanges, BPoint poseLoc, BPoseView* view, if (!scrollView) return; - BTextView* textView = dynamic_cast(scrollView->FindView("WidgetTextView")); + BTextView* textView = dynamic_cast( + scrollView->FindView("WidgetTextView")); ASSERT(textView); if (!textView) return; @@ -454,8 +459,8 @@ BTextWidget::StopEdit(bool saveChanges, BPoint poseLoc, BPoseView* view, void -BTextWidget::CheckAndUpdate(BPoint loc, const BColumn* column, BPoseView* view, - bool visible) +BTextWidget::CheckAndUpdate(BPoint loc, const BColumn* column, + BPoseView* view, bool visible) { BRect oldRect; if (view->ViewMode() != kListMode) @@ -474,7 +479,8 @@ BTextWidget::CheckAndUpdate(BPoint loc, const BColumn* column, BPoseView* view, void BTextWidget::SelectAll(BPoseView* view) { - BTextView* text = dynamic_cast(view->FindView("WidgetTextView")); + BTextView* text = dynamic_cast( + view->FindView("WidgetTextView")); if (text) text->SelectAll(); } @@ -482,7 +488,8 @@ BTextWidget::SelectAll(BPoseView* view) void BTextWidget::Draw(BRect eraseRect, BRect textRect, float, BPoseView* view, - BView* drawView, bool selected, uint32 clipboardMode, BPoint offset, bool direct) + BView* drawView, bool selected, uint32 clipboardMode, BPoint offset, + bool direct) { textRect.OffsetBy(offset); diff --git a/src/kits/tracker/TextWidget.h b/src/kits/tracker/TextWidget.h index 9fdc10a052..0c4f01144b 100644 --- a/src/kits/tracker/TextWidget.h +++ b/src/kits/tracker/TextWidget.h @@ -52,7 +52,8 @@ public: void Draw(BRect widgetRect, BRect widgetTextRect, float width, BPoseView*, bool selected, uint32 clipboardMode); void Draw(BRect widgetRect, BRect widgetTextRect, float width, BPoseView*, - BView* drawView, bool selected, uint32 clipboardMode, BPoint offset, bool direct); + BView* drawView, bool selected, uint32 clipboardMode, BPoint offset, + bool direct); // second call is used for offscreen drawing, where PoseView // and current drawing view are different @@ -72,7 +73,8 @@ public: // we can invalidate properly void StartEdit(BRect bounds, BPoseView*, BPose*); - void StopEdit(bool saveChanges, BPoint loc, BPoseView*, BPose*, int32 index); + void StopEdit(bool saveChanges, BPoint loc, BPoseView*, BPose*, + int32 index); void SelectAll(BPoseView* view); void CheckAndUpdate(BPoint, const BColumn*, BPoseView*, bool visible); diff --git a/src/kits/tracker/Thread.cpp b/src/kits/tracker/Thread.cpp index 79e64d5e66..9ca801fa5c 100644 --- a/src/kits/tracker/Thread.cpp +++ b/src/kits/tracker/Thread.cpp @@ -103,7 +103,8 @@ Thread::Run() void -ThreadSequence::Launch(BObjectList* list, bool async, int32 priority) +ThreadSequence::Launch(BObjectList* list, bool async, + int32 priority) { if (!async) { // if not async, don't even create a thread, just do it right away @@ -113,7 +114,8 @@ ThreadSequence::Launch(BObjectList* list, bool async, int32 prio } -ThreadSequence::ThreadSequence(BObjectList* list, int32 priority) +ThreadSequence::ThreadSequence(BObjectList* list, + int32 priority) : SimpleThread(priority), fFunctorList(list) { diff --git a/src/kits/tracker/Thread.h b/src/kits/tracker/Thread.h index c35bcdce81..6cea939845 100644 --- a/src/kits/tracker/Thread.h +++ b/src/kits/tracker/Thread.h @@ -95,9 +95,11 @@ private: // would use SingleParamFunctionObjectWithResult, except mwcc won't handle this template -class SingleParamFunctionObjectWorkaround : public FunctionObjectWithResult { +class SingleParamFunctionObjectWorkaround : public + FunctionObjectWithResult { public: - SingleParamFunctionObjectWorkaround(status_t (*function)(Param1), Param1 param1) + SingleParamFunctionObjectWorkaround( + status_t (*function)(Param1), Param1 param1) : fFunction(function), fParam1(param1) { @@ -115,7 +117,8 @@ private: }; template -class SimpleMemberFunctionObjectWorkaround : public FunctionObjectWithResult { +class SimpleMemberFunctionObjectWorkaround : public + FunctionObjectWithResult { public: SimpleMemberFunctionObjectWorkaround(status_t (T::*function)(), T* onThis) : fFunction(function), @@ -135,7 +138,8 @@ private: template -class TwoParamFunctionObjectWorkaround : public FunctionObjectWithResult { +class TwoParamFunctionObjectWorkaround : public + FunctionObjectWithResult { public: TwoParamFunctionObjectWorkaround(status_t (*callThis)(Param1, Param2), Param1 param1, Param2 param2) @@ -158,9 +162,11 @@ private: template -class ThreeParamFunctionObjectWorkaround : public FunctionObjectWithResult { +class ThreeParamFunctionObjectWorkaround : public + FunctionObjectWithResult { public: - ThreeParamFunctionObjectWorkaround(status_t (*callThis)(Param1, Param2, Param3), + ThreeParamFunctionObjectWorkaround( + status_t (*callThis)(Param1, Param2, Param3), Param1 param1, Param2 param2, Param3 param3) : function(callThis), fParam1(param1), @@ -183,9 +189,11 @@ private: template -class FourParamFunctionObjectWorkaround : public FunctionObjectWithResult { +class FourParamFunctionObjectWorkaround : public + FunctionObjectWithResult { public: - FourParamFunctionObjectWorkaround(status_t (*callThis)(Param1, Param2, Param3, Param4), + FourParamFunctionObjectWorkaround( + status_t (*callThis)(Param1, Param2, Param3, Param4), Param1 param1, Param2 param2, Param3 param3, Param4 param4) : function(callThis), fParam1(param1), @@ -267,7 +275,8 @@ template class MouseDownThread { public: static void TrackMouse(View* view, void (View::*)(BPoint), - void (View::*)(BPoint, uint32) = 0, bigtime_t pressingPeriod = 100000); + void (View::*)(BPoint, uint32) = 0, + bigtime_t pressingPeriod = 100000); protected: MouseDownThread(View* view, void (View::*)(BPoint), diff --git a/src/kits/tracker/TitleView.cpp b/src/kits/tracker/TitleView.cpp index f22cd61aa4..a0838d9ef9 100644 --- a/src/kits/tracker/TitleView.cpp +++ b/src/kits/tracker/TitleView.cpp @@ -109,7 +109,8 @@ BTitleView::BTitleView(BRect frame, BPoseView* view) fPreviouslyClickedColumnTitle(0), fTrackingState(NULL) { - sTitleBackground = tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), 0.88f); // 216 -> 220 + sTitleBackground = tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), 0.88f); + // 216 -> 220 sDarkTitleBackground = tint_color(sTitleBackground, B_DARKEN_1_TINT); sShineColor = tint_color(sTitleBackground, B_LIGHTEN_MAX_TINT); sLightShadowColor = tint_color(sTitleBackground, B_DARKEN_2_TINT); @@ -210,9 +211,8 @@ BTitleView::Draw(BRect /*updateRect*/, bool useOffscreen, bool updateOnly, ASSERT(sOffscreen); BRect frame(bounds); frame.right += frame.left; - // this is kind of messy way of avoiding being clipped by the ammount the - // title is scrolled to the left - // ToDo: fix this + // ToDo: this is kind of messy way of avoiding being clipped + // by the amount the title is scrolled to the left view = sOffscreen->BeginUsing(frame); view->SetOrigin(-bounds.left, 0); view->SetLowColor(LowColor()); @@ -238,10 +238,12 @@ BTitleView::Draw(BRect /*updateRect*/, bool useOffscreen, bool updateOnly, view->BeginLineArray(4); view->AddLine(bounds.LeftTop(), bounds.RightTop(), sShadowColor); - view->AddLine(bounds.LeftBottom(), bounds.RightBottom(), sShadowColor); + view->AddLine(bounds.LeftBottom(), bounds.RightBottom(), + sShadowColor); // draw lighter gray and white inset lines bounds.InsetBy(0, 1); - view->AddLine(bounds.LeftBottom(), bounds.RightBottom(), sLightShadowColor); + view->AddLine(bounds.LeftBottom(), bounds.RightBottom(), + sLightShadowColor); view->AddLine(bounds.LeftTop(), bounds.RightTop(), sShineColor); view->EndLineArray(); } @@ -263,7 +265,8 @@ BTitleView::Draw(BRect /*updateRect*/, bool useOffscreen, bool updateOnly, bounds = Bounds(); minx--; view->SetHighColor(sLightShadowColor); - view->StrokeLine(BPoint(minx, bounds.top), BPoint(minx, bounds.bottom - 1)); + view->StrokeLine(BPoint(minx, bounds.top), + BPoint(minx, bounds.bottom - 1)); } else { // first and last shades before and after first column maxx++; @@ -277,8 +280,10 @@ BTitleView::Draw(BRect /*updateRect*/, bool useOffscreen, bool updateOnly, } #if !(APP_SERVER_CLEARS_BACKGROUND) - FillRect(BRect(bounds.left, bounds.top + 1, minx - 1, bounds.bottom - 1), B_SOLID_LOW); - FillRect(BRect(maxx + 1, bounds.top + 1, bounds.right, bounds.bottom - 1), B_SOLID_LOW); + FillRect(BRect(bounds.left, bounds.top + 1, minx - 1, bounds.bottom - 1), + B_SOLID_LOW); + FillRect(BRect(maxx + 1, bounds.top + 1, bounds.right, bounds.bottom - 1), + B_SOLID_LOW); #endif if (useOffscreen) { @@ -334,8 +339,10 @@ BTitleView::MouseDown(BPoint where) bool force = static_cast(buttons & B_TERTIARY_MOUSE_BUTTON); if (force || buttons & B_PRIMARY_MOUSE_BUTTON) { if (force || fPreviouslyClickedColumnTitle != 0) { - if (force || system_time() - fPreviousLeftClickTime < doubleClickSpeed) { - if (fPoseView->ResizeColumnToWidest(resizedTitle->Column())) { + if (force || system_time() - fPreviousLeftClickTime + < doubleClickSpeed) { + if (fPoseView-> + ResizeColumnToWidest(resizedTitle->Column())) { Invalidate(); return; } @@ -347,7 +354,8 @@ BTitleView::MouseDown(BPoint where) } else if (!title) return; - SetMouseEventMask(B_POINTER_EVENTS, B_NO_POINTER_HISTORY | B_LOCK_WINDOW_FOCUS); + SetMouseEventMask(B_POINTER_EVENTS, + B_NO_POINTER_HISTORY | B_LOCK_WINDOW_FOCUS); // track the mouse if (resizedTitle) { @@ -467,7 +475,8 @@ BColumnTitle::InColumnResizeArea(BPoint where) const BRect BColumnTitle::Bounds() const { - BRect bounds(fColumn->Offset() - kTitleColumnLeftExtraMargin, 0, 0, kTitleViewHeight); + BRect bounds(fColumn->Offset() - kTitleColumnLeftExtraMargin, 0, 0, + kTitleViewHeight); bounds.right = bounds.left + fColumn->Width() + kTitleColumnExtraMargin; return bounds; @@ -512,7 +521,8 @@ BColumnTitle::Draw(BView* view, bool pressed) break; case B_ALIGN_RIGHT: - loc.x = bounds.right - resultingWidth - kTitleColumnRightExtraMargin; + loc.x = bounds.right - resultingWidth + - kTitleColumnRightExtraMargin; break; } @@ -520,8 +530,10 @@ BColumnTitle::Draw(BView* view, bool pressed) view->DrawString(titleString.String(), loc); // show sort columns - bool secondary = (fColumn->AttrHash() == fParent->PoseView()->SecondarySort()); - if (secondary || (fColumn->AttrHash() == fParent->PoseView()->PrimarySort())) { + bool secondary + = (fColumn->AttrHash() == fParent->PoseView()->SecondarySort()); + if (secondary + || (fColumn->AttrHash() == fParent->PoseView()->PrimarySort())) { BPoint center(loc.x - 6, roundf((bounds.top + bounds.bottom) / 2.0)); BPoint triangle[3]; @@ -539,10 +551,12 @@ BColumnTitle::Draw(BView* view, bool pressed) view->SetFlags(flags | B_SUBPIXEL_PRECISE); if (secondary) { - view->SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), 1.3)); + view->SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), + 1.3)); view->FillTriangle(triangle[0], triangle[1], triangle[2]); } else { - view->SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), 1.6)); + view->SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), + 1.6)); view->FillTriangle(triangle[0], triangle[1], triangle[2]); } @@ -626,7 +640,8 @@ ColumnResizeState::ColumnResizeState(BTitleView* view, BColumnTitle* title, BPoint where, bigtime_t pastClickTime) : ColumnTrackState(view, title, where, pastClickTime), fLastLineDrawPos(-1), - fInitialTrackOffset((title->fColumn->Offset() + title->fColumn->Width()) - where.x) + fInitialTrackOffset((title->fColumn->Offset() + title->fColumn->Width()) + - where.x) { DrawLine(); } @@ -635,7 +650,8 @@ ColumnResizeState::ColumnResizeState(BTitleView* view, BColumnTitle* title, bool ColumnResizeState::ValueChanged(BPoint where) { - float newWidth = where.x + fInitialTrackOffset - fTitle->fColumn->Offset(); + float newWidth = where.x + fInitialTrackOffset + - fTitle->fColumn->Offset(); if (newWidth < kMinColumnWidth) newWidth = kMinColumnWidth; @@ -646,7 +662,8 @@ ColumnResizeState::ValueChanged(BPoint where) void ColumnResizeState::Moved(BPoint where, uint32) { - float newWidth = where.x + fInitialTrackOffset - fTitle->fColumn->Offset(); + float newWidth = where.x + fInitialTrackOffset + - fTitle->fColumn->Offset(); if (newWidth < kMinColumnWidth) newWidth = kMinColumnWidth; @@ -692,7 +709,8 @@ ColumnResizeState::DrawLine() fLastLineDrawPos = poseViewBounds.left; // draw the line in the new location - _DrawLine(poseView, poseViewBounds.LeftTop(), poseViewBounds.LeftBottom()); + _DrawLine(poseView, poseViewBounds.LeftTop(), + poseViewBounds.LeftBottom()); } @@ -740,7 +758,8 @@ ColumnDragState::Moved(BPoint where, uint32) ? fTitleView->FindColumnTitle(where) : 0; BRect titleBoundsWithMargin(titleBounds); titleBoundsWithMargin.InsetBy(0, -kRemoveTitleMargin); - bool inMarginRect = overTitleView || titleBoundsWithMargin.Contains(where); + bool inMarginRect = overTitleView + || titleBoundsWithMargin.Contains(where); bool drawOutline = false; bool undrawOutline = false; @@ -773,7 +792,8 @@ ColumnDragState::Moved(BPoint where, uint32) fColumnArchive.Seek(0, SEEK_SET); fTitle->Column()->ArchiveToStream(&fColumnArchive); fInitialMouseTrackOffset -= fTitle->Bounds().left; - if (fTitleView->PoseView()->RemoveColumn(fTitle->Column(), false)) { + if (fTitleView->PoseView()->RemoveColumn(fTitle->Column(), + false)) { fTitle = 0; fTitleView->BeginRectTracking(rect); fTrackingRemovedColumn = true; @@ -783,9 +803,11 @@ ColumnDragState::Moved(BPoint where, uint32) // over a different column && (overTitle->Bounds().left >= fTitle->Bounds().right // over the one to the right - || where.x < overTitle->Bounds().left + fTitle->Bounds().Width())){ - // over the one to the left, far enough to not snap right back - + || where.x < overTitle->Bounds().left + + fTitle->Bounds().Width())) { + // over the one to the left, far enough to not snap + // right back + BColumn* column = fTitle->Column(); fInitialMouseTrackOffset -= fTitle->Bounds().left; // swap the columns @@ -873,7 +895,8 @@ ColumnDragState::DrawOutline(float pos) { BRect outline(fTitle->Bounds()); outline.OffsetBy(pos, 0); - fTitleView->Draw(fTitleView->Bounds(), true, false, fTitle, _DrawOutline, outline); + fTitleView->Draw(fTitleView->Bounds(), true, false, fTitle, _DrawOutline, + outline); } diff --git a/src/kits/tracker/Tracker.cpp b/src/kits/tracker/Tracker.cpp index 552081a8cc..bf44a53b39 100644 --- a/src/kits/tracker/Tracker.cpp +++ b/src/kits/tracker/Tracker.cpp @@ -160,8 +160,8 @@ InitIconPreloader() if (IconCache::sIconCache != NULL) return; - // only start the node preloader if its Tracker or the Deskbar itself - don't - // start it for file panels + // only start the node preloader if its Tracker or the Deskbar itself, + // don't start it for file panels bool preload = dynamic_cast(be_app) != NULL; if (!preload) { @@ -171,8 +171,11 @@ InitIconPreloader() && !strcmp(info.signature, kDeskbarSignature)) preload = true; } - if (preload) - gPreloader = NodePreloader::InstallNodePreloader("NodePreloader", be_app); + + if (preload) { + gPreloader = NodePreloader::InstallNodePreloader("NodePreloader", + be_app); + } IconCache::sIconCache = new IconCache(); @@ -245,7 +248,8 @@ TTracker::TTracker() SetMallocLeakChecking(true); #endif - //This is how often it should update the free space bar on the volume icons + // This is how often it should update the free space bar on the + // volume icons SetPulseRate(1000000); gLaunchLooper = new LaunchLooper(); @@ -302,25 +306,33 @@ TTracker::QuitRequested() BEntry entry; BPath path; const entry_ref* ref = window->TargetModel()->EntryRef(); - if (entry.SetTo(ref) == B_OK && entry.GetPath(&path) == B_OK) { - int8 flags = window->IsMinimized() ? kOpenWindowMinimized : kOpenWindowNoFlags; - uint32 deviceFlags = GetVolumeFlags(window->TargetModel()); + if (entry.SetTo(ref) == B_OK + && entry.GetPath(&path) == B_OK) { + int8 flags = window->IsMinimized() + ? kOpenWindowMinimized : kOpenWindowNoFlags; + uint32 deviceFlags + = GetVolumeFlags(window->TargetModel()); // save state for every window which is // a) already open on another workspace // b) on a volume not capable of writing attributes if (window != FindContainerWindow(ref) - || (deviceFlags & (B_FS_HAS_ATTR | B_FS_IS_READONLY)) != B_FS_HAS_ATTR) { + || (deviceFlags + & (B_FS_HAS_ATTR | B_FS_IS_READONLY)) + != B_FS_HAS_ATTR) { BMessage stateMessage; window->SaveState(stateMessage); window->SetSaveStateEnabled(false); - // This is to prevent its state to be saved to the node when closed. + // This is to prevent its state to be saved + // to the node when closed. message.AddMessage("window state", &stateMessage); flags |= kOpenWindowHasState; } const char* target; bool pathAlreadyExists = false; - for (int32 index = 0;message.FindString("paths", index, &target) == B_OK;index++) { + for (int32 index = 0; + message.FindString("paths", index, &target) + == B_OK; index++) { if (!strcmp(target,path.Path())) { pathAlreadyExists = true; break; @@ -345,7 +357,8 @@ TTracker::QuitRequested() size_t size = (size_t)message.FlattenedSize(); char* buffer = new char[size]; message.Flatten(buffer, (ssize_t)size); - deskDir.WriteAttr(kAttrOpenWindows, B_MESSAGE_TYPE, 0, buffer, size); + deskDir.WriteAttr(kAttrOpenWindows, B_MESSAGE_TYPE, 0, buffer, + size); delete [] buffer; } else deskDir.RemoveAttr(kAttrOpenWindows); @@ -446,8 +459,8 @@ TTracker::MessageReceived(BMessage* message) // Someone (probably the deskbar) has requested a list of // mountable volumes. BMessage reply; - AutoMounterLoop()->EachMountableItemAndFloppy(&AddMountableItemToMessage, - &reply); + AutoMounterLoop()->EachMountableItemAndFloppy( + &AddMountableItemToMessage, &reply); message->SendReply(&reply); break; } @@ -550,7 +563,8 @@ TTracker::SetDefaultPrinter(const BMessage* message) if (count <= 0) return; - // will make the first item the default printer, disregards any other files + // will make the first item the default printer, disregards any + // other files entry_ref ref; ASSERT(message->FindRef("refs", 0, &ref) == B_OK); if (message->FindRef("refs", 0, &ref) != B_OK) @@ -610,10 +624,12 @@ TTracker::MoveRefsToTrash(const BMessage* message) template -class EntryAndNodeDoSoonWithMessageFunctor : public FunctionObjectWithResult { +class EntryAndNodeDoSoonWithMessageFunctor : public + FunctionObjectWithResult { public: - EntryAndNodeDoSoonWithMessageFunctor(FT func, T* target, const entry_ref* child, - const node_ref* parent, const BMessage* message) + EntryAndNodeDoSoonWithMessageFunctor(FT func, T* target, + const entry_ref* child, const node_ref* parent, + const BMessage* message) : fFunc(func), fTarget(target), fNode(*parent), @@ -625,8 +641,10 @@ public: } virtual ~EntryAndNodeDoSoonWithMessageFunctor() {} - virtual void operator()() - { result = (fTarget->*fFunc)(&fEntry, &fNode, fSendMessage ? &fMessage : NULL); } + virtual void operator()() { + result = (fTarget->*fFunc)(&fEntry, &fNode, + fSendMessage ? &fMessage : NULL); + } protected: FT fFunc; @@ -651,8 +669,8 @@ TTracker::LaunchAndCloseParentIfOK(const entry_ref* launchThis, // synchronous launch, we are already in our own thread if (TrackerLaunch(&refsReceived, false) == B_OK) { // if launched fine, close parent window in a bit - fTaskLoop->RunLater(NewMemberFunctionObject(&TTracker::CloseParent, this, *closeThis), - 1000000); + fTaskLoop->RunLater(NewMemberFunctionObject(&TTracker::CloseParent, + this, *closeThis), 1000000); } return false; } @@ -674,15 +692,18 @@ TTracker::OpenRef(const entry_ref* ref, const node_ref* nodeToClose, model = new Model(ref, false); if (model->IsSymLink() && !model->LinkTo()) { model->GetPreferredAppForBrokenSymLink(brokenLinkPreferredApp); - if (brokenLinkPreferredApp.Length() && brokenLinkPreferredApp != kTrackerSignature) + if (brokenLinkPreferredApp.Length() + && brokenLinkPreferredApp != kTrackerSignature) { brokenLinkWithSpecificHandler = true; + } } if (!brokenLinkWithSpecificHandler) { delete model; BAlert* alert = new BAlert("", B_TRANSLATE("There was an error resolving the link."), - B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, B_WARNING_ALERT); + B_TRANSLATE("Cancel"), 0, 0, B_WIDTH_AS_USUAL, + B_WARNING_ALERT); alert->SetShortcut(0, B_ESCAPE); alert->Go(); return result; @@ -715,7 +736,8 @@ TTracker::OpenRef(const entry_ref* ref, const node_ref* nodeToClose, if (openAsContainer || selector == kRunOpenWithWindow) { // special case opening plain folders, queries or using open with - OpenContainerWindow(model, 0, selector, kRestoreDecor); // window adopts model + OpenContainerWindow(model, 0, selector, kRestoreDecor); + // window adopts model if (nodeToClose) CloseParentWaitingForChildSoon(ref, nodeToClose); } else if (model->IsQueryTemplate()) { @@ -742,8 +764,9 @@ TTracker::OpenRef(const entry_ref* ref, const node_ref* nodeToClose, } refsReceived.AddRef("refs", ref); if (brokenLinkWithSpecificHandler) - // This cruft is to support a hacky workaround for double-clicking - // broken refs for cifs; should get fixed in R5 + // This cruft is to support a hacky workaround for + // double-clicking broken refs for cifs; should get fixed + // in R5 LaunchBrokenLink(brokenLinkPreferredApp.String(), &refsReceived); else TrackerLaunch(&refsReceived, true); @@ -778,60 +801,62 @@ TTracker::RefsReceived(BMessage* message) break; case kOpenWith: + { + // Open With resulted in passing refs and a handler, + // open the files with the handling app + message->RemoveName("handler"); + + // have to find out if handling app is the Tracker + // if it is, just pass it to the active Tracker, + // no matter which Tracker was chosen to handle the refs + char signature[B_MIME_TYPE_LENGTH]; + signature[0] = '\0'; { - // Open With resulted in passing refs and a handler, open the files - // with the handling app - message->RemoveName("handler"); - - // have to find out if handling app is the Tracker - // if it is, just pass it to the active Tracker, no matter which Tracker - // was chosen to handle the refs - char signature[B_MIME_TYPE_LENGTH]; - signature[0] = '\0'; - { - BFile handlingNode(&handlingApp, O_RDONLY); - BAppFileInfo appInfo(&handlingNode); - appInfo.GetSignature(signature); - } - - if (strcasecmp(signature, kTrackerSignature) != 0) { - // handling app not Tracker, pass entries to the apps RefsReceived - TrackerLaunch(&handlingApp, message, true); - break; - } - // fall thru, opening refs by the Tracker, as if they were double clicked + BFile handlingNode(&handlingApp, O_RDONLY); + BAppFileInfo appInfo(&handlingNode); + appInfo.GetSignature(signature); } - case kOpen: - { - // copy over "Poses" messenger so that refs received recipients know - // where the open came from - BMessage* bundleThis = NULL; - BMessenger messenger; - if (message->FindMessenger("TrackerViewToken", &messenger) == B_OK) { - bundleThis = new BMessage(); - bundleThis->AddMessenger("TrackerViewToken", messenger); - } - - for (int32 index = 0; index < count; index++) { - entry_ref ref; - message->FindRef("refs", index, &ref); - - const node_ref* nodeToClose = NULL; - const node_ref* nodeToSelect = NULL; - ssize_t numBytes; - - message->FindData("nodeRefsToClose", B_RAW_TYPE, index, - (const void**)&nodeToClose, &numBytes); - message->FindData("nodeRefToSelect", B_RAW_TYPE, index, - (const void**)&nodeToSelect, &numBytes); - - OpenRef(&ref, nodeToClose, nodeToSelect, selector, bundleThis); - } - - delete bundleThis; + if (strcasecmp(signature, kTrackerSignature) != 0) { + // handling app not Tracker, pass entries to the apps + // RefsReceived + TrackerLaunch(&handlingApp, message, true); break; } + } // fall thru, opening refs by the Tracker as if they were + // double-clicked + case kOpen: + { + // copy over "Poses" messenger so that refs received + // recipients know where the open came from + BMessage* bundleThis = NULL; + BMessenger messenger; + if (message->FindMessenger("TrackerViewToken", &messenger) + == B_OK) { + bundleThis = new BMessage(); + bundleThis->AddMessenger("TrackerViewToken", messenger); + } + + for (int32 index = 0; index < count; index++) { + entry_ref ref; + message->FindRef("refs", index, &ref); + + const node_ref* nodeToClose = NULL; + const node_ref* nodeToSelect = NULL; + ssize_t numBytes; + + message->FindData("nodeRefsToClose", B_RAW_TYPE, index, + (const void**)&nodeToClose, &numBytes); + message->FindData("nodeRefToSelect", B_RAW_TYPE, index, + (const void**)&nodeToSelect, &numBytes); + + OpenRef(&ref, nodeToClose, nodeToSelect, selector, + bundleThis); + } + + delete bundleThis; + break; + } } } @@ -1104,8 +1129,8 @@ TTracker::QueryActiveForDevice(dev_t device) void TTracker::CloseActiveQueryWindows(dev_t device) { - // used when trying to unmount a volume - an active query would prevent that from - // happening + // used when trying to unmount a volume - an active query would prevent + // that from happening bool closed = false; AutoLock lock(fWindowList); for (int32 index = fWindowList.CountItems(); index >= 0; index--) { @@ -1136,7 +1161,8 @@ TTracker::SaveAllPoseLocations() int32 numWindows = fWindowList.CountItems(); for (int32 windowIndex = 0; windowIndex < numWindows; windowIndex++) { BContainerWindow* window - = dynamic_cast(fWindowList.ItemAt(windowIndex)); + = dynamic_cast + (fWindowList.ItemAt(windowIndex)); if (window) { AutoLock lock(window); @@ -1281,9 +1307,10 @@ TTracker::_OpenPreviouslyOpenedWindows(const char* pathFilter) BMessage state; bool restoreStateFromMessage = false; if ((flags & kOpenWindowHasState) != 0 - && message.FindMessage("window state", stateMessageCounter++, - &state) == B_OK) + && message.FindMessage("window state", + stateMessageCounter++, &state) == B_OK) { restoreStateFromMessage = true; + } if (restoreStateFromMessage) { OpenContainerWindow(model, 0, kOpen, kRestoreWorkspace @@ -1356,7 +1383,8 @@ TTracker::ReadyToRun() message.AddInt32("opcode", B_ENTRY_CREATED); message.AddInt32("device", model.NodeRef()->device); message.AddInt64("node", model.NodeRef()->node); - message.AddInt64("directory", model.EntryRef()->directory); + message.AddInt64("directory", + model.EntryRef()->directory); message.AddString("name", model.EntryRef()->name); deskWindow->PostMessage(&message, deskWindow->PoseView()); } @@ -1426,9 +1454,10 @@ TTracker::CloseParentWaitingForChild(const entry_ref* child, AutoLock lock(&fWindowList); BContainerWindow* parentWindow = FindContainerWindow(parent); - if (!parentWindow) + if (!parentWindow) { // parent window already closed, give up return true; + } // If child is a symbolic link, dereference it, so that // FindContainerWindow will succeed. diff --git a/src/kits/tracker/Tracker.h b/src/kits/tracker/Tracker.h index 5a31f782cc..16002c47da 100644 --- a/src/kits/tracker/Tracker.h +++ b/src/kits/tracker/Tracker.h @@ -137,8 +137,10 @@ class TTracker : public BApplication { void ShowSettingsWindow(); - BContainerWindow* FindContainerWindow(const node_ref*, int32 number = 0) const; - BContainerWindow* FindContainerWindow(const entry_ref*, int32 number = 0) const; + BContainerWindow* FindContainerWindow(const node_ref*, + int32 number = 0) const; + BContainerWindow* FindContainerWindow(const entry_ref*, + int32 number = 0) const; BContainerWindow* FindParentContainerWindow(const entry_ref*) const; // right now works just on plain windows, not on query windows @@ -176,12 +178,12 @@ class TTracker : public BApplication { bool InstallMimeIfNeeded(const char* type, int32 bitsID, const char* shortDescription, const char* longDescription, const char* preferredAppSignature, uint32 forceMask = 0); - // used by InitMimeTypes - checks if a metamime of a given is - // installed and if it has all the specified attributes; if not, the - // whole mime type is installed and all attributes are set; nulls can - // be passed for attributes that don't matter; returns true if anything - // had to be changed - // can be used to forcibly set a metamime attribute, even if it exists + // used by InitMimeTypes - checks if a metamime of a given + // is installed and if it has all the specified attributes; + // if not, the whole mime type is installed and all attributes + // are set; nulls can be passed for attributes that don't matter; + // returns true if anything had to be changed can be + // used to forcibly set a metamime attribute, even if it exists void InstallDefaultTemplates(); void InstallTemporaryBackgroundImages(); @@ -196,7 +198,8 @@ class TTracker : public BApplication { void MoveRefsToTrash(const BMessage*); void OpenContainerWindow(Model*, BMessage* refsList = NULL, OpenSelector openSelector = kOpen, uint32 openFlags = 0, - bool checkAlreadyOpen = true, const BMessage* stateMessage = NULL); + bool checkAlreadyOpen = true, + const BMessage* stateMessage = NULL); // pass either a Model or a list of entries to open void _OpenPreviouslyOpenedWindows(const char* pathFilter = NULL); @@ -208,7 +211,8 @@ class TTracker : public BApplication { BDeskWindow* GetDeskWindow() const; status_t OpenRef(const entry_ref*, const node_ref* nodeToClose = NULL, - const node_ref* nodeToSelect = NULL, OpenSelector selector = kOpen, + const node_ref* nodeToSelect = NULL, + OpenSelector selector = kOpen, const BMessage* messageToBundle = NULL); MimeTypeList* fMimeTypeList; diff --git a/src/kits/tracker/TrackerInitialState.cpp b/src/kits/tracker/TrackerInitialState.cpp index 1c0c12abac..7bc3c893e8 100644 --- a/src/kits/tracker/TrackerInitialState.cpp +++ b/src/kits/tracker/TrackerInitialState.cpp @@ -94,15 +94,16 @@ const char* kPeopleSignature = "application/x-vnd.Be-PEPL"; // the following templates are in big endian and we rely on the Tracker // translation support to swap them on little endian machines // -// in case there is an attribute (B_RECT_TYPE) that gets swapped by the media (unzip, -// file system endianness swapping, etc., the correct endianness for the -// correct machine has to be used here +// in case there is an attribute (B_RECT_TYPE) that gets swapped by the media +// (unzip, file system endianness swapping, etc., the correct endianness for +// the correct machine has to be used here const BRect kDefaultFrame(40, 40, 695, 350); const int32 kDefaultQueryTemplateCount = 3; const AttributeTemplate kDefaultQueryTemplate[] = - /* /boot/home/config/settings/Tracker/DefaultQueryTemplates/application_octet-stream */ + /* /boot/home/config/settings/Tracker/DefaultQueryTemplates/ + application_octet-stream */ { { // default frame @@ -117,8 +118,8 @@ const AttributeTemplate kDefaultQueryTemplate[] = B_RAW_TYPE, 49, "o^\365R\000\000\000\012Tlst\000\000\000\000\000\000\000\000\000\000" - "\000\000\000\000\000\000\000\000\000\000\357\323\335RCSTR\000\000\000" - "\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\357\323\335RCSTR\000\000" + "\000\000\000\000\000\000\000" }, { // attr: _trk/columns @@ -138,7 +139,8 @@ const AttributeTemplate kDefaultQueryTemplate[] = }; const AttributeTemplate kBookmarkQueryTemplate[] = - /* /boot/home/config/settings/Tracker/DefaultQueryTemplates/application_x-vnd.Be-bookmark */ + /* /boot/home/config/settings/Tracker/DefaultQueryTemplates/ + application_x-vnd.Be-bookmark */ { { // default frame @@ -163,16 +165,17 @@ const AttributeTemplate kBookmarkQueryTemplate[] = 163, "O\362VR\000\000\000\025\000\000\000\005Title\000B \000\000C+\000\000" "\000\000\000\000\000\000\000\012META:title\000w\373\175RCSTR\000\001" - "O\362VR\000\000\000\025\000\000\000\003URL\000Cb\000\000C\217\200\000" - "\000\000\000\000\000\000\000\010META:url\000\343[TRCSTR\000\001O\362" - "VR\000\000\000\025\000\000\000\010Keywords\000D\004\000\000C\002\000" - "\000\000\000\000\000\000\000\000\011META:keyw\000\333\363\334RCSTR" - "\000\001" + "O\362VR\000\000\000\025\000\000\000\003URL\000Cb\000\000C\217\200" + "\000\000\000\000\000\000\000\000\010META:url\000\343[TRCSTR\000\001O" + "\362VR\000\000\000\025\000\000\000\010Keywords\000D\004\000\000C\002" + "\000\000\000\000\000\000\000\000\000\011META:keyw\000\333\363\334" + "RCSTR\000\001" } }; const AttributeTemplate kPersonQueryTemplate[] = - /* /boot/home/config/settings/Tracker/DefaultQueryTemplates/application_x-vnd.Be-bookmark */ + /* /boot/home/config/settings/Tracker/DefaultQueryTemplates/ + application_x-vnd.Be-bookmark */ { { // default frame @@ -187,8 +190,8 @@ const AttributeTemplate kPersonQueryTemplate[] = B_RAW_TYPE, 49, "o^\365R\000\000\000\012Tlst\000\000\000\000\000\000\000\000\000\000" - "\000\000\000\000\000\000\000\000\000\000\357\323\335RCSTR\000\000\000" - "\000\000\000\000\000\000" + "\000\000\000\000\000\000\000\000\000\000\357\323\335RCSTR\000\000" + "\000\000\000\000\000\000\000" }, { // attr: _trk/columns @@ -201,14 +204,15 @@ const AttributeTemplate kPersonQueryTemplate[] = "\000B\264\000\000\000\000\000\000\000\000\000\013META:wphone\000C_" "uRCSTR\000\001O\362VR\000\000\000\025\000\000\000\006E-mail\000C\211" "\200\000B\272\000\000\000\000\000\000\000\000\000\012META:email\000" - "sW\337RCSTR\000\001O\362VR\000\000\000\025\000\000\000\007Company\000" - "C\277\200\000B\360\000\000\000\000\000\000\000\000\000\014META:com" - "pany\000CS\174RCSTR\000\001" + "sW\337RCSTR\000\001O\362VR\000\000\000\025\000\000\000\007Company" + "\000C\277\200\000B\360\000\000\000\000\000\000\000\000\000\014" + "META:company\000CS\174RCSTR\000\001" }, }; const AttributeTemplate kEmailQueryTemplate[] = - /* /boot/home/config/settings/Tracker/DefaultQueryTemplates/text_x-email */ + /* /boot/home/config/settings/Tracker/DefaultQueryTemplates/ + text_x-email */ { { // default frame @@ -231,15 +235,15 @@ const AttributeTemplate kEmailQueryTemplate[] = kAttrColumns_be, B_RAW_TYPE, 222, - "O\362VR\000\000\000\025\000\000\000\007Subject\000B \000\000B\334\000" - "\000\000\000\000\000\000\000\000\014MAIL:subject\000\343\173\337RC" - "STR\000\000O\362VR\000\000\000\025\000\000\000\004From\000C%\000\000" - "C\031\000\000\000\000\000\000\000\000\000\011MAIL:from\000\317s_RC" - "STR\000\000O\362VR\000\000\000\025\000\000\000\004When\000C\246\200" - "\000B\360\000\000\000\000\000\000\000\000\000\011MAIL:when\000\366" - "_\377ETIME\000\000O\362VR\000\000\000\025\000\000\000\006Status\000" - "C\352\000\000BH\000\000\000\000\000\001\000\000\000\013MAIL:status" - "\000G\363\134RCSTR\000\001" + "O\362VR\000\000\000\025\000\000\000\007Subject\000B \000\000B\334" + "\000\000\000\000\000\000\000\000\000\014MAIL:subject\000\343\173\337" + "RCSTR\000\000O\362VR\000\000\000\025\000\000\000\004From\000C%\000" + "\000C\031\000\000\000\000\000\000\000\000\000\011MAIL:from\000\317" + "s_RCSTR\000\000O\362VR\000\000\000\025\000\000\000\004When\000C\246" + "\200\000B\360\000\000\000\000\000\000\000\000\000\011MAIL:when\000" + "\366_\377ETIME\000\000O\362VR\000\000\000\025\000\000\000\006Status" + "\000C\352\000\000BH\000\000\000\000\000\001\000\000\000\013" + "MAIL:status\000G\363\134RCSTR\000\001" }, }; @@ -289,8 +293,10 @@ ExtraAttributeLazyInstaller::AddExtraAttribute(const char* publicName, { for (int32 index = 0; ; index++) { const char* oldPublicName; - if (fExtraAttrs.FindString("attr:public_name", index, &oldPublicName) != B_OK) + if (fExtraAttrs.FindString("attr:public_name", index, &oldPublicName) + != B_OK) { break; + } if (strcmp(oldPublicName, publicName) == 0) // already got this extra atribute, no work left @@ -360,7 +366,8 @@ TTracker::InstallMimeIfNeeded(const char* type, int32 bitsID, // be passed for attributes that don't matter; returns true if anything // had to be changed - BBitmap vectorIcon(BRect(0, 0, 31, 31), B_BITMAP_NO_SERVER_LINK, B_RGBA32); + BBitmap vectorIcon(BRect(0, 0, 31, 31), B_BITMAP_NO_SERVER_LINK, + B_RGBA32); BBitmap largeIcon(BRect(0, 0, 31, 31), B_BITMAP_NO_SERVER_LINK, B_CMAP8); BBitmap miniIcon(BRect(0, 0, 15, 15), B_BITMAP_NO_SERVER_LINK, B_CMAP8); char tmp[B_MIME_TYPE_LENGTH]; @@ -447,12 +454,12 @@ TTracker::InitMimeTypes() // install a couple of extra fields for bookmark ExtraAttributeLazyInstaller installer(B_BOOKMARK_MIMETYPE); - installer.AddExtraAttribute("URL", "META:url", B_STRING_TYPE, true, true, - 170, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Keywords", "META:keyw", B_STRING_TYPE, true, true, - 130, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Title", "META:title", B_STRING_TYPE, true, true, - 130, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("URL", "META:url", B_STRING_TYPE, + true, true, 170, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Keywords", "META:keyw", B_STRING_TYPE, + true, true, 130, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Title", "META:title", B_STRING_TYPE, + true, true, 130, B_ALIGN_LEFT, false); } InstallMimeIfNeeded(B_PERSON_MIMETYPE, R_PersonIcon, @@ -460,34 +467,34 @@ TTracker::InitMimeTypes() { ExtraAttributeLazyInstaller installer(B_PERSON_MIMETYPE); - installer.AddExtraAttribute("Contact name", kAttrName, B_STRING_TYPE, true, true, - 120, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Company", kAttrCompany, B_STRING_TYPE, true, true, - 120, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Address", kAttrAddress, B_STRING_TYPE, true, true, - 120, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("City", kAttrCity, B_STRING_TYPE, true, true, - 90, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("State", kAttrState, B_STRING_TYPE, true, true, - 50, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Zip", kAttrZip, B_STRING_TYPE, true, true, - 50, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Country", kAttrCountry, B_STRING_TYPE, true, true, - 120, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("E-mail", kAttrEmail, B_STRING_TYPE, true, true, - 120, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Home phone", kAttrHomePhone, B_STRING_TYPE, true, true, - 90, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Work phone", kAttrWorkPhone, B_STRING_TYPE, true, true, - 90, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Fax", kAttrFax, B_STRING_TYPE, true, true, - 90, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("URL", kAttrURL, B_STRING_TYPE, true, true, - 120, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Group", kAttrGroup, B_STRING_TYPE, true, true, - 120, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Nickname", kAttrNickname, B_STRING_TYPE, true, true, - 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Contact name", kAttrName, B_STRING_TYPE, + true, true, 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Company", kAttrCompany, B_STRING_TYPE, + true, true, 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Address", kAttrAddress, B_STRING_TYPE, + true, true, 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("City", kAttrCity, B_STRING_TYPE, + true, true, 90, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("State", kAttrState, B_STRING_TYPE, + true, true, 50, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Zip", kAttrZip, B_STRING_TYPE, + true, true, 50, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Country", kAttrCountry, B_STRING_TYPE, + true, true, 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("E-mail", kAttrEmail, B_STRING_TYPE, + true, true, 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Home phone", kAttrHomePhone, + B_STRING_TYPE, true, true, 90, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Work phone", kAttrWorkPhone, + B_STRING_TYPE, true, true, 90, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Fax", kAttrFax, B_STRING_TYPE, + true, true, 90, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("URL", kAttrURL, B_STRING_TYPE, + true, true, 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Group", kAttrGroup, B_STRING_TYPE, + true, true, 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Nickname", kAttrNickname, B_STRING_TYPE, + true, true, 120, B_ALIGN_LEFT, false); } InstallMimeIfNeeded(B_PRINTER_SPOOL_MIMETYPE, R_SpoolFileIcon, @@ -496,43 +503,49 @@ TTracker::InitMimeTypes() { #if B_BEOS_VERSION_DANO ExtraAttributeLazyInstaller installer(B_PRINTER_SPOOL_MIMETYPE); - installer.AddExtraAttribute("Status", PSRV_SPOOL_ATTR_STATUS, B_STRING_TYPE, true, false, - 60, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Page count", PSRV_SPOOL_ATTR_PAGECOUNT, B_INT32_TYPE, true, false, - 40, B_ALIGN_RIGHT, false); - installer.AddExtraAttribute("Description", PSRV_SPOOL_ATTR_DESCRIPTION, B_STRING_TYPE, true, true, - 100, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Printer name", PSRV_SPOOL_ATTR_PRINTER, B_STRING_TYPE, true, false, - 80, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Job creator type", PSRV_SPOOL_ATTR_MIMETYPE, B_ASCII_TYPE, true, false, - 60, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Status", PSRV_SPOOL_ATTR_STATUS, + B_STRING_TYPE, true, false, 60, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Page count", PSRV_SPOOL_ATTR_PAGECOUNT, + B_INT32_TYPE, true, false, 40, B_ALIGN_RIGHT, false); + installer.AddExtraAttribute("Description", + PSRV_SPOOL_ATTR_DESCRIPTION, B_STRING_TYPE, true, true, 100, + B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Printer name", PSRV_SPOOL_ATTR_PRINTER, + B_STRING_TYPE, true, false, 80, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Job creator type", + PSRV_SPOOL_ATTR_MIMETYPE, B_ASCII_TYPE, true, false, 60, + B_ALIGN_LEFT, false); #else ExtraAttributeLazyInstaller installer(B_PRINTER_SPOOL_MIMETYPE); - installer.AddExtraAttribute("Page count", "_spool/Page Count", B_INT32_TYPE, true, false, - 40, B_ALIGN_RIGHT, false); - installer.AddExtraAttribute("Description", "_spool/Description", B_ASCII_TYPE, true, true, - 100, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Printer name", "_spool/Printer", B_ASCII_TYPE, true, false, - 80, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Job creator type", "_spool/MimeType", B_ASCII_TYPE, true, false, - 60, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Page count", "_spool/Page Count", + B_INT32_TYPE, true, false, 40, B_ALIGN_RIGHT, false); + installer.AddExtraAttribute("Description", "_spool/Description", + B_ASCII_TYPE, true, true, 100, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Printer name", "_spool/Printer", + B_ASCII_TYPE, true, false, 80, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Job creator type", "_spool/MimeType", + B_ASCII_TYPE, true, false, 60, B_ALIGN_LEFT, false); #endif } InstallMimeIfNeeded(B_PRINTER_MIMETYPE, R_GenericPrinterIcon, - "Printer", "Printer queue.", kTrackerSignature /*application/x-vnd.Be-PRNT*/); + "Printer", "Printer queue.", kTrackerSignature); + // application/x-vnd.Be-PRNT // for now set tracker as a default handler for the printer because we // just want to open it as a folder #if B_BEOS_VERSION_DANO { ExtraAttributeLazyInstaller installer(B_PRINTER_MIMETYPE); - installer.AddExtraAttribute("Driver", PSRV_PRINTER_ATTR_DRV_NAME, B_STRING_TYPE, true, false, - 120, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Transport", PSRV_PRINTER_ATTR_TRANSPORT, B_STRING_TYPE, true, false, + installer.AddExtraAttribute("Driver", PSRV_PRINTER_ATTR_DRV_NAME, + B_STRING_TYPE, true, false, 120, B_ALIGN_LEFT, false); + installer.AddExtraAttribute("Transport", + PSRV_PRINTER_ATTR_TRANSPORT, B_STRING_TYPE, true, false, 60, B_ALIGN_RIGHT, false); - installer.AddExtraAttribute("Connection", PSRV_PRINTER_ATTR_CNX, B_STRING_TYPE, true, false, + installer.AddExtraAttribute("Connection", + PSRV_PRINTER_ATTR_CNX, B_STRING_TYPE, true, false, 40, B_ALIGN_LEFT, false); - installer.AddExtraAttribute("Description", PSRV_PRINTER_ATTR_COMMENTS, B_STRING_TYPE, true, true, + installer.AddExtraAttribute("Description", + PSRV_PRINTER_ATTR_COMMENTS, B_STRING_TYPE, true, true, 140, B_ALIGN_LEFT, false); } #endif @@ -570,36 +583,48 @@ TTracker::InstallDefaultTemplates() BString query(kQueryTemplates); query += "/application_octet-stream"; - if (!BContainerWindow::DefaultStateSourceNode(query.String(), &node, false)) - if (BContainerWindow::DefaultStateSourceNode(query.String(), &node, true)) { + if (!BContainerWindow::DefaultStateSourceNode(query.String(), + &node, false)) { + if (BContainerWindow::DefaultStateSourceNode(query.String(), + &node, true)) { AttributeStreamFileNode fileNode(&node); AttributeStreamTemplateNode tmp(kDefaultQueryTemplate, 3); fileNode << tmp; } + } (query = kQueryTemplates) += "/application_x-vnd.Be-bookmark"; - if (!BContainerWindow::DefaultStateSourceNode(query.String(), &node, false)) - if (BContainerWindow::DefaultStateSourceNode(query.String(), &node, true)) { + if (!BContainerWindow::DefaultStateSourceNode(query.String(), + &node, false)) { + if (BContainerWindow::DefaultStateSourceNode(query.String(), + &node, true)) { AttributeStreamFileNode fileNode(&node); AttributeStreamTemplateNode tmp(kBookmarkQueryTemplate, 3); fileNode << tmp; } + } (query = kQueryTemplates) += "/application_x-person"; - if (!BContainerWindow::DefaultStateSourceNode(query.String(), &node, false)) - if (BContainerWindow::DefaultStateSourceNode(query.String(), &node, true)) { + if (!BContainerWindow::DefaultStateSourceNode(query.String(), + &node, false)) { + if (BContainerWindow::DefaultStateSourceNode(query.String(), + &node, true)) { AttributeStreamFileNode fileNode(&node); AttributeStreamTemplateNode tmp(kPersonQueryTemplate, 3); fileNode << tmp; } + } (query = kQueryTemplates) += "/text_x-email"; - if (!BContainerWindow::DefaultStateSourceNode(query.String(), &node, false)) - if (BContainerWindow::DefaultStateSourceNode(query.String(), &node, true)) { + if (!BContainerWindow::DefaultStateSourceNode(query.String(), + &node, false)) { + if (BContainerWindow::DefaultStateSourceNode(query.String(), + &node, true)) { AttributeStreamFileNode fileNode(&node); AttributeStreamTemplateNode tmp(kEmailQueryTemplate, 3); fileNode << tmp; } + } } @@ -612,8 +637,8 @@ TTracker::InstallTemporaryBackgroundImages() status_t status = find_directory(B_SYSTEM_DATA_DIRECTORY, &path); if (status < B_OK) { // TODO: this error shouldn't be shown to the regular user - BString errorMessage(B_TRANSLATE("At %func \nfind_directory() failed. " - "\nReason: %error")); + BString errorMessage(B_TRANSLATE("At %func \nfind_directory() " + "failed. \nReason: %error")); errorMessage.ReplaceFirst("%func", __PRETTY_FUNCTION__); errorMessage.ReplaceFirst("%error", strerror(status)); (new BAlert("AlertError", errorMessage.String(), B_TRANSLATE("OK"), diff --git a/src/kits/tracker/TrackerScripting.cpp b/src/kits/tracker/TrackerScripting.cpp index 0776e13f08..421b0549da 100644 --- a/src/kits/tracker/TrackerScripting.cpp +++ b/src/kits/tracker/TrackerScripting.cpp @@ -101,7 +101,8 @@ status_t TTracker::GetSupportedSuites(BMessage* data) { data->AddString("suites", kTrackerSuites); - BPropertyInfo propertyInfo(const_cast(kTrackerPropertyList)); + BPropertyInfo propertyInfo(const_cast + (kTrackerPropertyList)); data->AddFlat("messages", &propertyInfo); return _inherited::GetSupportedSuites(data); @@ -112,9 +113,11 @@ BHandler* TTracker::ResolveSpecifier(BMessage* message, int32 index, BMessage* specifier, int32 form, const char* property) { - BPropertyInfo propertyInfo(const_cast(kTrackerPropertyList)); + BPropertyInfo propertyInfo(const_cast + (kTrackerPropertyList)); - int32 result = propertyInfo.FindMatch(message, index, specifier, form, property); + int32 result = propertyInfo.FindMatch(message, index, specifier, form, + property); if (result < 0) { //PRINT(("FindMatch result %d %s\n", result, strerror(result))); return _inherited::ResolveSpecifier(message, index, specifier, @@ -155,7 +158,8 @@ TTracker::HandleScriptingMessage(BMessage* message) switch (message->what) { case B_CREATE_PROPERTY: - handled = CreateProperty(message, &specifier, form, property, &reply); + handled = CreateProperty(message, &specifier, form, property, + &reply); break; case B_GET_PROPERTY: @@ -163,7 +167,8 @@ TTracker::HandleScriptingMessage(BMessage* message) break; case B_SET_PROPERTY: - handled = SetProperty(message, &specifier, form, property, &reply); + handled = SetProperty(message, &specifier, form, property, + &reply); break; case B_COUNT_PROPERTIES: @@ -189,7 +194,7 @@ TTracker::HandleScriptingMessage(BMessage* message) bool -TTracker::CreateProperty(BMessage* message, BMessage* , int32 form, +TTracker::CreateProperty(BMessage* message, BMessage*, int32 form, const char* property, BMessage* reply) { bool handled = false; @@ -226,8 +231,8 @@ TTracker::DeleteProperty(BMessage* /*specifier*/, int32 form, const char* property, BMessage* /*reply*/) { if (strcmp(property, kPropertyTrash) == 0) { - // deleting on a selection is handled as removing a part of the selection - // not to be confused with deleting a selected item + // deleting on a selection is handled as removing a part of the + // selection not to be confused with deleting a selected item if (form != B_DIRECT_SPECIFIER) // only support direct specifier diff --git a/src/kits/tracker/TrackerSettings.cpp b/src/kits/tracker/TrackerSettings.cpp index 3792eae6a6..7eebfa4e21 100644 --- a/src/kits/tracker/TrackerSettings.cpp +++ b/src/kits/tracker/TrackerSettings.cpp @@ -132,9 +132,9 @@ TTrackerState::TTrackerState() TTrackerState::TTrackerState(const TTrackerState&) : Settings("", "") { - // Placeholder copy constructor to prevent others from accidentally using the - // default copy constructor. Note, the DEBUGGER call is for the off chance that - // a TTrackerState method (or friend) tries to make a copy. + // Placeholder copy constructor to prevent others from accidentally using + // the default copy constructor. Note, the DEBUGGER call is for the off + // chance that a TTrackerState method (or friend) tries to make a copy. DEBUGGER("Don't make a copy of this!"); } @@ -161,37 +161,56 @@ TTrackerState::LoadSettingsIfNeeded() // Set default settings before reading from disk Add(fShowDisksIcon = new BooleanValueSetting("ShowDisksIcon", false)); - Add(fMountVolumesOntoDesktop = new BooleanValueSetting("MountVolumesOntoDesktop", true)); + Add(fMountVolumesOntoDesktop + = new BooleanValueSetting("MountVolumesOntoDesktop", true)); Add(fMountSharedVolumesOntoDesktop = new BooleanValueSetting("MountSharedVolumesOntoDesktop", true)); - Add(fEjectWhenUnmounting = new BooleanValueSetting("EjectWhenUnmounting", true)); + Add(fEjectWhenUnmounting + = new BooleanValueSetting("EjectWhenUnmounting", true)); - Add(fDesktopFilePanelRoot = new BooleanValueSetting("DesktopFilePanelRoot", true)); - Add(fShowFullPathInTitleBar = new BooleanValueSetting("ShowFullPathInTitleBar", false)); - Add(fShowSelectionWhenInactive = new BooleanValueSetting("ShowSelectionWhenInactive", true)); - Add(fTransparentSelection = new BooleanValueSetting("TransparentSelection", true)); - Add(fSortFolderNamesFirst = new BooleanValueSetting("SortFolderNamesFirst", true)); + Add(fDesktopFilePanelRoot + = new BooleanValueSetting("DesktopFilePanelRoot", true)); + Add(fShowFullPathInTitleBar + = new BooleanValueSetting("ShowFullPathInTitleBar", false)); + Add(fShowSelectionWhenInactive + = new BooleanValueSetting("ShowSelectionWhenInactive", true)); + Add(fTransparentSelection + = new BooleanValueSetting("TransparentSelection", true)); + Add(fSortFolderNamesFirst + = new BooleanValueSetting("SortFolderNamesFirst", true)); Add(fHideDotFiles = new BooleanValueSetting("HideDotFiles", false)); - Add(fTypeAheadFiltering = new BooleanValueSetting("TypeAheadFiltering", false)); - Add(fSingleWindowBrowse = new BooleanValueSetting("SingleWindowBrowse", false)); + Add(fTypeAheadFiltering + = new BooleanValueSetting("TypeAheadFiltering", false)); + Add(fSingleWindowBrowse + = new BooleanValueSetting("SingleWindowBrowse", false)); Add(fShowNavigator = new BooleanValueSetting("ShowNavigator", false)); - Add(fRecentApplicationsCount = new ScalarValueSetting("RecentApplications", 10, "", "")); - Add(fRecentDocumentsCount = new ScalarValueSetting("RecentDocuments", 10, "", "")); - Add(fRecentFoldersCount = new ScalarValueSetting("RecentFolders", 10, "", "")); + Add(fRecentApplicationsCount + = new ScalarValueSetting("RecentApplications", 10, "", "")); + Add(fRecentDocumentsCount + = new ScalarValueSetting("RecentDocuments", 10, "", "")); + Add(fRecentFoldersCount + = new ScalarValueSetting("RecentFolders", 10, "", "")); - Add(fShowVolumeSpaceBar = new BooleanValueSetting("ShowVolumeSpaceBar", true)); + Add(fShowVolumeSpaceBar + = new BooleanValueSetting("ShowVolumeSpaceBar", true)); - Add(fUsedSpaceColor = new HexScalarValueSetting("UsedSpaceColor", 0xc000cb00, "", "")); - Add(fFreeSpaceColor = new HexScalarValueSetting("FreeSpaceColor", 0xc0ffffff, "", "")); - Add(fWarningSpaceColor = new HexScalarValueSetting("WarningSpaceColor", 0xc0cb0000, "", "")); + Add(fUsedSpaceColor + = new HexScalarValueSetting("UsedSpaceColor", 0xc000cb00, "", "")); + Add(fFreeSpaceColor + = new HexScalarValueSetting("FreeSpaceColor", 0xc0ffffff, "", "")); + Add(fWarningSpaceColor + = new HexScalarValueSetting("WarningSpaceColor", 0xc0cb0000, "", "")); - Add(fDontMoveFilesToTrash = new BooleanValueSetting("DontMoveFilesToTrash", false)); - Add(fAskBeforeDeleteFile = new BooleanValueSetting("AskBeforeDeleteFile", true)); + Add(fDontMoveFilesToTrash + = new BooleanValueSetting("DontMoveFilesToTrash", false)); + Add(fAskBeforeDeleteFile + = new BooleanValueSetting("AskBeforeDeleteFile", true)); TryReadingSettings(); - NameAttributeText::SetSortFolderNamesFirst(fSortFolderNamesFirst->Value()); + NameAttributeText::SetSortFolderNamesFirst( + fSortFolderNamesFirst->Value()); RealNameAttributeText::SetSortFolderNamesFirst( fSortFolderNamesFirst->Value()); @@ -456,7 +475,8 @@ TrackerSettings::SetShowNavigator(bool enabled) void -TrackerSettings::RecentCounts(int32* applications, int32* documents, int32* folders) +TrackerSettings::RecentCounts(int32* applications, int32* documents, + int32* folders) { if (applications) *applications = gTrackerState.fRecentApplicationsCount->Value(); diff --git a/src/kits/tracker/TrackerSettingsWindow.cpp b/src/kits/tracker/TrackerSettingsWindow.cpp index 84973a582e..57127a09b9 100644 --- a/src/kits/tracker/TrackerSettingsWindow.cpp +++ b/src/kits/tracker/TrackerSettingsWindow.cpp @@ -74,9 +74,11 @@ TrackerSettingsWindow::TrackerSettingsWindow() BWindow(BRect(80, 80, 450, 350), B_TRANSLATE("Tracker preferences"), B_TITLED_WINDOW, B_NOT_MINIMIZABLE | B_NOT_RESIZABLE | B_NO_WORKSPACE_ACTIVATION | B_NOT_ANCHORED_ON_ACTIVATE - | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS) + | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE + | B_AUTO_UPDATE_SIZE_LIMITS) { - fSettingsTypeListView = new BListView("List View", B_SINGLE_SELECTION_LIST); + fSettingsTypeListView = new BListView("List View", + B_SINGLE_SELECTION_LIST); BScrollView* scrollView = new BScrollView("scrollview", fSettingsTypeListView, B_FRAME_EVENTS | B_WILL_DRAW, false, true); @@ -90,7 +92,7 @@ TrackerSettingsWindow::TrackerSettingsWindow() fRevertButton->SetEnabled(false); fSettingsContainerBox = new BBox("SettingsContainerBox"); - + const float spacing = be_control_look->DefaultItemSpacing(); BLayoutBuilder::Group<>(this) @@ -113,8 +115,8 @@ TrackerSettingsWindow::TrackerSettingsWindow() new WindowsSettingsView())); fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Trash"), new TrashSettingsView())); - fSettingsTypeListView->AddItem(new SettingsItem(B_TRANSLATE("Volume icons"), - new SpaceBarSettingsView())); + fSettingsTypeListView->AddItem(new SettingsItem( + B_TRANSLATE("Volume icons"), new SpaceBarSettingsView())); // constraint the listview width so that the longest item fits float width = 0; @@ -123,7 +125,8 @@ TrackerSettingsWindow::TrackerSettingsWindow() fSettingsTypeListView->SetExplicitMinSize(BSize(width, 0)); fSettingsTypeListView->SetExplicitMaxSize(BSize(width, B_SIZE_UNLIMITED)); - fSettingsTypeListView->SetSelectionMessage(new BMessage(kSettingsViewChanged)); + fSettingsTypeListView->SetSelectionMessage( + new BMessage(kSettingsViewChanged)); fSettingsTypeListView->Select(0); } @@ -201,7 +204,8 @@ TrackerSettingsWindow::_ViewAt(int32 i) if (!Lock()) return NULL; - SettingsItem* item = dynamic_cast(fSettingsTypeListView->ItemAt(i)); + SettingsItem* item = dynamic_cast + (fSettingsTypeListView->ItemAt(i)); Unlock(); @@ -278,7 +282,8 @@ TrackerSettingsWindow::_HandleChangedSettingsView() oldView->RemoveSelf(); SettingsItem* selectedItem = - dynamic_cast(fSettingsTypeListView->ItemAt(currentSelection)); + dynamic_cast + (fSettingsTypeListView->ItemAt(currentSelection)); if (selectedItem) { fSettingsContainerBox->SetLabel(selectedItem->Text()); diff --git a/src/kits/tracker/TrackerString.cpp b/src/kits/tracker/TrackerString.cpp index 14b4291f89..175c1c9089 100644 --- a/src/kits/tracker/TrackerString.cpp +++ b/src/kits/tracker/TrackerString.cpp @@ -193,31 +193,32 @@ TrackerString::FindFirst(const char* string, int32 fromOffset) const { if (!string) return -1; - + int32 length = Length(); uint32 stringLength = strlen(string); - + // The following two checks are required to be compatible // with BString: if (length <= 0) return -1; - + if (stringLength == 0) return fromOffset; - + int32 stop = length - static_cast(stringLength); int32 start = MAX(0, MIN(fromOffset, stop)); int32 position = -1; - - - for (int32 i = start; i <= stop; i++) - if (string[0] == ByteAt(i)) + + for (int32 i = start; i <= stop; i++) { + if (string[0] == ByteAt(i)) { // This check is to avoid mute str*cmp() calls. Performance. if (strncmp(string, String() + i, stringLength) == 0) { position = i; break; } - + } + } + return position; } @@ -264,30 +265,33 @@ TrackerString::FindLast(const char* string, int32 beforeOffset) const { if (!string) return -1; - + int32 length = Length(); uint32 stringLength = strlen(string); - + // The following two checks are required to be compatible // with BString: if (length <= 0) return -1; - + if (stringLength == 0) return beforeOffset; - - int32 start = MIN(beforeOffset, length - static_cast(stringLength)); + + int32 start = MIN(beforeOffset, + length - static_cast(stringLength)); int32 stop = 0; int32 position = -1; - - for (int32 i = start; i >= stop; i--) - if (string[0] == ByteAt(i)) + + for (int32 i = start; i >= stop; i--) { + if (string[0] == ByteAt(i)) { // This check is to avoid mute str*cmp() calls. Performance. if (strncmp(string, String() + i, stringLength) == 0) { position = i; break; } - + } + } + return position; } @@ -334,30 +338,32 @@ TrackerString::IFindFirst(const char* string, int32 fromOffset) const { if (!string) return -1; - + int32 length = Length(); uint32 stringLength = strlen(string); - + // The following two checks are required to be compatible // with BString: if (length <= 0) return -1; - + if (stringLength == 0) return fromOffset; - + int32 stop = length - static_cast(stringLength); int32 start = MAX(0, MIN(fromOffset, stop)); int32 position = -1; - - for (int32 i = start; i <= stop; i++) - if (tolower(string[0]) == tolower(ByteAt(i))) + + for (int32 i = start; i <= stop; i++) { + if (tolower(string[0]) == tolower(ByteAt(i))) { // This check is to avoid mute str*cmp() calls. Performance. if (strncasecmp(string, String() + i, stringLength) == 0) { position = i; break; } - + } + } + return position; } @@ -388,30 +394,32 @@ TrackerString::IFindLast(const char* string, int32 beforeOffset) const { if (!string) return -1; - + int32 length = Length(); uint32 stringLength = strlen(string); - + // The following two checks are required to be compatible // with BString: if (length <= 0) return -1; - + if (stringLength == 0) return beforeOffset; - + int32 start = MIN(beforeOffset, length - static_cast(stringLength)); int32 stop = 0; int32 position = -1; - - for (int32 i = start; i >= stop; i--) - if (tolower(string[0]) == tolower(ByteAt(i))) + + for (int32 i = start; i >= stop; i--) { + if (tolower(string[0]) == tolower(ByteAt(i))) { // This check is to avoid mute str*cmp() calls. Performance. if (strncasecmp(string, String() + i, stringLength) == 0) { position = i; break; } - + } + } + return position; } @@ -421,11 +429,11 @@ TrackerString::IFindLast(const char* string, int32 beforeOffset) const // The reason is that an encountered '[' will be taken literally. // (Makes it possible to match a '[' with the expression '[[]'). bool -TrackerString::MatchesBracketExpression(const char* string, const char* pattern, - bool caseSensitivity) const +TrackerString::MatchesBracketExpression(const char* string, + const char* pattern, bool caseSensitivity) const { bool GlyphMatch = IsStartOfGlyph(string[0]); - + if (IsInsideGlyph(string[0])) return false; @@ -437,29 +445,33 @@ TrackerString::MatchesBracketExpression(const char* string, const char* pattern, if (inverse) pattern++; - + while (!match && *pattern != ']' && *pattern != '\0') { switch (*pattern) { case '-': - { - char start = ConditionalToLower(*(pattern - 1), caseSensitivity), - stop = ConditionalToLower(*(pattern + 1), caseSensitivity); - - if (IsGlyph(start) || IsGlyph(stop)) - return false; - // Not a valid range! - - if ((islower(start) && islower(stop)) - || (isupper(start) && isupper(stop)) - || (isdigit(start) && isdigit(stop))) - // Make sure 'start' and 'stop' are of the same type. - match = start <= testChar && testChar <= stop; - else - return false; - // If no valid range, we've got a syntax error. + { + char start = ConditionalToLower(*(pattern - 1), + caseSensitivity); + char stop = ConditionalToLower(*(pattern + 1), + caseSensitivity); + + if (IsGlyph(start) || IsGlyph(stop)) + return false; + // Not a valid range! + + if ((islower(start) && islower(stop)) + || (isupper(start) && isupper(stop)) + || (isdigit(start) && isdigit(stop))) { + // Make sure 'start' and 'stop' are of the same type. + match = start <= testChar && testChar <= stop; + } else { + // If no valid range, we've got a syntax error. + return false; } + break; - + } + default: if (GlyphMatch) match = UTF8CharsAreEqual(string, pattern); @@ -467,18 +479,19 @@ TrackerString::MatchesBracketExpression(const char* string, const char* pattern, match = CharsAreEqual(testChar, *pattern, caseSensitivity); break; } - + if (!match) { pattern++; if (IsInsideGlyph(pattern[0])) pattern = MoveToEndOfGlyph(pattern); } } + // Consider an unmatched bracket a failure // (i.e. when detecting a '\0' instead of a ']'.) if (*pattern == '\0') return false; - + return (match ^ inverse) != 0; } @@ -508,7 +521,7 @@ TrackerString::StringMatchesPattern(const char* string, const char* pattern, string = MoveToEndOfGlyph(string); break; - + case '*': { // Collapse any ** and *? constructions: @@ -579,7 +592,8 @@ TrackerString::StringMatchesPattern(const char* string, const char* pattern, case '[': pattern++; - if (!MatchesBracketExpression(string, pattern, caseSensitivity)) { + if (!MatchesBracketExpression(string, pattern, + caseSensitivity)) { if (patternLevel > 0) { pattern = pStorage[--patternLevel]; string = sStorage[patternLevel]; @@ -637,7 +651,8 @@ TrackerString::StringMatchesPattern(const char* string, const char* pattern, bool -TrackerString::UTF8CharsAreEqual(const char* string1, const char* string2) const +TrackerString::UTF8CharsAreEqual(const char* string1, + const char* string2) const { const char* s1 = string1; const char* s2 = string2; @@ -651,7 +666,8 @@ TrackerString::UTF8CharsAreEqual(const char* string1, const char* string2) const s2++; } - return !IsInsideGlyph(*s1) && !IsInsideGlyph(*s2) && *(s1 - 1) == *(s2 - 1); + return !IsInsideGlyph(*s1) + && !IsInsideGlyph(*s2) && *(s1 - 1) == *(s2 - 1); } else return false; } diff --git a/src/kits/tracker/TrackerString.h b/src/kits/tracker/TrackerString.h index b3df746064..0fb890c529 100644 --- a/src/kits/tracker/TrackerString.h +++ b/src/kits/tracker/TrackerString.h @@ -147,7 +147,8 @@ TrackerString::ConditionalToLower(char c, bool caseSensitivity) const inline bool -TrackerString::CharsAreEqual(char char1, char char2, bool caseSensitivity) const +TrackerString::CharsAreEqual(char char1, char char2, + bool caseSensitivity) const { return ConditionalToLower(char1, caseSensitivity) == ConditionalToLower(char2, caseSensitivity); diff --git a/src/kits/tracker/TrashWatcher.cpp b/src/kits/tracker/TrashWatcher.cpp index 6decfe2290..c5ce5a7d55 100644 --- a/src/kits/tracker/TrashWatcher.cpp +++ b/src/kits/tracker/TrashWatcher.cpp @@ -155,21 +155,23 @@ BTrashWatcher::UpdateTrashIcons() BDirectory trashDir; while (roster.GetNextVolume(&volume) == B_OK) { if (FSGetTrashDir(&trashDir, volume.Device()) == B_OK) { - // pull out the icons for the current trash state from resources and - // apply them onto the trash directory node + // pull out the icons for the current trash state from resources + // and apply them onto the trash directory node size_t largeSize = 0; size_t smallSize = 0; - const void* largeData = GetTrackerResources()->LoadResource('ICON', - fTrashFull ? R_TrashFullIcon : R_TrashIcon, &largeSize); + const void* largeData + = GetTrackerResources()->LoadResource('ICON', + fTrashFull ? R_TrashFullIcon : R_TrashIcon, &largeSize); - const void* smallData = GetTrackerResources()->LoadResource('MICN', - fTrashFull ? R_TrashFullIcon : R_TrashIcon, &smallSize); + const void* smallData + = GetTrackerResources()->LoadResource('MICN', + fTrashFull ? R_TrashFullIcon : R_TrashIcon, &smallSize); #ifdef HAIKU_TARGET_PLATFORM_HAIKU size_t vectorSize = 0; const void* vectorData = GetTrackerResources()->LoadResource( - B_VECTOR_ICON_TYPE, fTrashFull ? R_TrashFullIcon : R_TrashIcon, - &vectorSize); + B_VECTOR_ICON_TYPE, + fTrashFull ? R_TrashFullIcon : R_TrashIcon, &vectorSize); if (vectorData) { trashDir.WriteAttr(kAttrIcon, B_VECTOR_ICON_TYPE, 0, diff --git a/src/kits/tracker/Utilities.cpp b/src/kits/tracker/Utilities.cpp index 17020a289a..c9cca8c1b8 100644 --- a/src/kits/tracker/Utilities.cpp +++ b/src/kits/tracker/Utilities.cpp @@ -261,7 +261,8 @@ PoseInfo::EndianSwap(void* castToThis) void PoseInfo::PrintToStream() { - PRINT(("%s, inode:%Lx, location %f %f\n", fInvisible ? "hidden" : "visible", + PRINT(("%s, inode:%Lx, location %f %f\n", + fInvisible ? "hidden" : "visible", fInitedDirectory, fLocation.x, fLocation.y)); } @@ -286,7 +287,8 @@ ExtendedPoseInfo::Size(int32 count) size_t ExtendedPoseInfo::SizeWithHeadroom() const { - return sizeof(ExtendedPoseInfo) + (fNumFrames + 1) * sizeof(FrameLocation); + return sizeof(ExtendedPoseInfo) + (fNumFrames + 1) + * sizeof(FrameLocation); } @@ -545,9 +547,9 @@ FadeRGBA32Vertical(uint32* bits, int32 width, int32 height, int32 from, // #pragma mark - -DraggableIcon::DraggableIcon(BRect rect, const char* name, const char* mimeType, - icon_size size, const BMessage* message, BMessenger target, - uint32 resizeMask, uint32 flags) +DraggableIcon::DraggableIcon(BRect rect, const char* name, + const char* mimeType, icon_size size, const BMessage* message, + BMessenger target, uint32 resizeMask, uint32 flags) : BView(rect, name, resizeMask, flags), fMessage(*message), diff --git a/src/kits/tracker/Utilities.h b/src/kits/tracker/Utilities.h index 51ed40dd45..661e9f60be 100644 --- a/src/kits/tracker/Utilities.h +++ b/src/kits/tracker/Utilities.h @@ -135,12 +135,12 @@ class PoseInfo { bool fInvisible; ino_t fInitedDirectory; - // for a location to be valid, fInitedDirectory has to contain the inode - // of the items parent directory - // This makes it impossible to for instance zip up files and extract - // them in the same location. This should probably be reworked -- Tracker - // could say strip the file location attributes when dropping files into - // a closed folder + // For a location to be valid, fInitedDirectory has to contain + // the inode of the items parent directory. This makes it + // impossible to for instance zip up files and extract them in + // the same location. This should probably be reworked. + // Tracker could strip the file location attributes when dropping + // files into a closed folder. BPoint fLocation; }; @@ -214,13 +214,15 @@ class OffscreenBitmap { // bitmap functions -extern void FadeRGBA32Horizontal(uint32* bits, int32 width, int32 height, int32 from, int32 to); -extern void FadeRGBA32Vertical(uint32* bits, int32 width, int32 height, int32 from, int32 to); +extern void FadeRGBA32Horizontal(uint32* bits, int32 width, int32 height, + int32 from, int32 to); +extern void FadeRGBA32Vertical(uint32* bits, int32 width, int32 height, + int32 from, int32 to); class FlickerFreeStringView : public BStringView { - // Adds support for offscreen bitmap drawing for string views that update often - // this would be better implemented as an option of BStringView + // adds support for offscreen bitmap drawing for string views that update + // often this would be better implemented as an option of BStringView public: FlickerFreeStringView(BRect bounds, const char* name, const char* text, uint32 resizeFlags = B_FOLLOW_LEFT | B_FOLLOW_TOP, @@ -273,8 +275,8 @@ class DraggableIcon : public BView { class PositionPassingMenuItem : public BMenuItem { public: - PositionPassingMenuItem(const char* title, BMessage*, char shortcut = 0, - uint32 modifiers = 0); + PositionPassingMenuItem(const char* title, BMessage*, + char shortcut = 0, uint32 modifiers = 0); PositionPassingMenuItem(BMenu*, BMessage*); @@ -443,13 +445,15 @@ const entry_ref* EachEntryRef(const BMessage*, entry_ref* EachEntryRef(BMessage*, entry_ref* (*)(entry_ref*, void*), void* passThru, int32 maxCount); const entry_ref* EachEntryRef(const BMessage*, - const entry_ref* (*)(const entry_ref*, void*), void* passThru, int32 maxCount); + const entry_ref* (*)(const entry_ref*, void*), void* passThru, + int32 maxCount); bool ContainsEntryRef(const BMessage*, const entry_ref*); int32 CountRefs(const BMessage*); -BMenuItem* EachMenuItem(BMenu* menu, bool recursive, BMenuItem* (*func)(BMenuItem*)); +BMenuItem* EachMenuItem(BMenu* menu, bool recursive, + BMenuItem* (*func)(BMenuItem*)); const BMenuItem* EachMenuItem(const BMenu* menu, bool recursive, BMenuItem* (*func)(const BMenuItem*)); diff --git a/src/kits/tracker/ViewState.h b/src/kits/tracker/ViewState.h index 396438dd8d..8284a28293 100644 --- a/src/kits/tracker/ViewState.h +++ b/src/kits/tracker/ViewState.h @@ -105,7 +105,8 @@ class BViewState { BViewState(BMallocIO* stream, bool endianSwap = false); BViewState(const BMessage &message); - static BViewState* InstantiateFromStream(BMallocIO* stream, bool endianSwap = false); + static BViewState* InstantiateFromStream(BMallocIO* stream, + bool endianSwap = false); static BViewState* InstantiateFromMessage(const BMessage &message); void ArchiveToStream(BMallocIO* stream) const; void ArchiveToMessage(BMessage &message) const; diff --git a/src/kits/tracker/VolumeWindow.cpp b/src/kits/tracker/VolumeWindow.cpp index 453f21b6db..4d6864dcaf 100644 --- a/src/kits/tracker/VolumeWindow.cpp +++ b/src/kits/tracker/VolumeWindow.cpp @@ -54,7 +54,8 @@ All rights reserved. #undef B_TRANSLATION_CONTEXT #define B_TRANSLATION_CONTEXT "VolumeWindow" -BVolumeWindow::BVolumeWindow(LockingList* windowList, uint32 openFlags) +BVolumeWindow::BVolumeWindow(LockingList* windowList, + uint32 openFlags) : BContainerWindow(windowList, openFlags) { } @@ -75,7 +76,8 @@ BVolumeWindow::MenusBeginning() int32 count = PoseView()->SelectionList()->CountItems(); for (int32 index = 0; index < count; index++) { - Model* model = PoseView()->SelectionList()->ItemAt(index)->TargetModel(); + Model* model + = PoseView()->SelectionList()->ItemAt(index)->TargetModel(); if (model->IsVolume()) { BVolume volume; volume.SetTo(model->NodeRef()->device); diff --git a/src/kits/tracker/WidgetAttributeText.cpp b/src/kits/tracker/WidgetAttributeText.cpp index 98e34c5dd4..3e6c25d32c 100644 --- a/src/kits/tracker/WidgetAttributeText.cpp +++ b/src/kits/tracker/WidgetAttributeText.cpp @@ -148,8 +148,8 @@ TruncFileSizeBase(BString* result, int64 value, const View* view, float width) } } - return TruncStringBase(result, buffer, (ssize_t)strlen(buffer), view, width, - (uint32)B_TRUNCATE_END); + return TruncStringBase(result, buffer, (ssize_t)strlen(buffer), view, + width, (uint32)B_TRUNCATE_END); } @@ -420,7 +420,8 @@ WidgetAttributeText::AttrAsString(const Model* model, BString* result, BPath path; BString tmp; - if (entry.InitCheck() == B_OK && entry.GetPath(&path) == B_OK) { + if (entry.InitCheck() == B_OK + && entry.GetPath(&path) == B_OK) { tmp = path.Path(); TruncateLeaf(&tmp); } else @@ -683,7 +684,8 @@ OriginalPathAttributeText::ReadValue(BString* result) // #pragma mark - -KindAttributeText::KindAttributeText(const Model* model, const BColumn* column) +KindAttributeText::KindAttributeText(const Model* model, + const BColumn* column) : StringAttributeText(model, column) { @@ -711,7 +713,8 @@ KindAttributeText::ReadValue(BString* result) // #pragma mark - -NameAttributeText::NameAttributeText(const Model* model, const BColumn* column) +NameAttributeText::NameAttributeText(const Model* model, + const BColumn* column) : StringAttributeText(model, column) { @@ -1037,7 +1040,8 @@ GroupAttributeText::ReadValue(BString* result) #endif // OWNER_GROUP_ATTRIBUTES -ModeAttributeText::ModeAttributeText(const Model* model, const BColumn* column) +ModeAttributeText::ModeAttributeText(const Model* model, + const BColumn* column) : StringAttributeText(model, column) { @@ -1079,7 +1083,8 @@ ModeAttributeText::ReadValue(BString* result) // #pragma mark - -SizeAttributeText::SizeAttributeText(const Model* model, const BColumn* column) +SizeAttributeText::SizeAttributeText(const Model* model, + const BColumn* column) : ScalarAttributeText(model, column) { @@ -1134,7 +1139,8 @@ SizeAttributeText::PreferredWidth(const BPoseView* pose) const // #pragma mark - time related -TimeAttributeText::TimeAttributeText(const Model* model, const BColumn* column) +TimeAttributeText::TimeAttributeText(const Model* model, + const BColumn* column) : ScalarAttributeText(model, column) { @@ -1186,8 +1192,8 @@ CreationTimeAttributeText::ReadValue() } -ModificationTimeAttributeText::ModificationTimeAttributeText(const Model* model, - const BColumn* column) +ModificationTimeAttributeText::ModificationTimeAttributeText( + const Model* model, const BColumn* column) : TimeAttributeText(model, column) { @@ -1292,13 +1298,15 @@ GenericAttributeText::ReadValue(BString* result) // with a type, depending on the bytes that could be read attr_info info; GenericValueStruct tmp; - if (fModel->Node()->GetAttrInfo(fColumn->AttrName(), &info) == B_OK) { + if (fModel->Node()->GetAttrInfo(fColumn->AttrName(), &info) + == B_OK) { if (info.size && info.size <= sizeof(int64)) { length = fModel->Node()->ReadAttr(fColumn->AttrName(), fColumn->AttrType(), 0, &tmp, (size_t)info.size); } - // We used tmp as a block of memory, now set the correct fValue: + // We used tmp as a block of memory, now set the + // correct fValue: if (length == info.size) { if (fColumn->AttrType() == B_FLOAT_TYPE @@ -1321,7 +1329,7 @@ GenericAttributeText::ReadValue(BString* result) } else { // handle the standard data types switch (info.size) { - case sizeof(char): // Takes care of bool, too. + case sizeof(char): // Takes care of bool too. fValueIsDefined = true; fValue.int8t = tmp.int8t; break; @@ -1331,12 +1339,12 @@ GenericAttributeText::ReadValue(BString* result) fValue.int16t = tmp.int16t; break; - case sizeof(int32): // Takes care of time_t, too. + case sizeof(int32): // Takes care of time_t too. fValueIsDefined = true; fValue.int32t = tmp.int32t; break; - case sizeof(int64): // Taked care of off_t, too. + case sizeof(int64): // Takes care of off_t too. fValueIsDefined = true; fValue.int64t = tmp.int64t; break; diff --git a/src/kits/tracker/WidgetAttributeText.h b/src/kits/tracker/WidgetAttributeText.h index 49c0518f72..5808663578 100644 --- a/src/kits/tracker/WidgetAttributeText.h +++ b/src/kits/tracker/WidgetAttributeText.h @@ -77,8 +77,8 @@ class WidgetAttributeText { // override to define a compare of two different attributes for // sorting - static WidgetAttributeText* NewWidgetText(const Model*, const BColumn*, - const BPoseView*); + static WidgetAttributeText* NewWidgetText(const Model*, + const BColumn*, const BPoseView*); // WidgetAttributeText factory // call this to make the right WidgetAttributeText type for a // given column @@ -462,7 +462,8 @@ class AppShortVersionAttributeText : public VersionAttributeText { class SystemShortVersionAttributeText : public VersionAttributeText { public: - SystemShortVersionAttributeText(const Model* model, const BColumn* column) + SystemShortVersionAttributeText(const Model* model, + const BColumn* column) : VersionAttributeText(model, column, false) { } @@ -471,8 +472,8 @@ class SystemShortVersionAttributeText : public VersionAttributeText { } // namespace BPrivate -extern status_t TimeFormat(BString &string, int32 index, FormatSeparator format, - DateOrder order, bool clockIs24Hour); +extern status_t TimeFormat(BString &string, int32 index, + FormatSeparator format, DateOrder order, bool clockIs24Hour); using namespace BPrivate; From e51854a127450ed5f1dc33ec350a00f1deaff355 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sun, 15 Jul 2012 19:26:44 -0400 Subject: [PATCH 03/19] Add 96x96 and 128x128 icon sizes to tracker including scaling of BeOS icons using scale3x and scale4x algorithms. --- src/kits/tracker/ContainerWindow.cpp | 14 ++++ src/kits/tracker/DeskWindow.cpp | 14 ++++ src/kits/tracker/PoseView.cpp | 14 +++- src/kits/tracker/ViewState.cpp | 8 +- src/libs/icon/IconUtils.cpp | 105 +++++++++++++++++++++++++++ 5 files changed, 150 insertions(+), 5 deletions(-) diff --git a/src/kits/tracker/ContainerWindow.cpp b/src/kits/tracker/ContainerWindow.cpp index bc92cb3ca5..33ec87306f 100644 --- a/src/kits/tracker/ContainerWindow.cpp +++ b/src/kits/tracker/ContainerWindow.cpp @@ -1997,6 +1997,20 @@ BContainerWindow::AddWindowMenu(BMenu* menu) item->SetTarget(PoseView()); iconSizeMenu->AddItem(item); + message = new BMessage(kIconMode); + message->AddInt32("size", 96); + item = new BMenuItem(B_TRANSLATE("96 x 96"), message); + item->SetMarked(PoseView()->IconSizeInt() == 96); + item->SetTarget(PoseView()); + iconSizeMenu->AddItem(item); + + message = new BMessage(kIconMode); + message->AddInt32("size", 128); + item = new BMenuItem(B_TRANSLATE("128 x 128"), message); + item->SetMarked(PoseView()->IconSizeInt() == 128); + item->SetTarget(PoseView()); + iconSizeMenu->AddItem(item); + iconSizeMenu->AddSeparatorItem(); message = new BMessage(kIconMode); diff --git a/src/kits/tracker/DeskWindow.cpp b/src/kits/tracker/DeskWindow.cpp index dcd54ba86a..a4ac77579a 100644 --- a/src/kits/tracker/DeskWindow.cpp +++ b/src/kits/tracker/DeskWindow.cpp @@ -313,6 +313,20 @@ BDeskWindow::AddWindowContextMenus(BMenu* menu) item->SetTarget(PoseView()); iconSizeMenu->AddItem(item); + message = new BMessage(kIconMode); + message->AddInt32("size", 96); + item = new BMenuItem(B_TRANSLATE("96 x 96"), message); + item->SetMarked(PoseView()->IconSizeInt() == 96); + item->SetTarget(PoseView()); + iconSizeMenu->AddItem(item); + + message = new BMessage(kIconMode); + message->AddInt32("size", 128); + item = new BMenuItem(B_TRANSLATE("128 x 128"), message); + item->SetMarked(PoseView()->IconSizeInt() == 128); + item->SetTarget(PoseView()); + iconSizeMenu->AddItem(item); + iconSizeMenu->AddSeparatorItem(); message = new BMessage(kIconMode); diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 11b0e3ec79..da5746694f 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -2171,6 +2171,12 @@ BPoseView::MessageReceived(BMessage* message) case 64: fViewState->SetIconSize(48); break; + case 96: + fViewState->SetIconSize(64); + break; + case 128: + fViewState->SetIconSize(96); + break; } } else if (scale == 1 && (int32)IconSizeInt() != 128) { switch ((int32)IconSizeInt()) { @@ -2183,11 +2189,17 @@ BPoseView::MessageReceived(BMessage* message) case 48: fViewState->SetIconSize(64); break; + case 64: + fViewState->SetIconSize(96); + break; + case 96: + fViewState->SetIconSize(128); + break; } } } else { int32 iconSize = fViewState->LastIconSize(); - if (iconSize < 32 || iconSize > 64) { + if (iconSize < 32 || iconSize > 128) { // uninitialized last icon size? iconSize = 32; } diff --git a/src/kits/tracker/ViewState.cpp b/src/kits/tracker/ViewState.cpp index ae80f1cbcf..8ebaaf6f18 100644 --- a/src/kits/tracker/ViewState.cpp +++ b/src/kits/tracker/ViewState.cpp @@ -475,12 +475,12 @@ BViewState::_Sanitize(BViewState* state, bool fixOnly) } if (state->fIconSize < 16) state->fIconSize = 16; - if (state->fIconSize > 64) - state->fIconSize = 64; + if (state->fIconSize > 128) + state->fIconSize = 128; if (state->fLastIconSize < 16) state->fLastIconSize = 16; - if (state->fLastIconSize > 64) - state->fLastIconSize = 64; + if (state->fLastIconSize > 128) + state->fLastIconSize = 128; if (fixOnly) return state; diff --git a/src/libs/icon/IconUtils.cpp b/src/libs/icon/IconUtils.cpp index 3acfe5c35e..d9884d5ebc 100644 --- a/src/libs/icon/IconUtils.cpp +++ b/src/libs/icon/IconUtils.cpp @@ -145,6 +145,93 @@ scale2x(const uint8* srcBits, uint8* dstBits, int32 srcWidth, int32 srcHeight, } +static void +scale3x(const uint8* srcBits, uint8* dstBits, int32 srcWidth, int32 srcHeight, + int32 srcBPR, int32 dstBPR) +{ + /* + * This implements the AdvanceMAME Scale3x algorithm found on: + * http://scale2x.sourceforge.net/ + * + * It is an incredibly simple and powerful image tripling routine that does + * an astonishing job of tripling game graphic data while interpolating out + * the jaggies. + * + * Derived from the (public domain) SDL version of the library by Pete + * Shinners + */ + + // Assume that both src and dst are 4 BPP (B_RGBA32) + for(int32 y = 0; y < srcHeight; ++y) + { + for(int32 x = 0; x < srcWidth; ++x) + { + uint32 a = *(uint32*)(srcBits + (MAX(0, y - 1) * srcBPR) + + (4 * MAX(0, x - 1))); + uint32 b = *(uint32*)(srcBits + (MAX(0, y - 1) * srcBPR) + + (4 * x)); + uint32 c = *(uint32*)(srcBits + (MAX(0, y - 1) * srcBPR) + + (4 * MIN(srcWidth - 1, x + 1))); + uint32 d = *(uint32*)(srcBits + (y * srcBPR) + + (4 * MAX(0, x - 1))); + uint32 e = *(uint32*)(srcBits + (y * srcBPR) + + (4 * x)); + uint32 f = *(uint32*)(srcBits + (y * srcBPR) + + (4 * MIN(srcWidth - 1,x + 1))); + uint32 g = *(uint32*)(srcBits + (MIN(srcHeight - 1, y + 1) + * srcBPR) + (4 * MAX(0, x - 1))); + uint32 h = *(uint32*)(srcBits + (MIN(srcHeight - 1, y + 1) + * srcBPR) + (4 * x)); + uint32 i = *(uint32*)(srcBits + (MIN(srcHeight - 1, y + 1) + * srcBPR) + (4 * MIN(srcWidth - 1, x + 1))); + + uint32 e0 = d == b && b != f && d != h ? d : e; + uint32 e1 = (d == b && b != f && d != h && e != c) + || (b == f && b != d && f != h && e != a) ? b : e; + uint32 e2 = b == f && b != d && f != h ? f : e; + uint32 e3 = (d == b && b != f && d != h && e != g) + || (d == b && b != f && d != h && e != a) ? d : e; + uint32 e4 = e; + uint32 e5 = (b == f && b != d && f != h && e != i) + || (h == f && d != h && b != f && e != c) ? f : e; + uint32 e6 = d == h && d != b && h != f ? d : e; + uint32 e7 = (d == h && d != b && h != f && e != i) + || (h == f && d != h && b != f && e != g) ? h : e; + uint32 e8 = h == f && d != h && b != f ? f : e; + + *(uint32*)(dstBits + y * 3 * dstBPR + x * 3 * 4) = e0; + *(uint32*)(dstBits + y * 3 * dstBPR + (x * 3 + 1) * 4) = e1; + *(uint32*)(dstBits + y * 3 * dstBPR + (x * 3 + 2) * 4) = e2; + *(uint32*)(dstBits + (y * 3 + 1) * dstBPR + x * 3 * 4) = e3; + *(uint32*)(dstBits + (y * 3 + 1) * dstBPR + (x * 3 + 1) * 4) = e4; + *(uint32*)(dstBits + (y * 3 + 1) * dstBPR + (x * 3 + 2) * 4) = e5; + *(uint32*)(dstBits + (y * 3 + 2) * dstBPR + x * 3 * 4) = e6; + *(uint32*)(dstBits + (y * 3 + 2) * dstBPR + (x * 3 + 1) * 4) = e7; + *(uint32*)(dstBits + (y * 3 + 2) * dstBPR + (x * 3 + 2) * 4) = e8; + } + } +} + + +static void +scale4x(const uint8* srcBits, uint8* dstBits, int32 srcWidth, int32 srcHeight, + int32 srcBPR, int32 dstBPR) +{ + // scale4x is just scale2x twice + BBitmap* tmp = new BBitmap(BRect(0, 0, srcWidth * 2 - 1, + srcHeight * 2 - 1), B_RGBA32); + uint8* tmpBits = (uint8*)tmp->Bits(); + int32 tmpBPR = tmp->BytesPerRow(); + + scale2x(srcBits, tmpBits, srcWidth, srcHeight, srcBPR, tmpBPR); + scale2x(tmpBits, dstBits, srcWidth * 2, srcHeight * 2, tmpBPR, dstBPR); + + delete tmp; +} + + + + // #pragma mark - @@ -536,6 +623,24 @@ BIconUtils::ConvertFromCMAP8(const uint8* src, uint32 width, uint32 height, int32 convertedBPR = converted->BytesPerRow(); scale2x(convertedBits, dst, width, height, convertedBPR, dstBPR); delete converted; + } else if (dstWidth == 3 * width && dstHeight == 3 * height) { + // scale using the scale3x algorithm + BBitmap* converted = new BBitmap(BRect(0, 0, width - 1, height - 1), + result->ColorSpace()); + converted->ImportBits(src, height * srcBPR, srcBPR, 0, B_CMAP8); + uint8* convertedBits = (uint8*)converted->Bits(); + int32 convertedBPR = converted->BytesPerRow(); + scale3x(convertedBits, dst, width, height, convertedBPR, dstBPR); + delete converted; + } else if (dstWidth == 4 * width && dstHeight == 4 * height) { + // scale using the scale4x algorithm + BBitmap* converted = new BBitmap(BRect(0, 0, width - 1, height - 1), + result->ColorSpace()); + converted->ImportBits(src, height * srcBPR, srcBPR, 0, B_CMAP8); + uint8* convertedBits = (uint8*)converted->Bits(); + int32 convertedBPR = converted->BytesPerRow(); + scale4x(convertedBits, dst, width, height, convertedBPR, dstBPR); + delete converted; } else { // bilinear scaling scale_bilinear(dst, width, height, dstWidth, dstHeight, dstBPR); From 726d557c9e2cedcf3145146e3e054c4931c5cb1e Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 29 Jul 2012 00:18:12 +0200 Subject: [PATCH 04/19] Debugger CLI: Wait for TeamDebugger thread to die before exit() --- src/apps/debugger/Debugger.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/apps/debugger/Debugger.cpp b/src/apps/debugger/Debugger.cpp index 888db4acf5..645151d84e 100644 --- a/src/apps/debugger/Debugger.cpp +++ b/src/apps/debugger/Debugger.cpp @@ -594,14 +594,20 @@ CliDebugger::Run(const Options& options) if (!get_debugged_program(options, programInfo)) return false; - if (start_team_debugger(programInfo.team, &settingsManager, this, - programInfo.thread, programInfo.stopInMain, userInterface) - == NULL) { + TeamDebugger* teamDebugger = start_team_debugger(programInfo.team, + &settingsManager, this, programInfo.thread, programInfo.stopInMain, + userInterface); + if (teamDebugger == NULL) return false; - } + thread_id teamDebuggerThread = teamDebugger->Thread(); + + // run the input loop userInterface->Run(); + // wait for the team debugger thread to terminate + wait_for_thread(teamDebuggerThread, NULL); + return true; } From 4d8eaa5b11b21e3913b6937e298a7370c3e8c4f8 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 29 Jul 2012 00:18:43 +0200 Subject: [PATCH 05/19] Debugger: UserInterface.h: style cleanup --- src/apps/debugger/user_interface/UserInterface.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/apps/debugger/user_interface/UserInterface.h b/src/apps/debugger/user_interface/UserInterface.h index 2f69266a02..60ae097d5a 100644 --- a/src/apps/debugger/user_interface/UserInterface.h +++ b/src/apps/debugger/user_interface/UserInterface.h @@ -68,11 +68,11 @@ public: class UserInterfaceListener { public: - enum QuitOption { - QUIT_OPTION_ASK_USER, - QUIT_OPTION_ASK_KILL_TEAM, - QUIT_OPTION_ASK_RESUME_TEAM - }; + enum QuitOption { + QUIT_OPTION_ASK_USER, + QUIT_OPTION_ASK_KILL_TEAM, + QUIT_OPTION_ASK_RESUME_TEAM + }; public: virtual ~UserInterfaceListener(); From d266c87d174fc714e2c0ecbfe9c18713f3c9215d Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 29 Jul 2012 00:28:11 +0200 Subject: [PATCH 06/19] Debugger: CliContext: Introduce the notion of events * The input loop can now wait on abstract events, which other threads (or even the input loop thread itself) can signal. * Use the new mechanism in QuitSession(). * Also (with the exception of the SIGINT part) implement WaitForThreadOrUser(). --- .../user_interface/cli/CliContext.cpp | 116 +++++++++++++++--- .../debugger/user_interface/cli/CliContext.h | 22 +++- 2 files changed, 121 insertions(+), 17 deletions(-) diff --git a/src/apps/debugger/user_interface/cli/CliContext.cpp b/src/apps/debugger/user_interface/cli/CliContext.cpp index ad14f82919..68b8e77d33 100644 --- a/src/apps/debugger/user_interface/cli/CliContext.cpp +++ b/src/apps/debugger/user_interface/cli/CliContext.cpp @@ -28,16 +28,22 @@ CliContext::CliContext() fHistory(NULL), fPrompt(NULL), fBlockingSemaphore(-1), + fInputLoopWaitingForEvents(0), + fEventsOccurred(0), fInputLoopWaiting(false), fTerminating(false) { sCurrentContext = this; } + CliContext::~CliContext() { Cleanup(); sCurrentContext = NULL; + + if (fBlockingSemaphore >= 0) + delete_sem(fBlockingSemaphore); } @@ -47,6 +53,8 @@ CliContext::Init(Team* team, UserInterfaceListener* listener) fTeam = team; fListener = listener; + fTeam->AddListener(this); + status_t error = fLock.InitCheck(); if (error != B_OK) return error; @@ -88,6 +96,11 @@ CliContext::Cleanup() history_end(fHistory); fHistory = NULL; } + + if (fTeam != NULL) { + fTeam->RemoveListener(this); + fTeam = NULL; + } } @@ -97,13 +110,7 @@ CliContext::Terminating() AutoLocker locker(fLock); fTerminating = true; - - if (fBlockingSemaphore >= 0) { - delete_sem(fBlockingSemaphore); - fBlockingSemaphore = -1; - } - - fInputLoopWaiting = false; + _SignalInputLoop(EVENT_QUIT); // TODO: Signal the input loop, should it be in PromptUser()! } @@ -134,27 +141,104 @@ CliContext::AddLineToInputHistory(const char* line) void CliContext::QuitSession(bool killTeam) { - AutoLocker locker(fLock); - - sem_id blockingSemaphore = fBlockingSemaphore; - fInputLoopWaiting = true; - - locker.Unlock(); + _PrepareToWaitForEvents(EVENT_QUIT); fListener->UserInterfaceQuitRequested( killTeam ? UserInterfaceListener::QUIT_OPTION_ASK_KILL_TEAM : UserInterfaceListener::QUIT_OPTION_ASK_RESUME_TEAM); - while (acquire_sem(blockingSemaphore) == B_INTERRUPTED) { - } + _WaitForEvents(); } void CliContext::WaitForThreadOrUser() { - // TODO:... +// TODO: Deal with SIGINT as well! + for (;;) { + _PrepareToWaitForEvents( + EVENT_USER_INTERRUPT | EVENT_THREAD_STATE_CHANGED); + + // check whether there are any threads stopped already + thread_id stoppedThread = -1; + AutoLocker teamLocker(fTeam); + + for (ThreadList::ConstIterator it = fTeam->Threads().GetIterator(); + Thread* thread = it.Next();) { + if (thread->State() == THREAD_STATE_STOPPED) { + stoppedThread = thread->ID(); + break; + } + } + + teamLocker.Unlock(); + + if (stoppedThread >= 0) + _SignalInputLoop(EVENT_THREAD_STATE_CHANGED); + + uint32 events = _WaitForEvents(); + if ((events & EVENT_QUIT) != 0 || stoppedThread >= 0) + return; + } +} + + +void +CliContext::ThreadStateChanged(const Team::ThreadEvent& event) +{ + _SignalInputLoop(EVENT_THREAD_STATE_CHANGED); +} + + +void +CliContext::_PrepareToWaitForEvents(uint32 eventMask) +{ + // Set the events we're going to wait for -- always wait for "quit". + AutoLocker locker(fLock); + fInputLoopWaitingForEvents = eventMask | EVENT_QUIT; + fEventsOccurred = fTerminating ? EVENT_QUIT : 0; +} + + +uint32 +CliContext::_WaitForEvents() +{ + AutoLocker locker(fLock); + + if (fEventsOccurred == 0) { + sem_id blockingSemaphore = fBlockingSemaphore; + fInputLoopWaiting = true; + + locker.Unlock(); + + while (acquire_sem(blockingSemaphore) == B_INTERRUPTED) { + } + + locker.Lock(); + } + + uint32 events = fEventsOccurred; + fEventsOccurred = 0; + return events; +} + + +void +CliContext::_SignalInputLoop(uint32 events) +{ + AutoLocker locker(fLock); + + if ((fInputLoopWaitingForEvents & events) == 0) + return; + + fEventsOccurred = fInputLoopWaitingForEvents & events; + fInputLoopWaitingForEvents = 0; + + if (fInputLoopWaiting) { + fInputLoopWaiting = false; + release_sem(fBlockingSemaphore); + } } diff --git a/src/apps/debugger/user_interface/cli/CliContext.h b/src/apps/debugger/user_interface/cli/CliContext.h index e3617fe6f7..0d5771edab 100644 --- a/src/apps/debugger/user_interface/cli/CliContext.h +++ b/src/apps/debugger/user_interface/cli/CliContext.h @@ -12,12 +12,21 @@ #include +#include "Team.h" + class Team; class UserInterfaceListener; -class CliContext { +class CliContext : private Team::Listener { +public: + enum { + EVENT_QUIT = 0x01, + EVENT_USER_INTERRUPT = 0x02, + EVENT_THREAD_STATE_CHANGED = 0x04, + }; + public: CliContext(); ~CliContext(); @@ -40,6 +49,15 @@ public: void WaitForThreadOrUser(); private: + // Team::Listener + virtual void ThreadStateChanged( + const Team::ThreadEvent& event); + +private: + void _PrepareToWaitForEvents(uint32 eventMask); + uint32 _WaitForEvents(); + void _SignalInputLoop(uint32 events); + static const char* _GetPrompt(EditLine* editLine); private: @@ -50,6 +68,8 @@ private: History* fHistory; const char* fPrompt; sem_id fBlockingSemaphore; + uint32 fInputLoopWaitingForEvents; + uint32 fEventsOccurred; bool fInputLoopWaiting; volatile bool fTerminating; }; From 688e878807fee1750d876001cff4f1ce41da3a79 Mon Sep 17 00:00:00 2001 From: Ryan Leavengood Date: Sat, 28 Jul 2012 19:58:28 -0400 Subject: [PATCH 07/19] Don't check for double click if it was a right mouse click. Fixes #8714. --- src/kits/tracker/PoseView.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index da5746694f..7430bff230 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -6913,8 +6913,7 @@ BPoseView::MouseDown(BPoint where) uint32 buttons = (uint32)window->CurrentMessage()->FindInt32("buttons"); uint32 modifs = modifiers(); - if (buttons == B_SECONDARY_MOUSE_BUTTON) - fTrackRightMouseUp = true; + fTrackRightMouseUp = (buttons == B_SECONDARY_MOUSE_BUTTON); bool extendSelection = (modifs & B_COMMAND_KEY) && fMultipleSelection; @@ -6925,7 +6924,7 @@ BPoseView::MouseDown(BPoint where) if (pose) { AddRemoveSelectionRange(where, extendSelection, pose); - if (!extendSelection && WasDoubleClick(pose, where)) { + if (!extendSelection && !fTrackRightMouseUp && WasDoubleClick(pose, where)) { // special handling for Path field double-clicks if (!WasClickInPath(pose, index, where)) OpenSelection(pose, &index); From 1510ac00817ec2679621f9579bb25a71400f6c8b Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sat, 28 Jul 2012 22:00:22 -0400 Subject: [PATCH 08/19] Refactor icon scaling, fix off-by-one error. Refactor the icon scaling code in IconUtils.cpp to avoid code duplication. Basically create and delete the temp bitmap to convert from B_CMAP8 to B_RGBA32 for scale2x/scale3x/scale4x just one time instead of 3. There was an off-by-one error in Deskbar which was causing it to scale up the 16x16 Bitmap icon to 32x32 instead of just using the 32x32 icon. This only affected BeOS bitmap-based icons, not Haiku HVIF icons. --- src/apps/deskbar/BarApp.cpp | 2 +- src/libs/icon/IconUtils.cpp | 52 +++++++++++++++++-------------------- 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index 33c5832a7e..40084069fb 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -858,7 +858,7 @@ void TBarApp::FetchAppIcon(const char* signature, BBitmap* icon) { app_info appInfo; - icon_size size = icon->Bounds().IntegerHeight() >= 32 + icon_size size = icon->Bounds().IntegerHeight() >= 31 ? B_LARGE_ICON : B_MINI_ICON; if (be_roster->GetAppInfo(signature, &appInfo) == B_OK) { diff --git a/src/libs/icon/IconUtils.cpp b/src/libs/icon/IconUtils.cpp index d9884d5ebc..7a183cf474 100644 --- a/src/libs/icon/IconUtils.cpp +++ b/src/libs/icon/IconUtils.cpp @@ -230,8 +230,6 @@ scale4x(const uint8* srcBits, uint8* dstBits, int32 srcWidth, int32 srcHeight, } - - // #pragma mark - @@ -576,7 +574,7 @@ BIconUtils::ConvertFromCMAP8(const uint8* src, uint32 width, uint32 height, uint32 dstHeight = result->Bounds().IntegerHeight() + 1; if (dstWidth < width || dstHeight < height) { - // TODO: down scaling + // TODO: implement down scaling return B_ERROR; } @@ -613,38 +611,36 @@ BIconUtils::ConvertFromCMAP8(const uint8* src, uint32 width, uint32 height, src = srcStart; dst = dstStart; - if (dstWidth > width || dstHeight > height) { + if (dstWidth == width && dstHeight == height) { + // No scaling, just convert to B_RGBA32 + result->ImportBits(src, height * srcBPR, srcBPR, 0, B_CMAP8); + } else if (dstWidth == dstHeight && dstWidth == 2 * width + || dstWidth == 3 * width + || dstWidth == 4 * width) { + // we can do some special convertions here + + // first convert to B_RGBA32 + BBitmap* converted + = new BBitmap(BRect(0, 0, width - 1, height - 1), + result->ColorSpace()); + converted->ImportBits(src, height * srcBPR, srcBPR, 0, B_CMAP8); + uint8* convertedBits = (uint8*)converted->Bits(); + int32 convertedBPR = converted->BytesPerRow(); + + // scale using the scale2x/scale3x/scale4x algorithm if (dstWidth == 2 * width && dstHeight == 2 * height) { - // scale using the scale2x algorithm - BBitmap* converted = new BBitmap(BRect(0, 0, width - 1, height - 1), - result->ColorSpace()); - converted->ImportBits(src, height * srcBPR, srcBPR, 0, B_CMAP8); - uint8* convertedBits = (uint8*)converted->Bits(); - int32 convertedBPR = converted->BytesPerRow(); scale2x(convertedBits, dst, width, height, convertedBPR, dstBPR); - delete converted; } else if (dstWidth == 3 * width && dstHeight == 3 * height) { - // scale using the scale3x algorithm - BBitmap* converted = new BBitmap(BRect(0, 0, width - 1, height - 1), - result->ColorSpace()); - converted->ImportBits(src, height * srcBPR, srcBPR, 0, B_CMAP8); - uint8* convertedBits = (uint8*)converted->Bits(); - int32 convertedBPR = converted->BytesPerRow(); scale3x(convertedBits, dst, width, height, convertedBPR, dstBPR); - delete converted; } else if (dstWidth == 4 * width && dstHeight == 4 * height) { - // scale using the scale4x algorithm - BBitmap* converted = new BBitmap(BRect(0, 0, width - 1, height - 1), - result->ColorSpace()); - converted->ImportBits(src, height * srcBPR, srcBPR, 0, B_CMAP8); - uint8* convertedBits = (uint8*)converted->Bits(); - int32 convertedBPR = converted->BytesPerRow(); scale4x(convertedBits, dst, width, height, convertedBPR, dstBPR); - delete converted; - } else { - // bilinear scaling - scale_bilinear(dst, width, height, dstWidth, dstHeight, dstBPR); } + + // cleanup + delete converted; + } else { + // bilinear scaling + scale_bilinear(dst, width, height, dstWidth, dstHeight, dstBPR); } return B_OK; From 6a03786cc9918b43c7695cc2349e77eb3193e922 Mon Sep 17 00:00:00 2001 From: Ryan Leavengood Date: Sat, 28 Jul 2012 23:00:56 -0400 Subject: [PATCH 09/19] Draw menus using the user chosen colors. --- headers/os/interface/MenuItem.h | 4 +-- src/kits/interface/BMCPrivate.cpp | 4 +-- src/kits/interface/MenuItem.cpp | 47 +++++++++++++------------------ 3 files changed, 23 insertions(+), 32 deletions(-) diff --git a/headers/os/interface/MenuItem.h b/headers/os/interface/MenuItem.h index a484a83032..0f2e979e6e 100644 --- a/headers/os/interface/MenuItem.h +++ b/headers/os/interface/MenuItem.h @@ -80,9 +80,9 @@ private: void _InitData(); void _InitMenuData(BMenu* menu); - void _DrawMarkSymbol(rgb_color backgroundColor); + void _DrawMarkSymbol(); void _DrawShortcutSymbol(); - void _DrawSubmenuSymbol(rgb_color backgroundColor); + void _DrawSubmenuSymbol(); void _DrawControlChar(char shortcut, BPoint where); private: diff --git a/src/kits/interface/BMCPrivate.cpp b/src/kits/interface/BMCPrivate.cpp index e79df82eb6..ed270412ed 100644 --- a/src/kits/interface/BMCPrivate.cpp +++ b/src/kits/interface/BMCPrivate.cpp @@ -127,7 +127,7 @@ _BMCMenuBar_::AttachedToWindow() if (Parent() != NULL) SetLowColor(Parent()->LowColor()); else - SetLowColor(ui_color(B_PANEL_BACKGROUND_COLOR)); + SetLowColor(ui_color(B_MENU_BACKGROUND_COLOR)); } @@ -136,7 +136,7 @@ _BMCMenuBar_::Draw(BRect updateRect) { if (be_control_look != NULL) { BRect rect(Bounds()); - rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR); + rgb_color base = ui_color(B_MENU_BACKGROUND_COLOR); uint32 flags = 0; if (!IsEnabled()) flags |= BControlLook::B_DISABLED; diff --git a/src/kits/interface/MenuItem.cpp b/src/kits/interface/MenuItem.cpp index 5d2dd98c8c..dc7ffef932 100644 --- a/src/kits/interface/MenuItem.cpp +++ b/src/kits/interface/MenuItem.cpp @@ -443,43 +443,34 @@ BMenuItem::DrawContent() void BMenuItem::Draw() { + rgb_color lowColor = fSuper->LowColor(); + bool enabled = IsEnabled(); bool selected = IsSelected(); - rgb_color noTint = fSuper->LowColor(); - rgb_color bgColor = noTint; - // set low color and fill background if selected bool activated = selected && (enabled || Submenu()) /*&& fSuper->fRedrawAfterSticky*/; if (activated) { - bgColor = tint_color(bgColor, B_DARKEN_3_TINT); if (be_control_look != NULL) { BRect rect = Frame(); be_control_look->DrawMenuItemBackground(fSuper, rect, rect, - noTint, BControlLook::B_ACTIVATED); + ui_color(B_MENU_SELECTED_BACKGROUND_COLOR), + BControlLook::B_ACTIVATED); } else { - fSuper->SetLowColor(bgColor); + fSuper->SetLowColor(ui_color(B_MENU_SELECTED_BACKGROUND_COLOR)); fSuper->FillRect(Frame(), B_SOLID_LOW); } - } else { - fSuper->SetLowColor(bgColor); } // set high color - if (be_control_look != NULL) { - if (enabled) { - fSuper->SetHighColor(tint_color(fSuper->LowColor(), - B_DARKEN_MAX_TINT)); - } else { - fSuper->SetHighColor(tint_color(fSuper->LowColor(), - B_DISABLED_LABEL_TINT)); - } - } else { - if (enabled) - fSuper->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR)); - else - fSuper->SetHighColor(tint_color(bgColor, B_DISABLED_LABEL_TINT)); + if (activated) + fSuper->SetHighColor(ui_color(B_MENU_SELECTED_ITEM_TEXT_COLOR)); + else if (enabled) + fSuper->SetHighColor(ui_color(B_MENU_ITEM_TEXT_COLOR)); + else { + // TODO: Use a lighten tint if the menu uses a dark background + fSuper->SetHighColor(tint_color(lowColor, B_DISABLED_LABEL_TINT)); } // draw content @@ -490,16 +481,16 @@ BMenuItem::Draw() const menu_layout layout = MenuPrivate(fSuper).Layout(); if (layout == B_ITEMS_IN_COLUMN) { if (IsMarked()) - _DrawMarkSymbol(bgColor); + _DrawMarkSymbol(); if (fShortcutChar) _DrawShortcutSymbol(); if (Submenu()) - _DrawSubmenuSymbol(bgColor); + _DrawSubmenuSymbol(); } - fSuper->SetLowColor(noTint); + fSuper->SetLowColor(lowColor); } @@ -682,7 +673,7 @@ BMenuItem::Select(bool selected) void -BMenuItem::_DrawMarkSymbol(rgb_color bgColor) +BMenuItem::_DrawMarkSymbol() { fSuper->PushState(); @@ -710,7 +701,6 @@ BMenuItem::_DrawMarkSymbol(rgb_color bgColor) arrowShape.LineTo(BPoint(center.x + size, center.y - size)); fSuper->SetDrawingMode(B_OP_OVER); - fSuper->SetHighColor(tint_color(bgColor, B_DARKEN_MAX_TINT)); fSuper->SetPenSize(2.0); // NOTE: StrokeShape() offsets the shape by the current pen position, // it is not documented in the BeBook, but it is true! @@ -742,6 +732,8 @@ BMenuItem::_DrawShortcutSymbol() where.y += (fBounds.Height() - 11) / 2 - 1; where.x -= 4; + // TODO: It would be nice to draw these taking into account the text (low) + // color. if (fModifiers & B_COMMAND_KEY) { const BBitmap *command = MenuPrivate::MenuItemCommand(); const BRect &rect = command->Bounds(); @@ -773,7 +765,7 @@ BMenuItem::_DrawShortcutSymbol() void -BMenuItem::_DrawSubmenuSymbol(rgb_color bgColor) +BMenuItem::_DrawSubmenuSymbol() { fSuper->PushState(); @@ -802,7 +794,6 @@ BMenuItem::_DrawSubmenuSymbol(rgb_color bgColor) arrowShape.LineTo(BPoint(center.x - hSize, center.y + size)); fSuper->SetDrawingMode(B_OP_OVER); - fSuper->SetHighColor(tint_color(bgColor, B_DARKEN_MAX_TINT)); fSuper->SetPenSize(ceilf(size * 0.4)); // NOTE: StrokeShape() offsets the shape by the current pen position, // it is not documented in the BeBook, but it is true! From 200dec066fdd9d18e8e93232a6e55e9f5ba3df30 Mon Sep 17 00:00:00 2001 From: Humdinger Date: Sun, 29 Jul 2012 10:41:56 +0200 Subject: [PATCH 10/19] Adjust strings to the Haiku style. --- src/apps/webpositive/AuthenticationPanel.cpp | 2 +- src/apps/webpositive/BrowserWindow.cpp | 14 +++++++------- src/apps/webpositive/SettingsWindow.cpp | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/apps/webpositive/AuthenticationPanel.cpp b/src/apps/webpositive/AuthenticationPanel.cpp index a6db7ecad7..79112712c0 100644 --- a/src/apps/webpositive/AuthenticationPanel.cpp +++ b/src/apps/webpositive/AuthenticationPanel.cpp @@ -53,7 +53,7 @@ static const uint32 kHidePassword = 'hdpw'; AuthenticationPanel::AuthenticationPanel(BRect parentFrame) : BWindow(BRect(-1000, -1000, -900, -900), - B_TRANSLATE("Authentication Required"), B_TITLED_WINDOW_LOOK, + B_TRANSLATE("Authentication required"), B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, B_ASYNCHRONOUS_CONTROLS | B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_CLOSE_ON_ESCAPE | B_AUTO_UPDATE_SIZE_LIMITS), m_parentWindowFrame(parentFrame), diff --git a/src/apps/webpositive/BrowserWindow.cpp b/src/apps/webpositive/BrowserWindow.cpp index 85fb8d1d25..28cc4357e8 100644 --- a/src/apps/webpositive/BrowserWindow.cpp +++ b/src/apps/webpositive/BrowserWindow.cpp @@ -356,7 +356,7 @@ BrowserWindow::BrowserWindow(BRect frame, SettingsMessage* appSettings, menu->AddItem(fZoomTextOnlyMenuItem); menu->AddSeparatorItem(); - fFullscreenItem = new BMenuItem(B_TRANSLATE("Fullscreen"), + fFullscreenItem = new BMenuItem(B_TRANSLATE("Full screen"), new BMessage(TOGGLE_FULLSCREEN), B_RETURN); menu->AddItem(fFullscreenItem); menu->AddItem(new BMenuItem(B_TRANSLATE("Page source"), @@ -1234,8 +1234,8 @@ BrowserWindow::LoadNegotiating(const BString& url, BWebView* view) fURLInputGroup->SetText(url.String()); - BString status(B_TRANSLATE("Requesting: ")); - status << url; + BString status(B_TRANSLATE("Requesting %url")); + status.ReplaceFirst("%url", url); view->WebPage()->SetStatusMessage(status); } @@ -1249,8 +1249,8 @@ BrowserWindow::LoadCommitted(const BString& url, BWebView* view) // This hook is invoked when the load is commited. fURLInputGroup->SetText(url.String()); - BString status(B_TRANSLATE("Loading: ")); - status << url; + BString status(B_TRANSLATE("Loading %url")); + status.ReplaceFirst("%url", url); view->WebPage()->SetStatusMessage(status); } @@ -1275,7 +1275,7 @@ BrowserWindow::LoadFailed(const BString& url, BWebView* view) if (view != CurrentWebView()) return; - BString status(B_TRANSLATE_COMMENT("%url failed.", "Loading URL failed. " + BString status(B_TRANSLATE_COMMENT("%url failed", "Loading URL failed. " "Don't translate variable %url.")); status.ReplaceFirst("%url", url); view->WebPage()->SetStatusMessage(status); @@ -1290,7 +1290,7 @@ BrowserWindow::LoadFinished(const BString& url, BWebView* view) if (view != CurrentWebView()) return; - BString status(B_TRANSLATE_COMMENT("%url finished.", "Loading URL " + BString status(B_TRANSLATE_COMMENT("%url finished", "Loading URL " "finished. Don't translate variable %url.")); status.ReplaceFirst("%url", url); view->WebPage()->SetStatusMessage(status); diff --git a/src/apps/webpositive/SettingsWindow.cpp b/src/apps/webpositive/SettingsWindow.cpp index 66639f24b0..39fa27a49c 100644 --- a/src/apps/webpositive/SettingsWindow.cpp +++ b/src/apps/webpositive/SettingsWindow.cpp @@ -326,22 +326,22 @@ SettingsWindow::_CreateGeneralPage(float spacing) fDaysInHistoryMenuControl->TextView()->DisallowChar(i); fShowTabsIfOnlyOnePage = new BCheckBox("show tabs if only one page", - B_TRANSLATE("Show tabs if only one page is open."), + B_TRANSLATE("Show tabs if only one page is open"), new BMessage(MSG_TAB_DISPLAY_BEHAVIOR_CHANGED)); fShowTabsIfOnlyOnePage->SetValue(B_CONTROL_ON); fAutoHideInterfaceInFullscreenMode = new BCheckBox("auto-hide interface", - B_TRANSLATE("Auto-hide interface in fullscreen mode."), + B_TRANSLATE("Auto-hide interface in full screen mode"), new BMessage(MSG_AUTO_HIDE_INTERFACE_BEHAVIOR_CHANGED)); fAutoHideInterfaceInFullscreenMode->SetValue(B_CONTROL_OFF); fAutoHidePointer = new BCheckBox("auto-hide pointer", - B_TRANSLATE("Auto-hide mouse pointer."), + B_TRANSLATE("Auto-hide mouse pointer"), new BMessage(MSG_AUTO_HIDE_POINTER_BEHAVIOR_CHANGED)); fAutoHidePointer->SetValue(B_CONTROL_OFF); fShowHomeButton = new BCheckBox("show home button", - B_TRANSLATE("Show Home Button"), + B_TRANSLATE("Show home button"), new BMessage(MSG_SHOW_HOME_BUTTON_CHANGED)); fShowHomeButton->SetValue(B_CONTROL_ON); @@ -445,7 +445,7 @@ BView* SettingsWindow::_CreateProxyPage(float spacing) { fUseProxyCheckBox = new BCheckBox("use proxy", - B_TRANSLATE("Use proxy server to connect to the internet."), + B_TRANSLATE("Use proxy server to connect to the internet"), new BMessage(MSG_USE_PROXY_CHANGED)); fUseProxyCheckBox->SetValue(B_CONTROL_ON); From 224f75100b15ee71dce0b0e551efd40236ca8b54 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sun, 29 Jul 2012 07:07:04 -0400 Subject: [PATCH 11/19] Implement support for separate debug info files. - When loading an image, we now check if it has a .gnu_debuglink section. If so, we try to load the linked file for our symbolic debugging information. The file is searched for with the following rules: 1) If self-contained app, app image is looked for in ./debug while library/add-on images are looked for in ../debug/. 2) If the image in question is in one of the global locations (/boot/{common,system,home/config}/{lib,add-ons}), we search in develop/debug for the corresponding global dir. Implements #8135. --- src/apps/debugger/dwarf/DwarfFile.cpp | 183 ++++++++++++++++++++++---- src/apps/debugger/dwarf/DwarfFile.h | 6 + 2 files changed, 167 insertions(+), 22 deletions(-) diff --git a/src/apps/debugger/dwarf/DwarfFile.cpp b/src/apps/debugger/dwarf/DwarfFile.cpp index f95d18ea4a..636b1fa937 100644 --- a/src/apps/debugger/dwarf/DwarfFile.cpp +++ b/src/apps/debugger/dwarf/DwarfFile.cpp @@ -11,6 +11,9 @@ #include #include +#include +#include +#include #include "AttributeClasses.h" #include "AttributeValue.h" @@ -27,6 +30,30 @@ #include "Variant.h" +// #pragma mark - AutoSectionPutter + + +class AutoSectionPutter { +public: + AutoSectionPutter(ElfFile* elfFile, ElfSection* elfSection) + : + fElfFile(elfFile), + fElfSection(elfSection) + { + } + + ~AutoSectionPutter() + { + if (fElfSection != NULL) + fElfFile->PutSection(fElfSection); + } + +private: + ElfFile* fElfFile; + ElfSection* fElfSection; +}; + + // #pragma mark - ExpressionEvaluationContext @@ -281,7 +308,9 @@ private: DwarfFile::DwarfFile() : fName(NULL), + fAlternateName(NULL), fElfFile(NULL), + fAlternateElfFile(NULL), fDebugInfoSection(NULL), fDebugAbbrevSection(NULL), fDebugStringSection(NULL), @@ -305,19 +334,24 @@ DwarfFile::~DwarfFile() delete table; if (fElfFile != NULL) { - fElfFile->PutSection(fDebugInfoSection); - fElfFile->PutSection(fDebugAbbrevSection); - fElfFile->PutSection(fDebugStringSection); - fElfFile->PutSection(fDebugRangesSection); - fElfFile->PutSection(fDebugLineSection); - fElfFile->PutSection(fDebugFrameSection); + ElfFile* debugInfoFile = fAlternateElfFile != NULL + ? fAlternateElfFile : fElfFile; + + debugInfoFile->PutSection(fDebugInfoSection); + debugInfoFile->PutSection(fDebugAbbrevSection); + debugInfoFile->PutSection(fDebugStringSection); + debugInfoFile->PutSection(fDebugRangesSection); + debugInfoFile->PutSection(fDebugLineSection); + debugInfoFile->PutSection(fDebugFrameSection); fElfFile->PutSection(fEHFrameSection); - fElfFile->PutSection(fDebugLocationSection); - fElfFile->PutSection(fDebugPublicTypesSection); + debugInfoFile->PutSection(fDebugLocationSection); + debugInfoFile->PutSection(fDebugPublicTypesSection); delete fElfFile; + delete fAlternateElfFile; } free(fName); + free(fAlternateName); } @@ -337,23 +371,24 @@ DwarfFile::Load(const char* fileName) if (error != B_OK) return error; - // get the interesting sections - fDebugInfoSection = fElfFile->GetSection(".debug_info"); - fDebugAbbrevSection = fElfFile->GetSection(".debug_abbrev"); - if (fDebugInfoSection == NULL || fDebugAbbrevSection == NULL) { - WARNING("DwarfManager::File::Load(\"%s\"): no " - ".debug_info or .debug_abbrev.\n", fileName); - return B_ERROR; - } + error = _LocateDebugInfo(); + if (error != B_OK) + return error; + + ElfFile* debugInfoFile = fAlternateElfFile != NULL + ? fAlternateElfFile : fElfFile; // non mandatory sections - fDebugStringSection = fElfFile->GetSection(".debug_str"); - fDebugRangesSection = fElfFile->GetSection(".debug_ranges"); - fDebugLineSection = fElfFile->GetSection(".debug_line"); - fDebugFrameSection = fElfFile->GetSection(".debug_frame"); + fDebugStringSection = debugInfoFile->GetSection(".debug_str"); + fDebugRangesSection = debugInfoFile->GetSection(".debug_ranges"); + fDebugLineSection = debugInfoFile->GetSection(".debug_line"); + fDebugFrameSection = debugInfoFile->GetSection(".debug_frame"); + // .eh_frame doesn't appear to get copied into separate debug + // info files properly, therefore always use it off the main + // executable image fEHFrameSection = fElfFile->GetSection(".eh_frame"); - fDebugLocationSection = fElfFile->GetSection(".debug_loc"); - fDebugPublicTypesSection = fElfFile->GetSection(".debug_pubtypes"); + fDebugLocationSection = debugInfoFile->GetSection(".debug_loc"); + fDebugPublicTypesSection = debugInfoFile->GetSection(".debug_pubtypes"); // iterate through the debug info section DataReader dataReader(fDebugInfoSection->Data(), @@ -2224,3 +2259,107 @@ DwarfFile::_FindLocationExpression(CompilationUnit* unit, uint64 offset, } } } + + +status_t +DwarfFile::_LocateDebugInfo() +{ + ElfFile* debugInfoFile = fElfFile; + ElfSection* debugLinkSection = fElfFile->GetSection(".gnu_debuglink"); + if (debugLinkSection != NULL) { + AutoSectionPutter putter(fElfFile, debugLinkSection); + + // the file specifies a debug link, look at its target instead + // for debug information. + // Format: null-terminated filename, as many 0 padding bytes as + // needed to reach the next 32-bit address boundary, followed + // by a 32-bit CRC + + BString debugPath; + status_t result = _GetDebugInfoPath( + (const char*)debugLinkSection->Data(), debugPath); + if (result != B_OK) + return result; + + fAlternateName = strdup(debugPath.String()); + + if (fAlternateName == NULL) + return B_NO_MEMORY; + +/* + // TODO: validate CRC + int32 debugCRC = *(int32*)((char*)debugLinkSection->Data() + + debugLinkSection->Size() - sizeof(int32)); +*/ + fAlternateElfFile = new(std::nothrow) ElfFile; + if (fAlternateElfFile == NULL) + return B_NO_MEMORY; + + result = fAlternateElfFile->Init(fAlternateName); + if (result != B_OK) + return result; + + debugInfoFile = fAlternateElfFile; + } + + // get the interesting sections + fDebugInfoSection = debugInfoFile->GetSection(".debug_info"); + fDebugAbbrevSection = debugInfoFile->GetSection(".debug_abbrev"); + if (fDebugInfoSection == NULL || fDebugAbbrevSection == NULL) { + WARNING("DwarfManager::File::Load(\"%s\"): no " + ".debug_info or .debug_abbrev.\n", fName); + return B_ERROR; + } + + return B_OK; +} + + +status_t +DwarfFile::_GetDebugInfoPath(const char* debugFileName, BString& _infoPath) +{ + const directory_which dirLocations[] = { B_USER_CONFIG_DIRECTORY, + B_COMMON_DIRECTORY, B_SYSTEM_DIRECTORY }; + + // first, see if we have a relative match to our local directory + BPath basePath; + status_t result = basePath.SetTo(fName); + if (result != B_OK) + return result; + basePath.GetParent(&basePath); + if (strcmp(basePath.Leaf(), "lib") == 0 || strcmp(basePath.Leaf(), + "add-ons") == 0) { + _infoPath.SetToFormat("%s/../debug/%s", basePath.Path(), + debugFileName); + } else + _infoPath.SetToFormat("%s/debug/%s", basePath.Path(), debugFileName); + + BEntry entry(_infoPath.String()); + result = entry.InitCheck(); + if (result != B_OK && result != B_ENTRY_NOT_FOUND) + return result; + if (entry.Exists()) + return B_OK; + + // See if our image is in any of the system locations. + // if so, look for its debug info in the corresponding location. + for (uint16 i = 0; i < sizeof(dirLocations) / sizeof(directory_which); + i++) { + result = find_directory(dirLocations[i], &basePath); + if (result != B_OK) + return result; + + if (strncmp(fName, basePath.Path(), strlen(basePath.Path())) == 0) { + _infoPath.SetToFormat("%s/develop/debug/%s", basePath.Path(), + debugFileName); + entry.SetTo(_infoPath.String()); + result = entry.InitCheck(); + if (result != B_OK && result != B_ENTRY_NOT_FOUND) + return result; + return entry.Exists() ? B_OK : B_ENTRY_NOT_FOUND; + } + } + + return B_ENTRY_NOT_FOUND; +} + diff --git a/src/apps/debugger/dwarf/DwarfFile.h b/src/apps/debugger/dwarf/DwarfFile.h index b7d53b8351..ba08a08ddd 100644 --- a/src/apps/debugger/dwarf/DwarfFile.h +++ b/src/apps/debugger/dwarf/DwarfFile.h @@ -150,12 +150,18 @@ private: const void*& _expression, off_t& _length) const; + status_t _LocateDebugInfo(); + status_t _GetDebugInfoPath(const char* fileName, + BString& _infoPath); + private: friend class DwarfFile::ExpressionEvaluationContext; private: char* fName; + char* fAlternateName; ElfFile* fElfFile; + ElfFile* fAlternateElfFile; ElfSection* fDebugInfoSection; ElfSection* fDebugAbbrevSection; ElfSection* fDebugStringSection; From 1ac528017de1a6b9ce049005babd52fc41c11ac2 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Sun, 29 Jul 2012 13:07:45 -0400 Subject: [PATCH 12/19] Refactor IconUtils.cpp Mostly style changes, some functional changes although there is no change in functionality for the success case, just cleaner code. --- src/libs/icon/IconUtils.cpp | 51 +++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/src/libs/icon/IconUtils.cpp b/src/libs/icon/IconUtils.cpp index 7a183cf474..8fcfbbf546 100644 --- a/src/libs/icon/IconUtils.cpp +++ b/src/libs/icon/IconUtils.cpp @@ -46,7 +46,7 @@ scale_bilinear(uint8* bits, int32 srcWidth, int32 srcHeight, int32 dstWidth, for (int32 x = 0; x < srcWidth; x++) { uint8* d = dst; for (int32 y = dstHeight - 1; y >= 0; y--) { - int32 lineF = y * 256 * (srcHeight - 1) / (dstHeight - 1); + int32 lineF = (y << 8) * (srcHeight - 1) / (dstHeight - 1); int32 lineI = lineF >> 8; uint8 weight = (uint8)(lineF & 0xff); uint8* s1 = bits + lineI * bpr + 4 * x; @@ -76,7 +76,7 @@ scale_bilinear(uint8* bits, int32 srcWidth, int32 srcHeight, int32 dstWidth, for (int32 y = 0; y < dstWidth; y++) { uint8* d = dst; for (int32 x = dstWidth - 1; x >= 0; x--) { - int32 columnF = x * 256 * (srcWidth - 1) / (dstWidth - 1); + int32 columnF = (x << 8) * (srcWidth - 1) / (dstWidth - 1); int32 columnI = columnF >> 8; uint8 weight = (uint8)(columnF & 0xff); uint8* s1 = bits + y * bpr + 4 * columnI; @@ -162,10 +162,8 @@ scale3x(const uint8* srcBits, uint8* dstBits, int32 srcWidth, int32 srcHeight, */ // Assume that both src and dst are 4 BPP (B_RGBA32) - for(int32 y = 0; y < srcHeight; ++y) - { - for(int32 x = 0; x < srcWidth; ++x) - { + for(int32 y = 0; y < srcHeight; ++y) { + for(int32 x = 0; x < srcWidth; ++x) { uint32 a = *(uint32*)(srcBits + (MAX(0, y - 1) * srcBPR) + (4 * MAX(0, x - 1))); uint32 b = *(uint32*)(srcBits + (MAX(0, y - 1) * srcBPR) @@ -563,13 +561,18 @@ status_t BIconUtils::ConvertFromCMAP8(const uint8* src, uint32 width, uint32 height, uint32 srcBPR, BBitmap* result) { - if (!src || !result || srcBPR == 0) + if (src == NULL || result == NULL || srcBPR == 0) return B_BAD_VALUE; status_t ret = result->InitCheck(); if (ret < B_OK) return ret; + if (result->ColorSpace() != B_RGBA32 && result->ColorSpace() != B_RGB32) { + // TODO: support other color spaces + return B_BAD_VALUE; + } + uint32 dstWidth = result->Bounds().IntegerWidth() + 1; uint32 dstHeight = result->Bounds().IntegerHeight() + 1; @@ -578,15 +581,12 @@ BIconUtils::ConvertFromCMAP8(const uint8* src, uint32 width, uint32 height, return B_ERROR; } - if (result->ColorSpace() != B_RGBA32 && result->ColorSpace() != B_RGB32) { - // TODO: support other color spaces - return B_BAD_VALUE; - } - uint8* dst = (uint8*)result->Bits(); uint32 dstBPR = result->BytesPerRow(); const rgb_color* colorMap = system_colors()->color_list; + if (colorMap == NULL) + return B_NO_INIT; const uint8* srcStart = src; uint8* dstStart = dst; @@ -594,14 +594,12 @@ BIconUtils::ConvertFromCMAP8(const uint8* src, uint32 width, uint32 height, for (uint32 y = 0; y < height; y++) { uint32* d = (uint32*)dst; const uint8* s = src; - for (uint32 x = 0; x < width; x++) { + for (uint32 x = 0; x < width; x++, s++, d++) { const rgb_color c = colorMap[*s]; - uint8 alpha = 255; + uint8 alpha = 0xff; if (*s == B_TRANSPARENT_MAGIC_CMAP8) alpha = 0; *d = (alpha << 24) | (c.red << 16) | (c.green << 8) | (c.blue); - s++; - d++; } src += srcBPR; dst += dstBPR; @@ -611,13 +609,10 @@ BIconUtils::ConvertFromCMAP8(const uint8* src, uint32 width, uint32 height, src = srcStart; dst = dstStart; - if (dstWidth == width && dstHeight == height) { - // No scaling, just convert to B_RGBA32 - result->ImportBits(src, height * srcBPR, srcBPR, 0, B_CMAP8); - } else if (dstWidth == dstHeight && dstWidth == 2 * width - || dstWidth == 3 * width - || dstWidth == 4 * width) { - // we can do some special convertions here + if ((dstWidth == 2 * width && dstHeight == 2 * height) + || (dstWidth == 3 * width && dstHeight == 3 * height) + || (dstWidth == 4 * width && dstHeight == 4 * height)) { + // we can do some special scaling here // first convert to B_RGBA32 BBitmap* converted @@ -628,13 +623,12 @@ BIconUtils::ConvertFromCMAP8(const uint8* src, uint32 width, uint32 height, int32 convertedBPR = converted->BytesPerRow(); // scale using the scale2x/scale3x/scale4x algorithm - if (dstWidth == 2 * width && dstHeight == 2 * height) { + if (dstWidth == 2 * width && dstHeight == 2 * height) scale2x(convertedBits, dst, width, height, convertedBPR, dstBPR); - } else if (dstWidth == 3 * width && dstHeight == 3 * height) { + else if (dstWidth == 3 * width && dstHeight == 3 * height) scale3x(convertedBits, dst, width, height, convertedBPR, dstBPR); - } else if (dstWidth == 4 * width && dstHeight == 4 * height) { + else if (dstWidth == 4 * width && dstHeight == 4 * height) scale4x(convertedBits, dst, width, height, convertedBPR, dstBPR); - } // cleanup delete converted; @@ -683,8 +677,9 @@ memset(result->Bits(), 255, result->BitsLength()); uint32 dstBPR = result->BytesPerRow(); const color_map* colorMap = system_colors(); - if (!colorMap) + if (colorMap == NULL) return B_NO_INIT; + uint16 index; for (uint32 y = 0; y < height; y++) { From e715eca04c1f99684b5972dd7db4514b56e37b60 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Sun, 29 Jul 2012 21:03:14 +0100 Subject: [PATCH 13/19] Worked around broken GCC 2 on OS X hosts. GCC 2 built for OS X 10.7/10.8 was broken, the Haiku build would fail with some strange errors. Forcing compilation of GCC 2 in 32-bit mode results in a working GCC. --- build/scripts/build_cross_tools | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build/scripts/build_cross_tools b/build/scripts/build_cross_tools index 3f773a7383..ea442b5557 100755 --- a/build/scripts/build_cross_tools +++ b/build/scripts/build_cross_tools @@ -130,11 +130,18 @@ copy_headers $haikuSourceDir/headers/posix $tmpIncludeDir/posix # configure gcc cd $gccObjDir +case `uname` in + Darwin) + # GCC 2 compiled for x86_64 OS X is broken, compile for i386. + export CC="gcc -arch i386" + ;; +esac CFLAGS="-O2 -U_FORTIFY_SOURCE" CXXFLAGS="-O2" $buildToolsDir/gcc/configure \ --prefix=$installDir \ --target=i586-pc-haiku --disable-nls --enable-shared=yes \ --enable-languages=c,c++ --with-headers=$tmpIncludeDir \ --with-libs=$tmpLibDir || exit 1 +unset CC # hack the Makefile to avoid trouble with stuff we don't need anyway sedExpr= From f893514b87e2e9758529b835641cbf71107e468e Mon Sep 17 00:00:00 2001 From: Ryan Leavengood Date: Sun, 29 Jul 2012 21:10:47 -0400 Subject: [PATCH 14/19] Remove custom Zoom method from Web+ which goes fullscreen. This leaves the default BWindow behavior of a maximized window. Alt-Enter and F11 still will go fullscreen. Fixes #7966. --- src/apps/webpositive/.BrowserWindow.h.swp | Bin 0 -> 20480 bytes src/apps/webpositive/BrowserWindow.cpp | 7 ------- src/apps/webpositive/BrowserWindow.h | 1 - 3 files changed, 8 deletions(-) create mode 100644 src/apps/webpositive/.BrowserWindow.h.swp diff --git a/src/apps/webpositive/.BrowserWindow.h.swp b/src/apps/webpositive/.BrowserWindow.h.swp new file mode 100644 index 0000000000000000000000000000000000000000..41a2ad32c5f5d48f52c7826f2e53bb51df92d55c GIT binary patch literal 20480 zcmeHPYm6kZ2~ZMZ$iq?qiI50EcnD08cm(mtzaYMI zZ&h{mW7k>g}hGk4kJ>lZbAzE#tn|BDCvH(jPZ^=+CK zaQBFZheCK%dFziCxrZXWb$wp*+>GId$B%d*rW<3|zmaal(Qw0^PUDSZelQiWpZG_7 zqZx_gm`8hl=!xU?an7ast}IYl;EpYjCZormxL>bGdx$AK4sr-5x?184w$|IM2ALEz_s9`FX><@+`56j%q|2K?POY1)gxb>IQu zl{X-_0JsW#<@K8O5nuv53Ooed2Yk7vY5xNJGw^xfW5BNg9|C?6_;KI_xB|A8_5ci?lt zp8&4_9{@an#J3`?V+q184v7^LaDhn$5X@kjnpcFXj>$^6MQ z;1eDuvMAQ3k$>bS{1Wu66{0%g@G#(8X%NK2i1V-xeW<=^@nJ#|tL&1k$er-|IW`m! zLQzm9=n7*XGli_euCh(C$*hZ3#L;b+A3N>=%&?>dI}jpZF%QrqRI1hJH}N*(X5fZ5 zs9CA!MPu7MX{AvFJu^}2GnujhBBtt-`eAbM0t@-^o``P5Q+LSY(g?DA1ZTCau^S#@ z{IZrJ@Md*VTE%!M0uk*?hHNCFiJPoqYfBsFETxT^vb*j70B^wZi`wn-FpZo1&<{fl zJB?03lAGzBsh`aJtW1$>v&-WcE`lND$Q$zN&8%RJO;imv%0JB=H}nD?t+B+74tZIR z!fV<-G);!%jL$N|vMQ4Cb92c`Qjem;6)w~rbUJ0BYFC-rbqs4uZyEbW$JjNx&c5F1 zltv&MAPg{%Mi^H^Ie$FUY=!U5D&a;6EF2f6LAq65HtS_x3pIcvni~ymnjQrH@RBwR z+&E@)gzOSiwTxU-%_#PRSY;mZ_{a~r)NR|+9b+Gg4fdgGZ{N|I`%T?q$VPbiCMm5|#OErzsMUH? z9@^ZEhU2^#GQtN_Zkfb( zbZ20bjOW>vE9@dVUMA}5*UW9*F?-#djs#z(gWbR?ry(VlX=v1EG`T{so^qyv)iJ|q znrufRonFogu`KSoAry}ClH6T07tV`K_8MJ4#}E4nk#;|n2_t^hf6cEY4!GO!^-B- z{tg(8Ld;gSRKeCZG`7ZiTg=%pZD#kjoITw#8qBz6beXxu^!7Cq6HZYWtlzV3vuSor z=Q%024u}*yIX1CQDv@y$B*Vyiu+eWu#u%5+w&W>U2fzvsrTc%9}W|!&R z>ugU4r-74qFtCkGppL1ljv8!l$DsDqq}A&>mfmt2%yulZ<**VN`f+-eL+$%kZ_9M- z%hY#sfc^~IR*SGT=#$%@V_1@)q{Uh~`fNiMD5*q3Up?!3#-=r}<@P z_j+xcxWmrZ%$9+!uri@!i-BDOMsf58>WPc-E@QXf(XH!LKpNP_I|tYUOudsC&n{W6 z0f8OX?U8D`rUTKOUW3?3)lF3PESohAsd>j>Ti{8CY@3!rcERFW{H#J3G<{2ISV4poJ1%&w^3yFh|Cx&Tp@MJhnY>0@7WXvOmgAtE> zH;CCZ5=XwrJ$CFTV}?rR`7sW+2Pqw#?d^UJb8r&y#B`W*_aUzse4s}x`>1aTvf@#GQ-H4$EM@^3Jzneu4j zC%AUZtelM9WWiE1GZL41`$)s4F()%+qLHaf7K_1Dg&65Uz@))q*c18b zIB}BRRMpCD$?C0h?84^xO=c&2iX%4DUw#p4vnz25;p4=gPW`tZPEOW6{?w|Ln@_S` z_XMNNY=0s`w4<-}i7Z1y*ALc*VzRpJEbi!Z z|9>>Q9R4lt`JV!A0`CLHz*E3g;M;+(;LiUA;J1LE046{HSipA!_XGckcK~`9coBFW z_z@rgo(497*8_i!em@G(Tfy_d2-pD(pbfNuIzaNB0jf`Bfyx4v1u6?v7N{&xS)j5& zWr4~9|N9nrgyT*+VhG4Ay%4EKP{c~qvlJfsYNOe!Cm#3Y>-$`7{`8qws>f~FQUy}f zE2nHYU#DJ|OVxRpV5Fys*ujmvFXS7!Y`aux=FjJ5I138x;!-+KZjS|pb7FI3Ccr zq=_Eno4*vKD@rCRg~^mqSqy7b^po|wP#e#ztio!uXI=DO8_j+y`SRCKS-FLO`Q373 zZu3z6lkmJ&(W-~h8D$`1o6#VfQjg>D`!YMe>x2ltRtf6ED#$ z1{}-m<|%CiF4H)B^Co%ctEsbFR?Z@@w$Rp|LI!&aZ32d{T~qn`S~>N z_#Xmdpanb#{1fi4cmdb~-U|E|n7#u1I`Awo1n3TbKk!++ zH~b{93p@aP5wZW5f%gML;4*L*@F~Ree-7{git|4SYyx)ye}>rohk+jhT;LgC6L=Hw zpNP#1=)1h9Yx zPy@bznEdB~o4|VkA25K2fro&%0$)W;{!f9=0UrT=0XPQwz+=F@z^jPIe-gL}{0i`+ z0LAOKfI4sw@Fk4R?*TMMAER+9f5>x`DBo6UFrQ#WiibCrY@gPT4 zZOEPFY?_O~Q2ktiB$)+TWH&ovQl4%LwRR$=CEs7D-4fBU8+o@TXu1f3WI-KTS&J}> z>^f^c3%x8+Q2X0d&sHTBnptXJUfOTR2a}Z6mDeE2*OuFm^|9>p+tkz3;_a%_k_==p z?12|A;JY^3!K*R?Ow@SGKj9u}+!AT1#$6hgj5d z`%}?^EKo>fhDYK?=BjF!I<4oM13QpTreg6$3)=om(?|BRf~45{lprx$El|k~D?gab z$QP(^Y*?ZxpHCEfPna@Up`;mXi@XX)sJx3T>!8qLaVyGmU-CoIzEl$fwK}7u;4_$d zh-$O~e|jJ=X~}=$#l93x$<^}C$Z-nSY5K{;ovtw-uC#0e@)=qu7Q|^t*HL`bIp+*> zJw#Td6Bk3S2=M2UgCZoIf0{+S^$Y?jS?E>P7uxEc*A(Igyz>TJEJjjE8pTK}2~O)J zKFX10no?PU!n785Jv7&oB&s(l;(LbDfFxJ?RT3$iRkvWM1Ye*TfkRg&WuUs~GCLfp zPK*=G`ndiz=u1wJE4(zUEt%VtS7(DB%Y%zNkM8GH6ezFDaQPXA)R}Q%l)0IRGfAEt zB-bZIUp#)Y=n3OA!GHJ@g1Ej!RcM+HAniK=WRTw5AE49PkKc z_K@I3al?{lWNThVJ3y!jY;!-6?XhXZ$0G93C{L`)4TJ?{Oe|Hx9IPG$lpRpd8048z zrIxw1l(Du0ao`5ogq}Bs@_KnBP)bpsxYmTU=f9TbM7J$yd!_?GLnX(_vTRddA<^u# z+j6Jw0S%qc$6;GUEHhGT09Ee!&RCt^~dG5 zjFVaJpVC%$&|FFUbue%+IA|V!O#>{?^ z&e8;oC=$`)6r$Avr*Z5Nx0Pbi>~yxr&CrkWgs{j`rOd8ufzDRbuUMy6F~|=?bv3fc zB9K>$RZ}3h+iMRt>CzGt70F+%%$+go@h7k&ZgIEUlnN{$R}233fK2 f=3AA8lG0-z!V%?EhtTRQwK#0Wp?Jn}l}-K|D1%;L literal 0 HcmV?d00001 diff --git a/src/apps/webpositive/BrowserWindow.cpp b/src/apps/webpositive/BrowserWindow.cpp index 28cc4357e8..fa3aa55dd3 100644 --- a/src/apps/webpositive/BrowserWindow.cpp +++ b/src/apps/webpositive/BrowserWindow.cpp @@ -987,13 +987,6 @@ BrowserWindow::MenusBeginning() } -void -BrowserWindow::Zoom(BPoint origin, float width, float height) -{ - ToggleFullscreen(); -} - - void BrowserWindow::ScreenChanged(BRect screenSize, color_space format) { diff --git a/src/apps/webpositive/BrowserWindow.h b/src/apps/webpositive/BrowserWindow.h index fcae9d5f7b..36605aaaeb 100644 --- a/src/apps/webpositive/BrowserWindow.h +++ b/src/apps/webpositive/BrowserWindow.h @@ -96,7 +96,6 @@ public: virtual bool QuitRequested(); virtual void MenusBeginning(); - virtual void Zoom(BPoint origin, float width, float height); virtual void ScreenChanged(BRect screenSize, color_space format); virtual void WorkspacesChanged(uint32 oldWorkspaces, From cc467a28d9814cd4a84a87ada4bc43a1147beccc Mon Sep 17 00:00:00 2001 From: Ryan Leavengood Date: Sun, 29 Jul 2012 22:06:53 -0400 Subject: [PATCH 15/19] Remove .swp file, and add a rule to ignore them in .gitignore. --- .gitignore | 2 ++ src/apps/webpositive/.BrowserWindow.h.swp | Bin 20480 -> 0 bytes 2 files changed, 2 insertions(+) delete mode 100644 src/apps/webpositive/.BrowserWindow.h.swp diff --git a/.gitignore b/.gitignore index 75fcde6af4..e20de9c420 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ build/user_config_headers # ignore KDE backup files ending with a ~ *~ +# Vim swp files +.*.swp diff --git a/src/apps/webpositive/.BrowserWindow.h.swp b/src/apps/webpositive/.BrowserWindow.h.swp deleted file mode 100644 index 41a2ad32c5f5d48f52c7826f2e53bb51df92d55c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 zcmeHPYm6kZ2~ZMZ$iq?qiI50EcnD08cm(mtzaYMI zZ&h{mW7k>g}hGk4kJ>lZbAzE#tn|BDCvH(jPZ^=+CK zaQBFZheCK%dFziCxrZXWb$wp*+>GId$B%d*rW<3|zmaal(Qw0^PUDSZelQiWpZG_7 zqZx_gm`8hl=!xU?an7ast}IYl;EpYjCZormxL>bGdx$AK4sr-5x?184w$|IM2ALEz_s9`FX><@+`56j%q|2K?POY1)gxb>IQu zl{X-_0JsW#<@K8O5nuv53Ooed2Yk7vY5xNJGw^xfW5BNg9|C?6_;KI_xB|A8_5ci?lt zp8&4_9{@an#J3`?V+q184v7^LaDhn$5X@kjnpcFXj>$^6MQ z;1eDuvMAQ3k$>bS{1Wu66{0%g@G#(8X%NK2i1V-xeW<=^@nJ#|tL&1k$er-|IW`m! zLQzm9=n7*XGli_euCh(C$*hZ3#L;b+A3N>=%&?>dI}jpZF%QrqRI1hJH}N*(X5fZ5 zs9CA!MPu7MX{AvFJu^}2GnujhBBtt-`eAbM0t@-^o``P5Q+LSY(g?DA1ZTCau^S#@ z{IZrJ@Md*VTE%!M0uk*?hHNCFiJPoqYfBsFETxT^vb*j70B^wZi`wn-FpZo1&<{fl zJB?03lAGzBsh`aJtW1$>v&-WcE`lND$Q$zN&8%RJO;imv%0JB=H}nD?t+B+74tZIR z!fV<-G);!%jL$N|vMQ4Cb92c`Qjem;6)w~rbUJ0BYFC-rbqs4uZyEbW$JjNx&c5F1 zltv&MAPg{%Mi^H^Ie$FUY=!U5D&a;6EF2f6LAq65HtS_x3pIcvni~ymnjQrH@RBwR z+&E@)gzOSiwTxU-%_#PRSY;mZ_{a~r)NR|+9b+Gg4fdgGZ{N|I`%T?q$VPbiCMm5|#OErzsMUH? z9@^ZEhU2^#GQtN_Zkfb( zbZ20bjOW>vE9@dVUMA}5*UW9*F?-#djs#z(gWbR?ry(VlX=v1EG`T{so^qyv)iJ|q znrufRonFogu`KSoAry}ClH6T07tV`K_8MJ4#}E4nk#;|n2_t^hf6cEY4!GO!^-B- z{tg(8Ld;gSRKeCZG`7ZiTg=%pZD#kjoITw#8qBz6beXxu^!7Cq6HZYWtlzV3vuSor z=Q%024u}*yIX1CQDv@y$B*Vyiu+eWu#u%5+w&W>U2fzvsrTc%9}W|!&R z>ugU4r-74qFtCkGppL1ljv8!l$DsDqq}A&>mfmt2%yulZ<**VN`f+-eL+$%kZ_9M- z%hY#sfc^~IR*SGT=#$%@V_1@)q{Uh~`fNiMD5*q3Up?!3#-=r}<@P z_j+xcxWmrZ%$9+!uri@!i-BDOMsf58>WPc-E@QXf(XH!LKpNP_I|tYUOudsC&n{W6 z0f8OX?U8D`rUTKOUW3?3)lF3PESohAsd>j>Ti{8CY@3!rcERFW{H#J3G<{2ISV4poJ1%&w^3yFh|Cx&Tp@MJhnY>0@7WXvOmgAtE> zH;CCZ5=XwrJ$CFTV}?rR`7sW+2Pqw#?d^UJb8r&y#B`W*_aUzse4s}x`>1aTvf@#GQ-H4$EM@^3Jzneu4j zC%AUZtelM9WWiE1GZL41`$)s4F()%+qLHaf7K_1Dg&65Uz@))q*c18b zIB}BRRMpCD$?C0h?84^xO=c&2iX%4DUw#p4vnz25;p4=gPW`tZPEOW6{?w|Ln@_S` z_XMNNY=0s`w4<-}i7Z1y*ALc*VzRpJEbi!Z z|9>>Q9R4lt`JV!A0`CLHz*E3g;M;+(;LiUA;J1LE046{HSipA!_XGckcK~`9coBFW z_z@rgo(497*8_i!em@G(Tfy_d2-pD(pbfNuIzaNB0jf`Bfyx4v1u6?v7N{&xS)j5& zWr4~9|N9nrgyT*+VhG4Ay%4EKP{c~qvlJfsYNOe!Cm#3Y>-$`7{`8qws>f~FQUy}f zE2nHYU#DJ|OVxRpV5Fys*ujmvFXS7!Y`aux=FjJ5I138x;!-+KZjS|pb7FI3Ccr zq=_Eno4*vKD@rCRg~^mqSqy7b^po|wP#e#ztio!uXI=DO8_j+y`SRCKS-FLO`Q373 zZu3z6lkmJ&(W-~h8D$`1o6#VfQjg>D`!YMe>x2ltRtf6ED#$ z1{}-m<|%CiF4H)B^Co%ctEsbFR?Z@@w$Rp|LI!&aZ32d{T~qn`S~>N z_#Xmdpanb#{1fi4cmdb~-U|E|n7#u1I`Awo1n3TbKk!++ zH~b{93p@aP5wZW5f%gML;4*L*@F~Ree-7{git|4SYyx)ye}>rohk+jhT;LgC6L=Hw zpNP#1=)1h9Yx zPy@bznEdB~o4|VkA25K2fro&%0$)W;{!f9=0UrT=0XPQwz+=F@z^jPIe-gL}{0i`+ z0LAOKfI4sw@Fk4R?*TMMAER+9f5>x`DBo6UFrQ#WiibCrY@gPT4 zZOEPFY?_O~Q2ktiB$)+TWH&ovQl4%LwRR$=CEs7D-4fBU8+o@TXu1f3WI-KTS&J}> z>^f^c3%x8+Q2X0d&sHTBnptXJUfOTR2a}Z6mDeE2*OuFm^|9>p+tkz3;_a%_k_==p z?12|A;JY^3!K*R?Ow@SGKj9u}+!AT1#$6hgj5d z`%}?^EKo>fhDYK?=BjF!I<4oM13QpTreg6$3)=om(?|BRf~45{lprx$El|k~D?gab z$QP(^Y*?ZxpHCEfPna@Up`;mXi@XX)sJx3T>!8qLaVyGmU-CoIzEl$fwK}7u;4_$d zh-$O~e|jJ=X~}=$#l93x$<^}C$Z-nSY5K{;ovtw-uC#0e@)=qu7Q|^t*HL`bIp+*> zJw#Td6Bk3S2=M2UgCZoIf0{+S^$Y?jS?E>P7uxEc*A(Igyz>TJEJjjE8pTK}2~O)J zKFX10no?PU!n785Jv7&oB&s(l;(LbDfFxJ?RT3$iRkvWM1Ye*TfkRg&WuUs~GCLfp zPK*=G`ndiz=u1wJE4(zUEt%VtS7(DB%Y%zNkM8GH6ezFDaQPXA)R}Q%l)0IRGfAEt zB-bZIUp#)Y=n3OA!GHJ@g1Ej!RcM+HAniK=WRTw5AE49PkKc z_K@I3al?{lWNThVJ3y!jY;!-6?XhXZ$0G93C{L`)4TJ?{Oe|Hx9IPG$lpRpd8048z zrIxw1l(Du0ao`5ogq}Bs@_KnBP)bpsxYmTU=f9TbM7J$yd!_?GLnX(_vTRddA<^u# z+j6Jw0S%qc$6;GUEHhGT09Ee!&RCt^~dG5 zjFVaJpVC%$&|FFUbue%+IA|V!O#>{?^ z&e8;oC=$`)6r$Avr*Z5Nx0Pbi>~yxr&CrkWgs{j`rOd8ufzDRbuUMy6F~|=?bv3fc zB9K>$RZ}3h+iMRt>CzGt70F+%%$+go@h7k&ZgIEUlnN{$R}233fK2 f=3AA8lG0-z!V%?EhtTRQwK#0Wp?Jn}l}-K|D1%;L From 45ecce1d57e8fa0f58c0f50627f87924cb87e514 Mon Sep 17 00:00:00 2001 From: Ryan Leavengood Date: Sun, 29 Jul 2012 22:22:16 -0400 Subject: [PATCH 16/19] Fix #6978: Add and close tabs on middle mouse down, not up. This reduces perceived latency. One day when I add a tab close undo stack, this will be even better. But generally using the middle mouse button is not accidental. --- .../webpositive/tabview/TabContainerView.cpp | 2 +- src/apps/webpositive/tabview/TabManager.cpp | 17 ++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/apps/webpositive/tabview/TabContainerView.cpp b/src/apps/webpositive/tabview/TabContainerView.cpp index 7f231e1d9c..cca2380469 100644 --- a/src/apps/webpositive/tabview/TabContainerView.cpp +++ b/src/apps/webpositive/tabview/TabContainerView.cpp @@ -138,7 +138,7 @@ TabContainerView::MouseDown(BPoint where) else { if ((buttons & B_TERTIARY_MOUSE_BUTTON) != 0) { // Middle click outside tabs should always open a new tab. - fClickCount = 2; + fController->DoubleClickOutsideTabs(); } else if (clicks > 1) fClickCount++; else diff --git a/src/apps/webpositive/tabview/TabManager.cpp b/src/apps/webpositive/tabview/TabManager.cpp index f25b67769d..dd9338719b 100644 --- a/src/apps/webpositive/tabview/TabManager.cpp +++ b/src/apps/webpositive/tabview/TabManager.cpp @@ -454,7 +454,6 @@ private: TabManagerController* fController; bool fOverCloseRect; bool fClicked; - bool fCloseOnMouseUp; }; @@ -464,8 +463,7 @@ WebTabView::WebTabView(TabManagerController* controller) fIcon(NULL), fController(controller), fOverCloseRect(false), - fClicked(false), - fCloseOnMouseUp(false) + fClicked(false) { } @@ -539,7 +537,8 @@ void WebTabView::MouseDown(BPoint where, uint32 buttons) { if (buttons & B_TERTIARY_MOUSE_BUTTON) { - fCloseOnMouseUp = true; + // Immediately close tab + fController->CloseTab(ContainerView()->IndexOf(this)); return; } @@ -557,20 +556,12 @@ WebTabView::MouseDown(BPoint where, uint32 buttons) void WebTabView::MouseUp(BPoint where) { - if (!fClicked && !fCloseOnMouseUp) { + if (!fClicked) { TabView::MouseUp(where); return; } - if (fCloseOnMouseUp && Frame().Contains(where)) { - fCloseOnMouseUp = false; - fController->CloseTab(ContainerView()->IndexOf(this)); - // Probably this object is toast now, better return here. - return; - } - fClicked = false; - fCloseOnMouseUp = false; if (_CloseRectFrame(Frame()).Contains(where)) fController->CloseTab(ContainerView()->IndexOf(this)); From c15ad4e6b98379e055bd98b0cd2bf624b0af441a Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 30 Jul 2012 01:59:11 -0400 Subject: [PATCH 17/19] Space after for, thanks Ryan --- src/libs/icon/IconUtils.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/icon/IconUtils.cpp b/src/libs/icon/IconUtils.cpp index 8fcfbbf546..0971c02007 100644 --- a/src/libs/icon/IconUtils.cpp +++ b/src/libs/icon/IconUtils.cpp @@ -162,8 +162,8 @@ scale3x(const uint8* srcBits, uint8* dstBits, int32 srcWidth, int32 srcHeight, */ // Assume that both src and dst are 4 BPP (B_RGBA32) - for(int32 y = 0; y < srcHeight; ++y) { - for(int32 x = 0; x < srcWidth; ++x) { + for (int32 y = 0; y < srcHeight; ++y) { + for (int32 x = 0; x < srcWidth; ++x) { uint32 a = *(uint32*)(srcBits + (MAX(0, y - 1) * srcBPR) + (4 * MAX(0, x - 1))); uint32 b = *(uint32*)(srcBits + (MAX(0, y - 1) * srcBPR) From 78341a9351713b13dc9097957d467dfe6e4b636c Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 30 Jul 2012 02:10:08 -0400 Subject: [PATCH 18/19] Revert "Fix gcc2 build on Mac OS X Lion" now that Alex Smith has fixed the build system on Lion this work-around can now be reverted. This reverts commit 7c369a4b3ff7b9204bb71c039489a82e78d55955. --- headers/libs/print/libprint/Halftone.h | 8 ------ .../media/media-add-ons/mixer/Resampler.cpp | 4 +-- .../media/media-add-ons/mixer/Resampler.h | 9 ------- src/libs/print/libprint/Halftone.cpp | 27 ++++++++++--------- 4 files changed, 16 insertions(+), 32 deletions(-) diff --git a/headers/libs/print/libprint/Halftone.h b/headers/libs/print/libprint/Halftone.h index 42297495d1..f72691a8f6 100644 --- a/headers/libs/print/libprint/Halftone.h +++ b/headers/libs/print/libprint/Halftone.h @@ -102,14 +102,6 @@ protected: void SetupErrorBuffer(int x, int y, int width); void DitherFloydSteinberg(uchar* destination, const uchar* source, int x, int y, int width); - // Do nothing method to get around a bug in - // the gcc2 cross-compiler built on Mac OS X - // Lion where a compiler error occurs when - // assigning a member function pointer to NULL - // or 0: cast specifies signature type. - // However, this should be legal according to - // the C++03 standard. - void DitherNone(uchar*, const uchar*, int, int, int) {}; private: enum { diff --git a/src/add-ons/media/media-add-ons/mixer/Resampler.cpp b/src/add-ons/media/media-add-ons/mixer/Resampler.cpp index 1b4f987ebf..1a758c23b4 100644 --- a/src/add-ons/media/media-add-ons/mixer/Resampler.cpp +++ b/src/add-ons/media/media-add-ons/mixer/Resampler.cpp @@ -21,7 +21,7 @@ Resampler::Resampler(uint32 src_format, uint32 dst_format) : - fFunc(&Resampler::no_conversion) + fFunc(0) { if (dst_format == media_raw_audio_format::B_AUDIO_FLOAT) { switch (src_format) { @@ -81,7 +81,7 @@ Resampler::~Resampler() status_t Resampler::InitCheck() const { - return fFunc != &Resampler::no_conversion ? B_OK : B_ERROR; + return fFunc != 0 ? B_OK : B_ERROR; } diff --git a/src/add-ons/media/media-add-ons/mixer/Resampler.h b/src/add-ons/media/media-add-ons/mixer/Resampler.h index 3e6b531e52..9ad1b64b5f 100644 --- a/src/add-ons/media/media-add-ons/mixer/Resampler.h +++ b/src/add-ons/media/media-add-ons/mixer/Resampler.h @@ -65,15 +65,6 @@ private: int32 srcSampleOffset, int32 srcSampleCount, void* dest, int32 destSampleOffset, int32 destSampleCount, float gain); - // Do nothing method to get around a bug in - // the gcc2 cross-compiler built on Mac OS X - // Lion where a compiler error occurs when - // assigning a member function pointer to NULL - // or 0: cast specifies signature type. - // However, this should be legal according to - // the C++03 standard. - void no_conversion(const void*, int32, int32, void*, - int32, int32, float) {}; }; diff --git a/src/libs/print/libprint/Halftone.cpp b/src/libs/print/libprint/Halftone.cpp index 10e37c0009..82b5e6e0bd 100644 --- a/src/libs/print/libprint/Halftone.cpp +++ b/src/libs/print/libprint/Halftone.cpp @@ -31,21 +31,21 @@ ToGray(ColorRGB32 c) static uint GetRedValue(ColorRGB32 c) { - return c.little.red; + return c.little.red; } static uint GetGreenValue(ColorRGB32 c) { - return c.little.green; + return c.little.green; } static uint GetBlueValue(ColorRGB32 c) { - return c.little.blue; + return c.little.blue; } @@ -56,11 +56,11 @@ Halftone::Halftone(color_space colorSpace, double gamma, double min, fGray = ToGray; SetPlanes(kPlaneMonochrome1); SetBlackValue(kHighValueMeansBlack); - + InitFloydSteinberg(); - + CreateGammaTable(gamma, min); - + if (ditherType == kTypeFloydSteinberg) { fDither = &Halftone::DitherFloydSteinberg; return; @@ -79,13 +79,13 @@ Halftone::Halftone(color_space colorSpace, double gamma, double min, } switch (colorSpace) { - case B_RGB32: - case B_RGB32_BIG: - fDither = &Halftone::DitherRGB32; - break; - default: - fDither = &Halftone::DitherNone; - break; + case B_RGB32: + case B_RGB32_BIG: + fDither = &Halftone::DitherRGB32; + break; + default: + fDither = NULL; + break; } } @@ -364,3 +364,4 @@ Halftone::DitherFloydSteinberg(uchar *destination, const uchar* source0, *destination = ConvertUsingBlackValue(cur); } } + From b79561ad9cdd8216c6c88dcc1d947c0dc832887a Mon Sep 17 00:00:00 2001 From: John Scipione Date: Mon, 30 Jul 2012 02:45:45 -0400 Subject: [PATCH 19/19] Redo some reverted style changes. --- src/libs/print/libprint/Halftone.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libs/print/libprint/Halftone.cpp b/src/libs/print/libprint/Halftone.cpp index 82b5e6e0bd..5bd385755f 100644 --- a/src/libs/print/libprint/Halftone.cpp +++ b/src/libs/print/libprint/Halftone.cpp @@ -31,21 +31,21 @@ ToGray(ColorRGB32 c) static uint GetRedValue(ColorRGB32 c) { - return c.little.red; + return c.little.red; } static uint GetGreenValue(ColorRGB32 c) { - return c.little.green; + return c.little.green; } static uint GetBlueValue(ColorRGB32 c) { - return c.little.blue; + return c.little.blue; } @@ -56,11 +56,11 @@ Halftone::Halftone(color_space colorSpace, double gamma, double min, fGray = ToGray; SetPlanes(kPlaneMonochrome1); SetBlackValue(kHighValueMeansBlack); - + InitFloydSteinberg(); - + CreateGammaTable(gamma, min); - + if (ditherType == kTypeFloydSteinberg) { fDither = &Halftone::DitherFloydSteinberg; return;