[haiku-commits] haiku: hrev54114 - in src: apps/firstbootprompt kits/shared

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 1 May 2020 20:53:06 -0400 (EDT)

hrev54114 adds 1 changeset to branch 'master'
old head: a03ed4fa08bc9a276a8c52f3ca17aad29bad65ca
new head: 5c2709cdd534170b0d83314b094b3cd38d4da333
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=5c2709cdd534+%5Ea03ed4fa08bc

----------------------------------------------------------------------------

5c2709cdd534: Firstbootprompt: remove flags from languages.
  
  http://www.flagsarenotlanguages.com
  
  Add some other icons to make the window a bit more spicy as suggested by
  Axel.
  
  Change-Id: I859cefc7f5cb99f9a5465902c9d471f0b9857b71
  Reviewed-on: https://review.haiku-os.org/c/haiku/+/2527
  Reviewed-by: waddlesplash <waddlesplash@xxxxxxxxx>

                             [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev54114
Commit:      5c2709cdd534170b0d83314b094b3cd38d4da333
URL:         https://git.haiku-os.org/haiku/commit/?id=5c2709cdd534
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Tue Apr 28 19:43:21 2020 UTC
Committer:   waddlesplash <waddlesplash@xxxxxxxxx>
Commit-Date: Sat May  2 00:53:01 2020 UTC

----------------------------------------------------------------------------

5 files changed, 427 insertions(+), 62 deletions(-)
headers/private/shared/IconView.h             |  12 +-
src/apps/firstbootprompt/BootPrompt.rdef      | 307 ++++++++++++++++++++++
src/apps/firstbootprompt/BootPromptWindow.cpp | 124 +++++----
src/apps/firstbootprompt/BootPromptWindow.h   |   1 +
src/kits/shared/IconView.cpp                  |  45 +++-

----------------------------------------------------------------------------

diff --git a/headers/private/shared/IconView.h 
b/headers/private/shared/IconView.h
index 888eec13da..efeccfdc8c 100644
--- a/headers/private/shared/IconView.h
+++ b/headers/private/shared/IconView.h
@@ -1,5 +1,11 @@
-// Author: Michael Wilber
-// Copyright (C) Haiku, uses the MIT license
+/*
+ * Copyright 2004-2020, Haiku.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Adrien Destugues, pulkomandy@xxxxxxxxxxxxx
+ *             Michael Wilber
+ */
 #ifndef ICONVIEW_H
 #define ICONVIEW_H
 
@@ -22,6 +28,8 @@ public:
                        void                    DrawIcon(bool draw);
                        status_t                SetIcon(const BPath& path,
                                                                icon_size 
iconSize = B_LARGE_ICON);
+                       status_t                SetIcon(const uint8_t* 
hvifData, size_t size,
+                                                               icon_size 
iconSize = B_LARGE_ICON);
 
 private:
                        void                    _SetSize();
diff --git a/src/apps/firstbootprompt/BootPrompt.rdef 
b/src/apps/firstbootprompt/BootPrompt.rdef
index 68eb6b1f69..66dad53b2c 100644
--- a/src/apps/firstbootprompt/BootPrompt.rdef
+++ b/src/apps/firstbootprompt/BootPrompt.rdef
@@ -16,3 +16,310 @@ resource app_version {
 };
 
 resource app_flags B_EXCLUSIVE_LAUNCH;
+
+resource(1, "Desktop") #'VICN' array {
+       $"6E6369660F050004006B020006023A498437D931BA09203C6B6D4B49E74A11B7"
+       $"01663300FF9B663203603307020006023393B0B84A2E3B59D6369E0646DFD84A"
+       $"A888007C3F03FF66330003CB986702000602B2F596355C9ABD515DBAEBB14A33"
+       $"354A96BF00A8733FFFD69E6803986432020006023E20000000000000003D8000"
+       $"49C00046000000FFEDDCFFFFCB98020006023A498437D931BA09203C6B6D4B39"
+       $"E749636E0089511AFF98622D05FF020116023C0F0A0000000000003C2F0A4AB5"
+       $"5C4766660080FF000201160338A28F00000000000038228F4AE1D748575C00FF"
+       $"54FFFF80020016023400000000000000003800004B0000478D1E00FFFF800201"
+       $"06023C7FE93652B8B419503A42244A941840DDAF0000FF00FF108E35180A032E"
+       $"543854384A0A0546605A4A5A47604A4E6008092638264E2E52364A3A4C3A5846"
+       $"5E5A495A390A062234223748485E375E3438280A04465E5A495A3846490A0438"
+       $"28223448445E340A032E462E52364A0A083A5846CBAD46C28926BD5B264E2E52"
+       $"2E463AC4870A042E482E46264226440A04B920C27C2E462E3EB920BF4D0A0446"
+       $"5446523A4C3A4E0A043A4C384B38433A440A0428C2762CC3422CC42628C35A0A"
+       $"0429C38D2CC4262CC4A429C40B0A0442C1EA56B9F138B3F824BBEF0A04484448"
+       $"485E375E340A0422342237484848440A0446303A392F353B3B0A043B2D46303A"
+       $"392F350A053C3439353CBBF7C187BBF7C187340A0854355138C7B738C81D3957"
+       $"395E34593456350606FE0A47264923C29FB48C49234B224B224D21562554B430"
+       $"58275929552B02045033C70133C53D334C354CBAEC4CBBCE5037C53D37C70137"
+       $"543554BBCE54BAEC0A044F344F2C512C5134200A01020100000A000102100117"
+       $"8400040A020104000A040106000A060107000A0704080A090B000A03010C0815"
+       $"FF0A03010C28201615FF0A03010C282A1C15FF0A03010C28362215FF0A03010C"
+       $"28362C15FF0A08010D0815FF0A08010D28201615FF0A08010D282A1C15FF0A08"
+       $"010D28362215FF0A08010D28362C15FF0A0001031815FF01178400040A000103"
+       $"18001501178600040A080105000A050110000A09010F000A050111000A0A0112"
+       $"000A000113000A0400000A050114000A0B0216171001178400040A0C0116000A"
+       $"0D0117000A0001151815FF01178402040A00011518001501178502040A0E0115"
+       $"00"
+};
+
+resource(2, "Installer") #'VICN' array {
+       $"6E6369660F0500020006023861093AA03CBD302A3AE36E4A1739473BE7009A9A"
+       $"9AFF38415005A203606C7E020006023B243D3CD85EBD486D3B9FF848FB2749CB"
+       $"D200C7ECFFFF5FBBEB03339CD30200060236D5293AEBDDBDE32D39C4F74ABF1B"
+       $"4A0D19001F8CC4FF214C8B020016023309E2394B04BD3A8536FAA94A315146C1"
+       $"8900B9FFE9020016023C00000000000000003C00004780000000000083FF9903"
+       $"1881B705CA020306053C5BB1BC8F083C10C13BCEA14A8FBE4A96F700F1F1F136"
+       $"D9DDF48A837EADB4B8BEDBFFF4F4F404EBD0020006023935563B7642BB7AAC39"
+       $"DC304ABC6949D16C004137A9FFB9B9B904017E100605E202325E383A5C4C6042"
+       $"604C603C540A0C26362656325C4648462C482840283E2A3A263A222428222E0A"
+       $"0326363E2A3E420A033E2A4232462C0A033E2A3E3442300A0526362656325C32"
+       $"3E283A0A042636283A323E323A0A04325C4648462C323A0A052A342432222E3A"
+       $"263E2A0A04222E3A263A2224280A042636323A303624320A04462C482840283E"
+       $"2A0204C88ABF6CCB56C2A2C5BFBC37BDBFBD91C0BEBAF5BAC0C02DBE27C878BB"
+       $"5CC543C0F3CBAEC8F3CA53C5F4CCEFCBF2C7B70204C4BFC2C4C57EC39FC400C1"
+       $"E9C2A1C25AC321C1EBC221C2C9C2C0C4A8C201C3CDC37EC583C4DDC512C45EC5"
+       $"81C55DC4A20204C5FCC634C6FBC555C4FCC713C1C0C560C33DC716C042C3AAC1"
+       $"83C112C083C1F0C283C033C59FC201C421C04BC71CC3B7060DEEAFBF03B793C4"
+       $"7DB6FDC61BB6E3C4F5B68FC55BB59DC4F5B6ADC6ABB584C5E5B6ADC6ABB592C6"
+       $"8DB6B0C6D5B592C68DB7ADC7BAB638C7ADB7ADC7BAB7BCC862B81CC87AB80DC7"
+       $"D2B80DC7D2B991C886BA0AC7AEBA0AC7AEB8ECC766B8E8C73CB8E8C73CB9FBC7"
+       $"06B9B5C5FEB87AC67CB8CBC5ECB860C556110A0E0100000A0001011001178400"
+       $"040A010102000A020103000A030104000A040105000A050106000A060107000A"
+       $"070108000A080109000A09010A000A0A010B000A00020C0D1815FF0117840004"
+       $"0A00020D0C18001501178600040A0B020C0E000A0C020E0D000A0D010E100117"
+       $"820004"
+};
+
+resource(3, "Keymap") #'VICN' array {
+       $"6E6369661E0500057705A705DF05C8050005FF0500057705A705DF05C8050005"
+       $"FF0500057705A705A705DF05C8050005FF04005405000380000003E4000003FF"
+       $"666603FF666603FFCCCC03FFCCCC17021CC676B65BC676B65BC64DB61DC5D7B5"
+       $"C0C619B5E6C5BDB5AEC59CB597C59BB597C59CB597C0C2B32DC0C2B32DC00AB2"
+       $"D1BE8AB382BF16B2F6BE8AB382BAE8B725BAE8B725BAE5B725BAA4B77CBAA4B7"
+       $"7CBAA9B776BAC3B752BABDB757BA8CB78DBA48B822BA64B7D4BA36B840BA22B8"
+       $"84BA28B861BA20B890BA20B8A8BA1FB89CBA20B89CBA23B886BA21B891BA23B8"
+       $"86B959BCDDB959BCDDB954BCE9B953BD02B953BCF5B953BD87BA29BE4EB9ABBE"
+       $"10BA2BBE50BA30BE50BA2DBE4FBA36BE53C080C176C080C176C0B0C18EC114C1"
+       $"96C0E2C198C118C196C121C197C120C197C156C19745C170C189C189C1B5C173"
+       $"C1A4C179C1ACC177C1B3C175C1D0C168C1C2C16FC1CAC16BC1BFC170C1C5C16D"
+       $"C1E9C15FC238C11EC212C145C238C11EC62CBD2AC62CBD2AC67CBCDAC6CDBBD0"
+       $"C6CDBC50C6CDBBD0C6CDB712C6CDB712C6C7B6C7C677B65BC6A8B688C677B65B"
+       $"0209C5E5B6E9C5E5B6E9C5CBB6B2C569B668C59FB685C5AAB69EC57CB72FC5B2"
+       $"B6EEC57CB72FC1A3BB06C1A3BB06C16CBB3EC13FBBD0C13EBB99C13FBBD0C13F"
+       $"C08FC13FC08FC13FC0C7C1A4C08FC16CC0C7C1A4C08FC598BC9BC598BC9BC5D0"
+       $"BC63C5FEBBD0C5FEBC09C5FEBBD0021AC13EBBD2C13EBBD2C13EBB9AC1A4BB08"
+       $"C16CBB40C1A4BB08C1C9BAE3C1C9BAE3C17DBB29C096BB15C0FABB3EC096BB15"
+       $"BB91B896BB91B896BB3CB85EBB77B7B5BB2EB7FEBB77B7B5BB74B7B4BB74B7B4"
+       $"BB67B7C1BB57B7DD35B7CFBB2EB808BAFEB878BB10B83DBAFDB878BAFDB879BA"
+       $"FDB879BAF2B884BAEAB8A8BAEAB893BAEAB8A8BA20BD02BA20BD02BA20BD39BA"
+       $"86BD99BA4DBD7EBA86BD99BA89BD9BBA89BD9BBA51BD7FBA24BD03BA23BD3BBA"
+       $"24BD03BA24BD02BA24BD02BA25BD3ABA8ABD99BA51BD7EBA8ABD99C0DDC0C1C0"
+       $"DDC0C1C0F3C0CBC118C0CBC107C0CEC11BC0CCC123C0CDC11FC0CDC140C0CDC1"
+       $"70C0B644C0C3C156C0BEC144C090C144C0B2C144C090C144C08FC144C08FC144"
+       $"C091C144C095C144C093C144C092C145C08EC145C090C145C08EC145BBD2C145"
+       $"BBD2C145BBD20209C541B64DC541B64DC541B64DC067B3E2C067B3E2BFFEB3AD"
+       $"BF1AB411BF68B3C2BF1AB411BB77B7B4BB77B7B4BB27B803BBA7B8A2BB3DB86E"
+       $"BBA7B8A2C081BB0DC081BB0DC0EABB42C1CFBADEC180BB2CC1CFBADEC571B73B"
+       $"C571B73BC5BFB6ECC541B64DC5AAB681C541B64D020CBF31B532BF31B532BF50"
+       $"B504BF6AB4DFBF6AB4DFBF6BB4DFBF23B526BF4AB4FFBF23B526BC0FB839BC0F"
+       $"B839BBE8B860BBB4B898BBBFB88BBBB4B898BBB7B8A6BBB4B898BBB9B8B3BBBA"
+       $"B8B3BBB9B8B3BBCEB8C2BC3A2FBC08B8E1BC3A2FC05CBB0BC05CBB0BC08EBB24"
+       $"C066BAFBC092BB1DC066BAFBBD4BB8A9BD4BB8A9BD1FB888BD34B819BD14B847"
+       $"BD34B8190210C1CDB6EEC1CDB6EEC125B69AC033B735C09AB6F3BFC7B77ABF68"
+       $"B77BBF93B791BF30B75FBF7BB702BF5CB721BFCDB6B0C03EB6D6C015B6C9C03E"
+       $"B6D6C09FB66BC09FB66BC000B623BF0CB6C9BF71B664BE76B75FBF11B7E2BEC6"
+       $"B7BDBFA8B82DC083B7A5C03FB7D0C101B756C16BB755C131B738C197B76BC165"
+       $"B7E9C1ADB7A1C107B847C072B818C09AB824C072B818C01BB882C01BB882C113"
+       $"B8DFC1D8B824C1A1B85BC1F0B80CC234B79CC222B7D7C23FB761C1CEB6EEC221"
+       $"B718C1CEB6EE060FFEFFAF3FC570B73BC1CEBADDC1CEBADDC17FBB2DC081BB0D"
+       $"C0EABB42C081BB0DBBA6B8A2BBA6B8A2BB3DB86EBB76B7B5BB28B804BB76B7B5"
+       $"BB74B7B4BB74B7B4BB67B7C1BB57B7DD35B7CFBB2EB808BAFDB878BB0FB83EBA"
+       $"FDB878BAFDB879BAFDB879BAF1B884BAEAB8A8BAE9B893BAEAB8A8BA1FBD02BB"
+       $"92B979C028BBC2C028BBC2C0DFBC1EC235BB41C14ABC2DC31DBA56C571B73BC5"
+       $"70B73BC571B73B021CC023BCAFC023BCAFBFFABC70BF84BC13BFC6BC39BF69BC"
+       $"01BF49BBEBBF48BBEBBF49BBEBBA6EB980BA6EB980B9B7B924B837B9D5B8C3B9"
+       $"49B837B9D5B494BD78B494BD78B491BD78B451BDD0B451BDD0B456BDC9B470BD"
+       $"A5B46ABDABB438BDE0B3F4BE75B410BE27B3E2BE93B3CFBED7B3D5BEB4B3CDBE"
+       $"E322BEFB22BEF022BEF0B3CFBED9B3CDBEE4B3CFBED9B306C331B306C33120C3"
+       $"3D20C35520C34920C3DAB3D6C4A2B358C463B3D8C4A3B3DDC4A3B3DAC4A2B3E2"
+       $"C4A6BA2DC7C932C7C9BA5DC7E1BAC0C7E9BA8FC7EBBAC4C7E9BACDC7EBBACDC7"
+       $"EBBB03C7EBBB6AC7C3BB36C7DDBB62C7C7BB50C7CDBB59C7CBBB60C7C9BB7CC7"
+       $"BBBB6EC7C3BB77C7BEBB6CC7C3BB71C7C0BB96C7B3BBE5C772BBBEC798BBE5C7"
+       $"72BFD9C37DBFD9C37DC028C32EC07A46C079C2A4C07A46C07ABD65C07ABD65C0"
+       $"74BD1AC023BCAFC054BCDBC023BCAF0209BF92BD3DBF92BD3DBF78BD05BF16BC"
+       $"BCBF4CBCD8BF57BCF1BF28BD82BF5FBD41BF28BD82BB51C159BB51C159BB19C1"
+       $"92BAEC46BAECC1ECBAEC46BAECC6E2BAECC6E2BAECC71ABB52C6E2BB19C71ABB"
+       $"52C6E2BF46C2EEBF46C2EEBF7EC2B7BFAC46BFABC25CBFAC46021ABAEBC226BA"
+       $"EBC226BAEBC1EEBB50C15BBB18C193BB50C15BBB75C137BB75C137BB29C17DBA"
+       $"42C169BAA6C191BA42C169B53EBEE9B53EBEE9B4E8BEB1B524BE09B4DABE52B5"
+       $"24BE09B521BE07B521BE07B514BE14B504BE30B50BBE22B4DABE5CB4ABBECBB4"
+       $"BCBE90B4AABECCB4AABECDB4AABECCB49EBED7B497BEFBB496BEE6B497BEFB22"
+       $"C35522C35522C38D23C3EDB3FAC3D023C3EDB435C3EEB435C3EEB3FEC3D2B3D0"
+       $"49B3D0C38EB3D049B3D0C355B3D0C355B3D2C38EB436C3ECB3FEC3D1B436C3EC"
+       $"BA8AC714BA8AC714BAA0C71FBAC5C71EBAB4C722BAC8C71FBACFC720BACBC720"
+       $"BAECC720BB1DC709BB05C716BB03C711BAF1C6E4BAF0C706BAF1C6E4BAF1C6E3"
+       $"BAF1C6E3BAF1C6E4BAF1C6E8BAF0C6E6BAF1C6E6BAF2C6E1BAF1C6E4BAF2C6E1"
+       $"BAF2C226BAF2C226BAF2C2260209BEEDBCA0BEEDBCA0BEEDBCA0BA14BA35BA14"
+       $"BA35B9AABA00B8C6BA65B915BA16B8C6BA65B524BE07B524BE07B4D4BE56B554"
+       $"BEF6B4E9BEC1B554BEF6BA2DC160BA2DC160BA97C195BB7CC130BB2DC17FBB7C"
+       $"C130BF1EBD8EBF1EBD8EBF6CBD3FBEEEBCA0BF57BCD5BEEEBCA0020CB8DDBB86"
+       $"B8DDBB86B8FDBB58B917BB32B917BB32B918BB32B8D0BB79B8F7BB52B8D0BB79"
+       $"B5BCBE8DB5BCBE8DB594BEB4B561BEEBB56BBEDEB561BEEB26BEF9B561BEEBB5"
+       $"66BF07B566BF07B566BF07B57BBF15B5E6BF4EB5B4BF35B5E6BF4EBA09C15EBA"
+       $"09C15EBA3BC177BA13C14FBA3FC170BA13C14FB6F8BEFDB6F8BEFDB6CCBEDBB6"
+       $"E1BE6CB6C1BE9AB6E1BE6C0A08B8F3BCE7B885BD54BA6ABF71BAD8BF02BA68BE"
+       $"8BBB35BDBFBBFBBDDFBC6CBD6E0A03BA14BE32B95BBD6EBAA1BDA6060FFEFFAF"
+       $"3FBF1EBD8EBB7BC130BB7BC130BB2CC180BA2DC160BA96C195BA2DC160B553BE"
+       $"F6B553BEF6B4EABEC1B523BE08B4D5BE57B523BE08B521BE07B521BE07B514BE"
+       $"14B503BE30B50ABE22B4DABE5CB4AABECBB4BCBE90B4AABECCB4AABECDB4AABE"
+       $"CCB49EBED7B497BEFBB496BEE6B497BEFB22C355B53EBFCCB9D5C216B9D5C216"
+       $"BA8CC271BBE2C195BAF7C280BCCAC0AABF1EBD8EBF1EBD8EBF1EBD8E001BCBFF"
+       $"BE43CBFFBE43CBD6BE05CB60BDA8CBA2BDCECB46BD96CB25BD80CB24BD80CB25"
+       $"BD80C64BBB15C64BBB15C593BAB9C413BB6AC49FBADEC413BB6AC071BF0DC071"
+       $"BF0DC06EBF0DC02DBF64C02DBF64C032BF5EC04CBF3AC046BF3FC015BF75BFD1"
+       $"C00ABFEDBFBCBFBFC028BFABC06CBFB1C049BFA9C078BFA9C090BFA8C084BFA9"
+       $"C084BFACC06EBFAAC079BFACC06EBEE2C4C5BEE2C4C5BEC7C559BFB4C636BF34"
+       $"C5F7BFB6C637BFBBC638BFB8C637BFC1C63BC60CC95EC60BC95EC63CC976C69F"
+       $"C97DC66EC980C6A3C97EC6ACC97FC6ACC97FC6E1C97FC749C958C714C972C740"
+       $"C95BC72FC961C737C95FC73EC95DC75B58C74DC957C756C953C74BC958C750C9"
+       $"55C775C947C7C4C906C79DC92CC7C4C906CBB8C512CBB8C512CC07C4C2CC59C3"
+       $"B9CC58C439CC59C3B9CC59BEFACC59BEFACC50BEAFCBFFBE43CC31BE70CBFFBE"
+       $"430209CB6EBED2CB6EBED2CB54BE9ACAF2BE51CB28BE6DCB33BE86CB04BF17CB"
+       $"3BBED6CB04BF17C72DC2EFC72DC2EFC6F5C326C6C8C3B9C6C8C381C6C8C3B9C6"
+       $"C8C878C6C8C878C6C8C8AFC72EC878C6F6C8AFC72EC878CB22C484CB22C484CB"
+       $"5AC44BCB88C3B9CB88C3F1CB88C3B90219C6C7C3BBC6C7C3BBC6C7C383C72D48"
+       $"C6F5C328C72D4853C2CC53C2CCC706C312C61EC2FDC683C326C61EC2FDC11AC0"
+       $"7EC11AC07EC0C5C046C100BF9EC0B6BFE6C100BF9EC0FDBF9CC0FDBF9CC0F0BF"
+       $"A9C0DFBFC5C0E7BFB7C0B6BFF1C086C060C09841C086C060C086C061C086C061"
+       $"C07BC06CC073C090C073C07BC073C090BFA9C4EABFA9C4EABFA9C521C00EC582"
+       $"BFD6C565C00EC582C011C583C011C583BFDAC567BFADC4EBBFACC523BFADC4EB"
+       $"BFADC4EABFADC4EABFAEC522C012C581BFDAC566C012C581C666C8A9C666C8A9"
+       $"C67CC8B3C6A1C8B3C690C8B6C6A4C8B4C6ACC8B5C6A8C8B5C6C9C8B5C6F9C89E"
+       $"C6E1C8ABC6DFC8A6C6CDC879C6CDC89BC6CDC879C6CDC878C6CDC878C6CDC879"
+       $"C6CDC87DC6CDC87BC6CDC87BC6CEC876C6CEC879C6CEC876060EBFFBFF0FC6C7"
+       $"C3BBC6C7C3BBC6C7C383C61EC2FDC683C326C61EC2FDC11AC07EC11AC07EC0C5"
+       $"C046C073C090BFB3C494BFB3C494BF8DC514C00EC582C666C8A9C666C8A9C67C"
+       $"C8B3C6A1C8B3C690C8B6C6A4C8B4C6ACC8B5C6A8C8B5C6C9C8B5C6F9C89EC6E1"
+       $"C8ABC6DFC8A6C6CDC879C6CDC89BC6CDC879C6CDC878C6CDC878C6CDC879C6CD"
+       $"C87DC6CDC87BC6CDC87BC6CEC876C6CEC879C6CEC8760209CACABE35CACABE35"
+       $"CACABE35C5F0BBCAC5F0BBCAC587BB95C4A2BBF9C4F1BBABC4A2BBF9C100BF9C"
+       $"C100BF9CC0B0BFEBC130C08AC0C6C056C130C08AC60AC2F5C60AC2F5C673C32A"
+       $"C758C2C6C709C314C758C2C6CAFBBF23CAFBBF23CB48BED4CACABE35CB33BE69"
+       $"CACABE350604EE4D38C1A9C036C17EBF27C1BFC0C4C62CC2D6C2BDBFF3C297C0"
+       $"E7C2E2BEFE0A0AC7A0BEFBC67DC01EC5C8BE20C55DBDEAC3E6BF61C459BF9CC5"
+       $"48BEACC5F8C097C674C0D4C813BF350608FFBE5149524950494442454343414E"
+       $"364F364D364241433F4143404E434442454443514B504B524B5D3E1E0A000100"
+       $"000A010101000A020102000A030103000A040104000A050105000A060106000A"
+       $"070107000A080108000A090109000A0A010A000A0B010B000A0C020C0D000A0D"
+       $"010E000A0E010F000A0F0110000A100111000A110112000A120113000A130114"
+       $"000A140115000A150116000A1600000A1700000A1800000A1900000A1A00000A"
+       $"1B00000A1C00000A1D0000"
+};
+
+resource(4, "Language") #'VICN' array {
+       $"6E636966050500040057020106033D8AFE000000000000BD8AFE48F10748A078"
+       $"3132E4FFC80066FFFF0034CC020106033D0AFE000000000000BD0AFE48F10748"
+       $"A0785409B4B6D8033784FF051D61020106043D950B0000000000003D950B494F"
+       $"BC479BEC00D5FFD54C6EFF6E901EBC1EFF04B2040D02043C26C2FF26B9502626"
+       $"3C26B95026C2FF3C52B95052C2FF52523C52C2FF52B950026EC5DCB8B6C713BA"
+       $"A0C4CAB706C110B579C307B5D5C0A2B565BFC2B55BC032B55BBDBCB55BBA69B7"
+       $"BABBC5B63AB8F9B94FB89DBD9CB84FBB7EB8C7BE9AB924BF77B8E0BEE7B9DEC1"
+       $"1FBCE0C332BB38C279BEC5C405C2D8C31AC0FBC3FCC2C6C2C1C22FC2B7C27AC2"
+       $"BEC22FC2B7C227C2B7C227C2B7C227C2B7C241C2BDC241C2BDC206C2B0C199C2"
+       $"DBC1D0C2CBC159C2EEC0D4C2DDC115C2E5C051C2CEBF43C313BFB0C2B4BF3DC3"
+       $"13BF36C313BF36C313BF36C313BF20C313BF20C313BF20C313BDEDC313BE23C3"
+       $"13BDB9C2EDBD57C2DFBD87C2E3BD54C2DCBD3EC2C3BD3EC2C3BD31C2B4BD13C2"
+       $"A5BD26C2ABBD13C2A5BCA4C27EBCA4C27EBCA4C27EBC31C254BC31C254BC27C2"
+       $"51BC12C24FBC1DC250BC10C24BBC0FC242BC11C246BC0FC242BBF5C219BBF5C2"
+       $"19BBD3C1DEBB68C195BBAEC1A4BB71C16EBB58C129BB63C14EBB4BC101BB4BC0"
+       $"ADBB48C0D7BB4BC0ADBB4EC087BB4EC087BB52C054BB4DBFEEBB55C021BB9EBF"
+       $"93BBA9BEBFBBB0BF36BBA9BEBFBBA7BE93BBA7BE93BBA7BE53BBBCBE2FBBA8BE"
+       $"4BBBBCBE2FBBC7BE21BBC7BE21BC00BDD5BBE3BCFCBC5BBD3DBBE3BCFCBAB7BC"
+       $"58BAB7BC58BAB7BC58BA8BBC44BA90BC46BA8BBC44BA8BBC42BA8BBC42BA89BB"
+       $"EABA23BB79BA6ABBADBA23BB79BA12BB6BBA12BB6BBA12BB6BB9F8BB49B9F8BB"
+       $"49B9F8BB49B9AEBAF0B9AEBAF0B97EBAC3B928BAB1B950BAB5B924BAA9B91BBA"
+       $"9AB920BAA1B984BA6EB9DEB997B9B5B9F9B9F6B95DBA36B8F0BA0BB91FBA5EB8"
+       $"C4BA78B85EBA83B89EBACCB83DBB61B7E7BB18B813BB61B7E7BB6BB7E1BB6BB7"
+       $"E1BB6BB7E1BBFEB787BBFEB787BC65B74ABCB6B684BC94B6F6BCF5B68ABD58B6"
+       $"65BD2DB67BBDA8B695BE6DB651BE29B697BE6FB650BE88B64FBE7CB64FBE62B6"
+       $"A0BEE1B72FBE88B70EBEE4B733BEE9B73EBEE5B73ABED8B744BEC6B74ABEC6B7"
+       $"4ABEC6B74ABE75B7A5BE75B7A5BE63B7DDBE90B849BE74B817BE91B84CBE92B8"
+       $"52BE92B852BE94B85CBE9DB87ABE97B86BBE94B884BE8CB88DBE8CB88DBE3AB8"
+       $"F0BD92B98FBDB7B906BD92B98FBD8DB9A1BD8DB9A1BD64B9D8BD7EBA55BD59BA"
+       $"19BD7BBA5CBD77BA63BD77BA63BD56BAA0BD4DBB2CBD39BAE6BD60BB70BDCCBB"
+       $"CEBD98BBA2BDFFBBFABE73BC3FBE33BC27BEBEBC5CBF5EBC42BF12BC56BF5EBC"
+       $"42BFAC37BFAC37BFD0BC1EC01CBC0FBFF5BC0BC046BC14C083BC4EC066BC35C0"
+       $"4DBCD9C0F4BDDAC0B6BD63C0F4BDDAC107BDF9C102BDF2C0BABE84C127BF91C0"
+       $"B2BF1DC127BF91C133BF9DC133BF9DC131C00FC1C5C0F9C135C0D6C259C11CC3"
+       $"48C059C2EEC0C9C348C059C36BC02FC36BC02FC36BC02FC388C019C388C019C3"
+       $"A8C003C3DBBFC5C3C9BFE8C3EEBFA0C409BF52C3F0BF73C409BF52C409BF53C4"
+       $"09BF53C40DBF9AC495BFC1C450BFCEC4EBBFB3C542BF10C51FBF56C542BF10C5"
+       $"51BEF2C551BEF2C551BEF2C555BEEBC555BEEBC57FBEA3C568BDFCC59EBE47C5"
+       $"3ABDBBC4A3BDDFC4E1BDAAC4A3BDCAC4A3BDB5C4A3BDB5C4A3BDB5C4A5BD31C4"
+       $"A5BD31C4A8BD1EC4E8BCDFC4D2BCF5C4E8BCDFC4FEBCC9C4FEBCC9C4FEBCC9C5"
+       $"16BCB3C516BCB3C545BC8BC582BC20C571BC5EC58CBC05C588BBBCC586BBD9C5"
+       $"88BBBCC587BBA8C587BBA8C587BBA8C588BB9DC588BB9DC58DBB614EBAFAC584"
+       $"BB24C58ABADAC5C2BA5DC5B0BAA2C5C4BA62C5CBBA70C5CBBA70C5D9BA8EC60F"
+       $"BAD4C5EDBAB3C60ABB1FC648BBAAC627BB67C669BBEBC66FBC7BC670BC33C66F"
+       $"BC7BC672BCC4C672BCC4C674BCEAC66EBD37C678BD11C664BD5AC649BD9CC652"
+       $"BD79C633BDECC62CBE92C62DBE3FC621BED5C67FBF2CC648BF16C750BD0F0006"
+       $"BC12B6E4BC12B6E4BC32B6B0BC55B638BC47B674BB81B6ABBA2BB802BAC4B747"
+       $"BA88B7E3BB30B77EBADDB7B0BB59B765BBAAB733BB82B74DBBCBB71DBC12B6E4"
+       $"BBFCB707BC12B6E4001DBACDBFD1BACDBFD1BAEBBFAABB29BF5CBB13BF89BB43"
+       $"BF24BB34BE93BB34BED0BB34BE4DBB60BDEABB34BE25BB80BDBEBBABBD60BBA1"
+       $"BD98BB48BD2ABA81BCBEBAE5BCF3BA67BCB1BA20BC83BA2DBCA0BA0FBC5BBA0D"
+       $"BC02BA1FBC28B9FEBBE5B9BABBB6B9D0BBD0B99BBB91B95FBB44B983BB66B93D"
+       $"BB24B8F0BB2DB91CBB16B8C0BB48B8BEBADFB8C3BAFFB8B1BB14B89FBB7EB8A7"
+       $"BB49B8C9BB7EB8C5BBB2B8C3BB8AB8C6BBDBB8C9BC2EB8C7BC05B8D0BC40B8BA"
+       $"BC49B8CBBC49B8B4BC4BB8AABC4EB8AFBC4DB8A0BC57B893BC4BB898BC56B882"
+       $"BC4AB88FBD10B88EBD00B893BD49B8E1BDE7B88DBE03B90DBE04B923BE75B906"
+       $"BE4BB946BEA8B985BF00B973BEC1B997BF3EB9A3BFC1B998BF81B9B0C011BA17"
+       $"C05FB9DBC02EBA25C0B3BA75C127BA3DC0E7BA8FC144BAC0C17FBAA9C160BAD8"
+       $"C19FBAFCC17CBAE4C19DBADDC13ABAD7C0A6BAD3C0EFBADBC061BACDBFD1BAEA"
+       $"C013BACDBFD10009BD5EB5D7BD5EB5D7BD81B5EEBDB1B60EBD84B605BDD0B613"
+       $"BE19B601BE01B61ABE55B5C3BEF6B5C4BEB0B5EFBF2DB5A2BFA3B55EBF5BB55E"
+       $"BFCEB55DC00CB58CBFE9B578C03CB5A7C090B566C064B575BF3AB541BCA7B60E"
+       $"BDDDB57ABCECB623BD5EB5D7BD29B601BD5EB5D70005BF35B6EABF35B6EABF55"
+       $"B6ECBF9AB6F5BF7BB702BFCEB6E0BF87B67DBF9CB693BF78B66DBF3CB664BF2F"
+       $"B623BF45B690BF35B6EABF6BB6CCBF35B6EA0004BA07B87FBA07B87FBA0CB868"
+       $"B9EFB850B9FEB85FB982B8E4B8F0BA35B92CB988B97E31BA07B87FB974B8F0BA"
+       $"07B87F0066C6F7BC24C6F7BC24C6DCBB0AC6002FC68BB9F2C5B9B87CC4FFB79C"
+       $"C563B805C4CEB768C463B709C49AB737C452B6FBC428B6EFC440B6E2C412B6FA"
+       $"C407B6C1C401B6D1C316B60FC0D0B56FC1F9B59AC0FBB58BC15FB59CC131B589"
+       $"C170B5A2C179B5C9C19FB5BDC12DB5E2C08AB5C9C0D7B5C4C05AB5CDC03FB60E"
+       $"C043B5DDC03DB629C040B676C036B65DC04BB694C0B6B65FC0A8B66FC0CDB643"
+       $"C0F1B61AC0B1B608C108B64BC0D0B6B1C13AB6D6C0B5B6A7C066B689C083B67C"
+       $"C064B68AC05DB6AFC05FB6ABC053B6C0C031B6D0C044B6CBBFE6B6E5BF94B741"
+       $"BFB0B6EFBF87B769BF5DB791BF88B781BF3BB79DBEF7B7B2BF17B7A4BECCB7C7"
+       $"BEFAB81CBEEAB7FFBF06B830BF19B86CBF03B860BF59B891BFBEB7E0BFA3B802"
+       $"BFE1B7B3C038B7ADC008B7BDC04FB7A6C084B777C06CB76EC0D3B795C0F8B83E"
+       $"C0EBB7F4C110B83FC135B810C100B802C10DB7E5C0ECB77043B7ABC125B795C1"
+       $"5FB7FDC14DB7BDC170B83DC1C2B820C18EB860C1CFB813C1FDB7D5C1E2B7BDC2"
+       $"14B7EAC1F1B838C215B82FC206B84BC23AB83DC222B843C25AB834C28BB842C2"
+       $"6CB836C2AFB850C2FAB857C2D5B854C320B859C347B898C335B87BC377B8E7C2"
+       $"4AB8C5C259B8C6C228B8C3C1E2B8D0C202B8C2C1C9B8DAC199B8F0C1B62FC179"
+       $"B8E5C13FB8B6C15BB8C8C118B89CC0C5B872C0EFB885C07FB853BFE3B84FC02F"
+       $"B83FBFBFB856BF7FB87CBF9CB866BF5CB897BF11B8A4BF35B87FBEDCB8DCBE6E"
+       $"B942BEB6B91FBE51B950BE19B976BE2EB95CBE04B990BDF6B9D1BE04B9B4BDE9"
+       $"B9EEBDE2BA1DBDCAB9FCBDF8BA3CBDEFBA76BDFEBA53BDD9BAA9BDC9BB27BD9F"
+       $"BAEFBDF235BE71BBBCBE3ABB94BEAFBBE9BF41BBD2BEFBBBE5BF83BBC1C009BB"
+       $"9CBFC5BBA1C05FBB96C0DDBC03C0A1BBCDC104BC26C0F5BC67C114BC34C0D3BC"
+       $"9FC103BD00C0E8BCC8C11FBD37C159BDA3C13CBD6DC166BDBAC182BDE8C177BD"
+       $"D0C18EBE04C16DBE2DC17BBE15C152BE5EC13FBECFC13FBE97C13FBF0EC185BF"
+       $"4CC15DBF24C1AABF71C1A4BFE3C1A8BFB3C1A0C025C1DBC087C1B3C053C216C0"
+       $"8AC289C06CC253C086C2CBC04DC319BFDEC2E8C00FC347BFB0C386BF66C378BF"
+       $"ABC396BF13C3FEBEBFC3C2BEF2C435BE90C430BE0CC42EBE4DC432BDC0C433BD"
+       $"22C429BD6DC43CBCDEC4ABBC78C47EBCA7C4CDBC56C512BC03C505BC34C519BB"
+       $"E7C513BBA8C51336C513BB93C51135C51ABB71C4F8BB29C47EBB2CC48ABB5DC4"
+       $"76BB0EC48BBB01C477BB14C4A1BAEDC478BACDC48BBAD8C442BAADC3F1BA66C4"
+       $"18BA9AC3CCBA36C391B9CBC3AEBA00C389B9BEC36CB93BC342B92EC39AB94AC3"
+       $"E2B9A3C3C4B981C419B9DFC46DBA6AC44ABA20C46EBA73C496BA8AC48FBA85C4"
+       $"AFBA9CC4EABAA8C4CABAABC533BAA2C55ABA20C555BA61C562B9C7C4E8B9AFC5"
+       $"1DB9DAC4CAB997C49EB958C4B6B975C48FB946C474B90EC466B92AC493B8F9C4"
+       $"BDB91DC49FB90BC4E0B932C52CB951C505B944C555B95EC5B4B96CC592B952C5"
+       $"C9B97CC5E7B9B8C5D9B9A2C5FEB9DCC627BA26C614BA00C645BA61C694BA9FC6"
+       $"4DBA89C667BAE8C6B6BB83C693BB3FC6DFBBD4C6E3BC7CC6E4BC23C6E2BCCEC6"
+       $"D0BD79C6F5BD2CC6A7BDCCC69FBE9AC69FBE3EC6A1BE95C6A5BE88C6A3BE8DC6"
+       $"A2BE8FC6A1BEC0C696BEBEC6B2BEC4C6D6BE02C6D2BE15C6F6BD65C6F7BC24C7"
+       $"00BCC4C6F7BC240008C301B7D8C301B7D8C2E6B7DCC2D4B7A4C2E8B7AEC2B1B7"
+       $"92C269B7B8C288B7A7C204B7EFC236B743C221B77BC239B73AC285B744C27AB7"
+       $"46C2A7B740C2F3B74FC2D8B731C30CB76BC33CB7A1C31FB787C360B7C2C301B7"
+       $"D8C31CB7D4C301B7D80004BB53C203BB53C203BB45C20DBB26C221BB38C21DBB"
+       $"55C249BBBAC291BB87C26EBB92C265BB53C203BB84C227BB53C2030005C4F4BE"
+       $"2EC4F4BE2EC4D3BE57C48CBEA4C4A6BE76C46EBEDAC47DBF53C47DBF18C4B6BF"
+       $"38C4EDBEB9C4D0BEECC502BE93C4F4BE2EC531BE48C4F4BE2E0009C213C327C2"
+       $"13C327C17FC390BFF7C345C09DC332BFD0C349BF8EC36ABFACC350BF67C38CBF"
+       $"20C386BF56C386BEAFC386BDCDC386BE3EC386BEC1C3CBC0C0C3BABFC4C3DDC1"
+       $"37C3AAC221C367C1AFC38EC22AC364C262C32BC280C337C249C322C213C327C2"
+       $"2AC331C213C32702044844C83744BDA844304F30C34E30C825485ABDA85AC837"
+       $"5A604F60C82560C34E050A01010C000A0001001001178400040A020100000A03"
+       $"0101024065C80000000000004065C8C69779BF1CDB0A040A0304050607080A0B"
+       $"0209024065C80000000000004065C8C69779BF1CDB"
+};
+
diff --git a/src/apps/firstbootprompt/BootPromptWindow.cpp 
b/src/apps/firstbootprompt/BootPromptWindow.cpp
index 7718bb1711..5d052b72b9 100644
--- a/src/apps/firstbootprompt/BootPromptWindow.cpp
+++ b/src/apps/firstbootprompt/BootPromptWindow.cpp
@@ -21,6 +21,8 @@
 #include <FindDirectory.h>
 #include <File.h>
 #include <FormattingConventions.h>
