Skip to content

Commit 6ccb04e

Browse files
committed
Merge remote-tracking branch 'brushtyler/master'
Conflicts: src/providers/postgres/qgspostgresprovider.cpp
2 parents f09417d + dd6a594 commit 6ccb04e

15 files changed

+152
-52
lines changed

python/core/qgsrasterlayer.sip

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,10 @@ public:
228228
/** \brief Accessor for transparent band name mapping */
229229
QString transparentBandName() const;
230230

231-
/** \brief [ data provider interface ] Does this layer use a provider for setting/retrieving data? */
232-
bool usesProvider();
231+
/** \brief [ data provider interface ] Does this layer use a provider for setting/retrieving data?
232+
* @deprecated in 2.0
233+
*/
234+
bool usesProvider() /Deprecated/;
233235

234236
/** \brief Accessor that returns the width of the (unclipped) raster */
235237
int width();
@@ -375,8 +377,15 @@ public:
375377
/** \brief Get an 100x100 pixmap of the color palette. If the layer has no palette a white pixmap will be returned */
376378
QPixmap paletteAsPixmap( int theBand = 1 );
377379

378-
/** \brief [ data provider interface ] Which provider is being used for this Raster Layer? */
379-
QString providerKey() const;
380+
/** \brief [ data provider interface ] Which provider is being used for this Raster Layer?
381+
* @note added in 2.0
382+
*/
383+
QString providerType() const;
384+
385+
/** \brief [ data provider interface ] Which provider is being used for this Raster Layer?
386+
* @deprecated in 2.0
387+
*/
388+
QString providerKey() const /Deprecated/;
380389

381390
/** \brief Returns the number of raster units per each raster pixel. In a world file, this is normally the first row (without the sign) */
382391
double rasterUnitsPerPixel();

python/plugins/GdalTools/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def name():
2222
def description():
2323
return "Integrate gdal tools into qgis"
2424
def version():
25-
return "Version 1.2.27"
25+
return "Version 1.2.28"
2626
def qgisMinimumVersion():
2727
return "1.0"
2828
def icon():
1.09 KB
Loading
1.39 KB
Loading

python/plugins/GdalTools/resources.qrc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<RCC>
2-
<qresource prefix="/" >
2+
<qresource prefix="/">
33
<file>icons/contour.png</file>
44
<file>icons/merge.png</file>
55
<file>icons/polygonize.png</file>
@@ -21,5 +21,7 @@
2121
<file>icons/about.png</file>
2222
<file>icons/dem.png</file>
2323
<file>icons/projection-export.png</file>
24+
<file>icons/edit.png</file>
25+
<file>icons/reset.png</file>
2426
</qresource>
2527
</RCC>

python/plugins/GdalTools/tools/dialogBase.py

Lines changed: 40 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
from ui_dialogBase import Ui_GdalToolsDialog as Ui_Dialog
1212
import GdalTools_utils as Utils
13+
from .. import resources_rc
1314

1415
import os, platform
1516

@@ -39,6 +40,12 @@ def __init__(self, parent, iface, pluginBase, pluginName, pluginCommand):
3940
self.setupUi(self)
4041
self.arguments = QStringList()
4142

43+
self.editCmdBtn.setIcon( QIcon(":/icons/edit.png") )
44+
self.connect(self.editCmdBtn, SIGNAL("toggled(bool)"), self.editCommand)
45+
self.resetCmdBtn.setIcon( QIcon(":/icons/reset.png") )
46+
self.connect(self.resetCmdBtn, SIGNAL("clicked()"), self.resetCommand)
47+
self.editCommand( False )
48+
4249
self.connect(self.buttonBox, SIGNAL("rejected()"), self.reject)
4350
self.connect(self.buttonBox, SIGNAL("accepted()"), self.accept)
4451
self.connect(self.buttonBox, SIGNAL("helpRequested()"), self.help)
@@ -66,6 +73,32 @@ def setPluginCommand(self, cmd):
6673
else:
6774
self.helpFileName = cmd + ".html"
6875

