-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,4 +1,4 @@ -Copyright (c) 1996-2004 Klever Group (http://www.klever.net/) +Copyright (c) 1996-2005 Klever Group (http://www.klever.net/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/DipstickDlg.cpp b/DipstickDlg.cpp index ace2aff..f27b219 100644 --- a/DipstickDlg.cpp +++ b/DipstickDlg.cpp @@ -105,6 +105,8 @@ WORD hi,lo; CString tmp;
VERIFY(tmp.LoadString(IDS_REGEX_HTMLURL));
VERIFY(m_reHTMLURL.Compile(tmp,CRegEx::regExtended|CRegEx::regIgnoreCase));
+ VERIFY(tmp.LoadString(IDS_REGEX_URL));
+ VERIFY(m_reURL.Compile(tmp,CRegEx::regExtended|CRegEx::regIgnoreCase));
}
CDipstickDlg::~CDipstickDlg()
@@ -135,6 +137,7 @@ BEGIN_MESSAGE_MAP(CDipstickDlg, CDialog) ON_WM_QUERYDRAGICON()
ON_WM_DESTROY()
ON_BN_CLICKED(IDC_OPTIONS, OnOptions)
+ ON_MESSAGE(WM_DNP_URLSPING, OnURLSPing)
ON_MESSAGE(WM_DNP_URLPING, OnUrlPing)
ON_MESSAGE(WM_DNP_ACTIVITYCOUNT, OnActivityCount)
ON_MESSAGE(WM_DNP_UPDATEHOSTDATA, OnUpdateHostData)
@@ -1185,6 +1188,7 @@ UINT cfNIF = RegisterClipboardFormat("Netscape Image Format"); delete xf;
}else{
PostMessage(WM_DNP_HTML,0,(LPARAM)xf);
+ rv = TRUE;
}
}while(FALSE);
GlobalUnlock(hg);
@@ -1210,16 +1214,28 @@ UINT cfNIF = RegisterClipboardFormat("Netscape Image Format"); return TRUE;
}
if(pDO->IsDataAvailable(CF_TEXT)){
- if(!bTestOnly){
- HGLOBAL hg = pDO->GetGlobalData(CF_TEXT);
- ASSERT(hg);
- LPVOID lpv = GlobalLock(hg);
- ASSERT(lpv);
- PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString((LPCTSTR)lpv));
- GlobalUnlock(hg);
- GlobalFree(hg);
+ BOOL rv = FALSE;
+ HGLOBAL hg = pDO->GetGlobalData(CF_TEXT);
+ ASSERT(hg);
+ LPVOID lpv = GlobalLock(hg);
+ ASSERT(lpv);
+ if(bTestOnly){
+ rv = m_reURL.Match((LPCSTR)lpv);
+ }else{
+ CString sel = (LPCSTR)lpv;
+ if(m_reURL.Match(sel)) {
+ rv = TRUE;
+ CString tmp = m_reURL.GetMatch(CRegEx::matchPostMatch);
+ if(m_reURL.Match(tmp)) {
+ PostMessage(WM_DNP_URLSPING,0,(LPARAM)new CString((LPCSTR)lpv));
+ }else{
+ PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString((LPCTSTR)lpv));
+ }
+ }
}
- return TRUE;
+ GlobalUnlock(hg);
+ GlobalFree(hg);
+ return rv;
}
return FALSE;
}
@@ -1257,6 +1273,32 @@ CSelectURLsDlg su; return 0;
}
+LRESULT CDipstickDlg::OnURLSPing(WPARAM wP,LPARAM lP)
+{
+CString *sel = (CString*)lP;
+TRACE1("URLS: %s\n",(LPCTSTR)*sel);
+CSelectURLsDlg su;
+ su.m_bAdjust = m_bSmartAdjust;
+ su.m_bAdjustInnermost = m_bAdjustInnermost;
+ BeginWaitCursor();
+ while(m_reURL.Match(*sel)){
+ CString url = m_reURL.GetMatch(CRegEx::matchMatch);
+ (*sel) = m_reURL.GetMatch(CRegEx::matchPostMatch);
+ if(!su.m_URLs.Find(url))
+ VERIFY(su.m_URLs.AddTail(url));
+ }
+ EndWaitCursor();
+ delete sel;
+ if(su.DoModal()==IDOK){
+ POSITION p = su.m_URLs.GetHeadPosition();
+ while(p){
+ CString url = su.m_URLs.GetNext(p);
+ PostMessage(WM_DNP_URLPING,0,(LPARAM)new CString(url));
+ }
+ }
+ return 0;
+}
+
UINT CPingyHost::PingProc(LPVOID pParam)
{
CPingyHost* pThis = (CPingyHost*)pParam;
@@ -1583,4 +1625,4 @@ CSingleLock sl(&pThis->m_mutex); VERIFY(sl.Unlock());
delete pThis;
return 0;
-}
+}
\ No newline at end of file diff --git a/DipstickDlg.h b/DipstickDlg.h index ce9ed22..47c3e01 100644 --- a/DipstickDlg.h +++ b/DipstickDlg.h @@ -43,6 +43,8 @@ class CDipstickDlg : public CDialog CCrackURL src;
};
public:
+ LRESULT OnURLSPing(WPARAM wP,LPARAM lP);
+ CRegEx m_reURL;
BOOL ExportLocations(LPCTSTR file);
CString m_impexPath;
BOOL ImportLocations(LPCTSTR file);
diff --git a/dipstick.rc b/dipstick.rc index 55f9fde..8797946 100644 --- a/dipstick.rc +++ b/dipstick.rc @@ -82,10 +82,9 @@ CAPTION "About Dipstick" FONT 8, "MS Sans Serif"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,11,17,21,20
- LTEXT "Dipstick, Version 3.0",IDC_STATIC,40,7,89,8,
- SS_NOPREFIX
- LTEXT "Copyright © 1996-2004 Klever Group",
- IDC_STATIC,40,25,166,8
+ LTEXT "Dipstick, Version 3.1-trunk",IDC_STATIC,40,7,89,8,SS_NOPREFIX
+ LTEXT "Copyright © 1996-2005 Klever Group",IDC_STATIC,40,25,
+ 166,8
DEFPUSHBUTTON "OK",IDOK,174,7,32,14,WS_GROUP
PUSHBUTTON "http://www.klever.net/",IDC_KLEVERNET,40,40,91,14
END
@@ -94,7 +93,7 @@ IDD_DIPSTICK_DIALOG DIALOGEX 0, 0, 419, 152 STYLE DS_3DLOOK | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_TOOLWINDOW | WS_EX_CLIENTEDGE | WS_EX_CONTEXTHELP |
WS_EX_APPWINDOW
-CAPTION " Dipstick 3.0"
+CAPTION " Dipstick 3.1-trunk"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
CONTROL "List1",IDC_HOSTLIST,"SysListView32",LVS_REPORT |
@@ -263,8 +262,8 @@ END //
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,0,0,0
- PRODUCTVERSION 3,0,0,0
+ FILEVERSION 3,1,0,0
+ PRODUCTVERSION 3,1,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x9L
@@ -281,13 +280,13 @@ BEGIN BEGIN
VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0"
VALUE "FileDescription", "Dipstick, mirror locator\0"
- VALUE "FileVersion", "3, 0, 0, 0\0"
+ VALUE "FileVersion", "3, 1, 0, 0\0"
VALUE "InternalName", "DIPSTICK\0"
- VALUE "LegalCopyright", "Copyright © 1996-2004 Klever Group (http://www.klever.net/)\0"
+ VALUE "LegalCopyright", "Copyright © 1996-2005 Klever Group (http://www.klever.net/)\0"
VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0"
VALUE "OriginalFilename", "DIPSTICK.EXE\0"
VALUE "ProductName", "Dipstick\0"
- VALUE "ProductVersion", "3, 0, 0, 0\0"
+ VALUE "ProductVersion", "3, 1, 0, 0\0"
END
END
BLOCK "VarFileInfo"
@@ -460,7 +459,7 @@ BEGIN IDS_ABEST_CLEANUP "Remove all locations from list?"
IDS_ABEST_NONEFOUND "No reachable locations were found."
IDS_ABEST_TITLE " Dipstick - report"
- IDS_DRAGPAD_TITLE " Dipstick 3.0"
+ IDS_DRAGPAD_TITLE " Dipstick 3.1-trunk"
IDS_DRAGPAD_URLS " %d/%d URL(s)"
IDS_REGEX_HTMLURL "<A[^[:alpha:]][^>]*href[[:space:]]*=[[:space:]]*""?([^[:space:]>""]+)""?[^>]*>"
END
@@ -480,7 +479,7 @@ END STRINGTABLE DISCARDABLE
BEGIN
- IDC_DNDTARGET "Dipstick 3.0, click the right mouse button to display main window, left mouse button for menu"
+ IDC_DNDTARGET "Dipstick 3.1-trunk, click the right mouse button to display main window, left mouse button for menu"
IDC_HOST "Host name as specified or resolved by Dipstick"
END
@@ -537,6 +536,7 @@ END STRINGTABLE DISCARDABLE
BEGIN
IDS_CSVFILTER "Comma Separated Values (*.csv)|*.csv|All Files (*.*)|*.*||"
+ IDS_REGEX_URL "([a-zA-Z]+://)?[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]*)+(/[^ \t\r\n\\f]*)?"
END
#endif // English (U.S.) resources
diff --git a/help/dipstick.rtf b/help/dipstick.rtf index c91b3f4..839d331 100644 --- a/help/dipstick.rtf +++ b/help/dipstick.rtf @@ -18,7 +18,7 @@ K{\footnote about} \par\sa120\sb120\qj\pard \f1\fs18\sb120
\par\sa120\sb120\qj\pard \f1\fs18\sb120 {\b {\i Enjoy!}}
{
-\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/")}
+\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/")}
\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:
\par The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
\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.
@@ -31,6 +31,8 @@ K{\footnote about} #{\footnote News}
${\footnote What's new}
{ \f1\fs18\b\sb120 What's New}
+\par\pard\plain\f1\fs24\qc\cf2\b 3.1 - July 26th, 2005
+\par\pard\plain\fi0\li0\f1\fs18 \bullet Ability to parse multiple URLs from plaintext selection
\par\pard\plain\f1\fs24\qc\cf2\b 3.0 - July 11th, 2004
\par\pard\plain\fi0\li0\f1\fs18 \bullet Change of {\uldb license}{\v About} and opening the source.
\par\pard\plain\fi0\li0\f1\fs18 \bullet Minor cosmetic changes
diff --git a/help/dipstick.xml b/help/dipstick.xml index 4754e47..8ed0383 100644 --- a/help/dipstick.xml +++ b/help/dipstick.xml @@ -5,11 +5,14 @@ <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> <p/> <p><b><i>Enjoy!</i></b></p> - <license years="1996-2004"/> + <license years="1996-2005"/> <credits/> </topic> <topic id="News" title="What's new"> <heading scroll="no">What's New</heading> + <newsfor version="3.1" date="July 26th, 2005"> + <ni>Ability to parse multiple URLs from plaintext selection</ni> + </newsfor> <newsfor version="3.0" date="July 11th, 2004"> <ni>Change of <a href="#About">license</a> and opening the source.</ni> <ni>Minor cosmetic changes</ni> diff --git a/install/install.cpp b/install/install.cpp index 296f3a3..1d91bc2 100644 --- a/install/install.cpp +++ b/install/install.cpp @@ -3,7 +3,7 @@ #define KINNAME "Dipstick"
#define KINSHORT KINNAME
-#define VERSION "3.0"
+#define VERSION "3.1-trunk"
BOOL Install(void)
{
diff --git a/install/install.rc b/install/install.rc index 016c554..2bdee9c 100644 --- a/install/install.rc +++ b/install/install.rc @@ -131,8 +131,8 @@ IDI_ICON ICON DISCARDABLE "../shared-data/install-icon.ico //
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,0,0,0
- PRODUCTVERSION 3,0,0,0
+ FILEVERSION 3,1,0,0
+ PRODUCTVERSION 3,1,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -149,13 +149,13 @@ BEGIN BEGIN
VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0"
VALUE "FileDescription", "INSTALL: Dipstick, mirror locator\0"
- VALUE "FileVersion", "3, 0, 0, 0\0"
+ VALUE "FileVersion", "3, 1, 0, 0\0"
VALUE "InternalName", "INSTALL\0"
- VALUE "LegalCopyright", "Copyright © 1996-2004 Klever Group (http://www.klever.net/)\0"
+ VALUE "LegalCopyright", "Copyright © 1996-2005 Klever Group (http://www.klever.net/)\0"
VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0"
VALUE "OriginalFilename", "INSTALL.EXE\0"
VALUE "ProductName", "Dipstick\0"
- VALUE "ProductVersion", "3, 0, 0, 0\0"
+ VALUE "ProductVersion", "3, 1, 0, 0\0"
END
END
BLOCK "VarFileInfo"
@@ -19,6 +19,7 @@ #define IDS_DRAGPAD_URLS 110
#define IDS_REGEX_HTMLURL 111
#define IDS_CSVFILTER 112
+#define IDS_REGEX_URL 113
#define IDR_MAINFRAME 128
#define IDD_DRAGPAD 129
#define IDR_DNDAVI 130
@@ -29,7 +29,8 @@ enum { WM_DNP_ACTIVITYCOUNT = WM_USER+16,
WM_DNP_URLPING,
WM_DNP_UPDATEHOSTDATA,
- WM_DNP_HTML
+ WM_DNP_HTML,
+ WM_DNP_URLSPING
};
#include <MMSystem.h>
// CG: The following line was added by the Windows Multimedia component.
|