2021-02-11 Fred Gleason <fredg@paravelsystems.com>

* Added 'RDSchedRulesModel'.
	* Added a pseudo-schema change to force checking of schedule code
	rules.
	* Incremented the database version to 348.
	* Added a check for scheduler code rules to rddbmgr(8).
	* Refactored the 'Scheduler Rules' dialog in rdlogmanager(1) to
	use the model based API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2021-02-11 15:28:48 -05:00
parent 57922f947b
commit f1703ba647
34 changed files with 1181 additions and 419 deletions

View File

@@ -3,7 +3,7 @@
// Change rules for scheduler codes dialog
//
// (C) Copyright Stefan Gabriel <stg@st-gabriel.de>
// (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
@@ -22,46 +22,51 @@
#ifndef EDIT_SCHEDCODERULES_H
#define EDIT_SCHEDCODERULES_H
#include <qcombobox.h>
#include <qlabel.h>
#include <qpushbutton.h>
#include <qspinbox.h>
#include <QComboBox>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QSpinBox>
#include <rddialog.h>
#include <rdschedcodelistmodel.h>
#include <rdschedruleslist.h>
class EditSchedCodeRules : public RDDialog
{
Q_OBJECT
public:
EditSchedCodeRules(Q3ListViewItem *item, RDSchedRulesList *sched_rules_list,
QWidget *parent=0);
EditSchedCodeRules(QWidget *parent=0);
~EditSchedCodeRules();
QSize sizeHint() const;
QSizePolicy sizePolicy() const;
public slots:
int exec(unsigned rule_id);
private slots:
void okData();
void cancelData();
protected:
void resizeEvent(QResizeEvent *e);
private:
QPushButton* edit_ok_button;
QPushButton* edit_cancel_button;
QLabel* edit_code_name_label;
QLabel* edit_max_row_label;
QLabel* edit_min_wait_label;
QLabel* edit_not_after_label;
QLabel* edit_or_after_label;
QLabel* edit_or_after_label_II;
QSpinBox* edit_max_row_spin;
QSpinBox* edit_min_wait_spin;
QLabel* edit_code_label;
QComboBox* edit_not_after_box;
QComboBox* edit_or_after_box;
QComboBox* edit_or_after_box_II;
QLabel* edit_description_label;
Q3ListViewItem *edit_edit_item;
QPushButton *edit_ok_button;
QPushButton *edit_cancel_button;
QLabel *edit_code_name_label;
QLabel *edit_max_row_label;
QLabel *edit_min_wait_label;
QLabel *edit_not_after_label;
QLabel *edit_or_after_label;
QLabel *edit_or_after_label_II;
QSpinBox *edit_max_row_spin;
QSpinBox *edit_min_wait_spin;
QComboBox *edit_notafter_boxes[3];
RDSchedCodeListModel *edit_schedcodes_model;
QLabel *edit_code_label;
unsigned edit_rule_id;
protected:
void closeEvent(QCloseEvent *e);
};