From a51a54bc5979a2491f152abc47ad54e6b63f27c8 Mon Sep 17 00:00:00 2001 From: Dylam De La Torre Date: Tue, 23 Nov 2021 05:21:56 +0100 Subject: Restructure source and resource files (#46) importantly, res is now res/res and css is now res/css --- components/completer.hpp | 68 ------------------------------------------------ 1 file changed, 68 deletions(-) delete mode 100644 components/completer.hpp (limited to 'components/completer.hpp') diff --git a/components/completer.hpp b/components/completer.hpp deleted file mode 100644 index 6bd8be9..0000000 --- a/components/completer.hpp +++ /dev/null @@ -1,68 +0,0 @@ -#pragma once -#include -#include -#include "lazyimage.hpp" -#include "discord/snowflake.hpp" - -constexpr static int CompleterImageSize = 24; - -class CompleterEntry : public Gtk::ListBoxRow { -public: - CompleterEntry(const Glib::ustring &completion, int index); - void SetTextColor(int color); // SetText will reset - void SetText(const Glib::ustring &text); - void SetImage(const Glib::RefPtr &pb); - void SetImage(const std::string &url); - void SetAnimation(const std::string &url); - - int GetIndex() const; - Glib::ustring GetCompletion() const; - -private: - void CheckImage(); - - Glib::ustring m_completion; - int m_index; - Gtk::Box m_box; - Gtk::Label *m_text = nullptr; - LazyImage *m_img = nullptr; -}; - -class Completer : public Gtk::Revealer { -public: - Completer(); - Completer(const Glib::RefPtr &buf); - - void SetBuffer(const Glib::RefPtr &buf); - bool ProcessKeyPress(GdkEventKey *e); - - using get_recent_authors_cb = std::function()>; - void SetGetRecentAuthors(get_recent_authors_cb cb); // maybe a better way idk - using get_channel_id_cb = std::function; - void SetGetChannelID(get_channel_id_cb cb); - - bool IsShown() const; - -private: - CompleterEntry *CreateEntry(const Glib::ustring &completion); - void CompleteMentions(const Glib::ustring &term); - void CompleteEmojis(const Glib::ustring &term); - void CompleteChannels(const Glib::ustring &term); - void DoCompletion(Gtk::ListBoxRow *row); - - std::vector m_entries; - - void OnRowActivate(Gtk::ListBoxRow *row); - void OnTextBufferChanged(); - Glib::ustring GetTerm(); - - Gtk::TextBuffer::iterator m_start; - Gtk::TextBuffer::iterator m_end; - - Gtk::ScrolledWindow m_scroll; - Gtk::ListBox m_list; - Glib::RefPtr m_buf; - - get_recent_authors_cb m_recent_authors_cb; - get_channel_id_cb m_channel_id_cb; -}; -- cgit v1.2.3