Merge lp:~agateau/ubiquity/slideshow-fixes into lp:ubiquity

Proposed by Aurélien Gâteau
Status: Merged
Merged at revision: 5851
Proposed branch: lp:~agateau/ubiquity/slideshow-fixes
Merge into: lp:ubiquity
Prerequisite: lp:~agateau/ubiquity/rtl-fixes
Diff against target: 164 lines (+48/-27)
2 files modified
gui/qt/app.ui (+31/-12)
ubiquity/frontend/kde_ui.py (+17/-15)
To merge this branch: bzr merge lp:~agateau/ubiquity/slideshow-fixes
Reviewer Review Type Date Requested Status
Jonathan Riddell Pending
Review via email: mp+151231@code.launchpad.net

Description of the change

This branch fixes integration of the webview responsible for showing the slideshow in the KDE frontend of ubiquity

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'gui/qt/app.ui'
2--- gui/qt/app.ui 2013-02-26 15:50:04 +0000
3+++ gui/qt/app.ui 2013-03-01 13:42:24 +0000
4@@ -6,8 +6,8 @@
5 <rect>
6 <x>0</x>
7 <y>0</y>
8- <width>505</width>
9- <height>534</height>
10+ <width>850</width>
11+ <height>533</height>
12 </rect>
13 </property>
14 <property name="windowTitle">
15@@ -30,9 +30,9 @@
16 </sizepolicy>
17 </property>
18 <property name="currentIndex">
19- <number>0</number>
20+ <number>1</number>
21 </property>
22- <widget class="QWidget" name="page_7">
23+ <widget class="QWidget" name="setup_page">
24 <layout class="QVBoxLayout" name="verticalLayout_2">
25 <property name="margin">
26 <number>0</number>
27@@ -64,21 +64,33 @@
28 </item>
29 </layout>
30 </widget>
31- <widget class="QWidget" name="page_8">
32+ <widget class="QWidget" name="install_page">
33 <layout class="QVBoxLayout" name="verticalLayout_8">
34+ <property name="margin">
35+ <number>0</number>
36+ </property>
37 <item>
38- <widget class="QWidget" name="content_widget_2" native="true">
39+ <widget class="QWebView" name="webview">
40 <property name="sizePolicy">
41- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
42+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
43 <horstretch>0</horstretch>
44 <verstretch>0</verstretch>
45 </sizepolicy>
46 </property>
47- <layout class="QVBoxLayout" name="verticalLayout_7">
48- <property name="leftMargin">
49- <number>0</number>
50- </property>
51- </layout>
52+ <property name="minimumSize">
53+ <size>
54+ <width>700</width>
55+ <height>420</height>
56+ </size>
57+ </property>
58+ <property name="contextMenuPolicy">
59+ <enum>Qt::NoContextMenu</enum>
60+ </property>
61+ <property name="url">
62+ <url>
63+ <string>about:blank</string>
64+ </url>
65+ </property>
66 </widget>
67 </item>
68 </layout>
69@@ -326,6 +338,13 @@
70 </layout>
71 </widget>
72 </widget>
73+ <customwidgets>
74+ <customwidget>
75+ <class>QWebView</class>
76+ <extends>QWidget</extends>
77+ <header>QtWebKit/QWebView</header>
78+ </customwidget>
79+ </customwidgets>
80 <tabstops>
81 <tabstop>next</tabstop>
82 <tabstop>back</tabstop>
83
84=== modified file 'ubiquity/frontend/kde_ui.py'
85--- ubiquity/frontend/kde_ui.py 2013-03-01 13:42:24 +0000
86+++ ubiquity/frontend/kde_ui.py 2013-03-01 13:42:24 +0000
87@@ -39,7 +39,7 @@
88 # kde gui specifics
89 import sip
90 sip.setapi("QVariant", 1)
91-from PyQt4 import QtCore, QtGui, uic
92+from PyQt4 import QtCore, QtGui, QtWebKit, uic
93
94 from ubiquity import filteredcommand, i18n, misc
95 from ubiquity.components import partman_commit, install, plugininstall
96@@ -279,6 +279,7 @@
97 self.ui.install_process_label.hide()
98 self.breadcrumb_install.hide()
99
100+ self.ui.pageMode.setCurrentWidget(self.ui.setup_page)
101 self.update_back_button()
102 self.update_next_button(install=False)
103 self.ui.quit.setIcon(QtGui.QIcon.fromTheme("dialog-close"))
104@@ -400,6 +401,13 @@
105 # itself and show content
106 self.ui.show()
107
108+ if 'UBIQUITY_TEST_SLIDESHOW' in os.environ:
109+ # Quick way to test slideshow without going through the whole
110+ # install
111+ self._update_breadcrumbs('__install')
112+ self.start_slideshow()
113+ self.run_main_loop()
114+
115 while(self.pagesindex < self.pageslen):
116 if self.current_page is None:
117 break
118@@ -514,9 +522,9 @@
119 page.breadcrumb.setState(Breadcrumb.TODO)
120
121 if active_page_name == '__install':
122- page.breadcrumb.setState(Breadcrumb.CURRENT)
123+ self.breadcrumb_install.setState(Breadcrumb.CURRENT)
124 else:
125- page.breadcrumb.setState(Breadcrumb.TODO)
126+ self.breadcrumb_install.setState(Breadcrumb.TODO)
127
128 def start_slideshow(self):
129 slideshow_dir = '/usr/share/ubiquity-slideshow'
130@@ -537,28 +545,22 @@
131
132 slides = 'file://%s#%s' % (slideshow_main, parameters_encoded)
133
134- from PyQt4.QtWebKit import QWebView
135- from PyQt4.QtWebKit import QWebPage
136-
137 def openLink(qUrl):
138 QtGui.QDesktopServices.openUrl(qUrl)
139
140- webView = QWebView()
141+ self.ui.navigation.hide()
142+ self.ui.pageMode.setCurrentWidget(self.ui.install_page)
143+ webView = self.ui.webview
144 webView.linkClicked.connect(openLink)
145- webView.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
146- webView.page().setLinkDelegationPolicy(QWebPage.DelegateExternalLinks)
147+ webView.page().setLinkDelegationPolicy(
148+ QtWebKit.QWebPage.DelegateExternalLinks)
149 webView.page().mainFrame().setScrollBarPolicy(
150 QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff)
151 webView.page().mainFrame().setScrollBarPolicy(
152 QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff)
153- webView.setFixedSize(700, 420)
154+
155 webView.load(QtCore.QUrl(slides))
156
157- self.ui.navigation.hide()
158- self.ui.pageMode.setCurrentIndex(1)
159- self.ui.pageMode.widget(1).layout().addWidget(webView)
160- webView.show()
161-
162 def set_layout_direction(self, lang=None):
163 if not lang:
164 lang = self.locale

Subscribers

People subscribed via source and target branches

to status/vote changes: