From b1a3bb638b288e1ae743b6aa0cffb1ea7dd97899 Mon Sep 17 00:00:00 2001 From: Mustafa Quraish Date: Thu, 26 Aug 2021 22:24:09 -0400 Subject: [PATCH] ClipboardHistory: Use config file to set number of history items The number of items in history was hardcoded to 20 earlier, now we try to load this value from a config file. The default if none is available is still 20. --- Userland/Applets/ClipboardHistory/CMakeLists.txt | 2 +- .../Applets/ClipboardHistory/ClipboardHistoryModel.cpp | 7 +++++++ Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h | 4 +++- Userland/Applets/ClipboardHistory/main.cpp | 3 +++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Userland/Applets/ClipboardHistory/CMakeLists.txt b/Userland/Applets/ClipboardHistory/CMakeLists.txt index 565d003c3c..36a8366c1e 100644 --- a/Userland/Applets/ClipboardHistory/CMakeLists.txt +++ b/Userland/Applets/ClipboardHistory/CMakeLists.txt @@ -10,4 +10,4 @@ set(SOURCES ) serenity_app(ClipboardHistory.Applet ICON edit-copy) -target_link_libraries(ClipboardHistory.Applet LibGUI LibCore LibGfx) +target_link_libraries(ClipboardHistory.Applet LibGUI LibCore LibGfx LibConfig) diff --git a/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.cpp b/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.cpp index 5c233b4576..c81878e81c 100644 --- a/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.cpp +++ b/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.cpp @@ -1,10 +1,12 @@ /* * Copyright (c) 2019-2020, Sergey Bugaev + * Copyright (c) 2021, Mustafa Quraish * * SPDX-License-Identifier: BSD-2-Clause */ #include "ClipboardHistoryModel.h" +#include #include #include @@ -13,6 +15,11 @@ NonnullRefPtr ClipboardHistoryModel::create() return adopt_ref(*new ClipboardHistoryModel()); } +ClipboardHistoryModel::ClipboardHistoryModel() + : m_history_limit(Config::read_i32("ClipboardHistory", "ClipboardHistory", "NumHistoryItems", 20)) +{ +} + ClipboardHistoryModel::~ClipboardHistoryModel() { } diff --git a/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h b/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h index b5482acf98..d7dd33cfb1 100644 --- a/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h +++ b/Userland/Applets/ClipboardHistory/ClipboardHistoryModel.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2019-2020, Sergey Bugaev + * Copyright (c) 2021, Mustafa Quraish * * SPDX-License-Identifier: BSD-2-Clause */ @@ -28,6 +29,7 @@ public: void remove_item(int index); private: + ClipboardHistoryModel(); void add_item(const GUI::Clipboard::DataAndType& item); // ^GUI::Model @@ -40,5 +42,5 @@ private: virtual void clipboard_content_did_change(const String&) override { add_item(GUI::Clipboard::the().data_and_type()); } Vector m_history_items; - size_t m_history_limit { 20 }; + size_t m_history_limit; }; diff --git a/Userland/Applets/ClipboardHistory/main.cpp b/Userland/Applets/ClipboardHistory/main.cpp index f614a82a06..1ffdf6c0a5 100644 --- a/Userland/Applets/ClipboardHistory/main.cpp +++ b/Userland/Applets/ClipboardHistory/main.cpp @@ -5,6 +5,7 @@ */ #include "ClipboardHistoryModel.h" +#include #include #include #include @@ -23,6 +24,8 @@ int main(int argc, char* argv[]) auto app = GUI::Application::construct(argc, argv); + Config::pledge_domains("ClipboardHistory"); + if (pledge("stdio recvfd sendfd rpath", nullptr) < 0) { perror("pledge"); return 1;