2018-02-06 Fred Gleason <fredg@paravelsystems.com>

* Refactored the RDListLogs class to use RDApplication.
	* Converted rdadmin(1) to use RDApplication.
This commit is contained in:
Fred Gleason 2018-02-05 22:22:50 -05:00
parent dbbf49e987
commit 2d2d52e408
38 changed files with 315 additions and 311 deletions

View File

@ -16672,3 +16672,8 @@
* Refactored the RDAudioImport class to use RDApplication.
2018-02-05 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RDImportAudio class to use RDApplication.
2018-02-05 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RDLogFilter class to use RDApplication.
2018-02-06 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RDListLogs class to use RDApplication.
* Converted rdadmin(1) to use RDApplication.

View File

@ -2,7 +2,7 @@
//
// Select a Rivendell Log
//
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2004,2016-2018 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
@ -20,15 +20,16 @@
#include <qpushbutton.h>
#include <qdatetime.h>
#include <rddb.h>
#include <rdescape_string.h>
#include <rdlist_logs.h>
#include "rdapplication.h"
#include "rddb.h"
#include "rdescape_string.h"
#include "rdlist_logs.h"
RDListLogs::RDListLogs(QString *logname,RDLogFilter::FilterMode mode,
RDUser *user,RDConfig *config,QWidget *parent)
QWidget *parent)
: QDialog(parent,"",true)
{
list_config=config;
list_logname=logname;
//
@ -50,7 +51,7 @@ RDListLogs::RDListLogs(QString *logname,RDLogFilter::FilterMode mode,
//
// Log Filter
//
list_filter_widget=new RDLogFilter(mode,user,config,this);
list_filter_widget=new RDLogFilter(mode,this);
connect(list_filter_widget,SIGNAL(filterChanged(const QString &)),
this,SLOT(filterChangedData(const QString &)));

View File

@ -2,7 +2,7 @@
//
// Select a Rivendell Log
//
// (C) Copyright 2007,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2007,2016-2018 Fred Gleason <fredg@paravelsystems.com>
//
// The RDListLogs class creates a basic dialog that displays a list of logs
// (log name, description, and service) and allows the user to select one. If
@ -26,21 +26,18 @@
#ifndef RDLIST_LOGS_H
#define RDLIST_LOGS_H
#include <qsqldatabase.h>
#include <qdialog.h>
#include <qlistview.h>
#include <qpushbutton.h>
#include <rdlogfilter.h>
#include <rduser.h>
class RDListLogs : public QDialog
{
Q_OBJECT
public:
RDListLogs(QString *logname,RDLogFilter::FilterMode mode,
RDUser *user,RDConfig *config,QWidget *parent=0);
RDListLogs(QString *logname,RDLogFilter::FilterMode mode,QWidget *parent=0);
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
@ -58,7 +55,6 @@ class RDListLogs : public QDialog
void RefreshList();
QListView *list_log_list;
QString *list_logname;
RDConfig *list_config;
QPushButton *list_ok_button;
QPushButton *list_cancel_button;
RDLogFilter *list_filter_widget;

View File

@ -2,7 +2,7 @@
//
// Filter widget for picking Rivendell logs.
//
// (C) Copyright 2017 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2017-2018 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,13 +18,13 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include "rdapplication.h"
#include "rddb.h"
#include "rd.h"
#include "rdescape_string.h"
#include "rdlogfilter.h"
RDLogFilter::RDLogFilter(RDLogFilter::FilterMode mode,RDUser *user,
RDConfig *config,QWidget *parent)
RDLogFilter::RDLogFilter(RDLogFilter::FilterMode mode,QWidget *parent)
: QWidget(parent)
{
QString sql;
@ -64,15 +64,13 @@ RDLogFilter::RDLogFilter(RDLogFilter::FilterMode mode,RDUser *user,
break;
case RDLogFilter::UserFilter:
if(user!=NULL) {
setUser(user);
}
changeUser();
break;
case RDLogFilter::StationFilter:
filter_service_box->insertItem(tr("ALL"));
sql=QString("select SERVICE_NAME from SERVICE_PERMS where ")+
"STATION_NAME=\""+RDEscapeString(config->stationName())+"\"";
"STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\"";
q=new RDSqlQuery(sql);
while(q->next()) {
filter_service_box->insertItem(q->value(0).toString());
@ -167,19 +165,22 @@ QString RDLogFilter::whereSql() const
}
void RDLogFilter::setUser(RDUser *user)
void RDLogFilter::changeUser()
{
filter_service_box->clear();
filter_service_box->insertItem(tr("ALL"));
QString sql=QString("select SERVICE_NAME from USER_SERVICE_PERMS where ")+
"USER_NAME=\""+RDEscapeString(user->name())+"\"";
RDSqlQuery *q=new RDSqlQuery(sql);
while(q->next()) {
filter_service_box->insertItem(q->value(0).toString());
if(filter_filter_mode==RDLogFilter::UserFilter) {
filter_service_box->clear();
filter_service_box->insertItem(tr("ALL"));
QString sql=QString("select SERVICE_NAME from USER_SERVICE_PERMS where ")+
"USER_NAME=\""+RDEscapeString(rda->user()->name())+"\"";
RDSqlQuery *q=new RDSqlQuery(sql);
while(q->next()) {
filter_service_box->insertItem(q->value(0).toString());
}
delete q;
}
delete q;
}
void RDLogFilter::filterChangedData(const QString &str)
{
emit filterChanged(whereSql());

View File

@ -2,7 +2,7 @@
//
// Filter widget for picking Rivendell logs.
//
// (C) Copyright 2017 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2017-2018 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
@ -29,20 +29,19 @@
#include <qstringlist.h>
#include <qwidget.h>
#include <rdconfig.h>
#include <rduser.h>
class RDLogFilter : public QWidget
{
Q_OBJECT;
public:
enum FilterMode {NoFilter=0,UserFilter=1,StationFilter=2};
RDLogFilter(FilterMode mode,RDUser *user,RDConfig *config,QWidget *parent=0);
RDLogFilter(FilterMode mode,QWidget *parent=0);
~RDLogFilter();
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
QString whereSql() const;
void setUser(RDUser *user);
public slots:
void changeUser();
signals:
void filterChanged(const QString &where_sql);

View File

@ -2,7 +2,7 @@
//
// Add a Rivendell Service
//
// (C) Copyright 2002,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002,2016-2018 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
@ -26,10 +26,11 @@
#include <qdatetime.h>
#include <rddb.h>
#include <rdtextvalidator.h>
#include <rdescape_string.h>
#include <rdapplication.h>
#include <rdcreateauxfieldstable.h>
#include <rdescape_string.h>
#include <rdfeedlog.h>
#include <rdtextvalidator.h>
#include "add_feed.h"
#include "edit_feed.h"
@ -179,7 +180,7 @@ void AddFeed::okData()
q=new RDSqlQuery(sql);
delete q;
RDCreateFeedLog(feed_keyname_edit->text());
RDCreateAuxFieldsTable(feed_keyname_edit->text(),admin_config);
RDCreateAuxFieldsTable(feed_keyname_edit->text(),rda->config());
sql=QString().sprintf("select ID from FEEDS where KEY_NAME=\"%s\"",
(const char *)feed_keyname_edit->text());
q=new RDSqlQuery(sql);

View File

@ -2,7 +2,7 @@
//
// Add a Rivendell Service
//
// (C) Copyright 2002,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002,2016-2018 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,6 +30,7 @@
#include <qcheckbox.h>
#include <qbuttongroup.h>
#include <rdapplication.h>
#include <rddb.h>
#include <rdpasswd.h>
#include <rdtextvalidator.h>
@ -153,7 +154,7 @@ void AddSvc::okData()
if(svc_exemplar_box->currentItem()>0) {
exemplar=svc_exemplar_box->currentText();
}
if(!RDSvc::create(svc_name_edit->text(),&err_msg,exemplar,admin_config)) {
if(!RDSvc::create(svc_name_edit->text(),&err_msg,exemplar,rda->config())) {
QMessageBox::warning(this,"RDAdmin - "+tr("Error"),err_msg);
return;
}

View File

@ -2,7 +2,7 @@
//
// Edit a List of Autofill Carts
//
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2004,2016-2018 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,14 +30,15 @@
#include <qcheckbox.h>
#include <qbuttongroup.h>
#include <rd.h>
#include <rdapplication.h>
#include <rdcart_dialog.h>
#include <rddb.h>
#include <rdconf.h>
#include <rd.h>
#include <rduser.h>
#include <rdcart_dialog.h>
#include <globals.h>
#include <autofill_carts.h>
#include "autofill_carts.h"
#include "globals.h"
AutofillCarts::AutofillCarts(RDSvc *svc,QWidget *parent)
: QDialog(parent,"",true)
@ -147,7 +148,7 @@ void AutofillCarts::addData()
{
int cart=0;
if(admin_cart_dialog->exec(&cart,RDCart::Audio,NULL,0,
admin_user->name(),admin_user->password())<0) {
rda->user()->name(),rda->user()->password())<0) {
return;
}
RDCart *rdcart=new RDCart(cart);

View File

@ -2454,9 +2454,12 @@ bool InitDb(QString name,QString pwd,QString station_name,RDConfig *config)
if(!RDSvc::create(RD_SERVICE_NAME,&err_msg,"",config)) {
return false;
}
RDSvc *svc=new RDSvc(RD_SERVICE_NAME,admin_station,admin_config);
svc->setDescription(RD_SERVICE_DESCRIPTION);
delete svc;
sql=QString("update SERVICES set ")+
"DESCRIPTION=\""+RDEscapeString(RD_SERVICE_DESCRIPTION)+"\" where "+
"NAME=\""+RDEscapeString(RD_SERVICE_NAME)+"\"";
if(!RunQuery(sql)) {
return false;
}
sql=QString("insert into USER_SERVICE_PERMS set ")+
"USER_NAME=\""+RDEscapeString(RD_USER_LOGIN_NAME)+"\","+
"SERVICE_NAME=\""+RDEscapeString(RD_SERVICE_NAME)+"\"";
@ -2708,10 +2711,10 @@ int UpdateDb(int ver,RDConfig *config)
toString("yyyyMMdd"),ver);
}
cmd=QString().sprintf("mysqldump -h %s -u %s -p%s %s | gzip -q -c - > %s",
(const char *)admin_config->mysqlHostname(),
(const char *)admin_config->mysqlUsername(),
(const char *)admin_config->mysqlPassword(),
(const char *)admin_config->mysqlDbname(),
(const char *)config->mysqlHostname(),
(const char *)config->mysqlUsername(),
(const char *)config->mysqlPassword(),
(const char *)config->mysqlDbname(),
(const char *)admin_backup_filename);
if(system(cmd)!=0) {
return UPDATEDB_BACKUP_FAILED;
@ -8041,5 +8044,6 @@ int UpdateDb(int ver,RDConfig *config)
q=new RDSqlQuery(QString().sprintf("update VERSION set DB=%d",
RD_VERSION_DATABASE),false);
delete q;
return UPDATEDB_SUCCESS;
}

View File

@ -2,7 +2,7 @@
//
// Create a Rivendell Database
//
// (C) Copyright 2002-2017 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2018 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

View File

@ -2,7 +2,7 @@
//
// Edit Rivendell CartSlot Configuration
//
// (C) Copyright 2012,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2012,2016-2018 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,12 +21,13 @@
#include <qmessagebox.h>
#include <rd.h>
#include <rdslotoptions.h>
#include <rdapplication.h>
#include <rdcart_dialog.h>
#include <rdescape_string.h>
#include <rdslotoptions.h>
#include <globals.h>
#include <edit_cartslots.h>
#include "edit_cartslots.h"
#include "globals.h"
EditCartSlots::EditCartSlots(RDStation *station,RDStation *cae_station,
QWidget *parent)
@ -361,7 +362,7 @@ void EditCartSlots::cartSelectData()
int cartnum=edit_cart_edit->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::All,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
edit_cart_edit->setText(QString().sprintf("%06d",cartnum));
}
}

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Dropbox Configuration
//
// (C) Copyright 2002-2007,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2007,2016-2018 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
@ -34,11 +34,13 @@
#include <qvalidator.h>
#include <qfiledialog.h>
#include <globals.h>
#include <rdapplication.h>
#include <rdcart_dialog.h>
#include <rddb.h>
#include <rdescape_string.h>
#include <edit_dropbox.h>
#include "globals.h"
#include "edit_dropbox.h"
EditDropbox::EditDropbox(int id,QWidget *parent)
: QDialog(parent,"",true)
@ -497,7 +499,7 @@ void EditDropbox::selectCartData()
{
int cartnum=box_to_cart_edit->text().toInt();
admin_cart_dialog->exec(&cartnum,RDCart::Audio,NULL,0,
admin_user->name(),admin_user->password());
rda->user()->name(),rda->user()->password());
if(cartnum>0) {
box_to_cart_edit->setText(QString().sprintf("%06d",cartnum));
}

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Feed
//
// (C) Copyright 2002-2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2018 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
@ -28,11 +28,12 @@
#include <qdatetime.h>
#include <qurl.h>
#include <rdapplication.h>
#include <rdexport_settings_dialog.h>
#include <edit_feed.h>
#include <list_aux_fields.h>
#include <globals.h>
#include "edit_feed.h"
#include "globals.h"
#include "list_aux_fields.h"
EditFeed::EditFeed(const QString &feed,QWidget *parent)
: QDialog(parent,"",true)
@ -45,7 +46,7 @@ EditFeed::EditFeed(const QString &feed,QWidget *parent)
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
feed_feed=new RDFeed(feed,admin_config,this);
feed_feed=new RDFeed(feed,rda->config(),this);
setCaption(tr("Feed: ")+feed);
@ -533,12 +534,10 @@ void EditFeed::purgeUsernameChangedData(const QString &username)
void EditFeed::setFormatData()
{
RDStation *station=new RDStation(admin_config->stationName());
RDExportSettingsDialog *dialog=
new RDExportSettingsDialog(&feed_settings,station,this);
new RDExportSettingsDialog(&feed_settings,rda->station(),this);
dialog->exec();
delete dialog;
delete station;
feed_format_edit->setText(feed_settings.description());
}

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Gpi
//
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2004,2016-2018 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 @@
#include <qmessagebox.h>
#include <qpainter.h>
#include <rdapplication.h>
#include <rdcart_dialog.h>
#include <rdtextvalidator.h>
#include <globals.h>
#include <edit_gpi.h>
#include "edit_gpi.h"
#include "globals.h"
EditGpi::EditGpi(int gpi,int *oncart,QString *ondesc,
int *offcart,QString *offdesc,QWidget *parent)
@ -218,7 +219,7 @@ void EditGpi::selectOnData()
{
int oncart=edit_onmacro_edit->text().toInt();
if(admin_cart_dialog->exec(&oncart,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
if(oncart>0) {
RDCart *rdcart=new RDCart(oncart);
edit_onmacro_edit->setText(QString().sprintf("%06d",oncart));
@ -244,7 +245,7 @@ void EditGpi::selectOffData()
{
int offcart=edit_offmacro_edit->text().toInt();
if(admin_cart_dialog->exec(&offcart,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
if(offcart>0) {
RDCart *rdcart=new RDCart(offcart);
edit_offmacro_edit->setText(QString().sprintf("%06d",offcart));

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Matrix
//
// (C) Copyright 2002-2012,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2012,2016-2018 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
@ -23,14 +23,15 @@
#include <qtextedit.h>
#include <qpainter.h>
#include <qmessagebox.h>
#include <qsqldatabase.h>
//#include <qsqldatabase.h>
#include <rd.h>
#include <rdapplication.h>
#include <rdcart_dialog.h>
#include <rddb.h>
#include <rdescape_string.h>
#include <rdmatrix.h>
#include <rdtextvalidator.h>
#include <rddb.h>
#include <rdcart_dialog.h>
#include <rdescape_string.h>
#include "globals.h"
#include "edit_user.h"
@ -1123,7 +1124,7 @@ void EditMatrix::startCartData()
{
int cartnum=edit_start_cart_edit->text().toUInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
if(cartnum>0) {
edit_start_cart_edit->setText(QString().sprintf("%06u",cartnum));
}
@ -1138,7 +1139,7 @@ void EditMatrix::stopCartData()
{
int cartnum=edit_stop_cart_edit->text().toUInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
if(cartnum>0) {
edit_stop_cart_edit->setText(QString().sprintf("%06u",cartnum));
}
@ -1153,7 +1154,7 @@ void EditMatrix::startCart2Data()
{
int cartnum=edit_start_cart2_edit->text().toUInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
if(cartnum>0) {
edit_start_cart2_edit->setText(QString().sprintf("%06u",cartnum));
}
@ -1168,7 +1169,7 @@ void EditMatrix::stopCart2Data()
{
int cartnum=edit_stop_cart2_edit->text().toUInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
if(cartnum>0) {
edit_stop_cart2_edit->setText(QString().sprintf("%06u",cartnum));
}

View File

@ -2,7 +2,7 @@
//
// Edit the Now & Next Configuration for a Rivendell Workstation.
//
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2004,2016-2018 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,14 +21,15 @@
#include <qmessagebox.h>
#include <qsignalmapper.h>
#include <rdapplication.h>
#include <rdescape_string.h>
#include <rdtextvalidator.h>
#include <rdlistviewitem.h>
#include <rdcart_dialog.h>
#include <rdtextvalidator.h>
#include <edit_now_next.h>
#include <edit_nownextplugin.h>
#include <globals.h>
#include "edit_now_next.h"
#include "edit_nownextplugin.h"
#include "globals.h"
EditNowNext::EditNowNext(RDAirPlayConf *conf,QWidget *parent)
: QDialog(parent,"",true)
@ -487,7 +488,7 @@ void EditNowNext::editNowcartData(int lognum)
{
int cartnum=nownext_nowcart_edit[lognum]->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::All,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
nownext_nowcart_edit[lognum]->setText(QString().sprintf("%06d",cartnum));
}
}
@ -497,7 +498,7 @@ void EditNowNext::editNextcartData(int lognum)
{
int cartnum=nownext_nextcart_edit[lognum]->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::All,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
nownext_nextcart_edit[lognum]->setText(QString().sprintf("%06d",cartnum));
}
}

View File

@ -1000,8 +1000,7 @@ void EditRDAirPlay::selectData()
{
QString logname=air_startlog_edit->text();
RDListLogs *ll=new RDListLogs(&logname,RDLogFilter::NoFilter,admin_user,
admin_config,this);
RDListLogs *ll=new RDListLogs(&logname,RDLogFilter::NoFilter,this);
if(ll->exec()==0) {
air_startlog_edit->setText(logname);
}

View File

@ -2,7 +2,7 @@
//
// Edit an RDLogedit Configuration
//
// (C) Copyright 2002-2015 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2018 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
@ -32,11 +32,12 @@
#include <qsqldatabase.h>
#include <rd.h>
#include <globals.h>
#include <edit_rdlogedit.h>
#include <rdtextvalidator.h>
#include <rdapplication.h>
#include <rdcart_dialog.h>
#include <rdtextvalidator.h>
#include "edit_rdlogedit.h"
#include "globals.h"
EditRDLogedit::EditRDLogedit(RDStation *station,RDStation *cae_station,
@ -388,7 +389,7 @@ void EditRDLogedit::selectStartData()
int cartnum=lib_startcart_edit->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
lib_startcart_edit->setText(QString().sprintf("%d",cartnum));
}
}
@ -398,7 +399,7 @@ void EditRDLogedit::selectEndData()
{
int cartnum=lib_endcart_edit->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
lib_endcart_edit->setText(QString().sprintf("%d",cartnum));
}
}
@ -408,7 +409,7 @@ void EditRDLogedit::selectRecordStartData()
{
int cartnum=lib_recstartcart_edit->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
lib_recstartcart_edit->setText(QString().sprintf("%d",cartnum));
}
}
@ -418,7 +419,7 @@ void EditRDLogedit::selectRecordEndData()
{
int cartnum=lib_recendcart_edit->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
lib_recendcart_edit->setText(QString().sprintf("%d",cartnum));
}
}

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Replicator
//
// (C) Copyright 2002-2015 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2018 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
@ -28,12 +28,13 @@
#include <qdatetime.h>
#include <qurl.h>
#include <rdexport_settings_dialog.h>
#include <rdapplication.h>
#include <rdescape_string.h>
#include <rdexport_settings_dialog.h>
#include <edit_replicator.h>
#include <list_aux_fields.h>
#include <globals.h>
#include "edit_replicator.h"
#include "globals.h"
#include "list_aux_fields.h"
EditReplicator::EditReplicator(const QString &repl_name,QWidget *parent)
: QDialog(parent,"",true)
@ -291,7 +292,7 @@ QSizePolicy EditReplicator::sizePolicy() const
void EditReplicator::setFormatData()
{
RDStation *station=new RDStation(admin_config->stationName());
RDStation *station=new RDStation(rda->config()->stationName());
RDExportSettingsDialog *dialog=
new RDExportSettingsDialog(repl_settings,station,this);
dialog->exec();

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Report
//
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2004,2016-2018 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,8 +30,9 @@
#include <qcheckbox.h>
#include <qbuttongroup.h>
#include <rddb.h>
#include <rd.h>
#include <rdapplication.h>
#include <rddb.h>
#include <rdtextvalidator.h>
#include "autofill_carts.h"
@ -56,7 +57,7 @@ EditReport::EditReport(QString rptname,QWidget *parent)
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
edit_report=new RDReport(rptname,admin_station,admin_config);
edit_report=new RDReport(rptname,rda->station(),rda->config());
str=QString(tr("Edit Report"));
setCaption(QString().sprintf("%s - %s",(const char *)str,
(const char *)rptname));

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Workstation Configuration
//
// (C) Copyright 2002-2010,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2010,2016-2018 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
@ -29,30 +29,31 @@
#include <qbuttongroup.h>
#include <qvalidator.h>
#include <rddb.h>
#include <rdconf.h>
#include <rdapplication.h>
#include <rdcatch_connect.h>
#include <rdcart_dialog.h>
#include <rdtextvalidator.h>
#include <rdconf.h>
#include <rddb.h>
#include <rdescape_string.h>
#include <rdtextvalidator.h>
#include <edit_station.h>
#include <edit_rdlibrary.h>
#include <edit_rdairplay.h>
#include <edit_rdpanel.h>
#include <edit_rdlogedit.h>
#include <edit_cartslots.h>
#include <edit_decks.h>
#include <edit_audios.h>
#include <edit_ttys.h>
#include <list_matrices.h>
#include <list_hostvars.h>
#include <edit_backup.h>
#include <view_adapters.h>
#include <list_dropboxes.h>
#include <list_encoders.h>
#include <edit_jack.h>
#include <globals.h>
#include "view_adapters.h"
#include "edit_audios.h"
#include "edit_backup.h"
#include "edit_cartslots.h"
#include "edit_decks.h"
#include "list_dropboxes.h"
#include "list_encoders.h"
#include "list_hostvars.h"
#include "edit_jack.h"
#include "list_matrices.h"
#include "edit_rdairplay.h"
#include "edit_rdlibrary.h"
#include "edit_rdlogedit.h"
#include "edit_rdpanel.h"
#include "edit_station.h"
#include "edit_ttys.h"
#include "globals.h"
EditStation::EditStation(QString sname,QWidget *parent)
: QDialog(parent,"",true)
@ -588,7 +589,7 @@ void EditStation::selectClicked()
int cartnum=station_startup_cart_edit->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
station_startup_cart_edit->setText(QString().sprintf("%06d",cartnum));
}
}
@ -610,7 +611,7 @@ void EditStation::heartbeatClickedData()
int cartnum=station_hbcart_edit->text().toInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
station_hbcart_edit->setText(QString().sprintf("%06d",cartnum));
}
}
@ -867,7 +868,7 @@ void EditStation::startCartClickedData()
int cartnum=station_start_cart_edit->text().toUInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
station_start_cart_edit->setText(QString().sprintf("%06d",cartnum));
}
}
@ -878,7 +879,7 @@ void EditStation::stopCartClickedData()
int cartnum=station_stop_cart_edit->text().toUInt();
if(admin_cart_dialog->exec(&cartnum,RDCart::Macro,NULL,0,
admin_user->name(),admin_user->password())==0) {
rda->user()->name(),rda->user()->password())==0) {
station_stop_cart_edit->setText(QString().sprintf("%06d",cartnum));
}
}

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell Service
//
// (C) Copyright 2002-2004,2008,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2004,2008,2016-2018 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,12 @@
#include <qcheckbox.h>
#include <qbuttongroup.h>
#include <rddb.h>
#include <rd.h>
#include <rduser.h>
#include <rdpasswd.h>
#include <rdapplication.h>
#include <rddb.h>
//#include <rduser.h>
#include <rdidvalidator.h>
#include <rdpasswd.h>
#include <rdtextvalidator.h>
#include "autofill_carts.h"
@ -59,7 +60,7 @@ EditSvc::EditSvc(QString svc,QWidget *parent)
setMinimumHeight(sizeHint().height());
setMaximumHeight(sizeHint().height());
svc_svc=new RDSvc(svc,admin_station,admin_config);
svc_svc=new RDSvc(svc,rda->station(),rda->config());
setCaption(tr("Edit Service"));

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell TTY Configuration
//
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2004,2016-2018 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
@ -27,12 +27,14 @@
#include <qcheckbox.h>
#include <qbuttongroup.h>
#include <rdapplication.h>
#include <rddb.h>
#include <edit_ttys.h>
#include <rdmacro.h>
#include <rdstation.h>
#include <rdtextvalidator.h>
#include <rdmacro.h>
#include <globals.h>
#include "edit_ttys.h"
#include "globals.h"
EditTtys::EditTtys(QString station,QWidget *parent)
: QDialog(parent,"",true)
@ -291,7 +293,7 @@ void EditTtys::closeData()
macro.setArg(0,i);
}
macro.setAddress(rmt_station->address());
rdripc->sendRml(&macro);
rda->ripc()->sendRml(&macro);
delete q;
}
}

View File

@ -2,7 +2,7 @@
//
// Edit a Rivendell User
//
// (C) Copyright 2002-2003,2016-2017 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2003,2016-2018 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
@ -29,17 +29,18 @@
#include <qmessagebox.h>
#include <qcheckbox.h>
#include <qbuttongroup.h>
#include <qsqldatabase.h>
//#include <qsqldatabase.h>
#include <edit_user.h>
#include <rduser.h>
#include <rdapplication.h>
#include <rdpasswd.h>
#include <rdtextvalidator.h>
#include <rduser.h>
#include <edit_user_perms.h>
#include <edit_user_service_perms.h>
#include <edit_feed_perms.h>
#include <globals.h>
#include "edit_user.h"
#include "edit_user_perms.h"
#include "edit_user_service_perms.h"
#include "edit_feed_perms.h"
#include "globals.h"
EditUser::EditUser(const QString &user,QWidget *parent)
: QDialog(parent,"",true)
@ -476,7 +477,7 @@ EditUser::EditUser(const QString &user,QWidget *parent)
//
// Don't Allow an Administrator to Disable Himself!
//
if(user_user->name()==admin_user->name()) {
if(user_user->name()==rda->user()->name()) {
user_admin_config_label->setDisabled(true);
user_admin_config_button->setDisabled(true);
}

View File

@ -2,7 +2,7 @@
//
// Global Definitions for RDAdmin
//
// (C) Copyright 2002-2003,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2003,2016-2018 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,21 +21,11 @@
#ifndef GLOBALS_H
#define GLOBALS_H
#include <rdripc.h>
#include <rdconfig.h>
#include <rduser.h>
#include <rdstation.h>
#include <rdsystem.h>
#include <rdcart_dialog.h>
//
// Global Classes
//
extern RDRipc *rdripc;
extern RDConfig *admin_config;
extern RDUser *admin_user;
extern RDStation *admin_station;
extern RDSystem *admin_system;
extern RDCartDialog *admin_cart_dialog;
extern QString admin_svc_name;
extern QString admin_admin_username;
@ -46,4 +36,5 @@ extern bool admin_skip_backup;
extern QString admin_backup_filename;
extern void PrintError(const QString &str,bool interactive);
#endif // GLOBALS_H

View File

@ -2,7 +2,7 @@
//
// List Rivendell Feeds
//
// (C) Copyright 2002-2007,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2007,2016-2018 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
@ -35,16 +35,17 @@
#include <qprogressdialog.h>
#include <qapplication.h>
#include <rddb.h>
#include <rdapplication.h>
#include <rdcart.h>
#include <rdtextfile.h>
#include <rdpodcast.h>
#include <rddb.h>
#include <rdfeedlog.h>
#include <rdpodcast.h>
#include <rdtextfile.h>
#include <list_feeds.h>
#include <edit_feed.h>
#include <add_feed.h>
#include <globals.h>
#include "add_feed.h"
#include "edit_feed.h"
#include "globals.h"
#include "list_feeds.h"
ListFeeds::ListFeeds(QWidget *parent)
: QDialog(parent,"",true)
@ -232,7 +233,7 @@ void ListFeeds::deleteData()
default:
break;
}
feed=new RDFeed(feedname,admin_config);
feed=new RDFeed(feedname,rda->config());
//
// Delete Casts
@ -251,8 +252,8 @@ void ListFeeds::deleteData()
while(q->next()) {
pd->setProgress(pd->progress()+1);
qApp->processEvents();
cast=new RDPodcast(admin_config,q->value(0).toUInt());
cast->removeAudio(feed,&errs,admin_config->logXloadDebugData());
cast=new RDPodcast(rda->config(),q->value(0).toUInt());
cast->removeAudio(feed,&errs,rda->config()->logXloadDebugData());
delete cast;
}
delete q;

View File

@ -2,7 +2,7 @@
//
// List Rivendell GPIOs
//
// (C) Copyright 2002-2008,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2008,2016-2018 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
@ -25,14 +25,15 @@
#include <qmessagebox.h>
#include <rd.h>
#include <rdpasswd.h>
#include <rdmacro.h>
#include <rdstation.h>
#include <rdapplication.h>
#include <rddb.h>
#include <rdmacro.h>
#include <rdpasswd.h>
#include <rdstation.h>
#include <list_gpis.h>
#include <edit_gpi.h>
#include <globals.h>
#include "edit_gpi.h"
#include "globals.h"
#include "list_gpis.h"
ListGpis::ListGpis(RDMatrix *matrix,RDMatrix::GpioType type,QWidget *parent)
: QDialog(parent,"",true)
@ -327,10 +328,10 @@ void ListGpis::okData()
rml.setArg(2,item->text(0).toInt());
rml.setArg(3,true);
rml.setArg(4,item->text(1).toInt());
rdripc->sendRml(&rml);
rda->ripc()->sendRml(&rml);
rml.setArg(3,false);
rml.setArg(4,item->text(3).toInt());
rdripc->sendRml(&rml);
rda->ripc()->sendRml(&rml);
item=item->nextSibling();
}
done(0);

View File

@ -2,7 +2,7 @@
//
// List Rivendell Groups
//
// (C) Copyright 2002,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002,2016-2018 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,17 +30,18 @@
#include <qevent.h>
#include <qmessagebox.h>
#include <qbuttongroup.h>
#include <rddb.h>
#include <rdapplication.h>
#include <rdcart.h>
#include <rdtextfile.h>
#include <rddb.h>
#include <rdescape_string.h>
#include <rdtextfile.h>
#include <globals.h>
#include <list_groups.h>
#include <edit_group.h>
#include <add_group.h>
#include <rename_group.h>
#include "add_group.h"
#include "globals.h"
#include "edit_group.h"
#include "list_groups.h"
#include "rename_group.h"
ListGroups::ListGroups(QWidget *parent)
: QDialog(parent,"",true)
@ -259,7 +260,7 @@ void ListGroups::deleteData()
RDCart *cart;
while(q->next()) {
cart=new RDCart(q->value(0).toUInt());
cart->remove(admin_station,admin_user,admin_config);
cart->remove(rda->station(),rda->user(),rda->config());
delete cart;
}
delete q;

View File

@ -2,7 +2,7 @@
//
// List Rivendell Matrices
//
// (C) Copyright 2002-2003,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2003,2016-2018 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
@ -29,12 +29,14 @@
#include <qmessagebox.h>
#include <qbuttongroup.h>
#include <rdstation.h>
//#include <rdstation.h>
#include <rdapplication.h>
#include <rddb.h>
#include <globals.h>
#include <list_matrices.h>
#include <edit_matrix.h>
#include <add_matrix.h>
#include "add_matrix.h"
#include "edit_matrix.h"
#include "globals.h"
#include "list_matrices.h"
ListMatrices::ListMatrices(QString station,QWidget *parent)
: QDialog(parent,"",true)
@ -239,7 +241,7 @@ void ListMatrices::closeData()
if(list_matrix_modified[i]) {
macro.setAddress(rmt_station->address());
macro.setArg(0,i);
rdripc->sendRml(&macro);
rda->ripc()->sendRml(&macro);
}
}
delete rmt_station;

