diff --git a/.github/workflows/nmc-custom-client.yml b/.github/workflows/nmc-custom-client.yml new file mode 100644 index 0000000000..d7f0c57da2 --- /dev/null +++ b/.github/workflows/nmc-custom-client.yml @@ -0,0 +1,43 @@ +### +# SPDX-License-Identifier: AGPL-3.0 +# +# Author: Bernd rederlechner +# +# Builds a stable release package based on a release assembly +# customisation-- +# +# As soon as a package is deployed to production, the tag and the branch +# MUST STAY FOR 2 years and not deleted. +# +# Release packages, tags and customisation branches not delivered to production should +# be deleted asap a newer release is available. +# + +name: MCLOUD custom client merge + +on: + workflow_dispatch: + inputs: + branch: + type: choice + description: Custom build from base branch + options: + - master + - stable-4.9.7 + - stable-5.2.1 + - stable-5.2.7 + - stable-5.5.0 + - stable-5.5.5 + - stable-6.1.3 + - stable-6.2.7 + # - v3.0.8 + default: master + +jobs: + assemble-custom: + uses: nextmcloud/.github/.github/workflows/nmc-custom-client.yml@master + with: + trunk: 'master' + stable: ${{ inputs.branch }} + result: ${{ format('customisation-{0}-{1}', github.actor, inputs.branch) }} + secrets: inherit diff --git a/.github/workflows/nmc-custom-stables.yml b/.github/workflows/nmc-custom-stables.yml new file mode 100644 index 0000000000..ac0f14243f --- /dev/null +++ b/.github/workflows/nmc-custom-stables.yml @@ -0,0 +1,44 @@ +### +# SPDX-License-Identifier: AGPL-3.0 +# +# Author: Bernd rederlechner +# +# Builds a stable release package based on a release assembly +# customisation-- +# +# As soon as a package is deployed to production, the tag and the branch +# MUST STAY FOR 2 years and not deleted. +# +# Release packages, tags and customisation branches not delivered to production should +# be deleted asap a newer release is available. +# + +name: MCLOUD create stable backports + +on: + workflow_dispatch: + inputs: + branch: + type: choice + description: Custom build from base branch + options: + - stable-6.6.0 + - stable-6.5.0 + - stable-6.2.7 + - stable-6.1.3 + - stable-5.5.5 + - stable-5.5.4 + - stable-5.2.7 + - stable-5.2.1 + - stable-4.9.7 + - 4.9.6 + - 4.9.5 + default: stable-6.6.0 + +jobs: + backport-custom: + uses: nextmcloud/.github/.github/workflows/nmc-custom-stables.yml@master + with: + trunk: 'master' + stable: ${{ inputs.branch }} + secrets: inherit diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon100@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon100@2x.png new file mode 100644 index 0000000000..2654d0b36f Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon100@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon1024@1x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon1024@1x.png new file mode 100644 index 0000000000..686085377d Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon1024@1x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon114@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon114@2x.png new file mode 100644 index 0000000000..742f9b5c11 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon114@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon120@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon120@2x.png new file mode 100644 index 0000000000..da4b62b9f9 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon120@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon120@3x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon120@3x.png new file mode 100644 index 0000000000..da4b62b9f9 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon120@3x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon144@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon144@2x.png new file mode 100644 index 0000000000..2a53710170 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon144@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon152@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon152@2x.png new file mode 100644 index 0000000000..20b3bdf67b Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon152@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon167@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon167@2x.png new file mode 100644 index 0000000000..fa53f0a732 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon167@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon180@3x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon180@3x.png new file mode 100644 index 0000000000..11b972dd51 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon180@3x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon20@1x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon20@1x.png new file mode 100644 index 0000000000..21320f1f5b Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon20@1x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon29@1x-1.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon29@1x-1.png new file mode 100644 index 0000000000..3dc918c35a Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon29@1x-1.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon29@1x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon29@1x.png new file mode 100644 index 0000000000..3dc918c35a Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon29@1x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@1x-1.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@1x-1.png new file mode 100644 index 0000000000..db726b2392 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@1x-1.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@1x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@1x.png new file mode 100644 index 0000000000..db726b2392 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@1x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@2x.png new file mode 100644 index 0000000000..db726b2392 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon40@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon50@1x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon50@1x.png new file mode 100644 index 0000000000..3424f05526 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon50@1x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon57@1x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon57@1x.png new file mode 100644 index 0000000000..6bc2dfd64b Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon57@1x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon58@2x-1.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon58@2x-1.png new file mode 100644 index 0000000000..f1180065d6 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon58@2x-1.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon58@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon58@2x.png new file mode 100644 index 0000000000..f1180065d6 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon58@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon60@3x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon60@3x.png new file mode 100644 index 0000000000..5e976420ca Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon60@3x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon72@1x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon72@1x.png new file mode 100644 index 0000000000..653a17c97c Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon72@1x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon76@1x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon76@1x.png new file mode 100644 index 0000000000..644b00d949 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon76@1x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon80@2x-1.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon80@2x-1.png new file mode 100644 index 0000000000..7b73dead05 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon80@2x-1.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon80@2x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon80@2x.png new file mode 100644 index 0000000000..7b73dead05 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon80@2x.png differ diff --git a/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon87@3x.png b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon87@3x.png new file mode 100644 index 0000000000..65d972a7b9 Binary files /dev/null and b/Brand/Custom.xcassets/AppIcon.appiconset/nextcloud-icon87@3x.png differ diff --git a/Brand/Custom.xcassets/introSlide1.imageset/Contents.json b/Brand/Custom.xcassets/introSlide1.imageset/Contents.json new file mode 100644 index 0000000000..65b05047b7 --- /dev/null +++ b/Brand/Custom.xcassets/introSlide1.imageset/Contents.json @@ -0,0 +1,33 @@ +{ + "images" : [ + { + "filename" : "introSlide1.png", + "idiom" : "iphone", + "scale" : "1x" + }, + { + "filename" : "introSlide1@2x.png", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "filename" : "introSlide1@3x.png", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "filename" : "Tablet Portrait - first slide-1.png", + "idiom" : "ipad", + "scale" : "1x" + }, + { + "filename" : "Tablet Portrait - first slide.png", + "idiom" : "ipad", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlide1.imageset/Tablet Portrait - first slide-1.png b/Brand/Custom.xcassets/introSlide1.imageset/Tablet Portrait - first slide-1.png new file mode 100644 index 0000000000..8a6354f8e9 Binary files /dev/null and b/Brand/Custom.xcassets/introSlide1.imageset/Tablet Portrait - first slide-1.png differ diff --git a/Brand/Custom.xcassets/introSlide1.imageset/Tablet Portrait - first slide.png b/Brand/Custom.xcassets/introSlide1.imageset/Tablet Portrait - first slide.png new file mode 100644 index 0000000000..8a6354f8e9 Binary files /dev/null and b/Brand/Custom.xcassets/introSlide1.imageset/Tablet Portrait - first slide.png differ diff --git a/Brand/Custom.xcassets/introSlide1.imageset/introSlide1.png b/Brand/Custom.xcassets/introSlide1.imageset/introSlide1.png new file mode 100644 index 0000000000..7ad97b76bc Binary files /dev/null and b/Brand/Custom.xcassets/introSlide1.imageset/introSlide1.png differ diff --git a/Brand/Custom.xcassets/introSlide1.imageset/introSlide1@2x.png b/Brand/Custom.xcassets/introSlide1.imageset/introSlide1@2x.png new file mode 100644 index 0000000000..7ad97b76bc Binary files /dev/null and b/Brand/Custom.xcassets/introSlide1.imageset/introSlide1@2x.png differ diff --git a/Brand/Custom.xcassets/introSlide1.imageset/introSlide1@3x.png b/Brand/Custom.xcassets/introSlide1.imageset/introSlide1@3x.png new file mode 100644 index 0000000000..271ec26fda Binary files /dev/null and b/Brand/Custom.xcassets/introSlide1.imageset/introSlide1@3x.png differ diff --git a/Brand/Custom.xcassets/introSlide2.imageset/Contents.json b/Brand/Custom.xcassets/introSlide2.imageset/Contents.json new file mode 100644 index 0000000000..6f14cfcd17 --- /dev/null +++ b/Brand/Custom.xcassets/introSlide2.imageset/Contents.json @@ -0,0 +1,33 @@ +{ + "images" : [ + { + "filename" : "introSlide2.png", + "idiom" : "iphone", + "scale" : "1x" + }, + { + "filename" : "introSlide2@2x.png", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "filename" : "introSlide2@3x.png", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "filename" : "Tablet Portrait - third slide-1.png", + "idiom" : "ipad", + "scale" : "1x" + }, + { + "filename" : "Tablet Portrait - third slide.png", + "idiom" : "ipad", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlide2.imageset/Tablet Portrait - third slide-1.png b/Brand/Custom.xcassets/introSlide2.imageset/Tablet Portrait - third slide-1.png new file mode 100644 index 0000000000..58357b3fb7 Binary files /dev/null and b/Brand/Custom.xcassets/introSlide2.imageset/Tablet Portrait - third slide-1.png differ diff --git a/Brand/Custom.xcassets/introSlide2.imageset/Tablet Portrait - third slide.png b/Brand/Custom.xcassets/introSlide2.imageset/Tablet Portrait - third slide.png new file mode 100644 index 0000000000..58357b3fb7 Binary files /dev/null and b/Brand/Custom.xcassets/introSlide2.imageset/Tablet Portrait - third slide.png differ diff --git a/Brand/Custom.xcassets/introSlide2.imageset/introSlide2.png b/Brand/Custom.xcassets/introSlide2.imageset/introSlide2.png new file mode 100644 index 0000000000..df3e9d9339 Binary files /dev/null and b/Brand/Custom.xcassets/introSlide2.imageset/introSlide2.png differ diff --git a/Brand/Custom.xcassets/introSlide2.imageset/introSlide2@2x.png b/Brand/Custom.xcassets/introSlide2.imageset/introSlide2@2x.png new file mode 100644 index 0000000000..df3e9d9339 Binary files /dev/null and b/Brand/Custom.xcassets/introSlide2.imageset/introSlide2@2x.png differ diff --git a/Brand/Custom.xcassets/introSlide2.imageset/introSlide2@3x.png b/Brand/Custom.xcassets/introSlide2.imageset/introSlide2@3x.png new file mode 100644 index 0000000000..17bf5d89a4 Binary files /dev/null and b/Brand/Custom.xcassets/introSlide2.imageset/introSlide2@3x.png differ diff --git a/Brand/Custom.xcassets/introSlide3.imageset/Contents.json b/Brand/Custom.xcassets/introSlide3.imageset/Contents.json new file mode 100644 index 0000000000..e15a5bbe53 --- /dev/null +++ b/Brand/Custom.xcassets/introSlide3.imageset/Contents.json @@ -0,0 +1,33 @@ +{ + "images" : [ + { + "filename" : "introSlide3.png", + "idiom" : "iphone", + "scale" : "1x" + }, + { + "filename" : "introSlide3@2x.png", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "filename" : "introSlide3@3x.png", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "filename" : "Tablet Portrait - second slide-1.png", + "idiom" : "ipad", + "scale" : "1x" + }, + { + "filename" : "Tablet Portrait - second slide.png", + "idiom" : "ipad", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlide3.imageset/Tablet Portrait - second slide-1.png b/Brand/Custom.xcassets/introSlide3.imageset/Tablet Portrait - second slide-1.png new file mode 100644 index 0000000000..395767ba7f Binary files /dev/null and b/Brand/Custom.xcassets/introSlide3.imageset/Tablet Portrait - second slide-1.png differ diff --git a/Brand/Custom.xcassets/introSlide3.imageset/Tablet Portrait - second slide.png b/Brand/Custom.xcassets/introSlide3.imageset/Tablet Portrait - second slide.png new file mode 100644 index 0000000000..395767ba7f Binary files /dev/null and b/Brand/Custom.xcassets/introSlide3.imageset/Tablet Portrait - second slide.png differ diff --git a/Brand/Custom.xcassets/introSlide3.imageset/introSlide3.png b/Brand/Custom.xcassets/introSlide3.imageset/introSlide3.png new file mode 100644 index 0000000000..bd19e31a5b Binary files /dev/null and b/Brand/Custom.xcassets/introSlide3.imageset/introSlide3.png differ diff --git a/Brand/Custom.xcassets/introSlide3.imageset/introSlide3@2x.png b/Brand/Custom.xcassets/introSlide3.imageset/introSlide3@2x.png new file mode 100644 index 0000000000..bd19e31a5b Binary files /dev/null and b/Brand/Custom.xcassets/introSlide3.imageset/introSlide3@2x.png differ diff --git a/Brand/Custom.xcassets/introSlide3.imageset/introSlide3@3x.png b/Brand/Custom.xcassets/introSlide3.imageset/introSlide3@3x.png new file mode 100644 index 0000000000..223fee7741 Binary files /dev/null and b/Brand/Custom.xcassets/introSlide3.imageset/introSlide3@3x.png differ diff --git a/Brand/Custom.xcassets/introSlideEight1.imageset/Contents.json b/Brand/Custom.xcassets/introSlideEight1.imageset/Contents.json new file mode 100644 index 0000000000..56a179f397 --- /dev/null +++ b/Brand/Custom.xcassets/introSlideEight1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "introSlideEight1@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlideEight1.imageset/introSlideEight1@3x.png b/Brand/Custom.xcassets/introSlideEight1.imageset/introSlideEight1@3x.png new file mode 100644 index 0000000000..244802dfc2 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideEight1.imageset/introSlideEight1@3x.png differ diff --git a/Brand/Custom.xcassets/introSlideEight2.imageset/Contents.json b/Brand/Custom.xcassets/introSlideEight2.imageset/Contents.json new file mode 100644 index 0000000000..4e7d271b20 --- /dev/null +++ b/Brand/Custom.xcassets/introSlideEight2.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "introSlideEight2@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlideEight2.imageset/introSlideEight2@3x.png b/Brand/Custom.xcassets/introSlideEight2.imageset/introSlideEight2@3x.png new file mode 100644 index 0000000000..7cccb2c941 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideEight2.imageset/introSlideEight2@3x.png differ diff --git a/Brand/Custom.xcassets/introSlideEight3.imageset/Contents.json b/Brand/Custom.xcassets/introSlideEight3.imageset/Contents.json new file mode 100644 index 0000000000..d1192931e8 --- /dev/null +++ b/Brand/Custom.xcassets/introSlideEight3.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "introSlideEight3@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlideEight3.imageset/introSlideEight3@3x.png b/Brand/Custom.xcassets/introSlideEight3.imageset/introSlideEight3@3x.png new file mode 100644 index 0000000000..21adc87717 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideEight3.imageset/introSlideEight3@3x.png differ diff --git a/Brand/Custom.xcassets/introSlideLand1.imageset/Contents.json b/Brand/Custom.xcassets/introSlideLand1.imageset/Contents.json new file mode 100644 index 0000000000..58788d977d --- /dev/null +++ b/Brand/Custom.xcassets/introSlideLand1.imageset/Contents.json @@ -0,0 +1,33 @@ +{ + "images" : [ + { + "filename" : "introSlide1.png", + "idiom" : "iphone", + "scale" : "1x" + }, + { + "filename" : "introSlide1@2x.png", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "filename" : "introSlide1@3x.png", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "filename" : "Tablet Landscape - first slide.png", + "idiom" : "ipad", + "scale" : "1x" + }, + { + "filename" : "Tablet Landscape - first slide-1.png", + "idiom" : "ipad", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlideLand1.imageset/Tablet Landscape - first slide-1.png b/Brand/Custom.xcassets/introSlideLand1.imageset/Tablet Landscape - first slide-1.png new file mode 100644 index 0000000000..6e3df04303 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand1.imageset/Tablet Landscape - first slide-1.png differ diff --git a/Brand/Custom.xcassets/introSlideLand1.imageset/Tablet Landscape - first slide.png b/Brand/Custom.xcassets/introSlideLand1.imageset/Tablet Landscape - first slide.png new file mode 100644 index 0000000000..6e3df04303 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand1.imageset/Tablet Landscape - first slide.png differ diff --git a/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1.png b/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1.png new file mode 100644 index 0000000000..7ad97b76bc Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1.png differ diff --git a/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1@2x.png b/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1@2x.png new file mode 100644 index 0000000000..7ad97b76bc Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1@2x.png differ diff --git a/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1@3x.png b/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1@3x.png new file mode 100644 index 0000000000..271ec26fda Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand1.imageset/introSlide1@3x.png differ diff --git a/Brand/Custom.xcassets/introSlideLand2.imageset/Contents.json b/Brand/Custom.xcassets/introSlideLand2.imageset/Contents.json new file mode 100644 index 0000000000..efbfa73a66 --- /dev/null +++ b/Brand/Custom.xcassets/introSlideLand2.imageset/Contents.json @@ -0,0 +1,33 @@ +{ + "images" : [ + { + "filename" : "introSlide2.png", + "idiom" : "iphone", + "scale" : "1x" + }, + { + "filename" : "introSlide2@2x.png", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "filename" : "introSlide2@3x.png", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "filename" : "Tablet Landscape - second slide.png", + "idiom" : "ipad", + "scale" : "1x" + }, + { + "filename" : "Tablet Landscape - second slide-1.png", + "idiom" : "ipad", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlideLand2.imageset/Tablet Landscape - second slide-1.png b/Brand/Custom.xcassets/introSlideLand2.imageset/Tablet Landscape - second slide-1.png new file mode 100644 index 0000000000..c5e3bca8af Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand2.imageset/Tablet Landscape - second slide-1.png differ diff --git a/Brand/Custom.xcassets/introSlideLand2.imageset/Tablet Landscape - second slide.png b/Brand/Custom.xcassets/introSlideLand2.imageset/Tablet Landscape - second slide.png new file mode 100644 index 0000000000..c5e3bca8af Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand2.imageset/Tablet Landscape - second slide.png differ diff --git a/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2.png b/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2.png new file mode 100644 index 0000000000..df3e9d9339 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2.png differ diff --git a/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2@2x.png b/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2@2x.png new file mode 100644 index 0000000000..df3e9d9339 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2@2x.png differ diff --git a/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2@3x.png b/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2@3x.png new file mode 100644 index 0000000000..17bf5d89a4 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand2.imageset/introSlide2@3x.png differ diff --git a/Brand/Custom.xcassets/introSlideLand3.imageset/Contents.json b/Brand/Custom.xcassets/introSlideLand3.imageset/Contents.json new file mode 100644 index 0000000000..fce5b583fd --- /dev/null +++ b/Brand/Custom.xcassets/introSlideLand3.imageset/Contents.json @@ -0,0 +1,33 @@ +{ + "images" : [ + { + "filename" : "introSlide3.png", + "idiom" : "iphone", + "scale" : "1x" + }, + { + "filename" : "introSlide3@2x.png", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "filename" : "introSlide3@3x.png", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "filename" : "Tablet Landscape - third slide.png", + "idiom" : "ipad", + "scale" : "1x" + }, + { + "filename" : "Tablet Landscape - third slide-1.png", + "idiom" : "ipad", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Brand/Custom.xcassets/introSlideLand3.imageset/Tablet Landscape - third slide-1.png b/Brand/Custom.xcassets/introSlideLand3.imageset/Tablet Landscape - third slide-1.png new file mode 100644 index 0000000000..faa2188a48 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand3.imageset/Tablet Landscape - third slide-1.png differ diff --git a/Brand/Custom.xcassets/introSlideLand3.imageset/Tablet Landscape - third slide.png b/Brand/Custom.xcassets/introSlideLand3.imageset/Tablet Landscape - third slide.png new file mode 100644 index 0000000000..faa2188a48 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand3.imageset/Tablet Landscape - third slide.png differ diff --git a/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3.png b/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3.png new file mode 100644 index 0000000000..bd19e31a5b Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3.png differ diff --git a/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3@2x.png b/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3@2x.png new file mode 100644 index 0000000000..bd19e31a5b Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3@2x.png differ diff --git a/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3@3x.png b/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3@3x.png new file mode 100644 index 0000000000..223fee7741 Binary files /dev/null and b/Brand/Custom.xcassets/introSlideLand3.imageset/introSlide3@3x.png differ diff --git a/Brand/NCBrand.swift b/Brand/NCBrand.swift index f51c1a6ada..d20f23eda0 100755 --- a/Brand/NCBrand.swift +++ b/Brand/NCBrand.swift @@ -20,51 +20,14 @@ let userAgent: String = { The codename embodies the concept of dynamic, living matter — reflecting our vision of a platform that is not only powerful and reliable, but also capable of continuous transformation and intelligent adaptation. */ -struct NextcloudVersion: Comparable { - let major: Int - let minor: Int - let micro: Int - - init(_ major: Int, _ minor: Int = 0, _ micro: Int = 0) { - self.major = major - self.minor = minor - self.micro = micro - } - - init(_ capabilities: NKCapabilities.Capabilities) { - self.major = capabilities.serverVersionMajor - self.minor = capabilities.serverVersionMinor - self.micro = capabilities.serverVersionMicro - } - - static let v18 = NextcloudVersion(18) - static let v20 = NextcloudVersion(20) - static let v23 = NextcloudVersion(23) - static let v24 = NextcloudVersion(24) - static let v25 = NextcloudVersion(25) - static let v26 = NextcloudVersion(26) - static let v27 = NextcloudVersion(27) - static let v28 = NextcloudVersion(28) - static let v30 = NextcloudVersion(30) - static let v31 = NextcloudVersion(31) - static let v32 = NextcloudVersion(32) - static let v32_0_2 = NextcloudVersion(32, 0, 2) - static let v33 = NextcloudVersion(33) - static let v34 = NextcloudVersion(34) - - static func < (lhs: NextcloudVersion, rhs: NextcloudVersion) -> Bool { - (lhs.major, lhs.minor, lhs.micro) < (rhs.major, rhs.minor, rhs.micro) - } -} - final class NCBrandOptions: @unchecked Sendable { static let shared = NCBrandOptions() - var brand: String = "Nextcloud" - var brandUserAgent: String = "" - var textCopyrightNextcloudiOS: String = "Nextcloud Matheria for iOS %@ © 2026" - var textCopyrightNextcloudServer: String = "Nextcloud Server %@" - var loginBaseUrl: String = "https://cloud.nextcloud.com" + var brand: String = "MagentaCLOUD" + var brandUserAgent: String = "MagentaCLOUD" + var textCopyrightNextcloudiOS: String = "MagentaCLOUD for iOS %@" + var textCopyrightNextcloudServer: String = "MagentaCLOUD Server %@" + var loginBaseUrl: String = "https://magentacloud.de" var pushNotificationServerProxy: String = "" var linkLoginHost: String = "https://nextcloud.com/install" var linkloginPreferredProviders: String = "https://nextcloud.com/signup-ios" @@ -72,16 +35,32 @@ final class NCBrandOptions: @unchecked Sendable { var privacy: String = "https://nextcloud.com/privacy" var sourceCode: String = "https://github.com/nextcloud/ios" var mobileconfig: String = "/remote.php/dav/provisioning/apple-provisioning.mobileconfig" - var appStoreUrl: String = "https://apps.apple.com/in/app/nextcloud/id1125420102" - - // Auto Upload default folder - var folderDefaultAutoUpload: String = "Photos" + var appStoreUrl: String = "https://apps.apple.com/de/app/magentacloud-cloud-speicher/id312838242" - // Capabilities Group - var capabilitiesGroup: String = "group.it.twsweb.Crypto-Cloud" - var capabilitiesGroupApps: String = "group.com.nextcloud.apps" + // Personalized + @objc public var webCloseViewProtocolPersonalized: String = "" // example "abc://change/plan" Don't touch me !! + @objc public var folderBrandAutoUpload: String = "" // example "_auto_upload_folder_" Don't touch me !! + // Auto Upload default folder +// var folderDefaultAutoUpload: String = Locale.current.language.languageCode?.identifier == "de" ? "Kamera-Medien" : "Camera-Media" + // Get the app's preferred language (the language the app is using, not the system language) + var folderDefaultAutoUpload: String = (Locale.preferredLanguages.first?.prefix(2) ?? "en") == "de" ? "Kamera-Medien" : "Camera-Media" + +//#if DEBUG + // QA : + @objc public var capabilitiesGroup: String = "group.com.t-systems.pu-ds.magentacloud.qa" + @objc public var capabilitiesGroupApps: String = "group.com.t-systems.pu-ds.magentacloud.qa" +//#else +// // PROD : +// @objc public var capabilitiesGroup: String = "group.de.telekom.Mediencenter" +// @objc public var capabilitiesGroupApps: String = "group.de.telekom.Mediencenter" +//#endif + // BRAND ONLY + // Set use_login_web_personalized to true for prod and false for configurable path + var use_login_web_personalized: Bool = true // Don't touch me !! + var use_GroupApps: Bool = true + var use_AppConfig: Bool = false // Don't touch me !! // Use server theming color @@ -94,8 +73,8 @@ final class NCBrandOptions: @unchecked Sendable { var disable_openin_file: Bool = false // Don't touch me !! var disable_crash_service: Bool = false var disable_log: Bool = false - var disable_mobileconfig: Bool = false - var disable_show_more_nextcloud_apps_in_settings: Bool = false + var disable_mobileconfig: Bool = false + var disable_show_more_nextcloud_apps_in_settings: Bool = true var doNotAskPasscodeAtStartup: Bool = false var disable_source_code_in_settings: Bool = false var enforce_passcode_lock = false @@ -166,8 +145,19 @@ final class NCBrandOptions: @unchecked Sendable { } func isServerVersion(_ capabilities: NKCapabilities.Capabilities, - greaterOrEqualTo version: NextcloudVersion) -> Bool { - return NextcloudVersion(capabilities) >= version + greaterOrEqualTo major: Int, + _ minor: Int, + _ micro: Int) -> Bool { + + let server = ( + capabilities.serverVersionMajor, + capabilities.serverVersionMinor, + capabilities.serverVersionMicro + ) + + let required = (major, minor, micro) + + return server >= required } } @@ -175,22 +165,33 @@ final class NCBrandColor: @unchecked Sendable { static let shared = NCBrandColor() // This is rewrited from customet theme, default is Nextcloud color - let customer: UIColor = UIColor(red: 0.0 / 255.0, green: 130.0 / 255.0, blue: 201.0 / 255.0, alpha: 1.0) // Nextcloud default: #0082C9 + let customer: UIColor = UIColor(red: 226.0/255.0, green: 0.0/255.0, blue: 116.0/255.0, alpha: 1.0) // Nextcloud : #0082C9 var customerText: UIColor = .white + var brand: UIColor // don't touch me + var brandElement: UIColor // don't touch me + var brandText: UIColor = UIColor(red: 255.0/255.0, green: 255.0/255.0, blue: 255.0/255.0, alpha: 1.0) + // INTERNAL DEFINE COLORS private var themingColor = ThreadSafeDictionary() private var themingColorElement = ThreadSafeDictionary() private var themingColorText = ThreadSafeDictionary() var userColors: [CGColor] = [] - let yellowFavorite: UIColor = UIColor(red: 0.6118, green: 0.4549, blue: 0.1451, alpha: 1.0) + let yellowFavorite: UIColor = UIColor(red: 248.0 / 255.0, green: 205.0 / 255.0, blue: 70.0 / 255.0, alpha: 1.0) let iconImageColor: UIColor = .label let iconImageColor2: UIColor = .secondaryLabel let iconImageMultiColors: [UIColor] = [.secondaryLabel, .label] let textColor: UIColor = .label let textColor2: UIColor = .secondaryLabel + let iconSystemGrayColor: UIColor = .systemGray + var systemBlueColor: UIColor { + get { + return UIColor(hex: "#84B0F5")! + } + } + var systemMint: UIColor { get { return UIColor(red: 0.0 / 255.0, green: 199.0 / 255.0, blue: 190.0 / 255.0, alpha: 1.0) @@ -215,7 +216,11 @@ final class NCBrandColor: @unchecked Sendable { } } - init() { } + init() { + brand = customer + brandElement = customer + brandText = customerText + } /** Generate colors from the official nextcloud color. @@ -374,4 +379,78 @@ final class NCBrandColor: @unchecked Sendable { } return .white } + + @objc public var iconColor: UIColor{ + if #available(iOS 13.0, *) { + if UITraitCollection.current.userInterfaceStyle == .dark { + return UIColor(displayP3Red: 204.0/255.0, green: 204.0/255.0, blue: 204.0/255.0, alpha: 1.0) + }else { + return UIColor(red: 38.0/255.0, green: 38.0/255.0, blue: 38.0/255.0, alpha: 1.0) + } + } else { + return UIColor(red: 38.0/255.0, green: 38.0/255.0, blue: 38.0/255.0, alpha: 1.0) + } + } + + @objc public var notificationAction: UIColor { + return UIColor(red: 0/255.0, green: 153/255.0, blue: 255/255.0, alpha: 1.0) + } + + @objc public var secondarySystemGroupedBackground: UIColor = UIColor.secondarySystemGroupedBackground + @objc public var label: UIColor = UIColor.label + @objc public var backgroundForm: UIColor = UIColor(red: 244.0/255.0, green: 244.0/255.0, blue: 244.0/255.0, alpha: 1.0) + @objc public let graySoft: UIColor = UIColor(red: 162.0/255.0, green: 162.0/255.0, blue: 162.0/255.0, alpha: 0.5) + @objc public let systemGray4: UIColor = UIColor.systemGray4 + @objc public let systemBackground: UIColor = UIColor.systemBackground + @objc public let textInfo: UIColor = UIColor(red: 153.0/255.0, green: 153.0/255.0, blue: 153.0/255.0, alpha: 1.0) + @objc public let systemGray: UIColor = UIColor.systemGray + @objc public let customerDarkGrey: UIColor = UIColor(red: 38.0/255.0, green: 38.0/255.0, blue: 38.0/255.0, alpha: 1.0) + @objc public var fileFolderName: UIColor = UIColor(displayP3Red: 102.0/255.0, green: 102.0/255.0, blue: 102.0/255.0, alpha: 1.0) + @objc public let optionItem: UIColor = UIColor(red: 178.0/255.0, green: 178.0/255.0, blue: 178.0/255.0, alpha: 1.0) + @objc public var singleTitleColorButton: UIColor = UIColor(red: 25.0/255.0, green: 25.0/255.0, blue: 25.0/255.0, alpha: 1.0) + @objc public var shareCellTitleColor: UIColor = UIColor(displayP3Red: 242.0/255.0, green: 242.0/255.0, blue: 242.0/255.0, alpha: 1.0) + @objc public var gray60: UIColor { + if UITraitCollection.current.userInterfaceStyle == .dark { + return UIColor(red: 178.0/255.0, green: 178.0/255.0, blue: 178.0/255.0, alpha: 1.0) + } else { + return UIColor(red: 102.0/255.0, green: 102.0/255.0, blue: 102.0/255.0, alpha: 1.0) + } + } + @objc public var systemGray2: UIColor = UIColor.systemGray2 + @objc public var shareByEmailTextColor: UIColor = UIColor(displayP3Red: 13.0/255.0, green: 57.0/255.0, blue: 223.0/255.0, alpha: 1.0) + @objc public var memoryConsuptionBackground: UIColor { + if UITraitCollection.current.userInterfaceStyle == .dark { + return UIColor(red: 25.0/255.0, green: 25.0/255.0, blue: 25.0/255.0, alpha: 1.0) + } else { + return UIColor(red: 244.0/255.0, green: 244.0/255.0, blue: 244.0/255.0, alpha: 1.0) + } + } + @objc public var nmcGray0: UIColor{ + if UITraitCollection.current.userInterfaceStyle == .dark { + return UIColor(displayP3Red: 242.0/255.0, green: 242.0/255.0, blue: 242.0/255.0, alpha: 1.0) + }else { + return UIColor(red: 19.0/255.0, green: 19.0/255.0, blue: 19.0/255.0, alpha: 1.0) + } + } + @objc public var commonViewInfoText: UIColor = UIColor(displayP3Red: 102.0/255.0, green: 102.0/255.0, blue: 102.0/255.0, alpha: 1.0) + @objc public let progressColorGreen60: UIColor = UIColor(red: 115.0/255.0, green: 195.0/255.0, blue: 84.0/255.0, alpha: 1.0) + @objc public var seperatorRename: UIColor = UIColor(red: 235.0/255.0, green: 235.0/255.0, blue: 235.0/255.0, alpha: 1.0) + @objc public let gray: UIColor = UIColor(red: 104.0/255.0, green: 104.0/255.0, blue: 104.0/255.0, alpha: 1.0) + @objc public var nmcIconSharedWithMe: UIColor = UIColor(displayP3Red: 0.0/255.0, green: 153.0/255.0, blue: 255.0/255.0, alpha: 1.0) + + var shareBlueColor: UIColor{ + if UITraitCollection.current.userInterfaceStyle == .dark { + return UIColor(hex: "#7d94f9")! + }else { + return UIColor(hex: "#2238df")! + } + } + + var shareBlackColor: UIColor{ + if UITraitCollection.current.userInterfaceStyle == .dark { + return UIColor.white + }else { + return UIColor.black + } + } } diff --git a/Nextcloud.xcodeproj/project.pbxproj b/Nextcloud.xcodeproj/project.pbxproj index b24d42ac75..1ca07894b9 100644 --- a/Nextcloud.xcodeproj/project.pbxproj +++ b/Nextcloud.xcodeproj/project.pbxproj @@ -89,6 +89,7 @@ AFCE353527E4ED5900FEA6C2 /* DateFormatter+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCE353427E4ED5900FEA6C2 /* DateFormatter+Extension.swift */; }; AFCE353727E4ED7B00FEA6C2 /* NCShareCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCE353627E4ED7B00FEA6C2 /* NCShareCells.swift */; }; AFCE353927E5DE0500FEA6C2 /* Shareable.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCE353827E5DE0400FEA6C2 /* Shareable.swift */; }; + B55AFB5E2FE29BAC00A1A1A4 /* AppUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = B55AFB5D2FE29BAC00A1A1A4 /* AppUtility.swift */; }; CB3666201AF7550816B5CD6A /* NCContextMenuComment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8932E90EC4278026D86CCCC9 /* NCContextMenuComment.swift */; }; D5B6AA7827200C7200D49C24 /* NCActivityTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B6AA7727200C7200D49C24 /* NCActivityTableViewCell.swift */; }; F310B1EF2BA862F1001C42F5 /* NCViewerMedia+VisionKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F310B1EE2BA862F1001C42F5 /* NCViewerMedia+VisionKit.swift */; }; @@ -1279,6 +1280,7 @@ AFCE353627E4ED7B00FEA6C2 /* NCShareCells.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCShareCells.swift; sourceTree = ""; }; AFCE353827E5DE0400FEA6C2 /* Shareable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shareable.swift; sourceTree = ""; }; B4C7A5B36D1ED178FB6B76CB /* NCContextMenuPlayerTracks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCContextMenuPlayerTracks.swift; sourceTree = ""; }; + B55AFB5D2FE29BAC00A1A1A4 /* AppUtility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUtility.swift; sourceTree = ""; }; BB7697C94BA14450A0867940 /* NCContextMenuProfile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCContextMenuProfile.swift; sourceTree = ""; }; C0046CDA2A17B98400D87C9D /* NextcloudUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NextcloudUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; C04E2F202A17BB4D001BAD85 /* NextcloudIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NextcloudIntegrationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -3350,6 +3352,7 @@ F7F67BAA1A24D27800EE80DA /* iOSClient */ = { isa = PBXGroup; children = ( + B55AFB5D2FE29BAC00A1A1A4 /* AppUtility.swift */, AA517BB42D66149900F8D37C /* .tx */, F702F2CC25EE5B4F008F8E80 /* AppDelegate.swift */, F7110ADF2F9773210095AA5C /* AppDelegate+AppRefresh.swift */, @@ -4909,6 +4912,7 @@ F7DA0F672F66AA0D0033020C /* ShowBanner.swift in Sources */, F752BA052E58C05200616A26 /* Maintenance.swift in Sources */, F763D29D2A249C4500A3C901 /* NCManageDatabase+Capabilities.swift in Sources */, + B55AFB5E2FE29BAC00A1A1A4 /* AppUtility.swift in Sources */, F76882252C0DD1E7001CF441 /* NCSettingsAdvancedModel.swift in Sources */, F7C7B489245EBA4100D93E60 /* NCViewerQuickLook.swift in Sources */, F758B45E212C569D00515F55 /* NCScanCell.swift in Sources */, diff --git a/Share/NCShareExtension+Files.swift b/Share/NCShareExtension+Files.swift index 2d49ffcbc6..35716d7812 100644 --- a/Share/NCShareExtension+Files.swift +++ b/Share/NCShareExtension+Files.swift @@ -12,22 +12,7 @@ extension NCShareExtension { func reloadData() async { let session = NCShareExtensionData.shared.getSession() let layoutForView = NCManageDatabase.shared.getLayoutForView(account: session.account, key: keyLayout, serverUrl: serverUrl) - let showHiddenFiles = NCPreferences().getShowHiddenFiles(account: session.account) - let predicate = showHiddenFiles - ? NSPredicate( - format: "account == %@ AND serverUrl == %@ AND fileName != %@ AND directory == true", - session.account, - serverUrl, - NextcloudKit.shared.nkCommonInstance.rootFileName - ) - : NSPredicate( - format: "account == %@ AND serverUrl == %@ AND fileName != %@ AND directory == true AND NOT fileName BEGINSWITH[c] %@", - session.account, - serverUrl, - NextcloudKit.shared.nkCommonInstance.rootFileName, - "." - ) - + let predicate = NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileName != %@ AND directory == true", session.account, serverUrl, NextcloudKit.shared.nkCommonInstance.rootFileName) let metadatas = await NCManageDatabase.shared.getMetadatasAsync(predicate: predicate, withLayout: layoutForView, withAccount: session.account) diff --git a/Share/NCShareExtension.swift b/Share/NCShareExtension.swift index 1d0ba7cc68..65dfa103e1 100644 --- a/Share/NCShareExtension.swift +++ b/Share/NCShareExtension.swift @@ -4,7 +4,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later import UIKit -import UniformTypeIdentifiers import NextcloudKit import LucidBanner import SwiftUI @@ -50,8 +49,8 @@ class NCShareExtension: UIViewController { let global = NCGlobal.shared var maintenanceMode: Bool = false var token: Int? - var banner: LucidBanner? var sceneIdentifier: String = UUID().uuidString + var banner: LucidBanner? // MARK: - View Life Cycle @@ -82,7 +81,7 @@ class NCShareExtension: UIViewController { uploadView.layer.cornerRadius = 10 uploadLabel.text = NSLocalizedString("_upload_", comment: "") - uploadLabel.textColor = .systemBlue + uploadLabel.textColor = NCBrandColor.shared.label let uploadGesture = UITapGestureRecognizer(target: self, action: #selector(actionUpload(_:))) uploadView.addGestureRecognizer(uploadGesture) @@ -93,13 +92,6 @@ class NCShareExtension: UIViewController { NCBrandColor.shared.createUserColors() - registerForTraitChanges([UITraitUserInterfaceStyle.self]) { (self: Self, _) in - guard !self.maintenanceMode else { - return - } - self.updateAppearance() - } - NotificationCenter.default.addObserver(forName: UIApplication.willEnterForegroundNotification, object: nil, queue: nil) { _ in if NCPreferences().presentPasscode { NCPasscode.shared.presentPasscode(viewController: self, delegate: self) { @@ -123,7 +115,7 @@ class NCShareExtension: UIViewController { } NCNetworking.shared.setupScene(sceneIdentifier: sceneIdentifier, controller: self) - + if let windowScene = view.window?.windowScene { banner = LucidBannerRegistry.shared.banner(for: windowScene) } @@ -151,33 +143,20 @@ class NCShareExtension: UIViewController { return } - // Keep the Share extension visually hidden until we know whether this is - // an Assistant text handoff or a normal file upload flow. This avoids the - // visible open-and-close flash when the extension only needs to redirect text. - view.alpha = 0 - - Task { @MainActor in - if await handleAssistantSharedTextIfNeeded(inputItems: inputItems) { - return - } - - self.view.alpha = 1 - - NCFilesExtensionHandler(items: inputItems) { fileNames in - self.filesName = fileNames - DispatchQueue.main.async { - self.setCommandView() - } + NCFilesExtensionHandler(items: inputItems) { fileNames in + self.filesName = fileNames + DispatchQueue.main.async { + self.setCommandView() } + } - if NCPreferences().presentPasscode { - NCPasscode.shared.presentPasscode(viewController: self, delegate: self) { - NCPasscode.shared.enableTouchFaceID() - } + if NCPreferences().presentPasscode { + NCPasscode.shared.presentPasscode(viewController: self, delegate: self) { + NCPasscode.shared.enableTouchFaceID() } - - self.collectionView.reloadData() } + + self.collectionView.reloadData() } override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { @@ -188,9 +167,13 @@ class NCShareExtension: UIViewController { } } - private func updateAppearance() { - collectionView.visibleCells.forEach { $0.setNeedsLayout() } - tableView.visibleCells.forEach { $0.setNeedsLayout() } + override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { + super.traitCollectionDidChange(previousTraitCollection) + + if !maintenanceMode { + collectionView.reloadData() + tableView.reloadData() + } } // MARK: - @@ -199,7 +182,7 @@ class NCShareExtension: UIViewController { if let error { extensionContext?.cancelRequest(withError: error) } else { - extensionContext?.completeRequest(returningItems: extensionContext?.inputItems, completionHandler: nil) + self.extensionContext?.completeRequest(returningItems: self.extensionContext?.inputItems, completionHandler: nil) } } @@ -223,11 +206,11 @@ class NCShareExtension: UIViewController { // BACK BUTTON let backButton = UIButton(type: .custom) - backButton.setImage(UIImage(named: "back"), for: .normal) - backButton.tintColor = .systemBlue + backButton.setImage(UIImage(named: "back")?.withTintColor(NCBrandColor.shared.iconImageColor), for: .normal) + backButton.tintColor = NCBrandColor.shared.label backButton.semanticContentAttribute = .forceLeftToRight backButton.setTitle(" " + NSLocalizedString("_back_", comment: ""), for: .normal) - backButton.setTitleColor(.systemBlue, for: .normal) + backButton.setTitleColor(NCBrandColor.shared.label, for: .normal) backButton.action(for: .touchUpInside) { _ in while self.serverUrl.last != "/" { self.serverUrl.removeLast() } self.serverUrl.removeLast() @@ -241,6 +224,7 @@ class NCShareExtension: UIViewController { self.setNavigationBar(navigationTitle: navigationTitle) } + /* let image = utility.loadUserImage(for: tblAccount.user, displayName: tblAccount.displayName, urlBase: tblAccount.urlBase) let profileButton = UIButton(type: .custom) profileButton.setImage(image, for: .normal) @@ -268,7 +252,9 @@ class NCShareExtension: UIViewController { space.width = 20 navItems.append(contentsOf: [UIBarButtonItem(customView: backButton), space]) } - navigationItem.setLeftBarButtonItems(navItems, animated: true) + */ +// navigationItem.setLeftBarButtonItems(navItems, animated: true) + navigationItem.setLeftBarButtonItems([UIBarButtonItem(customView: backButton)], animated: true) } func setCommandView() { @@ -297,7 +283,7 @@ class NCShareExtension: UIViewController { guard let capabilities = NCNetworking.shared.capabilities[session.account] else { return } - let alertController = UIAlertController.createFolderWith(serverUrl: serverUrl, session: session, capabilities: capabilities) { error in + let alertController = UIAlertController.createFolder(serverUrl: serverUrl, session: session, capabilities: capabilities, scene: self.view.window?.windowScene) { error in if error == .success { Task { await self.loadFolder() @@ -396,8 +382,14 @@ extension NCShareExtension { guard let window = self.view.window else { return } + let horizontalLayout = horizontalLayoutBanner(bounds: window.bounds, + safeAreaInsets: window.safeAreaInsets, + idiom: window.traitCollection.userInterfaceIdiom) + let payload = LucidBannerPayload(stage: .button, + backgroundColor: Color(.systemBackground), vPosition: .center, + horizontalLayout: horizontalLayout, blocksTouches: true) (banner, token) = showUploadBanner(windowScene: window.windowScene, payload: payload, @@ -427,10 +419,11 @@ extension NCShareExtension { banner?.update(payload: LucidBannerPayload.Update(subtitle: error?.errorDescription, stage: .error), for: self.token) } - Task { @MainActor in - try? await Task.sleep(for: .seconds(2)) - banner?.dismiss() - extensionContext?.completeRequest(returningItems: extensionContext?.inputItems, completionHandler: nil) + if let banner, let token { + Task { @MainActor in + try? await Task.sleep(for: .seconds(2)) + banner.dismiss() + } } } diff --git a/iOSClient/Account/Account Settings/NCAccountSettingsModel.swift b/iOSClient/Account/Account Settings/NCAccountSettingsModel.swift index d7742e9f4c..0267991c2b 100644 --- a/iOSClient/Account/Account Settings/NCAccountSettingsModel.swift +++ b/iOSClient/Account/Account Settings/NCAccountSettingsModel.swift @@ -39,9 +39,9 @@ class NCAccountSettingsModel: ObservableObject, ViewOnAppearHandling { init(controller: NCMainTabBarController?, delegate: NCAccountSettingsModelDelegate?) { self.controller = controller self.delegate = delegate - if isXcodeRunningForPreviews { + if ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] == "1" { Task { - await self.database.createDBForPreview() + await self.database.previewCreateDB() } } onViewAppear() diff --git a/iOSClient/Account/Account Settings/NCAccountSettingsView.swift b/iOSClient/Account/Account Settings/NCAccountSettingsView.swift index fed8b841fb..f3382b178c 100644 --- a/iOSClient/Account/Account Settings/NCAccountSettingsView.swift +++ b/iOSClient/Account/Account Settings/NCAccountSettingsView.swift @@ -9,6 +9,7 @@ struct NCAccountSettingsView: View { @ObservedObject var model: NCAccountSettingsModel @State private var isExpanded: Bool = false + @State private var showUserStatus = false @State private var showServerCertificate = false @State private var showPushCertificate = false @State private var showDeleteAccountAlert: Bool = false @@ -161,8 +162,8 @@ struct NCAccountSettingsView: View { } } } + .onChange(of: showUserStatus) { } } - // // Certificate server if model.isAdminGroup() { diff --git a/iOSClient/Account/NCAccount.swift b/iOSClient/Account/NCAccount.swift index ecf49a4adf..eb0392b6b6 100644 --- a/iOSClient/Account/NCAccount.swift +++ b/iOSClient/Account/NCAccount.swift @@ -74,10 +74,10 @@ class NCAccount: NSObject { controller.modalPresentationStyle = .fullScreen controller.view.alpha = 0 - UIApplication.shared.mainAppWindow?.rootViewController = controller - UIApplication.shared.mainAppWindow?.makeKeyAndVisible() + UIApplication.shared.firstWindow?.rootViewController = controller + UIApplication.shared.firstWindow?.makeKeyAndVisible() - if let scene = UIApplication.shared.mainAppWindow?.windowScene { + if let scene = UIApplication.shared.firstWindow?.windowScene { SceneManager.shared.register(scene: scene, withRootViewController: controller) } @@ -108,6 +108,9 @@ class NCAccount: NSObject { // set theming color NCBrandColor.shared.settingThemingColor(account: account, capabilities: capabilities) } + // Start the auto upload + let num = await NCAutoUpload.shared.initAutoUpload(tblAccount: tblAccount) + nkLog(start: "Auto upload with \(num) photo") // Networking Process await NCNetworkingProcess.shared.setCurrentAccount(account) diff --git a/iOSClient/AppUpdate/AppUpdater.swift b/iOSClient/AppUpdate/AppUpdater.swift new file mode 100644 index 0000000000..c091a9323d --- /dev/null +++ b/iOSClient/AppUpdate/AppUpdater.swift @@ -0,0 +1,104 @@ +// +// AppUpdater.swift +// Nextcloud +// +// Created by Amrut Waghmare on 09/10/23. +// Copyright © 2023 Marino Faggiana. All rights reserved. +// + +import Foundation +import FirebaseRemoteConfig + +struct AppUpdaterKey { + static let lastUpdateCheckDate : String = "lastUpdateCheckDate" +} + +class AppUpdater { + func checkForUpdate() { + checkUpdate{ (version, isForceupdate) in + DispatchQueue.main.async { + if let version = version, let isForceupdate = isForceupdate { + if (isForceupdate) { + self.showUpdateAlert(version: version, isForceUpdate: isForceupdate) + } else { + if self.checkLastUpdate() { + self.showUpdateAlert(version: version, isForceUpdate: isForceupdate) + } + } + } + } + } + } + + func showUpdateAlert(version: String, isForceUpdate: Bool) { + guard let appDelegate = UIApplication.shared.delegate as? AppDelegate, let viewControlller = appDelegate.window?.rootViewController else { return } + let descriptionMsg = String(format: NSLocalizedString("update_description", comment: ""), version) + let alert = UIAlertController(title: NSLocalizedString("update_available", comment: ""), message: descriptionMsg, preferredStyle: .alert) + let updateAction = UIAlertAction(title: NSLocalizedString("update", comment: ""), style: .default, handler: { action in + guard let url = URL(string: NCBrandOptions.shared.appStoreUrl) else { return } + UIApplication.shared.open(url) + }) + alert.addAction(updateAction) + if !isForceUpdate { + alert.addAction(UIAlertAction(title: NSLocalizedString("not_now", comment: ""), style: .default, handler: { action in + self.saveAppUpdateCheckDate() + })) + } + alert.preferredAction = updateAction + viewControlller.present(alert, animated: true, completion: {}) + } + + func checkLastUpdate() -> Bool { + if let lastUpdateCheckDate = UserDefaults.standard.object(forKey: AppUpdaterKey.lastUpdateCheckDate) as? Date { + return daysBetweenDate(from: lastUpdateCheckDate) > 7 + } else { + return true + } + } + + func checkUpdate(completion: @escaping (String?, Bool?) -> Void) { + let remoteConfig = RemoteConfig.remoteConfig() + remoteConfig.fetch(withExpirationDuration: 1) { (status, error) in + if status == .success { + remoteConfig.activate { value, error in + // Remote config values fetched successfully + let iOSVersionString = remoteConfig["ios_app_version"].stringValue ?? "default_value" + let isForcheUpdate = remoteConfig["ios_force_update"].boolValue + if let currentVersionString = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String, + let currentVersion = Int(currentVersionString.replacingOccurrences(of: ".", with: "")), + let iOSVersion = Int(iOSVersionString.replacingOccurrences(of: ".", with: "")) { +// if let currentVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String { + if iOSVersion != currentVersion { + // There is an update available + completion(iOSVersionString, isForcheUpdate) + } else { + completion(nil, nil) + } + } +// let iOSVersion = remoteConfig["ios_app_version"].stringValue ?? "default_value" +// let isForcheUpdate = remoteConfig["ios_force_update"].boolValue +// if let currentVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String { +// if iOSVersion != currentVersion { +// // There is an update available +// completion(iOSVersion,isForcheUpdate) +// } else { +// completion(nil, nil) +// } +// } + } + } else { + // Handle error + print("Error fetching remote config: \(error?.localizedDescription ?? "Unknown error")") + completion(nil, nil) + } + } + } + + func saveAppUpdateCheckDate() { + UserDefaults.standard.setValue(Date(), forKey: AppUpdaterKey.lastUpdateCheckDate) + } + + func daysBetweenDate(from date: Date) -> Int { + return Calendar.current.dateComponents([.day], from: date, to: Date()).day ?? 0 + } +} diff --git a/iOSClient/AppUtility.swift b/iOSClient/AppUtility.swift new file mode 100644 index 0000000000..6d940416ca --- /dev/null +++ b/iOSClient/AppUtility.swift @@ -0,0 +1,23 @@ +// +// AppUtility.swift +// Nextcloud +// +// Created by Amrut Waghmare on 17/10/23. +// Copyright © 2023 Marino Faggiana. All rights reserved. +// + +import Foundation +import UIKit + +struct AppUtility { + static func lockOrientation(_ orientation: UIInterfaceOrientationMask) { + if let delegate = UIApplication.shared.delegate as? AppDelegate { + delegate.orientationLock = orientation + } + } + + static func lockOrientation(_ orientation: UIInterfaceOrientationMask, andRotateTo rotateOrientation:UIInterfaceOrientation) { + self.lockOrientation(orientation) + UIDevice.current.setValue(rotateOrientation.rawValue, forKey: "orientation") + } +} diff --git a/iOSClient/EmptyView/NCEmptyDataSet.swift b/iOSClient/EmptyView/NCEmptyDataSet.swift new file mode 100644 index 0000000000..389a11d651 --- /dev/null +++ b/iOSClient/EmptyView/NCEmptyDataSet.swift @@ -0,0 +1,129 @@ +// +// NCEmptyDataSet.swift +// Nextcloud +// +// Created by Marino Faggiana on 19/10/2020. +// Copyright © 2020 Marino Faggiana. All rights reserved. +// +// Author Marino Faggiana +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +import UIKit + +public protocol NCEmptyDataSetDelegate: AnyObject { + func emptyDataSetView(_ view: NCEmptyView) +} + +// optional func +public extension NCEmptyDataSetDelegate { + func emptyDataSetView(_ view: NCEmptyView) {} +} + +class NCEmptyDataSet: NSObject { + + private var emptyView: NCEmptyView? + private var timer: Timer? + private var numberItemsForSections: Int = 0 + private weak var delegate: NCEmptyDataSetDelegate? + + private var fillBackgroundName: String = "" + private var fillBackgroundView = UIImageView() + + private var centerXAnchor: NSLayoutConstraint? + private var centerYAnchor: NSLayoutConstraint? + + init(view: UIView, offset: CGFloat = 0, delegate: NCEmptyDataSetDelegate?) { + super.init() + + guard let emptyView = NCEmptyView.fromNib().instantiate(withOwner: self, options: nil).first as? NCEmptyView else { return } + + self.delegate = delegate + self.emptyView = emptyView + + emptyView.isHidden = true + emptyView.translatesAutoresizingMaskIntoConstraints = false + + view.addSubview(emptyView) + + emptyView.widthAnchor.constraint(equalToConstant: 350).isActive = true + emptyView.heightAnchor.constraint(equalToConstant: 250).isActive = true + + if let view = view.superview { + centerXAnchor = emptyView.centerXAnchor.constraint(equalTo: view.centerXAnchor) + centerYAnchor = emptyView.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: offset) + } else { + centerXAnchor = emptyView.centerXAnchor.constraint(equalTo: view.centerXAnchor) + centerYAnchor = emptyView.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: offset) + } + + centerXAnchor?.isActive = true + centerYAnchor?.isActive = true + + } + + func setOffset(_ offset: CGFloat) { + + centerYAnchor?.constant = offset + } + + func numberOfItemsInSection(_ num: Int, section: Int) { + + if section == 0 { + numberItemsForSections = num + } else { + numberItemsForSections += num + } + + if let emptyView = emptyView { + + self.delegate?.emptyDataSetView(emptyView) + + if !(timer?.isValid ?? false) && emptyView.isHidden == true { + timer = Timer.scheduledTimer(timeInterval: 0.3, target: self, selector: #selector(timerHandler(_:)), userInfo: nil, repeats: false) + } + + if numberItemsForSections > 0 { + self.emptyView?.isHidden = true + } + } + } + + @objc func timerHandler(_ timer: Timer) { + + if numberItemsForSections == 0 { + self.emptyView?.isHidden = false + } else { + self.emptyView?.isHidden = true + } + } +} + +public class NCEmptyView: UIView { + + @IBOutlet weak var emptyImage: UIImageView! + @IBOutlet weak var emptyTitle: UILabel! + @IBOutlet weak var emptyDescription: UILabel! + + static func fromNib() -> UINib { + return UINib(nibName: "NCEmptyView", bundle: nil) + } + + public override func awakeFromNib() { + super.awakeFromNib() + + emptyTitle.textColor = .label + } +} diff --git a/iOSClient/EmptyView/NCEmptyView.xib b/iOSClient/EmptyView/NCEmptyView.xib new file mode 100644 index 0000000000..0b5ebbe133 --- /dev/null +++ b/iOSClient/EmptyView/NCEmptyView.xib @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/Extensions/UIImage+Extension.swift b/iOSClient/Extensions/UIImage+Extension.swift index 797238c539..6da7d575d6 100644 --- a/iOSClient/Extensions/UIImage+Extension.swift +++ b/iOSClient/Extensions/UIImage+Extension.swift @@ -25,7 +25,7 @@ import Foundation import UIKit import Accelerate -extension UIImage { +extension UIImage: @unchecked Sendable { /// Returns a raster-resized copy of the image at the specified size, /// preserving the original scale and renderingMode. /// diff --git a/iOSClient/Helper/AdjustHelper.h b/iOSClient/Helper/AdjustHelper.h new file mode 100644 index 0000000000..9b63269a17 --- /dev/null +++ b/iOSClient/Helper/AdjustHelper.h @@ -0,0 +1,48 @@ +// +// AdjustHelper.h +// Nextcloud +// +// Created by A200073704 on 17/05/23. +// Copyright © 2023 Marino Faggiana. All rights reserved. +// +#import +//#import +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef enum : NSUInteger { + Login, + LoginSuccessful, + Sharing, + CreateLink, + DocumentScan, + CameraUpload, + FileUpload, + UseCamera, + Logout, + ResetsApp, + AutomaticUploadPhotosOn, + AutomaticUploadPhotosOff, + ManualBackup, + AutomaticBackup +} TriggerEvent; + +@interface AdjustHelper : NSObject + +@property (nonatomic, strong) NSString *yourAppToken; +@property (nonatomic, strong) NSString *environment; +@property (nonatomic, strong) ADJConfig *adjustConfig; +@property (nonatomic, strong) ADJEvent *eventLogin; +@property (nonatomic, strong) ADJEvent *event; +@property (nonatomic, assign) TriggerEvent triggerEvent; + +-(void)configAdjust; +-(void)subsessionEnd; +-(void)subsessionStart; +-(void)trackLogin; +-(void)trackEvent:(TriggerEvent)event; + +@end + +NS_ASSUME_NONNULL_END diff --git a/iOSClient/Helper/AdjustHelper.m b/iOSClient/Helper/AdjustHelper.m new file mode 100644 index 0000000000..780be4fe8e --- /dev/null +++ b/iOSClient/Helper/AdjustHelper.m @@ -0,0 +1,154 @@ +// +// AdjustHelper.m +// Nextcloud +// +// Created by A200073704 on 17/05/23. +// Copyright © 2023 Marino Faggiana. All rights reserved. +// + +#import "AdjustHelper.h" +//#import + +@implementation AdjustHelper + +-(void)configAdjust { + self.yourAppToken = @"1zfaxn19pd7k"; + self.environment = ADJEnvironmentProduction; + self.adjustConfig = [[ADJConfig alloc] initWithAppToken:self.yourAppToken + environment:self.environment]; + [self.adjustConfig setLogLevel:ADJLogLevelVerbose]; + [Adjust initSdk:self.adjustConfig]; +} + +-(void)subsessionEnd { + [Adjust trackSubsessionEnd]; +} + +-(void)subsessionStart { + [Adjust trackSubsessionStart]; +} + +- (void)trackLogin { + self.eventLogin = [[ADJEvent alloc] initWithEventToken:@"p8hl78"]; +// self.eventLogin = [ADJEvent eventWithEventToken:@"p8hl78"]; + [Adjust trackEvent: self.eventLogin]; +} + +-(void)trackEvent:(TriggerEvent)event { +// self.event = [ADJEvent eventWithEventToken:@"gb97gb"]; + BOOL track = [[NSUserDefaults standardUserDefaults] valueForKey:@"isAnalysisDataCollectionSwitchOn"]; + if (!track) { + return; + } + + switch(event){ + case Login: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"p8hl78"]; +// event = [ADJEvent eventWithEventToken:@"gb97gb"]; +// self.event = [ADJEvent eventWithEventToken:@"gb97gb"]; + [Adjust trackEvent:event]; + } + break; + case LoginSuccessful: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"dowf81"]; + // event = [ADJEvent eventWithEventToken:@"gb97gb"]; + // self.event = [ADJEvent eventWithEventToken:@"gb97gb"]; + [Adjust trackEvent:event]; + } + break; + case Sharing: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"mbeoyd"]; + [Adjust trackEvent:event]; + NSLog(@"%@", [event debugDescription]); + } +// self.event = [ADJEvent eventWithEventToken:@"fqtiu7"]; + break; + case CreateLink: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"29b333"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"qeyql3"]; + break; + case DocumentScan: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"im963g"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"7fec8n"]; + break; + case CameraUpload: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"hf9paq"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"v1g6ly"]; + break; + case FileUpload: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"hsbk2m"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"4rd8r4"]; + break; + case UseCamera: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"3czack"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"3czack"]; + break; + case Logout: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"n5q2qu"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"g6mj9y"]; + break; + case ResetsApp: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"3sj1xp"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"zi18r0"]; + break; + case AutomaticUploadPhotosOn: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"5lxz6h"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"vwd9yk"]; + break; + case AutomaticUploadPhotosOff: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"176496"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"e95w5t"]; + break; + case ManualBackup: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"oojr4y"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"oojr4y"]; + break; + case AutomaticBackup: + { + ADJEvent *event = [[ADJEvent alloc] initWithEventToken:@"7dkhkx"]; + [Adjust trackEvent:event]; + } +// self.event = [ADJEvent eventWithEventToken:@"7dkhkx"]; + break; + + default : + break; + } +// [Adjust trackEvent: self.event]; +} + +@end + diff --git a/iOSClient/Helper/TealiumHelper.swift b/iOSClient/Helper/TealiumHelper.swift new file mode 100644 index 0000000000..9680da8e0a --- /dev/null +++ b/iOSClient/Helper/TealiumHelper.swift @@ -0,0 +1,56 @@ +// +// TealiumHelper.swift +// Nextcloud +// +// Created by A200073704 on 17/05/23. +// Copyright © 2023 Marino Faggiana. All rights reserved. +// +import TealiumCore +import TealiumLifecycle +import TealiumAutotracking +import TealiumLocation +import TealiumRemoteCommands +import TealiumTagManagement +import TealiumVisitorService +import Foundation + +class TealiumHelper: NSObject { + static let shared = TealiumHelper() + let config = TealiumConfig(account: "telekom", + profile: "magentacloud-app", + environment: "dev") + var tealium: Tealium? + + @objc override init() { + + config.batchingEnabled = true + config.logLevel = .debug + + config.collectors = [Collectors.Lifecycle, + Collectors.Location, + Collectors.VisitorService] + + config.dispatchers = [Dispatchers.TagManagement, + Dispatchers.RemoteCommands] + + tealium = Tealium(config: config, enableCompletion: {value in + print(value) + } + ) + } + + func start() { + _ = TealiumHelper.shared + } + + @objc func trackView(title: String, data: [String: Any]?) { + let tealView = TealiumView(title, dataLayer: data) + TealiumHelper.shared.tealium?.track(tealView) + } + + @objc func trackEvent(title: String, data: [String: Any]?) { + let tealEvent = TealiumEvent(title, dataLayer: data) + TealiumHelper.shared.tealium?.track(tealEvent) + } +} + diff --git a/iOSClient/Images.xcassets/Applications.imageset/Applications.svg b/iOSClient/Images.xcassets/Applications.imageset/Applications.svg new file mode 100644 index 0000000000..1740311c97 --- /dev/null +++ b/iOSClient/Images.xcassets/Applications.imageset/Applications.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/iOSClient/Images.xcassets/Applications.imageset/Contents.json b/iOSClient/Images.xcassets/Applications.imageset/Contents.json new file mode 100644 index 0000000000..d2d92af38e --- /dev/null +++ b/iOSClient/Images.xcassets/Applications.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Applications.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/AudioFile.imageset/Audio File.svg b/iOSClient/Images.xcassets/AudioFile.imageset/Audio File.svg new file mode 100644 index 0000000000..2b341fb64f --- /dev/null +++ b/iOSClient/Images.xcassets/AudioFile.imageset/Audio File.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/AudioFile.imageset/Contents.json b/iOSClient/Images.xcassets/AudioFile.imageset/Contents.json new file mode 100644 index 0000000000..cad249ed92 --- /dev/null +++ b/iOSClient/Images.xcassets/AudioFile.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Audio File.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/Changelog.imageset/Changelog.svg b/iOSClient/Images.xcassets/Changelog.imageset/Changelog.svg new file mode 100644 index 0000000000..a1de96e865 --- /dev/null +++ b/iOSClient/Images.xcassets/Changelog.imageset/Changelog.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/iOSClient/Images.xcassets/directory.imageset/Contents.json b/iOSClient/Images.xcassets/Changelog.imageset/Contents.json similarity index 84% rename from iOSClient/Images.xcassets/directory.imageset/Contents.json rename to iOSClient/Images.xcassets/Changelog.imageset/Contents.json index 30d89a66b2..9db5d00c31 100644 --- a/iOSClient/Images.xcassets/directory.imageset/Contents.json +++ b/iOSClient/Images.xcassets/Changelog.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "directory.pdf", + "filename" : "Changelog.svg", "idiom" : "universal" } ], diff --git a/iOSClient/Images.xcassets/CirclePlay.imageset/Circle Play.svg b/iOSClient/Images.xcassets/CirclePlay.imageset/Circle Play.svg new file mode 100644 index 0000000000..f9e826822d --- /dev/null +++ b/iOSClient/Images.xcassets/CirclePlay.imageset/Circle Play.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/CirclePlay.imageset/Contents.json b/iOSClient/Images.xcassets/CirclePlay.imageset/Contents.json new file mode 100644 index 0000000000..ad276ba740 --- /dev/null +++ b/iOSClient/Images.xcassets/CirclePlay.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Circle Play.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/Color/Contents.json b/iOSClient/Images.xcassets/Color/Contents.json new file mode 100644 index 0000000000..73c00596a7 --- /dev/null +++ b/iOSClient/Images.xcassets/Color/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOSClient/Images.xcassets/Color/NCColorPicker.storyboard b/iOSClient/Images.xcassets/Color/NCColorPicker.storyboard new file mode 100644 index 0000000000..28d2ca8a62 --- /dev/null +++ b/iOSClient/Images.xcassets/Color/NCColorPicker.storyboard @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/Color/NCColorPicker.swift b/iOSClient/Images.xcassets/Color/NCColorPicker.swift new file mode 100644 index 0000000000..ec8ad7b7f7 --- /dev/null +++ b/iOSClient/Images.xcassets/Color/NCColorPicker.swift @@ -0,0 +1,229 @@ +// +// NCColorPicker.swift +// Nextcloud +// +// Created by Marino Faggiana on 24/07/22. +// Copyright © 2022 Marino Faggiana. All rights reserved. +// +// Author Marino Faggiana +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +import Foundation +import UIKit + +class NCColorPicker: UIViewController { + + @IBOutlet weak var closeButton: UIButton! + @IBOutlet weak var titleLabel: UILabel! + + @IBOutlet weak var orangeButton: UIButton! + @IBOutlet weak var redButton: UIButton! + @IBOutlet weak var purpleButton: UIButton! + @IBOutlet weak var blueButton: UIButton! + @IBOutlet weak var greenButton: UIButton! + @IBOutlet weak var cyanButton: UIButton! + @IBOutlet weak var yellowButton: UIButton! + @IBOutlet weak var grayButton: UIButton! + @IBOutlet weak var brownButton: UIButton! + + @IBOutlet weak var systemBlueButton: UIButton! + @IBOutlet weak var systemIndigoButton: UIButton! + @IBOutlet weak var systemMintButton: UIButton! + @IBOutlet weak var systemPinkButton: UIButton! + + @IBOutlet weak var defaultButton: UIButton! + @IBOutlet weak var customButton: UIButton! + + var metadata: tableMetadata? + var tapAction: UITapGestureRecognizer? + var selectedColor: UIColor? + + // MARK: - View Life Cycle + + override func viewDidLoad() { + super.viewDidLoad() + + view.backgroundColor = .secondarySystemBackground + + if let metadata = metadata { + let serverUrl = metadata.serverUrl + "/" + metadata.fileName + if let tableDirectory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", metadata.account, serverUrl)), let hex = tableDirectory.colorFolder, let color = UIColor(hex: hex) { + selectedColor = color + } + } + + closeButton.setImage(NCUtility().loadImage(named: "xmark", colors: [NCBrandColor.shared.iconImageColor]), for: .normal) + titleLabel.text = NSLocalizedString("_select_color_", comment: "") + + orangeButton.backgroundColor = .orange + orangeButton.layer.cornerRadius = 5 + orangeButton.layer.masksToBounds = true + + redButton.backgroundColor = .red + redButton.layer.cornerRadius = 5 + redButton.layer.masksToBounds = true + + purpleButton.backgroundColor = .purple + purpleButton.layer.cornerRadius = 5 + purpleButton.layer.masksToBounds = true + + blueButton.backgroundColor = .blue + blueButton.layer.cornerRadius = 5 + blueButton.layer.masksToBounds = true + + brownButton.backgroundColor = .brown + brownButton.layer.cornerRadius = 5 + brownButton.layer.masksToBounds = true + + greenButton.backgroundColor = .green + greenButton.layer.cornerRadius = 5 + greenButton.layer.masksToBounds = true + + grayButton.backgroundColor = .gray + grayButton.layer.cornerRadius = 5 + grayButton.layer.masksToBounds = true + + cyanButton.backgroundColor = .cyan + cyanButton.layer.cornerRadius = 5 + cyanButton.layer.masksToBounds = true + + yellowButton.backgroundColor = .yellow + yellowButton.layer.cornerRadius = 5 + yellowButton.layer.masksToBounds = true + + systemBlueButton.backgroundColor = .systemBlue + systemBlueButton.layer.cornerRadius = 5 + systemBlueButton.layer.masksToBounds = true + + systemMintButton.backgroundColor = NCBrandColor.shared.systemMint + systemMintButton.layer.cornerRadius = 5 + systemMintButton.layer.masksToBounds = true + + systemPinkButton.backgroundColor = .systemPink + systemPinkButton.layer.cornerRadius = 5 + systemPinkButton.layer.masksToBounds = true + + customButton.setImage(UIImage(named: "rgb"), for: .normal) + if let selectedColor = selectedColor { + customButton.backgroundColor = selectedColor + } else { + customButton.backgroundColor = .secondarySystemBackground + } + customButton.layer.cornerRadius = 5 + customButton.layer.masksToBounds = true + + systemIndigoButton.backgroundColor = .systemIndigo + systemIndigoButton.layer.cornerRadius = 5 + systemIndigoButton.layer.masksToBounds = true + + defaultButton.backgroundColor = NCBrandColor.shared.customer + defaultButton.layer.cornerRadius = 5 + defaultButton.layer.masksToBounds = true + } + + // MARK: - Action + + @IBAction func closeAction(_ sender: UIButton) { + dismiss(animated: true) + } + + @IBAction func orangeButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.orange.hexString) + } + + @IBAction func redButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.red.hexString) + } + + @IBAction func purpleButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.purple.hexString) + } + + @IBAction func blueButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.blue.hexString) + } + + @IBAction func greenButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.green.hexString) + } + + @IBAction func cyanButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.cyan.hexString) + } + + @IBAction func yellowButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.yellow.hexString) + } + + @IBAction func grayButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.gray.hexString) + } + + @IBAction func brownButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.brown.hexString) + } + + @IBAction func systemBlueButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.systemBlue.hexString) + } + + @IBAction func systemIndigoButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.systemIndigo.hexString) + } + + @IBAction func systemMintButtonAction(_ sender: AnyObject) { + updateColor(hexColor: NCBrandColor.shared.systemMint.hexString) + } + + @IBAction func systemPinkButtonAction(_ sender: AnyObject) { + updateColor(hexColor: UIColor.systemPink.hexString) + } + + @IBAction func defaultButtonAction(_ sender: AnyObject) { + updateColor(hexColor: nil) + } + + @IBAction func customButtonAction(_ sender: AnyObject) { + + let picker = UIColorPickerViewController() + picker.delegate = self + picker.supportsAlpha = false + if let selectedColor = selectedColor { + picker.selectedColor = selectedColor + } + self.present(picker, animated: true, completion: nil) + } + + // MARK: - + + func updateColor(hexColor: String?) { + if let metadata = metadata { + let serverUrl = metadata.serverUrl + "/" + metadata.fileName + NCManageDatabase.shared.updateDirectoryColorFolder(hexColor, metadata: metadata, serverUrl: serverUrl) + self.dismiss(animated: true) + NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl": metadata.serverUrl, "clearDataSource": true]) + } + self.dismiss(animated: true) + } +} + +extension NCColorPicker: UIColorPickerViewControllerDelegate { + + func colorPickerViewControllerDidFinish(_ viewController: UIColorPickerViewController) { + let hexColor = viewController.selectedColor.hexString + updateColor(hexColor: hexColor) + } +} diff --git a/iOSClient/Images.xcassets/Color/blackWhiteColor.colorset/Contents.json b/iOSClient/Images.xcassets/Color/blackWhiteColor.colorset/Contents.json new file mode 100644 index 0000000000..d890719186 --- /dev/null +++ b/iOSClient/Images.xcassets/Color/blackWhiteColor.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.000", + "green" : "0.000", + "red" : "0.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "1.000", + "red" : "1.000" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOSClient/Images.xcassets/Contacts.imageset/Contacts.svg b/iOSClient/Images.xcassets/Contacts.imageset/Contacts.svg new file mode 100644 index 0000000000..ec65b3f341 --- /dev/null +++ b/iOSClient/Images.xcassets/Contacts.imageset/Contacts.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/iOSClient/Images.xcassets/Contacts.imageset/Contents.json b/iOSClient/Images.xcassets/Contacts.imageset/Contents.json new file mode 100644 index 0000000000..68dda7fcc6 --- /dev/null +++ b/iOSClient/Images.xcassets/Contacts.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Contacts.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/Empty album detailed view.imageset/Contents.json b/iOSClient/Images.xcassets/Empty album detailed view.imageset/Contents.json new file mode 100644 index 0000000000..467f0e7dd9 --- /dev/null +++ b/iOSClient/Images.xcassets/Empty album detailed view.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Empty album detailed view.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOSClient/Images.xcassets/Empty album detailed view.imageset/Empty album detailed view.svg b/iOSClient/Images.xcassets/Empty album detailed view.imageset/Empty album detailed view.svg new file mode 100644 index 0000000000..29b6beea2d --- /dev/null +++ b/iOSClient/Images.xcassets/Empty album detailed view.imageset/Empty album detailed view.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/Empty album viw.imageset/Contents.json b/iOSClient/Images.xcassets/Empty album viw.imageset/Contents.json new file mode 100644 index 0000000000..4745035c8d --- /dev/null +++ b/iOSClient/Images.xcassets/Empty album viw.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Empty album viw.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOSClient/Images.xcassets/Empty album viw.imageset/Empty album viw.svg b/iOSClient/Images.xcassets/Empty album viw.imageset/Empty album viw.svg new file mode 100644 index 0000000000..89d90f8f34 --- /dev/null +++ b/iOSClient/Images.xcassets/Empty album viw.imageset/Empty album viw.svg @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/EmptyAlbum.imageset/Contents.json b/iOSClient/Images.xcassets/EmptyAlbum.imageset/Contents.json new file mode 100644 index 0000000000..78ded2ecd9 --- /dev/null +++ b/iOSClient/Images.xcassets/EmptyAlbum.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "filename" : "empty-files.svg", + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "empty-files-dark.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOSClient/Images.xcassets/EmptyAlbum.imageset/empty-files-dark.svg b/iOSClient/Images.xcassets/EmptyAlbum.imageset/empty-files-dark.svg new file mode 100644 index 0000000000..b9bd196eab --- /dev/null +++ b/iOSClient/Images.xcassets/EmptyAlbum.imageset/empty-files-dark.svg @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/EmptyAlbum.imageset/empty-files.svg b/iOSClient/Images.xcassets/EmptyAlbum.imageset/empty-files.svg new file mode 100644 index 0000000000..af914b14fd --- /dev/null +++ b/iOSClient/Images.xcassets/EmptyAlbum.imageset/empty-files.svg @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Black.ttf b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Black.ttf new file mode 100644 index 0000000000..45f991721c Binary files /dev/null and b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Black.ttf differ diff --git a/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Bold.ttf b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Bold.ttf new file mode 100644 index 0000000000..9f92725889 Binary files /dev/null and b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Bold.ttf differ diff --git a/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-ExtraBold.ttf b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-ExtraBold.ttf new file mode 100644 index 0000000000..ceefce0eed Binary files /dev/null and b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-ExtraBold.ttf differ diff --git a/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-ExtraLight.ttf b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-ExtraLight.ttf new file mode 100644 index 0000000000..8a4abb844e Binary files /dev/null and b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-ExtraLight.ttf differ diff --git a/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Light.ttf b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Light.ttf new file mode 100644 index 0000000000..2ce1842992 Binary files /dev/null and b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Light.ttf differ diff --git a/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Medium.ttf b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Medium.ttf new file mode 100644 index 0000000000..3643283555 Binary files /dev/null and b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Medium.ttf differ diff --git a/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Regular.ttf b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Regular.ttf new file mode 100644 index 0000000000..457d262cf5 Binary files /dev/null and b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-Regular.ttf differ diff --git a/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-SemiBold.ttf b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-SemiBold.ttf new file mode 100644 index 0000000000..f6a0d18fa6 Binary files /dev/null and b/iOSClient/Images.xcassets/Font/Inconsolata/Inconsolata-SemiBold.ttf differ diff --git a/iOSClient/Images.xcassets/History.imageset/Contents.json b/iOSClient/Images.xcassets/History.imageset/Contents.json new file mode 100644 index 0000000000..5838bc60a4 --- /dev/null +++ b/iOSClient/Images.xcassets/History.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "History.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/History.imageset/History.svg b/iOSClient/Images.xcassets/History.imageset/History.svg new file mode 100644 index 0000000000..a9de5c7c5d --- /dev/null +++ b/iOSClient/Images.xcassets/History.imageset/History.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/Image.imageset/Contents.json b/iOSClient/Images.xcassets/Image.imageset/Contents.json new file mode 100644 index 0000000000..3f57471266 --- /dev/null +++ b/iOSClient/Images.xcassets/Image.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/ImageFile.imageset/Contents.json b/iOSClient/Images.xcassets/ImageFile.imageset/Contents.json new file mode 100644 index 0000000000..a45f579fc2 --- /dev/null +++ b/iOSClient/Images.xcassets/ImageFile.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Image File.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/ImageFile.imageset/Image File.svg b/iOSClient/Images.xcassets/ImageFile.imageset/Image File.svg new file mode 100644 index 0000000000..dd28e96ccd --- /dev/null +++ b/iOSClient/Images.xcassets/ImageFile.imageset/Image File.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/iOSClient/Images.xcassets/InfoNetwork.imageset/Contents.json b/iOSClient/Images.xcassets/InfoNetwork.imageset/Contents.json index e8722c72c9..a946785164 100644 --- a/iOSClient/Images.xcassets/InfoNetwork.imageset/Contents.json +++ b/iOSClient/Images.xcassets/InfoNetwork.imageset/Contents.json @@ -8,5 +8,8 @@ "info" : { "author" : "xcode", "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/trash.imageset/Contents.json b/iOSClient/Images.xcassets/Link.imageset/Contents.json similarity index 85% rename from iOSClient/Images.xcassets/trash.imageset/Contents.json rename to iOSClient/Images.xcassets/Link.imageset/Contents.json index e98514534c..6d19e46278 100644 --- a/iOSClient/Images.xcassets/trash.imageset/Contents.json +++ b/iOSClient/Images.xcassets/Link.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "trash.pdf", + "filename" : "Link.svg", "idiom" : "universal" } ], diff --git a/iOSClient/Images.xcassets/Link.imageset/Link.svg b/iOSClient/Images.xcassets/Link.imageset/Link.svg new file mode 100644 index 0000000000..c6cb608fc4 --- /dev/null +++ b/iOSClient/Images.xcassets/Link.imageset/Link.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/Contents.json b/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/Contents.json new file mode 100644 index 0000000000..f2f2fc305c --- /dev/null +++ b/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "MenuGroupByAlphabetic.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "MenuGroupByAlphabetic@3x-1.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "MenuGroupByAlphabetic@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic.png b/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic.png new file mode 100644 index 0000000000..6021496449 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic.png differ diff --git a/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic@3x-1.png b/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic@3x-1.png new file mode 100644 index 0000000000..06b658f763 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic@3x-1.png differ diff --git a/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic@3x.png b/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic@3x.png new file mode 100644 index 0000000000..635addc77c Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByAlphabetic.imageset/MenuGroupByAlphabetic@3x.png differ diff --git a/iOSClient/Images.xcassets/MenuGroupByDate.imageset/Contents.json b/iOSClient/Images.xcassets/MenuGroupByDate.imageset/Contents.json new file mode 100644 index 0000000000..a3852fbd0c --- /dev/null +++ b/iOSClient/Images.xcassets/MenuGroupByDate.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "MenuGroupByDate.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "MenuGroupByDate@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "MenuGroupByDate@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate.png b/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate.png new file mode 100644 index 0000000000..336b9c51b4 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate.png differ diff --git a/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate@2x.png b/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate@2x.png new file mode 100644 index 0000000000..74e1ebfa6a Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate@2x.png differ diff --git a/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate@3x.png b/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate@3x.png new file mode 100644 index 0000000000..2fe97b2405 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByDate.imageset/MenuGroupByDate@3x.png differ diff --git a/iOSClient/Images.xcassets/MenuGroupByFile.imageset/Contents.json b/iOSClient/Images.xcassets/MenuGroupByFile.imageset/Contents.json new file mode 100644 index 0000000000..0b82de579d --- /dev/null +++ b/iOSClient/Images.xcassets/MenuGroupByFile.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "MenuGroupByFile.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "MenuGroupByFile@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "MenuGroupByFile@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile.png b/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile.png new file mode 100644 index 0000000000..6b04ce66ba Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile.png differ diff --git a/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile@2x.png b/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile@2x.png new file mode 100644 index 0000000000..3b31a4482a Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile@2x.png differ diff --git a/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile@3x.png b/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile@3x.png new file mode 100644 index 0000000000..a90dfd79eb Binary files /dev/null and b/iOSClient/Images.xcassets/MenuGroupByFile.imageset/MenuGroupByFile@3x.png differ diff --git a/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/Contents.json b/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/Contents.json new file mode 100644 index 0000000000..808b6665c3 --- /dev/null +++ b/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "MenuOrderByFileName.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "MenuOrderByFileName@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "MenuOrderByFileName@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName.png b/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName.png new file mode 100644 index 0000000000..a35bd06791 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName.png differ diff --git a/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName@2x.png b/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName@2x.png new file mode 100644 index 0000000000..56c20ff42b Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName@2x.png differ diff --git a/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName@3x.png b/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName@3x.png new file mode 100644 index 0000000000..507d4b99d0 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrderByFileName.imageset/MenuOrderByFileName@3x.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/Contents.json b/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/Contents.json new file mode 100644 index 0000000000..585e3e21f4 --- /dev/null +++ b/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "MenuOrdeyByDate.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "MenuOrdeyByDate@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "MenuOrdeyByDate@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate.png b/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate.png new file mode 100644 index 0000000000..26cc076d0b Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate@2x.png b/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate@2x.png new file mode 100644 index 0000000000..e5bcfd733c Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate@2x.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate@3x.png b/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate@3x.png new file mode 100644 index 0000000000..b59790550a Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdeyByDate.imageset/MenuOrdeyByDate@3x.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/Contents.json b/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/Contents.json new file mode 100644 index 0000000000..58efb22821 --- /dev/null +++ b/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "MenuOrdinamentoAscendente.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "MenuOrdinamentoAscendente@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "MenuOrdinamentoAscendente@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente.png b/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente.png new file mode 100644 index 0000000000..2314f6244a Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente@2x.png b/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente@2x.png new file mode 100644 index 0000000000..075545e1ae Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente@2x.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente@3x.png b/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente@3x.png new file mode 100644 index 0000000000..62112d98c9 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdinamentoAscendente.imageset/MenuOrdinamentoAscendente@3x.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/Contents.json b/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/Contents.json new file mode 100644 index 0000000000..393a100166 --- /dev/null +++ b/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "MenuOrdinamentoDiscendente.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "MenuOrdinamentoDiscendente@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "MenuOrdinamentoDiscendente@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente.png b/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente.png new file mode 100644 index 0000000000..edbddbffc3 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente@2x.png b/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente@2x.png new file mode 100644 index 0000000000..f698700156 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente@2x.png differ diff --git a/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente@3x.png b/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente@3x.png new file mode 100644 index 0000000000..d53cff0361 Binary files /dev/null and b/iOSClient/Images.xcassets/MenuOrdinamentoDiscendente.imageset/MenuOrdinamentoDiscendente@3x.png differ diff --git a/iOSClient/Images.xcassets/PDFFile.imageset/Contents.json b/iOSClient/Images.xcassets/PDFFile.imageset/Contents.json new file mode 100644 index 0000000000..dc33ab15e3 --- /dev/null +++ b/iOSClient/Images.xcassets/PDFFile.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "PDF File.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/PDFFile.imageset/PDF File.svg b/iOSClient/Images.xcassets/PDFFile.imageset/PDF File.svg new file mode 100644 index 0000000000..3e6f26194c --- /dev/null +++ b/iOSClient/Images.xcassets/PDFFile.imageset/PDF File.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/iOSClient/Images.xcassets/Print.imageset/Contents.json b/iOSClient/Images.xcassets/Print.imageset/Contents.json new file mode 100644 index 0000000000..3faa51853b --- /dev/null +++ b/iOSClient/Images.xcassets/Print.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Print.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/Print.imageset/Print.svg b/iOSClient/Images.xcassets/Print.imageset/Print.svg new file mode 100644 index 0000000000..18fa5e33fc --- /dev/null +++ b/iOSClient/Images.xcassets/Print.imageset/Print.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/Property 1=Default-1.imageset/Contents.json b/iOSClient/Images.xcassets/Property 1=Default-1.imageset/Contents.json new file mode 100644 index 0000000000..fc9114de7f --- /dev/null +++ b/iOSClient/Images.xcassets/Property 1=Default-1.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "filename" : "Property 1=Default-1.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/Property 1=Default-1.imageset/Property 1=Default-1.svg b/iOSClient/Images.xcassets/Property 1=Default-1.imageset/Property 1=Default-1.svg new file mode 100644 index 0000000000..ee42a2476c --- /dev/null +++ b/iOSClient/Images.xcassets/Property 1=Default-1.imageset/Property 1=Default-1.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/Property 1=Default.imageset/Contents.json b/iOSClient/Images.xcassets/Property 1=Default.imageset/Contents.json new file mode 100644 index 0000000000..351dc35059 --- /dev/null +++ b/iOSClient/Images.xcassets/Property 1=Default.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "filename" : "Property 1=Default.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/Property 1=Default.imageset/Property 1=Default.svg b/iOSClient/Images.xcassets/Property 1=Default.imageset/Property 1=Default.svg new file mode 100644 index 0000000000..329cb085bd --- /dev/null +++ b/iOSClient/Images.xcassets/Property 1=Default.imageset/Property 1=Default.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/af.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/af.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/af.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/af.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/af.lproj/Localizable.strings new file mode 100644 index 0000000000..0c80bf771a Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/af.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/af.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/af.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/af.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/an.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/an.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/an.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/an.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/an.lproj/Localizable.strings new file mode 100644 index 0000000000..a7efdfa17e Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/an.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/an.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/an.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/an.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ar.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ar.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5847014aaf Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ar.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ar.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ar.lproj/Localizable.strings new file mode 100644 index 0000000000..917b1b203c Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ar.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ar.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ar.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..8beac0458f --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ar.lproj/Localizable.stringsdict @@ -0,0 +1,30 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + zero + %d تنزيلات متبقية مسموح بها + one + %d تنزيلات متبقية مسموح بها + two + %d تنزيلات متبقية مسموح بها + few + %d تنزيلات متبقية مسموح بها + many + %d تنزيلات متبقية مسموح بها + other + %d تنزيلات متبقية مسموح بها + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ast.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ast.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ast.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ast.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ast.lproj/Localizable.strings new file mode 100644 index 0000000000..0fee2a70e2 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ast.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ast.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ast.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ast.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/az.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/az.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/az.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/az.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/az.lproj/Localizable.strings new file mode 100644 index 0000000000..00671f4f7e Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/az.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/az.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/az.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/az.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/be.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/be.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/be.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/be.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/be.lproj/Localizable.strings new file mode 100644 index 0000000000..c70e91ba83 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/be.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/be.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/be.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/be.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/InfoPlist.strings new file mode 100644 index 0000000000..85c0502b53 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/Localizable.strings new file mode 100644 index 0000000000..df637a8ee0 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/bg_BG.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/Localizable.strings new file mode 100644 index 0000000000..f7a0ed9cbd Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/bn_BD.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/br.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/br.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/br.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/br.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/br.lproj/Localizable.strings new file mode 100644 index 0000000000..9bf972e914 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/br.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/br.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/br.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/br.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/bs.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/bs.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/bs.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/bs.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/bs.lproj/Localizable.strings new file mode 100644 index 0000000000..a48a8a6790 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/bs.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/bs.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/bs.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/bs.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ca.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ca.lproj/InfoPlist.strings new file mode 100644 index 0000000000..2e5024a47c Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ca.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ca.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ca.lproj/Localizable.strings new file mode 100644 index 0000000000..22b70ab522 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ca.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ca.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ca.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ca.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/InfoPlist.strings new file mode 100644 index 0000000000..37fe8b978e Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/Localizable.strings new file mode 100644 index 0000000000..b8e800c164 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..4f5cf144ca --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/cs-CZ.lproj/Localizable.stringsdict @@ -0,0 +1,26 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + Zbývá %d umožněné stažení + few + Zbývají %d umožněná stažení + many + Zbývá %d umožněných stažení + other + Zbývají %d umožněná stažení + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/Localizable.strings new file mode 100644 index 0000000000..db23d48296 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/cy_GB.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/da.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/da.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6f25538a29 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/da.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/da.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/da.lproj/Localizable.strings new file mode 100644 index 0000000000..e4d866f4c3 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/da.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/da.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/da.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..9192c82678 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/da.lproj/Localizable.stringsdict @@ -0,0 +1,22 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d tilladte downloads tilbage + other + %d resterende tilladte downloads + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/de.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..8998f40f0b Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/de.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/de.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/de.lproj/Localizable.strings new file mode 100644 index 0000000000..04db72e88c Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/de.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/de.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/de.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..a65260a574 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/de.lproj/Localizable.stringsdict @@ -0,0 +1,22 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d verbleibender Download erlaubt + other + %d verbleibende Downloads erlaubt + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/el.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/el.lproj/InfoPlist.strings new file mode 100644 index 0000000000..845682cabc Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/el.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/el.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/el.lproj/Localizable.strings new file mode 100644 index 0000000000..54bbb70067 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/el.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/el.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/el.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/el.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/Localizable.strings new file mode 100644 index 0000000000..e52b915b90 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..e0e01b6491 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/en-GB.lproj/Localizable.stringsdict @@ -0,0 +1,22 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d remaining download allowed + other + %d remaining downloads allowed + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/en.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/en.lproj/InfoPlist.strings new file mode 100644 index 0000000000..87edded000 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/en.lproj/InfoPlist.strings @@ -0,0 +1,7 @@ +NSCameraUsageDescription = "Camera access is required to scan documents and make photo and video."; +NSFaceIDUsageDescription = "Face ID is required to authenticate using face recognition."; +NSLocationAlwaysUsageDescription = "The app will show your location on a map."; +NSPhotoLibraryUsageDescription = "Photo library access is required to upload your photos and videos to your cloud."; +NSPhotoLibraryAddUsageDescription = "Photo library access is required to upload your photos and videos to your cloud."; +NSMicrophoneUsageDescription = "Microphone access is required to create voice notes."; +NSLocationWhenInUseUsageDescription = "The app will show your location on a map."; diff --git a/iOSClient/Images.xcassets/Supporting Files/en.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/en.lproj/Localizable.strings new file mode 100644 index 0000000000..8f1941a363 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/en.lproj/Localizable.strings @@ -0,0 +1,1334 @@ +// +// Localizable.strings +// Nextcloud +// +// Copyright © 2017 Marino Faggiana. All rights reserved. +// +// Author Marino Faggiana +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +"_itunes_" = "iTunes"; +"_cancel_" = "Cancel"; +"_edit_" = "Edit"; +"_tap_to_cancel_" = "Tap to cancel"; +"_cancel_request_" = "Do you want to cancel?"; +"_upload_file_" = "Upload file"; +"_download_file_" = "Download file"; +"_loading_" = "Loading"; +"_loading_with_points_" = "Loading …"; +"_loading_num_" = "Loading file %i"; +"_loading_autoupload_" = "Auto uploading"; +"_uploading_" = "Uploading"; +"_synchronization_" = "Synchronization"; +"_delete_" = "Delete"; +"_delete_file_n_" = "Delete file %i of %i"; +"_rename_" = "Rename"; +"_rename_file_" = "Rename file"; +"_rename_folder_" = "Rename folder"; +"_move_" = "Move"; +"_move_file_n_" = "Move file %i of %i"; +"_creating_sharing_" = "Creating share"; +"_updating_sharing_" = "Updating share"; +"_removing_sharing_" = "Removing share"; +"_add_" = "Add"; +"_login_" = "Log in"; +"_save_" = "Save"; +"_warning_" = "Warning"; +"_error_" = "Error"; +"_no_" = "No"; +"_yes_" = "Yes"; +"_select_" = "Select"; +"_deselect_" = "Deselect"; +"_select_all_" = "Select all"; +"_upload_" = "Upload"; +"_home_" = "Files"; +"_files_" = "Files"; +"_home_dir_" = "Home"; +"_file_to_upload_" = "File to upload"; +"_destination_" = "Destination"; +"_ok_" = "OK"; +"_beta_version_" = "Beta version"; +"_function_in_testing_" = "Function in testing, please send information about any problems you run into."; +"_done_" = "Done"; +"_clear_" = "Clear"; +"_passcode_too_short_" = "Passcode too short, at least 4 characters required"; +"_selected_" = "Selected"; +"_scan_fingerprint_" = "Scan fingerprint to authenticate"; +"_no_active_account_" = "No account found"; +"_info_" = "Info"; +"_warning_" = "Warning"; +"_email_" = "Email"; +"_save_exit_" = "Do you want to exit without saving?"; +"_video_" = "Video"; +"_overwrite_" = "Overwrite"; +"_transfers_in_queue_" = "Transfers in progress, please wait …"; +"_too_errors_upload_" = "Too many errors, please verify the problem"; +"_create_" = "Create"; +"_create_folder_" = "Create folder"; +"_create_folder_e2ee_" = "Create encrypted folder"; +"_create_folder_on_" = "Create folder on"; +"_close_" = "Close"; +"_postpone_" = "Postpone"; +"_remove_" = "Remove"; +"_file_not_found_" = "File not found"; +"_continue_" = "Continue"; +"_continue_editing_" = "Continue editing"; +"_continue_request_" = "Do you want to continue?"; +"_auto_upload_folder_" = "Auto upload"; +"_gallery_" = "Gallery"; +"_photo_" = "Photo"; +"_audio_" = "Audio"; +"_unknown_" = "Unknown"; +"_additional_view_options_" = "Additional view options"; +"_next_" = "Next"; +"_success_" = "Success"; +"_initialization_" = "Initialization"; +"_experimental_" = "Experimental"; +"_select_dir_media_tab_" = "Select as folder \"Media\""; +"_error_creation_file_" = "Oops! Could not create the file"; +"_save_path_" = "Storage path"; +"_save_settings_" = "Save settings"; +"_mode_filename_" = "Filename mode"; +"_warning_owncloud_" = "You are connected to an ownCloud server. This is untested and unsupported, use at your own risk. To upgrade to Nextcloud, see https://nextcloud.com/migration."; +"_warning_unsupported_" = "You are using an unsupported version of Nextcloud. For the safety of your data we strongly recommend updating to the latest stable Nextcloud."; +"_restore_" = "Restore"; +"_camera_roll_" = "Camera roll"; +"_tap_here_to_change_" = "Tap here to change"; +"_no_albums_" = "No albums"; +"_denied_album_" = "This app does not have access to \"Photos\". You can enable access in Privacy Settings."; +"_denied_camera_" = "This app does not have access to \"Camera\". You can enable access in Privacy Settings."; +"_start_" = "Start"; +"_force_start_" = "Force the start"; +"_account_not_available_" = "The account %@ of %@ does not exist, please add it to be able to read the file %@."; +"_the_account_" = "The account"; +"_does_not_exist_" = "does not exist"; +"_purchase_" = "Purchase"; +"_account_not_exists_" = "The account %@ of %@ does not exist"; +"_account_not_available_" = "The account %@ of %@ does not exist, please add it to be able to read the file %@"; +"_the_account_" = "The account"; +"_does_not_exist_" = "does not exist"; +"_error_parameter_schema_" = "Wrong parameters, impossible to continue"; +"_comments_" = "Comments"; +"_sharing_" = "Sharing"; +"_details_" = "Share"; +"_sub_details_" = "Subscription Details"; +"_subscriptions_" = "Subscriptions"; +"_dark_mode_" = "Dark mode"; +"_dark_mode_detect_" = "Detect iOS dark mode"; +"_screen_" = "Screen"; +"_wipe_account_" = "Account is wiped from server"; +"_appconfig_view_title_" = "Account configuration in progress …"; +"_no_permission_add_file_" = "You don't have permission to add files"; +"_no_permission_delete_file_" = "You don't have permission to delete files"; +"_no_permission_modify_file_" = "You don't have permission to modify files"; +"_no_permission_favorite_file_" = "You don't have permission to add the file to your favorites"; +"_request_upload_new_ver_" = "The file has been modified, do you want to upload the new version?"; +"_add_folder_info_" = "Add folder info"; +"_back_" = "Back"; +"_search_" = "Search"; +"_of_" = "of"; +"_internal_modify_" = "Edit with internal editor"; +"_database_corrupt_" = "Oops something went wrong, please enter your credentials but don't worry, your files have remained secure"; +"_livephoto_save_" = "Save Live Photo to Photo Album"; +"_livephoto_save_error_" = "Error during save of Live Photo."; +"_livephoto_no_" = "Disable Live Photo"; +"_convert_live_photo_" = "Convert to Live Photo"; +"_file_conflict_num_" = "file conflict"; +"_file_conflicts_num_" = "file conflicts"; +"_file_conflict_desc_" = "Which files do you want to keep?\nIf you select both versions, the copied file will have a number added to its name."; +"_file_conflict_new_" = "New files"; +"_file_conflict_exists_" = "Already existing files"; +"_file_not_rewite_doc_" = "It is not possible to overwrite a document but only to create a new one."; +"_move_or_copy_" = "Move or copy"; +"_copy_" = "Copy"; +"_now_" = "Now"; +"_wait_" = "Please wait …"; +"_attention_" = "Attention"; +"_recent_" = "Recent"; +"_view_in_folder_" = "View in folder"; +"_leave_share_" = "Leave this share"; +"_premium_" = "Premium"; +"_professional_" = "Professional"; +"_current_" = "Current"; +"_buy_" = "Buy"; +"_disabled_" = "Disabled"; +"_standard_" = "Standard"; +"_maximum_" = "Maximum"; +"_error_occurred_" = "An error occurred, please try again."; +"_retry_" = "Retry"; +"_images_" = "Images"; +"_confirm_" = "Confirm"; + +/* MARK: Files lock */ + +"_unlock_" = "Unlock"; +"_lock_file_" = "Lock file"; +"_unlock_file_" = "Unlock file"; +"_lock_selected_files_" = "Lock files"; +"_unlock_selected_files_" = "Unlock files"; +"_locked_by_" = "Locked by %@"; +"_file_locked_no_override_" = "This file is locked. It cannot be overridden."; +"_lock_no_permissions_selected_" = "Not allowed for some selected files or folders."; +/* Remove a file from a list, don't delete it entirely */ +"_remove_file_" = "Remove file"; + +/* Delete file and put it into the trash */ +"_delete_file_" = "Delete file"; +"_delete_folder_" = "Delete folder"; +"_delete_photo_" = "Delete photo"; +"_delete_video_" = "Delete video"; +"_automatic_Download_Image_" = "Use images in full resolution"; +"_automatic_Download_Image_footer_" = "When viewing images always download, if not available locally, the images in full resolution"; +"_size_" = "Size"; +"_file_size_" = "Exported file size"; +"_dimension_" = "Dimension"; +"_duration_" = "Duration"; +"_model_" = "Model"; +"_set_user_status_" = "Set user status"; +"_open_settings_" = "Open settings"; +"_rename_ext_title_" = "Change file type?"; +"_rename_ext_message_" = "This file may behave differently if you change it from .%@ to %@"; +"_use_" = "Use"; +"_keep_" = "Keep"; +"_account_request_" = "Request account"; +"_settings_account_request_" = "Request account at startup"; +"_print_" = "Print"; +"_alias_" = "Alias"; +"_alias_placeholder_" = "Write the alias"; +"_alias_footer_" = "Give your account names a descriptive name such as Home, Office, School …"; +"_chunk_size_mb_" = "Chunk size in MB"; +"_chunk_footer_title_" = "Chunked file upload (0 is disabled)\nImportant: the chunked upload works only when the app is \"active\"."; +"_privacy_legal_" = "Privacy and Legal Policy"; +"_source_code_" = "Get source code"; +"_account_select_" = "Select the account"; +"_account_select_to_add_" = "Select the account to add"; +"_host_insert_" = "Insert the host name, for example:"; +"_certificate_not_found_" = "File %@ in documents directory not found."; +"_copy_failed_" = "Copy failed"; +"_certificate_installed_" = "Certificate installed"; +"_remove_local_account_" = "Remove local account"; +"_want_delete_account_" = "Do you want to remove local account?"; +"_prevent_http_redirection_"= "The redirection in HTTP is not permitted."; +"_pdf_vertical_" = "PDF vertical display"; +"_pdf_horizontal_" = "PDF horizontal display"; +"_single_file_conflict_title_" = "File conflict"; +"_multi_file_conflict_title_" = "%@ File conflicts"; +"_replace_action_title_" = "Replace"; +"_keep_both_action_title_" = "Keep both"; +"_cancel_keep_existing_action_title_" = "Cancel and keep existing"; +"_replace_all_action_title_" = "Replace all"; +"_keep_both_for_all_action_title_" = "Keep both for all"; +"_more_action_title_" = "More Details"; +"_wait_file_preparation_" = "Please wait, preparing file upload…"; +"_wait_file_encryption_" = "Please wait, encrypting file…"; +"_passcode_counter_fail_" = "Too many failed attempts, please wait before reattempting."; +"_seconds_" = "seconds"; +"_change_lock_passcode_" = "Change passcode"; +"_lock_cannot_disable_mdm_" = "Disabling the passcode lock is not permitted by your configuration profile."; + +/* Background of the file listing view */ +"_use_as_background_" = "Use it as a background"; + +/* Background of the file listing view */ +"_background_" = "Background"; + +"_dark_mode_" = "Dark mode"; +"_default_color_" = "Use the default color"; +"_as_default_color_" = "Use as default color"; + +// MARK: User Status + +/* User status */ +"_online_" = "Online"; + +/* User status */ +"_away_" = "Away"; +/* User status */ + +"_dnd_" = "Do not disturb"; + +/* User status */ +"_dnd_description_" = "Mute all notifications"; + +/* User status */ +"_invisible_" = "Invisible"; + +/* User status */ +"_invisible_description_" = "Appear offline"; + +/* User status */ +"_status_message_" = "Status message"; +"_status_message_placehorder_" = "What is your status?"; +"_online_status_" = "Online status"; +"_clear_status_message_" = "Clear status message"; +"_set_status_message_" = "Set status message"; +"_clear_status_message_after_" = "Clear status message after"; + +/* User status */ +"_select_option_" = "Select option"; +"_dont_clear_" = "Don't clear"; +"_30_minutes_" = "30 minutes"; +"_an_hour_" = "an hour"; +"_1_hour_" = "1 hour"; +"_4_hours_" = "4 hours"; +"day" = "Today"; +"_this_week_" = "This week"; +"_days_" = "Days"; +"_hours_" = "Hours"; +"_minutes_" = "Minutes"; + +"_network_available_" = "Network available"; +"_network_not_available_" = "Network unavailable"; +"_file_too_big_" = "File too large to be encrypted/decrypted"; +"_file_too_big_max_100_" = "File too large (max 100 kb.)"; +"_...loading..._" = "Loading …"; +"_download_plist_" = " "; +"_no_reuploadfile_" = "Could not find nor resend file. Delete the upload and reload the file to upload it."; +"_file_already_exists_" = "Unable to complete the operation, a file with the same name exists."; +"_read_file_error_" = "Could not read the file"; +"_write_file_error_" = "Could not write the file"; +"_files_lock_error_" = "There was an error changing the lock of this file."; +"_more_" = "More"; +"_notifications_" = "Notifications"; +"_logout_" = "Log out"; +"_quota_space_unlimited_" = "Unlimited"; +"_quota_space_unknown_" = "Unknown"; +"_quota_using_" = "%@ "; +"_quota_using_of_" = "of %@"; +"_quota_using_percentage_" = "Memory to %@ occupied"; +"_acknowledgements_" = "Acknowledgements"; +"_settings_" = "Settings"; +"_passcode_" = "Password"; +"_enter_password_" = "Enter password …"; +"_lock_" = "Lock"; +"_lock_active_" = "Lock: On"; +"_lock_not_active_" = "Lock: Off"; +"_lock_protection_no_screen_" = "Do not ask at startup"; +"_lock_protection_no_screen_footer_" = "Use \"Do not ask at startup\" for the encryption option."; +"_enable_touch_face_id_" = "Enable Touch/Face ID"; +"_security_" = "Security"; +"_data_protection_" = "Data protection"; +"_privacy_settings_" = "Privacy Settings"; +"_used_opensource_software_" = "OpenSource software used"; +"_service_" = "Service"; +"_imprint_" = "Imprint"; +"_magentacloud_version_" = "MagentaCLOUD Version"; +"_url_" = "URL"; +"_username_" = "Username"; +"_change_credentials_" = "Change your credentials"; +"_wifi_only_" = "Only use Wi-Fi connection"; +"_settings_autoupload_" = "Auto upload"; +"_app_version_" = "Application version"; +"_app_in_use_" = "Application in use"; +"_contact_by_email_" = "Contact us by email"; +"_clear_cache_" = "Clear cache"; +"_clear_cache_footer_" = "Clear downloaded and offline files from the app"; +"_exit_footer_" = "Remove all accounts and local data from the app."; +"_exit_" = "Logout"; +"_exit_footer_" = "Remove all accounts and local data from the app"; +"_exit_footer_" = "Remove all accounts and local data from the app."; +"_exit_" = "Logout"; +"_funct_not_enabled_" = "Functionality not enabled"; +"_passcode_activate_" = "Password lock on"; +"_disabling_passcode_" = "Removing password lock"; +"_want_exit_" = "Attention! Will be reset to initial state. Continue?"; +"_proceed_" = "Proceed"; +"_delete_cache_" = "Delete cache"; +"_want_delete_cache_" = "Do you want to delete the cache (this also removes the transfers in progress)?";"_want_delete_thumbnails_" = "Do you want to delete all thumbnails too?"; +"_mail_deleted_" = "Email deleted"; +"_mail_saved_" = "Email saved"; +"_mail_sent_" = "Email sent"; +"_mail_failure_" = "Could not send email: %@"; +"_information_req_" = "Information request"; +"_write_in_english_" = "Kindly write to us in English"; +"_credentials_" = "Credentials"; +"_manage_account_" = "Manage account"; +"_change_password_" = "Change password"; +"_add_account_" = "Add account"; +"_want_delete_" = "You will delete the following: "; +"_want_leave_share_" = "You will leave the following shares: "; +"_delete_account_" = "Remove account"; +"_delete_active_account_" = "Remove active account"; +"_want_delete_" = "Do you really want to delete?"; +"_want_leave_share_" = "You will leave the following shares: "; +"_no_delete_" = "No, do not delete"; +"_yes_delete_" = "Yes, delete"; +"_remove_cache_" = "Deleting cache, please wait …"; +"_optimizations_" = "Optimizations"; +"_synchronizations_" = "Synchronized folders"; +"_version_server_" = "Server version"; +"_help_" = "Help"; +"_change_simply_passcode_" = "Change password type"; +"_quota_" = "Quota"; +"_available_" = "Available"; +"_not_available_" = "Not available"; +"_accounts_" = "Accounts"; +"_information_" = "Information"; +"_personal_information_" = "Personal info"; +"_user_full_name_" = "Full name"; +"_user_address_" = "Address"; +"_user_phone_" = "Phone number"; +"_user_email_" = "Email"; +"_user_web_" = "Website"; +"_user_twitter_" = "Twitter"; +"_user_job_" = "Job"; +"_user_businesssize_" = "Business size"; +"_user_businesstype_" = "Business type"; +"_user_city_" = "City"; +"_user_country_" = "Country"; +"_user_company_" = "Company"; +"_user_role_" = "Role"; +"_user_zip_" = "Zip"; +"_user_owner_" = "Owner"; +"_user_employee_" = "Employee"; +"_user_contractor_" = "Contractor"; +"_user_editprofile_" = "Edit profile"; +"_select_offline_warning_" = "Making multiple files and folders available offline may take a while and use a lot of memory while doing so."; +"_advanced_" = "Advanced"; +"_permissions_" = "Permissions"; +"_disable_files_app_" = "Disable Files App integration"; +"_disable_files_app_footer_" = "Do not permit the access of files via the iOS Files application."; +"_trial_" = "Trial"; +"_trial_expired_day_" = "Days remaining"; +"_time_remaining_" = "%@ remaining"; +"_disableLocalCacheAfterUpload_footer_" = "After uploading the file, do not keep it in the local cache"; +"_disableLocalCacheAfterUpload_" = "Disable local cache"; +"_autoupload_" = "Auto upload photos/videos"; +"_autoupload_select_folder_" = "Select the \"Auto upload\" folder"; +"_autoupload_error_select_folder_" = "Select a valid folder for the \"Auto upload\""; +"_autoupload_background_" = "Auto upload in the background"; +"_autoupload_photos_" = "Auto upload photos"; +"_autoupload_videos_" = "Auto upload videos"; +"_autoupload_favorites_" = "Auto upload favorites only"; +"_autoupload_description_" = "New photos/videos will be automatically uploaded to your server."; +"_autoupload_description_" = "New photos/videos will be automatically uploaded to your MagentaCLOUD"; +"_autoupload_description_" = "New photos/videos will be automatically uploaded to your Nextcloud"; +"_autoupload_description_" = "New photos/videos will be automatically uploaded to your MagentaCLOUD"; +"_autoupload_description_background_" = "This option requires the use of GPS to trigger the detection of new photos/videos in the camera roll once the location changes significantly"; +"_autoupload_background_title_" = "Limitations"; +"_autoupload_background_msg_" = "Due to iOS restrictions, it is not yet possible to perform background processes, unless GPS services are activated. Once the cell in the cellular network is changed, the system wakes up for a short time and checks for new photos to upload to the cloud."; +"_autoupload_change_location_" = "Change folder"; +"_autoupload_location_now_" = "Folder"; +"_autoupload_location_default_" = "Restore default folder"; +"_autoupload_change_location_footer_" = "Change folder used for \"Automatic upload of camera photos\" (if the option is enabled)"; +"_autoupload_not_select_home_" = "Select a folder"; +"_autoupload_save_album_" = "Copy photo or video into the photo album"; +"_autoupload_fullphotos_" = "Upload the whole camera roll"; +"_start_autoupload_" = "Turn on auto uploading"; +"_stop_autoupload_" = "Stop auto uploading"; +"_autoupload_fullphotos_footer_" = "Adjust the options above before uploading."; +"_autoupload_create_subfolder_" = "Use subfolders"; +"_autoupload_create_subfolder_footer_" = "Store photos in subfolders based on year, month or day."; +"_autoupload_subfolder_granularity_" = "Subfolder Granularity"; +"_filenamemask_" = "Change filename mask"; +"_filenamemask_footer_" = "By default, when a file is uploaded, it automatically gets the following format: yy-mm-dd hh-mm-ss plus a 4-digit counter. If you do not like this format, you can change it here except for the final 4-digit counter, which cannot be omitted."; +"_autoupload_filenamemask_" = "Change filename mask"; +"_autoupload_filenamemask_footer_" = "Change the automatic filename mask"; +"_autoupload_current_folder_" = "Currently selected folder"; +"_help_tutorial_" = "Tutorial"; +"_help_intro_" = "Introduction to Nextcloud"; +"_help_activity_verbose_" = "Detailed Activity feed"; +"_help_activity_mail_" = "Send activity via email"; +"_help_activity_clear_" = "Clear activity"; +"_show_hidden_files_" = "Show hidden files"; +"_format_compatibility_" = "Most Compatible"; +"_format_compatibility_footer_" = "\"Most compatible\" will save photos as JPEG, if possible."; +"_terms_" = "Terms of Service"; +"_privacy_" = "Privacy"; +"_privacy_policy_" = "Privacy Policy"; +"_privacy_footer_" = "This app uses a service for the analysis of a crash. Your personal information is not sent with the report. If you want disable it, please change the setting \"Disable crash reporter\" to ON."; +"_crashservice_title_" = "Disable crash reporter"; +"_crashservice_alert_" = "This option requires a restart of the app to take effect."; +"_upload_mov_livephoto_" = "Live Photo"; +"_upload_mov_livephoto_footer_" = "\"Live Photo\" will save the selected photo in \"Live Photo\" format, if possible."; +"_view_capabilities_" = "View the capabilities"; +"_capabilities_" = "Capabilities"; +"_no_capabilities_found_" = "Capabilities not found"; +"_capabilities_footer_" = "Display the packages used by the app if they are installed and available on the server."; +"_diagnostics_" = "Diagnostics"; +"_diagnostics_footer_" = "Changing log level requires a restart of the app to take effect"; +"_view_log_" = "View log file"; +"_clear_log_" = "Clear log file"; +"_level_log_" = "Set Log level (disabled, standard, maximum)"; +"_set_log_level_" = "Set Log level"; +"_log_file_clear_alert_" = "Log file cleared \n successfully!"; +"_connect_server_anyway_" = "Do you want to connect to the server anyway?"; +"_server_is_trusted_" = "Do you consider this server trusted?"; +"_connection_error_" = "Connection error"; +"_serverstatus_error_" = "Connection to server failure, verify your server address or network status"; +"_add_your_nextcloud_" = "Add your account"; +"_login_url_" = "Server address https:// …"; +"_login_bottom_label_" = "Don't have a server yet?\nChoose one of the providers."; +"_error_multidomain_" = "Address not allowed, only the following domains are valid:"; +"_account_already_exists_" = "The account %@ already exists"; +"_traditional_login_" = "Revert to old login method"; +"_web_login_" = "Revert to web login method"; +"_login_url_error_" = "URL error, please verify your server URL"; +"_webflow_not_available_" = "Web login not available, use the old login method"; +"_favorites_" = "Favorites"; +"_favorite_short_" = "Favorite"; +"_favorite_" = "Favorite"; +"_unfavorite_" = "Unfavorite"; +"_no_files_uploaded_" = "No files uploaded"; +"_tutorial_favorite_view_" = "Files and folders you mark as favorites will show up here"; +"_tutorial_offline_view_" = "Files copied here will be available offline.\n\nThey will be synchronized with your cloud."; +"_tutorial_groupfolders_view_" = "No Group folders yet"; +"_tutorial_local_view_" = "You'll find the unpacked files from your cloud.\n\nConnect to iTunes to share these files."; +"_more_" = "More"; +"_favorite_no_files_" = "No favorites yet"; +"_pull_down_" = "Pull down to refresh"; +"_no_photo_load_" = "No photo or video"; +"_tutorial_autoupload_view_" = "You can enable auto uploads from \"Settings\""; +"_no_date_information_" = "No date information"; +"_no_camera_information_" = "No camera information"; +"_no_lens_information_" = "No lens information"; +"_today_" = "Today"; +"_yesterday_" = "Yesterday"; +"_time_" = "Time: %@\n\n%@"; +"_location_not_enabled_" = "Location Services not enabled"; +"_location_not_enabled_msg_" = "Please go to \"Settings\" and turn on \"Location Services\""; +"_access_photo_not_enabled_" = "Access to Photos is not enabled"; +"_access_photo_not_enabled_msg_" = "Please go to \"Settings\" and turn on \"Photo Access\""; +//"_access_photo_not_enabled_msg_" = "Please go to Settings → Apps → Nextcloud → Photos and enable Photo Library Access"; +"_access_background_app_refresh_denied_" = "\"Background App Refresh\" is denied. Please enable it in \"Settings\" otherwise, new photos or videos will not be detected when the application is in the background"; +"_access_photo_location_not_enabled_" = "Access to Photos and Location not enabled"; +"_access_photo_location_not_enabled_msg_" = "Please go to \"Settings\" and turn on \"Photo Access\" and \"Location Services\""; +"_new_photos_starting_" = "Only photos or videos starting %@ will be uploaded."; +"_tutorial_photo_view_" = "No photos or videos uploaded yet"; +"_create_full_upload_" = "Creating archive … May take a long time. During this process, keep the application active during the transfer as well."; +"_error_createsubfolders_upload_" = "Error creating subfolders"; +"_activate_autoupload_" = "Enable auto upload"; +"_remove_photo_CameraRoll_" = "Remove from camera roll"; +"_remove_photo_CameraRoll_desc_" = "\"Remove from camera roll\" after uploads, a confirmation message will be displayed to delete the uploaded photos or videos from the camera roll. The deleted photos or videos will still be available in the iOS Photos Trash for 30 days."; +"_never_" = "never"; +"_less_a_minute_" = "less than a minute ago"; +"_a_minute_ago_" = "a minute ago"; +"_minutes_ago_" = "%d minutes ago"; +"_an_hour_ago_" = "an hour ago"; +"_hours_ago_" = "%d hours ago"; +"_a_day_ago_" = "a day ago"; +"_days_ago_" = "%d days ago"; +"_over_30_days_" = "over 30 days"; +"_connection_internet_offline_" = "The internet connection appears to be offline or Wi-Fi is required"; +"_insert_password_" = "Enter password"; +"_update_in_progress_" = "Version upgrade, please wait …"; +"_forbidden_characters_" = "Forbidden characters: %@"; +"_cannot_send_mail_error_" = "No account set up, or wrong email address entered."; +"_open_url_error_" = "Cannot open the URL for this action."; +"_photo_camera_" = "Photos"; +"_media_" = "Media"; +"_unzip_in_progress_" = "Extraction in progress on local storage …"; +"_file_unpacked_" = "File unpacked on local storage"; +"_file_saved_local_" = "File saved on local storage."; +"_file_not_present_" = "Error: File not present, please reload."; +"_order_by_" = "Sort by"; +"_name_" = "Name"; +"_date_" = "Date"; +"_size_" = "Size"; +"_order_by_name_a_z_" = "Sort by name (from A to Z)"; +"_sorted_by_name_a_z_" = "Sorted by name (from A to Z)"; +"_order_by_name_z_a_" = "Sort by name (from Z to A)"; +"_sorted_by_name_z_a_" = "Sorted by name (from Z to A)"; +"_order_by_date_more_recent_" = "Sort by newest"; +"_sorted_by_date_more_recent_" = "Sorted by newest"; +"_order_by_date_less_recent_" = "Sort by oldest"; +"_sorted_by_date_less_recent_" = "Sorted by oldest"; +"_order_by_size_smallest_" = "Sort by smallest"; +"_sorted_by_size_smallest_" = "Sorted by smallest"; +"_order_by_size_largest_" = "Sort by largest"; +"_sorted_by_size_largest_" = "Sorted by largest"; +"_delete_selected_files_" = "Delete files"; +"_move_selected_files_" = "Move files"; +"_move_or_copy_selected_files_" = "Move or copy files"; +"_download_selected_files_" = "Download files"; +"_download_selected_files_folders_" = "Download files and folders"; +"_error_operation_canc_" = "Error: Operation canceled."; +"_only_lock_passcode_" = "Available only with Lock password activated. Activate it in the \"Settings\"."; +"_go_to_app_settings_" = "Go to app settings"; +"_passcode_protection_" = "Password protection"; +"_remove_favorites_" = "Remove from favorites"; +"_remove_offline_" = "Remove from offline"; +"_add_favorites_" = "Add to favorites"; +"_add_offline_" = "Add to offline"; +"_remove_passcode_" = "Remove password protection"; +"_protect_passcode_" = "Protect with password"; +"_share_" = "Share"; +"_reload_" = "Reload"; +"_open_in_" = "Open in …"; +"_open_" = "Open …"; +"_remove_local_file_" = "Remove locally"; +"_add_local_" = "Add to local storage"; +"_comm_erro_pull_down_" = "Attention: Communication error with the server. Pull down to refresh."; +"_file_not_downloaded_" = "file not downloaded"; +"_file_not_uploaded_" = "file not uploaded"; +"_folders_" = "folders"; +"_folder_" = "folder"; +"_files_" = "files"; +"_file_" = "file"; +"_folder_blocked_" = "Folder blocked"; +"_downloading_progress_" = "Initiating download of files …"; +"_no_file_pull_down_" = "Upload a file or pull down to refresh"; +"_browse_images_" = "Browse images"; +"_synchronized_folder_" = "Keep the folder synchronized"; +"_remove_synchronized_folder_" = "Turn off the synchronization"; +"_synchronized_confirm_" = "After enabling the synchronization, all files in the folder will be synchronized with the server, continue?"; +"_offline_folder_confirm_" = "After enabling the offline folder, all files in it will be synchronized with the server, continue?"; +"_file_not_found_reload_" = "File not found, pull down to refresh"; +"_title_section_download_" = "DOWNLOAD"; +"_download_" = "Download"; +"_title_section_upload_" = "UPLOAD"; +"_group_alphabetic_yes_" = "✓ Group alphabetically"; +"_group_alphabetic_no_" = "Group alphabetically"; +"_group_typefile_yes_" = "✓ Group by file type"; +"_group_typefile_no_" = "Group by file type"; +"_group_date_yes_" = "✓ Group by date"; +"_group_date_no_" = "Group by date"; +"_element_" = "element"; +"_elements_" = "elements"; +"_tite_footer_upload_wwan_" = " Wi-Fi network required, %lu %@ to upload"; +"_tite_footer_upload_" = "%lu %@ to upload"; +"_tite_footer_download_wwan_" = " Wi-Fi network required, %lu %@ to download"; +"_tite_footer_download_" = "%lu %@ to download"; +"_limited_dimension_" = "Maximum size reached"; +"_save_selected_files_" = "Save to photo gallery"; +"_file_not_saved_cameraroll_" = "Error: File not saved in photo album"; +"_file_saved_cameraroll_" = "File saved in photo album"; +"_directory_on_top_yes_" = "✓ Folders on top"; +"_directory_on_top_no_" = "Folders on top"; +"_show_description_" = "Show description"; +"_show_recommended_files_" = "Show recommended files"; +"_no_description_available_" = "No description available for this folder"; +"_folder_automatic_upload_" = "Folder for \"Auto upload\""; +"_search_no_record_found_" = "No result"; +"_search_in_progress_" = "Search in progress …"; +"_search_instruction_" = "Search for file (minimum 2 characters)"; +"_files_no_files_" = "No files in here"; +"_files_no_folders_" = "No folders in here"; +"_request_in_progress_" = "Request to server in progress …"; + +"_personal_files_only_" = "Personal files only"; +"audio" = "AUDIO"; +"directory" = "FOLDERS"; +"compress" = "COMPRESS"; +"directory" = "FOLDERS"; +"document" = "DOCUMENTS"; +"image" = "IMAGES"; +"template" = "TEMPLATES"; +"unknow" = "UNKNOWN"; +"video" = "VIDEO"; + +"_file_del_only_local_" = "File not present on server"; +"_copy_file_" = "Copy"; +"_paste_file_" = "Paste"; +"_open_quicklook_" = "Open with Quick Look"; +"_search_this_folder_" = "Search in this folder"; +"_search_all_folders_" = "Search in all folders"; +"_search_sub_folder_" = "Search here and in subfolders"; +"_theming_is_light_" = "Server theming too brightly coloured, not applicable"; +"_cancel_all_task_" = "Cancel all transfers"; +"_status_wait_download_" = "Waiting for download"; +"_status_in_download_" = "In download"; +"_status_downloading_" = "Downloading"; +"_status_wait_upload_" = "Waiting to upload"; +"_status_wait_create_folder_" = "Waiting to create the folder"; +"_status_wait_delete_" = "Waiting to delete"; +"_status_wait_rename_" = "Waiting to rename"; +"_status_wait_favorite_" = "Waiting to change favorite"; +"_status_wait_copy_" = "Waiting to copy"; +"_status_wait_move_" = "Waiting to move"; +"_status_in_upload_" = "In upload"; +"_status_uploading_" = "Uploading"; +"_status_upload_error_" = "Error, waiting to upload"; +"_select_media_folder_" = "Set Media folder"; +"_media_viewimage_show_" = "Show only images"; +"_media_viewvideo_show_" = "Show only video"; +"_media_show_all_" = "Show both"; +"_media_by_created_date_" = "Sort by created date"; +"_media_by_upload_date_" = "Sort by upload date"; +"_media_by_modified_date_" = "Sort by modified date"; +"_insert_password_pfd_" = "Secured PDF. Enter password"; +"_password_pdf_error_" = "Wrong password"; +"_error_download_photobrowser_" = "Error: Unable to download photo"; +"_good_morning_" = "Good morning"; +"_good_day_" = "Good day"; +"_good_afternoon_" = "Good afternoon"; +"_good_evening_" = "Good evening"; +"_good_night_" = "Good night"; +"_servers_" = "Servers"; +"_select_server_" = "Please select a server..."; + +// MARK: Share + +"_share_link_" = "Share link"; +"_share_link_button_" = "Send link to …"; +"_share_link_name_" = "Link name"; +"_password_" = "Password"; +"_share_password_" = "Password protected link"; +"_share_expirationdate_" = "Set expiration date for link"; +"_date_" = "Date"; +"_share_title_" = "Share"; +"_add_sharee_" = "Add users or groups"; +"_add_sharee_footer_" = "You can share this resource by adding users or groups. To remove a share, remove all users and groups"; +"_find_sharee_title_" = "Search"; +"_find_sharee_" = "Search for user or group …"; +"_find_sharee_footer_" = "Enter part of the name of the user or group to search for (at least 2 characters) followed by \"Return\", select the users that should be allowed to access the share followed by \"Done\" to confirm"; +"_user_is_group_" = "(Group)"; +"_direct_sharee_title_" = "Share"; +"_direct_sharee_footer_" = "If you already know the name, enter it, then select the share type and press \"Done\" to confirm"; +"_direct_sharee_" = "Enter the username …"; +"_user_sharee_footer_" = "Tap to change permissions"; +"_share_type_title_" = "Type of share"; +"_share_type_user_" = "User"; +"_share_type_group_" = "Group"; +"_share_type_remote_" = "Remote"; +"_enforce_password_protection_" = "Enforce password protection"; +"_password_obligatory_" = "Enforce password protection enabled, password obligatory"; +"_shared_with_you_by_" = "Shared with you by"; +"_shareLinksearch_placeholder_" = "Name, email, or Federated Cloud ID …"; +"_new_comment_" = "New comment …"; +"_edit_comment_" = "Edit comment"; +"_delete_comment_" = "Delete comment"; +"_share_read_only_" = "View only"; +"_share_reshare_allowed_" = "Resharing is allowed."; +"_share_reshare_not_allowed_" = "Resharing is not allowed."; +"_sharing_message_" = "You can create links or send shares by mail. If you invite MagentaCLOUD users, you have more opportunities for collaboration."; +"_create_link_" = "Create Link"; +"personal_share_by_mail" = "Personal share by mail"; +"_your_shares_" = "Your Shares"; +"_share_linklabel_" = "Link '%@'"; +"_share_link_folder_" = "Link to folder"; +"_share_link_file_" = "Link to file"; +"no_shares_created" = "No shares created yet."; +"_advance_permissions_" = "Advanced permissions"; +"_send_new_email_" = "Send new email"; +"_apply_changes_" = "Apply changes"; +"_send_share_" = "Send share"; +"_PERMISSIONS_" = "PERMISSIONS"; +"share_editing_message" = "There are no editing functions for files unless you share them with MagentaCLOUD users."; +"_file_drop_message_" = "With File drop, only uploading is allowed. Only you can see files and folders that have been uploaded."; +"_custom_link_label" = "Your custom link label"; +"_set_password_" = "Set password"; +"_share_expiration_date_placeholder_"= "Expiration date for this share"; +"_share_download_limit_" = "Download Limit"; +"_share_download_limit_placeholder_" = "Enter download limit"; +"_share_download_limit_alert_empty_" = "Download limit cannot be empty."; +"_share_download_limit_alert_zero_" = "Download limit should be greater than 0."; +"_share_remaining_download_" = "Downloads:"; +"_share_read_only_" = "Read only"; +"_share_editing_" = "Can edit"; +"_share_file_drop_" = "Filedrop only"; +"_share_hide_download_" = "Prevent download"; +"_share_note_recipient_" = "YOUR MESSAGE"; +"_shareLinksearch_placeholder_" = "Contact name or email address"; +"_shareLinksearch_placeholder_" = "Type a name and press Search"; +//"_shareLinksearch_placeholder_" = "Type a name and press Enter"; +"_shareLinksearch_mail_placeholder_" = "Type a name or an email and press Enter"; +"_new_comment_" = "New comment …"; +"_edit_comment_" = "Edit comment"; +"_delete_comment_" = "Delete comment"; +"_share_allow_editing_" = "Allow editing"; +"_share_allow_upload_" = "Allow upload and editing"; +"_share_secure_file_drop_" = "Secure file drop (upload only)"; +"_share_password_protect_" = "Password protect"; +//"_share_hide_download_" = "Hide download"; +"_share_limit_download_" = "Limit downloads"; +"_remaining_" = "%d remaining"; +"_share_password_protect_" = "Password protection"; +//"_share_password_protect_" = "Password protect"; +"_share_expiration_date_" = "Set expiration date"; +"_share_note_recipient_" = "Note to recipient"; +"_share_delete_sharelink_" = "Delete link"; +"_share_add_sharelink_" = "Add another link"; +"_share_can_reshare_" = "Allow resharing"; +"_share_can_create_" = "Allow creating"; +"_share_can_change_" = "Allow editing"; +"_share_can_delete_" = "Allow deleting"; +"_share_unshare_" = "Unshare"; +"_share_internal_link_" = "Internal link"; +"_share_internal_link_des_" = "Only works for users with access to this file/folder"; +"_share_reshare_disabled_" = "You are not allowed to reshare this file/folder"; +"_share_reshare_restricted_" = "Note: You only have limited permission to reshare this file/folder"; +"_share_can_download_" = "Allow download"; +"_create_new_link_" = "Create new link"; +"_share_send_link_by_mail_" = "Send link by mail"; +"_share_or_" = "or"; +"_share_copy_link_" = "Copy link"; +"_share_shared_with_" = "Shared with"; +"_share_everyone_can_just_upload_" = "Everyone can just upload"; +"_share_everyone_can_edit_" = "Everyone can edit"; +"_share_everyone_can_only_view_" = "Everyone can only view"; +"_share_received_shares_text_" = "This file / folder was shared with you by"; +"_share_no_shares_text_" = "You have not yet shared your file/folder. Share to give others access"; +"_share_size_" = "Size: "; +"_share_modified_" = "Modified: "; +"_share_created_" = "Created: "; +"_share_uploaded_" = "Uploaded: "; + +"_no_transfer_" = "No transfers yet"; +"_no_transfer_sub_" = "Uploads and downloads from this device will show up here"; +"_no_activity_" = "No activity yet"; +"_no_activity_footer_" = "No more activities to load"; +"_transfers_" = "Transfers"; +"_activity_" = "Activity"; +"_activity_file_not_present_" = "File no longer present"; +"_trash_file_not_found_" = "It seems that the file is not in the Trash. Go to the Trash to update it and try again."; +"_list_shares_" = "Shares"; +"_list_shares_no_files_" = "No shares yet"; +"_tutorial_list_shares_view_" = "Files and folders you share will show up here"; +"_create_synchronization_" = "Create synchronization"; +"_offline_" = "Offline"; +"_local_storage_" = "Local storage"; +"_local_storage_no_record_" = "No files yet"; +"_upload_photos_videos_" = "Upload photos or videos"; +"_upload_file_" = "Upload file"; +"_upload_file_text_" = "Create text file"; +"_create_nextcloudtext_document_" = "Create text document"; +"_save_document_picker_" = "Save here"; +"_destination_folder_" = "Destination folder"; +"_use_folder_auto_upload_" = "Use the \"Auto upload\" folder as destination"; +"_rename_filename_" = "Rename"; +"_filename_" = "Filename"; +"_enter_filename_" = "Enter filename …"; +"_default_preview_filename_footer_" = "Example preview of filename: IMG_0001.JPG"; +"_filename_header_" = "Enter filename"; +"_preview_filename_" = "Example preview of filename. You can use the mask %@ for date/time.";"_add_filenametype_" = "Specify type in filename"; +"_filenametype_photo_video_" = "Photo/Video"; +"_maintain_original_filename_" = "Maintain original filename"; +"_modify_photo_" = "Modify photo"; +"_notifications_" = "Notifications"; +"_no_notification_" = "No notifications yet"; +"_autoupload_filename_title_" = "Auto upload filename"; +"_untitled_" = "Untitled"; +"_text_upload_title_" = "Upload text file"; +"_e2e_settings_title_" = "Encryption"; +"_e2e_settings_" = "End-to-end encryption"; +"_e2e_settings_start_" = "Start end-to-end encryption"; +"_e2e_settings_not_available_" = "End-to-end encryption not available"; +"_e2e_settings_activated_" = "End-to-end encryption activated"; +"_e2e_server_disabled_" = "End-to-end encryption app disabled on server"; +"_e2e_settings_view_passphrase_" = "All 12 words together make a very strong password, letting only you view and make use of your encrypted files. Please write it down and keep it somewhere safe."; +"_e2e_settings_read_passphrase_" = "Read passphrase"; +"_e2e_settings_lock_not_active_" = "Lock not active, go back to \"Settings\" and activate it"; +"_e2e_settings_the_passphrase_is_" = "The passphrase is:"; +"_e2e_passphrase_request_title_" = "Request passphrase"; +"_e2e_passphrase_request_message_" = "Insert the 12 words"; +"_e2e_settings_remove_" = "Remove the encryption locally"; +"_e2e_settings_remove_message_" = "Confirm removal of encryption along with the passphrase."; +"_e2e_set_folder_encrypted_" = "Encrypt"; +"_e2e_remove_folder_encrypted_" = "Decrypt"; +"_e2e_goto_settings_for_enable_" = "This is an encrypted directory, go to \"Settings\" and enable end-to-end encryption"; +"_e2e_error_" = "An internal end-to-end encryption error occurred"; +"_e2e_in_upload_" = "Upload in progress, please wait for all files to be transferred"; +"_e2e_delete_folder_not_permitted_" = "Deletion of the directory marked as \"encrypted\" is not allowed"; +"_e2e_error_encode_metadata_" = "Serious internal error in encoding metadata"; +"_e2e_error_decode_metadata_" = "Serious internal error in decoding metadata"; +"_e2e_error_create_encrypted_" = "Could not create encrypted file"; +"_e2e_error_update_metadata_" = "Update metadata error"; +"_e2e_error_store_metadata_" = "Could not save metadata"; +"_e2e_error_send_metadata_" = "Could not send metadata"; +"_e2e_error_delete_metadata_" = "Could not delete metadata"; +"_e2e_error_get_metadata_" = "Could not fetch metadata"; +"_e2e_error_not_enabled_" = "Serious internal error. End-to-end encryption not enabled"; +"_e2e_error_record_not_found_" = "Serious internal error. Records not found"; +"_e2e_error_unlock_" = "Could not unlock folder"; +"_e2e_error_lock_" = "Could not lock folder"; +"_e2e_error_delete_mark_folder_" = "Decrypt marked folder"; +"_e2e_error_mark_folder_" = "Encrypt folder"; +"_e2e_error_directory_not_empty_" = "The directory is not empty"; +"_e2e_error_not_move_" = "It is not possible move files to encrypted directory"; +"_e2e_error_not_versionwriteable_" = "The E2EE version of the server is not compatible with this client"; +"_start_e2e_encryption_1_" = "To set up end-to-end encryption, they must first set up the PIN lock to prevent unauthorised people from accessing your key."; +"_start_e2e_encryption_2_" = "After starting the encryption, a randomly generated word sequence (passphrase) of 12 words is displayed. This remains in this app and can be displayed again. Nevertheless, we recommend that you write down the passphrase."; +"_start_e2e_encryption_3_" = "The passphrase is your personal password with which you can access encrypted data in your MagentaCLOUD or enable access to these files on other devices such as your PC."; +"_read_passphrase_description_" = "Here you can display the passphrase again and also copy it. You need the passphrase if you want to decrypt the data on another device with access to MagentaCLOUD, for example your PC or another smartphone or tablet."; +"_remove_passphrase_desc_1_" = "You can remove the passphrase on this device. This will not affect the encrypted content, but this device will no longer be able to decrypt your data."; +"_remove_passphrase_desc_2_" = "You can re-enter the passphrase here at any time to ensure access to your encrypted content from this device."; +"_e2e_error_incorrect_passphrase_" = "Wrong password?"; +"_e2e_error_passphrase_title" = "Error while decrypting."; +"_scans_document_" = "Scan document"; +"_scanned_images_" = "Scanned images"; +"_scan_document_pdf_page_" = "Page"; +"_scan_label_document_zone_" = "Tap or drag images down for document creation"; +"_filter_document_" = "Document"; +"_filter_original_" = "Original"; +"_filter_bn_" = "Black & White"; +"_filter_grayscale_" = "Grayscale"; +"_quality_image_title_" = "Preview image quality"; +"_quality_high_" = "Large file size of high quality"; +"_quality_medium_" = "Average file size of medium quality"; +"_quality_low_" = "Small file size of low quality"; +"_file_type_" = "File type"; +"_pdf_password_" = "PDF Password"; +"_file_creation_" = "File creation"; +"_delete_all_scanned_images_" = "Delete all scanned images"; +"_text_recognition_" = "Text recognition"; +"_all_files_" = "All files"; +"_personal_files_" = "Personal Files"; + +/* The title on the navigation bar of the Scanning screen. */ +"wescan.scanning.title" = "Scanning"; +/* The "Next" button on the right side of the navigation bar on the Edit screen. */ +"wescan.edit.button.next" = "Next"; +/* The title on the navigation bar of the Edit screen. */ +"wescan.edit.title" = "Edit Scan"; +/* The "Done" button on the right side of the navigation bar on the Review screen. */ +"wescan.review.button.done" = "Done"; +/* The title on the navigation bar of the Review screen. */ +"wescan.review.title" = "Review"; + +"_trash_view_" = "Deleted files"; +"_trash_restore_all_" = "Restore all files"; +"_trash_delete_all_" = "Empty trash"; +"_trash_delete_permanently_" = "Delete permanently"; +"_trash_delete_all_description_" = "Do you want to empty the trash bin?";"_trash_no_trash_" = "No files deleted"; +"_trash_no_trash_description_" = "You can restore deleted files from here"; +"_trash_restore_selected_" = "Restore selected files"; +"_trash_delete_selected_" = "Delete selected files"; +"_recover_" = "Recover"; +"_confirm_delete_selected_" = "Are you sure you want to delete the selected items?"; +"_manage_file_offline_" = "Manage offline files"; +"_set_available_offline_" = "Set as available offline"; +"_remove_available_offline_" = "Remove as available offline"; +"_create_new_document_" = "Create new document"; +"_create_new_spreadsheet_" = "Create new spreadsheet"; +"_create_new_presentation_" = "Create new presentation"; +"_go_online_" = "Go online to see the document"; +"_intro_1_title_" = "Keep your data secure and under your control"; +"_intro_2_title_" = "Secure collaboration & file exchange"; +"_intro_3_title_" = "Easy-to-use web mail, calendaring & contacts"; +"_intro_4_title_" = "Screen sharing, online meetings & web conferences"; +"_log_in_" = "Log in"; +"_sign_up_" = "Sign up with provider"; +"_host_your_own_server" = "Host your own server"; +"_unauthorized_" = "Unauthorized"; +"_bad_username_password_" = "Wrong username or password"; +"_cancelled_by_user" = "Transfer canceled"; +"_error_folder_destiny_is_the_same_" = "It is not possible to move the folder into itself"; +"_error_not_permission_" = "You don't have permission to complete the operation"; +"_error_path_" = "Unable to open this file or folder. Please make sure it exists"; +"_file_upload_not_exitst_" = "The file that you want to upload does not exist"; +"_forbidden_characters_from_server_" = "The name contains at least one invalid character"; +"_error_not_modified_" = "Resource not modified"; +"_not_connected_internet_" = "Server connection error"; +"_not_possible_connect_to_server_" = "It is not possible to connect to the server at this time"; +"_not_possible_create_folder_" = "Folder could not be created"; +"_server_down_" = "Could not establish contact with server"; +"_time_out_" = "Timeout, try again"; +"_unknow_response_server_" = "Unexpected response from server"; +"_user_authentication_required_" = "User authentication required"; +"_file_directory_locked_" = "File or directory locked"; +"_ssl_certificate_untrusted_" = "The certificate for this server is invalid"; +"_ssl_certificate_changed_" = "The certificate for this server seems to have changed"; +"_internal_server_" = "Internal server error"; +"_file_already_exists_" = "Could not complete the operation, a file with the same name exists"; +"_file_folder_not_exists_" = "The source file wasn't found at the specified path"; +"_folder_contents_nochanged_" = "The folder contents have not changed"; +"_images_invalid_converted_" = "The image is invalid and cannot be converted to a thumbnail"; +"_method_not_expected_" = "Unexpected request method"; +"_reauthenticate_user_" = "Access expired, log in again"; +"_server_error_retry_" = "The server is temporarily unavailable"; +"_too_many_files_" = "Too many files would be involved in this operation"; +"_too_many_request_" = "Sending too many requests caused the rate limit to be reached"; +"_user_over_quota_" = "Storage quota is reached"; +"_ssl_connection_error_" = "Connection SSL error, try again"; +"_bad_request_" = "Bad request"; +"_webdav_locked_" = "WebDAV Locked: Trying to access locked resource"; +"_error_user_not_available_" = "The user is no longer available"; +"_server_response_error_" = "Server response content error"; +"_no_nextcloud_found_" = "Server not found"; +"_error_decompressing_" = "Error during decompressing. Unknown compression method or the file is corrupt"; +"_error_json_decoding_" = "Serious internal error in decoding metadata (The data couldn't be read because it isn't in the correct format.)"; +"_error_check_remote_user_" = "Server responded with an error. Please log in again"; +"_request_entity_too_large_" = "The file is too large"; +"_not_possible_download_" = "It is not possible to download the file"; +"_not_possible_upload_" = "It is not possible to upload the file"; +"_error_files_upload_" = "Error uploading files"; +"_method_not_allowed_" = "The requested method is not supported"; +"_invalid_url_" = "Invalid server URL"; +"_invalid_literal_" = "Invalid search string"; +"_invalid_date_format_" = "Invalid date format"; +"_invalid_data_format_" = "Invalid data format"; +"_error_decode_xml_" = "Invalid response, error decode XML"; +"_internal_generic_error_" = "internal error"; +"_editor_unknown_" = "Failed to open file: Editor is unknown"; +"_err_file_not_found_" = "File not found, removed"; +"_err_e2ee_app_version_" = "The app version of end-to-end encryption is not compatible with the server, please update your server"; +"_err_permission_microphone_" = "Please allow Microphone usage from Settings"; +"_err_permission_photolibrary_" = "Please allow Photos from Settings"; +"_err_permission_locationmanager_" = "Please allow Location - Always from Settings"; +"_ssl_certificate_untrusted_" = "The certificate for this server is invalid."; +"_ssl_certificate_changed_" = "The certificate for this server seems to have changed."; +"_file_already_exists_" = "Could not complete the operation, a file with the same name exists."; +"_error_files_upload_" = "Error uploading files."; +"_internal_generic_error_" = "internal error."; +"_err_permission_microphone_" = "Please allow Microphone usage from Settings."; +"_err_permission_photolibrary_" = "Please allow Photos from Settings."; +"_qrcode_not_authorized_" = "This app is not authorized to use the Back Camera."; +"_qrcode_not_supported_" = "QR code not supported by the current device."; +"_create_voice_memo_" = "Create voice memo"; +"_voice_memo_start_" = "Tap to start"; +"_voice_memo_stop_" = "Tap to stop"; +"_voice_memo_filename_" = "Voice memo"; +"_voice_memo_title_" = "Upload voice memo"; +"Enter Passcode" = "Enter Passcode"; +"Enter a new passcode" = "Enter a new passcode"; +"Confirm new passcode" = "Confirm new passcode"; +"_too_many_failed_passcode_attempts_error_" = "Too many failed passcode attempts. Please try again."; +"Passcodes didn't match. Try again." = "Passcodes didn't match. Try again."; +"Delete" = "Delete"; +"Cancel" = "Cancel"; +"_certificate_details_" = "Certificate Server details"; +"_certificate_pn_details_" = "Certificate Push Notification details"; +"_certificate_view_" = "Certificate Server"; +"_certificate_pn_view_" = "Certificate Push Notification"; +"_save_as_scan_" = "Save as scan"; +"_modify_" = "Modify"; +"_overwrite_original_" = "Overwrite original"; +"_save_as_copy_" = "Save as copy"; +"_discard_changes_" = "Close and discard changes"; +"_message_disable_overwrite_livephoto_" = "This image is a Live Photo, overwrite will not be possible."; +"_discard_changes_info_" = "Your changes will be discarded."; +"_delete_files_desc_" = "Delete files to free up space"; +"_delete_old_files_" = "Delete, in the cache, all files older than"; +"_never_" = "Never"; +"_1_year_" = "1 year"; +"_6_months_" = "6 months"; +"_3_months_" = "3 months"; +"_1_month_" = "1 month"; +"_1_week_" = "1 week"; +"_1_day_" = "1 day"; +"_monthly_" = "Monthly"; +"_yearly_" = "Yearly"; +"_weekly_" = "Weekly"; +"_daily_" = "Daily"; +"_day_" = "Day"; +"_used_space_" = "Used space"; +"_open_in_onlyoffice_" = "Open in ONLYOFFICE"; +"_open_in_collabora_" = "Open with Collabora Online"; +"_login_address_detail_" = "The link to your %@ web interface when you open it in the browser."; +"_go_to_page_" = "Go to page"; +"_page_" = "Page"; +"_this_document_has_%@_pages_" = "This document has %@ pages"; +"_invalid_page_" = "Invalid Page"; +"_the_entered_page_number_does_not_exist_" = "The entered page number does not exist."; +"_error_something_wrong_" = "Something went wrong"; +"_resolution_" = "Resolution"; +"_try_download_full_resolution_" = "Download full resolution image"; +"_full_resolution_image_info_" = "This may reveal more information about the photo."; +"_download_audio_" = "Download the audio locally"; +"_copied_path_" = "Copied path"; +"_copy_path_" = "Copy path"; +"_certificates_" = "Certificates"; +"_privacy_screen_" = "Splash screen when app inactive"; +"_saving_" = "Saving …"; +"_video_not_streamed_" = "The server does not allow video streaming, do you want to download it?"; +"_video_not_streamed_e2ee_" = "The server does not allow video streaming because it is encrypted, do you want to download it?"; +"_scan_" = "Scan"; +"_in_" = "in"; +"_enter_passphrase_" = "Enter passphrase (12 words)"; +"_show_more_results_" = "Show more results"; +"_waiting_for_" = "Waiting for:"; +"_waiting_" = "Waiting …"; +"_reachable_wifi_" = "network reachable via Wi-Fi or cable"; +"_ITMS-90076_" = "Due to a change in the Nextcloud application identifier, the settings and password for accessing your cloud are reset, so please re-enter your account data and check your Settings. We are sorry about that."; +"_password_not_present_" = "Please re-insert your credentials."; +"_copy_passphrase_" = "Copy passphrase"; +"_ok_copy_passphrase_" = "OK and copy passphrase"; +"_select_color_" = "Select the color"; +"_change_color_" = "Change color"; +"_description_dashboardwidget_" = "Having the Dashboard always at your fingertips has never been easier."; +"_description_fileswidget_" = "View your recent files and use the toolbar to speed up your operations."; +"_description_toolbarwidget_" = "A toolbar to speed up your operations."; +"_no_data_available_" = "No data available"; +"_widget_available_nc25_" = "Widget only available starting with server version 25"; +"_keep_running_" = "Keep the app running for a better user experience"; +"_recent_activity_" = "Recent activity"; +"_title_lockscreenwidget_" = "Status"; +"_description_lockscreenwidget_" = "Keep an eye on available space and recent activity"; +"_no_items_" = "No items"; +"_check_back_later_" = "Check back later"; +"_exporting_video_" = "Exporting video … Tap to cancel."; +"_keep_running_" = "Keep the app running for a better user experience."; +"_apps_nextcloud_detect_" = "Detected %@ apps"; +"_add_existing_account_" = "Other %@ Apps has been detected, do you want to add an existing account?"; +"_status_in_progress_" = "Status reading in progress …"; +"_status_e2ee_on_server_" = "The end-to-end encryption is already configured in the server but not yet enabled on this device."; +"_status_e2ee_not_setup_" = "The end-to-end encryption is not yet configured on the server."; +"_status_e2ee_configured_" = "The end-to-end encryption is correctly configured."; +"_e2ee_set_as_offline_" = "Not allowed for encrypted files or folders."; +"_change_upload_filename_" = "Do you want to save the file with a different name?"; +"_save_file_as_" = "Save file as %@"; +"_password_ascii_" = "The password cannot contain special characters."; +"_calendar_contacts_" = "Calendar and Contacts"; +"_mobile_config_" = "Download the configuration profile"; +"_calendar_contacts_footer_warning_" = "Configuration profile can only be downloaded if Safari is set as default browser."; +"_calendar_contacts_footer_" = "After downloading the profile you can install it from Settings."; +"_preview_" = "Preview"; +"_crop_" = "Crop"; +"_modify_image_desc_" = "Tap on a file to modify or rename."; +"_message_disable_livephoto_" = "This image is a Live Photo, changing it will lose the Live Photo effect."; +//"_modify_image_desc_" = "Tap the image for modify"; +//"_message_disable_livephoto_" = "This image is a Live Photo, changing it will lose the Live effect"; +"_enable_livephoto_" = "Enable Live Photo"; +"_disable_livephoto_" = "Disable Live Photo"; +"_undo_modify_" = "Undo modifying"; +"_unauthorizedFilesPasscode_" = "Files app cannot be used with an activated passcode"; +"_disableFilesApp_" = "Files app cannot be used because it is disabled"; +"_reset_application_done_" = "Reset application, done."; +"_rename_already_exists_" = "A file with this name already exists."; +"_created_" = "Created"; +"_recipients_" = "Recipients"; +"_are_sure_" = "Are you sure?"; +"_creation_" = "Creation"; +"_modified_" = "Modified"; +"_group_folders_" = "Group folders"; +"_play_from_files_" = "Play movie from a file"; +"_play_from_url_" = "Play movie from URL"; +"_valid_video_url_" = "Insert a valid URL"; +"_deletion_progess_" = "Deletion in progress"; +"_copying_progess_" = "Copying in progress"; +"_moving_progess_" = "Moving in progress"; +"_chunk_enough_memory_" = "It seems there is not enough space to send the file"; +"_chunk_create_folder_" = "The file could not be sent, please check the server log"; +"_chunk_files_null_" = "The file for sending could not be created"; +"_chunk_file_null_" = "The file could not be sent"; +"_chunk_move_" = "The sent file could not be reassembled, please check the server log."; +"_download_image_" = "Download image"; +"_download_video_" = "Download video"; +"_reset_wrong_passcode_" = "Reset application"; +"_reset_wrong_passcode_option_" = "Reset application after failed attempts"; +"_reset_wrong_passcode_desc_" = "Use \"Reset application\" to remove all accounts and local data after %d failed code entry attempts."; +"_deviceOwnerAuthentication_" = "The biometric sensor has been temporarily disabled due to multiple failed attempts. Enter the device passcode to re-enable the sensor."; +"_virus_detect_" = "Virus detected. Upload cannot be completed!"; +"_zoom_" = "Zoom"; +"_zoom_in_" = "Zoom in"; +"_zoom_out_" = "Zoom out"; +"_select_photos_" = "Select photos"; +"_selected_photo_" = "selected photo"; +"_selected_photos_" = "selected photos"; +"_delete_selected_photos_" = "Delete selected photos"; +"_media_square_" = "Square grid"; +"_media_ratio_" = "Aspect ratio grid"; +"_autoupload_notice_" = "To ensure the proper functioning of this feature, it is necessary to enable Background App Refresh. Otherwise, new photos or videos will not be detected when the application is in the background.\n\nAdditionally, please note that the app will not be able to detect new photos and videos if it is manually terminated. When the app is in the background, data transfer may be slower, and new photos and/or videos will generally be detected every 10 minutes, depending on the device’s battery level.\n\nTo verify that the app is functioning correctly, you can use the log file available in Advanced settings."; +"_display_" = "Display"; +"_appearance_" = "Appearance"; +"_light_" = "Light"; +"_dark_" = "Dark"; +"_use_system_style_" = "Use system style"; +"_account_settings_" = "Account settings"; +"_users_" = "Users"; +"_users_footer_" = "Every time the app is reactivated, the account will be requested."; +"_additional_view_options_" = "Additional view options"; +"_while_charging_" = "While charging"; +"_additional_options_" = "Additional options"; +"_keep_screen_awake_" = "Keep screen awake\nwhile transferring files"; +"_error_not_found_" = "The requested resource could not be found"; +"_error_conflict_" = "The request could not be completed due to a conflict with the current state of the resource"; +"_error_precondition_" = "The server does not meet one of the preconditions of the requester"; + +"_additional_options_" = "Additional options"; +"_unauthorizedFilesPasscode_" = "Files app cannot be used with an activated passcode"; +"_disableFilesApp_" = "Files app cannot be used because it is disabled"; +"_widget_available_nc25_" = "Widget only available starting with server version 25"; +"_no_items_" = "No items"; +"_check_back_later_" = "Check back later"; +"_no_data_available_" = "No data available"; +"_recent_activity_" = "Recent activity"; +"_maintenance_mode_" = "The server is currently in maintenance mode, which may take a while."; +"_account_disabled_" = "Account disabled"; + +//Video +"_select_trace_" = "Select the trace"; +"_video_processing_" = "Video processing"; +"_video_being_processed_" = "Video being processed …"; +"_downloading_" = "Downloading"; +"_download_error_" = "Download error"; +"_subtitle_" = "Subtitle"; +"_dts_to_ac3_" = "The DTS is not supported, it requires a conversion to Dolby Digital"; +"_reuired_conversion_" = "This video takes a long time to convert."; +"_stay_app_foreground_" = "Keep the app in the foreground …"; +"_conversion_available_" = "The conversion is always available on menu"; +"_video_format_not_recognized_" = "This video needs to be processed to be played, do you want to do it now?"; +"_video_must_download_" = "This video needs to be downloaded and processed to be played, do you want to do it now?"; +"_conversion_max_compatibility_" = "Max compatibility, the conversion can take much longer"; +"_video_tap_for_close_" = "A slight pressure to close the processing"; +"_subtitle_not_found_" = "Subtitle not found"; +"_disable_" = "Disable"; +"_subtitle_not_dowloaded_" = "There are subtitles not downloaded locally"; +"_user_" = "User"; +"_add_subtitle_" = "Add an external subtitle"; +"_add_audio_" = "Add an external audio"; +"_upload_foreground_msg_" = "Do not close %@ to complete the transfer …"; +"_upload_background_msg_" = "Files upload in progress …"; +"_create_folder_error_" = "An error has occurred while creating the folder:\n%@.\n\nPlease resolve the issue as soon as possible.\n\nAll uploads are suspended until the problem is resolved.\n"; +"_rename_file_error_" = "An error has occurred while renaming the file:\n%@."; +"_creating_dir_progress_" = "Creating directories in progress … keep the application active."; +"_creating_db_photo_progress" = "Creating photo archive in progress … keep the application active."; +"_account_unauthorized_" = "Warning, %@, you are not authorized, your account has been deleted, if you have changed your password, re-authenticate."; +"_folder_offline_desc_" = "Even without an internet connection, you can organize your folders, create files. Once you're back online, your pending actions will automatically sync."; +"_offline_not_allowed_" = "This operation is not allowed in offline mode"; +"_Upload_native_format_yes_"= "Upload in native format: yes"; +"_Upload_native_format_no_" = "Upload in native format: no"; +"_terms_of_service_" = "Terms of service"; +"_terms_accept_" = "I acknowledge that I have read and agree to the above terms of service."; +"_terms_accepted_" = "Terms accepted"; +"_recommended_files_" = "Recommended Files"; + +// Tip +"_tip_pdf_thumbnails_" = "Swipe left from the right edge of the screen to show the thumbnails"; +"_tip_accountrequest_" = "Touch here to change account or to add a new one"; +"_tip_addcopyimage_" = "Long press to paste a copied image"; +"_tip_open_mediadetail_" = "Swipe up to show the details"; +"_tip_autoupload_" = "You can now Auto Upload specific Albums from your Photos. You can enable Auto Upload here"; + +// MARK: Accessibility + +// Accessibility, floating panel top element +"_cart_controller_" = "Card controller"; +"_accessibility_add_upload_" = "Add and upload"; +"_dismiss_menu_" = "Dismiss the menu"; +"_show_profile_" = "Show profile"; +// a11y: On/Off +"_on_" = "On"; +// a11y: On/Off +"_off_" = "Off"; +"_grid_view_" = "Show grid view"; +"_list_view_" = "Show list view"; +"_list_" = "List"; +"_icons_" = "Icons"; + +// MARK: Plan customer +"_leave_plan_title" = "We're sorry to see you go"; +"_leave_plan_description" = "You'll no longer have access to:"; +"_current_plan_" = "Current Plan"; +"_billing_plan_" = "Billing Plan"; +"_keep_plan_" = "Keep Plan"; +"_leave_plan_" = "Leave Plan"; +"_change_plan_" = "Change Plan"; +"_manage_plan_" = "Manage Plan"; +"_purchase_plan_" = "Purchase Plan"; +"_restore_plan_" = "Restore Purchased Plan"; +"_purchase_plan_description_" = "Purchases have been restored"; +"_choose_plan_" = "You should choose a plan in order to purchase it."; +"_already_plan_" = "The selected plan has already been bought."; +"_change_billing_" = "Change Billing"; +"_payment_method_" = "Payment Method"; + +// MARK: Mantis library +"Mantis.Done" = "Done"; +"Mantis.Cancel" = "Cancel"; +"Mantis.Reset" = "Reset"; +"Mantis.Original" = "Original"; +"Mantis.Square" = "Square"; + +// MARK: Assistant +"_assistant_task_unknown_" = "Unknown"; +"_assistant_task_scheduled_" = "Scheduled"; +"_assistant_task_in_progress_" = "In Progress"; +"_assistant_task_completed_" = "Completed"; +"_assistant_task_failed_" = "Failed"; +"_all_" = "All"; +"_input_" = "Input"; +"_output_" = "Output"; +"_task_details_" = "Task details"; +"_assistant_" = "Assistant"; +"_new_task_" = "New %@ task"; +"_no_tasks_" = "No tasks in here"; +"_create_task_subtitle_" = "Use the + button to create one"; +"_edit_task_" = "Edit %@ task"; +"_no_types_" = "No provider found"; +"_no_types_subtitle_" = "AI Providers need to be installed to use the Assistant."; + +// MARK: Client certificate +"_no_client_cert_found_" = "The server is requesting a client certificate."; +"_no_client_cert_found_desc_" = "Do you want to install a TLS client certificate? \n Note that the .p12 certificate must be installed on your device first by clicking on it and installing it as an Identitity Certificate Profile in Settings. The certificate MUST also have a password as that is a requirement by iOS."; +"_client_cert_enter_password_" = "Enter the password for the chosen certificate"; +"_client_cert_wrong_password_" = "Sorry, you entered an invalid password."; + +// MARK: Login poll +"_poll_desc_" = "Please complete the log in process in your browser."; + +// MARK: File name validator (used by NextcloudKit, don't remove) +"_file_name_validator_error_ends_with_space_period_" = "Name must not contain spaces at the beginning or end."; +"_file_name_validator_error_reserved_name_" = "\"%@\" is a forbidden name."; +"_file_name_validator_error_forbidden_file_extension_" = "\".%@\" is a forbidden file extension."; +"_file_name_validator_error_invalid_character_" = "Name contains an invalid character: \"%@\"."; +"_file_name_validator_error_space_" = "Name must not contain spaces at the beginning or end."; +"_file_name_new_extension_" = "Changing the extension might cause this file to open in a different application."; +"_please_rename_file_" = "Please rename the file or folder."; +"hidden_file_name_warning" = "Name will result in a hidden file."; + +"_camera_roll_" = "Camera roll"; +"_destination_" = "Destination"; +"_select_autoupload_albums_" = "Select albums"; +"_upload_from_" = "Upload from"; +"_multiple_albums_" = "Multiple albums"; +"_smart_albums_" = "Smart albums"; +"_albums_" = "Albums"; +"_new_photos_only_" = "New photos only"; +"_all_photos_" = "All photos"; +//"_back_up_" = "Back up..."; +"_back_up_new_photos_only_" = "Back up new photos/videos only"; +"_auto_upload_all_photos_warning_title_" = "Are you sure you want to upload all photos?"; +"_auto_upload_all_photos_warning_message_" = "This can take some time to process depending on the amount of photos."; + +// MARK: Privacy Policy +"_privacy_settings_title_" = "Privacy Settings"; +"_privacy_help_text_after_login_" = "This app uses Cookies and similiar technolgies (tools). By clicking Accept, you accept the processing and also the Transfer of your data to third parties. The data will be used for Analysis, retargeting and to Display personalized Content and Advertising on sites and third-party sites. You can find further informatin, including Information on data processing by third-party Providers, in the settings and in our Privacy Policy.You can reject the use of the Tools or customize them at any time in the Settings."; +"_key_privacy_help_" = "Privacy Policy"; +"_key_reject_help_" = "reject"; +"_key_settings_help_" = "Settings"; +"_accept_button_title_" = "Accept"; +"_privacy_settings_help_text_" = "To optimize your app, we collect anonymous data. For this we use software solutions of different partners. We would like to give you full transparency and decision-making power over the processin and collection of your anonymized usage data. You can also change your settings at any time later in the app settings under data protection. Please note, however, that data collection makes a considerable contribution to the optimization of this app and you prevent this optimization by preventing data transmission."; +"_required_data_collection_" = "Required data collection"; +"_required_data_collection_help_text_" = "The collection of this data is necessary to be able to use essential functions of the app."; +"_analysis_data_acqusition_" = "Analysis-data acqusition for the design"; +"_analysis_data_acqusition_help_text_" = "This data helps us to optimize the app usage for you and to identify system crashes and errors more quickly."; + +// MARK: Collabora +"_prefix_upload_path_" = "MagentaCLOUD/"; +"_please_enter_file_name_" = "Please enter the file name"; + +// MARK: Scan +"_location_" = "Location"; +"_prefix_upload_path_" = "MagentaCLOUD/"; + +"_save_with_text_recognition_" = "SAVE WITH TEXT RECOGNITION (OCR)"; +"_pdf_with_ocr_" = "PDF (OCR)"; +"_text_file_ocr_" = "Textfile (txt)"; +"_save_without_text_recognition_" = "SAVE WITHOUT TEXT RECOGNITION"; +"_pdf_" = "PDF"; +"_jpg_" = "JPG"; +"_png_" = "PNG"; +"_set_password_" = "Set password"; +"_no_password_warn_" = "Please enter a password for the PDF you want to create or disable the function."; +"_saved_info_alert_" = "Saving will take some time, especially if you have selected several pages and file formats."; +"_no_file_type_selection_error_" = "Please select at least one filetype"; +"_no_internet_alert_message_" = "A data connection is not currently allowed."; +"_no_internet_alert_title_" = "Connection error"; +"_auto_upload_help_text_" = "With this option, you upload your photos or videos to the same folder that you selected for \"Automatic upload.\""; + +// MARK: Dashboard +"_shared_" = "Shared"; +"_recieved_" = "Received"; + +// MARK: App Updater +"update_available" = "Update available"; +"update_description" = "MagentaCLOUD version %@ is now available"; +"update" = "Update"; +"not_now" = "Not Now"; + +"_prompt_insert_file_name" = "Please enter filename"; diff --git a/iOSClient/Images.xcassets/Supporting Files/en.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/en.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..e0e01b6491 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/en.lproj/Localizable.stringsdict @@ -0,0 +1,22 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d remaining download allowed + other + %d remaining downloads allowed + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/eo.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/eo.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/eo.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/eo.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/eo.lproj/Localizable.strings new file mode 100644 index 0000000000..c11535e7ee Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/eo.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/eo.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/eo.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/eo.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/Localizable.strings new file mode 100644 index 0000000000..539803461d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-419.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/Localizable.strings new file mode 100644 index 0000000000..b912bf4f9a Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-AR.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/Localizable.strings new file mode 100644 index 0000000000..396e67ad9a Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-CL.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/Localizable.strings new file mode 100644 index 0000000000..8db2a11818 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-CO.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/Localizable.strings new file mode 100644 index 0000000000..faf0114710 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-CR.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/Localizable.strings new file mode 100644 index 0000000000..eb4d6fa7a0 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-DO.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/InfoPlist.strings new file mode 100644 index 0000000000..91c39ba47a Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/Localizable.strings new file mode 100644 index 0000000000..656aed9411 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-EC.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/Localizable.strings new file mode 100644 index 0000000000..5adb2762f9 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-GT.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/Localizable.strings new file mode 100644 index 0000000000..2daec1ca1c Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-HN.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/Localizable.strings new file mode 100644 index 0000000000..641a15ce9e Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-MX.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/Localizable.strings new file mode 100644 index 0000000000..8c4f628309 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-NI.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/Localizable.strings new file mode 100644 index 0000000000..9bc725effb Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-PA.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/Localizable.strings new file mode 100644 index 0000000000..f685f794fb Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-PE.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/Localizable.strings new file mode 100644 index 0000000000..93a6074054 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-PR.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/Localizable.strings new file mode 100644 index 0000000000..aa243c84a9 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-PY.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/Localizable.strings new file mode 100644 index 0000000000..6373c9afc5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-SV.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/Localizable.strings new file mode 100644 index 0000000000..0079e1d1ba Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es-UY.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/es.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/es.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9d262315c9 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/es.lproj/Localizable.strings new file mode 100644 index 0000000000..34ef477363 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/es.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/es.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/es.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..e547b7401c --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/es.lproj/Localizable.stringsdict @@ -0,0 +1,24 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + Queda %d descarga permitida + many + Quedan %d descargas permitidas + other + Quedan %d descargas permitidas + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/Localizable.strings new file mode 100644 index 0000000000..44122a2600 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/et_EE.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/eu.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/eu.lproj/InfoPlist.strings new file mode 100644 index 0000000000..eb3c5f37e1 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/eu.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/eu.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/eu.lproj/Localizable.strings new file mode 100644 index 0000000000..fc056948f4 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/eu.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/eu.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/eu.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/eu.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/fa.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/fa.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/fa.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/fa.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/fa.lproj/Localizable.strings new file mode 100644 index 0000000000..61155eda10 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/fa.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/fa.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/fa.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/fa.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/InfoPlist.strings new file mode 100644 index 0000000000..733be8a222 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/Localizable.strings new file mode 100644 index 0000000000..6443ab87bf Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/fi-FI.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/fo.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/fo.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/fo.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/fo.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/fo.lproj/Localizable.strings new file mode 100644 index 0000000000..6aa6520a55 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/fo.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/fo.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/fo.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/fo.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/fr.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..1a769153a2 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/fr.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/fr.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..525de8f571 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/fr.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/fr.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/fr.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/fr.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ga.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ga.lproj/InfoPlist.strings new file mode 100644 index 0000000000..3e8db5cc02 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ga.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ga.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ga.lproj/Localizable.strings new file mode 100644 index 0000000000..e43c7dcbae Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ga.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ga.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ga.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..23ac308a2f --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ga.lproj/Localizable.stringsdict @@ -0,0 +1,28 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d íosluchtú fágtha ceadaithe + two + %d íosluchtú fágtha ceadaithe + few + %d íosluchtú fágtha ceadaithe + many + %d íosluchtú fágtha ceadaithe + other + %d íosluchtú fágtha ceadaithe + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/gd.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/gd.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/gd.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/gd.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/gd.lproj/Localizable.strings new file mode 100644 index 0000000000..a0af1d5fe6 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/gd.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/gd.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/gd.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/gd.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/gl.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/gl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..75b0b6608e Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/gl.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/gl.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/gl.lproj/Localizable.strings new file mode 100644 index 0000000000..7832beab74 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/gl.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/gl.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/gl.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..f3dde2c8f8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/gl.lproj/Localizable.stringsdict @@ -0,0 +1,22 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d descarga restante permitida + other + %d descargas restantes permitidas + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/he.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/he.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/he.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/he.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/he.lproj/Localizable.strings new file mode 100644 index 0000000000..6e43ab6f0f Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/he.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/he.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/he.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/he.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/Localizable.strings new file mode 100644 index 0000000000..e7df3d61e5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/hi_IN.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/hr.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/hr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hr.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hr.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/hr.lproj/Localizable.strings new file mode 100644 index 0000000000..8d13bbdde7 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hr.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hr.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/hr.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/hr.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/Localizable.strings new file mode 100644 index 0000000000..1532f5125d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/hsb.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/hu.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/hu.lproj/InfoPlist.strings new file mode 100644 index 0000000000..975fa87a5a Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hu.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hu.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/hu.lproj/Localizable.strings new file mode 100644 index 0000000000..c88d61bde5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hu.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hu.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/hu.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..d7d073ab48 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/hu.lproj/Localizable.stringsdict @@ -0,0 +1,22 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d további letöltés engedélyezett + other + %d további letöltés engedélyezett + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/hy.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/hy.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hy.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hy.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/hy.lproj/Localizable.strings new file mode 100644 index 0000000000..fefa9b201b Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/hy.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/hy.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/hy.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/hy.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ia.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ia.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ia.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ia.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ia.lproj/Localizable.strings new file mode 100644 index 0000000000..7c55597e34 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ia.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ia.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ia.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ia.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/id.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/id.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/id.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/id.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/id.lproj/Localizable.strings new file mode 100644 index 0000000000..7fde6fc936 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/id.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/id.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/id.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/id.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ig.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ig.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ig.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ig.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ig.lproj/Localizable.strings new file mode 100644 index 0000000000..84e70bb605 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ig.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ig.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ig.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ig.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/is.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/is.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/is.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/is.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/is.lproj/Localizable.strings new file mode 100644 index 0000000000..13021c1b06 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/is.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/is.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/is.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/is.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/it.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..4f7e00d7c9 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/it.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/it.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/it.lproj/Localizable.strings new file mode 100644 index 0000000000..7a9049d398 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/it.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/it.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/it.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/it.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/InfoPlist.strings new file mode 100644 index 0000000000..299c2d9dea Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/Localizable.strings new file mode 100644 index 0000000000..8d1b104ae2 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ja-JP.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/Localizable.strings new file mode 100644 index 0000000000..545e0644d5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ka-GE.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ka.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ka.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ka.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ka.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ka.lproj/Localizable.strings new file mode 100644 index 0000000000..ad4fc8b8a2 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ka.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ka.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ka.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ka.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/kab.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/kab.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/kab.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/kab.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/kab.lproj/Localizable.strings new file mode 100644 index 0000000000..0a07cdc478 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/kab.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/kab.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/kab.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/kab.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/km.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/km.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/km.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/km.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/km.lproj/Localizable.strings new file mode 100644 index 0000000000..bcf1c13e7d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/km.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/km.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/km.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/km.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/kn.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/kn.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/kn.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/kn.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/kn.lproj/Localizable.strings new file mode 100644 index 0000000000..ce49329be5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/kn.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/kn.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/kn.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/kn.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ko.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ko.lproj/InfoPlist.strings new file mode 100644 index 0000000000..3d57f4ad5d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ko.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ko.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ko.lproj/Localizable.strings new file mode 100644 index 0000000000..36ee7f7917 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ko.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ko.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ko.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..dc33038e23 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ko.lproj/Localizable.stringsdict @@ -0,0 +1,20 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + other + %d번의 다운로드 횟수가 남았습니다. + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/la.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/la.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/la.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/la.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/la.lproj/Localizable.strings new file mode 100644 index 0000000000..da940d90af Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/la.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/la.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/la.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/la.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/lb.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/lb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/lb.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/lb.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/lb.lproj/Localizable.strings new file mode 100644 index 0000000000..b2a47c64d4 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/lb.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/lb.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/lb.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/lb.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/lo.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/lo.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/lo.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/lo.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/lo.lproj/Localizable.strings new file mode 100644 index 0000000000..d06b0e5f8d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/lo.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/lo.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/lo.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/lo.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/Localizable.strings new file mode 100644 index 0000000000..bc959f4f0d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/lt_LT.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/lv.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/lv.lproj/InfoPlist.strings new file mode 100644 index 0000000000..2a9c001c6e Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/lv.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/lv.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/lv.lproj/Localizable.strings new file mode 100644 index 0000000000..34ec8f7242 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/lv.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/lv.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/lv.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/lv.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/mk.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/mk.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/mk.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/mk.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/mk.lproj/Localizable.strings new file mode 100644 index 0000000000..3356b942c1 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/mk.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/mk.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/mk.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/mk.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/mn.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/mn.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/mn.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/mn.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/mn.lproj/Localizable.strings new file mode 100644 index 0000000000..304eb4a5c1 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/mn.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/mn.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/mn.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/mn.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/mr.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/mr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/mr.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/mr.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/mr.lproj/Localizable.strings new file mode 100644 index 0000000000..db97af09b4 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/mr.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/mr.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/mr.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/mr.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/Localizable.strings new file mode 100644 index 0000000000..b0bfed81ba Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ms_MY.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/my.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/my.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/my.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/my.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/my.lproj/Localizable.strings new file mode 100644 index 0000000000..034197b9e5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/my.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/my.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/my.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/my.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/InfoPlist.strings new file mode 100644 index 0000000000..7e260e45ef Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/Localizable.strings new file mode 100644 index 0000000000..ff1ed649d6 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/nb-NO.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ne.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ne.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ne.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ne.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ne.lproj/Localizable.strings new file mode 100644 index 0000000000..ef2d50d970 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ne.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ne.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ne.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ne.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/nl.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..2496dd94b0 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/nl.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/nl.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..692d9d428d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/nl.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/nl.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/nl.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/nl.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/Localizable.strings new file mode 100644 index 0000000000..f08e9d8299 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/nn_NO.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/oc.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/oc.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/oc.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/oc.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/oc.lproj/Localizable.strings new file mode 100644 index 0000000000..6ee4237147 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/oc.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/oc.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/oc.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/oc.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/pl.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/pl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..400d5331d6 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/pl.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/pl.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/pl.lproj/Localizable.strings new file mode 100644 index 0000000000..d17023562f Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/pl.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/pl.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/pl.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/pl.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ps.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ps.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ps.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ps.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ps.lproj/Localizable.strings new file mode 100644 index 0000000000..3633917245 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ps.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ps.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ps.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ps.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/InfoPlist.strings new file mode 100644 index 0000000000..45f4a4a638 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/Localizable.strings new file mode 100644 index 0000000000..41f2a4b152 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..b4af86b9fb --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/pt-BR.lproj/Localizable.stringsdict @@ -0,0 +1,24 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d download restante permitido + many + %d downloads restantes permitidos + other + %d downloads restantes permitidos + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/InfoPlist.strings new file mode 100644 index 0000000000..b73759ad3a Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/Localizable.strings new file mode 100644 index 0000000000..1e93091d24 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/pt-PT.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ro.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ro.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ro.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ro.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ro.lproj/Localizable.strings new file mode 100644 index 0000000000..f241f8a7d0 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ro.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ro.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ro.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ro.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ru.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..1344a41d53 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ru.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ru.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..420e2e7aa6 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ru.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ru.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ru.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ru.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/sc.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/sc.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sc.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sc.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/sc.lproj/Localizable.strings new file mode 100644 index 0000000000..1edcacbe6f Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sc.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sc.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/sc.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/sc.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/si.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/si.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/si.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/si.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/si.lproj/Localizable.strings new file mode 100644 index 0000000000..e9f397a6c6 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/si.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/si.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/si.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/si.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/InfoPlist.strings new file mode 100644 index 0000000000..45ef8100ff Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/Localizable.strings new file mode 100644 index 0000000000..ea9fad09e7 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..04fcf3bb87 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/sk-SK.lproj/Localizable.stringsdict @@ -0,0 +1,26 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d zostávajúce umožnené sťahovanie + few + %d zostávajúce umožnené sťahovania + many + %d zostávajúcich umožnených sťahovaní + other + %d zostávajúcich umožnených sťahovaní + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/sl.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/sl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..befd05ac20 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sl.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sl.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/sl.lproj/Localizable.strings new file mode 100644 index 0000000000..fae8a74020 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sl.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sl.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/sl.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/sl.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/sq.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/sq.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sq.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sq.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/sq.lproj/Localizable.strings new file mode 100644 index 0000000000..3749d3d2ae Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sq.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sq.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/sq.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/sq.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/sr.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/sr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..0189270f40 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sr.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sr.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/sr.lproj/Localizable.strings new file mode 100644 index 0000000000..09d3997015 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sr.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sr.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/sr.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..132b38d546 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/sr.lproj/Localizable.stringsdict @@ -0,0 +1,24 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + преостаје %d дозвољено преузимање + few + преостаје %d дозвољена преузимања + other + преостаје %d дозвољених преузимања + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/Localizable.strings new file mode 100644 index 0000000000..2f47e0705a Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/sr@latin.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/sv.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/sv.lproj/InfoPlist.strings new file mode 100644 index 0000000000..a98f36f9e4 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sv.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sv.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/sv.lproj/Localizable.strings new file mode 100644 index 0000000000..c0f2501e62 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sv.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sv.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/sv.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..af0053bf06 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/sv.lproj/Localizable.stringsdict @@ -0,0 +1,22 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d återstående nedladdning tillåten + other + %d återstående nedladdningar tillåtna + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/sw.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/sw.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sw.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sw.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/sw.lproj/Localizable.strings new file mode 100644 index 0000000000..e7df3d61e5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/sw.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/sw.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/sw.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/sw.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ta.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ta.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ta.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ta.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ta.lproj/Localizable.strings new file mode 100644 index 0000000000..2f3080ab13 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ta.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ta.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ta.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ta.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/InfoPlist.strings new file mode 100644 index 0000000000..489ba769ad Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/Localizable.strings new file mode 100644 index 0000000000..fa77670555 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/th_TH.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/tk.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/tk.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/tk.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/tk.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/tk.lproj/Localizable.strings new file mode 100644 index 0000000000..ee7c89148d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/tk.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/tk.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/tk.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/tk.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/tr.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/tr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..1786b7b10c Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/tr.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/tr.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/tr.lproj/Localizable.strings new file mode 100644 index 0000000000..bd38cf711d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/tr.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/tr.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/tr.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..f2e74884e6 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/tr.lproj/Localizable.stringsdict @@ -0,0 +1,22 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + one + %d indirme daha yapılabilir + other + %d indirme daha yapılabilir + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ug.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ug.lproj/InfoPlist.strings new file mode 100644 index 0000000000..2c2bb056e7 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ug.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ug.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ug.lproj/Localizable.strings new file mode 100644 index 0000000000..9f909fed91 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ug.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ug.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ug.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ug.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/uk.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/uk.lproj/InfoPlist.strings new file mode 100644 index 0000000000..8ff2f55fe0 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/uk.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/uk.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/uk.lproj/Localizable.strings new file mode 100644 index 0000000000..3550f4590f Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/uk.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/uk.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/uk.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/uk.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/Localizable.strings new file mode 100644 index 0000000000..b5e751d654 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/ur_PK.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/uz.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/uz.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/uz.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/uz.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/uz.lproj/Localizable.strings new file mode 100644 index 0000000000..e7df3d61e5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/uz.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/uz.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/uz.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/uz.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/vi.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/vi.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/vi.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/vi.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/vi.lproj/Localizable.strings new file mode 100644 index 0000000000..8051cdc38b Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/vi.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/vi.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/vi.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/vi.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..30a03c1304 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..12d80cc498 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/zh-Hans.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/InfoPlist.strings new file mode 100644 index 0000000000..a49f869e94 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/Localizable.strings new file mode 100644 index 0000000000..c269c94b7d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/zh-Hant-TW.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/InfoPlist.strings new file mode 100644 index 0000000000..85472408c4 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/Localizable.strings new file mode 100644 index 0000000000..0107ed122d Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..1a56af9f27 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/zh_HK.lproj/Localizable.stringsdict @@ -0,0 +1,20 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + downloads + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + other + 剩餘 %d 次下載 + + + + diff --git a/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/InfoPlist.strings b/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/InfoPlist.strings new file mode 100644 index 0000000000..6a26379f17 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/InfoPlist.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/Localizable.strings b/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/Localizable.strings new file mode 100644 index 0000000000..e7df3d61e5 Binary files /dev/null and b/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/Localizable.strings differ diff --git a/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/Localizable.stringsdict b/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/Localizable.stringsdict new file mode 100644 index 0000000000..7097c7c1b8 --- /dev/null +++ b/iOSClient/Images.xcassets/Supporting Files/zu_ZA.lproj/Localizable.stringsdict @@ -0,0 +1,11 @@ + + + + + _remaining_share_downloads_ + + NSStringLocalizedFormatKey + %#@downloads@ + + + diff --git a/iOSClient/Images.xcassets/WiFiSmall.imageset/Contents.json b/iOSClient/Images.xcassets/WiFiSmall.imageset/Contents.json new file mode 100644 index 0000000000..0d044c1a4c --- /dev/null +++ b/iOSClient/Images.xcassets/WiFiSmall.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "WiFiSmall.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "WiFiSmall@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "WiFiSmall@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall.png b/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall.png new file mode 100644 index 0000000000..3bc239ccf9 Binary files /dev/null and b/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall.png differ diff --git a/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall@2x.png b/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall@2x.png new file mode 100644 index 0000000000..485b92a256 Binary files /dev/null and b/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall@2x.png differ diff --git a/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall@3x.png b/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall@3x.png new file mode 100644 index 0000000000..fa487ba8ea Binary files /dev/null and b/iOSClient/Images.xcassets/WiFiSmall.imageset/WiFiSmall@3x.png differ diff --git a/iOSClient/Images.xcassets/acknowledgements.imageset/Contents.json b/iOSClient/Images.xcassets/acknowledgements.imageset/Contents.json new file mode 100644 index 0000000000..1a717a6657 --- /dev/null +++ b/iOSClient/Images.xcassets/acknowledgements.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "acknowledgements.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/acknowledgements.imageset/acknowledgements.pdf b/iOSClient/Images.xcassets/acknowledgements.imageset/acknowledgements.pdf new file mode 100644 index 0000000000..67d96e89d6 Binary files /dev/null and b/iOSClient/Images.xcassets/acknowledgements.imageset/acknowledgements.pdf differ diff --git a/iOSClient/Images.xcassets/actionSheetModify.imageset/Contents.json b/iOSClient/Images.xcassets/actionSheetModify.imageset/Contents.json new file mode 100644 index 0000000000..da6627652c --- /dev/null +++ b/iOSClient/Images.xcassets/actionSheetModify.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "actionSheetModify.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "actionSheetModify@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "actionSheetModify@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify.png b/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify.png new file mode 100644 index 0000000000..d8967d1de6 Binary files /dev/null and b/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify.png differ diff --git a/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify@2x.png b/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify@2x.png new file mode 100644 index 0000000000..17b56ef130 Binary files /dev/null and b/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify@2x.png differ diff --git a/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify@3x.png b/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify@3x.png new file mode 100644 index 0000000000..f6a3f257db Binary files /dev/null and b/iOSClient/Images.xcassets/actionSheetModify.imageset/actionSheetModify@3x.png differ diff --git a/iOSClient/Images.xcassets/activityTypeFailure.imageset/Contents.json b/iOSClient/Images.xcassets/activityTypeFailure.imageset/Contents.json new file mode 100644 index 0000000000..85b2321170 --- /dev/null +++ b/iOSClient/Images.xcassets/activityTypeFailure.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "activityTypeFailure.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "activityTypeFailure@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "activityTypeFailure@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure.png b/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure.png new file mode 100644 index 0000000000..1d37484fd7 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure.png differ diff --git a/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure@2x.png b/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure@2x.png new file mode 100644 index 0000000000..69be6ad1b1 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure@2x.png differ diff --git a/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure@3x.png b/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure@3x.png new file mode 100644 index 0000000000..770e66bc5a Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeFailure.imageset/activityTypeFailure@3x.png differ diff --git a/iOSClient/Images.xcassets/activityTypeInfo.imageset/Contents.json b/iOSClient/Images.xcassets/activityTypeInfo.imageset/Contents.json new file mode 100644 index 0000000000..273f51bf48 --- /dev/null +++ b/iOSClient/Images.xcassets/activityTypeInfo.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "activityTypeInfo.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "activityTypeInfo@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "activityTypeInfo@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo.png b/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo.png new file mode 100644 index 0000000000..527ac1b7e9 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo.png differ diff --git a/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo@2x.png b/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo@2x.png new file mode 100644 index 0000000000..6cb5f15a34 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo@2x.png differ diff --git a/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo@3x.png b/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo@3x.png new file mode 100644 index 0000000000..b361ee0b85 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeInfo.imageset/activityTypeInfo@3x.png differ diff --git a/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/Contents.json b/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/Contents.json new file mode 100644 index 0000000000..5c7837e197 --- /dev/null +++ b/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "activityTypeInfoServer.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "activityTypeInfoServer@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "activityTypeInfoServer@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer.png b/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer.png new file mode 100644 index 0000000000..72e74ae5b8 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer.png differ diff --git a/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer@2x.png b/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer@2x.png new file mode 100644 index 0000000000..2bc1443c19 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer@2x.png differ diff --git a/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer@3x.png b/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer@3x.png new file mode 100644 index 0000000000..a48d98b9f4 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeInfoServer.imageset/activityTypeInfoServer@3x.png differ diff --git a/iOSClient/Images.xcassets/activityTypeSuccess.imageset/Contents.json b/iOSClient/Images.xcassets/activityTypeSuccess.imageset/Contents.json new file mode 100644 index 0000000000..d3c47f9815 --- /dev/null +++ b/iOSClient/Images.xcassets/activityTypeSuccess.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "activityTypeSuccess.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "activityTypeSucces@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "activityTypeSuccess@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSucces@2x.png b/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSucces@2x.png new file mode 100644 index 0000000000..28e57fa267 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSucces@2x.png differ diff --git a/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSuccess.png b/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSuccess.png new file mode 100644 index 0000000000..f9c151a727 Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSuccess.png differ diff --git a/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSuccess@3x.png b/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSuccess@3x.png new file mode 100644 index 0000000000..6cfba6c4fd Binary files /dev/null and b/iOSClient/Images.xcassets/activityTypeSuccess.imageset/activityTypeSuccess@3x.png differ diff --git a/iOSClient/Images.xcassets/addFolder.imageset/Contents.json b/iOSClient/Images.xcassets/addFolder.imageset/Contents.json new file mode 100644 index 0000000000..b737835d80 --- /dev/null +++ b/iOSClient/Images.xcassets/addFolder.imageset/Contents.json @@ -0,0 +1,59 @@ +{ + "images" : [ + { + "filename" : "addFolder.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "addFolderDark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "addFolder@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "addFolderDark@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "addFolder@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "addFolderDark@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/addFolder.imageset/addFolder.png b/iOSClient/Images.xcassets/addFolder.imageset/addFolder.png new file mode 100644 index 0000000000..01b4edc846 Binary files /dev/null and b/iOSClient/Images.xcassets/addFolder.imageset/addFolder.png differ diff --git a/iOSClient/Images.xcassets/addFolder.imageset/addFolder@2x.png b/iOSClient/Images.xcassets/addFolder.imageset/addFolder@2x.png new file mode 100644 index 0000000000..36b5f67ed9 Binary files /dev/null and b/iOSClient/Images.xcassets/addFolder.imageset/addFolder@2x.png differ diff --git a/iOSClient/Images.xcassets/addFolder.imageset/addFolder@3x.png b/iOSClient/Images.xcassets/addFolder.imageset/addFolder@3x.png new file mode 100644 index 0000000000..63f36fef80 Binary files /dev/null and b/iOSClient/Images.xcassets/addFolder.imageset/addFolder@3x.png differ diff --git a/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark.png b/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark.png new file mode 100644 index 0000000000..021899fc7c Binary files /dev/null and b/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark.png differ diff --git a/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark@2x.png b/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark@2x.png new file mode 100644 index 0000000000..a4eede1fd9 Binary files /dev/null and b/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark@2x.png differ diff --git a/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark@3x.png b/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark@3x.png new file mode 100644 index 0000000000..bc59610706 Binary files /dev/null and b/iOSClient/Images.xcassets/addFolder.imageset/addFolderDark@3x.png differ diff --git a/iOSClient/Images.xcassets/addFolderInfo.imageset/Contents.json b/iOSClient/Images.xcassets/addFolderInfo.imageset/Contents.json new file mode 100644 index 0000000000..bfc9b6a226 --- /dev/null +++ b/iOSClient/Images.xcassets/addFolderInfo.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "addFolderInfo.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/addFolderInfo.imageset/addFolderInfo.pdf b/iOSClient/Images.xcassets/addFolderInfo.imageset/addFolderInfo.pdf new file mode 100644 index 0000000000..874d974e1b Binary files /dev/null and b/iOSClient/Images.xcassets/addFolderInfo.imageset/addFolderInfo.pdf differ diff --git a/iOSClient/Images.xcassets/address.imageset/Contents.json b/iOSClient/Images.xcassets/address.imageset/Contents.json new file mode 100644 index 0000000000..5b5d33f9fb --- /dev/null +++ b/iOSClient/Images.xcassets/address.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "address.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "preserves-vector-representation" : true + } +} \ No newline at end of file diff --git a/iOSClient/Images.xcassets/address.imageset/address.pdf b/iOSClient/Images.xcassets/address.imageset/address.pdf new file mode 100644 index 0000000000..0860bb2b76 Binary files /dev/null and b/iOSClient/Images.xcassets/address.imageset/address.pdf differ diff --git a/iOSClient/Images.xcassets/album.imageset/Contents.json b/iOSClient/Images.xcassets/album.imageset/Contents.json new file mode 100644 index 0000000000..4c555c06e0 --- /dev/null +++ b/iOSClient/Images.xcassets/album.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "album.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOSClient/Images.xcassets/album.imageset/album.svg b/iOSClient/Images.xcassets/album.imageset/album.svg new file mode 100644 index 0000000000..9263df2024 --- /dev/null +++ b/iOSClient/Images.xcassets/album.imageset/album.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/application.imageset/Contents.json b/iOSClient/Images.xcassets/application.imageset/Contents.json new file mode 100644 index 0000000000..3b9c152375 --- /dev/null +++ b/iOSClient/Images.xcassets/application.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "application.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/application.imageset/application.pdf b/iOSClient/Images.xcassets/application.imageset/application.pdf new file mode 100644 index 0000000000..8260068619 Binary files /dev/null and b/iOSClient/Images.xcassets/application.imageset/application.pdf differ diff --git a/iOSClient/Images.xcassets/arrow.forward.square.imageset/Contents.json b/iOSClient/Images.xcassets/arrow.forward.square.imageset/Contents.json new file mode 100644 index 0000000000..0ba67da948 --- /dev/null +++ b/iOSClient/Images.xcassets/arrow.forward.square.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "arrow-right-bold-box-outline.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/arrow.forward.square.imageset/arrow-right-bold-box-outline.svg b/iOSClient/Images.xcassets/arrow.forward.square.imageset/arrow-right-bold-box-outline.svg new file mode 100644 index 0000000000..2532280572 --- /dev/null +++ b/iOSClient/Images.xcassets/arrow.forward.square.imageset/arrow-right-bold-box-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/arrow.up.right.square.imageset/Contents.json b/iOSClient/Images.xcassets/arrow.up.right.square.imageset/Contents.json new file mode 100644 index 0000000000..ba9ee6e434 --- /dev/null +++ b/iOSClient/Images.xcassets/arrow.up.right.square.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Unknown.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/arrow.up.right.square.imageset/Unknown.svg b/iOSClient/Images.xcassets/arrow.up.right.square.imageset/Unknown.svg new file mode 100644 index 0000000000..364925ef85 --- /dev/null +++ b/iOSClient/Images.xcassets/arrow.up.right.square.imageset/Unknown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/audioPlay.imageset/Contents.json b/iOSClient/Images.xcassets/audioPlay.imageset/Contents.json new file mode 100644 index 0000000000..0efd94c42a --- /dev/null +++ b/iOSClient/Images.xcassets/audioPlay.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "play.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "preserves-vector-representation" : true + } +} \ No newline at end of file diff --git a/iOSClient/Images.xcassets/audioPlay.imageset/play.pdf b/iOSClient/Images.xcassets/audioPlay.imageset/play.pdf new file mode 100644 index 0000000000..54a7ce1700 Binary files /dev/null and b/iOSClient/Images.xcassets/audioPlay.imageset/play.pdf differ diff --git a/iOSClient/Images.xcassets/autoUpload.imageset/Auto-upload.svg b/iOSClient/Images.xcassets/autoUpload.imageset/Auto-upload.svg new file mode 100644 index 0000000000..3d3c4e0610 --- /dev/null +++ b/iOSClient/Images.xcassets/autoUpload.imageset/Auto-upload.svg @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/autoUpload.imageset/Contents.json b/iOSClient/Images.xcassets/autoUpload.imageset/Contents.json new file mode 100644 index 0000000000..6a1e91593a --- /dev/null +++ b/iOSClient/Images.xcassets/autoUpload.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Auto-upload.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/backward.imageset/Contents.json b/iOSClient/Images.xcassets/backward.imageset/Contents.json new file mode 100644 index 0000000000..3940e5e48a --- /dev/null +++ b/iOSClient/Images.xcassets/backward.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "backward.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/backward.imageset/backward.svg b/iOSClient/Images.xcassets/backward.imageset/backward.svg new file mode 100644 index 0000000000..9b8d324edb --- /dev/null +++ b/iOSClient/Images.xcassets/backward.imageset/backward.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/businesstype.imageset/Contents.json b/iOSClient/Images.xcassets/businesstype.imageset/Contents.json new file mode 100644 index 0000000000..1c6770c981 --- /dev/null +++ b/iOSClient/Images.xcassets/businesstype.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "businesstype.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "preserves-vector-representation" : true + } +} \ No newline at end of file diff --git a/iOSClient/Images.xcassets/businesstype.imageset/businesstype.pdf b/iOSClient/Images.xcassets/businesstype.imageset/businesstype.pdf new file mode 100644 index 0000000000..fd349393c6 Binary files /dev/null and b/iOSClient/Images.xcassets/businesstype.imageset/businesstype.pdf differ diff --git a/iOSClient/Images.xcassets/caldavcardav.imageset/Contents.json b/iOSClient/Images.xcassets/caldavcardav.imageset/Contents.json new file mode 100644 index 0000000000..a1aca4cacd --- /dev/null +++ b/iOSClient/Images.xcassets/caldavcardav.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "icons8-calendario-delle-persone.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOSClient/Images.xcassets/caldavcardav.imageset/icons8-calendario-delle-persone.svg b/iOSClient/Images.xcassets/caldavcardav.imageset/icons8-calendario-delle-persone.svg new file mode 100644 index 0000000000..f45b9ec9a6 --- /dev/null +++ b/iOSClient/Images.xcassets/caldavcardav.imageset/icons8-calendario-delle-persone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/calenderNew.imageset/Contents.json b/iOSClient/Images.xcassets/calenderNew.imageset/Contents.json new file mode 100644 index 0000000000..6290c4fd78 --- /dev/null +++ b/iOSClient/Images.xcassets/calenderNew.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "calenderNew.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "calenderNew@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "calenderNew@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew.png b/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew.png new file mode 100644 index 0000000000..8740adcad6 Binary files /dev/null and b/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew.png differ diff --git a/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew@2x.png b/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew@2x.png new file mode 100644 index 0000000000..d5304afd2d Binary files /dev/null and b/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew@2x.png differ diff --git a/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew@3x.png b/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew@3x.png new file mode 100644 index 0000000000..7188fb52e0 Binary files /dev/null and b/iOSClient/Images.xcassets/calenderNew.imageset/calenderNew@3x.png differ diff --git a/iOSClient/Images.xcassets/capabilities.imageset/Contents.json b/iOSClient/Images.xcassets/capabilities.imageset/Contents.json new file mode 100644 index 0000000000..f25afae1ee --- /dev/null +++ b/iOSClient/Images.xcassets/capabilities.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "format-list-bulleted.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/capabilities.imageset/format-list-bulleted.svg b/iOSClient/Images.xcassets/capabilities.imageset/format-list-bulleted.svg new file mode 100644 index 0000000000..3eb8f96f9f --- /dev/null +++ b/iOSClient/Images.xcassets/capabilities.imageset/format-list-bulleted.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/checkedYes.imageset/Contents.json b/iOSClient/Images.xcassets/checkedYes.imageset/Contents.json new file mode 100644 index 0000000000..5e8e81b269 --- /dev/null +++ b/iOSClient/Images.xcassets/checkedYes.imageset/Contents.json @@ -0,0 +1,25 @@ +{ + "images" : [ + { + "filename" : "green-white-filled@500w.pdf", + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "green-Gray90-filled copy@500w.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/checkedYes.imageset/green-Gray90-filled copy@500w.pdf b/iOSClient/Images.xcassets/checkedYes.imageset/green-Gray90-filled copy@500w.pdf new file mode 100644 index 0000000000..a689619ff2 Binary files /dev/null and b/iOSClient/Images.xcassets/checkedYes.imageset/green-Gray90-filled copy@500w.pdf differ diff --git a/iOSClient/Images.xcassets/checkedYes.imageset/green-white-filled@500w.pdf b/iOSClient/Images.xcassets/checkedYes.imageset/green-white-filled@500w.pdf new file mode 100644 index 0000000000..f47e13070e Binary files /dev/null and b/iOSClient/Images.xcassets/checkedYes.imageset/green-white-filled@500w.pdf differ diff --git a/iOSClient/Images.xcassets/checkmark.circle.fill.imageset/Contents.json b/iOSClient/Images.xcassets/checkmark.circle.fill.imageset/Contents.json new file mode 100644 index 0000000000..4bab8e542e --- /dev/null +++ b/iOSClient/Images.xcassets/checkmark.circle.fill.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "selectFull.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/checkmark.circle.fill.imageset/selectFull.pdf b/iOSClient/Images.xcassets/checkmark.circle.fill.imageset/selectFull.pdf new file mode 100644 index 0000000000..72d93963e2 Binary files /dev/null and b/iOSClient/Images.xcassets/checkmark.circle.fill.imageset/selectFull.pdf differ diff --git a/iOSClient/Images.xcassets/checkmark.imageset/Checkmark.svg b/iOSClient/Images.xcassets/checkmark.imageset/Checkmark.svg new file mode 100644 index 0000000000..c4695ae226 --- /dev/null +++ b/iOSClient/Images.xcassets/checkmark.imageset/Checkmark.svg @@ -0,0 +1,3 @@ + + + diff --git a/iOSClient/Images.xcassets/checkmark.imageset/Contents.json b/iOSClient/Images.xcassets/checkmark.imageset/Contents.json new file mode 100644 index 0000000000..57dc0f0495 --- /dev/null +++ b/iOSClient/Images.xcassets/checkmark.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Checkmark.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/circle.grid.cross.down.fill.imageset/Contents.json b/iOSClient/Images.xcassets/circle.grid.cross.down.fill.imageset/Contents.json new file mode 100644 index 0000000000..a96275cf93 --- /dev/null +++ b/iOSClient/Images.xcassets/circle.grid.cross.down.fill.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "sortCreatedDate.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/circle.grid.cross.down.fill.imageset/sortCreatedDate.pdf b/iOSClient/Images.xcassets/circle.grid.cross.down.fill.imageset/sortCreatedDate.pdf new file mode 100644 index 0000000000..ddebfd8ceb Binary files /dev/null and b/iOSClient/Images.xcassets/circle.grid.cross.down.fill.imageset/sortCreatedDate.pdf differ diff --git a/iOSClient/Images.xcassets/circle.grid.cross.right.fill.imageset/Contents.json b/iOSClient/Images.xcassets/circle.grid.cross.right.fill.imageset/Contents.json new file mode 100644 index 0000000000..935c5b1a59 --- /dev/null +++ b/iOSClient/Images.xcassets/circle.grid.cross.right.fill.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "sortUploadDate.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/circle.grid.cross.right.fill.imageset/sortUploadDate.pdf b/iOSClient/Images.xcassets/circle.grid.cross.right.fill.imageset/sortUploadDate.pdf new file mode 100644 index 0000000000..0a500b1a47 Binary files /dev/null and b/iOSClient/Images.xcassets/circle.grid.cross.right.fill.imageset/sortUploadDate.pdf differ diff --git a/iOSClient/Images.xcassets/circle.grid.cross.up.fill.imageset/Contents.json b/iOSClient/Images.xcassets/circle.grid.cross.up.fill.imageset/Contents.json new file mode 100644 index 0000000000..11689d266c --- /dev/null +++ b/iOSClient/Images.xcassets/circle.grid.cross.up.fill.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "sortModifiedDate.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/circle.grid.cross.up.fill.imageset/sortModifiedDate.pdf b/iOSClient/Images.xcassets/circle.grid.cross.up.fill.imageset/sortModifiedDate.pdf new file mode 100644 index 0000000000..6736d87ad5 Binary files /dev/null and b/iOSClient/Images.xcassets/circle.grid.cross.up.fill.imageset/sortModifiedDate.pdf differ diff --git a/iOSClient/Images.xcassets/circle.imageset/Contents.json b/iOSClient/Images.xcassets/circle.imageset/Contents.json new file mode 100644 index 0000000000..763c622dd7 --- /dev/null +++ b/iOSClient/Images.xcassets/circle.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "checkedNo.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/circle.imageset/checkedNo.pdf b/iOSClient/Images.xcassets/circle.imageset/checkedNo.pdf new file mode 100644 index 0000000000..d9d96bea85 Binary files /dev/null and b/iOSClient/Images.xcassets/circle.imageset/checkedNo.pdf differ diff --git a/iOSClient/Images.xcassets/circleAdd.imageset/Circle Add.svg b/iOSClient/Images.xcassets/circleAdd.imageset/Circle Add.svg new file mode 100644 index 0000000000..a86dd48ae8 --- /dev/null +++ b/iOSClient/Images.xcassets/circleAdd.imageset/Circle Add.svg @@ -0,0 +1,3 @@ + + + diff --git a/iOSClient/Images.xcassets/circleAdd.imageset/Contents.json b/iOSClient/Images.xcassets/circleAdd.imageset/Contents.json new file mode 100644 index 0000000000..14c86dbe9e --- /dev/null +++ b/iOSClient/Images.xcassets/circleAdd.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Circle Add.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/city.imageset/Contents.json b/iOSClient/Images.xcassets/city.imageset/Contents.json new file mode 100644 index 0000000000..a91bde0a9e --- /dev/null +++ b/iOSClient/Images.xcassets/city.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "city.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/city.imageset/city.pdf b/iOSClient/Images.xcassets/city.imageset/city.pdf new file mode 100644 index 0000000000..3bf8a0dc83 Binary files /dev/null and b/iOSClient/Images.xcassets/city.imageset/city.pdf differ diff --git a/iOSClient/Images.xcassets/cityzip.imageset/Contents.json b/iOSClient/Images.xcassets/cityzip.imageset/Contents.json new file mode 100644 index 0000000000..eabc2e4dae --- /dev/null +++ b/iOSClient/Images.xcassets/cityzip.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "cityzip.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/cityzip.imageset/cityzip.pdf b/iOSClient/Images.xcassets/cityzip.imageset/cityzip.pdf new file mode 100644 index 0000000000..2ceae8c760 Binary files /dev/null and b/iOSClient/Images.xcassets/cityzip.imageset/cityzip.pdf differ diff --git a/iOSClient/Images.xcassets/clear.imageset/Contents.json b/iOSClient/Images.xcassets/clear.imageset/Contents.json new file mode 100644 index 0000000000..f1d0224ac4 --- /dev/null +++ b/iOSClient/Images.xcassets/clear.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "clear.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/clear.imageset/clear.pdf b/iOSClient/Images.xcassets/clear.imageset/clear.pdf new file mode 100644 index 0000000000..240a72b22d Binary files /dev/null and b/iOSClient/Images.xcassets/clear.imageset/clear.pdf differ diff --git a/iOSClient/Images.xcassets/closeCircle.imageset/Contents.json b/iOSClient/Images.xcassets/closeCircle.imageset/Contents.json new file mode 100644 index 0000000000..7266d32788 --- /dev/null +++ b/iOSClient/Images.xcassets/closeCircle.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "closeCircle.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/directory.imageset/directory.pdf b/iOSClient/Images.xcassets/closeCircle.imageset/closeCircle.pdf similarity index 61% rename from iOSClient/Images.xcassets/directory.imageset/directory.pdf rename to iOSClient/Images.xcassets/closeCircle.imageset/closeCircle.pdf index 2bab530b52..5b391d1af6 100644 Binary files a/iOSClient/Images.xcassets/directory.imageset/directory.pdf and b/iOSClient/Images.xcassets/closeCircle.imageset/closeCircle.pdf differ diff --git a/iOSClient/Images.xcassets/cloudDownload.imageset/Contents.json b/iOSClient/Images.xcassets/cloudDownload.imageset/Contents.json new file mode 100644 index 0000000000..7f194d2ad2 --- /dev/null +++ b/iOSClient/Images.xcassets/cloudDownload.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Download From Cloud.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/cloudDownload.imageset/Download From Cloud.svg b/iOSClient/Images.xcassets/cloudDownload.imageset/Download From Cloud.svg new file mode 100644 index 0000000000..38cf558f60 --- /dev/null +++ b/iOSClient/Images.xcassets/cloudDownload.imageset/Download From Cloud.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/cloudUpload.imageset/Contents.json b/iOSClient/Images.xcassets/cloudUpload.imageset/Contents.json new file mode 100644 index 0000000000..24fa2be778 --- /dev/null +++ b/iOSClient/Images.xcassets/cloudUpload.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Upload to Cloud.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/cloudUpload.imageset/Upload to Cloud.svg b/iOSClient/Images.xcassets/cloudUpload.imageset/Upload to Cloud.svg new file mode 100644 index 0000000000..8510bdc111 --- /dev/null +++ b/iOSClient/Images.xcassets/cloudUpload.imageset/Upload to Cloud.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/comment.imageset/Contents.json b/iOSClient/Images.xcassets/comment.imageset/Contents.json new file mode 100644 index 0000000000..ad81de6310 --- /dev/null +++ b/iOSClient/Images.xcassets/comment.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "comment.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shareTypeEmail.imageset/shareTypeEmail.pdf b/iOSClient/Images.xcassets/comment.imageset/comment.pdf similarity index 51% rename from iOSClient/Images.xcassets/shareTypeEmail.imageset/shareTypeEmail.pdf rename to iOSClient/Images.xcassets/comment.imageset/comment.pdf index 48b0f832f5..97aae2ea20 100644 Binary files a/iOSClient/Images.xcassets/shareTypeEmail.imageset/shareTypeEmail.pdf and b/iOSClient/Images.xcassets/comment.imageset/comment.pdf differ diff --git a/iOSClient/Images.xcassets/comments.imageset/Contents.json b/iOSClient/Images.xcassets/comments.imageset/Contents.json new file mode 100644 index 0000000000..942972f7aa --- /dev/null +++ b/iOSClient/Images.xcassets/comments.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "comments.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/comments.imageset/comments.pdf b/iOSClient/Images.xcassets/comments.imageset/comments.pdf new file mode 100644 index 0000000000..a060b48ba5 Binary files /dev/null and b/iOSClient/Images.xcassets/comments.imageset/comments.pdf differ diff --git a/iOSClient/Images.xcassets/company.imageset/Contents.json b/iOSClient/Images.xcassets/company.imageset/Contents.json new file mode 100644 index 0000000000..c764d8f682 --- /dev/null +++ b/iOSClient/Images.xcassets/company.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "company.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/document.imageset/document.pdf b/iOSClient/Images.xcassets/company.imageset/company.pdf similarity index 59% rename from iOSClient/Images.xcassets/document.imageset/document.pdf rename to iOSClient/Images.xcassets/company.imageset/company.pdf index eed811dc9a..eee8b91aa7 100644 Binary files a/iOSClient/Images.xcassets/document.imageset/document.pdf and b/iOSClient/Images.xcassets/company.imageset/company.pdf differ diff --git a/iOSClient/Images.xcassets/contact.imageset/Contents.json b/iOSClient/Images.xcassets/contact.imageset/Contents.json new file mode 100644 index 0000000000..299e16128d --- /dev/null +++ b/iOSClient/Images.xcassets/contact.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "contact.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "contact@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "contact@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/contact.imageset/contact.png b/iOSClient/Images.xcassets/contact.imageset/contact.png new file mode 100644 index 0000000000..1eafc7a680 Binary files /dev/null and b/iOSClient/Images.xcassets/contact.imageset/contact.png differ diff --git a/iOSClient/Images.xcassets/contact.imageset/contact@2x.png b/iOSClient/Images.xcassets/contact.imageset/contact@2x.png new file mode 100644 index 0000000000..c3841a20bd Binary files /dev/null and b/iOSClient/Images.xcassets/contact.imageset/contact@2x.png differ diff --git a/iOSClient/Images.xcassets/contact.imageset/contact@3x.png b/iOSClient/Images.xcassets/contact.imageset/contact@3x.png new file mode 100644 index 0000000000..fbfc494222 Binary files /dev/null and b/iOSClient/Images.xcassets/contact.imageset/contact@3x.png differ diff --git a/iOSClient/Images.xcassets/contactOld.imageset/Contents.json b/iOSClient/Images.xcassets/contactOld.imageset/Contents.json new file mode 100644 index 0000000000..05f86e3e2b --- /dev/null +++ b/iOSClient/Images.xcassets/contactOld.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "contact.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/contactOld.imageset/contact.svg b/iOSClient/Images.xcassets/contactOld.imageset/contact.svg new file mode 100644 index 0000000000..6b3f9684ae --- /dev/null +++ b/iOSClient/Images.xcassets/contactOld.imageset/contact.svg @@ -0,0 +1,7 @@ + + + 01_24px/icon/user_file/contacts/default + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/copy.imageset/Contents.json b/iOSClient/Images.xcassets/copy.imageset/Contents.json new file mode 100644 index 0000000000..f711ad67af --- /dev/null +++ b/iOSClient/Images.xcassets/copy.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "copy.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/copy.imageset/copy.pdf b/iOSClient/Images.xcassets/copy.imageset/copy.pdf new file mode 100644 index 0000000000..fb90c89c8e Binary files /dev/null and b/iOSClient/Images.xcassets/copy.imageset/copy.pdf differ diff --git a/iOSClient/Images.xcassets/country.imageset/Contents.json b/iOSClient/Images.xcassets/country.imageset/Contents.json new file mode 100644 index 0000000000..2cb0b735dc --- /dev/null +++ b/iOSClient/Images.xcassets/country.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "country.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/country.imageset/country.pdf b/iOSClient/Images.xcassets/country.imageset/country.pdf new file mode 100644 index 0000000000..f9667fe22a Binary files /dev/null and b/iOSClient/Images.xcassets/country.imageset/country.pdf differ diff --git a/iOSClient/Images.xcassets/crashservice.imageset/Contents.json b/iOSClient/Images.xcassets/crashservice.imageset/Contents.json new file mode 100644 index 0000000000..b1436bb6d2 --- /dev/null +++ b/iOSClient/Images.xcassets/crashservice.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "bug-outline.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/crashservice.imageset/bug-outline.svg b/iOSClient/Images.xcassets/crashservice.imageset/bug-outline.svg new file mode 100644 index 0000000000..d58d933f8e --- /dev/null +++ b/iOSClient/Images.xcassets/crashservice.imageset/bug-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/create_file_document.imageset/Contents.json b/iOSClient/Images.xcassets/create_file_document.imageset/Contents.json new file mode 100644 index 0000000000..356e75ee11 --- /dev/null +++ b/iOSClient/Images.xcassets/create_file_document.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file_text 1.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/create_file_document.imageset/file_text 1.pdf b/iOSClient/Images.xcassets/create_file_document.imageset/file_text 1.pdf new file mode 100644 index 0000000000..95241831e1 Binary files /dev/null and b/iOSClient/Images.xcassets/create_file_document.imageset/file_text 1.pdf differ diff --git a/iOSClient/Images.xcassets/create_file_ppt.imageset/Contents.json b/iOSClient/Images.xcassets/create_file_ppt.imageset/Contents.json new file mode 100644 index 0000000000..b976e2da22 --- /dev/null +++ b/iOSClient/Images.xcassets/create_file_ppt.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file_ppt.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/create_file_ppt.imageset/file_ppt.pdf b/iOSClient/Images.xcassets/create_file_ppt.imageset/file_ppt.pdf new file mode 100644 index 0000000000..c127187374 Binary files /dev/null and b/iOSClient/Images.xcassets/create_file_ppt.imageset/file_ppt.pdf differ diff --git a/iOSClient/Images.xcassets/create_file_xls.imageset/Contents.json b/iOSClient/Images.xcassets/create_file_xls.imageset/Contents.json new file mode 100644 index 0000000000..72c7b90297 --- /dev/null +++ b/iOSClient/Images.xcassets/create_file_xls.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file-calculation.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/create_file_xls.imageset/file-calculation.pdf b/iOSClient/Images.xcassets/create_file_xls.imageset/file-calculation.pdf new file mode 100644 index 0000000000..1c9642dbab Binary files /dev/null and b/iOSClient/Images.xcassets/create_file_xls.imageset/file-calculation.pdf differ diff --git a/iOSClient/Images.xcassets/dataPrivacy.imageset/Contents.json b/iOSClient/Images.xcassets/dataPrivacy.imageset/Contents.json new file mode 100644 index 0000000000..eb9119e6f5 --- /dev/null +++ b/iOSClient/Images.xcassets/dataPrivacy.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "default copy@2x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "default copy@3x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "default copy@4x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@2x.png b/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@2x.png new file mode 100644 index 0000000000..40c3e7d47f Binary files /dev/null and b/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@2x.png differ diff --git a/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@3x.png b/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@3x.png new file mode 100644 index 0000000000..74d9dbb7dd Binary files /dev/null and b/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@3x.png differ diff --git a/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@4x.png b/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@4x.png new file mode 100644 index 0000000000..682122c3f2 Binary files /dev/null and b/iOSClient/Images.xcassets/dataPrivacy.imageset/default copy@4x.png differ diff --git a/iOSClient/Images.xcassets/deleteScan.imageset/Contents.json b/iOSClient/Images.xcassets/deleteScan.imageset/Contents.json new file mode 100644 index 0000000000..a339b95ca4 --- /dev/null +++ b/iOSClient/Images.xcassets/deleteScan.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "deleteScan.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "deleteScan@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "deleteScan@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan.png b/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan.png new file mode 100644 index 0000000000..c7a4ff62f0 Binary files /dev/null and b/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan.png differ diff --git a/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan@2x.png b/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan@2x.png new file mode 100644 index 0000000000..d0b2037c59 Binary files /dev/null and b/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan@2x.png differ diff --git a/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan@3x.png b/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan@3x.png new file mode 100644 index 0000000000..b6526408be Binary files /dev/null and b/iOSClient/Images.xcassets/deleteScan.imageset/deleteScan@3x.png differ diff --git a/iOSClient/Images.xcassets/diagram.imageset/Contents.json b/iOSClient/Images.xcassets/diagram.imageset/Contents.json new file mode 100644 index 0000000000..a67251449a --- /dev/null +++ b/iOSClient/Images.xcassets/diagram.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "diagram.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/diagram.imageset/diagram.svg b/iOSClient/Images.xcassets/diagram.imageset/diagram.svg new file mode 100644 index 0000000000..ae5b35d9ef --- /dev/null +++ b/iOSClient/Images.xcassets/diagram.imageset/diagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/disclosureIndicator.imageset/Contents.json b/iOSClient/Images.xcassets/disclosureIndicator.imageset/Contents.json new file mode 100644 index 0000000000..da15f89512 --- /dev/null +++ b/iOSClient/Images.xcassets/disclosureIndicator.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "disclosureIndicator@2x.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/disclosureIndicator.imageset/disclosureIndicator@2x.png b/iOSClient/Images.xcassets/disclosureIndicator.imageset/disclosureIndicator@2x.png new file mode 100644 index 0000000000..7f4605655a Binary files /dev/null and b/iOSClient/Images.xcassets/disclosureIndicator.imageset/disclosureIndicator@2x.png differ diff --git a/iOSClient/Images.xcassets/document.imageset/Contents.json b/iOSClient/Images.xcassets/document.imageset/Contents.json index 847026cf24..63f2a7bb2a 100644 --- a/iOSClient/Images.xcassets/document.imageset/Contents.json +++ b/iOSClient/Images.xcassets/document.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "document.pdf" + "filename" : "file_text.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/document.imageset/file_text.pdf b/iOSClient/Images.xcassets/document.imageset/file_text.pdf new file mode 100644 index 0000000000..95241831e1 Binary files /dev/null and b/iOSClient/Images.xcassets/document.imageset/file_text.pdf differ diff --git a/iOSClient/Images.xcassets/downArrow.imageset/Contents.json b/iOSClient/Images.xcassets/downArrow.imageset/Contents.json new file mode 100644 index 0000000000..5285b76285 --- /dev/null +++ b/iOSClient/Images.xcassets/downArrow.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "downArrow@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/downArrow.imageset/downArrow@2x.png b/iOSClient/Images.xcassets/downArrow.imageset/downArrow@2x.png new file mode 100644 index 0000000000..6da8c3c9c5 Binary files /dev/null and b/iOSClient/Images.xcassets/downArrow.imageset/downArrow@2x.png differ diff --git a/iOSClient/Images.xcassets/e2eReadPassphrase.imageset/Contents.json b/iOSClient/Images.xcassets/e2eReadPassphrase.imageset/Contents.json new file mode 100644 index 0000000000..5c0db7fa0c --- /dev/null +++ b/iOSClient/Images.xcassets/e2eReadPassphrase.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "e2eReadPassphrase.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/e2eReadPassphrase.imageset/e2eReadPassphrase.pdf b/iOSClient/Images.xcassets/e2eReadPassphrase.imageset/e2eReadPassphrase.pdf new file mode 100644 index 0000000000..d0ef6af164 Binary files /dev/null and b/iOSClient/Images.xcassets/e2eReadPassphrase.imageset/e2eReadPassphrase.pdf differ diff --git a/iOSClient/Images.xcassets/editNew.imageset/Contents.json b/iOSClient/Images.xcassets/editNew.imageset/Contents.json new file mode 100644 index 0000000000..6515cec27a --- /dev/null +++ b/iOSClient/Images.xcassets/editNew.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "editNew.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "editNew@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "editNew@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/editNew.imageset/editNew.png b/iOSClient/Images.xcassets/editNew.imageset/editNew.png new file mode 100644 index 0000000000..ff3bf49a82 Binary files /dev/null and b/iOSClient/Images.xcassets/editNew.imageset/editNew.png differ diff --git a/iOSClient/Images.xcassets/editNew.imageset/editNew@2x.png b/iOSClient/Images.xcassets/editNew.imageset/editNew@2x.png new file mode 100644 index 0000000000..46415573f0 Binary files /dev/null and b/iOSClient/Images.xcassets/editNew.imageset/editNew@2x.png differ diff --git a/iOSClient/Images.xcassets/editNew.imageset/editNew@3x.png b/iOSClient/Images.xcassets/editNew.imageset/editNew@3x.png new file mode 100644 index 0000000000..27f7dff1cf Binary files /dev/null and b/iOSClient/Images.xcassets/editNew.imageset/editNew@3x.png differ diff --git a/iOSClient/Images.xcassets/editUserProfile.imageset/Contents.json b/iOSClient/Images.xcassets/editUserProfile.imageset/Contents.json new file mode 100644 index 0000000000..16aa9d3d01 --- /dev/null +++ b/iOSClient/Images.xcassets/editUserProfile.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "editUserProfile.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/editUserProfile.imageset/editUserProfile.pdf b/iOSClient/Images.xcassets/editUserProfile.imageset/editUserProfile.pdf new file mode 100644 index 0000000000..b3fbbbd0b5 Binary files /dev/null and b/iOSClient/Images.xcassets/editUserProfile.imageset/editUserProfile.pdf differ diff --git a/iOSClient/Images.xcassets/email.imageset/Contents.json b/iOSClient/Images.xcassets/email.imageset/Contents.json new file mode 100644 index 0000000000..f8fa0bcc0b --- /dev/null +++ b/iOSClient/Images.xcassets/email.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "mail.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/email.imageset/mail.pdf b/iOSClient/Images.xcassets/email.imageset/mail.pdf new file mode 100644 index 0000000000..33d54d385e Binary files /dev/null and b/iOSClient/Images.xcassets/email.imageset/mail.pdf differ diff --git a/iOSClient/Images.xcassets/encryptedfolder.imageset/Contents.json b/iOSClient/Images.xcassets/encryptedfolder.imageset/Contents.json new file mode 100644 index 0000000000..8876bcdf0b --- /dev/null +++ b/iOSClient/Images.xcassets/encryptedfolder.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "encrypted folder.svg", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/encryptedfolder.imageset/encrypted folder.svg b/iOSClient/Images.xcassets/encryptedfolder.imageset/encrypted folder.svg new file mode 100644 index 0000000000..454ea06f3b --- /dev/null +++ b/iOSClient/Images.xcassets/encryptedfolder.imageset/encrypted folder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/favoriteSmall.imageset/Contents.json b/iOSClient/Images.xcassets/favoriteSmall.imageset/Contents.json new file mode 100644 index 0000000000..dbb4c2c5e1 --- /dev/null +++ b/iOSClient/Images.xcassets/favoriteSmall.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "videoFavoriteOn.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/favoriteSmall.imageset/videoFavoriteOn.pdf b/iOSClient/Images.xcassets/favoriteSmall.imageset/videoFavoriteOn.pdf new file mode 100644 index 0000000000..7b18400a76 Binary files /dev/null and b/iOSClient/Images.xcassets/favoriteSmall.imageset/videoFavoriteOn.pdf differ diff --git a/iOSClient/Images.xcassets/file.imageset/Contents.json b/iOSClient/Images.xcassets/file.imageset/Contents.json index 48ca8dd53d..34568170ce 100644 --- a/iOSClient/Images.xcassets/file.imageset/Contents.json +++ b/iOSClient/Images.xcassets/file.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "file.pdf" + "filename" : "file.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/file.imageset/file.pdf b/iOSClient/Images.xcassets/file.imageset/file.pdf index e629726c98..bdbe2682c2 100644 Binary files a/iOSClient/Images.xcassets/file.imageset/file.pdf and b/iOSClient/Images.xcassets/file.imageset/file.pdf differ diff --git a/iOSClient/Images.xcassets/file_application.imageset/Contents.json b/iOSClient/Images.xcassets/file_application.imageset/Contents.json new file mode 100644 index 0000000000..21599d24ec --- /dev/null +++ b/iOSClient/Images.xcassets/file_application.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file_application.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_application.imageset/file_application.pdf b/iOSClient/Images.xcassets/file_application.imageset/file_application.pdf new file mode 100644 index 0000000000..987c78d183 Binary files /dev/null and b/iOSClient/Images.xcassets/file_application.imageset/file_application.pdf differ diff --git a/iOSClient/Images.xcassets/file_audio.imageset/Contents.json b/iOSClient/Images.xcassets/file_audio.imageset/Contents.json new file mode 100644 index 0000000000..165f3569e0 --- /dev/null +++ b/iOSClient/Images.xcassets/file_audio.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file-audio.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_audio.imageset/file-audio.pdf b/iOSClient/Images.xcassets/file_audio.imageset/file-audio.pdf new file mode 100644 index 0000000000..ac39ce823a Binary files /dev/null and b/iOSClient/Images.xcassets/file_audio.imageset/file-audio.pdf differ diff --git a/iOSClient/Images.xcassets/file_code.imageset/Contents.json b/iOSClient/Images.xcassets/file_code.imageset/Contents.json new file mode 100644 index 0000000000..ebb29c2cd9 --- /dev/null +++ b/iOSClient/Images.xcassets/file_code.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file_code.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_code.imageset/file_code.pdf b/iOSClient/Images.xcassets/file_code.imageset/file_code.pdf new file mode 100644 index 0000000000..74613b5ac9 Binary files /dev/null and b/iOSClient/Images.xcassets/file_code.imageset/file_code.pdf differ diff --git a/iOSClient/Images.xcassets/file_compress.imageset/Contents.json b/iOSClient/Images.xcassets/file_compress.imageset/Contents.json new file mode 100644 index 0000000000..4a32eb8305 --- /dev/null +++ b/iOSClient/Images.xcassets/file_compress.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file_compress.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_compress.imageset/file_compress.pdf b/iOSClient/Images.xcassets/file_compress.imageset/file_compress.pdf new file mode 100644 index 0000000000..491b479d9d Binary files /dev/null and b/iOSClient/Images.xcassets/file_compress.imageset/file_compress.pdf differ diff --git a/iOSClient/Images.xcassets/file_movie.imageset/Contents.json b/iOSClient/Images.xcassets/file_movie.imageset/Contents.json new file mode 100644 index 0000000000..7993c40c5b --- /dev/null +++ b/iOSClient/Images.xcassets/file_movie.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file-video.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_movie.imageset/file-video.pdf b/iOSClient/Images.xcassets/file_movie.imageset/file-video.pdf new file mode 100644 index 0000000000..6b6a451b42 Binary files /dev/null and b/iOSClient/Images.xcassets/file_movie.imageset/file-video.pdf differ diff --git a/iOSClient/Images.xcassets/file_pdf.imageset/Contents.json b/iOSClient/Images.xcassets/file_pdf.imageset/Contents.json index 05026cff7f..2f97942cc1 100644 --- a/iOSClient/Images.xcassets/file_pdf.imageset/Contents.json +++ b/iOSClient/Images.xcassets/file_pdf.imageset/Contents.json @@ -1,12 +1,15 @@ { "images" : [ { - "filename" : "file_pdf.svg", + "filename" : "file-pdf.pdf", "idiom" : "universal" } ], "info" : { "author" : "xcode", "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/file_pdf.imageset/file-pdf.pdf b/iOSClient/Images.xcassets/file_pdf.imageset/file-pdf.pdf new file mode 100644 index 0000000000..aea9e1e55e Binary files /dev/null and b/iOSClient/Images.xcassets/file_pdf.imageset/file-pdf.pdf differ diff --git a/iOSClient/Images.xcassets/file_pdf.imageset/file_pdf.svg b/iOSClient/Images.xcassets/file_pdf.imageset/file_pdf.svg deleted file mode 100644 index 02fb207294..0000000000 --- a/iOSClient/Images.xcassets/file_pdf.imageset/file_pdf.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/iOSClient/Images.xcassets/file_photo.imageset/Contents.json b/iOSClient/Images.xcassets/file_photo.imageset/Contents.json index ca8f401824..b854b32ca4 100644 --- a/iOSClient/Images.xcassets/file_photo.imageset/Contents.json +++ b/iOSClient/Images.xcassets/file_photo.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "file_photo.pdf" + "filename" : "file_photo.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/file_photo.imageset/file_photo.pdf b/iOSClient/Images.xcassets/file_photo.imageset/file_photo.pdf index a95c3f5577..a47ec6136f 100644 Binary files a/iOSClient/Images.xcassets/file_photo.imageset/file_photo.pdf and b/iOSClient/Images.xcassets/file_photo.imageset/file_photo.pdf differ diff --git a/iOSClient/Images.xcassets/file_photo_menu.imageset/Contents.json b/iOSClient/Images.xcassets/file_photo_menu.imageset/Contents.json new file mode 100644 index 0000000000..069969d607 --- /dev/null +++ b/iOSClient/Images.xcassets/file_photo_menu.imageset/Contents.json @@ -0,0 +1,55 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "file_photo_menu.pdf", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "default copy@500w.pdf", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_photo_menu.imageset/default copy@500w.pdf b/iOSClient/Images.xcassets/file_photo_menu.imageset/default copy@500w.pdf new file mode 100644 index 0000000000..47f3245514 Binary files /dev/null and b/iOSClient/Images.xcassets/file_photo_menu.imageset/default copy@500w.pdf differ diff --git a/iOSClient/Images.xcassets/file_photo_menu.imageset/file_photo_menu.pdf b/iOSClient/Images.xcassets/file_photo_menu.imageset/file_photo_menu.pdf new file mode 100644 index 0000000000..2439cdd6b2 Binary files /dev/null and b/iOSClient/Images.xcassets/file_photo_menu.imageset/file_photo_menu.pdf differ diff --git a/iOSClient/Images.xcassets/file_ppt.imageset/Contents.json b/iOSClient/Images.xcassets/file_ppt.imageset/Contents.json new file mode 100644 index 0000000000..b976e2da22 --- /dev/null +++ b/iOSClient/Images.xcassets/file_ppt.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file_ppt.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_ppt.imageset/file_ppt.pdf b/iOSClient/Images.xcassets/file_ppt.imageset/file_ppt.pdf new file mode 100644 index 0000000000..c127187374 Binary files /dev/null and b/iOSClient/Images.xcassets/file_ppt.imageset/file_ppt.pdf differ diff --git a/iOSClient/Images.xcassets/file_txt.imageset/Contents.json b/iOSClient/Images.xcassets/file_txt.imageset/Contents.json new file mode 100644 index 0000000000..5bdfa81f6a --- /dev/null +++ b/iOSClient/Images.xcassets/file_txt.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file_txt.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_txt.imageset/file_txt.pdf b/iOSClient/Images.xcassets/file_txt.imageset/file_txt.pdf new file mode 100644 index 0000000000..bdbe2682c2 Binary files /dev/null and b/iOSClient/Images.xcassets/file_txt.imageset/file_txt.pdf differ diff --git a/iOSClient/Images.xcassets/file_txt_menu.imageset/Contents.json b/iOSClient/Images.xcassets/file_txt_menu.imageset/Contents.json new file mode 100644 index 0000000000..77bf8102f5 --- /dev/null +++ b/iOSClient/Images.xcassets/file_txt_menu.imageset/Contents.json @@ -0,0 +1,59 @@ +{ + "images" : [ + { + "filename" : "fileText.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "fileTextDark.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "fileText@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "fileTextDark@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "fileText@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "fileTextDark@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText.png b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText.png new file mode 100644 index 0000000000..2d13982ecd Binary files /dev/null and b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText.png differ diff --git a/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText@2x.png b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText@2x.png new file mode 100644 index 0000000000..be32ea9f60 Binary files /dev/null and b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText@2x.png differ diff --git a/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText@3x.png b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText@3x.png new file mode 100644 index 0000000000..73f455751b Binary files /dev/null and b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileText@3x.png differ diff --git a/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark.png b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark.png new file mode 100644 index 0000000000..03c4b10325 Binary files /dev/null and b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark.png differ diff --git a/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark@2x.png b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark@2x.png new file mode 100644 index 0000000000..3d25bf1702 Binary files /dev/null and b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark@2x.png differ diff --git a/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark@3x.png b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark@3x.png new file mode 100644 index 0000000000..32ac4b3355 Binary files /dev/null and b/iOSClient/Images.xcassets/file_txt_menu.imageset/fileTextDark@3x.png differ diff --git a/iOSClient/Images.xcassets/file_xls.imageset/Contents.json b/iOSClient/Images.xcassets/file_xls.imageset/Contents.json new file mode 100644 index 0000000000..72c7b90297 --- /dev/null +++ b/iOSClient/Images.xcassets/file_xls.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "file-calculation.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/file_xls.imageset/file-calculation.pdf b/iOSClient/Images.xcassets/file_xls.imageset/file-calculation.pdf new file mode 100644 index 0000000000..1c9642dbab Binary files /dev/null and b/iOSClient/Images.xcassets/file_xls.imageset/file-calculation.pdf differ diff --git a/iOSClient/Images.xcassets/folder-photo.imageset/Contents.json b/iOSClient/Images.xcassets/folder-photo.imageset/Contents.json new file mode 100644 index 0000000000..9384c97616 --- /dev/null +++ b/iOSClient/Images.xcassets/folder-photo.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "folder_photo.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/folder-photo.imageset/folder_photo.svg b/iOSClient/Images.xcassets/folder-photo.imageset/folder_photo.svg new file mode 100644 index 0000000000..5ba22ba6ff --- /dev/null +++ b/iOSClient/Images.xcassets/folder-photo.imageset/folder_photo.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/folder-share.imageset/Contents.json b/iOSClient/Images.xcassets/folder-share.imageset/Contents.json new file mode 100644 index 0000000000..63d2fca165 --- /dev/null +++ b/iOSClient/Images.xcassets/folder-share.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "folder_external.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/folder-share.imageset/folder_external.svg b/iOSClient/Images.xcassets/folder-share.imageset/folder_external.svg new file mode 100644 index 0000000000..5ac834c8ec --- /dev/null +++ b/iOSClient/Images.xcassets/folder-share.imageset/folder_external.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/folder.imageset/Contents.json b/iOSClient/Images.xcassets/folder.imageset/Contents.json index 68fa26d8d7..e6884f328a 100644 --- a/iOSClient/Images.xcassets/folder.imageset/Contents.json +++ b/iOSClient/Images.xcassets/folder.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "folder.svg", + "filename" : "folder (2).svg", "idiom" : "universal" } ], @@ -10,7 +10,6 @@ "version" : 1 }, "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/folder.imageset/folder (2).svg b/iOSClient/Images.xcassets/folder.imageset/folder (2).svg new file mode 100644 index 0000000000..15c3aa2d0e --- /dev/null +++ b/iOSClient/Images.xcassets/folder.imageset/folder (2).svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/folder.imageset/folder.svg b/iOSClient/Images.xcassets/folder.imageset/folder.svg deleted file mode 100644 index b3bf667783..0000000000 --- a/iOSClient/Images.xcassets/folder.imageset/folder.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/iOSClient/Images.xcassets/folder1.imageset/Contents.json b/iOSClient/Images.xcassets/folder1.imageset/Contents.json new file mode 100644 index 0000000000..8cd5c0559d --- /dev/null +++ b/iOSClient/Images.xcassets/folder1.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Folder.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/folder1.imageset/Folder.svg b/iOSClient/Images.xcassets/folder1.imageset/Folder.svg new file mode 100644 index 0000000000..1ae483cc15 --- /dev/null +++ b/iOSClient/Images.xcassets/folder1.imageset/Folder.svg @@ -0,0 +1,3 @@ + + + diff --git a/iOSClient/Images.xcassets/folder3.imageset/Contents.json b/iOSClient/Images.xcassets/folder3.imageset/Contents.json new file mode 100644 index 0000000000..6ceb844517 --- /dev/null +++ b/iOSClient/Images.xcassets/folder3.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "folder.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/folder3.imageset/folder.png b/iOSClient/Images.xcassets/folder3.imageset/folder.png new file mode 100644 index 0000000000..005b163e55 Binary files /dev/null and b/iOSClient/Images.xcassets/folder3.imageset/folder.png differ diff --git a/iOSClient/Images.xcassets/folderAutomaticUpload.imageset/Contents.json b/iOSClient/Images.xcassets/folderAutomaticUpload.imageset/Contents.json index 51ff0d5d02..9384c97616 100644 --- a/iOSClient/Images.xcassets/folderAutomaticUpload.imageset/Contents.json +++ b/iOSClient/Images.xcassets/folderAutomaticUpload.imageset/Contents.json @@ -10,7 +10,6 @@ "version" : 1 }, "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/folderAutomaticUpload.imageset/folder_photo.svg b/iOSClient/Images.xcassets/folderAutomaticUpload.imageset/folder_photo.svg index f46eb94656..5ba22ba6ff 100644 --- a/iOSClient/Images.xcassets/folderAutomaticUpload.imageset/folder_photo.svg +++ b/iOSClient/Images.xcassets/folderAutomaticUpload.imageset/folder_photo.svg @@ -1,10 +1,29 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/folderEncrypted.imageset/Contents.json b/iOSClient/Images.xcassets/folderEncrypted.imageset/Contents.json index d5a0abaa2c..78564b0b7d 100644 --- a/iOSClient/Images.xcassets/folderEncrypted.imageset/Contents.json +++ b/iOSClient/Images.xcassets/folderEncrypted.imageset/Contents.json @@ -10,7 +10,6 @@ "version" : 1 }, "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/folderEncrypted.imageset/folder_encrypted.svg b/iOSClient/Images.xcassets/folderEncrypted.imageset/folder_encrypted.svg index 4f9e6b487e..d314c4bd45 100644 --- a/iOSClient/Images.xcassets/folderEncrypted.imageset/folder_encrypted.svg +++ b/iOSClient/Images.xcassets/folderEncrypted.imageset/folder_encrypted.svg @@ -1,10 +1,28 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/folder_external.imageset/Contents.json b/iOSClient/Images.xcassets/folder_external.imageset/Contents.json index 741bbee824..63d2fca165 100644 --- a/iOSClient/Images.xcassets/folder_external.imageset/Contents.json +++ b/iOSClient/Images.xcassets/folder_external.imageset/Contents.json @@ -10,7 +10,6 @@ "version" : 1 }, "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/folder_external.imageset/folder_external.svg b/iOSClient/Images.xcassets/folder_external.imageset/folder_external.svg index c6a0db5b35..5ac834c8ec 100644 --- a/iOSClient/Images.xcassets/folder_external.imageset/folder_external.svg +++ b/iOSClient/Images.xcassets/folder_external.imageset/folder_external.svg @@ -1,10 +1,25 @@ - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/folder_group.imageset/Contents.json b/iOSClient/Images.xcassets/folder_group.imageset/Contents.json index 2c54bdc970..63d2fca165 100644 --- a/iOSClient/Images.xcassets/folder_group.imageset/Contents.json +++ b/iOSClient/Images.xcassets/folder_group.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "folder_group.svg", + "filename" : "folder_external.svg", "idiom" : "universal" } ], @@ -10,7 +10,6 @@ "version" : 1 }, "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/folder_group.imageset/folder_external.svg b/iOSClient/Images.xcassets/folder_group.imageset/folder_external.svg new file mode 100644 index 0000000000..5ac834c8ec --- /dev/null +++ b/iOSClient/Images.xcassets/folder_group.imageset/folder_external.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/folder_group.imageset/folder_group.svg b/iOSClient/Images.xcassets/folder_group.imageset/folder_group.svg deleted file mode 100644 index 960ab84ec1..0000000000 --- a/iOSClient/Images.xcassets/folder_group.imageset/folder_group.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/iOSClient/Images.xcassets/folder_nmcloud.imageset/Contents.json b/iOSClient/Images.xcassets/folder_nmcloud.imageset/Contents.json new file mode 100644 index 0000000000..e4246e87e0 --- /dev/null +++ b/iOSClient/Images.xcassets/folder_nmcloud.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "folder_nmcloud.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/folder_nmcloud.imageset/folder_nmcloud.pdf b/iOSClient/Images.xcassets/folder_nmcloud.imageset/folder_nmcloud.pdf new file mode 100644 index 0000000000..b828c52c05 Binary files /dev/null and b/iOSClient/Images.xcassets/folder_nmcloud.imageset/folder_nmcloud.pdf differ diff --git a/iOSClient/Images.xcassets/folder_public.imageset/Contents.json b/iOSClient/Images.xcassets/folder_public.imageset/Contents.json index ce84569fca..63d2fca165 100644 --- a/iOSClient/Images.xcassets/folder_public.imageset/Contents.json +++ b/iOSClient/Images.xcassets/folder_public.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "folder_link.svg", + "filename" : "folder_external.svg", "idiom" : "universal" } ], @@ -10,7 +10,6 @@ "version" : 1 }, "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/folder_public.imageset/folder_external.svg b/iOSClient/Images.xcassets/folder_public.imageset/folder_external.svg new file mode 100644 index 0000000000..5ac834c8ec --- /dev/null +++ b/iOSClient/Images.xcassets/folder_public.imageset/folder_external.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/folder_public.imageset/folder_link.svg b/iOSClient/Images.xcassets/folder_public.imageset/folder_link.svg deleted file mode 100644 index 8966f9a61a..0000000000 --- a/iOSClient/Images.xcassets/folder_public.imageset/folder_link.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/iOSClient/Images.xcassets/folder_shared_with_me.imageset/Contents.json b/iOSClient/Images.xcassets/folder_shared_with_me.imageset/Contents.json index 8b5e688724..b357d5dd0a 100644 --- a/iOSClient/Images.xcassets/folder_shared_with_me.imageset/Contents.json +++ b/iOSClient/Images.xcassets/folder_shared_with_me.imageset/Contents.json @@ -10,7 +10,6 @@ "version" : 1 }, "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" + "preserves-vector-representation" : true } } diff --git a/iOSClient/Images.xcassets/folder_shared_with_me.imageset/folder_shared_with_me.svg b/iOSClient/Images.xcassets/folder_shared_with_me.imageset/folder_shared_with_me.svg index d115211941..f6fa12915b 100644 --- a/iOSClient/Images.xcassets/folder_shared_with_me.imageset/folder_shared_with_me.svg +++ b/iOSClient/Images.xcassets/folder_shared_with_me.imageset/folder_shared_with_me.svg @@ -1,10 +1,25 @@ - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/foldersOnTop.imageset/Contents.json b/iOSClient/Images.xcassets/foldersOnTop.imageset/Contents.json new file mode 100644 index 0000000000..2f2e54e8c1 --- /dev/null +++ b/iOSClient/Images.xcassets/foldersOnTop.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "foldersOnTop.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "foldersOnTop@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "foldersOnTop@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop.png b/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop.png new file mode 100644 index 0000000000..728ecfd3a1 Binary files /dev/null and b/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop.png differ diff --git a/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop@2x.png b/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop@2x.png new file mode 100644 index 0000000000..8c0bcb63c5 Binary files /dev/null and b/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop@2x.png differ diff --git a/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop@3x.png b/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop@3x.png new file mode 100644 index 0000000000..45f64ca429 Binary files /dev/null and b/iOSClient/Images.xcassets/foldersOnTop.imageset/foldersOnTop@3x.png differ diff --git a/iOSClient/Images.xcassets/form-textbox.imageset/Contents.json b/iOSClient/Images.xcassets/form-textbox.imageset/Contents.json new file mode 100644 index 0000000000..60638382ad --- /dev/null +++ b/iOSClient/Images.xcassets/form-textbox.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "form-textbox.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/form-textbox.imageset/form-textbox.svg b/iOSClient/Images.xcassets/form-textbox.imageset/form-textbox.svg new file mode 100644 index 0000000000..d9f47d4e70 --- /dev/null +++ b/iOSClient/Images.xcassets/form-textbox.imageset/form-textbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/go-to-page.imageset/Contents.json b/iOSClient/Images.xcassets/go-to-page.imageset/Contents.json new file mode 100644 index 0000000000..684d965e60 --- /dev/null +++ b/iOSClient/Images.xcassets/go-to-page.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "go-to-page.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/go-to-page.imageset/go-to-page.pdf b/iOSClient/Images.xcassets/go-to-page.imageset/go-to-page.pdf new file mode 100644 index 0000000000..d9c8811dca Binary files /dev/null and b/iOSClient/Images.xcassets/go-to-page.imageset/go-to-page.pdf differ diff --git a/iOSClient/Images.xcassets/grid.imageset/Contents.json b/iOSClient/Images.xcassets/grid.imageset/Contents.json new file mode 100644 index 0000000000..30a6d892c1 --- /dev/null +++ b/iOSClient/Images.xcassets/grid.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "Untitled.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iOSClient/Images.xcassets/grid.imageset/Untitled.pdf b/iOSClient/Images.xcassets/grid.imageset/Untitled.pdf new file mode 100644 index 0000000000..432ec04afa Binary files /dev/null and b/iOSClient/Images.xcassets/grid.imageset/Untitled.pdf differ diff --git a/iOSClient/Images.xcassets/home.imageset/Contents.json b/iOSClient/Images.xcassets/home.imageset/Contents.json new file mode 100644 index 0000000000..7e889a6614 --- /dev/null +++ b/iOSClient/Images.xcassets/home.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Home.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/home.imageset/Home.svg b/iOSClient/Images.xcassets/home.imageset/Home.svg new file mode 100644 index 0000000000..6483799ff5 --- /dev/null +++ b/iOSClient/Images.xcassets/home.imageset/Home.svg @@ -0,0 +1,3 @@ + + + diff --git a/iOSClient/Images.xcassets/icon-calendar.imageset/Contents.json b/iOSClient/Images.xcassets/icon-calendar.imageset/Contents.json new file mode 100644 index 0000000000..830a3079bc --- /dev/null +++ b/iOSClient/Images.xcassets/icon-calendar.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icons8-calendario.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/icon-calendar.imageset/icons8-calendario.svg b/iOSClient/Images.xcassets/icon-calendar.imageset/icons8-calendario.svg new file mode 100644 index 0000000000..8146bc2cf9 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-calendar.imageset/icons8-calendario.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/icon-confirm.imageset/Contents.json b/iOSClient/Images.xcassets/icon-confirm.imageset/Contents.json new file mode 100644 index 0000000000..f208a73f87 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-confirm.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icon-confirm.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/icon-confirm.imageset/icon-confirm.svg b/iOSClient/Images.xcassets/icon-confirm.imageset/icon-confirm.svg new file mode 100644 index 0000000000..f9e268e5b3 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-confirm.imageset/icon-confirm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/icon-contacts.imageset/Contents.json b/iOSClient/Images.xcassets/icon-contacts.imageset/Contents.json new file mode 100644 index 0000000000..ca321128d9 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-contacts.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icons8-gruppo-utente-uomo-uomo.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/icon-contacts.imageset/icons8-gruppo-utente-uomo-uomo.svg b/iOSClient/Images.xcassets/icon-contacts.imageset/icons8-gruppo-utente-uomo-uomo.svg new file mode 100644 index 0000000000..927eab2467 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-contacts.imageset/icons8-gruppo-utente-uomo-uomo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/icon-deck.imageset/Contents.json b/iOSClient/Images.xcassets/icon-deck.imageset/Contents.json new file mode 100644 index 0000000000..90df8ba400 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-deck.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "deck.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/icon-deck.imageset/deck.svg b/iOSClient/Images.xcassets/icon-deck.imageset/deck.svg new file mode 100644 index 0000000000..0e36f77afc --- /dev/null +++ b/iOSClient/Images.xcassets/icon-deck.imageset/deck.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/icon-mail.imageset/Contents.json b/iOSClient/Images.xcassets/icon-mail.imageset/Contents.json new file mode 100644 index 0000000000..f08f7eaae4 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-mail.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icons8-nuovo-messaggio.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/icon-mail.imageset/icons8-nuovo-messaggio.svg b/iOSClient/Images.xcassets/icon-mail.imageset/icons8-nuovo-messaggio.svg new file mode 100644 index 0000000000..8518704a8a --- /dev/null +++ b/iOSClient/Images.xcassets/icon-mail.imageset/icons8-nuovo-messaggio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/icon-pages.imageset/Contents.json b/iOSClient/Images.xcassets/icon-pages.imageset/Contents.json new file mode 100644 index 0000000000..fe86cc0dc3 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-pages.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icon-pages.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/icon-pages.imageset/icon-pages.svg b/iOSClient/Images.xcassets/icon-pages.imageset/icon-pages.svg new file mode 100644 index 0000000000..67730faf16 --- /dev/null +++ b/iOSClient/Images.xcassets/icon-pages.imageset/icon-pages.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/icon-talk.imageset/Contents.json b/iOSClient/Images.xcassets/icon-talk.imageset/Contents.json new file mode 100644 index 0000000000..f0dc62157f --- /dev/null +++ b/iOSClient/Images.xcassets/icon-talk.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "app-dark.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/talk-template.imageset/app.svg b/iOSClient/Images.xcassets/icon-talk.imageset/app-dark.svg similarity index 92% rename from iOSClient/Images.xcassets/talk-template.imageset/app.svg rename to iOSClient/Images.xcassets/icon-talk.imageset/app-dark.svg index 024e8ca294..3e133d0a17 100644 --- a/iOSClient/Images.xcassets/talk-template.imageset/app.svg +++ b/iOSClient/Images.xcassets/icon-talk.imageset/app-dark.svg @@ -1 +1 @@ - + diff --git a/iOSClient/Images.xcassets/iconError.imageset/Contents.json b/iOSClient/Images.xcassets/iconError.imageset/Contents.json index edd808cf53..6e53abd5b4 100644 --- a/iOSClient/Images.xcassets/iconError.imageset/Contents.json +++ b/iOSClient/Images.xcassets/iconError.imageset/Contents.json @@ -1,8 +1,17 @@ { "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, { "filename" : "iconError@2x.png", - "idiom" : "universal" + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/iOSClient/Images.xcassets/iconInfo.imageset/Contents.json b/iOSClient/Images.xcassets/iconInfo.imageset/Contents.json index 43617286e3..dbc8ea0ff7 100644 --- a/iOSClient/Images.xcassets/iconInfo.imageset/Contents.json +++ b/iOSClient/Images.xcassets/iconInfo.imageset/Contents.json @@ -1,8 +1,17 @@ { "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, { "filename" : "iconInfo@2x.png", - "idiom" : "universal" + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/iOSClient/Images.xcassets/iconSuccess.imageset/Contents.json b/iOSClient/Images.xcassets/iconSuccess.imageset/Contents.json index 4fe638ca8f..f705d52525 100644 --- a/iOSClient/Images.xcassets/iconSuccess.imageset/Contents.json +++ b/iOSClient/Images.xcassets/iconSuccess.imageset/Contents.json @@ -1,8 +1,17 @@ { "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, { "filename" : "iconSuccess@2x.png", - "idiom" : "universal" + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" } ], "info" : { diff --git a/iOSClient/Images.xcassets/info.imageset/Contents.json b/iOSClient/Images.xcassets/info.imageset/Contents.json new file mode 100644 index 0000000000..ba9ee6e434 --- /dev/null +++ b/iOSClient/Images.xcassets/info.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Unknown.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/info.imageset/Unknown.svg b/iOSClient/Images.xcassets/info.imageset/Unknown.svg new file mode 100644 index 0000000000..7757cbd0fd --- /dev/null +++ b/iOSClient/Images.xcassets/info.imageset/Unknown.svg @@ -0,0 +1 @@ + diff --git a/iOSClient/Images.xcassets/local.imageset/Contents.json b/iOSClient/Images.xcassets/local.imageset/Contents.json new file mode 100644 index 0000000000..5ffe3a6eed --- /dev/null +++ b/iOSClient/Images.xcassets/local.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "local.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "local@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "local@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/local.imageset/local.png b/iOSClient/Images.xcassets/local.imageset/local.png new file mode 100644 index 0000000000..7002ef11a0 Binary files /dev/null and b/iOSClient/Images.xcassets/local.imageset/local.png differ diff --git a/iOSClient/Images.xcassets/local.imageset/local@2x.png b/iOSClient/Images.xcassets/local.imageset/local@2x.png new file mode 100644 index 0000000000..c216a43f84 Binary files /dev/null and b/iOSClient/Images.xcassets/local.imageset/local@2x.png differ diff --git a/iOSClient/Images.xcassets/local.imageset/local@3x.png b/iOSClient/Images.xcassets/local.imageset/local@3x.png new file mode 100644 index 0000000000..744db900e2 Binary files /dev/null and b/iOSClient/Images.xcassets/local.imageset/local@3x.png differ diff --git a/iOSClient/Images.xcassets/lockNew.imageset/Contents.json b/iOSClient/Images.xcassets/lockNew.imageset/Contents.json new file mode 100644 index 0000000000..ecdd3e8ab6 --- /dev/null +++ b/iOSClient/Images.xcassets/lockNew.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "lock.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "lock@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "lock@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/lockNew.imageset/lock.png b/iOSClient/Images.xcassets/lockNew.imageset/lock.png new file mode 100644 index 0000000000..32536732f6 Binary files /dev/null and b/iOSClient/Images.xcassets/lockNew.imageset/lock.png differ diff --git a/iOSClient/Images.xcassets/lockNew.imageset/lock@2x.png b/iOSClient/Images.xcassets/lockNew.imageset/lock@2x.png new file mode 100644 index 0000000000..794bdfc94b Binary files /dev/null and b/iOSClient/Images.xcassets/lockNew.imageset/lock@2x.png differ diff --git a/iOSClient/Images.xcassets/lockNew.imageset/lock@3x.png b/iOSClient/Images.xcassets/lockNew.imageset/lock@3x.png new file mode 100644 index 0000000000..985b53470e Binary files /dev/null and b/iOSClient/Images.xcassets/lockNew.imageset/lock@3x.png differ diff --git a/iOSClient/Images.xcassets/log.imageset/Contents.json b/iOSClient/Images.xcassets/log.imageset/Contents.json new file mode 100644 index 0000000000..6ed94a9c3e --- /dev/null +++ b/iOSClient/Images.xcassets/log.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "log.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/log.imageset/log.pdf b/iOSClient/Images.xcassets/log.imageset/log.pdf new file mode 100644 index 0000000000..4bd5c5c302 Binary files /dev/null and b/iOSClient/Images.xcassets/log.imageset/log.pdf differ diff --git a/iOSClient/Images.xcassets/loginPassword.imageset/Contents.json b/iOSClient/Images.xcassets/loginPassword.imageset/Contents.json new file mode 100644 index 0000000000..a417091099 --- /dev/null +++ b/iOSClient/Images.xcassets/loginPassword.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "passwordNextcloud.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "passwordNextcloud@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "passwordNextcloud@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud.png b/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud.png new file mode 100644 index 0000000000..cd3f50839c Binary files /dev/null and b/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud.png differ diff --git a/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud@2x.png b/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud@2x.png new file mode 100644 index 0000000000..5c9ab644cd Binary files /dev/null and b/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud@2x.png differ diff --git a/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud@3x.png b/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud@3x.png new file mode 100644 index 0000000000..4a9d396894 Binary files /dev/null and b/iOSClient/Images.xcassets/loginPassword.imageset/passwordNextcloud@3x.png differ diff --git a/iOSClient/Images.xcassets/loginURL.imageset/Contents.json b/iOSClient/Images.xcassets/loginURL.imageset/Contents.json new file mode 100644 index 0000000000..6de00731ba --- /dev/null +++ b/iOSClient/Images.xcassets/loginURL.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "baseurlNextcloud.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "baseurlNextcloud@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "baseurlNextcloud@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud.png b/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud.png new file mode 100644 index 0000000000..d76926e7d6 Binary files /dev/null and b/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud.png differ diff --git a/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud@2x.png b/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud@2x.png new file mode 100644 index 0000000000..9c5853d14d Binary files /dev/null and b/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud@2x.png differ diff --git a/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud@3x.png b/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud@3x.png new file mode 100644 index 0000000000..8450538e3d Binary files /dev/null and b/iOSClient/Images.xcassets/loginURL.imageset/baseurlNextcloud@3x.png differ diff --git a/iOSClient/Images.xcassets/loginUser.imageset/Contents.json b/iOSClient/Images.xcassets/loginUser.imageset/Contents.json new file mode 100644 index 0000000000..9f0cdbcee5 --- /dev/null +++ b/iOSClient/Images.xcassets/loginUser.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "userNextcloud.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "userNextcloud@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "userNextcloud@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud.png b/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud.png new file mode 100644 index 0000000000..95a6baaef1 Binary files /dev/null and b/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud.png differ diff --git a/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud@2x.png b/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud@2x.png new file mode 100644 index 0000000000..51bd35db1c Binary files /dev/null and b/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud@2x.png differ diff --git a/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud@3x.png b/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud@3x.png new file mode 100644 index 0000000000..fd54f635e6 Binary files /dev/null and b/iOSClient/Images.xcassets/loginUser.imageset/userNextcloud@3x.png differ diff --git a/iOSClient/Images.xcassets/logoPng.imageset/Contents.json b/iOSClient/Images.xcassets/logoPng.imageset/Contents.json new file mode 100644 index 0000000000..40103e4143 --- /dev/null +++ b/iOSClient/Images.xcassets/logoPng.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "logoPng 1.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/logoPng.imageset/logoPng 1.png b/iOSClient/Images.xcassets/logoPng.imageset/logoPng 1.png new file mode 100644 index 0000000000..a0402be0f4 Binary files /dev/null and b/iOSClient/Images.xcassets/logoPng.imageset/logoPng 1.png differ diff --git a/iOSClient/Images.xcassets/media.imageset/Contents.json b/iOSClient/Images.xcassets/media.imageset/Contents.json index 988c574d50..b7b772c077 100644 --- a/iOSClient/Images.xcassets/media.imageset/Contents.json +++ b/iOSClient/Images.xcassets/media.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "tabBarMedia.pdf", + "filename" : "Media.svg", "idiom" : "universal" } ], diff --git a/iOSClient/Images.xcassets/media.imageset/Media.svg b/iOSClient/Images.xcassets/media.imageset/Media.svg new file mode 100644 index 0000000000..329cb085bd --- /dev/null +++ b/iOSClient/Images.xcassets/media.imageset/Media.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/iOSClient/Images.xcassets/mediaFolder.imageset/Contents.json b/iOSClient/Images.xcassets/mediaFolder.imageset/Contents.json new file mode 100644 index 0000000000..41e2446559 --- /dev/null +++ b/iOSClient/Images.xcassets/mediaFolder.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Media Folder.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/mediaFolder.imageset/Media Folder.svg b/iOSClient/Images.xcassets/mediaFolder.imageset/Media Folder.svg new file mode 100644 index 0000000000..706a4c0856 --- /dev/null +++ b/iOSClient/Images.xcassets/mediaFolder.imageset/Media Folder.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/mediaPlay.imageset/Contents.json b/iOSClient/Images.xcassets/mediaPlay.imageset/Contents.json new file mode 100644 index 0000000000..db15d73769 --- /dev/null +++ b/iOSClient/Images.xcassets/mediaPlay.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "play.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/mediaPlay.imageset/play.png b/iOSClient/Images.xcassets/mediaPlay.imageset/play.png new file mode 100644 index 0000000000..9dfae947ea Binary files /dev/null and b/iOSClient/Images.xcassets/mediaPlay.imageset/play.png differ diff --git a/iOSClient/Images.xcassets/mediaSelected.imageset/Contents.json b/iOSClient/Images.xcassets/mediaSelected.imageset/Contents.json new file mode 100644 index 0000000000..04a08cf829 --- /dev/null +++ b/iOSClient/Images.xcassets/mediaSelected.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "mediaSelected.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/mediaSelected.imageset/mediaSelected.pdf b/iOSClient/Images.xcassets/mediaSelected.imageset/mediaSelected.pdf new file mode 100644 index 0000000000..f75f63eb82 Binary files /dev/null and b/iOSClient/Images.xcassets/mediaSelected.imageset/mediaSelected.pdf differ diff --git a/iOSClient/Images.xcassets/menuLogoUser.imageset/Contents.json b/iOSClient/Images.xcassets/menuLogoUser.imageset/Contents.json new file mode 100644 index 0000000000..02f557bf47 --- /dev/null +++ b/iOSClient/Images.xcassets/menuLogoUser.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "menuLogoUser.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "menuLogoUser@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "menuLogoUser@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser.png b/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser.png new file mode 100644 index 0000000000..1d1ca01288 Binary files /dev/null and b/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser.png differ diff --git a/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser@2x.png b/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser@2x.png new file mode 100644 index 0000000000..7dbcfa2767 Binary files /dev/null and b/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser@2x.png differ diff --git a/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser@3x.png b/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser@3x.png new file mode 100644 index 0000000000..40ed64e0ab Binary files /dev/null and b/iOSClient/Images.xcassets/menuLogoUser.imageset/menuLogoUser@3x.png differ diff --git a/iOSClient/Images.xcassets/microphoneMenu.imageset/Contents.json b/iOSClient/Images.xcassets/microphoneMenu.imageset/Contents.json new file mode 100644 index 0000000000..aeacb07630 --- /dev/null +++ b/iOSClient/Images.xcassets/microphoneMenu.imageset/Contents.json @@ -0,0 +1,55 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "microphoneMenu.pdf", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "default copy@500w.pdf", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/microphoneMenu.imageset/default copy@500w.pdf b/iOSClient/Images.xcassets/microphoneMenu.imageset/default copy@500w.pdf new file mode 100644 index 0000000000..2be53f66ca Binary files /dev/null and b/iOSClient/Images.xcassets/microphoneMenu.imageset/default copy@500w.pdf differ diff --git a/iOSClient/Images.xcassets/microphoneMenu.imageset/microphoneMenu.pdf b/iOSClient/Images.xcassets/microphoneMenu.imageset/microphoneMenu.pdf new file mode 100644 index 0000000000..9bfed5ddc2 Binary files /dev/null and b/iOSClient/Images.xcassets/microphoneMenu.imageset/microphoneMenu.pdf differ diff --git a/iOSClient/Images.xcassets/more-apps-template.imageset/Contents.json b/iOSClient/Images.xcassets/more-apps-template.imageset/Contents.json index 8a644052ac..0edbaaf97f 100644 --- a/iOSClient/Images.xcassets/more-apps-template.imageset/Contents.json +++ b/iOSClient/Images.xcassets/more-apps-template.imageset/Contents.json @@ -10,6 +10,7 @@ "version" : 1 }, "properties" : { + "preserves-vector-representation" : true, "template-rendering-intent" : "template" } } diff --git a/iOSClient/Images.xcassets/more.imageset/Contents.json b/iOSClient/Images.xcassets/more.imageset/Contents.json new file mode 100644 index 0000000000..507ac66674 --- /dev/null +++ b/iOSClient/Images.xcassets/more.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "More.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/more.imageset/More.svg b/iOSClient/Images.xcassets/more.imageset/More.svg new file mode 100644 index 0000000000..59317d1bda --- /dev/null +++ b/iOSClient/Images.xcassets/more.imageset/More.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/iOSClient/Images.xcassets/moreBig.imageset/Contents.json b/iOSClient/Images.xcassets/moreBig.imageset/Contents.json new file mode 100644 index 0000000000..2bd4f9dce3 --- /dev/null +++ b/iOSClient/Images.xcassets/moreBig.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "moreBig.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "moreBig@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "moreBig@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/moreBig.imageset/moreBig.png b/iOSClient/Images.xcassets/moreBig.imageset/moreBig.png new file mode 100644 index 0000000000..a63fd72eaf Binary files /dev/null and b/iOSClient/Images.xcassets/moreBig.imageset/moreBig.png differ diff --git a/iOSClient/Images.xcassets/moreBig.imageset/moreBig@2x.png b/iOSClient/Images.xcassets/moreBig.imageset/moreBig@2x.png new file mode 100644 index 0000000000..4dda5c1668 Binary files /dev/null and b/iOSClient/Images.xcassets/moreBig.imageset/moreBig@2x.png differ diff --git a/iOSClient/Images.xcassets/moreBig.imageset/moreBig@3x.png b/iOSClient/Images.xcassets/moreBig.imageset/moreBig@3x.png new file mode 100644 index 0000000000..1652e91f3b Binary files /dev/null and b/iOSClient/Images.xcassets/moreBig.imageset/moreBig@3x.png differ diff --git a/iOSClient/Images.xcassets/moreEmpty.imageset/Contents.json b/iOSClient/Images.xcassets/moreEmpty.imageset/Contents.json new file mode 100644 index 0000000000..608e3161e0 --- /dev/null +++ b/iOSClient/Images.xcassets/moreEmpty.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "moreEmpty.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "moreEmpty@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "moreEmpty@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty.png b/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty.png new file mode 100644 index 0000000000..f06ecbf37c Binary files /dev/null and b/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty.png differ diff --git a/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty@2x.png b/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty@2x.png new file mode 100644 index 0000000000..b004371d02 Binary files /dev/null and b/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty@2x.png differ diff --git a/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty@3x.png b/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty@3x.png new file mode 100644 index 0000000000..9ff7153798 Binary files /dev/null and b/iOSClient/Images.xcassets/moreEmpty.imageset/moreEmpty@3x.png differ diff --git a/iOSClient/Images.xcassets/move.imageset/Contents.json b/iOSClient/Images.xcassets/move.imageset/Contents.json new file mode 100644 index 0000000000..762eab10de --- /dev/null +++ b/iOSClient/Images.xcassets/move.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "actionSheetMove.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "actionSheetMove@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "actionSheetMove@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/move.imageset/actionSheetMove.png b/iOSClient/Images.xcassets/move.imageset/actionSheetMove.png new file mode 100644 index 0000000000..1bd5ec35e9 Binary files /dev/null and b/iOSClient/Images.xcassets/move.imageset/actionSheetMove.png differ diff --git a/iOSClient/Images.xcassets/move.imageset/actionSheetMove@2x.png b/iOSClient/Images.xcassets/move.imageset/actionSheetMove@2x.png new file mode 100644 index 0000000000..d25c3fd724 Binary files /dev/null and b/iOSClient/Images.xcassets/move.imageset/actionSheetMove@2x.png differ diff --git a/iOSClient/Images.xcassets/move.imageset/actionSheetMove@3x.png b/iOSClient/Images.xcassets/move.imageset/actionSheetMove@3x.png new file mode 100644 index 0000000000..afcc5b64fa Binary files /dev/null and b/iOSClient/Images.xcassets/move.imageset/actionSheetMove@3x.png differ diff --git a/iOSClient/Images.xcassets/navigationMore.imageset/Contents.json b/iOSClient/Images.xcassets/navigationMore.imageset/Contents.json new file mode 100644 index 0000000000..fa2d81caaa --- /dev/null +++ b/iOSClient/Images.xcassets/navigationMore.imageset/Contents.json @@ -0,0 +1,25 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "more-round.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iOSClient/Images.xcassets/navigationMore.imageset/more-round.png b/iOSClient/Images.xcassets/navigationMore.imageset/more-round.png new file mode 100644 index 0000000000..4440d0415f Binary files /dev/null and b/iOSClient/Images.xcassets/navigationMore.imageset/more-round.png differ diff --git a/iOSClient/Images.xcassets/navigationSort.imageset/Contents.json b/iOSClient/Images.xcassets/navigationSort.imageset/Contents.json new file mode 100644 index 0000000000..30a6d892c1 --- /dev/null +++ b/iOSClient/Images.xcassets/navigationSort.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "Untitled.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iOSClient/Images.xcassets/navigationSort.imageset/Untitled.pdf b/iOSClient/Images.xcassets/navigationSort.imageset/Untitled.pdf new file mode 100644 index 0000000000..7d1fa8c47c Binary files /dev/null and b/iOSClient/Images.xcassets/navigationSort.imageset/Untitled.pdf differ diff --git a/iOSClient/Images.xcassets/networkInProgress.imageset/Contents.json b/iOSClient/Images.xcassets/networkInProgress.imageset/Contents.json new file mode 100644 index 0000000000..5cd67041ca --- /dev/null +++ b/iOSClient/Images.xcassets/networkInProgress.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "networkInProgress.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/networkInProgress.imageset/networkInProgress.pdf b/iOSClient/Images.xcassets/networkInProgress.imageset/networkInProgress.pdf new file mode 100644 index 0000000000..5441ff5fd7 Binary files /dev/null and b/iOSClient/Images.xcassets/networkInProgress.imageset/networkInProgress.pdf differ diff --git a/iOSClient/Images.xcassets/noAlbum.imageset/Contents.json b/iOSClient/Images.xcassets/noAlbum.imageset/Contents.json new file mode 100644 index 0000000000..7bdd75cdd9 --- /dev/null +++ b/iOSClient/Images.xcassets/noAlbum.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "No albums view.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOSClient/Images.xcassets/noAlbum.imageset/No albums view.svg b/iOSClient/Images.xcassets/noAlbum.imageset/No albums view.svg new file mode 100644 index 0000000000..1f9decaf66 --- /dev/null +++ b/iOSClient/Images.xcassets/noAlbum.imageset/No albums view.svg @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/noPreview.imageset/Contents.json b/iOSClient/Images.xcassets/noPreview.imageset/Contents.json new file mode 100644 index 0000000000..05a0360065 --- /dev/null +++ b/iOSClient/Images.xcassets/noPreview.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "noPreview.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/noPreview.imageset/noPreview.pdf b/iOSClient/Images.xcassets/noPreview.imageset/noPreview.pdf new file mode 100644 index 0000000000..321ef3dab5 Binary files /dev/null and b/iOSClient/Images.xcassets/noPreview.imageset/noPreview.pdf differ diff --git a/iOSClient/Images.xcassets/noPreviewAudio.imageset/Contents.json b/iOSClient/Images.xcassets/noPreviewAudio.imageset/Contents.json new file mode 100644 index 0000000000..2854571244 --- /dev/null +++ b/iOSClient/Images.xcassets/noPreviewAudio.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "noPreviewAudio.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/noPreviewAudio.imageset/noPreviewAudio.pdf b/iOSClient/Images.xcassets/noPreviewAudio.imageset/noPreviewAudio.pdf new file mode 100644 index 0000000000..4e5cb56cba Binary files /dev/null and b/iOSClient/Images.xcassets/noPreviewAudio.imageset/noPreviewAudio.pdf differ diff --git a/iOSClient/Images.xcassets/noPreviewVideo.imageset/Contents.json b/iOSClient/Images.xcassets/noPreviewVideo.imageset/Contents.json new file mode 100644 index 0000000000..c3002c4769 --- /dev/null +++ b/iOSClient/Images.xcassets/noPreviewVideo.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "noPreviewVideo.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/noPreviewVideo.imageset/noPreviewVideo.pdf b/iOSClient/Images.xcassets/noPreviewVideo.imageset/noPreviewVideo.pdf new file mode 100644 index 0000000000..f710e31f4d Binary files /dev/null and b/iOSClient/Images.xcassets/noPreviewVideo.imageset/noPreviewVideo.pdf differ diff --git a/iOSClient/Images.xcassets/nocamera.imageset/Contents.json b/iOSClient/Images.xcassets/nocamera.imageset/Contents.json new file mode 100644 index 0000000000..bb3acc21fa --- /dev/null +++ b/iOSClient/Images.xcassets/nocamera.imageset/Contents.json @@ -0,0 +1,24 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "default@500w.pdf", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/nocamera.imageset/default@500w.pdf b/iOSClient/Images.xcassets/nocamera.imageset/default@500w.pdf new file mode 100644 index 0000000000..429fd3fa2c Binary files /dev/null and b/iOSClient/Images.xcassets/nocamera.imageset/default@500w.pdf differ diff --git a/iOSClient/Images.xcassets/nonetwork.imageset/Contents.json b/iOSClient/Images.xcassets/nonetwork.imageset/Contents.json new file mode 100644 index 0000000000..34ae16431f --- /dev/null +++ b/iOSClient/Images.xcassets/nonetwork.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "nonetwork.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/nonetwork.imageset/nonetwork.pdf b/iOSClient/Images.xcassets/nonetwork.imageset/nonetwork.pdf new file mode 100644 index 0000000000..777d945c77 Binary files /dev/null and b/iOSClient/Images.xcassets/nonetwork.imageset/nonetwork.pdf differ diff --git a/iOSClient/Images.xcassets/notaMusic.imageset/Contents.json b/iOSClient/Images.xcassets/notaMusic.imageset/Contents.json new file mode 100644 index 0000000000..857154c7de --- /dev/null +++ b/iOSClient/Images.xcassets/notaMusic.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "notaMusic.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "notaMusic@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "notaMusic@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic.png b/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic.png new file mode 100644 index 0000000000..1cd41c8713 Binary files /dev/null and b/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic.png differ diff --git a/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic@2x.png b/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic@2x.png new file mode 100644 index 0000000000..aed44f6548 Binary files /dev/null and b/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic@2x.png differ diff --git a/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic@3x.png b/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic@3x.png new file mode 100644 index 0000000000..bd918083c6 Binary files /dev/null and b/iOSClient/Images.xcassets/notaMusic.imageset/notaMusic@3x.png differ diff --git a/iOSClient/Images.xcassets/notes-template.imageset/Contents.json b/iOSClient/Images.xcassets/notes-template.imageset/Contents.json index b70d5069c1..ec2638bfc7 100644 --- a/iOSClient/Images.xcassets/notes-template.imageset/Contents.json +++ b/iOSClient/Images.xcassets/notes-template.imageset/Contents.json @@ -10,6 +10,7 @@ "version" : 1 }, "properties" : { + "preserves-vector-representation" : true, "template-rendering-intent" : "template" } } diff --git a/iOSClient/Images.xcassets/notification.imageset/Contents.json b/iOSClient/Images.xcassets/notification.imageset/Contents.json new file mode 100644 index 0000000000..da621b2a42 --- /dev/null +++ b/iOSClient/Images.xcassets/notification.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "bell.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/notification.imageset/bell.pdf b/iOSClient/Images.xcassets/notification.imageset/bell.pdf new file mode 100644 index 0000000000..a98f3182ab Binary files /dev/null and b/iOSClient/Images.xcassets/notification.imageset/bell.pdf differ diff --git a/iOSClient/Images.xcassets/offOutlineAudio.imageset/Contents.json b/iOSClient/Images.xcassets/offOutlineAudio.imageset/Contents.json new file mode 100644 index 0000000000..ffec73c69f --- /dev/null +++ b/iOSClient/Images.xcassets/offOutlineAudio.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Untitled.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/offOutlineAudio.imageset/Untitled.pdf b/iOSClient/Images.xcassets/offOutlineAudio.imageset/Untitled.pdf new file mode 100644 index 0000000000..bef40d5022 Binary files /dev/null and b/iOSClient/Images.xcassets/offOutlineAudio.imageset/Untitled.pdf differ diff --git a/iOSClient/Images.xcassets/offOutlineImage.imageset/Contents.json b/iOSClient/Images.xcassets/offOutlineImage.imageset/Contents.json new file mode 100644 index 0000000000..553851a06f --- /dev/null +++ b/iOSClient/Images.xcassets/offOutlineImage.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "image.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/offOutlineImage.imageset/image.pdf b/iOSClient/Images.xcassets/offOutlineImage.imageset/image.pdf new file mode 100644 index 0000000000..e46da2947e Binary files /dev/null and b/iOSClient/Images.xcassets/offOutlineImage.imageset/image.pdf differ diff --git a/iOSClient/Images.xcassets/offOutlineVideo.imageset/Contents.json b/iOSClient/Images.xcassets/offOutlineVideo.imageset/Contents.json new file mode 100644 index 0000000000..ffec73c69f --- /dev/null +++ b/iOSClient/Images.xcassets/offOutlineVideo.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Untitled.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/offOutlineVideo.imageset/Untitled.pdf b/iOSClient/Images.xcassets/offOutlineVideo.imageset/Untitled.pdf new file mode 100644 index 0000000000..6174b23e81 Binary files /dev/null and b/iOSClient/Images.xcassets/offOutlineVideo.imageset/Untitled.pdf differ diff --git a/iOSClient/Images.xcassets/offlineFlag.imageset/Contents.json b/iOSClient/Images.xcassets/offlineFlag.imageset/Contents.json new file mode 100644 index 0000000000..a66d8bacff --- /dev/null +++ b/iOSClient/Images.xcassets/offlineFlag.imageset/Contents.json @@ -0,0 +1,59 @@ +{ + "images" : [ + { + "filename" : "offlineFlagD.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "offlineFlag 1.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "offlineFlagD@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "offlineFlag@2x 1.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "offlineFlagD@3x.png", + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "offlineFlag@3x 1.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag 1.png b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag 1.png new file mode 100644 index 0000000000..92508fbf3f Binary files /dev/null and b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag 1.png differ diff --git a/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag@2x 1.png b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag@2x 1.png new file mode 100644 index 0000000000..3bc47bb8f2 Binary files /dev/null and b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag@2x 1.png differ diff --git a/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag@3x 1.png b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag@3x 1.png new file mode 100644 index 0000000000..306d0499ec Binary files /dev/null and b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlag@3x 1.png differ diff --git a/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD.png b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD.png new file mode 100644 index 0000000000..760a94c27f Binary files /dev/null and b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD.png differ diff --git a/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD@2x.png b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD@2x.png new file mode 100644 index 0000000000..ea83af70d5 Binary files /dev/null and b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD@2x.png differ diff --git a/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD@3x.png b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD@3x.png new file mode 100644 index 0000000000..1adf1bebdd Binary files /dev/null and b/iOSClient/Images.xcassets/offlineFlag.imageset/offlineFlagD@3x.png differ diff --git a/iOSClient/Images.xcassets/offlineMenu.imageset/Contents.json b/iOSClient/Images.xcassets/offlineMenu.imageset/Contents.json new file mode 100644 index 0000000000..0fead39b1f --- /dev/null +++ b/iOSClient/Images.xcassets/offlineMenu.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "default@500w.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/offlineMenu.imageset/default@500w.pdf b/iOSClient/Images.xcassets/offlineMenu.imageset/default@500w.pdf new file mode 100644 index 0000000000..8655164ae6 Binary files /dev/null and b/iOSClient/Images.xcassets/offlineMenu.imageset/default@500w.pdf differ diff --git a/iOSClient/Images.xcassets/open_file.imageset/Contents.json b/iOSClient/Images.xcassets/open_file.imageset/Contents.json new file mode 100644 index 0000000000..0ac1a05503 --- /dev/null +++ b/iOSClient/Images.xcassets/open_file.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "openFile.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "openFile@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "openFile@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/open_file.imageset/openFile.png b/iOSClient/Images.xcassets/open_file.imageset/openFile.png new file mode 100644 index 0000000000..0f76ce12bc Binary files /dev/null and b/iOSClient/Images.xcassets/open_file.imageset/openFile.png differ diff --git a/iOSClient/Images.xcassets/open_file.imageset/openFile@2x.png b/iOSClient/Images.xcassets/open_file.imageset/openFile@2x.png new file mode 100644 index 0000000000..2f4e286f6f Binary files /dev/null and b/iOSClient/Images.xcassets/open_file.imageset/openFile@2x.png differ diff --git a/iOSClient/Images.xcassets/open_file.imageset/openFile@3x.png b/iOSClient/Images.xcassets/open_file.imageset/openFile@3x.png new file mode 100644 index 0000000000..5a0f7be299 Binary files /dev/null and b/iOSClient/Images.xcassets/open_file.imageset/openFile@3x.png differ diff --git a/iOSClient/Images.xcassets/palette.imageset/Contents.json b/iOSClient/Images.xcassets/palette.imageset/Contents.json new file mode 100644 index 0000000000..6601935c6f --- /dev/null +++ b/iOSClient/Images.xcassets/palette.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "palette.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/palette.imageset/palette.svg b/iOSClient/Images.xcassets/palette.imageset/palette.svg new file mode 100644 index 0000000000..6ded5cbb6c --- /dev/null +++ b/iOSClient/Images.xcassets/palette.imageset/palette.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/passcode.imageset/Contents.json b/iOSClient/Images.xcassets/passcode.imageset/Contents.json new file mode 100644 index 0000000000..63ca80e76c --- /dev/null +++ b/iOSClient/Images.xcassets/passcode.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "passcode.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "passcode@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "passcode@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/passcode.imageset/passcode.png b/iOSClient/Images.xcassets/passcode.imageset/passcode.png new file mode 100644 index 0000000000..41a50a2571 Binary files /dev/null and b/iOSClient/Images.xcassets/passcode.imageset/passcode.png differ diff --git a/iOSClient/Images.xcassets/passcode.imageset/passcode@2x.png b/iOSClient/Images.xcassets/passcode.imageset/passcode@2x.png new file mode 100644 index 0000000000..1a7859c3c8 Binary files /dev/null and b/iOSClient/Images.xcassets/passcode.imageset/passcode@2x.png differ diff --git a/iOSClient/Images.xcassets/passcode.imageset/passcode@3x.png b/iOSClient/Images.xcassets/passcode.imageset/passcode@3x.png new file mode 100644 index 0000000000..b83b8f904a Binary files /dev/null and b/iOSClient/Images.xcassets/passcode.imageset/passcode@3x.png differ diff --git a/iOSClient/Images.xcassets/phone.imageset/Contents.json b/iOSClient/Images.xcassets/phone.imageset/Contents.json index 1bdf7a5d95..5e8057ea9c 100644 --- a/iOSClient/Images.xcassets/phone.imageset/Contents.json +++ b/iOSClient/Images.xcassets/phone.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "phone.pdf" + "filename" : "phone.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/photo.imageset/Contents.json b/iOSClient/Images.xcassets/photo.imageset/Contents.json index 0918d9d103..9c08a85ff8 100644 --- a/iOSClient/Images.xcassets/photo.imageset/Contents.json +++ b/iOSClient/Images.xcassets/photo.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "photo.pdf", + "filename" : "Photo Camera.svg", "idiom" : "universal" } ], diff --git a/iOSClient/Images.xcassets/photo.imageset/Photo Camera.svg b/iOSClient/Images.xcassets/photo.imageset/Photo Camera.svg new file mode 100644 index 0000000000..8ba30a606c --- /dev/null +++ b/iOSClient/Images.xcassets/photo.imageset/Photo Camera.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/pip.enter.imageset/Contents.json b/iOSClient/Images.xcassets/pip.enter.imageset/Contents.json new file mode 100644 index 0000000000..d737f573c8 --- /dev/null +++ b/iOSClient/Images.xcassets/pip.enter.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "pip.enter.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/pip.enter.imageset/pip.enter.svg b/iOSClient/Images.xcassets/pip.enter.imageset/pip.enter.svg new file mode 100644 index 0000000000..8fa725a8ba --- /dev/null +++ b/iOSClient/Images.xcassets/pip.enter.imageset/pip.enter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/printer.imageset/Contents.json b/iOSClient/Images.xcassets/printer.imageset/Contents.json new file mode 100644 index 0000000000..d92ed2c7e6 --- /dev/null +++ b/iOSClient/Images.xcassets/printer.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "print.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/printer.imageset/print.svg b/iOSClient/Images.xcassets/printer.imageset/print.svg new file mode 100644 index 0000000000..1eac5337a8 --- /dev/null +++ b/iOSClient/Images.xcassets/printer.imageset/print.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/qrcode.imageset/Contents.json b/iOSClient/Images.xcassets/qrcode.imageset/Contents.json new file mode 100644 index 0000000000..3d370c566d --- /dev/null +++ b/iOSClient/Images.xcassets/qrcode.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "qrcode.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/qrcode.imageset/qrcode.pdf b/iOSClient/Images.xcassets/qrcode.imageset/qrcode.pdf new file mode 100644 index 0000000000..d2c7194a64 Binary files /dev/null and b/iOSClient/Images.xcassets/qrcode.imageset/qrcode.pdf differ diff --git a/iOSClient/Images.xcassets/ratio-grid.imageset/Contents.json b/iOSClient/Images.xcassets/ratio-grid.imageset/Contents.json new file mode 100644 index 0000000000..0ffb743d79 --- /dev/null +++ b/iOSClient/Images.xcassets/ratio-grid.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "ratio-grid.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/ratio-grid.imageset/ratio-grid.svg b/iOSClient/Images.xcassets/ratio-grid.imageset/ratio-grid.svg new file mode 100644 index 0000000000..7558d2dfee --- /dev/null +++ b/iOSClient/Images.xcassets/ratio-grid.imageset/ratio-grid.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/recent.imageset/Contents.json b/iOSClient/Images.xcassets/recent.imageset/Contents.json new file mode 100644 index 0000000000..2bc0d95477 --- /dev/null +++ b/iOSClient/Images.xcassets/recent.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "recent.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/recent.imageset/recent.pdf b/iOSClient/Images.xcassets/recent.imageset/recent.pdf new file mode 100644 index 0000000000..496833c975 Binary files /dev/null and b/iOSClient/Images.xcassets/recent.imageset/recent.pdf differ diff --git a/iOSClient/Images.xcassets/rename.imageset/Contents.json b/iOSClient/Images.xcassets/rename.imageset/Contents.json new file mode 100644 index 0000000000..c07df06ddf --- /dev/null +++ b/iOSClient/Images.xcassets/rename.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Rename.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/rename.imageset/Rename.svg b/iOSClient/Images.xcassets/rename.imageset/Rename.svg new file mode 100644 index 0000000000..ee42a2476c --- /dev/null +++ b/iOSClient/Images.xcassets/rename.imageset/Rename.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/rename1.imageset/Contents.json b/iOSClient/Images.xcassets/rename1.imageset/Contents.json new file mode 100644 index 0000000000..e517f6da38 --- /dev/null +++ b/iOSClient/Images.xcassets/rename1.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "actionSheetRename.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "actionSheetRename@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "actionSheetRename@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename.png b/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename.png new file mode 100644 index 0000000000..ff3bf49a82 Binary files /dev/null and b/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename.png differ diff --git a/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename@2x.png b/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename@2x.png new file mode 100644 index 0000000000..46415573f0 Binary files /dev/null and b/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename@2x.png differ diff --git a/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename@3x.png b/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename@3x.png new file mode 100644 index 0000000000..27f7dff1cf Binary files /dev/null and b/iOSClient/Images.xcassets/rename1.imageset/actionSheetRename@3x.png differ diff --git a/iOSClient/Images.xcassets/restore.imageset/Contents.json b/iOSClient/Images.xcassets/restore.imageset/Contents.json new file mode 100644 index 0000000000..74570520e4 --- /dev/null +++ b/iOSClient/Images.xcassets/restore.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "restore.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "restore@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "restore@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/restore.imageset/restore.png b/iOSClient/Images.xcassets/restore.imageset/restore.png new file mode 100644 index 0000000000..04da83267c Binary files /dev/null and b/iOSClient/Images.xcassets/restore.imageset/restore.png differ diff --git a/iOSClient/Images.xcassets/restore.imageset/restore@2x.png b/iOSClient/Images.xcassets/restore.imageset/restore@2x.png new file mode 100644 index 0000000000..01cbc53d57 Binary files /dev/null and b/iOSClient/Images.xcassets/restore.imageset/restore@2x.png differ diff --git a/iOSClient/Images.xcassets/restore.imageset/restore@3x.png b/iOSClient/Images.xcassets/restore.imageset/restore@3x.png new file mode 100644 index 0000000000..c02e1e8291 Binary files /dev/null and b/iOSClient/Images.xcassets/restore.imageset/restore@3x.png differ diff --git a/iOSClient/Images.xcassets/rightArrow.imageset/Contents.json b/iOSClient/Images.xcassets/rightArrow.imageset/Contents.json new file mode 100644 index 0000000000..510e8d52d3 --- /dev/null +++ b/iOSClient/Images.xcassets/rightArrow.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "rightArrow.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "rightArrow@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "rightArrow@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow.png b/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow.png new file mode 100644 index 0000000000..dc70ac1d46 Binary files /dev/null and b/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow.png differ diff --git a/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow@2x.png b/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow@2x.png new file mode 100644 index 0000000000..a472f58c1c Binary files /dev/null and b/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow@2x.png differ diff --git a/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow@3x.png b/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow@3x.png new file mode 100644 index 0000000000..38fd1b6bbe Binary files /dev/null and b/iOSClient/Images.xcassets/rightArrow.imageset/rightArrow@3x.png differ diff --git a/iOSClient/Images.xcassets/role.imageset/Contents.json b/iOSClient/Images.xcassets/role.imageset/Contents.json new file mode 100644 index 0000000000..4f564441c9 --- /dev/null +++ b/iOSClient/Images.xcassets/role.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "role.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/role.imageset/role.pdf b/iOSClient/Images.xcassets/role.imageset/role.pdf new file mode 100644 index 0000000000..9f7dcfb04f Binary files /dev/null and b/iOSClient/Images.xcassets/role.imageset/role.pdf differ diff --git a/iOSClient/Images.xcassets/rotate.imageset/Contents.json b/iOSClient/Images.xcassets/rotate.imageset/Contents.json new file mode 100644 index 0000000000..6ef84edb13 --- /dev/null +++ b/iOSClient/Images.xcassets/rotate.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "rotate.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "rotate@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "rotate@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/rotate.imageset/rotate.png b/iOSClient/Images.xcassets/rotate.imageset/rotate.png new file mode 100644 index 0000000000..05bc26fc89 Binary files /dev/null and b/iOSClient/Images.xcassets/rotate.imageset/rotate.png differ diff --git a/iOSClient/Images.xcassets/rotate.imageset/rotate@2x.png b/iOSClient/Images.xcassets/rotate.imageset/rotate@2x.png new file mode 100644 index 0000000000..0fbf592dd2 Binary files /dev/null and b/iOSClient/Images.xcassets/rotate.imageset/rotate@2x.png differ diff --git a/iOSClient/Images.xcassets/rotate.imageset/rotate@3x.png b/iOSClient/Images.xcassets/rotate.imageset/rotate@3x.png new file mode 100644 index 0000000000..b840562baa Binary files /dev/null and b/iOSClient/Images.xcassets/rotate.imageset/rotate@3x.png differ diff --git a/iOSClient/Images.xcassets/save_files.imageset/Contents.json b/iOSClient/Images.xcassets/save_files.imageset/Contents.json new file mode 100644 index 0000000000..052394eece --- /dev/null +++ b/iOSClient/Images.xcassets/save_files.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "saveSelectedFiles.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "saveSelectedFiles@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "saveSelectedFiles@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles.png b/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles.png new file mode 100644 index 0000000000..590c922f4e Binary files /dev/null and b/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles.png differ diff --git a/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles@2x.png b/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles@2x.png new file mode 100644 index 0000000000..589eeb56c2 Binary files /dev/null and b/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles@2x.png differ diff --git a/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles@3x.png b/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles@3x.png new file mode 100644 index 0000000000..4d1f750642 Binary files /dev/null and b/iOSClient/Images.xcassets/save_files.imageset/saveSelectedFiles@3x.png differ diff --git a/iOSClient/Images.xcassets/scan.imageset/Contents.json b/iOSClient/Images.xcassets/scan.imageset/Contents.json new file mode 100644 index 0000000000..a6a3f825de --- /dev/null +++ b/iOSClient/Images.xcassets/scan.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Scan.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/scan.imageset/Scan.svg b/iOSClient/Images.xcassets/scan.imageset/Scan.svg new file mode 100644 index 0000000000..06a9e5c36d --- /dev/null +++ b/iOSClient/Images.xcassets/scan.imageset/Scan.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/scan2.imageset/Contents.json b/iOSClient/Images.xcassets/scan2.imageset/Contents.json new file mode 100644 index 0000000000..8776a75678 --- /dev/null +++ b/iOSClient/Images.xcassets/scan2.imageset/Contents.json @@ -0,0 +1,25 @@ +{ + "images" : [ + { + "filename" : "default@500w.pdf", + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "default copy@500w.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/scan2.imageset/default copy@500w.pdf b/iOSClient/Images.xcassets/scan2.imageset/default copy@500w.pdf new file mode 100644 index 0000000000..9731102ea6 Binary files /dev/null and b/iOSClient/Images.xcassets/scan2.imageset/default copy@500w.pdf differ diff --git a/iOSClient/Images.xcassets/scan2.imageset/default@500w.pdf b/iOSClient/Images.xcassets/scan2.imageset/default@500w.pdf new file mode 100644 index 0000000000..118d570d99 Binary files /dev/null and b/iOSClient/Images.xcassets/scan2.imageset/default@500w.pdf differ diff --git a/iOSClient/Images.xcassets/search.imageset/Contents.json b/iOSClient/Images.xcassets/search.imageset/Contents.json new file mode 100644 index 0000000000..185401890b --- /dev/null +++ b/iOSClient/Images.xcassets/search.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Search.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/search.imageset/Search.svg b/iOSClient/Images.xcassets/search.imageset/Search.svg new file mode 100644 index 0000000000..ff0349fe0e --- /dev/null +++ b/iOSClient/Images.xcassets/search.imageset/Search.svg @@ -0,0 +1,3 @@ + + + diff --git a/iOSClient/Images.xcassets/search1.imageset/Contents.json b/iOSClient/Images.xcassets/search1.imageset/Contents.json new file mode 100644 index 0000000000..3d5d15a566 --- /dev/null +++ b/iOSClient/Images.xcassets/search1.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "search.pdf", + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "searchDark.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "original" + } +} diff --git a/iOSClient/Images.xcassets/search1.imageset/search.pdf b/iOSClient/Images.xcassets/search1.imageset/search.pdf new file mode 100644 index 0000000000..b96af4459e Binary files /dev/null and b/iOSClient/Images.xcassets/search1.imageset/search.pdf differ diff --git a/iOSClient/Images.xcassets/search1.imageset/searchDark.pdf b/iOSClient/Images.xcassets/search1.imageset/searchDark.pdf new file mode 100644 index 0000000000..313042ee07 Binary files /dev/null and b/iOSClient/Images.xcassets/search1.imageset/searchDark.pdf differ diff --git a/iOSClient/Images.xcassets/select.imageset/1.pdf b/iOSClient/Images.xcassets/select.imageset/1.pdf new file mode 100644 index 0000000000..70a7d0de4f Binary files /dev/null and b/iOSClient/Images.xcassets/select.imageset/1.pdf differ diff --git a/iOSClient/Images.xcassets/select.imageset/Contents.json b/iOSClient/Images.xcassets/select.imageset/Contents.json new file mode 100644 index 0000000000..2c5e7a0f23 --- /dev/null +++ b/iOSClient/Images.xcassets/select.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "1.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/selectFull.imageset/Contents.json b/iOSClient/Images.xcassets/selectFull.imageset/Contents.json new file mode 100644 index 0000000000..0fead39b1f --- /dev/null +++ b/iOSClient/Images.xcassets/selectFull.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "default@500w.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/selectFull.imageset/default@500w.pdf b/iOSClient/Images.xcassets/selectFull.imageset/default@500w.pdf new file mode 100644 index 0000000000..45d5146a5e Binary files /dev/null and b/iOSClient/Images.xcassets/selectFull.imageset/default@500w.pdf differ diff --git a/iOSClient/Images.xcassets/selectLight.imageset/Contents.json b/iOSClient/Images.xcassets/selectLight.imageset/Contents.json new file mode 100644 index 0000000000..d3c1617fa3 --- /dev/null +++ b/iOSClient/Images.xcassets/selectLight.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "selectLight.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/selectLight.imageset/selectLight.png b/iOSClient/Images.xcassets/selectLight.imageset/selectLight.png new file mode 100644 index 0000000000..eff8324be3 Binary files /dev/null and b/iOSClient/Images.xcassets/selectLight.imageset/selectLight.png differ diff --git a/iOSClient/Images.xcassets/settings.imageset/Contents.json b/iOSClient/Images.xcassets/settings.imageset/Contents.json new file mode 100644 index 0000000000..4f0608d4cf --- /dev/null +++ b/iOSClient/Images.xcassets/settings.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Settings.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/settings.imageset/Settings.svg b/iOSClient/Images.xcassets/settings.imageset/Settings.svg new file mode 100644 index 0000000000..77bb0134b4 --- /dev/null +++ b/iOSClient/Images.xcassets/settings.imageset/Settings.svg @@ -0,0 +1,3 @@ + + + diff --git a/iOSClient/Images.xcassets/settings1.imageset/Contents.json b/iOSClient/Images.xcassets/settings1.imageset/Contents.json new file mode 100644 index 0000000000..8dfa77c79d --- /dev/null +++ b/iOSClient/Images.xcassets/settings1.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "gear.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/settings1.imageset/gear.pdf b/iOSClient/Images.xcassets/settings1.imageset/gear.pdf new file mode 100644 index 0000000000..7182936e45 Binary files /dev/null and b/iOSClient/Images.xcassets/settings1.imageset/gear.pdf differ diff --git a/iOSClient/Images.xcassets/share.imageset/Contents.json b/iOSClient/Images.xcassets/share.imageset/Contents.json new file mode 100644 index 0000000000..8b20e15a8f --- /dev/null +++ b/iOSClient/Images.xcassets/share.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "Share.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iOSClient/Images.xcassets/share.imageset/Share.svg b/iOSClient/Images.xcassets/share.imageset/Share.svg new file mode 100644 index 0000000000..c33730ca01 --- /dev/null +++ b/iOSClient/Images.xcassets/share.imageset/Share.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/shareAdd.imageset/Contents.json b/iOSClient/Images.xcassets/shareAdd.imageset/Contents.json new file mode 100644 index 0000000000..ac57968087 --- /dev/null +++ b/iOSClient/Images.xcassets/shareAdd.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "shareAdd.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shareAdd.imageset/shareAdd.pdf b/iOSClient/Images.xcassets/shareAdd.imageset/shareAdd.pdf new file mode 100644 index 0000000000..7a8c5c9193 Binary files /dev/null and b/iOSClient/Images.xcassets/shareAdd.imageset/shareAdd.pdf differ diff --git a/iOSClient/Images.xcassets/shareCopy.imageset/Contents.json b/iOSClient/Images.xcassets/shareCopy.imageset/Contents.json index 7bb54b538a..35821977f7 100644 --- a/iOSClient/Images.xcassets/shareCopy.imageset/Contents.json +++ b/iOSClient/Images.xcassets/shareCopy.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "shareCopy.pdf" + "filename" : "shareCopy.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/shareFill.imageset/Contents.json b/iOSClient/Images.xcassets/shareFill.imageset/Contents.json new file mode 100644 index 0000000000..5d0e2aab26 --- /dev/null +++ b/iOSClient/Images.xcassets/shareFill.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "share.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shareFill.imageset/share.pdf b/iOSClient/Images.xcassets/shareFill.imageset/share.pdf new file mode 100644 index 0000000000..a1a4c9c1a2 Binary files /dev/null and b/iOSClient/Images.xcassets/shareFill.imageset/share.pdf differ diff --git a/iOSClient/Images.xcassets/shareInternalLink.imageset/Contents.json b/iOSClient/Images.xcassets/shareInternalLink.imageset/Contents.json new file mode 100644 index 0000000000..f5b01a429b --- /dev/null +++ b/iOSClient/Images.xcassets/shareInternalLink.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "shareInternalLink.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shareInternalLink.imageset/shareInternalLink.pdf b/iOSClient/Images.xcassets/shareInternalLink.imageset/shareInternalLink.pdf new file mode 100644 index 0000000000..12ca2227f5 Binary files /dev/null and b/iOSClient/Images.xcassets/shareInternalLink.imageset/shareInternalLink.pdf differ diff --git a/iOSClient/Images.xcassets/shareMenu.imageset/Contents.json b/iOSClient/Images.xcassets/shareMenu.imageset/Contents.json new file mode 100644 index 0000000000..c352569fd2 --- /dev/null +++ b/iOSClient/Images.xcassets/shareMenu.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "shareMenu.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shareMenu.imageset/shareMenu.pdf b/iOSClient/Images.xcassets/shareMenu.imageset/shareMenu.pdf new file mode 100644 index 0000000000..46c899f329 Binary files /dev/null and b/iOSClient/Images.xcassets/shareMenu.imageset/shareMenu.pdf differ diff --git a/iOSClient/Images.xcassets/shareMounted.imageset/Contents.json b/iOSClient/Images.xcassets/shareMounted.imageset/Contents.json new file mode 100644 index 0000000000..e77aca5b66 --- /dev/null +++ b/iOSClient/Images.xcassets/shareMounted.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "shareMounted.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shareMounted.imageset/shareMounted.pdf b/iOSClient/Images.xcassets/shareMounted.imageset/shareMounted.pdf new file mode 100644 index 0000000000..53c160d2c1 Binary files /dev/null and b/iOSClient/Images.xcassets/shareMounted.imageset/shareMounted.pdf differ diff --git a/iOSClient/Images.xcassets/shareOld.imageset/Contents.json b/iOSClient/Images.xcassets/shareOld.imageset/Contents.json new file mode 100644 index 0000000000..5d0e2aab26 --- /dev/null +++ b/iOSClient/Images.xcassets/shareOld.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "share.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shareOld.imageset/share.pdf b/iOSClient/Images.xcassets/shareOld.imageset/share.pdf new file mode 100644 index 0000000000..a1a4c9c1a2 Binary files /dev/null and b/iOSClient/Images.xcassets/shareOld.imageset/share.pdf differ diff --git a/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/Contents.json b/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/Contents.json new file mode 100644 index 0000000000..1d44c683b2 --- /dev/null +++ b/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "share.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "sharePhotoBrowser@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "share@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/share.png b/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/share.png new file mode 100644 index 0000000000..6c262ee817 Binary files /dev/null and b/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/share.png differ diff --git a/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/share@3x.png b/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/share@3x.png new file mode 100644 index 0000000000..56205c9bbf Binary files /dev/null and b/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/share@3x.png differ diff --git a/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/sharePhotoBrowser@2x.png b/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/sharePhotoBrowser@2x.png new file mode 100644 index 0000000000..1960d136df Binary files /dev/null and b/iOSClient/Images.xcassets/sharePhotoBrowser.imageset/sharePhotoBrowser@2x.png differ diff --git a/iOSClient/Images.xcassets/shareTypeCircles.imageset/Contents.json b/iOSClient/Images.xcassets/shareTypeCircles.imageset/Contents.json new file mode 100644 index 0000000000..a75eab3e95 --- /dev/null +++ b/iOSClient/Images.xcassets/shareTypeCircles.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "shareTypeCircles.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shareTypeTeam.imageset/shareTypeTeam.pdf b/iOSClient/Images.xcassets/shareTypeCircles.imageset/shareTypeCircles.pdf similarity index 100% rename from iOSClient/Images.xcassets/shareTypeTeam.imageset/shareTypeTeam.pdf rename to iOSClient/Images.xcassets/shareTypeCircles.imageset/shareTypeCircles.pdf diff --git a/iOSClient/Images.xcassets/shareTypeEmail.imageset/Contents.json b/iOSClient/Images.xcassets/shareTypeEmail.imageset/Contents.json index 00298ac4b4..ffff08a617 100644 --- a/iOSClient/Images.xcassets/shareTypeEmail.imageset/Contents.json +++ b/iOSClient/Images.xcassets/shareTypeEmail.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "shareTypeEmail.pdf" + "filename" : "user.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/shareTypeEmail.imageset/user.pdf b/iOSClient/Images.xcassets/shareTypeEmail.imageset/user.pdf new file mode 100644 index 0000000000..6985e202b0 Binary files /dev/null and b/iOSClient/Images.xcassets/shareTypeEmail.imageset/user.pdf differ diff --git a/iOSClient/Images.xcassets/shareTypeGroup.imageset/Contents.json b/iOSClient/Images.xcassets/shareTypeGroup.imageset/Contents.json index eaed9549d7..d8879be5fc 100644 --- a/iOSClient/Images.xcassets/shareTypeGroup.imageset/Contents.json +++ b/iOSClient/Images.xcassets/shareTypeGroup.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "shareTypeGroup.pdf" + "filename" : "shareTypeGroup.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/shareTypeLink.imageset/Contents.json b/iOSClient/Images.xcassets/shareTypeLink.imageset/Contents.json index ee5aa2c64b..53055a1b95 100644 --- a/iOSClient/Images.xcassets/shareTypeLink.imageset/Contents.json +++ b/iOSClient/Images.xcassets/shareTypeLink.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "shareTypeLink.pdf" + "filename" : "shareTypeLink.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/shareTypeTeam.imageset/Contents.json b/iOSClient/Images.xcassets/shareTypeTeam.imageset/Contents.json index 95d6c3b747..c78a87b23b 100644 --- a/iOSClient/Images.xcassets/shareTypeTeam.imageset/Contents.json +++ b/iOSClient/Images.xcassets/shareTypeTeam.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "shareTypeTeam.pdf", + "filename" : "circle.pdf", "idiom" : "universal" } ], diff --git a/iOSClient/Images.xcassets/shareTypeTeam.imageset/circle.pdf b/iOSClient/Images.xcassets/shareTypeTeam.imageset/circle.pdf new file mode 100644 index 0000000000..4be68b831d Binary files /dev/null and b/iOSClient/Images.xcassets/shareTypeTeam.imageset/circle.pdf differ diff --git a/iOSClient/Images.xcassets/shareTypeUser.imageset/Contents.json b/iOSClient/Images.xcassets/shareTypeUser.imageset/Contents.json index 874a5b2007..11ca2fc9dd 100644 --- a/iOSClient/Images.xcassets/shareTypeUser.imageset/Contents.json +++ b/iOSClient/Images.xcassets/shareTypeUser.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "shareTypeUser.pdf" + "filename" : "shareTypeUser.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/shareTypeUser.imageset/shareTypeUser.pdf b/iOSClient/Images.xcassets/shareTypeUser.imageset/shareTypeUser.pdf index 03d855dcc4..62d278bb89 100644 Binary files a/iOSClient/Images.xcassets/shareTypeUser.imageset/shareTypeUser.pdf and b/iOSClient/Images.xcassets/shareTypeUser.imageset/shareTypeUser.pdf differ diff --git a/iOSClient/Images.xcassets/sharebylink.imageset/Contents.json b/iOSClient/Images.xcassets/sharebylink.imageset/Contents.json new file mode 100644 index 0000000000..3d40e6ef2a --- /dev/null +++ b/iOSClient/Images.xcassets/sharebylink.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "sharebylink.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/trash.imageset/trash.pdf b/iOSClient/Images.xcassets/sharebylink.imageset/sharebylink.pdf similarity index 94% rename from iOSClient/Images.xcassets/trash.imageset/trash.pdf rename to iOSClient/Images.xcassets/sharebylink.imageset/sharebylink.pdf index 9233b74c6f..40caf0cbcf 100644 Binary files a/iOSClient/Images.xcassets/trash.imageset/trash.pdf and b/iOSClient/Images.xcassets/sharebylink.imageset/sharebylink.pdf differ diff --git a/iOSClient/Images.xcassets/shield.checkerboard.imageset/Contents.json b/iOSClient/Images.xcassets/shield.checkerboard.imageset/Contents.json new file mode 100644 index 0000000000..e60bc99a84 --- /dev/null +++ b/iOSClient/Images.xcassets/shield.checkerboard.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "privacy.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "privacy@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "privacy@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy.png b/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy.png new file mode 100644 index 0000000000..b83f9c242c Binary files /dev/null and b/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy.png differ diff --git a/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy@2x.png b/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy@2x.png new file mode 100644 index 0000000000..4890418de1 Binary files /dev/null and b/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy@2x.png differ diff --git a/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy@3x.png b/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy@3x.png new file mode 100644 index 0000000000..bafa61a8b0 Binary files /dev/null and b/iOSClient/Images.xcassets/shield.checkerboard.imageset/privacy@3x.png differ diff --git a/iOSClient/Images.xcassets/showPasswordNew.imageset/Contents.json b/iOSClient/Images.xcassets/showPasswordNew.imageset/Contents.json new file mode 100644 index 0000000000..3260b1b2df --- /dev/null +++ b/iOSClient/Images.xcassets/showPasswordNew.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "showPasswordNew.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "showPasswordNew@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "showPasswordNew@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew.png b/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew.png new file mode 100644 index 0000000000..3b63d5e432 Binary files /dev/null and b/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew.png differ diff --git a/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew@2x.png b/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew@2x.png new file mode 100644 index 0000000000..93e980311a Binary files /dev/null and b/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew@2x.png differ diff --git a/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew@3x.png b/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew@3x.png new file mode 100644 index 0000000000..3f91ca46d0 Binary files /dev/null and b/iOSClient/Images.xcassets/showPasswordNew.imageset/showPasswordNew@3x.png differ diff --git a/iOSClient/Images.xcassets/sortDateLessRecent.imageset/Contents.json b/iOSClient/Images.xcassets/sortDateLessRecent.imageset/Contents.json new file mode 100644 index 0000000000..16f652eaab --- /dev/null +++ b/iOSClient/Images.xcassets/sortDateLessRecent.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "sortDateLess.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "sortDateLess@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "sortDateLess@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess.png b/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess.png new file mode 100644 index 0000000000..7679833bfe Binary files /dev/null and b/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess.png differ diff --git a/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess@2x.png b/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess@2x.png new file mode 100644 index 0000000000..3c31183268 Binary files /dev/null and b/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess@2x.png differ diff --git a/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess@3x.png b/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess@3x.png new file mode 100644 index 0000000000..d607e5c1a4 Binary files /dev/null and b/iOSClient/Images.xcassets/sortDateLessRecent.imageset/sortDateLess@3x.png differ diff --git a/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/Contents.json b/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/Contents.json new file mode 100644 index 0000000000..16f652eaab --- /dev/null +++ b/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "sortDateLess.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "sortDateLess@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "sortDateLess@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess.png b/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess.png new file mode 100644 index 0000000000..7679833bfe Binary files /dev/null and b/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess.png differ diff --git a/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess@2x.png b/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess@2x.png new file mode 100644 index 0000000000..3c31183268 Binary files /dev/null and b/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess@2x.png differ diff --git a/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess@3x.png b/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess@3x.png new file mode 100644 index 0000000000..d607e5c1a4 Binary files /dev/null and b/iOSClient/Images.xcassets/sortDateMoreRecent.imageset/sortDateLess@3x.png differ diff --git a/iOSClient/Images.xcassets/sortFileNameAZ.imageset/Contents.json b/iOSClient/Images.xcassets/sortFileNameAZ.imageset/Contents.json new file mode 100644 index 0000000000..ab8789256f --- /dev/null +++ b/iOSClient/Images.xcassets/sortFileNameAZ.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "sortFileNameAZ.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "sortFileNameAZ@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "sortFileNameAZ@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ.png b/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ.png new file mode 100644 index 0000000000..41c8ae8e25 Binary files /dev/null and b/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ.png differ diff --git a/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ@2x.png b/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ@2x.png new file mode 100644 index 0000000000..0532a1bf38 Binary files /dev/null and b/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ@2x.png differ diff --git a/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ@3x.png b/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ@3x.png new file mode 100644 index 0000000000..5cb93d7c25 Binary files /dev/null and b/iOSClient/Images.xcassets/sortFileNameAZ.imageset/sortFileNameAZ@3x.png differ diff --git a/iOSClient/Images.xcassets/sortFileNameZA.imageset/Contents.json b/iOSClient/Images.xcassets/sortFileNameZA.imageset/Contents.json new file mode 100644 index 0000000000..ab8789256f --- /dev/null +++ b/iOSClient/Images.xcassets/sortFileNameZA.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "sortFileNameAZ.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "sortFileNameAZ@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "sortFileNameAZ@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ.png b/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ.png new file mode 100644 index 0000000000..41c8ae8e25 Binary files /dev/null and b/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ.png differ diff --git a/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ@2x.png b/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ@2x.png new file mode 100644 index 0000000000..0532a1bf38 Binary files /dev/null and b/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ@2x.png differ diff --git a/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ@3x.png b/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ@3x.png new file mode 100644 index 0000000000..5cb93d7c25 Binary files /dev/null and b/iOSClient/Images.xcassets/sortFileNameZA.imageset/sortFileNameAZ@3x.png differ diff --git a/iOSClient/Images.xcassets/sortLargest.imageset/Contents.json b/iOSClient/Images.xcassets/sortLargest.imageset/Contents.json new file mode 100644 index 0000000000..e92b17d4d0 --- /dev/null +++ b/iOSClient/Images.xcassets/sortLargest.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "sortLargest.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "sortLargest@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "sortLargest@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest.png b/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest.png new file mode 100644 index 0000000000..47a510c37b Binary files /dev/null and b/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest.png differ diff --git a/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest@2x.png b/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest@2x.png new file mode 100644 index 0000000000..e77c5e3960 Binary files /dev/null and b/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest@2x.png differ diff --git a/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest@3x.png b/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest@3x.png new file mode 100644 index 0000000000..8938830b7e Binary files /dev/null and b/iOSClient/Images.xcassets/sortLargest.imageset/sortLargest@3x.png differ diff --git a/iOSClient/Images.xcassets/sortSmallest.imageset/Contents.json b/iOSClient/Images.xcassets/sortSmallest.imageset/Contents.json new file mode 100644 index 0000000000..91698080a7 --- /dev/null +++ b/iOSClient/Images.xcassets/sortSmallest.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "sortSmallest.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "sortSmallest@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "sortSmallest@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest.png b/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest.png new file mode 100644 index 0000000000..24dda815e8 Binary files /dev/null and b/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest.png differ diff --git a/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest@2x.png b/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest@2x.png new file mode 100644 index 0000000000..2977b318dd Binary files /dev/null and b/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest@2x.png differ diff --git a/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest@3x.png b/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest@3x.png new file mode 100644 index 0000000000..834e834132 Binary files /dev/null and b/iOSClient/Images.xcassets/sortSmallest.imageset/sortSmallest@3x.png differ diff --git a/iOSClient/Images.xcassets/speaker0.imageset/Contents.json b/iOSClient/Images.xcassets/speaker0.imageset/Contents.json new file mode 100644 index 0000000000..92e325e942 --- /dev/null +++ b/iOSClient/Images.xcassets/speaker0.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "speaker0.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/speaker0.imageset/speaker0.svg b/iOSClient/Images.xcassets/speaker0.imageset/speaker0.svg new file mode 100644 index 0000000000..a70f4507ee --- /dev/null +++ b/iOSClient/Images.xcassets/speaker0.imageset/speaker0.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/speaker1.imageset/Contents.json b/iOSClient/Images.xcassets/speaker1.imageset/Contents.json new file mode 100644 index 0000000000..03a322ff88 --- /dev/null +++ b/iOSClient/Images.xcassets/speaker1.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "speaker1.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/speaker1.imageset/speaker1.svg b/iOSClient/Images.xcassets/speaker1.imageset/speaker1.svg new file mode 100644 index 0000000000..957cd4d925 --- /dev/null +++ b/iOSClient/Images.xcassets/speaker1.imageset/speaker1.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/speaker2.imageset/Contents.json b/iOSClient/Images.xcassets/speaker2.imageset/Contents.json new file mode 100644 index 0000000000..a6ffffb32b --- /dev/null +++ b/iOSClient/Images.xcassets/speaker2.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "speaker2.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/speaker2.imageset/speaker2.svg b/iOSClient/Images.xcassets/speaker2.imageset/speaker2.svg new file mode 100644 index 0000000000..3a22d817a4 --- /dev/null +++ b/iOSClient/Images.xcassets/speaker2.imageset/speaker2.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/speaker3.imageset/Contents.json b/iOSClient/Images.xcassets/speaker3.imageset/Contents.json new file mode 100644 index 0000000000..32e95ada9e --- /dev/null +++ b/iOSClient/Images.xcassets/speaker3.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "speaker3.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/speaker3.imageset/speaker3.svg b/iOSClient/Images.xcassets/speaker3.imageset/speaker3.svg new file mode 100644 index 0000000000..567b58690d --- /dev/null +++ b/iOSClient/Images.xcassets/speaker3.imageset/speaker3.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/square-grid.imageset/Contents.json b/iOSClient/Images.xcassets/square-grid.imageset/Contents.json new file mode 100644 index 0000000000..175df7162f --- /dev/null +++ b/iOSClient/Images.xcassets/square-grid.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "square-grid.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/square-grid.imageset/square-grid.svg b/iOSClient/Images.xcassets/square-grid.imageset/square-grid.svg new file mode 100644 index 0000000000..b0e4a1af90 --- /dev/null +++ b/iOSClient/Images.xcassets/square-grid.imageset/square-grid.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/iOSClient/Images.xcassets/square.and.arrow.down.imageset/Contents.json b/iOSClient/Images.xcassets/square.and.arrow.down.imageset/Contents.json new file mode 100644 index 0000000000..052394eece --- /dev/null +++ b/iOSClient/Images.xcassets/square.and.arrow.down.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "saveSelectedFiles.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "saveSelectedFiles@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "saveSelectedFiles@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles.png b/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles.png new file mode 100644 index 0000000000..590c922f4e Binary files /dev/null and b/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles.png differ diff --git a/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles@2x.png b/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles@2x.png new file mode 100644 index 0000000000..589eeb56c2 Binary files /dev/null and b/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles@2x.png differ diff --git a/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles@3x.png b/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles@3x.png new file mode 100644 index 0000000000..4d1f750642 Binary files /dev/null and b/iOSClient/Images.xcassets/square.and.arrow.down.imageset/saveSelectedFiles@3x.png differ diff --git a/iOSClient/Images.xcassets/square.and.arrow.up.imageset/Contents.json b/iOSClient/Images.xcassets/square.and.arrow.up.imageset/Contents.json new file mode 100644 index 0000000000..78451c57ba --- /dev/null +++ b/iOSClient/Images.xcassets/square.and.arrow.up.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "export-variant.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/square.and.arrow.up.imageset/export-variant.svg b/iOSClient/Images.xcassets/square.and.arrow.up.imageset/export-variant.svg new file mode 100644 index 0000000000..5b5f5aecd9 --- /dev/null +++ b/iOSClient/Images.xcassets/square.and.arrow.up.imageset/export-variant.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/iOSClient/Images.xcassets/star.imageset/Contents.json b/iOSClient/Images.xcassets/star.imageset/Contents.json new file mode 100644 index 0000000000..f2856ab5bd --- /dev/null +++ b/iOSClient/Images.xcassets/star.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Star.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/star.imageset/Star.svg b/iOSClient/Images.xcassets/star.imageset/Star.svg new file mode 100644 index 0000000000..3fe4d6f993 --- /dev/null +++ b/iOSClient/Images.xcassets/star.imageset/Star.svg @@ -0,0 +1,3 @@ + + + diff --git a/iOSClient/Images.xcassets/statusdownload.imageset/Contents.json b/iOSClient/Images.xcassets/statusdownload.imageset/Contents.json new file mode 100644 index 0000000000..be3c311a02 --- /dev/null +++ b/iOSClient/Images.xcassets/statusdownload.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "statusdownload.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "statusdownload@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "statusdownload@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload.png b/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload.png new file mode 100644 index 0000000000..ea4a54a7af Binary files /dev/null and b/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload.png differ diff --git a/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload@2x.png b/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload@2x.png new file mode 100644 index 0000000000..86523e479d Binary files /dev/null and b/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload@2x.png differ diff --git a/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload@3x.png b/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload@3x.png new file mode 100644 index 0000000000..30b1858034 Binary files /dev/null and b/iOSClient/Images.xcassets/statusdownload.imageset/statusdownload@3x.png differ diff --git a/iOSClient/Images.xcassets/statuserror.imageset/Contents.json b/iOSClient/Images.xcassets/statuserror.imageset/Contents.json new file mode 100644 index 0000000000..90c24b9a7e --- /dev/null +++ b/iOSClient/Images.xcassets/statuserror.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "statuserror.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "statuserror@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "statuserror@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/statuserror.imageset/statuserror.png b/iOSClient/Images.xcassets/statuserror.imageset/statuserror.png new file mode 100644 index 0000000000..ec243f09c0 Binary files /dev/null and b/iOSClient/Images.xcassets/statuserror.imageset/statuserror.png differ diff --git a/iOSClient/Images.xcassets/statuserror.imageset/statuserror@2x.png b/iOSClient/Images.xcassets/statuserror.imageset/statuserror@2x.png new file mode 100644 index 0000000000..83e5cb20f7 Binary files /dev/null and b/iOSClient/Images.xcassets/statuserror.imageset/statuserror@2x.png differ diff --git a/iOSClient/Images.xcassets/statuserror.imageset/statuserror@3x.png b/iOSClient/Images.xcassets/statuserror.imageset/statuserror@3x.png new file mode 100644 index 0000000000..886dd8b538 Binary files /dev/null and b/iOSClient/Images.xcassets/statuserror.imageset/statuserror@3x.png differ diff --git a/iOSClient/Images.xcassets/statusupload.imageset/Contents.json b/iOSClient/Images.xcassets/statusupload.imageset/Contents.json new file mode 100644 index 0000000000..07cd780b37 --- /dev/null +++ b/iOSClient/Images.xcassets/statusupload.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "statusupload.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "statusupload@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "statusupload@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/statusupload.imageset/statusupload.png b/iOSClient/Images.xcassets/statusupload.imageset/statusupload.png new file mode 100644 index 0000000000..95e89fae88 Binary files /dev/null and b/iOSClient/Images.xcassets/statusupload.imageset/statusupload.png differ diff --git a/iOSClient/Images.xcassets/statusupload.imageset/statusupload@2x.png b/iOSClient/Images.xcassets/statusupload.imageset/statusupload@2x.png new file mode 100644 index 0000000000..6a22c8f3d1 Binary files /dev/null and b/iOSClient/Images.xcassets/statusupload.imageset/statusupload@2x.png differ diff --git a/iOSClient/Images.xcassets/statusupload.imageset/statusupload@3x.png b/iOSClient/Images.xcassets/statusupload.imageset/statusupload@3x.png new file mode 100644 index 0000000000..8740be36ed Binary files /dev/null and b/iOSClient/Images.xcassets/statusupload.imageset/statusupload@3x.png differ diff --git a/iOSClient/Images.xcassets/stop.imageset/Contents.json b/iOSClient/Images.xcassets/stop.imageset/Contents.json index 1ca664c5cd..ba414e1070 100644 --- a/iOSClient/Images.xcassets/stop.imageset/Contents.json +++ b/iOSClient/Images.xcassets/stop.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "stop.pdf" + "filename" : "stop.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/success.imageset/Contents.json b/iOSClient/Images.xcassets/success.imageset/Contents.json new file mode 100644 index 0000000000..fd7a7c56d0 --- /dev/null +++ b/iOSClient/Images.xcassets/success.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "success.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "success@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "success@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/success.imageset/success.png b/iOSClient/Images.xcassets/success.imageset/success.png new file mode 100644 index 0000000000..b1d2459a4b Binary files /dev/null and b/iOSClient/Images.xcassets/success.imageset/success.png differ diff --git a/iOSClient/Images.xcassets/success.imageset/success@2x.png b/iOSClient/Images.xcassets/success.imageset/success@2x.png new file mode 100644 index 0000000000..9832eda028 Binary files /dev/null and b/iOSClient/Images.xcassets/success.imageset/success@2x.png differ diff --git a/iOSClient/Images.xcassets/success.imageset/success@3x.png b/iOSClient/Images.xcassets/success.imageset/success@3x.png new file mode 100644 index 0000000000..d89d2e4719 Binary files /dev/null and b/iOSClient/Images.xcassets/success.imageset/success@3x.png differ diff --git a/iOSClient/Images.xcassets/switchGrid.imageset/Contents.json b/iOSClient/Images.xcassets/switchGrid.imageset/Contents.json new file mode 100644 index 0000000000..b1304ea08b --- /dev/null +++ b/iOSClient/Images.xcassets/switchGrid.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "switchGrid.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "switchGrid@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "switchGrid@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid.png b/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid.png new file mode 100644 index 0000000000..ed000d793f Binary files /dev/null and b/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid.png differ diff --git a/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid@2x.png b/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid@2x.png new file mode 100644 index 0000000000..860729706b Binary files /dev/null and b/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid@2x.png differ diff --git a/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid@3x.png b/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid@3x.png new file mode 100644 index 0000000000..582b458a0a Binary files /dev/null and b/iOSClient/Images.xcassets/switchGrid.imageset/switchGrid@3x.png differ diff --git a/iOSClient/Images.xcassets/switchList.imageset/Contents.json b/iOSClient/Images.xcassets/switchList.imageset/Contents.json new file mode 100644 index 0000000000..d0a70e20e3 --- /dev/null +++ b/iOSClient/Images.xcassets/switchList.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "switchList.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "switchList@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "switchList@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/switchList.imageset/switchList.png b/iOSClient/Images.xcassets/switchList.imageset/switchList.png new file mode 100644 index 0000000000..e68e96d87e Binary files /dev/null and b/iOSClient/Images.xcassets/switchList.imageset/switchList.png differ diff --git a/iOSClient/Images.xcassets/switchList.imageset/switchList@2x.png b/iOSClient/Images.xcassets/switchList.imageset/switchList@2x.png new file mode 100644 index 0000000000..1f387ae4e9 Binary files /dev/null and b/iOSClient/Images.xcassets/switchList.imageset/switchList@2x.png differ diff --git a/iOSClient/Images.xcassets/switchList.imageset/switchList@3x.png b/iOSClient/Images.xcassets/switchList.imageset/switchList@3x.png new file mode 100644 index 0000000000..5671a05ded Binary files /dev/null and b/iOSClient/Images.xcassets/switchList.imageset/switchList@3x.png differ diff --git a/iOSClient/Images.xcassets/tabBarFiles.imageset/Contents.json b/iOSClient/Images.xcassets/tabBarFiles.imageset/Contents.json new file mode 100644 index 0000000000..662b45275b --- /dev/null +++ b/iOSClient/Images.xcassets/tabBarFiles.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "tabBarFiles.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iOSClient/Images.xcassets/photo.imageset/photo.pdf b/iOSClient/Images.xcassets/tabBarFiles.imageset/tabBarFiles.pdf similarity index 95% rename from iOSClient/Images.xcassets/photo.imageset/photo.pdf rename to iOSClient/Images.xcassets/tabBarFiles.imageset/tabBarFiles.pdf index 515ca27a10..e9a6038f8e 100644 Binary files a/iOSClient/Images.xcassets/photo.imageset/photo.pdf and b/iOSClient/Images.xcassets/tabBarFiles.imageset/tabBarFiles.pdf differ diff --git a/iOSClient/Images.xcassets/tabBarMore.imageset/Contents.json b/iOSClient/Images.xcassets/tabBarMore.imageset/Contents.json new file mode 100644 index 0000000000..27f050f497 --- /dev/null +++ b/iOSClient/Images.xcassets/tabBarMore.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "tabBarMore.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/iOSClient/Images.xcassets/media.imageset/tabBarMedia.pdf b/iOSClient/Images.xcassets/tabBarMore.imageset/tabBarMore.pdf similarity index 96% rename from iOSClient/Images.xcassets/media.imageset/tabBarMedia.pdf rename to iOSClient/Images.xcassets/tabBarMore.imageset/tabBarMore.pdf index 515ca27a10..9a950a9b28 100644 Binary files a/iOSClient/Images.xcassets/media.imageset/tabBarMedia.pdf and b/iOSClient/Images.xcassets/tabBarMore.imageset/tabBarMore.pdf differ diff --git a/iOSClient/Images.xcassets/talk-template.imageset/Contents.json b/iOSClient/Images.xcassets/talk-template.imageset/Contents.json index 84eb196479..db221efbe9 100644 --- a/iOSClient/Images.xcassets/talk-template.imageset/Contents.json +++ b/iOSClient/Images.xcassets/talk-template.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "app.svg", + "filename" : "talk.png", "idiom" : "universal" } ], @@ -10,6 +10,7 @@ "version" : 1 }, "properties" : { + "preserves-vector-representation" : true, "template-rendering-intent" : "template" } } diff --git a/iOSClient/Images.xcassets/talk-template.imageset/talk.png b/iOSClient/Images.xcassets/talk-template.imageset/talk.png new file mode 100644 index 0000000000..c124efb15d Binary files /dev/null and b/iOSClient/Images.xcassets/talk-template.imageset/talk.png differ diff --git a/iOSClient/Images.xcassets/talk.imageset/Contents.json b/iOSClient/Images.xcassets/talk.imageset/Contents.json new file mode 100644 index 0000000000..191bd41ccb --- /dev/null +++ b/iOSClient/Images.xcassets/talk.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "talk.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/talk.imageset/talk.png b/iOSClient/Images.xcassets/talk.imageset/talk.png new file mode 100644 index 0000000000..c124efb15d Binary files /dev/null and b/iOSClient/Images.xcassets/talk.imageset/talk.png differ diff --git a/iOSClient/Images.xcassets/talk_bar.imageset/Contents.json b/iOSClient/Images.xcassets/talk_bar.imageset/Contents.json new file mode 100644 index 0000000000..4bd1fcc2c7 --- /dev/null +++ b/iOSClient/Images.xcassets/talk_bar.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "talk.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "talk_bar 1.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "talk_bar 2.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/talk_bar.imageset/talk.png b/iOSClient/Images.xcassets/talk_bar.imageset/talk.png new file mode 100644 index 0000000000..ff9f79e531 Binary files /dev/null and b/iOSClient/Images.xcassets/talk_bar.imageset/talk.png differ diff --git a/iOSClient/Images.xcassets/talk_bar.imageset/talk_bar 1.png b/iOSClient/Images.xcassets/talk_bar.imageset/talk_bar 1.png new file mode 100644 index 0000000000..f86c0a3574 Binary files /dev/null and b/iOSClient/Images.xcassets/talk_bar.imageset/talk_bar 1.png differ diff --git a/iOSClient/Images.xcassets/talk_bar.imageset/talk_bar 2.png b/iOSClient/Images.xcassets/talk_bar.imageset/talk_bar 2.png new file mode 100644 index 0000000000..a1a2edcf07 Binary files /dev/null and b/iOSClient/Images.xcassets/talk_bar.imageset/talk_bar 2.png differ diff --git a/iOSClient/Images.xcassets/taskCancelDownload.imageset/Contents.json b/iOSClient/Images.xcassets/taskCancelDownload.imageset/Contents.json new file mode 100644 index 0000000000..740de0b53d --- /dev/null +++ b/iOSClient/Images.xcassets/taskCancelDownload.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "stoptask.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "stoptask@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "stoptask@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask.png b/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask.png new file mode 100644 index 0000000000..0b10fd2706 Binary files /dev/null and b/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask.png differ diff --git a/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask@2x.png b/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask@2x.png new file mode 100644 index 0000000000..f2a89067cb Binary files /dev/null and b/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask@2x.png differ diff --git a/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask@3x.png b/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask@3x.png new file mode 100644 index 0000000000..6b8d8eaef6 Binary files /dev/null and b/iOSClient/Images.xcassets/taskCancelDownload.imageset/stoptask@3x.png differ diff --git a/iOSClient/Images.xcassets/taskCancelUpload.imageset/Contents.json b/iOSClient/Images.xcassets/taskCancelUpload.imageset/Contents.json new file mode 100644 index 0000000000..08d1ba722a --- /dev/null +++ b/iOSClient/Images.xcassets/taskCancelUpload.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "removetask.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "removetask@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "removetask@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask.png b/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask.png new file mode 100644 index 0000000000..de385275f3 Binary files /dev/null and b/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask.png differ diff --git a/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask@2x.png b/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask@2x.png new file mode 100644 index 0000000000..3be6410bb3 Binary files /dev/null and b/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask@2x.png differ diff --git a/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask@3x.png b/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask@3x.png new file mode 100644 index 0000000000..ac0e3c6847 Binary files /dev/null and b/iOSClient/Images.xcassets/taskCancelUpload.imageset/removetask@3x.png differ diff --git a/iOSClient/Images.xcassets/text.imageset/Contents.json b/iOSClient/Images.xcassets/text.imageset/Contents.json new file mode 100644 index 0000000000..ceaab0a067 --- /dev/null +++ b/iOSClient/Images.xcassets/text.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "text.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/text.imageset/text.pdf b/iOSClient/Images.xcassets/text.imageset/text.pdf new file mode 100644 index 0000000000..2154ceece1 Binary files /dev/null and b/iOSClient/Images.xcassets/text.imageset/text.pdf differ diff --git a/iOSClient/Images.xcassets/trashIcon.imageset/Contents.json b/iOSClient/Images.xcassets/trashIcon.imageset/Contents.json new file mode 100644 index 0000000000..55a229be84 --- /dev/null +++ b/iOSClient/Images.xcassets/trashIcon.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Delete.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/trashIcon.imageset/Delete.svg b/iOSClient/Images.xcassets/trashIcon.imageset/Delete.svg new file mode 100644 index 0000000000..868bfaa157 --- /dev/null +++ b/iOSClient/Images.xcassets/trashIcon.imageset/Delete.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/iOSClient/Images.xcassets/twitter.imageset/Contents.json b/iOSClient/Images.xcassets/twitter.imageset/Contents.json index bf338730bb..4731eae8c2 100644 --- a/iOSClient/Images.xcassets/twitter.imageset/Contents.json +++ b/iOSClient/Images.xcassets/twitter.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "twitter.pdf" + "filename" : "twitter.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/upload.imageset/Contents.json b/iOSClient/Images.xcassets/upload.imageset/Contents.json new file mode 100644 index 0000000000..fed08cacaf --- /dev/null +++ b/iOSClient/Images.xcassets/upload.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "upload.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "upload@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "upload@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/upload.imageset/upload.png b/iOSClient/Images.xcassets/upload.imageset/upload.png new file mode 100644 index 0000000000..0f76ce12bc Binary files /dev/null and b/iOSClient/Images.xcassets/upload.imageset/upload.png differ diff --git a/iOSClient/Images.xcassets/upload.imageset/upload@2x.png b/iOSClient/Images.xcassets/upload.imageset/upload@2x.png new file mode 100644 index 0000000000..2f4e286f6f Binary files /dev/null and b/iOSClient/Images.xcassets/upload.imageset/upload@2x.png differ diff --git a/iOSClient/Images.xcassets/upload.imageset/upload@3x.png b/iOSClient/Images.xcassets/upload.imageset/upload@3x.png new file mode 100644 index 0000000000..5a0f7be299 Binary files /dev/null and b/iOSClient/Images.xcassets/upload.imageset/upload@3x.png differ diff --git a/iOSClient/Images.xcassets/uploadFile.imageset/Contents.json b/iOSClient/Images.xcassets/uploadFile.imageset/Contents.json new file mode 100644 index 0000000000..1ed800ac3b --- /dev/null +++ b/iOSClient/Images.xcassets/uploadFile.imageset/Contents.json @@ -0,0 +1,55 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "default@500w.pdf", + "idiom" : "universal", + "scale" : "2x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "default copy@500w.pdf", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/uploadFile.imageset/default copy@500w.pdf b/iOSClient/Images.xcassets/uploadFile.imageset/default copy@500w.pdf new file mode 100644 index 0000000000..568fb350d6 Binary files /dev/null and b/iOSClient/Images.xcassets/uploadFile.imageset/default copy@500w.pdf differ diff --git a/iOSClient/Images.xcassets/uploadFile.imageset/default@500w.pdf b/iOSClient/Images.xcassets/uploadFile.imageset/default@500w.pdf new file mode 100644 index 0000000000..49bbe6f285 Binary files /dev/null and b/iOSClient/Images.xcassets/uploadFile.imageset/default@500w.pdf differ diff --git a/iOSClient/Images.xcassets/user.imageset/Contents.json b/iOSClient/Images.xcassets/user.imageset/Contents.json index f231d18f81..268fafdabe 100644 --- a/iOSClient/Images.xcassets/user.imageset/Contents.json +++ b/iOSClient/Images.xcassets/user.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "user.pdf" + "filename" : "User.svg", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/user.imageset/User.svg b/iOSClient/Images.xcassets/user.imageset/User.svg new file mode 100644 index 0000000000..7509d38db8 --- /dev/null +++ b/iOSClient/Images.xcassets/user.imageset/User.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/user1.imageset/Contents.json b/iOSClient/Images.xcassets/user1.imageset/Contents.json new file mode 100644 index 0000000000..ffff08a617 --- /dev/null +++ b/iOSClient/Images.xcassets/user1.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "user.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/user.imageset/user.pdf b/iOSClient/Images.xcassets/user1.imageset/user.pdf similarity index 100% rename from iOSClient/Images.xcassets/user.imageset/user.pdf rename to iOSClient/Images.xcassets/user1.imageset/user.pdf diff --git a/iOSClient/Images.xcassets/user_settings.imageset/Contents.json b/iOSClient/Images.xcassets/user_settings.imageset/Contents.json new file mode 100644 index 0000000000..6ac80bb179 --- /dev/null +++ b/iOSClient/Images.xcassets/user_settings.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "default@1,5x.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "default@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "default@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/user_settings.imageset/default@1,5x.png b/iOSClient/Images.xcassets/user_settings.imageset/default@1,5x.png new file mode 100644 index 0000000000..a556ff9868 Binary files /dev/null and b/iOSClient/Images.xcassets/user_settings.imageset/default@1,5x.png differ diff --git a/iOSClient/Images.xcassets/user_settings.imageset/default@2x.png b/iOSClient/Images.xcassets/user_settings.imageset/default@2x.png new file mode 100644 index 0000000000..c812343a8c Binary files /dev/null and b/iOSClient/Images.xcassets/user_settings.imageset/default@2x.png differ diff --git a/iOSClient/Images.xcassets/user_settings.imageset/default@3x.png b/iOSClient/Images.xcassets/user_settings.imageset/default@3x.png new file mode 100644 index 0000000000..eed7389198 Binary files /dev/null and b/iOSClient/Images.xcassets/user_settings.imageset/default@3x.png differ diff --git a/iOSClient/Images.xcassets/users.imageset/Contents.json b/iOSClient/Images.xcassets/users.imageset/Contents.json index 18de8b11fb..431a132b2f 100644 --- a/iOSClient/Images.xcassets/users.imageset/Contents.json +++ b/iOSClient/Images.xcassets/users.imageset/Contents.json @@ -1,15 +1,15 @@ { "images" : [ { - "idiom" : "universal", - "filename" : "users.pdf" + "filename" : "users.pdf", + "idiom" : "universal" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 }, "properties" : { "preserves-vector-representation" : true } -} \ No newline at end of file +} diff --git a/iOSClient/Images.xcassets/video.imageset/Contents.json b/iOSClient/Images.xcassets/video.imageset/Contents.json new file mode 100644 index 0000000000..9ed8dc7e93 --- /dev/null +++ b/iOSClient/Images.xcassets/video.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Video Camera.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/video.imageset/Video Camera.svg b/iOSClient/Images.xcassets/video.imageset/Video Camera.svg new file mode 100644 index 0000000000..9f9f7005bf --- /dev/null +++ b/iOSClient/Images.xcassets/video.imageset/Video Camera.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iOSClient/Images.xcassets/videono.imageset/Contents.json b/iOSClient/Images.xcassets/videono.imageset/Contents.json new file mode 100644 index 0000000000..5c7961ea2a --- /dev/null +++ b/iOSClient/Images.xcassets/videono.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "deviceNocamera.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/videono.imageset/deviceNocamera.pdf b/iOSClient/Images.xcassets/videono.imageset/deviceNocamera.pdf new file mode 100644 index 0000000000..09ff9e66eb Binary files /dev/null and b/iOSClient/Images.xcassets/videono.imageset/deviceNocamera.pdf differ diff --git a/iOSClient/Images.xcassets/videoyes.imageset/Contents.json b/iOSClient/Images.xcassets/videoyes.imageset/Contents.json new file mode 100644 index 0000000000..bfc956fce2 --- /dev/null +++ b/iOSClient/Images.xcassets/videoyes.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "deviceCamera.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/videoyes.imageset/deviceCamera.pdf b/iOSClient/Images.xcassets/videoyes.imageset/deviceCamera.pdf new file mode 100644 index 0000000000..807d6a30a8 Binary files /dev/null and b/iOSClient/Images.xcassets/videoyes.imageset/deviceCamera.pdf differ diff --git a/iOSClient/Images.xcassets/viewInFolder.imageset/Contents.json b/iOSClient/Images.xcassets/viewInFolder.imageset/Contents.json new file mode 100644 index 0000000000..092a6858e4 --- /dev/null +++ b/iOSClient/Images.xcassets/viewInFolder.imageset/Contents.json @@ -0,0 +1,25 @@ +{ + "images" : [ + { + "filename" : "viewInFolder-1.pdf", + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "viewInFolderDark.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/iOSClient/Images.xcassets/viewInFolder.imageset/viewInFolder-1.pdf b/iOSClient/Images.xcassets/viewInFolder.imageset/viewInFolder-1.pdf new file mode 100644 index 0000000000..bb8489ccd9 Binary files /dev/null and b/iOSClient/Images.xcassets/viewInFolder.imageset/viewInFolder-1.pdf differ diff --git a/iOSClient/Images.xcassets/viewInFolder.imageset/viewInFolderDark.pdf b/iOSClient/Images.xcassets/viewInFolder.imageset/viewInFolderDark.pdf new file mode 100644 index 0000000000..1f59694303 Binary files /dev/null and b/iOSClient/Images.xcassets/viewInFolder.imageset/viewInFolderDark.pdf differ diff --git a/iOSClient/NCAccount.swift b/iOSClient/NCAccount.swift new file mode 100644 index 0000000000..813e6fe59b --- /dev/null +++ b/iOSClient/NCAccount.swift @@ -0,0 +1,258 @@ +// SPDX-FileCopyrightText: Nextcloud GmbH +// SPDX-FileCopyrightText: 2024 Marino Faggiana +// SPDX-License-Identifier: GPL-3.0-or-later + +import Foundation +import UIKit +import NextcloudKit + +class NCAccount: NSObject { + let database = NCManageDatabase.shared + let appDelegate = (UIApplication.shared.delegate as? AppDelegate)! + + func createAccount(viewController: UIViewController, + urlBase: String, + user: String, + password: String, + controller: NCMainTabBarController?, + completion: @escaping () -> Void = {}) { + nkLog(debug: "Creating account...") + + var urlBase = urlBase + if urlBase.last == "/" { urlBase = String(urlBase.dropLast()) } + let account: String = "\(user) \(urlBase)" + + // Remove Account Server in Error + NCNetworking.shared.removeServerErrorAccount(account) + + NextcloudKit.shared.appendSession(account: account, + urlBase: urlBase, + user: user, + userId: user, + password: password, + userAgent: userAgent, + httpMaximumConnectionsPerHost: NCBrandOptions.shared.httpMaximumConnectionsPerHost, + httpMaximumConnectionsPerHostInDownload: NCBrandOptions.shared.httpMaximumConnectionsPerHostInDownload, + httpMaximumConnectionsPerHostInUpload: NCBrandOptions.shared.httpMaximumConnectionsPerHostInUpload, + groupIdentifier: NCBrandOptions.shared.capabilitiesGroup) + + NextcloudKit.shared.getUserProfile(account: account) { account, userProfile, _, error in + if error == .success, let userProfile { + // Login log debug + nkLog(debug: "Got user profile, creating new account \(account) with user \(user) and userId \(userProfile.userId)") + // + NextcloudKit.shared.updateSession(account: account, userId: userProfile.userId) + NCSession.shared.appendSession(account: account, urlBase: urlBase, user: user, userId: userProfile.userId) + self.database.addAccount(account, urlBase: urlBase, user: user, userId: userProfile.userId, password: password) + + self.changeAccount(account, userProfile: userProfile, controller: controller) { + nkLog(debug: "NCAccount changed user profile to \(userProfile.userId).") + NCKeychain().setClientCertificate(account: account, p12Data: NCNetworking.shared.p12Data, p12Password: NCNetworking.shared.p12Password) + } + if let controller { + controller.account = account + viewController.dismiss(animated: true) + } else if let controller = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController() as? NCMainTabBarController { + controller.account = account + controller.modalPresentationStyle = .fullScreen + controller.view.alpha = 0 + + UIApplication.shared.firstWindow?.rootViewController = controller + UIApplication.shared.firstWindow?.makeKeyAndVisible() + + if let controller { + controller.account = account + nkLog(debug: "Dismissing login provider view controller...") + viewController.dismiss(animated: true) + + completion() + } else if let controller = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController() as? NCMainTabBarController { + nkLog(debug: "Presenting initial view controller from main storyboard...") + controller.account = account + controller.modalPresentationStyle = .fullScreen + controller.view.alpha = 0 + + if let scene = UIApplication.shared.firstWindow?.windowScene { + SceneManager.shared.register(scene: scene, withRootViewController: controller) + } + + UIView.animate(withDuration: 0.5) { + controller.view.alpha = 1 + } + } + } else { + NextcloudKit.shared.nkCommonInstance.nksessions.remove(account: account) + let alertController = UIAlertController(title: NSLocalizedString("_error_", comment: ""), message: error.errorDescription, preferredStyle: .alert) + alertController.addAction(UIAlertAction(title: NSLocalizedString("_ok_", comment: ""), style: .default, handler: { _ in })) + viewController.present(alertController, animated: true) + } + } + } + + func changeAccount(_ account: String, + userProfile: NKUserProfile?, + controller: NCMainTabBarController?, + completion: () -> Void) { + if let tblAccount = database.setAccountActive(account) { + // Set account + controller?.account = account + // Set User Profile + if let userProfile { + database.setAccountUserProfile(account: account, userProfile: userProfile) + } + // Subscribing Push Notification + appDelegate.subscribingPushNotification(account: tblAccount.account, urlBase: tblAccount.urlBase, user: tblAccount.user) + // Start the service + NCService().startRequestServicesServer(account: account, controller: controller) + // Start the auto upload + Task { + let num = await NCAutoUpload.shared.initAutoUpload(tblAccount: tblAccount) + nkLog(start: "Auto upload with \(num) photo") + + // Networking Process + await NCNetworkingProcess.shared.setCurrentAccount(account) + } + /// Color + NCBrandColor.shared.settingThemingColor(account: account) + NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterChangeTheming, userInfo: ["account": account]) + /// Notification + + // Color + NCBrandColor.shared.settingThemingColor(account: account) + NotificationCenter.default.postOnMainThread(name: self.global.notificationCenterChangeTheming, userInfo: ["account": account]) + // Notification + if let controller { + NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterChangeUser, userInfo: ["account": account, "controller": controller]) + } else { + NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterChangeUser, userInfo: ["account": account]) + } + } + + completion() + } + + func changeAccountAsync(_ account: String, + userProfile: NKUserProfile?, + controller: NCMainTabBarController?) async { + await withCheckedContinuation { continuation in + changeAccount(account, userProfile: userProfile, controller: controller) { + continuation.resume() + } + } + } + + func deleteAccount(_ account: String, wipe: Bool = true, completion: () -> Void = {}) { + UIApplication.shared.allSceneSessionDestructionExceptFirst() + + // Unsubscribing Push Notification +#if !targetEnvironment(simulator) + if let tableAccount = database.getTableAccount(predicate: NSPredicate(format: "account == %@", account)) { + NCPushNotification.shared.unsubscribingNextcloudServerPushNotification(account: tableAccount.account, urlBase: tableAccount.urlBase, user: tableAccount.user) + } +#endif + // Remove al local files + if wipe { + let results = database.getTableLocalFiles(predicate: NSPredicate(format: "account == %@", account), sorted: "ocId", ascending: false) + let utilityFileSystem = NCUtilityFileSystem() + for result in results { + utilityFileSystem.removeFile(atPath: utilityFileSystem.getDirectoryProviderStorageOcId(result.ocId)) + } + /// Remove account in all database + database.clearDatabase(account: account, removeAccount: true) + // Remove account in all database + database.clearDatabase(account: account, removeAccount: true, removeAutoUpload: true) + } else { + // Remove account + database.clearTable(tableAccount.self, account: account) + // Remove autoupload + database.clearTable(tableAutoUploadTransfer.self, account: account) + } + // Remove session in NextcloudKit + NextcloudKit.shared.nkCommonInstance.nksessions.remove(account: account) + // Remove session + NCSession.shared.removeSession(account: account) + // Remove keychain security + NCKeychain().setPassword(account: account, password: nil) + NCKeychain().clearAllKeysEndToEnd(account: account) + NCKeychain().clearAllKeysPushNotification(account: account) + /// Remove User Default Data + NCNetworking.shared.removeAllKeyUserDefaultsData(account: account) + /// Remove Account Server in Error + // Remove Account Server in Error + NCNetworking.shared.removeServerErrorAccount(account) + + completion() + } + + func deleteAllAccounts() { + let accounts = database.getAccounts() + accounts?.forEach({ account in + deleteAccount(account) + }) + } + + func updateAppsShareAccounts() -> Error? { + guard let dirGroupApps = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: NCBrandOptions.shared.capabilitiesGroupApps) else { return nil } + var accounts = [NKShareAccounts.DataAccounts]() + + for account in database.getAllTableAccount() { + let name = account.alias.isEmpty ? account.displayName : account.alias + let fileName = NCSession.shared.getFileName(urlBase: account.urlBase, user: account.user) + let fileNamePath = NCUtilityFileSystem().directoryUserData + "/" + fileName + let image = UIImage(contentsOfFile: fileNamePath) + accounts.append(NKShareAccounts.DataAccounts(withUrl: account.urlBase, user: account.user, name: name, image: image)) + } + return NKShareAccounts().putShareAccounts(at: dirGroupApps, app: NCGlobal.shared.appScheme, dataAccounts: accounts) + } + + func checkRemoteUser(account: String, controller: NCMainTabBarController?, completion: @escaping () -> Void = {}) { + let token = NCKeychain().getPassword(account: account) + guard let tableAccount = NCManageDatabase.shared.getTableAccount(predicate: NSPredicate(format: "account == %@", account)) + else { + return completion() + } + + func setAccount() { + if let accounts = NCManageDatabase.shared.getAccounts(), + account.count > 0, + let account = accounts.first { + changeAccount(account, userProfile: nil, controller: controller) { } + } else { + if NCBrandOptions.shared.disable_intro { + if let viewController = UIStoryboard(name: "NCLogin", bundle: nil).instantiateViewController(withIdentifier: "NCLogin") as? NCLogin { + viewController.controller = controller + let navigationController = UINavigationController(rootViewController: viewController) + navigationController.modalPresentationStyle = .fullScreen + controller?.present(navigationController, animated: true) + } + } else { + if let navigationController = UIStoryboard(name: "NCIntro", bundle: nil).instantiateInitialViewController() as? UINavigationController { + if let viewController = navigationController.topViewController as? NCIntroViewController { + viewController.controller = controller + } + navigationController.modalPresentationStyle = .fullScreen + controller?.present(navigationController, animated: true) + } + } + } + + completion() + } + + NCContentPresenter().showCustomMessage(title: "", message: String(format: NSLocalizedString("_account_unauthorized_", comment: ""), account), priority: .high, delay: NCGlobal.shared.dismissAfterSecondLong, type: .error) + + NextcloudKit.shared.getRemoteWipeStatus(serverUrl: tableAccount.urlBase, token: token, account: tableAccount.account) { account, wipe, _, error in + // REMOVE ACCOUNT + NCAccount().deleteAccount(account, wipe: wipe) + + if wipe { + NextcloudKit.shared.setRemoteWipeCompletition(serverUrl: tableAccount.urlBase, token: token, account: tableAccount.account) { _, _, error in + nkLog(debug: "Set Remote Wipe Completition error code: \(error.errorCode)") + setAccount() + } + } else { + setAccount() + } + } + } +} diff --git a/iOSClient/NCGlobal.swift b/iOSClient/NCGlobal.swift index 813c75d117..403e7d4b65 100644 --- a/iOSClient/NCGlobal.swift +++ b/iOSClient/NCGlobal.swift @@ -40,11 +40,35 @@ final class NCGlobal: Sendable { let twoFactorNotificatioName = "twofactor_nextcloud_notification" let termsOfServiceName = "terms_of_service" + // Nextcloud version + // + let nextcloudVersion18: Int = 18 + let nextcloudVersion20: Int = 20 + let nextcloudVersion23: Int = 23 + let nextcloudVersion24: Int = 24 + let nextcloudVersion25: Int = 25 + let nextcloudVersion26: Int = 26 + let nextcloudVersion27: Int = 27 + let nextcloudVersion28: Int = 28 + let nextcloudVersion30: Int = 30 + let nextcloudVersion31: Int = 31 + let nextcloudVersionFuture: Int = 99999 + + + // Nextcloud unsupported + // + let nextcloud_unsupported_version: Int = 20 + // Intro selector // let introLogin: Int = 0 + let introSignup: Int = 1 let introSignUpWithProvider: Int = 1 + // Varie size GUI + // + @objc let heightCellSettings: CGFloat = 50 + // Avatar // let avatarSize: Int = 128 * Int(UIScreen.main.scale) @@ -77,6 +101,14 @@ final class NCGlobal: Sendable { // E2EE // let e2eePassphraseTest = "more over television factory tendency independence international intellectual impress interest sentence pony" + let e2eeCompatibleVersions = ["1.1", "1.2", "2.0", "2.1"] + + func isE2eeVersion2(_ version: String) -> Bool { + if version == "2.0" || version == "2.1" { + return true + } + return false + } // CHUNK let chunkSizeMBCellular = 10000000 @@ -103,6 +135,7 @@ final class NCGlobal: Sendable { let layoutViewOffline = "LayoutOffline" let layoutViewFavorite = "LayoutFavorite" let layoutViewFiles = "LayoutFiles" + let layoutViewTransfers = "LayoutTransfers" let layoutViewRecent = "LayoutRecent" let layoutViewShares = "LayoutShares" let layoutViewShareExtension = "LayoutShareExtension" @@ -113,7 +146,34 @@ final class NCGlobal: Sendable { // let buttonMoreMore = "more" let buttonMoreLock = "moreLock" - + let buttonMoreStop = "stop" + + // Standard height sections header/footer + // + let heightButtonsView: CGFloat = 50 + let heightHeaderTransfer: CGFloat = 50 + let heightSection: CGFloat = 30 + let heightFooter: CGFloat = 1 + let heightFooterButton: CGFloat = 30 + let endHeightFooter: CGFloat = 85 + + // Text - OnlyOffice - Collabora - QuickLook + // + let editorText = "text" + let editorOnlyoffice = "onlyoffice" + let editorCollabora = "collabora" + let editorQuickLook = "quicklook" + + let onlyofficeDocx = "onlyoffice_docx" + let onlyofficeXlsx = "onlyoffice_xlsx" + let onlyofficePptx = "onlyoffice_pptx" + + // Template + // + let templateDocument = "document" + let templateSpreadsheet = "spreadsheet" + let templatePresentation = "presentation" + // Rich Workspace // let fileNameRichWorkspace = "Readme.md" @@ -125,6 +185,7 @@ final class NCGlobal: Sendable { // Error // + let errorRequestExplicityCancelled: Int = 15 let errorNotModified: Int = 304 let errorBadRequest: Int = 400 let errorUnauthorized401: Int = 401 @@ -135,6 +196,7 @@ final class NCGlobal: Sendable { let errorPreconditionFailed: Int = 412 let errorUnsupportedMediaType: Int = 415 let errorExpectationFailed: Int = 417 + let errorWebDAVLocked: Int = 423 let errorInternalServerError: Int = 500 let errorMaintenance: Int = 503 let errorQuota: Int = 507 @@ -146,6 +208,7 @@ final class NCGlobal: Sendable { let errorInternalError: Int = -99999 let errorFileNotSaved: Int = -99998 let errorOfflineNotAllowed: Int = -99997 + let errorOffline: Int = -99997 let errorCharactersForbidden: Int = -99996 let errorCreationFile: Int = -99995 let errorReadFile: Int = -99994 @@ -155,8 +218,6 @@ final class NCGlobal: Sendable { let errorIncorrectFileName: Int = -99990 let errorVersionMismatch: Int = -99989 let errorNCSessionNotFound: Int = -99988 - let errorNotPermission: Int = -99987 - // E2EE let errorE2EENotEnabled: Int = -98000 @@ -198,7 +259,9 @@ final class NCGlobal: Sendable { let selectorSaveAsScan = "saveAsScan" let selectorOpenDetail = "openDetail" let selectorSynchronizationOffline = "synchronizationOffline" - + let selectorPrint = "print" + let selectorDeleteFile = "deleteFile" + // Metadata : Status // // 0 normal @@ -222,11 +285,12 @@ final class NCGlobal: Sendable { let metadataStatusWaitFavorite: Int = 13 let metadataStatusWaitCopy: Int = 14 let metadataStatusWaitMove: Int = 15 - + let metadataStatusUploadingAllMode = [1,2,3] - let metadataStatusDownloadingAllMode = [-1, -2, -3] - let metadataStatusForScreenAwake = [-1, -2, 1, 2] + let metadataStatusInTransfer = [-1, -2, 1, 2] + let metadataStatusFileDown = [-1, -2, -3] let metadataStatusHideInView = [1, 2, 3, 11] + let metadataStatusHideInFileExtension = [1, 2, 3, 10, 11] let metadataStatusWaitWebDav = [10, 11, 12, 13, 14, 15] let metadataStatusTransfers = [-2, -3, 2, 3, 10, 11, 12, 13, 14, 15] @@ -234,6 +298,19 @@ final class NCGlobal: Sendable { let metadatasStatusInWaitingDownloadUpload = [-1, 1] let metadatasStatusDownloadingUploading = [-2, 2] + + let metadataStatusObserveNetworkingProcess = [-1, 1, 10, 11, 12, 13, 14, 15] + let metadataStatusObserveTrasfers = [-2, 2, 10, 11, 12, 13, 14, 15] + + let metadatasStatusInProgress = [-2, 2] + + let metadataStatusDownloadingAllMode = [-1, -2, -3] + let metadataStatusForScreenAwake = [-1, -2, 1, 2] + + // Hidden files included in the read + // + let includeHiddenFiles: [String] = [".LivePhoto"] + // Auto upload subfolder granularity // let subfolderGranularityDaily = 2 @@ -252,6 +329,16 @@ final class NCGlobal: Sendable { let notificationCenterCheckUserDelaultErrorDone = "checkUserDelaultErrorDone" // userInfo: account, controller let notificationCenterServerDidUpdate = "serverDidUpdate" // userInfo: account let notificationCenterNetworkReachability = "networkReachability" + let notificationCenterDidCreateShareLink = "didCreateShareLink" + + let notificationCenterDeleteFile = "deleteFile" // userInfo: [ocId], error + let notificationCenterCopyMoveFile = "copyMoveFile" // userInfo: [ocId] serverUrl, account, dragdrop, type (copy, move) + let notificationCenterMoveFile = "moveFile" // userInfo: [ocId], [indexPath], error + let notificationCenterCopyFile = "copyFile" // userInfo: [ocId], [indexPath], error + let notificationCenterRenameFile = "renameFile" // userInfo: serverUrl, account, error + let notificationCenterFavoriteFile = "favoriteFile" // userInfo: ocId, serverUrl + let notificationCenterFileExists = "fileExists" // userInfo: ocId, fileExists + let notificationCenterReloadDataSource = "reloadDataSource" // userInfo: serverUrl?, clearDataSource let notificationCenterMenuSearchTextPDF = "menuSearchTextPDF" let notificationCenterMenuGotToPageInPDF = "menuGotToPageInPDF" @@ -259,6 +346,7 @@ final class NCGlobal: Sendable { let notificationCenterOpenMediaDetail = "openMediaDetail" // userInfo: ocId let notificationCenterDismissScanDocument = "dismissScanDocument" + let notificationCenterDismissUploadAssets = "dismissUploadAssets" let notificationCenterEnableSwipeGesture = "enableSwipeGesture" let notificationCenterDisableSwipeGesture = "disableSwipeGesture" @@ -270,6 +358,7 @@ final class NCGlobal: Sendable { let notificationCenterNetworkingProcess = "networkingProcess" let notificationCenterTransferCountChanged = "transferCountChanged" + let notificationCenterFavoriteStatusChanged = "favoriteStatusChanged" // Networking Status let networkingStatusCreateFolder = "statusCreateFolder" @@ -286,6 +375,7 @@ final class NCGlobal: Sendable { let networkingStatusUploaded = "statusUploaded" let networkingStatusReloadAvatar = "statusReloadAvatar" + let notificationCenterUpdateIcons = "updateIcons" // TIP // @@ -368,7 +458,21 @@ final class NCGlobal: Sendable { // let taskDescriptionRetrievesProperties = "retrievesProperties" let taskDescriptionSynchronization = "synchronization" - + let taskDescriptionDeleteFileOrFolder = "deleteFileOrFolder" + + // MoEngage App Version + // + let moEngageAppVersion = 854 + + // Filename Mask and Type + // + let keyFileNameMask = "fileNameMask" + let keyFileNameType = "fileNameType" + let keyFileNameAutoUploadMask = "fileNameAutoUploadMask" + let keyFileNameAutoUploadType = "fileNameAutoUploadType" + let keyFileNameOriginal = "fileNameOriginal" + let keyFileNameOriginalAutoUpload = "fileNameOriginalAutoUpload" + // LOG TAG // let logTagTask = "BGT" @@ -382,11 +486,17 @@ final class NCGlobal: Sendable { let logTagSpeedUpSyncMetadata = "SYNC METADATA" let logTagNetworkingTasks = "NETWORKING TASKS" let logTagMetadataTransfers = "METADATA TRANSFERS" + let logSpeedUpSyncMetadata = "SYNC METADATA" + let logNetworkingTasks = "NETWORKING TASKS" // USER DEFAULTS // let udMigrationMultiDomains = "migrationMultiDomains" let udLastVersion = "lastVersion" + + // Album + // + let selectedTabIndexAlbum: Int = 3 } /** diff --git a/iOSClient/NCImageCache.swift b/iOSClient/NCImageCache.swift index eb40357d0f..d0250b1d18 100644 --- a/iOSClient/NCImageCache.swift +++ b/iOSClient/NCImageCache.swift @@ -29,6 +29,38 @@ final class NCImageCache: @unchecked Sendable { public var isLoadingCache: Bool = false public var controller: UITabBarController? + let showBothPredicateMediaString = "account == %@ AND serverUrl BEGINSWITH %@ AND (classFile == '\(NKTypeClassFile.image.rawValue)' OR classFile == '\(NKTypeClassFile.video.rawValue)') AND NOT (session CONTAINS[c] 'upload') AND NOT (livePhotoFile != '' AND classFile == '\(NKTypeClassFile.video.rawValue)')" + + struct metadataInfo { + var etag: String + var date: NSDate + var width: Int + var height: Int + } + + struct imageInfo { + var image: UIImage? + var size: CGSize? + var date: Date + } + + private typealias ThumbnailImageLRUCache = LRUCache + private typealias ThumbnailSizeLRUCache = LRUCache + + private lazy var cacheImage: ThumbnailImageLRUCache = { + return ThumbnailImageLRUCache(countLimit: limit) + }() + private lazy var cacheSize: ThumbnailSizeLRUCache = { + return ThumbnailSizeLRUCache() + }() + private var metadatasInfo: [String: metadataInfo] = [:] + private var metadatas: ThreadSafeArray? + + var createMediaCacheInProgress: Bool = false + let showAllPredicateMediaString = "account == %@ AND serverUrl BEGINSWITH %@ AND (classFile == '\(NKCommon.TypeClassFile.image.rawValue)' OR classFile == '\(NKCommon.TypeClassFile.video.rawValue)') AND NOT (session CONTAINS[c] 'upload')" + let showBothPredicateMediaString = "account == %@ AND serverUrl BEGINSWITH %@ AND (classFile == '\(NKCommon.TypeClassFile.image.rawValue)' OR classFile == '\(NKCommon.TypeClassFile.video.rawValue)') AND NOT (session CONTAINS[c] 'upload') AND NOT (livePhotoFile != '' AND classFile == '\(NKCommon.TypeClassFile.video.rawValue)')" + let showOnlyPredicateMediaString = "account == %@ AND serverUrl BEGINSWITH %@ AND classFile == %@ AND NOT (session CONTAINS[c] 'upload') AND NOT (livePhotoFile != '' AND classFile == '\(NKCommon.TypeClassFile.video.rawValue)')" + init() { observerToken = NotificationCenter.default.addObserver(forName: UIApplication.didReceiveMemoryWarningNotification, object: nil, queue: nil) { _ in self.cache.removeAll() @@ -138,136 +170,201 @@ final class NCImageCache: @unchecked Sendable { mediaPath: String, showOnlyImages: Bool, showOnlyVideos: Bool) -> NSPredicate { + var predicate = NSPredicate() let startServerUrl = self.utilityFileSystem.getHomeServer(session: session) + mediaPath - - let showBothPredicate = """ - account == %@ AND - serverUrl BEGINSWITH %@ AND - mediaSearch == true AND - hasPreview == true AND - ( - classFile == '\(NKTypeClassFile.image.rawValue)' OR classFile == '\(NKTypeClassFile.video.rawValue)' - ) AND - NOT (status IN %@) - """ - - let showOnlyPredicateImage = """ - account == %@ AND - serverUrl BEGINSWITH %@ AND - mediaSearch == true AND - hasPreview == true AND - ( - classFile == '\(NKTypeClassFile.image.rawValue)' OR (classFile == '\(NKTypeClassFile.video.rawValue)' AND livePhotoFile != '') - ) AND - NOT (status IN %@) - """ - - let showOnlyPredicateVideo = """ - account == %@ AND - serverUrl BEGINSWITH %@ AND - mediaSearch == true AND - hasPreview == true AND - classFile == 'video' AND - NOT (status IN %@) - """ + let showBothPredicate = "account == %@ AND serverUrl BEGINSWITH %@ AND mediaSearch == true AND hasPreview == true AND (classFile == '\(NKTypeClassFile.image.rawValue)' OR classFile == '\(NKTypeClassFile.video.rawValue)') AND NOT (status IN %@)" + let showOnlyPredicateImage = "account == %@ AND serverUrl BEGINSWITH %@ AND mediaSearch == true AND hasPreview == true AND classFile == 'image' AND NOT (status IN %@)" + let showOnlyPredicateVideo = "account == %@ AND serverUrl BEGINSWITH %@ AND mediaSearch == true AND hasPreview == true AND classFile == 'video' AND livePhotoFile == '' AND NOT (status IN %@)" if showOnlyImages { - return NSPredicate(format: showOnlyPredicateImage, - session.account, - startServerUrl, - global.metadataStatusHideInView) + predicate = NSPredicate(format: showOnlyPredicateImage, session.account, startServerUrl, global.metadataStatusHideInView) } else if showOnlyVideos { - return NSPredicate(format: showOnlyPredicateVideo, - session.account, - startServerUrl, - global.metadataStatusHideInView) + predicate = NSPredicate(format: showOnlyPredicateVideo, session.account, startServerUrl, global.metadataStatusHideInView) } else { - return NSPredicate(format: showBothPredicate, - session.account, - startServerUrl, - global.metadataStatusHideInView) + predicate = NSPredicate(format: showBothPredicate, session.account, startServerUrl, global.metadataStatusHideInView) } + + return predicate } // MARK: - + struct images { + static var file = UIImage() + + static var shared = UIImage() + static var canShare = UIImage() + static var shareByLink = UIImage() + static var sharedWithMe = UIImage() + + static var favorite = UIImage() + static var comment = UIImage() + static var livePhoto = UIImage() + static var offlineFlag = UIImage() + static var local = UIImage() + + static var folderEncrypted = UIImage() + static var folderSharedWithMe = UIImage() + static var folderPublic = UIImage() + static var folderGroup = UIImage() + static var folderExternal = UIImage() + static var folderAutomaticUpload = UIImage() + static var folder = UIImage() + + static var checkedYes = UIImage() + static var checkedNo = UIImage() + + static var buttonMore = UIImage() + static var buttonStop = UIImage() + static var buttonMoreLock = UIImage() + + static var buttonRestore = UIImage() + static var buttonTrash = UIImage() + + static var iconContacts = UIImage() + static var iconTalk = UIImage() + static var iconCalendar = UIImage() + static var iconDeck = UIImage() + static var iconMail = UIImage() + static var iconConfirm = UIImage() + static var iconPages = UIImage() + static var iconFile = UIImage() + } + + func createImagesCache() { + let utility = NCUtility() + + images.file = UIImage(named: "file")! + + images.shared = UIImage(named: "share")!.image(color: NCBrandColor.shared.iconImageColor, size: 24)//50) + images.canShare = UIImage(named: "share")!.image(color: NCBrandColor.shared.iconImageColor, size: 24)//50) + images.shareByLink = UIImage(named: "sharebylink")!.image(color: NCBrandColor.shared.iconImageColor, size: 24)//50) + images.sharedWithMe = UIImage.init(named: "cloudUpload")!.image(color: NCBrandColor.shared.nmcIconSharedWithMe, size: 24)//50) + +// images.favorite = utility.loadImage(named: "star.fill", colors: [NCBrandColor.shared.yellowFavorite]) + images.comment = UIImage(named: "comment")!.image(color: NCBrandColor.shared.iconImageColor, size: 24)//50) + images.livePhoto = utility.loadImage(named: "livephoto", colors: [.label]) + images.offlineFlag = utility.loadImage(named: "arrow.down.circle.fill", colors: [.systemGreen], size: 24) + images.local = utility.loadImage(named: "checkmark.circle.fill", colors: [.systemGreen], size: 24) + + images.checkedYes = UIImage(named: "checkedYes")! + images.checkedNo = utility.loadImage(named: "circle", colors: [NCBrandColor.shared.iconImageColor], size: 24) + + images.buttonMore = UIImage(named: "more")!.image(color: NCBrandColor.shared.iconImageColor, size: 24)//50) + images.buttonStop = utility.loadImage(named: "stop.circle", colors: [NCBrandColor.shared.iconImageColor], size: 24) + images.buttonMoreLock = utility.loadImage(named: "lock.fill", colors: [NCBrandColor.shared.iconImageColor], size: 24) + images.buttonRestore = UIImage(named: "restore")!.image(color: NCBrandColor.shared.iconImageColor, size: 24)//50) + images.buttonTrash = UIImage(named: "trashIcon")!.image(color: NCBrandColor.shared.iconImageColor, size: 24)//50) + + createImagesBrandCache() + } + + func createImagesBrandCache() { + + let brandElement = NCBrandColor.shared.brandElement + guard brandElement != self.brandElementColor else { return } + self.brandElementColor = brandElement + + let folderWidth: CGFloat = UIScreen.main.bounds.width / 3 + let utility = NCUtility() + + images.folderEncrypted = UIImage(named: "folderEncrypted")! + images.folderSharedWithMe = UIImage(named: "folder-share")! + images.folderPublic = UIImage(named: "folder-share")! + images.folderGroup = UIImage(named: "folder_group")! + images.folderExternal = UIImage(named: "folder_external")! + images.folderAutomaticUpload = UIImage(named: "folder-photo")! + images.folder = UIImage(named: "folder_nmcloud")! + + images.iconContacts = UIImage(named: "icon-contacts")!.image(color: brandElement, size: folderWidth) + images.iconTalk = UIImage(named: "icon-talk")!.image(color: brandElement, size: folderWidth) + images.iconCalendar = UIImage(named: "icon-calendar")!.image(color: brandElement, size: folderWidth) + images.iconDeck = UIImage(named: "icon-deck")!.image(color: brandElement, size: folderWidth) + images.iconMail = UIImage(named: "icon-mail")!.image(color: brandElement, size: folderWidth) + images.iconConfirm = UIImage(named: "icon-confirm")!.image(color: brandElement, size: folderWidth) + images.iconPages = UIImage(named: "icon-pages")!.image(color: brandElement, size: folderWidth) +// images.iconFile = UIImage(named: "icon-file")!.image(color: brandElement, size: folderWidth) + + NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterChangeTheming) + } + func getImageFile(colors: [UIColor] = [NCBrandColor.shared.iconImageColor2]) -> UIImage { - return utility.loadImage(named: "doc", colors: colors) + return UIImage(named: "file")!.image(color: colors.first!, size: 24) } - func getImageShared(colors: [UIColor] = NCBrandColor.shared.iconImageMultiColors) -> UIImage { - return utility.loadImage(named: "person.fill.badge.plus", colors: colors) + func getImageShared(colors: [UIColor] = [NCBrandColor.shared.iconSystemGrayColor]) -> UIImage { + return utility.loadImage(named: "share", colors: colors, size: 24) } - func getImageCanShare(colors: [UIColor] = NCBrandColor.shared.iconImageMultiColors) -> UIImage { - return utility.loadImage(named: "person.fill.badge.plus", colors: colors) + func getImageCanShare(colors: [UIColor] = [NCBrandColor.shared.iconSystemGrayColor]) -> UIImage { + return utility.loadImage(named: "share", colors: colors, size: 24) } - func getImageShareByLink(colors: [UIColor] = [NCBrandColor.shared.iconImageColor]) -> UIImage { - return utility.loadImage(named: "link", colors: colors) + func getImageShareByLink(colors: [UIColor] = [NCBrandColor.shared.iconSystemGrayColor]) -> UIImage { + return utility.loadImage(named: "share", colors: colors, size: 24) } + func getImageSharedWithMe(colors: [UIColor] = [NCBrandColor.shared.iconSystemGrayColor]) -> UIImage { + return utility.loadImage(named: "cloudUpload", colors: [NCBrandColor.shared.nmcIconSharedWithMe], size: 24) + } + func getImageFavorite(colors: [UIColor] = [NCBrandColor.shared.yellowFavorite]) -> UIImage { - return utility.loadImage(named: "star.fill", colors: colors) + return utility.loadImage(named: "star.fill", colors: colors, size: 24) } func getImageOfflineFlag(colors: [UIColor] = [.systemGreen]) -> UIImage { - return utility.loadImage(named: "arrow.down.circle.fill", colors: colors) + return utility.loadImage(named: "arrow.down.circle.fill", colors: colors, size: 24) } func getImageLocal(colors: [UIColor] = [.systemGreen]) -> UIImage { - return utility.loadImage(named: "checkmark.circle.fill", colors: colors) + return utility.loadImage(named: "checkmark.circle.fill", colors: colors, size: 24) } - func getImageCheckedYes(color: UIColor) -> UIImage? { - let config = UIImage.SymbolConfiguration(paletteColors: [.white, color]) - return UIImage(systemName: "checkmark.circle.fill", withConfiguration: config) + func getImageCheckedYes(colors: [UIColor] = [NCBrandColor.shared.iconImageColor]) -> UIImage { + return UIImage(named: "checkedYes")! } - func getImageCheckedNo(color: UIColor) -> UIImage? { - let weightConfig = UIImage.SymbolConfiguration(weight: .light) - let colorConfig = UIImage.SymbolConfiguration(paletteColors: [color]) - let config = weightConfig.applying(colorConfig) - return UIImage(systemName: "circle", withConfiguration: config) + func getImageCheckedNo(colors: [UIColor] = [NCBrandColor.shared.iconImageColor]) -> UIImage { + return utility.loadImage(named: "circle", colors: colors, size: 24) } func getImageButtonMore(colors: [UIColor] = [NCBrandColor.shared.iconImageColor]) -> UIImage { - return utility.loadImage(named: "ellipsis", colors: colors) + return UIImage(named: "more")!.image(color: .systemGray, size: 24) } func getImageButtonStop(colors: [UIColor] = [NCBrandColor.shared.iconImageColor]) -> UIImage { - return utility.loadImage(named: "stop.circle", colors: colors) + return utility.loadImage(named: "stop.circle", colors: colors, size: 24) } func getImageButtonMoreLock(colors: [UIColor] = [NCBrandColor.shared.iconImageColor]) -> UIImage { - return utility.loadImage(named: "lock.fill", colors: colors) + return utility.loadImage(named: "lock.fill", colors: colors, size: 24) } - func getFolder(account: String) -> UIImage { - return UIImage(named: "folder")!.image(color: NCBrandColor.shared.getElement(account: account)) + func getFolder() -> UIImage { + return UIImage(named: "folder")! } - func getFolderEncrypted(account: String) -> UIImage { - return UIImage(named: "folderEncrypted")!.image(color: NCBrandColor.shared.getElement(account: account)) + func getFolderEncrypted() -> UIImage { + return UIImage(named: "folderEncrypted")! } - func getFolderSharedWithMe(account: String) -> UIImage { - return UIImage(named: "folder_shared_with_me")!.image(color: NCBrandColor.shared.getElement(account: account)) + func getFolderSharedWithMe() -> UIImage { + return UIImage(named: "folder_shared_with_me")! } - func getFolderPublic(account: String) -> UIImage { - return UIImage(named: "folder_public")!.image(color: NCBrandColor.shared.getElement(account: account)) + func getFolderPublic() -> UIImage { + return UIImage(named: "folder_public")! } - func getFolderGroup(account: String) -> UIImage { - return UIImage(named: "folder_group")!.image(color: NCBrandColor.shared.getElement(account: account)) + func getFolderGroup() -> UIImage { + return UIImage(named: "folder_group")! } - func getFolderExternal(account: String) -> UIImage { - return UIImage(named: "folder_external")!.image(color: NCBrandColor.shared.getElement(account: account)) + func getFolderExternal() -> UIImage { + return UIImage(named: "folder_external")! } - func getFolderAutomaticUpload(account: String) -> UIImage { - return UIImage(named: "folderAutomaticUpload")!.image(color: NCBrandColor.shared.getElement(account: account)) + func getFolderAutomaticUpload() -> UIImage { + return UIImage(named: "folderAutomaticUpload")! } } diff --git a/iOSClient/NMC Custom Views/FolderPathCustomCell.swift b/iOSClient/NMC Custom Views/FolderPathCustomCell.swift new file mode 100644 index 0000000000..cb7553eda7 --- /dev/null +++ b/iOSClient/NMC Custom Views/FolderPathCustomCell.swift @@ -0,0 +1,34 @@ +// +// FolderPathCustomCell.swift +// Nextcloud +// +// Created by A200073704 on 04/05/23. +// Copyright © 2023 Marino Faggiana. All rights reserved. +// + +import UIKit +import XLForm + +class FolderPathCustomCell: XLFormButtonCell{ + + @IBOutlet weak var photoLabel: UILabel! + @IBOutlet weak var folderImage: UIImageView! + @IBOutlet weak var bottomLineView: UIView! + + override func awakeFromNib() { + super.awakeFromNib() + } + + override func configure() { + super.configure() + } + + override func update() { + super.update() + if (rowDescriptor.tag == "PhotoButtonDestinationFolder"){ + bottomLineView.isHidden = true + }else{ + bottomLineView.isHidden = false + } + } +} diff --git a/iOSClient/NMC Custom Views/FolderPathCustomCell.xib b/iOSClient/NMC Custom Views/FolderPathCustomCell.xib new file mode 100644 index 0000000000..caca063abf --- /dev/null +++ b/iOSClient/NMC Custom Views/FolderPathCustomCell.xib @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/NMC Custom Views/NCCreateDocumentCustomTextField.swift b/iOSClient/NMC Custom Views/NCCreateDocumentCustomTextField.swift new file mode 100644 index 0000000000..3983e413a6 --- /dev/null +++ b/iOSClient/NMC Custom Views/NCCreateDocumentCustomTextField.swift @@ -0,0 +1,71 @@ +// +// NCCreateDocumentCustomTextField.swift +// Nextcloud +// +// Created by A200073704 on 04/05/23. +// Copyright © 2023 Marino Faggiana. All rights reserved. +// + +import UIKit +import XLForm + +class NCCreateDocumentCustomTextField: XLFormBaseCell,UITextFieldDelegate { + + @IBOutlet weak var fileNameTextField: UITextField! + + override func awakeFromNib() { + super.awakeFromNib() + // Initialization code + + fileNameTextField.delegate = self + + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + + // Configure the view for the selected state + } + + override func configure() { + super.configure() + } + + override func update() { + super.update() + } + + func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { + + if fileNameTextField == textField { + if let rowDescriptor = rowDescriptor { + if let text = textField.text{ + if (text + " ").isEmpty == false { + rowDescriptor.value = self.fileNameTextField.text! + string + } else { + rowDescriptor.value = nil + } + } + } + } + + self.formViewController().textField(textField, shouldChangeCharactersIn: range, replacementString: string) + + + return true + } + + func textFieldShouldReturn(_ textField: UITextField) -> Bool { + self.formViewController()?.textFieldShouldReturn(fileNameTextField) + return true + } + + func textFieldShouldClear(_ textField: UITextField) -> Bool { + self.formViewController()?.textFieldShouldClear(fileNameTextField) + return true + } + + override class func formDescriptorCellHeight(for rowDescriptor: XLFormRowDescriptor!) -> CGFloat { + return 45 + } +} diff --git a/iOSClient/NMC Custom Views/NCCreateDocumentCustomTextField.xib b/iOSClient/NMC Custom Views/NCCreateDocumentCustomTextField.xib new file mode 100644 index 0000000000..3fd86bb2d6 --- /dev/null +++ b/iOSClient/NMC Custom Views/NCCreateDocumentCustomTextField.xib @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iOSClient/SceneDelegate.swift b/iOSClient/SceneDelegate.swift index 9687113c67..1fb61a9ab6 100644 --- a/iOSClient/SceneDelegate.swift +++ b/iOSClient/SceneDelegate.swift @@ -6,14 +6,12 @@ import Foundation import UIKit import NextcloudKit import WidgetKit +import SwiftEntryKit import SwiftUI import CoreLocation -import LucidBanner class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? - var lucidBanner: LucidBanner? - private let appDelegate = UIApplication.shared.delegate as? AppDelegate private var privacyProtectionWindow: UIWindow? private let global = NCGlobal.shared @@ -23,11 +21,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { guard let windowScene = (scene as? UIWindowScene) else { return } + // Ensure MoEngage is initialized for multi-scene setups +// MoEngageAnalytics.setupIfNeeded() + let versionApp = NCUtility().getVersionMaintenance() var lastVersion: String? - lucidBanner = LucidBannerRegistry.shared.banner(for: windowScene) - if let groupDefaults = UserDefaults(suiteName: NCBrandOptions.shared.capabilitiesGroup) { lastVersion = groupDefaults.string(forKey: NCGlobal.shared.udLastVersion) groupDefaults.set(versionApp, forKey: global.udLastVersion) @@ -68,6 +67,13 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } else { self.startNextcloud(scene: scene, withActivateSceneForAccount: false) } + +// if let tabBarController = window?.rootViewController as? UITabBarController { +// if #available(iOS 18.0, *) { +// // Forces the "Compact" (iPhone) size class so the tab bar stays at the bottom +// tabBarController.traitOverrides.horizontalSizeClass = .compact +// } +// } } private func startNextcloud(scene: UIScene, withActivateSceneForAccount activateSceneForAccount: Bool) { @@ -114,7 +120,11 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { NCPreferences().removeAll() if let bundleID = Bundle.main.bundleIdentifier { + let lastUpdateCheckDate = UserDefaults.standard.object(forKey: AppUpdaterKey.lastUpdateCheckDate) UserDefaults.standard.removePersistentDomain(forName: bundleID) + if lastUpdateCheckDate != nil { + UserDefaults.standard.setValue(lastUpdateCheckDate, forKey: AppUpdaterKey.lastUpdateCheckDate) + } } if NCBrandOptions.shared.disable_intro { @@ -124,7 +134,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { window?.makeKeyAndVisible() } } else { - if let navigationController = UIStoryboard(name: "NCIntro", bundle: nil).instantiateInitialViewController() as? UINavigationController { + if let viewController = UIStoryboard(name: "NCIntro", bundle: nil).instantiateInitialViewController() as? NCIntroViewController { + let navigationController = UINavigationController(rootViewController: viewController) window?.rootViewController = navigationController window?.makeKeyAndVisible() } @@ -147,9 +158,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { NotificationCenter.default.postOnMainThread(name: self.global.notificationCenterChangeTheming, userInfo: ["account": activeTblAccount.account]) } - // Start Networking Process + // Set up networking session await NCNetworkingProcess.shared.setCurrentAccount(activeTblAccount.account) - await NCNetworkingProcess.shared.startTimer(interval: NCNetworkingProcess.shared.maxInterval) } // Set up networking session for all configured accounts @@ -184,6 +194,10 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { // window?.rootViewController = controller window?.makeKeyAndVisible() + // Re-evaluate in-app messages after main interface is visible +// Task { @MainActor in + MoEngageAnalytics.shared.displayInAppNotificationSafely(reason: "main interface launched") +// } // if activateSceneForAccount { self.activateSceneForAccount(scene, account: activeTblAccount.account, controller: controller) @@ -197,11 +211,6 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } func sceneDidDisconnect(_ scene: UIScene) { - guard let windowScene = scene as? UIWindowScene else { return } - - LucidBannerRegistry.shared.remove(for: windowScene) - lucidBanner = nil - print("[DEBUG] Scene did disconnect") } @@ -220,18 +229,31 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } func sceneDidBecomeActive(_ scene: UIScene) { - hidePrivacyProtectionWindow() + + let session = SceneManager.shared.getSession(scene: scene) + let controller = SceneManager.shared.getController(scene: scene) + nkLog(info: "Scene did become active") + + let oldVersion = UserDefaults.standard.value(forKey: NCSettingsBundleHelper.SettingsBundleKeys.BuildVersionKey) as? String + AppUpdater().checkForUpdate() + AnalyticsHelper.shared.trackAppVersion(oldVersion: oldVersion) + if let userAccount = NCManageDatabase.shared.getActiveTableAccount() { + AnalyticsHelper.shared.trackUsedStorageData(quotaUsed: userAccount.quotaUsed) + } + + NCSettingsBundleHelper.setVersionAndBuildNumber() + NCSettingsBundleHelper.checkAndExecuteSettings(delay: 0.5) + + // Re-evaluate in-app messages when scene becomes active +// Task { @MainActor in + MoEngageAnalytics.shared.displayInAppNotificationSafely(reason: "scene did become active") +// } + +// DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { +// MoEngageAnalytics.shared.requestAppStoreReview() +// } - if !NextcloudKit.shared.isNetworkReachable(), - let windowScenee = SceneManager.shared.getWindow(scene: scene)?.windowScene { - Task { - await showWarningBanner(windowScene: windowScenee, - subtitle: "_network_not_available_", - systemImage: "wifi.exclamationmark.circle", - imageAnimation: .bounce, - errorCode: NSURLErrorNotConnectedToInternet) - } - } + hidePrivacyProtectionWindow() } func sceneWillResignActive(_ scene: UIScene) { @@ -243,7 +265,13 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } if NCPreferences().privacyScreenEnabled { - showPrivacyProtectionWindow() + if SwiftEntryKit.isCurrentlyDisplaying { + SwiftEntryKit.dismiss { + self.showPrivacyProtectionWindow() + } + } else { + showPrivacyProtectionWindow() + } } } @@ -293,7 +321,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { return true } group.addTask { - try? await Task.sleep(for: .seconds(25)) + try? await Task.sleep(nanoseconds: 25 * 1_000_000_000) // ~25s return false } return await group.next() ?? false @@ -319,53 +347,21 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { return } - func getMatchedAccount(user: String, url: String, account: String? = nil) async -> tableAccount? { + func getMatchedAccount(userId: String, url: String) async -> tableAccount? { let tblAccounts = await NCManageDatabase.shared.getAllTableAccountAsync() for tblAccount in tblAccounts { - let host = URL(string: tblAccount.urlBase)?.host() ?? "" - - if (account == tblAccount.account) || (url.contains(host) && user == tblAccount.userId) { + let urlBase = URL(string: tblAccount.urlBase) + if url.contains(urlBase?.host ?? "") && userId == tblAccount.userId { await NCAccount().changeAccount(tblAccount.account, userProfile: nil, controller: controller) // wait switch account - try? await Task.sleep(for: .seconds(1)) + try? await Task.sleep(nanoseconds: 1_000_000_000) return tblAccount } } return nil } - /* - Example: nextcloud://assistant/shared-text - */ - - if scheme == global.appScheme, action == "assistant", url.path == "/shared-text" { - guard let text = NCAssistantSharedTextStore.loadAndClear() else { - return - } - - Task { @MainActor in - let capabilities = await NKCapabilities.shared.getCapabilities(for: controller.account) - if capabilities.assistantEnabled { - let inputModel = NCAssistantInputModel(initialText: text) - let assistant = NCAssistant(assistantModel: NCAssistantModel(controller: controller, inputModel: inputModel), chatModel: NCAssistantChatModel(controller: controller, inputModel: inputModel), conversationsModel: NCAssistantChatConversationsModel(controller: controller)) - let hostingController = UIHostingController(rootView: assistant) - controller.present(hostingController, animated: true, completion: nil) - } else { - try? await Task.sleep(for: .seconds(1)) - await showBanner(windowScene: scene as? UIWindowScene, - title: "_info_", - subtitle: "_no_assistant_installed_", - systemImage: "sparkles", - imageAnimation: .none, - imageColor: .systemBlue - ) - } - } - - return - } - /* Example: nextcloud://open-action?action=create-voice-memo&&user=marinofaggiana&url=https://cloud.nextcloud.com */ @@ -380,12 +376,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } Task { - if await getMatchedAccount(user: userScheme, url: urlScheme) == nil { - let message = String( - format: NSLocalizedString("account_does_not_exist", comment: ""), - userScheme, - ) - + if await getMatchedAccount(userId: userScheme, url: urlScheme) == nil { + let message = NSLocalizedString("_the_account_", comment: "") + " " + userScheme + NSLocalizedString("_of_", comment: "") + " " + urlScheme + " " + NSLocalizedString("_does_not_exist_", comment: "") let alertController = UIAlertController(title: NSLocalizedString("_info_", comment: ""), message: message, preferredStyle: .alert) alertController.addAction(UIAlertAction(title: NSLocalizedString("_ok_", comment: ""), style: .default, handler: { _ in })) @@ -437,42 +429,36 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { else if scheme == self.global.appScheme && action == "open-file" { if let urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false) { + var serverUrl: String = "" + var fileName: String = "" let queryItems = urlComponents.queryItems guard let userScheme = queryItems?.filter({ $0.name == "user" }).first?.value, - // let pathScheme = queryItems?.filter({ $0.name == "path" }).first?.value, - let linkScheme = queryItems?.filter({ $0.name == "link" }).first?.value else { - return - } - let domain = URL(string: linkScheme)?.host ?? "" - let accountScheme = queryItems?.filter({ $0.name == "account" }).first?.value + let pathScheme = queryItems?.filter({ $0.name == "path" }).first?.value, + let linkScheme = queryItems?.filter({ $0.name == "link" }).first?.value else { return} Task { - guard let tblAccount = await getMatchedAccount(user: userScheme, url: linkScheme, account: accountScheme) else { + guard let tblAccount = await getMatchedAccount(userId: userScheme, url: linkScheme) else { + guard let domain = URL(string: linkScheme)?.host else { return } - let message = String(format: NSLocalizedString("_account_not_available_", comment: ""), userScheme, domain) + fileName = (pathScheme as NSString).lastPathComponent + let message = String(format: NSLocalizedString("_account_not_available_", comment: ""), userScheme, domain, fileName) let alertController = UIAlertController(title: NSLocalizedString("_info_", comment: ""), message: message, preferredStyle: .alert) alertController.addAction(UIAlertAction(title: NSLocalizedString("_ok_", comment: ""), style: .default, handler: { _ in })) controller.present(alertController, animated: true) return } + let davFiles = "remote.php/dav/files/" + tblAccount.userId - let results = await NextcloudKit.shared.getFileFromFileIdAsync(link: linkScheme, - account: tblAccount.account) - if results.error == .success, let file = results.file { - let metadata = await NCManageDatabaseCreateMetadata().convertFileToMetadataAsync(file) - await NCManageDatabase.shared.addMetadataAsync(metadata) - if metadata.hasPreview { - let results = await NextcloudKit.shared.downloadPreviewAsync(fileId: metadata.fileId, etag: metadata.etag, account: metadata.account) - if results.error == .success, - let data = results.responseData?.data { - NCUtility().createImageFileFrom(data: data, metadata: metadata) - } - } - await NCNetworking.shared.openFileView(serverUrl: metadata.serverUrl, - metadata: metadata, - sceneIdentifier: controller.sceneIdentifier) + if pathScheme.contains("/") { + fileName = (pathScheme as NSString).lastPathComponent + serverUrl = tblAccount.urlBase + "/" + davFiles + "/" + (pathScheme as NSString).deletingLastPathComponent + } else { + fileName = pathScheme + serverUrl = tblAccount.urlBase + "/" + davFiles } + + NCNetworking.shared.openFileViewInFolder(serverUrl: serverUrl, fileNameBlink: nil, fileNameOpen: fileName, sceneIdentifier: controller.sceneIdentifier) } } @@ -491,18 +477,29 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } Task { - _ = await getMatchedAccount(user: userScheme, url: urlScheme) + _ = await getMatchedAccount(userId: userScheme, url: urlScheme) } } else if let action { if DeepLink(rawValue: action) != nil { NCDeepLinkHandler().parseDeepLink(url, controller: controller) } } else { - scene.open(url, options: nil) + let applicationHandle = NCApplicationHandle() + let isHandled = applicationHandle.applicationOpenURL(url) + if isHandled { + return + } else { + scene.open(url, options: nil) + } } } private func showPrivacyProtectionWindow() { + guard privacyProtectionWindow == nil else { + privacyProtectionWindow?.isHidden = false + return + } + guard let windowScene = self.window?.windowScene else { return } @@ -537,16 +534,19 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } } + // Re-evaluate in-app messages after activating scene for account + MoEngageAnalytics.shared.displayInAppNotificationSafely(reason: "activated scene for account") + Task { - try? await Task.sleep(for: .seconds(1)) + try? await Task.sleep(nanoseconds: 1_000_000_000) let num = await NCAutoUpload.shared.initAutoUpload() nkLog(start: "Auto upload with \(num) photo") - try? await Task.sleep(for: .seconds(1.5)) + try? await Task.sleep(nanoseconds: 1_500_000_000) await NCService().startRequestServicesServer(account: account, controller: controller) - try? await Task.sleep(for: .seconds(2)) + try? await Task.sleep(nanoseconds: 2_000_000_000) await NCNetworking.shared.verifyZombie() } @@ -597,8 +597,7 @@ extension SceneDelegate: NCAccountRequestDelegate { // MARK: - Scene Manager -@MainActor -final class SceneManager { +final class SceneManager: @unchecked Sendable { static let shared = SceneManager() private var sceneController: [NCMainTabBarController: UIScene] = [:] @@ -631,9 +630,7 @@ final class SceneManager { } func getWindow(scene: UIScene?) -> UIWindow? { - guard let windowScene = scene as? UIWindowScene else { return nil } - - return windowScene.keyWindow + return (scene as? UIWindowScene)?.keyWindow } func getWindow(controller: UITabBarController?) -> UIWindow? { @@ -665,33 +662,20 @@ final class SceneManager { .compactMap { $0 as? UIWindowScene } .first } - + func getWindow(sceneIdentifier: String?) -> UIWindow? { - // Try exact match via your registry - if let sceneIdentifier, - let controller = sceneController.keys.first(where: { $0.sceneIdentifier == sceneIdentifier }), - let scene = sceneController[controller] { - return getWindow(scene: scene) - } - - // Fallback: prefer a foregroundActive window scene - if let active = UIApplication.shared.connectedScenes - .compactMap({ $0 as? UIWindowScene }) - .first(where: { $0.activationState == .foregroundActive }), - let w = active.keyWindow { - return w - } + var mainTabBarController: NCMainTabBarController? - // Last resort: first connected window scene - if let any = UIApplication.shared.connectedScenes - .compactMap({ $0 as? UIWindowScene }) - .first, - let w = any.keyWindow { - return w + if let sceneIdentifier { + for controller in sceneController.keys { + if sceneIdentifier == controller.sceneIdentifier { + mainTabBarController = controller + } + } } - - // Absolute last resort (if you keep it) - return UIApplication.shared.mainAppWindow + guard let mainTabBarController, + let scene = sceneController[mainTabBarController] else { return UIApplication.shared.mainAppWindow } + return getWindow(scene: scene) } func getSceneIdentifier() -> [String] { @@ -707,3 +691,4 @@ final class SceneManager { return NCSession.shared.getSession(controller: controller) } } + diff --git a/iOSClient/Supporting Files/de.lproj/InfoPlist.strings b/iOSClient/Supporting Files/de.lproj/InfoPlist.strings index 5bd6c55098..77331077c8 100644 Binary files a/iOSClient/Supporting Files/de.lproj/InfoPlist.strings and b/iOSClient/Supporting Files/de.lproj/InfoPlist.strings differ diff --git a/iOSClient/Supporting Files/de.lproj/Localizable.strings b/iOSClient/Supporting Files/de.lproj/Localizable.strings index 87fb7be7d7..09a7bfe4ce 100644 Binary files a/iOSClient/Supporting Files/de.lproj/Localizable.strings and b/iOSClient/Supporting Files/de.lproj/Localizable.strings differ diff --git a/iOSClient/Supporting Files/en.lproj/InfoPlist.strings b/iOSClient/Supporting Files/en.lproj/InfoPlist.strings index a89b02ffae..4b23af29f9 100644 --- a/iOSClient/Supporting Files/en.lproj/InfoPlist.strings +++ b/iOSClient/Supporting Files/en.lproj/InfoPlist.strings @@ -1,8 +1,9 @@ NSCameraUsageDescription = "Camera access is required to scan documents and make photo and video."; NSFaceIDUsageDescription = "Face ID is required to authenticate using face recognition."; -NSLocationAlwaysUsageDescription = "The app uses your location to automatically trigger file uploads when you move between areas."; NSPhotoLibraryUsageDescription = "Photo library access is required to upload your photos and videos to your cloud."; NSPhotoLibraryAddUsageDescription = "Photo library access is required to upload your photos and videos to your cloud."; NSMicrophoneUsageDescription = "Microphone access is required to create voice notes."; +NSLocationAlwaysUsageDescription = "The app uses your location to automatically trigger file uploads when you move between areas."; NSLocationWhenInUseUsageDescription = "This app uses your location to detect movement and automatically upload files. It does not use GPS and does not store your location."; NSLocationAlwaysAndWhenInUseUsageDescription = "This app needs access to your location even in the background to automatically start uploading files when significant movement is detected. GPS is not used."; +NSUserTrackingUsageDescription = "Telekom uses the Apple Advertising ID to optimize and further develop the functionality of the app based on user needs, to correct any errors and to show you targeted advertising in the app and on third-party sites. You can revoke your consent at any time in the operating system."; diff --git a/iOSClient/Supporting Files/en.lproj/Localizable.strings b/iOSClient/Supporting Files/en.lproj/Localizable.strings index 77b957c141..33e59f1368 100644 --- a/iOSClient/Supporting Files/en.lproj/Localizable.strings +++ b/iOSClient/Supporting Files/en.lproj/Localizable.strings @@ -20,6 +20,7 @@ // along with this program. If not, see . // +"_itunes_" = "iTunes"; "_cancel_" = "Cancel"; "_edit_" = "Edit"; "_tap_to_cancel_" = "Tap to cancel"; @@ -27,71 +28,123 @@ "_cancel_request_" = "Do you want to cancel?"; "_upload_file_" = "Upload file"; "_download_file_" = "Download file"; +"_loading_" = "Loading"; +"_loading_with_points_" = "Loading …"; +"_loading_num_" = "Loading file %i"; +"_loading_autoupload_" = "Auto uploading"; +"_uploading_" = "Uploading"; +"_synchronization_" = "Synchronization"; "_delete_" = "Delete"; +"_delete_file_n_" = "Delete file %i of %i"; "_rename_" = "Rename"; "_rename_file_" = "Rename file"; "_rename_folder_" = "Rename folder"; "_move_" = "Move"; +"_move_file_n_" = "Move file %i of %i"; +"_creating_sharing_" = "Creating share"; +"_updating_sharing_" = "Updating share"; +"_removing_sharing_" = "Removing share"; "_add_" = "Add"; +"_login_" = "Log in"; "_save_" = "Save"; "_warning_" = "Warning"; "_error_" = "Error"; "_no_" = "No"; "_yes_" = "Yes"; "_select_" = "Select"; +"_deselect_" = "Deselect"; "_select_all_" = "Select all"; "_upload_" = "Upload"; "_home_" = "Files"; "_files_" = "Files"; +//"_files_" = "Files"; +"_home_dir_" = "Home"; +"_file_to_upload_" = "File to upload"; +"_destination_" = "Destination"; "_ok_" = "OK"; +"_beta_version_" = "Beta version"; +"_function_in_testing_" = "Function in testing, please send information about any problems you run into."; "_done_" = "Done"; "_clear_" = "Clear"; +"_passcode_too_short_" = "Passcode too short, at least 4 characters required"; "_selected_" = "Selected"; +"_scan_fingerprint_" = "Scan fingerprint to authenticate"; "_no_active_account_" = "No account found"; "_info_" = "Info"; "_warning_" = "Warning"; +"_email_" = "Email"; +"_save_exit_" = "Do you want to exit without saving?"; "_video_" = "Video"; "_overwrite_" = "Overwrite"; +"_transfers_in_queue_" = "Transfers in progress, please wait …"; +"_too_errors_upload_" = "Too many errors, please verify the problem"; "_create_" = "Create"; "_create_folder_" = "Create folder"; "_create_folder_e2ee_" = "Create encrypted folder"; +"_create_folder_on_" = "Create folder on"; "_close_" = "Close"; +"_postpone_" = "Postpone"; "_remove_" = "Remove"; "_file_not_found_" = "File not found"; "_continue_" = "Continue"; "_continue_editing_" = "Continue editing"; +"_continue_request_" = "Do you want to continue?"; "_auto_upload_folder_" = "Auto upload"; +"_gallery_" = "Gallery"; "_photo_" = "Photo"; "_audio_" = "Audio"; "_unknown_" = "Unknown"; +"_additional_view_options_" = "Additional view options"; +"_next_" = "Next"; "_success_" = "Success"; +"_initialization_" = "Initialization"; +"_experimental_" = "Experimental"; +"_select_dir_media_tab_" = "Select as folder \"Media\""; +"_error_creation_file_" = "Oops! Could not create the file"; +"_save_path_" = "Storage path"; +"_save_settings_" = "Save settings"; "_mode_filename_" = "Filename mode"; "_warning_owncloud_" = "You are connected to an ownCloud server. This is untested and unsupported, use at your own risk. To upgrade to Nextcloud, see https://nextcloud.com/migration."; "_warning_unsupported_" = "You are using an unsupported version of Nextcloud. For the safety of your data we strongly recommend updating to the latest stable Nextcloud."; "_restore_" = "Restore"; +"_camera_roll_" = "Camera roll"; "_tap_here_to_change_" = "Tap here to change"; "_no_albums_" = "No albums"; "_denied_album_" = "This app does not have access to \"Photos\". You can enable access in Privacy Settings."; "_denied_camera_" = "This app does not have access to the \"Camera\". You can enable access in Privacy Settings."; +"_start_" = "Start"; "_force_start_" = "Force the start"; -"_account_does_not_exist_" = "The account %@ does not exist. Please log in again."; +"_account_not_available_" = "The account %@ of %@ does not exist, please add it to be able to read the file %@."; +"_the_account_" = "The account"; +"_does_not_exist_" = "does not exist"; +"_purchase_" = "Purchase"; +"_account_not_exists_" = "The account %@ of %@ does not exist"; +"_account_not_available_" = "The account %@ of %@ does not exist, please add it to be able to read the file %@"; +"_the_account_" = "The account"; +"_does_not_exist_" = "does not exist"; +"_error_parameter_schema_" = "Wrong parameters, impossible to continue"; +"_comments_" = "Comments"; "_sharing_" = "Sharing"; -"_details_" = "Details"; +"_details_" = "Share"; +//"_details_" = "Details"; +"_sub_details_" = "Subscription Details"; +"_subscriptions_" = "Subscriptions"; +"_dark_mode_" = "Dark mode"; +"_dark_mode_detect_" = "Detect iOS dark mode"; +"_screen_" = "Screen"; +"_wipe_account_" = "Account is wiped from server"; +"_appconfig_view_title_" = "Account configuration in progress …"; "_no_permission_add_file_" = "You don't have permission to add files."; "_no_permission_delete_file_" = "You don't have permission to delete files."; "_no_permission_modify_file_" = "You don't have permission to modify files."; "_no_permission_favorite_file_" = "You don't have permission to add the file to your favorites."; +"_request_upload_new_ver_" = "The file has been modified, do you want to upload the new version?"; "_add_folder_info_" = "Add folder info"; "_back_" = "Back"; "_search_" = "Search"; -"_search_or_create_tags" = "Search or create tag"; -"_tags_" = "Tags"; -"_share_tags_create_" = "Create \"%@\""; -"_share_tags_no_results_" = "No tags found"; -"_share_tags_added_named_" = "Tag %@ has been created."; -"_edit_tags_" = "Manage tags"; -"_create_tag_error_" = "New tag could not be created. Please try again."; "_of_" = "of"; +"_internal_modify_" = "Edit with internal editor"; +"_database_corrupt_" = "Oops something went wrong, please enter your credentials but don't worry, your files have remained secure"; "_livephoto_save_" = "Save Live Photo to Photo Album"; "_livephoto_save_error_" = "Error during save of Live Photo."; "_livephoto_no_" = "Disable Live Photo"; @@ -107,9 +160,14 @@ "_copy_" = "Copy"; "_now_" = "Now"; "_wait_" = "Please wait …"; +"_attention_" = "Attention"; "_recent_" = "Recent"; "_view_in_folder_" = "View in folder"; "_leave_share_" = "Leave this share"; +"_premium_" = "Premium"; +"_professional_" = "Professional"; +"_current_" = "Current"; +"_buy_" = "Buy"; "_disabled_" = "Disabled"; "_compact_" = "Compact"; "_normal_" = "Normal"; @@ -139,24 +197,52 @@ "_locked_by_" = "Locked by %@"; "_file_locked_no_override_" = "This file is locked. It cannot be overridden."; "_lock_no_permissions_selected_" = "Not allowed for some selected files or folders."; +/* Remove a file from a list, don't delete it entirely */ "_remove_file_" = "Remove file"; + +/* Delete file and put it into the trash */ "_delete_file_" = "Delete file"; "_delete_folder_" = "Delete folder"; +"_delete_photo_" = "Delete photo"; +"_delete_video_" = "Delete video"; +"_automatic_Download_Image_" = "Use images in full resolution"; +"_automatic_Download_Image_footer_" = "When viewing images always download, if not available locally, the images in full resolution"; "_size_" = "Size"; -"_set_user_status_" = "Online status"; +//"_set_user_status_" = "Online status"; "_set_user_status_message_" = "Status message"; +"_file_size_" = "Exported file size"; +"_dimension_" = "Dimension"; +"_duration_" = "Duration"; +"_model_" = "Model"; +"_set_user_status_" = "Set user status"; "_open_settings_" = "Open settings"; +"_rename_ext_title_" = "Change file type?"; +"_rename_ext_message_" = "This file may behave differently if you change it from .%@ to %@"; +"_use_" = "Use"; +"_keep_" = "Keep"; +"_account_request_" = "Request account"; "_settings_account_request_" = "Request account at startup"; +"_print_" = "Print"; "_alias_" = "Alias"; -"_alias_placeholder_" = "Write alias"; -"_alias_footer_" = "Give your accounts a descriptive name such as Home, Office, School…"; +//"_alias_placeholder_" = "Write alias"; +//"_alias_footer_" = "Give your accounts a descriptive name such as Home, Office, School…"; +"_alias_placeholder_" = "Write the alias"; +"_alias_footer_" = "Give your account names a descriptive name such as Home, Office, School …"; +"_chunk_size_mb_" = "Chunk size in MB"; +"_chunk_footer_title_" = "Chunked file upload (0 is disabled)\nImportant: the chunked upload works only when the app is \"active\"."; "_privacy_legal_" = "Privacy and Legal Policy"; "_source_code_" = "Get source code"; "_account_select_" = "Select the account"; "_account_select_to_add_" = "Select the account to add"; +"_host_insert_" = "Insert the host name, for example:"; +"_certificate_not_found_" = "File %@ in documents directory not found."; +"_copy_failed_" = "Copy failed"; +"_certificate_installed_" = "Certificate installed"; "_remove_local_account_" = "Remove local account"; "_want_delete_account_" = "Do you want to remove local account?"; "_prevent_http_redirection_"= "The redirection in HTTP is not permitted."; +"_pdf_vertical_" = "PDF vertical display"; +"_pdf_horizontal_" = "PDF horizontal display"; "_single_file_conflict_title_" = "File conflict"; "_multi_file_conflict_title_" = "%@ File conflicts"; "_replace_action_title_" = "Replace"; @@ -174,6 +260,33 @@ "_change_lock_passcode_" = "Change passcode"; "_lock_cannot_disable_mdm_" = "Disabling the passcode lock is not permitted by your configuration profile."; +//TOPasscodeSettingsViewController.m +"_enter_passcode_" = "Enter Passcode"; +"_passcodes_didnt_match_try_again_" = "Passcodes didn't match. Try again."; +"_passcode_options_" = "Passcode Options"; +//"_next_" = "Next"; +"_enter_your_passcode_" = "Enter your passcode"; +"_enter_a_new_passcode_" = "Enter a new passcode"; +"_confirm_new_passcode_" = "Confirm new passcode"; +"_4_digit_numeric_code_" = "4-Digit Numeric Code"; +"_6_digit_numeric_code_" = "6-Digit Numeric Code"; +"_custom_numeric_code_" = "Custom Numeric Code"; +"_custom_alphanumeric_code_" = "Custom Alphanumeric Code"; + +//TOPasscodeSettingsWarningLabel.m +"_1_failed_passcode_attempt" = "1 Failed Passcode Attempt"; +"_failed_passcode_attempts" = "%ld Failed Passcode Attempts"; + +/* Background of the file listing view */ +"_use_as_background_" = "Use it as a background"; + +/* Background of the file listing view */ +"_background_" = "Background"; + +"_dark_mode_" = "Dark mode"; +"_default_color_" = "Use the default color"; +"_as_default_color_" = "Use as default color"; + // MARK: User Status /* User status */ @@ -203,6 +316,7 @@ "_status_message_" = "Status message"; "_status_message_placehorder_" = "What is your status?"; "_online_status_" = "Online status"; +"_clear_status_message_" = "Clear status message"; "_set_status_message_" = "Set status message"; "_clear_status_message_after_" = "Clear status after"; @@ -220,49 +334,149 @@ "_hours_" = "Hours"; "_minutes_" = "Minutes"; - +"_network_available_" = "Network available."; "_network_not_available_" = "Network unavailable."; -"_file_already_exists_" = "Unable to complete the operation, a file with the same name exists."; +"_file_too_big_" = "File too large to be encrypted/decrypted"; +"_file_too_big_max_100_" = "File too large (max 100 kb.)"; +"_...loading..._" = "Loading …"; +"_download_plist_" = " "; +"_no_reuploadfile_" = "Could not find nor resend file. Delete the upload and reload the file to upload it."; +//"_file_already_exists_" = "Unable to complete the operation, a file with the same name exists."; +//"_file_already_exists_" = "Unable to complete the operation, a file with the same name exists."; +"_read_file_error_" = "Could not read the file"; +"_write_file_error_" = "Could not write the file"; "_files_lock_error_" = "There was an error changing the lock of this file."; "_more_" = "More"; "_notifications_" = "Notifications"; +"_logout_" = "Log out"; "_quota_space_unlimited_" = "Unlimited"; "_quota_space_unknown_" = "Unknown"; "_quota_using_" = "You are using %@ of %@"; +//"_quota_using_" = "%@ "; +"_quota_using_of_" = "of %@"; +"_quota_using_percentage_" = "Memory to %@ occupied"; "_acknowledgements_" = "Acknowledgements"; "_settings_" = "Settings"; +"_passcode_" = "Password"; "_enter_password_" = "Enter password …"; "_lock_" = "Lock"; "_lock_active_" = "Lock: On"; "_lock_not_active_" = "Lock: Off"; "_lock_protection_no_screen_" = "Do not ask at startup"; +"_lock_protection_no_screen_footer_" = "Use \"Do not ask at startup\" for the encryption option."; "_enable_touch_face_id_" = "Enable Touch/Face ID"; +"_face_id_" = "Face ID"; +"_touch_id_" = "Touch ID"; +"_security_" = "Security"; +"_data_protection_" = "Data protection"; +"_privacy_settings_" = "Privacy Settings"; +"_used_opensource_software_" = "OpenSource software used"; +"_service_" = "Service"; +"_imprint_" = "Imprint"; +"_magentacloud_version_" = "MagentaCLOUD Version"; +"_your_secure_cloud_storage_" = "Your secure cloud storage"; +"_url_" = "URL"; +"_username_" = "Username"; +"_change_credentials_" = "Change your credentials"; "_wifi_only_" = "Only use Wi-Fi connection"; -"_settings_autoupload_" = "Auto upload photos"; +//"_settings_autoupload_" = "Auto upload photos"; +"_settings_autoupload_" = "Auto upload"; +"_app_version_" = "Application version"; +"_app_in_use_" = "Application in use"; +"_contact_by_email_" = "Contact us by email"; "_clear_cache_" = "Clear cache"; "_clear_cache_footer_" = "Clear downloaded and offline files from the app"; -"_exit_" = "Reset application"; +"_exit_" = "Logout"; "_exit_footer_" = "Remove all accounts and local data from the app."; +"_funct_not_enabled_" = "Functionality not enabled"; +"_passcode_activate_" = "Password lock on"; +"_disabling_passcode_" = "Removing password lock"; "_want_exit_" = "Attention! Will be reset to initial state. Continue?"; +"_proceed_" = "Proceed"; +"_delete_cache_" = "Delete cache"; "_want_delete_cache_" = "Do you want to delete the cache (this also removes the transfers in progress)?"; +"_want_delete_thumbnails_" = "Do you want to delete all thumbnails too?"; +"_mail_deleted_" = "Email deleted"; +"_mail_saved_" = "Email saved"; +"_mail_sent_" = "Email sent"; +"_mail_failure_" = "Could not send email: %@"; +"_information_req_" = "Information request"; +"_write_in_english_" = "Kindly write to us in English"; +"_credentials_" = "Credentials"; +"_manage_account_" = "Manage account"; +"_change_password_" = "Change password"; "_add_account_" = "Add account"; -"_want_delete_" = "You will delete the following: "; +//"_want_delete_" = "You will delete the following: "; +//"_want_leave_share_" = "You will leave the following shares: "; +"_delete_account_" = "Remove account"; +"_delete_active_account_" = "Remove active account"; +"_want_delete_" = "Do you really want to delete?"; +"_want_leave_share_" = "You will leave the following shares: "; +"_delete_account_" = "Remove account"; +"_delete_active_account_" = "Remove active account"; +"_want_delete_" = "Do you really want to delete?"; "_want_leave_share_" = "You will leave the following shares: "; "_no_delete_" = "No, do not delete"; "_yes_delete_" = "Yes, delete"; +"_remove_cache_" = "Deleting cache, please wait …"; +"_optimizations_" = "Optimizations"; +"_synchronizations_" = "Synchronized folders"; +"_version_server_" = "Server version"; +"_help_" = "Help"; +"_change_simply_passcode_" = "Change password type"; +"_quota_" = "Quota"; +"_available_" = "Available"; +"_not_available_" = "Not available"; +"_accounts_" = "Accounts"; "_information_" = "Information"; +"_personal_information_" = "Personal info"; +"_user_full_name_" = "Full name"; +"_user_address_" = "Address"; +"_user_phone_" = "Phone number"; +"_user_email_" = "Email"; +"_user_web_" = "Website"; +"_user_twitter_" = "Twitter"; +"_user_job_" = "Job"; +"_user_businesssize_" = "Business size"; +"_user_businesstype_" = "Business type"; +"_user_city_" = "City"; +"_user_country_" = "Country"; +"_user_company_" = "Company"; +"_user_role_" = "Role"; +"_user_zip_" = "Zip"; +"_user_owner_" = "Owner"; +"_user_employee_" = "Employee"; +"_user_contractor_" = "Contractor"; +"_user_editprofile_" = "Edit profile"; "_select_offline_warning_" = "Making multiple files and folders available offline may take a while and use a lot of memory while doing so."; "_advanced_" = "Advanced"; "_permissions_" = "Permissions"; "_custom_permissions_" = "Custom permissions"; "_disable_files_app_" = "Disable Files App integration"; "_disable_files_app_footer_" = "Do not permit the access of files via the iOS Files application."; +"_trial_" = "Trial"; +"_trial_expired_day_" = "Days remaining"; "_time_remaining_" = "%@ remaining"; +"_disableLocalCacheAfterUpload_footer_" = "After uploading the file, do not keep it in the local cache"; +"_disableLocalCacheAfterUpload_" = "Disable local cache"; "_autoupload_" = "Auto upload photos/videos"; "_autoupload_select_folder_" = "Select the \"Auto upload\" folder"; +"_autoupload_error_select_folder_" = "Select a valid folder for the \"Auto upload\""; +"_autoupload_background_" = "Auto upload in the background"; "_autoupload_photos_" = "Auto upload photos"; "_autoupload_videos_" = "Auto upload videos"; "_autoupload_favorites_" = "Auto upload favorites only"; +//"_autoupload_description_" = "New photos/videos will be automatically uploaded to your MagentaCLOUD"; +"_autoupload_description_" = "Choose whether new photos or videos will be automatically uploaded to your MagentaCLOUD."; +"_autoupload_description_background_" = "This option requires the use of GPS to trigger the detection of new photos/videos in the camera roll once the location changes significantly"; +"_autoupload_background_title_" = "Limitations"; +"_autoupload_background_msg_" = "Due to iOS restrictions, it is not yet possible to perform background processes, unless GPS services are activated. Once the cell in the cellular network is changed, the system wakes up for a short time and checks for new photos to upload to the cloud."; +"_autoupload_change_location_" = "Change folder"; +"_autoupload_location_now_" = "Folder"; +"_autoupload_location_default_" = "Restore default folder"; +"_autoupload_change_location_footer_" = "Change folder used for \"Automatic upload of camera photos\" (if the option is enabled)"; +"_autoupload_not_select_home_" = "Select a folder"; +"_autoupload_save_album_" = "Copy photo or video into the photo album"; "_autoupload_description_" = "Choose whether new photos or videos will be automatically uploaded to your account."; "_autoupload_fullphotos_" = "Upload the whole camera roll"; "_start_autoupload_" = "Turn on auto upload"; @@ -273,48 +487,83 @@ "_autoupload_subfolder_granularity_" = "Subfolder Granularity"; "_filenamemask_" = "Change filename mask"; "_filenamemask_footer_" = "By default, when a file is uploaded, it automatically gets the following format: yy-mm-dd hh-mm-ss plus a 4-digit counter. If you do not like this format, you can change it here except for the final 4-digit counter, which cannot be omitted."; +"_autoupload_filenamemask_" = "Change filename mask"; +"_autoupload_filenamemask_footer_" = "Change the automatic filename mask"; "_autoupload_current_folder_" = "Currently selected folder"; +"_help_tutorial_" = "Tutorial"; +"_help_intro_" = "Introduction to Nextcloud"; +"_help_activity_verbose_" = "Detailed Activity feed"; +"_help_activity_mail_" = "Send activity via email"; +"_help_activity_clear_" = "Clear activity"; "_show_hidden_files_" = "Show hidden files"; "_format_compatibility_" = "Most Compatible"; "_format_compatibility_footer_" = "\"Most compatible\" will save photos as JPEG, if possible."; +"_terms_" = "Terms of Service"; "_privacy_" = "Privacy"; +"_privacy_policy_" = "Privacy Policy"; "_privacy_footer_" = "This app uses a service for the analysis of a crash. Your personal information is not sent with the report. If you want disable it, please change the setting \"Disable crash reporter\" to ON."; "_crashservice_title_" = "Disable crash reporter"; "_crashservice_alert_" = "This option requires a restart of the app to take effect."; "_upload_mov_livephoto_" = "Live Photo"; "_upload_mov_livephoto_footer_" = "\"Live Photo\" will save the selected photo in \"Live Photo\" format, if possible."; +"_view_capabilities_" = "View the capabilities"; "_capabilities_" = "Capabilities"; +"_no_capabilities_found_" = "Capabilities not found"; "_capabilities_footer_" = "Display the packages used by the app if they are installed and available on the server."; "_diagnostics_" = "Diagnostics"; "_diagnostics_footer_" = "Changing log level requires a restart of the app to take effect"; "_view_log_" = "View log file"; "_clear_log_" = "Clear log file"; +"_level_log_" = "Set Log level (disabled, standard, maximum)"; "_set_log_level_" = "Set Log level"; "_log_file_clear_alert_" = "Log file cleared \n successfully!"; "_connect_server_anyway_" = "Do you want to connect to the server anyway?"; "_server_is_trusted_" = "Do you consider this server trusted?"; "_connection_error_" = "Connection error"; +"_serverstatus_error_" = "Connection to server failure, verify your server address or network status"; +"_add_your_nextcloud_" = "Add your account"; "_login_url_" = "Server address https:// …"; +"_login_bottom_label_" = "Don't have a server yet?\nChoose one of the providers."; +"_error_multidomain_" = "Address not allowed, only the following domains are valid:"; +"_account_already_exists_" = "The account %@ already exists"; +"_traditional_login_" = "Revert to old login method"; +"_web_login_" = "Revert to web login method"; "_login_url_error_" = "URL error, please verify your server URL"; "_login_error_" = "Could not log in. Please try again later."; +"_webflow_not_available_" = "Web login not available, use the old login method"; "_favorites_" = "Favorites"; "_favorite_short_" = "Favorite"; +"_favorite_" = "Favorite"; +"_unfavorite_" = "Unfavorite"; +"_no_files_uploaded_" = "No files uploaded"; "_tutorial_favorite_view_" = "Files and folders you mark as favorites will show up here"; "_tutorial_offline_view_" = "Files copied here will be available offline.\n\nThey will be synchronized with your cloud."; -"_tutorial_groupfolders_view_" = "No team folders yet"; +"_tutorial_groupfolders_view_" = "No Group folders yet"; +"_tutorial_local_view_" = "You'll find the unpacked files from your cloud.\n\nConnect to iTunes to share these files."; "_more_" = "More"; "_favorite_no_files_" = "No favorites yet"; +"_pull_down_" = "Pull down to refresh"; +"_no_photo_load_" = "No photo or video"; +"_tutorial_autoupload_view_" = "You can enable auto uploads from \"Settings\""; "_no_date_information_" = "No date information"; "_no_camera_information_" = "No camera information"; "_no_lens_information_" = "No lens information"; "_today_" = "Today"; "_yesterday_" = "Yesterday"; +"_time_" = "Time: %@\n\n%@"; +"_location_not_enabled_" = "Location Services not enabled"; +"_location_not_enabled_msg_" = "Please go to \"Settings\" and turn on \"Location Services\""; "_access_photo_not_enabled_" = "Access to Photos is not enabled"; -"_access_photo_not_enabled_msg_" = "Please go to Settings → Apps → Nextcloud → Photos and enable Photo Library Access"; +//"_access_photo_not_enabled_msg_" = "Please go to \"Settings\" and turn on \"Photo Access\""; +"_access_photo_not_enabled_msg_" = "Please go to Settings → Apps → MagentaCLOUD → Photos and enable Photo Library Access"; "_access_background_app_refresh_denied_" = "\"Background App Refresh\" is denied. Please enable it in \"Settings\" otherwise, new photos or videos will not be detected when the application is in the background"; +"_access_photo_location_not_enabled_" = "Access to Photos and Location not enabled"; +"_access_photo_location_not_enabled_msg_" = "Please go to \"Settings\" and turn on \"Photo Access\" and \"Location Services\""; "_new_photos_starting_" = "Only photos or videos starting %@ will be uploaded."; "_tutorial_photo_view_" = "No photos or videos uploaded yet"; +"_create_full_upload_" = "Creating archive … May take a long time. During this process, keep the application active during the transfer as well."; "_error_createsubfolders_upload_" = "Error creating subfolders"; +"_activate_autoupload_" = "Enable auto upload"; "_remove_photo_CameraRoll_" = "Remove from camera roll"; "_remove_photo_CameraRoll_desc_" = "\"Remove from camera roll\" after uploads, a confirmation message will be displayed to delete the uploaded photos or videos from the camera roll. The deleted photos or videos will still be available in the iOS Photos Trash for 30 days."; "_never_" = "never"; @@ -325,25 +574,90 @@ "_hours_ago_" = "%d hours ago"; "_a_day_ago_" = "a day ago"; "_days_ago_" = "%d days ago"; +"_over_30_days_" = "over 30 days"; +"_connection_internet_offline_" = "The internet connection appears to be offline or Wi-Fi is required"; +"_insert_password_" = "Enter password"; +//"_update_in_progress_" = "Version upgrade, please wait …"; "_forbidden_characters_" = "Forbidden characters: %@"; "_cannot_send_mail_error_" = "No account is set up, or wrong email address entered."; "_open_url_error_" = "Cannot open the URL for this action."; +"_photo_camera_" = "Photos"; "_media_" = "Media"; +"_unzip_in_progress_" = "Extraction in progress on local storage …"; +"_file_unpacked_" = "File unpacked on local storage"; +"_file_saved_local_" = "File saved on local storage."; +"_file_not_present_" = "Error: File not present, please reload."; "_order_by_" = "Sort by"; "_name_" = "Name"; "_date_" = "Date"; "_size_" = "Size"; +"_order_by_name_a_z_" = "Sort by name (from A to Z)"; +"_sorted_by_name_a_z_" = "Sorted by name (from A to Z)"; +"_order_by_name_z_a_" = "Sort by name (from Z to A)"; +"_sorted_by_name_z_a_" = "Sorted by name (from Z to A)"; +"_order_by_date_more_recent_" = "Sort by newest"; +"_sorted_by_date_more_recent_" = "Sorted by newest"; +"_order_by_date_less_recent_" = "Sort by oldest"; +"_sorted_by_date_less_recent_" = "Sorted by oldest"; +"_order_by_size_smallest_" = "Sort by smallest"; +"_sorted_by_size_smallest_" = "Sorted by smallest"; +"_order_by_size_largest_" = "Sort by largest"; +"_sorted_by_size_largest_" = "Sorted by largest"; "_delete_selected_files_" = "Delete files"; +"_move_selected_files_" = "Move files"; +"_move_or_copy_selected_files_" = "Move or copy files"; +"_download_selected_files_" = "Download files"; +"_download_selected_files_folders_" = "Download files and folders"; +"_error_operation_canc_" = "Error: Operation canceled."; +"_only_lock_passcode_" = "Available only with Lock password activated. Activate it in the \"Settings\"."; +"_go_to_app_settings_" = "Go to app settings"; +"_passcode_protection_" = "Password protection"; +"_remove_favorites_" = "Remove from favorites"; +"_remove_offline_" = "Remove from offline"; +"_add_favorites_" = "Add to favorites"; +"_add_offline_" = "Add to offline"; +"_remove_passcode_" = "Remove password protection"; +"_protect_passcode_" = "Protect with password"; "_remove_favorites_" = "Unfavorite"; "_add_favorites_" = "Favorite"; "_share_" = "Share"; +"_reload_" = "Reload"; +"_open_in_" = "Open with..."; //"Open in …"; +"_open_" = "Open …"; "_remove_local_file_" = "Remove locally"; +"_add_local_" = "Add to local storage"; +"_comm_erro_pull_down_" = "Attention: Communication error with the server. Pull down to refresh."; +"_file_not_downloaded_" = "file not downloaded"; +"_file_not_uploaded_" = "file not uploaded"; "_folders_" = "folders"; "_folder_" = "folder"; "_files_" = "files"; "_file_" = "file"; +"_folder_blocked_" = "Folder blocked"; +"_downloading_progress_" = "Initiating download of files …"; "_no_file_pull_down_" = "Upload a file or pull down to refresh"; "_no_file_no_permission_to_create_" = "You don't have permission to create or upload files in this folder."; +"_browse_images_" = "Browse images"; +"_synchronized_folder_" = "Keep the folder synchronized"; +"_remove_synchronized_folder_" = "Turn off the synchronization"; +"_synchronized_confirm_" = "After enabling the synchronization, all files in the folder will be synchronized with the server, continue?"; +"_offline_folder_confirm_" = "After enabling the offline folder, all files in it will be synchronized with the server, continue?"; +"_file_not_found_reload_" = "File not found, pull down to refresh"; +"_title_section_download_" = "DOWNLOAD"; +"_download_" = "Download"; +"_title_section_upload_" = "UPLOAD"; +"_group_alphabetic_yes_" = "✓ Group alphabetically"; +"_group_alphabetic_no_" = "Group alphabetically"; +"_group_typefile_yes_" = "✓ Group by file type"; +"_group_typefile_no_" = "Group by file type"; +"_group_date_yes_" = "✓ Group by date"; +"_group_date_no_" = "Group by date"; +"_element_" = "element"; +"_elements_" = "elements"; +"_tite_footer_upload_wwan_" = " Wi-Fi network required, %lu %@ to upload"; +"_tite_footer_upload_" = "%lu %@ to upload"; +"_tite_footer_download_wwan_" = " Wi-Fi network required, %lu %@ to download"; +"_tite_footer_download_" = "%lu %@ to download"; "_limited_dimension_" = "Maximum size reached"; "_save_selected_files_" = "Save to photo gallery"; "_file_not_saved_cameraroll_" = "Error: File not saved in photo album"; @@ -352,24 +666,36 @@ "_directory_on_top_" = "Sort folders before files"; "_show_description_" = "Show folder description"; "_show_recommended_files_" = "Show recommendations"; +"_no_description_available_" = "No description available for this folder"; +"_folder_automatic_upload_" = "Folder for \"Auto upload\""; "_search_no_record_found_" = "No result"; "_search_in_progress_" = "Search in progress …"; "_search_instruction_" = "Search for file (minimum 2 characters)"; "_files_no_files_" = "No files in here"; "_files_no_folders_" = "No folders in here"; "_request_in_progress_" = "Request to server in progress …"; -"_personal_files_only_" = "Personal files only"; +"_personal_files_only_" = "Personal files only"; "audio" = "AUDIO"; +"compress" = "COMPRESS"; "directory" = "FOLDERS"; "document" = "DOCUMENTS"; "image" = "IMAGES"; "template" = "TEMPLATES"; +"unknow" = "UNKNOWN"; "video" = "VIDEO"; +"_file_del_only_local_" = "File not present on server"; +"_copy_file_" = "Copy"; "_paste_file_" = "Paste"; +"_open_quicklook_" = "Open with Quick Look"; +"_search_this_folder_" = "Search in this folder"; +"_search_all_folders_" = "Search in all folders"; +"_search_sub_folder_" = "Search here and in subfolders"; +"_theming_is_light_" = "Server theming too brightly coloured, not applicable"; "_cancel_all_task_" = "Cancel all transfers"; "_status_wait_download_" = "Waiting for download"; +"_status_in_download_" = "In download"; "_status_downloading_" = "Downloading"; "_status_wait_upload_" = "Waiting to upload"; "_status_wait_create_folder_" = "Waiting to create the folder"; @@ -378,12 +704,19 @@ "_status_wait_favorite_" = "Waiting to change favorite"; "_status_wait_copy_" = "Waiting to copy"; "_status_wait_move_" = "Waiting to move"; +"_status_in_upload_" = "In upload"; "_status_uploading_" = "Uploading"; "_status_upload_error_" = "Error, waiting to upload"; "_select_media_folder_" = "Set Media folder"; "_media_viewimage_show_" = "Show only images"; -"_media_viewvideo_show_" = "Show only video"; +"_media_viewvideo_show_" = "Show only videos"; "_media_show_all_" = "Show both"; +"_media_by_created_date_" = "Sort by created date"; +"_media_by_upload_date_" = "Sort by upload date"; +"_media_by_modified_date_" = "Sort by modified date"; +"_insert_password_pfd_" = "Secured PDF. Enter password"; +"_password_pdf_error_" = "Wrong password"; +"_error_download_photobrowser_" = "Error: Unable to download photo"; "_good_morning_" = "Good morning"; "_good_day_" = "Good day"; "_good_afternoon_" = "Good afternoon"; @@ -395,78 +728,236 @@ // MARK: Share "_share_link_" = "Share link"; +//"_share_link_" = "Share link"; +"_share_link_" = "Link"; +//"_share_link_" = "Share link"; +"_share_link_button_" = "Send link to …"; "_share_link_name_" = "Link name"; "_password_" = "Password"; "_share_password_" = "Password protected link"; +"_share_password_must_be_at_least_6_chars" = "Password must be at least 6 characters."; +"_share_expirationdate_" = "Set expiration date for link"; "_date_" = "Date"; +"_share_title_" = "Share"; +"_add_sharee_" = "Add users or groups"; +"_add_sharee_footer_" = "You can share this resource by adding users or groups. To remove a share, remove all users and groups"; +"_find_sharee_title_" = "Search"; +"_find_sharee_" = "Search for user or group …"; +"_find_sharee_footer_" = "Enter part of the name of the user or group to search for (at least 2 characters) followed by \"Return\", select the users that should be allowed to access the share followed by \"Done\" to confirm"; +"_user_is_group_" = "(Group)"; +"_direct_sharee_title_" = "Share"; +"_direct_sharee_footer_" = "If you already know the name, enter it, then select the share type and press \"Done\" to confirm"; +"_direct_sharee_" = "Enter the username …"; "_user_sharee_footer_" = "Tap to change permissions"; +"_share_type_title_" = "Type of share"; +"_share_type_user_" = "User"; +"_share_type_group_" = "Group"; +"_share_type_remote_" = "Remote"; "_enforce_password_protection_" = "Enforce password protection"; +"_password_obligatory_" = "Enforce password protection enabled, password obligatory"; "_shared_with_you_by_" = "Shared with you by"; -"_shareLinksearch_placeholder_" = "Name, email, or Federated Cloud ID …"; +"_share_reshare_allowed_" = "Resharing is allowed."; +"_share_reshare_not_allowed_" = "Resharing is not allowed."; +"_sharing_message_" = "You can create links or send shares by mail. If you invite MagentaCLOUD users, you have more opportunities for collaboration."; +"_create_link_" = "Create Link"; +"personal_share_by_mail" = "Personal share by mail"; +"_your_shares_" = "Your Shares"; +"_share_linklabel_" = "Link '%@'"; +"_share_link_folder_" = "Link to folder"; +"_share_link_file_" = "Link to file"; +"no_shares_created" = "No shares created yet."; +"_advance_permissions_" = "Advanced permissions"; +"_send_new_email_" = "Send new email"; +"_apply_changes_" = "Apply changes"; +"_send_share_" = "Send share"; +"_PERMISSIONS_" = "PERMISSIONS"; +"share_editing_message" = "There are no editing functions for files unless you share them with MagentaCLOUD users."; +"_file_drop_message_" = "With File drop, only uploading is allowed. Only you can see files and folders that have been uploaded."; +"_custom_link_label" = "Your custom link label"; +"_set_password_" = "Set password"; +"_share_expiration_date_placeholder_"= "Expiration date for this share"; +"_share_download_limit_" = "Download Limit"; +"_share_download_limit_placeholder_" = "Enter download limit"; +"_share_download_limit_alert_empty_" = "Download limit cannot be empty."; +"_share_download_limit_alert_zero_" = "Download limit should be greater than 0."; +"_share_download_limit_alert_invalid_" = "Please enter a valid number for the download limit."; +"_share_remaining_download_" = "Downloads:"; +"_share_read_only_" = "View only"; +"_share_editing_" = "Can edit"; +"_share_file_drop_" = "Filedrop only"; +"_share_hide_download_" = "Prevent download"; +//"_share_note_recipient_" = "YOUR MESSAGE"; +"_share_note_recipient_" = "Note to recipient"; +"_shareLinksearch_placeholder_" = "Contact name or email address"; +"_shareLinksearch_mail_placeholder_" = "Type a name or an email and press Enter"; "_new_comment_" = "New comment …"; "_edit_comment_" = "Edit comment"; "_delete_comment_" = "Delete comment"; "_share_read_only_" = "View only"; +"_share_reshare_allowed_" = "Resharing is allowed."; +"_share_reshare_not_allowed_" = "Resharing is not allowed."; +"_sharing_message_" = "You can create links or send shares by mail. If you invite MagentaCLOUD users, you have more opportunities for collaboration."; +"_create_link_" = "Create Link"; +"personal_share_by_mail" = "Personal share by mail"; +"_your_shares_" = "Your Shares"; +"_share_linklabel_" = "Link '%@'"; +"_share_link_folder_" = "Link to folder"; +"_share_link_file_" = "Link to file"; +"no_shares_created" = "No shares created yet."; +"_advance_permissions_" = "Advanced permissions"; +"_send_new_email_" = "Send new email"; +"_apply_changes_" = "Apply changes"; +"_send_share_" = "Send share"; +"_PERMISSIONS_" = "PERMISSIONS"; +"share_editing_message" = "There are no editing functions for files unless you share them with MagentaCLOUD users."; +"_file_drop_message_" = "With File drop, only uploading is allowed. Only you can see files and folders that have been uploaded."; +"_custom_link_label" = "Your custom link label"; +"_set_password_" = "Set password"; +"_share_expiration_date_placeholder_"= "Expiration date for this share"; +"_share_download_limit_" = "Download Limit"; +"_share_download_limit_placeholder_" = "Enter download limit"; +"_share_download_limit_alert_empty_" = "Download limit cannot be empty."; +"_share_download_limit_alert_zero_" = "Download limit should be greater than 0."; +"_share_download_limit_alert_invalid_" = "Please enter a valid number for the download limit."; +"_share_remaining_download_" = "Downloads:"; +"_share_read_only_" = "View only"; +"_share_remaining_download_" = "Downloads:"; "_share_editing_" = "Can edit"; +"_share_file_drop_" = "Filedrop only"; +"_share_hide_download_" = "Prevent download"; +//"_share_note_recipient_" = "YOUR MESSAGE"; +"_share_note_recipient_" = "Note to recipient"; +"_shareLinksearch_placeholder_" = "Contact name or email address"; +"_shareLinksearch_mail_placeholder_" = "Type a name or an email and press Enter"; +"_share_reshare_allowed_" = "Resharing is allowed."; +"_share_reshare_not_allowed_" = "Resharing is not allowed."; +"_sharing_message_" = "You can create links or send shares by mail. If you invite MagentaCLOUD users, you have more opportunities for collaboration."; +"_create_link_" = "Create Link"; +"personal_share_by_mail" = "Personal share by mail"; +"_your_shares_" = "Your Shares"; +"_share_linklabel_" = "Link '%@'"; +"_share_link_folder_" = "Link to folder"; +"_share_link_file_" = "Link to file"; +"no_shares_created" = "No shares created yet."; +"_advance_permissions_" = "Advanced permissions"; +"_send_new_email_" = "Send new email"; +"_apply_changes_" = "Apply changes"; +"_send_share_" = "Send share"; +"_PERMISSIONS_" = "PERMISSIONS"; +"share_editing_message" = "There are no editing functions for files unless you share them with MagentaCLOUD users."; +"_file_drop_message_" = "With File drop, only uploading is allowed. Only you can see files and folders that have been uploaded."; +"_custom_link_label" = "Your custom link label"; +"_set_password_" = "Set password"; +"_share_download_limit_" = "Download Limit"; +"_share_download_limit_placeholder_" = "Enter download limit"; +"_share_download_limit_alert_empty_" = "Download limit cannot be empty."; +"_share_download_limit_alert_zero_" = "Download limit should be greater than 0."; +"_share_allow_editing_" = "Allow editing"; "_share_allow_upload_" = "Allow upload and editing"; -"_share_file_drop_" = "File request"; "_share_secure_file_drop_" = "Secure file drop (upload only)"; -"_share_hide_download_" = "Hide download"; "_share_allowed_downloads_" = "Allowed downloads"; "_share_limit_download_" = "Limit downloads"; "_remaining_" = "%d remaining"; "_share_password_protect_" = "Password protection"; "_share_expiration_date_" = "Set expiration date"; -"_share_note_recipient_" = "Note to recipient"; +"_share_delete_sharelink_" = "Delete link"; "_share_add_sharelink_" = "Add another link"; "_share_can_read_" = "Read"; -"_share_can_reshare_" = "Share"; -"_share_can_create_" = "Create"; -"_share_can_change_" = "Edit"; -"_share_can_delete_" = "Delete"; -"_share_can_download_" = "Allow download and sync"; -"_share_unshare_" = "Delete share"; +"_share_can_reshare_" = "Allow resharing"; +"_share_can_create_" = "Allow creating"; +"_share_can_change_" = "Allow editing"; +"_share_can_delete_" = "Allow deleting"; +"_share_can_download_" = "Allow download"; +"_share_unshare_" = "Unshare"; "_share_internal_link_" = "Internal link"; +"_share_internal_link_des_" = "Only works for users with access to this file/folder"; +"_share_reshare_disabled_" = "You are not allowed to reshare this file/folder"; +"_share_reshare_restricted_" = "Note: You only have limited permission to reshare this file/folder"; +"_share_can_download_" = "Allow download"; "_share_internal_link_des_" = "Only works for users with access to this file/folder."; "_share_reshare_disabled_" = "You are not allowed to reshare this file/folder."; "_share_reshare_restricted_" = "Note: You only have limited permission to reshare this file/folder."; +"_create_new_link_" = "Create new link"; +"_share_send_link_by_mail_" = "Send link by mail"; +"_share_or_" = "or"; +"_share_copy_link_" = "Copy link"; +"_share_shared_with_" = "Shared with"; +"_share_quick_permission_everyone_can_just_upload_" = "Everyone can just upload"; +"_share_quick_permission_everyone_can_edit_" = "Everyone can edit"; +"_share_quick_permission_everyone_can_only_view_" = "Everyone can only view"; +"_share_quick_permission_everyone_can_just_upload_short_" = "Just upload"; +"_share_quick_permission_everyone_can_edit_short_" = "Can edit"; +"_share_quick_permission_everyone_can_only_view_short_" = "Only view"; +"_share_received_shares_text_" = "This file / folder was shared with you by"; +"_share_no_shares_text_" = "You have not yet shared your file/folder. Share to give others access"; +"_share_size_" = "Size: "; +"_share_modified_" = "Modified: "; +"_share_created_" = "Created: "; +"_share_uploaded_" = "Uploaded: "; +"_share_details_" = "Details"; +"_share_via_link_menu_password_label_" = "Password protect (%1$s)"; +"_share_link_empty_exp_date_" = "You must select expiration date."; +"_share_link_empty_note_message_" = "Please enter note."; +"_share_permission_should_not_be_empty_" = "Please select at least one permission."; "_remote_" = "Remote"; "_remote_group_" = "Remote group"; "_conversation_" = "Conversation"; +//"_share_can_reshare_" = "Allow resharing"; +//"_share_can_create_" = "Allow creating"; +//"_share_can_change_" = "Allow editing"; +//"_share_can_delete_" = "Allow deleting"; +//"_share_unshare_" = "Unshare"; +//"_share_can_download_" = "Allow download"; "_no_transfer_" = "No transfers yet"; "_no_transfer_sub_" = "Uploads and downloads from this device will show up here"; +"_no_activity_" = "No activity yet"; "_no_activity_footer_" = "No more activities to load"; "_transfers_" = "Transfers"; "_activity_" = "Activity"; +"_activity_file_not_present_" = "File no longer present"; "_trash_file_not_found_" = "It seems that the file is not in the Trash. Go to the Trash to update it and try again."; "_list_shares_" = "Shares"; "_list_shares_no_files_" = "No shares yet"; "_tutorial_list_shares_view_" = "Files and folders you share will show up here"; +"_create_synchronization_" = "Create synchronization"; "_offline_" = "Offline"; +"_local_storage_" = "Local storage"; +"_local_storage_no_record_" = "No files yet"; "_upload_photos_videos_" = "Upload photos or videos"; "_upload_file_" = "Upload file"; +"_upload_file_text_" = "Create text file"; "_create_nextcloudtext_document_" = "Create text document"; +"_save_document_picker_" = "Save here"; +"_destination_folder_" = "Destination folder"; "_use_folder_auto_upload_" = "Use the \"Auto upload\" folder as destination"; +"_rename_filename_" = "Rename"; "_filename_" = "Filename"; "_enter_filename_" = "Enter filename …"; "_default_preview_filename_footer_" = "Example preview of filename: IMG_0001.JPG"; "_filename_header_" = "Enter filename"; "_preview_filename_" = "Example preview of filename. You can use the mask %@ for date/time."; "_add_filenametype_" = "Specify type in filename"; +"_filenametype_photo_video_" = "Photo/Video"; "_maintain_original_filename_" = "Maintain original filename"; +"_modify_photo_" = "Modify photo"; "_notifications_" = "Notifications"; +"_no_notification_" = "No notifications yet"; +"_autoupload_filename_title_" = "Auto upload filename"; "_untitled_" = "Untitled"; +"_untitled_txt_" = "Untitled.txt"; +"_text_upload_title_" = "Upload text file"; "_e2e_settings_title_" = "Encryption"; "_e2e_settings_" = "End-to-end encryption"; "_e2e_settings_start_" = "Start end-to-end encryption"; +"_e2e_settings_not_available_" = "End-to-end encryption not available"; "_e2e_settings_activated_" = "End-to-end encryption activated"; "_e2e_server_disabled_" = "End-to-end encryption app disabled on server"; "_e2e_settings_view_passphrase_" = "All 12 words together make a very strong password, letting only you view and make use of your encrypted files. Please write it down and keep it somewhere safe."; "_e2e_settings_read_passphrase_" = "Read passphrase"; "_e2e_settings_lock_not_active_" = "Lock not active. Go to \"Settings\" and activate it."; "_e2e_settings_the_passphrase_is_" = "The passphrase is:"; -"_e2e_passphrase_request_title_" = "Request passphrase"; +"_e2e_passphrase_request_title_" = "Enter passphrase"; //"Request passphrase"; "_e2e_passphrase_request_message_" = "Insert the 12 words"; "_e2e_settings_remove_" = "Remove the encryption locally"; "_e2e_settings_remove_message_" = "Confirm removal of encryption along with the passphrase."; @@ -474,24 +965,82 @@ "_e2e_remove_folder_encrypted_" = "Decrypt"; "_e2e_file_encrypted_" = "File encrypted"; "_e2e_goto_settings_for_enable_" = "This is an encrypted directory, go to \"Settings\" and enable end-to-end encryption"; +"_e2e_error_" = "An internal end-to-end encryption error occurred."; "_e2e_in_upload_" = "Upload in progress, please wait for all files to be transferred."; +"_e2e_delete_folder_not_permitted_" = "Deletion of the directory marked as \"encrypted\" is not allowed"; +"_e2e_error_encode_metadata_" = "Serious internal error in encoding metadata"; +"_e2e_error_decode_metadata_" = "Serious internal error in decoding metadata"; +"_e2e_error_create_encrypted_" = "Could not create encrypted file"; +"_e2e_error_update_metadata_" = "Update metadata error"; +"_e2e_error_store_metadata_" = "Could not save metadata"; +"_e2e_error_send_metadata_" = "Could not send metadata"; +"_e2e_error_delete_metadata_" = "Could not delete metadata"; +"_e2e_error_get_metadata_" = "Could not fetch metadata"; +"_e2e_error_not_enabled_" = "Serious internal error. End-to-end encryption not enabled"; +"_e2e_error_record_not_found_" = "Serious internal error. Records not found"; +"_e2e_error_unlock_" = "Could not unlock folder"; +"_e2e_error_lock_" = "Could not lock folder"; +"_e2e_error_delete_mark_folder_" = "Decrypt marked folder"; +"_e2e_error_mark_folder_" = "Encrypt folder"; +"_e2e_error_directory_not_empty_" = "The directory is not empty"; +"_e2e_error_not_move_" = "It is not possible move files to encrypted directory"; +"_e2e_error_not_versionwriteable_" = "The E2EE version of the server is not compatible with this client"; +"_start_e2e_encryption_1_" = "To set up end-to-end encryption, they must first set up the PIN lock to prevent unauthorised people from accessing your key."; +"_start_e2e_encryption_2_" = "After starting the encryption, a randomly generated word sequence (passphrase) of 12 words is displayed. This remains in this app and can be displayed again. Nevertheless, we recommend that you write down the passphrase."; +"_start_e2e_encryption_3_" = "The passphrase is your personal password with which you can access encrypted data in your MagentaCLOUD or enable access to these files on other devices such as your PC."; +"_read_passphrase_description_" = "Here you can display the passphrase again and also copy it. You need the passphrase if you want to decrypt the data on another device with access to MagentaCLOUD, for example your PC or another smartphone or tablet."; +"_remove_passphrase_desc_1_" = "You can remove the passphrase on this device. This will not affect the encrypted content, but this device will no longer be able to decrypt your data."; +"_remove_passphrase_desc_2_" = "You can re-enter the passphrase here at any time to ensure access to your encrypted content from this device."; +"_e2e_error_incorrect_passphrase_" = "Wrong password?"; +"_e2e_error_passphrase_title" = "Error while decrypting."; +"_e2ee_setup_passphrase_error_" = "The provided passphrase is incorrect"; "_scans_document_" = "Scan document"; -"_scanned_images_" = "Scanned images"; +//"_scanned_images_" = "Scanned images"; +"_scanned_images_" = "Scanned documents"; "_scan_document_pdf_page_" = "Page"; "_scan_label_document_zone_" = "Tap or drag images down for document creation"; "_filter_document_" = "Document"; "_filter_original_" = "Original"; +"_filter_bn_" = "Black & White"; +"_filter_grayscale_" = "Grayscale"; "_quality_image_title_" = "Preview image quality"; +"_quality_high_" = "Large file size of high quality"; +"_quality_medium_" = "Average file size of medium quality"; +"_quality_low_" = "Small file size of low quality"; +"_file_type_" = "File type"; +"_pdf_password_" = "PDF Password"; "_file_creation_" = "File creation"; "_delete_all_scanned_images_" = "Delete all scanned images"; "_text_recognition_" = "Text recognition"; "_all_files_" = "All files"; "_personal_files_" = "Personal Files"; +/* The title on the navigation bar of the Scanning screen. */ +"wescan.scanning.title" = "Scanning"; +/* The "Next" button on the right side of the navigation bar on the Edit screen. */ +"wescan.edit.button.next" = "Next"; +/* The title on the navigation bar of the Edit screen. */ +"wescan.edit.title" = "Edit Scan"; +/* The "Done" button on the right side of the navigation bar on the Review screen. */ +"wescan.review.button.done" = "Done"; +/* The title on the navigation bar of the Review screen. */ +"wescan.review.title" = "Review"; + "_trash_view_" = "Deleted files"; +"_trash_restore_all_" = "Restore all files"; +"_trash_delete_all_" = "Empty trash"; +"_trash_delete_permanently_" = "Delete permanently"; +"_trash_delete_all_description_" = "Do you want to empty the trash bin?";"_trash_no_trash_" = "No files deleted"; "_empty_trash_" = "Empty trash"; +"_trash_restore_all_" = "Restore all files"; +"_trash_delete_all_" = "Empty trash"; +"_trash_delete_permanently_" = "Delete permanently"; +"_trash_delete_all_description_" = "Do you want to empty the trash bin?"; "_trash_no_trash_" = "No files deleted"; "_trash_no_trash_description_" = "You can restore deleted files from here"; +"_trash_restore_selected_" = "Restore selected files"; +"_trash_delete_selected_" = "Delete selected files"; +"_recover_" = "Recover"; "_confirm_delete_selected_" = "Are you sure you want to delete the selected items?"; "_manage_file_offline_" = "Manage offline files"; "_set_available_offline_" = "Set as available offline"; @@ -507,7 +1056,62 @@ "_log_in_" = "Log in"; "_sign_up_" = "Sign up with provider"; "_host_your_own_server" = "Host your own server"; +"_unauthorized_" = "Unauthorized"; +"_bad_username_password_" = "Wrong username or password"; +"_cancelled_by_user" = "Transfer canceled"; +"_error_folder_destiny_is_the_same_" = "It is not possible to move the folder into itself"; +"_error_not_permission_" = "You don't have permission to complete the operation"; +"_error_path_" = "Unable to open this file or folder. Please make sure it exists"; +"_file_upload_not_exitst_" = "The file that you want to upload does not exist"; +"_forbidden_characters_from_server_" = "The name contains at least one invalid character"; +"_error_not_modified_" = "Resource not modified"; +"_not_connected_internet_" = "Server connection error"; +"_not_possible_connect_to_server_" = "It is not possible to connect to the server at this time"; +"_not_possible_create_folder_" = "Folder could not be created"; +"_server_down_" = "Could not establish contact with server"; +"_time_out_" = "Timeout, try again"; +"_unknow_response_server_" = "Unexpected response from server"; +"_user_authentication_required_" = "User authentication required"; +"_file_directory_locked_" = "File or directory locked"; +"_ssl_certificate_untrusted_" = "The certificate for this server is invalid"; +"_ssl_certificate_changed_" = "The certificate for this server seems to have changed"; +"_internal_server_" = "Internal server error"; +"_file_already_exists_" = "Could not complete the operation, a file with the same name exists"; +"_file_folder_not_exists_" = "The source file wasn't found at the specified path"; +"_folder_contents_nochanged_" = "The folder contents have not changed"; +"_images_invalid_converted_" = "The image is invalid and cannot be converted to a thumbnail"; +"_method_not_expected_" = "Unexpected request method"; +"_reauthenticate_user_" = "Access expired, log in again"; +"_server_error_retry_" = "The server is temporarily unavailable"; +"_too_many_files_" = "Too many files would be involved in this operation"; +"_too_many_request_" = "Sending too many requests caused the rate limit to be reached"; +"_user_over_quota_" = "Storage quota is reached"; +"_ssl_connection_error_" = "Connection SSL error, try again"; +"_bad_request_" = "Bad request"; +"_webdav_locked_" = "WebDAV Locked: Trying to access locked resource"; +"_error_user_not_available_" = "The user is no longer available"; +"_server_response_error_" = "Server response content error"; +"_no_nextcloud_found_" = "Server not found"; +"_error_decompressing_" = "Error during decompressing. Unknown compression method or the file is corrupt"; +"_error_json_decoding_" = "Serious internal error in decoding metadata (The data couldn't be read because it isn't in the correct format.)"; +"_error_check_remote_user_" = "Server responded with an error. Please log in again"; +"_request_entity_too_large_" = "The file is too large"; +"_not_possible_download_" = "It is not possible to download the file"; +"_not_possible_upload_" = "It is not possible to upload the file"; +"_error_files_upload_" = "Error uploading files"; +"_method_not_allowed_" = "The requested method is not supported"; "_invalid_url_" = "Invalid server URL"; +"_invalid_literal_" = "Invalid search string"; +"_invalid_date_format_" = "Invalid date format"; +"_invalid_data_format_" = "Invalid data format"; +"_error_decode_xml_" = "Invalid response, error decode XML"; +"_internal_generic_error_" = "internal error"; +"_editor_unknown_" = "Failed to open file: Editor is unknown"; +"_err_file_not_found_" = "File not found, removed"; +"_err_e2ee_app_version_" = "The app version of end-to-end encryption is not compatible with the server, please update your server"; +"_err_permission_microphone_" = "Please allow Microphone usage from Settings"; +"_err_permission_photolibrary_" = "Please allow Photos from Settings"; +"_err_permission_locationmanager_" = "Please allow Location - Always from Settings"; "_ssl_certificate_untrusted_" = "The certificate for this server is invalid."; "_ssl_certificate_changed_" = "The certificate for this server seems to have changed."; "_file_already_exists_" = "Could not complete the operation, a file with the same name exists."; @@ -520,11 +1124,13 @@ "_create_voice_memo_" = "Create voice memo"; "_voice_memo_start_" = "Tap to start"; "_voice_memo_stop_" = "Tap to stop"; -"Enter Passcode" = "Enter Passcode"; -"Enter a new passcode" = "Enter a new passcode"; -"Confirm new passcode" = "Confirm new passcode"; +"_voice_memo_filename_" = "Voice memo"; +"_voice_memo_title_" = "Upload voice memo"; +//"Enter Passcode" = "Enter Passcode"; +//"Enter a new passcode" = "Enter a new passcode"; +//"Confirm new passcode" = "Confirm new passcode"; "_too_many_failed_passcode_attempts_error_" = "Too many failed passcode attempts. Please try again."; -"Passcodes didn't match. Try again." = "Passcodes didn't match. Try again."; +//"Passcodes didn't match. Try again." = "Passcodes didn't match. Try again."; "Delete" = "Delete"; "Cancel" = "Cancel"; "_certificate_details_" = "Certificate Server details"; @@ -547,10 +1153,15 @@ "_3_months_" = "3 months"; "_1_month_" = "1 month"; "_1_week_" = "1 week"; +"_1_day_" = "1 day"; "_monthly_" = "Monthly"; "_yearly_" = "Yearly"; +"_weekly_" = "Weekly"; "_daily_" = "Daily"; -"_used_space_" = "Used space:"; +"_day_" = "Day"; +"_used_space_" = "Used space"; +"_open_in_onlyoffice_" = "Open in ONLYOFFICE"; +"_open_in_collabora_" = "Open with Collabora Online"; "_login_address_detail_" = "The link to your %@ web interface when you open it in the browser."; "_go_to_page_" = "Go to page"; "_page_" = "Page"; @@ -558,17 +1169,28 @@ "_invalid_page_" = "Invalid Page"; "_the_entered_page_number_does_not_exist_" = "The entered page number does not exist."; "_error_something_wrong_" = "Something went wrong"; +"_resolution_" = "Resolution"; "_try_download_full_resolution_" = "Download full resolution image"; "_full_resolution_image_info_" = "This may reveal more information about the photo."; "_download_audio_" = "Download the audio locally"; "_copied_path_" = "Copied path"; +"_copy_path_" = "Copy path"; +"_certificates_" = "Certificates"; +//"_privacy_screen_" = "Splash screen when app inactive"; +"_saving_" = "Saving …"; +"_video_not_streamed_" = "The server does not allow video streaming, do you want to download it?"; +"_video_not_streamed_e2ee_" = "The server does not allow video streaming because it is encrypted, do you want to download it?"; +"_scan_" = "Scan"; "_privacy_screen_" = "Hide content when app is inactive"; "_privacy_screen_footer_" = "Hide the content in the app and show a splash screen when the app is inactive."; "_in_" = "in"; "_enter_passphrase_" = "Enter passphrase (12 words)"; -"_show_more_results_" = "⋯ Load more results"; +"_show_more_results_" = "Show more results"; "_waiting_for_" = "Waiting for:"; +"_waiting_" = "Waiting …"; "_reachable_wifi_" = "network reachable via Wi-Fi or cable"; +"_ITMS-90076_" = "Due to a change in the MagentaCLOUD application identifier, the settings and password for accessing your cloud are reset, so please re-enter your account data and check your Settings. We are sorry about that."; +"_password_not_present_" = "Please re-insert your credentials."; "_copy_passphrase_" = "Copy passphrase"; "_ok_copy_passphrase_" = "OK and copy passphrase"; "_select_color_" = "Select the color"; @@ -576,10 +1198,17 @@ "_description_dashboardwidget_" = "Having the Dashboard always at your fingertips has never been easier."; "_description_fileswidget_" = "View your recent files and use the toolbar to speed up your operations."; "_description_toolbarwidget_" = "A toolbar to speed up your operations."; +"_no_data_available_" = "No data available"; +"_widget_available_nc25_" = "Widget only available starting with server version 25"; +"_keep_running_" = "Keep the app running for a better user experience"; +"_recent_activity_" = "Recent activity"; "_title_lockscreenwidget_" = "Status"; "_description_lockscreenwidget_" = "Keep an eye on available space and recent activity"; - +"_no_items_" = "No items"; +"_check_back_later_" = "Check back later"; +"_exporting_video_" = "Exporting video … Tap to cancel."; "_keep_running_" = "Keep the app running for a better user experience."; +//"_keep_running_" = "Keep the app running for a better user experience."; "_apps_nextcloud_detect_" = "Detected %@ apps"; "_add_existing_account_" = "Other %@ Apps has been detected, do you want to add an existing account?"; "_status_in_progress_" = "Status reading in progress …"; @@ -594,16 +1223,35 @@ "_mobile_config_" = "Download the configuration profile"; "_calendar_contacts_footer_warning_" = "Configuration profile can only be downloaded if Safari is set as default browser."; "_calendar_contacts_footer_" = "After downloading the profile you can install it from Settings."; +"_preview_" = "Preview"; +"_crop_" = "Crop"; "_modify_image_desc_" = "Tap on a file to modify or rename."; "_message_disable_livephoto_" = "This image is a Live Photo, changing it will lose the Live Photo effect."; +//"_modify_image_desc_" = "Tap the image for modify"; +//"_message_disable_livephoto_" = "This image is a Live Photo, changing it will lose the Live effect"; "_enable_livephoto_" = "Enable Live Photo"; "_disable_livephoto_" = "Disable Live Photo"; "_undo_modify_" = "Undo modifying"; +"_unauthorizedFilesPasscode_" = "Files app cannot be used with an activated passcode"; +"_disableFilesApp_" = "Files app cannot be used because it is disabled"; +"_reset_application_done_" = "Reset application, done."; "_rename_already_exists_" = "A file with this name already exists."; -"_group_folders_" = "Team folders"; +"_created_" = "Created"; +"_recipients_" = "Recipients"; +"_are_sure_" = "Are you sure?"; +"_creation_" = "Creation"; +"_modified_" = "Modified"; +"_group_folders_" = "Group folders"; "_play_from_files_" = "Play movie from a file"; "_play_from_url_" = "Play movie from URL"; "_valid_video_url_" = "Insert a valid URL"; +"_deletion_progess_" = "Deletion in progress"; +"_copying_progess_" = "Copying in progress"; +"_moving_progess_" = "Moving in progress"; +"_chunk_enough_memory_" = "It seems there is not enough space to send the file"; +"_chunk_create_folder_" = "The file could not be sent, please check the server log"; +"_chunk_files_null_" = "The file for sending could not be created"; +"_chunk_file_null_" = "The file could not be sent"; "_chunk_move_" = "The sent file could not be reassembled, please check the server log."; "_download_image_" = "Download image"; "_download_video_" = "Download video"; @@ -612,6 +1260,9 @@ "_reset_wrong_passcode_desc_" = "Enabling this will remove all accounts and local data after %d failed passcode entry attempts."; "_deviceOwnerAuthentication_" = "The biometric sensor has been temporarily disabled due to multiple failed attempts. Enter the device passcode to re-enable the sensor."; "_virus_detect_" = "Virus detected. Upload cannot be completed!"; +"_zoom_" = "Zoom"; +"_zoom_in_" = "Zoom in"; +"_zoom_out_" = "Zoom out"; "_select_photos_" = "Select photos"; "_selected_photo_" = "selected photo"; "_selected_photos_" = "selected photos"; @@ -626,13 +1277,17 @@ "_use_system_style_" = "Use system style"; "_account_settings_" = "Account settings"; "_users_" = "Users"; +//"_users_footer_" = "Every time the app is reactivated, the account will be requested."; "_users_footer_" = "Allows you to select an account every time you open the app."; +"_additional_view_options_" = "Additional view options"; "_while_charging_" = "While charging"; +"_downloading_" = "Downloading"; +"_additional_options_" = "Additional options"; "_keep_screen_awake_" = "Keep screen awake\nwhile transferring files"; "_error_not_found_" = "The requested resource could not be found"; "_error_conflict_" = "The request could not be completed due to a conflict with the current state of the resource"; "_error_precondition_" = "The server does not meet one of the preconditions of the requester"; -"_downloading_" = "Downloading"; + "_additional_options_" = "Additional options"; "_unauthorizedFilesPasscode_" = "Files app cannot be used with an activated passcode"; "_disableFilesApp_" = "Files app cannot be used because it is disabled"; @@ -643,12 +1298,32 @@ "_recent_activity_" = "Recent activity"; "_maintenance_mode_" = "The server is currently in maintenance mode, which may take a while."; "_account_disabled_" = "Account disabled"; + +//Video +"_select_trace_" = "Select the trace"; +"_video_processing_" = "Video processing"; +"_video_being_processed_" = "Video being processed …"; +"_downloading_" = "Downloading"; +"_download_error_" = "Download error"; +"_subtitle_" = "Subtitle"; +"_dts_to_ac3_" = "The DTS is not supported, it requires a conversion to Dolby Digital"; +"_reuired_conversion_" = "This video takes a long time to convert."; +"_stay_app_foreground_" = "Keep the app in the foreground …"; +"_conversion_available_" = "The conversion is always available on menu"; +"_video_format_not_recognized_" = "This video needs to be processed to be played, do you want to do it now?"; +"_video_must_download_" = "This video needs to be downloaded and processed to be played, do you want to do it now?"; +"_conversion_max_compatibility_" = "Max compatibility, the conversion can take much longer"; +"_video_tap_for_close_" = "A slight pressure to close the processing"; +"_subtitle_not_found_" = "Subtitle not found"; +"_disable_" = "Disable"; +"_subtitle_not_dowloaded_" = "There are subtitles not downloaded locally"; "_user_" = "User"; "_add_subtitle_" = "Add an external subtitle"; "_add_audio_" = "Add an external audio"; "_upload_foreground_msg_" = "Do not close %@ to complete the transfer …"; "_upload_background_msg_" = "Files upload in progress …"; "_create_folder_error_" = "An error has occurred while creating the folder:\n%@.\n\nPlease resolve the issue as soon as possible.\n\nAll uploads are suspended until the problem is resolved.\n"; +"_rename_file_error_" = "An error has occurred while renaming the file:\n%@."; "_creating_dir_progress_" = "Creating directories in progress … keep the application active."; "_creating_db_photo_progress_" = "Creating photo archive in progress … keep the application active."; "_account_unauthorized_" = "There was an issue authorizing the account %@. Please log in again."; @@ -662,7 +1337,7 @@ "_recommended_files_" = "Recommended Files"; "_propagate_layout_" = "Apply the following change to all subfolders"; "_version_mismatch_error_" = "Version change: please open the main app to update the data."; -"_check_auto_upload_" = "Automatic photo upload is currently disabled.\nWith Nextcloud iOS you can automatically back up your photos and keep them safe on your server.\nJust open Settings → Auto Upload, choose the options you prefer, and turn it on with the \"%@\" button."; +"_check_auto_upload_" = "Automatic photo upload is currently disabled.\nWith MagentaCLOUD iOS you can automatically back up your photos and keep them safe on your server.\nJust open Settings → Auto Upload, choose the options you prefer, and turn it on with the \"%@\" button."; "_cancel_all_request_" = "Are you sure you want to cancel all transfers?"; "_cancel_all_" = "Cancel All"; "_dismiss_" = "Dismiss"; @@ -682,7 +1357,6 @@ "_e2ee_upload_tip_" = "End-to-end encrypted files require the app to remain open until the transfer is complete."; "_finalizing_wait_" = "Waiting for finalization …"; "_in_this_folder_" = "In this folder"; -"_no_assistant_installed_" = "Assistant is not installed on this server. Ask your administrator to install the Assistant app"; // Tip "_tip_pdf_thumbnails_" = "Swipe left from the right edge of the screen to show the thumbnails"; @@ -691,6 +1365,7 @@ "_tip_open_mediadetail_" = "Swipe up to show the details"; "_tip_autoupload_button_" = "Configure the options as you prefer (folder, Wi-Fi, new content, subfolders) and tap ‘Turn on auto uploading’. You can stop it at any time, adjust the settings, and enable it again."; +"_tip_autoupload_" = "You can now Auto Upload specific Albums from your Photos. You can enable Auto Upload here"; // MARK: Accessibility @@ -703,35 +1378,52 @@ You can stop it at any time, adjust the settings, and enable it again."; "_on_" = "On"; // a11y: On/Off "_off_" = "Off"; +"_grid_view_" = "Show grid view"; +"_list_view_" = "Show list view"; "_list_" = "List"; "_icons_" = "Icons"; +// MARK: Plan customer +"_leave_plan_title" = "We're sorry to see you go"; +"_leave_plan_description" = "You'll no longer have access to:"; +"_current_plan_" = "Current Plan"; +"_billing_plan_" = "Billing Plan"; +"_keep_plan_" = "Keep Plan"; +"_leave_plan_" = "Leave Plan"; +"_change_plan_" = "Change Plan"; +"_manage_plan_" = "Manage Plan"; +"_purchase_plan_" = "Purchase Plan"; +"_restore_plan_" = "Restore Purchased Plan"; +"_purchase_plan_description_" = "Purchases have been restored"; +"_choose_plan_" = "You should choose a plan in order to purchase it."; +"_already_plan_" = "The selected plan has already been bought."; +"_change_billing_" = "Change Billing"; +"_payment_method_" = "Payment Method"; + +// MARK: Mantis library +"Mantis.Done" = "Done"; +"Mantis.Cancel" = "Cancel"; +"Mantis.Reset" = "Reset"; +"Mantis.Original" = "Original"; +"Mantis.Square" = "Square"; + // MARK: Assistant "_assistant_task_unknown_" = "Unknown"; "_assistant_task_scheduled_" = "Scheduled"; "_assistant_task_in_progress_" = "In Progress"; "_assistant_task_completed_" = "Completed"; "_assistant_task_failed_" = "Failed"; +"_all_" = "All"; "_input_" = "Input"; "_output_" = "Output"; "_task_details_" = "Task details"; "_assistant_" = "Assistant"; "_new_task_" = "New %@ task"; -"_no_tasks_" = "Hello there! What can I help you with today?"; -"_create_task_subtitle_" = "Use the + button to create a new task"; +"_no_tasks_" = "No tasks in here"; +"_create_task_subtitle_" = "Use the + button to create one"; "_edit_task_" = "Edit %@ task"; "_no_types_" = "No provider found"; "_no_types_subtitle_" = "AI Providers need to be installed to use the Assistant."; -"_assistant_ai_warning_" = "Output shown here is generated by AI. Make sure to always double-check."; -"_no_chat_subtitle_" = "Try sending a message to spark a conversation."; -"_retry_response_generation_" = "Retry response generation"; -"_conversations_" = "Conversations"; -"_new_conversation_" = "New conversation"; -"_type_message_" = "Type a message..."; -"_assistant_chat_" = "Assistant Chat"; -"_assistant_error_send_message_" = "Could not send message. Please try again."; -"_assistant_error_load_messages_" = "Could not load messages. Please try again."; -"_assistant_error_generate_response_" = "Could not generate response. Please try again."; // MARK: Client certificate "_no_client_cert_found_" = "The server is requesting a client certificate."; @@ -762,6 +1454,7 @@ You can stop it at any time, adjust the settings, and enable it again."; "_albums_" = "Albums"; "_new_photos_only_" = "New photos only"; "_all_photos_" = "All photos"; +//"_back_up_" = "Back up..."; "_back_up_new_photos_only_" = "Back up new photos/videos only"; "_auto_upload_all_photos_warning_title_" = "Are you sure you want to upload all photos?"; "_auto_upload_all_photos_warning_message_" = "This can take some time to process depending on the amount of photos."; @@ -781,45 +1474,102 @@ You can stop it at any time, adjust the settings, and enable it again."; "_finish_" = "Finish"; "_item_with_same_name_already_exists_" = "An item with the same name already exists."; +// MARK: Privacy Policy +"_privacy_settings_title_" = "Privacy Settings"; +"_privacy_help_text_after_login_" = "This app uses Cookies and similiar technolgies (tools). By clicking Accept, you accept the processing and also the Transfer of your data to third parties. The data will be used for Analysis, retargeting and to Display personalized Content and Advertising on sites and third-party sites. You can find further informatin, including Information on data processing by third-party Providers, in the settings and in our Privacy Policy.You can reject the use of the Tools or customize them at any time in the Settings."; +"_key_privacy_help_" = "Privacy Policy"; +"_key_reject_help_" = "reject"; +"_key_settings_help_" = "Settings"; +"_accept_button_title_" = "Accept"; +"_privacy_settings_help_text_" = "To optimize your app, we collect anonymous data. For this we use software solutions of different partners. We would like to give you full transparency and decision-making power over the processin and collection of your anonymized usage data. You can also change your settings at any time later in the app settings under data protection. Please note, however, that data collection makes a considerable contribution to the optimization of this app and you prevent this optimization by preventing data transmission."; +"_required_data_collection_" = "Required data collection"; +"_required_data_collection_help_text_" = "The collection of this data is necessary to be able to use essential functions of the app."; +"_analysis_data_acqusition_" = "Analysis-data acqusition for the design"; +"_analysis_data_acqusition_help_text_" = "This data helps us to optimize the app usage for you and to identify system crashes and errors more quickly."; + +// MARK: Collabora +"_prefix_upload_path_" = "MagentaCLOUD/"; +"_please_enter_file_name_" = "Please enter the file name"; + +// MARK: Scan +"_location_" = "Location"; +"_prefix_upload_path_" = "MagentaCLOUD/"; + +"_save_with_text_recognition_" = "SAVE WITH TEXT RECOGNITION (OCR)"; +"_pdf_with_ocr_" = "PDF (OCR)"; +"_text_file_ocr_" = "Textfile (txt)"; +"_save_without_text_recognition_" = "SAVE WITHOUT TEXT RECOGNITION"; +"_pdf_" = "PDF"; +"_jpg_" = "JPG"; +"_png_" = "PNG"; +"_set_password_" = "Set password"; +"_no_password_warn_" = "Please enter a password for the PDF you want to create or disable the function."; +"_saved_info_alert_" = "Saving will take some time, especially if you have selected several pages and file formats."; +"_no_file_type_selection_error_" = "Please select at least one filetype"; +"_no_internet_alert_message_" = "A data connection is not currently allowed."; +"_no_internet_alert_title_" = "Connection error"; +"_auto_upload_help_text_" = "With this option, you upload your photos or videos to the same folder that you selected for \"Automatic upload.\""; +"_item_with_same_name_already_exists_" = "An item with the same name already exists."; + +// MARK: Dashboard +"_shared_" = "Shared"; +"_recieved_" = "Received"; + +// MARK: App Updater +"update_available" = "Update available"; +"update_description" = "MagentaCLOUD version %@ is now available"; +"update" = "Update"; +"not_now" = "Not Now"; + +"_prompt_insert_file_name" = "Please enter filename"; + // MARK: Migration Multi Domains + "_preparing_migration_" = "Preparing migration …"; "_scanning_files_" = "Scanning files …"; "_moving_items_to_domain_" = "Moving items to correct domain …"; "_finishing_up_" = "Finishing up …"; -// MARK: E2EE -"_e2ee_no_session_" = "End-to-end encryption error, no account for this session"; -"_e2ee_no_dir_" = "End-to-end encryption error, cannot get directory"; -"_e2ee_no_certificate_" = "End-to-end encryption error, cannot get certificate"; -"_e2ee_no_generate_key_" = "End-to-end encryption error, cannot generate key"; -"_e2ee_no_metadataKey_found_" = "End-to-end encryption error, cannot decrypt metadata key"; -"_e2ee_no_user_found_" = "End-to-end encryption error, user not found"; -"_e2ee_no_signature_found_" = "End-to-end encryption error, no signature found"; -"_e2ee_counter_check_" = "End-to-end encryption error, the counter is lower than the previous one"; -"_e2ee_signature_failed_" = "End-to-end encryption error, verify signature failed"; -"_e2ee_enc_payload_" = "End-to-end encryption error, encrypt payload file"; -"_e2ee_no_metadata_" = "End-to-end encryption error, cannot get metadata"; -"_e2ee_filedrop_ciphertext_" = "End-to-end encryption error, filedrop ciphertext failed"; -"_e2ee_key_ciphertext_" = "End-to-end encryption error, key ciphertext failed"; -"_e2ee_key_no_checksums_found_" = "End-to-end encryption error, no checksums found"; -"_e2ee_key_checksums_" = "End-to-end encryption error, key checksums failed"; -"_e2ee_decode_metadata_" = "End-to-end encryption error, cannot decode metadata"; -"_e2ee_no_lock_" = "End-to-end encryption error, unable to lock file"; -"_e2ee_no_decrypt_metadata_" = "End-to-end encryption error, cannot decrypt metadata"; -"_e2ee_no_enc_file_" = "End-to-end encryption error, cannot encrypt file"; -"_e2ee_no_enc_key_" = "End-to-end encryption error, cannot get encoded key"; -"_e2ee_no_match_checksum_" = "End-to-end encryption error, checksum does not match"; -"_e2ee_create_folder_" = "End-to-end encryption directory creation in progress, please wait …"; -"_e2ee_rename_file_" = "End-to-end encryption rename in progress, please wait …"; -"_e2ee_encrypt_folder_" = "End-to-end encryption folder in progress, please wait …"; -"_e2ee_setup_get_certificate_" = "Server did not return a certificate"; -"_e2ee_setup_create_csr_" = "Unable to generate certificate signing request (CSR)"; -"_e2ee_setup_sign_certificate_" = "Server did not return a certificate after signing request"; -"_e2ee_setup_extract_publickey_" = "Public key mismatch between generated key and certificate"; -"_e2ee_setup_get_privatekey_" = "Server did not return an encrypted private key"; -"_e2ee_setup_passphrase_error_" = "The provided passphrase is incorrect"; -"_e2ee_setup_get_publickey_" = "Server did not return an encrypted public key"; -"_e2ee_setup_encript_privatekey_" = "Unable to encrypt the private key"; -"_e2ee_setup_store_privatekey_" = "Private key generation returned no usable key"; -"_e2ee_setup_verify_publickey_" = "Public key does not match the certificate"; -"_e2ee_setup_generate_passphrase_" = "Unable to generate a passphrase"; +// MARK: Albums +"_albums_loading_popup_desc_" = "Wait a moment..."; +"_albums_list_nav_title_" = "Albums"; +"_albums_list_new_album_btn_" = "New"; +"_albums_list_loading_msg_" = "Loading..."; +"_albums_list_error_msg_" = "Unable to load albums. Please try again later!"; +"_albums_list_album_name_validation_nonempty_" = "Album name cannot be empty."; +"_albums_list_album_name_validation_min_length_" = "Album name must be at least 3 characters."; +"_albums_list_album_name_validation_max_length_" = "Album name cannot be more than 30 characters."; +"_albums_list_album_name_validation_specials_" = "Album name cannot contain slashes."; +"_albums_list_empty_heading_" = "Create\nAlbums\nfor your\nPhotos"; +"_albums_list_empty_subheading_" = "You can organize all your photos in as many albums as you like. You haven't created an album yet."; +"_albums_list_empty_new_album_btn_" = "Create album"; +"_albums_list_own_albums_heading_" = "My albums"; +"_albums_list_entities_" = "Items"; +"_albums_list_new_album_popup_title_" = "Create new Album"; +"_albums_list_new_album_popup_desc_" = "Please enter an album name between 3 and 30 characters."; +"_albums_list_new_album_popup_hint_" = "Album's name"; +"_albums_list_new_album_popup_positive_btn_" = "Create"; +"_albums_list_new_album_popup_negative_btn_" = "Cancel"; +"_albums_list_rename_album_popup_title_" = "Rename Album"; +"_albums_list_rename_album_popup_desc_" = "Please enter new album name between 3 and 30 characters."; +"_albums_list_rename_album_popup_hint_" = "Album's new name"; +"_albums_list_rename_album_popup_positive_btn_" = "Rename"; +"_albums_list_rename_album_popup_negative_btn_" = "Cancel"; +"_albums_photo_selection_sheet_title_" = "Select items"; +"_albums_photo_selection_sheet_back_btn_" = "Back"; +"_albums_photo_selection_sheet_done_btn_" = "Done"; +"_albums_photos_loading_msg_" = "Loading photos..."; +"_albums_photos_error_msg_" = "Unable to load photos. Please try again later!"; +"_albums_photos_empty_heading_" = "All that's\nmissing are\nyour photos"; +"_albums_photos_empty_subheading_" = "You can add as many photos as you like. A photo can also belong to more than one album."; +"_albums_photos_empty_add_photos_btn_" = "Add photos"; +"_albums_photos_add_photos_btn_" = "Add"; +"_albums_photos_rename_album_btn_" = "Rename Album"; +"_albums_photos_delete_album_btn_" = "Delete Album"; +"_albums_delete_album_popup_title_" = "Delete Album?"; +"_albums_delete_album_popup_desc_" = "Are you sure you want to delete this album? This action cannot be undone."; +"_albums_delete_album_popup_positive_btn_" = "Delete"; +"_albums_delete_album_popup_negative_btn_" = "Cancel"; +"_add_to_album" = "Add to Album"; +"_remove_from_album_" = "Remove from Album"; +"_album_already_exists_" = "Could not complete the operation, album with the same name exists"; diff --git a/iOSClient/Utility/NCLivePhoto.swift b/iOSClient/Utility/NCLivePhoto.swift index 6849887f53..9a4a6c1408 100644 --- a/iOSClient/Utility/NCLivePhoto.swift +++ b/iOSClient/Utility/NCLivePhoto.swift @@ -1,717 +1,460 @@ // SPDX-FileCopyrightText: Nextcloud GmbH // SPDX-FileCopyrightText: 2018 Alexander Pagliaro -// SPDX-FileCopyrightText: 2026 Marino Faggiana +// SPDX-FileCopyrightText: 2022 Marino Faggiana // SPDX-License-Identifier: GPL-3.0-or-later import UIKit -@preconcurrency import AVFoundation +import AVFoundation +import MobileCoreServices import Photos import NextcloudKit import UniformTypeIdentifiers -import ImageIO -final class NCLivePhoto { - // MARK: - Public +class NCLivePhoto { - typealias LivePhotoResources = (pairedImage: URL, pairedVideo: URL) + var livePhotoFile = "" + var livePhotoFile2 = "" - /// Returns the paired image and video for the given PHLivePhoto. + // MARK: PUBLIC + typealias LivePhotoResources = (pairedImage: URL, pairedVideo: URL) + /// Returns the paired image and video for the given PHLivePhoto public class func extractResources(from livePhoto: PHLivePhoto, completion: @escaping (LivePhotoResources?) -> Void) { queue.async { shared.extractResources(from: livePhoto, completion: completion) } } - - /// Generates a PHLivePhoto from an image and video. - /// Also returns the paired image and video resources. + /// Generates a PHLivePhoto from an image and video. Also returns the paired image and video. public class func generate(from imageURL: URL?, videoURL: URL, progress: @escaping (CGFloat) -> Void, completion: @escaping (PHLivePhoto?, LivePhotoResources?) -> Void) { queue.async { - Task { - await shared.generateAsync(from: imageURL, videoURL: videoURL, progress: progress, completion: completion) - } + shared.generate(from: imageURL, videoURL: videoURL, progress: progress, completion: completion) } } - - /// Saves a Live Photo to the Photo Library using the paired image and video. + /// Save a Live Photo to the Photo Library by passing the paired image and video. public class func saveToLibrary(_ resources: LivePhotoResources, completion: @escaping (Bool) -> Void) { PHPhotoLibrary.shared().performChanges({ let creationRequest = PHAssetCreationRequest.forAsset() let options = PHAssetResourceCreationOptions() - - creationRequest.addResource(with: .pairedVideo, fileURL: resources.pairedVideo, options: options) - creationRequest.addResource(with: .photo, fileURL: resources.pairedImage, options: options) + creationRequest.addResource(with: PHAssetResourceType.pairedVideo, fileURL: resources.pairedVideo, options: options) + creationRequest.addResource(with: PHAssetResourceType.photo, fileURL: resources.pairedImage, options: options) }, completionHandler: { success, error in - if let error { - print(error) + if error != nil { + print(error as Any) } completion(success) }) } - // MARK: - Private - + // MARK: PRIVATE private static let shared = NCLivePhoto() private static let queue = DispatchQueue(label: "com.limit-point.LivePhotoQueue", attributes: .concurrent) - - /// Minimal wrapper used to pass Objective-C / AVFoundation reference types through @Sendable closures. - private final class UnsafeSendableBox: @unchecked Sendable { - let value: Value - - init(_ value: Value) { - self.value = value - } - } - - private lazy var cacheDirectory: URL? = { - guard let cacheDirectoryURL = try? FileManager.default.url( - for: .cachesDirectory, - in: .userDomainMask, - appropriateFor: nil, - create: false - ) else { - return nil - } - - let fullDirectory = cacheDirectoryURL.appendingPathComponent("com.limit-point.LivePhoto", isDirectory: true) - - if !FileManager.default.fileExists(atPath: fullDirectory.path) { - try? FileManager.default.createDirectory(at: fullDirectory, withIntermediateDirectories: true, attributes: nil) + lazy private var cacheDirectory: URL? = { + if let cacheDirectoryURL = try? FileManager.default.url(for: .cachesDirectory, in: .userDomainMask, appropriateFor: nil, create: false) { + let fullDirectory = cacheDirectoryURL.appendingPathComponent("com.limit-point.LivePhoto", isDirectory: true) + if !FileManager.default.fileExists(atPath: fullDirectory.absoluteString) { + try? FileManager.default.createDirectory(at: fullDirectory, withIntermediateDirectories: true, attributes: nil) + } + return fullDirectory } - - return fullDirectory + return nil }() deinit { clearCache() } - /// Generates the JPEG key photo from the video still-image time if available, - /// otherwise falls back to the middle frame of the video. - private func generateKeyPhoto(from videoURL: URL) async -> URL? { - let videoAsset = AVURLAsset(url: videoURL) - + private func generateKeyPhoto(from videoURL: URL) -> URL? { var percent: Float = 0.5 - - if let stillImageTime = await videoAsset.stillImageTimeAsync(), - let duration = try? await videoAsset.load(.duration), - duration.value != 0 { - percent = Float(stillImageTime.value) / Float(duration.value) - } - - guard let imageFrame = await videoAsset.getAssetFrameAsync(percent: percent) else { - return nil - } - - guard let jpegData = imageFrame.jpegData(compressionQuality: 1) else { - return nil - } - - guard let url = cacheDirectory? - .appendingPathComponent(UUID().uuidString) - .appendingPathExtension("jpg") else { - return nil + let videoAsset = AVURLAsset(url: videoURL) + if let stillImageTime = videoAsset.stillImageTime() { + percent = Float(stillImageTime.value) / Float(videoAsset.duration.value) } - + guard let imageFrame = videoAsset.getAssetFrame(percent: percent) else { return nil } + guard let jpegData = imageFrame.jpegData(compressionQuality: 1) else { return nil } + guard let url = cacheDirectory?.appendingPathComponent(UUID().uuidString).appendingPathExtension("jpg") else { return nil } do { - try jpegData.write(to: url, options: .atomic) + try? jpegData.write(to: url) return url - } catch { - print(error) - return nil } } - private func clearCache() { - guard let cacheDirectory else { - return + if let cacheDirectory = cacheDirectory { + try? FileManager.default.removeItem(at: cacheDirectory) } - - try? FileManager.default.removeItem(at: cacheDirectory) } - /// Generates the paired image and paired video and then builds a PHLivePhoto from them. - private func generateAsync(from imageURL: URL?, videoURL: URL, progress: @escaping (CGFloat) -> Void, completion: @escaping (PHLivePhoto?, LivePhotoResources?) -> Void) async { - guard let cacheDirectory else { + private func generate(from imageURL: URL?, videoURL: URL, progress: @escaping (CGFloat) -> Void, completion: @escaping (PHLivePhoto?, LivePhotoResources?) -> Void) { + guard let cacheDirectory = cacheDirectory else { DispatchQueue.main.async { completion(nil, nil) } return } - let assetIdentifier = UUID().uuidString - - let keyPhotoURLSource: URL? - if let imageURL { - keyPhotoURLSource = imageURL - } else { - keyPhotoURLSource = await generateKeyPhoto(from: videoURL) - } - - guard - let keyPhotoURL = keyPhotoURLSource, - let pairedImageURL = addAssetID( - assetIdentifier, - toImage: keyPhotoURL, - saveTo: cacheDirectory.appendingPathComponent(assetIdentifier).appendingPathExtension("jpg") - ) - else { + let _keyPhotoURL = imageURL ?? generateKeyPhoto(from: videoURL) + guard let keyPhotoURL = _keyPhotoURL, let pairedImageURL = addAssetID(assetIdentifier, toImage: keyPhotoURL, saveTo: cacheDirectory.appendingPathComponent(assetIdentifier).appendingPathExtension("jpg")) else { DispatchQueue.main.async { completion(nil, nil) } return } - - addAssetID( - assetIdentifier, - toVideo: videoURL, - saveTo: cacheDirectory.appendingPathComponent(assetIdentifier).appendingPathExtension("mov"), - progress: progress - ) { pairedVideoURL in - guard let pairedVideoURL else { + addAssetID(assetIdentifier, toVideo: videoURL, saveTo: cacheDirectory.appendingPathComponent(assetIdentifier).appendingPathExtension("mov"), progress: progress) { _videoURL in + if let pairedVideoURL = _videoURL { + _ = PHLivePhoto.request(withResourceFileURLs: [pairedVideoURL, pairedImageURL], placeholderImage: nil, targetSize: CGSize.zero, contentMode: PHImageContentMode.aspectFit, resultHandler: { (livePhoto: PHLivePhoto?, info: [AnyHashable: Any]) -> Void in + if let isDegraded = info[PHLivePhotoInfoIsDegradedKey] as? Bool, isDegraded { + return + } + DispatchQueue.main.async { + completion(livePhoto, (pairedImageURL, pairedVideoURL)) + } + }) + } else { DispatchQueue.main.async { completion(nil, nil) } - return - } - - _ = PHLivePhoto.request( - withResourceFileURLs: [pairedVideoURL, pairedImageURL], - placeholderImage: nil, - targetSize: .zero, - contentMode: .aspectFit - ) { livePhoto, info in - if let isDegraded = info[PHLivePhotoInfoIsDegradedKey] as? Bool, isDegraded { - return - } - - DispatchQueue.main.async { - completion(livePhoto, (pairedImageURL, pairedVideoURL)) - } } } } - /// Extracts the paired photo and paired video resources from a PHLivePhoto into the target directory. private func extractResources(from livePhoto: PHLivePhoto, to directoryURL: URL, completion: @escaping (LivePhotoResources?) -> Void) { + // Must be in primary Task + // let assetResources = PHAssetResource.assetResources(for: livePhoto) let group = DispatchGroup() - var keyPhotoURL: URL? var videoURL: URL? - for resource in assetResources { let buffer = NSMutableData() let options = PHAssetResourceRequestOptions() options.isNetworkAccessAllowed = true - group.enter() - PHAssetResourceManager.default().requestData(for: resource, options: options, dataReceivedHandler: { data in buffer.append(data) }) { error in if error == nil { if resource.type == .pairedVideo { videoURL = self.saveAssetResource(resource, to: directoryURL, resourceData: buffer as Data) - } else if resource.type == .photo { + } else { keyPhotoURL = self.saveAssetResource(resource, to: directoryURL, resourceData: buffer as Data) } } else { print(error as Any) } - group.leave() } } - - group.notify(queue: .main) { + group.notify(queue: DispatchQueue.main) { guard let pairedPhotoURL = keyPhotoURL, let pairedVideoURL = videoURL else { - completion(nil) - return + return completion(nil) } - completion((pairedPhotoURL, pairedVideoURL)) } } private func extractResources(from livePhoto: PHLivePhoto, completion: @escaping (LivePhotoResources?) -> Void) { - guard let cacheDirectory else { - completion(nil) - return + if let cacheDirectory = cacheDirectory { + extractResources(from: livePhoto, to: cacheDirectory, completion: completion) } - - extractResources(from: livePhoto, to: cacheDirectory, completion: completion) } - /// Saves a PHAssetResource to disk and returns the destination URL. private func saveAssetResource(_ resource: PHAssetResource, to directory: URL, resourceData: Data) -> URL? { - let type = UTType(resource.uniformTypeIdentifier) - let fileExtension = type?.preferredFilenameExtension ?? "dat" - - let fileURL = directory - .appendingPathComponent(UUID().uuidString) - .appendingPathExtension(fileExtension) - + guard let ext = UTType(tag: resource.uniformTypeIdentifier, tagClass: .filenameExtension, conformingTo: nil)?.identifier else { return nil } + var fileUrl = directory.appendingPathComponent(NSUUID().uuidString) + fileUrl = fileUrl.appendingPathExtension(ext as String) do { - try resourceData.write(to: fileURL, options: .atomic) - return fileURL + try resourceData.write(to: fileUrl, options: [Data.WritingOptions.atomic]) } catch { - print("Could not save resource \(resource) to filepath \(fileURL)") + print("Could not save resource \(resource) to filepath \(String(describing: fileUrl))") return nil } + return fileUrl } - /// Adds the Live Photo asset identifier metadata to the JPEG image. func addAssetID(_ assetIdentifier: String, toImage imageURL: URL, saveTo destinationURL: URL) -> URL? { - guard - let imageDestination = CGImageDestinationCreateWithURL( - destinationURL as CFURL, - UTType.jpeg.identifier as CFString, - 1, - nil - ), + guard let imageDestination = CGImageDestinationCreateWithURL(destinationURL as CFURL, UTType.jpeg.identifier as CFString, 1, nil), let imageSource = CGImageSourceCreateWithURL(imageURL as CFURL, nil), - var imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil) as? [AnyHashable: Any] - else { - return nil - } - + var imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil) as? [AnyHashable: Any] else { return nil } let assetIdentifierKey = "17" let assetIdentifierInfo = [assetIdentifierKey: assetIdentifier] imageProperties[kCGImagePropertyMakerAppleDictionary] = assetIdentifierInfo - CGImageDestinationAddImageFromSource(imageDestination, imageSource, 0, imageProperties as CFDictionary) CGImageDestinationFinalize(imageDestination) - return destinationURL } - /// Adds the Live Photo asset identifier metadata to the MOV video. + var audioReader: AVAssetReader? + var videoReader: AVAssetReader? + var assetWriter: AVAssetWriter? + func addAssetID(_ assetIdentifier: String, toVideo videoURL: URL, saveTo destinationURL: URL, progress: @escaping (CGFloat) -> Void, completion: @escaping (URL?) -> Void) { - Task { - await addAssetIDAsync( - assetIdentifier, - toVideo: videoURL, - saveTo: destinationURL, - progress: progress, - completion: completion - ) - } - } - /// Rewrites the input video into a new MOV file including the Live Photo metadata. - private func addAssetIDAsync(_ assetIdentifier: String, toVideo videoURL: URL, saveTo destinationURL: URL, progress: @escaping (CGFloat) -> Void, completion: @escaping (URL?) -> Void) async { + var audioWriterInput: AVAssetWriterInput? + var audioReaderOutput: AVAssetReaderOutput? let videoAsset = AVURLAsset(url: videoURL) - let frameCount = await videoAsset.countFramesAsync(exact: false) - + let frameCount = videoAsset.countFrames(exact: false) + guard let videoTrack = videoAsset.tracks(withMediaType: .video).first else { + return completion(nil) + } do { - let videoTracks = try await videoAsset.loadTracks(withMediaType: .video) - guard let videoTrack = videoTracks.first else { - completion(nil) - return - } - - let naturalSize = try await videoTrack.load(.naturalSize) - let preferredTransform = try await videoTrack.load(.preferredTransform) - - let assetWriter = try AVAssetWriter(outputURL: destinationURL, fileType: .mov) - let assetWriterBox = UnsafeSendableBox(assetWriter) - - let videoReader = try AVAssetReader(asset: videoAsset) - let videoReaderBox = UnsafeSendableBox(videoReader) - - let videoReaderSettings: [String: Any] = [ - kCVPixelBufferPixelFormatTypeKey as String: NSNumber(value: kCVPixelFormatType_32BGRA as UInt32) - ] - + // Create the Asset Writer + assetWriter = try AVAssetWriter(outputURL: destinationURL, fileType: .mov) + // Create Video Reader Output + videoReader = try AVAssetReader(asset: videoAsset) + let videoReaderSettings = [kCVPixelBufferPixelFormatTypeKey as String: NSNumber(value: kCVPixelFormatType_32BGRA as UInt32)] let videoReaderOutput = AVAssetReaderTrackOutput(track: videoTrack, outputSettings: videoReaderSettings) - videoReader.add(videoReaderOutput) - let videoReaderOutputBox = UnsafeSendableBox(videoReaderOutput) - - let videoWriterInput = AVAssetWriterInput( - mediaType: .video, - outputSettings: [ - AVVideoCodecKey: AVVideoCodecType.h264, - AVVideoWidthKey: naturalSize.width, - AVVideoHeightKey: naturalSize.height - ] - ) - videoWriterInput.transform = preferredTransform + videoReader?.add(videoReaderOutput) + // Create Video Writer Input + let videoWriterInput = AVAssetWriterInput(mediaType: .video, outputSettings: [AVVideoCodecKey: AVVideoCodecType.h264, AVVideoWidthKey: videoTrack.naturalSize.width, AVVideoHeightKey: videoTrack.naturalSize.height]) + videoWriterInput.transform = videoTrack.preferredTransform videoWriterInput.expectsMediaDataInRealTime = true - assetWriter.add(videoWriterInput) - let videoWriterInputBox = UnsafeSendableBox(videoWriterInput) - - var audioReader: AVAssetReader? - var audioReaderOutput: AVAssetReaderOutput? - var audioWriterInput: AVAssetWriterInput? - - let audioTracks = try await videoAsset.loadTracks(withMediaType: .audio) - if let audioTrack = audioTracks.first { - let localAudioReader = try AVAssetReader(asset: videoAsset) - let localAudioReaderOutput = AVAssetReaderTrackOutput(track: audioTrack, outputSettings: nil) - localAudioReader.add(localAudioReaderOutput) - - let localAudioWriterInput = AVAssetWriterInput(mediaType: .audio, outputSettings: nil) - localAudioWriterInput.expectsMediaDataInRealTime = false - assetWriter.add(localAudioWriterInput) - - audioReader = localAudioReader - audioReaderOutput = localAudioReaderOutput - audioWriterInput = localAudioWriterInput + assetWriter?.add(videoWriterInput) + // Create Audio Reader Output & Writer Input + if let audioTrack = videoAsset.tracks(withMediaType: .audio).first { + do { + let _audioReader = try AVAssetReader(asset: videoAsset) + let _audioReaderOutput = AVAssetReaderTrackOutput(track: audioTrack, outputSettings: nil) + _audioReader.add(_audioReaderOutput) + audioReader = _audioReader + audioReaderOutput = _audioReaderOutput + let _audioWriterInput = AVAssetWriterInput(mediaType: .audio, outputSettings: nil) + _audioWriterInput.expectsMediaDataInRealTime = false + assetWriter?.add(_audioWriterInput) + audioWriterInput = _audioWriterInput + } catch { + print(error) + } } - - let audioReaderBox = audioReader.map(UnsafeSendableBox.init) - let audioReaderOutputBox = audioReaderOutput.map(UnsafeSendableBox.init) - let audioWriterInputBox = audioWriterInput.map(UnsafeSendableBox.init) - + // Create necessary identifier metadata and still image time metadata let assetIdentifierMetadata = metadataForAssetID(assetIdentifier) let stillImageTimeMetadataAdapter = createMetadataAdaptorForStillImageTime() - - assetWriter.metadata = [assetIdentifierMetadata] - assetWriter.add(stillImageTimeMetadataAdapter.assetWriterInput) - - assetWriter.startWriting() - assetWriter.startSession(atSourceTime: .zero) - - let stillImagePercent: Float = 0.5 - let stillImageRange = await videoAsset.makeStillImageTimeRangeAsync( - percent: stillImagePercent, - inFrameCount: frameCount - ) - - stillImageTimeMetadataAdapter.append( - AVTimedMetadataGroup( - items: [metadataItemForStillImageTime()], - timeRange: stillImageRange - ) - ) - - let completionQueue = DispatchQueue(label: "com.nextcloud.livephoto.finish") - let completionQueueBox = UnsafeSendableBox(completionQueue) - - let state = LivePhotoWritingState(audioPresent: audioReader != nil) - let stateBox = UnsafeSendableBox(state) - - func completeIfNeeded() { - completionQueueBox.value.async { - guard stateBox.value.tryBeginFinishIfPossible() else { - return - } - - assetWriterBox.value.finishWriting { - let resultURL = assetWriterBox.value.status == .completed ? destinationURL : nil - completion(resultURL) + assetWriter?.metadata = [assetIdentifierMetadata] + assetWriter?.add(stillImageTimeMetadataAdapter.assetWriterInput) + // Start the Asset Writer + assetWriter?.startWriting() + assetWriter?.startSession(atSourceTime: CMTime.zero) + // Add still image metadata + let _stillImagePercent: Float = 0.5 + stillImageTimeMetadataAdapter.append(AVTimedMetadataGroup(items: [metadataItemForStillImageTime()], timeRange: videoAsset.makeStillImageTimeRange(percent: _stillImagePercent, inFrameCount: frameCount))) + // For end of writing / progress + var writingVideoFinished = false + var writingAudioFinished = false + var currentFrameCount = 0 + func didCompleteWriting() { + guard writingAudioFinished && writingVideoFinished else { return } + assetWriter?.finishWriting { + if self.assetWriter?.status == .completed { + completion(destinationURL) + } else { + completion(nil) } } } - - if videoReader.startReading() { - videoWriterInput.requestMediaDataWhenReady(on: DispatchQueue(label: "com.nextcloud.livephoto.videoWriterInputQueue")) { - while videoWriterInputBox.value.isReadyForMoreMediaData { - if let sampleBuffer = videoReaderOutputBox.value.copyNextSampleBuffer() { - let currentFrameCount = stateBox.value.incrementVideoFrameCount() - - if frameCount > 0 { - let percent = CGFloat(currentFrameCount) / CGFloat(frameCount) - progress(percent) - } else { - progress(0) - } - - if !videoWriterInputBox.value.append(sampleBuffer) { - print("Cannot write video: \(assetWriterBox.value.error?.localizedDescription ?? "unknown error")") - videoReaderBox.value.cancelReading() - videoWriterInputBox.value.markAsFinished() - stateBox.value.markVideoFinished() - completeIfNeeded() - break + // Start writing video + if videoReader?.startReading() ?? false { + videoWriterInput.requestMediaDataWhenReady(on: DispatchQueue(label: "videoWriterInputQueue")) { + while videoWriterInput.isReadyForMoreMediaData { + if let sampleBuffer = videoReaderOutput.copyNextSampleBuffer() { + currentFrameCount += 1 + let percent: CGFloat = CGFloat(currentFrameCount) / CGFloat(frameCount) + progress(percent) + if !videoWriterInput.append(sampleBuffer) { + print("Cannot write: \(String(describing: self.assetWriter?.error?.localizedDescription))") + self.videoReader?.cancelReading() } } else { - videoWriterInputBox.value.markAsFinished() - stateBox.value.markVideoFinished() - completeIfNeeded() - break + videoWriterInput.markAsFinished() + writingVideoFinished = true + didCompleteWriting() } } } } else { - stateBox.value.markVideoFinished() - completeIfNeeded() + writingVideoFinished = true + didCompleteWriting() } - - if let audioReaderBox, let audioReaderOutputBox, let audioWriterInputBox { - if audioReaderBox.value.startReading() { - audioWriterInputBox.value.requestMediaDataWhenReady(on: DispatchQueue(label: "com.nextcloud.livephoto.audioWriterInputQueue")) { - while audioWriterInputBox.value.isReadyForMoreMediaData { - guard let sampleBuffer = audioReaderOutputBox.value.copyNextSampleBuffer() else { - audioWriterInputBox.value.markAsFinished() - stateBox.value.markAudioFinished() - completeIfNeeded() - return - } - - if !audioWriterInputBox.value.append(sampleBuffer) { - print("Cannot write audio: \(assetWriterBox.value.error?.localizedDescription ?? "unknown error")") - audioReaderBox.value.cancelReading() - audioWriterInputBox.value.markAsFinished() - stateBox.value.markAudioFinished() - completeIfNeeded() - return - } + // Start writing audio + if audioReader?.startReading() ?? false { + audioWriterInput?.requestMediaDataWhenReady(on: DispatchQueue(label: "audioWriterInputQueue")) { + while audioWriterInput?.isReadyForMoreMediaData ?? false { + guard let sampleBuffer = audioReaderOutput?.copyNextSampleBuffer() else { + audioWriterInput?.markAsFinished() + writingAudioFinished = true + didCompleteWriting() + return } + audioWriterInput?.append(sampleBuffer) } - } else { - stateBox.value.markAudioFinished() - completeIfNeeded() } } else { - stateBox.value.markAudioFinished() - completeIfNeeded() + writingAudioFinished = true + didCompleteWriting() } - } catch { print(error) completion(nil) } } - /// Builds the QuickTime metadata item containing the Live Photo asset identifier. private func metadataForAssetID(_ assetIdentifier: String) -> AVMetadataItem { let item = AVMutableMetadataItem() let keyContentIdentifier = "com.apple.quicktime.content.identifier" let keySpaceQuickTimeMetadata = "mdta" - item.key = keyContentIdentifier as (NSCopying & NSObjectProtocol)? item.keySpace = AVMetadataKeySpace(rawValue: keySpaceQuickTimeMetadata) item.value = assetIdentifier as (NSCopying & NSObjectProtocol)? item.dataType = "com.apple.metadata.datatype.UTF-8" - return item } - /// Creates the metadata adaptor used to write the still-image-time metadata group. private func createMetadataAdaptorForStillImageTime() -> AVAssetWriterInputMetadataAdaptor { let keyStillImageTime = "com.apple.quicktime.still-image-time" let keySpaceQuickTimeMetadata = "mdta" - - let specification: NSDictionary = [ + let spec: NSDictionary = [ kCMMetadataFormatDescriptionMetadataSpecificationKey_Identifier as NSString: - "\(keySpaceQuickTimeMetadata)/\(keyStillImageTime)", + "\(keySpaceQuickTimeMetadata)/\(keyStillImageTime)", kCMMetadataFormatDescriptionMetadataSpecificationKey_DataType as NSString: - "com.apple.metadata.datatype.int8" - ] - - var description: CMFormatDescription? - CMMetadataFormatDescriptionCreateWithMetadataSpecifications( - allocator: kCFAllocatorDefault, - metadataType: kCMMetadataFormatType_Boxed, - metadataSpecifications: [specification] as CFArray, - formatDescriptionOut: &description - ) - - let input = AVAssetWriterInput( - mediaType: .metadata, - outputSettings: nil, - sourceFormatHint: description - ) - + "com.apple.metadata.datatype.int8" ] + var desc: CMFormatDescription? + CMMetadataFormatDescriptionCreateWithMetadataSpecifications(allocator: kCFAllocatorDefault, metadataType: kCMMetadataFormatType_Boxed, metadataSpecifications: [spec] as CFArray, formatDescriptionOut: &desc) + let input = AVAssetWriterInput(mediaType: .metadata, + outputSettings: nil, sourceFormatHint: desc) return AVAssetWriterInputMetadataAdaptor(assetWriterInput: input) } - /// Builds the QuickTime metadata item representing the still-image-time marker. private func metadataItemForStillImageTime() -> AVMetadataItem { let item = AVMutableMetadataItem() let keyStillImageTime = "com.apple.quicktime.still-image-time" let keySpaceQuickTimeMetadata = "mdta" - item.key = keyStillImageTime as (NSCopying & NSObjectProtocol)? item.keySpace = AVMetadataKeySpace(rawValue: keySpaceQuickTimeMetadata) item.value = 0 as (NSCopying & NSObjectProtocol)? item.dataType = "com.apple.metadata.datatype.int8" - return item } + } -// MARK: - LivePhotoWritingState +fileprivate extension AVAsset { + func countFrames(exact: Bool) -> Int { -private final class LivePhotoWritingState { - private let lock = NSLock() + var frameCount = 0 - private var writingVideoFinished = false - private var writingAudioFinished = false - private var didFinishWriting = false - private var currentFrameCount = 0 + if let videoReader = try? AVAssetReader(asset: self) { - init(audioPresent: Bool) { - writingAudioFinished = !audioPresent - } + if let videoTrack = self.tracks(withMediaType: .video).first { - func incrementVideoFrameCount() -> Int { - lock.lock() - defer { lock.unlock() } + frameCount = Int(CMTimeGetSeconds(self.duration) * Float64(videoTrack.nominalFrameRate)) - currentFrameCount += 1 - return currentFrameCount - } + if exact { - func markVideoFinished() { - lock.lock() - writingVideoFinished = true - lock.unlock() - } + frameCount = 0 - func markAudioFinished() { - lock.lock() - writingAudioFinished = true - lock.unlock() - } + let videoReaderOutput = AVAssetReaderTrackOutput(track: videoTrack, outputSettings: nil) + videoReader.add(videoReaderOutput) + + videoReader.startReading() + + // count frames + while true { + let sampleBuffer = videoReaderOutput.copyNextSampleBuffer() + if sampleBuffer == nil { + break + } + frameCount += 1 + } - func tryBeginFinishIfPossible() -> Bool { - lock.lock() - defer { lock.unlock() } + videoReader.cancelReading() + } - guard writingVideoFinished, writingAudioFinished, !didFinishWriting else { - return false + } } - didFinishWriting = true - return true + return frameCount } -} - -fileprivate extension AVAsset { - /// Returns the estimated or exact frame count for the first video track. - func countFramesAsync(exact: Bool) async -> Int { - do { - let videoTracks = try await loadTracks(withMediaType: .video) - guard let videoTrack = videoTracks.first else { - return 0 - } + func stillImageTime() -> CMTime? { - let duration = try await load(.duration) - let nominalFrameRate = try await videoTrack.load(.nominalFrameRate) + var stillTime: CMTime? - var frameCount = Int(CMTimeGetSeconds(duration) * Float64(nominalFrameRate)) + if let videoReader = try? AVAssetReader(asset: self) { - if exact { - frameCount = 0 + if let metadataTrack = self.tracks(withMediaType: .metadata).first { - guard let videoReader = try? AVAssetReader(asset: self) else { - return 0 - } + let videoReaderOutput = AVAssetReaderTrackOutput(track: metadataTrack, outputSettings: nil) - let videoReaderOutput = AVAssetReaderTrackOutput(track: videoTrack, outputSettings: nil) videoReader.add(videoReaderOutput) videoReader.startReading() - while true { - let sampleBuffer = videoReaderOutput.copyNextSampleBuffer() - if sampleBuffer == nil { + let keyStillImageTime = "com.apple.quicktime.still-image-time" + let keySpaceQuickTimeMetadata = "mdta" + + var found = false + + while found == false { + if let sampleBuffer = videoReaderOutput.copyNextSampleBuffer() { + if CMSampleBufferGetNumSamples(sampleBuffer) != 0 { + let group = AVTimedMetadataGroup(sampleBuffer: sampleBuffer) + for item in group?.items ?? [] { + if item.key as? String == keyStillImageTime && item.keySpace!.rawValue == keySpaceQuickTimeMetadata { + stillTime = group?.timeRange.start + // print("stillImageTime = \(CMTimeGetSeconds(stillTime!))") + found = true + break + } + } + } + } else { break } - frameCount += 1 } videoReader.cancelReading() - } - return frameCount - } catch { - print(error) - return 0 + } } + + return stillTime } - /// Returns the still-image-time metadata timestamp if present. - func stillImageTimeAsync() async -> CMTime? { - do { - let metadataTracks = try await loadTracks(withMediaType: .metadata) - guard let metadataTrack = metadataTracks.first else { - return nil - } + func makeStillImageTimeRange(percent: Float, inFrameCount: Int = 0) -> CMTimeRange { - guard let metadataReader = try? AVAssetReader(asset: self) else { - return nil - } + var time = self.duration - let metadataReaderOutput = AVAssetReaderTrackOutput(track: metadataTrack, outputSettings: nil) - metadataReader.add(metadataReaderOutput) - metadataReader.startReading() + var frameCount = inFrameCount - let keyStillImageTime = "com.apple.quicktime.still-image-time" - let keySpaceQuickTimeMetadata = "mdta" + if frameCount == 0 { + frameCount = self.countFrames(exact: true) + } - while let sampleBuffer = metadataReaderOutput.copyNextSampleBuffer() { - guard CMSampleBufferGetNumSamples(sampleBuffer) != 0 else { - continue - } + let frameDuration = Int64(Float(time.value) / Float(frameCount)) - let group = AVTimedMetadataGroup(sampleBuffer: sampleBuffer) + time.value = Int64(Float(time.value) * percent) - for item in group?.items ?? [] { - if item.key as? String == keyStillImageTime, - item.keySpace?.rawValue == keySpaceQuickTimeMetadata { - metadataReader.cancelReading() - return group?.timeRange.start - } - } - } + // print("stillImageTime = \(CMTimeGetSeconds(time))") - metadataReader.cancelReading() - return nil - } catch { - print(error) - return nil - } + return CMTimeRangeMake(start: time, duration: CMTimeMake(value: frameDuration, timescale: time.timescale)) } - /// Builds the time range used to mark the still image inside the video metadata timeline. - func makeStillImageTimeRangeAsync(percent: Float, inFrameCount: Int = 0) async -> CMTimeRange { - do { - let duration = try await load(.duration) + func getAssetFrame(percent: Float) -> UIImage? { - var frameCount = inFrameCount - if frameCount == 0 { - frameCount = await countFramesAsync(exact: true) - } + let imageGenerator = AVAssetImageGenerator(asset: self) + imageGenerator.appliesPreferredTrackTransform = true - guard frameCount > 0 else { - return CMTimeRange(start: .zero, duration: .zero) - } + imageGenerator.requestedTimeToleranceAfter = CMTimeMake(value: 1, timescale: 100) + imageGenerator.requestedTimeToleranceBefore = CMTimeMake(value: 1, timescale: 100) - var time = duration - let frameDurationValue = Int64(Float(time.value) / Float(frameCount)) - time.value = Int64(Float(time.value) * percent) + var time = self.duration - return CMTimeRange( - start: time, - duration: CMTime(value: frameDurationValue, timescale: time.timescale) - ) - } catch { - print(error) - return CMTimeRange(start: .zero, duration: .zero) - } - } - - /// Extracts a frame image from the asset at the given percentage of its duration. - func getAssetFrameAsync(percent: Float) async -> UIImage? { - let imageGenerator = AVAssetImageGenerator(asset: self) - imageGenerator.appliesPreferredTrackTransform = true - imageGenerator.requestedTimeToleranceAfter = CMTime(value: 1, timescale: 100) - imageGenerator.requestedTimeToleranceBefore = CMTime(value: 1, timescale: 100) + time.value = Int64(Float(time.value) * percent) do { - let duration = try await load(.duration) - var time = duration - time.value = Int64(Float(time.value) * percent) - var actualTime = CMTime.zero let imageRef = try imageGenerator.copyCGImage(at: time, actualTime: &actualTime) - return UIImage(cgImage: imageRef) - } catch { + let img = UIImage(cgImage: imageRef) + + return img + } catch let error as NSError { print("Image generation failed with error \(error)") return nil } @@ -722,44 +465,29 @@ extension NCLivePhoto { func setLivePhoto(metadata1: tableMetadata, metadata2: tableMetadata) { Task { let capabilities = await NKCapabilities.shared.getCapabilities(for: metadata1.account) - - guard NCBrandOptions.shared.isServerVersion(capabilities, greaterOrEqualTo: .v28) else { + guard capabilities.serverVersionMajor >= NCGlobal.shared.nextcloudVersion28, + (!metadata1.livePhotoFile.isEmpty && !metadata2.livePhotoFile.isEmpty) else { return } - if metadata1.livePhotoFile.isEmpty, !metadata2.fileName.isEmpty { + if metadata1.livePhotoFile.isEmpty { let serverUrlfileNamePath = metadata1.urlBase + metadata1.path + metadata1.fileName - - _ = await NextcloudKit.shared.setLivephotoAsync( - serverUrlfileNamePath: serverUrlfileNamePath, - livePhotoFile: metadata2.fileName, - account: metadata1.account - ) { task in + _ = await NextcloudKit.shared.setLivephotoAsync(serverUrlfileNamePath: serverUrlfileNamePath, livePhotoFile: metadata2.fileName, account: metadata2.account) { task in Task { - let identifier = await NCNetworking.shared.networkingTasks.createIdentifier( - account: metadata1.account, - path: serverUrlfileNamePath, - name: "setLivephoto" - ) + let identifier = await NCNetworking.shared.networkingTasks.createIdentifier(account: metadata2.account, + path: serverUrlfileNamePath, + name: "setLivephoto") await NCNetworking.shared.networkingTasks.track(identifier: identifier, task: task) } } } - - if metadata2.livePhotoFile.isEmpty, !metadata1.fileName.isEmpty { + if metadata2.livePhotoFile.isEmpty { let serverUrlfileNamePath = metadata2.urlBase + metadata2.path + metadata2.fileName - - _ = await NextcloudKit.shared.setLivephotoAsync( - serverUrlfileNamePath: serverUrlfileNamePath, - livePhotoFile: metadata1.fileName, - account: metadata2.account - ) { task in + _ = await NextcloudKit.shared.setLivephotoAsync(serverUrlfileNamePath: serverUrlfileNamePath, livePhotoFile: metadata1.fileName, account: metadata1.account) { task in Task { - let identifier = await NCNetworking.shared.networkingTasks.createIdentifier( - account: metadata2.account, - path: serverUrlfileNamePath, - name: "setLivephoto" - ) + let identifier = await NCNetworking.shared.networkingTasks.createIdentifier(account: metadata1.account, + path: serverUrlfileNamePath, + name: "setLivephoto") await NCNetworking.shared.networkingTasks.track(identifier: identifier, task: task) } } diff --git a/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift b/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift index 7304ddafbb..6d5e5411d2 100644 --- a/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift +++ b/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift @@ -9,6 +9,7 @@ import UIKit import AVKit import MediaPlayer import MobileVLCKit +import FloatingPanel import Alamofire import LucidBanner @@ -62,11 +63,9 @@ class NCPlayerToolBar: UIView { subtitleButton.setImage(utility.loadImage(named: "captions.bubble", colors: [.white]), for: .normal) subtitleButton.isEnabled = false - subtitleButton.showsMenuAsPrimaryAction = true audioButton.setImage(utility.loadImage(named: "speaker.zzz", colors: [.white]), for: .normal) audioButton.isEnabled = false - audioButton.showsMenuAsPrimaryAction = true if UIDevice.current.userInterfaceIdiom == .pad { pointSize = 60 @@ -144,9 +143,6 @@ class NCPlayerToolBar: UIView { } MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPNowPlayingInfoPropertyPlaybackRate] = position - - setupSubtitleButton() - setupAudioButton() } public func updatePlaybackPosition() { @@ -257,46 +253,20 @@ class NCPlayerToolBar: UIView { viewerMediaPage?.changeScreenMode(mode: viewerMediaScreenMode) } - private func setupSubtitleButton() { + @IBAction func tapSubTitle(_ sender: Any) { guard let player = ncplayer?.player else { return } + let spuTracks = player.videoSubTitlesNames + let spuTrackIndexes = player.videoSubTitlesIndexes - var currentIndex: Int? - if let data = database.getVideo(metadata: metadata), let idx = data.currentVideoSubTitleIndex { - currentIndex = idx - } else { - currentIndex = Int(player.currentVideoSubTitleIndex) - } - - subtitleButton.menu = NCContextMenuPlayerTracks( - trackType: .subtitle, - tracks: player.videoSubTitlesNames, - trackIndexes: player.videoSubTitlesIndexes, - currentIndex: currentIndex, - ncplayer: ncplayer, - metadata: metadata, - viewerMediaPage: viewerMediaPage - ).viewMenu() + toggleMenuSubTitle(spuTracks: spuTracks, spuTrackIndexes: spuTrackIndexes, sender: sender) } - private func setupAudioButton() { + @IBAction func tapAudio(_ sender: Any) { guard let player = ncplayer?.player else { return } + let audioTracks = player.audioTrackNames + let audioTrackIndexes = player.audioTrackIndexes - var currentIndex: Int? - if let data = database.getVideo(metadata: metadata), let idx = data.currentAudioTrackIndex { - currentIndex = idx - } else { - currentIndex = Int(player.currentAudioTrackIndex) - } - - audioButton.menu = NCContextMenuPlayerTracks( - trackType: .audio, - tracks: player.audioTrackNames, - trackIndexes: player.audioTrackIndexes, - currentIndex: currentIndex, - ncplayer: ncplayer, - metadata: metadata, - viewerMediaPage: viewerMediaPage - ).viewMenu() + toggleMenuAudio(audioTracks: audioTracks, audioTrackIndexes: audioTrackIndexes, sender: sender) } @IBAction func tapPlayerPause(_ sender: Any) { @@ -336,8 +306,145 @@ class NCPlayerToolBar: UIView { } } +extension NCPlayerToolBar { + func toggleMenuSubTitle(spuTracks: [Any], spuTrackIndexes: [Any], sender: Any?) { + var actions = [NCMenuAction]() + var subTitleIndex: Int? + + if let data = self.database.getVideo(metadata: metadata), let idx = data.currentVideoSubTitleIndex { + subTitleIndex = idx + } else if let idx = ncplayer?.player.currentVideoSubTitleIndex { + subTitleIndex = Int(idx) + } + + if !spuTracks.isEmpty { + for index in 0...spuTracks.count - 1 { + + guard let title = spuTracks[index] as? String, let idx = spuTrackIndexes[index] as? Int32, let metadata = self.metadata else { return } + + actions.append( + NCMenuAction( + title: title, + icon: UIImage(), + onTitle: title, + onIcon: UIImage(), + selected: (subTitleIndex ?? -9999) == idx, + on: (subTitleIndex ?? -9999) == idx, + sender: sender, + action: { _ in + self.ncplayer?.player.currentVideoSubTitleIndex = idx + self.database.addVideo(metadata: metadata, currentVideoSubTitleIndex: Int(idx)) + } + ) + ) + } + + actions.append(.seperator(order: 0, sender: sender)) + } + + actions.append( + NCMenuAction( + title: NSLocalizedString("_add_subtitle_", comment: ""), + icon: UIImage(), + onTitle: NSLocalizedString("_add_subtitle_", comment: ""), + onIcon: UIImage(), + selected: false, + on: false, + sender: sender, + action: { _ in + + guard let metadata = self.metadata else { return } + let storyboard = UIStoryboard(name: "NCSelect", bundle: nil) + if let navigationController = storyboard.instantiateInitialViewController() as? UINavigationController, + let viewController = navigationController.topViewController as? NCSelect { + + viewController.delegate = self + viewController.typeOfCommandView = .nothing + viewController.includeDirectoryE2EEncryption = false + viewController.enableSelectFile = true + viewController.type = "subtitle" + viewController.serverUrl = metadata.serverUrl + viewController.session = NCSession.shared.getSession(account: metadata.account) + viewController.controller = nil + + self.viewerMediaPage?.present(navigationController, animated: true, completion: nil) + } + } + ) + ) + + viewerMediaPage?.presentMenu(with: actions, menuColor: UIColor(hexString: "#1C1C1EFF"), textColor: .white, sender: sender) + } + + func toggleMenuAudio(audioTracks: [Any], audioTrackIndexes: [Any], sender: Any?) { + var actions = [NCMenuAction]() + var audioIndex: Int? + + if let data = self.database.getVideo(metadata: metadata), let idx = data.currentAudioTrackIndex { + audioIndex = idx + } else if let idx = ncplayer?.player.currentAudioTrackIndex { + audioIndex = Int(idx) + } + + if !audioTracks.isEmpty { + for index in 0...audioTracks.count - 1 { + guard let title = audioTracks[index] as? String, let idx = audioTrackIndexes[index] as? Int32, let metadata = self.metadata else { return } + actions.append( + NCMenuAction( + title: title, + icon: UIImage(), + onTitle: title, + onIcon: UIImage(), + selected: (audioIndex ?? -9999) == idx, + on: (audioIndex ?? -9999) == idx, + sender: sender, + action: { _ in + self.ncplayer?.player.currentAudioTrackIndex = idx + self.database.addVideo(metadata: metadata, currentAudioTrackIndex: Int(idx)) + } + ) + ) + } + + actions.append(.seperator(order: 0, sender: sender)) + } + + actions.append( + NCMenuAction( + title: NSLocalizedString("_add_audio_", comment: ""), + icon: UIImage(), + onTitle: NSLocalizedString("_add_audio_", comment: ""), + onIcon: UIImage(), + selected: false, + on: false, + sender: sender, + action: { _ in + guard let metadata = self.metadata else { return } + let storyboard = UIStoryboard(name: "NCSelect", bundle: nil) + if let navigationController = storyboard.instantiateInitialViewController() as? UINavigationController, + let viewController = navigationController.topViewController as? NCSelect { + + viewController.delegate = self + viewController.typeOfCommandView = .nothing + viewController.includeDirectoryE2EEncryption = false + viewController.enableSelectFile = true + viewController.type = "audio" + viewController.serverUrl = metadata.serverUrl + viewController.session = NCSession.shared.getSession(account: metadata.account) + viewController.controller = nil + + self.viewerMediaPage?.present(navigationController, animated: true, completion: nil) + } + } + ) + ) + + viewerMediaPage?.presentMenu(with: actions, menuColor: UIColor(hexString: "#1C1C1EFF"), textColor: .white, sender: sender) + } +} + extension NCPlayerToolBar: NCSelectDelegate { - func dismissSelect(serverUrl: String?, metadata: tableMetadata?, type: String, items: [Any], overwrite: Bool, copy: Bool, move: Bool, session: NCSession.Session, controller: NCMainTabBarController?) { + func dismissSelect(serverUrl: String?, metadata: tableMetadata?, type: String, items: [Any], overwrite: Bool, copy: Bool, move: Bool, session: NCSession.Session) { if let metadata = metadata, let viewerMediaPage = viewerMediaPage { let fileNameLocalPath = NCUtilityFileSystem().getDirectoryProviderStorageOcId(metadata.ocId, fileName: metadata.fileNameView, userId: metadata.userId, urlBase: metadata.urlBase) let windowScene = SceneManager.shared.getWindowScene(controller: viewerMediaPage.tabBarController) @@ -373,17 +480,13 @@ extension NCPlayerToolBar: NCSelectDelegate { banner?.update(payload: LucidBannerPayload.Update(progress: Double(progress.fractionCompleted)), for: token) } - }) { _, response, error in + }) { _, etag, _, _, _, _, error in Task { if let banner { banner.dismiss() } let ocId = metadata.ocId - let allHeaderFields = response?.response?.allHeaderFields - let nkComm = NextcloudKit.shared.nkCommonInstance - let etag = nkComm.normalizedETag(nkComm.findHeader("oc-etag", allHeaderFields: allHeaderFields)) - await self.database.setMetadataSessionAsync(ocId: ocId, session: "", sessionTaskIdentifier: 0, diff --git a/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.xib b/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.xib index deaf0d7558..172f9daf67 100644 --- a/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.xib +++ b/iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.xib @@ -1,8 +1,9 @@ - + - + + @@ -20,11 +21,17 @@ + + +