mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:37:44 +00:00
ClipboardHistory: Add debug dump action
This allows for easy dumping of clipboard data to the debug console.
This commit is contained in:
parent
298a6b9937
commit
2565f458d1
2 changed files with 11 additions and 1 deletions
|
@ -30,6 +30,9 @@ public:
|
||||||
const GUI::Clipboard::DataAndType& item_at(int index) const { return m_history_items[index]; }
|
const GUI::Clipboard::DataAndType& item_at(int index) const { return m_history_items[index]; }
|
||||||
void remove_item(int index);
|
void remove_item(int index);
|
||||||
|
|
||||||
|
// ^GUI::Model
|
||||||
|
virtual GUI::Variant data(const GUI::ModelIndex&, GUI::ModelRole) const override;
|
||||||
|
|
||||||
// ^Config::Listener
|
// ^Config::Listener
|
||||||
virtual void config_string_did_change(String const& domain, String const& group, String const& key, String const& value) override;
|
virtual void config_string_did_change(String const& domain, String const& group, String const& key, String const& value) override;
|
||||||
|
|
||||||
|
@ -41,7 +44,6 @@ private:
|
||||||
virtual int row_count(const GUI::ModelIndex&) const override { return m_history_items.size(); }
|
virtual int row_count(const GUI::ModelIndex&) const override { return m_history_items.size(); }
|
||||||
virtual String column_name(int) const override;
|
virtual String column_name(int) const override;
|
||||||
virtual int column_count(const GUI::ModelIndex&) const override { return Column::__Count; }
|
virtual int column_count(const GUI::ModelIndex&) const override { return Column::__Count; }
|
||||||
virtual GUI::Variant data(const GUI::ModelIndex&, GUI::ModelRole) const override;
|
|
||||||
|
|
||||||
// ^GUI::Clipboard::ClipboardClient
|
// ^GUI::Clipboard::ClipboardClient
|
||||||
virtual void clipboard_content_did_change(const String&) override { add_item(GUI::Clipboard::the().fetch_data_and_type()); }
|
virtual void clipboard_content_did_change(const String&) override { add_item(GUI::Clipboard::the().fetch_data_and_type()); }
|
||||||
|
|
|
@ -62,10 +62,18 @@ int main(int argc, char* argv[])
|
||||||
model->remove_item(table_view.selection().first().row());
|
model->remove_item(table_view.selection().first().row());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
auto debug_dump_action = GUI::Action::create("Dump to debug console", [&](const GUI::Action&) {
|
||||||
|
table_view.selection().for_each_index([&](GUI::ModelIndex& index) {
|
||||||
|
dbgln("{}", model->data(index, GUI::ModelRole::Display).as_string());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
auto entry_context_menu = GUI::Menu::construct();
|
auto entry_context_menu = GUI::Menu::construct();
|
||||||
entry_context_menu->add_action(delete_action);
|
entry_context_menu->add_action(delete_action);
|
||||||
|
entry_context_menu->add_action(debug_dump_action);
|
||||||
table_view.on_context_menu_request = [&](const GUI::ModelIndex&, const GUI::ContextMenuEvent& event) {
|
table_view.on_context_menu_request = [&](const GUI::ModelIndex&, const GUI::ContextMenuEvent& event) {
|
||||||
delete_action->set_enabled(!table_view.selection().is_empty());
|
delete_action->set_enabled(!table_view.selection().is_empty());
|
||||||
|
debug_dump_action->set_enabled(!table_view.selection().is_empty());
|
||||||
entry_context_menu->popup(event.screen_position());
|
entry_context_menu->popup(event.screen_position());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue