From: <arn...@us...> - 2008-04-14 21:20:50
|
Revision: 1168 http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=1168&view=rev Author: arnetheduck Date: 2008-04-14 14:20:37 -0700 (Mon, 14 Apr 2008) Log Message: ----------- sound patch Modified Paths: -------------- dcplusplus/trunk/changelog.txt dcplusplus/trunk/dcpp/SettingsManager.cpp dcplusplus/trunk/dcpp/SettingsManager.h dcplusplus/trunk/win32/Appearance2Page.cpp dcplusplus/trunk/win32/Appearance2Page.h dcplusplus/trunk/win32/DCPlusPlus.rc dcplusplus/trunk/win32/HubFrame.cpp dcplusplus/trunk/win32/LogPage.cpp dcplusplus/trunk/win32/LogPage.h dcplusplus/trunk/win32/PrivateFrame.cpp dcplusplus/trunk/win32/PropPage.cpp dcplusplus/trunk/win32/PropPage.h dcplusplus/trunk/win32/WinUtil.cpp dcplusplus/trunk/win32/WinUtil.h dcplusplus/trunk/win32/resource.h Property Changed: ---------------- dcplusplus/trunk/ Property changes on: dcplusplus/trunk ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-04-13 20:26:18.454999924 +0200 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus + timestamp: 2008-04-13 20:45:17.299000025 +0200 committer: Jacek Sieka <arn...@gm...> properties: branch-nick: dcplusplus Name: bzr:ancestry:v3-trunk1 - arn...@gm...-20080329054606-ubefm4h98xjgvif9 arn...@gm...-20080329220538-g3f1nvcfh1ycetw7 robert@smir-20080331181318-buvm17zqqym5ryct po...@12...-20080411151741-4v1p7g8chsber07o + arn...@gm...-20080329054606-ubefm4h98xjgvif9 arn...@gm...-20080329220538-g3f1nvcfh1ycetw7 robert@smir-20080331181318-buvm17zqqym5ryct po...@12...-20080411151741-4v1p7g8chsber07o po...@12...-20080412010859-rirxtkww5ilq2pj5 Name: bzr:revision-id:v3-trunk1 - 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 1036 zouzou123gen-20080325004602-6wdsoym95mjuhwd3 1037 arn...@gm...-20080325100659-8fqy6q65itmghlep 1038 zouzou123gen-20080325175216-s297sdiucukfvijh 1039 arn...@gm...-20080325210137-3dfqyoi8ykosy087 1040 arn...@gm...-20080325211747-nwwy1eb33r071sca 1041 arn...@gm...-20080326084110-qbselrjckku275xi 1042 zouzou123gen-20080326123631-35642mgbk2i4ty32 1043 zouzou123gen-20080326124345-f4xwn2d3ty8ubd6r 1044 arn...@gm...-20080326162031-il0nyms30w0mky43 1045 arn...@gm...-20080326164801-8dru8mjc06xgzjpv 1046 arn...@gm...-20080326170438-uzl2rx8fqnohak7g 1047 zouzou123gen-20080326172821-d6uqcbmfb0c6rwlv 1048 arn...@gm...-20080326213257-qlgdh7m2712p2l0q 1049 arn...@gm...-20080326214313-ktnoekgk3s0wmatz 1050 arn...@gm...-20080326215256-0j1iqrf286b9g7zf 1051 arn...@gm...-20080327082121-hoi22wh1gwjdfbyd 1052 arn...@gm...-20080327120639-um3tukdt374rwvgm 1053 zouzou123gen-20080327130703-6vtek6uxy3vua543 1054 arn...@gm...-20080327215831-dmg5mkufskabwkro 1055 arn...@gm...-20080327231459-cdztcv25alsuyqmf 1056 arn...@gm...-20080328085925-gceybsr53oml1p24 1057 arn...@gm...-20080328200512-1sjuu6bcnl2dyd2a 1058 arn...@gm...-20080328210347-bussqjrm5mfswh7o 1059 arn...@gm...-20080329055630-braiir1dskv7a4qm 1060 arn...@gm...-20080329061558-rck8dz60wpj3c5ja 1061 arn...@gm...-20080329081253-if6o5jn329mbzfpl 1062 arn...@gm...-20080329081619-cb4x930j8sp55cs0 1063 arn...@gm...-20080329103216-hgjzo7ra2zixbztd 1064 arn...@gm...-20080329124042-q3aw4iodmo5kafyp 1065 arn...@gm...-20080329124926-2je1z18p0272zpua 1066 arn...@gm...-20080329150901-ehj9t32en7eps2dp 1067 zouzou123gen-20080329153653-36xlvpik2ns9r84r 1068 zouzou123gen-20080329162703-51xr8hg073pg7wq5 1069 zouzou123gen-20080329234706-8ddipdqu0xeudkql 1070 arn...@gm...-20080330081232-ubqr1171ewalrd4q 1071 zouzou123gen-20080330131607-yppbs3mgyjef1cux 1072 zouzou123gen-20080330134835-yv1nogy77ib1uehd 1073 zouzou123gen-20080331124549-alyw7vugdn30piqy 1074 zouzou123gen-20080331135108-q8frtqsin5bosfzm 1075 zouzou123gen-20080331140757-u94q52yccl5lsifk 1076 zouzou123gen-20080331152513-ue1x5qhigcw51348 1077 arn...@gm...-20080331184436-a8g6chibmg8nswls 1078 arn...@gm...-20080331220648-81485k28qmwruwz6 1079 zouzou123gen-20080401081001-2yjn07cf8s5sxr3a 1080 zouzou123gen-20080401081247-f3p4hdjojnd460jw 1081 zouzou123gen-20080401084117-24a454g8o0x656kg 1082 zouzou123gen-20080401133146-jabb5i8870fg6f66 1083 zouzou123gen-20080401154610-mxdqoo5bksru93e6 1084 arn...@gm...-20080401185530-lqj4tflt5ldmx46f 1085 arn...@gm...-20080401212616-ffl7m0xm8gt15knk 1086 arn...@gm...-20080402084515-ofmnwihzv159jton 1087 arn...@gm...-20080402133105-y70soi38owzl76i9 1088 arn...@gm...-20080402142417-rn2dbkx19wfz3vae 1089 arn...@gm...-20080402144459-u3z3hqvl8aqjc4a0 1090 zouzou123gen-20080402145051-zi8tmvy8u3r2mzu8 1091 arn...@gm...-20080402152137-f397uz1yp9qjvfwh 1092 zouzou123gen-20080402170355-29wda40wk3cy7lu5 1093 arn...@gm...-20080402180628-ipos9li0c4bsmq1h 1094 arn...@gm...-20080402181235-s2a6f4ww4lzayl46 1095 arn...@gm...-20080402193851-6mu64vgep6tijith 1096 arn...@gm...-20080402203810-86zpxsx69q83zf3r 1097 arn...@gm...-20080402204331-so2e8n892o23pejr 1098 poy-20080402224153-225qylr2cfwhqrg7 1099 mrmikejj-20080403125112-o8polh8rkn62umyh 1100 arn...@gm...-20080403125139-8xub76j1xazhfxna 1101 po...@12...-20080403140544-13kockkjho883nb4 1102 po...@12...-20080403143012-bxghtoodiolugpbs 1103 arn...@gm...-20080403190809-bbi4bz5rfcvjnt20 1104 arn...@gm...-20080403205410-czxru1vcg1s4wcws 1105 arn...@gm...-20080403213124-54spdrwszgyimd90 1106 po...@12...-20080404002406-aj74x5tngi6mmmj1 1107 arn...@gm...-20080404122415-mjy07qzbaxyhagra 1108 po...@12...-20080404145445-84lyk5tyy3b3br14 1109 po...@12...-20080404231417-v4v8x7u3f0hm0ejc 1110 po...@12...-20080405001107-14d1ojjof8xhvcj8 1111 arn...@gm...-20080405071929-jmnrul21sxx04kky 1112 arn...@gm...-20080405080105-9qbda7be0pi7y1ai 1113 po...@12...-20080405154555-yuj2n5kyndfjlpsf 1114 po...@12...-20080405220250-8y09d0samsj8ja94 1115 po...@12...-20080406134101-4860ytb61sbu3yhg 1116 po...@12...-20080406155849-2wzxzuzs5m8zpk0g 1117 po...@12...-20080406164835-bv5dydhm3qqydsty 1118 arn...@gm...-20080406210237-c7tyfgiz2sjgv044 1119 po...@12...-20080407114423-4yajg1rffidq76bj 1120 arn...@gm...-20080407194826-c42t4bjzw4vflejn 1121 po...@12...-20080407214303-o7ul1bvcn6gvaoc9 1122 po...@12...-20080407220647-r7f3em92til5j67s 1123 po...@12...-20080408212439-54t3bqlhvw1nu4xc 1124 arn...@gm...-20080409193708-y6erfzwrcb1seet3 1125 arn...@gm...-20080409195827-ub6t2s3wdf28nfpz 1126 po...@12...-20080409215055-1zmqhhm2859878c1 1127 arn...@gm...-20080410102447-l4es4cbukkqwcnpc 1128 arn...@gm...-20080410214118-b70g50tl27cq9q29 1129 arn...@gm...-20080411074730-w1pu78qigtx87lx3 1130 arn...@gm...-20080411090724-kwdj9pg9hrv1xhwb 1131 po...@12...-20080411153057-tn7zhxqk0z7ceref 1132 arn...@gm...-20080411200946-ierqlg8v9vzj18n2 1133 arn...@gm...-20080411201718-ecshulwd7ic0wdci 1134 arn...@gm...-20080411204047-jc9vzcsf32j38dvc 1135 arn...@gm...-20080411205445-ojuz2a29yq8ww37j 1136 arn...@gm...-20080411214746-r420xmdgo35pkweb 1137 po...@12...-20080412010723-cibh8r0itlzqyt3f 1138 arn...@gm...-20080412200504-6qfeqnsghxgrk775 1139 arn...@gm...-20080413095435-2pkfb407hk8j54te 1140 arn...@gm...-20080413133927-zw2tpz8o8p3izyix 1141 arn...@gm...-20080413165025-ug342rxtq4blxck5 1142 arn...@gm...-20080413182618-6ihabn0tii6gb2m2 + 1027 arn...@gm...-20080323183926-schknwnkgeo7ivdn 1028 zouzou123gen-20080323220411-r8usuc3qxwuh7zsn 1029 zouzou123gen-20080323221249-0su72zaj13e706mk 1030 arn...@gm...-20080324140623-muba1dl46m000o8c 1031 zouzou123gen-20080324141933-qbgr93ugpe0297m6 1032 arn...@gm...-20080324153706-siidja05n84i00b1 1033 arn...@gm...-20080324153823-lhn3awurnu77riln 1034 arn...@gm...-20080324165650-zapppziji67yf5a2 1035 zouzou123gen-20080324175936-4mqc2kh0lo5wtdu2 1036 zouzou123gen-20080325004602-6wdsoym95mjuhwd3 1037 arn...@gm...-20080325100659-8fqy6q65itmghlep 1038 zouzou123gen-20080325175216-s297sdiucukfvijh 1039 arn...@gm...-20080325210137-3dfqyoi8ykosy087 1040 arn...@gm...-20080325211747-nwwy1eb33r071sca 1041 arn...@gm...-20080326084110-qbselrjckku275xi 1042 zouzou123gen-20080326123631-35642mgbk2i4ty32 1043 zouzou123gen-20080326124345-f4xwn2d3ty8ubd6r 1044 arn...@gm...-20080326162031-il0nyms30w0mky43 1045 arn...@gm...-20080326164801-8dru8mjc06xgzjpv 1046 arn...@gm...-20080326170438-uzl2rx8fqnohak7g 1047 zouzou123gen-20080326172821-d6uqcbmfb0c6rwlv 1048 arn...@gm...-20080326213257-qlgdh7m2712p2l0q 1049 arn...@gm...-20080326214313-ktnoekgk3s0wmatz 1050 arn...@gm...-20080326215256-0j1iqrf286b9g7zf 1051 arn...@gm...-20080327082121-hoi22wh1gwjdfbyd 1052 arn...@gm...-20080327120639-um3tukdt374rwvgm 1053 zouzou123gen-20080327130703-6vtek6uxy3vua543 1054 arn...@gm...-20080327215831-dmg5mkufskabwkro 1055 arn...@gm...-20080327231459-cdztcv25alsuyqmf 1056 arn...@gm...-20080328085925-gceybsr53oml1p24 1057 arn...@gm...-20080328200512-1sjuu6bcnl2dyd2a 1058 arn...@gm...-20080328210347-bussqjrm5mfswh7o 1059 arn...@gm...-20080329055630-braiir1dskv7a4qm 1060 arn...@gm...-20080329061558-rck8dz60wpj3c5ja 1061 arn...@gm...-20080329081253-if6o5jn329mbzfpl 1062 arn...@gm...-20080329081619-cb4x930j8sp55cs0 1063 arn...@gm...-20080329103216-hgjzo7ra2zixbztd 1064 arn...@gm...-20080329124042-q3aw4iodmo5kafyp 1065 arn...@gm...-20080329124926-2je1z18p0272zpua 1066 arn...@gm...-20080329150901-ehj9t32en7eps2dp 1067 zouzou123gen-20080329153653-36xlvpik2ns9r84r 1068 zouzou123gen-20080329162703-51xr8hg073pg7wq5 1069 zouzou123gen-20080329234706-8ddipdqu0xeudkql 1070 arn...@gm...-20080330081232-ubqr1171ewalrd4q 1071 zouzou123gen-20080330131607-yppbs3mgyjef1cux 1072 zouzou123gen-20080330134835-yv1nogy77ib1uehd 1073 zouzou123gen-20080331124549-alyw7vugdn30piqy 1074 zouzou123gen-20080331135108-q8frtqsin5bosfzm 1075 zouzou123gen-20080331140757-u94q52yccl5lsifk 1076 zouzou123gen-20080331152513-ue1x5qhigcw51348 1077 arn...@gm...-20080331184436-a8g6chibmg8nswls 1078 arn...@gm...-20080331220648-81485k28qmwruwz6 1079 zouzou123gen-20080401081001-2yjn07cf8s5sxr3a 1080 zouzou123gen-20080401081247-f3p4hdjojnd460jw 1081 zouzou123gen-20080401084117-24a454g8o0x656kg 1082 zouzou123gen-20080401133146-jabb5i8870fg6f66 1083 zouzou123gen-20080401154610-mxdqoo5bksru93e6 1084 arn...@gm...-20080401185530-lqj4tflt5ldmx46f 1085 arn...@gm...-20080401212616-ffl7m0xm8gt15knk 1086 arn...@gm...-20080402084515-ofmnwihzv159jton 1087 arn...@gm...-20080402133105-y70soi38owzl76i9 1088 arn...@gm...-20080402142417-rn2dbkx19wfz3vae 1089 arn...@gm...-20080402144459-u3z3hqvl8aqjc4a0 1090 zouzou123gen-20080402145051-zi8tmvy8u3r2mzu8 1091 arn...@gm...-20080402152137-f397uz1yp9qjvfwh 1092 zouzou123gen-20080402170355-29wda40wk3cy7lu5 1093 arn...@gm...-20080402180628-ipos9li0c4bsmq1h 1094 arn...@gm...-20080402181235-s2a6f4ww4lzayl46 1095 arn...@gm...-20080402193851-6mu64vgep6tijith 1096 arn...@gm...-20080402203810-86zpxsx69q83zf3r 1097 arn...@gm...-20080402204331-so2e8n892o23pejr 1098 poy-20080402224153-225qylr2cfwhqrg7 1099 mrmikejj-20080403125112-o8polh8rkn62umyh 1100 arn...@gm...-20080403125139-8xub76j1xazhfxna 1101 po...@12...-20080403140544-13kockkjho883nb4 1102 po...@12...-20080403143012-bxghtoodiolugpbs 1103 arn...@gm...-20080403190809-bbi4bz5rfcvjnt20 1104 arn...@gm...-20080403205410-czxru1vcg1s4wcws 1105 arn...@gm...-20080403213124-54spdrwszgyimd90 1106 po...@12...-20080404002406-aj74x5tngi6mmmj1 1107 arn...@gm...-20080404122415-mjy07qzbaxyhagra 1108 po...@12...-20080404145445-84lyk5tyy3b3br14 1109 po...@12...-20080404231417-v4v8x7u3f0hm0ejc 1110 po...@12...-20080405001107-14d1ojjof8xhvcj8 1111 arn...@gm...-20080405071929-jmnrul21sxx04kky 1112 arn...@gm...-20080405080105-9qbda7be0pi7y1ai 1113 po...@12...-20080405154555-yuj2n5kyndfjlpsf 1114 po...@12...-20080405220250-8y09d0samsj8ja94 1115 po...@12...-20080406134101-4860ytb61sbu3yhg 1116 po...@12...-20080406155849-2wzxzuzs5m8zpk0g 1117 po...@12...-20080406164835-bv5dydhm3qqydsty 1118 arn...@gm...-20080406210237-c7tyfgiz2sjgv044 1119 po...@12...-20080407114423-4yajg1rffidq76bj 1120 arn...@gm...-20080407194826-c42t4bjzw4vflejn 1121 po...@12...-20080407214303-o7ul1bvcn6gvaoc9 1122 po...@12...-20080407220647-r7f3em92til5j67s 1123 po...@12...-20080408212439-54t3bqlhvw1nu4xc 1124 arn...@gm...-20080409193708-y6erfzwrcb1seet3 1125 arn...@gm...-20080409195827-ub6t2s3wdf28nfpz 1126 po...@12...-20080409215055-1zmqhhm2859878c1 1127 arn...@gm...-20080410102447-l4es4cbukkqwcnpc 1128 arn...@gm...-20080410214118-b70g50tl27cq9q29 1129 arn...@gm...-20080411074730-w1pu78qigtx87lx3 1130 arn...@gm...-20080411090724-kwdj9pg9hrv1xhwb 1131 po...@12...-20080411153057-tn7zhxqk0z7ceref 1132 arn...@gm...-20080411200946-ierqlg8v9vzj18n2 1133 arn...@gm...-20080411201718-ecshulwd7ic0wdci 1134 arn...@gm...-20080411204047-jc9vzcsf32j38dvc 1135 arn...@gm...-20080411205445-ojuz2a29yq8ww37j 1136 arn...@gm...-20080411214746-r420xmdgo35pkweb 1137 po...@12...-20080412010723-cibh8r0itlzqyt3f 1138 arn...@gm...-20080412200504-6qfeqnsghxgrk775 1139 arn...@gm...-20080413095435-2pkfb407hk8j54te 1140 arn...@gm...-20080413133927-zw2tpz8o8p3izyix 1141 arn...@gm...-20080413165025-ug342rxtq4blxck5 1142 arn...@gm...-20080413182618-6ihabn0tii6gb2m2 1143 arn...@gm...-20080413184517-9p08tedakta1h762 Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/changelog.txt 2008-04-14 21:20:37 UTC (rev 1168) @@ -32,8 +32,8 @@ * Added filter already shared from search results (thanks smir) * [L#206521] Fixed directory not being removable (thanks poy) * Reduced resize flicker some +* Added various sound options (thanks poy) - -- 0.705 2008-03-14 -- * Several patches for better *nix compatibility of the core (thanks steven sheehy et al) * Improve segmented download implementation Modified: dcplusplus/trunk/dcpp/SettingsManager.cpp =================================================================== --- dcplusplus/trunk/dcpp/SettingsManager.cpp 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/dcpp/SettingsManager.cpp 2008-04-14 21:20:37 UTC (rev 1168) @@ -45,15 +45,16 @@ "FinishedULWidths", "FinishedULOrder", "CID", "SpyFrameWidths", "SpyFrameOrder", "LogFileMainChat", "LogFilePrivateChat", "LogFileStatus", "LogFileUpload", "LogFileDownload", "LogFileSystem", "LogFormatSystem", "LogFormatStatus", "DirectoryListingFrameOrder", "DirectoryListingFrameWidths", - "TLSPrivateKeyFile", "TLSCertificateFile", "TLSTrustedCertificatesPath", "BeepFile", + "TLSPrivateKeyFile", "TLSCertificateFile", "TLSTrustedCertificatesPath", "Language", "DownloadsOrder", "DownloadsWidth", + "SoundMainChat", "SoundPM", "SoundPMWindow", "SENTRY", // Ints "IncomingConnections", "InPort", "Slots", "AutoFollow", "ClearSearch", "BackgroundColor", "TextColor", "UseOemMonoFont", "ShareHidden", "FilterMessages", "MinimizeToTray", "AutoSearch", "TimeStamps", "ConfirmExit", "PopupHubPms", "PopupBotPms", "IgnoreHubPms", "IgnoreBotPms", "ListDuplicates", "BufferSize", "DownloadSlots", "MaxDownloadSpeed", "LogMainChat", "LogPrivateChat", - "LogDownloads", "LogUploads", "StatusInChat", "ShowJoins", "PrivateMessageBeep", "PrivateMessageBeepOpen", + "LogDownloads", "LogUploads", "StatusInChat", "ShowJoins", "UseSystemIcons", "PopupPMs", "MinUploadSpeed", "GetUserInfo", "UrlHandler", "MainWindowState", "MainWindowSizeX", "MainWindowSizeY", "MainWindowPosX", "MainWindowPosY", "AutoAway", "SocksPort", "SocksResolve", "KeepLists", "AutoKick", "QueueFrameShowTree", @@ -147,8 +148,6 @@ setDefault(STATUS_IN_CHAT, true); setDefault(SHOW_JOINS, false); setDefault(UPLOAD_SPEED, connectionSpeeds[0]); - setDefault(PRIVATE_MESSAGE_BEEP, false); - setDefault(PRIVATE_MESSAGE_BEEP_OPEN, false); setDefault(USE_SYSTEM_ICONS, true); setDefault(USE_OEM_MONOFONT, false); setDefault(POPUP_PMS, true); Modified: dcplusplus/trunk/dcpp/SettingsManager.h =================================================================== --- dcplusplus/trunk/dcpp/SettingsManager.h 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/dcpp/SettingsManager.h 2008-04-14 21:20:37 UTC (rev 1168) @@ -57,8 +57,9 @@ FINISHED_UL_WIDTHS, FINISHED_UL_ORDER, PRIVATE_ID, SPYFRAME_WIDTHS, SPYFRAME_ORDER, LOG_FILE_MAIN_CHAT, LOG_FILE_PRIVATE_CHAT, LOG_FILE_STATUS, LOG_FILE_UPLOAD, LOG_FILE_DOWNLOAD, LOG_FILE_SYSTEM, LOG_FORMAT_SYSTEM, LOG_FORMAT_STATUS, DIRECTORLISTINGFRAME_ORDER, DIRECTORLISTINGFRAME_WIDTHS, - TLS_PRIVATE_KEY_FILE, TLS_CERTIFICATE_FILE, TLS_TRUSTED_CERTIFICATES_PATH, BEEPFILE, + TLS_PRIVATE_KEY_FILE, TLS_CERTIFICATE_FILE, TLS_TRUSTED_CERTIFICATES_PATH, LANGUAGE, DOWNLOADS_ORDER, DOWNLOADS_WIDTHS, + SOUND_MAIN_CHAT, SOUND_PM, SOUND_PM_WINDOW, STR_LAST }; enum IntSetting { INT_FIRST = STR_LAST + 1, @@ -66,7 +67,7 @@ BACKGROUND_COLOR, TEXT_COLOR, USE_OEM_MONOFONT, SHARE_HIDDEN, FILTER_MESSAGES, MINIMIZE_TRAY, AUTO_SEARCH, TIME_STAMPS, CONFIRM_EXIT, POPUP_HUB_PMS, POPUP_BOT_PMS, IGNORE_HUB_PMS, IGNORE_BOT_PMS, LIST_DUPES, BUFFER_SIZE, DOWNLOAD_SLOTS, MAX_DOWNLOAD_SPEED, LOG_MAIN_CHAT, LOG_PRIVATE_CHAT, - LOG_DOWNLOADS, LOG_UPLOADS, STATUS_IN_CHAT, SHOW_JOINS, PRIVATE_MESSAGE_BEEP, PRIVATE_MESSAGE_BEEP_OPEN, + LOG_DOWNLOADS, LOG_UPLOADS, STATUS_IN_CHAT, SHOW_JOINS, USE_SYSTEM_ICONS, POPUP_PMS, MIN_UPLOAD_SPEED, GET_USER_INFO, URL_HANDLER, MAIN_WINDOW_STATE, MAIN_WINDOW_SIZE_X, MAIN_WINDOW_SIZE_Y, MAIN_WINDOW_POS_X, MAIN_WINDOW_POS_Y, AUTO_AWAY, SOCKS_PORT, SOCKS_RESOLVE, KEEP_LISTS, AUTO_KICK, QUEUEFRAME_SHOW_TREE, Modified: dcplusplus/trunk/win32/Appearance2Page.cpp =================================================================== --- dcplusplus/trunk/win32/Appearance2Page.cpp 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/Appearance2Page.cpp 2008-04-14 21:20:37 UTC (rev 1168) @@ -32,16 +32,14 @@ { IDC_COLOREXAMPLE, IDH_SETTINGS_APPEARANCE2_COLORS }, { IDC_SETTINGS_UPLOAD_BAR_COLOR, IDH_SETTINGS_APPEARANCE2_UPLOAD_BAR_COLOR }, { IDC_SETTINGS_DOWNLOAD_BAR_COLOR, IDH_SETTINGS_APPEARANCE2_DOWNLOAD_BAR_COLOR }, - { IDC_SETTINGS_REQUIRES_RESTART, IDH_SETTINGS_APPEARANCE_REQUIRES_RESTART }, { IDC_BEEP_NOTIFICATION, IDH_SETTINGS_APPEARANCE2_BEEPFILE }, { IDC_BEEPFILE, IDH_SETTINGS_APPEARANCE2_BEEPFILE }, { IDC_BROWSE, IDH_SETTINGS_APPEARANCE2_BEEPFILE }, + { IDC_SETTINGS_REQUIRES_RESTART, IDH_SETTINGS_APPEARANCE_REQUIRES_RESTART }, { 0, 0 } }; PropPage::TextItem Appearance2Page::texts[] = { - { IDC_BEEP_NOTIFICATION, N_("Notification sound") }, - { IDC_BROWSE, N_("&Browse...") }, { IDC_SETTINGS_COLORS, N_("Colors") }, { IDC_SELWINCOLOR, N_("Select &window color") }, { IDC_SELTEXT, N_("Select &text style") }, @@ -49,26 +47,25 @@ { IDC_SETTINGS_REQUIRES_RESTART, N_("Note; most of these options require that you restart DC++") }, { IDC_SETTINGS_UPLOAD_BAR_COLOR, N_("Uploads") }, { IDC_SETTINGS_SOUNDS, N_("Sounds") }, - { IDC_PRIVATE_MESSAGE_BEEP, N_("Make an annoying sound every time a private message is received") }, - { IDC_PRIVATE_MESSAGE_BEEP_OPEN, N_("Make an annoying sound when a private message window is opened") }, { IDC_SETTINGS_DOWNLOAD_BAR_COLOR, N_("Downloads") }, + { IDC_BEEP_NOTIFICATION, N_("Notification sound") }, + { IDC_BROWSE, N_("&Browse...") }, { 0, 0 } }; -PropPage::Item Appearance2Page::items[] = { - { IDC_PRIVATE_MESSAGE_BEEP, SettingsManager::PRIVATE_MESSAGE_BEEP, PropPage::T_BOOL }, - { IDC_PRIVATE_MESSAGE_BEEP_OPEN, SettingsManager::PRIVATE_MESSAGE_BEEP_OPEN, PropPage::T_BOOL }, - { IDC_BEEPFILE, SettingsManager::BEEPFILE, PropPage::T_STR }, - { 0, 0, PropPage::T_END } +Appearance2Page::SoundOption Appearance2Page::soundOptions[] = { + { N_("Every time a main chat message is received"), SettingsManager::SOUND_MAIN_CHAT, Util::emptyStringT }, + { N_("Every time a private message is received"), SettingsManager::SOUND_PM, Util::emptyStringT }, + { N_("When a private message window is opened"), SettingsManager::SOUND_PM_WINDOW, Util::emptyStringT }, + { 0, 0, Util::emptyStringT } }; -Appearance2Page::Appearance2Page(dwt::Widget* parent) : PropPage(parent) { +Appearance2Page::Appearance2Page(dwt::Widget* parent) : PropPage(parent), oldSelection(-1) { createDialog(IDD_APPEARANCE2PAGE); setHelpId(IDH_APPEARANCE2PAGE); WinUtil::setHelpIds(this, helpItems); PropPage::translate(handle(), texts); - PropPage::read(handle(), items, 0, 0); fg = SETTING(TEXT_COLOR); bg = SETTING(BACKGROUND_COLOR); @@ -82,30 +79,48 @@ example->setColor(fg, bg); example->setFont(font); - ButtonPtr button = attachChild<Button>(IDC_SELWINCOLOR); - button->onClicked(std::tr1::bind(&Appearance2Page::handleBackgroundClicked, this)); + attachChild(sounds, IDC_SOUNDS); + PropPage::initList(sounds->handle()); - button = attachChild<Button>(IDC_SELTEXT); - button->onClicked(std::tr1::bind(&Appearance2Page::handleTextClicked, this)); + { + ButtonPtr button = attachChild<Button>(IDC_SELWINCOLOR); + button->onClicked(std::tr1::bind(&Appearance2Page::handleBackgroundClicked, this)); - button = attachChild<Button>(IDC_SETTINGS_UPLOAD_BAR_COLOR); - button->onClicked(std::tr1::bind(&Appearance2Page::handleULClicked, this)); + button = attachChild<Button>(IDC_SELTEXT); + button->onClicked(std::tr1::bind(&Appearance2Page::handleTextClicked, this)); - button = attachChild<Button>(IDC_SETTINGS_DOWNLOAD_BAR_COLOR); - button->onClicked(std::tr1::bind(&Appearance2Page::handleDLClicked, this)); + button = attachChild<Button>(IDC_SETTINGS_UPLOAD_BAR_COLOR); + button->onClicked(std::tr1::bind(&Appearance2Page::handleULClicked, this)); - button = attachChild<Button>(IDC_BROWSE); - button->onClicked(std::tr1::bind(&Appearance2Page::handleBrowseClicked, this)); + button = attachChild<Button>(IDC_SETTINGS_DOWNLOAD_BAR_COLOR); + button->onClicked(std::tr1::bind(&Appearance2Page::handleDLClicked, this)); + } - attachChild<TextBox>(IDC_BEEPFILE); + attachChild(beepFileLabel, IDC_BEEP_NOTIFICATION); + + attachChild(beepFile, IDC_BEEPFILE); + + attachChild(browse, IDC_BROWSE); + browse->onClicked(std::tr1::bind(&Appearance2Page::handleBrowseClicked, this)); + + setBeepEnabled(false); + + for(size_t i = 0; soundOptions[i].setting != 0; ++i) { + soundOptions[i].file = Text::toT(SettingsManager::getInstance()->get((SettingsManager::StrSetting)soundOptions[i].setting)); + + TStringList row; + row.push_back(T_(soundOptions[i].text)); + sounds->setChecked(sounds->insert(row), !soundOptions[i].file.empty()); + } + sounds->setColumnWidth(0, LVSCW_AUTOSIZE); + saveSoundOptions(); + sounds->onSelectionChanged(std::tr1::bind(&Appearance2Page::handleSelectionChanged, this)); } Appearance2Page::~Appearance2Page() { } void Appearance2Page::write() { - PropPage::write(handle(), items, 0,0); - SettingsManager* settings = SettingsManager::getInstance(); settings->set(SettingsManager::TEXT_COLOR, (int)fg); @@ -113,6 +128,10 @@ settings->set(SettingsManager::UPLOAD_BAR_COLOR, (int)upBar); settings->set(SettingsManager::DOWNLOAD_BAR_COLOR, (int)downBar); settings->set(SettingsManager::TEXT_FONT, Text::fromT(WinUtil::encodeFont(logFont))); + + saveSoundOptions(); + for(size_t i = 0; soundOptions[i].setting != 0; ++i) + settings->set((SettingsManager::StrSetting)soundOptions[i].setting, Text::fromT(soundOptions[i].file)); } void Appearance2Page::handleBackgroundClicked() { @@ -151,13 +170,52 @@ } } -void Appearance2Page::handleBrowseClicked() { - TCHAR buf[MAX_PATH]; +void Appearance2Page::handleSelectionChanged() { + saveSoundOptions(); - ::GetDlgItemText(handle(), IDC_BEEPFILE, buf, MAX_PATH); - tstring x = buf; + int sel = sounds->getSelected(); + if(sel >= 0) { + bool checked = sounds->isChecked(sel); + setBeepEnabled(checked); + beepFile->setText( + (checked && soundOptions[sel].file != _T("beep")) + ? soundOptions[sel].file + : Util::emptyStringT + ); + } else { + setBeepEnabled(false); + beepFile->setText(Util::emptyStringT); + } + oldSelection = sel; +} +void Appearance2Page::handleBrowseClicked() { + tstring x = beepFile->getText(); if(createLoadDialog().open(x)) { - setItemText(IDC_BEEPFILE, x); + beepFile->setText(x); } } + +void Appearance2Page::setBeepEnabled(bool enabled) { + beepFileLabel->setEnabled(enabled); + beepFile->setEnabled(enabled); + browse->setEnabled(enabled); +} + +void Appearance2Page::saveSoundOptions() { + for(size_t i = 0; i < sounds->size(); ++i) { + if(sounds->isChecked(i)) { + if(soundOptions[i].file.empty()) + soundOptions[i].file = _T("beep"); + } else + soundOptions[i].file = Util::emptyStringT; + } + + if(oldSelection >= 0) { + if(sounds->isChecked(oldSelection)) { + tstring text = beepFile->getText(); + soundOptions[oldSelection].file = text.empty() ? _T("beep") : text; + } else + soundOptions[oldSelection].file = Util::emptyStringT; + } +} Modified: dcplusplus/trunk/win32/Appearance2Page.h =================================================================== --- dcplusplus/trunk/win32/Appearance2Page.h 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/Appearance2Page.h 2008-04-14 21:20:37 UTC (rev 1168) @@ -30,20 +30,35 @@ virtual void write(); private: - static Item items[]; static TextItem texts[]; + struct SoundOption { + const char* text; + int setting; + tstring file; + }; + static SoundOption soundOptions[]; + LabelPtr example; + TablePtr sounds; + LabelPtr beepFileLabel; + TextBoxPtr beepFile; + ButtonPtr browse; COLORREF fg, bg, upBar, downBar; dwt::FontPtr font; LOGFONT logFont; + int oldSelection; void handleBackgroundClicked(); void handleTextClicked(); void handleULClicked(); void handleDLClicked(); + void handleSelectionChanged(); void handleBrowseClicked(); + + void setBeepEnabled(bool enabled); + void saveSoundOptions(); }; #endif // !defined(DCPLUSPLUS_WIN32_APPEARANCE_2_PAGE_H) Modified: dcplusplus/trunk/win32/DCPlusPlus.rc =================================================================== --- dcplusplus/trunk/win32/DCPlusPlus.rc 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/DCPlusPlus.rc 2008-04-14 21:20:37 UTC (rev 1168) @@ -224,15 +224,12 @@ LTEXT "Donate ???:s! (ok, $$$ is fine too =) (see help menu)",IDC_COLOREXAMPLE,107,17,91,32,SS_NOPREFIX | SS_SUNKEN | WS_BORDER | NOT WS_GROUP PUSHBUTTON "Uploads",IDC_SETTINGS_UPLOAD_BAR_COLOR,209,17,51,14 PUSHBUTTON "Downloads",IDC_SETTINGS_DOWNLOAD_BAR_COLOR,209,35,51,14 - GROUPBOX "Sounds",IDC_SETTINGS_SOUNDS,6,62,264,42 - CONTROL "Make an annoying sound every time a private message is received",IDC_PRIVATE_MESSAGE_BEEP, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,74,246,10 - CONTROL "Make an annoying sound when a private message window is opened",IDC_PRIVATE_MESSAGE_BEEP_OPEN, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,87,246,10 + GROUPBOX "Sounds",IDC_SETTINGS_SOUNDS,6,62,264,77 + CONTROL "",IDC_SOUNDS,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,16,73,244,40 + LTEXT "Notification sound",IDC_BEEP_NOTIFICATION,16,120,66,8 + EDITTEXT IDC_BEEPFILE,85,118,119,12,ES_AUTOHSCROLL + PUSHBUTTON "&Browse...",IDC_BROWSE,210,119,50,12 LTEXT "Note; most of these options require that you restart DC++",IDC_SETTINGS_REQUIRES_RESTART,7,209,253,8 - LTEXT "Notification sound",IDC_BEEP_NOTIFICATION,10,110,66,8 - EDITTEXT IDC_BEEPFILE,85,108,119,12,ES_AUTOHSCROLL - PUSHBUTTON "&Browse...",IDC_BROWSE,210,109,50,12 END IDD_LOGPAGE DIALOGEX 100, 0, 275, 225 Modified: dcplusplus/trunk/win32/HubFrame.cpp =================================================================== --- dcplusplus/trunk/win32/HubFrame.cpp 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/HubFrame.cpp 2008-04-14 21:20:37 UTC (rev 1168) @@ -447,6 +447,7 @@ if(scroll) chat->sendMessage(WM_VSCROLL, SB_BOTTOM); + WinUtil::playSound(SettingsManager::SOUND_MAIN_CHAT); setDirty(SettingsManager::BOLD_HUB); } Modified: dcplusplus/trunk/win32/LogPage.cpp =================================================================== --- dcplusplus/trunk/win32/LogPage.cpp 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/LogPage.cpp 2008-04-14 21:20:37 UTC (rev 1168) @@ -59,7 +59,7 @@ { 0, 0 } }; -LogPage::LogPage(dwt::Widget* parent) : PropPage(parent) { +LogPage::LogPage(dwt::Widget* parent) : PropPage(parent), oldSelection(-1) { createDialog(IDD_LOGPAGE); setHelpId(IDH_LOGPAGE); @@ -78,16 +78,14 @@ attachChild<Button>(IDC_BROWSE_LOG)->onClicked(std::tr1::bind(&LogPage::handleBrowseClicked, this)); - attachChild(dataGrid, IDC_LOG_OPTIONS); - dataGrid->onRaw(std::tr1::bind(&LogPage::handleItemChanged, this), dwt::Message(WM_NOTIFY, LVN_ITEMCHANGED)); + attachChild(logOptions, IDC_LOG_OPTIONS); + logOptions->onSelectionChanged(std::tr1::bind(&LogPage::handleSelectionChanged, this)); logFormat = attachChild<TextBox>(IDC_LOG_FORMAT); logFormat->setEnabled(false); logFile = attachChild<TextBox>(IDC_LOG_FILE); logFile->setEnabled(false); - - oldSelection = -1; } LogPage::~LogPage() { @@ -123,13 +121,13 @@ } } -LRESULT LogPage::handleItemChanged() { +void LogPage::handleSelectionChanged() { getValues(); - int sel = dataGrid->getSelected(); + int sel = logOptions->getSelected(); if(sel >= 0 && sel < LogManager::LAST) { - bool checkState = dataGrid->isChecked(sel); + bool checkState = logOptions->isChecked(sel); logFormat->setEnabled(checkState); logFile->setEnabled(checkState); @@ -145,8 +143,6 @@ logFile->setText(Util::emptyStringT); logFormat->setText(Util::emptyStringT); } - - return 0; } void LogPage::getValues() { Modified: dcplusplus/trunk/win32/LogPage.h =================================================================== --- dcplusplus/trunk/win32/LogPage.h 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/LogPage.h 2008-04-14 21:20:37 UTC (rev 1168) @@ -35,7 +35,7 @@ static TextItem texts[]; static ListItem listItems[]; - TablePtr dataGrid; + TablePtr logOptions; TextBoxPtr logFormat; TextBoxPtr logFile; @@ -47,7 +47,7 @@ TStringPairList options; void handleBrowseClicked(); - LRESULT handleItemChanged(); + void handleSelectionChanged(); void getValues(); }; Modified: dcplusplus/trunk/win32/PrivateFrame.cpp =================================================================== --- dcplusplus/trunk/win32/PrivateFrame.cpp 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/PrivateFrame.cpp 2008-04-14 21:20:37 UTC (rev 1168) @@ -61,21 +61,10 @@ if(!(BOOLSETTING(NO_AWAYMSG_TO_BOTS) && user->isSet(User::BOT))) p->sendMessage(Text::toT(Util::getAwayMessage())); } - - if(BOOLSETTING(PRIVATE_MESSAGE_BEEP) || BOOLSETTING(PRIVATE_MESSAGE_BEEP_OPEN)) { - if (SETTING(BEEPFILE).empty()) - MessageBeep(MB_OK); - else - ::PlaySound(Text::toT(SETTING(BEEPFILE)).c_str(), NULL, SND_FILENAME | SND_ASYNC); - } + WinUtil::playSound(SettingsManager::SOUND_PM_WINDOW); } else { - if(BOOLSETTING(PRIVATE_MESSAGE_BEEP)) { - if (SETTING(BEEPFILE).empty()) - MessageBeep(MB_OK); - else - ::PlaySound(Text::toT(SETTING(BEEPFILE)).c_str(), NULL, SND_FILENAME | SND_ASYNC); - } i->second->addChat(aMessage); + WinUtil::playSound(SettingsManager::SOUND_PM); } } Modified: dcplusplus/trunk/win32/PropPage.cpp =================================================================== --- dcplusplus/trunk/win32/PropPage.cpp 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/PropPage.cpp 2008-04-14 21:20:37 UTC (rev 1168) @@ -63,15 +63,8 @@ } if(listItems != NULL) { - ListView_SetExtendedListViewStyle(list, LVS_EX_LABELTIP | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT); + initList(list); - RECT rc; - ::GetClientRect(list, &rc); - LVCOLUMN lv = { LVCF_FMT | LVCF_WIDTH }; - lv.fmt = LVCFMT_LEFT; - lv.cx = rc.right - rc.left; - ListView_InsertColumn(list, 0, &lv); - LVITEM lvi = { LVIF_TEXT }; for(int i = 0; listItems[i].setting != 0; i++) { tstring str = T_(listItems[i].desc); @@ -85,6 +78,17 @@ } } +void PropPage::initList(HWND list) { + ListView_SetExtendedListViewStyle(list, LVS_EX_LABELTIP | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT); + + RECT rc; + ::GetClientRect(list, &rc); + LVCOLUMN lv = { LVCF_FMT | LVCF_WIDTH }; + lv.fmt = LVCFMT_LEFT; + lv.cx = rc.right - rc.left; + ListView_InsertColumn(list, 0, &lv); +} + void PropPage::write(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = NULL */) { dcassert(page != NULL); Modified: dcplusplus/trunk/win32/PropPage.h =================================================================== --- dcplusplus/trunk/win32/PropPage.h 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/PropPage.h 2008-04-14 21:20:37 UTC (rev 1168) @@ -51,6 +51,7 @@ protected: void read(HWND page, Item const* items, ListItem* listItems = NULL, HWND list = NULL); + void initList(HWND list); void write(HWND page, Item const* items, ListItem* listItems = NULL, HWND list = NULL); void translate(HWND page, TextItem* items); }; Modified: dcplusplus/trunk/win32/WinUtil.cpp =================================================================== --- dcplusplus/trunk/win32/WinUtil.cpp 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/WinUtil.cpp 2008-04-14 21:20:37 UTC (rev 1168) @@ -314,6 +314,16 @@ return true; } +void WinUtil::playSound(int setting) { + string sound = SettingsManager::getInstance()->get((SettingsManager::StrSetting)setting); + if(!sound.empty()) { + if(sound == "beep") + ::MessageBeep(MB_OK); + else + ::PlaySound(Text::toT(sound).c_str(), NULL, SND_FILENAME | SND_ASYNC); + } +} + void WinUtil::openFile(const tstring& file) { ::ShellExecute(NULL, NULL, file.c_str(), NULL, NULL, SW_SHOWNORMAL); } Modified: dcplusplus/trunk/win32/WinUtil.h =================================================================== --- dcplusplus/trunk/win32/WinUtil.h 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/WinUtil.h 2008-04-14 21:20:37 UTC (rev 1168) @@ -105,6 +105,8 @@ */ static bool checkCommand(tstring& cmd, tstring& param, tstring& message, tstring& status, bool& thirdPerson); + static void playSound(int setting); + static void openFile(const tstring& file); static void openFolder(const tstring& file); Modified: dcplusplus/trunk/win32/resource.h =================================================================== --- dcplusplus/trunk/win32/resource.h 2008-04-14 21:19:48 UTC (rev 1167) +++ dcplusplus/trunk/win32/resource.h 2008-04-14 21:20:37 UTC (rev 1168) @@ -269,8 +269,6 @@ #define IDC_PRIO_LOW_SIZE 2126 #define IDC_PRIO_NORMAL_SIZE 2127 #define IDC_PRIVATE_ID 2128 -#define IDC_PRIVATE_MESSAGE_BEEP 2129 -#define IDC_PRIVATE_MESSAGE_BEEP_OPEN 2130 #define IDC_PROXY 2131 #define IDC_PUB_LIST_CONFIG 2132 #define IDC_QUEUE 2133 @@ -443,6 +441,7 @@ #define IDC_SETTINGS_CERTIFICATE_FILE 2300 #define IDC_SETTINGS_TRUSTED_CERTIFICATES_PATH 2301 #define IDC_UPDOWN 2302 +#define IDC_SOUNDS 2303 // Stuff that uses multiple id's #define IDC_BROWSELIST 3000 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |