5570fd11c0
- Some changes in the locale roster to allow instanciating a language - Locale preflet : use this new API instead of directly calling ICU Side effect : all languages in Locale window are now displayed in the current locale. It makes more sense as otherwise the list would be unsortable. However it can get annoying if you mistakenly set a strange language as default. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35210 a95241bf-73f2-0310-859d-f6bbb57e9c96
85 lines
2.2 KiB
C++
85 lines
2.2 KiB
C++
#ifndef _LOCALE_ROSTER_H_
|
|
#define _LOCALE_ROSTER_H_
|
|
|
|
|
|
#include <String.h>
|
|
|
|
|
|
class BLanguage;
|
|
class BLocale;
|
|
class BCollator;
|
|
class BCountry;
|
|
class BCatalog;
|
|
class BCatalogAddOn;
|
|
class BMessage;
|
|
|
|
struct entry_ref;
|
|
|
|
namespace BPrivate {
|
|
class EditableCatalog;
|
|
};
|
|
|
|
enum {
|
|
B_LOCALE_CHANGED = '_LCC',
|
|
};
|
|
|
|
|
|
class BLocaleRoster {
|
|
|
|
public:
|
|
BLocaleRoster();
|
|
~BLocaleRoster();
|
|
|
|
// status_t GetCatalog(BLocale *,const char *mimeType, BCatalog *catalog);
|
|
// status_t GetCatalog(const char *mimeType, BCatalog *catalog);
|
|
// status_t SetCatalog(BLocale *,const char *mimeType, BCatalog *catalog);
|
|
|
|
// status_t GetLocaleFor(const char *langCode, const char *countryCode);
|
|
|
|
status_t GetDefaultCollator(BCollator **) const;
|
|
status_t GetDefaultLanguage(BLanguage **) const;
|
|
status_t GetDefaultCountry(BCountry **) const;
|
|
void SetDefaultCountry(BCountry *) const;
|
|
|
|
status_t GetLanguage(BLanguage** language, BString languageCode) const;
|
|
|
|
status_t GetPreferredLanguages(BMessage *) const;
|
|
status_t SetPreferredLanguages(BMessage *);
|
|
// the message contains one or more 'language'-string-fields
|
|
// which contain the language-name(s)
|
|
|
|
status_t GetInstalledLanguages(BMessage *) const;
|
|
// the message contains one or more 'language'-string-fields
|
|
// which contain the language-name(s)
|
|
|
|
status_t GetInstalledCatalogs(BMessage *, const char* sigPattern = NULL,
|
|
const char* langPattern = NULL, int32 fingerprint = 0) const;
|
|
// the message contains...
|
|
|
|
static const char *kCatLangAttr;
|
|
static const char *kCatSigAttr;
|
|
static const char *kCatFingerprintAttr;
|
|
|
|
static const char *kCatManagerMimeType;
|
|
static const char *kCatEditorMimeType;
|
|
|
|
static const char *kEmbeddedCatAttr;
|
|
static int32 kEmbeddedCatResId;
|
|
|
|
private:
|
|
|
|
BCatalogAddOn* LoadCatalog(const char *signature,
|
|
const char *language = NULL, int32 fingerprint = 0);
|
|
BCatalogAddOn* LoadEmbeddedCatalog(entry_ref *appOrAddOnRef);
|
|
status_t UnloadCatalog(BCatalogAddOn *addOn);
|
|
|
|
BCatalogAddOn* CreateCatalog(const char *type,
|
|
const char *signature, const char *language);
|
|
|
|
friend class BCatalog;
|
|
friend class BPrivate::EditableCatalog;
|
|
friend status_t get_add_on_catalog(BCatalog*, const char *);
|
|
};
|
|
|
|
#endif /* _LOCALE_ROSTER_H_ */
|