rummage 4.25__tar.gz → 4.26.1__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 (217) hide show
  1. {rummage-4.25 → rummage-4.26.1}/PKG-INFO +2 -2
  2. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/about/changelog.md +13 -0
  3. {rummage-4.25 → rummage-4.26.1}/gui.fbp +136 -148
  4. {rummage-4.25 → rummage-4.26.1}/pyproject.toml +1 -1
  5. {rummage-4.25 → rummage-4.26.1}/requirements/project.txt +1 -1
  6. {rummage-4.25 → rummage-4.26.1}/rummage/lib/__meta__.py +1 -1
  7. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/result_lists.py +13 -4
  8. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/about/changelog.html +13 -0
  9. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/about/contributing.html +2 -2
  10. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/usage.html +2 -2
  11. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/rummage_dialog.py +31 -5
  12. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/gui.py +13 -20
  13. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/util/__init__.py +2 -2
  14. {rummage-4.25 → rummage-4.26.1}/rummage/lib/rumcore/__init__.py +15 -28
  15. {rummage-4.25 → rummage-4.26.1}/.coveragerc +0 -0
  16. {rummage-4.25 → rummage-4.26.1}/.gitignore +0 -0
  17. {rummage-4.25 → rummage-4.26.1}/LICENSE.md +0 -0
  18. {rummage-4.25 → rummage-4.26.1}/README.md +0 -0
  19. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/.snippets/abbr.md +0 -0
  20. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/.snippets/links.md +0 -0
  21. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/.snippets/refs.md +0 -0
  22. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/about/contributing.md +0 -0
  23. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/about/license.md +0 -0
  24. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/extras.md +0 -0
  25. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/chain_button.png +0 -0
  26. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/chain_mode.png +0 -0
  27. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/chains.png +0 -0
  28. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/content_tab.png +0 -0
  29. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/file_pattern.png +0 -0
  30. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/files_tab.png +0 -0
  31. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/html_export.png +0 -0
  32. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/limit_search_panel.png +0 -0
  33. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/load_search.png +0 -0
  34. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/logo.svg +0 -0
  35. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/plugin_input.png +0 -0
  36. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/plugin_toggle.png +0 -0
  37. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/preview.png +0 -0
  38. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/regex_buttons.png +0 -0
  39. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/regex_tester.png +0 -0
  40. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/rummage.png +0 -0
  41. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/rummage.svg +0 -0
  42. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/save_search.png +0 -0
  43. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/search_replace_inputs.png +0 -0
  44. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/search_replace_panel.png +0 -0
  45. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/search_tab.png +0 -0
  46. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_backup.png +0 -0
  47. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_editor.png +0 -0
  48. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_encoding.png +0 -0
  49. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_export.png +0 -0
  50. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_general.png +0 -0
  51. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_history.png +0 -0
  52. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_import.png +0 -0
  53. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_notify.png +0 -0
  54. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/settings_search.png +0 -0
  55. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/thunar-basic.png +0 -0
  56. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/thunar-conditions.png +0 -0
  57. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/images/thunar-custom.png +0 -0
  58. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/index.md +0 -0
  59. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/installation.md +0 -0
  60. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/preferences.md +0 -0
  61. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/search.md +0 -0
  62. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/sitemap.md +0 -0
  63. {rummage-4.25 → rummage-4.26.1}/docs/src/markdown/usage.md +0 -0
  64. {rummage-4.25 → rummage-4.26.1}/docs/theme/announce.html +0 -0
  65. {rummage-4.25 → rummage-4.26.1}/docs/theme/assets/pymdownx-extras/extra-95634471d6.css +0 -0
  66. {rummage-4.25 → rummage-4.26.1}/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js +0 -0
  67. {rummage-4.25 → rummage-4.26.1}/docs/theme/main.html +0 -0
  68. {rummage-4.25 → rummage-4.26.1}/docs/theme/nav.html +0 -0
  69. {rummage-4.25 → rummage-4.26.1}/docs/theme/sitemap.html +0 -0
  70. {rummage-4.25 → rummage-4.26.1}/hatch_build.py +0 -0
  71. {rummage-4.25 → rummage-4.26.1}/requirements/docs.txt +0 -0
  72. {rummage-4.25 → rummage-4.26.1}/requirements/extras.txt +0 -0
  73. {rummage-4.25 → rummage-4.26.1}/requirements/lint.txt +0 -0
  74. {rummage-4.25 → rummage-4.26.1}/requirements/setup.txt +0 -0
  75. {rummage-4.25 → rummage-4.26.1}/requirements/test-project.txt +0 -0
  76. {rummage-4.25 → rummage-4.26.1}/requirements/test.txt +0 -0
  77. {rummage-4.25 → rummage-4.26.1}/rummage/__init__.py +0 -0
  78. {rummage-4.25 → rummage-4.26.1}/rummage/__main__.py +0 -0
  79. {rummage-4.25 → rummage-4.26.1}/rummage/lib/__init__.py +0 -0
  80. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/__init__.py +0 -0
  81. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/__init__.py +0 -0
  82. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/checksum/__init__.py +0 -0
  83. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/checksum/sum_hashes.py +0 -0
  84. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/checksum/tiger.py +0 -0
  85. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/checksum/whirlpool.py +0 -0
  86. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/export_csv.py +0 -0
  87. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/export_html.py +0 -0
  88. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/fileops.py +0 -0
  89. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/sanitize_json.py +0 -0
  90. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/actions/updates.py +0 -0
  91. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/app/__init__.py +0 -0
  92. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/app/custom_app.py +0 -0
  93. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/app/platform_window_focus.py +0 -0
  94. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/app/rummage_app.py +0 -0
  95. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/__init__.py +0 -0
  96. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/autocomplete_combo.py +0 -0
  97. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/collapsible_pane.py +0 -0
  98. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/custom_statusbar.py +0 -0
  99. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/date_picker.py +0 -0
  100. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/dock_icon.py +0 -0
  101. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/dynamic_lists.py +0 -0
  102. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/encoding_list.py +0 -0
  103. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/file_picker.py +0 -0
  104. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/load_search_list.py +0 -0
  105. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/pick_button.py +0 -0
  106. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/search_chain_list.py +0 -0
  107. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/search_error_list.py +0 -0
  108. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/time_picker.py +0 -0
  109. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/controls/webview.py +0 -0
  110. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/__init__.py +0 -0
  111. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/arrow_down.png +0 -0
  112. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/arrow_left.png +0 -0
  113. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/arrow_right.png +0 -0
  114. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/arrow_up.png +0 -0
  115. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/binary.png +0 -0
  116. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/doc.png +0 -0
  117. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/404.html +0 -0
  118. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/about/license.html +0 -0
  119. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/css/theme.css +0 -0
  120. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/extras.html +0 -0
  121. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/chain_button.png +0 -0
  122. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/chain_mode.png +0 -0
  123. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/chains.png +0 -0
  124. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/content_tab.png +0 -0
  125. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/file_pattern.png +0 -0
  126. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/files_tab.png +0 -0
  127. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/html_export.png +0 -0
  128. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/limit_search_panel.png +0 -0
  129. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/load_search.png +0 -0
  130. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/logo.svg +0 -0
  131. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/plugin_input.png +0 -0
  132. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/plugin_toggle.png +0 -0
  133. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/preview.png +0 -0
  134. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/regex_buttons.png +0 -0
  135. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/regex_tester.png +0 -0
  136. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/rummage.png +0 -0
  137. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/rummage.svg +0 -0
  138. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/save_search.png +0 -0
  139. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/search_replace_inputs.png +0 -0
  140. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/search_replace_panel.png +0 -0
  141. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/search_tab.png +0 -0
  142. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_backup.png +0 -0
  143. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_editor.png +0 -0
  144. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_encoding.png +0 -0
  145. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_export.png +0 -0
  146. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_general.png +0 -0
  147. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_history.png +0 -0
  148. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_import.png +0 -0
  149. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_notify.png +0 -0
  150. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/settings_search.png +0 -0
  151. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/thunar-basic.png +0 -0
  152. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/thunar-conditions.png +0 -0
  153. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/images/thunar-custom.png +0 -0
  154. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/index.html +0 -0
  155. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/installation.html +0 -0
  156. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/js/theme.js +0 -0
  157. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/preferences.html +0 -0
  158. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/search.html +0 -0
  159. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/docs/sitemap.html +0 -0
  160. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/error.png +0 -0
  161. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/glass.png +0 -0
  162. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/results.css +0 -0
  163. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage.icns +0 -0
  164. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage.ico +0 -0
  165. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage.png +0 -0
  166. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_1024.png +0 -0
  167. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_128.png +0 -0
  168. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_16.png +0 -0
  169. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_256.png +0 -0
  170. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_32.png +0 -0
  171. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_40.png +0 -0
  172. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_48.png +0 -0
  173. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_512.png +0 -0
  174. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/rummage_mac.png +0 -0
  175. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/data/sorttable.js +0 -0
  176. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/__init__.py +0 -0
  177. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/checksum_dialog.py +0 -0
  178. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/column_dialog.py +0 -0
  179. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/delete_dialog.py +0 -0
  180. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/edit_search_chain_dialog.py +0 -0
  181. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/error_text_dialog.py +0 -0
  182. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/export_settings_dialog.py +0 -0
  183. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/file_ext_dialog.py +0 -0
  184. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/generic_dialogs.py +0 -0
  185. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/html_dialog.py +0 -0
  186. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/import_settings_dialog.py +0 -0
  187. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/load_search_dialog.py +0 -0
  188. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/msg_dialogs.py +0 -0
  189. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/overwrite_dialog.py +0 -0
  190. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/regex_test_dialog.py +0 -0
  191. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/save_search_dialog.py +0 -0
  192. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/search_chain_dialog.py +0 -0
  193. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/search_error_dialog.py +0 -0
  194. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/settings_dialog.py +0 -0
  195. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/dialogs/support_info_dialog.py +0 -0
  196. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/localization/__init__.py +0 -0
  197. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/localization/locale/en_US/LC_MESSAGES/rummage.po +0 -0
  198. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/localization/locale/ru_RU/LC_MESSAGES/rummage.po +0 -0
  199. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/notify/__init__.py +0 -0
  200. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/notify/notify_linux.py +0 -0
  201. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/notify/notify_osx.py +0 -0
  202. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/notify/notify_windows.py +0 -0
  203. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/notify/util.py +0 -0
  204. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/settings/__init__.py +0 -0
  205. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/util/colors.py +0 -0
  206. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/util/images.py +0 -0
  207. {rummage-4.25 → rummage-4.26.1}/rummage/lib/gui/util/png.py +0 -0
  208. {rummage-4.25 → rummage-4.26.1}/rummage/lib/rumcore/text_decode.py +0 -0
  209. {rummage-4.25 → rummage-4.26.1}/rummage/lib/rumcore/util.py +0 -0
  210. {rummage-4.25 → rummage-4.26.1}/tests/__init__.py +0 -0
  211. {rummage-4.25 → rummage-4.26.1}/tests/test_rumcore.py +0 -0
  212. {rummage-4.25 → rummage-4.26.1}/tests/test_text_decode.py +0 -0
  213. {rummage-4.25 → rummage-4.26.1}/tests/test_versions.py +0 -0
  214. {rummage-4.25 → rummage-4.26.1}/tests/util.py +0 -0
  215. {rummage-4.25 → rummage-4.26.1}/tools/__init__.py +0 -0
  216. {rummage-4.25 → rummage-4.26.1}/tools/gen_docs.py +0 -0
  217. {rummage-4.25 → rummage-4.26.1}/tools/gui_patch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rummage
