From fd717fc1b5cde153c59c6f1c130e8db21e685cba Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Wed, 16 Jun 2021 15:14:19 -0400 Subject: [PATCH] 2021-06-16 Fred Gleason * Tweaked the field layout in the button widget labels in rdairplay(1). Signed-off-by: Fred Gleason --- ChangeLog | 3 ++ rdairplay/button_log.cpp | 49 +++++++++++++++----------- rdairplay/button_log.h | 5 ++- rdairplay/loglinebox.cpp | 74 +++++++++++++++++++++++++++++----------- rdairplay/loglinebox.h | 1 + rdairplay/rdairplay.cpp | 11 ++++-- 6 files changed, 100 insertions(+), 43 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8ec04143..ffdddb52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21896,3 +21896,6 @@ 2021-06-15 Fred Gleason * Refactored the 'StartButton' widget in rdairplay(1) to be more idiomatic. +2021-06-16 Fred Gleason + * Tweaked the field layout in the button widget labels in + rdairplay(1). diff --git a/rdairplay/button_log.cpp b/rdairplay/button_log.cpp index 347068ba..22a6ad52 100644 --- a/rdairplay/button_log.cpp +++ b/rdairplay/button_log.cpp @@ -2,7 +2,7 @@ // // The button log widget for RDAirPlay // -// (C) Copyright 2002-2020 Fred Gleason +// (C) Copyright 2002-2021 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 @@ -58,19 +58,11 @@ ButtonLog::ButtonLog(RDLogPlay *log,int id,RDAirPlayConf *conf,bool allow_pause, log_line_box[i]->setMode(LogLineBox::Full); log_line_box[i]->setAcceptDrops(rda->station()->enableDragdrop()); log_line_box[i]->setAllowDrags(rda->station()->enableDragdrop()); - log_line_box[i]->setGeometry(10+log_line_box[i]->sizeHint().height(), - (log_line_box[i]->sizeHint().height()+12)*i, - log_line_box[i]->sizeHint().width(), - log_line_box[i]->sizeHint().height()); connect(log_line_box[i],SIGNAL(doubleClicked(int)), this,SLOT(boxDoubleClickedData(int))); connect(log_line_box[i],SIGNAL(cartDropped(int,RDLogLine *)), this,SLOT(cartDroppedData(int,RDLogLine *))); log_start_button[i]=new StartButton(allow_pause,this); - log_start_button[i]->setGeometry(5, - (log_line_box[i]->sizeHint().height()+12)*i, - log_line_box[i]->sizeHint().height(), - log_line_box[i]->sizeHint().height()); mapper->setMapping(log_start_button[i],i); connect(log_start_button[i],SIGNAL(clicked()), mapper,SLOT(map())); @@ -81,21 +73,11 @@ ButtonLog::ButtonLog(RDLogPlay *log,int id,RDAirPlayConf *conf,bool allow_pause, log_line_box[i]->setMode(LogLineBox::Half); log_line_box[i]->setAcceptDrops(rda->station()->enableDragdrop()); log_line_box[i]->setAllowDrags(rda->station()->enableDragdrop()); - log_line_box[i]->setGeometry(10+log_line_box[0]->sizeHint().height(), - (log_line_box[0]->sizeHint().height()+12)*3+ - (log_line_box[i]->sizeHint().height()+12)*(i-3), - log_line_box[i]->sizeHint().width(), - log_line_box[i]->sizeHint().height()); connect(log_line_box[i],SIGNAL(doubleClicked(int)), this,SLOT(boxDoubleClickedData(int))); connect(log_line_box[i],SIGNAL(cartDropped(int,RDLogLine *)), this,SLOT(cartDroppedData(int,RDLogLine *))); log_start_button[i]=new StartButton(allow_pause,this); - log_start_button[i]->setGeometry(5, - (log_line_box[0]->sizeHint().height()+12)*3+ - (log_line_box[i]->sizeHint().height()+12)*(i-3), - log_line_box[0]->sizeHint().height(), - log_line_box[i]->sizeHint().height()); mapper->setMapping(log_start_button[i],i); connect(log_start_button[i],SIGNAL(clicked()), mapper,SLOT(map())); @@ -463,6 +445,35 @@ void ButtonLog::cartDroppedData(int line,RDLogLine *ll) } +void ButtonLog::resizeEvent(QResizeEvent *e) +{ + for(int i=0;isetGeometry(10+LOGLINEBOX_FULL_HEIGHT, + (LOGLINEBOX_FULL_HEIGHT+11)*i, + log_line_box[i]->sizeHint().width(), + log_line_box[i]->sizeHint().height()); + } + for(int i=0;isetGeometry(5, + (LOGLINEBOX_FULL_HEIGHT+11)*i, + LOGLINEBOX_FULL_HEIGHT, + LOGLINEBOX_FULL_HEIGHT); + } + for(int i=BUTTON_PLAY_BUTTONS;isetGeometry(10+85, + (LOGLINEBOX_FULL_HEIGHT+11)*3+ + (LOGLINEBOX_HALF_HEIGHT+11)*(i-3), + log_line_box[i]->sizeHint().width(), + log_line_box[i]->sizeHint().height()); + log_start_button[i]->setGeometry(5, + (LOGLINEBOX_FULL_HEIGHT+11)*3+ + (LOGLINEBOX_HALF_HEIGHT+11)*(i-3), + LOGLINEBOX_FULL_HEIGHT, + LOGLINEBOX_HALF_HEIGHT); + } +} + + void ButtonLog::UpdateEvents() { RDLogLine *logline=NULL; diff --git a/rdairplay/button_log.h b/rdairplay/button_log.h index b8bdc40e..8b17bcf5 100644 --- a/rdairplay/button_log.h +++ b/rdairplay/button_log.h @@ -2,7 +2,7 @@ // // The button play widget for RDAirPlay. // -// (C) Copyright 2002-2020 Fred Gleason +// (C) Copyright 2002-2021 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 @@ -62,6 +62,9 @@ class ButtonLog : public RDWidget void positionData(int line,int point); void cartDroppedData(int line,RDLogLine *ll); + protected: + void resizeEvent(QResizeEvent *e); + signals: void selectClicked(int id,int line,RDLogLine::Status); void cartDropped(int id,int line,RDLogLine *ll); diff --git a/rdairplay/loglinebox.cpp b/rdairplay/loglinebox.cpp index 1e54f53d..c22aa1bc 100644 --- a/rdairplay/loglinebox.cpp +++ b/rdairplay/loglinebox.cpp @@ -38,6 +38,11 @@ #include "../icons/traffic.xpm" #include "../icons/music.xpm" +// +// For debugging layout issues +// +//#define COLORIZE_LAYOUT + LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) : RDWidget(parent) { @@ -134,16 +139,14 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Count Up // line_up_label=new QLabel(this); - line_up_label->setGeometry(5,65,65,16); - line_up_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); + line_up_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); line_up_label->setFont(line_font); line_up_label->hide(); - + // // Position Slider // line_position_bar=new QProgressBar(this); - line_position_bar->setGeometry(75,66,sizeHint().width()-150,13); line_position_bar->setTextVisible(false); line_position_bar->hide(); @@ -151,7 +154,6 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Count Down // line_down_label=new QLabel(this); - line_down_label->setGeometry(sizeHint().width()-72,65,65,16); line_down_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); line_down_label->setFont(line_font); line_down_label->hide(); @@ -160,7 +162,6 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Cut Description // line_description_label=new QLabel(this); - line_description_label->setGeometry((sizeHint().width()/2),48,(sizeHint().width()/2 -10),16); line_description_label->setFont(line_font); line_description_label->hide(); @@ -168,7 +169,6 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Outcue // line_outcue_label=new QLabel(this); - line_outcue_label->setGeometry(5,48, (sizeHint().width()/2 -10),16); line_outcue_label->setFont(outcue_font); line_outcue_label->hide(); @@ -176,21 +176,18 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Artist // line_artist_label=new QLabel(this); - line_artist_label->setGeometry(5,33,sizeHint().width()-10,16); line_artist_label->setFont(line_font); // // Title // line_title_label=new QLabel(this); - line_title_label->setGeometry(5,18,sizeHint().width()-10,18); line_title_label->setFont(line_bold_font); // // Marker Comment // line_comment_label=new QLabel(this); - line_comment_label->setGeometry(5,18,sizeHint().width()-10,62); line_comment_label->setFont(line_font); line_comment_label->setAlignment(Qt::AlignTop|Qt::AlignLeft); line_comment_label->setWordWrap(true); @@ -200,34 +197,29 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Icon // line_icon_label=new QLabel(this); - line_icon_label->setGeometry(5,3,45,16); // // Cart // line_cart_label=new QLabel(this); - line_cart_label->setGeometry(25,3,53,16); line_cart_label->setFont(line_font); // // Cut // line_cut_label=new QLabel(this); - line_cut_label->setGeometry(80,3,24,16); line_cut_label->setFont(line_font); // // Group // line_group_label=new QLabel(this); - line_group_label->setGeometry(107,3,75,16); line_group_label->setFont(line_bold_font); // // Time // line_time_label=new QLabel(this); - line_time_label->setGeometry(185,3,70,16); line_time_label->setFont(line_font); line_time_label->setAlignment(Qt::AlignRight); line_time_label->setPalette(line_time_palette); @@ -236,7 +228,6 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Talk Time // line_talktime_label=new QLabel(this); - line_talktime_label->setGeometry(257,3,36,16); line_talktime_label->setFont(talk_font); line_talktime_label->setAlignment(Qt::AlignRight); @@ -244,7 +235,6 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Length // line_length_label=new QLabel(this); - line_length_label->setGeometry(297,3,40,16); line_length_label->setFont(line_font); line_length_label->setAlignment(Qt::AlignRight); @@ -252,7 +242,6 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) // Transition Type // line_trans_label=new QLabel(this); - line_trans_label->setGeometry(sizeHint().width()-53,3,48,16); line_trans_label->setAlignment(Qt::AlignRight); line_trans_label->setFont(line_bold_font); @@ -264,6 +253,24 @@ LogLineBox::LogLineBox(RDAirPlayConf *conf,QWidget *parent) line_countdown_timer=new QTimer(this); connect(line_countdown_timer,SIGNAL(timeout()),this,SLOT(countdownData())); +#ifdef COLORIZE_LAYOUT + line_up_label->setStyleSheet("background-color: #FF0000"); + line_down_label->setStyleSheet("background-color: #00FF00"); + line_description_label->setStyleSheet("background-color: #FF0000"); + line_outcue_label->setStyleSheet("background-color: #00FF00"); + line_artist_label->setStyleSheet("background-color: #0000FF"); + line_title_label->setStyleSheet("background-color: #FF0000"); + line_comment_label->setStyleSheet("background-color: #FFFF00"); + line_icon_label->setStyleSheet("background-color: #00FFFF"); + line_cart_label->setStyleSheet("background-color: #FF00FF"); + line_cut_label->setStyleSheet("background-color: #FF0000"); + line_group_label->setStyleSheet("background-color: #00FF00"); + line_time_label->setStyleSheet("background-color: #FFFF00"); + line_talktime_label->setStyleSheet("background-color: #00FFFF"); + line_length_label->setStyleSheet("background-color: #0000FF"); + line_trans_label->setStyleSheet("background-color: #FF00FF"); +#endif // COLORIZE_LAYOUT + setAcceptDrops(true); } @@ -827,12 +834,39 @@ void LogLineBox::mouseDoubleClickEvent(QMouseEvent *e) } +void LogLineBox::resizeEvent(QResizeEvent *e) +{ + line_comment_label->setGeometry(5,18,size().width()-10,62); + + line_icon_label->setGeometry(5,3,16,16); + line_cart_label->setGeometry(23,3,48,16); + line_cut_label->setGeometry(73,3,24,16); + line_group_label->setGeometry(100,3,80,16); + line_time_label->setGeometry(180,3,75,16); + line_talktime_label->setGeometry(257,3,36,16); + line_length_label->setGeometry(297,3,40,16); + line_trans_label->setGeometry(size().width()-53,3,48,16); + + line_title_label->setGeometry(5,18,size().width()-10,18); + + line_artist_label->setGeometry(5,33,size().width()-10,16); + + line_description_label-> + setGeometry((size().width()/2),48,(size().width()/2 -10),16); + line_outcue_label->setGeometry(5,48, (size().width()/2 -10),16); + + line_up_label->setGeometry(5,65,65,16); + line_position_bar->setGeometry(75,66,size().width()-150,13); + line_down_label->setGeometry(size().width()-72,65,65,16); +} + + void LogLineBox::paintEvent(QPaintEvent *e) { QPainter *p=new QPainter(this); - p->fillRect(0,0,sizeHint().width()-2,sizeHint().height()-2, + p->fillRect(0,0,size().width()-2,size().height()-2, QGuiApplication::palette().color(QPalette::Background)); - p->drawRect(0,0,sizeHint().width()-2,sizeHint().height()-2); + p->drawRect(0,0,size().width()-2,size().height()-2); p->end(); delete p; } diff --git a/rdairplay/loglinebox.h b/rdairplay/loglinebox.h index 4706a89b..7d90180e 100644 --- a/rdairplay/loglinebox.h +++ b/rdairplay/loglinebox.h @@ -70,6 +70,7 @@ class LogLineBox : public RDWidget void mouseMoveEvent(QMouseEvent *e); void mouseReleaseEvent(QMouseEvent *e); void mouseDoubleClickEvent(QMouseEvent *e); + void resizeEvent(QResizeEvent *e); void paintEvent(QPaintEvent *); void dragEnterEvent(QDragEnterEvent *e); void dropEvent(QDropEvent *e); diff --git a/rdairplay/rdairplay.cpp b/rdairplay/rdairplay.cpp index 38bfe0e0..c9f450f5 100644 --- a/rdairplay/rdairplay.cpp +++ b/rdairplay/rdairplay.cpp @@ -1996,18 +1996,23 @@ void MainWidget::resizeEvent(QResizeEvent *e) // // Button Log // - air_button_list->setGeometry(10,140,air_button_list->sizeHint().width(), - air_button_list->sizeHint().height()); - + air_button_list->setGeometry(10,140, + air_button_list->sizeHint().width(), + h-215); + // air_button_list->setGeometry(10,140,air_button_list->sizeHint().width(), + // air_button_list->sizeHint().height()); + // // Sound Panel // + // air_panel->setGeometry(w/2,140,(w/2)-20,h-210); air_panel->setGeometry(510,140,w-510,h-215); // // Full Log Widgets // for(int i=0;isetGeometry(w/2,140,(w/2)-20,h-210); air_log_list[i]->setGeometry(510,140,w-530,h-210); }