New GUI
authorMuki <mkiol@o2.pl>
Tue, 15 May 2012 21:03:35 +0000 (23:03 +0200)
committerMuki <mkiol@o2.pl>
Tue, 15 May 2012 21:03:35 +0000 (23:03 +0200)
96 files changed:
graphics/back-old.svg [new file with mode: 0644]
graphics/back.svg
graphics/close_stop.svg [new file with mode: 0644]
graphics/delete.svg [new file with mode: 0644]
graphics/document-big.svg [new file with mode: 0644]
graphics/document.svg
graphics/download.svg [new file with mode: 0644]
graphics/folder-big.svg [new file with mode: 0644]
graphics/folder.svg
graphics/music-big.svg [new file with mode: 0644]
graphics/music.svg [new file with mode: 0644]
graphics/options.svg [new file with mode: 0644]
graphics/photos-big.svg [new file with mode: 0644]
graphics/photos.svg
graphics/qtg_fr_pushbutton_disabled.svg [new file with mode: 0644]
graphics/qtg_fr_pushbutton_normal.svg [new file with mode: 0644]
graphics/qtg_fr_pushbutton_pressed.svg [new file with mode: 0644]
graphics/qtg_fr_tab_passive_normal.svg [new file with mode: 0644]
graphics/qtg_fr_tooltip_inverse.svg [new file with mode: 0644]
graphics/qtg_graf_magnifier_mask.svg [new file with mode: 0644]
graphics/qtg_graf_switchbutton_track.svg [new file with mode: 0644]
graphics/qtg_graf_switchbutton_track_inverse.svg [new file with mode: 0644]
graphics/refresh.svg [new file with mode: 0644]
graphics/sync.svg [new file with mode: 0644]
graphics/up.svg [new file with mode: 0644]
graphics/upload.svg [new file with mode: 0644]
graphics/video-big.svg [new file with mode: 0644]
graphics/video.svg [new file with mode: 0644]
qml/ubi/AccountPage.qml
qml/ubi/DownloadArea.qml
qml/ubi/FileDialog.qml [new file with mode: 0644]
qml/ubi/FilesPage.qml
qml/ubi/InitPage.qml
qml/ubi/LoginPage.qml
qml/ubi/Page.qml [new file with mode: 0644]
qml/ubi/PageStack.qml
qml/ubi/PropertiesPage.qml
qml/ubi/SettingsPage.qml
qml/ubi/Shadow.qml
qml/ubi/StartPage.qml
qml/ubi/SystemBar.qml
qml/ubi/TaskMenu.qml [new file with mode: 0644]
qml/ubi/TopBar.qml [new file with mode: 0644]
qml/ubi/UIConstants.js
qml/ubi/components/Bar.qml
qml/ubi/components/BusyIndicator.qml [new file with mode: 0644]
qml/ubi/components/Button.qml
qml/ubi/components/ButtonGlass.qml [new file with mode: 0644]
qml/ubi/components/ButtonResizable.qml [new file with mode: 0644]
qml/ubi/components/DialogBlank.qml [new file with mode: 0644]
qml/ubi/components/DialogBox.qml
qml/ubi/components/File.qml
qml/ubi/components/FileOld.qml [deleted file]
qml/ubi/components/FileSmall.qml [new file with mode: 0644]
qml/ubi/components/Mask.qml
qml/ubi/components/Notification.qml
qml/ubi/components/NotificationNew.qml [new file with mode: 0644]
qml/ubi/components/Showable.qml [new file with mode: 0644]
qml/ubi/components/ToolIcon.qml
qml/ubi/images/back-old.png [new file with mode: 0644]
qml/ubi/images/back.png
qml/ubi/images/bg.png [new file with mode: 0644]
qml/ubi/images/close-old.png [new file with mode: 0644]
qml/ubi/images/close.png
qml/ubi/images/document-small.png [new file with mode: 0644]
qml/ubi/images/document.png
qml/ubi/images/download-old.png [new file with mode: 0644]
qml/ubi/images/download.png
qml/ubi/images/folder-small.png [new file with mode: 0644]
qml/ubi/images/folder.png
qml/ubi/images/minimize-old.png [new file with mode: 0644]
qml/ubi/images/minimize.png
qml/ubi/images/music-small.png [new file with mode: 0644]
qml/ubi/images/music.png [new file with mode: 0644]
qml/ubi/images/options.png [new file with mode: 0644]
qml/ubi/images/photo-small.png [new file with mode: 0644]
qml/ubi/images/photo.png
qml/ubi/images/pushbutton_disabled.png [new file with mode: 0644]
qml/ubi/images/pushbutton_normal.png [new file with mode: 0644]
qml/ubi/images/refresh.png
qml/ubi/images/up-old.png [new file with mode: 0644]
qml/ubi/images/up.png
qml/ubi/images/upload-old.png [new file with mode: 0644]
qml/ubi/images/upload.png
qml/ubi/images/video-small.png [new file with mode: 0644]
qml/ubi/images/video.png [new file with mode: 0644]
qml/ubi/main.qml
qml/ubi/u1.js
translation.pri
translations/ubi.pl.qm
translations/ubi.pl.ts
ubi.pro
ubi.pro.user
ubi.zip
utils.cpp
utils.h

diff --git a/graphics/back-old.svg b/graphics/back-old.svg
new file mode 100644 (file)
index 0000000..e9d2170
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="back.svg"><metadata
+   id="metadata21"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs19">
+       
+       
+       
+       
+       
+</defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1046"
+   inkscape:window-height="691"
+   id="namedview17"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="14.745763"
+   inkscape:cy="15"
+   inkscape:window-x="66"
+   inkscape:window-y="27"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+
+<g
+   id="g3003"><g
+     id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   height="30"
+   width="30"
+   fill="none"
+   id="BOUNDING_BOX" />
+</g><path
+     d="m 25.792375,13.000751 h -15 l 5.293,-5.2930008 c 0.389,-0.391 0.389,-1.025 0,-1.414 l -1.586,-1.586 c -0.389,-0.391 -1.025,-0.391 -1.414,0 l -9.586,9.5860008 c -0.389,0.389 -0.389,1.023 0,1.413999 l 9.586,9.586 c 0.389,0.389 1.025,0.389 1.414,0 l 1.586,-1.586 c 0.389,-0.389 0.389,-1.025 0,-1.414 l -5.293,-5.293 h 15 c 0.55,0 1,-0.451 1,-1 v -1.999999 c 0,-0.551 -0.45,-1 -1,-1 z"
+     id="path13"
+     inkscape:connector-curvature="0"
+     style="fill:#ffffff" /><rect
+     width="30"
+     height="30"
+     id="rect15"
+     x="0"
+     y="0"
+     style="fill:none" /></g>
+</svg>
\ No newline at end of file
index e9d2170..90d973e 100644 (file)
    xml:space="preserve"
    id="svg2"
    inkscape:version="0.48.3.1 r9886"
-   sodipodi:docname="back.svg"><metadata
+   sodipodi:docname="back.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/back.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"><metadata
    id="metadata21"><rdf:RDF><cc:Work
        rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
          rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
-   id="defs19">
-       
-       
-       
-       
-       
-</defs><sodipodi:namedview
+   id="defs19" /><sodipodi:namedview
    pagecolor="#ffffff"
    bordercolor="#666666"
    borderopacity="1"
    guidetolerance="10"
    inkscape:pageopacity="0"
    inkscape:pageshadow="2"
-   inkscape:window-width="1046"
-   inkscape:window-height="691"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
    id="namedview17"
    showgrid="false"
    inkscape:zoom="7.8666667"
-   inkscape:cx="14.745763"
+   inkscape:cx="15"
    inkscape:cy="15"
-   inkscape:window-x="66"
-   inkscape:window-y="27"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
    inkscape:window-maximized="0"
    inkscape:current-layer="svg2" />
-
 <g
-   id="g3003"><g
-     id="DO_NOT_EDIT_-_BOUNDING_BOX">
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
        <rect
-   height="30"
+   id="BOUNDING_BOX"
+   fill="none"
    width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <path
+   opacity="0.3"
+   d="M26,12H11l5.293-5.293c0.389-0.391,0.389-1.025,0-1.414l-1.586-1.586c-0.389-0.391-1.025-0.391-1.414,0   l-9.586,9.586c-0.389,0.389-0.389,1.023,0,1.414l9.586,9.586c0.389,0.389,1.025,0.389,1.414,0l1.586-1.586   c0.389-0.389,0.389-1.025,0-1.414L11,16h15c0.55,0,1-0.451,1-1v-2C27,12.449,26.55,12,26,12z"
+   id="path7" />
+       <path
+   opacity="0.15"
+   d="M14,26.585c-0.535,0-1.037-0.208-1.414-0.585L3,16.414c-0.779-0.782-0.779-2.051,0-2.829L12.586,4   C12.961,3.623,13.464,3.414,14,3.414s1.039,0.208,1.416,0.587L17,5.586c0.778,0.778,0.778,2.046,0.002,2.827L13.414,12H26   c1.103,0,2,0.897,2,2v2c0,1.103-0.897,2-2,2H13.414L17,21.586c0.78,0.779,0.78,2.049,0,2.828L15.414,26   C15.037,26.377,14.535,26.585,14,26.585z"
+   id="path9" />
+       <path
+   opacity="0.15"
+   d="M26,13H11l5.293-5.293c0.389-0.391,0.389-1.025,0-1.414l-1.586-1.586c-0.389-0.391-1.025-0.391-1.414,0   l-9.586,9.586c-0.389,0.389-0.389,1.023,0,1.414l9.586,9.586c0.389,0.389,1.025,0.389,1.414,0l1.586-1.586   c0.389-0.389,0.389-1.025,0-1.414L11,17h15c0.55,0,1-0.451,1-1v-2C27,13.449,26.55,13,26,13z"
+   id="path11" />
+       <path
+   fill="#FFFFFF"
+   d="M26,13H11l5.293-5.293c0.389-0.391,0.389-1.025,0-1.414l-1.586-1.586c-0.389-0.391-1.025-0.391-1.414,0   l-9.586,9.586c-0.389,0.389-0.389,1.023,0,1.414l9.586,9.586c0.389,0.389,1.025,0.389,1.414,0l1.586-1.586   c0.389-0.389,0.389-1.025,0-1.414L11,17h15c0.55,0,1-0.451,1-1v-2C27,13.449,26.55,13,26,13z"
+   id="path13" />
+       <rect
    fill="none"
-   id="BOUNDING_BOX" />
-</g><path
-     d="m 25.792375,13.000751 h -15 l 5.293,-5.2930008 c 0.389,-0.391 0.389,-1.025 0,-1.414 l -1.586,-1.586 c -0.389,-0.391 -1.025,-0.391 -1.414,0 l -9.586,9.5860008 c -0.389,0.389 -0.389,1.023 0,1.413999 l 9.586,9.586 c 0.389,0.389 1.025,0.389 1.414,0 l 1.586,-1.586 c 0.389,-0.389 0.389,-1.025 0,-1.414 l -5.293,-5.293 h 15 c 0.55,0 1,-0.451 1,-1 v -1.999999 c 0,-0.551 -0.45,-1 -1,-1 z"
-     id="path13"
-     inkscape:connector-curvature="0"
-     style="fill:#ffffff" /><rect
-     width="30"
-     height="30"
-     id="rect15"
-     x="0"
-     y="0"
-     style="fill:none" /></g>
+   width="30"
+   height="30"
+   id="rect15" />
+</g>
 </svg>
\ No newline at end of file
diff --git a/graphics/close_stop.svg b/graphics/close_stop.svg
new file mode 100644 (file)
index 0000000..b8ba5a5
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="close_stop.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/close.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"><metadata
+   id="metadata23"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs21" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
+   id="namedview19"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="368"
+   inkscape:window-y="224"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <g
+   id="g7">
+               <path
+   opacity="0.3"
+   d="M18.654,14l8.043-8.042c0.404-0.403,0.404-1.06,0-1.462l-2.193-2.193c-0.404-0.404-1.059-0.404-1.461,0    L15,10.344L6.959,2.303c-0.404-0.404-1.059-0.404-1.463,0L3.303,4.496c-0.404,0.402-0.404,1.059,0,1.462L11.346,14l-8.043,8.041    c-0.404,0.404-0.404,1.059,0,1.463l2.193,2.193c0.404,0.404,1.059,0.404,1.463,0L15,17.654l8.043,8.043    c0.402,0.404,1.057,0.404,1.461,0l2.193-2.193c0.404-0.404,0.404-1.059,0-1.463L18.654,14z"
+   id="path9" />
+               <path
+   opacity="0.15"
+   d="M23.772,28.001c-0.544,0-1.055-0.213-1.438-0.599L15,20.068l-7.334,7.336    c-0.384,0.385-0.895,0.597-1.438,0.597s-1.054-0.212-1.438-0.597l-2.193-2.193c-0.793-0.793-0.793-2.084,0-2.877L9.931,15    L2.596,7.665C2.211,7.282,1.999,6.77,2,6.226S2.212,5.17,2.597,4.787l2.192-2.191C5.173,2.211,5.684,2,6.228,2    s1.054,0.212,1.438,0.596L15,9.93l7.336-7.334C22.718,2.212,23.229,2,23.772,2c0.543,0,1.054,0.212,1.438,0.596l2.193,2.193    C27.788,5.17,28,5.681,28.001,6.226c0,0.544-0.212,1.056-0.598,1.44L20.068,15l7.336,7.334c0.793,0.793,0.793,2.084,0,2.877    l-2.193,2.193C24.826,27.789,24.315,28.001,23.772,28.001z"
+   id="path11" />
+               <path
+   opacity="0.15"
+   d="M18.654,15l8.043-8.042c0.404-0.403,0.404-1.06,0-1.462l-2.193-2.193c-0.404-0.404-1.059-0.404-1.461,0    L15,11.344L6.959,3.303c-0.404-0.404-1.059-0.404-1.463,0L3.303,5.496c-0.404,0.402-0.404,1.059,0,1.462L11.346,15l-8.043,8.041    c-0.404,0.404-0.404,1.059,0,1.463l2.193,2.193c0.404,0.404,1.059,0.404,1.463,0L15,18.654l8.043,8.043    c0.402,0.404,1.057,0.404,1.461,0l2.193-2.193c0.404-0.404,0.404-1.059,0-1.463L18.654,15z"
+   id="path13" />
+               <path
+   fill="#FFFFFF"
+   d="M18.654,15l8.043-8.042c0.404-0.403,0.404-1.06,0-1.462l-2.193-2.193c-0.404-0.404-1.059-0.404-1.461,0    L15,11.344L6.959,3.303c-0.404-0.404-1.059-0.404-1.463,0L3.303,5.496c-0.404,0.402-0.404,1.059,0,1.462L11.346,15l-8.043,8.041    c-0.404,0.404-0.404,1.059,0,1.463l2.193,2.193c0.404,0.404,1.059,0.404,1.463,0L15,18.654l8.043,8.043    c0.402,0.404,1.057,0.404,1.461,0l2.193-2.193c0.404-0.404,0.404-1.059,0-1.463L18.654,15z"
+   id="path15" />
+               <rect
+   fill="none"
+   width="30"
+   height="30"
+   id="rect17" />
+       </g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/graphics/delete.svg b/graphics/delete.svg
new file mode 100644 (file)
index 0000000..2421502
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px"\r
+        height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">\r
+<g id="DO_NOT_EDIT_-_BOUNDING_BOX">\r
+       <rect id="BOUNDING_BOX" fill="none" width="30" height="30"/>\r
+</g>\r
+<g id="PLACE_YOUR_GRAPHIC_HERE">\r
+       <g>\r
+               <path opacity="0.3" d="M7,26h16l1-19H6L7,26z M18,11c0-0.553,0.447-1,1-1s1,0.447,1,1v10c0,0.553-0.447,1-1,1s-1-0.447-1-1V11z\r
+                        M14,11c0-0.553,0.447-1,1-1s1,0.447,1,1v10c0,0.553-0.447,1-1,1s-1-0.447-1-1V11z M10,11c0-0.553,0.447-1,1-1s1,0.447,1,1v10\r
+                       c0,0.553-0.447,1-1,1s-1-0.447-1-1V11z M24,3h-5.5V2c0-0.826-0.672-1.5-1.5-1.5h-4c-0.826,0-1.5,0.674-1.5,1.5v1H6\r
+                       C5.447,3,5,3.448,5,4v1h20V4C25,3.448,24.551,3,24,3z M17,3h-4V2h4V3z"/>\r
+               <path opacity="0.15" d="M7,28c-0.532,0-0.971-0.416-0.999-0.947l-1-19C4.987,7.779,5.086,7.511,5.274,7.312\r
+                       C5.463,7.113,5.726,7,6,7H5C4.448,7,4,6.552,4,6V5c0-1.103,0.897-2,2-2h4.5c0-1.378,1.122-2.5,2.5-2.5h4\r
+                       c1.379,0,2.5,1.122,2.5,2.5H24c1.103,0,2,0.897,2,2v1c0,0.552-0.447,1-1,1h-1c0.274,0,0.537,0.113,0.726,0.312\r
+                       c0.188,0.199,0.287,0.467,0.273,0.741l-1,19C23.971,27.584,23.532,28,23,28H7z"/>\r
+               <path opacity="0.15" d="M7,27h16l1-19H6L7,27z M18,12c0-0.553,0.447-1,1-1s1,0.447,1,1v10c0,0.553-0.447,1-1,1s-1-0.447-1-1V12z\r
+                        M14,12c0-0.553,0.447-1,1-1s1,0.447,1,1v10c0,0.553-0.447,1-1,1s-1-0.447-1-1V12z M10,12c0-0.553,0.447-1,1-1s1,0.447,1,1v10\r
+                       c0,0.553-0.447,1-1,1s-1-0.447-1-1V12z M24,4h-5.5V3c0-0.826-0.672-1.5-1.5-1.5h-4c-0.826,0-1.5,0.674-1.5,1.5v1H6\r
+                       C5.447,4,5,4.448,5,5v1h20V5C25,4.448,24.551,4,24,4z M17,4h-4V3h4V4z"/>\r
+               <path fill="#FFFFFF" d="M7,27h16l1-19H6L7,27z M18,12c0-0.553,0.447-1,1-1s1,0.447,1,1v10c0,0.553-0.447,1-1,1s-1-0.447-1-1V12z\r
+                        M14,12c0-0.553,0.447-1,1-1s1,0.447,1,1v10c0,0.553-0.447,1-1,1s-1-0.447-1-1V12z M10,12c0-0.553,0.447-1,1-1s1,0.447,1,1v10\r
+                       c0,0.553-0.447,1-1,1s-1-0.447-1-1V12z M24,4h-5.5V3c0-0.826-0.672-1.5-1.5-1.5h-4c-0.826,0-1.5,0.674-1.5,1.5v1H6\r
+                       C5.447,4,5,4.448,5,5v1h20V5C25,4.448,24.551,4,24,4z M17,4h-4V3h4V4z"/>\r
+               <rect fill="none" width="30" height="30"/>\r
+       </g>\r
+</g>\r
+</svg>\r
diff --git a/graphics/document-big.svg b/graphics/document-big.svg
new file mode 100644 (file)
index 0000000..62e500d
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="document-big.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/document.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1004"
+   inkscape:window-height="560"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.3202127"
+   inkscape:cx="-14.099104"
+   inkscape:cy="14.795088"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2"
+   inkscape:snap-global="false" />
+<path
+   inkscape:connector-curvature="0"
+   d="M 15.000178,30 C 3.8870516,30 0,26.113305 0,15.000179 0,3.8866946 3.8870516,0 15.000178,0 26.113304,0 30,3.8866946 30,15.000179 30,26.112947 26.113304,30 15.000178,30 z"
+   id="path4"
+   style="fill:#000000;fill-opacity:0.19607843" /><g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+
+<g
+   transform="matrix(0.60714286,0,0,0.60714286,5.8928571,5.8928571)"
+   id="PLACE_YOUR_GRAPHIC_HERE"><path
+     style="opacity:0.3"
+     inkscape:connector-curvature="0"
+     d="M 21,1 H 5 C 4.451,1 4,1.45 4,2 v 24 c 0,0.55 0.451,1 1,1 h 20 c 0.551,0 1,-0.45 1,-1 V 6 L 21,1 z m 1.096,19.971 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z"
+     id="path7" /><path
+     style="opacity:0.15"
+     inkscape:connector-curvature="0"
+     d="M 5,29 C 3.897,29 3,28.103 3,27 V 3 C 3,1.897 3.897,1 5,1 h 16 c 0.266,0 0.52,0.105 0.707,0.293 l 5,5 C 26.895,6.48 27,6.735 27,7 v 20 c 0,1.103 -0.897,2 -2,2 H 5 z M 7.903,20.971 H 22.096 7.904 7.903 z m 0,-4 H 22.096 7.904 7.903 z m 0,-4 H 22.096 7.904 7.903 z m 0,-4 H 22.096 7.904 7.903 z"
+     id="path9" /><path
+     style="opacity:0.15"
+     inkscape:connector-curvature="0"
+     d="M 21,2 H 5 C 4.451,2 4,2.45 4,3 v 24 c 0,0.55 0.451,1 1,1 h 20 c 0.551,0 1,-0.45 1,-1 V 7 L 21,2 z m 1.096,19.971 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z"
+     id="path11" /><path
+     style="fill:#ffffff"
+     inkscape:connector-curvature="0"
+     d="M 21,2 H 5 C 4.451,2 4,2.45 4,3 v 24 c 0,0.55 0.451,1 1,1 h 20 c 0.551,0 1,-0.45 1,-1 V 7 L 21,2 z m 1.096,19.971 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z m 0,-4 H 7.904 c -0.553,0 -1,-0.447 -1,-1 0,-0.553 0.447,-1 1,-1 h 14.191 c 0.553,0 1,0.447 1,1 0,0.553 -0.447,1 -0.999,1 z"
+     id="path13" /></g></svg>
\ No newline at end of file
index d3b8296..bb628e9 100644 (file)
@@ -1,29 +1,76 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px"\r
-        height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">\r
-<g id="DO_NOT_EDIT_-_BOUNDING_BOX">\r
-       <rect id="BOUNDING_BOX" fill="none" width="30" height="30"/>\r
-</g>\r
-<g id="PLACE_YOUR_GRAPHIC_HERE">\r
-       <path opacity="0.3" d="M21,1H5C4.451,1,4,1.45,4,2v24c0,0.55,0.451,1,1,1h20c0.551,0,1-0.45,1-1V6L21,1z M22.096,20.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,20.971,22.096,20.971z M22.096,16.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,16.971,22.096,16.971z M22.096,12.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,12.971,22.096,12.971z M22.096,8.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,8.971,22.096,8.971z"/>\r
-       <path opacity="0.15" d="M5,29c-1.103,0-2-0.897-2-2V3c0-1.103,0.897-2,2-2h16c0.266,0,0.52,0.105,0.707,0.293l5,5\r
-               C26.895,6.48,27,6.735,27,7v20c0,1.103-0.897,2-2,2H5z M7.903,20.971h14.193H7.904H7.903z M7.903,16.971h14.193H7.904H7.903z\r
-                M7.903,12.971h14.193H7.904H7.903z M7.903,8.971h14.193H7.904H7.903z"/>\r
-       <path opacity="0.15" d="M21,2H5C4.451,2,4,2.45,4,3v24c0,0.55,0.451,1,1,1h20c0.551,0,1-0.45,1-1V7L21,2z M22.096,21.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,21.971,22.096,21.971z M22.096,17.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,17.971,22.096,17.971z M22.096,13.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,13.971,22.096,13.971z M22.096,9.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,9.971,22.096,9.971z"/>\r
-       <path fill="#FFFFFF" d="M21,2H5C4.451,2,4,2.45,4,3v24c0,0.55,0.451,1,1,1h20c0.551,0,1-0.45,1-1V7L21,2z M22.096,21.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,21.971,22.096,21.971z M22.096,17.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,17.971,22.096,17.971z M22.096,13.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,13.971,22.096,13.971z M22.096,9.971H7.904\r
-               c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,9.971,22.096,9.971z"/>\r
-</g>\r
-</svg>\r
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="document.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/folder-small.png"
+   inkscape:export-xdpi="120"
+   inkscape:export-ydpi="120"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="423"
+   inkscape:window-y="164"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <path
+   opacity="0.3"
+   d="M21,1H5C4.451,1,4,1.45,4,2v24c0,0.55,0.451,1,1,1h20c0.551,0,1-0.45,1-1V6L21,1z M22.096,20.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,20.971,22.096,20.971z M22.096,16.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,16.971,22.096,16.971z M22.096,12.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,12.971,22.096,12.971z M22.096,8.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,8.971,22.096,8.971z"
+   id="path7" />
+       <path
+   opacity="0.15"
+   d="M5,29c-1.103,0-2-0.897-2-2V3c0-1.103,0.897-2,2-2h16c0.266,0,0.52,0.105,0.707,0.293l5,5   C26.895,6.48,27,6.735,27,7v20c0,1.103-0.897,2-2,2H5z M7.903,20.971h14.193H7.904H7.903z M7.903,16.971h14.193H7.904H7.903z    M7.903,12.971h14.193H7.904H7.903z M7.903,8.971h14.193H7.904H7.903z"
+   id="path9" />
+       <path
+   opacity="0.15"
+   d="M21,2H5C4.451,2,4,2.45,4,3v24c0,0.55,0.451,1,1,1h20c0.551,0,1-0.45,1-1V7L21,2z M22.096,21.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,21.971,22.096,21.971z M22.096,17.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,17.971,22.096,17.971z M22.096,13.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,13.971,22.096,13.971z M22.096,9.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,9.971,22.096,9.971z"
+   id="path11" />
+       <path
+   fill="#FFFFFF"
+   d="M21,2H5C4.451,2,4,2.45,4,3v24c0,0.55,0.451,1,1,1h20c0.551,0,1-0.45,1-1V7L21,2z M22.096,21.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,21.971,22.096,21.971z M22.096,17.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,17.971,22.096,17.971z M22.096,13.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,13.971,22.096,13.971z M22.096,9.971H7.904   c-0.553,0-1-0.447-1-1s0.447-1,1-1h14.191c0.553,0,1,0.447,1,1S22.648,9.971,22.096,9.971z"
+   id="path13" />
+</g>
+</svg>
\ No newline at end of file
diff --git a/graphics/download.svg b/graphics/download.svg
new file mode 100644 (file)
index 0000000..81b23d1
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="download.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/download.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"><metadata
+   id="metadata23"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs21" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
+   id="namedview19"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <g
+   id="g7">
+               <path
+   opacity="0.3"
+   d="M25.957,0H4.044C3.471,0,3,0.47,3,1.044V3.13c0,0.574,0.471,1.044,1.044,1.044h21.913    C26.531,4.174,27,3.704,27,3.13V1.044C27,0.47,26.531,0,25.957,0z M21.429,14H19c-0.55,0-1-0.45-1-1V7c0-0.55-0.45-1-1-1h-4    c-0.55,0-1,0.45-1,1v6c0,0.55-0.45,1-1,1H8.571c-0.55,0-0.777,0.391-0.504,0.868l2.724,4.764c0.273,0.478,0.719,1.259,0.992,1.736    l2.721,4.764c0.273,0.478,0.719,0.478,0.992,0l2.722-4.764c0.272-0.478,0.72-1.259,0.992-1.736l2.723-4.764    C22.205,14.391,21.979,14,21.429,14z"
+   id="path9" />
+               <rect
+   fill="none"
+   width="30"
+   height="30"
+   id="rect11" />
+               <path
+   opacity="0.15"
+   d="M15,28.49c-0.554,0-1.051-0.314-1.364-0.862L7.199,16.364c-0.312-0.545-0.331-1.132-0.053-1.611    C7.423,14.274,7.943,14,8.571,14H11V8c0-0.813,0.487-1.514,1.185-1.826H4.044C2.917,6.174,2,5.257,2,4.13V2.044    C2,0.917,2.917,0,4.044,0h21.913C27.084,0,28,0.917,28,2.044V4.13c0,1.127-0.916,2.044-2.043,2.044h-8.142    C18.513,6.486,19,7.188,19,8v6h2.429c0.628,0,1.147,0.274,1.425,0.752c0.278,0.479,0.259,1.066-0.053,1.611l-6.437,11.265    C16.051,28.176,15.554,28.49,15,28.49z"
+   id="path13" />
+               <path
+   opacity="0.15"
+   d="M25.957,1H4.044C3.471,1,3,1.47,3,2.044V4.13c0,0.574,0.471,1.044,1.044,1.044h21.913    C26.531,5.174,27,4.704,27,4.13V2.044C27,1.47,26.531,1,25.957,1z M21.429,15H19c-0.55,0-1-0.45-1-1V8c0-0.55-0.45-1-1-1h-4    c-0.55,0-1,0.45-1,1v6c0,0.55-0.45,1-1,1H8.571c-0.55,0-0.777,0.391-0.504,0.868l2.724,4.764c0.273,0.478,0.719,1.259,0.992,1.736    l2.721,4.764c0.273,0.478,0.719,0.478,0.992,0l2.722-4.764c0.272-0.478,0.72-1.259,0.992-1.736l2.723-4.764    C22.205,15.391,21.979,15,21.429,15z"
+   id="path15" />
+               <path
+   fill="#FFFFFF"
+   d="M25.957,1H4.044C3.471,1,3,1.47,3,2.044V4.13c0,0.574,0.471,1.044,1.044,1.044h21.913    C26.531,5.174,27,4.704,27,4.13V2.044C27,1.47,26.531,1,25.957,1z M21.429,15H19c-0.55,0-1-0.45-1-1V8c0-0.55-0.45-1-1-1h-4    c-0.55,0-1,0.45-1,1v6c0,0.55-0.45,1-1,1H8.571c-0.55,0-0.777,0.391-0.504,0.868l2.724,4.764c0.273,0.478,0.719,1.259,0.992,1.736    l2.721,4.764c0.273,0.478,0.719,0.478,0.992,0l2.722-4.764c0.272-0.478,0.72-1.259,0.992-1.736l2.723-4.764    C22.205,15.391,21.979,15,21.429,15z"
+   id="path17" />
+       </g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/graphics/folder-big.svg b/graphics/folder-big.svg
new file mode 100644 (file)
index 0000000..d237210
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="folder-big.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/folder.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1004"
+   inkscape:window-height="560"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.3202127"
+   inkscape:cx="5.7090631"
+   inkscape:cy="14.795088"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2"
+   inkscape:snap-global="false" />
+<path
+   inkscape:connector-curvature="0"
+   d="M 15.000178,30 C 3.8870516,30 0,26.113305 0,15.000179 0,3.8866946 3.8870516,0 15.000178,0 26.113304,0 30,3.8866946 30,15.000179 30,26.112947 26.113304,30 15.000178,30 z"
+   id="path4"
+   style="fill:#000000;fill-opacity:0.19607843" /><g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE"
+   transform="matrix(0.71428571,0,0,0.70833333,4.2857143,4.4464285)">
+       <path
+   d="M 27,6 H 11.5 L 9.64,3.768 C 9.289,3.346 8.55,3 8,3 H 3 C 2.45,3 2,3.45 2,4 v 20 c 0,0.55 0.45,1 1,1 h 24 c 0.551,0 1,-0.45 1,-1 V 7 C 28,6.45 27.551,6 27,6 z"
+   id="path7"
+   inkscape:connector-curvature="0"
+   style="opacity:0.3" />
+       <path
+   d="M 3,27 C 1.897,27 1,26.103 1,25 V 5 C 1,3.897 1.897,3 3,3 h 5 c 0.852,0 1.864,0.474 2.409,1.127 L 11.968,6 H 27 c 1.103,0 2,0.897 2,2 v 17 c 0,1.103 -0.897,2 -2,2 H 3 z"
+   id="path9"
+   inkscape:connector-curvature="0"
+   style="opacity:0.15" />
+       <path
+   d="M 27,7 H 11.5 L 9.64,4.768 C 9.289,4.346 8.55,4 8,4 H 3 C 2.45,4 2,4.45 2,5 v 20 c 0,0.55 0.45,1 1,1 h 24 c 0.551,0 1,-0.45 1,-1 V 8 C 28,7.45 27.551,7 27,7 z"
+   id="path11"
+   inkscape:connector-curvature="0"
+   style="opacity:0.15" />
+       <path
+   d="M 27,7 H 11.5 L 9.64,4.768 C 9.289,4.346 8.55,4 8,4 H 3 C 2.45,4 2,4.45 2,5 v 20 c 0,0.55 0.45,1 1,1 h 24 c 0.551,0 1,-0.45 1,-1 V 8 C 28,7.45 27.551,7 27,7 z"
+   id="path13"
+   inkscape:connector-curvature="0"
+   style="fill:#ffffff" />
+</g>
+</svg>
\ No newline at end of file
index 960a178..913fc55 100644 (file)
@@ -20,7 +20,7 @@
    id="svg2"
    inkscape:version="0.48.3.1 r9886"
    sodipodi:docname="folder.svg"
