Merge lp:~ken-vandine/content-hub/qdoc into lp:~content-hub-team/content-hub/trunk

Proposed by Ken VanDine
Status: Merged
Approved by: Ken VanDine
Approved revision: 72
Merged at revision: 63
Proposed branch: lp:~ken-vandine/content-hub/qdoc
Merge into: lp:~content-hub-team/content-hub/trunk
Prerequisite: lp:~ken-vandine/content-hub/lp1236932
Diff against target: 2252 lines (+1823/-66)
17 files modified
debian/libcontent-hub-doc.install (+1/-1)
doc/CMakeLists.txt (+8/-3)
doc/qml/CMakeLists.txt (+25/-0)
doc/qml/css/base.css (+638/-0)
doc/qml/css/qtquick.css (+772/-0)
doc/qml/css/reset.css (+8/-0)
doc/qml/css/scratch.css (+61/-0)
doc/qml/pages/mainpage.qdoc (+125/-0)
doc/qml/ubuntu-content-hub.qdocconf.in (+47/-0)
import/Ubuntu/Content/ContentImportHint.qml (+1/-1)
import/Ubuntu/Content/contenthub.cpp (+23/-15)
import/Ubuntu/Content/contenthub.h (+4/-0)
import/Ubuntu/Content/contenthubplugin.cpp (+0/-3)
import/Ubuntu/Content/contentitem.cpp (+3/-3)
import/Ubuntu/Content/contentstore.cpp (+4/-7)
import/Ubuntu/Content/contenttransfer.cpp (+75/-21)
import/Ubuntu/Content/contenttype.cpp (+28/-12)
To merge this branch: bzr merge lp:~ken-vandine/content-hub/qdoc
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Günter Schwann (community) Approve
Review via email: mp+192324@code.launchpad.net

Commit message

Added qdoc docs for QML bindings

Description of the change

Added qdoc docs for QML bindings

To post a comment you must log in.
Revision history for this message
Günter Schwann (schwann) wrote :

