Try to make window backgrounds the same on Windows.

Also reduces the use of auto.
This commit is contained in:
Jeff Young 2021-11-11 13:56:53 +00:00
parent c3c2af9cd0
commit 8777135d9f
8 changed files with 70 additions and 61 deletions

View File

@ -221,7 +221,7 @@ void DIALOG_MANAGE_REPOSITORIES::selectRow( int aRow )
}
void DIALOG_MANAGE_REPOSITORIES::SetData( const STRING_PAIR_LIST& aData )
void DIALOG_MANAGE_REPOSITORIES::SetData( const std::vector<std::pair<wxString, wxString>>& aData )
{
m_grid->Freeze();
@ -240,14 +240,14 @@ void DIALOG_MANAGE_REPOSITORIES::SetData( const STRING_PAIR_LIST& aData )
}
STRING_PAIR_LIST DIALOG_MANAGE_REPOSITORIES::GetData()
std::vector<std::pair<wxString, wxString>> DIALOG_MANAGE_REPOSITORIES::GetData()
{
STRING_PAIR_LIST result;
std::vector<std::pair<wxString, wxString>> result;
for( int i = 0; i < m_grid->GetNumberRows(); i++ )
{
result.push_back(
std::make_pair( m_grid->GetCellValue( i, 0 ), m_grid->GetCellValue( i, 1 ) ) );
result.push_back( std::make_pair( m_grid->GetCellValue( i, 0 ),
m_grid->GetCellValue( i, 1 ) ) );
}
return result;

View File

@ -42,9 +42,12 @@ protected:
public:
/** Constructor */
DIALOG_MANAGE_REPOSITORIES( wxWindow* parent, std::shared_ptr<PLUGIN_CONTENT_MANAGER> aPcm );
~DIALOG_MANAGE_REPOSITORIES();
void SetData( const STRING_PAIR_LIST& aData );
STRING_PAIR_LIST GetData();
void SetData( const std::vector<std::pair<wxString, wxString>>& aData );
std::vector<std::pair<wxString, wxString>> GetData();
private:
void swapRows( int aRowA, int aRowB );

View File

@ -67,12 +67,12 @@ DIALOG_PCM::DIALOG_PCM( wxWindow* parent ) : DIALOG_PCM_BASE( parent )
m_panelInstalledHolder->GetSizer()->Add( m_installedPanel, 1, wxEXPAND );
m_panelInstalledHolder->Layout();
for( const auto& entry : PACKAGE_TYPE_LIST )
for( const std::pair<PCM_PACKAGE_TYPE, wxString>& entry : PACKAGE_TYPE_LIST )
{
PANEL_PACKAGES_VIEW* panel = new PANEL_PACKAGES_VIEW( m_contentNotebook, m_pcm );
wxString msg = wxGetTranslation( std::get<1>( entry ) );
m_contentNotebook->AddPage( panel, wxString::Format( msg, 0 ) );
m_repositoryContentPanels.insert( { std::get<0>( entry ), panel } );
wxString label = wxGetTranslation( entry.second );
m_contentNotebook->AddPage( panel, wxString::Format( label, 0 ) );
m_repositoryContentPanels.insert( { entry.first, panel } );
}
m_dialogNotebook->SetPageText( 0, wxString::Format( _( "Repository (%d)" ), 0 ) );
@ -187,13 +187,11 @@ void DIALOG_PCM::OnManageRepositoriesClicked( wxCommandEvent& event )
{
DIALOG_MANAGE_REPOSITORIES* dialog = new DIALOG_MANAGE_REPOSITORIES( this, m_pcm );
STRING_PAIR_LIST dialog_data;
STRING_TUPLE_LIST repo_list = m_pcm->GetRepositoryList();
std::vector<std::pair<wxString, wxString>> dialog_data;
std::vector<std::tuple<wxString, wxString, wxString>> repo_list = m_pcm->GetRepositoryList();
for( const auto& repo : repo_list )
{
for( const std::tuple<wxString, wxString, wxString>& repo : repo_list )
dialog_data.push_back( std::make_pair( std::get<1>( repo ), std::get<2>( repo ) ) );
}
dialog->SetData( dialog_data );
@ -216,11 +214,11 @@ void DIALOG_PCM::OnManageRepositoriesClicked( wxCommandEvent& event )
void DIALOG_PCM::setRepositoryListFromPcm()
{
STRING_TUPLE_LIST repositories = m_pcm->GetRepositoryList();
std::vector<std::tuple<wxString, wxString, wxString>> repositories = m_pcm->GetRepositoryList();
m_choiceRepository->Clear();
for( const auto& entry : repositories )
for( const std::tuple<wxString, wxString, wxString>& entry : repositories )
{
m_choiceRepository->Append( std::get<1>( entry ),
new wxStringClientData( std::get<0>( entry ) ) );
@ -299,7 +297,7 @@ void DIALOG_PCM::setRepositoryData( const wxString& aRepositoryId )
package_data.state = m_pcm->GetPackageState( aRepositoryId, pkg.identifier );
for( const auto& action : m_pendingActions )
for( const PENDING_ACTION& action : m_pendingActions )
{
if( action.package.identifier != pkg.identifier )
continue;
@ -321,14 +319,14 @@ void DIALOG_PCM::setRepositoryData( const wxString& aRepositoryId )
for( size_t i = 0; i < PACKAGE_TYPE_LIST.size(); i++ )
{
PCM_PACKAGE_TYPE type = PACKAGE_TYPE_LIST[i].first;
const wxString& label = PACKAGE_TYPE_LIST[i].second;
m_repositoryContentPanels[type]->SetData( data[type], m_callback );
m_contentNotebook->SetPageText(
i, wxString::Format( wxGetTranslation( PACKAGE_TYPE_LIST[i].second ),
(int) data[type].size() ) );
m_contentNotebook->SetPageText( i, wxString::Format( wxGetTranslation( label ),
(int) data[type].size() ) );
}
m_dialogNotebook->SetPageText(
0, wxString::Format( _( "Repository (%d)" ), (int) packages.size() ) );
m_dialogNotebook->SetPageText( 0, wxString::Format( _( "Repository (%d)" ),
(int) packages.size() ) );
}
}
@ -363,7 +361,7 @@ void DIALOG_PCM::setInstalledPackages()
m_installedBitmaps = m_pcm->GetInstalledPackageBitmaps();
for( const auto& entry : installed )
for( const PCM_INSTALLATION_ENTRY& entry : installed )
{
PACKAGE_VIEW_DATA package_data( entry );
@ -377,8 +375,8 @@ void DIALOG_PCM::setInstalledPackages()
m_installedPanel->SetData( package_list, m_callback );
m_dialogNotebook->SetPageText(
1, wxString::Format( _( "Installed (%d)" ), (int) package_list.size() ) );
m_dialogNotebook->SetPageText( 1, wxString::Format( _( "Installed (%d)" ),
(int) package_list.size() ) );
}
@ -389,7 +387,7 @@ void DIALOG_PCM::OnApplyChangesClicked( wxCommandEvent& event )
PCM_TASK_MANAGER task_manager( m_pcm );
for( const auto& action : m_pendingActions )
for( const PENDING_ACTION& action : m_pendingActions )
{
if( action.action == PPA_UNINSTALL )
task_manager.Uninstall( action.package );
@ -446,8 +444,8 @@ void DIALOG_PCM::discardAction( int aIndex )
PENDING_ACTION action = m_pendingActions[aIndex];
PCM_PACKAGE_STATE state =
m_pcm->GetPackageState( action.repository_id, action.package.identifier );
PCM_PACKAGE_STATE state = m_pcm->GetPackageState( action.repository_id,
action.package.identifier );
m_installedPanel->SetPackageState( action.package.identifier, state );

View File

@ -110,11 +110,13 @@ void PANEL_PACKAGE::OnButtonClicked( wxCommandEvent& event )
// If not found then find any compatible version
if( ver_it == m_data.package.versions.end() )
{
ver_it = std::find_if( m_data.package.versions.begin(), m_data.package.versions.end(),
[]( const PACKAGE_VERSION& ver )
{
return ver.compatible;
} );
}
if( ver_it == m_data.package.versions.end() )
return; // Shouldn't happen

View File

@ -19,7 +19,6 @@
*/
#include "panel_packages_view.h"
#include "bitmaps.h"
#include "grid_tricks.h"
#include "kicad_settings.h"
#include "pgm_base.h"
@ -72,6 +71,8 @@ PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW( wxWindow*
false ) );
}
m_packageListWindow->SetBackgroundColour( wxStaticText::GetClassDefaultAttributes().colBg );
m_infoScrollWindow->SetBackgroundColour( wxStaticText::GetClassDefaultAttributes().colBg );
m_infoText->SetBackgroundColour( wxStaticText::GetClassDefaultAttributes().colBg );
m_infoText->EnableVerticalScrollbar( false );
@ -184,17 +185,22 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa
m_infoText->WriteText( wxString::Format( _( "Tags: %s\n" ), tags_str ) );
}
const auto write_contact = [&]( const wxString& type, const PCM_CONTACT& contact )
{
m_infoText->WriteText( wxString::Format( "%s: %s\n", type, contact.name ) );
const auto write_contact =
[&]( const wxString& type, const PCM_CONTACT& contact )
{
m_infoText->WriteText( wxString::Format( "%s: %s\n", type, contact.name ) );
m_infoText->BeginLeftIndent( 60, 40 );
m_infoText->BeginLeftIndent( 60, 40 );
for( const auto& entry : contact.contact )
m_infoText->WriteText( wxString::Format( "%s: %s\n", entry.first, entry.second ) );
for( const std::pair<const std::string, wxString>& entry : contact.contact )
{
m_infoText->WriteText( wxString::Format( "%s: %s\n",
entry.first,
entry.second ) );
}
m_infoText->EndLeftIndent();
};
m_infoText->EndLeftIndent();
};
write_contact( _( "Author" ), package.author );
@ -278,8 +284,8 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa
m_sizerVersions->Show( true );
m_sizerVersions->Layout();
wxSize size = m_scrolledWindow5->GetTargetWindow()->GetBestVirtualSize();
m_scrolledWindow5->SetVirtualSize( size );
wxSize size = m_infoScrollWindow->GetTargetWindow()->GetBestVirtualSize();
m_infoScrollWindow->SetVirtualSize( size );
}
@ -288,8 +294,8 @@ void PANEL_PACKAGES_VIEW::unsetPackageDetails()
m_infoText->ChangeValue( wxEmptyString );
m_sizerVersions->Show( false );
wxSize size = m_scrolledWindow5->GetTargetWindow()->GetBestVirtualSize();
m_scrolledWindow5->SetVirtualSize( size );
wxSize size = m_infoScrollWindow->GetTargetWindow()->GetBestVirtualSize();
m_infoScrollWindow->SetVirtualSize( size );
// Clean up grid just so we don't keep stale info around (it's already been hidden).
m_gridVersions->Freeze();
@ -345,7 +351,7 @@ void PANEL_PACKAGES_VIEW::OnVersionsCellClicked( wxGridEvent& event )
void PANEL_PACKAGES_VIEW::OnDownloadVersionClicked( wxCommandEvent& event )
{
const auto rows = m_gridVersions->GetSelectedRows();
const wxArrayInt rows = m_gridVersions->GetSelectedRows();
if( !m_currentSelected || rows.size() != 1 )
{
@ -423,7 +429,7 @@ void PANEL_PACKAGES_VIEW::OnDownloadVersionClicked( wxCommandEvent& event )
void PANEL_PACKAGES_VIEW::OnInstallVersionClicked( wxCommandEvent& event )
{
const auto rows = m_gridVersions->GetSelectedRows();
const wxArrayInt rows = m_gridVersions->GetSelectedRows();
if( !m_currentSelected || rows.size() != 1 )
{
@ -511,7 +517,7 @@ void PANEL_PACKAGES_VIEW::updatePackageList()
wxSizer* sizer = m_packageListWindow->GetSizer();
sizer->Clear( false ); // Don't delete panels
for( const auto& pair : package_ranks )
for( const std::pair<int, int>& pair : package_ranks )
{
PANEL_PACKAGE* panel = m_packagePanels[m_packageInitialOrder[pair.second]];

View File

@ -49,12 +49,12 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
wxBoxSizer* bPanelDetailsSizer;
bPanelDetailsSizer = new wxBoxSizer( wxVERTICAL );
m_scrolledWindow5 = new wxScrolledWindow( m_panelDetails, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
m_scrolledWindow5->SetScrollRate( 5, 5 );
m_infoScrollWindow = new wxScrolledWindow( m_panelDetails, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
m_infoScrollWindow->SetScrollRate( 5, 5 );
wxBoxSizer* bSizerScrolledWindow;
bSizerScrolledWindow = new wxBoxSizer( wxVERTICAL );
m_infoText = new wxRichTextCtrl( m_scrolledWindow5, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_AUTO_URL );
m_infoText = new wxRichTextCtrl( m_infoScrollWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_AUTO_URL );
m_infoText->Enable( false );
m_infoText->SetMinSize( wxSize( -1,300 ) );
@ -62,7 +62,7 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
m_sizerVersions = new wxBoxSizer( wxVERTICAL );
m_gridVersions = new WX_GRID( m_scrolledWindow5, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
m_gridVersions = new WX_GRID( m_infoScrollWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
// Grid
m_gridVersions->CreateGrid( 0, 5 );
@ -97,16 +97,16 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
wxBoxSizer* bSizerVersionButtons;
bSizerVersionButtons = new wxBoxSizer( wxHORIZONTAL );
m_showAllVersions = new wxCheckBox( m_scrolledWindow5, wxID_ANY, _("Show all versions"), wxDefaultPosition, wxDefaultSize, 0 );
m_showAllVersions = new wxCheckBox( m_infoScrollWindow, wxID_ANY, _("Show all versions"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerVersionButtons->Add( m_showAllVersions, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
bSizerVersionButtons->Add( 0, 0, 1, wxEXPAND, 5 );
m_buttonDownload = new wxButton( m_scrolledWindow5, wxID_ANY, _("Download"), wxDefaultPosition, wxDefaultSize, 0 );
m_buttonDownload = new wxButton( m_infoScrollWindow, wxID_ANY, _("Download"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerVersionButtons->Add( m_buttonDownload, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
m_buttonInstall = new wxButton( m_scrolledWindow5, wxID_ANY, _("Install"), wxDefaultPosition, wxDefaultSize, 0 );
m_buttonInstall = new wxButton( m_infoScrollWindow, wxID_ANY, _("Install"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerVersionButtons->Add( m_buttonInstall, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
@ -116,10 +116,10 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
bSizerScrolledWindow->Add( m_sizerVersions, 0, wxEXPAND|wxRIGHT|wxLEFT, 3 );
m_scrolledWindow5->SetSizer( bSizerScrolledWindow );
m_scrolledWindow5->Layout();
bSizerScrolledWindow->Fit( m_scrolledWindow5 );
bPanelDetailsSizer->Add( m_scrolledWindow5, 1, wxEXPAND, 5 );
m_infoScrollWindow->SetSizer( bSizerScrolledWindow );
m_infoScrollWindow->Layout();
bSizerScrolledWindow->Fit( m_infoScrollWindow );
bPanelDetailsSizer->Add( m_infoScrollWindow, 1, wxEXPAND, 5 );
m_panelDetails->SetSizer( bPanelDetailsSizer );
@ -134,7 +134,7 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
bSizer1->Fit( this );
// Connect Events
m_scrolledWindow5->Connect( wxEVT_SIZE, wxSizeEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSizeInfoBox ), NULL, this );
m_infoScrollWindow->Connect( wxEVT_SIZE, wxSizeEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSizeInfoBox ), NULL, this );
m_gridVersions->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( PANEL_PACKAGES_VIEW_BASE::OnVersionsCellClicked ), NULL, this );
m_showAllVersions->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnShowAllVersionsClicked ), NULL, this );
m_buttonDownload->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnDownloadVersionClicked ), NULL, this );
@ -144,7 +144,7 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID
PANEL_PACKAGES_VIEW_BASE::~PANEL_PACKAGES_VIEW_BASE()
{
// Disconnect Events
m_scrolledWindow5->Disconnect( wxEVT_SIZE, wxSizeEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSizeInfoBox ), NULL, this );
m_infoScrollWindow->Disconnect( wxEVT_SIZE, wxSizeEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSizeInfoBox ), NULL, this );
m_gridVersions->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( PANEL_PACKAGES_VIEW_BASE::OnVersionsCellClicked ), NULL, this );
m_showAllVersions->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnShowAllVersionsClicked ), NULL, this );
m_buttonDownload->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnDownloadVersionClicked ), NULL, this );

View File

@ -401,7 +401,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size">-1,-1</property>
<property name="moveable">1</property>
<property name="name">m_scrolledWindow5</property>
<property name="name">m_infoScrollWindow</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>

View File

@ -45,7 +45,7 @@ class PANEL_PACKAGES_VIEW_BASE : public wxPanel
wxSearchCtrl* m_searchCtrl;
wxScrolledWindow* m_packageListWindow;
wxPanel* m_panelDetails;
wxScrolledWindow* m_scrolledWindow5;
wxScrolledWindow* m_infoScrollWindow;
wxRichTextCtrl* m_infoText;
wxBoxSizer* m_sizerVersions;
WX_GRID* m_gridVersions;