update view links

This commit is contained in:
Andrei Yankovich 2020-10-18 23:35:59 +03:00
parent a787fb563e
commit bd73a45566
11 changed files with 304 additions and 60 deletions

View File

@ -17,6 +17,22 @@ QString InfoBlock::bakcBroundPicture() const {
return m_bakcBroundPicture;
}
QString InfoBlock::linkName(int index) const {
return m_links.value(index).name;
}
QString InfoBlock::linkAddress(int index) const {
return m_links.value(index).link;
}
int InfoBlock::linksCount() const {
return m_links.size();
}
void InfoBlock::setLinks(const QList<Link> &links) {
m_links = links;
}
void InfoBlock::setTitle(QString title) {
if (m_title == title)
return;
@ -33,7 +49,7 @@ void InfoBlock::setSourceText(QString sourceText) {
emit sourceTextChanged(m_sourceText);
}
void InfoBlock::setBakcBroundPicture(QString bakcBroundPicture) {
void InfoBlock::setBakcgroundPicture(QString bakcBroundPicture) {
if (m_bakcBroundPicture == bakcBroundPicture)
return;
@ -45,4 +61,9 @@ uint qHash(const InfoBlock &obj) {
return qHash(obj.title() + obj.sourceText() + obj.bakcBroundPicture());
}
Link::Link(const QString &name, const QString &link) {
this->name = name;
this->link = link;
}
}

View File

@ -2,8 +2,19 @@
#define INFOBLOCK_H
#include <QObject>
#include <functional>
namespace BaseFront {
/**
* @brief The Link struct Conteins 2 members it is name of link and hyperlink of the target address
*/
struct Link {
Link(const QString& name = "", const QString& link = "");
QString name = "";
QString link = "";
};
/**
* @brief The InfoBlock class - this class contains information for viewsolutions comonents
*/
@ -12,7 +23,8 @@ class InfoBlock : public QObject
Q_OBJECT
Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged)
Q_PROPERTY(QString sourceText READ sourceText WRITE setSourceText NOTIFY sourceTextChanged)
Q_PROPERTY(QString bakcBroundPicture READ bakcBroundPicture WRITE setBakcBroundPicture NOTIFY bakcBroundPictureChanged)
Q_PROPERTY(QString bakcBroundPicture READ bakcBroundPicture WRITE setBakcgroundPicture NOTIFY bakcBroundPictureChanged)
Q_PROPERTY(int linksCount READ linksCount NOTIFY linksCountChanged)
public:
explicit InfoBlock(QObject *parent = nullptr);
@ -21,10 +33,17 @@ public:
QString sourceText() const;
QString bakcBroundPicture() const;
Q_INVOKABLE QString linkName(int index) const;
Q_INVOKABLE QString linkAddress(int index) const;
int linksCount() const;
void setLinks(const QList<Link>& links);
public slots:
void setTitle(QString title);
void setSourceText(QString sourceText);
void setBakcBroundPicture(QString bakcBroundPicture);
void setBakcgroundPicture(QString bakcBroundPicture);
signals:
@ -32,10 +51,13 @@ signals:
void sourceTextChanged(QString sourceText);
void bakcBroundPictureChanged(QString bakcBroundPicture);
void linksCountChanged(int linksCount);
private:
QString m_title;
QString m_sourceText;
QString m_bakcBroundPicture;
QList<Link> m_links;
};
uint qHash(const InfoBlock& obj);

@ -1 +1 @@
Subproject commit 78ba7867221accc3f45478d9c2431b0b473d2272
Subproject commit 785222f2caa5f7cb6e1e696ee00351529f7abe25

View File

@ -7,12 +7,17 @@ AbstractPage::AbstractPage()
}
QList<BaseFront::Link> AbstractPage::links() const {
return {};
}
QObject * AbstractPage::makeBlok() const {
auto block = new BaseFront::InfoBlock();
block->setTitle(title());
block->setSourceText(data());
block->setBakcBroundPicture(backgroud());
block->setBakcgroundPicture(backgroud());
block->setLinks(links());
return block;
}

View File

