#include "widget.h" #include "ui_widget.h" #include "displaymanager.h" //#include //#include //#include #include using namespace std; #include Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); DisplayManager* DM = DisplayManager::Inst(); for (std::vector::iterator i = DM->getConnectedOutputs().begin(); i != DM->getConnectedOutputs().end(); ++i) { qDebug() << "EDID?" << ( (*i).hasEDID() ? "true" : "false"); qDebug() << "Proj?" << ( (*i).isProjector() ? "true" : "false"); qDebug() << "Current?" << (*i).getCurrentMode().width<< (*i).getCurrentMode().height; qDebug() << "Preferred?" << (*i).getPreferredMode().width << (*i).getPreferredMode().height; QSet modes = (*i).getSupportedModes(); for ( QSet::iterator i = modes.begin(); i != modes.end(); ++i ) { qDebug() << "---- " << (*i).width << (*i).height; } } // XManager * XM = XManager::Inst(); // switch ( XM->getOutputInfos().size() ){ // /*************************************************************************/ // case 1:// In case of one connected output - xrandr --auto // qDebug() << "Normal output"; // exit(0); // break; // /*************************************************************************/ // case 2: // In case of two connected outputs // /*********************************************************************/ // // If one of the two connected outputs is a beamer // if ( true ) //( XM->getOutputInfos()[0]->mm_width == 0 && XM->getOutputInfos()[0]->mm_height == 0 ) // // || ( XM->getOutputInfos()[1]->mm_width == 0 && XM->getOutputInfos()[1]->mm_height == 0 ) ) // { // /*****************************************************************/ // // If the beamer transmits reliable EDID data. // if( isReliableEDIDpresent() ) // { // qDebug() << "beamer output reliable EDID "; // configureWidgetForBeamerWithEDID(); // } // /*****************************************************************/ // // If the beamer DOES NOT transmits reliable EDID data. // else // { // qDebug() << "beamer output no reliable EDID "; // configureWidgetForBeamerWithEDID(); // } // /*****************************************************************/ // } // /*********************************************************************/ // // If NEITHER of the outputs is a beamer (likely dualscreen setup) // else // { // // Just apply preferred settings // qDebug() << "dualscreen output"; // } // break; // /*************************************************************************/ // default: // // If there are more than 3 outputs // // its up to the user. Quit. // exit(0); // break; // } // /*************************************************************************/ //Remove borders and stuff setWindowFlags(windowFlags() | Qt::FramelessWindowHint); // QSet outputs0, outputs1; // for (int i = 0; i < XManager::Inst()->getOutputInfos()[0]->nmode; ++i) // outputs0.insert(XManager::Inst()->getOutputInfos()[0]->modes[i]); // for (int i = 0; i < XManager::Inst()->getOutputInfos()[1]->nmode; ++i) // outputs1.insert(XManager::Inst()->getOutputInfos()[1]->modes[i]); // outputs0.intersect(outputs1); // // Fill treewidget with data from cups dests; // for ( QSet::iterator it = outputs0.begin(); it != outputs0.end(); ++it ) // { // qDebug() << *it; // qDebug() << XManager::Inst()->getModeMap()[*it]; // ui->comboBox->addItem(XManager::Inst()->getModeMap().at(*it), (unsigned long long int)*it); // } // // Fill treewidget with data from cups dests; // for ( map::iterator it = XManager::Inst()->getModeMap().begin(); it != XManager::Inst()->getModeMap().end(); ++it ) // { // qDebug() << it->first ; //// qDebug() << XManager::getInstance()->getModeMap()[*it]; //// ui->comboBox->addItem(XManager::getInstance()->getModeMap().at(*it), (unsigned long long int)*it); // } // Resize widget to its content resize(sizeHint()); // Center dialog on screenbottom const QRect desktopRect = QApplication::desktop()->screenGeometry(); this->move( desktopRect.width()/2-this->width()/2, desktopRect.height()-this->height()); } Widget::~Widget() { delete ui; } void Widget::configureWidgetForBeamerWithEDID() { } void Widget::configureWidgetForBeamerWithOUTEDID() { }