Changeset View
Changeset View
Standalone View
Standalone View
ksplash/ksplashqml/splashwindow.cpp
Show All 14 Lines | |||||
15 | * License along with this program; if not, write to the | 15 | * License along with this program; if not, write to the | ||
16 | * Free Software Foundation, Inc., | 16 | * Free Software Foundation, Inc., | ||
17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
18 | */ | 18 | */ | ||
19 | 19 | | |||
20 | #include "splashwindow.h" | 20 | #include "splashwindow.h" | ||
21 | #include "splashapp.h" | 21 | #include "splashapp.h" | ||
22 | 22 | | |||
23 | #include <QGuiApplication> | | |||
24 | #include <QQmlContext> | 23 | #include <QQmlContext> | ||
25 | #include <QQuickItem> | 24 | #include <QQuickItem> | ||
26 | #include <QKeyEvent> | 25 | #include <QKeyEvent> | ||
27 | #include <QMouseEvent> | 26 | #include <QMouseEvent> | ||
28 | #include <QTimer> | 27 | #include <QTimer> | ||
29 | #include <QStandardPaths> | 28 | #include <QStandardPaths> | ||
30 | #include <QSurfaceFormat> | 29 | #include <QSurfaceFormat> | ||
31 | #include <KSharedConfig> | 30 | #include <KSharedConfig> | ||
32 | #include <KConfigGroup> | 31 | #include <KConfigGroup> | ||
33 | 32 | | |||
34 | #include <KPackage/Package> | 33 | #include <KPackage/Package> | ||
35 | #include <KPackage/PackageLoader> | 34 | #include <KPackage/PackageLoader> | ||
36 | 35 | | |||
37 | #include <KWayland/Client/surface.h> | 36 | #include <KWayland/Client/surface.h> | ||
38 | #include <KWayland/Client/plasmashell.h> | 37 | #include <KWayland/Client/plasmashell.h> | ||
39 | #include <KWindowSystem> | 38 | #include <KWindowSystem> | ||
40 | 39 | | |||
41 | SplashWindow::SplashWindow(bool testing, bool window) | 40 | SplashWindow::SplashWindow(bool testing, bool window, const QString &theme) | ||
42 | : KQuickAddons::QuickViewSharedEngine(), | 41 | : KQuickAddons::QuickViewSharedEngine(), | ||
43 | m_stage(0), | 42 | m_stage(0), | ||
44 | m_testing(testing), | 43 | m_testing(testing), | ||
45 | m_window(window) | 44 | m_window(window), | ||
45 | m_theme(theme) | ||||
46 | { | 46 | { | ||
47 | setColor(Qt::transparent); | 47 | setColor(Qt::transparent); | ||
48 | setDefaultAlphaBuffer(true); | 48 | setDefaultAlphaBuffer(true); | ||
49 | setClearBeforeRendering(true); | 49 | setClearBeforeRendering(true); | ||
50 | setResizeMode(KQuickAddons::QuickViewSharedEngine::SizeRootObjectToView); | 50 | setResizeMode(KQuickAddons::QuickViewSharedEngine::SizeRootObjectToView); | ||
51 | 51 | | |||
52 | if (!m_window) { | 52 | if (!m_window) { | ||
53 | setFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); | 53 | setFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); | ||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Line(s) | 118 | { | |||
121 | 121 | | |||
122 | if (oldGeometryEmpty) { | 122 | if (oldGeometryEmpty) { | ||
123 | 123 | | |||
124 | KPackage::Package package = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("Plasma/LookAndFeel")); | 124 | KPackage::Package package = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("Plasma/LookAndFeel")); | ||
125 | KConfigGroup cg(KSharedConfig::openConfig(QStringLiteral("kdeglobals")), "KDE"); | 125 | KConfigGroup cg(KSharedConfig::openConfig(QStringLiteral("kdeglobals")), "KDE"); | ||
126 | const QString packageName = cg.readEntry("LookAndFeelPackage", QString()); | 126 | const QString packageName = cg.readEntry("LookAndFeelPackage", QString()); | ||
127 | if (!packageName.isEmpty()) { | 127 | if (!packageName.isEmpty()) { | ||
128 | package.setPath(packageName); | 128 | package.setPath(packageName); | ||
129 | }; | 129 | } | ||
130 | 130 | | |||
131 | const QString theme = QGuiApplication::arguments().at(1); | 131 | if (!m_theme.isEmpty()) { | ||
132 | if (!theme.startsWith(QLatin1String("--"))) { | 132 | package.setPath(m_theme); | ||
133 | package.setPath(theme); | | |||
134 | } | 133 | } | ||
135 | 134 | | |||
135 | Q_ASSERT(package.isValid()); | ||||
136 | setSource(QUrl::fromLocalFile(package.filePath("splashmainscript"))); | 136 | setSource(QUrl::fromLocalFile(package.filePath("splashmainscript"))); | ||
137 | } | 137 | } | ||
138 | 138 | | |||
139 | if (m_shellSurface) { | 139 | if (m_shellSurface) { | ||
140 | m_shellSurface->setPosition(geometry().topLeft()); | 140 | m_shellSurface->setPosition(geometry().topLeft()); | ||
141 | } | 141 | } | ||
142 | } | 142 | } | ||
143 | 143 | | |||
Show All 23 Lines |