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