ok-script 1.0.129__tar.gz → 1.0.131__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. {ok_script-1.0.129/ok_script.egg-info → ok_script-1.0.131}/PKG-INFO +1 -1
  2. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/post_message.py +48 -48
  3. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/MainWindow.py +20 -20
  4. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/StartController.py +44 -33
  5. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/en_US.qm +0 -0
  6. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/en_US.ts +8 -0
  7. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/es_ES.qm +0 -0
  8. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/es_ES.ts +8 -0
  9. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/ja_JP.qm +0 -0
  10. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/ja_JP.ts +8 -0
  11. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/ko_KR.qm +0 -0
  12. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/ko_KR.ts +8 -0
  13. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/zh_CN.qm +0 -0
  14. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/zh_CN.ts +8 -0
  15. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/zh_TW.qm +0 -0
  16. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/zh_TW.ts +8 -0
  17. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/resources.py +4406 -4371
  18. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/start/StartTab.py +71 -37
  19. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/ScriptPackager.py +11 -24
  20. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/TaskCard.py +9 -5
  21. {ok_script-1.0.129 → ok_script-1.0.131}/ok/task/TaskExecutor.py +113 -113
  22. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/file.py +68 -10
  23. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/logger.py +60 -18
  24. {ok_script-1.0.129 → ok_script-1.0.131/ok_script.egg-info}/PKG-INFO +1 -1
  25. {ok_script-1.0.129 → ok_script-1.0.131}/MANIFEST.in +0 -0
  26. {ok_script-1.0.129 → ok_script-1.0.131}/README.md +0 -0
  27. {ok_script-1.0.129 → ok_script-1.0.131}/ok/__init__.cpp +0 -0
  28. {ok_script-1.0.129 → ok_script-1.0.131}/ok/__init__.py +0 -0
  29. {ok_script-1.0.129 → ok_script-1.0.131}/ok/__main__.py +0 -0
  30. {ok_script-1.0.129 → ok_script-1.0.131}/ok/_geometry.cpp +0 -0
  31. {ok_script-1.0.129 → ok_script-1.0.131}/ok/alas/__init__.py +0 -0
  32. {ok_script-1.0.129 → ok_script-1.0.131}/ok/alas/emulator_base.py +0 -0
  33. {ok_script-1.0.129 → ok_script-1.0.131}/ok/alas/emulator_windows.py +0 -0
  34. {ok_script-1.0.129 → ok_script-1.0.131}/ok/alas/platform_windows.py +0 -0
  35. {ok_script-1.0.129 → ok_script-1.0.131}/ok/alas/utils.py +0 -0
  36. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/__init__.py +0 -0
  37. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/adb/__init__.py +0 -0
  38. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/adb/deep.py +0 -0
  39. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/adb/minitouch.py +0 -0
  40. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/adb/nemu_ipc.py +0 -0
  41. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/adb/nemu_utils.py +0 -0
  42. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/adb/pool.py +0 -0
  43. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/adb/timer.py +0 -0
  44. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/adb/util.py +0 -0
  45. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/windows/__init__.py +0 -0
  46. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/windows/d3d11.py +0 -0
  47. {ok_script-1.0.129 → ok_script-1.0.131}/ok/capture/windows/dump.py +0 -0
  48. {ok_script-1.0.129 → ok_script-1.0.131}/ok/cli.py +0 -0
  49. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/DeviceManager.py +0 -0
  50. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/__init__.py +0 -0
  51. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture.py +0 -0
  52. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/__init__.py +0 -0
  53. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/adb.py +0 -0
  54. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/base.py +0 -0
  55. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/bitblt.py +0 -0
  56. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/bitblt_utils.py +0 -0
  57. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/browser.py +0 -0
  58. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/desktop_duplication.py +0 -0
  59. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/hwnd_window.py +0 -0
  60. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/image.py +0 -0
  61. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/nemu_ipc.py +0 -0
  62. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/types.py +0 -0
  63. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/update.py +0 -0
  64. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/capture_methods/windows_graphics.py +0 -0
  65. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction.py +0 -0
  66. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/__init__.py +0 -0
  67. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/adb.py +0 -0
  68. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/base.py +0 -0
  69. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/browser.py +0 -0
  70. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/do_nothing.py +0 -0
  71. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/foreground_post_message.py +0 -0
  72. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/genshin.py +0 -0
  73. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/keys.py +0 -0
  74. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/pydirect.py +0 -0
  75. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/pynput.py +0 -0
  76. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/interaction_methods/swipe.py +0 -0
  77. {ok_script-1.0.129 → ok_script-1.0.131}/ok/device/intercation.py +0 -0
  78. {ok_script-1.0.129 → ok_script-1.0.131}/ok/feature/Box.cpp +0 -0
  79. {ok_script-1.0.129 → ok_script-1.0.131}/ok/feature/Box.py +0 -0
  80. {ok_script-1.0.129 → ok_script-1.0.131}/ok/feature/Feature.py +0 -0
  81. {ok_script-1.0.129 → ok_script-1.0.131}/ok/feature/FeatureSet.cpp +0 -0
  82. {ok_script-1.0.129 → ok_script-1.0.131}/ok/feature/FeatureSet.py +0 -0
  83. {ok_script-1.0.129 → ok_script-1.0.131}/ok/feature/__init__.py +0 -0
  84. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/Communicate.py +0 -0
  85. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/MessageWindow.py +0 -0
  86. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/TabTitles.py +0 -0
  87. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/__init__.py +0 -0
  88. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/about/AboutTab.py +0 -0
  89. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/about/HttpTextEdit.py +0 -0
  90. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/about/ProjectCard.py +0 -0
  91. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/about/VersionCard.py +0 -0
  92. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/about/__init__.py +0 -0
  93. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/common/OKIcon.py +0 -0
  94. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/common/__init__.py +0 -0
  95. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/common/config.py +0 -0
  96. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/common/style_sheet.py +0 -0
  97. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/DebugTab.cpp +0 -0
  98. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/DebugTab.py +0 -0
  99. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/FrameWidget.cpp +0 -0
  100. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/LogWindow.cpp +0 -0
  101. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/OverlayWidget.py +0 -0
  102. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/RunCodeTab.py +0 -0
  103. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/Screenshot.cpp +0 -0
  104. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/Screenshot.py +0 -0
  105. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/debug/__init__.py +0 -0
  106. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/GettextTranslator.cpp +0 -0
  107. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/GettextTranslator.py +0 -0
  108. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/__init__.py +0 -0
  109. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/path.cpp +0 -0
  110. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/path.py +0 -0
  111. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/update.cpp +0 -0
  112. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/i18n/update.py +0 -0
  113. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/DownloadBar.cpp +0 -0
  114. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/DownloadBar.py +0 -0
  115. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/LauncherWindow.cpp +0 -0
  116. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/LauncherWindow.py +0 -0
  117. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/LinksBar.cpp +0 -0
  118. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/LinksBar.py +0 -0
  119. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/RunBar.cpp +0 -0
  120. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/RunBar.py +0 -0
  121. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/UpdateBar.cpp +0 -0
  122. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/UpdateBar.py +0 -0
  123. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/launcher/__init__.py +0 -0
  124. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/overlay/OverlayWindow.cpp +0 -0
  125. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/overlay/OverlayWindow.py +0 -0
  126. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/overlay/__init__.py +0 -0
  127. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/__init__.py +0 -0
  128. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/dark/card.qss +0 -0
  129. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/dark/discord.svg +0 -0
  130. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/dark/heart.svg +0 -0
  131. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/dark/message_window.qss +0 -0
  132. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/dark/setting_interface.qss +0 -0
  133. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/dark/status_bar.qss +0 -0
  134. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/dark/stop.svg +0 -0
  135. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/dark/tab.qss +0 -0
  136. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/light/card.qss +0 -0
  137. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/light/discord.svg +0 -0
  138. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/light/heart.svg +0 -0
  139. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/light/message_window.qss +0 -0
  140. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/light/setting_interface.qss +0 -0
  141. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/light/status_bar.qss +0 -0
  142. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/light/stop.svg +0 -0
  143. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qss/light/tab.qss +0 -0
  144. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/qt.qrc +0 -0
  145. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/settings/GlobalConfigCard.cpp +0 -0
  146. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/settings/GlobalConfigCard.py +0 -0
  147. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/settings/SettingTab.cpp +0 -0
  148. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/settings/SettingTab.py +0 -0
  149. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/settings/__init__.py +0 -0
  150. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/start/SelectCaptureListView.cpp +0 -0
  151. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/start/SelectCaptureListView.py +0 -0
  152. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/start/SelectInteractionListView.py +0 -0
  153. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/start/StartCard.cpp +0 -0
  154. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/start/StartCard.py +0 -0
  155. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/start/StartTab.cpp +0 -0
  156. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/start/__init__.py +0 -0
  157. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/ConfigCard.py +0 -0
  158. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/ConfigItemFactory.py +0 -0
  159. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/ConfigLabelAndWidget.py +0 -0
  160. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/EditTaskTab.py +0 -0
  161. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndButtons.py +0 -0
  162. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndDoubleSpinBox.py +0 -0
  163. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndDropDown.py +0 -0
  164. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndGlobal.py +0 -0
  165. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndLineEdit.py +0 -0
  166. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndList.py +0 -0
  167. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndMultiSelection.py +0 -0
  168. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndSpinBox.py +0 -0
  169. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndSwitchButton.py +0 -0
  170. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndTextEdit.py +0 -0
  171. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/LabelAndWidget.py +0 -0
  172. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/MarkUpWindow.py +0 -0
  173. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/ModifyListDialog.py +0 -0
  174. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/ModifyListItem.py +0 -0
  175. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/OneTimeTaskTab.py +0 -0
  176. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/RecordScript.py +0 -0
  177. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/ScheduleTaskTab.py +0 -0
  178. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/StartButton.py +0 -0
  179. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/TaskManger.py +0 -0
  180. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/TaskOpButton.py +0 -0
  181. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/TaskTab.py +0 -0
  182. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/TemplateFactory.py +0 -0
  183. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/TemplateTab.py +0 -0
  184. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/TooltipTableWidget.py +0 -0
  185. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/TriggerTaskTab.py +0 -0
  186. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/tasks/__init__.py +0 -0
  187. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/Alert.cpp +0 -0
  188. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/Alert.py +0 -0
  189. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/InitWorker.cpp +0 -0
  190. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/InitWorker.py +0 -0
  191. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/__init__.py +0 -0
  192. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/app.cpp +0 -0
  193. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/app.py +0 -0
  194. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/download.py +0 -0
  195. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/pip_util.cpp +0 -0
  196. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/util/pip_util.py +0 -0
  197. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/BaseLoading.py +0 -0
  198. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/BaseWindow.cpp +0 -0
  199. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/BaseWindow.py +0 -0
  200. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/Card.cpp +0 -0
  201. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/Card.py +0 -0
  202. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/CustomTab.cpp +0 -0
  203. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/CustomTab.py +0 -0
  204. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/EmptyCard.cpp +0 -0
  205. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/EmptyCard.py +0 -0
  206. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/FlowLayout.cpp +0 -0
  207. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/FlowLayout.py +0 -0
  208. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/FramelessDialog.cpp +0 -0
  209. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/FramelessDialog.py +0 -0
  210. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/ImageWidget.py +0 -0
  211. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/ListTableWidgetItem.cpp +0 -0
  212. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/ListTableWidgetItem.py +0 -0
  213. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/NumericTableWidgetItem.cpp +0 -0
  214. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/NumericTableWidgetItem.py +0 -0
  215. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/OkCompactSpinBox.cpp +0 -0
  216. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/OkCompactSpinBox.py +0 -0
  217. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/SortingTableWidgetItem.cpp +0 -0
  218. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/SortingTableWidgetItem.py +0 -0
  219. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/StartLoadingDialog.cpp +0 -0
  220. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/StartLoadingDialog.py +0 -0
  221. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/StatusBar.cpp +0 -0
  222. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/StatusBar.py +0 -0
  223. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/Tab.cpp +0 -0
  224. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/Tab.py +0 -0
  225. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/TabWidget.cpp +0 -0
  226. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/TabWidget.py +0 -0
  227. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/UpdateConfigWidgetItem.cpp +0 -0
  228. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/UpdateConfigWidgetItem.py +0 -0
  229. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/WidgetWithVLabel.cpp +0 -0
  230. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/WidgetWithVLabel.py +0 -0
  231. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/YesNonWidgetItem.cpp +0 -0
  232. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/YesNonWidgetItem.py +0 -0
  233. {ok_script-1.0.129 → ok_script-1.0.131}/ok/gui/widget/__init__.py +0 -0
  234. {ok_script-1.0.129 → ok_script-1.0.131}/ok/ocr/__init__.py +0 -0
  235. {ok_script-1.0.129 → ok_script-1.0.131}/ok/ocr/download_paddle_model.py +0 -0
  236. {ok_script-1.0.129 → ok_script-1.0.131}/ok/ok.cpp +0 -0
  237. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Foundation/Collections.cpp +0 -0
  238. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Foundation/Collections.py +0 -0
  239. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Foundation/__init__.py +0 -0
  240. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Globalization/__init__.py +0 -0
  241. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Graphics/Capture/__init__.py +0 -0
  242. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Graphics/DirectX/Direct3D11/__init__.py +0 -0
  243. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Graphics/DirectX/__init__.py +0 -0
  244. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Graphics/Imaging/__init__.py +0 -0
  245. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Graphics/__init__.py +0 -0
  246. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Media/Ocr/__init__.py +0 -0
  247. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Media/__init__.py +0 -0
  248. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Security/Cryptography/__init__.py +0 -0
  249. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Security/__init__.py +0 -0
  250. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Storage/Streams/__init__.py +0 -0
  251. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/Storage/__init__.py +0 -0
  252. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/Windows/__init__.py +0 -0
  253. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/__init__.py +0 -0
  254. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/delegate.py +0 -0
  255. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/export.py +0 -0
  256. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/idldsl.py +0 -0
  257. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/inspectable.py +0 -0
  258. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/roapi.py +0 -0
  259. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/types.py +0 -0
  260. {ok_script-1.0.129 → ok_script-1.0.131}/ok/rotypes/winstring.py +0 -0
  261. {ok_script-1.0.129 → ok_script-1.0.131}/ok/task/DiagnosisTask.py +0 -0
  262. {ok_script-1.0.129 → ok_script-1.0.131}/ok/task/TaskExecutor.cpp +0 -0
  263. {ok_script-1.0.129 → ok_script-1.0.131}/ok/task/__init__.py +0 -0
  264. {ok_script-1.0.129 → ok_script-1.0.131}/ok/task/exceptions.py +0 -0
  265. {ok_script-1.0.129 → ok_script-1.0.131}/ok/task/task.cpp +0 -0
  266. {ok_script-1.0.129 → ok_script-1.0.131}/ok/task/task.py +0 -0
  267. {ok_script-1.0.129 → ok_script-1.0.131}/ok/test/OKTestRunner.py +0 -0
  268. {ok_script-1.0.129 → ok_script-1.0.131}/ok/test/RunTests.py +0 -0
  269. {ok_script-1.0.129 → ok_script-1.0.131}/ok/test/TaskTestCase.py +0 -0
  270. {ok_script-1.0.129 → ok_script-1.0.131}/ok/test/__init__.py +0 -0
  271. {ok_script-1.0.129 → ok_script-1.0.131}/ok/third_party/__init__.py +0 -0
  272. {ok_script-1.0.129 → ok_script-1.0.131}/ok/third_party/paperclip.py +0 -0
  273. {ok_script-1.0.129 → ok_script-1.0.131}/ok/update/GitUpdater.py +0 -0
  274. {ok_script-1.0.129 → ok_script-1.0.131}/ok/update/__init__.py +0 -0
  275. {ok_script-1.0.129 → ok_script-1.0.131}/ok/update/copy_ok_folder.py +0 -0
  276. {ok_script-1.0.129 → ok_script-1.0.131}/ok/update/gen_md5.py +0 -0
  277. {ok_script-1.0.129 → ok_script-1.0.131}/ok/update/init_launcher_env.py +0 -0
  278. {ok_script-1.0.129 → ok_script-1.0.131}/ok/update/inline_ok_requirements.py +0 -0
  279. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/Analytics.py +0 -0
  280. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/GlobalConfig.py +0 -0
  281. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/__init__.py +0 -0
  282. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/clazz.py +0 -0
  283. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/collection.py +0 -0
  284. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/color.py +0 -0
  285. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/config.py +0 -0
  286. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/gpu_driver_settings.py +0 -0
  287. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/handler.py +0 -0
  288. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/i18n.py +0 -0
  289. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/logs/ok-script.log +0 -0
  290. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/partial_sync_repo.py +0 -0
  291. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/print_hwnd.py +0 -0
  292. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/process.py +0 -0
  293. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/window.py +0 -0
  294. {ok_script-1.0.129 → ok_script-1.0.131}/ok/util/windows_schedule.py +0 -0
  295. {ok_script-1.0.129 → ok_script-1.0.131}/ok_script.egg-info/SOURCES.txt +0 -0
  296. {ok_script-1.0.129 → ok_script-1.0.131}/ok_script.egg-info/dependency_links.txt +0 -0
  297. {ok_script-1.0.129 → ok_script-1.0.131}/ok_script.egg-info/entry_points.txt +0 -0
  298. {ok_script-1.0.129 → ok_script-1.0.131}/ok_script.egg-info/not-zip-safe +0 -0
  299. {ok_script-1.0.129 → ok_script-1.0.131}/ok_script.egg-info/requires.txt +0 -0
  300. {ok_script-1.0.129 → ok_script-1.0.131}/ok_script.egg-info/top_level.txt +0 -0
  301. {ok_script-1.0.129 → ok_script-1.0.131}/setup.cfg +0 -0
  302. {ok_script-1.0.129 → ok_script-1.0.131}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ok-script
