summaryrefslogtreecommitdiffstats
path: root/demos/embedded/desktopservices/contenttab.h
blob: 60fabc84bdd66b48b665d5e35a717e666e5e68ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
** This file is part of the $MODULE$ of the Qt Toolkit.
**
** $TROLLTECH_DUAL_LICENSE$
**
****************************************************************************/

#ifndef CONTENTTAB_H_
#define CONTENTTAB_H_

// EXTERNAL INCLUDES
#include <QDir>
#include <QUrl>
#include <QIcon>
#include <QFileInfo>
#include <QListWidget>
#include <QDesktopServices>

// INTERNAL INCLUDES

// FORWARD DECLARATIONS
QT_BEGIN_NAMESPACE
class QListWidgetItem;
QT_END_NAMESPACE

// CLASS DECLARATION

/**
* ContentTab class.
* 
* This class implements general purpose tab for media files.
*/
class ContentTab : public QListWidget
{
    Q_OBJECT

public:         // Constructors & Destructors          
    ContentTab(QWidget *parent);
    virtual ~ContentTab();
    
public:         // New Methods
    virtual void init(const QDesktopServices::StandardLocation &location, 
                      const QString &icon);    
    
protected:      // New Methods
    virtual void setContentDir(const QDesktopServices::StandardLocation &location);
    virtual void setIcon(const QString &icon);    
    virtual void populateListWidget();
    virtual QString itemName(const QFileInfo &item);
    virtual QUrl itemUrl(QListWidgetItem *item);
    
protected:
    void keyPressEvent(QKeyEvent *event);   
    
public slots:   // New Slots
    virtual void openItem(QListWidgetItem *item);  

protected:     // Owned variables   
    QDir m_ContentDir;
    QIcon m_Icon;
};


#endif // CONTENTTAB_H_    

// End of File