-   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/files.png"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/folder-small.png"
    inkscape:export-xdpi="120"
    inkscape:export-ydpi="120"><metadata
    id="metadata19"><rdf:RDF><cc:Work
diff --git a/graphics/music-big.svg b/graphics/music-big.svg
new file mode 100644 (file)
index 0000000..a439e7c
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="music-big.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/music.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1004"
+   inkscape:window-height="560"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.3202127"
+   inkscape:cx="-14.099104"
+   inkscape:cy="14.795088"
+   inkscape:window-x="141"
+   inkscape:window-y="271"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2"
+   inkscape:snap-global="false" />
+<path
+   inkscape:connector-curvature="0"
+   d="M 15.000178,30 C 3.8870516,30 0,26.113305 0,15.000179 0,3.8866946 3.8870516,0 15.000178,0 26.113304,0 30,3.8866946 30,15.000179 30,26.112947 26.113304,30 15.000178,30 z"
+   id="path4"
+   style="fill:#000000;fill-opacity:0.19607843" /><g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+
+<g
+   transform="matrix(0.61203412,0,0,0.61203412,6.1261302,5.7510106)"
+   id="PLACE_YOUR_GRAPHIC_HERE"><path
+     style="opacity:0.3"
+     inkscape:connector-curvature="0"
+     d="M 24.033,1.256 11.967,4.445 C 11.435,4.586 11,5.15 11,5.701 v 14.458 c -1.125,-0.302 -2.567,-0.157 -3.949,0.51 -2.352,1.138 -3.61,3.326 -2.81,4.89 0.799,1.563 3.354,1.908 5.708,0.771 1.87,-0.905 3.05,-2.473 3.05,-3.864 V 10 l 10,-2.645 V 18.16 c -1.125,-0.301 -2.566,-0.158 -3.949,0.51 -2.352,1.137 -3.61,3.326 -2.809,4.889 0.799,1.563 3.354,1.91 5.707,0.771 1.875,-0.906 3.055,-2.477 3.051,-3.869 V 2 C 25,1.45 24.564,1.115 24.033,1.256 z"
+     id="path7" /><path
+     style="opacity:0.15"
+     inkscape:connector-curvature="0"
+     d="M 7.168,29 C 5.413,29 3.986,28.258 3.35,27.014 2.936,26.205 2.886,25.272 3.206,24.316 c 0.476,-1.418 1.75,-2.744 3.408,-3.547 1.03,-0.497 2.131,-0.76 3.186,-0.76 0.067,0 0.133,0.001 0.199,0.003 V 6.701 c 0,-1.009 0.736,-1.965 1.711,-2.223 L 23.776,1.289 C 23.94,1.246 24.106,1.224 24.27,1.224 25.257,1.224 26,1.987 26,3 v 18.461 c 0.005,1.832 -1.414,3.705 -3.615,4.77 -1.042,0.504 -2.153,0.771 -3.215,0.771 l 0,0 c -1.755,0 -3.183,-0.743 -3.818,-1.987 -0.415,-0.809 -0.464,-1.741 -0.144,-2.698 0.476,-1.418 1.75,-2.744 3.408,-3.546 1.029,-0.497 2.13,-0.76 3.185,-0.76 0.067,0 0.134,0.002 0.2,0.004 V 9.654 l -8,2.116 v 11.696 c 0,1.831 -1.419,3.701 -3.615,4.765 C 9.342,28.733 8.229,29 7.168,29 z"
+     id="path9" /><path
+     style="opacity:0.15"
+     inkscape:connector-curvature="0"
+     d="M 24.033,2.256 11.967,5.445 C 11.435,5.586 11,6.15 11,6.701 v 14.458 c -1.125,-0.302 -2.567,-0.157 -3.949,0.51 -2.352,1.138 -3.61,3.326 -2.81,4.89 0.799,1.563 3.354,1.908 5.708,0.771 1.87,-0.905 3.05,-2.473 3.05,-3.864 V 11 l 10,-2.645 V 19.16 c -1.125,-0.301 -2.566,-0.158 -3.949,0.51 -2.352,1.137 -3.61,3.326 -2.809,4.889 0.799,1.563 3.354,1.91 5.707,0.771 1.875,-0.906 3.055,-2.477 3.051,-3.869 V 3 C 25,2.45 24.564,2.115 24.033,2.256 z"
+     id="path11" /><path
+     style="fill:#ffffff"
+     inkscape:connector-curvature="0"
+     d="M 24.033,2.256 11.967,5.445 C 11.435,5.586 11,6.15 11,6.701 v 14.458 c -1.125,-0.302 -2.567,-0.157 -3.949,0.51 -2.352,1.138 -3.61,3.326 -2.81,4.89 0.799,1.563 3.354,1.908 5.708,0.771 1.87,-0.905 3.05,-2.473 3.05,-3.864 V 11 l 10,-2.645 V 19.16 c -1.125,-0.301 -2.566,-0.158 -3.949,0.51 -2.352,1.137 -3.61,3.326 -2.809,4.889 0.799,1.563 3.354,1.91 5.707,0.771 1.875,-0.906 3.055,-2.477 3.051,-3.869 V 3 C 25,2.45 24.564,2.115 24.033,2.256 z"
+     id="path13" /></g></svg>
\ No newline at end of file
diff --git a/graphics/music.svg b/graphics/music.svg
new file mode 100644 (file)
index 0000000..51b72b6
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="music.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/music-small.png"
+   inkscape:export-xdpi="120"
+   inkscape:export-ydpi="120"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <path
+   opacity="0.3"
+   d="M24.033,1.256L11.967,4.445C11.435,4.586,11,5.15,11,5.701v14.458c-1.125-0.302-2.567-0.157-3.949,0.51   c-2.352,1.138-3.61,3.326-2.81,4.89c0.799,1.563,3.354,1.908,5.708,0.771c1.87-0.905,3.05-2.473,3.05-3.864V10l10-2.645V18.16   c-1.125-0.301-2.566-0.158-3.949,0.51c-2.352,1.137-3.61,3.326-2.809,4.889c0.799,1.563,3.354,1.91,5.707,0.771   c1.875-0.906,3.055-2.477,3.051-3.869V2C25,1.45,24.564,1.115,24.033,1.256z"
+   id="path7" />
+       <path
+   opacity="0.15"
+   d="M7.168,29c-1.755,0-3.182-0.742-3.818-1.986c-0.414-0.809-0.464-1.742-0.144-2.698   c0.476-1.418,1.75-2.744,3.408-3.547c1.03-0.497,2.131-0.76,3.186-0.76c0.067,0,0.133,0.001,0.199,0.003V6.701   c0-1.009,0.736-1.965,1.711-2.223l12.066-3.189c0.164-0.043,0.33-0.065,0.494-0.065C25.257,1.224,26,1.987,26,3v18.461   c0.005,1.832-1.414,3.705-3.615,4.77c-1.042,0.504-2.153,0.771-3.215,0.771l0,0c-1.755,0-3.183-0.743-3.818-1.987   c-0.415-0.809-0.464-1.741-0.144-2.698c0.476-1.418,1.75-2.744,3.408-3.546c1.029-0.497,2.13-0.76,3.185-0.76   c0.067,0,0.134,0.002,0.2,0.004V9.654l-8,2.116v11.696c0,1.831-1.419,3.701-3.615,4.765C9.342,28.733,8.229,29,7.168,29z"
+   id="path9" />
+       <path
+   opacity="0.15"
+   d="M24.033,2.256L11.967,5.445C11.435,5.586,11,6.15,11,6.701v14.458c-1.125-0.302-2.567-0.157-3.949,0.51   c-2.352,1.138-3.61,3.326-2.81,4.89c0.799,1.563,3.354,1.908,5.708,0.771c1.87-0.905,3.05-2.473,3.05-3.864V11l10-2.645V19.16   c-1.125-0.301-2.566-0.158-3.949,0.51c-2.352,1.137-3.61,3.326-2.809,4.889c0.799,1.563,3.354,1.91,5.707,0.771   c1.875-0.906,3.055-2.477,3.051-3.869V3C25,2.45,24.564,2.115,24.033,2.256z"
+   id="path11" />
+       <path
+   fill="#FFFFFF"
+   d="M24.033,2.256L11.967,5.445C11.435,5.586,11,6.15,11,6.701v14.458c-1.125-0.302-2.567-0.157-3.949,0.51   c-2.352,1.138-3.61,3.326-2.81,4.89c0.799,1.563,3.354,1.908,5.708,0.771c1.87-0.905,3.05-2.473,3.05-3.864V11l10-2.645V19.16   c-1.125-0.301-2.566-0.158-3.949,0.51c-2.352,1.137-3.61,3.326-2.809,4.889c0.799,1.563,3.354,1.91,5.707,0.771   c1.875-0.906,3.055-2.477,3.051-3.869V3C25,2.45,24.564,2.115,24.033,2.256z"
+   id="path13" />
+</g>
+</svg>
\ No newline at end of file
diff --git a/graphics/options.svg b/graphics/options.svg
new file mode 100644 (file)
index 0000000..e34f2bd
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="options.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/options.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"><metadata
+   id="metadata21"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs19" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
+   id="namedview17"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <path
+   opacity="0.3"
+   d="M25,19H5c-1.1,0-2,0.9-2,2s0.9,2,2,2h20c1.1,0,2-0.9,2-2S26.1,19,25,19z M5,9h20c1.1,0,2-0.9,2-2   c0-1.101-0.9-2-2-2H5C3.9,5,3,5.899,3,7C3,8.1,3.9,9,5,9z M25,12H5c-1.1,0-2,0.899-2,2c0,1.099,0.9,2,2,2h20c1.1,0,2-0.9,2-2   C27,12.899,26.1,12,25,12z"
+   id="path7" />
+       <path
+   opacity="0.15"
+   d="M5,25c-1.654,0-3-1.346-3-3s1.346-3,3-3h20c1.654,0,3,1.346,3,3s-1.346,3-3,3H5z M5,18   c-1.654,0-3-1.346-3-3c0-1.654,1.346-3,3-3h20c1.654,0,3,1.346,3,3c0,1.654-1.346,3-3,3H5z M5,11c-1.654,0-3-1.346-3-3s1.346-3,3-3   h20c1.654,0,3,1.346,3,3s-1.346,3-3,3H5z"
+   id="path9" />
+       <path
+   opacity="0.15"
+   d="M25,20H5c-1.1,0-2,0.9-2,2s0.9,2,2,2h20c1.1,0,2-0.9,2-2S26.1,20,25,20z M5,10h20c1.1,0,2-0.9,2-2   c0-1.101-0.9-2-2-2H5C3.9,6,3,6.899,3,8C3,9.1,3.9,10,5,10z M25,13H5c-1.1,0-2,0.899-2,2c0,1.099,0.9,2,2,2h20c1.1,0,2-0.9,2-2   C27,13.899,26.1,13,25,13z"
+   id="path11" />
+       <path
+   fill="#FFFFFF"
+   d="M25,20H5c-1.1,0-2,0.9-2,2s0.9,2,2,2h20c1.1,0,2-0.9,2-2S26.1,20,25,20z M5,10h20c1.1,0,2-0.9,2-2   c0-1.101-0.9-2-2-2H5C3.9,6,3,6.899,3,8C3,9.1,3.9,10,5,10z M25,13H5c-1.1,0-2,0.899-2,2c0,1.099,0.9,2,2,2h20c1.1,0,2-0.9,2-2   C27,13.899,26.1,13,25,13z"
+   id="path13" />
+       <rect
+   fill="none"
+   width="30"
+   height="30"
+   id="rect15" />
+</g>
+</svg>
\ No newline at end of file
diff --git a/graphics/photos-big.svg b/graphics/photos-big.svg
new file mode 100644 (file)
index 0000000..c6a0d9f
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="photos-big.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/photo.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1215"
+   inkscape:window-height="1000"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.3202127"
+   inkscape:cx="-14.099104"
+   inkscape:cy="14.795088"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="svg2"
+   inkscape:snap-global="false" />
+<path
+   inkscape:connector-curvature="0"
+   d="M 15.000178,30 C 3.8870516,30 0,26.113305 0,15.000179 0,3.8866946 3.8870516,0 15.000178,0 26.113304,0 30,3.8866946 30,15.000179 30,26.112947 26.113304,30 15.000178,30 z"
+   id="path4"
+   style="fill:#000000;fill-opacity:0.19607843" /><g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+
+<g
+   transform="matrix(0.77272727,0,0,0.77272727,3.409091,2.6363637)"
+   id="PLACE_YOUR_GRAPHIC_HERE-9"><path
+     style="opacity:0.3"
+     inkscape:connector-curvature="0"
+     d="m 24.5,16.5 -5.146,-5.146 c -0.194,-0.193 -0.513,-0.193 -0.707,0 L 13.5,16.5 10.354,13.354 c -0.194,-0.193 -0.513,-0.193 -0.707,0 L 5.5,17.5 v 4 h 19 v -5 z M 27,5 H 3 C 2.45,5 2,5.451 2,6 v 18 c 0,0.551 0.45,1 1,1 h 24 c 0.55,0 1,-0.449 1,-1 V 6 C 28,5.451 27.55,5 27,5 z M 26,23 H 4 V 7 h 22 v 16 z"
+     id="path7-7" /><path
+     style="opacity:0.15"
+     inkscape:connector-curvature="0"
+     d="M 3,27 C 1.897,27 1,26.103 1,25 V 7 C 1,5.897 1.897,5 3,5 h 24 c 1.103,0 2,0.897 2,2 v 18 c 0,1.103 -0.897,2 -2,2 H 3 z"
+     id="path9-4" /><path
+     style="opacity:0.15"
+     inkscape:connector-curvature="0"
+     d="m 24.5,17.5 -5.146,-5.146 c -0.194,-0.193 -0.513,-0.193 -0.707,0 L 13.5,17.5 10.354,14.354 c -0.194,-0.193 -0.513,-0.193 -0.707,0 L 5.5,18.5 v 4 h 19 v -5 z M 27,6 H 3 C 2.45,6 2,6.451 2,7 v 18 c 0,0.551 0.45,1 1,1 h 24 c 0.55,0 1,-0.449 1,-1 V 7 C 28,6.451 27.55,6 27,6 z M 26,24 H 4 V 8 h 22 v 16 z"
+     id="path11-3" /><path
+     style="fill:#ffffff"
+     inkscape:connector-curvature="0"
+     d="m 24.5,17.5 -5.146,-5.146 c -0.194,-0.193 -0.513,-0.193 -0.707,0 L 13.5,17.5 10.354,14.354 c -0.194,-0.193 -0.513,-0.193 -0.707,0 L 5.5,18.5 v 4 h 19 v -5 z M 27,6 H 3 C 2.45,6 2,6.451 2,7 v 18 c 0,0.551 0.45,1 1,1 h 24 c 0.55,0 1,-0.449 1,-1 V 7 C 28,6.451 27.55,6 27,6 z M 26,24 H 4 V 8 h 22 v 16 z"
+     id="path13-4" /></g></svg>
\ No newline at end of file
index 3d8f26c..3c1caa5 100644 (file)
@@ -20,9 +20,9 @@
    id="svg2"
    inkscape:version="0.48.3.1 r9886"
    sodipodi:docname="photos.svg"
-   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/photo.png"
-   inkscape:export-xdpi="150"
-   inkscape:export-ydpi="150"><metadata
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/photo-small.png"
+   inkscape:export-xdpi="120"
+   inkscape:export-ydpi="120"><metadata
    id="metadata19"><rdf:RDF><cc:Work
        rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
          rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