3
- Version: 1.0.129
3
+ Version: 1.0.131
4
4
  Summary: Automation with Computer Vision for Python
5
5
  Home-page: https://github.com/ok-oldking/ok-script
6
6
  Author: ok-oldking
@@ -70,10 +70,10 @@ class PostMessageInteraction(BaseInteraction):
70
70
  ord(c), 0)
71
71
  time.sleep(0.01)
72
72
 
73
- def move(self, x, y, down_btn=0):
74
- long_pos = self.update_mouse_pos(x, y, True)
75
- self.post(win32con.WM_MOUSEMOVE, down_btn, long_pos)
76
- return long_pos
73
+ def move(self, x, y, down_btn=0):
74
+ long_pos = self.update_mouse_pos(x, y, True)
75
+ self.post(win32con.WM_MOUSEMOVE, down_btn, long_pos)
76
+ return long_pos
77
77
 
78
78
  def scroll(self, x, y, scroll_amount):
79
79
  self.try_activate()
@@ -137,14 +137,14 @@ class PostMessageInteraction(BaseInteraction):
137
137
  self.activate(current_hwnd)
138
138
 
139
139
  def click(self, x=-1, y=-1, move_back=False, name=None, down_time=0.01, move=True, key="left"):
140
- super().click(x, y, name=name)
141
- if move:
142
- long_position = self.move(x, y)
143
- time.sleep(down_time)
144
- else:
145
- long_position = self.update_mouse_pos(x, y, activate=True)
146
-
147
- if key == "left":
140
+ super().click(x, y, name=name)
141
+ if move:
142
+ long_position = self.move(x, y)
143
+ time.sleep(down_time)
144
+ else:
145
+ long_position = self.update_mouse_pos(x, y, activate=True)
146
+
147
+ if key == "left":
148
148
  btn_down = win32con.WM_LBUTTONDOWN
