Patch by Jorma Karvonen: Localization of DiskProbe and small style cleanups.
Closes ticket #5916, thanks a bunch! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36849 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -11,22 +11,30 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include <Alert.h>
|
||||||
|
#include <Catalog.h>
|
||||||
|
#include <Directory.h>
|
||||||
|
#include <Locale.h>
|
||||||
#include <MenuBar.h>
|
#include <MenuBar.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <TabView.h>
|
|
||||||
#include <StringView.h>
|
#include <StringView.h>
|
||||||
#include <Alert.h>
|
#include <TabView.h>
|
||||||
#include <Directory.h>
|
|
||||||
#include <Volume.h>
|
#include <Volume.h>
|
||||||
|
|
||||||
|
|
||||||
|
#undef B_TRANSLATE_CONTEXT
|
||||||
|
#define B_TRANSLATE_CONTEXT "AttributeWindow"
|
||||||
|
|
||||||
|
|
||||||
static const uint32 kMsgRemoveAttribute = 'rmat';
|
static const uint32 kMsgRemoveAttribute = 'rmat';
|
||||||
|
|
||||||
|
|
||||||
class EditorTabView : public BTabView {
|
class EditorTabView : public BTabView {
|
||||||
public:
|
public:
|
||||||
EditorTabView(BRect frame, const char *name, button_width width = B_WIDTH_AS_USUAL,
|
EditorTabView(BRect frame, const char *name,
|
||||||
uint32 resizingMode = B_FOLLOW_ALL, uint32 flags = B_WILL_DRAW | B_FRAME_EVENTS);
|
button_width width = B_WIDTH_AS_USUAL,
|
||||||
|
uint32 resizingMode = B_FOLLOW_ALL,
|
||||||
|
uint32 flags = B_WILL_DRAW | B_FRAME_EVENTS);
|
||||||
|
|
||||||
virtual void FrameResized(float width, float height);
|
virtual void FrameResized(float width, float height);
|
||||||
virtual void Select(int32 tab);
|
virtual void Select(int32 tab);
|
||||||
@@ -53,8 +61,9 @@ EditorTabView::EditorTabView(BRect frame, const char *name, button_width width,
|
|||||||
{
|
{
|
||||||
ContainerView()->MoveBy(-ContainerView()->Frame().left,
|
ContainerView()->MoveBy(-ContainerView()->Frame().left,
|
||||||
TabHeight() + 1 - ContainerView()->Frame().top);
|
TabHeight() + 1 - ContainerView()->Frame().top);
|
||||||
fNoEditorView = new BStringView(ContainerView()->Bounds(), "Type editor",
|
fNoEditorView = new BStringView(ContainerView()->Bounds(),
|
||||||
"No type editor available", B_FOLLOW_NONE);
|
B_TRANSLATE("Type editor"), B_TRANSLATE("No type editor available"),
|
||||||
|
B_FOLLOW_NONE);
|
||||||
fNoEditorView->ResizeToPreferred();
|
fNoEditorView->ResizeToPreferred();
|
||||||
fNoEditorView->SetAlignment(B_ALIGN_CENTER);
|
fNoEditorView->SetAlignment(B_ALIGN_CENTER);
|
||||||
fTypeEditorView = fNoEditorView;
|
fTypeEditorView = fNoEditorView;
|
||||||
@@ -128,7 +137,7 @@ EditorTabView::AddRawEditorTab(BView *view)
|
|||||||
|
|
||||||
fRawTab = CountTabs();
|
fRawTab = CountTabs();
|
||||||
|
|
||||||
view = new BView(BRect(0, 0, 5, 5), "Raw editor", B_FOLLOW_NONE, 0);
|
view = new BView(BRect(0, 0, 5, 5), B_TRANSLATE("Raw editor"), B_FOLLOW_NONE, 0);
|
||||||
view->SetViewColor(ViewColor());
|
view->SetViewColor(ViewColor());
|
||||||
AddTab(view);
|
AddTab(view);
|
||||||
}
|
}
|
||||||
@@ -205,16 +214,18 @@ AttributeWindow::AttributeWindow(BRect _rect, entry_ref *ref, const char *attrib
|
|||||||
BMenuBar *menuBar = new BMenuBar(BRect(0, 0, 0, 0), NULL);
|
BMenuBar *menuBar = new BMenuBar(BRect(0, 0, 0, 0), NULL);
|
||||||
AddChild(menuBar);
|
AddChild(menuBar);
|
||||||
|
|
||||||
BMenu *menu = new BMenu("Attribute");
|
BMenu *menu = new BMenu(B_TRANSLATE("Attribute"));
|
||||||
|
|
||||||
// the ProbeView save menu items will be inserted here
|
// the ProbeView save menu items will be inserted here
|
||||||
menu->AddItem(new BMenuItem("Remove from file", new BMessage(kMsgRemoveAttribute)));
|
menu->AddItem(new BMenuItem(B_TRANSLATE("Remove from file"),
|
||||||
|
new BMessage(kMsgRemoveAttribute)));
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
|
|
||||||
// the ProbeView print menu items will be inserted here
|
// the ProbeView print menu items will be inserted here
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
|
|
||||||
menu->AddItem(new BMenuItem("Close", new BMessage(B_CLOSE_REQUESTED), 'W', B_COMMAND_KEY));
|
menu->AddItem(new BMenuItem(B_TRANSLATE("Close"), new BMessage(B_CLOSE_REQUESTED),
|
||||||
|
'W', B_COMMAND_KEY));
|
||||||
menu->SetTargetForItems(this);
|
menu->SetTargetForItems(this);
|
||||||
menuBar->AddItem(menu);
|
menuBar->AddItem(menu);
|
||||||
|
|
||||||
@@ -268,12 +279,12 @@ AttributeWindow::MessageReceived(BMessage *message)
|
|||||||
{
|
{
|
||||||
char buffer[1024];
|
char buffer[1024];
|
||||||
snprintf(buffer, sizeof(buffer),
|
snprintf(buffer, sizeof(buffer),
|
||||||
"Do you really want to remove the attribute \"%s\" from the file \"%s\"?\n\n"
|
B_TRANSLATE("Do you really want to remove the attribute \"%s\" from "
|
||||||
"You cannot undo this action.",
|
"the file \"%s\"?\n\nYou cannot undo this action."),
|
||||||
fAttribute, Ref().name);
|
fAttribute, Ref().name);
|
||||||
|
|
||||||
int32 chosen = (new BAlert("DiskProbe request",
|
int32 chosen = (new BAlert(B_TRANSLATE("DiskProbe request"),
|
||||||
buffer, "Cancel", "Remove", NULL,
|
buffer, B_TRANSLATE("Cancel"), B_TRANSLATE("Remove"), NULL,
|
||||||
B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go();
|
B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go();
|
||||||
if (chosen == 1) {
|
if (chosen == 1) {
|
||||||
BNode node(&Ref());
|
BNode node(&Ref());
|
||||||
|
|||||||
@@ -12,20 +12,24 @@
|
|||||||
#include "OpenWindow.h"
|
#include "OpenWindow.h"
|
||||||
#include "FindWindow.h"
|
#include "FindWindow.h"
|
||||||
|
|
||||||
#include <Application.h>
|
|
||||||
#include <Screen.h>
|
|
||||||
#include <Autolock.h>
|
|
||||||
#include <Alert.h>
|
#include <Alert.h>
|
||||||
#include <TextView.h>
|
#include <Application.h>
|
||||||
#include <FilePanel.h>
|
#include <Autolock.h>
|
||||||
#include <FindDirectory.h>
|
#include <Catalog.h>
|
||||||
#include <Directory.h>
|
#include <Directory.h>
|
||||||
#include <Entry.h>
|
#include <Entry.h>
|
||||||
|
#include <FilePanel.h>
|
||||||
|
#include <FindDirectory.h>
|
||||||
|
#include <Locale.h>
|
||||||
#include <Path.h>
|
#include <Path.h>
|
||||||
|
#include <Screen.h>
|
||||||
|
#include <TextView.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#undef B_TRANSLATE_CONTEXT
|
||||||
|
#define B_TRANSLATE_CONTEXT "DiskProbe"
|
||||||
|
|
||||||
const char *kSignature = "application/x-vnd.Haiku-DiskProbe";
|
const char *kSignature = "application/x-vnd.Haiku-DiskProbe";
|
||||||
|
|
||||||
@@ -85,6 +89,7 @@ class DiskProbe : public BApplication {
|
|||||||
uint32 fWindowCount;
|
uint32 fWindowCount;
|
||||||
BRect fWindowFrame;
|
BRect fWindowFrame;
|
||||||
BMessenger fFindTarget;
|
BMessenger fFindTarget;
|
||||||
|
BCatalog fAppCatalog;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -115,10 +120,14 @@ Settings::Settings()
|
|||||||
if (file.Read(&settings, sizeof(settings)) == sizeof(settings)) {
|
if (file.Read(&settings, sizeof(settings)) == sizeof(settings)) {
|
||||||
#if B_HOST_IS_BENDIAN
|
#if B_HOST_IS_BENDIAN
|
||||||
// settings are saved in little endian
|
// settings are saved in little endian
|
||||||
settings.window_frame.left = B_LENDIAN_TO_HOST_FLOAT(settings.window_frame.left);
|
settings.window_frame.left = B_LENDIAN_TO_HOST_FLOAT(
|
||||||
settings.window_frame.top = B_LENDIAN_TO_HOST_FLOAT(settings.window_frame.top);
|
settings.window_frame.left);
|
||||||
settings.window_frame.right = B_LENDIAN_TO_HOST_FLOAT(settings.window_frame.right);
|
settings.window_frame.top = B_LENDIAN_TO_HOST_FLOAT(
|
||||||
settings.window_frame.bottom = B_LENDIAN_TO_HOST_FLOAT(settings.window_frame.bottom);
|
settings.window_frame.top);
|
||||||
|
settings.window_frame.right = B_LENDIAN_TO_HOST_FLOAT(
|
||||||
|
settings.window_frame.right);
|
||||||
|
settings.window_frame.bottom = B_LENDIAN_TO_HOST_FLOAT(
|
||||||
|
settings.window_frame.bottom);
|
||||||
#endif
|
#endif
|
||||||
// check if the window frame is on screen at all
|
// check if the window frame is on screen at all
|
||||||
BScreen screen;
|
BScreen screen;
|
||||||
@@ -127,13 +136,18 @@ Settings::Settings()
|
|||||||
&& settings.window_frame.Height() < screen.Frame().Height())
|
&& settings.window_frame.Height() < screen.Frame().Height())
|
||||||
fMessage.ReplaceRect("window_frame", settings.window_frame);
|
fMessage.ReplaceRect("window_frame", settings.window_frame);
|
||||||
|
|
||||||
if (settings.base_type == kHexBase || settings.base_type == kDecimalBase)
|
if (settings.base_type == kHexBase
|
||||||
fMessage.ReplaceInt32("base_type", B_LENDIAN_TO_HOST_INT32(settings.base_type));
|
|| settings.base_type == kDecimalBase)
|
||||||
|
fMessage.ReplaceInt32("base_type",
|
||||||
|
B_LENDIAN_TO_HOST_INT32(settings.base_type));
|
||||||
if (settings.font_size >= 0 && settings.font_size <= 72)
|
if (settings.font_size >= 0 && settings.font_size <= 72)
|
||||||
fMessage.ReplaceFloat("font_size", float(B_LENDIAN_TO_HOST_INT32(settings.font_size)));
|
fMessage.ReplaceFloat("font_size",
|
||||||
|
float(B_LENDIAN_TO_HOST_INT32(settings.font_size)));
|
||||||
|
|
||||||
fMessage.ReplaceBool("case_sensitive", settings.flags & kCaseSensitive);
|
fMessage.ReplaceBool("case_sensitive",
|
||||||
fMessage.ReplaceInt8("find_mode", settings.flags & kHexFindMode ? kHexMode : kAsciiMode);
|
settings.flags & kCaseSensitive);
|
||||||
|
fMessage.ReplaceInt8("find_mode",
|
||||||
|
settings.flags & kHexFindMode ? kHexMode : kAsciiMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,15 +167,22 @@ Settings::~Settings()
|
|||||||
settings.window_frame = fMessage.FindRect("window_frame");
|
settings.window_frame = fMessage.FindRect("window_frame");
|
||||||
#if B_HOST_IS_BENDIAN
|
#if B_HOST_IS_BENDIAN
|
||||||
// settings are saved in little endian
|
// settings are saved in little endian
|
||||||
settings.window_frame.left = B_HOST_TO_LENDIAN_FLOAT(settings.window_frame.left);
|
settings.window_frame.left = B_HOST_TO_LENDIAN_FLOAT(
|
||||||
settings.window_frame.top = B_HOST_TO_LENDIAN_FLOAT(settings.window_frame.top);
|
settings.window_frame.left);
|
||||||
settings.window_frame.right = B_HOST_TO_LENDIAN_FLOAT(settings.window_frame.right);
|
settings.window_frame.top = B_HOST_TO_LENDIAN_FLOAT(
|
||||||
settings.window_frame.bottom = B_HOST_TO_LENDIAN_FLOAT(settings.window_frame.bottom);
|
settings.window_frame.top);
|
||||||
|
settings.window_frame.right = B_HOST_TO_LENDIAN_FLOAT(
|
||||||
|
settings.window_frame.right);
|
||||||
|
settings.window_frame.bottom = B_HOST_TO_LENDIAN_FLOAT(
|
||||||
|
settings.window_frame.bottom);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
settings.base_type = B_HOST_TO_LENDIAN_INT32(fMessage.FindInt32("base_type"));
|
settings.base_type = B_HOST_TO_LENDIAN_INT32(
|
||||||
settings.font_size = B_HOST_TO_LENDIAN_INT32(int32(fMessage.FindFloat("font_size") + 0.5f));
|
fMessage.FindInt32("base_type"));
|
||||||
settings.flags = B_HOST_TO_LENDIAN_INT32((fMessage.FindBool("case_sensitive") ? kCaseSensitive : 0)
|
settings.font_size = B_HOST_TO_LENDIAN_INT32(
|
||||||
|
int32(fMessage.FindFloat("font_size") + 0.5f));
|
||||||
|
settings.flags = B_HOST_TO_LENDIAN_INT32(
|
||||||
|
(fMessage.FindBool("case_sensitive") ? kCaseSensitive : 0)
|
||||||
| (fMessage.FindInt8("find_mode") == kHexMode ? kHexFindMode : 0));
|
| (fMessage.FindInt8("find_mode") == kHexMode ? kHexFindMode : 0));
|
||||||
|
|
||||||
file.Write(&settings, sizeof(settings));
|
file.Write(&settings, sizeof(settings));
|
||||||
@@ -215,8 +236,10 @@ DiskProbe::DiskProbe()
|
|||||||
: BApplication(kSignature),
|
: BApplication(kSignature),
|
||||||
fOpenWindow(NULL),
|
fOpenWindow(NULL),
|
||||||
fFindWindow(NULL),
|
fFindWindow(NULL),
|
||||||
fWindowCount(0)
|
fWindowCount(0),
|
||||||
|
fAppCatalog(NULL)
|
||||||
{
|
{
|
||||||
|
be_locale->GetAppCatalog(&fAppCatalog);
|
||||||
fFilePanel = new BFilePanel();
|
fFilePanel = new BFilePanel();
|
||||||
fWindowFrame = fSettings.Message().FindRect("window_frame");
|
fWindowFrame = fSettings.Message().FindRect("window_frame");
|
||||||
}
|
}
|
||||||
@@ -341,12 +364,12 @@ DiskProbe::RefsReceived(BMessage *message)
|
|||||||
if (status != B_OK) {
|
if (status != B_OK) {
|
||||||
char buffer[1024];
|
char buffer[1024];
|
||||||
snprintf(buffer, sizeof(buffer),
|
snprintf(buffer, sizeof(buffer),
|
||||||
"Could not open \"%s\":\n"
|
B_TRANSLATE("Could not open \"%s\":\n"
|
||||||
"%s",
|
"%s"),
|
||||||
ref.name, strerror(status));
|
ref.name, strerror(status));
|
||||||
|
|
||||||
(new BAlert("DiskProbe request",
|
(new BAlert(B_TRANSLATE("DiskProbe request"),
|
||||||
buffer, "OK", NULL, NULL,
|
buffer, B_TRANSLATE("OK"), NULL, NULL,
|
||||||
B_WIDTH_AS_USUAL, B_STOP_ALERT))->Go();
|
B_WIDTH_AS_USUAL, B_STOP_ALERT))->Go();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -377,7 +400,8 @@ DiskProbe::ArgvReceived(int32 argc, char **argv)
|
|||||||
|
|
||||||
if ((status = entry.SetTo(path.Path(), false)) != B_OK
|
if ((status = entry.SetTo(path.Path(), false)) != B_OK
|
||||||
|| (status = entry.GetRef(&ref)) != B_OK) {
|
|| (status = entry.GetRef(&ref)) != B_OK) {
|
||||||
fprintf(stderr, "Could not open file \"%s\": %s\n", path.Path(), strerror(status));
|
fprintf(stderr, B_TRANSLATE("Could not open file \"%s\": %s\n"),
|
||||||
|
path.Path(), strerror(status));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,10 +486,10 @@ DiskProbe::MessageReceived(BMessage *message)
|
|||||||
void
|
void
|
||||||
DiskProbe::AboutRequested()
|
DiskProbe::AboutRequested()
|
||||||
{
|
{
|
||||||
BAlert *alert = new BAlert("about", "DiskProbe\n"
|
BAlert *alert = new BAlert("about", B_TRANSLATE("DiskProbe\n"
|
||||||
"\twritten by Axel Dörfler\n"
|
"\twritten by Axel Dörfler\n"
|
||||||
"\tCopyright 2004-2007, Haiku.\n\n"
|
"\tCopyright 2004-2007, Haiku.\n\n"
|
||||||
"Original Be version by Robert Polic\n", "OK");
|
"Original Be version by Robert Polic\n"), B_TRANSLATE("OK"));
|
||||||
BTextView *view = alert->TextView();
|
BTextView *view = alert->TextView();
|
||||||
BFont font;
|
BFont font;
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ resource app_version {
|
|||||||
internal = 3,
|
internal = 3,
|
||||||
|
|
||||||
short_info = "DiskProbe",
|
short_info = "DiskProbe",
|
||||||
long_info = "DiskProbe ©2004-2009 Haiku, Inc."
|
long_info = "DiskProbe ©2004-2010 Haiku, Inc."
|
||||||
};
|
};
|
||||||
|
|
||||||
resource app_flags B_SINGLE_LAUNCH;
|
resource app_flags B_SINGLE_LAUNCH;
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
#include "ProbeView.h"
|
#include "ProbeView.h"
|
||||||
|
|
||||||
#include <Application.h>
|
#include <Application.h>
|
||||||
|
#include <Catalog.h>
|
||||||
|
#include <Locale.h>
|
||||||
#include <MenuBar.h>
|
#include <MenuBar.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <Path.h>
|
#include <Path.h>
|
||||||
@@ -18,6 +20,10 @@
|
|||||||
#include <be_apps/Tracker/RecentItems.h>
|
#include <be_apps/Tracker/RecentItems.h>
|
||||||
|
|
||||||
|
|
||||||
|
#undef B_TRANSLATE_CONTEXT
|
||||||
|
#define B_TRANSLATE_CONTEXT "FileWindow"
|
||||||
|
|
||||||
|
|
||||||
FileWindow::FileWindow(BRect rect, entry_ref *ref, const BMessage *settings)
|
FileWindow::FileWindow(BRect rect, entry_ref *ref, const BMessage *settings)
|
||||||
: ProbeWindow(rect, ref)
|
: ProbeWindow(rect, ref)
|
||||||
{
|
{
|
||||||
@@ -43,27 +49,31 @@ FileWindow::FileWindow(BRect rect, entry_ref *ref, const BMessage *settings)
|
|||||||
|
|
||||||
// add the menu
|
// add the menu
|
||||||
|
|
||||||
BMenuBar *menuBar = new BMenuBar(BRect(0, 0, Bounds().Width(), 8), "menu bar");
|
BMenuBar *menuBar = new BMenuBar(BRect(0, 0, Bounds().Width(), 8),
|
||||||
|
"menu bar");
|
||||||
AddChild(menuBar);
|
AddChild(menuBar);
|
||||||
|
|
||||||
BMenu *menu = new BMenu("File");
|
BMenu *menu = new BMenu(B_TRANSLATE("File"));
|
||||||
menu->AddItem(new BMenuItem("New" B_UTF8_ELLIPSIS,
|
menu->AddItem(new BMenuItem(B_TRANSLATE("New" B_UTF8_ELLIPSIS),
|
||||||
new BMessage(kMsgOpenOpenWindow), 'N', B_COMMAND_KEY));
|
new BMessage(kMsgOpenOpenWindow), 'N', B_COMMAND_KEY));
|
||||||
|
|
||||||
BMenu *devicesMenu = new BMenu("Open device");
|
BMenu *devicesMenu = new BMenu(B_TRANSLATE("Open device"));
|
||||||
OpenWindow::CollectDevices(devicesMenu);
|
OpenWindow::CollectDevices(devicesMenu);
|
||||||
devicesMenu->SetTargetForItems(be_app);
|
devicesMenu->SetTargetForItems(be_app);
|
||||||
menu->AddItem(new BMenuItem(devicesMenu));
|
menu->AddItem(new BMenuItem(devicesMenu));
|
||||||
|
|
||||||
BMenu *recentsMenu = BRecentFilesList::NewFileListMenu("Open file" B_UTF8_ELLIPSIS,
|
BMenu *recentsMenu = BRecentFilesList::NewFileListMenu(
|
||||||
|
B_TRANSLATE("Open file" B_UTF8_ELLIPSIS),
|
||||||
NULL, NULL, be_app, 10, false, NULL, kSignature);
|
NULL, NULL, be_app, 10, false, NULL, kSignature);
|
||||||
BMenuItem *item;
|
BMenuItem *item;
|
||||||
menu->AddItem(item = new BMenuItem(recentsMenu, new BMessage(kMsgOpenFilePanel)));
|
menu->AddItem(item = new BMenuItem(recentsMenu,
|
||||||
|
new BMessage(kMsgOpenFilePanel)));
|
||||||
item->SetShortcut('O', B_COMMAND_KEY);
|
item->SetShortcut('O', B_COMMAND_KEY);
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
|
|
||||||
// the ProbeView save menu items will be inserted here
|
// the ProbeView save menu items will be inserted here
|
||||||
item = new BMenuItem("Close", new BMessage(B_CLOSE_REQUESTED), 'W', B_COMMAND_KEY);
|
item = new BMenuItem(B_TRANSLATE("Close"), new BMessage(B_CLOSE_REQUESTED),
|
||||||
|
'W', B_COMMAND_KEY);
|
||||||
menu->AddItem(item);
|
menu->AddItem(item);
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
|
|
||||||
@@ -74,7 +84,8 @@ FileWindow::FileWindow(BRect rect, entry_ref *ref, const BMessage *settings)
|
|||||||
new BMessage(B_ABOUT_REQUESTED)));
|
new BMessage(B_ABOUT_REQUESTED)));
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
|
|
||||||
menu->AddItem(new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q', B_COMMAND_KEY));
|
menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"), new BMessage(B_QUIT_REQUESTED),
|
||||||
|
'Q', B_COMMAND_KEY));
|
||||||
menu->SetTargetForItems(be_app);
|
menu->SetTargetForItems(be_app);
|
||||||
item->SetTarget(this);
|
item->SetTarget(this);
|
||||||
menuBar->AddItem(menu);
|
menuBar->AddItem(menu);
|
||||||
|
|||||||
@@ -7,17 +7,19 @@
|
|||||||
|
|
||||||
#include "FindWindow.h"
|
#include "FindWindow.h"
|
||||||
|
|
||||||
#include "DataView.h"
|
#include <stdlib.h>
|
||||||
#include "DiskProbe.h"
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
#include <AutoLocker.h>
|
|
||||||
|
|
||||||
#include <Application.h>
|
#include <Application.h>
|
||||||
#include <Autolock.h>
|
#include <Autolock.h>
|
||||||
|
#include <AutoLocker.h>
|
||||||
#include <Beep.h>
|
#include <Beep.h>
|
||||||
#include <Button.h>
|
#include <Button.h>
|
||||||
|
#include <Catalog.h>
|
||||||
#include <CheckBox.h>
|
#include <CheckBox.h>
|
||||||
#include <Clipboard.h>
|
#include <Clipboard.h>
|
||||||
|
#include <Locale.h>
|
||||||
#include <MenuField.h>
|
#include <MenuField.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <Mime.h>
|
#include <Mime.h>
|
||||||
@@ -25,11 +27,13 @@
|
|||||||
#include <ScrollView.h>
|
#include <ScrollView.h>
|
||||||
#include <TextView.h>
|
#include <TextView.h>
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include "DataView.h"
|
||||||
#include <stdio.h>
|
#include "DiskProbe.h"
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
#undef B_TRANSLATE_CONTEXT
|
||||||
|
#define B_TRANSLATE_CONTEXT "FindWindow"
|
||||||
|
|
||||||
static const uint32 kMsgFindMode = 'FMde';
|
static const uint32 kMsgFindMode = 'FMde';
|
||||||
static const uint32 kMsgStartFind = 'SFnd';
|
static const uint32 kMsgStartFind = 'SFnd';
|
||||||
|
|
||||||
@@ -500,12 +504,12 @@ FindWindow::FindWindow(BRect _rect, BMessage& previous, BMessenger& target,
|
|||||||
fMenu = new BPopUpMenu("mode");
|
fMenu = new BPopUpMenu("mode");
|
||||||
BMessage* message;
|
BMessage* message;
|
||||||
BMenuItem* item;
|
BMenuItem* item;
|
||||||
fMenu->AddItem(item = new BMenuItem("Text",
|
fMenu->AddItem(item = new BMenuItem(B_TRANSLATE("Text"),
|
||||||
message = new BMessage(kMsgFindMode)));
|
message = new BMessage(kMsgFindMode)));
|
||||||
message->AddInt8("mode", kAsciiMode);
|
message->AddInt8("mode", kAsciiMode);
|
||||||
if (mode == kAsciiMode)
|
if (mode == kAsciiMode)
|
||||||
item->SetMarked(true);
|
item->SetMarked(true);
|
||||||
fMenu->AddItem(item = new BMenuItem("Hexadecimal",
|
fMenu->AddItem(item = new BMenuItem(B_TRANSLATE("Hexadecimal"),
|
||||||
message = new BMessage(kMsgFindMode)));
|
message = new BMessage(kMsgFindMode)));
|
||||||
message->AddInt8("mode", kHexMode);
|
message->AddInt8("mode", kHexMode);
|
||||||
if (mode == kHexMode)
|
if (mode == kHexMode)
|
||||||
@@ -513,14 +517,14 @@ FindWindow::FindWindow(BRect _rect, BMessage& previous, BMessenger& target,
|
|||||||
|
|
||||||
BRect rect = Bounds().InsetByCopy(5, 5);
|
BRect rect = Bounds().InsetByCopy(5, 5);
|
||||||
BMenuField* menuField = new BMenuField(rect, B_EMPTY_STRING,
|
BMenuField* menuField = new BMenuField(rect, B_EMPTY_STRING,
|
||||||
"Mode:", fMenu, B_FOLLOW_LEFT | B_FOLLOW_TOP);
|
B_TRANSLATE("Mode:"), fMenu, B_FOLLOW_LEFT | B_FOLLOW_TOP);
|
||||||
menuField->SetDivider(menuField->StringWidth(menuField->Label()) + 8);
|
menuField->SetDivider(menuField->StringWidth(menuField->Label()) + 8);
|
||||||
menuField->ResizeToPreferred();
|
menuField->ResizeToPreferred();
|
||||||
view->AddChild(menuField);
|
view->AddChild(menuField);
|
||||||
|
|
||||||
// add the bottom widgets
|
// add the bottom widgets
|
||||||
|
|
||||||
BButton* button = new BButton(rect, B_EMPTY_STRING, "Find",
|
BButton* button = new BButton(rect, B_EMPTY_STRING, B_TRANSLATE("Find"),
|
||||||
new BMessage(kMsgStartFind), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
new BMessage(kMsgStartFind), B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||||
button->MakeDefault(true);
|
button->MakeDefault(true);
|
||||||
button->ResizeToPreferred();
|
button->ResizeToPreferred();
|
||||||
@@ -528,7 +532,7 @@ FindWindow::FindWindow(BRect _rect, BMessage& previous, BMessenger& target,
|
|||||||
rect.bottom - button->Bounds().Height());
|
rect.bottom - button->Bounds().Height());
|
||||||
view->AddChild(button);
|
view->AddChild(button);
|
||||||
|
|
||||||
fCaseCheckBox = new BCheckBox(rect, B_EMPTY_STRING, "Case sensitive",
|
fCaseCheckBox = new BCheckBox(rect, B_EMPTY_STRING, B_TRANSLATE("Case sensitive"),
|
||||||
NULL, B_FOLLOW_LEFT | B_FOLLOW_BOTTOM);
|
NULL, B_FOLLOW_LEFT | B_FOLLOW_BOTTOM);
|
||||||
fCaseCheckBox->ResizeToPreferred();
|
fCaseCheckBox->ResizeToPreferred();
|
||||||
fCaseCheckBox->MoveTo(5, button->Frame().top);
|
fCaseCheckBox->MoveTo(5, button->Frame().top);
|
||||||
|
|||||||
@@ -16,7 +16,19 @@ Application DiskProbe :
|
|||||||
ProbeView.cpp
|
ProbeView.cpp
|
||||||
OpenWindow.cpp
|
OpenWindow.cpp
|
||||||
FindWindow.cpp
|
FindWindow.cpp
|
||||||
: be tracker translation libexpression_parser.a libmapm.a
|
: be locale tracker translation libexpression_parser.a libmapm.a
|
||||||
$(TARGET_LIBSUPC++)
|
$(TARGET_LIBSUPC++)
|
||||||
: DiskProbe.rdef
|
: DiskProbe.rdef
|
||||||
;
|
;
|
||||||
|
|
||||||
|
DoCatalogs DiskProbe :
|
||||||
|
x-vnd.Haiku-DiskProbe
|
||||||
|
:
|
||||||
|
AttributeWindow.cpp
|
||||||
|
DiskProbe.cpp
|
||||||
|
FindWindow.cpp
|
||||||
|
FileWindow.cpp
|
||||||
|
OpenWindow.cpp
|
||||||
|
ProbeView.cpp
|
||||||
|
TypeEditors.cpp
|
||||||
|
;
|
||||||
|
|||||||
@@ -4,14 +4,17 @@
|
|||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "OpenWindow.h"
|
#include "OpenWindow.h"
|
||||||
|
|
||||||
#include <Application.h>
|
#include <Application.h>
|
||||||
#include <Button.h>
|
#include <Button.h>
|
||||||
|
#include <Catalog.h>
|
||||||
#include <Directory.h>
|
#include <Directory.h>
|
||||||
#include <Entry.h>
|
#include <Entry.h>
|
||||||
#include <GroupLayout.h>
|
#include <GroupLayout.h>
|
||||||
#include <GridLayoutBuilder.h>
|
#include <GridLayoutBuilder.h>
|
||||||
|
#include <Locale.h>
|
||||||
#include <MenuField.h>
|
#include <MenuField.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <Path.h>
|
#include <Path.h>
|
||||||
@@ -21,12 +24,15 @@
|
|||||||
#include "DiskProbe.h"
|
#include "DiskProbe.h"
|
||||||
|
|
||||||
|
|
||||||
|
#undef B_TRANSLATE_CONTEXT
|
||||||
|
#define B_TRANSLATE_CONTEXT "OpenWindow"
|
||||||
|
|
||||||
static const uint32 kMsgProbeFile = 'prDv';
|
static const uint32 kMsgProbeFile = 'prDv';
|
||||||
static const uint32 kMsgProbeDevice = 'prFl';
|
static const uint32 kMsgProbeDevice = 'prFl';
|
||||||
|
|
||||||
|
|
||||||
OpenWindow::OpenWindow()
|
OpenWindow::OpenWindow()
|
||||||
: BWindow(BRect(0, 0, 35, 10), "DiskProbe", B_TITLED_WINDOW,
|
: BWindow(BRect(0, 0, 35, 10), B_TRANSLATE("DiskProbe"), B_TITLED_WINDOW,
|
||||||
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS
|
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS
|
||||||
| B_AUTO_UPDATE_SIZE_LIMITS)
|
| B_AUTO_UPDATE_SIZE_LIMITS)
|
||||||
{
|
{
|
||||||
@@ -35,16 +41,18 @@ OpenWindow::OpenWindow()
|
|||||||
if (BMenuItem *item = fDevicesMenu->ItemAt(0))
|
if (BMenuItem *item = fDevicesMenu->ItemAt(0))
|
||||||
item->SetMarked(true);
|
item->SetMarked(true);
|
||||||
|
|
||||||
BMenuField *field = new BMenuField("Examine device:", fDevicesMenu, NULL);
|
BMenuField *field = new BMenuField(B_TRANSLATE("Examine device:"), fDevicesMenu,
|
||||||
|
NULL);
|
||||||
|
|
||||||
BButton *probeDeviceButton = new BButton("device", "Probe device",
|
BButton *probeDeviceButton = new BButton("device", B_TRANSLATE("Probe device"),
|
||||||
new BMessage(kMsgProbeDevice));
|
new BMessage(kMsgProbeDevice));
|
||||||
probeDeviceButton->MakeDefault(true);
|
probeDeviceButton->MakeDefault(true);
|
||||||
|
|
||||||
BButton *probeFileButton = new BButton("file", "Probe file" B_UTF8_ELLIPSIS,
|
BButton *probeFileButton = new BButton("file",
|
||||||
|
B_TRANSLATE("Probe file" B_UTF8_ELLIPSIS),
|
||||||
new BMessage(kMsgProbeFile));
|
new BMessage(kMsgProbeFile));
|
||||||
|
|
||||||
BButton *cancelButton = new BButton("cancel", "Cancel",
|
BButton *cancelButton = new BButton("cancel", B_TRANSLATE("Cancel"),
|
||||||
new BMessage(B_QUIT_REQUESTED));
|
new BMessage(B_QUIT_REQUESTED));
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,39 +10,41 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <Alert.h>
|
||||||
#include <Application.h>
|
#include <Application.h>
|
||||||
#include <Window.h>
|
|
||||||
#include <Clipboard.h>
|
|
||||||
#include <Autolock.h>
|
#include <Autolock.h>
|
||||||
#include <MessageQueue.h>
|
#include <Beep.h>
|
||||||
#include <TextControl.h>
|
|
||||||
#include <StringView.h>
|
|
||||||
#include <Slider.h>
|
|
||||||
#include <Bitmap.h>
|
#include <Bitmap.h>
|
||||||
#include <Button.h>
|
|
||||||
#include <Box.h>
|
#include <Box.h>
|
||||||
|
#include <Button.h>
|
||||||
|
#include <Catalog.h>
|
||||||
|
#include <Clipboard.h>
|
||||||
|
#include <Directory.h>
|
||||||
|
#include <Entry.h>
|
||||||
|
#include <ExpressionParser.h>
|
||||||
|
#include <fs_attr.h>
|
||||||
|
#include <Locale.h>
|
||||||
#include <MenuBar.h>
|
#include <MenuBar.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <ScrollView.h>
|
#include <MessageQueue.h>
|
||||||
#include <Alert.h>
|
|
||||||
#include <String.h>
|
|
||||||
#include <Entry.h>
|
|
||||||
#include <Path.h>
|
|
||||||
#include <NodeInfo.h>
|
#include <NodeInfo.h>
|
||||||
#include <Node.h>
|
#include <Node.h>
|
||||||
#include <NodeMonitor.h>
|
#include <NodeMonitor.h>
|
||||||
#include <Directory.h>
|
#include <Path.h>
|
||||||
#include <Volume.h>
|
|
||||||
#include <fs_attr.h>
|
|
||||||
#include <PrintJob.h>
|
#include <PrintJob.h>
|
||||||
#include <Beep.h>
|
#include <ScrollView.h>
|
||||||
|
#include <StringView.h>
|
||||||
#include <ExpressionParser.h>
|
#include <Slider.h>
|
||||||
|
#include <String.h>
|
||||||
|
#include <TextControl.h>
|
||||||
|
#include <Volume.h>
|
||||||
|
#include <Window.h>
|
||||||
|
|
||||||
#include "DataView.h"
|
#include "DataView.h"
|
||||||
#include "DiskProbe.h"
|
#include "DiskProbe.h"
|
||||||
#include "TypeEditors.h"
|
#include "TypeEditors.h"
|
||||||
|
|
||||||
|
|
||||||
#ifndef __HAIKU__
|
#ifndef __HAIKU__
|
||||||
# define DRAW_SLIDER_BAR
|
# define DRAW_SLIDER_BAR
|
||||||
// if this is defined, the standard slider bar is replaced with
|
// if this is defined, the standard slider bar is replaced with
|
||||||
@@ -50,6 +52,9 @@
|
|||||||
// (even in Dano/Zeta)
|
// (even in Dano/Zeta)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#undef B_TRANSLATE_CONTEXT
|
||||||
|
#define B_TRANSLATE_CONTEXT "ProbeView"
|
||||||
|
|
||||||
static const uint32 kMsgSliderUpdate = 'slup';
|
static const uint32 kMsgSliderUpdate = 'slup';
|
||||||
static const uint32 kMsgPositionUpdate = 'poup';
|
static const uint32 kMsgPositionUpdate = 'poup';
|
||||||
static const uint32 kMsgLastPosition = 'lpos';
|
static const uint32 kMsgLastPosition = 'lpos';
|
||||||
@@ -495,7 +500,10 @@ HeaderView::HeaderView(BRect frame, const entry_ref *ref, DataEditor &editor)
|
|||||||
|
|
||||||
BStringView *stringView = new BStringView(BRect(50, 6, rect.right, 20),
|
BStringView *stringView = new BStringView(BRect(50, 6, rect.right, 20),
|
||||||
B_EMPTY_STRING, editor.IsAttribute()
|
B_EMPTY_STRING, editor.IsAttribute()
|
||||||
? "Attribute: " : editor.IsDevice() ? "Device: " : "File: ");
|
? B_TRANSLATE("Attribute: ")
|
||||||
|
: editor.IsDevice()
|
||||||
|
? B_TRANSLATE("Device: ")
|
||||||
|
: B_TRANSLATE("File: "));
|
||||||
stringView->SetFont(&boldFont);
|
stringView->SetFont(&boldFont);
|
||||||
stringView->ResizeToPreferred();
|
stringView->ResizeToPreferred();
|
||||||
AddChild(stringView);
|
AddChild(stringView);
|
||||||
@@ -519,7 +527,7 @@ HeaderView::HeaderView(BRect frame, const entry_ref *ref, DataEditor &editor)
|
|||||||
if (editor.IsAttribute()) {
|
if (editor.IsAttribute()) {
|
||||||
top += 3;
|
top += 3;
|
||||||
stringView = new BStringView(BRect(50, top, frame.right, top + 15),
|
stringView = new BStringView(BRect(50, top, frame.right, top + 15),
|
||||||
B_EMPTY_STRING, "Attribute type: ");
|
B_EMPTY_STRING, B_TRANSLATE("Attribute type: "));
|
||||||
stringView->SetFont(&boldFont);
|
stringView->SetFont(&boldFont);
|
||||||
stringView->ResizeToPreferred();
|
stringView->ResizeToPreferred();
|
||||||
AddChild(stringView);
|
AddChild(stringView);
|
||||||
@@ -546,7 +554,7 @@ HeaderView::HeaderView(BRect frame, const entry_ref *ref, DataEditor &editor)
|
|||||||
fTypeControl = NULL;
|
fTypeControl = NULL;
|
||||||
|
|
||||||
stringView = new BStringView(BRect(50, top, frame.right, top + 15),
|
stringView = new BStringView(BRect(50, top, frame.right, top + 15),
|
||||||
B_EMPTY_STRING, "Block: ");
|
B_EMPTY_STRING, B_TRANSLATE("Block: "));
|
||||||
stringView->SetFont(&boldFont);
|
stringView->SetFont(&boldFont);
|
||||||
stringView->ResizeToPreferred();
|
stringView->ResizeToPreferred();
|
||||||
AddChild(stringView);
|
AddChild(stringView);
|
||||||
@@ -567,14 +575,14 @@ HeaderView::HeaderView(BRect frame, const entry_ref *ref, DataEditor &editor)
|
|||||||
rect.left = rect.right + 4;
|
rect.left = rect.right + 4;
|
||||||
rect.right = rect.left + 75;
|
rect.right = rect.left + 75;
|
||||||
rect.OffsetBy(0, 2);
|
rect.OffsetBy(0, 2);
|
||||||
fSizeView = new BStringView(rect, B_EMPTY_STRING, "of 0x0");
|
fSizeView = new BStringView(rect, B_EMPTY_STRING, B_TRANSLATE("of 0x0"));
|
||||||
fSizeView->SetFont(&plainFont);
|
fSizeView->SetFont(&plainFont);
|
||||||
AddChild(fSizeView);
|
AddChild(fSizeView);
|
||||||
UpdateFileSizeView();
|
UpdateFileSizeView();
|
||||||
|
|
||||||
rect.left = rect.right + 4;
|
rect.left = rect.right + 4;
|
||||||
rect.right = frame.right;
|
rect.right = frame.right;
|
||||||
stringView = new BStringView(rect, B_EMPTY_STRING, "Offset: ");
|
stringView = new BStringView(rect, B_EMPTY_STRING, B_TRANSLATE("Offset: "));
|
||||||
stringView->SetFont(&boldFont);
|
stringView->SetFont(&boldFont);
|
||||||
stringView->ResizeToPreferred();
|
stringView->ResizeToPreferred();
|
||||||
AddChild(stringView);
|
AddChild(stringView);
|
||||||
@@ -590,8 +598,8 @@ HeaderView::HeaderView(BRect frame, const entry_ref *ref, DataEditor &editor)
|
|||||||
rect.left = rect.right + 4;
|
rect.left = rect.right + 4;
|
||||||
rect.right = frame.right;
|
rect.right = frame.right;
|
||||||
stringView = new BStringView(rect, B_EMPTY_STRING, editor.IsAttribute()
|
stringView = new BStringView(rect, B_EMPTY_STRING, editor.IsAttribute()
|
||||||
? "Attribute offset: " : editor.IsDevice()
|
? B_TRANSLATE("Attribute offset: ") : editor.IsDevice()
|
||||||
? "Device offset: " : "File offset: ");
|
? B_TRANSLATE("Device offset: ") : B_TRANSLATE("File offset: "));
|
||||||
stringView->SetFont(&boldFont);
|
stringView->SetFont(&boldFont);
|
||||||
stringView->ResizeToPreferred();
|
stringView->ResizeToPreferred();
|
||||||
AddChild(stringView);
|
AddChild(stringView);
|
||||||
@@ -729,7 +737,7 @@ void
|
|||||||
HeaderView::UpdateFileSizeView()
|
HeaderView::UpdateFileSizeView()
|
||||||
{
|
{
|
||||||
char buffer[64];
|
char buffer[64];
|
||||||
strcpy(buffer, "of ");
|
strcpy(buffer, B_TRANSLATE("of "));
|
||||||
FormatValue(buffer + 3, sizeof(buffer) - 3,
|
FormatValue(buffer + 3, sizeof(buffer) - 3,
|
||||||
(fFileSize + fBlockSize - 1) / fBlockSize);
|
(fFileSize + fBlockSize - 1) / fBlockSize);
|
||||||
fSizeView->SetText(buffer);
|
fSizeView->SetText(buffer);
|
||||||
@@ -1091,8 +1099,8 @@ EditorLooper::Find(off_t startAt, const uint8 *data, size_t dataSize,
|
|||||||
if (system_time() > startTime + 8000000LL) {
|
if (system_time() > startTime + 8000000LL) {
|
||||||
// If the user had to wait more than 8 seconds for the result,
|
// If the user had to wait more than 8 seconds for the result,
|
||||||
// we are trying to please him with a requester...
|
// we are trying to please him with a requester...
|
||||||
(new BAlert("DiskProbe request",
|
(new BAlert(B_TRANSLATE("DiskProbe request"),
|
||||||
"Could not find search string.", "OK", NULL, NULL,
|
B_TRANSLATE("Could not find search string."), B_TRANSLATE("OK"), NULL, NULL,
|
||||||
B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go(NULL);
|
B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go(NULL);
|
||||||
} else
|
} else
|
||||||
beep();
|
beep();
|
||||||
@@ -1119,8 +1127,8 @@ TypeView::TypeView(BRect rect, const char* name, int32 index,
|
|||||||
|
|
||||||
fTypeEditorView = GetTypeEditorAt(index, Frame(), editor);
|
fTypeEditorView = GetTypeEditorAt(index, Frame(), editor);
|
||||||
if (fTypeEditorView == NULL) {
|
if (fTypeEditorView == NULL) {
|
||||||
AddChild(new BStringView(Bounds(), "Type editor",
|
AddChild(new BStringView(Bounds(), B_TRANSLATE("Type editor"),
|
||||||
"Type editor not supported", B_FOLLOW_NONE));
|
B_TRANSLATE("Type editor not supported"), B_FOLLOW_NONE));
|
||||||
} else
|
} else
|
||||||
AddChild(fTypeEditorView);
|
AddChild(fTypeEditorView);
|
||||||
|
|
||||||
@@ -1311,7 +1319,7 @@ ProbeView::_UpdateAttributesMenu(BMenu *menu)
|
|||||||
void
|
void
|
||||||
ProbeView::AddSaveMenuItems(BMenu* menu, int32 index)
|
ProbeView::AddSaveMenuItems(BMenu* menu, int32 index)
|
||||||
{
|
{
|
||||||
menu->AddItem(fSaveMenuItem = new BMenuItem("Save",
|
menu->AddItem(fSaveMenuItem = new BMenuItem(B_TRANSLATE("Save"),
|
||||||
new BMessage(B_SAVE_REQUESTED), 'S'), index);
|
new BMessage(B_SAVE_REQUESTED), 'S'), index);
|
||||||
fSaveMenuItem->SetTarget(this);
|
fSaveMenuItem->SetTarget(this);
|
||||||
fSaveMenuItem->SetEnabled(false);
|
fSaveMenuItem->SetEnabled(false);
|
||||||
@@ -1323,10 +1331,10 @@ void
|
|||||||
ProbeView::AddPrintMenuItems(BMenu* menu, int32 index)
|
ProbeView::AddPrintMenuItems(BMenu* menu, int32 index)
|
||||||
{
|
{
|
||||||
BMenuItem *item;
|
BMenuItem *item;
|
||||||
menu->AddItem(item = new BMenuItem("Page setup" B_UTF8_ELLIPSIS,
|
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Page setup" B_UTF8_ELLIPSIS),
|
||||||
new BMessage(kMsgPageSetup)), index++);
|
new BMessage(kMsgPageSetup)), index++);
|
||||||
item->SetTarget(this);
|
item->SetTarget(this);
|
||||||
menu->AddItem(item = new BMenuItem("Print" B_UTF8_ELLIPSIS,
|
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Print" B_UTF8_ELLIPSIS),
|
||||||
new BMessage(kMsgPrint), 'P'), index++);
|
new BMessage(kMsgPrint), 'P'), index++);
|
||||||
item->SetTarget(this);
|
item->SetTarget(this);
|
||||||
}
|
}
|
||||||
@@ -1340,7 +1348,7 @@ ProbeView::AddViewAsMenuItems()
|
|||||||
if (bar == NULL)
|
if (bar == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BMenuItem* item = bar->FindItem("View");
|
BMenuItem* item = bar->FindItem(B_TRANSLATE("View"));
|
||||||
BMenu* menu = NULL;
|
BMenu* menu = NULL;
|
||||||
if (item != NULL)
|
if (item != NULL)
|
||||||
menu = item->Submenu();
|
menu = item->Submenu();
|
||||||
@@ -1352,11 +1360,11 @@ ProbeView::AddViewAsMenuItems()
|
|||||||
|
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
|
|
||||||
BMenu* subMenu = new BMenu("View As");
|
BMenu* subMenu = new BMenu(B_TRANSLATE("View As"));
|
||||||
subMenu->SetRadioMode(true);
|
subMenu->SetRadioMode(true);
|
||||||
|
|
||||||
BMessage* message = new BMessage(kMsgViewAs);
|
BMessage* message = new BMessage(kMsgViewAs);
|
||||||
subMenu->AddItem(item = new BMenuItem("Raw", message));
|
subMenu->AddItem(item = new BMenuItem(B_TRANSLATE("Raw"), message));
|
||||||
item->SetMarked(true);
|
item->SetMarked(true);
|
||||||
|
|
||||||
const char* name;
|
const char* name;
|
||||||
@@ -1397,44 +1405,44 @@ ProbeView::AttachedToWindow()
|
|||||||
ResizeBy(0, -bar->Bounds().Height());
|
ResizeBy(0, -bar->Bounds().Height());
|
||||||
|
|
||||||
BMenu *menu = new BMenu(fEditor.IsAttribute()
|
BMenu *menu = new BMenu(fEditor.IsAttribute()
|
||||||
? "Attribute" : fEditor.IsDevice() ? "Device" : "File");
|
? B_TRANSLATE("Attribute") : fEditor.IsDevice() ? B_TRANSLATE("Device") : B_TRANSLATE("File"));
|
||||||
AddSaveMenuItems(menu, 0);
|
AddSaveMenuItems(menu, 0);
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
AddPrintMenuItems(menu, menu->CountItems());
|
AddPrintMenuItems(menu, menu->CountItems());
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
|
|
||||||
menu->AddItem(new BMenuItem("Close", new BMessage(B_CLOSE_REQUESTED),
|
menu->AddItem(new BMenuItem(B_TRANSLATE("Close"), new BMessage(B_CLOSE_REQUESTED),
|
||||||
'W'));
|
'W'));
|
||||||
bar->AddItem(menu);
|
bar->AddItem(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
// "Edit" menu
|
// "Edit" menu
|
||||||
|
|
||||||
BMenu *menu = new BMenu("Edit");
|
BMenu *menu = new BMenu(B_TRANSLATE("Edit"));
|
||||||
BMenuItem *item;
|
BMenuItem *item;
|
||||||
menu->AddItem(fUndoMenuItem = new BMenuItem("Undo", new BMessage(B_UNDO),
|
menu->AddItem(fUndoMenuItem = new BMenuItem(B_TRANSLATE("Undo"), new BMessage(B_UNDO),
|
||||||
'Z'));
|
'Z'));
|
||||||
fUndoMenuItem->SetEnabled(fEditor.CanUndo());
|
fUndoMenuItem->SetEnabled(fEditor.CanUndo());
|
||||||
fUndoMenuItem->SetTarget(fDataView);
|
fUndoMenuItem->SetTarget(fDataView);
|
||||||
menu->AddItem(fRedoMenuItem = new BMenuItem("Redo", new BMessage(B_REDO),
|
menu->AddItem(fRedoMenuItem = new BMenuItem(B_TRANSLATE("Redo"), new BMessage(B_REDO),
|
||||||
'Z', B_SHIFT_KEY));
|
'Z', B_SHIFT_KEY));
|
||||||
fRedoMenuItem->SetEnabled(fEditor.CanRedo());
|
fRedoMenuItem->SetEnabled(fEditor.CanRedo());
|
||||||
fRedoMenuItem->SetTarget(fDataView);
|
fRedoMenuItem->SetTarget(fDataView);
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
menu->AddItem(item = new BMenuItem("Copy", new BMessage(B_COPY), 'C'));
|
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Copy"), new BMessage(B_COPY), 'C'));
|
||||||
item->SetTarget(NULL, Window());
|
item->SetTarget(NULL, Window());
|
||||||
menu->AddItem(fPasteMenuItem = new BMenuItem("Paste", new BMessage(B_PASTE),
|
menu->AddItem(fPasteMenuItem = new BMenuItem(B_TRANSLATE("Paste"), new BMessage(B_PASTE),
|
||||||
'V'));
|
'V'));
|
||||||
fPasteMenuItem->SetTarget(NULL, Window());
|
fPasteMenuItem->SetTarget(NULL, Window());
|
||||||
_CheckClipboard();
|
_CheckClipboard();
|
||||||
menu->AddItem(item = new BMenuItem("Select all", new BMessage(B_SELECT_ALL),
|
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Select all"), new BMessage(B_SELECT_ALL),
|
||||||
'A'));
|
'A'));
|
||||||
item->SetTarget(NULL, Window());
|
item->SetTarget(NULL, Window());
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
menu->AddItem(item = new BMenuItem("Find" B_UTF8_ELLIPSIS,
|
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Find" B_UTF8_ELLIPSIS),
|
||||||
new BMessage(kMsgOpenFindWindow), 'F'));
|
new BMessage(kMsgOpenFindWindow), 'F'));
|
||||||
item->SetTarget(this);
|
item->SetTarget(this);
|
||||||
menu->AddItem(fFindAgainMenuItem = new BMenuItem("Find again",
|
menu->AddItem(fFindAgainMenuItem = new BMenuItem(B_TRANSLATE("Find again"),
|
||||||
new BMessage(kMsgFind), 'G'));
|
new BMessage(kMsgFind), 'G'));
|
||||||
fFindAgainMenuItem->SetEnabled(false);
|
fFindAgainMenuItem->SetEnabled(false);
|
||||||
fFindAgainMenuItem->SetTarget(this);
|
fFindAgainMenuItem->SetTarget(this);
|
||||||
@@ -1442,20 +1450,20 @@ ProbeView::AttachedToWindow()
|
|||||||
|
|
||||||
// "Block" menu
|
// "Block" menu
|
||||||
|
|
||||||
menu = new BMenu("Block");
|
menu = new BMenu(B_TRANSLATE("Block"));
|
||||||
BMessage *message = new BMessage(kMsgPositionUpdate);
|
BMessage *message = new BMessage(kMsgPositionUpdate);
|
||||||
message->AddInt32("delta", 1);
|
message->AddInt32("delta", 1);
|
||||||
menu->AddItem(item = new BMenuItem("Next", message, B_RIGHT_ARROW));
|
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Next"), message, B_RIGHT_ARROW));
|
||||||
item->SetTarget(fHeaderView);
|
item->SetTarget(fHeaderView);
|
||||||
message = new BMessage(kMsgPositionUpdate);
|
message = new BMessage(kMsgPositionUpdate);
|
||||||
message->AddInt32("delta", -1);
|
message->AddInt32("delta", -1);
|
||||||
menu->AddItem(item = new BMenuItem("Previous", message, B_LEFT_ARROW));
|
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Previous"), message, B_LEFT_ARROW));
|
||||||
item->SetTarget(fHeaderView);
|
item->SetTarget(fHeaderView);
|
||||||
menu->AddItem(item = new BMenuItem("Back", new BMessage(kMsgLastPosition),
|
menu->AddItem(item = new BMenuItem(B_TRANSLATE("Back"), new BMessage(kMsgLastPosition),
|
||||||
'J'));
|
'J'));
|
||||||
item->SetTarget(fHeaderView);
|
item->SetTarget(fHeaderView);
|
||||||
|
|
||||||
BMenu *subMenu = new BMenu("Selection");
|
BMenu *subMenu = new BMenu(B_TRANSLATE("Selection"));
|
||||||
message = new BMessage(kMsgPositionUpdate);
|
message = new BMessage(kMsgPositionUpdate);
|
||||||
message->AddInt64("block", 0);
|
message->AddInt64("block", 0);
|
||||||
subMenu->AddItem(fNativeMenuItem = new BMenuItem("", message, 'K'));
|
subMenu->AddItem(fNativeMenuItem = new BMenuItem("", message, 'K'));
|
||||||
@@ -1467,8 +1475,8 @@ ProbeView::AttachedToWindow()
|
|||||||
_UpdateSelectionMenuItems(0, 0);
|
_UpdateSelectionMenuItems(0, 0);
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
|
|
||||||
fBookmarkMenu = new BMenu("Bookmarks");
|
fBookmarkMenu = new BMenu(B_TRANSLATE("Bookmarks"));
|
||||||
fBookmarkMenu->AddItem(item = new BMenuItem("Add",
|
fBookmarkMenu->AddItem(item = new BMenuItem(B_TRANSLATE("Add"),
|
||||||
new BMessage(kMsgAddBookmark), 'B'));
|
new BMessage(kMsgAddBookmark), 'B'));
|
||||||
item->SetTarget(this);
|
item->SetTarget(this);
|
||||||
menu->AddItem(new BMenuItem(fBookmarkMenu));
|
menu->AddItem(new BMenuItem(fBookmarkMenu));
|
||||||
@@ -1487,27 +1495,27 @@ ProbeView::AttachedToWindow()
|
|||||||
|
|
||||||
if (!fEditor.IsAttribute() && volume.InitCheck() == B_OK
|
if (!fEditor.IsAttribute() && volume.InitCheck() == B_OK
|
||||||
&& (volume.KnowsMime() || volume.KnowsAttr())) {
|
&& (volume.KnowsMime() || volume.KnowsAttr())) {
|
||||||
bar->AddItem(menu = new BMenu("Attributes"));
|
bar->AddItem(menu = new BMenu(B_TRANSLATE("Attributes")));
|
||||||
_UpdateAttributesMenu(menu);
|
_UpdateAttributesMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
// "View" menu
|
// "View" menu
|
||||||
|
|
||||||
menu = new BMenu("View");
|
menu = new BMenu(B_TRANSLATE("View"));
|
||||||
|
|
||||||
// Number Base (hex/decimal)
|
// Number Base (hex/decimal)
|
||||||
|
|
||||||
subMenu = new BMenu("Base");
|
subMenu = new BMenu(B_TRANSLATE("Base"));
|
||||||
message = new BMessage(kMsgBaseType);
|
message = new BMessage(kMsgBaseType);
|
||||||
message->AddInt32("base_type", kDecimalBase);
|
message->AddInt32("base_type", kDecimalBase);
|
||||||
subMenu->AddItem(item = new BMenuItem("Decimal", message, 'D'));
|
subMenu->AddItem(item = new BMenuItem(B_TRANSLATE("Decimal"), message, 'D'));
|
||||||
item->SetTarget(this);
|
item->SetTarget(this);
|
||||||
if (fHeaderView->Base() == kDecimalBase)
|
if (fHeaderView->Base() == kDecimalBase)
|
||||||
item->SetMarked(true);
|
item->SetMarked(true);
|
||||||
|
|
||||||
message = new BMessage(kMsgBaseType);
|
message = new BMessage(kMsgBaseType);
|
||||||
message->AddInt32("base_type", kHexBase);
|
message->AddInt32("base_type", kHexBase);
|
||||||
subMenu->AddItem(item = new BMenuItem("Hex", message, 'H'));
|
subMenu->AddItem(item = new BMenuItem(B_TRANSLATE("Hex"), message, 'H'));
|
||||||
item->SetTarget(this);
|
item->SetTarget(this);
|
||||||
if (fHeaderView->Base() == kHexBase)
|
if (fHeaderView->Base() == kHexBase)
|
||||||
item->SetMarked(true);
|
item->SetMarked(true);
|
||||||
@@ -1517,14 +1525,14 @@ ProbeView::AttachedToWindow()
|
|||||||
|
|
||||||
// Block Size
|
// Block Size
|
||||||
|
|
||||||
subMenu = new BMenu("BlockSize");
|
subMenu = new BMenu(B_TRANSLATE("BlockSize"));
|
||||||
subMenu->SetRadioMode(true);
|
subMenu->SetRadioMode(true);
|
||||||
const uint32 blockSizes[] = {512, 1024, 2048};
|
const uint32 blockSizes[] = {512, 1024, 2048};
|
||||||
for (uint32 i = 0; i < sizeof(blockSizes) / sizeof(blockSizes[0]); i++) {
|
for (uint32 i = 0; i < sizeof(blockSizes) / sizeof(blockSizes[0]); i++) {
|
||||||
char buffer[32];
|
char buffer[32];
|
||||||
snprintf(buffer, sizeof(buffer), "%ld%s", blockSizes[i],
|
snprintf(buffer, sizeof(buffer), "%ld%s", blockSizes[i],
|
||||||
fEditor.IsDevice() && fEditor.BlockSize() == blockSizes[i]
|
fEditor.IsDevice() && fEditor.BlockSize() == blockSizes[i]
|
||||||
? " (native)" : "");
|
? B_TRANSLATE(" (native)") : "");
|
||||||
subMenu->AddItem(item = new BMenuItem(buffer,
|
subMenu->AddItem(item = new BMenuItem(buffer,
|
||||||
message = new BMessage(kMsgBlockSize)));
|
message = new BMessage(kMsgBlockSize)));
|
||||||
message->AddInt32("block_size", blockSizes[i]);
|
message->AddInt32("block_size", blockSizes[i]);
|
||||||
@@ -1534,7 +1542,7 @@ ProbeView::AttachedToWindow()
|
|||||||
if (subMenu->FindMarked() == NULL) {
|
if (subMenu->FindMarked() == NULL) {
|
||||||
// if the device has some weird block size, we'll add it here, too
|
// if the device has some weird block size, we'll add it here, too
|
||||||
char buffer[32];
|
char buffer[32];
|
||||||
snprintf(buffer, sizeof(buffer), "%ld (native)", fEditor.BlockSize());
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("%ld (native)"), fEditor.BlockSize());
|
||||||
subMenu->AddItem(item = new BMenuItem(buffer,
|
subMenu->AddItem(item = new BMenuItem(buffer,
|
||||||
message = new BMessage(kMsgBlockSize)));
|
message = new BMessage(kMsgBlockSize)));
|
||||||
message->AddInt32("block_size", fEditor.BlockSize());
|
message->AddInt32("block_size", fEditor.BlockSize());
|
||||||
@@ -1546,7 +1554,7 @@ ProbeView::AttachedToWindow()
|
|||||||
|
|
||||||
// Font Size
|
// Font Size
|
||||||
|
|
||||||
subMenu = new BMenu("Font size");
|
subMenu = new BMenu(B_TRANSLATE("Font size"));
|
||||||
subMenu->SetRadioMode(true);
|
subMenu->SetRadioMode(true);
|
||||||
const int32 fontSizes[] = {9, 10, 11, 12, 13, 14, 18, 24, 36, 48};
|
const int32 fontSizes[] = {9, 10, 11, 12, 13, 14, 18, 24, 36, 48};
|
||||||
int32 fontSize = int32(fDataView->FontSize() + 0.5);
|
int32 fontSize = int32(fDataView->FontSize() + 0.5);
|
||||||
@@ -1562,7 +1570,7 @@ ProbeView::AttachedToWindow()
|
|||||||
item->SetMarked(true);
|
item->SetMarked(true);
|
||||||
}
|
}
|
||||||
subMenu->AddSeparatorItem();
|
subMenu->AddSeparatorItem();
|
||||||
subMenu->AddItem(item = new BMenuItem("Fit",
|
subMenu->AddItem(item = new BMenuItem(B_TRANSLATE("Fit"),
|
||||||
message = new BMessage(kMsgFontSize)));
|
message = new BMessage(kMsgFontSize)));
|
||||||
message->AddFloat("font_size", 0.0f);
|
message->AddFloat("font_size", 0.0f);
|
||||||
if (fontSize == 0)
|
if (fontSize == 0)
|
||||||
@@ -1625,9 +1633,9 @@ ProbeView::_UpdateSelectionMenuItems(int64 start, int64 end)
|
|||||||
|
|
||||||
char buffer[128];
|
char buffer[128];
|
||||||
if (fDataView->Base() == kHexBase)
|
if (fDataView->Base() == kHexBase)
|
||||||
snprintf(buffer, sizeof(buffer), "Native: 0x%0*Lx", size * 2, position);
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Native: 0x%0*Lx"), size * 2, position);
|
||||||
else
|
else
|
||||||
snprintf(buffer, sizeof(buffer), "Native: %Ld (0x%0*Lx)", position, size * 2, position);
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Native: %Ld (0x%0*Lx)"), position, size * 2, position);
|
||||||
|
|
||||||
fNativeMenuItem->SetLabel(buffer);
|
fNativeMenuItem->SetLabel(buffer);
|
||||||
fNativeMenuItem->SetEnabled(position >= 0 && (position * fEditor.BlockSize()) < fEditor.FileSize());
|
fNativeMenuItem->SetEnabled(position >= 0 && (position * fEditor.BlockSize()) < fEditor.FileSize());
|
||||||
@@ -1635,9 +1643,9 @@ ProbeView::_UpdateSelectionMenuItems(int64 start, int64 end)
|
|||||||
|
|
||||||
position = B_SWAP_INT64(position) >> (8 * (8 - size));
|
position = B_SWAP_INT64(position) >> (8 * (8 - size));
|
||||||
if (fDataView->Base() == kHexBase)
|
if (fDataView->Base() == kHexBase)
|
||||||
snprintf(buffer, sizeof(buffer), "Swapped: 0x%0*Lx", size * 2, position);
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Swapped: 0x%0*Lx"), size * 2, position);
|
||||||
else
|
else
|
||||||
snprintf(buffer, sizeof(buffer), "Swapped: %Ld (0x%0*Lx)", position, size * 2, position);
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Swapped: %Ld (0x%0*Lx)"), position, size * 2, position);
|
||||||
|
|
||||||
fSwappedMenuItem->SetLabel(buffer);
|
fSwappedMenuItem->SetLabel(buffer);
|
||||||
fSwappedMenuItem->SetEnabled(position >= 0 && (position * fEditor.BlockSize()) < fEditor.FileSize());
|
fSwappedMenuItem->SetEnabled(position >= 0 && (position * fEditor.BlockSize()) < fEditor.FileSize());
|
||||||
@@ -1661,9 +1669,9 @@ ProbeView::_UpdateBookmarkMenuItems()
|
|||||||
|
|
||||||
char buffer[128];
|
char buffer[128];
|
||||||
if (fDataView->Base() == kHexBase)
|
if (fDataView->Base() == kHexBase)
|
||||||
snprintf(buffer, sizeof(buffer), "Block 0x%Lx", block);
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Block 0x%Lx"), block);
|
||||||
else
|
else
|
||||||
snprintf(buffer, sizeof(buffer), "Block %Ld (0x%Lx)", block, block);
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Block %Ld (0x%Lx)"), block, block);
|
||||||
|
|
||||||
item->SetLabel(buffer);
|
item->SetLabel(buffer);
|
||||||
}
|
}
|
||||||
@@ -1701,9 +1709,9 @@ ProbeView::_AddBookmark(off_t position)
|
|||||||
|
|
||||||
char buffer[128];
|
char buffer[128];
|
||||||
if (fDataView->Base() == kHexBase)
|
if (fDataView->Base() == kHexBase)
|
||||||
snprintf(buffer, sizeof(buffer), "Block 0x%Lx", block);
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Block 0x%Lx"), block);
|
||||||
else
|
else
|
||||||
snprintf(buffer, sizeof(buffer), "Block %Ld (0x%Lx)", block, block);
|
snprintf(buffer, sizeof(buffer), B_TRANSLATE("Block %Ld (0x%Lx)"), block, block);
|
||||||
|
|
||||||
BMessage *message;
|
BMessage *message;
|
||||||
item = new BMenuItem(buffer, message = new BMessage(kMsgPositionUpdate));
|
item = new BMenuItem(buffer, message = new BMessage(kMsgPositionUpdate));
|
||||||
@@ -1748,7 +1756,7 @@ ProbeView::_SetTypeEditor(int32 index)
|
|||||||
|
|
||||||
_RemoveTypeEditor();
|
_RemoveTypeEditor();
|
||||||
|
|
||||||
fTypeView = new TypeView(Frame(), "type shell", index, fEditor,
|
fTypeView = new TypeView(Frame(), B_TRANSLATE("type shell"), index, fEditor,
|
||||||
B_FOLLOW_ALL);
|
B_FOLLOW_ALL);
|
||||||
|
|
||||||
if (Parent() != NULL)
|
if (Parent() != NULL)
|
||||||
@@ -1835,13 +1843,13 @@ ProbeView::_Save()
|
|||||||
|
|
||||||
char buffer[1024];
|
char buffer[1024];
|
||||||
snprintf(buffer, sizeof(buffer),
|
snprintf(buffer, sizeof(buffer),
|
||||||
"Writing to the file failed:\n"
|
B_TRANSLATE("Writing to the file failed:\n"
|
||||||
"%s\n\n"
|
"%s\n\n"
|
||||||
"All changes will be lost when you quit.",
|
"All changes will be lost when you quit."),
|
||||||
strerror(status));
|
strerror(status));
|
||||||
|
|
||||||
(new BAlert("DiskProbe request",
|
(new BAlert(B_TRANSLATE("DiskProbe request"),
|
||||||
buffer, "OK", NULL, NULL,
|
buffer, B_TRANSLATE("OK"), NULL, NULL,
|
||||||
B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go(NULL);
|
B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go(NULL);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
@@ -1856,9 +1864,9 @@ ProbeView::QuitRequested()
|
|||||||
if (!fEditor.IsModified())
|
if (!fEditor.IsModified())
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
int32 chosen = (new BAlert("DiskProbe request",
|
int32 chosen = (new BAlert(B_TRANSLATE("DiskProbe request"),
|
||||||
"Save changes before closing?", "Don't save", "Cancel", "Save",
|
B_TRANSLATE("Save changes before closing?"), B_TRANSLATE("Don't save"), B_TRANSLATE("Cancel"),
|
||||||
B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go();
|
B_TRANSLATE("Save"), B_WIDTH_AS_USUAL, B_WARNING_ALERT))->Go();
|
||||||
|
|
||||||
if (chosen == 0)
|
if (chosen == 0)
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -7,16 +7,17 @@
|
|||||||
#include "TypeEditors.h"
|
#include "TypeEditors.h"
|
||||||
#include "DataEditor.h"
|
#include "DataEditor.h"
|
||||||
|
|
||||||
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
|
||||||
# include <IconUtils.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include <Alert.h>
|
#include <Alert.h>
|
||||||
#include <Autolock.h>
|
#include <Autolock.h>
|
||||||
#include <Bitmap.h>
|
#include <Bitmap.h>
|
||||||
|
#include <Catalog.h>
|
||||||
|
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
||||||
|
# include <IconUtils.h>
|
||||||
|
#endif
|
||||||
|
#include <Locale.h>
|
||||||
#include <MenuField.h>
|
#include <MenuField.h>
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <Mime.h>
|
#include <Mime.h>
|
||||||
@@ -31,6 +32,9 @@
|
|||||||
#include <TranslatorFormats.h>
|
#include <TranslatorFormats.h>
|
||||||
|
|
||||||
|
|
||||||
|
#undef B_TRANSLATE_CONTEXT
|
||||||
|
#define B_TRANSLATE_CONTEXT "TypeEditors"
|
||||||
|
|
||||||
static const uint32 kMsgValueChanged = 'vlch';
|
static const uint32 kMsgValueChanged = 'vlch';
|
||||||
static const uint32 kMsgScaleChanged = 'scch';
|
static const uint32 kMsgScaleChanged = 'scch';
|
||||||
static const uint32 kMimeTypeItem = 'miti';
|
static const uint32 kMimeTypeItem = 'miti';
|
||||||
@@ -196,7 +200,7 @@ StringEditor::StringEditor(BRect rect, DataEditor& editor)
|
|||||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
|
|
||||||
BStringView *stringView = new BStringView(BRect(5, 5, rect.right, 20),
|
BStringView *stringView = new BStringView(BRect(5, 5, rect.right, 20),
|
||||||
B_EMPTY_STRING, "Contents:");
|
B_EMPTY_STRING, B_TRANSLATE("Contents:"));
|
||||||
stringView->ResizeToPreferred();
|
stringView->ResizeToPreferred();
|
||||||
AddChild(stringView);
|
AddChild(stringView);
|
||||||
|
|
||||||
@@ -275,12 +279,12 @@ StringEditor::MessageReceived(BMessage *message)
|
|||||||
|
|
||||||
|
|
||||||
MimeTypeEditor::MimeTypeEditor(BRect rect, DataEditor& editor)
|
MimeTypeEditor::MimeTypeEditor(BRect rect, DataEditor& editor)
|
||||||
: TypeEditorView(rect, "MIME type editor", B_FOLLOW_LEFT_RIGHT, 0, editor)
|
: TypeEditorView(rect, B_TRANSLATE("MIME type editor"), B_FOLLOW_LEFT_RIGHT, 0, editor)
|
||||||
{
|
{
|
||||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
|
|
||||||
fTextControl = new BTextControl(rect.InsetByCopy(5, 5), B_EMPTY_STRING,
|
fTextControl = new BTextControl(rect.InsetByCopy(5, 5), B_EMPTY_STRING,
|
||||||
"MIME type:", NULL, new BMessage(kMsgValueChanged), B_FOLLOW_ALL);
|
B_TRANSLATE("MIME type:"), NULL, new BMessage(kMsgValueChanged), B_FOLLOW_ALL);
|
||||||
fTextControl->SetDivider(StringWidth(fTextControl->Label()) + 8);
|
fTextControl->SetDivider(StringWidth(fTextControl->Label()) + 8);
|
||||||
|
|
||||||
float width, height;
|
float width, height;
|
||||||
@@ -366,7 +370,7 @@ MimeTypeEditor::MessageReceived(BMessage *message)
|
|||||||
|
|
||||||
|
|
||||||
NumberEditor::NumberEditor(BRect rect, DataEditor &editor)
|
NumberEditor::NumberEditor(BRect rect, DataEditor &editor)
|
||||||
: TypeEditorView(rect, "Number editor", B_FOLLOW_LEFT_RIGHT, 0, editor)
|
: TypeEditorView(rect, B_TRANSLATE("Number editor"), B_FOLLOW_LEFT_RIGHT, 0, editor)
|
||||||
{
|
{
|
||||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
|
|
||||||
@@ -593,35 +597,35 @@ NumberEditor::_TypeLabel()
|
|||||||
{
|
{
|
||||||
switch (fEditor.Type()) {
|
switch (fEditor.Type()) {
|
||||||
case B_INT8_TYPE:
|
case B_INT8_TYPE:
|
||||||
return "8 bit signed value:";
|
return B_TRANSLATE("8 bit signed value:");
|
||||||
case B_UINT8_TYPE:
|
case B_UINT8_TYPE:
|
||||||
return "8 bit unsigned value:";
|
return B_TRANSLATE("8 bit unsigned value:");
|
||||||
case B_INT16_TYPE:
|
case B_INT16_TYPE:
|
||||||
return "16 bit signed value:";
|
return B_TRANSLATE("16 bit signed value:");
|
||||||
case B_UINT16_TYPE:
|
case B_UINT16_TYPE:
|
||||||
return "16 bit unsigned value:";
|
return B_TRANSLATE("16 bit unsigned value:");
|
||||||
case B_INT32_TYPE:
|
case B_INT32_TYPE:
|
||||||
return "32 bit signed value:";
|
return B_TRANSLATE("32 bit signed value:");
|
||||||
case B_UINT32_TYPE:
|
case B_UINT32_TYPE:
|
||||||
return "32 bit unsigned value:";
|
return B_TRANSLATE("32 bit unsigned value:");
|
||||||
case B_INT64_TYPE:
|
case B_INT64_TYPE:
|
||||||
return "64 bit signed value:";
|
return B_TRANSLATE("64 bit signed value:");
|
||||||
case B_UINT64_TYPE:
|
case B_UINT64_TYPE:
|
||||||
return "64 bit unsigned value:";
|
return B_TRANSLATE("64 bit unsigned value:");
|
||||||
case B_FLOAT_TYPE:
|
case B_FLOAT_TYPE:
|
||||||
return "Floating-point value:";
|
return B_TRANSLATE("Floating-point value:");
|
||||||
case B_DOUBLE_TYPE:
|
case B_DOUBLE_TYPE:
|
||||||
return "Double precision floating-point value:";
|
return B_TRANSLATE("Double precision floating-point value:");
|
||||||
case B_SSIZE_T_TYPE:
|
case B_SSIZE_T_TYPE:
|
||||||
return "32 bit size or status:";
|
return B_TRANSLATE("32 bit size or status:");
|
||||||
case B_SIZE_T_TYPE:
|
case B_SIZE_T_TYPE:
|
||||||
return "32 bit unsigned size:";
|
return B_TRANSLATE("32 bit unsigned size:");
|
||||||
case B_OFF_T_TYPE:
|
case B_OFF_T_TYPE:
|
||||||
return "64 bit signed offset:";
|
return B_TRANSLATE("64 bit signed offset:");
|
||||||
case B_POINTER_TYPE:
|
case B_POINTER_TYPE:
|
||||||
return "32 bit unsigned pointer:";
|
return B_TRANSLATE("32 bit unsigned pointer:");
|
||||||
default:
|
default:
|
||||||
return "Number:";
|
return B_TRANSLATE("Number:");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -755,7 +759,7 @@ BooleanEditor::BooleanEditor(BRect rect, DataEditor &editor)
|
|||||||
message->AddInt8("value", 1);
|
message->AddInt8("value", 1);
|
||||||
|
|
||||||
BMenuField *menuField = new BMenuField(rect.InsetByCopy(5, 5),
|
BMenuField *menuField = new BMenuField(rect.InsetByCopy(5, 5),
|
||||||
B_EMPTY_STRING, "Boolean value:", menu, B_FOLLOW_LEFT_RIGHT);
|
B_EMPTY_STRING, B_TRANSLATE("Boolean value:"), menu, B_FOLLOW_LEFT_RIGHT);
|
||||||
menuField->SetDivider(StringWidth(menuField->Label()) + 8);
|
menuField->SetDivider(StringWidth(menuField->Label()) + 8);
|
||||||
menuField->ResizeToPreferred();
|
menuField->ResizeToPreferred();
|
||||||
ResizeTo(menuField->Bounds().Width() + 10,
|
ResizeTo(menuField->Bounds().Width() + 10,
|
||||||
@@ -839,16 +843,18 @@ BooleanEditor::MessageReceived(BMessage *message)
|
|||||||
|
|
||||||
|
|
||||||
ImageView::ImageView(BRect rect, DataEditor &editor)
|
ImageView::ImageView(BRect rect, DataEditor &editor)
|
||||||
: TypeEditorView(rect, "Image view", B_FOLLOW_NONE, B_WILL_DRAW, editor),
|
: TypeEditorView(rect, B_TRANSLATE("Image view"), B_FOLLOW_NONE,
|
||||||
|
B_WILL_DRAW, editor),
|
||||||
fBitmap(NULL),
|
fBitmap(NULL),
|
||||||
fScaleSlider(NULL)
|
fScaleSlider(NULL)
|
||||||
{
|
{
|
||||||
if (editor.Type() == B_MINI_ICON_TYPE || editor.Type() == B_LARGE_ICON_TYPE
|
if (editor.Type() == B_MINI_ICON_TYPE
|
||||||
|
|| editor.Type() == B_LARGE_ICON_TYPE
|
||||||
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
||||||
|| editor.Type() == B_VECTOR_ICON_TYPE
|
|| editor.Type() == B_VECTOR_ICON_TYPE
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
SetName("Icon view");
|
SetName(B_TRANSLATE("Icon view"));
|
||||||
|
|
||||||
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
||||||
if (editor.Type() == B_VECTOR_ICON_TYPE) {
|
if (editor.Type() == B_VECTOR_ICON_TYPE) {
|
||||||
@@ -864,7 +870,8 @@ ImageView::ImageView(BRect rect, DataEditor &editor)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
fDescriptionView = new BStringView(Bounds(), "", "Could not read image", B_FOLLOW_NONE);
|
fDescriptionView = new BStringView(Bounds(), "",
|
||||||
|
B_TRANSLATE("Could not read image"), B_FOLLOW_NONE);
|
||||||
fDescriptionView->SetAlignment(B_ALIGN_CENTER);
|
fDescriptionView->SetAlignment(B_ALIGN_CENTER);
|
||||||
|
|
||||||
AddChild(fDescriptionView);
|
AddChild(fDescriptionView);
|
||||||
@@ -1020,20 +1027,20 @@ ImageView::_UpdateImage()
|
|||||||
|
|
||||||
if (fBitmap != NULL) {
|
if (fBitmap != NULL) {
|
||||||
char buffer[256];
|
char buffer[256];
|
||||||
const char *type = "Unknown type";
|
const char *type = B_TRANSLATE("Unknown type");
|
||||||
switch (fEditor.Type()) {
|
switch (fEditor.Type()) {
|
||||||
case B_MINI_ICON_TYPE:
|
case B_MINI_ICON_TYPE:
|
||||||
case B_LARGE_ICON_TYPE:
|
case B_LARGE_ICON_TYPE:
|
||||||
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
||||||
case B_VECTOR_ICON_TYPE:
|
case B_VECTOR_ICON_TYPE:
|
||||||
#endif
|
#endif
|
||||||
type = "Icon";
|
type = B_TRANSLATE("Icon");
|
||||||
break;
|
break;
|
||||||
case B_PNG_FORMAT:
|
case B_PNG_FORMAT:
|
||||||
type = "PNG format";
|
type = B_TRANSLATE("PNG format");
|
||||||
break;
|
break;
|
||||||
case B_MESSAGE_TYPE:
|
case B_MESSAGE_TYPE:
|
||||||
type = "Flattened bitmap";
|
type = B_TRANSLATE("Flattened bitmap");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -1042,36 +1049,36 @@ ImageView::_UpdateImage()
|
|||||||
switch (fBitmap->ColorSpace()) {
|
switch (fBitmap->ColorSpace()) {
|
||||||
case B_GRAY1:
|
case B_GRAY1:
|
||||||
case B_GRAY8:
|
case B_GRAY8:
|
||||||
colorSpace = "Grayscale";
|
colorSpace = B_TRANSLATE("Grayscale");
|
||||||
break;
|
break;
|
||||||
case B_CMAP8:
|
case B_CMAP8:
|
||||||
colorSpace = "8 bit palette";
|
colorSpace = B_TRANSLATE("8 bit palette");
|
||||||
break;
|
break;
|
||||||
case B_RGB32:
|
case B_RGB32:
|
||||||
case B_RGBA32:
|
case B_RGBA32:
|
||||||
case B_RGB32_BIG:
|
case B_RGB32_BIG:
|
||||||
case B_RGBA32_BIG:
|
case B_RGBA32_BIG:
|
||||||
colorSpace = "32 bit";
|
colorSpace = B_TRANSLATE("32 bit");
|
||||||
break;
|
break;
|
||||||
case B_RGB15:
|
case B_RGB15:
|
||||||
case B_RGBA15:
|
case B_RGBA15:
|
||||||
case B_RGB15_BIG:
|
case B_RGB15_BIG:
|
||||||
case B_RGBA15_BIG:
|
case B_RGBA15_BIG:
|
||||||
colorSpace = "15 bit";
|
colorSpace = B_TRANSLATE("15 bit");
|
||||||
break;
|
break;
|
||||||
case B_RGB16:
|
case B_RGB16:
|
||||||
case B_RGB16_BIG:
|
case B_RGB16_BIG:
|
||||||
colorSpace = "16 bit";
|
colorSpace = B_TRANSLATE("16 bit");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
colorSpace = "Unknown format";
|
colorSpace = B_TRANSLATE("Unknown format");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
snprintf(buffer, sizeof(buffer), "%s, %g x %g, %s", type,
|
snprintf(buffer, sizeof(buffer), "%s, %g x %g, %s", type,
|
||||||
fBitmap->Bounds().Width() + 1, fBitmap->Bounds().Height() + 1, colorSpace);
|
fBitmap->Bounds().Width() + 1, fBitmap->Bounds().Height() + 1, colorSpace);
|
||||||
fDescriptionView->SetText(buffer);
|
fDescriptionView->SetText(buffer);
|
||||||
} else
|
} else
|
||||||
fDescriptionView->SetText("Could not read image");
|
fDescriptionView->SetText(B_TRANSLATE("Could not read image"));
|
||||||
|
|
||||||
// Update the view size to match the image and its description
|
// Update the view size to match the image and its description
|
||||||
|
|
||||||
@@ -1124,7 +1131,7 @@ ImageView::_UpdateImage()
|
|||||||
|
|
||||||
|
|
||||||
MessageView::MessageView(BRect rect, DataEditor &editor)
|
MessageView::MessageView(BRect rect, DataEditor &editor)
|
||||||
: TypeEditorView(rect, "Message View", B_FOLLOW_ALL, 0, editor)
|
: TypeEditorView(rect, B_TRANSLATE("Message View"), B_FOLLOW_ALL, 0, editor)
|
||||||
{
|
{
|
||||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
|
|
||||||
@@ -1177,7 +1184,7 @@ MessageView::SetTo(BMessage& message)
|
|||||||
fTextView->SetText("");
|
fTextView->SetText("");
|
||||||
|
|
||||||
char text[512];
|
char text[512];
|
||||||
snprintf(text, sizeof(text), "what: '%.4s'\n\n", (char*)&message.what);
|
snprintf(text, sizeof(text), B_TRANSLATE("what: '%.4s'\n\n"), (char*)&message.what);
|
||||||
fTextView->Insert(text);
|
fTextView->Insert(text);
|
||||||
|
|
||||||
type_code type;
|
type_code type;
|
||||||
@@ -1346,11 +1353,11 @@ status_t
|
|||||||
GetNthTypeEditor(int32 index, const char** _name)
|
GetNthTypeEditor(int32 index, const char** _name)
|
||||||
{
|
{
|
||||||
static const char* kEditors[] = {
|
static const char* kEditors[] = {
|
||||||
"Text",
|
B_TRANSLATE("Text"),
|
||||||
"Number",
|
B_TRANSLATE("Number"),
|
||||||
"Boolean",
|
B_TRANSLATE("Boolean"),
|
||||||
"Message",
|
B_TRANSLATE("Message"),
|
||||||
"Image"
|
B_TRANSLATE("Image")
|
||||||
};
|
};
|
||||||
|
|
||||||
if (index < 0 || index >= int32(sizeof(kEditors) / sizeof(kEditors[0])))
|
if (index < 0 || index >= int32(sizeof(kEditors) / sizeof(kEditors[0])))
|
||||||
|
|||||||
Reference in New Issue
Block a user