3
- Version: 4.25
3
+ Version: 4.26.1
4
4
  Summary: A GUI search and replace app.
5
5
  Project-URL: Homepage, https://github.com/facelessuser/Rummage
6
6
  Author-email: Isaac Muse <Isaac.Muse@gmail.com>
@@ -24,7 +24,7 @@ Classifier: Topic :: Text Processing :: Filters
24
24
  Classifier: Topic :: Text Processing :: Markup :: HTML
25
25
  Requires-Python: >=3.10
26
26
  Requires-Dist: backrefs>=7.0
27
- Requires-Dist: bracex>=3.0
27
+ Requires-Dist: bracex>=3.0.1
28
28
  Requires-Dist: chardet>=7.4.3
29
29
  Requires-Dist: coloraide>=8.10
30
30
  Requires-Dist: filelock>=3.29.7
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.26.1
4
+
5
+ - **FIX**: Require `bracex` 3.0.1 for a bug fix related to an edge case with numerical and character sequences.
6
+ - **FIX**: Fix formatting of size limit controls.
7
+ - **FIX**: Color adjustments for latest macOS releases.
8
+
9
+ ## 4.26
10
+
11
+ - **NEW**: Show file sizes in proper, various increments: bytes, KB, MB, and GB.
12
+ - **NEW**: Add control to select file size unit types in limiter panel.
13
+ - **FIX**: Fix issue where directory picker for target folder to search would not start with the current, specified
14
+ directory, even when it is valid.
15
+
3
16
  ## 4.25
