forked from irwir/eMule
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPreferences.h
1413 lines (1255 loc) · 63.8 KB
/
Preferences.h
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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
//this file is part of eMule
//Copyright (C)2002-2008 Merkur ( strEmail.Format("%s@%s", "devteam", "emule-project.net") / http://www.emule-project.net )
//
//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., 675 Mass Ave, Cambridge, MA 02139, USA.
#pragma once
const CString strDefaultToolbar = _T("0099010203040506070899091011");
enum EViewSharedFilesAccess{
vsfaEverybody = 0,
vsfaFriends = 1,
vsfaNobody = 2
};
enum ENotifierSoundType{
ntfstNoSound = 0,
ntfstSoundFile = 1,
ntfstSpeech = 2
};
enum EDefaultDirectory{
EMULE_CONFIGDIR = 0,
EMULE_TEMPDIR = 1,
EMULE_INCOMINGDIR = 2,
EMULE_LOGDIR = 3,
EMULE_ADDLANGDIR = 4, // directories with languages installed by the eMule (parent: EMULE_EXPANSIONDIR)
EMULE_INSTLANGDIR = 5, // directories with languages installed by the user or installer (parent: EMULE_EXECUTEABLEDIR)
EMULE_WEBSERVERDIR = 6,
EMULE_SKINDIR = 7,
EMULE_DATABASEDIR = 8, // the parent directory of the incoming/temp folder
EMULE_CONFIGBASEDIR = 9, // the parent directory of the config folder
EMULE_EXECUTEABLEDIR = 10, // assumed to be not writeable (!)
EMULE_TOOLBARDIR = 11,
EMULE_EXPANSIONDIR = 12 // this is a base directory accessable for all users for things eMule installs
};
enum EToolbarLabelType;
enum ELogFileFormat;
// DO NOT EDIT VALUES like making a uint16 to uint32, or insert any value. ONLY append new vars
#pragma pack(1)
struct Preferences_Ext_Struct{
uint8 version;
uchar userhash[16];
WINDOWPLACEMENT EmuleWindowPlacement;
};
#pragma pack()
// deadlake PROXYSUPPORT
struct ProxySettings{
uint16 type;
uint16 port;
CStringA name;
CStringA user;
CStringA password;
bool EnablePassword;
bool UseProxy;
};
struct Category_Struct{
CString strIncomingPath;
CString strTitle;
CString strComment;
DWORD color;
UINT prio;
CString autocat;
CString regexp;
int filter;
bool filterNeg;
bool care4all;
bool ac_regexpeval;
bool downloadInAlphabeticalOrder; // ZZ:DownloadManager
};
class CPreferences
{
public:
static CString strNick;
// ZZ:UploadSpeedSense -->
static uint16 minupload;
// ZZ:UploadSpeedSense <--
static uint16 maxupload;
static uint16 maxdownload;
static LPCSTR m_pszBindAddrA;
static CStringA m_strBindAddrA;
static LPCWSTR m_pszBindAddrW;
static CStringW m_strBindAddrW;
static uint16 port;
static uint16 udpport;
static uint16 nServerUDPPort;
static UINT maxconnections;
static UINT maxhalfconnections;
static bool m_bOverlappedSockets;
static bool m_bConditionalTCPAccept;
static bool reconnect;
static bool m_bUseServerPriorities;
static bool m_bUseUserSortedServerList;
static CString m_strIncomingDir;
static CStringArray tempdir;
static bool ICH;
static bool m_bAutoUpdateServerList;
static bool updatenotify;
static bool mintotray;
static bool autoconnect;
static bool m_bAutoConnectToStaticServersOnly; // Barry
static bool autotakeed2klinks; // Barry
static bool addnewfilespaused; // Barry
static UINT depth3D; // Barry
static bool m_bEnableMiniMule;
static int m_iStraightWindowStyles;
static bool m_bUseSystemFontForMainControls;
static bool m_bRTLWindowsLayout;
static CString m_strSkinProfile;
static CString m_strSkinProfileDir;
static bool m_bAddServersFromServer;
static bool m_bAddServersFromClients;
static UINT maxsourceperfile;
static UINT trafficOMeterInterval;
static UINT statsInterval;
static bool m_bFillGraphs;
static uchar userhash[16];
static WINDOWPLACEMENT EmuleWindowPlacement;
static int maxGraphDownloadRate;
static int maxGraphUploadRate;
static uint32 maxGraphUploadRateEstimated;
static bool beepOnError;
static bool confirmExit;
static DWORD m_adwStatsColors[15];
static bool bHasCustomTaskIconColor;
static bool m_bIconflashOnNewMessage;
static bool splashscreen;
static bool filterLANIPs;
static bool m_bAllocLocalHostIP;
static bool onlineSig;
// -khaos--+++> Struct Members for Storing Statistics
// Saved stats for cumulative downline overhead...
static uint64 cumDownOverheadTotal;
static uint64 cumDownOverheadFileReq;
static uint64 cumDownOverheadSrcEx;
static uint64 cumDownOverheadServer;
static uint64 cumDownOverheadKad;
static uint64 cumDownOverheadTotalPackets;
static uint64 cumDownOverheadFileReqPackets;
static uint64 cumDownOverheadSrcExPackets;
static uint64 cumDownOverheadServerPackets;
static uint64 cumDownOverheadKadPackets;
// Saved stats for cumulative upline overhead...
static uint64 cumUpOverheadTotal;
static uint64 cumUpOverheadFileReq;
static uint64 cumUpOverheadSrcEx;
static uint64 cumUpOverheadServer;
static uint64 cumUpOverheadKad;
static uint64 cumUpOverheadTotalPackets;
static uint64 cumUpOverheadFileReqPackets;
static uint64 cumUpOverheadSrcExPackets;
static uint64 cumUpOverheadServerPackets;
static uint64 cumUpOverheadKadPackets;
// Saved stats for cumulative upline data...
static uint32 cumUpSuccessfulSessions;
static uint32 cumUpFailedSessions;
static uint32 cumUpAvgTime;
// Cumulative client breakdown stats for sent bytes...
static uint64 cumUpData_EDONKEY;
static uint64 cumUpData_EDONKEYHYBRID;
static uint64 cumUpData_EMULE;
static uint64 cumUpData_MLDONKEY;
static uint64 cumUpData_AMULE;
static uint64 cumUpData_EMULECOMPAT;
static uint64 cumUpData_SHAREAZA;
// Session client breakdown stats for sent bytes...
static uint64 sesUpData_EDONKEY;
static uint64 sesUpData_EDONKEYHYBRID;
static uint64 sesUpData_EMULE;
static uint64 sesUpData_MLDONKEY;
static uint64 sesUpData_AMULE;
static uint64 sesUpData_EMULECOMPAT;
static uint64 sesUpData_SHAREAZA;
// Cumulative port breakdown stats for sent bytes...
static uint64 cumUpDataPort_4662;
static uint64 cumUpDataPort_OTHER;
static uint64 cumUpDataPort_PeerCache;
// Session port breakdown stats for sent bytes...
static uint64 sesUpDataPort_4662;
static uint64 sesUpDataPort_OTHER;
static uint64 sesUpDataPort_PeerCache;
// Cumulative source breakdown stats for sent bytes...
static uint64 cumUpData_File;
static uint64 cumUpData_Partfile;
// Session source breakdown stats for sent bytes...
static uint64 sesUpData_File;
static uint64 sesUpData_Partfile;
// Saved stats for cumulative downline data...
static uint32 cumDownCompletedFiles;
static uint32 cumDownSuccessfulSessions;
static uint32 cumDownFailedSessions;
static uint32 cumDownAvgTime;
// Cumulative statistics for saved due to compression/lost due to corruption
static uint64 cumLostFromCorruption;
static uint64 cumSavedFromCompression;
static uint32 cumPartsSavedByICH;
// Session statistics for download sessions
static uint32 sesDownSuccessfulSessions;
static uint32 sesDownFailedSessions;
static uint32 sesDownAvgTime;
static uint32 sesDownCompletedFiles;
static uint64 sesLostFromCorruption;
static uint64 sesSavedFromCompression;
static uint32 sesPartsSavedByICH;
// Cumulative client breakdown stats for received bytes...
static uint64 cumDownData_EDONKEY;
static uint64 cumDownData_EDONKEYHYBRID;
static uint64 cumDownData_EMULE;
static uint64 cumDownData_MLDONKEY;
static uint64 cumDownData_AMULE;
static uint64 cumDownData_EMULECOMPAT;
static uint64 cumDownData_SHAREAZA;
static uint64 cumDownData_URL;
// Session client breakdown stats for received bytes...
static uint64 sesDownData_EDONKEY;
static uint64 sesDownData_EDONKEYHYBRID;
static uint64 sesDownData_EMULE;
static uint64 sesDownData_MLDONKEY;
static uint64 sesDownData_AMULE;
static uint64 sesDownData_EMULECOMPAT;
static uint64 sesDownData_SHAREAZA;
static uint64 sesDownData_URL;
// Cumulative port breakdown stats for received bytes...
static uint64 cumDownDataPort_4662;
static uint64 cumDownDataPort_OTHER;
static uint64 cumDownDataPort_PeerCache;
// Session port breakdown stats for received bytes...
static uint64 sesDownDataPort_4662;
static uint64 sesDownDataPort_OTHER;
static uint64 sesDownDataPort_PeerCache;
// Saved stats for cumulative connection data...
static float cumConnAvgDownRate;
static float cumConnMaxAvgDownRate;
static float cumConnMaxDownRate;
static float cumConnAvgUpRate;
static float cumConnMaxAvgUpRate;
static float cumConnMaxUpRate;
static time_t cumConnRunTime;
static uint32 cumConnNumReconnects;
static uint32 cumConnAvgConnections;
static uint32 cumConnMaxConnLimitReached;
static uint32 cumConnPeakConnections;
static uint32 cumConnTransferTime;
static uint32 cumConnDownloadTime;
static uint32 cumConnUploadTime;
static uint32 cumConnServerDuration;
// Saved records for servers / network...
static uint32 cumSrvrsMostWorkingServers;
static uint32 cumSrvrsMostUsersOnline;
static uint32 cumSrvrsMostFilesAvail;
// Saved records for shared files...
static uint32 cumSharedMostFilesShared;
static uint64 cumSharedLargestShareSize;
static uint64 cumSharedLargestAvgFileSize;
static uint64 cumSharedLargestFileSize;
// Save the date when the statistics were last reset...
static time_t stat_datetimeLastReset;
// Save new preferences for PPgStats
static UINT statsConnectionsGraphRatio; // This will store the divisor, i.e. for 1:3 it will be 3, for 1:20 it will be 20.
// Save the expanded branches of the stats tree
static CString m_strStatsExpandedTreeItems;
static UINT statsSaveInterval;
static bool m_bShowVerticalHourMarkers;
// <-----khaos- End Statistics Members
// Original Stats Stuff
static uint64 totalDownloadedBytes;
static uint64 totalUploadedBytes;
// End Original Stats Stuff
static WORD m_wLanguageID;
static bool transferDoubleclick;
static EViewSharedFilesAccess m_iSeeShares;
static UINT m_iToolDelayTime; // tooltip delay time in seconds
static bool bringtoforeground;
static UINT splitterbarPosition;
static UINT splitterbarPositionSvr;
static UINT m_uTransferWnd1;
static UINT m_uTransferWnd2;
//MORPH START - Added by SiRoB, Splitting Bar [O²]
static UINT splitterbarPositionStat;
static UINT splitterbarPositionStat_HL;
static UINT splitterbarPositionStat_HR;
static UINT splitterbarPositionFriend;
static UINT splitterbarPositionIRC;
static UINT splitterbarPositionShared;
//MORPH END - Added by SiRoB, Splitting Bar [O²]
static UINT m_uDeadServerRetries;
static DWORD m_dwServerKeepAliveTimeout;
// -khaos--+++> Changed data type to avoid overflows
static UINT statsMax;
// <-----khaos-
static UINT statsAverageMinutes;
static CString notifierConfiguration;
static bool notifierOnDownloadFinished;
static bool notifierOnNewDownload;
static bool notifierOnChat;
static bool notifierOnLog;
static bool notifierOnImportantError;
static bool notifierOnEveryChatMsg;
static bool notifierOnNewVersion;
static ENotifierSoundType notifierSoundType;
static CString notifierSoundFile;
static CString m_strIRCServer;
static CString m_strIRCNick;
static CString m_strIRCChannelFilter;
static bool m_bIRCAddTimeStamp;
static bool m_bIRCUseChannelFilter;
static UINT m_uIRCChannelUserFilter;
static CString m_strIRCPerformString;
static bool m_bIRCUsePerform;
static bool m_bIRCGetChannelsOnConnect;
static bool m_bIRCAcceptLinks;
static bool m_bIRCAcceptLinksFriendsOnly;
static bool m_bIRCPlaySoundEvents;
static bool m_bIRCIgnoreMiscMessages;
static bool m_bIRCIgnoreJoinMessages;
static bool m_bIRCIgnorePartMessages;
static bool m_bIRCIgnoreQuitMessages;
static bool m_bIRCIgnoreEmuleAddFriendMsgs;
static bool m_bIRCAllowEmuleAddFriend;
static bool m_bIRCIgnoreEmuleSendLinkMsgs;
static bool m_bIRCJoinHelpChannel;
static bool m_bIRCEnableSmileys;
static bool m_bMessageEnableSmileys;
static bool m_bRemove2bin;
static bool m_bShowCopyEd2kLinkCmd;
static bool m_bpreviewprio;
static bool m_bSmartServerIdCheck;
static uint8 smartidstate;
static bool m_bSafeServerConnect;
static bool startMinimized;
static bool m_bAutoStart;
static bool m_bRestoreLastMainWndDlg;
static int m_iLastMainWndDlgID;
static bool m_bRestoreLastLogPane;
static int m_iLastLogPaneID;
static UINT MaxConperFive;
static bool checkDiskspace;
static UINT m_uMinFreeDiskSpace;
static bool m_bSparsePartFiles;
static CString m_strYourHostname;
static bool m_bEnableVerboseOptions;
static bool m_bVerbose;
static bool m_bFullVerbose;
static int m_byLogLevel;
static bool m_bDebugSourceExchange; // Sony April 23. 2003, button to keep source exchange msg out of verbose log
static bool m_bLogBannedClients;
static bool m_bLogRatingDescReceived;
static bool m_bLogSecureIdent;
static bool m_bLogFilteredIPs;
static bool m_bLogFileSaving;
static bool m_bLogA4AF; // ZZ:DownloadManager
static bool m_bLogUlDlEvents;
static bool m_bUseDebugDevice;
static int m_iDebugServerTCPLevel;
static int m_iDebugServerUDPLevel;
static int m_iDebugServerSourcesLevel;
static int m_iDebugServerSearchesLevel;
static int m_iDebugClientTCPLevel;
static int m_iDebugClientUDPLevel;
static int m_iDebugClientKadUDPLevel;
static int m_iDebugSearchResultDetailLevel;
static bool m_bupdatequeuelist;
static bool m_bManualAddedServersHighPriority;
static bool m_btransferfullchunks;
static int m_istartnextfile;
static bool m_bshowoverhead;
static bool m_bDAP;
static bool m_bUAP;
static bool m_bDisableKnownClientList;
static bool m_bDisableQueueList;
static bool m_bExtControls;
static bool m_bTransflstRemain;
static UINT versioncheckdays;
static bool showRatesInTitle;
static CString m_strTxtEditor;
static CString m_strVideoPlayer;
static CString m_strVideoPlayerArgs;
static bool moviePreviewBackup;
static int m_iPreviewSmallBlocks;
static bool m_bPreviewCopiedArchives;
static int m_iInspectAllFileTypes;
static bool m_bPreviewOnIconDblClk;
static bool m_bCheckFileOpen;
static bool indicateratings;
static bool watchclipboard;
static bool filterserverbyip;
static bool m_bFirstStart;
static bool m_bBetaNaggingDone;
static bool m_bCreditSystem;
static bool log2disk;
static bool debug2disk;
static int iMaxLogBuff;
static UINT uMaxLogFileSize;
static ELogFileFormat m_iLogFileFormat;
static bool scheduler;
static bool dontcompressavi;
static bool msgonlyfriends;
static bool msgsecure;
static bool m_bUseChatCaptchas;
static UINT filterlevel;
static UINT m_iFileBufferSize;
static UINT m_iQueueSize;
static int m_iCommitFiles;
static UINT m_uFileBufferTimeLimit;
static UINT maxmsgsessions;
static uint32 versioncheckLastAutomatic;
static CString messageFilter;
static CString commentFilter;
static CString filenameCleanups;
static CString m_strDateTimeFormat;
static CString m_strDateTimeFormat4Log;
static CString m_strDateTimeFormat4Lists;
static LOGFONT m_lfHyperText;
static LOGFONT m_lfLogText;
static COLORREF m_crLogError;
static COLORREF m_crLogWarning;
static COLORREF m_crLogSuccess;
static int m_iExtractMetaData;
static bool m_bAdjustNTFSDaylightFileTime;
static bool m_bRearrangeKadSearchKeywords;
static bool m_bAllocFull;
static bool m_bShowSharedFilesDetails;
static bool m_bShowWin7TaskbarGoodies;
static bool m_bShowUpDownIconInTaskbar;
static bool m_bForceSpeedsToKB;
static bool m_bAutoShowLookups;
static bool m_bExtraPreviewWithMenu;
// Web Server [kuchin]
static CString m_strWebPassword;
static CString m_strWebLowPassword;
static uint16 m_nWebPort;
static bool m_bWebUseUPnP;
static bool m_bWebEnabled;
static bool m_bWebUseGzip;
static int m_nWebPageRefresh;
static bool m_bWebLowEnabled;
static int m_iWebTimeoutMins;
static int m_iWebFileUploadSizeLimitMB;
static CString m_strTemplateFile;
static ProxySettings proxy; // deadlake PROXYSUPPORT
static bool m_bAllowAdminHiLevFunc;
static CUIntArray m_aAllowedRemoteAccessIPs;
static bool showCatTabInfos;
static bool resumeSameCat;
static bool dontRecreateGraphs;
static bool autofilenamecleanup;
//static int allcatType;
//static bool allcatTypeNeg;
static bool m_bUseAutocompl;
static bool m_bShowDwlPercentage;
static bool m_bRemoveFinishedDownloads;
static UINT m_iMaxChatHistory;
static bool m_bShowActiveDownloadsBold;
static int m_iSearchMethod;
static bool m_bAdvancedSpamfilter;
static bool m_bUseSecureIdent;
// mobilemule
static CString m_strMMPassword;
static bool m_bMMEnabled;
static uint16 m_nMMPort;
static bool networkkademlia;
static bool networked2k;
// toolbar
static EToolbarLabelType m_nToolbarLabels;
static CString m_sToolbarBitmap;
static CString m_sToolbarBitmapFolder;
static CString m_sToolbarSettings;
static bool m_bReBarToolbar;
static CSize m_sizToolbarIconSize;
static bool m_bWinaTransToolbar;
static bool m_bShowDownloadToolbar;
//preview
static bool m_bPreviewEnabled;
static bool m_bAutomaticArcPreviewStart;
// ZZ:UploadSpeedSense -->
static bool m_bDynUpEnabled;
static int m_iDynUpPingTolerance;
static int m_iDynUpGoingUpDivider;
static int m_iDynUpGoingDownDivider;
static int m_iDynUpNumberOfPings;
static int m_iDynUpPingToleranceMilliseconds;
static bool m_bDynUpUseMillisecondPingTolerance;
// ZZ:UploadSpeedSense <--
static bool m_bA4AFSaveCpu; // ZZ:DownloadManager
static bool m_bHighresTimer;
static bool m_bResolveSharedShellLinks;
static CStringList shareddir_list;
static CStringList addresses_list;
static bool m_bKeepUnavailableFixedSharedDirs;
static int m_iDbgHeap;
static UINT m_nWebMirrorAlertLevel;
static bool m_bRunAsUser;
static bool m_bPreferRestrictedOverUser;
static bool m_bUseOldTimeRemaining;
// PeerCache
static uint32 m_uPeerCacheLastSearch;
static bool m_bPeerCacheWasFound;
static bool m_bPeerCacheEnabled;
static uint16 m_nPeerCachePort;
static bool m_bPeerCacheShow;
// Firewall settings
static bool m_bOpenPortsOnStartUp;
//AICH Options
static bool m_bTrustEveryHash;
// files
static bool m_bRememberCancelledFiles;
static bool m_bRememberDownloadedFiles;
static bool m_bPartiallyPurgeOldKnownFiles;
//emil notifier
static bool m_bNotifierSendMail;
static CString m_strNotifierMailServer;
static CString m_strNotifierMailSender;
static CString m_strNotifierMailReceiver;
// encryption / obfuscation / verification
static bool m_bCryptLayerRequested;
static bool m_bCryptLayerSupported;
static bool m_bCryptLayerRequired;
static uint8 m_byCryptTCPPaddingLength;
static uint32 m_dwKadUDPKey;
// UPnP
static bool m_bSkipWANIPSetup;
static bool m_bSkipWANPPPSetup;
static bool m_bEnableUPnP;
static bool m_bCloseUPnPOnExit;
static bool m_bIsWinServImplDisabled;
static bool m_bIsMinilibImplDisabled;
static int m_nLastWorkingImpl;
// Spam
static bool m_bEnableSearchResultFilter;
static BOOL m_bIsRunningAeroGlass;
static bool m_bPreventStandby;
static bool m_bStoreSearches;
enum Table
{
tableDownload,
tableUpload,
tableQueue,
tableSearch,
tableShared,
tableServer,
tableClientList,
tableFilenames,
tableIrcMain,
tableIrcChannels,
tableDownloadClients
};
friend class CPreferencesWnd;
friend class CPPgGeneral;
friend class CPPgConnection;
friend class CPPgServer;
friend class CPPgDirectories;
friend class CPPgFiles;
friend class CPPgNotify;
friend class CPPgIRC;
friend class Wizard;
friend class CPPgTweaks;
friend class CPPgDisplay;
friend class CPPgSecurity;
friend class CPPgScheduler;
friend class CPPgDebug;
CPreferences();
~CPreferences();
static void Init();
static void Uninit();
static LPCTSTR GetTempDir(int id = 0) {return (LPCTSTR)tempdir.GetAt((id < tempdir.GetCount()) ? id : 0);}
static int GetTempDirCount() {return tempdir.GetCount();}
static bool CanFSHandleLargeFiles(int nForCat);
static LPCTSTR GetConfigFile();
static const CString& GetFileCommentsFilePath() {return m_strFileCommentsFilePath;}
static CString GetMuleDirectory(EDefaultDirectory eDirectory, bool bCreate = true);
static void SetMuleDirectory(EDefaultDirectory eDirectory, CString strNewDir);
static void ChangeUserDirMode(int nNewMode);
static bool IsTempFile(const CString& rstrDirectory, const CString& rstrName);
static bool IsShareableDirectory(const CString& rstrDirectory);
static bool IsInstallationDirectory(const CString& rstrDir);
static bool Save();
static void SaveCats();
static bool GetUseServerPriorities() {return m_bUseServerPriorities;}
static bool GetUseUserSortedServerList() {return m_bUseUserSortedServerList;}
static bool Reconnect() {return reconnect;}
static const CString& GetUserNick() {return strNick;}
static void SetUserNick(LPCTSTR pszNick);
static int GetMaxUserNickLength() {return 50;}
static LPCSTR GetBindAddrA() {return m_pszBindAddrA; }
static LPCWSTR GetBindAddrW() {return m_pszBindAddrW; }
static uint16 GetPort() {return port;}
static uint16 GetUDPPort() {return udpport;}
static uint16 GetServerUDPPort() {return nServerUDPPort;}
static uchar* GetUserHash() {return userhash;}
// ZZ:UploadSpeedSense -->
static uint16 GetMinUpload() {return minupload;}
// ZZ:UploadSpeedSense <--
static uint16 GetMaxUpload() {return maxupload;}
static bool IsICHEnabled() {return ICH;}
static bool GetAutoUpdateServerList() {return m_bAutoUpdateServerList;}
static bool UpdateNotify() {return updatenotify;}
static bool GetMinToTray() {return mintotray;}
static bool DoAutoConnect() {return autoconnect;}
static void SetAutoConnect(bool inautoconnect) {autoconnect = inautoconnect;}
static bool GetAddServersFromServer() {return m_bAddServersFromServer;}
static bool GetAddServersFromClients() {return m_bAddServersFromClients;}
static bool* GetMinTrayPTR() {return &mintotray;}
static UINT GetTrafficOMeterInterval() {return trafficOMeterInterval;}
static void SetTrafficOMeterInterval(UINT in) {trafficOMeterInterval=in;}
static UINT GetStatsInterval() {return statsInterval;}
static void SetStatsInterval(UINT in) {statsInterval=in;}
static bool GetFillGraphs() {return m_bFillGraphs;}
static void SetFillGraphs(bool bFill) {m_bFillGraphs = bFill;}
// -khaos--+++> Many, many, many, many methods.
static void SaveStats(int bBackUp = 0);
static void SetRecordStructMembers();
static void SaveCompletedDownloadsStat();
static bool LoadStats(int loadBackUp = 0);
static void ResetCumulativeStatistics();
static void Add2DownCompletedFiles() {cumDownCompletedFiles++;}
static void SetConnMaxAvgDownRate(float in) {cumConnMaxAvgDownRate = in;}
static void SetConnMaxDownRate(float in) {cumConnMaxDownRate = in;}
static void SetConnAvgUpRate(float in) {cumConnAvgUpRate = in;}
static void SetConnMaxAvgUpRate(float in) {cumConnMaxAvgUpRate = in;}
static void SetConnMaxUpRate(float in) {cumConnMaxUpRate = in;}
static void SetConnPeakConnections(int in) {cumConnPeakConnections = in;}
static void SetUpAvgTime(int in) {cumUpAvgTime = in;}
static void Add2DownSAvgTime(int in) {sesDownAvgTime += in;}
static void SetDownCAvgTime(int in) {cumDownAvgTime = in;}
static void Add2ConnTransferTime(int in) {cumConnTransferTime += in;}
static void Add2ConnDownloadTime(int in) {cumConnDownloadTime += in;}
static void Add2ConnUploadTime(int in) {cumConnUploadTime += in;}
static void Add2DownSessionCompletedFiles() {sesDownCompletedFiles++;}
static void Add2SessionTransferData(UINT uClientID, UINT uClientPort, BOOL bFromPF, BOOL bUpDown, uint32 bytes, bool sentToFriend = false);
static void Add2DownSuccessfulSessions() {sesDownSuccessfulSessions++;
cumDownSuccessfulSessions++;}
static void Add2DownFailedSessions() {sesDownFailedSessions++;
cumDownFailedSessions++;}
static void Add2LostFromCorruption(uint64 in) {sesLostFromCorruption += in;}
static void Add2SavedFromCompression(uint64 in) {sesSavedFromCompression += in;}
static void Add2SessionPartsSavedByICH(int in) {sesPartsSavedByICH += in;}
// Saved stats for cumulative downline overhead
static uint64 GetDownOverheadTotal() {return cumDownOverheadTotal;}
static uint64 GetDownOverheadFileReq() {return cumDownOverheadFileReq;}
static uint64 GetDownOverheadSrcEx() {return cumDownOverheadSrcEx;}
static uint64 GetDownOverheadServer() {return cumDownOverheadServer;}
static uint64 GetDownOverheadKad() {return cumDownOverheadKad;}
static uint64 GetDownOverheadTotalPackets() {return cumDownOverheadTotalPackets;}
static uint64 GetDownOverheadFileReqPackets() {return cumDownOverheadFileReqPackets;}
static uint64 GetDownOverheadSrcExPackets() {return cumDownOverheadSrcExPackets;}
static uint64 GetDownOverheadServerPackets() {return cumDownOverheadServerPackets;}
static uint64 GetDownOverheadKadPackets() {return cumDownOverheadKadPackets;}
// Saved stats for cumulative upline overhead
static uint64 GetUpOverheadTotal() {return cumUpOverheadTotal;}
static uint64 GetUpOverheadFileReq() {return cumUpOverheadFileReq;}
static uint64 GetUpOverheadSrcEx() {return cumUpOverheadSrcEx;}
static uint64 GetUpOverheadServer() {return cumUpOverheadServer;}
static uint64 GetUpOverheadKad() {return cumUpOverheadKad;}
static uint64 GetUpOverheadTotalPackets() {return cumUpOverheadTotalPackets;}
static uint64 GetUpOverheadFileReqPackets() {return cumUpOverheadFileReqPackets;}
static uint64 GetUpOverheadSrcExPackets() {return cumUpOverheadSrcExPackets;}
static uint64 GetUpOverheadServerPackets() {return cumUpOverheadServerPackets;}
static uint64 GetUpOverheadKadPackets() {return cumUpOverheadKadPackets;}
// Saved stats for cumulative upline data
static uint32 GetUpSuccessfulSessions() {return cumUpSuccessfulSessions;}
static uint32 GetUpFailedSessions() {return cumUpFailedSessions;}
static uint32 GetUpAvgTime() {return cumUpAvgTime;}
// Saved stats for cumulative downline data
static uint32 GetDownCompletedFiles() {return cumDownCompletedFiles;}
static uint32 GetDownC_SuccessfulSessions() {return cumDownSuccessfulSessions;}
static uint32 GetDownC_FailedSessions() {return cumDownFailedSessions;}
static uint32 GetDownC_AvgTime() {return cumDownAvgTime;}
// Session download stats
static uint32 GetDownSessionCompletedFiles() {return sesDownCompletedFiles;}
static uint32 GetDownS_SuccessfulSessions() {return sesDownSuccessfulSessions;}
static uint32 GetDownS_FailedSessions() {return sesDownFailedSessions;}
static uint32 GetDownS_AvgTime() {return GetDownS_SuccessfulSessions() ? sesDownAvgTime / GetDownS_SuccessfulSessions() : 0;}
// Saved stats for corruption/compression
static uint64 GetCumLostFromCorruption() {return cumLostFromCorruption;}
static uint64 GetCumSavedFromCompression() {return cumSavedFromCompression;}
static uint64 GetSesLostFromCorruption() {return sesLostFromCorruption;}
static uint64 GetSesSavedFromCompression() {return sesSavedFromCompression;}
static uint32 GetCumPartsSavedByICH() {return cumPartsSavedByICH;}
static uint32 GetSesPartsSavedByICH() {return sesPartsSavedByICH;}
// Cumulative client breakdown stats for sent bytes
static uint64 GetUpTotalClientData() {return GetCumUpData_EDONKEY()
+ GetCumUpData_EDONKEYHYBRID()
+ GetCumUpData_EMULE()
+ GetCumUpData_MLDONKEY()
+ GetCumUpData_AMULE()
+ GetCumUpData_EMULECOMPAT()
+ GetCumUpData_SHAREAZA();}
static uint64 GetCumUpData_EDONKEY() {return (cumUpData_EDONKEY + sesUpData_EDONKEY );}
static uint64 GetCumUpData_EDONKEYHYBRID() {return (cumUpData_EDONKEYHYBRID + sesUpData_EDONKEYHYBRID );}
static uint64 GetCumUpData_EMULE() {return (cumUpData_EMULE + sesUpData_EMULE );}
static uint64 GetCumUpData_MLDONKEY() {return (cumUpData_MLDONKEY + sesUpData_MLDONKEY );}
static uint64 GetCumUpData_AMULE() {return (cumUpData_AMULE + sesUpData_AMULE );}
static uint64 GetCumUpData_EMULECOMPAT() {return (cumUpData_EMULECOMPAT + sesUpData_EMULECOMPAT );}
static uint64 GetCumUpData_SHAREAZA() {return (cumUpData_SHAREAZA + sesUpData_SHAREAZA );}
// Session client breakdown stats for sent bytes
static uint64 GetUpSessionClientData() {return sesUpData_EDONKEY
+ sesUpData_EDONKEYHYBRID
+ sesUpData_EMULE
+ sesUpData_MLDONKEY
+ sesUpData_AMULE
+ sesUpData_EMULECOMPAT
+ sesUpData_SHAREAZA;}
static uint64 GetUpData_EDONKEY() {return sesUpData_EDONKEY;}
static uint64 GetUpData_EDONKEYHYBRID() {return sesUpData_EDONKEYHYBRID;}
static uint64 GetUpData_EMULE() {return sesUpData_EMULE;}
static uint64 GetUpData_MLDONKEY() {return sesUpData_MLDONKEY;}
static uint64 GetUpData_AMULE() {return sesUpData_AMULE;}
static uint64 GetUpData_EMULECOMPAT() {return sesUpData_EMULECOMPAT;}
static uint64 GetUpData_SHAREAZA() {return sesUpData_SHAREAZA;}
// Cumulative port breakdown stats for sent bytes...
static uint64 GetUpTotalPortData() {return GetCumUpDataPort_4662()
+ GetCumUpDataPort_OTHER()
+ GetCumUpDataPort_PeerCache();}
static uint64 GetCumUpDataPort_4662() {return (cumUpDataPort_4662 + sesUpDataPort_4662 );}
static uint64 GetCumUpDataPort_OTHER() {return (cumUpDataPort_OTHER + sesUpDataPort_OTHER );}
static uint64 GetCumUpDataPort_PeerCache() {return (cumUpDataPort_PeerCache + sesUpDataPort_PeerCache );}
// Session port breakdown stats for sent bytes...
static uint64 GetUpSessionPortData() {return sesUpDataPort_4662
+ sesUpDataPort_OTHER
+ sesUpDataPort_PeerCache;}
static uint64 GetUpDataPort_4662() {return sesUpDataPort_4662;}
static uint64 GetUpDataPort_OTHER() {return sesUpDataPort_OTHER;}
static uint64 GetUpDataPort_PeerCache() {return sesUpDataPort_PeerCache;}
// Cumulative DS breakdown stats for sent bytes...
static uint64 GetUpTotalDataFile() {return (GetCumUpData_File() + GetCumUpData_Partfile() );}
static uint64 GetCumUpData_File() {return (cumUpData_File + sesUpData_File );}
static uint64 GetCumUpData_Partfile() {return (cumUpData_Partfile + sesUpData_Partfile );}
// Session DS breakdown stats for sent bytes...
static uint64 GetUpSessionDataFile() {return (sesUpData_File + sesUpData_Partfile );}
static uint64 GetUpData_File() {return sesUpData_File;}
static uint64 GetUpData_Partfile() {return sesUpData_Partfile;}
// Cumulative client breakdown stats for received bytes
static uint64 GetDownTotalClientData() {return GetCumDownData_EDONKEY()
+ GetCumDownData_EDONKEYHYBRID()
+ GetCumDownData_EMULE()
+ GetCumDownData_MLDONKEY()
+ GetCumDownData_AMULE()
+ GetCumDownData_EMULECOMPAT()
+ GetCumDownData_SHAREAZA()
+ GetCumDownData_URL();}
static uint64 GetCumDownData_EDONKEY() {return (cumDownData_EDONKEY + sesDownData_EDONKEY);}
static uint64 GetCumDownData_EDONKEYHYBRID() {return (cumDownData_EDONKEYHYBRID + sesDownData_EDONKEYHYBRID);}
static uint64 GetCumDownData_EMULE() {return (cumDownData_EMULE + sesDownData_EMULE);}
static uint64 GetCumDownData_MLDONKEY() {return (cumDownData_MLDONKEY + sesDownData_MLDONKEY);}
static uint64 GetCumDownData_AMULE() {return (cumDownData_AMULE + sesDownData_AMULE);}
static uint64 GetCumDownData_EMULECOMPAT() {return (cumDownData_EMULECOMPAT + sesDownData_EMULECOMPAT);}
static uint64 GetCumDownData_SHAREAZA() {return (cumDownData_SHAREAZA + sesDownData_SHAREAZA);}
static uint64 GetCumDownData_URL() {return (cumDownData_URL + sesDownData_URL);}
// Session client breakdown stats for received bytes
static uint64 GetDownSessionClientData() {return sesDownData_EDONKEY
+ sesDownData_EDONKEYHYBRID
+ sesDownData_EMULE
+ sesDownData_MLDONKEY
+ sesDownData_AMULE
+ sesDownData_EMULECOMPAT
+ sesDownData_SHAREAZA
+ sesDownData_URL;}
static uint64 GetDownData_EDONKEY() {return sesDownData_EDONKEY;}
static uint64 GetDownData_EDONKEYHYBRID() {return sesDownData_EDONKEYHYBRID;}
static uint64 GetDownData_EMULE() {return sesDownData_EMULE;}
static uint64 GetDownData_MLDONKEY() {return sesDownData_MLDONKEY;}
static uint64 GetDownData_AMULE() {return sesDownData_AMULE;}
static uint64 GetDownData_EMULECOMPAT() {return sesDownData_EMULECOMPAT;}
static uint64 GetDownData_SHAREAZA() {return sesDownData_SHAREAZA;}
static uint64 GetDownData_URL() {return sesDownData_URL;}
// Cumulative port breakdown stats for received bytes...
static uint64 GetDownTotalPortData() {return GetCumDownDataPort_4662()
+ GetCumDownDataPort_OTHER()
+ GetCumDownDataPort_PeerCache();}
static uint64 GetCumDownDataPort_4662() {return cumDownDataPort_4662 + sesDownDataPort_4662;}
static uint64 GetCumDownDataPort_OTHER() {return cumDownDataPort_OTHER + sesDownDataPort_OTHER;}
static uint64 GetCumDownDataPort_PeerCache() {return cumDownDataPort_PeerCache + sesDownDataPort_PeerCache;}
// Session port breakdown stats for received bytes...
static uint64 GetDownSessionDataPort() {return sesDownDataPort_4662
+ sesDownDataPort_OTHER
+ sesDownDataPort_PeerCache;}
static uint64 GetDownDataPort_4662() {return sesDownDataPort_4662;}
static uint64 GetDownDataPort_OTHER() {return sesDownDataPort_OTHER;}
static uint64 GetDownDataPort_PeerCache() {return sesDownDataPort_PeerCache;}
// Saved stats for cumulative connection data
static float GetConnAvgDownRate() {return cumConnAvgDownRate;}
static float GetConnMaxAvgDownRate() {return cumConnMaxAvgDownRate;}
static float GetConnMaxDownRate() {return cumConnMaxDownRate;}
static float GetConnAvgUpRate() {return cumConnAvgUpRate;}
static float GetConnMaxAvgUpRate() {return cumConnMaxAvgUpRate;}
static float GetConnMaxUpRate() {return cumConnMaxUpRate;}
static time_t GetConnRunTime() {return cumConnRunTime;}
static uint32 GetConnNumReconnects() {return cumConnNumReconnects;}
static uint32 GetConnAvgConnections() {return cumConnAvgConnections;}
static uint32 GetConnMaxConnLimitReached() {return cumConnMaxConnLimitReached;}
static uint32 GetConnPeakConnections() {return cumConnPeakConnections;}
static uint32 GetConnTransferTime() {return cumConnTransferTime;}
static uint32 GetConnDownloadTime() {return cumConnDownloadTime;}
static uint32 GetConnUploadTime() {return cumConnUploadTime;}
static uint32 GetConnServerDuration() {return cumConnServerDuration;}
// Saved records for servers / network
static uint32 GetSrvrsMostWorkingServers() {return cumSrvrsMostWorkingServers;}
static uint32 GetSrvrsMostUsersOnline() {return cumSrvrsMostUsersOnline;}
static uint32 GetSrvrsMostFilesAvail() {return cumSrvrsMostFilesAvail;}
// Saved records for shared files
static uint32 GetSharedMostFilesShared() {return cumSharedMostFilesShared;}
static uint64 GetSharedLargestShareSize() {return cumSharedLargestShareSize;}
static uint64 GetSharedLargestAvgFileSize() {return cumSharedLargestAvgFileSize;}
static uint64 GetSharedLargestFileSize() {return cumSharedLargestFileSize;}
// Get the long date/time when the stats were last reset
static time_t GetStatsLastResetLng() {return stat_datetimeLastReset;}
static CString GetStatsLastResetStr(bool formatLong = true);
static UINT GetStatsSaveInterval() {return statsSaveInterval;}
// Get and Set our new preferences
static void SetStatsMax(UINT in) {statsMax = in;}
static void SetStatsConnectionsGraphRatio(UINT in) {statsConnectionsGraphRatio = in;}
static UINT GetStatsConnectionsGraphRatio() {return statsConnectionsGraphRatio;}
static void SetExpandedTreeItems(CString in) {m_strStatsExpandedTreeItems = in;}
static const CString &GetExpandedTreeItems() {return m_strStatsExpandedTreeItems;}
static uint64 GetTotalDownloaded() {return totalDownloadedBytes;}
static uint64 GetTotalUploaded() {return totalUploadedBytes;}
static bool IsErrorBeepEnabled() {return beepOnError;}
static bool IsConfirmExitEnabled() {return confirmExit;}
static void SetConfirmExit(bool bVal) {confirmExit = bVal;}
static bool UseSplashScreen() {return splashscreen;}
static bool FilterLANIPs() {return filterLANIPs;}
static bool GetAllowLocalHostIP() {return m_bAllocLocalHostIP;}
static bool IsOnlineSignatureEnabled() {return onlineSig;}
static int GetMaxGraphUploadRate(bool bEstimateIfUnlimited);
static int GetMaxGraphDownloadRate() {return maxGraphDownloadRate;}
static void SetMaxGraphUploadRate(int in);
static void SetMaxGraphDownloadRate(int in) {maxGraphDownloadRate=(in)?in:96;}
static uint16 GetMaxDownload();
static uint64 GetMaxDownloadInBytesPerSec(bool dynamic = false);
static UINT GetMaxConnections() {return maxconnections;}
static UINT GetMaxHalfConnections() {return maxhalfconnections;}
static bool GetUseOverlappedSockets() {return m_bOverlappedSockets; }
static UINT GetMaxSourcePerFileDefault() {return maxsourceperfile;}
static UINT GetDeadServerRetries() {return m_uDeadServerRetries;}
static DWORD GetServerKeepAliveTimeout() {return m_dwServerKeepAliveTimeout;}
static bool GetConditionalTCPAccept() {return m_bConditionalTCPAccept;}
static WORD GetLanguageID();
static void SetLanguageID(WORD lid);
static void GetLanguages(CWordArray& aLanguageIDs);
static void SetLanguage();
static bool IsLanguageSupported(LANGID lidSelected, bool bUpdateBefore);
static CString GetLangDLLNameByID(LANGID lidSelected);
static void InitThreadLocale();
static void SetRtlLocale(LCID lcid);
static CString GetHtmlCharset();
static bool IsDoubleClickEnabled() {return transferDoubleclick;}
static EViewSharedFilesAccess CanSeeShares(void) {return m_iSeeShares;}
static UINT GetToolTipDelay(void) {return m_iToolDelayTime;}
static bool IsBringToFront() {return bringtoforeground;}
static UINT GetSplitterbarPosition() {return splitterbarPosition;}
static void SetSplitterbarPosition(UINT pos) {splitterbarPosition=pos;}
static UINT GetSplitterbarPositionServer() {return splitterbarPositionSvr;}
static void SetSplitterbarPositionServer(UINT pos) {splitterbarPositionSvr=pos;}
static UINT GetTransferWnd1() {return m_uTransferWnd1;}
static void SetTransferWnd1(UINT uWnd1) {m_uTransferWnd1 = uWnd1;}
static UINT GetTransferWnd2() {return m_uTransferWnd2;}
static void SetTransferWnd2(UINT uWnd2) {m_uTransferWnd2 = uWnd2;}
//MORPH START - Added by SiRoB, Splitting Bar [O²]
static UINT GetSplitterbarPositionStat() {return splitterbarPositionStat;}
static void SetSplitterbarPositionStat(UINT pos) {splitterbarPositionStat=pos;}
static UINT GetSplitterbarPositionStat_HL() {return splitterbarPositionStat_HL;}
static void SetSplitterbarPositionStat_HL(UINT pos) {splitterbarPositionStat_HL=pos;}
static UINT GetSplitterbarPositionStat_HR() {return splitterbarPositionStat_HR;}
static void SetSplitterbarPositionStat_HR(UINT pos) {splitterbarPositionStat_HR=pos;}
static UINT GetSplitterbarPositionFriend() {return splitterbarPositionFriend;}
static void SetSplitterbarPositionFriend(UINT pos) {splitterbarPositionFriend=pos;}
static UINT GetSplitterbarPositionIRC() {return splitterbarPositionIRC;}
static void SetSplitterbarPositionIRC(UINT pos) {splitterbarPositionIRC=pos;}
static UINT GetSplitterbarPositionShared() {return splitterbarPositionShared;}
static void SetSplitterbarPositionShared(UINT pos) {splitterbarPositionShared=pos;}
//MORPH END - Added by SiRoB, Splitting Bar [O²]
// -khaos--+++> Changed datatype to avoid overflows
static UINT GetStatsMax() {return statsMax;}
// <-----khaos-
static bool UseFlatBar() {return (depth3D==0);}
static int GetStraightWindowStyles() {return m_iStraightWindowStyles;}
static bool GetUseSystemFontForMainControls() {return m_bUseSystemFontForMainControls;}
static const CString& GetSkinProfile() {return m_strSkinProfile;}
static void SetSkinProfile(LPCTSTR pszProfile) {m_strSkinProfile = pszProfile;}
static UINT GetStatsAverageMinutes() {return statsAverageMinutes;}
static void SetStatsAverageMinutes(UINT in) {statsAverageMinutes=in;}
static const CString& GetNotifierConfiguration() {return notifierConfiguration;}
static void SetNotifierConfiguration(LPCTSTR pszConfigPath) {notifierConfiguration = pszConfigPath;}
static bool GetNotifierOnDownloadFinished() {return notifierOnDownloadFinished;}
static bool GetNotifierOnNewDownload() {return notifierOnNewDownload;}
static bool GetNotifierOnChat() {return notifierOnChat;}
static bool GetNotifierOnLog() {return notifierOnLog;}
static bool GetNotifierOnImportantError() {return notifierOnImportantError;}