Skip to content

Commit

Permalink
fix: move network settings in the settings page
Browse files Browse the repository at this point in the history
fix: update network settings screen with shared components
fix: remove logs panel from the settings page as it takes a lot of resources to load long log files
fix: other minor improvements to the new settings page
  • Loading branch information
bartei81 committed May 23, 2024
1 parent a16cba6 commit cba3ea0
Show file tree
Hide file tree
Showing 16 changed files with 267 additions and 348 deletions.
21 changes: 21 additions & 0 deletions rotary_controller_python/components/forms/boolean_item.kv
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<BooleanItem>:
height: 36
size_hint_y: None
BoxLayout:
orientation: "horizontal"
Button:
size_hint_x: None
width: self.height
font_name: "fonts/Font Awesome 6 Free-Solid-900.otf"
font_size: 21
text: "\uf129"
Label:
size_hint_x: 0.7
text: root.name
ToggleButton:
size_hint_x: None
width: 250
multiline: False
text: 'ON' if root.value else 'OFF'
state: 'down' if root.value else 'normal'
on_release: root.value = True if self.state == 'down' else False
17 changes: 17 additions & 0 deletions rotary_controller_python/components/forms/boolean_item.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import os

from kivy.lang import Builder
from kivy.logger import Logger
from kivy.properties import StringProperty, BooleanProperty
from kivy.uix.boxlayout import BoxLayout

log = Logger.getChild(__name__)
kv_file = os.path.join(os.path.dirname(__file__), __file__.replace(".py", ".kv"))
if os.path.exists(kv_file):
log.info(f"Loading KV file: {kv_file}")
Builder.load_file(kv_file)


class BooleanItem(BoxLayout):
name = StringProperty("")
value = BooleanProperty(False)
1 change: 1 addition & 0 deletions rotary_controller_python/components/forms/string_item.kv
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@
width: 250
multiline: False
text: root.value
disabled: root.disabled
on_text_validate: root.value = self.text
5 changes: 3 additions & 2 deletions rotary_controller_python/components/forms/string_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from kivy.lang import Builder
from kivy.logger import Logger
from kivy.properties import StringProperty
from kivy.properties import StringProperty, BooleanProperty
from kivy.uix.boxlayout import BoxLayout

log = Logger.getChild(__name__)
Expand All @@ -14,4 +14,5 @@

class StringItem(BoxLayout):
name = StringProperty("")
value = StringProperty("")
value = StringProperty("")
disabled = BooleanProperty(False)
8 changes: 0 additions & 8 deletions rotary_controller_python/components/home/home_toolbar.kv
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#: import Keypad components.keypad
#: import AppSettings components.appsettings
#: import ToolbarButton components.toolbars.toolbar_button
#: import NetworkPopup components.network.network_popup
#: import SetupPopup components.setup.setup_popup
#: import ScenePopup components.plot.scene_popup

Expand All @@ -12,13 +11,6 @@
width: 80
orientation: "vertical"

ToolbarButton:
font_name: "fonts/Font Awesome 6 Free-Solid-900.otf"
# Network Settings
text: "\uf1eb"
background_color: "#04FF00"
on_release: Factory.NetworkPopup().open()

ToolbarButton:
# TOOL
text: "T{:d}".format(int(app.tool))
Expand Down
135 changes: 0 additions & 135 deletions rotary_controller_python/components/network/network_popup.kv

This file was deleted.

82 changes: 0 additions & 82 deletions rotary_controller_python/components/network/network_popup.py

This file was deleted.

10 changes: 5 additions & 5 deletions rotary_controller_python/components/setup/logs_panel.kv
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
text_size: self.width, None
padding: 10, 10

Button:
size_hint_y: None
height: 32
text: "Back"
on_release: root.parent.parent.current = "menu"
# Button:
# size_hint_y: None
# height: 32
# text: "Back"
# on_release: root.parent.parent.current = "menu"
76 changes: 76 additions & 0 deletions rotary_controller_python/components/setup/network_panel.kv
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#: import StringItem components.forms.string_item
#: import BooleanItem components.forms.boolean_item

<NetworkPanel>:
orientation: "vertical"
ScrollView:
do_scroll_x: False
do_scroll_y: True
GridLayout:
id: grid_layout
cols: 1
spacing: 1
size_hint_y: None
StringItem:
name: "Network Interface"
value: root.device
on_value: root.device = self.value

StringItem:
name: "Wifi Network"
value: root.wpa_ssid
on_value: root.wpa_ssid = self.value

StringItem:
name: "Wifi Password"
value: root.wpa_psk
on_value: root.wpa_psk = self.value

BooleanItem:
name: "Use DHCP"
value: root.dhcp
on_value: root.dhcp = self.value

StringItem:
name: "IP Address"
value: root.address
disabled: root.dhcp
on_value: root.address = self.value

StringItem:
name: "Netmask Bits"
value: root.netmask
disabled: root.dhcp
on_value: root.netmask = self.value

StringItem:
name: "Default Gateway"
value: root.gateway
disabled: root.dhcp
on_value: root.gateway = self.value


BoxLayout:
orientation: "horizontal"

BoxLayout:
size_hint_y: None
height: 64
orientation: "horizontal"
Label:
size_hint_x: 0.3
text: "Status:"
TextInput:
readonly: True
multiline: True
text: root.status_text

BoxLayout:
size_hint_y: None
height: 48
orientation: "horizontal"

Button:
text: "Apply"
background_color: "#cf3a3a"
on_release: root.test_configuration()
Loading

0 comments on commit cba3ea0

Please sign in to comment.