From 22fc637bc88d35a6eafbb5b5152c790be97334cb Mon Sep 17 00:00:00 2001 From: drowe67 Date: Tue, 20 Nov 2012 10:07:13 +0000 Subject: [PATCH] looks up svn revision from the Internet git-svn-id: https://svn.code.sf.net/p/freetel/code@1040 01035d8c-6547-0410-b346-abe4f91aad63 --- fdmdv2/src/Makefile.linux | 2 +- fdmdv2/src/Makefile.win32 | 2 +- fdmdv2/src/fdmdv2_main.cpp | 33 ++++++++++++++++++++++++++++++++- fdmdv2/src/fdmdv2_main.h | 2 ++ 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/fdmdv2/src/Makefile.linux b/fdmdv2/src/Makefile.linux index f14905af..ac444e0f 100644 --- a/fdmdv2/src/Makefile.linux +++ b/fdmdv2/src/Makefile.linux @@ -10,7 +10,7 @@ CODEC2_PATH=/home/david/codec2-dev WX_CONFIG=$(WX_GTK_PATH)/wx-config WX_CPPFLAGS = $(shell $(WX_CONFIG) --cxxflags) -WX_LIBS = $(shell $(WX_CONFIG) --libs core, base, aui, adv) +WX_LIBS = $(shell $(WX_CONFIG) --libs core, base, aui, adv, net) SVN_REVISION=$(shell svnversion) CODEC2_INC=-I$(CODEC2_PATH)/src CODEC2_LIB=$(CODEC2_PATH)/src/.libs/libcodec2.a diff --git a/fdmdv2/src/Makefile.win32 b/fdmdv2/src/Makefile.win32 index 4c586f5b..bdadcd9c 100644 --- a/fdmdv2/src/Makefile.win32 +++ b/fdmdv2/src/Makefile.win32 @@ -10,7 +10,7 @@ INCLUDE_PATH=/usr/local/include WX_CONFIG=wx-config WX_CPPFLAGS = $(shell $(WX_CONFIG) --cxxflags) -D__WXDEBUG__ -WX_LIBS = $(shell $(WX_CONFIG) --libs core, base, aui, adv) +WX_LIBS = $(shell $(WX_CONFIG) --libs core, base, aui, adv, net) SVN_REVISION=$(shell svnversion) CODEC2_INC=$(CODEC2_PATH)/src CODEC2_LIB=$(CODEC2_PATH)/src/.libs/libcodec2.a diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index 9013e517..6335fdae 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -1108,11 +1108,42 @@ void MainFrame::OnHelpCheckUpdatesUI(wxUpdateUIEvent& event) //------------------------------------------------------------------------- void MainFrame::OnHelpAbout(wxCommandEvent& event) { + wxString svnLatestRev("Can't determine latest SVN revision."); + + // Try to determine current SVN revision from the Internet + + wxURL url(wxT("http://freetel.svn.sourceforge.net/svnroot/freetel/fdmdv2/")); + + if(url.GetError() == wxURL_NOERR) + { + printf("URL OK\n"); + wxString htmldata; + wxInputStream *in = url.GetInputStream(); + + if(in && in->IsOk()) + { + printf("In OK\n"); + wxStringOutputStream html_stream(&htmldata); + in->Read(html_stream); + wxLogDebug(htmldata); + + wxString s("

freetel - Revision "); + int startIndex = htmldata.find(s) + s.Length(); + int endIndex = htmldata.find(wxT(": /fdmdv2

")); + svnLatestRev = wxT("Latest svn revision: ") + htmldata.SubString(startIndex, endIndex-1); + printf("startIndex: %d endIndex: %d\n", startIndex, endIndex); + } + + delete in; + } + else + printf("failed to parse URL\n"); + wxString msg; msg.Printf( wxT("FreeDV: Narrow Band Digital Voice over Radio Application.\n\n") wxT("GNU Public License V2.1\n") wxT("Copyright (c) David Witten KD0EAG and David Rowe VK5DGR\n\n") - wxT("svn revision %s"), SVN_REV); + wxT("svn revision: %s\n") + svnLatestRev, SVN_REV); wxMessageBox(msg, wxT("About"), wxOK | wxICON_INFORMATION, this); } diff --git a/fdmdv2/src/fdmdv2_main.h b/fdmdv2/src/fdmdv2_main.h index fab0a9f3..1b3ec7ce 100644 --- a/fdmdv2/src/fdmdv2_main.h +++ b/fdmdv2/src/fdmdv2_main.h @@ -39,6 +39,8 @@ #include "wx/stopwatch.h" #include "wx/versioninfo.h" #include +#include +#include #include -- 2.25.1