1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 22:17:42 +00:00

LibDraw: Put all classes in the Gfx namespace

I started adding things to a Draw namespace, but it somehow felt really
wrong seeing Draw::Rect and Draw::Bitmap, etc. So instead, let's rename
the library to LibGfx. :^)
This commit is contained in:
Andreas Kling 2020-02-06 11:56:38 +01:00
parent 939a605334
commit 11580babbf
269 changed files with 1513 additions and 1315 deletions

View file

@ -77,15 +77,15 @@ GUI::Model::ColumnMetadata DevicesModel::column_metadata(int column) const
{
switch (column) {
case Column::Device:
return { 70, TextAlignment::CenterLeft };
return { 70, Gfx::TextAlignment::CenterLeft };
case Column::Major:
return { 32, TextAlignment::CenterRight };
return { 32, Gfx::TextAlignment::CenterRight };
case Column::Minor:
return { 32, TextAlignment::CenterRight };
return { 32, Gfx::TextAlignment::CenterRight };
case Column::ClassName:
return { 120, TextAlignment::CenterLeft };
return { 120, Gfx::TextAlignment::CenterLeft };
case Column::Type:
return { 120, TextAlignment::CenterLeft };
return { 120, Gfx::TextAlignment::CenterLeft };
default:
ASSERT_NOT_REACHED();
}

View file

@ -31,8 +31,8 @@ GraphWidget::GraphWidget(GUI::Widget* parent)
: GUI::Frame(parent)
{
set_frame_thickness(2);
set_frame_shape(FrameShape::Container);
set_frame_shadow(FrameShadow::Sunken);
set_frame_shape(Gfx::FrameShape::Container);
set_frame_shadow(Gfx::FrameShadow::Sunken);
}
GraphWidget::~GraphWidget()
@ -72,7 +72,7 @@ void GraphWidget::paint_event(GUI::PaintEvent& event)
Rect text_rect = inner_rect.shrunken(8, 8);
text_rect.set_height(font().glyph_height());
auto text = text_formatter(m_values.last(), m_max);
painter.draw_text(text_rect.translated(1, 1), text.characters(), TextAlignment::CenterRight, Color::Black);
painter.draw_text(text_rect, text.characters(), TextAlignment::CenterRight, m_text_color);
painter.draw_text(text_rect.translated(1, 1), text.characters(), Gfx::TextAlignment::CenterRight, Color::Black);
painter.draw_text(text_rect, text.characters(), Gfx::TextAlignment::CenterRight, m_text_color);
}
}

View file

@ -62,10 +62,10 @@ MemoryStatsWidget::MemoryStatsWidget(GraphWidget& graph, GUI::Widget* parent)
container->set_size_policy(GUI::SizePolicy::Fixed, GUI::SizePolicy::Fixed);
container->set_preferred_size(275, 12);
auto description_label = GUI::Label::construct(description, container);
description_label->set_font(Font::default_bold_font());
description_label->set_text_alignment(TextAlignment::CenterLeft);
description_label->set_font(Gfx::Font::default_bold_font());
description_label->set_text_alignment(Gfx::TextAlignment::CenterLeft);
auto label = GUI::Label::construct(container);
label->set_text_alignment(TextAlignment::CenterRight);
label->set_text_alignment(Gfx::TextAlignment::CenterRight);
return label;
};

View file

