diff options
Diffstat (limited to 'hplip-ui-optional.patch')
-rw-r--r-- | hplip-ui-optional.patch | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/hplip-ui-optional.patch b/hplip-ui-optional.patch new file mode 100644 index 0000000..4b3f525 --- /dev/null +++ b/hplip-ui-optional.patch @@ -0,0 +1,96 @@ +diff --git a/base/module.py b/base/module.py +index dd3efa3..04ac5b8 100644 +--- a/base/module.py ++++ b/base/module.py +@@ -432,6 +432,12 @@ class Module(object): + if show_usage is not None: + sys.exit(0) + ++ if mode == GUI_MODE: ++ if not utils.canEnterGUIMode4(): ++ log.warn("GUI mode not available - switching to interactive mode.") ++ mode = INTERACTIVE_MODE ++ ui_toolkit = 'none' ++ + self.mode = mode + return opts, device_uri, printer_name, mode, ui_toolkit, lang + +diff --git a/base/utils.py b/base/utils.py +index 98437a3..9b8813b 100644 +--- a/base/utils.py ++++ b/base/utils.py +@@ -722,6 +722,15 @@ def canEnterGUIMode4(): # qt4 + log.warn(e) + return False + ++ try: ++ import ui4 ++ except ImportError: ++ try: ++ import ui5 ++ except ImportError as e: ++ log.warn(e) ++ return False ++ + return True + + +@@ -734,6 +743,11 @@ def checkPyQtImport(): # qt3 + if os.getenv('DISPLAY') and os.getenv('STARTED_FROM_MENU'): + no_qt_message_gtk() + ++ try: ++ import ui ++ except ImportError: ++ return False ++ + log.error("PyQt not installed. GUI not available. Exiting.") + return False + +@@ -781,11 +795,13 @@ def checkPyQtImport4(): + import PyQt4 + import ui4 + except ImportError: +- import PyQt5 +- import ui5 +- else: +- log.debug("HPLIP is not installed properly or is installed without graphical support. Please reinstall HPLIP again") +- return False ++ try: ++ import PyQt5 ++ import ui5 ++ except ImportError: ++ log.debug('GUI not available.') ++ return False ++ + return True + + # def checkPyQtImport5(): +diff --git a/fab.py b/fab.py +index 5577af5..194ceed 100755 +--- a/fab.py ++++ b/fab.py +@@ -776,14 +776,15 @@ mod.setUsage(module.USAGE_FLAG_NONE) + opts, device_uri, printer_name, mode, ui_toolkit, loc = \ + mod.parseStdOpts(handle_device_printer=False) + +-if ui_toolkit == 'qt3': +- if not utils.canEnterGUIMode(): +- log.error("%s GUI mode requires GUI support (try running with --qt4). Entering interactive mode." % __mod__) +- mode = INTERACTIVE_MODE +-else: +- if not utils.canEnterGUIMode4(): +- log.error("%s GUI mode requires GUI support (try running with --qt3). Entering interactive mode." % __mod__) +- mode = INTERACTIVE_MODE ++if ui_toolkit != 'none': ++ if ui_toolkit == 'qt3': ++ if not utils.canEnterGUIMode(): ++ log.error("%s GUI mode requires GUI support (try running with --qt4). Entering interactive mode." % __mod__) ++ mode = INTERACTIVE_MODE ++ else: ++ if not utils.canEnterGUIMode4(): ++ log.error("%s GUI mode requires GUI support (try running with --qt3). Entering interactive mode." % __mod__) ++ mode = INTERACTIVE_MODE + + + if mode == GUI_MODE: |