Lomiri
Loading...
Searching...
No Matches
Changelog.cpp
1/*
2 * Copyright (C) 2018 The UBports project
3 * Written by: Marius Gripsgard <marius@ubports.com>
4 *
5 * This program is free software: you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 3, as published
7 * by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranties of
11 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
12 * PURPOSE. See the GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "Changelog.h"
19
20#include <QDir>
21#include <QFile>
22#include <QTextStream>
23
24Changelog::Changelog()
25 : QObject()
26{
27 readChangelog();
28 if(QFile::exists(changelogPath()))
29 m_fsWatcher.addPath(changelogPath());
30 connect(&m_fsWatcher, &QFileSystemWatcher::fileChanged, this, &Changelog::watcherFileChanged);
31}
32
33QString Changelog::changelogPath()
34{
35 return "/usr/share/ubports/changelogs/current";
36}
37
38QString Changelog::text() const
39{
40 return m_text;
41}
42
43void Changelog::readChangelog()
44{
45 if(!QFile::exists(changelogPath()))
46 return;
47 QFile f(changelogPath());
48 if (!f.open(QFile::ReadOnly | QFile::Text)) return;
49 QTextStream in(&f);
50 m_text = in.readAll();
51 Q_EMIT textChanged();
52}
53
54void Changelog::watcherFileChanged()
55{
56 readChangelog();
57 m_fsWatcher.removePath(changelogPath());
58}