149
149
  btn_mk = win32con.MK_LBUTTON
150
150
  btn_up = win32con.WM_LBUTTONUP
@@ -193,42 +193,42 @@ class PostMessageInteraction(BaseInteraction):
193
193
  x, y = self.hwnd_window.get_top_window_cords(x, y)
194
194
  self.bg_mouse_pos = (x, y)
195
195
 
196
- try:
197
- abs_x, abs_y = win32gui.ClientToScreen(base_hwnd, (int(x), int(y)))
198
-
199
- target_hwnd = base_hwnd
200
- hwnds = getattr(self.hwnd_window, 'hwnds', [])
201
- for hwnd_info in hwnds:
202
- candidate = hwnd_info[0]
203
- if not win32gui.IsWindow(candidate):
204
- continue
205
- try:
206
- left = hwnd_info[4]
207
- top = hwnd_info[5]
208
- right = left + hwnd_info[2]
209
- bottom = top + hwnd_info[3]
210
- if left <= abs_x < right and top <= abs_y < bottom:
211
- target_hwnd = candidate
212
- break
213
- except Exception:
214
- continue
215
- self._dynamic_target_hwnd = target_hwnd
216
-
217
- local_x, local_y = win32gui.ScreenToClient(target_hwnd, (abs_x, abs_y))
218
-
219
- hwnd_descriptions = []
220
- for index, hwnd_info in enumerate(hwnds):
221
- candidate = hwnd_info[0]
222
- try:
223
- class_name = win32gui.GetClassName(candidate) if win32gui.IsWindow(candidate) else '<invalid>'
224
- except Exception as e:
225
- class_name = f'<class error: {e}>'
226
- hwnd_descriptions.append(f'{index}:{candidate}({class_name})')
227
- logger.debug(
228
- f'hwnd_window hwnds hwnd={self.hwnd_window.hwnd} top_hwnd={self.hwnd_window.top_hwnd}: {hwnd_descriptions}')
229
- logger.debug(
230
- f'mouse_pos dynamically aimed at {target_hwnd} ({win32gui.GetClassName(target_hwnd)}): {local_x}, {local_y}')
231
- return win32api.MAKELONG(local_x, local_y)
196
+ try:
197
+ abs_x, abs_y = win32gui.ClientToScreen(base_hwnd, (int(x), int(y)))
198
+
199
+ target_hwnd = base_hwnd
200
+ hwnds = getattr(self.hwnd_window, 'hwnds', [])
201
+ for hwnd_info in hwnds:
202
+ candidate = hwnd_info[0]
203
+ if not win32gui.IsWindow(candidate):
204
+ continue
205
+ try:
206
+ left = hwnd_info[4]
207
+ top = hwnd_info[5]
208
+ right = left + hwnd_info[2]
209
+ bottom = top + hwnd_info[3]
210
+ if left <= abs_x < right and top <= abs_y < bottom:
211
+ target_hwnd = candidate
212
+ break
213
+ except Exception:
214
+ continue
215
+ self._dynamic_target_hwnd = target_hwnd
216
+
217
+ local_x, local_y = win32gui.ScreenToClient(target_hwnd, (abs_x, abs_y))
218
+
219
+ hwnd_descriptions = []
220
+ for index, hwnd_info in enumerate(hwnds):
221
+ candidate = hwnd_info[0]
222
+ try:
223
+ class_name = win32gui.GetClassName(candidate) if win32gui.IsWindow(candidate) else '<invalid>'
224
+ except Exception as e:
225
+ class_name = f'<class error: {e}>'
226
+ hwnd_descriptions.append(f'{index}:{candidate}({class_name})')
227
+ # logger.debug(
228
+ # f'hwnd_window hwnds hwnd={self.hwnd_window.hwnd} top_hwnd={self.hwnd_window.top_hwnd}: {hwnd_descriptions}')
229
+ # logger.debug(
230
+ # f'mouse_pos dynamically aimed at {target_hwnd} ({win32gui.GetClassName(target_hwnd)}): {local_x}, {local_y}')
231
+ return win32api.MAKELONG(local_x, local_y)
232
232
 