76+
77+
def editCommand(self, enabled):
78+
if not self.commandIsEnabled():
79+
return
80+
self.editCmdBtn.setChecked( enabled )
81+
self.resetCmdBtn.setEnabled( enabled )
82+
self.textEditCommand.setReadOnly( not enabled )
83+
self.controlsWidget.setEnabled( not enabled )
84+
self.emit( SIGNAL("refreshArgs()") )
85+
86+
def resetCommand(self):
87+
if not self.commandIsEditable():
88+
return
89+
self.emit( SIGNAL("refreshArgs()") )
90+
91+
def commandIsEditable(self):
92+
return self.commandIsEnabled() and self.editCmdBtn.isChecked()
93+
94+
def setCommandViewerEnabled(self, enable):
95+
if not enable:
96+
self.editCommand( False )
97+
self.commandWidget.setEnabled( enable )
98+
99+
def commandIsEnabled(self):
100+
return self.commandWidget.isEnabled()
101+
69102
def reject(self):
70103
if self.process.state() != QProcess.NotRunning:
71104
ret = QMessageBox.warning(self, self.tr( "Warning" ), self.tr( "The command is still running. \nDo you want terminate it anyway?" ), QMessageBox.Yes | QMessageBox.No)
@@ -98,37 +131,27 @@ def onHelp(self):
98131
url = QUrl.fromLocalFile(helpPath + '/' + self.helpFileName)
99132
QDesktopServices.openUrl(url)
100133

101-
def setCommandViewerEnabled(self, enable):
102-
self.textEditCommand.setEnabled( enable )
103-
104134
# called when a value in the plugin widget interface changed
105135
def refreshArgs(self, args):
106136
self.arguments = args
107137

108-
if not self.textEditCommand.isEnabled():
109-
self.textEditCommand.setText(self.command)
138+
if not self.commandIsEnabled():
139+
self.textEditCommand.setPlainText(self.command)
110140
else:
111-
self.textEditCommand.setText(self.command + " " + Utils.escapeAndJoin(self.arguments))
141+
self.textEditCommand.setPlainText(self.command + " " + Utils.escapeAndJoin(self.arguments))
112142

113143
# enables the OK button
114144
def enableRun(self, enable = True):
115145
self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable)
116146

117147
# start the command execution
118148
def onRun(self):
119-
self.process.start(self.command, self.arguments, QIODevice.ReadOnly)
120149
self.enableRun(False)
121150
self.setCursor(Qt.WaitCursor)
122-
123-
"""
124-
try:
125-
print "Debug: " + self.command + " " + unicode(Utils.escapeAndJoin(self.arguments))
126-
except UnicodeEncodeError:
127-
try:
128-
print "Debug: " + self.command + " " + unicode(Utils.escapeAndJoin(self.arguments)).encode('cp866', 'replace')
129-
except:
130-
print "Debug: " + self.command + " " + unicode(Utils.escapeAndJoin(self.arguments)).encode('ascii', 'replace')
131-
"""
151+
if not self.commandIsEditable():
152+
self.process.start(self.command, self.arguments, QIODevice.ReadOnly)
153+
else:
154+
self.process.start(self.textEditCommand.toPlainText(), QIODevice.ReadOnly)
132155

133156
# stop the command execution
134157
def stop(self):

python/plugins/GdalTools/tools/dialogBase.ui

