Showing with 57 additions and 16 deletions.
  1. +36 −6 ms-windows/osgeo4w/creatensis.pl
  2. +7 −5 src/app/qgisapp.cpp
  3. +1 −1 src/app/qgisapp.h
  4. +2 −0 src/app/qgsoptions.cpp
  5. +11 −4 src/ui/qgsoptionsbase.ui
42 changes: 36 additions & 6 deletions ms-windows/osgeo4w/creatensis.pl
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@

pod2usage(1) if $help;

my $wgetopt = $verbose ? "" : "-q";
my $wgetopt = $verbose ? "" : "-nv";

unless(-f "nsis/System.dll") {
mkdir "nsis", 0755 unless -d "nsis";
Expand All @@ -70,21 +70,29 @@
my %file;
my %lic;
my %sdesc;
my %md5;
my $package;

system "wget $wgetopt -O setup.ini -c $root$archpath/$ininame";
die "download of setup.ini failed" if $?;
open F, "setup.ini" || die "setup.ini not found";
while(<F>) {
my $file;
my $md5;

chop;
if(/^@ (\S+)/) {
$package = $1;
} elsif( /^requires: (.*)$/ ) {
@{$dep{$package}} = split / /, $1;
} elsif( /^install:\s+(\S+)\s+/) {
$file{$package} = $1 unless exists $file{$package};
} elsif( /^license:\s+(\S+)\s+/) {
$lic{$package} = $1 unless exists $lic{$package};
} elsif( ($file,$md5) = /^install:\s+(\S+)\s+.*\s+(\S+)$/) {
$file{$package} = $file unless exists $file{$package};
$file =~ s/^.*\///;
$md5{$file} = $md5 unless exists $md5{$file};
} elsif( ($file,$md5) = /^license:\s+(\S+)\s+.*\s+(\S+)$/) {
$lic{$package} = $file unless exists $lic{$package};
$file =~ s/^.*\///;
$md5{$file} = $md5 unless exists $md5{$file};
} elsif( /^sdesc:\s*"(.*)"\s*$/) {
$sdesc{$package} = $1 unless exists $sdesc{$package};
}
Expand Down Expand Up @@ -145,6 +153,28 @@ sub getDeps {
print "Downloading $file [$f]...\n" if $verbose;
system "wget $wgetopt -c $f";
die "download of $f failed" if $?;

if( exists $md5{$file} ) {
my $md5;
open F, "md5sum $file|";
while(<F>) {
if( /^(\S+)\s+$file$/ ) {
$md5 = $1;
}
}
close F;

die "No md5sum of $p determined" unless defined $md5;
if( $md5 eq $md5{$file} ) {
print "md5sum of $file verified.\n" if $verbose;
} else {
die "md5sum mismatch for $file [$md5 vs $md5{$file{$p}}]"
}
}
else
{
die "md5sum for $file not found.\n";
}
}
}

Expand Down Expand Up @@ -398,7 +428,7 @@ sub getDeps {
$cmd .= " QGIS-Installer.nsi";

system $cmd;
die "running nsis failed" if $?;
die "running nsis failed [$cmd]" if $?;

open P, ">osgeo4w/binary$archpostfix-$version";
print P $binary;
Expand Down
12 changes: 7 additions & 5 deletions src/app/qgisapp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6394,7 +6394,7 @@ void QgisApp::removeAllLayers()
QgsMapLayerRegistry::instance()->removeAllMapLayers();
}

void QgisApp::removeLayer( bool promptConfirmation )
void QgisApp::removeLayer()
{
if ( !mMapLegend )
{
Expand All @@ -6412,20 +6412,22 @@ void QgisApp::removeLayer( bool promptConfirmation )
int numberOfRemovedItems = mMapLegend->selectedItems().size();
if ( numberOfRemovedItems == 0 )
{
messageBar()->pushMessage( tr( "No Object Selected" ),
tr( "To remove objects, you must select them in the legend" ),
messageBar()->pushMessage( tr( "No layers selected" ),
tr( "To remove layers, you must select them in the legend" ),
QgsMessageBar::INFO, messageTimeout() );
return;
}

bool promptConfirmation = QSettings().value( "qgis/askToDeleteLayers", true ).toBool();
//display a warning
if ( promptConfirmation && QMessageBox::warning( this, tr( "Remove objects" ), tr( "Remove %n object(s)?", "number of objects to remove", numberOfRemovedItems ), QMessageBox::Ok | QMessageBox::Cancel ) == QMessageBox::Cancel )
if ( promptConfirmation && QMessageBox::warning( this, tr( "Remove layers" ), tr( "Remove %n layers(s)?", "number of layers to remove", numberOfRemovedItems ), QMessageBox::Ok | QMessageBox::Cancel ) == QMessageBox::Cancel )
{
return;
}

mMapLegend->removeSelectedLayers();

showStatusMessage( tr( "%n object(s) removed.", "number of objects removed", numberOfRemovedItems ) );
showStatusMessage( tr( "%n layers(s) removed.", "number of layers to removed", numberOfRemovedItems ) );

mMapCanvas->refresh();
}
Expand Down
2 changes: 1 addition & 1 deletion src/app/qgisapp.h
Original file line number Diff line number Diff line change
Expand Up @@ -689,7 +689,7 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
//! Slot to handle user center input;
void userCenter();
//! Remove a layer from the map and legend
void removeLayer( bool promptConfirmation = true );
void removeLayer();
/** Duplicate map layer(s) in legend
* @note added in 1.9 */
void duplicateLayers( const QList<QgsMapLayer *> lyrList = QList<QgsMapLayer *>() );
Expand Down
2 changes: 2 additions & 0 deletions src/app/qgsoptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
mProjectOnLaunchPushBtn->setEnabled( projOpen == 2 );

chbAskToSaveProjectChanges->setChecked( settings.value( "qgis/askToSaveProjectChanges", QVariant( true ) ).toBool() );
mLayerDeleteConfirmationChkBx->setChecked( settings.value( "qgis/askToDeleteLayers", true ).toBool() );
chbWarnOldProjectVersion->setChecked( settings.value( "/qgis/warnOldProjectVersion", QVariant( true ) ).toBool() );
cmbEnableMacros->setCurrentIndex( settings.value( "/qgis/enableMacros", 1 ).toInt() );

Expand Down Expand Up @@ -1086,6 +1087,7 @@ void QgsOptions::saveOptions()
settings.setValue( "/qgis/projOpenAtLaunchPath", mProjectOnLaunchLineEdit->text() );

settings.setValue( "/qgis/askToSaveProjectChanges", chbAskToSaveProjectChanges->isChecked() );
settings.setValue( "qgis/askToDeleteLayers", mLayerDeleteConfirmationChkBx->isChecked() );
settings.setValue( "/qgis/warnOldProjectVersion", chbWarnOldProjectVersion->isChecked() );
if (( settings.value( "/qgis/projectTemplateDir" ).toString() != leTemplateFolder->text() ) ||
( settings.value( "/qgis/newProjectDefault" ).toBool() != cbxProjectDefaultNew->isChecked() ) )
Expand Down
15 changes: 11 additions & 4 deletions src/ui/qgsoptionsbase.ui
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="mLayerDeleteConfirmationChkBx">
<property name="text">
<string>Prompt for confirmation when a layer is to be removed</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="chbWarnOldProjectVersion">
<property name="text">
Expand Down Expand Up @@ -1618,7 +1625,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer_38">
<spacer name="horizontalSpacer_41">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
Expand Down Expand Up @@ -1656,7 +1663,7 @@
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_56">
<widget class="QLabel" name="label_65">
<property name="text">
<string>Simplification threshold (higher values result in more simplification): </string>
</property>
Expand Down Expand Up @@ -2896,7 +2903,7 @@
</layout>
</widget>
<widget class="QWidget" name="mOptionsPageComposer">
<layout class="QVBoxLayout" name="verticalLayout_9">
<layout class="QVBoxLayout" name="verticalLayout_36">
<property name="margin">
<number>0</number>
</property>
Expand Down Expand Up @@ -2928,7 +2935,7 @@
</property>
<layout class="QGridLayout" name="gridLayout_8">
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<layout class="QHBoxLayout" name="horizontalLayout_39">
<item>
<widget class="QLabel" name="label_60">
<property name="text">
Expand Down