233
233
  except Exception as e:
234
234
  logger.error(f'update_mouse_pos conversion error targeting {base_hwnd}', e)
@@ -107,13 +107,20 @@ class MainWindow(FluentWindow):
107
107
  from ok import og
108
108
  self.imported_tabs = {} # {file_name: tab_object}
109
109
 
110
- visible_onetime_tasks = [task for task in self.executor.onetime_tasks if getattr(task, 'visible', True)]
111
- visible_trigger_tasks = [task for task in self.executor.trigger_tasks if getattr(task, 'visible', True)]
112
-
113
- if visible_onetime_tasks:
114
- from ok.gui.tasks.OneTimeTaskTab import OneTimeTaskTab
115
- from collections import defaultdict
116
-
110
+ visible_onetime_tasks = [task for task in self.executor.onetime_tasks if getattr(task, 'visible', True)]
111
+ visible_trigger_tasks = [task for task in self.executor.trigger_tasks if getattr(task, 'visible', True)]
112
+
113
+ if len(visible_trigger_tasks) > 0:
114
+ from ok.gui.tasks.TriggerTaskTab import TriggerTaskTab
115
+ self.trigger_tab = TriggerTaskTab()
116
+ if self.first_task_tab is None:
117
+ self.first_task_tab = self.trigger_tab
118
+ self.addSubInterface(self.trigger_tab, FluentIcon.STOP_WATCH, self.tr('Triggers'))
119
+
120
+ if visible_onetime_tasks:
121
+ from ok.gui.tasks.OneTimeTaskTab import OneTimeTaskTab
122
+ from collections import defaultdict
123
+
117
124
  groups = defaultdict(list)
