~gerboland/qtmir/ual-catch-exception

« back to all changes in this revision

Viewing changes to src/modules/Unity/Application/mirsurfaceitem.cpp

  • Committer: CI Train Bot
  • Author(s): Daniel d'Andrada
  • Date: 2016-04-13 18:38:49 UTC
  • mfrom: (466.2.16 surfaceListModel)
  • Revision ID: ci-train-bot@canonical.com-20160413183849-qdqd0akyoa4rdl9i
Surface-based window management

- Session is no longer exported to QML. It's now an internal qtmir concept.
Approved by: Gerry Boland

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
#include "application.h"
19
19
#include "session.h"
20
20
#include "mirsurfaceitem.h"
 
21
#include "mirfocuscontroller.h"
21
22
#include "logging.h"
22
23
#include "ubuntukeyboardinfo.h"
23
24
#include "tracepoints.h" // generated from tracepoints.tp
107
108
    m_updateMirSurfaceSizeTimer.setInterval(1);
108
109
    connect(&m_updateMirSurfaceSizeTimer, &QTimer::timeout, this, &MirSurfaceItem::updateMirSurfaceSize);
109
110
 
110
 
    connect(this, &QQuickItem::activeFocusChanged, this, &MirSurfaceItem::updateMirSurfaceFocus);
 
111
    connect(this, &QQuickItem::activeFocusChanged, this, &MirSurfaceItem::updateMirSurfaceActiveFocus);
111
112
    connect(this, &QQuickItem::visibleChanged, this, &MirSurfaceItem::updateMirSurfaceVisibility);
112
113
    connect(this, &QQuickItem::windowChanged, this, &MirSurfaceItem::onWindowChanged);
113
114
}
557
558
    m_surface->setViewVisibility((qintptr)this, isVisible());
558
559
}
559
560
 
560
 
void MirSurfaceItem::updateMirSurfaceFocus(bool focused)
 
561
void MirSurfaceItem::updateMirSurfaceActiveFocus(bool focused)
561
562
{
562
563
    if (m_surface && m_consumesInput && m_surface->live()) {
563
 
        m_surface->setFocus(focused);
 
564
        m_surface->setActiveFocus(focused);
564
565
    }
565
566
}
566
567
 
633
634
        disconnect(m_surface, nullptr, this, nullptr);
634
635
 
635
636
        if (hasActiveFocus() && m_consumesInput && m_surface->live()) {
636
 
            m_surface->setFocus(false);
 
637
            m_surface->setActiveFocus(false);
637
638
        }
638
639
 
639
640
        m_surface->unregisterView((qintptr)this);
679
680
        }
680
681
 
681
682
        if (m_consumesInput) {
682
 
            m_surface->setFocus(hasActiveFocus());
 
683
            m_surface->setActiveFocus(hasActiveFocus());
683
684
        }
684
685
    }
685
686