summaryrefslogtreecommitdiffstats
path: root/tools/designer/plugins/cppeditor/projectsettings.ui.h
blob: f5de0b744487a262b339678f56f87547231dab64 (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
97
98
99
100
101
102
103
104
105
106
/****************************************************************************
** ui.h extension file, included from the uic-generated form implementation.
** 
** Add custom slot implementations here. Use a slot init() for
** initialization code called during construction, and a slot destroy()
** for cleanup code called during destruction.
**
** This file gets modified by Qt Designer whenever you add, rename or
** remove custom slots. Implementation code does not get lost.
*****************************************************************************/

#include <designerinterface.h>

void CppProjectSettings::reInit( QUnknownInterface *iface )
{
    comboConfig->setCurrentItem( 0 );
    comboLibs->setCurrentItem( 0 );
    comboDefines->setCurrentItem( 0 );
    comboInclude->setCurrentItem( 0 );
    
    DesignerInterface *dIface = 0;
    iface->queryInterface( IID_Designer, (QUnknownInterface**)&dIface );
    if ( !dIface )
	return;
    DesignerProject *project = dIface->currentProject();
    if ( project->templte() == "app" )
	comboTemplate->setCurrentItem( 0 );
    else
	comboTemplate->setCurrentItem( 1 );
     
    config.clear();
    defines.clear();
    libs.clear();
    defines.clear();
    includes.clear();
    
    const QString platforms[] = { "(all)", "win32", "unix", "mac", QString::null };
    for ( int i = 0; platforms[ i ] != QString::null; ++i ) {
	config.replace( platforms[ i ], project->config( platforms[ i ] ) );
	libs.replace( platforms[ i ], project->libs( platforms[ i ] ) );
	defines.replace( platforms[ i ], project->defines( platforms[ i ] ) );
	includes.replace( platforms[ i ], project->includePath( platforms[ i ] ) );
    }
    editConfig->setText( config[ "(all)" ] );
    editLibs->setText( libs[ "(all)" ] );
    editDefines->setText( defines[ "(all)" ] );
    editInclude->setText( includes[ "(all)" ] );
}

void CppProjectSettings::save( QUnknownInterface *iface )
{
    DesignerInterface *dIface = 0;
    iface->queryInterface( IID_Designer, (QUnknownInterface**)&dIface );
    if ( !dIface )
	return;
    DesignerProject *project = dIface->currentProject();
    
    project->setTemplate( comboTemplate->currentText() );
    const QString platforms[] = { "(all)", "win32", "unix", "mac", QString::null };
    for ( int i = 0; platforms[ i ] != QString::null; ++i ) {
	project->setConfig( platforms[ i ], config[ platforms[ i ] ] );
	project->setLibs( platforms[ i ], libs[ platforms[ i ] ] );
	project->setDefines( platforms[ i ], defines[ platforms[ i ] ] );
	project->setIncludePath( platforms[ i ], includes[ platforms[ i ] ] );
    }
}

void CppProjectSettings::configChanged( const QString &str )
{
    config.replace( comboConfig->currentText(), str );
}

void CppProjectSettings::libsChanged( const QString &str )
{
    libs.replace( comboLibs->currentText(), str );
}

void CppProjectSettings::definesChanged( const QString &str )
{
    defines.replace( comboDefines->currentText(), str );
}

void CppProjectSettings::includesChanged( const QString &str )
{
    includes.replace( comboInclude->currentText(), str );
}

void CppProjectSettings::configPlatformChanged( const QString &plat )
{
    editConfig->setText( config[ plat ] );
}

void CppProjectSettings::libsPlatformChanged( const QString &plat )
{
    editLibs->setText( libs[ plat ] );
}

void CppProjectSettings::definesPlatformChanged( const QString &plat )
{
    editDefines->setText( defines[ plat ] );
}

void CppProjectSettings::includesPlatformChanged( const QString &plat )
{
    editInclude->setText( includes[ plat ] );
}