Ticket #6075: InspectorLocalization.patch
File InspectorLocalization.patch, 19.4 KB (added by , 14 years ago) |
---|
-
src/tools/translation/inspector/ActiveTranslatorsWindow.cpp
33 33 #include "ActiveTranslatorsWindow.h" 34 34 #include "TranslatorItem.h" 35 35 #include <Application.h> 36 #include <Catalog.h> 36 37 #include <ScrollView.h> 38 #include <Locale.h> 37 39 #include <Message.h> 38 40 #include <String.h> 39 41 #include <stdlib.h> … … 42 44 #include <unistd.h> 43 45 #include <sys/stat.h> 44 46 47 #define B_TRANSLATE_CONTEXT "ActiveTranslatorsWindow" 48 49 45 50 ActiveTranslatorsWindow::ActiveTranslatorsWindow(BRect rect, const char *name, 46 51 BList *plist) 47 52 : BWindow(rect, name, B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE) … … 52 57 fpListView = new BOutlineListView(rctframe, "translators_list", 53 58 B_MULTIPLE_SELECTION_LIST); 54 59 55 fpListView->AddItem(fpUserItem = new BStringItem( "User Translators"));60 fpListView->AddItem(fpUserItem = new BStringItem(B_TRANSLATE("User Translators"))); 56 61 fpUserItem->SetEnabled(false); 57 fpListView->AddItem(fpSystemItem = new BStringItem( "System Translators"));62 fpListView->AddItem(fpSystemItem = new BStringItem(B_TRANSLATE("System Translators"))); 58 63 fpSystemItem->SetEnabled(false); 59 64 AddTranslatorsToList(plist, USER_TRANSLATOR, fpUserItem); 60 65 AddTranslatorsToList(plist, SYSTEM_TRANSLATOR, fpSystemItem); -
src/tools/translation/inspector/InspectorApp.cpp
30 30 // DEALINGS IN THE SOFTWARE. 31 31 /*****************************************************************************/ 32 32 33 #include "Constants.h" 33 34 #include "InspectorApp.h" 34 #include "Constants.h"35 35 #include "ImageWindow.h" 36 36 #include "TranslatorItem.h" 37 #include <Window.h> 37 38 #include <Directory.h> 38 39 #include <Message.h> 39 40 #include <String.h> 40 #include < Directory.h>41 #include <Window.h> 41 42 43 #undef B_TRANSLATE_CONTEXT 44 #define B_TRANSLATE_CONTEXT "InspectorApp" 45 46 42 47 InspectorApp::InspectorApp() 43 48 : BApplication(APP_SIG) 44 49 { 45 50 fpActivesWin = NULL; 46 51 fpInfoWin = NULL; 47 52 53 be_locale->GetAppCatalog(&fAppCatalog); 54 48 55 AddToTranslatorsList("/system/add-ons/Translators", 49 56 SYSTEM_TRANSLATOR); 50 57 AddToTranslatorsList("/boot/home/config/add-ons/Translators", … … 79 86 case M_ACTIVE_TRANSLATORS_WINDOW: 80 87 if (!fpActivesWin) 81 88 fpActivesWin = new ActiveTranslatorsWindow( 82 BRect(625, 350, 800, 600), "Active Translators", 89 BRect(625, 350, 800, 600), 90 B_TRANSLATE("Active Translators"), 83 91 GetTranslatorsList()); 84 92 break; 85 93 case M_ACTIVE_TRANSLATORS_WINDOW_QUIT: … … 89 97 case M_INFO_WINDOW: 90 98 if (!fpInfoWin) 91 99 fpInfoWin = new InfoWindow(BRect(625, 50, 800, 300), 92 "Info Win", fbstrInfo.String()); 100 B_TRANSLATE_COMMENT("Info Win", 101 "This is a quite narrow info window and title 'Info Win' " 102 "is therefore shortened."), fbstrInfo.String()); 93 103 break; 94 104 case M_INFO_WINDOW_QUIT: 95 105 fpInfoWin = NULL; … … 126 136 int main(int argc, char **argv) 127 137 { 128 138 InspectorApp *papp = new InspectorApp(); 139 129 140 papp->Run(); 130 141 131 142 delete papp; -
src/tools/translation/inspector/ImageWindow.cpp
32 32 #include "ImageWindow.h" 33 33 #include "Constants.h" 34 34 #include <Application.h> 35 #include <Catalog.h> 36 #include <Locale.h> 35 37 #include <MenuBar.h> 36 38 #include <MenuItem.h> 37 39 #include <Menu.h> 38 40 #include <ScrollView.h> 39 41 #include <Alert.h> 40 42 43 #define B_TRANSLATE_CONTEXT "ImageWindow" 44 45 41 46 ImageWindow::ImageWindow(BRect rect, const char *name) 42 47 : BWindow(rect, name, B_DOCUMENT_WINDOW, 0) 43 48 { … … 45 50 BRect rctbar(0, 0, 100, 10); 46 51 BMenuBar *pbar = new BMenuBar(rctbar, "MenuBar"); 47 52 48 BMenu *pmnufile = new BMenu( "File");49 BMenuItem *pitmopen = new BMenuItem( "Open...",53 BMenu *pmnufile = new BMenu(B_TRANSLATE("File")); 54 BMenuItem *pitmopen = new BMenuItem(B_TRANSLATE("Open..."), 50 55 new BMessage(M_OPEN_IMAGE), 'O', 0); 51 56 52 BMenuItem *pitmsave = new BMenuItem( "Save...",57 BMenuItem *pitmsave = new BMenuItem(B_TRANSLATE("Save..."), 53 58 new BMessage(M_SAVE_IMAGE), 'S', 0); 54 59 55 BMenuItem *pitmquit = new BMenuItem( "Quit",60 BMenuItem *pitmquit = new BMenuItem(B_TRANSLATE("Quit"), 56 61 new BMessage(B_QUIT_REQUESTED), 'Q', 0); 57 62 58 63 pmnufile->AddItem(pitmopen); … … 61 66 pmnufile->AddItem(pitmquit); 62 67 pbar->AddItem(pmnufile); 63 68 64 BMenu *pmnuview = new BMenu( "View");65 BMenuItem *pitmfirst = new BMenuItem( "First Page",69 BMenu *pmnuview = new BMenu(B_TRANSLATE("View")); 70 BMenuItem *pitmfirst = new BMenuItem(B_TRANSLATE("First Page"), 66 71 new BMessage(M_VIEW_FIRST_PAGE), 'F', 0); 67 72 68 BMenuItem *pitmlast = new BMenuItem( "Last Page",73 BMenuItem *pitmlast = new BMenuItem(B_TRANSLATE("Last Page"), 69 74 new BMessage(M_VIEW_LAST_PAGE), 'L', 0); 70 75 71 BMenuItem *pitmnext = new BMenuItem( "Next Page",76 BMenuItem *pitmnext = new BMenuItem(B_TRANSLATE("Next Page"), 72 77 new BMessage(M_VIEW_NEXT_PAGE), 'N', 0); 73 78 74 BMenuItem *pitmprev = new BMenuItem( "Previous Page",79 BMenuItem *pitmprev = new BMenuItem(B_TRANSLATE("Previous Page"), 75 80 new BMessage(M_VIEW_PREV_PAGE), 'P', 0); 76 81 77 82 pmnuview->AddItem(pitmfirst); … … 81 86 pbar->AddItem(pmnuview); 82 87 83 88 84 BMenu *pmnuwindow = new BMenu( "Window");85 BMenuItem *pitmactives = new BMenuItem( "Active Translators",89 BMenu *pmnuwindow = new BMenu(B_TRANSLATE("Window")); 90 BMenuItem *pitmactives = new BMenuItem(B_TRANSLATE("Active Translators"), 86 91 new BMessage(M_ACTIVE_TRANSLATORS_WINDOW), 'T', 0); 87 92 pitmactives->SetTarget(be_app); 88 93 89 BMenuItem *pitminfo = new BMenuItem( "Info",94 BMenuItem *pitminfo = new BMenuItem(B_TRANSLATE("Info"), 90 95 new BMessage(M_INFO_WINDOW), 'I', 0); 91 96 pitminfo->SetTarget(be_app); 92 97 … … 133 138 case M_SAVE_IMAGE: 134 139 if (fpimageView->HasImage()) { 135 140 BAlert *palert = new BAlert(NULL, 136 "Save feature not implemented yet.", "Bummer"); 141 B_TRANSLATE("Save feature not implemented yet."), 142 B_TRANSLATE("Bummer")); 137 143 palert->Go(); 138 144 } else { 139 145 BAlert *palert = new BAlert(NULL, 140 "No image available to save.", "OK"); 146 B_TRANSLATE("No image available to save."), 147 B_TRANSLATE("OK")); 141 148 palert->Go(); 142 149 } 143 150 break; -
src/tools/translation/inspector/InspectorApp.h
36 36 #include "ActiveTranslatorsWindow.h" 37 37 #include "InfoWindow.h" 38 38 #include <Application.h> 39 #include <Catalog.h> 40 #include <Locale.h> 41 #include <List.h> 39 42 #include <String.h> 40 #include <List.h>41 43 44 42 45 class InspectorApp : public BApplication { 43 46 public: 44 47 InspectorApp(); … … 54 57 BList flstTranslators; 55 58 ActiveTranslatorsWindow *fpActivesWin; 56 59 InfoWindow *fpInfoWin; 60 BCatalog fAppCatalog; 57 61 }; 58 62 59 63 #endif // #ifndef INSPECTORAPP_H -
src/tools/translation/inspector/ImageView.cpp
37 37 #include "InspectorApp.h" 38 38 #include "TranslatorItem.h" 39 39 #include <Application.h> 40 #include <Catalog.h> 40 41 #include <Message.h> 42 #include <Locale.h> 41 43 #include <List.h> 42 44 #include <String.h> 43 45 #include <TranslationUtils.h> … … 59 61 #define BORDER_HEIGHT 16 60 62 #define PEN_SIZE 1.0f 61 63 64 #define B_TRANSLATE_CONTEXT "ImageView" 65 66 62 67 ImageView::ImageView(BRect rect, const char *name) 63 68 : BView(rect, name, B_FOLLOW_ALL, B_WILL_DRAW | B_FRAME_EVENTS) 64 69 { … … 71 76 SetPenSize(PEN_SIZE); 72 77 } 73 78 79 74 80 ImageView::~ImageView() 75 81 { 76 82 delete fpbitmap; 77 83 fpbitmap = NULL; 78 84 } 79 85 86 80 87 void 81 88 ImageView::AttachedToWindow() 82 89 { 83 90 AdjustScrollBars(); 84 91 } 85 92 93 86 94 void 87 95 ImageView::Draw(BRect rect) 88 96 { … … 98 106 } 99 107 } 100 108 109 101 110 void 102 111 ImageView::ReDraw() 103 112 { 104 113 Draw(Bounds()); 105 114 } 106 115 116 107 117 void 108 118 ImageView::FrameResized(float width, float height) 109 119 { … … 113 123 Invalidate(); 114 124 } 115 125 126 116 127 void 117 128 ImageView::MouseDown(BPoint point) 118 129 { … … 139 150 DragMessage(&msg, Bounds()); 140 151 } 141 152 153 142 154 void 143 155 ImageView::MouseMoved(BPoint point, uint32 state, const BMessage *pmsg) 144 156 { 145 157 } 146 158 159 147 160 void 148 161 ImageView::MouseUp(BPoint point) 149 162 { 150 163 } 151 164 165 152 166 void 153 167 ImageView::MessageReceived(BMessage *pmsg) 154 168 { … … 163 177 } 164 178 } 165 179 180 166 181 void 167 182 ImageView::SaveImageAtDropLocation(BMessage *pmsg) 168 183 { … … 189 204 190 205 } catch (StatusNotOKException) { 191 206 BAlert *palert = new BAlert(NULL, 192 "Sorry, unable to write the image file.", "OK"); 207 B_TRANSLATE("Sorry, unable to write the image file."), 208 B_TRANSLATE("OK")); 193 209 palert->Go(); 194 210 } 195 211 196 212 stream.DetachBitmap(&fpbitmap); 197 213 } 198 214 215 199 216 void 200 217 ImageView::AdjustScrollBars() 201 218 { … … 227 244 } 228 245 } 229 246 247 230 248 struct ColorSpaceName { 231 249 color_space id; 232 250 const char *name; 233 251 }; 234 252 #define COLORSPACENAME(id) {id, #id} 235 253 254 236 255 // convert colorspace numerical value to 237 256 // a string value 238 257 const char * … … 293 312 return kcolorspaces[i].name; 294 313 } 295 314 296 return "Unknown";315 return B_TRANSLATE("Unknown"); 297 316 } 298 317 318 299 319 // return a string of the passed number formated 300 320 // as a hexadecimal number in lowercase with a leading "0x" 301 321 const char * … … 307 327 return str; 308 328 } 309 329 330 310 331 // convert passed number to a string of 4 characters 311 332 // and return that string 312 333 const char * … … 319 340 return str; 320 341 } 321 342 343 322 344 void 323 345 dump_translation_formats(BString &bstr, const translation_format *pfmts, 324 346 int32 nfmts) 325 347 { 348 BString *str1 = NULL; 326 349 for (int i = 0; i < nfmts; i++) { 327 bstr << "\nType: '" << char_format(pfmts[i].type) << "' (" << 328 hex_format(pfmts[i].type) << ")\n"; 329 bstr << "Group: '" << char_format(pfmts[i].group) << "' (" << 330 hex_format(pfmts[i].group) << ")\n"; 331 bstr << "Quality: " << pfmts[i].quality << "\n"; 332 bstr << "Capability: " << pfmts[i].capability << "\n"; 333 bstr << "MIME Type: " << pfmts[i].MIME << "\n"; 334 bstr << "Name: " << pfmts[i].name << "\n"; 350 BString string = B_TRANSLATE("\nType: '%1' (%2)\n" 351 "Group: '%3' (%4)\n" 352 "Quality: %5\n" 353 "Capability: %6\n" 354 "MIME Type: %7\n" 355 "Name: %8\n"); 356 string.ReplaceFirst("%1", char_format(pfmts[i].type)); 357 string.ReplaceFirst("%2", hex_format(pfmts[i].type)); 358 string.ReplaceFirst("%3", char_format(pfmts[i].group)); 359 string.ReplaceFirst("%4", hex_format(pfmts[i].group)); 360 char str2[127] = { 0 }; 361 sprintf(str2, "%f", pfmts[i].quality); 362 string.ReplaceFirst("%5", str2 ); 363 str2[0] = '\0'; 364 sprintf(str2, "%f", pfmts[i].capability); 365 string.ReplaceFirst("%6", str2 ); 366 string.ReplaceFirst("%7", pfmts[i].MIME); 367 string.ReplaceFirst("%8", pfmts[i].name); 368 if (i == 0) 369 str1 = new BString(string); 370 else 371 str1->Append(string); 335 372 } 373 bstr = str1->String(); 336 374 } 337 375 376 338 377 // Send information about the currently open image to the 339 378 // BApplication object so it can send it to the InfoWindow 340 379 void … … 343 382 { 344 383 BMessage msg(M_INFO_WINDOW_TEXT); 345 384 BString bstr; 346 347 // Bitmap Info 348 bstr << "Image: " << path.Path() << "\n"; 385 386 bstr = B_TRANSLATE("Image: %1\n" 387 "Color Space: %2 (%3)\n" 388 "Dimensions: %4 x %5\n" 389 "Bytes per Row: %6\n" 390 "Total Bytes: %7\n" 391 "\nIdentify Info:\n" 392 "ID String: %8\n" 393 "MIME Type: %9\n" 394 "Type: '%10' (%11)\n" 395 "Translator ID: %12\n" 396 "Group: '%13' (%14)\n" 397 "Quality: %15\n" 398 "Capability: %16\n" 399 "\nExtension Info:\n"); 400 bstr.ReplaceFirst("%1", path.Path()); 349 401 color_space cs = fpbitmap->ColorSpace(); 350 bstr << "Color Space: " << get_color_space_name(cs) << " (" << 351 hex_format(static_cast<uint32>(cs)) << ")\n"; 352 bstr << "Dimensions: " << fpbitmap->Bounds().IntegerWidth() + 1 << " x " << 353 fpbitmap->Bounds().IntegerHeight() + 1 << "\n"; 354 bstr << "Bytes per Row: " << fpbitmap->BytesPerRow() << "\n"; 355 bstr << "Total Bytes: " << fpbitmap->BitsLength() << "\n"; 402 bstr.ReplaceFirst("%2", get_color_space_name(cs)); 403 bstr.ReplaceFirst("%3", hex_format(static_cast<uint32>(cs))); 404 char str2[127] = { 0 }; 405 sprintf(str2, "%ld", fpbitmap->Bounds().IntegerWidth() + 1); 406 bstr.ReplaceFirst("%4", str2); 407 str2[0] = '\0'; 408 sprintf(str2, "%ld", fpbitmap->Bounds().IntegerHeight() + 1); 409 bstr.ReplaceFirst("%5", str2); 410 str2[0] = '\0'; 411 sprintf(str2, "%ld", fpbitmap->BytesPerRow()); 412 bstr.ReplaceFirst("%6", str2); 413 str2[0] = '\0'; 414 sprintf(str2, "%ld", fpbitmap->BitsLength()); 415 bstr.ReplaceFirst("%7", str2); 416 bstr.ReplaceFirst("%8", tinfo.name); 417 bstr.ReplaceFirst("%9", tinfo.MIME); 418 bstr.ReplaceFirst("%10", char_format(tinfo.type)); 419 bstr.ReplaceFirst("%11", hex_format(tinfo.type)); 420 str2[0] = '\0'; 421 sprintf(str2, "%ld", tinfo.translator); 422 bstr.ReplaceFirst("%12", str2); 423 bstr.ReplaceFirst("%13", char_format(tinfo.group)); 424 bstr.ReplaceFirst("%14", hex_format(tinfo.group)); 425 str2[0] = '\0'; 426 sprintf(str2, "%f", tinfo.quality); 427 bstr.ReplaceFirst("%15", str2); 428 str2[0] = '\0'; 429 sprintf(str2, "%f", tinfo.capability); 430 bstr.ReplaceFirst("%16", str2); 356 431 357 // Identify Info358 bstr << "\nIdentify Info:\n";359 bstr << "ID String: " << tinfo.name << "\n";360 bstr << "MIME Type: " << tinfo.MIME << "\n";361 bstr << "Type: '" << char_format(tinfo.type) << "' (" <<362 hex_format(tinfo.type) << ")\n";363 bstr << "Translator ID: " << tinfo.translator << "\n";364 bstr << "Group: '" << char_format(tinfo.group) << "' (" <<365 hex_format(tinfo.group) << ")\n";366 bstr << "Quality: " << tinfo.quality << "\n";367 bstr << "Capability: " << tinfo.capability << "\n";368 369 // Extension Info370 bstr << "\nExtension Info:\n";371 432 int32 document_count = 0, document_index = 0; 372 if (ioExtension.FindInt32("/documentCount", &document_count) == B_OK)373 bstr << "Number of Documents: " << document_count << "\n";374 if (ioExtension.FindInt32("/documentIndex", &document_index) == B_OK)375 bstr << "Selected Document: " << document_index << "\n";376 377 433 // Translator Info 378 434 const char *tranname = NULL, *traninfo = NULL; 379 435 int32 tranversion = 0; 380 if (proster->GetTranslatorInfo(tinfo.translator, &tranname, &traninfo, 381 &tranversion) == B_OK) { 382 bstr << "\nTranslator Used:\n"; 383 bstr << "Name: " << tranname << "\n"; 384 bstr << "Info: " << traninfo << "\n"; 385 bstr << "Version: " << tranversion << "\n"; 436 437 if (ioExtension.FindInt32("/documentCount", &document_count) == B_OK) { 438 BString str = B_TRANSLATE("Number of Documents: %1\n" 439 "\nTranslator Used:\n" 440 "Name: %2\n" 441 "Info: %3\n" 442 "Version: %4\n"); 443 char str2[127] = { 0 }; 444 sprintf(str2, "%ld", document_count); 445 str.ReplaceFirst("%1", str2); 446 str.ReplaceFirst("%2", tranname); 447 str.ReplaceFirst("%3", traninfo); 448 str2[0] = '\0'; 449 sprintf(str2, "%d", (int)tranversion); 450 str.ReplaceFirst("%4", str2); 451 bstr.Append(str.String()); 386 452 } 387 453 else 454 if (ioExtension.FindInt32("/documentIndex", &document_index) == B_OK) { 455 BString str = B_TRANSLATE("Selected Document: %1\n" 456 "\nTranslator Used:\n" 457 "Name: %2\n" 458 "Info: %3\n" 459 "Version: %4\n"); 460 char str2[127] = { 0 }; 461 sprintf(str2, "%ld", document_index); 462 str.ReplaceFirst("%1", str2); 463 str.ReplaceFirst("%2", tranname); 464 str.ReplaceFirst("%3", traninfo); 465 str2[0] = '\0'; 466 sprintf(str2, "%d", (int)tranversion); 467 str.ReplaceFirst("%4", str2); 468 bstr.Append(str.String()); 469 } 470 else 471 if (proster->GetTranslatorInfo(tinfo.translator, &tranname, 472 &traninfo, &tranversion) == B_OK) { 473 BString str = B_TRANSLATE("\nTranslator Used:\n" 474 "Name: %1\n" 475 "Info: %2\n" 476 "Version: %3\n"); 477 str.ReplaceFirst("%1", tranname); 478 str.ReplaceFirst("%2", traninfo); 479 char str2[127] = { 0 }; 480 sprintf(str2, "%d", (int)tranversion); 481 str.ReplaceFirst("%3", str2); 482 bstr.Append(str.String()); 483 } 484 388 485 // Translator Input / Output Formats 389 486 int32 nins = 0, nouts = 0; 390 487 const translation_format *pins = NULL, *pouts = NULL; 391 488 if (proster->GetInputFormats(tinfo.translator, &pins, &nins) == B_OK) { 392 bstr << "\nInput Formats:";489 bstr << B_TRANSLATE("\nInput Formats:"); 393 490 dump_translation_formats(bstr, pins, nins); 394 491 pins = NULL; 395 492 } 396 493 if (proster->GetOutputFormats(tinfo.translator, &pouts, &nouts) == B_OK) { 397 bstr << "\nOutput Formats:";494 bstr << B_TRANSLATE("\nOutput Formats:"); 398 495 dump_translation_formats(bstr, pouts, nouts); 399 496 pouts = NULL; 400 497 } 401 402 498 msg.AddString("text", bstr); 403 499 be_app->PostMessage(&msg); 404 500 } 405 501 502 406 503 BTranslatorRoster * 407 504 ImageView::SelectTranslatorRoster(BTranslatorRoster &roster) 408 505 { … … 430 527 return &roster; 431 528 } 432 529 530 433 531 void 434 532 ImageView::SetImage(BMessage *pmsg) 435 533 { … … 454 552 if (!proster) 455 553 // throw exception 456 554 chk = B_ERROR; 457 458 555 // determine what type the image is 459 556 translator_info tinfo; 460 557 BMessage ioExtension; … … 494 591 pwin->SetTitle(IMAGEWINDOW_TITLE); 495 592 } else 496 593 pwin->SetTitle(IMAGEWINDOW_TITLE); 497 498 594 UpdateInfoWindow(path, ioExtension, tinfo, proster); 499 595 500 596 // Resize parent window and set size limits to 501 597 // reflect the size of the new bitmap 502 598 float width, height; … … 504 600 width = fpbitmap->Bounds().Width() + B_V_SCROLL_BAR_WIDTH + (BORDER_WIDTH * 2); 505 601 height = fpbitmap->Bounds().Height() + 506 602 pbar->Bounds().Height() + B_H_SCROLL_BAR_HEIGHT + (BORDER_HEIGHT * 2) + 1; 507 508 603 BScreen *pscreen = new BScreen(pwin); 509 604 BRect rctscreen = pscreen->Frame(); 510 605 if (width > rctscreen.Width()) … … 514 609 pwin->SetSizeLimits(B_V_SCROLL_BAR_WIDTH * 4, width, 515 610 pbar->Bounds().Height() + (B_H_SCROLL_BAR_HEIGHT * 4) + 1, height); 516 611 pwin->SetZoomLimits(width, height); 517 518 612 AdjustScrollBars(); 519 613 520 614 //pwin->Zoom(); 521 615 // Perform all of the hard work of resizing the 522 616 // window while taking into account the size of … … 531 625 532 626 } catch (StatusNotOKException) { 533 627 BAlert *palert = new BAlert(NULL, 534 "Sorry, unable to load the image.", "OK"); 628 B_TRANSLATE("Sorry, unable to load the image."), 629 B_TRANSLATE("OK")); 535 630 palert->Go(); 536 631 } 537 632 } 538 633 634 539 635 void 540 636 ImageView::FirstPage() 541 637 { … … 545 641 } 546 642 } 547 643 644 548 645 void 549 646 ImageView::LastPage() 550 647 { … … 554 651 } 555 652 } 556 653 654 557 655 void 558 656 ImageView::NextPage() 559 657 { … … 563 661 } 564 662 } 565 663 664 566 665 void 567 666 ImageView::PrevPage() 568 667 { -
src/tools/translation/inspector/Jamfile
11 11 ImageWindow.cpp 12 12 InspectorApp.cpp ; 13 13 14 LinkAgainst Inspector : be tracker translation $(TARGET_LIBSUPC++) ; 14 DoCatalogs Inspector : 15 x.vnd.OBOS-Inspector 16 : 17 InspectorApp.cpp 18 ImageWindow.cpp 19 ImageView.cpp 20 ActiveTranslatorsWindow.cpp 21 ; 15 22 23 LinkAgainst Inspector : be tracker locale translation $(TARGET_LIBSUPC++) ; 24