Merge pull request #575 from nextcloud/newSortingLayout
New sorting order dialog
|
@ -0,0 +1,74 @@
|
||||||
|
<?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"
|
||||||
|
version="1.1"
|
||||||
|
width="25.6"
|
||||||
|
height="25.6"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.92.0 r15299"
|
||||||
|
sodipodi:docname="alphabetical_asc.svg"
|
||||||
|
inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_alphabetical_asc.png"
|
||||||
|
inkscape:export-xdpi="360"
|
||||||
|
inkscape:export-ydpi="360">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1005"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="27.81"
|
||||||
|
inkscape:cx="5.6317334"
|
||||||
|
inkscape:cy="12"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<g
|
||||||
|
id="g4174"
|
||||||
|
transform="matrix(0.92801764,0,0,0.92801764,3.1474097,-0.40986228)"
|
||||||
|
style="fill:#757575;fill-opacity:1">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4"
|
||||||
|
d="m 4.9604453,12.687998 v 1.805869 h 4.0659743 v 0.05724 L 4.535752,20.951046 v 1.190987 H 11.86263 V 20.326932 H 7.4088934 v -0.07571 L 11.796157,13.954685 V 12.687992 H 4.9604453 Z"
|
||||||
|
style="fill:#757575;fill-opacity:1" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4-2"
|
||||||
|
d="M 6.9569297,2.3102604 4.0357798,11.764298 h 2.2416409 l 0.679509,-2.5536989 h 2.7328076 l 0.7367497,2.5536989 h 2.326579 L 9.7931408,2.3102604 Z m 1.314702,1.539974 h 0.027698 L 8.5356806,4.7587082 8.781264,5.6764144 9.3776808,7.6798582 H 7.2689873 L 7.8358603,5.6948791 8.0629788,4.7679408 Z"
|
||||||
|
style="fill:#757575;fill-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 19.12569,12.771205 -1.428741,-0.0014 -0.0086,6.184289 -1.53692,-1.544835 -1.015429,1.013386 3.263957,3.275355 3.275354,-3.263958 -1.013385,-1.015428 -1.544836,1.53692 z"
|
||||||
|
id="path4-3"
|
||||||
|
sodipodi:nodetypes="cccccccccc"
|
||||||
|
style="fill:#757575;fill-opacity:1" />
|
||||||
|
</svg>
|
После Ширина: | Высота: | Размер: 2.7 KiB |
|
@ -0,0 +1,69 @@
|
||||||
|
<?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"
|
||||||
|
version="1.1"
|
||||||
|
width="25.6"
|
||||||
|
height="25.6"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.92.0 r15299"
|
||||||
|
sodipodi:docname="alphabetical_desc.svg"
|
||||||
|
inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_alphabetical_desc.png"
|
||||||
|
inkscape:export-xdpi="360"
|
||||||
|
inkscape:export-ydpi="360">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1005"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="27.81"
|
||||||
|
inkscape:cx="-2.5868955"
|
||||||
|
inkscape:cy="12"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<path
|
||||||
|
style="fill:#757575;fill-opacity:1"
|
||||||
|
d="m 7.7507904,1.734489 v 1.675878 h 3.7732956 v 0.05312 L 7.3566676,9.402743 V 10.508 H 14.15614 V 8.823554 H 10.022993 V 8.753294 L 14.094451,2.909997 V 1.734483 H 7.7507904 Z"
|
||||||
|
id="path4"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
style="fill:#757575;fill-opacity:1"
|
||||||
|
d="M 9.6035632,11.364486 6.8926845,20.138 H 8.9729668 L 9.6035632,17.768122 H 12.139657 L 12.823374,20.138 h 2.159106 l -2.746863,-8.773514 z m 1.2200668,1.429123 h 0.0257 l 0.219338,0.84308 0.227906,0.851647 0.553485,1.859232 H 9.8931541 l 0.5260679,-1.842096 0.21077,-0.860215 0.193634,-0.851648 z"
|
||||||
|
id="path4-2"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 19.12569,12.771205 -1.428741,-0.0014 -0.0086,6.184289 -1.53692,-1.544835 -1.015429,1.013386 3.263957,3.275355 3.275354,-3.263958 -1.013385,-1.015428 -1.544836,1.53692 z"
|
||||||
|
id="path4-3"
|
||||||
|
sodipodi:nodetypes="cccccccccc"
|
||||||
|
style="fill:#757575;fill-opacity:1" />
|
||||||
|
</svg>
|
После Ширина: | Высота: | Размер: 2.6 KiB |
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z" /></svg>
|
После Ширина: | Высота: | Размер: 366 B |
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z" /></svg>
|
После Ширина: | Высота: | Размер: 426 B |
|
@ -0,0 +1,64 @@
|
||||||
|
<?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"
|
||||||
|
version="1.1"
|
||||||
|
width="25.6"
|
||||||
|
height="25.6"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.92.0 r15299"
|
||||||
|
sodipodi:docname="modified_asc.svg"
|
||||||
|
inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_modification_asc.png"
|
||||||
|
inkscape:export-xdpi="360"
|
||||||
|
inkscape:export-ydpi="360">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<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="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1005"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="22.63"
|
||||||
|
inkscape:cx="15.581769"
|
||||||
|
inkscape:cy="6.7845462"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<path
|
||||||
|
style="fill:#757575;fill-opacity:1;stroke-width:1.06666672"
|
||||||
|
d="M 11.589844 2.1328125 A 9.4570668 9.4570668 0 0 0 2.1328125 11.589844 C 2.1328125 16.79123 6.3600875 21.048828 11.589844 21.048828 A 9.4570668 9.4570668 0 0 0 13.015625 20.921875 L 13.015625 19.017578 A 7.5656534 7.5656534 0 0 1 11.589844 19.15625 A 7.5656534 7.5656534 0 0 1 4.0253906 11.589844 A 7.5656534 7.5656534 0 0 1 11.589844 4.0253906 A 7.5656534 7.5656534 0 0 1 18.978516 10 L 20.902344 10 A 9.4570668 9.4570668 0 0 0 11.589844 2.1328125 z M 10.644531 6.8632812 L 10.644531 12.535156 L 13.015625 13.957031 L 13.015625 12.392578 L 12.0625 11.826172 L 12.0625 6.8632812 L 10.644531 6.8632812 z "
|
||||||
|
transform="scale(0.93749999)"
|
||||||
|
id="path4" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 13.720313,16.930993 h 5.580275 v -1.736354 h -5.580275 m 0,-4.340882 v 1.736354 h 8.370413 v -1.736354 m -8.370413,10.418118 h 2.790138 v -1.736351 h -2.790138 z"
|
||||||
|
id="path4-8"
|
||||||
|
style="fill:#757575;fill-opacity:1;stroke-width:1.16980636" />
|
||||||
|
</svg>
|
После Ширина: | Высота: | Размер: 2.6 KiB |
|
@ -0,0 +1,63 @@
|
||||||
|
<?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"
|
||||||
|
version="1.1"
|
||||||
|
width="25.6"
|
||||||
|
height="25.6"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.92.0 r15299"
|
||||||
|
sodipodi:docname="modified_desc.svg"
|
||||||
|
inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_modified_desc.png"
|
||||||
|
inkscape:export-xdpi="360"
|
||||||
|
inkscape:export-ydpi="360">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1005"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="22.63"
|
||||||
|
inkscape:cx="15.581769"
|
||||||
|
inkscape:cy="6.7845462"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<path
|
||||||
|
style="fill:#757575;fill-opacity:1;stroke-width:1.06666672"
|
||||||
|
d="M 11.589844 2.1328125 A 9.4570668 9.4570668 0 0 0 2.1328125 11.589844 C 2.1328125 16.79123 6.3600875 21.048828 11.589844 21.048828 A 9.4570668 9.4570668 0 0 0 13.015625 20.921875 L 13.015625 19.017578 A 7.5656534 7.5656534 0 0 1 11.589844 19.15625 A 7.5656534 7.5656534 0 0 1 4.0253906 11.589844 A 7.5656534 7.5656534 0 0 1 11.589844 4.0253906 A 7.5656534 7.5656534 0 0 1 18.978516 10 L 20.902344 10 A 9.4570668 9.4570668 0 0 0 11.589844 2.1328125 z M 10.644531 6.8632812 L 10.644531 12.535156 L 13.015625 13.957031 L 13.015625 12.392578 L 12.0625 11.826172 L 12.0625 6.8632812 L 10.644531 6.8632812 z "
|
||||||
|
transform="scale(0.93749999)"
|
||||||
|
id="path4" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 13.720313,15.194639 h 5.580275 v 1.736354 h -5.580275 m 0,4.340882 v -1.736354 h 8.370413 v 1.736354 M 13.720313,10.853757 h 2.790138 v 1.736351 h -2.790138 z"
|
||||||
|
id="path4-8"
|
||||||
|
style="fill:#757575;fill-opacity:1;stroke-width:1.16980636" />
|
||||||
|
</svg>
|
После Ширина: | Высота: | Размер: 2.6 KiB |
|
@ -0,0 +1,77 @@
|
||||||
|
<?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"
|
||||||
|
version="1.1"
|
||||||
|
width="25.6"
|
||||||
|
height="25.6"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.92.0 r15299"
|
||||||
|
sodipodi:docname="size_asc.svg"
|
||||||
|
inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_size_asc.png"
|
||||||
|
inkscape:export-xdpi="360"
|
||||||
|
inkscape:export-ydpi="360">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<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="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1005"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="22.627418"
|
||||||
|
inkscape:cx="15.398362"
|
||||||
|
inkscape:cy="7.3901816"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer3"
|
||||||
|
inkscape:label="Layer 3" />
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer2"
|
||||||
|
inkscape:label="Layer 2"
|
||||||
|
style="display:inline" />
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 13.720501,15.194819 h 5.580275 v 1.736354 h -5.580275 m 0,4.340882 v -1.736354 h 8.370414 v 1.736354 M 13.720501,10.853937 h 2.790138 v 1.736351 h -2.790138 z"
|
||||||
|
id="path4-8"
|
||||||
|
style="fill:#757575;fill-opacity:1;stroke-width:1.16980636" />
|
||||||
|
<path
|
||||||
|
style="fill:#757575;fill-opacity:1;stroke-width:1.06666672"
|
||||||
|
d="M 10.412109 1.8046875 A 9.4570668 9.4570668 0 0 0 0.95507812 11.259766 A 9.4570668 9.4570668 0 0 0 10.412109 20.71875 A 9.4570668 9.4570668 0 0 0 13.015625 20.337891 L 13.015625 18.351562 A 7.5656534 7.5656534 0 0 1 10.412109 18.826172 A 7.5656534 7.5656534 0 0 1 2.8457031 11.259766 A 7.5656534 7.5656534 0 0 1 10.412109 3.6953125 A 7.5656534 7.5656534 0 0 1 17.869141 10 L 19.773438 10 A 9.4570668 9.4570668 0 0 0 10.412109 1.8046875 z M 10.412109 5.5878906 L 10.412109 11.259766 L 6.4023438 15.269531 C 8.191236 17.058424 10.881148 17.400168 13.015625 16.296875 L 13.015625 10 L 15.941406 10 C 15.711784 8.9928477 15.206905 8.0355871 14.419922 7.2519531 C 13.313445 6.1360192 11.859041 5.5878906 10.412109 5.5878906 z "
|
||||||
|
transform="scale(0.93749999)"
|
||||||
|
id="path4-88" />
|
||||||
|
</svg>
|
После Ширина: | Высота: | Размер: 3.0 KiB |
|
@ -0,0 +1,76 @@
|
||||||
|
<?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"
|
||||||
|
version="1.1"
|
||||||
|
width="25.6"
|
||||||
|
height="25.6"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
id="svg2"
|
||||||
|
inkscape:version="0.92.0 r15299"
|
||||||
|
sodipodi:docname="size_desc.svg"
|
||||||
|
inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_size_desc.png"
|
||||||
|
inkscape:export-xdpi="360"
|
||||||
|
inkscape:export-ydpi="360">
|
||||||
|
<metadata
|
||||||
|
id="metadata10">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs8" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1005"
|
||||||
|
id="namedview6"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="22.63"
|
||||||
|
inkscape:cx="11.152894"
|
||||||
|
inkscape:cy="8.874615"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2" />
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer3"
|
||||||
|
inkscape:label="Layer 3" />
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer2"
|
||||||
|
inkscape:label="Layer 2"
|
||||||
|
style="display:inline" />
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1" />
|
||||||
|
<path
|
||||||
|
style="fill:#757575;fill-opacity:1;stroke-width:1.06666672"
|
||||||
|
d="M 10.412109 1.8046875 A 9.4570668 9.4570668 0 0 0 0.95507812 11.259766 A 9.4570668 9.4570668 0 0 0 10.412109 20.71875 A 9.4570668 9.4570668 0 0 0 13.015625 20.337891 L 13.015625 18.351562 A 7.5656534 7.5656534 0 0 1 10.412109 18.826172 A 7.5656534 7.5656534 0 0 1 2.8457031 11.259766 A 7.5656534 7.5656534 0 0 1 10.412109 3.6953125 A 7.5656534 7.5656534 0 0 1 17.869141 10 L 19.773438 10 A 9.4570668 9.4570668 0 0 0 10.412109 1.8046875 z M 10.412109 5.5878906 L 10.412109 11.259766 L 6.4023438 15.269531 C 8.191236 17.058424 10.881148 17.400168 13.015625 16.296875 L 13.015625 10 L 15.941406 10 C 15.711784 8.9928477 15.206905 8.0355871 14.419922 7.2519531 C 13.313445 6.1360192 11.859041 5.5878906 10.412109 5.5878906 z "
|
||||||
|
transform="scale(0.93749999)"
|
||||||
|
id="path4-88" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 13.720312,16.930993 h 5.580275 v -1.736354 h -5.580275 m 0,-4.340882 v 1.736354 h 8.370413 v -1.736354 m -8.370413,10.418118 h 2.790138 v -1.736351 h -2.790138 z"
|
||||||
|
id="path4-8"
|
||||||
|
style="fill:#757575;fill-opacity:1;stroke-width:1.16980636" />
|
||||||
|
</svg>
|
После Ширина: | Высота: | Размер: 3.0 KiB |
|
@ -80,6 +80,7 @@ import com.owncloud.android.operations.SynchronizeFileOperation;
|
||||||
import com.owncloud.android.operations.UploadFileOperation;
|
import com.owncloud.android.operations.UploadFileOperation;
|
||||||
import com.owncloud.android.services.observer.FileObserverService;
|
import com.owncloud.android.services.observer.FileObserverService;
|
||||||
import com.owncloud.android.syncadapter.FileSyncAdapter;
|
import com.owncloud.android.syncadapter.FileSyncAdapter;
|
||||||
|
import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
|
||||||
import com.owncloud.android.ui.fragment.FileDetailFragment;
|
import com.owncloud.android.ui.fragment.FileDetailFragment;
|
||||||
import com.owncloud.android.ui.fragment.FileFragment;
|
import com.owncloud.android.ui.fragment.FileFragment;
|
||||||
import com.owncloud.android.ui.fragment.OCFileListFragment;
|
import com.owncloud.android.ui.fragment.OCFileListFragment;
|
||||||
|
@ -99,6 +100,7 @@ import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import static com.owncloud.android.db.PreferenceManager.getSortAscending;
|
||||||
import static com.owncloud.android.db.PreferenceManager.getSortOrder;
|
import static com.owncloud.android.db.PreferenceManager.getSortOrder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -107,7 +109,7 @@ import static com.owncloud.android.db.PreferenceManager.getSortOrder;
|
||||||
|
|
||||||
public class FileDisplayActivity extends HookActivity
|
public class FileDisplayActivity extends HookActivity
|
||||||
implements FileFragment.ContainerActivity,
|
implements FileFragment.ContainerActivity,
|
||||||
OnEnforceableRefreshListener {
|
OnEnforceableRefreshListener, SortingOrderDialogFragment.OnSortingOrderListener {
|
||||||
|
|
||||||
private SyncBroadcastReceiver mSyncBroadcastReceiver;
|
private SyncBroadcastReceiver mSyncBroadcastReceiver;
|
||||||
private UploadFinishReceiver mUploadFinishReceiver;
|
private UploadFinishReceiver mUploadFinishReceiver;
|
||||||
|
@ -123,6 +125,8 @@ public class FileDisplayActivity extends HookActivity
|
||||||
private static final String KEY_WAITING_TO_SEND = "WAITING_TO_SEND";
|
private static final String KEY_WAITING_TO_SEND = "WAITING_TO_SEND";
|
||||||
private static final String KEY_SEARCH_QUERY = "KEY_SEARCH_QUERY";
|
private static final String KEY_SEARCH_QUERY = "KEY_SEARCH_QUERY";
|
||||||
|
|
||||||
|
private static final String SORT_ORDER_DIALOG_TAG = "SORT_ORDER_DIALOG";
|
||||||
|
|
||||||
public static final String ACTION_DETAILS = "com.owncloud.android.ui.activity.action.DETAILS";
|
public static final String ACTION_DETAILS = "com.owncloud.android.ui.activity.action.DETAILS";
|
||||||
|
|
||||||
public static final int REQUEST_CODE__SELECT_CONTENT_FROM_APPS = REQUEST_CODE__LAST_SHARED + 1;
|
public static final int REQUEST_CODE__SELECT_CONTENT_FROM_APPS = REQUEST_CODE__LAST_SHARED + 1;
|
||||||
|
@ -700,28 +704,16 @@ public class FileDisplayActivity extends HookActivity
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case R.id.action_sort: {
|
case R.id.action_sort: {
|
||||||
Integer sortOrder = getSortOrder(this);
|
FragmentManager fm = getSupportFragmentManager();
|
||||||
|
FragmentTransaction ft = fm.beginTransaction();
|
||||||
|
ft.addToBackStack(null);
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
SortingOrderDialogFragment mSortingOrderDialogFragment = SortingOrderDialogFragment.newInstance(
|
||||||
builder.setTitle(R.string.actionbar_sort_title)
|
getSortOrder(this),
|
||||||
.setSingleChoiceItems(R.array.menu_items_sort_by_options, sortOrder,
|
getSortAscending(this)
|
||||||
new DialogInterface.OnClickListener() {
|
);
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
mSortingOrderDialogFragment.show(ft, SORT_ORDER_DIALOG_TAG);
|
||||||
switch (which) {
|
|
||||||
case 0:
|
|
||||||
sortByName(true);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
sortByDate(false);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
sortBySize(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
dialog.dismiss();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
builder.create().show();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case R.id.action_switch_view: {
|
case R.id.action_switch_view: {
|
||||||
|
@ -1076,6 +1068,33 @@ public class FileDisplayActivity extends HookActivity
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSortingOrderChosen(int selection) {
|
||||||
|
switch (selection) {
|
||||||
|
case SortingOrderDialogFragment.BY_NAME_ASC:
|
||||||
|
sortByName(true);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_NAME_DESC:
|
||||||
|
sortByName(false);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_MODIFICATION_DATE_ASC:
|
||||||
|
sortByDate(true);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_MODIFICATION_DATE_DESC:
|
||||||
|
sortByDate(false);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_SIZE_ASC:
|
||||||
|
sortBySize(true);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_SIZE_DESC:
|
||||||
|
sortBySize(false);
|
||||||
|
break;
|
||||||
|
default: // defaulting to alphabetical-ascending
|
||||||
|
Log_OC.w(TAG, "Unknown sort order, defaulting to alphabetical-ascending!");
|
||||||
|
sortByName(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private class SyncBroadcastReceiver extends BroadcastReceiver {
|
private class SyncBroadcastReceiver extends BroadcastReceiver {
|
||||||
|
|
||||||
|
|
|
@ -22,14 +22,14 @@ package com.owncloud.android.ui.activity;
|
||||||
|
|
||||||
import android.accounts.Account;
|
import android.accounts.Account;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
|
import android.support.v4.app.FragmentManager;
|
||||||
|
import android.support.v4.app.FragmentTransaction;
|
||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -47,12 +47,16 @@ import com.owncloud.android.lib.common.utils.Log_OC;
|
||||||
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
|
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
|
||||||
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
|
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
|
||||||
import com.owncloud.android.ui.dialog.IndeterminateProgressDialog;
|
import com.owncloud.android.ui.dialog.IndeterminateProgressDialog;
|
||||||
|
import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
|
||||||
import com.owncloud.android.ui.fragment.ExtendedListFragment;
|
import com.owncloud.android.ui.fragment.ExtendedListFragment;
|
||||||
import com.owncloud.android.ui.fragment.LocalFileListFragment;
|
import com.owncloud.android.ui.fragment.LocalFileListFragment;
|
||||||
import com.owncloud.android.utils.FileStorageUtils;
|
import com.owncloud.android.utils.FileStorageUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
import static com.owncloud.android.db.PreferenceManager.getSortAscending;
|
||||||
|
import static com.owncloud.android.db.PreferenceManager.getSortOrder;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays local files and let the user choose what of them wants to upload
|
* Displays local files and let the user choose what of them wants to upload
|
||||||
|
@ -60,8 +64,10 @@ import java.io.File;
|
||||||
*/
|
*/
|
||||||
public class UploadFilesActivity extends FileActivity implements
|
public class UploadFilesActivity extends FileActivity implements
|
||||||
LocalFileListFragment.ContainerActivity, ActionBar.OnNavigationListener,
|
LocalFileListFragment.ContainerActivity, ActionBar.OnNavigationListener,
|
||||||
OnClickListener, ConfirmationDialogFragmentListener {
|
OnClickListener, ConfirmationDialogFragmentListener, SortingOrderDialogFragment.OnSortingOrderListener {
|
||||||
|
|
||||||
|
private static final String SORT_ORDER_DIALOG_TAG = "SORT_ORDER_DIALOG";
|
||||||
|
|
||||||
private ArrayAdapter<String> mDirectories;
|
private ArrayAdapter<String> mDirectories;
|
||||||
private File mCurrentDir = null;
|
private File mCurrentDir = null;
|
||||||
private boolean mSelectAll = false;
|
private boolean mSelectAll = false;
|
||||||
|
@ -207,27 +213,16 @@ public class UploadFilesActivity extends FileActivity implements
|
||||||
// Read sorting order, default to sort by name ascending
|
// Read sorting order, default to sort by name ascending
|
||||||
Integer sortOrder = PreferenceManager.getSortOrder(this);
|
Integer sortOrder = PreferenceManager.getSortOrder(this);
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
FragmentManager fm = getSupportFragmentManager();
|
||||||
builder.setTitle(R.string.actionbar_sort_title)
|
FragmentTransaction ft = fm.beginTransaction();
|
||||||
.setSingleChoiceItems(R.array.menu_items_sort_by_options, sortOrder,
|
ft.addToBackStack(null);
|
||||||
new DialogInterface.OnClickListener() {
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
SortingOrderDialogFragment mSortingOrderDialogFragment = SortingOrderDialogFragment.newInstance(
|
||||||
switch (which){
|
getSortOrder(this),
|
||||||
case 0:
|
getSortAscending(this)
|
||||||
mFileListFragment.sortByName(true);
|
);
|
||||||
break;
|
mSortingOrderDialogFragment.show(ft, SORT_ORDER_DIALOG_TAG);
|
||||||
case 1:
|
|
||||||
mFileListFragment.sortByDate(false);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
mFileListFragment.sortBySize(false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
dialog.dismiss();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
builder.create().show();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case R.id.action_switch_view: {
|
case R.id.action_switch_view: {
|
||||||
|
@ -248,6 +243,33 @@ public class UploadFilesActivity extends FileActivity implements
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSortingOrderChosen(int selection) {
|
||||||
|
switch (selection) {
|
||||||
|
case SortingOrderDialogFragment.BY_NAME_ASC:
|
||||||
|
mFileListFragment.sortByName(true);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_NAME_DESC:
|
||||||
|
mFileListFragment.sortByName(false);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_MODIFICATION_DATE_ASC:
|
||||||
|
mFileListFragment.sortByDate(true);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_MODIFICATION_DATE_DESC:
|
||||||
|
mFileListFragment.sortByDate(false);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_SIZE_ASC:
|
||||||
|
mFileListFragment.sortBySize(true);
|
||||||
|
break;
|
||||||
|
case SortingOrderDialogFragment.BY_SIZE_DESC:
|
||||||
|
mFileListFragment.sortBySize(false);
|
||||||
|
break;
|
||||||
|
default: // defaulting to alphabetical-ascending
|
||||||
|
Log_OC.w(TAG, "Unknown sort order, defaulting to alphabetical-ascending!");
|
||||||
|
mFileListFragment.sortByName(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
|
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
|
||||||
|
|
|
@ -0,0 +1,261 @@
|
||||||
|
/**
|
||||||
|
* Nextcloud Android client application
|
||||||
|
*
|
||||||
|
* @author Andy Scherzinger
|
||||||
|
* Copyright (C) 2017 Andy Scherzinger
|
||||||
|
* Copyright (C) 2017 Nextcloud
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 3 of the License, or any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public
|
||||||
|
* License along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.owncloud.android.ui.dialog;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.graphics.Typeface;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.v4.app.DialogFragment;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ImageButton;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.owncloud.android.R;
|
||||||
|
import com.owncloud.android.lib.common.utils.Log_OC;
|
||||||
|
import com.owncloud.android.utils.DisplayUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dialog to show and choose the sorting order for the file listing.
|
||||||
|
*/
|
||||||
|
public class SortingOrderDialogFragment extends DialogFragment {
|
||||||
|
|
||||||
|
private final static String TAG = SortingOrderDialogFragment.class.getSimpleName();
|
||||||
|
|
||||||
|
private static final String KEY_SORT_ORDER = "SORT_ORDER";
|
||||||
|
private static final String KEY_ASCENDING = "ASCENDING";
|
||||||
|
|
||||||
|
public static final int BY_NAME_ASC = 0;
|
||||||
|
public static final int BY_NAME_DESC = 1;
|
||||||
|
public static final int BY_MODIFICATION_DATE_ASC = 2;
|
||||||
|
public static final int BY_MODIFICATION_DATE_DESC = 3;
|
||||||
|
public static final int BY_SIZE_ASC = 4;
|
||||||
|
public static final int BY_SIZE_DESC = 5;
|
||||||
|
|
||||||
|
private View mView = null;
|
||||||
|
private ImageButton mSortByNameAscendingButton = null;
|
||||||
|
private ImageButton mSortByNameDescendingButton = null;
|
||||||
|
private ImageButton mSortBySizeAscendingButton = null;
|
||||||
|
private ImageButton mSortBySizeDescendingButton = null;
|
||||||
|
private ImageButton mSortByModificationDateAscendingButton = null;
|
||||||
|
private ImageButton mSortByModificationDateDescendingButton = null;
|
||||||
|
|
||||||
|
private TextView mSortByNameAscendingText = null;
|
||||||
|
private TextView mSortByNameDescendingText = null;
|
||||||
|
private TextView mSortBySizeAscendingText = null;
|
||||||
|
private TextView mSortBySizeDescendingText = null;
|
||||||
|
private TextView mSortByModificationDateAscendingText = null;
|
||||||
|
private TextView mSortByModificationDateDescendingText = null;
|
||||||
|
|
||||||
|
private int mSortOrder;
|
||||||
|
private boolean mSortAscending;
|
||||||
|
|
||||||
|
public static SortingOrderDialogFragment newInstance(int sortOrder, boolean ascending) {
|
||||||
|
SortingOrderDialogFragment dialogFragment = new SortingOrderDialogFragment();
|
||||||
|
|
||||||
|
Bundle args = new Bundle();
|
||||||
|
args.putInt(KEY_SORT_ORDER, sortOrder);
|
||||||
|
args.putBoolean(KEY_ASCENDING, ascending);
|
||||||
|
dialogFragment.setArguments(args);
|
||||||
|
|
||||||
|
dialogFragment.setStyle(STYLE_NORMAL, R.style.Theme_ownCloud_Dialog);
|
||||||
|
|
||||||
|
return dialogFragment;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
// keep the state of the fragment on configuration changes
|
||||||
|
setRetainInstance(true);
|
||||||
|
|
||||||
|
mView = null;
|
||||||
|
|
||||||
|
mSortOrder = getArguments().getInt(KEY_SORT_ORDER, BY_NAME_ASC);
|
||||||
|
mSortAscending = getArguments().getBoolean(KEY_ASCENDING, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
|
Log_OC.d(TAG, "onCreateView, savedInstanceState is " + savedInstanceState);
|
||||||
|
|
||||||
|
mView = inflater.inflate(R.layout.sorting_order_fragment, container, false);
|
||||||
|
|
||||||
|
setupDialogElements(mView);
|
||||||
|
setupListeners(mView);
|
||||||
|
|
||||||
|
return mView;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* find all relevant UI elements and set their values.
|
||||||
|
*
|
||||||
|
* @param view the parent view
|
||||||
|
*/
|
||||||
|
private void setupDialogElements(View view) {
|
||||||
|
// find/saves UI elements
|
||||||
|
mSortByNameAscendingButton = (ImageButton) view.findViewById(R.id.sortByNameAscending);
|
||||||
|
mSortByNameDescendingButton = (ImageButton) view.findViewById(R.id.sortByNameDescending);
|
||||||
|
mSortByModificationDateAscendingButton = (ImageButton) view.findViewById(R.id.sortByModificationDateAscending);
|
||||||
|
mSortByModificationDateDescendingButton = (ImageButton) view.findViewById(R.id.sortByModificationDateDescending);
|
||||||
|
mSortBySizeAscendingButton = (ImageButton) view.findViewById(R.id.sortBySizeAscending);
|
||||||
|
mSortBySizeDescendingButton = (ImageButton) view.findViewById(R.id.sortBySizeDescending);
|
||||||
|
|
||||||
|
mSortByNameAscendingText = (TextView) view.findViewById(R.id.sortByNameAZText);
|
||||||
|
mSortByNameDescendingText = (TextView) view.findViewById(R.id.sortByNameZAText);
|
||||||
|
mSortByModificationDateAscendingText = (TextView) view.findViewById(R.id.sortByModificationDateOldestFirstText);
|
||||||
|
mSortByModificationDateDescendingText = (TextView) view.findViewById(R.id.sortByModificationDateNewestFirstText);
|
||||||
|
mSortBySizeAscendingText = (TextView) view.findViewById(R.id.sortBySizeSmallestFirstText);
|
||||||
|
mSortBySizeDescendingText = (TextView) view.findViewById(R.id.sortBySizeBiggestFirstText);
|
||||||
|
|
||||||
|
mSortByNameAscendingButton.setTag(BY_NAME_ASC);
|
||||||
|
mSortByNameDescendingButton.setTag(BY_NAME_DESC);
|
||||||
|
mSortByModificationDateAscendingButton.setTag(BY_MODIFICATION_DATE_ASC);
|
||||||
|
mSortByModificationDateDescendingButton.setTag(BY_MODIFICATION_DATE_DESC);
|
||||||
|
mSortBySizeAscendingButton.setTag(BY_SIZE_ASC);
|
||||||
|
mSortBySizeDescendingButton.setTag(BY_SIZE_DESC);
|
||||||
|
|
||||||
|
mSortByNameAscendingText.setTag(BY_NAME_ASC);
|
||||||
|
mSortByNameDescendingText.setTag(BY_NAME_DESC);
|
||||||
|
mSortByModificationDateAscendingText.setTag(BY_MODIFICATION_DATE_ASC);
|
||||||
|
mSortByModificationDateDescendingText.setTag(BY_MODIFICATION_DATE_DESC);
|
||||||
|
mSortBySizeAscendingText.setTag(BY_SIZE_ASC);
|
||||||
|
mSortBySizeDescendingText.setTag(BY_SIZE_DESC);
|
||||||
|
|
||||||
|
setupActiveOrderSelection();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* tints the icon reflecting the actual sorting choice in the apps primary color.
|
||||||
|
*/
|
||||||
|
private void setupActiveOrderSelection() {
|
||||||
|
if (mSortAscending) {
|
||||||
|
switch (mSortOrder) {
|
||||||
|
case 0:
|
||||||
|
colorActiveSortingIconAndText(mSortByNameAscendingButton,
|
||||||
|
mSortByNameAscendingText);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
colorActiveSortingIconAndText(mSortByModificationDateAscendingButton,
|
||||||
|
mSortByModificationDateAscendingText);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
colorActiveSortingIconAndText(mSortBySizeAscendingButton,
|
||||||
|
mSortBySizeAscendingText);
|
||||||
|
break;
|
||||||
|
default: //do nothing
|
||||||
|
Log_OC.w(TAG, "Unknown sort order " + mSortOrder);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
switch (mSortOrder) {
|
||||||
|
case 0:
|
||||||
|
colorActiveSortingIconAndText(mSortByNameDescendingButton,
|
||||||
|
mSortByNameDescendingText);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
colorActiveSortingIconAndText(mSortByModificationDateDescendingButton,
|
||||||
|
mSortByModificationDateDescendingText);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
colorActiveSortingIconAndText(mSortBySizeDescendingButton,
|
||||||
|
mSortBySizeDescendingText);
|
||||||
|
break;
|
||||||
|
default: //do nothing
|
||||||
|
Log_OC.w(TAG, "Unknown sort order " + mSortOrder);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the text color and tint the icon of given text view and image button.
|
||||||
|
*
|
||||||
|
* @param imageButton the image button, the icon to be tinted
|
||||||
|
* @param textView the text view, the text color to be set
|
||||||
|
*/
|
||||||
|
private void colorActiveSortingIconAndText(ImageButton imageButton, TextView textView) {
|
||||||
|
int color = getResources().getColor(R.color.color_accent);
|
||||||
|
DisplayUtils.colorImageButton(imageButton, color);
|
||||||
|
textView.setTextColor(color);
|
||||||
|
textView.setTypeface(Typeface.DEFAULT_BOLD);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* setup all listeners.
|
||||||
|
*
|
||||||
|
* @param view the parent view
|
||||||
|
*/
|
||||||
|
private void setupListeners(View view) {
|
||||||
|
view.findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
OnSortingOrderClickListener sortingClickListener = new OnSortingOrderClickListener();
|
||||||
|
|
||||||
|
mSortByNameAscendingButton.setOnClickListener(sortingClickListener);
|
||||||
|
mSortByNameDescendingButton.setOnClickListener(sortingClickListener);
|
||||||
|
mSortByModificationDateAscendingButton.setOnClickListener(sortingClickListener);
|
||||||
|
mSortByModificationDateDescendingButton.setOnClickListener(sortingClickListener);
|
||||||
|
mSortBySizeAscendingButton.setOnClickListener(sortingClickListener);
|
||||||
|
mSortBySizeDescendingButton.setOnClickListener(sortingClickListener);
|
||||||
|
|
||||||
|
mSortByNameAscendingText.setOnClickListener(sortingClickListener);
|
||||||
|
mSortByNameDescendingText.setOnClickListener(sortingClickListener);
|
||||||
|
mSortByModificationDateAscendingText.setOnClickListener(sortingClickListener);
|
||||||
|
mSortByModificationDateDescendingText.setOnClickListener(sortingClickListener);
|
||||||
|
mSortBySizeAscendingText.setOnClickListener(sortingClickListener);
|
||||||
|
mSortBySizeDescendingText.setOnClickListener(sortingClickListener);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
|
return super.onCreateDialog(savedInstanceState);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroyView() {
|
||||||
|
Log_OC.d(TAG, "destroy SortingOrderDialogFragment view");
|
||||||
|
if (getDialog() != null && getRetainInstance()) {
|
||||||
|
getDialog().setDismissMessage(null);
|
||||||
|
}
|
||||||
|
super.onDestroyView();
|
||||||
|
}
|
||||||
|
|
||||||
|
private class OnSortingOrderClickListener implements View.OnClickListener {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
dismissAllowingStateLoss();
|
||||||
|
((SortingOrderDialogFragment.OnSortingOrderListener) getActivity()).onSortingOrderChosen((int) v.getTag());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface OnSortingOrderListener {
|
||||||
|
void onSortingOrderChosen(int selection);
|
||||||
|
}
|
||||||
|
}
|
|
@ -43,6 +43,7 @@ import android.text.SpannableStringBuilder;
|
||||||
import android.text.format.DateUtils;
|
import android.text.format.DateUtils;
|
||||||
import android.text.style.StyleSpan;
|
import android.text.style.StyleSpan;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.ImageButton;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.SeekBar;
|
import android.widget.SeekBar;
|
||||||
|
|
||||||
|
@ -321,6 +322,17 @@ public class DisplayUtils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sets the tinting of the given ImageButton's icon to color_accent.
|
||||||
|
*
|
||||||
|
* @param imageButton the image button who's icon should be colored
|
||||||
|
*/
|
||||||
|
public static void colorImageButton(ImageButton imageButton, @ColorInt int color) {
|
||||||
|
if (imageButton != null) {
|
||||||
|
imageButton.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sets the coloring of the given progress bar to color_accent.
|
* sets the coloring of the given progress bar to color_accent.
|
||||||
*
|
*
|
||||||
|
|
После Ширина: | Высота: | Размер: 958 B |
После Ширина: | Высота: | Размер: 976 B |
После Ширина: | Высота: | Размер: 1.1 KiB |
После Ширина: | Высота: | Размер: 1.1 KiB |
После Ширина: | Высота: | Размер: 1.3 KiB |
После Ширина: | Высота: | Размер: 1.3 KiB |
После Ширина: | Высота: | Размер: 739 B |
После Ширина: | Высота: | Размер: 728 B |
После Ширина: | Высота: | Размер: 839 B |
После Ширина: | Высота: | Размер: 836 B |
После Ширина: | Высота: | Размер: 911 B |
После Ширина: | Высота: | Размер: 919 B |
После Ширина: | Высота: | Размер: 1.3 KiB |
После Ширина: | Высота: | Размер: 1.3 KiB |
После Ширина: | Высота: | Размер: 1.5 KiB |
После Ширина: | Высота: | Размер: 1.5 KiB |
После Ширина: | Высота: | Размер: 1.6 KiB |
После Ширина: | Высота: | Размер: 1.6 KiB |
После Ширина: | Высота: | Размер: 1.7 KiB |
После Ширина: | Высота: | Размер: 1.7 KiB |
После Ширина: | Высота: | Размер: 2.0 KiB |
После Ширина: | Высота: | Размер: 2.0 KiB |
После Ширина: | Высота: | Размер: 2.3 KiB |
После Ширина: | Высота: | Размер: 2.3 KiB |
После Ширина: | Высота: | Размер: 2.2 KiB |
После Ширина: | Высота: | Размер: 2.2 KiB |
После Ширина: | Высота: | Размер: 2.6 KiB |
После Ширина: | Высота: | Размер: 2.6 KiB |
После Ширина: | Высота: | Размер: 2.9 KiB |
После Ширина: | Высота: | Размер: 2.9 KiB |
|
@ -0,0 +1,266 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Nextcloud Android client application
|
||||||
|
|
||||||
|
Copyright (C) 2017 Andy Scherzinger
|
||||||
|
Copyright (C) 2017 Nextcloud
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 3 of the License, or any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Affero General Public
|
||||||
|
License along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
-->
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/root"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:minWidth="300dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/header"
|
||||||
|
style="@style/Base.DialogWindowTitle.AppCompat"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="@dimen/standard_margin"
|
||||||
|
android:text="@string/sort_by"/>
|
||||||
|
|
||||||
|
<ScrollView
|
||||||
|
android:id="@+id/scrollableSortings"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="1">
|
||||||
|
|
||||||
|
<TableLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TableRow
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/sortByNameAscending"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingLeft="@dimen/standard_padding"
|
||||||
|
android:paddingRight="@dimen/standard_half_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:src="@drawable/ic_alphabetical_asc"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/sortByNameAZText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="middle"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingRight="@dimen/standard_double_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:text="@string/menu_item_sort_by_name_a_z"
|
||||||
|
android:textColor="@color/standard_grey"
|
||||||
|
android:textSize="@dimen/two_line_primary_text_size"/>
|
||||||
|
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
<TableRow
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/sortByNameDescending"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingLeft="@dimen/standard_padding"
|
||||||
|
android:paddingRight="@dimen/standard_half_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:src="@drawable/ic_alphabetical_desc"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/sortByNameZAText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="middle"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingRight="@dimen/standard_double_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:text="@string/menu_item_sort_by_name_z_a"
|
||||||
|
android:textColor="@color/standard_grey"
|
||||||
|
android:textSize="@dimen/two_line_primary_text_size"/>
|
||||||
|
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
<TableRow
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/standard_half_margin">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/sortByModificationDateDescending"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingLeft="@dimen/standard_padding"
|
||||||
|
android:paddingRight="@dimen/standard_half_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:src="@drawable/ic_modification_desc"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/sortByModificationDateNewestFirstText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="middle"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingRight="@dimen/standard_double_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:text="@string/menu_item_sort_by_date_newest_first"
|
||||||
|
android:textColor="@color/standard_grey"
|
||||||
|
android:textSize="@dimen/two_line_primary_text_size"/>
|
||||||
|
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
<TableRow
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/sortByModificationDateAscending"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingLeft="@dimen/standard_padding"
|
||||||
|
android:paddingRight="@dimen/standard_half_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:src="@drawable/ic_modification_asc"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/sortByModificationDateOldestFirstText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="middle"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingRight="@dimen/standard_double_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:text="@string/menu_item_sort_by_date_oldest_first"
|
||||||
|
android:textColor="@color/standard_grey"
|
||||||
|
android:textSize="@dimen/two_line_primary_text_size"/>
|
||||||
|
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
<TableRow
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
|
||||||
|
android:layout_marginTop="@dimen/standard_half_margin">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/sortBySizeDescending"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingLeft="@dimen/standard_padding"
|
||||||
|
android:paddingRight="@dimen/standard_half_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:src="@drawable/ic_size_desc"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/sortBySizeBiggestFirstText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="middle"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingRight="@dimen/standard_double_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:text="@string/menu_item_sort_by_size_biggest_first"
|
||||||
|
android:textColor="@color/standard_grey"
|
||||||
|
android:textSize="@dimen/two_line_primary_text_size"/>
|
||||||
|
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
<TableRow
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/sortBySizeAscending"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:background="@color/white"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingLeft="@dimen/standard_padding"
|
||||||
|
android:paddingRight="@dimen/standard_half_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:src="@drawable/ic_size_asc"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/sortBySizeSmallestFirstText"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="middle"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:paddingRight="@dimen/standard_double_padding"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:text="@string/menu_item_sort_by_size_smallest_first"
|
||||||
|
android:textColor="@color/standard_grey"
|
||||||
|
android:textSize="@dimen/two_line_primary_text_size"/>
|
||||||
|
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
</TableLayout>
|
||||||
|
|
||||||
|
</ScrollView>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="right">
|
||||||
|
|
||||||
|
<android.support.v7.widget.AppCompatButton
|
||||||
|
android:id="@+id/cancel"
|
||||||
|
style="@style/Button.Borderless"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/common_cancel"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
|
@ -26,10 +26,4 @@
|
||||||
<item>@string/uploader_upload_files_behaviour_only_upload</item>
|
<item>@string/uploader_upload_files_behaviour_only_upload</item>
|
||||||
<item>@string/uploader_upload_files_behaviour_upload_and_delete_from_source</item>
|
<item>@string/uploader_upload_files_behaviour_upload_and_delete_from_source</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="menu_items_sort_by_options" translatable="false">
|
|
||||||
<item>@string/menu_item_sort_by_name</item>
|
|
||||||
<item>@string/menu_item_sort_by_date</item>
|
|
||||||
<item>@string/menu_item_sort_by_size</item>
|
|
||||||
</string-array>
|
|
||||||
</resources>
|
</resources>
|
|
@ -45,6 +45,7 @@
|
||||||
<!-- Colors -->
|
<!-- Colors -->
|
||||||
<color name="color_accent">@color/owncloud_blue_accent</color>
|
<color name="color_accent">@color/owncloud_blue_accent</color>
|
||||||
<color name="dialog_list_item">#1F1F1F</color>
|
<color name="dialog_list_item">#1F1F1F</color>
|
||||||
|
<color name="standard_grey">#757575</color>
|
||||||
|
|
||||||
<!-- standard material color definitions -->
|
<!-- standard material color definitions -->
|
||||||
<color name="primary">@color/owncloud_blue</color>
|
<color name="primary">@color/owncloud_blue</color>
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
<dimen name="file_icon_size_grid">128dp</dimen>
|
<dimen name="file_icon_size_grid">128dp</dimen>
|
||||||
<dimen name="file_avatar_size">128dp</dimen>
|
<dimen name="file_avatar_size">128dp</dimen>
|
||||||
<dimen name="standard_padding">16dp</dimen>
|
<dimen name="standard_padding">16dp</dimen>
|
||||||
|
<dimen name="standard_double_padding">32dp</dimen>
|
||||||
<dimen name="standard_half_padding">8dp</dimen>
|
<dimen name="standard_half_padding">8dp</dimen>
|
||||||
<dimen name="standard_quarter_padding">4dp</dimen>
|
<dimen name="standard_quarter_padding">4dp</dimen>
|
||||||
<dimen name="standard_margin">16dp</dimen>
|
<dimen name="standard_margin">16dp</dimen>
|
||||||
|
|
|
@ -13,9 +13,14 @@
|
||||||
<string name="actionbar_send_file">Send</string>
|
<string name="actionbar_send_file">Send</string>
|
||||||
<string name="actionbar_sort">Sort</string>
|
<string name="actionbar_sort">Sort</string>
|
||||||
<string name="actionbar_sort_title">Sort by</string>
|
<string name="actionbar_sort_title">Sort by</string>
|
||||||
<string name="menu_item_sort_by_name">A - Z</string>
|
<string name="sort_by">Sort by</string>
|
||||||
<string name="menu_item_sort_by_date">Newest - Oldest</string>
|
<string name="menu_item_sort_by_name_a_z">A - Z</string>
|
||||||
<string name="menu_item_sort_by_size">Biggest - Smallest</string>
|
<string name="menu_item_sort_by_name_z_a">Z - A</string>
|
||||||
|
<string name="menu_item_sort_by_date_newest_first">Newest first</string>
|
||||||
|
<string name="menu_item_sort_by_date_oldest_first">Oldest first</string>
|
||||||
|
<string name="menu_item_sort_by_size_biggest_first">Biggest first</string>
|
||||||
|
<string name="menu_item_sort_by_size_smallest_first">Smallest first</string>
|
||||||
|
|
||||||
<string name="drawer_item_all_files">All files</string>
|
<string name="drawer_item_all_files">All files</string>
|
||||||
<string name="drawer_item_on_device">On device</string>
|
<string name="drawer_item_on_device">On device</string>
|
||||||
<string name="drawer_item_settings">Settings</string>
|
<string name="drawer_item_settings">Settings</string>
|
||||||
|
|