1 #include "help_about_dialog.h"
2 
3 #include <QVBoxLayout>
4 #include <QTabWidget>
5 #include <QTextBrowser>
6 #include <QApplication>
7 #include <QFile>
8 #include <QTextStream>
9 #include <QTextCodec>
10 #include <QDesktopWidget>
11 
12 #include "yacreader_global.h"
13 
HelpAboutDialog(QWidget * parent)14 HelpAboutDialog::HelpAboutDialog(QWidget *parent)
15     : QDialog(parent)
16 {
17     QVBoxLayout *layout = new QVBoxLayout();
18 
19     tabWidget = new QTabWidget();
20 
21     tabWidget->addTab(aboutText = new QTextBrowser(), tr("About"));
22     aboutText->setOpenExternalLinks(true);
23     //aboutText->setFont(QFont("Comic Sans MS", 10)); //purisa
24     tabWidget->addTab(helpText = new QTextBrowser(), tr("Help"));
25     helpText->setOpenExternalLinks(true);
26     //helpText->setFont(QFont("Comic Sans MS", 10));
27     //helpText->setDisabled(true);
28     //tabWidget->addTab(,"About Qt");
29 
30     layout->addWidget(tabWidget);
31     layout->setContentsMargins(1, 3, 1, 1);
32 
33     setLayout(layout);
34     resize(500, QApplication::desktop()->availableGeometry().height() * 0.83);
35 }
36 
~HelpAboutDialog()37 HelpAboutDialog::~HelpAboutDialog()
38 {
39     delete aboutText;
40     delete helpText;
41     delete tabWidget;
42 }
43 
HelpAboutDialog(const QString & pathAbout,const QString & pathHelp,QWidget * parent)44 HelpAboutDialog::HelpAboutDialog(const QString &pathAbout, const QString &pathHelp, QWidget *parent)
45     : QDialog(parent)
46 {
47     loadAboutInformation(pathAbout);
48     loadHelp(pathHelp);
49 }
50 
loadAboutInformation(const QString & path)51 void HelpAboutDialog::loadAboutInformation(const QString &path)
52 {
53     QString buildNumber = "0";
54 
55 #ifdef BUILD_NUMBER
56     buildNumber = BUILD_NUMBER;
57 #endif
58 
59     aboutText->setHtml(fileToString(path).arg(VERSION).arg(buildNumber));
60     aboutText->moveCursor(QTextCursor::Start);
61 }
62 
loadHelp(const QString & path)63 void HelpAboutDialog::loadHelp(const QString &path)
64 {
65     helpText->setHtml(fileToString(path));
66     helpText->moveCursor(QTextCursor::Start);
67 }
68 
fileToString(const QString & path)69 QString HelpAboutDialog::fileToString(const QString &path)
70 {
71     QFile f(path);
72     f.open(QIODevice::ReadOnly);
73     QTextStream txtS(&f);
74 
75     txtS.setCodec(QTextCodec::codecForName("UTF-8"));
76 
77     QString content = txtS.readAll();
78     f.close();
79 
80     return content;
81 }
82