2021-01-22 Fred Gleason <fredg@paravelsystems.com>

* Modified the 'Configure RDAirPlay' dialog in rdadmin(1) to use
	'RDServiceListModel'.
	* Modified the 'Configure RDPanel' dialog in rdadmin(1) to use
	'RDServiceListModel'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2021-01-22 16:18:47 -05:00
parent 957e0516b9
commit 4be8879a0e
23 changed files with 105 additions and 98 deletions

View File

@ -20877,3 +20877,8 @@
2021-01-22 Fred Gleason <fredg@paravelsystems.com>
* Modified the 'Edit Deck' dialog in rdadmin(1) to use
'RDStationListModel'.
2021-01-22 Fred Gleason <fredg@paravelsystems.com>
* Modified the 'Configure RDAirPlay' dialog in rdadmin(1) to use
'RDServiceListModel'.
* Modified the 'Configure RDPanel' dialog in rdadmin(1) to use
'RDServiceListModel'.

View File

@ -3479,6 +3479,10 @@ Zkuste to, prosím, znovu!</translation>
<source>Import Markers</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RDSoundPanel</name>

View File

@ -3460,6 +3460,10 @@ bitte erneut versuchen!</translation>
<source>Import Markers</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RDSoundPanel</name>

View File

@ -3439,6 +3439,10 @@ please try again!</source>
<source>Import Markers</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RDSoundPanel</name>

View File

@ -2740,6 +2740,10 @@ please try again!</source>
<source>Import Markers</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RDSoundPanel</name>

View File

@ -3342,6 +3342,10 @@ prøv ein gong til!</translation>
<source>Import Markers</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RDSoundPanel</name>

View File

@ -3342,6 +3342,10 @@ prøv ein gong til!</translation>
<source>Import Markers</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RDSoundPanel</name>

View File

@ -3393,6 +3393,10 @@ por favor, tente novamente!</translation>
<source>Import Markers</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RDSoundPanel</name>

View File

