File indexing completed on 2024-04-28 05:34:20

0001 /*
0002  *  SPDX-FileCopyrightText: 2013 Giorgos Tsiapaliokas <terietor@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef VIEW_H
0008 #define VIEW_H
0009 
0010 #include "privateheaders/containmentview.h"
0011 
0012 class ViewerCorona;
0013 
0014 class View : public PlasmaQuick::ContainmentView
0015 {
0016     Q_OBJECT
0017 
0018 public:
0019     View(ViewerCorona *corona, QWindow *parent = nullptr);
0020     ~View() override;
0021 
0022     void addApplet(const QString &applet);
0023     void addContainment(const QString &containment);
0024     void addFormFactor(const QString &formFactor = QStringLiteral("planar"));
0025     void addLocation(const QString &location = QStringLiteral("floating"));
0026     void emitExternalData(const QString &data);
0027 
0028     Q_INVOKABLE void changeFormFactor(int formFactor);
0029     Q_INVOKABLE void changeLocation(int location);
0030     Q_INVOKABLE void takeScreenShot();
0031 
0032     static ViewerCorona *createCorona();
0033 
0034 protected:
0035     void resizeEvent(QResizeEvent *event) override;
0036     QString pluginFromPath(const QString &path) const;
0037 
0038 private:
0039     QString m_lastAppletName;
0040 };
0041 
0042 #endif // VIEW_H