ubuntu-touch-coreapps-reviewers team mailing list archive
-
ubuntu-touch-coreapps-reviewers team
-
Mailing list archive
-
Message #06081
[Merge] lp:~nskaggs/ubuntu-docviewer-app/fix-deps-check-jenkins into lp:ubuntu-docviewer-app
Nicholas Skaggs has proposed merging lp:~nskaggs/ubuntu-docviewer-app/fix-deps-check-jenkins into lp:ubuntu-docviewer-app.
Commit message:
Fix internet check for jenkins
Requested reviews:
Ubuntu Document Viewer Developers (ubuntu-docviewer-dev)
For more details, see:
https://code.launchpad.net/~nskaggs/ubuntu-docviewer-app/fix-deps-check-jenkins/+merge/278022
Fix internet check for jenkins
--
The attached diff has been truncated due to its size.
Your team Ubuntu Document Viewer Developers is requested to review the proposed merge of lp:~nskaggs/ubuntu-docviewer-app/fix-deps-check-jenkins into lp:ubuntu-docviewer-app.
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2015-06-24 20:50:40 +0000
+++ CMakeLists.txt 2015-11-19 15:38:45 +0000
@@ -121,3 +121,28 @@
add_subdirectory(src)
add_subdirectory(tests)
add_subdirectory(po)
+
+# If running in CLICK_MODE, include binary dependencies of docviewer
+if(CLICK_MODE)
+ MESSAGE("Grabbing upstream libs to ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs")
+ execute_process(
+ COMMAND mkdir ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/get-click-deps -d ${CMAKE_CURRENT_SOURCE_DIR}/docviewer-libs.json ${CLICK_ARCH} ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs
+ )
+
+ MESSAGE("Installing upstream libs from ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/usr/lib/${ARCH_TRIPLET}/ to ${DATA_DIR}lib/${ARCH_TRIPLET}")
+ file(GLOB_RECURSE UPSTREAM_LIBS "${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/usr/lib/${ARCH_TRIPLET}/*")
+ foreach(ITEM ${UPSTREAM_LIBS})
+ IF( IS_DIRECTORY "${ITEM}" )
+ LIST( APPEND DIRS_TO_DEPLOY "${ITEM}" )
+ ELSE()
+ LIST( APPEND FILES_TO_DEPLOY "${ITEM}" )
+ ENDIF()
+ endforeach()
+ MESSAGE("Following files to install:- ${FILES_TO_DEPLOY}")
+ INSTALL( FILES ${FILES_TO_DEPLOY} DESTINATION ${DATA_DIR}lib/${ARCH_TRIPLET} )
+
+
+ MESSAGE("Installing LibreOffice from ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/opt/libreoffice/lib/libreoffice to ${DATA_DIR}lib/${ARCH_TRIPLET}/libreoffice")
+ INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/upstream-libs/opt/libreoffice/lib/libreoffice/ DESTINATION ${DATA_DIR}lib/${ARCH_TRIPLET}/libreoffice )
+endif(CLICK_MODE)
=== modified file 'README'
--- README 2015-01-30 19:20:39 +0000
+++ README 2015-11-19 15:38:45 +0000
@@ -8,13 +8,32 @@
=========
Install poppler's development files:
-sudo apt-get install libpoppler-qt5-dev
+ sudo apt install libpoppler-qt5-dev
Install Qt5 private development files:
-sudo apt-get install qtdeclarative5-private-dev qtbase5-private-dev
-
-If you want to compile an arm click package, you need to install that package to the arm compilation environment. For example when using QtCreator for Ubuntu Touch, open Options -> Ubuntu -> Maintain, and then enter:
-
-apt-get install libpoppler-qt5-dev:armhf qtdeclarative5-private-dev:armhf qtbase5-private-dev:armhf
-
-
+ sudo apt install qtdeclarative5-private-dev qtbase5-private-dev
+
+If you want to compile an arm click package, you need to install that package
+to the arm compilation environment. For example when using QtCreator for
+Ubuntu Touch, open Options -> Ubuntu -> Maintain, and then enter:
+
+ apt install libpoppler-qt5-dev:armhf qtdeclarative5-private-dev:armhf qtbase5-private-dev:armhf
+
+LibreOffice viewer support
+==========================
+
+If you want to enable the LibreOffice viewer feature, you'll need to have a
+LibreOffice 5.0 installation on your development environment. At the time of
+writing, LibreOffice 5.0 is not yet in the archive, but you can easily install
+it from the pre-releases PPA. To do so, type the following commands on a
+terminal:
+
+ sudo apt-get purge libreoffice-core
+ sudo add-apt-repository ppa:libreoffice/libreoffice-prereleases
+ sudo apt-get update
+ sudo apt-get install libreoffice
+
+Then to compile the LibreOffice viewer plugin you'll simply need to install
+the LibreOffice Kit development files:
+
+ sudo apt install libreofficekit-dev
=== modified file 'debian/control'
--- debian/control 2015-02-23 12:49:52 +0000
+++ debian/control 2015-11-19 15:38:45 +0000
@@ -4,14 +4,13 @@
Build-Depends: cmake,
debhelper (>= 9),
intltool,
- libcontent-hub-dev (>= 0.0+13.10.20130930.1),
libpoppler-qt5-dev,
pep8,
pkg-config,
pkg-kde-tools,
python3-all,
qt5-default,
- qtbase5-dev,
+ qtbase5-dev (>= 5.4.0),
qtchooser,
qtdeclarative5-dev,
qtdeclarative5-dev-tools,
@@ -28,6 +27,10 @@
Architecture: any
Depends: qtdeclarative5-qtquick2-plugin,
qtdeclarative5-ubuntu-ui-toolkit-plugin,
+ qtdeclarative5-ubuntu-content1,
+ qtdeclarative5-quicklayouts-plugin,
+ qtdeclarative5-window-plugin,
+ suru-icon-theme (>= 14.04+15.10.20150707-0ubuntu1),
${misc:Depends}
Description: Document Viewer application
Core Document Viewer application
=== added file 'docviewer-libs.json'
--- docviewer-libs.json 1970-01-01 00:00:00 +0000
+++ docviewer-libs.json 2015-11-19 15:38:45 +0000
@@ -0,0 +1,94 @@
+{
+ "armhf": [
+ {
+ "url": "http://ports.ubuntu.com/ubuntu-ports",
+ "dist": "vivid",
+ "component": "main",
+ "packages": [
+ "libboost-date-time1.55.0",
+ "libgl1-mesa-glx",
+ "libxcb-dri3-0",
+ "libxcb-glx0",
+ "libxcb-present0",
+ "libxshmfence1",
+ "libxslt1.1",
+ "libxt6",
+ "libxxf86vm1",
+ "gconf-service",
+ "gconf-service-backend",
+ "gconf2-common",
+ "libgconf-2-4"
+ ]
+ },
+ {
+ "url": "http://ppa.launchpad.net/canonical-community/ppa/ubuntu",
+ "dist": "vivid",
+ "component": "main",
+ "packages": [
+ "libreoffice-vanilla"
+ ]
+ }
+ ],
+
+ "i386": [
+ {
+ "url": "http://archive.ubuntu.com/ubuntu",
+ "dist": "vivid",
+ "component": "main",
+ "packages": [
+ "libboost-date-time1.55.0",
+ "libgl1-mesa-glx",
+ "libxcb-dri3-0",
+ "libxcb-glx0",
+ "libxcb-present0",
+ "libxshmfence1",
+ "libxslt1.1",
+ "libxt6",
+ "libxxf86vm1",
+ "gconf-service",
+ "gconf-service-backend",
+ "gconf2-common",
+ "libgconf-2-4"
+ ]
+ },
+ {
+ "url": "http://ppa.launchpad.net/canonical-community/ppa/ubuntu",
+ "dist": "vivid",
+ "component": "main",
+ "packages": [
+ "libreoffice-vanilla"
+ ]
+ }
+ ],
+
+ "amd64": [
+ {
+ "url": "http://archive.ubuntu.com/ubuntu",
+ "dist": "vivid",
+ "component": "main",
+ "packages": [
+ "libboost-date-time1.55.0",
+ "libgl1-mesa-glx",
+ "libxcb-dri3-0",
+ "libxcb-glx0",
+ "libxcb-present0",
+ "libxshmfence1",
+ "libxslt1.1",
+ "libxt6",
+ "libxxf86vm1",
+ "gconf-service",
+ "gconf-service-backend",
+ "gconf2-common",
+ "libgconf-2-4"
+ ]
+ },
+ {
+ "url": "http://ppa.launchpad.net/canonical-community/ppa/ubuntu",
+ "dist": "vivid",
+ "component": "main",
+ "packages": [
+ "libreoffice-vanilla"
+ ]
+ }
+ ]
+}
=== added file 'get-click-deps'
--- get-click-deps 1970-01-01 00:00:00 +0000
+++ get-click-deps 2015-11-19 15:38:45 +0000
@@ -0,0 +1,451 @@
+#!/usr/bin/python3
+
+# Copyright (C) 2015 Stefano Verzegnassi <verzegnassi.stefano@xxxxxxxxx>
+# Copyright (C) 2015 Didier Roche <didrocks@xxxxxxxxxx>
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 3, as published
+# by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranties of
+# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <http://www.gnu.org/licenses/>.
+
+#
+# Source code at:
+# https://code.launchpad.net/~verzegnassi-stefano/+junk/get-click-deps
+#
+# A script to automate the fetching all the external dependencies of a
+# Click packaged application from internet, and copying them in a given
+# folder, so that the click packaging tool can easily build them in the
+# package.
+#
+# usage: get-click-deps [-h] [-f] [-d] [-e] [-c SCRIPT_PATH]
+# manifest_path {amd64,i386,armhf} target_path
+#
+# A tool for adding external libraries to a Ubuntu SDK application or scope.
+#
+# positional arguments:
+# manifest_path path of json file containing the list of packages to
+# be downloaded.
+# {amd64,i386,armhf} CPU architecture ("amd64", "i386" or "armhf")
+# target_path path to the target (a click package or a folder)
+# where this tool will include the downloaded binaries.
+# If the folder does not exist, it will be created.
+#
+# optional arguments:
+# -h, --help show this help message and exit
+# -f, --force-download force a new download of the packages
+# -d, --delete-temp delete temp files at the end of the process
+# -e, --extract-only only create temp directory and extract the content of
+# downloaded packages
+# -c SCRIPT_PATH, --custom-script SCRIPT_PATH
+# run a custom script after the extraction of Debian
+# packages and before copying their content to the
+# target destination. The tool will execute the script
+# with the path to the packages dump as argument. If
+# the '-e' flag has been specified, the script will be
+# anyway executed. This option is useful when you need
+# to automatically modify the content of temp folder
+# (e.g. when you need to fix some path before including
+# the files in a click package).
+#
+#
+# USAGE EXAMPLE:
+# get-click-deps packages.json armhf <path/to/package.click>
+#
+# package.json is the package manifest, and contains all the references to the
+# .deb packages to be included into the Ubuntu SDK project.
+# If you're familiar to the Debian/Ubuntu world, you'll see that it's pretty
+# similar to therepository management of these distros:
+# see https://wiki.debian.org/SourcesList for further informations.
+#
+# An example of packages.json file is:
+# {
+# "armhf": [
+# {
+# "url": "http://ports.ubuntu.com/ubuntu-ports/",
+# "dist": "vivid",
+# "component": "main",
+# "packages": [
+# "libgl1-mesa-glx",
+# "libxslt1.1",
+# "libxcb-glx0",
+# "libxcb-dri3-0",
+# "libxcb-present0",
+# "libxshmfence1",
+# "libxxf86vm1"
+# ]
+# },
+#
+# {
+# "url": "http://ppa.launchpad.net/canonical-community/ppa/ubuntu",
+# "dist": "vivid",
+# "component": "main",
+# "packages": [
+# "libreoffice-vanilla"
+# ]
+# }
+# ],
+#
+# "amd64": [
+# "url": "http://ppa.launchpad.net/canonical-community/ppa/ubuntu",
+# "dist": "vivid",
+# "component": "main",
+# "packages": [
+# "libreoffice-vanilla"
+# ]
+# }
+# ]
+# }
+#
+# Instead of a click package, you can specify the build folder used by Ubuntu
+# SDK for compiling the sources of your project. This way the binaries
+# downloaded by this tool will be automatically included in the .click package
+# the next time you ask Ubuntu SDK to create a new package.
+#
+
+# TODO: Complete error handling
+# TODO: Make target_path optional if the '-e' flag has been specified.
+
+import sys
+import os
+import stat
+import time
+import argparse
+import json
+import gzip
+import subprocess
+import urllib.request, urllib.error, urllib.parse
+
+def get_timestamp():
+ return time.time()
+
+
+def check_internet_connection():
+ try:
+ urllib.request.urlopen('http://www.launchpad.net', timeout=20)
+ return True
+ except urllib2.error.URLError as err:
+ pass
+ return False
+
+
+def get_arch_triplet(arch):
+ return subprocess.check_output([
+ 'dpkg-architecture',
+ '-A',
+ arch,
+ '-qDEB_TARGET_MULTIARCH'])
+
+
+def download_file(url, dest, verbose=True):
+ if verbose:
+ print ("\nDownloading:\n{}".format(url))
+ # TODO: Switch to subprocess
+ os.system('cd %s && { curl -# -O %s ; cd - ; }' % (dest, url))
+
+
+def download_file_and_rename(url, dest, new_filename, verbose=True):
+ if verbose:
+ print ("\nDownloading:\n{}".format(url))
+ new_path = os.path.join(dest, new_filename)
+ subprocess.call(['curl', url, '-#', '-o', new_path])
+
+ return new_path
+
+
+def get_package_download_url(package_name, packages_list, base_url):
+ pkgs_list = packages_list.decode('utf-8').split('\n')
+ index = pkgs_list.index('Package: %s' % package_name)
+
+ for i in range(index, len(pkgs_list)):
+ if pkgs_list[i].find('Filename:') > -1:
+ return "%s/%s" % (base_url, pkgs_list[i].replace('Filename: ', ''))
+
+
+def get_URLs_for_arch(manifest_path, arch, destpath):
+ urls = []
+
+ f = open(manifest_path)
+ content = json.load(f)
+ f.close()
+
+ # Download repository index for each repository in the JSON package
+ # manifest.
+ try:
+ repo_index = 0
+ for repo in content[arch]:
+ repo_index_url = '%s/dists/%s/%s/binary-%s/Packages.gz' % (
+ repo['url'],
+ repo['dist'],
+ repo['component'],
+ arch)
+
+ print ("\nDownloading repository index at:\n".format(repo_index_url))
+
+ repo_index_zip = download_file_and_rename(
+ repo_index_url,
+ destpath,
+ 'repo-index-%s-%s.gz' % (arch, repo_index),
+ False)
+
+ with gzip.open(repo_index_zip, 'r') as f:
+ repo_index_content = f.read()
+ f.close()
+
+ # Get the download URL of each package of the repository.
+ packages = repo['packages']
+ for package in packages:
+ urls.append(get_package_download_url(
+ package,
+ repo_index_content,
+ repo['url']))
+
+ repo_index += 1
+ except KeyError:
+ # Arch not found in the manifest. Exit with no error, since there's no
+ # need to run the script for this arch.
+ print ("\n\nRequested arch has been not specified in the manifest. \
+ Exiting...")
+ sys.exit(0)
+ print ("\nObtained packages informations")
+ return urls
+
+
+def check_if_temp_folder_already_exists(path):
+ return os.path.isdir(path)
+
+
+def copy_directory_content(sourcepath, destpath):
+ subprocess.call(['cp', '-r', '%s/.' % sourcepath, destpath])
+
+
+def delete_folder(path, recursive=False):
+ if recursive:
+ flag = '-rf'
+ else:
+ flag = '-f'
+ subprocess.call(['rm', flag, path])
+
+
+def extract_deb_package(deb_path, destpath):
+ subprocess.call(['dpkg-deb', '-x', deb_path, destpath])
+
+
+def extract_click_package(click_path, destpath):
+ extract_deb_package(click_path, destpath)
+
+ manifest = subprocess.check_output(['click', 'info', click_path])
+
+ # The manifest we get has an 'installed-size' key with the value of the
+ # previous package. Anyway this value will be replaced when we'll run
+ # 'click build <pkg>', so there's no reason for removing it here.
+ f = open(os.path.join(destpath, 'manifest.json'), 'w')
+ f.write(manifest)
+ f.close()
+
+ return destpath
+
+
+def build_click_package(source_dirpath):
+ output = subprocess.check_output(['click', 'build', source_dirpath])
+
+ for line in output.split(os.linesep):
+ if line.find('Successfully built package in ') > -1:
+ # FIXME: Very ugly.
+ path = line.replace('Successfully built package in \'', '')
+ path = path.replace('\'.', '')
+ return path
+
+
+def copy_file(sourcepath, destpath, overwrite=False):
+ flag = ''
+
+ if not overwrite:
+ flag = '-n'
+
+ subprocess.call(['cp', flag, sourcepath, destpath])
+
+
+# Argument parser
+parser = argparse.ArgumentParser(
+ description="A tool for adding external libraries to a Ubuntu SDK \
+ application or scope.")
+
+parser.add_argument(
+ '-f',
+ '--force-download',
+ dest='force_download',
+ action='store_true',
+ help='force a new download of the packages')
+
+parser.add_argument(
+ '-d',
+ '--delete-temp',
+ dest='delete_temp',
+ action='store_true',
+ help='delete temp files at the end of the process')
+
+parser.add_argument(
+ '-e',
+ '--extract-only',
+ dest='extract_only',
+ action='store_true',
+ help='only create temp directory and extract the content of downloaded \
+ packages')
+
+parser.add_argument(
+ '-c',
+ '--custom-script',
+ dest='script_path',
+ type=str,
+ help='run a custom script after the extraction of Debian packages and \
+ before copying their content to the target destination. The tool will \
+ execute the script with the path to the packages dump as argument. If \
+ the \'-e\' flag has been specified, the script will be anyway \
+ executed. This option is useful when you need to automatically modify \
+ the content of temp folder (e.g. when you need to fix some path \
+ before including the files in a click package).')
+
+parser.add_argument(
+ 'manifest_path',
+ type=str,
+ help='path of json file containing the list of packages to be downloaded.')
+
+parser.add_argument(
+ 'arch',
+ type=str,
+ choices=['amd64', 'i386', 'armhf'],
+ help='CPU architecture ("amd64", "i386" or "armhf")')
+
+parser.add_argument(
+ 'target_path',
+ type=str,
+ help='path to the target (a click package or a folder) where this \
+ tool will include the downloaded binaries. If the folder does not \
+ exist, it will be created.')
+
+args = parser.parse_args()
+
+# Variables
+manifest_path = args.manifest_path
+target_path = args.target_path
+manifest_stat = os.stat(manifest_path)
+temp_folder = os.path.join(
+ '/tmp/',
+ 'tmp-click-deps-%s-%s-%s-%s' % (
+ manifest_stat.st_dev,
+ manifest_stat.st_ino,
+ manifest_stat.st_size,
+ manifest_stat.st_mtime))
+temp_arch_folder = os.path.join(temp_folder, args.arch)
+is_click_target = os.path.isfile(args.target_path)
+
+# Check command line arguments
+if not os.path.isfile(manifest_path):
+ sys.exit("\n\nERROR: Package manifest is not a valid file. Exit...")
+
+if not os.path.isfile(target_path) and target_path.endswith('.click'):
+ sys.exit("\n\nERROR: The specified target .click does not exists.")
+elif not os.path.isdir(target_path):
+ print ("\n\nCreating dest folder\n{}".format(target_path))
+ os.mkdir(target_path)
+
+# Check if the script exist, if specified any.
+if args.script_path and not os.path.exists(args.script_path):
+ sys.exit("\n\nERROR: The specified script does not exists.")
+
+# If -f argument has been specified, remove all the existing data before
+# running this script.
+if args.force_download:
+ if os.path.isdir(temp_folder):
+ print ("\nRemoving temp data of the previous run, as requested")
+ delete_folder(temp_folder, True)
+
+# Check if we already have run this script for the same target.
+if not check_if_temp_folder_already_exists(temp_arch_folder):
+ # Check internet connection
+ if not check_internet_connection():
+ sys.exit("\n\nERROR: An internet connection is required in order to \
+ download packages from repositories.")
+
+ # Create temp folder in /tmp
+ print ("\nCreating temp folder in {}".format(temp_folder))
+ os.mkdir(temp_folder)
+ os.mkdir(temp_arch_folder)
+
+ # Parse the JSON package list and get the download URL of the packages.
+ debs_url_list = get_URLs_for_arch(
+ manifest_path,
+ args.arch,
+ temp_folder)
+
+ # Download packages from web
+ for url in debs_url_list:
+ download_file(url, temp_folder)
+
+ # Extract DEBs packages
+ print ("\nExtracting .deb packages to {}".format(temp_arch_folder))
+ deb_pkgs_list = []
+ for file in os.listdir(temp_folder):
+ if file.endswith('.deb'):
+ deb_pkgs_list.append(file)
+
+ for deb_pkg in deb_pkgs_list:
+ extract_deb_package(
+ os.path.join(temp_folder, deb_pkg),
+ temp_arch_folder)
+
+ # If a script has been specified, run it.
+ if args.script_path:
+ print ("\nRunning the script at: {}\n".format(args.script_path))
+
+ # Ensure that we can run the script, otherwise we don't have the
+ # permission
+ subprocess.call(['chmod', '+x', args.script_path])
+ subprocess.call([
+ args.script_path,
+ temp_arch_folder,
+ get_arch_triplet(args.arch)])
+else:
+ print ("\nPackages are already downloaded. Use them...")
+
+# If -e or --extract-only flags have been specified, we have completed our work
+if args.extract_only:
+ print ("\n\nCompleted successfully.")
+ sys.exit(0)
+
+# Copy temp_arch folder content to its destination
+if is_click_target:
+ print ("\nExtracting target .click package")
+ temp_click_folder = extract_click_package(
+ args.target_path,
+ os.path.join('/tmp/', str(get_timestamp())))
+
+ print ("\nAdding extracted binaries to the package")
+ copy_directory_content(temp_arch_folder, temp_click_folder)
+
+ new_click_package_path = build_click_package(temp_click_folder)
+ print ("\nCreated new .click package at:\n{}".format(new_click_package_path))
+
+ print ("\nReplacing older .click package")
+ copy_file(new_click_package_path, args.target_path, True)
+
+ delete_folder(temp_click_folder, True)
+
+else:
+ print ("\nCopying extracted binaries to their destination")
+ copy_directory_content(temp_arch_folder, args.target_path)
+
+# Delete temp files
+if args.delete_temp:
+ print ("\)nRemoving temp files and directory, as requested")
+ delete_folder(temp_folder, True)
+
+# Exit
+print ("\n\nCompleted successfully.")
=== modified file 'po/am.po'
--- po/am.po 2015-09-23 06:28:55 +0000
+++ po/am.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,26 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+<<<<<<< TREE
"POT-Creation-Date: 2015-07-24 11:10+0200\n"
"PO-Revision-Date: 2015-09-22 22:55+0000\n"
+=======
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-03-08 19:28+0000\n"
+>>>>>>> MERGE-SOURCE
"Last-Translator: samson <Unknown>\n"
"Language-Team: Amharic <am@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-09-23 06:28+0000\n"
"X-Generator: Launchpad (build 17749)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +43,7 @@
msgstr "ኮፒ %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "ሰነድ መመልከቻ"
@@ -147,32 +157,31 @@
msgid "%1 byte"
msgstr "%1 ባይት"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "ፋይል ማጥፊያ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "ማጥፊያ %1 ፋይል"
msgstr[1] "ማጥፊያ %1 ፋይሎች"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "ይህን ፋይል በ እርግጥ በቋሚነት ማጥፋት ይፈልጋሉ?"
msgstr[1] "እነዚህን ፋይሎች በ እርግጥ በቋሚነት ማጥፋት ይፈልጋሉ?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "መሰረዣ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "ማጥፊያ"
@@ -189,35 +198,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "ዛሬ, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "ትናንትና, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "ዛሬ"
@@ -369,6 +390,6 @@
msgid "Open"
msgstr "መክፈቻ"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "ሰነዶች: መመልከቻ: pdf: ማንበቢያ:"
=== renamed file 'po/ar.po' => 'po/ar.po.THIS'
=== modified file 'po/ast.po'
--- po/ast.po 2015-11-03 05:30:48 +0000
+++ po/ast.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,26 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+<<<<<<< TREE
"POT-Creation-Date: 2015-07-24 11:10+0200\n"
"PO-Revision-Date: 2015-11-02 17:44+0000\n"
+=======
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-12 10:44+0000\n"
+>>>>>>> MERGE-SOURCE
"Last-Translator: enolp <enolp@xxxxxxxxxxxxx>\n"
"Language-Team: Asturian <ast@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-11-03 05:30+0000\n"
"X-Generator: Launchpad (build 17838)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +43,7 @@
msgstr "copiar %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Visor de documentos"
@@ -149,32 +159,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Desaniciar ficheru"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Desaniciar %1 ficheru"
msgstr[1] "Desaniciar %1 ficheros"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "¿De xuru que quies desaniciar dafechu esti ficheru?"
msgstr[1] "¿De xuru que quies desaniciar dafechu estos ficheros?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Encaboxar"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Desaniciar"
@@ -193,35 +202,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Güei, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Ayeri, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Güei"
@@ -375,6 +396,6 @@
msgid "Open"
msgstr "Abrir"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documentos;visor;pdf;llector;"
=== modified file 'po/br.po'
--- po/br.po 2015-08-26 06:10:38 +0000
+++ po/br.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,26 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+<<<<<<< TREE
"POT-Creation-Date: 2015-07-24 11:10+0200\n"
"PO-Revision-Date: 2015-08-25 14:07+0000\n"
+=======
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-04-28 08:02+0000\n"
+>>>>>>> MERGE-SOURCE
"Last-Translator: Fohanno Thierry <thierry.fohanno@xxxxxxxxxxxx>\n"
"Language-Team: Breton <br@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-26 06:10+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +43,7 @@
msgstr "eilañ %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Lenner teulioù"
@@ -149,32 +159,31 @@
msgid "%1 byte"
msgstr "%1 okted"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Diverkañ ar restr"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Diverkañ %1 restr"
msgstr[1] "Diverkañ %1 restr"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Ha sur oc'h e fell deoc'h diverkañ ar restr-mañ da viken ?"
msgstr[1] "Ha sur oc'h e fell deoc'h diverkañ ar restroù-mañ da viken ?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Nullañ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Diverkañ"
@@ -193,35 +202,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Hiziv, da %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Dec'h, da %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Hiziv"
@@ -373,6 +394,6 @@
msgid "Open"
msgstr "Digeriñ"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "teulioù;diskouezer;pdf;lenner"
=== renamed file 'po/bs.po' => 'po/bs.po.THIS'
=== modified file 'po/ca.po'
--- po/ca.po 2015-08-18 05:56:20 +0000
+++ po/ca.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-06-25 06:34+0000\n"
"Last-Translator: David Planella <david.planella@xxxxxxxxxx>\n"
"Language-Team: Catalan <ca@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "còpia %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Visualitzador de documents"
@@ -147,32 +152,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Suprimeix el fitxer"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Suprimeix %1 fitxer"
msgstr[1] "Suprimeix %1 fitxers"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Segur que voleu suprimir permanentment aquest fitxer?"
msgstr[1] "Segur que voleu suprimir permanentment aquests fitxers?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Cancel·la"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Suprimeix"
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Avui, a les %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Ahir, a les %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, H.mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd/MM/yyyy H.mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Avui', a les H.mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Ahir', a les H.mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Avui"
@@ -369,6 +385,6 @@
msgid "Open"
msgstr "Obre"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;visualitzador;pdf;lector;"
=== modified file 'po/com.ubuntu.docviewer.pot'
--- po/com.ubuntu.docviewer.pot 2015-07-24 09:12:38 +0000
+++ po/com.ubuntu.docviewer.pot 2015-11-19 15:38:45 +0000
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-10-31 23:16+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@xxxxxx>\n"
@@ -18,48 +18,53 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#. TRANSLATORS: This string is used for renaming a copied file,
-#. when a file with the same name already exists in user's
-#. Documents folder.
-#.
-#. e.g. "Manual_Aquaris_E4.5_ubuntu_EN.pdf" will become
-#. "Manual_Aquaris_E4.5_ubuntu_EN (copy 2).pdf"
-#.
-#. where "2" is given by the argument "%1"
-#.
-#: ../src/app/content-communicator.cpp:105
-#, qt-format
-msgid "copy %1"
-msgstr ""
-
-#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
-msgid "Document Viewer"
-msgstr ""
-
-#: ../src/app/qml/common/DetailsPage.qml:27
+#: ../src/app/qml/common/CommandLineProxy.qml:49
+msgid "Some of the provided arguments is not valid."
+msgstr ""
+
+#: ../src/app/qml/common/CommandLineProxy.qml:58
+msgid "Opens ubuntu-docviewer-app displaying the selected file"
+msgstr ""
+
+#: ../src/app/qml/common/CommandLineProxy.qml:65
+msgid "Run fullscreen"
+msgstr ""
+
+#: ../src/app/qml/common/CommandLineProxy.qml:71
+msgid "Open ubuntu-docviewer-app in pick mode. Use it for tests only."
+msgstr ""
+
+#: ../src/app/qml/common/CommandLineProxy.qml:77
+msgid ""
+"Load the list of documents from the given folder, instead of default ~/"
+"Documents.\n"
+"The path must exist prior to running ubuntu-docviewer-app"
+msgstr ""
+
+#: ../src/app/qml/common/DetailsPage.qml:25
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:106
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:97
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:83
msgid "Details"
msgstr ""
-#: ../src/app/qml/common/DetailsPage.qml:33
+#: ../src/app/qml/common/DetailsPage.qml:36
msgid "Location"
msgstr ""
-#: ../src/app/qml/common/DetailsPage.qml:37
+#: ../src/app/qml/common/DetailsPage.qml:41
msgid "Size"
msgstr ""
-#: ../src/app/qml/common/DetailsPage.qml:42
+#: ../src/app/qml/common/DetailsPage.qml:46
msgid "Created"
msgstr ""
-#: ../src/app/qml/common/DetailsPage.qml:47
+#: ../src/app/qml/common/DetailsPage.qml:51
msgid "Last modified"
msgstr ""
-#: ../src/app/qml/common/DetailsPage.qml:54
+#: ../src/app/qml/common/DetailsPage.qml:58
msgid "MIME type"
msgstr ""
@@ -72,20 +77,21 @@
msgstr ""
#: ../src/app/qml/common/FileNotFoundDialog.qml:28
-#: ../src/app/qml/common/PickImportedDialog.qml:47
+#: ../src/app/qml/common/PickImportedDialog.qml:53
#: ../src/app/qml/common/RejectedImportDialog.qml:38
-#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:32
+#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:33
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:53
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:70
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:61
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:61
msgid "Close"
msgstr ""
+#: ../src/app/qml/common/PickImportedDialog.qml:28
+msgid "Multiple documents imported"
+msgstr ""
+
#: ../src/app/qml/common/PickImportedDialog.qml:29
-msgid "Multiple documents imported"
-msgstr ""
-
-#: ../src/app/qml/common/PickImportedDialog.qml:30
msgid "Choose which one to open:"
msgstr ""
@@ -101,28 +107,29 @@
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/common/ToastWithAction.qml:97
-msgid "Dismiss"
-msgstr ""
-
-#: ../src/app/qml/common/UnknownTypeDialog.qml:26
+#: ../src/app/qml/common/UnknownTypeDialog.qml:27
msgid "Unknown file type"
msgstr ""
-#: ../src/app/qml/common/UnknownTypeDialog.qml:27
+#: ../src/app/qml/common/UnknownTypeDialog.qml:28
msgid ""
-"Sorry but we can't find a way to display this file. Do you want to open it "
-"as a plain text?"
-msgstr ""
-
-#: ../src/app/qml/common/UnknownTypeDialog.qml:29
+"Sorry but we can't find a way to display this file.\n"
+"\n"
+"Do you want to open it as a plain text?"
+msgstr ""
+
+#: ../src/app/qml/common/UnknownTypeDialog.qml:38
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:55
+#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:28
+#: ../src/app/qml/loView/LOViewGotoDialog.qml:53
+#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:51
+msgid "Cancel"
+msgstr ""
+
+#: ../src/app/qml/common/UnknownTypeDialog.qml:44
msgid "Yes"
msgstr ""
-#: ../src/app/qml/common/UnknownTypeDialog.qml:38
-msgid "No"
-msgstr ""
-
#. TRANSLATORS: %1 is the size of a file, expressed in GB
#: ../src/app/qml/common/utils.js:22
#, qt-format
@@ -147,98 +154,72 @@
msgid "%1 byte"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
msgid "Delete file"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:40
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:42
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
-#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
-#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
-msgid "Cancel"
-msgstr ""
-
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
-#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:61
+#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:27
+#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:55
msgid "Delete"
msgstr ""
+#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:46
+msgid "Share"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentEmptyState.qml:24
msgid "No document found"
msgstr ""
-#: ../src/app/qml/documentPage/DocumentEmptyState.qml:28
+#: ../src/app/qml/documentPage/DocumentEmptyState.qml:25
msgid ""
"Connect your device to any computer and simply drag files to the Documents "
-"folder."
+"folder or insert removable media with documents."
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:95
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:100
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:107
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:126
+msgid "yyyy/MM/dd hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string,
+#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:120
msgid "dddd, hh:mm"
msgstr ""
-#. TRANSLATORS: this is a datetime formatting string,
-#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
-msgid "dd-MM-yyyy hh:mm"
-msgstr ""
-
-#: ../src/app/qml/documentPage/DocumentListView.qml:157
-msgid "Today"
-msgstr ""
-
-#: ../src/app/qml/documentPage/DocumentListView.qml:160
-msgid "Yesterday"
-msgstr ""
-
-#: ../src/app/qml/documentPage/DocumentListView.qml:163
-msgid "Earlier this week"
-msgstr ""
-
-#: ../src/app/qml/documentPage/DocumentListView.qml:166
-msgid "Earlier this month"
-msgstr ""
-
-#: ../src/app/qml/documentPage/DocumentListView.qml:168
-msgid "Even earlier..."
-msgstr ""
-
-#: ../src/app/qml/documentPage/DocumentPage.qml:24
+#: ../src/app/qml/documentPage/DocumentPage.qml:23
msgid "Documents"
msgstr ""
@@ -246,25 +227,25 @@
msgid "Search..."
msgstr ""
-#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
+#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:36
msgid "Sorting settings..."
msgstr ""
-#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
-#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
+#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:41
msgid "Switch to single column list"
msgstr ""
-#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
-#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
+#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:41
msgid "Switch to grid"
msgstr ""
-#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:43
+#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:49
msgid "Pick"
msgstr ""
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:27
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:70
+#: ../src/app/qml/loView/LOViewPage.qml:191
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:61
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:61
msgid "Back"
@@ -274,11 +255,11 @@
msgid "search in documents..."
msgstr ""
-#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
+#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:42
msgid "Select None"
msgstr ""
-#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:54
+#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:42
msgid "Select All"
msgstr ""
@@ -291,6 +272,30 @@
"Please ensure that your query is not misspelled and/or try a different query."
msgstr ""
+#: ../src/app/qml/documentPage/SectionHeader.qml:13
+msgid "Today"
+msgstr ""
+
+#: ../src/app/qml/documentPage/SectionHeader.qml:16
+msgid "Yesterday"
+msgstr ""
+
+#: ../src/app/qml/documentPage/SectionHeader.qml:19
+msgid "Earlier this week"
+msgstr ""
+
+#: ../src/app/qml/documentPage/SectionHeader.qml:22
+msgid "Earlier this month"
+msgstr ""
+
+#: ../src/app/qml/documentPage/SectionHeader.qml:24
+msgid "Even earlier..."
+msgstr ""
+
+#: ../src/app/qml/documentPage/SharePage.qml:23
+msgid "Share to"
+msgstr ""
+
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
msgid "Sorting settings"
msgstr ""
@@ -311,6 +316,104 @@
msgid "Reverse order"
msgstr ""
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:47
+#: ../src/app/qml/textView/TextView.qml:42
+msgid "Loading..."
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:51
+msgid "LibreOffice text document"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:53
+msgid "LibreOffice spread sheet"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:55
+msgid "LibreOffice presentation"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:57
+msgid "LibreOffice Draw document"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:59
+msgid "Unknown LibreOffice document"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:61
+msgid "Unknown type document"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:86
+msgid "Show zoom controls"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:93
+msgid "Go to position..."
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:100
+#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
+#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
+msgid "Disable night mode"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewDefaultHeader.qml:100
+#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
+#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
+msgid "Enable night mode"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewGotoDialog.qml:28
+msgid "Go to position"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewGotoDialog.qml:29
+msgid "Choose a position between 1% and 100%"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewGotoDialog.qml:60
+#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:58
+msgid "GO!"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewPage.qml:34
+#: ../src/app/qml/loView/LOViewPage.qml:189
+msgid "Slides"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewZoomHeader.qml:42
+msgid "Hide zoom controls"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewZoomHeader.qml:49
+msgid "Zoom in"
+msgstr ""
+
+#: ../src/app/qml/loView/LOViewZoomHeader.qml:55
+msgid "Zoom out"
+msgstr ""
+
+#: ../src/app/qml/loView/SlideControllerPanel.qml:62
+#, qt-format
+msgid "Slide %1 of %2"
+msgstr ""
+
+#: ../src/app/qml/loView/ZoomSelector.qml:29
+msgid "Automatic (Fit width)"
+msgstr ""
+
+#: ../src/app/qml/loView/ZoomSelector.qml:94
+#, qt-format
+msgid "Automatic (%1%)"
+msgstr ""
+
+#: ../src/app/qml/loView/ZoomSelector.qml:95
+#, qt-format
+msgid "Zoom: %1%"
+msgstr ""
+
#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
#: ../src/app/qml/pdfView/PdfView.qml:37
@@ -332,43 +435,33 @@
msgid "Go to page..."
msgstr ""
-#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
-#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
-msgid "Disable night mode"
-msgstr ""
-
-#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
-#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
-msgid "Enable night mode"
-msgstr ""
-
-#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:25
+#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:26
msgid "Go to page"
msgstr ""
-#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:26
+#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:27
#, qt-format
msgid "Choose a page between 1 and %1"
msgstr ""
-#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:44
-msgid "GO!"
-msgstr ""
-
-#: ../src/app/qml/textView/TextView.qml:42
-msgid "Loading..."
-msgstr ""
-
-#: ../src/app/qml/ubuntu-docviewer-app.qml:240
-msgid "Document successfully imported!"
-msgid_plural "Documents successfully imported!"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../src/app/qml/ubuntu-docviewer-app.qml:243
-msgid "Open"
-msgstr ""
-
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#. TRANSLATORS: This string is used for renaming a copied file,
+#. when a file with the same name already exists in user's
+#. Documents folder.
+#.
+#. e.g. "Manual_Aquaris_E4.5_ubuntu_EN.pdf" will become
+#. "Manual_Aquaris_E4.5_ubuntu_EN (copy 2).pdf"
+#.
+#. where "2" is given by the argument "%1"
+#.
+#: ../src/plugin/file-qml-plugin/docviewerutils.cpp:111
+#, qt-format
+msgid "copy %1"
+msgstr ""
+
+#: /home/qtros/dev/ubuntu-docviewer-app-render-engine-tuning-build/po/com.ubuntu.docviewer.desktop.in.in.h:1
+msgid "Document Viewer"
+msgstr ""
+
+#: /home/qtros/dev/ubuntu-docviewer-app-render-engine-tuning-build/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr ""
=== modified file 'po/cs.po'
--- po/cs.po 2015-08-18 05:56:20 +0000
+++ po/cs.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-04 13:53+0000\n"
"Last-Translator: Vojtěch Daněk <vdanek@xxxxxxxxxxx>\n"
"Language-Team: Czech <cs@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr ""
@@ -147,32 +152,31 @@
msgid "%1 byte"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Smazat soubor"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Zrušit"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Smazat"
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Dnes"
@@ -369,6 +385,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr ""
=== renamed file 'po/cy.po' => 'po/cy.po.THIS'
=== modified file 'po/da.po'
--- po/da.po 2015-08-18 05:56:20 +0000
+++ po/da.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-26 14:46+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Danish <da@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr ""
@@ -147,32 +152,31 @@
msgid "%1 byte"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr ""
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr ""
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr ""
@@ -369,6 +385,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr ""
=== modified file 'po/de.po'
--- po/de.po 2015-08-18 05:56:20 +0000
+++ po/de.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-06-29 12:21+0000\n"
-"Last-Translator: Torsten Franz <Unknown>\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-26 14:06+0000\n"
+"Last-Translator: Phillip Sz <Unknown>\n"
"Language-Team: German <de@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-27 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "Kopie %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Dokumentenbetrachter"
@@ -149,33 +154,32 @@
msgid "%1 byte"
msgstr "%1 Byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Datei löschen"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "%1 Datei löschen"
msgstr[1] "%1 Dateien löschen"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Sind Sie sicher, dass Sie diese Datei dauerhaft löschen möchten?"
msgstr[1] ""
"Sind Sie sicher, dass Sie diese Dateien dauerhaft löschen möchten?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Abbrechen"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Löschen"
@@ -194,35 +198,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Heute, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Gestern, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd.MM.yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Heute"
@@ -253,7 +269,7 @@
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
msgid "Sorting settings..."
-msgstr "Sortiereinstellungen …"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
@@ -277,7 +293,7 @@
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
msgid "search in documents..."
-msgstr "In Dokumenten suchen …"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
msgid "Select None"
@@ -289,34 +305,32 @@
#: ../src/app/qml/documentPage/SearchEmptyState.qml:24
msgid "No matching document found"
-msgstr "Kein passendes Dokument gefunden"
+msgstr ""
#: ../src/app/qml/documentPage/SearchEmptyState.qml:26
msgid ""
"Please ensure that your query is not misspelled and/or try a different query."
msgstr ""
-"Bitte sicherstellen, dass die Anfrage nicht falsch geschrieben ist und/oder "
-"eine andere Anfrage versuchen."
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
msgid "Sorting settings"
-msgstr "Sortiereinstellungen"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:31
msgid "Sort by date (Latest first)"
-msgstr "Sortiert nach Datum (Letztes zuerst)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:32
msgid "Sort by name (A-Z)"
-msgstr "Sortiert nach Name (A-Z)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:33
msgid "Sort by size (Smaller first)"
-msgstr "Sortiert nach Größe (Kleinstes zuerst)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:47
msgid "Reverse order"
-msgstr "Umgekehrte Reihenfolge"
+msgstr ""
#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
@@ -376,6 +390,6 @@
msgid "Open"
msgstr "Öffnen"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "Dokumente;Betrachter;PDF;Leser;Dokumentenbetrachter;PDF-Betrachter"
=== modified file 'po/el.po'
--- po/el.po 2015-08-18 05:56:20 +0000
+++ po/el.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-07-17 10:02+0000\n"
-"Last-Translator: Simos Xenitellis <Unknown>\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-03-08 18:24+0000\n"
+"Last-Translator: Aggelos Arnaoutis <angelosarn@xxxxxxxxxxx>\n"
"Language-Team: Greek <el@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -30,12 +35,12 @@
#: ../src/app/content-communicator.cpp:105
#, qt-format
msgid "copy %1"
-msgstr "αντίγραφο %1"
+msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
-msgstr "Προβολή εγγράφων"
+msgstr "Προβολέας εγγράφων"
#: ../src/app/qml/common/DetailsPage.qml:27
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:97
@@ -83,27 +88,27 @@
#: ../src/app/qml/common/PickImportedDialog.qml:29
msgid "Multiple documents imported"
-msgstr "Εισήχθησαν πολλαπλά έγγραφα"
+msgstr ""
#: ../src/app/qml/common/PickImportedDialog.qml:30
msgid "Choose which one to open:"
-msgstr "Επιλέξτε ποιο να ανοίξετε:"
+msgstr ""
#: ../src/app/qml/common/RejectedImportDialog.qml:28
msgid "File not supported"
msgid_plural "Files not supported"
-msgstr[0] "Δεν υποστηρίζεται το αρχείο"
-msgstr[1] "Δεν υποστηρίζονται τα αρχεία"
+msgstr[0] ""
+msgstr[1] ""
#: ../src/app/qml/common/RejectedImportDialog.qml:29
msgid "Following document has not been imported:"
msgid_plural "Following documents have not been imported:"
-msgstr[0] "Το παρακάτω έγγραφο δεν εισήχθη:"
-msgstr[1] "Τα παρακάτω έγγραφα δεν εισήχθησαν:"
+msgstr[0] ""
+msgstr[1] ""
#: ../src/app/qml/common/ToastWithAction.qml:97
msgid "Dismiss"
-msgstr "Κλείσιμο"
+msgstr ""
#: ../src/app/qml/common/UnknownTypeDialog.qml:26
msgid "Unknown file type"
@@ -115,7 +120,7 @@
"as a plain text?"
msgstr ""
"Συγγνωμή αλλά δεν είναι δυνατό να βρεθεί τρόπος να εμφανιστεί αυτό το "
-"αρχείο. Θέλετε να το ανοίξετα ως απλό κείμενο;"
+"αρχείο. Θέλετε να το ανοίξετα σαν απλό κείμενο;"
#: ../src/app/qml/common/UnknownTypeDialog.qml:29
msgid "Yes"
@@ -147,80 +152,91 @@
#: ../src/app/qml/common/utils.js:33
#, qt-format
msgid "%1 byte"
-msgstr "%1 byte"
+msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Διαγραφή αρχείου"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "ΔΙαγραφή %1 αρχείου"
msgstr[1] "Διαγραφή %1 αρχείων"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
-msgstr[0] "Θέλετε σίγουρα να διαγράψετε για πάντα αυτό το αρχείο;"
-msgstr[1] "Θέλετε σίγουρα να διαγράψετε για πάντα αυτά τα αρχεία;"
+msgstr[0] "Είστε σίγουρος πως θέλετε να διαγράψετε μόνιμα αυτό το αρχείο;"
+msgstr[1] "Είστε σίγουρος πως θέλετε να διαγράψετε μόνιμα αυτά τα αρχεία;"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
-msgstr "Ακύρωση"
+msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Διαγραφή"
#: ../src/app/qml/documentPage/DocumentEmptyState.qml:24
msgid "No document found"
-msgstr "Δεν βρέθηκαν έγγραφα"
+msgstr "Κανένα έγγραφο δεν βρέθηκε"
#: ../src/app/qml/documentPage/DocumentEmptyState.qml:28
msgid ""
"Connect your device to any computer and simply drag files to the Documents "
"folder."
msgstr ""
-"Συνδέστε τη συσκευή σας σε οποιονδήποτε υπολογιστή και απλά σύρτε αρχεία στο "
-"φάκελο Έγγραφα."
+"Συνεστε την συσκευή σας σε οποιονδήποτε υπολογιστή και απλά σύτερε αρχεία "
+"στον φάκελο Έγγραφα."
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Σήμερα, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
-msgstr "Χθες, %1"
+msgstr "Χθές, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
-msgstr "dddd, hh:mm"
+msgstr "ηηηη, ωω:λλ"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
-msgstr "dd-MM-yyyy hh:mm"
+msgstr "ηη-ΜΜ-εεε ωω:λλ"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
@@ -232,27 +248,27 @@
#: ../src/app/qml/documentPage/DocumentListView.qml:163
msgid "Earlier this week"
-msgstr "Νωρίτερα αυτή την εβδομάδα"
+msgstr "Νωρίτερα αυτήν την εβδομάδα"
#: ../src/app/qml/documentPage/DocumentListView.qml:166
msgid "Earlier this month"
-msgstr "Νωρίτερα αυτό τον μήνα"
+msgstr "Νωρίτερα αυτόν τον μήνα"
#: ../src/app/qml/documentPage/DocumentListView.qml:168
msgid "Even earlier..."
-msgstr "Ακόμα νωρίτερα..."
+msgstr "Ακόμα νωρίτερα"
#: ../src/app/qml/documentPage/DocumentPage.qml:24
msgid "Documents"
-msgstr "Έγγραφα"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:29
msgid "Search..."
-msgstr "Αναζήτηση..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
msgid "Sorting settings..."
-msgstr "Ρυθμίσεις ταξινόμησης..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
@@ -276,7 +292,7 @@
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
msgid "search in documents..."
-msgstr "αναζήτηση στα έγγραφα..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
msgid "Select None"
@@ -288,34 +304,32 @@
#: ../src/app/qml/documentPage/SearchEmptyState.qml:24
msgid "No matching document found"
-msgstr "Δεν βρέθηκαν έγγραφα που ταιριάζουν"
+msgstr ""
#: ../src/app/qml/documentPage/SearchEmptyState.qml:26
msgid ""
"Please ensure that your query is not misspelled and/or try a different query."
msgstr ""
-"Παρακαλούμε επιβεβαιώστε ότι το λεκτικό αναζήτησης είναι σωστό και/ή "
-"δοκιμάστε με άλλο λεκτικό."
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
msgid "Sorting settings"
-msgstr "Ρυθμίσεις ταξινόμησης"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:31
msgid "Sort by date (Latest first)"
-msgstr "Ταξινόμηση ανά ημερομηνία (Πιο πρόσφατα πρώτα)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:32
msgid "Sort by name (A-Z)"
-msgstr "Ταξινόμηση ανά όνομα (Α-Ω)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:33
msgid "Sort by size (Smaller first)"
-msgstr "Ταξινόμηση ανά μέγεθος (Πιο μικρά πρώτα)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:47
msgid "Reverse order"
-msgstr "Αντίστροφη σειρά"
+msgstr ""
#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
@@ -325,7 +339,7 @@
#: ../src/app/qml/pdfView/PdfContentsPage.qml:38
msgid "Hide table of contents"
-msgstr "Απόκρυψη του πίνακα περιεχομένων"
+msgstr ""
#. TRANSLATORS: the first argument (%1) refers to the page currently shown on the screen,
#. while the second one (%2) refers to the total pages count.
@@ -336,17 +350,17 @@
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:85
msgid "Go to page..."
-msgstr "Μετάβαση στη σελίδα..."
+msgstr "Μετάβαση στην σελίδα..."
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
msgid "Disable night mode"
-msgstr "Απενεργοποίηση της ρύθμισης νύχτας"
+msgstr ""
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
msgid "Enable night mode"
-msgstr "Ενεργοποίηση της ρύθμισης νύχτας"
+msgstr ""
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:25
msgid "Go to page"
@@ -359,7 +373,7 @@
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:44
msgid "GO!"
-msgstr "ΠΑΜΕ!"
+msgstr ""
#: ../src/app/qml/textView/TextView.qml:42
msgid "Loading..."
@@ -368,13 +382,13 @@
#: ../src/app/qml/ubuntu-docviewer-app.qml:240
msgid "Document successfully imported!"
msgid_plural "Documents successfully imported!"
-msgstr[0] "Το έγγραφο εισήχθη επιτυχώς!"
-msgstr[1] "Τα έγγραφα εισήχθησαν επιτυχώς!"
+msgstr[0] ""
+msgstr[1] ""
#: ../src/app/qml/ubuntu-docviewer-app.qml:243
msgid "Open"
-msgstr "Άνοιγμα"
+msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
-msgstr "documents;viewer;pdf;reader;έγγραφα;προβολή;πδφ;αναγνώστης;διάβασμα;"
+msgstr ""
=== modified file 'po/en_AU.po'
--- po/en_AU.po 2015-08-18 05:56:20 +0000
+++ po/en_AU.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-06-27 01:15+0000\n"
"Last-Translator: Joel Addison <jaddi27@xxxxxxxxx>\n"
"Language-Team: English (Australia) <en_AU@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-28 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "copy %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Document Viewer"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Delete file"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Delete %1 file"
msgstr[1] "Delete %1 files"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Are you sure you want to permanently delete this file?"
msgstr[1] "Are you sure you want to permanently delete these files?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Cancel"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Delete"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Today, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Yesterday, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Today', hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Yesterday', hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Today"
@@ -374,6 +390,6 @@
msgid "Open"
msgstr "Open"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;viewer;pdf;reader;"
=== modified file 'po/en_GB.po'
--- po/en_GB.po 2015-08-18 05:56:20 +0000
+++ po/en_GB.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-06-30 14:30+0000\n"
-"Last-Translator: James Tait <Unknown>\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-13 21:56+0000\n"
+"Last-Translator: Andi Chandler <Unknown>\n"
"Language-Team: English (United Kingdom) <en_GB@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:59+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "copy %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Document Viewer"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Delete file"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Delete %1 file"
msgstr[1] "Delete %1 files"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Are you sure you want to permanently delete this file?"
msgstr[1] "Are you sure you want to permanently delete these files?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Cancel"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Delete"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Today, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Yesterday, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Today"
@@ -244,15 +260,15 @@
#: ../src/app/qml/documentPage/DocumentPage.qml:24
msgid "Documents"
-msgstr "Documents"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:29
msgid "Search..."
-msgstr "Search..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
msgid "Sorting settings..."
-msgstr "Sorting settings..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
@@ -276,7 +292,7 @@
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
msgid "search in documents..."
-msgstr "search in documents..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
msgid "Select None"
@@ -288,33 +304,32 @@
#: ../src/app/qml/documentPage/SearchEmptyState.qml:24
msgid "No matching document found"
-msgstr "No matching document found"
+msgstr ""
#: ../src/app/qml/documentPage/SearchEmptyState.qml:26
msgid ""
"Please ensure that your query is not misspelled and/or try a different query."
msgstr ""
-"Please ensure that your query is not misspelled and/or try a different query."
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
msgid "Sorting settings"
-msgstr "Sorting settings"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:31
msgid "Sort by date (Latest first)"
-msgstr "Sort by date (Latest first)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:32
msgid "Sort by name (A-Z)"
-msgstr "Sort by name (A-Z)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:33
msgid "Sort by size (Smaller first)"
-msgstr "Sort by size (Smaller first)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:47
msgid "Reverse order"
-msgstr "Reverse order"
+msgstr ""
#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
@@ -374,6 +389,6 @@
msgid "Open"
msgstr "Open"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;viewer;pdf;reader;"
=== modified file 'po/eo.po'
--- po/eo.po 2015-08-18 05:56:20 +0000
+++ po/eo.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-07-17 05:33+0000\n"
-"Last-Translator: Adolfo Jayme <fitoschido@xxxxxxxxx>\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-03-03 23:59+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Esperanto <eo@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -30,46 +35,46 @@
#: ../src/app/content-communicator.cpp:105
#, qt-format
msgid "copy %1"
-msgstr "%1-a kopio"
+msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
-msgstr "Dokumentmontrilo"
+msgstr ""
#: ../src/app/qml/common/DetailsPage.qml:27
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:97
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:83
msgid "Details"
-msgstr "Detaloj"
+msgstr ""
#: ../src/app/qml/common/DetailsPage.qml:33
msgid "Location"
-msgstr "Loko"
+msgstr ""
#: ../src/app/qml/common/DetailsPage.qml:37
msgid "Size"
-msgstr "Grandeco"
+msgstr ""
#: ../src/app/qml/common/DetailsPage.qml:42
msgid "Created"
-msgstr "Kreita"
+msgstr ""
#: ../src/app/qml/common/DetailsPage.qml:47
msgid "Last modified"
-msgstr "Laste ŝanĝita"
+msgstr ""
#: ../src/app/qml/common/DetailsPage.qml:54
msgid "MIME type"
-msgstr "MIME-tipo"
+msgstr ""
#: ../src/app/qml/common/FileNotFoundDialog.qml:24
msgid "Error"
-msgstr "Eraro"
+msgstr ""
#: ../src/app/qml/common/FileNotFoundDialog.qml:25
msgid "File does not exist"
-msgstr "La dosiero ne ekzistas"
+msgstr ""
#: ../src/app/qml/common/FileNotFoundDialog.qml:28
#: ../src/app/qml/common/PickImportedDialog.qml:47
@@ -79,7 +84,7 @@
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:61
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:61
msgid "Close"
-msgstr "Fermi"
+msgstr ""
#: ../src/app/qml/common/PickImportedDialog.qml:29
msgid "Multiple documents imported"
@@ -107,7 +112,7 @@
#: ../src/app/qml/common/UnknownTypeDialog.qml:26
msgid "Unknown file type"
-msgstr "Nekonata dosierspeco"
+msgstr ""
#: ../src/app/qml/common/UnknownTypeDialog.qml:27
msgid ""
@@ -117,62 +122,61 @@
#: ../src/app/qml/common/UnknownTypeDialog.qml:29
msgid "Yes"
-msgstr "Jes"
+msgstr ""
#: ../src/app/qml/common/UnknownTypeDialog.qml:38
msgid "No"
-msgstr "Ne"
+msgstr ""
#. TRANSLATORS: %1 is the size of a file, expressed in GB
#: ../src/app/qml/common/utils.js:22
#, qt-format
msgid "%1 GB"
-msgstr "%1 GB"
+msgstr ""
#. TRANSLATORS: %1 is the size of a file, expressed in MB
#: ../src/app/qml/common/utils.js:26
#, qt-format
msgid "%1 MB"
-msgstr "%1 MB"
+msgstr ""
#. TRANSLATORS: %1 is the size of a file, expressed in kB
#: ../src/app/qml/common/utils.js:30
#, qt-format
msgid "%1 kB"
-msgstr "%1 kB"
+msgstr ""
#. TRANSLATORS: %1 is the size of a file, expressed in byte
#: ../src/app/qml/common/utils.js:33
#, qt-format
msgid "%1 byte"
-msgstr "%1 bitoko"
+msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
-msgstr "Forigi dosieron"
+msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr ""
@@ -189,42 +193,54 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr ""
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
-msgstr "Hodiaŭ"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentListView.qml:160
msgid "Yesterday"
-msgstr "Hieraŭ"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentListView.qml:163
msgid "Earlier this week"
@@ -326,7 +342,7 @@
#: ../src/app/qml/pdfView/PdfView.qml:34
#, qt-format
msgid "Page %1 of %2"
-msgstr "Paĝo %1 el %2"
+msgstr ""
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:85
msgid "Go to page..."
@@ -369,6 +385,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr ""
=== modified file 'po/es.po'
--- po/es.po 2015-08-18 05:56:20 +0000
+++ po/es.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-06-27 21:08+0000\n"
"Last-Translator: Adolfo Jayme <fitoschido@xxxxxxxxx>\n"
"Language-Team: Spanish <es@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-28 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "copia %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Visor de documentos"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Eliminar archivo"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Eliminar %1 archivo"
msgstr[1] "Eliminar %1 archivos"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "¿Confirma la eliminación permanente de este archivo?"
msgstr[1] "¿Confirma la eliminación permanente de estos archivos?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Cancelar"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Eliminar"
@@ -192,35 +196,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Hoy, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Ayer, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd/MM/yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Hoy', hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Ayer', hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Hoy"
@@ -373,6 +389,6 @@
msgid "Open"
msgstr "Abrir"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documentos;visor;pdf;lector;"
=== modified file 'po/eu.po'
--- po/eu.po 2015-08-18 05:56:20 +0000
+++ po/eu.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-23 21:50+0000\n"
"Last-Translator: Asier Iturralde Sarasola <Unknown>\n"
"Language-Team: Basque <eu@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Dokumentu-ikustailea"
@@ -147,32 +152,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Ezabatu fitxategia"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Ezabatu fitxategi %1"
msgstr[1] "Ezabatu %1 fitxategi"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Ziur zaude fitxategi hau behin-betiko ezabatu nahi duzula?"
msgstr[1] "Ziur zaude fitxategi hauek behin-betiko ezabatu nahi dituzula?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Utzi"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Ezabatu"
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Gaur, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Atzo, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "yyyy-MM-dd hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Gaur"
@@ -369,6 +385,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "dokumentu;ikustailea;pdf;irakurlea"
=== modified file 'po/fa.po'
--- po/fa.po 2015-08-18 05:56:20 +0000
+++ po/fa.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-07-17 10:09+0000\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-05-30 22:19+0000\n"
"Last-Translator: Danial Behzadi <dani.behzi@xxxxxxxxx>\n"
"Language-Team: Persian <fa@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "رونوشت %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "نمایشگر سند"
@@ -147,30 +152,29 @@
msgid "%1 byte"
msgstr "%1 بایت"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "حذف پرونده"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "حذف %1 پرونده"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "مطمئنید که میخواهید این پروندهها را برای همیشه حذف کنید؟"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "لغو"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "حذف"
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "امروز، %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "دیروز، %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd، hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd/MM/yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "امروز"
@@ -240,15 +256,15 @@
#: ../src/app/qml/documentPage/DocumentPage.qml:24
msgid "Documents"
-msgstr "مستندات"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:29
msgid "Search..."
-msgstr "جستوجو…"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
msgid "Sorting settings..."
-msgstr "تنظیمات چینش…"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
@@ -272,7 +288,7 @@
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
msgid "search in documents..."
-msgstr "جستوجو در مستندات…"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
msgid "Select None"
@@ -284,34 +300,32 @@
#: ../src/app/qml/documentPage/SearchEmptyState.qml:24
msgid "No matching document found"
-msgstr "هیچ سند مطابقی یافت نشد"
+msgstr ""
#: ../src/app/qml/documentPage/SearchEmptyState.qml:26
msgid ""
"Please ensure that your query is not misspelled and/or try a different query."
msgstr ""
-"لطفاُ مطمئن شوید که پرسوجویتان اشتباه نداشت و/یا پرسوجوی دیگری را امتحان "
-"کنید."
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
msgid "Sorting settings"
-msgstr "تنظیمات چینش"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:31
msgid "Sort by date (Latest first)"
-msgstr "چینش بر اساس تاریخ (ابتدا جدیدترینها)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:32
msgid "Sort by name (A-Z)"
-msgstr "چینش بر اساس نام (صعودی)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:33
msgid "Sort by size (Smaller first)"
-msgstr "چینش بر اساس اندازه (ابتدا کوچکترها)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:47
msgid "Reverse order"
-msgstr "ترتیب معکوس"
+msgstr ""
#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
@@ -370,6 +384,6 @@
msgid "Open"
msgstr "گشودن"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;viewer;pdf;reader;"
=== modified file 'po/fi.po'
--- po/fi.po 2015-08-18 05:56:20 +0000
+++ po/fi.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-06-29 11:40+0000\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-26 14:12+0000\n"
"Last-Translator: Jiri Grönroos <Unknown>\n"
"Language-Team: Finnish <fi@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-27 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "kopio %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Asiakirjakatselin"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 tavu"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Poista tiedosto"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Poista %1 tiedosto"
msgstr[1] "Poista %1 tiedostoa"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Haluatko varmasti poistaa tämän tiedoston pysyvästi?"
msgstr[1] "Haluatko varmasti poistaa nämä tiedostot pysyvästi?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Peru"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Poista"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Tänään, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Eilen, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh.mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh.mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Tänään"
@@ -375,6 +391,6 @@
msgid "Open"
msgstr "Avaa"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;viewer;pdf;reader;asiakirjat;dokumentit;katselin;lukija;"
=== modified file 'po/fr.po'
--- po/fr.po 2015-08-18 05:56:20 +0000
+++ po/fr.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-07-07 12:33+0000\n"
-"Last-Translator: Anne <anneonyme017@xxxxxxxxx>\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-05-10 13:11+0000\n"
+"Last-Translator: Yuri <Unknown>\n"
"Language-Team: French <fr@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "copie %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Visionneuse de document"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 octet"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Supprimer le fichier"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Supprimer %1 fichier"
msgstr[1] "Supprimer %1 fichiers"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Êtes-vous sûr de vouloir supprimer définitivement ce fichier ?"
msgstr[1] "Êtes-vous sûr de vouloir supprimer définitivement ces fichiers ?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Annuler"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Supprimer"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Aujourd'hui, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Hier, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Aujourd'hui"
@@ -244,15 +260,15 @@
#: ../src/app/qml/documentPage/DocumentPage.qml:24
msgid "Documents"
-msgstr "Documents"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:29
msgid "Search..."
-msgstr "Rechercher..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
msgid "Sorting settings..."
-msgstr "Paramètres de tri..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
@@ -276,7 +292,7 @@
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
msgid "search in documents..."
-msgstr "rechercher dans les documents..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
msgid "Select None"
@@ -288,34 +304,32 @@
#: ../src/app/qml/documentPage/SearchEmptyState.qml:24
msgid "No matching document found"
-msgstr "Aucun document correspondant trouvé"
+msgstr ""
#: ../src/app/qml/documentPage/SearchEmptyState.qml:26
msgid ""
"Please ensure that your query is not misspelled and/or try a different query."
msgstr ""
-"Veuillez vérifier que votre requête n'est pas mal orthographiée et/ou "
-"essayez une requête différente."
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
msgid "Sorting settings"
-msgstr "Paramètres de tri"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:31
msgid "Sort by date (Latest first)"
-msgstr "Tri par date (plus récente en premier)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:32
msgid "Sort by name (A-Z)"
-msgstr "Trier par nom (A-Z)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:33
msgid "Sort by size (Smaller first)"
-msgstr "Trier par taille (plus petite en premier)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:47
msgid "Reverse order"
-msgstr "Ordre inversé"
+msgstr ""
#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
@@ -375,6 +389,6 @@
msgid "Open"
msgstr "Ouvrir"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;visionneuse;pdf;lecteur;"
=== modified file 'po/gd.po'
--- po/gd.po 2015-08-18 05:56:20 +0000
+++ po/gd.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-06-27 15:42+0000\n"
"Last-Translator: GunChleoc <Unknown>\n"
"Language-Team: Fòram na Gàidhlig\n"
@@ -16,8 +16,13 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
"(n > 2 && n < 20) ? 2 : 3;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-28 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
"Language: gd\n"
#. TRANSLATORS: This string is used for renaming a copied file,
@@ -35,7 +40,7 @@
msgstr "lethbhreac %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Sealladair sgrìobhainnean"
@@ -155,11 +160,11 @@
msgid "%1 byte"
msgstr "%1 baidht"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Sguab às am faidhle"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
@@ -168,8 +173,8 @@
msgstr[2] "Sguab às %1 faidhlichean"
msgstr[3] "Sguab às %1 faidhle"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
@@ -185,14 +190,13 @@
"A bheil thu cinnteach gu bheil thu airson na faidhlichean seo a sguabadh às "
"gu buan?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Sguir dheth"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Sguab às"
@@ -211,35 +215,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "An-diugh %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "An-dè %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd.MM.yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'An-diugh' aig hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'An-dè' aig hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "An-diugh"
@@ -395,7 +411,7 @@
msgid "Open"
msgstr "Fosgail"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr ""
"documents;viewer;pdf;reader;sgrìobhainnean;sealladair;leughadair;inneal-"
=== modified file 'po/gl.po'
--- po/gl.po 2015-09-19 05:34:40 +0000
+++ po/gl.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,26 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+<<<<<<< TREE
"POT-Creation-Date: 2015-07-24 11:10+0200\n"
"PO-Revision-Date: 2015-09-18 16:42+0000\n"
+=======
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-23 17:13+0000\n"
+>>>>>>> MERGE-SOURCE
"Last-Translator: Marcos Lans <Unknown>\n"
"Language-Team: Galician <gl@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-09-19 05:34+0000\n"
"X-Generator: Launchpad (build 17746)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +43,7 @@
msgstr "copia %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Visor de documentos"
@@ -149,32 +159,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Eliminar ficheiro"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Eliminar %1 ficheiro"
msgstr[1] "Eliminar %1 ficheiros"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Confirma a eliminación permanente deste ficheiro?"
msgstr[1] "Confirma a eliminación permanente destes ficheiros?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Cancelar"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Eliminar"
@@ -193,35 +202,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Hoxe, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Onte, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "«Hoxe», hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "«Onte», hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Hoxe"
@@ -276,7 +297,7 @@
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
msgid "search in documents..."
-msgstr "buscar documentos..."
+msgstr "buscar nos documentos..."
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
msgid "Select None"
@@ -375,6 +396,6 @@
msgid "Open"
msgstr "Abrir"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documentos;visor;pdf;lector;"
=== modified file 'po/hu.po'
--- po/hu.po 2015-08-18 05:56:20 +0000
+++ po/hu.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-06-24 17:52+0000\n"
"Last-Translator: Richard Somlói <ricsipontaz@xxxxxxxxx>\n"
"Language-Team: Hungarian <hu@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "másolat %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Dokumentummegjelenítő"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 bájt"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Fájl törlése"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "%1 fájl törlése"
msgstr[1] "%1 fájl törlése"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Biztos, hogy véglegesen törölni szeretné ezt a fájlt?"
msgstr[1] "Biztos, hogy véglegesen törölni szeretné ezeket a fájlokat?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Mégse"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Törlés"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Ma, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Tegnap, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh.mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "yyyy.MM.dd. hh.mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Ma', hh.mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Tegnap', hh.mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Ma"
@@ -375,6 +391,6 @@
msgid "Open"
msgstr "Megnyitás"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "dokumentumok;megtekintő;pdf;olvasó;"
=== modified file 'po/id.po'
--- po/id.po 2015-08-18 05:56:20 +0000
+++ po/id.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-05-30 07:55+0000\n"
"Last-Translator: Dirgita <Unknown>\n"
"Language-Team: Indonesian <id@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "kopi %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Penampil Dokumen"
@@ -147,30 +152,29 @@
msgid "%1 byte"
msgstr "%1 bita"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Menghapus berkas"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Menghapus %1 berkas"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Yakin menghapus berkas ini?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Batal"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Hapus"
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Hari ini, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Kemarin, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, HH:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy HH:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Hari ini"
@@ -368,6 +384,6 @@
msgid "Open"
msgstr "Buka"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;viewer;pdf;reader;dokumen;penampil;pembaca"
=== modified file 'po/it.po'
--- po/it.po 2015-08-18 05:56:20 +0000
+++ po/it.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-06-30 06:59+0000\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-26 13:58+0000\n"
"Last-Translator: Claudio Arseni <claudio.arseni@xxxxxxxxx>\n"
"Language-Team: Italian <it@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-27 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "copia %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Visualizzatore di documenti"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Elimina file"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Elimina %1 file"
msgstr[1] "Elimina %1 file"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Eliminare veramente in modo permanente questo file?"
msgstr[1] "Eliminare veramente in modo permanente questi file?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Annulla"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Elimina"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Oggi, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Ieri, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd/MM/yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "«Oggi», hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "«Ieri», hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Oggi"
@@ -375,6 +391,6 @@
msgid "Open"
msgstr "Apri"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documenti;visualizzatore;pdf;lettore;viewer;reader;"
=== modified file 'po/lo.po'
--- po/lo.po 2015-08-18 05:56:20 +0000
+++ po/lo.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-04 07:27+0000\n"
"Last-Translator: Anousak <anousak@xxxxxxxxx>\n"
"Language-Team: Lao <lo@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "ຕົວເບີ່ງເອກະສານ"
@@ -147,32 +152,31 @@
msgid "%1 byte"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "ລຶບຟາຍ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "ຍົກເລີອກ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "ລຶບ"
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "ມື້ນີ້"
@@ -369,6 +385,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "ເກະສານ;ຕົວເບີ່ງ;ພີດີເເຟບ;ຕົວອ່ານ;"
=== modified file 'po/lv.po'
--- po/lv.po 2015-08-18 05:56:20 +0000
+++ po/lv.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-02-28 13:37+0000\n"
"Last-Translator: Rūdolfs Mazurs <Unknown>\n"
"Language-Team: Latvian <lv@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Dokumentu skatītājs"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Atcelt"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr ""
@@ -191,35 +195,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr ""
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr ""
@@ -371,6 +387,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "dokumenti;skatītājs;pdf;lasītājs;"
=== modified file 'po/nb.po'
--- po/nb.po 2015-10-04 06:08:56 +0000
+++ po/nb.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,27 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+<<<<<<< TREE
"POT-Creation-Date: 2015-07-24 11:10+0200\n"
"PO-Revision-Date: 2015-10-03 02:19+0000\n"
"Last-Translator: Marius Gripsgard <me@xxxxxxxxxxxxx>\n"
+=======
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-28 13:54+0000\n"
+"Last-Translator: Åka Sikrom <Unknown>\n"
+>>>>>>> MERGE-SOURCE
"Language-Team: Norwegian Bokmal <nb@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-10-04 06:08+0000\n"
"X-Generator: Launchpad (build 17783)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-29 05:36+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +44,7 @@
msgstr "kopi nr. %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Dokumentvisning"
@@ -147,32 +158,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Slett fil"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Slett %1 fil"
msgstr[1] "Slett %1 filer"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Er du sikker på at du vil slette denne fila for godt?"
msgstr[1] "Er du sikker på at du vil slette disse filene for godt?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Avbryt"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Slett"
@@ -189,35 +199,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "I dag %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "I går %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd.MM.yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Today', hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Yesterday', hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "I dag"
@@ -370,6 +392,6 @@
msgid "Open"
msgstr "Åpen"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "dokumenter;visning;pdf;leser;"
=== modified file 'po/nl.po'
--- po/nl.po 2015-08-18 05:56:20 +0000
+++ po/nl.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-06-29 10:07+0000\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-27 15:34+0000\n"
"Last-Translator: Hannie Dumoleyn <Unknown>\n"
"Language-Team: Dutch <nl@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-28 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "kopie %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Documentenviewer"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Bestand verwijderen"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "%1 bestand verwijderen"
msgstr[1] "%1 bestanden verwijderen"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Weet u zeker dat u dit bestand definitief wilt verwijderen?"
msgstr[1] "Weet u zeker dat u deze bestanden definitief wilt verwijderen?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Annuleren"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Verwijderen"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Vandaag, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Gisteren, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "‘Vandaag’, hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "‘Gisteren’, hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Vandaag"
@@ -375,6 +391,6 @@
msgid "Open"
msgstr "Openen"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documenten;viewer;pdf;lezer;"
=== modified file 'po/ny.po'
--- po/ny.po 2015-08-18 05:56:20 +0000
+++ po/ny.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-09 08:42+0000\n"
"Last-Translator: Herald Luwizghie <luwizghieherald@xxxxxxxxx>\n"
"Language-Team: Chewa; Chichewa; Nyanja <ny@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Chonela ma dokumenti"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Fufuta failo"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Kufufuta %1 failo"
msgstr[1] "Kufufuta %1 mafailo"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Zoonadi mukufuna mufufutiletu failoyi?"
msgstr[1] "Zoonadi mukufiuna mufufutiletu mafailowa?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Lepheletsa"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Fufuta"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Lero, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Dzulo, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "ddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Lero"
@@ -373,6 +389,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "dokumenti;choonela;pdf;chowelengela;"
=== modified file 'po/pa.po'
--- po/pa.po 2015-08-18 05:56:20 +0000
+++ po/pa.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-06-30 04:21+0000\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-05-10 04:07+0000\n"
"Last-Translator: Gursharnjit_Singh <ubuntuser13@xxxxxxxxx>\n"
"Language-Team: Punjabi <pa@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr "ਕਾਪੀ %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "ਦਸਤਾਵੇਜ ਦਰਸ਼ਕ"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 ਬਾਈਟ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "ਫ਼ਾਈਲ ਹਟਾਓ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "%1 ਫ਼ਾਈਲ ਹਟਾਓ"
msgstr[1] "%1 ਫ਼ਾਈਲਾਂ ਹਟਾਓ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "ਕੀ ਤੁਸੀਂ ਇਸ ਫ਼ਾਈਲ ਨੂੰ ਪੱਕੇ ਤੌਰ ਤੇ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
msgstr[1] "ਕੀ ਤੁਸੀਂ ਇਹਨਾਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਪੱਕੇ ਤੌਰ ਤੇ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "ਰੱਦ"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "ਹਟਾਓ"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "ਅੱਜ, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "ਕੱਲ੍ਹ, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "ਅੱਜ"
@@ -244,15 +260,15 @@
#: ../src/app/qml/documentPage/DocumentPage.qml:24
msgid "Documents"
-msgstr "ਦਸਤਾਵੇਜ਼"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:29
msgid "Search..."
-msgstr "ਖੋਜ..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
msgid "Sorting settings..."
-msgstr "ਕਿਸਮ ਵੰਡ ਸੈਟਿੰਗ..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
@@ -276,7 +292,7 @@
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
msgid "search in documents..."
-msgstr "ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਖੋਜੋ..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
msgid "Select None"
@@ -288,34 +304,32 @@
#: ../src/app/qml/documentPage/SearchEmptyState.qml:24
msgid "No matching document found"
-msgstr "ਕੋਈ ਢੁੱਕਵਾਂ ਦਸਤਾਵੇਜ਼ ਨਹੀਂ ਮਿਲਿਆ"
+msgstr ""
#: ../src/app/qml/documentPage/SearchEmptyState.qml:26
msgid ""
"Please ensure that your query is not misspelled and/or try a different query."
msgstr ""
-"ਕਿਰਪਾ ਕਰਕੇ ਯਕੀਨੀ ਬਣਾਓ ਕੀ ਪੁੱਛ-ਗਿੱਛ ਦੇ ਅੱਖਰ ਠੀਕ ਹਨ ਅਤੇ/ਜਾਂ ਇੱਕ ਵੱਖ ਪੁੱਛ-ਗਿ਼ੱਛ "
-"ਵਰਤੋਂ।"
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
msgid "Sorting settings"
-msgstr "ਕਿਸਮ ਵੰਡ ਸੈਟਿੰਗਾਂ"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:31
msgid "Sort by date (Latest first)"
-msgstr "ਮਿਤੀ ਅਨੁਸਾਰ ਵੰਡੋ (ਨਵੀਆਂ ਪਹਿਲਾਂ)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:32
msgid "Sort by name (A-Z)"
-msgstr "ਨਾਂ ਅਨੁਸਾਰ ਵੰਡੋ (A-Z)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:33
msgid "Sort by size (Smaller first)"
-msgstr "ਅਕਾਰ ਅਨੁਸਾਰ ਵੰਡੋ (ਛੋਟਾ ਪਹਿਲਾਂ)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:47
msgid "Reverse order"
-msgstr "ਉਲਟ ਤਰਤੀਬ"
+msgstr ""
#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
@@ -375,6 +389,6 @@
msgid "Open"
msgstr "ਖੋਲ੍ਹੋ"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "ਦਸਤਾਵੇਜ;ਦਰਸਕ;pdf;ਰੀਡਰ;"
=== modified file 'po/pl.po'
--- po/pl.po 2015-09-14 05:58:13 +0000
+++ po/pl.po 2015-11-19 15:38:45 +0000
@@ -7,8 +7,13 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+<<<<<<< TREE
"POT-Creation-Date: 2015-07-24 11:10+0200\n"
"PO-Revision-Date: 2015-09-13 16:25+0000\n"
+=======
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-04-29 08:23+0000\n"
+>>>>>>> MERGE-SOURCE
"Last-Translator: Krzysztof Tataradziński <Unknown>\n"
"Language-Team: Polish <pl@xxxxxx>\n"
"MIME-Version: 1.0\n"
@@ -16,8 +21,13 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-09-14 05:58+0000\n"
"X-Generator: Launchpad (build 17720)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:58+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -34,7 +44,7 @@
msgstr "kopia %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Przeglądarka dokumentów"
@@ -150,13 +160,13 @@
#: ../src/app/qml/common/utils.js:33
#, qt-format
msgid "%1 byte"
-msgstr "%1 B"
+msgstr "%1 bajtów"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Usuń plik"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
@@ -164,67 +174,76 @@
msgstr[1] "Usuń %1 pliki"
msgstr[2] "Usuń %1 plików"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
-msgstr[0] "Jesteś pewien, że chcesz trwale usunąć ten plik?"
-msgstr[1] "Jesteś pewien, że chcesz trwale usunąć te pliki?"
-msgstr[2] "Jesteś pewien, że chcesz trwale usunąć te pliki?"
+msgstr[0] ""
+msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Anuluj"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Usuń"
#: ../src/app/qml/documentPage/DocumentEmptyState.qml:24
msgid "No document found"
-msgstr "Nie znaleziono dokumentu"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentEmptyState.qml:28
msgid ""
"Connect your device to any computer and simply drag files to the Documents "
"folder."
msgstr ""
-"Podłącz urządzenie do komputera i przeciągnij pliki do folderu Dokumenty."
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Dziś, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Wczoraj, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
-msgstr "dd.MM.yyyy, hh:mm"
+msgstr "dd-MM-yyyy hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
@@ -379,6 +398,6 @@
msgid "Open"
msgstr "Otwórz"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "dokumenty;przeglądarka;pdf;czytnik"
=== modified file 'po/pt.po'
--- po/pt.po 2015-08-18 05:56:20 +0000
+++ po/pt.po 2015-11-19 15:38:45 +0000
@@ -7,16 +7,21 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-07-17 16:14+0000\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-27 21:08+0000\n"
"Last-Translator: António Miranda <Unknown>\n"
"Language-Team: Portuguese <pt@xxxxxx>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-28 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,9 +38,9 @@
msgstr "cópia %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
-msgstr "Documentos"
+msgstr "Visualizador de Documentos"
#: ../src/app/qml/common/DetailsPage.qml:27
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:97
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 byte"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Apagar o ficheiro"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "Apagar %1 ficheiro"
msgstr[1] "Apagar %1 ficheiros"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Tem a certeza que quer eliminar este ficheiro?"
msgstr[1] "Tem a certeza que quer eliminar estes ficheiros?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Cancelar"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Apagar"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Hoje, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Ontem, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Hoje', hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Ontem', hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Hoje"
@@ -375,6 +391,6 @@
msgid "Open"
msgstr "Abrir"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "visualizador;documentos;leitor;pdf"
=== modified file 'po/pt_BR.po'
--- po/pt_BR.po 2015-08-18 05:56:20 +0000
+++ po/pt_BR.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-04 02:07+0000\n"
"Last-Translator: Rafael Neri <Unknown>\n"
"Language-Team: Brazilian Portuguese <pt_BR@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:59+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Visualizador de documentos"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Excluir arquivo"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Cancelar"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Excluir"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd/MM/yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Hoje"
@@ -373,6 +389,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documentos;visualizador;pdf;leitor"
=== modified file 'po/ru.po'
--- po/ru.po 2015-08-18 05:56:20 +0000
+++ po/ru.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-06-26 14:22+0000\n"
"Last-Translator: Oleg Koptev <koptev.oleg@xxxxxxxxx>\n"
"Language-Team: Russian <ru@xxxxxx>\n"
@@ -16,8 +16,13 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-27 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -34,7 +39,7 @@
msgstr "копия %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Программа просмотра документов"
@@ -151,11 +156,11 @@
msgid "%1 byte"
msgstr "%1 байт"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Удалить файл"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
@@ -163,22 +168,21 @@
msgstr[1] "Удалить %1 файла"
msgstr[2] "Удалить %1 файлов"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Удалить этот файл окончательно?"
msgstr[1] "Удалить эти файлы окончательно?"
msgstr[2] "Удалить эти файлы окончательно?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Отменить"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Удалить"
@@ -197,35 +201,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Сегодня, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Вчера, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Сегодня', hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Вчера', hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Сегодня"
@@ -379,6 +395,6 @@
msgid "Open"
msgstr "Открыть"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "документы;просмотр;pdf;чтение;"
=== modified file 'po/sl.po'
--- po/sl.po 2015-08-18 05:56:20 +0000
+++ po/sl.po 2015-11-19 15:38:45 +0000
@@ -7,8 +7,8 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
-"PO-Revision-Date: 2015-07-20 09:45+0000\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-27 12:32+0000\n"
"Last-Translator: Sasa Batistic <Unknown>\n"
"Language-Team: Slovenian <sl@xxxxxx>\n"
"MIME-Version: 1.0\n"
@@ -16,8 +16,13 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
"n%100==4 ? 3 : 0);\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-28 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -34,7 +39,7 @@
msgstr "kopija %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Pregledovalnik dokumentov"
@@ -84,27 +89,23 @@
#: ../src/app/qml/common/PickImportedDialog.qml:29
msgid "Multiple documents imported"
-msgstr "Več dokumentov je uvoženih"
+msgstr ""
#: ../src/app/qml/common/PickImportedDialog.qml:30
msgid "Choose which one to open:"
-msgstr "Izberite, katerega boste odprli:"
+msgstr ""
#: ../src/app/qml/common/RejectedImportDialog.qml:28
msgid "File not supported"
msgid_plural "Files not supported"
-msgstr[0] "Datotek ni podprtih"
-msgstr[1] "Datoteka ni podprta"
-msgstr[2] "Datoteki nista podprti"
-msgstr[3] "Datoteke niso podprte"
+msgstr[0] ""
+msgstr[1] ""
#: ../src/app/qml/common/RejectedImportDialog.qml:29
msgid "Following document has not been imported:"
msgid_plural "Following documents have not been imported:"
-msgstr[0] "Sledečih dokumentov ni bilo uvoženih:"
-msgstr[1] "Sledeči dokument ni bil uvožen:"
-msgstr[2] "Sledeča dokumenta nisa bila uvožena:"
-msgstr[3] "Sledeči dokumenti niso bili uvoženi:"
+msgstr[0] ""
+msgstr[1] ""
#: ../src/app/qml/common/ToastWithAction.qml:97
msgid "Dismiss"
@@ -152,38 +153,33 @@
#: ../src/app/qml/common/utils.js:33
#, qt-format
msgid "%1 byte"
-msgstr "%1 bajt"
+msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Izbriši datoteko"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
-msgstr[0] "Izbriši %1 datotek"
-msgstr[1] "Izbriši %1 datoteko"
-msgstr[2] "Izbriši %1 datoteki"
-msgstr[3] "Izbriši %1 datoteke"
+msgstr[0] ""
+msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
-msgstr[0] "Ali ste prepričani, da želite trajno izbrisati datotek?"
-msgstr[1] "Ali ste prepričani, da želite trajno izbrisati to datoteko?"
-msgstr[2] "Ali ste prepričani, da želite trajno izbrisati ti datoteki?"
-msgstr[3] "Ali ste prepričani, da želite trajno izbrisati te datoteke?"
+msgstr[0] ""
+msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Prekliči"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Izbriši"
@@ -202,35 +198,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
-msgstr "Danes, %1"
+msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
-msgstr "Včeraj, %1"
+msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Danes"
@@ -253,15 +261,15 @@
#: ../src/app/qml/documentPage/DocumentPage.qml:24
msgid "Documents"
-msgstr "Dokumenti"
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:29
msgid "Search..."
-msgstr "Poišči ..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
msgid "Sorting settings..."
-msgstr "Nastavitve razvrščanja ..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
@@ -285,7 +293,7 @@
#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
msgid "search in documents..."
-msgstr "išči v dokumentih ..."
+msgstr ""
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
msgid "Select None"
@@ -297,34 +305,32 @@
#: ../src/app/qml/documentPage/SearchEmptyState.qml:24
msgid "No matching document found"
-msgstr "Ni ujemajočega dokumenta"
+msgstr ""
#: ../src/app/qml/documentPage/SearchEmptyState.qml:26
msgid ""
"Please ensure that your query is not misspelled and/or try a different query."
msgstr ""
-"Prepričajte se, da vaša poizvedba ni napačno črkovana in/ali poskusite drugo "
-"poizvedbo."
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
msgid "Sorting settings"
-msgstr "Nastavitve razvrščanja"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:31
msgid "Sort by date (Latest first)"
-msgstr "Razvrsti po datumu (najnovejši so prvi)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:32
msgid "Sort by name (A-Z)"
-msgstr "Razvrsti po imenu (A-Z)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:33
msgid "Sort by size (Smaller first)"
-msgstr "Razvrsti po velikosti (najmanjši so prvi)"
+msgstr ""
#: ../src/app/qml/documentPage/SortSettingsDialog.qml:47
msgid "Reverse order"
-msgstr "Preobrni red"
+msgstr ""
#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
@@ -334,7 +340,7 @@
#: ../src/app/qml/pdfView/PdfContentsPage.qml:38
msgid "Hide table of contents"
-msgstr "Skrij kazalo vsebine"
+msgstr ""
#. TRANSLATORS: the first argument (%1) refers to the page currently shown on the screen,
#. while the second one (%2) refers to the total pages count.
@@ -350,12 +356,12 @@
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
msgid "Disable night mode"
-msgstr "Onemogoči nočni način"
+msgstr ""
#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
msgid "Enable night mode"
-msgstr "Omogoči nočni način"
+msgstr ""
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:25
msgid "Go to page"
@@ -377,15 +383,13 @@
#: ../src/app/qml/ubuntu-docviewer-app.qml:240
msgid "Document successfully imported!"
msgid_plural "Documents successfully imported!"
-msgstr[0] "Dokumentov uspešno uvoženih!"
-msgstr[1] "Dokument uspešno uvožen!"
-msgstr[2] "Dokumenta uspešno uvožena!"
-msgstr[3] "Dokumenti uspešno uvoženi!"
+msgstr[0] ""
+msgstr[1] ""
#: ../src/app/qml/ubuntu-docviewer-app.qml:243
msgid "Open"
-msgstr "Odpri"
+msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "dokumenti;pregledovalnik;pdf;bralnik;"
=== modified file 'po/tr.po'
--- po/tr.po 2015-08-18 05:56:20 +0000
+++ po/tr.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-22 15:24+0000\n"
"Last-Translator: Arda Ünlü <aarda.uunlu@xxxxxxxxx>\n"
"Language-Team: Turkish <tr@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:59+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Belge Görüntüleyici"
@@ -149,32 +154,31 @@
msgid "%1 byte"
msgstr "%1 bayt"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Dosyayı sil"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] "%1 dosyayı sil"
msgstr[1] "%1 dosyayı sil"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Bu dosyayı kalıcı olarak silmek istediğinizden emin misiniz?"
msgstr[1] "Bu dosyaları kalıcı olarak silmek istediğinizden emin misiniz?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "İptal"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Sil"
@@ -193,35 +197,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Bugün, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Dün, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "hh:mm dddd"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd/MM/yyyy hh.mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Bugün"
@@ -373,6 +389,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "belgeler;görüntüleyici;pdf;okuyucu;gösterici;"
=== modified file 'po/uk.po'
--- po/uk.po 2015-08-18 05:56:20 +0000
+++ po/uk.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-06-26 14:13+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@xxxxxxxxx>\n"
"Language-Team: Ukrainian <uk@xxxxxx>\n"
@@ -16,8 +16,13 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-27 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -34,7 +39,7 @@
msgstr "копія %1"
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "Перегляд документів"
@@ -152,11 +157,11 @@
msgid "%1 byte"
msgstr "%1 байт"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr "Вилучити файл"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
@@ -164,22 +169,21 @@
msgstr[1] "Вилучити %1 файли"
msgstr[2] "Вилучити %1 файлів"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] "Ви впевнені, що хочете остаточно видалити цей файл?"
msgstr[1] "Ви впевнені, що хочете остаточно видалити ці файли?"
msgstr[2] "Ви впевнені, що хочете остаточно видалити ці файли?"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "Скасувати"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr "Вилучити"
@@ -198,35 +202,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr "Сьогодні, %1"
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr "Вчора, %1"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr "dddd, hh:mm"
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr "dd-MM-yyyy hh:mm"
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Today', hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Yesterday', hh:mm"
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr "Сьогодні"
@@ -381,6 +397,6 @@
msgid "Open"
msgstr "Відкрити"
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;viewer;pdf;reader;документи;перегляд;пдф;читання;"
=== added file 'po/uz.po'
--- po/uz.po 1970-01-01 00:00:00 +0000
+++ po/uz.po 2015-11-19 15:38:45 +0000
@@ -0,0 +1,395 @@
+# Uzbek translation for ubuntu-docviewer-app
+# Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015
+# This file is distributed under the same license as the ubuntu-docviewer-app package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ubuntu-docviewer-app\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
+"PO-Revision-Date: 2015-06-26 14:48+0000\n"
+"Last-Translator: Learner <muzaffar.habibullayev@xxxxxxxxx>\n"
+"Language-Team: Uzbek <uz@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Launchpad-Export-Date: 2015-06-27 05:35+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+
+#. TRANSLATORS: This string is used for renaming a copied file,
+#. when a file with the same name already exists in user's
+#. Documents folder.
+#.
+#. e.g. "Manual_Aquaris_E4.5_ubuntu_EN.pdf" will become
+#. "Manual_Aquaris_E4.5_ubuntu_EN (copy 2).pdf"
+#.
+#. where "2" is given by the argument "%1"
+#.
+#: ../src/app/content-communicator.cpp:105
+#, qt-format
+msgid "copy %1"
+msgstr "nusxasi %1"
+
+#: ../src/app/docviewer-application.cpp:171
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
+msgid "Document Viewer"
+msgstr "Hujjat ko'ruvchi"
+
+#: ../src/app/qml/common/DetailsPage.qml:27
+#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:97
+#: ../src/app/qml/textView/TextViewDefaultHeader.qml:83
+msgid "Details"
+msgstr "Tafsilotlar"
+
+#: ../src/app/qml/common/DetailsPage.qml:33
+msgid "Location"
+msgstr "Manzili"
+
+#: ../src/app/qml/common/DetailsPage.qml:37
+msgid "Size"
+msgstr "Hajmi"
+
+#: ../src/app/qml/common/DetailsPage.qml:42
+msgid "Created"
+msgstr "Yaratilgan"
+
+#: ../src/app/qml/common/DetailsPage.qml:47
+msgid "Last modified"
+msgstr "So'ngi o'zgartirilgan"
+
+#: ../src/app/qml/common/DetailsPage.qml:54
+msgid "MIME type"
+msgstr "MIME turi"
+
+#: ../src/app/qml/common/FileNotFoundDialog.qml:24
+msgid "Error"
+msgstr "Xato"
+
+#: ../src/app/qml/common/FileNotFoundDialog.qml:25
+msgid "File does not exist"
+msgstr "Fayl mavjud emas"
+
+#: ../src/app/qml/common/FileNotFoundDialog.qml:28
+#: ../src/app/qml/common/PickImportedDialog.qml:47
+#: ../src/app/qml/common/RejectedImportDialog.qml:38
+#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:32
+#: ../src/app/qml/documentPage/SortSettingsDialog.qml:53
+#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:61
+#: ../src/app/qml/textView/TextViewDefaultHeader.qml:61
+msgid "Close"
+msgstr "Yopish"
+
+#: ../src/app/qml/common/PickImportedDialog.qml:29
+msgid "Multiple documents imported"
+msgstr "Ko'p hujjatlar import qilindi"
+
+#: ../src/app/qml/common/PickImportedDialog.qml:30
+msgid "Choose which one to open:"
+msgstr "Qaysi birini ochilsin:"
+
+#: ../src/app/qml/common/RejectedImportDialog.qml:28
+msgid "File not supported"
+msgid_plural "Files not supported"
+msgstr[0] ""
+"Fayl qo'llab quvvatlanmaydi\r\n"
+"Fayllar qo'llab quvvatlanmaydi"
+
+#: ../src/app/qml/common/RejectedImportDialog.qml:29
+msgid "Following document has not been imported:"
+msgid_plural "Following documents have not been imported:"
+msgstr[0] ""
+"Ushbu hujjat import qilindi: \r\n"
+"Ushbu hujjatlar import qilindi:"
+
+#: ../src/app/qml/common/ToastWithAction.qml:97
+msgid "Dismiss"
+msgstr "Bekor qilish"
+
+#: ../src/app/qml/common/UnknownTypeDialog.qml:26
+msgid "Unknown file type"
+msgstr "Noma'lum fayl turi"
+
+#: ../src/app/qml/common/UnknownTypeDialog.qml:27
+msgid ""
+"Sorry but we can't find a way to display this file. Do you want to open it "
+"as a plain text?"
+msgstr ""
+"Uzr lekin ushbu faylni qanday ochishni bilmayapmiz. Oddiy matn holida "
+"ochilsinmi?"
+
+#: ../src/app/qml/common/UnknownTypeDialog.qml:29
+msgid "Yes"
+msgstr "Ha"
+
+#: ../src/app/qml/common/UnknownTypeDialog.qml:38
+msgid "No"
+msgstr "Yo‘q"
+
+#. TRANSLATORS: %1 is the size of a file, expressed in GB
+#: ../src/app/qml/common/utils.js:22
+#, qt-format
+msgid "%1 GB"
+msgstr "%1 GB"
+
+#. TRANSLATORS: %1 is the size of a file, expressed in MB
+#: ../src/app/qml/common/utils.js:26
+#, qt-format
+msgid "%1 MB"
+msgstr "%1 MB"
+
+#. TRANSLATORS: %1 is the size of a file, expressed in kB
+#: ../src/app/qml/common/utils.js:30
+#, qt-format
+msgid "%1 kB"
+msgstr "%1 kB"
+
+#. TRANSLATORS: %1 is the size of a file, expressed in byte
+#: ../src/app/qml/common/utils.js:33
+#, qt-format
+msgid "%1 byte"
+msgstr "%1 bayt"
+
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
+msgid "Delete file"
+msgstr "Fayli o'chirish"
+
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
+#, qt-format
+msgid "Delete %1 file"
+msgid_plural "Delete %1 files"
+msgstr[0] ""
+"%1 faylni o'chirish\r\n"
+"%1 fayllarni o'chirish"
+
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
+msgid "Are you sure you want to permanently delete this file?"
+msgid_plural "Are you sure you want to permanently delete these files?"
+msgstr[0] ""
+"Ushbu faylni butunlay o'chirmoqchimisiz?\r\n"
+"Ushbu fayllarni butunlay o'chirmoqchimisiz?"
+
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
+#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
+msgid "Cancel"
+msgstr "Bekor qilish"
+
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
+#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
+msgid "Delete"
+msgstr "O‘chirish"
+
+#: ../src/app/qml/documentPage/DocumentEmptyState.qml:24
+msgid "No document found"
+msgstr "Hujjat topilmadi"
+
+#: ../src/app/qml/documentPage/DocumentEmptyState.qml:28
+msgid ""
+"Connect your device to any computer and simply drag files to the Documents "
+"folder."
+msgstr ""
+"Uskunani kompyuterga ulang va shunchaki fayllarni Hujjatlar jildiga tashlang."
+
+#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
+#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
+#, qt-format
+msgid "Today, %1"
+msgstr "Bugun, %1"
+
+#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
+#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
+#, qt-format
+msgid "Yesterday, %1"
+msgstr "Kecha, %1"
+
+#. TRANSLATORS: this is a datetime formatting string,
+#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
+msgid "dddd, hh:mm"
+msgstr "dddd, hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string,
+#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
+msgid "dd-MM-yyyy hh:mm"
+msgstr "dd-MM-yyyy hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr "'Bugun', hh:mm"
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr "'Kecha', hh:mm"
+
+#: ../src/app/qml/documentPage/DocumentListView.qml:157
+msgid "Today"
+msgstr "Bugun"
+
+#: ../src/app/qml/documentPage/DocumentListView.qml:160
+msgid "Yesterday"
+msgstr "Kecha"
+
+#: ../src/app/qml/documentPage/DocumentListView.qml:163
+msgid "Earlier this week"
+msgstr "Shu hafta oldinroq"
+
+#: ../src/app/qml/documentPage/DocumentListView.qml:166
+msgid "Earlier this month"
+msgstr "Shu oy oldinroq"
+
+#: ../src/app/qml/documentPage/DocumentListView.qml:168
+msgid "Even earlier..."
+msgstr "Yanada oldin ..."
+
+#: ../src/app/qml/documentPage/DocumentPage.qml:24
+msgid "Documents"
+msgstr "Hujjatlar"
+
+#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:29
+msgid "Search..."
+msgstr "Izlash..."
+
+#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:37
+msgid "Sorting settings..."
+msgstr ""
+
+#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
+#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
+msgid "Switch to single column list"
+msgstr "Bir ustunli ro'yxatga o'tkazish"
+
+#: ../src/app/qml/documentPage/DocumentPageDefaultHeader.qml:46
+#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:35
+msgid "Switch to grid"
+msgstr ""
+
+#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:43
+msgid "Pick"
+msgstr ""
+
+#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:27
+#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:61
+#: ../src/app/qml/textView/TextViewDefaultHeader.qml:61
+msgid "Back"
+msgstr "Orqaga"
+
+#: ../src/app/qml/documentPage/DocumentPageSearchHeader.qml:47
+msgid "search in documents..."
+msgstr "hujjatlardan qidirish..."
+
+#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:52
+msgid "Select None"
+msgstr "Hech qaysini tanlamaslik"
+
+#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:54
+msgid "Select All"
+msgstr "Barchasini tanlash"
+
+#: ../src/app/qml/documentPage/SearchEmptyState.qml:24
+msgid "No matching document found"
+msgstr "Mos hujjat topilmadi"
+
+#: ../src/app/qml/documentPage/SearchEmptyState.qml:26
+msgid ""
+"Please ensure that your query is not misspelled and/or try a different query."
+msgstr ""
+"Izlashingiz to'g'ri yozilganiga ichonch hosil qiling yoki boshqa qidiruv "
+"boshlang."
+
+#: ../src/app/qml/documentPage/SortSettingsDialog.qml:26
+msgid "Sorting settings"
+msgstr ""
+
+#: ../src/app/qml/documentPage/SortSettingsDialog.qml:31
+msgid "Sort by date (Latest first)"
+msgstr ""
+
+#: ../src/app/qml/documentPage/SortSettingsDialog.qml:32
+msgid "Sort by name (A-Z)"
+msgstr ""
+
+#: ../src/app/qml/documentPage/SortSettingsDialog.qml:33
+msgid "Sort by size (Smaller first)"
+msgstr ""
+
+#: ../src/app/qml/documentPage/SortSettingsDialog.qml:47
+msgid "Reverse order"
+msgstr ""
+
+#. TRANSLATORS: "Contents" refers to the "Table of Contents" of a PDF document.
+#: ../src/app/qml/pdfView/PdfContentsPage.qml:32
+#: ../src/app/qml/pdfView/PdfView.qml:37
+msgid "Contents"
+msgstr "Tarkibi"
+
+#: ../src/app/qml/pdfView/PdfContentsPage.qml:38
+msgid "Hide table of contents"
+msgstr "Mundarijani yashirish"
+
+#. TRANSLATORS: the first argument (%1) refers to the page currently shown on the screen,
+#. while the second one (%2) refers to the total pages count.
+#: ../src/app/qml/pdfView/PdfView.qml:34
+#, qt-format
+msgid "Page %1 of %2"
+msgstr "%2 dan %1 sahifa"
+
+#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:85
+msgid "Go to page..."
+msgstr "Sahifaga o'tish ..."
+
+#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
+#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
+msgid "Disable night mode"
+msgstr "Tungi rejimni o'chirish"
+
+#: ../src/app/qml/pdfView/PdfViewDefaultHeader.qml:91
+#: ../src/app/qml/textView/TextViewDefaultHeader.qml:77
+msgid "Enable night mode"
+msgstr "Tungi rejimni yoqish"
+
+#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:25
+msgid "Go to page"
+msgstr "Sahifaga o'tish"
+
+#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:26
+#, qt-format
+msgid "Choose a page between 1 and %1"
+msgstr ""
+
+#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:44
+msgid "GO!"
+msgstr "Ketdik!"
+
+#: ../src/app/qml/textView/TextView.qml:42
+msgid "Loading..."
+msgstr "Yuklanmoqda..."
+
+#: ../src/app/qml/ubuntu-docviewer-app.qml:240
+msgid "Document successfully imported!"
+msgid_plural "Documents successfully imported!"
+msgstr[0] ""
+"Hujjat muvaffaqiyatli import qilindi!\r\n"
+"Hujjatlar muvaffaqiyatli import qilindi!"
+
+#: ../src/app/qml/ubuntu-docviewer-app.qml:243
+msgid "Open"
+msgstr "Ochish"
+
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
+msgid "documents;viewer;pdf;reader;"
+msgstr "hujjatlar;ko'ruvchi;pdf;o'quvchi;"
=== renamed file 'po/uz.po' => 'po/uz.po.moved'
=== modified file 'po/zh_CN.po'
--- po/zh_CN.po 2015-08-18 05:56:20 +0000
+++ po/zh_CN.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-04 01:02+0000\n"
"Last-Translator: Luo Lei <luolei@xxxxxxxxxxxxxxx>\n"
"Language-Team: Chinese (Simplified) <zh_CN@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:59+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr ""
@@ -147,32 +152,31 @@
msgid "%1 byte"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr ""
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr ""
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr ""
@@ -369,6 +385,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr ""
=== modified file 'po/zh_TW.po'
--- po/zh_TW.po 2015-08-18 05:56:20 +0000
+++ po/zh_TW.po 2015-11-19 15:38:45 +0000
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ubuntu-docviewer-app\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2015-07-24 11:10+0200\n"
+"POT-Creation-Date: 2015-06-24 22:48+0200\n"
"PO-Revision-Date: 2015-03-01 07:42+0000\n"
"Last-Translator: Cheng-Chia Tseng <pswo10680@xxxxxxxxx>\n"
"Language-Team: Chinese (Traditional) <zh_TW@xxxxxx>\n"
@@ -15,8 +15,13 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2015-08-18 05:56+0000\n"
"X-Generator: Launchpad (build 17690)\n"
+=======
+"X-Launchpad-Export-Date: 2015-06-26 04:59+0000\n"
+"X-Generator: Launchpad (build 17578)\n"
+>>>>>>> MERGE-SOURCE
#. TRANSLATORS: This string is used for renaming a copied file,
#. when a file with the same name already exists in user's
@@ -33,7 +38,7 @@
msgstr ""
#: ../src/app/docviewer-application.cpp:171
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:1
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:1
msgid "Document Viewer"
msgstr "文件檢視器"
@@ -147,32 +152,31 @@
msgid "%1 byte"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:28
msgid "Delete file"
msgstr ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:37
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:29
#, qt-format
msgid "Delete %1 file"
msgid_plural "Delete %1 files"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:38
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:39
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:30
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:31
msgid "Are you sure you want to permanently delete this file?"
msgid_plural "Are you sure you want to permanently delete these files?"
msgstr[0] ""
msgstr[1] ""
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:44
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:36
#: ../src/app/qml/documentPage/DocumentPagePickModeHeader.qml:27
#: ../src/app/qml/pdfView/PdfViewGotoDialog.qml:52
msgid "Cancel"
msgstr "取消"
-#: ../src/app/qml/documentPage/DeleteFileDialog.qml:49
-#: ../src/app/qml/documentPage/DocumentDelegateActions.qml:25
+#: ../src/app/qml/documentPage/DeleteFileDialog.qml:41
#: ../src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml:82
msgid "Delete"
msgstr ""
@@ -189,35 +193,47 @@
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:32
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:37
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:35
#, qt-format
msgid "Today, %1"
msgstr ""
#. TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
#. http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:37
-#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:40
#, qt-format
msgid "Yesterday, %1"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:42
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:45
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:58
msgid "dddd, hh:mm"
msgstr ""
#. TRANSLATORS: this is a datetime formatting string,
#. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
-#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:46
+#: ../src/app/qml/documentPage/DocumentGridDelegate.qml:49
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:47
#: ../src/app/qml/documentPage/DocumentListDelegate.qml:63
msgid "dd-MM-yyyy hh:mm"
msgstr ""
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:36
+msgid "'Today', hh:mm"
+msgstr ""
+
+#. TRANSLATORS: this is a datetime formatting string, and the
+#. singlequote is an escape character.
+#. See http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+#: ../src/app/qml/documentPage/DocumentListDelegate.qml:42
+msgid "'Yesterday', hh:mm"
+msgstr ""
+
#: ../src/app/qml/documentPage/DocumentListView.qml:157
msgid "Today"
msgstr ""
@@ -369,6 +385,6 @@
msgid "Open"
msgstr ""
-#: /home/stefano/Progetti/docviewer/build-ubuntu-docviewer-app-Desktop-Default/po/com.ubuntu.docviewer.desktop.in.in.h:2
+#: /home/m/dev/core/ubuntu-docviewer-app-icon-fix/obj-x86_64-linux-gnu/po/com.ubuntu.docviewer.desktop.in.in.h:2
msgid "documents;viewer;pdf;reader;"
msgstr "documents;viewer;pdf;reader;文件;檢視器;閱讀器;"
=== modified file 'src/app/CMakeLists.txt'
--- src/app/CMakeLists.txt 2015-04-29 16:06:32 +0000
+++ src/app/CMakeLists.txt 2015-11-19 15:38:45 +0000
@@ -1,29 +1,29 @@
file(GLOB_RECURSE QML_SRCS *.qml *.js)
file(GLOB_RECURSE IMAGE_FILES *.qml *.js)
-pkg_check_modules(CONTENTHUB REQUIRED libcontent-hub)
-
add_definitions(
-DGETTEXT_PACKAGE=\"${PROJECT_NAME}\"
-DGETTEXT_LOCALEDIR=\"${CMAKE_INSTALL_LOCALEDIR}\"
)
+configure_file(
+ config.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/config.h
+ @ONLY
+)
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+)
+
set(docviewer_SRCS
main.cpp
- content-communicator.cpp
- command-line-parser.cpp
- docviewer-application.cpp
- urlhandler.cpp
${QML_SRCS}
)
add_executable(ubuntu-docviewer-app ${docviewer_SRCS})
-qt5_use_modules(ubuntu-docviewer-app Widgets Gui Qml Quick DBus)
-
-target_link_libraries( ubuntu-docviewer-app
- ${CONTENTHUB_LIBRARIES}
-)
+qt5_use_modules(ubuntu-docviewer-app Widgets Gui Qml Quick DBus Concurrent)
if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
add_custom_target(docviewer-qmlfiles ALL
=== removed file 'src/app/command-line-parser.cpp'
--- src/app/command-line-parser.cpp 2015-04-29 15:23:32 +0000
+++ src/app/command-line-parser.cpp 1970-01-01 00:00:00 +0000
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2013 Canonical, Ltd.
- *
- * Authors:
- * Nicolas d'Offay <nicolas.doffay@xxxxxxxxxxxxx>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "command-line-parser.h"
-
-#include "urlhandler.h"
-
-#include <QDebug>
-#include <QDir>
-#include <QStandardPaths>
-#include <QTextStream>
-#include <QUrl>
-
-CommandLineParser::CommandLineParser()
- : m_pickMode(false),
- m_testability(false),
- m_isFullscreen(false),
- m_documentFile(""),
- m_documentsDir("")
-{
- m_urlHandler = new UrlHandler();
-}
-
-/*!
- * @brief CommandLineParser::processArguments parsers our input commandline args and sets attributes accordingly.
- * @param QStringList of commandline args to parse and set attributes.
- * @return false if invalid parameter is input or -h/--help is called.
- */
-bool CommandLineParser::processArguments(const QStringList& args)
-{
- bool valid_args = true;
-
- for (int i = 1; i < args.count(); ++i)
- {
- if (args[i] == "--help" || args[i] == "-h") {
- usage();
- return false;
- }
- else if (args[i] == "--fullscreen") {
- m_isFullscreen = true;
- }
- else if (args[i] == "--pick-mode") {
- m_pickMode = true;
- }
- else if (args[i] == "--testability") {
- m_testability = true;
- }
- else if (args[i].contains("--documents-dir")) {
- // Extract the given path
- QString dirPath = args[i].split("--documents-dir=").last();
-
- if (!dirPath.isEmpty()) {
- QDir di(dirPath);
-
- if (di.exists())
- m_documentsDir = di.absolutePath();
- else {
- QTextStream(stderr) << m_documentsDir << ": Not found" << endl;
- valid_args = false;
- }
-
- i++;
- }
- else {
- QTextStream(stderr) << "Missing PATH argument for --documents-dir'" << endl;
- usage();
- valid_args = false;
- }
- }
- else {
- if (args[i].startsWith("--desktop_file_hint")) {
- // ignore this command line switch, hybris uses it to get application info
- }
- else if (!args.at(i).isEmpty()) {
- QFileInfo fi(args.at(i));
-
- if (fi.exists()) {
- m_documentFile = fi.absoluteFilePath();
- }
- else if (m_urlHandler->processUri(args.at(i))) {
- m_documentFile = m_urlHandler->documentFile();
- }
- }
- else {
- valid_args = !invalidArg(args[i]);
- }
- }
- }
-
- return valid_args;
-}
-
-/*!
- * @brief CommandLineParser::usage() prints out our form factors.
- */
-void CommandLineParser::usage()
-{
- QTextStream out(stdout);
- out << "Usage: ubuntu-docviewer-app [options] [file_path]" << endl;
- out << "Options:" << endl;
- out << " --fullscreen\trun fullscreen" << endl;
- out << " --pick-mode\t\tEnable mode to pick photos" << endl;
- out << " file_path\t\tOpens ubuntu-docviewer-app displaying the selected file" << endl;
- out << " --documents-dir=PATH\n\t\tLoad the list of documents from the given folder, instead of default ~/Documents.\nThe path must exist prior to running ubuntu-docviewer-app" << endl;
-}
-
-/*!
- * @brief CommandLineParser::invalidArg() if an invalid argument is contained in our QStringList.
- * @return returns true.
- */
-bool CommandLineParser::invalidArg(QString arg)
-{
- QTextStream(stderr) << "Invalid argument '" << arg << "'" << endl;
- usage();
-
- return true;
-}
=== removed file 'src/app/command-line-parser.h'
--- src/app/command-line-parser.h 2015-04-29 15:23:32 +0000
+++ src/app/command-line-parser.h 1970-01-01 00:00:00 +0000
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2013 Canonical, Ltd.
- *
- * Authors:
- * Nicolas d'Offay <nicolas.doffay@xxxxxxxxxxxxx>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef COMMANDLINEPARSER_H
-#define COMMANDLINEPARSER_H
-
-#include <QHash>
-#include <QSize>
-#include <QString>
-
-class UrlHandler;
-
-/*!
- * @brief The CommandLineParser is used to parse our commandline inputs and set
- * parameters accordingly.
- */
-class CommandLineParser
-{
-public:
- CommandLineParser();
-
- bool processArguments(const QStringList& args);
-
- bool isFullscreen() const { return m_isFullscreen; }
- const QString &documentsDir() const { return m_documentsDir; }
- bool pickModeEnabled() const { return m_pickMode; }
- bool testability() const { return m_testability; }
- const QString &documentFile() const { return m_documentFile; }
-
-private:
- bool invalidArg(QString arg);
- void usage();
-
- UrlHandler *m_urlHandler;
-
- bool m_isFullscreen;
- bool m_pickMode;
- bool m_testability;
- QString m_documentFile;
- QString m_documentsDir;
-};
-
-#endif // COMMANDLINEPARSER_H
=== added file 'src/app/config.h.in'
--- src/app/config.h.in 1970-01-01 00:00:00 +0000
+++ src/app/config.h.in 2015-11-19 15:38:45 +0000
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2013 Canonical Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __CONFIG_H__
+#define __CONFIG_H__
+
+#include <QtCore/QCoreApplication>
+#include <QtCore/QDir>
+#include <QtCore/QString>
+
+inline bool isClick() {
+ static bool click = (QCoreApplication::applicationDirPath().contains("click.ubuntu.com"));
+ return click;
+}
+
+inline bool isRunningInstalled()
+{
+ static bool installed = (QCoreApplication::applicationDirPath().startsWith("/usr"));
+ return installed;
+}
+
+inline QString docviewerDirectory()
+{
+ if (isClick()) {
+ return QString(".");
+ } else if (isRunningInstalled()) {
+ return QString("@CMAKE_INSTALL_PREFIX@/@DATA_DIR@");
+ } else {
+ return QString("@CMAKE_CURRENT_SOURCE_DIR@");
+ }
+}
+#endif // __CONFIG_H__
=== removed file 'src/app/content-communicator.cpp'
--- src/app/content-communicator.cpp 2015-04-27 15:58:12 +0000
+++ src/app/content-communicator.cpp 1970-01-01 00:00:00 +0000
@@ -1,251 +0,0 @@
-/*
- * Copyright (C) 2013 Canonical, Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "content-communicator.h"
-
-#include <QApplication>
-#include <QStandardPaths>
-#include <QMimeDatabase>
-#include <QDebug>
-#include <QFileInfo>
-
-#include <com/ubuntu/content/hub.h>
-#include <com/ubuntu/content/item.h>
-#include <com/ubuntu/content/transfer.h>
-
-
-using namespace com::ubuntu::content;
-
-/*!
- * \brief ContentCommunicator::ContentCommunicator
- * \param parent
- */
-ContentCommunicator::ContentCommunicator(QObject *parent)
- : ImportExportHandler(parent),
- m_transfer(nullptr)
-{
-}
-
-/*!
- * \brief ContentCommunicator::registerWithHub Register the handlers provided
- * by ContentCommunicator with the content hub
- */
-void ContentCommunicator::registerWithHub()
-{
- Hub *hub = Hub::Client::instance();
- hub->register_import_export_handler(this);
-}
-
-/*!
- * \brief \reimp
- */
-void ContentCommunicator::handle_import(content::Transfer *transfer)
-{
- // FIXME: If a file is imported from $HOME/Documents, a new copy of the file is created.
- // Could be use md5? http://doc.qt.io/qt-5/qml-qtqml-qt.html#md5-method
- QVariantList importedDocuments;
- QVector<Item> transferedItems = transfer->collect();
- foreach (const Item &hubItem, transferedItems) {
- QFileInfo fi(hubItem.url().toLocalFile());
-
- QString dir;
- QString destination;
- bool rejected = false;
-
- QMimeDatabase mdb;
- QMimeType mt = mdb.mimeTypeForFile(hubItem.url().toLocalFile());
-
- // Check if the item is supported by Ubuntu Document Viewer
- if (isSupportedMimetype(mt.name())) {
- /* We don't support formats that use a double extension
- (e.g. tar.gz), so we can safely use completeBaseName() and
- suffix() functions, in order to properly detect the name of
- the document even when there's a dot in the middle of the name.*/
- QString suffix = fi.suffix();
- QString filenameWithoutSuffix = fi.completeBaseName();
-
- if(suffix.isEmpty()) {
- // If the filename doesn't have an extension add one from the
- // detected mimetype
- if(!mt.preferredSuffix().isEmpty()) {
- suffix = mt.preferredSuffix();
- }
- }
-
- dir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + QDir::separator();
- destination = QString("%1.%2").arg(dir + filenameWithoutSuffix, suffix);
-
- // If we already have a file of this name reformat to "filename (copy x).png"
- // (where x is a number, incremented until we find an available filename)
- if(QFile::exists(destination)) {
- /*
- TRANSLATORS: This string is used for renaming a copied file,
- when a file with the same name already exists in user's
- Documents folder.
-
- e.g. "Manual_Aquaris_E4.5_ubuntu_EN.pdf" will become
- "Manual_Aquaris_E4.5_ubuntu_EN (copy 2).pdf"
-
- where "2" is given by the argument "%1"
- */
- QString reformattedSuffix = QString(_("copy %1"));
-
- QRegExp rx(" \\(" + reformattedSuffix.arg(QString("\\d+")) + "\\)");
- int reformattedSuffixPos = filenameWithoutSuffix.lastIndexOf(rx);
-
- // Check if the file has already a "copy" suffix
- if(reformattedSuffixPos != -1) {
- // Remove the "copy" suffix. We will re-put it later.
- filenameWithoutSuffix.truncate(reformattedSuffixPos);
- }
-
- int append = 1;
- do {
- destination = QString("%1 (%2).%3").arg(dir + filenameWithoutSuffix,
- reformattedSuffix.arg(QString::number(append)),
- suffix);
- append++;
- } while(QFile::exists(destination));
- }
-
- QFile::copy(hubItem.url().toLocalFile(), destination);
- } else {
- rejected = true;
- }
-
- // Append an entry for the imported document in the list that will be
- // emitted with the 'documentImported' signal.
- QVariantMap entry;
- if (rejected) {
- entry["fileName"] = fi.fileName();
- } else {
- entry["fileName"] = destination;
- }
- entry["rejected"] = rejected;
-
- importedDocuments.append(entry);
- }
-
- // Allow content-hub to clean up temporary files in .cache/ once we've
- // moved them
- transfer->finalize();
-
- emit documentImported(importedDocuments);
-}
-
-/*!
- * \brief \reimp
- */
-void ContentCommunicator::handle_export(content::Transfer *transfer)
-{
- if (m_transfer != nullptr) {
- qWarning() << "docviewer-app does only one content export at a time";
- transfer->abort();
- return;
- }
-
- m_transfer = transfer;
- emit documentRequested();
- emit selectionTypeChanged();
- emit singleContentPickModeChanged();
-}
-
-/*!
- * \brief \reimp
- */
-void ContentCommunicator::handle_share(content::Transfer *)
-{
- qDebug() << Q_FUNC_INFO << "docviewer does not share content";
-}
-
-/*!
- * \brief ContentCommunicator::cancelTransfer aborts the current transfer
- */
-void ContentCommunicator::cancelTransfer()
-{
- if (!m_transfer) {
- qWarning() << "No ongoing transfer to cancel";
- return;
- }
-
- m_transfer->abort();
- m_transfer = nullptr;
-}
-
-/*!
- * \brief ContentCommunicator::returnSocuments returns the given documents
- * via content hub to the requester
- * \param urls
- */
-void ContentCommunicator::returnDocuments(const QVector<QUrl> &urls)
-{
- if (!m_transfer) {
- qWarning() << "No ongoing transfer to return a document";
- return;
- }
-
- QVector<Item> items;
- items.reserve(urls.size());
- foreach (const QUrl &url, urls) {
- items.append(Item(url));
- }
-
- m_transfer->charge(items);
- m_transfer = nullptr;
-}
-
-/*!
- * \brief ContentCommunicator::selectionType return if the transfer requests
- * one single item only, or multiple
- * \return
- */
-ContentCommunicator::SelectionType ContentCommunicator::selectionType() const
-{
- if (!m_transfer)
- return SingleSelect;
-
- return static_cast<SelectionType>(m_transfer->selectionType());
-}
-
-/*!
- * \brief ContentCommunicator::singleContentPickMode
- * \return
- */
-bool ContentCommunicator::singleContentPickMode() const
-{
- if (!m_transfer)
- return true;
-
- // FIXME: Shouldn't be Transfer::SelectionType::SingleSelect?
- return m_transfer->selectionType() == Transfer::SelectionType::single;
-}
-
-/*!
- * \brief ContentCommunicator::isSupportedMimetype returns true if the given
- * mimetype is supported by Ubuntu Document Viewer
- * \param mimetype
- */
-bool ContentCommunicator::isSupportedMimetype(QString mimetype)
-{
- if (mimetype.startsWith("text/"))
- return true;
-
- if (mimetype == "application/pdf")
- return true;
-
- return false;
-}
=== removed file 'src/app/content-communicator.h'
--- src/app/content-communicator.h 2015-04-20 16:24:06 +0000
+++ src/app/content-communicator.h 1970-01-01 00:00:00 +0000
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2013 Canonical, Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef CONTENTCOMMUNICATOR_H
-#define CONTENTCOMMUNICATOR_H
-
-#include <com/ubuntu/content/import_export_handler.h>
-#include <com/ubuntu/content/transfer.h>
-
-#include <QUrl>
-#include <QVector>
-#include <libintl.h>
-
-#define _(value) dgettext(GETTEXT_PACKAGE, value)
-
-using namespace com::ubuntu;
-
-/*!
- * Class to handle the communication with the content manager
- */
-class ContentCommunicator : public content::ImportExportHandler
-{
- Q_OBJECT
- Q_PROPERTY(bool singleContentPickMode READ singleContentPickMode NOTIFY singleContentPickModeChanged)
- Q_PROPERTY(SelectionType selectionType READ selectionType NOTIFY selectionTypeChanged)
- Q_ENUMS(SelectionType)
-
-public:
- enum SelectionType {
- SingleSelect = content::Transfer::single,
- MultiSelect = content::Transfer::multiple
- };
-
- ContentCommunicator(QObject *parent = nullptr);
-
- virtual void handle_import(content::Transfer*);
- virtual void handle_export(content::Transfer *transfer);
- virtual void handle_share(content::Transfer*);
-
- void cancelTransfer();
- void returnDocuments(const QVector<QUrl> &urls);
-
- SelectionType selectionType() const;
- bool singleContentPickMode() const;
-
- void registerWithHub();
-
-signals:
- void documentRequested();
- void documentImported(QVariantList documents);
- void selectionTypeChanged();
- void singleContentPickModeChanged();
-
-private:
- content::Transfer *m_transfer;
-
- bool isSupportedMimetype(QString mimetype);
-};
-
-#endif // CONTENTCOMMUNICATOR_H
=== removed file 'src/app/docviewer-application.cpp'
--- src/app/docviewer-application.cpp 2015-04-29 15:23:32 +0000
+++ src/app/docviewer-application.cpp 1970-01-01 00:00:00 +0000
@@ -1,351 +0,0 @@
-/*
- * Copyright (C) 2012 Canonical Ltd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Charles Lindsay <chaz@xxxxxxxxx>
- */
-
-#include "docviewer-application.h"
-#include "content-communicator.h"
-#include "command-line-parser.h"
-#include "urlhandler.h"
-
-#include <QQuickItem>
-#include <QStandardPaths>
-#include <QQuickView>
-#include <QtQml/QtQml>
-#include <QString>
-#include <QUrl>
-#include <QtGui/QGuiApplication>
-
-/*!
- * \brief DocViewerApplication::DocViewerApplication
- * \param argc
- * \param argv
- */
-DocViewerApplication::DocViewerApplication(int& argc, char** argv)
- : QApplication(argc, argv),
- m_view(new QQuickView()),
- m_contentCommunicator(new ContentCommunicator(this)),
- m_pickModeEnabled(false),
- m_defaultUiMode(BrowseContentMode),
- m_documentFile(""),
- m_documentLoaded(false)
-{
- //
-}
-
-bool DocViewerApplication::init()
-{
- m_cmdLineParser = new CommandLineParser();
-
- if (!m_cmdLineParser->processArguments(arguments()))
- return false;
-
- if (qgetenv("QT_LOAD_TESTABILITY") == "1" || m_cmdLineParser->testability()) {
- QLibrary testLib(QLatin1String("qttestability"));
- if (testLib.load()) {
- typedef void (*TasInitialize)(void);
- TasInitialize initFunction = (TasInitialize)testLib.resolve("qt_testability_init");
- if (initFunction) {
- initFunction();
- } else {
- qCritical("Library qttestability resolve failed!");
- }
- } else {
- qCritical("Library qttestability load failed!");
- }
- }
-
- m_urlHandler = new UrlHandler();
-
- registerQML();
-
- if (m_cmdLineParser->pickModeEnabled())
- setDefaultUiMode(DocViewerApplication::PickContentMode);
-
- QObject::connect(m_contentCommunicator, SIGNAL(documentRequested()),
- this, SLOT(switchToPickMode()));
-
- QObject::connect(m_contentCommunicator, SIGNAL(documentImported()),
- this, SLOT(switchToBrowseMode()));
-
- return true;
-}
-
-/*!
- * \brief DocViewerApplication::~DocViewerApplication
- */
-DocViewerApplication::~DocViewerApplication()
-{
- delete m_view;
- delete m_cmdLineParser;
-}
-
-/*!
- * \brief DocViewerApplication::exec
- * \return
- */
-int DocViewerApplication::exec()
-{
- createView();
-
- return QApplication::exec();
-}
-
-/*!
- * \brief DocViewerApplication::registerQML
- */
-void DocViewerApplication::registerQML()
-{
- // Set up import paths
- QStringList importPathList = m_view->engine()->importPathList();
-
- // Prepend the location of the plugin in the build dir,
- // so that Qt Creator finds it there, thus overriding the one installed
- // in the sistem if there is one
- importPathList.prepend(QCoreApplication::applicationDirPath() + "/../plugin/");
- m_view->engine()->setImportPathList(importPathList);
-}
-
-/*!
- * \brief DocViewerApplication::isDesktopMode
- * Returns true if the DESKTOP_MODE env var is set
- */
-bool DocViewerApplication::isDesktopMode() const
-{
-
- // Assume that platformName (QtUbuntu) with ubuntu
- // in name means it's running on device
- // TODO: replace this check with SDK call for formfactor
- QString platform = QGuiApplication::platformName();
- return !((platform == "ubuntu") || (platform == "ubuntumirclient"));
-}
-
-/*!
- * \brief DocViewerApplication::isFullScreen
- * Returns true if window is on FullScreen mode
- */
-bool DocViewerApplication::isFullScreen() const
-{
- return m_view->windowState() == Qt::WindowFullScreen;
-}
-
-/*!
- * \brief DocViewerApplication::getDocumentFile
- * Returns the document file passed as a parameter
- */
-const QString& DocViewerApplication::getDocumentFile() const
-{
- return m_documentFile;
-}
-
-/*!
- * \brief DocViewerApplication::getDocumentsDir
- * Returns the documents dir passed as a parameter
- */
-const QString& DocViewerApplication::getDocumentsDir() const
-{
- return m_cmdLineParser->documentsDir();
-}
-
-
-/*!
- * \brief DocViewerApplication::createView
- * Create the master QDeclarativeView that all the pages will operate within
- */
-void DocViewerApplication::createView()
-{
- m_view->setTitle(tr("Document Viewer"));
-
- // Set ourselves up to expose functionality to run external commands from QML...
- m_view->engine()->rootContext()->setContextProperty("DOC_VIEWER", this);
- m_view->engine()->rootContext()->setContextProperty("PICKER_HUB", m_contentCommunicator);
-
- QObject::connect(m_view->engine(), SIGNAL(quit()), this, SLOT(quit()));
-
- QString qmlfile;
- const QString filePath = QLatin1String("qml/ubuntu-docviewer-app.qml");
- QStringList paths = QStandardPaths::standardLocations(QStandardPaths::DataLocation);
- paths.prepend(QDir::currentPath());
- paths.prepend(QCoreApplication::applicationDirPath());
- Q_FOREACH (const QString &path, paths) {
- QString myPath = path + QLatin1Char('/') + filePath;
-
- if (QFile::exists(myPath)) {
- qmlfile = myPath;
- break;
- } else {
- myPath.replace(QCoreApplication::applicationName(), "ubuntu-docviewer-app");
-
- if (QFile::exists(myPath)) {
- qmlfile = myPath;
- break;
- }
- }
- }
- // sanity check
- if (qmlfile.isEmpty()) {
- qFatal("File: %s does not exist at any of the standard paths!", qPrintable(filePath));
- }
-
- registerHub();
- m_view->setSource(QUrl::fromLocalFile(qmlfile));
- setDocumentFile(m_cmdLineParser->documentFile());
-
- m_view->setResizeMode(QQuickView::SizeRootObjectToView);
-
- //run fullscreen if specified at command line
- if (m_cmdLineParser->isFullscreen()) {
- setFullScreen(true);
- m_view->showFullScreen();
- } else {
- m_view->show();
- }
-}
-
-/*!
- * \brief DocViewerApplication::setDefaultUiMode set the default UI mode. This might
- * get overridden during the lifetime
- * \param mode
- */
-void DocViewerApplication::setDefaultUiMode(DocViewerApplication::UiMode mode)
-{
- m_defaultUiMode = mode;
- setUiMode(mode);
-}
-
-/*!
- * \brief DocViewerApplication::setUiMode set's the current UI mode
- * \param mode
- */
-void DocViewerApplication::setUiMode(DocViewerApplication::UiMode mode)
-{
- bool enablePickMode = (mode == PickContentMode);
-
- if (enablePickMode != m_pickModeEnabled) {
- m_pickModeEnabled = enablePickMode;
- Q_EMIT pickModeEnabledChanged();
- }
-}
-
-/*!
- * \brief DocViewerApplication::pickModeEnabled returns true if the current UI
- * mode should be for picking acontent
- * \return
- */
-bool DocViewerApplication::pickModeEnabled() const
-{
- return m_pickModeEnabled;
-}
-
-/*!
- * \brief DocViewerApplication::switchToPickMode
- */
-void DocViewerApplication::switchToPickMode()
-{
- setUiMode(PickContentMode);
-}
-
-/*!
- * \brief DocViewerApplication::switchToBrowseMode
- */
-void DocViewerApplication::switchToBrowseMode()
-{
- Q_EMIT browseModeRequested();
-}
-
-/*!
- * \brief DocViewerApplication::setFullScreen
- * Change window state to fullScreen or no state
- */
-void DocViewerApplication::setFullScreen(bool fullScreen)
-{
- if(fullScreen) {
- m_view->setWindowState(Qt::WindowFullScreen);
- } else {
- m_view->setWindowState(Qt::WindowNoState);
- }
-
- Q_EMIT fullScreenChanged();
-}
-
-void DocViewerApplication::setDocumentFile(const QString &documentFile)
-{
- if(!documentFile.isEmpty()) {
- if (m_documentFile != documentFile) {
- m_documentFile = "file://" + documentFile;
- Q_EMIT documentFileChanged();;
- }
- }
-}
-
-/*!
- * \brief DocViewerApplication::returnPickedContent passes the selcted items to the
- * content manager
- * \param variant
- */
-void DocViewerApplication::returnPickedContent(QList<QString> paths)
-{
- QVector<QUrl> selectedMedias;
- selectedMedias.reserve(paths.size());
- foreach (const QString path, paths) {
- // We handle paths without "file://" prefix, so we need to add it when exporting to content-hub.
- selectedMedias.append(QUrl("file://" + path));
- }
- m_contentCommunicator->returnDocuments(selectedMedias);
-
- if (m_defaultUiMode == BrowseContentMode) {
- setUiMode(BrowseContentMode);
- } else {
- // give the app and content-hub some time to finish taks (run the event loop)
- QTimer::singleShot(10, this, SLOT(quit()));
- }
-}
-
-/*!
- * \brief DocViewerApplication::contentPickingCanceled tell the content manager, that
- * the picking was canceled
- */
-void DocViewerApplication::contentPickingCanceled()
-{
- m_contentCommunicator->cancelTransfer();
-
- if (m_defaultUiMode == BrowseContentMode) {
- setUiMode(BrowseContentMode);
- } else {
- // give the app and content-hub some time to finish taks (run the event loop)
- QTimer::singleShot(10, this, SLOT(quit()));
- }
-}
-
-void DocViewerApplication::registerHub()
-{
- m_contentCommunicator->registerWithHub();
-}
-
-void DocViewerApplication::parseUri(const QString &arg)
-{
- if (m_urlHandler->processUri(arg)) {
- setDocumentFile(m_urlHandler->documentFile());
- }
-}
-
-void DocViewerApplication::releaseResources()
-{
- if (m_view) {
- m_view->releaseResources();
- }
-}
=== removed file 'src/app/docviewer-application.h'
--- src/app/docviewer-application.h 2015-04-29 15:23:32 +0000
+++ src/app/docviewer-application.h 1970-01-01 00:00:00 +0000
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2012 Canonical Ltd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * Authors:
- * Charles Lindsay <chaz@xxxxxxxxx>
- */
-
-#ifndef DOCVIEWERAPPLICATION_H
-#define DOCVIEWERAPPLICATION_H
-
-#include <QApplication>
-#include <QElapsedTimer>
-#include <QFileInfo>
-#include <QTimer>
-
-class CommandLineParser;
-class UrlHandler;
-class ContentCommunicator;
-
-class QQuickView;
-
-/*!
- * \brief The DocViewerApplication class
- */
-class DocViewerApplication : public QApplication
-{
- Q_OBJECT
- Q_PROPERTY(bool pickModeEnabled READ pickModeEnabled NOTIFY pickModeEnabledChanged)
- Q_PROPERTY(bool desktopMode READ isDesktopMode CONSTANT)
- Q_PROPERTY(bool fullScreen READ isFullScreen WRITE setFullScreen NOTIFY fullScreenChanged)
- Q_PROPERTY(QString documentFile READ getDocumentFile WRITE setDocumentFile NOTIFY documentFileChanged)
- Q_PROPERTY(QString documentsDir READ getDocumentsDir CONSTANT)
-
-public:
- enum UiMode{
- BrowseContentMode,
- PickContentMode
- };
-
- explicit DocViewerApplication(int& argc, char** argv);
- virtual ~DocViewerApplication();
-
- bool init();
- int exec();
-
- void setDefaultUiMode(UiMode mode);
- UiMode defaultUiMode() const;
- void setUiMode(UiMode mode);
- bool pickModeEnabled() const;
- bool isDesktopMode() const;
- bool isFullScreen() const;
- const QString &getDocumentFile() const;
- const QString &getDocumentsDir() const;
-
- Q_INVOKABLE void returnPickedContent(QList<QString> paths);
- Q_INVOKABLE void contentPickingCanceled();
- Q_INVOKABLE void parseUri(const QString &arg);
- Q_INVOKABLE void releaseResources();
-
-signals:
- void pickModeEnabledChanged();
- void fullScreenChanged();
- void documentFileChanged();
- void browseModeRequested();
-
-private slots:
- void switchToPickMode();
- void switchToBrowseMode();
- void setFullScreen(bool fullScreen);
- void setDocumentFile(const QString &documentFile);
-
-private:
- void registerHub();
- void registerQML();
- void createView();
-
- QQuickView *m_view;
- CommandLineParser* m_cmdLineParser;
- UrlHandler *m_urlHandler;
- ContentCommunicator *m_contentCommunicator;
-
- bool m_pickModeEnabled;
- UiMode m_defaultUiMode;
- QString m_documentFile;
- bool m_documentLoaded;
-};
-
-#endif // DOCVIEWERAPPLICATION_H
=== removed file 'src/app/graphics/sd-card-symbolic.png'
Binary files src/app/graphics/sd-card-symbolic.png 2015-05-13 14:22:36 +0000 and src/app/graphics/sd-card-symbolic.png 1970-01-01 00:00:00 +0000 differ
=== removed file 'src/app/graphics/select-none.svg'
--- src/app/graphics/select-none.svg 2015-02-13 15:30:01 +0000
+++ src/app/graphics/select-none.svg 1970-01-01 00:00:00 +0000
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<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"
- width="90"
- height="90"
- id="svg4874"
- version="1.1"
- inkscape:version="0.48+devel r"
- viewBox="0 0 90 90.000001"
- sodipodi:docname="select-none.svg">
- <defs
- id="defs4876" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="12.434498"
- inkscape:cx="10.237647"
- inkscape:cy="53.078139"
- inkscape:document-units="px"
- inkscape:current-layer="g1311"
- showgrid="true"
- showborder="true"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- inkscape:snap-bbox="true"
- inkscape:bbox-paths="true"
- inkscape:bbox-nodes="true"
- inkscape:snap-bbox-edge-midpoints="true"
- inkscape:snap-bbox-midpoints="true"
- inkscape:object-paths="true"
- inkscape:snap-intersection-paths="true"
- inkscape:object-nodes="true"
- inkscape:snap-smooth-nodes="true"
- inkscape:snap-midpoints="true"
- inkscape:snap-object-midpoints="true"
- inkscape:snap-center="true"
- showguides="true"
- inkscape:guide-bbox="true">
- <inkscape:grid
- type="xygrid"
- id="grid5451"
- empspacing="6" />
- <sodipodi:guide
- orientation="1,0"
- position="6,77"
- id="guide4063" />
- <sodipodi:guide
- orientation="1,0"
- position="3,78"
- id="guide4065" />
- <sodipodi:guide
- orientation="0,1"
- position="55,84"
- id="guide4067" />
- <sodipodi:guide
- orientation="0,1"
- position="53,87"
- id="guide4069" />
- <sodipodi:guide
- orientation="0,1"
- position="20,3"
- id="guide4071" />
- <sodipodi:guide
- orientation="0,1"
- position="20,6"
- id="guide4073" />
- <sodipodi:guide
- orientation="1,0"
- position="87,7"
- id="guide4075" />
- <sodipodi:guide
- orientation="1,0"
- position="84,7"
- id="guide4077" />
- <sodipodi:guide
- orientation="0,1"
- position="58,81"
- id="guide4074" />
- <sodipodi:guide
- orientation="1,0"
- position="9,74"
- id="guide4076" />
- <sodipodi:guide
- orientation="0,1"
- position="21,9"
- id="guide4078" />
- <sodipodi:guide
- orientation="1,0"
- position="81,4"
- id="guide4080" />
- </sodipodi:namedview>
- <metadata
- id="metadata4879">
- <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>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(67.857146,-84.50504)">
- <g
- transform="matrix(0,-1,-1,0,373.50506,516.50504)"
- id="g4845"
- style="display:inline">
- <g
- transform="matrix(0,-1,-1,0,567.36222,615.36221)"
- id="g1311"
- inkscape:export-filename="envelope02.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <g
- id="g1313"
- transform="matrix(1.875,0,0,1.875,-366,-1657.8169)">
- <rect
- transform="translate(0,804.3622)"
- y="152"
- x="288"
- height="48"
- width="48"
- id="rect1315"
- style="opacity:0.21171169;fill:none;stroke:none" />
- </g>
- <path
- style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#808080;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- d="M 21 6 C 11 6 6 5.9998033 6 17.626953 L 6 72.373047 C 6 84.000207 11 84 21 84 L 69 84 C 79 84 84 84.000207 84 72.373047 L 84 17.626953 C 84 5.9998033 79 6 69 6 L 21 6 z M 22.867188 12 L 67.132812 12 C 75.065512 12 78 11.999356 78 20.191406 L 78 69.808594 C 78 78.000644 75.065512 78 67.132812 78 L 22.867188 78 C 14.934488 78 12 78.000644 12 69.808594 L 12 20.191406 C 12 11.999356 14.934488 12 22.867188 12 z "
- transform="translate(174,135.36222)"
- id="path4098" />
- </g>
- </g>
- </g>
-</svg>
=== removed file 'src/app/graphics/select.svg'
--- src/app/graphics/select.svg 2015-02-13 15:30:01 +0000
+++ src/app/graphics/select.svg 1970-01-01 00:00:00 +0000
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<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"
- width="90"
- height="90"
- id="svg4874"
- version="1.1"
- inkscape:version="0.48+devel r12833"
- viewBox="0 0 90 90.000001"
- sodipodi:docname="select.svg">
- <defs
- id="defs4876" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="12.434498"
- inkscape:cx="30.343002"
- inkscape:cy="53.600878"
- inkscape:document-units="px"
- inkscape:current-layer="g1311"
- showgrid="true"
- showborder="true"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- inkscape:snap-bbox="true"
- inkscape:bbox-paths="true"
- inkscape:bbox-nodes="true"
- inkscape:snap-bbox-edge-midpoints="true"
- inkscape:snap-bbox-midpoints="true"
- inkscape:object-paths="true"
- inkscape:snap-intersection-paths="true"
- inkscape:object-nodes="true"
- inkscape:snap-smooth-nodes="true"
- inkscape:snap-midpoints="true"
- inkscape:snap-object-midpoints="true"
- inkscape:snap-center="true"
- showguides="true"
- inkscape:guide-bbox="true">
- <inkscape:grid
- type="xygrid"
- id="grid5451"
- empspacing="6" />
- <sodipodi:guide
- orientation="1,0"
- position="6,77"
- id="guide4063" />
- <sodipodi:guide
- orientation="1,0"
- position="3,78"
- id="guide4065" />
- <sodipodi:guide
- orientation="0,1"
- position="55,84"
- id="guide4067" />
- <sodipodi:guide
- orientation="0,1"
- position="53,87"
- id="guide4069" />
- <sodipodi:guide
- orientation="0,1"
- position="20,3"
- id="guide4071" />
- <sodipodi:guide
- orientation="0,1"
- position="20,6"
- id="guide4073" />
- <sodipodi:guide
- orientation="1,0"
- position="87,7"
- id="guide4075" />
- <sodipodi:guide
- orientation="1,0"
- position="84,7"
- id="guide4077" />
- <sodipodi:guide
- orientation="0,1"
- position="58,81"
- id="guide4074" />
- <sodipodi:guide
- orientation="1,0"
- position="9,74"
- id="guide4076" />
- <sodipodi:guide
- orientation="0,1"
- position="21,9"
- id="guide4078" />
- <sodipodi:guide
- orientation="1,0"
- position="81,4"
- id="guide4080" />
- </sodipodi:namedview>
- <metadata
- id="metadata4879">
- <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>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(67.857146,-84.50504)">
- <g
- transform="matrix(0,-1,-1,0,373.50506,516.50504)"
- id="g4845"
- style="display:inline">
- <g
- transform="matrix(0,-1,-1,0,567.36222,615.36221)"
- id="g1311"
- inkscape:export-filename="envelope02.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <g
- id="g1313"
- transform="matrix(1.875,0,0,1.875,-366,-1657.8169)">
- <rect
- transform="translate(0,804.3622)"
- y="152"
- x="288"
- height="48"
- width="48"
- id="rect1315"
- style="opacity:0.21171169;fill:none;stroke:none" />
- </g>
- <path
- style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#808080;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- d="M 21 6 C 11 6 6 5.9998033 6 17.626953 L 6 72.373047 C 6 84.000207 11 84 21 84 L 69 84 C 79 84 84 84.000207 84 72.373047 L 84 17.626953 C 84 5.9998033 79 6 69 6 L 21 6 z M 22.867188 12 L 67.132812 12 C 75.065512 12 78 11.999356 78 20.191406 L 78 69.808594 C 78 78.000644 75.065512 78 67.132812 78 L 22.867188 78 C 14.934488 78 12 78.000644 12 69.808594 L 12 20.191406 C 12 11.999356 14.934488 12 22.867188 12 z "
- transform="translate(174,135.36222)"
- id="path4098" />
- <path
- style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#808080;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
- d="m 242.00422,161.6591 -0.375,0.32812 -26.94727,23.60352 -15.79687,-13.55079 -4.77539,5.4004 20.57617,21.64843 31.30078,-32.9375 -3.98242,-4.49218 z"
- id="path4041-9"
- inkscape:connector-curvature="0" />
- </g>
- </g>
- </g>
-</svg>
=== removed file 'src/app/graphics/settings_alt.svg'
--- src/app/graphics/settings_alt.svg 2015-06-10 17:17:47 +0000
+++ src/app/graphics/settings_alt.svg 1970-01-01 00:00:00 +0000
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<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"
- width="90"
- height="90"
- id="svg3133"
- version="1.1"
- inkscape:version="0.48.3.1 r9886"
- sodipodi:docname="settings@xxxxxx">
- <defs
- id="defs3135" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="6.3664628"
- inkscape:cx="93.340685"
- inkscape:cy="27.377839"
- inkscape:document-units="px"
- inkscape:current-layer="g4674"
- showgrid="true"
- inkscape:window-width="1920"
- inkscape:window-height="1029"
- inkscape:window-x="0"
- inkscape:window-y="24"
- inkscape:window-maximized="1"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- showguides="true"
- inkscape:guide-bbox="true">
- <inkscape:grid
- type="xygrid"
- id="grid2992"
- empspacing="6"
- visible="true"
- enabled="true"
- snapvisiblegridlinesonly="true"
- originx="4.2039363e-07px"
- originy="0px" />
- <sodipodi:guide
- orientation="1,0"
- position="45,11"
- id="guide3763" />
- <sodipodi:guide
- orientation="0,1"
- position="48,45"
- id="guide3765" />
- </sodipodi:namedview>
- <metadata
- id="metadata3138">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(4.2039363e-7,-962.3622)">
- <g
- id="g4978"
- transform="matrix(0.99934414,0,0,1,-106.92982,549.00002)">
- <g
- id="g4674"
- transform="matrix(1.0006563,0,0,1,-155.17195,-2.6171874e-6)">
- <rect
- y="431.36218"
- x="262"
- height="72"
- width="72"
- id="rect4869"
- style="opacity:0.01000001;color:#000000;fill:none;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 320.5,419.36218 c 6.5,0 7.49965,0 7.49979,7 l 2.1e-4,10 c 1.5e-4,7 -1,7 -7.5,7 -6.5,0 -7.50015,0 -7.5,-7 l 2.1e-4,-9.99997 c 1.4e-4,-7.00003 0.99979,-7.00003 7.49979,-7.00003 z"
- id="rect4871"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="zsszssz" />
- <path
- style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 262,428.36218 0,6 45,0 0,-6 z m 72,0 0,6 18,0 0,-6 z"
- id="rect4882"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <path
- id="path4887"
- d="m 262,455.36218 0,6 18,0 0,-6 z m 45,0 0,6 45,0 0,-6 z"
- style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccc" />
- <path
- sodipodi:nodetypes="cccccccccc"
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 262,482.36218 0,6 45,0 0,-6 z m 72,0 0,6 18,0 0,-6 z"
- id="path4889" />
- <rect
- y="413.36218"
- x="262"
- height="90"
- width="90"
- id="rect2993"
- style="color:#000000;fill:none;stroke:none;stroke-width:11.80000019;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- sodipodi:nodetypes="zsszssz"
- inkscape:connector-curvature="0"
- id="path3775"
- d="m 293.5,446.36218 c 6.5,0 7.49965,0 7.49979,7 l 2.1e-4,10 c 1.5e-4,7 -1,7 -7.5,7 -6.5,0 -7.50015,0 -7.5,-7 l 2.1e-4,-9.99997 c 1.4e-4,-7.00003 0.99979,-7.00003 7.49979,-7.00003 z"
- style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 320.5,473.36218 c 6.5,0 7.49965,0 7.49979,7 l 2.1e-4,10 c 1.5e-4,7 -1,7 -7.5,7 -6.5,0 -7.50015,0 -7.5,-7 l 2.1e-4,-9.99997 c 1.4e-4,-7.00003 0.99979,-7.00003 7.49979,-7.00003 z"
- id="path3777"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="zsszssz" />
- </g>
- </g>
- </g>
-</svg>
=== modified file 'src/app/main.cpp'
--- src/app/main.cpp 2015-03-03 16:49:48 +0000
+++ src/app/main.cpp 2015-11-19 15:38:45 +0000
@@ -1,36 +1,74 @@
/*
- * Copyright: 2015 Canonical Ltd.
- *
- * This file is part of docviewer
- *
- * docviewer is free software: you can redistribute it and/or modify
+ * Copyright (C) 2013-2015 Canonical Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation; version 3.
*
- * reminders is distributed in the hope that it will be useful,
+ * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Uncomment if you need to use QML analyzer
// #define QT_QML_DEBUG
-
-#include "docviewer-application.h"
+// #include <QtQuick>
+
+#include <QGuiApplication>
+#include <QQuickView>
+#include <QLibrary>
+#include <QtQml>
+
#include <QDebug>
+#include "config.h"
+
+void loadTestability() {
+ QLibrary testLib(QLatin1String("qttestability"));
+
+ if (testLib.load()) {
+ typedef void (*TasInitialize)(void);
+ TasInitialize initFunction = (TasInitialize)testLib.resolve("qt_testability_init");
+
+ if (initFunction) {
+ initFunction();
+ } else {
+ qCritical("Library qttestability resolve failed!");
+ }
+ } else {
+ qCritical("Library qttestability load failed!");
+ }
+}
+
int main(int argc, char *argv[])
{
+ QGuiApplication app(argc, argv);
+ QQuickView view;
+
QCoreApplication::setApplicationName("com.ubuntu.docviewer");
QCoreApplication::setOrganizationDomain("com.ubuntu.docviewer");
- DocViewerApplication app(argc, argv);
- if (!app.init())
- return 0;
-
- app.exec();
+ view.rootContext()->setContextProperty("window", &view);
+ QObject::connect(view.engine(), SIGNAL(quit()), &app, SLOT(quit()));
+
+ if (qgetenv("QT_LOAD_TESTABILITY") == "1")
+ loadTestability();
+
+ if (!isRunningInstalled())
+ view.engine()->addImportPath(QCoreApplication::applicationDirPath() + "/../plugin/");
+
+ view.setSource(QUrl::fromLocalFile(docviewerDirectory() + "/qml/ubuntu-docviewer-app.qml"));
+ view.setResizeMode(QQuickView::SizeRootObjectToView);
+
+ // UITK/QML command line arguments are parsed before view's window becomes visible.
+ if (view.windowState() == Qt::WindowFullScreen)
+ view.showFullScreen();
+ else
+ view.show();
+
+ return app.exec();
}
=== added file 'src/app/qml/common/CommandLineProxy.qml'
--- src/app/qml/common/CommandLineProxy.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/common/CommandLineProxy.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2015 Stefano Verzegnassi
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.3
+import Ubuntu.Components 1.1
+
+Item {
+ id: rootItem
+
+ property string documentFile: ""
+ property string documentsDir: ""
+ property bool fullscreen: false
+ property bool pickMode: false
+
+ Component.onCompleted: {
+ var docFile = args.defaultArgument.at(0)
+ if (docFile)
+ rootItem.documentFile = docFile
+
+ var docsDir = args.values.documentsDir
+ if (docsDir)
+ rootItem.documentsDir = docsDir
+
+ var fullscreen = args.values.fullscreen
+ if (fullscreen)
+ rootItem.fullscreen = fullscreen
+
+ var pickMode = args.values.pickMode
+ if (pickMode)
+ rootItem.pickMode = pickMode
+
+ // Error catching
+ // This does not include any argument which is not expected: they are
+ // just skipped.
+ if (args.error) {
+ var errorString = i18n.tr("Some of the provided arguments is not valid.")
+ args.quitWithError(errorString)
+ }
+ }
+
+ Arguments {
+ id: args
+
+ defaultArgument {
+ help: i18n.tr("Opens ubuntu-docviewer-app displaying the selected file")
+ valueNames: ["file_path"]
+ required: false
+ }
+
+ Argument {
+ name: "fullscreen"
+ help: i18n.tr("Run fullscreen")
+ required: false
+ }
+
+ Argument {
+ name: "pickMode"
+ help: i18n.tr("Open ubuntu-docviewer-app in pick mode. Use it for tests only.")
+ required: false
+ }
+
+ Argument {
+ name: "documentsDir"
+ help: i18n.tr("Load the list of documents from the given folder, instead of default ~/Documents.\nThe path must exist prior to running ubuntu-docviewer-app")
+ valueNames: ["PATH"]
+ required: false
+ }
+ }
+}
=== added file 'src/app/qml/common/ContentHubProxy.qml'
--- src/app/qml/common/ContentHubProxy.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/common/ContentHubProxy.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2012-2014 Canonical, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Content 1.1
+import DocumentViewer 1.0
+
+// TODO: Show a dialog asking for the destination (internal storage or SD card)
+
+Item {
+ id: contentHubProxy
+
+ property var activeTransfer
+
+ // This property is used in ../documentPage/Document(Grid|List)View.qml
+ // so that we avoid to import Ubuntu.Content module outside this proxy.
+ property bool multipleSelectionType: !activeTransfer || activeTransfer.selectionType == ContentTransfer.Multiple
+
+ property alias rejectedDocuments: rejectedDocsModel
+ property alias importedDocuments: importedDocsModel
+
+ ListModel { id: rejectedDocsModel }
+ ListModel { id: importedDocsModel }
+
+ ContentTransferHint {
+ activeTransfer: contentHubProxy.activeTransfer
+ }
+
+ Connections {
+ target: ContentHub
+
+ onImportRequested: {
+ activeTransfer = transfer
+
+ if (activeTransfer.state === ContentTransfer.Charged) {
+ mainView.switchToBrowseMode()
+
+ internal.clearModels()
+
+ for (var i=0; i<activeTransfer.items.length; i++) {
+ var sourcePath = internal.getPathFromUrl(activeTransfer.items[i].url)
+
+ if (DocumentViewer.isFileSupported(sourcePath)) {
+ var documentsLocation = DocumentViewer.getXdgDocumentsLocation()
+
+ // Check if we have already imported the same document in the past.
+ var earlierImportedFile = DocumentViewer.checkIfFileAlreadyImported(sourcePath, [documentsLocation])
+ if (earlierImportedFile.length > 0) {
+ // Document has been already imported in the past.
+ // Append the path of the earlier copy of the
+ // document in our model, so we can open it instead.
+ importedDocsModel.append({ path: earlierImportedFile })
+ } else {
+ // No document has been found, so we can safely copy it.
+ var destPath = DocumentViewer.buildDestinationPath(documentsLocation, sourcePath);
+
+ internal.importDocument(sourcePath, destPath)
+ }
+ } else {
+ // Document is not supported, append its entry into the
+ // rejected documents model, so that we can inform the
+ // user of what happened.
+ rejectedDocsModel.append({ path: sourcePath })
+ }
+ }
+
+ internal.finalizeImport()
+
+ internal.handleNotifications()
+ }
+ }
+
+ onExportRequested: {
+ activeTransfer = transfer
+ mainView.switchToPickMode()
+ }
+ }
+
+ QtObject {
+ id: internal
+
+ function __openDocument() {
+ if (contentHubProxy.importedDocuments.count > 1) {
+ // If it has been imported more than a document, show
+ // a file picker when user taps the "open" action.
+ PopupUtils.open(
+ Qt.resolvedUrl("common/PickImportedDialog.qml"),
+ mainView,
+ {
+ parent: mainView,
+ model: contentHubProxy.importedDocuments
+ })
+ } else {
+ // It has been imported just a document, open it when
+ // user taps the action button.
+ mainView.openDocument(contentHubProxy.importedDocuments.get(0).path)
+ }
+ }
+
+ function clearModels() {
+ rejectedDocsModel.clear()
+ importedDocsModel.clear()
+ }
+
+ function getPathFromUrl(url) {
+ return url.toString().replace("file://", "")
+ }
+
+ function importDocument(sourcePath, destPath) {
+ DocumentViewer.copy(sourcePath, destPath)
+ importedDocsModel.append({ path: destPath })
+ }
+
+ function finalizeImport() {
+ activeTransfer.finalize()
+ }
+
+ function handleNotifications() {
+ // Check if there's any rejected document in the last transfer.
+ // If so, show an error dialog.
+ if (contentHubProxy.rejectedDocuments.count > 0) {
+ var rejectedDialog = PopupUtils.open(
+ Qt.resolvedUrl("common/RejectedImportDialog.qml"),
+ mainView,
+ {
+ parent: mainView,
+ model: contentHubProxy.rejectedDocuments
+ })
+ rejectedDialog.closed.connect(openDocument)
+ } else {
+ // Open the document, or show a pick dialog if more than one have been imported.
+ __openDocument()
+ }
+ }
+ }
+}
=== modified file 'src/app/qml/common/DetailsPage.qml'
--- src/app/qml/common/DetailsPage.qml 2015-04-15 14:21:48 +0000
+++ src/app/qml/common/DetailsPage.qml 2015-11-19 15:38:45 +0000
@@ -14,42 +14,46 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
-import Ubuntu.Components.ListItems 1.0 as ListItem
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import "utils.js" as Utils
Page {
id: detailsPage
objectName: "detailsPage"
-
title: i18n.tr("Details")
Column {
- width: parent.width
+ width: Math.min(units.gu(80), parent.width)
+ anchors {
+ top: parent.top
+ bottom: parent.bottom
+ horizontalCenter: parent.horizontalCenter
+ }
- ListItem.Subtitled {
+ SubtitledListItem {
text: i18n.tr("Location")
subText: file.path
}
- ListItem.Subtitled {
+
+ SubtitledListItem {
text: i18n.tr("Size")
subText: Utils.printSize(i18n, file.info.size)
}
- ListItem.Subtitled {
+ SubtitledListItem {
text: i18n.tr("Created")
subText: file.info.creationTime.toLocaleString(Qt.locale())
}
- ListItem.Subtitled {
+ SubtitledListItem {
text: i18n.tr("Last modified")
subText: file.info.lastModified.toLocaleString(Qt.locale())
}
- ListItem.Subtitled {
- id: mimetypeItem
+ SubtitledListItem {
+ // Used by Autopilot tests
objectName: "mimetypeItem"
text: i18n.tr("MIME type")
subText: file.mimetype.name
=== modified file 'src/app/qml/common/FileNotFoundDialog.qml'
--- src/app/qml/common/FileNotFoundDialog.qml 2015-04-07 21:40:16 +0000
+++ src/app/qml/common/FileNotFoundDialog.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
// We may want to refactor this dialog for a more generic usage, when we'll need it.
=== modified file 'src/app/qml/common/NightModeShader.qml'
--- src/app/qml/common/NightModeShader.qml 2015-03-26 14:09:38 +0000
+++ src/app/qml/common/NightModeShader.qml 2015-11-19 15:38:45 +0000
@@ -14,7 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
+import QtQuick 2.4
ShaderEffect {
fragmentShader: "
=== modified file 'src/app/qml/common/PickImportedDialog.qml'
--- src/app/qml/common/PickImportedDialog.qml 2015-04-10 17:00:59 +0000
+++ src/app/qml/common/PickImportedDialog.qml 2015-11-19 15:38:45 +0000
@@ -14,10 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
-import Ubuntu.Components.ListItems 1.0 as ListItem
import "utils.js" as Utils
@@ -29,16 +28,23 @@
title: i18n.tr("Multiple documents imported")
text: i18n.tr("Choose which one to open:")
- // We don't use a Flickable, since it already lives in the Dialog itself.
+ // We don't use a Flickable, since the Dialog has already one.
Repeater {
id: repeater
- delegate: ListItem.Standard {
- text: Utils.getNameOfFile(modelData)
- __foregroundColor: Theme.palette.selected.backgroundText
+ ListItem {
onClicked: {
PopupUtils.close(multipleImportDialog);
- mainView.openDocument(modelData);
+ mainView.openDocument(model.path);
+ }
+
+ Label {
+ text: Utils.getNameOfFile(model.path)
+ anchors {
+ left: parent.left; right: parent.right
+ margins: units.gu(2)
+ verticalCenter: parent.verticalCenter
+ }
}
}
}
=== modified file 'src/app/qml/common/RejectedImportDialog.qml'
--- src/app/qml/common/RejectedImportDialog.qml 2015-04-12 15:34:47 +0000
+++ src/app/qml/common/RejectedImportDialog.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
Dialog {
@@ -23,15 +23,15 @@
property alias model: repeater.model
- signal closed
+ signal closed()
- title: i18n.tr("File not supported", "Files not supported", model.length)
+ title: i18n.tr("File not supported", "Files not supported", repeater.count)
text: i18n.tr("Following document has not been imported:",
- "Following documents have not been imported:", model.length)
+ "Following documents have not been imported:", repeater.count)
Repeater {
id: repeater
- delegate: Label { text: modelData }
+ Label { text: model.path }
}
Button {
=== added file 'src/app/qml/common/SubtitledListItem.qml'
--- src/app/qml/common/SubtitledListItem.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/common/SubtitledListItem.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2015 Canonical, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+
+ListItem {
+ id: listItemSubtitled
+ property alias text: mainLabel.text
+ property alias subText: subLabel.text
+
+ Column {
+ anchors {
+ left: parent.left; right: parent.right
+ margins: units.gu(2)
+ verticalCenter: parent.verticalCenter
+ }
+
+ Label {
+ id: mainLabel
+ color: UbuntuColors.midAubergine
+ }
+ Label {
+ id: subLabel
+ fontSize: "small"
+ }
+ }
+}
=== removed file 'src/app/qml/common/Toast.qml'
--- src/app/qml/common/Toast.qml 2015-04-07 22:03:03 +0000
+++ src/app/qml/common/Toast.qml 1970-01-01 00:00:00 +0000
@@ -1,82 +0,0 @@
-/*
- This file is part of quick-memo
- Copyright (C) 2014, 2015 Stefano Verzegnassi
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License 3 as published by
- the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see http://www.gnu.org/licenses/.
-*/
-
-import QtQuick 2.0
-import Ubuntu.Components 1.1
-
-Rectangle {
- id: rootItem
-
- property alias text: label.text
-
- width: parent.width
- height: units.gu(8)
-
- color: "#131313"
- opacity: 0.85
- layer.enabled: true
-
- anchors {
- horizontalCenter: parent.horizontalCenter
- bottom: parent.bottom; bottomMargin: - height
- }
-
- Label {
- id: label
- anchors.centerIn: parent
-
- font.weight: Font.DemiBold
- color: "white"
- }
-
- MouseArea {
- anchors.fill: parent
-
- onClicked: {
- showAnimation.stop()
- destroyAnimation.restart()
- }
- }
-
- Rectangle {
- anchors {
- bottom: parent.bottom
- left: parent.left
- right: parent.right
- }
-
- height: units.dp(2)
- color: UbuntuColors.orange
- }
-
- SequentialAnimation {
- id: showAnimation
- running: true
-
- NumberAnimation { target: rootItem; property: "anchors.bottomMargin"; to: 0; duration: 300 }
- PauseAnimation { duration: 2000 }
- ScriptAction { script: destroyAnimation.restart() }
- }
-
- SequentialAnimation {
- id: destroyAnimation
-
- NumberAnimation { target: rootItem; property: "opacity"; to: 0; duration: 500 }
- ScriptAction { script: rootItem.destroy() }
- }
-}
-
=== removed file 'src/app/qml/common/ToastWithAction.qml'
--- src/app/qml/common/ToastWithAction.qml 2015-07-14 15:43:11 +0000
+++ src/app/qml/common/ToastWithAction.qml 1970-01-01 00:00:00 +0000
@@ -1,117 +0,0 @@
-/*
- Copyright (C) 2014, 2015 Stefano Verzegnassi
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License 3 as published by
- the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see http://www.gnu.org/licenses/.
-*/
-
-import QtQuick 2.0
-import Ubuntu.Components 1.1
-import QtQuick.Layouts 1.1
-
-Rectangle {
- id: rootItem
-
- property alias text: label.text
- readonly property alias action: action
-
- width: parent.width
- height: units.gu(8)
-
- color: "#131313"
- opacity: 0.85
- layer.enabled: true
-
- anchors {
- horizontalCenter: parent.horizontalCenter
- bottom: parent.bottom; bottomMargin: - height
- }
-
- MouseArea {
- anchors.fill: parent
-
- onClicked: {
- showAnimation.stop()
- destroyAnimation.restart()
- }
- }
-
- RowLayout {
- anchors {
- fill: parent
- margins: units.gu(2)
- }
-
- Label {
- id: label
- Layout.fillWidth: true
-
- font.weight: Font.DemiBold
- color: "white"
- }
-
- AbstractButton {
- Layout.preferredWidth: actionLabel.paintedWidth
- Layout.fillHeight: true
-
- onClicked: {
- action.triggered("[Toast] Action %1 clicked!".arg(action.text))
- }
-
- Label {
- id: actionLabel
- text: action.text
-
- font.capitalization: Font.AllUppercase
- font.weight: Font.DemiBold
- color: UbuntuColors.orange
-
- anchors.centerIn: parent
- }
- }
- }
-
- Rectangle {
- anchors {
- bottom: parent.bottom
- left: parent.left
- right: parent.right
- }
-
- height: units.dp(2)
- color: UbuntuColors.orange
- }
-
- Action {
- id: action
-
- text: i18n.tr("Dismiss")
- onTriggered: destroyAnimation.restart()
- }
-
- SequentialAnimation {
- id: showAnimation
- running: true
-
- NumberAnimation { target: rootItem; property: "anchors.bottomMargin"; to: 0; duration: 300 }
- PauseAnimation { duration: 2000 }
- ScriptAction { script: destroyAnimation.restart() }
- }
-
- SequentialAnimation {
- id: destroyAnimation
-
- NumberAnimation { target: rootItem; property: "opacity"; to: 0; duration: 500 }
- ScriptAction { script: rootItem.destroy() }
- }
-}
-
=== modified file 'src/app/qml/common/UnknownTypeDialog.qml'
--- src/app/qml/common/UnknownTypeDialog.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/common/UnknownTypeDialog.qml 2015-11-19 15:38:45 +0000
@@ -14,9 +14,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
+import QtQuick.Layouts 1.1
import "loadComponent.js" as LoadComponent
@@ -24,20 +25,31 @@
id: unknownDialog
objectName: "unknownDialog"
title: i18n.tr("Unknown file type")
- text: i18n.tr("Sorry but we can't find a way to display this file. Do you want to open it as a plain text?")
- Button {
- text: i18n.tr("Yes")
- color: UbuntuColors.green
-
- onClicked: {
- LoadComponent.load("text/plain");
- PopupUtils.close(unknownDialog)
- }
- }
- Button {
- text: i18n.tr("No")
- color: UbuntuColors.red
- onClicked: PopupUtils.close(unknownDialog)
+ text: i18n.tr("Sorry but we can't find a way to display this file.\n\nDo you want to open it as a plain text?")
+
+ RowLayout {
+ anchors {
+ left: parent.left
+ right: parent.right
+ margins: units.gu(-1)
+ }
+
+ Button {
+ text: i18n.tr("Cancel")
+ onClicked: PopupUtils.close(unknownDialog)
+ Layout.fillWidth: true
+ }
+
+ Button {
+ text: i18n.tr("Yes")
+ color: UbuntuColors.green
+ Layout.fillWidth: true
+
+ onClicked: {
+ LoadComponent.load("text/plain");
+ PopupUtils.close(unknownDialog)
+ }
+ }
}
}
=== modified file 'src/app/qml/common/loadComponent.js'
--- src/app/qml/common/loadComponent.js 2015-02-13 15:30:01 +0000
+++ src/app/qml/common/loadComponent.js 2015-11-19 15:38:45 +0000
@@ -27,6 +27,16 @@
if (mimetype === "application/pdf")
qmlToLoad = Qt.resolvedUrl("../pdfView/PdfView.qml");
+ // Check if LibreOffice document
+ if (mimetype.indexOf("application/vnd.oasis.opendocument") > -1
+ || mimetype === "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+ || mimetype === "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+ || mimetype === "application/vnd.openxmlformats-officedocument.presentationml.presentation"
+ || mimetype === "application/msword"
+ || mimetype === "application/vnd.ms-excel"
+ || mimetype === "application/vnd.ms-powerpoint")
+ qmlToLoad = Qt.resolvedUrl("../loView/LOViewPage.qml")
+
if (qmlToLoad != "") {
pageStack.push(qmlToLoad);
} else {
=== modified file 'src/app/qml/common/utils.js'
--- src/app/qml/common/utils.js 2015-03-04 17:48:47 +0000
+++ src/app/qml/common/utils.js 2015-11-19 15:38:45 +0000
@@ -36,3 +36,31 @@
function getNameOfFile(path) {
return path.toString().substring(path.lastIndexOf('/') + 1);
}
+
+function getIconNameFromMimetype(mimetype) {
+ if (mimetype.substring(0, 5) === "text/")
+ return "text-x-generic-symbolic"
+
+ if (mimetype.substring(0, 5) === "image")
+ return "image-x-generic-symbolic"
+
+ if (mimetype === "application/pdf")
+ return "application-pdf-symbolic"
+
+ if (mimetype === "application/vnd.oasis.opendocument.text"
+ || mimetype === "application/msword"
+ || mimetype === "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
+ return "x-office-document-symbolic"
+
+ if (mimetype === "application/vnd.oasis.opendocument.spreadsheet"
+ || mimetype === "application/vnd.ms-excel"
+ || mimetype === "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
+ return "x-office-spreadsheet-symbolic"
+
+ if (mimetype === "application/vnd.oasis.opendocument.presentation"
+ || mimetype === "application/vnd.ms-powerpoint"
+ || mimetype === "application/vnd.openxmlformats-officedocument.presentationml.presentation")
+ return "x-office-presentation-symbolic"
+
+ return "package-x-generic-symbolic"
+}
=== modified file 'src/app/qml/documentPage/DeleteFileDialog.qml'
--- src/app/qml/documentPage/DeleteFileDialog.qml 2015-07-01 16:05:59 +0000
+++ src/app/qml/documentPage/DeleteFileDialog.qml 2015-11-19 15:38:45 +0000
@@ -15,56 +15,69 @@
along with this program. If not, see http://www.gnu.org/licenses/.
*/
-import QtQuick 2.0
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
+import QtQuick.Layouts 1.1
Dialog {
id: deleteFileDialog
property string path
- property int __deleteCount: documentPage.view.item.selectedItems.count
+ property var selectedIndices: viewLoader.item.ViewItems.selectedIndices;
+ property int deleteCount: selectedIndices.length
- // WORKAROUND: This property is used only when user wants to remove a single
- // file from a delegate action, and the value of the property is read during
- // the Component.onDestruction event.
+ // WORKAROUND: This property is only used when the dialog is opened from a
+ // ListView delegate action for removing a single file.
+ // In this case, we remove the file as soon as the dialog is destroyed
+ // (it means that docModel.rm() is called externally).
// We do this because we need to avoid that the entry in the model is removed
// before this dialog is closed.
// See src/app/qml/documentPage/DocumentDelegateActions.qml
property bool confirmed: false
- title: path ? i18n.tr("Delete file") :
- i18n.tr("Delete %1 file", "Delete %1 files", __deleteCount).arg(__deleteCount)
- text: path ? i18n.tr("Are you sure you want to permanently delete this file?") :
- i18n.tr("Are you sure you want to permanently delete this file?",
- "Are you sure you want to permanently delete these files?",
- __deleteCount)
-
- Button {
- text: i18n.tr("Cancel")
- onClicked: PopupUtils.close(deleteFileDialog)
- }
-
- Button {
- text: i18n.tr("Delete")
- color: UbuntuColors.red
-
- onClicked: {
- if (deleteFileDialog.path) {
- deleteFileDialog.confirmed = true;
- } else {
- // This is called from selection mode
- var items = documentPage.view.item.selectedItems;
-
- for (var i=0; i < items.count; i++) {
- console.log("Removing:", items.get(i).model.path);
- docModel.rm(items.get(i).model.path);
+ title: path ? i18n.tr("Delete file")
+ : i18n.tr("Delete %1 file", "Delete %1 files", deleteCount).arg(deleteCount)
+ text: path ? i18n.tr("Are you sure you want to permanently delete this file?")
+ : i18n.tr("Are you sure you want to permanently delete this file?",
+ "Are you sure you want to permanently delete these files?",
+ deleteCount)
+
+
+ RowLayout {
+ anchors {
+ left: parent.left
+ right: parent.right
+ margins: units.gu(-1)
+ }
+
+ Button {
+ text: i18n.tr("Cancel")
+ onClicked: PopupUtils.close(deleteFileDialog)
+ Layout.fillWidth: true
+ }
+
+ Button {
+ text: i18n.tr("Delete")
+ color: UbuntuColors.red
+ Layout.fillWidth: true
+
+ onClicked: {
+ if (deleteFileDialog.path) {
+ // WORKAROUND: See above.
+ deleteFileDialog.confirmed = true;
+ } else {
+ // This is called from selection mode
+ for (var i=0; i < selectedIndices.length; i++) {
+ console.log("Removing:", folderModel.get(selectedIndices[i]).path);
+ docModel.rm(folderModel.get(selectedIndices[i]).path);
+ }
+
+ viewLoader.item.cancelSelection();
}
- viewLoader.item.endSelection();
+ PopupUtils.close(deleteFileDialog)
}
-
- PopupUtils.close(deleteFileDialog)
}
}
}
=== modified file 'src/app/qml/documentPage/DocumentDelegateActions.qml'
--- src/app/qml/documentPage/DocumentDelegateActions.qml 2015-07-01 16:05:59 +0000
+++ src/app/qml/documentPage/DocumentDelegateActions.qml 2015-11-19 15:38:45 +0000
@@ -14,10 +14,12 @@
along with this program. If not, see http://www.gnu.org/licenses/.
*/
-import QtQuick 2.0
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
+// TODO: Probably requires some change in order to work with latest ListItem 1.2
+
QtObject {
property list<Action> leadingActions: [
Action {
@@ -27,15 +29,24 @@
var dialog = PopupUtils.open(Qt.resolvedUrl("DeleteFileDialog.qml"),
documentPage, { path: model.path })
+ // See DeleteFileDialog.qml
dialog.Component.destruction.connect(function() {
if (dialog.confirmed) {
console.log("Removing:", model.path);
docModel.rm(model.path);
}
- });
+ })
}
}
]
- property list<Action> trailingActions
+ property list<Action> trailingActions: [
+ Action {
+ iconName: "share"
+ text: i18n.tr("Share")
+ onTriggered: {
+ pageStack.push(Qt.resolvedUrl("./SharePage.qml"), { fileUrl: model.path })
+ }
+ }
+ ]
}
=== modified file 'src/app/qml/documentPage/DocumentEmptyState.qml'
--- src/app/qml/documentPage/DocumentEmptyState.qml 2015-02-26 20:16:32 +0000
+++ src/app/qml/documentPage/DocumentEmptyState.qml 2015-11-19 15:38:45 +0000
@@ -14,7 +14,7 @@
along with this program. If not, see http://www.gnu.org/licenses/.
*/
-import QtQuick 2.0
+import QtQuick 2.4
import "../upstreamComponents"
Item {
@@ -22,10 +22,7 @@
EmptyState {
title: i18n.tr("No document found")
-
- // TODO: Add "or insert removable media with documents." to subTitle when
- // the support for SD card will be implemented.
- subTitle: i18n.tr("Connect your device to any computer and simply drag files to the Documents folder.")
+ subTitle: i18n.tr("Connect your device to any computer and simply drag files to the Documents folder or insert removable media with documents.")
iconName: "edit-copy"
anchors.centerIn: parent
=== removed file 'src/app/qml/documentPage/DocumentGridDelegate.qml'
--- src/app/qml/documentPage/DocumentGridDelegate.qml 2015-07-14 13:43:17 +0000
+++ src/app/qml/documentPage/DocumentGridDelegate.qml 1970-01-01 00:00:00 +0000
@@ -1,113 +0,0 @@
-/*
- Copyright (C) 2015 Stefano Verzegnassi
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License 3 as published by
- the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see http://www.gnu.org/licenses/.
-*/
-
-import QtQuick 2.0
-import Ubuntu.Components 1.1
-
-import "../common/utils.js" as Utils
-
-TileBase {
- id: root
-
- function formattedDateTime() {
- var date = new Date(model.date)
- var diff = model.dateDiff
-
- if (diff < 1)
- // TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
- // http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
- return i18n.tr("Today, %1").arg(Qt.formatTime(date, Qt.locale().timeFormat(Locale.ShortFormat)))
-
- if (diff < 2)
- // TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
- // http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
- return i18n.tr("Yesterday, %1").arg(Qt.formatTime(date, Qt.locale().timeFormat(Locale.ShortFormat)))
-
- if (diff < 7)
- // TRANSLATORS: this is a datetime formatting string,
- // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
- return Qt.formatDateTime(date, i18n.tr("dddd, hh:mm"))
-
- // TRANSLATORS: this is a datetime formatting string,
- // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
- return Qt.formatDateTime(date, i18n.tr("dd-MM-yyyy hh:mm"))
- }
-
- title: model.name
- text: formattedDateTime()
- subText: Utils.printSize(i18n, model.size)
-
- leadingActions: documentDelegateActions.leadingActions
- trailingActions: documentDelegateActions.trailingActions
-
- Icon {
- id: extStorageIcon
-
- width: units.gu(4)
- height: units.gu(4)
- anchors {
- left: parent.left
- top: parent.top
- margins: units.gu(0.5)
- }
-
- visible: model.isFromExternalStorage
- source: Qt.resolvedUrl("../../graphics/sd-card-symbolic.png")
- }
-
- // Document mimetype icon
- Icon {
- anchors.centerIn: parent
- width: units.gu(8); height: width
-
- // At the moment the suru icon theme doesn't have much icons.
- // Just some note for the future:
- // TODO: Add icons for Office/ODF documents
- // TODO: Whenever there will be icons for source code files, add them.
- name: {
- if (model.mimetype.substring(0, 5) === "text/")
- return "text-x-generic-symbolic"
-
- if (model.mimetype.substring(0, 5) === "image")
- return "image-x-generic-symbolic"
-
- if (model.mimetype === "application/pdf")
- return "application-pdf-symbolic"
-
- return "package-x-generic-symbolic"
- }
- }
-
- // Cover
- /* Image {
- anchors.fill: parent
-
- source: {
- if (model.cover !== "" && typeof model.cover !== "undefined")
- return model.cover
-
- if (model.mimetype.toString().indexOf("image") !== -1)
- return model.path
-
- return ""
- }
-
- sourceSize.width: width
- fillMode: Image.PreserveAspectCrop
- }*/
-
- DocumentDelegateActions { id: documentDelegateActions }
-}
=== removed file 'src/app/qml/documentPage/DocumentGridView.qml'
--- src/app/qml/documentPage/DocumentGridView.qml 2015-06-22 17:04:27 +0000
+++ src/app/qml/documentPage/DocumentGridView.qml 1970-01-01 00:00:00 +0000
@@ -1,84 +0,0 @@
-/*
- Copyright (C) 2015 Stefano Verzegnassi
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License 3 as published by
- the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see http://www.gnu.org/licenses/.
-*/
-
-import QtQuick 2.0
-import Ubuntu.Components 1.1
-
-import "../upstreamComponents"
-
-MultipleSelectionGridView {
- id: documentGridView
-
- // We use mainView.width to calculate the size and the spacing of elements.
- // That's because this GridView always fills (and always will) the whole size of MainView.
- // By this way, we can avoid binding loops, keeping the code pretty simple.
- anchors {
- fill: parent
- margins: units.gu(0.5)
- leftMargin: (mainView.width % cellWidth) * 0.5
- rightMargin: (mainView.width % cellWidth) * 0.5
- }
- clip: true
-
- cellHeight: cellWidth
- cellWidth: (mainView.width > units.gu(50)) ? units.gu(24)
- : (mainView.width - units.gu(2)) * 0.5
-
- listDelegate: DocumentGridDelegate {
- id: delegate
- width: cellWidth
- height: cellHeight
-
- selectionMode: documentGridView.isInSelectionMode
- selected: documentGridView.isSelected(delegate)
-
- onClicked: {
- if(documentGridView.isInSelectionMode) {
- if(!documentGridView.selectItem(delegate)) {
- documentGridView.deselectItem(delegate)
- }
- return
- }
- else {
- mainView.openDocument(model.path)
- }
- }
-
- onPressAndHold: {
- if (!documentGridView.isInSelectionMode) {
- documentGridView.startSelection()
- documentGridView.selectItem(delegate)
- }
- }
- }
-
- listModel: folderModel
-
- Scrollbar {
- flickableItem: documentGridView
- parent: documentGridView.parent
- }
-
- Connections {
- target: sortSettings
-
- onSortModeChanged: {
- documentGridView.positionViewAtBeginning()
- }
- }
-
- Component.onCompleted: { if (DOC_VIEWER.pickModeEnabled) documentGridView.startSelection(); }
-}
=== modified file 'src/app/qml/documentPage/DocumentListDelegate.qml'
--- src/app/qml/documentPage/DocumentListDelegate.qml 2015-07-24 09:12:38 +0000
+++ src/app/qml/documentPage/DocumentListDelegate.qml 2015-11-19 15:38:45 +0000
@@ -14,132 +14,118 @@
along with this program. If not, see http://www.gnu.org/licenses/.
*/
-import QtQuick 2.0
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import QtQuick.Layouts 1.1
-import QtGraphicalEffects 1.0
+import DocumentViewer 1.0
import "../common/utils.js" as Utils
-import "../upstreamComponents"
-
-ListItemWithActions {
- property QtObject documentDelegateActions: DocumentDelegateActions { }
-
- function formattedDateTime() {
- var date = new Date(model.date)
- var diff = model.dateDiff
-
- if (sortSettings.sortMode !== 0) { // The sort rule is not "by date"
- switch(diff) {
- case 0: // DocumentsModel.Today
- // TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
- // http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
- return i18n.tr("Today, %1").arg(Qt.formatTime(date, Qt.locale().timeFormat(Locale.ShortFormat)))
-
- case 1: // DocumentsModel.Yesterday
- // TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
- // http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
- return i18n.tr("Yesterday, %1").arg(Qt.formatTime(date, Qt.locale().timeFormat(Locale.ShortFormat)))
-
- default: // DocumentsModel.LastWeek || DocumentsModel.LastMonth || DocumentsModel.Earlier
- // TRANSLATORS: this is a datetime formatting string,
- // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
- return Qt.formatDateTime(date, i18n.tr("dd-MM-yyyy hh:mm"))
- }
- } else {
- switch(diff) {
- case 0: // DocumentsModel.Today, or
- case 1: // DocumentsModel.Yesterday
- return Qt.formatDateTime(date, Qt.locale().timeFormat(Locale.ShortFormat))
-
- case 2: // DocumentsModel.LastWeek
- // TRANSLATORS: this is a datetime formatting string,
- // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
- return Qt.formatDateTime(date, i18n.tr("dddd, hh:mm"))
-
- default: // DocumentsModel.LastMonth || DocumentsModel.Earlier
- // TRANSLATORS: this is a datetime formatting string,
- // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
- return Qt.formatDateTime(date, i18n.tr("dd-MM-yyyy hh:mm"))
- }
- }
- }
-
- anchors { left: parent.left; right: parent.right }
- height: units.gu(8)
-
- locked: documentPage.state == "pickMode"
-
- leftSideAction: documentDelegateActions.leadingActions[0]
- rightSideActions: documentDelegateActions.trailingActions
-
- contents: RowLayout {
- anchors.fill: parent
+
+// TODO: Ask for a review of this component to the design team
+
+ListItem {
+ id: listDelegate
+ height: units.gu(9)
+ leadingActions: ListItemActions { actions: documentDelegateActions.leadingActions }
+ trailingActions: ListItemActions { actions: documentDelegateActions.trailingActions }
+
+ RowLayout {
spacing: units.gu(2)
+ anchors {
+ fill: parent; margins: units.gu(1)
+ leftMargin: units.gu(2)
+ rightMargin: units.gu(2)
+ }
Icon {
+ name: Utils.getIconNameFromMimetype(model.mimetype)
Layout.preferredWidth: height
Layout.preferredHeight: units.gu(5)
-
- // At the moment the suru icon theme doesn't have much icons.
- name: {
- if (model.mimetype.substring(0, 5) === "text/")
- return "text-x-generic-symbolic"
-
- if (model.mimetype.substring(0, 5) === "image")
- return "image-x-generic-symbolic"
-
- if (model.mimetype === "application/pdf")
- return "application-pdf-symbolic"
-
- return "package-x-generic-symbolic"
- }
-
- Rectangle {
- anchors {
- right: parent.right
- bottom: parent.bottom
- }
-
- width: units.gu(2.5)
- height: units.gu(2.5)
-
- visible: model.isFromExternalStorage
- color: mainView.backgroundColor
-
- Icon {
- anchors.fill: parent
- source: Qt.resolvedUrl("../../graphics/sd-card-symbolic.png")
- }
- }
}
Column {
Layout.fillWidth: true
- Label {
- text: model.name
- wrapMode: Text.Wrap
- width: parent.width
-
- color: UbuntuColors.midAubergine
- }
-
RowLayout {
width: parent.width
-
Label {
- text: formattedDateTime()
- fontSize: "small"
-
+ text: model.name
+ //wrapMode: Text.Wrap
+ elide: Text.ElideRight
+ color: UbuntuColors.midAubergine
Layout.fillWidth: true
}
-
Label {
text: Utils.printSize(i18n, model.size)
fontSize: "small"
}
}
+
+ RowLayout {
+ width: parent.width
+ Label {
+ text: internal.formattedDateTime()
+ fontSize: "small"
+
+ Layout.fillWidth: true
+ }
+ Icon {
+ width: units.gu(2); height: width
+ name: "sdcard-symbolic"
+ visible: model.isFromExternalStorage
+ }
+ }
+ }
+ }
+
+ DocumentDelegateActions { id: documentDelegateActions }
+
+ QtObject {
+ id: internal
+
+ function formattedDateTime() {
+ var date = new Date(model.date)
+ var diff = model.dateDiff
+
+ if (sortSettings.sortMode !== 0) { // Sort is not "by date"
+ switch(diff) {
+ case DocumentsModel.Today:
+ // TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
+ // http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
+ return i18n.tr("Today, %1").arg(Qt.formatTime(date, Qt.locale().timeFormat(Locale.ShortFormat)))
+
+ case DocumentsModel.Yesterday:
+ // TRANSLATORS: %1 refers to a time formatted as Locale.ShortFormat (e.g. hh:mm). It depends on system settings.
+ // http://qt-project.org/doc/qt-4.8/qlocale.html#FormatType-enum
+ return i18n.tr("Yesterday, %1").arg(Qt.formatTime(date, Qt.locale().timeFormat(Locale.ShortFormat)))
+
+ case DocumentsModel.LastWeek:
+ case DocumentsModel.LastMonth:
+ case DocumentsModel.Earlier:
+ // TRANSLATORS: this is a datetime formatting string,
+ // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+ return Qt.formatDateTime(date, i18n.tr("yyyy/MM/dd hh:mm"))
+ }
+ }
+
+ else { //
+ switch(diff) { // Sort "by date"
+ case DocumentsModel.Today:
+ case DocumentsModel.Yesterday:
+ return Qt.formatDateTime(date, Qt.locale().timeFormat(Locale.ShortFormat))
+
+ case DocumentsModel.LastWeek:
+ // TRANSLATORS: this is a datetime formatting string,
+ // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+ return Qt.formatDateTime(date, i18n.tr("dddd, hh:mm"))
+
+ case DocumentsModel.LastMonth:
+ case DocumentsModel.Earlier:
+ // TRANSLATORS: this is a datetime formatting string,
+ // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions.
+ return Qt.formatDateTime(date, i18n.tr("yyyy/MM/dd hh:mm"))
+ }
+ }
}
}
}
=== modified file 'src/app/qml/documentPage/DocumentListView.qml'
--- src/app/qml/documentPage/DocumentListView.qml 2015-06-22 17:04:27 +0000
+++ src/app/qml/documentPage/DocumentListView.qml 2015-11-19 15:38:45 +0000
@@ -14,161 +14,83 @@
along with this program. If not, see http://www.gnu.org/licenses/.
*/
-import QtQuick 2.0
-import Ubuntu.Components 1.1
-import Ubuntu.Components.ListItems 1.0 as ListItem
-import DocumentViewer 1.0
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import "../upstreamComponents"
-MultipleSelectionListView {
+ListView {
id: documentListView
-
anchors { fill: parent; margins: units.gu(0.5) }
clip: true
- property var _currentSwipedItem: null
-
- function _updateSwipeState(item)
- {
- if (item.swipping) {
- return
- }
-
- if (item.swipeState !== "Normal") {
- if (documentListView._currentSwipedItem !== item) {
- if (documentListView._currentSwipedItem) {
- documentListView._currentSwipedItem.resetSwipe()
- }
- documentListView._currentSwipedItem = item
- }
- } else if (item.swipeState !== "Normal"
- && documentListView._currentSwipedItem === item) {
- documentListView._currentSwipedItem = null
- }
- }
-
- listDelegate: DocumentListDelegate {
- id: delegate
-
- property var removalAnimation
-
- function remove() {
- removalAnimation.start()
- }
-
- selectionMode: documentListView.isInSelectionMode
- selected: documentListView.isSelected(delegate)
-
- onSwippingChanged: {
- _updateSwipeState(delegate)
- }
-
- onSwipeStateChanged: {
- _updateSwipeState(delegate)
- }
-
- ListView.onRemove: ScriptAction {
- script: {
- if (_currentSwipedItem
- === delegate) {
- _currentSwipedItem = null
- }
- }
- }
-
- removalAnimation: SequentialAnimation {
- alwaysRunToEnd: true
-
- PropertyAction {
- target: delegate
- property: "ListView.delayRemove"
- value: true
- }
-
- UbuntuNumberAnimation {
- target: delegate
- property: "height"
- to: 0
- }
-
- PropertyAction {
- target: delegate
- property: "ListView.delayRemove"
- value: false
- }
-
- ScriptAction {
- script: {
- var filePath = d.folderModel.get(index, "filePath")
- Storage.rm(filePath)
- }
- }
- }
-
- onItemClicked: {
- if(documentListView.isInSelectionMode) {
- if(!documentListView.selectItem(delegate)) {
- documentListView.deselectItem(delegate)
- }
- return
- }
-
- else {
- mainView.openDocument(model.path)
- }
- }
-
- onItemPressAndHold: {
- if (!documentListView.isInSelectionMode) {
- documentListView.startSelection()
- documentListView.selectItem(delegate)
- }
- }
- }
-
- listModel: folderModel
-
- section.property: {
- switch (sortSettings.sortMode) {
- case 0: // sort by date
- return "dateDiff"
- case 1: // sort by name
- return "name"
- default: // sort by size -> do not show section header
- return ""
- }
- }
-
- section.criteria: {
- if (sortSettings.sortMode === 1) // sort by name
- return ViewSection.FirstCharacter
-
- return ViewSection.FullString
- }
-
- section.delegate: ListItem.Header {
- text: {
+ function isMultipleSelection() {
+ // No active transfer, then we're in selection mode.
+ if (!contentHubProxy.activeTransfer)
+ return true
+
+ // We have an active transfer, get the value from the content hub proxy
+ return contentHubProxy.multipleSelectionType
+ }
+
+ function clearSelection() {
+ ViewItems.selectedIndices = []
+ }
+
+ function selectAll() {
+ clearSelection()
+
+ for (var i=0; i < model.count; i++) {
+ ViewItems.selectedIndices.push(i)
+ }
+ }
+
+ function cancelSelection() {
+ clearSelection()
+ ViewItems.selectMode = false
+ }
+
+ function startSelection() {
+ ViewItems.selectMode = true
+ }
+
+ model: folderModel
+ delegate: DocumentListDelegate {
+ onClicked: {
+ if (selectMode) {
+ if (!isMultipleSelection())
+ clearSelection()
+
+ selected = !selected
+ return;
+ }
+
+ mainView.openDocument(model.path)
+ }
+
+ onPressAndHold: {
+ ListView.view.ViewItems.selectMode = !ListView.view.ViewItems.selectMode
+ selected = true
+ }
+ }
+
+ section {
+ delegate: SectionHeader { }
+ property: {
+ switch (sortSettings.sortMode) {
+ case 0: // sort by date
+ return "dateDiff"
+ case 1: // sort by name
+ return "name"
+ default: // sort by size -> do not show section header
+ return ""
+ }
+ }
+ criteria: {
if (sortSettings.sortMode === 1) // sort by name
- return section.toUpperCase()
-
- if (sortSettings.sortMode === 0) { // sort by date
- if (section == DocumentsModel.Today)
- return i18n.tr("Today")
-
- if (section == DocumentsModel.Yesterday)
- return i18n.tr("Yesterday")
-
- if (section == DocumentsModel.LastWeek)
- return i18n.tr("Earlier this week")
-
- if (section == DocumentsModel.LastMonth)
- return i18n.tr("Earlier this month")
-
- return i18n.tr("Even earlier...")
- }
-
- return ""
+ return ViewSection.FirstCharacter
+
+ return ViewSection.FullString
}
}
@@ -179,11 +101,8 @@
Connections {
target: sortSettings
-
- onSortModeChanged: {
- documentListView.positionViewAtBeginning()
- }
+ onSortModeChanged: documentListView.positionViewAtBeginning()
}
- Component.onCompleted: { if (DOC_VIEWER.pickModeEnabled) documentListView.startSelection(); }
+ Component.onCompleted: if (mainView.pickMode) documentListView.startSelection()
}
=== modified file 'src/app/qml/documentPage/DocumentPage.qml'
--- src/app/qml/documentPage/DocumentPage.qml 2015-06-22 16:39:07 +0000
+++ src/app/qml/documentPage/DocumentPage.qml 2015-11-19 15:38:45 +0000
@@ -14,13 +14,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.0
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Qt.labs.settings 1.0
Page {
id: documentPage
-
title: i18n.tr("Documents")
flickable: null
@@ -41,12 +40,23 @@
Loader {
id: viewLoader
- anchors.fill: parent
-
- source: (folderModel.count === 0) ? documentPage.state == "search" ? Qt.resolvedUrl("./SearchEmptyState.qml")
- : Qt.resolvedUrl("./DocumentEmptyState.qml")
- : useGridView ? Qt.resolvedUrl("./DocumentGridView.qml")
- : Qt.resolvedUrl("./DocumentListView.qml")
+
+ width: Math.min(units.gu(80), parent.width)
+ anchors {
+ top: parent.top
+ bottom: parent.bottom
+ horizontalCenter: parent.horizontalCenter
+ }
+
+ source: {
+ if (folderModel.count === 0) {
+ return documentPage.state == "search"
+ ? Qt.resolvedUrl("SearchEmptyState.qml")
+ : Qt.resolvedUrl("BrowserEmptyState.qml")
+ }
+
+ return Qt.resolvedUrl("DocumentListView.qml")
+ }
}
// *** HEADER ***
@@ -54,7 +64,7 @@
DocumentPageDefaultHeader {
name: "default"
targetPage: documentPage
- when: !mainView.pickMode && !viewLoader.item.isInSelectionMode && !documentPage.searchMode
+ when: !mainView.pickMode && !viewLoader.item.ViewItems.selectMode && !documentPage.searchMode
},
DocumentPagePickModeHeader {
@@ -66,21 +76,21 @@
DocumentPageSelectionModeHeader {
name: "selection"
targetPage: documentPage
- when: !mainView.pickMode && viewLoader.item.isInSelectionMode
+ when: !mainView.pickMode && viewLoader.item.ViewItems.selectMode
},
DocumentPageSearchHeader {
name: "search"
targetPage: documentPage
- when: !mainView.pickMode && !viewLoader.item.isInSelectionMode && documentPage.searchMode
+ when: !mainView.pickMode && !viewLoader.item.ViewItems.selectMode && documentPage.searchMode
}
]
Connections {
- target: DOC_VIEWER
+ target: mainView
- onPickModeEnabledChanged: {
- if (DOC_VIEWER.pickModeEnabled) {
+ onPickModeChanged: {
+ if (mainView.pickMode) {
viewLoader.item.startSelection()
} else {
viewLoader.item.cancelSelection()
=== modified file 'src/app/qml/documentPage/DocumentPageDefaultHeader.qml'
--- src/app/qml/documentPage/DocumentPageDefaultHeader.qml 2015-06-12 14:47:40 +0000
+++ src/app/qml/documentPage/DocumentPageDefaultHeader.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
PageHeadState {
@@ -29,25 +29,23 @@
text: i18n.tr("Search...")
iconName: "search"
onTriggered: targetPage.searchMode = true
-
visible: folderModel.count !== 0
},
Action {
text: i18n.tr("Sorting settings...")
- iconSource: Qt.resolvedUrl("../../graphics/settings_alt.svg")
+ iconName: "settings"
onTriggered: PopupUtils.open(Qt.resolvedUrl("SortSettingsDialog.qml"))
-
visible: folderModel.count !== 0
- },
+ }
+ /*
Action {
- id: switchView
text: targetPage.useGridView ? i18n.tr("Switch to single column list") : i18n.tr("Switch to grid")
iconName: targetPage.useGridView ? "view-list-symbolic" : "view-grid-symbolic"
onTriggered: targetPage.useGridView = !targetPage.useGridView
-
visible: folderModel.count !== 0
}
+ */
]
}
=== modified file 'src/app/qml/documentPage/DocumentPagePickModeHeader.qml'
--- src/app/qml/documentPage/DocumentPagePickModeHeader.qml 2015-03-03 15:41:11 +0000
+++ src/app/qml/documentPage/DocumentPagePickModeHeader.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import Ubuntu.Content 1.1
PageHeadState {
id: rootItem
@@ -27,7 +28,12 @@
text: i18n.tr("Cancel")
objectName: "cancelButton"
iconName: "close"
- onTriggered: DOC_VIEWER.contentPickingCanceled()
+ onTriggered: {
+ if (!contentHubProxy.activeTransfer)
+ return;
+
+ contentHubProxy.activeTransfer.state = ContentTransfer.Aborted;
+ }
}
actions: [
@@ -45,17 +51,18 @@
enabled: viewLoader.item.selectedItems.count > 0
iconName: "ok"
onTriggered: {
- if (!enabled)
+ if (!enabled || !contentHubProxy.activeTransfer)
return;
var urlList = []
- var items = documentPage.view.item.selectedItems;
+ var indices = documentPage.view.item.selectedIndices;
- for (var i=0; i < items.count; i++) {
- urlList.push(items.get(i).model.path);
+ for (var i=0; i < indices.length; i++) {
+ urlList.push("file://" + folderModel.get(i).path);
}
- DOC_VIEWER.returnPickedContent(urlList);
+ contentHubProxy.activeTransfer.items = urlList
+ contentHubProxy.activeTransfer.state = ContentTransfer.Charged
}
}
]
=== modified file 'src/app/qml/documentPage/DocumentPageSearchHeader.qml'
--- src/app/qml/documentPage/DocumentPageSearchHeader.qml 2015-06-12 14:04:40 +0000
+++ src/app/qml/documentPage/DocumentPageSearchHeader.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
PageHeadState {
id: rootItem
=== modified file 'src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml'
--- src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml 2015-03-04 17:44:36 +0000
+++ src/app/qml/documentPage/DocumentPageSelectionModeHeader.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
import "../upstreamComponents"
@@ -24,9 +24,10 @@
id: rootItem
property Page targetPage
-
head: targetPage.head
+ property bool selectedAll: viewLoader.item.ViewItems.selectedIndices.length == viewLoader.item.count
+
backAction: Action {
iconName: "close"
text: i18n.tr("Close")
@@ -35,61 +36,40 @@
}
}
- contents: Loader {
- id: selectionStateLoader
- active: documentPage.state === "selection"
- sourceComponent: Item {
- HeaderButton {
- id: selectButton
-
- anchors {
- right: deleteButton.left
- rightMargin: units.gu(1)
- }
-
- text: {
- if(viewLoader.item.selectedItems.count === viewLoader.item.count) {
- return i18n.tr("Select None")
- } else {
- return i18n.tr("Select All")
- }
- }
-
- iconSource: {
- if(viewLoader.item.selectedItems.count === viewLoader.item.count) {
- return Qt.resolvedUrl("../../graphics/select-none.svg")
- } else {
- return Qt.resolvedUrl("../../graphics/select.svg")
- }
- }
-
- onTriggered: {
- if(viewLoader.item.selectedItems.count === viewLoader.item.count) {
- viewLoader.item.clearSelection()
- } else {
- viewLoader.item.selectAll()
- }
- }
- }
-
- HeaderButton {
- id: deleteButton
-
- anchors.right: parent.right
- anchors.rightMargin: units.gu(2)
-
- iconName: "delete"
- text: i18n.tr("Delete")
- enabled: viewLoader.item.selectedItems.count !== 0
-
- onTriggered: {
- PopupUtils.open(Qt.resolvedUrl("DeleteFileDialog.qml"), documentPage)
- }
- }
- }
-
- height: parent ? parent.height : undefined
- anchors.right: parent ? parent.right: undefined
+ actions: [
+ Action {
+ iconName: selectedAll ? "select-none" : "select"
+ text: selectedAll ? i18n.tr("Select None") : i18n.tr("Select All")
+
+ onTriggered: {
+ if (selectedAll) {
+ viewLoader.item.clearSelection()
+ } else {
+ viewLoader.item.selectAll()
+ }
+ }
+ },
+
+ Action {
+ iconName: "delete"
+ text: i18n.tr("Delete")
+ enabled: viewLoader.item.ViewItems.selectedIndices.length !== 0
+
+ onTriggered: PopupUtils.open(Qt.resolvedUrl("DeleteFileDialog.qml"), documentPage)
+ }
+ ]
+
+ // WORKAROUND: "preset" property of PageHeadConfiguration is still not
+ // exposed in PageHeadState.
+ contents: Item {
+ Connections {
+ target: targetPage
+ onStateChanged: {
+ if (targetPage.state === "selection")
+ head.preset = "select"
+ else
+ head.preset = ""
+ }
+ }
}
-
}
=== modified file 'src/app/qml/documentPage/SearchEmptyState.qml'
--- src/app/qml/documentPage/SearchEmptyState.qml 2015-06-10 17:22:28 +0000
+++ src/app/qml/documentPage/SearchEmptyState.qml 2015-11-19 15:38:45 +0000
@@ -14,7 +14,7 @@
along with this program. If not, see http://www.gnu.org/licenses/.
*/
-import QtQuick 2.0
+import QtQuick 2.4
import "../upstreamComponents"
Item {
=== added file 'src/app/qml/documentPage/SectionHeader.qml'
--- src/app/qml/documentPage/SectionHeader.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/documentPage/SectionHeader.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,29 @@
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import Ubuntu.Components.ListItems 1.0 as ListItem
+import DocumentViewer 1.0
+
+ListItem.Header {
+ text: {
+ if (sortSettings.sortMode === 1) // sort by name
+ return section.toUpperCase()
+
+ if (sortSettings.sortMode === 0) { // sort by date
+ if (section == DocumentsModel.Today)
+ return i18n.tr("Today")
+
+ if (section == DocumentsModel.Yesterday)
+ return i18n.tr("Yesterday")
+
+ if (section == DocumentsModel.LastWeek)
+ return i18n.tr("Earlier this week")
+
+ if (section == DocumentsModel.LastMonth)
+ return i18n.tr("Earlier this month")
+
+ return i18n.tr("Even earlier...")
+ }
+
+ return ""
+ }
+}
=== added file 'src/app/qml/documentPage/SharePage.qml'
--- src/app/qml/documentPage/SharePage.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/documentPage/SharePage.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,56 @@
+/*
+ Copyright (C) 2015 Stefano Verzegnassi
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License 3 as published by
+ the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see http://www.gnu.org/licenses/.
+*/
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import Ubuntu.Content 1.1
+
+Page {
+ id: sharePage
+ title: i18n.tr("Share to")
+
+ property url fileUrl
+ property var activeTransfer
+
+ ContentPeerPicker {
+ id: picker
+
+ contentType: ContentType.Documents
+ handler: ContentHandler.Share
+ showTitle: false
+
+ onPeerSelected: {
+ activeTransfer = peer.request();
+ activeTransfer.items = [ resultComponent.createObject(sharePage, { "url": fileUrl }) ];
+ activeTransfer.state = ContentTransfer.Charged;
+ pageStack.pop();
+ }
+
+ onCancelPressed: {
+ pageStack.pop();
+ }
+ }
+
+ ContentTransferHint {
+ anchors.fill: parent
+ activeTransfer: sharePage.activeTransfer
+ }
+
+ Component {
+ id: resultComponent
+ ContentItem {}
+ }
+}
=== modified file 'src/app/qml/documentPage/SortSettingsDialog.qml'
--- src/app/qml/documentPage/SortSettingsDialog.qml 2015-07-14 15:43:11 +0000
+++ src/app/qml/documentPage/SortSettingsDialog.qml 2015-11-19 15:38:45 +0000
@@ -15,8 +15,8 @@
along with this program. If not, see http://www.gnu.org/licenses/.
*/
-import QtQuick 2.0
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
import QtQuick.Layouts 1.1
@@ -51,6 +51,7 @@
Button {
text: i18n.tr("Close")
+ color: UbuntuColors.green
onClicked: PopupUtils.close(sortSettingsDialog)
}
}
=== removed file 'src/app/qml/documentPage/TileBase.qml'
--- src/app/qml/documentPage/TileBase.qml 2015-07-14 13:20:35 +0000
+++ src/app/qml/documentPage/TileBase.qml 1970-01-01 00:00:00 +0000
@@ -1,369 +0,0 @@
-/*
- Copyright (C) 2014, 2015 Canonical Ltd.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License 3 as published by
- the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see http://www.gnu.org/licenses/.
-*/
-
-import QtQuick 2.0
-import Ubuntu.Components 1.1
-import Ubuntu.Components.Popups 1.0
-import Ubuntu.Components.ListItems 1.0 as ListItem
-
-AbstractButton {
- id: root
-
- property bool selected: false
- property bool selectionMode: false
-
- default property alias content: tileContent.data
-
- property alias title: titleLabel.text
- property alias text: textLabel.text
- property alias subText: subTextLabel.text
-
- // We don't really have swipe gesture here, but we anyway use the same
- // properties' name used for UITK1.2 ListItem just for consistency.
- property list<Action> trailingActions // Right to Left gesture in ListItem
- property list<Action> leadingActions // Left to Right gesture in ListItem
-
- Rectangle {
- id: rect
-
- anchors { fill: parent; margins: units.gu(0.5) }
-
- color: Qt.lighter(UbuntuColors.lightGrey)
- clip: true
-
- Item {
- id: tileContent
-
- height: parent.height - captionsLayout.height * 0.3 - units.gu(2)
- anchors {
- left: parent.left
- right: parent.right
- verticalCenter: parent.verticalCenter
- verticalCenterOffset: - captionsLayout.height * 0.3
- }
- }
-
- Loader {
- id: overflowButton
-
- anchors {
- right: parent.right
- top: parent.top
- }
-
- z: 10
-
- sourceComponent: actionsOverflowButton
-
- onStatusChanged: {
- if (status === Loader.Ready) {
- item.iconName = "contextual-menu"
- item.color = UbuntuColors.darkGrey
- item.width = overflowButton.width
- item.height = overflowButton.height
-
- item.triggered.connect(function() {
- var overflowPanel = PopupUtils.open(actionsOverflowPopoverComponent, item)
- item.overflowPanelVisible = overflowPanel.visible;
-
- overflowPanel.visibleChanged.connect(function() {
- item.overflowPanelVisible = overflowPanel.visible
- });
- });
- }
- }
-
- width: units.gu(5)
- height: units.gu(5)
- visible: rect.state !== "select" && (trailingActions.length > 0 || leadingActions.length > 0)
-
- Behavior on opacity {
- NumberAnimation {
- duration: UbuntuAnimation.SnapDuration
- }
- }
- }
-
- Loader {
- id: selectionIcon
-
- anchors {
- right: parent.right
- top: parent.top
- }
-
- z: 10
-
- width: (status === Loader.Ready) ? item.implicitWidth : 0
- visible: (status === Loader.Ready) && (item.width === item.implicitWidth)
- Behavior on opacity {
- NumberAnimation {
- duration: UbuntuAnimation.SnapDuration
- }
- }
- }
-
- // Tile captions
- Rectangle {
- id: captionsRect
-
- anchors {
- left: parent.left
- right: parent.right
- bottom: parent.bottom
- }
-
- height: captionsLayout.height + units.gu(1)
-
- color: UbuntuColors.darkGrey
- opacity: 0.75
- layer.enabled: true
-
- Column {
- id: captionsLayout
- anchors {
- left: parent.left;
- right: parent.right
- verticalCenter: parent.verticalCenter
- margins: units.gu(0.5)
- }
-
- Label {
- id: titleLabel
- color: "white"
-
- elide: Text.ElideRight
- font.weight: Font.DemiBold
- fontSize: "small"
-
- anchors { left: parent.left; right: parent.right }
- }
-
- Label {
- id: textLabel
- color: "white"
- fontSize: "small"
-
- anchors { left: parent.left; right: parent.right }
- }
-
- Label {
- id: subTextLabel
- color: "white"
- fontSize: "small"
-
- anchors { left: parent.left; right: parent.right }
- }
- }
- }
-
- states: [
- State {
- name: "select"
- when: selectionMode || selected
- PropertyChanges {
- target: selectionIcon
- sourceComponent: selectionCheckBox
- anchors.margins: units.gu(1)
- }
- }
- ]
- }
-
- // *** COMPONENTS
- Component {
- id: selectionCheckBox
-
- CheckBox {
- checked: root.selected
- width: implicitWidth
- // disable item mouse area to avoid conflicts with parent mouse area
- __mouseArea.enabled: false
- }
- }
-
- Component {
- id: actionsOverflowButton
-
- AbstractButton {
- id: button
-
- property alias color: icon.color
- property bool overflowPanelVisible: false
-
- width: visible ? units.gu(5) : 0
- height: parent ? parent.height : undefined
- Rectangle {
- visible: button.pressed || button.overflowPanelVisible
- anchors.fill: parent
- color: Theme.palette.selected.background
- }
-
- Icon {
- id: icon
- anchors.centerIn: parent
-
- // prevent trying to render the icon with an invalid source
- // when the button is invisible by setting width and height to 0
- width: visible ? units.gu(2.5) : 0
- height: visible ? units.gu(2.5) : 0
- source: button.iconSource
- color: Qt.rgba(0, 0, 0, 0)
- opacity: button.enabled ? 1.0 : 0.3
- }
-
- Component {
- id: labelComponent
- Label {
- id: label
- objectName: button.objectName + "_label"
- color: button.color
- opacity: button.enabled ? 1.0 : 0.3
- text: button.text
- fontSize: "xx-small"
- }
- }
- Loader {
- anchors {
- top: icon.bottom
- topMargin: units.gu(0.5)
- horizontalCenter: parent.horizontalCenter
- }
- sourceComponent: button.state === "IconAndLabel" ? labelComponent : null
- }
- }
- }
-
- Component {
- id: actionsOverflowPopoverComponent
-
- Popover {
- id: actionsOverflowPopover
- property bool square: true
- callerMargin: -units.gu(1) + units.dp(4)
- contentWidth: units.gu(20)
- contentHeight: popoverActionsLayout.height
-
- Connections {
- target: root
- onLeadingActionsChanged: {
- actionsOverflowPopover.hide();
- }
- onTrailingActionsChanged: {
- actionsOverflowPopover.hide();
- }
- }
-
- Column {
- id: popoverActionsLayout
- anchors {
- left: parent.left
- top: parent.top
- right: parent.right
- }
- Repeater {
- id: overflowTrailingRepeater
- model: root.trailingActions
-
- delegate: overflowPanelDelegate
- onItemAdded: {
- item.action = model[index]
- item.clicked.connect(function() {
- actionsOverflowPopover.hide()
- })
-
- item.showDivider = (overflowLeadingRepeater.count === 0) ? (index !== overflowTrailingRepeater.count - 1) : true
- }
- }
-
- Repeater {
- id: overflowLeadingRepeater
- model: root.leadingActions
-
- delegate: overflowPanelDelegate
- onItemAdded: {
- item.action = model[index]
- item.clicked.connect(function() {
- actionsOverflowPopover.hide()
- })
-
- item.showDivider = (index !== overflowLeadingRepeater.count - 1)
- }
- }
- }
- }
- }
-
- Component {
- id: overflowPanelDelegate
-
- AbstractButton {
- id: rootItem
- implicitHeight: units.gu(6) + bottomDividerLine.height
- width: parent ? parent.width : units.gu(31)
-
- property bool showDivider: true
- property color foregroundColor: Theme.palette.selected.backgroundText
-
- Rectangle {
- visible: parent.pressed
- anchors {
- left: parent.left
- right: parent.right
- top: parent.top
- }
- height: parent.height - bottomDividerLine.height
- color: Theme.palette.selected.background
- }
-
- Icon {
- id: actionIcon
- source: action.iconSource
- color: rootItem.foregroundColor
- anchors {
- verticalCenter: parent.verticalCenter
- verticalCenterOffset: units.dp(-1)
- left: parent.left
- leftMargin: units.gu(2)
- }
- width: units.gu(2)
- height: units.gu(2)
- opacity: action.enabled ? 1.0 : 0.5
- }
-
- Label {
- anchors {
- verticalCenter: parent.verticalCenter
- verticalCenterOffset: units.dp(-1)
- left: actionIcon.right
- leftMargin: units.gu(2)
- right: parent.right
- }
- fontSize: "small"
- elide: Text.ElideRight
- text: action.text
- color: rootItem.foregroundColor
- opacity: action.enabled ? 1.0 : 0.5
- }
-
- ListItem.ThinDivider {
- id: bottomDividerLine
- anchors.bottom: parent.bottom
- visible: rootItem.showDivider
- }
- }
- }
-}
=== added directory 'src/app/qml/loView'
=== added file 'src/app/qml/loView/KeybHelper.js'
--- src/app/qml/loView/KeybHelper.js 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/KeybHelper.js 2015-11-19 15:38:45 +0000
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2015 Stefano Verzegnassi
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+function parseEvent(event) {
+ var pixelDiff = 5;
+
+ var view = loPageContentLoader.item.loView
+ var isPresentation = view.document.documentType === LibreOffice.Document.PresentationDocument
+
+ if (event.key == Qt.Key_PageUp) {
+ if (isPresentation)
+ view.document.currentPart -= 1
+ else
+ view.moveView("vertical", -view.height)
+
+ return;
+ }
+
+ if (event.key == Qt.Key_PageDown) {
+ if (isPresentation)
+ view.document.currentPart += 1
+ else
+ view.moveView("vertical", view.height)
+
+ return;
+ }
+
+ if (event.key == Qt.Key_Home) {
+ if (event.modifiers & Qt.ControlModifier) {
+ view.contentX = 0
+ view.contentY = 0
+ view.document.currentPart = 0
+ } else {
+ view.contentX = 0
+ view.contentY = 0
+ }
+ }
+
+ if (event.key == Qt.Key_End) {
+ if (event.modifiers & Qt.ControlModifier) {
+ view.contentX = view.contentWidth - view.width
+ view.contentY = view.contentHeight - view.height
+ console.log(view.document.currentPart, view.document.partsCount - 1)
+ view.document.currentPart = view.document.partsCount - 1
+ } else {
+ view.contentX = view.contentWidth - view.width
+ view.contentY = view.contentHeight - view.height
+ }
+ }
+
+ if (event.key == Qt.Key_Up) {
+ view.moveView("vertical", -pixelDiff)
+ return;
+ }
+
+ if (event.key == Qt.Key_Down) {
+ view.moveView("vertical", pixelDiff)
+ return;
+ }
+
+ if (event.key == Qt.Key_Left) {
+ view.moveView("horizontal", -pixelDiff)
+ return;
+ }
+
+ if (event.key == Qt.Key_Right) {
+ view.moveView("horizontal", pixelDiff)
+ return;
+ }
+
+ if (event.key == Qt.Key_Plus) {
+ if (event.modifiers & Qt.ControlModifier) {
+ view.zoomFactor = Math.max(4.0, view.zoomFactor + 0.25)
+ }
+ }
+
+ if (event.key == Qt.Key_Minus) {
+ if (event.modifiers & Qt.ControlModifier) {
+ view.zoomFactor = Math.min(0.5, view.zoomFactor - 0.25)
+ }
+ }
+
+
+ /*
+ if (event.key == Qt.Key_C) {
+ if (event.modifiers & Qt.ControlModifier) {
+
+ }
+ }
+ */
+
+ /*
+ if (event.key == Qt.Key_X) {
+ if (event.modifiers & Qt.ControlModifier) {
+
+ }
+ }
+ */
+
+ /*
+ if (event.key == Qt.Key_V) {
+ if (event.modifiers & Qt.ControlModifier) {
+
+ }
+ }
+ */
+
+ /*
+ if (event.key == Qt.Key_A) {
+ if (event.modifiers & Qt.ControlModifier) {
+
+ }
+ }
+ */
+
+ /*
+ if (event.key == Qt.Key_L) {
+ if (event.modifiers & Qt.ControlModifier) {
+ // TODO: Go to page dialog
+ }
+ }
+ */
+
+ /*
+ if (event.key == Qt.Key_Question) {
+ if (event.modifiers & (Qt.ControlModifier | Qt.ShiftModifier)) {
+ // TODO: Keyboard shortcuts
+ }
+ }
+ */
+}
=== added file 'src/app/qml/loView/LOViewDefaultHeader.qml'
--- src/app/qml/loView/LOViewDefaultHeader.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/LOViewDefaultHeader.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2014-2015 Canonical, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import Ubuntu.Components.Popups 1.0
+import DocumentViewer.LibreOffice 1.0 as LibreOffice
+
+PageHeadState {
+ id: rootItem
+
+ property Page targetPage
+ head: targetPage.head
+
+ contents: Column {
+ anchors {
+ left: parent.left
+ right: parent.right
+ verticalCenter: parent.verticalCenter
+ }
+
+ Label {
+ anchors { left: parent.left; right: parent.right }
+ elide: Text.ElideMiddle
+ font.weight: Font.DemiBold
+ text: targetPage.title
+ }
+ Label {
+ anchors { left: parent.left; right: parent.right }
+ elide: Text.ElideMiddle
+ fontSize: "small"
+ text: {
+ if (!loPageContentLoader.item)
+ return i18n.tr("Loading...")
+
+ switch(loPageContentLoader.item.loDocument.documentType) {
+ case 0:
+ return i18n.tr("LibreOffice text document")
+ case 1:
+ return i18n.tr("LibreOffice spread sheet")
+ case 2:
+ return i18n.tr("LibreOffice presentation")
+ case 3:
+ return i18n.tr("LibreOffice Draw document")
+ case 4:
+ return i18n.tr("Unknown LibreOffice document")
+ default:
+ return i18n.tr("Unknown type document")
+ }
+ }
+ }
+ }
+
+
+ backAction: Action {
+ iconName: "back"
+ text: (pageStack.depth > 1) ? i18n.tr("Back") : i18n.tr("Close")
+ onTriggered: {
+ if (pageStack.depth > 1) {
+ // Go back to Welcome page
+ pageStack.pop();
+ } else {
+ // File has been imported through Content Hub (or was not chosen through WelcomePage)
+ // Close the application and show our source app (e.g. ubuntu-filemanager-app, if used to open a document)
+ Qt.quit()
+ }
+ }
+ }
+
+ actions: [
+ Action {
+ iconName: "zoom-in"
+ text: i18n.tr("Show zoom controls")
+ onTriggered: targetPage.state = "zoom"
+ },
+
+ Action {
+ objectName: "gotopage"
+ iconName: "browser-tabs"
+ text: i18n.tr("Go to position...")
+ onTriggered: PopupUtils.open(Qt.resolvedUrl("LOViewGotoDialog.qml"), targetPage)
+ visible: loPageContentLoader.item.loDocument.documentType == LibreOffice.Document.TextDocument
+ },
+
+ Action {
+ iconName: "night-mode"
+ text: mainView.nightModeEnabled ? i18n.tr("Disable night mode") : i18n.tr("Enable night mode")
+ onTriggered: mainView.nightModeEnabled = !mainView.nightModeEnabled
+ },
+
+ Action {
+ objectName: "detailsAction"
+ text: i18n.tr("Details")
+ iconName: "info"
+ onTriggered: pageStack.push(Qt.resolvedUrl("../common/DetailsPage.qml"))
+ }
+ ]
+}
=== added file 'src/app/qml/loView/LOViewGotoDialog.qml'
--- src/app/qml/loView/LOViewGotoDialog.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/LOViewGotoDialog.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2014-2015 Canonical, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import Ubuntu.Components.Popups 1.0
+import QtQuick.Layouts 1.1
+
+// TODO: Use page breaks detection, when LibreOfficeKit will support it.
+
+Dialog {
+ id: goToPageDialog
+ objectName: "LOViewGotoDialog"
+
+ title: i18n.tr("Go to position")
+ text: i18n.tr("Choose a position between 1% and 100%")
+
+ TextField {
+ id: goToPageTextField
+ objectName:"goToPageTextField"
+
+ width: parent.width
+
+ hasClearButton: true
+ inputMethodHints: Qt.ImhFormattedNumbersOnly
+ validator: IntValidator{ bottom: 1; top: 100 }
+
+ Keys.onReturnPressed: goToPage()
+ Component.onCompleted: forceActiveFocus()
+ }
+
+ RowLayout {
+ anchors {
+ left: parent.left
+ right: parent.right
+ margins: units.gu(-1)
+ }
+
+ Button {
+ text: i18n.tr("Cancel")
+ onClicked: PopupUtils.close(goToPageDialog)
+ Layout.fillWidth: true
+ }
+
+ Button {
+ objectName:"GOButton"
+ text: i18n.tr("GO!")
+ color: UbuntuColors.green
+ Layout.fillWidth: true
+
+ enabled: goToPageTextField.acceptableInput
+ onClicked: goToPage()
+ }
+ }
+
+ function goToPage() {
+ var pos = loView.contentHeight * parseInt(goToPageTextField.text) / 100
+
+ loView.contentY = Math.min(pos, (loView.contentHeight - loView.height))
+ PopupUtils.close(goToPageDialog)
+ }
+}
=== added file 'src/app/qml/loView/LOViewPage.qml'
--- src/app/qml/loView/LOViewPage.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/LOViewPage.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,221 @@
+/*
+ * Copyright (C) 2013-2015 Canonical, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import Ubuntu.Layouts 1.0
+import DocumentViewer.LibreOffice 1.0 as LibreOffice
+
+import "../upstreamComponents"
+
+import "../common/utils.js" as Utils
+import "KeybHelper.js" as KeybHelper
+
+PageWithBottomEdge {
+ id: loPage
+ title: Utils.getNameOfFile(file.path);
+ flickable: null
+
+ readonly property bool wideWindow: width > units.gu(120)
+
+ bottomEdgeTitle: i18n.tr("Slides")
+ bottomEdgeEnabled: {
+ if (!loPageContentLoader.loaded)
+ return false
+
+ // else
+ return loPageContentLoader.item.loDocument.documentType == LibreOffice.Document.PresentationDocument && !wideWindow
+ }
+
+ Loader {
+ id: loPageContentLoader
+
+ asynchronous: true
+ anchors.fill: parent
+ sourceComponent: loPageContentComponent
+
+ onLoaded: {
+ if (loaded) {
+ // FIXME: At the moment don't hide header if the document is a presentation
+ var isPresentation = (item.loDocument.documentType === LibreOffice.Document.PresentationDocument)
+ loPage.flickable = isPresentation ? null : item.loView
+
+ loPage.bottomEdgePageComponent = item.bottomEdgePartsPage
+
+ } else {
+ loPage.flickable = null
+ }
+ }
+ }
+
+ ActivityIndicator {
+ running: loPageContentLoader.status != Loader.Ready
+ visible: running
+ anchors.centerIn: parent
+ }
+
+ Component {
+ id: loPageContentComponent
+
+ FocusScope {
+ id: loPageContent
+ anchors.fill: parent
+
+ property alias loDocument: loView.document
+ property alias loView: loView
+ property alias bottomEdgePartsPage: bottomEdgePartsPage
+
+ Layouts {
+ id: layouts
+ anchors.fill: parent
+
+ layouts: [
+ ConditionalLayout {
+ when: wideWindow
+ name: "wideWindowLayout"
+
+ Item {
+ anchors.fill: parent
+
+ // TODO: Add a setting to show/hide sidebar when width > units.gu(80)
+ PartsView {
+ id: partsView
+ anchors {
+ top: parent.top
+ bottom: bottomBarLayoutItem.top
+ left: parent.left
+ }
+
+ model: loView.partsModel
+ visible: loDocument.documentType == LibreOffice.Document.PresentationDocument
+ width: visible ? units.gu(40) : 0
+ }
+
+ Item {
+ anchors {
+ left: partsView.right
+ right: parent.right
+ top: parent.top
+ bottom: bottomBarLayoutItem.top
+ }
+
+ ItemLayout {
+ item: "loView"
+ anchors.fill: parent
+
+ // Keyboard events
+ focus: true
+ Keys.onPressed: KeybHelper.parseEvent(event)
+ Component.onCompleted: loPageContent.forceActiveFocus()
+ }
+ }
+
+ Item {
+ id: bottomBarLayoutItem
+ visible: loDocument.documentType == LibreOffice.Document.PresentationDocument
+ height: visible ? units.gu(5) : 0
+ anchors {
+ left: parent.left
+ right: parent.right
+ bottom: parent.bottom
+ }
+
+ ItemLayout { item: "bottomBar"; anchors.fill: parent }
+ }
+ }
+ }
+ ]
+
+ LibreOffice.Viewer {
+ id: loView
+ objectName: "loView"
+ Layouts.item: "loView"
+ anchors {
+ left: parent.left
+ right: parent.right
+ top: parent.top
+ bottom: bottomBar.top
+ }
+
+ clip: true
+ documentPath: file.path
+
+ // Keyboard events
+ focus: true
+ Keys.onPressed: KeybHelper.parseEvent(event)
+
+ Component.onCompleted: {
+ // WORKAROUND: Fix for wrong grid unit size
+ flickDeceleration = 1500 * units.gridUnit / 8
+ maximumFlickVelocity = 2500 * units.gridUnit / 8
+ loPageContent.forceActiveFocus()
+ }
+
+ Scrollbar { flickableItem: loView; parent: loView.parent }
+ Scrollbar { flickableItem: loView; parent: loView.parent; align: Qt.AlignBottom }
+ }
+
+ // TODO: When we'll have to merge this with the zooming branch, replace this
+ // and use a single bottom panel
+ SlideControllerPanel {
+ id: bottomBar
+ Layouts.item: "bottomBar"
+ visible: loDocument.documentType == LibreOffice.Document.PresentationDocument
+ height: visible ? units.gu(5) : 0
+ anchors {
+ left: parent.left
+ right: parent.right
+ bottom: parent.bottom
+ }
+ }
+ }
+
+ Component {
+ id: bottomEdgePartsPage
+ Page {
+ title: i18n.tr("Slides")
+ head.backAction: Action {
+ text: i18n.tr("Back")
+ iconName: "down"
+ onTriggered: pageStack.pop()
+ }
+
+ flickable: null
+
+ PartsView {
+ property bool belongsToNestedPage: true
+ anchors.fill: parent
+ model: loView.partsModel
+ }
+ }
+ }
+ }
+ }
+
+ // *** HEADER ***
+ state: "default"
+ states: [
+ LOViewDefaultHeader {
+ name: "default"
+ targetPage: loPage
+ },
+
+ LOViewZoomHeader {
+ name: "zoom"
+ targetPage: loPage
+ }
+ ]
+}
=== added file 'src/app/qml/loView/LOViewZoomHeader.qml'
--- src/app/qml/loView/LOViewZoomHeader.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/LOViewZoomHeader.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2014-2015 Canonical, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import QtQuick.Layouts 1.1
+import Ubuntu.Components.Popups 1.0
+
+PageHeadState {
+ id: rootItem
+
+ property Page targetPage
+ head: targetPage.head
+
+ contents: Item {
+ anchors.fill: parent
+
+ ZoomSelector {
+ width: units.gu(24)
+ anchors {
+ right: parent.right
+ verticalCenter: parent.verticalCenter
+ }
+ }
+ }
+
+ backAction: Action {
+ iconName: "close"
+ text: i18n.tr("Hide zoom controls")
+ onTriggered: targetPage.state = "default"
+ }
+
+ actions: [
+ Action {
+ iconName: "zoom-in"
+ text: i18n.tr("Zoom in")
+ onTriggered: loPageContentLoader.item.loView.zoomFactor += 0.1
+ },
+
+ Action {
+ iconName: "zoom-out"
+ text: i18n.tr("Zoom out")
+ onTriggered: loPageContentLoader.item.loView.zoomFactor -= 0.1
+ }
+ ]
+}
=== added file 'src/app/qml/loView/PanelButton.qml'
--- src/app/qml/loView/PanelButton.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/PanelButton.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2015 Canonical, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+
+AbstractButton {
+ width: units.gu(4); height: parent.height
+
+ property alias iconName: icon.name
+ property alias iconSource: icon.source
+
+ Icon {
+ id: icon
+ anchors.centerIn: parent
+ width: units.gu(2.5); height: width
+ }
+}
=== added file 'src/app/qml/loView/PartsView.qml'
--- src/app/qml/loView/PartsView.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/PartsView.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2015 Stefano Verzegnassi
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import QtQuick.Layouts 1.1
+import DocumentViewer.LibreOffice 1.0 as LibreOffice
+
+ListView {
+ id: view
+ objectName: "view"
+ clip: true
+
+ property bool expanded: true
+
+ currentIndex: view.model ? loView.document.currentPart : -1
+ highlightMoveDuration: UbuntuAnimation.SnapDuration
+
+ delegate: ListItem {
+ id: delegate
+
+ width: parent.width
+ height: units.gu(16)
+
+ color: (loView.document.currentPart === model.index) ? Theme.palette.selected.background
+ : "transparent"
+
+ AbstractButton {
+ objectName: "abstractbutton"
+ anchors.fill: parent
+
+ onClicked: {
+ loView.document.currentPart = model.index
+
+ // Check if the view has been included in a nested page (e.g.
+ // bottomEdge). If so, close that page and return to the
+ // main viewer.
+ if (view.hasOwnProperty("belongsToNestedPage"))
+ pageStack.pop();
+ }
+ }
+
+ RowLayout {
+ anchors {
+ fill: parent
+ leftMargin: units.gu(1)
+ rightMargin: units.gu(1)
+ }
+ spacing: units.gu(1)
+
+ Image {
+ Layout.fillHeight: true
+ Layout.preferredWidth: height
+ fillMode: Image.PreserveAspectFit
+ // Do not store a cache of the thumbnail, so that we don't show
+ // thumbnails of a previously loaded document.
+ cache: true // TODO PLAY WITH IT
+ source: model.thumbnail
+ }
+
+ Label {
+ Layout.fillWidth: true
+ wrapMode: Text.WordWrap
+ text: model.name
+ color: (loView.document.currentPart === model.index) ? UbuntuColors.orange
+ : Theme.palette.selected.backgroundText
+ }
+
+ Label {
+ text: model.index + 1
+ color: (loView.document.currentPart === model.index) ? UbuntuColors.orange
+ : Theme.palette.selected.backgroundText
+ }
+ }
+ }
+
+ Scrollbar { flickableItem: view; parent: view.parent }
+}
=== added file 'src/app/qml/loView/SlideControllerPanel.qml'
--- src/app/qml/loView/SlideControllerPanel.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/SlideControllerPanel.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2015 Stefano Verzegnassi
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import QtQuick.Layouts 1.1
+import Ubuntu.Components.ListItems 1.0 as ListItems
+
+Rectangle {
+ id: bottomBar
+ color: "transparent"
+ height: units.gu(5)
+
+ ListItems.ThinDivider {
+ anchors {
+ top: parent.top
+ left: parent.left
+ right: parent.right
+ }
+ }
+
+ Row {
+ anchors.centerIn: parent
+ //spacing: units.gu(2)
+
+ AbstractButton {
+ width: units.gu(4); height: parent.height
+ onClicked: loPageContentLoader.item.loView.goFirstPart()
+
+ Icon {
+ anchors.centerIn: parent
+ width: units.gu(2.5); height: width
+ name: "go-first"
+ }
+ }
+
+ AbstractButton {
+ width: units.gu(4); height: parent.height
+ onClicked: loPageContentLoader.item.loView.goPreviousPart()
+
+ Icon {
+ anchors.centerIn: parent
+ width: units.gu(2.5); height: width
+ name: "go-previous"
+ }
+ }
+
+ Label {
+ text: i18n.tr("Slide %1 of %2").arg(loPageContentLoader.item.loDocument.currentPart + 1).arg(loPageContentLoader.item.loDocument.partsCount)
+ }
+
+ AbstractButton {
+ width: units.gu(4); height: parent.height
+ onClicked: loPageContentLoader.item.loView.goNextPart()
+
+ Icon {
+ anchors.centerIn: parent
+ width: units.gu(2.5); height: width
+ name: "go-next"
+ }
+ }
+
+ AbstractButton {
+ width: units.gu(4); height: parent.height
+ onClicked: loPageContentLoader.item.loView.goLastPart()
+
+ Icon {
+ anchors.centerIn: parent
+ width: units.gu(2.5); height: width
+ name: "go-last"
+ }
+ }
+ }
+}
=== added file 'src/app/qml/loView/ZoomSelector.qml'
--- src/app/qml/loView/ZoomSelector.qml 1970-01-01 00:00:00 +0000
+++ src/app/qml/loView/ZoomSelector.qml 2015-11-19 15:38:45 +0000
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2015 Canonical, Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import Ubuntu.Components.Popups 1.0
+import DocumentViewer.LibreOffice 1.0 as LibreOffice
+
+TextField {
+ id: textField
+ anchors.verticalCenter: parent.verticalCenter
+ width: units.gu(24)
+
+ property var values: ["auto", 0.5, 0.7, 0.85, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0]
+ property var labels: [
+ i18n.tr("Automatic (Fit width)"),
+ "50%", "70%", "85%", "100%", "125%",
+ "150%", "175%","200%", "300%", "400%"
+ ]
+
+ property bool expanded: false
+
+ hasClearButton: true
+ inputMethodHints: Qt.ImhFormattedNumbersOnly
+ validator: IntValidator{ bottom: 50; top: 400 }
+
+ onAccepted: {
+ loPageContentLoader.item.loView.zoomFactor = parseInt(text) / 100
+ focus = false
+ }
+
+ secondaryItem: AbstractButton {
+ visible: !textField.highlighted
+ id: listButton
+ height: parent.height
+ width: visible ? height : 0
+
+ Rectangle {
+ anchors.left: parent.left
+ anchors.verticalCenter: parent.verticalCenter
+ height: parent.height - units.gu(1)
+
+ width: units.dp(1)
+ color: "Grey"
+ opacity: 0.5
+ }
+
+ Icon {
+ id: _upArrow
+
+ width: units.gu(2)
+ height: width
+ anchors.centerIn: parent
+
+ name: "go-down"
+ color: "Grey"
+ rotation: textField.expanded ? 180 : 0
+
+ Behavior on rotation {
+ UbuntuNumberAnimation {}
+ }
+ }
+
+ onClicked: {
+ textField.expanded = true
+ PopupUtils.open(zoomSelectorDialog, listButton)
+ }
+ }
+
+ onHighlightedChanged: {
+ if (highlighted) {
+ text = parseInt(loPageContentLoader.item.loView.zoomFactor * 100)
+ } else text = ""
+ }
+
+ Label {
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.left: parent.left
+ anchors.leftMargin: units.gu(2)
+ visible: !textField.highlighted
+ text: loPageContentLoader.item.loView.zoomMode == LibreOffice.View.FitToWidth ? i18n.tr("Automatic (%1%)").arg(parseInt(loPageContentLoader.item.loView.zoomFactor*100))
+ : i18n.tr("Zoom: %1%").arg(parseInt(loPageContentLoader.item.loView.zoomFactor*100))
+ }
+
+ Component {
+ id: zoomSelectorDialog
+ Popover {
+ id: zoomSelectorDialogue
+ autoClose: false
+ contentHeight: units.gu(24)
+ contentWidth: units.gu(24)
+ Component.onDestruction: textField.expanded = false
+
+ // We don't use 'autoClose' property, since we want to propagate
+ // mouse/touch events to other items (e.g. when zoomSelectorDialogue
+ // is visible, and user taps the zoom+ button on its right, we want
+ // the zoom button to receive the event).
+ InverseMouseArea {
+ anchors.fill: parent
+ propagateComposedEvents: true
+
+ onPressed: {
+ mouse.accepted = false
+ PopupUtils.close(zoomSelectorDialogue)
+ }
+ }
+
+ OptionSelector {
+ expanded: true
+ width: parent.width
+ containerHeight: units.gu(24)
+ model: textField.labels
+ selectedIndex: {
+ if (loPageContentLoader.item.loView.zoomMode == LibreOffice.View.FitToWidth)
+ return 0
+
+ for (var i=0; i<textField.values.length; i++) {
+ if (values[i] == loView.zoomFactor)
+ return i
+ }
+ return -1
+ }
+
+ onSelectedIndexChanged: {
+ if (selectedIndex == 0) {
+ loView.adjustZoomToWidth();
+ return;
+ }
+
+ loPageContentLoader.item.loView.zoomFactor = textField.values[selectedIndex]
+ PopupUtils.close(zoomSelectorDialogue)
+ }
+ }
+ }
+ }
+}
=== modified file 'src/app/qml/pdfView/PdfContentsPage.qml'
--- src/app/qml/pdfView/PdfContentsPage.qml 2015-05-02 14:45:06 +0000
+++ src/app/qml/pdfView/PdfContentsPage.qml 2015-11-19 15:38:45 +0000
@@ -15,8 +15,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.0
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import QtQuick.Layouts 1.1
import "../upstreamComponents"
@@ -69,31 +69,34 @@
model: poppler.tocModel
- delegate: ListItemWithActions {
+ delegate: ListItem {
id: delegate
objectName: "delegate" + index
- width: parent.width
- height: (model.level === 0) ? units.gu(7) : units.gu(6)
-
- // Don't use 'selected' property here, since it shows a CheckBox
- color: (view.currentIndex == model.index) ? Qt.lighter(UbuntuColors.lightGrey)
- : Theme.palette.normal.background
-
- AbstractButton {
- objectName: "abstractbutton"
+ anchors {
+ left: parent.left; right: parent.right
+ leftMargin: units.gu(2) + (model.level * units.gu(2))
+ rightMargin: units.gu(2)
+ }
+
+ onClicked: {
+ pdfView.positionAtIndex(model.pageIndex);
+ pageStack.pop();
+ }
+
+ // Highlighted property of ListItem is read-only. In order to
+ // provide an highlight for the current page, we need to duplicate
+ // the overlay.
+ Rectangle {
anchors.fill: parent
-
- onClicked: {
- pdfView.positionAtIndex(model.pageIndex);
- pageStack.pop();
- }
+ color: Qt.rgba(0, 0, 0, 0.05)
+ visible: view.currentIndex == model.index
}
RowLayout {
anchors {
fill: parent
- leftMargin: units.gu(1) + (units.gu(2) * model.level)
+ leftMargin: units.gu(1)
rightMargin: units.gu(1)
}
@@ -107,31 +110,35 @@
elide: Text.ElideRight
font.weight: model.level == 0 ? Font.DemiBold : Font.Normal
- color: (model.level === 0) ? UbuntuColors.midAubergine
- : Theme.palette.selected.backgroundText
+ color: (model.level == 0) ? UbuntuColors.midAubergine
+ : Theme.palette.selected.backgroundText
+ }
+
+ /*
+ TODO: Needs UX team's review.
+ UX specifications for ListItem suggest to use a "tick" icon
+ as indicator for a selected state.
+ This currently looks a bit redundant, since we already
+ use a grey overlay (see above).
+ */
+ Icon {
+ Layout.preferredHeight: units.gu(2)
+ Layout.preferredWidth: units.gu(2)
+ name: "tick"
+ color: UbuntuColors.green
+ visible: view.currentIndex == model.index
}
Label {
objectName: "pageindex"
text: model.pageIndex + 1
font.weight: model.level == 0 ? Font.DemiBold : Font.Normal
- color: (model.level === 0) ? UbuntuColors.midAubergine
- : Theme.palette.selected.backgroundText
- }
- }
-
- Rectangle {
- anchors {
- left: parent.left
- right: parent.right
- bottom: parent.bottom
- }
-
- height: units.gu(0.1)
- visible: model.level == 0
- color: (view.currentIndex === model.index) ? "transparent"
- : UbuntuColors.midAubergine
+ color: (model.level == 0) ? UbuntuColors.midAubergine
+ : Theme.palette.selected.backgroundText
+ }
}
}
}
+
+ Scrollbar { flickableItem: view }
}
=== modified file 'src/app/qml/pdfView/PdfView.qml'
--- src/app/qml/pdfView/PdfView.qml 2015-04-15 14:47:28 +0000
+++ src/app/qml/pdfView/PdfView.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import DocumentViewer.PDF 1.0 as PDF
import "../common/utils.js" as Utils
@@ -58,7 +58,7 @@
model: poppler
delegate: PdfViewDelegate {
- Component.onDestruction: DOC_VIEWER.releaseResources()
+ Component.onDestruction: window.releaseResources()
}
// FIXME: On zooming, keep the same content position.
@@ -78,7 +78,7 @@
// This is a bit expensive, so it's safer to put it here.
// It won't be called on desktop (where PinchArea is not used),
// but it's not a problem at the moment (our target is phone).
- DOC_VIEWER.releaseResources();
+ window.releaseResources();
}
MouseArea {
=== modified file 'src/app/qml/pdfView/PdfViewDefaultHeader.qml'
--- src/app/qml/pdfView/PdfViewDefaultHeader.qml 2015-03-26 13:58:31 +0000
+++ src/app/qml/pdfView/PdfViewDefaultHeader.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import QtQuick.Layouts 1.1
import Ubuntu.Components.Popups 1.0
=== modified file 'src/app/qml/pdfView/PdfViewDelegate.qml'
--- src/app/qml/pdfView/PdfViewDelegate.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/pdfView/PdfViewDelegate.qml 2015-11-19 15:38:45 +0000
@@ -13,8 +13,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
Rectangle {
id: pdfPage
=== modified file 'src/app/qml/pdfView/PdfViewGotoDialog.qml'
--- src/app/qml/pdfView/PdfViewGotoDialog.qml 2015-03-03 15:41:11 +0000
+++ src/app/qml/pdfView/PdfViewGotoDialog.qml 2015-11-19 15:38:45 +0000
@@ -14,9 +14,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
+import QtQuick.Layouts 1.1
Dialog {
id: goToPageDialog
@@ -39,18 +40,28 @@
Component.onCompleted: forceActiveFocus()
}
- Button {
- objectName:"GOButton"
- text: i18n.tr("GO!")
- color: UbuntuColors.green
-
- enabled: goToPageTextField.acceptableInput
- onClicked: goToPage()
- }
-
- Button {
- text: i18n.tr("Cancel")
- onClicked: PopupUtils.close(goToPageDialog)
+ RowLayout {
+ anchors {
+ left: parent.left
+ right: parent.right
+ margins: units.gu(-1)
+ }
+
+ Button {
+ text: i18n.tr("Cancel")
+ onClicked: PopupUtils.close(goToPageDialog)
+ Layout.fillWidth: true
+ }
+
+ Button {
+ objectName:"GOButton"
+ text: i18n.tr("GO!")
+ color: UbuntuColors.green
+ Layout.fillWidth: true
+
+ enabled: goToPageTextField.acceptableInput
+ onClicked: goToPage()
+ }
}
function goToPage() {
=== modified file 'src/app/qml/textView/TextView.qml'
--- src/app/qml/textView/TextView.qml 2015-03-26 13:58:31 +0000
+++ src/app/qml/textView/TextView.qml 2015-11-19 15:38:45 +0000
@@ -14,9 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
-import Ubuntu.Components.Themes.Ambiance 0.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
+import Ubuntu.Components.Themes.Ambiance 1.2
import "../common/utils.js" as Utils
=== modified file 'src/app/qml/textView/TextViewDefaultHeader.qml'
--- src/app/qml/textView/TextViewDefaultHeader.qml 2015-04-15 14:21:48 +0000
+++ src/app/qml/textView/TextViewDefaultHeader.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import QtQuick.Layouts 1.1
import Ubuntu.Components.Popups 1.0
=== modified file 'src/app/qml/ubuntu-docviewer-app.qml'
--- src/app/qml/ubuntu-docviewer-app.qml 2015-06-22 16:45:36 +0000
+++ src/app/qml/ubuntu-docviewer-app.qml 2015-11-19 15:38:45 +0000
@@ -14,8 +14,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
import Ubuntu.Components.Popups 1.0
import DocumentViewer 1.0
import QtQuick.Window 2.0
@@ -28,15 +28,15 @@
id: mainView
objectName: "mainView"
- property bool pickMode: DOC_VIEWER.pickModeEnabled
+ property bool pickMode: commandLineProxy.pickMode
+ property bool fullscreen: commandLineProxy.fullscreen
readonly property bool isLandscape: Screen.orientation == Qt.LandscapeOrientation ||
Screen.orientation == Qt.InvertedLandscapeOrientation
applicationName: "com.ubuntu.docviewer"
- useDeprecatedToolbar: false
automaticOrientation: true
- width: units.gu(50)
+ width: units.gu(150)
height: units.gu(75)
function openDocument(path) {
@@ -66,26 +66,8 @@
mainView, { parent: mainView });
}
- function showNotification(args) {
- var component = Qt.createComponent("common/Toast.qml")
- var toast = component.createObject(mainView, args);
-
- return toast;
- }
-
- function showNotificationWithAction(args) {
- var component = Qt.createComponent("common/ToastWithAction.qml")
- var toast = component.createObject(mainView, args);
-
- return toast;
- }
-
- function setFullScreen(fullScreen) {
- DOC_VIEWER.fullScreen = fullScreen;
- }
-
function toggleFullScreen() {
- DOC_VIEWER.fullScreen = !APP.fullScreen;
+ mainView.fullscreen = !mainView.fullscreen
}
function setHeaderVisibility(visible, toggleFullscreen) {
@@ -94,28 +76,43 @@
// If device orientation is landscape and screen width is limited,
// force hiding Unity 8 indicators panel.
- if (!DOC_VIEWER.desktopMode && mainView.isLandscape &&
+ if (!DocumentViewer.desktopMode && mainView.isLandscape &&
mainView.width < units.gu(51)) {
- setFullScreen(true);
+ mainView.fullscreen = true;
return;
}
- if (!DOC_VIEWER.desktopMode && toggleFullscreen)
- setFullScreen(!visible);
+ if (!DocumentViewer.desktopMode && toggleFullscreen)
+ mainView.fullscreen = !visible;
}
function toggleHeaderVisibility() {
setHeaderVisibility(!header.visible);
}
+ function switchToBrowseMode() {
+ mainView.pickMode = false
+ }
+
+ function switchToPickMode() {
+ mainView.pickMode = true
+ }
+
// On screen rotation, force updating of header/U8 indicators panel visibility
onIsLandscapeChanged: setHeaderVisibility(true);
+ onFullscreenChanged: {
+ if (mainView.fullscreen)
+ window.visibility = Window.FullScreen
+ else
+ window.visibility = Window.Windowed
+ }
+
Component.onCompleted: {
pageStack.push(Qt.resolvedUrl("documentPage/DocumentPage.qml"));
// Open the document, if one has been specified.
- openDocument(DOC_VIEWER.documentFile);
+ openDocument(commandLineProxy.documentFile);
}
File {
@@ -142,9 +139,10 @@
id: docModel
// Used for autopilot tests! If customDir is empty, this property is not used.
- customDir: DOC_VIEWER.documentsDir
+ customDir: commandLineProxy.documentsDir
}
+ // TODO: Expose an enum from DocumentViewer module.
sort.property: {
switch (sortSettings.sortMode) {
case 0:
@@ -183,106 +181,31 @@
property bool reverseOrder: false
}
+ // CommandLine parser
+ CommandLineProxy {
+ id: commandLineProxy
+ }
+
+ // Content Hub support
+ property alias contentHubProxy: contentHubLoader.item
+ Loader {
+ id: contentHubLoader
+
+ asynchronous: true
+ source: Qt.resolvedUrl("common/ContentHubProxy.qml")
+ }
+
+ // Uri Handler support
Connections {
target: UriHandler
- onOpened: {
- for (var i = 0; i < uris.length; ++i) {
- DOC_VIEWER.parseUri(uris[i])
- }
- }
- }
-
- Connections {
- target: DOC_VIEWER
-
- onDocumentFileChanged: {
- openDocument(DOC_VIEWER.documentFile);
- }
-
- onPickModeEnabledChanged: {
- mainView.pickMode = DOC_VIEWER.pickModeEnabled
-
- if (mainView.pickMode) {
- // If a document is loaded, pop() its page.
- while (pageStack.depth > 1) {
- pageStack.pop()
- }
- }
- }
- }
-
- Connections {
- target: PICKER_HUB
-
- onDocumentImported: {
- // Create two arrays: one for rejected documents, and the other
- // for imported documents.
- var importedDocuments = [];
- var rejectedDocuments = [];
- var entry;
-
- // Fill the arrays.
- for (var i=0; i<documents.length; i++) {
- entry = documents[i];
-
- if (entry.rejected) {
- rejectedDocuments.push(entry.fileName);
- break;
- }
-
- importedDocuments.push(entry.fileName);
- }
-
- // Prepare import notification
- var showImportNotification = function() {
- if (importedDocuments.length > 0) {
- var importDialog = showNotificationWithAction({
- "text": i18n.tr("Document successfully imported!",
- "Documents successfully imported!",
- importedDocuments.length),
- "action.text": i18n.tr("Open")
- })
-
- if (importedDocuments.length > 1) {
- // If it has been imported more than a document, show
- // a file picker when user taps the "open" action.
- importDialog.action.triggered.connect(function() {
- PopupUtils.open(
- Qt.resolvedUrl("common/PickImportedDialog.qml"),
- mainView,
- {
- parent: mainView,
- model: importedDocuments
- }
- );
- });
- } else {
- // It has been imported just a document, open it when
- // user taps the action button.
- importDialog.action.triggered.connect(function() {
- openDocument(importedDocuments[0]);
- });
- }
- }
- }
-
- // Check if there's any rejected document in the last transfer.
- // If so, show an error dialog.
- if (rejectedDocuments.length > 0) {
- var rejectedDialog = PopupUtils.open(
- Qt.resolvedUrl("common/RejectedImportDialog.qml"),
- mainView,
- {
- parent: mainView,
- model: rejectedDocuments
- }
- );
-
- // Show import notification after the dialog has been closed.
- rejectedDialog.closed.connect(showImportNotification)
- } else {
- // No dialog has been shown. Show the notification.
- showImportNotification.call();
+ onOpened: openDocument(uris[0])
+ }
+
+ onPickModeChanged: {
+ if (mainView.pickMode) {
+ // If a document is loaded, pop() its page.
+ while (pageStack.depth > 1) {
+ pageStack.pop()
}
}
}
=== modified file 'src/app/qml/upstreamComponents/EmptyState.qml'
--- src/app/qml/upstreamComponents/EmptyState.qml 2015-02-26 20:16:32 +0000
+++ src/app/qml/upstreamComponents/EmptyState.qml 2015-11-19 15:38:45 +0000
@@ -16,8 +16,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import QtQuick 2.3
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
/*
Component which displays an empty state (approved by design). It offers an
=== removed file 'src/app/qml/upstreamComponents/HeaderButton.qml'
--- src/app/qml/upstreamComponents/HeaderButton.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/upstreamComponents/HeaderButton.qml 1970-01-01 00:00:00 +0000
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2014 Canonical Ltd
- *
- * This file is part of Ubuntu Clock App
- *
- * Ubuntu Clock App is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * Ubuntu Clock App is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import QtQuick 2.3
-import Ubuntu.Components 1.1
-
-AbstractButton {
- id: headerButton
-
- property alias iconSource: _icon.source
- property alias iconName: _icon.name
- property alias text: _label.text
-
- width: units.gu(6)
- height: parent ? parent.height : undefined
-
- Rectangle {
- anchors.fill: parent
- visible: headerButton.pressed
- color: Theme.palette.selected.background
- }
-
- Column {
- id: buttonHolder
-
- width: _label.width
- height: childrenRect.height
-
- spacing: units.gu(0.2)
- anchors.centerIn: parent
- anchors.verticalCenterOffset: units.gu(0.3)
-
- Icon {
- id: _icon
- color: UbuntuColors.darkGrey
- width: units.gu(2.5)
- height: width
- opacity: headerButton.enabled ? 1.0 : 0.3
- anchors.horizontalCenter: parent.horizontalCenter
- }
-
- Label {
- id: _label
- color: UbuntuColors.darkGrey
- fontSize: "xx-small"
- opacity: headerButton.enabled ? 1.0 : 0.3
- anchors.horizontalCenter: _icon.horizontalCenter
- }
- }
-}
=== removed file 'src/app/qml/upstreamComponents/ListItemWithActions.qml'
--- src/app/qml/upstreamComponents/ListItemWithActions.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/upstreamComponents/ListItemWithActions.qml 1970-01-01 00:00:00 +0000
@@ -1,453 +0,0 @@
-/*
- * Copyright (C) 2012-2014 Canonical, Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import QtQuick 2.3
-import Ubuntu.Components 1.1
-
-Item {
- id: root
-
- property Action leftSideAction: null
- property list<Action> rightSideActions
- property double defaultHeight: units.gu(8)
- property bool locked: false
- property Action activeAction: null
- property var activeItem: null
- property bool triggerActionOnMouseRelease: false
- property color color: Theme.palette.normal.background
- property color selectedColor: "#E6E6E6"
- property bool selected: false
- property bool selectionMode: false
- property alias internalAnchors: mainContents.anchors
- default property alias contents: mainContents.children
-
- readonly property double actionWidth: units.gu(4)
- readonly property double leftActionWidth: units.gu(10)
- readonly property double actionThreshold: actionWidth * 0.4
- readonly property double threshold: 0.4
- readonly property string swipeState: main.x == 0 ? "Normal" : main.x > 0 ? "LeftToRight" : "RightToLeft"
- readonly property alias swipping: mainItemMoving.running
- readonly property bool _showActions: mouseArea.pressed || swipeState != "Normal" || swipping
-
- /* internal */
- property var _visibleRightSideActions: filterVisibleActions(rightSideActions)
-
- signal itemClicked(var mouse)
- signal itemPressAndHold(var mouse)
-
- function returnToBoundsRTL(direction)
- {
- var actionFullWidth = actionWidth + units.gu(2)
-
- // go back to normal state if swipping reverse
- if (direction === "LTR") {
- updatePosition(0)
- return
- } else if (!triggerActionOnMouseRelease) {
- updatePosition(-rightActionsView.width + units.gu(2))
- return
- }
-
- var xOffset = Math.abs(main.x)
- var index = Math.min(Math.floor(xOffset / actionFullWidth), _visibleRightSideActions.length)
- var newX = 0
- if (index === _visibleRightSideActions.length) {
- newX = -(rightActionsView.width - units.gu(2))
- } else if (index >= 1) {
- newX = -(actionFullWidth * index)
- }
- updatePosition(newX)
- }
-
- function returnToBoundsLTR(direction)
- {
- var finalX = leftActionWidth
- if ((direction === "RTL") || (main.x <= (finalX * root.threshold)))
- finalX = 0
- updatePosition(finalX)
- }
-
- function returnToBounds(direction)
- {
- if (main.x < 0) {
- returnToBoundsRTL(direction)
- } else if (main.x > 0) {
- returnToBoundsLTR(direction)
- } else {
- updatePosition(0)
- }
- }
-
- function contains(item, point, marginX)
- {
- var itemStartX = item.x - marginX
- var itemEndX = item.x + item.width + marginX
- return (point.x >= itemStartX) && (point.x <= itemEndX) &&
- (point.y >= item.y) && (point.y <= (item.y + item.height));
- }
-
- function getActionAt(point)
- {
- if (contains(leftActionView, point, 0)) {
- return leftSideAction
- } else if (contains(rightActionsView, point, 0)) {
- var newPoint = root.mapToItem(rightActionsView, point.x, point.y)
- for (var i = 0; i < rightActionsRepeater.count; i++) {
- var child = rightActionsRepeater.itemAt(i)
- if (contains(child, newPoint, units.gu(1))) {
- return i
- }
- }
- }
- return -1
- }
-
- function updateActiveAction()
- {
- if (triggerActionOnMouseRelease &&
- (main.x <= -(root.actionWidth + units.gu(2))) &&
- (main.x > -(rightActionsView.width - units.gu(2)))) {
- var actionFullWidth = actionWidth + units.gu(2)
- var xOffset = Math.abs(main.x)
- var index = Math.min(Math.floor(xOffset / actionFullWidth), _visibleRightSideActions.length)
- index = index - 1
- if (index > -1) {
- root.activeItem = rightActionsRepeater.itemAt(index)
- root.activeAction = root._visibleRightSideActions[index]
- }
- } else {
- root.activeAction = null
- }
- }
-
- function resetSwipe()
- {
- updatePosition(0)
- }
-
- function filterVisibleActions(actions)
- {
- var visibleActions = []
- for(var i = 0; i < actions.length; i++) {
- var action = actions[i]
- if (action.visible) {
- visibleActions.push(action)
- }
- }
- return visibleActions
- }
-
- function updatePosition(pos)
- {
- if (!root.triggerActionOnMouseRelease && (pos !== 0)) {
- mouseArea.state = pos > 0 ? "RightToLeft" : "LeftToRight"
- } else {
- mouseArea.state = ""
- }
- main.x = pos
- }
-
- states: [
- State {
- name: "select"
- when: selectionMode || selected
- PropertyChanges {
- target: selectionIcon
- source: Qt.resolvedUrl("ListItemWithActionsCheckBox.qml")
- anchors.leftMargin: units.gu(2)
- }
- PropertyChanges {
- target: root
- locked: true
- }
- PropertyChanges {
- target: main
- x: 0
- }
- }
- ]
-
- height: defaultHeight
- clip: height !== defaultHeight
-
- Rectangle {
- id: leftActionView
-
- anchors {
- top: parent.top
- bottom: parent.bottom
- right: main.left
- }
- width: root.leftActionWidth + actionThreshold
- visible: leftSideAction
- color: UbuntuColors.red
-
- Icon {
- anchors {
- centerIn: parent
- horizontalCenterOffset: actionThreshold / 2
- }
- name: leftSideAction && _showActions ? leftSideAction.iconName : ""
- color: Theme.palette.selected.field
- height: units.gu(3)
- width: units.gu(3)
- }
- }
-
- Rectangle {
- id: rightActionsView
-
- anchors {
- top: main.top
- left: main.right
- bottom: main.bottom
- }
- visible: _visibleRightSideActions.length > 0
- width: rightActionsRepeater.count > 0 ? rightActionsRepeater.count * (root.actionWidth + units.gu(2)) + root.actionThreshold + units.gu(2) : 0
- color: "white"
- Row {
- anchors{
- top: parent.top
- left: parent.left
- leftMargin: units.gu(2)
- right: parent.right
- rightMargin: units.gu(2)
- bottom: parent.bottom
- }
- spacing: units.gu(2)
- Repeater {
- id: rightActionsRepeater
-
- model: _showActions ? _visibleRightSideActions : []
- Item {
- property alias image: img
-
- height: rightActionsView.height
- width: root.actionWidth
-
- Icon {
- id: img
-
- anchors.centerIn: parent
- width: units.gu(3)
- height: units.gu(3)
- name: modelData.iconName
- color: root.activeAction === modelData ? UbuntuColors.lightAubergine : UbuntuColors.lightGrey
- }
- }
- }
- }
- }
-
-
- Rectangle {
- id: main
- objectName: "mainItem"
-
- anchors {
- top: parent.top
- bottom: parent.bottom
- }
-
- width: parent.width
- color: root.selected ? root.selectedColor : root.color
-
- Loader {
- id: selectionIcon
-
- anchors {
- left: main.left
- verticalCenter: main.verticalCenter
- }
- width: (status === Loader.Ready) ? item.implicitWidth : 0
- visible: (status === Loader.Ready) && (item.width === item.implicitWidth)
- Behavior on width {
- NumberAnimation {
- duration: UbuntuAnimation.SnapDuration
- }
- }
- }
-
-
- Item {
- id: mainContents
-
- anchors {
- left: selectionIcon.right
- leftMargin: units.gu(2)
- top: parent.top
- topMargin: units.gu(1)
- right: parent.right
- rightMargin: units.gu(2)
- bottom: parent.bottom
- bottomMargin: units.gu(1)
- }
- }
-
- Behavior on x {
- UbuntuNumberAnimation {
- id: mainItemMoving
-
- easing.type: Easing.OutElastic
- duration: UbuntuAnimation.SlowDuration
- }
- }
- Behavior on color {
- ColorAnimation {}
- }
- }
-
- SequentialAnimation {
- id: triggerAction
-
- property var currentItem: root.activeItem ? root.activeItem.image : null
-
- running: false
- ParallelAnimation {
- UbuntuNumberAnimation {
- target: triggerAction.currentItem
- property: "opacity"
- from: 1.0
- to: 0.0
- duration: UbuntuAnimation.SlowDuration
- easing {type: Easing.InOutBack; }
- }
- UbuntuNumberAnimation {
- target: triggerAction.currentItem
- properties: "width, height"
- from: units.gu(3)
- to: root.actionWidth
- duration: UbuntuAnimation.SlowDuration
- easing {type: Easing.InOutBack; }
- }
- }
- PropertyAction {
- target: triggerAction.currentItem
- properties: "width, height"
- value: units.gu(3)
- }
- PropertyAction {
- target: triggerAction.currentItem
- properties: "opacity"
- value: 1.0
- }
- ScriptAction {
- script: {
- root.activeAction.triggered(root)
- mouseArea.state = ""
- }
- }
- PauseAnimation {
- duration: 500
- }
- UbuntuNumberAnimation {
- target: main
- property: "x"
- to: 0
-
- }
- }
-
- MouseArea {
- id: mouseArea
-
- property bool locked: root.locked || ((root.leftSideAction === null) && (root._visibleRightSideActions.count === 0))
- property bool manual: false
- property string direction: "None"
- property real lastX: -1
-
- anchors.fill: parent
- drag {
- target: locked ? null : main
- axis: Drag.XAxis
- minimumX: rightActionsView.visible ? -(rightActionsView.width) : 0
- maximumX: leftActionView.visible ? leftActionView.width : 0
- threshold: root.actionThreshold
- }
-
- states: [
- State {
- name: "LeftToRight"
- PropertyChanges {
- target: mouseArea
- drag.maximumX: 0
- }
- },
- State {
- name: "RightToLeft"
- PropertyChanges {
- target: mouseArea
- drag.minimumX: 0
- }
- }
- ]
-
- onMouseXChanged: {
- var offset = (lastX - mouseX)
- if (Math.abs(offset) <= root.actionThreshold) {
- return
- }
- lastX = mouseX
- direction = offset > 0 ? "RTL" : "LTR";
- }
-
- onPressed: {
- lastX = mouse.x
- }
-
- onReleased: {
- if (root.triggerActionOnMouseRelease && root.activeAction) {
- triggerAction.start()
- } else {
- root.returnToBounds(direction)
- root.activeAction = null
- }
- lastX = -1
- direction = "None"
- }
- onClicked: {
- if (main.x === 0) {
- root.itemClicked(mouse)
- } else if (main.x > 0) {
- var action = getActionAt(Qt.point(mouse.x, mouse.y))
- if (action && action !== -1) {
- action.triggered(root)
- }
- } else {
- var actionIndex = getActionAt(Qt.point(mouse.x, mouse.y))
- if (actionIndex !== -1) {
- root.activeItem = rightActionsRepeater.itemAt(actionIndex)
- root.activeAction = root._visibleRightSideActions[actionIndex]
- triggerAction.start()
- return
- }
- }
- root.resetSwipe()
- }
-
- onPositionChanged: {
- if (mouseArea.pressed) {
- updateActiveAction()
- }
- }
- onPressAndHold: {
- if (main.x === 0) {
- root.itemPressAndHold(mouse)
- }
- }
- z: -1
- }
-}
=== removed file 'src/app/qml/upstreamComponents/ListItemWithActionsCheckBox.qml'
--- src/app/qml/upstreamComponents/ListItemWithActionsCheckBox.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/upstreamComponents/ListItemWithActionsCheckBox.qml 1970-01-01 00:00:00 +0000
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2012-2014 Canonical, Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import QtQuick 2.3
-import Ubuntu.Components 1.1
-
-CheckBox {
- checked: root.selected
- width: implicitWidth
- // disable item mouse area to avoid conflicts with parent mouse area
- __mouseArea.enabled: false
-}
=== removed file 'src/app/qml/upstreamComponents/MultipleSelectionGridView.qml'
--- src/app/qml/upstreamComponents/MultipleSelectionGridView.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/upstreamComponents/MultipleSelectionGridView.qml 1970-01-01 00:00:00 +0000
@@ -1,199 +0,0 @@
-/*
- * Copyright (C) 2013 Canonical, Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import QtQuick 2.3
-import Ubuntu.Components 1.1
-import Ubuntu.Components.Popups 1.0 as Popups
-
-/*!
- \qmltype ContactSimpleListView
- \inqmlmodule Ubuntu.Contacts 0.1
- \ingroup ubuntu
- \brief The MultipleSelectionListView provides a ListView with support to multiple selection
-
- The MultipleSelectionListViewprovides a ListView with support to multiple selection which can be used by any
- application.
-
- Example:
- \qml
- import Ubuntu.Contacts 0.1
-
- MultipleSelectionListView {
- id: view
- anchors.fill: paret
- model: 100
- delegate: Rectangle {
- width: parent.width
- height: 100
- color: view.selectedItems.indexOf(index) == -1 ? "white" : "blue"
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- if (view.isInSelectionModel) {
- view.selectItem(index)
- }
- }
- onPressAndHold: view.startSelection()
- }
- }
- onSelectionDone: console.debug("Selected items:" + view.selectedItems)
- }
- \endqml
-*/
-
-GridView {
- id: listView
-
- /*!
- \qmlproperty model selectedItems
-
- This property holds the list of selected items
- */
- readonly property alias selectedItems: visualModel.selectedItems
- /*!
- \qmlproperty bool multipleSelection
-
- This property holds if the selection will accept multiple items or single items
- */
- property bool multipleSelection: true
-
- /*!
- \qmlproperty model listModel
-
- This property holds the model providing data for the list.
- */
- property alias listModel: visualModel.model
- /*!
- \qmlproperty Component listDelegate
-
- The delegate provides a template defining each item instantiated by the view.
- */
- property alias listDelegate: visualModel.delegate
-
- /*!
- \qmlproperty bool isInSelectionMode
-
- This property holds a list with the index of selected items
- */
- readonly property bool isInSelectionMode: state === "selection"
- /*!
- This handler is called when the selection mode is finished without be canceled
- */
- signal selectionDone(var items)
- /*!
- This handler is called when the selection mode is canceled
- */
- signal selectionCanceled()
-
- /*!
- Start the selection mode on the list view.
- */
- function startSelection()
- {
- state = "selection"
- }
- /*!
- Check if the item is selected
- Returns true if the item was marked as selected or false if the item is unselected
- */
- function isSelected(item)
- {
- if (item && item.VisualDataModel) {
- return (item.VisualDataModel.inSelected === true)
- } else {
- return false
- }
- }
- /*!
- Mark the item as selected
- Returns true if the item was marked as selected or false if the item is already selected
- */
- function selectItem(item)
- {
- if (item.VisualDataModel.inSelected) {
- return false
- } else {
- if (!multipleSelection) {
- clearSelection()
- }
- item.VisualDataModel.inSelected = true
- return true
- }
- }
- /*!
- Remove the index from the selected list
- */
- function deselectItem(item)
- {
- var result = false
- if (item.VisualDataModel.inSelected) {
- item.VisualDataModel.inSelected = false
- result = true
- }
- return result
- }
- /*!
- Finish the selection mode with sucess
- */
- function endSelection()
- {
- selectionDone(listView.selectedItems)
- clearSelection()
- state = ""
- }
- /*!
- Cancel the selection
- */
- function cancelSelection()
- {
- selectionCanceled()
- clearSelection()
- state = ""
- }
- /*!
- Remove any selected item from the selection list
- */
- function clearSelection()
- {
- if (selectedItems.count > 0) {
- selectedItems.remove(0, selectedItems.count)
- }
- }
- /*!
- Select all items in the list
- */
- function selectAll()
- {
- if (multipleSelection) {
- visualModel.items.addGroups(0, visualModel.items.count, ["selected"] )
- }
- }
-
- model: visualModel
-
- MultipleSelectionVisualModel {
- id: visualModel
- }
-
- Component.onCompleted: {
- // FIXME: workaround for qtubuntu not returning values depending on the grid unit definition
- // for Flickable.maximumFlickVelocity and Flickable.flickDeceleration
- var scaleFactor = units.gridUnit / 8;
- maximumFlickVelocity = maximumFlickVelocity * scaleFactor;
- flickDeceleration = flickDeceleration * scaleFactor;
- }
-}
=== removed file 'src/app/qml/upstreamComponents/MultipleSelectionListView.qml'
--- src/app/qml/upstreamComponents/MultipleSelectionListView.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/upstreamComponents/MultipleSelectionListView.qml 1970-01-01 00:00:00 +0000
@@ -1,199 +0,0 @@
-/*
- * Copyright (C) 2013 Canonical, Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import QtQuick 2.3
-import Ubuntu.Components 1.1
-import Ubuntu.Components.Popups 1.0 as Popups
-
-/*!
- \qmltype ContactSimpleListView
- \inqmlmodule Ubuntu.Contacts 0.1
- \ingroup ubuntu
- \brief The MultipleSelectionListView provides a ListView with support to multiple selection
-
- The MultipleSelectionListViewprovides a ListView with support to multiple selection which can be used by any
- application.
-
- Example:
- \qml
- import Ubuntu.Contacts 0.1
-
- MultipleSelectionListView {
- id: view
- anchors.fill: paret
- model: 100
- delegate: Rectangle {
- width: parent.width
- height: 100
- color: view.selectedItems.indexOf(index) == -1 ? "white" : "blue"
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- if (view.isInSelectionModel) {
- view.selectItem(index)
- }
- }
- onPressAndHold: view.startSelection()
- }
- }
- onSelectionDone: console.debug("Selected items:" + view.selectedItems)
- }
- \endqml
-*/
-
-ListView {
- id: listView
-
- /*!
- \qmlproperty model selectedItems
-
- This property holds the list of selected items
- */
- readonly property alias selectedItems: visualModel.selectedItems
- /*!
- \qmlproperty bool multipleSelection
-
- This property holds if the selection will accept multiple items or single items
- */
- property bool multipleSelection: true
-
- /*!
- \qmlproperty model listModel
-
- This property holds the model providing data for the list.
- */
- property alias listModel: visualModel.model
- /*!
- \qmlproperty Component listDelegate
-
- The delegate provides a template defining each item instantiated by the view.
- */
- property alias listDelegate: visualModel.delegate
-
- /*!
- \qmlproperty bool isInSelectionMode
-
- This property holds a list with the index of selected items
- */
- readonly property bool isInSelectionMode: state === "selection"
- /*!
- This handler is called when the selection mode is finished without be canceled
- */
- signal selectionDone(var items)
- /*!
- This handler is called when the selection mode is canceled
- */
- signal selectionCanceled()
-
- /*!
- Start the selection mode on the list view.
- */
- function startSelection()
- {
- state = "selection"
- }
- /*!
- Check if the item is selected
- Returns true if the item was marked as selected or false if the item is unselected
- */
- function isSelected(item)
- {
- if (item && item.VisualDataModel) {
- return (item.VisualDataModel.inSelected === true)
- } else {
- return false
- }
- }
- /*!
- Mark the item as selected
- Returns true if the item was marked as selected or false if the item is already selected
- */
- function selectItem(item)
- {
- if (item.VisualDataModel.inSelected) {
- return false
- } else {
- if (!multipleSelection) {
- clearSelection()
- }
- item.VisualDataModel.inSelected = true
- return true
- }
- }
- /*!
- Remove the index from the selected list
- */
- function deselectItem(item)
- {
- var result = false
- if (item.VisualDataModel.inSelected) {
- item.VisualDataModel.inSelected = false
- result = true
- }
- return result
- }
- /*!
- Finish the selection mode with sucess
- */
- function endSelection()
- {
- selectionDone(listView.selectedItems)
- clearSelection()
- state = ""
- }
- /*!
- Cancel the selection
- */
- function cancelSelection()
- {
- selectionCanceled()
- clearSelection()
- state = ""
- }
- /*!
- Remove any selected item from the selection list
- */
- function clearSelection()
- {
- if (selectedItems.count > 0) {
- selectedItems.remove(0, selectedItems.count)
- }
- }
- /*!
- Select all items in the list
- */
- function selectAll()
- {
- if (multipleSelection) {
- visualModel.items.addGroups(0, visualModel.items.count, ["selected"] )
- }
- }
-
- model: visualModel
-
- MultipleSelectionVisualModel {
- id: visualModel
- }
-
- Component.onCompleted: {
- // FIXME: workaround for qtubuntu not returning values depending on the grid unit definition
- // for Flickable.maximumFlickVelocity and Flickable.flickDeceleration
- var scaleFactor = units.gridUnit / 8;
- maximumFlickVelocity = maximumFlickVelocity * scaleFactor;
- flickDeceleration = flickDeceleration * scaleFactor;
- }
-}
=== removed file 'src/app/qml/upstreamComponents/MultipleSelectionVisualModel.qml'
--- src/app/qml/upstreamComponents/MultipleSelectionVisualModel.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/upstreamComponents/MultipleSelectionVisualModel.qml 1970-01-01 00:00:00 +0000
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2012-2013 Canonical, Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import QtQuick 2.3
-
-VisualDataModel {
- id: contactVisualModel
-
- property alias selectedItems: selectedGroup
-
- groups: [
- VisualDataGroup {
- id: selectedGroup
-
- name: "selected"
- }
- ]
-}
=== modified file 'src/app/qml/upstreamComponents/PageWithBottomEdge.qml'
--- src/app/qml/upstreamComponents/PageWithBottomEdge.qml 2015-02-13 15:30:01 +0000
+++ src/app/qml/upstreamComponents/PageWithBottomEdge.qml 2015-11-19 15:38:45 +0000
@@ -62,8 +62,8 @@
*/
-import QtQuick 2.2
-import Ubuntu.Components 1.1
+import QtQuick 2.4
+import Ubuntu.Components 1.2
Page {
id: page
=== removed file 'src/app/urlhandler.cpp'
--- src/app/urlhandler.cpp 2015-02-13 15:30:01 +0000
+++ src/app/urlhandler.cpp 1970-01-01 00:00:00 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2014 Canonical, Ltd.
- *
- * Authors:
- * Arthur Mello <arthur.mello@xxxxxxxxxxxxx>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "urlhandler.h"
-
-#include <QUrl>
-#include <QStringList>
-#include <QFileInfo>
-#include <QDir>
-#include <QDebug>
-
-UrlHandler::UrlHandler()
- : m_documentFile("")
-{
- m_validSchemes << "document";
-}
-
-/*!
- * @brief UrlHandler::processUri parsers our input uri and sets attributes accordingly.
- * @param QString uri to parse and set attributes.
- * @return false if invalid parameter is input.
- */
-bool UrlHandler::processUri(const QString& arg)
-{
- QUrl uri(arg);
-
- if (!m_validSchemes.contains(uri.scheme())) {
- return false;
- }
-
- if (uri.scheme() == "document") {
- uri.setScheme("file");
- }
-
- if (uri.isRelative()) {
- uri = QUrl::fromLocalFile(QDir::current().absoluteFilePath(arg));
- }
-
- // Check if it's a local file
- if (uri.isValid() && uri.isLocalFile()) {
- QFileInfo info(uri.toLocalFile());
- if (info.exists() && info.isFile()) {
- m_documentFile = info.absoluteFilePath();
- return true;
- } else {
- qWarning() << "File not found:" << uri << info.exists() << info.isFile();
- }
- } else {
- qWarning() << "Invalid uri:" << uri;
- }
-
- return false;
-}
=== removed file 'src/app/urlhandler.h'
--- src/app/urlhandler.h 2015-02-13 15:30:01 +0000
+++ src/app/urlhandler.h 1970-01-01 00:00:00 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2014 Canonical, Ltd.
- *
- * Authors:
- * Arthur Mello <arthur.mello@xxxxxxxxxxxxx>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef URLHANDLER_H
-#define URLHANDLER_H
-
-#include <QString>
-#include <QList>
-
-/*!
- * @brief The UrlHandler is used to parse calls of docviewer from the url schema.
- */
-class UrlHandler
-{
-public:
- UrlHandler();
-
- bool processUri(const QString &arg);
- const QString &documentFile() { return m_documentFile; }
-
-private:
- QList<QString> m_validSchemes;
- QString m_documentFile;
-};
-
-#endif // URLHANDLER_H
=== modified file 'src/plugin/CMakeLists.txt'
--- src/plugin/CMakeLists.txt 2014-10-20 21:38:36 +0000
+++ src/plugin/CMakeLists.txt 2015-11-19 15:38:45 +0000
@@ -1,2 +1,3 @@
add_subdirectory(file-qml-plugin)
add_subdirectory(poppler-qml-plugin)
+add_subdirectory(libreofficetoolkit-qml-plugin)
=== modified file 'src/plugin/file-qml-plugin/CMakeLists.txt'
--- src/plugin/file-qml-plugin/CMakeLists.txt 2015-05-13 14:22:36 +0000
+++ src/plugin/file-qml-plugin/CMakeLists.txt 2015-11-19 15:38:45 +0000
@@ -3,12 +3,11 @@
#add the sources to compile
set(fileqmlplugin_SRCS
- backend.cpp
- documentmodel.cpp
- fswatcher.cpp
- docviewerfile.cpp
- qstorageinfo.cpp
- qstorageinfo_unix.cpp
+ backend.cpp
+ documentmodel.cpp
+ fswatcher.cpp
+ docviewerfile.cpp
+ docviewerutils.cpp
)
add_library(fileqmlplugin MODULE
=== modified file 'src/plugin/file-qml-plugin/backend.cpp'
--- src/plugin/file-qml-plugin/backend.cpp 2015-04-29 15:23:32 +0000
+++ src/plugin/file-qml-plugin/backend.cpp 2015-11-19 15:38:45 +0000
@@ -21,6 +21,16 @@
#include "backend.h"
#include "documentmodel.h"
#include "docviewerfile.h"
+#include "docviewerutils.h"
+
+static QObject *registerDocviewerUtils (QQmlEngine *engine, QJSEngine *scriptEngine)
+{
+ Q_UNUSED(engine)
+ Q_UNUSED(scriptEngine)
+
+ DocviewerUtils *ch = new DocviewerUtils();
+ return ch;
+}
void BackendPlugin::registerTypes(const char *uri)
{
@@ -30,6 +40,8 @@
qmlRegisterType<DocumentModel>(uri, 1, 0, "DocumentsModel");
qmlRegisterType<DocviewerFile>(uri, 1, 0, "File");
+
+ qmlRegisterSingletonType<DocviewerUtils>(uri, 1, 0, "DocumentViewer", registerDocviewerUtils);
}
void BackendPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
=== modified file 'src/plugin/file-qml-plugin/documentmodel.cpp'
--- src/plugin/file-qml-plugin/documentmodel.cpp 2015-07-30 11:06:22 +0000
+++ src/plugin/file-qml-plugin/documentmodel.cpp 2015-11-19 15:38:45 +0000
@@ -17,12 +17,12 @@
#include "documentmodel.h"
#include "fswatcher.h"
-#include "qstorageinfo.h"
+#include "docviewerutils.h"
#include <QStandardPaths>
#include <QDir>
#include <QFileInfo>
-
+#include <QStorageInfo>
#include <QMimeDatabase>
#include <QDateTime>
@@ -115,10 +115,7 @@
bool DocumentModel::isFileSupported(const QString &path)
{
- QMimeDatabase db;
- QString mimetype = db.mimeTypeForFile(path).name();
-
- return (mimetype.startsWith("text/") || mimetype == "application/pdf");
+ return DocviewerUtils::isFileSupported(path);
}
QHash<int, QByteArray> DocumentModel::roleNames() const
=== added file 'src/plugin/file-qml-plugin/docviewerutils.cpp'
--- src/plugin/file-qml-plugin/docviewerutils.cpp 1970-01-01 00:00:00 +0000
+++ src/plugin/file-qml-plugin/docviewerutils.cpp 2015-11-19 15:38:45 +0000
@@ -0,0 +1,169 @@
+/*
+ Copyright (C) 2015 Canonical, Ltd.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License 3 as published by
+ the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see http://www.gnu.org/licenses/.
+*/
+
+#include "docviewerutils.h"
+
+#include <QFileInfo>
+#include <QDir>
+#include <QMimeDatabase>
+#include <QStandardPaths>
+#include <QDirIterator>
+#include <QDateTime>
+#include <QtGui/QGuiApplication>
+
+bool DocviewerUtils::desktopMode() const
+{
+ // Assume that platformName (QtUbuntu) with ubuntu
+ // in name means it's running on device
+ // TODO: replace this check with SDK call for formfactor
+ QString platform = QGuiApplication::platformName();
+ return !((platform == "ubuntu") || (platform == "ubuntumirclient"));
+}
+
+bool DocviewerUtils::exists(const QString &path)
+{
+ QFileInfo fi(path);
+
+ if (fi.isFile())
+ return fi.exists();
+
+ // else
+ return QDir(path).exists();
+}
+
+bool DocviewerUtils::copy(const QString &source, const QString &destination)
+{
+ return QFile::copy(source, destination);
+}
+
+bool DocviewerUtils::isFileSupported(const QString &path)
+{
+ QMimeDatabase mdb;
+ const QString mimetype = mdb.mimeTypeForFile(path).name();
+
+ return mimetype.startsWith("text/")
+ || mimetype == "application/pdf"
+ || mimetype.startsWith("application/vnd.oasis.opendocument")
+ || mimetype == "application/msword"
+ || mimetype == "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+ || mimetype == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+ || mimetype == "application/vnd.openxmlformats-officedocument.presentationml.presentation"
+ || mimetype == "application/vnd.ms-excel"
+ || mimetype == "application/vnd.ms-powerpoint";
+}
+
+QString DocviewerUtils::getXdgDocumentsLocation()
+{
+ return QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
+}
+
+QString DocviewerUtils::buildDestinationPath(const QString &destinationDir, const QString &sourcePath)
+{
+ QFileInfo fi(sourcePath);
+
+ /*
+ We don't support formats that use a double extension
+ (e.g. tar.gz), so we can safely use completeBaseName() and
+ suffix() functions, in order to properly detect the name of
+ the document even when there's a dot in the middle of the name.
+ */
+ QString suffix = fi.suffix();
+ QString filenameWithoutSuffix = fi.completeBaseName();
+
+ QMimeDatabase mdb;
+ QMimeType mt = mdb.mimeTypeForFile(sourcePath);
+
+ // If the filename doesn't have an extension add one from the
+ // detected mimetype
+ if (suffix.isEmpty())
+ suffix = mt.preferredSuffix();
+
+ QString dir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + QDir::separator();
+ QString destination = QString("%1.%2").arg(dir + filenameWithoutSuffix, suffix);
+
+ // If there's already a file of this name, reformat it to
+ // "filename (copy x).png" where x is a number, incremented until we find an
+ // available filename.
+ if (QFile::exists(destination)) {
+ /*
+ TRANSLATORS: This string is used for renaming a copied file,
+ when a file with the same name already exists in user's
+ Documents folder.
+
+ e.g. "Manual_Aquaris_E4.5_ubuntu_EN.pdf" will become
+ "Manual_Aquaris_E4.5_ubuntu_EN (copy 2).pdf"
+
+ where "2" is given by the argument "%1"
+ */
+ QString reformattedSuffix = QString(tr("copy %1"));
+
+ // Check if the file has already a "copy" suffix
+ // If so, remove it since we will update it later.
+ QRegExp rx(" \\(" + reformattedSuffix.arg(QString("\\d+")) + "\\)");
+ int reformattedSuffixPos = filenameWithoutSuffix.lastIndexOf(rx);
+
+ if (reformattedSuffixPos != -1)
+ filenameWithoutSuffix.truncate(reformattedSuffixPos);
+
+ // Add the right "copy" suffix.
+ int append = 1;
+ while (QFile::exists(destination)) {
+ destination = QString("%1 (%2).%3").arg(
+ dir + filenameWithoutSuffix,
+ reformattedSuffix.arg(QString::number(append)),
+ suffix);
+ append++;
+ }
+ }
+
+ return destination;
+}
+
+// Return the path of the file, if found in the storageLocation paths,
+// otherwise return an empty string.
+// Used for prevent importing of a second copy of a file through ContentHub.
+QString DocviewerUtils::checkIfFileAlreadyImported(const QString &filePath, const QStringList &storageLocationList)
+{
+ QFileInfo fi(filePath);
+ QStringList files;
+
+ // Get the list of all the files in the watched folders
+ Q_FOREACH(const QString &storageLocation, storageLocationList) {
+ QDirIterator dir(storageLocation, QDir::Files | QDir::NoDotAndDotDot | QDir::Readable,
+ QDirIterator::Subdirectories);
+
+ while (dir.hasNext())
+ {
+ dir.next();
+ files.append(dir.filePath());
+ }
+ }
+
+ // Check if there's a file with the same name in the list
+ Q_FOREACH(const QString &file, files) {
+ if (file.endsWith(fi.fileName())) {
+ // Seems there could be already the same file in the watched
+ // folders. Check also size and lastModified date.
+ QFileInfo fileToCheck(file);
+
+ if (fi.size() == fileToCheck.size() &&
+ fi.lastModified() == fileToCheck.lastModified())
+ return file;
+ }
+ }
+
+ return QString();
+}
=== added file 'src/plugin/file-qml-plugin/docviewerutils.h'
--- src/plugin/file-qml-plugin/docviewerutils.h 1970-01-01 00:00:00 +0000
+++ src/plugin/file-qml-plugin/docviewerutils.h 2015-11-19 15:38:45 +0000
@@ -0,0 +1,42 @@
+/*
+ Copyright (C) 2015 Canonical, Ltd.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License 3 as published by
+ the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see http://www.gnu.org/licenses/.
+*/
+
+#ifndef DOCVIEWERUTILS_H
+#define DOCVIEWERUTILS_H
+
+#include <QObject>
+#include <QThread>
+
+class DocviewerUtils : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(bool desktopMode READ desktopMode CONSTANT)
+
+public:
+ bool desktopMode() const;
+
+ Q_INVOKABLE static bool exists(const QString &path);
+ Q_INVOKABLE static bool copy(const QString &source, const QString &destination);
+
+ Q_INVOKABLE static bool isFileSupported(const QString &path);
+ Q_INVOKABLE static QString getXdgDocumentsLocation();
+
+ Q_INVOKABLE static QString buildDestinationPath(const QString &destinationDir, const QString &sourcePath);
+
+ Q_INVOKABLE static QString checkIfFileAlreadyImported(const QString &filePath, const QStringList &storageLocationList);
+};
+
+#endif // DOCVIEWERUTILS_H
=== removed file 'src/plugin/file-qml-plugin/qstorageinfo.cpp'
--- src/plugin/file-qml-plugin/qstorageinfo.cpp 2015-05-13 14:22:36 +0000
+++ src/plugin/file-qml-plugin/qstorageinfo.cpp 1970-01-01 00:00:00 +0000
@@ -1,378 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@xxxxxxxxx>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; version 3.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see <http://www.gnu.org/licenses/>.
-**
-****************************************************************************/
-
-#include "qstorageinfo.h"
-#include "qstorageinfo_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QStorageInfo
- \inmodule QtCore
- \since 5.4
- \brief Provides information about currently mounted storage and drives.
-
- \ingroup io
- \ingroup shared
-
- Allows retrieving information about the volume's space, its mount point,
- label, and filesystem name.
-
- You can create an instance of QStorageInfo by passing the path to the
- volume's mount point as a constructor parameter, or you can set it using
- the setPath() method. The static mountedVolumes() method can be used to get the
- list of all mounted filesystems.
-
- QStorageInfo always caches the retrieved information, but you can call
- refresh() to invalidate the cache.
-
- The following example retrieves the most common information about the root
- volume of the system, and prints information about it.
-
- \snippet code/src_corelib_io_qstorageinfo.cpp 2
-*/
-
-/*!
- Constructs an empty QStorageInfo object.
-
- Objects created with the default constructor will be invalid and therefore
- not ready for use.
-
- \sa setPath(), isReady(), isValid()
-*/
-QStorageInfo::QStorageInfo()
- : d(new QStorageInfoPrivate)
-{
-}
-
-/*!
- Constructs a new QStorageInfo object that gives information about the volume
- mounted at \a path.
-
- If you pass a directory or file, the QStorageInfo object will refer to the
- volume where this directory or file is located.
- You can check if the created object is correct using the isValid() method.
-
- The following example shows how to get the volume on which the application is
- located. It is recommended to always check that the volume is ready and valid.
-
- \snippet code/src_corelib_io_qstorageinfo.cpp 0
-
- \sa setPath()
-*/
-QStorageInfo::QStorageInfo(const QString &path)
- : d(new QStorageInfoPrivate)
-{
- setPath(path);
-}
-
-/*!
- Constructs a new QStorageInfo object that gives information about the volume
- containing the \a dir folder.
-*/
-QStorageInfo::QStorageInfo(const QDir &dir)
- : d(new QStorageInfoPrivate)
-{
- setPath(dir.absolutePath());
-}
-
-/*!
- Constructs a new QStorageInfo object that is a copy of the \a other QStorageInfo object.
-*/
-QStorageInfo::QStorageInfo(const QStorageInfo &other)
- : d(other.d)
-{
-}
-
-/*!
- Destroys the QStorageInfo object and frees its resources.
-*/
-QStorageInfo::~QStorageInfo()
-{
-}
-
-/*!
- Makes a copy of the QStorageInfo object \a other and assigns it to this QStorageInfo object.
-*/
-QStorageInfo &QStorageInfo::operator=(const QStorageInfo &other)
-{
- d = other.d;
- return *this;
-}
-
-/*!
- \fn QStorageInfo &QStorageInfo::operator=(QStorageInfo &&other)
-
- Assigns \a other to this QStorageInfo instance.
-*/
-
-/*!
- \fn void QStorageInfo::swap(QStorageInfo &other)
-
- Swaps this volume info with \a other. This function is very fast and
- never fails.
-*/
-
-/*!
- Sets this QStorageInfo object to the filesystem mounted where \a path is located.
-
- \a path can either be a root path of the filesystem, a directory, or a file
- within that filesystem.
-
- \sa rootPath()
-*/
-void QStorageInfo::setPath(const QString &path)
-{
- if (d->rootPath == path)
- return;
- d.detach();
- d->rootPath = path;
- d->doStat();
-}
-
-/*!
- Returns the mount point of the filesystem this QStorageInfo object
- represents.
-
- On Windows, it returns the volume letter in case the volume is not mounted to
- a directory.
-
- Note that the value returned by rootPath() is the real mount point of a
- volume, and may not be equal to the value passed to the constructor or setPath()
- method. For example, if you have only the root volume in the system, and
- pass '/directory' to setPath(), then this method will return '/'.
-
- \sa setPath(), device()
-*/
-QString QStorageInfo::rootPath() const
-{
- return d->rootPath;
-}
-
-/*!
- Returns the size (in bytes) available for the current user. It returns
- the total size available if the user is the root user or a system administrator.
-
- This size can be less than or equal to the free size returned by
- bytesFree() function.
-
- \sa bytesTotal(), bytesFree()
-*/
-qint64 QStorageInfo::bytesAvailable() const
-{
- return d->bytesAvailable;
-}
-
-/*!
- Returns the number of free bytes in a volume. Note that if there are
- quotas on the filesystem, this value can be larger than the value
- returned by bytesAvailable().
-
- \sa bytesTotal(), bytesAvailable()
-*/
-qint64 QStorageInfo::bytesFree() const
-{
- return d->bytesFree;
-}
-
-/*!
- Returns the total volume size in bytes.
-
- \sa bytesFree(), bytesAvailable()
-*/
-qint64 QStorageInfo::bytesTotal() const
-{
- return d->bytesTotal;
-}
-
-/*!
- Returns the type name of the filesystem.
-
- This is a platform-dependent function, and filesystem names can vary
- between different operating systems. For example, on Windows filesystems
- they can be named \c NTFS, and on Linux they can be named \c ntfs-3g or \c fuseblk.
-
- \sa name()
-*/
-QByteArray QStorageInfo::fileSystemType() const
-{
- return d->fileSystemType;
-}
-
-/*!
- Returns the device for this volume.
-
- For example, on Unix filesystems (including OS X), this returns the
- devpath like \c /dev/sda0 for local storages. On Windows, it returns the UNC
- path starting with \c \\\\?\\ for local storages (in other words, the volume GUID).
-
- \sa rootPath()
-*/
-QByteArray QStorageInfo::device() const
-{
- return d->device;
-}
-
-/*!
- Returns the human-readable name of a filesystem, usually called \c label.
-
- Not all filesystems support this feature. In this case, the value returned by
- this method could be empty. An empty string is returned if the file system
- does not support labels, or if no label is set.
-
- On Linux, retrieving the volume's label requires \c udev to be present in the
- system.
-
- \sa fileSystemType()
-*/
-QString QStorageInfo::name() const
-{
- return d->name;
-}
-
-/*!
- Returns the volume's name, if available, or the root path if not.
-*/
-QString QStorageInfo::displayName() const
-{
- if (!d->name.isEmpty())
- return d->name;
- return d->rootPath;
-}
-
-/*!
- \fn bool QStorageInfo::isRoot() const
-
- Returns true if this QStorageInfo represents the system root volume; false
- otherwise.
-
- On Unix filesystems, the root volume is a volume mounted on \c /. On Windows,
- the root volume is the volume where the OS is installed.
-
- \sa root()
-*/
-
-/*!
- Returns true if the current filesystem is protected from writing; false
- otherwise.
-*/
-bool QStorageInfo::isReadOnly() const
-{
- return d->readOnly;
-}
-
-/*!
- Returns true if the current filesystem is ready to work; false otherwise. For
- example, false is returned if the CD volume is not inserted.
-
- Note that fileSystemType(), name(), bytesTotal(), bytesFree(), and
- bytesAvailable() will return invalid data until the volume is ready.
-
- \sa isValid()
-*/
-bool QStorageInfo::isReady() const
-{
- return d->ready;
-}
-
-/*!
- Returns true if the QStorageInfo specified by rootPath exists and is mounted
- correctly.
-
- \sa isReady()
-*/
-bool QStorageInfo::isValid() const
-{
- return d->valid;
-}
-
-/*!
- Resets QStorageInfo's internal cache.
-
- QStorageInfo caches information about storage to speed up performance.
- QStorageInfo retrieves information during object construction and/or when calling
- the setPath() method. You have to manually reset the cache by calling this
- function to update storage information.
-*/
-void QStorageInfo::refresh()
-{
- d.detach();
- d->doStat();
-}
-
-/*!
- Returns the list of QStorageInfo objects that corresponds to the list of currently
- mounted filesystems.
-
- On Windows, this returns the drives visible in the \gui{My Computer} folder. On Unix
- operating systems, it returns the list of all mounted filesystems (except for
- pseudo filesystems).
-
- Returns all currently mounted filesystems by default.
-
- The example shows how to retrieve all available filesystems, skipping read-only ones.
-
- \snippet code/src_corelib_io_qstorageinfo.cpp 1
-
- \sa root()
-*/
-QList<QStorageInfo> QStorageInfo::mountedVolumes()
-{
- return QStorageInfoPrivate::mountedVolumes();
-}
-
-Q_GLOBAL_STATIC_WITH_ARGS(QStorageInfo, getRoot, (QStorageInfoPrivate::root()))
-
-/*!
- Returns a QStorageInfo object that represents the system root volume.
-
- On Unix systems this call returns the root ('/') volume; in Windows the volume where
- the operating system is installed.
-
- \sa isRoot()
-*/
-QStorageInfo QStorageInfo::root()
-{
- return *getRoot();
-}
-
-/*!
- \fn inline bool operator==(const QStorageInfo &first, const QStorageInfo &second)
-
- \relates QStorageInfo
-
- Returns true if the \a first QStorageInfo object refers to the same drive or volume
- as the \a second; otherwise it returns false.
-
- Note that the result of comparing two invalid QStorageInfo objects is always
- positive.
-*/
-
-/*!
- \fn inline bool operator!=(const QStorageInfo &first, const QStorageInfo &second)
-
- \relates QStorageInfo
-
- Returns true if the \a first QStorageInfo object refers to a different drive or
- volume than the \a second; otherwise returns false.
-*/
-
-QT_END_NAMESPACE
=== removed file 'src/plugin/file-qml-plugin/qstorageinfo.h'
--- src/plugin/file-qml-plugin/qstorageinfo.h 2015-05-13 14:22:36 +0000
+++ src/plugin/file-qml-plugin/qstorageinfo.h 1970-01-01 00:00:00 +0000
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Ivan Komissarov <ABBAPOH@xxxxxxxxx>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; version 3.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see <http://www.gnu.org/licenses/>.
-**
-****************************************************************************/
-
-#ifndef QSTORAGEINFO_H
-#define QSTORAGEINFO_H
-
-#include <QtCore/qbytearray.h>
-#include <QtCore/qdir.h>
-#include <QtCore/qlist.h>
-#include <QtCore/qmetatype.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qshareddata.h>
-
-QT_BEGIN_NAMESPACE
-
-class QStorageInfoPrivate;
-class Q_CORE_EXPORT QStorageInfo
-{
-public:
- QStorageInfo();
- explicit QStorageInfo(const QString &path);
- explicit QStorageInfo(const QDir &dir);
- QStorageInfo(const QStorageInfo &other);
- ~QStorageInfo();
-
- QStorageInfo &operator=(const QStorageInfo &other);
-#ifdef Q_COMPILER_RVALUE_REFS
- inline QStorageInfo &operator=(QStorageInfo &&other)
- { qSwap(d, other.d); return *this; }
-#endif
-
- inline void swap(QStorageInfo &other)
- { qSwap(d, othe