blob: 72a081d2c9411ef240e6eec54974ed4fb554197c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
/*
**************************************************************************
description
--------------------
copyright : (C) 2003 by Andreas Zehender
email : zehender@kde.org
**************************************************************************
**************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
**************************************************************************/
#include "pmiomanager.h"
#include "pmdebug.h"
#include "pmpovray31format.h"
#include "pmpovray35format.h"
PMIOFormat::PMIOFormat( )
{
}
PMIOFormat::~PMIOFormat( )
{
}
PMIOManager::PMIOManager( PMPart* part )
{
m_pPart = part;
m_formats.setAutoDelete( true );
addFormat( new PMPovray35Format( ) );
//addFormat( new PMPovray31Format( ) );
}
PMIOManager::~PMIOManager( )
{
}
void PMIOManager::addFormat( PMIOFormat* format )
{
if( !format )
return;
if( !m_formats.containsRef( format ) )
{
if( !m_dict.find( format->name( ) ) )
{
m_formats.append( format );
m_dict.insert( format->name( ), format );
}
else
kdError( PMArea ) << "Format " << format->name( ) << "already registered" << endl;
}
else
kdError( PMArea ) << "Format " << format->name( ) << "already registered" << endl;
}
void PMIOManager::removeFormat( const QString& name )
{
PMIOFormat* pFormat = format( name );
if( pFormat )
{
m_dict.remove( name );
m_formats.removeRef( pFormat );
}
}
PMIOFormat* PMIOManager::format( const QString& name ) const
{
return m_dict.find( name );
}
PMIOFormat* PMIOManager::formatForMimeType( const QString& mime ) const
{
QPtrListIterator<PMIOFormat> it( m_formats );
bool found = false;
PMIOFormat* pFormat = 0;
while( it.current( ) && !found )
{
pFormat = it.current( );
if( pFormat->mimeType( ) == mime )
found = true;
else
++it;
}
if( found )
return pFormat;
return 0;
}
|