mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 01:37:35 +00:00
FileManager+LibGUI: Add a simple location textbox.
The widget layout here is a bit off and needs work.
This commit is contained in:
parent
63cdc3d2d5
commit
d94abc4f81
5 changed files with 23 additions and 13 deletions
|
@ -66,7 +66,6 @@ void GBoxLayout::run(GWidget& widget)
|
|||
dbgprintf("GBoxLayout: automatic_size=%s\n", automatic_size.to_string().characters());
|
||||
#endif
|
||||
|
||||
// FIXME: We should also respect the bottom and right margins.
|
||||
int current_x = margins().left();
|
||||
int current_y = margins().top();
|
||||
|
||||
|
@ -77,7 +76,7 @@ void GBoxLayout::run(GWidget& widget)
|
|||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
ASSERT(entry.widget);
|
||||
rect.set_size(automatic_size);
|
||||
rect.set_size({ automatic_size.width() - margins().left() - margins().right(), automatic_size.height() - margins().top() - margins().bottom() });
|
||||
if (entry.widget->size_policy(Orientation::Vertical) == SizePolicy::Fixed)
|
||||
rect.set_height(entry.widget->preferred_size().height());
|
||||
if (entry.widget->size_policy(Orientation::Horizontal) == SizePolicy::Fixed)
|
||||
|
|
|
@ -15,9 +15,11 @@ GTextBox::~GTextBox()
|
|||
{
|
||||
}
|
||||
|
||||
void GTextBox::set_text(String&& text)
|
||||
void GTextBox::set_text(const String& text)
|
||||
{
|
||||
m_text = move(text);
|
||||
if (m_text == text)
|
||||
return;
|
||||
m_text = text;
|
||||
m_cursor_position = m_text.length();
|
||||
update();
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ public:
|
|||
virtual ~GTextBox() override;
|
||||
|
||||
String text() const { return m_text; }
|
||||
void set_text(String&&);
|
||||
void set_text(const String&);
|
||||
|
||||
Function<void(GTextBox&)> on_return_pressed;
|
||||
Function<void(GTextBox&)> on_change;
|
||||
|
|
|
@ -8,10 +8,10 @@ GToolBar::GToolBar(GWidget* parent)
|
|||
: GWidget(parent)
|
||||
{
|
||||
set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
||||
set_preferred_size({ 0, 29 });
|
||||
set_preferred_size({ 0, 30 });
|
||||
set_layout(make<GBoxLayout>(Orientation::Horizontal));
|
||||
layout()->set_spacing(0);
|
||||
layout()->set_margins({1, 1, 1, 1});
|
||||
layout()->set_margins({ 2, 2, 2, 2 });
|
||||
}
|
||||
|
||||
GToolBar::~GToolBar()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue