diff --git a/konsole/TEWidget.cpp b/konsole/TEWidget.cpp index 4752600a..81d9fe7c 100644 --- a/konsole/TEWidget.cpp +++ b/konsole/TEWidget.cpp @@ -401,6 +401,12 @@ TEWidget::TEWidget(QWidget *parent, const char *name) dragInfo.state = diNone; setFocusPolicy( WheelFocus ); + + if (!argb_visual) + { + // Looks better at startup with KRootPixmap based pseudo-transparancy + setBackgroundMode(NoBackground); + } } //FIXME: make proper destructor diff --git a/konsole/konsole.cpp b/konsole/konsole.cpp index 8ea487e6..3295c7e2 100644 --- a/konsole/konsole.cpp +++ b/konsole/konsole.cpp @@ -880,7 +880,6 @@ void Konsole::makeGUI() void Konsole::makeTabWidget() { tabwidget = new KTabWidget(this); - tabwidget->installEventFilter(this); tabwidget->setTabReorderingEnabled(true); if (n_tabbar==TabTop) tabwidget->setTabPosition(QTabWidget::Top); @@ -943,21 +942,6 @@ bool Konsole::eventFilter( QObject *o, QEvent *ev ) } } } - else if (o == tabwidget) - { - // There is probably a bug in KRootPixmap which makes this workaround - // neccesary: - // Mark the background of invisible TEWidgets dirty so they can be - // repainted when they are displayed next. - if (tabwidget && ev->type() == QEvent::Resize) { - for(int i = 0; i < tabwidget->count(); i++) { - QWidget *page = tabwidget->page(i); - if (page != tabwidget->currentPage()) { - rootxpmsDirty[page] = true; - } - } - } - } return KMainWindow::eventFilter(o, ev); } @@ -1533,8 +1517,6 @@ void Konsole::readProperties(KConfig* config, const QString &schema, bool global if (!rootxpms[te]) rootxpms.insert( te, new KRootPixmap(te) ); rootxpms[te]->setFadeEffect(sch->tr_x(), QColor(sch->tr_r(), sch->tr_g(), sch->tr_b())); - rootxpms[te]->start(); - rootxpms[te]->repaint(true); } else { @@ -2441,11 +2423,6 @@ void Konsole::activateSession(QWidget* w) { activateSession(tabwidget->indexOf(w)); w->setFocus(); - if( rootxpmsDirty[w] ) { - // force repaint! - rootxpms[w]->repaint(true); - rootxpmsDirty.remove(w); - } } void Konsole::activateSession(const QString &sessionId) @@ -2524,6 +2501,8 @@ void Konsole::activateSession(TESession *s) } } + if (rootxpms[te]) + rootxpms[te]->start(); notifySize(te->Lines(), te->Columns()); // set menu items (strange arg order !) s->setConnect(true); if(!tabwidget && se->isMasterMode()) @@ -3341,8 +3320,6 @@ void Konsole::setSchema(ColorSchema* s, TEWidget* tewidget) if (!rootxpms[tewidget]) rootxpms.insert( tewidget, new KRootPixmap(tewidget) ); rootxpms[tewidget]->setFadeEffect(s->tr_x(), QColor(s->tr_r(), s->tr_g(), s->tr_b())); - rootxpms[tewidget]->start(); - rootxpms[tewidget]->repaint(true); } else { tewidget->setBlendColor(qRgba(s->tr_r(), s->tr_g(), s->tr_b(), int(s->tr_x() * 255))); tewidget->setErasePixmap( QPixmap() ); // make sure any background pixmap is unset diff --git a/konsole/konsole.h b/konsole/konsole.h index 6cab0351..13b4166a 100644 --- a/konsole/konsole.h +++ b/konsole/konsole.h @@ -284,7 +284,6 @@ private: ColorSchemaList* colors; QPtrDict rootxpms; - QMap rootxpmsDirty; KWinModule* kWinModule; KMenuBar* menubar;