From 78372a0963e2bc6e17a7f41be009db01c97c0aff Mon Sep 17 00:00:00 2001 From: Slava Monich Date: Mon, 1 Apr 2019 03:31:55 +0300 Subject: [PATCH] [app] Create sample book on the first time run --- app/app.pro | 4 ++ app/data/samples/welcome.fb2.zip | Bin 0 -> 85851 bytes app/src/BooksSettings.cpp | 40 ++++++++++++++------ app/src/BooksSettings.h | 31 +++++++++------- app/src/BooksStorage.cpp | 40 ++++++++++++++------ app/src/BooksStorage.h | 23 ++++++------ app/src/ZLibrary.cpp | 62 +++++++++++++++++++++++++------ 7 files changed, 142 insertions(+), 58 deletions(-) create mode 100644 app/data/samples/welcome.fb2.zip diff --git a/app/app.pro b/app/app.pro index feae011..d960f1c 100644 --- a/app/app.pro +++ b/app/app.pro @@ -85,6 +85,10 @@ formats.files = data/formats/* formats.path = $$TARGET_DEFAULT_DATA_DIR/formats INSTALLS += formats +samples.files = data/samples/* +samples.path = $$TARGET_DEFAULT_DATA_DIR/samples +INSTALLS += samples + INCLUDEPATH += \ src \ $$HARBOUR_INCLUDE_DIR \ diff --git a/app/data/samples/welcome.fb2.zip b/app/data/samples/welcome.fb2.zip new file mode 100644 index 0000000000000000000000000000000000000000..fbb2d0ed834f099daa56c13632ffe806977c0200 GIT binary patch literal 85851 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

JGgqD}bHJHVIo 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�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 literal 0 HcmV?d00001 diff --git a/app/src/BooksSettings.cpp b/app/src/BooksSettings.cpp index d1cce85..4660570 100644 --- a/app/src/BooksSettings.cpp +++ b/app/src/BooksSettings.cpp @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015-2018 Jolla Ltd. - * Copyright (C) 2015-2018 Slava Monich + * Copyright (C) 2015-2019 Jolla Ltd. + * Copyright (C) 2015-2019 Slava Monich * * 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 @@ -47,6 +47,7 @@ #define KEY_PAGE_DETAILS "pageDetails" #define KEY_PAGE_DETAILS_FIXED "pageDetailsFixed" #define KEY_TURN_PAGE_BY_TAP "turnPageByTap" +#define KEY_SAMPLE_BOOK_COPIED "sampleBookCopied" #define KEY_CURRENT_BOOK "currentBook" #define KEY_CURRENT_FOLDER "currentFolder" #define KEY_REMOVABLE_ROOT "removableRoot" @@ -60,6 +61,7 @@ #define DEFAULT_PAGE_DETAILS 0 #define DEFAULT_PAGE_DETAILS_FIXED false #define DEFAULT_TURN_PAGE_BY_TAP false +#define DEFAULT_SAMPLE_BOOK_COPIED false #define DEFAULT_CURRENT_BOOK QString() #define DEFAULT_CURRENT_FOLDER QString() #define DEFAULT_REMOVABLE_ROOT "Books" @@ -240,6 +242,7 @@ public: MGConfItem* iPageDetailsFixedConf; MGConfItem* iTurnPageByTapConf; MGConfItem* iInvertColorsConf; + MGConfItem* iSampleBookCopiedConf; MGConfItem* iKeepDisplayOnConf; MGConfItem* iVolumeUpActionConf; MGConfItem* iVolumeDownActionConf; @@ -263,6 +266,7 @@ BooksSettings::Private::Private(BooksSettings* aParent) : iPageDetailsFixedConf(new MGConfItem(DCONF_PATH KEY_PAGE_DETAILS_FIXED, this)), iTurnPageByTapConf(new MGConfItem(DCONF_PATH KEY_TURN_PAGE_BY_TAP, this)), 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)), iVolumeUpActionConf(new MGConfItem(DCONF_PATH KEY_VOLUME_UP_ACTION, this)), iVolumeDownActionConf(new MGConfItem(DCONF_PATH KEY_VOLUME_DOWN_ACTION, this)), @@ -281,6 +285,7 @@ BooksSettings::Private::Private(BooksSettings* aParent) : connect(iTurnPageByTapConf, SIGNAL(valueChanged()), iParent, SIGNAL(turnPageByTapChanged())); connect(iInvertColorsConf, SIGNAL(valueChanged()), iParent, SIGNAL(invertColorsChanged())); connect(iInvertColorsConf, SIGNAL(valueChanged()), iParent, SIGNAL(pageBackgroundColorChanged())); + connect(iSampleBookCopiedConf, SIGNAL(valueChanged()), iParent, SIGNAL(sampleBookCopiedChanged())); connect(iKeepDisplayOnConf, SIGNAL(valueChanged()), iParent, SIGNAL(keepDisplayOnChanged())); connect(iVolumeUpActionConf, SIGNAL(valueChanged()), iParent, SIGNAL(volumeUpActionChanged())); connect(iVolumeDownActionConf, SIGNAL(valueChanged()), iParent, SIGNAL(volumeDownActionChanged())); @@ -586,6 +591,19 @@ BooksSettings::setInvertColors( iPrivate->iInvertColorsConf->set(aValue); } +bool +BooksSettings::sampleBookCopied() const +{ + return iPrivate->iSampleBookCopiedConf->value(DEFAULT_SAMPLE_BOOK_COPIED).toBool(); +} + +void +BooksSettings::setSampleBookCopied() +{ + HDEBUG(""); + iPrivate->iSampleBookCopiedConf->set(true); +} + bool BooksSettings::keepDisplayOn() const { diff --git a/app/src/BooksSettings.h b/app/src/BooksSettings.h index 36588f9..ff67c31 100644 --- a/app/src/BooksSettings.h +++ b/app/src/BooksSettings.h @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015-2018 Jolla Ltd. - * Copyright (C) 2015-2018 Slava Monich + * Copyright (C) 2015-2019 Jolla Ltd. + * Copyright (C) 2015-2019 Slava Monich * * 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 @@ -51,6 +51,7 @@ class BooksSettings : public QObject Q_PROPERTY(bool pageDetailsFixed READ pageDetailsFixed WRITE setPageDetailsFixed NOTIFY pageDetailsFixedChanged) Q_PROPERTY(bool turnPageByTap READ turnPageByTap WRITE setTurnPageByTap NOTIFY turnPageByTapChanged) 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(int volumeUpAction READ volumeUpAction WRITE setVolumeUpAction NOTIFY volumeUpActionChanged) Q_PROPERTY(int volumeDownAction READ volumeDownAction WRITE setVolumeDownAction NOTIFY volumeDownActionChanged) @@ -93,6 +94,8 @@ public: Q_INVOKABLE bool increaseFontSize(); Q_INVOKABLE bool decreaseFontSize(); + shared_ptr textStyle(int aFontSizeAdjust) const; + int fontSize() const; void setFontSize(int aValue); @@ -105,11 +108,12 @@ public: bool turnPageByTap() const; void setTurnPageByTap(bool aValue); - shared_ptr textStyle(int aFontSizeAdjust) const; - bool invertColors() const; void setInvertColors(bool aValue); + bool sampleBookCopied() const; + void setSampleBookCopied(); + bool keepDisplayOn() const; void setKeepDisplayOn(bool aValue); @@ -141,6 +145,7 @@ Q_SIGNALS: void pageDetailsFixedChanged(); void turnPageByTapChanged(); void invertColorsChanged(); + void sampleBookCopiedChanged(); void keepDisplayOnChanged(); void volumeUpActionChanged(); void volumeDownActionChanged(); diff --git a/app/src/BooksStorage.cpp b/app/src/BooksStorage.cpp index a89953a..805ad8f 100644 --- a/app/src/BooksStorage.cpp +++ b/app/src/BooksStorage.cpp @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015-2018 Jolla Ltd. - * Copyright (C) 2015-2018 Slava Monich + * Copyright (C) 2015-2019 Jolla Ltd. + * Copyright (C) 2015-2019 Slava Monich * * 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 @@ -297,6 +297,7 @@ public: Private(BooksStorageManager* aParent); ~Private(); + BooksStorage internalStorage() const; int findDevice(QString aDevice) const; int findPath(QString aPath, QString* aRelPath) const; bool scanMounts(); @@ -422,6 +423,18 @@ BooksStorageManager::Private::~Private() } } +BooksStorage BooksStorageManager::Private::internalStorage() const +{ + const int n = iStorageList.count(); + for (int i = 0; i < n; i++) { + BooksStorage storage(iStorageList.at(i)); + if (storage.isInternal()) { + return storage; + } + } + return BooksStorage(); +} + int BooksStorageManager::Private::findDevice(QString aDevice) const { const int n = iStorageList.count(); @@ -614,6 +627,11 @@ QList BooksStorageManager::storageList() const return iPrivate->iStorageList; } +BooksStorage BooksStorageManager::internalStorage() const +{ + return iPrivate->internalStorage(); +} + BooksStorage BooksStorageManager::storageForDevice(QString aDevice) const { int index = iPrivate->findDevice(aDevice); diff --git a/app/src/BooksStorage.h b/app/src/BooksStorage.h index 47af8be..f5d0170 100644 --- a/app/src/BooksStorage.h +++ b/app/src/BooksStorage.h @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015-2016 Jolla Ltd. - * Contact: Slava Monich + * Copyright (C) 2015-2019 Jolla Ltd. + * Copyright (C) 2015-2019 Slava Monich * * 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 @@ -97,6 +97,7 @@ public: int count() const; QList storageList() const; + BooksStorage internalStorage() const; BooksStorage storageForDevice(QString aDevice) const; BooksStorage storageForPath(QString aPath, QString* aRelPath = NULL) const; diff --git a/app/src/ZLibrary.cpp b/app/src/ZLibrary.cpp index 7c03558..1d9015a 100644 --- a/app/src/ZLibrary.cpp +++ b/app/src/ZLibrary.cpp @@ -1,6 +1,6 @@ /* - * Copyright (C) 2015-2018 Jolla Ltd. - * Contact: Slava Monich + * Copyright (C) 2015-2019 Jolla Ltd. + * Copyright (C) 2015-2019 Slava Monich * * 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 @@ -63,6 +63,7 @@ #include #include +#include #include #include @@ -188,7 +189,44 @@ bool ZLibrary::init(int& aArgc, char** &aArgv) // Doing it the other way around will result in two instances of // BooksStorageManager being created :) QSharedPointer settings = BooksSettings::sharedInstance(); - BooksStorageManager::instance(); + BooksStorageManager* storageManager = BooksStorageManager::instance(); + + // Copy sample book (no more than once) + if (!settings->sampleBookCopied()) { + BooksStorage internal = storageManager->internalStorage(); + if (internal.isValid()) { + QDir booksDir = internal.booksDir(); + if (!booksDir.exists()) { + HDEBUG("Creating" << qPrintable(booksDir.path())); + if (!booksDir.mkpath(".")) { + HWARN("Failed to create" << qPrintable(booksDir.path())); + } + } + // 2 files (. and ..) are always there + if (booksDir.count() > 2) { + // Don't copy sample book, something is already there + HDEBUG("Sample is not needed (" << booksDir.count() << " files)"); + settings->setSampleBookCopied(); + } else { + HDEBUG(qPrintable(booksDir.path()) << "is empty"); + const QString sampleBook("welcome.fb2.zip"); + const QString src(QString((ourZLibraryDirectory + "/samples/").c_str()) + sampleBook); + const QString dest(booksDir.path() + "/" + sampleBook); + QByteArray oldp(src.toLocal8Bit()); + QByteArray newp(dest.toLocal8Bit()); + int err = link(oldp.data(), newp.data()); + if (!err) { + HDEBUG("Linked" << newp << "->" << oldp); + settings->setSampleBookCopied(); + } else if (QFile::copy(src, dest)) { + HDEBUG("Copied" << oldp << "to" << newp); + settings->setSampleBookCopied(); + } else { + HWARN("Failed to copy" << oldp << "to" << newp); + } + } + } + } return true; }