~mvo/ubuntu-sso-client/strawman-lp711413

« back to all changes in this revision

Viewing changes to ubuntu_sso/qt/main/__init__.py

  • Committer: Tarmac
  • Author(s): Diego Sarmentero, Roberto Alsina, Natalia B. Bidart, manuel.delapena at canonical, Manuel de la Pena
  • Date: 2012-03-27 19:33:27 UTC
  • mfrom: (831.1.2 stable-3-0-update-2.99.91.1)
  • Revision ID: tarmac-20120327193327-rgwi1z1cbfxxrx9d
Tags: release-2_99_91_1
[ Diego Sarmentero <diego.sarmentero@canonical.com> ]
  - Converting to unicode some data returned by webclient in
    QByteArray format (LP: #961315).
  - Adding ubuntu_sso.qt.main module to the setup script (LP: #965377).
  - Fixed the backend getting stuck installing the qtreactor before
    the qt process is executed and running the application in the
    twisted process (This fix affects only Windows OS) (LP: #961511).

[ Roberto Alsina <roberto.alsina@canonical.com> ]
   - Forced white background (LP: #961346).

[ Manuel de la Pena <manuel.delapena@canonical.com> ]
  - Fixed dialog on window by using show so that the QEventLoop does
    not block the execution of the main loop of the reactor which did
    not allow the deferreds to be fired (LP: #960481).

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# You should have received a copy of the GNU General Public License along
15
15
# with this program.  If not, see <http://www.gnu.org/licenses/>.
16
16
 
17
 
"""Main module to open the GTK UI."""
 
17
"""Main module to open the QT UI."""
18
18
 
19
19
import sys
20
20
 
28
28
from ubuntu_sso.utils import PLATFORM_QSS
29
29
 
30
30
 
 
31
# Invalid name "source", pylint: disable=C0103
 
32
if sys.platform == 'win32':
 
33
    from ubuntu_sso.qt.main import windows
 
34
    source = windows
 
35
else:
 
36
    from ubuntu_sso.qt.main import linux
 
37
    source = linux
 
38
# pylint: enable=C0103
 
39
 
 
40
 
31
41
def main(**kwargs):
32
42
    """Start the QT mainloop and open the main window."""
33
43
    app = QtGui.QApplication(sys.argv)
34
44
 
35
 
    QtGui.QFontDatabase.addApplicationFont(':/Ubuntu-R.ttf')
36
 
    QtGui.QFontDatabase.addApplicationFont(':/Ubuntu-B.ttf')
 
45
    source.main(app)
37
46
 
38
47
    data = []
39
48
    for qss_name in (PLATFORM_QSS, ":/stylesheet.qss"):
48
57
            kwargs[key] = value.decode('utf-8')
49
58
 
50
59
    # Unused variable 'ui', pylint: disable=W0612
51
 
    ui = UbuntuSSOClientGUI(close_callback=app.exit, **kwargs)
 
60
    close_callback = lambda: source.main_quit(app)
 
61
    ui = UbuntuSSOClientGUI(close_callback=close_callback, **kwargs)
52
62
    style = QtGui.QStyle.alignedRect(
53
63
                    QtCore.Qt.LeftToRight, QtCore.Qt.AlignCenter,
54
64
                    ui.size(), app.desktop().availableGeometry())
55
65
    ui.setGeometry(style)
56
66
    ui.show()
57
 
    app.exec_()
 
67
 
 
68
    source.main_start(app)