QgsRasterFormatSaveOptionsWidget::QgsRasterFormatSaveOptionsWidget( QWidget* parent, const QString& format, QgsRasterFormatSaveOptionsWidget::Type type, const QString& provider ) : QWidget( parent ) , mFormat( format ) , mProvider( provider ) , mRasterLayer( nullptr ) , mRasterFileName( QString() ) , mPyramids( false ) , mPyramidsFormat( QgsRaster::PyramidsGTiff ) { setupUi( this ); setType( type ); if ( mBuiltinProfiles.isEmpty() ) { // key=profileKey values=format,profileName,options mBuiltinProfiles[ "z_adefault" ] = ( QStringList() << "" << tr( "Default" ) << "" ); // these GTiff profiles are based on Tim's benchmarks at // http://linfiniti.com/2011/05/gdal-efficiency-of-various-compression-algorithms/ // big: no compression | medium: reasonable size/speed tradeoff | small: smallest size mBuiltinProfiles[ "z_gtiff_1big" ] = ( QStringList() << "GTiff" << tr( "No compression" ) << "COMPRESS=NONE BIGTIFF=IF_NEEDED" ); mBuiltinProfiles[ "z_gtiff_2medium" ] = ( QStringList() << "GTiff" << tr( "Low compression" ) << "COMPRESS=PACKBITS" ); mBuiltinProfiles[ "z_gtiff_3small" ] = ( QStringList() << "GTiff" << tr( "High compression" ) << "COMPRESS=DEFLATE PREDICTOR=2 ZLEVEL=9" ); mBuiltinProfiles[ "z_gtiff_4jpeg" ] = ( QStringList() << "GTiff" << tr( "JPEG compression" ) << "COMPRESS=JPEG JPEG_QUALITY=75" ); // overview compression schemes for GTiff format, see // http://www.gdal.org/gdaladdo.html and http://www.gdal.org/frmt_gtiff.html // TODO - should we offer GDAL_TIFF_OVR_BLOCKSIZE option here or in QgsRasterPyramidsOptionsWidget ? mBuiltinProfiles[ "z__pyramids_gtiff_1big" ] = ( QStringList() << "_pyramids" << tr( "No compression" ) << "COMPRESS_OVERVIEW=NONE BIGTIFF_OVERVIEW=IF_NEEDED" ); mBuiltinProfiles[ "z__pyramids_gtiff_2medium" ] = ( QStringList() << "_pyramids" << tr( "Low compression" ) << "COMPRESS_OVERVIEW=PACKBITS" ); mBuiltinProfiles[ "z__pyramids_gtiff_3small" ] = ( QStringList() << "_pyramids" << tr( "High compression" ) << "COMPRESS_OVERVIEW=DEFLATE PREDICTOR_OVERVIEW=2 ZLEVEL=9" ); // how to set zlevel? mBuiltinProfiles[ "z__pyramids_gtiff_4jpeg" ] = ( QStringList() << "_pyramids" << tr( "JPEG compression" ) << "JPEG_QUALITY_OVERVIEW=75 COMPRESS_OVERVIEW=JPEG PHOTOMETRIC_OVERVIEW=YCBCR INTERLEAVE_OVERVIEW=PIXEL" ); } connect( mProfileComboBox, SIGNAL( currentIndexChanged( const QString & ) ), this, SLOT( updateOptions() ) ); connect( mOptionsTable, SIGNAL( cellChanged( int, int ) ), this, SLOT( optionsTableChanged() ) ); connect( mOptionsHelpButton, SIGNAL( clicked() ), this, SLOT( helpOptions() ) ); connect( mOptionsValidateButton, SIGNAL( clicked() ), this, SLOT( validateOptions() ) ); // create eventFilter to map right click to swapOptionsUI() // mOptionsLabel->installEventFilter( this ); mOptionsLineEdit->installEventFilter( this ); mOptionsStackedWidget->installEventFilter( this ); updateControls(); updateProfiles(); QgsDebugMsg( "done" ); }
// main function //--------------------------------------------------------------------------- int main(int argc,char **argv) //--------------------------------------------------------------------------- { int c; char interfaceName[100]; char ipAddress[100]; char networkMask[100]; char broadcastAddress[100]; strcpy(interfaceName, "oai0"); strcpy(ipAddress, "10.0.1.1"); strcpy(networkMask, "255.255.255.0"); broadcastAddress[0]='\0'; while ((c = getopt (argc, argv, "i:a:n:b:h")) != -1) switch (c) { case 'h': helpOptions(argv); break; case 'i': strcpy(interfaceName,optarg); break; case 'a': strcpy(ipAddress,optarg); break; case 'n': strcpy(networkMask,optarg); break; case 'b': strcpy(broadcastAddress,optarg); break; case '?': if (isprint (optopt)) fprintf (stderr, "Unknown option `-%c'.\n", optopt); else fprintf (stderr, "Unknown option character `\\x%x'.\n", optopt); return 1; default: abort (); } if(strlen(broadcastAddress)==0) { strcpy(broadcastAddress,ipAddress); createBroadcast(broadcastAddress); } printf("Command: ifconfig %s %s networkMask %s broadcast %s\n", interfaceName, ipAddress, networkMask, broadcastAddress); NAS_config(interfaceName, ipAddress, networkMask, broadcastAddress); //test // setBaseNetAddress("11.11"); // nas_config(interfaceName, 33, 44); }