controlpanelplugins/themeplugin/src/cpthemeinfo.h
author hgs
Fri, 23 Jul 2010 11:04:51 +0800
changeset 28 e0b83131558d
parent 22 a5692c68d772
permissions -rw-r--r--
201029
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
    
hgs
parents:
diff changeset
    30
    enum ThemeListItemType {
hgs
parents:
diff changeset
    31
                 ThemeListItemType_default = 0,
hgs
parents:
diff changeset
    32
                 ThemeListItemType_URL,
hgs
parents:
diff changeset
    33
                 ThemeListItemType_APP
hgs
parents:
diff changeset
    34
             };
hgs
parents:
diff changeset
    35
    
hgs
parents:
diff changeset
    36
     CpThemeInfo();
hgs
parents:
diff changeset
    37
     ~CpThemeInfo();
hgs
parents:
diff changeset
    38
     
hgs
parents:
diff changeset
    39
     QString name() const;
hgs
parents:
diff changeset
    40
     void setName(const QString& newName);
hgs
parents:
diff changeset
    41
     
hgs
parents:
diff changeset
    42
     ThemeListItemType itemType() const;
hgs
parents:
diff changeset
    43
     void setItemType(ThemeListItemType type);
hgs
parents:
diff changeset
    44
     
hgs
parents:
diff changeset
    45
     QString itemData() const;
hgs
parents:
diff changeset
    46
     void setItemData(const QString& data);
hgs
parents:
diff changeset
    47
     
hgs
parents:
diff changeset
    48
     HbIcon icon() const;
hgs
parents:
diff changeset
    49
     void setIcon(const HbIcon& newIcon);
hgs
parents:
diff changeset
    50
     
hgs
parents:
diff changeset
    51
     HbIcon portraitPreviewIcon() const;
hgs
parents:
diff changeset
    52
     void setPortraitPreviewIcon(const HbIcon& newIcon);
hgs
parents:
diff changeset
    53
     
hgs
parents:
diff changeset
    54
     HbIcon landscapePreviewIcon() const;
hgs
parents:
diff changeset
    55
     void setLandscapePreviewIcon(const HbIcon& newIcon);
hgs
parents:
diff changeset
    56
     
hgs
parents:
diff changeset
    57
     bool operator < (const CpThemeInfo &other) const   {            
hgs
parents:
diff changeset
    58
         return mName.toCaseFolded().localeAwareCompare(other.mName.toCaseFolded()) < 0;
hgs
parents:
diff changeset
    59
     }
hgs
parents:
diff changeset
    60
     bool operator == (const CpThemeInfo &other) const {
hgs
parents:
diff changeset
    61
         return mName.localeAwareCompare(other.mName) == 0;
hgs
parents:
diff changeset
    62
     }
hgs
parents:
diff changeset
    63
     
hgs
parents:
diff changeset
    64
private:
hgs
parents:
diff changeset
    65
     CpThemeInfo::ThemeListItemType mItemType;
hgs
parents:
diff changeset
    66
     QString mItemData;
hgs
parents:
diff changeset
    67
     QString mName;
hgs
parents:
diff changeset
    68
     HbIcon mIcon;
hgs
parents:
diff changeset
    69
     HbIcon mPortraitPreviewIcon;
hgs
parents:
diff changeset
    70
     HbIcon mLandscapePreviewIcon;
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
};    
hgs
parents:
diff changeset
    73
Q_DECLARE_METATYPE(CpThemeInfo::ThemeListItemType)
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
   
hgs
parents:
diff changeset
    76
#endif /* CPTHEMEINFO_H_ */