4
17
 
5
18
  - **NEW**: Require `wcmatch` 11.0+.
@@ -2879,7 +2879,7 @@
2879
2879
  <object class="wxGridBagSizer" expanded="false">
2880
2880
  <property name="empty_cell_size"></property>
2881
2881
  <property name="flexible_direction">wxBOTH</property>
2882
- <property name="growablecols">7</property>
2882
+ <property name="growablecols">6</property>
2883
2883
  <property name="growablerows">0,1,2,3</property>
2884
2884
  <property name="hgap">0</property>
2885
2885
  <property name="minimum_size"></property>
@@ -3022,156 +3022,144 @@
3022
3022
  </object>
3023
3023
  <object class="gbsizeritem" expanded="false">
3024
3024
  <property name="border">5</property>
3025
- <property name="colspan">3</property>
3025
+ <property name="colspan">1</property>
3026
+ <property name="column">3</property>
3027
+ <property name="flag">wxALL|wxEXPAND</property>
3028
+ <property name="row">0</property>
3029
+ <property name="rowspan">1</property>
3030
+ <object class="wxChoice" expanded="false">
3031
+ <property name="BottomDockable">1</property>
3032
+ <property name="LeftDockable">1</property>
3033
+ <property name="RightDockable">1</property>
3034
+ <property name="TopDockable">1</property>
3035
+ <property name="aui_layer">0</property>
3036
+ <property name="aui_name"></property>
3037
+ <property name="aui_position">0</property>
3038
+ <property name="aui_row">0</property>
3039
+ <property name="best_size"></property>
3040
+ <property name="bg"></property>
3041
+ <property name="caption"></property>
3042
+ <property name="caption_visible">1</property>
3043
+ <property name="center_pane">0</property>
3044
+ <property name="choices">&quot;bytes&quot; &quot;KB&quot; &quot;MB&quot; &quot;GB&quot; &quot;TB&quot;</property>
3045
+ <property name="close_button">1</property>
3046
+ <property name="context_help"></property>
3047
+ <property name="context_menu">1</property>
3048
+ <property name="default_pane">0</property>
3049
+ <property name="dock">Dock</property>
3050
+ <property name="dock_fixed">0</property>
3051
+ <property name="docking">Left</property>
3052
+ <property name="drag_accept_files">0</property>
3053
+ <property name="enabled">1</property>
3054
+ <property name="fg"></property>
3055
+ <property name="floatable">1</property>
3056
+ <property name="font"></property>
3057
+ <property name="gripper">0</property>
3058
+ <property name="hidden">0</property>
3059
+ <property name="id">wxID_ANY</property>
3060
+ <property name="max_size"></property>
3061
+ <property name="maximize_button">0</property>
3062
+ <property name="maximum_size"></property>
3063
+ <property name="min_size"></property>
3064
+ <property name="minimize_button">0</property>
3065
+ <property name="minimum_size"></property>
3066
+ <property name="moveable">1</property>
3067
+ <property name="name">m_size_type_choice</property>
3068
+ <property name="pane_border">1</property>
3069
+ <property name="pane_position"></property>
3070
+ <property name="pane_size"></property>
3071
+ <property name="permission">protected</property>
3072
+ <property name="pin_button">1</property>
3073
+ <property name="pos"></property>
3074
+ <property name="resize">Resizable</property>
3075
+ <property name="selection">1</property>
3076
+ <property name="show">1</property>
3077
+ <property name="size"></property>
3078
+ <property name="style"></property>
3079
+ <property name="subclass">; ; forward_declare</property>
3080
+ <property name="toolbar_pane">0</property>
3081
+ <property name="tooltip"></property>
3082
+ <property name="validator_data_type"></property>
3083
+ <property name="validator_style">wxFILTER_NONE</property>
3084
+ <property name="validator_type">wxDefaultValidator</property>
3085
+ <property name="validator_variable"></property>
3086
+ <property name="window_extra_style"></property>
3087
+ <property name="window_name"></property>
3088
+ <property name="window_style"></property>
3089
+ </object>
3090
+ </object>
3091
+ <object class="gbsizeritem" expanded="false">
3092
+ <property name="border">5</property>
3093
+ <property name="colspan">1</property>
3026
3094
  <property name="column">2</property>
