Author: kirilla Date: 2011-03-22 02:35:38 +0100 (Tue, 22 Mar 2011) New Revision: 41075 Changeset: https://dev.haiku-os.org/changeset/41075 Modified: haiku/trunk/headers/os/locale/LocaleRoster.h haiku/trunk/src/apps/deskbar/BarApp.cpp haiku/trunk/src/kits/locale/LocaleRoster.cpp haiku/trunk/src/kits/tracker/FilePanelPriv.cpp haiku/trunk/src/kits/tracker/Model.cpp haiku/trunk/src/kits/tracker/Utilities.cpp haiku/trunk/src/kits/tracker/Utilities.h Log: Make BLocaleRoster::GetLocalizedFileName() take a const entry_ref& rather than a non-const entry_ref&. Remove private GetLocalizedFileName() from libtracker and make Tracker and Deskbar use the one in BLocaleRoster. Modified: haiku/trunk/headers/os/locale/LocaleRoster.h =================================================================== --- haiku/trunk/headers/os/locale/LocaleRoster.h 2011-03-21 23:23:57 UTC (rev 41074) +++ haiku/trunk/headers/os/locale/LocaleRoster.h 2011-03-22 01:35:38 UTC (rev 41075) @@ -68,7 +68,7 @@ bool IsFilesystemTranslationPreferred() const; - status_t GetLocalizedFileName(entry_ref& ref, + status_t GetLocalizedFileName(const entry_ref& ref, BString& localizedFileName, bool traverse = false); Modified: haiku/trunk/src/apps/deskbar/BarApp.cpp =================================================================== --- haiku/trunk/src/apps/deskbar/BarApp.cpp 2011-03-21 23:23:57 UTC (rev 41074) +++ haiku/trunk/src/apps/deskbar/BarApp.cpp 2011-03-22 01:35:38 UTC (rev 41075) @@ -619,7 +619,8 @@ BAppFileInfo appMime(&file); BString name; - if (!gLocalizedNamePreferred || GetLocalizedFileName(*ref, name) != B_OK) + if (!gLocalizedNamePreferred + || BLocaleRoster::Default()->GetLocalizedFileName(*ref, name) != B_OK) name = ref->name; BarTeamInfo* barInfo = new BarTeamInfo(new BList(), flags, strdup(sig), Modified: haiku/trunk/src/kits/locale/LocaleRoster.cpp =================================================================== --- haiku/trunk/src/kits/locale/LocaleRoster.cpp 2011-03-21 23:23:57 UTC (rev 41074) +++ haiku/trunk/src/kits/locale/LocaleRoster.cpp 2011-03-22 01:35:38 UTC (rev 41075) @@ -400,8 +400,8 @@ Lookup fails if a comment is present in the catalog entry. */ status_t -BLocaleRoster::GetLocalizedFileName(entry_ref& ref, BString& localizedFileName, - bool traverse) +BLocaleRoster::GetLocalizedFileName(const entry_ref& ref, + BString& localizedFileName, bool traverse) { BEntry entry(&ref, traverse); if (!entry.Exists()) Modified: haiku/trunk/src/kits/tracker/FilePanelPriv.cpp =================================================================== --- haiku/trunk/src/kits/tracker/FilePanelPriv.cpp 2011-03-21 23:23:57 UTC (rev 41074) +++ haiku/trunk/src/kits/tracker/FilePanelPriv.cpp 2011-03-22 01:35:38 UTC (rev 41075) @@ -781,7 +781,8 @@ BString title; if (be_app->GetAppInfo(&info) == B_OK) { if (!gLocalizedNamePreferred - || GetLocalizedFileName(info.ref, title, false) != B_OK) + || BLocaleRoster::Default()->GetLocalizedFileName( + info.ref, title, false) != B_OK) title = info.ref.name; title << ": "; } Modified: haiku/trunk/src/kits/tracker/Model.cpp =================================================================== --- haiku/trunk/src/kits/tracker/Model.cpp 2011-03-21 23:23:57 UTC (rev 41074) +++ haiku/trunk/src/kits/tracker/Model.cpp 2011-03-22 01:35:38 UTC (rev 41075) @@ -567,7 +567,8 @@ void Model::CacheLocalizedName() { - if (GetLocalizedFileName(fEntryRef, fLocalizedName, true) == B_OK) + if (BLocaleRoster::Default()->GetLocalizedFileName( + fEntryRef, fLocalizedName, true) == B_OK) fHasLocalizedName = true; else fHasLocalizedName = false; Modified: haiku/trunk/src/kits/tracker/Utilities.cpp =================================================================== --- haiku/trunk/src/kits/tracker/Utilities.cpp 2011-03-21 23:23:57 UTC (rev 41074) +++ haiku/trunk/src/kits/tracker/Utilities.cpp 2011-03-22 01:35:38 UTC (rev 41075) @@ -87,6 +87,9 @@ const rgb_color kWhite = {255, 255, 255, 255}; +bool gLocalizedNamePreferred; + + uint32 HashString(const char *string, uint32 seed) { @@ -1470,82 +1473,6 @@ } -bool gLocalizedNamePreferred; - - -/*! \brief Looks up a localized filename in a catalog, using attribute data - on the entry. - \param ref An entry_ref with an attribute holding data for catalog lookup. - \param localizedFileName A pre-allocated BString object for the result - of the lookup. - \param traverse A boolean to decide if symlinks are to be traversed. - \return - - \c B_OK: success - - \c B_ENTRY_NOT_FOUND: failure. Attribute not found, entry not found - in catalog, etc - - other error codes: failure - - Attribute format: "signature:context:string" - (no colon in any of signature, context and string) - - Lookup is done for the top preferred language, only. - Lookup fails if a comment is present in the catalog entry. -*/ -status_t -GetLocalizedFileName(entry_ref& ref, BString& localizedFileName, bool traverse) -{ - BEntry entry(&ref, traverse); - if (!entry.Exists()) - return B_ENTRY_NOT_FOUND; - - BNode node(&entry); - status_t status = node.InitCheck(); - if (status != B_OK) - return status; - - attr_info attr; - status = node.GetAttrInfo("SYS:NAME", &attr); - if (status != B_OK) - return status; - - char attribute[attr.size + 1]; - ssize_t bytes = node.ReadAttr("SYS:NAME", B_MIME_TYPE, 0, &attribute, - attr.size); - - if (bytes < 0) - return bytes; - - if (bytes == 0 || bytes != attr.size) - return B_ENTRY_NOT_FOUND; - - attribute[bytes] = '\0'; - - char* signature = attribute; - char* context = strchr(signature, ':'); - if (context == NULL) - return B_ENTRY_NOT_FOUND; - - context[0] = '\0'; - context++; - - char* string = strchr(context, ':'); - if (string == NULL) - return B_ENTRY_NOT_FOUND; - - string[0] = '\0'; - string++; - - BCatalog catalog(signature); - - const char* temp = catalog.GetString(string, context); - if (temp == NULL) - return B_ENTRY_NOT_FOUND; - - localizedFileName = temp; - return B_OK; -} - - void PrintToStream(rgb_color color) { Modified: haiku/trunk/src/kits/tracker/Utilities.h =================================================================== --- haiku/trunk/src/kits/tracker/Utilities.h 2011-03-21 23:23:57 UTC (rev 41074) +++ haiku/trunk/src/kits/tracker/Utilities.h 2011-03-22 01:35:38 UTC (rev 41075) @@ -89,6 +89,10 @@ const color_space kDefaultIconDepth = B_CMAP8; #endif + +extern bool gLocalizedNamePreferred; + + // misc typedefs, constants and structs // Periodically updated poses (ones with a volume space bar) register @@ -523,11 +527,6 @@ status_t GetAppIconFromAttr(BFile *, BBitmap *, icon_size); status_t GetFileIconFromAttr(BNode *, BBitmap *, icon_size); -extern bool gLocalizedNamePreferred; - -status_t GetLocalizedFileName(entry_ref& ref, BString& localizedFileName, - bool traverse = false); - // debugging void HexDump(const void *buffer, int32 length);