[-]
[+]
|
Changed |
_service:tar_git:openrepos-books.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,6 +2,6 @@
<service name="tar_git">
<param name="url">https://github.com/monich/harbour-books.git</param>
<param name="branch">master</param>
- <param name="revision">134e973</param>
+ <param name="revision">a29d94d</param>
</service>
</services>
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/app.pro
^
|
@@ -51,7 +51,7 @@
OTHER_FILES += \
icons/harbour-books.svg \
- harbour-books.desktop \
+ *.desktop \
qml/*.qml \
qml/*.js \
qml/images/* \
@@ -134,16 +134,6 @@
src/ZLApplication.cpp \
src/ZLibrary.cpp
-# Some libraries are not allowed in harbour
-openrepos {
- LIBS += -lexpat -lmagic -ludev
-} else {
- SOURCES += \
- stubs/libexpat.c \
- stubs/libmagic.c \
- stubs/libudev.c
-}
-
HEADERS += \
src/BooksBook.h \
src/BooksBookModel.h \
@@ -174,6 +164,23 @@
src/BooksTypes.h \
src/BooksUtil.h
+# Some libraries are not allowed in harbour
+openrepos {
+ LIBS += -lexpat -lmagic -ludev
+} else {
+ SOURCES += \
+ stubs/libexpat.c \
+ stubs/libmagic.c \
+ stubs/libudev.c
+}
+
+# D-Bus handler is only used in OpenRepos build
+openrepos {
+ QT += dbus
+ HEADERS += src/BooksDBus.h
+ SOURCES += src/BooksDBus.cpp
+}
+
# harbour-lib
HEADERS += \
@@ -245,10 +252,11 @@
settings_images.path = /usr/share/$${TARGET}/settings/images/
INSTALLS += settings_images
-# Desktop file
-equals(PREFIX, "openrepos") {
- desktop.extra = sed s/harbour/openrepos/g harbour-$${NAME}.desktop > $${TARGET}.desktop
- desktop.CONFIG += no_check_exist
+# File handler
+openrepos {
+ service.files = $${TARGET}.service
+ service.path = /usr/share/dbus-1/services/
+ INSTALLS += service
}
# Translations
|
[-]
[+]
|
Added |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/openrepos-books.desktop
^
|
@@ -0,0 +1,26 @@
+[Desktop Entry]
+Type=Application
+Name=Books
+Name[de]=Bücher
+Name[es]=Libros
+Name[fi]=Kirjat
+Name[hu]=Könyvek
+Name[nl]=Boeken
+Name[pt_BR]=Livros
+Name[ru]=Книги
+Name[sv]=Böcker
+Comment=E-Book Reader
+Icon=openrepos-books
+Exec=openrepos-books %f
+MimeType=application/epub+zip;application/x-fictionbook+xml;
+X-Nemo-Application-Type=silica-qt5
+X-Maemo-Service=openrepos.books
+X-Maemo-Object-Path=/
+X-Maemo-Method=openrepos.books.Open
+
+[X-Sailjail]
+Sandboxing=Disabled
+
+[X-HarbourBackup]
+BackupPathList=.local/share/openrepos-books/:Documents/Books/
+BackupConfigList=/apps/openrepos-books/
|
[-]
[+]
|
Added |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/openrepos-books.service
^
|
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=openrepos.books
+Exec=/usr/bin/invoker --type=silica-qt5 --desktop-file=openrepos-books.desktop -n -d 5 /usr/bin/openrepos-books
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/qml/Books.js
^
|
@@ -1,6 +1,6 @@
.pragma library
-var version = "1.0.45"
+var version = "1.0.46"
function contentOpacity(brightness) {
return 0.4 + brightness * 0.6
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/qml/BooksBookView.qml
^
|
@@ -63,10 +63,10 @@
{ pager: true, page: true, title: true, tools: true }
]
- property alias viewInteractive: bookView.interactive
+ property bool viewInteractive: bookView.interactive && !loading
property alias pullDownMenu: menu
- property alias isCurrentView: menu.visible
property alias loadingBackgroundOpacity: loadingBackground.opacity
+ property bool isCurrentView
property bool pageActive
readonly property bool viewActive: pageActive && Qt.application.active && !!book
@@ -147,7 +147,7 @@
PullDownMenu {
id: menu
- visible: false // BooksMainPage will make it visible when it's needed
+ visible: isCurrentView && !loading && Settings.bookPullDownMenu
property real backToLibrary
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/qml/BooksMainPage.qml
^
|
@@ -1,6 +1,6 @@
/*
- Copyright (C) 2015-2020 Jolla Ltd.
- Copyright (C) 2015-2020 Slava Monich <slava.monich@jolla.com>
+ Copyright (C) 2015-2021 Jolla Ltd.
+ Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
You may use this file under the terms of BSD license as follows:
@@ -85,6 +85,7 @@
width: page.width
height: page.height
y: Settings.currentBook ? flickable.contentY : 0
+ viewScale: 0.9 + 0.1 * opacity
pageActive: page.pageActive
isCurrentView: currentView === storageView
opacity: Settings.currentBook ? ((y > fadeInThreshold) ? 1 : (y > 0) ? y/fadeInThreshold : 0) : 1
@@ -139,7 +140,7 @@
property: "contentY"
to: page.height
duration: 150
- easing.type: Easing.InQuad
+ easing.type: Easing.Linear
}
ScriptAction {
script: {
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/qml/BooksShelfView.qml
^
|
@@ -272,8 +272,6 @@
easing.type: Easing.OutCubic
}
- onActiveFocusChanged: console.log("BooksShelfView.grid", activeFocus)
-
Behavior on y { SpringAnimation {} }
VerticalScrollDecorator {}
}
@@ -288,7 +286,6 @@
}
}
onDropItem: shelfView.dropItem(mouseX, mouseY)
- onActiveFocusChanged: console.log("BooksShelfView.grid.dragArea", activeFocus)
Component.onCompleted: {
console.log("BooksDragArea created")
grid.focus = true
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/qml/BooksStorageView.qml
^
|
@@ -39,6 +39,7 @@
id: storageView
property alias viewInteractive: storageList.interactive
+ property alias viewScale: storageList.scale
property alias pullDownMenu: menu
property alias isCurrentView: menu.visible
property bool pageActive
@@ -189,7 +190,9 @@
SilicaListView {
id: storageList
- anchors.fill: parent
+ anchors.centerIn: parent
+ width: parent.width
+ height: parent.height
model: storageModel
flickDeceleration: maximumFlickVelocity
orientation: ListView.Horizontal
@@ -235,6 +238,7 @@
device: model.device
removableStorage: model.removable
shelfIndex: model.index
+ view.clip: storageList.scale == 1
onStartEditing: storageView.editMode = true
onStopEditing: storageView.editMode = false
onScrollLeft: storageList.scrollOnePageLeft()
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/settings/BooksSettings.qml
^
|
@@ -456,6 +456,12 @@
}
}
+ Item {
+ width: 1
+ height: 1
+ visible: landscapeLayout // To occupy the grid slot
+ }
+
TextSwitch {
width: parent.columnWidth
automaticCheck: false
@@ -473,6 +479,24 @@
defaultValue: false
}
}
+
+ TextSwitch {
+ width: parent.columnWidth
+ automaticCheck: false
+ checked: bookPullDownMenu.value
+ //: Text switch label
+ //% "Show pulley menu when the book is open"
+ text: qsTrId("harbour-books-settings-page-book_pulldown_menu")
+ //: Text switch description
+ //% "Without the pulley menu, the book has to be closed by swiping it up."
+ description: qsTrId("harbour-books-settings-page-book_pulldown_menu-description")
+ onClicked: bookPullDownMenu.value = !bookPullDownMenu.value
+ ConfigurationValue {
+ id: bookPullDownMenu
+ key: rootPath + "bookPullDownMenu"
+ defaultValue: true
+ }
+ }
}
// =============== Memory card ===============
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksBook.cpp
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2018 Jolla Ltd.
- * Copyright (C) 2015-2018 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -8,15 +8,15 @@
* modification, are permitted provided that the following conditions
* are met:
*
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Jolla Ltd nor the names of its contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the names of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -333,7 +333,7 @@
BooksBook::BooksBook(const BooksStorage& aStorage, QString aRelativePath,
shared_ptr<Book> aBook) :
- QObject(NULL),
+ QObject(Q_NULLPTR),
iRef(1),
iStorage(aStorage),
iBook(aBook),
@@ -656,6 +656,17 @@
}
}
+BooksBook* BooksBook::newBook(QString aFullPath)
+{
+ shared_ptr<Book> ref = BooksUtil::bookFromFile(aFullPath);
+ if (!ref.isNull()) {
+ return new BooksBook(BooksStorage::tmpStorage(),
+ QFileInfo(aFullPath).dir().absolutePath(), ref);
+ } else {
+ return NULL;
+ }
+}
+
BooksBook* BooksBook::newBook(const BooksStorage& aStorage, QString aRelPath,
QString aFileName)
{
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksBook.h
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2018 Jolla Ltd.
- * Copyright (C) 2015-2018 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -8,15 +8,15 @@
* modification, are permitted provided that the following conditions
* are met:
*
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Jolla Ltd nor the names of its contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the names of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -67,11 +67,12 @@
Q_PROPERTY(bool fontSizeAdjust READ fontSizeAdjust WRITE setFontSizeAdjust NOTIFY fontSizeAdjustChanged)
public:
- explicit BooksBook(QObject* aParent = NULL);
+ explicit BooksBook(QObject* aParent = Q_NULLPTR);
BooksBook(const BooksStorage& aStorage, QString aRelativePath,
shared_ptr<Book> aBook);
~BooksBook();
+ static BooksBook* newBook(QString aFullPath);
static BooksBook* newBook(const BooksStorage& aStorage, QString aRelPath,
QString aFileName);
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksBookModel.cpp
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2020 Jolla Ltd.
- * Copyright (C) 2015-2020 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -65,7 +65,7 @@
Q_OBJECT
public:
- static const quint32 MarksFileVersion = 2;
+ static const quint32 MarksFileVersion = 3;
static const char MarksFileMagic[];
struct MarksHeader {
char magic[4];
|
[-]
[+]
|
Added |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksDBus.cpp
^
|
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2021 Jolla Ltd.
+ * Copyright (C) 2021 Slava Monich <slava.monich@jolla.com>
+ *
+ * You may use this file under the terms of the BSD license as follows:
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the names of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "BooksDefs.h"
+#include "BooksDBus.h"
+
+#include "HarbourDebug.h"
+
+#include <QDBusConnection>
+
+// ==========================================================================
+// BooksDBus::Adaptor
+// ==========================================================================
+
+class BooksDBus::Adaptor : public QDBusAbstractAdaptor
+{
+ Q_OBJECT
+ Q_CLASSINFO("D-Bus Interface", BOOKS_DBUS_INTERFACE)
+
+public:
+ Adaptor(QObject* aParent);
+
+ void open(QString aPathOrUrl);
+
+public Q_SLOTS:
+ void Open(QString path);
+ void Open(QStringList args);
+};
+
+BooksDBus::Adaptor::Adaptor(QObject* aParent) :
+ QDBusAbstractAdaptor(aParent)
+{
+}
+
+void BooksDBus::Adaptor::open(QString aPathOrUrl)
+{
+ BooksDBus* publicObject = qobject_cast<BooksDBus*>(parent());
+ if (!aPathOrUrl.isEmpty()) {
+ static const QString fileUrlPrefix("file://");
+ if (aPathOrUrl.startsWith(fileUrlPrefix)) {
+ const QString path(aPathOrUrl.right(aPathOrUrl.length() -
+ fileUrlPrefix.length()));
+ if (!path.isEmpty()) {
+ HDEBUG(qPrintable(path));
+ Q_EMIT publicObject->openBook(path);
+ }
+ } else {
+ // Assume it's a path
+ HDEBUG(qPrintable(aPathOrUrl));
+ Q_EMIT publicObject->openBook(aPathOrUrl);
+ }
+ }
+ Q_EMIT publicObject->activate();
+}
+
+void BooksDBus::Adaptor::Open(QString aArg)
+{
+ HDEBUG(aArg);
+ open(aArg);
+}
+
+void BooksDBus::Adaptor::Open(QStringList aArgs)
+{
+ HDEBUG(aArgs);
+ open(aArgs.isEmpty() ? QString() : aArgs.at(0));
+}
+
+// ==========================================================================
+// BooksDBus
+// ==========================================================================
+BooksDBus::BooksDBus(QObject* aParent) :
+ QObject(aParent),
+ iAdaptor(new Adaptor(this))
+{
+}
+
+BooksDBus* BooksDBus::create(QObject* aParent)
+{
+ BooksDBus* handler = new BooksDBus(aParent);
+ QDBusConnection sessionBus(QDBusConnection::sessionBus());
+ if (sessionBus.registerObject("/", handler) &&
+ sessionBus.registerService(BOOKS_DBUS_SERVICE)) {
+ HDEBUG("Registered D-Bus handler");
+ return handler;
+ } else {
+ HDEBUG("Failed to registered D-Bus handler");
+ delete handler;
+ return Q_NULLPTR;
+ }
+}
+
+#include "BooksDBus.moc"
|
[-]
[+]
|
Added |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksDBus.h
^
|
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2021 Jolla Ltd.
+ * Copyright (C) 2021 Slava Monich <slava.monich@jolla.com>
+ *
+ * You may use this file under the terms of the BSD license as follows:
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the names of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef BOOKS_DBUS_H
+#define BOOKS_DBUS_H
+
+#include <QDBusAbstractAdaptor>
+
+class BooksDBus : public QObject
+{
+ Q_OBJECT
+ BooksDBus(QObject* aParent);
+
+public:
+ static BooksDBus* create(QObject* aParent);
+
+Q_SIGNALS:
+ void openBook(QString aPath);
+ void activate();
+
+private:
+ class Adaptor;
+ Adaptor* iAdaptor;
+};
+
+#endif // BOOKS_DBUS_H
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksDefs.h
^
|
@@ -37,12 +37,15 @@
#include <QString>
#ifdef OPENREPOS
+# define BOOKS_DBUS_INTERFACE "openrepos.books"
# define BOOKS_APP_NAME "openrepos-books"
-# define BOOKS_SETTINGS_MENU false
+# define BOOKS_SETTINGS_MENU false
#else
# define BOOKS_APP_NAME "harbour-books"
# define BOOKS_SETTINGS_MENU true
#endif
+
+#define BOOKS_DBUS_SERVICE BOOKS_DBUS_INTERFACE
#define BOOKS_DCONF_ROOT "/apps/" BOOKS_APP_NAME "/"
#define BOOKS_DATA_ROOT "usr/share/" BOOKS_APP_NAME
#define BOOKS_QML_DIR BOOKS_DATA_ROOT "/qml"
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksSettings.cpp
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2020 Jolla Ltd.
- * Copyright (C) 2015-2020 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -55,6 +55,7 @@
#define KEY_REMOVABLE_ROOT "removableRoot"
#define KEY_INVERT_COLORS "invertColors"
#define KEY_KEEP_DISPLAY_ON "keepDisplayOn"
+#define KEY_BOOK_PULL_DOWN_MENU "bookPullDownMenu"
#define KEY_VOLUME_UP_ACTION "volumeUpAction"
#define KEY_VOLUME_DOWN_ACTION "volumeDownAction"
#define KEY_ORIENTATION "orientation"
@@ -70,6 +71,7 @@
#define DEFAULT_REMOVABLE_ROOT "Books"
#define DEFAULT_INVERT_COLORS false
#define DEFAULT_KEEP_DISPLAY_ON false
+#define DEFAULT_BOOK_PULL_DOWN_MENU true
#define DEFAULT_VOLUME_UP_ACTION (BooksSettings::ActionNextPage)
#define DEFAULT_VOLUME_DOWN_ACTION (BooksSettings::ActionPreviousPage)
#define DEFAULT_ORIENTATION (BooksSettings::OrientationAny)
@@ -257,6 +259,7 @@
MGConfItem* iInvertColorsConf;
MGConfItem* iSampleBookCopiedConf;
MGConfItem* iKeepDisplayOnConf;
+ MGConfItem* iBookPullDownMenuConf;
MGConfItem* iVolumeUpActionConf;
MGConfItem* iVolumeDownActionConf;
MGConfItem* iCurrentFolderConf;
@@ -282,6 +285,7 @@
iInvertColorsConf(new MGConfItem(DCONF_PATH KEY_INVERT_COLORS, this)),
iSampleBookCopiedConf(new MGConfItem(DCONF_PATH KEY_SAMPLE_BOOK_COPIED, this)),
iKeepDisplayOnConf(new MGConfItem(DCONF_PATH KEY_KEEP_DISPLAY_ON, this)),
+ iBookPullDownMenuConf(new MGConfItem(DCONF_PATH KEY_BOOK_PULL_DOWN_MENU, this)),
iVolumeUpActionConf(new MGConfItem(DCONF_PATH KEY_VOLUME_UP_ACTION, this)),
iVolumeDownActionConf(new MGConfItem(DCONF_PATH KEY_VOLUME_DOWN_ACTION, this)),
iCurrentFolderConf(new MGConfItem(DCONF_PATH KEY_CURRENT_FOLDER, this)),
@@ -302,6 +306,7 @@
connect(iTurnPageByTapConf, SIGNAL(valueChanged()), aParent, SIGNAL(turnPageByTapChanged()));
connect(iSampleBookCopiedConf, SIGNAL(valueChanged()), aParent, SIGNAL(sampleBookCopiedChanged()));
connect(iKeepDisplayOnConf, SIGNAL(valueChanged()), aParent, SIGNAL(keepDisplayOnChanged()));
+ connect(iBookPullDownMenuConf, SIGNAL(valueChanged()), aParent, SIGNAL(bookPullDownMenuChanged()));
connect(iVolumeUpActionConf, SIGNAL(valueChanged()), aParent, SIGNAL(volumeUpActionChanged()));
connect(iVolumeDownActionConf, SIGNAL(valueChanged()), aParent, SIGNAL(volumeDownActionChanged()));
connect(iOrientationConf, SIGNAL(valueChanged()), aParent, SIGNAL(orientationChanged()));
@@ -453,7 +458,7 @@
if (path.isEmpty()) {
if (iCurrentBook) {
iCurrentBook->release();
- iCurrentBook = NULL;
+ iCurrentBook = Q_NULLPTR;
return true;
}
} else if (!iCurrentBook || iCurrentBook->path() != path) {
@@ -463,16 +468,17 @@
QFileInfo info(path);
BooksStorageManager* mgr = BooksStorageManager::instance();
BooksStorage storage = mgr->storageForPath(info.path(), &rel);
- if (storage.isValid()) {
- if (iCurrentBook) iCurrentBook->release();
- iCurrentBook = new BooksBook(storage, rel, book);
- iCurrentBook->requestCoverImage();
- return true;
- }
+ if (iCurrentBook) iCurrentBook->release();
+ iCurrentBook = storage.isValid() ?
+ new BooksBook(storage, rel, book) :
+ new BooksBook(BooksStorage::tmpStorage(),
+ info.dir().absolutePath(), book);
+ iCurrentBook->requestCoverImage();
+ return true;
}
if (iCurrentBook) {
iCurrentBook->release();
- iCurrentBook = NULL;
+ iCurrentBook = Q_NULLPTR;
return true;
}
}
@@ -701,32 +707,47 @@
}
bool
-BooksSettings::sampleBookCopied() const
+BooksSettings::keepDisplayOn() const
{
- return iPrivate->iSampleBookCopiedConf->value(DEFAULT_SAMPLE_BOOK_COPIED).toBool();
+ return iPrivate->iKeepDisplayOnConf->value(DEFAULT_KEEP_DISPLAY_ON).toBool();
}
void
-BooksSettings::setSampleBookCopied()
+BooksSettings::setKeepDisplayOn(
+ bool aValue)
{
- HDEBUG("");
- iPrivate->iSampleBookCopiedConf->set(true);
+ HDEBUG(aValue);
+ iPrivate->iKeepDisplayOnConf->set(aValue);
}
bool
-BooksSettings::keepDisplayOn() const
+BooksSettings::bookPullDownMenu() const
{
- return iPrivate->iKeepDisplayOnConf->value(DEFAULT_KEEP_DISPLAY_ON).toBool();
+ return iPrivate->iBookPullDownMenuConf->value(DEFAULT_BOOK_PULL_DOWN_MENU).toBool();
}
void
-BooksSettings::setKeepDisplayOn(
+BooksSettings::setBookPullDownMenu(
bool aValue)
{
HDEBUG(aValue);
- iPrivate->iKeepDisplayOnConf->set(aValue);
+ iPrivate->iBookPullDownMenuConf->set(aValue);
}
+bool
+BooksSettings::sampleBookCopied() const
+{
+ return iPrivate->iSampleBookCopiedConf->value(DEFAULT_SAMPLE_BOOK_COPIED).toBool();
+}
+
+void
+BooksSettings::setSampleBookCopied()
+{
+ HDEBUG("");
+ iPrivate->iSampleBookCopiedConf->set(true);
+}
+
+
BooksSettings::Action
BooksSettings::volumeUpAction() const
{
@@ -836,4 +857,11 @@
return DEFAULT_ORIENTATION;
}
+void
+BooksSettings::setCurrentBookPath(QString aPath)
+{
+ HDEBUG(aPath);
+ iPrivate->iCurrentBookPathConf->set(aPath);
+}
+
#include "BooksSettings.moc"
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksSettings.h
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2020 Jolla Ltd.
- * Copyright (C) 2015-2020 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -55,6 +55,7 @@
Q_PROPERTY(bool invertColors READ invertColors WRITE setInvertColors NOTIFY invertColorsChanged)
Q_PROPERTY(bool sampleBookCopied READ sampleBookCopied NOTIFY sampleBookCopiedChanged)
Q_PROPERTY(bool keepDisplayOn READ keepDisplayOn WRITE setKeepDisplayOn NOTIFY keepDisplayOnChanged)
+ Q_PROPERTY(bool bookPullDownMenu READ bookPullDownMenu WRITE setBookPullDownMenu NOTIFY bookPullDownMenuChanged)
Q_PROPERTY(int volumeUpAction READ volumeUpAction WRITE setVolumeUpAction NOTIFY volumeUpActionChanged)
Q_PROPERTY(int volumeDownAction READ volumeDownAction WRITE setVolumeDownAction NOTIFY volumeDownActionChanged)
Q_PROPERTY(QObject* currentBook READ currentBook WRITE setCurrentBook NOTIFY currentBookChanged)
@@ -117,12 +118,15 @@
bool invertColors() const; // Night mode
void setInvertColors(bool aValue);
- bool sampleBookCopied() const;
- void setSampleBookCopied();
-
bool keepDisplayOn() const;
void setKeepDisplayOn(bool aValue);
+ bool bookPullDownMenu() const;
+ void setBookPullDownMenu(bool aValue);
+
+ bool sampleBookCopied() const;
+ void setSampleBookCopied();
+
Action volumeUpAction() const;
void setVolumeUpAction(int aValue);
@@ -144,6 +148,9 @@
Orientation orientation() const;
+public Q_SLOTS:
+ void setCurrentBookPath(QString aPath);
+
Q_SIGNALS:
void fontSizeChanged();
void nightModeBrightnessChanged();
@@ -155,6 +162,7 @@
void invertColorsChanged();
void sampleBookCopiedChanged();
void keepDisplayOnChanged();
+ void bookPullDownMenuChanged();
void volumeUpActionChanged();
void volumeDownActionChanged();
void currentBookChanged();
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksStorage.cpp
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2020 Jolla Ltd.
- * Copyright (C) 2015-2020 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -55,6 +55,7 @@
#include <libudev.h>
+#define TMP_STATE_DIR "tmp"
#define INTERNAL_STATE_DIR "internal"
#define REMOVABLE_STATE_DIR "removable"
@@ -68,7 +69,7 @@
public:
Private(QString aDevice, QString aMountPoint, QString aBooksDir,
- bool aInternal);
+ Type aType);
bool isRemoved() const;
bool equal(const Private& aData) const;
@@ -86,7 +87,7 @@
QString iMountPoint;
QDir iBooksDir;
QDir iConfigDir;
- bool iInternal;
+ Type iType;
bool iPresent;
};
@@ -94,35 +95,42 @@
QString aDevice,
QString aMountPoint,
QString aBooksDir,
- bool aInternal) :
+ Type aType) :
iRef(1),
iDevice(aDevice),
iMountPoint(aMountPoint),
iBooksDir(aBooksDir),
- iInternal(aInternal),
+ iType(aType),
iPresent(true)
{
QString cfgDir;
cfgDir = QString::fromStdString(ZLibrary::ApplicationWritableDirectory());
if (!cfgDir.endsWith('/')) cfgDir += '/';
- if (aInternal) {
+ QString subDir;
+ switch (aType) {
+ case InternalStorage:
cfgDir += INTERNAL_STATE_DIR;
- QString subDir(aDevice);
+ subDir = aDevice;
if (subDir.startsWith("/dev")) subDir.remove(0,4);
if (!subDir.startsWith('/')) cfgDir += '/';
cfgDir += subDir;
- } else {
+ break;
+ case RemovableStorage:
cfgDir += REMOVABLE_STATE_DIR "/";
- QString label = QDir(Private::mountPoint(aBooksDir)).dirName();
- if (label.isEmpty()) label = "sdcard";
- cfgDir += label;
+ subDir = QDir(Private::mountPoint(aBooksDir)).dirName();
+ if (subDir.isEmpty()) subDir = "sdcard";
+ cfgDir += subDir;
+ break;
+ case TmpStorage:
+ cfgDir += TMP_STATE_DIR "/";
+ break;
}
iConfigDir.setPath(cfgDir);
}
bool BooksStorage::Private::equal(const BooksStorage::Private& aData) const
{
- return iInternal == aData.iInternal &&
+ return iType == aData.iType &&
iPresent == aData.iPresent &&
iMountPoint == aData.iMountPoint &&
iDevice == aData.iDevice &&
@@ -182,8 +190,8 @@
}
BooksStorage::BooksStorage(QString aDevice, QString aMount, QString aBooksDir,
- bool aInternal) : QObject(NULL),
- iPrivate(new Private(aDevice, aMount, aBooksDir, aInternal)),
+ Type aType) : QObject(NULL),
+ iPrivate(new Private(aDevice, aMount, aBooksDir, aType)),
iPassThrough(false)
{
HDEBUG("config dir" << qPrintable(configDir().path()));
@@ -194,6 +202,11 @@
if (iPrivate && !iPrivate->iRef.deref()) delete iPrivate;
}
+BooksStorage BooksStorage::tmpStorage()
+{
+ return BooksStorage("tmpfs", "/tmp", "/", BooksStorage::TmpStorage);
+}
+
void BooksStorage::connectNotify(const QMetaMethod& aSignal)
{
if (iPrivate && !iPassThrough) {
@@ -223,7 +236,7 @@
bool BooksStorage::isInternal() const
{
- return iPrivate && iPrivate->iInternal;
+ return iPrivate && iPrivate->iType == InternalStorage;
}
bool BooksStorage::isPresent() const
@@ -383,7 +396,8 @@
QString path(entry.path);
if (!path.endsWith('/')) path += '/';
path += iSettings->removableRoot();
- BooksStorage bs(entry.dev, entry.path, path, false);
+ BooksStorage bs(entry.dev, entry.path, path,
+ BooksStorage::RemovableStorage);
HDEBUG("removable" << entry.dev << bs.booksDir().path());
iStorageList.append(bs);
} else {
@@ -394,7 +408,8 @@
mounts.close();
}
- iStorageList.insert(0, BooksStorage(homeDevice, homeMount, homeBooks, true));
+ iStorageList.insert(0, BooksStorage(homeDevice, homeMount, homeBooks,
+ BooksStorage::InternalStorage));
if (iUdev) {
iMonitor = udev_monitor_new_from_netlink(iUdev, "udev");
@@ -495,7 +510,8 @@
if (!path.endsWith('/')) path += '/';
path += iSettings->removableRoot();
HDEBUG("new removable device" << entry.dev << path);
- BooksStorage storage(entry.dev, entry.path, path, false);
+ BooksStorage storage(entry.dev, entry.path, path,
+ BooksStorage::RemovableStorage);
iStorageList.append(storage);
Q_EMIT iParent->storageAdded(storage);
newStorageFound = true;
@@ -585,7 +601,8 @@
if (!path.endsWith('/')) path += '/';
path += iSettings->removableRoot();
BooksStorage updated(storage.iPrivate->iDevice,
- storage.iPrivate->iMountPoint, path, false);
+ storage.iPrivate->iMountPoint, path,
+ BooksStorage::RemovableStorage);
if (!storage.equal(updated)) {
replaced.append(storage);
replaced.append(updated);
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/BooksStorage.h
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2019 Jolla Ltd.
- * Copyright (C) 2015-2019 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -48,6 +48,12 @@
Q_PROPERTY(bool internal READ isInternal CONSTANT)
Q_PROPERTY(bool valid READ isValid CONSTANT)
+ enum Type {
+ InternalStorage,
+ RemovableStorage,
+ TmpStorage
+ };
+
public:
BooksStorage();
BooksStorage(const BooksStorage& aStorage);
@@ -72,12 +78,14 @@
bool operator == (const BooksStorage& aStorage) const
{ return equal(aStorage); }
+ static BooksStorage tmpStorage();
+
Q_SIGNALS:
void removed();
private:
friend class BooksStorageManager;
- BooksStorage(QString, QString, QString, bool);
+ BooksStorage(QString, QString, QString, Type);
void connectNotify(const QMetaMethod& aSignal);
private:
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/ZLibrary.cpp
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2020 Jolla Ltd.
- * Copyright (C) 2015-2020 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -35,16 +35,12 @@
#include "BooksStorage.h"
#include "BooksPaintContext.h"
#include "BooksDialogManager.h"
-#include "BooksImageProvider.h"
#include "BooksSettings.h"
#include "HarbourDebug.h"
-#include "HarbourMediaPlugin.h"
-#include "HarbourPolicyPlugin.h"
#include "ZLibrary.h"
#include "ZLApplication.h"
-#include "ZLLanguageUtil.h"
#include "ZLLogger.h"
#include "filesystem/ZLQtFSManager.h"
@@ -59,8 +55,6 @@
#include <QGuiApplication>
#include <QStandardPaths>
-#include <QQuickView>
-#include <QQmlContext>
#include <QScreen>
#include <unistd.h>
@@ -232,33 +226,6 @@
void ZLibrary::run(ZLApplication* aApp)
{
- if (ZLLanguageUtil::isRTLLanguage(ZLibrary::Language())) {
- qApp->setLayoutDirection(Qt::RightToLeft);
- }
-
- QString qml(QString::fromStdString(BaseDirectory + BOOKS_QML_FILE));
- HDEBUG("qml file" << qPrintable(qml));
-
- QQuickView* view = SailfishApp::createView();
- QQmlContext* root = view->rootContext();
- QQmlEngine* engine = root->engine();
- QSharedPointer<BooksSettings> settings = BooksSettings::sharedInstance();
- HarbourPolicyPlugin::registerTypes(engine, BOOKS_QML_PLUGIN,
- BOOKS_QML_PLUGIN_V1, BOOKS_QML_PLUGIN_V2);
- HarbourMediaPlugin::registerTypes(engine, BOOKS_QML_PLUGIN,
- BOOKS_QML_PLUGIN_V1, BOOKS_QML_PLUGIN_V2);
- engine->addImageProvider(BooksImageProvider::PROVIDER_ID,
- new BooksImageProvider(root));
-
- root->setContextProperty("PointsPerInch", booksPPI);
- root->setContextProperty("MaximumHintCount", 1);
- root->setContextProperty("BooksSettingsMenu",
- QVariant::fromValue(BOOKS_SETTINGS_MENU));
- root->setContextProperty("Settings", settings.data());
-
- view->setTitle(qtTrId("harbour-books-app-name"));
- view->setSource(QUrl::fromLocalFile(qml));
- view->show();
HDEBUG("started");
qApp->exec();
HDEBUG("exiting...");
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/src/main.cpp
^
|
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2015-2020 Jolla Ltd.
- * Copyright (C) 2015-2020 Slava Monich <slava.monich@jolla.com>
+ * Copyright (C) 2015-2021 Jolla Ltd.
+ * Copyright (C) 2015-2021 Slava Monich <slava.monich@jolla.com>
*
* You may use this file under the terms of the BSD license as follows:
*
@@ -38,6 +38,7 @@
#include "BooksBookModel.h"
#include "BooksCoverModel.h"
#include "BooksConfig.h"
+#include "BooksImageProvider.h"
#include "BooksImportModel.h"
#include "BooksPathModel.h"
#include "BooksPageStack.h"
@@ -50,13 +51,18 @@
#include "HarbourDisplayBlanking.h"
#include "HarbourDebug.h"
+#include "HarbourMediaPlugin.h"
+#include "HarbourPolicyPlugin.h"
#include "HarbourTheme.h"
#include "ZLibrary.h"
+#include "ZLLanguageUtil.h"
#include <sailfishapp.h>
#include <QGuiApplication>
+#include <QQuickView>
+#include <QQmlContext>
// If the current task is stuck for too long after being canceled it's
// probably stuck forever. Let "too long" be 10 seconds.
@@ -68,6 +74,10 @@
# define TASK_QUEUE_TIMEOUT (10000)
#endif
+#ifdef OPENREPOS
+# include "BooksDBus.h"
+#endif
+
Q_DECL_EXPORT int main(int argc, char **argv)
{
QGuiApplication* app = SailfishApp::application(argc, argv);
@@ -106,6 +116,53 @@
BooksConfigManager configManager;
if (ZLibrary::init(argc, argv)) {
+ if (ZLLanguageUtil::isRTLLanguage(ZLibrary::Language())) {
+ qApp->setLayoutDirection(Qt::RightToLeft);
+ }
+
+ const QString qml(QString::fromStdString(ZLibrary::BaseDirectory +
+ BOOKS_QML_FILE));
+ HDEBUG("qml file" << qPrintable(qml));
+
+ QQuickView* view = SailfishApp::createView();
+ QQmlContext* root = view->rootContext();
+ QQmlEngine* engine = root->engine();
+ QSharedPointer<BooksSettings> settings = BooksSettings::sharedInstance();
+ HarbourPolicyPlugin::registerTypes(engine, BOOKS_QML_PLUGIN,
+ BOOKS_QML_PLUGIN_V1, BOOKS_QML_PLUGIN_V2);
+ HarbourMediaPlugin::registerTypes(engine, BOOKS_QML_PLUGIN,
+ BOOKS_QML_PLUGIN_V1, BOOKS_QML_PLUGIN_V2);
+ engine->addImageProvider(BooksImageProvider::PROVIDER_ID,
+ new BooksImageProvider(root));
+
+ root->setContextProperty("PointsPerInch", booksPPI);
+ root->setContextProperty("MaximumHintCount", 1);
+ root->setContextProperty("BooksSettingsMenu",
+ QVariant::fromValue(BOOKS_SETTINGS_MENU));
+ root->setContextProperty("Settings", settings.data());
+
+#ifdef BOOKS_DBUS_INTERFACE
+ BooksDBus* dbusHandler = BooksDBus::create(app);
+ if (dbusHandler) {
+ view->connect(dbusHandler, SIGNAL(activate()), SLOT(raise()));
+ settings->connect(dbusHandler, SIGNAL(openBook(QString)),
+ SLOT(setCurrentBookPath(QString)));
+ }
+#endif
+
+ if (argc > 1) {
+ const QString file(QString::fromLocal8Bit(argv[1]));
+ if (QFile::exists(file)) {
+ settings->setCurrentBookPath(file);
+ } else {
+ HWARN(qPrintable(file) << "doesn't exist");
+ }
+ }
+
+ view->setTitle(qtTrId("harbour-books-app-name"));
+ view->setSource(QUrl::fromLocalFile(qml));
+ view->show();
+
ZLibrary::run(NULL);
BooksTaskQueue::waitForDone(TASK_QUEUE_TIMEOUT);
ZLibrary::shutdown();
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-de.ts
^
|
@@ -277,13 +277,23 @@
<message id="harbour-books-settings-page-turn_pages_by_tap">
<source>Turn pages by tapping the screen</source>
<extracomment>Text switch label</extracomment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Blättern um, indem auf den Bildschirm tippen</translation>
</message>
<message id="harbour-books-settings-page-turn_pages_by_tap-description">
<source>Tapping near the left edge of the screen returns to the previous page, tapping near the right edge gets you to the next page.</source>
<extracomment>Text switch description</extracomment>
<translation type="unfinished"></translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Schiebemenü anzeigen, wenn das Buch geöffnet ist</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished">Ohne Schiebemenü muss das Buch durch Hochstreichen geschlossen werden.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-es.ts
^
|
@@ -284,6 +284,16 @@
<extracomment>Text switch description</extracomment>
<translation>Tocando cerca del borde izquierdo de la pantalla, se regresa a la página anterior; si se toca cerca del borde derecho, se pasa a la página siguiente.</translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Mostrar menú actualizable cuando el libro está abierto</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished">Sin menú actualizable, el libro debe cerrarse deslizándose hacia arriba.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-fi.ts
^
|
@@ -277,13 +277,23 @@
<message id="harbour-books-settings-page-turn_pages_by_tap">
<source>Turn pages by tapping the screen</source>
<extracomment>Text switch label</extracomment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Käännä sivuja napauttamalla näyttöä</translation>
</message>
<message id="harbour-books-settings-page-turn_pages_by_tap-description">
<source>Tapping near the left edge of the screen returns to the previous page, tapping near the right edge gets you to the next page.</source>
<extracomment>Text switch description</extracomment>
<translation type="unfinished"></translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Näytä vetovalikko kun kirja on auki</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished">Ilman vetovalikkoa kirja on suljettava pyyhkäisemällä sitä ylös.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-hu.ts
^
|
@@ -282,6 +282,16 @@
<extracomment>Text switch description</extracomment>
<translation>Ha a képernyő bal szélét megérinted, az előző oldalra, a jobb szélét megérintve pedig a következő oldalra kerülsz.</translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">A lehúzható menü megjelenítése, amikor a könyv nyitva van</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished">Lehúzható menü nélkül a könyvet felfelé húzással kell bezárni.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-nl.ts
^
|
@@ -277,13 +277,23 @@
<message id="harbour-books-settings-page-turn_pages_by_tap">
<source>Turn pages by tapping the screen</source>
<extracomment>Text switch label</extracomment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Pagina's omslaan door op het scherm te tikken</translation>
</message>
<message id="harbour-books-settings-page-turn_pages_by_tap-description">
<source>Tapping near the left edge of the screen returns to the previous page, tapping near the right edge gets you to the next page.</source>
<extracomment>Text switch description</extracomment>
<translation type="unfinished"></translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Toon uittrekmenu wanneer het boek is geopend</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished">Zonder uittrekmenu moet het boek worden gesloten door het omhoog te vegen.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-pl.ts
^
|
@@ -286,6 +286,16 @@
<extracomment>Text switch description</extracomment>
<translation>Dotknięcie blisko lewej krawędzi ekranu powoduje powrót do wcześniejszej strony, dotknięcie prawej zmienia stronę na nastepną. </translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Pokaż menu wysuwane, gdy książka jest otwarta</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished">Aby zamknąć książkę w przypadku braku menu wysuwane, należy ją przesunąć w górę o ponad pół ekranu.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-pt.ts
^
|
@@ -277,13 +277,23 @@
<message id="harbour-books-settings-page-turn_pages_by_tap">
<source>Turn pages by tapping the screen</source>
<extracomment>Text switch label</extracomment>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Vire as páginas tocando na tela</translation>
</message>
<message id="harbour-books-settings-page-turn_pages_by_tap-description">
<source>Tapping near the left edge of the screen returns to the previous page, tapping near the right edge gets you to the next page.</source>
<extracomment>Text switch description</extracomment>
<translation type="unfinished"></translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Mostrar o menu deslizante quando o livro estiver aberto</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished">Sem o menu deslizante, o livro deve ser fechado deslizando-o para cima.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-ru.ts
^
|
@@ -291,6 +291,16 @@
<extracomment>Section header for memory card settings</extracomment>
<translation>Карта памяти</translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation>Показывать вытягиваемое меню при открытой книге</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation>Чтобы закрыть книгу в отсутствие вытягиваемого меню, её надо будет сдвинуть вверх больше, чем на пол-экрана.</translation>
+ </message>
<message id="harbour-books-settings-page-removable_root-label">
<source>Books folder</source>
<extracomment>Settings field label</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-sv.ts
^
|
@@ -284,6 +284,16 @@
<extracomment>Text switch description</extracomment>
<translation>Tryck nära vänster skärmkant, för att återvända till föregående sida. Tryck nära höger skärmkant, för att komma till nästa sida.</translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Visa rullgardinsmeny när boken är öppen</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished">Utan rullgardinsmeny måste boken stängas genom att svepa uppåt.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books-zh_CN.ts
^
|
@@ -283,6 +283,16 @@
<extracomment>Text switch description</extracomment>
<translation>点击屏幕左侧边缘即可返回上一页,点击右边缘附近即可翻到下一页。</translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|
[-]
[+]
|
Changed |
_service:tar_git:openrepos-books-1.0.46.tar.gz/app/translations/harbour-books.ts
^
|
@@ -284,6 +284,16 @@
<extracomment>Text switch description</extracomment>
<translation>Tapping near the left edge of the screen returns to the previous page, tapping near the right edge gets you to the next page.</translation>
</message>
+ <message id="harbour-books-settings-page-book_pulldown_menu">
+ <source>Show pulley menu when the book is open</source>
+ <extracomment>Text switch label</extracomment>
+ <translation>Show pulley menu when the book is open</translation>
+ </message>
+ <message id="harbour-books-settings-page-book_pulldown_menu-description">
+ <source>Without the pulley menu, the book has to be closed by swiping it up.</source>
+ <extracomment>Text switch description</extracomment>
+ <translation>Without the pulley menu, the book has to be closed by swiping it up.</translation>
+ </message>
<message id="harbour-books-settings-page-removable-section_header">
<source>Memory card</source>
<extracomment>Section header for memory card settings</extracomment>
|