3027
- <property name="flag">wxEXPAND</property>
3095
+ <property name="flag">wxALL|wxEXPAND</property>
3028
3096
  <property name="row">0</property>
3029
3097
  <property name="rowspan">1</property>
3030
- <object class="wxFlexGridSizer" expanded="false">
3031
- <property name="cols">2</property>
3032
- <property name="flexible_direction">wxHORIZONTAL</property>
3033
- <property name="growablecols"></property>
3034
- <property name="growablerows"></property>
3035
- <property name="hgap">0</property>
3098
+ <object class="wxTextCtrl" expanded="false">
3099
+ <property name="BottomDockable">1</property>
3100
+ <property name="LeftDockable">1</property>
3101
+ <property name="RightDockable">1</property>
3102
+ <property name="TopDockable">1</property>
3103
+ <property name="aui_layer">0</property>
3104
+ <property name="aui_name"></property>
3105
+ <property name="aui_position">0</property>
3106
+ <property name="aui_row">0</property>
3107
+ <property name="best_size"></property>
3108
+ <property name="bg"></property>
3109
+ <property name="caption"></property>
3110
+ <property name="caption_visible">1</property>
3111
+ <property name="center_pane">0</property>
3112
+ <property name="close_button">1</property>
3113
+ <property name="context_help"></property>
3114
+ <property name="context_menu">1</property>
3115
+ <property name="default_pane">0</property>
3116
+ <property name="dock">Dock</property>
3117
+ <property name="dock_fixed">0</property>
3118
+ <property name="docking">Left</property>
3119
+ <property name="drag_accept_files">0</property>
3120
+ <property name="enabled">1</property>
3121
+ <property name="fg"></property>
3122
+ <property name="floatable">1</property>
3123
+ <property name="font"></property>
3124
+ <property name="gripper">0</property>
3125
+ <property name="hidden">0</property>
3126
+ <property name="id">wxID_ANY</property>
3127
+ <property name="max_size"></property>
3128
+ <property name="maximize_button">0</property>
3129
+ <property name="maximum_size">-1,-1</property>
3130
+ <property name="maxlength">0</property>
3131
+ <property name="min_size"></property>
3132
+ <property name="minimize_button">0</property>
3036
3133
  <property name="minimum_size"></property>
