@@ -102,8 +102,9 @@ void EmptyTabWidget::mousePressEvent(QMouseEvent *event) {
102
102
103
103
SessionTabBarPreviewWidget::SessionTabBarPreviewWidget (QWidget *parent)
104
104
: QWidget(parent) {
105
- viewPixmap = QPixmap (200 ,200 );
106
- setWindowFlags (Qt::FramelessWindowHint);
105
+ viewPixmap = QPixmap (2 ,2 );
106
+ setWindowFlags (Qt::FramelessWindowHint|Qt::Tool|Qt::WindowStaysOnTopHint);
107
+ setWindowModality (Qt::NonModal);
107
108
setWindowOpacity (0.8 );
108
109
}
109
110
@@ -136,8 +137,9 @@ SessionTabBar::SessionTabBar(QWidget *parent)
136
137
: QTabBar(parent) {
137
138
tabBarInstances << this ;
138
139
setAttribute (Qt::WA_Hover, true );
139
- preview = new SessionTabBarPreviewWidget (this );
140
+ preview = new SessionTabBarPreviewWidget ();
140
141
preview->hide ();
142
+ preview->window ()->lower ();
141
143
}
142
144
143
145
SessionTabBar::~SessionTabBar () {
@@ -164,6 +166,7 @@ bool SessionTabBar::event(QEvent * event) {
164
166
preview->update ();
165
167
}
166
168
preview->show ();
169
+ preview->window ()->lower ();
167
170
toolTipPos = viewPos + QPoint (0 ,preview->height ()+2 );
168
171
}
169
172
QToolTip::showText (toolTipPos,tab->tabToolTip (index));
@@ -205,7 +208,8 @@ void SessionTabBar::mouseMoveEvent(QMouseEvent *event) {
205
208
if (dragLabel) {
206
209
if (!initializing_drag) {
207
210
dragLabel->setParent (nullptr );
208
- dragLabel->setWindowFlags (Qt::FramelessWindowHint);
211
+ dragLabel->setWindowFlags (Qt::FramelessWindowHint|Qt::Tool|Qt::WindowStaysOnTopHint);
212
+ dragLabel->setWindowModality (Qt::NonModal);
209
213
dragLabel->window ()->raise ();
210
214
initializing_drag = true ;
211
215
}
0 commit comments