├── .gitattributes
├── .gitignore
├── .gitmodules
├── Distro
├── Modules.x64
│ ├── bass.dll
│ ├── jpegturbo.dll
│ ├── libcrypto-1_1-x64.dll
│ ├── libssl-1_1-x64.dll
│ └── sciter.dll
├── RnQ1127_m.zLng
├── Themes
│ ├── Clients.zip
│ ├── RnQ.Theme.rtz
│ ├── SyntaxHighlight
│ │ ├── rainbow-css.js
│ │ ├── rainbow-html.js
│ │ ├── rainbow-php.js
│ │ ├── rainbow-shell.js
│ │ ├── rainbow-tiscript.js
│ │ ├── rainbow.tis
│ │ ├── source-code.css
│ │ └── source-code.tis
│ ├── template.css
│ ├── template.htm
│ └── template.zip
└── modules
│ ├── bass.dll
│ ├── jpegturbo.dll
│ ├── libcrypto-1_1.dll
│ ├── libssl-1_1.dll
│ └── sciter.dll
├── RnQ
├── BuiltTime.exe
├── DB
│ ├── RnQ2sql.pas
│ └── RnQDB.pas
├── HistAllSearch.dfm
├── HistAllSearch.pas
├── HistWork.pas
├── ICQ
│ ├── ICQ.RESTapi.pas
│ ├── ICQ.Stickers.pas
│ ├── ICQClients.pas
│ ├── ICQConsts.pas
│ ├── ICQContacts.pas
│ ├── ICQflap.pas
│ ├── ICQv9.pas
│ ├── MenuStickers.dfm
│ ├── MenuStickers.pas
│ ├── Protocol_ICQ.pas
│ ├── RQCodes.pas
│ ├── RQ_ICQ.pas
│ ├── RnQ_CLsynchrDlg.dfm
│ ├── RnQ_CLsynchrDlg.pas
│ ├── StickersExt
│ │ ├── 1.png
│ │ ├── 106.png
│ │ ├── 107.png
│ │ ├── 108.png
│ │ ├── 109.png
│ │ ├── 111.png
│ │ ├── 112.png
│ │ ├── 113.png
│ │ ├── 118.png
│ │ ├── 119.png
│ │ ├── 121.png
│ │ ├── 123.png
│ │ ├── 124.png
│ │ ├── 151.png
│ │ ├── 157.png
│ │ ├── 158.png
│ │ ├── 180.png
│ │ ├── 2.png
│ │ ├── 203.png
│ │ ├── 205.png
│ │ ├── 209.png
│ │ ├── 211.png
│ │ ├── 213.png
│ │ ├── 217.png
│ │ ├── 79.png
│ │ ├── 80.png
│ │ ├── 81.png
│ │ ├── 87.png
│ │ ├── 95.png
│ │ └── 97.png
│ ├── filetransferDlg.dfm
│ ├── filetransferDlg.pas
│ ├── icq_fr.dfm
│ ├── icq_fr.pas
│ ├── newaccountDlg.dfm
│ ├── newaccountDlg.pas
│ ├── sendfileDlg.dfm
│ ├── sendfileDlg.pas
│ ├── smsDlg.dfm
│ ├── smsDlg.pas
│ ├── stickers.rc
│ ├── viewSSI.dfm
│ ├── viewSSI.pas
│ ├── viewinfoDlg.dfm
│ ├── viewinfoDlg.pas
│ ├── wpDlg.dfm
│ └── wpDlg.pas
├── MRA
│ ├── MRAContacts.pas
│ ├── MRAStatusForm.dfm
│ ├── MRAStatusForm.pas
│ ├── MRA_proto.pas
│ ├── MRAsmsDlg.dfm
│ ├── MRAsmsDlg.pas
│ ├── MRAv1.pas
│ ├── Protocol_MRA.pas
│ ├── viewMRAinfoDlg.dfm
│ ├── viewMRAinfoDlg.pas
│ ├── wpMRADlg.dfm
│ └── wpMRADlg.pas
├── MenuEmoji.dfm
├── MenuEmoji.pas
├── NewAccount.dfm
├── NewAccount.pas
├── Prefs
│ ├── antispam_fr.dfm
│ ├── antispam_fr.pas
│ ├── autoaway_fr.dfm
│ ├── autoaway_fr.pas
│ ├── chat_frOld.dfm
│ ├── chat_frOld.pas
│ ├── connection_fr.dfm
│ ├── connection_fr.pas
│ ├── design_fr.dfm
│ ├── design_fr.pas
│ ├── events_fr.dfm
│ ├── events_fr.pas
│ ├── hotkeys_fr.dfm
│ ├── hotkeys_fr.pas
│ ├── ignore_fr.dfm
│ ├── ignore_fr.pas
│ ├── other_fr.dfm
│ ├── other_fr.pas
│ ├── plugins_fr.dfm
│ ├── plugins_fr.pas
│ ├── security_fr.dfm
│ ├── security_fr.pas
│ ├── start_fr.dfm
│ ├── start_fr.pas
│ ├── themedit_fr.dfm
│ ├── themedit_fr.pas
│ ├── themes_fr.dfm
│ ├── themes_fr.pas
│ ├── tips_fr.dfm
│ ├── tips_fr.pas
│ ├── update_fr.dfm
│ └── update_fr.pas
├── Protocols_all.pas
├── Res
│ ├── MAINICON_Lite.ico
│ ├── RnQLite.res
│ ├── RnQ_Icon.ico
│ ├── RnQ_Icon1.ico
│ ├── RnQ_Icon2.ico
│ ├── WinXP2.rc
│ ├── rnq.manifest.hidpi
│ ├── rnq.manifest1
│ └── rnq.manifest1_
├── RnQBuiltTime.inc
├── RnQConfig.inc
├── RnQConst.pas
├── RnQMacros.pas
├── RnQProtoUtils.pas
├── RnQProtocol.pas
├── RnQTips.pas
├── RnQ_Avatars.pas
├── RnQdbDlg.dfm
├── RnQdbDlg.pas
├── RnQx64.dpr
├── RnQx64.dproj
├── RnQx64.res
├── SpellCheck.pas
├── StatusForm.dfm
├── StatusForm.pas
├── TLG
│ ├── Protocol_TLG.pas
│ ├── RegUserFrm.dfm
│ ├── RegUserFrm.pas
│ ├── TLG.MenuStickers.dfm
│ ├── TLG.MenuStickers.pas
│ ├── TLG.Stickers.pas
│ ├── TLG.pas
│ ├── TLGConsts.pas
│ ├── TLGContacts.pas
│ ├── tlg_fr.dfm
│ ├── tlg_fr.pas
│ ├── viewTLGinfoDlg.dfm
│ └── viewTLGinfoDlg.pas
├── ThemesLib.pas
├── ViewHEventDlg.dfm
├── ViewHEventDlg.pas
├── WIM
│ ├── Protocol_WIM.pas
│ ├── WIM.MenuStickers.dfm
│ ├── WIM.MenuStickers.pas
│ ├── WIM.Stickers.pas
│ ├── WIM.pas
│ ├── WIMCodes.pas
│ ├── WIMConsts.pas
│ ├── WIMContacts.pas
│ ├── viewWIMinfoDlg.dfm
│ ├── viewWIMinfoDlg.pas
│ ├── wim_fr.dfm
│ └── wim_fr.pas
├── aboutDlg.dfm
├── aboutDlg.pas
├── addContactDlg.dfm
├── addContactDlg.pas
├── authreqDlg.dfm
├── authreqDlg.pas
├── automsgDlg.dfm
├── automsgDlg.pas
├── changepwddlg.dfm
├── changepwddlg.pas
├── chatDlg.dfm
├── chatDlg.pas
├── clear.bat
├── events.pas
├── globalLib.pas
├── groupsLib.pas
├── histUtilsDlg.dfm
├── histUtilsDlg.pas
├── history.pas
├── historyCEF.pas
├── historySCI.dfm
├── historySCI.pas
├── historyVCL.dfm
├── historyVCL.pas
├── hook.pas
├── iniLib.pas
├── langLib.pas
├── license.txt
├── lockDlg.dfm
├── lockDlg.pas
├── mainDlg.dfm
├── mainDlg.pas
├── menusUnit.pas
├── outboxDlg.dfm
├── outboxDlg.pas
├── outboxLib.pas
├── plugin.inc
├── pluginLib.pas
├── prefDlg.dfm
├── prefDlg.pas
├── pwdDlg.dfm
├── pwdDlg.pas
├── readme.opensource.txt
├── roasterLib.pas
├── selectcontactsDlg.dfm
├── selectcontactsDlg.pas
├── uinlistlib.pas
├── usersDlg.dfm
├── usersDlg.pas
├── utilLib.pas
├── visibilityDlg.dfm
├── visibilityDlg.pas
└── xmpp
│ ├── Protocol_XMP.pas
│ ├── XMPP_proto.pas
│ ├── XMPPcontacts.pas
│ ├── XMPPv1.pas
│ ├── viewXMPPinfoDlg.dfm
│ ├── viewXMPPinfoDlg.pas
│ ├── xmpp_fr.dfm
│ └── xmpp_fr.pas
├── WhatToNeed.txt
├── clear_all.bat
└── for.RnQ
├── AES_HMAC_Syn.pas
├── EmojiConst.pas
├── Flash
├── FlashAX.dpk
├── FlashAX.res
├── FlashAXD5.dpk
├── FlashAXD5.res
├── ShockwaveEx.dcr
├── ShockwaveEx.pas
├── ShockwaveFlashObjects9_TLB.dcr
├── ShockwaveFlashObjects9_TLB.pas
├── ShockwaveFlashObjects_TLB.dcr
├── ShockwaveFlashObjects_TLB.pas
├── ShockwaveList.dcr
└── ShockwaveList.pas
├── ForRnQConfig.inc
├── HTTPStatus.pas
├── MenuSmiles.dfm
├── MenuSmiles.pas
├── Modified
└── ICS
│ └── Include
│ └── OverbyteIcsDefs.inc
├── NoRTTI.inc
├── NotRnQUtils.pas
├── RQMenuItem.pas
├── RQThemes.pas
├── RQUtil.pas
├── RQlog.dfm
├── RQlog.pas
├── RQmsgs.dfm
├── RQmsgs.pas
├── RTL
├── AnsiClasses.pas
├── Base64.pas
├── MsSpellCheckLib_TLB.pas
├── Murmur2.pas
├── PerlRegEx.pas
├── RDFileUtil.pas
├── RDGlobal.pas
├── RDSysUtils.pas
├── RDUtils.pas
├── RnQ.Graphics.Utils.pas
├── RnQBinUtils.pas
├── RnQGraphics32.pas
├── RnQHttpAuth.pas
├── RnQJSON.pas
├── RnQpngimage.pas
├── UnRAR.pas
├── WebPHelpersD32.pas
├── cgJpeg.pas
├── dynamic_bass.pas
├── libJPEG.pas
├── libwebpd.pas
├── litegif1.pas
└── uIconStream.pas
├── RnQCrypt.pas
├── RnQDialogs.pas
├── RnQFileUtil.pas
├── RnQGlobal.pas
├── RnQLangFrm.dfm
├── RnQLangFrm.pas
├── RnQLangs.pas
├── RnQMenu.pas
├── RnQNet.Cache.pas
├── RnQNet.Uploads.Lib.pas
├── RnQNet.Uploads.Tar.pas
├── RnQNet.Uploads.pas
├── RnQNet.pas
├── RnQPics.pas
├── RnQPrefsInt.pas
├── RnQPrefsLib.pas
├── RnQPrefsTypes.pas
├── RnQStrings.pas
├── RnQSysUtils.pas
├── RnQtrayLib.pas
├── SQLite
├── 1
│ ├── ASGSQLite3Api.pas
│ ├── SQLite3.pas
│ ├── asqlite_def.inc
│ ├── readme.txt
│ ├── sqlite3.def
│ ├── sqlite3DB.pas
│ └── sqlite3dll.pas
├── ASGSQLite3Api.pas
├── RnQDB.pas
├── RnQDBPrefs.pas
└── asqlite_def.inc
├── SciDe
├── Sciter.pas
├── SciterApi.pas
├── SciterJS.pas
├── SciterJSAPI.pas
├── SciterNative.pas
├── SciterOle.pas
└── TiScriptApi.pas
├── VCL
├── RDTipDlg.dfm
├── RDTipDlg.pas
├── RnQButtons.pas
├── RnQImageGrid.pas
└── RnQSpin.pas
├── ViewPicDimmedDlg.pas
├── clear.bat
├── for_rnq.cfg
├── for_rnq.dof
├── for_rnq.dpk
├── for_rnq.dproj
├── for_rnq.res
├── for_rnq_Icon.ico
├── incapsulate.pas
├── plugin1.pas
├── pluginutil.pas
├── xml
├── NativeXml.pas
├── NativeXmlWin32Compat.pas
├── RnQxml.pas
└── simdesign.inc
└── zip
├── RnQZip.pas
├── ZSTD.pas
├── ZSTDLib.pas
└── ZlibHigh.pas
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.exe binary
2 | *.zip binary
3 | *.rar binary
4 | *.png binary
5 | *.jpg binary
6 | *.rtz binary
7 | *.rtr binary
8 | *.zlng binary
9 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "for.RnQ/External/VTV"]
2 | path = for.RnQ/External/VTV
3 | url = git://github.com/drapid/Virtual-TreeView
4 |
--------------------------------------------------------------------------------
/Distro/Modules.x64/bass.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/Modules.x64/bass.dll
--------------------------------------------------------------------------------
/Distro/Modules.x64/jpegturbo.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/Modules.x64/jpegturbo.dll
--------------------------------------------------------------------------------
/Distro/Modules.x64/libcrypto-1_1-x64.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/Modules.x64/libcrypto-1_1-x64.dll
--------------------------------------------------------------------------------
/Distro/Modules.x64/libssl-1_1-x64.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/Modules.x64/libssl-1_1-x64.dll
--------------------------------------------------------------------------------
/Distro/Modules.x64/sciter.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/Modules.x64/sciter.dll
--------------------------------------------------------------------------------
/Distro/RnQ1127_m.zLng:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/RnQ1127_m.zLng
--------------------------------------------------------------------------------
/Distro/Themes/Clients.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/Themes/Clients.zip
--------------------------------------------------------------------------------
/Distro/Themes/RnQ.Theme.rtz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/Themes/RnQ.Theme.rtz
--------------------------------------------------------------------------------
/Distro/Themes/SyntaxHighlight/rainbow-css.js:
--------------------------------------------------------------------------------
1 | /**
2 | * CSS patterns
3 | *
4 | * @author Craig Campbell
5 | * @version 1.0.9
6 | */
7 | Rainbow.extend("css", [
8 | {
9 | "name": "comment",
10 | //"pattern": /\/\*(?:.|\r|\n)*?\*\//g
11 | "pattern": /\/\*((?:.|\r|\n)*?)\*\/|(\/\/).*?$/g // sciter supports single line comments in CSS
12 | },
13 | {
14 | "name": "constant.hex-color",
15 | "pattern": /#([a-f0-9]{3}|[a-f0-9]{6})(?=;|\s|,|\))/gi
16 | },
17 | {
18 | "matches": {
19 | 1: "constant.numeric",
20 | 2: "constant.unit"
21 | },
22 | "pattern": /(\d+)(dip|px|em|cm|mm|s|%|\*)?/g
23 | },
24 | {
25 | "matches": {
26 | 1: "constant.func",
27 | 2: "constant.url",
28 | 3: "constant.func",
29 | },
30 | "pattern": /(url\()([^)]+)(\))/g
31 | },
32 | {
33 | "name": "string",
34 | "pattern": /('|")(.*?)\1/g
35 | },
36 | {
37 | "name": "css.css-property",
38 | "matches": {
39 | 1: "support.vendor-prefix"
40 | },
41 | "pattern": /(-o-|-moz-|-webkit-|-ms-)?[\w-]+(?=\s?:)(?!.*\{)/g
42 | },
43 | {
44 | "name": "at-rule",
45 | "pattern": /@[\w-]+/g
46 | },
47 | {
48 | "matches": {
49 | 1: [
50 | {
51 | "name": "entity.name.sass",
52 | "pattern": /&/g
53 | },
54 | {
55 | "name": "direct-descendant",
56 | "pattern": />/g
57 | },
58 | {
59 | "name": "entity.name.class",
60 | "pattern": /\.[\w\-_]+/g
61 | },
62 | {
63 | "name": "entity.name.id",
64 | "pattern": /\#[\w\-_]+/g
65 | },
66 | {
67 | "name": "entity.name.pseudo",
68 | "pattern": /:[\w\-_]+/g
69 | },
70 | {
71 | "name": "entity.name.tag",
72 | "pattern": /\w+/g
73 | }
74 | ]
75 | },
76 | "pattern": /([\w\ ,\r\n:\.\#\&\;\-_]+)(?=.*\{)/g
77 | },
78 | {
79 | "matches": {
80 | 2: "css.vendor-prefix",
81 | 3: "css.css-value"
82 | },
83 | "pattern": /(:|,)\s*(-o-|-moz-|-webkit-|-ms-)?([a-zA-Z-]*)(?=\b)(?!.*\{)/g
84 | }
85 | ], true);
86 |
--------------------------------------------------------------------------------
/Distro/Themes/SyntaxHighlight/rainbow-html.js:
--------------------------------------------------------------------------------
1 | /**
2 | * HTML patterns
3 | *
4 | * @author Craig Campbell
5 | * @version 1.0.9
6 | */
7 | Rainbow.extend("html", [
8 | /* {
9 | "name": "source.php.embedded",
10 | "matches": {
11 | 2: {
12 | "language": "php"
13 | }
14 | },
15 | "pattern": /<\?=?(?!xml)(php)?([\s\S]*?)(\?>)/gm
16 | }, */
17 | {
18 | "name": "source.css.embedded",
19 | "matches": {
20 | 1: "html.tag.style.start",
21 | 2: {
22 | "language": "css"
23 | },
24 | 3: "html.tag.style.end",
25 | },
26 | "pattern": /(<style.*>)((?:.|\r|\n)*?)(<\/style>)/gi
27 | },
28 | {
29 | "name": "source.tis.embedded",
30 | "matches": {
31 | 1: "html.tag.script.start",
32 | 2: {
33 | "language": "tis"
34 | },
35 | 3: "html.tag.script.end"
36 | },
37 | "pattern": /(<script.*>)((?:.|\r|\n)*?)(<\/script>)/gi
38 | },
39 |
40 | {
41 | "name": "html.comment",
42 | "pattern": /<\!--((?:.|\r|\n)*?)-->/gm
43 | },
44 | {
45 | "matches": {
46 | 1: "html.tag.open",
47 | 2: "html.tag.close"
48 | },
49 | "pattern": /(<)|(\/?\??>)/g
50 | },
51 | {
52 | "name": "html.tag",
53 | "matches": {
54 | 1: "html.tag",
55 | 2: "html.tag.special",
56 | 3: "html.tag-name",
57 | 4: "html.tag.attributes",
58 | 5: "html.tag.special"
59 | },
60 | "pattern": /(<\??)([a-z0-9-?\/]+)([^&]*)(>)/gi
61 | },
62 | ], true);
63 |
--------------------------------------------------------------------------------
/Distro/Themes/SyntaxHighlight/rainbow-php.js:
--------------------------------------------------------------------------------
1 | /**
2 | * PHP patterns
3 | *
4 | * @author Craig Campbell
5 | * @version 1.0.8
6 | */
7 | Rainbow.extend("php", [
8 | {
9 | "name": "support",
10 | "pattern": /\becho\b/g
11 | },
12 | {
13 | "matches": {
14 | 1: "variable.dollar-sign",
15 | 2: "variable"
16 | },
17 | "pattern": /(\$)(\w+)\b/g
18 | },
19 | {
20 | "name": "constant.language",
21 | "pattern": /true|false|null/ig
22 | },
23 | {
24 | "name": "constant",
25 | "pattern": /\b[A-Z0-9_]{2,}\b/g
26 | },
27 | {
28 | "name": "keyword.dot",
29 | "pattern": /\./g
30 | },
31 | {
32 | "name": "keyword",
33 | "pattern": /\b(die|end(for(each)?|switch|if)|case|require(_once)?|include(_once)?)(?=\(|\b)/g
34 | },
35 | {
36 | "matches": {
37 | 1: "keyword",
38 | 2: {
39 | "name": "support.class",
40 | "pattern": /\w+/g
41 | }
42 | },
43 | "pattern": /(instanceof)\s([^\$].*?)(\)|;)/g
44 | },
45 |
46 | /**
47 | * these are the top 50 most used PHP functions
48 | * found from running a script and checking the frequency of each function
49 | * over a bunch of popular PHP frameworks then combining the results
50 | */
51 | {
52 | "matches": {
53 | 1: "support.function"
54 | },
55 | "pattern": /\b(array(_key_exists|_merge|_keys|_shift)?|isset|count|empty|unset|printf|is_(array|string|numeric|object)|sprintf|each|date|time|substr|pos|str(len|pos|tolower|_replace|totime)?|ord|trim|in_array|implode|end|preg_match|explode|fmod|define|link|list|get_class|serialize|file|sort|mail|dir|idate|log|intval|header|chr|function_exists|dirname|preg_replace|file_exists)(?=\()/g
56 | },
57 | {
58 | "name": "variable.language.php-tag",
59 | "pattern": /(<\?(php)?|\?>)/g
60 | },
61 | {
62 | "matches": {
63 | 1: "keyword.namespace",
64 | 2: {
65 | "name": "support.namespace",
66 | "pattern": /\w+/g
67 | }
68 | },
69 | "pattern": /\b(namespace|use)\s(.*?);/g
70 | },
71 | {
72 | "matches": {
73 | 1: "storage.modifier",
74 | 2: "storage.class",
75 | 3: "entity.name.class",
76 | 4: "storage.modifier.extends",
77 | 5: "entity.other.inherited-class",
78 | 6: "storage.modifier.extends",
79 | 7: "entity.other.inherited-class"
80 | },
81 | "pattern": /\b(abstract|final)?\s?(class|interface|trait)\s(\w+)(\sextends\s)?([\w\\]*)?(\simplements\s)?([\w\\]*)?\s?\{?(\n|\})/g
82 | },
83 | {
84 | "name": "keyword.static",
85 | "pattern": /self::|static::/g
86 | },
87 | {
88 | "matches": {
89 | 1: "storage.function",
90 | 2: "support.magic"
91 | },
92 | "pattern": /(function)(?=\()/g
93 | },
94 | {
95 | "matches": {
96 | 1: "keyword.new",
97 | 2: {
98 | "name": "support.class",
99 | "pattern": /\w+/g
100 | }
101 | },
102 | "pattern": /\b(new)\s([^\$].*?)(?=\)|\(|;)/g
103 | },
104 | {
105 | "matches": {
106 | 1: {
107 | "name": "support.class",
108 | "pattern": /\w+/g
109 | },
110 | 2: "keyword.static"
111 | },
112 | "pattern": /([\w\\]*?)(::)(?=\b|\$)/g
113 | },
114 | {
115 | "matches": {
116 | 2: {
117 | "name": "support.class",
118 | "pattern": /\w+/g
119 | }
120 | },
121 | "pattern": /(\(|,\s?)([\w\\]*?)(?=\s\$)/g
122 | }
123 | ], true);
124 |
--------------------------------------------------------------------------------
/Distro/Themes/SyntaxHighlight/rainbow-shell.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Shell patterns
3 | *
4 | * @author Matthew King
5 | * @author Craig Campbell
6 | * @version 1.0.3
7 | */
8 | Rainbow.extend("shell", [
9 | /**
10 | * This handles the case where subshells contain quotes.
11 | * For example: `"$(resolve_link "$name" || true)"`.
12 | *
13 | * Caveat: This really should match balanced parentheses, but cannot.
14 | * @see http://stackoverflow.com/questions/133601/can-regular-expressions-be-used-to-match-nested-patterns
15 | */
16 | {
17 | "name": "shell",
18 | "matches": {
19 | 1: {
20 | "language": "shell"
21 | }
22 | },
23 | "pattern": /\$\(([^\uFFFF]*?)\)/g
24 | },
25 | {
26 | "matches": {
27 | 2: "string"
28 | },
29 | "pattern": /(\(|\s|\[|\=)(('|")[^\uFFFF]*?(\3))/g
30 | },
31 | {
32 | "name": "keyword.operator",
33 | "pattern": /<|>|&/g
34 | },
35 | {
36 | "name": "comment",
37 | "pattern": /\#[^\uFFFF]*?$/g
38 | },
39 | {
40 | "name": "storage.function",
41 | "pattern": /(.+?)(?=\(\)\s{0,}\{)/g
42 | },
43 | /**
44 | * Environment variables
45 | */
46 | {
47 | "name": "support.command",
48 | "pattern": /\b(echo|rm|ls|(mk|rm)dir|cd|find|cp|exit|pwd|exec|trap|source|shift|unset)/g
49 | },
50 | {
51 | "matches": {
52 | 1: "keyword"
53 | },
54 | "pattern": /\b(break|case|continue|do|done|elif|else|esac|eval|export|fi|for|function|if|in|local|return|set|then|unset|until|while)(?=\(|\b)/g
55 | }
56 | ], true);
57 |
--------------------------------------------------------------------------------
/Distro/Themes/SyntaxHighlight/rainbow-tiscript.js:
--------------------------------------------------------------------------------
1 | /**
2 | * tiscript patterns
3 | *
4 | * @author Andrew Fedoniouk
5 | * @version 1.0.0
6 | */
7 | Rainbow.extend("tis", [
8 |
9 | /**
10 | * matches $. or $(
11 | */
12 | /*{
13 | "name": "selector",
14 | "pattern": /\$\w*\(.*\)/g
15 | },*/
16 |
17 | {
18 | "matches": {
19 | 1: "entity.function",
20 | 2: "selector"
21 | },
22 | "pattern": /(\$\w*)\(([^)]*)\)/g
23 | },
24 |
25 | {
26 | name: "constant",
27 | pattern: /\b(false|null|true|undefined)\b/g
28 | },
29 | {
30 | name: "keyword",
31 | pattern: /\b(function|var|if|else|while|return|for|break|continue|do|switch|case|default|null|super|new|try|catch|finally|throw|typeof|instanceof|in|property|const|get|set|include|like|class|namespace|this|assert|delete|otherwise|with|__FILE__|__LINE__|__TRACE__|debug)\b/g
32 | },
33 | {
34 | name: "string",
35 | pattern: /(".*?")/g
36 | },
37 | {
38 | name: "char",
39 | pattern: /(')(.|\\.|\\u[\dA-Fa-f]{4})\1/g
40 | },
41 | {
42 | "matches": {
43 | 1: "constant.numeric",
44 | 2: "constant.unit"
45 | },
46 | pattern: /(\d+)(px|em|cm|dip|s|ms%)?/g
47 | },
48 | {
49 | name: "integer",
50 | pattern: /\b(0x[\da-f]+|\d+)L?\b/g
51 | },
52 | {
53 | name: "comment",
54 | pattern: /\/\*((?:.|\r|\n)*?)\*\/|(\/\/).*?$/g
55 | },
56 | {
57 | name: "support.annotation",
58 | pattern: /@\w+/g
59 | },
60 | /**
61 | * matches constructor call
62 | */
63 | /*{
64 | "matches": {
65 | 1: "keyword",
66 | 2: "entity.function"
67 | },
68 | "pattern": /(new)\s+(.*)(?=\()/g
69 | }, */
70 |
71 | /*{
72 | matches: {
73 | 1: "entity.function"
74 | },
75 | pattern: /([^@\.\s]+)\(/g
76 | },*/
77 | /*{
78 | name: "entity.class",
79 | pattern: /\b([A-Z]\w*)\b/g
80 | }*/
81 | ], true);
82 |
--------------------------------------------------------------------------------
/Distro/Themes/SyntaxHighlight/source-code.css:
--------------------------------------------------------------------------------
1 | body {
2 | -syntax-highlight: on;
3 | }
4 |
5 | source-code {
6 | style-set: "source-code";
7 | behavior: htmlarea;
8 | }
9 |
10 | @set syntax {
11 | :root > text {
12 | margin-left: 2.5em;
13 | hit-margin: 0 0 0 3em;
14 | white-space: pre;
15 | display: list-item;
16 | list-style-type: decimal;
17 | background: transparent;
18 | border-left: 4dip solid transparent;
19 | }
20 |
21 | :root > eof { /* eof mark */
22 | display: block;
23 | background: transparent;
24 | padding-bottom: *;
25 | text-align: center;
26 | }
27 |
28 | .html.tag { background:none; color: #795548; }
29 | .css .url { text-decoration:underline; }
30 | .css .at-rule { color: #546e7a; }
31 |
32 | .comment {
33 | color: #7E7E7E;
34 | font-style: italic;
35 | }
36 |
37 | .constant, .constant.unit {
38 | color: #9e9d24;
39 | }
40 |
41 | .storage {
42 | color: #0277bd;
43 | }
44 |
45 | .string {
46 | color: #607d8b;
47 | }
48 |
49 | .keyword {
50 | color: #303f9f;
51 | }
52 |
53 | .selector {
54 | color: #2e7d32;
55 | }
56 |
57 | .inherited-class {
58 | font-style: italic;
59 | }
60 |
61 | .entity {
62 | color: #2e7d32;
63 | }
64 | .entity.name.id {
65 | color: #795548;
66 | }
67 |
68 | .support {
69 | color: #303f9f;
70 | }
71 |
72 | .variable.global, .variable.class, .variable.instance {
73 | color: #2e7d32;
74 | }
75 |
76 | :root > text > .css > span.start,
77 | :root > text > .css > span.end,
78 | :root > text.css.embedded { background-color: #F5FFFB; }
79 |
80 | :root > text > .tis > span.start,
81 | :root > text > .tis > span.end,
82 | :root > text.tis.embedded { background-color: #F5FBFF; }
83 |
84 | :root > text > .php > span.start,
85 | :root > text > .php > span.end,
86 | :root > text.php.embedded { background-color: #F5FBFF; }
87 |
88 | :root > text.opens { border-bottom: 1px dashed gray; }
89 | :root > text.closes { border-top: 1px dashed gray; }
90 | }
91 |
92 | @set source-code < syntax {
93 | :root {
94 | prototype: SourceCode url(source-code.tis);
95 | display: block;
96 | color: inherit;
97 | font-size: inherit;
98 | line-height: inherit;
99 | font-family: "Segoe UI", system;
100 | font-rendering-mode: snap-pixel;
101 | overflow: scroll-indicator;
102 | background: transparent;
103 | width: 100%;
104 | height: auto;
105 | }
106 |
107 | :root > text.css.embedded:current,
108 | :root > text.tis.embedded:current,
109 | :root > text.php.embedded:current,
110 | :root > text:current { background-color: rgb(255,200,126); }
111 | :root > text[breakpoint] { border-color: red; }
112 | }
--------------------------------------------------------------------------------
/Distro/Themes/SyntaxHighlight/source-code.tis:
--------------------------------------------------------------------------------
1 | include "rainbow.tis";
2 | include "rainbow-tiscript.js";
3 | include "rainbow-html.js";
4 | include "rainbow-css.js";
5 | //include "rainbow-php.js";
6 | //include "rainbow-shell.js";
7 |
8 | class SourceCode: Behavior {
9 |
10 | function attached() {
11 | var src = this.html;
12 | this.html = "";
13 | var lang = this.attributes["lang"];
14 | if( src ) this.load( src, lang );
15 |
16 | //this.on("dblclick", "text", :: (this super).onLineDblClick(this) );
17 |
18 | }
19 |
20 | function load(text, syntax = null) {
21 |
22 | if( !syntax || syntax == "" ) syntax = "html";
23 | switch( syntax ) {
24 | case "htm": case "html": syntax = "html"; break;
25 | case "tis": case "js": case "json": syntax = "tis"; break;
26 | }
27 | var me = this;
28 |
29 | Rainbow.color(text, syntax, function( colorized ) {
30 | colorized = "" + colorized.replace("\n","") + "";
31 | me.html = colorized;
32 | me.$append();
33 |
34 | var island = null;
35 |
36 | for( var tl in me ) // mark embedded "islands"
37 | switch( island ) {
38 | case #tis: if( tl.$(span.source.tis > span.end ) ) {island = null; tl.attributes.addClass("closes"); }
39 | else tl.attributes.addClass("tis","embedded");
40 | break;
41 | case #css: if( tl.$(span.source.css > span.end ) ) {island = null; tl.attributes.addClass("closes"); }
42 | else tl.attributes.addClass("css","embedded");
43 | break;
44 | case #php: if( tl.$(span.source.php > span.end ) ) {island = null; tl.attributes.addClass("closes"); }
45 | else tl.attributes.addClass("php","embedded");
46 | break;
47 | default:
48 | if( tl.$(span.source.tis > span.start ) ) { island = #tis; tl.attributes.addClass("opens"); }
49 | else if( tl.$(span.source.css > span.start ) ) { island = #css; tl.attributes.addClass("opens"); }
50 | else if( tl.$(span.source.php > span.start ) ) { island = #php; tl.attributes.addClass("opens"); }
51 | break;
52 | }
53 | });
54 | }
55 |
56 | function setCurrentLine( lineNo = null, marker = null)
57 | {
58 | var curr = this.$(:root > text:current);
59 | if( curr ) {
60 | curr.state.current = false;
61 | if(marker) curr.attributes[marker] = undefined;
62 | }
63 | if( lineNo ) {
64 | curr = this[lineNo - 1];
65 | curr.state.current = true;
66 | if(marker) curr.attributes[marker] = true;
67 | curr.scrollToView();
68 | }
69 | }
70 |
71 | function setBreakpointOn( lineNo = null, marker = "breakpoint") {
72 | if( !lineNo )
73 | for( var el in this.$$(:root > text[{marker}]) )
74 | el.attributes[marker] = undefined;
75 | else
76 | this[lineNo - 1].attributes[marker] = true;
77 | }
78 |
79 | function onLineDblClick(line) {
80 | stdout.println(line);
81 | line.attributes["breakpoint"] = line.attributes["breakpoint"] ? undefined : true;
82 | }
83 |
84 |
85 | }
--------------------------------------------------------------------------------
/Distro/Themes/template.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/Themes/template.zip
--------------------------------------------------------------------------------
/Distro/modules/bass.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/modules/bass.dll
--------------------------------------------------------------------------------
/Distro/modules/jpegturbo.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/modules/jpegturbo.dll
--------------------------------------------------------------------------------
/Distro/modules/libcrypto-1_1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/modules/libcrypto-1_1.dll
--------------------------------------------------------------------------------
/Distro/modules/libssl-1_1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/modules/libssl-1_1.dll
--------------------------------------------------------------------------------
/Distro/modules/sciter.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/Distro/modules/sciter.dll
--------------------------------------------------------------------------------
/RnQ/BuiltTime.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/BuiltTime.exe
--------------------------------------------------------------------------------
/RnQ/DB/RnQ2sql.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/DB/RnQ2sql.pas
--------------------------------------------------------------------------------
/RnQ/DB/RnQDB.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/DB/RnQDB.pas
--------------------------------------------------------------------------------
/RnQ/HistAllSearch.dfm:
--------------------------------------------------------------------------------
1 | object AllHistSrchForm: TAllHistSrchForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'Search in all history files'
5 | ClientHeight = 389
6 | ClientWidth = 319
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | KeyPreview = True
14 | OnClose = FormClose
15 | OnCreate = FormCreate
16 | OnShow = FormShow
17 | DesignSize = (
18 | 319
19 | 389)
20 | TextHeight = 13
21 | object SearchEdit: TLabeledEdit
22 | Left = 16
23 | Top = 24
24 | Width = 282
25 | Height = 21
26 | Anchors = [akLeft, akTop, akRight]
27 | EditLabel.Width = 70
28 | EditLabel.Height = 13
29 | EditLabel.Caption = 'Text to search'
30 | TabOrder = 0
31 | Text = ''
32 | ExplicitWidth = 294
33 | end
34 | object caseChk: TCheckBox
35 | Left = 16
36 | Top = 51
37 | Width = 97
38 | Height = 17
39 | Caption = 'Case sensitive'
40 | TabOrder = 1
41 | end
42 | object reChk: TCheckBox
43 | Left = 176
44 | Top = 51
45 | Width = 76
46 | Height = 17
47 | Caption = 'Reg.Exp.'
48 | TabOrder = 2
49 | end
50 | object RoasterChk: TCheckBox
51 | Left = 16
52 | Top = 74
53 | Width = 257
54 | Height = 17
55 | Caption = 'Only in contact-list'
56 | TabOrder = 3
57 | end
58 | object SchBtn: TRnQButton
59 | Left = 16
60 | Top = 97
61 | Width = 282
62 | Height = 25
63 | Anchors = [akLeft, akTop, akRight]
64 | Caption = 'Search'
65 | Default = True
66 | ImageName = ''
67 | TabOrder = 4
68 | OnClick = SchBtnClick
69 | ExplicitWidth = 294
70 | end
71 | object HistPosTree: TVirtualDrawTree
72 | Left = 16
73 | Top = 128
74 | Width = 282
75 | Height = 253
76 | Anchors = [akLeft, akTop, akRight, akBottom]
77 | Header.AutoSizeIndex = 0
78 | Header.DefaultHeight = 17
79 | Header.Height = 13
80 | Header.MainColumn = -1
81 | Header.Options = [hoColumnResize, hoDrag]
82 | TabOrder = 5
83 | OnDblClick = HistPosTreeDblClick
84 | OnDrawNode = HistPosTreeDrawNode
85 | OnFreeNode = HistPosTreeFreeNode
86 | OnGetNodeWidth = HistPosTreeGetNodeWidth
87 | OnKeyPress = HistPosTreeKeyPress
88 | Touch.InteractiveGestures = [igPan, igPressAndTap]
89 | Touch.InteractiveGestureOptions = [igoPanSingleFingerHorizontal, igoPanSingleFingerVertical, igoPanInertia, igoPanGutter, igoParentPassthrough]
90 | ExplicitWidth = 294
91 | ExplicitHeight = 262
92 | Columns = <>
93 | end
94 | end
95 |
--------------------------------------------------------------------------------
/RnQ/HistWork.pas:
--------------------------------------------------------------------------------
1 | unit HistWork;
2 |
3 | interface
4 |
5 | //uses windows, classes;
6 |
7 | procedure AddHistory(OldPath,NewPath: ShortString; uin : LongInt; var s: String);
8 | //function AddHistory(OldPath,NewPath,OldPas,NewPas: ShortString; var s: String): Byte;
9 | procedure AddFile(OldPath,NewPath : ShortString; var s: String);
10 | //function AddEvent(filename: PChar; EType: Byte; Uin: LongInt; DT: TDateTime; TextMessage: PChar; flags: Byte): Byte;
11 | //procedure CnvJimmToRq(OutUIN:Integer; path: ShortString; var s: String);
12 | //procedure Cure(path: ShortString; var S: String);
13 | //procedure RunChkDates(path: ShortString);
14 |
15 | var
16 | // Splicing: function (Path1,Path2,Pas1,Pas2: ShortString; hash1,hash2:Pchar; Buf : pchar; BufLen : cardinal; var size: Word): Byte; StdCall;
17 | Splicing: procedure (path1,path2: ShortString; uinout: LongInt; Buf1: pAnsiChar; Buf1Len: cardinal); StdCall;
18 | // ReNum: function (Path1,Path2,pas1,pas2: ShortString; hash1,hash2:Pchar): Byte; StdCall;
19 | ReNum: procedure(InFile, OutFile: ShortString; Buf1: pAnsiChar; Buf1Len: cardinal); StdCall;
20 | // AddMessage: function (filename: PChar; EType: Byte; Uin: LongInt; DT: TDateTime; TextMessage: PChar; flags: Byte): Byte; StdCall;
21 | // JimmToRq : procedure (OutUIN:Integer; path: ShortString); StdCall;
22 | JimmToRq : procedure (OutUIN:Integer; path: ShortString; Buf1 : pAnsiChar; Buf1Len : cardinal; var size: word);StdCall;
23 | // CureHistory: procedure (path: ShortString; Buf1 : pchar; Buf1Len : cardinal); StdCall;
24 | // CheckDates: procedure (path: ShortString); StdCall;
25 | LibHandle: THandle;
26 |
27 | implementation
28 |
29 | procedure AddHistory(OldPath, NewPath: ShortString; uin: LongInt; var s: String);
30 | var
31 | Buf: array[word] of AnsiChar;
32 | // size: word;
33 | begin
34 | try
35 | if @Splicing <> nil then
36 | Splicing(OldPath, NewPath, uin, Buf, sizeof(Buf));
37 | s := Buf;
38 | except
39 | s := 'Error!'
40 | end;
41 | end;
42 |
43 | procedure AddFile(OldPath, NewPath: ShortString; var s: String);
44 | var
45 | Buf: array[word] of AnsiChar;
46 | begin
47 | try
48 | if @ReNum <> nil then
49 | ReNum(OldPath,NewPath,Buf,sizeof(Buf));
50 | s := Buf;
51 | except
52 | s := 'Error!'
53 | end;
54 | end;
55 | {
56 | function AddEvent(filename: PChar; EType: Byte; Uin: LongInt; DT: TDateTime; TextMessage: PChar; flags: Byte): Byte;
57 | begin
58 | if @AddMessage <> nil then
59 | Result := AddMessage(filename,EType,Uin,DT,TextMessage,flags);
60 | end;
61 |
62 |
63 | procedure CnvJimmToRq(OutUIN:Integer; path: ShortString; var s: String);
64 | var
65 | Buf : array[word] of char;
66 | size: word;
67 | begin
68 | if @JimmToRq <> nil then
69 | begin
70 | JimmToRq(OutUIN,path, Buf,sizeof(Buf), size);
71 | s := Buf;
72 | end
73 | else
74 | s := 'Function not found in DLL'#13#10'Update HistoryLib.DLL!';
75 | end;
76 |
77 | procedure Cure(path: ShortString; var S: String);
78 | var
79 | Buf : array[word] of char;
80 | size: word;
81 | begin
82 | if @CureHistory <> nil then
83 | begin
84 | CureHistory(path, Buf,sizeof(Buf));
85 | s := Buf;
86 | end
87 | else
88 | s := 'Function not found in DLL'#13#10'Update HistoryLib.DLL!';
89 | end;
90 | }
91 |
92 | {procedure RunChkDates(path: ShortString);
93 | begin
94 | try
95 | if @CheckDates <> nil then
96 | CheckDates(Path);
97 | except
98 | end;
99 | end;
100 | }
101 | end.
102 |
--------------------------------------------------------------------------------
/RnQ/ICQ/ICQClients.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/ICQClients.pas
--------------------------------------------------------------------------------
/RnQ/ICQ/ICQContacts.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/ICQContacts.pas
--------------------------------------------------------------------------------
/RnQ/ICQ/ICQflap.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/ICQflap.pas
--------------------------------------------------------------------------------
/RnQ/ICQ/MenuStickers.dfm:
--------------------------------------------------------------------------------
1 | object FStickers: TFStickers
2 | Left = 309
3 | Top = 213
4 | BiDiMode = bdLeftToRight
5 | BorderStyle = bsNone
6 | Caption = 'Stickers'
7 | ClientHeight = 311
8 | ClientWidth = 484
9 | Color = clBtnFace
10 | DoubleBuffered = True
11 | Font.Charset = RUSSIAN_CHARSET
12 | Font.Color = clWindowText
13 | Font.Height = -13
14 | Font.Name = 'Arial'
15 | Font.Style = [fsBold]
16 | FormStyle = fsStayOnTop
17 | KeyPreview = True
18 | OldCreateOrder = False
19 | ParentBiDiMode = False
20 | Position = poDefault
21 | OnCreate = FormCreate
22 | OnHide = FormHide
23 | OnKeyDown = FormKeyDown
24 | OnPaint = FormPaint
25 | OnShow = FormShow
26 | PixelsPerInch = 96
27 | TextHeight = 16
28 | object exts: TPanel
29 | AlignWithMargins = True
30 | Left = 1
31 | Top = 1
32 | Width = 482
33 | Height = 52
34 | Margins.Left = 1
35 | Margins.Top = 1
36 | Margins.Right = 1
37 | Margins.Bottom = 0
38 | Align = alTop
39 | BevelOuter = bvNone
40 | Color = 14935011
41 | Ctl3D = True
42 | DoubleBuffered = True
43 | FullRepaint = False
44 | ParentBackground = False
45 | ParentCtl3D = False
46 | ParentDoubleBuffered = False
47 | TabOrder = 0
48 | object scrollLeft: TRnQSpeedButton
49 | Left = 16
50 | Top = 16
51 | Width = 23
52 | Height = 22
53 | Cursor = crHandPoint
54 | Flat = True
55 | Font.Charset = RUSSIAN_CHARSET
56 | Font.Color = clBtnText
57 | Font.Height = -13
58 | Font.Name = 'Arial'
59 | Font.Style = [fsBold]
60 | Font.Quality = fqAntialiased
61 | ParentFont = False
62 | OnClick = scrollLeftClick
63 | end
64 | object scrollRight: TRnQSpeedButton
65 | Left = 448
66 | Top = 16
67 | Width = 23
68 | Height = 22
69 | Cursor = crHandPoint
70 | Flat = True
71 | Font.Charset = RUSSIAN_CHARSET
72 | Font.Color = clBtnText
73 | Font.Height = -13
74 | Font.Name = 'Arial'
75 | Font.Style = [fsBold]
76 | Font.Quality = fqAntialiased
77 | ParentFont = False
78 | OnClick = scrollRightClick
79 | end
80 | end
81 | object actList: TActionList
82 | Left = 384
83 | Top = 256
84 | object NextExt: TAction
85 | SecondaryShortCuts.Strings = (
86 | 'TAB')
87 | OnExecute = NextExtExecute
88 | end
89 | object PrevExt: TAction
90 | SecondaryShortCuts.Strings = (
91 | 'Shift+TAB')
92 | OnExecute = PrevExtExecute
93 | end
94 | end
95 | object UpdTmr: TTimer
96 | Enabled = False
97 | Interval = 100
98 | OnTimer = UpdTmrTimer
99 | Left = 432
100 | Top = 256
101 | end
102 | end
103 |
--------------------------------------------------------------------------------
/RnQ/ICQ/Protocol_ICQ.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/Protocol_ICQ.pas
--------------------------------------------------------------------------------
/RnQ/ICQ/RQ_ICQ.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/RQ_ICQ.pas
--------------------------------------------------------------------------------
/RnQ/ICQ/RnQ_CLsynchrDlg.dfm:
--------------------------------------------------------------------------------
1 | object CLsyncDlg: TCLsyncDlg
2 | Left = 278
3 | Top = 134
4 | Caption = 'CL sync'
5 | ClientHeight = 266
6 | ClientWidth = 413
7 | Color = clBtnFace
8 | Constraints.MinHeight = 296
9 | Constraints.MinWidth = 200
10 | Font.Charset = DEFAULT_CHARSET
11 | Font.Color = clWindowText
12 | Font.Height = -11
13 | Font.Name = 'Tahoma'
14 | Font.Style = []
15 | OldCreateOrder = False
16 | OnClose = FormClose
17 | OnShow = FormShow
18 | PixelsPerInch = 96
19 | TextHeight = 13
20 | object SCList: TVirtualDrawTree
21 | Left = 0
22 | Top = 0
23 | Width = 413
24 | Height = 229
25 | Align = alClient
26 | Header.AutoSizeIndex = 0
27 | Header.Font.Charset = DEFAULT_CHARSET
28 | Header.Font.Color = clWindowText
29 | Header.Font.Height = -11
30 | Header.Font.Name = 'Tahoma'
31 | Header.Font.Style = []
32 | Header.MainColumn = 1
33 | Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible]
34 | Header.SortColumn = 0
35 | Header.Style = hsThickButtons
36 | TabOrder = 0
37 | TreeOptions.MiscOptions = [toFullRepaintOnResize, toGridExtensions, toInitOnSave, toToggleOnDblClick, toWheelPanning]
38 | TreeOptions.PaintOptions = [toHideSelection, toShowButtons, toShowDropmark, toShowHorzGridLines, toShowVertGridLines, toThemeAware, toUseBlendedImages]
39 | TreeOptions.SelectionOptions = [toFullRowSelect]
40 | OnCompareNodes = SCListCompareNodes
41 | OnDrawNode = SCListDrawNode
42 | OnMouseDown = SCListMouseDown
43 | Columns = <
44 | item
45 | Position = 0
46 | Width = 189
47 | WideText = 'Contact'
48 | end
49 | item
50 | Position = 1
51 | Width = 90
52 | WideText = 'Display [Server]'
53 | end
54 | item
55 | Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coShowDropMark, coVisible]
56 | Position = 2
57 | Style = vsOwnerDraw
58 | Width = 40
59 | WideText = 'CopyTo'
60 | WideHint = 'CopyTo'
61 | end
62 | item
63 | Position = 3
64 | Width = 90
65 | WideText = 'Display [Local]'
66 | end>
67 | end
68 | object Panel1: TPanel
69 | Left = 0
70 | Top = 229
71 | Width = 413
72 | Height = 37
73 | Align = alBottom
74 | TabOrder = 1
75 | DesignSize = (
76 | 413
77 | 37)
78 | object ApplyBtn: TRnQSpeedButton
79 | Left = 233
80 | Top = 8
81 | Width = 80
82 | Height = 22
83 | Anchors = [akTop, akRight]
84 | Caption = 'Apply'
85 | ModalResult = 1
86 | ImageName = 'apply'
87 | ExplicitLeft = 12
88 | end
89 | object CancelBtn: TRnQSpeedButton
90 | Left = 321
91 | Top = 8
92 | Width = 80
93 | Height = 22
94 | Anchors = [akTop, akRight]
95 | Caption = 'Cancel'
96 | ModalResult = 2
97 | ImageName = 'cancel'
98 | OnClick = CancelBtnClick
99 | ExplicitLeft = 100
100 | end
101 | end
102 | end
103 |
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/1.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/106.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/106.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/107.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/107.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/108.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/108.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/109.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/109.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/111.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/111.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/112.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/112.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/113.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/113.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/118.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/118.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/119.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/119.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/121.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/121.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/123.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/123.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/124.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/124.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/151.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/151.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/157.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/157.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/158.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/158.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/180.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/2.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/203.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/203.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/205.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/205.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/209.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/209.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/211.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/211.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/213.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/213.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/217.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/217.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/79.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/79.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/80.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/81.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/81.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/87.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/95.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/95.png
--------------------------------------------------------------------------------
/RnQ/ICQ/StickersExt/97.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/StickersExt/97.png
--------------------------------------------------------------------------------
/RnQ/ICQ/newaccountDlg.dfm:
--------------------------------------------------------------------------------
1 | object newaccountFrm: TnewaccountFrm
2 | Left = 103
3 | Top = 150
4 | Anchors = [akTop, akRight]
5 | BorderIcons = [biSystemMenu, biMinimize]
6 | BorderStyle = bsSingle
7 | Caption = 'New account'
8 | ClientHeight = 264
9 | ClientWidth = 273
10 | Color = clBtnFace
11 | Constraints.MinWidth = 270
12 | Font.Charset = RUSSIAN_CHARSET
13 | Font.Color = clWindowText
14 | Font.Height = -11
15 | Font.Name = 'Tahoma'
16 | Font.Style = []
17 | OldCreateOrder = True
18 | OnClose = FormClose
19 | OnCreate = FormCreate
20 | OnPaint = FormPaint
21 | OnShow = FormShow
22 | DesignSize = (
23 | 273
24 | 264)
25 | PixelsPerInch = 96
26 | TextHeight = 13
27 | object L2: TLabel
28 | Left = 11
29 | Top = 45
30 | Width = 88
31 | Height = 13
32 | Alignment = taRightJustify
33 | Caption = 'Enter a password:'
34 | Transparent = True
35 | end
36 | object btnGetPicture: TRnQSpeedButton
37 | Left = 8
38 | Top = 234
39 | Width = 128
40 | Height = 25
41 | Caption = 'Get Picture'
42 | ImageName = 'ok'
43 | OnClick = btnGetPictureClick
44 | end
45 | object RnQSpeedButton1: TRnQSpeedButton
46 | Left = 147
47 | Top = 9
48 | Width = 120
49 | Height = 25
50 | Anchors = [akTop, akRight]
51 | Caption = 'Change'
52 | ImageName = 'preferences'
53 | OnClick = RnQSpeedButton1Click
54 | ExplicitLeft = 130
55 | end
56 | object L3: TLabel
57 | Left = 11
58 | Top = 181
59 | Width = 66
60 | Height = 13
61 | Caption = 'Enter a word:'
62 | Transparent = True
63 | end
64 | object okBtn: TRnQSpeedButton
65 | Left = 142
66 | Top = 234
67 | Width = 127
68 | Height = 25
69 | Anchors = [akTop, akRight]
70 | Caption = '&Register UIN'
71 | Enabled = False
72 | Font.Charset = RUSSIAN_CHARSET
73 | Font.Color = clWindowText
74 | Font.Height = -11
75 | Font.Name = 'Tahoma'
76 | Font.Style = [fsBold]
77 | ParentFont = False
78 | ImageName = 'ok'
79 | OnClick = okBtnClick
80 | ExplicitLeft = 143
81 | end
82 | object L1: TLabel
83 | Left = 42
84 | Top = 15
85 | Width = 99
86 | Height = 13
87 | Alignment = taRightJustify
88 | Anchors = [akTop, akRight]
89 | Caption = 'Connection settings:'
90 | Transparent = True
91 | ExplicitLeft = 25
92 | end
93 | object pBox2: TEdit
94 | Left = 108
95 | Top = 42
96 | Width = 156
97 | Height = 21
98 | Anchors = [akLeft, akTop, akRight]
99 | TabOrder = 0
100 | OnChange = pBox2Change
101 | end
102 | object edWord: TEdit
103 | Left = 108
104 | Top = 178
105 | Width = 156
106 | Height = 21
107 | Anchors = [akLeft, akTop, akRight]
108 | CharCase = ecUpperCase
109 | Enabled = False
110 | TabOrder = 1
111 | OnChange = edWordChange
112 | end
113 | object logBox: TEdit
114 | Left = 8
115 | Top = 205
116 | Width = 257
117 | Height = 21
118 | Anchors = [akLeft, akTop, akRight]
119 | CharCase = ecUpperCase
120 | Enabled = False
121 | Font.Charset = RUSSIAN_CHARSET
122 | Font.Color = clGreen
123 | Font.Height = -11
124 | Font.Name = 'Tahoma'
125 | Font.Style = [fsBold]
126 | ParentFont = False
127 | TabOrder = 2
128 | OnChange = edWordChange
129 | end
130 | object pl: TPanel
131 | Left = 6
132 | Top = 71
133 | Width = 259
134 | Height = 102
135 | Anchors = [akLeft, akTop, akRight]
136 | BevelKind = bkFlat
137 | BevelOuter = bvNone
138 | Caption = 'No picture'
139 | TabOrder = 3
140 | object PBox: TPaintBox
141 | Left = 0
142 | Top = 0
143 | Width = 255
144 | Height = 98
145 | Align = alClient
146 | OnPaint = PBoxPaint
147 | ExplicitLeft = 36
148 | ExplicitTop = -4
149 | ExplicitWidth = 105
150 | ExplicitHeight = 105
151 | end
152 | end
153 | end
154 |
--------------------------------------------------------------------------------
/RnQ/ICQ/smsDlg.dfm:
--------------------------------------------------------------------------------
1 | object smsFrm: TsmsFrm
2 | Left = 335
3 | Top = 158
4 | Caption = 'SMS'
5 | ClientHeight = 285
6 | ClientWidth = 242
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'MS Sans Serif'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | PixelsPerInch = 96
15 | TextHeight = 13
16 | object Label1: TLabel
17 | Left = 5
18 | Top = 8
19 | Width = 42
20 | Height = 13
21 | Caption = 'message'
22 | end
23 | object Label2: TLabel
24 | Left = 5
25 | Top = 119
26 | Width = 94
27 | Height = 13
28 | Caption = 'destination numbers'
29 | end
30 | object SendBtn: TRnQSpeedButton
31 | Left = 129
32 | Top = 256
33 | Width = 88
34 | Height = 25
35 | Caption = '&Send'
36 | ImageName = 'ok'
37 | OnClick = SendBtnClick
38 | end
39 | object msgBox: TMemo
40 | Left = 0
41 | Top = 24
42 | Width = 233
43 | Height = 89
44 | TabOrder = 0
45 | OnChange = msgBoxChange
46 | end
47 | object destBox: TMemo
48 | Left = 0
49 | Top = 135
50 | Width = 233
51 | Height = 89
52 | TabOrder = 1
53 | end
54 | object charsBox: TLabeledEdit
55 | Left = 57
56 | Top = 258
57 | Width = 49
58 | Height = 21
59 | EditLabel.Width = 27
60 | EditLabel.Height = 13
61 | EditLabel.Caption = 'Chars'
62 | LabelPosition = lpLeft
63 | TabOrder = 3
64 | end
65 | object delivery_receiptBox: TCheckBox
66 | Left = 8
67 | Top = 232
68 | Width = 177
69 | Height = 17
70 | Caption = 'delivery receipt'
71 | Checked = True
72 | State = cbChecked
73 | TabOrder = 2
74 | end
75 | end
76 |
--------------------------------------------------------------------------------
/RnQ/ICQ/smsDlg.pas:
--------------------------------------------------------------------------------
1 | {
2 | Copyright (C) 2002-2004 Massimo Melina (www.rejetto.com)
3 |
4 | This file is part of &RQ.
5 |
6 | &RQ is free software; you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation; either version 2 of the License, or
9 | (at your option) any later version.
10 |
11 | &RQ is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with &RQ; if not, write to the Free Software
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | }
20 | unit smsDlg;
21 |
22 | interface
23 |
24 | uses
25 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
26 | StdCtrls, ExtCtrls, RnQButtons;
27 |
28 | type
29 | TsmsFrm = class(TForm)
30 | msgBox: TMemo;
31 | Label1: TLabel;
32 | destBox: TMemo;
33 | Label2: TLabel;
34 | SendBtn: TRnQSpeedButton;
35 | charsBox: TLabeledEdit;
36 | delivery_receiptBox: TCheckBox;
37 | procedure SendBtnClick(Sender: TObject);
38 | procedure msgBoxChange(Sender: TObject);
39 | public
40 | constructor doAll(owner_ :Tcomponent; msg,dest:string);
41 | end;
42 |
43 | //var
44 | // smsFrm: TsmsFrm;
45 |
46 | implementation
47 |
48 | uses
49 | globalLib, utilLib, langLib, RQGlobal, RQThemes, RQUtil;
50 |
51 | {$R *.dfm}
52 |
53 | constructor TsmsFrm.doAll(owner_ :Tcomponent; msg,dest:string);
54 | begin
55 | inherited create(owner_);
56 | position:=poDefaultPosOnly;
57 | theme.pic2ico(PIC_SMS, icon);
58 | msgBox.text:=msg;
59 | destBox.text:=dest;
60 | translateWindow(self);
61 | showForm(self);
62 | bringForeground:=handle;
63 | msgBoxChange(nil);
64 | end;
65 |
66 | procedure TsmsFrm.SendBtnClick(Sender: TObject);
67 | var
68 | i : Integer;
69 | begin
70 | // OnlFeature;
71 | for i := 1 to destBox.Lines.Count do
72 | ICQ.sendSMS(destBox.Lines[i], msgBox.Text, delivery_receiptBox.Checked);
73 | end;
74 |
75 | procedure TsmsFrm.msgBoxChange(Sender: TObject);
76 | begin
77 | charsBox.text:=intToStr(length(msgBox.Text));
78 | end;
79 |
80 | end.
81 |
--------------------------------------------------------------------------------
/RnQ/ICQ/stickers.rc:
--------------------------------------------------------------------------------
1 | STICKER1 RCDATA "StickersExt\1.png"
2 | STICKER2 RCDATA "StickersExt\2.png"
3 | STICKER79 RCDATA "StickersExt\79.png"
4 | STICKER80 RCDATA "StickersExt\80.png"
5 | STICKER81 RCDATA "StickersExt\81.png"
6 | STICKER87 RCDATA "StickersExt\87.png"
7 | STICKER95 RCDATA "StickersExt\95.png"
8 | STICKER97 RCDATA "StickersExt\97.png"
9 | STICKER106 RCDATA "StickersExt\106.png"
10 | STICKER107 RCDATA "StickersExt\107.png"
11 | STICKER108 RCDATA "StickersExt\108.png"
12 | STICKER109 RCDATA "StickersExt\109.png"
13 | STICKER111 RCDATA "StickersExt\111.png"
14 | STICKER112 RCDATA "StickersExt\112.png"
15 | STICKER113 RCDATA "StickersExt\113.png"
16 | STICKER118 RCDATA "StickersExt\118.png"
17 | STICKER119 RCDATA "StickersExt\119.png"
18 | STICKER121 RCDATA "StickersExt\121.png"
19 | STICKER123 RCDATA "StickersExt\123.png"
20 | STICKER124 RCDATA "StickersExt\124.png"
21 | STICKER151 RCDATA "StickersExt\151.png"
22 | STICKER157 RCDATA "StickersExt\157.png"
23 | STICKER158 RCDATA "StickersExt\158.png"
24 | STICKER180 RCDATA "StickersExt\180.png"
25 | STICKER203 RCDATA "StickersExt\203.png"
26 | STICKER205 RCDATA "StickersExt\205.png"
27 | STICKER209 RCDATA "StickersExt\209.png"
28 | STICKER211 RCDATA "StickersExt\211.png"
29 | STICKER213 RCDATA "StickersExt\213.png"
30 | STICKER217 RCDATA "StickersExt\217.png"
31 |
--------------------------------------------------------------------------------
/RnQ/ICQ/viewinfoDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/ICQ/viewinfoDlg.pas
--------------------------------------------------------------------------------
/RnQ/MRA/MRAStatusForm.dfm:
--------------------------------------------------------------------------------
1 | object MRAStatusForm: TMRAStatusForm
2 | Left = 183
3 | Top = 307
4 | BorderStyle = bsToolWindow
5 | Caption = 'Choose the xStatus...'
6 | ClientHeight = 296
7 | ClientWidth = 287
8 | Color = clBtnFace
9 | Font.Charset = DEFAULT_CHARSET
10 | Font.Color = clWindowText
11 | Font.Height = -11
12 | Font.Name = 'Tahoma'
13 | Font.Style = []
14 | FormStyle = fsStayOnTop
15 | KeyPreview = True
16 | OldCreateOrder = False
17 | Position = poDesigned
18 | OnClose = FormClose
19 | OnCreate = FormCreate
20 | OnKeyDown = FormKeyDown
21 | OnShow = FormShow
22 | PixelsPerInch = 96
23 | TextHeight = 13
24 | object Bevel1: TBevel
25 | Left = 8
26 | Top = 36
27 | Width = 273
28 | Height = 120
29 | Shape = bsFrame
30 | Style = bsRaised
31 | end
32 | object xStatusName: TEdit
33 | Left = 8
34 | Top = 8
35 | Width = 177
36 | Height = 21
37 | TabOrder = 0
38 | end
39 | object XStatusStrMemo: TMemo
40 | Left = 8
41 | Top = 160
42 | Width = 265
43 | Height = 129
44 | MaxLength = 255
45 | TabOrder = 2
46 | OnChange = XStatusStrMemoChange
47 | end
48 | object xSetButton: TRnQButton
49 | Left = 200
50 | Top = 5
51 | Width = 79
52 | Height = 25
53 | Caption = 'SET'
54 | Default = True
55 | TabOrder = 1
56 | OnClick = xSetButtonClick
57 | end
58 | object SBar: TStatusBar
59 | Left = 0
60 | Top = 277
61 | Width = 287
62 | Height = 19
63 | Panels = <
64 | item
65 | Width = 100
66 | end
67 | item
68 | Width = 50
69 | end>
70 | end
71 | end
72 |
--------------------------------------------------------------------------------
/RnQ/MRA/MRA_proto.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/MRA/MRA_proto.pas
--------------------------------------------------------------------------------
/RnQ/MRA/MRAsmsDlg.dfm:
--------------------------------------------------------------------------------
1 | object MRAsmsFrm: TMRAsmsFrm
2 | Left = 335
3 | Top = 158
4 | Caption = 'SMS'
5 | ClientHeight = 285
6 | ClientWidth = 222
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'MS Sans Serif'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | DesignSize = (
15 | 222
16 | 285)
17 | PixelsPerInch = 96
18 | TextHeight = 13
19 | object Label1: TLabel
20 | Left = 5
21 | Top = 107
22 | Width = 42
23 | Height = 13
24 | Caption = 'message'
25 | end
26 | object SendBtn: TRnQSpeedButton
27 | Left = 129
28 | Top = 256
29 | Width = 83
30 | Height = 25
31 | Anchors = [akLeft, akTop, akRight]
32 | Caption = '&Send'
33 | ImageName = 'ok'
34 | OnClick = SendBtnClick
35 | ExplicitWidth = 88
36 | end
37 | object RnQSpeedButton1: TRnQSpeedButton
38 | Left = 191
39 | Top = 8
40 | Width = 23
41 | Height = 22
42 | Anchors = [akTop, akRight]
43 | ExplicitLeft = 207
44 | end
45 | object msgBox: TMemo
46 | Left = 0
47 | Top = 123
48 | Width = 217
49 | Height = 89
50 | Anchors = [akLeft, akTop, akRight]
51 | TabOrder = 0
52 | OnChange = msgBoxChange
53 | ExplicitWidth = 233
54 | end
55 | object charsBox: TLabeledEdit
56 | Left = 57
57 | Top = 258
58 | Width = 49
59 | Height = 21
60 | EditLabel.Width = 27
61 | EditLabel.Height = 13
62 | EditLabel.Caption = 'Chars'
63 | LabelPosition = lpLeft
64 | TabOrder = 2
65 | end
66 | object delivery_receiptBox: TCheckBox
67 | Left = 8
68 | Top = 232
69 | Width = 177
70 | Height = 17
71 | Caption = 'delivery receipt'
72 | Checked = True
73 | State = cbChecked
74 | TabOrder = 1
75 | end
76 | object PhoneBox: TComboBox
77 | Left = 8
78 | Top = 8
79 | Width = 177
80 | Height = 21
81 | Anchors = [akLeft, akTop, akRight]
82 | ItemHeight = 13
83 | TabOrder = 3
84 | Text = '+7'
85 | ExplicitWidth = 193
86 | end
87 | end
88 |
--------------------------------------------------------------------------------
/RnQ/MRA/MRAsmsDlg.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit MRAsmsDlg;
6 | {$I Compilers.inc}
7 | {$I RnQConfig.inc}
8 |
9 | interface
10 |
11 | uses
12 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
13 | StdCtrls, ExtCtrls, RnQButtons, RnQProtocol, MRAContacts;
14 |
15 | type
16 | TMRAsmsFrm = class(TForm)
17 | msgBox: TMemo;
18 | Label1: TLabel;
19 | SendBtn: TRnQSpeedButton;
20 | charsBox: TLabeledEdit;
21 | delivery_receiptBox: TCheckBox;
22 | PhoneBox: TComboBox;
23 | RnQSpeedButton1: TRnQSpeedButton;
24 | procedure SendBtnClick(Sender: TObject);
25 | procedure msgBoxChange(Sender: TObject);
26 | public
27 | // constructor doAll(owner_ :Tcomponent; msg,dest:string);
28 | constructor doAll(owner_ :Tcomponent; cnt : TRnQContact; msg:string = '');
29 | private
30 | contact : TMRAContact;
31 | end;
32 |
33 | //var
34 | // smsFrm: TMRAsmsFrm;
35 |
36 | implementation
37 |
38 | uses
39 | globalLib, utilLib, langLib, RQGlobal, RQThemes, RQUtil, themesLib,
40 | MRAv1;
41 |
42 | {$R *.dfm}
43 |
44 | constructor TMRAsmsFrm.doAll(owner_ :Tcomponent; cnt : TRnQContact; msg:string = '');
45 | begin
46 | if not Assigned(cnt) or
47 | not (cnt is TMRAContact) then
48 | Exit;
49 | inherited create(owner_);
50 | position:=poDefaultPosOnly;
51 | theme.pic2ico(RQteFormIcon, PIC_SMS, icon);
52 | msgBox.text:=msg;
53 | contact := TMRAContact(cnt);
54 | translateWindow(self);
55 | showForm(self);
56 | bringForeground:=handle;
57 | msgBoxChange(nil);
58 | end;
59 |
60 | procedure TMRAsmsFrm.SendBtnClick(Sender: TObject);
61 | var
62 | // i : Integer;
63 | ph : AnsiString;
64 | begin
65 | ph := PhoneBox.Text;
66 | if Length(ph) < 7 then
67 | Exit;
68 | TMRASession(contact.fProto).sendSMS(contact, ph, msgBox.Text);
69 | // OnlFeature;
70 | // for i := 1 to destBox.Lines.Count do
71 | // ICQ.sendSMS(destBox.Lines[i], msgBox.Text, delivery_receiptBox.Checked);
72 | end;
73 |
74 | procedure TMRAsmsFrm.msgBoxChange(Sender: TObject);
75 | begin
76 | charsBox.text:=intToStr(length(msgBox.Text));
77 | end;
78 |
79 | end.
80 |
--------------------------------------------------------------------------------
/RnQ/MRA/MRAv1.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/MRA/MRAv1.pas
--------------------------------------------------------------------------------
/RnQ/MRA/Protocol_MRA.pas:
--------------------------------------------------------------------------------
1 | unit Protocol_MRA;
2 | {$I Compilers.inc}
3 | {$I RnQConfig.inc}
4 |
5 | interface
6 | uses
7 | Classes, MRAcontacts, outboxlib, events, MRAv1, MRA_proto,
8 | RnQProtocol, globalLib, viewMRAinfoDlg;
9 |
10 |
11 | procedure loggaMRAPkt(what:TwhatLog; data: AnsiString='');
12 | // function findMRAViewInfo(c:TRnQContact):TviewMRAInfoFrm;
13 |
14 |
15 | implementation
16 |
17 | uses
18 | OverbyteIcsWSocket,
19 | utilLib, Flap,
20 | RQUtil, RnQDialogs,
21 | rnqLangs, RnQStrings,
22 | RnQFileUtil,
23 | iniLib, mainDlg,
24 | pluginutil, pluginLib, SysUtils, RQGlobal,
25 | roasterLib, themesLib,
26 | chatDlg;
27 |
28 |
29 | function GetPacketName(UL: Cardinal): String;
30 | begin
31 | case UL of
32 | $1001 : Result:= 'CLI_MRIM_CS_HELLO';
33 | $1002 : Result:= 'SRV_MRIM_CS_HELLO_ACK';
34 | $1004 : Result:= 'SRV_MRIM_CS_LOGIN_ACK';
35 | $1005 : Result:= 'SRV_MRIM_CS_LOGIN_REJ';
36 | $1006 : Result:= 'CLI_MRIM_CS_PING';
37 | $1008 : Result:= 'CLI_MRIM_CS_MESSAGE';
38 | $1009 : Result:= 'SRV_MRIM_CS_MESSAGE_ACK';
39 | $1011 : Result:= 'CLI_MRIM_CS_MESSAGE_RECV';
40 | $1012 : Result:= 'SRV_MRIM_CS_MESSAGE_STATUS';
41 | $100F : Result:= 'SRV_MRIM_CS_USER_STATUS';
42 | $1013 : Result:= 'SRV_MRIM_CS_LOGOUT';
43 | $1014 : Result:= 'SRV_MRIM_CS_CONNECTION_PARAMS';
44 | $1015 : Result:= 'SRV_MRIM_CS_USER_INFO';
45 | $1019 : Result:= 'CLI_MRIM_CS_ADD_CONTACT';
46 | $101A : Result:= 'SRV_MRIM_CS_ADD_CONTACT_ACK';
47 | $101B : Result:= 'CLI_MRIM_CS_MODIFY_CONTACT';
48 | $101C : Result:= 'SRV_MRIM_CS_MODIFY_CONTACT_ACK';
49 | $101D : Result:= 'SRV_MRIM_CS_OFFLINE_MESSAGE_ACK';
50 | $101E : Result:= 'CLI_MRIM_CS_DELETE_OFFLINE_MESSAGE';
51 | // $100F : Result:= 'CLI_MRIM_CS_USER_STATUS';
52 | $1020 : Result:= 'CLI_MRIM_CS_AUTHORIZE';
53 | $1021 : Result:= 'SRV_MRIM_CS_AUTHORIZE_ACK';
54 | $1022 : Result:= 'CLI_MRIM_CS_CHANGE_STATUS';
55 | $1024 : Result:= 'CLI_MRIM_CS_GET_MPOP_SESSION';
56 | $1025 : Result:= 'SRV_MRIM_CS_MPOP_SESSION';
57 | $1026 : Result:= 'CLI_MRIM_CS_FILE_TRANSFER';
58 | $1027 : Result:= 'SRV_MRIM_CS_FILE_TRANSFER_ACK';
59 | $1029 : Result:= 'CLI_MRIM_CS_WP_REQUEST';
60 | $1028 : Result:= 'SRV_MRIM_CS_ANKETA_INFO';
61 | $1033 : Result:= 'SRV_MRIM_CS_MAILBOX_STATUS';
62 | $1037 : Result:= 'SRV_MRIM_CS_CONTACT_LIST2';
63 | $1038 : Result:= 'CLI_MRIM_CS_LOGIN2';
64 | $1039 : Result:= 'CLI_MRIM_CS_SMS';
65 | $1040 : Result:= 'SRV_MRIM_CS_SMS_ACK';
66 | else
67 | Result:= 'MRIM_UNKNOWN_' + IntToHex(UL, 8);
68 | end;
69 | end;
70 |
71 | procedure loggaMRAPkt(what:TwhatLog; data:AnsiString='');
72 | var
73 | head,s:string;
74 | isPacket : Boolean;
75 | begin
76 | s := '';
77 | isPacket := False;
78 | if Length(Data) > 10 then
79 | isPacket := cardinal(dword_LEat(@data[1])) = CS_MAGIC;
80 | if isPacket then
81 | if what in [WL_serverGot, WL_serverSent] then
82 | // if getFlapChannel(data) = SNAC_CHANNEL then
83 | s := '(' + IntToHex((getMRASnacService(data)), 2) + ') ';
84 |
85 | s:=s + LogWhatNames[what];
86 | if data>'' then
87 | if what in [WL_CONNECTED, WL_DISCONNECTED, WL_connecting] then
88 | begin
89 | s:=s+' '+data;
90 | data:='';
91 | end
92 | else
93 | s:=s+' size:'+intToStr(length(data),4);
94 |
95 | if isPacket then
96 | case what of
97 | WL_serverGot, WL_serverSent:
98 | if length(data) >= 16 then
99 | s:=s+' ref:'+intToHex(getMRASnacRef(data),8)+' '+GetPacketName(getMRASnacService(data));
100 | end;
101 |
102 | head:=logtimestamp+s;
103 | logProtoPkt(what, head, data)
104 | end; // loggaPkt
105 |
106 | function findMRAViewInfo(c:TRnQcontact):TviewMRAInfoFrm;
107 | var
108 | i:integer;
109 | begin
110 | with childWindows do
111 | begin
112 | i:=0;
113 | while i < count do
114 | begin
115 | if Tobject(items[i]) is TviewMRAInfoFrm then
116 | begin
117 | result:=TviewMRAInfoFrm(items[i]);
118 | if result.contact.equals(c) then
119 | exit;
120 | end;
121 | inc(i);
122 | end;
123 | end;
124 | result:=NIL;
125 | end; // findViewInfo
126 |
127 |
128 | end.
129 |
--------------------------------------------------------------------------------
/RnQ/MRA/viewMRAinfoDlg.dfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/MRA/viewMRAinfoDlg.dfm
--------------------------------------------------------------------------------
/RnQ/MRA/viewMRAinfoDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/MRA/viewMRAinfoDlg.pas
--------------------------------------------------------------------------------
/RnQ/MRA/wpMRADlg.dfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/MRA/wpMRADlg.dfm
--------------------------------------------------------------------------------
/RnQ/MenuEmoji.dfm:
--------------------------------------------------------------------------------
1 | object EmojiFrm: TEmojiFrm
2 | Left = 309
3 | Top = 213
4 | BiDiMode = bdLeftToRight
5 | BorderStyle = bsNone
6 | Caption = 'Stickers'
7 | ClientHeight = 311
8 | ClientWidth = 484
9 | Color = clBtnFace
10 | DoubleBuffered = True
11 | ParentFont = True
12 | FormStyle = fsStayOnTop
13 | KeyPreview = True
14 | ParentBiDiMode = False
15 | Position = poDefault
16 | OnCreate = FormCreate
17 | OnHide = FormHide
18 | OnKeyDown = FormKeyDown
19 | OnPaint = FormPaint
20 | OnShow = FormShow
21 | TextHeight = 30
22 | object exts: TPanel
23 | AlignWithMargins = True
24 | Left = 1
25 | Top = 1
26 | Width = 482
27 | Height = 42
28 | Margins.Left = 1
29 | Margins.Top = 1
30 | Margins.Right = 1
31 | Margins.Bottom = 0
32 | Align = alTop
33 | BevelOuter = bvNone
34 | Color = 14935011
35 | Ctl3D = True
36 | DoubleBuffered = True
37 | FullRepaint = False
38 | ParentBackground = False
39 | ParentCtl3D = False
40 | ParentDoubleBuffered = False
41 | TabOrder = 0
42 | end
43 | object UpdTmr: TTimer
44 | Enabled = False
45 | Interval = 40
46 | OnTimer = UpdTmrTimer
47 | Left = 432
48 | Top = 256
49 | end
50 | object actList: TActionList
51 | Left = 384
52 | Top = 256
53 | object NextExt: TAction
54 | SecondaryShortCuts.Strings = (
55 | 'TAB')
56 | OnExecute = NextExtExecute
57 | end
58 | object PrevExt: TAction
59 | SecondaryShortCuts.Strings = (
60 | 'Shift+TAB')
61 | OnExecute = PrevExtExecute
62 | end
63 | end
64 | end
65 |
--------------------------------------------------------------------------------
/RnQ/NewAccount.dfm:
--------------------------------------------------------------------------------
1 | object NewAccFrm: TNewAccFrm
2 | Left = 0
3 | Top = 0
4 | ActiveControl = AccEdit
5 | BorderStyle = bsSizeToolWin
6 | Caption = 'New user'
7 | ClientHeight = 116
8 | ClientWidth = 284
9 | Color = clBtnFace
10 | Constraints.MinHeight = 142
11 | Constraints.MinWidth = 292
12 | Font.Charset = DEFAULT_CHARSET
13 | Font.Color = clWindowText
14 | Font.Height = -11
15 | Font.Name = 'Tahoma'
16 | Font.Style = []
17 | OldCreateOrder = False
18 | OnCreate = FormCreate
19 | DesignSize = (
20 | 284
21 | 116)
22 | PixelsPerInch = 96
23 | TextHeight = 13
24 | object L1: TLabel
25 | Left = 8
26 | Top = 19
27 | Width = 74
28 | Height = 13
29 | Alignment = taRightJustify
30 | AutoSize = False
31 | Caption = 'Type'
32 | end
33 | object Label1: TLabel
34 | Left = 8
35 | Top = 46
36 | Width = 74
37 | Height = 13
38 | Alignment = taRightJustify
39 | AutoSize = False
40 | Caption = 'UID'
41 | end
42 | object AccCBox: TComboBox
43 | Left = 88
44 | Top = 16
45 | Width = 145
46 | Height = 21
47 | Style = csDropDownList
48 | TabOrder = 0
49 | OnCloseUp = AccCBoxCloseUp
50 | end
51 | object AccEdit: TEdit
52 | Left = 88
53 | Top = 43
54 | Width = 145
55 | Height = 21
56 | TabOrder = 1
57 | end
58 | object OkBtn: TRnQButton
59 | Left = 113
60 | Top = 83
61 | Width = 75
62 | Height = 25
63 | Anchors = [akRight, akBottom]
64 | Caption = 'Ok'
65 | Default = True
66 | ImageName = 'ok'
67 | ModalResult = 1
68 | TabOrder = 2
69 | OnClick = OkBtnClick
70 | end
71 | object CnclBtn: TRnQButton
72 | Left = 201
73 | Top = 83
74 | Width = 75
75 | Height = 25
76 | Anchors = [akRight, akBottom]
77 | Cancel = True
78 | Caption = 'Cancel'
79 | ImageName = 'cancel'
80 | ModalResult = 2
81 | TabOrder = 3
82 | end
83 | end
84 |
--------------------------------------------------------------------------------
/RnQ/NewAccount.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit NewAccount;
6 |
7 | {$I RnQConfig.inc}
8 | {$I NoRTTI.inc}
9 |
10 | interface
11 |
12 | uses
13 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
14 | StdCtrls, RnQButtons,
15 | RnQprotocol;
16 |
17 | type
18 | TNewAccFrm = class(TForm)
19 | AccCBox: TComboBox;
20 | L1: TLabel;
21 | AccEdit: TEdit;
22 | Label1: TLabel;
23 | OkBtn: TRnQButton;
24 | CnclBtn: TRnQButton;
25 | procedure FormCreate(Sender: TObject);
26 | procedure AccCBoxCloseUp(Sender: TObject);
27 | procedure OkBtnClick(Sender: TObject);
28 | private
29 | { Private declarations }
30 | public
31 | { Public declarations }
32 | function getProto: TRnQProtoClass;
33 | end;
34 |
35 | //var
36 | // NewAccFrm: TNewAccFrm;
37 |
38 | implementation
39 |
40 | {$R *.dfm}
41 |
42 | uses
43 | Protocols_all,
44 | RDGlobal, RQUtil, RnQLangs, RnQDialogs;
45 |
46 | procedure TNewAccFrm.AccCBoxCloseUp(Sender: TObject);
47 | begin
48 | if AccEdit.Visible then
49 | ActiveControl := AccEdit;
50 | end;
51 |
52 | procedure TNewAccFrm.FormCreate(Sender: TObject);
53 | var
54 | // s: String;
55 | b: Byte;
56 | begin
57 | {$IFNDEF ICQ_ONLY}
58 | for var p in RnQProtos do
59 | for b in cUsedProtos do
60 | if p._getProtoID = b then
61 | AccCBox.AddItem(cProtosDesc[b], NIL);
62 | {$ELSE ICQ_ONLY}
63 | AccCBox.AddItem('ICQ', NIL);
64 | AccCBox.AddItem('AIM', NIL);
65 | {$ENDIF ICQ_ONLY}
66 | AccCBox.ItemIndex := 0;
67 | if AccCBox.Items.Count <=1 then
68 | AccCBox.Enabled := false;
69 | if AccCBox.Items.Count = 0 then
70 | OkBtn.Enabled := False;
71 | end;
72 |
73 | function TNewAccFrm.getProto: TRnQProtoClass;
74 | //type
75 | // ff = array [cUsedProtos] of byte;
76 | var
77 | i: Integer;
78 | begin
79 | {$IFNDEF ICQ_ONLY}
80 | i := AccCBox.ItemIndex;
81 | if i in [Byte(Low(cUsedProtos))..Byte(High(cUsedProtos))] then
82 | // Result := getProtoClass(Byte(cUsedProtos[i]))
83 | for var p in RnQProtos do
84 | if p._getProtoID = cUsedProtos[i] then
85 | Exit(p);
86 |
87 | // if i in [Byte(Low(RnQProtos))..Byte(High(RnQProtos))] then
88 | // Result := RnQProtos[i]
89 | // else
90 | {$ELSE ICQ_ONLY}
91 | {$ENDIF ICQ_ONLY}
92 | // Result := TicqSession;
93 | {$IFDEF PROTOCOL_ICQ}
94 | Result := getProtoClass(ICQProtoID)
95 | {$ELSE ~PROTOCOL_ICQ}
96 | Result := NIL;
97 | // Result := getProtoClass(Byte(cUsedProtos[Low(cUsedProtos)]))
98 | {$ENDIF PROTOCOL_ICQ}
99 | end;
100 |
101 | procedure TNewAccFrm.OkBtnClick(Sender: TObject);
102 | var
103 | pr: TRnQProtoClass;
104 | begin
105 | pr := getProto;
106 | if Assigned(pr) and pr._isValidUid1(AccEdit.Text) then
107 | ModalResult := mrOk
108 | else
109 | begin
110 | ModalResult := mrNone;
111 | msgDlg(getTranslation('Not valid user identifier - %s', [AccEdit.Text]), False, mtError);
112 | end;
113 | end;
114 |
115 | end.
116 |
--------------------------------------------------------------------------------
/RnQ/Prefs/autoaway_fr.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit autoaway_fr;
6 | {$I RnQConfig.inc}
7 | {$I NoRTTI.inc}
8 |
9 | interface
10 |
11 | uses
12 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
13 | StdCtrls, RnQSpin, RDGlobal,
14 | RnQPrefsInt, RnQPrefsTypes,
15 | ExtCtrls, ComCtrls;
16 |
17 | type
18 | TautoawayFr = class(TPrefFrame)
19 | plBg: TPanel;
20 | Label26: TLabel;
21 | Label28: TLabel;
22 | Label1: TLabel;
23 | Label2: TLabel;
24 | setawayChk: TCheckBox;
25 | awaySpin: TRnQSpinEdit; // autoaway-away-time
26 | naSpin: TRnQSpinEdit;
27 | setnaChk: TCheckBox; // autoaway-na
28 | exitawayChk: TCheckBox;
29 | automsgBox: TMemo;
30 | setnaSSChk: TCheckBox;
31 | setNAVolChk: TCheckBox;
32 | naVolSl: TTrackBar;
33 | bossnaChk: TCheckBox;
34 | procedure UpdVis(Sender: TObject);
35 | private
36 | { Private declarations }
37 | public
38 | // procedure initProps;
39 | procedure applyPage; Override; final;
40 | procedure resetPage; Override; final;
41 | procedure updateVisPage; Override; final;
42 | { Public declarations }
43 | end;
44 |
45 | implementation
46 |
47 | {$R *.dfm}
48 | uses
49 | RnQConst, globalLib;
50 |
51 | procedure TautoawayFr.applyPage;
52 | begin
53 | autoaway.autoexit := exitawayChk.checked;
54 | autoaway.away := setawayChk.checked;
55 | autoaway.na := setnaChk.checked;
56 | autoaway.ss := setnaSSChk.checked;
57 | autoaway.boss := bossnaChk.Checked;
58 | autoaway.awayTime := round(awaySpin.Value*(10*60));
59 | autoaway.naTime := round(naSpin.Value*(10*60));
60 | autoaway.msg := automsgBox.text;
61 | autoaway.setVol := setNAVolChk.Checked;
62 | autoaway.vol := naVolSl.Position;
63 | end;
64 |
65 | procedure TautoawayFr.resetPage;
66 | begin
67 | automsgBox.Width:= plBg.Width - GAP_SIZE - GAP_SIZE;
68 | automsgBox.left:= GAP_SIZE;;
69 |
70 | exitawayChk.checked:= autoaway.autoexit;
71 | setawayChk.checked := autoaway.away;
72 | setnaChk.checked := autoaway.na;
73 | setnaSSChk.checked := autoaway.ss;
74 | bossnaChk.Checked := autoaway.boss;
75 | awaySpin.Value := autoaway.awayTime div (10*60);
76 | naSpin.Value := autoaway.naTime div (10*60);
77 | automsgBox.text := autoaway.msg;
78 | setNAVolChk.Checked:= autoaway.setVol;
79 | naVolSl.Position := autoaway.vol;
80 | end;
81 |
82 | procedure TautoawayFr.UpdVis(Sender: TObject);
83 | begin updateVisPage end;
84 |
85 | procedure TautoawayFr.updateVisPage;
86 | begin
87 | awaySpin.enabled := setawayChk.checked;
88 | naSpin.enabled := setnaChk.checked;
89 | end;
90 |
91 | end.
92 |
--------------------------------------------------------------------------------
/RnQ/Prefs/design_fr.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/Prefs/design_fr.pas
--------------------------------------------------------------------------------
/RnQ/Prefs/ignore_fr.dfm:
--------------------------------------------------------------------------------
1 | object ignoreFr: TignoreFr
2 | Left = 0
3 | Top = 0
4 | ClientHeight = 376
5 | ClientWidth = 420
6 | Color = clBtnFace
7 | Font.Charset = DEFAULT_CHARSET
8 | Font.Color = clWindowText
9 | Font.Height = -11
10 | Font.Name = 'Tahoma'
11 | Font.Style = []
12 | OldCreateOrder = True
13 | DesignSize = (
14 | 420
15 | 376)
16 | PixelsPerInch = 96
17 | TextHeight = 13
18 | object ignoreChk: TCheckBox
19 | Left = 6
20 | Top = 6
21 | Width = 97
22 | Height = 17
23 | Caption = 'Enabled'
24 | TabOrder = 0
25 | end
26 | object ignoreBox: TListBox
27 | Left = 6
28 | Top = 28
29 | Width = 405
30 | Height = 229
31 | Anchors = [akLeft, akTop, akRight, akBottom]
32 | Columns = 2
33 | ItemHeight = 13
34 | MultiSelect = True
35 | TabOrder = 1
36 | OnContextPopup = ignoreBoxContextPopup
37 | OnDragDrop = ignoreBoxDragDrop
38 | OnDragOver = ignoreBoxDragOver
39 | end
40 | object addBtn: TRnQButton
41 | Left = 8
42 | Top = 336
43 | Width = 117
44 | Height = 25
45 | Anchors = [akLeft, akBottom]
46 | Caption = 'Add'
47 | TabOrder = 2
48 | OnClick = addBtnClick
49 | ImageName = 'add.contact'
50 | end
51 | object removeBtn: TRnQButton
52 | Left = 152
53 | Top = 336
54 | Width = 121
55 | Height = 25
56 | Anchors = [akLeft, akBottom]
57 | Caption = 'Remove'
58 | TabOrder = 3
59 | OnClick = removeBtnClick
60 | ImageName = 'delete'
61 | end
62 | object PopupMenu: TPopupMenu
63 | Left = 280
64 | Top = 176
65 | object menuviewinfo: TMenuItem
66 | Caption = 'View info'
67 | OnClick = menuviewinfoClick
68 | end
69 | end
70 | end
71 |
--------------------------------------------------------------------------------
/RnQ/Prefs/ignore_fr.pas:
--------------------------------------------------------------------------------
1 | unit ignore_fr;
2 |
3 | interface
4 | {$I Compilers.inc}
5 | {$I RnQConfig.inc}
6 | {$I NoRTTI.inc}
7 |
8 | uses
9 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
10 | StdCtrls, Menus, RnQButtons, RnQDialogs, GlobalLib;
11 |
12 | type
13 | TignoreFr = class(TPrefFrame)
14 | ignoreChk: TCheckBox;
15 | ignoreBox: TListBox;
16 | PopupMenu: TPopupMenu;
17 | menuviewinfo: TMenuItem;
18 | addBtn: TRnQButton;
19 | removeBtn: TRnQButton;
20 | procedure ignoreBoxDragDrop(Sender, Source: TObject; X, Y: Integer);
21 | procedure ignoreBoxDragOver(Sender, Source: TObject; X, Y: Integer;
22 | State: TDragState; var Accept: Boolean);
23 | procedure removeBtnClick(Sender: TObject);
24 | procedure addBtnClick(Sender: TObject);
25 | procedure menuviewinfoClick(Sender: TObject);
26 | procedure ignoreBoxContextPopup(Sender: TObject; MousePos: TPoint;
27 | var Handled: Boolean);
28 | private
29 | currentContact : Tcontact;
30 | { Private declarations }
31 | public
32 | procedure applyPage; Override;
33 | procedure resetPage; Override;
34 | { Public declarations }
35 | end;
36 |
37 | implementation
38 |
39 | uses
40 | RQGlobal, RQThemes, RnQFileUtil,
41 | icqv9,
42 | utilLib, mainDlg, RQUtil, RnQLangs;
43 |
44 | {$R *.dfm}
45 |
46 | procedure TignoreFr.ignoreBoxDragDrop(Sender, Source: TObject; X,Y: Integer);
47 | begin addToIgnoreList(clickedContact) end;
48 |
49 | procedure TignoreFr.ignoreBoxDragOver(Sender, Source: TObject; X,Y: Integer; State: TDragState; var Accept: Boolean);
50 | begin accept:=source=RnQmain.roaster end;
51 |
52 | procedure TignoreFr.removeBtnClick(Sender: TObject);
53 | var
54 | i:integer;
55 | begin
56 | for i:=ignoreBox.count-1 downto 0 do
57 | if ignoreBox.selected[i] then
58 | ignoreList.remove(ignoreBox.items.objects[i]);
59 | ignoreBox.deleteSelected;
60 | saveLists;
61 | end;
62 |
63 | procedure TignoreFr.addBtnClick(Sender: TObject);
64 | begin
65 | msgDlg(getTranslation('for now you can only drag&drop your contacts from the contact-list, sorry'),mtInformation);
66 | end;
67 |
68 | procedure TignoreFr.menuviewinfoClick(Sender: TObject);
69 | begin
70 | viewInfoAbout(currentContact)
71 | end;
72 |
73 | procedure TignoreFr.ignoreBoxContextPopup(Sender: TObject;
74 | MousePos: TPoint; var Handled: Boolean);
75 | var
76 | i : Integer;
77 | begin
78 | i := ignoreBox.ItemAtPos(MousePos, True);
79 | if i >=0 then
80 | currentContact := Tcontact(ignoreBox.items.objects[i]);
81 | PopupMenu.Popup(ignoreBox.ClientToScreen(MousePos).X, ignoreBox.ClientToScreen(MousePos).Y)
82 | end;
83 |
84 | procedure TignoreFr.applyPage;
85 | var
86 | i : Integer;
87 | begin
88 | enableIgnorelist:=ignoreChk.checked;
89 | Ignorelist.clear;
90 | with ignoreBox do
91 | for i:=0 to count-1 do
92 | Ignorelist.add(items.objects[i]);
93 | if not saveFile(userPath+ignoreFileName+'.txt', ignorelist.toString, True) then
94 | msgDlg(getTranslation('Error saving ignore list'),mtError);
95 | end;
96 |
97 | procedure TignoreFr.resetPage;
98 | var
99 | i : Integer;
100 | begin
101 | addBtn.top:= clientHeight - GAP_SIZE - addBtn.Height;
102 | addBtn.left:= GAP_SIZE;
103 |
104 | removeBtn.top:= addBtn.top;
105 | removeBtn.left:= addBtn.left + addBtn.Width +GAP_SIZE;
106 |
107 | ignoreBox.width:= clientWidth - GAP_SIZE2;
108 | ignoreBox.height:= clientHeight - GAP_SIZE2 - ignoreBox.top - addBtn.Height;
109 |
110 | ignoreChk.checked:=enableIgnorelist;
111 | ignoreBox.clear;
112 | with ignoreList do
113 | for i:=0 to count-1 do
114 | ignoreBox.addItem(getAt(i).displayed,getAt(i));
115 | end;
116 |
117 | INITIALIZATION
118 |
119 | AddPrefPage(0, TignoreFr, 'Ignore list');
120 | end.
121 |
--------------------------------------------------------------------------------
/RnQ/Prefs/plugins_fr.dfm:
--------------------------------------------------------------------------------
1 | object pluginsFr: TpluginsFr
2 | Left = 0
3 | Top = 0
4 | VertScrollBar.Tracking = True
5 | ClientHeight = 367
6 | ClientWidth = 414
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | TextHeight = 13
14 | object Label1: TLabel
15 | Left = 6
16 | Top = 6
17 | Width = 66
18 | Height = 13
19 | Caption = 'Found plugins'
20 | end
21 | object reloadBtn: TRnQButton
22 | Left = 8
23 | Top = 288
24 | Width = 121
25 | Height = 25
26 | Caption = '&Reload'
27 | ImageName = 'refresh'
28 | TabOrder = 0
29 | OnClick = reloadBtnClick
30 | end
31 | object prefBtn: TRnQButton
32 | Left = 144
33 | Top = 288
34 | Width = 113
35 | Height = 25
36 | Caption = '&Preferences'
37 | ImageName = 'preferences'
38 | TabOrder = 1
39 | OnClick = prefBtnClick
40 | end
41 | object PluginsList: TVirtualDrawTree
42 | Left = 8
43 | Top = 25
44 | Width = 385
45 | Height = 255
46 | DragType = dtVCL
47 | Header.AutoSizeIndex = 0
48 | Header.DefaultHeight = 17
49 | Header.Height = 17
50 | Header.Options = [hoColumnResize, hoDrag, hoVisible]
51 | TabOrder = 2
52 | TreeOptions.MiscOptions = [toAcceptOLEDrop, toCheckSupport, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning]
53 | TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toShowTreeLines, toThemeAware, toUseBlendedImages]
54 | TreeOptions.SelectionOptions = [toFullRowSelect]
55 | OnDrawNode = PluginsListDrawNode
56 | OnFreeNode = PluginsListFreeNode
57 | Touch.InteractiveGestures = [igPan, igPressAndTap]
58 | Touch.InteractiveGestureOptions = [igoPanSingleFingerHorizontal, igoPanSingleFingerVertical, igoPanInertia, igoPanGutter, igoParentPassthrough]
59 | Columns = <
60 | item
61 | Position = 0
62 | Text = 'Name'
63 | Width = 220
64 | end
65 | item
66 | Position = 1
67 | Text = 'Filename'
68 | Width = 150
69 | end>
70 | end
71 | end
72 |
--------------------------------------------------------------------------------
/RnQ/Prefs/security_fr.dfm:
--------------------------------------------------------------------------------
1 | object securityFr: TsecurityFr
2 | Left = 0
3 | Top = 0
4 | ClientHeight = 340
5 | ClientWidth = 428
6 | Color = clBtnFace
7 | Font.Charset = DEFAULT_CHARSET
8 | Font.Color = clWindowText
9 | Font.Height = -11
10 | Font.Name = 'Tahoma'
11 | Font.Style = []
12 | OldCreateOrder = True
13 | PixelsPerInch = 96
14 | TextHeight = 13
15 | object cryptGroup: TGroupBox
16 | Left = 8
17 | Top = 194
18 | Width = 321
19 | Height = 82
20 | TabOrder = 6
21 | object histcryptSavePwdChk: TCheckBox
22 | Left = 23
23 | Top = 62
24 | Width = 141
25 | Height = 17
26 | HelpKeyword = 'history-crypt-save-password'
27 | Caption = 'Remember password'
28 | TabOrder = 0
29 | end
30 | object histcryptChangeBtn: TRnQButton
31 | Left = 23
32 | Top = 23
33 | Width = 141
34 | Height = 25
35 | Caption = 'Change password'
36 | TabOrder = 1
37 | OnClick = histcryptChangeBtnClick
38 | end
39 | end
40 | object histcryptEnableChk: TCheckBox
41 | Left = 8
42 | Top = 194
43 | Width = 164
44 | Height = 17
45 | HelpKeyword = 'history-crypt-enabled'
46 | Caption = 'History encryption'
47 | TabOrder = 5
48 | OnClick = histcryptEnableChkClick
49 | end
50 | object dontsavepwdChk: TCheckBox
51 | Left = 8
52 | Top = 31
53 | Width = 321
54 | Height = 17
55 | Hint =
56 | 'If you don'#39't save your password, only who knows the password wil' +
57 | 'l be able to connect.\nPassword is asked only once, so be sure t' +
58 | 'hat you lock or quit R&Q when you'#39're off the screen.'
59 | HelpKeyword = 'dont-save-password'
60 | Caption = 'Dont'#39' save password'
61 | ParentShowHint = False
62 | ShowHint = True
63 | TabOrder = 1
64 | OnClick = dontsavepwdChkClick
65 | end
66 | object writeHistoryChk: TCheckBox
67 | Left = 8
68 | Top = 8
69 | Width = 312
70 | Height = 17
71 | Caption = 'Save history on disk'
72 | TabOrder = 0
73 | end
74 | object DelHistChk: TCheckBox
75 | Left = 8
76 | Top = 171
77 | Width = 312
78 | Height = 17
79 | Caption = 'Delete contacts with history'
80 | Enabled = False
81 | TabOrder = 4
82 | Visible = False
83 | end
84 | object MakeBakChk: TCheckBox
85 | Left = 8
86 | Top = 125
87 | Width = 312
88 | Height = 17
89 | Caption = 'Make backup for files before write'
90 | TabOrder = 2
91 | end
92 | object AddTempVisMsgChk: TCheckBox
93 | Left = 8
94 | Top = 148
95 | Width = 312
96 | Height = 17
97 | Caption = 'Add to temporary visible before send message'
98 | TabOrder = 3
99 | end
100 | object CplPwdChk: TCheckBox
101 | Left = 16
102 | Top = 54
103 | Width = 321
104 | Height = 17
105 | Hint =
106 | 'If you don'#39't save your password, only who knows the password wil' +
107 | 'l be able to connect.\nPassword is asked all time you trying to ' +
108 | 'connect.'
109 | HelpKeyword = 'clear-password-on-disconnect'
110 | Caption = 'Clear password after disconnect'
111 | ParentShowHint = False
112 | ShowHint = True
113 | TabOrder = 7
114 | end
115 | object AskPassOnBossChk: TCheckBox
116 | Left = 8
117 | Top = 77
118 | Width = 321
119 | Height = 17
120 | HelpKeyword = 'ask-password-after-bossmode'
121 | Caption = 'Ask password before exit from Boss-mode'
122 | TabOrder = 8
123 | end
124 | object SetAccPassBtn: TRnQButton
125 | Left = 8
126 | Top = 282
127 | Width = 209
128 | Height = 25
129 | Caption = 'Set password for account'
130 | TabOrder = 9
131 | OnClick = SetAccPassBtnClick
132 | end
133 | object HistCryptBtn: TRnQButton
134 | Left = 8
135 | Top = 313
136 | Width = 209
137 | Height = 25
138 | Caption = 'Set password for history'
139 | TabOrder = 10
140 | OnClick = HistCryptBtnClick
141 | end
142 | end
143 |
--------------------------------------------------------------------------------
/RnQ/Prefs/themes_fr.dfm:
--------------------------------------------------------------------------------
1 | object themesFr: TthemesFr
2 | Left = 0
3 | Top = 0
4 | ClientHeight = 376
5 | ClientWidth = 420
6 | Color = clBtnFace
7 | Font.Charset = DEFAULT_CHARSET
8 | Font.Color = clWindowText
9 | Font.Height = -11
10 | Font.Name = 'Tahoma'
11 | Font.Style = []
12 | OldCreateOrder = True
13 | DesignSize = (
14 | 420
15 | 376)
16 | PixelsPerInch = 96
17 | TextHeight = 13
18 | object logoImg: TImage
19 | Left = 16
20 | Top = 171
21 | Width = 374
22 | Height = 198
23 | Anchors = [akLeft, akTop, akRight, akBottom]
24 | Transparent = True
25 | end
26 | object refreshBtn: TRnQSpeedButton
27 | Left = 275
28 | Top = 14
29 | Width = 115
30 | Height = 26
31 | Anchors = [akTop, akRight]
32 | Caption = 'Refresh'
33 | ImageName = 'refresh'
34 | OnClick = refreshBtnClick
35 | end
36 | object themeBox: TComboBox
37 | Left = 16
38 | Top = 17
39 | Width = 247
40 | Height = 21
41 | Style = csDropDownList
42 | Anchors = [akLeft, akTop, akRight]
43 | ItemHeight = 13
44 | TabOrder = 0
45 | OnSelect = themeBoxSelect
46 | end
47 | object descBox: TMemo
48 | Left = 16
49 | Top = 52
50 | Width = 376
51 | Height = 105
52 | Anchors = [akLeft, akTop, akRight]
53 | ReadOnly = True
54 | TabOrder = 1
55 | end
56 | end
57 |
--------------------------------------------------------------------------------
/RnQ/Prefs/themes_fr.pas:
--------------------------------------------------------------------------------
1 | unit themes_fr;
2 |
3 | interface
4 | {$I Compilers.inc}
5 | {$I RnQConfig.inc}
6 | {$I NoRTTI.inc}
7 |
8 | uses
9 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
10 | StdCtrls, ExtCtrls, utilLib, globalLib, RQThemes, RQGlobal, RnQButtons;
11 |
12 | type
13 | TthemesFr = class(TPrefFrame)
14 | themeBox: TComboBox;
15 | descBox: TMemo;
16 | logoImg: TImage;
17 | refreshBtn: TRnQSpeedButton;
18 | procedure refreshBtnClick(Sender: TObject);
19 | procedure themeBoxSelect(Sender: TObject);
20 | public
21 | // function current:Pthemeinfo;
22 | function current:ToThemeinfo;
23 | procedure select(fn:string);
24 | procedure initPage; Override;
25 | procedure applyPage; Override;
26 | procedure resetPage; Override;
27 | procedure updateVisPage; Override;
28 | end;
29 |
30 | implementation
31 | uses
32 | RQUtil;
33 |
34 | {$R *.dfm}
35 |
36 | function TthemesFr.current:ToThemeinfo;
37 | begin
38 | with themeBox do
39 | if (Items.Count = 0) or (itemIndex<0) or (itemIndex > Items.Count) then
40 | result:=NIL
41 | else
42 | result:=ToThemeinfo(Items.Objects[itemIndex])
43 | end;
44 |
45 | procedure TthemesFr.select(fn:string);
46 | var
47 | i:integer;
48 | begin
49 | if Length(themelist2)>0 then
50 | for i:=0 to length(themelist2)-1 do
51 | if themelist2[i].fn=fn then
52 | begin
53 | themeBox.itemindex:=i;
54 | exit;
55 | end;
56 | end;
57 |
58 | procedure TthemesFr.refreshBtnClick(Sender: TObject);
59 | var
60 | i,idx:integer;
61 | old:string;
62 | begin
63 | if current=NIL then
64 | old:=theme.fn
65 | else
66 | old:=current.fn;
67 | refreshThemelist;
68 | themeBox.Clear;
69 | for i:=0 to length(themelist2)-1 do
70 | begin
71 | idx:=themeBox.Items.addObject(themelist2[i].title, themelist2[i]);
72 | if themelist2[i].fn = old then
73 | themeBox.ItemIndex:=idx;
74 | end;
75 | if themeBox.ItemIndex < 0 then
76 | themeBox.ItemIndex:=0;
77 | themeBoxSelect(NIL);
78 | end;
79 |
80 | procedure TthemesFr.themeBoxSelect(Sender: TObject);
81 | begin
82 | if current=NIL then exit;
83 | descBox.Text:=current.desc;
84 | if (current.logo = '') or (not FileExists(myPath+themesPath+current.logo)) then
85 | logoImg.Height:=0
86 | else
87 | begin
88 | loadPic(myPath+themesPath+current.logo, logoImg);
89 | logoImg.Height := logoImg.Picture.Height;
90 | end;
91 | end;
92 |
93 | procedure TthemesFr.applyPage;
94 | begin
95 | if theme.fn<>current.fn then
96 | begin
97 | theme.fn:=current.fn;
98 | reloadCurrentTheme;
99 | end;
100 | end;
101 |
102 | procedure TthemesFr.resetPage;
103 | begin
104 | select(theme.fn);
105 | end;
106 |
107 | procedure TthemesFr.updateVisPage;
108 | begin
109 | end;
110 |
111 | procedure TthemesFr.initPage;
112 | begin
113 | // theme.getPic(PIC_REFRESH, refreshBtn.glyph);
114 | refreshBtnClick(NIL);
115 | end;
116 |
117 |
118 | INITIALIZATION
119 |
120 | AddPrefPage(125, TthemesFr, 'Themes');
121 | end.
122 |
123 |
--------------------------------------------------------------------------------
/RnQ/Prefs/tips_fr.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit tips_fr;
6 | {$I RnQConfig.inc}
7 | {$I NoRTTI.inc}
8 |
9 | interface
10 |
11 | uses
12 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
13 | StdCtrls, ComCtrls, ExtCtrls,
14 | RnQPrefsInt, RnQPrefsTypes,
15 | RnQSpin, RnQButtons;
16 |
17 | type
18 | TTipsFr = class(TPrefFrame)
19 | Label4: TLabel;
20 | Label7: TLabel;
21 | TipsMaxCntSpin: TRnQSpinEdit;
22 | TipsSpaceSpn: TRnQSpinEdit;
23 | TranspTrayGroup: TGroupBox;
24 | Label3: TLabel;
25 | Label5: TLabel;
26 | Label6: TLabel;
27 | traytranspChk: TCheckBox;
28 | transpTray: TTrackBar; //transparency-vtray
29 | PosGrp: TRadioGroup; //'show-tips-align'
30 | IndGrp: TGroupBox;
31 | HorIndSpn: TRnQSpinEdit;
32 | VerIndSpn: TRnQSpinEdit;
33 | Label1: TLabel;
34 | Label2: TLabel;
35 | RnQButton1: TRnQButton;
36 | DisLbl: TLabel;
37 | procedure RnQButton1Click(Sender: TObject);
38 | procedure TipsMaxCntSpinChange(Sender: TObject);
39 | private
40 | { Private declarations }
41 | public
42 | procedure initPage(prefs: IRnQPref); Override; final;
43 | procedure applyPage; Override; final;
44 | procedure resetPage; Override; final;
45 | { Public declarations }
46 | end;
47 |
48 | implementation
49 | uses
50 | RnQTips, RDGlobal, RnQLangs, RDTipDlg,
51 | RnQConst, events, globalLib;
52 | {$R *.dfm}
53 |
54 | procedure TTipsFr.initPage;
55 | begin
56 | Inherited;
57 | TranspTrayGroup.left := GAP_SIZE;
58 | TranspTrayGroup.width := Self.Clientwidth - GAP_SIZE2;
59 |
60 | PosGrp.left := GAP_SIZE;
61 | PosGrp.width := TranspTrayGroup.width div 2 - GAP_SIZE;
62 | IndGrp.Width := TranspTrayGroup.width - PosGrp.width - GAP_SIZE ;
63 | end;
64 |
65 | procedure TTipsFr.applyPage;
66 | begin
67 | transparency.forTray := traytranspChk.checked;
68 | transparency.tray := transpTray.position;
69 |
70 | TRDTipFrm.TipsMaxCnt := TipsMaxCntSpin.AsInteger;
71 | TRDTipFrm.TipsBtwSpace := TipsSpaceSpn.AsInteger;
72 | TRDTipFrm.TipsAlign := TtipsAlign( byte(PosGrp.ItemIndex) );
73 | TRDTipFrm.TipVerIndent := VerIndSpn.AsInteger;
74 | TRDTipFrm.TipHorIndent := HorIndSpn.AsInteger;
75 | end;
76 |
77 | procedure TTipsFr.resetPage;
78 | begin
79 | traytranspChk.checked := transparency.forTray;
80 | transpTray.position := transparency.tray;
81 |
82 | TipsMaxCntSpin.AsInteger := TRDTipFrm.TipsMaxCnt;
83 | TipsSpaceSpn.AsInteger := TRDTipFrm.TipsBtwSpace;
84 |
85 | VerIndSpn.AsInteger := TRDTipFrm.TipVerIndent;
86 | HorIndSpn.AsInteger := TRDTipFrm.TipHorIndent;
87 |
88 | PosGrp.ItemIndex := byte( TRDTipFrm.TipsAlign );
89 | end;
90 |
91 |
92 | procedure TTipsFr.RnQButton1Click(Sender: TObject);
93 | //const
94 | // str = AnsiString('http://hh.ru/applicant/vacancySearch.do?keyword1=Oracle&allFields=true&areaId=1'+
95 | // '&professionalAreaId=1&specializationId=50&specializationId=113&specializationId=221&'+
96 | // 'isFromAgency=10&isWithoutSalary=10&compensationCurrencyId=1&desireableCompensation=70000&'+
97 | // 'searchPeriod=30&orderBy=2&itemsOnPage=20&page=5&actionSearch=actionSearch&showRss=1');
98 | var
99 | e: Thevent;
100 | i: Integer;
101 | s: AnsiString;
102 | begin
103 | i := EK_msg;
104 | s := '';
105 | if i = EK_AUTOMSG then
106 | s := AnsiChar(#00);
107 | // e := Thevent.new(i, icq.myInfo, now, s+'Testing', 0);
108 | e := Thevent.new(i, Account.AccProto.getMyInfo, now, s
109 | , getTranslation('Testing')
110 | +CRLF + 'Second row ------- :)', 0);
111 | // TipAdd(e);
112 | TipAdd3(e);
113 | // tipfrm.show(e);
114 | e.Free;
115 | end;
116 |
117 | procedure TTipsFr.TipsMaxCntSpinChange(Sender: TObject);
118 | begin
119 | DisLbl.Visible := TipsMaxCntSpin.Value = 0;
120 | end;
121 |
122 | end.
123 |
--------------------------------------------------------------------------------
/RnQ/Prefs/update_fr.dfm:
--------------------------------------------------------------------------------
1 | object updateFr: TupdateFr
2 | Left = 0
3 | Top = 0
4 | ClientHeight = 376
5 | ClientWidth = 420
6 | Color = clBtnFace
7 | Font.Charset = DEFAULT_CHARSET
8 | Font.Color = clWindowText
9 | Font.Height = -11
10 | Font.Name = 'Tahoma'
11 | Font.Style = []
12 | OldCreateOrder = True
13 | DesignSize = (
14 | 420
15 | 376)
16 | PixelsPerInch = 96
17 | TextHeight = 13
18 | object updateGrp: TGroupBox
19 | Left = 6
20 | Top = 10
21 | Width = 378
22 | Height = 97
23 | Anchors = [akLeft, akTop, akRight]
24 | Caption = 'updateGrp'
25 | TabOrder = 1
26 | object Label1: TLabel
27 | Left = 182
28 | Top = 26
29 | Width = 27
30 | Height = 13
31 | Caption = 'hours'
32 | end
33 | object Label2: TLabel
34 | Left = 59
35 | Top = 27
36 | Width = 60
37 | Height = 13
38 | Alignment = taRightJustify
39 | Caption = 'Check every'
40 | end
41 | object checkSpin: TRnQSpinEdit
42 | Left = 124
43 | Top = 23
44 | Width = 53
45 | Height = 22
46 | HelpKeyword = 'auto-check-every'
47 | Decimal = 0
48 | MaxLength = 4
49 | MaxValue = 9999.000000000000000000
50 | MinValue = 1.000000000000000000
51 | TabOrder = 0
52 | Value = 1.000000000000000000
53 | AsInteger = 1
54 | end
55 | object LoginUpdChk: TCheckBox
56 | Left = 14
57 | Top = 51
58 | Width = 307
59 | Height = 17
60 | Caption = 'Check every login'
61 | Checked = True
62 | Enabled = False
63 | State = cbChecked
64 | TabOrder = 1
65 | Visible = False
66 | end
67 | end
68 | object updateChk: TCheckBox
69 | Left = 6
70 | Top = 6
71 | Width = 169
72 | Height = 17
73 | HelpKeyword = 'auto-check-update'
74 | Caption = 'Auto-check for new versions'
75 | TabOrder = 0
76 | OnClick = updateChkClick
77 | end
78 | object betaChk: TCheckBox
79 | Left = 6
80 | Top = 113
81 | Width = 355
82 | Height = 17
83 | HelpKeyword = 'check-betas'
84 | Caption = 'Check updates for beta-testers'
85 | TabOrder = 2
86 | end
87 | end
88 |
--------------------------------------------------------------------------------
/RnQ/Prefs/update_fr.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit update_fr;
6 | {$I RnQConfig.inc}
7 | {$I NoRTTI.inc}
8 |
9 | interface
10 |
11 | uses
12 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
13 | StdCtrls, RnQSpin,
14 | RnQPrefsInt, RnQPrefsTypes,
15 | RDGlobal;
16 |
17 | type
18 | TupdateFr = class(TPrefFrame)
19 | updateChk: TCheckBox;
20 | updateGrp: TGroupBox;
21 | checkSpin: TRnQSpinEdit;
22 | Label1: TLabel;
23 | Label2: TLabel;
24 | betaChk: TCheckBox;
25 | LoginUpdChk: TCheckBox;
26 | procedure updateChkClick(Sender: TObject);
27 | private
28 | { Private declarations }
29 | public
30 | procedure applyPage; Override;
31 | procedure resetPage; Override;
32 | procedure updateVisPage; Override;
33 | { Public declarations }
34 | end;
35 |
36 | implementation
37 |
38 | uses
39 | RnQConst, globalLib;
40 |
41 | {$R *.dfm}
42 |
43 | procedure TupdateFr.updateChkClick(Sender: TObject);
44 | begin
45 | updateVisPage
46 | end;
47 |
48 | procedure TupdateFr.applyPage;
49 | begin
50 | checkupdate.enabled := updateChk.checked;
51 | checkupdate.betas := betaChk.checked;
52 | checkupdate.every := round(checkSpin.value);
53 | end;
54 |
55 | procedure TupdateFr.resetPage;
56 | begin
57 | updateGrp.width:= ClientWidth - GAP_SIZE2;
58 |
59 | betaChk.checked := checkupdate.betas;
60 | updateChk.checked := checkupdate.enabled or PREVIEWversion;
61 | checkSpin.value := checkupdate.every;
62 | end;
63 |
64 | procedure TupdateFr.updateVisPage;
65 | begin
66 | updateGrp.visible := updateChk.checked;
67 | LoginUpdChk.Visible := PREVIEWversion;
68 | updateChk.Enabled := not PREVIEWversion;
69 | end;
70 |
71 | end.
72 |
--------------------------------------------------------------------------------
/RnQ/Protocols_all.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/Protocols_all.pas
--------------------------------------------------------------------------------
/RnQ/Res/MAINICON_Lite.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/Res/MAINICON_Lite.ico
--------------------------------------------------------------------------------
/RnQ/Res/RnQLite.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/Res/RnQLite.res
--------------------------------------------------------------------------------
/RnQ/Res/RnQ_Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/Res/RnQ_Icon.ico
--------------------------------------------------------------------------------
/RnQ/Res/RnQ_Icon1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/Res/RnQ_Icon1.ico
--------------------------------------------------------------------------------
/RnQ/Res/RnQ_Icon2.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/Res/RnQ_Icon2.ico
--------------------------------------------------------------------------------
/RnQ/Res/WinXP2.rc:
--------------------------------------------------------------------------------
1 | 1 24 "rnq.manifest1"
2 | //101 ICON "RnQ.ico"
3 | //MAIN_ICON ICON "MAINICON_Lite.ico"
4 |
--------------------------------------------------------------------------------
/RnQ/Res/rnq.manifest.hidpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | RnQ IM
9 |
10 |
11 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
30 | True/PM
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/RnQ/Res/rnq.manifest1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | RnQ IM
9 |
10 |
11 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
30 | True/PM
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/RnQ/Res/rnq.manifest1_:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | RnQ IM
9 |
10 |
11 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/RnQ/RnQBuiltTime.inc:
--------------------------------------------------------------------------------
1 | { 3/27/2024 00:02:57 }
2 | BuiltTime = 45378.0020523148;
--------------------------------------------------------------------------------
/RnQ/RnQConfig.inc:
--------------------------------------------------------------------------------
1 |
2 | {$I ForRnQConfig.inc}
3 |
4 | {$DEFINE RNQ}
5 | {$DEFINE RNQ_FULL}
6 | { $DEFINE RNQ_FULL2} // For History Recoding
7 |
8 | // defined in ForRnQConfig.inc { $DEFINE CHAT_CEF} // Chromium
9 |
10 | {$IFNDEF CHAT_SCI}
11 | {$IFNDEF CHAT_CEF}
12 | {$DEFINE CHAT_USE_LSB}
13 | {$ENDIF ~CHAT_CEF}
14 | {$ENDIF ~CHAT_SCI}
15 |
16 | {$DEFINE CHAT_SPELL_CHECK}
17 |
18 | { $DEFINE USE_REGUIN}
19 | { $DEFINE USE_SECUREIM}
20 |
21 | { $DEFINE USE_SMILE_MENU} // allow use menu but not only panel
22 |
23 | { $DEFINE ICQ_ONLY} // Use only ICQ!
24 |
25 | {$IFDEF ICQ_ONLY}
26 | {$DEFINE PROTOCOL_ICQ} // OSCAR protocol
27 | {$UNDEF UID_IS_UNICODE}
28 | {$ELSE ~ICQ_ONLY}
29 | {$DEFINE UID_IS_UNICODE}
30 | { $DEFINE PROTOCOL_ICQ} // OSCAR protocol
31 | { $DEFINE PROTOCOL_MRA} // Mail.ru Agent protocol
32 | { $DEFINE PROTOCOL_XMP} // XMPP
33 | { $DEFINE PROTOCOL_BIM} // Obimp protocol
34 | {$DEFINE PROTOCOL_WIM} // ICQ Rest protocol
35 | { $DEFINE PROTOCOL_TLG} // Telegram protocol
36 | {$ENDIF ~ICQ_ONLY}
37 |
38 |
39 | ////////////// For ICQ ------->
40 | {$IFDEF PROTOCOL_ICQ}
41 | { $DEFINE usesRSA}
42 | {$DEFINE usesECC}
43 | { $DEFINE UseNotSSI}
44 | {$DEFINE ICQ_OLD_STATUS}
45 | {$DEFINE usesDC} // Enable File-transfer
46 | {$DEFINE CHECK_INVIS}
47 | {$ENDIF PROTOCOL_ICQ}
48 | ////////////////// <-------
49 |
50 | {$DEFINE RNQ_AVATARS}
51 | { $DEFINE FLASH_AVATARS}
52 | { $DEFINE AVATARS_DEBUG} // Show packets of avatar session
53 |
54 |
55 | { $DEFINE RNQ_FULL2}
56 |
57 | // { $DEFINE EUREKALOG}
58 | // { $DEFINE EUREKALOG_VER5}
59 |
60 |
--------------------------------------------------------------------------------
/RnQ/RnQConst.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/RnQConst.pas
--------------------------------------------------------------------------------
/RnQ/RnQProtoUtils.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit RnQProtoUtils;
6 | {$I RnQConfig.inc}
7 | {$I NoRTTI.inc}
8 |
9 | interface
10 | uses
11 | RDGlobal, RnQPics;
12 |
13 | type
14 | TwhatLog = (WL_connected, WL_disconnected,
15 | WL_serverGot, WL_serverSent,
16 | WL_heSent, WL_meSent, WL_connecting,
17 | WL_sent_text, WL_rcvd_text,
18 | WL_sent_text8, WL_rcvd_text8, // Data in UTF8
19 | WL_sent_json8, WL_rcvd_json8, // JSON in UTF8
20 | WL_sent_xml8, WL_rcvd_xml8 // XML in UTF8
21 | );
22 |
23 | const
24 | LogWhatNames: array [TwhatLog] of string=('CONNECTED', 'DISCONNECTED',
25 | 'CLIENT', 'SERVER', 'DC RCVD', 'DC SENT',
26 | 'CONNECTING', 'CLIENT', 'SERVER',
27 | 'CLIENT', 'SERVER',
28 | 'CLIENT', 'SERVER',
29 | 'CLIENT', 'SERVER'
30 | );
31 | LogPics: array[TwhatLog] of TPicName = (PIC_CONNECTING, PIC_OFFGOING,
32 | PIC_LEFT, PIC_RIGHT,
33 | PIC_RIGHT, PIC_LEFT, PIC_CONNECTING,
34 | PIC_LEFT, PIC_RIGHT,
35 | PIC_LEFT, PIC_RIGHT,
36 | PIC_LEFT, PIC_RIGHT,
37 | PIC_LEFT, PIC_RIGHT
38 | );
39 |
40 |
41 | procedure logProtoPkt(what: TwhatLog; const head: String; const data: RawByteString=''; async: Boolean = false);
42 | procedure FlushLogPktFile;
43 |
44 |
45 | implementation
46 | uses
47 | RQLog, RnQGlobal, RDUtils, RDFileUtil, RnQFileUtil,
48 | rnqConst, globalLib;
49 |
50 | var
51 | logPktFileData: RawByteString;
52 |
53 |
54 | procedure logProtoPkt(what: TwhatLog; const head: String; const data: RawByteString=''; async: Boolean = false);
55 | var
56 | sA: RawByteString;
57 | sU: String;
58 | needHash: Boolean;
59 | pt: TPktType;
60 | begin
61 | needHash := not (what in [WL_sent_text, WL_rcvd_text,
62 | WL_sent_text8, WL_rcvd_text8,
63 | WL_sent_json8, WL_rcvd_json8,
64 | WL_sent_xml8, WL_rcvd_xml8
65 | ]);
66 | if needHash then
67 | begin
68 | sA := data;
69 | sU := '';
70 | pt := ptBin;
71 | end
72 | else
73 | begin
74 | // sA := '';
75 | if what in [WL_sent_text8, WL_rcvd_text8] then
76 | begin
77 | // sU := UTF8Decode(data);
78 | sA := data;
79 | pt := ptUTF8;
80 | end
81 | else
82 | if what in [WL_sent_json8, WL_rcvd_json8] then
83 | begin
84 | sA := data;
85 | pt := ptJSON;
86 | end
87 | else
88 | if what in [WL_sent_xml8, WL_rcvd_xml8] then
89 | begin
90 | sA := data;
91 | pt := ptXML;
92 | end
93 | else
94 | begin
95 | // sU := String(data);
96 | sA := data;
97 | pt := ptString;
98 | end;
99 | end;
100 |
101 | if (logpref.pkts.onwindow) then
102 | if async then
103 | logEvPktASync(head, sU, sA, LogPics[what], pt)
104 | else
105 | logEvPkt(head, sU, sA, LogPics[what], pt);
106 |
107 | if logpref.pkts.onfile then
108 | begin
109 | if needHash then
110 | sA := hexDump(data)
111 | else
112 | sA := data;
113 | logPktFileData := logPktFileData + AnsiString(head)+CRLF+ sA +CRLF;
114 | end;
115 | end;
116 |
117 | procedure FlushLogPktFile;
118 | begin
119 | if Length(logPktFileData) > 0 then
120 | if
121 | appendFile(logPath+packetslogFilename, logPktFileData)
122 | or (Length(logPktFileData) > MByte) then
123 | logPktFileData := '';
124 | end;
125 |
126 |
127 |
128 | end.
129 |
--------------------------------------------------------------------------------
/RnQ/RnQTips.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/RnQTips.pas
--------------------------------------------------------------------------------
/RnQ/RnQx64.dpr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/RnQx64.dpr
--------------------------------------------------------------------------------
/RnQ/RnQx64.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/RnQx64.res
--------------------------------------------------------------------------------
/RnQ/SpellCheck.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/SpellCheck.pas
--------------------------------------------------------------------------------
/RnQ/StatusForm.dfm:
--------------------------------------------------------------------------------
1 | object xStatusForm: TxStatusForm
2 | Left = 183
3 | Top = 307
4 | BorderStyle = bsSizeToolWin
5 | Caption = 'Choose the xStatus...'
6 | ClientHeight = 267
7 | ClientWidth = 255
8 | Color = clBtnFace
9 | Font.Charset = DEFAULT_CHARSET
10 | Font.Color = clWindowText
11 | Font.Height = -11
12 | Font.Name = 'Tahoma'
13 | Font.Style = []
14 | FormStyle = fsStayOnTop
15 | KeyPreview = True
16 | OldCreateOrder = False
17 | Position = poDesigned
18 | OnClose = FormClose
19 | OnDestroy = FormDestroy
20 | OnKeyDown = FormKeyDown
21 | OnShow = FormShow
22 | DesignSize = (
23 | 255
24 | 267)
25 | PixelsPerInch = 96
26 | TextHeight = 13
27 | object Bevel1: TBevel
28 | Left = 8
29 | Top = 36
30 | Width = 240
31 | Height = 120
32 | Anchors = [akLeft, akTop, akRight]
33 | Shape = bsFrame
34 | Style = bsRaised
35 | end
36 | object xStatusName: TEdit
37 | Left = 8
38 | Top = 8
39 | Width = 146
40 | Height = 21
41 | Anchors = [akLeft, akTop, akRight]
42 | TabOrder = 0
43 | end
44 | object XStatusStrMemo: TMemo
45 | Left = 8
46 | Top = 159
47 | Width = 239
48 | Height = 64
49 | Anchors = [akLeft, akTop, akRight, akBottom]
50 | MaxLength = 255
51 | TabOrder = 2
52 | OnChange = XStatusStrMemoChange
53 | ExplicitHeight = 114
54 | end
55 | object xSetButton: TRnQButton
56 | Left = 169
57 | Top = 5
58 | Width = 79
59 | Height = 25
60 | Anchors = [akTop, akRight]
61 | Caption = 'SET'
62 | Default = True
63 | TabOrder = 1
64 | OnClick = xSetButtonClick
65 | end
66 | object SBar: TStatusBar
67 | Left = 0
68 | Top = 248
69 | Width = 255
70 | Height = 19
71 | Panels = <
72 | item
73 | Width = 100
74 | end
75 | item
76 | Width = 50
77 | end>
78 | ExplicitTop = 298
79 | end
80 | object OldxStChk: TCheckBox
81 | AlignWithMargins = True
82 | Left = 3
83 | Top = 228
84 | Width = 249
85 | Height = 17
86 | Align = alBottom
87 | Caption = 'Use old XStatus'
88 | TabOrder = 4
89 | OnClick = OldxStChkClick
90 | ExplicitTop = 278
91 | end
92 | end
93 |
--------------------------------------------------------------------------------
/RnQ/TLG/Protocol_TLG.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/TLG/Protocol_TLG.pas
--------------------------------------------------------------------------------
/RnQ/TLG/RegUserFrm.dfm:
--------------------------------------------------------------------------------
1 | object RegUserDlg: TRegUserDlg
2 | Left = 0
3 | Top = 0
4 | Caption = 'RegUserDlg'
5 | ClientHeight = 287
6 | ClientWidth = 323
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | DesignSize = (
15 | 323
16 | 287)
17 | PixelsPerInch = 96
18 | TextHeight = 13
19 | object FNameEdit: TLabeledEdit
20 | Left = 96
21 | Top = 166
22 | Width = 219
23 | Height = 21
24 | Anchors = [akLeft, akRight, akBottom]
25 | EditLabel.Width = 50
26 | EditLabel.Height = 13
27 | EditLabel.Caption = 'First name'
28 | LabelPosition = lpLeft
29 | MaxLength = 64
30 | TabOrder = 0
31 | ExplicitTop = 8
32 | ExplicitWidth = 173
33 | end
34 | object LNameEdit: TLabeledEdit
35 | Left = 96
36 | Top = 206
37 | Width = 219
38 | Height = 21
39 | Anchors = [akLeft, akRight, akBottom]
40 | EditLabel.Width = 49
41 | EditLabel.Height = 13
42 | EditLabel.Caption = 'Last name'
43 | LabelPosition = lpLeft
44 | MaxLength = 64
45 | TabOrder = 1
46 | ExplicitTop = 48
47 | ExplicitWidth = 173
48 | end
49 | object OkBtn: TRnQButton
50 | Left = 96
51 | Top = 246
52 | Width = 75
53 | Height = 25
54 | Anchors = [akLeft, akBottom]
55 | Caption = 'Ok'
56 | Default = True
57 | ImageName = 'ok'
58 | ModalResult = 1
59 | TabOrder = 2
60 | ExplicitTop = 88
61 | end
62 | object TosMemo: TMemo
63 | Left = 0
64 | Top = 0
65 | Width = 323
66 | Height = 160
67 | Align = alTop
68 | Anchors = [akLeft, akTop, akRight, akBottom]
69 | ReadOnly = True
70 | TabOrder = 3
71 | ExplicitWidth = 403
72 | ExplicitHeight = 197
73 | end
74 | object CncBtn: TRnQButton
75 | Left = 192
76 | Top = 246
77 | Width = 75
78 | Height = 25
79 | Anchors = [akLeft, akBottom]
80 | Cancel = True
81 | Caption = 'Cancel'
82 | ImageName = 'cancel'
83 | ModalResult = 2
84 | TabOrder = 4
85 | end
86 | end
87 |
--------------------------------------------------------------------------------
/RnQ/TLG/RegUserFrm.pas:
--------------------------------------------------------------------------------
1 | unit RegUserFrm;
2 |
3 | interface
4 |
5 | uses
6 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
7 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, RnQButtons;
8 |
9 | type
10 | TRegUserDlg = class(TForm)
11 | FNameEdit: TLabeledEdit;
12 | LNameEdit: TLabeledEdit;
13 | OkBtn: TRnQButton;
14 | TosMemo: TMemo;
15 | CncBtn: TRnQButton;
16 | private
17 | { Private declarations }
18 | public
19 | { Public declarations }
20 | end;
21 |
22 | function acceptTOS(var firstName, lastName: String; const title: string; const tos: String = ''): Boolean; OverLoad;
23 | function acceptTOS(const title: String; const tos: String = ''): Boolean; OverLoad;
24 |
25 | implementation
26 |
27 | {$R *.dfm}
28 |
29 | uses
30 | langLib, globalLib;
31 |
32 | function acceptTOS(var firstName, lastName: String; const title: string; const tos: String = ''): Boolean;
33 | var
34 | frm: TRegUserDlg;
35 | begin
36 | frm := TRegUserDlg.create(Application);
37 | // frm.txtBox.MaxLength := maxLength;
38 | translateWindow(frm);
39 | {$ifdef CPUX64}
40 | SetWindowLongPtr(frm.handle, GWLP_HWNDPARENT, 0);
41 | {$else}
42 | setwindowlong(frm.handle, GWL_HWNDPARENT, 0);
43 | {$endif CPUX64}
44 | // You must not call SetWindowLong with the GWL_HWNDPARENT index to change the parent of a child window.
45 | // Instead, use the SetParent function.
46 | // SetParent(frm.handle, 0);
47 | if title > '' then
48 | // frm.caption:=getTranslation(title)
49 | frm.caption := title;
50 | if tos > '' then
51 | frm.TosMemo.Lines.Text := tos
52 | else
53 | frm.TosMemo.Visible := false;
54 | // else
55 | ;
56 | // frm.txtBox.text := pwd;
57 | // frm.AllowNull := AllowNull;
58 | bringForeground := frm.handle;
59 | // setTopMost(frm, True);
60 | frm.showModal;
61 | frm.BringToFront;
62 | result := frm.ModalResult=mrOk;
63 | if result then
64 | begin
65 | firstName := trim(frm.FNameEdit.text);
66 | lastName := trim(frm.LNameEdit.text);
67 | end;
68 | FreeAndNil(frm);
69 | end; //
70 |
71 | function acceptTOS(const title: String; const tos: String = ''): Boolean;
72 | var
73 | frm: TRegUserDlg;
74 | begin
75 | frm := TRegUserDlg.create(Application);
76 | // frm.txtBox.MaxLength := maxLength;
77 | translateWindow(frm);
78 | {$ifdef CPUX64}
79 | SetWindowLongPtr(frm.handle, GWLP_HWNDPARENT, 0);
80 | {$else}
81 | setwindowlong(frm.handle, GWL_HWNDPARENT, 0);
82 | {$endif CPUX64}
83 | // You must not call SetWindowLong with the GWL_HWNDPARENT index to change the parent of a child window.
84 | // Instead, use the SetParent function.
85 | // SetParent(frm.handle, 0);
86 | if title > '' then
87 | // frm.caption:=getTranslation(title)
88 | frm.caption := title;
89 | if tos > '' then
90 | frm.TosMemo.Lines.Text := tos
91 | else
92 | frm.TosMemo.Visible := false;
93 | // else
94 | ;
95 | frm.FNameEdit.Visible := false;
96 | frm.LNameEdit.Visible := false;
97 | // frm.txtBox.text := pwd;
98 | // frm.AllowNull := AllowNull;
99 | bringForeground := frm.handle;
100 | // setTopMost(frm, True);
101 | frm.showModal;
102 | frm.BringToFront;
103 | result := frm.ModalResult=mrOk;
104 | FreeAndNil(frm);
105 | end; //
106 |
107 | end.
108 |
--------------------------------------------------------------------------------
/RnQ/TLG/TLG.MenuStickers.dfm:
--------------------------------------------------------------------------------
1 | object FStickers: TFStickers
2 | Left = 309
3 | Top = 213
4 | BiDiMode = bdLeftToRight
5 | BorderStyle = bsNone
6 | Caption = 'Stickers'
7 | ClientHeight = 311
8 | ClientWidth = 484
9 | Color = clBtnFace
10 | DoubleBuffered = True
11 | Font.Charset = RUSSIAN_CHARSET
12 | Font.Color = clWindowText
13 | Font.Height = -13
14 | Font.Name = 'Arial'
15 | Font.Style = [fsBold]
16 | FormStyle = fsStayOnTop
17 | KeyPreview = True
18 | OldCreateOrder = False
19 | ParentBiDiMode = False
20 | Position = poDefault
21 | OnCreate = FormCreate
22 | OnHide = FormHide
23 | OnKeyDown = FormKeyDown
24 | OnPaint = FormPaint
25 | OnShow = FormShow
26 | PixelsPerInch = 96
27 | TextHeight = 16
28 | object exts: TPanel
29 | AlignWithMargins = True
30 | Left = 1
31 | Top = 1
32 | Width = 482
33 | Height = 52
34 | Margins.Left = 1
35 | Margins.Top = 1
36 | Margins.Right = 1
37 | Margins.Bottom = 0
38 | Align = alTop
39 | BevelOuter = bvNone
40 | Color = 14935011
41 | Ctl3D = True
42 | DoubleBuffered = True
43 | FullRepaint = False
44 | ParentBackground = False
45 | ParentCtl3D = False
46 | ParentDoubleBuffered = False
47 | TabOrder = 0
48 | object scrollLeft: TRnQSpeedButton
49 | Left = 16
50 | Top = 16
51 | Width = 23
52 | Height = 22
53 | Cursor = crHandPoint
54 | Flat = True
55 | Font.Charset = RUSSIAN_CHARSET
56 | Font.Color = clBtnText
57 | Font.Height = -13
58 | Font.Name = 'Arial'
59 | Font.Style = [fsBold]
60 | Font.Quality = fqAntialiased
61 | ParentFont = False
62 | OnClick = scrollLeftClick
63 | end
64 | object scrollRight: TRnQSpeedButton
65 | Left = 448
66 | Top = 16
67 | Width = 23
68 | Height = 22
69 | Cursor = crHandPoint
70 | Flat = True
71 | Font.Charset = RUSSIAN_CHARSET
72 | Font.Color = clBtnText
73 | Font.Height = -13
74 | Font.Name = 'Arial'
75 | Font.Style = [fsBold]
76 | Font.Quality = fqAntialiased
77 | ParentFont = False
78 | OnClick = scrollRightClick
79 | end
80 | end
81 | object actList: TActionList
82 | Left = 384
83 | Top = 256
84 | object NextExt: TAction
85 | SecondaryShortCuts.Strings = (
86 | 'TAB')
87 | OnExecute = NextExtExecute
88 | end
89 | object PrevExt: TAction
90 | SecondaryShortCuts.Strings = (
91 | 'Shift+TAB')
92 | OnExecute = PrevExtExecute
93 | end
94 | end
95 | object UpdTmr: TTimer
96 | Enabled = False
97 | Interval = 100
98 | OnTimer = UpdTmrTimer
99 | Left = 432
100 | Top = 256
101 | end
102 | end
103 |
--------------------------------------------------------------------------------
/RnQ/TLG/TLGContacts.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/TLG/TLGContacts.pas
--------------------------------------------------------------------------------
/RnQ/TLG/viewTLGinfoDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/TLG/viewTLGinfoDlg.pas
--------------------------------------------------------------------------------
/RnQ/ViewHEventDlg.dfm:
--------------------------------------------------------------------------------
1 | object HEventFrm: THEventFrm
2 | Left = 0
3 | Top = 0
4 | Caption = 'HEventFrm'
5 | ClientHeight = 328
6 | ClientWidth = 550
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | PixelsPerInch = 96
15 | TextHeight = 13
16 | object PageCtl: TPageControl
17 | Left = 0
18 | Top = 0
19 | Width = 550
20 | Height = 328
21 | Align = alClient
22 | DoubleBuffered = True
23 | OwnerDraw = True
24 | ParentDoubleBuffered = False
25 | Style = tsButtons
26 | TabOrder = 0
27 | end
28 | object imgmenu: TPopupMenu
29 | Left = 264
30 | Top = 96
31 | object savePicMnuImg: TMenuItem
32 | Caption = 'Save pic'
33 | OnClick = savePicMnuImgClick
34 | end
35 | end
36 | end
37 |
--------------------------------------------------------------------------------
/RnQ/WIM/Protocol_WIM.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/WIM/Protocol_WIM.pas
--------------------------------------------------------------------------------
/RnQ/WIM/WIM.MenuStickers.dfm:
--------------------------------------------------------------------------------
1 | object FStickers: TFStickers
2 | Left = 309
3 | Top = 213
4 | BiDiMode = bdLeftToRight
5 | BorderStyle = bsNone
6 | Caption = 'Stickers'
7 | ClientHeight = 311
8 | ClientWidth = 484
9 | Color = clBtnFace
10 | DoubleBuffered = True
11 | Font.Charset = RUSSIAN_CHARSET
12 | Font.Color = clWindowText
13 | Font.Height = -13
14 | Font.Name = 'Arial'
15 | Font.Style = [fsBold]
16 | FormStyle = fsStayOnTop
17 | KeyPreview = True
18 | OldCreateOrder = False
19 | ParentBiDiMode = False
20 | Position = poDefault
21 | OnCreate = FormCreate
22 | OnHide = FormHide
23 | OnKeyDown = FormKeyDown
24 | OnPaint = FormPaint
25 | OnShow = FormShow
26 | PixelsPerInch = 96
27 | TextHeight = 16
28 | object exts: TPanel
29 | AlignWithMargins = True
30 | Left = 1
31 | Top = 1
32 | Width = 482
33 | Height = 52
34 | Margins.Left = 1
35 | Margins.Top = 1
36 | Margins.Right = 1
37 | Margins.Bottom = 0
38 | Align = alTop
39 | BevelOuter = bvNone
40 | Color = 14935011
41 | Ctl3D = True
42 | DoubleBuffered = True
43 | FullRepaint = False
44 | ParentBackground = False
45 | ParentCtl3D = False
46 | ParentDoubleBuffered = False
47 | TabOrder = 0
48 | object scrollLeft: TRnQSpeedButton
49 | Left = 16
50 | Top = 16
51 | Width = 23
52 | Height = 22
53 | Cursor = crHandPoint
54 | Flat = True
55 | Font.Charset = RUSSIAN_CHARSET
56 | Font.Color = clBtnText
57 | Font.Height = -13
58 | Font.Name = 'Arial'
59 | Font.Style = [fsBold]
60 | Font.Quality = fqAntialiased
61 | ParentFont = False
62 | OnClick = scrollLeftClick
63 | end
64 | object scrollRight: TRnQSpeedButton
65 | Left = 448
66 | Top = 16
67 | Width = 23
68 | Height = 22
69 | Cursor = crHandPoint
70 | Flat = True
71 | Font.Charset = RUSSIAN_CHARSET
72 | Font.Color = clBtnText
73 | Font.Height = -13
74 | Font.Name = 'Arial'
75 | Font.Style = [fsBold]
76 | Font.Quality = fqAntialiased
77 | ParentFont = False
78 | OnClick = scrollRightClick
79 | end
80 | end
81 | object actList: TActionList
82 | Left = 384
83 | Top = 256
84 | object NextExt: TAction
85 | SecondaryShortCuts.Strings = (
86 | 'TAB')
87 | OnExecute = NextExtExecute
88 | end
89 | object PrevExt: TAction
90 | SecondaryShortCuts.Strings = (
91 | 'Shift+TAB')
92 | OnExecute = PrevExtExecute
93 | end
94 | end
95 | object UpdTmr: TTimer
96 | Enabled = False
97 | Interval = 100
98 | OnTimer = UpdTmrTimer
99 | Left = 432
100 | Top = 256
101 | end
102 | end
103 |
--------------------------------------------------------------------------------
/RnQ/WIM/WIMContacts.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/WIM/WIMContacts.pas
--------------------------------------------------------------------------------
/RnQ/WIM/viewWIMinfoDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/WIM/viewWIMinfoDlg.pas
--------------------------------------------------------------------------------
/RnQ/aboutDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/aboutDlg.pas
--------------------------------------------------------------------------------
/RnQ/addContactDlg.dfm:
--------------------------------------------------------------------------------
1 | object addContactFrm: TaddContactFrm
2 | Left = 277
3 | Top = 192
4 | BorderIcons = [biSystemMenu]
5 | BorderStyle = bsSingle
6 | Caption = 'Add contact'
7 | ClientHeight = 90
8 | ClientWidth = 269
9 | Color = clBtnFace
10 | Font.Charset = DEFAULT_CHARSET
11 | Font.Color = clWindowText
12 | Font.Height = -11
13 | Font.Name = 'MS Sans Serif'
14 | Font.Style = []
15 | OldCreateOrder = True
16 | Position = poDefault
17 | OnClose = FormClose
18 | OnCreate = FormCreate
19 | OnDestroy = FormDestroy
20 | OnPaint = FormPaint
21 | OnShow = FormShow
22 | PixelsPerInch = 96
23 | TextHeight = 13
24 | object Label1: TLabel
25 | Left = 8
26 | Top = 39
27 | Width = 181
28 | Height = 13
29 | Caption = 'Type the UIN number you want to add'
30 | Transparent = True
31 | end
32 | object uinBox: TLabeledEdit
33 | Left = 45
34 | Top = 62
35 | Width = 113
36 | Height = 21
37 | EditLabel.Width = 19
38 | EditLabel.Height = 13
39 | EditLabel.Caption = 'UIN'
40 | EditLabel.Transparent = True
41 | LabelPosition = lpLeft
42 | TabOrder = 0
43 | OnChange = uinBoxChange
44 | OnKeyPress = uinboxKeyPress
45 | end
46 | object addBtn: TRnQButton
47 | Left = 164
48 | Top = 60
49 | Width = 94
50 | Height = 25
51 | Caption = 'Add'
52 | Default = True
53 | ImageName = 'add.contact'
54 | TabOrder = 1
55 | OnClick = addBtnClick
56 | end
57 | object LocalChk: TCheckBox
58 | Left = 8
59 | Top = 8
60 | Width = 241
61 | Height = 17
62 | Caption = 'Locally'
63 | Checked = True
64 | State = cbChecked
65 | TabOrder = 2
66 | end
67 | end
68 |
--------------------------------------------------------------------------------
/RnQ/authreqDlg.dfm:
--------------------------------------------------------------------------------
1 | object authreqFrm: TauthreqFrm
2 | Left = 162
3 | Top = 156
4 | BorderIcons = [biSystemMenu, biMinimize]
5 | BorderStyle = bsSingle
6 | Caption = 'authorization request'
7 | ClientHeight = 195
8 | ClientWidth = 434
9 | Color = clBtnFace
10 | Constraints.MinHeight = 221
11 | Constraints.MinWidth = 440
12 | Font.Charset = DEFAULT_CHARSET
13 | Font.Color = clWindowText
14 | Font.Height = -11
15 | Font.Name = 'MS Sans Serif'
16 | Font.Style = []
17 | OldCreateOrder = True
18 | OnClose = FormClose
19 | OnPaint = FormPaint
20 | OnShow = FormShow
21 | DesignSize = (
22 | 434
23 | 195)
24 | PixelsPerInch = 96
25 | TextHeight = 13
26 | object Label1: TLabel
27 | Left = 5
28 | Top = 0
29 | Width = 421
30 | Height = 33
31 | AutoSize = False
32 | Caption = 'auth desc'
33 | Font.Charset = RUSSIAN_CHARSET
34 | Font.Color = clWindowText
35 | Font.Height = -15
36 | Font.Name = 'Times New Roman'
37 | Font.Style = [fsBold]
38 | ParentFont = False
39 | Transparent = True
40 | WordWrap = True
41 | end
42 | object Label2: TLabel
43 | Left = 25
44 | Top = 175
45 | Width = 133
46 | Height = 13
47 | Anchors = [akLeft, akBottom]
48 | Caption = 'Close this window after reply'
49 | FocusControl = closeChk
50 | Transparent = True
51 | OnClick = Label2Click
52 | ExplicitTop = 186
53 | end
54 | object msgBox: TMemo
55 | Left = 5
56 | Top = 33
57 | Width = 280
58 | Height = 97
59 | Anchors = [akLeft, akTop, akRight, akBottom]
60 | ScrollBars = ssVertical
61 | TabOrder = 0
62 | end
63 | object closeChk: TCheckBox
64 | Left = 8
65 | Top = 174
66 | Width = 16
67 | Height = 17
68 | HelpKeyword = 'close-auth-after-reply'
69 | Anchors = [akLeft, akBottom]
70 | TabOrder = 1
71 | OnClick = closeChkClick
72 | end
73 | object AuthBtn: TRnQButton
74 | Left = 291
75 | Top = 35
76 | Width = 136
77 | Height = 26
78 | Anchors = [akTop, akRight]
79 | Caption = '&Authorize'
80 | ImageName = 'auth.grant'
81 | TabOrder = 2
82 | OnClick = authBtnClick
83 | end
84 | object noBtn: TRnQButton
85 | Left = 291
86 | Top = 67
87 | Width = 136
88 | Height = 25
89 | Anchors = [akTop, akRight]
90 | Caption = 'No'
91 | ImageName = 'cancel'
92 | TabOrder = 3
93 | OnClick = noBtnClick
94 | end
95 | object reasonBtn: TRnQButton
96 | Left = 291
97 | Top = 98
98 | Width = 136
99 | Height = 25
100 | Anchors = [akTop, akRight]
101 | Caption = 'No with &Reason'
102 | ImageName = ''
103 | TabOrder = 4
104 | OnClick = reasonBtnClick
105 | end
106 | object viewinfoBtn: TRnQButton
107 | Left = 291
108 | Top = 136
109 | Width = 135
110 | Height = 33
111 | Anchors = [akLeft, akBottom]
112 | Caption = 'View info'
113 | ImageName = 'info'
114 | TabOrder = 5
115 | OnClick = viewinfoBtnClick
116 | end
117 | object sendBtn: TRnQButton
118 | Left = 139
119 | Top = 136
120 | Width = 146
121 | Height = 33
122 | Anchors = [akLeft, akBottom]
123 | Caption = 'Send message'
124 | ImageName = 'msg'
125 | TabOrder = 6
126 | OnClick = sendBtnClick
127 | end
128 | object addBtn: TRnQButton
129 | Left = 5
130 | Top = 136
131 | Width = 128
132 | Height = 33
133 | Anchors = [akLeft, akBottom]
134 | Caption = 'Add to contact list'
135 | ImageName = 'add.contact'
136 | TabOrder = 7
137 | OnClick = addBtnClick
138 | end
139 | object addmenu: TPopupMenu
140 | Left = 105
141 | Top = 144
142 | end
143 | end
144 |
--------------------------------------------------------------------------------
/RnQ/changepwddlg.dfm:
--------------------------------------------------------------------------------
1 | object changePwdFrm: TchangePwdFrm
2 | Left = 267
3 | Top = 169
4 | BorderIcons = [biSystemMenu, biMinimize]
5 | BorderStyle = bsSingle
6 | Caption = 'Change password'
7 | ClientHeight = 108
8 | ClientWidth = 297
9 | Color = clBtnFace
10 | Font.Charset = DEFAULT_CHARSET
11 | Font.Color = clWindowText
12 | Font.Height = -11
13 | Font.Name = 'MS Sans Serif'
14 | Font.Style = []
15 | OldCreateOrder = True
16 | OnClose = FormClose
17 | OnPaint = FormPaint
18 | OnShow = FormShow
19 | PixelsPerInch = 96
20 | TextHeight = 13
21 | object Label2: TLabel
22 | Left = 75
23 | Top = 34
24 | Width = 70
25 | Height = 13
26 | Alignment = taRightJustify
27 | Caption = 'New password'
28 | Transparent = True
29 | end
30 | object Label3: TLabel
31 | Left = 19
32 | Top = 57
33 | Width = 126
34 | Height = 13
35 | Alignment = taRightJustify
36 | Caption = 'Re-type the new password'
37 | Transparent = True
38 | end
39 | object Label1: TLabel
40 | Left = 63
41 | Top = 10
42 | Width = 82
43 | Height = 13
44 | Alignment = taRightJustify
45 | Caption = 'Current password'
46 | Transparent = True
47 | end
48 | object newpwd1Box: TEdit
49 | Left = 152
50 | Top = 30
51 | Width = 137
52 | Height = 22
53 | Font.Charset = ANSI_CHARSET
54 | Font.Color = clWindowText
55 | Font.Height = -11
56 | Font.Name = 'Courier New'
57 | Font.Style = []
58 | MaxLength = 16
59 | ParentFont = False
60 | PasswordChar = '*'
61 | TabOrder = 1
62 | end
63 | object newpwd2Box: TEdit
64 | Left = 152
65 | Top = 53
66 | Width = 137
67 | Height = 22
68 | Font.Charset = ANSI_CHARSET
69 | Font.Color = clWindowText
70 | Font.Height = -11
71 | Font.Name = 'Courier New'
72 | Font.Style = []
73 | MaxLength = 16
74 | ParentFont = False
75 | PasswordChar = '*'
76 | TabOrder = 2
77 | end
78 | object oldpwdBox: TEdit
79 | Left = 152
80 | Top = 6
81 | Width = 137
82 | Height = 22
83 | Font.Charset = ANSI_CHARSET
84 | Font.Color = clWindowText
85 | Font.Height = -11
86 | Font.Name = 'Courier New'
87 | Font.Style = []
88 | MaxLength = 16
89 | ParentFont = False
90 | PasswordChar = '*'
91 | TabOrder = 0
92 | end
93 | object saveBtn: TRnQButton
94 | Left = 152
95 | Top = 81
96 | Width = 137
97 | Height = 25
98 | Caption = 'Save new password'
99 | Default = True
100 | ImageName = 'save'
101 | TabOrder = 3
102 | OnClick = saveBtnClick
103 | end
104 | end
105 |
--------------------------------------------------------------------------------
/RnQ/clear.bat:
--------------------------------------------------------------------------------
1 | @FOR /r %%R IN (*.~*) DO @IF EXIST %%R (del /s /q "%%R")
2 | @FOR /r %%R IN (*.identcache) DO @IF EXIST %%R (del /s /q "%%R")
3 | @FOR /r %%R IN (*.ddp) DO @IF EXIST %%R (del /s /q "%%R")
4 | @FOR /r %%R IN (*.ppu) DO @IF EXIST %%R (del /s /q "%%R")
5 | @FOR /r %%R IN (*.bak) DO @IF EXIST %%R (del /s /q "%%R")
6 |
7 | @IF EXIST "*.dcu" del *.dcu
8 | @IF EXIST "*.o" del *.o
9 | @IF EXIST ".\Units\*.dcu" del .\Units\*.dcu
10 | @IF EXIST ".\Units\*.res" del .\Units\*.res
11 | @IF EXIST "Prefs\__history\*" rd /q Prefs\__history\
12 | @IF EXIST "Prefs\*.dcu" del /q Prefs\*.dcu
13 | @IF EXIST "__history\*" rd /q /s __history\
14 | @IF EXIST "ICQ\__history\*" rd /q ICQ\__history\
15 | @IF EXIST "ICQ\*.dcu" del /q ICQ\*.dcu
16 | @IF EXIST "MRA\__history\*" rd /q MRA\__history\
17 | @IF EXIST "xmpp\__history\*" rd /q xmpp\__history\
18 | @IF EXIST "WIM\__history\*" rd /q WIM\__history\
19 | @IF EXIST "WIM\*.dcu" del /q WIM\*.dcu
20 | @IF EXIST "TLG\__history\*" rd /q ICQ\__history\
21 | @IF EXIST "TLG\*.dcu" del /q ICQ\*.dcu
22 | @exit
--------------------------------------------------------------------------------
/RnQ/globalLib.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/globalLib.pas
--------------------------------------------------------------------------------
/RnQ/histUtilsDlg.dfm:
--------------------------------------------------------------------------------
1 | object histUtilsFrm: ThistUtilsFrm
2 | Left = 280
3 | Top = 71
4 | BorderIcons = [biSystemMenu, biMinimize]
5 | BorderStyle = bsSizeToolWin
6 | Caption = 'History utilities'
7 | ClientHeight = 374
8 | ClientWidth = 282
9 | Color = clBtnFace
10 | Constraints.MinHeight = 340
11 | Constraints.MinWidth = 290
12 | Font.Charset = DEFAULT_CHARSET
13 | Font.Color = clWindowText
14 | Font.Height = -11
15 | Font.Name = 'Tahoma'
16 | Font.Style = []
17 | OldCreateOrder = False
18 | OnShow = FormShow
19 | DesignSize = (
20 | 282
21 | 374)
22 | PixelsPerInch = 96
23 | TextHeight = 13
24 | object loadHistBtn: TRnQSpeedButton
25 | Left = 8
26 | Top = 48
27 | Width = 259
28 | Height = 22
29 | Anchors = [akLeft, akTop, akRight]
30 | Caption = 'Add history from another clients'
31 | OnClick = loadHistBtnClick
32 | end
33 | object loadHist1Btn: TRnQSpeedButton
34 | Left = 8
35 | Top = 80
36 | Width = 259
37 | Height = 22
38 | Anchors = [akLeft, akTop, akRight]
39 | Caption = 'Add history from one contact to another'
40 | OnClick = loadHist1BtnClick
41 | end
42 | object Label1: TLabel
43 | Left = 16
44 | Top = 112
45 | Width = 17
46 | Height = 13
47 | Caption = 'Log'
48 | end
49 | object Label2: TLabel
50 | Left = 16
51 | Top = 0
52 | Width = 243
53 | Height = 42
54 | Alignment = taCenter
55 | Anchors = [akLeft, akTop, akRight]
56 | AutoSize = False
57 | Caption =
58 | 'Thanks to Basenko Andrey for this functions!\n e-mail: and-basen' +
59 | 'ko@yandex.ru\nICQ UIN: 74835516'
60 | Font.Charset = DEFAULT_CHARSET
61 | Font.Color = clRed
62 | Font.Height = -11
63 | Font.Name = 'Tahoma'
64 | Font.Style = []
65 | ParentFont = False
66 | Layout = tlCenter
67 | WordWrap = True
68 | end
69 | object Memo1: TMemo
70 | Left = 8
71 | Top = 128
72 | Width = 267
73 | Height = 237
74 | Anchors = [akLeft, akTop, akRight, akBottom]
75 | ScrollBars = ssVertical
76 | TabOrder = 0
77 | end
78 | object RepHistBtn: TRnQButton
79 | Left = 80
80 | Top = 104
81 | Width = 147
82 | Height = 25
83 | Caption = 'Repair bad history files'
84 | TabOrder = 1
85 | Visible = False
86 | OnClick = RepHistBtnClick
87 | end
88 | end
89 |
--------------------------------------------------------------------------------
/RnQ/historyVCL.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/historyVCL.pas
--------------------------------------------------------------------------------
/RnQ/iniLib.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/iniLib.pas
--------------------------------------------------------------------------------
/RnQ/lockDlg.dfm:
--------------------------------------------------------------------------------
1 | object lockFrm: TlockFrm
2 | Left = 297
3 | Top = 266
4 | BorderIcons = [biMinimize]
5 | BorderStyle = bsSingle
6 | Caption = 'R&Q LOCKED'
7 | ClientHeight = 100
8 | ClientWidth = 414
9 | Color = clBtnFace
10 | Font.Charset = DEFAULT_CHARSET
11 | Font.Color = clWindowText
12 | Font.Height = -11
13 | Font.Name = 'MS Sans Serif'
14 | Font.Style = []
15 | KeyPreview = True
16 | OldCreateOrder = True
17 | Position = poScreenCenter
18 | OnClose = FormClose
19 | OnCloseQuery = FormCloseQuery
20 | OnKeyDown = FormKeyDown
21 | OnPaint = FormPaint
22 | OnShow = FormShow
23 | PixelsPerInch = 96
24 | TextHeight = 13
25 | object Label1: TLabel
26 | Left = 112
27 | Top = 14
28 | Width = 197
29 | Height = 54
30 | Caption =
31 | 'This R&&Q has been locked. To unlock you need to type in your pa' +
32 | 'ssword.'
33 | Font.Charset = DEFAULT_CHARSET
34 | Font.Color = clWindowText
35 | Font.Height = -15
36 | Font.Name = 'Arial'
37 | Font.Style = [fsBold]
38 | ParentFont = False
39 | Transparent = True
40 | WordWrap = True
41 | end
42 | object PaintBox1: TPaintBox
43 | Left = 8
44 | Top = 8
45 | Width = 98
46 | Height = 84
47 | end
48 | object pwdBox: TEdit
49 | Left = 112
50 | Top = 64
51 | Width = 129
52 | Height = 24
53 | PasswordChar = '*'
54 | TabOrder = 0
55 | end
56 | object OkBtn: TRnQButton
57 | Left = 250
58 | Top = 62
59 | Width = 75
60 | Height = 25
61 | Caption = 'Ok'
62 | Default = True
63 | ImageName = 'ok'
64 | TabOrder = 1
65 | OnClick = OkBtnClick
66 | end
67 | object QuitBtn: TRnQButton
68 | Left = 331
69 | Top = 62
70 | Width = 75
71 | Height = 25
72 | Caption = 'Quit'
73 | ImageName = 'quit'
74 | TabOrder = 2
75 | OnClick = QuitBtnClick
76 | end
77 | end
78 |
--------------------------------------------------------------------------------
/RnQ/lockDlg.pas:
--------------------------------------------------------------------------------
1 | {
2 | Copyright (C) 2002-2004 Massimo Melina (www.rejetto.com)
3 |
4 | This file is part of &RQ.
5 |
6 | &RQ is free software; you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation; either version 2 of the License, or
9 | (at your option) any later version.
10 |
11 | &RQ is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with &RQ; if not, write to the Free Software
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | }
20 | unit lockDlg;
21 | {$I RnQConfig.inc}
22 | {$I NoRTTI.inc}
23 |
24 | interface
25 |
26 | uses
27 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
28 | StdCtrls, ExtCtrls,
29 | RnQButtons, RnQDialogs;
30 |
31 | type
32 | TlockFrm = class(TForm)
33 | Label1: TLabel;
34 | pwdBox: TEdit;
35 | OkBtn: TRnQButton;
36 | QuitBtn: TRnQButton;
37 | PaintBox1: TPaintBox;
38 | procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
39 | procedure FormShow(Sender: TObject);
40 | procedure OkBtnClick(Sender: TObject);
41 | procedure QuitBtnClick(Sender: TObject);
42 | procedure FormPaint(Sender: TObject);
43 | procedure FormClose(Sender: TObject; var Action: TCloseAction);
44 | procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
45 | private
46 | { Private declarations }
47 | // public procedure destroyHandle;
48 | end;
49 |
50 | var
51 | lockFrm: TlockFrm;
52 |
53 | implementation
54 |
55 | {$R *.DFM}
56 |
57 | uses
58 | {$IFDEF UNICODE}
59 | AnsiStrings,
60 | {$ENDIF UNICODE}
61 | RDGlobal,
62 | globalLib, UtilLib, RnQLangs, RQUtil, RDSysUtils, RnQCrypt,
63 | iniLib,
64 | mainDlg, chatDlg;
65 |
66 | procedure TlockFrm.FormShow(Sender: TObject);
67 | begin
68 | pwdBox.onKeyDown := RnQmain.pwdBoxKeyDown;
69 | applyTaskButton(self);
70 | if formVisible(RnQmain) then
71 | RnQmain.toggleVisible;
72 | chatFrm.close;
73 | locked := TRUE;
74 | if not startingLock then
75 | // saveCFG; // eventually delete password from file
76 | saveCfgDelayed := True;
77 | //tipFrm.hide();
78 | bringForeground := handle;
79 | pwdBox.Text := '';
80 | pwdBox.SetFocus();
81 | end;
82 |
83 | procedure TlockFrm.OkBtnClick(Sender: TObject);
84 | var
85 | // sA: AnsiString;
86 | rr: Boolean;
87 | begin
88 | if AccPass > '' then
89 | rr := compareText(AccPass, pwdBox.text) = 0
90 | else
91 | rr := Account.AccProto.pwdEqual(pwdBox.text);
92 |
93 | if rr then
94 | begin
95 | locked := FALSE;
96 | if not startingLock then
97 | // saveCFG;
98 | saveCfgDelayed := True;
99 | close
100 | end
101 | else
102 | msgDlg('The password you entered is incorrect', True, mtError);
103 | end;
104 |
105 | procedure TlockFrm.QuitBtnClick(Sender: TObject);
106 | begin
107 | ModalResult := mrAbort;
108 | RnQmain.close;
109 | end;
110 |
111 | procedure TlockFrm.FormPaint(Sender: TObject);
112 | begin
113 | wallpaperize(canvas)
114 | end;
115 |
116 | procedure TlockFrm.FormClose(Sender: TObject; var Action: TCloseAction);
117 | begin
118 | ModalResult := mrOk;
119 | Action := caFree;
120 | destroyHandle;
121 | lockFrm := nil;
122 | end;
123 |
124 | procedure TlockFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
125 | begin
126 | if locked then
127 | CanClose := False
128 | else
129 | CanClose := True;
130 | end;
131 |
132 | //procedure TlockFrm.destroyHandle; begin inherited end;
133 |
134 | procedure TlockFrm.FormKeyDown(Sender: TObject; var Key: Word;
135 | Shift: TShiftState);
136 | begin
137 | if Key = VK_RETURN then
138 | OkBtnClick(nil);
139 | end;
140 |
141 | end.
142 |
--------------------------------------------------------------------------------
/RnQ/mainDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/mainDlg.pas
--------------------------------------------------------------------------------
/RnQ/pluginLib.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/pluginLib.pas
--------------------------------------------------------------------------------
/RnQ/prefDlg.dfm:
--------------------------------------------------------------------------------
1 | object prefFrm: TprefFrm
2 | Left = 113
3 | Top = 133
4 | BorderIcons = [biSystemMenu, biMinimize]
5 | BorderStyle = bsDialog
6 | Caption = 'Preferences'
7 | ClientHeight = 422
8 | ClientWidth = 590
9 | Color = clBtnFace
10 | DefaultMonitor = dmMainForm
11 | ParentFont = True
12 | GlassFrame.Enabled = True
13 | GlassFrame.Bottom = 30
14 | KeyPreview = True
15 | Position = poScreenCenter
16 | ShowHint = True
17 | OnClose = FormClose
18 | OnCreate = FormCreate
19 | OnDestroy = FormDestroy
20 | OnKeyDown = FormKeyDown
21 | OnShow = FormShow
22 | DesignSize = (
23 | 590
24 | 422)
25 | TextHeight = 20
26 | object Bevel: TBevel
27 | Left = 6
28 | Top = 262
29 | Width = 539
30 | Height = 4
31 | Anchors = [akLeft, akRight, akBottom]
32 | Shape = bsBottomLine
33 | ExplicitTop = 272
34 | ExplicitWidth = 549
35 | end
36 | object framePnl: TPanel
37 | Left = 198
38 | Top = 8
39 | Width = 348
40 | Height = 249
41 | Align = alCustom
42 | Anchors = [akLeft, akTop, akRight, akBottom]
43 | BevelInner = bvRaised
44 | BevelOuter = bvLowered
45 | Font.Charset = RUSSIAN_CHARSET
46 | Font.Color = clWindowText
47 | Font.Height = -11
48 | Font.Name = 'Tahoma'
49 | Font.Style = []
50 | ParentFont = False
51 | TabOrder = 1
52 | ExplicitWidth = 360
53 | ExplicitHeight = 258
54 | end
55 | object PrefList: TVirtualDrawTree
56 | Left = 8
57 | Top = 8
58 | Width = 184
59 | Height = 258
60 | Colors.UnfocusedSelectionColor = clBtnShadow
61 | Header.AutoSizeIndex = 0
62 | Header.DefaultHeight = 17
63 | Header.Height = 20
64 | Header.MainColumn = -1
65 | Header.Options = [hoColumnResize, hoDrag]
66 | IncrementalSearch = isAll
67 | TabOrder = 0
68 | TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning]
69 | TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toShowTreeLines, toThemeAware, toUseBlendedImages, toUseBlendedSelection]
70 | TreeOptions.SelectionOptions = [toFullRowSelect, toMiddleClickSelect, toRightClickSelect]
71 | OnChange = PrefListChange
72 | OnDrawNode = PrefListDrawNode
73 | OnFreeNode = PrefListFreeNode
74 | OnGetNodeWidth = PrefListGetNodeWidth
75 | Touch.InteractiveGestures = [igPan, igPressAndTap]
76 | Touch.InteractiveGestureOptions = [igoPanSingleFingerHorizontal, igoPanSingleFingerVertical, igoPanInertia, igoPanGutter, igoParentPassthrough]
77 | Columns = <>
78 | end
79 | object resetBtn: TRnQButton
80 | Left = 8
81 | Top = 272
82 | Width = 85
83 | Height = 25
84 | Anchors = [akLeft, akBottom]
85 | Caption = 'Reset'
86 | ImageName = 'refresh'
87 | TabOrder = 2
88 | OnClick = resetBtnClick
89 | ExplicitTop = 281
90 | end
91 | object okBtn: TRnQButton
92 | Left = 274
93 | Top = 272
94 | Width = 83
95 | Height = 25
96 | Anchors = [akLeft, akBottom]
97 | Caption = 'Ok'
98 | Default = True
99 | ImageName = 'ok'
100 | ModalResult = 1
101 | TabOrder = 3
102 | OnClick = okBtnClick
103 | ExplicitTop = 281
104 | end
105 | object closeBtn: TRnQButton
106 | Left = 362
107 | Top = 272
108 | Width = 91
109 | Height = 25
110 | Anchors = [akLeft, akBottom]
111 | Caption = 'Close'
112 | ImageName = 'close'
113 | TabOrder = 4
114 | OnClick = closeBtnClick
115 | ExplicitTop = 281
116 | end
117 | object applyBtn: TRnQButton
118 | Left = 460
119 | Top = 272
120 | Width = 89
121 | Height = 25
122 | Anchors = [akLeft, akBottom]
123 | Caption = 'Apply'
124 | ImageName = 'apply'
125 | TabOrder = 5
126 | OnClick = applyBtnClick
127 | ExplicitTop = 281
128 | end
129 | end
130 |
--------------------------------------------------------------------------------
/RnQ/pwdDlg.dfm:
--------------------------------------------------------------------------------
1 | object msgFrm: TmsgFrm
2 | Left = 161
3 | Top = 99
4 | BorderIcons = [biSystemMenu, biMinimize]
5 | BorderStyle = bsSingle
6 | ClientHeight = 68
7 | ClientWidth = 179
8 | Color = clBtnFace
9 | CustomTitleBar.Height = 6
10 | ParentFont = True
11 | GlassFrame.Enabled = True
12 | GlassFrame.Left = 6
13 | GlassFrame.Top = 6
14 | GlassFrame.Right = 6
15 | GlassFrame.Bottom = 6
16 | GlassFrame.SheetOfGlass = True
17 | OldCreateOrder = True
18 | Position = poScreenCenter
19 | OnClose = FormClose
20 | OnCreate = FormCreate
21 | OnPaint = FormPaint
22 | OnShow = FormShow
23 | DesignSize = (
24 | 179
25 | 68)
26 | PixelsPerInch = 96
27 | TextHeight = 13
28 | object Label1: TLabel
29 | Left = 21
30 | Top = 11
31 | Width = 46
32 | Height = 13
33 | Alignment = taRightJustify
34 | Anchors = [akLeft, akBottom]
35 | Caption = 'Password'
36 | Transparent = True
37 | end
38 | object KBBtn: TRnQSpeedButton
39 | Left = 155
40 | Top = 8
41 | Width = 23
42 | Height = 22
43 | Anchors = [akTop, akRight]
44 | ImageName = 'key'
45 | OnClick = KBBtnClick
46 | end
47 | object txtBox: TEdit
48 | Left = 72
49 | Top = 7
50 | Width = 81
51 | Height = 23
52 | Anchors = [akLeft, akRight, akBottom]
53 | Font.Charset = ANSI_CHARSET
54 | Font.Color = clWindowText
55 | Font.Height = -12
56 | Font.Name = 'Courier New'
57 | Font.Style = []
58 | ParentFont = False
59 | PasswordChar = '*'
60 | TabOrder = 0
61 | OnKeyPress = txtBoxKeyPress
62 | end
63 | object okBtn: TRnQButton
64 | Left = 49
65 | Top = 38
66 | Width = 81
67 | Height = 25
68 | Anchors = [akBottom]
69 | Caption = '&Ok'
70 | Default = True
71 | DoubleBuffered = False
72 | ImageName = 'ok'
73 | ParentDoubleBuffered = False
74 | TabOrder = 1
75 | OnClick = okBtnClick
76 | end
77 | end
78 |
--------------------------------------------------------------------------------
/RnQ/pwdDlg.pas:
--------------------------------------------------------------------------------
1 | {
2 | Copyright (C) 2002-2004 Massimo Melina (www.rejetto.com)
3 |
4 | This file is part of &RQ.
5 |
6 | &RQ is free software; you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation; either version 2 of the License, or
9 | (at your option) any later version.
10 |
11 | &RQ is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with &RQ; if not, write to the Free Software
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | }
20 | unit pwdDlg;
21 | {$I RnQConfig.inc}
22 | {$I NoRTTI.inc}
23 | { $DEFINE USE_TKB}
24 | interface
25 |
26 | uses
27 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
28 | {$IFDEF USE_TKB}
29 | AdvTouchkeyboard,
30 | {$ENDIF USE_TKB}
31 | StdCtrls, RnQButtons;
32 |
33 | type
34 | TmsgFrm = class(TForm)
35 | txtBox: TEdit;
36 | Label1: TLabel;
37 | okBtn: TRnQButton;
38 | KBBtn: TRnQSpeedButton;
39 | procedure txtBoxKeyPress(Sender: TObject; var Key: Char);
40 | procedure okBtnClick(Sender: TObject);
41 | procedure FormPaint(Sender: TObject);
42 | procedure FormClose(Sender: TObject; var Action: TCloseAction);
43 | procedure FormCreate(Sender: TObject);
44 | procedure FormShow(Sender: TObject);
45 | procedure KBBtnClick(Sender: TObject);
46 | public
47 | {$IFDEF USE_TKB}
48 | tkb: TAdvPopupTouchKeyBoard;
49 | {$ENDIF USE_TKB}
50 | result_uin: integer;
51 | exitCode: (EC_enter, EC_cancel);
52 | AllowNull: Boolean;
53 | end;
54 |
55 | implementation
56 |
57 | uses
58 | globalLib, utilLib, mainDlg,
59 | RDSysUtils, RnQPics,
60 | RQUtil, RDGlobal, RQThemes, themesLib, RnQLangs;
61 |
62 | {$R *.DFM}
63 |
64 | procedure TmsgFrm.txtBoxKeyPress(Sender: TObject; var Key: Char);
65 | begin
66 | case key of
67 | #27:
68 | begin
69 | close;
70 | key := #0;
71 | end;
72 | #13:
73 | begin
74 | okBtnClick(self);
75 | key := #0;
76 | end;
77 | end;
78 | end; // keypress
79 |
80 | procedure TmsgFrm.okBtnClick(Sender: TObject);
81 | begin
82 | if (trim(txtBox.text) = '') and not AllowNull then
83 | exit;
84 | tag := 1;
85 | exitCode := EC_enter;
86 | close;
87 | end;
88 |
89 | procedure TmsgFrm.FormPaint(Sender: TObject);
90 | //var
91 | // r: TRect;
92 | begin
93 | // Canvas.
94 | // R := Canvas.ClipRect;
95 | if not GlassFrame.FrameExtended then
96 | wallpaperize(canvas)
97 | end;
98 |
99 | procedure TmsgFrm.FormClose(Sender: TObject; var Action: TCloseAction);
100 | begin
101 | //destroyHandle;
102 | // Action := caHide;
103 | Action := caFree;
104 | {$IFDEF USE_TKB}
105 | FreeAndNil(tkb);
106 | {$ENDIF USE_TKB}
107 | end;
108 |
109 | procedure TmsgFrm.FormCreate(Sender: TObject);
110 | begin
111 | theme.pic2ico(RQteFormIcon, PIC_KEY, icon);
112 | Self.DoubleBuffered := True;
113 | txtBox.DoubleBuffered := True;
114 | // okBtn.DoubleBuffered := True;
115 | {$IFDEF USE_TKB}
116 | tkb := NIL;
117 | {$ELSE USE_TKB}
118 | KBBtn.Visible := False;
119 | {$ENDIF USE_TKB}
120 | AllowNull := false;
121 | exitCode := EC_cancel;
122 | end;
123 |
124 | procedure TmsgFrm.FormShow(Sender: TObject);
125 | begin
126 | // Caption := getTranslation('Password') + ' (' + RnQUser + ')';
127 | txtBox.onKeyDown := RnQmain.pwdBoxKeyDown;
128 | applyTaskButton(self);
129 | // okBtn.DoubleBuffered := True;
130 | // Label1.do
131 | end;
132 |
133 | procedure TmsgFrm.KBBtnClick(Sender: TObject);
134 | begin
135 | {$IFDEF USE_TKB}
136 | if not Assigned(tkb) then
137 | tkb := TAdvPopupTouchKeyBoard.Create(Self);
138 | // tkb.Keyboard.
139 | tkb.Show;
140 | // tkb.
141 | {$ENDIF USE_TKB}
142 | end;
143 |
144 | end.
145 |
--------------------------------------------------------------------------------
/RnQ/readme.opensource.txt:
--------------------------------------------------------------------------------
1 | === ABOUT OPEN SOURCE, by Massimo Melina aka rejetto
2 |
3 | I believe "open source" is the way to get a better technology.
4 | Nowadays I'm releasing most software i make as open source.
5 | This was not true when I started working on &RQ.
6 | At last I decided to publish these sources because it is something
7 | important for most &RQ users, even though most of them don't know it.
8 |
9 | Don't complain with me about the low quality.
10 | I know most code in it sucks, i'm just sorry.
11 | I delayed the release for 2 years because of it.
12 | I don't have time/desire to rewrite it from scratch.
13 | But you are now _free_ to do it yourself, if you wish to.
--------------------------------------------------------------------------------
/RnQ/roasterLib.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/roasterLib.pas
--------------------------------------------------------------------------------
/RnQ/usersDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/usersDlg.pas
--------------------------------------------------------------------------------
/RnQ/utilLib.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/utilLib.pas
--------------------------------------------------------------------------------
/RnQ/xmpp/Protocol_XMP.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/xmpp/Protocol_XMP.pas
--------------------------------------------------------------------------------
/RnQ/xmpp/XMPP_proto.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/xmpp/XMPP_proto.pas
--------------------------------------------------------------------------------
/RnQ/xmpp/XMPPcontacts.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/xmpp/XMPPcontacts.pas
--------------------------------------------------------------------------------
/RnQ/xmpp/XMPPv1.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/xmpp/XMPPv1.pas
--------------------------------------------------------------------------------
/RnQ/xmpp/viewXMPPinfoDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/RnQ/xmpp/viewXMPPinfoDlg.pas
--------------------------------------------------------------------------------
/RnQ/xmpp/xmpp_fr.dfm:
--------------------------------------------------------------------------------
1 | object xmppFr: TxmppFr
2 | Left = 0
3 | Top = 0
4 | ClientHeight = 420
5 | ClientWidth = 512
6 | Color = clBtnFace
7 | Font.Charset = DEFAULT_CHARSET
8 | Font.Color = clWindowText
9 | Font.Height = -11
10 | Font.Name = 'Tahoma'
11 | Font.Style = []
12 | OldCreateOrder = True
13 | PixelsPerInch = 96
14 | TextHeight = 13
15 | object PageControl1: TPageControl
16 | Left = 0
17 | Top = 0
18 | Width = 512
19 | Height = 420
20 | ActivePage = TS1
21 | Align = alClient
22 | TabOrder = 0
23 | object TS1: TTabSheet
24 | Caption = 'XMPP'
25 | ExplicitLeft = 0
26 | ExplicitTop = 0
27 | ExplicitWidth = 0
28 | ExplicitHeight = 0
29 | object LPr: TLabel
30 | Left = 32
31 | Top = 67
32 | Width = 34
33 | Height = 13
34 | Alignment = taRightJustify
35 | Caption = 'Priority'
36 | end
37 | object PrtySpin: TRnQSpinEdit
38 | Left = 72
39 | Top = 64
40 | Width = 121
41 | Height = 22
42 | Decimal = 0
43 | TabOrder = 0
44 | end
45 | object SrvEdit: TLabeledEdit
46 | Left = 72
47 | Top = 32
48 | Width = 121
49 | Height = 21
50 | EditLabel.Width = 51
51 | EditLabel.Height = 13
52 | EditLabel.Caption = 'Server JID'
53 | LabelPosition = lpLeft
54 | TabOrder = 1
55 | end
56 | end
57 | object TSSecurity: TTabSheet
58 | Caption = 'Security'
59 | ImageIndex = 1
60 | ExplicitLeft = 0
61 | ExplicitTop = 0
62 | ExplicitWidth = 0
63 | ExplicitHeight = 0
64 | DesignSize = (
65 | 504
66 | 392)
67 | object Label23: TLabel
68 | Left = 8
69 | Top = 8
70 | Width = 46
71 | Height = 13
72 | Alignment = taRightJustify
73 | Caption = 'Password'
74 | end
75 | object pwdBox: TEdit
76 | Left = 71
77 | Top = 6
78 | Width = 343
79 | Height = 22
80 | Anchors = [akLeft, akTop, akRight]
81 | Font.Charset = ANSI_CHARSET
82 | Font.Color = clWindowText
83 | Font.Height = -11
84 | Font.Name = 'Courier New'
85 | Font.Style = []
86 | ParentFont = False
87 | PasswordChar = '*'
88 | TabOrder = 0
89 | end
90 | object SSLChk: TCheckBox
91 | Left = 329
92 | Top = 35
93 | Width = 53
94 | Height = 17
95 | Caption = 'SSL'
96 | TabOrder = 1
97 | Visible = False
98 | end
99 | object ServerCBox: TComboBox
100 | Left = 49
101 | Top = 58
102 | Width = 257
103 | Height = 21
104 | TabOrder = 2
105 | Visible = False
106 | end
107 | object portBox: TLabeledEdit
108 | Left = 341
109 | Top = 58
110 | Width = 60
111 | Height = 21
112 | Anchors = [akTop, akRight]
113 | EditLabel.Width = 20
114 | EditLabel.Height = 13
115 | EditLabel.Caption = 'Port'
116 | LabelPosition = lpLeft
117 | TabOrder = 3
118 | Visible = False
119 | end
120 | end
121 | end
122 | end
123 |
--------------------------------------------------------------------------------
/RnQ/xmpp/xmpp_fr.pas:
--------------------------------------------------------------------------------
1 | unit xmpp_fr;
2 |
3 | interface
4 | {$I RnQConfig.inc}
5 | {$I NoRTTI.inc}
6 |
7 | uses
8 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
9 | StdCtrls,
10 | RnQPrefsInt, RnQPrefsTypes,
11 | RDGlobal, ExtCtrls, RnQSpin,
12 | XMPPv1, ComCtrls;
13 |
14 | type
15 | TxmppFr = class(TPrefFrame)
16 | PageControl1: TPageControl;
17 | TS1: TTabSheet;
18 | PrtySpin: TRnQSpinEdit;
19 | SrvEdit: TLabeledEdit;
20 | LPr: TLabel;
21 | TSSecurity: TTabSheet;
22 | Label23: TLabel;
23 | pwdBox: TEdit;
24 | SSLChk: TCheckBox;
25 | ServerCBox: TComboBox;
26 | portBox: TLabeledEdit;
27 | private
28 | { Private declarations }
29 | fXMPP: TXMPPSession;
30 | public
31 | // procedure initProps;
32 | procedure initPage(prefs: IRnQPref); Override; final;
33 | procedure applyPage; Override; final;
34 | procedure resetPage; Override; final;
35 | // procedure updateVisible;
36 | { Public declarations }
37 | end;
38 |
39 | implementation
40 |
41 | {$R *.dfm}
42 |
43 | uses
44 | RnQProtocol, globalLib;
45 |
46 | procedure TxmppFr.initPage;
47 | var
48 | I: Integer;
49 | // Acc: PRnQAccount;
50 | begin
51 | Inherited;
52 | (* {$IFDEF PREF_IN_DB}
53 | if fAccIDX in [Low(main.Accounts)..High(main.Accounts)] then
54 | Acc := @main.Accounts[fAccIDX]
55 | else
56 | Acc := NIL;
57 | {$ELSE ~PREF_IN_DB}
58 | Acc := @Account;
59 | {$ENDIF PREF_IN_DB}
60 | fXMPP := NIL;
61 | if not Assigned(Acc)
62 | or (Acc.AccProto.ProtoID <> XMPProtoID) then
63 | Exit;
64 | fXMPP := TXMPPSession(Acc.AccProto);
65 | *)
66 | fXMPP := TXMPPSession(Account.AccProto);
67 | end;
68 |
69 | //procedure initProps;
70 | procedure TxmppFr.applyPage;
71 | begin
72 | if Assigned(fXMPP)and
73 | (fXMPP.ProtoID = XMPProtoID) then
74 | begin
75 | fXMPP.ServerJID := SrvEdit.Text;
76 |
77 | fXMPP.pwd := pwdBox.text;
78 | fXMPP.fPriority := PrtySpin.AsInteger;
79 | end;
80 | end;
81 |
82 | procedure TxmppFr.resetPage;
83 | begin
84 | if Assigned(fXMPP)and
85 | (fXMPP.ProtoID = XMPProtoID) then
86 | begin
87 | SrvEdit.Text := fXMPP.ServerJID;
88 | pwdBox.text := fXMPP.pwd;
89 | PrtySpin.AsInteger := fXMPP.fPriority;
90 | end;
91 | end;
92 |
93 | //INITIALIZATION
94 | // AddPrefPage(2, TxmppFr, 'XMPP');
95 | end.
96 |
--------------------------------------------------------------------------------
/WhatToNeed.txt:
--------------------------------------------------------------------------------
1 | Нужные компоненты:
2 | ICS v8 - http://www.overbyte.be
3 | Synopse framework. Copyright (C) 2016 Arnaud Bouchez - http://synopse.info/
4 |
5 | Рекомендуется для компиляции Delphi XE6 и новее.
6 |
7 | Действия:
8 | 1) Прописать путь до исходников ICSv8
9 | IcsV8\Source\
10 | 2) Изменить ics кодом из for.RnQ\Modified\ICS\
11 | 3) Установить пакет For.rnq
12 | 4) Скомпилировать саму R&Q
13 | Можно запускать...
--------------------------------------------------------------------------------
/clear_all.bat:
--------------------------------------------------------------------------------
1 | cd "%cd%\for.RnQ"
2 | cmd /C clear.bat
3 | cd ..\RnQ
4 | cmd /C clear.bat
5 |
--------------------------------------------------------------------------------
/for.RnQ/Flash/FlashAX.dpk:
--------------------------------------------------------------------------------
1 | package FlashAX;
2 |
3 | {$R *.res}
4 | {$R 'ShockwaveFlashObjects_TLB.dcr'}
5 | {$R 'ShockwaveEx.dcr'}
6 | {$R 'ShockwaveList.dcr'}
7 | {$ALIGN 8}
8 | {$ASSERTIONS ON}
9 | {$BOOLEVAL OFF}
10 | {$DEBUGINFO ON}
11 | {$EXTENDEDSYNTAX ON}
12 | {$IMPORTEDDATA ON}
13 | {$IOCHECKS ON}
14 | {$LOCALSYMBOLS ON}
15 | {$LONGSTRINGS ON}
16 | {$OPENSTRINGS ON}
17 | {$OPTIMIZATION ON}
18 | {$OVERFLOWCHECKS OFF}
19 | {$RANGECHECKS OFF}
20 | {$REFERENCEINFO ON}
21 | {$SAFEDIVIDE OFF}
22 | {$STACKFRAMES OFF}
23 | {$TYPEDADDRESS OFF}
24 | {$VARSTRINGCHECKS ON}
25 | {$WRITEABLECONST OFF}
26 | {$MINENUMSIZE 1}
27 | {$IMAGEBASE $400000}
28 | {$DESCRIPTION 'Flash ActiveX'}
29 | {$IMPLICITBUILD OFF}
30 |
31 | requires
32 | rtl,
33 | vcl;
34 |
35 | contains
36 | ShockwaveFlashObjects_TLB in 'ShockwaveFlashObjects_TLB.pas',
37 | ShockwaveEx in 'ShockwaveEx.pas',
38 | ShockwaveList in 'ShockwaveList.pas';
39 |
40 | end.
41 |
--------------------------------------------------------------------------------
/for.RnQ/Flash/FlashAX.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/Flash/FlashAX.res
--------------------------------------------------------------------------------
/for.RnQ/Flash/FlashAXD5.dpk:
--------------------------------------------------------------------------------
1 | package FlashAXD5;
2 |
3 | {$R *.RES}
4 | {$R 'ShockwaveEx.dcr'}
5 | {$R 'ShockwaveFlashObjects_TLB.dcr'}
6 | {$ALIGN ON}
7 | {$ASSERTIONS ON}
8 | {$BOOLEVAL OFF}
9 | {$DEBUGINFO ON}
10 | {$EXTENDEDSYNTAX ON}
11 | {$IMPORTEDDATA ON}
12 | {$IOCHECKS ON}
13 | {$LOCALSYMBOLS ON}
14 | {$LONGSTRINGS ON}
15 | {$OPENSTRINGS ON}
16 | {$OPTIMIZATION ON}
17 | {$OVERFLOWCHECKS OFF}
18 | {$RANGECHECKS OFF}
19 | {$REFERENCEINFO ON}
20 | {$SAFEDIVIDE OFF}
21 | {$STACKFRAMES OFF}
22 | {$TYPEDADDRESS OFF}
23 | {$VARSTRINGCHECKS ON}
24 | {$WRITEABLECONST ON}
25 | {$MINENUMSIZE 1}
26 | {$IMAGEBASE $400000}
27 | {$IMPLICITBUILD OFF}
28 |
29 | requires
30 | vcl50;
31 |
32 | contains
33 | ShockwaveEx in 'ShockwaveEx.pas',
34 | ShockwaveFlashObjects_TLB in 'ShockwaveFlashObjects_TLB.pas';
35 |
36 | end.
37 |
--------------------------------------------------------------------------------
/for.RnQ/Flash/FlashAXD5.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/Flash/FlashAXD5.res
--------------------------------------------------------------------------------
/for.RnQ/Flash/ShockwaveEx.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/Flash/ShockwaveEx.dcr
--------------------------------------------------------------------------------
/for.RnQ/Flash/ShockwaveFlashObjects9_TLB.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/Flash/ShockwaveFlashObjects9_TLB.dcr
--------------------------------------------------------------------------------
/for.RnQ/Flash/ShockwaveFlashObjects_TLB.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/Flash/ShockwaveFlashObjects_TLB.dcr
--------------------------------------------------------------------------------
/for.RnQ/Flash/ShockwaveList.dcr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/Flash/ShockwaveList.dcr
--------------------------------------------------------------------------------
/for.RnQ/ForRnQConfig.inc:
--------------------------------------------------------------------------------
1 | // Freepascal
2 | {$ifdef FPC}
3 | {/$MODE DELPHIUNICODE}
4 | {$define D7UP}
5 | {$IFNDEF UNICODE}
6 | {$DEFINE STRING_NOT_UNICODE}
7 | {$ENDIF}
8 | {$ELSE ~FPC}
9 | {$IFNDEF UNICODE}
10 | {$DEFINE STRING_NOT_UNICODE}
11 | {$ENDIF}
12 | {$endif FPC}
13 |
14 | { $IFNDEF FPC}
15 | { $I \VTV\Source\Compilers.inc}
16 | { $ENDIF}
17 |
18 | {$DEFINE HAS_INLINE} // Added 20140409
19 |
20 | {$DEFINE HAS_FINAL}
21 |
22 | { $DEFINE RNQ}
23 | {$DEFINE RNQ_FULL}
24 | { $DEFINE CHAT_CEF}
25 | { $DEFINE RNQ_SERVICES}
26 |
27 | { $DEFINE DB_ENABLED} // Enable SQLite use
28 |
29 | { $DEFINE USE_REGUIN}
30 | { $DEFINE USE_SECUREIM}
31 |
32 | {$DEFINE NO_WIN98} //NOT allow use of hooks and some hacks special under Win98
33 | {$IFDEF UNICODE}
34 | {$DEFINE NO_WIN98}
35 | {$ENDIF UNICODE}
36 |
37 |
38 | {$IFDEF RNQ2}
39 | {$DEFINE DB_ENABLED} // Enable SQLite use
40 | {$DEFINE PREF_IN_DB} // Preferences in db
41 | {$ENDIF RNQ2}
42 |
43 |
44 | {$DEFINE NOT_USE_GDIPLUS}
45 |
46 | {$IF Defined(CHAT_CEF) or Defined(CHAT_SCI)}
47 | {$DEFINE PRESERVE_BIG_FILE}
48 | {$ELSE old CHAT}
49 |
50 | {$DEFINE SMILES_ANI_ENGINE}
51 | {$IFEND}
52 |
53 | { $DEFINE LANGDEBUG}
54 | { $DEFINE RQDEBUG}
55 |
56 |
57 | {$DEFINE Use_Baloons}
58 |
59 | {$DEFINE USE_ZIP}
60 | {$IFDEF RNQ}
61 | {$DEFINE ZIP_AES}
62 | {$ENDIF RNQ}
63 | { $DEFINE ZIP_ZSTD}
64 |
65 |
66 | {$DEFINE USE_SYMCRYPTO}
67 | {$DEFINE USE_MORMOT_COLLECTIONS}
68 |
69 | {$IFNDEF FPC}
70 | {$DEFINE UseNTLMAuthentication}
71 | {$DEFINE USE_IPv6} // IPv6
72 | {$DEFINE USE_SSL} // SSL
73 | { $DEFINE USE_7Z}
74 | {$DEFINE USE_RAR}
75 | {$IFDEF RNQ}
76 | {$DEFINE USE_SYMCRYPTO}
77 | {$ENDIF}
78 | {$ENDIF}
79 |
80 |
81 | { $DEFINE RNQ_LITE}
82 | { $DEFINE RNQ_PLAYER}
83 | { $DEFINE RNQ_FULL2}
84 |
85 | // { $DEFINE EUREKALOG}
86 | // { $DEFINE EUREKALOG_VER5}
87 |
88 |
89 | {$IFNDEF FPC}
90 | {$I Include\OverbyteIcsDefs.inc}
91 |
92 | { $IFDEF DELPHI9_UP}
93 | {$INLINE AUTO}
94 | { $INLINE ON}
95 | {$STRINGCHECKS OFF}
96 | { $ENDIF DELPHI9_UP}
97 |
98 | { $IFDEF DELPHI16_UP}
99 | {$O+}
100 | {$EXCESSPRECISION OFF}
101 | { $ENDIF DELPHI16_UP}
102 |
103 | {$ENDIF}
104 |
105 |
106 |
--------------------------------------------------------------------------------
/for.RnQ/MenuSmiles.dfm:
--------------------------------------------------------------------------------
1 | object FSmiles: TFSmiles
2 | Left = 82
3 | Top = 291
4 | BiDiMode = bdLeftToRight
5 | BorderStyle = bsNone
6 | Caption = 'Smiles'
7 | ClientHeight = 271
8 | ClientWidth = 387
9 | Color = clBtnFace
10 | Font.Charset = RUSSIAN_CHARSET
11 | Font.Color = clWindowText
12 | Font.Height = -13
13 | Font.Name = 'Arial'
14 | Font.Style = [fsBold]
15 | FormStyle = fsStayOnTop
16 | KeyPreview = True
17 | OldCreateOrder = False
18 | ParentBiDiMode = False
19 | Position = poDefault
20 | OnClose = FormClose
21 | OnCreate = FormCreate
22 | OnHide = FormHide
23 | OnKeyDown = FormKeyDown
24 | OnShow = FormShow
25 | PixelsPerInch = 96
26 | TextHeight = 16
27 | object MenuSmilesBox: TPaintBox
28 | Left = 0
29 | Top = 0
30 | Width = 387
31 | Height = 271
32 | Align = alClient
33 | Color = clMenu
34 | Font.Charset = RUSSIAN_CHARSET
35 | Font.Color = clWindowText
36 | Font.Height = -11
37 | Font.Name = 'Tahoma'
38 | Font.Style = []
39 | ParentColor = False
40 | ParentFont = False
41 | OnClick = MenuSmilesBoxClick
42 | OnMouseMove = MenuSmilesBoxMouseMove
43 | OnMouseUp = MenuSmilesBoxMouseUp
44 | OnPaint = MenuSmilesBoxPaint
45 | end
46 | object UpdTmr: TTimer
47 | Interval = 40
48 | OnTimer = UpdTmrTimer
49 | Left = 24
50 | Top = 16
51 | end
52 | end
53 |
--------------------------------------------------------------------------------
/for.RnQ/MenuSmiles.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/MenuSmiles.pas
--------------------------------------------------------------------------------
/for.RnQ/Modified/ICS/Include/OverbyteIcsDefs.inc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/Modified/ICS/Include/OverbyteIcsDefs.inc
--------------------------------------------------------------------------------
/for.RnQ/NoRTTI.inc:
--------------------------------------------------------------------------------
1 | (*
2 | {$IFDEF COMPILER_14_UP}
3 | {$WEAKLINKRTTI ON}
4 | {$RTTI EXPLICIT METHODS([]) FIELDS([]) PROPERTIES([])}
5 | {$ENDIF COMPILER_14_UP}
6 | *)
7 |
8 | {$IFNDEF FPC}
9 |
10 | {$if CompilerVersion >= 21} // By Rapid D
11 | { $IFDEF NO_EXTENDED_RTTI}
12 | {$WEAKLINKRTTI ON}
13 | {$RTTI EXPLICIT METHODS([]) FIELDS([]) PROPERTIES([])}
14 | { $ENDIF}
15 | {$ifend}
16 |
17 | {$ENDIF}
18 |
19 |
--------------------------------------------------------------------------------
/for.RnQ/NotRnQUtils.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit NotRnQUtils;
6 | {$I ForRnQConfig.inc}
7 | {$I NoRTTI.inc}
8 |
9 | interface
10 | //uses
11 | // iniFiles,
12 |
13 | {$IFNDEF RNQ}
14 | function getTranslation(const key: AnsiString; const args: array of const): String; overload;
15 | function getTranslation(const key: AnsiString): String; overload;
16 |
17 | {$IFDEF UNICODE}
18 | function getTranslation(const key: UnicodeString; const args: array of const): string; overload;
19 | function getTranslation(const key: UnicodeString): string; overload;
20 | {$ENDIF UNICODE}
21 |
22 | {$ENDIF RNQ}
23 |
24 | implementation
25 |
26 | uses
27 | SysUtils, StrUtils, Masks;
28 |
29 | //////////////////////////////////////////////////////////////////////////
30 | {$IFNDEF RNQ}
31 | function getTranslation(const key: AnsiString): string;
32 | begin
33 | result := key;
34 | result := ansiReplaceStr(result, '\n', #13);
35 | end; // getTranslation
36 |
37 | function getTranslation(const key: Ansistring; const args: array of const): String;
38 | //var
39 | // s : extended;
40 | begin
41 | Result := key;
42 |
43 | if Length(args) > 0 then
44 | try
45 | result:=format(result, args);
46 | except
47 |
48 | end;
49 | result:=ansiReplaceStr(result, '\n', #13);
50 | //result:=ansiReplaceStr(result, '\s', ' ');
51 | end; // getTranslation
52 |
53 | {$IFDEF UNICODE}
54 | function getTranslation(const key: String): string;
55 | begin
56 | Result := key;
57 | result:=ansiReplaceStr(result,'\n', #13);
58 | end; // getTranslation
59 |
60 | function getTranslation(const key: string; const args: array of const):string;
61 | //var
62 | // s : extended;
63 | begin
64 | Result := key;
65 | if Length(args) > 0 then
66 | try
67 | result:=format(result, args);
68 | except
69 |
70 | end;
71 | result:=ansiReplaceStr(result,'\n',#13);
72 | //result:=ansiReplaceStr(result,'\s',' ');
73 | end; // getTranslation
74 | {$ENDIF UNICODE}
75 |
76 | {$ENDIF RNQ}
77 |
78 |
79 | end.
80 |
--------------------------------------------------------------------------------
/for.RnQ/RQMenuItem.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RQMenuItem.pas
--------------------------------------------------------------------------------
/for.RnQ/RQThemes.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RQThemes.pas
--------------------------------------------------------------------------------
/for.RnQ/RQUtil.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RQUtil.pas
--------------------------------------------------------------------------------
/for.RnQ/RQlog.dfm:
--------------------------------------------------------------------------------
1 | object logFrm: TlogFrm
2 | Left = 192
3 | Top = 103
4 | Caption = 'Log'
5 | ClientHeight = 341
6 | ClientWidth = 602
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'MS Sans Serif'
12 | Font.Style = []
13 | OnClose = FormClose
14 | OnCreate = FormCreate
15 | OnDestroy = FormDestroy
16 | OnShow = FormShow
17 | TextHeight = 13
18 | object Splitter1: TSplitter
19 | Left = 0
20 | Top = 165
21 | Width = 602
22 | Height = 3
23 | Cursor = crVSplit
24 | Align = alBottom
25 | ExplicitTop = 155
26 | end
27 | object dumpBox: TMemo
28 | Left = 0
29 | Top = 168
30 | Width = 602
31 | Height = 173
32 | Align = alBottom
33 | Font.Charset = DEFAULT_CHARSET
34 | Font.Color = clWindowText
35 | Font.Height = -11
36 | Font.Name = 'Courier New'
37 | Font.Style = []
38 | ParentFont = False
39 | ReadOnly = True
40 | ScrollBars = ssBoth
41 | TabOrder = 0
42 | end
43 | object menu: TPopupMenu
44 | Left = 104
45 | Top = 32
46 | object CopytoClipboard1: TMenuItem
47 | Caption = 'Copy to Clipboard'
48 | OnClick = CopytoClipboard1Click
49 | end
50 | object Clear1: TMenuItem
51 | Caption = 'Clear'
52 | OnClick = Clear1Click
53 | end
54 | object Showevents1: TMenuItem
55 | AutoCheck = True
56 | Caption = 'Show events'
57 | Checked = True
58 | OnClick = Showevents1Click
59 | end
60 | object Showpackets1: TMenuItem
61 | AutoCheck = True
62 | Caption = 'Show packets'
63 | Checked = True
64 | OnClick = Showpackets1Click
65 | end
66 | end
67 | end
68 |
--------------------------------------------------------------------------------
/for.RnQ/RQmsgs.dfm:
--------------------------------------------------------------------------------
1 | object msgsFrm: TmsgsFrm
2 | Left = 324
3 | Top = 270
4 | Caption = 'R&Q'
5 | ClientHeight = 225
6 | ClientWidth = 342
7 | Color = clBtnFace
8 | Constraints.MinWidth = 350
9 | Font.Charset = DEFAULT_CHARSET
10 | Font.Color = clWindowText
11 | Font.Height = -11
12 | Font.Name = 'MS Sans Serif'
13 | Font.Style = []
14 | KeyPreview = True
15 | OldCreateOrder = False
16 | OnClose = FormClose
17 | OnCreate = FormCreate
18 | OnKeyDown = FormKeyDown
19 | OnResize = FormResize
20 | OnShow = FormShow
21 | PixelsPerInch = 96
22 | TextHeight = 13
23 | end
24 |
--------------------------------------------------------------------------------
/for.RnQ/RTL/Murmur2.pas:
--------------------------------------------------------------------------------
1 | unit Murmur2;
2 |
3 | interface
4 |
5 | uses
6 | SysUtils, Classes;
7 |
8 | function CalcMurmur2(const Bytes: TBytes; const Seed: LongWord = $9747B28C): LongWord; overload;
9 | function CalcMurmur2(Stream: TStream; const Seed: LongWord = $9747B28C): LongWord; overload;
10 |
11 | implementation
12 |
13 | {$OVERFLOWCHECKS OFF}
14 |
15 | function CalcMurmur2(const Bytes: TBytes; const Seed: LongWord = $9747B28C): LongWord;
16 | var
17 | hash: LongWord;
18 | len: LongWord;
19 | k: LongWord;
20 | data: Integer;
21 | const
22 | // 'm' and 'r' are mixing constants generated offline.
23 | // They're not really 'magic', they just happen to work well.
24 | m = $5BD1E995;
25 | r = 24;
26 | begin
27 | len := Length(Bytes);
28 |
29 | // The default seed, $9747b28c, is from the original C library
30 |
31 | // Initialize the hash to a 'random' value
32 | hash := Seed xor len;
33 |
34 | // Mix 4 bytes at a time into the hash
35 | data := 0;
36 |
37 | while (len >= 4) do
38 | begin
39 | k := PLongWord(@Bytes[data])^;
40 |
41 | k := k * m;
42 | k := k xor (k shr r);
43 | k := k * m;
44 |
45 | hash := hash * m;
46 | hash := hash xor k;
47 |
48 | inc(data, 4);
49 | dec(len, 4);
50 | end;
51 |
52 | { Handle the last few bytes of the input array
53 | S: ... $69 $18 $2f
54 | }
55 | Assert(len <= 3);
56 | if len = 3 then
57 | hash := hash xor (LongWord(Bytes[data + 2]) shl 16);
58 | if len >= 2 then
59 | hash := hash xor (LongWord(Bytes[data + 1]) shl 8);
60 | if len >= 1 then
61 | begin
62 | hash := hash xor (LongWord(Bytes[data]));
63 | hash := hash * m;
64 | end;
65 |
66 | // Do a few final mixes of the hash to ensure the last few
67 | // bytes are well-incorporated.
68 | hash := hash xor (hash shr 13);
69 | hash := hash * m;
70 | hash := hash xor (hash shr 15);
71 |
72 | Result := hash;
73 | end;
74 |
75 | function CalcMurmur2(Stream: TStream; const Seed: LongWord = $9747B28C): LongWord;
76 | var
77 | SavePosition: Int64;
78 | Bytes: TBytes;
79 | begin
80 | SavePosition := Stream.Position;
81 | try
82 | Stream.Position := 0;
83 | SetLength(Bytes, Stream.Size);
84 | Stream.ReadBuffer(Pointer(Bytes)^, Length(Bytes));
85 | Result := CalcMurmur2(Bytes);
86 | finally
87 | Stream.Position := SavePosition;
88 | end;
89 | end;
90 |
91 | end.
--------------------------------------------------------------------------------
/for.RnQ/RTL/RDFileUtil.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RTL/RDFileUtil.pas
--------------------------------------------------------------------------------
/for.RnQ/RTL/RDSysUtils.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RTL/RDSysUtils.pas
--------------------------------------------------------------------------------
/for.RnQ/RTL/RDUtils.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RTL/RDUtils.pas
--------------------------------------------------------------------------------
/for.RnQ/RTL/RnQ.Graphics.Utils.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RTL/RnQ.Graphics.Utils.pas
--------------------------------------------------------------------------------
/for.RnQ/RTL/RnQBinUtils.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RTL/RnQBinUtils.pas
--------------------------------------------------------------------------------
/for.RnQ/RTL/RnQGraphics32.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RTL/RnQGraphics32.pas
--------------------------------------------------------------------------------
/for.RnQ/RTL/cgJpeg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RTL/cgJpeg.pas
--------------------------------------------------------------------------------
/for.RnQ/RTL/libJPEG.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RTL/libJPEG.pas
--------------------------------------------------------------------------------
/for.RnQ/RnQCrypt.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RnQCrypt.pas
--------------------------------------------------------------------------------
/for.RnQ/RnQFileUtil.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit RnQFileUtil;
6 | {$I ForRnQConfig.inc}
7 | {$I NoRTTI.inc}
8 |
9 | interface
10 | uses
11 | Windows, RDGlobal,
12 | Classes;
13 |
14 | // file management
15 | function appendFile(const fn: string; const data: RawByteString): boolean;
16 |
17 | implementation
18 | uses
19 | {$IFDEF RNQ}
20 | RQUtil, RnQGlobal,
21 | RnQLangs,
22 | RnQDialogs,
23 | {$ENDIF RNQ}
24 | SysUtils
25 | ;
26 |
27 |
28 | function appendFile(const fn: string; const data: RawByteString): boolean;
29 | var
30 | fs : TFileStream;
31 | md : Word;
32 | b : Boolean;
33 | begin
34 | if FileExists(fn) then
35 | md := fmOpenWrite
36 | else
37 | md := fmCreate;
38 | fs := NIL;
39 | try
40 | md := md or fmShareDenyWrite;
41 | fs := TFileStream.Create(fn, md);
42 | // if fs then
43 | fs.Seek(0, soFromEnd);
44 | fs.WriteBuffer(data[1], length(data));
45 | result := True;
46 | fs.Free;
47 | except
48 | if Assigned(fs) then fs.Free;
49 | result := false;
50 | {$IFDEF RNQ}
51 | b := logpref.evts.onfile;
52 | logpref.evts.onfile := False;
53 | msgdlg( getTranslation('Coudn''t append file %s', [fn]), False, mtError);
54 | logpref.evts.onfile := b;
55 | {$ENDIF RNQ}
56 | end;
57 | {
58 | var
59 | f:file;
60 | b : Boolean;
61 | begin
62 | IOresult;
63 | assignFile(f,fn);
64 | reset(f,1);
65 | if IOresult <> 0 then
66 | rewrite(f,1)
67 | else
68 | seek(f,fileSize(f));
69 | blockWrite(f, data[1], length(data));
70 | closeFile(f);
71 | result:=IOresult=0;
72 | if not result then
73 | begin
74 | b := logpref.evts.onfile;
75 | logpref.evts.onfile := False;
76 | msgdlg( getTranslation('Coudn''t append file %s', [fn]), mtError);
77 | logpref.evts.onfile := b;
78 | end; }
79 | end; // appendFile
80 |
81 |
82 | end.
83 |
--------------------------------------------------------------------------------
/for.RnQ/RnQGlobal.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit RnQGlobal;
6 | {$I ForRnQConfig.inc}
7 | {$I NoRTTI.inc}
8 |
9 | { $ DEFINE RNQ_PLAYER}
10 |
11 | interface
12 | uses
13 | Forms, Classes, Messages, ExtCtrls, Types,
14 | {$IFDEF RNQ_PLAYER}
15 | BASSplayer,
16 | {$ENDIF RNQ_PLAYER}
17 | // fxRegistryFile,
18 | // RQThemes,
19 | // SXZipUtils,
20 | Graphics;
21 |
22 | const
23 | eventslogFilename = 'events.log';
24 | defaultThemePrefix = 'RQ.';
25 | defaultThemePostfix = 'theme.ini';
26 | // paths
27 | themesPath = 'themes\';
28 | pluginsPath = 'plugins\';
29 | accountsPath = 'Accounts\';
30 | {$IFDEF CPUX64}
31 | modulesPath = 'modules.x64\';
32 | {$ELSE}
33 | modulesPath = 'modules\';
34 | {$ENDIF CPUX64}
35 |
36 | maxPICAVTW = 200;
37 | maxPICAVTH = 200;
38 | maxSWFAVTW = 100;
39 | maxSWFAVTH = 100;
40 |
41 | RnQImageTag = AnsiString('');
42 | RnQImageUnTag = AnsiString('');
43 | RnQImageExTag = AnsiString('');
44 | RnQImageExUnTag = AnsiString('');
45 | // RnQTrayIconGUID: TGUID = '{0629FFDF-0F1A-40A1-BB6F-32942AD6DF17}';
46 |
47 | var
48 | timeformat: record
49 | chat,
50 | info,
51 | clock,
52 | log,
53 | automsg: string;
54 | end;
55 | logpref: record
56 | pkts, evts: record
57 | onFile, onWindow, clear: Boolean;
58 | end;
59 | writehistory: Boolean;
60 | end;
61 |
62 |
63 | var
64 | myPath : String;
65 | logPath : String;
66 | RnQUser : String;
67 | RnQMainPath : String;
68 | // rqSmiles : TRQTheme;
69 | ShowSmileCaption,
70 | MenuHeightPerm,
71 | MenuDrawExt,
72 | bringInfoFrgd,
73 | // MakeBakups,
74 | {$IFDEF LANGDEBUG}
75 | lang_debug,
76 | {$ENDIF LANGDEBUG}
77 | disableSounds,
78 | playSounds,
79 | showBalloons: Boolean;
80 | audioPresent : Boolean = false;
81 | picDrawFirstLtr : Boolean = false;
82 | TranslitList : TStringList;
83 | SoundVolume : Integer;
84 | TextBGColor : TColor;
85 |
86 | var
87 | {$IFDEF RNQ_PLAYER}
88 | RnQbPlayer: TBASSplayer;
89 | {$ELSE RNQ_PLAYER}
90 | Soundhndl: THandle;
91 | {$ENDIF RNQ_PLAYER}
92 |
93 | const
94 | EMAILCHARS = ['a'..'z','A'..'Z','0'..'9','-','_','.'];
95 |
96 | type
97 | TGroupAction = (GA_None = 0, GA_Add, GA_Rename, GA_Remove);
98 |
99 |
100 | implementation
101 | uses
102 | Windows, Controls;
103 |
104 |
105 | end.
106 |
--------------------------------------------------------------------------------
/for.RnQ/RnQLangFrm.dfm:
--------------------------------------------------------------------------------
1 | object FrmLangs: TFrmLangs
2 | Left = 0
3 | Top = 0
4 | Caption = 'Select a language'
5 | ClientHeight = 274
6 | ClientWidth = 243
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | Position = poScreenCenter
15 | OnCreate = FormCreate
16 | PixelsPerInch = 96
17 | TextHeight = 13
18 | object LangsBox: TVirtualDrawTree
19 | Left = 0
20 | Top = 0
21 | Width = 243
22 | Height = 224
23 | Align = alClient
24 | Header.AutoSizeIndex = 0
25 | Header.MainColumn = -1
26 | Header.Options = [hoColumnResize, hoDrag]
27 | TabOrder = 0
28 | TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toGridExtensions, toInitOnSave, toToggleOnDblClick, toWheelPanning]
29 | TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toShowTreeLines, toThemeAware, toUseBlendedImages]
30 | TreeOptions.SelectionOptions = [toFullRowSelect, toMiddleClickSelect, toRightClickSelect]
31 | OnDblClick = LangsBoxDblClick
32 | OnDrawNode = LangsBoxDrawNode
33 | OnFocusChanged = LangsBoxFocusChanged
34 | OnFreeNode = LangsBoxFreeNode
35 | Columns = <>
36 | end
37 | object PnlBtn: TPanel
38 | Left = 0
39 | Top = 224
40 | Width = 243
41 | Height = 50
42 | Align = alBottom
43 | TabOrder = 1
44 | object BtnOk: TRnQButton
45 | Left = 22
46 | Top = 16
47 | Width = 75
48 | Height = 25
49 | Caption = 'Ok'
50 | Default = True
51 | ModalResult = 1
52 | TabOrder = 0
53 | OnClick = BtnOkClick
54 | ImageName = 'ok'
55 | end
56 | object BtnCncl: TRnQButton
57 | Left = 136
58 | Top = 16
59 | Width = 75
60 | Height = 25
61 | Cancel = True
62 | Caption = 'Cancel'
63 | ModalResult = 2
64 | TabOrder = 1
65 | end
66 | end
67 | end
68 |
--------------------------------------------------------------------------------
/for.RnQ/RnQNet.Uploads.Lib.pas:
--------------------------------------------------------------------------------
1 | unit RnQNet.Uploads.Lib;
2 | {$I forRnQConfig.inc}
3 | {$I NoRTTI.inc}
4 |
5 | interface
6 |
7 | uses
8 | Classes,
9 | RDGlobal
10 | ;
11 |
12 | type
13 | TarchiveStream = class(Tstream)
14 | protected
15 | pos, cachedTotal: int64;
16 | cur: integer;
17 | aHTTPHeader: RawByteString;
18 | procedure invalidate();
19 | procedure calculate(); virtual; abstract;
20 | function getTotal(): int64;
21 | public
22 | flist: array of record
23 | src, // full path of the file on the disk
24 | dst: string; // full path of the file in the archive
25 | firstByte, // offset of the file inside the archive
26 | mtime,
27 | size: int64;
28 | data: Tobject; // extra data
29 | end;
30 | onDestroy: TNotifyEvent;
31 |
32 | constructor create;
33 | destructor Destroy; override;
34 | function addFile(const src: string; dst: string=''; data: Tobject=NIL): boolean; virtual;
35 | function count(): integer;
36 | procedure reset(); virtual;
37 | property totalSize: int64 read getTotal;
38 | property current: integer read cur;
39 | end; // TarchiveStream
40 |
41 | implementation
42 |
43 | uses
44 | Windows, SysUtils, StrUtils, DateUtils, math,
45 | {$IFDEF UNICODE}
46 | AnsiStrings,
47 | {$ENDIF UNICODE}
48 | RDFileUtil, RDUtils
49 | ;
50 |
51 | function InputText(Boundry, Name, Value: RawByteString): RawByteString;
52 | begin
53 | result := format(AnsiString(RawByteString('%s') + CRLF + 'Content-Disposition: form-data; name="%s"' + CRLF + CRLF + '%s' + CRLF),
54 | [AnsiString('--') + boundry, name, value]);
55 | end;
56 |
57 | //////////// TarchiveStream
58 |
59 | function TarchiveStream.getTotal():int64;
60 | begin
61 | if cachedTotal < 0 then
62 | calculate();
63 | result := cachedTotal;
64 | end; // getTotal
65 |
66 | function TarchiveStream.addFile(const src: string; dst: string=''; data: Tobject=NIL): boolean;
67 |
68 | function getMtime(fh: Thandle): int64;
69 | var
70 | ctime, atime, mtime: Tfiletime;
71 | st: TSystemTime;
72 | begin
73 | getFileTime(fh, @ctime, @atime, @mtime);
74 | fileTimeToSystemTime(mtime, st);
75 | result:=dateTimeToUnix(SystemTimeToDateTime(st));
76 | end; // getMtime
77 |
78 | var
79 | i, fh: integer;
80 | begin
81 | result := FALSE;
82 | fh := fileopen(src, fmOpenRead+fmShareDenyNone);
83 | if fh = -1 then
84 | exit;
85 | result := TRUE;
86 | if dst = '' then
87 | dst := extractFileName(src);
88 | i := length(flist);
89 | setLength(flist, i+1);
90 | flist[i].src := src;
91 | flist[i].dst := dst;
92 | flist[i].data := data;
93 | flist[i].size := sizeOfFile(src);
94 | flist[i].mtime := getMtime(fh);
95 | flist[i].firstByte := -1;
96 | fileClose(fh);
97 | invalidate();
98 | end; // addFile
99 |
100 | procedure TarchiveStream.invalidate();
101 | begin
102 | cachedTotal := -1
103 | end;
104 |
105 | constructor TarchiveStream.create;
106 | begin
107 | inherited;
108 | reset();
109 | end; // create
110 |
111 | destructor TarchiveStream.destroy;
112 | begin
113 | if assigned(onDestroy) then
114 | onDestroy(self);
115 | inherited;
116 | end; // destroy
117 |
118 | procedure TarchiveStream.reset();
119 | begin
120 | flist := NIL;
121 | cur := 0;
122 | pos := 0;
123 | invalidate();
124 | end; // reset
125 |
126 | function TarchiveStream.count(): integer;
127 | begin
128 | result := length(flist)
129 | end;
130 |
131 |
132 | end.
133 |
--------------------------------------------------------------------------------
/for.RnQ/RnQPrefsInt.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit RnQPrefsInt;
6 | {$I ForRnQConfig.inc}
7 | {$I NoRTTI.inc}
8 |
9 | interface
10 | uses
11 | Windows, Classes,
12 | // Forms,
13 | // iniFiles,
14 | RDGlobal;
15 |
16 | type
17 | TPrefKey = String;
18 | IRnQPref = interface
19 | function getDPrefStr(const key: TPrefKey): String;
20 | function getDPrefStrList(const key: TPrefKey): TStringList;
21 | function getDPrefBool(const key: TPrefKey): Boolean;
22 | function getDPrefBlob(const key: TPrefKey): RawByteString;
23 | function getDPrefBlob64(const key: TPrefKey): RawByteString;
24 | function getDPrefInt(const key: TPrefKey): Integer;
25 | function getDPrefDate(const key: TPrefKey): TDateTime;
26 | function getDPrefDateTime(const key: TPrefKey): TDateTime;
27 | function getDPrefGuid(const key: TPrefKey): TGUID;
28 |
29 | function getPrefStr(const key: TPrefKey; var Val: String): Boolean;
30 | function getPrefStrList(const key: TPrefKey; var Val: TStringList): Boolean;
31 | function getPrefBool(const key: TPrefKey; var Val: Boolean): Boolean;
32 | function getPrefBlob(const key: TPrefKey; var Val: RawByteString): Boolean;
33 | function getPrefBlob64(const key: String; var Val: RawByteString): Boolean;
34 | function getPrefInt(const key: TPrefKey; var Val: Integer): Boolean;
35 | function getPrefDate(const key: String; var Val: TDateTime): Boolean;
36 | function getPrefDateTime(const key: String; var Val: TDateTime): Boolean;
37 | // procedure getPrefValue(const key: TPrefKey; et: TElemType; var Val: TPrefElem);
38 | function getPrefGuid(const key: TPrefKey; var Val: TGUID): Boolean;
39 | function getPrefBoolDef(const key: TPrefKey; const DefVal: Boolean): Boolean;
40 | function getPrefBlobDef(const key: TPrefKey; const DefVal: RawByteString = ''): RawByteString;
41 | function getPrefBlob64Def(const key: TPrefKey; const DefVal: RawByteString = ''): RawByteString;
42 | function getPrefStrDef(const key: TPrefKey; const DefVal: String = ''): String;
43 | function getPrefIntDef(const key: TPrefKey; const DefVal: Integer = -1): Integer;
44 | // function getPrefVal(const key: TPrefKey): TPrefElement;
45 |
46 | procedure DeletePref(const key: TPrefKey);
47 | function prefExists(const key: TPrefKey): Boolean;
48 |
49 | procedure addPrefBlobOld(const key: TPrefKey; const Val: RawByteString);
50 | procedure addPrefBlob64(const key: TPrefKey; const Val: RawByteString);
51 | procedure addPrefInt(const key: TPrefKey; const Val: Integer);
52 | procedure addPrefBool(const key: TPrefKey; const Val: Boolean);
53 | procedure addPrefStr(const key: TPrefKey; const Val: String);
54 | procedure addPrefStrList(const key: TPrefKey; const Val: TStringList);
55 | procedure addPrefTime(const key: TPrefKey; const Val: TDateTime);
56 | {$IFDEF DELPHI9_UP}
57 | procedure addPrefDate(const key: TPrefKey; const Val: TDate);
58 | {$ENDIF DELPHI9_UP}
59 | procedure addPrefGuid(const key: TPrefKey; const Val: TGUID);
60 | procedure addPrefParam(param: TObject);
61 | {$IFDEF RNQ}
62 | procedure addPrefArrParam(param: array of TObject);
63 | procedure getPrefArrParam(param: array of TObject);
64 | {$ENDIF RNQ}
65 | procedure initPrefBool(const key: TPrefKey; const Val: Boolean);
66 | procedure initPrefInt(const key: TPrefKey; const Val: Integer);
67 | procedure initPrefStr(const key: TPrefKey; const Val: String);
68 |
69 | procedure BeginUpdate;
70 | procedure EndUpdate;
71 |
72 | // property isUpdating: Boolean;
73 | end;
74 |
75 |
76 | implementation
77 |
78 |
79 | end.
80 |
--------------------------------------------------------------------------------
/for.RnQ/RnQStrings.pas:
--------------------------------------------------------------------------------
1 | {
2 | This file is part of R&Q.
3 | Under same license
4 | }
5 | unit RnQStrings;
6 |
7 | { $MODE Delphi}
8 |
9 | {$I ForRnQConfig.inc}
10 | {$I NoRTTI.inc}
11 |
12 | interface
13 |
14 | uses
15 | RDGlobal;
16 |
17 | const
18 | Str_message = 'Message';
19 | Str_roster = 'roaster';
20 | Str_unk = 'Unknown';
21 | Str_Error = 'Error';
22 | Str_already_run = 'There is another instance with this user already running';
23 | Str_unsupported = 'This function is not supported yet'+CRLF + 'Please inform us if you need it!';
24 | // Str_authRequest = 'Authorization Request\nPlease authorize my request and add me to your Contact List.';
25 | Str_authRequest = 'Please authorize my request and add me to your Contact List.';
26 | // not2Translate: array[0..2] of string = ('R&Q', 'http://RnQ.ru', 'Rapid D');
27 | not2Translate: array[0..4] of AnsiString = ('R&Q', 'http://RnQ.ru',
28 | 'Massimo Melina', 'Rapid D', 'R&&Q Team');
29 | not2TranslateSite = 1;
30 | implementation
31 |
32 | end.
33 |
--------------------------------------------------------------------------------
/for.RnQ/RnQtrayLib.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/RnQtrayLib.pas
--------------------------------------------------------------------------------
/for.RnQ/SQLite/1/readme.txt:
--------------------------------------------------------------------------------
1 | Simple SQLite3 class wrapper for Delphi.
2 |
3 | sqlite3.pas - a simple class wrapper for sqlite3
4 | sqlite3dll.pas - Pascal interface to the C functions in sqlite3.dll
5 | sqlite3.dll - dynamic link library from www.sqlite.org
6 |
7 | How to use in Delphi 7. . .
8 |
9 | uses sqlite3;
10 | .
11 | .
12 | .
13 | var db: TSqliteDatabase;
14 | .
15 | .
16 | .
17 | db := TSqliteDatabase.Open('my.db');
18 |
19 | // to fetch records from a query
20 | //
21 | with db.Query('select f1,f2 from tbl where f1>0') do begin
22 | while not Eof do begin
23 | writeln(FieldAsInt(0), FieldAsString(1));
24 | Next;
25 | end;
26 | Free;
27 | end;
28 |
29 | // to execute a command without fetching the results
30 | //
31 | db.ExecSQL('delete from tbl where f1=0');
32 |
33 | // to execute a command w/ parameters
34 | //
35 | db.CompileSQL('insert into tbl(f1,f2) values(?,?)');
36 | db.SetParam(123);
37 | db.SetParam('abc');
38 | db.RunSQL;
39 |
40 | // when you're done
41 | //
42 | db.Free;
43 |
--------------------------------------------------------------------------------
/for.RnQ/SQLite/1/sqlite3dll.pas:
--------------------------------------------------------------------------------
1 | //
2 | // Interface to the library functions in 'sqlite3.dll'.
3 | //
4 | unit sqlite3dll;
5 |
6 | interface
7 |
8 | const
9 | SQLITE_DONE = 101;
10 |
11 | type
12 | TPCharArray = array [0..(MaxLongint div sizeOf(PChar))-1] of PChar;
13 | PPCharArray = ^TPCharArray;
14 |
15 | function sqlite3_open(filename: pchar; var db: pointer): integer; cdecl; external 'sqlite3.dll';
16 | function sqlite3_close(db: pointer): integer; cdecl; external 'sqlite3.dll';
17 | function sqlite3_exec(db: pointer; sql: pchar; callback: pointer; userdata: pchar; var errmsg: pchar): integer; cdecl; external 'sqlite3.dll';
18 | procedure sqlite3_free(ptr: pchar); cdecl; external 'sqlite3.dll';
19 | function sqlite3_prepare(db: pointer; sql: pchar; nBytes: integer; var stmt: pointer; var ztail: pchar): integer; cdecl; external 'sqlite3.dll';
20 | function sqlite3_step(stmt: pointer): integer; cdecl; external 'sqlite3.dll';
21 | function sqlite3_finalize(stmt: pointer): integer; cdecl; external 'sqlite3.dll';
22 | function sqlite3_errmsg(db: pointer): pchar; cdecl; external 'sqlite3.dll';
23 | function sqlite3_errcode(db: pointer): integer; cdecl; external 'sqlite3.dll';
24 | function sqlite3_get_table(db: pointer; sql: pchar; var result: PPCharArray; var RowCount: Cardinal; var ColCount: Cardinal; var errmsg: pchar): integer; cdecl; external 'sqlite3.dll';
25 | procedure sqlite3_free_table(table: PPCharArray); cdecl; external 'sqlite3.dll';
26 | function sqlite3_last_insert_rowid(db: pointer): int64; cdecl; external 'sqlite3.dll';
27 | procedure sqlite3_interrupt(db: pointer); cdecl; external 'sqlite3.dll';
28 |
29 | function sqlite3_column_count(stmt: pointer): integer; cdecl; external 'sqlite3.dll';
30 | function sqlite3_column_name(stmt: pointer; ColNum: integer): pchar; cdecl; external 'sqlite3.dll';
31 | function sqlite3_column_type(stmt: pointer; col: integer): integer; cdecl; external 'sqlite3.dll';
32 | function sqlite3_column_bytes(stmt: pointer; col: integer): integer; cdecl; external 'sqlite3.dll';
33 | function sqlite3_column_blob(stmt: pointer; col: integer): pointer; cdecl; external 'sqlite3.dll';
34 | function sqlite3_column_double(stmt: pointer; col: integer): double; cdecl; external 'sqlite3.dll';
35 | function sqlite3_column_int(stmt: pointer; col: integer): integer; cdecl; external 'sqlite3.dll';
36 | function sqlite3_column_int64(stmt: pointer; col: integer): Int64; cdecl; external 'sqlite3.dll';
37 | function sqlite3_column_text(stmt: pointer; col: integer): pchar; cdecl; external 'sqlite3.dll';
38 | function sqlite3_bind_blob(stmt: pointer; param: integer; blob: pointer; size: integer; freeproc: pointer): integer; cdecl; external 'sqlite3.dll';
39 | function sqlite3_bind_text(stmt: pointer; param: integer; text: PChar; size: integer; freeproc: pointer): integer; cdecl; external 'sqlite3.dll';
40 | function sqlite3_bind_int64(stmt: pointer; param: integer; value: int64): integer; cdecl; external 'sqlite3.dll';
41 | function sqlite3_bind_double(stmt: pointer; param: integer; value: double): integer; cdecl; external 'sqlite3.dll';
42 |
43 | implementation
44 |
45 | end.
46 |
47 |
--------------------------------------------------------------------------------
/for.RnQ/SQLite/RnQDB.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/SQLite/RnQDB.pas
--------------------------------------------------------------------------------
/for.RnQ/VCL/RDTipDlg.dfm:
--------------------------------------------------------------------------------
1 | object RDTipFrm: TRDTipFrm
2 | Left = 358
3 | Top = 208
4 | BorderStyle = bsNone
5 | ClientHeight = 120
6 | ClientWidth = 232
7 | Color = clInfoBk
8 | TransparentColorValue = clInfoBk
9 | Font.Charset = DEFAULT_CHARSET
10 | Font.Color = clWindowText
11 | Font.Height = -11
12 | Font.Name = 'MS Sans Serif'
13 | Font.Style = []
14 | OnClose = FormClose
15 | OnCreate = FormCreate
16 | OnDestroy = FormDestroy
17 | OnMouseDown = FormMouseDown
18 | OnMouseUp = FormMouseUp
19 | PixelsPerInch = 96
20 | TextHeight = 13
21 | end
22 |
--------------------------------------------------------------------------------
/for.RnQ/VCL/RDTipDlg.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/VCL/RDTipDlg.pas
--------------------------------------------------------------------------------
/for.RnQ/clear.bat:
--------------------------------------------------------------------------------
1 | @FOR /r %%R IN (*.~*) DO @IF EXIST %%R (del /s /q "%%R")
2 | @FOR /r %%R IN (*.identcache) DO @IF EXIST %%R (del /s /q "%%R")
3 | @FOR /r %%R IN (*.bak) DO @IF EXIST %%R (del /s /q "%%R")
4 | @FOR /r %%R IN (*.stat) DO @IF EXIST %%R (del /s /q "%%R")
5 | @FOR /r %%R IN (*.dcu) DO @IF EXIST %%R (del /s /q "%%R")
6 | @REM FOR /r %%R IN (*.o) DO IF EXIST %%R (del /s /q "%%R")
7 | @IF EXIST "*.dcu" del *.dcu
8 | @IF EXIST "*.ppu" del *.ppu
9 | @IF EXIST "AES\*.dcu" del AES\*.dcu
10 | @IF EXIST "Bass\*.dcu" del Bass\*.dcu
11 | @IF EXIST "Flash\*.dcu" del Flash\*.dcu
12 | @IF EXIST "NativeJpg\Source\*.dcu" del NativeJpg\Source\*.dcu
13 | @IF EXIST VTV\Source\*.dcu del VTV\Source\*.dcu
14 | @IF EXIST VTV\Source\*.bak del VTV\Source\*.bak
15 | @IF EXIST xml\*.dcu del xml\*.dcu
16 | @IF EXIST RSA\*.dcu del RSA\*.dcu
17 | @IF EXIST "xml\__history\*" del /q xml\__history\*
18 | @IF EXIST "VTV\Source\__history\*" del /q VTV\Source\__history\*
19 | @IF EXIST Zip\*.dcu @del Zip\*.dcu
20 | @IF EXIST "Zip\__history\*" del /q Zip\__history\*
21 | @IF EXIST .\Units\*.dcu @del .\Units\*.dcu
22 | @IF EXIST "__history\*" rd /q /s __history\
23 | @IF EXIST "RTL\*.dcu" del RTL\*.dcu
24 | @IF EXIST "RTL\*.ppu" del RTL\*.ppu
25 | @IF EXIST "RTL\*.o" del RTL\*.o
26 | @IF EXIST "RTL\*.a" del RTL\*.a
27 | @IF EXIST "RTL\__history" rd /s /q RTL\__history
28 | @IF EXIST "SciDe\__history\*" rd /q /s SciDe\__history\
29 |
--------------------------------------------------------------------------------
/for.RnQ/for_rnq.cfg:
--------------------------------------------------------------------------------
1 | -$A8
2 | -$B-
3 | -$C+
4 | -$D+
5 | -$E-
6 | -$F-
7 | -$G+
8 | -$H+
9 | -$I-
10 | -$J-
11 | -$K-
12 | -$L+
13 | -$M-
14 | -$N+
15 | -$O+
16 | -$P+
17 | -$Q-
18 | -$R-
19 | -$S-
20 | -$T-
21 | -$U-
22 | -$V+
23 | -$W-
24 | -$X+
25 | -$YD
26 | -$Z1
27 | -cg
28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
29 | -H+
30 | -W+
31 | -M
32 | -$M16384,1048576
33 | -K$00400000
34 | -N"Units"
35 | -LE"e:\soft\delphi7\Projects\Bpl"
36 | -LN"e:\soft\delphi7\Projects\Bpl"
37 | -DEUREKALOG
38 | -Z
39 | -w-UNSAFE_TYPE
40 | -w-UNSAFE_CODE
41 | -w-UNSAFE_CAST
42 |
--------------------------------------------------------------------------------
/for.RnQ/for_rnq.dof:
--------------------------------------------------------------------------------
1 | [FileVersion]
2 | Version=7.0
3 | [Compiler]
4 | A=8
5 | B=0
6 | C=1
7 | D=1
8 | E=0
9 | F=0
10 | G=1
11 | H=1
12 | I=0
13 | J=0
14 | K=0
15 | L=1
16 | M=0
17 | N=1
18 | O=1
19 | P=1
20 | Q=0
21 | R=0
22 | S=0
23 | T=0
24 | U=0
25 | V=1
26 | W=0
27 | X=1
28 | Y=1
29 | Z=1
30 | ShowHints=1
31 | ShowWarnings=1
32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
33 | NamespacePrefix=
34 | SymbolDeprecated=1
35 | SymbolLibrary=1
36 | SymbolPlatform=1
37 | UnitLibrary=1
38 | UnitPlatform=1
39 | UnitDeprecated=1
40 | HResultCompat=1
41 | HidingMember=1
42 | HiddenVirtual=1
43 | Garbage=1
44 | BoundsError=1
45 | ZeroNilCompat=1
46 | StringConstTruncated=1
47 | ForLoopVarVarPar=1
48 | TypedConstVarPar=1
49 | AsgToTypedConst=1
50 | CaseLabelRange=1
51 | ForVariable=1
52 | ConstructingAbstract=1
53 | ComparisonFalse=1
54 | ComparisonTrue=1
55 | ComparingSignedUnsigned=1
56 | CombiningSignedUnsigned=1
57 | UnsupportedConstruct=1
58 | FileOpen=1
59 | FileOpenUnitSrc=1
60 | BadGlobalSymbol=1
61 | DuplicateConstructorDestructor=1
62 | InvalidDirective=1
63 | PackageNoLink=1
64 | PackageThreadVar=1
65 | ImplicitImport=1
66 | HPPEMITIgnored=1
67 | NoRetVal=1
68 | UseBeforeDef=1
69 | ForLoopVarUndef=1
70 | UnitNameMismatch=1
71 | NoCFGFileFound=1
72 | MessageDirective=1
73 | ImplicitVariants=1
74 | UnicodeToLocale=1
75 | LocaleToUnicode=1
76 | ImagebaseMultiple=1
77 | SuspiciousTypecast=1
78 | PrivatePropAccessor=1
79 | UnsafeType=0
80 | UnsafeCode=0
81 | UnsafeCast=0
82 | [Linker]
83 | MapFile=0
84 | OutputObjs=0
85 | ConsoleApp=1
86 | DebugInfo=0
87 | RemoteSymbols=0
88 | MinStackSize=16384
89 | MaxStackSize=1048576
90 | ImageBase=4194304
91 | ExeDescription=For R&Q
92 | [Directories]
93 | OutputDir=
94 | UnitOutputDir=Units
95 | PackageDLLOutputDir=
96 | PackageDCPOutputDir=
97 | SearchPath=
98 | Packages=
99 | Conditionals=EUREKALOG
100 | DebugSourceDirs=
101 | UsePackages=0
102 | [Parameters]
103 | RunParams=
104 | HostApplication=
105 | Launcher=
106 | UseLauncher=0
107 | DebugCWD=
108 | [Version Info]
109 | IncludeVerInfo=1
110 | AutoIncBuild=0
111 | MajorVer=1
112 | MinorVer=0
113 | Release=0
114 | Build=0
115 | Debug=0
116 | PreRelease=0
117 | Special=0
118 | Private=0
119 | DLL=0
120 | Locale=1049
121 | CodePage=1251
122 | [Version Info Keys]
123 | CompanyName=
124 | FileDescription=
125 | FileVersion=1.0.0.0
126 | InternalName=
127 | LegalCopyright=
128 | LegalTrademarks=
129 | OriginalFilename=
130 | ProductName=
131 | ProductVersion=1.0.0.0
132 | Comments=
133 |
--------------------------------------------------------------------------------
/for.RnQ/for_rnq.dpk:
--------------------------------------------------------------------------------
1 | package for_rnq;
2 |
3 | {$R *.res}
4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
5 | {$ALIGN 8}
6 | {$ASSERTIONS ON}
7 | {$BOOLEVAL OFF}
8 | {$DEBUGINFO OFF}
9 | {$EXTENDEDSYNTAX ON}
10 | {$IMPORTEDDATA ON}
11 | {$IOCHECKS OFF}
12 | {$LOCALSYMBOLS ON}
13 | {$LONGSTRINGS ON}
14 | {$OPENSTRINGS ON}
15 | {$OPTIMIZATION ON}
16 | {$OVERFLOWCHECKS OFF}
17 | {$RANGECHECKS OFF}
18 | {$REFERENCEINFO ON}
19 | {$SAFEDIVIDE OFF}
20 | {$STACKFRAMES OFF}
21 | {$TYPEDADDRESS OFF}
22 | {$VARSTRINGCHECKS ON}
23 | {$WRITEABLECONST OFF}
24 | {$MINENUMSIZE 1}
25 | {$IMAGEBASE $400000}
26 | {$ENDIF IMPLICITBUILDING}
27 | {$DESCRIPTION 'For R&Q'}
28 | {$IMPLICITBUILD OFF}
29 |
30 | requires
31 | rtl,
32 | vcl,
33 | designide,
34 | vclx;
35 |
36 | contains
37 | RDGlobal in 'RTL\RDGlobal.pas',
38 | RnQBinUtils in 'RTL\RnQBinUtils.pas',
39 | RDFileUtil in 'RTL\RDFileUtil.pas',
40 | RDUtils in 'RTL\RDUtils.pas',
41 | litegif1 in 'RTL\litegif1.pas',
42 | RnQpngimage in 'RTL\RnQpngimage.pas',
43 | RnQGraphics32 in 'RTL\RnQGraphics32.pas',
44 | RQMenuItem in 'RQMenuItem.pas',
45 | RnQGlobal in 'RnQGlobal.pas',
46 | RQThemes in 'RQThemes.pas',
47 | {$IFDEF RNQ}
48 | RQmsgs in 'RQmsgs.pas' {msgsFrm},
49 | RQlog in 'RQlog.pas' {logFrm},
50 | {$ENDIF RNQ}
51 | incapsulate in 'incapsulate.pas',
52 | RnQButtons in 'VCL\RnQButtons.pas',
53 | RnQSpin in 'VCL\RnQSpin.pas',
54 | RnQDialogs in 'RnQDialogs.pas',
55 | RnQLangs in 'RnQLangs.pas',
56 | RnQPrefsLib in 'RnQPrefsLib.pas',
57 | RnQFileUtil in 'RnQFileUtil.pas',
58 | RnQMenu in 'RnQMenu.pas',
59 | RQUtil in 'RQUtil.pas',
60 | RDSysUtils in 'RDSysUtils.pas',
61 | RnQSysUtils in 'RnQSysUtils.pas',
62 | RnQStrings in 'RnQStrings.pas',
63 | Base64 in 'RTL\Base64.pas',
64 | Sciter in 'SciDe\Sciter.pas';
65 |
66 | end.
67 |
68 |
69 |
--------------------------------------------------------------------------------
/for.RnQ/for_rnq.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/for_rnq.res
--------------------------------------------------------------------------------
/for.RnQ/for_rnq_Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/for_rnq_Icon.ico
--------------------------------------------------------------------------------
/for.RnQ/incapsulate.pas:
--------------------------------------------------------------------------------
1 | {
2 | Copyright (C) 2002-2004 Massimo Melina (www.rejetto.com)
3 |
4 | This file is part of &RQ.
5 |
6 | &RQ is free software; you can redistribute it and/or modify
7 | it under the terms of the GNU General Public License as published by
8 | the Free Software Foundation; either version 2 of the License, or
9 | (at your option) any later version.
10 |
11 | &RQ is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 |
16 | You should have received a copy of the GNU General Public License
17 | along with &RQ; if not, write to the Free Software
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | }
20 | unit incapsulate;
21 | {$I ForRnQConfig.inc}
22 | {$I NoRTTI.inc}
23 |
24 | interface
25 |
26 | uses
27 | sysutils, RDGlobal;
28 |
29 | type
30 | Tincapsulate=class
31 | str: RawByteString;
32 | int: integer;
33 | dt: TdateTime;
34 | bool: boolean;
35 | obj: Tobject;
36 | what: set of (I_str, I_int, I_dt, I_bool, I_obj);
37 | constructor aString(const s_: RawByteString);
38 | constructor anInt(i_: integer);
39 | constructor aDatetime(dt_: Tdatetime);
40 | function toString: RawByteString; Reintroduce;
41 | constructor fromString(s: RawByteString); Reintroduce;
42 | end; // incapsulate
43 |
44 | implementation
45 |
46 | uses
47 | RDutils, RnQBinUtils;
48 |
49 | constructor Tincapsulate.aString(const s_: RawByteString);
50 | begin
51 | inherited;
52 | what := [I_str];
53 | str := s_;
54 | end;
55 |
56 | constructor Tincapsulate.anInt(i_: integer);
57 | begin
58 | inherited;
59 | what := [I_int];
60 | int := i_;
61 | end;
62 |
63 | constructor Tincapsulate.aDatetime(dt_: Tdatetime);
64 | begin
65 | inherited;
66 | what := [I_dt];
67 | dt := dt_;
68 | end;
69 |
70 | constructor Tincapsulate.fromString(s: RawByteString);
71 | begin
72 | inherited;
73 | what := [];
74 | while s > '' do
75 | case s[1] of
76 | 'S':
77 | begin
78 | include(what, I_str);
79 | setLength(str, integer((@s[2])^));
80 | move(s[6], str[1], length(str));
81 | delete(s, 1, 5+length(str));
82 | end;
83 | 'I':
84 | begin
85 | include(what, I_int);
86 | int := integer((@s[2])^);
87 | delete(s, 1, 5);
88 | end;
89 | 'D':
90 | begin
91 | include(what, I_dt);
92 | dt := Tdatetime((@s[2])^);
93 | delete(s, 1, 9);
94 | end;
95 | else raise Exception.create('invalid data'); // should never reach this
96 | end;
97 | end; // fromString
98 |
99 | function Tincapsulate.toString: RawByteString;
100 | begin
101 | result := '';
102 | if I_str in what then
103 | result := result+'S'+int2str(length(str))+str;
104 | if I_int in what then
105 | result := result+'I'+int2str(int);
106 | if I_dt in what then
107 | result := result+'D'+dt2str(int);
108 | end; // toString
109 |
110 | end.
111 |
--------------------------------------------------------------------------------
/for.RnQ/xml/simdesign.inc:
--------------------------------------------------------------------------------
1 | { simdesign.inc
2 |
3 | include file for many simdesign projects
4 | default path: \simlib\general
5 |
6 | Author: Nils Haeck M.Sc.
7 | Copyright (c) 2007 - 2013 Simdesign B.V.
8 |
9 | }
10 |
11 | // unicode avoid implicit string cast warning
12 | {$ifdef UNICODE}
13 | {$WARN IMPLICIT_STRING_CAST OFF}
14 | {$endif UNICODE}
15 |
16 | // Delphi and FPC versions
17 |
18 | // Freepascal
19 | {$ifdef FPC}
20 | {$MODE DELPHI}
21 | {$define D7UP}
22 | {$endif FPC}
23 |
24 | // Delphi 5
25 | {$ifdef VER130}
26 | {$define D5UP}
27 | {$endif}
28 |
29 | //Delphi 6
30 | {$ifdef VER140}
31 | {$define D5UP}
32 | {$endif}
33 |
34 | //Delphi 7
35 | {$ifdef VER150}
36 | {$define D7UP}
37 | {$endif}
38 |
39 | //Delphi 8
40 | {$ifdef VER160}
41 | {$define D7UP}
42 | {$endif}
43 |
44 | // Delphi 2005 / 9
45 | {$ifdef VER170}
46 | {$define D7UP}
47 | {$endif}
48 |
49 | // Delphi 2006 / 10
50 | {$ifdef VER180}
51 | {$define D7UP}
52 | // D10 publishes OnMouseEnter / OnMouseLeave
53 | {$define D10UP}
54 | {$endif}
55 |
56 | // Delphi 2007 Rad studio / 11?
57 | {$ifdef VER185}
58 | {$define D7UP}
59 | {$define D10UP}
60 | {$endif}
61 |
62 | // Delphi 2007 - NET / 11?
63 | {$ifdef VER190}
64 | {$define D7UP}
65 | {$define D10UP}
66 | {$endif}
67 |
68 | // Delphi 2009 / 12
69 | // first UNICODE version, so then directive UNICODE is defined, no need for directive D12UP
70 | {$ifdef VER200}
71 | {$define D7UP}
72 | {$define D10UP}
73 | {$endif}
74 |
75 | // Delphi 2010 / 14?
76 | {$ifdef VER210}
77 | {$define D7UP}
78 | {$define D10UP}
79 | {$endif}
80 |
81 | // Delphi XE / 15
82 | {$ifdef VER220}
83 | {$define D7UP}
84 | {$define D10UP}
85 | {$define D15UP}
86 | {$endif}
87 |
88 | // Delphi XE2 / 16
89 | {$ifdef VER230}
90 | {$define D7UP}
91 | {$define D10UP}
92 | {$define D15UP}
93 | {$endif}
94 |
95 | // Delphi XE3 / 17
96 | {$ifdef VER240}
97 | {$define D7UP}
98 | {$define D10UP}
99 | {$define D15UP}
100 | {$endif}
101 |
102 | // Delphi XE4 / 18
103 | {$ifdef VER250}
104 | {$define D7UP}
105 | {$define D10UP}
106 | {$define D15UP}
107 | {$endif}
108 |
109 | // Delphi XE5 / 19
110 | {$ifdef VER260}
111 | {$define D7UP}
112 | {$define D10UP}
113 | {$define D15UP}
114 | {$endif}
115 |
116 | {$if CompilerVersion > 21} // By Rapid D
117 | {$define D7UP}
118 | {$define D10UP}
119 | {$define D15UP}
120 | {$ifend}
121 |
122 |
123 |
--------------------------------------------------------------------------------
/for.RnQ/zip/RnQZip.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/zip/RnQZip.pas
--------------------------------------------------------------------------------
/for.RnQ/zip/ZlibHigh.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/drapid/rnq/8f43a4a272a91654e98f12d76902bff9af184a00/for.RnQ/zip/ZlibHigh.pas
--------------------------------------------------------------------------------