| 108 | } |
| 109 | |
| 110 | TStatus WorkerImplement::GetClipStringCallback() { |
| 111 | LOG_ANY(L"GetClipStringCallback"); |
| 112 | |
| 113 | auto data = m_clipWorker.getCurString(); |
| 114 | |
| 115 | // bool needResotore = !m_savedClipData.empty(); |
| 116 | |
| 117 | if (data.empty()) { |
| 118 | LOG_ANY(L"data empty"); |
| 119 | } |
| 120 | else if (data.length() > 100) { |
| 121 | LOG_ANY(L"TOO MANY TO REVERT. SKIP"); |
| 122 | } |
| 123 | else { |
| 124 | if (m_lastRevertRequest == hk_RevertSelelected) { |
| 125 | ClipboardToSendData(data); |
| 126 | } else if(m_lastRevertRequest == hk_toUpperSelected || m_lastRevertRequest == hk_InvertCaseSelected) { |
| 127 | |
| 128 | if (m_lastRevertRequest == hk_toUpperSelected) |
| 129 | toUpper(data); |
| 130 | else |
| 131 | InvertCase(data); |
| 132 | |
| 133 | m_clipWorker.setString(data); |
| 134 | |
| 135 | IFS_LOG(ProcessRevert({.flags = SW_CLIENT_CTRLV })); |
| 136 | |
| 137 | // if (needResotore) { |
| 138 | // needResotore = data != m_savedClipData; |
| 139 | //if(needResotore) |
| 140 | // Sleep(20); // подождем немного, чтобы не перезатереть наши данные восстановлением буфера. |
| 141 | // } |
| 142 | |
| 143 | } |
| 144 | } |
| 145 | |
| 146 | if (m_clipWorker.HasBackup()) { |
| 147 | Sleep(20); // подождем немного, чтобы не перезатереть наши данные восстановлением буфера. |
| 148 | RequestWaitClip(CLRMY_hk_RESTORE); // делаем это только чтобы не вызывалась очистка формата |
| 149 | m_clipWorker.Restore(); |
| 150 | //m_clipWorker.setString(m_savedClipData); |
| 151 | //m_savedClipData.clear(); |
| 152 | } |
| 153 | |
| 154 | RETURN_SUCCESS; |
| 155 | } |
| 156 | |
| 157 | void WorkerImplement::CliboardChanged() |
| 158 | { |
no test coverage detected