Skip to content

Commit

Permalink
Added logo, improvement to view reset function
Browse files Browse the repository at this point in the history
  • Loading branch information
eeintech committed Feb 21, 2023
1 parent 08fc20d commit 241181d
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 35 deletions.
11 changes: 7 additions & 4 deletions kintree/gui/views/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,9 @@ def value(self):
@value.setter
def value(self, value):
self.dropdown.value = value
if value is None:
self.search_field.value = None
self.done_search()

@property
def disabled(self):
Expand Down Expand Up @@ -249,7 +252,7 @@ def on_change(self):
@on_change.setter
def on_change(self, on_change):
self.dropdown.on_change = on_change

def update_option_list(self, input: str):
new_list_options = []
for option in self._options:
Expand All @@ -258,13 +261,13 @@ def update_option_list(self, input: str):
return new_list_options

def on_search(self, e):
if self.search_field.value.replace(" ", ""):
if self.search_field.value.replace(' ', ''):
self.dropdown.options = self.update_option_list(self.search_field.value)
if len(self.dropdown.options) == 1:
self.value = self.dropdown.options[0].key
self.dropdown.value = self.dropdown.options[0].key
self.on_change(e)
else:
self.value = None
self.dropdown.value = None
else:
self.dropdown.options = self._options
self.dropdown.update()
Expand Down
101 changes: 71 additions & 30 deletions kintree/gui/views/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,15 @@

# Main AppBar
main_appbar = ft.AppBar(
leading=ft.Icon(ft.icons.DOUBLE_ARROW),
# leading=ft.Icon(ft.icons.DOUBLE_ARROW),
leading=ft.Container(
content=ft.Image(
src=os.path.join(settings.PROJECT_DIR, 'logo.png'),
fit=ft.ImageFit.CONTAIN,
),
padding=ft.padding.only(left=10),
expand=True,
),
leading_width=40,
title=ft.Text(f'Ki-nTree | {__version__}'),
center_title=False,
Expand Down Expand Up @@ -55,8 +63,8 @@
group_alignment=-0.9,
destinations=[
ft.NavigationRailDestination(
icon_content=ft.Icon(name=ft.icons.SEARCH, size=40),
selected_icon_content=ft.Icon(name=ft.icons.MANAGE_SEARCH, size=40),
icon_content=ft.Icon(name=ft.icons.SCREEN_SEARCH_DESKTOP_OUTLINED, size=40),
selected_icon_content=ft.Icon(name=ft.icons.SCREEN_SEARCH_DESKTOP_SHARP, size=40),
label_content=ft.Text("Part Search", size=16),
padding=10,
),
Expand All @@ -73,8 +81,8 @@
padding=10,
),
ft.NavigationRailDestination(
icon_content=ft.Icon(name=ft.icons.CREATE_OUTLINED, size=40),
selected_icon_content=ft.Icon(name=ft.icons.CREATE, size=40),
icon_content=ft.Icon(name=ft.icons.BUILD_OUTLINED, size=40),
selected_icon_content=ft.Icon(name=ft.icons.BUILD, size=40),
label_content=ft.Text("Create", size=16),
padding=10,
),
Expand Down Expand Up @@ -179,8 +187,8 @@ def find_libraries(self, type: str) -> list:
def show_error_dialog(self, message):
self.build_snackbar(False, message)
self.show_dialog()
if 'cancel' in self.fields:
self.enable_cancel(False)
if 'create' in self.fields:
self.enable_create(True)

def process_enable(self, e, ignore=['enable']):
disable = True
Expand Down Expand Up @@ -540,6 +548,13 @@ class CreateView(MainView):
}
inventree_progress_row = None
kicad_progress_row = None
create_continue = True

def enable_create(self, enable=True):
self.fields['create'].disabled = not enable
self.fields['create'].update()
# Invert cancel button
self.enable_cancel(enable=not enable)

def enable_cancel(self, enable=True):
if enable:
Expand All @@ -553,10 +568,43 @@ def enable_cancel(self, enable=True):
self.fields['cancel'].update()

