mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 01:27:42 +00:00
LibGUI: Make ProcessChooser accept double clicks on rows as "Ok" click
This commit is contained in:
parent
cd7b4e813f
commit
19ee853cd0
2 changed files with 12 additions and 3 deletions
|
@ -61,6 +61,8 @@ ProcessChooser::ProcessChooser(const StringView& window_title, const StringView&
|
||||||
sorting_model->set_key_column_and_sort_order(RunningProcessesModel::Column::PID, GUI::SortOrder::Descending);
|
sorting_model->set_key_column_and_sort_order(RunningProcessesModel::Column::PID, GUI::SortOrder::Descending);
|
||||||
m_table_view->set_model(sorting_model);
|
m_table_view->set_model(sorting_model);
|
||||||
|
|
||||||
|
m_table_view->on_activation = [this](const ModelIndex& index) { set_pid_from_index_and_close(index); };
|
||||||
|
|
||||||
auto& button_container = widget.add<GUI::Widget>();
|
auto& button_container = widget.add<GUI::Widget>();
|
||||||
button_container.set_preferred_size(0, 30);
|
button_container.set_preferred_size(0, 30);
|
||||||
button_container.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
|
button_container.set_size_policy(GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
|
||||||
|
@ -77,9 +79,7 @@ ProcessChooser::ProcessChooser(const StringView& window_title, const StringView&
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
auto index = m_table_view->selection().first();
|
auto index = m_table_view->selection().first();
|
||||||
auto pid_as_variant = m_table_view->model()->data(index, GUI::Model::Role::Custom);
|
set_pid_from_index_and_close(index);
|
||||||
m_pid = pid_as_variant.as_i32();
|
|
||||||
done(ExecOK);
|
|
||||||
};
|
};
|
||||||
auto& cancel_button = button_container.add<GUI::Button>("Cancel");
|
auto& cancel_button = button_container.add<GUI::Button>("Cancel");
|
||||||
cancel_button.set_size_policy(GUI::SizePolicy::Fixed, GUI::SizePolicy::Fixed);
|
cancel_button.set_size_policy(GUI::SizePolicy::Fixed, GUI::SizePolicy::Fixed);
|
||||||
|
@ -119,6 +119,13 @@ ProcessChooser::ProcessChooser(const StringView& window_title, const StringView&
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProcessChooser::set_pid_from_index_and_close(const ModelIndex& index)
|
||||||
|
{
|
||||||
|
auto pid_as_variant = m_table_view->model()->data(index, GUI::Model::Role::Custom);
|
||||||
|
m_pid = pid_as_variant.as_i32();
|
||||||
|
done(ExecOK);
|
||||||
|
}
|
||||||
|
|
||||||
ProcessChooser::~ProcessChooser()
|
ProcessChooser::~ProcessChooser()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,8 @@ public:
|
||||||
private:
|
private:
|
||||||
ProcessChooser(const StringView& window_title = "Process Chooser", const StringView& button_label = "Select", const Gfx::Bitmap* window_icon = nullptr, GUI::Window* parent_window = nullptr);
|
ProcessChooser(const StringView& window_title = "Process Chooser", const StringView& button_label = "Select", const Gfx::Bitmap* window_icon = nullptr, GUI::Window* parent_window = nullptr);
|
||||||
|
|
||||||
|
void set_pid_from_index_and_close(const ModelIndex&);
|
||||||
|
|
||||||
pid_t m_pid { 0 };
|
pid_t m_pid { 0 };
|
||||||
|
|
||||||
String m_window_title;
|
String m_window_title;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue