mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-09 08:57:46 +02:00
2017-11-08 Fred Gleason <fredg@paravelsystems.com>
* Added a filter widget to the 'List Logs' dialog in rdairplay(1).
This commit is contained in:
parent
78c722e99b
commit
fb2c080d35
@ -16334,3 +16334,5 @@
|
||||
2017-11-08 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Replaced the custom 'List Logs' dialog in rdlogedit(1) with
|
||||
RDListLog.
|
||||
2017-11-08 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added a filter widget to the 'List Logs' dialog in rdairplay(1).
|
||||
|
@ -22,8 +22,10 @@
|
||||
|
||||
#include <rdadd_log.h>
|
||||
#include <rddb.h>
|
||||
#include <list_logs.h>
|
||||
#include <rdescape_string.h>
|
||||
|
||||
#include <globals.h>
|
||||
#include <list_logs.h>
|
||||
|
||||
ListLogs::ListLogs(LogPlay *log,QWidget *parent)
|
||||
: QDialog(parent,"",true)
|
||||
@ -31,10 +33,7 @@ ListLogs::ListLogs(LogPlay *log,QWidget *parent)
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
setMinimumSize(sizeHint());
|
||||
|
||||
//
|
||||
// Generate Fonts
|
||||
@ -43,14 +42,19 @@ ListLogs::ListLogs(LogPlay *log,QWidget *parent)
|
||||
button_font.setPixelSize(12);
|
||||
|
||||
list_log=log;
|
||||
setCaption(tr("Select a Log"));
|
||||
setCaption(tr("Select Log"));
|
||||
|
||||
//
|
||||
// Filter Widget
|
||||
//
|
||||
list_filter_widget=new RDLogFilter(this);
|
||||
connect(list_filter_widget,SIGNAL(filterChanged(const QString &)),
|
||||
this,SLOT(filterChangedData(const QString &)));
|
||||
|
||||
//
|
||||
// Log List
|
||||
//
|
||||
list_log_list=new QListView(this,"list_log_list");
|
||||
list_log_list->setGeometry(10,10,
|
||||
sizeHint().width()-20,sizeHint().height()-80);
|
||||
list_log_list=new QListView(this);
|
||||
list_log_list->setAllColumnsShowFocus(true);
|
||||
list_log_list->setItemMargin(5);
|
||||
connect(list_log_list,
|
||||
@ -67,48 +71,38 @@ ListLogs::ListLogs(LogPlay *log,QWidget *parent)
|
||||
//
|
||||
// Load Button
|
||||
//
|
||||
QPushButton *button=new QPushButton(this,"load_button");
|
||||
button->setGeometry(10,sizeHint().height()-60,80,50);
|
||||
button->setFont(button_font);
|
||||
button->setText(tr("Load"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(loadButtonData()));
|
||||
list_load_button=new QPushButton(tr("Load"),this);
|
||||
list_load_button->setFont(button_font);
|
||||
connect(list_load_button,SIGNAL(clicked()),this,SLOT(loadButtonData()));
|
||||
|
||||
//
|
||||
// Unload Button
|
||||
//
|
||||
list_unload_button=new QPushButton(this,"list_unload_button");
|
||||
list_unload_button->setGeometry(100,sizeHint().height()-60,80,50);
|
||||
list_unload_button=new QPushButton(tr("Unload"),this);
|
||||
list_unload_button->setFont(button_font);
|
||||
list_unload_button->setText(tr("Unload"));
|
||||
connect(list_unload_button,SIGNAL(clicked()),this,SLOT(unloadButtonData()));
|
||||
|
||||
//
|
||||
// Save Button
|
||||
//
|
||||
button=new QPushButton(this,"save_button");
|
||||
button->setGeometry(210,sizeHint().height()-60,80,50);
|
||||
button->setFont(button_font);
|
||||
button->setText(tr("Save"));
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(saveButtonData()));
|
||||
list_save_button=new QPushButton(tr("Save"),this);
|
||||
list_save_button->setFont(button_font);
|
||||
connect(list_save_button,SIGNAL(clicked()),this,SLOT(saveButtonData()));
|
||||
|
||||
//
|
||||
// Save As Button
|
||||
//
|
||||
list_saveas_button=new QPushButton(this,"list_saveas_button");
|
||||
list_saveas_button->setGeometry(300,sizeHint().height()-60,80,50);
|
||||
list_saveas_button=new QPushButton(tr("Save As"),this);
|
||||
list_saveas_button->setFont(button_font);
|
||||
list_saveas_button->setText(tr("Save &As"));
|
||||
connect(list_saveas_button,SIGNAL(clicked()),this,SLOT(saveAsButtonData()));
|
||||
|
||||
//
|
||||
// Cancel Button
|
||||
//
|
||||
button=new QPushButton(this,"cancel_button");
|
||||
button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,80,50);
|
||||
button->setFont(button_font);
|
||||
button->setText(tr("Cancel"));
|
||||
button->setDefault(true);
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(cancelButtonData()));
|
||||
list_cancel_button=new QPushButton(tr("Cancel"),this);
|
||||
list_cancel_button->setFont(button_font);
|
||||
list_cancel_button->setDefault(true);
|
||||
connect(list_cancel_button,SIGNAL(clicked()),this,SLOT(cancelButtonData()));
|
||||
|
||||
RefreshList();
|
||||
}
|
||||
@ -116,7 +110,7 @@ ListLogs::ListLogs(LogPlay *log,QWidget *parent)
|
||||
|
||||
QSize ListLogs::sizeHint() const
|
||||
{
|
||||
return QSize(500,300);
|
||||
return QSize(500,400);
|
||||
}
|
||||
|
||||
|
||||
@ -131,11 +125,28 @@ int ListLogs::exec(QString *logname,QString *svcname)
|
||||
list_logname=logname;
|
||||
list_svcname=svcname;
|
||||
list_saveas_button->setEnabled(rduser->createLog());
|
||||
QStringList services_list;
|
||||
QString sql=QString("select SERVICE_NAME from SERVICE_PERMS where ")+
|
||||
"STATION_NAME=\""+RDEscapeString(rdstation_conf->name())+"\"";
|
||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||
services_list.push_back(tr("ALL"));
|
||||
while(q->next()) {
|
||||
services_list.push_back(q->value(0).toString());
|
||||
}
|
||||
list_filter_widget->setServices(services_list);
|
||||
delete q;
|
||||
RefreshList();
|
||||
|
||||
return QDialog::exec();
|
||||
}
|
||||
|
||||
|
||||
void ListLogs::filterChangedData(const QString &where_sql)
|
||||
{
|
||||
RefreshList();
|
||||
}
|
||||
|
||||
|
||||
void ListLogs::closeEvent(QCloseEvent *e)
|
||||
{
|
||||
done(1);
|
||||
@ -200,6 +211,19 @@ void ListLogs::cancelButtonData()
|
||||
}
|
||||
|
||||
|
||||
void ListLogs::resizeEvent(QResizeEvent *e)
|
||||
{
|
||||
list_filter_widget->setGeometry(10,10,size().width()-20,
|
||||
list_filter_widget->sizeHint().height());
|
||||
list_log_list->setGeometry(10,list_filter_widget->sizeHint().height(),size().width()-20,size().height()-list_filter_widget->sizeHint().height()-80);
|
||||
list_load_button->setGeometry(10,size().height()-60,80,50);
|
||||
list_unload_button->setGeometry(100,size().height()-60,80,50);
|
||||
list_save_button->setGeometry(210,size().height()-60,80,50);
|
||||
list_saveas_button->setGeometry(300,size().height()-60,80,50);
|
||||
list_cancel_button->setGeometry(size().width()-90,size().height()-60,80,50);
|
||||
}
|
||||
|
||||
|
||||
void ListLogs::RefreshList()
|
||||
{
|
||||
RDSqlQuery *q;
|
||||
@ -209,18 +233,6 @@ void ListLogs::RefreshList()
|
||||
QStringList services_list;
|
||||
|
||||
list_log_list->clear();
|
||||
|
||||
sql=QString().sprintf("select SERVICE_NAME from SERVICE_PERMS \
|
||||
where STATION_NAME=\"%s\"",
|
||||
(const char *)rdstation_conf->name());
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
services_list.append( q->value(0).toString() );
|
||||
}
|
||||
delete q;
|
||||
if(services_list.size()==0) {
|
||||
return;
|
||||
}
|
||||
sql=QString("select NAME,DESCRIPTION,SERVICE from LOGS ")+
|
||||
"where (TYPE=0)&&(LOG_EXISTS=\"Y\")&&"+
|
||||
"((START_DATE<=\""+current_date.toString("yyyy-MM-dd")+"\")||"+
|
||||
@ -228,15 +240,8 @@ void ListLogs::RefreshList()
|
||||
"(START_DATE is null))&&"+
|
||||
"((END_DATE>=\""+current_date.toString("yyyy-MM-dd")+"\")||"+
|
||||
"(END_DATE=\"0000-00-00\")||"+
|
||||
"(END_DATE is null))&&(";
|
||||
for ( QStringList::Iterator it = services_list.begin();
|
||||
it != services_list.end(); ++it ) {
|
||||
sql+=QString().sprintf("SERVICE=\"%s\"||",
|
||||
(const char *)*it);
|
||||
}
|
||||
sql=sql.left(sql.length()-2);
|
||||
sql+=")";
|
||||
|
||||
"(END_DATE is null))"+
|
||||
list_filter_widget->whereSql();
|
||||
q=new RDSqlQuery(sql);
|
||||
while(q->next()) {
|
||||
l=new QListViewItem(list_log_list);
|
||||
|
@ -26,6 +26,8 @@
|
||||
#include <qlistview.h>
|
||||
#include <qpushbutton.h>
|
||||
|
||||
#include <rdlogfilter.h>
|
||||
|
||||
#include <log_play.h>
|
||||
|
||||
class ListLogs : public QDialog
|
||||
@ -41,6 +43,7 @@ class ListLogs : public QDialog
|
||||
int exec(QString *logname,QString *svcname);
|
||||
|
||||
private slots:
|
||||
void filterChangedData(const QString &where_sql);
|
||||
void doubleClickedData(QListViewItem *,const QPoint &,int);
|
||||
void closeEvent(QCloseEvent *);
|
||||
void loadButtonData();
|
||||
@ -49,13 +52,20 @@ class ListLogs : public QDialog
|
||||
void unloadButtonData();
|
||||
void cancelButtonData();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
|
||||
private:
|
||||
void RefreshList();
|
||||
RDLogFilter *list_filter_widget;
|
||||
QListView *list_log_list;
|
||||
QString *list_logname;
|
||||
QString *list_svcname;
|
||||
QPushButton *list_load_button;
|
||||
QPushButton *list_unload_button;
|
||||
QPushButton *list_save_button;
|
||||
QPushButton *list_saveas_button;
|
||||
QPushButton *list_cancel_button;
|
||||
LogPlay *list_log;
|
||||
};
|
||||
|
||||
|
@ -402,7 +402,7 @@ poslechu</translation>
|
||||
<name>ListLogs</name>
|
||||
<message>
|
||||
<source>Select a Log</source>
|
||||
<translation>Vybrat zápis</translation>
|
||||
<translation type="obsolete">Vybrat zápis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NAME</source>
|
||||
@ -430,7 +430,7 @@ poslechu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save &As</source>
|
||||
<translation>Uložit &jako</translation>
|
||||
<translation type="obsolete">Uložit &jako</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
@ -440,6 +440,18 @@ poslechu</translation>
|
||||
<source>Rename Log</source>
|
||||
<translation>Přejmenovat zápis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ALL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogLineBox</name>
|
||||
|
@ -402,7 +402,7 @@ vorhören</translation>
|
||||
<name>ListLogs</name>
|
||||
<message>
|
||||
<source>Select a Log</source>
|
||||
<translation>Log auswählen</translation>
|
||||
<translation type="obsolete">Log auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NAME</source>
|
||||
@ -430,7 +430,7 @@ vorhören</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save &As</source>
|
||||
<translation>Speichern &Als</translation>
|
||||
<translation type="obsolete">Speichern &Als</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
@ -440,6 +440,18 @@ vorhören</translation>
|
||||
<source>Rename Log</source>
|
||||
<translation>Log umbenennen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ALL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogLineBox</name>
|
||||
|
@ -402,7 +402,7 @@ Final</translation>
|
||||
<name>ListLogs</name>
|
||||
<message>
|
||||
<source>Select a Log</source>
|
||||
<translation>Seleccione una lista</translation>
|
||||
<translation type="obsolete">Seleccione una lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NAME</source>
|
||||
@ -430,7 +430,7 @@ Final</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save &As</source>
|
||||
<translation>Gu&ard. como</translation>
|
||||
<translation type="obsolete">Gu&ard. como</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
@ -440,6 +440,18 @@ Final</translation>
|
||||
<source>Rename Log</source>
|
||||
<translation>Cambiar nombre de la lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ALL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogLineBox</name>
|
||||
|
@ -402,7 +402,7 @@ la Fin</translation>
|
||||
<name>ListLogs</name>
|
||||
<message>
|
||||
<source>Select a Log</source>
|
||||
<translation>Sélectionner un Log</translation>
|
||||
<translation type="obsolete">Sélectionner un Log</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NAME</source>
|
||||
@ -430,7 +430,7 @@ la Fin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save &As</source>
|
||||
<translation>S&auver Sous</translation>
|
||||
<translation type="obsolete">S&auver Sous</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
@ -440,6 +440,18 @@ la Fin</translation>
|
||||
<source>Rename Log</source>
|
||||
<translation>Renommer le Log</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ALL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogLineBox</name>
|
||||
|
@ -408,7 +408,7 @@ Tail</source>
|
||||
<name>ListLogs</name>
|
||||
<message>
|
||||
<source>Select a Log</source>
|
||||
<translation>Vel ein logg</translation>
|
||||
<translation type="obsolete">Vel ein logg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NAME</source>
|
||||
@ -436,7 +436,7 @@ Tail</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save &As</source>
|
||||
<translation>Lagre &som</translation>
|
||||
<translation type="obsolete">Lagre &som</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
@ -446,6 +446,18 @@ Tail</source>
|
||||
<source>Rename Log</source>
|
||||
<translation>Døyp om loggen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ALL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogLineBox</name>
|
||||
|
@ -408,7 +408,7 @@ Tail</source>
|
||||
<name>ListLogs</name>
|
||||
<message>
|
||||
<source>Select a Log</source>
|
||||
<translation>Vel ein logg</translation>
|
||||
<translation type="obsolete">Vel ein logg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NAME</source>
|
||||
@ -436,7 +436,7 @@ Tail</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save &As</source>
|
||||
<translation>Lagre &som</translation>
|
||||
<translation type="obsolete">Lagre &som</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
@ -446,6 +446,18 @@ Tail</source>
|
||||
<source>Rename Log</source>
|
||||
<translation>Døyp om loggen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ALL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogLineBox</name>
|
||||
|
@ -403,7 +403,7 @@ Log</source>
|
||||
<name>ListLogs</name>
|
||||
<message>
|
||||
<source>Select a Log</source>
|
||||
<translation>Sel uma Lista</translation>
|
||||
<translation type="obsolete">Sel uma Lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NAME</source>
|
||||
@ -431,7 +431,7 @@ Log</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save &As</source>
|
||||
<translation>Salvar &Como</translation>
|
||||
<translation type="obsolete">Salvar &Como</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
@ -441,6 +441,18 @@ Log</source>
|
||||
<source>Rename Log</source>
|
||||
<translation>Renomear lista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ALL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Save As</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogLineBox</name>
|
||||
|
Loading…
x
Reference in New Issue
Block a user