mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-16 00:03:12 -04:00
[auth] Add widget for editing an authcfg within a data source URI
This commit is contained in:
parent
2f8e6846ab
commit
c74ddf1eec
@ -9,5 +9,38 @@ class QgsAuthConfigSelect : QWidget
|
||||
~QgsAuthConfigSelect();
|
||||
|
||||
void setConfigId( const QString& authcfg );
|
||||
|
||||
const QString configId() const;
|
||||
|
||||
void setDataProviderKey( const QString &key );
|
||||
|
||||
signals:
|
||||
void selectedConfigIdChanged( const QString& authcfg );
|
||||
|
||||
void selectedConfigIdRemoved( const QString& authcfg );
|
||||
|
||||
public slots:
|
||||
void showMessage( const QString &msg );
|
||||
|
||||
void clearMessage();
|
||||
};
|
||||
|
||||
|
||||
class QgsAuthConfigUriEdit : QDialog
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qgsauthconfigselect.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
explicit QgsAuthConfigUriEdit( QWidget *parent /TransferThis/ = 0,
|
||||
const QString &datauri = QString(),
|
||||
const QString &dataprovider = QString() );
|
||||
~QgsAuthConfigUriEdit();
|
||||
|
||||
void setDataSourceUri( const QString &datauri );
|
||||
|
||||
QString dataSourceUri();
|
||||
|
||||
static bool hasConfigID( const QString &txt );
|
||||
};
|
||||
|
@ -19,10 +19,13 @@
|
||||
|
||||
#include <QHash>
|
||||
#include <QMessageBox>
|
||||
#include <QTimer>
|
||||
|
||||
#include "qgsauthconfig.h"
|
||||
#include "qgsauthguiutils.h"
|
||||
#include "qgsauthmanager.h"
|
||||
#include "qgsauthconfigedit.h"
|
||||
#include "qgslogger.h"
|
||||
|
||||
|
||||
QgsAuthConfigSelect::QgsAuthConfigSelect( QWidget *parent, const QString &dataprovider )
|
||||
@ -44,7 +47,11 @@ QgsAuthConfigSelect::QgsAuthConfigSelect( QWidget *parent, const QString &datapr
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
leConfigMsg->setStyleSheet( QString( "QLineEdit{background-color: %1}" )
|
||||
.arg( QgsAuthGuiUtils::yellowColor().name() ) );
|
||||
|
||||
clearConfig();
|
||||
clearMessage();
|
||||
populateConfigSelector();
|
||||
}
|
||||
}
|
||||
@ -63,12 +70,20 @@ void QgsAuthConfigSelect::setConfigId( const QString& authcfg )
|
||||
else
|
||||
{
|
||||
if ( mAuthCfg != authcfg )
|
||||
{
|
||||
mAuthCfg = authcfg;
|
||||
}
|
||||
populateConfigSelector();
|
||||
loadConfig();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsAuthConfigSelect::setDataProviderKey( const QString &key )
|
||||
{
|
||||
mDataProvider = key;
|
||||
populateConfigSelector();
|
||||
}
|
||||
|
||||
void QgsAuthConfigSelect::loadConfig()
|
||||
{
|
||||
clearConfig();
|
||||
@ -87,6 +102,7 @@ void QgsAuthConfigSelect::loadConfig()
|
||||
btnConfigEdit->setEnabled( true );
|
||||
btnConfigRemove->setEnabled( true );
|
||||
}
|
||||
emit selectedConfigIdChanged( mAuthCfg );
|
||||
}
|
||||
|
||||
void QgsAuthConfigSelect::clearConfig()
|
||||
@ -101,6 +117,7 @@ void QgsAuthConfigSelect::validateConfig()
|
||||
{
|
||||
if ( !mAuthCfg.isEmpty() && !mConfigs.contains( mAuthCfg ) )
|
||||
{
|
||||
showMessage( tr( "Configuration '%1' not in database" ).arg( mAuthCfg ) );
|
||||
mAuthCfg.clear();
|
||||
}
|
||||
}
|
||||
@ -137,6 +154,18 @@ void QgsAuthConfigSelect::populateConfigSelector()
|
||||
cmbConfigSelect->setCurrentIndex( indx > 0 ? indx : 0 );
|
||||
}
|
||||
|
||||
void QgsAuthConfigSelect::showMessage( const QString &msg )
|
||||
{
|
||||
leConfigMsg->setText( msg );
|
||||
frConfigMsg->setVisible( true );
|
||||
}
|
||||
|
||||
void QgsAuthConfigSelect::clearMessage()
|
||||
{
|
||||
leConfigMsg->clear();
|
||||
frConfigMsg->setVisible( false );
|
||||
}
|
||||
|
||||
void QgsAuthConfigSelect::loadAvailableConfigs()
|
||||
{
|
||||
mConfigs.clear();
|
||||
@ -173,7 +202,7 @@ void QgsAuthConfigSelect::on_btnConfigEdit_clicked()
|
||||
ace->setWindowModality( Qt::WindowModal );
|
||||
if ( ace->exec() )
|
||||
{
|
||||
qDebug( "Edit returned config Id: %s", ace->configId().toAscii().constData() );
|
||||
//qDebug( "Edit returned config Id: %s", ace->configId().toAscii().constData() );
|
||||
setConfigId( ace->configId() );
|
||||
}
|
||||
ace->deleteLater();
|
||||
@ -192,6 +221,188 @@ void QgsAuthConfigSelect::on_btnConfigRemove_clicked()
|
||||
|
||||
if ( QgsAuthManager::instance()->removeAuthenticationConfig( mAuthCfg ) )
|
||||
{
|
||||
emit selectedConfigIdRemoved( mAuthCfg );
|
||||
setConfigId( QString() );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsAuthConfigSelect::on_btnConfigMsgClear_clicked()
|
||||
{
|
||||
clearMessage();
|
||||
}
|
||||
|
||||
|
||||
//////////////// Embed in dialog ///////////////////
|
||||
|
||||
#include <QPushButton>
|
||||
|
||||
QgsAuthConfigUriEdit::QgsAuthConfigUriEdit( QWidget *parent, const QString &datauri, const QString &dataprovider )
|
||||
: QDialog( parent )
|
||||
, mAuthCfg( QString() )
|
||||
, mDataUri( QString() )
|
||||
, mDataUriOrig( QString() )
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
setWindowTitle( tr( "Authentication Config ID String Editor" ) );
|
||||
|
||||
buttonBox->button( QDialogButtonBox::Close )->setDefault( true );
|
||||
connect( buttonBox, SIGNAL( rejected() ), this, SLOT( close() ) );
|
||||
connect( buttonBox, SIGNAL( accepted() ), this, SLOT( saveChanges() ) );
|
||||
|
||||
connect( buttonBox->button( QDialogButtonBox::Reset ), SIGNAL( clicked() ), this, SLOT( resetChanges() ) );
|
||||
|
||||
connect( wdgtAuthSelect, SIGNAL( selectedConfigIdChanged( QString ) ), this , SLOT( authCfgUpdated( QString ) ) );
|
||||
connect( wdgtAuthSelect, SIGNAL( selectedConfigIdRemoved( QString ) ), this , SLOT( authCfgRemoved( QString ) ) );
|
||||
|
||||
wdgtAuthSelect->setDataProviderKey( dataprovider );
|
||||
setDataSourceUri( datauri );
|
||||
}
|
||||
|
||||
QgsAuthConfigUriEdit::~QgsAuthConfigUriEdit()
|
||||
{
|
||||
}
|
||||
|
||||
void QgsAuthConfigUriEdit::setDataSourceUri( const QString &datauri )
|
||||
{
|
||||
if ( datauri.isEmpty() )
|
||||
return;
|
||||
|
||||
mDataUri = mDataUriOrig = datauri;
|
||||
|
||||
teDataUri->setPlainText( mDataUri );
|
||||
|
||||
if ( authCfgIndex() == -1 )
|
||||
{
|
||||
wdgtAuthSelect->showMessage( tr( "No authcfg in Data Source URI" ) );
|
||||
return;
|
||||
}
|
||||
|
||||
selectAuthCfgInUri();
|
||||
|
||||
mAuthCfg = authCfgFromUri();
|
||||
|
||||
QgsDebugMsg( QString( "Parsed authcfg ID: %1" ).arg( mAuthCfg ) );
|
||||
|
||||
wdgtAuthSelect->blockSignals( true );
|
||||
wdgtAuthSelect->setConfigId( mAuthCfg );
|
||||
wdgtAuthSelect->blockSignals( false );
|
||||
}
|
||||
|
||||
QString QgsAuthConfigUriEdit::dataSourceUri()
|
||||
{
|
||||
return mDataUri;
|
||||
}
|
||||
|
||||
bool QgsAuthConfigUriEdit::hasConfigID( const QString &txt )
|
||||
{
|
||||
return QgsAuthManager::instance()->hasConfigId( txt );
|
||||
}
|
||||
|
||||
void QgsAuthConfigUriEdit::saveChanges()
|
||||
{
|
||||
this->accept();
|
||||
}
|
||||
|
||||
void QgsAuthConfigUriEdit::resetChanges()
|
||||
{
|
||||
wdgtAuthSelect->clearMessage();
|
||||
setDataSourceUri( mDataUriOrig );
|
||||
}
|
||||
|
||||
void QgsAuthConfigUriEdit::authCfgUpdated( const QString &authcfg )
|
||||
{
|
||||
mAuthCfg = authcfg;
|
||||
|
||||
if ( mAuthCfg.size() != 7 )
|
||||
{
|
||||
mAuthCfg.clear();
|
||||
removeAuthCfgFromUri();
|
||||
}
|
||||
else
|
||||
{
|
||||
updateUriWithAuthCfg();
|
||||
}
|
||||
teDataUri->clear();
|
||||
teDataUri->setPlainText( mDataUri );
|
||||
selectAuthCfgInUri();
|
||||
}
|
||||
|
||||
void QgsAuthConfigUriEdit::authCfgRemoved( const QString &authcfg )
|
||||
{
|
||||
if ( authCfgFromUri() == authcfg )
|
||||
{
|
||||
removeAuthCfgFromUri();
|
||||
}
|
||||
}
|
||||
|
||||
int QgsAuthConfigUriEdit::authCfgIndex()
|
||||
{
|
||||
QRegExp rx( QgsAuthManager::instance()->configIdRegex() );
|
||||
return rx.indexIn( mDataUri );
|
||||
}
|
||||
|
||||
QString QgsAuthConfigUriEdit::authCfgFromUri()
|
||||
{
|
||||
int startindex = authCfgIndex();
|
||||
if ( startindex == -1 )
|
||||
return QString();
|
||||
|
||||
return mDataUri.mid( startindex + 8, 7 );
|
||||
}
|
||||
|
||||
void QgsAuthConfigUriEdit::selectAuthCfgInUri()
|
||||
{
|
||||
int startindex = authCfgIndex();
|
||||
if ( startindex == -1 )
|
||||
return;
|
||||
|
||||
// authcfg=.{7} will always be 15 chars
|
||||
QTextCursor tc = teDataUri->textCursor();
|
||||
tc.setPosition( startindex );
|
||||
tc.setPosition( startindex + 15, QTextCursor::KeepAnchor );
|
||||
teDataUri->setTextCursor( tc );
|
||||
teDataUri->setFocus();
|
||||
}
|
||||
|
||||
void QgsAuthConfigUriEdit::updateUriWithAuthCfg()
|
||||
{
|
||||
int startindex = authCfgIndex();
|
||||
if ( startindex == -1 )
|
||||
{
|
||||
if ( mAuthCfg.size() == 7 )
|
||||
{
|
||||
wdgtAuthSelect->showMessage( tr( "Adding authcfg to URI not supported" ) );
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
mDataUri = mDataUri.replace( startindex + 8, 7, mAuthCfg );
|
||||
}
|
||||
|
||||
void QgsAuthConfigUriEdit::removeAuthCfgFromUri()
|
||||
{
|
||||
int startindex = authCfgIndex();
|
||||
if ( startindex == -1 )
|
||||
return;
|
||||
|
||||
// add any preceding space so two spaces will not result after removal
|
||||
int rmvlen = 15;
|
||||
if ( startindex - 1 >= 0
|
||||
&& ( mDataUri.at( startindex - 1 ).isSpace()
|
||||
|| mDataUri.at( startindex - 1 ) == QChar( '&' ) ) )
|
||||
{
|
||||
startindex -= 1;
|
||||
rmvlen += 1;
|
||||
}
|
||||
|
||||
// trim any leftover spaces or & from ends
|
||||
mDataUri = mDataUri.remove( startindex, rmvlen ).trimmed();
|
||||
if ( mDataUri.at( 0 ) == QChar( '&' ) )
|
||||
mDataUri = mDataUri.remove( 0, 1 );
|
||||
|
||||
// trim any & from
|
||||
|
||||
mAuthCfg.clear();
|
||||
}
|
||||
|
||||
|
@ -46,6 +46,23 @@ class GUI_EXPORT QgsAuthConfigSelect : public QWidget, private Ui::QgsAuthConfig
|
||||
/** Get the authentication config id for the resource */
|
||||
const QString configId() const { return mAuthCfg; }
|
||||
|
||||
/** Set key of layer provider, if applicable */
|
||||
void setDataProviderKey( const QString &key );
|
||||
|
||||
signals:
|
||||
/** Emitted when authentication config is changed or missing */
|
||||
void selectedConfigIdChanged( const QString& authcfg );
|
||||
|
||||
/** Emitted when authentication config is removed */
|
||||
void selectedConfigIdRemoved( const QString& authcfg );
|
||||
|
||||
public slots:
|
||||
/** Show a small message bar with a close button */
|
||||
void showMessage( const QString &msg );
|
||||
|
||||
/** Clear and hide small message bar */
|
||||
void clearMessage();
|
||||
|
||||
private slots:
|
||||
void loadConfig();
|
||||
void clearConfig();
|
||||
@ -60,6 +77,8 @@ class GUI_EXPORT QgsAuthConfigSelect : public QWidget, private Ui::QgsAuthConfig
|
||||
|
||||
void on_btnConfigRemove_clicked();
|
||||
|
||||
void on_btnConfigMsgClear_clicked();
|
||||
|
||||
private:
|
||||
void loadAvailableConfigs();
|
||||
|
||||
@ -71,4 +90,65 @@ class GUI_EXPORT QgsAuthConfigSelect : public QWidget, private Ui::QgsAuthConfig
|
||||
QLabel *mAuthNotify;
|
||||
};
|
||||
|
||||
|
||||
//////////////// Embed in dialog ///////////////////
|
||||
|
||||
#include "ui_qgsauthconfiguriedit.h"
|
||||
|
||||
class QPushButton;
|
||||
|
||||
/** \ingroup gui
|
||||
* Dialog wrapper of select widget to edit an authcfg in a data source URI
|
||||
*/
|
||||
class GUI_EXPORT QgsAuthConfigUriEdit : public QDialog, private Ui::QgsAuthConfigUriEdit
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
/**
|
||||
* Construct wrapper dialog for select widget to edit an authcfg in a data source URI
|
||||
* @param parent Parent widget
|
||||
* @param datauri URI QString with of without an authcfg=ID string
|
||||
* @param dataprovider The key of the calling layer provider, if applicable
|
||||
*/
|
||||
explicit QgsAuthConfigUriEdit( QWidget *parent = 0,
|
||||
const QString &datauri = QString(),
|
||||
const QString &dataprovider = QString() );
|
||||
~QgsAuthConfigUriEdit();
|
||||
|
||||
/** Set the data source URI to parse */
|
||||
void setDataSourceUri( const QString &datauri );
|
||||
|
||||
/** The returned, possibly edited data source URI */
|
||||
QString dataSourceUri();
|
||||
|
||||
/** Whether a string conatins an authcfg ID */
|
||||
static bool hasConfigID( const QString &txt );
|
||||
|
||||
private slots:
|
||||
void saveChanges();
|
||||
|
||||
void resetChanges();
|
||||
|
||||
void authCfgUpdated( const QString &authcfg );
|
||||
|
||||
void authCfgRemoved( const QString &authcfg );
|
||||
|
||||
private:
|
||||
int authCfgIndex();
|
||||
|
||||
QString authCfgFromUri();
|
||||
|
||||
void selectAuthCfgInUri();
|
||||
|
||||
void updateUriWithAuthCfg();
|
||||
|
||||
void removeAuthCfgFromUri();
|
||||
|
||||
QString mAuthCfg;
|
||||
QString mDataUri;
|
||||
QString mDataUriOrig;
|
||||
QPushButton *mResetButton;
|
||||
};
|
||||
|
||||
#endif // QGSAUTHCONFIGSELECT_H
|
||||
|
@ -14,9 +14,31 @@
|
||||
<string>Authentication Configuration</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="verticalSpacing">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<item row="1" column="1">
|
||||
<widget class="QToolButton" name="btnConfigAdd">
|
||||
<property name="text">
|
||||
<string>Add</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QComboBox" name="cmbConfigSelect">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
@ -32,43 +54,73 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QFrame" name="frConfigMsg">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnConfigAdd">
|
||||
<property name="text">
|
||||
<string>Add</string>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="leConfigMsg">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnConfigMsgClear">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>26</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>26</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mIconClose.png</normaloff>:/images/themes/default/mIconClose.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>14</width>
|
||||
<height>14</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="leConfigMethodDesc">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLineEdit{color: rgb(128, 128, 128);}</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="styleSheet">
|
||||
@ -126,6 +178,16 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="leConfigMethodDesc">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLineEdit{color: rgb(128, 128, 128);}</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
@ -143,6 +205,8 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<resources>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
97
src/ui/auth/qgsauthconfiguriedit.ui
Normal file
97
src/ui/auth/qgsauthconfiguriedit.ui
Normal file
@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>QgsAuthConfigUriEdit</class>
|
||||
<widget class="QDialog" name="QgsAuthConfigUriEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>449</width>
|
||||
<height>449</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Edit authentication configuration ID</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPlainTextEdit" name="teDataUri">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>75</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsAuthConfigSelect" name="wdgtAuthSelect" native="true"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<italic>true</italic>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: rgb(128, 128, 128);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Note: Button actions above affect authentication database</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Close|QDialogButtonBox::Reset|QDialogButtonBox::Save</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsAuthConfigSelect</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qgsauthconfigselect.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
Loading…
x
Reference in New Issue
Block a user