From 9a9ffe7eebf14ea1828480c2e175e4fc39e26dac Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Fri, 18 Oct 2013 11:25:12 +0200 Subject: [Incomplete] Commit for EDID testsystem --- src/widget.cpp | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 src/widget.cpp (limited to 'src/widget.cpp') diff --git a/src/widget.cpp b/src/widget.cpp new file mode 100644 index 0000000..7867f92 --- /dev/null +++ b/src/widget.cpp @@ -0,0 +1,145 @@ +#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() + { + } -- cgit v1.2.3-55-g7522