@ -6,6 +6,10 @@
#include <QObject>
#include <QString>
namespace BaseFront {
class Link;
}
/**
* @brief The AbstractPage class - This is interface of all text pages on cpp.
*/
@ -34,6 +38,12 @@ public:
*/
virtual QString backgroud() const = 0;
/**
* @brief links This method should be return the list of links for open in web.
* @return list of links.
* The Default implementation return empry list.
*/
virtual QList<BaseFront::Link> links() const;
/**
* @brief makeBlok This method build infoblock from available data.

View File

@ -1,28 +1,36 @@
#include "cqtdeployerpage.h"
#include <infoblock.h>
CQtDeployerAbout::CQtDeployerAbout()
{
}
QString CQtDeployerAbout::data() const {
auto sourceText = tr("The CQtDeployer is application for extract all depends library of executable and create"
" launch script for your application."
"<br><br><br>"
" Key differences of this program:"
"<br><br>"
"* Performance: this program deploys the application several times faster (up to 10 seconds)"
"<br><br>"
"* Flexibility: this application's got flags that help you to configure the deployment"
" for your or your project's needs"
"<br><br>"
"* Crossdeploy: this application's support windows and linux distrebutives,"
" This means that you can use it not only to deploy a project for your platform,"
" but also to deploy a project on Linux for Windows and vice versa."
"<br><br>"
"* Fast create installers : Upon completion of the deployment,"
" you will receive a self-contained installer of your distribution."
);
auto sourceText = tr(
"\n## What is CQtDeployer \n"
"The CQtDeployer is application for extract all depends library of executable and create launch script for your application.\n"
"\n"
"Key differences of this program:\n"
"* Performance: this program deploys the application several times faster (up to 10 seconds)\n"
"* Flexibility: this application's got flags that help you to configure the deployment for your or your project's needs\n"
"* Crossdeploy: this application's support windows and linux distrebutives,"
" This means that you can use it not only to deploy a project for your platform,"
" but also to deploy a project on Linux for Windows and vice versa.\n"
"* Fast create installers : Upon completion of the deployment, you will receive a self-contained installer of your distribution.\n"
"\n"
"## Supported platforms:\n"
"* Linux classic\n"
"* Linux snap \n"
"* Windows \n"
"\n"
"## Support processors architectures:\n"
"* x86 \n"
"* x86-64 \n"
"* ARM \n"
"* ARM64 \n"
);
return sourceText;
}
@ -35,6 +43,10 @@ QString CQtDeployerAbout::backgroud() const {
return resourcesPath() + "/cqtdeployer.png";
}
QList<BaseFront::Link> CQtDeployerAbout::links() const {
return {{tr("get more information"), "https://github.com/QuasarApp/CQtDeployer/blob/master/README.md"}};
}
CQtDeployerExamples::CQtDeployerExamples()
{
@ -42,19 +54,18 @@ CQtDeployerExamples::CQtDeployerExamples()
}
QString CQtDeployerExamples::data() const {
auto sourceText = tr("The utility transfers the path to the executable files of the deployed programs using the option -bin. The transferred programs are analyzed and get a list of dependencies. If the programs being deployed depend on Qt, then a list of modules is formed based on the dependencies. Qt plugins are deployed depending on the qt modules used. Then qml plugins are copied, if necessary, and standard qt translations. After completing all the steps described, scripts are formed to launch the application. <br><br><br>"
"For example: <br><br>"
"<h4>Linux</h4>:<br>"
"cqtdeployer -bin myApp -qmake /media/D/Qt/5.15.2/gcc_64/bin/qmake -qmlDir .<br>"
"<h4>Windows</h4>:<br>"
"cqtdeployer -bin myApp.exe -qmake /media/D/Qt/5.12.5/gcc_64/bin/qmake.exe -qmlDir . <br>"
"Where:<br>"
"<br>• cqtdeployer is a utility call (befor version 1.4 windows version used %cqtdeployer% command)."
"<br>• - bin - the option for transferring the paths of the application executable files."
"<br>• myApp.exe and myApp - the path to the application executable file itself"
"<br>• - qmake - the option for transferring qmake paths for qt deployment."
"<br>• - qmlDir - the option for transferring paths to qml files of the application."
"<br><br> For more exampless you can see the our wiki <a href='https://github.com/QuasarApp/CQtDeployer/wiki/quickguide'>page</a>"
auto sourceText = tr("The utility transfers the path to the executable files of the deployed programs using the option -bin. The transferred programs are analyzed and get a list of dependencies. If the programs being deployed depend on Qt, then a list of modules is formed based on the dependencies. Qt plugins are deployed depending on the qt modules used. Then qml plugins are copied, if necessary, and standard qt translations. After completing all the steps described, scripts are formed to launch the application.\n"
" ### For example: \n"
" #### Linux \n"
" ```cqtdeployer -bin myApp -qmake /media/D/Qt/5.15.2/gcc_64/bin/qmake -qmlDir . ```\n"
" #### Windows\n"
" ``` cqtdeployer -bin myApp.exe -qmake /media/D/Qt/5.12.5/gcc_64/bin/qmake.exe -qmlDir . ```\n"
" #### Where:\n"
" * cqtdeployer is a utility call (befor version 1.4 windows version used %cqtdeployer% command).\n"
" * -bin - the option for transferring the paths of the application executable files.\n"
" * myApp.exe and myApp - the path to the application executable file itself\n"
" * -qmake - the option for transferring qmake paths for qt deployment.\n"
" * -qmlDir - the option for transferring paths to qml files of the application.\n"
);
return sourceText;
}
@ -69,15 +80,18 @@ QString CQtDeployerExamples::backgroud() const {
}
QList<BaseFront::Link> CQtDeployerExamples::links() const {
return {{tr("more exampless"), "https://github.com/QuasarApp/CQtDeployer/wiki/quickguide"}};
}
CQtDeployerDocs::CQtDeployerDocs()
{
}
QString CQtDeployerDocs::data() const {
auto sourceText = tr("The source code for CQtDeployer components is provided under Gplv3 licenses and is freely available on GitHub. <br><br>"
"* Full description and documentation: available <a href='https://github.com/QuasarApp/CQtDeployer/wiki'>here</a>"
"Download <a href='https://github.com/QuasarApp/CQtDeployer/releases'>Page</a>");
auto sourceText = tr("The source code for "
"CQtDeployer components is provided under Gplv3 licenses and is freely available on GitHub. \n");
return sourceText;
}
@ -90,3 +104,9 @@ QString CQtDeployerDocs::title() const {
QString CQtDeployerDocs::backgroud() const {
return resourcesPath() + "/Iconbronzecorp.png";
}
QList<BaseFront::Link> CQtDeployerDocs::links() const {
return {{tr("Full description and documentation"), "https://github.com/QuasarApp/CQtDeployer/wiki"},
{tr("Download"), "https://github.com/QuasarApp/CQtDeployer/releases"}};
}

View File

@ -10,9 +10,11 @@ public:
// AbstractPage interface
public:
QString data() const;
QString title() const;
QString backgroud() const;
QString data() const override;
QString title() const override;
QString backgroud() const override;
QList<BaseFront::Link> links() const override;
};
@ -23,9 +25,11 @@ public:
// AbstractPage interface
public:
QString data() const;
QString title() const;
QString backgroud() const;
QString data() const override;
QString title() const override;
QString backgroud() const override;
QList<BaseFront::Link> links() const override;
};
@ -36,9 +40,11 @@ public:
// AbstractPage interface
public:
QString data() const;
QString title() const;
QString backgroud() const;
QString data() const override;
QString title() const override;
QString backgroud() const override;
QList<BaseFront::Link> links() const override;
};

104
Site/src/View/InfoBlock.qml Normal file
View File

@ -0,0 +1,104 @@
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Controls.Material 2.15
import QtQuick.Controls.Universal 2.15
import QtQuick.Layouts 1.14
import QtQuick.Window 2.15
import QtGraphicalEffects 1.15
import ViewSolutionsModule 1.0
ViewPortGradientPage {
id: root
property int linksCount: 0
property var model: null
viewPortDelegatH: header.paintedHeight + header.anchors.bottomMargin + header.anchors.topMargin + sourceText.paintedHeight + sourceText.anchors.bottomMargin + sourceText.anchors.topMargin + (linksCount + 1) * (sourceTextPixelSize + 25 + textLayout.spacing)
content:
Item {
id: privatePage
clip: true
TextEdit {
id: header
font.bold: true
font.pixelSize: headerTextPixelSize
text: title;
color: fontColor
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WordWrap
clip: true
height: paintedHeight
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
anchors.margins: textMargins
selectByMouse: true
readOnly: true
layer.effect: DropShadow {
verticalOffset: 0
color: "#80000000"
radius: 1
samples: 3
}
}
ColumnLayout {
id : textLayout
anchors.bottom: parent.bottom
anchors.top: header.bottom
anchors.left: parent.left
anchors.horizontalCenter: parent.Center
anchors.margins: textMargins
width: parent.width / 2
TextEdit {
id: sourceText
font.bold: false
font.pixelSize: sourceTextPixelSize
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
text: root.text
color: fontColor
readOnly: true
selectByMouse: true
textFormat: TextEdit.MarkdownText
wrapMode: Text.WordWrap
Layout.fillWidth: true
Layout.fillHeight: true
layer.enabled: true
layer.effect: DropShadow {
verticalOffset: 0
color: "#80000000"
radius: 1
samples: 3
}
}
Repeater {
model: linksCount
Button {
text: root.model.linkName(index)
onClicked: {
Qt.openUrlExternally(root.model.linkAddress(index));
}
font.pixelSize: sourceTextPixelSize
}
}
}
}
}

View File

@ -16,7 +16,7 @@ ListView {
delegate: Component {
ViewPortGradientPage {
InfoBlock {
property var data: modelData
source: (data)? data.bakcBroundPicture: ""
title: (data)? data.title: ""
@ -28,6 +28,8 @@ ListView {
width: viewPort.width
viewground: viewgroundItem
listView: viewPort
linksCount: (data)? data.linksCount: 0
model: data
}
}

View File

@ -5,6 +5,7 @@
<file>View/ListViewer.qml</file>
<file>View/Languages.qml</file>
<file>View/SideBar.qml</file>
<file>View/InfoBlock.qml</file>
</qresource>
<qresource prefix="/fonts">
<file>fonts/Roboto-Regular.ttf</file>

View File

@ -12,41 +12,94 @@
<context>
<name>CQtDeployerAbout</name>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="9"/>
<source>The CQtDeployer is application for extract all depends library of executable and create launch script for your application.&lt;br&gt;&lt;br&gt;&lt;br&gt; Key differences of this program:&lt;br&gt;&lt;br&gt;* Performance: this program deploys the application several times faster (up to 10 seconds)&lt;br&gt;&lt;br&gt;* Flexibility: this application&apos;s got flags that help you to configure the deployment for your or your project&apos;s needs&lt;br&gt;&lt;br&gt;* Crossdeploy: this application&apos;s support windows and linux distrebutives, This means that you can use it not only to deploy a project for your platform, but also to deploy a project on Linux for Windows and vice versa.&lt;br&gt;&lt;br&gt;* Fast create installers : Upon completion of the deployment, you will receive a self-contained installer of your distribution.</source>
<location filename="../Models/cqtdeployerpage.cpp" line="11"/>
<source>
## What is CQtDeployer
The CQtDeployer is application for extract all depends library of executable and create launch script for your application.
Key differences of this program:
* Performance: this program deploys the application several times faster (up to 10 seconds)
* Flexibility: this application&apos;s got flags that help you to configure the deployment for your or your project&apos;s needs
* Crossdeploy: this application&apos;s support windows and linux distrebutives, This means that you can use it not only to deploy a project for your platform, but also to deploy a project on Linux for Windows and vice versa.
* Fast create installers : Upon completion of the deployment, you will receive a self-contained installer of your distribution.
## Supported platforms:
* Linux classic
* Linux snap
* Windows
## Support processors architectures:
* x86
* x86-64
* ARM
* ARM64
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="31"/>
<location filename="../Models/cqtdeployerpage.cpp" line="39"/>
<source>Deploy any С/С++ application is easy with CQTDeployer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="47"/>
<source>get more information</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CQtDeployerDocs</name>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="78"/>
<source>The source code for CQtDeployer components is provided under Gplv3 licenses and is freely available on GitHub. &lt;br&gt;&lt;br&gt;* Full description and documentation: available &lt;a href=&apos;https://github.com/QuasarApp/CQtDeployer/wiki&apos;&gt;here&lt;/a&gt;Download &lt;a href=&apos;https://github.com/QuasarApp/CQtDeployer/releases&apos;&gt;Page&lt;/a&gt;</source>
<location filename="../Models/cqtdeployerpage.cpp" line="93"/>
<source>The source code for CQtDeployer components is provided under Gplv3 licenses and is freely available on GitHub.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="86"/>
<location filename="../Models/cqtdeployerpage.cpp" line="100"/>
<source>More Inforamtions About CQtDeployer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="109"/>
<source>Full description and documentation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="110"/>
<source>Download</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CQtDeployerExamples</name>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="45"/>
<source>The utility transfers the path to the executable files of the deployed programs using the option -bin. The transferred programs are analyzed and get a list of dependencies. If the programs being deployed depend on Qt, then a list of modules is formed based on the dependencies. Qt plugins are deployed depending on the qt modules used. Then qml plugins are copied, if necessary, and standard qt translations. After completing all the steps described, scripts are formed to launch the application. &lt;br&gt;&lt;br&gt;&lt;br&gt;For example: &lt;br&gt;&lt;br&gt;&lt;h4&gt;Linux&lt;/h4&gt;:&lt;br&gt;cqtdeployer -bin myApp -qmake /media/D/Qt/5.15.2/gcc_64/bin/qmake -qmlDir .&lt;br&gt;&lt;h4&gt;Windows&lt;/h4&gt;:&lt;br&gt;cqtdeployer -bin myApp.exe -qmake /media/D/Qt/5.12.5/gcc_64/bin/qmake.exe -qmlDir . &lt;br&gt;Where:&lt;br&gt;&lt;br&gt; cqtdeployer is a utility call (befor version 1.4 windows version used %cqtdeployer% command).&lt;br&gt; - bin - the option for transferring the paths of the application executable files.&lt;br&gt; myApp.exe and myApp - the path to the application executable file itself&lt;br&gt; - qmake - the option for transferring qmake paths for qt deployment.&lt;br&gt; - qmlDir - the option for transferring paths to qml files of the application.&lt;br&gt;&lt;br&gt; For more exampless you can see the our wiki &lt;a href=&apos;https://github.com/QuasarApp/CQtDeployer/wiki/quickguide&apos;&gt;page&lt;/a&gt;</source>
<location filename="../Models/cqtdeployerpage.cpp" line="57"/>
<source>The utility transfers the path to the executable files of the deployed programs using the option -bin. The transferred programs are analyzed and get a list of dependencies. If the programs being deployed depend on Qt, then a list of modules is formed based on the dependencies. Qt plugins are deployed depending on the qt modules used. Then qml plugins are copied, if necessary, and standard qt translations. After completing all the steps described, scripts are formed to launch the application.
### For example:
#### Linux
```cqtdeployer -bin myApp -qmake /media/D/Qt/5.15.2/gcc_64/bin/qmake -qmlDir . ```
#### Windows
``` cqtdeployer -bin myApp.exe -qmake /media/D/Qt/5.12.5/gcc_64/bin/qmake.exe -qmlDir . ```
#### Where:
* cqtdeployer is a utility call (befor version 1.4 windows version used %cqtdeployer% command).
* -bin - the option for transferring the paths of the application executable files.
* myApp.exe and myApp - the path to the application executable file itself
* -qmake - the option for transferring qmake paths for qt deployment.
* -qmlDir - the option for transferring paths to qml files of the application.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="63"/>
<location filename="../Models/cqtdeployerpage.cpp" line="74"/>
<source>Get started</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Models/cqtdeployerpage.cpp" line="84"/>
<source>more exampless</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Header</name>
@ -88,7 +141,7 @@
<name>HeartAbout</name>
<message>
<location filename="../Models/heartpage.cpp" line="15"/>
<source>QuasarApp Heart - it is base backend for C++/Qt projects. This library support work with databases and work with lite network requests. &lt;br&gt;&lt;br&gt;&lt;h2&gt; Futures &lt;/h2&gt; &lt;br&gt; &lt;br&gt;&lt;br&gt; &lt;br&gt; * [YES]Support ssl sockets &lt;&lt;br&gt; * [YES] Support initialize database &lt;br&gt; * [YES] Support work in database &lt;br&gt; * [STILL NO] Support decentralized network mode &lt;br&gt; This library consists of two levels (AbstractNode level and DataBaseNode level).&lt;br&gt; &lt;br&gt; &lt;h3&gt; AbstractNode level (0) &lt;/h3&gt;&lt;br&gt; &lt;h4&gt; Description &lt;/h4&gt;&lt;br&gt;The AbstractNode level implement only base functions of create a new work threads and parsing packages.&lt;br&gt;For more information see QuasarApp Heart documentation, QH namespace.&lt;br&gt;&lt;br&gt; &lt;h3&gt; DataBaseNode level (1)&lt;/h3&gt;&lt;br&gt; &lt;h4&gt; Description&lt;h4&gt;The DataBaseNode level implement methods and packages for work with databases. This level using Qt classes for wrking with database, so for more information about suport databases see &lt;a href=&apos;https://doc.qt.io/qt-5/sql-driver.html&apos;&gt;Qt Documentation&lt;/a&gt;.</source>
<source>QuasarApp Heart - it is base backend for C++/Qt projects. This library support work with databases and work with lite network requests. &lt;br&gt;&lt;br&gt;&lt;h2&gt; Futures &lt;/h2&gt; &lt;br&gt; &lt;br&gt;&lt;br&gt; &lt;br&gt; * [YES]Support ssl sockets &lt;&lt;br&gt; * [YES] Support initialize database &lt;br&gt; * [YES] Support work in database &lt;br&gt; * [STILL NO] Support decentralized network mode &lt;br&gt; This library consists of two levels (AbstractNode level and DataBaseNode level).&lt;br&gt; &lt;br&gt; &lt;h3&gt; AbstractNode level (0) &lt;/h3&gt;&lt;br&gt; &lt;h4&gt; Description &lt;/h4&gt;&lt;br&gt;The AbstractNode level implement only base functions of create a new work threads and parsing packages.&lt;br&gt;For more information see QuasarApp Heart documentation, QH namespace.&lt;br&gt;&lt;br&gt; &lt;h3&gt; DataBaseNode level (1)&lt;/h3&gt;&lt;br&gt; &lt;h4&gt; Description&lt;/h4&gt;The DataBaseNode level implement methods and packages for work with databases. This level using Qt classes for wrking with database, so for more information about suport databases see &lt;a href=&apos;https://doc.qt.io/qt-5/sql-driver.html&apos;&gt;Qt Documentation&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -101,7 +154,7 @@
<name>HeartDocs</name>
<message>
<location filename="../Models/heartpage.cpp" line="79"/>
<source>&lt;br&gt;QuasarApp Heart - if you want get more information see the &lt;a href=&apos;docs/heart/html/index.html&apos;&gt;technical documentation&lt;/a&gt;.</source>
<source>&lt;br&gt;QuasarApp Heart - if you want get more information see the &lt;a href=&apos;docs/heart/html/index.html&apos;&gt;technical documentation&lt;/a&gt;. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -114,7 +167,7 @@
<name>HeartExamples</name>
<message>
<location filename="../Models/heartpage.cpp" line="56"/>
<source>&lt;br&gt;QuasarApp Heart - has very detailed examples of how the library works, as well as a complete description of all the functions in the official technical documentation. But if you want to get only a short example of how to use it, you can visit the official page on &lt;a href=&apos;https://github.com/QuasarApp/Heart&apos;&gt;github&lt;/a&gt;.</source>
<source>&lt;br&gt;QuasarApp Heart - has very detailed examples of how the library works, as well as a complete description of all the functions in the official technical documentation. &lt;br&gt;&lt;br&gt; But if you want to get only a short example of how to use it, you can visit the official page on &lt;a href=&apos;https://github.com/QuasarApp/Heart&apos;&gt;github&lt;/a&gt;.&lt;br&gt;&lt;br&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>