-
Notifications
You must be signed in to change notification settings - Fork 345
/
multiplexsetting.cpp
91 lines (82 loc) · 2.9 KB
/
multiplexsetting.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/* -*- Mode: c++ -*-
* vim: set expandtab tabstop=4 shiftwidth=4:
*
* Original Project
* MythTV http://www.mythtv.org
*
* Copyright (c) 2004, 2005 John Pullan <john@pullan.org>
* Copyright (c) 2005 - 2007 Daniel Kristjansson
*
* Description:
* Collection of classes to provide channel scanning functionallity
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* Or, point your browser to http://www.gnu.org/copyleft/gpl.html
*
*/
#include "multiplexsetting.h"
#include "frequencies.h"
void MultiplexSetting::Load(void)
{
clearSelections();
if (!sourceid)
return;
MSqlQuery query(MSqlQuery::InitCon());
query.prepare(
"SELECT mplexid, networkid, transportid, "
" frequency, symbolrate, modulation "
"FROM dtv_multiplex "
"WHERE sourceid = :SOURCEID "
"ORDER by frequency, networkid, transportid");
query.bindValue(":SOURCEID", sourceid);
if (!query.exec() || !query.isActive() || query.size() <= 0)
return;
while (query.next())
{
QString DisplayText;
if (query.value(5).toString() == "8vsb")
{
QString ChannelNumber =
QString("Freq %1").arg(query.value(3).toInt());
struct CHANLIST* curList = chanlists[0].list;
int totalChannels = chanlists[0].count;
int findFrequency = (query.value(3).toInt() / 1000) - 1750;
for (int x = 0 ; x < totalChannels ; x++)
{
if ((curList[x].freq <= findFrequency + 200) &&
(curList[x].freq >= findFrequency - 200))
{
ChannelNumber = QString("%1").arg(curList[x].name);
}
}
//: %1 is the channel number
DisplayText = tr("ATSC Channel %1").arg(ChannelNumber);
}
else
{
DisplayText = QString("%1 Hz (%2) (%3) (%4)")
.arg(query.value(3).toString())
.arg(query.value(4).toString())
.arg(query.value(1).toInt())
.arg(query.value(2).toInt());
}
addSelection(DisplayText, query.value(0).toString());
}
}
void MultiplexSetting::SetSourceID(uint _sourceid)
{
sourceid = _sourceid;
Load();
}