118
125
  standalone_tasks = []
119
126
  for task in visible_onetime_tasks:
@@ -136,19 +143,12 @@ class MainWindow(FluentWindow):
136
143
  if self.first_task_tab is None:
137
144
  self.first_task_tab = group_tab
138
145
  logger.debug(f"add grouped_task_tabs {group_name} len {len(tasks_in_group)}")
139
- self.addSubInterface(group_tab, group_icon, self.app.tr(group_name))
140
- self.grouped_task_tabs.append(group_tab)
141
-
142
- if len(visible_trigger_tasks) > 0:
143
- from ok.gui.tasks.TriggerTaskTab import TriggerTaskTab
144
- self.trigger_tab = TriggerTaskTab()
145
- if self.first_task_tab is None:
146
- self.first_task_tab = self.trigger_tab
147
- self.addSubInterface(self.trigger_tab, FluentIcon.ROBOT, self.tr('Triggers'))
148
-
149
- # Add custom tabs that should appear after built-in task tabs
150
- for tab_obj in after_custom_tabs:
151
- self.addSubInterface(tab_obj, tab_obj.icon, tab_obj.name, position=tab_obj.position)
146
+ self.addSubInterface(group_tab, group_icon, self.app.tr(group_name))
147
+ self.grouped_task_tabs.append(group_tab)
148
+
149
+ # Add custom tabs that should appear after built-in task tabs
150
+ for tab_obj in after_custom_tabs:
151
+ self.addSubInterface(tab_obj, tab_obj.icon, tab_obj.name, position=tab_obj.position)
152
152
  if debug:
