2 using System.Collections.Generic;
\r
4 using NT2chView.NtFile;
\r
6 using NT2chView.NtNet;
\r
8 using NT2chView.NtUI;
\r
12 static class NTUserPreference
\r
14 const string KEY_DEBUG_OPTION = "debug_option";
\r
15 const string KEY_P2ID = "p2id";
\r
16 const string KEY_P2PASS = "p2pass";
\r
17 const string KEY_P2ENABLE = "p2enable";
\r
18 const string KEY_MARUID = "maru_id";
\r
19 const string KEY_MARUPASS = "maru_pass";
\r
20 const string KEY_MARUENABLE = "maru_enable";
\r
21 const string KEY_NTCLOUDID = "ntcloud_id";
\r
22 const string KEY_NTCLOUDPASS = "ntcloud_pass";
\r
23 const string KEY_NTCLOUDENABLE = "ntcloud_enable";
\r
24 const string KEY_NTCLOUDURL = "ntcloud_url";
\r
25 const string KEY_NTUSERCLOUDENABLE = "nt_usercloud_enable";
\r
26 const string KEY_NTUSERCLOUD_SEED = "nt_usercloud_seed";
\r
27 const string KEY_NTUSERCLOUDURL = "nt_usercloud_url";
\r
28 const string KEY_NTUSERCLOUDSCRIPTURL = "nt_usercloud_script_url";
\r
29 const string KEY_NTUSERCLOUDFILEURL = "nt_usercloud_file_url";
\r
30 const string KEY_WRITE_SAGE = "sage";
\r
31 const string KEY_ZOOM_VALUE = "zoom";
\r
32 const string KEY_WINDOW_MAXIMIZED = "window_maximized";
\r
33 const string KEY_RESVIEW_TOOLBAR_POSITION = "resview_toolbar_position";
\r
34 const string KEY_THREADTITLEVIEW_TOOLBAR_POSITION = "threadtitleview_toolbar_position";
\r
35 const string KEY_WINDOW_HEIGHT = "window_height";
\r
36 const string KEY_WINDOW_WIDTH = "window_width";
\r
37 const string KEY_WINDOW_TOP = "window_top";
\r
38 const string KEY_WINDOW_LEFT = "window_left";
\r
39 const string KEY_WINDOW_COLUMN1 = "window_column1";
\r
40 const string KEY_WINDOW_ROW1 = "window_row1";
\r
41 const string KEY_WINDOW_LEFT_PANEL_ROW1 = "window_left_panel_row1";
\r
42 const string KEY_NT_SHOW_ONLY_CLOUD_READ_COUNT = "nt_only_cloud_read_count";
\r
43 const string KEY_USE_RES_FONT = "use_explicit_res_font";
\r
44 const string KEY_RES_FONT_TYPEFACE = "res_font_name";
\r
45 const string KEY_USE_AA_FONT = "use_explicit_aa_font";
\r
46 const string KEY_AA_FONT_TYPEFACE = "aa_font_name";
\r
47 const string KEY_AESPASS = "aes_pass";
\r
48 const string KEY_AESENABLE = "aes_enable";
\r
49 const string KEY_POPUPENABLE_MOUSEHOVER = "mousehover_enable";
\r
50 const string KEY_OPEN_YOUTUBE_ON_APP = "open_youtube_on_app";
\r
51 const string KEY_RESVIEW_SHOW_THUMBNAIL = "resview_show_thumbnail";
\r
52 const string KEY_RESVIEW_THUMBNAIL_WIDTH = "resview_thumbnail_width";
\r
53 const string KEY_RESVIEW_THUMBNAIL_HEIGHT = "resview_thumbnail_height";
\r
54 const string KEY_RESVIEW_THUMBNAIL_CONNECTION_COUNT = "resview_thumbnail_connection_count";
\r
55 const string KEY_RESVIEW_TEXTSEL_MODE = "resview_textsel_mode";
\r
56 const string KEY_THREADTITLE_LISTVIEW_FONTSIZE = "threadtitle_listview_fontsize";
\r
57 //const string KEY_IMAGE_VIEW_WIDTH = "imageview_width";
\r
58 //const string KEY_IMAGE_VIEW_HEIGHT = "imageview_height";
\r
59 const string KEY_FAVORITE_UPDATE_DURATION = "favorite_update_duration";
\r
60 public const int DEFAULT_FAVORITE_UPDATE_DURATION = 10;
\r
63 public static bool DebugOption
\r
68 if (mDictExportPreference.TryGetValue(PREF_PARAM.DEGUB_MODE, out o))
\r
70 bool? b = o as bool?;
\r
82 mDictExportPreference.Remove(PREF_PARAM.DEGUB_MODE);
\r
83 mDictExportPreference.Add(
\r
84 PREF_PARAM.DEGUB_MODE, value);
\r
89 public static int FavoriteUpdateDuration
\r
95 static bool mResViewTextSelMode;
\r
96 public static bool ResViewTextSelMode {
\r
100 return mResViewTextSelMode;
\r
107 mResViewTextSelMode = value;
\r
108 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_TEXTSEL_MODE);
\r
109 mDictExportPreference.Add(
\r
110 PREF_PARAM.RES_VIEW_TEXTSEL_MODE, mResViewTextSelMode);
\r
115 private static int mResViewThumbnailConnectionCount;
\r
116 private static int mResViewThumbnailHeight;
\r
117 private static int mResViewThumbnailWidth;
\r
118 private static bool mResViewShowThumbnail;
\r
120 //public static int ImageViewWidth { get; set; }
\r
121 //public static int ImageViewHeight { get; set; }
\r
122 public static int ResViewThumbnailConnectionCount
\r
126 return mResViewThumbnailConnectionCount;
\r
131 mResViewThumbnailConnectionCount = 1;
\r
132 else if (value > 20)
\r
133 mResViewThumbnailConnectionCount = 20;
\r
135 mResViewThumbnailConnectionCount = value;
\r
136 NTExportUtil.Worker.resetConnectionCount(
\r
137 mResViewThumbnailConnectionCount);
\r
140 public static int ResViewThumbnailWidth
\r
144 return mResViewThumbnailWidth;
\r
148 mResViewThumbnailWidth = value;
\r
149 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_THUMBNAIL_WIDTH);
\r
150 mDictExportPreference.Add(
\r
151 PREF_PARAM.RES_VIEW_THUMBNAIL_WIDTH, ResViewThumbnailWidth);
\r
154 public static int ResViewThumbnailHeight
\r
158 return mResViewThumbnailHeight;
\r
162 mResViewThumbnailHeight = value;
\r
163 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_THUMBNAIL_HEIGHT);
\r
164 mDictExportPreference.Add(
\r
165 PREF_PARAM.RES_VIEW_THUMBNAIL_HEIGHT, ResViewThumbnailHeight);
\r
168 public static bool ResViewShowThumbnail
\r
172 return mResViewShowThumbnail;
\r
176 mResViewShowThumbnail = value;
\r
177 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_SHOW_THUMBNAIL);
\r
178 mDictExportPreference.Add(
\r
179 PREF_PARAM.RES_VIEW_SHOW_THUMBNAIL, mResViewShowThumbnail.ToString());
\r
184 static bool mP2Enabled;
\r
185 static bool mMaruEnabled;
\r
186 static bool mNTCloudEnabled;
\r
187 static bool mNTUserCloudEnabled;
\r
189 static double mZoom;
\r
190 static bool mShowCloudReadCnt;
\r
191 static bool mUseExplicitResFont;
\r
192 static bool mUseExplicitAAFont;
\r
194 static bool mAvoidSaveToPreferenceFile = false;
\r
196 static string[] mAADataText;
\r
198 static Dictionary<PREF_PARAM, object> mDictExportPreference
\r
199 = new Dictionary<PREF_PARAM, object>();
\r
200 public static Dictionary<PREF_PARAM, object> getExportPreference()
\r
202 return mDictExportPreference;
\r
205 public static string[] AAData
\r
207 get { return mAADataText; }
\r
210 mAADataText = value;
\r
212 if (mDictExportPreference.ContainsKey(PREF_PARAM.RES_VIEW_AA_STRING_LIST))
\r
213 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_AA_STRING_LIST);
\r
215 mDictExportPreference.Add(
\r
216 PREF_PARAM.RES_VIEW_AA_STRING_LIST, mAADataText);
\r
222 const string VALUE_STRING_TRUE = "True";
\r
223 const string VALUE_STRING_FALSE = "False";
\r
225 static string getBoolValueString(bool value)
\r
228 return VALUE_STRING_TRUE;
\r
230 return VALUE_STRING_FALSE;
\r
233 public static bool EnableTouch { get; set;}
\r
234 public static double WindowTop { get; set; }
\r
235 public static double WindowLeft { get; set; }
\r
236 public static double WindowWidth { get; set; }
\r
237 public static double WindowHeight { get; set; }
\r
238 public static bool WindowMaximized { get; set; }
\r
239 public static int ResViewToolbarPosition { get; set; }
\r
240 public static int ThreadTitleViewToolbarPosition { get; set; }
\r
241 public static double WindowColumn1 { get; set; }
\r
242 public static double WindowRow1 { get; set; }
\r
243 public static double WindowLeftPanelRow1 { get; set; }
\r
244 public static string P2ID { get; set; }
\r
245 public static string P2PSS { get; set; }
\r
246 public static bool P2IsEnabled
\r
250 return mP2Enabled;
\r
254 if (mP2Enabled != value)
\r
256 mP2Enabled = value;
\r
262 public static string MaruID { get; set; }
\r
263 public static string MaruPSS { get; set; }
\r
264 public static bool MaruIsEnabled
\r
268 return mMaruEnabled;
\r
272 if (mMaruEnabled != value)
\r
274 mMaruEnabled = value;
\r
280 static string mAESPass = string.Empty;
\r
281 public static string AESPass
\r
290 NTCrypt.setPassword(value);
\r
293 static bool mUseAES;
\r
294 public static bool AESEnabled
\r
298 return mUseAES && mAESPass != null && mAESPass.Length > 0;
\r
306 public static string ResFontTypeface { get; set; }
\r
307 public static bool UseResFontTypeface
\r
309 get { return mUseExplicitResFont; }
\r
310 set { mUseExplicitResFont = value; }
\r
313 public static string AAFontTypeface { get; set; }
\r
314 public static bool UseAAFontTypeface
\r
316 get { return mUseExplicitAAFont; }
\r
317 set { mUseExplicitAAFont = value; }
\r
320 public static string NTCloudID { get; set; }
\r
321 public static string NTCloudPSS { get; set; }
\r
322 public static string NTCloudUrl { get; set; }
\r
323 public static bool NTCloudIsEnabled
\r
327 return mNTCloudEnabled;
\r
331 if (mNTCloudEnabled != value)
\r
333 mNTCloudEnabled = value;
\r
339 public static string NTUserCloudSeed { get; set; }
\r
340 public static string NTUserCloudScriptUrl { get; set; }
\r
341 public static string NTUserCloudFileUrl { get; set; }
\r
342 public static string NTUserCloudUrl { get; set; }
\r
343 public static bool NTUserCloudIsEnabled
\r
347 return mNTUserCloudEnabled;
\r
351 if (mNTUserCloudEnabled != value)
\r
353 mNTUserCloudEnabled = value;
\r
358 private static string mUserCloudHashedPasswd = null;
\r
359 public static string NTUserCloudGetHashedPasswd()
\r
361 if (null == mUserCloudHashedPasswd)
\r
363 mUserCloudHashedPasswd = NTCrypt.getSHA256Hashed(
\r
364 NTUserPreference.NTCloudPSS + NTUserPreference.NTUserCloudSeed);
\r
366 return mUserCloudHashedPasswd;
\r
369 public static bool NTShowOnlyCloudReadCount
\r
373 mShowCloudReadCnt = value;
\r
378 if (NTCloudIsEnabled)
\r
379 return mShowCloudReadCnt;
\r
385 public static bool SageIsEnabled
\r
393 if (mSage != value)
\r
401 public static bool EnablePopupMouseHover
\r
407 public static bool OpenYoutubeOnApp
\r
413 public static double ThreadtitleListViewFontSize { get; set; }
\r
415 public static void init()
\r
417 mP2Enabled = false;
\r
418 mMaruEnabled = false;
\r
419 mNTCloudEnabled = false;
\r
420 mNTUserCloudEnabled = false;
\r
421 mUseExplicitResFont = false;
\r
422 mUseExplicitAAFont = false;
\r
428 WindowHeight = 640;
\r
430 WindowColumn1 = 310.0;
\r
431 WindowRow1 = 310.0;
\r
432 WindowLeftPanelRow1 = 250.0;
\r
433 WindowMaximized = false;
\r
435 EnableTouch = false;
\r
438 ResViewToolbarPosition = NTDragDrop.TOOLBAR_LOCATION_RIGHT;
\r
439 ThreadTitleViewToolbarPosition = NTDragDrop.TOOLBAR_LOCATION_RIGHT;
\r
441 ResViewToolbarPosition = NTDragDrop.TOOLBAR_LOCATION_LEFT;
\r
442 ThreadTitleViewToolbarPosition = NTDragDrop.TOOLBAR_LOCATION_LEFT;
\r
446 mShowCloudReadCnt = true;
\r
448 P2ID = string.Empty;
\r
449 P2PSS = string.Empty;
\r
450 MaruID = string.Empty;
\r
451 MaruPSS = string.Empty;
\r
452 AESPass = string.Empty;
\r
453 NTCloudID = string.Empty;
\r
454 NTCloudPSS = string.Empty;
\r
455 NTUserCloudUrl = string.Empty;
\r
456 NTUserCloudSeed = string.Empty;
\r
457 NTUserCloudScriptUrl = string.Empty;
\r
458 NTUserCloudFileUrl = string.Empty;
\r
459 ResFontTypeface = string.Empty;
\r
460 AAFontTypeface = string.Empty;
\r
462 EnablePopupMouseHover = false;
\r
463 OpenYoutubeOnApp = true;
\r
465 ResViewThumbnailConnectionCount = 5;
\r
466 mResViewThumbnailHeight = 80;
\r
467 mResViewThumbnailWidth = 80;
\r
468 mResViewShowThumbnail = false;
\r
470 //ImageViewHeight = 300;
\r
471 //ImageViewWidth = 300;
\r
473 ThreadtitleListViewFontSize = 14;
\r
475 FavoriteUpdateDuration = 10;
\r
478 ResViewTextSelMode = false;
\r
480 ResViewTextSelMode = true;
\r
487 if (!NTUserCloudIsEnabled)
\r
489 if (NTCloudID.Length == 0 ||
\r
490 NTCloudPSS.Length == 0 ||
\r
491 NTCloudUrl.Length == 0)
\r
493 NTCloudIsEnabled = false;
\r
498 if (NTUserCloudUrl.Length == 0 ||
\r
499 NTUserCloudSeed.Length == 0 ||
\r
500 NTUserCloudScriptUrl.Length == 0 ||
\r
501 NTUserCloudFileUrl.Length == 0)
\r
503 NTCloudIsEnabled = false;
\r
509 static void loadPreferences()
\r
513 mAvoidSaveToPreferenceFile = true;
\r
515 List<KeyValuePair<string, string>> list
\r
516 = NTPersistentFileAccess.retrieveUserPreferences();
\r
517 foreach (KeyValuePair<string, string> pair in list)
\r
521 case KEY_FAVORITE_UPDATE_DURATION:
\r
524 int duration = int.Parse(pair.Value);
\r
525 if (duration < 0 || duration > 60)
\r
526 FavoriteUpdateDuration =
\r
527 DEFAULT_FAVORITE_UPDATE_DURATION;
\r
529 FavoriteUpdateDuration = duration;
\r
531 catch (Exception e)
\r
533 NTDebug.l(e.Message);
\r
540 P2PSS = pair.Value;
\r
543 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
544 P2IsEnabled = true;
\r
546 P2IsEnabled = false;
\r
549 MaruID = pair.Value;
\r
552 MaruPSS = pair.Value;
\r
554 case KEY_MARUENABLE:
\r
555 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
556 MaruIsEnabled = true;
\r
558 MaruIsEnabled = false;
\r
561 AESPass = pair.Value;
\r
563 case KEY_AESENABLE:
\r
564 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
567 AESEnabled = false;
\r
569 case KEY_NTCLOUDID:
\r
570 NTCloudID = pair.Value;
\r
572 case KEY_NTCLOUDPASS:
\r
573 NTCloudPSS = pair.Value;
\r
575 case KEY_NTCLOUDURL:
\r
576 NTCloudUrl = pair.Value;
\r
578 case KEY_NTUSERCLOUDURL:
\r
579 NTUserCloudUrl = pair.Value;
\r
582 case KEY_NTUSERCLOUD_SEED:
\r
583 NTUserCloudSeed = pair.Value;
\r
585 case KEY_NTUSERCLOUDSCRIPTURL:
\r
586 NTUserCloudScriptUrl = pair.Value;
\r
588 case KEY_NTUSERCLOUDFILEURL:
\r
589 NTUserCloudFileUrl = pair.Value;
\r
592 case KEY_NTCLOUDENABLE:
\r
593 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
594 NTCloudIsEnabled = true;
\r
596 NTCloudIsEnabled = false;
\r
598 case KEY_NTUSERCLOUDENABLE:
\r
599 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
600 NTUserCloudIsEnabled = true;
\r
602 NTUserCloudIsEnabled = false;
\r
604 case KEY_NT_SHOW_ONLY_CLOUD_READ_COUNT:
\r
605 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
606 mShowCloudReadCnt = true;
\r
608 mShowCloudReadCnt = false;
\r
611 case KEY_WRITE_SAGE:
\r
612 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
613 SageIsEnabled = true;
\r
615 SageIsEnabled = false;
\r
617 case KEY_ZOOM_VALUE:
\r
620 mZoom = double.Parse(pair.Value);
\r
622 catch (Exception e)
\r
624 NTDebug.l(e.Message);
\r
627 case KEY_WINDOW_TOP:
\r
630 WindowTop = double.Parse(pair.Value);
\r
632 catch (Exception e)
\r
634 NTDebug.l(e.Message);
\r
637 case KEY_WINDOW_LEFT:
\r
640 WindowLeft = double.Parse(pair.Value);
\r
642 catch (Exception e)
\r
644 NTDebug.l(e.Message);
\r
647 case KEY_WINDOW_MAXIMIZED:
\r
648 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
649 WindowMaximized = true;
\r
651 WindowMaximized = false;
\r
653 case KEY_RESVIEW_TOOLBAR_POSITION:
\r
656 ResViewToolbarPosition = int.Parse(pair.Value);
\r
658 catch (Exception e)
\r
660 NTDebug.l(e.Message);
\r
663 case KEY_THREADTITLEVIEW_TOOLBAR_POSITION:
\r
666 ThreadTitleViewToolbarPosition = int.Parse(pair.Value);
\r
668 catch (Exception e)
\r
670 NTDebug.l(e.Message);
\r
673 case KEY_WINDOW_HEIGHT:
\r
676 WindowHeight = double.Parse(pair.Value);
\r
678 catch (Exception e)
\r
680 NTDebug.l(e.Message);
\r
683 case KEY_WINDOW_WIDTH:
\r
686 WindowWidth = double.Parse(pair.Value);
\r
688 catch (Exception e)
\r
690 NTDebug.l(e.Message);
\r
693 case KEY_WINDOW_COLUMN1:
\r
696 WindowColumn1 = double.Parse(pair.Value);
\r
698 catch (Exception e)
\r
700 NTDebug.l(e.Message);
\r
703 case KEY_WINDOW_ROW1:
\r
706 WindowRow1 = double.Parse(pair.Value);
\r
708 catch (Exception e)
\r
710 NTDebug.l(e.Message);
\r
713 case KEY_WINDOW_LEFT_PANEL_ROW1:
\r
716 WindowLeftPanelRow1 = double.Parse(pair.Value);
\r
718 catch (Exception e)
\r
720 NTDebug.l(e.Message);
\r
723 case KEY_THREADTITLE_LISTVIEW_FONTSIZE:
\r
726 ThreadtitleListViewFontSize = double.Parse(pair.Value);
\r
728 catch (Exception e)
\r
730 NTDebug.l(e.Message);
\r
733 case KEY_USE_RES_FONT:
\r
734 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
735 mUseExplicitResFont = true;
\r
737 mUseExplicitResFont = false;
\r
739 case KEY_RES_FONT_TYPEFACE:
\r
740 ResFontTypeface = pair.Value;
\r
742 case KEY_USE_AA_FONT:
\r
743 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
744 mUseExplicitAAFont = true;
\r
746 mUseExplicitAAFont = false;
\r
748 case KEY_POPUPENABLE_MOUSEHOVER:
\r
749 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
750 EnablePopupMouseHover = true;
\r
752 EnablePopupMouseHover = false;
\r
754 case KEY_OPEN_YOUTUBE_ON_APP:
\r
755 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
756 OpenYoutubeOnApp = true;
\r
758 OpenYoutubeOnApp = false;
\r
760 case KEY_AA_FONT_TYPEFACE:
\r
761 AAFontTypeface = pair.Value;
\r
763 case KEY_RESVIEW_SHOW_THUMBNAIL:
\r
764 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
765 ResViewShowThumbnail = true;
\r
767 ResViewShowThumbnail = false;
\r
769 case KEY_RESVIEW_THUMBNAIL_CONNECTION_COUNT:
\r
772 ResViewThumbnailConnectionCount = int.Parse(pair.Value);
\r
774 catch (Exception e)
\r
776 NTDebug.l(e.Message);
\r
779 case KEY_RESVIEW_THUMBNAIL_HEIGHT:
\r
782 ResViewThumbnailHeight = int.Parse(pair.Value);
\r
784 catch (Exception e)
\r
786 NTDebug.l(e.Message);
\r
789 case KEY_RESVIEW_THUMBNAIL_WIDTH:
\r
792 ResViewThumbnailWidth = int.Parse(pair.Value);
\r
794 catch (Exception e)
\r
796 NTDebug.l(e.Message);
\r
799 case KEY_RESVIEW_TEXTSEL_MODE:
\r
800 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
801 mResViewTextSelMode = true;
\r
803 mResViewTextSelMode = false;
\r
805 case KEY_DEBUG_OPTION:
\r
806 if (VALUE_STRING_TRUE.Equals(pair.Value))
\r
807 DebugOption = true;
\r
809 DebugOption = false;
\r
815 mAADataText = NTPersistentFileAccess.retrieveAAData();
\r
816 if (mAADataText == null)
\r
818 mAADataText = new string[1];
\r
819 mAADataText[0] = " ";
\r
822 resetExportPreference();
\r
827 mAvoidSaveToPreferenceFile = false;
\r
832 static void resetExportPreference()
\r
834 if (mAADataText != null)
\r
836 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_AA_STRING_LIST);
\r
837 mDictExportPreference.Add(
\r
838 PREF_PARAM.RES_VIEW_AA_STRING_LIST, mAADataText);
\r
840 if (mUseExplicitAAFont && AAFontTypeface != null)
\r
842 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_AA_FONT_TYPEFACE);
\r
843 mDictExportPreference.Add(
\r
844 PREF_PARAM.RES_VIEW_AA_FONT_TYPEFACE, AAFontTypeface);
\r
846 if (mUseExplicitResFont && ResFontTypeface != null)
\r
848 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_FONT_TYPEFACE);
\r
849 mDictExportPreference.Add(
\r
850 PREF_PARAM.RES_VIEW_FONT_TYPEFACE, ResFontTypeface);
\r
853 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_ZOOM_VALUE);
\r
854 mDictExportPreference.Add(
\r
855 PREF_PARAM.RES_VIEW_ZOOM_VALUE, mZoom.ToString());
\r
856 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_POPUP_MOUSEHOVER);
\r
857 mDictExportPreference.Add(
\r
858 PREF_PARAM.RES_VIEW_POPUP_MOUSEHOVER, EnablePopupMouseHover.ToString());
\r
860 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_SHOW_THUMBNAIL);
\r
861 mDictExportPreference.Add(
\r
862 PREF_PARAM.RES_VIEW_SHOW_THUMBNAIL, ResViewShowThumbnail.ToString());
\r
863 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_THUMBNAIL_WIDTH);
\r
864 mDictExportPreference.Add(
\r
865 PREF_PARAM.RES_VIEW_THUMBNAIL_WIDTH, ResViewThumbnailWidth);
\r
866 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_THUMBNAIL_HEIGHT);
\r
867 mDictExportPreference.Add(
\r
868 PREF_PARAM.RES_VIEW_THUMBNAIL_HEIGHT, ResViewThumbnailHeight);
\r
870 mDictExportPreference.Remove(PREF_PARAM.THREADTITLE_LIST_FONT_SIZE);
\r
871 mDictExportPreference.Add(
\r
872 PREF_PARAM.THREADTITLE_LIST_FONT_SIZE, ThreadtitleListViewFontSize);
\r
874 mDictExportPreference.Remove(PREF_PARAM.RES_VIEW_TEXTSEL_MODE);
\r
875 mDictExportPreference.Add(
\r
876 PREF_PARAM.RES_VIEW_TEXTSEL_MODE, mResViewTextSelMode);
\r
882 public static void savePreferences()
\r
884 if (mAvoidSaveToPreferenceFile)
\r
887 List<KeyValuePair<string, string>> list
\r
888 = new List<KeyValuePair<string, string>>();
\r
890 KeyValuePair<string, string> pair
\r
891 = new KeyValuePair<string, string>(KEY_P2ID, P2ID);
\r
894 pair = new KeyValuePair<string, string>(KEY_P2PASS, P2PSS);
\r
897 pair = new KeyValuePair<string, string>(KEY_P2ENABLE, getBoolValueString(P2IsEnabled));
\r
900 pair = new KeyValuePair<string, string>(KEY_MARUID, MaruID);
\r
903 pair = new KeyValuePair<string, string>(KEY_MARUPASS, MaruPSS);
\r
906 pair = new KeyValuePair<string, string>(KEY_MARUENABLE, getBoolValueString(MaruIsEnabled));
\r
909 pair = new KeyValuePair<string, string>(KEY_AESPASS, AESPass);
\r
912 pair = new KeyValuePair<string, string>(KEY_AESENABLE, getBoolValueString(AESEnabled));
\r
916 pair = new KeyValuePair<string, string>(KEY_WRITE_SAGE, getBoolValueString(SageIsEnabled));
\r
920 if (mDictExportPreference.TryGetValue(PREF_PARAM.RES_VIEW_ZOOM_VALUE, out o))
\r
923 String s = o as String;
\r
925 if(double.TryParse(s, out zoom))
\r
928 pair = new KeyValuePair<string, string>(KEY_ZOOM_VALUE, mZoom.ToString());
\r
931 pair = new KeyValuePair<string, string>(KEY_THREADTITLEVIEW_TOOLBAR_POSITION, ThreadTitleViewToolbarPosition.ToString());
\r
933 pair = new KeyValuePair<string, string>(KEY_RESVIEW_TOOLBAR_POSITION, ResViewToolbarPosition.ToString());
\r
936 pair = new KeyValuePair<string, string>(KEY_WINDOW_MAXIMIZED, getBoolValueString(WindowMaximized));
\r
938 pair = new KeyValuePair<string, string>(KEY_WINDOW_HEIGHT, WindowHeight.ToString());
\r
940 pair = new KeyValuePair<string, string>(KEY_WINDOW_WIDTH, WindowWidth.ToString());
\r
943 pair = new KeyValuePair<string, string>(KEY_WINDOW_TOP, WindowTop.ToString());
\r
945 pair = new KeyValuePair<string, string>(KEY_WINDOW_LEFT, WindowLeft.ToString());
\r
948 pair = new KeyValuePair<string, string>(KEY_WINDOW_COLUMN1, WindowColumn1.ToString());
\r
950 pair = new KeyValuePair<string, string>(KEY_WINDOW_ROW1, WindowRow1.ToString());
\r
952 pair = new KeyValuePair<string, string>(KEY_WINDOW_LEFT_PANEL_ROW1, WindowLeftPanelRow1.ToString());
\r
955 pair = new KeyValuePair<string, string>(KEY_NTCLOUDID, NTCloudID);
\r
958 pair = new KeyValuePair<string, string>(KEY_NTCLOUDPASS, NTCloudPSS);
\r
961 pair = new KeyValuePair<string, string>(KEY_NTCLOUDURL, NTCloudUrl);
\r
964 pair = new KeyValuePair<string, string>(KEY_NTCLOUDENABLE, getBoolValueString(NTCloudIsEnabled));
\r
967 pair = new KeyValuePair<string, string>(KEY_NTUSERCLOUDURL, NTUserCloudUrl);
\r
970 pair = new KeyValuePair<string, string>(KEY_NTUSERCLOUD_SEED, NTUserCloudSeed);
\r
972 pair = new KeyValuePair<string, string>(KEY_NTUSERCLOUDSCRIPTURL, NTUserCloudScriptUrl);
\r
974 pair = new KeyValuePair<string, string>(KEY_NTUSERCLOUDFILEURL, NTUserCloudFileUrl);
\r
978 pair = new KeyValuePair<string, string>(KEY_NTUSERCLOUDENABLE, getBoolValueString(NTUserCloudIsEnabled));
\r
981 pair = new KeyValuePair<string, string>(KEY_NT_SHOW_ONLY_CLOUD_READ_COUNT, getBoolValueString(mShowCloudReadCnt));
\r
984 pair = new KeyValuePair<string, string>(KEY_USE_RES_FONT, getBoolValueString(mUseExplicitResFont));
\r
987 pair = new KeyValuePair<string, string>(KEY_RES_FONT_TYPEFACE, ResFontTypeface);
\r
990 pair = new KeyValuePair<string, string>(KEY_USE_AA_FONT, getBoolValueString(mUseExplicitAAFont));
\r
993 pair = new KeyValuePair<string, string>(KEY_AA_FONT_TYPEFACE, AAFontTypeface);
\r
996 pair = new KeyValuePair<string, string>(KEY_POPUPENABLE_MOUSEHOVER, getBoolValueString(EnablePopupMouseHover));
\r
999 pair = new KeyValuePair<string, string>(KEY_OPEN_YOUTUBE_ON_APP, getBoolValueString(OpenYoutubeOnApp));
\r
1002 pair = new KeyValuePair<string, string>(KEY_RESVIEW_SHOW_THUMBNAIL, getBoolValueString(mResViewShowThumbnail));
\r
1004 pair = new KeyValuePair<string, string>(KEY_RESVIEW_THUMBNAIL_HEIGHT, mResViewThumbnailHeight.ToString());
\r
1006 pair = new KeyValuePair<string, string>(KEY_RESVIEW_THUMBNAIL_WIDTH, mResViewThumbnailWidth.ToString());
\r
1008 pair = new KeyValuePair<string, string>(
\r
1009 KEY_RESVIEW_THUMBNAIL_CONNECTION_COUNT,
\r
1010 mResViewThumbnailConnectionCount.ToString());
\r
1013 pair = new KeyValuePair<string, string>(
\r
1014 KEY_THREADTITLE_LISTVIEW_FONTSIZE, ThreadtitleListViewFontSize.ToString());
\r
1017 pair = new KeyValuePair<string, string>(
\r
1018 KEY_FAVORITE_UPDATE_DURATION, FavoriteUpdateDuration.ToString());
\r
1021 pair = new KeyValuePair<string, string>(KEY_RESVIEW_TEXTSEL_MODE, getBoolValueString(ResViewTextSelMode));
\r
1024 pair = new KeyValuePair<string, string>(KEY_DEBUG_OPTION, getBoolValueString(DebugOption));
\r
1027 NTPersistentFileAccess.storeUserPreferences(list);
\r
1029 NTPersistentFileAccess.storeAAData(mAADataText);
\r
1031 resetExportPreference();
\r
1033 NTFontUtil.clear();
\r
1035 mUserCloudHashedPasswd = null;
\r