aboutsummaryrefslogtreecommitdiffstats
path: root/kgpg/convert.cpp
blob: 934ec025f2dbf8aace2b66d17b4735e8bff0fd14 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
/*
 * Copyright (C) 2006 Jimmy Gilles <[email protected]>
 * Copyright (C) 2010 Rolf Eike Beer <[email protected]>
 */
/***************************************************************************
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   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 General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
 ***************************************************************************/

#include "convert.h"

//#include <KGlobal>
//#include <KLocale>
#include <QTranslator>
//#include "kgpgsettings.h"
#include "images.h"

namespace KgpgCore
{

QString Convert::toString(const KgpgKeyAlgo algorithm)
{
    switch (algorithm)
    {
        case ALGO_RSA:          return QObject::tr("Encryption algorithm", "RSA");
        case ALGO_DSA:          return QObject::tr("Encryption algorithm", "DSA");
        case ALGO_ELGAMAL:      return QObject::tr("Encryption algorithm", "ElGamal");
        case ALGO_DSA_ELGAMAL:  return QObject::tr("Encryption algorithm", "DSA & ElGamal");
        case ALGO_RSA_RSA:      return QObject::tr("Encryption algorithm RSA, Signing algorithm RSA", "RSA & RSA");
        case ALGO_UNKNOWN:
        default:                return QObject::tr("Unknown algorithm", "Unknown");
    }
}

QString Convert::toString(const KgpgKeyOwnerTrust ownertrust)
{
    switch (ownertrust)
    {
        case OWTRUST_UNDEFINED: return QObject::tr("Do not Know");
        case OWTRUST_NONE:      return QObject::tr("Do NOT Trust");
        case OWTRUST_MARGINAL:  return QObject::tr("Marginally");
        case OWTRUST_FULL:      return QObject::tr("Fully");
        case OWTRUST_ULTIMATE:  return QObject::tr("Ultimately");
        case OWTRUST_UNKNOWN:
        default:                return QObject::tr("Unknown trust in key owner", "Unknown");
    }
}

QString Convert::toString(const KgpgKeyTrust trust)
{
    switch (trust)
    {
        case TRUST_INVALID:     return QObject::tr("Invalid key", "Invalid");
        case TRUST_DISABLED:    return QObject::tr("Disabled key", "Disabled");
        case TRUST_REVOKED:     return QObject::tr("Revoked");
        case TRUST_EXPIRED:     return QObject::tr("Expired key", "Expired");
        case TRUST_UNDEFINED:   return QObject::tr("Undefined key trust", "Undefined");
        case TRUST_NONE:        return QObject::tr("No trust in key", "None");
        case TRUST_MARGINAL:    return QObject::tr("Marginal trust in key", "Marginal");
        case TRUST_FULL:        return QObject::tr("Full trust in key", "Full");
        case TRUST_ULTIMATE:    return QObject::tr("Ultimate trust in key", "Ultimate");
        case TRUST_UNKNOWN:
        default:                return QObject::tr("Unknown trust in key", "Unknown");
    }
}

QColor Convert::toColor(const KgpgKeyTrust trust)
{
    switch (trust)
    {
        case TRUST_INVALID:
        /*case TRUST_DISABLED:    return KGpgSettings::colorBad();
        case TRUST_EXPIRED:     return KGpgSettings::colorExpired();
        case TRUST_MARGINAL:    return KGpgSettings::colorMarginal();
        case TRUST_REVOKED:     return KGpgSettings::colorRev();
        case TRUST_UNDEFINED:
        case TRUST_NONE:        return KGpgSettings::colorUnknown();
        case TRUST_FULL:        return KGpgSettings::colorGood();
        case TRUST_ULTIMATE:    return KGpgSettings::colorUltimate();*/
        case TRUST_UNKNOWN:
        default:                return QColor(0,0,0);
                            //return KGpgSettings::colorUnknown();
    }
}

QString Convert::toString(const QDate &date)
{
    //return KGlobal::locale()->formatDate(date, KLocale::ShortDate);
}

KgpgKeyAlgo Convert::toAlgo(const uint v)
{
    switch (v)
    {
        case 1:      return ALGO_RSA;
        case 16:
        case 20:     return ALGO_ELGAMAL;
        case 17:     return ALGO_DSA;
        default:     return ALGO_UNKNOWN;
    }
}

KgpgKeyAlgo Convert::toAlgo(const QString &s)
{
    bool b;
    unsigned int u = s.toUInt(&b);
    return b ? toAlgo(u) : ALGO_UNKNOWN;
}

KgpgKeyTrust Convert::toTrust(const QChar &c)
{
    switch (c.toAscii())
    {
        case 'o':    return TRUST_UNKNOWN;
        case 'i':    return TRUST_INVALID;
        case 'd':    return TRUST_DISABLED;
        case 'r':    return TRUST_REVOKED;
        case 'e':    return TRUST_EXPIRED;
        case 'q':    return TRUST_UNDEFINED;
        case 'n':    return TRUST_NONE;
        case 'm':    return TRUST_MARGINAL;
        case 'f':    return TRUST_FULL;
        case 'u':    return TRUST_ULTIMATE;
        default:     return TRUST_UNKNOWN;
    }
}

KgpgKeyTrust Convert::toTrust(const QString &s)
{
    return s.isEmpty() ? TRUST_UNKNOWN : toTrust(s[0]);
}

KgpgKeyOwnerTrust Convert::toOwnerTrust(const QChar &c)
{
    switch (c.toAscii())
    {
        case 'n':     return OWTRUST_NONE;
        case 'm':     return OWTRUST_MARGINAL;
        case 'u':     return OWTRUST_ULTIMATE;
        case 'f':     return OWTRUST_FULL;
        default:      return OWTRUST_UNDEFINED;
    }
}

KgpgKeyOwnerTrust Convert::toOwnerTrust(const QString &s)
{
    return s.isEmpty() ? OWTRUST_UNDEFINED : toOwnerTrust(s[0]);
}

QPixmap Convert::toPixmap(const KgpgItemType t)
{
    switch (t)
    {
        case ITYPE_GROUP:	return Images::group();
        case ITYPE_GSECRET:
        case ITYPE_SECRET:	return Images::orphan();
        case ITYPE_GPUBLIC:
        case ITYPE_SUB:
        case ITYPE_PUBLIC:	return Images::single();
        case ITYPE_GPAIR:
        case ITYPE_PAIR:	return Images::pair();
        case ITYPE_UID:		return Images::userId();
        case ITYPE_UAT:		return Images::photo();
        case ITYPE_REVSIGN:	return Images::revoke();
        case ITYPE_SIGN:	return Images::signature();
	default:		Q_ASSERT(1);
				return NULL;
    }
}

} // namespace KgpgCore