ActionEnums.cpp 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. #include "stdafx.h"
  2. #include "ActionEnums.h"
  3. #include "Accels.h"
  4. #include "Misc.h"
  5. ActionEnums::ActionEnums()
  6. {
  7. }
  8. ActionEnums::~ActionEnums()
  9. {
  10. }
  11. CString ActionEnums::EnumDescription(ActionEnumValues value)
  12. {
  13. switch (value)
  14. {
  15. case SHOWDESCRIPTION:
  16. return "View Full Description";
  17. case NEXTDESCRIPTION:
  18. return "Next Full Description";
  19. case PREVDESCRIPTION:
  20. return "Previous Full Description";
  21. case SHOWMENU:
  22. return "Show Context Menu";
  23. case NEWGROUP:
  24. return "New Group";
  25. case NEWGROUPSELECTION:
  26. return "New Group Selection";
  27. case TOGGLEFILELOGGING:
  28. return "Toggle On File Logging";
  29. case TOGGLEOUTPUTDEBUGSTRING:
  30. return "Toggle OutputDebugString Logging";
  31. case CLOSEWINDOW:
  32. return "Close Window";
  33. case NEXTTABCONTROL:
  34. return "NEXTTABCONTROL";
  35. case PREVTABCONTROL:
  36. return "PREVTABCONTROL";
  37. case SHOWGROUPS:
  38. return "View Groups";
  39. case NEWCLIP:
  40. return "New Clip";
  41. case EDITCLIP:
  42. return "Edit Clip";
  43. case MODIFIER_ACTVE_SELECTIONUP:
  44. return "MODIFIER_ACTVE_SELECTIONUP";
  45. case MODIFIER_ACTVE_SELECTIONDOWN:
  46. return "MODIFIER_ACTVE_SELECTIONDOWN";
  47. case MODIFIER_ACTVE_MOVEFIRST:
  48. return "MODIFIER_ACTVE_MOVEFIRST";
  49. case MODIFIER_ACTVE_MOVELAST:
  50. return "MODIFIER_ACTVE_MOVELAST";
  51. case CANCELFILTER:
  52. return "Cancel Filter";
  53. case HOMELIST:
  54. return "HOMELIST";
  55. case BACKGRROUP:
  56. return "Back Group";
  57. case TOGGLESHOWPERSISTANT:
  58. return "Toggle Show Persistant";
  59. case PASTE_SELECTED:
  60. return "Paste Selected";
  61. case DELETE_SELECTED:
  62. return "Delete Selected";
  63. case CLIP_PROPERTIES:
  64. return "Clip Properties";
  65. case PASTE_SELECTED_PLAIN_TEXT:
  66. return "Paste Selected Plain Text";
  67. case MOVE_CLIP_TO_GROUP:
  68. return "Move Clip To Group";
  69. case ELEVATE_PRIVlEGES:
  70. return "Option - Elevate Privleges";
  71. case SHOW_IN_TASKBAR:
  72. return "Option - Show In TaskBar";
  73. case COMPARE_SELECTED_CLIPS:
  74. return "Compare Selected Clips";
  75. case SELECT_LEFT_SIDE_COMPARE:
  76. return "Select Left File For Compare";
  77. case SELECT_RIGHT_SITE_AND_DO_COMPARE:
  78. return "Select Right File And Do Compare";
  79. case EXPORT_TO_TEXT_FILE:
  80. return "Export To Text File";
  81. case EXPORT_TO_QR_CODE:
  82. return "Export To QR Code";
  83. case EXPORT_TO_GOOGLE_TRANSLATE:
  84. return "Export To Google Translate";
  85. case EXPORT_TO_BITMAP_FILE:
  86. return "Export To Image File";
  87. case SAVE_CURRENT_CLIPBOARD:
  88. return "Save Current Clipboard";
  89. case MOVE_CLIP_UP:
  90. return "Move Clip Up";
  91. case MOVE_CLIP_DOWN:
  92. return "Move Clip Down";
  93. case MOVE_CLIP_TOP:
  94. return "Move Clip Top";
  95. case FILTER_ON_SELECTED_CLIP:
  96. return "Filter On Selected Clip";
  97. case PASTE_UPPER_CASE:
  98. return "Paste Upper Case";
  99. case PASTE_LOWER_CASE:
  100. return "Paste Lower Case";
  101. case PASTE_CAPITALiZE:
  102. return "Paste Capitalize";
  103. case PASTE_SENTENCE_CASE:
  104. return "Paste Sentence Case";
  105. case PASTE_REMOVE_LINE_FEEDS:
  106. return "Paste Remove Line Feeds";
  107. case PASTE_ADD_ONE_LINE_FEED:
  108. return "Paste Add One Line Feed";
  109. case PASTE_ADD_TWO_LINE_FEEDS:
  110. return "Paste Add Two Line Feeds";
  111. case PASTE_TYPOGLYCEMIA:
  112. return "Paste Typoglycemia";
  113. case SEND_TO_FRIEND_1:
  114. return "Send to friend 1";
  115. case SEND_TO_FRIEND_2:
  116. return "Send to friend 2";
  117. case SEND_TO_FRIEND_3:
  118. return "Send to friend 3";
  119. case SEND_TO_FRIEND_4:
  120. return "Send to friend 4";
  121. case SEND_TO_FRIEND_5:
  122. return "Send to friend 5";
  123. case SEND_TO_FRIEND_6:
  124. return "Send to friend 6";
  125. case SEND_TO_FRIEND_7:
  126. return "Send to friend 7";
  127. case SEND_TO_FRIEND_8:
  128. return "Send to friend 8";
  129. case SEND_TO_FRIEND_9:
  130. return "Send to friend 9";
  131. case SEND_TO_FRIEND_10:
  132. return "Send to friend 10";
  133. case SEND_TO_FRIEND_11:
  134. return "Send to friend 11";
  135. case SEND_TO_FRIEND_12:
  136. return "Send to friend 12";
  137. case SEND_TO_FRIEND_13:
  138. return "Send to friend 13";
  139. case SEND_TO_FRIEND_14:
  140. return "Send to friend 14";
  141. case SEND_TO_FRIEND_15:
  142. return "Send to friend 15";
  143. case PASTE_POSITION_1:
  144. return "Paste Position 1";
  145. case PASTE_POSITION_2:
  146. return "Paste Position 2";
  147. case PASTE_POSITION_3:
  148. return "Paste Position 3";
  149. case PASTE_POSITION_4:
  150. return "Paste Position 4";
  151. case PASTE_POSITION_5:
  152. return "Paste Position 5";
  153. case PASTE_POSITION_6:
  154. return "Paste Position 6";
  155. case PASTE_POSITION_7:
  156. return "Paste Position 7";
  157. case PASTE_POSITION_8:
  158. return "Paste Position 8";
  159. case PASTE_POSITION_9:
  160. return "Paste Position 9";
  161. case PASTE_POSITION_10:
  162. return "Paste Position 10";
  163. case CONFIG_SHOW_FIRST_TEN_TEXT:
  164. return "Option - Show text for first ten copy hot keys";
  165. case CONFIG_SHOW_CLIP_WAS_PASTED:
  166. return "Option - Show indicator a clip has been pasted";
  167. case TOGGLE_LAST_GROUP_TOGGLE:
  168. return "Toggle Last Group Toggle";
  169. case MAKE_TOP_STICKY:
  170. return "Make Top Sticky Clip";
  171. case MAKE_LAST_STICKY:
  172. return "Make Last Sticky Clip";
  173. case REMOVE_STICKY:
  174. return "Remove Sticky Setting";
  175. case PASTE_ADD_CURRENT_TIME:
  176. return "Paste Add Current Time";
  177. case IMPORT_CLIP:
  178. return "Import Clip";
  179. case GLOBAl_HOTKEYS:
  180. return "Global HotKeys";
  181. case DELETE_CLIP_DATA:
  182. return "Delete Clip Data";
  183. }
  184. return "";
  185. }
  186. int ActionEnums::GetDefaultShortCutKeyA(ActionEnumValues value, int pos)
  187. {
  188. switch(pos)
  189. {
  190. case 0:
  191. switch (value)
  192. {
  193. case ActionEnums::SHOWDESCRIPTION:
  194. return VK_F3;
  195. case ActionEnums::NEXTDESCRIPTION:
  196. return 'N';
  197. case ActionEnums::PREVDESCRIPTION:
  198. return 'P';
  199. case ActionEnums::NEWGROUP:
  200. return ACCEL_MAKEKEY(VK_F7, HOTKEYF_CONTROL);
  201. case ActionEnums::NEWGROUPSELECTION:
  202. return VK_F7;
  203. case ActionEnums::SHOWGROUPS:
  204. return ACCEL_MAKEKEY('G', HOTKEYF_CONTROL);
  205. case ActionEnums::NEWCLIP:
  206. return ACCEL_MAKEKEY('N', HOTKEYF_CONTROL);
  207. case ActionEnums::EDITCLIP:
  208. return ACCEL_MAKEKEY('E', HOTKEYF_CONTROL);
  209. case ActionEnums::CANCELFILTER:
  210. return ACCEL_MAKEKEY('C', HOTKEYF_ALT);
  211. case ActionEnums::TOGGLESHOWPERSISTANT:
  212. return ACCEL_MAKEKEY(VK_SPACE, HOTKEYF_CONTROL);
  213. case ActionEnums::CLIP_PROPERTIES:
  214. return ACCEL_MAKEKEY(VK_RETURN, HOTKEYF_ALT);
  215. case ActionEnums::PASTE_SELECTED_PLAIN_TEXT:
  216. return ACCEL_MAKEKEY(VK_RETURN, HOTKEYF_SHIFT);
  217. case ActionEnums::COMPARE_SELECTED_CLIPS:
  218. return ACCEL_MAKEKEY(VK_F2, HOTKEYF_CONTROL);
  219. case ActionEnums::PASTE_SELECTED:
  220. return VK_RETURN;
  221. case ActionEnums::SHOWMENU:
  222. return VK_MOUSE_RIGHT_CLICK;
  223. case PASTE_POSITION_1:
  224. return ACCEL_MAKEKEY('1', HOTKEYF_CONTROL);
  225. case PASTE_POSITION_2:
  226. return ACCEL_MAKEKEY('2', HOTKEYF_CONTROL);
  227. case PASTE_POSITION_3:
  228. return ACCEL_MAKEKEY('3', HOTKEYF_CONTROL);
  229. case PASTE_POSITION_4:
  230. return ACCEL_MAKEKEY('4', HOTKEYF_CONTROL);
  231. case PASTE_POSITION_5:
  232. return ACCEL_MAKEKEY('5', HOTKEYF_CONTROL);
  233. case PASTE_POSITION_6:
  234. return ACCEL_MAKEKEY('6', HOTKEYF_CONTROL);
  235. case PASTE_POSITION_7:
  236. return ACCEL_MAKEKEY('7', HOTKEYF_CONTROL);
  237. case PASTE_POSITION_8:
  238. return ACCEL_MAKEKEY('8', HOTKEYF_CONTROL);
  239. case PASTE_POSITION_9:
  240. return ACCEL_MAKEKEY('9', HOTKEYF_CONTROL);
  241. case PASTE_POSITION_10:
  242. return ACCEL_MAKEKEY('0', HOTKEYF_CONTROL);
  243. case CLOSEWINDOW:
  244. return VK_ESCAPE;
  245. }
  246. break;
  247. case 1:
  248. switch (value)
  249. {
  250. case ActionEnums::PREVDESCRIPTION:
  251. return VK_UP;
  252. case ActionEnums::NEXTDESCRIPTION:
  253. return VK_DOWN;
  254. case ActionEnums::PASTE_SELECTED:
  255. return VK_MOUSE_DOUBLE_CLICK;
  256. case PASTE_POSITION_1:
  257. return ACCEL_MAKEKEY(VK_NUMPAD1, HOTKEYF_CONTROL);
  258. case PASTE_POSITION_2:
  259. return ACCEL_MAKEKEY(VK_NUMPAD2, HOTKEYF_CONTROL);
  260. case PASTE_POSITION_3:
  261. return ACCEL_MAKEKEY(VK_NUMPAD3, HOTKEYF_CONTROL);
  262. case PASTE_POSITION_4:
  263. return ACCEL_MAKEKEY(VK_NUMPAD4, HOTKEYF_CONTROL);
  264. case PASTE_POSITION_5:
  265. return ACCEL_MAKEKEY(VK_NUMPAD5, HOTKEYF_CONTROL);
  266. case PASTE_POSITION_6:
  267. return ACCEL_MAKEKEY(VK_NUMPAD6, HOTKEYF_CONTROL);
  268. case PASTE_POSITION_7:
  269. return ACCEL_MAKEKEY(VK_NUMPAD7, HOTKEYF_CONTROL);
  270. case PASTE_POSITION_8:
  271. return ACCEL_MAKEKEY(VK_NUMPAD8, HOTKEYF_CONTROL);
  272. case PASTE_POSITION_9:
  273. return ACCEL_MAKEKEY(VK_NUMPAD9, HOTKEYF_CONTROL);
  274. case PASTE_POSITION_10:
  275. return ACCEL_MAKEKEY(VK_NUMPAD0, HOTKEYF_CONTROL);
  276. }
  277. break;
  278. }
  279. return -1;
  280. }
  281. int ActionEnums::GetDefaultShortCutKeyB(ActionEnumValues value, int pos)
  282. {
  283. switch (pos)
  284. {
  285. case 0:
  286. //switch (value)
  287. //{
  288. //}
  289. break;
  290. }
  291. return -1;
  292. }
  293. bool ActionEnums::UserConfigurable(ActionEnumValues value)
  294. {
  295. switch (value)
  296. {
  297. case ActionEnums::NEXTTABCONTROL:
  298. case ActionEnums::PREVTABCONTROL:
  299. case ActionEnums::MODIFIER_ACTVE_SELECTIONUP:
  300. case ActionEnums::MODIFIER_ACTVE_SELECTIONDOWN:
  301. case ActionEnums::MODIFIER_ACTVE_MOVEFIRST:
  302. case ActionEnums::MODIFIER_ACTVE_MOVELAST:
  303. case ActionEnums::BACKGRROUP:
  304. case ActionEnums::DELETE_SELECTED:
  305. case ActionEnums::TOGGLEFILELOGGING:
  306. case ActionEnums::TOGGLEOUTPUTDEBUGSTRING:
  307. case ActionEnums::HOMELIST:
  308. return false;
  309. }
  310. return true;
  311. }