mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-08-16 08:34:12 +02:00
2023-10-05 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in rdairplay(1) and rdpanel(1) that caused extraneous buttons to appear when resizing the sound panel. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
18c3d85108
commit
7c46d99bc3
@ -24414,3 +24414,6 @@
|
|||||||
2023-10-05 Fred Gleason <fredg@paravelsystems.com>
|
2023-10-05 Fred Gleason <fredg@paravelsystems.com>
|
||||||
* Clarified the entries for the 'Pause Panel' ['PU'] and
|
* Clarified the entries for the 'Pause Panel' ['PU'] and
|
||||||
'Stop Panel' ['PT'] RMLs in the Operations Guide.
|
'Stop Panel' ['PT'] RMLs in the Operations Guide.
|
||||||
|
2023-10-05 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Fixed a regression in rdairplay(1) and rdpanel(1) that caused
|
||||||
|
extraneous buttons to appear when resizing the sound panel.
|
||||||
|
@ -257,13 +257,15 @@ QString RDButtonPanel::json(int padding,bool final) const
|
|||||||
|
|
||||||
void RDButtonPanel::setVisible(bool state)
|
void RDButtonPanel::setVisible(bool state)
|
||||||
{
|
{
|
||||||
printf("Calling RDButtonPanel::setVisible(%d) @ %p\n",state,this);
|
|
||||||
RDWidget::setVisible(state);
|
RDWidget::setVisible(state);
|
||||||
for(int i=0;i<PANEL_MAX_BUTTON_ROWS;i++) {
|
for(int i=0;i<PANEL_MAX_BUTTON_ROWS;i++) {
|
||||||
for(int j=0;j<PANEL_MAX_BUTTON_COLUMNS;j++) {
|
for(int j=0;j<PANEL_MAX_BUTTON_COLUMNS;j++) {
|
||||||
panel_button[i][j]->setVisible(state);
|
panel_button[i][j]->setVisible(state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(state) {
|
||||||
|
UpdateViewport();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -271,9 +273,9 @@ void RDButtonPanel::buttonClickedData(int id)
|
|||||||
{
|
{
|
||||||
int pnum=id/(PANEL_MAX_BUTTON_COLUMNS*PANEL_MAX_BUTTON_ROWS);
|
int pnum=id/(PANEL_MAX_BUTTON_COLUMNS*PANEL_MAX_BUTTON_ROWS);
|
||||||
int pos=id%(PANEL_MAX_BUTTON_COLUMNS*PANEL_MAX_BUTTON_ROWS);
|
int pos=id%(PANEL_MAX_BUTTON_COLUMNS*PANEL_MAX_BUTTON_ROWS);
|
||||||
printf("emitting buttonClicked(%d,%d,%d)\n",
|
|
||||||
pnum,pos%PANEL_MAX_BUTTON_COLUMNS,pos/PANEL_MAX_BUTTON_COLUMNS);
|
emit buttonClicked(pnum,pos%PANEL_MAX_BUTTON_COLUMNS,
|
||||||
emit buttonClicked(pnum,pos%PANEL_MAX_BUTTON_COLUMNS,pos/PANEL_MAX_BUTTON_COLUMNS);
|
pos/PANEL_MAX_BUTTON_COLUMNS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -287,6 +289,12 @@ void RDButtonPanel::resizeEvent(QResizeEvent *e)
|
|||||||
PANEL_BUTTON_SIZE_Y);
|
PANEL_BUTTON_SIZE_Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
UpdateViewport();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RDButtonPanel::UpdateViewport()
|
||||||
|
{
|
||||||
for(int i=0;i<PANEL_MAX_BUTTON_ROWS;i++) {
|
for(int i=0;i<PANEL_MAX_BUTTON_ROWS;i++) {
|
||||||
for(int j=0;j<PANEL_MAX_BUTTON_COLUMNS;j++) {
|
for(int j=0;j<PANEL_MAX_BUTTON_COLUMNS;j++) {
|
||||||
RDPanelButton *button=panel_button[i][j];
|
RDPanelButton *button=panel_button[i][j];
|
||||||
|
@ -70,6 +70,7 @@ class RDButtonPanel : public RDWidget
|
|||||||
void resizeEvent(QResizeEvent *e);
|
void resizeEvent(QResizeEvent *e);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void UpdateViewport();
|
||||||
int panel_number;
|
int panel_number;
|
||||||
QString panel_title;
|
QString panel_title;
|
||||||
QSignalMapper *panel_button_mapper;
|
QSignalMapper *panel_button_mapper;
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
#include <QDrag>
|
#include <QDrag>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
|
||||||
|
@ -673,7 +673,6 @@ void RDSoundPanel::panelDown()
|
|||||||
|
|
||||||
void RDSoundPanel::panelActivatedData(int n)
|
void RDSoundPanel::panelActivatedData(int n)
|
||||||
{
|
{
|
||||||
printf("panelActivatedData(%d)\n",n);
|
|
||||||
QString username;
|
QString username;
|
||||||
if(panel_type==RDAirPlayConf::UserPanel) {
|
if(panel_type==RDAirPlayConf::UserPanel) {
|
||||||
username=rda->user()->name();
|
username=rda->user()->name();
|
||||||
@ -754,8 +753,6 @@ void RDSoundPanel::setupClickedData()
|
|||||||
|
|
||||||
void RDSoundPanel::buttonClickedData(int pnum,int col,int row)
|
void RDSoundPanel::buttonClickedData(int pnum,int col,int row)
|
||||||
{
|
{
|
||||||
// printf("buttonMapperData(pnum: %d,col: %d row: %d)\n",pnum,col,row);
|
|
||||||
|
|
||||||
if(panel_current_panel==NULL) {
|
if(panel_current_panel==NULL) {
|
||||||
printf("NO CURRENT PANEL!\n");
|
printf("NO CURRENT PANEL!\n");
|
||||||
return;
|
return;
|
||||||
@ -1300,9 +1297,7 @@ void RDSoundPanel::UpdatePanels(const QString &username)
|
|||||||
}
|
}
|
||||||
for(int i=panel_arrays.value(username).size();i<max_panels;i++) {
|
for(int i=panel_arrays.value(username).size();i<max_panels;i++) {
|
||||||
RDButtonPanel *panel=new RDButtonPanel(type,i,this);
|
RDButtonPanel *panel=new RDButtonPanel(type,i,this);
|
||||||
printf("new panel type: %d number: %d ptr: %p\n",
|
panel->setGeometry(0,0,size().width()-5,size().height()-60);
|
||||||
type,i,panel);
|
|
||||||
|
|
||||||
connect(panel,SIGNAL(buttonClicked(int,int,int)),
|
connect(panel,SIGNAL(buttonClicked(int,int,int)),
|
||||||
this,SLOT(buttonClickedData(int,int,int)));
|
this,SLOT(buttonClickedData(int,int,int)));
|
||||||
panel->hide();
|
panel->hide();
|
||||||
@ -1379,7 +1374,6 @@ void RDSoundPanel::ShowPanel(RDAirPlayConf::PanelType type,int offset)
|
|||||||
if(type==RDAirPlayConf::UserPanel) {
|
if(type==RDAirPlayConf::UserPanel) {
|
||||||
username=rda->user()->name();
|
username=rda->user()->name();
|
||||||
}
|
}
|
||||||
printf("username: %s\n",username.toUtf8().constData());
|
|
||||||
if(panel_arrays.value(username).size()>offset) {
|
if(panel_arrays.value(username).size()>offset) {
|
||||||
if(panel_current_panel!=NULL) {
|
if(panel_current_panel!=NULL) {
|
||||||
panel_current_panel->hide();
|
panel_current_panel->hide();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user