24
24
#include < QListWidgetItem>
25
25
#include < QMessageBox>
26
26
27
- QgsComposerManager::QgsComposerManager ( QgisApp* app, QWidget * parent, Qt::WindowFlags f ): QDialog( parent, f ), mQgisApp( app )
27
+ QgsComposerManager::QgsComposerManager ( QWidget * parent, Qt::WindowFlags f ): QDialog( parent, f )
28
28
{
29
+ QPushButton *pb;
30
+
29
31
setupUi ( this );
30
32
connect ( mButtonBox , SIGNAL ( rejected () ), this , SLOT ( close () ) );
33
+
34
+ pb = new QPushButton ( tr ( " &Show" ) );
35
+ mButtonBox ->addButton ( pb, QDialogButtonBox::ActionRole );
36
+ connect ( pb, SIGNAL ( clicked () ), this , SLOT ( show_clicked () ) );
37
+
38
+ pb = new QPushButton ( tr ( " &Remove" ) );
39
+ mButtonBox ->addButton ( pb, QDialogButtonBox::ActionRole );
40
+ connect ( pb, SIGNAL ( clicked () ), this , SLOT ( remove_clicked () ) );
41
+
42
+ pb = new QPushButton ( tr ( " Re&name" ) );
43
+ mButtonBox ->addButton ( pb, QDialogButtonBox::ActionRole );
44
+ connect ( pb, SIGNAL ( clicked () ), this , SLOT ( rename_clicked () ) );
45
+
31
46
initialize ();
32
47
}
33
48
@@ -38,19 +53,26 @@ QgsComposerManager::~QgsComposerManager()
38
53
39
54
void QgsComposerManager::initialize ()
40
55
{
41
- if ( !mQgisApp )
42
- {
43
- return ;
44
- }
45
-
46
- QSet<QgsComposer*> composers = mQgisApp ->printComposers ();
56
+ QSet<QgsComposer*> composers = QgisApp::instance ()->printComposers ();
47
57
QSet<QgsComposer*>::const_iterator it = composers.constBegin ();
48
58
for ( ; it != composers.constEnd (); ++it )
49
59
{
50
60
QListWidgetItem* item = new QListWidgetItem (( *it )->title (), mComposerListWidget );
51
61
item->setFlags ( Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable );
52
62
mItemComposerMap .insert ( item, *it );
53
63
}
64
+
65
+ mTemplate ->addItem ( tr ( " Empty composer" ) );
66
+
67
+ QMap<QString, QString> templateMap = defaultTemplates ();
68
+ if ( templateMap.size () > 0 )
69
+ {
70
+ QMap<QString, QString>::const_iterator templateIt = templateMap.constBegin ();
71
+ for ( ; templateIt != templateMap.constEnd (); ++templateIt )
72
+ {
73
+ mTemplate ->addItem ( templateIt.key (), templateIt.value () );
74
+ }
75
+ }
54
76
}
55
77
56
78
QMap<QString, QString> QgsComposerManager::defaultTemplates () const
@@ -75,51 +97,18 @@ QMap<QString, QString> QgsComposerManager::defaultTemplates() const
75
97
76
98
void QgsComposerManager::on_mAddButton_clicked ()
77
99
{
78
- if ( !mQgisApp )
79
- {
80
- return ;
81
- }
82
-
83
- QMap<QString, QString> templateMap = defaultTemplates ();
84
- QString composerTemplate;
85
100
QgsComposer* newComposer = 0 ;
86
101
87
- if ( templateMap.size () > 0 )
88
- {
89
- // show template dialog
90
- QStringList templateNameList;
91
- templateNameList.append ( tr ( " Empty composer" ) );
92
- QMap<QString, QString>::const_iterator templateIt = templateMap.constBegin ();
93
- for ( ; templateIt != templateMap.constEnd (); ++templateIt )
94
- {
95
- templateNameList.append ( templateIt.key () );
96
- }
97
-
98
- QInputDialog templateDialog;
99
- templateDialog.setLabelText ( tr ( " Select a composer template" ) );
100
- templateDialog.setComboBoxItems ( templateNameList );
101
- if ( templateDialog.exec () == QDialog::Rejected )
102
- {
103
- return ;
104
- }
105
-
106
- QMap<QString, QString>::const_iterator selectedTemplate = templateMap.find ( templateDialog.textValue () );
107
- if ( selectedTemplate != templateMap.constEnd () )
108
- {
109
- composerTemplate = selectedTemplate.value ();
110
- }
111
- }
112
-
113
- newComposer = mQgisApp ->createNewComposer ();
102
+ newComposer = QgisApp::instance ()->createNewComposer ();
114
103
if ( !newComposer )
115
104
{
116
105
return ;
117
106
}
118
107
119
- if ( !composerTemplate. isEmpty () ) // create composer from template
108
+ if ( mTemplate -> currentIndex () > 0 )
120
109
{
121
110
QDomDocument templateDoc;
122
- QFile templateFile ( composerTemplate );
111
+ QFile templateFile ( mTemplate -> itemData ( mTemplate -> currentIndex () ). toString () );
123
112
if ( templateFile.open ( QIODevice::ReadOnly ) )
124
113
{
125
114
if ( templateDoc.setContent ( &templateFile, false ) )
@@ -134,13 +123,8 @@ void QgsComposerManager::on_mAddButton_clicked()
134
123
mItemComposerMap .insert ( item, newComposer );
135
124
}
136
125
137
- void QgsComposerManager::on_mRemoveButton_clicked ()
126
+ void QgsComposerManager::remove_clicked ()
138
127
{
139
- if ( !mQgisApp )
140
- {
141
- return ;
142
- }
143
-
144
128
QListWidgetItem* item = mComposerListWidget ->currentItem ();
145
129
if ( !item )
146
130
{
@@ -157,21 +141,16 @@ void QgsComposerManager::on_mRemoveButton_clicked()
157
141
QMap<QListWidgetItem*, QgsComposer*>::iterator it = mItemComposerMap .find ( item );
158
142
if ( it != mItemComposerMap .end () )
159
143
{
160
- mQgisApp ->deleteComposer ( it.value () );
144
+ QgisApp::instance () ->deleteComposer ( it.value () );
161
145
}
162
146
mItemComposerMap .remove ( item );
163
147
mComposerListWidget ->removeItemWidget ( item );
164
148
// and remove the list widget row
165
149
delete ( mComposerListWidget ->takeItem ( mComposerListWidget ->row ( item ) ) );
166
150
}
167
151
168
- void QgsComposerManager::on_mShowPushButton_clicked ()
152
+ void QgsComposerManager::show_clicked ()
169
153
{
170
- if ( !mQgisApp )
171
- {
172
- return ;
173
- }
174
-
175
154
QListWidgetItem* item = mComposerListWidget ->currentItem ();
176
155
if ( !item )
177
156
{
@@ -215,7 +194,7 @@ void QgsComposerManager::on_mShowPushButton_clicked()
215
194
{
216
195
return;
217
196
}
218
- c = mQgisApp ->createNewComposer();
197
+ c = QgisApp::instance() ->createNewComposer();
219
198
c->setTitle( it.key()->text() );
220
199
if ( c )
221
200
{
@@ -236,7 +215,7 @@ void QgsComposerManager::on_mShowPushButton_clicked()
236
215
#endif // 0
237
216
}
238
217
239
- void QgsComposerManager::on_mRenamePushButton_clicked ()
218
+ void QgsComposerManager::rename_clicked ()
240
219
{
241
220
QListWidgetItem* item = mComposerListWidget ->currentItem ();
242
221
if ( !item )
0 commit comments