Added missing license headers
[qcpufreq] / src / helpwindow.cpp
1 /*
2  * QCPUFreq - a simple cpufreq GUI
3  * Copyright (C) 2010 Daniel Klaffenbach <danielklaffenbach@gmail.com>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18
19 #include "helpwindow.h"
20 #include "ui_helpwindow.h"
21
22 #include <QFile>
23 #include <QLocale>
24 #include <QTextStream>
25 #include <QMessageBox>
26 #include <QPalette>
27 #include <QBrush>
28 #include <QColor>
29
30 HelpWindow::HelpWindow(QWidget *parent) :
31     QWidget(parent),
32     ui(new Ui::HelpWindow)
33 {
34     //this is a stacked window on Maemo 5
35     #if defined(Q_WS_MAEMO_5)
36         //setAttribute(Qt::WA_Maemo5StackedWindow);
37     #endif
38     ui->setupUi(this);
39
40     setHelpText();
41
42     //format color of help text according to system color scheme
43     QPalette palette;
44     QBrush brush = palette.windowText();
45     QColor color = brush.color();
46     ui->textBrowser->setStyleSheet( "QTextEdit {background: transparent; color: " + color.name() + ";}" );
47 }
48
49
50 HelpWindow::~HelpWindow()
51 {
52     delete ui;
53 }
54
55
56 /**
57   * Assigns the help text to the QTextEdit
58   */
59 void HelpWindow::setHelpText()
60 {
61     //get the current locale name for lacalized help messages
62     QString locale = QLocale::system().name();
63     QStringList tmp = locale.split("_");
64     locale = tmp.first();
65
66     //open help text
67     QFile help( ":/txt/help_" + locale );
68
69     //open the file
70     if ( !help.exists() || !help.open( QIODevice::ReadOnly ) ) {
71         //try to open the file in english language instead
72         help.setFileName(":/txt/help_en");
73         if ( !help.exists() || !help.open( QIODevice::ReadOnly ) ) {
74             QMessageBox::critical(this, tr("QCPUFreq"), tr("Cannot open help file!"));
75             return;
76         }
77     }
78
79     //read the file
80     QTextStream in( &help );
81     QString txt;
82     do {
83         txt += in.readLine();
84         txt += "\n";
85     } while ( !in.atEnd() );
86
87     ui->textBrowser->setText( txt );
88 }