~timo-jyrinki/ubuntu/trusty/maliit-framework/fix_qt52

« back to all changes in this revision

Viewing changes to src/mimapphostedserverlogic.cpp

  • Committer: Package Import Robot
  • Author(s): Ricardo Salveti de Araujo, Sergio Schvezov, Ricardo Salveti de Araujo
  • Date: 2013-07-23 19:47:04 UTC
  • mfrom: (1.1.2) (1.2.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130723194704-1lsy1kmlda069cea
Tags: 0.99.0+git20130615+97e8335-0ubuntu1
[ Sergio Schvezov ]
* New build from HEAD 97e8335.
* Packaging import from lp:phablet-extras/maliit-framework.

[ Ricardo Salveti de Araujo ]
* debian/control: adding vcs and fixing dependencies
* General package cleanup

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include "mimapphostedserverlogic.h"
2
 
 
3
 
#include "windowedsurfacegroup.h"
4
 
#include "maliit/plugins/abstractsurface.h" // for AbstractSurface::Option
5
 
 
6
 
#include <QtDebug>
7
 
#include <QGridLayout>
8
 
 
9
 
#include <deque>
10
 
 
11
 
namespace
12
 
{
13
 
    bool configureForAppHosting(QWidget *w)
14
 
    {
15
 
        if (not w) {
16
 
            return false;
17
 
        }
18
 
 
19
 
        w->setFocusPolicy(Qt::NoFocus);
20
 
        return true;
21
 
    }
22
 
}
23
 
 
24
 
MImAppHostedServerLogic::MImAppHostedServerLogic(QObject *parent)
25
 
    : MImAbstractServerLogic(parent)
26
 
    , mPluginsWidget(new QWidget(&mDefaultParent))
27
 
    , mSurfaceGroupFactory(new Maliit::Server::WindowedSurfaceGroupFactory)
28
 
{
29
 
    QGridLayout *layout = new QGridLayout(mPluginsWidget);
30
 
 
31
 
    layout->setContentsMargins(0, 0, 0, 0);
32
 
    layout->setColumnStretch(0, 1);
33
 
    layout->setColumnStretch(2, 1);
34
 
 
35
 
    mPluginsWidget->setAutoFillBackground(false);
36
 
    mPluginsWidget->setBackgroundRole(QPalette::NoRole);
37
 
    mPluginsWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
38
 
    mPluginsWidget->setFocusPolicy(Qt::NoFocus);
39
 
 
40
 
    connect(mSurfaceGroupFactory.data(), SIGNAL(surfaceWidgetCreated(QWidget*,int)),
41
 
            this, SLOT(newSurfaceWidget(QWidget*,int)));
42
 
}
43
 
 
44
 
MImAppHostedServerLogic::~MImAppHostedServerLogic()
45
 
{
46
 
}
47
 
 
48
 
void MImAppHostedServerLogic::inputPassthrough(const QRegion &region)
49
 
{
50
 
    if (region.isEmpty()) {
51
 
        mPluginsWidget->hide();
52
 
    } else {
53
 
        mPluginsWidget->show();
54
 
    }
55
 
}
56
 
 
57
 
QWidget *MImAppHostedServerLogic::pluginsProxyWidget() const
58
 
{
59
 
    return mPluginsWidget;
60
 
}
61
 
 
62
 
void MImAppHostedServerLogic::newSurfaceWidget(QWidget *widget, int surfaceOptions)
63
 
{
64
 
    visitWidgetHierarchy(configureForAppHosting, widget);
65
 
 
66
 
    QGridLayout *layout = qobject_cast<QGridLayout*>(mPluginsWidget->layout());
67
 
 
68
 
    if (surfaceOptions & Maliit::Plugins::AbstractSurface::PositionLeftBottom)
69
 
        layout->addWidget(widget, 0, 0, Qt::AlignLeft);
70
 
    else if (surfaceOptions & Maliit::Plugins::AbstractSurface::PositionCenterBottom)
71
 
        layout->addWidget(widget, 0, 1, Qt::AlignCenter);
72
 
    else if (surfaceOptions & Maliit::Plugins::AbstractSurface::PositionRightBottom)
73
 
        layout->addWidget(widget, 0, 2, Qt::AlignRight);
74
 
}
75
 
 
76
 
QSharedPointer<Maliit::Server::AbstractSurfaceGroupFactory> MImAppHostedServerLogic::surfaceGroupFactory() const
77
 
{
78
 
    return mSurfaceGroupFactory;
79
 
}
80
 
 
81
 
void MImAppHostedServerLogic::pluginLoaded()
82
 
{
83
 
    visitWidgetHierarchy(configureForAppHosting, mPluginsWidget);
84
 
}
85
 
 
86
 
void MImAppHostedServerLogic::appOrientationAboutToChange(int toAngle)
87
 
{
88
 
    Q_UNUSED(toAngle);
89
 
}
90
 
 
91
 
void MImAppHostedServerLogic::appOrientationChangeFinished(int toAngle)
92
 
{
93
 
    Q_UNUSED(toAngle);
94
 
}
95
 
 
96
 
void MImAppHostedServerLogic::applicationFocusChanged(WId newRemoteWinId)
97
 
{
98
 
    Q_UNUSED(newRemoteWinId);
99
 
}