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
|
/*
* Created by SharpDevelop.
* User: jeroen
* Date: 3/19/2013
* Time: 8:08 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Data.SQLite;
using System.Diagnostics;
namespace BCR
{
public class UserSettings
{
// These must be properties, otherwise NancyFX model binding won't work.
public bool open_current_comic_at_launch { get; set; }
public bool open_next_comic { get; set; }
public int page_fit_mode { get; set; } // 1: Fit width, 2: Full page
public int zoom_on_tap { get; set; } // 0: off, 1: singletap, 2: doubletap
public int toggle_paging_bar { get; set; } // 0: off, 1: singletap, 2: doubletap
public bool use_page_turn_drag { get; set; }
public int page_turn_drag_threshold { get; set; }
public bool use_page_change_area { get; set; }
public int page_change_area_width { get; set; }
public bool use_comicrack_progress { get; set; } // if true, use reading progress from CR comicbook info. if false, use per user progress from userdatabase.
public Guid home_list_id { get; set; }
public string full_name { get; set; }
public UserSettings()
{
open_current_comic_at_launch = true;
open_next_comic = true;
page_fit_mode = 1;
zoom_on_tap = 1;
toggle_paging_bar = 2;
use_page_turn_drag = true;
page_turn_drag_threshold = 75;
use_page_change_area = true;
page_change_area_width = 50;
use_comicrack_progress = false;
full_name = "";
}
public bool Validate()
{
return true;
}
public void Save(BCRUser user)
{
string s = String.Format("UPDATE user_settings SET open_current_comic_at_launch={0}, open_next_comic={1}, page_fit_mode={2}," +
"zoom_on_tap={3}, toggle_paging_bar={4}, use_page_turn_drag={5}, page_turn_drag_threshold={6}, use_page_change_area={7}," +
"page_change_area_width={8}, use_comicrack_progress={9} WHERE user_id={10};", open_current_comic_at_launch?1:0, open_next_comic?1:0, page_fit_mode,
zoom_on_tap, toggle_paging_bar, use_page_turn_drag?1:0, page_turn_drag_threshold, use_page_change_area?1:0, page_change_area_width, use_comicrack_progress?1:0, user.UserId);
Database.Instance.ExecuteNonQuery(s);
}
public void Load(BCRUser user)
{
using (SQLiteDataReader reader = Database.Instance.ExecuteReader(@"SELECT open_current_comic_at_launch, open_next_comic, page_fit_mode,
zoom_on_tap, toggle_paging_bar, use_page_turn_drag, page_turn_drag_threshold, use_page_change_area, page_change_area_width, use_comicrack_progress
FROM user_settings WHERE user_id = " + user.UserId + " LIMIT 1;"))
{
if (reader.Read())
{
try
{
open_current_comic_at_launch = reader.GetBoolean(0);
open_next_comic = reader.GetBoolean(1);
page_fit_mode = reader.GetInt32(2);
zoom_on_tap = reader.GetInt32(3);
toggle_paging_bar = reader.GetInt32(4);
use_page_turn_drag = reader.GetBoolean(5);
page_turn_drag_threshold = reader.GetInt32(6);
use_page_change_area = reader.GetBoolean(7);
page_change_area_width = reader.GetInt32(8);
use_comicrack_progress = reader.GetBoolean(9);
full_name = user.FullName;
}
catch (Exception ex)
{
Trace.WriteLine(ex);
}
}
}
}
}
}
|