diff --git a/graphics/qtg_fr_pushbutton_disabled.svg b/graphics/qtg_fr_pushbutton_disabled.svg
new file mode 100644 (file)
index 0000000..0ec9ecc
--- /dev/null
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="42px"
+   version="1.1"
+   viewBox="0 0 84 42"
+   width="84px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="qtg_fr_pushbutton_disabled.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/pushbutton_disabled.png"
+   inkscape:export-xdpi="85.714287"
+   inkscape:export-ydpi="85.714287">
+  <metadata
+     id="metadata28">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs26" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview24"
+     showgrid="false"
+     inkscape:zoom="4.7261905"
+     inkscape:cx="42"
+     inkscape:cy="21"
+     inkscape:window-x="65"
+     inkscape:window-y="24"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <linearGradient
+     gradientUnits="userSpaceOnUse"
+     id="SVGID_1_"
+     x1="41.9995"
+     x2="41.9995"
+     y1="0.082"
+     y2="41.4807">
+    <stop
+       offset="0"
+       style="stop-color:#464646"
+       id="stop5" />
+    <stop
+       offset="0.0171"
+       style="stop-color:#454545"
+       id="stop7" />
+    <stop
+       offset="0.3689"
+       style="stop-color:#2E2E2E"
+       id="stop9" />
+    <stop
+       offset="0.7034"
+       style="stop-color:#212121"
+       id="stop11" />
+    <stop
+       offset="1"
+       style="stop-color:#1C1C1C"
+       id="stop13" />
+  </linearGradient>
+  <path
+     d="M84,20C84,5.047,78.953,0,64,0H20C5.047,0,0,5.047,0,20v2c0,14.953,5.047,20,20,20h44  c14.953,0,20-5.047,20-20V20z"
+     fill="url(#SVGID_1_)"
+     fill-opacity="0.3"
+     stroke-opacity="0.3"
+     id="path15" />
+  <linearGradient
+     gradientUnits="userSpaceOnUse"
+     id="SVGID_2_"
+     x1="41.9995"
+     x2="41.9995"
+     y1="0.5"
+     y2="41.8042">
+    <stop
+       offset="0"
+       style="stop-color:#FFFFFF"
+       id="stop18" />
+    <stop
+       offset="1"
+       style="stop-color:#000000"
+       id="stop20" />
+  </linearGradient>
+  <path
+     d="M64,0H20C5.047,0,0,5.047,0,20v2c0,14.953,5.047,20,20,20h44c14.953,0,20-5.047,20-20  v-2C84,5.047,78.953,0,64,0z M83,22c0,14.383-4.617,19-19,19H20C5.617,41,1,36.383,1,22v-2C1,5.617,5.617,1,20,1h44  c14.383,0,19,4.617,19,19V22z"
+     fill="url(#SVGID_2_)"
+     fill-opacity="0.1"
+     stroke-opacity="0.1"
+     id="path22" />
+</svg>
diff --git a/graphics/qtg_fr_pushbutton_normal.svg b/graphics/qtg_fr_pushbutton_normal.svg
new file mode 100644 (file)
index 0000000..7af33d6
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="42px"
+   version="1.1"
+   viewBox="0 0 84 42"
+   width="84px"
+   x="0px"
+   y="0px"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="qtg_fr_pushbutton_normal.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/pushbutton_normal.png"
+   inkscape:export-xdpi="85.714287"
+   inkscape:export-ydpi="85.714287">
+  <metadata
+     id="metadata28">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs26" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview24"
+     showgrid="false"
+     inkscape:zoom="4.7261905"
+     inkscape:cx="42"
+     inkscape:cy="21"
+     inkscape:window-x="323"
+     inkscape:window-y="150"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <linearGradient
+     gradientUnits="userSpaceOnUse"
+     id="SVGID_1_"
+     x1="41.9995"
+     x2="41.9995"
+     y1="0.082"
+     y2="41.4807">
+    <stop
+       offset="0"
+       style="stop-color:#464646"
+       id="stop5" />
+    <stop
+       offset="0.0171"
+       style="stop-color:#454545"
+       id="stop7" />
+    <stop
+       offset="0.3689"
+       style="stop-color:#2E2E2E"
+       id="stop9" />
+    <stop
+       offset="0.7034"
+       style="stop-color:#212121"
+       id="stop11" />
+    <stop
+       offset="1"
+       style="stop-color:#1C1C1C"
+       id="stop13" />
+  </linearGradient>
+  <path
+     d="M84,20C84,5.047,78.953,0,64,0H20C5.047,0,0,5.047,0,20v2c0,14.953,5.047,20,20,20h44  c14.953,0,20-5.047,20-20V20z"
+     fill="url(#SVGID_1_)"
+     id="path15" />
+  <linearGradient
+     gradientUnits="userSpaceOnUse"
+     id="SVGID_2_"
+     x1="41.9995"
+     x2="41.9995"
+     y1="0.5"
+     y2="41.8042">
+    <stop
+       offset="0"
+       style="stop-color:#FFFFFF"
+       id="stop18" />
+    <stop
+       offset="1"
+       style="stop-color:#000000"
+       id="stop20" />
+  </linearGradient>
+  <path
+     d="M64,0H20C5.047,0,0,5.047,0,20v2c0,14.953,5.047,20,20,20h44c14.953,0,20-5.047,20-20  v-2C84,5.047,78.953,0,64,0z M83,22c0,14.383-4.617,19-19,19H20C5.617,41,1,36.383,1,22v-2C1,5.617,5.617,1,20,1h44  c14.383,0,19,4.617,19,19V22z"
+     fill="url(#SVGID_2_)"
+     fill-opacity="0.1"
+     stroke-opacity="0.1"
+     id="path22" />
+</svg>
diff --git a/graphics/qtg_fr_pushbutton_pressed.svg b/graphics/qtg_fr_pushbutton_pressed.svg
new file mode 100644 (file)
index 0000000..d2a1a18
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="42px" version="1.1" viewBox="0 0 84 42" width="84px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M84,20C84,5.047,78.953,0,64,0H20C5.047,0,0,5.047,0,20v2c0,14.953,5.047,20,20,20h44  c14.953,0,20-5.047,20-20V20z" fill="#1080DD"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="42.0005" x2="42.0005" y1="41.918" y2="0.1385">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
+</linearGradient>
+<path d="M84,20C84,5.047,78.953,0,64,0H20C5.047,0,0,5.047,0,20v2c0,14.953,5.047,20,20,20h44  c14.953,0,20-5.047,20-20V20z" fill="url(#SVGID_1_)" fill-opacity="0.15" stroke-opacity="0.15"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="42.0005" x2="42.0005" y1="42" y2="0.1253">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M64,0H20C5.047,0,0,5.047,0,20v2c0,14.953,5.047,20,20,20h44c14.953,0,20-5.047,20-20  v-2C84,5.047,78.953,0,64,0z M83,22c0,14.383-4.617,19-19,19H20C5.617,41,1,36.383,1,22v-2C1,5.617,5.617,1,20,1h44  c14.383,0,19,4.617,19,19V22z" fill="url(#SVGID_2_)" fill-opacity="0.1" stroke-opacity="0.1"/>
+</svg>
diff --git a/graphics/qtg_fr_tab_passive_normal.svg b/graphics/qtg_fr_tab_passive_normal.svg
new file mode 100644 (file)
index 0000000..2fa2661
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="48px" version="1.1" viewBox="0 0 90 48" width="90px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect height="48" width="90"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="44.9995" x2="44.9995" y1="0" y2="47.7404">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.1"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" fill-opacity="0.3" height="48" stroke-opacity="0.3" width="90"/>
+<rect fill="#FFFFFF" fill-opacity="0.1" height="1" stroke-opacity="0.1" width="90" y="1"/>
+<rect fill-opacity="0.35" height="1" stroke-opacity="0.35" width="90"/>
+<rect fill="#FFFFFF" fill-opacity="0.05" height="1" stroke-opacity="0.05" width="90" y="47"/>
+<rect fill-opacity="0.35" height="1" stroke-opacity="0.35" width="90" y="46"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="0.5" x2="0.5" y1="1.3833" y2="47.0005">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.1"/>
+</linearGradient>
+<rect fill="url(#SVGID_2_)" fill-opacity="0.05" height="46" stroke-opacity="0.05" width="1" y="1"/>
+</svg>
diff --git a/graphics/qtg_fr_tooltip_inverse.svg b/graphics/qtg_fr_tooltip_inverse.svg
new file mode 100644 (file)
index 0000000..da242fa
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="42px" version="1.1" viewBox="0 0 84 42" width="84px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M84,20C84,5.047,78.953,0,64,0H20C5.047,0,0,5.047,0,20v2c0,14.953,5.047,20,20,20h44  c14.953,0,20-5.047,20-20V20z" fill-opacity="0.25"/>
+<path d="M20,41C5.617,41,1,36.383,1,22v-2C1,5.617,5.617,1,20,1h44c14.383,0,19,4.617,19,19v2  c0,14.383-4.617,19-19,19H20z" fill="url(#SVGID_1_)"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="41.9995" x2="41.9995" y1="1" y2="40.8936">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#E5E5E5"/>
+</linearGradient>
+</defs>
+</svg>
diff --git a/graphics/qtg_graf_magnifier_mask.svg b/graphics/qtg_graf_magnifier_mask.svg
new file mode 100644 (file)
index 0000000..f1641e0
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="100px" version="1.1" viewBox="0 0 100 100" width="100px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M50,90.424c-31.046,0-41.905-10.858-41.905-41.904C8.095,17.473,18.954,6.615,50,6.615S91.904,17.473,91.904,48.52  C91.904,79.565,81.046,90.424,50,90.424z"/>
+<rect fill="none" height="100" width="100"/>
+</svg>
diff --git a/graphics/qtg_graf_switchbutton_track.svg b/graphics/qtg_graf_switchbutton_track.svg
new file mode 100644 (file)
index 0000000..61335e5
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="44px" version="1.1" viewBox="0 0 66 44" width="66px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M45,2c14.814,0,20,5.184,20,20c0,14.818-5.186,20-20,20H21C6.186,42,1,36.818,1,22C1,7.184,6.186,2,21,2H45" fill-opacity="0.9" stroke-opacity="0.9"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="33.0005" x2="33.0005" y1="43" y2="1.0005">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
+</linearGradient>
+<path d="M45,2c14.814,0,20,5.184,20,20c0,14.818-5.186,20-20,20H21C6.186,42,1,36.818,1,22  C1,7.184,6.186,2,21,2H45 M45,1H21C5.691,1,0,6.691,0,22c0,15.31,5.691,21,21,21h24c15.309,0,21-5.69,21-21C66,6.691,60.309,1,45,1  L45,1z" fill="url(#SVGID_1_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="33.0005" x2="33.0005" y1="42.333" y2="1.9943">
+<stop offset="0" style="stop-color:#CCCCCC"/>
+<stop offset="0.0294" style="stop-color:#C5C5C5"/>
+<stop offset="0.2693" style="stop-color:#919191"/>
+<stop offset="0.4943" style="stop-color:#696969"/>
+<stop offset="0.6979" style="stop-color:#4B4B4B"/>
+<stop offset="0.8732" style="stop-color:#393939"/>
+<stop offset="1" style="stop-color:#333333"/>
+</linearGradient>
+<path d="M45,2c14.814,0,20,5.184,20,20c0,14.818-5.186,20-20,20H21C6.186,42,1,36.818,1,22  C1,7.184,6.186,2,21,2H45" fill="url(#SVGID_2_)" fill-opacity="0.17" stroke-opacity="0.17"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="32.9995" x2="32.9995" y1="2" y2="42.3353">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M45,2H21C6.186,2,1,7.184,1,22c0,14.818,5.186,20,20,20h24c14.814,0,20-5.182,20-20  C65,7.184,59.814,2,45,2z M45,39H21C7.972,39,4,35.027,4,22S7.972,5,21,5h24c13.028,0,17,3.973,17,17S58.028,39,45,39z" fill="url(#SVGID_3_)" fill-opacity="0.03" stroke-opacity="0.03"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="32.9995" x2="32.9995" y1="2.3335" y2="41.7178">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M45,2H21C6.186,2,1,7.184,1,22c0,14.818,5.186,20,20,20h24c14.814,0,20-5.182,20-20  C65,7.184,59.814,2,45,2z M45,40H21C7.374,40,3,35.626,3,22S7.374,4,21,4h24c13.626,0,18,4.374,18,18S58.626,40,45,40z" fill="url(#SVGID_4_)" fill-opacity="0.05" stroke-opacity="0.05"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="32.9995" x2="32.9995" y1="2" y2="42.0005">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M45,2H21C6.186,2,1,7.184,1,22c0,14.818,5.186,20,20,20h24c14.814,0,20-5.182,20-20  C65,7.184,59.814,2,45,2z M45,41H21C6.794,41,2,36.205,2,22S6.794,3,21,3h24c14.206,0,19,4.795,19,19S59.206,41,45,41z" fill="url(#SVGID_5_)" fill-opacity="0.1" stroke-opacity="0.1"/>
+<rect fill="none" height="44" width="66"/>
+</svg>
diff --git a/graphics/qtg_graf_switchbutton_track_inverse.svg b/graphics/qtg_graf_switchbutton_track_inverse.svg
new file mode 100644 (file)
index 0000000..a41075b
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="44px" version="1.1" viewBox="0 0 66 44" width="66px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M45,2c14.814,0,20,5.184,20,20c0,14.818-5.186,20-20,20H21C6.186,42,1,36.818,1,22  C1,7.184,6.186,2,21,2H45" fill="#999999" fill-opacity="0.9" stroke-opacity="0.9"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="33.0005" x2="33.0005" y1="43" y2="1.0005">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0"/>
+</linearGradient>
+<path d="M45,2c14.814,0,20,5.184,20,20c0,14.818-5.186,20-20,20H21C6.186,42,1,36.818,1,22  C1,7.184,6.186,2,21,2H45 M45,1H21C5.691,1,0,6.691,0,22c0,15.311,5.691,21,21,21h24c15.309,0,21-5.689,21-21  C66,6.691,60.309,1,45,1L45,1z" fill="url(#SVGID_1_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="33.0005" x2="33.0005" y1="42.333" y2="1.9943">
+<stop offset="0" style="stop-color:#CCCCCC"/>
+<stop offset="0.0294" style="stop-color:#C5C5C5"/>
+<stop offset="0.2693" style="stop-color:#919191"/>
+<stop offset="0.4943" style="stop-color:#696969"/>
+<stop offset="0.6979" style="stop-color:#4B4B4B"/>
+<stop offset="0.8732" style="stop-color:#393939"/>
+<stop offset="1" style="stop-color:#333333"/>
+</linearGradient>
+<path d="M45,2c14.814,0,20,5.184,20,20c0,14.818-5.186,20-20,20H21C6.186,42,1,36.818,1,22  C1,7.184,6.186,2,21,2H45" fill="url(#SVGID_2_)" fill-opacity="0.17" stroke-opacity="0.17"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="32.9995" x2="32.9995" y1="2" y2="42.3353">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M45,2H21C6.186,2,1,7.184,1,22c0,14.818,5.186,20,20,20h24c14.814,0,20-5.182,20-20  C65,7.184,59.814,2,45,2z M45,39H21C7.972,39,4,35.027,4,22S7.972,5,21,5h24c13.028,0,17,3.973,17,17S58.028,39,45,39z" fill="url(#SVGID_3_)" fill-opacity="0.03" stroke-opacity="0.03"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="32.9995" x2="32.9995" y1="2.3335" y2="41.7178">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M45,2H21C6.186,2,1,7.184,1,22c0,14.818,5.186,20,20,20h24c14.814,0,20-5.182,20-20  C65,7.184,59.814,2,45,2z M45,40H21C7.374,40,3,35.627,3,22C3,8.375,7.374,4,21,4h24c13.626,0,18,4.375,18,18  C63,35.627,58.626,40,45,40z" fill="url(#SVGID_4_)" fill-opacity="0.05" stroke-opacity="0.05"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="32.9995" x2="32.9995" y1="2" y2="42.0005">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</linearGradient>
+<path d="M45,2H21C6.186,2,1,7.184,1,22c0,14.818,5.186,20,20,20h24c14.814,0,20-5.182,20-20  C65,7.184,59.814,2,45,2z M45,41H21C6.794,41,2,36.205,2,22S6.794,3,21,3h24c14.206,0,19,4.795,19,19S59.206,41,45,41z" fill="url(#SVGID_5_)" fill-opacity="0.1" stroke-opacity="0.1"/>
+<rect fill="none" height="44" width="66"/>
+</svg>
diff --git a/graphics/refresh.svg b/graphics/refresh.svg
new file mode 100644 (file)
index 0000000..3121a23
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="refresh.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/refresh.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <path
+   opacity="0.3"
+   d="M11.169,6.996C12.308,6.367,13.609,6,15,6c4.41,0,8,3.588,8,8h4c0-6.627-5.373-12-12-12   c-2.155,0-4.172,0.576-5.918,1.572L7.514,1l-5.527,9H13L11.169,6.996z M16.986,18l1.844,3.004C17.691,21.631,16.391,22,15,22   c-4.411,0-8-3.59-8-8H3c0,6.627,5.373,12,12,12c2.16,0,4.18-0.58,5.93-1.58L22.514,27L28,18H16.986z"
+   id="path7" />
+       <path
+   opacity="0.15"
+   d="M22.514,29c-0.348,0-0.67-0.181-0.853-0.477l-1.096-1.785C18.827,27.566,16.922,28,15,28   C7.832,28,2,22.168,2,15c0-0.552,0.448-1,1-1h4c0.552,0,1,0.448,1,1c0,3.859,3.14,7,7,7c0.822,0,1.622-0.145,2.39-0.432   l-1.256-2.045c-0.189-0.309-0.197-0.695-0.021-1.012C16.29,18.195,16.624,18,16.986,18H28c0.361,0,0.695,0.195,0.872,0.511   c0.177,0.314,0.17,0.701-0.019,1.01l-5.486,9c-0.181,0.297-0.504,0.479-0.852,0.479C22.515,29,22.515,29,22.514,29z M23,16   c-0.553,0-1-0.448-1-1c0-3.86-3.141-7-7-7c-0.826,0-1.627,0.145-2.395,0.432l1.249,2.048c0.188,0.309,0.195,0.695,0.018,1.01   C13.695,11.805,13.361,12,13,12H1.986c-0.362,0-0.696-0.196-0.873-0.512s-0.169-0.703,0.021-1.012l5.527-9   C6.843,1.181,7.166,1,7.514,1c0,0,0.001,0,0.001,0c0.348,0,0.671,0.182,0.853,0.479l1.082,1.774C11.182,2.431,13.082,2,15,2   c7.168,0,13,5.832,13,13c0,0.552-0.447,1-1,1H23z"
+   id="path9" />
+       <path
+   opacity="0.15"
+   d="M11.169,7.996C12.308,7.367,13.609,7,15,7c4.41,0,8,3.588,8,8h4c0-6.627-5.373-12-12-12   c-2.155,0-4.172,0.576-5.918,1.572L7.514,2l-5.527,9H13L11.169,7.996z M16.986,19l1.844,3.004C17.691,22.631,16.391,23,15,23   c-4.411,0-8-3.59-8-8H3c0,6.627,5.373,12,12,12c2.16,0,4.18-0.58,5.93-1.58L22.514,28L28,19H16.986z"
+   id="path11" />
+       <path
+   fill="#FFFFFF"
+   d="M11.169,7.996C12.308,7.367,13.609,7,15,7c4.41,0,8,3.588,8,8h4c0-6.627-5.373-12-12-12   c-2.155,0-4.172,0.576-5.918,1.572L7.514,2l-5.527,9H13L11.169,7.996z M16.986,19l1.844,3.004C17.691,22.631,16.391,23,15,23   c-4.411,0-8-3.59-8-8H3c0,6.627,5.373,12,12,12c2.16,0,4.18-0.58,5.93-1.58L22.514,28L28,19H16.986z"
+   id="path13" />
+</g>
+</svg>
\ No newline at end of file
diff --git a/graphics/sync.svg b/graphics/sync.svg
new file mode 100644 (file)
index 0000000..a59f9f5
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px"\r
+        height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">\r
+<g id="DO_NOT_EDIT_-_BOUNDING_BOX">\r
+       <rect id="BOUNDING_BOX" fill="none" width="30" height="30"/>\r
+</g>\r
+<g id="PLACE_YOUR_GRAPHIC_HERE">\r
+       <path opacity="0.3" d="M12.833,21.391c-1.206-0.349-2.347-0.986-3.296-1.936c-3.012-3.013-3.012-7.916,0-10.928L6.804,5.796\r
+               c-4.525,4.526-4.525,11.865,0,16.391c1.475,1.476,3.251,2.458,5.129,2.969L11.253,28l9.894-2.399l-7.522-7.521L12.833,21.391z\r
+                M23.195,5.796c-1.472-1.471-3.243-2.455-5.115-2.967L18.766,0L8.844,2.372l7.521,7.522l0.802-3.302\r
+               c1.208,0.348,2.347,0.986,3.297,1.936c3.013,3.012,3.014,7.913,0,10.928l2.731,2.731C27.722,17.661,27.722,10.322,23.195,5.796z"/>\r
+       <path opacity="0.15" d="M11.253,30c-0.261,0-0.516-0.103-0.706-0.292c-0.247-0.245-0.348-0.602-0.267-0.94l0.463-1.938\r
+               c-1.747-0.623-3.339-1.627-4.647-2.936c-4.908-4.908-4.908-12.896,0-17.805c0.195-0.195,0.451-0.293,0.707-0.293\r
+               s0.512,0.098,0.707,0.293l2.732,2.731c0.188,0.188,0.293,0.442,0.293,0.707s-0.105,0.52-0.293,0.707\r
+               c-2.623,2.623-2.623,6.891,0,9.514c0.549,0.549,1.179,0.988,1.879,1.313l0.529-2.214c0.084-0.353,0.352-0.632,0.701-0.729\r
+               c0.09-0.025,0.181-0.038,0.272-0.038c0.262,0,0.517,0.103,0.707,0.293l7.522,7.521c0.256,0.256,0.354,0.629,0.256,0.978\r
+               c-0.098,0.348-0.376,0.616-0.728,0.701l-9.893,2.399C11.411,29.991,11.332,30,11.253,30z M23.195,24.187\r
+               c-0.256,0-0.512-0.098-0.707-0.293l-2.731-2.731c-0.391-0.391-0.391-1.023,0-1.414c2.622-2.624,2.623-6.891,0-9.514\r
+               c-0.551-0.551-1.182-0.991-1.883-1.316l-0.537,2.211c-0.085,0.352-0.354,0.629-0.701,0.727c-0.09,0.025-0.181,0.037-0.271,0.037\r
+               c-0.262,0-0.517-0.103-0.707-0.293L8.137,4.079C7.881,3.823,7.784,3.449,7.882,3.1C7.98,2.751,8.26,2.484,8.612,2.399l9.921-2.372\r
+               C18.61,0.009,18.688,0,18.766,0c0.263,0,0.519,0.104,0.708,0.294c0.246,0.247,0.346,0.603,0.264,0.941l-0.466,1.922\r
+               c1.738,0.624,3.324,1.626,4.631,2.932c2.378,2.378,3.688,5.54,3.688,8.903c0,3.363-1.31,6.525-3.688,8.902\r
+               C23.707,24.089,23.451,24.187,23.195,24.187z"/>\r
+       <path opacity="0.15" d="M12.833,22.391c-1.206-0.349-2.347-0.986-3.296-1.936c-3.012-3.013-3.012-7.916,0-10.928L6.804,6.796\r
+               c-4.525,4.526-4.525,11.865,0,16.391c1.475,1.476,3.251,2.458,5.129,2.969L11.253,29l9.894-2.399l-7.522-7.521L12.833,22.391z\r
+                M23.195,6.796c-1.472-1.471-3.243-2.455-5.115-2.967L18.766,1L8.844,3.372l7.521,7.522l0.802-3.302\r
+               c1.208,0.348,2.347,0.986,3.297,1.936c3.013,3.012,3.014,7.913,0,10.928l2.731,2.731C27.722,18.661,27.722,11.322,23.195,6.796z"/>\r
+       <path fill="#FFFFFF" d="M12.833,22.391c-1.206-0.349-2.347-0.986-3.296-1.936c-3.012-3.013-3.012-7.916,0-10.928L6.804,6.796\r
+               c-4.525,4.526-4.525,11.865,0,16.391c1.475,1.476,3.251,2.458,5.129,2.969L11.253,29l9.894-2.399l-7.522-7.521L12.833,22.391z\r
+                M23.195,6.796c-1.472-1.471-3.243-2.455-5.115-2.967L18.766,1L8.844,3.372l7.521,7.522l0.802-3.302\r
+               c1.208,0.348,2.347,0.986,3.297,1.936c3.013,3.012,3.014,7.913,0,10.928l2.731,2.731C27.722,18.661,27.722,11.322,23.195,6.796z"/>\r
+</g>\r
+</svg>\r
diff --git a/graphics/up.svg b/graphics/up.svg
new file mode 100644 (file)
index 0000000..e474a1e
--- /dev/null
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="up.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/up.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"><metadata
+   id="metadata21"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs19" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
+   id="namedview17"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="485"
+   inkscape:window-y="172"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX"
+   transform="matrix(0,1,-1,0,30,0)">
+       <rect
+   id="BOUNDING_BOX"
+   width="30"
+   height="30"
+   x="0"
+   y="0"
+   style="fill:none" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE"
+   transform="matrix(0,1,-1,0,30,0)">
+       <path
+   d="M 26,12 H 11 l 5.293,-5.293 c 0.389,-0.391 0.389,-1.025 0,-1.414 L 14.707,3.707 c -0.389,-0.391 -1.025,-0.391 -1.414,0 l -9.586,9.586 c -0.389,0.389 -0.389,1.023 0,1.414 l 9.586,9.586 c 0.389,0.389 1.025,0.389 1.414,0 l 1.586,-1.586 c 0.389,-0.389 0.389,-1.025 0,-1.414 L 11,16 h 15 c 0.55,0 1,-0.451 1,-1 v -2 c 0,-0.551 -0.45,-1 -1,-1 z"
+   id="path7"
+   inkscape:connector-curvature="0"
+   style="opacity:0.3" />
+       <path
+   d="m 14,26.585 c -0.535,0 -1.037,-0.208 -1.414,-0.585 L 3,16.414 C 2.221,15.632 2.221,14.363 3,13.585 L 12.586,4 C 12.961,3.623 13.464,3.414 14,3.414 c 0.536,0 1.039,0.208 1.416,0.587 L 17,5.586 c 0.778,0.778 0.778,2.046 0.002,2.827 L 13.414,12 H 26 c 1.103,0 2,0.897 2,2 v 2 c 0,1.103 -0.897,2 -2,2 H 13.414 L 17,21.586 c 0.78,0.779 0.78,2.049 0,2.828 L 15.414,26 C 15.037,26.377 14.535,26.585 14,26.585 z"
+   id="path9"
+   inkscape:connector-curvature="0"
+   style="opacity:0.15" />
+       <path
+   d="M 26,13 H 11 l 5.293,-5.293 c 0.389,-0.391 0.389,-1.025 0,-1.414 L 14.707,4.707 c -0.389,-0.391 -1.025,-0.391 -1.414,0 l -9.586,9.586 c -0.389,0.389 -0.389,1.023 0,1.414 l 9.586,9.586 c 0.389,0.389 1.025,0.389 1.414,0 l 1.586,-1.586 c 0.389,-0.389 0.389,-1.025 0,-1.414 L 11,17 h 15 c 0.55,0 1,-0.451 1,-1 v -2 c 0,-0.551 -0.45,-1 -1,-1 z"
+   id="path11"
+   inkscape:connector-curvature="0"
+   style="opacity:0.15" />
+       <path
+   d="M 26,13 H 11 l 5.293,-5.293 c 0.389,-0.391 0.389,-1.025 0,-1.414 L 14.707,4.707 c -0.389,-0.391 -1.025,-0.391 -1.414,0 l -9.586,9.586 c -0.389,0.389 -0.389,1.023 0,1.414 l 9.586,9.586 c 0.389,0.389 1.025,0.389 1.414,0 l 1.586,-1.586 c 0.389,-0.389 0.389,-1.025 0,-1.414 L 11,17 h 15 c 0.55,0 1,-0.451 1,-1 v -2 c 0,-0.551 -0.45,-1 -1,-1 z"
+   id="path13"
+   inkscape:connector-curvature="0"
+   style="fill:#ffffff" />
+       <rect
+   width="30"
+   height="30"
+   id="rect15"
+   x="0"
+   y="0"
+   style="fill:none" />
+</g>
+</svg>
\ No newline at end of file
diff --git a/graphics/upload.svg b/graphics/upload.svg
new file mode 100644 (file)
index 0000000..af5814b
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="upload.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/upload.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"><metadata
+   id="metadata23"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs21" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="799"
+   inkscape:window-height="651"
+   id="namedview19"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <g
+   id="g7">
+               <path
+   opacity="0.3"
+   d="M8.571,14H11c0.55,0,1,0.45,1,1v6c0,0.55,0.45,1,1,1h4c0.55,0,1-0.45,1-1v-6c0-0.55,0.45-1,1-1h2.429    c0.55,0,0.776-0.391,0.504-0.868l-2.724-4.764c-0.272-0.478-0.72-1.259-0.992-1.736l-2.721-4.764    c-0.273-0.478-0.719-0.478-0.992,0l-2.722,4.764c-0.273,0.478-0.719,1.259-0.992,1.736l-2.723,4.764    C7.794,13.609,8.021,14,8.571,14z M25.956,23.826H4.043C3.469,23.826,3,24.297,3,24.871v2.086C3,27.531,3.469,28,4.043,28h21.913    C26.529,28,27,27.531,27,26.957v-2.086C27,24.297,26.529,23.826,25.956,23.826z"
+   id="path9" />
+               <rect
+   fill="none"
+   width="30"
+   height="30"
+   id="rect11" />
+               <path
+   opacity="0.15"
+   d="M4.043,30C2.917,30,2,29.084,2,27.957v-2.086c0-1.128,0.917-2.045,2.043-2.045h8.142    C11.487,23.514,11,22.813,11,22v-6H8.571c-0.628,0-1.148-0.274-1.425-0.753c-0.278-0.479-0.258-1.066,0.053-1.611l6.437-11.264    C13.949,1.824,14.446,1.51,15,1.51l0,0c0.554,0,1.051,0.314,1.364,0.862l6.437,11.263c0.312,0.546,0.331,1.134,0.053,1.612    C22.576,15.726,22.057,16,21.429,16H19v6c0,0.813-0.487,1.514-1.185,1.826h8.141c1.127,0,2.044,0.917,2.044,2.045v2.086    C28,29.084,27.083,30,25.956,30H4.043z"
+   id="path13" />
+               <path
+   opacity="0.15"
+   d="M8.571,15H11c0.55,0,1,0.45,1,1v6c0,0.55,0.45,1,1,1h4c0.55,0,1-0.45,1-1v-6c0-0.55,0.45-1,1-1h2.429    c0.55,0,0.776-0.391,0.504-0.868l-2.724-4.764c-0.272-0.478-0.72-1.259-0.992-1.736l-2.721-4.764    c-0.273-0.478-0.719-0.478-0.992,0l-2.722,4.764c-0.273,0.478-0.719,1.259-0.992,1.736l-2.723,4.764    C7.794,14.609,8.021,15,8.571,15z M25.956,24.826H4.043C3.469,24.826,3,25.297,3,25.871v2.086C3,28.531,3.469,29,4.043,29h21.913    C26.529,29,27,28.531,27,27.957v-2.086C27,25.297,26.529,24.826,25.956,24.826z"
+   id="path15" />
+               <path
+   fill="#FFFFFF"
+   d="M8.571,15H11c0.55,0,1,0.45,1,1v6c0,0.55,0.45,1,1,1h4c0.55,0,1-0.45,1-1v-6c0-0.55,0.45-1,1-1h2.429    c0.55,0,0.776-0.391,0.504-0.868l-2.724-4.764c-0.272-0.478-0.72-1.259-0.992-1.736l-2.721-4.764    c-0.273-0.478-0.719-0.478-0.992,0l-2.722,4.764c-0.273,0.478-0.719,1.259-0.992,1.736l-2.723,4.764    C7.794,14.609,8.021,15,8.571,15z M25.956,24.826H4.043C3.469,24.826,3,25.297,3,25.871v2.086C3,28.531,3.469,29,4.043,29h21.913    C26.529,29,27,28.531,27,27.957v-2.086C27,25.297,26.529,24.826,25.956,24.826z"
+   id="path17" />
+       </g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/graphics/video-big.svg b/graphics/video-big.svg
new file mode 100644 (file)
index 0000000..f410b07
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="video-big.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/video.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1004"
+   inkscape:window-height="560"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.3202127"
+   inkscape:cx="-14.099104"
+   inkscape:cy="14.795088"
+   inkscape:window-x="140"
+   inkscape:window-y="271"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2"
+   inkscape:snap-global="false" />
+<path
+   inkscape:connector-curvature="0"
+   d="M 15.000178,30 C 3.8870516,30 0,26.113305 0,15.000179 0,3.8866946 3.8870516,0 15.000178,0 26.113304,0 30,3.8866946 30,15.000179 30,26.112947 26.113304,30 15.000178,30 z"
+   id="path4"
+   style="fill:#000000;fill-opacity:0.19607843" /><g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+
+<g
+   transform="matrix(0.73913043,0,0,0.73913043,3.9130435,3.9130436)"
+   id="PLACE_YOUR_GRAPHIC_HERE"><path
+     style="opacity:0.3"
+     inkscape:connector-curvature="0"
+     d="M 18.994,3.512 C 18.974,3.51 18.957,3.5 18.938,3.5 h -7.875 c -0.02,0 -0.037,0.01 -0.057,0.012 C 3.613,3.63 1,6.394 1,14 c 0,7.606 2.613,10.37 10.006,10.488 0.02,0.002 0.037,0.012 0.057,0.012 h 7.875 c 0.02,0 0.036,-0.01 0.057,-0.012 C 26.387,24.37 29,21.606 29,14 29,6.394 26.387,3.63 18.994,3.512 z m 1.998,10.822 -3.609,2.084 c -0.417,0.241 -1.1,0.635 -1.516,0.875 l -3.609,2.084 C 11.84,19.617 11.5,19.421 11.5,18.939 V 8.854 c 0,-0.481 0.34,-0.678 0.758,-0.438 l 3.609,2.084 c 0.416,0.241 1.099,0.634 1.516,0.875 l 3.609,2.084 c 0.417,0.24 0.417,0.635 0,0.875 z"
+     id="path7" /><path
+     style="opacity:0.15"
+     inkscape:connector-curvature="0"
+     d="m 11.063,26.5 c -0.055,0 -0.12,-0.007 -0.183,-0.018 C 3.074,26.354 0,23.132 0,15 0,6.889 3.059,3.662 10.904,3.513 10.959,3.505 11.015,3.5 11.063,3.5 h 7.875 c 0.055,0 0.118,0.006 0.18,0.017 C 26.927,3.646 30,6.869 30,15 30,23.111 26.941,26.339 19.096,26.486 19.041,26.495 18.986,26.5 18.938,26.5 h -7.875 z"
+     id="path9" /><path
+     style="opacity:0.15"
+     inkscape:connector-curvature="0"
+     d="M 18.994,4.512 C 18.974,4.51 18.957,4.5 18.938,4.5 h -7.875 c -0.02,0 -0.037,0.01 -0.057,0.012 C 3.613,4.63 1,7.394 1,15 c 0,7.606 2.613,10.37 10.006,10.488 0.02,0.002 0.037,0.012 0.057,0.012 h 7.875 c 0.02,0 0.036,-0.01 0.057,-0.012 C 26.387,25.37 29,22.606 29,15 29,7.394 26.387,4.63 18.994,4.512 z m 1.998,10.822 -3.609,2.084 c -0.417,0.241 -1.1,0.635 -1.516,0.875 l -3.609,2.084 C 11.84,20.617 11.5,20.421 11.5,19.939 V 9.854 c 0,-0.481 0.34,-0.678 0.758,-0.438 l 3.609,2.084 c 0.416,0.241 1.099,0.634 1.516,0.875 l 3.609,2.084 c 0.417,0.24 0.417,0.635 0,0.875 z"
+     id="path11" /><path
+     style="fill:#ffffff"
+     inkscape:connector-curvature="0"
+     d="M 18.994,4.512 C 18.974,4.51 18.957,4.5 18.938,4.5 h -7.875 c -0.02,0 -0.037,0.01 -0.057,0.012 C 3.613,4.63 1,7.394 1,15 c 0,7.606 2.613,10.37 10.006,10.488 0.02,0.002 0.037,0.012 0.057,0.012 h 7.875 c 0.02,0 0.036,-0.01 0.057,-0.012 C 26.387,25.37 29,22.606 29,15 29,7.394 26.387,4.63 18.994,4.512 z m 1.998,10.822 -3.609,2.084 c -0.417,0.241 -1.1,0.635 -1.516,0.875 l -3.609,2.084 C 11.84,20.617 11.5,20.421 11.5,19.939 V 9.854 c 0,-0.481 0.34,-0.678 0.758,-0.438 l 3.609,2.084 c 0.416,0.241 1.099,0.634 1.516,0.875 l 3.609,2.084 c 0.417,0.24 0.417,0.635 0,0.875 z"
+     id="path13" /></g></svg>
\ No newline at end of file
diff --git a/graphics/video.svg b/graphics/video.svg
new file mode 100644 (file)
index 0000000..1f7f36e
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   id="svg2"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="video.svg"
+   inkscape:export-filename="/home/mkiol/dev/Qt/ubi/qml/ubi/images/video-small.png"
+   inkscape:export-xdpi="120"
+   inkscape:export-ydpi="120"><metadata
+   id="metadata19"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs17" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="640"
+   inkscape:window-height="480"
+   id="namedview15"
+   showgrid="false"
+   inkscape:zoom="7.8666667"
+   inkscape:cx="15"
+   inkscape:cy="15"
+   inkscape:window-x="65"
+   inkscape:window-y="24"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="svg2" />
+<g
+   id="DO_NOT_EDIT_-_BOUNDING_BOX">
+       <rect
+   id="BOUNDING_BOX"
+   fill="none"
+   width="30"
+   height="30" />
+</g>
+<g
+   id="PLACE_YOUR_GRAPHIC_HERE">
+       <path
+   opacity="0.3"
+   d="M18.994,3.512C18.974,3.51,18.957,3.5,18.938,3.5h-7.875c-0.02,0-0.037,0.01-0.057,0.012   C3.613,3.63,1,6.394,1,14s2.613,10.37,10.006,10.488c0.02,0.002,0.037,0.012,0.057,0.012h7.875c0.02,0,0.036-0.01,0.057-0.012   C26.387,24.37,29,21.606,29,14S26.387,3.63,18.994,3.512z M20.992,14.334l-3.609,2.084c-0.417,0.241-1.1,0.635-1.516,0.875   l-3.609,2.084c-0.418,0.24-0.758,0.044-0.758-0.438V8.854c0-0.481,0.34-0.678,0.758-0.438l3.609,2.084   c0.416,0.241,1.099,0.634,1.516,0.875l3.609,2.084C21.409,13.699,21.409,14.094,20.992,14.334z"
+   id="path7" />
+       <path
+   opacity="0.15"
+   d="M11.063,26.5c-0.055,0-0.12-0.007-0.183-0.018C3.074,26.354,0,23.132,0,15   C0,6.889,3.059,3.662,10.904,3.513C10.959,3.505,11.015,3.5,11.063,3.5h7.875c0.055,0,0.118,0.006,0.18,0.017   C26.927,3.646,30,6.869,30,15c0,8.111-3.059,11.339-10.904,11.486c-0.055,0.009-0.11,0.014-0.158,0.014H11.063z"
+   id="path9" />
+       <path
+   opacity="0.15"
+   d="M18.994,4.512C18.974,4.51,18.957,4.5,18.938,4.5h-7.875c-0.02,0-0.037,0.01-0.057,0.012   C3.613,4.63,1,7.394,1,15s2.613,10.37,10.006,10.488c0.02,0.002,0.037,0.012,0.057,0.012h7.875c0.02,0,0.036-0.01,0.057-0.012   C26.387,25.37,29,22.606,29,15S26.387,4.63,18.994,4.512z M20.992,15.334l-3.609,2.084c-0.417,0.241-1.1,0.635-1.516,0.875   l-3.609,2.084c-0.418,0.24-0.758,0.044-0.758-0.438V9.854c0-0.481,0.34-0.678,0.758-0.438l3.609,2.084   c0.416,0.241,1.099,0.634,1.516,0.875l3.609,2.084C21.409,14.699,21.409,15.094,20.992,15.334z"
+   id="path11" />
+       <path
+   fill="#FFFFFF"
+   d="M18.994,4.512C18.974,4.51,18.957,4.5,18.938,4.5h-7.875c-0.02,0-0.037,0.01-0.057,0.012   C3.613,4.63,1,7.394,1,15s2.613,10.37,10.006,10.488c0.02,0.002,0.037,0.012,0.057,0.012h7.875c0.02,0,0.036-0.01,0.057-0.012   C26.387,25.37,29,22.606,29,15S26.387,4.63,18.994,4.512z M20.992,15.334l-3.609,2.084c-0.417,0.241-1.1,0.635-1.516,0.875   l-3.609,2.084c-0.418,0.24-0.758,0.044-0.758-0.438V9.854c0-0.481,0.34-0.678,0.758-0.438l3.609,2.084   c0.416,0.241,1.099,0.634,1.516,0.875l3.609,2.084C21.409,14.699,21.409,15.094,20.992,15.334z"
+   id="path13" />
+</g>
+</svg>
\ No newline at end of file
index b5901b8..6065bb7 100644 (file)
@@ -9,6 +9,7 @@ Page {
     title: qsTr("Account")
 
     property variant secrets
+    property alias taskMenu: taskMenu
 
     Component.onCompleted: init()
 
@@ -52,11 +53,11 @@ Page {
         //console.log("onErr");
         mask.state = "idle";
         if(status==401) {
-            tip.show(qsTr("Authorization failed!"));
+            tip.show(qsTr("Ubuntu One authorization has failed. Try once again or check login settings."));
         } else if(status==0) {
-            tip.show(qsTr("Unable to connect!"));
+            tip.show(qsTr("Unable to connect. Check internet connection."));
         } else {
-            tip.show(qsTr("Error: ")+status);
+            tip.show(qsTr("Unknown error: ")+status);
         }
         pageStack.pop();
     }
@@ -64,8 +65,9 @@ Page {
     Flickable {
         width: root.width
         height: root.height
-        contentHeight: content.height+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
-        y: Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
+
+        contentHeight: content.height+Const.TOP_BAR_HEIGHT+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
+        y: Const.TOP_BAR_HEIGHT
 
         Column {
             id: content
@@ -156,4 +158,16 @@ Page {
             Spacer{}
         }
     }
+
+    TaskMenu {
+        z: 200
+        id: taskMenu
+        menuHeight: menuFixed.height+4*Const.DEFAULT_MARGIN
+
+        menuDynamic: _menuDyn
+        Flow {
+            y: root.height-taskMenu.menuHeight-Const.SYSTEM_BAR_HEIGHT+1*Const.DEFAULT_MARGIN
+            id: _menuDyn
+        }
+    }
 }
index 79fabca..62554a6 100644 (file)
@@ -7,25 +7,38 @@ Item {
 
     property int count: 0
 
-    height: taskView.height
+    /*Rectangle {
+        anchors.fill: parent
+        color: "red"
+    }*/
+
+    height: taskView.height+Const.DEFAULT_MARGIN
 
     function addTask(type,filename)
     {
         //emptyLabel.visible = Utils.emptyQuee();
         //emptyLabel.visible = false;
+        //console.log("1. taskView.childrens.length: "+taskView.children.length);
+        //console.log("1. taskView.height: "+taskView.height);
         var comp = Qt.createComponent("components/Bar.qml");
+        //var obj = comp.createObject(taskView,{"width": root.width});
         var obj = comp.createObject(taskView);
         if (obj==null) {
             console.log("Error creating object");
         } else {
             root.count++;
-            obj.width = root.width
+            //obj.width = root.width
             obj.label = filename;
+            obj.cancel.connect(function(file) {
+                                   Utils.cancelFile(file);
+                                });
             if(type=="download")
                 obj.isDownload = true;
             if(type=="upload")
                 obj.isUpload = true;
         }
+        //console.log("2. taskView.childrens.length: "+taskView.children.length);
+        //console.log("2. taskView.height: "+taskView.height);
     }
 
     function setProgress(filename, progress)
@@ -33,8 +46,10 @@ Item {
         var l = taskView.children.length;
         for(var i=0;i<l;++i) {
             var item = taskView.children[i];
-            if(item && item.label==filename)
+            if(item && item.label==filename) {
                 item.setProgres(progress);
+                return;
+            }
         }
     }
 
@@ -43,14 +58,17 @@ Item {
         var l = taskView.children.length;
         for(var i=0;i<l;++i) {
             var item = taskView.children[i];
-            if(item && item.label==filename)
+            if(item && item.label==filename) {
                 item.start();
+                return;
+            }
         }
     }
 
     function stop(filename)
     {
-        console.log("stop task");
+        //console.log("stop task");
+        //console.log("3. taskView.childrens.length: "+taskView.children.length);
         var l = taskView.children.length;
         for(var i=0;i<l;++i) {
             var item = taskView.children[i];
@@ -58,8 +76,10 @@ Item {
                 //console.log("stop task 2");
                 item.destroy();
                 root.count--;
+                return;
             }
         }
+        //console.log("4. taskView.childrens.length: "+taskView.children.length);
         //emptyLabel.visible = Utils.emptyQuee();
     }
 
@@ -68,12 +88,18 @@ Item {
         width: parent.width
         spacing: Const.DEFAULT_MARGIN
 
+        //onHeightChanged: console.log("takView.height: "+height)
+
         Text {
             font.pixelSize: Const.DEFAULT_FONT_PIXEL_SIZE
             color: Const.DEFAULT_FOREGROUND_COLOR
-            text: qsTr("No active downloads")
-            visible: taskBar.isEmpty
+            width: parent.width
+            wrapMode: Text.WordWrap
+            text: root.count==0 ?
+                      qsTr("No active downloads or uploads") :
+                      qsTr("Active downloads and uploads")
+            anchors.bottomMargin: 2*Const.DEFAULT_MARGIN
+            visible: root.count==0
         }
-
     }
 }
diff --git a/qml/ubi/FileDialog.qml b/qml/ubi/FileDialog.qml
new file mode 100644 (file)
index 0000000..7dc89a0
--- /dev/null
@@ -0,0 +1,185 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "components"
+import "UIConstants.js" as Const
+import Qt 4.7
+import Qt.labs.folderlistmodel 1.0
+
+DialogBox {
+    id: root
+
+    property string currentFilePath: fileSelector.currentFilePath
+    property bool load: fileSelector.load
+    property alias folder: folderModel.folder
+    property bool folderOnly: true
+
+    signal folderSelected(string folder)
+    signal fileSelected(string folder, string file)
+
+    function fixPath(path) {
+        path = path.toString();
+        var ind = path.lastIndexOf("/");
+        if(ind>=0) {
+            path = path.substr(ind+1);
+        }
+        if(path=="") path = "/";
+
+        return path;
+    }
+
+    MouseArea {
+        anchors.fill: parent
+    }
+
+    Rectangle {
+        id: fileSelector
+
+        anchors.left: root.left; anchors.right: root.right
+        anchors.top: root.top
+
+        height: parent.height
+
+        property string currentFilePath: folderModel.folder
+        property bool load: true
+        property string folder: folderModel.folder
+
+        color: Const.DEFAULT_DIALOG_BACKGROUND_COLOR
+
+        function setFolder(folder) {
+            folderAnimation.folderToChange = folder;
+            folderAnimation.start();
+        }
+
+        Rectangle {
+            id: pathController
+            width: parent.width
+            height: currentFolderButton.height+2*Const.DEFAULT_MARGIN
+            anchors.top: parent.top
+            z: 1
+            color: Const.LIGHT_AUBERGINE_COLOR
+
+            ButtonResizable {
+                id: currentFolderButton
+                anchors.margins: Const.DEFAULT_MARGIN
+                anchors.left: parent.left
+                anchors.verticalCenter: parent.verticalCenter
+                text: fixPath(folderModel.folder)
+                width: pathController.width-folderUpButton.width-cancelButton.width-4*Const.DEFAULT_MARGIN
+                height: folderUpButton.height
+                onClicked: root.folderSelected(folderModel.folder)
+                disabled: !root.folderOnly
+            }
+            Button {
+                id: folderUpButton
+                anchors.margins: Const.DEFAULT_MARGIN
+                anchors.right: cancelButton.left
+                anchors.verticalCenter: parent.verticalCenter
+                label: "up"
+                iconSource: "images/up.png"
+                onButtonClicked: fileSelector.setFolder(folderModel.parentFolder);
+
+            }
+            Button {
+                id: cancelButton
+                anchors.margins: Const.DEFAULT_MARGIN
+                anchors.right: parent.right
+                anchors.verticalCenter: parent.verticalCenter
+                label: "cancel"
+                iconSource: "images/close.png"
+                onButtonClicked: {
+                    root.close();
+                    mask.state = "idle";
+                }
+            }
+
+        }
+
+        Shadow {
+            y: pathController.height
+            z: 1
+        }
+
+        Rectangle {
+            id: folderModelContainer
+            width: parent.width
+            anchors.top: pathController.bottom;
+            anchors.bottom: parent.bottom
+            color: Const.TRANSPARENT
+
+            FolderListModel {
+                id: folderModel
+                //folder: "/"
+                nameFilters: root.folderOnly ? [""] : ["*"]
+            }
+
+            Component {
+                id: folderModelDelegate
+
+                FileSmall {
+                    id: file
+                    width: root.width
+                    visible: root.folderOnly? folderModel.isFolder(index) : true
+                    text: fileName
+                    isDirectory: folderModel.isFolder(index)
+                    onClicked: {
+                        if(isDirectory)
+                            fileSelector.setFolder(filePath);
+                        else
+                            root.fileSelected(folderModel.folder,text)
+                    }
+
+                    Component.onCompleted: {
+                        var ind = text.lastIndexOf(".");
+                        var ext = "";
+                        if(ind>=0) ext = text.substr(ind+1);
+                        if(ext=="jpg" || ext=="JPG" || ext=="Jpg" ||
+                           ext=="jpeg" || ext=="JPEG" || ext=="Jpeg" ||
+                           ext=="gif" || ext=="GIF" || ext=="Gif" ||
+                           ext=="svg" || ext=="SVG" || ext=="Svg" ||
+                           ext=="png" || ext=="PNG" || ext=="Png") {
+                            isPhoto = true;
+                        }
+                        if(ext=="mp3" || ext=="MP3" || ext=="Mp3" ||
+                           ext=="wma" || ext=="WMA" || ext=="Wma" ||
+                           ext=="wav" || ext=="WAV" || ext=="Wav" ||
+                           ext=="ogg" || ext=="OGG" || ext=="Ogg" ||
+                           ext=="acc" || ext=="ACC" || ext=="Acc" ||
+                           ext=="flac" || ext=="FLAC" || ext=="Flac") {
+                            isMusic = true;
+                        }
+                        if(ext=="avi" || ext=="AVI" || ext=="Avi" ||
+                           ext=="mp4" || ext=="MP4" || ext=="Mp4" ||
+                           ext=="mpg" || ext=="MPG" || ext=="Mpg" ||
+                           ext=="mkv" || ext=="MKV" || ext=="Mkv" ||
+                           ext=="flv" || ext=="FLV" || ext=="Flv" ||
+                           ext=="3gp" || ext=="3GP") {
+                            isVideo = true;
+                        }
+                    }
+                }
+            }
+
+            ListView {
+                id: folderModelView
+
+                anchors {
+                    fill: parent;
+                }
+
+                model: folderModel
+                delegate: folderModelDelegate
+
+                SequentialAnimation {
+                    id: folderAnimation
+
+                    property string folderToChange
+
+                    PropertyAnimation { target: folderModelView; property: "opacity"; to: 0; duration: 100 }
+                    PropertyAction { target: folderModel; property: "folder"; value: folderAnimation.folderToChange }
+                    PropertyAnimation { target: folderModelView; property: "opacity"; to: 1.0; duration: 100 }
+                }
+            }
+
+        }
+    }
+}
+
index 72f1f42..ebbf02e 100644 (file)
@@ -16,44 +16,11 @@ Page {
     property string path
     property string name
 
-    menu: [
-        [qsTr("Upload file"),false],
-        [qsTr("Rename"),false],
-        [qsTr("Delete"),false],
-        [qsTr("New folder"),false],
-        [qsTr("Refresh"),false]
-    ]
-
-    function menuFun(id) {
-        if(id==qsTr("Upload file")) {
-            mask.state = "dialog";
-            fileSelector.open();
-        }
-        if(id==qsTr("Refresh")) {
-            init(root.properties);
-        }
-        if(id==qsTr("Rename")) {
-            if(root.path=="/") {
-                tip.show(qsTr("Root folder can't be renamed!"));
-            } else {
-                dialogRename.open();
-            }
-        }
-        if(id==qsTr("Delete")) {
-            if(root.path=="/") {
-                tip.show(qsTr("Root folder can't be deleted!"));
-            } else {
-                dialogDelete.open();
-            }
-        }
-        if(id==qsTr("New folder")) {
-            dialogNew.open();
-        }
-    }
+    property alias taskMenu: taskMenu
 
     function init(prop)
     {
-        if(mask.state!="defocused") {
+        if(mask.state!="defocused" && mask.state!="dialog") {
             mask.state = "busy";
         }
         if(root.properties && !prop) {
@@ -90,13 +57,14 @@ Page {
         //console.log("onErr");
         mask.state = "idle";
         if(status==401) {
-            tip.show(qsTr("Authorization failed!"));
+            tip.show(qsTr("Ubuntu One authorization has failed. Try once again or check login settings."));
         } else if(status==0) {
-            tip.show(qsTr("Unable to connect!"));
+            tip.show(qsTr("Unable to connect. Check internet connection."));
         } else {
-            tip.show(qsTr("Error: ")+status);
+            tip.show(qsTr("Unknown error: ")+status);
         }
         pageStack.pop();
+        initPage.hide()
     }
 
 
@@ -113,9 +81,9 @@ Page {
         //console.log("onErrRenamed");
         mask.state = "idle";
         if(status==401) {
-            tip.show(qsTr("Authorization failed!"));
+            tip.show(qsTr("Ubuntu One authorization has failed. Try once again or check login settings."));
         } else {
-            tip.show(qsTr("Error: ")+status);
+            tip.show(qsTr("Unknown error: ")+status);
         }
     }
 
@@ -156,7 +124,7 @@ Page {
             }
             object.isDirectory = nodes[i].kind == "directory";
             object.properties = nodes[i];
-            object.width = root.width;
+            //object.width = root.width;
             //object.height = 50;
             if(object.isDirectory) {
                 /*if(!nodes[i].has_children) {
@@ -175,26 +143,54 @@ Page {
                             pageStack.currentPage.init(prop);
                         });
 
+                // extension
                 ind = object.name.lastIndexOf(".");
                 var ext = "";
                 if(ind>=0) ext = object.name.substr(ind+1);
                 if(ext=="jpg" || ext=="JPG" || ext=="Jpg" ||
                    ext=="jpeg" || ext=="JPEG" || ext=="Jpeg" ||
                    ext=="gif" || ext=="GIF" || ext=="Gif" ||
+                   ext=="svg" || ext=="SVG" || ext=="Svg" ||
                    ext=="png" || ext=="PNG" || ext=="Png") {
                     object.isPhoto = true;
                 }
+                if(ext=="mp3" || ext=="MP3" || ext=="Mp3" ||
+                   ext=="wma" || ext=="WMA" || ext=="Wma" ||
+                   ext=="wav" || ext=="WAV" || ext=="Wav" ||
+                   ext=="ogg" || ext=="OGG" || ext=="Ogg" ||
+                   ext=="acc" || ext=="ACC" || ext=="Acc" ||
+                   ext=="m4a" || ext=="M4A" || ext=="M4a" ||
+                   ext=="flac" || ext=="FLAC" || ext=="Flac") {
+                    object.isMusic = true;
+                }
+                if(ext=="avi" || ext=="AVI" || ext=="Avi" ||
+                   ext=="mp4" || ext=="MP4" || ext=="Mp4" ||
+                   ext=="mpg" || ext=="MPG" || ext=="Mpg" ||
+                   ext=="mkv" || ext=="MKV" || ext=="Mkv" ||
+                   ext=="flv" || ext=="FLV" || ext=="Flv" ||
+                   ext=="m4v" || ext=="M4V" || ext=="M4v" ||
+                   ext=="3gp" || ext=="3GP") {
+                    object.isVideo = true;
+                }
             }
         }
-        if(mask.state!="defocused") {
+        if(mask.state!="defocused" && mask.state!="dialog") {
             mask.state = "idle";
         }
 
-        if(files.children.length==0) {
+        /*if(files.children.length==0) {
+            empty.visible = true;
+        } else {
+            empty.visible = false;
+        }*/
+
+        if(l==0) {
             empty.visible = true;
         } else {
             empty.visible = false;
         }
+
+        initPage.hide()
     }
 
     Connections {
@@ -206,15 +202,12 @@ Page {
         id: flickable
         width: parent.width
         height: parent.height
-        contentHeight: files.height+Const.SYSTEM_BAR_HEIGHT+2*Const.TEXT_MARGIN
-        //y: Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
-        y: Const.SYSTEM_BAR_HEIGHT+Const.DEFAULT_MARGIN
+        contentHeight: files.height+Const.TOP_BAR_HEIGHT+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
+        y: Const.TOP_BAR_HEIGHT
         contentWidth: parent.width
 
         Column {
             id: files
-            //spacing: Const.DEFAULT_MARGIN
-            //x: Const.TEXT_MARGIN
             add: Transition {
                 NumberAnimation { properties: "opacity"; easing.type: Easing.InOutQuad }
             }
@@ -231,7 +224,7 @@ Page {
         visible: false
     }
 
-    FileSelector {
+    /*FileSelector {
         id: fileSelector
         z: 200
         folder: Utils.lastFolder()=="" ? Const.DEFAULT_FOLDER : Utils.lastFolder()
@@ -246,6 +239,21 @@ Page {
             U1.uploadFile(secrets,root,path,file,folder,Utils);
         }
 
+    }*/
+
+    FileDialog {
+        id: fileSelector
+        z: 200
+        hidden: true
+        folder: Utils.lastFolder()=="" ? Const.DEFAULT_FOLDER : Utils.lastFolder()
+        folderOnly: false
+        onFileSelected: {
+            mask.state = "idle";
+            fileSelector.close();
+            Utils.setLastFolder(folder);
+            var path = content_path+"/"+file;
+            U1.uploadFile(secrets,root,path,file,folder,Utils);
+        }
     }
 
     function getParentPath(path) {
@@ -298,13 +306,11 @@ Page {
         text: qsTr("Delete folder?")
         onOpened: mask.state = "dialog"
         onClosed: {
-            mask.state = "idle";
             if(ok) {
                 mask.state = "busy";
                 U1.deleteFile(secrets,properties.resource_path,root,Utils);
             }
         }
-        onCanceled: mask.state = "idle"
     }
 
     DialogInput {
@@ -316,7 +322,6 @@ Page {
         onOpened: {
             reset();
             Utils.setOrientation("auto");
-            mask.state = "dialog";
         }
         onClosed: {
             mask.state = "idle";
@@ -334,7 +339,6 @@ Page {
         }
         onCanceled: {
             Utils.setOrientation(root.orientation);
-            mask.state = "idle";
         }
     }
 
@@ -347,10 +351,8 @@ Page {
         onOpened: {
             reset();
             Utils.setOrientation("auto");
-            mask.state = "dialog";
         }
         onClosed: {
-            mask.state = "idle";
             Utils.setOrientation(root.orientation);
             var r = trim(resp);
             if(r!="") {
@@ -369,7 +371,106 @@ Page {
         }
         onCanceled: {
             Utils.setOrientation(root.orientation);
-            mask.state = "idle";
+        }
+    }
+
+    /*[qsTr("Upload file"),false],
+    [qsTr("Rename"),false],
+    [qsTr("Delete"),false],
+    [qsTr("New folder"),false],
+    [qsTr("Refresh"),false]
+    function menuFun(id) {
+        if(id==qsTr("Upload file")) {
+            mask.state = "dialog";
+            fileSelector.open();
+        }
+        if(id==qsTr("Refresh")) {
+            init(root.properties);
+        }
+        if(id==qsTr("Rename")) {
+            if(root.path=="/") {
+                tip.show(qsTr("Root folder can't be renamed!"));
+            } else {
+                dialogRename.open();
+            }
+        }
+        if(id==qsTr("Delete")) {
+            if(root.path=="/") {
+                tip.show(qsTr("Root folder can't be deleted!"));
+            } else {
+                dialogDelete.open();
+            }
+        }
+        if(id==qsTr("New folder")) {
+            dialogNew.open();
+        }
+    }
+*/
+
+    TaskMenu {
+        z: 200
+        id: taskMenu
+
+        contexMenu: true
+        menuDynamic: _menuDyn
+        menuHeight: menuDynamic.height+menuFixed.height+7*Const.DEFAULT_MARGIN
+
+        Flow {
+            id: _menuDyn
+
+            y: root.height-taskMenu.menuHeight-Const.SYSTEM_BAR_HEIGHT+2*Const.DEFAULT_MARGIN
+            x: Const.DEFAULT_MARGIN
+
+            width: parent.width-2*Const.DEFAULT_MARGIN
+            spacing: Const.DEFAULT_MARGIN
+
+            Button {
+                label: qsTr("Upload file");
+                onButtonClicked: {
+                    taskMenu.close();
+                    fileSelector.open();
+                }
+            }
+
+            Button {
+                label: qsTr("Rename");
+                onButtonClicked: {
+                    taskMenu.close();
+                    if(root.path=="/") {
+                        tip.show(qsTr("Root folder cannot be renamed."));
+                    } else {
+                        dialogRename.open();
+                    }
+                }
+            }
+
+            Button {
+                label: qsTr("Delete");
+                onButtonClicked: {
+                    taskMenu.close();
+                    if(root.path=="/") {
+                        tip.show(qsTr("Root folder cannot be deleted."));
+                    } else {
+                        dialogDelete.open();
+                    }
+                }
+            }
+
+            Button {
+                label: qsTr("New folder");
+                onButtonClicked: {
+                    taskMenu.close();
+                    dialogNew.open();
+                }
+            }
+
+            Button {
+                label: qsTr("Refresh");
+                onButtonClicked: {
+                    taskMenu.close();
+                    init(root.properties);
+                }
+            }
         }
     }
 }
index 755df06..9803d27 100644 (file)
@@ -3,22 +3,17 @@ import "UIConstants.js" as Const
 import "u1.js" as U1
 import "components"
 
-Rectangle {
+Showable {
     id: root
 
-    color: Const.DEFAULT_BACKGROUND_COLOR
-    state: "opened"
-
-    function hide() {
-        root.state = "closed";
-    }
+    hidden: false
 
     Component.onCompleted: init()
 
     function init() {
         if(Utils.isAuthorized()) {
             //title = "Hi, "+Utils.name();
-            login();
+            //login();
         } else {
             pageStack.initialPage = "LoginPage.qml";
             hide();
@@ -26,13 +21,15 @@ Rectangle {
     }
 
     function login() {
-        var secrets = {
+        /*var secrets = {
             token: Utils.token(),
             secret: Utils.tokenSecret(),
             consumer_key : Utils.customerKey(),
             consumer_secret: Utils.customerSecret()
         };
         U1.getRootNode(secrets,root);
+        */
+        pageStack.currentPage.init();
     }
 
     function onRespRootNode(resp) {
@@ -42,84 +39,72 @@ Rectangle {
     function onErr(status) {
         hide()
         if(status==401) {
-            tip.show(qsTr("Authorization failed!"));
+            tip.show(qsTr("Ubuntu One authorization has failed. Try once again or check login settings."));
         } else if(status==0) {
-            tip.show(qsTr("Unable to connect!"));
+            tip.show(qsTr("Unable to connect. Check internet connection."));
         } else {
-            tip.show(qsTr("Error: ")+status);
+            tip.show(qsTr("Unknown error: ")+status);
         }
     }
 
-    Image {
-        id: pic
-        source: "images/ubi100.png"
-        width: 104; height: 70
-        anchors.horizontalCenter: parent.horizontalCenter
-        y: (root.height-height)/3
-    }
-
-    Text {
-        id: loading
-        anchors.top: pic.bottom
-        anchors.margins: Const.TEXT_MARGIN
-        anchors.horizontalCenter: parent.horizontalCenter
-        font.pixelSize: 25
-        color: "white"
-        text: "Loading..."
+    MouseArea {
+        anchors.fill: parent
     }
 
-    Image {
-        id: icon
-        width: 64
-        height: 64
-        anchors.top: loading.bottom
-        anchors.margins: 2*Const.TEXT_MARGIN
-        source: "images/progress.png"
-        sourceSize.width: width
-        sourceSize.height: height
-        anchors.horizontalCenter: parent.horizontalCenter
-        Component.onCompleted: animationIcon.start()
-
-        NumberAnimation {
-            id: animationIcon
-            target: icon
-            properties: "rotation"
-            from: 0
-            to: 360
-            duration: 500
-            loops: Animation.Infinite
+    Rectangle {
+        id: box
+
+        width: root.width; height: root.height
+        color: Const.DEFAULT_BACKGROUND_COLOR
+
+        Column {
+            spacing: Const.TEXT_MARGIN
+            anchors.horizontalCenter: parent.horizontalCenter
+            anchors.verticalCenter: parent.verticalCenter
+
+            Image {
+                id: pic
+                source: "images/ubi100.png"
+                width: 104; height: 70
+                anchors.horizontalCenter: parent.horizontalCenter
+                //y: (box.height-height)/3
+            }
+
+            Text {
+                id: loading
+                //anchors.top: pic.bottom
+                //anchors.margins: Const.TEXT_MARGIN
+                anchors.horizontalCenter: parent.horizontalCenter
+                font.pixelSize: 25
+                color: "white"
+                text: qsTr("Connecting...")
+            }
+
+            BusyIndicator {
+                //anchors.top: loading.bottom
+                //anchors.margins: 2*Const.TEXT_MARGIN
+                anchors.horizontalCenter: parent.horizontalCenter
+                running: true
+            }
         }
-    }
 
-    Text {
-        anchors.bottom: root.bottom
-        anchors.bottomMargin: Const.TEXT_MARGIN
-        anchors.horizontalCenter: parent.horizontalCenter
-        font.pixelSize: 18
-        color: "white"
-        text: "ver. 0.9.2-2"
-    }
-
-    MouseArea {
-        anchors.fill: parent
-    }
+        Text {
+            anchors.bottom: ver.top
+            anchors.horizontalCenter: parent.horizontalCenter
+            font.pixelSize: 20
+            color: "white"
+            text: "v0.9.3-1 © 2012 Michal Kosciesza"
+        }
 
-    states: [
-        State {
-            name: "opened"
-            //PropertyChanges { target: root; opacity: 1 }
-            PropertyChanges { target: root; y: 0}
-        },
-        State {
-            name: "closed"
-            //PropertyChanges { target: root; opacity: 0 }
-            PropertyChanges { target: root; y: root.height }
+        Text {
+            id: ver
+            anchors.bottom: box.bottom
+            anchors.bottomMargin: 2*Const.TEXT_MARGIN
+            anchors.horizontalCenter: parent.horizontalCenter
+            font.pixelSize: 20
+            color: "white"
+            text: "http://ubi.garage.maemo.org"
         }
-    ]
 
-    transitions: Transition {
-        //NumberAnimation { properties: "opacity"; easing.type: Easing.InOutQuad }
-        NumberAnimation { properties: "y"; easing.type: Easing.InOutQuad }
     }
-
 }
index deee992..0b8b3d6 100644 (file)
@@ -8,6 +8,8 @@ Page {
     title: qsTr("Login")
     orientation: "auto"
 
+    //property alias taskMenu: taskMenu
+
     function getToken() {
         mask.state = "busy";
         U1.getToken(user.text,pass.text,root)
@@ -22,26 +24,29 @@ Page {
         Utils.setName(account.username);
 
         tip.show(qsTr("Logged in!"));
-        pageStack.initialPage = "StartPage.qml";
+        //pageStack.initialPage = "StartPage.qml";
+        pageStack.initialPage = "FilesPage.qml";
+        pageStack.currentPage.init();
     }
 
     function onErr(status) {
         mask.state = "idle";
         //console.log("onErr");
         if(status==401) {
-            tip.show(qsTr("Authorization failed!"));
+            tip.show(qsTr("Ubuntu One authorization has failed. Try once again or check login settings."));
         } else if(status==0) {
-            tip.show(qsTr("Unable to connect!"));
+            tip.show(qsTr("Unable to connect. Check internet connection."));
         } else {
-            tip.show(qsTr("Error: ")+status);
+            tip.show(qsTr("Unknown error: ")+status);
         }
     }
 
     Flickable {
         width: root.width
         height: root.height
-        contentHeight: content.height+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
-        y: Const.SYSTEM_BAR_HEIGHT+2*Const.TEXT_MARGIN
+
+        contentHeight: content.height+Const.TOP_BAR_HEIGHT+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
+        y: Const.TOP_BAR_HEIGHT
 
         Column {
             id: content
@@ -77,4 +82,16 @@ Page {
             }
         }
     }
+
+    /*TaskMenu {
+        z: 200
+        id: taskMenu
+        menuHeight: menuFixed.height+4*Const.DEFAULT_MARGIN
+
+        menuDynamic: _menuDyn
+        Flow {
+            y: root.height-taskMenu.menuHeight-Const.SYSTEM_BAR_HEIGHT+1*Const.DEFAULT_MARGIN
+            id: _menuDyn
+        }
+    }*/
 }
diff --git a/qml/ubi/Page.qml b/qml/ubi/Page.qml
new file mode 100644 (file)
index 0000000..b0d3a81
--- /dev/null
@@ -0,0 +1,76 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "UIConstants.js" as Const
+import "components"
+
+Item {
+    id: root
+    property string title: ""
+    property string orientation: Const.DEFAULT_ORIENTATION
+    property variant menu
+    property alias mask: _mask
+
+    anchors.fill: parent
+
+    Rectangle {
+        anchors.right: parent.right
+        anchors.left: parent.left
+        height: parent.height
+        y: Const.SYSTEM_BAR_HEIGHT
+        color: Const.DEFAULT_BACKGROUND_COLOR
+    }
+
+    Mask {
+        id: _mask
+        z: 100
+        anchors.fill: parent
+        onClicked: taskBar.close()
+    }
+
+    Component.onCompleted: {
+        Utils.setOrientation(orientation);
+        //reloadMenu();
+    }
+
+    /*function reloadMenu() {
+        var buttons = root.menu;
+
+        var menu = taskBar.getMenu();
+        var comp = Qt.createComponent("components/Button.qml");
+
+        var i,l;
+        if(menu.children.length>0) {
+            l = menu.children.length;
+            for(i=0;i<l;++i) {
+                menu.children[i].destroy();
+            }
+        }
+        if(buttons && buttons.length>0) {
+            l = buttons.length;
+            for(i=0;i<l;++i) {
+                var obj = comp.createObject(menu);
+                if (obj==null) {
+                    console.log("Error creating menu Button!");
+                } else {
+                    var b = buttons[i];
+                    obj.label = b[0];
+                    obj.disabled = b[1];
+                    obj.buttonClicked.connect(function(name){
+                        taskBar.close();
+                        menuFun(name);
+                    });
+                }
+            }
+        }
+    }*/
+
+    /*SystemBar {
+        z: 100
+        id: systemBar
+        onClicked: {
+            var mask = pageStack.currentPage.mask;
+            if(mask.state=="idle") {
+                taskBar.open();
+            }
+        }
+    }*/
+}
index 2f280f8..96fefe4 100644 (file)
@@ -35,8 +35,9 @@ Item {
         }
         pageView.decrementCurrentIndex();
         pageModel.children[i].source = "";
-        taskBar.close();
-        root.currentPage.reloadMenu();
+        currentPage.taskMenu.close();
+        //taskBar.close();
+        //root.currentPage.reloadMenu();
         //mask.state = "idle";
     }
 
index 4aeef62..3b00ae7 100644 (file)
@@ -13,6 +13,8 @@ Page {
     property variant properties
     property bool isPublic
 
+    property alias taskMenu: taskMenu
+
     menu: [
         [qsTr("Download"),false],
         [qsTr("Publish"),false],
@@ -50,9 +52,9 @@ Page {
         onOperationError: {
             mask.state = "idle";
             if(status==401) {
-                tip.show(qsTr("Authorization failed!"));
+                tip.show(qsTr("Ubuntu One authorization has failed. Try once again or check login settings."));
             } else {
-                tip.show(qsTr("Error: ")+status);
+                tip.show(qsTr("Unknown error: ")+status);
             }
         }
     }
@@ -100,11 +102,11 @@ Page {
     {
         mask.state = "idle";
         if(status==401) {
-            tip.show(qsTr("Authorization failed!"));
+            tip.show(qsTr("Ubuntu One authorization has failed. Try once again or check login settings."));
         } else if(status==0) {
-            tip.show(qsTr("Unable to connect!"));
+            tip.show(qsTr("Unable to connect. Check internet connection."));
         } else {
-            tip.show(qsTr("Error: ")+status);
+            tip.show(qsTr("Unknown error: ")+status);
         }
     }
 
@@ -150,8 +152,8 @@ Page {
     Flickable {
         width: root.width
         height: root.height
-        contentHeight: content.height+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
-        y: Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
+        contentHeight: content.height+Const.TOP_BAR_HEIGHT+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
+        y: Const.TOP_BAR_HEIGHT
 
         Column {
             id: content
@@ -256,7 +258,7 @@ Page {
         }
     }
 
-    FileSelector {
+    /*FileSelector {
         id: fileSelector
         z: 200
         y: 200
@@ -266,8 +268,22 @@ Page {
             U1.getFileContent(secrets,root,properties.content_path,folder,properties.size,Utils);
             Utils.setLastFolder(folder);
         }
+    }*/
+
+    FileDialog {
+        id: fileSelector
+        z: 200
+        hidden: true
+        folder: Utils.lastFolder()=="" ? Const.DEFAULT_FOLDER : Utils.lastFolder()
+        folderOnly: true
+        onFolderSelected: {
+            fileSelector.close();
+            U1.getFileContent(secrets,root,properties.content_path,folder,properties.size,Utils);
+            Utils.setLastFolder(folder);
+        }
     }
 
+
     DialogYesNo {
         id: dialogDelete
         z: 200
@@ -369,4 +385,86 @@ Page {
         }
     }
 
+    /*
+    menu: [
+        [qsTr("Download"),false],
+        [qsTr("Publish"),false],
+        [qsTr("Rename"),false],
+        [qsTr("Delete"),false]
+    ]
+
+    function menuFun(id) {
+        if(id==qsTr("Download")) {
+            fileSelector.state = "visible";
+        }
+        if(id==qsTr("Publish")) {
+            if(isPublic) {
+                dialogStopPublish.open();
+            } else {
+                dialogStartPublish.open();
+            }
+        }
+        if(id==qsTr("Rename")) {
+            dialogRename.open();
+        }
+        if(id==qsTr("Delete")) {
+            dialogDelete.open();
+        }
+    }*/
+
+    TaskMenu {
+        z: 200
+        id: taskMenu
+
+        contexMenu: true
+        menuDynamic: _menuDyn
+        menuHeight: menuDynamic.height+menuFixed.height+7*Const.DEFAULT_MARGIN
+
+        Flow {
+            id: _menuDyn
+
+            y: root.height-taskMenu.menuHeight-Const.SYSTEM_BAR_HEIGHT+2*Const.DEFAULT_MARGIN
+            x: Const.DEFAULT_MARGIN
+
+            width: parent.width-2*Const.DEFAULT_MARGIN
+            spacing: Const.DEFAULT_MARGIN
+
+            Button {
+                label: qsTr("Download");
+                onButtonClicked: {
+                    taskMenu.close();
+                    fileSelector.open();
+                }
+            }
+
+            Button {
+                label: qsTr("Publish");
+                onButtonClicked: {
+                    taskMenu.close();
+                    if(isPublic) {
+                        dialogStopPublish.open();
+                    } else {
+                        dialogStartPublish.open();
+                    }
+                }
+            }
+
+            Button {
+                label: qsTr("Rename");
+                onButtonClicked: {
+                    taskMenu.close();
+                    dialogRename.open();
+                }
+            }
+
+            Button {
+                label: qsTr("Delete");
+                onButtonClicked: {
+                    taskMenu.close();
+                    dialogDelete.open();
+                }
+            }
+        }
+    }
+
 }
index 148878b..eae6a8e 100644 (file)
@@ -6,6 +6,8 @@ Page {
     id: root
     title: qsTr("Settings")
 
+    property alias taskMenu: taskMenu
+
     Component.onCompleted: {
         var _lang = Utils.locale();
         if(_lang=="pl_PL") {
@@ -19,8 +21,9 @@ Page {
     Flickable {
         width: root.width
         height: root.height
-        contentHeight: content.height+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
-        y: Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
+
+        contentHeight: content.height+Const.TOP_BAR_HEIGHT+Const.SYSTEM_BAR_HEIGHT+Const.TEXT_MARGIN
+        y: Const.TOP_BAR_HEIGHT
 
         Column {
             id: content
@@ -60,13 +63,16 @@ Page {
                 label: qsTr("Log out")
                 onButtonClicked: {
                     Utils.resetAuthorization();
-                    pageStack.pop();
-                    pageStack.currentPage.init();
+                    pageStack.initialPage = "LoginPage.qml";
+                    pageStack.clear();
+                    //pageStack.pop();
+                    //pageStack.currentPage.init();
                 }
             }
         }
 
     }
+
     DialogCombo {
         id: dialogLang
         z: 200
@@ -83,4 +89,16 @@ Page {
             mask.state = "idle";
         }
     }
+
+    TaskMenu {
+        z: 200
+        id: taskMenu
+        menuHeight: menuFixed.height+4*Const.DEFAULT_MARGIN
+
+        menuDynamic: _menuDyn
+        Flow {
+            y: root.height-taskMenu.menuHeight-Const.SYSTEM_BAR_HEIGHT+1*Const.DEFAULT_MARGIN
+            id: _menuDyn
+        }
+    }
 }
index 0d03199..09fab09 100644 (file)
@@ -5,6 +5,7 @@ Item {
     id: root
     anchors.right: parent.right
     anchors.left: parent.left
+    height: Const.SHADOW_OFFSET
 
     Rectangle {
         anchors.right: parent.right
@@ -12,6 +13,6 @@ Item {
 
         height: Const.SHADOW_OFFSET
         color: "black"
-        opacity: 0.4
+        opacity: 0.3
     }
 }
index e64466c..4d1d479 100644 (file)
@@ -91,6 +91,12 @@ Page {
 
     }
 
+    /*FileDialog {
+        z: 200
+        hidden: false
+        folderOnly: false
+    }*/
+
     DialogInfo {
         id: dialog
         z: 200
index 1124e06..23258f1 100644 (file)
@@ -1,30 +1,59 @@
-import QtQuick 1.0
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
 import "components"
 import "UIConstants.js" as Const
 
-/* copyright (C) 2010-2012 Stuart Howarth */
-
 Item {
     id: root
 
-    height: 60
-    anchors { left: parent.left; right: parent.right; top: parent.top }
+    height: Const.SYSTEM_BAR_HEIGHT
+    anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
+    state: "active"
 
     signal clicked()
+    signal clickedOnMask()
 
-    Rectangle {
-        width: parent.width
-        height: Const.SYSTEM_BAR_HEIGHT
-        color: "black"
+    /*Shadow {
+        id: shadow
+        y:0
+        visible: false
+    }*/
+
+    /*Rectangle {
+        id: bor
+        //color: Const.WARM_GREY_COLOR
+        color: Const.TRANSPARENT
+        height: 1; width: root.width
+        anchors.top: shadow.bottom
+    }*/
+
+    /*Rectangle {
+        id: box
+        width: root.width
+        height: root.height
+        anchors.top: shadow.bottom
+        color: Const.TRANSPARENT
+        //color: Const.COOL_GREY_COLOR
+    }*/
+
+    Row {
+        id: box
+        y: 3
+        Repeater {
+            model: root.width
+            Image {
+                id: img
+                source: "images/bg.png"
+            }
+        }
     }
 
     Shadow {
-        y: Const.SYSTEM_BAR_HEIGHT
+        anchors.bottom: box.top
     }
 
     Row {
         y: 12
-        anchors.horizontalCenter: parent.horizontalCenter
+        anchors {horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter}
         spacing: Const.DEFAULT_MARGIN
 
         Text {
@@ -34,19 +63,19 @@ Item {
             text: pageStack.currentPage.title
         }
 
-        Image {
+        /*Image {
             source: mouse.pressed? "images/menu-arrow-grey.png" : "images/menu-arrow.png"
             anchors.verticalCenter: title.verticalCenter
             visible: !taskBar.isEmpty && !progressIcon.visible
             width: 18
             height: 14
-        }
+        }*/
 
         Image {
             id: progressIcon
             source: "images/progress-small.png"
             anchors.verticalCenter: title.verticalCenter
-            visible: taskBar.isActiveDownloads
+            visible: downloadDialog.isActiveDownloads
             width: 40
             height: 40
 
@@ -92,23 +121,49 @@ Item {
         opacity: 0.5
     }*/
 
-    ToolIcon {
+    /*ToolIcon {
         id: minimizeButton
 
         width: 80
         anchors { verticalCenter: parent.verticalCenter; left: parent.left }
         iconSource: "images/minimize.png"
         onClicked: Utils.minimizeWindow()
+    }*/
+
+    Button {
+        id: minimizeButton
+        iconSource: pageStack.index > 0 ?  "images/back.png" : "images/close.png"
+        anchors { verticalCenter: parent.verticalCenter; left: parent.left; margins: Const.DEFAULT_MARGIN }
+        onButtonClicked: pageStack.index > 0 ? pageStack.pop() : Qt.quit()
     }
 
-    ToolIcon {
-        id: backButton
+    /*Button {
+        id: switchButton
+        label: "s"
+        anchors { verticalCenter: parent.verticalCenter; left: minimizeButton.right; margins: Const.DEFAULT_MARGIN }
+        onButtonClicked: {
+            tip.show("ala ma kota, a kot ma Ale bardzo czesto i bardzo dobrze, oooo, tralalal!");
+        }
+    }*/
 
-        width: 80
-        anchors { verticalCenter: parent.verticalCenter; right: parent.right }
-        iconSource: pageStack.index > 0 ?  "images/back.png" : "images/close.png"
-        onClicked: pageStack.index > 0 ? pageStack.pop() : Qt.quit()
-        onPressAndHold: if (pageStack.index > 0) pageStack.clear()
+    Button {
+        id: downloadButton
+        iconSource: "images/upload.png"
+        anchors { verticalCenter: parent.verticalCenter; right: menuButton.left; margins: Const.DEFAULT_MARGIN }
+        onButtonClicked: downloadDialog.open()
+        opacity: downloadDialog.isActiveDownloads ? 1 : 0
+
+        transitions: Transition {
+            NumberAnimation { properties: "opacity"; duration: 600; easing.type: Easing.InOutQuad }
+        }
+    }
+
+    Button {
+        id: menuButton
+        iconSource: "images/options.png"
+        anchors { verticalCenter: parent.verticalCenter; right: parent.right; margins: Const.DEFAULT_MARGIN }
+        onButtonClicked: pageStack.currentPage.taskMenu.open()
+        visible: pageStack.currentPage.taskMenu!=undefined
     }
 
     MouseArea {
@@ -116,6 +171,32 @@ Item {
         z: -1
     }
 
+    Rectangle {
+        id: mask
+        anchors.fill: parent
+        color: "black"
+
+        MouseArea {
+            anchors.fill: parent
+            onClicked: root.clickedOnMask()
+        }
+    }
+
+    states: [
+        State {
+            name: "active"
+            PropertyChanges { target: mask; opacity: 0 }
+        },
+        State {
+            name: "inactive"
+            PropertyChanges { target: mask; opacity: 0.6 }
+        }
+    ]
+
+    transitions: Transition {
+        NumberAnimation { properties: "opacity"; easing.type: Easing.InOutQuad }
+    }
+
 }
 
 
diff --git a/qml/ubi/TaskMenu.qml b/qml/ubi/TaskMenu.qml
new file mode 100644 (file)
index 0000000..1808156
--- /dev/null
@@ -0,0 +1,71 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "components"
+import "UIConstants.js" as Const
+
+DialogBlank {
+    id: root
+
+    property alias menuHeight: root.boxHeight
+
+    property alias menuFixed: _menuFixed
+    property Flow menuDynamic
+
+    property bool contexMenu: false
+
+    onOpened: {
+        mask.state = "dialog";
+    }
+    onCanceled: {
+        mask.state = "idle";
+    }
+
+    Line {
+        id: line
+        anchors.top: root.menuDynamic.bottom
+        anchors.topMargin: Const.DEFAULT_MARGIN
+        width: root.width
+        visible: root.contexMenu
+    }
+
+    Flow {
+        id: _menuFixed
+
+        //y: root.height-root.menuHeight+1*Const.DEFAULT_MARGIN
+
+        anchors.top: root.contexMenu ? line.bottom : root.menuDynamic.bottom
+        anchors.topMargin: Const.DEFAULT_MARGIN
+
+        x: Const.DEFAULT_MARGIN
+
+        width: root.width-2*Const.DEFAULT_MARGIN
+        spacing: Const.DEFAULT_MARGIN
+
+        Button {
+            label: qsTr("Account");
+            onButtonClicked: {
+                taskMenu.close();
+                if(pageStack.currentPage.title!=qsTr("Account")) {
+                    pageStack.push("AccountPage.qml");
+                }
+            }
+        }
+
+        Button {
+            label: qsTr("Settings");
+            onButtonClicked: {
+                taskMenu.close();
+                if(pageStack.currentPage.title!=qsTr("Settings")) {
+                    pageStack.push("SettingsPage.qml");
+                }
+            }
+        }
+
+        Button {
+            label: qsTr("About Ubi");
+            onButtonClicked: {
+                taskMenu.close();
+                aboutDialog.open();
+            }
+        }
+    }
+}
diff --git a/qml/ubi/TopBar.qml b/qml/ubi/TopBar.qml
new file mode 100644 (file)
index 0000000..24e4b7e
--- /dev/null
@@ -0,0 +1,100 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "components"
+import "UIConstants.js" as Const
+
+Item {
+    id: root
+
+    height: Const.TOP_BAR_HEIGHT
+    anchors { left: parent.left; right: parent.right; top: top.bottom }
+
+    function hide() {
+        visible = false;
+    }
+
+    function show() {
+        visible = true;
+    }
+
+    Rectangle {
+        id: box
+        width: 50
+        height: width
+        radius: 5
+        color: mouseArea.pressed ? "white" : "black"
+        opacity: 0.2
+        x: -width/2
+        y: -width/2
+
+        MouseArea {
+            id: mouseArea
+            anchors.fill: parent
+            onClicked: Utils.minimizeWindow()
+        }
+    }
+
+    Rectangle {
+        width: box.width/2-16
+        height: 2
+        color: "white"
+        x: 8
+        y: (box.width/4)-1
+    }
+
+    /*Rectangle {
+        width: parent.width
+        height: root.height
+        color: Const.TRANSPARENT
+        //color: "black"
+    }
+
+    Item {
+        id: minimizeButton
+        width: 80;
+        height: 60
+        anchors { verticalCenter: parent.verticalCenter; left: parent.left; margins: 5 }
+
+        Rectangle {
+            id: background
+            anchors { fill: parent; margins: 6 }
+            color: "black"
+            opacity: 0.2
+            radius: 10
+        }
+
+        Rectangle {
+            anchors { fill: parent; margins: 6 }
+            color: "white"
+            opacity: 0.5
+            radius: 10
+            visible: mouseArea.pressed
+        }
+
+        Image {
+            id: icon
+            anchors.centerIn: parent
+            source: "images/minimize.png"
+            sourceSize.width: width
+            sourceSize.height: height
+        }
+
+        MouseArea {
+            id: mouseArea
+            anchors.fill: parent
+            onClicked: Utils.minimizeWindow()
+        }
+    }*/
+
+    /*ToolIcon {
+        id: backButton
+        width: 80
+        anchors { verticalCenter: parent.verticalCenter; right: parent.right; margins: 5 }
+        iconSource: "images/close.png"
+        onClicked: Qt.quit()
+    }*/
+
+}
+
+
+
+
index 1e99bf7..072ea3b 100644 (file)
@@ -36,7 +36,8 @@ var DEFAULT_TEXT_COLOR = DEFAULT_FOREGROUND_COLOR;
 
 var DEFAULT_FOLDER = "file:///home/user/MyDocs";
 
-var SYSTEM_BAR_HEIGHT = 60;
+var SYSTEM_BAR_HEIGHT = 70;
+var TOP_BAR_HEIGHT = 10;
 var TEXT_MARGIN = 25;
 
 // images
index 0b07274..ff0df97 100644 (file)
@@ -7,64 +7,82 @@ Item {
     property string label
     property bool isDownload: false
     property bool isUpload: false
-    height: 32
-
-    Image {
-        id: icon
-        width: root.height
-        height: root.height
-        source: isDownload? "../"+Const.ICON_DOWN : (isUpload? "../"+Const.ICON_UP : "")
-        sourceSize.width: width
-        sourceSize.height: height
-        visible: isDownload || isUpload
-    }
+    height: button.height
+    //width: parent.width
 
-    Rectangle {
-        id: bbar
+    width: mainWindow.width-3*Const.DEFAULT_MARGIN
 
-        color: Const.TRANSPARENT
-        border.width: 2
-        radius: 5
-        border.color: Const.DEFAULT_FOREGROUND_COLOR
-        height: root.height
-        width: icon.visible? root.width-icon.width-5 : root.width
-        x: icon.visible? icon.width+5 : 0
+    signal cancel(string file);
 
-        Rectangle {
-            id: bar
-            height: parent.height
-            width: 0
-            x:0
-            radius: 5
-            color: Const.DEFAULT_FOREGROUND_COLOR
-            state: "right"
-
-            states: [
-                State {
-                    name: "right"
-                },
-                State {
-                    name: "left"
-                },
-                State {
-                    name: "progress"
-                }
-            ]
+    Row {
+        spacing: Const.DEFAULT_MARGIN
+        anchors.verticalCenter: parent.verticalCenter
+
+        Image {
+            id: icon
+            source: isDownload? "../images/download.png" :
+                    isUpload? "../images/upload.png" : ""
+            visible: isDownload || isUpload
+            anchors.verticalCenter: parent.verticalCenter
         }
 
-        Text {
-            id: caption
-            font.pixelSize: 25
-            anchors.centerIn: parent
-            //color: Const.DEFAULT_FOREGROUND_COLOR
-            text: root.label.length>28 ? root.label.substring(0,25)+"..." : root.label
-            color: "black"
+        Rectangle {
+            id: bbar
+            anchors.verticalCenter: parent.verticalCenter
+            color: Const.TRANSPARENT
+            border.width: 2
+            //radius: 5
+            border.color: Const.DEFAULT_FOREGROUND_COLOR
+            height: 40
+            width: icon.visible?
+                       root.width-icon.width-button.width-2*Const.DEFAULT_MARGIN :
+                       root.width-button.width-1*Const.DEFAULT_MARGIN
+            //x: icon.visible? icon.width+5 : 0
+
+            Rectangle {
+                id: bar
+                height: parent.height
+                width: 0
+                x:0
+                color: Const.DEFAULT_FOREGROUND_COLOR
+                state: "right"
+
+                states: [
+                    State {
+                        name: "right"
+                    },
+                    State {
+                        name: "left"
+                    },
+                    State {
+                        name: "progress"
+                    }
+                ]
+            }
+
+            Text {
+                id: caption
+                font.pixelSize: 25
+                anchors.centerIn: parent
+                //color: Const.DEFAULT_FOREGROUND_COLOR
+                text: root.label
+                width: bbar.width
+                elide: Text.ElideRight
+                horizontalAlignment: Text.AlignHCenter
+                color: "black"
+            }
         }
 
+        Button {
+            id: button
+            anchors.verticalCenter: parent.verticalCenter
+            iconSource: "images/close.png"
+            onButtonClicked: root.cancel(root.label)
+        }
     }
 
     function setProgres(progress) {
-        console.log("proggress = "+progress);
+        //console.log("proggress = "+progress);
         if(bar.state!="progress") {
             time.stop();
             bar.state = "progress"
diff --git a/qml/ubi/components/BusyIndicator.qml b/qml/ubi/components/BusyIndicator.qml
new file mode 100644 (file)
index 0000000..27a2a7d
--- /dev/null
@@ -0,0 +1,37 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+//import "../UIConstants.js" as Const
+
+Image {
+    id: icon
+
+    property bool running: false
+
+    width: 64
+    height: 64
+
+    source: "../images/progress.png"
+    sourceSize.width: width
+    sourceSize.height: height
+
+    Component.onCompleted: {
+        if(running) animation.start();
+    }
+
+    onRunningChanged: {
+        if(running) {
+            animation.start();
+        } else {
+            animation.stop();
+        }
+    }
+
+    NumberAnimation {
+        id: animation
+        target: icon
+        properties: "rotation"
+        from: 0
+        to: 360
+        duration: 500
+        loops: Animation.Infinite
+    }
+}
index fd947ef..3eb5ad8 100644 (file)
@@ -27,8 +27,9 @@ Item {
     Rectangle {
         id: box
         color: root.disabled ? Const.COOL_GREY_COLOR : "black"
-        height: textbox.height+20
-        width: textbox.width<100 ? 120 : textbox.width+20
+        height: root.iconSource=="" ? textbox.height+20 : icon.height+20
+        //width: textbox.width<100 ? 120 : textbox.width+20
+        width: root.iconSource=="" ? textbox.width+30 : icon.width+30
         radius: 10
     }
 
@@ -46,8 +47,8 @@ Item {
 
     Image {
         id: icon
-        width: 40
-        height: 40
+        //width: 30
+        //height: 30
         anchors.centerIn: box
         source: root.iconSource == "" ? "" : "../" + root.iconSource
         sourceSize.width: width
@@ -67,8 +68,6 @@ Item {
 
     Text {
         id: textbox
-        //x: 10
-        //y: 10
         font.pixelSize: root.fontSize
         color: root.disabled ? "gray" : "white"
         anchors.centerIn: box
diff --git a/qml/ubi/components/ButtonGlass.qml b/qml/ubi/components/ButtonGlass.qml
new file mode 100644 (file)
index 0000000..acce2c6
--- /dev/null
@@ -0,0 +1,113 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "../UIConstants.js" as Const
+
+Item {
+    id: root
+    property string label
+    property bool disabled: false
+    property int fontSize: 30
+    property int maxSize: 27
+    property string iconSource
+
+    state: mouseArea.pressed && !root.disabled ? "pressed" : "unpressed"
+
+    width: box.width
+    height: box.height
+
+    signal buttonClicked(string label)
+
+    Rectangle {
+        id: shadow
+        width: box.width
+        height: box.height
+        color: Const.SHADOW_COLOR;
+        radius: 10
+        visible: false
+    }
+
+    Rectangle {
+        id: box
+        color: root.disabled ? Const.COOL_GREY_COLOR : "black"
+        height: root.iconSource=="" ? textbox.height+20 : icon.height+20
+        //width: textbox.width<100 ? 120 : textbox.width+20
+        width: root.iconSource=="" ? textbox.width+30 : icon.width+30
+        radius: 10
+        visible: false
+    }
+
+    Image {
+        source: root.state != "pressed" ?
+                    "../images/pushbutton_normal.png" :
+                    "../images/pushbutton_disabled.png"
+    }
+
+    Rectangle {
+        width: box.width
+        height: box.height
+        x: box.x
+        y: box.y
+        color: Const.WARM_GREY_COLOR
+        radius: 10
+        //visible: root.state == "pressed"
+        visible: false
+        //border.color: "black"
+        //border.width: Const.SHADOW_OFFSET
+    }
+
+    Image {
+        id: icon
+        //width: 30
+        //height: 30
+        anchors.centerIn: box
+        source: root.iconSource == "" ? "" : "../" + root.iconSource
+        sourceSize.width: width
+        sourceSize.height: height
+    }
+
+    onLabelChanged: {
+        if(root.label.length>root.maxSize) {
+            //console.log("root.label: "+root.label)
+            //console.log("root.label.length: "+root.label.length)
+            //console.log("root.maxSize: "+root.maxSize)
+            textbox.text = root.label.substring(0,root.maxSize-3)+"...";
+        } else {
+            textbox.text = root.label;
+        }
+    }
+
+    Text {
+        id: textbox
+        font.pixelSize: root.fontSize
+        color: root.disabled ? "gray" : "white"
+        anchors.centerIn: box
+        visible: root.iconSource == ""
+    }
+
+    MouseArea {
+        id: mouseArea
+        width: box.width
+        height: box.height
+        onClicked: root.buttonClicked(root.label)
+        enabled: !root.disabled
+    }
+
+    states: [
+        State {
+            name: "unpressed"
+            PropertyChanges {target: shadow; x: Const.SHADOW_OFFSET}
+            PropertyChanges {target: shadow; y: Const.SHADOW_OFFSET}
+            PropertyChanges {target: box; x: 0}
+            PropertyChanges {target: box; y: 0}
+        },
+        State {
+            name: "pressed"
+            PropertyChanges {target: shadow; x: Const.SHADOW_OFFSET}
+            PropertyChanges {target: shadow; y: Const.SHADOW_OFFSET}
+            PropertyChanges {target: box; x: Const.SHADOW_OFFSET}
+            PropertyChanges {target: box; y: Const.SHADOW_OFFSET}
+        }
+    ]
+}
+
+
+
diff --git a/qml/ubi/components/ButtonResizable.qml b/qml/ubi/components/ButtonResizable.qml
new file mode 100644 (file)
index 0000000..e9c0270
--- /dev/null
@@ -0,0 +1,91 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "../UIConstants.js" as Const
+
+Item {
+    id: root
+    property alias text: textbox.text
+    property bool disabled: false
+    property int fontSize: 30
+    property string iconSource
+
+    state: mouseArea.pressed && !root.disabled ? "pressed" : "unpressed"
+
+    signal clicked(string label)
+
+    Rectangle {
+        id: shadow
+        width: box.width
+        height: box.height
+        color: Const.SHADOW_COLOR;
+        radius: 10
+    }
+
+    Rectangle {
+        id: box
+        color: root.disabled ? Const.COOL_GREY_COLOR : "black"
+        height: root.height
+        width: root.width
+        radius: 10
+    }
+
+    Rectangle {
+        width: box.width
+        height: box.height
+        x: box.x
+        y: box.y
+        color: Const.WARM_GREY_COLOR
+        radius: 10
+        visible: root.state == "pressed"
+        //border.color: "black"
+        //border.width: Const.SHADOW_OFFSET
+    }
+
+    Image {
+        id: icon
+        width: 40
+        height: 40
+        anchors.centerIn: box
+        source: root.iconSource == "" ? "" : "../" + root.iconSource
+        sourceSize.width: width
+        sourceSize.height: height
+    }
+
+    Text {
+        id: textbox
+        font.pixelSize: root.fontSize
+        elide: Text.ElideRight
+        color: root.disabled ? "gray" : "white"
+        anchors.left: box.left; anchors.right: box.right
+        anchors.margins: Const.DEFAULT_MARGIN
+        anchors.verticalCenter: box.verticalCenter
+        //visible: root.iconSource == ""
+    }
+
+    MouseArea {
+        id: mouseArea
+        width: box.width
+        height: box.height
+        onClicked: root.clicked(root.label)
+        enabled: !root.disabled
+    }
+
+    states: [
+        State {
+            name: "unpressed"
+            PropertyChanges {target: shadow; x: Const.SHADOW_OFFSET}
+            PropertyChanges {target: shadow; y: Const.SHADOW_OFFSET}
+            PropertyChanges {target: box; x: 0}
+            PropertyChanges {target: box; y: 0}
+        },
+        State {
+            name: "pressed"
+            PropertyChanges {target: shadow; x: Const.SHADOW_OFFSET}
+            PropertyChanges {target: shadow; y: Const.SHADOW_OFFSET}
+            PropertyChanges {target: box; x: Const.SHADOW_OFFSET}
+            PropertyChanges {target: box; y: Const.SHADOW_OFFSET}
+        }
+    ]
+}
+
+
+
diff --git a/qml/ubi/components/DialogBlank.qml b/qml/ubi/components/DialogBlank.qml
new file mode 100644 (file)
index 0000000..6765671
--- /dev/null
@@ -0,0 +1,32 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "../UIConstants.js" as Const
+
+DialogBox {
+    id: root
+
+    property alias boxHeight: _box.height
+    property alias box: _box
+
+    Rectangle {
+        id: _box
+        anchors.left: root.left; anchors.right: root.right
+        anchors.bottom: root.bottom
+        color: Const.LIGHT_AUBERGINE_COLOR
+
+        MouseArea {
+            anchors.fill: parent
+            onClicked: {
+                root.canceled();
+                root.close();
+            }
+        }
+    }
+
+    Rectangle {
+        anchors.right: root.right; anchors.left: root.left
+        anchors.bottom: box.top
+        height: Const.SHADOW_OFFSET
+        color: "black"
+        opacity: 0.5
+    }
+}
index 571aaf2..b72d8aa 100644 (file)
@@ -1,24 +1,34 @@
 import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
 import "../UIConstants.js" as Const
 
-Item {
+Showable {
     id: root
 
+    hidden: true
+    //easingType: Easing.InOutBounce
+
     anchors.left: parent.left; anchors.right: parent.right
-    height: parent.height
-    state: "closed"
+    height: parent.height-Const.SYSTEM_BAR_HEIGHT+Const.SHADOW_OFFSET
 
     signal opened()
     signal canceled()
 
     function open() {
         root.forceActiveFocus();
-        root.state = "opened";
+        root.show();
         root.opened();
+        topbar.hide();
+        systemBar.state = "inactive";
+        pageStack.currentPage.mask.state = "dialog";
     }
 
     function close() {
-        root.state = "closed";
+        if(state!="closed") {
+            root.hide();
+            topbar.show();
+            systemBar.state = "active";
+            pageStack.currentPage.mask.state = "idle";
+        }
     }
 
     MouseArea {
@@ -28,23 +38,5 @@ Item {
             root.close();
         }
     }
-
-    states: [
-        State {
-            name: "opened"
-            PropertyChanges { target: root; opacity: 1 }
-            PropertyChanges { target: root; y: 0}
-        },
-        State {
-            name: "closed"
-            PropertyChanges { target: root; opacity: 0 }
-            PropertyChanges { target: root; y: root.height }
-        }
-    ]
-
-    transitions: Transition {
-        NumberAnimation { properties: "opacity"; easing.type: Easing.InOutQuad }
-        NumberAnimation { properties: "y"; easing.type: Easing.InOutQuad }
-    }
 }
 
index cfeace7..55a3bd2 100644 (file)
@@ -7,6 +7,8 @@ Item {
     property alias description: details.text
     property bool isDirectory: false
     property bool isPhoto: false
+    property bool isMusic: false
+    property bool isVideo: false
     property bool isPublic: false
     property variant properties: null
     property string filename: ""
@@ -14,7 +16,7 @@ Item {
 
     state: mouseArea.pressed && !root.disabled ? "pressed" : "unpressed"
 
-    //width: parent.width
+    width: mainWindow.width
     height: box.height
 
     signal clicked(variant prop)
@@ -68,12 +70,13 @@ Item {
 
     Image {
         id: icon
-        width: 50
-        height: 50
+        width: 60
+        height: 60
         x: Const.TEXT_MARGIN-5
         source: root.isDirectory ? "../images/folder.png" :
-                                   root.isPhoto ? "../images/photo.png" :
-                                                  "../images/document.png"
+                root.isPhoto ? "../images/photo.png" :
+                root.isMusic ? "../images/music.png" :
+                root.isVideo ? "../images/video.png" : "../images/document.png"
         sourceSize.width: width
         sourceSize.height: height
         anchors.verticalCenter: box.verticalCenter
@@ -85,7 +88,7 @@ Item {
         font.pixelSize: 30
         color: Const.DEFAULT_FOREGROUND_COLOR
         elide: Text.ElideRight
-        wrapMode: Text.Wrap
+        //wrapMode: Text.Wrap
         width: root.isPublic ?
                    root.width-x-Const.TEXT_MARGIN-3*Const.DEFAULT_MARGIN-arrow.width-publicIcon.width :
                    root.width-x-Const.TEXT_MARGIN-1*Const.DEFAULT_MARGIN-arrow.width
@@ -122,7 +125,7 @@ Item {
         width: 30
         height: 30
         anchors.right: box.right
-        anchors.margins: Const.TEXT_MARGIN
+        anchors.margins: Const.DEFAULT_MARGIN
         source: "../images/next.png"
         sourceSize.width: width
         sourceSize.height: height
diff --git a/qml/ubi/components/FileOld.qml b/qml/ubi/components/FileOld.qml
deleted file mode 100644 (file)
index 8dff818..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
-import "../UIConstants.js" as Const
-
-
-Item {
-    id: root
-    property alias name: label.text
-    property bool isDirectory: false
-    property variant properties: null
-    property string filename: ""
-    property int textMax: 27
-
-    state: mouseArea.pressed && !root.disabled ? "pressed" : "unpressed"
-
-    width: box.width
-    height: box.height
-
-    signal clicked(variant prop)
-
-    Rectangle {
-        id: shadow
-        width: box.width
-        height: box.height
-        color: Const.SHADOW_COLOR;
-        radius: 10
-        x: Const.SHADOW_OFFSET;
-        y: Const.SHADOW_OFFSET;
-    }
-
-    Rectangle {
-        id: box
-        color: root.isDirectory ? "black" : "white"
-        height: label.height+20
-        width: label.width<=100 ? 120 : label.width+20
-        radius: 10
-    }
-
-    Rectangle {
-        width: box.width
-        height: box.height
-        x: box.x
-        y: box.y
-        color: root.isDirectory ? "white" : "black"
-        opacity: 0.5
-        radius: 10
-        visible: mouseArea.pressed
-    }
-
-    Text {
-        id: label
-        x: 10
-        y: 10
-        font.pixelSize: 30
-        color: root.isDirectory ? "white" : "black"
-        elide: Text.ElideLeft
-        anchors.centerIn: box
-        wrapMode: Text.Wrap
-        onTextChanged: {
-            if(text.length>root.textMax)
-                root.name = text.substring(0,root.textMax-3)+"...";
-        }
-    }
-
-    MouseArea {
-        id: mouseArea
-        width: box.width
-        height: box.height
-        onClicked: {
-            root.clicked(root.properties);
-        }
-    }
-
-    states: [
-        State {
-            name: "unpressed"
-            PropertyChanges {target: shadow; x: Const.SHADOW_OFFSET}
-            PropertyChanges {target: shadow; y: Const.SHADOW_OFFSET}
-            PropertyChanges {target: box; x: 0}
-            PropertyChanges {target: box; y: 0}
-        },
-        State {
-            name: "pressed"
-            PropertyChanges {target: shadow; x: Const.SHADOW_OFFSET}
-            PropertyChanges {target: shadow; y: Const.SHADOW_OFFSET}
-            PropertyChanges {target: box; x: Const.SHADOW_OFFSET}
-            PropertyChanges {target: box; y: Const.SHADOW_OFFSET}
-        }
-    ]
-}
diff --git a/qml/ubi/components/FileSmall.qml b/qml/ubi/components/FileSmall.qml
new file mode 100644 (file)
index 0000000..d8be3f7
--- /dev/null
@@ -0,0 +1,67 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "../UIConstants.js" as Const
+
+
+Item {
+    id: root
+    property alias text: label.text
+    property bool isDirectory: false
+    property bool isPhoto: false
+    property bool isMusic: false
+    property bool isVideo: false
+
+    signal clicked()
+
+    height: box.height
+
+    Rectangle {
+        id: box
+        color: Const.TRANSPARENT
+        height: 70
+        width: root.width
+    }
+
+    Rectangle {
+        width: box.width
+        height: box.height
+        x: box.x; y: box.y
+        color: Const.DEFAULT_DIALOG_FOREGROUND_COLOR
+        opacity: 0.4
+        visible: mouseArea.pressed
+    }
+
+    Image {
+        id: icon
+        width: 40
+        height: 40
+        source: root.isDirectory ? "../images/folder-small.png" :
+                root.isPhoto ? "../images/photo-small.png" :
+                root.isMusic ? "../images/music-small.png" :
+                root.isVideo ? "../images/video-small.png" : "../images/document-small.png"
+        sourceSize.width: width
+        sourceSize.height: height
+        anchors.left: box.left;
+        anchors.verticalCenter: box.verticalCenter
+        anchors.margins: Const.TEXT_MARGIN
+    }
+
+    Text {
+        id: label
+        x: 10; y: 10
+        font.pixelSize: 30
+        color: Const.DEFAULT_DIALOG_FOREGROUND_COLOR
+        elide: Text.ElideRight
+        anchors.left: icon.right; anchors.right: box.right
+        anchors.verticalCenter: box.verticalCenter
+        anchors.margins: Const.TEXT_MARGIN
+    }
+
+    MouseArea {
+        id: mouseArea
+        width: box.width
+        height: box.height
+        onClicked: {
+            root.clicked(root.properties);
+        }
+    }
+}
index f34eab0..b9f68a7 100644 (file)
@@ -10,9 +10,9 @@ Item {
 
     onStateChanged: {
         if(root.state=="busy") {
-            animationIcon.start();
+            busy.running = true;
         } else {
-            animationIcon.stop();
+            busy.running = false;
         }
     }
 
@@ -29,25 +29,11 @@ Item {
             font.pixelSize: Const.DEFAULT_FONT_PIXEL_SIZE
         }
 
-        Image {
-            id: icon
-            width: 64
-            height: 64
+        BusyIndicator {
+            id: busy
             anchors.centerIn: parent
-            source: "../images/progress.png"
-            sourceSize.width: width
-            sourceSize.height: height
+            running: true
             visible: root.state=="busy"
-
-            NumberAnimation {
-                id: animationIcon
-                target: icon
-                properties: "rotation"
-                from: 0
-                to: 360
-                duration: 500
-                loops: Animation.Infinite
-            }
         }
 
         MouseArea {
index b84c4cf..aec3d22 100644 (file)
@@ -30,6 +30,7 @@ Item {
             anchors.centerIn: parent
             id: text
             color: Const.DEFAULT_BACKGROUND_COLOR
+            wrapMode: Text.WordWrap
             font.pixelSize: Const.DEFAULT_FONT_PIXEL_SIZE
         }
 
@@ -42,6 +43,16 @@ Item {
     function show(_text)
     {
         text.text= _text;
+        time.interval = 3000;
+        state = "visible"
+        //sound.play();
+        time.restart();
+    }
+
+    function show2(_text,interval)
+    {
+        text.text= _text;
+        time.interval = interval;
         state = "visible"
         //sound.play();
         time.restart();
diff --git a/qml/ubi/components/NotificationNew.qml b/qml/ubi/components/NotificationNew.qml
new file mode 100644 (file)
index 0000000..56baecb
--- /dev/null
@@ -0,0 +1,104 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "../UIConstants.js" as Const
+
+Item {
+    id: root
+
+    state: "invisible"
+
+    //width: box.width
+    height: box.height
+
+    Rectangle {
+        width: box.width
+        height: box.height
+        color: Const.SHADOW_COLOR;
+        radius: 5
+        x: 2*Const.SHADOW_OFFSET;
+        y: 2*Const.SHADOW_OFFSET;
+    }
+
+    Rectangle {
+        id: box
+        height: text.height+4*Const.DEFAULT_MARGIN
+        width: root.width
+        //color: Const.DEFAULT_DIALOG_FOREGROUND_COLOR
+        color: Const.COOL_GREY_COLOR
+        radius: 5
+
+        border.color: Const.WARM_GREY_COLOR
+        border.width: 1
+
+        Text {
+            id: text
+            anchors.centerIn: parent
+            anchors.margins: Const.DEFAULT_MARGIN
+            color: Const.DEFAULT_FOREGROUND_COLOR
+            wrapMode: Text.WordWrap
+            font.pixelSize: Const.DEFAULT_FONT_PIXEL_SIZE
+            width: parent.width-2*Const.DEFAULT_MARGIN
+            horizontalAlignment: Text.Center
+        }
+
+        MouseArea {
+            anchors.fill: parent
+            onClicked: tip.state = "invisible"
+        }
+    }
+
+    function show(_text)
+    {
+        text.text= _text;
+        if(_text.length > 40) {
+            time.interval = _text.length*100;
+        } else {
+            time.interval = 3000;
+        }
+        state = "visible"
+        time.restart();
+    }
+
+    function show2(_text,interval)
+    {
+        text.text= _text;
+        time.interval = interval;
+        state = "visible"
+        time.restart();
+    }
+
+    function hide()
+    {
+        text.text="";
+        state="invisible";
+    }
+
+    Timer {
+        id: time
+        interval: 3000
+        onTriggered: {
+            tip.state = "invisible";
+        }
+    }
+
+    states: [
+        State {
+            name: "visible"
+            PropertyChanges { target: root; opacity: 1 }
+            PropertyChanges { target: root; width: mainWindow.width-2*Const.TEXT_MARGIN }
+            PropertyChanges { target: text; font.pixelSize: Const.DEFAULT_FONT_PIXEL_SIZE }
+        },
+        State {
+            name: "invisible"
+            PropertyChanges { target: root; width: 0 }
+            PropertyChanges { target: text; font.pixelSize: 1 }
+            PropertyChanges { target: root; opacity: 0 }
+        }
+    ]
+
+    transitions: Transition {
+        NumberAnimation { properties: "opacity"; easing.type: Easing.InOutBack }
+        NumberAnimation { properties: "width"; easing.type: Easing.InOutBack}
+        NumberAnimation { properties: "font.pixelSize"; easing.type: Easing.InOutBack}
+    }
+
+}
diff --git a/qml/ubi/components/Showable.qml b/qml/ubi/components/Showable.qml
new file mode 100644 (file)
index 0000000..69c7390
--- /dev/null
@@ -0,0 +1,58 @@
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+//import "../UIConstants.js" as Const
+
+Item {
+    id: root
+
+    property bool hidden: false
+    property int easingType: Easing.InOutCubic
+    property int speed: 1
+
+    state: hidden ? "closed" : "opened"
+    //visible: !hidden
+
+    Component.onCompleted: {
+        if(hidden) state = "closed";
+    }
+
+    function show() {
+        root.state = "opened";
+    }
+
+    function hide() {
+        root.state = "closed";
+    }
+
+    states: [
+        State {
+            name: "opened"
+            PropertyChanges { target: root; y: 0}
+            PropertyChanges { target: root; visible: true }
+        },
+        State {
+            name: "closed"
+            PropertyChanges { target: root; y: root.height }
+            //PropertyChanges { target: root; visible: false }
+        }
+    ]
+
+    transitions: Transition {
+        NumberAnimation { properties: "y"; easing.type: root.easingType;
+            duration: root.speed*root.height/2;
+        }
+    }
+
+    onStateChanged: {
+        if(state=="closed") time.start()
+    }
+
+    Timer {
+        id: time
+        interval: root.speed*root.height/2
+        onTriggered: {
+            //console.log("aaa");
+            root.visible = false;
+        }
+    }
+
+}
index bfc50b3..6632be4 100644 (file)
@@ -1,22 +1,31 @@
-import QtQuick 1.0
+import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
+import "../UIConstants.js" as Const
 
 Item {
     id: root
 
     property string iconSource
-    property bool enabled: true
     property bool pressed: mouseArea.pressed
+    property string color: Const.TRANSPARENT
 
     signal clicked
     signal pressAndHold
 
     width: 56
     height: 56
-    opacity: enabled ? 1 : 0.3
 
     Rectangle {
-        anchors { fill: parent; margins: 5 }
-        color: "gray"
+        id: background
+        anchors { fill: parent; margins: 6 }
+        //color: root.color
+        color: "black"
+        opacity: 0.1
+        radius: 10
+    }
+
+    Rectangle {
+        anchors { fill: parent; margins: 6 }
+        color: "white"
         opacity: 0.5
         radius: 10
         visible: mouseArea.pressed
@@ -24,8 +33,8 @@ Item {
 
     Image {
         id: icon
-        width: 40
-        height: 40
+        width: 30
+        height: 30
         anchors.centerIn: parent
         source: iconSource == "" ? "" : "../" + iconSource
         sourceSize.width: width
diff --git a/qml/ubi/images/back-old.png b/qml/ubi/images/back-old.png
new file mode 100644 (file)
index 0000000..e98f7fd
Binary files /dev/null and b/qml/ubi/images/back-old.png differ
index e98f7fd..31f7b77 100644 (file)
Binary files a/qml/ubi/images/back.png and b/qml/ubi/images/back.png differ
diff --git a/qml/ubi/images/bg.png b/qml/ubi/images/bg.png
new file mode 100644 (file)
index 0000000..fd65209
Binary files /dev/null and b/qml/ubi/images/bg.png differ
diff --git a/qml/ubi/images/close-old.png b/qml/ubi/images/close-old.png
new file mode 100644 (file)
index 0000000..3ab86ac
Binary files /dev/null and b/qml/ubi/images/close-old.png differ
index 3ab86ac..1861716 100644 (file)
Binary files a/qml/ubi/images/close.png and b/qml/ubi/images/close.png differ
diff --git a/qml/ubi/images/document-small.png b/qml/ubi/images/document-small.png
new file mode 100644 (file)
index 0000000..f715053
Binary files /dev/null and b/qml/ubi/images/document-small.png differ
index 2fb06f2..b164388 100644 (file)
Binary files a/qml/ubi/images/document.png and b/qml/ubi/images/document.png differ
diff --git a/qml/ubi/images/download-old.png b/qml/ubi/images/download-old.png
new file mode 100644 (file)
index 0000000..234ba28
Binary files /dev/null and b/qml/ubi/images/download-old.png differ
index 234ba28..6dcf6d3 100644 (file)
Binary files a/qml/ubi/images/download.png and b/qml/ubi/images/download.png differ
diff --git a/qml/ubi/images/folder-small.png b/qml/ubi/images/folder-small.png
new file mode 100644 (file)
index 0000000..f95e411
Binary files /dev/null and b/qml/ubi/images/folder-small.png differ
index c470537..9681fe3 100644 (file)
Binary files a/qml/ubi/images/folder.png and b/qml/ubi/images/folder.png differ
diff --git a/qml/ubi/images/minimize-old.png b/qml/ubi/images/minimize-old.png
new file mode 100644 (file)
index 0000000..80be69b
Binary files /dev/null and b/qml/ubi/images/minimize-old.png differ
index 80be69b..ebbe718 100644 (file)
Binary files a/qml/ubi/images/minimize.png and b/qml/ubi/images/minimize.png differ
diff --git a/qml/ubi/images/music-small.png b/qml/ubi/images/music-small.png
new file mode 100644 (file)
index 0000000..ea57709
Binary files /dev/null and b/qml/ubi/images/music-small.png differ
diff --git a/qml/ubi/images/music.png b/qml/ubi/images/music.png
new file mode 100644 (file)
index 0000000..dda386c
Binary files /dev/null and b/qml/ubi/images/music.png differ
diff --git a/qml/ubi/images/options.png b/qml/ubi/images/options.png
new file mode 100644 (file)
index 0000000..2e28b6e
Binary files /dev/null and b/qml/ubi/images/options.png differ
diff --git a/qml/ubi/images/photo-small.png b/qml/ubi/images/photo-small.png
new file mode 100644 (file)
index 0000000..e92715d
Binary files /dev/null and b/qml/ubi/images/photo-small.png differ
index 60f3c8b..cf949ae 100644 (file)
Binary files a/qml/ubi/images/photo.png and b/qml/ubi/images/photo.png differ
diff --git a/qml/ubi/images/pushbutton_disabled.png b/qml/ubi/images/pushbutton_disabled.png
new file mode 100644 (file)
index 0000000..bf15a8c
Binary files /dev/null and b/qml/ubi/images/pushbutton_disabled.png differ
diff --git a/qml/ubi/images/pushbutton_normal.png b/qml/ubi/images/pushbutton_normal.png
new file mode 100644 (file)
index 0000000..2476565
Binary files /dev/null and b/qml/ubi/images/pushbutton_normal.png differ
index 7464c5d..14d852d 100644 (file)
Binary files a/qml/ubi/images/refresh.png and b/qml/ubi/images/refresh.png differ
diff --git a/qml/ubi/images/up-old.png b/qml/ubi/images/up-old.png
new file mode 100644 (file)
index 0000000..9828030
Binary files /dev/null and b/qml/ubi/images/up-old.png differ
index 9828030..495bab3 100644 (file)
Binary files a/qml/ubi/images/up.png and b/qml/ubi/images/up.png differ
diff --git a/qml/ubi/images/upload-old.png b/qml/ubi/images/upload-old.png
new file mode 100644 (file)
index 0000000..e66dfb7
Binary files /dev/null and b/qml/ubi/images/upload-old.png differ
index e66dfb7..35f3ab4 100644 (file)
Binary files a/qml/ubi/images/upload.png and b/qml/ubi/images/upload.png differ
diff --git a/qml/ubi/images/video-small.png b/qml/ubi/images/video-small.png
new file mode 100644 (file)
index 0000000..b180390
Binary files /dev/null and b/qml/ubi/images/video-small.png differ
diff --git a/qml/ubi/images/video.png b/qml/ubi/images/video.png
new file mode 100644 (file)
index 0000000..1451eaf
Binary files /dev/null and b/qml/ubi/images/video.png differ
index 8684481..80d0160 100644 (file)
@@ -1,6 +1,5 @@
 import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
 import "components"
-import Qt 4.7
 import "UIConstants.js" as Const
 
 Rectangle {
@@ -13,41 +12,104 @@ Rectangle {
 
     PageStack {
         id: pageStack
-        initialPage: Qt.resolvedUrl("StartPage.qml")
+        //initialPage: Qt.resolvedUrl("StartPage.qml")
+        initialPage: Qt.resolvedUrl("FilesPage.qml")
     }
 
-    SystemBar {
-        id: systemBar
-        onClicked: {
-            var mask = pageStack.currentPage.mask;
-            if(mask.state=="idle") {
-                taskBar.open();
-            }
+    TopBar {
+        id: topbar
+        Component.onCompleted: {
+            visible = Utils.isMaemo();
+        }
+        onVisibleChanged: {
+            if(visible)
+                visible = Utils.isMaemo();
         }
     }
 
-    Notification {
+    NotificationNew {
         id: tip
-        x: (mainWindow.width-width)/2
-        y: 120
+        anchors.horizontalCenter: mainWindow.horizontalCenter
+        y: mainWindow.height-height-Const.SYSTEM_BAR_HEIGHT-Const.TEXT_MARGIN
     }
 
-    TaskBar {
+    /*TaskBar {
         id: taskBar
-    }
+    }*/
 
     Connections {
         target: Utils
-        onFileDownloaded: tip.show(qsTr("File downloaded!"))
-        onFileUploaded: tip.show(qsTr("File uploaded!"))
-        onDownloadError: tip.show(qsTr("Error while downloading!"))
-        onUploadError: tip.show(qsTr("Error while uploading!"))
-        onDownloadAdded: tip.show(qsTr("File added to the queue!"))
-        onUploadAdded: tip.show(qsTr("File added to the queue!"))
+        onFileDownloaded: tip.show(qsTr("File downloaded."))
+        onFileUploaded: tip.show(qsTr("File uploaded."))
+        onDownloadError: tip.show(qsTr("Error while downloading."))
+        onUploadError: tip.show(qsTr("Error while uploading."))
+        onDownloadAdded: tip.show(qsTr("File added to the queue."))
+        onUploadAdded: tip.show(qsTr("File added to the queue."))
+        onOperationCanceled: tip.show(qsTr("File operation canceled."))
+    }
+
+    DialogBlank {
+        id: downloadDialog
+        z: 200
+
+        property bool isActiveDownloads: progressArea.count>0
+
+        boxHeight: progressArea.height + 3*Const.DEFAULT_MARGIN
+
+        Connections {
+            target: Utils
+            onFileDownloadProgress: progressArea.setProgress(filename,progress)
+            onFileUploadProgress: progressArea.setProgress(filename,progress)
+            onDownloadAdded: progressArea.addTask("download",filename)
+            onUploadAdded: progressArea.addTask("upload",filename)
+            onDownloadStarted: progressArea.start(filename)
+            onUploadStarted: progressArea.start(filename)
+            onFileDownloaded: progressArea.stop(filename)
+            onFileUploaded: progressArea.stop(filename)
+            onDownloadError: progressArea.stop(filename)
+            onUploadError: progressArea.stop(filename)
+            onOperationCanceled: progressArea.stop(filename)
+            onFileRemovedFromQuee: progressArea.stop(filename)
+        }
+
+        DownloadArea {
+            anchors.top: parent.box.top
+            anchors.topMargin: 2*Const.DEFAULT_MARGIN
+            anchors.margins: Const.DEFAULT_MARGIN
+            anchors.horizontalCenter: parent.horizontalCenter
+            id: progressArea
+            width: parent.width-3*Const.DEFAULT_MARGIN
+
+            //onHeightChanged: console.log("height: "+height);
+        }
+    }
+
+    DialogInfo {
+        id: aboutDialog
+        z: 200
+        fontSize: 28
+        iconSource: "images/ubi50.png"
+        textHeader: qsTr("<b>Ubi</b>")
+
+        text: qsTr("<p>An unofficial Ubuntu One app for Maemo 5 "
+              +"and other Qt-enabled platforms.</p>"
+              +"<p><small>http://ubi.garage.maemo.org</small></p>"
+              +"<p><small>© 2012 Michal Kosciesza</small></p>")
+    }
+
+    SystemBar {
+        id: systemBar
+        z: 201
+        onClickedOnMask: {
+            aboutDialog.close();
+            downloadDialog.close();
+            pageStack.currentPage.taskMenu.close();
+        }
     }
 
     Rectangle {
         color: "black"
+        z: 300
         width: 1
         anchors.left: parent.left
         anchors.top: parent.top
@@ -55,6 +117,8 @@ Rectangle {
     }
 
     InitPage {
+        id: initPage
+        z: 301
         height: mainWindow.height;
         width: mainWindow.width;
     }
index 91bdd0e..a118cb7 100644 (file)
@@ -139,6 +139,8 @@ function getFiles(secrets,rootNode,root)
                         root.onErr(xhr.status);
                     } else {
                         //console.log(xhr.responseText);
+                        //console.log("");
+                        //console.log(xhr.getAllResponseHeaders());
                         var resp = eval('('+xhr.responseText+')');
                         var nodes = resp.children;
                         root.onResp(nodes);
@@ -268,15 +270,15 @@ function startPublishing(secrets,resourcePath,root)
 function newFolder(secrets,resourcePath,root)
 {
     var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(resourcePath);
-    console.log("url: "+url);
+    //console.log("url: "+url);
     var xhr = oAuthRequest(url,secrets,"PUT");
     xhr.setRequestHeader("Content-Type","application/json");
     var body = '{"kind": "directory"}';
-    console.log("body: "+body);
+    //console.log("body: "+body);
     xhr.onreadystatechange = function() {
                 if(xhr.readyState===4) {
                     if(xhr.status>=400||xhr.status===0) {
-                        console.log("status: "+xhr.status);
+                        //console.log("status: "+xhr.status);
                         //console.log(xhr.responseText);
                         root.onErrNew(xhr.status);
                     } else {
@@ -292,9 +294,10 @@ function newFolder(secrets,resourcePath,root)
 
 function deleteFile(secrets,resourcePath,root,utils)
 {
-    var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(resourcePath);
-    //console.log("url: "+url);
-    var auth = oAuthHeader(url,secrets,"DELETE");
+    var urlA = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(resourcePath);
+    var url = "https://one.ubuntu.com/api/file_storage/v1"+resourcePath;
+    //console.log("u1.js:delete url="+url);
+    var auth = oAuthHeader(urlA,secrets,"DELETE");
     utils.deleteFile(url,auth);
 }
 
@@ -352,12 +355,15 @@ function fixFolder(path) {
 function getFileContent(secrets,root,path,folder,size,utils)
 {
     //var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(path);
-    var url = "https://files.one.ubuntu.com"+encodeURI(path);
+
+    var url = "https://files.one.ubuntu.com"+path;
+    var urlA = "https://files.one.ubuntu.com"+encodeURI(path);
+
     var filename = fixFilename(path);
     var ffolder = fixFolder(folder);
     //console.log("url: "+url);
     //console.log("ffolder: "+ffolder);
-    var auth = oAuthHeader(url,secrets,"GET");
+    var auth = oAuthHeader(urlA,secrets,"GET");
     //console.log("auth: "+auth);
     utils.downloadFile(ffolder,filename,url,size,auth);
 }
@@ -366,10 +372,15 @@ function uploadFile(secrets,root,path,filename,folder,utils)
 {
     //var url = "https://one.ubuntu.com/api/file_storage/v1"+encodeURI(path);
     //var url = "https://files.one.ubuntu.com"+path;
-    var url = "https://files.one.ubuntu.com"+encodeURI(path);
-    //console.log(url);
+
+    var url = "https://files.one.ubuntu.com"+path;
+    var urlA = "https://files.one.ubuntu.com"+encodeURI(path);
+
+    //console.log("u1.js:uploadFile path=" + path);
+    //console.log("u1.js:uploadFile url=" + url);
+
     var ffolder = fixFolder(folder);
-    var auth = oAuthHeader(url,secrets,"PUT");
+    var auth = oAuthHeader(urlA,secrets,"PUT");
     utils.uploadFile(ffolder,filename,url,auth);
 }
 
index 03b9331..b9766d9 100644 (file)
@@ -4,7 +4,9 @@ evil_hack_to_fool_lupdate {
             qml/ubi/DownloadArea.qml \
             qml/ubi/FileSelector.qml \
             qml/ubi/FilesPage.qml \
+            qml/ubi/FileDialog.qml \
             qml/ubi/LoginPage.qml \
+            qml/ubi/InitPage.qml \
             qml/ubi/main.qml \
             qml/ubi/PageStack.qml \
             qml/ubi/PropertiesPage.qml \
@@ -13,15 +15,20 @@ evil_hack_to_fool_lupdate {
             qml/ubi/StartPage.qml \
             qml/ubi/SystemBar.qml \
             qml/ubi/TaskBar.qml \
+            qml/ubi/TopBar.qml \
+            qml/ubi/TaskMenu.qml \
             qml/ubi/DownloadProgressBar.qml \
         qml/ubi/components/Bar.qml \
         qml/ubi/components/DialogCombo.qml \
         qml/ubi/components/FileOld.qml \
         qml/ubi/components/Notification.qml \
+        qml/ubi/components/NotificationNew.qml \
         qml/ubi/components/ToolIcon.qml \
         qml/ubi/components/ButtonNew.qml \
+        qml/ubi/components/DialogBlank.qml \
         qml/ubi/components/DialogInfo.qml \
         qml/ubi/components/File.qml \
+        qml/ubi/components/FileSmall.qml \
         qml/ubi/components/Page.qml \
         qml/ubi/components/Button.qml \
         qml/ubi/components/DialogInput.qml \
index 79b90df..ccdebe2 100644 (file)
Binary files a/translations/ubi.pl.qm and b/translations/ubi.pl.qm differ
index 97a8925..e43e3bb 100644 (file)
@@ -5,11 +5,11 @@
     <name>AccountPage</name>
     <message>
         <source>Authorization failed!</source>
-        <translation>Autoryzacja nie powiodła się!</translation>
+        <translation type="obsolete">Autoryzacja nie powiodła się!</translation>
     </message>
     <message>
         <source>Error: </source>
-        <translation>Błąd:</translation>
+        <translation type="obsolete">Błąd:</translation>
     </message>
     <message>
         <source>User name:</source>
     </message>
     <message>
         <source>Unable to connect!</source>
-        <translation>Błąd połączenia!</translation>
+        <translation type="obsolete">Błąd połączenia!</translation>
     </message>
     <message>
         <source>Used:</source>
         <translation>Wykorzystano:</translation>
     </message>
+    <message>
+        <source>Ubuntu One authorization has failed. Try once again or check login settings.</source>
+        <translation>Autoryzacja w Ubuntu One nie powiodła się. Spróbuj jeszcze raz lub sprawdź ustawienia logowania.</translation>
+    </message>
+    <message>
+        <source>Unable to connect. Check internet connection.</source>
+        <translation>Nie można połączyć z siecią. Sprawadź połączenie z Internetem.</translation>
+    </message>
+    <message>
+        <source>Unknown error: </source>
+        <translation>Nieznany błąd:</translation>
+    </message>
 </context>
 <context>
     <name>DialogYesNo</name>
     <name>DownloadArea</name>
     <message>
         <source>No active downloads</source>
+        <translation type="obsolete">Brak aktywnych pobrań</translation>
+    </message>
+    <message>
+        <source>No active downloads or uploads</source>
         <translation>Brak aktywnych pobrań</translation>
     </message>
+    <message>
+        <source>Active downloads and uploads</source>
+        <translation>Aktywne pobrania</translation>
+    </message>
 </context>
 <context>
     <name>FilesPage</name>
     </message>
     <message>
         <source>Root folder can&apos;t be renamed!</source>
-        <translation>Nie można zmienić nazwy!</translation>
+        <translation type="obsolete">Nie można zmienić nazwy!</translation>
     </message>
     <message>
         <source>Root folder can&apos;t be deleted!</source>
-        <translation>Nie można zmienić nazwy!</translation>
+        <translation type="obsolete">Nie można zmienić nazwy!</translation>
     </message>
     <message>
         <source>Authorization failed!</source>
     </message>
     <message>
         <source>Unable to connect!</source>
-        <translation>Błąd połączenia!</translation>
+        <translation type="obsolete">Błąd połączenia!</translation>
     </message>
     <message>
         <source>Enter new folder name:</source>
         <source>Empty</source>
         <translation>Pusty</translation>
     </message>
+    <message>
+        <source>Root folder cannot be renamed.</source>
+        <translation>Nie można zmienić nazwy głównego foldera.</translation>
+    </message>
+    <message>
+        <source>Root folder cannot be deleted.</source>
+        <translation>Nie można usunąć głównego foldera.</translation>
+    </message>
+    <message>
+        <source>Ubuntu One authorization has failed. Try once again or check login settings.</source>
+        <translation>Autoryzacja w Ubuntu One nie powiodła się. Spróbuj jeszcze raz lub sprawdź ustawienia logowania.</translation>
+    </message>
+    <message>
+        <source>Unable to connect. Check internet connection.</source>
+        <translation>Nie można połączyć z siecią. Sprawadź połączenie z Internetem.</translation>
+    </message>
+    <message>
+        <source>Unknown error: </source>
+        <translation>Nieznany błąd:</translation>
+    </message>
+</context>
+<context>
+    <name>InitPage</name>
+    <message>
+        <source>Ubuntu One authorization has failed. Try once again or check login settings.</source>
+        <translation>Autoryzacja w Ubuntu One nie powiodła się. Spróbuj jeszcze raz lub sprawdź ustawienia logowania.</translation>
+    </message>
+    <message>
+        <source>Unable to connect. Check internet connection.</source>
+        <translation>Nie można połączyć z siecią. Sprawadź połączenie z Internetem.</translation>
+    </message>
+    <message>
+        <source>Unknown error: </source>
+        <translation>Nieznany błąd:</translation>
+    </message>
+    <message>
+        <source>Connecting...</source>
+        <translation>Łączenie...</translation>
+    </message>
 </context>
 <context>
     <name>LoginPage</name>
     </message>
     <message>
         <source>Authorization failed!</source>
-        <translation>Autoryzacja nie powiodła się!</translation>
+        <translation type="obsolete">Autoryzacja nie powiodła się!</translation>
     </message>
     <message>
         <source>Error: </source>
-        <translation>Błąd:</translation>
+        <translation type="obsolete">Błąd:</translation>
     </message>
     <message>
         <source>Login</source>
     </message>
     <message>
         <source>Unable to connect!</source>
-        <translation>Błąd połączenia!</translation>
+        <translation type="obsolete">Błąd połączenia!</translation>
+    </message>
+    <message>
+        <source>Ubuntu One authorization has failed. Try once again or check login settings.</source>
+        <translation>Autoryzacja w Ubuntu One nie powiodła się. Spróbuj jeszcze raz lub sprawdź ustawienia logowania.</translation>
+    </message>
+    <message>
+        <source>Unable to connect. Check internet connection.</source>
+        <translation>Nie można połączyć z siecią. Sprawadź połączenie z Internetem.</translation>
+    </message>
+    <message>
+        <source>Unknown error: </source>
+        <translation>Nieznany błąd:</translation>
     </message>
 </context>
 <context>
     </message>
     <message>
         <source>Authorization failed!</source>
-        <translation>Autoryzacja nie powiodła się!</translation>
+        <translation type="obsolete">Autoryzacja nie powiodła się!</translation>
     </message>
     <message>
         <source>Error: </source>
-        <translation>Błąd:</translation>
+        <translation type="obsolete">Błąd:</translation>
     </message>
     <message>
         <source>Internal error!</source>
     </message>
     <message>
         <source>Unable to connect!</source>
-        <translation>Błąd połączenia!</translation>
+        <translation type="obsolete">Błąd połączenia!</translation>
     </message>
     <message>
         <source>Enter new file name:</source>
         <source>Copy</source>
         <translation>Skopiuj</translation>
     </message>
+    <message>
+        <source>Ubuntu One authorization has failed. Try once again or check login settings.</source>
+        <translation>Autoryzacja w Ubuntu One nie powiodła się. Spróbuj jeszcze raz lub sprawdź ustawienia logowania.</translation>
+    </message>
+    <message>
+        <source>Unknown error: </source>
+        <translation>Nieznany błąd:</translation>
+    </message>
+    <message>
+        <source>Unable to connect. Check internet connection.</source>
+        <translation>Nie można połączyć z siecią. Sprawadź połączenie z Internetem.</translation>
+    </message>
 </context>
 <context>
     <name>SettingsPage</name>
     </message>
 </context>
 <context>
+    <name>TaskMenu</name>
+    <message>
+        <source>Account</source>
+        <translation>Konto</translation>
+    </message>
+    <message>
+        <source>Settings</source>
+        <translation>Ustawienia</translation>
+    </message>
+    <message>
+        <source>About Ubi</source>
+        <translation>O Ubi</translation>
+    </message>
+</context>
+<context>
     <name>main</name>
     <message>
         <source>Error while downloading!</source>
-        <translation>Błąd podczas pobierania!</translation>
+        <translation type="obsolete">Błąd podczas pobierania!</translation>
     </message>
     <message>
         <source>Error while uploading!</source>
-        <translation>Błąd podczas wysyłania!</translation>
+        <translation type="obsolete">Błąd podczas wysyłania!</translation>
     </message>
     <message>
         <source>File downloaded!</source>
-        <translation>Plik został pobrany!</translation>
+        <translation type="obsolete">Plik został pobrany!</translation>
     </message>
     <message>
         <source>File uploaded!</source>
-        <translation>Plik został wysłany!</translation>
+        <translation type="obsolete">Plik został wysłany!</translation>
     </message>
     <message>
         <source>File added to the queue!</source>
-        <translation>Plik dodany do kolejki!</translation>
+        <translation type="obsolete">Plik dodany do kolejki!</translation>
+    </message>
+    <message>
+        <source>File operation canceled!</source>
+        <translation type="obsolete">Operacja anulowana!</translation>
+    </message>
+    <message>
+        <source>&lt;b&gt;Ubi&lt;/b&gt;</source>
+        <translation>&lt;b&gt;Ubi&lt;/b&gt;</translation>
+    </message>
+    <message>
+        <source>&lt;p&gt;An unofficial Ubuntu One app for Maemo 5 and other Qt-enabled platforms.&lt;/p&gt;&lt;p&gt;&lt;small&gt;http://ubi.garage.maemo.org&lt;/small&gt;&lt;/p&gt;&lt;p&gt;&lt;small&gt;© 2012 Michal Kosciesza&lt;/small&gt;&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Nieoficjalna aplikacja Ubuntu One dla Maemo 5 i innych platform obsługujących Qt.&lt;/p&gt;&lt;p&gt;&lt;small&gt;http://ubi.garage.maemo.org&lt;/small&gt;&lt;/p&gt;&lt;p&gt;&lt;small&gt;© 2012 Michal Kosciesza&lt;/small&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <source>File downloaded.</source>
+        <translation>Plik został pobrany.</translation>
+    </message>
+    <message>
+        <source>File uploaded.</source>
+        <translation>Plik został wysłany.</translation>
+    </message>
+    <message>
+        <source>Error while downloading.</source>
+        <translation>Błąd podczas pobierania.</translation>
+    </message>
+    <message>
+        <source>Error while uploading.</source>
+        <translation>Błąd podczas wysyłania.</translation>
+    </message>
+    <message>
+        <source>File added to the queue.</source>
+        <translation>Plik dodany do kolejki.</translation>
+    </message>
+    <message>
+        <source>File operation canceled.</source>
+        <translation>Operacja anulowana.</translation>
     </message>
 </context>
 </TS>
diff --git a/ubi.pro b/ubi.pro
index 620d29c..c399160 100644 (file)
--- a/ubi.pro
+++ b/ubi.pro
@@ -43,7 +43,7 @@ SOURCES += main.cpp \
     utils.cpp
 
 # evil_hack_to_fool_lupdate
-#include(translation.pri)
+include(translation.pri)
 
 # Please do not modify the following two lines. Required for deployment.
 include(qmlapplicationviewer/qmlapplicationviewer.pri)
@@ -70,5 +70,5 @@ HEADERS += \
 
 TRANSLATIONS += translations/ubi.pl.ts
 
-RESOURCES += \
-    ubi.qrc
+#RESOURCES += \
+#    ubi.qrc
index 20ef615..af67d63 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by Qt Creator 2.4.1, 2012-05-06T15:27:39. -->
+<!-- Written by Qt Creator 2.4.1, 2012-05-15T22:53:24. -->
 <qtcreator>
  <data>
   <variable>ProjectExplorer.Project.ActiveTarget</variable>
        <value type="QDateTime">2012-04-28T10:41:48</value>
        <value type="QDateTime">2012-05-03T18:56:53</value>
        <value type="QDateTime">2012-05-05T14:55:15</value>
-       <value type="QDateTime">2012-05-06T15:26:36</value>
+       <value type="QDateTime">2012-05-15T22:51:39</value>
       </valuelist>
      </valuemap>
      <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">3</value>
       <value type="int" key="RemoteCompiler.BuildStep.PkgOpt">0</value>
       <value type="int" key="RemoteCompiler.BuildStep.PostOp">1</value>
       <value type="QString" key="RemoteCompiler.BuildStep.QtVersion">4_7_2_m1_1_1</value>
-      <value type="int" key="RemoteCompiler.BuildStep.SisOpt">0</value>
-      <value type="QString" key="RemoteCompiler.BuildStep.Target">s60_5_0</value>
+      <value type="int" key="RemoteCompiler.BuildStep.SisOpt">1</value>
+      <value type="QString" key="RemoteCompiler.BuildStep.Target">s60_5_0_n97</value>
      </valuemap>
      <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
diff --git a/ubi.zip b/ubi.zip
index 229e53b..e2c24bb 100644 (file)
Binary files a/ubi.zip and b/ubi.zip differ
index 5a458f2..fef0803 100644 (file)
--- a/utils.cpp
+++ b/utils.cpp
@@ -14,15 +14,15 @@ Utils::Utils(QmlApplicationViewer *viewer, QSettings *settings, QObject *parent)
 
 void Utils::minimizeWindow()
 {
-    #if defined(Q_WS_MAEMO_5)
-        // This is needed for Maemo5 to recognize minimization
-        QDBusConnection connection = QDBusConnection::sessionBus();
-        QDBusMessage message = QDBusMessage::createSignal(
-                    "/","com.nokia.hildon_desktop","exit_app_view");
-        connection.send(message);
-    #else
-        _viewer->setWindowState(Qt::WindowMinimized);
-    #endif
+#if defined(Q_WS_MAEMO_5)
+    // This is needed for Maemo5 to recognize minimization
+    QDBusConnection connection = QDBusConnection::sessionBus();
+    QDBusMessage message = QDBusMessage::createSignal(
+                "/","com.nokia.hildon_desktop","exit_app_view");
+    connection.send(message);
+#else
+    _viewer->setWindowState(Qt::WindowMinimized);
+#endif
 }
 
 void Utils::setOrientation(const QString &orientation)
@@ -243,9 +243,13 @@ void Utils::downloadFinished()
             emit downloadError(cur_filename);
         }
     }
+    else if (cur_reply->error() == QNetworkReply::OperationCanceledError)
+    {
+        emit operationCanceled(cur_filename);
+    }
     else
     {
-        qDebug() << "download error";
+        //qDebug() << "download error";
         emit downloadError(cur_filename);
     }
 
@@ -284,6 +288,8 @@ void Utils::uploadFile(const QString &folder, const QString &filename,
 
     emit uploadAdded(filename);
 
+    //qDebug() << "utils.cpp:uploadFile url=" << url;
+
     if(isFinished){
         start();
     }
@@ -306,12 +312,16 @@ void Utils::uploadFinished()
     {
         emit fileUploaded(cur_filename);
     }
+    else if (cur_reply->error() == QNetworkReply::OperationCanceledError)
+    {
+        emit operationCanceled(cur_filename);
+    }
     else
     {
         int httpStatus = cur_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
+
         //QString httpStatusMessage = cur_reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString();
         //QByteArray bytes = cur_reply->readAll();
-
         //qDebug() << "status: " << httpStatus << " " << httpStatusMessage;
         //qDebug() << "bytes: " << bytes;
 
@@ -319,10 +329,9 @@ void Utils::uploadFinished()
         {
             emit fileUploaded(cur_filename);
         } else {
-            qDebug() << "upload error";
+            //qDebug() << "upload error: " << httpStatus << " " << cur_reply->error() << " " << cur_reply->errorString();
             emit uploadError(cur_filename);
         }
-
     }
 
     cur_file->close();
@@ -351,8 +360,22 @@ void Utils::deleteFile(const QString &url, const QString &auth)
 
     QUrl _url(url);
     QNetworkRequest req(_url);
+
+    /*qDebug() << "url1=" << url;
+    qDebug() << "url2=" << req.url().toString();
+    qDebug() << "url3=" << req.url().path();*/
+
     //qDebug() << "auth: " << auth;
     req.setRawHeader("Authorization", auth.toAscii());
+
+    //qDebug() << "utils.cpp:uploadFile _nam=" << _nam->;
+
+    /*QList<QByteArray> l = req.rawHeaderList();
+    QList<QByteArray>::iterator i;
+    for(i=l.begin(); i!=l.end(); ++i)
+        qDebug() << "header=" << *i;
+        */
+
     temp_reply = _nam->deleteResource(req);
     connect(temp_reply,SIGNAL(finished()),this,SLOT(deleteFinished()));
     connect(temp_reply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(error(QNetworkReply::NetworkError)));
@@ -387,3 +410,33 @@ void Utils::setClipboardText(const QString &text)
     _clipboard->setText(text, QClipboard::Clipboard);
     _clipboard->setText(text, QClipboard::Selection);
 }
+
+bool  Utils::isMaemo()
+{
+#if defined(Q_WS_MAEMO_5)
+    return true;
+#endif
+    return false;
+}
+
+void Utils::cancelFile(const QString & filename)
+{
+    //qDebug() << "Utils::cancelFile";
+    if(!isFinished && cur_filename==filename)
+    {
+        cur_reply->abort();
+    }
+    else
+    {
+        int l = quee.size();
+        for(int i=0;i<l;++i) {
+            RequestData data = quee.at(i);
+            //qDebug() << data.filename;
+            if(data.filename==filename) {
+                quee.removeAt(i);
+                emit fileRemovedFromQuee(filename);
+                return;
+            }
+        }
+    }
+}
diff --git a/utils.h b/utils.h
index 9093eb4..cb48a1f 100644 (file)
--- a/utils.h
+++ b/utils.h
@@ -29,6 +29,8 @@ public:
     explicit Utils(QmlApplicationViewer *viewer, QSettings *settings, QObject *parent = 0);
 
     Q_INVOKABLE void setClipboardText(const QString &);
+    Q_INVOKABLE bool isMaemo();
+    Q_INVOKABLE void cancelFile(const QString &);
     
 signals:
     void downloadAdded(QString filename);
@@ -41,6 +43,8 @@ signals:
     void uploadError(QString filename);
     void fileDownloadProgress(QString filename, float progress);
     void fileUploadProgress(QString filename, float progress);
+    void operationCanceled(QString filename);
+    void fileRemovedFromQuee(QString filename);
 
     // U1 api
     void fileDeleted();