18 #include "preferencemanager.h"
23 PreferenceManager::PreferenceManager( QObject* parent )
28 PreferenceManager::~PreferenceManager()
32 bool PreferenceManager::init()
48 void PreferenceManager::loadPrefs()
50 QSettings settings( PENCIL2D, PENCIL2D );
53 set( SETTING::GRID, settings.value( SETTING_SHOW_GRID,
false ).toBool() );
54 set( SETTING::INVISIBLE_LINES, settings.value( SETTING_INVISIBLE_LINES,
false ).toBool() );
55 set( SETTING::OUTLINES, settings.value( SETTING_OUTLINES,
false ).toBool() );
56 set( SETTING::MIRROR_H,
false );
57 set( SETTING::MIRROR_V,
false );
60 set( SETTING::GRID_SIZE, settings.value( SETTING_GRID_SIZE, 50 ).toInt() );
64 set( SETTING::ANTIALIAS, settings.value( SETTING_ANTIALIAS,
true ).toBool() );
65 set( SETTING::TOOL_CURSOR, settings.value( SETTING_TOOL_CURSOR,
true ).toBool() );
66 set( SETTING::DOTTED_CURSOR, settings.value( SETTING_DOTTED_CURSOR,
true ).toBool() );
67 set( SETTING::HIGH_RESOLUTION, settings.value( SETTING_HIGH_RESOLUTION,
true ).toBool() );
68 set( SETTING::SHADOW, settings.value( SETTING_SHADOW,
false ).toBool() );
69 set( SETTING::QUICK_SIZING, settings.value( SETTING_QUICK_SIZING,
true ).toBool() );
71 set( SETTING::WINDOW_OPACITY, settings.value( SETTING_WINDOW_OPACITY, 0 ).toInt() );
72 set( SETTING::CURVE_SMOOTHING, settings.value( SETTING_CURVE_SMOOTHING, 20 ).toInt() );
74 set( SETTING::BACKGROUND_STYLE, settings.value( SETTING_BACKGROUND_STYLE,
"white" ).toString() );
76 set( SETTING::LAYOUT_LOCK, settings.value( SETTING_LAYOUT_LOCK,
false ).toBool() );
79 set( SETTING::AUTO_SAVE, settings.value( SETTING_AUTO_SAVE,
true ).toBool() );
80 set( SETTING::AUTO_SAVE_NUMBER, settings.value( SETTING_AUTO_SAVE_NUMBER, 20 ).toInt() );
84 set( SETTING::SHORT_SCRUB, settings.value( SETTING_SHORT_SCRUB,
false ).toBool() );
85 set( SETTING::FRAME_SIZE, settings.value( SETTING_FRAME_SIZE, 12 ).toInt() );
86 set( SETTING::TIMELINE_SIZE, settings.value( SETTING_TIMELINE_SIZE, 240 ).toInt() );
87 set( SETTING::DRAW_LABEL, settings.value( SETTING_DRAW_LABEL,
false ).toBool() );
88 set( SETTING::LABEL_FONT_SIZE, settings.value( SETTING_LABEL_FONT_SIZE, 12 ).toInt() );
92 set( SETTING::PREV_ONION, settings.value( SETTING_PREV_ONION,
false ).toBool() );
93 set( SETTING::NEXT_ONION, settings.value( SETTING_NEXT_ONION,
false ).toBool() );
94 set( SETTING::MULTILAYER_ONION, settings.value( SETTING_MULTILAYER_ONION,
false ).toBool() );
95 set( SETTING::ONION_BLUE, settings.value( SETTING_ONION_BLUE,
false ).toBool() );
96 set( SETTING::ONION_RED, settings.value( SETTING_ONION_RED,
false ).toBool() );
98 set( SETTING::ONION_MAX_OPACITY, settings.value( SETTING_ONION_MAX_OPACITY, 50 ).toInt() );
99 set( SETTING::ONION_MIN_OPACITY, settings.value( SETTING_ONION_MIN_OPACITY, 20 ).toInt() );
100 set( SETTING::ONION_PREV_FRAMES_NUM, settings.value( SETTING_ONION_PREV_FRAMES_NUM, 5 ).toInt() );
101 set( SETTING::ONION_NEXT_FRAMES_NUM, settings.value( SETTING_ONION_NEXT_FRAMES_NUM, 5 ).toInt() );
102 set( SETTING::ONION_TYPE, settings.value( SETTING_ONION_TYPE,
"relative" ).toString() );
104 set( SETTING::LANGUAGE, settings.value( SETTING_LANGUAGE ).toString() );
106 set( SETTING::AXIS,
false );
109 set( SETTING::AXIS,
true );
113 void PreferenceManager::turnOn( SETTING option )
118 void PreferenceManager::turnOff( SETTING option )
120 set( option,
false );
123 bool PreferenceManager::isOn( SETTING option )
125 int optionId =
static_cast< int >( option );
126 return mBooleanSet.value(optionId,
false);
129 int PreferenceManager::getInt( SETTING option )
131 int optionId =
static_cast< int >( option );
132 return mIntegerSet.value(optionId, -1);
135 QString PreferenceManager::getString( SETTING option )
137 int optionId =
static_cast< int >( option );
138 if ( mIntegerSet.contains( optionId ) )
140 return QString::number( mIntegerSet.value( optionId, -1 ) );
142 else if ( mBooleanSet.contains( optionId ) )
144 if ( mBooleanSet.value( optionId,
false ) )
153 return mStringSet.value(optionId);
159 void PreferenceManager::set(SETTING option, QString value)
161 QSettings settings( PENCIL2D, PENCIL2D );
164 case SETTING::BACKGROUND_STYLE:
165 settings.setValue( SETTING_BACKGROUND_STYLE, value );
167 case SETTING::ONION_TYPE:
168 settings.setValue( SETTING_ONION_TYPE, value );
170 case SETTING::LANGUAGE:
171 settings.setValue( SETTING_LANGUAGE, value );
177 int optionId =
static_cast< int >( option );
178 if ( mStringSet[ optionId ] != value )
180 mStringSet[ optionId ] = value;
181 emit optionChanged( option );
187 void PreferenceManager::set( SETTING option,
int value )
189 QSettings settings( PENCIL2D, PENCIL2D );
192 case SETTING::WINDOW_OPACITY:
193 settings.setValue( SETTING_WINDOW_OPACITY, value );
195 case SETTING::CURVE_SMOOTHING:
196 settings.setValue( SETTING_CURVE_SMOOTHING, value );
198 case SETTING::AUTO_SAVE_NUMBER:
199 settings.setValue ( SETTING_AUTO_SAVE_NUMBER, value );
201 case SETTING::FRAME_SIZE:
202 if (value < 4) { value = 4; }
203 else if (value > 20) { value = 20; }
204 settings.setValue ( SETTING_FRAME_SIZE, value );
206 case SETTING::TIMELINE_SIZE:
207 if (value < 2) { value = 2; }
208 settings.setValue ( SETTING_TIMELINE_SIZE, value );
210 case SETTING::LABEL_FONT_SIZE:
211 if (value < 12) { value = 12; }
212 settings.setValue ( SETTING_LABEL_FONT_SIZE, value );
214 case SETTING::ONION_MAX_OPACITY:
215 settings.setValue ( SETTING_ONION_MAX_OPACITY, value );
217 case SETTING::ONION_MIN_OPACITY:
218 settings.setValue ( SETTING_ONION_MIN_OPACITY, value );
220 case SETTING::ONION_PREV_FRAMES_NUM:
221 settings.setValue ( SETTING_ONION_PREV_FRAMES_NUM, value );
223 case SETTING::ONION_NEXT_FRAMES_NUM:
224 settings.setValue ( SETTING_ONION_NEXT_FRAMES_NUM, value );
226 case SETTING::GRID_SIZE:
227 settings.setValue ( SETTING_GRID_SIZE, value );
234 int optionId =
static_cast< int >( option );
235 if ( mIntegerSet[ optionId ] != value )
237 mIntegerSet[ optionId ] = value;
238 emit optionChanged( option );
244 void PreferenceManager::set( SETTING option,
bool value )
246 QSettings settings( PENCIL2D, PENCIL2D );
249 case SETTING::ANTIALIAS:
250 settings.setValue( SETTING_ANTIALIAS, value );
253 settings.setValue( SETTING_SHOW_GRID, value );
255 case SETTING::SHADOW:
256 settings.setValue ( SETTING_SHADOW, value );
258 case SETTING::PREV_ONION:
259 settings.setValue ( SETTING_PREV_ONION, value );
261 case SETTING::NEXT_ONION:
262 settings.setValue ( SETTING_NEXT_ONION, value );
264 case SETTING::MULTILAYER_ONION:
265 settings.setValue( SETTING_MULTILAYER_ONION, value);
268 settings.setValue ( SETTING_AXIS, value );
270 case SETTING::INVISIBLE_LINES:
271 settings.setValue ( SETTING_INVISIBLE_LINES, value );
273 case SETTING::OUTLINES:
274 settings.setValue ( SETTING_OUTLINES, value );
276 case SETTING::ONION_BLUE:
277 settings.setValue ( SETTING_ONION_BLUE, value );
279 case SETTING::ONION_RED:
280 settings.setValue ( SETTING_ONION_RED, value );
282 case SETTING::MIRROR_H:
283 settings.setValue ( SETTING_MIRROR_H, value );
285 case SETTING::MIRROR_V:
286 settings.setValue ( SETTING_MIRROR_V, value );
288 case SETTING::TOOL_CURSOR:
289 settings.setValue ( SETTING_TOOL_CURSOR, value );
291 case SETTING::DOTTED_CURSOR:
292 settings.setValue ( SETTING_DOTTED_CURSOR, value );
294 case SETTING::HIGH_RESOLUTION:
295 settings.setValue ( SETTING_HIGH_RESOLUTION, value );
297 case SETTING::AUTO_SAVE:
298 settings.setValue ( SETTING_AUTO_SAVE, value );
300 case SETTING::SHORT_SCRUB:
301 settings.setValue ( SETTING_SHORT_SCRUB, value );
303 case SETTING::DRAW_LABEL:
304 settings.setValue ( SETTING_DRAW_LABEL, value );
306 case SETTING::QUICK_SIZING:
307 settings.setValue ( SETTING_QUICK_SIZING, value );
309 case SETTING::LAYOUT_LOCK:
310 settings.setValue( SETTING_LAYOUT_LOCK, value );
317 int optionId =
static_cast< int >( option );
318 if ( mBooleanSet[ optionId ] != value )
320 mBooleanSet[ optionId ] = value;
321 emit optionChanged( option );