153
153
  from ok.gui.debug.DebugTab import DebugTab
154
154
  debug_tab = DebugTab(config, exit_event)
@@ -24,45 +24,56 @@ class StartController(QObject):
24
24
  def start(self, task=None, exit_after=False):
25
25
  self.handler.post(lambda: self.do_start(task, exit_after))
26
26
 
27
- def do_start(self, task=None, exit_after=False):
28
- communicate.starting_emulator.emit(False, None, self.start_timeout)
29
- tasks_to_enable = []
30
- try:
31
- logger.info(f'do_start: call do_refresh {self.start_exe}')
32
- og.device_manager.do_refresh(True)
33
- except Exception as e:
34
- logger.error(f'do_start do_refresh exception: {e}', e)
27
+ def do_start(self, task=None, exit_after=False):
28
+ communicate.starting_emulator.emit(False, None, self.start_timeout)
29
+ tasks_to_enable = []
30
+ try:
31
+ if isinstance(task, int):
32
+ task = og.executor.onetime_tasks[task]
33
+ logger.info(f"enable param task {task}")
34
+
35
+ if task and task.enabled and task.paused:
36
+ logger.info(f"resume paused task {task}")
37
+ if exit_after:
38
+ task.exit_after_task = True
39
+ communicate.task.emit(task)
40
+ task.unpause()
41
+ communicate.starting_emulator.emit(True, None, 0)
42
+ return True
43
+ except Exception as e:
44
+ logger.error(f'do_start resume exception: {e}', e)
45
+ communicate.starting_emulator.emit(True, self.tr(f'Start failed: {e}'), 0)
46
+ return False
47
+
48
+ try:
49
+ logger.info(f'do_start: call do_refresh {self.start_exe}')
50
+ og.device_manager.do_refresh(True)
51
+ except Exception as e:
52
+ logger.error(f'do_start do_refresh exception: {e}', e)
35
53
  communicate.starting_emulator.emit(True, self.tr(str(e)), 0)
