author | Michael Krelin <hacker@klever.net> | 2005-07-25 22:45:28 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2005-07-25 22:45:28 (UTC) |
commit | d2f4327f3752ff30c3b0ec7fdd2e63bc1a1db5ee (patch) (unidiff) | |
tree | 1b5ddc636cee876fac8e90eb78ca3546a1a631b1 | |
parent | 10639b71121a3fe7de24fe141d8dbe399fa283ff (diff) | |
download | dipstick-d2f4327f3752ff30c3b0ec7fdd2e63bc1a1db5ee.zip dipstick-d2f4327f3752ff30c3b0ec7fdd2e63bc1a1db5ee.tar.gz dipstick-d2f4327f3752ff30c3b0ec7fdd2e63bc1a1db5ee.tar.bz2 |
added ability to parse multiple urls from plaintext selection and bumped versions
git-svn-id: http://svn.klever.net/kin/dipstick/trunk@126 fe716a7a-6dde-0310-88d9-d003556173a8
-rw-r--r-- | COPYING | 2 | ||||
-rw-r--r-- | DipstickDlg.cpp | 62 | ||||
-rw-r--r-- | DipstickDlg.h | 2 | ||||
-rw-r--r-- | dipstick.rc | 24 | ||||
-rw-r--r-- | help/dipstick.rtf | 4 | ||||
-rw-r--r-- | help/dipstick.xml | 5 | ||||
-rw-r--r-- | install/install.cpp | 2 | ||||
-rw-r--r-- | install/install.rc | 10 | ||||
-rw-r--r-- | resource.h | 1 | ||||
-rw-r--r-- | stdafx.h | 3 |
10 files changed, 83 insertions, 32 deletions
@@ -1,13 +1,13 @@ | |||
1 | Copyright (c) 1996-2004 Klever Group (http://www.klever.net/) | 1 | Copyright (c) 1996-2005 Klever Group (http://www.klever.net/) |
2 | 2 | ||
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of |
4 | this software and associated documentation files (the "Software"), to deal in | 4 | this software and associated documentation files (the "Software"), to deal in |
5 | the Software without restriction, including without limitation the rights to | 5 | the Software without restriction, including without limitation the rights to |
6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies | 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies |
7 | of the Software, and to permit persons to whom the Software is furnished to do | 7 | of the Software, and to permit persons to whom the Software is furnished to do |
8 | so, subject to the following conditions: | 8 | so, subject to the following conditions: |
9 | 9 | ||
10 | The above copyright notice and this permission notice shall be included in all | 10 | The above copyright notice and this permission notice shall be included in all |
11 | copies or substantial portions of the Software. | 11 | copies or substantial portions of the Software. |
12 | 12 | ||
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
diff --git a/DipstickDlg.cpp b/DipstickDlg.cpp index ace2aff..f27b219 100644 --- a/DipstickDlg.cpp +++ b/DipstickDlg.cpp | |||
@@ -96,24 +96,26 @@ WORD hi,lo; | |||
96 | m_bAdjustInnermost = app->GetProfileInt("Options","AdjustInnermost",m_bAdjustInnermost); | 96 | m_bAdjustInnermost = app->GetProfileInt("Options","AdjustInnermost",m_bAdjustInnermost); |
97 | m_bIgnorelative = app->GetProfileInt("Options","IgnoreRelative",m_bIgnorelative); | 97 | m_bIgnorelative = app->GetProfileInt("Options","IgnoreRelative",m_bIgnorelative); |
98 | m_impexPath = app->GetProfileString("Options","ImportExportPath",m_impexPath); | 98 | m_impexPath = app->GetProfileString("Options","ImportExportPath",m_impexPath); |
99 | //{{AFX_DATA_INIT(CDipstickDlg) | 99 | //{{AFX_DATA_INIT(CDipstickDlg) |
100 | //}}AFX_DATA_INIT | 100 | //}}AFX_DATA_INIT |
101 | // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 | 101 | // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 |
102 | m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); | 102 | m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); |
103 | m_bmpBack.LoadBitmap(IDB_DIABACK); | 103 | m_bmpBack.LoadBitmap(IDB_DIABACK); |
104 | m_bmpBack.GetBitmap(&m_bitmapBack); | 104 | m_bmpBack.GetBitmap(&m_bitmapBack); |
105 | CString tmp; | 105 | CString tmp; |
106 | VERIFY(tmp.LoadString(IDS_REGEX_HTMLURL)); | 106 | VERIFY(tmp.LoadString(IDS_REGEX_HTMLURL)); |
107 | VERIFY(m_reHTMLURL.Compile(tmp,CRegEx::regExtended|CRegEx::regIgnoreCase)); | 107 | VERIFY(m_reHTMLURL.Compile(tmp,CRegEx::regExtended|CRegEx::regIgnoreCase)); |
108 | VERIFY(tmp.LoadString(IDS_REGEX_URL)); | ||
109 | VERIFY(m_reURL.Compile(tmp,CRegEx::regExtended|CRegEx::regIgnoreCase)); | ||
108 | } | 110 | } |
109 | 111 | ||
110 | CDipstickDlg::~CDipstickDlg() | 112 | CDipstickDlg::~CDipstickDlg() |
111 | { | 113 | { |
112 | } | 114 | } |
113 | 115 | ||
114 | void CDipstickDlg::DoDataExchange(CDataExchange* pDX) | 116 | void CDipstickDlg::DoDataExchange(CDataExchange* pDX) |
115 | { | 117 | { |
116 | CDialog::DoDataExchange(pDX); | 118 | CDialog::DoDataExchange(pDX); |
117 | //{{AFX_DATA_MAP(CDipstickDlg) | 119 | //{{AFX_DATA_MAP(CDipstickDlg) |
118 | DDX_Control(pDX, IDC_ADVANCED, m_AdvancedCtl); | 120 | DDX_Control(pDX, IDC_ADVANCED, m_AdvancedCtl); |
119 | DDX_Control(pDX, ID_HELP, m_HelpCtl); | 121 | DDX_Control(pDX, ID_HELP, m_HelpCtl); |
@@ -126,24 +128,25 @@ void CDipstickDlg::DoDataExchange(CDataExchange* pDX) | |||
126 | DDX_Control(pDX, IDC_CLEAR, m_ClearListCtl); | 128 | DDX_Control(pDX, IDC_CLEAR, m_ClearListCtl); |
127 | DDX_Control(pDX, IDC_HOSTLIST, m_HostList); | 129 | DDX_Control(pDX, IDC_HOSTLIST, m_HostList); |
128 | //}}AFX_DATA_MAP | 130 | //}}AFX_DATA_MAP |
129 | } | 131 | } |
130 | 132 | ||
131 | BEGIN_MESSAGE_MAP(CDipstickDlg, CDialog) | 133 | BEGIN_MESSAGE_MAP(CDipstickDlg, CDialog) |
132 | //{{AFX_MSG_MAP(CDipstickDlg) | 134 | //{{AFX_MSG_MAP(CDipstickDlg) |
133 | ON_WM_SYSCOMMAND() | 135 | ON_WM_SYSCOMMAND() |
134 | ON_WM_PAINT() | 136 | ON_WM_PAINT() |
135 | ON_WM_QUERYDRAGICON() | 137 | ON_WM_QUERYDRAGICON() |
136 | ON_WM_DESTROY() | 138 | ON_WM_DESTROY() |
137 | ON_BN_CLICKED(IDC_OPTIONS, OnOptions) | 139 | ON_BN_CLICKED(IDC_OPTIONS, OnOptions) |
140 | ON_MESSAGE(WM_DNP_URLSPING, OnURLSPing) | ||
138 | ON_MESSAGE(WM_DNP_URLPING, OnUrlPing) | 141 | ON_MESSAGE(WM_DNP_URLPING, OnUrlPing) |
139 | ON_MESSAGE(WM_DNP_ACTIVITYCOUNT, OnActivityCount) | 142 | ON_MESSAGE(WM_DNP_ACTIVITYCOUNT, OnActivityCount) |
140 | ON_MESSAGE(WM_DNP_UPDATEHOSTDATA, OnUpdateHostData) | 143 | ON_MESSAGE(WM_DNP_UPDATEHOSTDATA, OnUpdateHostData) |
141 | ON_MESSAGE(WM_DNP_HTML, OnHTMLTransfer) | 144 | ON_MESSAGE(WM_DNP_HTML, OnHTMLTransfer) |
142 | ON_NOTIFY(LVN_COLUMNCLICK, IDC_HOSTLIST, OnColumnclickHostlist) | 145 | ON_NOTIFY(LVN_COLUMNCLICK, IDC_HOSTLIST, OnColumnclickHostlist) |
143 | ON_WM_WINDOWPOSCHANGING() | 146 | ON_WM_WINDOWPOSCHANGING() |
144 | ON_COMMAND(ID_DRAGPAD_OPTIONS, OnDragpadOptions) | 147 | ON_COMMAND(ID_DRAGPAD_OPTIONS, OnDragpadOptions) |
145 | ON_COMMAND(ID_DRAGPAD_SHOWMAINWINDOW, OnDragpadShowmainwindow) | 148 | ON_COMMAND(ID_DRAGPAD_SHOWMAINWINDOW, OnDragpadShowmainwindow) |
146 | ON_COMMAND(ID_DRAGPAD_HELP, OnDragpadHelp) | 149 | ON_COMMAND(ID_DRAGPAD_HELP, OnDragpadHelp) |
147 | ON_COMMAND(ID_DRAGPAD_ABOUT, OnDragpadAbout) | 150 | ON_COMMAND(ID_DRAGPAD_ABOUT, OnDragpadAbout) |
148 | ON_COMMAND(ID_DRAGPAD_EXIT, OnDragpadExit) | 151 | ON_COMMAND(ID_DRAGPAD_EXIT, OnDragpadExit) |
149 | ON_BN_CLICKED(IDC_MANUALPING, OnManualping) | 152 | ON_BN_CLICKED(IDC_MANUALPING, OnManualping) |
@@ -1176,24 +1179,25 @@ UINT cfNIF = RegisterClipboardFormat("Netscape Image Format"); | |||
1176 | _xferHTML* xf = new _xferHTML; | 1179 | _xferHTML* xf = new _xferHTML; |
1177 | VERIFY(xf->src.Crack(sourceURL)); | 1180 | VERIFY(xf->src.Crack(sourceURL)); |
1178 | LPTSTR htmlBuff = xf->html.GetBuffer(endSelection-startSelection+2); | 1181 | LPTSTR htmlBuff = xf->html.GetBuffer(endSelection-startSelection+2); |
1179 | ASSERT(htmlBuff); | 1182 | ASSERT(htmlBuff); |
1180 | memmove(htmlBuff,&lps[startSelection],endSelection-startSelection+1); | 1183 | memmove(htmlBuff,&lps[startSelection],endSelection-startSelection+1); |
1181 | htmlBuff[endSelection-startSelection+1]=0; | 1184 | htmlBuff[endSelection-startSelection+1]=0; |
1182 | xf->html.ReleaseBuffer(); | 1185 | xf->html.ReleaseBuffer(); |
1183 | if(bTestOnly){ | 1186 | if(bTestOnly){ |
1184 | rv = m_reHTMLURL.Match(xf->html); | 1187 | rv = m_reHTMLURL.Match(xf->html); |
1185 | delete xf; | 1188 | delete xf; |
1186 | }else{ | 1189 | }else{ |
1187 | PostMessage(WM_DNP_HTML,0,(LPARAM)xf); | 1190 | PostMessage(WM_DNP_HTML,0,(LPARAM)xf); |
1191 | rv = TRUE; | ||
1188 | } | 1192 | } |
1189 | }while(FALSE); | 1193 | }while(FALSE); |
1190 | GlobalUnlock(hg); | 1194 | GlobalUnlock(hg); |
1191 | GlobalFree(hg); | 1195 | GlobalFree(hg); |
1192 | return rv; | 1196 | return rv; |
1193 | } | 1197 | } |
1194 | if(pDO->IsDataAvailable(cfNIF)){ | 1198 | if(pDO->IsDataAvailable(cfNIF)){ |
1195 | if(!bTestOnly){ | 1199 | if(!bTestOnly){ |
1196 | HGLOBAL hg = pDO->GetGlobalData(cfNIF); | 1200 | HGLOBAL hg = pDO->GetGlobalData(cfNIF); |
1197 | ASSERT(hg); | 1201 | ASSERT(hg); |
1198 | LPVOID lpv = GlobalLock(hg); | 1202 | LPVOID lpv = GlobalLock(hg); |
1199 | ASSERT(lpv); | 1203 | ASSERT(lpv); |
@@ -1201,34 +1205,46 @@ UINT cfNIF = RegisterClipboardFormat("Netscape Image Format"); | |||
1201 | BYTE data[0x20]; | 1205 | BYTE data[0x20]; |
1202 | DWORD m_offDescr; | 1206 | DWORD m_offDescr; |
1203 | DWORD m_offURL; | 1207 | DWORD m_offURL; |
1204 | DWORD m_offToImage; | 1208 | DWORD m_offToImage; |
1205 | } *nif = (_nif*)lpv; | 1209 | } *nif = (_nif*)lpv; |
1206 | PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString((LPCTSTR)&nif->data[nif->m_offURL])); | 1210 | PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString((LPCTSTR)&nif->data[nif->m_offURL])); |
1207 | GlobalUnlock(hg); | 1211 | GlobalUnlock(hg); |
1208 | GlobalFree(hg); | 1212 | GlobalFree(hg); |
1209 | } | 1213 | } |
1210 | return TRUE; | 1214 | return TRUE; |
1211 | } | 1215 | } |
1212 | if(pDO->IsDataAvailable(CF_TEXT)){ | 1216 | if(pDO->IsDataAvailable(CF_TEXT)){ |
1213 | if(!bTestOnly){ | 1217 | BOOL rv = FALSE; |
1214 | HGLOBAL hg = pDO->GetGlobalData(CF_TEXT); | 1218 | HGLOBAL hg = pDO->GetGlobalData(CF_TEXT); |
1215 | ASSERT(hg); | 1219 | ASSERT(hg); |
1216 | LPVOID lpv = GlobalLock(hg); | 1220 | LPVOID lpv = GlobalLock(hg); |
1217 | ASSERT(lpv); | 1221 | ASSERT(lpv); |
1218 | PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString((LPCTSTR)lpv)); | 1222 | if(bTestOnly){ |
1219 | GlobalUnlock(hg); | 1223 | rv = m_reURL.Match((LPCSTR)lpv); |
1220 | GlobalFree(hg); | 1224 | }else{ |
1225 | CString sel = (LPCSTR)lpv; | ||
1226 | if(m_reURL.Match(sel)) { | ||
1227 | rv = TRUE; | ||
1228 | CString tmp = m_reURL.GetMatch(CRegEx::matchPostMatch); | ||
1229 | if(m_reURL.Match(tmp)) { | ||
1230 | PostMessage(WM_DNP_URLSPING,0,(LPARAM)new CString((LPCSTR)lpv)); | ||
1231 | }else{ | ||
1232 | PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString((LPCTSTR)lpv)); | ||
1233 | } | ||
1234 | } | ||
1221 | } | 1235 | } |
1222 | return TRUE; | 1236 | GlobalUnlock(hg); |
1237 | GlobalFree(hg); | ||
1238 | return rv; | ||
1223 | } | 1239 | } |
1224 | return FALSE; | 1240 | return FALSE; |
1225 | } | 1241 | } |
1226 | 1242 | ||
1227 | LRESULT CDipstickDlg::OnHTMLTransfer(WPARAM wP, LPARAM lP) | 1243 | LRESULT CDipstickDlg::OnHTMLTransfer(WPARAM wP, LPARAM lP) |
1228 | { | 1244 | { |
1229 | _xferHTML* xf = (_xferHTML*)lP; | 1245 | _xferHTML* xf = (_xferHTML*)lP; |
1230 | CSelectURLsDlg su; | 1246 | CSelectURLsDlg su; |
1231 | su.m_bAdjust = m_bSmartAdjust; | 1247 | su.m_bAdjust = m_bSmartAdjust; |
1232 | su.m_bAdjustInnermost = m_bAdjustInnermost; | 1248 | su.m_bAdjustInnermost = m_bAdjustInnermost; |
1233 | BeginWaitCursor(); | 1249 | BeginWaitCursor(); |
1234 | while(m_reHTMLURL.Match(xf->html)){ | 1250 | while(m_reHTMLURL.Match(xf->html)){ |
@@ -1248,24 +1264,50 @@ CSelectURLsDlg su; | |||
1248 | EndWaitCursor(); | 1264 | EndWaitCursor(); |
1249 | delete xf; | 1265 | delete xf; |
1250 | if(su.DoModal()==IDOK){ | 1266 | if(su.DoModal()==IDOK){ |
1251 | POSITION p = su.m_URLs.GetHeadPosition(); | 1267 | POSITION p = su.m_URLs.GetHeadPosition(); |
1252 | while(p){ | 1268 | while(p){ |
1253 | CString url = su.m_URLs.GetNext(p); | 1269 | CString url = su.m_URLs.GetNext(p); |
1254 | PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString(url)); | 1270 | PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString(url)); |
1255 | } | 1271 | } |
1256 | } | 1272 | } |
1257 | return 0; | 1273 | return 0; |
1258 | } | 1274 | } |
1259 | 1275 | ||
1276 | LRESULT CDipstickDlg::OnURLSPing(WPARAM wP,LPARAM lP) | ||
1277 | { | ||
1278 | CString *sel = (CString*)lP; | ||
1279 | TRACE1("URLS: %s\n",(LPCTSTR)*sel); | ||
1280 | CSelectURLsDlg su; | ||
1281 | su.m_bAdjust = m_bSmartAdjust; | ||
1282 | su.m_bAdjustInnermost = m_bAdjustInnermost; | ||
1283 | BeginWaitCursor(); | ||
1284 | while(m_reURL.Match(*sel)){ | ||
1285 | CString url = m_reURL.GetMatch(CRegEx::matchMatch); | ||
1286 | (*sel) = m_reURL.GetMatch(CRegEx::matchPostMatch); | ||
1287 | if(!su.m_URLs.Find(url)) | ||
1288 | VERIFY(su.m_URLs.AddTail(url)); | ||
1289 | } | ||
1290 | EndWaitCursor(); | ||
1291 | delete sel; | ||
1292 | if(su.DoModal()==IDOK){ | ||
1293 | POSITION p = su.m_URLs.GetHeadPosition(); | ||
1294 | while(p){ | ||
1295 | CString url = su.m_URLs.GetNext(p); | ||
1296 | PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString(url)); | ||
1297 | } | ||
1298 | } | ||
1299 | return 0; | ||
1300 | } | ||
1301 | |||
1260 | UINT CPingyHost::PingProc(LPVOID pParam) | 1302 | UINT CPingyHost::PingProc(LPVOID pParam) |
1261 | { | 1303 | { |
1262 | CPingyHost* pThis = (CPingyHost*)pParam; | 1304 | CPingyHost* pThis = (CPingyHost*)pParam; |
1263 | ASSERT(pThis->m_Daddy); | 1305 | ASSERT(pThis->m_Daddy); |
1264 | return pThis->DoPing(); | 1306 | return pThis->DoPing(); |
1265 | } | 1307 | } |
1266 | 1308 | ||
1267 | UINT CPingyHost::DoPing() | 1309 | UINT CPingyHost::DoPing() |
1268 | { | 1310 | { |
1269 | CSingleLock slock(&m_mutex); | 1311 | CSingleLock slock(&m_mutex); |
1270 | if(!slock.Lock(2000)){ | 1312 | if(!slock.Lock(2000)){ |
1271 | m_Status.LoadString(IDS_PS_FAILEDTOLOCK); | 1313 | m_Status.LoadString(IDS_PS_FAILEDTOLOCK); |
@@ -1574,13 +1616,13 @@ CSingleLock sl(&m_mutex); | |||
1574 | ASSERT(FALSE); | 1616 | ASSERT(FALSE); |
1575 | } | 1617 | } |
1576 | } | 1618 | } |
1577 | 1619 | ||
1578 | UINT CPingyHost::SuicideProc(LPVOID pParam) | 1620 | UINT CPingyHost::SuicideProc(LPVOID pParam) |
1579 | { | 1621 | { |
1580 | CPingyHost* pThis = (CPingyHost*)pParam; | 1622 | CPingyHost* pThis = (CPingyHost*)pParam; |
1581 | CSingleLock sl(&pThis->m_mutex); | 1623 | CSingleLock sl(&pThis->m_mutex); |
1582 | sl.Lock(); | 1624 | sl.Lock(); |
1583 | VERIFY(sl.Unlock()); | 1625 | VERIFY(sl.Unlock()); |
1584 | delete pThis; | 1626 | delete pThis; |
1585 | return 0; | 1627 | return 0; |
1586 | } | 1628 | } \ No newline at end of file |
diff --git a/DipstickDlg.h b/DipstickDlg.h index ce9ed22..47c3e01 100644 --- a/DipstickDlg.h +++ b/DipstickDlg.h | |||
@@ -34,24 +34,26 @@ typedef CList<CPingyHost*,CPingyHost*> CHostList; | |||
34 | ///////////////////////////////////////////////////////////////////////////// | 34 | ///////////////////////////////////////////////////////////////////////////// |
35 | // CDipstickDlg dialog | 35 | // CDipstickDlg dialog |
36 | 36 | ||
37 | class CDragPad; | 37 | class CDragPad; |
38 | class CDipstickDlg : public CDialog | 38 | class CDipstickDlg : public CDialog |
39 | { | 39 | { |
40 | // Construction | 40 | // Construction |
41 | struct _xferHTML{ | 41 | struct _xferHTML{ |
42 | CString html; | 42 | CString html; |
43 | CCrackURL src; | 43 | CCrackURL src; |
44 | }; | 44 | }; |
45 | public: | 45 | public: |
46 | LRESULT OnURLSPing(WPARAM wP,LPARAM lP); | ||
47 | CRegEx m_reURL; | ||
46 | BOOL ExportLocations(LPCTSTR file); | 48 | BOOL ExportLocations(LPCTSTR file); |
47 | CString m_impexPath; | 49 | CString m_impexPath; |
48 | BOOL ImportLocations(LPCTSTR file); | 50 | BOOL ImportLocations(LPCTSTR file); |
49 | BOOL m_bIgnorelative; | 51 | BOOL m_bIgnorelative; |
50 | CEvent m_eveStartup; | 52 | CEvent m_eveStartup; |
51 | UINT volatile m_ActiveThreads; | 53 | UINT volatile m_ActiveThreads; |
52 | BOOL m_bAdjustInnermost; | 54 | BOOL m_bAdjustInnermost; |
53 | BOOL m_bSmartAdjust; | 55 | BOOL m_bSmartAdjust; |
54 | BOOL CollectURLs(COleDataObject* pDO,BOOL bTestOnly=FALSE); | 56 | BOOL CollectURLs(COleDataObject* pDO,BOOL bTestOnly=FALSE); |
55 | BOOL IsPasteableClipboard(); | 57 | BOOL IsPasteableClipboard(); |
56 | void UpdateDragpadTitle(); | 58 | void UpdateDragpadTitle(); |
57 | BOOL m_bAutoBest; | 59 | BOOL m_bAutoBest; |
diff --git a/dipstick.rc b/dipstick.rc index 55f9fde..8797946 100644 --- a/dipstick.rc +++ b/dipstick.rc | |||
@@ -73,37 +73,36 @@ IDI_UNREACHABLE ICON DISCARDABLE "res\\unreach.ico" | |||
73 | 73 | ||
74 | ///////////////////////////////////////////////////////////////////////////// | 74 | ///////////////////////////////////////////////////////////////////////////// |
75 | // | 75 | // |
76 | // Dialog | 76 | // Dialog |
77 | // | 77 | // |
78 | 78 | ||
79 | IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 213, 61 | 79 | IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 213, 61 |
80 | STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU | 80 | STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU |
81 | CAPTION "About Dipstick" | 81 | CAPTION "About Dipstick" |
82 | FONT 8, "MS Sans Serif" | 82 | FONT 8, "MS Sans Serif" |
83 | BEGIN | 83 | BEGIN |
84 | ICON IDR_MAINFRAME,IDC_STATIC,11,17,21,20 | 84 | ICON IDR_MAINFRAME,IDC_STATIC,11,17,21,20 |
85 | LTEXT "Dipstick, Version 3.0",IDC_STATIC,40,7,89,8, | 85 | LTEXT "Dipstick, Version 3.1-trunk",IDC_STATIC,40,7,89,8,SS_NOPREFIX |
86 | SS_NOPREFIX | 86 | LTEXT "Copyright © 1996-2005 Klever Group",IDC_STATIC,40,25, |
87 | LTEXT "Copyright © 1996-2004 Klever Group", | 87 | 166,8 |
88 | IDC_STATIC,40,25,166,8 | ||
89 | DEFPUSHBUTTON "OK",IDOK,174,7,32,14,WS_GROUP | 88 | DEFPUSHBUTTON "OK",IDOK,174,7,32,14,WS_GROUP |
90 | PUSHBUTTON "http://www.klever.net/",IDC_KLEVERNET,40,40,91,14 | 89 | PUSHBUTTON "http://www.klever.net/",IDC_KLEVERNET,40,40,91,14 |
91 | END | 90 | END |
92 | 91 | ||
93 | IDD_DIPSTICK_DIALOG DIALOGEX 0, 0, 419, 152 | 92 | IDD_DIPSTICK_DIALOG DIALOGEX 0, 0, 419, 152 |
94 | STYLE DS_3DLOOK | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | 93 | STYLE DS_3DLOOK | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME |
95 | EXSTYLE WS_EX_TOOLWINDOW | WS_EX_CLIENTEDGE | WS_EX_CONTEXTHELP | | 94 | EXSTYLE WS_EX_TOOLWINDOW | WS_EX_CLIENTEDGE | WS_EX_CONTEXTHELP | |
96 | WS_EX_APPWINDOW | 95 | WS_EX_APPWINDOW |
97 | CAPTION " Dipstick 3.0" | 96 | CAPTION " Dipstick 3.1-trunk" |
98 | FONT 8, "MS Sans Serif", 0, 0, 0x1 | 97 | FONT 8, "MS Sans Serif", 0, 0, 0x1 |
99 | BEGIN | 98 | BEGIN |
100 | CONTROL "List1",IDC_HOSTLIST,"SysListView32",LVS_REPORT | | 99 | CONTROL "List1",IDC_HOSTLIST,"SysListView32",LVS_REPORT | |
101 | LVS_SORTASCENDING | LVS_AUTOARRANGE | WS_BORDER | | 100 | LVS_SORTASCENDING | LVS_AUTOARRANGE | WS_BORDER | |
102 | WS_TABSTOP,8,8,349,136,WS_EX_CLIENTEDGE | 101 | WS_TABSTOP,8,8,349,136,WS_EX_CLIENTEDGE |
103 | PUSHBUTTON "&Manual Ping",IDC_MANUALPING,361,8,50,14 | 102 | PUSHBUTTON "&Manual Ping",IDC_MANUALPING,361,8,50,14 |
104 | PUSHBUTTON "&Reping",IDC_REPING,361,23,50,14,WS_DISABLED | 103 | PUSHBUTTON "&Reping",IDC_REPING,361,23,50,14,WS_DISABLED |
105 | PUSHBUTTON "Reping &All",IDC_REPINGALL,361,38,50,14,WS_DISABLED | 104 | PUSHBUTTON "Reping &All",IDC_REPINGALL,361,38,50,14,WS_DISABLED |
106 | PUSHBUTTON "R&emove",IDC_REMOVE,361,53,50,14,WS_DISABLED | 105 | PUSHBUTTON "R&emove",IDC_REMOVE,361,53,50,14,WS_DISABLED |
107 | PUSHBUTTON "Remove A&ll",IDC_CLEAR,361,68,50,14,WS_DISABLED | 106 | PUSHBUTTON "Remove A&ll",IDC_CLEAR,361,68,50,14,WS_DISABLED |
108 | PUSHBUTTON "&Help",ID_HELP,361,99,50,14 | 107 | PUSHBUTTON "&Help",ID_HELP,361,99,50,14 |
109 | PUSHBUTTON "&Options",IDC_OPTIONS,361,114,50,14 | 108 | PUSHBUTTON "&Options",IDC_OPTIONS,361,114,50,14 |
@@ -254,49 +253,49 @@ BEGIN | |||
254 | BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,63, | 253 | BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP,63, |
255 | 175,106,10 | 254 | 175,106,10 |
256 | END | 255 | END |
257 | 256 | ||
258 | 257 | ||
259 | #ifndef _MAC | 258 | #ifndef _MAC |
260 | ///////////////////////////////////////////////////////////////////////////// | 259 | ///////////////////////////////////////////////////////////////////////////// |
261 | // | 260 | // |
262 | // Version | 261 | // Version |
263 | // | 262 | // |
264 | 263 | ||
265 | VS_VERSION_INFO VERSIONINFO | 264 | VS_VERSION_INFO VERSIONINFO |
266 | FILEVERSION 3,0,0,0 | 265 | FILEVERSION 3,1,0,0 |
267 | PRODUCTVERSION 3,0,0,0 | 266 | PRODUCTVERSION 3,1,0,0 |
268 | FILEFLAGSMASK 0x3fL | 267 | FILEFLAGSMASK 0x3fL |
269 | #ifdef _DEBUG | 268 | #ifdef _DEBUG |
270 | FILEFLAGS 0x9L | 269 | FILEFLAGS 0x9L |
271 | #else | 270 | #else |
272 | FILEFLAGS 0x8L | 271 | FILEFLAGS 0x8L |
273 | #endif | 272 | #endif |
274 | FILEOS 0x4L | 273 | FILEOS 0x4L |
275 | FILETYPE 0x1L | 274 | FILETYPE 0x1L |
276 | FILESUBTYPE 0x0L | 275 | FILESUBTYPE 0x0L |
277 | BEGIN | 276 | BEGIN |
278 | BLOCK "StringFileInfo" | 277 | BLOCK "StringFileInfo" |
279 | BEGIN | 278 | BEGIN |
280 | BLOCK "040904b0" | 279 | BLOCK "040904b0" |
281 | BEGIN | 280 | BEGIN |
282 | VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0" | 281 | VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0" |
283 | VALUE "FileDescription", "Dipstick, mirror locator\0" | 282 | VALUE "FileDescription", "Dipstick, mirror locator\0" |
284 | VALUE "FileVersion", "3, 0, 0, 0\0" | 283 | VALUE "FileVersion", "3, 1, 0, 0\0" |
285 | VALUE "InternalName", "DIPSTICK\0" | 284 | VALUE "InternalName", "DIPSTICK\0" |
286 | VALUE "LegalCopyright", "Copyright © 1996-2004 Klever Group (http://www.klever.net/)\0" | 285 | VALUE "LegalCopyright", "Copyright © 1996-2005 Klever Group (http://www.klever.net/)\0" |
287 | VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0" | 286 | VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0" |
288 | VALUE "OriginalFilename", "DIPSTICK.EXE\0" | 287 | VALUE "OriginalFilename", "DIPSTICK.EXE\0" |
289 | VALUE "ProductName", "Dipstick\0" | 288 | VALUE "ProductName", "Dipstick\0" |
290 | VALUE "ProductVersion", "3, 0, 0, 0\0" | 289 | VALUE "ProductVersion", "3, 1, 0, 0\0" |
291 | END | 290 | END |
292 | END | 291 | END |
293 | BLOCK "VarFileInfo" | 292 | BLOCK "VarFileInfo" |
294 | BEGIN | 293 | BEGIN |
295 | VALUE "Translation", 0x409, 1200 | 294 | VALUE "Translation", 0x409, 1200 |
296 | END | 295 | END |
297 | END | 296 | END |
298 | 297 | ||
299 | #endif // !_MAC | 298 | #endif // !_MAC |
300 | 299 | ||
301 | 300 | ||
302 | ///////////////////////////////////////////////////////////////////////////// | 301 | ///////////////////////////////////////////////////////////////////////////// |
@@ -451,45 +450,45 @@ IDW_BESTURL WAVE DISCARDABLE "res\\best.wav" | |||
451 | // | 450 | // |
452 | 451 | ||
453 | STRINGTABLE DISCARDABLE | 452 | STRINGTABLE DISCARDABLE |
454 | BEGIN | 453 | BEGIN |
455 | IDS_ABOUTBOX "&About Dipstick.." | 454 | IDS_ABOUTBOX "&About Dipstick.." |
456 | IDS_PS_FAILEDTOLOCK "Failed to gain access to internal resources. Please, report to Klever." | 455 | IDS_PS_FAILEDTOLOCK "Failed to gain access to internal resources. Please, report to Klever." |
457 | IDP_SOCKETS_INIT_FAILED "Windows sockets initialization failed." | 456 | IDP_SOCKETS_INIT_FAILED "Windows sockets initialization failed." |
458 | IDS_CSVEXT ".csv" | 457 | IDS_CSVEXT ".csv" |
459 | IDS_HN_BADURL "Bad URL" | 458 | IDS_HN_BADURL "Bad URL" |
460 | IDS_ABEST_CLEANUP "Remove all locations from list?" | 459 | IDS_ABEST_CLEANUP "Remove all locations from list?" |
461 | IDS_ABEST_NONEFOUND "No reachable locations were found." | 460 | IDS_ABEST_NONEFOUND "No reachable locations were found." |
462 | IDS_ABEST_TITLE " Dipstick - report" | 461 | IDS_ABEST_TITLE " Dipstick - report" |
463 | IDS_DRAGPAD_TITLE " Dipstick 3.0" | 462 | IDS_DRAGPAD_TITLE " Dipstick 3.1-trunk" |
464 | IDS_DRAGPAD_URLS " %d/%d URL(s)" | 463 | IDS_DRAGPAD_URLS " %d/%d URL(s)" |
465 | IDS_REGEX_HTMLURL "<A[^[:alpha:]][^>]*href[[:space:]]*=[[:space:]]*""?([^[:space:]>""]+)""?[^>]*>" | 464 | IDS_REGEX_HTMLURL "<A[^[:alpha:]][^>]*href[[:space:]]*=[[:space:]]*""?([^[:space:]>""]+)""?[^>]*>" |
466 | END | 465 | END |
467 | 466 | ||
468 | STRINGTABLE DISCARDABLE | 467 | STRINGTABLE DISCARDABLE |
469 | BEGIN | 468 | BEGIN |
470 | IDS_KLEVERNET_URL "http://www.klever.net/" | 469 | IDS_KLEVERNET_URL "http://www.klever.net/" |
471 | IDS_PS_INTERNALERROR "Internal Error. Please report to Klever." | 470 | IDS_PS_INTERNALERROR "Internal Error. Please report to Klever." |
472 | IDS_PS_NETUNREACHABLE "Destination network unreachable" | 471 | IDS_PS_NETUNREACHABLE "Destination network unreachable" |
473 | IDS_PS_HOSTUNREACHABLE "Destination host unreachable" | 472 | IDS_PS_HOSTUNREACHABLE "Destination host unreachable" |
474 | IDS_PS_PROTUNREACHABLE "Destination protocol unreachable" | 473 | IDS_PS_PROTUNREACHABLE "Destination protocol unreachable" |
475 | IDS_PS_PORTUNREACHABLE "Destination port unreachable" | 474 | IDS_PS_PORTUNREACHABLE "Destination port unreachable" |
476 | IDS_PS_NORESOURCES "No resources" | 475 | IDS_PS_NORESOURCES "No resources" |
477 | IDS_PS_HWERROR "Hardware error" | 476 | IDS_PS_HWERROR "Hardware error" |
478 | IDS_PS_BIGPACKET "Packet size is too big" | 477 | IDS_PS_BIGPACKET "Packet size is too big" |
479 | END | 478 | END |
480 | 479 | ||
481 | STRINGTABLE DISCARDABLE | 480 | STRINGTABLE DISCARDABLE |
482 | BEGIN | 481 | BEGIN |
483 | IDC_DNDTARGET "Dipstick 3.0, click the right mouse button to display main window, left mouse button for menu" | 482 | IDC_DNDTARGET "Dipstick 3.1-trunk, click the right mouse button to display main window, left mouse button for menu" |
484 | IDC_HOST "Host name as specified or resolved by Dipstick" | 483 | IDC_HOST "Host name as specified or resolved by Dipstick" |
485 | END | 484 | END |
486 | 485 | ||
487 | STRINGTABLE DISCARDABLE | 486 | STRINGTABLE DISCARDABLE |
488 | BEGIN | 487 | BEGIN |
489 | IDC_URLCAPTION "Universal Resource Locator (URL) associated with this location" | 488 | IDC_URLCAPTION "Universal Resource Locator (URL) associated with this location" |
490 | IDC_URL "Universal Resource Locator (URL) associated with this location" | 489 | IDC_URL "Universal Resource Locator (URL) associated with this location" |
491 | IDC_HOSTCAPTION "Host name as specified or resolved by Dipstick" | 490 | IDC_HOSTCAPTION "Host name as specified or resolved by Dipstick" |
492 | IDC_IPCAPTION "Host's IP address as specified or resolved by Dipstick" | 491 | IDC_IPCAPTION "Host's IP address as specified or resolved by Dipstick" |
493 | IDC_TIMESCAPTION "Minmum, maximum and average round trip time in milliseconds. The less the better." | 492 | IDC_TIMESCAPTION "Minmum, maximum and average round trip time in milliseconds. The less the better." |
494 | IDC_TIMES "Minmum, maximum and average round trip time in milliseconds. The less the better." | 493 | IDC_TIMES "Minmum, maximum and average round trip time in milliseconds. The less the better." |
495 | IDC_LOSSCAPTION "IP packets loss" | 494 | IDC_LOSSCAPTION "IP packets loss" |
@@ -528,24 +527,25 @@ BEGIN | |||
528 | IDS_TIP_OPTIONSCANCEL "Click CANCEL to leave dialog without making any changes" | 527 | IDS_TIP_OPTIONSCANCEL "Click CANCEL to leave dialog without making any changes" |
529 | IDS_TIP_PINGING "This location is being pinged at the moment.." | 528 | IDS_TIP_PINGING "This location is being pinged at the moment.." |
530 | END | 529 | END |
531 | 530 | ||
532 | STRINGTABLE DISCARDABLE | 531 | STRINGTABLE DISCARDABLE |
533 | BEGIN | 532 | BEGIN |
534 | IDC_MSWORKAROUND "In case of REDIRed URL - test the innermost one" | 533 | IDC_MSWORKAROUND "In case of REDIRed URL - test the innermost one" |
535 | END | 534 | END |
536 | 535 | ||
537 | STRINGTABLE DISCARDABLE | 536 | STRINGTABLE DISCARDABLE |
538 | BEGIN | 537 | BEGIN |
539 | IDS_CSVFILTER "Comma Separated Values (*.csv)|*.csv|All Files (*.*)|*.*||" | 538 | IDS_CSVFILTER "Comma Separated Values (*.csv)|*.csv|All Files (*.*)|*.*||" |
539 | IDS_REGEX_URL "([a-zA-Z]+://)?[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]*)+(/[^ \t\r\n\\f]*)?" | ||
540 | END | 540 | END |
541 | 541 | ||
542 | #endif // English (U.S.) resources | 542 | #endif // English (U.S.) resources |
543 | ///////////////////////////////////////////////////////////////////////////// | 543 | ///////////////////////////////////////////////////////////////////////////// |
544 | 544 | ||
545 | 545 | ||
546 | 546 | ||
547 | #ifndef APSTUDIO_INVOKED | 547 | #ifndef APSTUDIO_INVOKED |
548 | ///////////////////////////////////////////////////////////////////////////// | 548 | ///////////////////////////////////////////////////////////////////////////// |
549 | // | 549 | // |
550 | // Generated from the TEXTINCLUDE 3 resource. | 550 | // Generated from the TEXTINCLUDE 3 resource. |
551 | // | 551 | // |
diff --git a/help/dipstick.rtf b/help/dipstick.rtf index c91b3f4..839d331 100644 --- a/help/dipstick.rtf +++ b/help/dipstick.rtf | |||
@@ -9,37 +9,39 @@ DO NOT MODIFY THIS FILE DIRECTLY. EDIT XML DOCUMENT INSTEAD | |||
9 | \red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128; | 9 | \red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128; |
10 | \red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;} | 10 | \red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;} |
11 | 11 | ||
12 | \pard\plain\keepn | 12 | \pard\plain\keepn |
13 | #{\footnote About} | 13 | #{\footnote About} |
14 | ${\footnote About Dipstick} | 14 | ${\footnote About Dipstick} |
15 | K{\footnote about} | 15 | K{\footnote about} |
16 | { \f1\fs18\b\sb120 About {\b Dipstick}} | 16 | { \f1\fs18\b\sb120 About {\b Dipstick}} |
17 | \par\sa120\sb120\qj\pard \f1\fs18\sb120 {\b Dipstick} is our award-winning freeware that allows you to evaluate {\i mirror sites} to figure out which one has currently the least traffic. | 17 | \par\sa120\sb120\qj\pard \f1\fs18\sb120 {\b Dipstick} is our award-winning freeware that allows you to evaluate {\i mirror sites} to figure out which one has currently the least traffic. |
18 | \par\sa120\sb120\qj\pard \f1\fs18\sb120 | 18 | \par\sa120\sb120\qj\pard \f1\fs18\sb120 |
19 | \par\sa120\sb120\qj\pard \f1\fs18\sb120 {\b {\i Enjoy!}} | 19 | \par\sa120\sb120\qj\pard \f1\fs18\sb120 {\b {\i Enjoy!}} |
20 | { | 20 | { |
21 | \par\pard\plain\sb360\sa120 \f1\fs16 Copyright (c) 1996-2004 {\uldb\cf0 Klever Group (http://www.klever.net/)}{\v %!ExecFile("http://www.klever.net/")} | 21 | \par\pard\plain\sb360\sa120 \f1\fs16 Copyright (c) 1996-2005 {\uldb\cf0 Klever Group (http://www.klever.net/)}{\v %!ExecFile("http://www.klever.net/")} |
22 | \par\qj\sb120\sa120Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | 22 | \par\qj\sb120\sa120Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: |
23 | \par The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | 23 | \par The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. |
24 | \par \sa360 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 24 | \par \sa360 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
25 | } | 25 | } |
26 | \par \sa0\sb120\ql \f1\fs16 Author: {\b\uldb\cf11 Michael Krelin ({\i hacker@klever.net})}{\v %!ExecFile("mailto:hacker@klever.net")} | 26 | \par \sa0\sb120\ql \f1\fs16 Author: {\b\uldb\cf11 Michael Krelin ({\i hacker@klever.net})}{\v %!ExecFile("mailto:hacker@klever.net")} |
27 | \par \sa0\sb0 Fan mail send to {\i\uldb gefilte@klever.net}{\v %!ExecFile("mailto:gefilte@klever.net")} | 27 | \par \sa0\sb0 Fan mail send to {\i\uldb gefilte@klever.net}{\v %!ExecFile("mailto:gefilte@klever.net")} |
28 | \page | 28 | \page |
29 | 29 | ||
30 | \pard\plain\keepn | 30 | \pard\plain\keepn |
31 | #{\footnote News} | 31 | #{\footnote News} |
32 | ${\footnote What's new} | 32 | ${\footnote What's new} |
33 | { \f1\fs18\b\sb120 What's New} | 33 | { \f1\fs18\b\sb120 What's New} |
34 | \par\pard\plain\f1\fs24\qc\cf2\b 3.1 - July 26th, 2005 | ||
35 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Ability to parse multiple URLs from plaintext selection | ||
34 | \par\pard\plain\f1\fs24\qc\cf2\b 3.0 - July 11th, 2004 | 36 | \par\pard\plain\f1\fs24\qc\cf2\b 3.0 - July 11th, 2004 |
35 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Change of {\uldb license}{\v About} and opening the source. | 37 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Change of {\uldb license}{\v About} and opening the source. |
36 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Minor cosmetic changes | 38 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Minor cosmetic changes |
37 | \par\pard\plain\f1\fs24\qc\cf2\b 2.52 - June 3rd, 1998 | 39 | \par\pard\plain\f1\fs24\qc\cf2\b 2.52 - June 3rd, 1998 |
38 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Now works properly with Winsock 2 for Windows95. Also may start working with non-Microsoft TCP/IP stacks. | 40 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Now works properly with Winsock 2 for Windows95. Also may start working with non-Microsoft TCP/IP stacks. |
39 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Fixed bug that caused GPF when removing all URLs after testing is over and you picked the URL of your choice. | 41 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Fixed bug that caused GPF when removing all URLs after testing is over and you picked the URL of your choice. |
40 | \par\pard\plain\f1\fs24\qc\cf2\b 2.5 - December 30th, 1997 | 42 | \par\pard\plain\f1\fs24\qc\cf2\b 2.5 - December 30th, 1997 |
41 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Ability to export/import sets of URLs. | 43 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Ability to export/import sets of URLs. |
42 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Copy URL menu command in the Main Window and button in the Best URL window. | 44 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Copy URL menu command in the Main Window and button in the Best URL window. |
43 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Multiple URLs dragging or pasting. Works only for MSIE4 browser. | 45 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Multiple URLs dragging or pasting. Works only for MSIE4 browser. |
44 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Annoying ToolTips removed. | 46 | \par\pard\plain\fi0\li0\f1\fs18 \bullet Annoying ToolTips removed. |
45 | \par\pard\plain\f1\fs24\qc\cf2\b 2.00 - July 1st, 1997 | 47 | \par\pard\plain\f1\fs24\qc\cf2\b 2.00 - July 1st, 1997 |
diff --git a/help/dipstick.xml b/help/dipstick.xml index 4754e47..8ed0383 100644 --- a/help/dipstick.xml +++ b/help/dipstick.xml | |||
@@ -1,24 +1,27 @@ | |||
1 | <?xml version="1.0"?> | 1 | <?xml version="1.0"?> |
2 | <winhelp> | 2 | <winhelp> |
3 | <topic id="About" title="About Dipstick" keywords="about"> | 3 | <topic id="About" title="About Dipstick" keywords="about"> |
4 | <heading scroll="no">About <kin>Dipstick</kin></heading> | 4 | <heading scroll="no">About <kin>Dipstick</kin></heading> |
5 | <p><kin>Dipstick</kin> is our award-winning freeware that allows you to evaluate <term>mirror sites</term> to figure out which one has currently the least traffic.</p> | 5 | <p><kin>Dipstick</kin> is our award-winning freeware that allows you to evaluate <term>mirror sites</term> to figure out which one has currently the least traffic.</p> |
6 | <p/> | 6 | <p/> |
7 | <p><b><i>Enjoy!</i></b></p> | 7 | <p><b><i>Enjoy!</i></b></p> |
8 | <license years="1996-2004"/> | 8 | <license years="1996-2005"/> |
9 | <credits/> | 9 | <credits/> |
10 | </topic> | 10 | </topic> |
11 | <topic id="News" title="What's new"> | 11 | <topic id="News" title="What's new"> |
12 | <heading scroll="no">What's New</heading> | 12 | <heading scroll="no">What's New</heading> |
13 | <newsfor version="3.1" date="July 26th, 2005"> | ||
14 | <ni>Ability to parse multiple URLs from plaintext selection</ni> | ||
15 | </newsfor> | ||
13 | <newsfor version="3.0" date="July 11th, 2004"> | 16 | <newsfor version="3.0" date="July 11th, 2004"> |
14 | <ni>Change of <a href="#About">license</a> and opening the source.</ni> | 17 | <ni>Change of <a href="#About">license</a> and opening the source.</ni> |
15 | <ni>Minor cosmetic changes</ni> | 18 | <ni>Minor cosmetic changes</ni> |
16 | </newsfor> | 19 | </newsfor> |
17 | <newsfor version="2.52" date="June 3rd, 1998"> | 20 | <newsfor version="2.52" date="June 3rd, 1998"> |
18 | <ni>Now works properly with Winsock 2 for Windows95. Also may start working with non-Microsoft TCP/IP stacks.</ni> | 21 | <ni>Now works properly with Winsock 2 for Windows95. Also may start working with non-Microsoft TCP/IP stacks.</ni> |
19 | <ni>Fixed bug that caused GPF when removing all URLs after testing is over and you picked the URL of your choice.</ni> | 22 | <ni>Fixed bug that caused GPF when removing all URLs after testing is over and you picked the URL of your choice.</ni> |
20 | </newsfor> | 23 | </newsfor> |
21 | <newsfor version="2.5" date="December 30th, 1997"> | 24 | <newsfor version="2.5" date="December 30th, 1997"> |
22 | <ni>Ability to export/import sets of URLs.</ni> | 25 | <ni>Ability to export/import sets of URLs.</ni> |
23 | <ni>Copy URL menu command in the Main Window and button in the Best URL window.</ni> | 26 | <ni>Copy URL menu command in the Main Window and button in the Best URL window.</ni> |
24 | <ni>Multiple URLs dragging or pasting. Works only for MSIE4 browser.</ni> | 27 | <ni>Multiple URLs dragging or pasting. Works only for MSIE4 browser.</ni> |
diff --git a/install/install.cpp b/install/install.cpp index 296f3a3..1d91bc2 100644 --- a/install/install.cpp +++ b/install/install.cpp | |||
@@ -1,18 +1,18 @@ | |||
1 | #include "resource.h" | 1 | #include "resource.h" |
2 | #include "../shared-code/install.h" | 2 | #include "../shared-code/install.h" |
3 | 3 | ||
4 | #define KINNAME "Dipstick" | 4 | #define KINNAME "Dipstick" |
5 | #define KINSHORT KINNAME | 5 | #define KINSHORT KINNAME |
6 | #define VERSION "3.0" | 6 | #define VERSION "3.1-trunk" |
7 | 7 | ||
8 | BOOL Install(void) | 8 | BOOL Install(void) |
9 | { | 9 | { |
10 | STRING dPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group",KINSHORT "Path"); | 10 | STRING dPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group",KINSHORT "Path"); |
11 | STRING kPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group","KINPath"); | 11 | STRING kPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group","KINPath"); |
12 | LPCSTR qPath = ((LPCSTR)dPath)?(LPCSTR)dPath:(((LPCSTR)kPath)?(LPSTR)kPath:"C:\\Program Files\\Klever\\Nothings"); | 12 | LPCSTR qPath = ((LPCSTR)dPath)?(LPCSTR)dPath:(((LPCSTR)kPath)?(LPSTR)kPath:"C:\\Program Files\\Klever\\Nothings"); |
13 | STRING path = REQUESTPATH(" " KINNAME " " VERSION,"\nEnter destination path:",qPath); | 13 | STRING path = REQUESTPATH(" " KINNAME " " VERSION,"\nEnter destination path:",qPath); |
14 | if(!path) | 14 | if(!path) |
15 | return NULL; | 15 | return NULL; |
16 | 16 | ||
17 | #ifdefK_ANNED | 17 | #ifdefK_ANNED |
18 | STRING sysDir(_MAX_PATH); | 18 | STRING sysDir(_MAX_PATH); |
diff --git a/install/install.rc b/install/install.rc index 016c554..2bdee9c 100644 --- a/install/install.rc +++ b/install/install.rc | |||
@@ -122,49 +122,49 @@ END | |||
122 | 122 | ||
123 | // Icon with lowest ID value placed first to ensure application icon | 123 | // Icon with lowest ID value placed first to ensure application icon |
124 | // remains consistent on all systems. | 124 | // remains consistent on all systems. |
125 | IDI_ICON ICON DISCARDABLE "../shared-data/install-icon.ico" | 125 | IDI_ICON ICON DISCARDABLE "../shared-data/install-icon.ico" |
126 | 126 | ||
127 | #ifndef _MAC | 127 | #ifndef _MAC |
128 | ///////////////////////////////////////////////////////////////////////////// | 128 | ///////////////////////////////////////////////////////////////////////////// |
129 | // | 129 | // |
130 | // Version | 130 | // Version |
131 | // | 131 | // |
132 | 132 | ||
133 | VS_VERSION_INFO VERSIONINFO | 133 | VS_VERSION_INFO VERSIONINFO |
134 | FILEVERSION 3,0,0,0 | 134 | FILEVERSION 3,1,0,0 |
135 | PRODUCTVERSION 3,0,0,0 | 135 | PRODUCTVERSION 3,1,0,0 |
136 | FILEFLAGSMASK 0x3fL | 136 | FILEFLAGSMASK 0x3fL |
137 | #ifdef _DEBUG | 137 | #ifdef _DEBUG |
138 | FILEFLAGS 0x1L | 138 | FILEFLAGS 0x1L |
139 | #else | 139 | #else |
140 | FILEFLAGS 0x0L | 140 | FILEFLAGS 0x0L |
141 | #endif | 141 | #endif |
142 | FILEOS 0x40004L | 142 | FILEOS 0x40004L |
143 | FILETYPE 0x1L | 143 | FILETYPE 0x1L |
144 | FILESUBTYPE 0x0L | 144 | FILESUBTYPE 0x0L |
145 | BEGIN | 145 | BEGIN |
146 | BLOCK "StringFileInfo" | 146 | BLOCK "StringFileInfo" |
147 | BEGIN | 147 | BEGIN |
148 | BLOCK "040904b0" | 148 | BLOCK "040904b0" |
149 | BEGIN | 149 | BEGIN |
150 | VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0" | 150 | VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0" |
151 | VALUE "FileDescription", "INSTALL: Dipstick, mirror locator\0" | 151 | VALUE "FileDescription", "INSTALL: Dipstick, mirror locator\0" |
152 | VALUE "FileVersion", "3, 0, 0, 0\0" | 152 | VALUE "FileVersion", "3, 1, 0, 0\0" |
153 | VALUE "InternalName", "INSTALL\0" | 153 | VALUE "InternalName", "INSTALL\0" |
154 | VALUE "LegalCopyright", "Copyright © 1996-2004 Klever Group (http://www.klever.net/)\0" | 154 | VALUE "LegalCopyright", "Copyright © 1996-2005 Klever Group (http://www.klever.net/)\0" |
155 | VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0" | 155 | VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0" |
156 | VALUE "OriginalFilename", "INSTALL.EXE\0" | 156 | VALUE "OriginalFilename", "INSTALL.EXE\0" |
157 | VALUE "ProductName", "Dipstick\0" | 157 | VALUE "ProductName", "Dipstick\0" |
158 | VALUE "ProductVersion", "3, 0, 0, 0\0" | 158 | VALUE "ProductVersion", "3, 1, 0, 0\0" |
159 | END | 159 | END |
160 | END | 160 | END |
161 | BLOCK "VarFileInfo" | 161 | BLOCK "VarFileInfo" |
162 | BEGIN | 162 | BEGIN |
163 | VALUE "Translation", 0x409, 1200 | 163 | VALUE "Translation", 0x409, 1200 |
164 | END | 164 | END |
165 | END | 165 | END |
166 | 166 | ||
167 | #endif // !_MAC | 167 | #endif // !_MAC |
168 | 168 | ||
169 | #endif // English (U.S.) resources | 169 | #endif // English (U.S.) resources |
170 | ///////////////////////////////////////////////////////////////////////////// | 170 | ///////////////////////////////////////////////////////////////////////////// |
@@ -10,24 +10,25 @@ | |||
10 | #define IDS_PS_FAILEDTOLOCK 102 | 10 | #define IDS_PS_FAILEDTOLOCK 102 |
11 | #define IDP_SOCKETS_INIT_FAILED 103 | 11 | #define IDP_SOCKETS_INIT_FAILED 103 |
12 | #define IDS_REGEX_CRACKHOST 104 | 12 | #define IDS_REGEX_CRACKHOST 104 |
13 | #define IDS_CSVEXT 104 | 13 | #define IDS_CSVEXT 104 |
14 | #define IDS_HN_BADURL 105 | 14 | #define IDS_HN_BADURL 105 |
15 | #define IDS_ABEST_CLEANUP 106 | 15 | #define IDS_ABEST_CLEANUP 106 |
16 | #define IDS_ABEST_NONEFOUND 107 | 16 | #define IDS_ABEST_NONEFOUND 107 |
17 | #define IDS_ABEST_TITLE 108 | 17 | #define IDS_ABEST_TITLE 108 |
18 | #define IDS_DRAGPAD_TITLE 109 | 18 | #define IDS_DRAGPAD_TITLE 109 |
19 | #define IDS_DRAGPAD_URLS 110 | 19 | #define IDS_DRAGPAD_URLS 110 |
20 | #define IDS_REGEX_HTMLURL 111 | 20 | #define IDS_REGEX_HTMLURL 111 |
21 | #define IDS_CSVFILTER 112 | 21 | #define IDS_CSVFILTER 112 |
22 | #define IDS_REGEX_URL 113 | ||
22 | #define IDR_MAINFRAME 128 | 23 | #define IDR_MAINFRAME 128 |
23 | #define IDD_DRAGPAD 129 | 24 | #define IDD_DRAGPAD 129 |
24 | #define IDR_DNDAVI 130 | 25 | #define IDR_DNDAVI 130 |
25 | #define IDD_OPTIONS 132 | 26 | #define IDD_OPTIONS 132 |
26 | #define IDR_MENU 133 | 27 | #define IDR_MENU 133 |
27 | #define IDD_MANUALHOST 134 | 28 | #define IDD_MANUALHOST 134 |
28 | #define IDD_PROPS 135 | 29 | #define IDD_PROPS 135 |
29 | #define IDI_PINGING 136 | 30 | #define IDI_PINGING 136 |
30 | #define IDI_PENDING 137 | 31 | #define IDI_PENDING 137 |
31 | #define IDI_COMPLETED 138 | 32 | #define IDI_COMPLETED 138 |
32 | #define IDI_UNREACHABLE 139 | 33 | #define IDI_UNREACHABLE 139 |
33 | #define IDB_DIABACK 140 | 34 | #define IDB_DIABACK 140 |
@@ -20,17 +20,18 @@ | |||
20 | #include <winsock.h> | 20 | #include <winsock.h> |
21 | #include "shared-code/ms_icmp.h" | 21 | #include "shared-code/ms_icmp.h" |
22 | #include "shared-code/ip_icmp.h" | 22 | #include "shared-code/ip_icmp.h" |
23 | 23 | ||
24 | #include "shared-code/kICMP.h" | 24 | #include "shared-code/kICMP.h" |
25 | #include "shared-code/RegEx.h" | 25 | #include "shared-code/RegEx.h" |
26 | #include "CrackURL.h" | 26 | #include "CrackURL.h" |
27 | 27 | ||
28 | enum{ | 28 | enum{ |
29 | WM_DNP_ACTIVITYCOUNT = WM_USER+16, | 29 | WM_DNP_ACTIVITYCOUNT = WM_USER+16, |
30 | WM_DNP_URLPING, | 30 | WM_DNP_URLPING, |
31 | WM_DNP_UPDATEHOSTDATA, | 31 | WM_DNP_UPDATEHOSTDATA, |
32 | WM_DNP_HTML | 32 | WM_DNP_HTML, |
33 | WM_DNP_URLSPING | ||
33 | }; | 34 | }; |
34 | #include <MMSystem.h> | 35 | #include <MMSystem.h> |
35 | // CG: The following line was added by the Windows Multimedia component. | 36 | // CG: The following line was added by the Windows Multimedia component. |
36 | #pragma comment(lib, "winmm.lib") | 37 | #pragma comment(lib, "winmm.lib") |