diff --git a/eeschema/dialogs/dialog_erc.cpp b/eeschema/dialogs/dialog_erc.cpp
index 184a3cd1d8..7c3c26cb51 100644
--- a/eeschema/dialogs/dialog_erc.cpp
+++ b/eeschema/dialogs/dialog_erc.cpp
@@ -394,6 +394,8 @@ void DIALOG_ERC::OnRunERCClick( wxCommandEvent& event )
}
}
+ m_ignoredList->SetColumnWidth( 0, m_ignoredList->GetParent()->GetClientSize().x - 20 );
+
Raise();
m_runningResultsBook->ChangeSelection( 0 ); // Display the "Tests Running..." tab
@@ -911,18 +913,9 @@ void DIALOG_ERC::ExcludeMarker( SCH_MARKER* aMarker )
}
-void DIALOG_ERC::OnIgnoreItemRClick( wxListEvent& event )
+void DIALOG_ERC::OnEditViolationSeverities( wxHyperlinkEvent& aEvent )
{
- wxMenu menu;
-
- menu.Append( 1, _( "Edit ignored violations..." ), _( "Open the Schematic Setup... dialog" ) );
-
- switch( GetPopupMenuSelectionFromUser( menu ) )
- {
- case 1:
- m_parent->ShowSchematicSetupDialog( _( "Violation Severity" ) );
- break;
- }
+ m_parent->ShowSchematicSetupDialog( _( "Violation Severity" ) );
}
diff --git a/eeschema/dialogs/dialog_erc.h b/eeschema/dialogs/dialog_erc.h
index 42e051c518..3bc539bbfa 100644
--- a/eeschema/dialogs/dialog_erc.h
+++ b/eeschema/dialogs/dialog_erc.h
@@ -79,7 +79,7 @@ private:
void OnERCItemSelected( wxDataViewEvent& aEvent ) override;
void OnERCItemDClick( wxDataViewEvent& aEvent ) override;
void OnERCItemRClick( wxDataViewEvent& aEvent ) override;
- void OnIgnoreItemRClick( wxListEvent& event ) override;
+ void OnEditViolationSeverities( wxHyperlinkEvent& aEvent ) override;
void OnLinkClicked( wxHtmlLinkEvent& event ) override;
diff --git a/eeschema/dialogs/dialog_erc_base.cpp b/eeschema/dialogs/dialog_erc_base.cpp
index 2ed3c4e9f2..37feadc8a4 100644
--- a/eeschema/dialogs/dialog_erc_base.cpp
+++ b/eeschema/dialogs/dialog_erc_base.cpp
@@ -58,7 +58,7 @@ DIALOG_ERC_BASE::DIALOG_ERC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
bSizer10->Fit( m_panelMessages );
m_runningNotebook->AddPage( m_panelMessages, _("Tests Running..."), true );
- bSizer14->Add( m_runningNotebook, 1, wxEXPAND | wxALL, 5 );
+ bSizer14->Add( m_runningNotebook, 1, wxEXPAND, 5 );
running->SetSizer( bSizer14 );
@@ -78,7 +78,10 @@ DIALOG_ERC_BASE::DIALOG_ERC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
m_markerDataView->SetToolTip( _("Click on items to highlight them on the board.") );
m_markerDataView->SetMinSize( wxSize( 640,260 ) );
- bViolationsSizer->Add( m_markerDataView, 2, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
+ bViolationsSizer->Add( m_markerDataView, 2, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bViolationsSizer->Add( 0, 8, 0, wxEXPAND, 5 );
violationsPanel->SetSizer( bViolationsSizer );
@@ -90,7 +93,13 @@ DIALOG_ERC_BASE::DIALOG_ERC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
bSizer15 = new wxBoxSizer( wxVERTICAL );
m_ignoredList = new wxListCtrl( m_panelIgnored, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_HEADER|wxLC_REPORT );
- bSizer15->Add( m_ignoredList, 1, wxALL|wxEXPAND, 5 );
+ bSizer15->Add( m_ignoredList, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ m_violationSeveritiesLink = new wxHyperlinkCtrl( m_panelIgnored, wxID_ANY, _("Edit ignored tests"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ bSizer15->Add( m_violationSeveritiesLink, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer15->Add( 0, 8, 0, wxEXPAND, 5 );
m_panelIgnored->SetSizer( bSizer15 );
@@ -191,7 +200,7 @@ DIALOG_ERC_BASE::DIALOG_ERC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
m_markerDataView->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler( DIALOG_ERC_BASE::OnERCItemDClick ), NULL, this );
m_markerDataView->Connect( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler( DIALOG_ERC_BASE::OnERCItemRClick ), NULL, this );
m_markerDataView->Connect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_ERC_BASE::OnERCItemSelected ), NULL, this );
- m_ignoredList->Connect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( DIALOG_ERC_BASE::OnIgnoreItemRClick ), NULL, this );
+ m_violationSeveritiesLink->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_ERC_BASE::OnEditViolationSeverities ), NULL, this );
m_showAll->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnSeverity ), NULL, this );
m_showErrors->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnSeverity ), NULL, this );
m_showWarnings->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnSeverity ), NULL, this );
@@ -211,7 +220,7 @@ DIALOG_ERC_BASE::~DIALOG_ERC_BASE()
m_markerDataView->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler( DIALOG_ERC_BASE::OnERCItemDClick ), NULL, this );
m_markerDataView->Disconnect( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, wxDataViewEventHandler( DIALOG_ERC_BASE::OnERCItemRClick ), NULL, this );
m_markerDataView->Disconnect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_ERC_BASE::OnERCItemSelected ), NULL, this );
- m_ignoredList->Disconnect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( DIALOG_ERC_BASE::OnIgnoreItemRClick ), NULL, this );
+ m_violationSeveritiesLink->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_ERC_BASE::OnEditViolationSeverities ), NULL, this );
m_showAll->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnSeverity ), NULL, this );
m_showErrors->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnSeverity ), NULL, this );
m_showWarnings->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnSeverity ), NULL, this );
diff --git a/eeschema/dialogs/dialog_erc_base.fbp b/eeschema/dialogs/dialog_erc_base.fbp
index a8dcc95bb9..fe82138e40 100644
--- a/eeschema/dialogs/dialog_erc_base.fbp
+++ b/eeschema/dialogs/dialog_erc_base.fbp
@@ -122,20 +122,20 @@
-