partially fixed bug #1672315: NSIS Menu not portable to Linux wxGTK
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4983 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
140845e1bb
commit
4580795d2f
3 changed files with 25 additions and 19 deletions
|
@ -46,16 +46,12 @@ Import('BuildUtil env')
|
|||
import os
|
||||
from os.path import join
|
||||
|
||||
if os.environ.has_key('WXWIN'):
|
||||
# directories
|
||||
|
||||
wxlib = [join(os.environ['WXWIN'], 'lib', 'vc_libnsis')]
|
||||
wxinc = [
|
||||
join(os.environ['WXWIN'], 'include'),
|
||||
join(os.environ['WXWIN'], 'lib', 'vc_libnsis', 'msw')
|
||||
]
|
||||
if env['PLATFORM'] != 'win32' or os.environ.has_key('WXWIN'):
|
||||
|
||||
# build
|
||||
|
||||
if env['PLATFORM'] != 'win32':
|
||||
rc = libs = []
|
||||
|
||||
nsis_menu = BuildUtil(
|
||||
target,
|
||||
|
@ -64,13 +60,22 @@ if os.environ.has_key('WXWIN'):
|
|||
res = rc,
|
||||
resources = resources,
|
||||
flags = ['$MSVCRT_FLAG', '$EXCEPTION_FLAG'],
|
||||
root_util = True
|
||||
root_util = True,
|
||||
cross_platform = True
|
||||
)
|
||||
|
||||
# set directories
|
||||
|
||||
nsis_menu[0].env.Append(LIBPATH = wxlib)
|
||||
nsis_menu[0].env.Append(CPPPATH = wxinc)
|
||||
if nsis_menu[0].env['PLATFORM'] == 'win32':
|
||||
wxlib = [join(os.environ['WXWIN'], 'lib', 'vc_libnsis')]
|
||||
wxinc = [
|
||||
join(os.environ['WXWIN'], 'include'),
|
||||
join(os.environ['WXWIN'], 'lib', 'vc_libnsis', 'msw')
|
||||
]
|
||||
nsis_menu[0].env.Append(LIBPATH = wxlib)
|
||||
nsis_menu[0].env.Append(CPPPATH = wxinc)
|
||||
else:
|
||||
nsis_menu[0].env.ParseConfig('wx-config --cxxflags --libs')
|
||||
|
||||
# install menu files
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ private:
|
|||
|
||||
// Create the main application window
|
||||
MyFrame *frame = new MyFrame(_("NSIS Menu"),
|
||||
wxPoint(50, 50), wxSize(600 + GetSystemMetrics(SM_CXDLGFRAME), 382 + GetSystemMetrics(SM_CYDLGFRAME)));
|
||||
wxPoint(50, 50), wxSize(600 + wxSystemSettings::GetMetric(wxSYS_FRAMESIZE_X), 382 + wxSystemSettings::GetMetric(wxSYS_FRAMESIZE_X)));
|
||||
|
||||
// Show it and tell the application that it's our main window
|
||||
|
||||
|
@ -133,7 +133,7 @@ private:
|
|||
wxSize DialogSize(1000, 1000);
|
||||
DialogSize = UnitConvert.ConvertDialogToPixels(DialogSize);
|
||||
int fonts[7] = {0, 0, 14000 / (DialogSize.GetWidth()), 19000 / (DialogSize.GetWidth()), 0, 0, 0};
|
||||
m_Html->SetFonts("", "", fonts);
|
||||
m_Html->SetFonts(wxString(), wxString(), fonts);
|
||||
|
||||
m_Html->LoadPage(wxT("Menu/index.html"));
|
||||
|
||||
|
@ -149,10 +149,10 @@ void MyFrame::OnLink(wxHtmlLinkEvent& event)
|
|||
if (e == NULL || e->LeftUp())
|
||||
{
|
||||
const wxString href = event.GetLinkInfo().GetHref();
|
||||
if (href.Left(3).IsSameAs("EX:", false))
|
||||
if (href.Left(3).IsSameAs((const wxChar*)"EX:", false))
|
||||
{
|
||||
wxString url = href.Mid(3);
|
||||
if (url.Left(7).IsSameAs("http://", false) || url.Left(6).IsSameAs("irc://", false))
|
||||
if (url.Left(7).IsSameAs((const wxChar*)"http://", false) || url.Left(6).IsSameAs((const wxChar*)"irc://", false))
|
||||
{
|
||||
::wxLaunchDefaultBrowser(url);
|
||||
}
|
||||
|
@ -170,4 +170,5 @@ void MyFrame::OnLink(wxHtmlLinkEvent& event)
|
|||
event.Skip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// Name: src/html/m_links.cpp
|
||||
// Purpose: wxHtml module for links & anchors
|
||||
// Author: Vaclav Slavik
|
||||
// RCS-ID: $Id: m_links.cpp,v 1.18 2006/04/18 08:11:25 ABX Exp $
|
||||
// RCS-ID: $Id: nslinks.cpp,v 1.1 2007/02/24 18:57:09 kichik Exp $
|
||||
// Copyright: (c) 1999 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -60,10 +60,10 @@ TAG_HANDLER_BEGIN(A, "A")
|
|||
wxColour colour = m_WParser->GetLinkColor();
|
||||
wxHtmlLinkInfo linkInfo(name, target);
|
||||
|
||||
if (name.Left(3).IsSameAs("EX:", false))
|
||||
if (name.Left(3).IsSameAs((const wxChar*)"EX:", false))
|
||||
{
|
||||
wxString url = name.Mid(3);
|
||||
if (!url.Left(7).IsSameAs("http://", false) && !url.Left(6).IsSameAs("irc://", false))
|
||||
if (!url.Left(7).IsSameAs((const wxChar*)"http://", false) && !url.Left(6).IsSameAs((const wxChar*)"irc://", false))
|
||||
{
|
||||
wxString exePath = wxStandardPaths::Get().GetExecutablePath();
|
||||
wxString path = ::wxPathOnly(exePath);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue