Commit 294ee2a4 authored by Bhushan Shah's avatar Bhushan Shah 📱

Revert "Initial splashscreen rework (!31)"

This reverts commit 2291872e.
parent 2291872e
set(homescreen_SRCS
homescreen.cpp
applicationlistmodel.cpp
colouraverage.cpp
)
add_library(plasma_containment_phone_homescreen MODULE ${homescreen_SRCS})
......
/***************************************************************************
* Copyright (C) 2019 Carson Black <uhhadd@gmail.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
***************************************************************************/
#include <QObject>
#include <QColor>
#include <QImage>
#include <QDebug>
#include <signal.h>
#include "colouraverage.h"
ColourAverage::ColourAverage(QObject* parent) : QObject(parent) {}
QColor ColourAverage::averageColour(QImage img) {
int r = 0;
int g = 0;
int b = 0;
int c = 0;
for (int i = 0; i < img.width(); i++) {
for (int ii = 0; ii < img.height(); ii++) {
QRgb pix = img.pixel(i, ii);
if (pix == 0)
continue;
c++;
r += qRed(pix);
g += qGreen(pix);
b += qBlue(pix);
}
}
r = r / c;
g = g / c;
b = b / c;
QColor color = QColor::fromRgb(r,g,b);
color.setHsv(color.hue(), color.saturation() / 4, color.value());
return color;
}
\ No newline at end of file
/***************************************************************************
* Copyright (C) 2019 Carson Black *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
***************************************************************************/
#include <QObject>
#include <QColor>
#include <QImage>
class ColourAverage : public QObject
{
Q_OBJECT
public:
explicit ColourAverage(QObject* parent = nullptr);
Q_INVOKABLE QColor averageColour(QImage img);
};
\ No newline at end of file
......@@ -19,7 +19,6 @@
#include "homescreen.h"
#include "applicationlistmodel.h"
#include "colouraverage.h"
#include <QtQml>
#include <QDebug>
......@@ -29,13 +28,6 @@ HomeScreen::HomeScreen(QObject *parent, const QVariantList &args)
: Plasma::Containment(parent, args)
{
qmlRegisterUncreatableType<ApplicationListModel>("org.kde.phone.homescreen", 1, 0, "ApplicationListModel", QStringLiteral("Cannot create item of type ApplicationListModel"));
qmlRegisterSingletonType<ColourAverage>("org.kde.phone.homescreen", 1, 0, "ColourAverage", [](QQmlEngine *engine, QJSEngine *scriptEngine) -> QObject * {
Q_UNUSED(engine);
Q_UNUSED(scriptEngine);
ColourAverage *obj = new ColourAverage();
return obj;
});
setHasConfigurationInterface(true);
}
......
......@@ -23,9 +23,6 @@ import QtQuick.Window 2.2
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents
import org.kde.plasma.extras 2.0 as PlasmaExtras
import QtGraphicalEffects 1.12
import org.kde.phone.homescreen 1.0
Window {
id: window
......@@ -55,26 +52,24 @@ Window {
state: "closed"
Rectangle {
anchors.fill: parent
color: PlasmaCore.Theme.backgroundColor
Rectangle {
id: rect
anchors.fill: parent
}
PlasmaCore.IconItem {
color: background.backgroundColor
ColumnLayout {
anchors.centerIn: parent
id: icon
colorGroup: PlasmaCore.Theme.ComplementaryColorGroup
width: units.iconSizes.enormous
height: width
}
DropShadow {
anchors.fill: icon
horizontalOffset: 0
verticalOffset: 0
radius: 8.0
samples: 17
color: "#80000000"
source: icon
PlasmaCore.IconItem {
id: icon
colorGroup: PlasmaCore.Theme.ComplementaryColorGroup
Layout.preferredWidth: units.iconSizes.enormous
Layout.preferredHeight: Layout.preferredWidth
Layout.alignment: Qt.AlignCenter
}
PlasmaExtras.Heading {
text: window.title
Layout.alignment: Qt.AlignCenter
}
/* PlasmaComponents.BusyIndicator {
Layout.alignment: Qt.AlignCenter
}*/
}
}
......@@ -108,12 +103,7 @@ Window {
from: "closed"
SequentialAnimation {
ScriptAction {
script: {
window.visible = true;
icon.grabToImage((img) => {
rect.color = ColourAverage.averageColour(img.image)
})
}
script: window.visible = true;
}
PropertyAnimation {
target: background
......
......@@ -48,8 +48,6 @@ ContainmentLayoutManager.ItemContainer {
editModeCondition: ContainmentLayoutManager.ItemContainer.AfterPressAndHold
signal launch(int x, int y, var source, string title)
onDragActiveChanged: {
launcherDragManager.active = dragActive
if (dragActive) {
......@@ -90,8 +88,9 @@ ContainmentLayoutManager.ItemContainer {
onClicked: {
clickFedbackAnimation.target = delegate;
clickFedbackAnimation.running = true;
delegate.launch(delegate.x + (units.smallSpacing * 2), delegate.y + (units.smallSpacing * 2), icon.source, modelData.ApplicationNameRole)
feedbackWindow.title = modelData.ApplicationNameRole;
feedbackWindow.icon = modelData.ApplicationIconRole;
feedbackWindow.state = "open";
plasmoid.nativeInterface.applicationListModel.runApplication(modelData.ApplicationStorageIdRole);
}
......
......@@ -39,58 +39,6 @@ LauncherContainer {
frame.width: width
PlasmaCore.IconItem {
id: effect
height: 64
width: 64
visible: false
x: 0
y: 0
source: "pattern-kde"
property string title
SequentialAnimation {
id: woosh
ScriptAction {
script: effect.visible = true
}
ParallelAnimation {
NumberAnimation {
target: effect
property: "opacity"
from: 0.9
to: 0
duration: 200
}
NumberAnimation {
target: effect
property: "scale"
from: 1
to: 3
duration: 200
}
}
ScriptAction {
script: {
feedbackWindow.title = effect.title
feedbackWindow.icon = effect.source
feedbackWindow.state = "open"
effect.visible = false
}
}
}
function swoosh(x, y, sauce, title) {
effect.x = x
effect.y = y
effect.source = sauce
effect.visible = true
effect.title = title
woosh.restart()
}
}
Repeater {
parent: root.flow
model: plasmoid.nativeInterface.applicationListModel
......@@ -115,10 +63,6 @@ LauncherContainer {
appletsLayout.restoreItem(delegate);
}
}
onLaunch: (a, b, c, d) => {
print(a,b,c,d)
effect.swoosh(a, b, c, d)
}
onParentFromLocationChanged: {
if (!launcherDragManager.active && parent != parentFromLocation) {
parent = parentFromLocation;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment