349828d
diff -up hplip-3.18.4/base/utils.py.ui-optional hplip-3.18.4/base/utils.py
349828d
--- hplip-3.18.4/base/utils.py.ui-optional	2018-04-25 12:34:16.000000000 +0200
349828d
+++ hplip-3.18.4/base/utils.py	2018-04-26 09:27:26.487258888 +0200
349828d
@@ -1,4 +1,4 @@
349828d
-#!/usr/bin/env python
349828d
+#!/usr/bin/python3
349828d
 # -*- coding: utf-8 -*-
349828d
 #
349828d
 # (c) Copyright 2001-2015 HP Development Company, L.P.
78217e9
@@ -733,6 +733,13 @@ def checkPyQtImport(): # qt3
64f6bd8
         if os.getenv('DISPLAY') and os.getenv('STARTED_FROM_MENU'):
64f6bd8
             no_qt_message_gtk()
9fb915e
 
64f6bd8
+        # hplip-gui sub-package (Fedora)
64f6bd8
+        try:
64f6bd8
+            import ui
64f6bd8
+        except ImportError:
64f6bd8
+            log.error("hplip-gui not installed.  GUI not available. Exiting.")
64f6bd8
+            return False
9fb915e
+
64f6bd8
         log.error("PyQt not installed. GUI not available. Exiting.")
64f6bd8
         return False
9fb915e
 
78217e9
@@ -783,7 +790,8 @@ def checkPyQtImport4():
78217e9
         import PyQt5
78217e9
         import ui5
78217e9
     else:
78217e9
-        log.debug("HPLIP is not installed properly or is installed without graphical support. Please reinstall HPLIP again")
78217e9
+        # hplip-gui sub-package (Fedora) requires python3-qt5
64f6bd8
+        log.error("Install the hplip-gui package for graphical support.")
64f6bd8
         return False
78217e9
     return True
78217e9
 
911f38a
@@ -2434,6 +2442,7 @@ def checkPyQtImport45():
911f38a
     except ImportError as e:
911f38a
         log.debug(e)
911f38a
 
911f38a
+    log.error("Install the hplip-gui package for graphical support.")
911f38a
     raise ImportError("GUI Modules PyQt4 and PyQt5 are not installed")
911f38a
 
911f38a
 
73b7a25
@@ -2455,6 +2464,7 @@ def import_dialog(ui_toolkit):
73b7a25
             return  (QApplication, "ui4")
73b7a25
         except ImportError as e:
73b7a25
             log.error(e)
73b7a25
+            log.error("Unable to load Qt support. Is hplip-gui package installed?")
73b7a25
             sys.exit(1)
73b7a25
     elif ui_toolkit == "qt5":
73b7a25
         try:
73b7a25
@@ -2463,9 +2473,7 @@ def import_dialog(ui_toolkit):
73b7a25
             return (QApplication, "ui5")
73b7a25
         except ImportError as e:
73b7a25
             log.error(e)
73b7a25
-            sys.exit(1)
73b7a25
-        else:
73b7a25
-            log.error("Unable to load Qt support. Is it installed?")
73b7a25
+            log.error("Unable to load Qt support. Is hplip-gui package installed?")
73b7a25
             sys.exit(1)
73b7a25
 
73b7a25
 
349828d
diff -up hplip-3.18.4/plugin.py.ui-optional hplip-3.18.4/plugin.py
349828d
--- hplip-3.18.4/plugin.py.ui-optional	2018-05-11 10:06:02.925579534 +0200
349828d
+++ hplip-3.18.4/plugin.py	2018-05-11 10:25:08.576302069 +0200
349828d
@@ -252,7 +252,11 @@ if mode == GUI_MODE:
349828d
         #     clean_exit(1)
349828d
 
349828d
         QApplication, ui_package = utils.import_dialog(ui_toolkit)
349828d
-        ui = import_module(ui_package + ".plugindialog")
349828d
+        try:
349828d
+            ui = import_module(ui_package + ".plugindialog")
349828d
+        except ModuleNotFoundError:
349828d
+            log.error("hplip-gui not installed. GUI not available. Exiting.")
349828d
+            clean_exit(1)
349828d
         if ui_toolkit == "qt5":
349828d
             from PyQt5.QtWidgets import QMessageBox
349828d
         elif ui_toolkit == "qt4":