36
54
  return False
37
55
 
38
- try:
39
- if self.start_exe:
40
- if not self.start_device():
41
- return False
42
- else:
56
+ try:
57
+ if self.start_exe:
58
+ if not self.start_device():
59
+ return False
60
+ else:
43
61
  logger.info('windows.start_exe is False, skip start_device')
44
62
  self.check_gpu_driver_post_processing()
45
63
 
46
- def add_task_to_enable(enable_task):
47
- if enable_task and enable_task not in tasks_to_enable:
48
- tasks_to_enable.append(enable_task)
49
-
50
- for start_task in og.executor.get_all_tasks():
51
- if getattr(start_task, 'enable_after_start', False):
52
- logger.info(f"enable_after_start task {start_task}")
53
- add_task_to_enable(start_task)
54
-
55
- if isinstance(task, int):
56
- task = og.executor.onetime_tasks[task]
57
- logger.info(f"enable param task {task}")
58
- add_task_to_enable(task)
59
- if exit_after and task:
60
- task.exit_after_task = True
61
- communicate.task.emit(task)
62
- elif task:
63
- add_task_to_enable(task)
64
- if exit_after:
65
- task.exit_after_task = True
64
+ def add_task_to_enable(enable_task):
65
+ if enable_task and enable_task not in tasks_to_enable:
66
+ tasks_to_enable.append(enable_task)
67
+
68
+ for start_task in og.executor.get_all_tasks():
69
+ if getattr(start_task, 'enable_after_start', False):
70
+ logger.info(f"enable_after_start task {start_task}")
71
+ add_task_to_enable(start_task)
72
+
73
+ if task:
74
+ add_task_to_enable(task)
75
+ if exit_after:
76
+ task.exit_after_task = True
66
77
 