3037
- <property name="name">fgSizer37</property>
3038
- <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
3039
- <property name="permission">none</property>
3040
- <property name="rows">0</property>
3041
- <property name="vgap">0</property>
3042
- <object class="sizeritem" expanded="false">
3043
- <property name="border">5</property>
3044
- <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
3045
- <property name="proportion">1</property>
3046
- <object class="wxTextCtrl" expanded="false">
3047
- <property name="BottomDockable">1</property>
3048
- <property name="LeftDockable">1</property>
3049
- <property name="RightDockable">1</property>
3050
- <property name="TopDockable">1</property>
3051
- <property name="aui_layer">0</property>
3052
- <property name="aui_name"></property>
3053
- <property name="aui_position">0</property>
3054
- <property name="aui_row">0</property>
3055
- <property name="best_size"></property>
3056
- <property name="bg"></property>
3057
- <property name="caption"></property>
3058
- <property name="caption_visible">1</property>
3059
- <property name="center_pane">0</property>
3060
- <property name="close_button">1</property>
3061
- <property name="context_help"></property>
3062
- <property name="context_menu">1</property>
3063
- <property name="default_pane">0</property>
3064
- <property name="dock">Dock</property>
3065
- <property name="dock_fixed">0</property>
3066
- <property name="docking">Left</property>
3067
- <property name="drag_accept_files">0</property>
3068
- <property name="enabled">1</property>
3069
- <property name="fg"></property>
3070
- <property name="floatable">1</property>
3071
- <property name="font"></property>
3072
- <property name="gripper">0</property>
3073
- <property name="hidden">0</property>
3074
- <property name="id">wxID_ANY</property>
3075
- <property name="max_size"></property>
3076
- <property name="maximize_button">0</property>
3077
- <property name="maximum_size">-1,-1</property>
3078
- <property name="maxlength">0</property>
3079
- <property name="min_size"></property>
3080
- <property name="minimize_button">0</property>
3081
- <property name="minimum_size"></property>
3082
- <property name="moveable">1</property>
3083
- <property name="name">m_size_text</property>
3084
- <property name="pane_border">1</property>
3085
- <property name="pane_position"></property>
3086
- <property name="pane_size"></property>
3087
- <property name="permission">protected</property>
3088
- <property name="pin_button">1</property>
3089
- <property name="pos"></property>
3090
- <property name="resize">Resizable</property>
3091
- <property name="show">1</property>
3092
- <property name="size">-1,-1</property>
3093
- <property name="style"></property>
3094
- <property name="subclass"></property>
3095
- <property name="toolbar_pane">0</property>
3096
- <property name="tooltip"></property>
3097
- <property name="validator_data_type"></property>
3098
- <property name="validator_style">wxFILTER_NONE|wxFILTER_NUMERIC</property>
3099
- <property name="validator_type">wxDefaultValidator</property>
3100
- <property name="validator_variable"></property>
3101
- <property name="value">1000</property>
3102
- <property name="window_extra_style"></property>
3103
- <property name="window_name"></property>
3104
- <property name="window_style"></property>
3105
- </object>
3106
- </object>
3107
- <object class="sizeritem" expanded="false">
3108
- <property name="border">5</property>
3109
- <property name="flag">wxBOTTOM|wxRIGHT|wxTOP|wxALIGN_CENTER_VERTICAL</property>
3110
- <property name="proportion">0</property>
3111
- <object class="wxStaticText" expanded="false">
3112
- <property name="BottomDockable">1</property>
3113
- <property name="LeftDockable">1</property>
3114
- <property name="RightDockable">1</property>
3115
- <property name="TopDockable">1</property>
3116
- <property name="aui_layer">0</property>
3117
- <property name="aui_name"></property>
3118
- <property name="aui_position">0</property>
3119
- <property name="aui_row">0</property>
3120
- <property name="best_size"></property>
3121
- <property name="bg"></property>
3122
- <property name="caption"></property>
3123
- <property name="caption_visible">1</property>
3124
- <property name="center_pane">0</property>
3125
- <property name="close_button">1</property>
3126
- <property name="context_help"></property>
3127
- <property name="context_menu">1</property>
3128
- <property name="default_pane">0</property>
3129
- <property name="dock">Dock</property>
3130
- <property name="dock_fixed">0</property>
3131
- <property name="docking">Left</property>
3132
- <property name="drag_accept_files">0</property>
3133
- <property name="enabled">1</property>
3134
- <property name="fg"></property>
3135
- <property name="floatable">1</property>
3136
- <property name="font"></property>
3137
- <property name="gripper">0</property>
3138
- <property name="hidden">0</property>
3139
- <property name="id">wxID_ANY</property>
3140
- <property name="label">KB</property>
3141
- <property name="markup">0</property>
3142
- <property name="max_size"></property>
3143
- <property name="maximize_button">0</property>
3144
- <property name="maximum_size"></property>
3145
- <property name="min_size"></property>
3146
- <property name="minimize_button">0</property>
3147
- <property name="minimum_size"></property>
3148
- <property name="moveable">1</property>
3149
- <property name="name">m_size_type_label</property>
3150
- <property name="pane_border">1</property>
3151
- <property name="pane_position"></property>
3152
- <property name="pane_size"></property>
3153
- <property name="permission">protected</property>
3154
- <property name="pin_button">1</property>
3155
- <property name="pos"></property>
3156
- <property name="resize">Resizable</property>
3157
- <property name="show">1</property>
3158
- <property name="size"></property>
3159
- <property name="style"></property>
3160
- <property name="subclass"></property>
3161
- <property name="toolbar_pane">0</property>
3162
- <property name="tooltip"></property>
3163
- <property name="window_extra_style"></property>
3164
- <property name="window_name"></property>
3165
- <property name="window_style"></property>
3166
- <property name="wrap">-1</property>
3167
- </object>
3168
- </object>
3134
+ <property name="moveable">1</property>
3135
+ <property name="name">m_size_text</property>
3136
+ <property name="pane_border">1</property>
3137
+ <property name="pane_position"></property>
3138
+ <property name="pane_size"></property>
3139
+ <property name="permission">protected</property>
3140
+ <property name="pin_button">1</property>
3141
+ <property name="pos"></property>
3142
+ <property name="resize">Resizable</property>
3143
+ <property name="show">1</property>
3144
+ <property name="size">-1,-1</property>
3145
+ <property name="style"></property>
3146
+ <property name="subclass"></property>
3147
+ <property name="toolbar_pane">0</property>
3148
+ <property name="tooltip"></property>
3149
+ <property name="validator_data_type"></property>
3150
+ <property name="validator_style">wxFILTER_NONE|wxFILTER_NUMERIC</property>
3151
+ <property name="validator_type">wxDefaultValidator</property>
3152
+ <property name="validator_variable"></property>
3153
+ <property name="value">1000</property>
3154
+ <property name="window_extra_style"></property>
3155
+ <property name="window_name"></property>
3156
+ <property name="window_style"></property>
3169
3157
  </object>
