summaryrefslogtreecommitdiffstats
path: root/src/widget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widget.cpp')
-rw-r--r--src/widget.cpp145
1 files changed, 145 insertions, 0 deletions
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 <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()
+ {
+ }