mirror of
https://github.com/scorpion-26/gBar.git
synced 2024-11-22 03:02:49 +00:00
Add Bluetooth tooltips
This commit is contained in:
parent
8b88051659
commit
7b91486441
4 changed files with 32 additions and 7 deletions
17
src/Bar.cpp
17
src/Bar.cpp
|
@ -99,7 +99,7 @@ namespace Bar
|
||||||
btIconText->SetClass("bt-label-connected");
|
btIconText->SetClass("bt-label-connected");
|
||||||
btIconText->SetText("");
|
btIconText->SetText("");
|
||||||
std::string btDev;
|
std::string btDev;
|
||||||
|
std::string tooltip;
|
||||||
for (auto& dev : info.devices)
|
for (auto& dev : info.devices)
|
||||||
{
|
{
|
||||||
std::string ico = " ";
|
std::string ico = " ";
|
||||||
|
@ -115,9 +115,13 @@ namespace Bar
|
||||||
{
|
{
|
||||||
ico = " ";
|
ico = " ";
|
||||||
}
|
}
|
||||||
|
tooltip += dev.name + " & ";
|
||||||
btDev += ico;
|
btDev += ico;
|
||||||
}
|
}
|
||||||
|
// Delete last delim
|
||||||
|
if (tooltip.size())
|
||||||
|
tooltip.erase(tooltip.end() - 3, tooltip.end());
|
||||||
|
btDevText->SetTooltip(tooltip);
|
||||||
btDevText->SetText(std::move(btDev));
|
btDevText->SetText(std::move(btDev));
|
||||||
}
|
}
|
||||||
return TimerResult::Ok;
|
return TimerResult::Ok;
|
||||||
|
@ -380,10 +384,11 @@ namespace Bar
|
||||||
{
|
{
|
||||||
auto workspace = Widget::Create<Button>();
|
auto workspace = Widget::Create<Button>();
|
||||||
workspace->SetHorizontalTransform({8, false, Alignment::Fill});
|
workspace->SetHorizontalTransform({8, false, Alignment::Fill});
|
||||||
workspace->OnClick([i](Button&)
|
workspace->OnClick(
|
||||||
{
|
[i](Button&)
|
||||||
System::GotoWorkspace((uint32_t)i + 1);
|
{
|
||||||
});
|
System::GotoWorkspace((uint32_t)i + 1);
|
||||||
|
});
|
||||||
DynCtx::workspaces[i] = workspace.get();
|
DynCtx::workspaces[i] = workspace.get();
|
||||||
box->AddChild(std::move(workspace));
|
box->AddChild(std::move(workspace));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,15 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#define UNUSED [[maybe_unused]]
|
#define UNUSED [[maybe_unused]]
|
||||||
#define LOG(x) std::cout << x << '\n'
|
#define LOG(x) std::cout << x << '\n'
|
||||||
#define ASSERT(x, log) if (!(x)) { LOG(log << "\n[Exiting due to assert failed]"); exit(-1); }
|
#define ASSERT(x, log) \
|
||||||
|
if (!(x)) \
|
||||||
|
{ \
|
||||||
|
LOG(log << "\n[Exiting due to assert failed]"); \
|
||||||
|
exit(-1); \
|
||||||
|
}
|
||||||
|
|
||||||
// Flag helper macros
|
// Flag helper macros
|
||||||
#define BIT(x) (1 << (x))
|
#define BIT(x) (1 << (x))
|
||||||
|
|
|
@ -66,6 +66,15 @@ void Widget::SetHorizontalTransform(const Transform& transform)
|
||||||
m_HorizontalTransform = transform;
|
m_HorizontalTransform = transform;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Widget::SetTooltip(const std::string& tooltip)
|
||||||
|
{
|
||||||
|
if (m_Widget)
|
||||||
|
{
|
||||||
|
gtk_widget_set_tooltip_text(m_Widget, tooltip.c_str());
|
||||||
|
}
|
||||||
|
m_Tooltip = tooltip;
|
||||||
|
}
|
||||||
|
|
||||||
void Widget::AddChild(std::unique_ptr<Widget>&& widget)
|
void Widget::AddChild(std::unique_ptr<Widget>&& widget)
|
||||||
{
|
{
|
||||||
m_Childs.push_back(std::move(widget));
|
m_Childs.push_back(std::move(widget));
|
||||||
|
@ -82,6 +91,8 @@ void Widget::ApplyPropertiesToWidget()
|
||||||
auto style = gtk_widget_get_style_context(m_Widget);
|
auto style = gtk_widget_get_style_context(m_Widget);
|
||||||
gtk_style_context_add_class(style, m_CssClass.c_str());
|
gtk_style_context_add_class(style, m_CssClass.c_str());
|
||||||
|
|
||||||
|
gtk_widget_set_tooltip_text(m_Widget, m_Tooltip.c_str());
|
||||||
|
|
||||||
// Apply transform
|
// Apply transform
|
||||||
gtk_widget_set_size_request(m_Widget, m_HorizontalTransform.size, m_VerticalTransform.size);
|
gtk_widget_set_size_request(m_Widget, m_HorizontalTransform.size, m_VerticalTransform.size);
|
||||||
gtk_widget_set_halign(m_Widget, Utils::ToGtkAlign(m_HorizontalTransform.alignment));
|
gtk_widget_set_halign(m_Widget, Utils::ToGtkAlign(m_HorizontalTransform.alignment));
|
||||||
|
|
|
@ -84,6 +84,7 @@ public:
|
||||||
void SetClass(const std::string& cssClass);
|
void SetClass(const std::string& cssClass);
|
||||||
void SetVerticalTransform(const Transform& transform);
|
void SetVerticalTransform(const Transform& transform);
|
||||||
void SetHorizontalTransform(const Transform& transform);
|
void SetHorizontalTransform(const Transform& transform);
|
||||||
|
void SetTooltip(const std::string& tooltip);
|
||||||
|
|
||||||
virtual void Create() = 0;
|
virtual void Create() = 0;
|
||||||
|
|
||||||
|
@ -126,6 +127,7 @@ protected:
|
||||||
std::vector<std::unique_ptr<Widget>> m_Childs;
|
std::vector<std::unique_ptr<Widget>> m_Childs;
|
||||||
|
|
||||||
std::string m_CssClass;
|
std::string m_CssClass;
|
||||||
|
std::string m_Tooltip;
|
||||||
Transform m_HorizontalTransform; // X
|
Transform m_HorizontalTransform; // X
|
||||||
Transform m_VerticalTransform; // Y
|
Transform m_VerticalTransform; // Y
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue