on ea92295 help sign in
unity8/plugins/Unity/preview.cpp
77 lines 2.2 kB history raw
1/*
2 * Copyright (C) 2013 Canonical, Ltd.
3 *
4 * Authors:
5 * Pawel Stolowski <pawel.stolowski@canonical.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 3.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
20// local
21#include "preview.h"
22#include "genericpreview.h"
23#include "applicationpreview.h"
24#include "moviepreview.h"
25#include "musicpreview.h"
27// Qt
28#include <QDebug>
30#include <UnityCore/GenericPreview.h>
31#include <UnityCore/ApplicationPreview.h>
32#include <UnityCore/MoviePreview.h>
33#include <UnityCore/MusicPreview.h>
35Preview::Preview(QObject *parent):
36 QObject(parent)
40void Preview::setUnityPreview(unity::dash::Preview::Ptr unityPreview)
42 m_unityPreview = unityPreview;
45QString Preview::title() const
47 return QString::fromStdString(m_unityPreview->title());
50QString Preview::subtitle () const
52 return QString::fromStdString(m_unityPreview->subtitle());
55Preview* Preview::newFromUnityPreview(unity::dash::Preview::Ptr unityPreview)
57 Preview* preview = nullptr;
59 if (typeid(*unityPreview) == typeid(unity::dash::GenericPreview)) {
60 preview = new GenericPreview();
61 }
62 else if (typeid(*unityPreview) == typeid(unity::dash::MusicPreview)) {
63 preview = new GenericPreview();
64 }
65 else if (typeid(*unityPreview) == typeid(unity::dash::MoviePreview)) {
66 preview = new MoviePreview();
67 }
68 else if (typeid(*unityPreview) == typeid(unity::dash::ApplicationPreview)) {
69 preview = new ApplicationPreview();
70 } else {
71 qWarning() << "Unknown preview type: " << typeid(*unityPreview).name();
72 preview = new GenericPreview();
73 }
74 preview->setUnityPreview(unityPreview);
76 return preview;