@ -22,9 +22,11 @@
#include "rdescape_string.h"
#include "rdservicelistmodel.h"
RDServiceListModel::RDServiceListModel(QObject *parent)
RDServiceListModel::RDServiceListModel(bool incl_none,QObject *parent)
: QAbstractTableModel(parent)
{
d_include_none=incl_none;
//
// Column Attributes
//
@ -236,13 +238,19 @@ void RDServiceListModel::refresh(const QString &grpname)
void RDServiceListModel::updateModel()
{
QList<QVariant> texts;
QList<QVariant> icons;
RDSqlQuery *q=NULL;
QString sql=sqlFields();
sql+="order by NAME ";
beginResetModel();
d_texts.clear();
if(d_include_none) {
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());
}
}
q=new RDSqlQuery(sql);
while(q->next()) {
d_texts.push_back(texts);

View File

@ -41,7 +41,7 @@ class RDServiceListModel : public QAbstractTableModel
{
Q_OBJECT
public:
RDServiceListModel(QObject *parent=0);
RDServiceListModel(bool incl_none,QObject *parent=0);
~RDServiceListModel();
QPalette palette();
void setPalette(const QPalette &pal);
@ -68,7 +68,7 @@ class RDServiceListModel : public QAbstractTableModel
QPalette d_palette;
QFont d_font;
QFont d_bold_font;
QStringList d_service_names;
bool d_include_none;
QList<QVariant> d_headers;
QList<QVariant> d_alignments;
QList<QList<QVariant> > d_texts;

View File

@ -2,7 +2,7 @@
//
// Edit an RDAirPlay Configuration
//
// (C) Copyright 2002-2020 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
@ -18,19 +18,10 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <q3buttongroup.h>
#include <q3listbox.h>
#include <q3textedit.h>
#include <qcheckbox.h>
#include <qdialog.h>
#include <qevent.h>
#include <qfiledialog.h>
#include <qmessagebox.h>
#include <qpainter.h>
#include <qpushbutton.h>
#include <qradiobutton.h>
#include <qstring.h>
#include <QFileDialog>
#include <QMessageBox>
#include <QPainter>
#include <QRadioButton>
#include <rd.h>
#include <rddb.h>
@ -47,11 +38,6 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
QWidget *parent)
: RDDialog(parent)
{
setModal(true);
QString sql;
RDSqlQuery *q;
air_exitpasswd_changed=false;
air_logmachine=0;
air_virtual_logmachine=0;
@ -60,10 +46,8 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
//
// Fix the Window Size
//
setMinimumWidth(sizeHint().width());
setMaximumWidth(sizeHint().width());
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
setMinimumSize(sizeHint());
setMaximumSize(sizeHint());
air_conf=new RDAirPlayConf(station->name(),"RDAIRPLAY");
@ -77,6 +61,11 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
//
setWindowTitle("RDAdmin - "+tr("Configure RDAirPlay"));
//
// Models
//
air_service_model=new RDServiceListModel(true,this);
//
// Channel Assignments Section
//
@ -541,6 +530,7 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
//
air_defaultsvc_box=new QComboBox(this);
air_defaultsvc_box->setGeometry(895,142,100,20);
air_defaultsvc_box->setModel(air_service_model);
label=new QLabel(air_defaultsvc_box,tr("Default Service:"),this);
label->setFont(subLabelFont());
label->setGeometry(760,142,130,20);
@ -961,18 +951,7 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
air_piecount_box->setValue(air_conf->pieCountLength()/1000);
air_countto_box->setCurrentItem(air_conf->pieEndPoint());
air_default_transtype_box->setCurrentItem(air_conf->defaultTransType());
air_defaultsvc_box->insertItem(tr("[none]"));
QString defaultsvc=air_conf->defaultSvc();
sql=QString("select SERVICE_NAME from SERVICE_PERMS where ")+
"STATION_NAME=\""+RDEscapeString(air_conf->station())+"\"";
q=new RDSqlQuery(sql);
while(q->next()) {
air_defaultsvc_box->insertItem(q->value(0).toString());
if(defaultsvc==q->value(0).toString()) {
air_defaultsvc_box->setCurrentItem(air_defaultsvc_box->count()-1);
}
}
delete q;
air_defaultsvc_box->setCurrentText(air_conf->defaultSvc());
air_station_box->setValue(air_conf->panels(RDAirPlayConf::StationPanel));
air_user_box->setValue(air_conf->panels(RDAirPlayConf::UserPanel));
air_timesync_box->setChecked(air_conf->checkTimesync());
@ -1040,6 +1019,7 @@ EditRDAirPlay::EditRDAirPlay(RDStation *station,RDStation *cae_station,
EditRDAirPlay::~EditRDAirPlay()
{
delete air_service_model;
}

View File

@ -2,7 +2,7 @@
//
// Edit an RDAirPlay Configuration
//
// (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,18 +21,19 @@
#ifndef EDIT_RDAIRPLAY_H
#define EDIT_RDAIRPLAY_H
#include <qlineedit.h>
#include <qcombobox.h>
#include <qspinbox.h>
#include <q3datetimeedit.h>
#include <qlabel.h>
#include <qcheckbox.h>
#include <q3buttongroup.h>
#include <QCheckBox>
#include <QComboBox>
#include <QLabel>
#include <QLineEdit>
#include <QSpinBox>
#include <rd.h>
#include <rdairplay_conf.h>
#include <rdcardselector.h>
#include <rddialog.h>
#include <rdservicelistmodel.h>
#include <rdstation.h>
/*
@ -148,6 +149,7 @@ class EditRDAirPlay : public RDDialog
QComboBox *air_virtual_logstartmode_box;
int air_virtual_logstartmachine;
RDAirPlayConf::OpMode air_virtual_opmodes[RD_RDVAIRPLAY_LOG_QUAN];
RDServiceListModel *air_service_model;
};

View File

@ -2,7 +2,7 @@
//
// Edit an RDLibrry Configuration
//
// (C) Copyright 2002-2020 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,11 +21,12 @@
#ifndef EDIT_RDLIBRARY_H
#define EDIT_RDLIBRARY_H
#include <qlineedit.h>
#include <qcombobox.h>
#include <qspinbox.h>
#include <q3datetimeedit.h>
#include <QComboBox>
#include <QLineEdit>
#include <QSpinBox>
#include <rdcardselector.h>
#include <rddialog.h>
#include <rdlibrary_conf.h>

View File

@ -2,7 +2,7 @@
//
// Edit an RDPanel Configuration
//
// (C) Copyright 2002-2020 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
@ -18,9 +18,8 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <qfiledialog.h>
#include <qmessagebox.h>
#include <qpushbutton.h>
#include <QFileDialog>
#include <QMessageBox>
#include <rd.h>
#include <rddb.h>
@ -34,11 +33,6 @@ EditRDPanel::EditRDPanel(RDStation *station,RDStation *cae_station,
QWidget *parent)
: RDDialog(parent)
{
setModal(true);
QString sql;
RDSqlQuery *q;
//
// Fix the Window Size
//
@ -57,6 +51,11 @@ EditRDPanel::EditRDPanel(RDStation *station,RDStation *cae_station,
//
setWindowTitle("RDAdmin - "+tr("Configure RDPanel"));
//
// Models
//
air_service_model=new RDServiceListModel(true,this);
//
// Channel Assignments Section
//
@ -288,6 +287,7 @@ EditRDPanel::EditRDPanel(RDStation *station,RDStation *cae_station,
//
air_defaultsvc_box=new QComboBox(this);
air_defaultsvc_box->setGeometry(520,151,100,20);
air_defaultsvc_box->setModel(air_service_model);
label=new QLabel(air_defaultsvc_box,tr("Default Service:"),this);
label->setFont(subLabelFont());
label->setGeometry(385,151,130,20);
@ -358,18 +358,7 @@ EditRDPanel::EditRDPanel(RDStation *station,RDStation *cae_station,
air_card_sel[5]->setCard(air_conf->card(RDAirPlayConf::CueChannel));
air_card_sel[5]->setPort(air_conf->port(RDAirPlayConf::CueChannel));
air_defaultsvc_box->insertItem(tr("[none]"));
QString defaultsvc=air_conf->defaultSvc();
sql=QString("select SERVICE_NAME from SERVICE_PERMS where ")+
"STATION_NAME=\""+RDEscapeString(air_conf->station())+"\"";
q=new RDSqlQuery(sql);
while(q->next()) {
air_defaultsvc_box->insertItem(q->value(0).toString());
if(defaultsvc==q->value(0).toString()) {
air_defaultsvc_box->setCurrentItem(air_defaultsvc_box->count()-1);
}
}
delete q;
air_defaultsvc_box->setCurrentText(air_conf->defaultSvc());
air_skin_edit->setText(air_conf->skinPath());
air_station_box->setValue(air_conf->panels(RDAirPlayConf::StationPanel));
air_user_box->setValue(air_conf->panels(RDAirPlayConf::UserPanel));

View File

@ -2,7 +2,7 @@
//
// Edit an RDPanel Configuration
//
// (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,16 +21,17 @@
#ifndef EDIT_RDPANEL_H
#define EDIT_RDPANEL_H
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qspinbox.h>
#include <QCheckBox>
#include <QComboBox>
#include <QLabel>
#include <QLineEdit>
#include <QSpinBox>
#include <rd.h>
#include <rdairplay_conf.h>
#include <rdcardselector.h>
#include <rddialog.h>
#include <rdservicelistmodel.h>
#include <rdstation.h>
/*
@ -68,6 +69,7 @@ class EditRDPanel : public RDDialog
QLineEdit *air_label_template_edit;
QComboBox *air_defaultsvc_box;
QLineEdit *air_skin_edit;
RDServiceListModel *air_service_model;
};

View File

@ -89,7 +89,7 @@ ListSvcs::ListSvcs(QWidget *parent)
list_services_view->setShowGrid(false);
list_services_view->setSortingEnabled(false);
list_services_view->setWordWrap(false);
list_services_model=new RDServiceListModel(this);
list_services_model=new RDServiceListModel(false,this);
list_services_model->setFont(defaultFont());
list_services_model->setPalette(palette());
list_services_view->setModel(list_services_model);

View File

@ -2777,7 +2777,7 @@ Daemons auf diesem Host neu, indem sie als &apos;root&apos;-Benutzer den Befehl
</message>
<message>
<source>[none]</source>
<translation>[žádný]</translation>
<translation type="obsolete">[žádný]</translation>
</message>
<message>
<source>Data Error</source>
@ -3479,7 +3479,7 @@ pro naplnění databáze zdroji zvuku.</translation>
</message>
<message>
<source>[none]</source>
<translation>[žádný]</translation>
<translation type="obsolete">[žádný]</translation>
</message>
<message>
<source>Select Image File</source>

View File

@ -2623,7 +2623,7 @@ Daemons auf diesem Host neu, indem sie als &apos;root&apos;-Benutzer den Befehl
</message>
<message>
<source>[none]</source>
<translation>[keine]</translation>
<translation type="obsolete">[keine]</translation>
</message>
<message>
<source>Data Error</source>
@ -3301,7 +3301,7 @@ configured to run the CAE service in order to populate the audio resources datab
</message>
<message>
<source>[none]</source>
<translation type="unfinished">[keine]</translation>
<translation type="obsolete">[keine]</translation>
</message>
<message>
<source>Select Image File</source>

View File

@ -2767,7 +2767,7 @@ Parameters</source>
</message>
<message>
<source>[none]</source>
<translation>[ninguno]</translation>
<translation type="obsolete">[ninguno]</translation>
</message>
<message>
<source>No Audio Configuration Data</source>
@ -3463,7 +3463,7 @@ para generar la base de datos con los recursos de audio disponibles.</translatio
</message>
<message>
<source>[none]</source>
<translation>[ninguno]</translation>
<translation type="obsolete">[ninguno]</translation>
</message>
<message>
<source>Select Image File</source>

View File

@ -2085,10 +2085,6 @@ GPIOs</source>
<source>No Audio Configuration Data</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Data Error</source>
<translation type="unfinished"></translation>
@ -2713,10 +2709,6 @@ configured to run the CAE service in order to populate the audio resources datab
<source>No Audio Configuration Data</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select Image File</source>
<translation type="unfinished"></translation>

View File

@ -2555,7 +2555,7 @@ for lydressursar.</translation>
</message>
<message>
<source>[none]</source>
<translation>[ingen]</translation>
<translation type="obsolete">[ingen]</translation>
</message>
<message>
<source>Data Error</source>
@ -3243,7 +3243,7 @@ for lydressursar.</translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished">[ingen]</translation>
<translation type="obsolete">[ingen]</translation>
</message>
<message>
<source>Select Image File</source>

View File

@ -2555,7 +2555,7 @@ for lydressursar.</translation>
</message>
<message>
<source>[none]</source>
<translation>[ingen]</translation>
<translation type="obsolete">[ingen]</translation>
</message>
<message>
<source>Data Error</source>
@ -3243,7 +3243,7 @@ for lydressursar.</translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished">[ingen]</translation>
<translation type="obsolete">[ingen]</translation>
</message>
<message>
<source>Select Image File</source>

View File

@ -2615,7 +2615,7 @@ Isto para popular os recursos de áudio na Base de Dados.</translation>
</message>
<message>
<source>[none]</source>
<translation>[Nenhum]</translation>
<translation type="obsolete">[Nenhum]</translation>
</message>
<message>
<source>Select Image File</source>
@ -3291,7 +3291,7 @@ Isto para popular os recursos de áudio na Base de Dados.</translation>
</message>
<message>
<source>[none]</source>
<translation type="unfinished">[Nenhum]</translation>
<translation type="obsolete">[Nenhum]</translation>
</message>
<message>
<source>Select Image File</source>