void KviThemedComboBox::applyOptions() { #ifdef COMPILE_PSEUDO_TRANSPARENCY bool bIsTrasparent = (KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing()) || g_pShadedChildGlobalDesktopBackground; #else bool bIsTrasparent = false; #endif if(style()->objectName() == "oxygen" || style()->objectName().startsWith("ia-ora-")) { // workaround for broken oxygen in kde4.4: use palette() instead that stylesheet // ia-ora- are the mandriva default styles setFont(KVI_OPTION_FONT(KviOption_fontLabel)); QPalette pal = palette(); pal.setBrush(QPalette::Base, bIsTrasparent ? Qt::transparent : KVI_OPTION_COLOR(KviOption_colorLabelBackground)); //qcombobox forces QPalette::Text as its forecolor pal.setBrush(QPalette::Text, bIsTrasparent ? KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()) : KVI_OPTION_COLOR(KviOption_colorLabelForeground)); setPalette(pal); } else { QString szStyle = QString("QComboBox { background: %1; color: %2; font-family: %3; font-size: %4pt; font-weight: %5; font-style: %6;}") .arg(bIsTrasparent ? "transparent" : KVI_OPTION_COLOR(KviOption_colorLabelBackground).name()) .arg(bIsTrasparent ? KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()).name() : KVI_OPTION_COLOR(KviOption_colorLabelForeground).name()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).family()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).pointSize()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).weight() == QFont::Bold ? "bold" : "normal") .arg(KVI_OPTION_FONT(KviOption_fontLabel).style() == QFont::StyleItalic ? "italic" : "normal"); setStyleSheet(szStyle); } update(); }
void KviThemedLineEdit::applyOptions() { #ifdef COMPILE_PSEUDO_TRANSPARENCY bool bIsTrasparent = (KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing()) || g_pShadedChildGlobalDesktopBackground; #else bool bIsTrasparent = false; #endif QString szStyle = QString("QLineEdit { background: %1; color: %2; font-family: %3; font-size: %4pt; font-weight: %5; font-style: %6; margin: 1px; }") .arg(bIsTrasparent ? "transparent" : KVI_OPTION_COLOR(KviOption_colorLabelBackground).name()) .arg(bIsTrasparent ? KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()).name() : KVI_OPTION_COLOR(KviOption_colorLabelForeground).name()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).family()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).pointSize()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).weight() == QFont::Bold ? "bold" : "normal") .arg(KVI_OPTION_FONT(KviOption_fontLabel).style() == QFont::StyleItalic ? "italic" : "normal"); setStyleSheet(szStyle); update(); }
KviFontSelector * KviOptionsWidget::addFontSelector(QWidget * pParent,const QString & txt,int optId,bool bEnabled) { m_iResetFlags |= (g_fontOptionsTable[optId].flags & KviOption_resetMask); KviFontSelector * d = addFontSelector(pParent,txt,&(KVI_OPTION_FONT(optId)),bEnabled); QString tmp = m_szBasicTipStart; tmp += g_fontOptionsTable[optId].name; tmp += m_szBasicTipEnd; KviTalToolTip::add(d,tmp); return d; }
void KviThemedComboBox::applyOptions() { #ifdef COMPILE_PSEUDO_TRANSPARENCY bool bIsTrasparent = (KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing()) || g_pShadedChildGlobalDesktopBackground; #else bool bIsTrasparent = false; #endif // As of 10.09.2017 setting a style sheet with 'background' or 'color' on the QComboBox makes // Qt go nuts. The console window does not redraw properly and several BadMatch errors appear: // QXcbConnection: XCB error: 8 (BadMatch), sequence: 1335, resource id: 81789032, major code: 130 (Unknown), minor code: 3 #if 0 if(style()->objectName() == "oxygen" || style()->objectName().startsWith("ia-ora-") || style()->objectName() == "breeze") { // workaround for broken oxygen in kde4.4: use palette() instead that stylesheet // ia-ora- are the mandriva default styles #endif setFont(KVI_OPTION_FONT(KviOption_fontLabel)); QPalette pal = palette(); pal.setBrush(QPalette::Base, bIsTrasparent ? Qt::transparent : KVI_OPTION_COLOR(KviOption_colorLabelBackground)); //qcombobox forces QPalette::Text as its forecolor pal.setBrush(QPalette::Text, bIsTrasparent ? KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()) : KVI_OPTION_COLOR(KviOption_colorLabelForeground)); setPalette(pal); #if 0 } else { //QString szStyle = QString("QComboBox { background: %1; color: %2; font-family: %3; font-size: %4pt; font-weight: %5; font-style: %6;}") QString szStyle = QString("QComboBox { background: %1; color: %2; font-family: %3; font-size: %4pt; font-weight: %5; font-style: %6;}") .arg(bIsTrasparent ? "transparent" : KVI_OPTION_COLOR(KviOption_colorLabelBackground).name()) .arg(bIsTrasparent ? KVI_OPTION_MIRCCOLOR(KVI_OPTION_MSGTYPE(KVI_OUT_NONE).fore()).name() : KVI_OPTION_COLOR(KviOption_colorLabelForeground).name()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).family()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).pointSize()) .arg(KVI_OPTION_FONT(KviOption_fontLabel).weight() == QFont::Bold ? "bold" : "normal") .arg(KVI_OPTION_FONT(KviOption_fontLabel).style() == QFont::StyleItalic ? "italic" : "normal"); setStyleSheet(szStyle); } #endif update(); }
void KviTopicWidget::applyOptions() { //set the font m_pLabel->applyOptions(); QFont newFont(KVI_OPTION_FONT(KviOption_fontLabel)); newFont.setKerning(false); newFont.setStyleStrategy(QFont::StyleStrategy(newFont.styleStrategy() | QFont::ForceIntegerMetrics)); setFont(newFont); if(m_pCompletionBox) m_pCompletionBox->setFont(newFont); // reset topic html too (in case colors have been changed) m_pLabel->setText(KviHtmlGenerator::convertToHtml(KviQString::toHtmlEscaped(m_szTopic))); }
void NotifierMessage::updateGui() { bool bShowImages = KVI_OPTION_BOOL(KviOption_boolIrcViewShowImages); if(m_pLabel0) delete m_pLabel0; if(m_pLabel1) delete m_pLabel1; if(bShowImages) { m_pLabel0 = new QLabel(this); m_pLabel0->setFixedSize(16,16); if(m_pPixmap) m_pLabel0->setPixmap(*m_pPixmap); } else { m_pLabel0 = 0; } m_pLabel1 = new QLabel(this); m_pLabel1->setTextFormat(Qt::RichText); m_pLabel1->setText(KviHtmlGenerator::convertToHtml(m_szText)); m_pLabel1->setWordWrap(true); m_pLabel1->setFont(KVI_OPTION_FONT(KviOption_fontNotifier)); QPalette pal = m_pLabel1->palette(); pal.setColor(QPalette::WindowText, KVI_OPTION_COLOR(KviOption_colorNotifierForeground)); m_pLabel1->setPalette(pal); if(bShowImages) { m_pHBox->setStretch(1,99); m_pHBox->addWidget(m_pLabel0); } m_pHBox->addWidget(m_pLabel1); }
OptionsWidget_messageColors::OptionsWidget_messageColors(QWidget * parent) : KviOptionsWidget(parent) { setObjectName("messages"); createLayout(); int i; m_pLastItem = 0; m_pListView = new MessageListWidget(this); m_pListViewItemDelegate = new MessageListWidgetItemDelegate(m_pListView); m_pListView->setItemDelegate(m_pListViewItemDelegate); m_pListView->setSelectionMode(QAbstractItemView::SingleSelection); m_pListView->setFont(KVI_OPTION_FONT(KviOption_fontIrcView)); m_pListView->viewport()->setAutoFillBackground(false); addWidgetToLayout(m_pListView,0,0,2,0); KviTalVBox * box = new KviTalVBox(this); addWidgetToLayout(box,3,0,3,0); new QLabel(__tr2qs_ctx("Background:","options"),box); m_pBackListWidget = new KviTalListWidget(box); m_pBackListWidget->setMaximumWidth(150); m_pBackListWidgetDelegate = new MessageColorListWidgetItemDelegate(m_pBackListWidget); m_pBackListWidget->setItemDelegate(m_pBackListWidgetDelegate); m_pBackItems[16] = new MessageColorListWidgetItem(m_pBackListWidget,KviControlCodes::Transparent); for(i=0;i<16;i++) { m_pBackItems[i] = new MessageColorListWidgetItem(m_pBackListWidget,i); } new QLabel(__tr2qs_ctx("Foreground:","options"),box); m_pForeListWidget = new KviTalListWidget(box); m_pForeListWidget->setMaximumWidth(150); m_pForeListWidgetDelegate = new MessageColorListWidgetItemDelegate(m_pForeListWidget); m_pForeListWidget->setItemDelegate(m_pForeListWidgetDelegate); for(i=0;i<16;i++) { m_pForeItems[i] = new MessageColorListWidgetItem(m_pForeListWidget,i); } new QLabel(__tr2qs_ctx("Alert level:","options"),box); m_pLevelListWidget = new KviTalListWidget(box); m_pLevelListWidget->setMaximumWidth(150); for(i=0;i<6;i++) { QString tmpn; tmpn.setNum(i); new KviTalListWidgetText(m_pLevelListWidget,tmpn); } m_pIconButton = new QToolButton(box); connect(m_pIconButton,SIGNAL(clicked()),this,SLOT(iconButtonClicked())); m_pIconPopup = new QMenu(this); KviIconWidget * iw = new KviIconWidget(m_pIconPopup); connect(iw,SIGNAL(selected(KviIconManager::SmallIcon)),this,SLOT(newIconSelected(KviIconManager::SmallIcon))); m_pIconPopup->addAction(new QWidgetAction(iw)); m_pEnableLogging = new QCheckBox(__tr2qs_ctx("Log this","options"),box); KviTalHBox * h = new KviTalHBox(this); addWidgetToLayout(h,0,1,3,1); QPushButton * b = new QPushButton(__tr2qs_ctx("Load From...","options"),h); connect(b,SIGNAL(clicked()),this,SLOT(load())); b = new QPushButton(__tr2qs_ctx("Save As...","options"),h); connect(b,SIGNAL(clicked()),this,SLOT(save())); for(i=0;i<KVI_NUM_MSGTYPE_OPTIONS;i++) new MessageListWidgetItem(m_pListView,i); layout()->setRowStretch(0,1); layout()->setColumnStretch(0,1); connect(m_pListView,SIGNAL(itemSelectionChanged ()),this,SLOT(itemChanged())); connect(m_pForeListWidget,SIGNAL(itemSelectionChanged ()),this,SLOT(colorChanged())); connect(m_pBackListWidget,SIGNAL(itemSelectionChanged ()),this,SLOT(colorChanged())); itemChanged(); }