67
78
  for task in tasks_to_enable:
68
79
  task._enabled = True
@@ -846,6 +846,14 @@
846
846
  <source>OCR</source>
847
847
  <translation>OCR</translation>
848
848
  </message>
849
+ <message>
850
+ <source>Screenshot Folder</source>
851
+ <translation>Screenshot Folder</translation>
852
+ </message>
853
+ <message>
854
+ <source>Log Folder</source>
855
+ <translation>Log Folder</translation>
856
+ </message>
849
857
  </context>
850
858
  <context>
851
859
  <name>TaskButtons</name>
@@ -844,6 +844,14 @@
844
844
  <source>OCR</source>
845
845
  <translation>OCR</translation>
846
846
  </message>
847
+ <message>
848
+ <source>Screenshot Folder</source>
849
+ <translation>Carpeta de capturas</translation>
850
+ </message>
851
+ <message>
852
+ <source>Log Folder</source>
853
+ <translation>Carpeta de registros</translation>
854
+ </message>
847
855
  </context>
848
856
  <context>
849
857
  <name>TaskButtons</name>
@@ -836,6 +836,14 @@
836
836
  <source>Capture</source>
837
837
  <translation>キャプチャ</translation>
838
838
  </message>
839
+ <message>
840
+ <source>Screenshot Folder</source>
841
+ <translation>スクリーンショットフォルダー</translation>
842
+ </message>
843
+ <message>
844
+ <source>Log Folder</source>
845
+ <translation>ログフォルダー</translation>
846
+ </message>
839
847
  </context>
840
848
  <context>
841
849
  <name>TaskButtons</name>
@@ -845,6 +845,14 @@
845
845
  <source>OCR</source>
846
846
  <translation>OCR</translation>
847
847
  </message>
848
+ <message>
849
+ <source>Screenshot Folder</source>
850
+ <translation>스크린샷 폴더</translation>
851
+ </message>
852
+ <message>
853
+ <source>Log Folder</source>
854
+ <translation>로그 폴더</translation>
855
+ </message>
848
856
  </context>
849
857
  <context>
850
858
  <name>TaskButtons</name>
@@ -842,6 +842,14 @@
842
842
  <source>Capture</source>
843
843
  <translation>截图</translation>
844
844
  </message>
845
+ <message>
846
+ <source>Screenshot Folder</source>
847
+ <translation>截图目录</translation>
848
+ </message>
849
+ <message>
850
+ <source>Log Folder</source>
851
+ <translation>日志目录</translation>
852
+ </message>
845
853
  </context>
846
854
  <context>
847
855
  <name>TaskButtons</name>
@@ -840,6 +840,14 @@
840
840
  <source>Capture</source>
841
841
  <translation>截圖</translation>
842
842
  </message>
843
+ <message>
844
+ <source>Screenshot Folder</source>
845
+ <translation>截圖目錄</translation>
846
+ </message>
847
+ <message>
848
+ <source>Log Folder</source>
849
+ <translation>日誌目錄</translation>
850
+ </message>
843
851
  </context>
844
852
  <context>
845
853
  <name>TaskButtons</name>