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