+#include <IconUtils.h>
+#include <IconView.h>
 #include <LayoutBuilder.h>
 #include <ListView.h>
 #include <Locale.h>
@@ -75,19 +77,10 @@ public:
                BStringItem(label),
                fLanguage(language)
        {
-               fIcon = new(std::nothrow) BBitmap(BRect(0, 0, 15, 15), 
B_RGBA32);
-               if (fIcon != NULL
-                       && (!fIcon->IsValid()
-                               || 
BLocaleRoster::Default()->GetFlagIconForLanguage(fIcon,
-                                       language) != B_OK)) {
-                       delete fIcon;
-                       fIcon = NULL;
-               }
        }
 
        ~LanguageItem()
        {
-               delete fIcon;
        }
 
        const char* Language() const
@@ -98,26 +91,10 @@ public:
        void DrawItem(BView* owner, BRect frame, bool complete)
        {
                BStringItem::DrawItem(owner, frame, true/*complete*/);
-
-               // Draw the icon
-               if (fIcon != NULL) {
-                       frame.left = frame.right - kFlagWidth;
-                       BRect iconFrame(frame);
-                       iconFrame.Set(iconFrame.left, iconFrame.top + 1,
-                               iconFrame.left + kFlagWidth - 2,
-                               iconFrame.top + kFlagWidth - 1);
-
-                       owner->SetDrawingMode(B_OP_OVER);
-                       owner->DrawBitmap(fIcon, iconFrame);
-                       owner->SetDrawingMode(B_OP_COPY);
-               }
        }
 
 private:
