Fix printer detection, implement portable deployment with SumatraPDF
- Fixed network printer enumeration (PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS) - Added printer name truncation to 20 chars with full name mapping - Implemented silent PDF printing using SumatraPDF with landscape orientation - Added auto-dismiss for success popup (3 seconds) - Bundled SumatraPDF inside executable for portable single-file deployment - Updated build script to embed SumatraPDF - Added setup_sumatra.ps1 for downloading SumatraPDF portable - Added DEPLOYMENT.md documentation
This commit is contained in:
@@ -393,7 +393,7 @@ class LabelPrinterApp(App):
|
||||
|
||||
# Use Clock.schedule_once to update UI from main thread
|
||||
Clock.schedule_once(lambda dt: popup.dismiss(), 0)
|
||||
Clock.schedule_once(lambda dt: self.show_popup("Success", "Label printed successfully!"), 0.1)
|
||||
Clock.schedule_once(lambda dt: self.show_popup("Success", "Label printed successfully!", auto_dismiss=True), 0.1)
|
||||
# Clear inputs after successful print (but keep printer selection)
|
||||
Clock.schedule_once(lambda dt: self.clear_inputs(), 0.2)
|
||||
else:
|
||||
@@ -420,8 +420,14 @@ class LabelPrinterApp(App):
|
||||
self.cable_id_input.text = ''
|
||||
# Printer selection is NOT cleared - it persists until user changes it
|
||||
|
||||
def show_popup(self, title, message):
|
||||
"""Show a popup message"""
|
||||
def show_popup(self, title, message, auto_dismiss=False):
|
||||
"""Show a popup message
|
||||
|
||||
Args:
|
||||
title (str): Popup title
|
||||
message (str): Popup message
|
||||
auto_dismiss (bool): If True, popup will auto-dismiss after 3 seconds
|
||||
"""
|
||||
popup = Popup(
|
||||
title=title,
|
||||
content=BoxLayout(
|
||||
@@ -439,6 +445,10 @@ class LabelPrinterApp(App):
|
||||
popup.content.add_widget(close_button)
|
||||
|
||||
popup.open()
|
||||
|
||||
# Auto-dismiss after 3 seconds if requested
|
||||
if auto_dismiss:
|
||||
Clock.schedule_once(lambda dt: popup.dismiss(), 3)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user