From 944c43a8b435fc16b3ba6d5dbb6a20b1c7923463 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Sat, 14 Jan 2023 15:08:41 +0000 Subject: [PATCH] ClipboardHistory: Ensure model is populated on startup This ensures that, if the applet restarts, it will remain in sync with the clipboard. --- Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h | 2 +- Userland/Applets/ClipboardHistory/main.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h b/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h index ca28590eab..8597f92809 100644 --- a/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h +++ b/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h @@ -36,6 +36,7 @@ public: virtual ~ClipboardHistoryModel() override = default; ClipboardItem const& item_at(int index) const { return m_history_items[index]; } + void add_item(const GUI::Clipboard::DataAndType& item); void remove_item(int index); bool is_empty() { return m_history_items.is_empty(); } @@ -47,7 +48,6 @@ public: private: ClipboardHistoryModel(); - void add_item(const GUI::Clipboard::DataAndType& item); // ^GUI::Model virtual int row_count(const GUI::ModelIndex&) const override { return m_history_items.size(); } diff --git a/Userland/Applets/ClipboardHistory/main.cpp b/Userland/Applets/ClipboardHistory/main.cpp index 2e73fb26d9..d9b8728f3a 100644 --- a/Userland/Applets/ClipboardHistory/main.cpp +++ b/Userland/Applets/ClipboardHistory/main.cpp @@ -35,6 +35,11 @@ ErrorOr serenity_main(Main::Arguments arguments) auto table_view = TRY(main_window->set_main_widget()); auto model = ClipboardHistoryModel::create(); + + auto data_and_type = GUI::Clipboard::the().fetch_data_and_type(); + if (!(data_and_type.data.is_empty() && data_and_type.mime_type.is_empty() && data_and_type.metadata.is_empty())) + model->add_item(data_and_type); + table_view->set_model(model); table_view->on_activation = [&](GUI::ModelIndex const& index) {