@ -48,14 +48,14 @@ NetworkStatisticsWidget::NetworkStatisticsWidget(GUI::Widget* parent)
m_adapter_table_view->set_size_columns_to_fit_content(true);
Vector<GUI::JsonArrayModel::FieldSpec> net_adapters_fields;
net_adapters_fields.empend("name", "Name", TextAlignment::CenterLeft);
net_adapters_fields.empend("class_name", "Class", TextAlignment::CenterLeft);
net_adapters_fields.empend("mac_address", "MAC", TextAlignment::CenterLeft);
net_adapters_fields.empend("ipv4_address", "IPv4", TextAlignment::CenterLeft);
net_adapters_fields.empend("packets_in", "Pkt In", TextAlignment::CenterRight);
net_adapters_fields.empend("packets_out", "Pkt Out", TextAlignment::CenterRight);
net_adapters_fields.empend("bytes_in", "Bytes In", TextAlignment::CenterRight);
net_adapters_fields.empend("bytes_out", "Bytes Out", TextAlignment::CenterRight);
net_adapters_fields.empend("name", "Name", Gfx::TextAlignment::CenterLeft);
net_adapters_fields.empend("class_name", "Class", Gfx::TextAlignment::CenterLeft);
net_adapters_fields.empend("mac_address", "MAC", Gfx::TextAlignment::CenterLeft);
net_adapters_fields.empend("ipv4_address", "IPv4", Gfx::TextAlignment::CenterLeft);
net_adapters_fields.empend("packets_in", "Pkt In", Gfx::TextAlignment::CenterRight);
net_adapters_fields.empend("packets_out", "Pkt Out", Gfx::TextAlignment::CenterRight);
net_adapters_fields.empend("bytes_in", "Bytes In", Gfx::TextAlignment::CenterRight);
net_adapters_fields.empend("bytes_out", "Bytes Out", Gfx::TextAlignment::CenterRight);
m_adapter_table_view->set_model(GUI::JsonArrayModel::create("/proc/net/adapters", move(net_adapters_fields)));
auto sockets_group_box = GUI::GroupBox::construct("Sockets", this);
@ -68,17 +68,17 @@ NetworkStatisticsWidget::NetworkStatisticsWidget(GUI::Widget* parent)
m_socket_table_view->set_size_columns_to_fit_content(true);
Vector<GUI::JsonArrayModel::FieldSpec> net_tcp_fields;
net_tcp_fields.empend("peer_address", "Peer", TextAlignment::CenterLeft);
net_tcp_fields.empend("peer_port", "Port", TextAlignment::CenterRight);
net_tcp_fields.empend("local_address", "Local", TextAlignment::CenterLeft);
net_tcp_fields.empend("local_port", "Port", TextAlignment::CenterRight);
net_tcp_fields.empend("state", "State", TextAlignment::CenterLeft);
net_tcp_fields.empend("ack_number", "Ack#", TextAlignment::CenterRight);
net_tcp_fields.empend("sequence_number", "Seq#", TextAlignment::CenterRight);
net_tcp_fields.empend("packets_in", "Pkt In", TextAlignment::CenterRight);
net_tcp_fields.empend("packets_out", "Pkt Out", TextAlignment::CenterRight);
net_tcp_fields.empend("bytes_in", "Bytes In", TextAlignment::CenterRight);
net_tcp_fields.empend("bytes_out", "Bytes Out", TextAlignment::CenterRight);
net_tcp_fields.empend("peer_address", "Peer", Gfx::TextAlignment::CenterLeft);
net_tcp_fields.empend("peer_port", "Port", Gfx::TextAlignment::CenterRight);
net_tcp_fields.empend("local_address", "Local", Gfx::TextAlignment::CenterLeft);
net_tcp_fields.empend("local_port", "Port", Gfx::TextAlignment::CenterRight);
net_tcp_fields.empend("state", "State", Gfx::TextAlignment::CenterLeft);
net_tcp_fields.empend("ack_number", "Ack#", Gfx::TextAlignment::CenterRight);
net_tcp_fields.empend("sequence_number", "Seq#", Gfx::TextAlignment::CenterRight);
net_tcp_fields.empend("packets_in", "Pkt In", Gfx::TextAlignment::CenterRight);
net_tcp_fields.empend("packets_out", "Pkt Out", Gfx::TextAlignment::CenterRight);
net_tcp_fields.empend("bytes_in", "Bytes In", Gfx::TextAlignment::CenterRight);
net_tcp_fields.empend("bytes_out", "Bytes Out", Gfx::TextAlignment::CenterRight);
m_socket_table_view->set_model(GUI::JsonArrayModel::create("/proc/net/tcp", move(net_tcp_fields)));
m_update_timer = Core::Timer::construct(

View file

@ -38,23 +38,23 @@ ProcessFileDescriptorMapWidget::ProcessFileDescriptorMapWidget(GUI::Widget* pare
m_table_view->set_size_columns_to_fit_content(true);
Vector<GUI::JsonArrayModel::FieldSpec> pid_fds_fields;
pid_fds_fields.empend("fd", "FD", TextAlignment::CenterRight);
pid_fds_fields.empend("class", "Class", TextAlignment::CenterLeft);
pid_fds_fields.empend("offset", "Offset", TextAlignment::CenterRight);
pid_fds_fields.empend("absolute_path", "Path", TextAlignment::CenterLeft);
pid_fds_fields.empend("Access", TextAlignment::CenterLeft, [](auto& object) {
pid_fds_fields.empend("fd", "FD", Gfx::TextAlignment::CenterRight);
pid_fds_fields.empend("class", "Class", Gfx::TextAlignment::CenterLeft);
pid_fds_fields.empend("offset", "Offset", Gfx::TextAlignment::CenterRight);
pid_fds_fields.empend("absolute_path", "Path", Gfx::TextAlignment::CenterLeft);
pid_fds_fields.empend("Access", Gfx::TextAlignment::CenterLeft, [](auto& object) {
return object.get("seekable").to_bool() ? "Seekable" : "Sequential";
});
pid_fds_fields.empend("Blocking", TextAlignment::CenterLeft, [](auto& object) {
pid_fds_fields.empend("Blocking", Gfx::TextAlignment::CenterLeft, [](auto& object) {
return object.get("blocking").to_bool() ? "Blocking" : "Nonblocking";
});
pid_fds_fields.empend("On exec", TextAlignment::CenterLeft, [](auto& object) {
pid_fds_fields.empend("On exec", Gfx::TextAlignment::CenterLeft, [](auto& object) {
return object.get("cloexec").to_bool() ? "Close" : "Keep";
});
pid_fds_fields.empend("Can read", TextAlignment::CenterLeft, [](auto& object) {
pid_fds_fields.empend("Can read", Gfx::TextAlignment::CenterLeft, [](auto& object) {
return object.get("can_read").to_bool() ? "Yes" : "No";
});
pid_fds_fields.empend("Can write", TextAlignment::CenterLeft, [](auto& object) {
pid_fds_fields.empend("Can write", Gfx::TextAlignment::CenterLeft, [](auto& object) {
return object.get("can_write").to_bool() ? "Yes" : "No";
});

View file

@ -39,13 +39,13 @@ ProcessMemoryMapWidget::ProcessMemoryMapWidget(GUI::Widget* parent)
m_table_view = GUI::TableView::construct(this);
m_table_view->set_size_columns_to_fit_content(true);
Vector<GUI::JsonArrayModel::FieldSpec> pid_vm_fields;
pid_vm_fields.empend("Address", TextAlignment::CenterLeft, [](auto& object) {
pid_vm_fields.empend("Address", Gfx::TextAlignment::CenterLeft, [](auto& object) {
return String::format("%#x", object.get("address").to_u32());
});
pid_vm_fields.empend("size", "Size", TextAlignment::CenterRight);
pid_vm_fields.empend("amount_resident", "Resident", TextAlignment::CenterRight);
pid_vm_fields.empend("amount_dirty", "Dirty", TextAlignment::CenterRight);
pid_vm_fields.empend("Access", TextAlignment::CenterLeft, [](auto& object) {
pid_vm_fields.empend("size", "Size", Gfx::TextAlignment::CenterRight);
pid_vm_fields.empend("amount_resident", "Resident", Gfx::TextAlignment::CenterRight);
pid_vm_fields.empend("amount_dirty", "Dirty", Gfx::TextAlignment::CenterRight);
pid_vm_fields.empend("Access", Gfx::TextAlignment::CenterLeft, [](auto& object) {
StringBuilder builder;
if (!object.get("user_accessible").to_bool())
builder.append('K');
@ -61,15 +61,15 @@ ProcessMemoryMapWidget::ProcessMemoryMapWidget(GUI::Widget* parent)
builder.append('T');
return builder.to_string();
});
pid_vm_fields.empend("Purgeable", TextAlignment::CenterLeft, [](auto& object) {
pid_vm_fields.empend("Purgeable", Gfx::TextAlignment::CenterLeft, [](auto& object) {
if (!object.get("purgeable").to_bool())
return "";
if (object.get("volatile").to_bool())
return "Volatile";
return "Non-volatile";
});
pid_vm_fields.empend("cow_pages", "# CoW", TextAlignment::CenterRight);
pid_vm_fields.empend("name", "Name", TextAlignment::CenterLeft);
pid_vm_fields.empend("cow_pages", "# CoW", Gfx::TextAlignment::CenterRight);
pid_vm_fields.empend("name", "Name", Gfx::TextAlignment::CenterLeft);
m_json_model = GUI::JsonArrayModel::create({}, move(pid_vm_fields));
m_table_view->set_model(GUI::SortingProxyModel::create(*m_json_model));
m_table_view->model()->set_key_column_and_sort_order(0, GUI::SortOrder::Ascending);

View file

@ -46,10 +46,10 @@ ProcessModel::ProcessModel()
{
ASSERT(!s_the);
s_the = this;
m_generic_process_icon = GraphicsBitmap::load_from_file("/res/icons/gear16.png");
m_high_priority_icon = GraphicsBitmap::load_from_file("/res/icons/highpriority16.png");
m_low_priority_icon = GraphicsBitmap::load_from_file("/res/icons/lowpriority16.png");
m_normal_priority_icon = GraphicsBitmap::load_from_file("/res/icons/normalpriority16.png");
m_generic_process_icon = Gfx::Bitmap::load_from_file("/res/icons/gear16.png");
m_high_priority_icon = Gfx::Bitmap::load_from_file("/res/icons/highpriority16.png");
m_low_priority_icon = Gfx::Bitmap::load_from_file("/res/icons/lowpriority16.png");
m_normal_priority_icon = Gfx::Bitmap::load_from_file("/res/icons/normalpriority16.png");
}
ProcessModel::~ProcessModel()
@ -132,59 +132,59 @@ GUI::Model::ColumnMetadata ProcessModel::column_metadata(int column) const
{
switch (column) {
case Column::Icon:
return { 16, TextAlignment::CenterLeft };
return { 16, Gfx::TextAlignment::CenterLeft };
case Column::PID:
return { 32, TextAlignment::CenterRight };
return { 32, Gfx::TextAlignment::CenterRight };
case Column::TID:
return { 32, TextAlignment::CenterRight };
return { 32, Gfx::TextAlignment::CenterRight };
case Column::State:
return { 75, TextAlignment::CenterLeft };
return { 75, Gfx::TextAlignment::CenterLeft };
case Column::Priority:
return { 16, TextAlignment::CenterRight };
return { 16, Gfx::TextAlignment::CenterRight };
case Column::EffectivePriority:
return { 16, TextAlignment::CenterRight };
return { 16, Gfx::TextAlignment::CenterRight };
case Column::User:
return { 50, TextAlignment::CenterLeft };
return { 50, Gfx::TextAlignment::CenterLeft };
case Column::Virtual:
return { 65, TextAlignment::CenterRight };
return { 65, Gfx::TextAlignment::CenterRight };
case Column::Physical:
return { 65, TextAlignment::CenterRight };
return { 65, Gfx::TextAlignment::CenterRight };
case Column::DirtyPrivate:
return { 65, TextAlignment::CenterRight };
return { 65, Gfx::TextAlignment::CenterRight };
case Column::CleanInode:
return { 65, TextAlignment::CenterRight };
return { 65, Gfx::TextAlignment::CenterRight };
case Column::PurgeableVolatile:
return { 65, TextAlignment::CenterRight };
return { 65, Gfx::TextAlignment::CenterRight };
case Column::PurgeableNonvolatile:
return { 65, TextAlignment::CenterRight };
return { 65, Gfx::TextAlignment::CenterRight };
case Column::CPU:
return { 32, TextAlignment::CenterRight };
return { 32, Gfx::TextAlignment::CenterRight };
case Column::Name:
return { 140, TextAlignment::CenterLeft };
return { 140, Gfx::TextAlignment::CenterLeft };
case Column::Syscalls:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::InodeFaults:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::ZeroFaults:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::CowFaults:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::FileReadBytes:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::FileWriteBytes:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::UnixSocketReadBytes:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::UnixSocketWriteBytes:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::IPv4SocketReadBytes:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::IPv4SocketWriteBytes:
return { 60, TextAlignment::CenterRight };
return { 60, Gfx::TextAlignment::CenterRight };
case Column::Pledge:
return { 60, TextAlignment::CenterLeft };
return { 60, Gfx::TextAlignment::CenterLeft };
case Column::Veil:
return { 60, TextAlignment::CenterLeft };
return { 60, Gfx::TextAlignment::CenterLeft };
default:
ASSERT_NOT_REACHED();
}
@ -269,7 +269,7 @@ GUI::Variant ProcessModel::data(const GUI::ModelIndex& index, Role role) const
if (thread.current_state.icon_id != -1) {
auto icon_buffer = SharedBuffer::create_from_shared_buffer_id(thread.current_state.icon_id);
if (icon_buffer) {
auto icon_bitmap = GraphicsBitmap::create_with_shared_buffer(GraphicsBitmap::Format::RGBA32, *icon_buffer, { 16, 16 });
auto icon_bitmap = Gfx::Bitmap::create_with_shared_buffer(Gfx::Bitmap::Format::RGBA32, *icon_buffer, { 16, 16 });
if (icon_bitmap)
return *icon_bitmap;
}

View file

@ -132,10 +132,10 @@ private:
HashMap<uid_t, String> m_usernames;
HashMap<PidAndTid, NonnullOwnPtr<Thread>> m_threads;
Vector<PidAndTid> m_pids;
RefPtr<GraphicsBitmap> m_generic_process_icon;
RefPtr<GraphicsBitmap> m_high_priority_icon;
RefPtr<GraphicsBitmap> m_low_priority_icon;
RefPtr<GraphicsBitmap> m_normal_priority_icon;
RefPtr<Gfx::Bitmap> m_generic_process_icon;
RefPtr<Gfx::Bitmap> m_high_priority_icon;
RefPtr<Gfx::Bitmap> m_low_priority_icon;
RefPtr<Gfx::Bitmap> m_normal_priority_icon;
};
namespace AK {

View file

@ -38,8 +38,8 @@ ProcessUnveiledPathsWidget::ProcessUnveiledPathsWidget(GUI::Widget* parent)
m_table_view->set_size_columns_to_fit_content(true);
Vector<GUI::JsonArrayModel::FieldSpec> pid_unveil_fields;
pid_unveil_fields.empend("path", "Path", TextAlignment::CenterLeft);
pid_unveil_fields.empend("permissions", "Permissions", TextAlignment::CenterLeft);
pid_unveil_fields.empend("path", "Path", Gfx::TextAlignment::CenterLeft);
pid_unveil_fields.empend("permissions", "Permissions", Gfx::TextAlignment::CenterLeft);
m_table_view->set_model(GUI::JsonArrayModel::create({}, move(pid_unveil_fields)));
}

View file

@ -152,19 +152,19 @@ int main(int argc, char** argv)
memory_stats_widget->refresh();
}, window);
auto kill_action = GUI::Action::create("Kill process", { Mod_Ctrl, Key_K }, GraphicsBitmap::load_from_file("/res/icons/kill16.png"), [process_table_view](const GUI::Action&) {
auto kill_action = GUI::Action::create("Kill process", { Mod_Ctrl, Key_K }, Gfx::Bitmap::load_from_file("/res/icons/kill16.png"), [process_table_view](const GUI::Action&) {
pid_t pid = process_table_view->selected_pid();
if (pid != -1)
kill(pid, SIGKILL);
});
auto stop_action = GUI::Action::create("Stop process", { Mod_Ctrl, Key_S }, GraphicsBitmap::load_from_file("/res/icons/stop16.png"), [process_table_view](const GUI::Action&) {
auto stop_action = GUI::Action::create("Stop process", { Mod_Ctrl, Key_S }, Gfx::Bitmap::load_from_file("/res/icons/stop16.png"), [process_table_view](const GUI::Action&) {
pid_t pid = process_table_view->selected_pid();
if (pid != -1)
kill(pid, SIGSTOP);
});
auto continue_action = GUI::Action::create("Continue process", { Mod_Ctrl, Key_C }, GraphicsBitmap::load_from_file("/res/icons/continue16.png"), [process_table_view](const GUI::Action&) {
auto continue_action = GUI::Action::create("Continue process", { Mod_Ctrl, Key_C }, Gfx::Bitmap::load_from_file("/res/icons/continue16.png"), [process_table_view](const GUI::Action&) {
pid_t pid = process_table_view->selected_pid();
if (pid != -1)
kill(pid, SIGCONT);
@ -222,7 +222,7 @@ int main(int argc, char** argv)
auto help_menu = GUI::Menu::construct("Help");
help_menu->add_action(GUI::Action::create("About", [&](const GUI::Action&) {
GUI::AboutDialog::show("System Monitor", load_png("/res/icons/32x32/app-system-monitor.png"), window);
GUI::AboutDialog::show("System Monitor", Gfx::load_png("/res/icons/32x32/app-system-monitor.png"), window);
}));
menubar->add_menu(move(help_menu));
@ -251,7 +251,7 @@ int main(int argc, char** argv)
window->show();
window->set_icon(load_png("/res/icons/16x16/app-system-monitor.png"));
window->set_icon(Gfx::load_png("/res/icons/16x16/app-system-monitor.png"));
return app.exec();
}
@ -260,7 +260,7 @@ class ProgressBarPaintingDelegate final : public GUI::TableCellPaintingDelegate
public:
virtual ~ProgressBarPaintingDelegate() override {}
virtual void paint(GUI::Painter& painter, const Rect& a_rect, const Palette& palette, const GUI::Model& model, const GUI::ModelIndex& index) override
virtual void paint(GUI::Painter& painter, const Gfx::Rect& a_rect, const Palette& palette, const GUI::Model& model, const GUI::ModelIndex& index) override
{
auto rect = a_rect.shrunken(2, 2);
auto percentage = model.data(index, GUI::Model::Role::Custom).to_i32();
@ -269,7 +269,7 @@ public:
String text;
if (data.is_string())
text = data.as_string();
StylePainter::paint_progress_bar(painter, rect, palette, 0, 100, percentage, text);
Gfx::StylePainter::paint_progress_bar(painter, rect, palette, 0, 100, percentage, text);
painter.draw_rect(rect, Color::Black);
}
};
@ -285,11 +285,11 @@ RefPtr<GUI::Widget> build_file_systems_tab()
fs_table_view->set_size_columns_to_fit_content(true);
Vector<GUI::JsonArrayModel::FieldSpec> df_fields;
df_fields.empend("mount_point", "Mount point", TextAlignment::CenterLeft);
df_fields.empend("class_name", "Class", TextAlignment::CenterLeft);
df_fields.empend("device", "Device", TextAlignment::CenterLeft);
df_fields.empend("mount_point", "Mount point", Gfx::TextAlignment::CenterLeft);
df_fields.empend("class_name", "Class", Gfx::TextAlignment::CenterLeft);
df_fields.empend("device", "Device", Gfx::TextAlignment::CenterLeft);
df_fields.empend(
"Size", TextAlignment::CenterRight,
"Size", Gfx::TextAlignment::CenterRight,
[](const JsonObject& object) {
return human_readable_size(object.get("total_block_count").to_u32() * object.get("block_size").to_u32());
},
@ -297,7 +297,7 @@ RefPtr<GUI::Widget> build_file_systems_tab()
return object.get("total_block_count").to_u32() * object.get("block_size").to_u32();
});
df_fields.empend(
"Used", TextAlignment::CenterRight,
"Used", Gfx::TextAlignment::CenterRight,
[](const JsonObject& object) {
auto total_blocks = object.get("total_block_count").to_u32();
auto free_blocks = object.get("free_block_count").to_u32();
@ -319,17 +319,17 @@ RefPtr<GUI::Widget> build_file_systems_tab()
return percentage;
});
df_fields.empend(
"Available", TextAlignment::CenterRight,
"Available", Gfx::TextAlignment::CenterRight,
[](const JsonObject& object) {
return human_readable_size(object.get("free_block_count").to_u32() * object.get("block_size").to_u32());
},
[](const JsonObject& object) {
return object.get("free_block_count").to_u32() * object.get("block_size").to_u32();
});
df_fields.empend("Access", TextAlignment::CenterLeft, [](const JsonObject& object) {
df_fields.empend("Access", Gfx::TextAlignment::CenterLeft, [](const JsonObject& object) {
return object.get("readonly").to_bool() ? "Read-only" : "Read/Write";
});
df_fields.empend("Mount flags", TextAlignment::CenterLeft, [](const JsonObject& object) {
df_fields.empend("Mount flags", Gfx::TextAlignment::CenterLeft, [](const JsonObject& object) {
int mount_flags = object.get("mount_flags").to_int();
StringBuilder builder;
bool first = true;
@ -349,11 +349,11 @@ RefPtr<GUI::Widget> build_file_systems_tab()
return String("defaults");
return builder.to_string();
});
df_fields.empend("free_block_count", "Free blocks", TextAlignment::CenterRight);
df_fields.empend("total_block_count", "Total blocks", TextAlignment::CenterRight);
df_fields.empend("free_inode_count", "Free inodes", TextAlignment::CenterRight);
df_fields.empend("total_inode_count", "Total inodes", TextAlignment::CenterRight);
df_fields.empend("block_size", "Block size", TextAlignment::CenterRight);
df_fields.empend("free_block_count", "Free blocks", Gfx::TextAlignment::CenterRight);
df_fields.empend("total_block_count", "Total blocks", Gfx::TextAlignment::CenterRight);
df_fields.empend("free_inode_count", "Free inodes", Gfx::TextAlignment::CenterRight);
df_fields.empend("total_inode_count", "Total inodes", Gfx::TextAlignment::CenterRight);
df_fields.empend("block_size", "Block size", Gfx::TextAlignment::CenterRight);
fs_table_view->set_model(GUI::SortingProxyModel::create(GUI::JsonArrayModel::create("/proc/df", move(df_fields))));
fs_table_view->set_cell_painting_delegate(3, make<ProgressBarPaintingDelegate>());
@ -377,7 +377,7 @@ RefPtr<GUI::Widget> build_pci_devices_tab()
Vector<GUI::JsonArrayModel::FieldSpec> pci_fields;
pci_fields.empend(
"Address", TextAlignment::CenterLeft,
"Address", Gfx::TextAlignment::CenterLeft,
[](const JsonObject& object) {
auto seg = object.get("seg").to_u32();
auto bus = object.get("bus").to_u32();
@ -386,21 +386,21 @@ RefPtr<GUI::Widget> build_pci_devices_tab()
return String::format("%04x:%02x:%02x.%d", seg, bus, slot, function);
});
pci_fields.empend(
"Class", TextAlignment::CenterLeft,
"Class", Gfx::TextAlignment::CenterLeft,
[db](const JsonObject& object) {
auto class_id = object.get("class").to_u32();
String class_name = db->get_class(class_id);
return class_name == "" ? String::format("%04x", class_id) : class_name;
});
pci_fields.empend(
"Vendor", TextAlignment::CenterLeft,
"Vendor", Gfx::TextAlignment::CenterLeft,
[db](const JsonObject& object) {
auto vendor_id = object.get("vendor_id").to_u32();
String vendor_name = db->get_vendor(vendor_id);
return vendor_name == "" ? String::format("%02x", vendor_id) : vendor_name;
});
pci_fields.empend(
"Device", TextAlignment::CenterLeft,
"Device", Gfx::TextAlignment::CenterLeft,
[db](const JsonObject& object) {
auto vendor_id = object.get("vendor_id").to_u32();
auto device_id = object.get("device_id").to_u32();
@ -408,7 +408,7 @@ RefPtr<GUI::Widget> build_pci_devices_tab()
return device_name == "" ? String::format("%02x", device_id) : device_name;
});
pci_fields.empend(
"Revision", TextAlignment::CenterRight,
"Revision", Gfx::TextAlignment::CenterRight,
[](const JsonObject& object) {
auto revision_id = object.get("revision_id").to_u32();
return String::format("%02x", revision_id);