mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-25 22:05:53 +03:00
Merge pull request #5161 from xllndr/master
Resize WebView widget once the loginpage rendered
This commit is contained in:
commit
f0ddc54635
2 changed files with 24 additions and 0 deletions
|
@ -111,12 +111,30 @@ WebView::WebView(QWidget *parent)
|
||||||
|
|
||||||
connect(_webview, &QWebEngineView::loadProgress, _ui.progressBar, &QProgressBar::setValue);
|
connect(_webview, &QWebEngineView::loadProgress, _ui.progressBar, &QProgressBar::setValue);
|
||||||
connect(_schemeHandler, &WebViewPageUrlSchemeHandler::urlCatched, this, &WebView::urlCatched);
|
connect(_schemeHandler, &WebViewPageUrlSchemeHandler::urlCatched, this, &WebView::urlCatched);
|
||||||
|
|
||||||
|
connect(_page, &QWebEnginePage::contentsSizeChanged, this, &WebView::slotResizeToContents);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebView::setUrl(const QUrl &url) {
|
void WebView::setUrl(const QUrl &url) {
|
||||||
_page->setUrl(url);
|
_page->setUrl(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSize WebView::minimumSizeHint() const {
|
||||||
|
return _size;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WebView::slotResizeToContents(const QSizeF &size){
|
||||||
|
//this widget also holds the progressbar
|
||||||
|
const int newHeight = size.toSize().height() + _ui.progressBar->height();
|
||||||
|
const int newWidth = size.toSize().width();
|
||||||
|
_size = QSize(newWidth, newHeight);
|
||||||
|
|
||||||
|
this->updateGeometry();
|
||||||
|
|
||||||
|
//only resize once
|
||||||
|
disconnect(_page, &QWebEnginePage::contentsSizeChanged, this, &WebView::slotResizeToContents);
|
||||||
|
}
|
||||||
|
|
||||||
WebView::~WebView() {
|
WebView::~WebView() {
|
||||||
/*
|
/*
|
||||||
* The Qt implmentation deletes children in the order they are added to the
|
* The Qt implmentation deletes children in the order they are added to the
|
||||||
|
|
|
@ -23,13 +23,19 @@ public:
|
||||||
WebView(QWidget *parent = nullptr);
|
WebView(QWidget *parent = nullptr);
|
||||||
~WebView() override;
|
~WebView() override;
|
||||||
void setUrl(const QUrl &url);
|
void setUrl(const QUrl &url);
|
||||||
|
virtual QSize minimumSizeHint() const override;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void urlCatched(const QString user, const QString pass, const QString host);
|
void urlCatched(const QString user, const QString pass, const QString host);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void slotResizeToContents(const QSizeF &size);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui_WebView _ui;
|
Ui_WebView _ui;
|
||||||
|
|
||||||
|
QSize _size;
|
||||||
|
|
||||||
QWebEngineView *_webview;
|
QWebEngineView *_webview;
|
||||||
QWebEngineProfile *_profile;
|
QWebEngineProfile *_profile;
|
||||||
WebEnginePage *_page;
|
WebEnginePage *_page;
|
||||||
|
|
Loading…
Reference in a new issue