예제 #1
0
QgsAuthConfigSelect::QgsAuthConfigSelect( QWidget *parent, const QString &dataprovider )
    : QWidget( parent )
    , mAuthCfg( QString() )
    , mDataProvider( dataprovider )
    , mConfigs( QgsAuthMethodConfigsMap() )
    , mDisabled( false )
    , mAuthNotifyLayout( nullptr )
    , mAuthNotify( nullptr )
{
  if ( QgsAuthManager::instance()->isDisabled() )
  {
    mDisabled = true;
    mAuthNotifyLayout = new QVBoxLayout;
    this->setLayout( mAuthNotifyLayout );
    mAuthNotify = new QLabel( QgsAuthManager::instance()->disabledMessage(), this );
    mAuthNotifyLayout->addWidget( mAuthNotify );
  }
  else
  {
    setupUi( this );

    leConfigMsg->setStyleSheet( QString( "QLineEdit{background-color: %1}" )
                                .arg( QgsAuthGuiUtils::yellowColor().name() ) );

    clearConfig();
    clearMessage();
    populateConfigSelector();
  }
}
예제 #2
0
void QgsAuthConfigSelect::setDataProviderKey( const QString &key )
{
  if ( mDisabled )
  {
    return;
  }

  mDataProvider = key;
  populateConfigSelector();
}
예제 #3
0
void QgsAuthConfigSelect::setConfigId( const QString& authcfg )
{
  if ( mDisabled && mAuthNotify )
  {
    mAuthNotify->setText( QgsAuthManager::instance()->disabledMessage() + "\n\n" +
                          tr( "Authentication config id not loaded: %1" ).arg( authcfg ) );
  }
  else
  {
    if ( mAuthCfg != authcfg )
    {
      mAuthCfg = authcfg;
    }
    populateConfigSelector();
    loadConfig();
  }
}
예제 #4
0
void QgsAuthConfigSelect::setConfigId( const QString &authcfg )
{
  if ( mDisabled && mAuthNotify )
  {
    mAuthNotify->setText( QgsApplication::authManager()->disabledMessage() + "\n\n" +
                          tr( "Authentication config id not loaded: %1" ).arg( authcfg ) );
  }
  else
  {
    if ( mAuthCfg != authcfg )
    {
      mAuthCfg = authcfg;
    }
    // avoid duplicate call to loadConfig(), which may potentially be triggered by combo box index changes in the
    // call to populateConfigSelector(). We *always* call loadConfig() after this, so we don't want to do it twice.
    mTemporarilyBlockLoad = true;
    populateConfigSelector();
    mTemporarilyBlockLoad = false;
    loadConfig();
  }
}
예제 #5
0
QgsAuthConfigSelect::QgsAuthConfigSelect( QWidget *parent, const QString &dataprovider )
  : QWidget( parent )
  , mDataProvider( dataprovider )
{
  if ( QgsAuthManager::instance()->isDisabled() )
  {
    mDisabled = true;
    mAuthNotifyLayout = new QVBoxLayout;
    this->setLayout( mAuthNotifyLayout );
    mAuthNotify = new QLabel( QgsAuthManager::instance()->disabledMessage(), this );
    mAuthNotifyLayout->addWidget( mAuthNotify );
  }
  else
  {
    setupUi( this );
    connect( cmbConfigSelect, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsAuthConfigSelect::cmbConfigSelect_currentIndexChanged );
    connect( btnConfigAdd, &QToolButton::clicked, this, &QgsAuthConfigSelect::btnConfigAdd_clicked );
    connect( btnConfigEdit, &QToolButton::clicked, this, &QgsAuthConfigSelect::btnConfigEdit_clicked );
    connect( btnConfigRemove, &QToolButton::clicked, this, &QgsAuthConfigSelect::btnConfigRemove_clicked );
    connect( btnConfigMsgClear, &QToolButton::clicked, this, &QgsAuthConfigSelect::btnConfigMsgClear_clicked );

    // Set icons and remove texts
    btnConfigAdd->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/symbologyAdd.svg" ) ) );
    btnConfigRemove->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/symbologyRemove.svg" ) ) );
    btnConfigEdit->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionToggleEditing.svg" ) ) );
    btnConfigMsgClear->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconClose.svg" ) ) );

    btnConfigAdd->setText( QStringLiteral( "" ) );
    btnConfigRemove->setText( QStringLiteral( "" ) );
    btnConfigEdit->setText( QStringLiteral( "" ) );
    btnConfigMsgClear->setText( QStringLiteral( "" ) );

    leConfigMsg->setStyleSheet( QStringLiteral( "QLineEdit{background-color: %1}" )
                                .arg( QgsAuthGuiUtils::yellowColor().name() ) );

    clearConfig();
    clearMessage();
    populateConfigSelector();
  }
}