From 07688cc46d22a86622231ae7cd4494ddf6e75e33 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 7 Sep 2017 15:58:05 +0200 Subject: Launch into settings without an account configured --- framework/src/CMakeLists.txt | 1 + framework/src/frameworkplugin.cpp | 2 ++ framework/src/startupcheck.cpp | 35 +++++++++++++++++++++++++++++++++++ framework/src/startupcheck.h | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+) create mode 100644 framework/src/startupcheck.cpp create mode 100644 framework/src/startupcheck.h (limited to 'framework') diff --git a/framework/src/CMakeLists.txt b/framework/src/CMakeLists.txt index 8bb3d05c..43651e0a 100644 --- a/framework/src/CMakeLists.txt +++ b/framework/src/CMakeLists.txt @@ -45,6 +45,7 @@ set(SRCS clipboardproxy.cpp krecursivefilterproxymodel.cpp webengineprofile.cpp + startupcheck.cpp ) add_library(frameworkplugin SHARED ${SRCS}) diff --git a/framework/src/frameworkplugin.cpp b/framework/src/frameworkplugin.cpp index f5cd2cf5..8fd457fc 100644 --- a/framework/src/frameworkplugin.cpp +++ b/framework/src/frameworkplugin.cpp @@ -36,6 +36,7 @@ #include "kubeimage.h" #include "clipboardproxy.h" #include "webengineprofile.h" +#include "startupcheck.h" #include @@ -75,5 +76,6 @@ void FrameworkPlugin::registerTypes (const char *uri) qmlRegisterType(uri, 1, 0, "KubeImage"); qmlRegisterType(uri, 1, 0, "Clipboard"); + qmlRegisterType(uri, 1, 0, "StartupCheck"); qmlRegisterSingletonType(uri, 1, 0, "WebEngineProfile", webengineprofile_singletontype_provider); } diff --git a/framework/src/startupcheck.cpp b/framework/src/startupcheck.cpp new file mode 100644 index 00000000..850be7bb --- /dev/null +++ b/framework/src/startupcheck.cpp @@ -0,0 +1,35 @@ +/* + Copyright (c) 2017 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ +#include "startupcheck.h" + +#include + +StartupCheck::StartupCheck(QObject *parent) + : QObject(parent) +{ + QMetaObject::invokeMethod(this, "check", Qt::QueuedConnection); +} + +void StartupCheck::check() +{ + auto accounts = Sink::Store::read({}); + if (accounts.isEmpty()) { + emit noAccount(); + } +} diff --git a/framework/src/startupcheck.h b/framework/src/startupcheck.h new file mode 100644 index 00000000..dd79ee04 --- /dev/null +++ b/framework/src/startupcheck.h @@ -0,0 +1,32 @@ +/* + Copyright (c) 2017 Christian Mollekopf + + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This library 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 Library General Public + License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + +#include + +class StartupCheck : public QObject { + Q_OBJECT +public: + StartupCheck(QObject *parent = nullptr); + +signals: + void noAccount(); + +private Q_SLOTS: + void check(); +}; -- cgit v1.2.3