Network preferences: Use BControlLook::ComposeIconSize().

This commit is contained in:
Augustin Cavalier
2022-08-26 17:44:26 -04:00
parent a57bf2191b
commit 355827ad33
+20 -21
View File
@@ -24,9 +24,6 @@
#include <String.h> #include <String.h>
#define ICON_SIZE 32
#undef B_TRANSLATION_CONTEXT #undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "InterfaceListItem" #define B_TRANSLATION_CONTEXT "InterfaceListItem"
@@ -81,6 +78,7 @@ InterfaceListItem::DrawItem(BView* owner, BRect bounds, bool complete)
} }
BBitmap* stateIcon = _StateIcon(); BBitmap* stateIcon = _StateIcon();
const int32 stateIconWidth = stateIcon->Bounds().IntegerWidth() + 1;
const char* stateText = _StateText(); const char* stateText = _StateText();
// Set the initial bounds of item contents // Set the initial bounds of item contents
@@ -90,8 +88,8 @@ InterfaceListItem::DrawItem(BView* owner, BRect bounds, bool complete)
- BPoint(be_plain_font->StringWidth(stateText) - BPoint(be_plain_font->StringWidth(stateText)
+ be_control_look->DefaultLabelSpacing(), 0); + be_control_look->DefaultLabelSpacing(), 0);
BPoint namePoint = bounds.LeftTop() BPoint namePoint = bounds.LeftTop()
+ BPoint(ICON_SIZE + (be_control_look->DefaultLabelSpacing() * 2), + BPoint(stateIconWidth + (be_control_look->DefaultLabelSpacing() * 2),
fFirstLineOffset); fFirstLineOffset);
if (fDisabled) { if (fDisabled) {
owner->SetDrawingMode(B_OP_ALPHA); owner->SetDrawingMode(B_OP_ALPHA);
@@ -128,7 +126,7 @@ InterfaceListItem::DrawItem(BView* owner, BRect bounds, bool complete)
owner->DrawString(stateText, statePoint); owner->DrawString(stateText, statePoint);
BPoint linePoint = bounds.LeftTop() BPoint linePoint = bounds.LeftTop()
+ BPoint(ICON_SIZE + (be_control_look->DefaultLabelSpacing() * 2), + BPoint(stateIconWidth + (be_control_look->DefaultLabelSpacing() * 2),
fFirstLineOffset + fLineOffset); fFirstLineOffset + fLineOffset);
owner->DrawString(fSubtitle, linePoint); owner->DrawString(fSubtitle, linePoint);
@@ -206,27 +204,28 @@ InterfaceListItem::_PopulateBitmaps(const char* mediaType)
BResources* resources = BApplication::AppResources(); BResources* resources = BApplication::AppResources();
size_t iconSize; size_t iconDataSize;
// Try specific interface icon? // Try specific interface icon?
interfaceHVIF = (const uint8*)resources->LoadResource( interfaceHVIF = (const uint8*)resources->LoadResource(
B_VECTOR_ICON_TYPE, Name(), &iconSize); B_VECTOR_ICON_TYPE, Name(), &iconDataSize);
if (interfaceHVIF == NULL && mediaType != NULL) if (interfaceHVIF == NULL && mediaType != NULL)
// Not found, try interface media type? // Not found, try interface media type?
interfaceHVIF = (const uint8*)resources->LoadResource( interfaceHVIF = (const uint8*)resources->LoadResource(
B_VECTOR_ICON_TYPE, mediaType, &iconSize); B_VECTOR_ICON_TYPE, mediaType, &iconDataSize);
if (interfaceHVIF == NULL) if (interfaceHVIF == NULL)
// Not found, try default interface icon? // Not found, try default interface icon?
interfaceHVIF = (const uint8*)resources->LoadResource( interfaceHVIF = (const uint8*)resources->LoadResource(
B_VECTOR_ICON_TYPE, "ether", &iconSize); B_VECTOR_ICON_TYPE, "ether", &iconDataSize);
const BSize iconSize = be_control_look->ComposeIconSize(B_LARGE_ICON);
if (interfaceHVIF != NULL) { if (interfaceHVIF != NULL) {
// Now build the bitmap // Now build the bitmap
interfaceBitmap = new(std::nothrow) BBitmap( interfaceBitmap = new(std::nothrow) BBitmap(
BRect(0, 0, ICON_SIZE, ICON_SIZE), 0, B_RGBA32); BRect(BPoint(0, 0), iconSize), 0, B_RGBA32);
if (BIconUtils::GetVectorIcon(interfaceHVIF, if (BIconUtils::GetVectorIcon(interfaceHVIF,
iconSize, interfaceBitmap) == B_OK) iconDataSize, interfaceBitmap) == B_OK)
fIcon = interfaceBitmap; fIcon = interfaceBitmap;
else else
delete interfaceBitmap; delete interfaceBitmap;
@@ -234,39 +233,39 @@ InterfaceListItem::_PopulateBitmaps(const char* mediaType)
// Load possible state icons // Load possible state icons
offlineHVIF = (const uint8*)resources->LoadResource( offlineHVIF = (const uint8*)resources->LoadResource(
B_VECTOR_ICON_TYPE, "offline", &iconSize); B_VECTOR_ICON_TYPE, "offline", &iconDataSize);
if (offlineHVIF != NULL) { if (offlineHVIF != NULL) {
offlineBitmap = new(std::nothrow) BBitmap( offlineBitmap = new(std::nothrow) BBitmap(
BRect(0, 0, ICON_SIZE, ICON_SIZE), 0, B_RGBA32); BRect(BPoint(0, 0), iconSize), 0, B_RGBA32);
if (BIconUtils::GetVectorIcon(offlineHVIF, if (BIconUtils::GetVectorIcon(offlineHVIF,
iconSize, offlineBitmap) == B_OK) iconDataSize, offlineBitmap) == B_OK)
fIconOffline = offlineBitmap; fIconOffline = offlineBitmap;
else else
delete offlineBitmap; delete offlineBitmap;
} }
pendingHVIF = (const uint8*)resources->LoadResource( pendingHVIF = (const uint8*)resources->LoadResource(
B_VECTOR_ICON_TYPE, "pending", &iconSize); B_VECTOR_ICON_TYPE, "pending", &iconDataSize);
if (pendingHVIF != NULL) { if (pendingHVIF != NULL) {
pendingBitmap = new(std::nothrow) BBitmap( pendingBitmap = new(std::nothrow) BBitmap(
BRect(0, 0, ICON_SIZE, ICON_SIZE), 0, B_RGBA32); BRect(BPoint(0, 0), iconSize), 0, B_RGBA32);
if (BIconUtils::GetVectorIcon(pendingHVIF, if (BIconUtils::GetVectorIcon(pendingHVIF,
iconSize, pendingBitmap) == B_OK) iconDataSize, pendingBitmap) == B_OK)
fIconPending = pendingBitmap; fIconPending = pendingBitmap;
else else
delete pendingBitmap; delete pendingBitmap;
} }
onlineHVIF = (const uint8*)resources->LoadResource( onlineHVIF = (const uint8*)resources->LoadResource(
B_VECTOR_ICON_TYPE, "online", &iconSize); B_VECTOR_ICON_TYPE, "online", &iconDataSize);
if (onlineHVIF != NULL) { if (onlineHVIF != NULL) {
onlineBitmap = new(std::nothrow) BBitmap( onlineBitmap = new(std::nothrow) BBitmap(
BRect(0, 0, ICON_SIZE, ICON_SIZE), 0, B_RGBA32); BRect(BPoint(0, 0), iconSize), 0, B_RGBA32);
if (BIconUtils::GetVectorIcon(onlineHVIF, if (BIconUtils::GetVectorIcon(onlineHVIF,
iconSize, onlineBitmap) == B_OK) iconDataSize, onlineBitmap) == B_OK)
fIconOnline = onlineBitmap; fIconOnline = onlineBitmap;
else else
delete onlineBitmap; delete onlineBitmap;