summaryrefslogtreecommitdiff
path: root/src/leap/app.py
diff options
context:
space:
mode:
authorkali <kali@leap.se>2012-07-22 21:10:15 -0700
committerkali <kali@leap.se>2012-07-22 21:10:15 -0700
commitc46d8da153ac658c8bd145376e22b1218db1090a (patch)
tree0943a4a866d9f3b1bc590c1c23f810ca13635f9e /src/leap/app.py
initial import
Diffstat (limited to 'src/leap/app.py')
-rw-r--r--src/leap/app.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/leap/app.py b/src/leap/app.py
new file mode 100644
index 00000000..0a61fd4f
--- /dev/null
+++ b/src/leap/app.py
@@ -0,0 +1,41 @@
+import logging
+# This is only needed for Python v2 but is harmless for Python v3.
+import sip
+sip.setapi('QVariant', 2)
+from PyQt4.QtGui import (QApplication, QSystemTrayIcon, QMessageBox)
+
+from leap.baseapp.mainwindow import LeapWindow
+
+logger = logging.getLogger(name=__name__)
+
+
+def main():
+ """
+ launches the main event loop
+ long live to the (hidden) leap window!
+ """
+ import sys
+ from leap.utils import leap_argparse
+ parser, opts = leap_argparse.init_leapc_args()
+ debug = getattr(opts, 'debug', False)
+
+ #XXX get debug level and set logger accordingly
+ if debug:
+ logger.debug('args: ', opts)
+
+ app = QApplication(sys.argv)
+
+ if not QSystemTrayIcon.isSystemTrayAvailable():
+ QMessageBox.critical(None, "Systray",
+ "I couldn't detect any \
+system tray on this system.")
+ sys.exit(1)
+ if not debug:
+ QApplication.setQuitOnLastWindowClosed(False)
+
+ window = LeapWindow(opts)
+ window.show()
+ sys.exit(app.exec_())
+
+if __name__ == "__main__":
+ main()