Skip to content

Commit 58b9f79

Browse files
committed
Demo that uses PyCharm's diff utility to compare 2 files. Keeps a history of previously selected files
1 parent 91ab3a9 commit 58b9f79

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import PySimpleGUI as sg
2+
3+
"""
4+
Compare 2 .py files using PyCharm's compare utility
5+
If you use PyCharm, then you've likely used their awesome
6+
7+
Copyright 2021 PySimpleGUI
8+
"""
9+
10+
11+
def main():
12+
13+
layout = [[sg.T('This is your layout')],
14+
[sg.Text('Filename:'), sg.Combo(values=sorted(sg.user_settings_get_entry('-filenames1-', [])),
15+
default_value=sg.user_settings_get_entry('-last filename chosen1-', None),
16+
size=(40,1), auto_size_text=False, k='-COMBO1-'), sg.FileBrowse(), sg.B('Clear History', k='-CLEAR1-')],
17+
[sg.Text('Filename:'),sg.Combo(values=sorted(sg.user_settings_get_entry('-filenames2-', [])),
18+
default_value=sg.user_settings_get_entry('-last filename chosen2-', None),
19+
size=(40,1), auto_size_text=False, k='-COMBO2-'), sg.FileBrowse(), sg.B('Clear History', k='-CLEAR2-')],
20+
[sg.Button('Compare'), sg.Button('Exit')]]
21+
22+
window = sg.Window('Compare 2 files using PyCharm', layout)
23+
while True:
24+
event, values = window.read()
25+
print(event, values)
26+
if event in (sg.WIN_CLOSED, 'Exit'):
27+
break
28+
if event == 'Compare':
29+
sg.user_settings_set_entry('-filenames1-', list(set(sg.user_settings_get_entry('-filenames1-', []) + [values['-COMBO1-'],])))
30+
sg.user_settings_set_entry('-last filename chosen1-', values['-COMBO1-'])
31+
sg.user_settings_set_entry('-filenames2-', list(set(sg.user_settings_get_entry('-filenames2-', []) + [values['-COMBO2-'],])))
32+
sg.user_settings_set_entry('-last filename chosen2-', values['-COMBO2-'])
33+
sg.execute_command_subprocess(sg.pysimplegui_user_settings.get('-editor program-', None), 'diff',values['-COMBO1-'], values['-COMBO2-'])
34+
# sg.popup(f"You chose {values['-COMBO1-']} and {values['-COMBO2-']}")
35+
elif event == '-CLEAR1-':
36+
sg.user_settings_set_entry('-filenames1-', [])
37+
sg.user_settings_set_entry('-last filename chosen1-', '')
38+
window['-COMBO1-'].update(values=[], value='')
39+
elif event == '-CLEAR2-':
40+
sg.user_settings_set_entry('-filenames2-', [])
41+
sg.user_settings_set_entry('-last filename chosen2-', '')
42+
window['-COMBO2-'].update(values=[], value='')
43+
window.close()
44+
45+
if __name__ == '__main__':
46+
main()

0 commit comments

Comments
 (0)