-       static  const int                       kFlagWidth = 16;
-
                        BString                         fLanguage;
-                       BBitmap*                        fIcon;
 };
 
 
@@ -166,37 +143,64 @@ BootPromptWindow::BootPromptWindow()
        fInfoTextView->MakeSelectable(false);
        fInfoTextView->MakeResizable(false);
 
-       // Carefully designed to not exceed the 640x480 resolution with a 12pt 
font.
-       float width = fInfoTextView->StringWidth("Thank you for trying out 
Haiku,"
-               " We hope you like it!") * 1.5;
-       float height = be_plain_font->Size() * 23;
+       BResources* res = BApplication::AppResources();
+       size_t size = 0;
+       const uint8_t* data;
 
-       fInfoTextView->SetExplicitMinSize(BSize(width, height));
+       BBitmap desktopIcon(BRect(0, 0, 23, 23), B_RGBA32);
+       data = (const uint8_t*)res->LoadResource('VICN', "Desktop", &size);
+       BIconUtils::GetVectorIcon(data, size, &desktopIcon);
+
+       BBitmap installerIcon(BRect(0, 0, 23, 23), B_RGBA32);
+       data = (const uint8_t*)res->LoadResource('VICN', "Installer", &size);
+       BIconUtils::GetVectorIcon(data, size, &installerIcon);
 
        fDesktopButton = new BButton("", new BMessage(MSG_BOOT_DESKTOP));
        fDesktopButton->SetTarget(be_app);
        fDesktopButton->MakeDefault(true);
