void AssistantPopup::updateActions() { QPalette palette = this->palette(); palette.setBrush(QPalette::Background, palette.toolTipBase()); palette.setBrush(QPalette::WindowText, palette.toolTipText()); setPalette(palette); m_assistantActions = m_assistant->actions(); bool haveTitle = false; if (!m_assistant->title().isEmpty()) { haveTitle = true; RichTextToolButton* title = new RichTextToolButton; title->setHtml("<b>" + m_assistant-> title() + ":</b>"); title->setEnabled(false); addWidget(title); } int mnemonic = 1; ///@todo Add some intelligent layouting to make sure the widget doesn't become too wide foreach(IAssistantAction::Ptr action, m_assistantActions) { if(haveTitle || action != m_assistantActions.first()) addSeparator(); addWidget(widgetForAction(action, mnemonic)); } addSeparator(); mnemonic = 0; addWidget(widgetForAction(IAssistantAction::Ptr(), mnemonic)); resize(sizeHint()); }
void CanvasBase::validateSelection() { register Sheet * const sheet = activeSheet(); if (!sheet) return; #if 0 XXX TODO if (selection()->isSingular()) { const Cell cell = Cell(sheet, selection()->marker()).masterCell(); Validity validity = cell.validity(); if (validity.displayValidationInformation()) { const QString title = validity.titleInfo(); QString message = validity.messageInfo(); if (title.isEmpty() && message.isEmpty()) return; if (!d->validationInfo) { d->validationInfo = new QLabel(this); QPalette palette = d->validationInfo->palette(); palette.setBrush(QPalette::Window, palette.toolTipBase()); palette.setBrush(QPalette::WindowText, palette.toolTipText()); d->validationInfo->setPalette(palette); // d->validationInfo->setWindowFlags(Qt::ToolTip); d->validationInfo->setFrameShape(QFrame::Box); d->validationInfo->setAlignment(Qt::AlignVCenter); d->validationInfo->setTextFormat(Qt::RichText); } QString resultText("<html><body>"); if (!title.isEmpty()) { resultText += "<h2>" + title + "</h2>"; } if (!message.isEmpty()) { message.replace(QChar('\n'), QString("<br>")); resultText += "<p>" + message + "</p>"; } resultText += "</body></html>"; d->validationInfo->setText(resultText); const double xpos = sheet->columnPosition(cell.column()) + cell.width(); const double ypos = sheet->rowPosition(cell.row()) + cell.height(); const QPointF position = QPointF(xpos, ypos) - offset(); const QPoint viewPosition = viewConverter()->documentToView(position).toPoint(); d->validationInfo->move(/*mapToGlobal*/(viewPosition)); // Qt::ToolTip! d->validationInfo->show(); } else { delete d->validationInfo; d->validationInfo = 0; } } else { delete d->validationInfo; d->validationInfo = 0; } #endif }
/*! \~russian * \brief Метод инициализирует элементы настройки цвета в соответствии с переданной палитрой. * \param palette - палитра для инициализации */ void Settings::initColorPickers(QPalette palette) { ui->Frame_Style_Window->setColor( palette.window().color() ); ui->Frame_Style_WindowText->setColor( palette.windowText().color() ); ui->Frame_Style_Base->setColor( palette.base().color() ); ui->Frame_Style_AlternateBase->setColor( palette.alternateBase().color() ); ui->Frame_Style_ToolTipBase->setColor( palette.toolTipBase().color() ); ui->Frame_Style_ToolTipText->setColor( palette.toolTipText().color() ); ui->Frame_Style_Text->setColor( palette.text().color() ); ui->Frame_Style_Button->setColor( palette.button().color() ); ui->Frame_Style_ButtonText->setColor( palette.buttonText().color() ); ui->Frame_Style_BrightText->setColor( palette.brightText().color() ); ui->Frame_Style_Link->setColor( palette.link().color() ); ui->Frame_Style_Highlight->setColor( palette.highlight().color() ); ui->Frame_Style_HighlightedText->setColor( palette.highlightedText().color() ); }
QPixmap WindowsTaskBar::createBadge(const QString &badge) const { QPixmap pixmap(overlayIconSize()); QRect rect = pixmap.rect(); rect.adjust(1, 1, -1, -1); pixmap.fill(Qt::transparent); QPainter painter(&pixmap); painter.setRenderHint(QPainter::Antialiasing); QPalette palette = window()->palette(); painter.setBrush(palette.toolTipBase()); QPen pen = painter.pen(); pen.setColor(palette.color(QPalette::ToolTipText)); painter.setPen(pen); QString label = QFontMetrics(painter.font()).elidedText(badge, Qt::ElideMiddle, rect.width()); painter.drawRoundedRect(rect, 5, 5); painter.drawText(rect, Qt::AlignCenter | Qt::TextSingleLine, label); return pixmap; }