View File

@ -2,7 +2,7 @@
//
// List Rivendell Services
//
// (C) Copyright 2002-2003,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2003,2016-2018 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
@ -28,6 +28,8 @@
#include <qevent.h>
#include <qmessagebox.h>
#include <qbuttongroup.h>
#include <rdapplication.h>
#include <rddb.h>
#include "add_svc.h"
@ -185,7 +187,7 @@ void ListSvcs::deleteData()
}
}
delete q;
RDSvc *svc=new RDSvc(list_box->currentText(),admin_station,admin_config);
RDSvc *svc=new RDSvc(list_box->currentText(),rda->station(),rda->config());
svc->remove();
delete svc;
list_box->removeItem(list_box->currentItem());

View File

@ -20,26 +20,26 @@
#include <stdlib.h>
#include <unistd.h>
#include <qsqldriver.h>
#include <qmessagebox.h>
#include <opendb.h>
#include <createdb.h>
#include <rd.h>
#include <rddb.h>
#include <dbversion.h>
#include <rdcheck_version.h>
#include <rdcheck_daemons.h>
#include <mysql_login.h>
#include <globals.h>
// Includes used for netmask and remote server detection.
#include <net/if.h>
#include <sys/ioctl.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <qmessagebox.h>
#include <qobject.h>
#include <rd.h>
#include <rdapplication.h>
#include <rddb.h>
#include <dbversion.h>
#include <rdcheck_version.h>
#include <rdcheck_daemons.h>
#include "globals.h"
#include "mysql_login.h"
#include "opendb.h"
#include "createdb.h"
/**
* Get the netmask of an interface and return it via an in_addr struct pointer.
*
@ -169,7 +169,7 @@ bool OpenDb(QString dbname,QString login,QString pwd,
//
// Open Database
//
QSqlDatabase *db=QSqlDatabase::addDatabase(admin_config->mysqlDriver());
QSqlDatabase *db=QSqlDatabase::addDatabase(config->mysqlDriver());
if(!db) {
return false;
}
@ -431,5 +431,13 @@ on this machine for a few seconds. Continue?"),
}
}
db->removeDatabase(dbname);
QString err_msg;
rda=new RDApplication("RDAdmin","rdadmin","");
if(!rda->open(&err_msg)) {
return false;
}
return true;
}

View File

@ -23,8 +23,6 @@
#include <qstring.h>
#include <rdconfig.h>
bool OpenDb(QString dbname,QString username,QString password,QString hostname,
QString stationname,bool interactive,RDConfig *config);

View File

@ -2,7 +2,7 @@
//
// The Administrator Utility for Rivendell.
//
// (C) Copyright 2002-2006,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2006,2016-2018 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,7 +18,6 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
@ -36,33 +35,31 @@
#include <qtextcodec.h>
#include <qtranslator.h>
#include <rdconf.h>
#include <rduser.h>
#include <rd.h>
#include <dbversion.h>
#include <rd.h>
#include <rdapplication.h>
#include <rdcheck_daemons.h>
#include <rdcmd_switch.h>
#include <rdconf.h>
#include <rddb.h>
#include <rddbheartbeat.h>
#include <globals.h>
#include <login.h>
#include <list_users.h>
#include <list_groups.h>
#include <list_svcs.h>
#include <list_stations.h>
#include <list_reports.h>
#include <list_feeds.h>
#include <list_schedcodes.h>
#include <list_replicators.h>
#include <edit_settings.h>
#include <rdadmin.h>
#include <opendb.h>
#include <info_dialog.h>
#include <createdb.h>
#include <rdescape_string.h>
#include "createdb.h"
#include "edit_settings.h"
#include "globals.h"
#include "info_dialog.h"
#include "list_feeds.h"
#include "list_groups.h"
#include "list_replicators.h"
#include "list_reports.h"
#include "list_schedcodes.h"
#include "list_svcs.h"
#include "list_stations.h"
#include "list_users.h"
#include "login.h"
#include "opendb.h"
#include "rdadmin.h"
//
// Icons
//
@ -71,11 +68,6 @@
//
// Global Classes
//
RDRipc *rdripc;
RDConfig *admin_config;
RDUser *admin_user;
RDStation *admin_station;
RDSystem *admin_system;
RDCartDialog *admin_cart_dialog;
bool exiting=false;
QString admin_admin_username;
@ -144,24 +136,24 @@ MainWidget::MainWidget(QWidget *parent)
//
// Load Configs
//
admin_config=new RDConfig(RD_CONF_FILE);
admin_config->load();
admin_config->setModuleName("RDAdmin");
RDConfig *config=new RDConfig(RD_CONF_FILE);
config->load();
config->setModuleName("RDAdmin");
str=QString(tr("RDAdmin")+" v"+VERSION+" - Host:");
setCaption(QString().
sprintf("%s %s",(const char *)str,
(const char *)admin_config->stationName()));
(const char *)config->stationName()));
//
// Open Database
//
if(!OpenDb(admin_config->mysqlDbname(),admin_config->mysqlUsername(),
admin_config->mysqlPassword(),admin_config->mysqlHostname(),
admin_config->stationName(),true,admin_config)) {
if(!OpenDb(config->mysqlDbname(),config->mysqlUsername(),
config->mysqlPassword(),config->mysqlHostname(),
config->stationName(),true,config)) {
exit(1);
}
new RDDbHeartbeat(admin_config->mysqlHeartbeatInterval());
new RDDbHeartbeat(rda->config()->mysqlHeartbeatInterval());
//
// Check (and possibly start) daemons
@ -178,10 +170,7 @@ MainWidget::MainWidget(QWidget *parent)
char temp[256];
GetPrivateProfileString(RD_CONF_FILE,"Identity","Password",
temp,"",255);
admin_station=new RDStation(admin_config->stationName(),this);
admin_system=new RDSystem();
rdripc=new RDRipc(admin_station,admin_config,this);
rdripc->connectHost("localhost",RIPCD_TCP_PORT,temp);
rda->ripc()->connectHost("localhost",RIPCD_TCP_PORT,temp);
//
// Log In
@ -190,13 +179,13 @@ MainWidget::MainWidget(QWidget *parent)
if(login->exec()!=0) {
exit(0);
}
admin_user=new RDUser(admin_username);
if(!admin_user->checkPassword(admin_password,false)) {
rda->user()->setName(admin_username);
if(!rda->user()->checkPassword(admin_password,false)) {
QMessageBox::warning(this,"Login Failed","Login Failed!.\n");
exiting=true;
}
else {
if(!admin_user->adminConfig()) {
if(!rda->user()->adminConfig()) {
QMessageBox::warning(this,tr("Insufficient Priviledges"),
tr("This account has insufficient priviledges for this operation."));
exiting=true;
@ -208,7 +197,7 @@ MainWidget::MainWidget(QWidget *parent)
//
admin_cart_dialog=
new RDCartDialog(&admin_filter,&admin_group,&admin_schedcode,NULL,
rdripc,admin_station,admin_system,admin_config,this);
rda->ripc(),rda->station(),rda->system(),rda->config(),this);
//
// User Labels
@ -217,13 +206,13 @@ MainWidget::MainWidget(QWidget *parent)
name_label->setGeometry(0,5,sizeHint().width(),20);
name_label->setAlignment(Qt::AlignVCenter|Qt::AlignCenter);
name_label->setFont(font);
name_label->setText(QString().sprintf("USER: %s",(const char *)admin_user->name()));
name_label->setText(QString().sprintf("USER: %s",(const char *)rda->user()->name()));
QLabel *description_label=new QLabel(this);
description_label->setGeometry(0,24,sizeHint().width(),14);
description_label->setAlignment(Qt::AlignVCenter|Qt::AlignCenter);
name_label->setFont(font);
description_label->setText(admin_user->description());
description_label->setText(rda->user()->description());
//
// Manage Users Button
@ -346,12 +335,6 @@ MainWidget::MainWidget(QWidget *parent)
}
MainWidget::~MainWidget()
{
delete admin_user;
}
QSize MainWidget::sizeHint() const
{
return QSize(370,330);
@ -366,7 +349,7 @@ QSizePolicy MainWidget::sizePolicy() const
void MainWidget::manageUsersData()
{
ListUsers *list_users=new ListUsers(admin_user->name(),this);
ListUsers *list_users=new ListUsers(rda->user()->name(),this);
list_users->exec();
delete list_users;
}
@ -426,10 +409,10 @@ void MainWidget::backupData()
filename+=".sql";
}
cmd=QString().sprintf("mysqldump -c %s -h %s -u %s -p%s > %s",
(const char *)admin_config->mysqlDbname(),
(const char *)admin_config->mysqlHostname(),
(const char *)admin_config->mysqlUsername(),
(const char *)admin_config->mysqlPassword(),
(const char *)rda->config()->mysqlDbname(),
(const char *)rda->config()->mysqlHostname(),
(const char *)rda->config()->mysqlUsername(),
(const char *)rda->config()->mysqlPassword(),
(const char *)filename);
status=system((const char *)cmd);
if(WEXITSTATUS(status)!=0) {
@ -467,10 +450,10 @@ void MainWidget::restoreData()
ClearTables();
cmd=QString().sprintf("cat %s | mysql %s -h %s -u %s -p%s",
(const char *)filename,
(const char *)admin_config->mysqlDbname(),
(const char *)admin_config->mysqlHostname(),
(const char *)admin_config->mysqlUsername(),
(const char *)admin_config->mysqlPassword());
(const char *)rda->config()->mysqlDbname(),
(const char *)rda->config()->mysqlHostname(),
(const char *)rda->config()->mysqlUsername(),
(const char *)rda->config()->mysqlPassword());
status=system((const char *)cmd);
if(WEXITSTATUS(status)!=0) {
QMessageBox::warning(this,tr("Restore Error"),
@ -483,7 +466,7 @@ void MainWidget::restoreData()
}
delete q;
admin_skip_backup=true;
UpdateDb(ver,admin_config);
UpdateDb(ver,rda->config());
QMessageBox::information(this,tr("Restore Complete"),
tr("Restore completed successfully."));
RDStartDaemons();
@ -592,19 +575,19 @@ int cmdline_main(int argc,char *argv[])
//
// Load Configs
//
admin_config=new RDConfig();
admin_config->load();
RDConfig *config=new RDConfig();
config->load();
//
// Open Database
//
QString station_name=admin_config->stationName();
QString station_name=config->stationName();
if(!admin_create_db_hostname.isEmpty()) {
station_name=admin_create_db_hostname;
}
if(!OpenDb(admin_config->mysqlDbname(),admin_config->mysqlUsername(),
admin_config->mysqlPassword(),admin_config->mysqlHostname(),
station_name,false,admin_config)) {
if(!OpenDb(config->mysqlDbname(),config->mysqlUsername(),
config->mysqlPassword(),config->mysqlHostname(),
station_name,false,config)) {
return 1;
}

View File

@ -2,7 +2,7 @@
//
// The Administration Utility for Rivendell.
//
// (C) Copyright 2002-2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2018 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
@ -28,9 +28,6 @@
#include <qsqldatabase.h>
#include <qpixmap.h>
#include <rduser.h>
#include <rdconfig.h>
#define RDADMIN_USAGE "[--check-db][--mysql-admin-user=<username>][--mysql-admin-password=<password>]\n\n--check-db'\n Check and (if necessary) create or update the database schema to the\n current version, then exit.\n\n--mysql-admin-user=<username>\n--mysql-admin-password=<password>\n--mysql-admin-hostname=<hostname>\n--mysql-admin-dbname=<dbname>\n When creating a new database, use the supplied credentials for the\n MySQL administrative user instead of prompting for them.\n\n--create-db-hostname=<hostname>\n When creating a new database, create a host entry called <hostname>\n instead of autodetecting the hostname.\n\n--backup-filename=<file-path>\n When performing a schema update, RDAdmin will automatically execute a\n database backup to the file specified in <file-path> [default value\n $HOME/rdbackup-<date>-<old-schema-ver>.sql.gz].\n\n--skip-backup\n When doing a schema update, suppress generation of an automatic backup.\n"
class MainWidget : public QWidget
@ -38,7 +35,6 @@ class MainWidget : public QWidget
Q_OBJECT
public:
MainWidget(QWidget *parent=0);
~MainWidget();
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
@ -68,4 +64,4 @@ class MainWidget : public QWidget
};
#endif
#endif // RDADMIN_H

View File

@ -2,7 +2,7 @@
//
// Test a Rivendell Log Import
//
// (C) Copyright 2002-2004,2016 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2002-2004,2018 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
@ -22,16 +22,16 @@
#include <qpainter.h>
#include <qmessagebox.h>
#include "globals.h"
#include "rdconf.h"
#include "rddatedecode.h"
#include "rddatedialog.h"
#include "rddb.h"
#include "rdevent_line.h"
#include "rdlistviewitem.h"
#include "rdpasswd.h"
#include "rduser.h"
#include <rdapplication.h>
#include <rdconf.h>
#include <rddatedecode.h>
#include <rddatedialog.h>
#include <rddb.h>
#include <rdevent_line.h>
#include <rdlistviewitem.h>
#include <rdpasswd.h>
#include "globals.h"
#include "test_import.h"
TestImport::TestImport(RDSvc *svc,RDSvc::ImportSource src,QWidget *parent)
@ -256,7 +256,7 @@ void TestImport::dateChangedData(const QDate &date)
{
test_filename_edit->
setText(RDDateDecode(test_svc->importPath(test_src,RDSvc::Linux),date,
admin_station,admin_config,test_svc->name()));
rda->station(),rda->config(),test_svc->name()));
}

View File

@ -50,7 +50,7 @@ ListLogs::ListLogs(LogPlay *log,QWidget *parent)
// Filter Widget
//
list_filter_widget=
new RDLogFilter(RDLogFilter::StationFilter,rda->user(),rda->config(),this);
new RDLogFilter(RDLogFilter::StationFilter,this);
connect(list_filter_widget,SIGNAL(filterChanged(const QString &)),
this,SLOT(filterChangedData(const QString &)));

View File

@ -291,7 +291,7 @@ void EditChain::selectLogData()
QString logname;
RDListLogs *d=
new RDListLogs(&logname,RDLogFilter::UserFilter,rda->user(),rda->config(),this);
new RDListLogs(&logname,RDLogFilter::UserFilter,this);
if(d->exec()!=0) {
delete d;
return;

View File

@ -195,7 +195,7 @@ MainWidget::MainWidget(QWidget *parent)
// Log Filter
//
log_filter_widget=
new RDLogFilter(RDLogFilter::UserFilter,rda->user(),rda->config(),this);
new RDLogFilter(RDLogFilter::UserFilter,this);
connect(log_filter_widget,SIGNAL(filterChanged(const QString &)),
this,SLOT(filterChangedData(const QString &)));
@ -337,7 +337,7 @@ void MainWidget::userData()
setCaption(str1+": "+rda->config()->stationName()+", "+str2+": "+
rda->ripc()->user());
log_filter_widget->setUser(rda->user());
log_filter_widget->changeUser();
RefreshList();
//