Skip to content

Commit 7e9b541

Browse files
committedMay 8, 2011
finish fix for #3497

File tree

3 files changed

+47
-11
lines changed

3 files changed

+47
-11
lines changed
 

‎src/gui/symbology-ng/qgssymbollayerv2widget.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ void QgsSimpleLineSymbolLayerV2Widget::colorChanged()
8686
{
8787
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
8888
// Native Mac dialog works only for Qt Carbon
89+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
90+
// FIXME need to also check max QT_VERSION when Qt bug fixed
8991
QColor color = QColorDialog::getColor( mLayer->color(), this, "", QColorDialog::DontUseNativeDialog );
9092
#else
9193
QColor color = QColorDialog::getColor( mLayer->color(), this );
@@ -233,6 +235,8 @@ void QgsSimpleMarkerSymbolLayerV2Widget::setColorBorder()
233235
{
234236
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
235237
// Native Mac dialog works only for Qt Carbon
238+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
239+
// FIXME need to also check max QT_VERSION when Qt bug fixed
236240
QColor borderColor = QColorDialog::getColor( mLayer->borderColor(), this, "", QColorDialog::DontUseNativeDialog );
237241
#else
238242
QColor borderColor = QColorDialog::getColor( mLayer->borderColor(), this );
@@ -248,6 +252,8 @@ void QgsSimpleMarkerSymbolLayerV2Widget::setColorFill()
248252
{
249253
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
250254
// Native Mac dialog works only for Qt Carbon
255+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
256+
// FIXME need to also check max QT_VERSION when Qt bug fixed
251257
QColor color = QColorDialog::getColor( mLayer->color(), this, "", QColorDialog::DontUseNativeDialog );
252258
#else
253259
QColor color = QColorDialog::getColor( mLayer->color(), this );
@@ -327,6 +333,8 @@ void QgsSimpleFillSymbolLayerV2Widget::setColor()
327333
{
328334
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
329335
// Native Mac dialog works only for Qt Carbon
336+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
337+
// FIXME need to also check max QT_VERSION when Qt bug fixed
330338
QColor color = QColorDialog::getColor( mLayer->color(), this, "", QColorDialog::DontUseNativeDialog );
331339
#else
332340
QColor color = QColorDialog::getColor( mLayer->color(), this );
@@ -342,6 +350,8 @@ void QgsSimpleFillSymbolLayerV2Widget::setBorderColor()
342350
{
343351
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
344352
// Native Mac dialog works only for Qt Carbon
353+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
354+
// FIXME need to also check max QT_VERSION when Qt bug fixed
345355
QColor color = QColorDialog::getColor( mLayer->borderColor(), this, "", QColorDialog::DontUseNativeDialog );
346356
#else
347357
QColor color = QColorDialog::getColor( mLayer->borderColor(), this );
@@ -665,6 +675,8 @@ void QgsLineDecorationSymbolLayerV2Widget::colorChanged()
665675
{
666676
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
667677
// Native Mac dialog works only for Qt Carbon
678+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
679+
// FIXME need to also check max QT_VERSION when Qt bug fixed
668680
QColor color = QColorDialog::getColor( mLayer->color(), this, "", QColorDialog::DontUseNativeDialog );
669681
#else
670682
QColor color = QColorDialog::getColor( mLayer->color(), this );
@@ -861,6 +873,8 @@ void QgsFontMarkerSymbolLayerV2Widget::setColor()
861873
{
862874
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
863875
// Native Mac dialog works only for Qt Carbon
876+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
877+
// FIXME need to also check max QT_VERSION when Qt bug fixed
864878
QColor color = QColorDialog::getColor( mLayer->color(), this, "", QColorDialog::DontUseNativeDialog );
865879
#else
866880
QColor color = QColorDialog::getColor( mLayer->color(), this );

‎src/gui/symbology-ng/qgssymbolv2selectordialog.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ void QgsSymbolV2SelectorDialog::setSymbolColor()
176176
{
177177
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
178178
// Native Mac dialog works only for Qt Carbon
179+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
180+
// FIXME need to also check max QT_VERSION when Qt bug fixed
179181
QColor color = QColorDialog::getColor( mSymbol->color(), this, "", QColorDialog::DontUseNativeDialog );
180182
#else
181183
QColor color = QColorDialog::getColor( mSymbol->color(), this );

‎src/gui/symbology-ng/qgsvectorgradientcolorrampv2dialog.cpp

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,14 @@ void QgsVectorGradientColorRampV2Dialog::updatePreview()
7373

7474
void QgsVectorGradientColorRampV2Dialog::setColor1()
7575
{
76+
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
77+
// Native Mac dialog works only for Qt Carbon
78+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
79+
// FIXME need to also check max QT_VERSION when Qt bug fixed
80+
QColor color = QColorDialog::getColor( mRamp->color1(), this, "", QColorDialog::DontUseNativeDialog );
81+
#else
7682
QColor color = QColorDialog::getColor( mRamp->color1(), this );
83+
#endif
7784
if ( !color.isValid() )
7885
return;
7986
mRamp->setColor1( color );
@@ -82,7 +89,14 @@ void QgsVectorGradientColorRampV2Dialog::setColor1()
8289

8390
void QgsVectorGradientColorRampV2Dialog::setColor2()
8491
{
92+
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
93+
// Native Mac dialog works only for Qt Carbon
94+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
95+
// FIXME need to also check max QT_VERSION when Qt bug fixed
96+
QColor color = QColorDialog::getColor( mRamp->color2(), this, "", QColorDialog::DontUseNativeDialog );
97+
#else
8598
QColor color = QColorDialog::getColor( mRamp->color2(), this );
99+
#endif
86100
if ( !color.isValid() )
87101
return;
88102
mRamp->setColor2( color );
@@ -114,7 +128,14 @@ void QgsVectorGradientColorRampV2Dialog::stopDoubleClicked( QTreeWidgetItem* ite
114128
{
115129
if ( column == 0 )
116130
{
131+
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
132+
// Native Mac dialog works only for Qt Carbon
133+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
134+
// FIXME need to also check max QT_VERSION when Qt bug fixed
135+
QColor color = QColorDialog::getColor( item->data( 0, StopColorRole ).value<QColor>(), this, "", QColorDialog::DontUseNativeDialog );
136+
#else
117137
QColor color = QColorDialog::getColor( item->data( 0, StopColorRole ).value<QColor>(), this );
138+
#endif
118139
if ( !color.isValid() )
119140
return;
120141
setStopColor( item, color );
@@ -153,13 +174,19 @@ void QgsVectorGradientColorRampV2Dialog::stopDoubleClicked( QTreeWidgetItem* ite
153174

154175
void QgsVectorGradientColorRampV2Dialog::addStop()
155176
{
156-
// Qt 4.7 Mac Cocoa bug: calling QInputDialog::getInt after QColorDialog::getColor will freeze app
157-
// workaround: call QColorDialog::getColor below instead of here
158-
#ifndef QT_MAC_USE_COCOA
177+
#if defined(Q_WS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
178+
// Native Mac dialog works only for Qt Carbon
179+
// Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-14889
180+
// also Qt 4.7 Mac Cocoa bug: calling QInputDialog::getInt after QColorDialog::getColor will freeze app
181+
// workaround: call QColorDialog::getColor below instead of here,
182+
// but not needed at this time because of the other Qt bug
183+
// FIXME need to also check max QT_VERSION when Qt bug(s) fixed
184+
QColor color = QColorDialog::getColor( QColor(), this, "", QColorDialog::DontUseNativeDialog );
185+
#else
159186
QColor color = QColorDialog::getColor( QColor(), this );
187+
#endif
160188
if ( !color.isValid() )
161189
return;
162-
#endif
163190

164191
bool ok;
165192
int val = 50;
@@ -179,13 +206,6 @@ void QgsVectorGradientColorRampV2Dialog::addStop()
179206
if ( !ok )
180207
return;
181208

182-
// Qt 4.7 Mac Cocoa bug workaround: call QColorDialog::getColor here instead of above
183-
#ifdef QT_MAC_USE_COCOA
184-
QColor color = QColorDialog::getColor( QColor(), this );
185-
if ( !color.isValid() )
186-
return;
187-
#endif
188-
189209
double key = val / 100.0;
190210
QStringList lst;
191211
lst << "." << QString::number( val, 'f', 0 );

0 commit comments

Comments
 (0)
Please sign in to comment.