Making the various windows mutually exclusive
[gonvert] / src / gonvert_qt.py
index d53529b..4989833 100755 (executable)
@@ -58,10 +58,10 @@ class Gonvert(object):
 
        _DATA_PATHS = [
                os.path.dirname(__file__),
+               os.path.join(os.path.dirname(__file__), "../share"),
                os.path.join(os.path.dirname(__file__), "../data"),
-               os.path.join(os.path.dirname(__file__), "../lib"),
                '/usr/share/gonvert',
-               '/usr/lib/gonvert',
+               '/opt/gonvert/share',
        ]
 
        def __init__(self, app):
@@ -131,17 +131,13 @@ class Gonvert(object):
                return self._catWindow
 
        def search_units(self):
-               if self._jumpWindow is not None:
-                       self._jumpWindow.close()
-                       self._jumpWindow = None
+               self._close_windows()
                self._jumpWindow = QuickJump(None, self)
                self._jumpWindow.window.destroyed.connect(lambda obj = None: self._on_child_close("_jumpWindow", obj))
                return self._jumpWindow
 
        def show_recent(self):
-               if self._recentWindow is not None:
-                       self._recentWindow.close()
-                       self._recentWindow = None
+               self._close_windows()
                self._recentWindow = Recent(None, self)
                self._recentWindow.window.destroyed.connect(lambda obj = None: self._on_child_close("_recentWindow", obj))
                return self._recentWindow
@@ -254,6 +250,13 @@ class Gonvert(object):
                if self._recentWindow is not None:
                        yield self._recentWindow
 
+       def _close_windows(self):
+               for window in self._walk_children():
+                       window.close()
+               self._catWindow = None
+               self._jumpWindow = None
+               self._recentWindow = None
+
        @misc_utils.log_exception(_moduleLogger)
        def _on_app_quit(self, checked = False):
                self.save_settings()
@@ -287,8 +290,7 @@ class Gonvert(object):
 
        @misc_utils.log_exception(_moduleLogger)
        def _on_quit(self, checked = False):
-               for window in self._walk_children():
-                       window.close()
+               self._close_windows()
 
 
 class QuickJump(object):
@@ -981,8 +983,8 @@ class UnitWindow(object):
 
                self._selectedUnitName = QtGui.QLabel()
                self._selectedUnitValue = QtGui.QLineEdit()
-               self._selectedUnitValue.setInputMethodHints(QtCore.Qt.ImhPreferNumbers)
                self._selectedUnitValue.textEdited.connect(self._on_value_edited)
+               maeqt.mark_numbers_preferred(self._selectedUnitValue)
                self._selectedUnitSymbol = QtGui.QLabel()
 
                self._selectedUnitLayout = QtGui.QHBoxLayout()