mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-09 00:04:30 -05:00
[FEATURE] Allow hiding paths from the browser panel
This commit is contained in:
parent
d1c063419b
commit
d021100e5e
@ -96,6 +96,8 @@ class QgsBrowserModel : QAbstractItemModel
|
|||||||
void removeFavourite( const QModelIndex &index );
|
void removeFavourite( const QModelIndex &index );
|
||||||
void updateProjectHome();
|
void updateProjectHome();
|
||||||
|
|
||||||
|
void hidePath( QgsDataItem *item );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// populates the model
|
// populates the model
|
||||||
void addRootItems();
|
void addRootItems();
|
||||||
|
|||||||
@ -395,6 +395,7 @@ void QgsBrowserDockWidget::showContextMenu( const QPoint & pt )
|
|||||||
menu->addAction( tr( "Remove favourite" ), this, SLOT( removeFavourite() ) );
|
menu->addAction( tr( "Remove favourite" ), this, SLOT( removeFavourite() ) );
|
||||||
}
|
}
|
||||||
menu->addAction( tr( "Properties" ), this, SLOT( showProperties() ) );
|
menu->addAction( tr( "Properties" ), this, SLOT( showProperties() ) );
|
||||||
|
menu->addAction( tr( "Hide from browser" ), this, SLOT( hideItem() ) );
|
||||||
QAction *action = menu->addAction( tr( "Fast scan this dir." ), this, SLOT( toggleFastScan() ) );
|
QAction *action = menu->addAction( tr( "Fast scan this dir." ), this, SLOT( toggleFastScan() ) );
|
||||||
action->setCheckable( true );
|
action->setCheckable( true );
|
||||||
action->setChecked( settings.value( "/qgis/scanItemsFastScanUris",
|
action->setChecked( settings.value( "/qgis/scanItemsFastScanUris",
|
||||||
@ -580,6 +581,19 @@ void QgsBrowserDockWidget::addSelectedLayers()
|
|||||||
QApplication::restoreOverrideCursor();
|
QApplication::restoreOverrideCursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QgsBrowserDockWidget::hideItem()
|
||||||
|
{
|
||||||
|
QModelIndex index = mProxyModel->mapToSource( mBrowserView->currentIndex() );
|
||||||
|
QgsDataItem* item = mModel->dataItem( index );
|
||||||
|
if ( ! item )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ( item->type() == QgsDataItem::Directory )
|
||||||
|
{
|
||||||
|
mModel->hidePath( item );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void QgsBrowserDockWidget::showProperties()
|
void QgsBrowserDockWidget::showProperties()
|
||||||
{
|
{
|
||||||
QModelIndex index = mProxyModel->mapToSource( mBrowserView->currentIndex() );
|
QModelIndex index = mProxyModel->mapToSource( mBrowserView->currentIndex() );
|
||||||
|
|||||||
@ -128,6 +128,7 @@ class APP_EXPORT QgsBrowserDockWidget : public QDockWidget, private Ui::QgsBrows
|
|||||||
void addCurrentLayer();
|
void addCurrentLayer();
|
||||||
void addSelectedLayers();
|
void addSelectedLayers();
|
||||||
void showProperties();
|
void showProperties();
|
||||||
|
void hideItem();
|
||||||
void toggleFastScan();
|
void toggleFastScan();
|
||||||
|
|
||||||
void selectionChanged( const QItemSelection & selected, const QItemSelection & deselected );
|
void selectionChanged( const QItemSelection & selected, const QItemSelection & deselected );
|
||||||
|
|||||||
@ -258,6 +258,16 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl ) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList hiddenItems = settings.value( "/browser/hiddenPaths",
|
||||||
|
QStringList() ).toStringList();
|
||||||
|
QStringList::const_iterator pathIt = hiddenItems.constBegin();
|
||||||
|
for ( ; pathIt != hiddenItems.constEnd(); ++pathIt )
|
||||||
|
{
|
||||||
|
QListWidgetItem* newItem = new QListWidgetItem( mListHiddenBrowserPaths );
|
||||||
|
newItem->setText( *pathIt );
|
||||||
|
mListHiddenBrowserPaths->addItem( newItem );
|
||||||
|
}
|
||||||
|
|
||||||
//Network timeout
|
//Network timeout
|
||||||
mNetworkTimeoutSpinBox->setValue( settings.value( "/qgis/networkAndProxy/networkTimeout", "60000" ).toInt() );
|
mNetworkTimeoutSpinBox->setValue( settings.value( "/qgis/networkAndProxy/networkTimeout", "60000" ).toInt() );
|
||||||
leUserAgent->setText( settings.value( "/qgis/networkAndProxy/userAgent", "Mozilla/5.0" ).toString() );
|
leUserAgent->setText( settings.value( "/qgis/networkAndProxy/userAgent", "Mozilla/5.0" ).toString() );
|
||||||
@ -865,6 +875,8 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl ) :
|
|||||||
mVariableEditor->reloadContext();
|
mVariableEditor->reloadContext();
|
||||||
mVariableEditor->setEditableScopeIndex( 0 );
|
mVariableEditor->setEditableScopeIndex( 0 );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
mAdvancedSettingsEditor->setSettingsObject( &settings );
|
mAdvancedSettingsEditor->setSettingsObject( &settings );
|
||||||
|
|
||||||
// restore window and widget geometry/state
|
// restore window and widget geometry/state
|
||||||
@ -1040,6 +1052,13 @@ void QgsOptions::saveOptions()
|
|||||||
}
|
}
|
||||||
settings.setValue( "composer/searchPathsForTemplates", myPaths );
|
settings.setValue( "composer/searchPathsForTemplates", myPaths );
|
||||||
|
|
||||||
|
QStringList paths;
|
||||||
|
for ( int i = 0; i < mListHiddenBrowserPaths->count(); ++i )
|
||||||
|
{
|
||||||
|
paths << mListHiddenBrowserPaths->item( i )->text();
|
||||||
|
}
|
||||||
|
settings.setValue( "/browser/hiddenPaths", paths );
|
||||||
|
|
||||||
//Network timeout
|
//Network timeout
|
||||||
settings.setValue( "/qgis/networkAndProxy/networkTimeout", mNetworkTimeoutSpinBox->value() );
|
settings.setValue( "/qgis/networkAndProxy/networkTimeout", mNetworkTimeoutSpinBox->value() );
|
||||||
settings.setValue( "/qgis/networkAndProxy/userAgent", leUserAgent->text() );
|
settings.setValue( "/qgis/networkAndProxy/userAgent", leUserAgent->text() );
|
||||||
@ -1692,6 +1711,13 @@ void QgsOptions::on_mBtnAddSVGPath_clicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QgsOptions::on_mBtnRemoveHiddenPath_clicked()
|
||||||
|
{
|
||||||
|
int currentRow = mListHiddenBrowserPaths->currentRow();
|
||||||
|
QListWidgetItem* itemToRemove = mListHiddenBrowserPaths->takeItem( currentRow );
|
||||||
|
delete itemToRemove;
|
||||||
|
}
|
||||||
|
|
||||||
void QgsOptions::on_mBtnRemoveSVGPath_clicked()
|
void QgsOptions::on_mBtnRemoveSVGPath_clicked()
|
||||||
{
|
{
|
||||||
int currentRow = mListSVGPaths->currentRow();
|
int currentRow = mListSVGPaths->currentRow();
|
||||||
|
|||||||
@ -155,6 +155,11 @@ class APP_EXPORT QgsOptions : public QgsOptionsDialogBase, private Ui::QgsOption
|
|||||||
* used for finding SVG files. */
|
* used for finding SVG files. */
|
||||||
void on_mBtnRemoveSVGPath_clicked();
|
void on_mBtnRemoveSVGPath_clicked();
|
||||||
|
|
||||||
|
/* Let the user remove a path from the hidden path list
|
||||||
|
* for the browser */
|
||||||
|
void on_mBtnRemoveHiddenPath_clicked();
|
||||||
|
|
||||||
|
|
||||||
void on_buttonBox_helpRequested() { QgsContextHelp::run( metaObject()->className() ); }
|
void on_buttonBox_helpRequested() { QgsContextHelp::run( metaObject()->className() ); }
|
||||||
|
|
||||||
void on_mBrowseCacheDirectory_clicked();
|
void on_mBrowseCacheDirectory_clicked();
|
||||||
|
|||||||
@ -112,6 +112,10 @@ void QgsBrowserModel::addRootItems()
|
|||||||
Q_FOREACH ( const QFileInfo& drive, QDir::drives() )
|
Q_FOREACH ( const QFileInfo& drive, QDir::drives() )
|
||||||
{
|
{
|
||||||
QString path = drive.absolutePath();
|
QString path = drive.absolutePath();
|
||||||
|
|
||||||
|
if ( QgsDirectoryItem::hiddenPath( path ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
QgsDirectoryItem *item = new QgsDirectoryItem( NULL, path, path );
|
QgsDirectoryItem *item = new QgsDirectoryItem( NULL, path, path );
|
||||||
|
|
||||||
connectItem( item );
|
connectItem( item );
|
||||||
@ -529,3 +533,32 @@ void QgsBrowserModel::removeFavourite( const QModelIndex &index )
|
|||||||
|
|
||||||
mFavourites->removeDirectory( item );
|
mFavourites->removeDirectory( item );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QgsBrowserModel::hidePath( QgsDataItem *item )
|
||||||
|
{
|
||||||
|
QSettings settings;
|
||||||
|
QStringList hiddenItems = settings.value( "/browser/hiddenPaths",
|
||||||
|
QStringList() ).toStringList();
|
||||||
|
int idx = hiddenItems.indexOf( item->path() );
|
||||||
|
if ( idx != -1 )
|
||||||
|
{
|
||||||
|
hiddenItems.removeAt( idx );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hiddenItems << item->path();
|
||||||
|
}
|
||||||
|
settings.setValue( "/browser/hiddenPaths", hiddenItems );
|
||||||
|
if ( item->parent() )
|
||||||
|
{
|
||||||
|
item->parent()->deleteChildItem( item );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int i = mRootItems.indexOf( item );
|
||||||
|
emit beginRemoveRows( QModelIndex(), i, i );
|
||||||
|
mRootItems.remove( i );
|
||||||
|
item->deleteLater();
|
||||||
|
emit endRemoveRows();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -138,6 +138,8 @@ class CORE_EXPORT QgsBrowserModel : public QAbstractItemModel
|
|||||||
void removeFavourite( const QModelIndex &index );
|
void removeFavourite( const QModelIndex &index );
|
||||||
void updateProjectHome();
|
void updateProjectHome();
|
||||||
|
|
||||||
|
void hidePath( QgsDataItem *item );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// populates the model
|
// populates the model
|
||||||
void addRootItems();
|
void addRootItems();
|
||||||
|
|||||||
@ -787,10 +787,14 @@ QVector<QgsDataItem*> QgsDirectoryItem::createChildren()
|
|||||||
deleteLater( children );
|
deleteLater( children );
|
||||||
return children;
|
return children;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString subdirPath = dir.absoluteFilePath( subdir );
|
QString subdirPath = dir.absoluteFilePath( subdir );
|
||||||
|
|
||||||
QgsDebugMsgLevel( QString( "creating subdir: %1" ).arg( subdirPath ), 2 );
|
QgsDebugMsgLevel( QString( "creating subdir: %1" ).arg( subdirPath ), 2 );
|
||||||
|
|
||||||
QString path = mPath + '/' + subdir; // may differ from subdirPath
|
QString path = mPath + '/' + subdir; // may differ from subdirPath
|
||||||
|
if ( QgsDirectoryItem::hiddenPath( path ) )
|
||||||
|
continue;
|
||||||
QgsDirectoryItem *item = new QgsDirectoryItem( this, subdir, subdirPath, path );
|
QgsDirectoryItem *item = new QgsDirectoryItem( this, subdir, subdirPath, path );
|
||||||
// propagate signals up to top
|
// propagate signals up to top
|
||||||
|
|
||||||
@ -880,6 +884,15 @@ void QgsDirectoryItem::directoryChanged()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool QgsDirectoryItem::hiddenPath( QString path )
|
||||||
|
{
|
||||||
|
QSettings settings;
|
||||||
|
QStringList hiddenItems = settings.value( "/browser/hiddenPaths",
|
||||||
|
QStringList() ).toStringList();
|
||||||
|
int idx = hiddenItems.indexOf( path );
|
||||||
|
return ( idx > -1 );
|
||||||
|
}
|
||||||
|
|
||||||
void QgsDirectoryItem::childrenCreated()
|
void QgsDirectoryItem::childrenCreated()
|
||||||
{
|
{
|
||||||
QgsDebugMsg( QString( "mRefreshLater = %1" ).arg( mRefreshLater ) );
|
QgsDebugMsg( QString( "mRefreshLater = %1" ).arg( mRefreshLater ) );
|
||||||
|
|||||||
@ -409,6 +409,8 @@ class CORE_EXPORT QgsDirectoryItem : public QgsDataCollectionItem
|
|||||||
//! @note deprecated since 2.10 - use QgsDataItemProviderRegistry
|
//! @note deprecated since 2.10 - use QgsDataItemProviderRegistry
|
||||||
Q_DECL_DEPRECATED static QVector<QLibrary*> mLibraries;
|
Q_DECL_DEPRECATED static QVector<QLibrary*> mLibraries;
|
||||||
|
|
||||||
|
static bool hiddenPath( QString path );
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
virtual void childrenCreated() override;
|
virtual void childrenCreated() override;
|
||||||
void directoryChanged();
|
void directoryChanged();
|
||||||
|
|||||||
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>800</width>
|
<width>780</width>
|
||||||
<height>600</height>
|
<height>629</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
@ -310,8 +310,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>610</width>
|
<width>607</width>
|
||||||
<height>670</height>
|
<height>582</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_28">
|
<layout class="QVBoxLayout" name="verticalLayout_28">
|
||||||
@ -948,8 +948,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>655</width>
|
<width>601</width>
|
||||||
<height>1057</height>
|
<height>1014</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_22">
|
<layout class="QVBoxLayout" name="verticalLayout_22">
|
||||||
@ -1376,8 +1376,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>626</width>
|
<width>618</width>
|
||||||
<height>549</height>
|
<height>702</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_27">
|
<layout class="QVBoxLayout" name="verticalLayout_27">
|
||||||
@ -1653,6 +1653,52 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QgsCollapsibleGroupBox" name="groupBox_28">
|
||||||
|
<property name="title">
|
||||||
|
<string>Hideen Browser Path</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="_15">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="mSVGLabel_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Paths hidden from browser panel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<spacer>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>31</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="3">
|
||||||
|
<widget class="QListWidget" name="mListHiddenBrowserPaths">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>120</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QPushButton" name="mBtnRemoveHiddenPath">
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_8">
|
<spacer name="verticalSpacer_8">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
@ -1693,8 +1739,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>728</width>
|
<width>548</width>
|
||||||
<height>802</height>
|
<height>675</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_29">
|
<layout class="QVBoxLayout" name="verticalLayout_29">
|
||||||
@ -2332,8 +2378,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>171</width>
|
<width>129</width>
|
||||||
<height>258</height>
|
<height>231</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_46">
|
<layout class="QHBoxLayout" name="horizontalLayout_46">
|
||||||
@ -2428,8 +2474,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>526</width>
|
<width>453</width>
|
||||||
<height>327</height>
|
<height>281</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_25">
|
<layout class="QVBoxLayout" name="verticalLayout_25">
|
||||||
@ -2757,8 +2803,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>684</width>
|
<width>538</width>
|
||||||
<height>602</height>
|
<height>527</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_30">
|
<layout class="QVBoxLayout" name="verticalLayout_30">
|
||||||
@ -3243,8 +3289,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>504</width>
|
<width>381</width>
|
||||||
<height>307</height>
|
<height>271</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_39">
|
<layout class="QVBoxLayout" name="verticalLayout_39">
|
||||||
@ -3439,8 +3485,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>501</width>
|
<width>374</width>
|
||||||
<height>640</height>
|
<height>537</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_31">
|
<layout class="QVBoxLayout" name="verticalLayout_31">
|
||||||
@ -3930,8 +3976,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>462</width>
|
<width>345</width>
|
||||||
<height>372</height>
|
<height>350</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
@ -4060,8 +4106,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>565</width>
|
<width>416</width>
|
||||||
<height>647</height>
|
<height>595</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_15">
|
<layout class="QGridLayout" name="gridLayout_15">
|
||||||
@ -4297,8 +4343,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>300</width>
|
<width>225</width>
|
||||||
<height>226</height>
|
<height>201</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_32">
|
<layout class="QVBoxLayout" name="verticalLayout_32">
|
||||||
@ -4397,8 +4443,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>531</width>
|
<width>389</width>
|
||||||
<height>705</height>
|
<height>634</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_33">
|
<layout class="QVBoxLayout" name="verticalLayout_33">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user