2023-05-18 Fred Gleason <fredg@paravelsystems.com>

* Refactored the 'Edit Clock' dialog in rdlogmanager(1) to be
	resizeable.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2023-05-18 18:08:22 -04:00
parent a612d09270
commit b5484735c0
3 changed files with 130 additions and 95 deletions

View File

@@ -24134,3 +24134,6 @@
2023-05-18 Fred Gleason <fredg@paravelsystems.com> 2023-05-18 Fred Gleason <fredg@paravelsystems.com>
* Adjusted the layout of the 'Edit Audio Ports' dialog in rdamin(1) * Adjusted the layout of the 'Edit Audio Ports' dialog in rdamin(1)
to use a size of 1380x880. to use a size of 1380x880.
2023-05-18 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'Edit Clock' dialog in rdlogmanager(1) to be
resizeable.

View File

@@ -2,7 +2,7 @@
// //
// Edit Rivendell Log Clock // Edit Rivendell Log Clock
// //
// (C) Copyright 2002-2021 Fred Gleason <fredg@paravelsystems.com> // (C) Copyright 2002-2023 Fred Gleason <fredg@paravelsystems.com>
// //
// This program is free software; you can redistribute it and/or modify // 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 // it under the terms of the GNU General Public License version 2 as
@@ -50,7 +50,7 @@ EditClock::EditClock(QString clockname,bool new_clock,
// Fix the Window Size // Fix the Window Size
// //
setMinimumSize(sizeHint()); setMinimumSize(sizeHint());
setMaximumSize(sizeHint()); // setMaximumSize(sizeHint());
// //
// Create Fonts // Create Fonts
@@ -62,21 +62,17 @@ EditClock::EditClock(QString clockname,bool new_clock,
// Clock Names // Clock Names
// //
edit_clockname_label=new QLabel(clockname,this); edit_clockname_label=new QLabel(clockname,this);
edit_clockname_label->setGeometry(10,10,280,20);
edit_clockname_label->setFont(labelFont()); edit_clockname_label->setFont(labelFont());
edit_shortname_edit=new QLineEdit(this); edit_shortname_edit=new QLineEdit(this);
edit_shortname_edit->setGeometry(350,10,40,20);
edit_shortname_edit->setMaxLength(3); edit_shortname_edit->setMaxLength(3);
QLabel *label=new QLabel(tr("Code:"),this); edit_shortname_label=new QLabel(tr("Code:"),this);
label->setGeometry(295,10,50,20); edit_shortname_label->setFont(labelFont());
label->setFont(labelFont()); edit_shortname_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
label->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
// //
// Clock List // Clock List
// //
edit_clocks_view=new ClockListView(this); edit_clocks_view=new ClockListView(this);
edit_clocks_view->setGeometry(10,35,CENTER_LINE-20,sizeHint().height()-250);
edit_clocks_model=new RDClockModel(rda->station(),this); edit_clocks_model=new RDClockModel(rda->station(),this);
edit_clocks_model->setFont(font()); edit_clocks_model->setFont(font());
edit_clocks_model->setPalette(palette()); edit_clocks_model->setPalette(palette());
@@ -99,7 +95,6 @@ EditClock::EditClock(QString clockname,bool new_clock,
// Add Button // Add Button
// //
edit_add_button=new QPushButton(this); edit_add_button=new QPushButton(this);
edit_add_button->setGeometry(10,sizeHint().height()-210,80,50);
edit_add_button->setFont(buttonFont()); edit_add_button->setFont(buttonFont());
edit_add_button->setText(tr("Add")); edit_add_button->setText(tr("Add"));
connect(edit_add_button,SIGNAL(clicked()),this,SLOT(addData())); connect(edit_add_button,SIGNAL(clicked()),this,SLOT(addData()));
@@ -108,7 +103,6 @@ EditClock::EditClock(QString clockname,bool new_clock,
// Clone Button // Clone Button
// //
edit_clone_button=new QPushButton(this); edit_clone_button=new QPushButton(this);
edit_clone_button->setGeometry(110,sizeHint().height()-210,80,50);
edit_clone_button->setFont(buttonFont()); edit_clone_button->setFont(buttonFont());
edit_clone_button->setText(tr("Clone")); edit_clone_button->setText(tr("Clone"));
connect(edit_clone_button,SIGNAL(clicked()),this,SLOT(cloneData())); connect(edit_clone_button,SIGNAL(clicked()),this,SLOT(cloneData()));
@@ -117,7 +111,6 @@ EditClock::EditClock(QString clockname,bool new_clock,
// Edit Button // Edit Button
// //
edit_edit_button=new QPushButton(this); edit_edit_button=new QPushButton(this);
edit_edit_button->setGeometry(210,sizeHint().height()-210,80,50);
edit_edit_button->setFont(buttonFont()); edit_edit_button->setFont(buttonFont());
edit_edit_button->setText(tr("Edit")); edit_edit_button->setText(tr("Edit"));
connect(edit_edit_button,SIGNAL(clicked()),this,SLOT(editData())); connect(edit_edit_button,SIGNAL(clicked()),this,SLOT(editData()));
@@ -126,7 +119,6 @@ EditClock::EditClock(QString clockname,bool new_clock,
// Delete Button // Delete Button
// //
edit_delete_button=new QPushButton(this); edit_delete_button=new QPushButton(this);
edit_delete_button->setGeometry(310,sizeHint().height()-210,80,50);
edit_delete_button->setFont(buttonFont()); edit_delete_button->setFont(buttonFont());
edit_delete_button->setText(tr("Delete")); edit_delete_button->setText(tr("Delete"));
connect(edit_delete_button,SIGNAL(clicked()),this,SLOT(deleteData())); connect(edit_delete_button,SIGNAL(clicked()),this,SLOT(deleteData()));
@@ -135,58 +127,48 @@ EditClock::EditClock(QString clockname,bool new_clock,
// Remarks // Remarks
// //
edit_remarks_edit=new QTextEdit(this); edit_remarks_edit=new QTextEdit(this);
edit_remarks_edit->setGeometry(10,sizeHint().height()-140,CENTER_LINE-20,130);
edit_remarks_edit->setAcceptRichText(false); edit_remarks_edit->setAcceptRichText(false);
label=new QLabel(tr("USER NOTES"),this); edit_remarks_label=new QLabel(tr("USER NOTES"),this);
label->setGeometry(15,sizeHint().height()-155,CENTER_LINE-20,15); edit_remarks_label->setFont(labelFont());
label->setFont(labelFont()); edit_remarks_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
// //
// Scheduler-Rules button // Scheduler-Rules button
// //
QPushButton *button=new QPushButton(this); edit_scheduler_rules_button=new QPushButton(this);
button->setGeometry(CENTER_LINE+10,sizeHint().height()-60,80,50); edit_scheduler_rules_button->setFont(buttonFont());
button->setFont(buttonFont()); edit_scheduler_rules_button->setText(tr("Scheduler\nRules"));
button->setText(tr("Scheduler\nRules")); connect(edit_scheduler_rules_button,SIGNAL(clicked()),this,SLOT(schedRules()));
connect(button,SIGNAL(clicked()),this,SLOT(schedRules()));
// //
// Save Button // Save Button
// //
button=new QPushButton(this); edit_save_button=new QPushButton(this);
button->setGeometry(CENTER_LINE+110,sizeHint().height()-60,70,50); edit_save_button->setFont(buttonFont());
button->setFont(buttonFont()); edit_save_button->setText(tr("Save"));
button->setText(tr("Save")); connect(edit_save_button,SIGNAL(clicked()),this,SLOT(saveData()));
connect(button,SIGNAL(clicked()),this,SLOT(saveData()));
// //
// Save As Button // Save As Button
// //
button=new QPushButton(this); edit_saveas_button=new QPushButton(this);
button->setGeometry(CENTER_LINE+190,sizeHint().height()-60,70,50); edit_saveas_button->setFont(buttonFont());
button->setFont(buttonFont()); edit_saveas_button->setText(tr("Save As"));
button->setText(tr("Save As")); connect(edit_saveas_button,SIGNAL(clicked()),this,SLOT(saveAsData()));
connect(button,SIGNAL(clicked()),this,SLOT(saveAsData())); edit_saveas_button->setDisabled(new_clock);
button->setDisabled(new_clock);
// //
// Service Associations Button // Service Associations Button
// //
button=new QPushButton(this); edit_services_list_button=new QPushButton(this);
button->setGeometry(CENTER_LINE+(sizeHint().width()-CENTER_LINE)/2-25, edit_services_list_button->setFont(buttonFont());
sizeHint().height()-60,70,50); edit_services_list_button->setText(tr("Services\nList"));
button->setFont(buttonFont()); connect(edit_services_list_button,SIGNAL(clicked()),this,SLOT(svcData()));
button->setText(tr("Services\nList"));
connect(button,SIGNAL(clicked()),this,SLOT(svcData()));
// //
// Color Button // Color Button
// //
edit_color_button=new QPushButton(this); edit_color_button=new QPushButton(this);
edit_color_button->
setGeometry(CENTER_LINE+(sizeHint().width()-CENTER_LINE)/2+55,
sizeHint().height()-60,70,50);
edit_color_button->setFont(buttonFont()); edit_color_button->setFont(buttonFont());
edit_color_button->setText(tr("Color")); edit_color_button->setText(tr("Color"));
connect(edit_color_button,SIGNAL(clicked()),this,SLOT(colorData())); connect(edit_color_button,SIGNAL(clicked()),this,SLOT(colorData()));
@@ -196,28 +178,23 @@ EditClock::EditClock(QString clockname,bool new_clock,
// Clock Display // Clock Display
// //
edit_clock_label=new QLabel(this); edit_clock_label=new QLabel(this);
edit_clock_label->
setGeometry(CENTER_LINE+10,10,
sizeHint().width()-CENTER_LINE-20,sizeHint().height()-80);
// //
// OK Button // OK Button
// //
button=new QPushButton(this); edit_ok_button=new QPushButton(this);
button->setGeometry(sizeHint().width()-160,sizeHint().height()-60,70,50); edit_ok_button->setDefault(true);
button->setDefault(true); edit_ok_button->setFont(buttonFont());
button->setFont(buttonFont()); edit_ok_button->setText(tr("OK"));
button->setText(tr("OK")); connect(edit_ok_button,SIGNAL(clicked()),this,SLOT(okData()));
connect(button,SIGNAL(clicked()),this,SLOT(okData()));
// //
// Cancel Button // Cancel Button
// //
button=new QPushButton(this); edit_cancel_button=new QPushButton(this);
button->setGeometry(sizeHint().width()-80,sizeHint().height()-60,70,50); edit_cancel_button->setFont(buttonFont());
button->setFont(buttonFont()); edit_cancel_button->setText(tr("Cancel"));
button->setText(tr("Cancel")); connect(edit_cancel_button,SIGNAL(clicked()),this,SLOT(cancelData()));
connect(button,SIGNAL(clicked()),this,SLOT(cancelData()));
// //
// Populate Data // Populate Data
@@ -240,7 +217,7 @@ EditClock::EditClock(QString clockname,bool new_clock,
QSize EditClock::sizeHint() const QSize EditClock::sizeHint() const
{ {
return QSize(1024,698); return QSize(1200,700);
} }
@@ -538,11 +515,55 @@ void EditClock::cancelData()
} }
void EditClock::resizeEvent(QResizeEvent *e)
{
edit_clockname_label->setGeometry(10,10,280,20);
edit_shortname_edit->setGeometry(size().width()-(1024-350),10,40,20);
edit_shortname_label->setGeometry(size().width()-(1024-295),10,50,20);
edit_clocks_view->
setGeometry(10,35,
size().width()-CLOCK_EDGE-20,size().height()-250);
edit_add_button->setGeometry(10,size().height()-210,80,50);
edit_clone_button->setGeometry(110,size().height()-210,80,50);
edit_edit_button->setGeometry(210,size().height()-210,80,50);
edit_delete_button->setGeometry(310,size().height()-210,80,50);
edit_remarks_label->setGeometry(15,size().height()-155,
size().width()-CLOCK_EDGE-20,15);
edit_remarks_edit->setGeometry(10,size().height()-140,
size().width()-CLOCK_EDGE-20,130);
edit_clock_label->
setGeometry(size().width()-CLOCK_EDGE+10,10,CLOCK_EDGE,CLOCK_EDGE);
edit_scheduler_rules_button->
setGeometry(size().width()-615,size().height()-60,70,50);
edit_save_button->
setGeometry(size().width()-520,size().height()-60,70,50);
edit_saveas_button->
setGeometry(size().width()-440,size().height()-60,70,50);
edit_services_list_button->
setGeometry(size().width()-340,size().height()-60,70,50);
edit_color_button->
setGeometry(size().width()-260,size().height()-60,70,50);
edit_ok_button->
setGeometry(size().width()-160,size().height()-60,70,50);
edit_cancel_button->
setGeometry(size().width()-80,size().height()-60,70,50);
}
void EditClock::paintEvent(QPaintEvent *e) void EditClock::paintEvent(QPaintEvent *e)
{ {
QPainter *p=new QPainter(this); QPainter *p=new QPainter(this);
p->setPen(QColor(Qt::black)); p->setPen(QColor(Qt::black));
p->drawLine(CENTER_LINE,10,CENTER_LINE,sizeHint().height()-10); p->drawLine(size().width()-CLOCK_EDGE,10,
size().width()-CLOCK_EDGE,size().height()-10);
p->end(); p->end();
} }
@@ -570,7 +591,7 @@ void EditClock::Save()
void EditClock::UpdateClock(int line) void EditClock::UpdateClock(int line)
{ {
QPixmap *map=new QPixmap(edit_clock_label->size()); QPixmap *map=new QPixmap(CLOCK_EDGE,CLOCK_EDGE);
map->fill(); map->fill();
QPainter *p=new QPainter(); QPainter *p=new QPainter();
p->begin(map); p->begin(map);
@@ -578,47 +599,49 @@ void EditClock::UpdateClock(int line)
p->setBrush(Qt::black); p->setBrush(Qt::black);
p->setFont(*edit_title_font); p->setFont(*edit_title_font);
// if(line>=0) {
// Title //
// // Title
p->drawText((edit_clock_label->size().width()- //
edit_title_metrics->width(edit_clocks_model->clockName()))/2, p->drawText((edit_clock_label->size().width()-
50,edit_clocks_model->clockName()); edit_title_metrics->width(edit_clocks_model->clockName()))/2,
50,edit_clocks_model->clockName());
// //
// Pie Circle // Pie Circle
// //
p->translate(edit_clock_label->size().width()/2, p->translate(edit_clock_label->size().width()/2,
edit_clock_label->size().height()/2); edit_clock_label->size().height()/2);
p->rotate(-90.0); p->rotate(-90.0);
int size_x=edit_clock_label->size().width()-2*PIE_X_MARGIN; int size_x=edit_clock_label->size().width()-2*PIE_X_MARGIN;
int size_y=edit_clock_label->size().width()-2*PIE_X_MARGIN; int size_y=edit_clock_label->size().width()-2*PIE_X_MARGIN;
p->drawArc(-size_x/2,-size_y/2,size_x,size_y,0,5760); p->drawArc(-size_x/2,-size_y/2,size_x,size_y,0,5760);
// //
// Segments // Segments
// //
for(int i=0;i<edit_clocks_model->size();i++) { for(int i=0;i<edit_clocks_model->size();i++) {
if(i==line) { if(i==line) {
p->setBrush(edit_clocks_view->palette(). p->setBrush(edit_clocks_view->palette().
color(QPalette::Active,QPalette::Highlight)); color(QPalette::Active,QPalette::Highlight));
p->drawPie(-size_x/2,-size_y/2,size_x,size_y, p->drawPie(-size_x/2,-size_y/2,size_x,size_y,
-QTime(0,0,0).secsTo(edit_clocks_model->eventLine(line)->startTime())*5760/3600, -QTime(0,0,0).secsTo(edit_clocks_model->eventLine(line)->startTime())*5760/3600,
-(edit_clocks_model->eventLine(line)->length()/1000)*5760/3600); -(edit_clocks_model->eventLine(line)->length()/1000)*5760/3600);
}
else {
if(edit_clocks_model->eventLine(i)->color().isValid()) {
p->setBrush(edit_clocks_model->eventLine(i)->color());
} }
else { else {
p->setBrush(palette().color(QPalette::Active,QPalette::Base)); if(edit_clocks_model->eventLine(i)->color().isValid()) {
p->setBrush(edit_clocks_model->eventLine(i)->color());
}
else {
p->setBrush(palette().color(QPalette::Active,QPalette::Base));
}
p->drawPie(-size_x/2,-size_y/2,size_x,size_y,
-QTime(0,0,0).secsTo(edit_clocks_model->eventLine(i)->startTime())*5760/3600,
-(edit_clocks_model->eventLine(i)->length()/1000)*5760/3600);
} }
p->drawPie(-size_x/2,-size_y/2,size_x,size_y,
-QTime(0,0,0).secsTo(edit_clocks_model->eventLine(i)->startTime())*5760/3600,
-(edit_clocks_model->eventLine(i)->length()/1000)*5760/3600);
} }
p->end();
} }
p->end();
delete p; delete p;
edit_clock_label->setPixmap(*map); edit_clock_label->setPixmap(*map);
delete map; delete map;

View File

@@ -33,7 +33,7 @@
// //
// Layout // Layout
// //
#define CENTER_LINE 400 #define CLOCK_EDGE 624
#define PIE_X_MARGIN 100 #define PIE_X_MARGIN 100
#define PIE_Y_MARGIN 125 #define PIE_Y_MARGIN 125
@@ -64,6 +64,7 @@ class EditClock : public RDDialog
void cancelData(); void cancelData();
protected: protected:
void resizeEvent(QResizeEvent *e);
void paintEvent(QPaintEvent *e); void paintEvent(QPaintEvent *e);
void closeEvent(QCloseEvent *e); void closeEvent(QCloseEvent *e);
@@ -82,6 +83,7 @@ class EditClock : public RDDialog
QPushButton *edit_color_button; QPushButton *edit_color_button;
QColor edit_color; QColor edit_color;
QLabel *edit_clockname_label; QLabel *edit_clockname_label;
QLabel *edit_shortname_label;
QLineEdit *edit_shortname_edit; QLineEdit *edit_shortname_edit;
QLabel *edit_clock_label; QLabel *edit_clock_label;
QFont *edit_title_font; QFont *edit_title_font;
@@ -91,7 +93,14 @@ class EditClock : public RDDialog
bool edit_new_clock; bool edit_new_clock;
QStringList *edit_new_clocks; QStringList *edit_new_clocks;
RDSchedRulesList* sched_rules_list; RDSchedRulesList* sched_rules_list;
QLabel *edit_remarks_label;
QTextEdit *edit_remarks_edit; QTextEdit *edit_remarks_edit;
QPushButton *edit_scheduler_rules_button;
QPushButton *edit_save_button;
QPushButton *edit_saveas_button;
QPushButton *edit_services_list_button;
QPushButton *edit_ok_button;
QPushButton *edit_cancel_button;
}; };