SettingsPageAirspaceWarningsNumPad::SettingsPageAirspaceWarningsNumPad(QWidget *parent) : QWidget(parent, Qt::WindowStaysOnTopHint) { setObjectName("SettingsPageAirspaceWarningsNumPad"); setAttribute( Qt::WA_DeleteOnClose ); setWindowFlags( Qt::Tool ); setWindowModality( Qt::WindowModal ); setWindowTitle(tr("Airspace warning settings")); if( MainWindow::mainWindow() ) { // Resize the window to the same size as the main window has. That will // completely hide the parent window. resize( MainWindow::mainWindow()->size() ); } // save current altitude unit. This unit must be considered during // storage. The internal storage is always in meters. m_altUnit = Altitude::getUnit(); QVBoxLayout *topLayout = new QVBoxLayout(this); QGroupBox* warningGroup = new QGroupBox(this); QHBoxLayout* warningLayout = new QHBoxLayout(warningGroup); m_enableWarning = new QCheckBox(tr("Enable Warnings")); m_enableWarning->setChecked(true); connect( m_enableWarning, SIGNAL(toggled(bool)), SLOT(slot_enabledToggled(bool))); warningLayout->addWidget( m_enableWarning ); topLayout->addWidget( warningGroup ); m_distanceGroup = new QGroupBox(tr("Distances"), this); topLayout->addWidget(m_distanceGroup); int row = 0; QGridLayout* mVGroupLayout = new QGridLayout(m_distanceGroup); mVGroupLayout->setHorizontalSpacing(10); mVGroupLayout->setVerticalSpacing(10); mVGroupLayout->setRowMinimumHeight ( row++, 8 ); // row 0 QLabel* lbl; lbl = new QLabel(tr("Lateral"), m_distanceGroup); mVGroupLayout->addWidget(lbl, row, 0 ); lbl = new QLabel(tr("Above"), m_distanceGroup); mVGroupLayout->addWidget(lbl, row, 1 ); lbl = new QLabel(tr("Below"), m_distanceGroup); mVGroupLayout->addWidget(lbl, row, 2 ); row++; //row 1 lbl = new QLabel(tr("Near"), m_distanceGroup); mVGroupLayout->addWidget(lbl, row, 3, Qt::AlignLeft|Qt::AlignVCenter); m_horiWarnDist = createNumEd( m_distanceGroup ); mVGroupLayout->addWidget(m_horiWarnDist, row, 0); m_aboveWarnDist = createNumEd( m_distanceGroup ); mVGroupLayout->addWidget(m_aboveWarnDist, row, 1); m_belowWarnDist = createNumEd( m_distanceGroup ); mVGroupLayout->addWidget(m_belowWarnDist, row, 2); row++; // row 2 lbl = new QLabel(tr("Very Near"), m_distanceGroup); mVGroupLayout->addWidget(lbl, row, 3, Qt::AlignLeft|Qt::AlignVCenter); m_horiWarnDistVN = createNumEd( m_distanceGroup ); mVGroupLayout->addWidget(m_horiWarnDistVN, row, 0); m_aboveWarnDistVN = createNumEd( m_distanceGroup ); mVGroupLayout->addWidget(m_aboveWarnDistVN, row, 1); m_belowWarnDistVN = createNumEd( m_distanceGroup ); mVGroupLayout->addWidget(m_belowWarnDistVN, row, 2); row++; topLayout->addSpacing(20); topLayout->addStretch(10); m_defaults = new QPushButton(tr("Default")); QDialogButtonBox* buttonBox = new QDialogButtonBox( Qt::Horizontal ); buttonBox->layout()->setSpacing(30); buttonBox->addButton( m_defaults, QDialogButtonBox::ActionRole ); buttonBox->addButton( QDialogButtonBox::Ok ); buttonBox->addButton( QDialogButtonBox::Cancel ); topLayout->addWidget( buttonBox ); connect(m_defaults, SIGNAL(clicked()), this, SLOT(slot_defaults())); connect(buttonBox, SIGNAL(accepted()), this, SLOT(slot_save())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(slot_reject())); slot_load(); }
void ThemeBuilderUI::slot_ElementChanged(const QString& element) { if (!config->isValid()) return; slot_save(lastElement); lastElement = QString(); if (element.isEmpty()) return; lastElement = element; theme_spec_t tspec = config->getThemeSpec(); // theme authorLineEdit->setText(tspec.author); commentLineEdit->setText(tspec.comment); animateThemeCb->setChecked(tspec.animated); stepSb->setValue(tspec.step); element_spec_t espec = config->getElementSpec(element, false); // general if ( !((QString)espec.inherits).isNull() && !((QString)espec.inherits).isEmpty() ) { inheritElementCb->setChecked(true); inheritElementCombo->setCurrentIndex(inheritElementCombo->findText(espec.inherits)); } else { inheritElementCb->setChecked(false); inheritElementCombo->setCurrentIndex(-1); } printf("load %s\n",(const char *)(element.toAscii())); if (espec.frame.hasCapsule.present && espec.frame.hasCapsule) capsuleCb->setChecked(true); else capsuleCb->setChecked(false); // frame if ( !((QString)espec.frame.inherits).isNull() && !((QString)espec.frame.inherits).isEmpty() ) { inheritFrameCb->setChecked(true); inheritFrameCombo->setCurrentIndex(inheritFrameCombo->findText(espec.frame.inherits)); } else { inheritFrameCb->setChecked(false); inheritFrameCombo->setCurrentIndex(-1); } frameSvgCombo->clear(); frameSvgCombo->addItems(svgElements); frameCb->setChecked(espec.frame.hasFrame); frameSvgCombo->setCurrentIndex(frameSvgCombo->findText(espec.frame.element)); readInt(frame, Top, top); readInt(frame, Bottom, bottom); readInt(frame, Left, left); readInt(frame, Right, right); if (espec.frame.animationFrames.present) frameAnimateCb->setChecked(true); else frameAnimateCb->setChecked(false); readInt(frame, Frames, animationFrames); // interior if ( !((QString)espec.interior.inherits).isNull() && !((QString)espec.interior.inherits).isEmpty() ) { inheritInteriorCb->setChecked(true); inheritInteriorCombo->setCurrentIndex(inheritInteriorCombo->findText(espec.interior.inherits)); } else { inheritInteriorCb->setChecked(false); inheritInteriorCombo->setCurrentIndex(-1); } interiorSvgCombo->clear(); interiorSvgCombo->addItems(svgElements); interiorCb->setChecked(espec.interior.hasInterior); interiorSvgCombo->setCurrentIndex(interiorSvgCombo->findText(espec.interior.element)); readInt(interior, Rx, px); readInt(interior, Ry, py); if (espec.interior.animationFrames.present) interiorAnimateCb->setChecked(true); else interiorAnimateCb->setChecked(false); readInt(interior, Frames, animationFrames); // indicator if ( !((QString)espec.indicator.inherits).isNull() && !((QString)espec.indicator.inherits).isEmpty() ) { inheritIndicatorCb->setChecked(true); inheritIndicatorCombo->setCurrentIndex(inheritIndicatorCombo->findText(espec.indicator.inherits)); } else { inheritIndicatorCb->setChecked(false); inheritIndicatorCombo->setCurrentIndex(-1); } indicatorSvgCombo->clear(); indicatorSvgCombo->addItems(svgElements); indicatorSvgCombo->setCurrentIndex(indicatorSvgCombo->findText(espec.indicator.element)); readInt(indicator, Size, size); // text readInt(label, ShadowX, xshift); readInt(label, ShadowY, yshift); readInt(label, ShadowDepth, depth); if (espec.label.hasShadow.present && espec.label.hasShadow) shadowCb->setChecked(true); else shadowCb->setChecked(false); readInt(label, ShadowRed, r); readInt(label, ShadowGreen, g); readInt(label, ShadowBlue, b); readInt(label, ShadowAlpha, a); if (espec.label.hasMargin.present && espec.label.hasMargin) textMarginCb->setChecked(true); else textMarginCb->setChecked(false); readInt(label, TextTop, top); readInt(label, TextBottom, bottom); readInt(label, TextLeft, left); readInt(label, TextRight, right); readInt(label, TextIconSpacing, tispace); // size heightSb->setValue(0); widthSb->setValue(0); if (espec.size.minH.present) { heightSb->setValue(espec.size.minH); minHeightRadio->setChecked(true); } if (espec.size.fixedH.present) { heightSb->setValue(espec.size.fixedH); fixedHeightRadio->setChecked(true); } if (espec.size.minH.present || espec.size.fixedH.present) forceHeightCb->setChecked(true); else forceHeightCb->setChecked(false); if (espec.size.minW.present) { widthSb->setValue(espec.size.minW); minWidthRadio->setChecked(true); } if (espec.size.fixedW.present) { widthSb->setValue(espec.size.fixedW); fixedWidthRadio->setChecked(true); } if (espec.size.minW.present || espec.size.fixedW.present) forceWidthCb->setChecked(true); else forceWidthCb->setChecked(false); }
void ThemeBuilderUI::slot_quit() { slot_save(lastElement); }
/* * Because Maemo 5 is using a special dialog design this window is declared * as a tool window. */ SettingsPagePointDataLoading::SettingsPagePointDataLoading( QWidget *parent ) : QWidget( parent ) { setObjectName("SettingsPagePointDataLoading"); setAttribute( Qt::WA_DeleteOnClose ); setWindowFlags( Qt::Tool ); setWindowTitle(tr("Point data loading settings")); setWindowModality( Qt::WindowModal ); if( _globalMainWindow ) { // Resize the window to the same size as the main window has. That will // completely hide the parent window. resize( _globalMainWindow->size() ); } QStringList mapDirs = GeneralConfig::instance()->getMapDirectories(); QVBoxLayout *topLayout = new QVBoxLayout( this ); topLayout->setSpacing(10); m_fileTable = new QTableWidget( 0, 1, this ); m_fileTable->setToolTip( tr("Uncheck All to enable loading of single files.") ); m_fileTable->setSelectionBehavior( QAbstractItemView::SelectRows ); m_fileTable->setAlternatingRowColors( true ); m_fileTable->setShowGrid( true ); // set new row height from configuration int afMargin = GeneralConfig::instance()->getListDisplayAFMargin(); m_fileTable->setItemDelegate( new RowDelegate( m_fileTable, afMargin ) ); m_fileTable->setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); m_fileTable->setHorizontalScrollMode( QAbstractItemView::ScrollPerPixel ); #ifdef ANDROID QScrollBar* lvsb = m_fileTable->verticalScrollBar(); lvsb->setStyleSheet( Layout::getCbSbStyle() ); #endif #ifdef QSCROLLER QScroller::grabGesture( m_fileTable->viewport(), QScroller::LeftMouseButtonGesture ); #endif #ifdef QTSCROLLER QtScroller::grabGesture( m_fileTable->viewport(), QtScroller::LeftMouseButtonGesture ); #endif QString style = "QTableView QTableCornerButton::section { background: gray }"; m_fileTable->setStyleSheet( style ); QHeaderView *vHeader = m_fileTable->verticalHeader(); style = "QHeaderView::section { width: 2em }"; vHeader->setStyleSheet( style ); connect( m_fileTable, SIGNAL(cellClicked ( int, int )), SLOT(slot_toggleCheckBox( int, int )) ); connect( m_fileTable, SIGNAL(itemSelectionChanged()), this, SLOT(slot_itemSelectionChanged()) ); QHeaderView* hHeader = m_fileTable->horizontalHeader(); hHeader->setStretchLastSection( true ); QString loadDirs; for( int i = 0; i < mapDirs.size(); i++ ) { if( i > 0 ) { loadDirs.append("\n"); } loadDirs += mapDirs.at(i) + "/points"; } QTableWidgetItem *item = new QTableWidgetItem( loadDirs ); item->setTextAlignment( Qt::AlignLeft ); m_fileTable->setHorizontalHeaderItem( 0, item ); topLayout->addWidget( m_fileTable, 10 ); int buttonSize = Layout::getButtonSize(); int iconSize = buttonSize - 5; m_delButton = new QPushButton; m_delButton->setIcon( QIcon( GeneralConfig::instance()->loadPixmap( "delete.png" ) ) ); m_delButton->setIconSize(QSize(iconSize, iconSize)); m_delButton->setMinimumSize(buttonSize, buttonSize); m_delButton->setMaximumSize(buttonSize, buttonSize); m_delButton->setEnabled( false ); QPushButton *okButton = new QPushButton; okButton->setIcon(QIcon(GeneralConfig::instance()->loadPixmap("ok.png"))); okButton->setIconSize(QSize(iconSize, iconSize)); okButton->setMinimumSize(buttonSize, buttonSize); okButton->setMaximumSize(buttonSize, buttonSize); QPushButton *cancelButton = new QPushButton; cancelButton->setIcon(QIcon(GeneralConfig::instance()->loadPixmap("cancel.png"))); cancelButton->setIconSize(QSize(iconSize, iconSize)); cancelButton->setMinimumSize(buttonSize, buttonSize); cancelButton->setMaximumSize(buttonSize, buttonSize); connect( m_delButton, SIGNAL(clicked() ), this, SLOT(slot_DeleteRows()) ); connect( okButton, SIGNAL(clicked() ), this, SLOT(slot_save()) ); connect( cancelButton, SIGNAL(clicked() ), this, SLOT(close()) ); // box with operator buttons QHBoxLayout *buttonBox = new QHBoxLayout; buttonBox->setSpacing(0); buttonBox->addWidget( m_delButton ); buttonBox->addStretch(2); buttonBox->addWidget( cancelButton ); buttonBox->addSpacing(32); buttonBox->addWidget( okButton ); topLayout->addLayout( buttonBox ); //--------------------------------------------------------------------------- // Load table with POI files QStringList preselect; for ( int i = 0; i < mapDirs.size(); ++i ) { MapContents::addDir(preselect, mapDirs.at(i) + "/points", "*_wpt.aip"); MapContents::addDir(preselect, mapDirs.at(i) + "/points", "*_nav.aip"); MapContents::addDir(preselect, mapDirs.at(i) + "/points", "*_hot.aip"); } preselect.sort(); int row = 0; m_fileTable->setRowCount( row + 1 ); item = new QTableWidgetItem( tr("Check or Uncheck all"), 0 ); item->setFlags( Qt::ItemIsEnabled ); item->setCheckState( Qt::Unchecked ); m_fileTable->setItem( row, 0, item ); row++; for( int i = 0; i < preselect.size(); i++ ) { m_fileTable->setRowCount( row + 1 ); QString file = QFileInfo( preselect.at(i) ).fileName(); item = new QTableWidgetItem( file, row ); item->setFlags( Qt::ItemIsEnabled|Qt::ItemIsSelectable ); item->setData( Qt::UserRole, preselect.at(i) ); item->setCheckState( Qt::Unchecked ); m_fileTable->setItem( row, 0, item ); row++; } QStringList& files = GeneralConfig::instance()->getOpenAipPoiFileList(); if( files.isEmpty() ) { return; } if( files.at(0) == "All" ) { // Set all items to checked, if All is contained in the list at the first // position. for( int i = 0; i < m_fileTable->rowCount(); i++ ) { m_fileTable->item( i, 0 )->setCheckState( Qt::Checked ); } } else { // Set the All item to unchecked. m_fileTable->item( 0, 0 )->setCheckState( Qt::Unchecked ); for( int i = 1; i < m_fileTable->rowCount(); i++ ) { QTableWidgetItem* item = m_fileTable->item( i, 0 ); if( files.contains( item->text()) ) { m_fileTable->item( i, 0 )->setCheckState( Qt::Checked ); } else { m_fileTable->item( i, 0 )->setCheckState( Qt::Unchecked ); } } } m_fileTable->resizeColumnsToContents(); m_fileTable->resizeRowsToContents(); }