+       fDesktopButton->SetIcon(&desktopIcon);
 
        fInstallerButton = new BButton("", new BMessage(MSG_RUN_INSTALLER));
        fInstallerButton->SetTarget(be_app);
+       fInstallerButton->SetIcon(&installerIcon);
+
+       data = (const uint8_t*)res->LoadResource('VICN', "Language", &size);
+       IconView* languageIcon = new IconView(B_LARGE_ICON);
+       languageIcon->SetIcon(data, size, B_LARGE_ICON);
+
+       data = (const uint8_t*)res->LoadResource('VICN', "Keymap", &size);
+       IconView* keymapIcon = new IconView(B_LARGE_ICON);
+       keymapIcon->SetIcon(data, size, B_LARGE_ICON);
 
        fLanguagesLabelView = new BStringView("languagesLabel", "");
        fLanguagesLabelView->SetFont(be_bold_font);
        fLanguagesLabelView->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED,
                B_SIZE_UNSET));
 
+       fKeymapsMenuLabel = new BStringView("keymapsLabel", "");
+       fKeymapsMenuLabel->SetFont(be_bold_font);
+       fKeymapsMenuLabel->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED,
+               B_SIZE_UNSET));
+       // Make sure there is enough space to display the text even in verbose
+       // locales, to avoid width changes on language changes
+       float labelWidth = fKeymapsMenuLabel->StringWidth("Disposition du 
clavier")
+               + 16;
+       fKeymapsMenuLabel->SetExplicitMinSize(BSize(labelWidth, B_SIZE_UNSET));
+
        fLanguagesListView = new BListView();
-       fLanguagesListView->SetFlags(
-               fLanguagesListView->Flags() | B_FULL_UPDATE_ON_RESIZE);
-               // Our ListItem rendering depends on the width of the view, so
-               // we need a full update
        BScrollView* languagesScrollView = new BScrollView("languagesScroll",
                fLanguagesListView, B_WILL_DRAW, false, true);
 
+       // Carefully designed to not exceed the 640x480 resolution with a 12pt 
font.
+       float width = 640 - (labelWidth + 96);
+       float height = be_plain_font->Size() * 23;
+       fInfoTextView->SetExplicitMinSize(BSize(width, height));
+       fInfoTextView->SetExplicitMaxSize(BSize(width, B_SIZE_UNSET));
+
        // Make sure the language list view is always wide enough to show the
-       // largest language, with some extra space
-       fLanguagesListView->SetExplicitSize(
-               BSize(fLanguagesListView->StringWidth("Portuguese (Brazil)") + 
32,
+       // largest language
+       fLanguagesListView->SetExplicitMinSize(
+               BSize(fLanguagesListView->StringWidth("Portugu√™s (Brasil)"),
                height));
 
        fKeymapsMenuField = new BMenuField("", "", new BMenu(""));
@@ -206,29 +210,33 @@ BootPromptWindow::BootPromptWindow()
        _PopulateLanguages();
        _PopulateKeymaps();
 
-       BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
-               .AddGroup(B_HORIZONTAL)
-                       .Add(fLanguagesLabelView)
-                       .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
-                               B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING)
-               .End()
-               .AddGroup(B_HORIZONTAL)
+       BLayoutBuilder::Group<>(this, B_HORIZONTAL)
+               .SetInsets(B_USE_WINDOW_SPACING)
+               .AddGroup(B_VERTICAL, 0)
+                       .SetInsets(0, 0, 0, B_USE_SMALL_SPACING)
+                       .AddGroup(B_HORIZONTAL)
+                               .Add(languageIcon)
+                               .Add(fLanguagesLabelView)
+                               .SetInsets(0, 0, 0, B_USE_SMALL_SPACING)
+                       .End()
                        .Add(languagesScrollView)
-                       .Add(fInfoTextView)
-                       .SetInsets(B_USE_WINDOW_SPACING, 0)
-               .End()
-               .AddGroup(B_HORIZONTAL)
+                       .AddGroup(B_HORIZONTAL)
+                               .Add(keymapIcon)
+                               .Add(fKeymapsMenuLabel)
+                               .SetInsets(0, B_USE_DEFAULT_SPACING, 0,
+                                       B_USE_SMALL_SPACING)
+                       .End()
                        .Add(fKeymapsMenuField)
-                       .AddGlue()
-                       .SetInsets(B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING)
                .End()
-               .Add(new BSeparatorView(B_HORIZONTAL))
-               .AddGroup(B_HORIZONTAL)
-                       .AddGlue()
-                       .Add(fInstallerButton)
-                       .Add(fDesktopButton)
-                       .SetInsets(B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING,
-                               B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING)
+               .AddGroup(B_VERTICAL)
+                       .SetInsets(0)
+                       .Add(fInfoTextView)
+                       .AddGroup(B_HORIZONTAL)
+                               .SetInsets(0)
+                               .AddGlue()
+                               .Add(fInstallerButton)
+                               .Add(fDesktopButton)
+                       .End()
                .End();
 
        fLanguagesListView->MakeFocus();
@@ -328,7 +336,7 @@ BootPromptWindow::_UpdateStrings()
        fInstallerButton->SetLabel(B_TRANSLATE("Run Installer"));
 
        fLanguagesLabelView->SetText(B_TRANSLATE("Language"));
-       fKeymapsMenuField->SetLabel(B_TRANSLATE("Keymap"));
+       fKeymapsMenuLabel->SetText(B_TRANSLATE("Keymap"));
        if (fKeymapsMenuField->Menu()->FindMarked() == NULL)
                fKeymapsMenuField->MenuItem()->SetLabel(B_TRANSLATE("Custom"));
 }
diff --git a/src/apps/firstbootprompt/BootPromptWindow.h 
b/src/apps/firstbootprompt/BootPromptWindow.h
index 255ee49acb..d3088ab0af 100644
--- a/src/apps/firstbootprompt/BootPromptWindow.h
+++ b/src/apps/firstbootprompt/BootPromptWindow.h
@@ -38,6 +38,7 @@ private:
 private:
                        BTextView*                      fInfoTextView;
                        BStringView*            fLanguagesLabelView;
+                       BStringView*            fKeymapsMenuLabel;
                        BListView*                      fLanguagesListView;
                        BMenuField*                     fKeymapsMenuField;
                        BMenuItem*                      fDefaultKeymapItem;
diff --git a/src/kits/shared/IconView.cpp b/src/kits/shared/IconView.cpp
index 5fdb0edf11..1fa696cd73 100644
--- a/src/kits/shared/IconView.cpp
+++ b/src/kits/shared/IconView.cpp
@@ -1,5 +1,11 @@
-// Author: Michael Wilber
-// Copyright (C) Haiku, uses the MIT license
+/*
+ * Copyright 2004-2020, Haiku, Inc.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             Adrien Destugues, pulkomandy@xxxxxxxxxxxxx
+ *             Michael Wilber
+ */
 
 
 #include "IconView.h"
@@ -9,6 +15,7 @@
 #include <string.h>
 
 #include <Entry.h>
+#include <IconUtils.h>
 #include <Node.h>
 #include <NodeInfo.h>
 
@@ -72,6 +79,40 @@ IconView::SetIcon(const BPath& path, icon_size iconSize)
 }
 
 
+status_t
+IconView::SetIcon(const uint8_t* data, size_t size, icon_size iconSize)
+{
+       fDrawIcon = false;
+       
+       if (iconSize != fIconSize) {
+               BBitmap* bitmap = new BBitmap(BRect(iconSize), B_RGBA32);
+               if (bitmap == NULL)
+                       return B_NO_MEMORY;
+
+               delete fIconBitmap;
+               fIconBitmap = bitmap;
+               fIconSize = iconSize;
+       }
+
+       status_t status = fIconBitmap->InitCheck();
+       if (status != B_OK)
+               return status;
+
+       status = BIconUtils::GetVectorIcon(data, size, fIconBitmap);
+       if (status != B_OK)
+               return status;
+
+       if (!fIconBitmap->IsValid())
+               return fIconBitmap->InitCheck();
+
+       _SetSize();
+
+       fDrawIcon = true;
+       Invalidate();
+       return B_OK;
+}
+
+
 void
 IconView::DrawIcon(bool draw)
 {


Other related posts:

  • » [haiku-commits] haiku: hrev54114 - in src: apps/firstbootprompt kits/shared - waddlesplash