[haiku-commits] r41075 - in haiku/trunk: headers/os/locale src/apps/deskbar src/kits/locale src/kits/tracker

  • From: jonas@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 22 Mar 2011 02:35:38 +0100 (CET)

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);
 


Other related posts:

  • » [haiku-commits] r41075 - in haiku/trunk: headers/os/locale src/apps/deskbar src/kits/locale src/kits/tracker - jonas