Patch from Jason Fagnière (Protonux) as part of GCI :

* i18nize devices, charactermap, cdplayer, activitymonitor.

Thanks!

(note : there are some known 80-column problems in this patch)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39835 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adrien Destugues 2010-12-13 21:00:43 +00:00
parent a2158925a6
commit 7c2ffab858
21 changed files with 402 additions and 286 deletions

View File

@ -19,6 +19,7 @@
#include <BitmapStream.h>
#include <Box.h>
#include <Button.h>
#include <Catalog.h>
#include <Debug.h>
#include <Deskbar.h>
#include <Dragger.h>
@ -34,6 +35,8 @@
#include <stdlib.h>
#include <string.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CDPlayer"
enum {
M_STOP = 'mstp',
@ -81,9 +84,10 @@ CDPlayer::CDPlayer(BRect frame, const char *name, uint32 resizeMask,
BuildGUI();
if (fCDDrive.CountDrives() < 1) {
BAlert *alert = new BAlert("CDPlayer", "It appears that there are no CD"
BAlert *alert = new BAlert("CDPlayer", B_TRANSLATE(
"It appears that there are no CD"
" drives on your computer or there is no system software to "
"support one. Sorry.", "OK");
"support one. Sorry."), "OK");
alert->Go();
}
@ -131,7 +135,7 @@ CDPlayer::BuildGUI()
r.bottom = 25;
float labelWidth, labelHeight;
fCDTitle = new BStringView(r, "CDTitle", "CD drive is empty",
fCDTitle = new BStringView(r, "CDTitle", B_TRANSLATE("CD drive is empty"),
B_FOLLOW_LEFT_RIGHT);
fCDTitle->GetPreferredSize(&labelWidth, &labelHeight);
fCDTitle->ResizeTo(r.Width(), labelHeight);
@ -140,20 +144,21 @@ CDPlayer::BuildGUI()
r.bottom = r.top + labelHeight;
r.OffsetBy(0, r.Height() + 5);
fCurrentTrack = new BStringView(r, "TrackNumber", "", B_FOLLOW_LEFT_RIGHT);
fCurrentTrack = new BStringView(r, B_TRANSLATE("TrackNumber"),
"", B_FOLLOW_LEFT_RIGHT);
box->AddChild(fCurrentTrack);
r.OffsetBy(0, r.Height() + 5);
r.right = r.left + (r.Width() / 2);
fTrackTime = new BStringView(r, "TrackTime", "Track: 88:88 / 88:88",
B_FOLLOW_LEFT_RIGHT);
fTrackTime = new BStringView(r, B_TRANSLATE("TrackTime"),
"Track: 88:88 / 88:88", B_FOLLOW_LEFT_RIGHT);
fTrackTime->ResizeToPreferred();
fTrackTime->SetText("Track: --:-- / --:--");
box->AddChild(fTrackTime);
r.OffsetTo(fTrackTime->Frame().right + 5, r.top);
fDiscTime = new BStringView(r, "DiscTime", "Disc: 88:88 / 88:88",
B_FOLLOW_RIGHT);
fDiscTime = new BStringView(r, B_TRANSLATE("DiscTime"),
"Disc: 88:88 / 88:88", B_FOLLOW_RIGHT);
fDiscTime->ResizeToPreferred();
fDiscTime->SetText("Disc: --:-- / --:--");
box->AddChild(fDiscTime);
@ -467,7 +472,7 @@ CDPlayer::_WatchCDState()
// Because we are changing play states, we will need to update
// the GUI
fCDData.SetDiscID(-1);
SetLabel(fCDTitle, "CD drive is empty");
SetLabel(fCDTitle, B_TRANSLATE("CD drive is empty"));
SetLabel(fCurrentTrack, "");
SetLabel(fTrackTime, "Track: --:-- / --:--");
@ -523,7 +528,7 @@ CDPlayer::_WatchCDState()
display << " - " << fCDData.Album();
SetLabel(fCDTitle, display.String());
} else
SetLabel(fCDTitle, "Audio CD");
SetLabel(fCDTitle, B_TRANSLATE("Audio CD"));
}
}
@ -612,8 +617,8 @@ CDPlayer::_WatchCDState()
trackTotal.GetMinutes(), trackTotal.GetSeconds());
SetLabel(fTrackTime, timeString);
} else {
SetLabel(fTrackTime, "Track: --:-- / --:--");
SetLabel(fDiscTime, "Disc: --:-- / --:--");
SetLabel(fTrackTime, B_TRANSLATE("Track: --:-- / --:--"));
SetLabel(fDiscTime, B_TRANSLATE("Disc: --:-- / --:--"));
}
}

View File

@ -12,7 +12,13 @@ Application CDPlayer :
TwoStateDrawButton.cpp
VolumeSlider.cpp
: be $(TARGET_SELECT_UNAME_ETC_LIB) $(TARGET_NETAPI_LIB) $(TARGET_LIBSTDC++)
: be $(TARGET_SELECT_UNAME_ETC_LIB) $(TARGET_NETAPI_LIB) $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS)
translation textencoding
: CDPlayer.rdef
;
DoCatalogs CDPlayer :
x-vnd.Haiku-CDPlayer
:
CDPlayer.cpp
;

View File

