!1 fix popup windows

* fix popup windows
This commit is contained in:
goodl3000 2025-04-16 13:33:06 +00:00 committed by tamlok
parent a27485c021
commit 3ec78f4c36
4 changed files with 33 additions and 14 deletions

View File

@ -8,6 +8,7 @@
#include <QFileDialog> #include <QFileDialog>
#include <QInputDialog> #include <QInputDialog>
#include <QTimer> #include <QTimer>
#include <QWidgetAction>
#include "propertydefs.h" #include "propertydefs.h"
@ -46,7 +47,8 @@ AttachmentPopup::AttachmentPopup(QToolButton *p_btn, QWidget *p_parent)
void AttachmentPopup::setupUI() void AttachmentPopup::setupUI()
{ {
auto mainLayout = new QVBoxLayout(this); QWidget *widget = new QWidget{};
auto mainLayout = new QVBoxLayout(widget);
const auto &themeMgr = VNoteX::getInst().getThemeMgr(); const auto &themeMgr = VNoteX::getInst().getThemeMgr();
@ -202,7 +204,14 @@ void AttachmentPopup::setupUI()
}); });
mainLayout->addWidget(m_viewer); mainLayout->addWidget(m_viewer);
setMinimumSize(320, 384); widget->setMinimumSize(320, 384);
auto act = new QWidgetAction(this);
// @act will own @p_widget.
act->setDefaultWidget(widget);
addAction(act);
} }
QToolButton *AttachmentPopup::createButton() QToolButton *AttachmentPopup::createButton()

View File

@ -2,6 +2,7 @@
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QToolButton> #include <QToolButton>
#include <QWidgetAction>
#include <core/global.h> #include <core/global.h>
#include <utils/widgetutils.h> #include <utils/widgetutils.h>
@ -23,13 +24,15 @@ OutlinePopup::OutlinePopup(QToolButton *p_btn, QWidget *p_parent)
void OutlinePopup::setupUI() void OutlinePopup::setupUI()
{ {
auto mainLayout = new QVBoxLayout(this);
WidgetUtils::setContentsMargins(mainLayout);
m_viewer = new OutlineViewer(tr("Outline"), this); m_viewer = new OutlineViewer(tr("Outline"), this);
mainLayout->addWidget(m_viewer); m_viewer->setMinimumSize(320, 384);
auto act = new QWidgetAction(this);
// @act will own @p_widget.
act->setDefaultWidget(m_viewer);
addAction(act);
setMinimumSize(320, 384);
} }
void OutlinePopup::setOutlineProvider(const QSharedPointer<OutlineProvider> &p_provider) void OutlinePopup::setOutlineProvider(const QSharedPointer<OutlineProvider> &p_provider)

View File

@ -2,6 +2,7 @@
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QWidgetAction>
#include <utils/widgetutils.h> #include <utils/widgetutils.h>
#include <buffer/buffer.h> #include <buffer/buffer.h>
@ -30,9 +31,14 @@ TagPopup::TagPopup(QToolButton *p_btn, QWidget *p_parent)
void TagPopup::setupUI() void TagPopup::setupUI()
{ {
m_tagViewer = new TagViewer(true, this); m_tagViewer = new TagViewer(true, this);
setCentralWidget(m_tagViewer); //setCentralWidget(m_tagViewer);
setMinimumSize(256, 320); m_tagViewer->setMinimumSize(256, 320);
auto act = new QWidgetAction(this);
// @act will own @p_widget.
act->setDefaultWidget(m_tagViewer);
addAction(act);
} }
void TagPopup::setBuffer(Buffer *p_buffer) void TagPopup::setBuffer(Buffer *p_buffer)

View File

@ -4,6 +4,7 @@
#include <QLabel> #include <QLabel>
#include <QGroupBox> #include <QGroupBox>
#include <QPointer> #include <QPointer>
#include <QWidgetAction>
#include <utils/widgetutils.h> #include <utils/widgetutils.h>
@ -70,11 +71,11 @@ void WordCountPopup::updateCount(const ViewWindow::WordCountInfo &p_info)
void WordCountPopup::setupUI() void WordCountPopup::setupUI()
{ {
QWidget *mainWidget = new QWidget(this); m_panel = new WordCountPanel(this);
setCentralWidget(mainWidget);
auto mainLayout = new QVBoxLayout(mainWidget);
m_panel = new WordCountPanel(mainWidget); auto act = new QWidgetAction(this);
mainLayout->addWidget(m_panel); // @act will own @p_widget.
act->setDefaultWidget(m_panel);
addAction(act);
} }