Warning, file /plasma/kwin/autotests/tabbox/mock_tabboxhandler.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     KWin - the KDE window manager
0003     This file is part of the KDE project.
0004 
0005     SPDX-FileCopyrightText: 2012 Martin Gräßlin <mgraesslin@kde.org>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 #include "mock_tabboxhandler.h"
0010 #include "mock_tabboxclient.h"
0011 
0012 namespace KWin
0013 {
0014 
0015 MockTabBoxHandler::MockTabBoxHandler(QObject *parent)
0016     : TabBoxHandler(parent)
0017 {
0018 }
0019 
0020 MockTabBoxHandler::~MockTabBoxHandler()
0021 {
0022 }
0023 
0024 void MockTabBoxHandler::grabbedKeyEvent(QKeyEvent *event) const
0025 {
0026 }
0027 
0028 QWeakPointer<TabBox::TabBoxClient> MockTabBoxHandler::activeClient() const
0029 {
0030     return m_activeClient;
0031 }
0032 
0033 void MockTabBoxHandler::setActiveClient(const QWeakPointer<TabBox::TabBoxClient> &client)
0034 {
0035     m_activeClient = client;
0036 }
0037 
0038 QWeakPointer<TabBox::TabBoxClient> MockTabBoxHandler::clientToAddToList(TabBox::TabBoxClient *client, int desktop) const
0039 {
0040     QList<QSharedPointer<TabBox::TabBoxClient>>::const_iterator it = m_windows.constBegin();
0041     for (; it != m_windows.constEnd(); ++it) {
0042         if ((*it).get() == client) {
0043             return QWeakPointer<TabBox::TabBoxClient>(*it);
0044         }
0045     }
0046     return QWeakPointer<TabBox::TabBoxClient>();
0047 }
0048 
0049 QWeakPointer<TabBox::TabBoxClient> MockTabBoxHandler::nextClientFocusChain(TabBox::TabBoxClient *client) const
0050 {
0051     QList<QSharedPointer<TabBox::TabBoxClient>>::const_iterator it = m_windows.constBegin();
0052     for (; it != m_windows.constEnd(); ++it) {
0053         if ((*it).get() == client) {
0054             ++it;
0055             if (it == m_windows.constEnd()) {
0056                 return QWeakPointer<TabBox::TabBoxClient>(m_windows.first());
0057             } else {
0058                 return QWeakPointer<TabBox::TabBoxClient>(*it);
0059             }
0060         }
0061     }
0062     if (!m_windows.isEmpty()) {
0063         return QWeakPointer<TabBox::TabBoxClient>(m_windows.last());
0064     }
0065     return QWeakPointer<TabBox::TabBoxClient>();
0066 }
0067 
0068 QWeakPointer<TabBox::TabBoxClient> MockTabBoxHandler::firstClientFocusChain() const
0069 {
0070     if (m_windows.isEmpty()) {
0071         return QWeakPointer<TabBox::TabBoxClient>();
0072     }
0073     return m_windows.first();
0074 }
0075 
0076 bool MockTabBoxHandler::isInFocusChain(TabBox::TabBoxClient *client) const
0077 {
0078     if (!client) {
0079         return false;
0080     }
0081     QList<QSharedPointer<TabBox::TabBoxClient>>::const_iterator it = m_windows.constBegin();
0082     for (; it != m_windows.constEnd(); ++it) {
0083         if ((*it).get() == client) {
0084             return true;
0085         }
0086     }
0087     return false;
0088 }
0089 
0090 QWeakPointer<TabBox::TabBoxClient> MockTabBoxHandler::createMockWindow(const QString &caption)
0091 {
0092     QSharedPointer<TabBox::TabBoxClient> client(new MockTabBoxClient(caption));
0093     m_windows.append(client);
0094     m_activeClient = client;
0095     return QWeakPointer<TabBox::TabBoxClient>(client);
0096 }
0097 
0098 void MockTabBoxHandler::closeWindow(TabBox::TabBoxClient *client)
0099 {
0100     QList<QSharedPointer<TabBox::TabBoxClient>>::iterator it = m_windows.begin();
0101     for (; it != m_windows.end(); ++it) {
0102         if ((*it).get() == client) {
0103             m_windows.erase(it);
0104             return;
0105         }
0106     }
0107 }
0108 
0109 } // namespace KWin