Pointer cleanup (#242)

- Made greater use of smart pointers, eliminating many instances of manual memory management
- Do not use pointers at all for many non-polymorphic classes
- Assorted other code cleanup
This commit is contained in:
Jaye Evins
2025-10-31 16:11:28 -04:00
committed by GitHub
parent fd10d88be5
commit 8c8e447336
159 changed files with 3364 additions and 4045 deletions
+13 -21
View File
@@ -18,15 +18,16 @@
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "MergeView.h"
#include "merge/Factory.h"
#include "model/FileUtil.h"
#include <QDebug>
#include <QFileDialog>
#include <QFileInfo>
#include <QtDebug>
namespace glabels
@@ -48,15 +49,6 @@ namespace glabels
}
///
/// Destructor
///
MergeView::~MergeView()
{
// empty
}
///
/// Set Model
///
@@ -144,13 +136,13 @@ namespace glabels
{
mBlock = true; // Don't recurse
const QList<merge::Record*>& records = mModel->merge()->recordList();
auto& records = mModel->merge()->recordList();
int iRow = 0;
foreach ( merge::Record* record, records )
for ( auto& record : records )
{
QTableWidgetItem* item = recordsTable->item( iRow, 0 );
item->setCheckState( record->isSelected() ? Qt::Checked : Qt::Unchecked );
item->setCheckState( record.isSelected() ? Qt::Checked : Qt::Unchecked );
iRow++;
}
@@ -274,33 +266,33 @@ namespace glabels
{
mBlock = true;
const QList<merge::Record*>& records = merge->recordList();
auto& records = merge->recordList();
recordsTable->setRowCount( records.size() );
int iRow = 0;
foreach ( merge::Record* record, records )
for ( auto record : records )
{
// First column for primary field
auto* item = new QTableWidgetItem();
if ( record->contains( mPrimaryKey ) )
if ( record.contains( mPrimaryKey ) )
{
auto text = printableTextForView( (*record)[mPrimaryKey] );
auto text = printableTextForView( record[mPrimaryKey] );
item->setText( text );
}
item->setFlags( Qt::ItemIsEnabled | Qt::ItemIsUserCheckable );
item->setCheckState( record->isSelected() ? Qt::Checked : Qt::Unchecked );
item->setCheckState( record.isSelected() ? Qt::Checked : Qt::Unchecked );
recordsTable->setItem( iRow, 0, item );
recordsTable->resizeColumnToContents( 0 );
// Starting on 2nd column, 1 column per field, skip primary field
int iCol = 1;
foreach ( QString key, mKeys )
for ( auto& key : mKeys )
{
if ( key != mPrimaryKey )
{
if ( record->contains( key ) )
if ( record.contains( key ) )
{
auto text = printableTextForView( (*record)[key] );
auto text = printableTextForView( record[key] );
auto* item = new QTableWidgetItem( text );
item->setFlags( Qt::ItemIsEnabled );
recordsTable->setItem( iRow, iCol, item );