1 /* 2 * Copyright 2012, Gerasim Troeglazov, 3dEyes@gmail.com. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 6 #include "ConfigView.h" 7 #include "ICNSTranslator.h" 8 9 #include <Catalog.h> 10 #include <StringView.h> 11 #include <SpaceLayoutItem.h> 12 #include <ControlLook.h> 13 14 #include <stdio.h> 15 16 #undef B_TRANSLATION_CONTEXT 17 #define B_TRANSLATION_CONTEXT "ICNSConfig" 18 19 extern "C" { 20 #include <openjpeg.h> 21 }; 22 23 24 ConfigView::ConfigView(TranslatorSettings *settings) 25 : BGroupView("ICNSTranslator Settings", B_VERTICAL, 0) 26 { 27 fSettings = settings; 28 BAlignment leftAlignment(B_ALIGN_LEFT, B_ALIGN_VERTICAL_UNSET); 29 30 BStringView *stringView = new BStringView("title", B_TRANSLATE("Apple icon translator")); 31 stringView->SetFont(be_bold_font); 32 stringView->SetExplicitAlignment(leftAlignment); 33 AddChild(stringView); 34 35 float spacing = be_control_look->DefaultItemSpacing(); 36 AddChild(BSpaceLayoutItem::CreateVerticalStrut(spacing)); 37 38 char version[256]; 39 sprintf(version, B_TRANSLATE("Version %d.%d.%d, %s"), 40 int(B_TRANSLATION_MAJOR_VERSION(ICNS_TRANSLATOR_VERSION)), 41 int(B_TRANSLATION_MINOR_VERSION(ICNS_TRANSLATOR_VERSION)), 42 int(B_TRANSLATION_REVISION_VERSION(ICNS_TRANSLATOR_VERSION)), 43 __DATE__); 44 stringView = new BStringView("version", version); 45 stringView->SetExplicitAlignment(leftAlignment); 46 AddChild(stringView); 47 48 stringView = new BStringView("copyright", 49 B_UTF8_COPYRIGHT "2005-2006 Haiku Inc."); 50 stringView->SetExplicitAlignment(leftAlignment); 51 AddChild(stringView); 52 53 stringView = new BStringView("my_copyright", 54 B_UTF8_COPYRIGHT "2012 Gerasim Troeglazov <3dEyes@gmail.com>."); 55 stringView->SetExplicitAlignment(leftAlignment); 56 AddChild(stringView); 57 58 AddChild(BSpaceLayoutItem::CreateVerticalStrut(spacing)); 59 60 stringView = new BStringView("support_sizes", 61 "Valid sizes: 16, 32, 48, 128, 256, 512, 1024"); 62 stringView->SetExplicitAlignment(leftAlignment); 63 AddChild(stringView); 64 65 stringView = new BStringView("support_colors", 66 "Valid colors: RGB32, RGBA32"); 67 stringView->SetExplicitAlignment(leftAlignment); 68 AddChild(stringView); 69 70 AddChild(BSpaceLayoutItem::CreateVerticalStrut(spacing)); 71 72 BString copyrightText; 73 copyrightText << "libicns v0.8.1\n" 74 << B_UTF8_COPYRIGHT "2001-2012 Mathew Eis <mathew@eisbox.net>\n\n" 75 << "OpenJPEG " << opj_version() << "\n" 76 << B_UTF8_COPYRIGHT "2002-2012, Communications and Remote Sensing " 77 << "Laboratory, Universite catholique de Louvain (UCL), Belgium"; 78 79 fCopyrightView = new BTextView("CopyrightLibs"); 80 fCopyrightView->SetExplicitAlignment(leftAlignment); 81 fCopyrightView->MakeEditable(false); 82 fCopyrightView->MakeResizable(true); 83 fCopyrightView->SetWordWrap(true); 84 fCopyrightView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); 85 fCopyrightView->SetText(copyrightText.String()); 86 fCopyrightView->SetExplicitMinSize(BSize(300,200)); 87 88 BFont font; 89 font.SetSize(font.Size() * 0.9); 90 fCopyrightView->SetFontAndColor(&font, B_FONT_SIZE, NULL); 91 AddChild(fCopyrightView); 92 93 fCopyrightView->SetExplicitAlignment(leftAlignment); 94 95 AddChild(BSpaceLayoutItem::CreateGlue()); 96 GroupLayout()->SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, 97 B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING); 98 99 SetExplicitPreferredSize(GroupLayout()->MinSize()); 100 } 101 102 103 ConfigView::~ConfigView() 104 { 105 fSettings->Release(); 106 } 107 108