mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-19 06:32:34 +02:00
2021-01-27 Fred Gleason <fredg@paravelsystems.com>
* Added 'RDEndpointListModel'. * Refactored the 'List Inputs'/'List Outputs dialogs in rdadmin(1) to use the model-based API. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
c2dc97289b
commit
5f4be64b52
@ -20937,3 +20937,7 @@
|
||||
2021-01-27 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added 'RDIconEngine::Input' and 'RDIconEngine::Output' icons
|
||||
to 'RDIconEngine'.
|
||||
2021-01-27 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added 'RDEndpointListModel'.
|
||||
* Refactored the 'List Inputs'/'List Outputs dialogs in rdadmin(1) to
|
||||
use the model-based API.
|
||||
|
@ -60,6 +60,7 @@ dist_librd_la_SOURCES = dbversion.h\
|
||||
export_textlog.cpp\
|
||||
rd.h\
|
||||
rd3cartdrag.cpp rd3cartdrag.h\
|
||||
rd3emptycart.cpp rd3emptycart.h\
|
||||
rdadd_cart.cpp rdadd_cart.h\
|
||||
rdadd_log.cpp rdadd_log.h\
|
||||
rdairplay_conf.cpp rdairplay_conf.h\
|
||||
@ -126,7 +127,7 @@ dist_librd_la_SOURCES = dbversion.h\
|
||||
rddummylookup.cpp rddummylookup.h\
|
||||
rdedit_audio.cpp rdedit_audio.h\
|
||||
rdedit_panel_name.cpp rdedit_panel_name.h\
|
||||
rd3emptycart.cpp rd3emptycart.h\
|
||||
rdendpointlistmodel.cpp rdendpointlistmodel.h\
|
||||
rdescape_string.cpp rdescape_string.h\
|
||||
rdevent.cpp rdevent.h\
|
||||
rdevent_line.cpp rdevent_line.h\
|
||||
@ -274,7 +275,8 @@ dist_librd_la_SOURCES = dbversion.h\
|
||||
rdxport_interface.h
|
||||
|
||||
|
||||
nodist_librd_la_SOURCES = moc_rdadd_cart.cpp\
|
||||
nodist_librd_la_SOURCES = moc_rd3emptycart.cpp\
|
||||
moc_rdadd_cart.cpp\
|
||||
moc_rdadd_log.cpp\
|
||||
moc_rdapplication.cpp\
|
||||
moc_rdaudioconvert.cpp\
|
||||
@ -313,7 +315,7 @@ nodist_librd_la_SOURCES = moc_rdadd_cart.cpp\
|
||||
moc_rddummylookup.cpp\
|
||||
moc_rdedit_audio.cpp\
|
||||
moc_rdedit_panel_name.cpp\
|
||||
moc_rd3emptycart.cpp\
|
||||
moc_rdendpointlistmodel.cpp\
|
||||
moc_rdevent_player.cpp\
|
||||
moc_rdexport_settings_dialog.cpp\
|
||||
moc_rdfeed.cpp\
|
||||
|
@ -39,6 +39,7 @@ SOURCES += export_technical.cpp
|
||||
SOURCES += export_textlog.cpp
|
||||
SOURCES += html_gpl2.cpp
|
||||
SOURCES += rd3cartdrag.cpp
|
||||
SOURCES += rd3emptycart.cpp
|
||||
SOURCES += rdadd_log.cpp
|
||||
SOURCES += rdadd_cart.cpp
|
||||
SOURCES += rdairplay_conf.cpp
|
||||
@ -93,7 +94,7 @@ SOURCES += rddropboxlistmodel.cpp
|
||||
SOURCES += rddummylookup.cpp
|
||||
SOURCES += rdedit_audio.cpp
|
||||
SOURCES += rdedit_panel_name.cpp
|
||||
SOURCES += rd3emptycart.cpp
|
||||
SOURCES += rdendpointlistmodel.cpp
|
||||
SOURCES += rdescape_string.cpp
|
||||
SOURCES += rdevent.cpp
|
||||
SOURCES += rdevent_line.cpp
|
||||
@ -203,6 +204,7 @@ HEADERS += schedcartlist.h
|
||||
HEADERS += schedruleslist.h
|
||||
HEADERS += rd.h
|
||||
HEADERS += rd3cartdrag.h
|
||||
HEADERS += rd3emptycart.h
|
||||
HEADERS += rdadd_cart.h
|
||||
HEADERS += rdadd_log.h
|
||||
HEADERS += rdairplay_conf.h
|
||||
@ -257,7 +259,7 @@ HEADERS += rddropboxlistmodel.h
|
||||
HEADERS += rddummylookup.h
|
||||
HEADERS += rdedit_audio.h
|
||||
HEADERS += rdedit_panel_name.h
|
||||
HEADERS += rd3emptycart.h
|
||||
HEADERS += rdendpointlistmodel.h
|
||||
HEADERS += rdescape_string.h
|
||||
HEADERS += rdevent.h
|
||||
HEADERS += rdevent_line.h
|
||||
|
@ -901,6 +901,26 @@
|
||||
<source>Administrator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -2080,6 +2100,41 @@ Opravdu chcete uložit?</translation>
|
||||
<translation>&Zrušit</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEndpointListModel</name>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDExceptionDialog</name>
|
||||
<message>
|
||||
|
@ -897,6 +897,26 @@
|
||||
<source>Administrator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -2057,6 +2077,41 @@ Are you sure you want to save?</source>
|
||||
<translation>Abbre&chen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEndpointListModel</name>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDExceptionDialog</name>
|
||||
<message>
|
||||
|
@ -897,6 +897,26 @@
|
||||
<source>Administrator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -2052,6 +2072,41 @@ Are you sure you want to save?</source>
|
||||
<translation>&Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEndpointListModel</name>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDExceptionDialog</name>
|
||||
<message>
|
||||
|
@ -867,6 +867,26 @@
|
||||
<source>Administrator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -1784,6 +1804,41 @@ Are you sure you want to save?</source>
|
||||
<translation>&Annuler</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEndpointListModel</name>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDExportSettingsDialog</name>
|
||||
<message>
|
||||
|
@ -897,6 +897,26 @@
|
||||
<source>Administrator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -2038,6 +2058,41 @@ Are you sure you want to save?</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEndpointListModel</name>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDExceptionDialog</name>
|
||||
<message>
|
||||
|
@ -897,6 +897,26 @@
|
||||
<source>Administrator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -2038,6 +2058,41 @@ Are you sure you want to save?</source>
|
||||
<translation type="unfinished">&Avbryt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEndpointListModel</name>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDExceptionDialog</name>
|
||||
<message>
|
||||
|
@ -897,6 +897,26 @@
|
||||
<source>Administrator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDAddCart</name>
|
||||
@ -2045,6 +2065,41 @@ Are you sure you want to save?</source>
|
||||
<translation>&Cancelar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDEndpointListModel</name>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Node</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Slot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[none]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RDExceptionDialog</name>
|
||||
<message>
|
||||
|
379
lib/rdendpointlistmodel.cpp
Normal file
379
lib/rdendpointlistmodel.cpp
Normal file
@ -0,0 +1,379 @@
|
||||
// rdendpointlistmodel.cpp
|
||||
//
|
||||
// Data model for Rivendell switcher endpoints
|
||||
//
|
||||
// (C) Copyright 2021 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include "rdapplication.h"
|
||||
#include "rdescape_string.h"
|
||||
#include "rdmatrix.h"
|
||||
#include "rdendpointlistmodel.h"
|
||||
|
||||
RDEndpointListModel::RDEndpointListModel(RDMatrix *mtx,RDMatrix::Endpoint ep,
|
||||
bool incl_none,QObject *parent)
|
||||
: QAbstractTableModel(parent)
|
||||
{
|
||||
d_mtx=mtx;
|
||||
d_endpoint=ep;
|
||||
d_include_none=incl_none;
|
||||
|
||||
//
|
||||
// Column Attributes
|
||||
//
|
||||
unsigned left=Qt::AlignLeft|Qt::AlignVCenter;
|
||||
unsigned center=Qt::AlignCenter;
|
||||
// unsigned right=Qt::AlignRight|Qt::AlignVCenter;
|
||||
|
||||
d_headers.push_back(tr("Name"));
|
||||
d_alignments.push_back(left);
|
||||
|
||||
if(ep==RDMatrix::Input) {
|
||||
d_table_name="INPUTS";
|
||||
d_headers.push_back(tr("Input"));
|
||||
d_alignments.push_back(left);
|
||||
}
|
||||
else {
|
||||
d_table_name="OUTPUTS";
|
||||
d_headers.push_back(tr("Output"));
|
||||
d_alignments.push_back(left);
|
||||
}
|
||||
|
||||
switch(d_mtx->type()) {
|
||||
case RDMatrix::LogitekVguest:
|
||||
//list_readonly=false;
|
||||
d_headers.push_back(tr("Engine"));
|
||||
d_alignments.push_back(center);
|
||||
|
||||
d_headers.push_back(tr("Device (Hex)"));
|
||||
d_alignments.push_back(center);
|
||||
break;
|
||||
|
||||
case RDMatrix::LiveWireLwrpAudio:
|
||||
//list_readonly=true;
|
||||
d_headers.push_back(tr("Node"));
|
||||
d_alignments.push_back(center);
|
||||
|
||||
d_headers.push_back(tr("Slot"));
|
||||
d_alignments.push_back(center);
|
||||
break;
|
||||
|
||||
case RDMatrix::SasUsi:
|
||||
//list_readonly=true;
|
||||
break;
|
||||
|
||||
default:
|
||||
//list_readonly=false;
|
||||
break;
|
||||
}
|
||||
|
||||
updateModel();
|
||||
}
|
||||
|
||||
|
||||
RDEndpointListModel::~RDEndpointListModel()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
QPalette RDEndpointListModel::palette()
|
||||
{
|
||||
return d_palette;
|
||||
}
|
||||
|
||||
|
||||
void RDEndpointListModel::setPalette(const QPalette &pal)
|
||||
{
|
||||
d_palette=pal;
|
||||
}
|
||||
|
||||
|
||||
void RDEndpointListModel::setFont(const QFont &font)
|
||||
{
|
||||
d_font=font;
|
||||
d_bold_font=font;
|
||||
d_bold_font.setWeight(QFont::Bold);
|
||||
}
|
||||
|
||||
|
||||
int RDEndpointListModel::columnCount(const QModelIndex &parent) const
|
||||
{
|
||||
return d_headers.size();
|
||||
}
|
||||
|
||||
|
||||
int RDEndpointListModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
return d_texts.size();
|
||||
}
|
||||
|
||||
|
||||
QVariant RDEndpointListModel::headerData(int section,Qt::Orientation orient,
|
||||
int role) const
|
||||
{
|
||||
if((orient==Qt::Horizontal)&&(role==Qt::DisplayRole)) {
|
||||
return d_headers.at(section);
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
|
||||
QVariant RDEndpointListModel::data(const QModelIndex &index,int role) const
|
||||
{
|
||||
QString str;
|
||||
int col=index.column();
|
||||
int row=index.row();
|
||||
|
||||
if(row<d_texts.size()) {
|
||||
switch((Qt::ItemDataRole)role) {
|
||||
case Qt::DisplayRole:
|
||||
return d_texts.at(row).at(col);
|
||||
|
||||
case Qt::DecorationRole:
|
||||
if(col==0) {
|
||||
if(d_endpoint==RDMatrix::Input) {
|
||||
return rda->iconEngine()->listIcon(RDIconEngine::Input);
|
||||
}
|
||||
else {
|
||||
return rda->iconEngine()->listIcon(RDIconEngine::Output);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case Qt::TextAlignmentRole:
|
||||
return d_alignments.at(col);
|
||||
|
||||
case Qt::FontRole:
|
||||
if(col==0) {
|
||||
return d_bold_font;
|
||||
}
|
||||
return d_font;
|
||||
|
||||
case Qt::TextColorRole:
|
||||
// Nothing to do!
|
||||
break;
|
||||
|
||||
case Qt::BackgroundRole:
|
||||
// Nothing to do!
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
|
||||
int RDEndpointListModel::endpointId(const QModelIndex &row) const
|
||||
{
|
||||
return d_ids.at(row.row());
|
||||
}
|
||||
|
||||
|
||||
int RDEndpointListModel::endpointNumber(const QModelIndex &row) const
|
||||
{
|
||||
return d_texts.at(row.row()).at(1).toInt();
|
||||
}
|
||||
|
||||
|
||||
QString RDEndpointListModel::endpointName(const QModelIndex &row) const
|
||||
{
|
||||
return d_texts.at(row.row()).at(0).toString();
|
||||
}
|
||||
|
||||
|
||||
int RDEndpointListModel::engineNumber(const QModelIndex &row) const
|
||||
{
|
||||
if(d_mtx->type()==RDMatrix::LogitekVguest) {
|
||||
return d_texts.at(row.row()).at(2).toInt();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
int RDEndpointListModel::deviceNumber(const QModelIndex &row) const
|
||||
{
|
||||
if(d_mtx->type()==RDMatrix::LogitekVguest) {
|
||||
return d_texts.at(row.row()).at(3).toString().toInt(NULL,16);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
void RDEndpointListModel::refresh(const QModelIndex &row)
|
||||
{
|
||||
if(row.row()<d_texts.size()) {
|
||||
QString sql=sqlFields()+
|
||||
"where "+
|
||||
QString().sprintf("ID=%d ",d_ids.at(row.row()));
|
||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
updateRow(row.row(),q);
|
||||
emit dataChanged(createIndex(row.row(),0),
|
||||
createIndex(row.row(),columnCount()));
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDEndpointListModel::refresh(int id)
|
||||
{
|
||||
for(int i=0;i<d_texts.size();i++) {
|
||||
if(d_texts.at(i).at(0)==id) {
|
||||
updateRowLine(i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDEndpointListModel::updateModel()
|
||||
{
|
||||
QList<QVariant> texts;
|
||||
|
||||
RDSqlQuery *q=NULL;
|
||||
QString sql=sqlFields()+
|
||||
"where "+
|
||||
"STATION_NAME=\""+RDEscapeString(d_mtx->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d ",d_mtx->matrix())+
|
||||
"order by "+d_table_name+".NUMBER ";
|
||||
beginResetModel();
|
||||
d_ids.clear();
|
||||
d_texts.clear();
|
||||
if(d_include_none) {
|
||||
d_ids.push_back(-1);
|
||||
d_texts.push_back(texts);
|
||||
d_texts.back().push_back(tr("[none]"));
|
||||
for(int i=1;i<columnCount();i++) {
|
||||
d_texts.back().push_back(QVariant());
|
||||
}
|
||||
}
|
||||
// printf("SQL: %s\n",sql.toUtf8().constData());
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
d_ids.push_back(-1);
|
||||
d_texts.push_back(texts);
|
||||
updateRow(d_texts.size()-1,q);
|
||||
}
|
||||
delete q;
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
|
||||
void RDEndpointListModel::updateRowLine(int line)
|
||||
{
|
||||
if(line<d_texts.size()) {
|
||||
QString sql=sqlFields()+
|
||||
"where "+
|
||||
d_table_name+QString().sprintf(".ID=%d ",d_ids.at(line));
|
||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
updateRow(line,q);
|
||||
}
|
||||
delete q;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RDEndpointListModel::updateRow(int row,RDSqlQuery *q)
|
||||
{
|
||||
QList<QVariant> texts;
|
||||
|
||||
d_ids.back()=q->value(0).toInt();
|
||||
|
||||
//
|
||||
// The first two fields are always the same
|
||||
///
|
||||
// Name
|
||||
texts.push_back(q->value(2));
|
||||
|
||||
// Number
|
||||
texts.push_back(QString().sprintf("%05d",q->value(1).toInt()));
|
||||
|
||||
switch(d_mtx->type()) {
|
||||
case RDMatrix::LogitekVguest:
|
||||
// Engine Number
|
||||
if(q->value(3).toInt()>=0) {
|
||||
texts.push_back(QString().sprintf("%02d",q->value(3).toInt()));
|
||||
}
|
||||
else {
|
||||
texts.push_back("");
|
||||
}
|
||||
|
||||
// Device Number
|
||||
if(q->value(4).toInt()>=0) {
|
||||
texts.push_back(QString().sprintf("%04X",q->value(4).toInt()));
|
||||
}
|
||||
else {
|
||||
texts.push_back("");
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LiveWireLwrpAudio:
|
||||
// Hostname
|
||||
texts.push_back(q->value(3));
|
||||
|
||||
// Slot
|
||||
texts.push_back(QString().sprintf("%d",q->value(4).toInt()));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
d_texts[row]=texts;
|
||||
}
|
||||
|
||||
|
||||
QString RDEndpointListModel::sqlFields() const
|
||||
{
|
||||
QString sql;
|
||||
|
||||
switch(d_mtx->type()) {
|
||||
case RDMatrix::LogitekVguest:
|
||||
sql=QString("select ")+
|
||||
"ID,"+ // 00
|
||||
"NUMBER,"+ // 01
|
||||
"NAME,"+ // 02
|
||||
"ENGINE_NUM,"+ // 03
|
||||
"DEVICE_NUM "+ // 04
|
||||
"from "+d_table_name+" ";
|
||||
break;
|
||||
|
||||
case RDMatrix::LiveWireLwrpAudio:
|
||||
sql=QString("select ")+
|
||||
"ID,"+ // 00
|
||||
"NUMBER,"+ // 01
|
||||
"NAME,"+ // 02
|
||||
"NODE_HOSTNAME,"+ // 03
|
||||
"NODE_SLOT "+ // 04
|
||||
"from "+d_table_name+" ";
|
||||
break;
|
||||
|
||||
default:
|
||||
sql=QString("select ")+
|
||||
"ID,"+ // 00
|
||||
"NUMBER,"+ // 01
|
||||
"NAME "+ // 02
|
||||
"from "+d_table_name+" ";
|
||||
break;
|
||||
}
|
||||
|
||||
return sql;
|
||||
}
|
78
lib/rdendpointlistmodel.h
Normal file
78
lib/rdendpointlistmodel.h
Normal file
@ -0,0 +1,78 @@
|
||||
// rdendpointlistmodel.h
|
||||
//
|
||||
// Data model for Rivendell switcher endpoints
|
||||
//
|
||||
// (C) Copyright 2021 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#ifndef RDENDPOINTLISTMODEL_H
|
||||
#define RDENDPOINTLISTMODEL_H
|
||||
|
||||
#include <QAbstractTableModel>
|
||||
#include <QFont>
|
||||
#include <QList>
|
||||
#include <QPalette>
|
||||
|
||||
#include <rddb.h>
|
||||
#include <rdmatrix.h>
|
||||
#include <rdnotification.h>
|
||||
#include <rduser.h>
|
||||
|
||||
class RDEndpointListModel : public QAbstractTableModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
RDEndpointListModel(RDMatrix *mtx,RDMatrix::Endpoint ep,bool include_none,
|
||||
QObject *parent=0);
|
||||
~RDEndpointListModel();
|
||||
QPalette palette();
|
||||
void setPalette(const QPalette &pal);
|
||||
void setFont(const QFont &font);
|
||||
int columnCount(const QModelIndex &parent=QModelIndex()) const;
|
||||
int rowCount(const QModelIndex &parent=QModelIndex()) const;
|
||||
QVariant headerData(int section,Qt::Orientation orient,
|
||||
int role=Qt::DisplayRole) const;
|
||||
QVariant data(const QModelIndex &index,int role=Qt::DisplayRole) const;
|
||||
int endpointId(const QModelIndex &row) const;
|
||||
int endpointNumber(const QModelIndex &row) const;
|
||||
int engineNumber(const QModelIndex &row) const;
|
||||
int deviceNumber(const QModelIndex &row) const;
|
||||
QString endpointName(const QModelIndex &row) const;
|
||||
void refresh(const QModelIndex &row);
|
||||
void refresh(int id);
|
||||
|
||||
protected:
|
||||
void updateModel();
|
||||
void updateRowLine(int line);
|
||||
void updateRow(int row,RDSqlQuery *q);
|
||||
QString sqlFields() const;
|
||||
|
||||
private:
|
||||
QPalette d_palette;
|
||||
QFont d_font;
|
||||
QFont d_bold_font;
|
||||
QList<QVariant> d_headers;
|
||||
QList<QVariant> d_alignments;
|
||||
QList<QList<QVariant> > d_texts;
|
||||
QList<int> d_ids;
|
||||
RDMatrix *d_mtx;
|
||||
RDMatrix::Endpoint d_endpoint;
|
||||
bool d_include_none;
|
||||
QString d_table_name;
|
||||
};
|
||||
|
||||
|
||||
#endif // RDENDPOINTLISTMODEL_H
|
@ -815,6 +815,46 @@ QString RDMatrix::typeString(RDMatrix::Type type)
|
||||
}
|
||||
|
||||
|
||||
QString RDMatrix::modeString(RDMatrix::Mode mode)
|
||||
{
|
||||
QString ret=QObject::tr("Unknown");
|
||||
|
||||
switch(mode) {
|
||||
case RDMatrix::Left:
|
||||
ret=QObject::tr("Left");
|
||||
break;
|
||||
|
||||
case RDMatrix::Right:
|
||||
ret=QObject::tr("Right");
|
||||
break;
|
||||
|
||||
case RDMatrix::Stereo:
|
||||
ret=QObject::tr("Stereo");
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
QString RDMatrix::endpointString(RDMatrix::Endpoint ep)
|
||||
{
|
||||
QString ret=QObject::tr("Unknown");
|
||||
|
||||
switch(ep) {
|
||||
case RDMatrix::Input:
|
||||
ret=QObject::tr("Input");
|
||||
break;
|
||||
|
||||
case RDMatrix::Output:
|
||||
ret=QObject::tr("Output");
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
bool RDMatrix::controlActive(RDMatrix::Type type,RDMatrix::Role role,
|
||||
RDMatrix::Control control)
|
||||
{
|
||||
|
@ -109,6 +109,8 @@ class RDMatrix
|
||||
int displays() const;
|
||||
void setDisplays(int quan) const;
|
||||
static QString typeString(RDMatrix::Type type);
|
||||
static QString modeString(RDMatrix::Mode mode);
|
||||
static QString endpointString(RDMatrix::Endpoint ep);
|
||||
static bool controlActive(RDMatrix::Type type,RDMatrix::Role role,
|
||||
RDMatrix::Control control);
|
||||
static bool controlActive(RDMatrix::Type type,RDMatrix::Control control);
|
||||
|
@ -252,7 +252,7 @@ void RDUserListModel::updateModel()
|
||||
beginResetModel();
|
||||
d_texts.clear();
|
||||
d_icons.clear();
|
||||
printf("SQL: %s\n",sql.toUtf8().constData());
|
||||
// printf("SQL: %s\n",sql.toUtf8().constData());
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
d_texts.push_back(texts);
|
||||
|
@ -18,26 +18,24 @@
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
#include <qmessagebox.h>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include <rdescape_string.h>
|
||||
#include <rdtextvalidator.h>
|
||||
|
||||
#include <edit_endpoint.h>
|
||||
|
||||
EditEndpoint::EditEndpoint(RDMatrix::Type type,RDMatrix::Endpoint endpoint,
|
||||
int pointnum,QString *pointname,QString *feedname,
|
||||
RDMatrix::Mode *mode,int *enginenum,int *devicenum,
|
||||
QWidget *parent)
|
||||
int pointnum,QString *pointname,int *enginenum,
|
||||
int *devicenum,QWidget *parent)
|
||||
: RDDialog(parent)
|
||||
{
|
||||
setModal(true);
|
||||
|
||||
/*
|
||||
edit_mtx=NULL;
|
||||
edit_type=type;
|
||||
edit_endpoint=endpoint;
|
||||
edit_pointnum=pointnum;
|
||||
edit_pointname=pointname;
|
||||
edit_feedname=feedname;
|
||||
edit_mode=mode;
|
||||
edit_enginenum=enginenum;
|
||||
edit_devicenum=devicenum;
|
||||
|
||||
@ -52,7 +50,7 @@ EditEndpoint::EditEndpoint(RDMatrix::Type type,RDMatrix::Endpoint endpoint,
|
||||
setWindowTitle("RDAdmin - "+tr("Edit Output"));
|
||||
break;
|
||||
}
|
||||
|
||||
*/
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
@ -78,79 +76,24 @@ EditEndpoint::EditEndpoint(RDMatrix::Type type,RDMatrix::Endpoint endpoint,
|
||||
label->setAlignment(Qt::AlignRight);
|
||||
|
||||
//
|
||||
// Unity Feed
|
||||
//
|
||||
edit_feed_edit=new QLineEdit(this);
|
||||
edit_feed_edit->setGeometry(75,40,40,20);
|
||||
edit_feed_edit->setValidator(validator);
|
||||
label=new QLabel(edit_feed_edit,tr("Feed: "),this);
|
||||
label->setGeometry(10,43,60,20);
|
||||
label->setFont(labelFont());
|
||||
label->setAlignment(Qt::AlignRight);
|
||||
if((edit_type!=RDMatrix::Unity4000)||(edit_endpoint!=RDMatrix::Input)) {
|
||||
edit_feed_edit->hide();
|
||||
label->hide();
|
||||
}
|
||||
|
||||
//
|
||||
// Unity Mode
|
||||
//
|
||||
edit_mode_box=new QComboBox(this);
|
||||
label=new QLabel(edit_mode_box,tr("Mode: "),this);
|
||||
if(edit_type==RDMatrix::StarGuideIII) {
|
||||
edit_mode_box->setGeometry(135,88,85,24);
|
||||
label->setGeometry(10,93,120,20);
|
||||
}
|
||||
else {
|
||||
edit_mode_box->setGeometry(195,40,85,24);
|
||||
label->setGeometry(130,43,60,20);
|
||||
}
|
||||
label->setFont(labelFont());
|
||||
label->setAlignment(Qt::AlignRight);
|
||||
if(((edit_type!=RDMatrix::Unity4000)&&(edit_type!=RDMatrix::StarGuideIII))||
|
||||
(edit_endpoint!=RDMatrix::Input)) {
|
||||
edit_mode_box->hide();
|
||||
label->hide();
|
||||
}
|
||||
edit_mode_box->insertItem(tr("Stereo"));
|
||||
edit_mode_box->insertItem(tr("Left"));
|
||||
edit_mode_box->insertItem(tr("Right"));
|
||||
|
||||
//
|
||||
// Logitek Engine Number / StarGuide Provider ID
|
||||
// Logitek Engine Number
|
||||
//
|
||||
edit_enginenum_edit=new QLineEdit(this);
|
||||
edit_enginenum_edit->setGeometry(135,36,50,20);
|
||||
label=new QLabel(edit_enginenum_edit,tr("Engine (Hex): "),this);
|
||||
if(edit_type==RDMatrix::StarGuideIII) {
|
||||
label->setText(tr("Provider ID:"));
|
||||
}
|
||||
label->setGeometry(10,36,120,20);
|
||||
label->setFont(labelFont());
|
||||
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
if((edit_type!=RDMatrix::LogitekVguest)&&
|
||||
((edit_type!=RDMatrix::StarGuideIII)||(edit_endpoint!=RDMatrix::Input))) {
|
||||
edit_enginenum_edit->hide();
|
||||
label->hide();
|
||||
}
|
||||
edit_enginenum_label=new QLabel(edit_enginenum_edit,tr("Engine (Hex): "),this);
|
||||
edit_enginenum_label->setGeometry(10,36,120,20);
|
||||
edit_enginenum_label->setFont(labelFont());
|
||||
edit_enginenum_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Logitek Device Number / StarGuide Service ID
|
||||
// Logitek Device Number
|
||||
//
|
||||
edit_devicenum_edit=new QLineEdit(this);
|
||||
edit_devicenum_edit->setGeometry(135,62,50,20);
|
||||
label=new QLabel(edit_devicenum_edit,tr("Device (Hex): "),this);
|
||||
if(edit_type==RDMatrix::StarGuideIII) {
|
||||
label->setText(tr("Service ID:"));
|
||||
}
|
||||
label->setGeometry(10,62,120,20);
|
||||
label->setFont(labelFont());
|
||||
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
if((edit_type!=RDMatrix::LogitekVguest)&&
|
||||
((edit_type!=RDMatrix::StarGuideIII)||(edit_endpoint!=RDMatrix::Input))) {
|
||||
edit_devicenum_edit->hide();
|
||||
label->hide();
|
||||
}
|
||||
edit_devicenum_label=new QLabel(edit_devicenum_edit,tr("Device (Hex): "),this);
|
||||
edit_devicenum_label->setGeometry(10,62,120,20);
|
||||
edit_devicenum_label->setFont(labelFont());
|
||||
edit_devicenum_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
|
||||
|
||||
//
|
||||
// Ok Button
|
||||
@ -174,9 +117,8 @@ EditEndpoint::EditEndpoint(RDMatrix::Type type,RDMatrix::Endpoint endpoint,
|
||||
//
|
||||
// Load Data
|
||||
//
|
||||
/*
|
||||
edit_endpoint_edit->setText(*edit_pointname);
|
||||
edit_feed_edit->setText(*edit_feedname);
|
||||
edit_mode_box->setCurrentItem(*edit_mode);
|
||||
if(*enginenum>=0) {
|
||||
if(edit_type==RDMatrix::LogitekVguest) {
|
||||
edit_enginenum_edit->setText(QString().sprintf("%04X",*enginenum));
|
||||
@ -193,17 +135,12 @@ EditEndpoint::EditEndpoint(RDMatrix::Type type,RDMatrix::Endpoint endpoint,
|
||||
edit_devicenum_edit->setText(QString().sprintf("%d",*devicenum));
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
QSize EditEndpoint::sizeHint() const
|
||||
{
|
||||
if((edit_endpoint==RDMatrix::Input)&&(edit_type==RDMatrix::Unity4000)) {
|
||||
return QSize(400,130);
|
||||
}
|
||||
if((edit_endpoint==RDMatrix::Input)&&(edit_type==RDMatrix::StarGuideIII)) {
|
||||
return QSize(420,156);
|
||||
}
|
||||
return QSize(400,100);
|
||||
}
|
||||
|
||||
@ -214,8 +151,65 @@ QSizePolicy EditEndpoint::sizePolicy() const
|
||||
}
|
||||
|
||||
|
||||
int EditEndpoint::exec(RDMatrix *mtx,RDMatrix::Endpoint endpt_type,int endpt_id)
|
||||
{
|
||||
QString sql;
|
||||
RDSqlQuery *q=NULL;
|
||||
|
||||
edit_mtx=mtx;
|
||||
edit_endpoint_type=endpt_type;
|
||||
edit_endpoint_id=endpt_id;
|
||||
if(endpt_type==RDMatrix::Input) {
|
||||
edit_table="INPUTS";
|
||||
setWindowTitle("RDAdmin - "+tr("Edit Input"));
|
||||
}
|
||||
else {
|
||||
edit_table="OUTPUTS";
|
||||
setWindowTitle("RDAdmin - "+tr("Edit Output"));
|
||||
}
|
||||
|
||||
sql=QString("select ")+
|
||||
"NAME,"+ // 00
|
||||
"ENGINE_NUM,"+ // 01
|
||||
"DEVICE_NUM "+ // 02
|
||||
"from "+edit_table+" where "+
|
||||
QString().sprintf("ID=%d",endpt_id);
|
||||
printf("SQL: %s\n",sql.toUtf8().constData());
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
|
||||
|
||||
edit_endpoint_edit->setText(q->value(0).toString());
|
||||
edit_enginenum_edit->setText(QString().sprintf("%d",q->value(1).toInt()));
|
||||
edit_devicenum_edit->
|
||||
setText(QString().sprintf("%04X",q->value(2).toInt()));
|
||||
}
|
||||
delete q;
|
||||
|
||||
if(mtx->type()!=RDMatrix::LogitekVguest) {
|
||||
edit_enginenum_label->hide();
|
||||
edit_enginenum_edit->hide();
|
||||
edit_devicenum_label->hide();
|
||||
edit_devicenum_edit->hide();
|
||||
}
|
||||
|
||||
return QDialog::exec();
|
||||
}
|
||||
|
||||
|
||||
void EditEndpoint::okData()
|
||||
{
|
||||
QString sql;
|
||||
|
||||
sql=QString("update ")+edit_table+" set "+
|
||||
"NAME=\""+RDEscapeString(edit_endpoint_edit->text())+"\","+
|
||||
QString().sprintf("ENGINE_NUM=%d,",edit_enginenum_edit->text().toInt())+
|
||||
QString().
|
||||
sprintf("DEVICE_NUM=%d ",edit_devicenum_edit->text().toInt(NULL,16))+
|
||||
"where "+
|
||||
QString().sprintf("ID=%d",edit_endpoint_id);
|
||||
RDSqlQuery::apply(sql);
|
||||
/*
|
||||
bool ok;
|
||||
int enginenum=-1;
|
||||
if(edit_type==RDMatrix::LogitekVguest) {
|
||||
@ -264,15 +258,14 @@ void EditEndpoint::okData()
|
||||
}
|
||||
}
|
||||
*edit_pointname=edit_endpoint_edit->text();
|
||||
*edit_feedname=edit_feed_edit->text();
|
||||
*edit_mode=(RDMatrix::Mode)edit_mode_box->currentItem();
|
||||
*edit_enginenum=enginenum;
|
||||
*edit_devicenum=devicenum;
|
||||
done(0);
|
||||
*/
|
||||
done(true);
|
||||
}
|
||||
|
||||
|
||||
void EditEndpoint::cancelData()
|
||||
{
|
||||
done(1);
|
||||
done(false);
|
||||
}
|
||||
|
@ -35,31 +35,34 @@ class EditEndpoint : public RDDialog
|
||||
Q_OBJECT
|
||||
public:
|
||||
EditEndpoint(RDMatrix::Type type,RDMatrix::Endpoint endpoint,
|
||||
int pointnum,QString *pointname,QString *feedname,
|
||||
RDMatrix::Mode *mode,int *enginenum,int *devicenum,
|
||||
int pointnum,QString *pointname,int *enginenum,int *devicenum,
|
||||
QWidget *parent=0);
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
public slots:
|
||||
int exec(RDMatrix *mtx,RDMatrix::Endpoint endpt_type,int endpt_id);
|
||||
|
||||
private slots:
|
||||
void okData();
|
||||
void cancelData();
|
||||
|
||||
private:
|
||||
RDMatrix::Type edit_type;
|
||||
RDMatrix::Endpoint edit_endpoint;
|
||||
RDMatrix *edit_mtx;
|
||||
RDMatrix::Endpoint edit_endpoint_type;
|
||||
int edit_pointnum;
|
||||
/*
|
||||
QString *edit_pointname;
|
||||
QString *edit_feedname;
|
||||
RDMatrix::Mode *edit_mode;
|
||||
int *edit_enginenum;
|
||||
int *edit_devicenum;
|
||||
*/
|
||||
QString edit_table;
|
||||
QLineEdit *edit_endpoint_edit;
|
||||
QLineEdit *edit_feed_edit;
|
||||
QLabel *edit_enginenum_label;
|
||||
QLineEdit *edit_enginenum_edit;
|
||||
QLabel *edit_devicenum_label;
|
||||
QLineEdit *edit_devicenum_edit;
|
||||
QComboBox *edit_mode_box;
|
||||
int edit_endpoint_id;
|
||||
};
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// List a Rivendell Endpoints
|
||||
//
|
||||
// (C) Copyright 2002-2019 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2021 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -30,11 +30,6 @@ ListEndpoints::ListEndpoints(RDMatrix *matrix,RDMatrix::Endpoint endpoint,
|
||||
QWidget *parent)
|
||||
: RDDialog(parent)
|
||||
{
|
||||
setModal(true);
|
||||
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
Q3ListViewItem *l;
|
||||
QString str;
|
||||
|
||||
list_matrix=matrix;
|
||||
@ -61,77 +56,19 @@ ListEndpoints::ListEndpoints(RDMatrix *matrix,RDMatrix::Endpoint endpoint,
|
||||
//
|
||||
// Endpoints List Box
|
||||
//
|
||||
list_list_view=new Q3ListView(this);
|
||||
list_list_view=new RDTableView(this);
|
||||
list_list_model=new RDEndpointListModel(matrix,endpoint,false,this);
|
||||
list_list_model->setFont(defaultFont());
|
||||
list_list_model->setPalette(palette());
|
||||
list_list_view->setModel(list_list_model);
|
||||
list_type_label=new QLabel(list_list_view,list_table,this);
|
||||
list_type_label->setFont(labelFont());
|
||||
list_type_label->setGeometry(14,5,85,19);
|
||||
list_list_view->setAllColumnsShowFocus(true);
|
||||
list_list_view->setItemMargin(5);
|
||||
switch(list_endpoint) {
|
||||
case RDMatrix::Input:
|
||||
list_list_view->addColumn(tr("INPUT"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Output:
|
||||
list_list_view->addColumn(tr("OUTPUT"));
|
||||
break;
|
||||
}
|
||||
list_list_view->setColumnAlignment(0,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("LABEL"));
|
||||
list_list_view->setColumnAlignment(1,Qt::AlignLeft);
|
||||
switch(matrix->type()) {
|
||||
case RDMatrix::Unity4000:
|
||||
list_readonly=false;
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
list_list_view->addColumn(tr("SOURCE"));
|
||||
list_list_view->setColumnAlignment(2,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("MODE"));
|
||||
list_list_view->setColumnAlignment(3,Qt::AlignHCenter);
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LogitekVguest:
|
||||
list_readonly=false;
|
||||
list_list_view->addColumn(tr("ENGINE (Hex)"));
|
||||
list_list_view->setColumnAlignment(2,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("DEVICE (Hex)"));
|
||||
list_list_view->setColumnAlignment(2,Qt::AlignHCenter);
|
||||
break;
|
||||
|
||||
case RDMatrix::StarGuideIII:
|
||||
list_readonly=false;
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
list_list_view->addColumn(tr("PROVIDER ID"));
|
||||
list_list_view->setColumnAlignment(2,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("SERVICE ID"));
|
||||
list_list_view->setColumnAlignment(3,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("MODE"));
|
||||
list_list_view->setColumnAlignment(4,Qt::AlignHCenter);
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LiveWireLwrpAudio:
|
||||
list_readonly=true;
|
||||
list_list_view->addColumn(tr("NODE"));
|
||||
list_list_view->setColumnAlignment(2,Qt::AlignHCenter);
|
||||
list_list_view->addColumn(tr("#"));
|
||||
list_list_view->setColumnAlignment(3,Qt::AlignHCenter);
|
||||
break;
|
||||
|
||||
case RDMatrix::SasUsi:
|
||||
list_readonly=true;
|
||||
break;
|
||||
|
||||
default:
|
||||
list_readonly=false;
|
||||
break;
|
||||
}
|
||||
if(!list_readonly) {
|
||||
connect(list_list_view,
|
||||
SIGNAL(doubleClicked(Q3ListViewItem *,const QPoint &,int)),
|
||||
this,
|
||||
SLOT(doubleClickedData(Q3ListViewItem *,const QPoint &,int)));
|
||||
}
|
||||
connect(list_list_view,SIGNAL(doubleClicked(const QModelIndex &)),
|
||||
this,SLOT(doubleClickedData(const QModelIndex &)));
|
||||
connect(list_list_model,SIGNAL(modelReset()),
|
||||
list_list_view,SLOT(resizeColumnsToContents()));
|
||||
list_list_view->resizeColumnsToContents();
|
||||
|
||||
//
|
||||
// Edit Button
|
||||
@ -142,217 +79,13 @@ ListEndpoints::ListEndpoints(RDMatrix *matrix,RDMatrix::Endpoint endpoint,
|
||||
connect(list_edit_button,SIGNAL(clicked()),this,SLOT(editData()));
|
||||
list_edit_button->setDisabled(list_readonly);
|
||||
|
||||
//
|
||||
// Ok Button
|
||||
//
|
||||
list_ok_button=new QPushButton(this);
|
||||
list_ok_button->setDefault(true);
|
||||
list_ok_button->setFont(buttonFont());
|
||||
list_ok_button->setText(tr("&OK"));
|
||||
connect(list_ok_button,SIGNAL(clicked()),this,SLOT(okData()));
|
||||
|
||||
//
|
||||
// Cancel Button
|
||||
//
|
||||
list_cancel_button=new QPushButton(this);
|
||||
list_cancel_button->setFont(buttonFont());
|
||||
list_cancel_button->setText(tr("&Cancel"));
|
||||
connect(list_cancel_button,SIGNAL(clicked()),this,SLOT(cancelData()));
|
||||
|
||||
//
|
||||
// Load Values
|
||||
//
|
||||
switch(list_matrix->type()) {
|
||||
case RDMatrix::Unity4000:
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"NAME,"+ // 01
|
||||
"FEED_NAME,"+ // 02
|
||||
"CHANNEL_MODE "+ // 03
|
||||
"from `"+list_table+"` where "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d ",list_matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
}
|
||||
else {
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"NAME "+ // 01
|
||||
"from `"+list_table+"` where "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d ",list_matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LogitekVguest:
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"NAME,"+ // 01
|
||||
"ENGINE_NUM,"+ // 02
|
||||
"DEVICE_NUM "+ // 03
|
||||
"from `"+list_table+"` where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\")&&"+
|
||||
QString().sprintf("MATRIX=%d ",list_matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
break;
|
||||
|
||||
case RDMatrix::StarGuideIII:
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"NAME,"+ // 01
|
||||
"ENGINE_NUM,"+ // 02
|
||||
"DEVICE_NUM,"+ // 03
|
||||
"CHANNEL_MODE "+ // 04
|
||||
"from `"+list_table+"` where "+
|
||||
"(STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\")&&"+
|
||||
QString().sprintf("MATRIX=%d ",list_matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
}
|
||||
else {
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"NAME "+ // 01
|
||||
"from `"+list_table+"` where "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d ",list_matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LiveWireLwrpAudio:
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"NAME,"+ // 01
|
||||
"NODE_HOSTNAME,"+ // 02
|
||||
"NODE_SLOT "+ // 03
|
||||
"from `"+list_table+"` where "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d ",list_matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
break;
|
||||
|
||||
default:
|
||||
sql=QString("select ")+
|
||||
"NUMBER,"+ // 00
|
||||
"NAME "+ // 01
|
||||
"from `"+list_table+"` where "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d ",list_matrix->matrix())+
|
||||
"order by NUMBER";
|
||||
break;
|
||||
}
|
||||
q=new RDSqlQuery(sql);
|
||||
if(list_matrix->type()==RDMatrix::LiveWireLwrpAudio) {
|
||||
while(q->next()) {
|
||||
l=new Q3ListViewItem(list_list_view);
|
||||
l->setText(0,QString().sprintf("%05d",q->value(0).toInt()));
|
||||
l->setText(1,q->value(1).toString());
|
||||
l->setText(2,q->value(2).toString());
|
||||
l->setText(3,QString().sprintf("%d",q->value(3).toInt()));
|
||||
}
|
||||
}
|
||||
else {
|
||||
q->first();
|
||||
for(int i=0;i<list_size;i++) {
|
||||
l=new Q3ListViewItem(list_list_view);
|
||||
l->setText(0,QString().sprintf("%04d",i+1));
|
||||
if(q->isValid()&&(q->value(0).toInt()==(i+1))){
|
||||
l->setText(1,q->value(1).toString());
|
||||
switch(list_matrix->type()) {
|
||||
case RDMatrix::Unity4000:
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
l->setText(2,q->value(2).toString());
|
||||
switch((RDMatrix::Mode)q->value(3).toInt()) {
|
||||
case RDMatrix::Stereo:
|
||||
l->setText(3,tr("Stereo"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Left:
|
||||
l->setText(3,tr("Left"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Right:
|
||||
l->setText(3,tr("Right"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LogitekVguest:
|
||||
if(q->value(2).toInt()>=0) {
|
||||
l->setText(2,QString().sprintf("%04X",q->value(2).toInt()));
|
||||
}
|
||||
else {
|
||||
l->setText(2,"");
|
||||
}
|
||||
if(q->value(3).toInt()>=0) {
|
||||
l->setText(3,QString().sprintf("%04X",q->value(3).toInt()));
|
||||
}
|
||||
else {
|
||||
l->setText(3,"");
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::StarGuideIII:
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
if(q->value(2).toInt()>=0) {
|
||||
l->setText(2,q->value(2).toString());
|
||||
}
|
||||
if(q->value(3).toInt()>=0) {
|
||||
l->setText(3,q->value(3).toString());
|
||||
}
|
||||
switch((RDMatrix::Mode)q->value(4).toInt()) {
|
||||
case RDMatrix::Stereo:
|
||||
l->setText(4,tr("Stereo"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Left:
|
||||
l->setText(4,tr("Left"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Right:
|
||||
l->setText(4,tr("Right"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
q->next();
|
||||
}
|
||||
else {
|
||||
switch(list_endpoint) {
|
||||
case RDMatrix::Input:
|
||||
str=QString(tr("Input"));
|
||||
l->setText(1,str+QString().sprintf(" %03d",i+1));
|
||||
switch(list_matrix->type()) {
|
||||
case RDMatrix::Unity4000:
|
||||
l->setText(3,tr("Stereo"));
|
||||
break;
|
||||
|
||||
case RDMatrix::StarGuideIII:
|
||||
l->setText(4,tr("Stereo"));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::Output:
|
||||
str=QString(tr("Output"));
|
||||
l->setText(1,str+QString().sprintf(" %03d",i+1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
delete q;
|
||||
list_close_button=new QPushButton(this);
|
||||
list_close_button->setFont(buttonFont());
|
||||
list_close_button->setText(tr("&Close"));
|
||||
connect(list_close_button,SIGNAL(clicked()),this,SLOT(closeData()));
|
||||
}
|
||||
|
||||
|
||||
@ -370,329 +103,36 @@ QSizePolicy ListEndpoints::sizePolicy() const
|
||||
|
||||
void ListEndpoints::editData()
|
||||
{
|
||||
Q3ListViewItem *item;
|
||||
RDMatrix::Mode mode=RDMatrix::Stereo;
|
||||
bool ok;
|
||||
QString feedname;
|
||||
int enginenum=-1;
|
||||
int devicenum=-1;
|
||||
QModelIndexList rows=list_list_view->selectionModel()->selectedRows();
|
||||
|
||||
if((item=list_list_view->selectedItem())==NULL) {
|
||||
if(rows.size()!=1) {
|
||||
return;
|
||||
}
|
||||
int pointnum=item->text(0).toInt()-1;
|
||||
QString pointname=item->text(1);
|
||||
switch(list_matrix->type()) {
|
||||
case RDMatrix::Unity4000:
|
||||
feedname=item->text(2);
|
||||
if(item->text(3).lower()==QString(tr("stereo"))) {
|
||||
mode=RDMatrix::Stereo;
|
||||
}
|
||||
if(item->text(3).lower()==QString(tr("left"))) {
|
||||
mode=RDMatrix::Left;
|
||||
}
|
||||
if(item->text(3).lower()==QString(tr("right"))) {
|
||||
mode=RDMatrix::Right;
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LogitekVguest:
|
||||
enginenum=item->text(2).toInt(&ok,16);
|
||||
if(!ok) {
|
||||
enginenum=-1;
|
||||
}
|
||||
devicenum=item->text(3).toInt(&ok,16);
|
||||
if(!ok) {
|
||||
devicenum=-1;
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::StarGuideIII:
|
||||
enginenum=item->text(2).toInt(&ok);
|
||||
if(!ok) {
|
||||
enginenum=-1;
|
||||
}
|
||||
devicenum=item->text(3).toInt(&ok);
|
||||
if(!ok) {
|
||||
devicenum=-1;
|
||||
}
|
||||
if(item->text(4).lower()==QString(tr("stereo"))) {
|
||||
mode=RDMatrix::Stereo;
|
||||
}
|
||||
if(item->text(4).lower()==QString(tr("left"))) {
|
||||
mode=RDMatrix::Left;
|
||||
}
|
||||
if(item->text(4).lower()==QString(tr("right"))) {
|
||||
mode=RDMatrix::Right;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
int pointnum=list_list_model->endpointNumber(rows.first())-1;
|
||||
QString pointname=list_list_model->endpointName(rows.first());
|
||||
int enginenum=list_list_model->engineNumber(rows.first());
|
||||
int devicenum=list_list_model->deviceNumber(rows.first());
|
||||
EditEndpoint *edit=new EditEndpoint(list_matrix->type(),list_endpoint,
|
||||
pointnum,&pointname,&feedname,&mode,
|
||||
pointnum,&pointname,
|
||||
&enginenum,&devicenum,this);
|
||||
if(edit->exec()==0) {
|
||||
item->setText(1,pointname);
|
||||
item->setText(2,feedname);
|
||||
switch(list_matrix->type()) {
|
||||
case RDMatrix::Unity4000:
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
switch(mode) {
|
||||
case RDMatrix::Stereo:
|
||||
item->setText(3,tr("Stereo"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Left:
|
||||
item->setText(3,tr("Left"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Right:
|
||||
item->setText(3,tr("Right"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LogitekVguest:
|
||||
if(enginenum>=0) {
|
||||
item->setText(2,QString().sprintf("%04X",enginenum));
|
||||
}
|
||||
else {
|
||||
item->setText(2,"");
|
||||
}
|
||||
if(devicenum>=0) {
|
||||
item->setText(3,QString().sprintf("%04X",devicenum));
|
||||
}
|
||||
else {
|
||||
item->setText(3,"");
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::StarGuideIII:
|
||||
if(enginenum>=0) {
|
||||
item->setText(2,QString().sprintf("%d",enginenum));
|
||||
}
|
||||
else {
|
||||
item->setText(2,"");
|
||||
}
|
||||
if(devicenum>=0) {
|
||||
item->setText(3,QString().sprintf("%d",devicenum));
|
||||
}
|
||||
else {
|
||||
item->setText(3,"");
|
||||
}
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
switch(mode) {
|
||||
case RDMatrix::Stereo:
|
||||
item->setText(4,tr("Stereo"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Left:
|
||||
item->setText(4,tr("Left"));
|
||||
break;
|
||||
|
||||
case RDMatrix::Right:
|
||||
item->setText(4,tr("Right"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if(edit->exec(list_matrix,list_endpoint,
|
||||
list_list_model->endpointId(rows.first()))) {
|
||||
list_list_model->refresh(rows.first());
|
||||
}
|
||||
delete edit;
|
||||
}
|
||||
|
||||
|
||||
void ListEndpoints::doubleClickedData(Q3ListViewItem *item,const QPoint &pt,
|
||||
int col)
|
||||
void ListEndpoints::doubleClickedData(const QModelIndex &index)
|
||||
{
|
||||
editData();
|
||||
}
|
||||
|
||||
|
||||
void ListEndpoints::okData()
|
||||
void ListEndpoints::closeData()
|
||||
{
|
||||
if(!list_readonly) {
|
||||
Q3ListViewItem *item;
|
||||
QString sql;
|
||||
RDSqlQuery *q;
|
||||
RDMatrix::Mode mode=RDMatrix::Stereo;
|
||||
int enginenum;
|
||||
int devicenum;
|
||||
int modecol=3;
|
||||
|
||||
if(list_matrix->type()==RDMatrix::StarGuideIII) {
|
||||
modecol=4;
|
||||
}
|
||||
for(int i=0;i<list_size;i++) {
|
||||
item=list_list_view->findItem(QString().sprintf("%04d",i+1),0);
|
||||
if(item->text(modecol).lower()==QString(tr("stereo"))) {
|
||||
mode=RDMatrix::Stereo;
|
||||
}
|
||||
if(item->text(modecol).lower()==QString(tr("left"))) {
|
||||
mode=RDMatrix::Left;
|
||||
}
|
||||
if(item->text(modecol).lower()==QString(tr("right"))) {
|
||||
mode=RDMatrix::Right;
|
||||
}
|
||||
sql=QString("select ID from `")+
|
||||
list_table+"` where "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d && ",list_matrix->matrix())+
|
||||
QString().sprintf("NUMBER=%d",i+1);
|
||||
q=new RDSqlQuery(sql);
|
||||
if(!q->first()) {
|
||||
delete q;
|
||||
sql=QString("insert into `")+list_table+"` set "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\","+
|
||||
QString().sprintf("MATRIX=%d,",list_matrix->matrix())+
|
||||
QString().sprintf("NUMBER=%d,",i+1)+
|
||||
"NAME=\""+RDEscapeString(item->text(1))+"\"";
|
||||
switch(list_matrix->type()) {
|
||||
case RDMatrix::Unity4000:
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
sql+=QString(",FEED_NAME=\"")+RDEscapeString(item->text(2))+"\","+
|
||||
QString().sprintf("CHANNEL_MODE=%d",mode);
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LogitekVguest:
|
||||
if(item->text(2).isEmpty()) {
|
||||
sql+=",ENGINE_NUM=-1";
|
||||
}
|
||||
else {
|
||||
sql+=QString().sprintf(",ENGINE_NUM=%d",
|
||||
item->text(2).toInt(NULL,16));
|
||||
}
|
||||
if(item->text(3).isEmpty()) {
|
||||
sql+=",DEVICE_NUM=-1";
|
||||
}
|
||||
else {
|
||||
sql+=QString().sprintf(",DEVICE_NUM=%d",
|
||||
item->text(3).toInt(NULL,16));
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::StarGuideIII:
|
||||
if(item->text(2).isEmpty()) {
|
||||
sql+=",ENGINE_NUM=-1";
|
||||
}
|
||||
else {
|
||||
sql+=QString().sprintf(",ENGINE_NUM=%d",
|
||||
item->text(2).toInt());
|
||||
}
|
||||
if(item->text(3).isEmpty()) {
|
||||
sql+=",DEVICE_NUM=-1";
|
||||
}
|
||||
else {
|
||||
sql+=QString().sprintf(",DEVICE_NUM=%d",
|
||||
item->text(3).toInt());
|
||||
}
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
sql+=QString().sprintf(",CHANNEL_MODE=%d",mode);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
else {
|
||||
delete q;
|
||||
switch(list_matrix->type()) {
|
||||
case RDMatrix::Unity4000:
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
sql=QString("update `")+list_table+"` set "+
|
||||
"NAME=\""+RDEscapeString(item->text(1))+"\","+
|
||||
"FEED_NAME=\""+RDEscapeString(item->text(2))+"\","+
|
||||
QString().sprintf("CHANNEL_MODE=%d where ",mode)+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d && ",list_matrix->matrix())+
|
||||
QString().sprintf("NUMBER=%d",i+1);
|
||||
}
|
||||
else {
|
||||
sql=QString("update `")+list_table+"` set "+
|
||||
"NAME=\""+RDEscapeString(item->text(1))+"\" where "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d && ",list_matrix->matrix())+
|
||||
QString().sprintf("NUMBER=%d",i+1);
|
||||
}
|
||||
break;
|
||||
|
||||
case RDMatrix::LogitekVguest:
|
||||
if(item->text(2).isEmpty()) {
|
||||
enginenum=-1;
|
||||
}
|
||||
else {
|
||||
enginenum=item->text(2).toInt(NULL,16);
|
||||
}
|
||||
if(item->text(3).isEmpty()) {
|
||||
devicenum=-1;
|
||||
}
|
||||
else {
|
||||
devicenum=item->text(3).toInt(NULL,16);
|
||||
}
|
||||
sql=QString("update `")+list_table+"` set "+
|
||||
"NAME=\""+RDEscapeString(item->text(1))+"\","+
|
||||
QString().sprintf("ENGINE_NUM=%d,",enginenum)+
|
||||
QString().sprintf("DEVICE_NUM=%d where ",devicenum)+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d && ",list_matrix->matrix())+
|
||||
QString().sprintf("NUMBER=%d",i+1);
|
||||
break;
|
||||
|
||||
case RDMatrix::StarGuideIII:
|
||||
if(list_endpoint==RDMatrix::Input) {
|
||||
if(item->text(2).isEmpty()) {
|
||||
enginenum=-1;
|
||||
}
|
||||
else {
|
||||
enginenum=item->text(2).toInt(NULL);
|
||||
}
|
||||
if(item->text(3).isEmpty()) {
|
||||
devicenum=-1;
|
||||
}
|
||||
else {
|
||||
devicenum=item->text(3).toInt(NULL);
|
||||
}
|
||||
sql=QString("update `")+list_table+"` set "+
|
||||
"NAME=\""+RDEscapeString(item->text(1))+"\","+
|
||||
QString().sprintf("ENGINE_NUM=%d,",enginenum)+
|
||||
QString().sprintf("DEVICE_NUM=%d,",devicenum)+
|
||||
QString().sprintf("CHANNEL_MODE=%d where ",mode)+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d && ",list_matrix->matrix())+
|
||||
QString().sprintf("NUMBER=%d",i+1);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
sql=QString("update `")+list_table+"` set "+
|
||||
"NAME=\""+RDEscapeString(item->text(1))+"\" where "+
|
||||
"STATION_NAME=\""+RDEscapeString(list_matrix->station())+"\" && "+
|
||||
QString().sprintf("MATRIX=%d && ",list_matrix->matrix())+
|
||||
QString().sprintf("NUMBER=%d",i+1);
|
||||
break;
|
||||
}
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
}
|
||||
}
|
||||
}
|
||||
done(0);
|
||||
}
|
||||
|
||||
|
||||
void ListEndpoints::cancelData()
|
||||
{
|
||||
done(1);
|
||||
done(true);
|
||||
}
|
||||
|
||||
|
||||
@ -701,6 +141,5 @@ void ListEndpoints::resizeEvent(QResizeEvent *e)
|
||||
list_list_view->
|
||||
setGeometry(10,24,size().width()-20,size().height()-94);
|
||||
list_edit_button->setGeometry(10,size().height()-60,80,50);
|
||||
list_ok_button->setGeometry(size().width()-180,size().height()-60,80,50);
|
||||
list_cancel_button->setGeometry(size().width()-90,size().height()-60,80,50);
|
||||
list_close_button->setGeometry(size().width()-90,size().height()-60,80,50);
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// List Rivendell Endpoints
|
||||
//
|
||||
// (C) Copyright 2002-2019 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2002-2021 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
@ -21,13 +21,13 @@
|
||||
#ifndef LIST_ENDPOINTS_H
|
||||
#define LIST_ENDPOINTS_H
|
||||
|
||||
#include <q3listview.h>
|
||||
|
||||
#include <qlabel.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
|
||||
#include <rddialog.h>
|
||||
#include <rdendpointlistmodel.h>
|
||||
#include <rdmatrix.h>
|
||||
#include <rdtableview.h>
|
||||
#include <rduser.h>
|
||||
|
||||
class ListEndpoints : public RDDialog
|
||||
@ -40,9 +40,8 @@ class ListEndpoints : public RDDialog
|
||||
|
||||
private slots:
|
||||
void editData();
|
||||
void doubleClickedData(Q3ListViewItem *item,const QPoint &pt,int col);
|
||||
void okData();
|
||||
void cancelData();
|
||||
void doubleClickedData(const QModelIndex &index);
|
||||
void closeData();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
@ -50,16 +49,15 @@ class ListEndpoints : public RDDialog
|
||||
private:
|
||||
RDMatrix *list_matrix;
|
||||
RDMatrix::Endpoint list_endpoint;
|
||||
Q3ListView *list_list_view;
|
||||
RDTableView *list_list_view;
|
||||
RDEndpointListModel *list_list_model;
|
||||
QLabel *list_type_label;
|
||||
QPushButton *list_edit_button;
|
||||
QPushButton *list_ok_button;
|
||||
QPushButton *list_cancel_button;
|
||||
QPushButton *list_close_button;
|
||||
int list_size;
|
||||
QString list_table;
|
||||
bool list_readonly;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#endif // LIST_ENDPOINTS_H
|
||||
|
@ -55,7 +55,7 @@ ListMatrices::ListMatrices(QString station,QWidget *parent)
|
||||
list_model->setPalette(palette());
|
||||
list_view->setModel(list_model);
|
||||
list_title_label=
|
||||
new QLabel(list_view,tr("&Replicators:"),this);
|
||||
new QLabel(list_view,tr("Switcher/GPIO Devices")+":",this);
|
||||
list_title_label->setFont(labelFont());
|
||||
connect(list_view,SIGNAL(doubleClicked(const QModelIndex &)),
|
||||
this,SLOT(doubleClickedData(const QModelIndex &)));
|
||||
@ -215,7 +215,7 @@ void ListMatrices::closeData()
|
||||
void ListMatrices::resizeEvent(QResizeEvent *e)
|
||||
{
|
||||
list_view->setGeometry(10,24,size().width()-20,size().height()-94);
|
||||
list_title_label->setGeometry(14,5,85,19);
|
||||
list_title_label->setGeometry(14,5,size().width()-20,19);
|
||||
list_add_button->setGeometry(10,size().height()-60,80,50);
|
||||
list_edit_button->setGeometry(100,size().height()-60,80,50);
|
||||
list_delete_button->setGeometry(190,size().height()-60,80,50);
|
||||
|
@ -1358,11 +1358,11 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEndpoint</name>
|
||||
<message>
|
||||
<source>Edit Input</source>
|
||||
<translation>Upravit vstup</translation>
|
||||
<translation type="unfinished">Upravit vstup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Output</source>
|
||||
<translation>Upravit výstup</translation>
|
||||
<translation type="unfinished">Upravit výstup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name: </source>
|
||||
@ -1370,23 +1370,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Feed: </source>
|
||||
<translation>Přívod:</translation>
|
||||
<translation type="obsolete">Přívod:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mode: </source>
|
||||
<translation>Režim: </translation>
|
||||
<translation type="obsolete">Režim: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Vlevo</translation>
|
||||
<translation type="obsolete">Vlevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Vpravo</translation>
|
||||
<translation type="obsolete">Vpravo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine (Hex): </source>
|
||||
@ -1394,7 +1394,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provider ID:</source>
|
||||
<translation>ID poskytovatele:</translation>
|
||||
<translation type="obsolete">ID poskytovatele:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex): </source>
|
||||
@ -1402,7 +1402,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Service ID:</source>
|
||||
<translation>ID služby:</translation>
|
||||
<translation type="obsolete">ID služby:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
@ -1414,23 +1414,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid Number</source>
|
||||
<translation>Neplatné číslo</translation>
|
||||
<translation type="obsolete">Neplatné číslo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Engine Number is Invalid!</source>
|
||||
<translation>Číslo stroje je neplatné!</translation>
|
||||
<translation type="obsolete">Číslo stroje je neplatné!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Provider ID is Invalid!</source>
|
||||
<translation>ID poskytovatele je neplatné!</translation>
|
||||
<translation type="obsolete">ID poskytovatele je neplatné!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Device Number is Invalid!</source>
|
||||
<translation>Číslo zařízení je neplatné!</translation>
|
||||
<translation type="obsolete">Číslo zařízení je neplatné!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Service ID is Invalid!</source>
|
||||
<translation>ID služby je neplatné!</translation>
|
||||
<translation type="obsolete">ID služby je neplatné!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5206,47 +5206,47 @@ Stále ještě jej chcete smazat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>INPUT</source>
|
||||
<translation>VSTUP</translation>
|
||||
<translation type="obsolete">VSTUP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUTPUT</source>
|
||||
<translation>VÝSTUP</translation>
|
||||
<translation type="obsolete">VÝSTUP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LABEL</source>
|
||||
<translation>ŠTÍTEK</translation>
|
||||
<translation type="obsolete">ŠTÍTEK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SOURCE</source>
|
||||
<translation>ZDROJ</translation>
|
||||
<translation type="obsolete">ZDROJ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MODE</source>
|
||||
<translation>REŽIM</translation>
|
||||
<translation type="obsolete">REŽIM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ENGINE (Hex)</source>
|
||||
<translation>STROJ (Hex)</translation>
|
||||
<translation type="obsolete">STROJ (Hex)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DEVICE (Hex)</source>
|
||||
<translation>ZAŘÍZENÍ (Hex)</translation>
|
||||
<translation type="obsolete">ZAŘÍZENÍ (Hex)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PROVIDER ID</source>
|
||||
<translation>ID POSKYTOVATELE</translation>
|
||||
<translation type="obsolete">ID POSKYTOVATELE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SERVICE ID</source>
|
||||
<translation>ID SLUŽBY</translation>
|
||||
<translation type="obsolete">ID SLUŽBY</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NODE</source>
|
||||
<translation>UZEL</translation>
|
||||
<translation type="obsolete">UZEL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>#</source>
|
||||
<translation>#</translation>
|
||||
<translation type="obsolete">#</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
@ -5254,43 +5254,47 @@ Stále ještě jej chcete smazat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>Z&rušit</translation>
|
||||
<translation type="obsolete">Z&rušit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Vlevo</translation>
|
||||
<translation type="obsolete">Vlevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Vpravo</translation>
|
||||
<translation type="obsolete">Vpravo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation>Vstup</translation>
|
||||
<translation type="obsolete">Vstup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Výstup</translation>
|
||||
<translation type="obsolete">Výstup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>left</source>
|
||||
<translation>Vlevo</translation>
|
||||
<translation type="obsolete">Vlevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>right</source>
|
||||
<translation>Vpravo</translation>
|
||||
<translation type="obsolete">Vpravo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Zavřít</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5865,7 +5869,11 @@ Stále ještě jej chcete smazat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Replicators:</source>
|
||||
<translation type="unfinished">&Zopakování:</translation>
|
||||
<translation type="obsolete">&Zopakování:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Switcher/GPIO Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1266,11 +1266,11 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEndpoint</name>
|
||||
<message>
|
||||
<source>Edit Input</source>
|
||||
<translation>Eingang editieren</translation>
|
||||
<translation type="unfinished">Eingang editieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Output</source>
|
||||
<translation>Ausgang editieren</translation>
|
||||
<translation type="unfinished">Ausgang editieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name: </source>
|
||||
@ -1278,23 +1278,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Feed: </source>
|
||||
<translation>Feed:</translation>
|
||||
<translation type="obsolete">Feed:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mode: </source>
|
||||
<translation>Modus:</translation>
|
||||
<translation type="obsolete">Modus:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Links</translation>
|
||||
<translation type="obsolete">Links</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Rechts</translation>
|
||||
<translation type="obsolete">Rechts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine (Hex): </source>
|
||||
@ -1302,7 +1302,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provider ID:</source>
|
||||
<translation>Provider ID:</translation>
|
||||
<translation type="obsolete">Provider ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex): </source>
|
||||
@ -1310,7 +1310,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Service ID:</source>
|
||||
<translation>Service ID:</translation>
|
||||
<translation type="obsolete">Service ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
@ -1322,23 +1322,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid Number</source>
|
||||
<translation>Ungültige Nummer</translation>
|
||||
<translation type="obsolete">Ungültige Nummer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Engine Number is Invalid!</source>
|
||||
<translation>Die Engine-Nummer ist ungültig!</translation>
|
||||
<translation type="obsolete">Die Engine-Nummer ist ungültig!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Provider ID is Invalid!</source>
|
||||
<translation>Die Provider-ID ist ungültig!</translation>
|
||||
<translation type="obsolete">Die Provider-ID ist ungültig!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Device Number is Invalid!</source>
|
||||
<translation>Die Gerätenummer ist ungültig!</translation>
|
||||
<translation type="obsolete">Die Gerätenummer ist ungültig!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Service ID is Invalid!</source>
|
||||
<translation>Die Service-ID ist ungültig!</translation>
|
||||
<translation type="obsolete">Die Service-ID ist ungültig!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4884,47 +4884,47 @@ Wollen Sie ihn immernoch löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>INPUT</source>
|
||||
<translation>EINGANG</translation>
|
||||
<translation type="obsolete">EINGANG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUTPUT</source>
|
||||
<translation>AUSGANG</translation>
|
||||
<translation type="obsolete">AUSGANG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LABEL</source>
|
||||
<translation>LABEL</translation>
|
||||
<translation type="obsolete">LABEL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SOURCE</source>
|
||||
<translation>QUELLE</translation>
|
||||
<translation type="obsolete">QUELLE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MODE</source>
|
||||
<translation>MODUS</translation>
|
||||
<translation type="obsolete">MODUS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ENGINE (Hex)</source>
|
||||
<translation>ENGINE (Hex)</translation>
|
||||
<translation type="obsolete">ENGINE (Hex)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DEVICE (Hex)</source>
|
||||
<translation>GERÄT (Hex)</translation>
|
||||
<translation type="obsolete">GERÄT (Hex)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PROVIDER ID</source>
|
||||
<translation>PROVIDER ID</translation>
|
||||
<translation type="obsolete">PROVIDER ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SERVICE ID</source>
|
||||
<translation>SERVICE ID</translation>
|
||||
<translation type="obsolete">SERVICE ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NODE</source>
|
||||
<translation>NODE</translation>
|
||||
<translation type="obsolete">NODE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>#</source>
|
||||
<translation>#</translation>
|
||||
<translation type="obsolete">#</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
@ -4932,43 +4932,47 @@ Wollen Sie ihn immernoch löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>Abbre&chen</translation>
|
||||
<translation type="obsolete">Abbre&chen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Links</translation>
|
||||
<translation type="obsolete">Links</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Rechts</translation>
|
||||
<translation type="obsolete">Rechts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation>Eingang</translation>
|
||||
<translation type="obsolete">Eingang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Ausgang</translation>
|
||||
<translation type="obsolete">Ausgang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>left</source>
|
||||
<translation>Links</translation>
|
||||
<translation type="obsolete">Links</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>right</source>
|
||||
<translation>Rechts</translation>
|
||||
<translation type="obsolete">Rechts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Schliessen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5510,7 +5514,7 @@ Generieren</translation>
|
||||
<translation type="obsolete">BroadcastTools SRC-16</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Replicators:</source>
|
||||
<source>Switcher/GPIO Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -1360,11 +1360,11 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEndpoint</name>
|
||||
<message>
|
||||
<source>Edit Input</source>
|
||||
<translation>Editar Entrada</translation>
|
||||
<translation type="unfinished">Editar Entrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Output</source>
|
||||
<translation>Editar Salida</translation>
|
||||
<translation type="unfinished">Editar Salida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name: </source>
|
||||
@ -1372,23 +1372,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Feed: </source>
|
||||
<translation>Feed: </translation>
|
||||
<translation type="obsolete">Feed: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mode: </source>
|
||||
<translation>Modo: </translation>
|
||||
<translation type="obsolete">Modo: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Estéreo</translation>
|
||||
<translation type="obsolete">Estéreo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Izquierda</translation>
|
||||
<translation type="obsolete">Izquierda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Derecha</translation>
|
||||
<translation type="obsolete">Derecha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine (Hex): </source>
|
||||
@ -1396,7 +1396,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provider ID:</source>
|
||||
<translation>ID Proveedor:</translation>
|
||||
<translation type="obsolete">ID Proveedor:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex): </source>
|
||||
@ -1404,7 +1404,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Service ID:</source>
|
||||
<translation>ID del Servicio:</translation>
|
||||
<translation type="obsolete">ID del Servicio:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
@ -1416,23 +1416,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid Number</source>
|
||||
<translation>Número inválido</translation>
|
||||
<translation type="obsolete">Número inválido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Engine Number is Invalid!</source>
|
||||
<translation>¡El número del motor es inválido!</translation>
|
||||
<translation type="obsolete">¡El número del motor es inválido!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Provider ID is Invalid!</source>
|
||||
<translation>¡El ID del proveedor es inválido!</translation>
|
||||
<translation type="obsolete">¡El ID del proveedor es inválido!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Device Number is Invalid!</source>
|
||||
<translation>¡El número del dispositivo es inválido!</translation>
|
||||
<translation type="obsolete">¡El número del dispositivo es inválido!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Service ID is Invalid!</source>
|
||||
<translation>¡El ID del servicio es inválido!</translation>
|
||||
<translation type="obsolete">¡El ID del servicio es inválido!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5157,39 +5157,39 @@ Do you still want to delete it?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>INPUT</source>
|
||||
<translation>ENTRADA</translation>
|
||||
<translation type="obsolete">ENTRADA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUTPUT</source>
|
||||
<translation>SALIDA</translation>
|
||||
<translation type="obsolete">SALIDA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LABEL</source>
|
||||
<translation>ETIQ</translation>
|
||||
<translation type="obsolete">ETIQ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SOURCE</source>
|
||||
<translation>FUENTE</translation>
|
||||
<translation type="obsolete">FUENTE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MODE</source>
|
||||
<translation>MODO</translation>
|
||||
<translation type="obsolete">MODO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ENGINE (Hex)</source>
|
||||
<translation>MOTOR (Hex)</translation>
|
||||
<translation type="obsolete">MOTOR (Hex)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DEVICE (Hex)</source>
|
||||
<translation>DISPOSIT (Hex)</translation>
|
||||
<translation type="obsolete">DISPOSIT (Hex)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PROVIDER ID</source>
|
||||
<translation>ID PROVEEDOR</translation>
|
||||
<translation type="obsolete">ID PROVEEDOR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SERVICE ID</source>
|
||||
<translation>ID SERVICIO</translation>
|
||||
<translation type="obsolete">ID SERVICIO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
@ -5197,51 +5197,55 @@ Do you still want to delete it?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&Aceptar</translation>
|
||||
<translation type="obsolete">&Aceptar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Cancelar</translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Estéreo</translation>
|
||||
<translation type="obsolete">Estéreo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Izquierda</translation>
|
||||
<translation type="obsolete">Izquierda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Derecha</translation>
|
||||
<translation type="obsolete">Derecha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation>Entrada</translation>
|
||||
<translation type="obsolete">Entrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Salida</translation>
|
||||
<translation type="obsolete">Salida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>stereo</source>
|
||||
<translation>estéreo</translation>
|
||||
<translation type="obsolete">estéreo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>left</source>
|
||||
<translation>izq</translation>
|
||||
<translation type="obsolete">izq</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>right</source>
|
||||
<translation>der</translation>
|
||||
<translation type="obsolete">der</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NODE</source>
|
||||
<translation>NODO</translation>
|
||||
<translation type="obsolete">NODO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>#</source>
|
||||
<translation>#</translation>
|
||||
<translation type="obsolete">#</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Cerrar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5772,7 +5776,11 @@ Do you still want to delete it?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Replicators:</source>
|
||||
<translation type="unfinished">&Replicadores:</translation>
|
||||
<translation type="obsolete">&Replicadores:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Switcher/GPIO Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -932,54 +932,18 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditEndpoint</name>
|
||||
<message>
|
||||
<source>Edit Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Feed: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mode: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine (Hex): </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provider ID:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex): </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Service ID:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -989,23 +953,11 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid Number</source>
|
||||
<source>Edit Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Engine Number is Invalid!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Provider ID is Invalid!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Device Number is Invalid!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Service ID is Invalid!</source>
|
||||
<source>Edit Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -3957,92 +3909,12 @@ Permissions</source>
|
||||
<source>List Outputs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>INPUT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUTPUT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LABEL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SOURCE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MODE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ENGINE (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DEVICE (Hex)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PROVIDER ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SERVICE ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NODE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>#</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>stereo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>right</source>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -4451,10 +4323,6 @@ Permissions</source>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Replicators:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to delete switcher</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -4471,6 +4339,10 @@ Permissions</source>
|
||||
<source>Deleting Switcher</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Switcher/GPIO Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ListPypads</name>
|
||||
|
@ -1228,11 +1228,11 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEndpoint</name>
|
||||
<message>
|
||||
<source>Edit Input</source>
|
||||
<translation>Rediger inngang</translation>
|
||||
<translation type="unfinished">Rediger inngang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Output</source>
|
||||
<translation>Rediger utgang</translation>
|
||||
<translation type="unfinished">Rediger utgang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name: </source>
|
||||
@ -1240,23 +1240,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Feed: </source>
|
||||
<translation>Straum:</translation>
|
||||
<translation type="obsolete">Straum:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mode: </source>
|
||||
<translation>Modus:</translation>
|
||||
<translation type="obsolete">Modus:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Venstre</translation>
|
||||
<translation type="obsolete">Venstre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Høgre</translation>
|
||||
<translation type="obsolete">Høgre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine (Hex): </source>
|
||||
@ -1264,7 +1264,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provider ID:</source>
|
||||
<translation>Tilbydar-ID:</translation>
|
||||
<translation type="obsolete">Tilbydar-ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex): </source>
|
||||
@ -1272,7 +1272,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Service ID:</source>
|
||||
<translation>Tenest-ID:</translation>
|
||||
<translation type="obsolete">Tenest-ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
@ -1284,23 +1284,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid Number</source>
|
||||
<translation>Ugyldig nummer</translation>
|
||||
<translation type="obsolete">Ugyldig nummer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Engine Number is Invalid!</source>
|
||||
<translation>Ugyldig nummer!</translation>
|
||||
<translation type="obsolete">Ugyldig nummer!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Provider ID is Invalid!</source>
|
||||
<translation>Tilbydar-ID-en er ugyldig!</translation>
|
||||
<translation type="obsolete">Tilbydar-ID-en er ugyldig!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Device Number is Invalid!</source>
|
||||
<translation>Einingsnummeret er ugyldig!</translation>
|
||||
<translation type="obsolete">Einingsnummeret er ugyldig!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Service ID is Invalid!</source>
|
||||
<translation>Tenest-ID-en er ugyldig!</translation>
|
||||
<translation type="obsolete">Tenest-ID-en er ugyldig!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4741,47 +4741,47 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>INPUT</source>
|
||||
<translation>INNGANG</translation>
|
||||
<translation type="obsolete">INNGANG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUTPUT</source>
|
||||
<translation>UTGANG</translation>
|
||||
<translation type="obsolete">UTGANG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LABEL</source>
|
||||
<translation>MERKE</translation>
|
||||
<translation type="obsolete">MERKE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SOURCE</source>
|
||||
<translation>KJELDE</translation>
|
||||
<translation type="obsolete">KJELDE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MODE</source>
|
||||
<translation>MODUS</translation>
|
||||
<translation type="obsolete">MODUS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ENGINE (Hex)</source>
|
||||
<translation>MASKIN (heksadesimal)</translation>
|
||||
<translation type="obsolete">MASKIN (heksadesimal)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DEVICE (Hex)</source>
|
||||
<translation>EINING (heksadesimal)</translation>
|
||||
<translation type="obsolete">EINING (heksadesimal)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PROVIDER ID</source>
|
||||
<translation>TILBYDAR-ID</translation>
|
||||
<translation type="obsolete">TILBYDAR-ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SERVICE ID</source>
|
||||
<translation>TENEST-ID</translation>
|
||||
<translation type="obsolete">TENEST-ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NODE</source>
|
||||
<translation>NODE</translation>
|
||||
<translation type="obsolete">NODE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>#</source>
|
||||
<translation>#</translation>
|
||||
<translation type="obsolete">#</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
@ -4789,43 +4789,47 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Avbryt</translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Venstre</translation>
|
||||
<translation type="obsolete">Venstre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Høgre</translation>
|
||||
<translation type="obsolete">Høgre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation>Inngang</translation>
|
||||
<translation type="obsolete">Inngang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Utgang</translation>
|
||||
<translation type="obsolete">Utgang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>stereo</source>
|
||||
<translation>stereo</translation>
|
||||
<translation type="obsolete">stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>left</source>
|
||||
<translation>venstre</translation>
|
||||
<translation type="obsolete">venstre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>right</source>
|
||||
<translation>høgre</translation>
|
||||
<translation type="obsolete">høgre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Lukk</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5367,7 +5371,7 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
<translation type="obsolete">BroadcastTools SS4.4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Replicators:</source>
|
||||
<source>Switcher/GPIO Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -1228,11 +1228,11 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEndpoint</name>
|
||||
<message>
|
||||
<source>Edit Input</source>
|
||||
<translation>Rediger inngang</translation>
|
||||
<translation type="unfinished">Rediger inngang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Output</source>
|
||||
<translation>Rediger utgang</translation>
|
||||
<translation type="unfinished">Rediger utgang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name: </source>
|
||||
@ -1240,23 +1240,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Feed: </source>
|
||||
<translation>Straum:</translation>
|
||||
<translation type="obsolete">Straum:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mode: </source>
|
||||
<translation>Modus:</translation>
|
||||
<translation type="obsolete">Modus:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Venstre</translation>
|
||||
<translation type="obsolete">Venstre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Høgre</translation>
|
||||
<translation type="obsolete">Høgre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine (Hex): </source>
|
||||
@ -1264,7 +1264,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provider ID:</source>
|
||||
<translation>Tilbydar-ID:</translation>
|
||||
<translation type="obsolete">Tilbydar-ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex): </source>
|
||||
@ -1272,7 +1272,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Service ID:</source>
|
||||
<translation>Tenest-ID:</translation>
|
||||
<translation type="obsolete">Tenest-ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
@ -1284,23 +1284,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid Number</source>
|
||||
<translation>Ugyldig nummer</translation>
|
||||
<translation type="obsolete">Ugyldig nummer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Engine Number is Invalid!</source>
|
||||
<translation>Ugyldig nummer!</translation>
|
||||
<translation type="obsolete">Ugyldig nummer!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Provider ID is Invalid!</source>
|
||||
<translation>Tilbydar-ID-en er ugyldig!</translation>
|
||||
<translation type="obsolete">Tilbydar-ID-en er ugyldig!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Device Number is Invalid!</source>
|
||||
<translation>Einingsnummeret er ugyldig!</translation>
|
||||
<translation type="obsolete">Einingsnummeret er ugyldig!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Service ID is Invalid!</source>
|
||||
<translation>Tenest-ID-en er ugyldig!</translation>
|
||||
<translation type="obsolete">Tenest-ID-en er ugyldig!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4741,47 +4741,47 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>INPUT</source>
|
||||
<translation>INNGANG</translation>
|
||||
<translation type="obsolete">INNGANG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUTPUT</source>
|
||||
<translation>UTGANG</translation>
|
||||
<translation type="obsolete">UTGANG</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LABEL</source>
|
||||
<translation>MERKE</translation>
|
||||
<translation type="obsolete">MERKE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SOURCE</source>
|
||||
<translation>KJELDE</translation>
|
||||
<translation type="obsolete">KJELDE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MODE</source>
|
||||
<translation>MODUS</translation>
|
||||
<translation type="obsolete">MODUS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ENGINE (Hex)</source>
|
||||
<translation>MASKIN (heksadesimal)</translation>
|
||||
<translation type="obsolete">MASKIN (heksadesimal)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DEVICE (Hex)</source>
|
||||
<translation>EINING (heksadesimal)</translation>
|
||||
<translation type="obsolete">EINING (heksadesimal)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PROVIDER ID</source>
|
||||
<translation>TILBYDAR-ID</translation>
|
||||
<translation type="obsolete">TILBYDAR-ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SERVICE ID</source>
|
||||
<translation>TENEST-ID</translation>
|
||||
<translation type="obsolete">TENEST-ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NODE</source>
|
||||
<translation>NODE</translation>
|
||||
<translation type="obsolete">NODE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>#</source>
|
||||
<translation>#</translation>
|
||||
<translation type="obsolete">#</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
@ -4789,43 +4789,47 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Avbryt</translation>
|
||||
<translation type="obsolete">&Avbryt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Stereo</translation>
|
||||
<translation type="obsolete">Stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Venstre</translation>
|
||||
<translation type="obsolete">Venstre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Høgre</translation>
|
||||
<translation type="obsolete">Høgre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation>Inngang</translation>
|
||||
<translation type="obsolete">Inngang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Utgang</translation>
|
||||
<translation type="obsolete">Utgang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>stereo</source>
|
||||
<translation>stereo</translation>
|
||||
<translation type="obsolete">stereo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>left</source>
|
||||
<translation>venstre</translation>
|
||||
<translation type="obsolete">venstre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>right</source>
|
||||
<translation>høgre</translation>
|
||||
<translation type="obsolete">høgre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Lukk</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5367,7 +5371,7 @@ Klikk på "Lisens"-knappen for fleire opplysningar.</translation>
|
||||
<translation type="obsolete">BroadcastTools SS4.4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Replicators:</source>
|
||||
<source>Switcher/GPIO Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -1238,11 +1238,11 @@ files, causing any whose files remain to be imported again.</source>
|
||||
<name>EditEndpoint</name>
|
||||
<message>
|
||||
<source>Edit Input</source>
|
||||
<translation>Editar Entrada</translation>
|
||||
<translation type="unfinished">Editar Entrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Output</source>
|
||||
<translation>Editar Saída</translation>
|
||||
<translation type="unfinished">Editar Saída</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name: </source>
|
||||
@ -1250,23 +1250,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Feed: </source>
|
||||
<translation>Feed: </translation>
|
||||
<translation type="obsolete">Feed: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Mode: </source>
|
||||
<translation>Modo:</translation>
|
||||
<translation type="obsolete">Modo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Estéreo</translation>
|
||||
<translation type="obsolete">Estéreo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Esquerda </translation>
|
||||
<translation type="obsolete">Esquerda </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Direita</translation>
|
||||
<translation type="obsolete">Direita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Engine (Hex): </source>
|
||||
@ -1274,7 +1274,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provider ID:</source>
|
||||
<translation>Identificação do Provedor: </translation>
|
||||
<translation type="obsolete">Identificação do Provedor: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Device (Hex): </source>
|
||||
@ -1282,7 +1282,7 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Service ID:</source>
|
||||
<translation>Identificação do Serviço:</translation>
|
||||
<translation type="obsolete">Identificação do Serviço:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
@ -1294,23 +1294,23 @@ files, causing any whose files remain to be imported again.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid Number</source>
|
||||
<translation>Número Inválido</translation>
|
||||
<translation type="obsolete">Número Inválido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Engine Number is Invalid!</source>
|
||||
<translation>O Número do Mecanismo é inválido! </translation>
|
||||
<translation type="obsolete">O Número do Mecanismo é inválido! </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Provider ID is Invalid!</source>
|
||||
<translation>A Identificação do Provedor é inválida! </translation>
|
||||
<translation type="obsolete">A Identificação do Provedor é inválida! </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Device Number is Invalid!</source>
|
||||
<translation>O Número do Dispositivo é inválido! </translation>
|
||||
<translation type="obsolete">O Número do Dispositivo é inválido! </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Service ID is Invalid!</source>
|
||||
<translation>A Identificação do Serviçor é inválida! </translation>
|
||||
<translation type="obsolete">A Identificação do Serviçor é inválida! </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4864,47 +4864,47 @@ Você ainda quer Deletar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>INPUT</source>
|
||||
<translation>ENTRADA</translation>
|
||||
<translation type="obsolete">ENTRADA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUTPUT</source>
|
||||
<translation>SAÍDA</translation>
|
||||
<translation type="obsolete">SAÍDA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LABEL</source>
|
||||
<translation>IDENTIFICAÇÃO</translation>
|
||||
<translation type="obsolete">IDENTIFICAÇÃO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SOURCE</source>
|
||||
<translation>FONTE</translation>
|
||||
<translation type="obsolete">FONTE</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MODE</source>
|
||||
<translation>MODO</translation>
|
||||
<translation type="obsolete">MODO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ENGINE (Hex)</source>
|
||||
<translation>MECANISMO (Hex)</translation>
|
||||
<translation type="obsolete">MECANISMO (Hex)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DEVICE (Hex)</source>
|
||||
<translation>DISPOSITIVO (Hex)</translation>
|
||||
<translation type="obsolete">DISPOSITIVO (Hex)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PROVIDER ID</source>
|
||||
<translation>PROVEDOR DE ID</translation>
|
||||
<translation type="obsolete">PROVEDOR DE ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SERVICE ID</source>
|
||||
<translation>ID DO SERVIÇO</translation>
|
||||
<translation type="obsolete">ID DO SERVIÇO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NODE</source>
|
||||
<translation>NÓDULO</translation>
|
||||
<translation type="obsolete">NÓDULO</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>#</source>
|
||||
<translation>#</translation>
|
||||
<translation type="obsolete">#</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Edit</source>
|
||||
@ -4912,43 +4912,47 @@ Você ainda quer Deletar?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
<translation type="obsolete">&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Cancelar</translation>
|
||||
<translation type="obsolete">&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo</source>
|
||||
<translation>Estéreo</translation>
|
||||
<translation type="obsolete">Estéreo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Esquerda </translation>
|
||||
<translation type="obsolete">Esquerda </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Direita</translation>
|
||||
<translation type="obsolete">Direita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input</source>
|
||||
<translation>Entrada</translation>
|
||||
<translation type="obsolete">Entrada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Saída</translation>
|
||||
<translation type="obsolete">Saída</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>stereo</source>
|
||||
<translation>Estéreo</translation>
|
||||
<translation type="obsolete">Estéreo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>left</source>
|
||||
<translation>esquerda</translation>
|
||||
<translation type="obsolete">esquerda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>right</source>
|
||||
<translation>direita</translation>
|
||||
<translation type="obsolete">direita</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Close</source>
|
||||
<translation type="unfinished">&Fechar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -5482,7 +5486,7 @@ Você ainda quer Deletar?</translation>
|
||||
<translation type="obsolete">BroadcastTools SS4.4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Replicators:</source>
|
||||
<source>Switcher/GPIO Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
Loading…
x
Reference in New Issue
Block a user