controlpanelplugins/themeplugin/src/cpthemeinfo.h
author hgs
Fri, 25 Jun 2010 17:12:20 +0800
changeset 22 a5692c68d772
child 28 e0b83131558d
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0""
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description:  
hgs
parents:
diff changeset
    15
 *   
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
#ifndef CPTHEMEINFO_H_
hgs
parents:
diff changeset
    18
#define CPTHEMEINFO_H_
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include <QString>
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <hbicon.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
class CpThemeInfo {
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
public:
hgs
parents:
diff changeset
    28
    
hgs
parents:
diff changeset
    29
    Q_ENUMS(ThemeListItemType)
hgs
parents:
diff changeset
    30
    
hgs
parents:
diff changeset
    31
    enum ThemeListItemType {
hgs
parents:
diff changeset
    32
                 ThemeListItemType_default = 0,
hgs
parents:
diff changeset
    33
                 ThemeListItemType_URL,
hgs
parents:
diff changeset
    34
                 ThemeListItemType_APP
hgs
parents:
diff changeset
    35
             };
hgs
parents:
diff changeset
    36
    
hgs
parents:
diff changeset
    37
     CpThemeInfo();
hgs
parents:
diff changeset
    38
     ~CpThemeInfo();
hgs
parents:
diff changeset
    39
     
hgs
parents:
diff changeset
    40
     QString name() const;
hgs
parents:
diff changeset
    41
     void setName(const QString& newName);
hgs
parents:
diff changeset
    42
     
hgs
parents:
diff changeset
    43
     ThemeListItemType itemType() const;
hgs
parents:
diff changeset
    44
     void setItemType(ThemeListItemType type);
hgs
parents:
diff changeset
    45
     
hgs
parents:
diff changeset
    46
     QString itemData() const;
hgs
parents:
diff changeset
    47
     void setItemData(const QString& data);
hgs
parents:
diff changeset
    48
     
hgs
parents:
diff changeset
    49
     HbIcon icon() const;
hgs
parents:
diff changeset
    50
     void setIcon(const HbIcon& newIcon);
hgs
parents:
diff changeset
    51
     
hgs
parents:
diff changeset
    52
     HbIcon portraitPreviewIcon() const;
hgs
parents:
diff changeset
    53
     void setPortraitPreviewIcon(const HbIcon& newIcon);
hgs
parents:
diff changeset
    54
     
hgs
parents:
diff changeset
    55
     HbIcon landscapePreviewIcon() const;
hgs
parents:
diff changeset
    56
     void setLandscapePreviewIcon(const HbIcon& newIcon);
hgs
parents:
diff changeset
    57
     
hgs
parents:
diff changeset
    58
     bool operator < (const CpThemeInfo &other) const   {            
hgs
parents:
diff changeset
    59
         return mName.toCaseFolded().localeAwareCompare(other.mName.toCaseFolded()) < 0;
hgs
parents:
diff changeset
    60
     }
hgs
parents:
diff changeset
    61
     bool operator == (const CpThemeInfo &other) const {
hgs
parents:
diff changeset
    62
         return mName.localeAwareCompare(other.mName) == 0;
hgs
parents:
diff changeset
    63
     }
hgs
parents:
diff changeset
    64
     
hgs
parents:
diff changeset
    65
private:
hgs
parents:
diff changeset
    66
     CpThemeInfo::ThemeListItemType mItemType;
hgs
parents:
diff changeset
    67
     QString mItemData;
hgs
parents:
diff changeset
    68
     QString mName;
hgs
parents:
diff changeset
    69
     HbIcon mIcon;
hgs
parents:
diff changeset
    70
     HbIcon mPortraitPreviewIcon;
hgs
parents:
diff changeset
    71
     HbIcon mLandscapePreviewIcon;
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
};    
hgs
parents:
diff changeset
    74
Q_DECLARE_METATYPE(CpThemeInfo::ThemeListItemType)
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
   
hgs
parents:
diff changeset
    77
#endif /* CPTHEMEINFO_H_ */