small contact list and status text
This commit is contained in:
@ -215,19 +215,24 @@ bool renderContactBig(
|
||||
p0.y += ImGui::GetStyle().FramePadding.y;
|
||||
ImVec2 p1_o = {img_y, img_y}; // img_y is 1 line_height in this case
|
||||
|
||||
const ImU32 col_back = ImGui::GetColorU32(th.getColor<ThemeCol_Contact::icon_backdrop>());
|
||||
if (cstate->state == Contact::Components::ConnectionState::direct) { // direct icon
|
||||
const ImU32 col_back = ImGui::GetColorU32({0.0f, 0.0f, 0.0f, 0.4f});
|
||||
const ImU32 col_main = ImGui::GetColorU32({0.0f, 1.f, 0.0f, 1.0f});
|
||||
|
||||
drawIconDirect(p0, p1_o, col_main, col_back);
|
||||
drawIconDirect(
|
||||
p0,
|
||||
p1_o,
|
||||
ImGui::GetColorU32(th.getColor<ThemeCol_Contact::avatar_online_direct>()),
|
||||
col_back
|
||||
);
|
||||
} else if (cstate->state == Contact::Components::ConnectionState::cloud) { // cloud icon
|
||||
const ImU32 col_back = ImGui::GetColorU32({0.0f, 0.0f, 0.0f, 0.4f});
|
||||
const ImU32 col_main = ImGui::GetColorU32({0.0f, 1.f, 0.0f, 1.0f});
|
||||
|
||||
drawIconCloud(p0, p1_o, col_main, col_back);
|
||||
drawIconCloud(
|
||||
p0,
|
||||
p1_o,
|
||||
ImGui::GetColorU32(th.getColor<ThemeCol_Contact::avatar_online_cloud>()),
|
||||
col_back
|
||||
);
|
||||
}
|
||||
ImGui::Dummy(p1_o);
|
||||
ImGui::SameLine();
|
||||
ImGui::SameLine(0.f, ImGui::GetStyle().ItemSpacing.x*0.5f);
|
||||
}
|
||||
|
||||
ImGui::Text("%s%s", unread?"* ":"", (c.all_of<Contact::Components::Name>() ? c.get<Contact::Components::Name>().name.c_str() : "<unk>"));
|
||||
@ -247,22 +252,39 @@ bool renderContactBig(
|
||||
const float box_hight = TEXT_BASE_HEIGHT - ImGui::GetStyle().FramePadding.y*2;
|
||||
ImVec2 p1_o = {box_hight, box_hight};
|
||||
|
||||
const ImU32 col_back = ImGui::GetColorU32(th.getColor<ThemeCol_Contact::icon_backdrop>());
|
||||
if (cstate->state == Contact::Components::ConnectionState::direct) { // direct icon
|
||||
const ImU32 col_back = ImGui::GetColorU32({0.0f, 0.0f, 0.0f, 0.4f});
|
||||
const ImU32 col_main = ImGui::GetColorU32({0.0f, 1.f, 0.0f, 1.0f});
|
||||
|
||||
drawIconDirect(p0, p1_o, col_main, col_back);
|
||||
drawIconDirect(
|
||||
p0,
|
||||
p1_o,
|
||||
ImGui::GetColorU32(th.getColor<ThemeCol_Contact::avatar_online_direct>()),
|
||||
col_back
|
||||
);
|
||||
} else if (cstate->state == Contact::Components::ConnectionState::cloud) { // cloud icon
|
||||
const ImU32 col_back = ImGui::GetColorU32({0.0f, 0.0f, 0.0f, 0.4f});
|
||||
const ImU32 col_main = ImGui::GetColorU32({0.0f, 1.f, 0.0f, 1.0f});
|
||||
|
||||
drawIconCloud(p0, p1_o, col_main, col_back);
|
||||
drawIconCloud(
|
||||
p0,
|
||||
p1_o,
|
||||
ImGui::GetColorU32(th.getColor<ThemeCol_Contact::avatar_online_cloud>()),
|
||||
col_back
|
||||
);
|
||||
}
|
||||
ImGui::Dummy(p1_o);
|
||||
ImGui::SameLine();
|
||||
ImGui::SameLine(0.f, ImGui::GetStyle().ItemSpacing.x*0.5f);
|
||||
}
|
||||
|
||||
ImGui::TextDisabled("status message...");
|
||||
if (
|
||||
const auto* slt = c.try_get<Contact::Components::StatusText>();
|
||||
slt != nullptr &&
|
||||
!slt->text.empty() &&
|
||||
slt->first_line_length > 0 &&
|
||||
slt->first_line_length <= slt->text.size()
|
||||
) {
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, ImGui::GetStyle().Colors[ImGuiCol_TextDisabled]);
|
||||
ImGui::TextUnformatted(slt->text.c_str(), slt->text.c_str() + slt->first_line_length);
|
||||
ImGui::PopStyleColor();
|
||||
} else {
|
||||
ImGui::TextDisabled(""); // or dummy?
|
||||
}
|
||||
}
|
||||
|
||||
// line 3
|
||||
|
Reference in New Issue
Block a user