Add vector icons
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33490 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,70 +0,0 @@
|
||||
|
||||
resource(0, "loop") #'ICON' array {
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFF008C8C8C00FFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFF008C8C8C8CD3000EFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFF008C8C8C8CD3D3000E0EFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFF008C8C8C8CD3D3D3000E0EFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFF008C8C8C8CD3D3D3000E0EFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFF008C8C8C8CD3D3D3000E0EFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFF008C8C8C8CD3D3D3000E0EFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFF008C8C8C8CD3D3D3000E0EFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFF008C8C8C8CD3D3D3000E0EFFFF0000000000000000000002FFFF"
|
||||
$"FFFFFFFFFF008C8C8C8CD3D3D3000E0EFFFFFF003F8C8C8C8C8C8C8C8C00FFFF"
|
||||
$"FFFFFFFF008C8C8C8CD3D3D3000E0EFFFFFFFF00663F8C8C8C8C8C8C8C000E0E"
|
||||
$"FFFFFF008C8C8C8CD3D3D5000E0EFFFFFFFFFF006666008C8C8C8C8C8C000E0E"
|
||||
$"FFFF008C8C8C8C00D5D5000E0EFFFFFFFFFFFFFF00008C8C8C8C3F8C8C000E0E"
|
||||
$"FFFF003F8C8C8C8C00000E0EFFFFFFFFFFFFFFFF008C8C8C8CD3663F8C000E0E"
|
||||
$"FFFF00663F8C8C8C8C000EFFFFFFFFFFFFFFFF008C8C8C8CD3D366663F000E0E"
|
||||
$"FFFF0066663F8C8C8C8C00FFFFFFFFFFFFFF008C8C8C8CD3D3D3006666290E0E"
|
||||
$"FFFFFF0066663F8C8C8C8C00FFFFFFFFFF008C8C8C8CD3D3D3000E0066290E0E"
|
||||
$"FFFFFFFF0066663F8C8C8C8C00FFFFFF008C8C8C8CD3D3D3000E0EFF00000E0E"
|
||||
$"FFFFFFFFFF0066663F8C8C8C8C00FF008C8C8C8CD3D3D3000E0EFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFF0066663F8C8C8C8C008C8C8C8CD3D3D3000E0EFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFF0066663F8C8C8C8C8C8C8CD3D3D3000E0EFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFF0066663F8C8C8C8C8CD3D3D3000E0EFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFF0066663F8C8C8CD3D3D3000E0EFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFF0066663F8CD3D3D3000E0EFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFF006666D3D3D3000E0EFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFF0066D3D3000E0EFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFF0000000E0EFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
};
|
||||
|
||||
resource(1, "generic_device") #'ICON' array {
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF00370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF003737370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF0037FA3737370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF0037FA37FA3737370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF00370037FA37733737370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF003700000037FAFA373737370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF0037FA370037FA37FAFA373737370000FFFFFFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF0037FA37FA37FA0037FA3700373737370000FFFFFFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF003721FAFA37FA0000FA370000FA373737370000FFFFFFFFFFFFFFFFFF"
|
||||
$"FFFFFF003737FA3737FA3700FA373700FA37FAFA37373700000908FFFFFFFFFF"
|
||||
$"FFFFFF0037FAFA37FAFA2137FA37FAFAFA37FA37FAFA3737091B1B08FFFFFFFF"
|
||||
$"FFFFFF0037FA37FA37373721FA37FA37FA37FA3737FA37091B1B08FFFFFFFFFF"
|
||||
$"FFFFFF003737C4C437FAFA373737FA37C437FA373721081B1B0929FFFFFFFFFF"
|
||||
$"FFFFFF0037FA37C4FAFA0037FA37FA37C4C4FAFA37370808081601FFFFFFFFFF"
|
||||
$"FFFFFF0037FA37FA37FA37FA373737FA37C43737FAFA0816161600FFFFFFFFFF"
|
||||
$"FFFFFF00377373FA37FA37FAC437FA37FAFA3737373709160B1601FFFFFFFFFF"
|
||||
$"FFFFFF0037FA37FA372137FA37C437373737FAFA733709160B1601FFFFFFFFFF"
|
||||
$"FFFFFF00003737FA37FA21FA3737FA370D373737FAFA0916161601FFFFFFFFFF"
|
||||
$"FFFFFF0D0D00003737FA37FAFA37FAFA0D0D3737373708160B1601FFFFFFFFFF"
|
||||
$"FFFFFFFFFF0D0D0100373737FA73FA37370DFAFA373707160B1601FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFF0D0D010038FA37FA373737FA37FAFA0816161600FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFF0D0D010038FA37FA37FA3737370916161601FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFF0D0D010037FA37FA37C4370716161600FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFF0D0D000037FA0000370816161600FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D0D00000DFF000816161600FFFFFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D0D0DFFFF00161616010D0DFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00161616010D0D0D0DFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D0016010D0D0D0DFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D010D0D0D0DFFFFFF"
|
||||
$"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D0D0DFFFFFFFFFF"
|
||||
};
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright 2009, Haiku. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Philippe Houdoin
|
||||
*/
|
||||
|
||||
resource(0, "ether") #'VICN' array {
|
||||
$"6E6369661402001202B824AC3806CBBA4336BA6493473BC54BC7420000FFFF00"
|
||||
$"0002000202B824AC3806CBBA4336BA6493473BC54BC74200FFCC00FFFFFFCC00"
|
||||
$"0002000202B824AC3806CBBA4336BA6493473BC54BC74200FF7E00FFFFFF7E00"
|
||||
$"0002000202B824AC3806CBBA4336BA6493473BC54BC74200CA5A00FFFFCA5A00"
|
||||
$"000500020016023399B4B75BF1375BF13399B44AD48948E8EF00B2FFE5020016"
|
||||
$"02318347B546FD3546FD3183474B45EA4773A900B2FFE5020006043A40000000"
|
||||
$"000000003A40004B300049D000006F8793536A7883A6A4B2BDFF7C8A94020016"
|
||||
$"02307296B448A03448A03072964B41B24733780040FF800200160232EF4FB6BD"
|
||||
$"0436BD0432EF4F4ADA2D48BAFA0040FF800200160238A00000000000000038A0"
|
||||
$"004B340048400000BFFF8C05AF02001602000000B680003840000000004B0800"
|
||||
$"46E00000CCFFFF02001602000000B810003810000000004AC00047A80000CCFF"
|
||||
$"FF020016023910000000000000003910004A8E0048BD4B0080FFA30200060236"
|
||||
$"EE70377E56B77E5636EE704997264AB18000FF8000FFB60D040200060238B328"
|
||||
$"36361FB7483A3A00E74951A949ABFE00FFDE00FFFFA20002000603385FFB385F"
|
||||
$"FBB85FFB385FFB49E80449E80100FFAE00BFE05D00FF99000002000603385FFB"
|
||||
$"385FFBB85FFB385FFB49A8044A140000FFC105C1C05405FF720303020106033A"
|
||||
$"42EC0000000000003985D949DFFB4840045AFFCA00B5FF8A00FDCA4700170802"
|
||||
$"3151255D0606AE0B4030363A363A323E2F4F3353464A424E464A50400A0BC91D"
|
||||
$"B795C983B72F5426C730B5A751254E284D27C214B8A1C00CB9AC4E3E5C300A04"
|
||||
$"4D2742324A3A552F0A0451254E285630592D0A06592D5630552F4A3A4E3E5C30"
|
||||
$"0A04542E572B5327502A0A08C487B893453547374E304F31532D4F294B2D0A06"
|
||||
$"C983B72F582A4E2F4EB92D572BC91DB7950A044A2B4E2F4EB92D4AB7950A0454"
|
||||
$"264A2B4E2F582A0A044DB72FC00CB9ACC0D8BA784FB7FB0A04C0D8BA78C0F9BA"
|
||||
$"9A4F2D4FB7FB0606AE0B4A3A404440443C4831513353464A424E464A50400606"
|
||||
$"AE0B4030363A363A323E2F4F315140443C4840444A3A0205483C483C473D3C39"
|
||||
$"413D3E3B433B413B453B4939483A49394C3C4C3C4B3D0606FF0B3C2F3C2F3B30"
|
||||
$"3A333A323A343C393A373E3B433B413B453B4939483A4939BECDB87A08022F4E"
|
||||
$"34530802304C3652080230493851080231473A50080231443C4F080232423E4E"
|
||||
$"150A0001001001178800040A040201101001178300040A040102100117830004"
|
||||
$"0A010100301F1F01178200040A0201001001178200040A030100302121011782"
|
||||
$"00040A050103000A060104000A070105000A080106000A090107000A0A010800"
|
||||
$"0A0B0109000A0C010A000A0D010B000A0E010C000A0F010D000A10010E000A11"
|
||||
$"010F000A130110000A1206111213141516100117810004"
|
||||
};
|
||||
|
||||
resource(1, "wifi") #'VICN' array {
|
||||
$"6E636966060501020106023AC13B376E9EBA3AF53D9492491C574943F200F0F7"
|
||||
$"FDFFAEBFD0020106023A77ECB52AD8B7CD04BCF64E4A7F6A4A8A3F008FA0B1FF"
|
||||
$"677788020106043A40000000000000003A4000494000450000D06777889C8EA5"
|
||||
$"BC00FFFFFFFF8EA5BC02030203000000B9000039000000000049800046000055"
|
||||
$"FF050500D2FF0606007CFF0606FF04007208080328543C2A405E0803405E3C2A"
|
||||
$"5050080A3E562C4E3E4A30443C40343C3C3A37373C343932080A40564C4A3E4A"
|
||||
$"48423E40443A3E3A41353E34403202043C223F22392236283625362B3C2E392E"
|
||||
$"3F2E4228422B4225080328545C5A405E08033A4A5C5A505002025B585F585758"
|
||||
$"5B5C575C5F5C080A0401041243B3CF00000000000043B3CFCC5D55C8B3CF0317"
|
||||
$"84000417820004178100040A05030506071001178422040A0002010310011786"
|
||||
$"22040A000200021001178622040A020201031001178222040A01020002100117"
|
||||
$"8222040A0001041001178400040A03010400"
|
||||
};
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <sys/socket.h>
|
||||
#include <sys/sockio.h>
|
||||
|
||||
#include <IconUtils.h>
|
||||
#include <File.h>
|
||||
#include <Resources.h>
|
||||
|
||||
@@ -182,6 +183,18 @@ InterfaceListItem::_InitIcon()
|
||||
{
|
||||
BBitmap* icon = NULL;
|
||||
|
||||
const char* mediaTypeName = "";
|
||||
int media = fSetting->Media();
|
||||
printf("%s media = 0x%x\n", Name(), media);
|
||||
switch (IFM_TYPE(media)) {
|
||||
case IFM_ETHER:
|
||||
mediaTypeName = "ether";
|
||||
break;
|
||||
case IFM_IEEE80211:
|
||||
mediaTypeName = "wifi";
|
||||
break;
|
||||
}
|
||||
|
||||
image_info info;
|
||||
if (our_image(info) != B_OK)
|
||||
return;
|
||||
@@ -195,16 +208,23 @@ InterfaceListItem::_InitIcon()
|
||||
return;
|
||||
|
||||
size_t size;
|
||||
const void *data = resources.LoadResource('ICON', Name(), &size);
|
||||
if (!data)
|
||||
data = resources.LoadResource('ICON', "generic_device", &size);
|
||||
// Try specific interface icon?
|
||||
const uint8* rawIcon = (const uint8*)resources.LoadResource(B_VECTOR_ICON_TYPE, Name(), &size);
|
||||
if (!rawIcon)
|
||||
// Not found, try interface media type?
|
||||
rawIcon = (const uint8*)resources.LoadResource(B_VECTOR_ICON_TYPE, mediaTypeName, &size);
|
||||
if (!rawIcon)
|
||||
// Not found, try default interface icon?
|
||||
rawIcon = (const uint8*)resources.LoadResource(B_VECTOR_ICON_TYPE, "wifi", &size);
|
||||
|
||||
if (data) {
|
||||
if (rawIcon) {
|
||||
// Now build the bitmap
|
||||
icon = new BBitmap(BRect(0, 0, 31, 31), B_CMAP8);
|
||||
icon->SetBits(data, size, 0, B_CMAP8);
|
||||
icon = new BBitmap(BRect(0, 0, 31, 31), 0, B_RGBA32);
|
||||
if (BIconUtils::GetVectorIcon(rawIcon, size, icon) == B_OK)
|
||||
fIcon = icon;
|
||||
else
|
||||
delete icon;
|
||||
}
|
||||
fIcon = icon;
|
||||
}
|
||||
|
||||
// #pragma mark -
|
||||
@@ -311,8 +331,10 @@ InterfacesListView::_InitList()
|
||||
MakeEmpty();
|
||||
|
||||
for (uint32 i = 0; i < count; i++) {
|
||||
AddItem(new InterfaceListItem(interface->ifr_name));
|
||||
// printf("Name = %s\n", interface->ifr_name);
|
||||
// if (strcmp(interface->ifr_name, "loop") != 0) {
|
||||
AddItem(new InterfaceListItem(interface->ifr_name));
|
||||
// printf("Name = %s\n", interface->ifr_name);
|
||||
// }
|
||||
interface = (ifreq*)((addr_t)interface + IF_NAMESIZE
|
||||
+ interface->ifr_addr.sa_len);
|
||||
}
|
||||
|
||||
@@ -4,9 +4,10 @@ UseHeaders [ FDirName $(HAIKU_TOP) src tests kits net preflet ] ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src servers net ] : true ;
|
||||
|
||||
UsePrivateHeaders net shared ;
|
||||
UseLibraryHeaders agg icon ;
|
||||
|
||||
AddResources Interfaces :
|
||||
Icons.rdef
|
||||
InterfacesIcons.rdef
|
||||
;
|
||||
|
||||
Addon Interfaces :
|
||||
@@ -18,7 +19,8 @@ Addon Interfaces :
|
||||
:
|
||||
be
|
||||
<nogrist>NetworkSetup
|
||||
$(HAIKU_NETWORK_LIBS)
|
||||
$(TARGET_LIBSTDC++)
|
||||
$(TARGET_NETWORK_LIBS)
|
||||
$(TARGET_LIBSUPC++)
|
||||
libicon.a libagg.a
|
||||
;
|
||||
|
||||
|
||||
@@ -147,6 +147,9 @@ Setting::ReadConfiguration()
|
||||
flags = request.ifr_flags;
|
||||
|
||||
fAuto = flags & IFF_AUTO_CONFIGURED;
|
||||
|
||||
if (ioctl(fSocket, SIOCGIFMEDIA, &request, sizeof(struct ifreq)) == 0)
|
||||
fMedia = request.ifr_media;
|
||||
|
||||
// read resolv.conf for the dns.
|
||||
fNameservers.MakeEmpty();
|
||||
|
||||
@@ -26,19 +26,22 @@ class Setting {
|
||||
const char* Gateway() {return fGateway.String(); }
|
||||
const char* Netmask() {return fNetmask.String(); }
|
||||
const char* Name() {return fName.String(); }
|
||||
bool AutoConfigured() {return fAuto; }
|
||||
bool AutoConfigured() {return fAuto; }
|
||||
int Media() { return fMedia; }
|
||||
BObjectList<BString> fNameservers;
|
||||
void ReadConfiguration();
|
||||
|
||||
|
||||
private:
|
||||
bool _PrepareRequest(struct ifreq& request);
|
||||
bool _PrepareRequest(struct ifreq& request);
|
||||
|
||||
int fSocket;
|
||||
BString fIP;
|
||||
BString fGateway;
|
||||
BString fNetmask;
|
||||
BString fName;
|
||||
int fSocket;
|
||||
bool fAuto;
|
||||
bool fAuto;
|
||||
int fMedia;
|
||||
};
|
||||
|
||||
#endif /* SETTINGS_H */
|
||||
|
||||
Reference in New Issue
Block a user