Set Style to Clam

Improved layout of widgets
This commit is contained in:
Désiré Werner Menrath 2024-08-21 22:39:18 +02:00
parent 7b4226c704
commit 2601b7b0ce
4 changed files with 51 additions and 34 deletions

View File

@ -4,8 +4,9 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="940e1630-c825-4d4c-be80-bc11f543c122" name="Changes" comment="add file dict_to_address for &#10;address a active Tunnel. Label green pack in Class.&#10;add Class to convert fileoutput as String to Dictionary"> <list default="true" id="940e1630-c825-4d4c-be80-bc11f543c122" name="Changes" comment="add Class StartStopBTN to wg_func.py">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/dict_to_address" beforeDir="false" afterPath="$PROJECT_DIR$/dict_to_address" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/wg_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/wg_func.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/wg_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/wg_func.py" afterDir="false" />
</list> </list>
@ -28,6 +29,7 @@
</map> </map>
</option> </option>
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="UPDATE_TYPE" value="REBASE" />
</component> </component>
<component name="ProjectColorInfo">{ <component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 3 &quot;associatedIndex&quot;: 3
@ -154,7 +156,15 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1724233806458</updated> <updated>1724233806458</updated>
</task> </task>
<option name="localTasksCounter" value="9" /> <task id="LOCAL-00009" summary="add Class StartStopBTN to wg_func.py">
<option name="closed" value="true" />
<created>1724237471056</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1724237471056</updated>
</task>
<option name="localTasksCounter" value="10" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.Tabs.Properties"> <component name="Vcs.Log.Tabs.Properties">
@ -189,17 +199,7 @@
<MESSAGE value="add class ListTunnels and class ImportTunnel, and add class ExportTunnels (ExportTunnels no finish)" /> <MESSAGE value="add class ListTunnels and class ImportTunnel, and add class ExportTunnels (ExportTunnels no finish)" />
<MESSAGE value="add Label Interface and Peer to new FrameWidget one and two. when import Tunnel then add to list works and remove of list when Tunnel delete.(with Label active on and off) &#10;add to class and methods open a avtive Tunnel when Wire-Py open, when import and start a Tunnel" /> <MESSAGE value="add Label Interface and Peer to new FrameWidget one and two. when import Tunnel then add to list works and remove of list when Tunnel delete.(with Label active on and off) &#10;add to class and methods open a avtive Tunnel when Wire-Py open, when import and start a Tunnel" />
<MESSAGE value="add file dict_to_address for &#10;address a active Tunnel. Label green pack in Class.&#10;add Class to convert fileoutput as String to Dictionary" /> <MESSAGE value="add file dict_to_address for &#10;address a active Tunnel. Label green pack in Class.&#10;add Class to convert fileoutput as String to Dictionary" />
<option name="LAST_COMMIT_MESSAGE" value="add file dict_to_address for &#10;address a active Tunnel. Label green pack in Class.&#10;add Class to convert fileoutput as String to Dictionary" /> <MESSAGE value="add Class StartStopBTN to wg_func.py" />
</component> <option name="LAST_COMMIT_MESSAGE" value="add Class StartStopBTN to wg_func.py" />
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/wg_func.py</url>
<line>116</line>
<option name="timeStamp" value="3" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component> </component>
</project> </project>

View File

@ -1,3 +1,3 @@
10.64.1.5/32 192.168.178.158/24
10.64.1.1 192.168.178.1,
wg.iunix.dedyn.io:51820 rj2cexasg9b9oydd.myfritz.net:54775

45
main.py
View File

@ -14,13 +14,18 @@ class MainWindow(tk.Tk):
self.switch_on = None self.switch_on = None
self.switch_off = None self.switch_off = None
self.x_width = 600 self.x_width = 600
self.y_height = 350 self.y_height = 360
self.monitor_center_x = self.winfo_screenwidth() / 2 - (self.x_width / 2) self.monitor_center_x = self.winfo_screenwidth() / 2 - (self.x_width / 2)
self.monitor_center_y = self.winfo_screenheight() / 2 - (self.y_height / 2) self.monitor_center_y = self.winfo_screenheight() / 2 - (self.y_height / 2)
self.resizable(width=False, height=False) self.resizable(width=False, height=False)
self.title('Wire-Py') self.title('Wire-Py')
self.configure() self.configure()
self.geometry('%dx%d+%d+%d' % (self.x_width, self.y_height, self.monitor_center_x, self.monitor_center_y)) self.geometry('%dx%d+%d+%d' % (self.x_width, self.y_height, self.monitor_center_x, self.monitor_center_y))
self.columnconfigure(2, weight=1)
self.rowconfigure(0, weight=1)
self.style = ttk.Style(self)
print(self.style.theme_names())
self.style.theme_use('clam')
# Load the image file from disk. # Load the image file from disk.
self.wg_icon = tk.PhotoImage(file=r'icons/wg-vpn-48.png') self.wg_icon = tk.PhotoImage(file=r'icons/wg-vpn-48.png')
# Set it as the window icon. # Set it as the window icon.
@ -41,45 +46,59 @@ class FrameWidgets(ttk.Frame):
self.tr_pic = tk.PhotoImage(file=r'icons/wg-trash-48.png') self.tr_pic = tk.PhotoImage(file=r'icons/wg-trash-48.png')
self.exp_pic = tk.PhotoImage(file=r'icons/wg-export-48.png') self.exp_pic = tk.PhotoImage(file=r'icons/wg-export-48.png')
self.warning_pic = tk.PhotoImage(file=r'icons/warning_64.png') self.warning_pic = tk.PhotoImage(file=r'icons/warning_64.png')
self.configure()
# Show active Tunnel # Show active Tunnel
self.a = TunnelActiv.active() self.a = TunnelActiv.active()
# Label 2 # Label 2
self.lb_frame = ttk.Frame(self) self.lb_frame = ttk.Frame(self)
self.lb_frame.configure(relief='solid') self.lb_frame.configure(relief='solid')
self.lb_frame.grid(column=2, row=2, sticky='n', padx=10) self.lb_frame.grid(column=2, row=2, sticky='snew', padx=20, pady=5)
self.columnconfigure(0, weight=1)
self.rowconfigure(0, weight=1)
self.lb_frame2 = ttk.Frame(self) self.lb_frame2 = ttk.Frame(self)
self.lb_frame2.configure(relief='solid') self.lb_frame2.configure(relief='solid')
self.lb_frame2.grid(column=2, row=3, sticky='nw', padx=10) self.lb_frame2.grid(column=2, row=3, sticky='snew', padx=20, pady=5)
self.columnconfigure(0, weight=1)
self.rowconfigure(0, weight=1)
# Show active Label # Show active Label
self.select_tunnel = None self.select_tunnel = None
self.lb = tk.Label(self, text='Active:') self.lb = tk.Label(self, text='Active: ')
self.lb.config(font=("Ubuntu", 11, "bold")) self.lb.config(font=("Ubuntu", 11, "bold"))
self.lb.grid(column=2, row=1, padx=5, sticky="we") self.lb.grid(column=2, row=1, padx=15, sticky="w")
# Label to Show active Tunnel # Label to Show active Tunnel
self.StrVar = tk.StringVar(value=self.a) self.StrVar = tk.StringVar(value=self.a)
GreenLabel.green_show_label(self) GreenLabel.green_show_label(self)
datafile = open('dict_to_address', 'r')
address = datafile.readline()
dns = datafile.readline()
endpoint = datafile.readline()
datafile.close()
print(address, dns, endpoint)
# Interface Label # Interface Label
self.interface = tk.Label(self.lb_frame, text='Interface') self.interface = tk.Label(self.lb_frame, text='Interface')
self.interface.grid(column=0, row=4, sticky="n", padx=10) self.interface.grid(column=0, row=4, sticky="we", padx=120)
self.interface.config(font=("Ubuntu", 9)) self.interface.config(font=("Ubuntu", 9))
self.rowconfigure(0, weight=1)
# Address Label # Address Label
self.address = tk.Label(self.lb_frame, text='address') self.address = tk.Label(self.lb_frame, text='Address: ' + address)
self.address.grid(column=0, row=5, sticky="n", padx=10) self.address.grid(column=0, row=5, sticky="w", padx=10)
self.address.config(font=("Ubuntu", 9)) self.address.config(font=("Ubuntu", 9))
# DNS Label # DNS Label
self.dns = tk.Label(self.lb_frame, text='dns') self.dns = tk.Label(self.lb_frame, text='DNS: ' + dns)
self.dns.grid(column=0, row=6, sticky="n", padx=10) self.dns.grid(column=0, row=6, sticky="w", padx=10, pady=5)
self.dns.config(font=("Ubuntu", 9)) self.dns.config(font=("Ubuntu", 9))
# Peer Label # Peer Label
self.peer = tk.Label(self.lb_frame2, text='Peer') self.peer = tk.Label(self.lb_frame2, text='Peer')
self.peer.config(font=("Ubuntu", 9)) self.peer.config(font=("Ubuntu", 9))
self.peer.grid(column=0, row=7, sticky="n", padx=10) self.peer.grid(column=0, row=7, sticky="we", padx=130)
# Endpoint Label # Endpoint Label
self.endpoint = tk.Label(self.lb_frame2, text='Endpoint') self.endpoint = tk.Label(self.lb_frame2, text='Endpoint: ' + endpoint)
self.endpoint.grid(column=0, row=8, sticky="w", padx=10, pady=5)
self.endpoint.config(font=("Ubuntu", 9)) self.endpoint.config(font=("Ubuntu", 9))
self.endpoint.grid(column=0, row=8, sticky="n", padx=10)
self.scrollbar = tk.Scrollbar(self) self.scrollbar = tk.Scrollbar(self)
self.l_box = tk.Listbox(self, fg='#606060', selectmode='single') self.l_box = tk.Listbox(self, fg='#606060', selectmode='single')

View File

@ -38,7 +38,7 @@ class GreenLabel(tk.Tk):
def green_show_label(self): def green_show_label(self):
self.lb_tunnel = tk.Label(self, textvariable=self.StrVar, fg='green') self.lb_tunnel = tk.Label(self, textvariable=self.StrVar, fg='green')
self.lb_tunnel.config(font=("Ubuntu", 11, "bold")) self.lb_tunnel.config(font=("Ubuntu", 11, "bold"))
self.lb_tunnel.grid(column=3, row=1, sticky="w") self.lb_tunnel.grid(column=2, padx=10, row=1)
class StartStopBTN(tk.Tk): class StartStopBTN(tk.Tk):
@ -152,9 +152,7 @@ class ImportTunnel:
self.l_box.update() self.l_box.update()
self.StrVar = tk.StringVar() self.StrVar = tk.StringVar()
self.StrVar.set(self.a) self.StrVar.set(self.a)
self.lb_tunnel = tk.Label(self, textvariable=self.StrVar, fg='green') GreenLabel.green_show_label(self)
self.lb_tunnel.config(font=("Ubuntu", 11, "bold"))
self.lb_tunnel.grid(column=3, row=1, sticky="w")
StartStopBTN.button_stop(self) StartStopBTN.button_stop(self)
wg_read = os.environ['HOME'] + '/tester/' + str(self.a) + '.conf' wg_read = os.environ['HOME'] + '/tester/' + str(self.a) + '.conf'
file = open(wg_read, 'r') file = open(wg_read, 'r')