Ticket #6374: NavMenu.cpp.patch

File NavMenu.cpp.patch, 19.3 KB (added by mt, 14 years ago)
  • src/kits/tracker/NavMenu.cpp

     
    2626used in advertising or otherwise to promote the sale, use or other dealings in
    2727this Software without prior written authorization from Be Incorporated.
    2828
    29 Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
    30 of Be Incorporated in the United States and other countries. Other brand product
    31 names are registered trademarks or trademarks of their respective holders.
    32 All rights reserved.
     29Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
     30trademarks of Be Incorporated in the United States and other countries.
     31Other brand product names are registered trademarks or trademarks of
     32their respective holders. All rights reserved.
    3333*/
    3434
    3535//  NavMenu is a hierarchical menu of volumes, folders, files and queries
     
    7777
    7878
    7979bool
    80 SpringLoadedFolderCompareMessages(const BMessage *incoming, const BMessage *dragmessage)
     80SpringLoadedFolderCompareMessages(const BMessage* incoming,
     81    const BMessage* dragmessage)
    8182{
    8283    if (!dragmessage || !incoming)
    8384        return false;
    8485
    85     bool retvalue=false;
    86     for (int32 inIndex=0; incoming->HasRef("refs", inIndex); inIndex++) {
     86    bool retvalue = false;
     87    for (int32 inIndex = 0; incoming->HasRef("refs", inIndex); inIndex++) {
    8788        entry_ref inRef;
    8889        if (incoming->FindRef("refs", inIndex, &inRef) != B_OK) {
    8990            retvalue = false;
    9091            break;
    9192        }
    92        
     93
    9394        bool inRefMatch = false;
    94         for (int32 dragIndex=0; dragmessage->HasRef("refs", dragIndex); dragIndex++) {
     95        for (int32 dragIndex = 0; dragmessage->HasRef("refs", dragIndex);
     96            dragIndex++) {
    9597            entry_ref dragRef;
    9698            if (dragmessage->FindRef("refs", dragIndex, &dragRef) != B_OK) {
    9799                inRefMatch =  false;
     
    117119        BPoint inPt, dPt;
    118120        if (incoming->FindPoint("click_pt", &inPt) == B_OK)
    119121            if (dragmessage->FindPoint("click_pt", &dPt) == B_OK)
    120                 retvalue = (inPt == dPt);           
     122                retvalue = (inPt == dPt);
    121123    }
    122124
    123125    return retvalue;
     
    125127
    126128
    127129void
    128 SpringLoadedFolderSetMenuStates(const BMenu* menu, const BObjectList<BString> *typeslist)
     130SpringLoadedFolderSetMenuStates(const BMenu* menu,
     131    const BObjectList<BString> *typeslist)
    129132{
    130133    if (!menu || !typeslist)
    131134        return;
    132        
     135
    133136    //  if a types list exists
    134137    //      iterate through the list and see if each item
    135138    //      can support any item in the list
    136     //      set the enabled state of the item   
     139    //      set the enabled state of the item
    137140    int32 count = menu->CountItems();
    138141    for (int32 index = 0 ; index < count ; index++) {
    139         ModelMenuItem *item = dynamic_cast<ModelMenuItem *>(menu->ItemAt(index));
     142        ModelMenuItem* item = dynamic_cast<ModelMenuItem *>(menu->ItemAt(index));
    140143        if (!item)
    141144            continue;
    142145
    143         const Model *model = item->TargetModel();
     146        const Model* model = item->TargetModel();
    144147        if (!model)
    145148            continue;
    146            
     149
    147150        if (model->IsSymLink()) {
    148151            //  find out what the model is, resolve if symlink
    149152            BEntry entry(model->EntryRef(), true);
     
    157160                    int32 supported = resolvedModel.SupportsMimeType(NULL, typeslist);
    158161                    item->SetEnabled(supported != kDoesNotSupportType);
    159162                }
    160             } else 
     163            } else
    161164                //  bad entry ref (bad symlink?), disable
    162165                item->SetEnabled(false);
    163         } else if (model->IsDirectory() || model->IsRoot() || model->IsVolume()) 
     166        } else if (model->IsDirectory() || model->IsRoot() || model->IsVolume())
    164167            //  always enabled if a container
    165168            item->SetEnabled(true);
    166169        else if (model->IsFile() || model->IsExecutable()) {
     
    168171            item->SetEnabled(supported != kDoesNotSupportType);
    169172        } else
    170173            item->SetEnabled(false);
    171     }           
     174    }
    172175}
    173176
    174177
    175178void
    176 SpringLoadedFolderAddUniqueTypeToList(entry_ref *ref, BObjectList<BString> *typeslist)
     179SpringLoadedFolderAddUniqueTypeToList(entry_ref* ref,
     180    BObjectList<BString> *typeslist)
    177181{
    178182    if (!ref || !typeslist)
    179183        return;
    180        
     184
    181185    //  get the mime type for the current ref
    182186    BNodeInfo nodeinfo;
    183187    BNode node(ref);
    184188    if (node.InitCheck() != B_OK)
    185189        return;
    186        
     190
    187191    nodeinfo.SetTo(&node);
    188    
    189     char mimestr[B_MIME_TYPE_LENGTH];       
     192
     193    char mimestr[B_MIME_TYPE_LENGTH];
    190194    //  add it to the list
    191195    if (nodeinfo.GetType(mimestr) == B_OK && strlen(mimestr) > 0) {
    192196        //  if this is a symlink, add symlink to the list (below)
     
    194198        //  to the list
    195199        if (strcmp(B_LINK_MIMETYPE, mimestr) == 0) {
    196200            BEntry entry(ref, true);
    197             if (entry.InitCheck() == B_OK) {           
     201            if (entry.InitCheck() == B_OK) {
    198202                entry_ref resolvedRef;
    199                 if (entry.GetRef(&resolvedRef) == B_OK)     
     203                if (entry.GetRef(&resolvedRef) == B_OK)
    200204                    SpringLoadedFolderAddUniqueTypeToList(&resolvedRef, typeslist);
    201205            }
    202         }           
     206        }
    203207        //  scan the current list, don't add dups
    204208        bool unique = true;
    205209        int32 count = typeslist->CountItems();
     
    209213                break;
    210214            }
    211215        }
    212        
    213         if (unique) 
     216
     217        if (unique)
    214218            typeslist->AddItem(new BString(mimestr));
    215219    }
    216220}
    217221
    218222
    219223void
    220 SpringLoadedFolderCacheDragData(const BMessage *incoming, BMessage **message, BObjectList<BString> **typeslist)
     224SpringLoadedFolderCacheDragData(const BMessage* incoming, BMessage* *message,
     225    BObjectList<BString> **typeslist)
    221226{
    222227    if (!incoming)
    223228        return;
    224        
     229
    225230    delete *message;
    226231    delete *typeslist;
    227    
    228     BMessage *localMessage = new BMessage(*incoming);
     232
     233    BMessage* localMessage = new BMessage(*incoming);
    229234    BObjectList<BString> *localTypesList = new BObjectList<BString>(10, true);
    230235
    231     for (int32 index=0; incoming->HasRef("refs", index); index++) {
     236    for (int32 index = 0; incoming->HasRef("refs", index); index++) {
    232237        entry_ref ref;
    233238        if (incoming->FindRef("refs", index, &ref) != B_OK)
    234239            continue;
    235240
    236241        SpringLoadedFolderAddUniqueTypeToList(&ref, localTypesList);
    237242    }
    238    
     243
    239244    *message = localMessage;
    240245    *typeslist = localTypesList;
    241246}
     
    249254#undef B_TRANSLATE_CONTEXT
    250255#define B_TRANSLATE_CONTEXT "NavMenu"
    251256
    252 BNavMenu::BNavMenu(const char *title, uint32 message, const BHandler *target,
    253     BWindow *parentWindow, const BObjectList<BString> *list)
     257BNavMenu::BNavMenu(const char* title, uint32 message, const BHandler* target,
     258    BWindow* parentWindow, const BObjectList<BString> *list)
    254259    :   BSlowMenu(title),
    255260        fMessage(message),
    256261        fMessenger(target, target->Looper()),
     
    266271
    267272    // add the parent window to the invocation message so that it
    268273    // can be closed if option modifier held down during invocation
    269     BContainerWindow *originatingWindow = dynamic_cast<BContainerWindow *>(fParentWindow);
     274    BContainerWindow* originatingWindow =
     275        dynamic_cast<BContainerWindow *>(fParentWindow);
    270276    if (originatingWindow)
    271277        fMessage.AddData("nodeRefsToClose", B_RAW_TYPE,
    272278            originatingWindow->TargetModel()->NodeRef(), sizeof (node_ref));
     
    276282}
    277283
    278284
    279 BNavMenu::BNavMenu(const char *title, uint32 message, const BMessenger &messenger,
    280     BWindow *parentWindow, const BObjectList<BString> *list)
     285BNavMenu::BNavMenu(const char* title, uint32 message,
     286    const BMessenger& messenger, BWindow* parentWindow,
     287    const BObjectList<BString> *list)
    281288    :   BSlowMenu(title),
    282289        fMessage(message),
    283290        fMessenger(messenger),
     
    293300
    294301    // add the parent window to the invocation message so that it
    295302    // can be closed if option modifier held down during invocation
    296     BContainerWindow *originatingWindow = dynamic_cast<BContainerWindow *>(fParentWindow);
     303    BContainerWindow* originatingWindow =
     304        dynamic_cast<BContainerWindow *>(fParentWindow);
    297305    if (originatingWindow)
    298306        fMessage.AddData("nodeRefsToClose", B_RAW_TYPE,
    299307            originatingWindow->TargetModel()->NodeRef(), sizeof (node_ref));
     
    312320BNavMenu::AttachedToWindow()
    313321{
    314322    BSlowMenu::AttachedToWindow();
    315    
     323
    316324    SpringLoadedFolderSetMenuStates(this, fTypesList);
    317325        //  if dragging (fTypesList != NULL)
    318326        //  set the menu items enabled state
     
    343351}
    344352
    345353
    346 void 
     354void
    347355BNavMenu::ForceRebuild()
    348356{
    349357    ClearMenuBuildingState();
     
    351359}
    352360
    353361
    354 bool 
     362bool
    355363BNavMenu::NeedsToRebuild() const
    356364{
    357365    return !fMenuBuilt;
     
    359367
    360368
    361369void
    362 BNavMenu::SetNavDir(const entry_ref *ref)
     370BNavMenu::SetNavDir(const entry_ref* ref)
    363371{
    364372    ForceRebuild();
    365373        // reset the slow menu building mechanism so we can add more stuff
    366    
    367     fNavDir = *ref;
     374
     375    fNavDir =* ref;
    368376}
    369377
    370378
     
    378386    // they didn't get added to the menu
    379387    if (fItemList) {
    380388        int32 count = fItemList->CountItems();
    381         for (int32 index = count - 1; index >= 0; index--) 
     389        for (int32 index = count - 1; index >= 0; index--)
    382390            delete RemoveItem(index);
    383391        delete fItemList;
    384392        fItemList = NULL;
     
    392400    BEntry entry;
    393401
    394402    if (fNavDir.device < 0 || entry.SetTo(&fNavDir) != B_OK
    395         || !entry.Exists()) 
     403        || !entry.Exists())
    396404        return false;
    397405
    398406    fItemList = new BObjectList<BMenuItem>(50);
    399407
    400408    fIteratingDesktop = false;
    401    
     409
    402410    BDirectory parent;
    403411    status_t status = entry.GetParent(&parent);
    404412
    405413    // if ref is the root item then build list of volume root dirs
    406     fFlags = uint8((fFlags & ~kVolumesOnly) | (status == B_ENTRY_NOT_FOUND ? kVolumesOnly : 0));
     414    fFlags = uint8((fFlags & ~kVolumesOnly)
     415        | (status == B_ENTRY_NOT_FOUND ? kVolumesOnly : 0));
    407416    if (fFlags & kVolumesOnly)
    408417        return true;
    409418
    410419    Model startModel(&entry, true);
    411     if (startModel.InitCheck() != B_OK || !startModel.IsContainer()) 
     420    if (startModel.InitCheck() != B_OK || !startModel.IsContainer())
    412421        return false;
    413422
    414     if (startModel.IsQuery()) 
     423    if (startModel.IsQuery())
    415424        fContainer = new QueryEntryListCollection(&startModel);
    416425    else if (startModel.IsDesktop()) {
    417426        fIteratingDesktop = true;
    418         fContainer = DesktopPoseView::InitDesktopDirentIterator(0, startModel.EntryRef());
     427        fContainer = DesktopPoseView::InitDesktopDirentIterator(
     428            0,  startModel.EntryRef());
    419429        AddRootItemsIfNeeded();
    420430        AddTrashItem();
    421431    } else if (startModel.IsTrash()) {
     
    425435        volRoster.Rewind();
    426436        BVolume volume;
    427437        fContainer = new EntryIteratorList();
    428        
     438
    429439        while (volRoster.GetNextVolume(&volume) == B_OK) {
    430440            if (volume.IsReadOnly() || !volume.IsPersistent())
    431441                continue;
    432            
     442
    433443            BDirectory trashDir;
    434            
     444
    435445            if (FSGetTrashDir(&trashDir, volume.Device()) == B_OK)
    436446                dynamic_cast<EntryIteratorList *>(fContainer)->
    437447                    AddItem(new DirectoryEntryList(trashDir));
     
    508518        return true;
    509519    }
    510520
    511     QueryEntryListCollection *queryContainer
     521    QueryEntryListCollection* queryContainer
    512522        = dynamic_cast<QueryEntryListCollection*>(fContainer);
    513523    if (queryContainer && !queryContainer->ShowResultsFromTrash()
    514524        && FSInTrashDir(model.EntryRef())) {
     
    519529    ssize_t size = -1;
    520530    PoseInfo poseInfo;
    521531
    522     if (model.Node()) 
     532    if (model.Node())
    523533        size = model.Node()->ReadAttr(kAttrPoseInfo, B_RAW_TYPE, 0,
    524534            &poseInfo, sizeof(poseInfo));
    525535
    526536    model.CloseNode();
    527    
     537
    528538    // item might be in invisible
    529539    if (size == sizeof(poseInfo)
    530540            && !BPoseView::PoseVisible(&model, &poseInfo))
     
    535545}
    536546
    537547
    538 void 
    539 BNavMenu::AddOneItem(Model *model)
     548void
     549BNavMenu::AddOneItem(Model* model)
    540550{
    541     BMenuItem *item = NewModelItem(model, &fMessage, fMessenger, false,
     551    BMenuItem* item = NewModelItem(model, &fMessage, fMessenger, false,
    542552        dynamic_cast<BContainerWindow *>(fParentWindow),
    543553        fTypesList, &fTrackingHook);
    544554
     
    547557}
    548558
    549559
    550 ModelMenuItem *
    551 BNavMenu::NewModelItem(Model *model, const BMessage *invokeMessage,
    552     const BMessenger &target, bool suppressFolderHierarchy,
    553     BContainerWindow *parentWindow, const BObjectList<BString> *typeslist,
    554     TrackingHookData *hook)
     560ModelMenuItem*
     561BNavMenu::NewModelItem(Model* model, const BMessage* invokeMessage,
     562    const BMessenger& target, bool suppressFolderHierarchy,
     563    BContainerWindow* parentWindow, const BObjectList<BString> *typeslist,
     564    TrackingHookData* hook)
    555565{
    556566    if (model->InitCheck() != B_OK)
    557567        return 0;
    558568    entry_ref ref;
    559569    bool container = false;
    560570    if (model->IsSymLink()) {
    561    
    562         Model *newResolvedModel = 0;
    563         Model *result = model->LinkTo();
    564571
     572        Model* newResolvedModel = 0;
     573        Model* result = model->LinkTo();
     574
    565575        if (!result) {
    566576            newResolvedModel = new Model(model->EntryRef(), true, true);
    567577
     
    576586        if (result) {
    577587            BModelOpener opener(result);
    578588                // open the model, if it ain't open already
    579                    
     589
    580590            PoseInfo poseInfo;
    581591            ssize_t size = -1;
    582592
    583             if (result->Node()) 
     593            if (result->Node())
    584594                size = result->Node()->ReadAttr(kAttrPoseInfo, B_RAW_TYPE, 0,
    585595                    &poseInfo, sizeof(poseInfo));
    586    
     596
    587597            result->CloseNode();
    588598
    589             if (size == sizeof(poseInfo) && !BPoseView::PoseVisible(result, 
     599            if (size == sizeof(poseInfo) && !BPoseView::PoseVisible(result,
    590600                &poseInfo)) {
    591601                // link target does not want to be visible
    592602                delete newResolvedModel;
     
    602612        container = model->IsContainer();
    603613    }
    604614
    605     BMessage *message = new BMessage(*invokeMessage);
     615    BMessage* message = new BMessage(*invokeMessage);
    606616    message->AddRef("refs", model->EntryRef());
    607617
    608618    // Truncate the name if necessary
     
    610620    be_plain_font->TruncateString(&truncatedString, B_TRUNCATE_END,
    611621        GetMaxMenuWidth());
    612622
    613     ModelMenuItem *item = NULL;
     623    ModelMenuItem* item = NULL;
    614624    if (!container || suppressFolderHierarchy) {
    615625        item = new ModelMenuItem(model, truncatedString.String(), message);
    616626        if (invokeMessage->what != B_REFS_RECEIVED)
     
    618628            // the above is broken for FavoritesMenu::AddNextItem, which uses a
    619629            // workaround - should fix this
    620630    } else {
    621         BNavMenu *menu = new BNavMenu(truncatedString.String(),
     631        BNavMenu* menu = new BNavMenu(truncatedString.String(),
    622632            invokeMessage->what, target, parentWindow, typeslist);
    623        
     633
    624634        menu->SetNavDir(&ref);
    625635        if (hook)
    626636            menu->InitTrackingHook(hook->fTrackingHook, &(hook->fTarget),
     
    629639        item = new ModelMenuItem(model, menu);
    630640        item->SetMessage(message);
    631641    }
    632    
     642
    633643    return item;
    634644}
    635645
     
    642652
    643653    roster.Rewind();
    644654    while (roster.GetNextVolume(&volume) == B_OK) {
    645        
     655
    646656        if (!volume.IsPersistent())
    647657            continue;
    648        
     658
    649659        BDirectory startDir;
    650660        if (volume.GetRootDirectory(&startDir) == B_OK) {
    651661            BEntry entry;
    652662            startDir.GetEntry(&entry);
    653663
    654             Model *model = new Model(&entry);
     664            Model* model = new Model(&entry);
    655665            if (model->InitCheck() != B_OK) {
    656666                delete model;
    657667                continue;
    658668            }
    659            
    660             BNavMenu *menu = new BNavMenu(model->Name(), fMessage.what,
     669
     670            BNavMenu* menu = new BNavMenu(model->Name(), fMessage.what,
    661671                fMessenger, fParentWindow, fTypesList);
    662672
    663673            menu->SetNavDir(model->EntryRef());
    664674
    665675            ASSERT(menu->Name());
    666676
    667             ModelMenuItem *item = new ModelMenuItem(model, menu);
    668             BMessage *message = new BMessage(fMessage);
     677            ModelMenuItem* item = new ModelMenuItem(model, menu);
     678            BMessage* message = new BMessage(fMessage);
    669679
    670680            message->AddRef("refs", model->EntryRef());
    671681
    672682            item->SetMessage(message);
    673683            fItemList->AddItem(item);
    674684            ASSERT(item->Label());
    675            
     685
    676686        }
    677687    }
    678688}
    679689
    680690
    681691int
    682 BNavMenu::CompareFolderNamesFirstOne(const BMenuItem *i1, const BMenuItem *i2)
     692BNavMenu::CompareFolderNamesFirstOne(const BMenuItem* i1, const BMenuItem* i2)
    683693{
    684     const ModelMenuItem *item1 = dynamic_cast<const ModelMenuItem *>(i1);
    685     const ModelMenuItem *item2 = dynamic_cast<const ModelMenuItem *>(i2);
    686    
     694    const ModelMenuItem* item1 = dynamic_cast<const ModelMenuItem *>(i1);
     695    const ModelMenuItem* item2 = dynamic_cast<const ModelMenuItem *>(i2);
     696
    687697    if (item1 != NULL && item2 != NULL)
    688698        return item1->TargetModel()->CompareFolderNamesFirst(item2->TargetModel());
    689699
     
    692702
    693703
    694704int
    695 BNavMenu::CompareOne(const BMenuItem *i1, const BMenuItem *i2)
     705BNavMenu::CompareOne(const BMenuItem* i1, const BMenuItem* i2)
    696706{
    697707    return strcasecmp(i1->Label(), i2->Label());
    698708}
     
    716726        if (!directory.IsRootDirectory()
    717727            && entry.GetParent(&entry) == B_OK) {
    718728            Model model(&entry, true);
    719             BLooper *looper;
    720             AddNavParentDir(&model,fMessage.what,fMessenger.Target(&looper));
     729            BLooper* looper;
     730            AddNavParentDir(&model, fMessage.what,
     731                fMessenger.Target(&looper));
    721732        }
    722733    }
    723734
    724735    int32 count = fItemList->CountItems();
    725     for (int32 index = 0; index < count; index++) 
     736    for (int32 index = 0; index < count; index++)
    726737        AddItem(fItemList->ItemAt(index));
    727738    fItemList->MakeEmpty();
    728739
    729740    if (!count) {
    730         BMenuItem *item = new BMenuItem(B_TRANSLATE("Empty folder"), 0);
     741        BMenuItem* item = new BMenuItem(B_TRANSLATE("Empty folder"), 0);
    731742        item->SetEnabled(false);
    732743        AddItem(item);
    733744    }
     
    744755}
    745756
    746757
    747 void 
    748 BNavMenu::AddNavDir(const Model *model, uint32 what, BHandler *target,
     758void
     759BNavMenu::AddNavDir(const Model* model, uint32 what, BHandler* target,
    749760    bool populateSubmenu)
    750761{
    751     BMessage *message = new BMessage((uint32)what);
     762    BMessage* message = new BMessage((uint32)what);
    752763    message->AddRef("refs", model->EntryRef());
    753     ModelMenuItem *item = NULL;
     764    ModelMenuItem* item = NULL;
    754765
    755766    if (populateSubmenu) {
    756         BNavMenu *navMenu = new BNavMenu(model->Name(), what, target);
     767        BNavMenu* navMenu = new BNavMenu(model->Name(), what, target);
    757768        navMenu->SetNavDir(model->EntryRef());
    758         navMenu->InitTrackingHook(fTrackingHook.fTrackingHook, &(fTrackingHook.fTarget),
    759                 fTrackingHook.fDragMessage);
     769        navMenu->InitTrackingHook(fTrackingHook.fTrackingHook,
     770            &(fTrackingHook.fTarget), fTrackingHook.fDragMessage);
    760771        item = new ModelMenuItem(model, navMenu);
    761772        item->SetMessage(message);
    762     } else 
     773    } else
    763774        item = new ModelMenuItem(model, model->Name(), message);
    764775
    765776    AddItem(item);
     
    767778
    768779
    769780void
    770 BNavMenu::AddNavParentDir(const char *name,const Model *model,uint32 what,BHandler *target)
     781BNavMenu::AddNavParentDir(const char* name,const Model* model,
     782    uint32 what, BHandler* target)
    771783{
    772     BNavMenu *menu = new BNavMenu(name,what,target);
     784    BNavMenu* menu = new BNavMenu(name, what, target);
    773785    menu->SetNavDir(model->EntryRef());
    774786    menu->SetShowParent(true);
    775787    menu->InitTrackingHook(fTrackingHook.fTrackingHook, &(fTrackingHook.fTarget),
    776788            fTrackingHook.fDragMessage);
    777789
    778     BMenuItem *item = new SpecialModelMenuItem(model,menu);
     790    BMenuItem* item = new SpecialModelMenuItem(model, menu);
    779791
    780     BMessage *message = new BMessage(what);
     792    BMessage* message = new BMessage(what);
    781793    message->AddRef("refs",model->EntryRef());
    782794    item->SetMessage(message);
    783795
     
    786798
    787799
    788800void
    789 BNavMenu::AddNavParentDir(const Model *model, uint32 what, BHandler *target)
     801BNavMenu::AddNavParentDir(const Model* model, uint32 what, BHandler* target)
    790802{
    791     AddNavParentDir("parent folder",model,what,target);
     803    AddNavParentDir(B_TRANSLATE("parent folder"),model, what, target);
    792804}
    793805
    794806
     
    814826
    815827
    816828void
    817 BNavMenu::SetTarget(const BMessenger &msngr)
     829BNavMenu::SetTarget(const BMessenger& msngr)
    818830{
    819831    fMessenger = msngr;
    820832}
     
    827839}
    828840
    829841
    830 TrackingHookData *
    831 BNavMenu::InitTrackingHook(bool (*hook)(BMenu *, void *), const BMessenger *target,
    832     const BMessage *dragMessage)
     842TrackingHookData*
     843BNavMenu::InitTrackingHook(bool (*hook)(BMenu*, void*),
     844    const BMessenger* target, const BMessage* dragMessage)
    833845{
    834846    fTrackingHook.fTrackingHook = hook;
    835847    if (target)
     
    840852}
    841853
    842854
    843 void
    844 BNavMenu::SetTrackingHookDeep(BMenu *menu, bool (*func)(BMenu *, void *), void *state)
     855void
     856BNavMenu::SetTrackingHookDeep(BMenu* menu, bool (*func)(BMenu*, void*),
     857    void* state)
    845858{
    846859    menu->SetTrackingHook(func, state);
    847860    int32 count = menu->CountItems();
    848861    for (int32 index = 0 ; index < count; index++) {
    849         BMenuItem *item = menu->ItemAt(index);
     862        BMenuItem* item = menu->ItemAt(index);
    850863        if (!item)
    851864            continue;
    852865
    853         BMenu *submenu = item->Submenu();
     866        BMenu* submenu = item->Submenu();
    854867        if (submenu)
    855868            SetTrackingHookDeep(submenu, func, state);
    856869    }