~phablet-team/webbrowser-app/trunk

« back to all changes in this revision

Viewing changes to src/app/webbrowser/reparenter.h

  • Committer: Bileto Bot
  • Date: 2016-12-02 08:37:55 UTC
  • mfrom: (1549.7.19 staging-20161130)
  • Revision ID: ci-train-bot@canonical.com-20161202083755-d4zyar02ta0ic3g2
* Ensure if the webview changes that the loading visible state of the
  progress bar is bound to the correct webview (LP: #1638337)
* Additional autopilot tests
* Add dependencies on qtdeclarative5-ubuntu-content1 and
  qtdeclarative5-ubuntu-download-manager0.1 as they are now in main
  (LP: #1491279)
* Add Drag and drop support of tabs between windows on non-mir clients
* Add a desktop UA override for ESPN websites (LP: #1637285)
* Add user agent overrides for meet.jit.si (LP: #1635971)
* Make QmlTests::UbuntuWebView02::test_no_contextual_actions() more
  robust (LP: #1633528)
* Run unit tests with verbose output by default when building packages
* Do not transfer keyboard focus from the address bar to the new tab
  view in incognito mode (LP: #1634463)
* Use new API in oxide 1.17 to copy image to clipboard (LP: #1585291)
* Use the ubuntu-app-platform content interface
* Desktop UA override for google docs (LP: #1643386)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2016 Canonical Ltd.
 
3
 *
 
4
 * This file is part of webbrowser-app.
 
5
 *
 
6
 * webbrowser-app is free software; you can redistribute it and/or modify
 
7
 * it under the terms of the GNU General Public License as published by
 
8
 * the Free Software Foundation; version 3.
 
9
 *
 
10
 * webbrowser-app is distributed in the hope that it will be useful,
 
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 * GNU General Public License for more details.
 
14
 *
 
15
 * You should have received a copy of the GNU General Public License
 
16
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
17
 */
 
18
 
 
19
#ifndef __REPARENTER_H__
 
20
#define __REPARENTER_H__
 
21
 
 
22
#include <QtCore/QMap>
 
23
#include <QtCore/QObject>
 
24
#include <QtCore/QPointer>
 
25
#include <QtCore/QVariantMap>
 
26
#include <QtQml/QQmlComponent>
 
27
#include <QtQml/QQmlContext>
 
28
#include <QtQuick/QQuickItem>
 
29
 
 
30
class Reparenter : public QObject
 
31
{
 
32
    Q_OBJECT
 
33
 
 
34
public:
 
35
    Reparenter();
 
36
    ~Reparenter();
 
37
 
 
38
    Q_INVOKABLE QObject *createObject(QQmlComponent *comp, QQuickItem *parent, QVariantMap properties={}, QQuickItem *contextItem=Q_NULLPTR);
 
39
    Q_INVOKABLE void destroyContextAndObject(QQuickItem *item);
 
40
    Q_INVOKABLE void reparent(QQuickItem *obj, QQuickItem *newParent);
 
41
private:
 
42
    QMap<QPointer<QQmlContext>, QPointer<QObject>> m_contexts;
 
43
};
 
44
 
 
45
#endif // __REPARENTER_H__
 
46