| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -41,6 +41,14 @@ | |||
| 41 | 41 | Squeezer) | |
| 42 | 42 | ||
| 43 | 43 | ||
| 44 | + def init_validators(page): | ||
| 45 | + digits_or_empty_re = re.compile(r'[0-9]*') | ||
| 46 | + def is_digits_or_empty(s): | ||
| 47 | + "Return 's is blank or contains only digits'" | ||
| 48 | + return digits_or_empty_re.fullmatch(s) is not None | ||
| 49 | + return (page.register(is_digits_or_empty), '%P',) | ||
| 50 | + | ||
| 51 | + | ||
| 44 | 52 | class ConfigDialog(Toplevel): | |
| 45 | 53 | """Config dialog for IDLE. | |
| 46 | 54 | """ | |
@@ -120,7 +128,7 @@ def create_widgets(self): | |||
| 120 | 128 | note.add(self.fontpage, text='Fonts/Tabs') | |
| 121 | 129 | note.add(self.highpage, text='Highlights') | |
| 122 | 130 | note.add(self.keyspage, text=' Keys ') | |
| 123 | - note.add(self.editpage, text=' Editor ') | ||
| 131 | + note.add(self.editpage, text=' Editor/Shell ') | ||
| 124 | 132 | note.add(self.genpage, text=' General ') | |
| 125 | 133 | note.add(self.extpage, text='Extensions') | |
| 126 | 134 | note.enable_traversal() | |
@@ -1781,6 +1789,7 @@ class EditPage(Frame): | |||
| 1781 | 1789 | ||
| 1782 | 1790 | def __init__(self, master): | |
| 1783 | 1791 | super().__init__(master) | |
| 1792 | + self.digits_only = init_validators(self) | ||
| 1784 | 1793 | self.create_page_editor() | |
| 1785 | 1794 | self.load_editor_cfg() | |
| 1786 | 1795 | ||
@@ -1926,18 +1935,10 @@ class GenPage(Frame): | |||
| 1926 | 1935 | ||
| 1927 | 1936 | def __init__(self, master): | |
| 1928 | 1937 | super().__init__(master) | |
| 1929 | - | ||
| 1930 | - self.init_validators() | ||
| 1938 | + self.digits_only = init_validators(self) | ||
| 1931 | 1939 | self.create_page_general() | |
| 1932 | 1940 | self.load_general_cfg() | |
| 1933 | 1941 | ||
| 1934 | - def init_validators(self): | ||
| 1935 | - digits_or_empty_re = re.compile(r'[0-9]*') | ||
| 1936 | - def is_digits_or_empty(s): | ||
| 1937 | - "Return 's is blank or contains only digits'" | ||
| 1938 | - return digits_or_empty_re.fullmatch(s) is not None | ||
| 1939 | - self.digits_only = (self.register(is_digits_or_empty), '%P',) | ||
| 1940 | - | ||
| 1941 | 1942 | def create_page_general(self): | |
| 1942 | 1943 | """Return frame of widgets for General tab. | |
| 1943 | 1944 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1228,10 +1228,14 @@ def test_load_editor_cfg(self): | |||
| 1228 | 1228 | d.autosave.set(1) | |
| 1229 | 1229 | d.format_width.set(1) | |
| 1230 | 1230 | d.context_lines.set(1) | |
| 1231 | + d.line_numbers_default.set(True) | ||
| 1232 | + d.auto_squeeze_min_lines.set(1) | ||
| 1231 | 1233 | d.load_editor_cfg() | |
| 1232 | 1234 | eq(d.autosave.get(), 0) | |
| 1233 | 1235 | eq(d.format_width.get(), '72') | |
| 1234 | 1236 | eq(d.context_lines.get(), '15') | |
| 1237 | + eq(d.line_numbers_default.get(), False) | ||
| 1238 | + eq(d.auto_squeeze_min_lines.get(), '50') | ||
| 1235 | 1239 | ||
| 1236 | 1240 | def test_autosave(self): | |
| 1237 | 1241 | d = self.page | |
@@ -1250,6 +1254,19 @@ def test_context(self): | |||
| 1250 | 1254 | self.page.context_int.insert(0, '1') | |
| 1251 | 1255 | self.assertEqual(extpage, {'CodeContext': {'maxlines': '1'}}) | |
| 1252 | 1256 | ||
| 1257 | + def test_line_numbers(self): | ||
| 1258 | + d = self.page | ||
| 1259 | + d.line_numbers_default.set(True) | ||
| 1260 | + d.line_numbers_default_bool.invoke() | ||
| 1261 | + self.assertEqual(mainpage, {'EditorWindow': {'line-numbers-default': 'False'}}) | ||
| 1262 | + d.line_numbers_default_bool.invoke() | ||
| 1263 | + self.assertEqual(mainpage, {'EditorWindow': {'line-numbers-default': 'True'}}) | ||
| 1264 | + | ||
| 1265 | + def test_auto_squeeze(self): | ||
| 1266 | + self.page.auto_squeeze_min_lines_int.delete(0, 'end') | ||
| 1267 | + self.page.auto_squeeze_min_lines_int.insert(0, '99') | ||
| 1268 | + self.assertEqual(mainpage, {'PyShell': {'auto-squeeze-min-lines': '99'}}) | ||
| 1269 | + | ||
| 1253 | 1270 | ||
| 1254 | 1271 | class GenPageTest(unittest.TestCase): | |
| 1255 | 1272 | """Test that general tab widgets enable users to make changes. | |
| Back | FazBrowse Home | New Git URL |
0 commit comments