3170
3158
  </object>
3171
3159
  <object class="gbsizeritem" expanded="false">
3172
3160
  <property name="border">5</property>
3173
3161
  <property name="colspan">1</property>
3174
- <property name="column">6</property>
3162
+ <property name="column">5</property>
3175
3163
  <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT</property>
3176
3164
  <property name="row">0</property>
3177
3165
  <property name="rowspan">1</property>
@@ -3236,7 +3224,7 @@
3236
3224
  <object class="gbsizeritem" expanded="false">
3237
3225
  <property name="border">5</property>
3238
3226
  <property name="colspan">1</property>
3239
- <property name="column">7</property>
3227
+ <property name="column">6</property>
3240
3228
  <property name="flag">wxALL|wxEXPAND</property>
3241
3229
  <property name="row">0</property>
3242
3230
  <property name="rowspan">1</property>
@@ -3302,7 +3290,7 @@
3302
3290
  <object class="gbsizeritem" expanded="false">
3303
3291
  <property name="border">5</property>
3304
3292
  <property name="colspan">1</property>
3305
- <property name="column">8</property>
3293
+ <property name="column">7</property>
3306
3294
  <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
3307
3295
  <property name="row">0</property>
3308
3296
  <property name="rowspan">1</property>
@@ -3636,7 +3624,7 @@
3636
3624
  <object class="gbsizeritem" expanded="false">
3637
3625
  <property name="border">5</property>
3638
3626
  <property name="colspan">1</property>
3639
- <property name="column">6</property>
3627
+ <property name="column">5</property>
3640
3628
  <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT</property>
3641
3629
  <property name="row">1</property>
3642
3630
  <property name="rowspan">1</property>
@@ -3701,7 +3689,7 @@
3701
3689
  <object class="gbsizeritem" expanded="false">
3702
3690
  <property name="border">5</property>
3703
3691
  <property name="colspan">1</property>
3704
- <property name="column">7</property>
3692
+ <property name="column">6</property>
3705
3693
  <property name="flag">wxALL|wxEXPAND</property>
3706
3694
  <property name="row">1</property>
3707
3695
  <property name="rowspan">1</property>
@@ -3767,7 +3755,7 @@
3767
3755
  <object class="gbsizeritem" expanded="false">
3768
3756
  <property name="border">5</property>
3769
3757
  <property name="colspan">1</property>
3770
- <property name="column">8</property>
3758
+ <property name="column">7</property>
3771
3759
  <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>
3772
3760
  <property name="row">1</property>
3773
3761
  <property name="rowspan">1</property>
@@ -4101,7 +4089,7 @@
4101
4089
  <object class="gbsizeritem" expanded="false">
4102
4090
  <property name="border">5</property>
4103
4091
  <property name="colspan">1</property>
4104
- <property name="column">5</property>
4092
+ <property name="column">4</property>
4105
4093
  <property name="flag">wxALL|wxEXPAND|wxRESERVE_SPACE_EVEN_IF_HIDDEN</property>
4106
4094
  <property name="row">0</property>
4107
4095
  <property name="rowspan">3</property>
@@ -181,6 +181,6 @@ deps =
181
181
  -rrequirements/docs.txt
182
182
  commands =
183
183
  {envbindir}/zensical build -f zensical.yml --clean
184
- pyspelling -j 0
184
+ pyspelling -j 8
185
185
  {envpython} {toxinidir}/tools/gen_docs.py --verbose --test
