diff --git a/ChangeLog b/ChangeLog index 80a31be1..73a206dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16609,3 +16609,5 @@ * Converted rdcatch(1) to use RDApplication. 2018-01-31 Fred Gleason * Converted rdlogedit(1) to use RDApplication. +2018-01-31 Fred Gleason + * Converted rdlogin(1) to use RDApplication. diff --git a/rdlogin/rdlogin.cpp b/rdlogin/rdlogin.cpp index 87f52c02..0726d9a0 100644 --- a/rdlogin/rdlogin.cpp +++ b/rdlogin/rdlogin.cpp @@ -2,7 +2,7 @@ // // The User Login/Logout Utility for Rivendell. // -// (C) Copyright 2002-2008,2016 Fred Gleason +// (C) Copyright 2002-2008,2016-2018 Fred Gleason // // 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,16 +30,15 @@ #include #include +#include #include -#include -#include +#include #include #include -#include #include -#include +#include -#include +#include "rdlogin.h" // // Icons @@ -54,8 +53,7 @@ MainWidget::MainWidget(QWidget *parent) QString str; QString sql; RDSqlQuery *q; - bool skip_db_check=false; - unsigned schema=0; + QString err_msg; // // Read Command Options @@ -63,7 +61,6 @@ MainWidget::MainWidget(QWidget *parent) RDCmdSwitch *cmd=new RDCmdSwitch(qApp->argc(),qApp->argv(),"rdlogin","\n"); for(unsigned i=0;ikeys();i++) { if(cmd->key(i)=="--skip-db-check") { - skip_db_check=true; } } delete cmd; @@ -101,50 +98,21 @@ MainWidget::MainWidget(QWidget *parent) // RDInitializeDaemons(); - // - // Load Configs - // - login_config=new RDConfig(); - login_config->load(); - login_config->setModuleName("RDLogin"); - + rda=new RDApplication("RDLogin",this); + if(!rda->open(&err_msg)) { + QMessageBox::critical(this,"RDLogin - "+tr("Error"),err_msg); + exit(1); + } str=QString(tr("RDLogin - Station:")); - setCaption(QString().sprintf("%s %s",(const char *)str, - (const char *)login_config->stationName())); - - // - // Open Database - // - QString err(tr("rdlogin : ")); - login_db = RDInitDb(&schema,&err); - if(!login_db) { - QMessageBox::warning(this,tr("Can't Connect"),err); - exit(0); - } - if((schema!=RD_VERSION_DATABASE)&&(!skip_db_check)) { - fprintf(stderr,"rdlogin: database version mismatch, should be %u, is %u\n", - RD_VERSION_DATABASE,schema); - exit(256); - } - - // - // Station - // - login_station=new RDStation(login_config->stationName()); + setCaption(str+" "+rda->config()->stationName()); // // RIPC Connection // - login_ripc=new RDRipc(login_station,login_config,this); - connect(login_ripc,SIGNAL(connected(bool)),this,SLOT(connectedData(bool))); - connect(login_ripc,SIGNAL(userChanged()),this,SLOT(userData())); - login_ripc->connectHost("localhost",RIPCD_TCP_PORT, - login_config->password()); - - // - // System - // - login_system=new RDSystem(); + connect(rda->ripc(),SIGNAL(connected(bool)),this,SLOT(connectedData(bool))); + connect(rda->ripc(),SIGNAL(userChanged()),this,SLOT(userData())); + rda->ripc()->connectHost("localhost",RIPCD_TCP_PORT, + rda->config()->password()); // // User Label @@ -178,7 +146,7 @@ MainWidget::MainWidget(QWidget *parent) login_username_label=new QLabel(login_username_box,tr("&Username:"),this); login_username_label->setFont(small_label_font); login_username_label->setAlignment(AlignRight|AlignVCenter|ShowPrefix); - if(login_system->showUserList()) { + if(rda->system()->showUserList()) { login_username_edit->hide(); } else { @@ -226,9 +194,6 @@ MainWidget::MainWidget(QWidget *parent) MainWidget::~MainWidget() { - delete login_db; - delete login_ripc; - delete login_station; delete login_label; delete login_username_box; delete login_password_edit; @@ -258,7 +223,7 @@ void MainWidget::userData() str=QString(tr("Current User:")); login_label->setText(QString().sprintf("%s %s",(const char *)str, - (const char *)login_ripc->user())); + (const char *)rda->ripc()->user())); resizeEvent(NULL); } @@ -267,18 +232,18 @@ void MainWidget::loginData() { RDUser *user; - if(login_system->showUserList()) { + if(rda->system()->showUserList()) { user=new RDUser(login_username_box->currentText()); } else { user=new RDUser(login_username_edit->text()); } if(user->exists()&&user->checkPassword(login_password_edit->text(),false)) { - if(login_system->showUserList()) { - login_ripc->setUser(login_username_box->currentText()); + if(rda->system()->showUserList()) { + rda->ripc()->setUser(login_username_box->currentText()); } else { - login_ripc->setUser(login_username_edit->text()); + rda->ripc()->setUser(login_username_edit->text()); } login_password_edit->clear(); delete user; @@ -294,8 +259,8 @@ void MainWidget::loginData() void MainWidget::logoutData() { - QString default_name=login_station->defaultName(); - login_ripc->setUser(default_name); + QString default_name=rda->station()->defaultName(); + rda->ripc()->setUser(default_name); login_password_edit->clear(); for(int i=0;icount();i++) { if(login_username_box->text(i)==default_name) { @@ -316,7 +281,6 @@ void MainWidget::cancelData() void MainWidget::quitMainWidget() { - login_db->removeDatabase(login_config->mysqlDbname()); qApp->quit(); } diff --git a/rdlogin/rdlogin.h b/rdlogin/rdlogin.h index ce4b8938..7cf793ab 100644 --- a/rdlogin/rdlogin.h +++ b/rdlogin/rdlogin.h @@ -2,7 +2,7 @@ // // The User Login/Logout Utility for Rivendell. // -// (C) Copyright 2002-2005,2016 Fred Gleason +// (C) Copyright 2002-2005,2016-2018 Fred Gleason // // 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,14 +27,9 @@ #include #include #include +#include #include -#include -#include -#include -#include -#include - class MainWidget : public QWidget { Q_OBJECT @@ -56,11 +51,6 @@ class MainWidget : public QWidget void resizeEvent(QResizeEvent *e); private: - RDConfig *login_config; - QSqlDatabase *login_db; - RDStation *login_station; - RDSystem *login_system; - RDRipc *login_ripc; Q_UINT16 login_ripc_hostport; QLabel *login_label; QLabel *login_username_label; diff --git a/rdlogin/rdlogin_cs.ts b/rdlogin/rdlogin_cs.ts index 19febaf1..9880f85f 100644 --- a/rdlogin/rdlogin_cs.ts +++ b/rdlogin/rdlogin_cs.ts @@ -7,11 +7,11 @@ rdlogin : - rdlogin : + rdlogin : Can't Connect - Nelze spojit + Nelze spojit Current User: unknown @@ -55,5 +55,9 @@ uživatel Invalid Username or Password! + + Error + + diff --git a/rdlogin/rdlogin_de.ts b/rdlogin/rdlogin_de.ts index d6cfc44a..87855b1a 100644 --- a/rdlogin/rdlogin_de.ts +++ b/rdlogin/rdlogin_de.ts @@ -7,11 +7,11 @@ rdlogin : - rdlogin : + rdlogin : Can't Connect - Kann nicht verbinden + Kann nicht verbinden Current User: unknown @@ -54,5 +54,9 @@ User Invalid Username or Password! + + Error + + diff --git a/rdlogin/rdlogin_es.ts b/rdlogin/rdlogin_es.ts index 27030092..5d656ea6 100644 --- a/rdlogin/rdlogin_es.ts +++ b/rdlogin/rdlogin_es.ts @@ -7,7 +7,7 @@ Can't Connect - No puedo conectarme + No puedo conectarme Current User: @@ -49,11 +49,15 @@ User rdlogin : - rdlogin : + rdlogin : Invalid Username or Password! + + Error + + diff --git a/rdlogin/rdlogin_fr.ts b/rdlogin/rdlogin_fr.ts index 607b78b9..e1cdf466 100644 --- a/rdlogin/rdlogin_fr.ts +++ b/rdlogin/rdlogin_fr.ts @@ -5,14 +5,6 @@ RDLogin - Station: - - rdlogin : - - - - Can't Connect - - Current User: unknown @@ -50,5 +42,9 @@ User Invalid Username or Password! + + Error + + diff --git a/rdlogin/rdlogin_nb.ts b/rdlogin/rdlogin_nb.ts index cbb9a1cb..00e774a7 100644 --- a/rdlogin/rdlogin_nb.ts +++ b/rdlogin/rdlogin_nb.ts @@ -7,11 +7,11 @@ rdlogin : - rdlogin: + rdlogin: Can't Connect - Greier ikkje kopla til + Greier ikkje kopla til Current User: unknown @@ -55,5 +55,9 @@ brukar Invalid Username or Password! + + Error + + diff --git a/rdlogin/rdlogin_nn.ts b/rdlogin/rdlogin_nn.ts index cbb9a1cb..00e774a7 100644 --- a/rdlogin/rdlogin_nn.ts +++ b/rdlogin/rdlogin_nn.ts @@ -7,11 +7,11 @@ rdlogin : - rdlogin: + rdlogin: Can't Connect - Greier ikkje kopla til + Greier ikkje kopla til Current User: unknown @@ -55,5 +55,9 @@ brukar Invalid Username or Password! + + Error + + diff --git a/rdlogin/rdlogin_pt_BR.ts b/rdlogin/rdlogin_pt_BR.ts index 5c98670d..bc051d46 100644 --- a/rdlogin/rdlogin_pt_BR.ts +++ b/rdlogin/rdlogin_pt_BR.ts @@ -7,11 +7,11 @@ rdlogin : - rdlogin : + rdlogin : Can't Connect - Não foi possível conectar + Não foi possível conectar Current User: unknown @@ -56,5 +56,9 @@ Padrão Invalid Username or Password! + + Error + +