Lines changed: 75 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,15 @@
1313
<property name="windowTitle">
1414
<string>Dialog</string>
1515
</property>
16-
<layout class="QVBoxLayout" name="verticalLayout">
16+
<layout class="QVBoxLayout" name="verticalLayout_2">
1717
<item>
18-
<layout class="QVBoxLayout" name="pluginLayout">
19-
<property name="margin">
20-
<number>0</number>
21-
</property>
22-
</layout>
18+
<widget class="QWidget" name="controlsWidget" native="true">
19+
<layout class="QVBoxLayout" name="pluginLayout">
20+
<property name="margin">
21+
<number>0</number>
22+
</property>
23+
</layout>
24+
</widget>
2325
</item>
2426
<item>
2527
<widget class="QCheckBox" name="loadCheckBox">
@@ -29,19 +31,74 @@
2931
</widget>
3032
</item>
3133
<item>
32-
<widget class="QTextEdit" name="textEditCommand">
33-
<property name="minimumSize">
34-
<size>
35-
<width>0</width>
36-
<height>0</height>
37-
</size>
38-
</property>
39-
<property name="readOnly">
40-
<bool>true</bool>
41-
</property>
42-
<property name="textInteractionFlags">
43-
<set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
34+
<widget class="QWidget" name="commandWidget" native="true">
35+
<property name="locale">
36+
<locale language="English" country="UnitedStates"/>
4437
</property>
38+
<layout class="QGridLayout" name="gridLayout">
39+
<property name="margin">
40+
<number>0</number>
41+
</property>
42+
<property name="horizontalSpacing">
43+
<number>6</number>
44+
</property>
45+
<item row="0" column="0">
46+
<widget class="QPlainTextEdit" name="textEditCommand">
47+
<property name="minimumSize">
48+
<size>
49+
<width>0</width>
50+
<height>0</height>
51+
</size>
52+
</property>
53+
<property name="readOnly">
54+
<bool>true</bool>
55+
</property>
56+
</widget>
57+
</item>
58+
<item row="0" column="1">
59+
<layout class="QVBoxLayout" name="verticalLayout">
60+
<item>
61+
<widget class="QToolButton" name="editCmdBtn">
62+
<property name="toolTip">
63+
<string>Edit</string>
64+
</property>
65+
<property name="text">
66+
<string>Edit</string>
67+
</property>
68+
<property name="checkable">
69+
<bool>true</bool>
70+
</property>
71+
</widget>
72+
</item>
73+
<item>
74+
<widget class="QToolButton" name="resetCmdBtn">
75+
<property name="enabled">
76+
<bool>false</bool>
77+
</property>
78+
<property name="toolTip">
79+
<string>Reset</string>
80+
</property>
81+
<property name="text">
82+
<string>Reset</string>
83+
</property>
84+
</widget>
85+
</item>
86+
<item>
87+
<spacer name="verticalSpacer">
88+
<property name="orientation">
89+
<enum>Qt::Vertical</enum>
90+
</property>
91+
<property name="sizeHint" stdset="0">
92+
<size>
93+
<width>20</width>
94+
<height>40</height>
95+
</size>
96+
</property>
97+
</spacer>
98+
</item>
99+
</layout>
100+
</item>
101+
</layout>
45102
</widget>
46103
</item>
47104
<item>
@@ -57,7 +114,6 @@
57114
</layout>
58115
</widget>
59116
<tabstops>
60-
<tabstop>textEditCommand</tabstop>
61117
<tabstop>buttonBox</tabstop>
62118
</tabstops>
63119
<resources/>

python/plugins/GdalTools/tools/widgetPluginBase.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ def __init__(self, iface, commandName, parent = None):
2222
self.connect(self.base, SIGNAL("helpClicked()"), self.onHelp)
2323

2424
self.connect(self.base, SIGNAL("finished(bool)"), self.finished)
25+
self.connect(self.base, SIGNAL("refreshArgs()"), self.someValueChanged)
2526

2627
def someValueChanged(self):
2728
self.emit(SIGNAL("valuesChanged(const QStringList &)"), self.getArguments())

src/app/qgisapp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4738,7 +4738,7 @@ void QgisApp::fullHistogramStretch()
47384738
tr( "To perform a full histogram stretch, you need to have a raster layer selected." ) );
47394739
return;
47404740
}
4741-
if ( rlayer->providerKey() == "wms" )
4741+
if ( rlayer->providerType() == "wms" )
47424742
{
47434743
return;
47444744
}