def cancel(self, e=None):
cprint('[INFO] Cancel function is not supported yet!')
self.enable_cancel(False)
self.create_continue = False

def process_cancel(self):
# if settings.ENABLE_INVENTREE:
# if self.fields['inventree_progress'].value < 1.0:
# self.fields['inventree_progress'].color = "red"
# self.fields['inventree_progress'].update()
# if settings.ENABLE_KICAD:
# if self.fields['kicad_progress'].value < 1.0:
# self.fields['kicad_progress'].color = "red"
# self.fields['kicad_progress'].update()
self.show_error_dialog('Action Cancelled')
self.create_continue = True
self.enable_create(True)
return

def reset_progress_bars(self):
# Setup progress bars
if not settings.ENABLE_INVENTREE:
self.inventree_progress_row.current.visible = False
else:
self.inventree_progress_row.current.visible = True
# Reset progress bar
progress.reset_progress_bar(self.fields['inventree_progress'])
self.inventree_progress_row.current.update()

if not settings.ENABLE_KICAD:
self.kicad_progress_row.current.visible = False
else:
self.kicad_progress_row.current.visible = True
# Reset progress bar
progress.reset_progress_bar(self.fields['kicad_progress'])
self.kicad_progress_row.current.update()

def create_part(self, e=None):
self.reset_progress_bars()

if not settings.ENABLE_INVENTREE and not settings.ENABLE_KICAD:
self.show_error_dialog('Both InvenTree and KiCad are disabled (nothing to create)')

Expand All @@ -578,8 +626,8 @@ def create_part(self, e=None):
self.show_error_dialog('Missing Part Number')
return

# Cancel button update
self.enable_cancel(True)
# Button update
self.enable_create(False)

# KiCad data gathering
symbol = None
Expand Down Expand Up @@ -614,6 +662,9 @@ def create_part(self, e=None):
self.show_error_dialog('Missing KiCad Data')
return

if not self.create_continue:
return self.process_cancel()

# InvenTree data processing
if settings.ENABLE_INVENTREE:
# Check data is present
Expand Down Expand Up @@ -667,6 +718,9 @@ def create_part(self, e=None):
self.fields['inventree_progress'].color = "red"
self.fields['inventree_progress'].update()

if not self.create_continue:
return self.process_cancel()

# KiCad data processing
if settings.ENABLE_KICAD:
part_info['Symbol'] = symbol
Expand Down Expand Up @@ -698,6 +752,9 @@ def create_part(self, e=None):
else:
self.fields['kicad_progress'].color = "red"
self.fields['kicad_progress'].update()

if not self.create_continue:
return self.process_cancel()

# Final operations
if settings.ENABLE_INVENTREE:
Expand All @@ -715,8 +772,8 @@ def create_part(self, e=None):
else:
cprint(f'\n[MAIN]\tPart page URL: {part_info["inventree_url"]}', silent=settings.SILENT)

# Disable cancel
self.enable_cancel(False)
# Button update
self.enable_create(True)

def build_column(self):
self.inventree_progress_row = ft.Ref[ft.Row]()
Expand Down Expand Up @@ -762,21 +819,5 @@ def build_column(self):
)

def did_mount(self):
# Setup progress bars
if not settings.ENABLE_INVENTREE:
self.inventree_progress_row.current.visible = False
else:
self.inventree_progress_row.current.visible = True
# Reset progress bar
progress.reset_progress_bar(self.fields['inventree_progress'])
self.inventree_progress_row.current.update()

if not settings.ENABLE_KICAD:
self.kicad_progress_row.current.visible = False
else:
self.kicad_progress_row.current.visible = True
# Reset progress bar
progress.reset_progress_bar(self.fields['kicad_progress'])
self.kicad_progress_row.current.update()

self.reset_progress_bars()
return super().did_mount()
2 changes: 1 addition & 1 deletion kintree/gui/views/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ def build_column(self):
self.column.controls.append(test_save_buttons)

def did_mount(self):
handle_transition(self.page, transition=False, timeout=0.1)
handle_transition(self.page, transition=False, timeout=0.05)
return super().did_mount()


Expand Down

0 comments on commit 241181d

Please sign in to comment.