mirror of
https://github.com/chylex/Nextcloud-Desktop.git
synced 2026-04-03 09:11:33 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eaeed08544 |
@@ -1,63 +0,0 @@
|
||||
# Copyright (C) 2016 Olivier Goffart <ogoffart@woboq.com>
|
||||
#
|
||||
# You may use this file under the terms of the 3-clause BSD license.
|
||||
# See the file LICENSE from this package for details.
|
||||
|
||||
# This is the clang-format configuration style to be used by Qt,
|
||||
# based on the rules from https://wiki.qt.io/Qt_Coding_Style and
|
||||
# https://wiki.qt.io/Coding_Conventions
|
||||
|
||||
---
|
||||
# Webkit style was loosely based on the Qt style
|
||||
BasedOnStyle: WebKit
|
||||
|
||||
Standard: Cpp11
|
||||
ColumnLimit: 0
|
||||
|
||||
# Disable reflow of qdoc comments: indentation rules are different.
|
||||
# Translation comments are also excluded
|
||||
CommentPragmas: "^!|^:"
|
||||
|
||||
# We want a space between the type and the star for pointer types
|
||||
PointerBindsToType: false
|
||||
|
||||
# We want to break before the operators, but not before a '='
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
|
||||
# Braces are usually attached, but not after functions or classes declaration
|
||||
BreakBeforeBraces: Custom
|
||||
BraceWrapping:
|
||||
AfterClass: true
|
||||
AfterControlStatement: false
|
||||
AfterEnum: false
|
||||
AfterFunction: true
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: true
|
||||
AfterUnion: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
IndentBraces: false
|
||||
|
||||
# The coding style does not specify the following, but this is what gives
|
||||
# results closest to the existing code.
|
||||
AlignAfterOpenBracket: DontAlign
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
|
||||
# Ideally we should also allow less short function in a single line, but
|
||||
# clang-format does not handle that
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
|
||||
# The coding style specifies some include order categories, but also tells to
|
||||
# separate categories with an empty line. It does not specify the order within
|
||||
# the categories. Since the SortInclude feature of clang-format does not
|
||||
# re-order includes separated by empty lines, the feature is not used.
|
||||
SortIncludes: false
|
||||
|
||||
# macros for which the opening brace stays attached
|
||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE ]
|
||||
|
||||
# Allow two empty lines for structuring
|
||||
MaxEmptyLinesToKeep: 2
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
|
||||
45
.clang-tidy
45
.clang-tidy
@@ -1,45 +0,0 @@
|
||||
Checks: '-*,
|
||||
bugprone-*,
|
||||
-bugprone-forward-declaration-namespace,
|
||||
cppcoreguidelines-init-variables,
|
||||
misc-*,
|
||||
-misc-non-private-member-variables-in-classes,
|
||||
modernize-avoid-bind,
|
||||
modernize-concat-nested-namespaces,
|
||||
modernize-deprecated-headers,
|
||||
modernize-deprecated-ios-base-aliases,
|
||||
modernize-loop-convert,
|
||||
modernize-make-*,
|
||||
modernize-raw-string-literal,
|
||||
modernize-redundant-void-arg,
|
||||
modernize-replace-*,
|
||||
modernize-return-braced-init-list,
|
||||
modernize-shrink-to-fit,
|
||||
modernize-unary-static-assert,
|
||||
modernize-use-auto,
|
||||
modernize-use-bool-literals,
|
||||
modernize-use-default-member-init,
|
||||
modernize-use-emplace,
|
||||
modernize-use-equals-delete,
|
||||
modernize-use-nodiscard,
|
||||
modernize-use-equals-default,
|
||||
modernize-use-noexcept,
|
||||
modernize-user-override,
|
||||
modernize-use-nullptr,
|
||||
modernize-use-transparent-functors,
|
||||
modernize-use-uncaught-exceptions,
|
||||
modernize-use-using,
|
||||
'
|
||||
WarningsAsErrors: '*'
|
||||
HeaderFilterRegex: '.*'
|
||||
AnalyzeTemporaryDtors: false
|
||||
FormatStyle: none
|
||||
CheckOptions:
|
||||
- key: bugprone-assert-side-effect.AssertMacros
|
||||
value: 'assert;Q_ASSERT'
|
||||
- key: bugprone-dangling-handle.HandleClasses
|
||||
value: 'std::basic_string_view;std::experimental::basic_string_view;QStringView'
|
||||
- key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression
|
||||
value: 1
|
||||
- key: modernize-use-default-member-init.UseAssignment
|
||||
value: 1
|
||||
152
.drone.yml
152
.drone.yml
@@ -1,152 +0,0 @@
|
||||
kind: pipeline
|
||||
name: qt-5.12
|
||||
|
||||
steps:
|
||||
- name: cmake
|
||||
image: nextcloudci/client-5.12:client-5.12-11
|
||||
volumes:
|
||||
- name: build
|
||||
path: /drone/build
|
||||
commands:
|
||||
- cd /drone/build
|
||||
- cmake -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_BUILD_TYPE=Debug -DNO_SHIBBOLETH=1 -DBUILD_UPDATER=ON -DUNIT_TESTING=1 -DSANITIZE_ADDRESS=ON ../src
|
||||
- name: compile
|
||||
image: nextcloudci/client-5.12:client-5.12-11
|
||||
volumes:
|
||||
- name: build
|
||||
path: /drone/build
|
||||
commands:
|
||||
- cd /drone/build
|
||||
- make -j$(nproc)
|
||||
- name: test
|
||||
image: nextcloudci/client-5.12:client-5.12-11
|
||||
volumes:
|
||||
- name: build
|
||||
path: /drone/build
|
||||
commands:
|
||||
- cd /drone/build
|
||||
- useradd -m -s /bin/bash test
|
||||
- chown -R test:test .
|
||||
- su -c 'ASAN_OPTIONS=detect_leaks=0 ctest --output-on-failure' test
|
||||
|
||||
volumes:
|
||||
- name: build
|
||||
temp: {}
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
- stable-*
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
name: qt-5.12-clang
|
||||
|
||||
steps:
|
||||
- name: cmake
|
||||
image: nextcloudci/client-5.12:client-5.12-11
|
||||
volumes:
|
||||
- name: build
|
||||
path: /drone/build
|
||||
commands:
|
||||
- cd /drone/build
|
||||
- cmake -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON DCMAKE_C_COMPILER=clang-10 -DCMAKE_CXX_COMPILER=clang++-10 -DCMAKE_BUILD_TYPE=Debug -DNO_SHIBBOLETH=1 -DBUILD_UPDATER=ON -DUNIT_TESTING=1 -DSANITIZE_ADDRESS=ON ../src
|
||||
- name: compile
|
||||
image: nextcloudci/client-5.12:client-5.12-11
|
||||
volumes:
|
||||
- name: build
|
||||
path: /drone/build
|
||||
commands:
|
||||
- cd /drone/build
|
||||
- ninja
|
||||
- name: test
|
||||
image: nextcloudci/client-5.12:client-5.12-11
|
||||
volumes:
|
||||
- name: build
|
||||
path: /drone/build
|
||||
commands:
|
||||
- cd /drone/build
|
||||
- useradd -m -s /bin/bash test
|
||||
- chown -R test:test .
|
||||
- su -c 'ASAN_OPTIONS=detect_leaks=0 ctest --output-on-failure' test
|
||||
- name: clang-tidy
|
||||
image: nextcloudci/client-5.12:client-5.12-11
|
||||
volumes:
|
||||
- name: build
|
||||
path: /drone/build
|
||||
commands:
|
||||
- "! run-clang-tidy-10 -j$(nproc) -p /drone/build -header-filter $PWD -quiet | grep -A 5 ': error:'"
|
||||
|
||||
volumes:
|
||||
- name: build
|
||||
temp: {}
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
- stable-*
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
name: AppImage
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: nextcloudci/client-5.12:client-5.12-9
|
||||
environment:
|
||||
CI_UPLOAD_GIT_TOKEN:
|
||||
from_secret: CI_UPLOAD_GIT_TOKEN
|
||||
CI_UPLOAD_GIT_USERNAME:
|
||||
from_secret: CI_UPLOAD_GIT_USERNAME
|
||||
commands:
|
||||
- /bin/bash -c "./admin/linux/build-appimage.sh"
|
||||
- /bin/bash -c "./admin/linux/upload-appimage.sh" || echo "Upload failed, however this is an optional step."
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
- stable-*
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
---
|
||||
kind: pipeline
|
||||
name: Debian
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: nextcloudci/client-debian-ci:client-debian-ci-2
|
||||
commands:
|
||||
- /bin/bash -c "./admin/linux/debian/drone-build.sh" || echo "[WARNING] Debian build failed but this is a non-blocking CI event"
|
||||
environment:
|
||||
DEBIAN_SECRET_KEY:
|
||||
from_secret: DEBIAN_SECRET_KEY
|
||||
DEBIAN_SECRET_IV:
|
||||
from_secret: DEBIAN_SECRET_IV
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
---
|
||||
kind: pipeline
|
||||
name: Documentation
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: nextcloudci/documentation:documentation-5
|
||||
commands:
|
||||
- cd doc
|
||||
- make html
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
@@ -1 +0,0 @@
|
||||
c8d0f788e00bdae125a26d9159ce9efdd6325cd2 # Initial application of clang-format
|
||||
86
.github/issue_template.md
vendored
86
.github/issue_template.md
vendored
@@ -1,86 +0,0 @@
|
||||
<!--
|
||||
Thanks for reporting issues back to Nextcloud!
|
||||
|
||||
Note: This is the **issue tracker of Nextcloud**, please do NOT use this to get answers to your questions or get help for fixing your installation. This is a place to report bugs to developers, after your server has been debugged. You can find help debugging your system on our home user forums: https://help.nextcloud.com or, if you use Nextcloud in a large organization, ask our engineers on https://portal.nextcloud.com. See also https://nextcloud.com/support for support options.
|
||||
|
||||
Nextcloud is an open source project backed by Nextcloud GmbH. Most of our volunteers are home users and thus primarily care about issues that affect home users. Our paid engineers prioritize issues of our customers. If you are neither a home user nor a customer, consider paying somebody to fix your issue, do it yourself or become a customer.
|
||||
|
||||
Please understand that at the moment, we are very busy with customer issues and some high priority development work. A lot of issues are getting reported. We can't always keep up and timely respond to all of them, but we try!
|
||||
|
||||
Guidelines for submitting issues:
|
||||
|
||||
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
|
||||
- Go to https://github.com/nextcloud and type any word in the top search/command bar. You probably see something like "We couldn’t find any repositories matching ..." then click "Issues" in the left navigation.
|
||||
- You can also filter by appending e. g. "state:open" to the search string.
|
||||
- More info on search syntax within github: https://help.github.com/articles/searching-issues
|
||||
|
||||
* Please fill in as much of the template below as possible. We know it is a pain sometimes, but especially without logs there is often not much we can do: really, if we would have seen the issue you encoutered before, we would already have fixed it. So we did NOT see it, and we will need YOUR help to find out what is wrong and fix it. The logs are absoutely crucial for that. Expect us to quickly close issues without logs or other information we need. If you don't have time to gather the required information, we don't either.
|
||||
|
||||
Please also note that we have a https://nextcloud.com/contribute/code-of-conduct/ that applies on Github. To summarize it: please, be kind. We try our best to be nice, too. If you can't be bothered to be polite, please just don't bother to report issues as we won't feel motivated to help you. Remember, we don't get paid to help you!
|
||||
-->
|
||||
|
||||
<!--- Please keep the note below for others who read your bug report -->
|
||||
|
||||
### How to use GitHub
|
||||
|
||||
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are affected by the same issue.
|
||||
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
|
||||
* Subscribe to receive notifications on status change and new comments.
|
||||
|
||||
|
||||
### Expected behaviour
|
||||
Tell us what should happen
|
||||
|
||||
### Actual behaviour
|
||||
Tell us what happens instead
|
||||
<!--
|
||||
Did you try end-to-end encryption before version 3.0? Following the instructions from this post might solve your problem since you might need to clean up the keys as that can break the functioning of >3.0 if you had a malformed key: https://help.nextcloud.com/t/help-test-the-latest-version-of-e2ee/87590
|
||||
-->
|
||||
|
||||
### Steps to reproduce
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### Client configuration
|
||||
Client version:
|
||||
<!---
|
||||
Please try to only report a bug if it happens with the latest version
|
||||
The latest version can be seen by checking https://nextcloud.com/install/#install-clients
|
||||
In the case of end-to-end encryption bug reports the client must be at least 3.0 and the server at least 19 with the end to end encryption app version at least 1.5.2.
|
||||
--->
|
||||
|
||||
Operating system:
|
||||
|
||||
OS language:
|
||||
|
||||
Qt version used by client package (Linux only, see also Settings dialog):
|
||||
|
||||
Client package (From Nextcloud or distro) (Linux only):
|
||||
|
||||
Installation path of client:
|
||||
|
||||
|
||||
### Server configuration
|
||||
<!---
|
||||
Optional section. It depends on the issue.
|
||||
--->
|
||||
Nextcloud version:
|
||||
|
||||
Storage backend (external storage):
|
||||
|
||||
### Logs
|
||||
|
||||
Please use Gist (https://gist.github.com/) or a similar code paster for longer
|
||||
logs.
|
||||
|
||||
1. Client logfile:
|
||||
<!-- desktop client logs are a hard requirement for bug reports because we don't know how to do magic here :) -->
|
||||
Output of `nextcloud --logdebug --logwindow` or `nextcloud --logdebug --logfile log.txt`
|
||||
(On Windows using `cmd.exe`, you might need to first `cd` into the Nextcloud directory)
|
||||
(See also https://docs.nextcloud.com/desktop/2.3/troubleshooting.html#log-files)
|
||||
|
||||
2. Web server error log:
|
||||
|
||||
3. Server logfile: nextcloud log (data/nextcloud.log):
|
||||
|
||||
67
.github/stale.yml
vendored
67
.github/stale.yml
vendored
@@ -1,67 +0,0 @@
|
||||
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 28
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 14
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- 1. to develop
|
||||
- 2. to review
|
||||
- 3. to release
|
||||
- 4. to test
|
||||
- accessibility
|
||||
- backport-request
|
||||
- bug
|
||||
- design
|
||||
- enhancement
|
||||
- epic
|
||||
- discussion
|
||||
- documentation
|
||||
- overview
|
||||
- good first issue
|
||||
- feature-request
|
||||
- feature: :arrows_counterclockwise: sync engine
|
||||
- feature: :busts_in_silhouette: sharing
|
||||
- feature: :cloud: system tray
|
||||
- feature: :gear: settings
|
||||
- feature: :inbox_tray: install and update
|
||||
- feature: :key: authentication
|
||||
- feature: :lock: end to end encryption
|
||||
- feature: :memo: versions
|
||||
- feature: :minidisc: external storage
|
||||
- feature: :minidisc: virtual drive
|
||||
- feature: :new: versions
|
||||
- feature: :tongue: language l10n and translations
|
||||
- feature: :wheelchair: accessibility
|
||||
- feature: :white_square_button: nextcloudcmd
|
||||
- feature: :zap: activity and :bell: notification
|
||||
- good first issue
|
||||
- help wanted
|
||||
- high
|
||||
- integration
|
||||
- low
|
||||
- medium
|
||||
- needs info
|
||||
- os: :apple: macOS
|
||||
- os: :door: Windows
|
||||
- os: :penguin: Linux
|
||||
- os: :smiling_imp: FreeBSD
|
||||
- overview
|
||||
- package: appimage
|
||||
- package: debian
|
||||
- package: snap
|
||||
- papercut
|
||||
- regression
|
||||
- security
|
||||
- server
|
||||
- spec
|
||||
- technical debt
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: stale
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This request did not receive an update in the last 4 weeks.
|
||||
Please take a look again and update the issue with new details,
|
||||
otherwise the issue will be automatically closed in 2 weeks. Thank you!
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
18
.github/workflows/rebase.yml
vendored
18
.github/workflows/rebase.yml
vendored
@@ -1,18 +0,0 @@
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
name: Automatic Rebase
|
||||
jobs:
|
||||
rebase:
|
||||
name: Rebase
|
||||
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Automatic Rebase
|
||||
uses: cirrus-actions/rebase@1.3.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
17
.gitignore
vendored
17
.gitignore
vendored
@@ -15,18 +15,9 @@ cscope.*
|
||||
tags
|
||||
t1.cfg
|
||||
|
||||
## Ignore Visual Studio Code config & environment files
|
||||
|
||||
.vs/
|
||||
.vscode/
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# CMake integration on VS2019+
|
||||
|
||||
CMakeSettings.json
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
@@ -173,11 +164,3 @@ UpgradeLog*.htm
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
#cmake temporary stuff
|
||||
CMakeCache.txt
|
||||
CMakeFiles/
|
||||
CPackConfig.cmake
|
||||
CPackOptions.cmake
|
||||
CPackSourceConfig.cmake
|
||||
|
||||
compile_commands.json
|
||||
|
||||
12
.gitmodules
vendored
12
.gitmodules
vendored
@@ -1,3 +1,15 @@
|
||||
[submodule "doc/ocdoc"]
|
||||
path = doc/ocdoc
|
||||
url = https://github.com/owncloud/documentation
|
||||
[submodule "src/3rdparty/qtmacgoodies"]
|
||||
path = src/3rdparty/qtmacgoodies
|
||||
url = https://github.com/guruz/qtmacgoodies.git
|
||||
[submodule "binary"]
|
||||
path = binary
|
||||
url = git://github.com/owncloud/owncloud-client-binary.git
|
||||
[submodule "src/3rdparty/libcrashreporter-qt"]
|
||||
path = src/3rdparty/libcrashreporter-qt
|
||||
url = git://github.com/dschmidt/libcrashreporter-qt.git
|
||||
[submodule "src/3rdparty/qtkeychain"]
|
||||
path = src/3rdparty/qtkeychain
|
||||
url = https://github.com/frankosterfeld/qtkeychain.git
|
||||
|
||||
37
.travis.yml
Normal file
37
.travis.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
sudo: required
|
||||
|
||||
language: cpp
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
branches:
|
||||
only:
|
||||
- coverity_scan
|
||||
|
||||
before_install:
|
||||
- sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
|
||||
- sudo sh -c "echo 'deb-src http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
|
||||
- wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_14.04/Release.key
|
||||
- sudo apt-key add - < Release.key
|
||||
- sudo apt-get update
|
||||
- sudo apt-get -y build-dep owncloud-client
|
||||
- checkout=$(git show-ref --head --hash head)
|
||||
- cd ../
|
||||
- wget https://scan.coverity.com/download/linux-64 --post-data "token=$token&project=owncloud%2Fmirall" -O coverity_tool.tgz
|
||||
- mkdir coverity
|
||||
- tar -xvf coverity_tool.tgz -C coverity --strip-components=1
|
||||
- export PATH=$PATH:$PWD/coverity/bin/
|
||||
- cd $TRAVIS_BUILD_DIR
|
||||
|
||||
install:
|
||||
- cd ../
|
||||
- mkdir client-build
|
||||
- cd client-build
|
||||
- cmake -DCMAKE_BUILD_TYPE="Debug" $TRAVIS_BUILD_DIR
|
||||
- cov-build --dir cov-int make
|
||||
- tar czvf client.tgz cov-int
|
||||
- curl --form token=$token --form email=lukas@statuscode.ch --form file=@$PWD/client.tgz --form version="$checkout" --form description="$checkout" https://scan.coverity.com/builds?project=owncloud%2Fmirall
|
||||
|
||||
# Hack to stop processing
|
||||
script: true
|
||||
16
.tx/config
16
.tx/config
@@ -1,16 +0,0 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = bg_BG: bg, cs_CZ: cs, de_DE: de, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, pt_PT: pt, et_EE: et
|
||||
|
||||
[nextcloud.client]
|
||||
host = https://www.transifex.com
|
||||
source_lang = en
|
||||
source_file = translations/client_en.ts
|
||||
file_filter = translations/client_<lang>.ts
|
||||
type = QT
|
||||
|
||||
[nextcloud.client-desktop]
|
||||
host = https://www.transifex.com
|
||||
source_file = mirall.desktop.in
|
||||
source_lang = en
|
||||
type = DESKTOP
|
||||
@@ -1,24 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
GenericName[ar]=مزامنة المجلد
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[bg_BG]=@APPLICATION_ICON_NAME@
|
||||
Name[bg_BG]=@APPLICATION_NAME@ десктоп клиент за синхронизиране
|
||||
Comment[bg_BG]=@APPLICATION_NAME@ десктоп клиент за синхронизиране
|
||||
GenericName[bg_BG]=Синхронизиране на папка
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[br]=@APPLICATION_ICON_NAME@
|
||||
Name[br]=@APPLICATION_NAME@ burev kempreet an implijer
|
||||
Comment[br]=@APPLICATION_NAME@ burev kempreet an implijer
|
||||
GenericName[br]=Tuliad kemprenan
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[ca]=@APPLICATION_ICON_NAME@
|
||||
Name[ca]=Client de sincronització d'escriptori del @APPLICATION_NAME@
|
||||
Comment[ca]=Client de sincronització d'escriptori del @APPLICATION_NAME@
|
||||
GenericName[ca]=Sincronització de carpetes
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[cs_CZ]=@APPLICATION_ICON_NAME@
|
||||
Name[cs_CZ]=@APPLICATION_NAME@ synchronizační klient pro desktop
|
||||
Comment[cs_CZ]=@APPLICATION_NAME@ synchronizační klient pro desktop
|
||||
GenericName[cs_CZ]=Synchronizace složek
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[cy_GB]=@APPLICATION_ICON_NAME@
|
||||
Name[cy_GB]=@APPLICATION_NAME@ cleient cydweddu bwrdd gwaith
|
||||
Comment[cy_GB]=@APPLICATION_NAME@ cleient cydweddu bwrdd gwaith
|
||||
GenericName[cy_GB]=Cydweddu Ffolder
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[da]=@APPLICATION_ICON_NAME@
|
||||
Name[da]=@APPLICATION_NAME@ Arbejdsstationsssynkroniseringsklient
|
||||
Comment[da]=@APPLICATION_NAME@ Arbejdsstationsssynkroniseringsklient
|
||||
GenericName[da]=Mappesynkronisering
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[de]=@APPLICATION_ICON_NAME@
|
||||
Name[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisierung
|
||||
Comment[de]=@APPLICATION_NAME@ Client zur Desktop-Synchronisierung
|
||||
GenericName[de]=Ordner-Synchronisation
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[el]=@APPLICATION_ICON_NAME@
|
||||
Name[el]=@APPLICATION_NAME@ πρόγραμμα συγχρονισμού
|
||||
Comment[el]=@APPLICATION_NAME@ πρόγραμμα συγχρονισμού
|
||||
GenericName[el]=Συγχρονισμός φακέλου
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[en_GB]=@APPLICATION_ICON_NAME@
|
||||
Name[en_GB]=@APPLICATION_NAME@ desktop sync client
|
||||
Comment[en_GB]=@APPLICATION_NAME@ desktop synchronisation client
|
||||
GenericName[en_GB]=Folder Sync
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[eo]=@APPLICATION_ICON_NAME@
|
||||
Name[eo]=@APPLICATION_NAME@ sinkroniga kliento
|
||||
Comment[eo]=@APPLICATION_NAME@ sinkroniga kliento
|
||||
GenericName[eo]=Dosieruja sinkronigo
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[es_AR]=@APPLICATION_ICON_NAME@
|
||||
Name[es_AR]=@APPLICATION_NAME@ cliente de sincronización de escritorio
|
||||
Comment[es_AR]=@APPLICATION_NAME@ cliente de sincronización de escritorio
|
||||
GenericName[es_AR]=Sincronización de carpetas
|
||||
@@ -1,26 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Name[es_CL]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_CL]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_CL]=Sincronización de carpeta
|
||||
@@ -1,26 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Name[es_CO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_CO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_CO]=Sincronización de carpeta
|
||||
@@ -1,26 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Name[es_CR]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_CR]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_CR]=Sincronización de carpeta
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[es_DO]=@APPLICATION_ICON_NAME@
|
||||
Name[es_DO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_DO]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_DO]=Sincronización de carpeta
|
||||
@@ -1,26 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Name[es_EC]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_EC]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_EC]=Sincronización de carpeta
|
||||
@@ -1,26 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Name[es_GT]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_GT]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_GT]=Sincronización de carpeta
|
||||
@@ -1,26 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Name[es_MX]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_MX]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_MX]=Sincronización de carpeta
|
||||
@@ -1,26 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Name[es_SV]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
Comment[es_SV]=@APPLICATION_NAME@ Cliente de sincronización de escritorio
|
||||
GenericName[es_SV]=Sincronización de carpeta
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[es]=@APPLICATION_ICON_NAME@
|
||||
Name[es]=Cliente de sincronización de escritorio @APPLICATION_NAME@
|
||||
Comment[es]=Cliente de sincronización de escritorio @APPLICATION_NAME@
|
||||
GenericName[es]=Sincronización de carpetas
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[et_EE]=@APPLICATION_ICON_NAME@
|
||||
Name[et_EE]=@APPLICATION_NAME@ töölaua sünkimise klient
|
||||
Comment[et_EE]=@APPLICATION_NAME@ töölaua sünkroniseerimise klient
|
||||
GenericName[et_EE]=Kausta Sünkroonimine
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[eu]=@APPLICATION_ICON_NAME@
|
||||
Name[eu]=@APPLICATION_NAME@ mahaigainerako sinkronizazio bezeroa
|
||||
Comment[eu]=@APPLICATION_NAME@ mahaigainerako sinkronizazio bezeroa
|
||||
GenericName[eu]=Karpeta-sinkronizazioa
|
||||
@@ -1,24 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Comment[fa]=@ APPLICATION_NAME @ مشتری هماهنگ سازی دسکتاپ
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[fi_FI]=@APPLICATION_ICON_NAME@
|
||||
Name[fi_FI]=@APPLICATION_NAME@ työpöydän synkronointipääte
|
||||
Comment[fi_FI]=@APPLICATION_NAME@ työpöydän synkronointipääte
|
||||
GenericName[fi_FI]=Kansio synkronointi
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[fr]=@APPLICATION_ICON_NAME@
|
||||
Name[fr]=Client de synchro @APPLICATION_NAME@
|
||||
Comment[fr]=Client de synchronisation @APPLICATION_NAME@
|
||||
GenericName[fr]=Synchronisation du dossier
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[gl]=@APPLICATION_ICON_NAME@
|
||||
Name[gl]=@APPLICATION_NAME@ cliente de sincronización para escritorio
|
||||
Comment[gl]=@APPLICATION_NAME@ cliente de sincronización para escritorio
|
||||
GenericName[gl]=Sincronización de cartafol
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[he]=@APPLICATION_ICON_NAME@
|
||||
Name[he]=@APPLICATION_NAME@ לקוח סנכרון לשולחן העבודה
|
||||
Comment[he]=@APPLICATION_NAME@ לקוח סנכרון לשולחן העבודה
|
||||
GenericName[he]=סנכרון תיקיות
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[hr]=@APPLICATION_ICON_NAME@
|
||||
Name[hr]=@APPLICATION_NAME@ klijent za sink. računala
|
||||
Comment[hr]=@APPLICATION_NAME@ klijent za sinkronizaciju računala
|
||||
GenericName[hr]=Sinkronizacija mapa
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[hu_HU]=@APPLICATION_ICON_NAME@
|
||||
Name[hu_HU]=@APPLICATION_NAME@ asztali szinkronizálási kliens
|
||||
Comment[hu_HU]=@APPLICATION_NAME@ asztali szinkronizálási kliens
|
||||
GenericName[hu_HU]=Mappaszinkronizálás
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[is]=@APPLICATION_ICON_NAME@
|
||||
Name[is]=@APPLICATION_NAME@ forrit til samstillingar við tölvu
|
||||
Comment[is]=@APPLICATION_NAME@ forrit til samstillingar við tölvu
|
||||
GenericName[is]=Samstilling á möppum
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[it]=@APPLICATION_ICON_NAME@
|
||||
Name[it]=Client di sincronizzazione desktop di @APPLICATION_NAME@
|
||||
Comment[it]=Client di sincronizzazione desktop di @APPLICATION_NAME@
|
||||
GenericName[it]=Sincronizzazione cartelle
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[ja_JP]=@APPLICATION_ICON_NAME@
|
||||
Name[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
Comment[ja_JP]=@APPLICATION_NAME@ デスクトップ同期クライアント
|
||||
GenericName[ja_JP]=フォルダーを同期する
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[ko]=@APPLICATION_ICON_NAME@
|
||||
Name[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
|
||||
Comment[ko]=@APPLICATION_NAME@ 데스크톱 동기화 클라이언트
|
||||
GenericName[ko]=폴더 동기화
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[lt_LT]=@APPLICATION_ICON_NAME@
|
||||
Name[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo kliento programa
|
||||
Comment[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo kliento programa
|
||||
GenericName[lt_LT]=Aplankų sinchronizavimas
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[lv]=@APPLICATION_ICON_NAME@
|
||||
Name[lv]=@APPLICATION_NAME@ darbavirsmas sinhronizešanas klients
|
||||
Comment[lv]=@APPLICATION_NAME@ darbavirsmas sinhronizešanas klients
|
||||
GenericName[lv]=Mapju Sinhronizēšana
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[mk]=@APPLICATION_ICON_NAME@
|
||||
Name[mk]=@APPLICATION_NAME@ клиент за синхронизација на компјутер
|
||||
Comment[mk]=@APPLICATION_NAME@ клиент за синхронизација на компјутер
|
||||
GenericName[mk]=Папка за синхронизација
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[nb_NO]=@APPLICATION_ICON_NAME@
|
||||
Name[nb_NO]=@APPLICATION_NAME@ klient for synkroinisering
|
||||
Comment[nb_NO]=@APPLICATION_NAME@ klient for synkroinisering
|
||||
GenericName[nb_NO]=Mappe synkroinisering
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[nl]=@APPLICATION_ICON_NAME@
|
||||
Name[nl]=@APPLICATION_NAME@ desktop sync client
|
||||
Comment[nl]=@APPLICATION_NAME@ desktopsynchronisatieclient
|
||||
GenericName[nl]=Map synchronisatie
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[oc]=@APPLICATION_ICON_NAME@
|
||||
Name[oc]=@APPLICATION_NAME@ client de sincronizacion
|
||||
Comment[oc]=@APPLICATION_NAME@ client de sincronizacion
|
||||
GenericName[oc]=Sincro. dossièr
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[pl]=@APPLICATION_ICON_NAME@
|
||||
Name[pl]=@APPLICATION_NAME@ desktopowy klient synchronizacji
|
||||
Comment[pl]=@APPLICATION_NAME@ desktopowy klient synchronizacji
|
||||
GenericName[pl]=Katalog synchronizacji
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[pt_BR]=@APPLICATION_ICON_NAME@
|
||||
Name[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop
|
||||
Comment[pt_BR]=@APPLICATION_NAME@ cliente de sincronização desktop
|
||||
GenericName[pt_BR]=Sincronizar pasta
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[pt_PT]=@APPLICATION_ICON_NAME@
|
||||
Name[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização da Área de Trabalho
|
||||
Comment[pt_PT]=@APPLICATION_NAME@ - Cliente de Sincronização da Área de Trabalho
|
||||
GenericName[pt_PT]=Sincronização de Pasta
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[ro]=@APPLICATION_ICON_NAME@
|
||||
Name[ro]=@APPLICATION_NAME@ client de sincronizare pentru desktop
|
||||
Comment[ro]=@APPLICATION_NAME@ client de sincronizare pentru desktop
|
||||
GenericName[ro]=Sincronizare director
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[ru]=@APPLICATION_ICON_NAME@
|
||||
Name[ru]=@APPLICATION_NAME@ для ПК
|
||||
Comment[ru]=Клиент синхронизации @APPLICATION_NAME@ для ПК
|
||||
GenericName[ru]=Синхронизация папок
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[sc]=@NÙMENE_ICONA_APLICATZIONE@
|
||||
Name[sc]=@NÙMENE_APLICATZIONE@ cliente sicronizadore de iscrivania
|
||||
Comment[sc]=@NÙMENE_APLICATZIONE@ cliente de sincronizatzione iscrivania
|
||||
GenericName[sc]=Sincronizadore de cartellas
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[sk_SK]=@APPLICATION_ICON_NAME@
|
||||
Name[sk_SK]=@APPLICATION_NAME@ synchronizačný klient pre PC
|
||||
Comment[sk_SK]=@APPLICATION_NAME@ synchronizačný klient pre PC
|
||||
GenericName[sk_SK]=Synchronizácia priečinkov
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[sl]=@APPLICATION_ICON_NAME@
|
||||
Name[sl]=@APPLICATION_NAME@ program za usklajevanje
|
||||
Comment[sl]=@APPLICATION_NAME@ program za usklajevanje
|
||||
GenericName[sl]=Usklajevanje map
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[sr]=@APPLICATION_ICON_NAME@
|
||||
Name[sr]=@APPLICATION_NAME@ десктоп клијент за синхронизацију
|
||||
Comment[sr]=@APPLICATION_NAME@ десктоп клијент за синхронизацију
|
||||
GenericName[sr]=Синхронизација фасцикли
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[sv]=@APPLICATION_ICON_NAME@
|
||||
Name[sv]=@APPLICATION_NAME@ desktopssynkklient
|
||||
Comment[sv]=@APPLICATION_NAME@ desktopssynkroniseringsklient
|
||||
GenericName[sv]=Mappsynkronisering
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[sw]=@APPLICATION_ICON_NAME@
|
||||
Name[sw]=Teja ya @APPLICATION_NAME@ ya kufanana faili kwa seva na faili ziko hapa
|
||||
Comment[sw]=Teja ya @APPLICATION_NAME@ ya kufanana faili kwa seva na faili ziko hapa
|
||||
GenericName[sw]=Fanana Kabrasha
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[tr]=@APPLICATION_ICON_NAME@
|
||||
Name[tr]=@APPLICATION_NAME@ masaüstü eşiteme istemcisi
|
||||
Comment[tr]=@APPLICATION_NAME@ masaüstü eşitleme istemcisi
|
||||
GenericName[tr]=Klasör Eşitleme
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[uk]=@APPLICATION_ICON_NAME@
|
||||
Name[uk]=@APPLICATION_NAME@ клієнт для ПК
|
||||
Comment[uk]=Клієнт синхронізації @APPLICATION_NAME@ для ПК
|
||||
GenericName[uk]=Синхронізація тек
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[zh_CN]=@APPLICATION_ICON_NAME@
|
||||
Name[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
||||
Comment[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端
|
||||
GenericName[zh_CN]=文件夹同步
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[zh_HK]=@APPLICATION_ICON_NAME@
|
||||
Name[zh_HK]= @APPLICATION_NAME@ 桌面同步客戶端
|
||||
Comment[zh_HK]= @APPLICATION_NAME@ 桌面同步客戶端
|
||||
GenericName[zh_HK]=資料夾同步
|
||||
@@ -1,27 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=@APPLICATION_EXECUTABLE@
|
||||
Name=@APPLICATION_NAME@ desktop sync client
|
||||
Comment=@APPLICATION_NAME@ desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=@APPLICATION_ICON_NAME@
|
||||
Keywords=@APPLICATION_NAME@;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.@APPLICATION_EXECUTABLE@;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=@APPLICATION_EXECUTABLE@ --quit
|
||||
Name=Quit @APPLICATION_NAME@
|
||||
Icon=@APPLICATION_EXECUTABLE@
|
||||
|
||||
|
||||
# Translations
|
||||
Icon[zh_TW]=@APPLICATION_ICON_NAME@
|
||||
Name[zh_TW]=@APPLICATION_NAME@ 桌面同步客戶端
|
||||
Comment[zh_TW]=@APPLICATION_NAME@ 桌面同步客戶端
|
||||
GenericName[zh_TW]=資料夾同步
|
||||
167
CMakeLists.txt
167
CMakeLists.txt
@@ -1,15 +1,14 @@
|
||||
cmake_minimum_required(VERSION 3.2)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(VERSION 2.8.0)
|
||||
|
||||
project(client)
|
||||
|
||||
set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
|
||||
|
||||
set(OEM_THEME_DIR "" CACHE STRING "Define directory containing a custom theme")
|
||||
if ( EXISTS ${OEM_THEME_DIR}/OEM.cmake )
|
||||
include ( ${OEM_THEME_DIR}/OEM.cmake )
|
||||
else ()
|
||||
include ( ${CMAKE_SOURCE_DIR}/NEXTCLOUD.cmake )
|
||||
include ( ${CMAKE_SOURCE_DIR}/OWNCLOUD.cmake )
|
||||
endif()
|
||||
# need this logic to not mess with re/uninstallations via macosx.pkgproj
|
||||
if(${APPLICATION_REV_DOMAIN} STREQUAL "com.owncloud.desktopclient")
|
||||
@@ -18,19 +17,16 @@ else()
|
||||
set(APPLICATION_REV_DOMAIN_INSTALLER ${APPLICATION_REV_DOMAIN})
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED APPLICATION_SHORTNAME)
|
||||
set ( APPLICATION_SHORTNAME ${APPLICATION_NAME} )
|
||||
endif()
|
||||
|
||||
# For usage in XML files we preprocess
|
||||
string(REPLACE "&" "&" APPLICATION_NAME_XML_ESCAPED "${APPLICATION_NAME}")
|
||||
string(REPLACE "<" "<" APPLICATION_NAME_XML_ESCAPED "${APPLICATION_NAME_XML_ESCAPED}")
|
||||
string(REPLACE ">" ">" APPLICATION_NAME_XML_ESCAPED "${APPLICATION_NAME_XML_ESCAPED}")
|
||||
|
||||
if (NOT DEFINED LINUX_PACKAGE_SHORTNAME)
|
||||
set(LINUX_PACKAGE_SHORTNAME "${APPLICATION_SHORTNAME}")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED PACKAGE)
|
||||
set(PACKAGE "${LINUX_PACKAGE_SHORTNAME}-client")
|
||||
endif()
|
||||
|
||||
set(PACKAGE "${APPLICATION_SHORTNAME}-client")
|
||||
set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
|
||||
|
||||
if(NOT CRASHREPORTER_EXECUTABLE)
|
||||
@@ -40,13 +36,7 @@ endif()
|
||||
include(Warnings)
|
||||
|
||||
include(${CMAKE_SOURCE_DIR}/VERSION.cmake)
|
||||
# For config.h
|
||||
include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
# Allows includes based on src/ like #include "common/utility.h" or #include "csync/csync.h"
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
${CMAKE_CURRENT_BINARY_DIR}/src
|
||||
)
|
||||
|
||||
# disable the crashreporter if libcrashreporter-qt is not available or we're building for ARM
|
||||
if( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/3rdparty/libcrashreporter-qt/CMakeLists.txt")
|
||||
@@ -57,24 +47,26 @@ if(NOT WITH_CRASHREPORTER)
|
||||
message(STATUS "Build of crashreporter disabled.")
|
||||
endif()
|
||||
|
||||
#####
|
||||
## handle DBUS for Fdo notifications
|
||||
if( UNIX AND NOT APPLE )
|
||||
add_definitions( -DUSE_FDO_NOTIFICATIONS)
|
||||
set(WITH_DBUS ON)
|
||||
endif()
|
||||
####
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(DefineInstallationPaths)
|
||||
include(GenerateExportHeader)
|
||||
|
||||
|
||||
include(GetGitRevisionDescription)
|
||||
|
||||
get_git_head_revision(GIT_REFSPEC GIT_SHA1)
|
||||
|
||||
add_definitions(
|
||||
-DQT_USE_QSTRINGBUILDER
|
||||
-DQT_MESSAGELOGCONTEXT #enable function name and line number in debug output
|
||||
-DQT_DEPRECATED_WARNINGS
|
||||
)
|
||||
|
||||
# if we cannot get it from git, directly try .tag (packages)
|
||||
# this will work if the tar balls have been properly created
|
||||
# via git-archive.
|
||||
if ("${GIT_SHA1}" STREQUAL "GITDIR-NOTFOUND")
|
||||
if (${GIT_SHA1} STREQUAL "GITDIR-NOTFOUND")
|
||||
file(READ ${CMAKE_SOURCE_DIR}/.tag sha1_candidate)
|
||||
string(REPLACE "\n" "" sha1_candidate ${sha1_candidate})
|
||||
if (NOT ${sha1_candidate} STREQUAL "$Format:%H$")
|
||||
@@ -123,31 +115,7 @@ if(NO_MSG_HANDLER)
|
||||
add_definitions(-DNO_MSG_HANDLER=1)
|
||||
endif()
|
||||
|
||||
# this option builds the updater
|
||||
option(BUILD_UPDATER "BUILD_UPDATER" OFF)
|
||||
if(BUILD_UPDATER)
|
||||
message("Compiling with updater")
|
||||
add_definitions(-DBUILD_UPDATER=1)
|
||||
else()
|
||||
message("Compiling without updater")
|
||||
endif()
|
||||
|
||||
# this option builds the shell integration
|
||||
option(BUILD_SHELL_INTEGRATION "BUILD_SHELL_INTEGRATION" ON)
|
||||
|
||||
# this option builds/installs the generic shell integration icons
|
||||
option(BUILD_SHELL_INTEGRATION_ICONS "BUILD_SHELL_INTEGRATION_ICONS" ON)
|
||||
|
||||
# this options builds the dolphin integration plugin
|
||||
option(BUILD_SHELL_INTEGRATION_DOLPHIN "BUILD_SHELL_INTEGRATION_DOLPHIN" ON)
|
||||
|
||||
# this options builds the nautilus (like) integration plugins
|
||||
option(BUILD_SHELL_INTEGRATION_NAUTILUS "BUILD_SHELL_INTEGRATION_NAUTILUS" ON)
|
||||
|
||||
# this option builds the client
|
||||
option(BUILD_CLIENT "BUILD_CLIENT" ON)
|
||||
|
||||
# this option creates only libocsync and libowncloudsync (NOTE: BUILD_CLIENT needs to be on)
|
||||
# this option creates only libocsync and libowncloudsync
|
||||
option(BUILD_LIBRARIES_ONLY "BUILD_LIBRARIES_ONLY" OFF)
|
||||
|
||||
# When this option is enabled, 5xx errors are not added to the blacklist
|
||||
@@ -168,87 +136,57 @@ if(OWNCLOUD_RESTORE_RENAME)
|
||||
add_definitions(-DOWNCLOUD_RESTORE_RENAME=1)
|
||||
endif()
|
||||
|
||||
# Disable shibboleth.
|
||||
# So the client can be built without QtWebKit
|
||||
option(NO_SHIBBOLETH "Build without Shibboleth support. Allow to build the client without QtWebKit" OFF)
|
||||
if(NO_SHIBBOLETH)
|
||||
message("Compiling without shibboleth")
|
||||
add_definitions(-DNO_SHIBBOLETH=1)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
set( SOCKETAPI_TEAM_IDENTIFIER_PREFIX "" CACHE STRING "SocketApi prefix (including a following dot) that must match the codesign key's TeamIdentifier/Organizational Unit" )
|
||||
endif()
|
||||
|
||||
if(BUILD_CLIENT)
|
||||
if(APPLE AND BUILD_UPDATER)
|
||||
find_package(Sparkle)
|
||||
endif()
|
||||
find_package(OpenSSL 1.0.0 REQUIRED)
|
||||
|
||||
if(UNIX)
|
||||
find_package(INotify REQUIRED)
|
||||
else()
|
||||
find_package(INotify)
|
||||
endif()
|
||||
find_package(Sphinx)
|
||||
find_package(PdfLatex)
|
||||
find_package(OpenSSL 1.1 REQUIRED )
|
||||
if(APPLE)
|
||||
find_package(Sparkle)
|
||||
endif(APPLE)
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(GLib2)
|
||||
find_package(Gio)
|
||||
find_package(Libcloudproviders)
|
||||
if(UNIX)
|
||||
find_package(INotify REQUIRED)
|
||||
else()
|
||||
find_package(INotify)
|
||||
endif()
|
||||
find_package(Sphinx)
|
||||
find_package(PdfLatex)
|
||||
|
||||
find_package(SQLite3 3.8.0 REQUIRED)
|
||||
# On some OS, we want to use our own, not the system sqlite
|
||||
if (USE_OUR_OWN_SQLITE3)
|
||||
include_directories(BEFORE ${SQLITE3_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED APPLICATION_ICON_NAME)
|
||||
set(APPLICATION_ICON_NAME ${APPLICATION_SHORTNAME})
|
||||
endif()
|
||||
find_package(ZLIB)
|
||||
|
||||
include(NextcloudCPack.cmake)
|
||||
configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||
|
||||
configure_file(test/test_journal.db "${CMAKE_BINARY_DIR}/test/test_journal.db" COPYONLY)
|
||||
|
||||
include(OwnCloudCPack.cmake)
|
||||
|
||||
add_definitions(-DUNICODE)
|
||||
add_definitions(-D_UNICODE)
|
||||
if( WIN32 )
|
||||
add_definitions( -D__USE_MINGW_ANSI_STDIO=1 )
|
||||
add_definitions( -DNOMINMAX )
|
||||
# Get APIs from from Vista onwards.
|
||||
add_definitions( -D_WIN32_WINNT=0x0601 )
|
||||
add_definitions( -DWINVER=0x0601 )
|
||||
if( MSVC )
|
||||
# Use automatic overload for suitable CRT safe-functions
|
||||
# See https://docs.microsoft.com/de-de/cpp/c-runtime-library/security-features-in-the-crt?view=vs-2019
|
||||
add_definitions( -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 )
|
||||
# Also: Disable compiler warnings because we don't use Windows CRT safe-functions explicitly and don't intend to
|
||||
# as this is a pure cross-platform source the only alternative would be a ton of ifdefs with calls to the _s version
|
||||
add_definitions( -D_CRT_SECURE_NO_WARNINGS )
|
||||
endif( MSVC )
|
||||
endif( WIN32 )
|
||||
|
||||
if (APPLE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
||||
endif()
|
||||
|
||||
include(SanitizerFlags)
|
||||
|
||||
# Handle Translations, pick all client_* files from trans directory.
|
||||
file( GLOB TRANS_FILES ${CMAKE_SOURCE_DIR}/translations/client_*.ts)
|
||||
set(TRANSLATIONS ${TRANS_FILES})
|
||||
|
||||
if(BUILD_CLIENT)
|
||||
add_subdirectory(src)
|
||||
if(NOT BUILD_LIBRARIES_ONLY)
|
||||
add_subdirectory(man)
|
||||
add_subdirectory(doc)
|
||||
add_subdirectory(doc/dev)
|
||||
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/admin)
|
||||
add_subdirectory(admin)
|
||||
endif(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/admin)
|
||||
endif(NOT BUILD_LIBRARIES_ONLY)
|
||||
endif()
|
||||
|
||||
if(BUILD_SHELL_INTEGRATION)
|
||||
add_subdirectory(shell_integration)
|
||||
endif()
|
||||
add_subdirectory(csync)
|
||||
add_subdirectory(src)
|
||||
if(NOT BUILD_LIBRARIES_ONLY)
|
||||
add_subdirectory(shell_integration)
|
||||
add_subdirectory(doc)
|
||||
add_subdirectory(doc/dev)
|
||||
add_subdirectory(admin)
|
||||
endif(NOT BUILD_LIBRARIES_ONLY)
|
||||
|
||||
if(UNIT_TESTING)
|
||||
include(CTest)
|
||||
@@ -256,13 +194,10 @@ if(UNIT_TESTING)
|
||||
add_subdirectory(test)
|
||||
endif(UNIT_TESTING)
|
||||
|
||||
configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
||||
configure_file(version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
|
||||
|
||||
if(BUILD_OWNCLOUD_OSX_BUNDLE)
|
||||
install(FILES sync-exclude.lst DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/Resources/)
|
||||
configure_file(sync-exclude.lst bin/${OWNCLOUD_OSX_BUNDLE}/Contents/Resources/sync-exclude.lst COPYONLY)
|
||||
elseif(BUILD_CLIENT)
|
||||
else()
|
||||
install( FILES sync-exclude.lst DESTINATION ${SYSCONFDIR}/${APPLICATION_SHORTNAME} )
|
||||
configure_file(sync-exclude.lst bin/sync-exclude.lst COPYONLY)
|
||||
endif()
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
## Submitting Desktop Client issues
|
||||
|
||||
If you have questions about how to use the Nextcloud Desktop Client, please
|
||||
visit our [support site][support] or our [forum][forum].
|
||||
If you have questions about how to use the ownCloud Desktop Client, please
|
||||
direct these to the [mailing list][mailinglist] or our [forum][forum].
|
||||
We are also available on [IRC][irc].
|
||||
|
||||
### Bug Reporting Guidelines
|
||||
* __Important__: Report the issue using our [template][template], it includes all the
|
||||
information we need to track down the issue.
|
||||
* __SECURITY__: Report any potential security bug by following our [security policy](https://nextcloud.com/security/) instead of filing an issue in our bug tracker
|
||||
* This repository is *only* for issues within the Nextcloud desktop client.
|
||||
* __SECURITY__: Report any potential security bug to security@owncloud.com following our [security policy](https://owncloud.org/security/) instead of filing an issue in our bug tracker
|
||||
* This repository is *only* for issues within the ownCloud desktop client.
|
||||
Issues in other components should be reported in their own repositores:
|
||||
- [Nextcloud server](https://github.com/nextcloud/server/issues)
|
||||
- [Android client](https://github.com/nextcloud/android/issues)
|
||||
- [iOS client](https://github.com/nextcloud/ios/issues)
|
||||
- [ownCloud server](https://github.com/owncloud/core/issues)
|
||||
- [ownCloud apps](https://github.com/owncloud/apps/issues) (e.g. Calendar,
|
||||
Contacts...)
|
||||
- [Android client](https://github.com/owncloud/android/issues)
|
||||
- [iOS client](https://github.com/owncloud/ios-issues/issues)
|
||||
* Search the existing issues first, it's likely that your issue was already
|
||||
reported.
|
||||
|
||||
@@ -21,20 +23,27 @@ If your issue appears to be a bug, and hasn't been reported, open a new issue.
|
||||
Help us to maximize the effort we can spend fixing issues and adding new
|
||||
features, by not reporting duplicate issues.
|
||||
|
||||
[template]: https://raw.githubusercontent.com/nextcloud/desktop/master/.github/issue_template.md
|
||||
[support]: https://nextcloud.com/support/
|
||||
[forum]: https://help.nextcloud.com/categories
|
||||
[irc]: https://webchat.freenode.net/?channels=nextcloud
|
||||
[template]: https://raw.github.com/owncloud/client/master/issue_template.md
|
||||
[mailinglist]: https://mail.kde.org/mailman/listinfo/owncloud
|
||||
[forum]: http://forum.owncloud.org/
|
||||
[irc]: http://webchat.freenode.net/?channels=owncloud&uio=d4
|
||||
|
||||
## Contributing to Source Code
|
||||
|
||||
Thanks for wanting to contribute source code to Nextcloud. That's great!
|
||||
Thanks for wanting to contribute source code to ownCloud. That's great!
|
||||
|
||||
You do not need to sign a Contributor Agreement, but we ask that you follow our
|
||||
[Code of Conduct](https://nextcloud.com/code-of-conduct/).
|
||||
Before we're able to merge your code to ownCloud Desktop Client, you need to sign
|
||||
our [Contributor Agreement][agreement].
|
||||
|
||||
Please read the [Contribution Guide](https://nextcloud.com/contribute/) to get
|
||||
started.
|
||||
Please read the [Desktop Client Manual][desktopman] and the [Developer
|
||||
Manuals][devmanual] to get useful info like how to create your first
|
||||
application or how to test the ownCloud code with phpunit.
|
||||
|
||||
[agreement]: http://owncloud.org/about/contributor-agreement/
|
||||
[devmanual]: http://owncloud.org/dev
|
||||
[desktopman]: http://doc.owncloud.org/desktop
|
||||
|
||||
## Translations
|
||||
Please submit translations via [Transifex](https://www.transifex.com/nextcloud/nextcloud/).
|
||||
Please submit translations via [Transifex][transifex].
|
||||
|
||||
[transifex]: https://www.transifex.com/projects/p/owncloud/
|
||||
|
||||
@@ -14,7 +14,7 @@ set( OEM_THEME_DIR @OEM_THEME_DIR@ )
|
||||
if ( DEFINED OEM_THEME_DIR AND EXISTS ${OEM_THEME_DIR}/OEM.cmake )
|
||||
include ( ${OEM_THEME_DIR}/OEM.cmake )
|
||||
else ()
|
||||
include ( "${CMAKE_SOURCE_DIR}/NEXTCLOUD.cmake" )
|
||||
include ( "${CMAKE_SOURCE_DIR}/OWNCLOUD.cmake" )
|
||||
endif()
|
||||
|
||||
set( CRASHREPORTER_EXECUTABLE @CRASHREPORTER_EXECUTABLE@)
|
||||
|
||||
663
ChangeLog
663
ChangeLog
@@ -1,453 +1,5 @@
|
||||
ChangeLog
|
||||
====================
|
||||
For details check https://nextcloud.com/blog/category/release.
|
||||
|
||||
2.6 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 2.6.4 (release 2020-03-04)
|
||||
* Fix Explorer pinning: Add fallbacks for Shell commands (fixes #1599)
|
||||
* WebFlowCredentials: Make username comparison case-insensitive (fix #1741)
|
||||
* ActivityListModel: Show full date and time as a Tooltip only
|
||||
* Disable HTTP/2 for now due to Qt bug, allow enabling it via env var
|
||||
* Fix Explorer integration re-save and hide option on non-Windows
|
||||
* l10n: Changes to improve source strings
|
||||
* Updater: Add query-parameter 'updatesegment' to the update check
|
||||
* Allow Desktop translation merging and custom backport branches
|
||||
|
||||
version 2.6.3 (release 2020-02-17)
|
||||
* Add UserInfo class and fetch quota via API instead of PropfindJob
|
||||
* l10n: Changed grammar and triple dots to ellipsis
|
||||
* l10n: Changed spelling of "user name" to "username"
|
||||
* Start the client in background if activated by D-Bus
|
||||
* Do not install files related to cloud providers under Xenial
|
||||
* Make sure that the libcloudprovider integration is using a valid D-Bus path
|
||||
* Changed product name to Nextcloud
|
||||
* Update autoupdate.rst
|
||||
* Use system proxy by default if no config file is present
|
||||
* Install libcloudproviders files by default on debian
|
||||
* Windows 7 is out of support
|
||||
* BugFix: Handle broken shared file error gracefully
|
||||
* Fix Explorer integration on Windows and the crash on other systems
|
||||
* Welcome to 2020
|
||||
* Updated year in legalnotice.cpp
|
||||
* apply http2 qt resend patch from owncloud
|
||||
|
||||
version 2.6.2 (release 2019-12-24)
|
||||
* Revert DEFAULT_REMOTE_POLL_INTERVAL back from 5 seconds to 30 seconds
|
||||
* Use user-provided username in displayName() - Fix #836
|
||||
* Fix typo
|
||||
* Build with libcloudproviders on debian and in the AppImage
|
||||
* Fix tests for Windows platform
|
||||
* Merge the list of ignored files/symlinks into one Activity notification.
|
||||
* Fix clang's variadic macro warnings
|
||||
* Add libdbus-1-dev to the build dependencies
|
||||
* Compare QDateTime objects more efficient
|
||||
* Improve the translation of "Share via …"
|
||||
* Upgrade for Qt 5.12.5 in docker-ci
|
||||
* Bump Qt 5.12.5 image
|
||||
* Add timestamp to Mac installer code signing
|
||||
* MacOS build: Avoid the Get-Task-Allow Entitlement (Notarization)
|
||||
* Build for Debian stable and oldstable
|
||||
* Happy new year
|
||||
* Fall back to old login flow on GS as this is not yet ready
|
||||
* [stable-2.6] macOS build: Avoid the Get-Task-Allow Entitlement (Notarization)
|
||||
* Fix remote wipe keychain storage (issue #1592)
|
||||
* Fix copyright year in MacOSXBundleInfo.plist.in for 2019
|
||||
* Fix macOS GUI (Qt 5.12)
|
||||
* Windows: Workaround for storing >= 4k (4096 bit) client-cert SSL keys
|
||||
* Fix Activity List: Add check to avoid first empty entry
|
||||
* Fix macOS GUI (Qt 5.12) No. 2 (continuation of #1651)
|
||||
* Show date and time in activity log (fixes issue #1683)
|
||||
* Login Flow v2 enhancements
|
||||
* Activity List: Fix crash and folder opening
|
||||
* Fix issue #1237: White text on almost-white background
|
||||
* Heavy refactoring: Windows workaround for >= 4k (4096 bit) client-cert SSL keys and large certs
|
||||
* Fix date in ActivityWidget and remove unnecessary string conversion
|
||||
|
||||
version 2.6.1 (release 2019-11-04)
|
||||
* Changed max GUI bandwidth limits
|
||||
* Add sync date next to "Synchronized with local folder"
|
||||
* Slideshow buttons
|
||||
* Fix qt warning about registering a URL sheme first.
|
||||
* Issue #1216: added sync-exclude entry for emacs recovery files
|
||||
* Race condition in the remote size loading logic
|
||||
* Review of msvc/gcc warnings -> code cleanup, prevention of implicit casts, variadic macros
|
||||
* Fix double slashes
|
||||
* Fixing E2E CSR transmission failure for new connections
|
||||
* Fixed missing 'translatable' exclusions, added missing window titles
|
||||
* Checks if exclude file is empty before creating the regular expressions.
|
||||
* Add server info to menu
|
||||
* Fixed grammar
|
||||
* Prevent jumping of tray menu
|
||||
* Don't run connection wizard when quitting the application
|
||||
* Avoiding copying in range-based loops
|
||||
* Add a 'Content-Length: 0' header to initial POST requests
|
||||
* Remote wipe.
|
||||
* Pick from upstream: Update qtmacgoodies for an OSX crash fix #6930
|
||||
* fix for issue no. #1351
|
||||
* Merge the list of ignored files/symlinks into one Activity notification.
|
||||
* Update submodules for Qt 5.12.5 (qtmacgoodies)
|
||||
* Fix duplicate items in Apps menu (a bug introduced in #1477)
|
||||
* Fix #1182
|
||||
* Fix remote wipe when a proxy is configured.
|
||||
* Fix updater message: Download link instead of "use the system's update
|
||||
|
||||
version 2.6.0 Login flow v2 (release 2019-09-27)
|
||||
* Reinstate Debian build in the new Drone config
|
||||
* Typo
|
||||
* Marking unused strings as unstranslatable
|
||||
* Fixes #607
|
||||
* Fixes issue #878
|
||||
* Fixes issue #1187
|
||||
* Displays FileIgnored activities with an info icon
|
||||
* Minor text change in the link to help in the tab 'General'.
|
||||
* Update Qt 5.5 compatibility patch for Xenial
|
||||
* Remove Ubuntu Cosmic and add Eoan package
|
||||
* Add proper CA to client side certificate connection
|
||||
* Remove dependency on libgnome-keyring0 on Eoan
|
||||
* Read .sync_exclude.lst in each subdirectory
|
||||
* Updates ChangeLog.
|
||||
* Login flow v2
|
||||
* Adds SSL client cert storage to webflow + Login Flow v2
|
||||
* Windows: Workaround for CredWriteW used by QtKeychain
|
||||
* Integrated registry check on windows when hasDarkSystray is called.
|
||||
* Logo update
|
||||
* Updated .gitignore to integrate unwanted files when working with VSC …
|
||||
* Full-Scaled new logo in Windows 10 start menu tile
|
||||
* Qt5.5 compatiblity patch for login flow V2 + UI improvement (Use newer digest algorithms in TLS error dialog)
|
||||
* Fix for #1382 "linux client crashes for no discernable reason"
|
||||
* UI improvement: Message box: Delete / Keep all files
|
||||
* Improve wording of the context menu in the file manager extension.
|
||||
* Changes wording in the share context menu.
|
||||
* Fix White Window issue on Windows by upgrading to Qt 5.12.5
|
||||
|
||||
2.5 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 2.5.3 (release 2019-07-22)
|
||||
* Fix empty file wording in error log (small)
|
||||
* Add Qt-5.12 to CI
|
||||
* Fix a minor typo
|
||||
* Libcloudproviders: Add missing check for Qt5DBus
|
||||
* Fix several memory leaks in cloudproviders and add translation support
|
||||
* Share link fixing
|
||||
* New drone config
|
||||
* Uses configuraion to determine if it should show empty folder popup.
|
||||
* Simplify cmake command to make copy-pastable
|
||||
* Updated default remote poll to 5 seconds #1115
|
||||
* Fix memory leak with device pointer
|
||||
* Added a nice UI for the E2E-enabled account first connect
|
||||
* This should fix issue #1000
|
||||
* Adds parameter to retrieve shares with its reshares.
|
||||
* Fixed typo
|
||||
* Fixed typo in "certificate"
|
||||
* WebView: Properly handle usernames with spaces and plus signs in it
|
||||
* Add error category for http file lock error status 423.
|
||||
* Displays the uid_owner of a shared file.
|
||||
* Minor text change in the link to help in the tab 'General'.
|
||||
|
||||
version 2.5.2 (release 2019-04-11)
|
||||
* Handle spaces in username properly in login flow
|
||||
* Wizard: show an error message if there is no enough free space in the local folder
|
||||
* Removed whitespace from string
|
||||
* Do not add double slash to login flow url
|
||||
* Fix login flow with system proxy
|
||||
* Start with easier theming
|
||||
* Do not display dismissed notifications
|
||||
* Fixed l18n issue. Added space for separating string
|
||||
* Add invalid certiticate messagebox
|
||||
* Correct app passwords link
|
||||
* Be less verbose with logging
|
||||
* Fix typo in translation string
|
||||
* Add a command line option to launch the client in the background
|
||||
* Support Ubuntu Disco Dingo
|
||||
* Added missing Include
|
||||
* Make sure _profile and _page are deleted in the correct order
|
||||
* Fix KDEInstallDirs deprecation warnings
|
||||
* Removed Stylesheet
|
||||
|
||||
version 2.5.1 (release 2019-01-06)
|
||||
* Fixup the port in server notification URLs
|
||||
* GUI: let Clang-Tidy modernize nullptr & override usage
|
||||
* Improve the slide show
|
||||
* Libsync: let Clang-Tidy modernize nullptr & override usage
|
||||
* SettingsDialog: fix a little glitch in the account tool button size
|
||||
* SettingsDialog: tweak color aware icons
|
||||
* More verbose error and proper app name on configuration read error
|
||||
* Fix cmake build using WITH_PROVIDERS=OFF
|
||||
* Debian/Ubuntu target repository update
|
||||
* Change man page names and contents for nextcloud
|
||||
* Share dialog alignment
|
||||
* Fixed typo
|
||||
* Change link to docs for NC 15
|
||||
* Do not fetch activities if they are not enabled
|
||||
* Do not read system exclude list if user exclude is present
|
||||
* Fix the activity loop
|
||||
* Write the actual folder to the log
|
||||
* Fix appname for Nautilus integration script
|
||||
|
||||
version 2.5.0 (release 2018-11-14)
|
||||
* End to end encryption
|
||||
* New Web login flow
|
||||
* UI improvements: Notifications
|
||||
* UI improvements: refactoring of Activities
|
||||
* SyncJournal: Clear etag filter before sync
|
||||
* Partial local discovery: Fix scheduling logic
|
||||
* Sync hidden files by default
|
||||
* Larger Windows App Icon
|
||||
* Show a tray message when a folder watcher becomes unreliable #6119
|
||||
* Create symlinks for the small-letter application icon file names
|
||||
* In setup wizard put link to nextcloud installation
|
||||
* Web view scales vertically
|
||||
* Add a WebFlowCredentialsAccessManager
|
||||
* Mac Application Icon
|
||||
* Ensure GETFileJob notices finishing #6581
|
||||
* OAuth2: Try to refresh the token even if the credentials weren't ready.
|
||||
* Tray workarounds #6545
|
||||
* UpdateInfo: Remove unused code
|
||||
* OAuth: Remove the timeout
|
||||
* TestOAuth: Don't have global static QObject
|
||||
* Log: Adjust update/reconcile log verbosity
|
||||
* Reconcile: When detecting a local move, keep the local mtime
|
||||
* Wizard enhancement
|
||||
* FolderMan::checkPathValidityForNewFolder: make sure to work when fold…
|
||||
* Update: Report on readdir() errors #6610
|
||||
* Use encode()/decode() with Python 3 only
|
||||
* Sqlite: Update bundled version to 3.24.0
|
||||
* Do not require server replies to contain an mtime
|
||||
* Settings: Attempt to fix rename issue on old macOS
|
||||
* Support higher resolution theme icons
|
||||
* OAuth: Fix infinite loop when the refresh token is expired
|
||||
* Windows: Don't ignore files with FILE_ATTRIBUTE_TEMPORARY
|
||||
* Data-Fingerprint: Fix backup detection when fingerprint is empty
|
||||
* Nautilus: Fix GET_MENU_ITEMS with utf8 filenames #6643
|
||||
* Windows: Release handle/fd when file open fails #6699
|
||||
* SettingsDialog: Show the page for the newly created account
|
||||
* Updates submodule qtmacgoodies.
|
||||
* Fixes #665 Adds slot for confirmShare button.
|
||||
* Rename INSTALL to INSTALL.md for Preview :)
|
||||
* Add cmake temporary stuff
|
||||
* Inform user that configuration is not writable
|
||||
* Uses QByteArray to store private key.
|
||||
* Fix cmake command for linux in README too
|
||||
* Build fix: remove an unused QtSvg/QSvgRenderer include
|
||||
* Qtkeychain: 0.8.0 -> 0.9.1
|
||||
* Setup wizard: implement an animated and interactive slide show
|
||||
* Theming for general settings ui
|
||||
* Make the "Add Folder Sync Connection" button act like a button
|
||||
* Allow to use the login flow with a self signed certificate
|
||||
* Fix warning in ShareUserGroupWidget
|
||||
* Copy over config file to new location on windows
|
||||
* Update to translate strings
|
||||
* Migrate http auth to webflow
|
||||
* Margins
|
||||
* Qt 5.5 compatibility patch for Xenial
|
||||
* Fix cmake build of documentation
|
||||
* Use Nextcloud
|
||||
* Update isntaller background for OSX
|
||||
* Fix ActivityWidget palette
|
||||
* SettingsDialog: disable unnecessary wrapping for the about label
|
||||
* Added default scheme when server returns just a host
|
||||
* Removed explicit initialization; Fixed RAND_bytes not found
|
||||
* Actually open the activity view on a click for more info
|
||||
* Use a format that supports alpha channels for avatars
|
||||
* L10n. Added space for correct grammar.
|
||||
|
||||
|
||||
2.4 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 2.4.1 (2017-02-xx)
|
||||
* Ignore files with file names that can't be encoded for the filesystem (#6287, #5676, #5719)
|
||||
* Issues: Speed up insertion and add hard upper limit (#6272)
|
||||
* Notifications: Fix "Dismiss" action
|
||||
* Notifications: Fix timer invocation on macOS
|
||||
* Notifications: Immediately poll when account online
|
||||
* Protocol: Remove entries for auto resolved conflicts (#6316)
|
||||
* owncloudcmd: Set proxy before capabilities call (#6281)
|
||||
* owncloudcmd: Do not do the capability call when --nonshib is passed
|
||||
* Avatars: Use old location for servers <10 (#6279)
|
||||
* Link shares: Change default share name (#6298)
|
||||
* Nautilus integration: Work with python2 and python3
|
||||
* HTTP2: Only allow with Qt 5.9.4 (#6285)
|
||||
* Crash fixes
|
||||
|
||||
version 2.4.0 (2017-12-21)
|
||||
* If you're using 2.4.0 alpha1, please upgrade as previous alphas/rcs had an issue with hidden files and renames!
|
||||
* OAuth2 authentication support by opening external browser (#5668)
|
||||
* Shibboleth: Change to use OAuth2 if supported (#6198)
|
||||
* Sharing: Add support for multiple public link shares (#5655)
|
||||
* Sharing: Add option to copy/email private links (#5023, #5627)
|
||||
* Sharing: Add option "show file listing" (#5837)
|
||||
* Sharing: Show warning that links are public (#5747)
|
||||
* Sharing: Sharing dialog redesign: multiple share links support (#5695)
|
||||
* Sharing: Make "can edit" partially checked sometimes (#5642)
|
||||
* Sharing: Trigger a sync for folder affected by a change of sharing (#6098)
|
||||
* Wizard: Never propose an existing folder for syncing (#5597)
|
||||
* Wizard: Don't show last page anymore, go to settings directly (#5726)
|
||||
* Wizard: Handle url-shortener redirects (#5954)
|
||||
* Wizard: Resolve url/ redirects only if url/status.php not found (#5954)
|
||||
* Wizard: Add explanation text when server error is shown (#6157)
|
||||
* Wizard: Update the window size on high dpi screen (#6156)
|
||||
* Wizard: Don't report confusing error message (#6116)
|
||||
* Gui: Display the user server avatar (#5482)
|
||||
* Gui: Use display name of user, not internal name
|
||||
* Server URL: Update configuration in case of permanent redirection (#5972)
|
||||
* Gui: Allow to add multiple sync folder connection of the same folder (#6032)
|
||||
* Tray Menu: More detailed status messages
|
||||
* Tray Menu: Shibboleth: raise the browser when clicking on the tray (#6105)
|
||||
* Activity: Link errors from the account tab, allow filtering by account/folder (#5861)
|
||||
* Activity: Present conflicts more prominently (#5894)
|
||||
* Activity: Allow sorting the columns in issues and protocol tabs (#6093, #6086)
|
||||
* Selective Sync: Open sub folder context menu (#5596)
|
||||
* Selective Sync: Skip excluded folders when reading db (#5772)
|
||||
* Selective Sync: Remove local files of unselected folder despite other modified files (#5783)
|
||||
* Excludes: Remove .htaccess form list of excluded files (#5701)
|
||||
* Excludes: Hardcode desktop.ini
|
||||
* Excludes: Allow escaping "#" (#6012)
|
||||
* Excludes: Use faster matching via QRegularExpression (#6063)
|
||||
* Discovery: Increase the MAX_DEPTH and show deep folders as ignored (#1067)
|
||||
* Discovery: General speed improvements
|
||||
* Downloads: Remove empty temporary if disk space full (#5746)
|
||||
* Downloads: Read Content-MD5 header for object store setups
|
||||
* Checksums: Add global disable environment variable (#5017)
|
||||
* Quota: PropagateUpload: Model of remote quota, avoid some uploads (#5537)
|
||||
* Create favorite also in folder wizard (#455)
|
||||
* Windows: Use the application icon for the Windows 8 sidebar favorite (#2446, #5690)
|
||||
* macOS: Finder sidebar icon (#296)
|
||||
* Overlay Icons: Consider also the "shared by me" as shared (#4788)
|
||||
* Overlay Icons: Update right after sharing (#6115)
|
||||
* Overlay Icons: Fix different case paths not matching (#5257)
|
||||
* Overlay Icons: Detect changes in the shared flag (#6098)
|
||||
* Windows Overlay Icons: Potential hang fixes
|
||||
* Linux Overlay Icons: fix branded nemo and caja shell integration (#5966)
|
||||
* Credentials: Fix behavior for bad password (#5989)
|
||||
* Credentials: Don't create empty client cert keychain entries (#5752)
|
||||
* Credentials: Namespace windows cred keys (#6125)
|
||||
* Credentials: Use per-account keychain entries (#5830, #6126)
|
||||
* AccountSettings: Triggering log in re-ask about previously rejected certificates (#5819)
|
||||
* owncloudcmd: Added bandwidth limit parameter (#5707)
|
||||
* owncloudcmd: Fix timestamps, Fix --logdebug
|
||||
* AccountSettings: Sync with clean discovery on Ctrl-F6 (#5666)
|
||||
* Sync: Dynamic sizing of chunks in chunked uploads for improved big file upload performance (#5852)
|
||||
* Sync: Introduce overall errors that are not tied to a file (#5746)
|
||||
* Sync: Better messaging for 507 Insufficient Storage (#5537)
|
||||
* Sync: Create conflicts by comparing the hash of files with identical mtime/size (#5589)
|
||||
* Sync: Avoid downloads by comparing the hash of files with identical mtime/size (#6153)
|
||||
* Sync: Upload conflict files if OWNCLOUD_UPLOAD_CONFLICT_FILES environment variable is set (#6038)
|
||||
* Sync: Blacklist: Don't let errors become warnings (#5516)
|
||||
* Sync: Check etag again after active sync (#4116)
|
||||
* Sync: Rename handling fixes: duplicate file ids (#6096, #6212)
|
||||
* Sync: Rename handling fixes: File size must be equal
|
||||
* Sync: Rename handling: Fix duplicate files on abort/resume sync (#5949)
|
||||
* Sync: Add capability for invalid filename regexes (#6092)
|
||||
* SyncJournalDB: Fall back to DELETE journal mode if WAL mode does not seem to work (#5723)
|
||||
* SyncJournalDB: Don't crash if the db file is readonly (#6050)
|
||||
* SyncJournalDB: DB close error is not fatal
|
||||
* Fix at least one memory leak
|
||||
* Documentation improvements
|
||||
* Logging improvements (With Qt logging categories) (#5671)
|
||||
* Logging filtering per account (#5672)
|
||||
* Crash fixes
|
||||
* Test improvements
|
||||
* Small UI layout fixes
|
||||
* Performance improvements
|
||||
* Maintenance Mode: Detect maintenance mode (#4485)
|
||||
* Maintenance Mode: Add a 1 to 5 min reconnection delay (#5872)
|
||||
* HTTP: Send a unique X-Request-ID with each request (#5853)
|
||||
* HTTP: Support HTTP2 when built and running with Qt 5.9.x (Official packages still on Qt 5.6.x) (#5659)
|
||||
* owncloudcmd: Don't start if connection or auth fails (#5692)
|
||||
* csync: Switch build from C to C++ (#6033)
|
||||
* csync: Refactor a lot to use common data structures to save memory and memory copying
|
||||
* csync: Switch some data structures to Qt data structures
|
||||
* csync: Switch to using upper layer SyncJournalDB (#6087)
|
||||
* Switch 3rdparty/json usage to Qt5's QJson (#5710)
|
||||
* OpenSSL: Don't require directly, only via Qt (#5833)
|
||||
* Remove iconv dependency, use Qt for file system locale encoding/decoding (emoji filename support on macOS) (#5875)
|
||||
* Compilation: Remove Qt 4 code (#6025, #5702, #5505)
|
||||
* Harmonize source code style with clang-format (#5732)
|
||||
* Switch over to Qt 5 function pointer signal/slot syntax (#6041)
|
||||
* Compile with stack-smashing protection
|
||||
* Updater: Rudimentary support for beta channel (#6048)
|
||||
|
||||
|
||||
2.3 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 2.3.4 (2017-11-02)
|
||||
* Checksums: Use addData function to avoid endless loop CPU load issues with Office files
|
||||
* Packaging: Require ZLIB
|
||||
|
||||
version 2.3.3 (2017-08-29)
|
||||
* Chunking NG: Don't use old chunking on new DAV endpoint (#5855)
|
||||
* Selective Sync: Skip excluded folders when reading DB, don't let them show errors (#5772)
|
||||
* Settings: Make window bigger so Qt version is always visible (#5760)
|
||||
* Share links: Show warning that public link shares are public (#5786)
|
||||
* Downloads: Re-trigger folder discovery on HTTP 404 (#5799)
|
||||
* Overlay Icons: Fix potential hangs on Windows
|
||||
* SyncJournalDB: Don't use ._ as filename pattern if that does not work because of SMB storage settings (#5844)
|
||||
* SyncJournalDB: Log reason for sqlite3 opening errors
|
||||
* Notifications: Proapgate "Dismiss" button action to server (#5922)
|
||||
* Switch Linux build also to Qt 5.6.2 (#5470)
|
||||
* Stopped maintaining Qt 4 buildability
|
||||
|
||||
version 2.3.2 (2017-05-08)
|
||||
* Fix more crashes (thanks to everyone submitting to our crash reporter!)
|
||||
* Improve compatibility with server 10.0 (#5691, X-OC-Total-Size)
|
||||
* Share dialog: UI improvements, Bring to front on tray click
|
||||
* owncloudcmd: Align process return value with sync return value (#3936)
|
||||
* Fix disk free check on Windows when opening the local DB
|
||||
|
||||
version 2.3.1 (2017-03-21)
|
||||
* Fix several crashes (thanks to everyone submitting to our crash reporter!)
|
||||
* Improve HTTP redirect handling (#5555)
|
||||
* Blacklist: Escalate repeated soft error to normal error (#5500)
|
||||
* NTFS: Do not attempt to upload two existing files with similar casing (#5544)
|
||||
* Fix URL for linking to application password generation for ownCloud 10.0 (#5605)
|
||||
|
||||
version 2.3.0 (2017-03-03)
|
||||
* Decreased memory usage during sync
|
||||
* Overlay icons: Lower CPU usage
|
||||
* Allow to not sync the server's external storages by default
|
||||
* Switch Windows and OS X build to Qt 5.6.2
|
||||
* Switch to new ownCloud server WebDAV endpoint
|
||||
* Chunking NG: New file upload chunking algorithmn for ownCloud server 9.2
|
||||
* Allow to sync a folder to multiple different servers (Filename change from .csync_journal.db to _sync_$HASH.db)
|
||||
* Conflicts: Use the local mtime for the conflict file name (#5273)
|
||||
* "Sync now" menu item
|
||||
* SSL Client certificate support improved (Show UI, Store keys in keychain)
|
||||
* Propagator: Upload more small files in parallel
|
||||
* Sync Engine: Read data-fingerprint property to detect backups (#2325)
|
||||
* GUI: Show link to ceate an app password/token for syncing
|
||||
* Share dialog: Add 'Mail link' button
|
||||
* Caja file manager plugin
|
||||
* Make "backup detected" message to not trigger in wrong cases
|
||||
* SyncEngine: Fix renaming of folder when file are changed (#5192)
|
||||
* Fix reconnect bug if status.php intermittently returns wrong data (#5188)
|
||||
* Improve sync scheduling (#5317)
|
||||
* Overlay icons: Improvements in correctnes
|
||||
* Tray menu: Only update on demand to fix Linux desktop integration glitches
|
||||
* Progress: Better time/bandwidth estimations
|
||||
* Network: Follow certain HTTP redirects (#2791)
|
||||
* Network: Remove all cookies (including load balancers etc) when logging out
|
||||
* Discovery thread: Low priority
|
||||
* owncloudsync.log: Write during propagation
|
||||
* Better error message for files with trailing spaces on Windows
|
||||
* Excludes: Consider files in hidden folders excluded (#5163)
|
||||
* Allow sync directory to be a symlinked directory
|
||||
* Add manifest file on Windows to make the application UAC aware
|
||||
* macOS: Improve monochrome tray icons
|
||||
* Shibboleth bugfixes
|
||||
* Fixes with regards to low disk space
|
||||
* A ton of other bugfixes
|
||||
* Refactorings
|
||||
* Improved documentation
|
||||
* Crash fixes
|
||||
|
||||
|
||||
2.2 Series ChangeLog
|
||||
====================
|
||||
=========
|
||||
|
||||
version 2.2.4 (release 2016-09-27)
|
||||
* Dolphin Plugin: Use the Application name for the socket path (#5172)
|
||||
@@ -484,7 +36,7 @@ version 2.2.2 (release 2016-06-21)
|
||||
version 2.2.1 (release 2016-06-06)
|
||||
* Fix out of memory error when too many uploads happen (#4611)
|
||||
* Fix display errors in progress display (#4803 #4856)
|
||||
* LockWatcher: Remember to upload files after they become unlocked (#4865)
|
||||
* LockWatcher: Remember to upload files after they become unlocked (#4865)
|
||||
* Fix overlay icons for files with umlauts (#4884)
|
||||
* Certs: Re-ask for different cert after rejection (#4898, #4911)
|
||||
* Progress: Don't count items without propagation jobs (#4856, #4910)
|
||||
@@ -510,13 +62,10 @@ version 2.2.0 (release 2016-05-12)
|
||||
* Documentation Improvements, ie. about overlay icons
|
||||
* Translation fixes
|
||||
* Countless other bugfixes
|
||||
* Sqlite Update to recent version
|
||||
* Update of QtKeyChain to support Windows credential store
|
||||
* Packaging of dolphin overlay icon module for bleeding edge distros
|
||||
|
||||
|
||||
2.1 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 2.1.1 (release 2016-02-10)
|
||||
* UI improvements for HiDPI screens, error messages, RTL languages
|
||||
* Fix occurences of "Connection Closed" when a new unauthenticated TCP socket is used
|
||||
@@ -545,13 +94,13 @@ version 2.1 (release 2015-12-03)
|
||||
* GUI: Improved upload/download progress UI (#3403, #3569)
|
||||
* Allowed sharing with ownCloud internal users and groups from Desktop
|
||||
* Changed files starting in .* to be considered hidden on all platforms (#4023)
|
||||
* Reflect read-only permissions in filesystem (#3244)
|
||||
* Reflect read-only permissions in filesystem (#3244)
|
||||
* Blacklist: Clear on successful chunk upload (#3934)
|
||||
* Improved reconnecting after network change/disconnect (#4167 #3969 ...)
|
||||
* Improved performance in Windows file system discovery
|
||||
* Removed libneon-based propagator. As a consequence, The client can no
|
||||
* longer provide bandwith limiting on Linux-distributions where it is
|
||||
* using Qt < 5.4
|
||||
longer provide bandwith limiting on Linux-distributions where it is
|
||||
using Qt < 5.4
|
||||
* Performance improvements in the logging functions
|
||||
* Ensured that local disk space problems are handled gracefully (#2939)
|
||||
* Improved handling of checksums: transport validation, db (#3735)
|
||||
@@ -584,13 +133,10 @@ version 2.1 (release 2015-12-03)
|
||||
* Fixed getting size for selective sync (#3986)
|
||||
* Re-added close button in the settings window (#3713)
|
||||
* Added abililty to handle storage limitations gracefully (#3736)
|
||||
* Updated 3rdparty dependencies: sqlite version 3.9.1
|
||||
* Organized patches to our base Qt version into admin/qt/patches
|
||||
* Plus: A lot of unmentioned improvements and fixes
|
||||
|
||||
|
||||
2.0 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 2.0.2 (release 2015-10-21)
|
||||
* csync_file_stat_s: Save a bit of memory
|
||||
* Shibboleth: Add our base user agent to WebKit
|
||||
@@ -623,7 +169,7 @@ version 2.0.2 (release 2015-10-21)
|
||||
* ShareDialog: Fix folder display (#3659)
|
||||
* AccountSettings: Restore from legacy only once (#3565)
|
||||
* SSL Certificate Error Dialog: show account name (#3729)
|
||||
* Tray notification: Don't show a message about modified folder (#3613)
|
||||
* Tray notification: Don't show a message about modified folder (#3613)
|
||||
* PropagateLocalRemove: remove entries from the DB even if there was an error.
|
||||
* Settings UI improvements (eg. #3713, #3721, #3619 and others)
|
||||
* Folder: Do not create the sync folder if it does not exist (#3692)
|
||||
@@ -666,10 +212,6 @@ version 2.0.0 (release 2015-08-25)
|
||||
* Bandwidth Throttling: Provide automatic limit setting for downloads (#3084)
|
||||
* Systray: Workaround for issue with Qt 5.5.0 #3656
|
||||
|
||||
|
||||
1.8 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 1.8.4 (release 2015-07-13)
|
||||
* Release to ship a security release of openSSL. No source changes of the ownCloud Client code.
|
||||
|
||||
@@ -679,7 +221,7 @@ version 1.8.3 (release 2015-06-23)
|
||||
* Ignores: Force a remote discovery after ignore list change (#3172)
|
||||
* Shibboleth: Avoid crash by letting the webview use its own QNAM (#3359)
|
||||
* System Ignores: Removed *.tmp from system ignore again. If a user
|
||||
* wants to ignore *.tmp, it needs to be added to the user ignore list.
|
||||
wants to ignore *.tmp, it needs to be added to the user ignore list.
|
||||
|
||||
version 1.8.2 (release 2015-06-08)
|
||||
* Improve reporting of server error messages (#3220)
|
||||
@@ -692,16 +234,16 @@ version 1.8.2 (release 2015-06-08)
|
||||
* HTTP: Add the branding name to the UserAgent string
|
||||
* ConnectonValidator: Always run with new credentials (#3266)
|
||||
* Recall Feature: Admins can trigger an upload of a file from
|
||||
* client to server again (#3246)
|
||||
client to server again (#3246)
|
||||
* Propagator: Add 'Content-Length: 0' header to MKCOL request (#3256)
|
||||
* Switch on checksum verification through branding or config
|
||||
* Add ability for checksum verification of up and download
|
||||
* Fix opening external links for some labels (#3135)
|
||||
* AccountState: Run only a single validator, allow error message
|
||||
* overriding (#3236, #3153)
|
||||
overriding (#3236, #3153)
|
||||
* SyncJournalDB: Minor fixes and simplificatons
|
||||
* SyncEngine: Force re-read of folder Etags for upgrades from
|
||||
* 1.8.0 and 1.8.1
|
||||
1.8.0 and 1.8.1
|
||||
* Propagator: Limit length of temporary file name (#2789)
|
||||
* ShareDialog: Password ui fixes (#3189)
|
||||
* Fix startup hang by removing QSettings lock file (#3175)
|
||||
@@ -722,12 +264,12 @@ version 1.8.2 (release 2015-06-08)
|
||||
version 1.8.1 (release 2015-05-07)
|
||||
* Make "operation canceled" error a soft error
|
||||
* Do not throw an error for files that are scheduled to be removed,
|
||||
* but can not be found on the server. #2919
|
||||
but can not be found on the server. #2919
|
||||
* Windows: Reset QNAM to proper function after hibernation. #2899 #2895 #2973
|
||||
* Fix argument verification of --confdir #2453
|
||||
* Fix a crash when accessing a dangling UploadDevice pointer #2984
|
||||
* Add-folder wizard: Make sure there is a scrollbar if folder names
|
||||
* are too long #2962
|
||||
are too long #2962
|
||||
* Add-folder Wizard: Select the newly created folder
|
||||
* Activity: Correctly restore column sizes #3005
|
||||
* SSL Button: do not crash on empty certificate chain
|
||||
@@ -735,8 +277,8 @@ version 1.8.1 (release 2015-05-07)
|
||||
* Lookup system proxy async to avoid hangs #2993 #2802
|
||||
* ShareDialog: Some GUI refinements
|
||||
* ShareDialog: On creation of a share always retrieve the share
|
||||
* This makes sure that if a default expiration date is set this is reflected
|
||||
* in the dialog. #2889
|
||||
This makes sure that if a default expiration date is set this is reflected
|
||||
in the dialog. #2889
|
||||
* ShareDialog: Only show share dialog if we are connected.
|
||||
* HttpCreds: Fill pw dialog with previous password. #2848 #2879
|
||||
* HttpCreds: Delete password from old location. #2186
|
||||
@@ -745,7 +287,7 @@ version 1.8.1 (release 2015-05-07)
|
||||
* ProtocolWidget: Always add seconds to the DateTime locale. #2535
|
||||
* Updater: Give context as to which app is about to be updated #3040
|
||||
* Windows: Add version information for owncloud.exe. This should help us know
|
||||
* what version or build number a crash report was generated with.
|
||||
what version or build number a crash report was generated with.
|
||||
* Fix a crash on shutdown in ~SocketApi #3057
|
||||
* SyncEngine: Show more timing measurements #3064
|
||||
* Discovery: Add warning if returned etag is 0
|
||||
@@ -768,8 +310,8 @@ version 1.8.1 (release 2015-05-07)
|
||||
version 1.8.0 (release 2015-03-17)
|
||||
* Mac OS: HIDPI support
|
||||
* Support Sharing from desktop: Added a share dialog that can be
|
||||
* opened by context menu in the file managers (Win, Mac, Nautilus)
|
||||
* Supports public links with password enforcement
|
||||
opened by context menu in the file managers (Win, Mac, Nautilus)
|
||||
Supports public links with password enforcement
|
||||
* Enhanced usage of parallel HTTP requests for ownCloud 8 servers
|
||||
* Renamed github repository from mirall to client.
|
||||
* Mac OS: Use native notification support
|
||||
@@ -782,7 +324,7 @@ version 1.8.0 (release 2015-03-17)
|
||||
* Build with Qt 5.4
|
||||
* Dropped libneon dependency if Qt 5.4 is available
|
||||
* Keep files open very short, that avoid lock problems on Windows
|
||||
* especially with office software but also others.
|
||||
especially with office software but also others.
|
||||
* Merged some NetBSD patches
|
||||
* Selective sync support for owncloudcmd
|
||||
* Reorganize the source repository
|
||||
@@ -791,17 +333,13 @@ version 1.8.0 (release 2015-03-17)
|
||||
* A huge amount of bug fixes in all areas of the client.
|
||||
* almost 700 commits since 1.7.1
|
||||
|
||||
|
||||
1.7 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 1.7.1 (release 2014-12-18)
|
||||
* Documentation fixes and updates
|
||||
* Nautilus Python plugin fixed for Python 3
|
||||
* GUI wording fixes plus improved log messages
|
||||
* Fix hidning of the database files in the sync directories
|
||||
* Compare http download size with the header value to avoid broken
|
||||
* downloads, bug #2528
|
||||
downloads, bug #2528
|
||||
* Avoid initial ETag fetch job at startup, which is not needed.
|
||||
* Add chunk size http header to PUT requests
|
||||
* Fixed deteteCookie method of our CookieJar, fix for Shibboleth
|
||||
@@ -824,20 +362,21 @@ version 1.7.1 (release 2014-12-18)
|
||||
* Win32: Improve reliability of Installer, fix removal of Shell Extensions
|
||||
|
||||
version 1.7.0 (release 2014-11-07)
|
||||
|
||||
* oC7 Sharing: Handle new sharing options of ownCloud 7 correctly.
|
||||
* Added Selective sync: Ability to unselect server folders which are
|
||||
* excluded from syncing, plus GUI and setup GUI
|
||||
excluded from syncing, plus GUI and setup GUI
|
||||
* Added overlay icons for Windows Explorer, Mac OS Finder and GNOME Nautilus.
|
||||
* Information is provided by the client via a local socket / named pipe API
|
||||
* which provides information about the sync status of files.
|
||||
Information is provided by the client via a local socket / named pipe API
|
||||
which provides information about the sync status of files.
|
||||
* Improved local change detection: consider file size, detect files
|
||||
* with ongoing changes and do not upload immediately
|
||||
with ongoing changes and do not upload immediately
|
||||
* Improved HTTP request timeout handler: all successful requests reset
|
||||
* the timeout counter
|
||||
the timeout counter
|
||||
* Improvements for syncing command line tool: netrc support, improved
|
||||
* SSL support, non interactive mode
|
||||
SSL support, non interactive mode
|
||||
* Permission system: ownCloud 7 delivers file and folder permissions,
|
||||
* added ability to deal with it for shared folders and more.
|
||||
added ability to deal with it for shared folders and more.
|
||||
* Ignore handling: Do not recurse into ignored or excluded directories
|
||||
* Major sync journal database improvements for more stability and performance
|
||||
* New library interface to sqlite3
|
||||
@@ -846,40 +385,35 @@ version 1.7.0 (release 2014-11-07)
|
||||
* Improved logging: more useful meta info, removed noise
|
||||
* Updated to latest Qt5 versions on Windows and OS X
|
||||
* Fixed data loss when renaming a download temporary fails and there was
|
||||
* a conflict at the same time.
|
||||
a conflict at the same time.
|
||||
* Fixed missing warnings about reusing a sync folder when the back button
|
||||
* was used in the advanced folder setup wizard.
|
||||
was used in the advanced folder setup wizard.
|
||||
* The 'Retry Sync' button now also restarts all downloads.
|
||||
* Clean up temporary downloads and some extra database files when wiping a
|
||||
* folder.
|
||||
folder.
|
||||
* OS X: Sparkle update to provide pkg format properly
|
||||
* OS X: Change distribution format from dmg to pkg with new installer.
|
||||
* Windows: Fix handling of filenames with trailing dot or space
|
||||
* Windows: Don't use the wrong way to get file mtimes in the legacy propagator.
|
||||
|
||||
|
||||
|
||||
1.6 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 1.6.4 (release 2014-10-22)
|
||||
* Fix startup logic, fixes bug #1989
|
||||
* Fix raise dialog on X11
|
||||
* Win32: fix overflow when computing the size of file > 4GiB
|
||||
* Use a fixed function to get files modification time, the
|
||||
* original one was broken for certain timezone issues, see
|
||||
* core bug #9781 for details
|
||||
original one was broken for certain timezone issues, see
|
||||
core bug #9781 for details
|
||||
* Added some missing copyright headers
|
||||
* Avoid data corruption due to wrong error handling, bug #2280
|
||||
* Do improved request timeout handling to reduce the number of
|
||||
* timed out jobs, bug #2155
|
||||
* version 1.6.3 (release 2014-09-03)
|
||||
timed out jobs, bug #2155
|
||||
version 1.6.3 (release 2014-09-03)
|
||||
* Fixed updater on OS X
|
||||
* Fixed memory leak in SSL button that could lead to quick memory draining
|
||||
* Fixed upload problem with files >4 GB
|
||||
* MacOSX, Linux: Bring Settings window to front properly
|
||||
* Branded clients: If no configuration is detected, try to import the data
|
||||
* from a previously configured community edition.
|
||||
from a previously configured community edition.
|
||||
|
||||
version 1.6.2 (release 2014-07-28 )
|
||||
* Limit the HTTP buffer size when downloading to limit memory consumption.
|
||||
@@ -887,7 +421,7 @@ version 1.6.2 (release 2014-07-28 )
|
||||
* Fix local file name clash detection for MacOSX.
|
||||
* Limit maximum wait time to ten seconds in network limiting.
|
||||
* Fix data corruption while trying to resume and the server does
|
||||
* not support it.
|
||||
not support it.
|
||||
* HTTP Credentials: Read password from legacy place if not found.
|
||||
* Shibboleth: Fix the waiting curser that would not disapear (#1915)
|
||||
* Limit memory usage to avoid mem wasting and crashes
|
||||
@@ -901,18 +435,18 @@ version 1.6.1 (release 2014-06-26 )
|
||||
* Fix openSSL problems for windows deployment
|
||||
* Fix syncing a folder with '#' in the name
|
||||
* Fix #1845: do not update parent directory etag before sub
|
||||
* directories are removed
|
||||
directories are removed
|
||||
* Fix reappearing directories if dirs are removed during its
|
||||
* upload
|
||||
upload
|
||||
* Fix app version in settings dialog, General tab
|
||||
* Fix crash in FolderWizard when going offline
|
||||
* Shibboleth fixes
|
||||
* More specific error messages (file remove during upload, open
|
||||
* local sync file)
|
||||
local sync file)
|
||||
* Use QSet rather than QHash in SyncEngine (save memory)
|
||||
* Fix some memory leaks
|
||||
* Fix some thread race problems, ie. wait for neon thread to finish
|
||||
* before the propagator is shut down
|
||||
before the propagator is shut down
|
||||
* Fix a lot of issues and warnings found by Coverity
|
||||
* Fix Mac some settings dialog problems
|
||||
|
||||
@@ -935,16 +469,16 @@ version 1.6.0 (release 2014-05-30 )
|
||||
* Introduce a general timeout of 300s for network operations
|
||||
* Improve error handling, blacklisting
|
||||
* Job-based change propagation, enables faster parallel up/downloads
|
||||
* (right now only if no bandwidth limit is set and no proxy is used)
|
||||
(right now only if no bandwidth limit is set and no proxy is used)
|
||||
* Significantly reduced CPU load when checking for local and remote changes
|
||||
* Speed up file stat code on Windows
|
||||
* Enforce Qt5 for Windows and Mac OS X builds
|
||||
* Improved owncloudcmd: SSL support, documentation
|
||||
* Added advanced logging of operations (file .???.log in sync
|
||||
* directory)
|
||||
directory)
|
||||
* Avoid creating a temporary copy of the sync database (.ctmp)
|
||||
* Enable support for TLS 1.2 negotiation on platforms that use
|
||||
* Qt 5.2 or later
|
||||
Qt 5.2 or later
|
||||
* Forward server exception messages to client error messages
|
||||
* Mac OS X: Support Notification Center in OS X 10.8+
|
||||
* Mac OS X: Use native settings dialog
|
||||
@@ -953,15 +487,11 @@ version 1.6.0 (release 2014-05-30 )
|
||||
* Remove vio abstraction in csync
|
||||
* Avoid data loss when a client file system is not case sensitive
|
||||
|
||||
|
||||
1.5 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 1.5.3 (release 2014-03-10 )
|
||||
* Fix usage of proxies after first sync run (#1502, #1524, #1459, #1521)
|
||||
* Do not wipe the credentials from config for reconnect (#1499, #1503)
|
||||
* Do not erase the full account config if an old version of the client stored
|
||||
* the password (related to above)
|
||||
the password (related to above)
|
||||
* Fix layout of the network tab (fixes #1491)
|
||||
* Handle authentication requests by a Shibboleth IdP
|
||||
* Shibboleth: If no connection is available, don't open the login window
|
||||
@@ -990,34 +520,34 @@ version 1.5.2 (release 2014-02-26 )
|
||||
|
||||
version 1.5.1 (release 2014-02-13 )
|
||||
* Added an auto updater that updates the client if a
|
||||
* more recent version was found automatically (Windows, Mac OS X)
|
||||
more recent version was found automatically (Windows, Mac OS X)
|
||||
* Added a button to the account dialog that gives information
|
||||
* about the encryption layer used for communication, plus a
|
||||
* certificate information widget
|
||||
about the encryption layer used for communication, plus a
|
||||
certificate information widget
|
||||
* Preserve the permission settings of local files rather than
|
||||
* setting them to a default (Bug #820)
|
||||
setting them to a default (Bug #820)
|
||||
* Handle windows lnk files correctly (Bug #1307)
|
||||
* Detect removes and renames in read only shares and
|
||||
* restore the gone away files. (Bug #1386)
|
||||
restore the gone away files. (Bug #1386)
|
||||
* Fixes sign in/sign out and password dialog. (Bug #1353)
|
||||
* Fixed error messages (Bug #1394)
|
||||
* Lots of fixes for building with Qt5
|
||||
* Changes to network limits are now also applied during a
|
||||
* sync run
|
||||
sync run
|
||||
* Fixed mem leak after via valgrind on Mac
|
||||
* Imported the ocsync library into miralls repository.
|
||||
* Adopted all build systems and packaging to that.
|
||||
Adopted all build systems and packaging to that.
|
||||
* Introduce a new linux packaging scheme following the
|
||||
* debian upstream scheme
|
||||
debian upstream scheme
|
||||
* Use a refactored Linux file system watcher based on
|
||||
* inotify, incl. unit tests
|
||||
inotify, incl. unit tests
|
||||
* Wizard: Gracefully fall back to HTTP if HTTPS connection
|
||||
* fails, issuing a warning
|
||||
fails, issuing a warning
|
||||
* Fixed translation misses in the propagator
|
||||
* Fixes in proxy configuration
|
||||
* Fixes in sync journal handling
|
||||
* Fix the upload progress if the local source is still
|
||||
* changing when the upload begins.
|
||||
changing when the upload begins.
|
||||
* Add proxy support to owncloud commandline client
|
||||
* NSIS fixes
|
||||
* A lot of other fixes and minor improvements
|
||||
@@ -1054,10 +584,6 @@ version 1.5.0 (release 2013-12-12 ), csync 0.91.4 required
|
||||
* Windows: Fix rename of temporary files
|
||||
* Windows: Fix move file operation
|
||||
|
||||
|
||||
1.4 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 1.4.2 (release 2013-10-18 ), csync 0.90.4 required
|
||||
* Do not show the warning icon in the tray (#944)
|
||||
* Fix manual proxy support when switching (#1016)
|
||||
@@ -1073,11 +599,12 @@ version 1.4.2 (release 2013-10-18 ), csync 0.90.4 required
|
||||
* Progress: Show number of deletes.
|
||||
|
||||
version 1.4.1 (release 2013-09-24 ), csync 0.90.1 required
|
||||
|
||||
* Translation and documentation fixes.
|
||||
* Fixed error display in settings/status dialog, displays multi
|
||||
* line error messages now correctly.
|
||||
line error messages now correctly.
|
||||
* Wait up to 30 secs before complaining about missing systray
|
||||
* Fixes bug #949
|
||||
Fixes bug #949
|
||||
* Fixed utf8 issues with basic auth authentication, fixes bug #941
|
||||
* Fixed remote folder selector, avoid recursive syncing, fixes bug #962
|
||||
* Handle and display network problems at startup correctly.
|
||||
@@ -1094,6 +621,7 @@ version 1.4.1 (release 2013-09-24 ), csync 0.90.1 required
|
||||
* Various minor code fixes
|
||||
|
||||
version 1.4.0 (release 2013-09-04 ), csync 0.90.0 required
|
||||
|
||||
* New Scheduler: Only sync when there are actual changes in the server
|
||||
* Add a Settings Dialog, move Proxy Settings there
|
||||
* Transform folder Status Dialog into Account Settings, provide feedback via context menu
|
||||
@@ -1104,7 +632,7 @@ version 1.4.0 (release 2013-09-04 ), csync 0.90.0 required
|
||||
* Move ability to switch to mono icons from a switch to a Settings option
|
||||
* Add "Launch on System Startup" GUI option
|
||||
* Add "Show Desktop Nofications"GUI option (enabled by default)
|
||||
* top optionally disable sync notifications
|
||||
top optionally disable sync notifications
|
||||
* Add Help item, pointing to online reference
|
||||
* Implement graphical selection of remote folders in FolderWizard
|
||||
* Allow custom ignore patterns
|
||||
@@ -1123,14 +651,11 @@ version 1.4.0 (release 2013-09-04 ), csync 0.90.0 required
|
||||
* Require Qt 4.7
|
||||
* Known issue: Under certain conditions, a file will only get uploaded after up to five minutes
|
||||
|
||||
|
||||
1.3 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 1.3.0 (release 2013-06-25 ), csync 0.80.0 required
|
||||
|
||||
* Default proxy port to 8080
|
||||
* Don't lose proxy settings when changing passwords
|
||||
* Support SOCKS5 proxy (useful in combination with ssh* *D)
|
||||
* Support SOCKS5 proxy (useful in combination with ssh *D)
|
||||
* Propagate proxy changes to csync at runtime
|
||||
* Improve proxy wizard
|
||||
* Display proxy errors
|
||||
@@ -1146,7 +671,7 @@ version 1.3.0 (release 2013-06-25 ), csync 0.80.0 required
|
||||
* Remove journal when reusing a directory that used to have a journal before
|
||||
* Visual clean up of status dialog items
|
||||
* Wizard: When changing the URL or user name, allow the user to push his data
|
||||
* to the new location or wipe the folder and start from scratch
|
||||
to the new location or wipe the folder and start from scratch
|
||||
* Wizard: Make setting a custom folder as a sync target work again
|
||||
* Fix application icon
|
||||
* User-Agent now contains "Mozilla/5.0" and the Platform name (for firewall/proxy compat)
|
||||
@@ -1154,10 +679,6 @@ version 1.3.0 (release 2013-06-25 ), csync 0.80.0 required
|
||||
* New setup wizard, defaulting to root syncing (only for new setups)
|
||||
* Improved thread stop/termination
|
||||
|
||||
|
||||
1.2 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 1.2.5 (release 2013-04-23 ), csync 0.70.7 required
|
||||
* [Fixes] NSIS installer fixes
|
||||
* [Fixes] Fix crash race by making certificateChain() thread safe
|
||||
@@ -1223,10 +744,6 @@ version 1.2.0 (release 2013-01-24 ), csync 0.70.2 required
|
||||
* [Platform] cmake fixes.
|
||||
* [Platform] Improved, more detailed error reporting.
|
||||
|
||||
|
||||
1.1 Series ChangeLog
|
||||
====================
|
||||
|
||||
version 1.1.4 (release 2012-12-19 ), csync 0.60.4 required
|
||||
* No changes to mirall, only csync fixes.
|
||||
|
||||
@@ -1236,7 +753,7 @@ version 1.1.3 (release 2012-11-30 ), csync 0.60.3 required
|
||||
version 1.1.2 (release 2012-11-26 ), csync 0.60.2 required
|
||||
* [Fixes] Allow to properly cancel the password dialog.
|
||||
* [Fixes] Share folder name correctly percent encoded with old Qt
|
||||
* * * * 4.6 builds ie. Debian.
|
||||
4.6 builds ie. Debian.
|
||||
* [Fixes] If local sync dir is not existing, create it.
|
||||
* [Fixes] lots of other minor fixes.
|
||||
* [GUI] Display error messages in status dialog.
|
||||
@@ -1244,30 +761,30 @@ version 1.1.2 (release 2012-11-26 ), csync 0.60.2 required
|
||||
* [GUI] Show username for connection in statusdialog.
|
||||
* [GUI] Show intro wizard on new connection setup.
|
||||
* [APP] Use CredentialStore to better support various credential
|
||||
* * * backends.
|
||||
backends.
|
||||
* [APP] Handle missing local folder more robust: Create it if
|
||||
* * * missing instead of ignoring.
|
||||
missing instead of ignoring.
|
||||
* [APP] Simplify treewalk code.
|
||||
* [Platform] Fix Mac building
|
||||
|
||||
version 1.1.1 (release 2012-10-18), csync 0.60.1 required
|
||||
* [GUI]* Allow changing folder name in single folder mode
|
||||
* [GUI]* Windows: Add license to installer
|
||||
* [GUI]* owncloud --logwindow will bring up the log window
|
||||
* * * * in an already running instance
|
||||
* [GUI] Allow changing folder name in single folder mode
|
||||
* [GUI] Windows: Add license to installer
|
||||
* [GUI] owncloud --logwindow will bring up the log window
|
||||
in an already running instance
|
||||
* [Fixes] Make sure SSL errors are always handled
|
||||
* [Fixes] Allow special characters in folder alias
|
||||
* [Fixes] Proper workaround for Menu bug in Ubuntu
|
||||
* [Fixes] csync: Fix improper memory cleanup which could
|
||||
* * * * cause memory leaks and crashes
|
||||
cause memory leaks and crashes
|
||||
* [Fixes] csync: Fix memory leak
|
||||
* [Fixes] csync: Allow single quote (') in file names
|
||||
* [Fixes] csync: Remove stray temporary files
|
||||
|
||||
* [GUI]* Reworked tray context menu.
|
||||
* [GUI]* Users can now sync the server root folder.
|
||||
* [GUI] Reworked tray context menu.
|
||||
* [GUI] Users can now sync the server root folder.
|
||||
* [Fixes] Proxy support: now supports Proxy Auto-Configuration (PAC)
|
||||
* * * * on Windows, reliability fixes across all OSes.
|
||||
on Windows, reliability fixes across all OSes.
|
||||
* [Fixes] Url entry field in setup assistant handles http/https correctly.
|
||||
* [Fixes] Button enable state in status dialog.
|
||||
* [Fixes] Crash fixed on ending the client, tray icon related.
|
||||
@@ -1280,15 +797,11 @@ version 1.1.1 (release 2012-10-18), csync 0.60.1 required
|
||||
* [Platform] Windows: ownCloud gets added to autorun by default.
|
||||
* [Platform] insert correct version info from cmake.
|
||||
* [Platform] csync conf file and database were moved to the users app data
|
||||
* * * * * directory, away from the .csync dir.
|
||||
** * * Renamed exclude.lst to sync-exclude.lst and moved it to
|
||||
* * * * /etc/appName()/ for more clean packaging. From the user path,
|
||||
* * * * still exclude.lst is read if sync-exclude.lst is not existing.
|
||||
** * * Placed custom.ini with customization options to /etc/appName()
|
||||
|
||||
|
||||
1.0 Series ChangeLog
|
||||
====================
|
||||
directory, away from the .csync dir.
|
||||
* Renamed exclude.lst to sync-exclude.lst and moved it to
|
||||
/etc/appName()/ for more clean packaging. From the user path,
|
||||
still exclude.lst is read if sync-exclude.lst is not existing.
|
||||
* Placed custom.ini with customization options to /etc/appName()
|
||||
|
||||
version 1.0.5 (release 2012-08-14), csync 0.50.8 required
|
||||
* [Fixes] Fixed setup dialog: Really use https if checkbox is activated.
|
||||
@@ -1306,23 +819,23 @@ version 1.0.4 (release 2012-08-10), csync 0.50.8 required
|
||||
* [GUI] Removed Log Window Button, log available through command line.
|
||||
* [GUI] Proxy configuration dialog added.
|
||||
* [GUI] Added Translations to languages Slovenian, Polish, Catalan,
|
||||
* * * Portuguese (Brazil), German, Greek, Spanish, Czech, Italian, Slovak,
|
||||
* * * French, Russian, Japanese, Swedish, Portuguese (Portugal)
|
||||
* * * all with translation rate >90%.
|
||||
Portuguese (Brazil), German, Greek, Spanish, Czech, Italian, Slovak,
|
||||
French, Russian, Japanese, Swedish, Portuguese (Portugal)
|
||||
all with translation rate >90%.
|
||||
* [Fixes] Loading of self signed certs into Networkmanager (#oc-843)
|
||||
* [Fixes] Win32: Handle SSL dll loading correctly.
|
||||
* [Fixes] Many other small fixes and improvements.
|
||||
|
||||
version 1.0.3 (release 2012-06-19), csync 0.50.7 required
|
||||
* [GUI] Added a log window which catches the logging if required and
|
||||
* * * allows to save for information.
|
||||
allows to save for information.
|
||||
* [CMI] Added options --help, --logfile and --logflush
|
||||
* [APP] Allow to specify sync frequency in the config file.
|
||||
* [Fixes] Do not use csync database files from a sync before.
|
||||
* [Fixes] In Connection wizard, write the final config onyl if
|
||||
* * * * the user really accepted. Also remove the former database.
|
||||
the user really accepted. Also remove the former database.
|
||||
* [Fixes] More user expected behaviour deletion of sync folder local
|
||||
* * * * and remote.
|
||||
and remote.
|
||||
* [Fixes] Allow special characters in the sync directory names
|
||||
* [Fixes] Win32: Fixed directory removal with special character dirs.
|
||||
* [Fixes] MacOS: Do not flood the system log any more
|
||||
@@ -1341,7 +854,7 @@ version 1.0.2 (release 2012-05-18), csync 0.50.6 required
|
||||
* [Fixes] Dialogs comes to front on click
|
||||
* [Fixes] Open local sync folder from tray and status for win32
|
||||
* [Fixes] Load exclude.lst correctly on MacOSX
|
||||
* + csync fixes.
|
||||
+ csync fixes.
|
||||
|
||||
version 1.0.1 (release 2012-04-18), csync 0.50.5 required
|
||||
* [Security] Support SSL Connections
|
||||
|
||||
58
Jenkinsfile
vendored
Normal file
58
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
#!groovy
|
||||
|
||||
node('CLIENT') {
|
||||
stage 'Checkout'
|
||||
checkout scm
|
||||
sh '''git submodule update --init'''
|
||||
|
||||
stage 'Qt4'
|
||||
sh '''rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DUNIT_TESTING=1 -DBUILD_WITH_QT4=ON ..
|
||||
make
|
||||
ctest --output-on-failure'''
|
||||
|
||||
stage 'Qt4 - clang'
|
||||
sh '''rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUNIT_TESTING=1 -DBUILD_WITH_QT4=ON ..
|
||||
make
|
||||
ctest --output-on-failure'''
|
||||
|
||||
stage 'Qt5'
|
||||
sh '''rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DUNIT_TESTING=1 -DBUILD_WITH_QT4=OFF ..
|
||||
make
|
||||
ctest --output-on-failure'''
|
||||
|
||||
stage 'Qt5 - clang'
|
||||
sh '''rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DUNIT_TESTING=1 -DBUILD_WITH_QT4=OFF ..
|
||||
make
|
||||
ctest --output-on-failure'''
|
||||
|
||||
|
||||
stage 'Win32'
|
||||
def win32 = docker.image('deepdiver/docker-owncloud-client-win32:latest')
|
||||
win32.pull() // make sure we have the latest available from Docker Hub
|
||||
win32.inside {
|
||||
sh '''
|
||||
rm -rf build-win32
|
||||
mkdir build-win32
|
||||
cd build-win32
|
||||
../admin/win/download_runtimes.sh
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../admin/win/Toolchain-mingw32-openSUSE.cmake -DWITH_CRASHREPORTER=ON
|
||||
make -j4
|
||||
make package
|
||||
ctest .
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
set( APPLICATION_NAME "Nextcloud" )
|
||||
set( APPLICATION_SHORTNAME "Nextcloud" )
|
||||
set( APPLICATION_EXECUTABLE "nextcloud" )
|
||||
set( APPLICATION_DOMAIN "nextcloud.com" )
|
||||
set( APPLICATION_VENDOR "Nextcloud GmbH" )
|
||||
set( APPLICATION_UPDATE_URL "https://updates.nextcloud.org/client/" CACHE STRING "URL for updater" )
|
||||
set( APPLICATION_HELP_URL "" CACHE STRING "URL for the help menu" )
|
||||
set( APPLICATION_ICON_NAME "Nextcloud" )
|
||||
set( APPLICATION_ICON_SET "SVG" )
|
||||
set( APPLICATION_SERVER_URL "" CACHE STRING "URL for the server to use. If entered, the UI field will be pre-filled with it" )
|
||||
set( APPLICATION_SERVER_URL_ENFORCE ON ) # If set and APPLICATION_SERVER_URL is defined, the server can only connect to the pre-defined URL
|
||||
set( APPLICATION_REV_DOMAIN "com.nextcloud.desktopclient" )
|
||||
|
||||
set( LINUX_PACKAGE_SHORTNAME "nextcloud" )
|
||||
set( LINUX_APPLICATION_ID "${APPLICATION_REV_DOMAIN}.${LINUX_PACKAGE_SHORTNAME}")
|
||||
|
||||
set( THEME_CLASS "NextcloudTheme" )
|
||||
set( WIN_SETUP_BITMAP_PATH "${CMAKE_SOURCE_DIR}/admin/win/nsi" )
|
||||
|
||||
set( MAC_INSTALLER_BACKGROUND_FILE "${CMAKE_SOURCE_DIR}/admin/osx/installer-background.png" CACHE STRING "The MacOSX installer background image")
|
||||
|
||||
# set( THEME_INCLUDE "${OEM_THEME_DIR}/mytheme.h" )
|
||||
# set( APPLICATION_LICENSE "${OEM_THEME_DIR}/license.txt )
|
||||
|
||||
option( WITH_CRASHREPORTER "Build crashreporter" OFF )
|
||||
#set( CRASHREPORTER_SUBMIT_URL "https://crash-reports.owncloud.com/submit" CACHE STRING "URL for crash reporter" )
|
||||
#set( CRASHREPORTER_ICON ":/owncloud-icon.png" )
|
||||
|
||||
## Updater options
|
||||
option( BUILD_UPDATER "Build updater" OFF )
|
||||
|
||||
option( WITH_PROVIDERS "Build with providers list" ON )
|
||||
|
||||
|
||||
## Theming options
|
||||
set( APPLICATION_WIZARD_HEADER_BACKGROUND_COLOR "#0082c9" CACHE STRING "Hex color of the wizard header background")
|
||||
set( APPLICATION_WIZARD_HEADER_TITLE_COLOR "#ffffff" CACHE STRING "Hex color of the text in the wizard header")
|
||||
option( APPLICATION_WIZARD_USE_CUSTOM_LOGO "Use the logo from ':/client/theme/colored/wizard_logo.(png|svg)' else the default application icon is used" ON )
|
||||
|
||||
|
||||
#
|
||||
## Windows Shell Extensions & MSI - IMPORTANT: Generate new GUIDs for custom builds with "guidgen" or "uuidgen"
|
||||
#
|
||||
if(WIN32)
|
||||
# Context Menu
|
||||
set( WIN_SHELLEXT_CONTEXT_MENU_GUID "{BC6988AB-ACE2-4B81-84DC-DC34F9B24401}" )
|
||||
|
||||
# Overlays
|
||||
set( WIN_SHELLEXT_OVERLAY_GUID_ERROR "{E0342B74-7593-4C70-9D61-22F294AAFE05}" )
|
||||
set( WIN_SHELLEXT_OVERLAY_GUID_OK "{E1094E94-BE93-4EA2-9639-8475C68F3886}" )
|
||||
set( WIN_SHELLEXT_OVERLAY_GUID_OK_SHARED "{E243AD85-F71B-496B-B17E-B8091CBE93D2}" )
|
||||
set( WIN_SHELLEXT_OVERLAY_GUID_SYNC "{E3D6DB20-1D83-4829-B5C9-941B31C0C35A}" )
|
||||
set( WIN_SHELLEXT_OVERLAY_GUID_WARNING "{E4977F33-F93A-4A0A-9D3C-83DEA0EE8483}" )
|
||||
|
||||
# MSI Upgrade Code (without brackets)
|
||||
set( WIN_MSI_UPGRADE_CODE "FD2FCCA9-BB8F-4485-8F70-A0621B84A7F4" )
|
||||
|
||||
# Windows build options
|
||||
option( BUILD_WIN_MSI "Build MSI scripts and helper DLL" OFF )
|
||||
option( BUILD_WIN_TOOLS "Build Win32 migration tools" OFF )
|
||||
endif()
|
||||
18
OWNCLOUD.cmake
Normal file
18
OWNCLOUD.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
set( APPLICATION_NAME "ownCloud" )
|
||||
set( APPLICATION_EXECUTABLE "owncloud" )
|
||||
set( APPLICATION_DOMAIN "owncloud.com" )
|
||||
set( APPLICATION_VENDOR "ownCloud" )
|
||||
set( APPLICATION_UPDATE_URL "https://updates.owncloud.com/client/" CACHE string "URL for updater" )
|
||||
|
||||
set( THEME_CLASS "ownCloudTheme" )
|
||||
set( APPLICATION_REV_DOMAIN "com.owncloud.desktopclient" )
|
||||
set( WIN_SETUP_BITMAP_PATH "${CMAKE_SOURCE_DIR}/admin/win/nsi" )
|
||||
|
||||
set( MAC_INSTALLER_BACKGROUND_FILE "${CMAKE_SOURCE_DIR}/admin/osx/installer-background.png" CACHE STRING "The MacOSX installer background image")
|
||||
|
||||
# set( THEME_INCLUDE "${OEM_THEME_DIR}/mytheme.h" )
|
||||
# set( APPLICATION_LICENSE "${OEM_THEME_DIR}/license.txt )
|
||||
|
||||
option( WITH_CRASHREPORTER "Build crashreporter" OFF )
|
||||
set( CRASHREPORTER_SUBMIT_URL "https://crash-reports.owncloud.com/submit" CACHE string "URL for crash reporter" )
|
||||
set( CRASHREPORTER_ICON ":/owncloud-icon.png" )
|
||||
@@ -5,7 +5,7 @@ set( CPACK_PACKAGE_CONTACT "Dominik Schmidt <domme@tomahawk-player.org>" )
|
||||
if ( DEFINED OEM_THEME_DIR AND EXISTS ${OEM_THEME_DIR}/OEM.cmake )
|
||||
include ( "${OEM_THEME_DIR}/OEM.cmake" )
|
||||
else ()
|
||||
include ( "${CMAKE_SOURCE_DIR}/NEXTCLOUD.cmake" )
|
||||
include ( "${CMAKE_SOURCE_DIR}/OWNCLOUD.cmake" )
|
||||
endif()
|
||||
|
||||
include( VERSION.cmake )
|
||||
@@ -19,7 +19,7 @@ if(APPLE)
|
||||
set( CPACK_GENERATOR "DragNDrop" )
|
||||
set( CPACK_SOURCE_GENERATOR "")
|
||||
set( CPACK_PACKAGE_FILE_NAME ${APPLICATION_SHORTNAME}-${CPACK_PACKAGE_VERSION} )
|
||||
set( CPACK_PACKAGE_ICON ${CMAKE_BINARY_DIR}/src/gui/${APPLICATION_ICON_NAME}.icns)
|
||||
set( CPACK_PACKAGE_ICON ${CMAKE_BINARY_DIR}/src/gui/ownCloud.icns)
|
||||
|
||||
set( CPACK_DMG_DS_STORE "${CMAKE_SOURCE_DIR}/admin/osx/DS_Store.in")
|
||||
# set( CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_SOURCE_DIR}/admin/osx/DMGBackground.png" )
|
||||
@@ -48,7 +48,7 @@ if(WIN32)
|
||||
set( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md" ) # File used as a description of a project /path/to/project/ReadMe.txt
|
||||
set( CPACK_PACKAGE_DESCRIPTION_SUMMARY "${APPLICATION_NAME} Syncing Client" ) # Description summary of a project
|
||||
# CPACK_PACKAGE_EXECUTABLES List of pairs of executables and labels. Used by the NSIS generator to create Start Menu shortcuts. ccmake;CMake
|
||||
set( CPACK_PACKAGE_INSTALL_DIRECTORY ${APPLICATION_SHORTNAME} ) # Installation directory on the target system -> C:\Program Files\${APPLICATION_SHORTNAME}
|
||||
set( CPACK_PACKAGE_INSTALL_DIRECTORY ${APPLICATION_SHORTNAME} ) # Installation directory on the target system -> C:\Program Files\fellody
|
||||
set( CPACK_PACKAGE_INSTALL_REGISTRY_KEY ${APPLICATION_SHORTNAME} ) # Registry key used when installing this project CMake 2.5.0
|
||||
set( CPACK_PACKAGE_NAME ${APPLICATION_NAME} ) # Package name, defaults to the project name
|
||||
set( CPACK_PACKAGE_VENDOR "http://${APPLICATION_DOMAIN}" ) # Package vendor name
|
||||
135
README.md
135
README.md
@@ -1,96 +1,65 @@
|
||||
# Nextcloud Desktop Client
|
||||
# ownCloud Desktop Client
|
||||
|
||||
The :computer: Nextcloud Desktop Client is a tool to synchronize files from Nextcloud Server
|
||||
| Job | State |
|
||||
|-----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| client-build-matrix | [](https://ci.owncloud.org/job/client-build-matrix-linux/) |
|
||||
| client-test-matrix-linux-no-build | [](https://ci.owncloud.org/job/client-test-matrix-linux-no-build/) |
|
||||
| coverity_scan | [](https://scan.coverity.com/projects/owncloud-mirall)
|
||||
|
||||
## Introduction
|
||||
|
||||
The ownCloud Desktop Client is a tool to synchronize files from ownCloud Server
|
||||
with your computer.
|
||||
|
||||
<p align="center">
|
||||
<img src="https://nextcloud.com/wp-content/themes/next/assets/img/clients/desktop/macsettings.png?x16328" alt="Desktop Client on Mac OS]">
|
||||
</p>
|
||||
## Download
|
||||
|
||||
## :blue_heart: :tada: Contributing
|
||||
### Binary packages
|
||||
|
||||
### :hammer_and_wrench: How to compile the desktop client
|
||||
* Refer to the download page https://owncloud.org/install/#install-clients
|
||||
|
||||
:building_construction: [System requirements](https://github.com/nextcloud/desktop/wiki/System-requirements-for-compiling-the-desktop-client) includes OpenSSL 1.1.x, QtKeychain, Qt 5.x.x and zlib.
|
||||
### Source code
|
||||
|
||||
#### :memo: Step by step instructions
|
||||
|
||||
##### Clone the repo and create build directory
|
||||
```
|
||||
$ git clone https://github.com/nextcloud/desktop.git
|
||||
$ cd desktop
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
```
|
||||
##### Compile and install
|
||||
|
||||
:warning: For development reasons it is better to **install the client on user space** instead on the global system. Mixing up libs/dll's of different version can lead to undefined behavior and crashes:
|
||||
|
||||
* You could use the **cmake flag** ```CMAKE_INSTALL_PREFIX``` as ```~/.local/``` in a **Linux** system. If you want to install system wide you could use ```/usr/local``` or ```/opt/nextcloud/```.
|
||||
|
||||
* On **Windows 10** [```$USERPROFILE```](https://docs.microsoft.com/en-us/windows/deployment/usmt/usmt-recognized-environment-variables#a-href-idbkmk-2avariables-that-are-recognized-only-in-the-user-context) refers to ```C:\Users\<USERNAME>```.
|
||||
|
||||
##### Linux & Mac OS
|
||||
|
||||
```
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=~/nextcloud-desktop-client -DCMAKE_BUILD_TYPE=Debug -DNO_SHIBBOLETH=1
|
||||
$ make install
|
||||
```
|
||||
|
||||
##### Windows
|
||||
|
||||
```
|
||||
$ cmake -G "Visual Studio 15 2017 Win64" .. -DCMAKE_INSTALL_PREFIX=$USERPROFILE\nextcloud-desktop-client -DCMAKE_BUILD_TYPE=Debug -DNO_SHIBBOLETH=1
|
||||
$ cmake --build . --config Debug --target install
|
||||
```
|
||||
|
||||
:information_source: More detailed instructions can be found at the [Desktop Client Wiki](https://github.com/nextcloud/desktop/wiki).
|
||||
|
||||
### :inbox_tray: Where to find binaries to download
|
||||
|
||||
#### :high_brightness: Daily builds
|
||||
|
||||
- Daily builds based on the latest master are available for Linux :penguin:, Mac, and Windows
|
||||
[in the desktop/daily folder of our download server](https://download.nextcloud.com/desktop/daily).
|
||||
For more info: [Wiki/Daily Builds](https://github.com/nextcloud/desktop/wiki/Daily-Builds).
|
||||
|
||||
#### :rocket: Releases
|
||||
|
||||
- Refer to the [download page https://nextcloud.com/install/#install-clients](https://nextcloud.com/install/#install-clients)
|
||||
|
||||
### :bomb: Reporting issues
|
||||
|
||||
- If you find any bugs or have any suggestion for improvement, please
|
||||
file an issue at https://github.com/nextcloud/desktop/issues. Do not
|
||||
contact the authors directly by mail, as this increases the chance
|
||||
of your report being lost. :boom:
|
||||
|
||||
### :smiley: :trophy: Pull requests
|
||||
|
||||
- If you created a patch :heart_eyes:, please submit a [Pull
|
||||
Request](https://github.com/nextcloud/desktop/pulls).
|
||||
- How to create a pull request? This guide will help you get started: [Opening a pull request](https://opensource.guide/how-to-contribute/#opening-a-pull-request) :heart:
|
||||
|
||||
|
||||
## :satellite: Contact us
|
||||
|
||||
If you want to contact us, e.g. before starting a more complex feature, for questions :question:
|
||||
you can join us at
|
||||
[#nextcloud-client](https://webchat.freenode.net/?channels=nextcloud-client).
|
||||
|
||||
## :v: Code of conduct
|
||||
|
||||
The Nextcloud community has core values that are shared between all members during conferences, hackweeks and on all interactions in online platforms including [Github](https://github.com/nextcloud) and [Forums](https://help.nextcloud.com). If you contribute, participate or interact with this community, please respect [our shared values](https://nextcloud.com/code-of-conduct/). :relieved:
|
||||
|
||||
## :memo: Source code
|
||||
|
||||
The Nextcloud Desktop Client is developed in Git. Since Git makes it easy to
|
||||
The ownCloud Desktop Client is developed in Git. Since Git makes it easy to
|
||||
fork and improve the source code and to adapt it to your need, many copies
|
||||
can be found on the Internet, in particular on GitHub. However, the
|
||||
authoritative repository maintained by the developers is located at
|
||||
https://github.com/nextcloud/desktop.
|
||||
https://github.com/owncloud/client.
|
||||
|
||||
## :scroll: License
|
||||
## Building the source code
|
||||
|
||||
[Building the Client](http://doc.owncloud.org/desktop/2.0/building.html)
|
||||
in the ownCloud Desktop Client manual.
|
||||
|
||||
## Maintainers and Contributors
|
||||
|
||||
The maintainers of this repository are:
|
||||
|
||||
* Klaas Freitag <freitag@owncloud.com>
|
||||
* Daniel Molkentin <danimo@owncloud.com>
|
||||
* Markus Goetz <guruz@owncloud.com>
|
||||
* Olivier Goffart <ogoffart@owncloud.com>
|
||||
|
||||
ownCloud Desktop Client is developed by the ownCloud community and receives
|
||||
patches from a variety of authors.
|
||||
|
||||
## Reporting issues and contributing
|
||||
|
||||
If you find any bugs or have any suggestion for improvement, please
|
||||
file an issue at https://github.com/owncloud/client/issues. Do not
|
||||
contact the authors directly by mail, as this increases the chance
|
||||
of your report being lost.
|
||||
|
||||
If you created a patch, please submit a [Pull
|
||||
Request](https://github.com/owncloud/client/pulls). For non-trivial
|
||||
patches, we need you to sign the [Contributor
|
||||
Agreement](https://owncloud.org/contribute/agreement) before
|
||||
we can accept your patch.
|
||||
|
||||
If you want to contact us, e.g. before starting a more complex feature,
|
||||
you can join us at
|
||||
[#owncloud-client-dev](irc://irc.freenode.net/#owncloud-client-dev).
|
||||
|
||||
## License
|
||||
|
||||
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
|
||||
@@ -101,3 +70,5 @@ https://github.com/nextcloud/desktop.
|
||||
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.
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
set( MIRALL_VERSION_MAJOR 3 )
|
||||
set( MIRALL_VERSION_MINOR 1 )
|
||||
set( MIRALL_VERSION_PATCH 3 )
|
||||
set( MIRALL_VERSION_YEAR 2020 )
|
||||
set( MIRALL_VERSION_MAJOR 2 )
|
||||
set( MIRALL_VERSION_MINOR 2 )
|
||||
set( MIRALL_VERSION_PATCH 4 )
|
||||
set( MIRALL_VERSION_YEAR 2016 )
|
||||
set( MIRALL_SOVERSION 0 )
|
||||
|
||||
if ( NOT DEFINED MIRALL_VERSION_SUFFIX )
|
||||
set( MIRALL_VERSION_SUFFIX "git") #e.g. beta1, beta2, rc1
|
||||
set( MIRALL_VERSION_SUFFIX "") #e.g. beta1, beta2, rc1
|
||||
endif( NOT DEFINED MIRALL_VERSION_SUFFIX )
|
||||
|
||||
if( NOT DEFINED MIRALL_VERSION_BUILD )
|
||||
|
||||
@@ -1,7 +1,2 @@
|
||||
if(APPLE)
|
||||
# traverse into osx subdirectory to install and patch the create-pack script
|
||||
add_subdirectory(osx)
|
||||
elseif(WIN32)
|
||||
# MSI package scripts, helper DLL and migration tools
|
||||
add_subdirectory(win)
|
||||
endif()
|
||||
# traverse into osx subdirectory to install and patch the create-pack script
|
||||
add_subdirectory(osx)
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
set -xe
|
||||
|
||||
mkdir /app
|
||||
mkdir /build
|
||||
|
||||
#Set Qt-5.12
|
||||
export QT_BASE_DIR=/opt/qt5.12.9
|
||||
export QTDIR=$QT_BASE_DIR
|
||||
export PATH=$QT_BASE_DIR/bin:$PATH
|
||||
export LD_LIBRARY_PATH=$QT_BASE_DIR/lib/x86_64-linux-gnu:$QT_BASE_DIR/lib:$LD_LIBRARY_PATH
|
||||
export PKG_CONFIG_PATH=$QT_BASE_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
|
||||
|
||||
#Set APPID for .desktop file processing
|
||||
export LINUX_APPLICATION_ID=com.nextcloud.desktopclient.nextcloud
|
||||
|
||||
#set defaults
|
||||
export SUFFIX=${DRONE_PULL_REQUEST:=master}
|
||||
if [ $SUFFIX != "master" ]; then
|
||||
SUFFIX="PR-$SUFFIX"
|
||||
fi
|
||||
|
||||
#QtKeyChain v0.10.0
|
||||
cd /build
|
||||
git clone https://github.com/frankosterfeld/qtkeychain.git
|
||||
cd qtkeychain
|
||||
git checkout v0.10.0
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -D CMAKE_INSTALL_PREFIX=/usr ../
|
||||
make -j4
|
||||
make install
|
||||
|
||||
#Build client
|
||||
cd /build
|
||||
mkdir build-client
|
||||
cd build-client
|
||||
cmake -D CMAKE_INSTALL_PREFIX=/usr \
|
||||
-D NO_SHIBBOLETH=1 \
|
||||
-D BUILD_UPDATER=ON \
|
||||
-DMIRALL_VERSION_SUFFIX=PR-$DRONE_PULL_REQUEST \
|
||||
-DMIRALL_VERSION_BUILD=$DRONE_BUILD_NUMBER \
|
||||
$DRONE_WORKSPACE
|
||||
make -j4
|
||||
make DESTDIR=/app install
|
||||
|
||||
# Move stuff around
|
||||
cd /app
|
||||
|
||||
mv ./usr/lib/x86_64-linux-gnu/nextcloud/* ./usr/lib/x86_64-linux-gnu/
|
||||
mv ./usr/lib/x86_64-linux-gnu/* ./usr/lib/
|
||||
rm -rf ./usr/lib/nextcloud
|
||||
rm -rf ./usr/lib/cmake
|
||||
rm -rf ./usr/include
|
||||
rm -rf ./usr/mkspecs
|
||||
rm -rf ./usr/lib/x86_64-linux-gnu/
|
||||
|
||||
# Don't bundle nextcloudcmd as we don't run it anyway
|
||||
rm -rf ./usr/bin/nextcloudcmd
|
||||
|
||||
# Don't bundle the explorer extentions as we can't do anything with them in the AppImage
|
||||
rm -rf ./usr/share/caja-python/
|
||||
rm -rf ./usr/share/nautilus-python/
|
||||
rm -rf ./usr/share/nemo-python/
|
||||
|
||||
# Move sync exclude to right location
|
||||
mv ./etc/Nextcloud/sync-exclude.lst ./usr/bin/
|
||||
rm -rf ./etc
|
||||
|
||||
DESKTOP_FILE=/app/usr/share/applications/${LINUX_APPLICATION_ID}.desktop
|
||||
sed -i -e 's|Icon=nextcloud|Icon=Nextcloud|g' ${DESKTOP_FILE} # Bug in desktop file?
|
||||
cp ./usr/share/icons/hicolor/512x512/apps/Nextcloud.png . # Workaround for linuxeployqt bug, FIXME
|
||||
|
||||
|
||||
# Because distros need to get their shit together
|
||||
cp -R /lib/x86_64-linux-gnu/libssl.so* ./usr/lib/
|
||||
cp -R /lib/x86_64-linux-gnu/libcrypto.so* ./usr/lib/
|
||||
cp -P /usr/local/lib/libssl.so* ./usr/lib/
|
||||
cp -P /usr/local/lib/libcrypto.so* ./usr/lib/
|
||||
|
||||
# NSS fun
|
||||
cp -P -r /usr/lib/x86_64-linux-gnu/nss ./usr/lib/
|
||||
|
||||
# Use linuxdeployqt to deploy
|
||||
cd /build
|
||||
wget --ca-directory=/etc/ssl/certs/ -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
|
||||
chmod a+x linuxdeployqt*.AppImage
|
||||
./linuxdeployqt-continuous-x86_64.AppImage --appimage-extract
|
||||
rm ./linuxdeployqt-continuous-x86_64.AppImage
|
||||
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH=/app/usr/lib/
|
||||
./squashfs-root/AppRun ${DESKTOP_FILE} -bundle-non-qt-libs -qmldir=$DRONE_WORKSPACE/src/gui
|
||||
|
||||
# Set origin
|
||||
./squashfs-root/usr/bin/patchelf --set-rpath '$ORIGIN/' /app/usr/lib/libnextcloudsync.so.0
|
||||
|
||||
# Build AppImage
|
||||
./squashfs-root/AppRun ${DESKTOP_FILE} -appimage
|
||||
|
||||
mv Nextcloud*.AppImage Nextcloud-${SUFFIX}-${DRONE_COMMIT}-x86_64.AppImage
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
rm -vrf admin/
|
||||
rm -vrf src/3rdparty/sqlite3 # FIXME: For CentOS6 we have to use our bundled sqlite
|
||||
rm -vrf binary/
|
||||
rm -vrf src/3rdparty/libcrashreporter-qt
|
||||
rm -vrf shell_integration/windows
|
||||
rm -vrf shell_integration/MacOSX
|
||||
@@ -1,139 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -xe
|
||||
shopt -s extglob
|
||||
|
||||
env
|
||||
|
||||
PPA=ppa:nextcloud-devs/client
|
||||
PPA_ALPHA=ppa:nextcloud-devs/client-alpha
|
||||
PPA_BETA=ppa:nextcloud-devs/client-beta
|
||||
|
||||
OBS_PROJECT=home:ivaradi
|
||||
OBS_PROJECT_ALPHA=home:ivaradi:alpha
|
||||
OBS_PROJECT_BETA=home:ivaradi:beta
|
||||
OBS_PACKAGE=nextcloud-desktop
|
||||
|
||||
if test "${DRONE_TARGET_BRANCH}" = "stable-2.6"; then
|
||||
UBUNTU_DISTRIBUTIONS="bionic focal groovy hirsute"
|
||||
DEBIAN_DISTRIBUTIONS="buster stretch testing"
|
||||
else
|
||||
UBUNTU_DISTRIBUTIONS="focal groovy hirsute"
|
||||
DEBIAN_DISTRIBUTIONS="testing"
|
||||
fi
|
||||
|
||||
pull_request=${DRONE_PULL_REQUEST:=master}
|
||||
|
||||
if test -z "${DRONE_WORKSPACE}"; then
|
||||
DRONE_WORKSPACE=`pwd`
|
||||
fi
|
||||
|
||||
if test -z "${DRONE_DIR}"; then
|
||||
DRONE_DIR=`dirname ${DRONE_WORKSPACE}`
|
||||
fi
|
||||
|
||||
set +x
|
||||
if test "$DEBIAN_SECRET_KEY" -a "$DEBIAN_SECRET_IV"; then
|
||||
openssl aes-256-cbc -K $DEBIAN_SECRET_KEY -iv $DEBIAN_SECRET_IV -in admin/linux/debian/signing-key.txt.enc -d | gpg --import
|
||||
|
||||
openssl aes-256-cbc -K $DEBIAN_SECRET_KEY -iv $DEBIAN_SECRET_IV -in admin/linux/debian/oscrc.enc -out ~/.oscrc -d
|
||||
|
||||
touch ~/.has_ppa_keys
|
||||
fi
|
||||
set -x
|
||||
|
||||
cd "${DRONE_WORKSPACE}"
|
||||
git fetch --tags
|
||||
read basever revdate kind <<<$(admin/linux/debian/scripts/git2changelog.py /tmp/tmpchangelog stable)
|
||||
|
||||
cd "${DRONE_DIR}"
|
||||
|
||||
echo "$kind" > kind
|
||||
|
||||
if test "$kind" = "alpha"; then
|
||||
repo=nextcloud-devs/client-alpha
|
||||
elif test "$kind" = "beta"; then
|
||||
repo=nextcloud-devs/client-beta
|
||||
else
|
||||
repo=nextcloud-devs/client
|
||||
fi
|
||||
|
||||
origsourceopt=""
|
||||
|
||||
cp -a ${DRONE_WORKSPACE} nextcloud-desktop_${basever}-${revdate}
|
||||
tar cjf nextcloud-desktop_${basever}-${revdate}.orig.tar.bz2 --exclude .git --exclude binary nextcloud-desktop_${basever}-${revdate}
|
||||
|
||||
cd "${DRONE_WORKSPACE}"
|
||||
git config --global user.email "drone@noemail.invalid"
|
||||
git config --global user.name "Drone User"
|
||||
|
||||
for distribution in ${UBUNTU_DISTRIBUTIONS} ${DEBIAN_DISTRIBUTIONS}; do
|
||||
git checkout -- .
|
||||
git clean -xdf
|
||||
|
||||
git fetch origin debian/dist/${distribution}/${DRONE_TARGET_BRANCH}
|
||||
git checkout origin/debian/dist/${distribution}/${DRONE_TARGET_BRANCH}
|
||||
|
||||
git merge ${DRONE_COMMIT}
|
||||
|
||||
admin/linux/debian/scripts/git2changelog.py /tmp/tmpchangelog ${distribution} ${revdate} ${basever}
|
||||
cat /tmp/tmpchangelog debian/changelog > debian/changelog.new
|
||||
mv debian/changelog.new debian/changelog
|
||||
|
||||
fullver=`head -1 debian/changelog | sed "s:nextcloud-desktop (\([^)]*\)).*:\1:"`
|
||||
|
||||
EDITOR=true dpkg-source --commit . local-changes
|
||||
|
||||
dpkg-source --build .
|
||||
dpkg-genchanges -S -sa > "../nextcloud-desktop_${fullver}_source.changes"
|
||||
|
||||
if test -f ~/.has_ppa_keys; then
|
||||
debsign -k7D14AA7B -S
|
||||
fi
|
||||
done
|
||||
cd ..
|
||||
ls -al
|
||||
|
||||
if test "${pull_request}" = "master"; then
|
||||
if test "$kind" = "alpha"; then
|
||||
PPA=$PPA_ALPHA
|
||||
OBS_PROJECT=$OBS_PROJECT_ALPHA
|
||||
elif test "$kind" = "beta"; then
|
||||
PPA=$PPA_BETA
|
||||
OBS_PROJECT=$OBS_PROJECT_BETA
|
||||
fi
|
||||
|
||||
if test -f ~/.has_ppa_keys; then
|
||||
for distribution in ${UBUNTU_DISTRIBUTIONS}; do
|
||||
changes=$(ls -1 nextcloud-desktop_*~${distribution}1_source.changes)
|
||||
if test -f "${changes}"; then
|
||||
dput $PPA "${changes}" > /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
for distribution in ${DEBIAN_DISTRIBUTIONS}; do
|
||||
pkgsuffix=".${distribution}"
|
||||
pkgvertag="~${distribution}1"
|
||||
|
||||
package="${OBS_PACKAGE}${pkgsuffix}"
|
||||
OBS_SUBDIR="${OBS_PROJECT}/${package}"
|
||||
|
||||
mkdir -p osc
|
||||
pushd osc
|
||||
osc co ${OBS_PROJECT} ${package}
|
||||
if test "$(ls ${OBS_SUBDIR})"; then
|
||||
osc delete ${OBS_SUBDIR}/*
|
||||
fi
|
||||
|
||||
cp ../nextcloud-desktop*.orig.tar.* ${OBS_SUBDIR}/
|
||||
cp ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}.dsc ${OBS_SUBDIR}/
|
||||
cp ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}.debian.tar* ${OBS_SUBDIR}/
|
||||
cp ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}_source.changes ${OBS_SUBDIR}/
|
||||
osc add ${OBS_SUBDIR}/*
|
||||
|
||||
cd ${OBS_SUBDIR}
|
||||
osc commit -m "Travis update"
|
||||
popd
|
||||
done
|
||||
fi
|
||||
fi
|
||||
Binary file not shown.
@@ -1,12 +0,0 @@
|
||||
# Use the configuration below with appropriate changes,
|
||||
# if you want to support a new client version using
|
||||
# your own fork. In such a case the tags do not come
|
||||
# accross to the main repo for a pull request, so
|
||||
# some hacking is needed
|
||||
[versionhack]
|
||||
commit = bc7e65b39552ac458b2adacf76cbf98735ec29a0
|
||||
tag = v2.4.0-beta
|
||||
|
||||
[base]
|
||||
commit = 56222de768e3def4d504b3f9832d8598b1ec2043
|
||||
version = 2.7.0
|
||||
@@ -1,178 +0,0 @@
|
||||
#!//usr/bin/env python2.7
|
||||
|
||||
from __future__ import print_function
|
||||
import subprocess
|
||||
import re
|
||||
import sys
|
||||
import datetime
|
||||
import os
|
||||
import ConfigParser
|
||||
|
||||
try:
|
||||
long
|
||||
except NameError:
|
||||
long = int
|
||||
|
||||
distribution="yakkety"
|
||||
|
||||
versionTagRE = re.compile("^v([0-9]+((\.[0-9]+)+))(-(.+))?$")
|
||||
|
||||
def processVersionTag(tag):
|
||||
m = versionTagRE.match(tag)
|
||||
if m:
|
||||
return (m.group(1), "release" if m.group(4) is None else "beta")
|
||||
else:
|
||||
return None
|
||||
|
||||
def getCommitVersion(commit):
|
||||
major=None
|
||||
minor=None
|
||||
patch=None
|
||||
try:
|
||||
for line in subprocess.check_output(["git", "show",
|
||||
commit + ":VERSION.cmake"]).splitlines():
|
||||
m = re.match("set\( MIRALL_VERSION_([A-Z]+) +([0-9]+) *\)", line)
|
||||
if m is not None:
|
||||
kind=m.group(1)
|
||||
version=m.group(2)
|
||||
if kind=="MAJOR":
|
||||
major=version
|
||||
elif kind=="MINOR":
|
||||
minor=version
|
||||
elif kind=="PATCH":
|
||||
patch=version
|
||||
if major and minor and patch:
|
||||
return major + "." + minor + "." + patch
|
||||
else:
|
||||
return None
|
||||
except:
|
||||
return None
|
||||
|
||||
def collectEntries(baseCommit, baseVersion, kind, finalBaseVersion, finalRevDate, config):
|
||||
|
||||
newVersionCommit = None
|
||||
newVersionTag = None
|
||||
newVersionOrigTag = None
|
||||
|
||||
if config is not None and config.has_section("versionhack"):
|
||||
if config.has_option("versionhack", "commit") and \
|
||||
config.has_option("versionhack", "tag"):
|
||||
newVersionCommit = config.get("versionhack", "commit")
|
||||
newVersionTag = config.get("versionhack", "tag")
|
||||
|
||||
entries = []
|
||||
|
||||
args = ["git", "log",
|
||||
"--format=%h%x09%an%x09%ae%x09%aD%x09%ad%x09%s",
|
||||
"--date=unix", "--author-date-order", "--reverse"]
|
||||
try:
|
||||
output = subprocess.check_output(args + [baseCommit + ".."])
|
||||
except:
|
||||
output = subprocess.check_output(args)
|
||||
|
||||
|
||||
lastVersionTag = None
|
||||
lastCMAKEVersion = None
|
||||
for line in output.splitlines():
|
||||
words = line.split("\t")
|
||||
(commit, name, email, date, revdate) = words[0:5]
|
||||
subject = "\t".join(words[5:])
|
||||
|
||||
revdate = datetime.datetime.utcfromtimestamp(long(revdate)).strftime("%Y%m%d.%H%M%S")
|
||||
revdate += "." + commit
|
||||
|
||||
kind = "alpha"
|
||||
|
||||
if commit==newVersionCommit:
|
||||
result = processVersionTag(newVersionTag)
|
||||
if result:
|
||||
newVersionOrigTag = lastVersionTag
|
||||
(baseVersion, _kind) = result
|
||||
|
||||
version=getCommitVersion(commit)
|
||||
if version and version!=lastCMAKEVersion:
|
||||
tag = "v" + version
|
||||
if tag!=newVersionOrigTag:
|
||||
result = processVersionTag(tag)
|
||||
if result:
|
||||
lastVersionTag = tag
|
||||
lastCMAKEVersion = version
|
||||
(baseVersion, _kind) = result
|
||||
|
||||
for tag in subprocess.check_output(["git", "tag",
|
||||
"--points-at",
|
||||
commit]).splitlines():
|
||||
if tag!=newVersionOrigTag:
|
||||
result = processVersionTag(tag)
|
||||
if result:
|
||||
lastVersionTag = tag
|
||||
(baseVersion, kind) = result
|
||||
|
||||
|
||||
entries.append((commit, name, email, date, revdate, subject,
|
||||
baseVersion, kind))
|
||||
|
||||
if entries:
|
||||
(commit, name, email, date, revdate, subject, baseVersion, kind) = entries[-1]
|
||||
if finalRevDate is None:
|
||||
revdate = datetime.datetime.now().strftime("%Y%m%d.%H%M%S")+ "." + commit
|
||||
else:
|
||||
revdate = finalRevDate
|
||||
if finalBaseVersion is not None:
|
||||
baseVersion = finalBaseVersion
|
||||
entries[-1] = (commit, name, email, date, revdate, subject, baseVersion, kind)
|
||||
|
||||
entries.reverse()
|
||||
|
||||
return entries
|
||||
|
||||
def genChangeLogEntries(f, entries, distribution):
|
||||
latestBaseVersion = None
|
||||
latestRevDate = None
|
||||
latestKind = None
|
||||
for (commit, name, email, date, revdate, subject, baseVersion, kind) in entries:
|
||||
if latestBaseVersion is None:
|
||||
latestBaseVersion = baseVersion
|
||||
latestRevDate = revdate
|
||||
latestKind = kind
|
||||
upstreamVersion = baseVersion + "-" + revdate
|
||||
if distribution=="stable":
|
||||
version = upstreamVersion
|
||||
else:
|
||||
version = upstreamVersion + "-1.0~" + distribution + "1"
|
||||
print("nextcloud-desktop (%s) %s; urgency=medium" % (version, distribution), file=f)
|
||||
print(file=f)
|
||||
print(" * " + subject, file=f)
|
||||
print(file=f)
|
||||
print(" -- %s <%s> %s" % (name, email, date), file=f)
|
||||
print(file=f)
|
||||
return (latestBaseVersion, latestRevDate, latestKind)
|
||||
|
||||
if __name__ == "__main__":
|
||||
scriptdir = os.path.dirname(__file__)
|
||||
configPath = os.path.join(scriptdir, "git2changelog.cfg")
|
||||
|
||||
baseCommit = "f9b1c724d6ab5431e0cd56b7cd834f2dd48cebb1"
|
||||
baseVersion = "2.4.0"
|
||||
|
||||
config = None
|
||||
if os.path.exists(configPath):
|
||||
config = ConfigParser.SafeConfigParser()
|
||||
config.read(configPath)
|
||||
|
||||
if config.has_section("base"):
|
||||
if config.has_option("base", "commit") and \
|
||||
config.has_option("base", "version"):
|
||||
baseCommit = config.get("base", "commit")
|
||||
baseVersion = config.get("base", "version")
|
||||
|
||||
distribution = sys.argv[2]
|
||||
finalRevDate = sys.argv[3] if len(sys.argv)>3 else None
|
||||
finalBaseVersion = sys.argv[4] if len(sys.argv)>4 else None
|
||||
|
||||
entries = collectEntries(baseCommit, baseVersion, "alpha",
|
||||
finalBaseVersion, finalRevDate, config)
|
||||
|
||||
with open(sys.argv[1], "wt") as f:
|
||||
(baseVersion, revdate, kind) = genChangeLogEntries(f, entries, distribution)
|
||||
print(baseVersion, revdate, kind)
|
||||
Binary file not shown.
@@ -1,135 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
# Env
|
||||
export BUILD=${DRONE_BUILD_NUMBER}
|
||||
export PR=${DRONE_PULL_REQUEST}
|
||||
export GIT_USERNAME=${CI_UPLOAD_GIT_USERNAME}
|
||||
export GIT_TOKEN=${CI_UPLOAD_GIT_TOKEN}
|
||||
|
||||
# Defaults
|
||||
export GIT_REPO=ci-builds
|
||||
export API_BASE_URL=https://api.github.com/repos/$GIT_USERNAME/$GIT_REPO
|
||||
export DESKTOP_API_BASE_URL=https://api.github.com/repos/nextcloud/desktop
|
||||
|
||||
# PR / master
|
||||
export TAG_NAME=${PR:=master}
|
||||
export RELEASE_BODY=https://github.com/nextcloud/desktop
|
||||
|
||||
if [ $TAG_NAME != "master" ]; then
|
||||
TAG_NAME="PR-$TAG_NAME"
|
||||
RELEASE_BODY="nextcloud/desktop#$PR"
|
||||
fi
|
||||
|
||||
cd /build
|
||||
|
||||
# AppImage
|
||||
export APPIMAGE=$(readlink -f ./Nextcloud*.AppImage)
|
||||
export BASENAME=$(basename ${APPIMAGE})
|
||||
|
||||
if ! test -e $APPIMAGE ; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Found AppImage: $BASENAME"
|
||||
|
||||
if [ $TAG_NAME != "master" ]; then
|
||||
# Delete all old comments in desktop PR, starting with "AppImage file:"
|
||||
oldComments=$(curl 2>/dev/null -u $GIT_USERNAME:$GIT_TOKEN -X GET $DESKTOP_API_BASE_URL/issues/$PR/comments | jq '.[] | (.id |tostring) + "|" + (.user.login | test("'${GIT_USERNAME}'") | tostring) + "|" + (.body | test("AppImage file:.*") | tostring)' | grep "true|true" | tr -d "\"" | cut -f1 -d"|")
|
||||
|
||||
if [[ "$oldComments" != "" ]]; then
|
||||
echo $oldComments | while read comment ; do
|
||||
curl 2>/dev/null -u $GIT_USERNAME:$GIT_TOKEN -X DELETE $DESKTOP_API_BASE_URL/issues/comments/$comment
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
# Helper functions
|
||||
urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
|
||||
|
||||
create_release()
|
||||
{
|
||||
name=$TAG_NAME
|
||||
body=$RELEASE_BODY
|
||||
tagName=$TAG_NAME
|
||||
echo $(curl 2>/dev/null -u $GIT_USERNAME:$GIT_TOKEN -X POST $API_BASE_URL/releases -d "{ \"tag_name\": \"$tagName\", \"target_commitish\": \"master\", \"name\": \"$name\", \"body\": \"$body\", \"draft\": false, \"prerelease\": true }")
|
||||
}
|
||||
|
||||
get_release()
|
||||
{
|
||||
tagName=$TAG_NAME
|
||||
echo $(curl 2>/dev/null -u $GIT_USERNAME:$GIT_TOKEN -X GET $API_BASE_URL/releases/tags/$tagName)
|
||||
}
|
||||
|
||||
get_release_assets()
|
||||
{
|
||||
releaseId=$1
|
||||
echo $(curl 2>/dev/null -u $GIT_USERNAME:$GIT_TOKEN -X GET $API_BASE_URL/releases/$releaseId/assets)
|
||||
}
|
||||
|
||||
upload_release_asset()
|
||||
{
|
||||
uploadUrl=$1
|
||||
echo $(curl --max-time 900 -u $GIT_USERNAME:$GIT_TOKEN -X POST $uploadUrl --header "Content-Type: application/octet-stream" --upload-file $APPIMAGE)
|
||||
}
|
||||
|
||||
delete_release_asset()
|
||||
{
|
||||
assetId=$1
|
||||
curl 2>/dev/null -u $GIT_USERNAME:$GIT_TOKEN -X DELETE $API_BASE_URL/releases/assets/$assetId
|
||||
}
|
||||
|
||||
# Try to get an already existing release
|
||||
json=$(get_release)
|
||||
|
||||
releaseId=$(echo $json | jq -r '.id')
|
||||
uploadUrl=$(echo $json | jq -r '.upload_url')
|
||||
|
||||
if [[ "$uploadUrl" == "null" ]]; then
|
||||
# Try to create a release
|
||||
json=$(create_release)
|
||||
|
||||
releaseId=$(echo $json | jq -r '.id')
|
||||
uploadUrl=$(echo $json | jq -r '.upload_url')
|
||||
|
||||
if [[ "$uploadUrl" == "null" ]]; then
|
||||
echo "create_release failed: $json"
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
# Prepare upload url
|
||||
uploadUrl=$(echo "${uploadUrl/'{?name,label}'/?name=$BASENAME}")
|
||||
|
||||
# Try to delete existing AppImage assets for this PR
|
||||
assets=$(get_release_assets $releaseId)
|
||||
|
||||
for data in $(echo $assets | jq -r '.[] | @uri'); do
|
||||
json=$(urldecode "$data")
|
||||
|
||||
assetId=$(echo $json | jq -r '.id')
|
||||
name=$(echo $json | jq -r '.name')
|
||||
|
||||
if [[ "$name" == *.AppImage ]]; then
|
||||
echo "Deleting old asset: $name"
|
||||
$(delete_release_asset $assetId)
|
||||
fi
|
||||
done
|
||||
|
||||
# Upload release asset
|
||||
echo "Uploading new asset: $BASENAME"
|
||||
|
||||
json=$(upload_release_asset "$uploadUrl")
|
||||
browserDownloadUrl=$(echo $json | jq -r '.browser_download_url')
|
||||
|
||||
if [[ "$browserDownloadUrl" == "null" ]]; then
|
||||
echo "upload_release_asset failed: $json"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
if [ $TAG_NAME != "master" ]; then
|
||||
# Create comment in desktop PR
|
||||
curl 2>/dev/null -u $GIT_USERNAME:$GIT_TOKEN -X POST $DESKTOP_API_BASE_URL/issues/$PR/comments -d "{ \"body\" : \"AppImage file: [$BASENAME]($browserDownloadUrl) <br/><br/>To test this change/fix you can simply download above AppImage file and test it. <br/><br/>Please make sure to quit your existing Nextcloud app and backup your data. \" }"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "AppImage link: $browserDownloadUrl"
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
# Check if varialbe MAC_INSTALLER_BACKGROUND_FILE is defined. That might come
|
||||
# from the OEM.cmake for branded clients or from NEXTCLOUD.cmake for the non
|
||||
# from the OEM.cmake for branded clients or from OWNCLOUD.cmake for the non
|
||||
# branded client.
|
||||
# Make sure that the MAC_INSTALLER_BACKGROUND_FILE contains the full path, ie.
|
||||
# includes CMAKE_SOURCE_DIR or so.
|
||||
@@ -11,9 +11,7 @@ else()
|
||||
set(MAC_INSTALLER_DO_CUSTOM_BACKGROUND "0")
|
||||
endif()
|
||||
|
||||
find_package(Qt5 5.12 COMPONENTS Core REQUIRED)
|
||||
configure_file(create_mac.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/create_mac.sh)
|
||||
configure_file(macosx.pkgproj.cmake ${CMAKE_CURRENT_BINARY_DIR}/macosx.pkgproj)
|
||||
configure_file(create_mac_pkg.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/create_mac.sh)
|
||||
configure_file(macosx.pkgproj ${CMAKE_CURRENT_BINARY_DIR}/macosx.pkgproj)
|
||||
configure_file(pre_install.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/pre_install.sh)
|
||||
configure_file(post_install.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/post_install.sh)
|
||||
configure_file(QtWebEngineProcess.entitlements ${CMAKE_CURRENT_BINARY_DIR}/QtWebEngineProcess.entitlements)
|
||||
|
||||
@@ -23,7 +23,7 @@ identity="$3"
|
||||
prjfile=$build_path/admin/osx/macosx.pkgproj
|
||||
|
||||
# The name of the installer package
|
||||
installer="@APPLICATION_SHORTNAME@-qt@Qt5Core_VERSION@-@MIRALL_VERSION_FULL@@MIRALL_VERSION_SUFFIX@"
|
||||
installer="@APPLICATION_SHORTNAME@-@MIRALL_VERSION_FULL@@MIRALL_VERSION_SUFFIX@"
|
||||
installer_file="$installer.pkg"
|
||||
installer_file_tar="$installer.pkg.tar"
|
||||
installer_file_tar_bz2="$installer.pkg.tar.bz2"
|
||||
@@ -49,7 +49,7 @@ fi
|
||||
if [ ! -z "$identity" ]; then
|
||||
echo "Will try to sign the installer"
|
||||
pushd $install_path
|
||||
productsign --timestamp --sign "$identity" "$installer_file" "$installer_file.new"
|
||||
productsign --sign "$identity" "$installer_file" "$installer_file.new"
|
||||
mv "$installer_file".new "$installer_file"
|
||||
popd
|
||||
else
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 6.2 KiB |
@@ -1,2 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="200" width="320" enable-background="new 0 0 595.275 311.111" y="0px" x="0px" viewBox="0 0 35 0"><path style="color-rendering:auto;text-decoration-color:#000000;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;block-progression:tb;text-decoration-line:none;image-rendering:auto;white-space:normal;text-indent:0;enable-background:accumulate;text-transform:none;text-decoration-style:solid" d="m100.3 47.902c-41.68 0.003-76.667 28.536-87.36 66.923-9.3312-20.531-29.874-35.082-53.741-35.083-32.488 0.003-59.2 26.715-59.203 59.203-0.0058 32.494 26.709 59.213 59.203 59.216 23.869-0.003 44.397-14.562 53.728-35.096 10.691 38.4 45.696 66.94 87.372 66.94 41.446 0.003 76.269-28.226 87.178-66.288 9.4834 20.154 29.709 34.446 53.302 34.45 32.501 0.006 59.221-26.715 59.216-59.216-0.003-32.494-26.722-59.21-59.216-59.203-23.594 0.003-43.832 14.293-53.314 34.45-10.896-38.064-45.712-66.293-87.152-66.29zm0 34.754c31.298-0.002 56.298 24.992 56.301 56.29 0.002 31.301-25 56.304-56.301 56.301-31.296-0.002-56.291-25.003-56.288-56.301 0.003-31.294 24.992-56.286 56.288-56.29zm-141.1 31.84c13.71 0.002 24.448 10.74 24.45 24.45 0.0024 13.713-10.736 24.461-24.45 24.462-13.713-0.002-24.453-10.749-24.45-24.462 0.0016-13.71 10.74-24.448 24.45-24.45zm281.58 0c13.713-0.002 24.461 10.736 24.462 24.45 0.003 13.716-10.745 24.464-24.462 24.462-13.713-0.002-24.453-10.749-24.45-24.462 0.002-13.71 10.74-24.448 24.45-24.45z" fill="#fff"/></svg>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
enable-background="new 0 0 595.275 311.111"
|
||||
xml:space="preserve"
|
||||
height="200"
|
||||
width="320"
|
||||
version="1.1"
|
||||
y="0px"
|
||||
x="0px"
|
||||
viewBox="0 0 35 0"
|
||||
id="svg2"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="installer-background.svg"><metadata
|
||||
id="metadata12"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs10" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1002"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.734375"
|
||||
inkscape:cx="-49.141255"
|
||||
inkscape:cy="236.17459"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="34"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" /><path
|
||||
style="text-indent:0;text-transform:none;block-progression:tb;color:#000000;fill:#ffffff;fill-opacity:1;enable-background:accumulate"
|
||||
d="m 75.63384,28.421489 c -29.36582,0 -53.09172,23.724901 -53.09172,53.091701 0,12.1047 4.03087,23.2455 10.82647,32.1667 14.74225,-17.0631 36.50138,-27.8988 60.79508,-27.8988 11.88546,0 23.15644,2.6467 33.31219,7.2871 0.82221,-3.7185 1.24924,-7.5856 1.24924,-11.555 0,-29.3658 -23.72491,-53.091701 -53.09172,-53.091701 z M 6.30358,52.98809 c -15.29297,0 -27.58645,12.3977 -27.58645,27.6906 0,4.9515 1.27738,9.6301 3.53933,13.6373 9.22826,-5.206 19.89756,-8.2239 31.23002,-8.2239 1.09366,0 2.14708,0.039 3.22713,0.1052 -0.12231,-1.5502 -0.20806,-3.103 -0.20806,-4.6844 0,-8.5178 1.85002,-16.6223 5.10106,-23.9429 -4.37708,-2.9351 -9.62115,-4.5803 -15.30284,-4.5803 z m 130.95716,19.0502 c -1.12983,0 -2.21885,0.1381 -3.33122,0.2078 0.48121,3.0338 0.83274,6.097 0.83274,9.2651 0,4.9298 -0.62692,9.6869 -1.7697,14.2616 13.39754,7.4144 24.52385,18.5084 31.8547,31.9586 7.60342,-3.9586 16.08566,-6.4754 25.08804,-7.0787 -2.32015,-27.2093 -24.86184,-48.6137 -52.67416,-48.6137 z m -43.09675,19.7789 c -41.09117,0 -74.32775,33.2333 -74.32775,74.3278 0,41.0911 33.23329,74.3277 74.32775,74.3277 41.09447,0 74.32775,-33.2366 74.32775,-74.3277 0,-41.0945 -33.23657,-74.3278 -74.32775,-74.3278 z m -80.67652,0.3117 c -31.87937,0 -57.67166,25.792 -57.67166,57.6717 0,18.7668 8.94156,35.3802 22.79774,45.9078 5.84147,-11.2667 17.57406,-18.9461 31.1258,-18.9461 1.63789,0 3.21,0.1986 4.78871,0.4169 -0.49554,-3.6054 -0.72871,-7.2937 -0.72871,-11.0346 0,-17.8847 5.82174,-34.4234 15.71907,-47.7819 -5.92466,-7.4133 -10.1643,-16.321 -11.97162,-26.025 -1.33935,-0.092 -2.69673,-0.2078 -4.05979,-0.2078 z m 180.71831,34.3544 c -9.68,0 -18.74781,2.4714 -26.75364,6.6625 4.54607,10.0696 7.07867,21.2422 7.07867,32.9998 0,22.0146 -8.85114,42.0052 -23.21431,56.5275 10.5516,11.7145 25.861,19.0503 42.88961,19.0503 31.87937,0 57.67165,-25.7916 57.67165,-57.6717 0,-31.8793 -25.79195,-57.5664 -57.67165,-57.5664 z m -244.00885,7.5998 c -29.3701,0 -53.19693,23.6164 -53.19693,52.9832 0,29.3669 23.82815,53.1937 53.19364,53.1937 11.17727,0 21.53161,-3.4825 30.08487,-9.369 -3.5344,-5.492 -5.62151,-12.0581 -5.62151,-19.0503 0,-3.6291 0.53552,-7.1158 1.56148,-10.4099 -16.01267,-11.5721 -26.44131,-30.4034 -26.44131,-51.6319 0,-5.394 0.71083,-10.6098 1.97792,-15.6152 -0.52591,-0.013 -1.03171,-0.1052 -1.56152,-0.1052 z m 312.19495,45.5955 c -1.56661,0 -3.08252,0.1789 -4.58026,0.4169 0.0829,1.3242 0.1039,2.6108 0.1039,3.9559 0,16.9326 -6.68118,32.3015 -17.4889,43.7214 5.31706,6.1831 13.12695,10.0976 21.96526,10.0976 16.09849,0 29.14785,-12.9451 29.14785,-29.0439 0,-16.0985 -13.04936,-29.1479 -29.14785,-29.1479 z m -252.64924,3.1229 c -16.09783,0 -29.04395,12.9461 -29.04395,29.044 0,16.0978 12.94612,29.1478 29.04395,29.1478 12.33919,0 22.81287,-7.6994 27.06599,-18.5298 -10.378,-10.57 -17.83675,-24.0544 -21.13213,-39.0363 -1.92854,-0.3985 -3.88588,-0.6247 -5.93386,-0.6247 z"
|
||||
id="path6"
|
||||
inkscape:connector-curvature="0" /></svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 4.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 13 KiB |
349
admin/osx/macdeployqt.py
Executable file
349
admin/osx/macdeployqt.py
Executable file
@@ -0,0 +1,349 @@
|
||||
#!/usr/bin/python
|
||||
# This file is part of ownCloud.
|
||||
# It was inspired in large part by the macdeploy script in Clementine
|
||||
# and Tomahawk
|
||||
#
|
||||
# ownCloud 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; version 2 of the License.
|
||||
#
|
||||
# ownCLoud 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 ownCloud. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import commands
|
||||
import sys
|
||||
from glob import glob
|
||||
|
||||
def QueryQMake(attrib):
|
||||
return subprocess.check_output([qmake_path, '-query', attrib]).rstrip('\n')
|
||||
|
||||
FRAMEWORK_SEARCH_PATH=[
|
||||
'/Library/Frameworks',
|
||||
os.path.join(os.environ['HOME'], 'Library/Frameworks')
|
||||
]
|
||||
|
||||
LIBRARY_SEARCH_PATH=['/usr/local/lib', '.']
|
||||
|
||||
QT_PLUGINS = [
|
||||
'sqldrivers/libqsqlite.dylib',
|
||||
'platforms/libqcocoa.dylib',
|
||||
'imageformats/libqgif.dylib',
|
||||
'imageformats/libqico.dylib',
|
||||
'imageformats/libqjpeg.dylib',
|
||||
'imageformats/libqsvg.dylib',
|
||||
'imageformats/libqmng.dylib',
|
||||
]
|
||||
|
||||
QT_PLUGINS_SEARCH_PATH=[
|
||||
# os.path.join(os.environ['QTDIR'], 'plugins'),
|
||||
'/usr/local/Cellar/qt/5.2.1/plugins',
|
||||
]
|
||||
|
||||
|
||||
class Error(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class CouldNotFindQtPluginErrorFindFrameworkError(Error):
|
||||
pass
|
||||
|
||||
|
||||
class InstallNameToolError(Error):
|
||||
pass
|
||||
|
||||
|
||||
class CouldNotFindQtPluginError(Error):
|
||||
pass
|
||||
|
||||
|
||||
class CouldNotFindScriptPluginError(Error):
|
||||
pass
|
||||
|
||||
class CouldNotFindFrameworkError(Error):
|
||||
pass
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
print 'Usage: %s <bundle.app> <path-to-qmake>' % sys.argv[0]
|
||||
exit()
|
||||
|
||||
def is_exe(fpath):
|
||||
return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
|
||||
|
||||
bundle_dir = sys.argv[1]
|
||||
qmake_path = sys.argv[2]
|
||||
|
||||
bundle_name = os.path.basename(bundle_dir).split('.')[0]
|
||||
|
||||
commands = []
|
||||
|
||||
binary_dir = os.path.join(bundle_dir, 'Contents', 'MacOS')
|
||||
frameworks_dir = os.path.join(bundle_dir, 'Contents', 'Frameworks')
|
||||
commands.append(['mkdir', '-p', frameworks_dir])
|
||||
resources_dir = os.path.join(bundle_dir, 'Contents', 'Resources')
|
||||
commands.append(['mkdir', '-p', resources_dir])
|
||||
plugins_dir = os.path.join(bundle_dir, 'Contents', 'PlugIns')
|
||||
binaries = [i for i in glob(os.path.join(bundle_dir, 'Contents', 'MacOS', "*")) if is_exe(i)];
|
||||
|
||||
|
||||
fixed_libraries = []
|
||||
fixed_frameworks = []
|
||||
|
||||
def WriteQtConf():
|
||||
print "Writing qt.conf..."
|
||||
with open(os.path.join(resources_dir, 'qt.conf'), 'w') as f:
|
||||
f.write("[Paths]\nPlugins = PlugIns\n");
|
||||
f.close()
|
||||
|
||||
def GetBrokenLibraries(binary):
|
||||
#print "Checking libs for binary: %s" % binary
|
||||
output = subprocess.Popen(['otool', '-L', binary], stdout=subprocess.PIPE).communicate()[0]
|
||||
broken_libs = {
|
||||
'frameworks': [],
|
||||
'libs': []}
|
||||
for line in [x.split(' ')[0].lstrip() for x in output.split('\n')[1:]]:
|
||||
#print "Checking line: %s" % line
|
||||
if not line: # skip empty lines
|
||||
continue
|
||||
if os.path.basename(binary) == os.path.basename(line):
|
||||
#print "mnope %s-%s" % (os.path.basename(binary), os.path.basename(line))
|
||||
continue
|
||||
if re.match(r'^\s*/System/', line):
|
||||
continue # System framework
|
||||
elif re.match(r'^\s*/usr/lib/', line):
|
||||
#print "unix style system lib"
|
||||
continue # unix style system library
|
||||
elif re.match(r'Breakpad', line):
|
||||
continue # Manually added by cmake.
|
||||
elif re.match(r'^\s*@executable_path', line) or re.match(r'^\s*@loader_path', line):
|
||||
# Potentially already fixed library
|
||||
if '.framework' in line:
|
||||
relative_path = os.path.join(*line.split('/')[3:])
|
||||
if not os.path.exists(os.path.join(frameworks_dir, relative_path)):
|
||||
broken_libs['frameworks'].append(relative_path)
|
||||
else:
|
||||
relative_path = os.path.join(*line.split('/')[1:])
|
||||
#print "RELPATH %s %s" % (relative_path, os.path.join(binary_dir, relative_path))
|
||||
if not os.path.exists(os.path.join(binary_dir, relative_path)):
|
||||
broken_libs['libs'].append(relative_path)
|
||||
elif re.search(r'\w+\.framework', line):
|
||||
broken_libs['frameworks'].append(line)
|
||||
else:
|
||||
broken_libs['libs'].append(line)
|
||||
|
||||
return broken_libs
|
||||
|
||||
def FindFramework(path):
|
||||
search_pathes = FRAMEWORK_SEARCH_PATH
|
||||
search_pathes.insert(0, QueryQMake('QT_INSTALL_LIBS'))
|
||||
for search_path in search_pathes:
|
||||
# The following two lines are needed for a custom built Qt from version 5.5 on, possibly not for the one from the Qt SDK.
|
||||
# Looks like the upstream macdeployqt also had an issue there https://bugreports.qt.io/browse/QTBUG-47868
|
||||
if path.find( "\@rpath/"):
|
||||
path = path.replace("@rpath/", "")
|
||||
abs_path = os.path.join(search_path, path)
|
||||
if os.path.exists(abs_path):
|
||||
return abs_path
|
||||
|
||||
raise CouldNotFindFrameworkError(path)
|
||||
|
||||
def FindLibrary(path):
|
||||
if os.path.exists(path):
|
||||
return path
|
||||
search_pathes = LIBRARY_SEARCH_PATH
|
||||
search_pathes.insert(0, QueryQMake('QT_INSTALL_LIBS'))
|
||||
for search_path in search_pathes:
|
||||
abs_path = os.path.join(search_path, path)
|
||||
if os.path.exists(abs_path):
|
||||
return abs_path
|
||||
else: # try harder---look for lib name in library folders
|
||||
newpath = os.path.join(search_path,os.path.basename(path))
|
||||
if os.path.exists(newpath):
|
||||
return newpath
|
||||
|
||||
return ""
|
||||
#raise CouldNotFindFrameworkError(path)
|
||||
|
||||
def FixAllLibraries(broken_libs):
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFramework(framework)
|
||||
for lib in broken_libs['libs']:
|
||||
FixLibrary(lib)
|
||||
|
||||
def FixFramework(path):
|
||||
if path in fixed_libraries:
|
||||
return
|
||||
else:
|
||||
fixed_libraries.append(path)
|
||||
abs_path = FindFramework(path)
|
||||
broken_libs = GetBrokenLibraries(abs_path)
|
||||
FixAllLibraries(broken_libs)
|
||||
|
||||
new_path = CopyFramework(abs_path)
|
||||
id = os.sep.join(new_path.split(os.sep)[3:])
|
||||
FixFrameworkId(new_path, id)
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFrameworkInstallPath(framework, new_path)
|
||||
for library in broken_libs['libs']:
|
||||
FixLibraryInstallPath(library, new_path)
|
||||
|
||||
def FixLibrary(path):
|
||||
if path in fixed_libraries or FindSystemLibrary(os.path.basename(path)) is not None:
|
||||
return
|
||||
else:
|
||||
fixed_libraries.append(path)
|
||||
abs_path = FindLibrary(path)
|
||||
if abs_path == "":
|
||||
print "Could not resolve %s, not fixing!" % path
|
||||
return
|
||||
broken_libs = GetBrokenLibraries(abs_path)
|
||||
FixAllLibraries(broken_libs)
|
||||
|
||||
new_path = CopyLibrary(abs_path)
|
||||
FixLibraryId(new_path)
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFrameworkInstallPath(framework, new_path)
|
||||
for library in broken_libs['libs']:
|
||||
FixLibraryInstallPath(library, new_path)
|
||||
|
||||
def FixPlugin(abs_path, subdir):
|
||||
broken_libs = GetBrokenLibraries(abs_path)
|
||||
FixAllLibraries(broken_libs)
|
||||
|
||||
new_path = CopyPlugin(abs_path, subdir)
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFrameworkInstallPath(framework, new_path)
|
||||
for library in broken_libs['libs']:
|
||||
FixLibraryInstallPath(library, new_path)
|
||||
|
||||
def FixBinary(path):
|
||||
broken_libs = GetBrokenLibraries(path)
|
||||
FixAllLibraries(broken_libs)
|
||||
for framework in broken_libs['frameworks']:
|
||||
FixFrameworkInstallPath(framework, path)
|
||||
for library in broken_libs['libs']:
|
||||
FixLibraryInstallPath(library, path)
|
||||
|
||||
def CopyLibrary(path):
|
||||
new_path = os.path.join(binary_dir, os.path.basename(path))
|
||||
args = ['ditto', '--arch=x86_64', path, new_path]
|
||||
commands.append(args)
|
||||
args = ['chmod', 'u+w', new_path]
|
||||
commands.append(args)
|
||||
return new_path
|
||||
|
||||
def CopyPlugin(path, subdir):
|
||||
new_path = os.path.join(plugins_dir, subdir, os.path.basename(path))
|
||||
args = ['mkdir', '-p', os.path.dirname(new_path)]
|
||||
commands.append(args)
|
||||
args = ['ditto', '--arch=x86_64', path, new_path]
|
||||
commands.append(args)
|
||||
args = ['chmod', 'u+w', new_path]
|
||||
commands.append(args)
|
||||
return new_path
|
||||
|
||||
def CopyFramework(source_dylib):
|
||||
parts = source_dylib.split(os.sep)
|
||||
print "CopyFramework:", source_dylib
|
||||
for i, part in enumerate(parts):
|
||||
matchObj = re.match(r'(\w+\.framework)', part)
|
||||
if matchObj:
|
||||
framework = matchObj.group(1)
|
||||
dylib_name = parts[-1]
|
||||
source_path = os.path.join('/', *parts[:i+1])
|
||||
dest_path = os.path.join(frameworks_dir, framework)
|
||||
dest_dylib_path = os.path.join(frameworks_dir, *parts[i:-1])
|
||||
break
|
||||
if os.path.exists(dest_path):
|
||||
print dest_path, "already exists, skipping copy..."
|
||||
return os.path.join(dest_dylib_path, dylib_name)
|
||||
|
||||
args = ['mkdir', '-p', dest_dylib_path]
|
||||
commands.append(args)
|
||||
args = ['ditto', '--arch=x86_64', source_dylib, dest_dylib_path]
|
||||
commands.append(args)
|
||||
args = ['chmod', 'u+w', os.path.join(dest_dylib_path, parts[-1])]
|
||||
commands.append(args)
|
||||
args = ['ln', '-s', '5', os.path.join(dest_path, 'Versions', 'Current')]
|
||||
commands.append(args)
|
||||
args = ['ln', '-s', os.path.join('Versions', 'Current', dylib_name), os.path.join(dest_path, dylib_name)]
|
||||
commands.append(args)
|
||||
args = ['ln', '-s', os.path.join('Versions', 'Current', 'Resources'), os.path.join(dest_path, 'Resources')]
|
||||
commands.append(args)
|
||||
args = ['cp', '-r', os.path.join(source_path, 'Versions', '5', 'Resources'), os.path.join(dest_path, 'Versions', '5')]
|
||||
commands.append(args)
|
||||
|
||||
return os.path.join(dest_dylib_path, dylib_name)
|
||||
|
||||
def FixId(path, library_name):
|
||||
id = '@executable_path/../Frameworks/%s' % library_name
|
||||
args = ['install_name_tool', '-id', id, path]
|
||||
commands.append(args)
|
||||
|
||||
def FixLibraryId(path):
|
||||
library_name = os.path.basename(path)
|
||||
FixId(path, library_name)
|
||||
|
||||
def FixFrameworkId(path, id):
|
||||
FixId(path, id)
|
||||
|
||||
def FixInstallPath(library_path, library, new_path):
|
||||
args = ['install_name_tool', '-change', library_path, new_path, library]
|
||||
commands.append(args)
|
||||
|
||||
def FindSystemLibrary(library_name):
|
||||
for path in ['/lib', '/usr/lib']:
|
||||
full_path = os.path.join(path, library_name)
|
||||
if os.path.exists(full_path):
|
||||
return full_path
|
||||
return None
|
||||
|
||||
def FixLibraryInstallPath(library_path, library):
|
||||
system_library = FindSystemLibrary(os.path.basename(library_path))
|
||||
if system_library is None:
|
||||
new_path = '@executable_path/../MacOS/%s' % os.path.basename(library_path)
|
||||
FixInstallPath(library_path, library, new_path)
|
||||
else:
|
||||
FixInstallPath(library_path, library, system_library)
|
||||
|
||||
def FixFrameworkInstallPath(library_path, library):
|
||||
parts = library_path.split(os.sep)
|
||||
for i, part in enumerate(parts):
|
||||
if re.match(r'\w+\.framework', part):
|
||||
full_path = os.path.join(*parts[i:])
|
||||
break
|
||||
new_path = '@executable_path/../Frameworks/%s' % full_path
|
||||
FixInstallPath(library_path, library, new_path)
|
||||
|
||||
def FindQtPlugin(name):
|
||||
search_path = QT_PLUGINS_SEARCH_PATH
|
||||
search_path.insert(0, QueryQMake('QT_INSTALL_PLUGINS'))
|
||||
for path in search_path:
|
||||
if os.path.exists(path):
|
||||
if os.path.exists(os.path.join(path, name)):
|
||||
return os.path.join(path, name)
|
||||
raise CouldNotFindQtPluginError(name)
|
||||
|
||||
for binary in binaries:
|
||||
FixBinary(binary)
|
||||
|
||||
for plugin in QT_PLUGINS:
|
||||
FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin))
|
||||
|
||||
if len(sys.argv) <= 2:
|
||||
print 'Will run %d commands:' % len(commands)
|
||||
for command in commands:
|
||||
print ' '.join(command)
|
||||
|
||||
for command in commands:
|
||||
p = subprocess.Popen(command)
|
||||
os.waitpid(p.pid, 0)
|
||||
|
||||
WriteQtConf()
|
||||
@@ -506,6 +506,536 @@
|
||||
<key>UUID</key>
|
||||
<string>7D7219B7-1897-48C3-8533-842BDEC46F71</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>PACKAGE_FILES</key>
|
||||
<dict>
|
||||
<key>DEFAULT_INSTALL_LOCATION</key>
|
||||
<string>/</string>
|
||||
<key>HIERARCHY</key>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>80</integer>
|
||||
<key>PATH</key>
|
||||
<string>Utilities</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>80</integer>
|
||||
<key>PATH</key>
|
||||
<string>Applications</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>509</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>80</integer>
|
||||
<key>PATH</key>
|
||||
<string>Application Support</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Documentation</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Filesystems</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Frameworks</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Input Methods</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Internet Plug-Ins</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>LaunchAgents</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>LaunchDaemons</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>PreferencePanes</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Preferences</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>80</integer>
|
||||
<key>PATH</key>
|
||||
<string>Printers</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>PrivilegedHelperTools</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>QuickLook</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>QuickTime</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Screen Savers</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Library/ScriptingAdditions/SyncStateFinder.osax/Contents</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>3</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>3</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>SyncStateFinder.osax</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>2</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>ScriptingAdditions</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>2</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Scripts</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Services</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Widgets</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Library</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Extensions</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Library</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>System</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CHILDREN</key>
|
||||
<array/>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>Shared</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>1023</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>80</integer>
|
||||
<key>PATH</key>
|
||||
<string>Users</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</array>
|
||||
<key>GID</key>
|
||||
<integer>0</integer>
|
||||
<key>PATH</key>
|
||||
<string>/</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>PERMISSIONS</key>
|
||||
<integer>493</integer>
|
||||
<key>TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>UID</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<key>PAYLOAD_TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>VERSION</key>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
<key>PACKAGE_SCRIPTS</key>
|
||||
<dict>
|
||||
<key>POSTINSTALL_PATH</key>
|
||||
<dict/>
|
||||
<key>PREINSTALL_PATH</key>
|
||||
<dict/>
|
||||
<key>RESOURCES</key>
|
||||
<array/>
|
||||
</dict>
|
||||
<key>PACKAGE_SETTINGS</key>
|
||||
<dict>
|
||||
<key>AUTHENTICATION</key>
|
||||
<integer>1</integer>
|
||||
<key>CONCLUSION_ACTION</key>
|
||||
<integer>0</integer>
|
||||
<key>IDENTIFIER</key>
|
||||
<string>com.ownCloud.finderPlugin</string>
|
||||
<key>LOCATION</key>
|
||||
<integer>0</integer>
|
||||
<key>NAME</key>
|
||||
<string>Legacy Finder Plugin (OS X 10.9 or older)</string>
|
||||
<key>OVERWRITE_PERMISSIONS</key>
|
||||
<false/>
|
||||
<key>VERSION</key>
|
||||
<string>@MIRALL_VERSION_FULL@</string>
|
||||
</dict>
|
||||
<key>TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>UUID</key>
|
||||
<string>39F61FCD-6EAA-4F3A-81C6-25E3F667DFB5</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>PROJECT</key>
|
||||
<dict>
|
||||
@@ -573,15 +1103,56 @@
|
||||
<key>UUID</key>
|
||||
<string>9647ADC0-BD53-4D7D-A561-73D383AACDE1</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>DESCRIPTION</key>
|
||||
<array/>
|
||||
<key>OPTIONS</key>
|
||||
<dict>
|
||||
<key>HIDDEN</key>
|
||||
<false/>
|
||||
<key>STATE</key>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
<key>PACKAGE_UUID</key>
|
||||
<string>39F61FCD-6EAA-4F3A-81C6-25E3F667DFB5</string>
|
||||
<key>REQUIREMENTS</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BEHAVIOR</key>
|
||||
<integer>1</integer>
|
||||
<key>DICTIONARY</key>
|
||||
<dict>
|
||||
<key>IC_REQUIREMENT_JAVASCRIPT_FUNCTION</key>
|
||||
<string>olderOsx</string>
|
||||
<key>IC_REQUIREMENT_JAVASCRIPT_PARAMETERS</key>
|
||||
<array/>
|
||||
</dict>
|
||||
<key>IDENTIFIER</key>
|
||||
<string>fr.whitebox.Packages.requirement.javascript</string>
|
||||
<key>MESSAGE</key>
|
||||
<array/>
|
||||
<key>NAME</key>
|
||||
<string>JavaScript</string>
|
||||
<key>STATE</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</array>
|
||||
<key>TITLE</key>
|
||||
<array/>
|
||||
<key>TOOLTIP</key>
|
||||
<array/>
|
||||
<key>TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>UUID</key>
|
||||
<string>1D2C47E0-5FD3-4623-B934-1347C66782D0</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>REMOVED</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>INSTALLATION TYPE</key>
|
||||
<integer>1</integer>
|
||||
<key>MODE</key>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<key>INSTALLATION_STEPS</key>
|
||||
<array>
|
||||
@@ -701,7 +1272,7 @@
|
||||
<key>BUILD_PATH</key>
|
||||
<dict>
|
||||
<key>PATH</key>
|
||||
<string>@CMAKE_INSTALL_PREFIX@/.</string>
|
||||
<string>../install/.</string>
|
||||
<key>PATH_TYPE</key>
|
||||
<integer>3</integer>
|
||||
</dict>
|
||||
@@ -879,6 +1450,18 @@
|
||||
<string>@CMAKE_INSTALL_DIR@</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SHARED_GLOBAL_DATA</key>
|
||||
<dict>
|
||||
<key>IC_REQUIREMENT_JAVASCRIPT_SHARED_SOURCE_CODE</key>
|
||||
<string>
|
||||
function olderOsx() {
|
||||
if(system.compareVersions(system.version.ProductVersion, '10.10') == -1) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</string>
|
||||
</dict>
|
||||
<key>TYPE</key>
|
||||
<integer>0</integer>
|
||||
<key>VERSION</key>
|
||||
@@ -1,16 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Check if Finder is running (for systems with Finder disabled)
|
||||
finder_status=`ps aux | grep "/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder" | grep -v "grep"`
|
||||
if ! [ "$finder_status" == "" ] ; then # Finder is running
|
||||
osascript << EOF
|
||||
osascript << EOF
|
||||
tell application "Finder"
|
||||
activate
|
||||
select the last Finder window
|
||||
reveal POSIX file "/Applications/@APPLICATION_EXECUTABLE@.app"
|
||||
end tell
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Always enable the new 10.10 finder plugin if available
|
||||
if [ -x "$(command -v pluginkit)" ]; then
|
||||
|
||||
@@ -3,4 +3,7 @@
|
||||
# kill the old version. see issue #2044
|
||||
killall @APPLICATION_EXECUTABLE@
|
||||
|
||||
# Unload the Finder plugin. see issue #2105
|
||||
killall Finder
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -1,36 +1,12 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIGOzCCBC0GByqGSM44BAEwggQgAoICAQCwGHwZVKUPwJafICkknBmoIS7TGjfw
|
||||
TnHpZdWJ/kVvMIhFiui3cJaB85e8R2yGRq7wr6ljYCR5EyjRXEJGEFW05PCUxLhh
|
||||
LnUg7yWIL1EnRM61zSlnWer4f7IBO7Qf8hd35jL5VuQtqE+Shq1vtC21SFO6GMog
|
||||
sfQdeyhTMIH67nw19fDxbyqPh+fPsBgitWmO07eF132Qxju0MwXvaju3YrXepuoR
|
||||
ClonI8pfPCJAAyJd5sEAfJPiqObgW/ehNgU5mVXv2D6VNtvvyu0flnvj05TOtkz+
|
||||
6392xh0u/xtz1F1clPe31JW3C2zxkvS14M7eSn96hMlojLev75/V84pQNZ7qXQ/X
|
||||
TxWaucnipJ94EqRLTg1hD3qwyC+5JKqOA6ELFmMARsP2MV4wmBIE+bz/bP2g7UCT
|
||||
UIJVTZrZAemozMFR6zsQQMrdz9fEPXQhibcg3LppMnnTkAJUdMkKlGIpehGe1tVC
|
||||
LaOgYh03zf/N7yFwH9eMIiAoXTlqR7iRO1HHsXn60OF8XYEt8Xga8cK7zMiPYOqm
|
||||
o4rheeXw33pckX63glOjJ+ADH1jhU7vOjRsAySXMFjanD8A31Mh8NbhuvPJowJAx
|
||||
ez8Hu4M6+fg644z7WHmsrbp0R3/Ow9FI/zmvYT6najOlEwnar8ix210ezjWmAOxN
|
||||
BTuHN6Bj7ckgdQIVAKwAcb77T0Fyjus9ZImfCqlKdihZAoICABiPO4bywe636AlU
|
||||
FRhMS/XFeGqRD7GbJSbGzIahooUPyVAeyRIU1HzmeVPx7jTqcoqcau0vXfv10EB+
|
||||
nJ3q6EzfCbitGIDJ1TjT2BhMtsnhzplhvVOAThuLnLpYwa3h8DIfgTqxh+DaCJHc
|
||||
ccdl/sAgj/6m54FCRc5ukyQZZeOFgSO2L+JfGDYJpn1CFuRVrXr4DbvtUDItRTbQ
|
||||
Gxlg5OEx2D1eO5DHtmuRPBZbumgACnFeD97tRQVjVKqQiMU3ZfNDp+mub0/MS/PY
|
||||
djDZIZM4E3/Nx+IuSuRELGKgifM/ED0tyiq6FYy9kx1nVVoRhWt29ipkQSskvRL3
|
||||
Ba593/u7dMt2Pa/RVNha+9J1VIadblNu0OkieI8OrPJ8PEdrr3Igit1GuURxz/oR
|
||||
c4T5nWCM+7e9yxs1resVDsU4D0aJVBMnE7IZwnN9/f4wduR0rxuBTLbMgtgBoIak
|
||||
JhgplAQu7SdSxKSpY6keGZUpt8ATkixkScZmVhFKmuVYc1c0tLfUqQnlC4Ty44Wk
|
||||
MEyub6749iRgNQp9vzvntS3EoLDho4CdEWlrp7YBtvTPiey46gcoLeLNZVyGuQ42
|
||||
CdFw09MIDPEhXBe6oWsOqW4OUla/UoVJyEjuPeiNIMruUJKIGkB1RL6OaiWxJkGM
|
||||
2HXSebMEweWuScaJmNR5VX87n6KTA4ICBgACggIBAKIAUUc/MJYZYkZectbSabZy
|
||||
TmlrPmi00q7wpsInTieeKVqOSypS+fuoiG2uuUX4+duqK8mLiA9WC0/y/cBJiWth
|
||||
Bp28s1ADdC98wamERYpZOxWuHDS9MEsovQzm5RIxgVtZbK7vKk/f0WbGE6xwgERH
|
||||
dt1zSZRh1ZWi/UWDVGHjlVMEhtNxoRD/Q5T4KUpLez0DNf2VpKk17KsqD2sS1zit
|
||||
IwIMR++PEY9Rfw1FWIkE5GzJnjxR8sUr6hg5A4z779W7qW/KK5DGlOVYrHhdxUDA
|
||||
b5q4wGBP3sDCPhhZ/g1V62tb1LAXnTMgAkdXGpRCxoe21TcB21PSQAbW1sOpFbSu
|
||||
07kMLAZIh+L1eR5sY6z7S/pqE4W4ukYUEFJPUSCVUCXkN2ZbSfbQLLi2mVNNIp7u
|
||||
/MJVxNQOtRqHM+2/nN+98Grivr1ct1G1NUHYgP/lr7Y2QNBiST0Lcnos8pjmI42v
|
||||
0NxCt+BOx+cc0SNXxRJD2j73IgzD8YW3gvWfzSwUcIqgC27JEEMhscEVNI4vD/CR
|
||||
mdDmYm0QJdBmEczPf5cA5gyAa1ATYS8ejrh6HpbC++FpSf4FN++5uu9cXtYJgI9B
|
||||
G0ZEvlGwqzStV35LeqwF2KBSZIspquILBDJDaKHG7wPE5/MdSsFky1awX7jgyGZV
|
||||
H5CvBpIDHOrQ0r1b40oB
|
||||
MIIBtzCCASsGByqGSM44BAEwggEeAoGBANC50nTWzroQwwawgaV4jd5TjjqbGKDH
|
||||
6CWbZzyfJ246mJcrwTfM2h5Z80GwLSNFBIjtLGpFd7Wd+CI1dY8oIOYxnYgWDSJC
|
||||
Al1RMoUSSwx0LRr8J3gojcvvsrhk/t57o9bjXynE2tiP1fwzPb+B3NH/02fMnzfH
|
||||
k+B8/8GOnX8dAhUA9PZ1QrH/mN+7ckiGjmoegZdv9tMCgYBPEj2850r8+9tXljU4
|
||||
X0s1NKBfiyhBGw/quJMZ3k0fQ/tpOyYwXYBg+9GBVc4pF1CKMVGoBS6XnLrZ1OkC
|
||||
OP9g+NNH5cLOKrBxjtd1GPG8UF/sZpak2sVfuNKzRtFT/6WFHc3f7C+LiDFZ2aPO
|
||||
A+Kr5MZJ8xxYDYj16WV2nKgoQgOBhQACgYEAuQzycfUZKm7MR9WZSFF9uQ3N3SQr
|
||||
PKYggCl6GTdWYmrsFyXLEBmb3m2qXxx9AcfR2LdkTp/CRCzm+HD6wyHVAAVG2kI2
|
||||
mWafcahlx/lVMd2yytdRE5pjpjLxw7rrt/fvSZsGwUswQJLl4iDWoE+mFfaaZnnM
|
||||
JKoiKLX7LUFOPaU=
|
||||
-----END PUBLIC KEY-----
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From ea4dcc5931d455e4ee3e958ffa54a9f54ab022c8 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Mon, 5 Jan 2015 10:45:25 +0100
|
||||
Subject: [PATCH 1/3] Fix crash on Mac OS if PAC URL contains non-URL legal
|
||||
chars
|
||||
|
||||
macQueryInternal() was retrieving the PAC URL string as-entered by
|
||||
the user in the 'Proxies' tab of the system network settings dialog
|
||||
and passing it to CFURLCreateWithString().
|
||||
|
||||
CFURLCreateWithString() returns null if the input string contains
|
||||
non-URL legal chars or is empty.
|
||||
|
||||
Change-Id: I9166d0433a62c7b2274b5435a7dea0a16997d10e
|
||||
Patch-By: Robert Knight
|
||||
Task-number: QTBUG-36787
|
||||
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
|
||||
Reviewed-by: Markus Goetz <markus@woboq.com>
|
||||
---
|
||||
src/network/kernel/qnetworkproxy_mac.cpp | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
index 7d26246..81bce0c 100644
|
||||
--- a/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
+++ b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
@@ -221,7 +221,11 @@ QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
|
||||
int enabled;
|
||||
if (CFNumberGetValue(pacEnabled, kCFNumberIntType, &enabled) && enabled) {
|
||||
// PAC is enabled
|
||||
- CFStringRef cfPacLocation = (CFStringRef)CFDictionaryGetValue(dict, kSCPropNetProxiesProxyAutoConfigURLString);
|
||||
+ // kSCPropNetProxiesProxyAutoConfigURLString returns the URL string
|
||||
+ // as entered in the system proxy configuration dialog
|
||||
+ CFStringRef pacLocationSetting = (CFStringRef)CFDictionaryGetValue(dict, kSCPropNetProxiesProxyAutoConfigURLString);
|
||||
+ QCFType<CFStringRef> cfPacLocation = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, pacLocationSetting, NULL, NULL,
|
||||
+ kCFStringEncodingUTF8);
|
||||
|
||||
if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) {
|
||||
QCFType<CFDataRef> pacData;
|
||||
--
|
||||
1.8.3.4 (Apple Git-47)
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From a83e4d1d9dd90d4563ce60f27dfb7802a780e33e Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Mon, 5 Jan 2015 11:42:52 +0100
|
||||
Subject: [PATCH 2/3] Fix possible crash when passing an invalid PAC URL
|
||||
|
||||
This commit checks whether CFURLCreateWithString() succeeded.
|
||||
|
||||
It does not appear to be possible to enter an empty URL directly in the
|
||||
PAC configuration dialog but I can't rule out the possibility
|
||||
that it could find its way into the settings via some other means.
|
||||
|
||||
Change-Id: I6c2053d385503bf0330f5ae9fb1ec36a473d425d
|
||||
Patch-By: Robert Knight
|
||||
Task-number: QTBUG-36787
|
||||
Reviewed-by: Markus Goetz <markus@woboq.com>
|
||||
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
|
||||
---
|
||||
src/network/kernel/qnetworkproxy_mac.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
index 81bce0c..6be032e 100644
|
||||
--- a/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
+++ b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
@@ -230,6 +230,10 @@ QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
|
||||
if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) {
|
||||
QCFType<CFDataRef> pacData;
|
||||
QCFType<CFURLRef> pacUrl = CFURLCreateWithString(kCFAllocatorDefault, cfPacLocation, NULL);
|
||||
+ if (!pacUrl) {
|
||||
+ qWarning("Invalid PAC URL \"%s\"", qPrintable(QCFString::toQString(cfPacLocation)));
|
||||
+ return result;
|
||||
+ }
|
||||
SInt32 errorCode;
|
||||
if (!CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault, pacUrl, &pacData, NULL, NULL, &errorCode)) {
|
||||
QString pacLocation = QCFString::toQString(cfPacLocation);
|
||||
--
|
||||
1.8.3.4 (Apple Git-47)
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From 83bd9393e5564ea9168fda90c0f44456633a483a Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Molkentin <daniel@molkentin.de>
|
||||
Date: Mon, 5 Jan 2015 15:22:57 +0100
|
||||
Subject: [PATCH 3/3] Fix crash if PAC script retrieval returns a null CFData
|
||||
instance
|
||||
|
||||
The documentation for CFURLCreateDataAndPropertiesFromResource()
|
||||
does not make this clear but from looking at the CFNetwork implementation
|
||||
and a user stacktrace it appears that this function can return true
|
||||
but not set the data argument under certain circumstances.
|
||||
|
||||
Change-Id: I48034a640d6f47a51cd5883bbafacad4bcbd0415
|
||||
Task-number: QTBUG-36787
|
||||
Patch-By: Robert Knight
|
||||
Reviewed-by: Markus Goetz <markus@woboq.com>
|
||||
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
|
||||
---
|
||||
src/network/kernel/qnetworkproxy_mac.cpp | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
index 6be032e..a1ac349 100644
|
||||
--- a/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
+++ b/src/network/kernel/qnetworkproxy_mac.cpp
|
||||
@@ -240,7 +240,10 @@ QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
|
||||
qWarning("Unable to get the PAC script at \"%s\" (%s)", qPrintable(pacLocation), cfurlErrorDescription(errorCode));
|
||||
return result;
|
||||
}
|
||||
-
|
||||
+ if (!pacData) {
|
||||
+ qWarning("\"%s\" returned an empty PAC script", qPrintable(QCFString::toQString(cfPacLocation)));
|
||||
+ return result;
|
||||
+ }
|
||||
QCFType<CFStringRef> pacScript = CFStringCreateFromExternalRepresentation(kCFAllocatorDefault, pacData, kCFStringEncodingISOLatin1);
|
||||
if (!pacScript) {
|
||||
// This should never happen, but the documentation says it may return NULL if there was a problem creating the object.
|
||||
--
|
||||
1.8.3.4 (Apple Git-47)
|
||||
|
||||
32
admin/qt/patches/0004-Cocoa-Fix-systray-SVG-icons.patch
Normal file
32
admin/qt/patches/0004-Cocoa-Fix-systray-SVG-icons.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
From 22f3d359350fd65e4bbe2e9420fcc4460e8a590a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= <morten.sorvig@digia.com>
|
||||
Date: Tue, 10 Mar 2015 22:37:39 +0100
|
||||
Subject: [PATCH] Cocoa: Fix systray SVG icons.
|
||||
|
||||
Regression caused by f3699510.
|
||||
|
||||
Task-number: QTBUG-44686
|
||||
Change-Id: I546422a67d4da29fac196025b09bddcb45c1b641
|
||||
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
|
||||
---
|
||||
src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
index e449fd3..8a35705 100755
|
||||
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
@@ -234,6 +234,10 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
||||
}
|
||||
}
|
||||
|
||||
+ // Handle SVG icons, which do not return anything for availableSizes().
|
||||
+ if (!selectedSize.isValid())
|
||||
+ selectedSize = icon.actualSize(QSize(maxPixmapHeight, maxPixmapHeight), mode);
|
||||
+
|
||||
QPixmap pixmap = icon.pixmap(selectedSize, mode);
|
||||
|
||||
// Draw a low-resolution icon if there is not enough pixels for a retina
|
||||
--
|
||||
1.9.1
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user