Fix window issue in linux

qcpfix
M0VSE 2023-03-20 15:32:04 +00:00
rodzic eb65ae0b1c
commit 9d63c5cb71
5 zmienionych plików z 25 dodań i 25 usunięć

Wyświetl plik

@ -194,14 +194,20 @@ void controllerSetup::newDevice(USBDEVICE* dev, CONTROLLER* cntrl, QVector<BUTTO
QMutexLocker locker(mutex); QMutexLocker locker(mutex);
qDebug(logUsbControl()) << "Adding new tab for" << dev->product;
noControllersText->hide(); noControllersText->hide();
QWidget* tab = new QWidget(); QWidget* tab = new QWidget();
tab->setObjectName(dev->path); tab->setObjectName(dev->path);
ui->tabWidget->addTab(tab,dev->product);
ui->tabWidget->show();
QVBoxLayout* mainlayout = new QVBoxLayout(); QVBoxLayout* mainlayout = new QVBoxLayout();
mainlayout->setContentsMargins(0,0,0,0); mainlayout->setContentsMargins(0,0,0,0);
tab->setLayout(mainlayout); tab->setLayout(mainlayout);
QHBoxLayout* toplayout = new QHBoxLayout(); QHBoxLayout* toplayout = new QHBoxLayout();
mainlayout->addLayout(toplayout); mainlayout->addLayout(toplayout);
toplayout->setContentsMargins(0,0,0,0); toplayout->setContentsMargins(0,0,0,0);
@ -210,25 +216,24 @@ void controllerSetup::newDevice(USBDEVICE* dev, CONTROLLER* cntrl, QVector<BUTTO
mainlayout->addWidget(widget); mainlayout->addWidget(widget);
QVBoxLayout* layout = new QVBoxLayout(widget); QVBoxLayout* layout = new QVBoxLayout(widget);
layout->setContentsMargins(0,0,0,0); layout->setContentsMargins(0,0,0,0);
//mainlayout->addLayout(layout);
QCheckBox* disabled = new QCheckBox(); QCheckBox* disabled = new QCheckBox();
disabled->setText("Disable"); disabled->setText("Disable");
toplayout->addWidget(disabled); toplayout->addWidget(disabled);
QLabel* connectionLabel = new QLabel(); dev->message = new QLabel();
if (dev->connected) { if (dev->connected) {
connectionLabel->setStyleSheet("QLabel { color : green; }"); dev->message->setStyleSheet("QLabel { color : green; }");
connectionLabel->setText("Connected"); dev->message->setText("Connected");
} else { } else {
connectionLabel->setStyleSheet("QLabel { color : red; }"); dev->message->setStyleSheet("QLabel { color : red; }");
connectionLabel->setText("Not Connected"); dev->message->setText("Not Connected");
} }
connectionLabel->setAlignment(Qt::AlignRight);
toplayout->addWidget(connectionLabel); toplayout->addWidget(dev->message);
dev->message = connectionLabel; dev->message->setAlignment(Qt::AlignRight);
connect(disabled, qOverload<bool>(&QCheckBox::clicked), connect(disabled, qOverload<bool>(&QCheckBox::clicked),
[dev,this,widget,connectionLabel](bool checked) { this->disableClicked(dev->path,checked,widget,connectionLabel); }); [dev,this,widget](bool checked) { this->disableClicked(dev->path,checked,widget); });
disabled->setChecked(dev->disabled); disabled->setChecked(dev->disabled);
@ -278,7 +283,12 @@ void controllerSetup::newDevice(USBDEVICE* dev, CONTROLLER* cntrl, QVector<BUTTO
QGraphicsItem* bgImage = new QGraphicsPixmapItem(QPixmap::fromImage(image)); QGraphicsItem* bgImage = new QGraphicsPixmapItem(QPixmap::fromImage(image));
view->setMinimumSize(bgImage->boundingRect().width() + 2, bgImage->boundingRect().height() + 2); view->setMinimumSize(bgImage->boundingRect().width() + 2, bgImage->boundingRect().height() + 2);
// This command causes the window to disappear in Linux?
#if !defined(Q_OS_LINUX)
this->setMinimumSize(bgImage->boundingRect().width() + 370, bgImage->boundingRect().height() + 250); this->setMinimumSize(bgImage->boundingRect().width() + 370, bgImage->boundingRect().height() + 250);
#endif
controllerScene * scene = new controllerScene(); controllerScene * scene = new controllerScene();
view->setScene(scene); view->setScene(scene);
connect(scene, SIGNAL(mousePressed(controllerScene *,QPoint)), this, SLOT(mousePressed(controllerScene *,QPoint))); connect(scene, SIGNAL(mousePressed(controllerScene *,QPoint)), this, SLOT(mousePressed(controllerScene *,QPoint)));
@ -357,8 +367,6 @@ void controllerSetup::newDevice(USBDEVICE* dev, CONTROLLER* cntrl, QVector<BUTTO
helpText->setAlignment(Qt::AlignCenter); helpText->setAlignment(Qt::AlignCenter);
layout->addWidget(helpText); layout->addWidget(helpText);
ui->tabWidget->addTab(tab,dev->product);
ui->tabWidget->show();
if (dev->usbDevice != usbNone) if (dev->usbDevice != usbNone)
{ {
@ -502,18 +510,9 @@ void controllerSetup::timeoutChanged(QString path, int val)
emit programOverlay(path, 3, QString("Sleep timeout set to %0 minutes").arg(val)); emit programOverlay(path, 3, QString("Sleep timeout set to %0 minutes").arg(val));
} }
void controllerSetup::disableClicked(QString path, bool clicked, QWidget* widget, QLabel* label) void controllerSetup::disableClicked(QString path, bool clicked, QWidget* widget)
{ {
// Disable checkbox has been clicked // Disable checkbox has been clicked
emit programDisable(path,clicked); emit programDisable(path,clicked);
widget->setEnabled(!clicked); widget->setEnabled(!clicked);
/*
if (!clicked) {
label->setStyleSheet("QLabel { color : green; }");
label->setText("Connected");
} else {
label->setStyleSheet("QLabel { color : red; }");
label->setText("Not Connected");
}
*/
} }

Wyświetl plik

@ -87,7 +87,7 @@ public slots:
void speedChanged(QString path, int index); void speedChanged(QString path, int index);
void colorPicker(QString path); void colorPicker(QString path);
void timeoutChanged(QString path, int val); void timeoutChanged(QString path, int val);
void disableClicked(QString path, bool clicked, QWidget* widget, QLabel* label); void disableClicked(QString path, bool clicked, QWidget* widget);
private: private:

Wyświetl plik

@ -432,7 +432,7 @@ void usbController::run()
dev.uiCreated = true; dev.uiCreated = true;
} else { } else {
if (dev.connected) if (dev.uiCreated && dev.connected)
{ {
dev.message->setStyleSheet("QLabel { color : green; }"); dev.message->setStyleSheet("QLabel { color : green; }");
dev.message->setText("Connected"); dev.message->setText("Connected");

Wyświetl plik

@ -87,7 +87,7 @@ struct USBDEVICE {
QByteArray lastData = QByteArray(8,0x0); QByteArray lastData = QByteArray(8,0x0);
unsigned char lastDialPos=0; unsigned char lastDialPos=0;
QUuid uuid; QUuid uuid;
QLabel* message; QLabel *message;
}; };
struct COMMAND { struct COMMAND {

Wyświetl plik

@ -9205,6 +9205,7 @@ void wfmain::on_usbControllerBtn_clicked()
shut->hide(); shut->hide();
} }
else { else {
qInfo(logUsbControl()) << "Showing USB Controller window";
shut->show(); shut->show();
shut->raise(); shut->raise();
} }