2
* This file Copyright (C) 2009 Mnemosyne LLC
4
* This file is licensed by the GPL version 2. Works owned by the
5
* Transmission project are granted a special exemption to clause 2(b)
6
* so that the bulk of its code can remain under the MIT license.
7
* This exemption does not extend to derived works not owned by
8
* the Transmission project.
28
class Prefs: public QObject
43
SHOW_DESKTOP_NOTIFICATION,
55
BLOCKLIST_UPDATES_ENABLED,
56
MAIN_WINDOW_LAYOUT_ORDER,
66
SESSION_REMOTE_USERNAME,
67
SESSION_REMOTE_PASSWORD,
68
USER_HAS_GIVEN_INFORMED_CONSENT,
72
ALT_SPEED_LIMIT_UP = FIRST_CORE_PREF,
74
ALT_SPEED_LIMIT_ENABLED,
75
ALT_SPEED_LIMIT_TIME_BEGIN,
76
ALT_SPEED_LIMIT_TIME_END,
77
ALT_SPEED_LIMIT_TIME_ENABLED,
78
ALT_SPEED_LIMIT_TIME_DAY,
85
INCOMPLETE_DIR_ENABLED,
92
PEER_PORT_RANDOM_ON_START,
94
PEER_PORT_RANDOM_HIGH,
114
RPC_WHITELIST_ENABLED,
118
UPLOAD_SLOTS_PER_TORRENT,
119
LAST_CORE_PREF = UPLOAD_SLOTS_PER_TORRENT,
132
static PrefItem myItems[];
136
QVariant myValues[PREFS_COUNT];
137
void initDefaults( struct tr_benc* );
140
bool isCore( int key ) const { return FIRST_CORE_PREF<=key && key<=LAST_CORE_PREF; }
141
bool isClient( int key ) const { return !isCore( key ); }
142
const char * keyStr( int i ) const { return myItems[i].key; }
143
int type( int i ) const { return myItems[i].type; }
144
const QVariant& variant( int i ) const { return myValues[i]; }
146
Prefs( const char * configDir );
149
int getInt( int key ) const;
150
bool getBool( int key) const;
151
QString getString( int key ) const;
152
double getDouble( int key) const;
153
QDateTime getDateTime( int key ) const;
155
template<typename T> T get( int key ) const {
156
return myValues[key].value<T>();
159
void set( int key, char * value ) { set( key, QString::fromUtf8(value) ); }
160
void set( int key, const char * value ) { set( key, QString::fromUtf8(value) ); }
162
template<typename T> void set( int key, const T& value ) {
163
QVariant& v( myValues[key] );
164
const QVariant tmp = QVariant::fromValue(value);
165
if( v.isNull() || (v!=tmp) ) {
171
void toggleBool( int key );
174
void changed( int key );