186
186
  """
@@ -1,6 +1,6 @@
1
1
  chardet>=7.4.3
2
2
  backrefs>=7.0
3
- bracex>=3.0
3
+ bracex>=3.0.1
4
4
  wcmatch>=11.0,<12.0
5
5
  wxpython>=4.1.0
6
6
  filelock>=3.29.7
@@ -189,7 +189,7 @@ def parse_version(ver):
189
189
 
190
190
 
191
191
  # (major, minor, micro, release type, pre-release build, post-release build, development-release)
192
- __version_info__ = Version(4, 25, 0, 'final')
192
+ __version_info__ = Version(4, 26, 1, 'final')
193
193
  __version__ = __version_info__._get_canonical()
194
194
  __app__ = "Rummage"
195
195
  __status__ = __version_info__[3]
@@ -20,7 +20,6 @@ IN THE SOFTWARE.
20
20
  """
21
21
  import time
22
22
  import wx
23
- import decimal
24
23
  import os
25
24
  import functools
26
25
  from .dynamic_lists import DynamicList, USE_SAMPLE_SIZE
@@ -324,7 +323,7 @@ class ResultFileList(CommonOperationsMixin, DynamicList):
324
323
  os.path.basename(obj.name),
325
324
  0,
326
325
  obj.ext,
327
- decimal.Decimal(obj.size) / decimal.Decimal(1024),
326
+ obj.size,
328
327
  os.path.dirname(obj.name),
329
328
  '',
330
329
  obj.modified,
@@ -342,7 +341,7 @@ class ResultFileList(CommonOperationsMixin, DynamicList):
342
341
  os.path.basename(obj.info.name),
343
342
  1,
344
343
  obj.info.ext,
345
- decimal.Decimal(obj.info.size) / decimal.Decimal(1024),
344
+ obj.info.size,
346
345
  os.path.dirname(obj.info.name),
347
346
  obj.info.encoding,
348
347
  obj.info.modified,
@@ -374,7 +373,17 @@ class ResultFileList(CommonOperationsMixin, DynamicList):
374
373
  if not absolute:
375
374
  item = self.itemIndexMap[item]
376
375
  if real == FILE_SIZE:
377
- return '%.2fKB' % round(self.itemDataMap[item][FILE_SIZE], 2)
376
+ s = self.itemDataMap[item][FILE_SIZE]
377
+ if s < 1e3:
378
+ return f"{s:d} bytes"
379
+ elif s < 1e6:
380
+ return f'{s / 1e3:.2f} KB'
381
+ elif s < 1e9:
382
+ return f'{s / 1e6:.2f} MB'
383
+ elif s < 1e12:
384
+ return f'{s / 1e9:.2f} GB'
385
+ else:
386
+ return f'{s / 1e12:.2f} TB'
378
387
  elif real in (FILE_MOD, FILE_CRE):
379
388
  if self.international:
380
389
  return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(self.itemDataMap[item][real]))
@@ -25,6 +25,19 @@
25
25
 
26
26
  <!-- Table of Content (Don't show for static sites) -->
27
27
  <h1 id="changelog">Changelog</h1>
28
+ <h2 id="4261">4.26.1</h2>
29
+ <ul>
30
+ <li><strong>FIX</strong>: Require <code>bracex</code> 3.0.1 for a bug fix related to an edge case with numerical and character sequences.</li>
31
+ <li><strong>FIX</strong>: Fix formatting of size limit controls.</li>
32
+ <li><strong>FIX</strong>: Color adjustments for latest macOS releases.</li>
33
+ </ul>
34
+ <h2 id="426">4.26</h2>
35
+ <ul>
36
+ <li><strong>NEW</strong>: Show file sizes in proper, various increments: bytes, KB, MB, and GB.</li>
37
+ <li><strong>NEW</strong>: Add control to select file size unit types in limiter panel.</li>
38
+ <li><strong>FIX</strong>: Fix issue where directory picker for target folder to search would not start with the current, specified
39
+ directory, even when it is valid.</li>
40
+ </ul>
28
41
  <h2 id="425">4.25</h2>
29
42
  <ul>
30
43
  <li><strong>NEW</strong>: Require <code>wcmatch</code> 11.0+.</li>
@@ -31,7 +31,7 @@
31
31
  <div class="__toc_wrapper"><span class="__toc_icon"></span>
32
32
  <div class="__toc_content">
33
33
  <ul class="__toc_list">
34
- <li class="__toc_level_2"><a href="#contributing--support">Contributing &amp; Support</a></li>
34
+ <li class="__toc_level_2"><a href="#contributing-support">Contributing &amp; Support</a></li>
35
35
  <ul class="__toc_list_2">
36
36
 
37
37
  <li class="__toc_level_3"><a href="#overview">Overview</a></li>
@@ -70,7 +70,7 @@
70
70
  </ul>
71
71
  </div>
72
72
  </div>
73
- <h1 id="contributing--support">Contributing &amp; Support</h1>
73
+ <h1 id="contributing-support">Contributing &amp; Support</h1>
74
74
  <h2 id="overview">Overview</h2>
75
75
  <p>Contribution from the community is encouraged and can be done in a variety of ways:</p>
76
76
  <ul>
@@ -42,7 +42,7 @@
42
42
  <ul class="__toc_list_3">
43
43
 
44
44
  </ul>
45
- <li class="__toc_level_3"><a href="#searching--replacing">Searching &amp; Replacing</a></li>
45
+ <li class="__toc_level_3"><a href="#searching-replacing">Searching &amp; Replacing</a></li>
46
46
  <ul class="__toc_list_3">
47
47
 
48
48
  <li class="__toc_level_4"><a href="#configuring-text-search">Configuring Text Search</a></li>
@@ -114,7 +114,7 @@ major and minor Python version to the end:</p>
114
114
  <a href="./installation.html#running-in-anaconda">Running in Anaconda</a>).</p>