@ -10,10 +10,13 @@
#include <Alert.h>
#include <Application.h>
#include <Catalog.h>
#include <TextView.h>
#include "CharacterWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CharacterMap"
const char* kSignature = "application/x-vnd.Haiku-CharacterMap";
@ -54,9 +57,10 @@ CharacterMap::MessageReceived(BMessage* message)
void
CharacterMap::AboutRequested()
{
BAlert *alert = new BAlert("about", "CharacterMap\n"
BAlert *alert = new BAlert(B_TRANSLATE("about"), B_TRANSLATE(
"CharacterMap\n"
"\twritten by Axel Dörfler\n"
"\tCopyright 2009, Haiku, Inc.\n", "OK");
"\tCopyright 2009, Haiku, Inc.\n"), "OK");
BTextView *view = alert->TextView();
BFont font;

View File

@ -10,6 +10,7 @@
#include <string.h>
#include <Bitmap.h>
#include <Catalog.h>
#include <Clipboard.h>
#include <LayoutUtils.h>
#include <MenuItem.h>
@ -19,6 +20,8 @@
#include "UnicodeBlocks.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CharacterView"
static const uint32 kMsgCopyAsEscapedString = 'cesc';
@ -268,11 +271,11 @@ CharacterView::MouseDown(BPoint where)
BMessage* message = new BMessage(B_COPY);
message->AddInt32("character", fCurrentCharacter);
menu->AddItem(new BMenuItem("Copy character", message, 'C'));
menu->AddItem(new BMenuItem(B_TRANSLATE("Copy character"), message, 'C'));
message = new BMessage(kMsgCopyAsEscapedString);
message->AddInt32("character", fCurrentCharacter);
menu->AddItem(new BMenuItem("Copy as escaped byte string",
menu->AddItem(new BMenuItem(B_TRANSLATE("Copy as escaped byte string"),
message, 'C', B_SHIFT_KEY));
menu->SetTargetForItems(this);

View File

@ -11,6 +11,7 @@
#include <Application.h>
#include <Button.h>
#include <Catalog.h>
#include <File.h>
#include <FindDirectory.h>
#include <GroupLayoutBuilder.h>
@ -31,6 +32,8 @@
#include "CharacterView.h"
#include "UnicodeBlockView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CharacterWindow"
static const uint32 kMsgUnicodeBlockSelected = 'unbs';
static const uint32 kMsgCharacterChanged = 'chch';
@ -137,10 +140,10 @@ CharacterWindow::CharacterWindow()
BMenuBar* menuBar = new BMenuBar("menu");
fFilterControl = new BTextControl("Filter:", NULL, NULL);
fFilterControl = new BTextControl(B_TRANSLATE("Filter:"), NULL, NULL);
fFilterControl->SetModificationMessage(new BMessage(kMsgFilterChanged));
BButton* clearButton = new BButton("clear", "Clear",
BButton* clearButton = new BButton("clear", B_TRANSLATE("Clear"),
new BMessage(kMsgClearFilter));
fUnicodeBlockView = new UnicodeBlockView("unicodeBlocks");
@ -187,7 +190,8 @@ CharacterWindow::CharacterWindow()
BScrollView* characterScroller = new BScrollView("characterScroller",
fCharacterView, 0, false, true);
fFontSizeSlider = new FontSizeSlider("fontSizeSlider", "Font size:",
fFontSizeSlider = new FontSizeSlider("fontSizeSlider",
B_TRANSLATE("Font size:"),
new BMessage(kMsgFontSizeChanged), kMinFontSize, kMaxFontSize);
fFontSizeSlider->SetValue(fontSize);
@ -215,18 +219,19 @@ CharacterWindow::CharacterWindow()
BMenu* menu = new BMenu("File");
BMenuItem* item;
menu->AddItem(item = new BMenuItem("About CharacterMap" B_UTF8_ELLIPSIS,
new BMessage(B_ABOUT_REQUESTED)));
menu->AddItem(item = new BMenuItem(B_TRANSLATE("About CharacterMap"
B_UTF8_ELLIPSIS), new BMessage(B_ABOUT_REQUESTED)));
menu->AddSeparatorItem();
menu->AddItem(new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q'));
menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"),
new BMessage(B_QUIT_REQUESTED), 'Q'));
menu->SetTargetForItems(this);
item->SetTarget(be_app);
menuBar->AddItem(menu);
menu = new BMenu("View");
menu->AddItem(item = new BMenuItem("Show private blocks",
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Show private blocks"),
new BMessage(kMsgPrivateBlocks)));
item->SetMarked(fCharacterView->IsShowingPrivateBlocks());
// TODO: this feature is not yet supported by Haiku!
@ -413,7 +418,7 @@ CharacterWindow::_OpenSettings(BFile& file, uint32 mode)
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) != B_OK)
return B_ERROR;
path.Append("CharacterMap settings");
path.Append(B_TRANSLATE("CharacterMap settings"));
return file.SetTo(path.Path(), mode);
}

View File

@ -11,6 +11,14 @@ Application CharacterMap :
UnicodeBlocks.cpp
UnicodeBlockView.cpp
: be locale $(TARGET_LIBSUPC++)
: be locale $(TARGET_LIBSUPC++) $(HAIKU_LOCALE_LIBS)
: CharacterMap.rdef
;
DoCatalogs CharacterMap :
x-vnd.Haiku-CharacterMap
:
CharacterMap.cpp
CharacterWindow.cpp
UnicodeBlocks.cpp
;

View File

@ -6,189 +6,229 @@
#include "UnicodeBlocks.h"
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "UnicodeBlocks"
const unicode_block kNoBlock;
const struct unicode_block_entry kUnicodeBlocks[] = {
{"Basic Latin", 0x0000, 0x007f, false, B_BASIC_LATIN_BLOCK},
{"Latin-1 supplement", 0x0080, 0x00ff, false, B_LATIN1_SUPPLEMENT_BLOCK},
{"Latin extended A", 0x0100, 0x017f, false, B_LATIN_EXTENDED_A_BLOCK},
{"Latin extended B", 0x0180, 0x024f, false, B_LATIN_EXTENDED_B_BLOCK},
{"IPA extensions", 0x0250, 0x02af, false, B_IPA_EXTENSIONS_BLOCK},
{"Spacing modifier letters", 0x02b0, 0x02ff, false,
{B_TRANSLATE("Basic Latin"), 0x0000, 0x007f, false, B_BASIC_LATIN_BLOCK},
{B_TRANSLATE("Latin-1 supplement"), 0x0080, 0x00ff, false,
B_LATIN1_SUPPLEMENT_BLOCK},
{B_TRANSLATE("Latin extended A"), 0x0100, 0x017f, false,
B_LATIN_EXTENDED_A_BLOCK},
{B_TRANSLATE("Latin extended B"), 0x0180, 0x024f, false,
B_LATIN_EXTENDED_B_BLOCK},
{B_TRANSLATE("IPA extensions"), 0x0250, 0x02af, false,
B_IPA_EXTENSIONS_BLOCK},
{B_TRANSLATE("Spacing modifier letters"), 0x02b0, 0x02ff, false,
B_SPACING_MODIFIER_LETTERS_BLOCK},
{"Combining diacritical marks", 0x0300, 0x036f, false,
{B_TRANSLATE("Combining diacritical marks"), 0x0300, 0x036f, false,
B_COMBINING_DIACRITICAL_MARKS_BLOCK},
{"Greek and Coptic", 0x0370, 0x03ff, false,
{B_TRANSLATE("Greek and Coptic"), 0x0370, 0x03ff, false,
B_BASIC_GREEK_BLOCK | B_GREEK_SYMBOLS_AND_COPTIC_BLOCK},
{"Cyrillic", 0x0400, 0x04ff, false, B_CYRILLIC_BLOCK},
{"Cyrillic supplement", 0x0500, 0x052f, false, B_CYRILLIC_BLOCK},
{"Armenian", 0x0530, 0x058f, false, B_ARMENIAN_BLOCK},
{"Hebrew", 0x0590, 0x05ff, false,
{B_TRANSLATE("Cyrillic"), 0x0400, 0x04ff, false, B_CYRILLIC_BLOCK},
{B_TRANSLATE("Cyrillic supplement"), 0x0500, 0x052f, false,
B_CYRILLIC_BLOCK},
{B_TRANSLATE("Armenian"), 0x0530, 0x058f, false, B_ARMENIAN_BLOCK},
{B_TRANSLATE("Hebrew"), 0x0590, 0x05ff, false,
B_BASIC_HEBREW_BLOCK | B_HEBREW_EXTENDED_BLOCK},
{"Arabic", 0x0600, 0x06ff, false,
{B_TRANSLATE("Arabic"), 0x0600, 0x06ff, false,
B_BASIC_ARABIC_BLOCK | B_ARABIC_EXTENDED_BLOCK},
{"Syriac", 0x0700, 0x074f, false, kNoBlock},
{"Arabic supplement", 0x0750, 0x077f, false, kNoBlock},
{"Thaana", 0x0780, 0x07bf, false, kNoBlock},
{"N'Ko", 0x07c0, 0x07ff, false, kNoBlock},
{"Devanagari", 0x0900, 0x097f, false, B_DEVANAGARI_BLOCK},
{"Bengali", 0x0980, 0x09ff, false, B_BENGALI_BLOCK},
{"Gurmukhi", 0x0a00, 0x0a7f, false, B_GURMUKHI_BLOCK},
{"Gujarati", 0x0a80, 0x0aff, false, B_GUJARATI_BLOCK},
{"Oriya", 0x0b00, 0x0b7f, false, B_ORIYA_BLOCK},
{"Tamil", 0x0b80, 0x0bff, false, B_TAMIL_BLOCK},
{"Telugu", 0x0c00, 0x0c7f, false, B_TELUGU_BLOCK},
{"Kannada", 0x0c80, 0x0cff, false, B_KANNADA_BLOCK},
{"Malayalam", 0x0d00, 0x0d7f, false, B_MALAYALAM_BLOCK},
{"Sinhala", 0x0d80, 0x0dff, false, kNoBlock},
{"Thai", 0x0e00, 0x0e7f, false, B_THAI_BLOCK},
{"Lao", 0x0e80, 0x0eff, false, B_LAO_BLOCK},
{"Tibetan", 0x0f00, 0x0fff, false, kNoBlock},
{"Myanmar", 0x1000, 0x109f, false, kNoBlock},
{"Georgian", 0x10a0, 0x10ff, false, B_BASIC_GEORGIAN_BLOCK},
{"Hangul Jamo", 0x1100, 0x11ff, false, kNoBlock},
{B_TRANSLATE("Syriac"), 0x0700, 0x074f, false, kNoBlock},
{B_TRANSLATE("Arabic supplement"), 0x0750, 0x077f, false, kNoBlock},
{B_TRANSLATE("Thaana"), 0x0780, 0x07bf, false, kNoBlock},
{B_TRANSLATE("N'Ko"), 0x07c0, 0x07ff, false, kNoBlock},
{B_TRANSLATE("Devanagari"), 0x0900, 0x097f, false, B_DEVANAGARI_BLOCK},
{B_TRANSLATE("Bengali"), 0x0980, 0x09ff, false, B_BENGALI_BLOCK},
{B_TRANSLATE("Gurmukhi"), 0x0a00, 0x0a7f, false, B_GURMUKHI_BLOCK},
{B_TRANSLATE("Gujarati"), 0x0a80, 0x0aff, false, B_GUJARATI_BLOCK},
{B_TRANSLATE("Oriya"), 0x0b00, 0x0b7f, false, B_ORIYA_BLOCK},
{B_TRANSLATE("Tamil"), 0x0b80, 0x0bff, false, B_TAMIL_BLOCK},
{B_TRANSLATE("Telugu"), 0x0c00, 0x0c7f, false, B_TELUGU_BLOCK},
{B_TRANSLATE("Kannada"), 0x0c80, 0x0cff, false, B_KANNADA_BLOCK},
{B_TRANSLATE("Malayalam"), 0x0d00, 0x0d7f, false, B_MALAYALAM_BLOCK},
{B_TRANSLATE("Sinhala"), 0x0d80, 0x0dff, false, kNoBlock},
{B_TRANSLATE("Thai"), 0x0e00, 0x0e7f, false, B_THAI_BLOCK},
{B_TRANSLATE("Lao"), 0x0e80, 0x0eff, false, B_LAO_BLOCK},
{B_TRANSLATE("Tibetan"), 0x0f00, 0x0fff, false, kNoBlock},
{B_TRANSLATE("Myanmar"), 0x1000, 0x109f, false, kNoBlock},
{B_TRANSLATE("Georgian"), 0x10a0, 0x10ff, false, B_BASIC_GEORGIAN_BLOCK},
{B_TRANSLATE("Hangul Jamo"), 0x1100, 0x11ff, false, kNoBlock},
// TODO!
{"Ethiopic", 0x1200, 0x137f, false, kNoBlock},
{"Ethiopic supplement", 0x1380, 0x139f, false, kNoBlock},
{"Cherokee", 0x13a0, 0x13ff, false, kNoBlock},
{"Unified Canadian Aboriginal syllabics", 0x1400, 0x167f, false, kNoBlock},
{"Ogham", 0x1680, 0x169f, false, kNoBlock},
{"Runic", 0x16a0, 0x16ff, false, kNoBlock},
{"Tagalog", 0x1700, 0x171f, false, kNoBlock},
{"Hanunoo", 0x1720, 0x173f, false, kNoBlock},
{"Buhid", 0x1740, 0x175f, false, kNoBlock},
{"Tagbanwa", 0x1760, 0x177f, false, kNoBlock},
{"Khmer", 0x1780, 0x17ff, false, kNoBlock},
{"Mongolian", 0x1800, 0x18af, false, kNoBlock},
{"Limbu", 0x1900, 0x194f, false, kNoBlock},
{"Tai Le", 0x1950, 0x197f, false, kNoBlock},
{"New Tai Lue", 0x1980, 0x19df, false, kNoBlock},
{"Khmer symbols", 0x19e0, 0x19ff, false, kNoBlock},
{"Buginese", 0x1a00, 0x1a1f, false, kNoBlock},
{"Balinese", 0x1b00, 0x1b7f, false, kNoBlock},
{"Sundanese", 0x1b80, 0x1bbf, false, kNoBlock},
{"Lepcha", 0x1c00, 0x1c4f, false, kNoBlock},
{"Ol Chiki", 0x1c50, 0x1c7f, false, kNoBlock},
{"Phonetic extensions", 0x1d00, 0x1d7f, false, kNoBlock},
{"Phonetic extensions supplement", 0x1d80, 0x1dbf, false, kNoBlock},
{"Combining diacritical marks supplement", 0x1dc0, 0x1dff, false, kNoBlock},
{"Latin extended additional", 0x1e00, 0x1eff, false, kNoBlock},
{"Greek extended", 0x1f00, 0x1fff, false, kNoBlock},
{"General punctuation", 0x2000, 0x206f, false, kNoBlock},
{"Superscripts and subscripts", 0x2070, 0x209f, false, kNoBlock},
{"Currency symbols", 0x20a0, 0x20cf, false, kNoBlock},
{"Combining diacritical marks for symbols", 0x20d0, 0x20ff, false,
kNoBlock},
{"Letterlike symbols", 0x2100, 0x214f, false, kNoBlock},
{"Number forms", 0x2150, 0x218f, false, kNoBlock},
{"Arrows", 0x2190, 0x21ff, false, kNoBlock},
{"Mathematical operators", 0x2200, 0x22ff, false, kNoBlock},
{"Miscellaneous technical", 0x2300, 0x23ff, false, kNoBlock},
{"Control pictures", 0x2400, 0x243f, false, kNoBlock},
{"Optical character recognition", 0x2440, 0x245f, false, kNoBlock},
{"Enclosed alphanumerics", 0x2460, 0x24ff, false, kNoBlock},
{"Box drawing", 0x2500, 0x257f, false, kNoBlock},
{"Block elements", 0x2580, 0x259f, false, kNoBlock},
{"Geometric shapes", 0x25a0, 0x25ff, false, kNoBlock},
{"Miscellaneous symbols", 0x2600, 0x26ff, false, kNoBlock},
{"Dingbats", 0x2700, 0x27bf, false, kNoBlock},
{"Miscellaneous mathematical symbols A", 0x27c0, 0x27ef, false, kNoBlock},
{"Supplemental arrows A", 0x27f0, 0x27ff, false, kNoBlock},
{"Braille patterns", 0x2800, 0x28ff, false, kNoBlock},
{"Supplemental arrows B", 0x2900, 0x297f, false, kNoBlock},
{"Miscellaneous mathematical symbols B", 0x2980, 0x29ff, false, kNoBlock},
{"Supplemental mathematical operators", 0x2a00, 0x2aff, false, kNoBlock},
{"Miscellaneous symbols and arrows", 0x2b00, 0x2bff, false, kNoBlock},
{"Glagotic", 0x2c00, 0x2c5f, false, kNoBlock},
{"Latin extended C", 0x2c60, 0x2c7f, false, kNoBlock},
{"Coptic", 0x2c80, 0x2cff, false, kNoBlock},
{"Georgian supplement", 0x2d00, 0x2d2f, false, kNoBlock},
{"Tifinagh", 0x2d30, 0x2d7f, false, kNoBlock},
{"Ethiopic extended", 0x2d80, 0x2ddf, false, kNoBlock},
{"Cyrillic extended A", 0x2de0, 0x2dff, false, kNoBlock},
{"Supplement punctuation", 0x2e00, 0x2e7f, false, kNoBlock},
{"CJK radicals supplement", 0x2e80, 0x2eff, false, kNoBlock},
{"Kangxi radicals", 0x2f00, 0x2fdf, false, kNoBlock},
{"Ideographic description characters", 0x2ff0, 0x2fff, false, kNoBlock},
{"CJK symbols and punctuation", 0x3000, 0x303f, false, kNoBlock},
{"Hiragana", 0x3040, 0x309f, false, kNoBlock},
{"Katakana", 0x30a0, 0x30ff, false, kNoBlock},
{"Bopomofo", 0x3100, 0x312f, false, kNoBlock},
{"Hangul compatibility Jamo", 0x3130, 0x318f, false, kNoBlock},
{"Kanbun", 0x3190, 0x319f, false, kNoBlock},
{"Bopomofo extended", 0x31a0, 0x31bf, false, kNoBlock},
{"CJK strokes", 0x31c0, 0x31ef, false, kNoBlock},
{"Katakana phonetic extensions", 0x31f0, 0x31ff, false, kNoBlock},
{"Enclosed CJK letters and months", 0x3200, 0x32ff, false, kNoBlock},
{"CJK compatibility", 0x3300, 0x33ff, false, kNoBlock},
{"CJK unified ideographs extension A", 0x3400, 0x4dbf, false, kNoBlock},
{"Yijing hexagram symbols", 0x4dc0, 0x4dff, false, kNoBlock},
{"CJK unified ideographs", 0x4e00, 0x9fff, false, kNoBlock},
{"Yi syllables", 0xa000, 0xa48f, false, kNoBlock},
{"Yi Radicals", 0xa490, 0xa4cf, false, kNoBlock},
{"Vai", 0xa500, 0xa63f, false, kNoBlock},
{"Cyrillic extended B", 0xa640, 0xa69f, false, kNoBlock},
{"Modifier tone letters", 0xa700, 0xa71f, false, kNoBlock},
{"Latin extended D", 0xa720, 0xa7ff, false, kNoBlock},
{"Syloti Nagri", 0xa800, 0xa82f, false, kNoBlock},
{"Phags-pa", 0xa840, 0xa87f, false, kNoBlock},
{"Saurashtra", 0xa880, 0xa8df, false, kNoBlock},
{"Kayah Li", 0xa900, 0xa92f, false, kNoBlock},
{"Rejang", 0xa930, 0xa95f, false, kNoBlock},
{"Cham", 0xaa00, 0xaa5f, false, kNoBlock},
{"Hangul syllables", 0xac00, 0xd7af, false, kNoBlock},
// {"High surrogates", 0xd800, 0xdb7f, false, kNoBlock},
// {"High private use surrogates", 0xdb80, 0xdbff, false, kNoBlock},
// {"Low surrogates", 0xdc00, 0xdfff, false, kNoBlock},
{"Private use area", 0xe000, 0xf8ff, true, kNoBlock},
{"CJK compatibility ideographs", 0xf900, 0xfaff, false, kNoBlock},
{"Alphabetic presentation forms", 0xfb00, 0xfb4f, false, kNoBlock},
{"Arabic presentation forms A", 0xfb50, 0xfdff, false, kNoBlock},
{"Variation selectors", 0xfe00, 0xfe0f, false, kNoBlock},
{"Vertical forms", 0xfe10, 0xfe1f, false, kNoBlock},
{"Combining half marks", 0xfe20, 0xfe2f, false, kNoBlock},
{"CJK compatibility forms", 0xfe30, 0xfe4f, false, kNoBlock},
{"Small form variants", 0xfe50, 0xfe6f, false, kNoBlock},
{"Arabic presentation forms B", 0xfe70, 0xfeff, false, kNoBlock},
{"Halfwidth and fullwidth forms", 0xff00, 0xffef, false, kNoBlock},
{"Specials", 0xfff0, 0xffff, false, kNoBlock},
{"Linear B syllabary", 0x010000, 0x01007f, false, kNoBlock},
{"Linear B ideograms", 0x010080, 0x0100ff, false, kNoBlock},
{"Aegean numbers", 0x010100, 0x01013f, false, kNoBlock},
{"Ancient Greek numbers", 0x010140, 0x01018f, false, kNoBlock},
{"Ancient smbols", 0x010190, 0x0101cf, false, kNoBlock},
{"Phaistos disc", 0x0101d0, 0x0101ff, false, kNoBlock},
{"Lycian", 0x010280, 0x01029f, false, kNoBlock},
{"Carian", 0x0102a0, 0x0102df, false, kNoBlock},
{"Old italic", 0x010300, 0x01032f, false, kNoBlock},
{"Gothic", 0x010330, 0x01034f, false, kNoBlock},
{"Ugaritic", 0x010380, 0x01039f, false, kNoBlock},
{"Old Persian", 0x0103a0, 0x0103df, false, kNoBlock},
{"Deseret", 0x010400, 0x01044f, false, kNoBlock},
{"Shavian", 0x010450, 0x01047f, false, kNoBlock},
{"Osmanya", 0x010480, 0x0104af, false, kNoBlock},
{"Cypriot syllabary", 0x010800, 0x01083f, false, kNoBlock},
{"Phoenician", 0x010900, 0x01091f, false, kNoBlock},
{"Lydian", 0x010920, 0x01093f, false, kNoBlock},
{"Kharoshthi", 0x010a00, 0x010a5f, false, kNoBlock},
{"Cuneiform", 0x012000, 0x0123ff, false, kNoBlock},
{"Cuneiform numbers and punctuation", 0x012400, 0x01247f, false, kNoBlock},
{"Byzantine musical symbols", 0x01d000, 0x01d0ff, false, kNoBlock},
{"Muscial symbols", 0x01d100, 0x01d1ff, false, kNoBlock},
{"Ancient Greek musical notation", 0x01d200, 0x01d24f, false, kNoBlock},
{"Tai Xuan Jing symbols", 0x01d300, 0x01d35f, false, kNoBlock},
{"Counting rod numerals", 0x01d360, 0x01d37f, false, kNoBlock},
{"Mathematical alphanumeric symbols", 0x01d400, 0x01d7ff, false, kNoBlock},
{"Mahjong tiles", 0x01f000, 0x01f02f, false, kNoBlock},
{"Domino tiles", 0x01f030, 0x01f09f, false, kNoBlock},
{"CJK unified ideographs extension B", 0x020000, 0x02a6df, false, kNoBlock},
{"CJK compatibility ideographs Supplement", 0x02f800, 0x02fa1f, false,
kNoBlock},
{"Tags", 0x0e0000, 0x0e007f, false, kNoBlock},
{"Variation selectors supplement", 0x0e0100, 0x0e01ef, false, kNoBlock},
{"Supplementary private use area A", 0x0f0000, 0x0fffff, true, kNoBlock},
{"Supplementary private use area B", 0x100000, 0x10ffff, true, kNoBlock},
{B_TRANSLATE("Ethiopic"), 0x1200, 0x137f, false, kNoBlock},
{B_TRANSLATE("Ethiopic supplement"), 0x1380, 0x139f, false, kNoBlock},
{B_TRANSLATE("Cherokee"), 0x13a0, 0x13ff, false, kNoBlock},
{B_TRANSLATE("Unified Canadian Aboriginal syllabics"),
0x1400, 0x167f, false, kNoBlock},
{B_TRANSLATE("Ogham"), 0x1680, 0x169f, false, kNoBlock},
{B_TRANSLATE("Runic"), 0x16a0, 0x16ff, false, kNoBlock},
{B_TRANSLATE("Tagalog"), 0x1700, 0x171f, false, kNoBlock},
{B_TRANSLATE("Hanunoo"), 0x1720, 0x173f, false, kNoBlock},
{B_TRANSLATE("Buhid"), 0x1740, 0x175f, false, kNoBlock},
{B_TRANSLATE("Tagbanwa"), 0x1760, 0x177f, false, kNoBlock},
{B_TRANSLATE("Khmer"), 0x1780, 0x17ff, false, kNoBlock},
{B_TRANSLATE("Mongolian"), 0x1800, 0x18af, false, kNoBlock},
{B_TRANSLATE("Limbu"), 0x1900, 0x194f, false, kNoBlock},
{B_TRANSLATE("Tai Le"), 0x1950, 0x197f, false, kNoBlock},
{B_TRANSLATE("New Tai Lue"), 0x1980, 0x19df, false, kNoBlock},
{B_TRANSLATE("Khmer symbols"), 0x19e0, 0x19ff, false, kNoBlock},
{B_TRANSLATE("Buginese"), 0x1a00, 0x1a1f, false, kNoBlock},
{B_TRANSLATE("Balinese"), 0x1b00, 0x1b7f, false, kNoBlock},
{B_TRANSLATE("Sundanese"), 0x1b80, 0x1bbf, false, kNoBlock},
{B_TRANSLATE("Lepcha"), 0x1c00, 0x1c4f, false, kNoBlock},
{B_TRANSLATE("Ol Chiki"), 0x1c50, 0x1c7f, false, kNoBlock},
{B_TRANSLATE("Phonetic extensions"), 0x1d00, 0x1d7f, false, kNoBlock},
{B_TRANSLATE("Phonetic extensions supplement"),
0x1d80, 0x1dbf, false, kNoBlock},
{B_TRANSLATE("Combining diacritical marks supplement"),
0x1dc0, 0x1dff, false, kNoBlock},
{B_TRANSLATE("Latin extended additional"),
0x1e00, 0x1eff, false, kNoBlock},
{B_TRANSLATE("Greek extended"), 0x1f00, 0x1fff, false, kNoBlock},
{B_TRANSLATE("General punctuation"), 0x2000, 0x206f, false, kNoBlock},
{B_TRANSLATE("Superscripts and subscripts"),
0x2070, 0x209f, false, kNoBlock},
{B_TRANSLATE("Currency symbols"), 0x20a0, 0x20cf, false, kNoBlock},
{B_TRANSLATE("Combining diacritical marks for symbols"),
0x20d0, 0x20ff, false, kNoBlock},
{B_TRANSLATE("Letterlike symbols"), 0x2100, 0x214f, false, kNoBlock},
{B_TRANSLATE("Number forms"), 0x2150, 0x218f, false, kNoBlock},
{B_TRANSLATE("Arrows"), 0x2190, 0x21ff, false, kNoBlock},
{B_TRANSLATE("Mathematical operators"), 0x2200, 0x22ff, false, kNoBlock},
{B_TRANSLATE("Miscellaneous technical"), 0x2300, 0x23ff, false, kNoBlock},
{B_TRANSLATE("Control pictures"), 0x2400, 0x243f, false, kNoBlock},
{B_TRANSLATE("Optical character recognition"),
0x2440, 0x245f, false, kNoBlock},
{B_TRANSLATE("Enclosed alphanumerics"), 0x2460, 0x24ff, false, kNoBlock},
{B_TRANSLATE("Box drawing"), 0x2500, 0x257f, false, kNoBlock},
{B_TRANSLATE("Block elements"), 0x2580, 0x259f, false, kNoBlock},
{B_TRANSLATE("Geometric shapes"), 0x25a0, 0x25ff, false, kNoBlock},
{B_TRANSLATE("Miscellaneous symbols"), 0x2600, 0x26ff, false, kNoBlock},
{B_TRANSLATE("Dingbats"), 0x2700, 0x27bf, false, kNoBlock},
{B_TRANSLATE("Miscellaneous mathematical symbols A"),
0x27c0, 0x27ef, false, kNoBlock},
{B_TRANSLATE("Supplemental arrows A"), 0x27f0, 0x27ff, false, kNoBlock},
{B_TRANSLATE("Braille patterns"), 0x2800, 0x28ff, false, kNoBlock},
{B_TRANSLATE("Supplemental arrows B"), 0x2900, 0x297f, false, kNoBlock},
{B_TRANSLATE("Miscellaneous mathematical symbols B"),
0x2980, 0x29ff, false, kNoBlock},
{B_TRANSLATE("Supplemental mathematical operators"),
0x2a00, 0x2aff, false, kNoBlock},
{B_TRANSLATE("Miscellaneous symbols and arrows"),
0x2b00, 0x2bff, false, kNoBlock},
{B_TRANSLATE("Glagotic"), 0x2c00, 0x2c5f, false, kNoBlock},
{B_TRANSLATE("Latin extended C"), 0x2c60, 0x2c7f, false, kNoBlock},
{B_TRANSLATE("Coptic"), 0x2c80, 0x2cff, false, kNoBlock},
{B_TRANSLATE("Georgian supplement"), 0x2d00, 0x2d2f, false, kNoBlock},
{B_TRANSLATE("Tifinagh"), 0x2d30, 0x2d7f, false, kNoBlock},
{B_TRANSLATE("Ethiopic extended"), 0x2d80, 0x2ddf, false, kNoBlock},
{B_TRANSLATE("Cyrillic extended A"), 0x2de0, 0x2dff, false, kNoBlock},
{B_TRANSLATE("Supplement punctuation"), 0x2e00, 0x2e7f, false, kNoBlock},
{B_TRANSLATE("CJK radicals supplement"), 0x2e80, 0x2eff, false, kNoBlock},
{B_TRANSLATE("Kangxi radicals"), 0x2f00, 0x2fdf, false, kNoBlock},
{B_TRANSLATE("Ideographic description characters"),
0x2ff0, 0x2fff, false, kNoBlock},
{B_TRANSLATE("CJK symbols and punctuation"),
0x3000, 0x303f, false, kNoBlock},
{B_TRANSLATE("Hiragana"), 0x3040, 0x309f, false, kNoBlock},
{B_TRANSLATE("Katakana"), 0x30a0, 0x30ff, false, kNoBlock},
{B_TRANSLATE("Bopomofo"), 0x3100, 0x312f, false, kNoBlock},
{B_TRANSLATE("Hangul compatibility Jamo"), 0x3130, 0x318f, false, kNoBlock},
{B_TRANSLATE("Kanbun"), 0x3190, 0x319f, false, kNoBlock},
{B_TRANSLATE("Bopomofo extended"), 0x31a0, 0x31bf, false, kNoBlock},
{B_TRANSLATE("CJK strokes"), 0x31c0, 0x31ef, false, kNoBlock},
{B_TRANSLATE("Katakana phonetic extensions"),
0x31f0, 0x31ff, false, kNoBlock},
{B_TRANSLATE("Enclosed CJK letters and months"),
0x2ff0, 0x2fff, false, kNoBlock},
{B_TRANSLATE("CJK compatibility"), 0x3300, 0x33ff, false, kNoBlock},
{B_TRANSLATE("CJK unified ideographs extension A"),
0x3400, 0x4dbf, false, kNoBlock},
{B_TRANSLATE("Yijing hexagram symbols"), 0x4dc0, 0x4dff, false, kNoBlock},
{B_TRANSLATE("CJK unified ideographs"), 0x4e00, 0x9fff, false, kNoBlock},
{B_TRANSLATE("Yi syllables"), 0xa000, 0xa48f, false, kNoBlock},
{B_TRANSLATE("Yi Radicals"), 0xa490, 0xa4cf, false, kNoBlock},
{B_TRANSLATE("Vai"), 0xa500, 0xa63f, false, kNoBlock},
{B_TRANSLATE("Cyrillic extended B"), 0xa640, 0xa69f, false, kNoBlock},
{B_TRANSLATE("Modifier tone letters"), 0xa700, 0xa71f, false, kNoBlock},
{B_TRANSLATE("Latin extended D"), 0xa720, 0xa7ff, false, kNoBlock},
{B_TRANSLATE("Syloti Nagri"), 0xa800, 0xa82f, false, kNoBlock},
{B_TRANSLATE("Phags-pa"), 0xa840, 0xa87f, false, kNoBlock},
{B_TRANSLATE("Saurashtra"), 0xa880, 0xa8df, false, kNoBlock},
{B_TRANSLATE("Kayah Li"), 0xa900, 0xa92f, false, kNoBlock},
{B_TRANSLATE("Rejang"), 0xa930, 0xa95f, false, kNoBlock},
{B_TRANSLATE("Cham"), 0xaa00, 0xaa5f, false, kNoBlock},
{B_TRANSLATE("Hangul syllables"), 0xac00, 0xd7af, false, kNoBlock},
// {B_TRANSLATE("High surrogates"), 0xd800, 0xdb7f, false, kNoBlock},
// {B_TRANSLATE("High private use surrogates"), 0xdb80, 0xdbff, false, kNoBlock},
// {B_TRANSLATE("Low surrogates"), 0xdc00, 0xdfff, false, kNoBlock},
{B_TRANSLATE("Private use area"), 0xe000, 0xf8ff, true, kNoBlock},
{B_TRANSLATE("CJK compatibility ideographs"),
0xf900, 0xfaff, false, kNoBlock},
{B_TRANSLATE("Alphabetic presentation forms"),
0xfb00, 0xfb4f, false, kNoBlock},
{B_TRANSLATE("Arabic presentation forms A"),
0xfb50, 0xfdff, false, kNoBlock},
{B_TRANSLATE("Variation selectors"), 0xfe00, 0xfe0f, false, kNoBlock},
{B_TRANSLATE("Vertical forms"), 0xfe10, 0xfe1f, false, kNoBlock},
{B_TRANSLATE("Combining half marks"), 0xfe20, 0xfe2f, false, kNoBlock},
{B_TRANSLATE("CJK compatibility forms"), 0xfe30, 0xfe4f, false, kNoBlock},
{B_TRANSLATE("Small form variants"), 0xfe50, 0xfe6f, false, kNoBlock},
{B_TRANSLATE("Arabic presentation forms B"),
0xfe70, 0xfeff, false, kNoBlock},
{B_TRANSLATE("Halfwidth and fullwidth forms"),
0xff00, 0xffef, false, kNoBlock},
{B_TRANSLATE("Specials"), 0xfff0, 0xffff, false, kNoBlock},
{B_TRANSLATE("Linear B syllabary"), 0x010000, 0x01007f, false, kNoBlock},
{B_TRANSLATE("Linear B ideograms"), 0x010080, 0x0100ff, false, kNoBlock},
{B_TRANSLATE("Aegean numbers"), 0x010100, 0x01013f, false, kNoBlock},
{B_TRANSLATE("Ancient Greek numbers"),
0x010140, 0x01018f, false, kNoBlock},
{B_TRANSLATE("Ancient smbols"), 0x010190, 0x0101cf, false, kNoBlock},
{B_TRANSLATE("Phaistos disc"), 0x0101d0, 0x0101ff, false, kNoBlock},
{B_TRANSLATE("Lycian"), 0x010280, 0x01029f, false, kNoBlock},
{B_TRANSLATE("Carian"), 0x0102a0, 0x0102df, false, kNoBlock},
{B_TRANSLATE("Old italic"), 0x010300, 0x01032f, false, kNoBlock},
{B_TRANSLATE("Gothic"), 0x010330, 0x01034f, false, kNoBlock},
{B_TRANSLATE("Ugaritic"), 0x010380, 0x01039f, false, kNoBlock},
{B_TRANSLATE("Old Persian"), 0x0103a0, 0x0103df, false, kNoBlock},
{B_TRANSLATE("Deseret"), 0x010400, 0x01044f, false, kNoBlock},
{B_TRANSLATE("Shavian"), 0x010450, 0x01047f, false, kNoBlock},
{B_TRANSLATE("Osmanya"), 0x010480, 0x0104af, false, kNoBlock},
{B_TRANSLATE("Cypriot syllabary"), 0x010800, 0x01083f, false, kNoBlock},
{B_TRANSLATE("Phoenician"), 0x010900, 0x01091f, false, kNoBlock},
{B_TRANSLATE("Lydian"), 0x010920, 0x01093f, false, kNoBlock},
{B_TRANSLATE("Kharoshthi"), 0x010a00, 0x010a5f, false, kNoBlock},
{B_TRANSLATE("Cuneiform"), 0x012000, 0x0123ff, false, kNoBlock},
{B_TRANSLATE("Cuneiform numbers and punctuation"),
0x012400, 0x01247f, false, kNoBlock},
{B_TRANSLATE("Byzantine musical symbols"),
0x01d000, 0x01d0ff, false, kNoBlock},
{B_TRANSLATE("Muscial symbols"), 0x01d100, 0x01d1ff, false, kNoBlock},
{B_TRANSLATE("Ancient Greek musical notation"),
0x01d200, 0x01d24f, false, kNoBlock},
{B_TRANSLATE("Tai Xuan Jing symbols"),
0x01d300, 0x01d35f, false, kNoBlock},
{B_TRANSLATE("Counting rod numerals"),
0x01d360, 0x01d37f, false, kNoBlock},
{B_TRANSLATE("Mathematical alphanumeric symbols"),
0x01d400, 0x01d7ff, false, kNoBlock},
{B_TRANSLATE("Mahjong tiles"), 0x01f000, 0x01f02f, false, kNoBlock},
{B_TRANSLATE("Domino tiles"), 0x01f030, 0x01f09f, false, kNoBlock},
{B_TRANSLATE("CJK unified ideographs extension B"),
0x020000, 0x02a6df, false, kNoBlock},
{B_TRANSLATE("CJK compatibility ideographs Supplement"),
0x02f800, 0x02fa1f, false, kNoBlock},
{B_TRANSLATE("Tags"), 0x0e0000, 0x0e007f, false, kNoBlock},
{B_TRANSLATE("Variation selectors supplement"),
0x0e0100, 0x0e01ef, false, kNoBlock},
{B_TRANSLATE("Supplementary private use area A"),
0x0f0000, 0x0fffff, true, kNoBlock},
{B_TRANSLATE("Supplementary private use area B"),
0x100000, 0x10ffff, true, kNoBlock},
};
const uint32 kNumUnicodeBlocks

View File

@ -14,6 +14,7 @@
#include <stdio.h>
#include <string.h>
#include <Catalog.h>
#include <Directory.h>
#include <File.h>
#include <FindDirectory.h>
@ -21,8 +22,10 @@
#include "CalcWindow.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CalcApplication"
static const char* kSettingsFileName = "DeskCalc_settings";
static const char* kSettingsFileName = B_TRANSLATE("DeskCalc_settings");
const char* kAppSig = "application/x-vnd.Haiku-DeskCalc";
static const float kDefaultWindowWidth = 220.0;
@ -107,8 +110,7 @@ CalcApplication::_SaveSettings()
fCalcWindow->Unlock();
if (ret < B_OK) {
fprintf(stderr, "CalcApplication::_SaveSettings() - "
"error from window: %s\n", strerror(ret));
fprintf(stderr, "CalcApplication::_SaveSettings() - error from window: %s\n", strerror(ret));
return;
}
@ -116,15 +118,13 @@ CalcApplication::_SaveSettings()
BFile prefsFile;
ret = _InitSettingsFile(&prefsFile, true);
if (ret < B_OK) {
fprintf(stderr, "CalcApplication::_SaveSettings() - "
"error creating file: %s\n", strerror(ret));
fprintf(stderr, "CalcApplication::_SaveSettings() - error creating file: %s\n", strerror(ret));
return;
}
ret = archive.Flatten(&prefsFile);
if (ret < B_OK) {
fprintf(stderr, "CalcApplication::_SaveSettings() - "
"error flattening to file: %s\n", strerror(ret));
fprintf(stderr, "CalcApplication::_SaveSettings() - error flattening to file: %s\n", strerror(ret));
return;
}
}

View File

@ -22,6 +22,7 @@
#include <AppFileInfo.h>
#include <Beep.h>
#include <Bitmap.h>
#include <Catalog.h>
#include <ControlLook.h>
#include <Clipboard.h>
#include <File.h>
@ -41,6 +42,8 @@
#include "CalcOptions.h"
#include "ExpressionTextView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "CalcView"
//const uint8 K_COLOR_OFFSET = 32;
const float kFontScaleY = 0.4f;
@ -682,12 +685,12 @@ CalcView::FrameResized(float width, float height)
void
CalcView::AboutRequested()
{
BAlert* alert = new BAlert("about",
BAlert* alert = new BAlert(B_TRANSLATE("about"),B_TRANSLATE(
"DeskCalc v2.1.0\n\n"
"written by Timothy Wayper,\nStephan Aßmus and Ingo Weinhold\n\n"
B_UTF8_COPYRIGHT"1997, 1998 R3 Software Ltd.\n"
B_UTF8_COPYRIGHT"2006-2009 Haiku, Inc.\n\n"
"All Rights Reserved.", "OK");
B_UTF8_COPYRIGHT "1997, 1998 R3 Software Ltd.\n"
B_UTF8_COPYRIGHT "2006-2009 Haiku, Inc.\n\n"
"All Rights Reserved."), "OK");
alert->Go(NULL);
}
@ -1098,13 +1101,13 @@ void
CalcView::_CreatePopUpMenu()
{
// construct items
fAutoNumlockItem = new BMenuItem("Enable Num Lock on startup",
fAutoNumlockItem = new BMenuItem(B_TRANSLATE("Enable Num Lock on startup"),
new BMessage(MSG_OPTIONS_AUTO_NUM_LOCK));
fAudioFeedbackItem = new BMenuItem("Audio Feedback",
fAudioFeedbackItem = new BMenuItem(B_TRANSLATE("Audio Feedback"),
new BMessage(MSG_OPTIONS_AUDIO_FEEDBACK));
fShowKeypadItem = new BMenuItem("Show keypad",
fShowKeypadItem = new BMenuItem(B_TRANSLATE("Show keypad"),
new BMessage(MSG_OPTIONS_SHOW_KEYPAD));
fAboutItem = new BMenuItem("About DeskCalc" B_UTF8_ELLIPSIS,
fAboutItem = new BMenuItem(B_TRANSLATE("About DeskCalc" B_UTF8_ELLIPSIS),
new BMessage(B_ABOUT_REQUESTED));
// apply current settings

View File

@ -12,6 +12,13 @@ Application DeskCalc :
DeskCalc.cpp
ExpressionTextView.cpp
InputTextView.cpp
: be $(TARGET_LIBSTDC++) media libexpression_parser.a libmapm.a
: be $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS) media libexpression_parser.a libmapm.a
: DeskCalc.rdef
;
DoCatalogs DeskCalc :
x-vnd.Haiku-DeskCalc
:
CalcApplication.cpp
CalcView.cpp
;

View File

@ -11,29 +11,33 @@
#include <iostream>
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "Device"
// This list comes from the pciid list, except for the last one
const char* kCategoryString[] = {
"Unclassified device", // 0x00
"Mass storage controller", // 0x01
"Network controller", // 0x02
"Display controller", // 0x03
"Multimedia controller", // 0x04
"Memory controller", // 0x05
"Bridge", // 0x06
"Communication controller", // 0x07
"Generic system peripheral", // 0x08
"Input device controller", // 0x09
"Docking station", // 0x0a
"Processor", // 0x0b
"Serial bus controller", // 0x0c
"Wireless controller", // 0x0d
"Intelligent controller", // 0x0e
"Satellite communications controller", // 0x0f
"Encryption controller", // 0x10
"Signal processing controller", // 0x11
"Computer", // 0x12 (added later)
"ACPI controller" // 0x13 (added later)
B_TRANSLATE("Unclassified device"), // 0x00
B_TRANSLATE("Mass storage controller"), // 0x01
B_TRANSLATE("Network controller"), // 0x02
B_TRANSLATE("Display controller"), // 0x03
B_TRANSLATE("Multimedia controller"), // 0x04
B_TRANSLATE("Memory controller"), // 0x05
B_TRANSLATE("Bridge"), // 0x06
B_TRANSLATE("Communication controller"), // 0x07
B_TRANSLATE("Generic system peripheral"), // 0x08
B_TRANSLATE("Input device controller"), // 0x09
B_TRANSLATE("Docking station"), // 0x0a
B_TRANSLATE("Processor"), // 0x0b
B_TRANSLATE("Serial bus controller"), // 0x0c
B_TRANSLATE("Wireless controller"), // 0x0d
B_TRANSLATE("Intelligent controller"), // 0x0e
B_TRANSLATE("Satellite communications controller"), // 0x0f
B_TRANSLATE("Encryption controller"), // 0x10
B_TRANSLATE("Signal processing controller"), // 0x11
B_TRANSLATE("Computer"), // 0x12 (added later)
B_TRANSLATE("ACPI controller") // 0x13 (added later)
};
@ -46,10 +50,10 @@ Device::Device(Device* physicalParent, BusType busType, Category category,
fCategory(category),
fPhysicalParent(physicalParent)
{
SetAttribute("Device name", name);
SetAttribute("Manufacturer", manufacturer);
SetAttribute("Driver used", driverUsed);
SetAttribute("Device paths", devPathsPublished);
SetAttribute(B_TRANSLATE("Device name"), name);
SetAttribute(B_TRANSLATE("Manufacturer"), manufacturer);
SetAttribute(B_TRANSLATE("Driver used"), driverUsed);
SetAttribute(B_TRANSLATE("Device paths"), devPathsPublished);
}
@ -61,7 +65,7 @@ Device::~Device()
void
Device::SetAttribute(const BString& name, const BString& value)
{
if (name == "Device name") {
if (name == B_TRANSLATE("Device name")) {
SetText(value.String());
}
fAttributeMap[name] = value;
@ -72,8 +76,8 @@ Attributes
Device::GetBasicAttributes()
{
Attributes attributes;
attributes.push_back(Attribute("Device name:", GetName()));
attributes.push_back(Attribute("Manufacturer:", GetManufacturer()));
attributes.push_back(Attribute(B_TRANSLATE("Device name:"), GetName()));
attributes.push_back(Attribute(B_TRANSLATE("Manufacturer:"), GetManufacturer()));
return attributes;
}
@ -103,10 +107,10 @@ BString
Device::GetBasicStrings()
{
BString str;
str << "Device Name\t\t\t\t: " << GetName() << "\n";
str << "Manufacturer\t\t\t: " << GetManufacturer() << "\n";
str << "Driver used\t\t\t\t: " << GetDriverUsed() << "\n";
str << "Device paths\t: " << GetDevPathsPublished();
str << B_TRANSLATE("Device Name\t\t\t\t: ") << GetName() << "\n";
str << B_TRANSLATE("Manufacturer\t\t\t: ") << GetManufacturer() << "\n";
str << B_TRANSLATE("Driver used\t\t\t\t: ") << GetDriverUsed() << "\n";
str << B_TRANSLATE("Device paths\t: ") << GetDevPathsPublished();
return str;
}

View File

@ -44,20 +44,20 @@ DeviceACPI::InitFromAttributes()
// Identify Predefined root namespaces (ACPI Spec 4.0a, p162)
if (rootACPIPath == "\\_SB_") {
outlineName = "ACPI System Bus";
outlineName = B_TRANSLATE("ACPI System Bus");
} else if (rootACPIPath == "\\_TZ_") {
outlineName = "ACPI Thermal Zone";
outlineName = B_TRANSLATE("ACPI Thermal Zone");
} else if (rootACPIPath == "\\_PR_.") {
// each CPU node is considered a root node
outlineName << "ACPI Processor Namespace '" << nodeACPIPath << "'";
outlineName << B_TRANSLATE("ACPI Processor Namespace '") << nodeACPIPath << "'";
} else if (rootACPIPath == "\\_SI_") {
outlineName = "ACPI System Indicator";
outlineName = B_TRANSLATE("ACPI System Indicator");
} else {
outlineName << "ACPI node '" << nodeACPIPath << "'";
outlineName << B_TRANSLATE("ACPI node '") << nodeACPIPath << "'";
}
SetAttribute("Device name", outlineName.String());
SetAttribute("Manufacturer", "Not implimented");
SetAttribute(B_TRANSLATE("Device name"), outlineName.String());
SetAttribute(B_TRANSLATE("Manufacturer"), B_TRANSLATE("Not implimented"));
SetText(outlineName.String());
}

View File

@ -10,7 +10,10 @@
#include "Device.h"
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "DeviceACPI"
class DeviceACPI : public Device {
public:
@ -21,7 +24,7 @@ public:
virtual void InitFromAttributes();
virtual BString GetBusTabName()
{ return "ACPI Information"; }
{ return B_TRANSLATE("ACPI Information"); }
};
#endif /* DEVICEACPI_H */

View File

@ -19,6 +19,7 @@ extern "C" {
}
DevicePCI::DevicePCI(Device* parent)
:
Device(parent),
@ -94,11 +95,11 @@ DevicePCI::InitFromAttributes()
DeviceName << (devShort ? devShort : devFull);
}
SetAttribute("Device name", DeviceName);
SetAttribute("Manufacturer", ManufacturerName);
SetAttribute("Driver used", "Not implemented");
SetAttribute("Device paths", "Not implemented");
SetAttribute("Class info", classInfo);
SetAttribute(B_TRANSLATE("Device name"), DeviceName);
SetAttribute(B_TRANSLATE("Manufacturer"), ManufacturerName);
SetAttribute(B_TRANSLATE("Driver used"), B_TRANSLATE("Not implemented"));
SetAttribute(B_TRANSLATE("Device paths"), B_TRANSLATE("Not implemented"));
SetAttribute(B_TRANSLATE("Class info"), classInfo);
fCategory = (Category)fClassBaseId;
BString outlineName;
outlineName << ManufacturerName << " " << DeviceName;

View File

@ -10,7 +10,10 @@
#include "Device.h"
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "DevicePCI"
class DevicePCI : public Device {
public:
@ -21,7 +24,7 @@ public:
virtual void InitFromAttributes();
virtual BString GetBusTabName()
{ return "PCI Information"; }
{ return B_TRANSLATE("PCI Information"); }
private:
uint16 fClassBaseId;

View File

@ -8,10 +8,13 @@
#include <Alert.h>
#include <Application.h>
#include <Catalog.h>
#include <TextView.h>
#include "DevicesView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "DevicesApplication"
class DevicesApplication : public BApplication {
public:
@ -50,13 +53,13 @@ DevicesApplication::AboutRequested()
void
DevicesApplication::ShowAbout()
{
BAlert* alert = new BAlert("about", "Devices\n"
BAlert* alert = new BAlert(B_TRANSLATE("about"), B_TRANSLATE("Devices\n"
"\twritten by Pieter Panman\n"
"\n"
"\tBased on listdev by Jérôme Duval\n"
"\tand the previous Devices preference\n"
"\tby Jérôme Duval and Sikosis\n"
"\tCopyright 2009, Haiku, Inc.\n", "OK");
"\tCopyright 2009, Haiku, Inc.\n"), "OK");
BTextView* view = alert->TextView();
BFont font;

View File

@ -8,12 +8,15 @@
#include <Application.h>
#include <Catalog.h>
#include <MenuBar.h>
#include <iostream>
#include "DevicesView.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "DevicesView"
DevicesView::DevicesView(const BRect& rect)
: BView(rect, "DevicesView", B_FOLLOW_ALL, B_WILL_DRAW | B_FRAME_EVENTS)
@ -30,20 +33,22 @@ DevicesView::CreateLayout()
SetLayout(new BGroupLayout(B_VERTICAL));
BMenuBar* menuBar = new BMenuBar("menu");
BMenu* menu = new BMenu("Devices");
BMenu* menu = new BMenu(B_TRANSLATE("Devices"));
BMenuItem* item;
menu->AddItem(new BMenuItem("Refresh devices", new BMessage(kMsgRefresh), 'R'));
menu->AddItem(item = new BMenuItem("Report compatibility",
menu->AddItem(new BMenuItem(B_TRANSLATE("Refresh devices"),
new BMessage(kMsgRefresh), 'R'));
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Report compatibility"),
new BMessage(kMsgReportCompatibility)));
item->SetEnabled(false);
menu->AddItem(item = new BMenuItem("Generate system information",
new BMessage(kMsgGenerateSysInfo)));
menu->AddItem(item = new BMenuItem(B_TRANSLATE(
"Generate system information"), new BMessage(kMsgGenerateSysInfo)));
item->SetEnabled(false);
menu->AddSeparatorItem();
menu->AddItem(item = new BMenuItem("About Devices" B_UTF8_ELLIPSIS,
new BMessage(B_ABOUT_REQUESTED)));
menu->AddItem(item = new BMenuItem(B_TRANSLATE("About Devices"
B_UTF8_ELLIPSIS), new BMessage(B_ABOUT_REQUESTED)));
menu->AddSeparatorItem();
menu->AddItem(new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q'));
menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"),
new BMessage(B_QUIT_REQUESTED), 'Q'));
menu->SetTargetForItems(this);
item->SetTarget(be_app);
menuBar->AddItem(menu);
@ -60,33 +65,33 @@ DevicesView::CreateLayout()
// why? Bug? In scrollview or in outlinelistview?
BPopUpMenu* orderByPopupMenu = new BPopUpMenu("orderByMenu");
BMenuItem* byCategory = new BMenuItem("Category",
BMenuItem* byCategory = new BMenuItem(B_TRANSLATE("Category"),
new BMessage(kMsgOrderCategory));
BMenuItem* byConnection = new BMenuItem("Connection",
BMenuItem* byConnection = new BMenuItem(B_TRANSLATE("Connection"),
new BMessage(kMsgOrderConnection));
byCategory->SetMarked(true);
fOrderBy = byCategory->IsMarked() ? ORDER_BY_CATEGORY :
ORDER_BY_CONNECTION;
orderByPopupMenu->AddItem(byCategory);
orderByPopupMenu->AddItem(byConnection);
fOrderByMenu = new BMenuField("Order by:", orderByPopupMenu);
fOrderByMenu = new BMenuField(B_TRANSLATE("Order by:"), orderByPopupMenu);
fTabView = new BTabView("fTabView", B_WIDTH_FROM_LABEL);
fBasicTab = new BTab();
fBasicView = new PropertyListPlain("basicView");
fTabView->AddTab(fBasicView, fBasicTab);
fBasicTab->SetLabel("Basic information");
fBasicTab->SetLabel(B_TRANSLATE("Basic information"));
fDeviceTypeTab = new BTab();
fBusView = new PropertyListPlain("busView");
fTabView->AddTab(fBusView, fDeviceTypeTab);
fDeviceTypeTab->SetLabel("Bus");
fDeviceTypeTab->SetLabel(B_TRANSLATE("Bus"));
fDetailedTab = new BTab();
fAttributesView = new PropertyList("attributesView");
fTabView->AddTab(fAttributesView, fDetailedTab);
fDetailedTab->SetLabel("Detailed");
fDetailedTab->SetLabel(B_TRANSLATE("Detailed"));
AddChild(BGroupLayoutBuilder(B_VERTICAL, 0)
.Add(menuBar)

View File

@ -72,10 +72,21 @@ Application Devices :
Device.cpp
PropertyList.cpp
PropertyListPlain.cpp
: be libcolumnlistview.a tracker $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++)
: be libcolumnlistview.a tracker $(TARGET_LIBSUPC++) $(TARGET_LIBSTDC++) $(HAIKU_LOCALE_LIBS)
: Devices.rdef
;
Includes [ FGristFiles DevicesInfo.cpp ] : [ FGristFiles isapnpids.h usbdevs.h
usbdevs_data.h ] ;
Includes [ FGristFiles ConfigurationWindow.cpp ] : [ FGristFiles pcihdr.h ] ;
DoCatalogs Devices :
x-vnd.Haiku-Devices
:
DevicesApplication.cpp
DevicesView.cpp
DevicePCI.h
DeviceACPI.h
Device.cpp
PropertyList.h
;

View File

@ -8,12 +8,10 @@
#include "PropertyList.h"
#include <ColumnTypes.h>
//#include <stdio.h>
PropertyRow::PropertyRow(const char* name, const char* value)
: BRow(),
fName(name), fValue(value)
@ -49,10 +47,10 @@ PropertyList::PropertyList(const char* name)
B_NO_BORDER, true)
{
BStringColumn* nameColumn;
AddColumn(nameColumn = new BStringColumn("Name", 150, 50, 500,
AddColumn(nameColumn = new BStringColumn(B_TRANSLATE("Name"), 150, 50, 500,
B_TRUNCATE_MIDDLE),
kNameColumn);
AddColumn(new BStringColumn("Value", 150, 50, 500, B_TRUNCATE_END),
AddColumn(new BStringColumn(B_TRANSLATE("Value"), 150, 50, 500, B_TRUNCATE_END),
kValueColumn);
SetSortColumn(nameColumn, false, true);
}

View File

@ -13,7 +13,10 @@
#include <String.h>
#include "Device.h"
#include <Catalog.h>
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "PropertyList"
struct Attribute;
@ -40,7 +43,7 @@ private:
class PropertyList : public BColumnListView {
public:
PropertyList(const char* name = "Properties");
PropertyList(const char* name = B_TRANSLATE("Properties"));
virtual ~PropertyList();
void RemoveAll();
void AddAttributes(const Attributes& attributes);

View File

@ -16,6 +16,7 @@
// Includes ------------------------------------------------------------------------------------------ //
#include <Box.h>
#include <Catalog.h>
#include <Screen.h>
#include <ScrollView.h>
#include <stdio.h>
@ -25,6 +26,9 @@
#include "DevicesInfo.h"
#include "DevicesWindows.h"
#undef B_TRANSLATE_CONTEXT
#define B_TRANSLATE_CONTEXT "ResourceUsageWindow"
class IRQDMAItem : public BListItem
{
public:
@ -241,16 +245,16 @@ void ResourceUsageWindow::InitWindow(BList &list)
BTab *tab = new BTab();
tabView->AddTab(IRQScrollView, tab);
tab->SetLabel("IRQ");
tab->SetLabel(B_TRANSLATE("IRQ"));
tab = new BTab();
tabView->AddTab(DMAScrollView, tab);
tab->SetLabel("DMA");
tab->SetLabel(B_TRANSLATE("DMA"));
tab = new BTab();
tabView->AddTab(IORangeScrollView, tab);
tab->SetLabel("IO Range");
tab->SetLabel(B_TRANSLATE("IO Range"));
tab = new BTab();
tabView->AddTab(memoryScrollView, tab);
tab->SetLabel("Memory Range");
tab->SetLabel(B_TRANSLATE("Memory Range"));
{
uint32 mask = 1;