62 bool empty()
override;
65 void close()
const override;
68 std::string
get(
Format format)
const override;
72 QString formatToMimeType(
Format format)
const;
75 Format mimeTypeToFormat(
const QString &mimeType)
const;
78 QStringList getAvailableMimeTypes()
const;
81 void monitorClipboard();
84 Time getCurrentTime()
const;
90 void updateOwnership(
bool owned);
93 void invalidateCache();
97 mutable bool m_open =
false;
98 mutable Time m_time = 0;
99 mutable Time m_cachedTime = 0;
100 mutable bool m_owned =
false;
101 mutable std::atomic<bool> m_hasChanged =
false;
104 mutable std::mutex m_cacheMutex;
105 mutable bool m_cached =
false;
110 std::unique_ptr<std::thread> m_monitorThread;
111 std::atomic<bool> m_monitoring =
false;
112 std::atomic<bool> m_stopMonitoring =
false;
118 QList<QProcess *> m_runningWlCopies;
static int void FAR * data
Definition ArchNetworkWinsock.cpp:35
uint8_t ClipboardID
Clipboard ID.
Definition ClipboardTypes.h:16
Clipboard interface.
Definition IClipboard.h:19
Format
Clipboard formats.
Definition IClipboard.h:50
@ TotalFormats
The number of clipboard formats supported.
Definition IClipboard.h:54
uint32_t Time
Timestamp type.
Definition IClipboard.h:28
bool has(Format format) const override
Check for data.
Definition WlClipboard.cpp:206
WlClipboard(WlClipboard &&)=delete
std::string get(Format format) const override
Get data.
Definition WlClipboard.cpp:252
void stopMonitoring()
Stop monitoring clipboard changes.
Definition WlClipboard.cpp:92
WlClipboard(WlClipboard const &)=delete
ClipboardID getID() const
Get clipboard ID.
Definition WlClipboard.cpp:67
Time getTime() const override
Get time.
Definition WlClipboard.cpp:201
bool empty() override
Empty clipboard.
Definition WlClipboard.cpp:112
static bool isAvailable()
Check if wl-clipboard tools are available.
Definition WlClipboard.cpp:72
~WlClipboard() override
Definition WlClipboard.cpp:57
bool open(Time time) const override
Open clipboard.
Definition WlClipboard.cpp:176
void startMonitoring()
Start monitoring clipboard changes.
Definition WlClipboard.cpp:82
static bool isEnabled()
Check if WlClipboard is enabled.
Definition WlClipboard.cpp:77
WlClipboard & operator=(WlClipboard const &)=delete
void resetChanged()
Reset the changed flag and clear cache.
Definition WlClipboard.cpp:389
void close() const override
Close clipboard.
Definition WlClipboard.cpp:189
WlClipboard & operator=(WlClipboard &&)=delete
WlClipboard(ClipboardID id)
Definition WlClipboard.cpp:49
bool hasChanged() const
Check if clipboard has changed.
Definition WlClipboard.cpp:107
void add(Format format, const std::string &data) override
Add data.
Definition WlClipboard.cpp:140