Merge lp:~qqworini/aesydict/cmake-full-support into lp:aesydict
- cmake-full-support
- Merge into initial
Proposed by
Joey Chan
Status: | Merged |
---|---|
Approved by: | Joey Chan |
Approved revision: | 2 |
Merged at revision: | 2 |
Proposed branch: | lp:~qqworini/aesydict/cmake-full-support |
Merge into: | lp:aesydict |
Diff against target: |
822 lines (+375/-231) 24 files modified
AesyDict.apparmor (+2/-3) CMakeLists.txt (+24/-21) app/AesyDict.desktop.in (+3/-2) app/CMakeLists.txt (+7/-2) app/aesydict.qml (+41/-27) app/components/CMakeLists.txt (+9/-0) app/components/ResultWord.qml (+20/-0) app/components/ResultWordList.qml (+20/-0) app/dict/CMakeLists.txt (+9/-0) app/dict/PageDictCenter.qml (+22/-0) app/images/CMakeLists.txt (+11/-0) app/js/CMakeLists.txt (+9/-0) app/search/CMakeLists.txt (+9/-0) app/search/PageSearch.qml (+47/-0) app/tests/autopilot/aesydict/__init__.py (+0/-133) app/tests/autopilot/aesydict/main/__init__.py (+0/-2) app/tests/autopilot/aesydict/main/test_main.py (+0/-24) app/tests/autopilot/run (+0/-12) manifest.json.in (+3/-5) po/aesydict.qqworini.pot (+34/-0) po/localization_readme.md (+19/-0) po/zh_CN.po (+35/-0) src/CMakeLists.txt (+14/-0) src/main.cpp (+37/-0) |
To merge this branch: | bzr merge lp:~qqworini/aesydict/cmake-full-support |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Joey Chan | Approve | ||
Review via email: mp+252970@code.launchpad.net |
Commit message
add full cmake support
Description of the change
add full cmake support
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 'AesyDict.apparmor' | |||
2 | --- AesyDict.apparmor 2015-02-15 03:17:55 +0000 | |||
3 | +++ AesyDict.apparmor 2015-03-14 13:03:17 +0000 | |||
4 | @@ -1,9 +1,8 @@ | |||
5 | 1 | { | 1 | { |
6 | 2 | "policy_groups": [ | 2 | "policy_groups": [ |
7 | 3 | "networking", | 3 | "networking", |
9 | 4 | "webview" | 4 | "webview", |
10 | 5 | "content_exchange" | ||
11 | 5 | ], | 6 | ], |
12 | 6 | "policy_version": 1.2 | 7 | "policy_version": 1.2 |
13 | 7 | } | 8 | } |
14 | 8 | |||
15 | 9 | |||
16 | 10 | 9 | ||
17 | === modified file 'CMakeLists.txt' | |||
18 | --- CMakeLists.txt 2015-02-15 03:17:55 +0000 | |||
19 | +++ CMakeLists.txt 2015-03-14 13:03:17 +0000 | |||
20 | @@ -5,6 +5,7 @@ | |||
21 | 5 | set(UBUNTU_MANIFEST_PATH "manifest.json.in" CACHE INTERNAL "Tells QtCreator location and name of the manifest file") | 5 | set(UBUNTU_MANIFEST_PATH "manifest.json.in" CACHE INTERNAL "Tells QtCreator location and name of the manifest file") |
22 | 6 | 6 | ||
23 | 7 | find_package(Qt5Core) | 7 | find_package(Qt5Core) |
24 | 8 | find_package(Qt5Gui) | ||
25 | 8 | find_package(Qt5Qml) | 9 | find_package(Qt5Qml) |
26 | 9 | find_package(Qt5Quick) | 10 | find_package(Qt5Quick) |
27 | 10 | # Find_package(ubuntu-sdk-libs) | 11 | # Find_package(ubuntu-sdk-libs) |
28 | @@ -19,21 +20,21 @@ | |||
29 | 19 | OUTPUT_STRIP_TRAILING_WHITESPACE | 20 | OUTPUT_STRIP_TRAILING_WHITESPACE |
30 | 20 | ) | 21 | ) |
31 | 21 | 22 | ||
41 | 22 | set(CLICK_ARCH "all") | 23 | #set(CLICK_ARCH "all") |
42 | 23 | # If you want to add native code to your project, replace the set CLICK_ARCH command | 24 | #If you want to add native code to your project, replace the set CLICK_ARCH command |
43 | 24 | # with the following part. | 25 | #with the following part. |
44 | 25 | # This command figures out the target architecture for use in the manifest file | 26 | #This command figures out the target architecture for use in the manifest file |
45 | 26 | # execute_process( | 27 | execute_process( |
46 | 27 | # COMMAND dpkg-architecture -qDEB_HOST_ARCH | 28 | COMMAND dpkg-architecture -qDEB_HOST_ARCH |
47 | 28 | # OUTPUT_VARIABLE CLICK_ARCH | 29 | OUTPUT_VARIABLE CLICK_ARCH |
48 | 29 | # OUTPUT_STRIP_TRAILING_WHITESPACE | 30 | OUTPUT_STRIP_TRAILING_WHITESPACE |
49 | 30 | # ) | 31 | ) |
50 | 31 | 32 | ||
51 | 32 | set(QT_IMPORTS_DIR "lib/${ARCH_TRIPLET}") | 33 | set(QT_IMPORTS_DIR "lib/${ARCH_TRIPLET}") |
52 | 33 | 34 | ||
54 | 34 | option(INSTALL_TESTS "Install the tests on make install" on) | 35 | #option(INSTALL_TESTS "Install the tests on make install" on) |
55 | 35 | 36 | ||
57 | 36 | set(APP_NAME aesydict) | 37 | set(APP_NAME AesyDict) |
58 | 37 | set(APP_ID "aesydict.qqworini") | 38 | set(APP_ID "aesydict.qqworini") |
59 | 38 | set(AESYDICT_DIR "share/qml/aesydict") | 39 | set(AESYDICT_DIR "share/qml/aesydict") |
60 | 39 | set(MAIN_QML "aesydict.qml") | 40 | set(MAIN_QML "aesydict.qml") |
61 | @@ -41,12 +42,13 @@ | |||
62 | 41 | 42 | ||
63 | 42 | # Set install paths | 43 | # Set install paths |
64 | 43 | set(CMAKE_INSTALL_PREFIX /) | 44 | set(CMAKE_INSTALL_PREFIX /) |
65 | 45 | set(CMAKE_INSTALL_BINDIR /) | ||
66 | 44 | set(DATA_DIR /) | 46 | set(DATA_DIR /) |
67 | 45 | set(DESKTOP_DIR ${DATA_DIR}) | 47 | set(DESKTOP_DIR ${DATA_DIR}) |
68 | 46 | set(DESKTOP_FILE_NAME "AesyDict.desktop") | 48 | set(DESKTOP_FILE_NAME "AesyDict.desktop") |
69 | 47 | 49 | ||
70 | 48 | # This sets the commandline that is executed on the device | 50 | # This sets the commandline that is executed on the device |
72 | 49 | set(EXEC "qmlscene $@ ${AESYDICT_DIR}/${MAIN_QML}") | 51 | set(EXEC "aesydict") |
73 | 50 | 52 | ||
74 | 51 | # Configures the manifest file. The manifest file describes the click package | 53 | # Configures the manifest file. The manifest file describes the click package |
75 | 52 | # to the target system. All cmake variables that are defined at this point | 54 | # to the target system. All cmake variables that are defined at this point |
76 | @@ -58,18 +60,19 @@ | |||
77 | 58 | install(DIRECTORY "app/graphics" DESTINATION ${DATA_DIR}) | 60 | install(DIRECTORY "app/graphics" DESTINATION ${DATA_DIR}) |
78 | 59 | install(FILES "AesyDict.apparmor" DESTINATION ${DATA_DIR}) | 61 | install(FILES "AesyDict.apparmor" DESTINATION ${DATA_DIR}) |
79 | 60 | 62 | ||
80 | 63 | add_subdirectory(src) | ||
81 | 61 | add_subdirectory(app) | 64 | add_subdirectory(app) |
82 | 62 | add_subdirectory(po) | 65 | add_subdirectory(po) |
83 | 63 | 66 | ||
93 | 64 | add_custom_target("autopilot" chmod +x ${CMAKE_SOURCE_DIR}/app/tests/autopilot/run | 67 | # add_custom_target("autopilot" chmod +x ${CMAKE_SOURCE_DIR}/app/tests/autopilot/run |
94 | 65 | COMMAND ${CMAKE_SOURCE_DIR}/app/tests/autopilot/run | 68 | # COMMAND ${CMAKE_SOURCE_DIR}/app/tests/autopilot/run |
95 | 66 | WORKING_DIRECTORY ./app) | 69 | # WORKING_DIRECTORY ./app) |
96 | 67 | 70 | # | |
97 | 68 | add_custom_target("check" /usr/bin/qmltestrunner -input ${CMAKE_SOURCE_DIR}/app/tests/unit -import ${CMAKE_BINARY_DIR}/backend | 71 | # add_custom_target("check" /usr/bin/qmltestrunner -input ${CMAKE_SOURCE_DIR}/app/tests/unit -import ${CMAKE_BINARY_DIR}/backend |
98 | 69 | WORKING_DIRECTORY ./app) | 72 | # WORKING_DIRECTORY ./app) |
99 | 70 | 73 | # | |
100 | 71 | add_custom_target("run" /usr/bin/qmlscene -I ${CMAKE_BINARY_DIR}/backend ${CMAKE_SOURCE_DIR}/app/aesydict.qml | 74 | # add_custom_target("run" /usr/bin/qmlscene -I ${CMAKE_BINARY_DIR}/backend ${CMAKE_SOURCE_DIR}/app/aesydict.qml |
101 | 72 | WORKING_DIRECTORY ./app) | 75 | # WORKING_DIRECTORY ./app) |
102 | 73 | 76 | ||
103 | 74 | # Normally QtCreator would only show files that are part of a target, but we need it to show also files | 77 | # Normally QtCreator would only show files that are part of a target, but we need it to show also files |
104 | 75 | # that are not compiled. Therefore we add a custom target that just does nothing but list the files | 78 | # that are not compiled. Therefore we add a custom target that just does nothing but list the files |
105 | 76 | 79 | ||
106 | === modified file 'app/AesyDict.desktop.in' | |||
107 | --- app/AesyDict.desktop.in 2015-02-15 03:17:55 +0000 | |||
108 | +++ app/AesyDict.desktop.in 2015-03-14 13:03:17 +0000 | |||
109 | @@ -1,11 +1,12 @@ | |||
110 | 1 | [Desktop Entry] | 1 | [Desktop Entry] |
113 | 2 | _Name=aesydict | 2 | _Name=AesyDict |
114 | 3 | Comment=My project description | 3 | Comment=Dictionary App |
115 | 4 | Exec=@EXEC@ | 4 | Exec=@EXEC@ |
116 | 5 | Icon=@ICON@ | 5 | Icon=@ICON@ |
117 | 6 | Terminal=false | 6 | Terminal=false |
118 | 7 | Type=Application | 7 | Type=Application |
119 | 8 | X-Ubuntu-Touch=true | 8 | X-Ubuntu-Touch=true |
120 | 9 | X-Ubuntu-StageHint=SideStage | ||
121 | 9 | 10 | ||
122 | 10 | 11 | ||
123 | 11 | 12 | ||
124 | 12 | 13 | ||
125 | === modified file 'app/CMakeLists.txt' | |||
126 | --- app/CMakeLists.txt 2015-02-15 03:17:55 +0000 | |||
127 | +++ app/CMakeLists.txt 2015-03-14 13:03:17 +0000 | |||
128 | @@ -13,6 +13,11 @@ | |||
129 | 13 | install(FILES ${QML_JS_FILES} DESTINATION ${AESYDICT_DIR}) | 13 | install(FILES ${QML_JS_FILES} DESTINATION ${AESYDICT_DIR}) |
130 | 14 | 14 | ||
131 | 15 | # Make the autpilot files visible in qtcreator | 15 | # Make the autpilot files visible in qtcreator |
134 | 16 | file(GLOB_RECURSE AUTOPILOT_TEST_FILES *.py) | 16 | # file(GLOB_RECURSE AUTOPILOT_TEST_FILES *.py) |
135 | 17 | add_custom_target(aesydict_AutopilotFiles ALL SOURCES ${AUTOPILOT_TEST_FILES}) | 17 | # add_custom_target(aesydict_AutopilotFiles ALL SOURCES ${AUTOPILOT_TEST_FILES}) |
136 | 18 | 18 | ||
137 | 19 | add_subdirectory(components) | ||
138 | 20 | add_subdirectory(search) | ||
139 | 21 | add_subdirectory(dict) | ||
140 | 22 | add_subdirectory(js) | ||
141 | 23 | add_subdirectory(images) | ||
142 | 19 | \ No newline at end of file | 24 | \ No newline at end of file |
143 | 20 | 25 | ||
144 | === modified file 'app/aesydict.qml' | |||
145 | --- app/aesydict.qml 2015-02-15 03:17:55 +0000 | |||
146 | +++ app/aesydict.qml 2015-03-14 13:03:17 +0000 | |||
147 | @@ -1,4 +1,4 @@ | |||
149 | 1 | import QtQuick 2.0 | 1 | import QtQuick 2.2 |
150 | 2 | import Ubuntu.Components 1.1 | 2 | import Ubuntu.Components 1.1 |
151 | 3 | 3 | ||
152 | 4 | /*! | 4 | /*! |
153 | @@ -27,33 +27,47 @@ | |||
154 | 27 | height: units.gu(75) | 27 | height: units.gu(75) |
155 | 28 | 28 | ||
156 | 29 | Page { | 29 | Page { |
183 | 30 | title: i18n.tr("Simple") | 30 | id: searchPage |
184 | 31 | 31 | title: "Click the icon" | |
185 | 32 | Column { | 32 | Label { |
186 | 33 | spacing: units.gu(1) | 33 | anchors.centerIn: parent |
187 | 34 | anchors { | 34 | text: searchPage.state == "search" ? "search mode" : "normal mode" |
162 | 35 | margins: units.gu(2) | ||
163 | 36 | fill: parent | ||
164 | 37 | } | ||
165 | 38 | |||
166 | 39 | Label { | ||
167 | 40 | id: label | ||
168 | 41 | objectName: "label" | ||
169 | 42 | |||
170 | 43 | text: i18n.tr("Hello..") | ||
171 | 44 | } | ||
172 | 45 | |||
173 | 46 | Button { | ||
174 | 47 | objectName: "button" | ||
175 | 48 | width: parent.width | ||
176 | 49 | |||
177 | 50 | text: i18n.tr("Tap me!") | ||
178 | 51 | |||
179 | 52 | onClicked: { | ||
180 | 53 | label.text = i18n.tr("..world!") | ||
181 | 54 | } | ||
182 | 55 | } | ||
188 | 56 | } | 35 | } |
189 | 36 | state: "default" | ||
190 | 37 | states: [ | ||
191 | 38 | PageHeadState { | ||
192 | 39 | name: "default" | ||
193 | 40 | head: searchPage.head | ||
194 | 41 | actions: Action { | ||
195 | 42 | iconName: "search" | ||
196 | 43 | onTriggered: searchPage.state = "search" | ||
197 | 44 | } | ||
198 | 45 | }, | ||
199 | 46 | PageHeadState { | ||
200 | 47 | id: headerState | ||
201 | 48 | name: "search" | ||
202 | 49 | head: searchPage.head | ||
203 | 50 | actions: [ | ||
204 | 51 | Action { | ||
205 | 52 | id: action0 | ||
206 | 53 | iconName: "contact" | ||
207 | 54 | } | ||
208 | 55 | ] | ||
209 | 56 | backAction: Action { | ||
210 | 57 | id: leaveSearchAction | ||
211 | 58 | text: "back" | ||
212 | 59 | iconName: "back" | ||
213 | 60 | onTriggered: searchPage.state = "default" | ||
214 | 61 | } | ||
215 | 62 | contents: TextField { | ||
216 | 63 | anchors { | ||
217 | 64 | right: parent.right; rightMargin: units.gu(1) | ||
218 | 65 | } | ||
219 | 66 | |||
220 | 67 | placeholderText: "search..." | ||
221 | 68 | } | ||
222 | 69 | } | ||
223 | 70 | ] | ||
224 | 57 | } | 71 | } |
225 | 58 | } | 72 | } |
226 | 59 | 73 | ||
227 | 60 | 74 | ||
228 | === added directory 'app/components' | |||
229 | === added file 'app/components/CMakeLists.txt' | |||
230 | --- app/components/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
231 | +++ app/components/CMakeLists.txt 2015-03-14 13:03:17 +0000 | |||
232 | @@ -0,0 +1,9 @@ | |||
233 | 1 | # Searches for all qml and javascript files in the current directory | ||
234 | 2 | # to add them to the project, if you add new files in the directory | ||
235 | 3 | # rerun cmake to make sure they show up in the project tree | ||
236 | 4 | file(GLOB QML_JS_FILES_components *.qml *.js) | ||
237 | 5 | |||
238 | 6 | # Make the files visible in qtcreator | ||
239 | 7 | add_custom_target(aesydict_QMlFiles_components ALL SOURCES ${QML_JS_FILES_components}) | ||
240 | 8 | |||
241 | 9 | install(FILES ${QML_JS_FILES_components} DESTINATION ${AESYDICT_DIR}/components) | ||
242 | 0 | 10 | ||
243 | === added file 'app/components/ResultWord.qml' | |||
244 | --- app/components/ResultWord.qml 1970-01-01 00:00:00 +0000 | |||
245 | +++ app/components/ResultWord.qml 2015-03-14 13:03:17 +0000 | |||
246 | @@ -0,0 +1,20 @@ | |||
247 | 1 | import QtQuick 2.2 | ||
248 | 2 | import Ubuntu.Components 1.1 | ||
249 | 3 | |||
250 | 4 | Page { | ||
251 | 5 | id: pageDictCenter | ||
252 | 6 | title: "Click the icon" | ||
253 | 7 | state: "default" | ||
254 | 8 | states: [ | ||
255 | 9 | PageHeadState { | ||
256 | 10 | name: "default" | ||
257 | 11 | head: pageDictCenter.head | ||
258 | 12 | actions: Action { | ||
259 | 13 | iconName: "search" | ||
260 | 14 | onTriggered: pageDictCenter.state = "search" | ||
261 | 15 | } | ||
262 | 16 | } | ||
263 | 17 | ] | ||
264 | 18 | |||
265 | 19 | } | ||
266 | 20 | |||
267 | 0 | 21 | ||
268 | === added file 'app/components/ResultWordList.qml' | |||
269 | --- app/components/ResultWordList.qml 1970-01-01 00:00:00 +0000 | |||
270 | +++ app/components/ResultWordList.qml 2015-03-14 13:03:17 +0000 | |||
271 | @@ -0,0 +1,20 @@ | |||
272 | 1 | import QtQuick 2.2 | ||
273 | 2 | import Ubuntu.Components 1.1 | ||
274 | 3 | |||
275 | 4 | Page { | ||
276 | 5 | id: pageDictCenter | ||
277 | 6 | title: "Click the icon" | ||
278 | 7 | state: "default" | ||
279 | 8 | states: [ | ||
280 | 9 | PageHeadState { | ||
281 | 10 | name: "default" | ||
282 | 11 | head: pageDictCenter.head | ||
283 | 12 | actions: Action { | ||
284 | 13 | iconName: "search" | ||
285 | 14 | onTriggered: pageDictCenter.state = "search" | ||
286 | 15 | } | ||
287 | 16 | } | ||
288 | 17 | ] | ||
289 | 18 | |||
290 | 19 | } | ||
291 | 20 | |||
292 | 0 | 21 | ||
293 | === added directory 'app/dict' | |||
294 | === added file 'app/dict/CMakeLists.txt' | |||
295 | --- app/dict/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
296 | +++ app/dict/CMakeLists.txt 2015-03-14 13:03:17 +0000 | |||
297 | @@ -0,0 +1,9 @@ | |||
298 | 1 | # Searches for all qml and javascript files in the current directory | ||
299 | 2 | # to add them to the project, if you add new files in the directory | ||
300 | 3 | # rerun cmake to make sure they show up in the project tree | ||
301 | 4 | file(GLOB QML_JS_FILES_dict *.qml *.js) | ||
302 | 5 | |||
303 | 6 | # Make the files visible in qtcreator | ||
304 | 7 | add_custom_target(aesydict_QMlFiles_dict ALL SOURCES ${QML_JS_FILES_dict}) | ||
305 | 8 | |||
306 | 9 | install(FILES ${QML_JS_FILES_dict} DESTINATION ${AESYDICT_DIR}/dict) | ||
307 | 0 | 10 | ||
308 | === added file 'app/dict/PageDictCenter.qml' | |||
309 | --- app/dict/PageDictCenter.qml 1970-01-01 00:00:00 +0000 | |||
310 | +++ app/dict/PageDictCenter.qml 2015-03-14 13:03:17 +0000 | |||
311 | @@ -0,0 +1,22 @@ | |||
312 | 1 | import QtQuick 2.2 | ||
313 | 2 | import Ubuntu.Components 1.1 | ||
314 | 3 | |||
315 | 4 | Page { | ||
316 | 5 | id: pageDictCenter | ||
317 | 6 | title: i18n.tr("Dictionaries") | ||
318 | 7 | state: "default" | ||
319 | 8 | states: [ | ||
320 | 9 | PageHeadState { | ||
321 | 10 | name: "default" | ||
322 | 11 | head: pageDictCenter.head | ||
323 | 12 | actions: Action { | ||
324 | 13 | iconName: "attachment" | ||
325 | 14 | onTriggered: { | ||
326 | 15 | // TODO push import dict page | ||
327 | 16 | } | ||
328 | 17 | } | ||
329 | 18 | } | ||
330 | 19 | ] | ||
331 | 20 | |||
332 | 21 | } | ||
333 | 22 | |||
334 | 0 | 23 | ||
335 | === added directory 'app/images' | |||
336 | === added file 'app/images/CMakeLists.txt' | |||
337 | --- app/images/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
338 | +++ app/images/CMakeLists.txt 2015-03-14 13:03:17 +0000 | |||
339 | @@ -0,0 +1,11 @@ | |||
340 | 1 | # Searches for all image files in the current directory | ||
341 | 2 | # to add them to the project, if you add new files in the directory | ||
342 | 3 | # rerun cmake to make sure they show up in the project tree | ||
343 | 4 | file(GLOB IMAGE_FILES *.jpg *.png *.svg) | ||
344 | 5 | |||
345 | 6 | # Make the files visible in qtcreator | ||
346 | 7 | add_custom_target(aesydict_IMAGE_FILES ALL SOURCES ${IMAGE_FILES}) | ||
347 | 8 | |||
348 | 9 | install(FILES ${IMAGE_FILES} DESTINATION ${AESYDICT_DIR}/images) | ||
349 | 10 | |||
350 | 11 | |||
351 | 0 | 12 | ||
352 | === added file 'app/images/aesydict.png' | |||
353 | 1 | Binary files app/images/aesydict.png 1970-01-01 00:00:00 +0000 and app/images/aesydict.png 2015-03-14 13:03:17 +0000 differ | 13 | Binary files app/images/aesydict.png 1970-01-01 00:00:00 +0000 and app/images/aesydict.png 2015-03-14 13:03:17 +0000 differ |
354 | === added file 'app/images/toolbarIcon@8.png' | |||
355 | 2 | Binary files app/images/toolbarIcon@8.png 1970-01-01 00:00:00 +0000 and app/images/toolbarIcon@8.png 2015-03-14 13:03:17 +0000 differ | 14 | Binary files app/images/toolbarIcon@8.png 1970-01-01 00:00:00 +0000 and app/images/toolbarIcon@8.png 2015-03-14 13:03:17 +0000 differ |
356 | === added directory 'app/js' | |||
357 | === added file 'app/js/CMakeLists.txt' | |||
358 | --- app/js/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
359 | +++ app/js/CMakeLists.txt 2015-03-14 13:03:17 +0000 | |||
360 | @@ -0,0 +1,9 @@ | |||
361 | 1 | # Searches for all qml and javascript files in the current directory | ||
362 | 2 | # to add them to the project, if you add new files in the directory | ||
363 | 3 | # rerun cmake to make sure they show up in the project tree | ||
364 | 4 | file(GLOB QML_JS_FILES_js *.qml *.js) | ||
365 | 5 | |||
366 | 6 | # Make the files visible in qtcreator | ||
367 | 7 | add_custom_target(aesydict_QMlFiles_js ALL SOURCES ${QML_JS_FILES_js}) | ||
368 | 8 | |||
369 | 9 | install(FILES ${QML_JS_FILES_js} DESTINATION ${AESYDICT_DIR}/js) | ||
370 | 0 | 10 | ||
371 | === added directory 'app/search' | |||
372 | === added file 'app/search/CMakeLists.txt' | |||
373 | --- app/search/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
374 | +++ app/search/CMakeLists.txt 2015-03-14 13:03:17 +0000 | |||
375 | @@ -0,0 +1,9 @@ | |||
376 | 1 | # Searches for all qml and javascript files in the current directory | ||
377 | 2 | # to add them to the project, if you add new files in the directory | ||
378 | 3 | # rerun cmake to make sure they show up in the project tree | ||
379 | 4 | file(GLOB QML_JS_FILES_search *.qml *.js) | ||
380 | 5 | |||
381 | 6 | # Make the files visible in qtcreator | ||
382 | 7 | add_custom_target(aesydict_QMlFiles_search ALL SOURCES ${QML_JS_FILES_search}) | ||
383 | 8 | |||
384 | 9 | install(FILES ${QML_JS_FILES_search} DESTINATION ${AESYDICT_DIR}/search) | ||
385 | 0 | 10 | ||
386 | === added file 'app/search/PageSearch.qml' | |||
387 | --- app/search/PageSearch.qml 1970-01-01 00:00:00 +0000 | |||
388 | +++ app/search/PageSearch.qml 2015-03-14 13:03:17 +0000 | |||
389 | @@ -0,0 +1,47 @@ | |||
390 | 1 | import QtQuick 2.2 | ||
391 | 2 | import Ubuntu.Components 1.1 | ||
392 | 3 | |||
393 | 4 | Page { | ||
394 | 5 | id: pageSearch | ||
395 | 6 | title: "Click the icon" | ||
396 | 7 | state: "default" | ||
397 | 8 | states: [ | ||
398 | 9 | PageHeadState { | ||
399 | 10 | name: "default" | ||
400 | 11 | head: pageSearch.head | ||
401 | 12 | actions: Action { | ||
402 | 13 | iconName: "search" | ||
403 | 14 | onTriggered: pageSearch.state = "search" | ||
404 | 15 | } | ||
405 | 16 | }, | ||
406 | 17 | PageHeadState { | ||
407 | 18 | id: headerState | ||
408 | 19 | name: "search" | ||
409 | 20 | head: pageSearch.head | ||
410 | 21 | actions: [ | ||
411 | 22 | Action { | ||
412 | 23 | id: acSearchStart | ||
413 | 24 | iconName: "search" | ||
414 | 25 | onTriggered: { | ||
415 | 26 | // TODO start search session | ||
416 | 27 | } | ||
417 | 28 | } | ||
418 | 29 | ] | ||
419 | 30 | backAction: Action { | ||
420 | 31 | id: acleaveSearch | ||
421 | 32 | text: i18n.tr("back") | ||
422 | 33 | iconName: "back" | ||
423 | 34 | onTriggered: pageSearch.state = "default" | ||
424 | 35 | } | ||
425 | 36 | contents: TextField { | ||
426 | 37 | anchors { | ||
427 | 38 | right: parent.right; rightMargin: units.gu(1) | ||
428 | 39 | } | ||
429 | 40 | |||
430 | 41 | placeholderText: i18n.tr("Please input a word") | ||
431 | 42 | } | ||
432 | 43 | } | ||
433 | 44 | ] | ||
434 | 45 | |||
435 | 46 | } | ||
436 | 47 | |||
437 | 0 | 48 | ||
438 | === removed directory 'app/tests' | |||
439 | === removed directory 'app/tests/autopilot' | |||
440 | === removed directory 'app/tests/autopilot/aesydict' | |||
441 | === removed file 'app/tests/autopilot/aesydict/__init__.py' | |||
442 | --- app/tests/autopilot/aesydict/__init__.py 2015-02-15 03:17:55 +0000 | |||
443 | +++ app/tests/autopilot/aesydict/__init__.py 1970-01-01 00:00:00 +0000 | |||
444 | @@ -1,133 +0,0 @@ | |||
445 | 1 | # -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- | ||
446 | 2 | |||
447 | 3 | """Ubuntu Touch App autopilot tests.""" | ||
448 | 4 | |||
449 | 5 | from os import remove | ||
450 | 6 | import os.path | ||
451 | 7 | from tempfile import mktemp | ||
452 | 8 | import subprocess | ||
453 | 9 | |||
454 | 10 | from autopilot.input import Mouse, Touch, Pointer | ||
455 | 11 | from autopilot.matchers import Eventually | ||
456 | 12 | from autopilot.platform import model | ||
457 | 13 | from testtools.matchers import Is, Not, Equals | ||
458 | 14 | from autopilot.testcase import AutopilotTestCase | ||
459 | 15 | |||
460 | 16 | def get_module_include_path(): | ||
461 | 17 | return os.path.abspath( | ||
462 | 18 | os.path.join( | ||
463 | 19 | os.path.dirname(__file__), | ||
464 | 20 | '..', | ||
465 | 21 | '..', | ||
466 | 22 | '..', | ||
467 | 23 | '..', | ||
468 | 24 | 'backend', | ||
469 | 25 | 'modules') | ||
470 | 26 | ) | ||
471 | 27 | |||
472 | 28 | |||
473 | 29 | class UbuntuTouchAppTestCase(AutopilotTestCase): | ||
474 | 30 | """A common test case class that provides several useful methods for the tests.""" | ||
475 | 31 | |||
476 | 32 | if model() == 'Desktop': | ||
477 | 33 | scenarios = [ | ||
478 | 34 | ('with mouse', dict(input_device_class=Mouse)) | ||
479 | 35 | ] | ||
480 | 36 | else: | ||
481 | 37 | scenarios = [ | ||
482 | 38 | ('with touch', dict(input_device_class=Touch)) | ||
483 | 39 | ] | ||
484 | 40 | |||
485 | 41 | @property | ||
486 | 42 | def main_window(self): | ||
487 | 43 | return MainWindow(self.app) | ||
488 | 44 | |||
489 | 45 | |||
490 | 46 | def setUp(self): | ||
491 | 47 | self.pointing_device = Pointer(self.input_device_class.create()) | ||
492 | 48 | super(UbuntuTouchAppTestCase, self).setUp() | ||
493 | 49 | self.launch_test_qml() | ||
494 | 50 | |||
495 | 51 | |||
496 | 52 | def launch_test_qml(self): | ||
497 | 53 | # If the test class has defined a 'test_qml' class attribute then we | ||
498 | 54 | # write it to disk and launch it inside the QML Scene. If not, then we | ||
499 | 55 | # silently do nothing (presumably the test has something else planned). | ||
500 | 56 | arch = subprocess.check_output(["dpkg-architecture", | ||
501 | 57 | "-qDEB_HOST_MULTIARCH"]).strip() | ||
502 | 58 | if hasattr(self, 'test_qml') and isinstance(self.test_qml, basestring): | ||
503 | 59 | qml_path = mktemp(suffix='.qml') | ||
504 | 60 | open(qml_path, 'w').write(self.test_qml) | ||
505 | 61 | self.addCleanup(remove, qml_path) | ||
506 | 62 | |||
507 | 63 | self.app = self.launch_test_application( | ||
508 | 64 | "/usr/lib/" + arch + "/qt5/bin/qmlscene", | ||
509 | 65 | "-I", get_module_include_path(), | ||
510 | 66 | qml_path, | ||
511 | 67 | app_type='qt') | ||
512 | 68 | |||
513 | 69 | if hasattr(self, 'test_qml_file') and isinstance(self.test_qml_file, basestring): | ||
514 | 70 | qml_path = self.test_qml_file | ||
515 | 71 | self.app = self.launch_test_application( | ||
516 | 72 | "/usr/lib/" + arch + "/qt5/bin/qmlscene", | ||
517 | 73 | "-I", get_module_include_path(), | ||
518 | 74 | qml_path, | ||
519 | 75 | app_type='qt') | ||
520 | 76 | |||
521 | 77 | self.assertThat(self.get_qml_view().visible, Eventually(Equals(True))) | ||
522 | 78 | |||
523 | 79 | |||
524 | 80 | def get_qml_view(self): | ||
525 | 81 | """Get the main QML view""" | ||
526 | 82 | |||
527 | 83 | return self.app.select_single("QQuickView") | ||
528 | 84 | |||
529 | 85 | def get_mainview(self): | ||
530 | 86 | """Get the QML MainView""" | ||
531 | 87 | |||
532 | 88 | mainView = self.app.select_single("MainView") | ||
533 | 89 | self.assertThat(mainView, Not(Is(None))) | ||
534 | 90 | return mainView | ||
535 | 91 | |||
536 | 92 | |||
537 | 93 | def get_object(self,objectName): | ||
538 | 94 | """Get a object based on the objectName""" | ||
539 | 95 | |||
540 | 96 | obj = self.app.select_single(objectName=objectName) | ||
541 | 97 | self.assertThat(obj, Not(Is(None))) | ||
542 | 98 | return obj | ||
543 | 99 | |||
544 | 100 | |||
545 | 101 | def mouse_click(self,objectName): | ||
546 | 102 | """Move mouse on top of the object and click on it""" | ||
547 | 103 | |||
548 | 104 | obj = self.get_object(objectName) | ||
549 | 105 | self.pointing_device.move_to_object(obj) | ||
550 | 106 | self.pointing_device.click() | ||
551 | 107 | |||
552 | 108 | |||
553 | 109 | def mouse_press(self,objectName): | ||
554 | 110 | """Move mouse on top of the object and press mouse button (without releasing it)""" | ||
555 | 111 | |||
556 | 112 | obj = self.get_object(objectName) | ||
557 | 113 | self.pointing_device.move_to_object(obj) | ||
558 | 114 | self.pointing_device.press() | ||
559 | 115 | |||
560 | 116 | |||
561 | 117 | def mouse_release(self): | ||
562 | 118 | """Release mouse button""" | ||
563 | 119 | |||
564 | 120 | self.pointing_device.release() | ||
565 | 121 | |||
566 | 122 | |||
567 | 123 | def type_string(self, string): | ||
568 | 124 | """Type a string with keyboard""" | ||
569 | 125 | |||
570 | 126 | self.keyboard.type(string) | ||
571 | 127 | |||
572 | 128 | |||
573 | 129 | def type_key(self, key): | ||
574 | 130 | """Type a single key with keyboard""" | ||
575 | 131 | |||
576 | 132 | self.keyboard.key(key) | ||
577 | 133 | |||
578 | 134 | 0 | ||
579 | === removed directory 'app/tests/autopilot/aesydict/main' | |||
580 | === removed file 'app/tests/autopilot/aesydict/main/__init__.py' | |||
581 | --- app/tests/autopilot/aesydict/main/__init__.py 2015-02-15 03:17:55 +0000 | |||
582 | +++ app/tests/autopilot/aesydict/main/__init__.py 1970-01-01 00:00:00 +0000 | |||
583 | @@ -1,2 +0,0 @@ | |||
584 | 1 | """ A Main.qml test suite """ | ||
585 | 2 | |||
586 | 3 | 0 | ||
587 | === removed file 'app/tests/autopilot/aesydict/main/test_main.py' | |||
588 | --- app/tests/autopilot/aesydict/main/test_main.py 2015-02-15 03:17:55 +0000 | |||
589 | +++ app/tests/autopilot/aesydict/main/test_main.py 1970-01-01 00:00:00 +0000 | |||
590 | @@ -1,24 +0,0 @@ | |||
591 | 1 | # -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- | ||
592 | 2 | |||
593 | 3 | """Tests for the Hello World""" | ||
594 | 4 | |||
595 | 5 | from autopilot.matchers import Eventually | ||
596 | 6 | from textwrap import dedent | ||
597 | 7 | from testtools.matchers import Is, Not, Equals | ||
598 | 8 | from testtools import skip | ||
599 | 9 | import os | ||
600 | 10 | from aesydict import UbuntuTouchAppTestCase | ||
601 | 11 | |||
602 | 12 | |||
603 | 13 | class MainTests(UbuntuTouchAppTestCase): | ||
604 | 14 | """Generic tests for the Hello World""" | ||
605 | 15 | |||
606 | 16 | test_qml_file = "%s/%s.qml" % (os.path.dirname(os.path.realpath(__file__)),"../../../../aesydict") | ||
607 | 17 | |||
608 | 18 | def test_0_can_select_mainView(self): | ||
609 | 19 | """Must be able to select the mainview.""" | ||
610 | 20 | |||
611 | 21 | mainView = self.get_mainview() | ||
612 | 22 | self.assertThat(mainView.visible,Eventually(Equals(True))) | ||
613 | 23 | |||
614 | 24 | |||
615 | 25 | 0 | ||
616 | === removed file 'app/tests/autopilot/run' | |||
617 | --- app/tests/autopilot/run 2015-02-15 03:17:55 +0000 | |||
618 | +++ app/tests/autopilot/run 1970-01-01 00:00:00 +0000 | |||
619 | @@ -1,12 +0,0 @@ | |||
620 | 1 | #!/bin/bash | ||
621 | 2 | |||
622 | 3 | if [[ -z `which autopilot` ]]; then | ||
623 | 4 | echo "Autopilot is not installed. Skip" | ||
624 | 5 | exit | ||
625 | 6 | fi | ||
626 | 7 | |||
627 | 8 | SCRIPTPATH=`dirname $0` | ||
628 | 9 | pushd ${SCRIPTPATH} | ||
629 | 10 | autopilot run aesydict | ||
630 | 11 | popd | ||
631 | 12 | |||
632 | 13 | 0 | ||
633 | === modified file 'manifest.json.in' | |||
634 | --- manifest.json.in 2015-02-15 03:17:55 +0000 | |||
635 | +++ manifest.json.in 2015-03-14 13:03:17 +0000 | |||
636 | @@ -1,17 +1,15 @@ | |||
637 | 1 | { | 1 | { |
638 | 2 | "name": "@APP_ID@", | 2 | "name": "@APP_ID@", |
640 | 3 | "description": "description of aesydict", | 3 | "description": "AesyDict, an dictionary app for Ubuntu Touch", |
641 | 4 | "architecture": "@CLICK_ARCH@", | 4 | "architecture": "@CLICK_ARCH@", |
642 | 5 | "title": "@APP_NAME@", | 5 | "title": "@APP_NAME@", |
643 | 6 | "hooks": { | 6 | "hooks": { |
644 | 7 | "AesyDict": { | 7 | "AesyDict": { |
645 | 8 | "apparmor": "AesyDict.apparmor", | 8 | "apparmor": "AesyDict.apparmor", |
647 | 9 | "desktop": "AesyDict.desktop" | 9 | "desktop": "AesyDict.desktop" |
648 | 10 | } | 10 | } |
649 | 11 | }, | 11 | }, |
650 | 12 | "version": "0.1", | 12 | "version": "0.1", |
651 | 13 | "maintainer": "Joey Chan <qqworini@gmail.com>", | 13 | "maintainer": "Joey Chan <qqworini@gmail.com>", |
653 | 14 | "framework" : "ubuntu-sdk-14.10" | 14 | "framework": "ubuntu-sdk-14.10" |
654 | 15 | } | 15 | } |
655 | 16 | |||
656 | 17 | |||
657 | 18 | 16 | ||
658 | === added file 'po/aesydict.qqworini.pot' | |||
659 | --- po/aesydict.qqworini.pot 1970-01-01 00:00:00 +0000 | |||
660 | +++ po/aesydict.qqworini.pot 2015-03-14 13:03:17 +0000 | |||
661 | @@ -0,0 +1,34 @@ | |||
662 | 1 | # SOME DESCRIPTIVE TITLE. | ||
663 | 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | ||
664 | 3 | # This file is distributed under the same license as the PACKAGE package. | ||
665 | 4 | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | ||
666 | 5 | # | ||
667 | 6 | #, fuzzy | ||
668 | 7 | msgid "" | ||
669 | 8 | msgstr "" | ||
670 | 9 | "Project-Id-Version: \n" | ||
671 | 10 | "Report-Msgid-Bugs-To: \n" | ||
672 | 11 | "POT-Creation-Date: 2015-03-14 15:11+0800\n" | ||
673 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||
674 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||
675 | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" | ||
676 | 15 | "Language: \n" | ||
677 | 16 | "MIME-Version: 1.0\n" | ||
678 | 17 | "Content-Type: text/plain; charset=CHARSET\n" | ||
679 | 18 | "Content-Transfer-Encoding: 8bit\n" | ||
680 | 19 | |||
681 | 20 | #: ../app/dict/PageDictCenter.qml:6 | ||
682 | 21 | msgid "Dictionaries" | ||
683 | 22 | msgstr "" | ||
684 | 23 | |||
685 | 24 | #: ../app/search/PageSearch.qml:32 | ||
686 | 25 | msgid "back" | ||
687 | 26 | msgstr "" | ||
688 | 27 | |||
689 | 28 | #: ../app/search/PageSearch.qml:41 | ||
690 | 29 | msgid "Please input a word" | ||
691 | 30 | msgstr "" | ||
692 | 31 | |||
693 | 32 | #: /home/cy/qtproject/ditcionary/aesydict_project/build-aesydict-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-Default/po/AesyDict.desktop.in.h:1 | ||
694 | 33 | msgid "AesyDict" | ||
695 | 34 | msgstr "" | ||
696 | 0 | 35 | ||
697 | === added file 'po/localization_readme.md' | |||
698 | --- po/localization_readme.md 1970-01-01 00:00:00 +0000 | |||
699 | +++ po/localization_readme.md 2015-03-14 13:03:17 +0000 | |||
700 | @@ -0,0 +1,19 @@ | |||
701 | 1 | Localization | ||
702 | 2 | ============ | ||
703 | 3 | |||
704 | 4 | To generate the `.pot` file, run this command: | ||
705 | 5 | |||
706 | 6 | xgettext -C --qt --keyword=tr --add-comments=TRANSLATORS app.qml -p locale -o <pot_file>.pot | ||
707 | 7 | |||
708 | 8 | To create a new `.po` file, run this command in `locale` directory: | ||
709 | 9 | |||
710 | 10 | msginit -i <pot_file>.pot -o <LANG>.po | ||
711 | 11 | |||
712 | 12 | To update existing `.po` file, run this command in `locale` directory: | ||
713 | 13 | |||
714 | 14 | msgmerge -U <LANG>.po <pot_file>.pot | ||
715 | 15 | |||
716 | 16 | To build a `.po` file, run these commands in `locale` directory: | ||
717 | 17 | |||
718 | 18 | mkdir -p <LANG>/LC_MESSAGES | ||
719 | 19 | msgfmt <LANG>.po -o <LANG>/LC_MESSAGES/<pot_file>.mo | ||
720 | 0 | \ No newline at end of file | 20 | \ No newline at end of file |
721 | 1 | 21 | ||
722 | === added file 'po/zh_CN.po' | |||
723 | --- po/zh_CN.po 1970-01-01 00:00:00 +0000 | |||
724 | +++ po/zh_CN.po 2015-03-14 13:03:17 +0000 | |||
725 | @@ -0,0 +1,35 @@ | |||
726 | 1 | # Chinese translations for package | ||
727 | 2 | # 软件包的简体中文翻译. | ||
728 | 3 | # Copyright (C) 2015 THE 'S COPYRIGHT HOLDER | ||
729 | 4 | # This file is distributed under the same license as the package. | ||
730 | 5 | # cy <joeychan.ubuntu@gmail.com>, 2015. | ||
731 | 6 | # | ||
732 | 7 | msgid "" | ||
733 | 8 | msgstr "" | ||
734 | 9 | "Project-Id-Version: \n" | ||
735 | 10 | "Report-Msgid-Bugs-To: \n" | ||
736 | 11 | "POT-Creation-Date: 2015-03-14 15:05+0800\n" | ||
737 | 12 | "PO-Revision-Date: 2015-03-14 15:07+0800\n" | ||
738 | 13 | "Last-Translator: cy <joeychan.ubuntu@gmail.com>\n" | ||
739 | 14 | "Language-Team: Chinese (simplified) <translation-team-zh-cn@lists." | ||
740 | 15 | "sourceforge.net>\n" | ||
741 | 16 | "Language: zh_CN\n" | ||
742 | 17 | "MIME-Version: 1.0\n" | ||
743 | 18 | "Content-Type: text/plain; charset=UTF-8\n" | ||
744 | 19 | "Content-Transfer-Encoding: 8bit\n" | ||
745 | 20 | |||
746 | 21 | #: ../app/dict/PageDictCenter.qml:6 | ||
747 | 22 | msgid "Dictionaries" | ||
748 | 23 | msgstr "字典" | ||
749 | 24 | |||
750 | 25 | #: ../app/search/PageSearch.qml:32 | ||
751 | 26 | msgid "back" | ||
752 | 27 | msgstr "后退" | ||
753 | 28 | |||
754 | 29 | #: ../app/search/PageSearch.qml:41 | ||
755 | 30 | msgid "Please input a word" | ||
756 | 31 | msgstr "请输入单词" | ||
757 | 32 | |||
758 | 33 | #: /home/cy/qtproject/ditcionary/aesydict_project/build-aesydict-Desktop-Default/po/AesyDict.desktop.in.h:1 | ||
759 | 34 | msgid "AesyDict" | ||
760 | 35 | msgstr "Aesy字典" | ||
761 | 0 | 36 | ||
762 | === added directory 'src' | |||
763 | === added file 'src/CMakeLists.txt' | |||
764 | --- src/CMakeLists.txt 1970-01-01 00:00:00 +0000 | |||
765 | +++ src/CMakeLists.txt 2015-03-14 13:03:17 +0000 | |||
766 | @@ -0,0 +1,14 @@ | |||
767 | 1 | project(aesydict_src) | ||
768 | 2 | |||
769 | 3 | set( | ||
770 | 4 | aesydict_SRCS | ||
771 | 5 | main.cpp | ||
772 | 6 | ) | ||
773 | 7 | |||
774 | 8 | add_executable(${EXEC} | ||
775 | 9 | ${aesydict_SRCS} | ||
776 | 10 | ) | ||
777 | 11 | |||
778 | 12 | qt5_use_modules(${EXEC} Core Qml Quick Gui) | ||
779 | 13 | |||
780 | 14 | install(TARGETS ${EXEC} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) | ||
781 | 0 | 15 | ||
782 | === added file 'src/main.cpp' | |||
783 | --- src/main.cpp 1970-01-01 00:00:00 +0000 | |||
784 | +++ src/main.cpp 2015-03-14 13:03:17 +0000 | |||
785 | @@ -0,0 +1,37 @@ | |||
786 | 1 | #include <QtGui> | ||
787 | 2 | #include <QtCore> | ||
788 | 3 | #include <QtQuick> | ||
789 | 4 | |||
790 | 5 | //#include "mytype.h" | ||
791 | 6 | //#include "networkhelper.h" | ||
792 | 7 | //#include "imageprovider.h" | ||
793 | 8 | |||
794 | 9 | int main(int argc, char *argv[]) | ||
795 | 10 | { | ||
796 | 11 | QGuiApplication app(argc, argv); | ||
797 | 12 | |||
798 | 13 | qSetMessagePattern("%{file}- %{line}: %{function} M: %{message}"); | ||
799 | 14 | |||
800 | 15 | QQuickView *viewer = new QQuickView(); | ||
801 | 16 | |||
802 | 17 | // MyType *myType = new MyType(viewer); | ||
803 | 18 | // NetworkHelper *networkHelper = new NetworkHelper(viewer); | ||
804 | 19 | |||
805 | 20 | // viewer->engine()->rootContext()->setContextProperty("appData", myType); | ||
806 | 21 | // viewer->engine()->rootContext()->setContextProperty("networkHelper", networkHelper); | ||
807 | 22 | // viewer->engine()->addImageProvider(QLatin1String("provider"), new ImageProvider); | ||
808 | 23 | |||
809 | 24 | viewer->setResizeMode(QQuickView::SizeRootObjectToView); | ||
810 | 25 | // viewer->setSource(QUrl("./qml/splash.qml")); | ||
811 | 26 | // viewer->show(); | ||
812 | 27 | // QElapsedTimer t; | ||
813 | 28 | // t.start(); | ||
814 | 29 | // while(t.elapsed()<100) | ||
815 | 30 | // { | ||
816 | 31 | // QCoreApplication::processEvents(); | ||
817 | 32 | // } | ||
818 | 33 | viewer->setSource(QUrl("./share/qml/aesydict/aesydict.qml")); | ||
819 | 34 | viewer->show(); | ||
820 | 35 | |||
821 | 36 | return app.exec(); | ||
822 | 37 | } |
approved