115
115
  <div class="highlight"><pre><span></span><code>pythonw<span class="w"> </span>-m<span class="w"> </span>rummage
116
116
  </code></pre></div>
117
- <h2 id="searching--replacing">Searching &amp; Replacing</h2>
117
+ <h2 id="searching-replacing">Searching &amp; Replacing</h2>
118
118
  <p><img alt="Search Tab" src="images/search_tab.png" /></p>
119
119
  <p>Search and replaces are configured in the <strong>Search</strong> tab. The search tab can essentially be broken up into two sections:
120
120
  text search configuration and file search configuration.</p>
@@ -68,7 +68,6 @@ from ... import __meta__
68
68
  from ... import rumcore
69
69
  from .. import util
70
70
  from ..util.colors import Color
71
- import decimal
72
71
  if rumcore.REGEX_SUPPORT:
73
72
  from backrefs import bregex
74
73
  else:
@@ -818,6 +817,9 @@ class RummageFrame(gui.RummageFrame):
818
817
  )
819
818
  )
820
819
  self.m_size_text.SetValue(Settings.get_search_setting("size_limit_string", "1000"))
820
+ self.m_size_type_choice.SetStringSelection(
821
+ Settings.get_search_setting("size_compare_type", "KB")
822
+ )
821
823
 
822
824
  self.m_case_checkbox.SetValue(not Settings.get_search_setting("ignore_case_toggle", False))
823
825
  self.m_dotmatch_checkbox.SetValue(Settings.get_search_setting("dotall_toggle", False))
@@ -1418,8 +1420,17 @@ class RummageFrame(gui.RummageFrame):
1418
1420
 
1419
1421
  cmp_size = self.m_logic_choice.GetSelection()
1420
1422
  if cmp_size:
1421
- size = decimal.Decimal(self.m_size_text.GetValue())
1422
- args.size_compare = (LIMIT_COMPARE[cmp_size], round(size * decimal.Decimal(1024)))
1423
+ size = int(self.m_size_text.GetValue())
1424
+ size_type = self.m_size_type_choice.GetStringSelection()
1425
+ if size_type == "KB":
1426
+ size *= 1e3
1427
+ elif size_type == "MB":
1428
+ size *= 1e6
1429
+ elif size_type == "GB":
1430
+ size *= 1e9
1431
+ elif size_type == "TB":
1432
+ size *= 1e12
1433
+ args.size_compare = (LIMIT_COMPARE[cmp_size], size)
1423
1434
  else:
1424
1435
  args.size_compare = None
1425
1436
  cmp_modified = self.m_modified_choice.GetSelection()
@@ -1573,7 +1584,20 @@ class RummageFrame(gui.RummageFrame):
1573
1584
  strings.append(("force_encode", self.m_force_encode_choice.GetStringSelection()))
1574
1585
 
1575
1586
  if eng_size != "any":
1576
- strings += [("size_limit_string", self.m_size_text.GetValue())]
1587
+ size_limit = int(self.m_size_text.GetValue())
1588
+ size_type = self.m_size_type_choice.GetStringSelection()
1589
+ if size_type == 'KB':
1590
+ size_limit *= 1e3
1591
+ elif size_type == "MB":
1592
+ size_limit *= 1e6
1593
+ elif size_type == "GB":
1594
+ size_limit *= 1e9
1595
+ elif size_type == "TB":
1596
+ size_limit *= 1e12
1597
+ strings += [
1598
+ ("size_limit_string", str(size_limit)),
1599
+ ("size_compare_type", size_type)
1600
+ ]
1577
1601
  if eng_mod != "on any":
1578
1602
  strings += [
1579
1603
  ("modified_date_string", self.m_modified_date_picker.GetValue().Format("%m/%d/%Y")),
@@ -2159,7 +2183,9 @@ class RummageFrame(gui.RummageFrame):
2159
2183
  def on_searchin_changed(self):
2160
2184
  """Callback for when a directory changes via the `m_searchin_text` control."""
2161
2185
 
2162
- self.SetTitle(self.m_searchin_text.GetValue())
2186
+ target = self.m_searchin_text.GetValue()
2187
+ self.SetTitle(target)
2188
+ self.m_searchin_dir_picker.target = target
2163
2189
 
2164
2190
  def on_save_search(self, event):
2165
2191
  """Open a dialog to save a search for later use."""