From: GiWoong Kim Date: Thu, 31 Jul 2014 09:08:15 +0000 (+0900) Subject: ui: add controller widget & remove unused line X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c655198571079bd9c63c615f70c052036a6ab49b;p=sdk%2Femulator%2Fqemu.git ui: add controller widget & remove unused line Change-Id: I441d92cac9e4759c293afe14baddae6678cf509a Signed-off-by: GiWoong Kim --- diff --git a/tizen/src/display/qt5.c b/tizen/src/display/qt5.c index ea4b9d5265..9ef429092f 100644 --- a/tizen/src/display/qt5.c +++ b/tizen/src/display/qt5.c @@ -44,12 +44,14 @@ static void qt5_update(DisplayChangeListener *dcl, int x, int y, int w, int h) { DisplaySurface *surf = qemu_console_surface(dcl->con); - if (!surf) { return; } -// qt5_update_internal(surface_data(surf), surface_width(surf), surface_height(surf)); +#if 0 + /* testing */ + qt5_update_internal(surface_data(surf), surface_width(surf), surface_height(surf)); +#endif } static void qt5_switch(DisplayChangeListener *dcl, @@ -112,8 +114,6 @@ void maru_qt5_display_init(MaruDisplayChangeListener *mdcl, int full_screen) qt5_console[i].idx = i; } - // TODO: show icon - if (full_screen) { // TODO } diff --git a/tizen/src/display/qt5_supplement.cpp b/tizen/src/display/qt5_supplement.cpp index f7816d6005..ed4409789d 100644 --- a/tizen/src/display/qt5_supplement.cpp +++ b/tizen/src/display/qt5_supplement.cpp @@ -52,14 +52,9 @@ void loadControllerLayoutFromXML(QFile *, UIInformation *); static QApplication *app; -QT5Console::QT5Console() -{ - -} - static int argc = 0; static char *argv[0]; -//static QT5Console *console; + static MainWindow *mainwindow; static UIInformation *uiInfo; @@ -103,8 +98,6 @@ void qt5_skin_init(void) mainwindow = new MainWindow(uiInfo); // mainwindow->move(100, 100); // TODO: MRU mainwindow->show(); - -// app.exec(); } void qt5_early_prepare(void) @@ -118,10 +111,6 @@ void qt5_early_prepare(void) void qt5_prepare(void) { qt5_skin_init(); - -// app = new QApplication(argc, argv); -// console = new QT5Console(); -// console->show(); } void qt5_update_internal(void *data, int width, int height) diff --git a/tizen/src/display/qt5_supplement.h b/tizen/src/display/qt5_supplement.h index 999c34ebc8..c160482819 100644 --- a/tizen/src/display/qt5_supplement.h +++ b/tizen/src/display/qt5_supplement.h @@ -29,22 +29,6 @@ #ifndef __QT5_INTERNAL_H__ #define __QT5_INTERNAL_H__ -#ifdef __cplusplus -#include - -class QT5Console : public QWidget -{ - Q_OBJECT - -public: - QT5Console(); - -protected: - -private: -}; -#endif - #ifdef __cplusplus extern "C" { #endif diff --git a/tizen/src/ui/Makefile.objs b/tizen/src/ui/Makefile.objs index 1845870490..8034a6516d 100644 --- a/tizen/src/ui/Makefile.objs +++ b/tizen/src/ui/Makefile.objs @@ -6,6 +6,7 @@ $(obj)/qrc_resource.cpp: $(TIZEN_UI)/resource/resource.qrc rcc -name resource $< -o $@ obj-$(CONFIG_QT) += controllerlayout.o +obj-$(CONFIG_QT) += controllerwidget.o moc_controllerwidget.o obj-$(CONFIG_QT) += displaywidget.o moc_displaywidget.o obj-$(CONFIG_QT) += hardwarekey.o obj-$(CONFIG_QT) += mainwindow.o moc_mainwindow.o @@ -22,6 +23,9 @@ obj-$(CONFIG_QT) += xml/ obj-$(CONFIG_QT) += menu/ +$(obj)/moc_controllerwidget.o: $(obj)/moc_controllerwidget.cpp +$(obj)/moc_controllerwidget.cpp: $(obj)/controllerwidget.h + moc $< -o $@ $(obj)/moc_displaywidget.o: $(obj)/moc_displaywidget.cpp $(obj)/moc_displaywidget.cpp: $(obj)/displaywidget.h moc $< -o $@ diff --git a/tizen/src/ui/controllerwidget.cpp b/tizen/src/ui/controllerwidget.cpp new file mode 100644 index 0000000000..6ec8f31201 --- /dev/null +++ b/tizen/src/ui/controllerwidget.cpp @@ -0,0 +1,24 @@ +#include + +#include "controllerwidget.h" + +ControllerWidget::ControllerWidget(ControllerLayout *conLayout, QWidget *parent) : + QLabel(parent) +{ + setStyleSheet("border-style: none"); + + QHBoxLayout *layout = new QHBoxLayout(this); + layout->setMargin(0); + layout->setSpacing(0); + + QGraphicsScene *conScene = new QGraphicsScene(this); + + conView = new SkinControllerView(conLayout, conScene, this); + conView->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + layout->addWidget(conView); +} + +ControllerWidget::~ControllerWidget() +{ + qDebug("destroy contoller"); +} diff --git a/tizen/src/ui/controllerwidget.h b/tizen/src/ui/controllerwidget.h new file mode 100644 index 0000000000..f2e7863baf --- /dev/null +++ b/tizen/src/ui/controllerwidget.h @@ -0,0 +1,21 @@ +#ifndef CONTROLLERWIDGET_H +#define CONTROLLERWIDGET_H + +#include + +#include "controllerlayout.h" +#include "skincontrollerview.h" + +class ControllerWidget : public QLabel +{ + Q_OBJECT + +public: + explicit ControllerWidget(ControllerLayout *conLayout, QWidget *parent = 0); + ~ControllerWidget(); + +private: + SkinControllerView *conView; +}; + +#endif // CONTROLLERWIDGET_H diff --git a/tizen/src/ui/mainwindow.cpp b/tizen/src/ui/mainwindow.cpp index f0f1c1001b..38cc138cd9 100644 --- a/tizen/src/ui/mainwindow.cpp +++ b/tizen/src/ui/mainwindow.cpp @@ -4,6 +4,7 @@ #include "displaywidget.h" #include "skinlayout.h" #include "skincontrollerview.h" +#include "controllerwidget.h" QOpenGLContext *qt5GLContext = NULL; QSurfaceFormat qt5GLFormat; @@ -76,26 +77,29 @@ MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) : /* scene */ QGraphicsScene* skinScene = new QGraphicsScene(this); - //item->setFlags(QGraphicsItem::ItemIsMovable); - //item->setAttribute(Qt::WA_Hover); /* view */ skinView = new SkinView(skinScene, this); skinView->setStyleSheet("background: transparent"); + //skinView->setStyleSheet("border-style: none"); skinView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); skinView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - //view->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); winLayout->addWidget(skinView); - /* TODO */ if (uiInfo->controllerList.count() > 0) { +#if 0 + // TODO: docked controller QGraphicsScene *conScene = new QGraphicsScene(this); + conView = new SkinControllerView(conScene, this); - conView->setStyleSheet("background: transparent"); - conView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - conView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); conView->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); winLayout->addWidget(conView); +#endif + + /* floated controller */ + ControllerLayout *conLayout = uiInfo->controllerList.at(0); + ControllerWidget *con = new ControllerWidget(conLayout); + con->show(); } QGLContext *wrapperContext = QGLContext::fromOpenGLContext(qt5GLContext); @@ -122,6 +126,7 @@ MainWindow::MainWindow(UIInformation *uiInfo, QWidget *parent) : context->create(wrapperContext); /* popup menu */ + // TODO: thread popupMenu = new ContextMenu(this); setContextMenuPolicy(Qt::CustomContextMenu); @@ -203,8 +208,6 @@ void MainWindow::setRegion(QImage baseImage) { qDebug("set region"); - // TODO: remove border - QImage region = baseImage.createAlphaMask().scaled( baseImage.width() * getUIState()->getScaleFactor(), baseImage.height() * getUIState()->getScaleFactor()); diff --git a/tizen/src/ui/skincontrollerview.cpp b/tizen/src/ui/skincontrollerview.cpp index 47dd39059e..73e762c2fa 100644 --- a/tizen/src/ui/skincontrollerview.cpp +++ b/tizen/src/ui/skincontrollerview.cpp @@ -2,31 +2,33 @@ #include "mainwindow.h" #include "skinkeyitem.h" -SkinControllerView::SkinControllerView(QGraphicsScene *scene, QWidget *parent) : +SkinControllerView::SkinControllerView(ControllerLayout *conLayout, QGraphicsScene *scene, QWidget *parent) : QGraphicsView(scene, parent) { + setStyleSheet("background: transparent"); + setStyleSheet("border-style: none"); + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setAlignment(Qt::AlignLeft | Qt::AlignTop); - createItems(); + createItems(conLayout); } -void SkinControllerView::createItems() +void SkinControllerView::createItems(ControllerLayout *conLayout) { - MainWindow *win = ((MainWindow *)this->parent()); - /* bezel */ - SkinBezelItem *bezelItem = new SkinBezelItem( - win->uiInfo->controllerList.at(0)->conImg[0]); + SkinBezelItem *bezelItem = new SkinBezelItem(conLayout->conImg[ControllerLayout::normal]); scene()->addItem(bezelItem); /* HW keys */ - QList keyList = win->uiInfo->controllerList.at(0)->keyList; + QList keyList = conLayout->keyList; HardwareKey *hwKey = NULL; for (int i = 0; i < keyList.count(); i++) { hwKey = keyList.at(i); if (hwKey != NULL) { - new SkinKeyItem(win->uiInfo->controllerList.at(0)->conImg[0].copy(hwKey->region), + new SkinKeyItem(conLayout->conImg[ControllerLayout::pressed].copy(hwKey->region), hwKey, bezelItem); } } diff --git a/tizen/src/ui/skincontrollerview.h b/tizen/src/ui/skincontrollerview.h index 00ddf6fd93..f9743f751a 100644 --- a/tizen/src/ui/skincontrollerview.h +++ b/tizen/src/ui/skincontrollerview.h @@ -2,18 +2,19 @@ #define SKINCONTROLLERVIEW_H #include "skinview.h" +#include "controllerlayout.h" class SkinControllerView : public QGraphicsView { public: - SkinControllerView(QGraphicsScene *scene, QWidget *parent = 0); + SkinControllerView(ControllerLayout *conLayout, QGraphicsScene *scene, QWidget *parent = 0); ~SkinControllerView(); protected: void resizeEvent(QResizeEvent *event); private: - void createItems(); + void createItems(ControllerLayout *conLayout); }; #endif // SKINCONTROLLERVIEW_H