92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//////////////////////////////////////////////////////////////////////////////
 | 
						|
// breezeexceptionmodel.cpp
 | 
						|
// -------------------
 | 
						|
//
 | 
						|
// SPDX-FileCopyrightText: 2009 Hugo Pereira Da Costa <hugo.pereira@free.fr>
 | 
						|
//
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
//////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#include "breezeexceptionmodel.h"
 | 
						|
 | 
						|
#include <KLocalizedString>
 | 
						|
 | 
						|
namespace Breeze
 | 
						|
{
 | 
						|
 | 
						|
    //_______________________________________________
 | 
						|
    const QString ExceptionModel::m_columnTitles[ ExceptionModel::nColumns ] =
 | 
						|
    {
 | 
						|
        QStringLiteral( "" ),
 | 
						|
        i18n("Exception Type"),
 | 
						|
        i18n("Regular Expression")
 | 
						|
    };
 | 
						|
 | 
						|
    //__________________________________________________________________
 | 
						|
    QVariant ExceptionModel::data( const QModelIndex& index, int role ) const
 | 
						|
    {
 | 
						|
 | 
						|
        // check index, role and column
 | 
						|
        if( !index.isValid() ) return QVariant();
 | 
						|
 | 
						|
        // retrieve associated file info
 | 
						|
        const InternalSettingsPtr& configuration( get(index) );
 | 
						|
 | 
						|
        // return text associated to file and column
 | 
						|
        if( role == Qt::DisplayRole )
 | 
						|
        {
 | 
						|
 | 
						|
            switch( index.column() )
 | 
						|
            {
 | 
						|
                case ColumnType:
 | 
						|
                {
 | 
						|
                    switch( configuration->exceptionType() )
 | 
						|
                    {
 | 
						|
 | 
						|
                        case InternalSettings::ExceptionWindowTitle:
 | 
						|
                        return i18n( "Window Title" );
 | 
						|
 | 
						|
                        default:
 | 
						|
                        case InternalSettings::ExceptionWindowClassName:
 | 
						|
                        return i18n( "Window Class Name" );
 | 
						|
                    }
 | 
						|
 | 
						|
                }
 | 
						|
 | 
						|
                case ColumnRegExp: return configuration->exceptionPattern();
 | 
						|
                default: return QVariant();
 | 
						|
                break;
 | 
						|
            }
 | 
						|
 | 
						|
        } else if( role == Qt::CheckStateRole &&  index.column() == ColumnEnabled ) {
 | 
						|
 | 
						|
            return configuration->enabled() ? Qt::Checked : Qt::Unchecked;
 | 
						|
 | 
						|
        } else if( role == Qt::ToolTipRole &&  index.column() == ColumnEnabled ) {
 | 
						|
 | 
						|
            return i18n("Enable/disable this exception");
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        return QVariant();
 | 
						|
    }
 | 
						|
 | 
						|
    //__________________________________________________________________
 | 
						|
    QVariant ExceptionModel::headerData(int section, Qt::Orientation orientation, int role) const
 | 
						|
    {
 | 
						|
 | 
						|
        if(
 | 
						|
            orientation == Qt::Horizontal &&
 | 
						|
            role == Qt::DisplayRole &&
 | 
						|
            section >= 0 &&
 | 
						|
            section < nColumns )
 | 
						|
        { return m_columnTitles[section]; }
 | 
						|
 | 
						|
        // return empty
 | 
						|
        return QVariant();
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
}
 |