blob: 7867f9255760e93a778cb8744687e273d4ec3521 (
plain) (
tree)
|
|
#include "widget.h"
#include "ui_widget.h"
#include "displaymanager.h"
//#include <QString>
//#include <QSet>
//#include <QDebug>
#include <vector>
using namespace std;
#include <algorithm>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
DisplayManager* DM = DisplayManager::Inst();
for (std::vector<Output>::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<Resolution> modes = (*i).getSupportedModes();
for ( QSet<Resolution>::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<RRMode> 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<RRMode>::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<XID, char *>::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()
{
}
|