bug4734.patch
| src/app/qgisapp.cpp | ||
|---|---|---|
| 1279 | 1279 |
mCoordsEdit->setToolTip( tr( "Current map coordinate (formatted as x,y)" ) ); |
| 1280 | 1280 |
statusBar()->addPermanentWidget( mCoordsEdit, 0 ); |
| 1281 | 1281 |
connect( mCoordsEdit, SIGNAL( editingFinished() ), this, SLOT( userCenter() ) ); |
| 1282 | ||
| 1282 |
connect( mCoordsEdit, SIGNAL( textEdited( QString ) ), this, SLOT( userCenterEdit() ) ); |
|
| 1283 |
|
|
| 1283 | 1284 |
// add a label to show current scale |
| 1284 | 1285 |
mScaleLabel = new QLabel( QString(), statusBar() ); |
| 1285 | 1286 |
mScaleLabel->setObjectName( "mScaleLable" ); |
| ... | ... | |
| 4421 | 4422 |
} |
| 4422 | 4423 |
} |
| 4423 | 4424 | |
| 4425 |
void QgisApp::userCenterEdit() |
|
| 4426 |
{
|
|
| 4427 |
//QgisApp updates coordinates continually; note if user changes them explicitly |
|
| 4428 |
mCoordsEdit->setProperty( "edited", true ); |
|
| 4429 |
} |
|
| 4430 | ||
| 4424 | 4431 |
void QgisApp::userCenter() |
| 4425 | 4432 |
{
|
| 4433 |
//[issue 4734] if focus remains in mCoordsEdit, mouse clicks elsewhere call userCenter() |
|
| 4434 |
mCoordsEdit->clearFocus(); |
|
| 4435 |
if ( ! mCoordsEdit->property( "edited" ).isValid() ) |
|
| 4436 |
//user placed cursor in coordinates field, but did not enter a new value; do not move canvas |
|
| 4437 |
return; |
|
| 4438 |
mCoordsEdit->setProperty( "edited", QVariant() ); //remove property "edited" |
|
| 4439 |
|
|
| 4426 | 4440 |
QStringList parts = mCoordsEdit->text().split( ',' ); |
| 4427 | 4441 |
if ( parts.size() != 2 ) |
| 4428 | 4442 |
return; |
| src/app/qgisapp.h | ||
|---|---|---|
| 496 | 496 |
void showScale( double theScale ); |
| 497 | 497 |
//! Slot to handle user scale input; |
| 498 | 498 |
void userScale(); |
| 499 |
//! Slot to handle user center input; |
|
| 499 |
//! Slots to handle user center input;
|
|
| 500 | 500 |
void userCenter(); |
| 501 |
void userCenterEdit(); |
|
| 501 | 502 |
//! Remove a layer from the map and legend |
| 502 | 503 |
void removeLayer(); |
| 503 | 504 |
//! Set CRS of a layer |