/* * Copyright 2013 Canonical Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; version 3. * * 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * * Authors: * Renato Araujo Oliveira Filho * Nick Dedekind */ #include "indicatorsclient.h" #include "paths.h" #include #include #include #include void prependImportPaths(QQmlEngine *engine, const QStringList &paths) { QStringList importPathList = engine->importPathList(); for (int i = paths.count()-1; i >= 0; i--) importPathList.prepend(paths[i]); engine->setImportPathList(importPathList); } IndicatorsClient::IndicatorsClient(int &argc, char **argv) : QObject(0), m_view(0) { m_application = new QApplication(argc, argv); } IndicatorsClient::~IndicatorsClient() { if (m_view != 0) { delete m_view; } delete m_application; } void IndicatorsClient::setupUI() { m_view = new QQuickView; m_view->engine()->setBaseUrl(QUrl::fromLocalFile(::shellAppDirectory()+"Panel/Indicators/client/")); prependImportPaths(m_view->engine(), ::shellImportPaths()); m_view->setSource(QUrl("IndicatorsClient.qml")); m_view->setResizeMode(QQuickView::SizeRootObjectToView); //Usable size on desktop m_view->setMinimumSize(QSize(480, 720)); } int IndicatorsClient::run() { setupUI(); m_view->show(); return m_application->exec(); }