src/app/qgsidentifyresults.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ void QgsIdentifyResults::addFeature( QgsRasterLayer *layer,
270270
featItem->setData( 0, Qt::UserRole, -1 );
271271
layItem->addChild( featItem );
272272

273-
if ( layer && layer->providerKey() == "wms" )
273+
if ( layer && layer->providerType() == "wms" )
274274
{
275275
QTreeWidgetItem *attrItem = new QTreeWidgetItem( QStringList() << attributes.begin().key() << "" );
276276
featItem->addChild( attrItem );

src/app/qgsmaptoolidentify.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ bool QgsMapToolIdentify::identifyRasterLayer( QgsRasterLayer *layer, int x, int
327327
idPoint = toLayerCoordinates( layer, idPoint );
328328
QString type;
329329

330-
if ( layer->providerKey() == "wms" )
330+
if ( layer->providerType() == "wms" )
331331
{
332332
type = tr( "WMS layer" );
333333

src/app/qgsprojectproperties.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ QgsProjectProperties::QgsProjectProperties( QgsMapCanvas* mapCanvas, QWidget *pa
142142
{
143143
QgsRasterLayer *rl = qobject_cast<QgsRasterLayer *>( currentLayer );
144144

145-
if ( rl && rl->providerKey() == "wms" )
145+
if ( rl && rl->providerType() == "wms" )
146146
{
147147
type = tr( "WMS" );
148148
}

src/app/qgstilescalewidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ void QgsTileScaleWidget::layerChanged( QgsMapLayer *layer )
3838
mResolutions.clear();
3939
mSlider->setDisabled( true );
4040

41-
if ( !rl || rl->providerKey() != "wms" )
41+
if ( !rl || rl->providerType() != "wms" )
4242
return;
4343

4444
QString uri = rl->source();

src/core/raster/qgsrasterlayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1994,7 +1994,7 @@ void QgsRasterLayer::populateHistogram( int theBandNo, int theBinCount, bool the
19941994
mDataProvider->populateHistogram( theBandNo, myRasterBandStats, theBinCount, theIgnoreOutOfRangeFlag, theHistogramEstimatedFlag );
19951995
}
19961996

1997-
QString QgsRasterLayer::providerKey() const
1997+
QString QgsRasterLayer::providerType() const
19981998
{
19991999
if ( mProviderKey.isEmpty() )
20002000
{

src/core/raster/qgsrasterlayer.h

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -397,8 +397,10 @@ class CORE_EXPORT QgsRasterLayer : public QgsMapLayer
397397
/** \brief Accessor for transparent band name mapping */
398398
QString transparentBandName() const { return mTransparencyBandName; }
399399

400-
/** \brief [ data provider interface ] Does this layer use a provider for setting/retrieving data? */
401-
bool usesProvider();
400+
/** \brief [ data provider interface ] Does this layer use a provider for setting/retrieving data?
401+
* @deprecated in 2.0
402+
*/
403+
Q_DECL_DEPRECATED bool usesProvider();
402404

403405
/** \brief Accessor that returns the width of the (unclipped) raster */
404406
int width() { return mWidth; }
@@ -546,8 +548,15 @@ class CORE_EXPORT QgsRasterLayer : public QgsMapLayer
546548
/** \brief Get an 100x100 pixmap of the color palette. If the layer has no palette a white pixmap will be returned */
547549
QPixmap paletteAsPixmap( int theBandNumber = 1 );
548550

549-
/** \brief [ data provider interface ] Which provider is being used for this Raster Layer? */
550-
QString providerKey() const;
551+
/** \brief [ data provider interface ] Which provider is being used for this Raster Layer?
552+
* @note added in 2.0
553+
*/
554+
QString providerType() const;
555+
556+
/** \brief [ data provider interface ] Which provider is being used for this Raster Layer?
557+
* @deprecated use providerType()
558+
*/
559+
Q_DECL_DEPRECATED QString providerKey() const { return providerType(); }
551560

552561
/** \brief Returns the number of raster units per each raster pixel. In a world file, this is normally the first row (without the sign) */
553562
double rasterUnitsPerPixel();

0 commit comments

Comments
 (0)