Generates a nice documentation for me

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/libcontent-hub-doc.install'
2--- debian/libcontent-hub-doc.install 2013-08-13 13:20:55 +0000
3+++ debian/libcontent-hub-doc.install 2013-10-23 12:34:58 +0000
4@@ -1,1 +1,1 @@
5-usr/share/doc/content-hub/html
6+usr/share/doc/content-hub
7
8=== modified file 'doc/CMakeLists.txt'
9--- doc/CMakeLists.txt 2013-07-15 11:07:50 +0000
10+++ doc/CMakeLists.txt 2013-10-23 12:34:58 +0000
11@@ -14,17 +14,22 @@
12 #
13 # Authored by: Thomas Voss <thomas.voss@canonical.com>
14
15+add_custom_target(doc ALL)
16+
17 find_package(Doxygen)
18
19 if(DOXYGEN_FOUND)
20 configure_file(
21 ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in
22 ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
23- add_custom_target(doc ALL
24+ add_custom_target(cppdoc ALL
25 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
26 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
27 COMMENT "Generating API documentation with Doxygen" VERBATIM)
28 install(
29 DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
30- DESTINATION share/doc/content-hub)
31-endif(DOXYGEN_FOUND)
32\ No newline at end of file
33+ DESTINATION ${CMAKE_INSTALL_DOCDIR}/cpp)
34+ add_dependencies(doc cppdoc)
35+endif(DOXYGEN_FOUND)
36+
37+add_subdirectory(qml)
38
39=== added directory 'doc/qml'
40=== added file 'doc/qml/CMakeLists.txt'
41--- doc/qml/CMakeLists.txt 1970-01-01 00:00:00 +0000
42+++ doc/qml/CMakeLists.txt 2013-10-23 12:34:58 +0000
43@@ -0,0 +1,25 @@
44+# add a target to generate API documentation with qdoc
45+FIND_PROGRAM(QDOC_EXECUTABLE qdoc)
46+if(QDOC_EXECUTABLE)
47+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ubuntu-content-hub.qdocconf.in ${CMAKE_CURRENT_BINARY_DIR}/ubuntu-content-hub.qdocconf @ONLY)
48+add_custom_target(qmldoc
49+${QDOC_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/ubuntu-content-hub.qdocconf
50+WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
51+COMMENT "Generating QML API documentation with qdoc" VERBATIM
52+)
53+
54+# copy stylesheet files into build directory for shadow builds
55+file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/css"
56+ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
57+ )
58+
59+install(
60+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
61+ DESTINATION ${CMAKE_INSTALL_DOCDIR}/qml/html
62+)
63+
64+add_dependencies(doc qmldoc)
65+
66+endif(QDOC_EXECUTABLE)
67+
68+
69
70=== added directory 'doc/qml/css'
71=== added file 'doc/qml/css/base.css'
72--- doc/qml/css/base.css 1970-01-01 00:00:00 +0000
73+++ doc/qml/css/base.css 2013-10-23 12:34:58 +0000
74@@ -0,0 +1,638 @@
75+/**
76+* Ubuntu Developer base stylesheet
77+*
78+* A base stylesheet containing site-wide styles
79+*
80+* @project Ubuntu Developer
81+* @version 1.0
82+* @author Canonical Web Team: Steve Edwards
83+* @copyright 2011 Canonical Ltd.
84+*/
85+
86+/**
87+* @section Global
88+*/
89+
90+body {
91+ font-family: 'Ubuntu', 'Ubuntu Beta', UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif;
92+ font-size: 13px;
93+ line-height: 1.4;
94+ color: #333;
95+}
96+a {
97+ color: #dd4814;
98+ text-decoration: none;
99+ outline: 0;
100+}
101+p, dl {
102+ margin-bottom: 10px;
103+}
104+strong {
105+ font-weight: bold;
106+}
107+em {
108+ font-style: italic;
109+}
110+code{
111+ padding: 10px;
112+ font-family: 'Ubuntu Mono', 'Consolas', 'Monaco', 'DejaVu Sans Mono', Courier, monospace;
113+ background-color: #fdf6f2;
114+ display: block;
115+ margin-bottom: 10px;
116+ -moz-border-radius: 4px;
117+ -webkit-border-radius: 4px;
118+ border-radius: 4px;
119+}
120+h1 {
121+ font-size: 36px;
122+ line-height: 1.1;
123+ margin-bottom: 20px;
124+}
125+article h1,
126+h2 {
127+ font-size: 24px;
128+ line-height: 1.2;
129+ margin-bottom: 14px;
130+}
131+h3 {
132+ font-size: 16px;
133+ line-height: 1.3;
134+ margin-bottom: 8px;
135+}
136+h4 {
137+ font-weight: bold;
138+}
139+
140+time {
141+ color:#999;
142+}
143+
144+/**
145+* @section Structure
146+*/
147+
148+.header-login,
149+.header-navigation div,
150+.header-content div {
151+ margin: 0 auto;
152+ width: 940px;
153+}
154+
155+.header-content h1{
156+ background-color:#ffffff;
157+ display:inline-block;
158+}
159+
160+.header-content h2{
161+ background-color:#ffffff;
162+ display:table;
163+}
164+
165+.header-login ul {
166+ margin: 4px 0;
167+ float: right;
168+}
169+.header-login li {
170+ margin-right: 10px;
171+ float: left;
172+}
173+.header-login a {
174+ color: #333;
175+}
176+.header-navigation {
177+ border-top: 2px solid #dd4814;
178+ border-bottom: 2px solid #dd4814;
179+ background-color: #fff;
180+ height: 54px;
181+ clear: right;
182+ overflow: hidden;
183+}
184+.header-navigation nav ul {
185+ border-right: 1px solid #dd4814;
186+ float: right;
187+}
188+.header-navigation nav li {
189+ border-left: 1px solid #dd4814;
190+ float: left;
191+ height: 54px;
192+}
193+.header-navigation nav a {
194+ padding: 18px 14px 0;
195+ font-size: 14px;
196+ display: block;
197+ height: 36px;
198+}
199+.header-navigation nav a:hover {
200+ background-color: #fcece7;
201+}
202+.header-navigation nav .current_page_item a,
203+.header-navigation nav .current_page_parent a,
204+.header-navigation nav .current_page_ancestor a {
205+ background-color: #dd4814;
206+ color: #fff;
207+}
208+.header-navigation input {
209+ margin: 12px 10px 0 10px;
210+ padding: 5px;
211+ border-top: 1px solid #a1a1a1;
212+ border-right: 1px solid #e0e0e0;
213+ border-bottom: 1px solid #fff;
214+ border-left: 1px solid #e0e0e0;
215+ width: 90px;
216+ font-style: italic;
217+ color: #ccc;
218+ -moz-border-radius: 3px;
219+ -webkit-border-radius: 3px;
220+ border-radius: 3px;
221+ -moz-box-shadow: inset 0 1px 1px #e0e0e0;
222+ -webkit-box-shadow: inset 0 1px 1px #e0e0e0;
223+ box-shadow: inset 0 1px 1px #e0e0e0;
224+}
225+.header-navigation h2 {
226+ margin: 18px 0 0 6px;
227+ text-transform: lowercase;
228+ font-size: 22px;
229+ color: #dd4814;
230+ float: left;
231+}
232+.header-navigation .logo-ubuntu {
233+ margin-top: 12px;
234+ float: left;
235+}
236+.header-content .header-navigation-secondary {
237+ margin-bottom: 40px;
238+ padding: 0;
239+ position: relative;
240+ z-index: 2;
241+}
242+.header-navigation-secondary div {
243+ padding: 0;
244+ border: 2px solid #dd4814;
245+ -moz-border-radius: 0px 0px 4px 4px;
246+ -webkit-border-radius: 0px 0px 4px 4px;
247+ border-radius: 0px 0px 4px 4px;
248+ background: #fff;
249+ border-top: 0px;
250+ width: 936px;
251+}
252+.header-navigation-secondary nav li {
253+ float: left;
254+}
255+.header-navigation-secondary nav li a {
256+ color: #333;
257+ display: block;
258+ height: 25px;
259+ padding: 8px 8px 0;
260+}
261+.header-navigation-secondary nav li:hover,
262+.header-navigation-secondary nav .current_page_item a {
263+ background: url("../img/sec-nav-hover.gif");
264+}
265+.header-content {
266+ padding-bottom: 30px;
267+ border-bottom: 1px solid #e0e0e0;
268+ -moz-box-shadow: 0 1px 3px #e0e0e0;
269+ -webkit-box-shadow: 0 1px 3px #e0e0e0;
270+ box-shadow: 0 1px 3px #e0e0e0;
271+ margin-bottom: 3px;
272+ position: relative;
273+ overflow: hidden;
274+}
275+footer {
276+ padding: 10px 10px 40px 10px;
277+ position: relative;
278+ -moz-border-radius: 0 0 4px 4px;
279+ -webkit-border-radius: 0 0 4px 4px;
280+ border-radius: 0 0 4px 4px;
281+ font-size: 12px;
282+ background: url("../img/background-footer.png") repeat scroll 0 0 #f7f6f5;
283+}
284+footer div {
285+ margin: 0 auto;
286+ padding: 0 10px;
287+ width: 940px;
288+}
289+footer a {
290+ color: #000;
291+}
292+footer nav ul {
293+ margin: 10px 17px 30px 0;
294+ width: 172px;
295+ display: inline-block;
296+ vertical-align: top;
297+ height: auto;
298+ zoom: 1;
299+ *display: inline;
300+}
301+footer nav ul.last {
302+ margin-right: 0;
303+}
304+footer nav li {
305+ margin-bottom: 8px;
306+}
307+footer nav li:first-child {
308+ font-weight: bold;
309+}
310+footer p {
311+ margin-bottom: 0;
312+}
313+#content {
314+ padding-top: 35px;
315+}
316+.arrow-nav {
317+ display: none;
318+ position: absolute;
319+ top: -1px;
320+ z-index: 3;
321+}
322+.shadow {
323+ margin: 30px 0 3px 0;
324+ border-bottom: 1px solid #e0e0e0;
325+ -moz-box-shadow: 0 2px 3px #e0e0e0;
326+ -webkit-box-shadow: 0 2px 3px #e0e0e0;
327+ box-shadow: 0 2px 3px #e0e0e0;
328+ height: 3px;
329+}
330+
331+/**
332+* @section Site-wide
333+*/
334+
335+#content h2{
336+ font-size:24px;
337+}
338+
339+.box-orange {
340+ padding: 10px;
341+ border: 3px solid #dd4814;
342+ -moz-border-radius: 4px;
343+ -webkit-border-radius: 4px;
344+ border-radius: 4px;
345+}
346+.box-orange .link-action-small {
347+ float: right;
348+ margin: 0 0 0 20px;
349+}
350+.link-bug {
351+ margin-left: 10px;
352+ color: #999;
353+}
354+.link-action {
355+ float: left;
356+ margin-bottom: 20px;
357+ padding: 8px 12px;
358+ display: block;
359+ background-color: #dd4814;
360+ color: #fff;
361+ -moz-border-radius: 20px;
362+ -webkit-border-radius: 20px;
363+ border-radius: 20px;
364+ font-size: 16px;
365+ line-height: 1.3;
366+ border-top: 3px solid #e6633a;
367+ border-bottom: 3px solid #c03d14;
368+}
369+.link-action2 {
370+ float: left;
371+ display: block;
372+ color: #fff;
373+ font-size: 16px;
374+ line-height: 1.3;
375+}
376+.link-action2 span{
377+ display:block;
378+ float:left;
379+}
380+.link-action2 .cta-left{
381+ background:url(../img/button-cta-left.png) no-repeat;
382+ width:22px;
383+ height:48px;
384+}
385+.link-action2 .cta-center{
386+ background:url(../img/button-cta-slice.png) repeat-x;
387+ line-height:45px;
388+ height:48px;
389+}
390+.link-action2 .cta-right{
391+ background:url(../img/button-cta-right.png) no-repeat;
392+ width:22px;
393+ height:48px;
394+}
395+
396+.link-action-small {
397+ float: left;
398+ display: block;
399+ color: #fff;
400+ font-size: 16px;
401+}
402+.link-action-small span{
403+ display:block;
404+ float:left;
405+ height:42px;
406+}
407+.link-action-small .cta-left{
408+ background:url(../img/button-cta-left-small.png) no-repeat;
409+ width:19px;
410+}
411+.link-action-small .cta-center{
412+ background:url(../img/button-cta-slice-small.png) repeat-x;
413+ line-height:42px;
414+}
415+.link-action-small .cta-right{
416+ background:url(../img/button-cta-right-small.png) no-repeat;
417+ width:19px;
418+}
419+
420+.link-action:active {
421+ position: relative;
422+ top: 1px;
423+}
424+.link-action2:active {
425+ position: relative;
426+ top: 1px;
427+}
428+.link-action-small:active {
429+ position: relative;
430+ top: 1px;
431+}
432+.list-bullets li {
433+ margin-bottom: 10px;
434+ list-style: disc;
435+ list-style-position: inside;
436+}
437+.box {
438+ margin-bottom: 30px;
439+ padding: 15px;
440+ border: 1px solid #aea79f;
441+ -moz-border-radius: 4px;
442+ -webkit-border-radius: 4px;
443+ border-radius: 4px;
444+}
445+.box-padded {
446+ margin-bottom: 30px;
447+ padding: 5px;
448+ border: 2px solid #aea79f;
449+ -moz-border-radius: 4px;
450+ -webkit-border-radius: 4px;
451+ border-radius: 4px;
452+ background: url("../img/pattern-featured.gif") repeat scroll 0 0 #ebe9e7;
453+ overflow: hidden;
454+}
455+.box-padded h3 {
456+ margin: 5px 0 10px 5px;
457+}
458+.box-padded div {
459+ padding: 10px;
460+ border: 1px solid #aea79f;
461+ -moz-border-radius: 4px;
462+ -webkit-border-radius: 4px;
463+ border-radius: 4px;
464+ background-color: #fff;
465+ overflow: hidden;
466+}
467+.box-padded li {
468+ padding: 0 10px;
469+ float: left;
470+ width: 211px;
471+ border-right: 1px dotted #aea79f;
472+}
473+.box-padded li.first {
474+ padding: 0;
475+ margin-bottom: 0;
476+}
477+.box-padded li.last {
478+ border: 0;
479+ width: 217px;
480+}
481+.box-padded img {
482+ margin: 0 10px 50px 0;
483+ float: left;
484+ -moz-border-radius: 8px;
485+ -webkit-border-radius: 8px;
486+ border-radius: 8px;
487+}
488+.box-clear {
489+ margin-bottom: 40px;
490+}
491+.box-clear .grid-4.first {
492+ margin-right: 15px;
493+ padding-right: 15px;
494+}
495+.box-clear .grid-4 {
496+ margin-left: 0;
497+ margin-right: 10px;
498+ padding-right: 10px;
499+ width: 298px;
500+}
501+.box-clear time {
502+ display: block;
503+ border-bottom: 1px dotted #aea79f;
504+ padding-bottom: 10px;
505+ margin-bottom: 10px;
506+}
507+.box-clear div.first {
508+ border-right: 1px dotted #aea79f;
509+}
510+.box-clear a {
511+ display: block;
512+}
513+.box-clear .rss {
514+ background: url("../img/rss.jpg") no-repeat scroll 0 center;
515+ padding-left: 20px;
516+}
517+.box-clear .location {
518+ display: block;
519+ margin-bottom: 1px;
520+}
521+.box-clear .last {
522+ margin: 0;
523+ padding-right: 0;
524+ -moz-border-radius: 4px;
525+ -webkit-border-radius: 4px;
526+ border-radius: 4px;
527+ width: 293px;
528+}
529+
530+/* Widgets */
531+
532+.ui-state-focus {
533+ outline: none;
534+}
535+.ui-accordion {
536+ border-bottom: 1px dotted #aea79f;
537+}
538+.ui-accordion a {
539+ display: block;
540+}
541+.ui-accordion h3 {
542+ margin-bottom: 0;
543+ border-top: 1px dotted #aea79f;
544+ position: relative;
545+ font-size: 13px;
546+ font-weight: bold;
547+}
548+.ui-accordion h3 a {
549+ padding: 10px 0;
550+ color: #333;
551+}
552+.ui-accordion h4 {
553+ margin-bottom: 5px;
554+}
555+.ui-accordion div fieldset {
556+ padding-bottom: 5px;
557+}
558+.ui-accordion div li,
559+.ui-accordion div input {
560+ margin-bottom: 10px;
561+}
562+.ui-accordion .ui-icon {
563+ position: absolute;
564+ top: 15px;
565+ right: 0;
566+ display: block;
567+ width: 8px;
568+ height: 8px;
569+ background: url("../img/icon-accordion-inactive.png") 0 0 no-repeat transparent;
570+}
571+.ui-accordion .ui-state-active .ui-icon {
572+ background-image: url("../img/icon-accordion-active.png");
573+}
574+.ui-accordion .current_page_item a {
575+ color: #333;
576+}
577+.container-tweet {
578+ -moz-border-radius: 4px 4px 4px 4px;
579+ -webkit-border-radius: 4px 4px 4px 4px;
580+ border-radius: 4px 4px 4px 4px;
581+ padding: 10px 10px 10px;
582+ background-color: #f7f7f7;
583+}
584+.container-tweet .tweet-follow {
585+ margin-top: 10px;
586+ margin-bottom: -10px;
587+ padding-left: 55px;
588+ padding-bottom: 6px;
589+ background: url("../img/tweet-follow.png") 0 5px no-repeat;
590+ display: block;
591+}
592+.container-tweet .tweet-follow span {
593+ font-size: 16px;
594+ font-weight: bold;
595+ line-height: 1.2;
596+ display: block;
597+}
598+.tweet a {
599+ display: inline;
600+}
601+.tweet .tweet_text {
602+ padding: 10px;
603+ background-color: #fff;
604+ -moz-border-radius: 4px 4px 4px 4px;
605+ -webkit-border-radius: 4px 4px 4px 4px;
606+ border-radius: 4px 4px 4px 4px;
607+ border: 1px solid #dd4814;
608+ font-size: 16px;
609+ display: block;
610+ clear: both;
611+}
612+.tweet.tweet-small .tweet_text {
613+ font-size: inherit;
614+}
615+.tweet .tweet_text a {
616+ color: #333;
617+}
618+.tweet .tweet_time,
619+.tweet .tweet_user_and_time {
620+ padding: 15px 0 10px 0;
621+ position: relative;
622+ top: -2px;
623+ background: url("../img/tweet-arrow.png") no-repeat;
624+ display: block;
625+}
626+.tweet .tweet_odd .tweet_time,
627+.tweet .tweet_odd .tweet_user_and_time {
628+ background-position: right 0;
629+ float: right;
630+}
631+.tweet .tweet_even .tweet_time,
632+.tweet .tweet_even .tweet_user_and_time {
633+ background-position: left 0;
634+ float: left;
635+}
636+
637+/* Search */
638+
639+#content .list-search li {
640+ list-style-type:none;
641+ border:0px;
642+ margin-bottom: 15px;
643+ padding-top: 15px;
644+}
645+
646+/* Blog */
647+
648+.blog-article #nav-single {
649+ margin-top: 30px;
650+ margin-bottom: 30px;
651+}
652+.blog-article #nav-single .nav-next {
653+ float: right;
654+}
655+.blog-article article header .entry-meta {
656+ margin-bottom: 20px;
657+}
658+.blog-article article .entry-meta {
659+ color: #999;
660+}
661+.blog-article #respond form input[type="submit"] {
662+ float: left;
663+ cursor: pointer;
664+ margin-bottom: 20px;
665+ padding: 8px 12px;
666+ display: block;
667+ background-color: #dd4814;
668+ color: #fff;
669+ -moz-border-radius: 20px;
670+ -webkit-border-radius: 20px;
671+ border-radius: 20px;
672+ font-size: 16px;
673+ line-height: 1.3;
674+ border-top: 3px solid #e6633a;
675+ border-left: 3px solid #e6633a;
676+ border-right: 3px solid #e6633a;
677+ border-bottom: 3px solid #c03d14;
678+}
679+.blog-article #respond form input[type="submit"]:active {
680+ position: relative;
681+ top: 1px;
682+}
683+
684+.alignnone{
685+ float:left;
686+ margin:10px 20px 10px 0;
687+}
688+.alignleft{
689+ float:left;
690+ margin:10px 20px 10px 0;
691+}
692+.alignright{
693+ float:right;
694+ margin:10px 0 10px 20px;
695+}
696+
697+.aligncenter{
698+ float:left;
699+ margin:10px 20px 10px 0;
700+}
701+.entry-content h2, .entry-content h3{
702+ margin-top:20px;
703+}
704+.entry-content ul li{
705+ list-style-type: circle;
706+ margin-left:16px;
707+}
708+
709+.entry-content hr{
710+ border:none;
711+ border-top: 1px dotted #AEA79F;
712+}
713
714=== added file 'doc/qml/css/qtquick.css'
715--- doc/qml/css/qtquick.css 1970-01-01 00:00:00 +0000
716+++ doc/qml/css/qtquick.css 2013-10-23 12:34:58 +0000
717@@ -0,0 +1,772 @@
718+@media screen
719+{
720+
721+/* basic elements */
722+ html
723+ {
724+ color: #000000;
725+ background: #FFFFFF;
726+ }
727+ table
728+ {
729+ border-collapse: collapse;
730+ border-spacing: 0;
731+ }
732+ fieldset, img
733+ {
734+ border: 0;
735+ max-width:100%;
736+ }
737+ address, caption, cite, code, dfn, em, strong, th, var, optgroup
738+ {
739+ font-style: inherit;
740+ font-weight: inherit;
741+ }
742+ del, ins
743+ {
744+ text-decoration: none;
745+ }
746+ ol li
747+ {
748+ list-style: decimal;
749+ }
750+ ul li
751+ {
752+ list-style: none;
753+ }
754+ caption, th
755+ {
756+ text-align: left;
757+ }
758+ h1.title
759+ {
760+ font-weight: bold;
761+ font-size: 150%;
762+ }
763+ h0
764+ {
765+ font-weight: bold;
766+ font-size: 130%;
767+ }
768+ h1, h2, h3, h4, h5, h6
769+ {
770+ font-size: 100%;
771+ }
772+ q:before, q:after
773+ {
774+ content: '';
775+ }
776+ abbr, acronym
777+ {
778+ border: 0;
779+ font-variant: normal;
780+ }
781+ sup, sub
782+ {
783+ vertical-align: baseline;
784+ }
785+ tt, .qmlreadonly span, .qmldefault span
786+ {
787+ word-spacing:0.5em;
788+ }
789+ legend
790+ {
791+ color: #000000;
792+ }
793+ strong
794+ {
795+ font-weight: bold;
796+ }
797+ em
798+ {
799+ font-style: italic;
800+ }
801+
802+ body
803+ {
804+ margin: 0 1.5em 0 1.5em;
805+ font-family: ubuntu;
806+ line-height: normal
807+ }
808+ a
809+ {
810+ color: #00732F;
811+ text-decoration: none;
812+ }
813+ hr
814+ {
815+ background-color: #E6E6E6;
816+ border: 1px solid #E6E6E6;
817+ height: 1px;
818+ width: 100%;
819+ text-align: left;
820+ margin: 1.5em 0 1.5em 0;
821+ }
822+
823+ pre
824+ {
825+ border: 1px solid #DDDDDD;
826+ -moz-border-radius: 0.7em 0.7em 0.7em 0.7em;
827+ -webkit-border-radius: 0.7em 0.7em 0.7em 0.7em;
828+ border-radius: 0.7em 0.7em 0.7em 0.7em;
829+ padding: 1em 1em 1em 1em;
830+ overflow-x: auto;
831+ }
832+ table, pre
833+ {
834+ -moz-border-radius: 0.7em 0.7em 0.7em 0.7em;
835+ -webkit-border-radius: 0.7em 0.7em 0.7em 0.7em;
836+ border-radius: 0.7em 0.7em 0.7em 0.7em;
837+ background-color: #F6F6F6;
838+ border: 1px solid #E6E6E6;
839+ border-collapse: separate;
840+ margin-bottom: 2.5em;
841+ }
842+ pre {
843+ font-size: 90%;
844+ display: block;
845+ overflow:hidden;
846+ }
847+ thead
848+ {
849+ margin-top: 0.5em;
850+ font-weight: bold
851+ }
852+ th
853+ {
854+ padding: 0.5em 1.5em 0.5em 1em;
855+ background-color: #E1E1E1;
856+ border-left: 1px solid #E6E6E6;
857+ }
858+ td
859+ {
860+ padding: 0.25em 1.5em 0.25em 1em;
861+ }
862+
863+ td.rightAlign
864+ {
865+ padding: 0.25em 0.5em 0.25em 1em;
866+ }
867+ table tr.odd
868+ {
869+ border-left: 1px solid #E6E6E6;
870+ background-color: #F6F6F6;
871+ color: black;
872+ }
873+ table tr.even
874+ {
875+ border-left: 1px solid #E6E6E6;
876+ background-color: #ffffff;
877+ color: #202020;
878+ }
879+
880+ div.float-left
881+ {
882+ float: left; margin-right: 2em
883+ }
884+ div.float-right
885+ {
886+ float: right; margin-left: 2em
887+ }
888+
889+ span.comment
890+ {
891+ color: #008B00;
892+ }
893+ span.string, span.char
894+ {
895+ color: #000084;
896+ }
897+ span.number
898+ {
899+ color: #a46200;
900+ }
901+ span.operator
902+ {
903+ color: #202020;
904+ }
905+ span.keyword
906+ {
907+ color: #840000;
908+ }
909+ span.name
910+ {
911+ color: black
912+ }
913+ span.type
914+ {
915+ font-weight: bold
916+ }
917+ span.type a:visited
918+ {
919+ color: #0F5300;
920+ }
921+ span.preprocessor
922+ {
923+ color: #404040
924+ }
925+/* end basic elements */
926+
927+/* font style elements */
928+ .heading
929+ {
930+ font-weight: bold;
931+ font-size: 125%;
932+ }
933+ .subtitle
934+ {
935+ font-size: 110%
936+ }
937+ .small-subtitle
938+ {
939+ font-size: 100%
940+ }
941+ .red
942+ {
943+ color:red;
944+ }
945+/* end font style elements */
946+
947+/* global settings*/
948+ .header, .footer
949+ {
950+ display: block;
951+ clear: both;
952+ overflow: hidden;
953+ }
954+/* end global settings*/
955+
956+/* header elements */
957+ .header .qtref
958+ {
959+ color: #00732F;
960+ font-weight: bold;
961+ font-size: 130%;
962+ }
963+
964+ .header .content
965+ {
966+ margin-left: 5px;
967+ margin-top: 5px;
968+ margin-bottom: 0.5em;
969+ }
970+
971+ .header .breadcrumb
972+ {
973+ font-size: 90%;
974+ padding: 0.5em 0 0.5em 1em;
975+ margin: 0;
976+ background-color: #fafafa;
977+ height: 1.35em;
978+ border-bottom: 1px solid #d1d1d1;
979+ }
980+
981+ .header .breadcrumb ul
982+ {
983+ margin: 0;
984+ padding: 0;
985+ }
986+
987+ .header .content
988+ {
989+ word-wrap: break-word;
990+ }
991+
992+ .header .breadcrumb ul li
993+ {
994+ float: left;
995+ background: url(../images/breadcrumb.png) no-repeat 0 3px;
996+ padding-left: 1.5em;
997+ margin-left: 1.5em;
998+ }
999+
1000+ .header .breadcrumb ul li.last
1001+ {
1002+ font-weight: normal;
1003+ }
1004+
1005+ .header .breadcrumb ul li a
1006+ {
1007+ color: #00732F;
1008+ }
1009+
1010+ .header .breadcrumb ul li.first
1011+ {
1012+ background-image: none;
1013+ padding-left: 0;
1014+ margin-left: 0;
1015+ }
1016+
1017+ .header .content ol li {
1018+ background: none;
1019+ margin-bottom: 1.0em;
1020+ margin-left: 1.2em;
1021+ padding-left: 0
1022+ }
1023+
1024+ .header .content li
1025+ {
1026+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
1027+ margin-bottom: 1em;
1028+ padding-left: 1.2em;
1029+ }
1030+
1031+/* end header elements */
1032+
1033+/* content elements */
1034+ .content h1
1035+ {
1036+ font-weight: bold;
1037+ font-size: 130%
1038+ }
1039+
1040+ .content h2
1041+ {
1042+ font-weight: bold;
1043+ font-size: 120%;
1044+ width: 100%;
1045+ }
1046+ .content h3
1047+ {
1048+ font-weight: bold;
1049+ font-size: 110%;
1050+ width: 100%;
1051+ }
1052+ .content table p
1053+ {
1054+ margin: 0
1055+ }
1056+ .content ul
1057+ {
1058+ padding-left: 2.5em;
1059+ }
1060+ .content li
1061+ {
1062+ padding-top: 0.25em;
1063+ padding-bottom: 0.25em;
1064+ }
1065+ .content ul img {
1066+ vertical-align: middle;
1067+ }
1068+
1069+ .content a:visited
1070+ {
1071+ color: #4c0033;
1072+ text-decoration: none;
1073+ }
1074+
1075+ .content a:visited:hover
1076+ {
1077+ color: #4c0033;
1078+ text-decoration: underline;
1079+ }
1080+
1081+ a:hover
1082+ {
1083+ color: #4c0033;
1084+ text-decoration: underline;
1085+ }
1086+ descr p a
1087+ {
1088+ text-decoration: underline;
1089+ }
1090+
1091+ .descr p a:visited
1092+ {
1093+ text-decoration: underline;
1094+ }
1095+
1096+ .alphaChar{
1097+ width:95%;
1098+ background-color:#F6F6F6;
1099+ border:1px solid #E6E6E6;
1100+ -moz-border-radius: 7px 7px 7px 7px;
1101+ border-radius: 7px 7px 7px 7px;
1102+ -webkit-border-radius: 7px 7px 7px 7px;
1103+ font-size:12pt;
1104+ padding-left:10px;
1105+ margin-top:10px;
1106+ margin-bottom:10px;
1107+ }
1108+ .flowList{
1109+ /*vertical-align:top;*/
1110+ /*margin:20px auto;*/
1111+
1112+ column-count:3;
1113+ -webkit-column-count:3;
1114+ -moz-column-count:3;
1115+/*
1116+ column-width:100%;
1117+ -webkit-column-width:200px;
1118+ -col-column-width:200px;
1119+*/
1120+ column-gap:41px;
1121+ -webkit-column-gap:41px;
1122+ -moz-column-gap:41px;
1123+
1124+ column-rule: 1px dashed #ccc;
1125+ -webkit-column-rule: 1px dashed #ccc;
1126+ -moz-column-rule: 1px dashed #ccc;
1127+ }
1128+
1129+ .flowList dl{
1130+ }
1131+ .flowList dd{
1132+ /*display:inline-block;*/
1133+ margin-left:10px;
1134+ min-width:250px;
1135+ line-height: 1.5;
1136+ min-width:100%;
1137+ min-height:15px;
1138+ }
1139+
1140+ .flowList dd a{
1141+ }
1142+
1143+ .mainContent
1144+ {
1145+ padding-left:5px;
1146+ }
1147+
1148+ .content .flowList p{
1149+ padding:0px;
1150+ }
1151+
1152+ .content .alignedsummary
1153+ {
1154+ margin: 15px;
1155+ }
1156+
1157+
1158+ .qmltype
1159+ {
1160+ text-align: center;
1161+ font-size: 120%;
1162+ }
1163+ .qmlreadonly
1164+ {
1165+ padding-left: 5px;
1166+ float: right;
1167+ color: #254117;
1168+ }
1169+
1170+ .qmldefault
1171+ {
1172+ padding-left: 5px;
1173+ float: right;
1174+ color: red;
1175+ }
1176+
1177+ .qmldoc
1178+ {
1179+ }
1180+
1181+ .generic .alphaChar{
1182+ margin-top:5px;
1183+ }
1184+
1185+ .generic .odd .alphaChar{
1186+ background-color: #F6F6F6;
1187+ }
1188+
1189+ .generic .even .alphaChar{
1190+ background-color: #FFFFFF;
1191+ }
1192+
1193+ .memItemRight{
1194+ padding: 0.25em 1.5em 0.25em 0;
1195+ }
1196+ .highlightedCode
1197+ {
1198+ margin: 1.0em;
1199+ }
1200+ .annotated td {
1201+ padding: 0.25em 0.5em 0.25em 0.5em;
1202+ }
1203+
1204+ .toc
1205+ {
1206+ font-size: 80%
1207+ }
1208+
1209+ .header .content .toc ul
1210+ {
1211+ padding-left: 0px;
1212+ }
1213+
1214+ .content .toc h3 {
1215+ border-bottom: 0px;
1216+ margin-top: 0px;
1217+ }
1218+
1219+ .content .toc h3 a:hover {
1220+ color: #00732F;
1221+ text-decoration: none;
1222+ }
1223+
1224+ .content .toc .level2
1225+ {
1226+ margin-left: 1.5em;
1227+ }
1228+
1229+ .content .toc .level3
1230+ {
1231+ margin-left: 3.0em;
1232+ }
1233+
1234+ .content ul li
1235+ {
1236+ background: url(../images/bullet_sq.png) no-repeat 0 0.7em;
1237+ padding-left: 1em
1238+ }
1239+
1240+ .content .toc li
1241+ {
1242+ background: url(../images/bullet_dn.png) no-repeat 0 5px;
1243+ padding-left: 1em
1244+ }
1245+
1246+ .relpage
1247+ {
1248+ -moz-border-radius: 7px 7px 7px 7px;
1249+ -webkit-border-radius: 7px 7px 7px 7px;
1250+ border-radius: 7px 7px 7px 7px;
1251+ border: 1px solid #DDDDDD;
1252+ padding: 25px 25px;
1253+ clear: both;
1254+ }
1255+ .relpage ul
1256+ {
1257+ float: none;
1258+ padding: 1.5em;
1259+ }
1260+
1261+ h3.fn, span.fn
1262+ {
1263+ -moz-border-radius:7px 7px 7px 7px;
1264+ -webkit-border-radius:7px 7px 7px 7px;
1265+ border-radius:7px 7px 7px 7px;
1266+ background-color: #F6F6F6;
1267+ border-width: 1px;
1268+ border-style: solid;
1269+ border-color: #E6E6E6;
1270+ font-weight: bold;
1271+ word-spacing:3px;
1272+ padding:3px 5px;
1273+ }
1274+
1275+ .functionIndex {
1276+ font-size:12pt;
1277+ word-spacing:10px;
1278+ margin-bottom:10px;
1279+ background-color: #F6F6F6;
1280+ border-width: 1px;
1281+ border-style: solid;
1282+ border-color: #E6E6E6;
1283+ -moz-border-radius: 7px 7px 7px 7px;
1284+ -webkit-border-radius: 7px 7px 7px 7px;
1285+ border-radius: 7px 7px 7px 7px;
1286+ width:100%;
1287+ }
1288+
1289+ .centerAlign
1290+ {
1291+ text-align:center;
1292+ }
1293+
1294+ .rightAlign
1295+ {
1296+ text-align:right;
1297+ }
1298+
1299+ .leftAlign
1300+ {
1301+ text-align:left;
1302+ }
1303+
1304+ .topAlign{
1305+ vertical-align:top
1306+ }
1307+
1308+ .functionIndex a{
1309+ display:inline-block;
1310+ }
1311+
1312+/* end content elements */
1313+/* footer elements */
1314+
1315+ .footer
1316+ {
1317+ color: #393735;
1318+ font-size: 0.75em;
1319+ text-align: center;
1320+ padding-top: 1.5em;
1321+ padding-bottom: 1em;
1322+ background-color: #E6E7E8;
1323+ margin: 0;
1324+ }
1325+ .footer p
1326+ {
1327+ margin: 0.25em
1328+ }
1329+ .small
1330+ {
1331+ font-size: 0.5em;
1332+ }
1333+/* end footer elements */
1334+
1335+ .item {
1336+ float: left;
1337+ position: relative;
1338+ width: 100%;
1339+ overflow: hidden;
1340+ }
1341+
1342+
1343+ .item .primary {
1344+ margin-right: 220px;
1345+ position: relative;
1346+ }
1347+
1348+ .item hr {
1349+ margin-left: -220px;
1350+ }
1351+
1352+ .item .secondary {
1353+ float: right;
1354+ width: 200px;
1355+ position: relative;
1356+ }
1357+
1358+ .item .cols {
1359+ clear: both;
1360+ display: block;
1361+ }
1362+
1363+ .item .cols .col {
1364+ float: left;
1365+ margin-left: 1.5%;
1366+ }
1367+
1368+ .item .cols .col.first {
1369+ margin-left: 0;
1370+ }
1371+
1372+ .item .cols.two .col {
1373+ width: 45%;
1374+ }
1375+
1376+ .item .box {
1377+ margin: 0 0 10px 0;
1378+ }
1379+
1380+ .item .box h3 {
1381+ margin: 0 0 10px 0;
1382+ }
1383+
1384+ .cols.unclear {
1385+ clear:none;
1386+ }
1387+}
1388+
1389+/* end of screen media */
1390+
1391+/* start of print media */
1392+
1393+@media print
1394+{
1395+ input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft, #feedbackBox, #blurpage, .toc, .breadcrumb, .toolbar, .floatingResult
1396+ {
1397+ display: none;
1398+ background: none;
1399+ }
1400+ .content
1401+ {
1402+ background: none;
1403+ display: block;
1404+ width: 100%; margin: 0; float: none;
1405+ }
1406+}
1407+/* end of print media */
1408+
1409+
1410+/* modify the TOC layouts */
1411+div.toc ul {
1412+ padding-left: 20px;
1413+}
1414+div.toc li {
1415+ padding-left: 4px;
1416+}
1417+/* Remove the border around images*/
1418+a img
1419+{
1420+ border:none;
1421+}
1422+
1423+/*Add styling to the front pages*/
1424+
1425+.threecolumn_area
1426+{
1427+ padding-top: 20px;
1428+ padding-bottom: 20px;
1429+}
1430+.threecolumn_piece
1431+{
1432+ display: inline-block;
1433+ margin-left: 78px;
1434+ margin-top: 8px;
1435+ padding: 0;
1436+ vertical-align: top;
1437+ width: 25.5%;
1438+}
1439+div.threecolumn_piece ul {
1440+ list-style-type: none;
1441+ padding-left: 0px;
1442+ margin-top: 2px;
1443+}
1444+div.threecolumn_piece p {
1445+ margin-bottom: 7px;
1446+ color: #5C626E;
1447+ text-decoration: none;
1448+ font-weight: bold;
1449+}
1450+div.threecolumn_piece li {
1451+ padding-left: 0px;
1452+ margin-bottom: 5px;
1453+}
1454+div.threecolumn_piece a {
1455+ font-weight: normal;
1456+}
1457+/* Add style to guide page*/
1458+.fourcolumn_area
1459+{
1460+ padding-top: 20px;
1461+ padding-bottom: 20px;
1462+}
1463+.fourcolumn_piece
1464+{
1465+ display: inline-block;
1466+ margin-left: 35px;
1467+ margin-top: 8px;
1468+ padding: 0;
1469+ vertical-align: top;
1470+ width: 21.3%;
1471+}
1472+div.fourcolumn_piece ul {
1473+ list-style-type: none;
1474+ padding-left: 0px;
1475+ margin-top: 2px;
1476+}
1477+div.fourcolumn_piece p {
1478+ margin-bottom: 7px;
1479+ color: #40444D;
1480+ text-decoration: none;
1481+ font-weight: bold;
1482+}
1483+div.fourcolumn_piece li {
1484+ padding-left: 0px;
1485+ margin-bottom: 5px;
1486+}
1487+div.fourcolumn_piece a {
1488+ font-weight: normal;
1489+}
1490
1491=== added file 'doc/qml/css/reset.css'
1492--- doc/qml/css/reset.css 1970-01-01 00:00:00 +0000
1493+++ doc/qml/css/reset.css 2013-10-23 12:34:58 +0000
1494@@ -0,0 +1,8 @@
1495+/*
1496+Copyright (c) 2010, Yahoo! Inc. All rights reserved.
1497+Code licensed under the BSD License:
1498+http://developer.yahoo.com/yui/license.html
1499+version: 3.3.0
1500+build: 3167
1501+*/
1502+html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}
1503\ No newline at end of file
1504
1505=== added file 'doc/qml/css/scratch.css'
1506--- doc/qml/css/scratch.css 1970-01-01 00:00:00 +0000
1507+++ doc/qml/css/scratch.css 2013-10-23 12:34:58 +0000
1508@@ -0,0 +1,61 @@
1509+body {
1510+ margin: 0;
1511+}
1512+
1513+
1514+div.toc ul {
1515+ padding: 0;
1516+}
1517+
1518+div.toc li {
1519+ margin-bottom: 3px;
1520+}
1521+
1522+h1.title {
1523+ font-size: 36px;
1524+ line-height: 1.1;
1525+ font-weight: normal;
1526+}
1527+h0, h2 {
1528+ font-size: 24px;
1529+ line-height: 1.2;
1530+ margin: 14px 0;
1531+ font-weight: normal;
1532+ display: block;
1533+}
1534+a:hover {
1535+ color: #dd4814;
1536+ text-decoration: underline;
1537+ outline: 0;
1538+}
1539+table, pre {
1540+ border-radius: 0;
1541+}
1542+
1543+.annotated td {
1544+ padding: 0.8em 1em 0.3em;
1545+}
1546+.wrapper {
1547+ width: 940px;
1548+ margin: 0 auto;
1549+}
1550+.main-content {
1551+ width: 668px;
1552+ position: relative;
1553+ left: 270px;
1554+}
1555+.title {
1556+ margin-left: -270px;
1557+ margin-top: 30px;
1558+ margin-bottom: 50px;
1559+}
1560+.toc {
1561+ margin-left: -270px;
1562+ font-size: 100%;
1563+ margin-bottom: 40px;
1564+ padding: 0;
1565+ z-index: 2;
1566+ position: absolute;
1567+ top: 100px;
1568+ width: 250px;
1569+}
1570
1571=== added directory 'doc/qml/pages'
1572=== added file 'doc/qml/pages/mainpage.qdoc'
1573--- doc/qml/pages/mainpage.qdoc 1970-01-01 00:00:00 +0000
1574+++ doc/qml/pages/mainpage.qdoc 2013-10-23 12:34:58 +0000
1575@@ -0,0 +1,125 @@
1576+/*!
1577+\page index.html overview
1578+\title Ubuntu Content API
1579+
1580+\contentspage {Ubuntu Content API} {Contents}
1581+
1582+\part Content Management & Exchange
1583+
1584+\chapter Introduction
1585+
1586+Unity and the overall Ubuntu experience put heavy emphasis on the
1587+notion of content, with Unity’s dash offering streamlined access to
1588+arbitrary content, both local to the device or online. More to this,
1589+Unity’s dash is the primary way of surfacing content on mobile form
1590+factors without the need to access individual applications and their
1591+respective content silos. The content-hub deals with
1592+application-specific content management and implements an architecture
1593+that allows an app to define its own content silo, exchange content
1594+with other applications/the system, and a way to provide the user with
1595+content picking functionality.
1596+
1597+\section1 Definitions
1598+To ease conversations, we start over with a set of definitions:
1599+
1600+\list
1601+ \li \b {Content item}: A content item is an entity that consists of meta-data
1602+and data. E.g., an image is a content item, where the actual pixels
1603+are the data, and information like size, image format, bit depth,
1604+location etc. is considered meta data. See also \l ContentItem.
1605+
1606+ \li \b {Content types}: A set of well-known content types. E.g., images or
1607+ music files. See also \l {ContentType}
1608+
1609+ \li \b {Content set}: A set of unique content items. Can be considered a
1610+ content item itself, e.g., in the case of playlists.
1611+
1612+ \li \b {Content owner}: The unique owner of a content item. A content item
1613+ has to be owned by exactly one app. See also \l {ContentPeer}
1614+
1615+ \li \b {Content store}: A container (think of it as a top-level folder in
1616+ the filesystem) that contains content items of a certain
1617+ type. Different stores exist for different scopes, where scope
1618+ refers to either system-wide, user-wide or app-specific storage
1619+ locations. See also \l {ContentStore}
1620+
1621+ \li \b {Content transfer}: Transferring content item/s to and from a source
1622+ or destination. A transfer is uniquely defined by a source, destination,
1623+ direction (import or export), and a set of items that should be exchanged.
1624+ See also \l {ContentTransfer}
1625+
1626+ \li \b {Content picking}: Operation that allows a user to select content for
1627+ subsequent import from a content source (e.g., an application). The
1628+ content source is responsible for providing a UI to the user.
1629+\endlist
1630+
1631+\section1 Architectural Overview
1632+
1633+The architecture enforces complete application isolation, both in
1634+terms of content separation, sandboxing/confinement and in terms of
1635+the application lifecycle. As we cannot assume that two apps that want
1636+to exchange content are running at the same time, a system-level
1637+component needs to mediate and control the content exchange operation,
1638+making sure that neither app instance assumes the existence of the
1639+other one. We refer to this component as the content hub. \sa {ContentHub}
1640+
1641+\section1 Example usage - Importing Pictures
1642+
1643+\qml
1644+import QtQuick 2.0
1645+import Ubuntu.Components 0.1
1646+import Ubuntu.Content 0.1
1647+
1648+Rectangle {
1649+ id: root
1650+ Button {
1651+ text: "Import from default"
1652+ onClicked: {
1653+ var peer = ContentHub.defaultSourceForType(ContentType.Pictures);
1654+ activeTransfer = ContentHub.importContent(ContentType.Pictures, peer);
1655+ }
1656+ }
1657+ Button {
1658+ text: "Import from a selectable list"
1659+ onClicked: {
1660+ activeTransfer = ContentHub.importContent(ContentType.Pictures);
1661+ activeTransfer.selectionType =ContentTransfer.Multiple;
1662+ activeTransfer.start();
1663+ }
1664+ }
1665+ ContentImportHint {
1666+ id: importHint
1667+ anchors.fill: parent
1668+ activeTransfer: root.activeTransfer
1669+ }
1670+ property list<ContentItem> importItems
1671+ property var activeTransfer
1672+ Connections {
1673+ target: root.activeTransfer
1674+ onStateChanged: {
1675+ if (root.activeTransfer.state === ContentTransfer.Charged)
1676+ importItmes = root.activeTransfer.items;
1677+ }
1678+ }
1679+}
1680+\endqml
1681+
1682+\part General Topics
1683+\list
1684+ \li \l {ContentHub}
1685+ \li \l {ContentTransfer}
1686+ \li \l {ContentImportHint}
1687+ \li \l {ContentType}
1688+\endlist
1689+
1690+\part Reporting Bugs
1691+If you find any problems with the or this documentation,
1692+please file a bug in Ubuntu Content API \l {https://bugs.launchpad.net/content-hub} {Launchpad page}
1693+
1694+\part Components
1695+Available through:
1696+\code
1697+ import Ubuntu.Content 0.1
1698+\endcode
1699+
1700+*/
1701
1702=== added file 'doc/qml/ubuntu-content-hub.qdocconf.in'
1703--- doc/qml/ubuntu-content-hub.qdocconf.in 1970-01-01 00:00:00 +0000
1704+++ doc/qml/ubuntu-content-hub.qdocconf.in 2013-10-23 12:34:58 +0000
1705@@ -0,0 +1,47 @@
1706+project = Ubuntu Content QML API
1707+description = Ubuntu Content API
1708+
1709+sourcedirs = @CMAKE_CURRENT_SOURCE_DIR@/pages @CMAKE_SOURCE_DIR@/import
1710+exampledirs = @CMAKE_SOURCE_DIR@/examples/
1711+imagedirs = @CMAKE_CURRENT_SOURCE_DIR@/../images
1712+
1713+sources.fileextensions = "*.qdoc *.qml *.cpp"
1714+headers.fileextensions = "*.h"
1715+examples.fileextensions = "*.js *.qml"
1716+examples.imageextensions = "*.png *.jpeg *.jpg"
1717+
1718+outputdir = html
1719+outputformat = HTML
1720+
1721+outputprefixes = QML
1722+outputprefixes.QML = qml-
1723+
1724+HTML.templatedir = @CMAKE_CURRENT_SOURCE_DIR@/
1725+HTML.nobreadcrumbs = "true"
1726+
1727+HTML.stylesheets = \
1728+ css/reset.css \
1729+ css/qtquick.css \
1730+ css/base.css \
1731+ css/scratch.css
1732+
1733+HTML.headerstyles = \
1734+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/reset.css\" />\n" \
1735+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/qtquick.css\" />\n" \
1736+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/base.css\" />\n" \
1737+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/scratch.css\" />\n"
1738+
1739+HTML.postheader = \
1740+ " <div class=\"wrapper\">\n" \
1741+ " <div class=\"main-content\">\n"
1742+
1743+HTML.footer = \
1744+ "</div></div>\n" \
1745+ "<div class=\"shadow\"></div>\n" \
1746+ "<footer>\n" \
1747+ " <div>\n" \
1748+ " <nav role=\"navigation\" class=\"clearfix\">\n" \
1749+ " </nav>\n" \
1750+ " <p>&copy; 2013 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.</p>\n" \
1751+ " </div>\n" \
1752+ "</footer>\n"
1753
1754=== modified file 'import/Ubuntu/Content/ContentImportHint.qml'
1755--- import/Ubuntu/Content/ContentImportHint.qml 2013-09-27 13:11:45 +0000
1756+++ import/Ubuntu/Content/ContentImportHint.qml 2013-10-23 12:34:58 +0000
1757@@ -28,7 +28,7 @@
1758 application is active. It blocks all input during that time.
1759 Place this component on top of your view.
1760
1761- See documentation for \ContentHub to see an example
1762+ See documentation for ContentHub to see an example
1763 */
1764 Item {
1765 id: root
1766
1767=== modified file 'import/Ubuntu/Content/contenthub.cpp'
1768--- import/Ubuntu/Content/contenthub.cpp 2013-10-23 12:34:58 +0000
1769+++ import/Ubuntu/Content/contenthub.cpp 2013-10-23 12:34:58 +0000
1770@@ -31,9 +31,6 @@
1771 * \qmltype ContentHub
1772 * \instantiates ContentHub
1773 * \inqmlmodule Ubuntu.Content 0.1
1774- * \brief FIXME documentation
1775- *
1776- * FIXME documentation
1777 *
1778 * Example usage for importing content:
1779 * \qml
1780@@ -113,7 +110,7 @@
1781 /*!
1782 * \qmlmethod ContentHub::defaultSourceForType()
1783 *
1784- * Returns the default peer for the given content \a type
1785+ * Returns the default \a ContentPeer for the given \a ContentType
1786 */
1787 ContentPeer *ContentHub::defaultSourceForType(int type)
1788 {
1789@@ -128,6 +125,11 @@
1790 return qmlPeer;
1791 }
1792
1793+/*!
1794+ * \qmlmethod ContentHub::defaultStoreForType(ContentType)
1795+ *
1796+ * Returns the default \a ContentStore for the given \a ContentType
1797+ */
1798 ContentStore *ContentHub::defaultStoreForType(int type)
1799 {
1800 qDebug() << Q_FUNC_INFO;
1801@@ -144,9 +146,9 @@
1802 }
1803
1804 /*!
1805- * \qmlmethod ContentHub::knownSourcesForType()
1806+ * \qmlmethod ContentHub::knownSourcesForType(ContentType)
1807 *
1808- * Returns all possible peers for the given content \a type
1809+ * Returns all possible peers for the given ContentType
1810 */
1811 QVariantList ContentHub::knownSourcesForType(int type)
1812 {
1813@@ -165,9 +167,11 @@
1814 }
1815
1816 /*!
1817- * \qmlmethod ContentHub::importContent()
1818+ * \qmlmethod ContentHub::importContent(ContentType)
1819+ * \overload ContentHub::importContent(ContentType, ContentPeer)
1820 *
1821- * Start a request to import data of \a type from a peer, the user needs to select
1822+ * \brief Request to import data of \a ContentType from the default
1823+ * ContentPeer
1824 */
1825 ContentTransfer *ContentHub::importContent(int type)
1826 {
1827@@ -181,9 +185,11 @@
1828 }
1829
1830 /*!
1831- * \qmlmethod ContentHub::importContent()
1832+ * \qmlmethod ContentHub::importContent(ContentType, ContentPeer)
1833+ * \overload ContentHub::importContent(ContentType)
1834 *
1835- * Start a request to import data of \a type from the given \peer
1836+ * \brief Request to import data of \a ContentType from the
1837+ * specified \a ContentPeer
1838 */
1839 ContentTransfer *ContentHub::importContent(int type, ContentPeer *peer)
1840 {
1841@@ -195,9 +201,9 @@
1842
1843 /*!
1844 * \brief ContentHub::importContent creates a ContentTransfer object
1845- * \param type
1846- * \param peer
1847- * \return
1848+ * \a type
1849+ * \a peer
1850+ * \internal
1851 */
1852 ContentTransfer* ContentHub::importContent(const com::ubuntu::content::Type &hubType,
1853 const com::ubuntu::content::Peer &hubPeer)
1854@@ -217,6 +223,7 @@
1855 * \qmlmethod ContentHub::restoreImports()
1856 *
1857 * FIXME add documentation
1858+ * \internal
1859 */
1860 void ContentHub::restoreImports()
1861 {
1862@@ -227,6 +234,7 @@
1863 * \qmlproperty list<ContentTransfer> ContentHub::finishedImports
1864 *
1865 * FIXME add documentation
1866+ * \internal
1867 */
1868 QQmlListProperty<ContentTransfer> ContentHub::finishedImports()
1869 {
1870@@ -236,7 +244,7 @@
1871
1872 /*!
1873 * \brief ContentHub::handleImport handles an incoming request for importing content
1874- * \param transfer
1875+ * \internal
1876 */
1877 void ContentHub::handleImport(com::ubuntu::content::Transfer *transfer)
1878 {
1879@@ -256,7 +264,7 @@
1880
1881 /*!
1882 * \brief ContentHub::handleExport handles an incoming request for exporting content
1883- * \param transfer
1884+ * \internal
1885 */
1886 void ContentHub::handleExport(com::ubuntu::content::Transfer *transfer)
1887 {
1888
1889=== modified file 'import/Ubuntu/Content/contenthub.h'
1890--- import/Ubuntu/Content/contenthub.h 2013-10-23 12:34:58 +0000
1891+++ import/Ubuntu/Content/contenthub.h 2013-10-23 12:34:58 +0000
1892@@ -39,6 +39,10 @@
1893 }
1894 }
1895
1896+/*!
1897+ * \class ContentHub
1898+ * \brief FIXME documentaion
1899+ */
1900 class ContentHub : public QObject
1901 {
1902 Q_OBJECT
1903
1904=== modified file 'import/Ubuntu/Content/contenthubplugin.cpp'
1905--- import/Ubuntu/Content/contenthubplugin.cpp 2013-10-01 16:55:39 +0000
1906+++ import/Ubuntu/Content/contenthubplugin.cpp 2013-10-23 12:34:58 +0000
1907@@ -30,9 +30,6 @@
1908
1909 /*!
1910 * \brief qml_content_hub function to unstatinate the ContentHub as a singleton in QML
1911- * \param engine
1912- * \param scriptEngine
1913- * \return
1914 */
1915 static QObject *qml_content_hub(QQmlEngine *engine, QJSEngine *scriptEngine)
1916 {
1917
1918=== modified file 'import/Ubuntu/Content/contentitem.cpp'
1919--- import/Ubuntu/Content/contentitem.cpp 2013-08-23 10:05:50 +0000
1920+++ import/Ubuntu/Content/contentitem.cpp 2013-10-23 12:34:58 +0000
1921@@ -26,7 +26,7 @@
1922 *
1923 * FIXME add documentation
1924 *
1925- * See documentation for \ContentHub
1926+ * See documentation for ContentHub
1927 */
1928
1929 namespace cuc = com::ubuntu::content;
1930@@ -81,7 +81,7 @@
1931
1932 /*!
1933 * \brief ContentItem::item
1934- * \return
1935+ * \internal
1936 */
1937 const com::ubuntu::content::Item &ContentItem::item() const
1938 {
1939@@ -91,7 +91,7 @@
1940
1941 /*!
1942 * \brief ContentItem::setItem
1943- * \param item
1944+ * \internal
1945 */
1946 void ContentItem::setItem(const com::ubuntu::content::Item &item)
1947 {
1948
1949=== modified file 'import/Ubuntu/Content/contentstore.cpp'
1950--- import/Ubuntu/Content/contentstore.cpp 2013-09-30 13:30:45 +0000
1951+++ import/Ubuntu/Content/contentstore.cpp 2013-10-23 12:34:58 +0000
1952@@ -22,11 +22,8 @@
1953 * \qmltype ContentStore
1954 * \instantiates ContentStore
1955 * \inqmlmodule Ubuntu.Content 0.1
1956- * \brief FIXME add documentation
1957- *
1958- * FIXME add documentation
1959- *
1960- * See documentation for \ContentHub
1961+ *
1962+ * See documentation for ContentHub
1963 */
1964
1965 namespace cuc = com::ubuntu::content;
1966@@ -51,7 +48,7 @@
1967
1968 /*!
1969 * \brief ContentStore::store
1970- * \return
1971+ * \internal
1972 */
1973 const com::ubuntu::content::Store *ContentStore::store() const
1974 {
1975@@ -61,7 +58,7 @@
1976
1977 /*!
1978 * \brief ContentStore::setStore
1979- * \param store
1980+ * \internal
1981 */
1982 void ContentStore::setStore(const com::ubuntu::content::Store *store)
1983 {
1984
1985=== modified file 'import/Ubuntu/Content/contenttransfer.cpp'
1986--- import/Ubuntu/Content/contenttransfer.cpp 2013-10-01 16:55:39 +0000
1987+++ import/Ubuntu/Content/contenttransfer.cpp 2013-10-23 12:34:58 +0000
1988@@ -25,11 +25,8 @@
1989 * \qmltype ContentTransfer
1990 * \instantiates ContentTransfer
1991 * \inqmlmodule Ubuntu.Content 0.1
1992- * \brief FIXME add documentation
1993- *
1994- * FIXME add documentation
1995- *
1996- * See documentation for \ContentHub
1997+ *
1998+ * See documentation for ContentHub
1999 */
2000
2001 namespace cuc = com::ubuntu::content;
2002@@ -46,9 +43,36 @@
2003 }
2004
2005 /*!
2006- * \qmlproperty string ContentTransfer::state
2007- *
2008- * FIXME add documentation
2009+ \qmlproperty ContentTransfer.State ContentTransfer::state
2010+
2011+ \table
2012+ \header
2013+ \li {2, 1} \e {ContentTransfer.State} is an enumeration:
2014+ \header
2015+ \li State
2016+ \li Description
2017+ \row
2018+ \li ContentTransfer.Created
2019+ \li Transfer created, waiting to be initiated.
2020+ \row
2021+ \li ContentTransfer.Initiated
2022+ \li Transfer has been initiated.
2023+ \row
2024+ \li ContentTransfer.InProgress
2025+ \li Transfer is in progress.
2026+ \row
2027+ \li ContentTransfer.Charged
2028+ \li Transfer is charged with items and ready to be collected.
2029+ \row
2030+ \li ContentTransfer.Collected
2031+ \li Items in the transfer have been collected.
2032+ \row
2033+ \li ContentTransfer.Aborted
2034+ \li Transfer has been aborted.
2035+ \row
2036+ \li ContentTransfer.Finalized
2037+ \li Transfer has been finished and cleaned up.
2038+ \endtable
2039 */
2040 ContentTransfer::State ContentTransfer::state() const
2041 {
2042@@ -73,9 +97,22 @@
2043 }
2044
2045 /*!
2046- * \brief ContentTransfer::direction indicates if this transferobject is used for
2047- * import or export transaction
2048- * \return
2049+ \qmlproperty ContentTransfer.Direction ContentTransfer::direction
2050+ \brief ContentTransfer::direction indicates if this transferobject is used for
2051+ import or export transaction
2052+ \table
2053+ \header
2054+ \li {2, 1} \e {ContentTransfer.Direction} is an enumeration:
2055+ \header
2056+ \li Direction
2057+ \li Description
2058+ \row
2059+ \li ContentTransfer.Import
2060+ \li Transfer is a request to import content.
2061+ \row
2062+ \li ContentTransfer.Export
2063+ \li Transfer is a request to export content.
2064+ \endtable
2065 */
2066 ContentTransfer::Direction ContentTransfer::direction() const
2067 {
2068@@ -83,9 +120,22 @@
2069 }
2070
2071 /*!
2072- * \brief ContentTransfer::selectionType indicates if this transferobject is allows
2073- * single or multiple selection of items
2074- * \return
2075+ \qmlproperty ContentTransfer.SelectionType ContentTransfer::selectionType
2076+ \brief ContentTransfer::selectionType indicates if this transfer object allows
2077+ single or multiple selection of items
2078+ \table
2079+ \header
2080+ \li {2, 1} \e {ContentTransfer.SelectionType} is an enumeration:
2081+ \header
2082+ \li Type
2083+ \li Description
2084+ \row
2085+ \li ContentTransfer.Single
2086+ \li Transfer should contain a single item.
2087+ \row
2088+ \li ContentTransfer.Multiple
2089+ \li Transfer can contain multiple items.
2090+ \endtable
2091 */
2092 ContentTransfer::SelectionType ContentTransfer::selectionType() const
2093 {
2094@@ -106,7 +156,7 @@
2095 /*!
2096 * \qmlproperty list<ContentItem> ContentTransfer::items
2097 *
2098- * FIXME add documentation
2099+ * List of items included in the ContentTransfer
2100 */
2101 QQmlListProperty<ContentItem> ContentTransfer::items()
2102 {
2103@@ -120,7 +170,7 @@
2104 /*!
2105 * \qmlmethod ContentTransfer::start()
2106 *
2107- * FIXME add documentation
2108+ * Start the transfer, this sets the State to ContentTransfer.Initiated
2109 */
2110 bool ContentTransfer::start()
2111 {
2112@@ -136,7 +186,7 @@
2113 /*!
2114 * \qmlmethod ContentTransfer::finalize()
2115 *
2116- * FIXME add documentation
2117+ * Sets State to ContentTransfer.Finalized and cleans up temporary files
2118 */
2119 bool ContentTransfer::finalize()
2120 {
2121@@ -145,8 +195,8 @@
2122 }
2123
2124 /*!
2125- * \brief ContentTransfer::store
2126- * \return
2127+ * \qmlproperty string ContentTransfer::store
2128+ * ContentStore where the ContentTransfer will add items
2129 */
2130 const QString ContentTransfer::store() const
2131 {
2132@@ -168,7 +218,7 @@
2133
2134 /*!
2135 * \brief ContentTransfer::transfer
2136- * \return
2137+ * \internal
2138 */
2139 com::ubuntu::content::Transfer *ContentTransfer::transfer() const
2140 {
2141@@ -178,7 +228,7 @@
2142
2143 /*!
2144 * \brief ContentTransfer::setTransfer
2145- * \param transfer
2146+ * \internal
2147 */
2148 void ContentTransfer::setTransfer(com::ubuntu::content::Transfer *transfer, Direction direction)
2149 {
2150@@ -211,6 +261,7 @@
2151
2152 /*!
2153 * \brief ContentTransfer::collectItems gets the items out of the transfer object
2154+ * \internal
2155 */
2156 void ContentTransfer::collectItems()
2157 {
2158@@ -232,6 +283,7 @@
2159
2160 /*!
2161 * \brief ContentTransfer::updateState update the state from the hub transfer object
2162+ * \internal
2163 */
2164 void ContentTransfer::updateState()
2165 {
2166@@ -245,6 +297,7 @@
2167
2168 /*!
2169 * \brief ContentTransfer::updateSelectionType update the selectionType from the hub transfer object
2170+ * \internal
2171 */
2172 void ContentTransfer::updateSelectionType()
2173 {
2174@@ -259,6 +312,7 @@
2175
2176 /*!
2177 * \brief ContentTransfer::updateStore update the store from the hub transfer object
2178+ * \internal
2179 */
2180 void ContentTransfer::updateStore()
2181 {
2182
2183=== modified file 'import/Ubuntu/Content/contenttype.cpp'
2184--- import/Ubuntu/Content/contenttype.cpp 2013-08-23 10:05:50 +0000
2185+++ import/Ubuntu/Content/contenttype.cpp 2013-10-23 12:34:58 +0000
2186@@ -19,29 +19,46 @@
2187 #include <QDebug>
2188
2189 /*!
2190- * \qmltype ContentType
2191- * \instantiates ContentType
2192- * \inqmlmodule Ubuntu.Content 0.1
2193- * \brief FIXME add documentation
2194- *
2195- * FIXME add documentation
2196- *
2197- * See documentation for \ContentHub
2198+ \qmltype ContentType
2199+ \instantiates ContentType
2200+ \inqmlmodule Ubuntu.Content 0.1
2201+
2202+ \sa ContentHub
2203+
2204+ \e {ContentType} is an enumeration of well known content types:
2205+ \table
2206+ \header
2207+ \li Type
2208+ \li Description
2209+ \row
2210+ \li ContentType.Uknown
2211+ \li Unknown type
2212+ \row
2213+ \li ContentType.Documents
2214+ \li Documents
2215+ \row
2216+ \li ContentType.Pictures
2217+ \li Pictures
2218+ \row
2219+ \li ContentType.Music
2220+ \li Music
2221+ \endtable
2222 */
2223
2224 namespace cuc = com::ubuntu::content;
2225
2226+
2227 ContentType::ContentType(QObject *parent)
2228 : QObject(parent)
2229 {
2230 qDebug() << Q_FUNC_INFO;
2231 }
2232
2233+
2234 /*!
2235 * \brief ContentType::contentType2HubType converts a ContentType::Type to a
2236 * com::ubuntu::content::Type
2237- * \param type integer representing a ContentType::Type
2238- * \return
2239+ * \internal
2240 */
2241 const com::ubuntu::content::Type &ContentType::contentType2HubType(int type)
2242 {
2243@@ -53,8 +70,7 @@
2244 /*!
2245 * \brief ContentType::contentType2HubType converts a ContentType::Type to a
2246 * com::ubuntu::content::Type
2247- * \param type type of the content
2248- * \return
2249+ * \internal
2250 */
2251 const com::ubuntu::content::Type &ContentType::contentType2HubType(Type type)
2252 {

Subscribers

People subscribed via source and target branches