CWizTitleBar(CWizExplorerApp& app, QWidget* parent) : QWidget(parent) , m_app(app) , m_titleEdit(NULL) , m_editDocumentButton(NULL) , m_tagsButton(NULL) , m_attachmentButton(NULL) , m_editing(false) { QHBoxLayout* layout = new QHBoxLayout(this); setLayout(layout); layout->setMargin(0); setContentsMargins(4, 4, 4, 4); QPalette pal = palette(); pal.setColor(QPalette::Window, QColor(0xff, 0xff, 0xff)); setPalette(pal); m_titleEdit = new QLineEdit(this); #ifdef Q_OS_MAC m_titleEdit->setAttribute(Qt::WA_MacShowFocusRect, false); m_titleEdit->setStyleSheet("QLineEdit{margin:4 0 0 0; padding:4 4 4 4;border-color:#ffffff;border-width:1;border-style:solid;}QLineEdit:hover{border-color:#bbbbbb;border-width:1;border-style:solid;}"); //m_titleEdit->setAlignment(Qt::AlignVCenter); #else m_titleEdit->setStyleSheet("QLineEdit{padding:4 4 4 4;border-color:#ffffff;border-width:1;border-style:solid;}QLineEdit:hover{border-color:#bbbbbb;border-width:1;border-style:solid;}"); #endif m_editIcon = ::WizLoadSkinIcon(m_app.userSettings().skin(), pal.window().color(), "lock"); m_commitIcon = ::WizLoadSkinIcon(m_app.userSettings().skin(), pal.window().color(), "unlock"); m_tagsIcon = ::WizLoadSkinIcon(m_app.userSettings().skin(), pal.window().color(), "tag"); m_attachmentIcon = ::WizLoadSkinIcon(m_app.userSettings().skin(), pal.window().color(), "attachment"); m_infoIcon = ::WizLoadSkinIcon(m_app.userSettings().skin(), pal.window().color(), "noteinfo"); m_editDocumentButton = new CWizImagePushButton(m_editIcon, "", this); updateEditDocumentButtonIcon(false); m_editDocumentButton->setStyle(::WizGetStyle(m_app.userSettings().skin())); m_editDocumentButton->setRedFlag(true); m_tagsButton = new CWizImagePushButton(m_tagsIcon, "", this); m_tagsButton->setStyle(::WizGetStyle(m_app.userSettings().skin())); m_attachmentButton = new CWizImagePushButton(m_attachmentIcon, "", this); m_attachmentButton->setStyle(::WizGetStyle(m_app.userSettings().skin())); m_infoButton = new CWizImagePushButton(m_infoIcon, "", this); m_infoButton->setStyle(::WizGetStyle(m_app.userSettings().skin())); layout->addWidget(m_titleEdit); layout->addWidget(m_editDocumentButton); layout->addWidget(m_tagsButton); layout->addWidget(m_attachmentButton); layout->addWidget(m_infoButton); }
SAQwtSymbolSetWidget::SAQwtSymbolSetWidget(QWidget *parent) : QWidget(parent) ,ui(new Ui::SAQwtSymbolSetWidget) ,m_signalLock(false) { ui->setupUi(this); ui->toolButtonFixWidthHeight->setChecked(true); QPalette pl = palette(); pl.setBrush(QPalette::Window,pl.window()); pl.setColor(QPalette::Window,pl.window().color()); setPalette(pl); init(); }
static void qwtDrawPanel( QPainter *painter, const QRectF &rect, const QPalette &pal, double lw ) { if ( lw > 0.0 ) { if ( rect.width() == 0.0 ) { painter->setPen( pal.window().color() ); painter->drawLine( rect.topLeft(), rect.bottomLeft() ); return; } if ( rect.height() == 0.0 ) { painter->setPen( pal.window().color() ); painter->drawLine( rect.topLeft(), rect.topRight() ); return; } lw = qMin( lw, rect.height() / 2.0 - 1.0 ); lw = qMin( lw, rect.width() / 2.0 - 1.0 ); const QRectF outerRect = rect.adjusted( 0, 0, 1, 1 ); const QRectF innerRect = outerRect.adjusted( lw, lw, -lw, -lw ); QPolygonF lines[2]; lines[0] += outerRect.bottomLeft(); lines[0] += outerRect.topLeft(); lines[0] += outerRect.topRight(); lines[0] += innerRect.topRight(); lines[0] += innerRect.topLeft(); lines[0] += innerRect.bottomLeft(); lines[1] += outerRect.topRight(); lines[1] += outerRect.bottomRight(); lines[1] += outerRect.bottomLeft(); lines[1] += innerRect.bottomLeft(); lines[1] += innerRect.bottomRight(); lines[1] += innerRect.topRight(); painter->setPen( Qt::NoPen ); painter->setBrush( pal.light() ); painter->drawPolygon( lines[0] ); painter->setBrush( pal.dark() ); painter->drawPolygon( lines[1] ); } painter->fillRect( rect.adjusted( lw, lw, -lw + 1, -lw + 1 ), pal.window() ); }
/** ScriptMonitor constructor @param[in] parent The parent widget (nothing) */ AbstractMonitorItem::AbstractMonitorItem(QWidget* parent, QString scriptName) : QFrame(parent) { second =0; this->scriptName = scriptName; QPalette aPalette; QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); sizePolicy.setHorizontalStretch(0); sizePolicy.setVerticalStretch(0); sizePolicy.setHeightForWidth(this->sizePolicy().hasHeightForWidth()); this->setSizePolicy(sizePolicy); this->setFrameShape(QFrame::StyledPanel); this->setFrameShadow(QFrame::Raised); mainLayout = new QGridLayout(this); mainLayout->setObjectName(QString::fromUtf8("mainLayout")); actionLayout = new QHBoxLayout(); isRunning = new KLed(this); isRunning->setObjectName(QString::fromUtf8("isRunning")); mainLayout->addWidget(isRunning,0,0); lblTitle = new QLabel(this); lblTitle->setObjectName(QString::fromUtf8("lblTitle")); lblTitle->setText("<b>"+ scriptName +"</b>"); lblTitle->setStyleSheet("background-color:transparent;border-radius:0;"); mainLayout->addWidget(lblTitle,0,1); horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); mainLayout->addItem(horizontalSpacer,0,2); lblTime = new QLabel(this); lblTime->setObjectName(QString::fromUtf8("lblTime")); mainLayout->addWidget(lblTime,0,3); verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Expanding, QSizePolicy::Expanding); mainLayout->addItem(verticalSpacer,1,0); lblCmd = new QLabel(this); lblCmd->setObjectName(QString::fromUtf8("lblCmd")); lblCmd->setStyleSheet("background-color:transparent;border-radius:0;"); lblCmd->setText("Current command: - "); mainLayout->addWidget(lblCmd,2,0,1,4); lblNextCmd = new QLabel(this); lblNextCmd->setObjectName(QString::fromUtf8("lblNextCmd")); lblNextCmd->setStyleSheet("background-color:transparent;border-radius:0;"); lblNextCmd->setText("Next command: - "); mainLayout->addWidget(lblNextCmd,3,0,1,4); progressBar = new QProgressBar(this); progressBar->setObjectName(QString::fromUtf8("progressBar")); progressBar->setValue(0); progressBar->setStyleSheet("background-color:" + aPalette.button().color().name() + ";border-radius:0;color:black;text-align:center;"); mainLayout->addWidget(progressBar,4,0,1,4); mainLayout->addLayout(actionLayout,5,0,1,4); //string defaultColor = aPalette.button().color().name(); setStyleSheet("background-color:qlineargradient( y1:0, y2:1,stop:0 " + aPalette.window().color().name() + ", stop:1 " + aPalette.button().color().name() + ");border-radius:10;border-color:black;border-width:1px;"); }
QgsMessageBar::QgsMessageBar( QWidget *parent ) : QFrame( parent ), mCurrentItem ( NULL ) { QPalette pal = palette(); pal.setBrush( backgroundRole(), pal.window() ); setPalette( pal ); setAutoFillBackground( true ); setFrameShape( QFrame::StyledPanel ); setFrameShadow( QFrame::Plain ); mLayout = new QGridLayout( this ); mLayout->setContentsMargins( 9, 1, 9, 1 ); setLayout( mLayout ); mLayout->addItem( new QSpacerItem( 20, 20, QSizePolicy::Expanding ), 0, 1, 1, 1 ); mCloseBtn = new QToolButton( this ); mCloseBtn->setToolTip( tr( "Close" ) ); mCloseBtn->setStyleSheet( "background-color: rgba(255, 255, 255, 0);" ); mCloseBtn->setCursor( Qt::PointingHandCursor ); mCloseBtn->setIcon( QgsApplication::getThemeIcon( "/mIconClose.png" ) ); connect( mCloseBtn, SIGNAL( clicked() ), this, SLOT( popWidget() ) ); mLayout->addWidget( mCloseBtn, 0, 2, 1, 1 ); // start hidden setVisible( false ); }
/*! \code QPalette p = QApplication::palette(); QPalette p2 = p; p2.setColor(QPalette::Highlight,p2.color(QPalette::Highlight).lighter()); headerButtonFold = drawFoldIcon(p, true); headerButtonFoldOver = drawFoldIcon(p2, true); headerButtonUnfold = drawFoldIcon(p, false); headerButtonUnfoldOver = drawFoldIcon(p2, false); \endcode */ QPixmap SystemPanelScheme::drawFoldIcon(const QPalette& p, bool fold) const { QImage img(17,17,QImage::Format_ARGB32_Premultiplied); img.fill(0x00000000); QPainter painter; painter.begin(&img); painter.setBrush(p.window()); painter.drawEllipse(2,2,13,13); painter.setPen(p.color(QPalette::Base)); painter.drawEllipse(2,2,13,13); painter.setPen(p.color(QPalette::Highlight)); painter.drawLine(QLine(5,7,8,4)); painter.drawLine(QLine(6,7,8,5)); painter.drawLine(QLine(8,4,11,7)); painter.drawLine(QLine(8,5,10,7)); painter.drawLine(QLine(5,11,8,8)); painter.drawLine(QLine(6,11,8,9)); painter.drawLine(QLine(8,8,11,11)); painter.drawLine(QLine(9,8,10,11)); painter.end(); if (!fold) { QTransform mat; mat.rotate(180.0); img = img.transformed(mat); } return QPixmap::fromImage(img); }
/** Redefined. */ void PlaylistHeaderView::paintEvent(QPaintEvent *) { QStylePainter p(this->viewport()); QLinearGradient vLinearGradient(rect().topLeft(), QPoint(rect().left(), rect().top() + rect().height())); /// XXX QPalette palette = QApplication::palette(); if (SettingsPrivate::instance()->isCustomColors()) { vLinearGradient.setColorAt(0, palette.base().color().lighter(110)); vLinearGradient.setColorAt(1, palette.base().color()); } else { vLinearGradient.setColorAt(0, palette.base().color()); vLinearGradient.setColorAt(1, palette.window().color()); } QStyleOptionHeader opt; opt.initFrom(this->viewport()); p.fillRect(rect(), QBrush(vLinearGradient)); p.setPen(opt.palette.windowText().color()); QRect r; p.save(); if (QGuiApplication::isLeftToRight()) { p.translate(-offset(), 0); } else { p.translate(offset(), 0); } for (int i = 0; i < count(); i++) { QRect r2(sectionPosition(i), viewport()->rect().y(), sectionSize(i), viewport()->rect().height()); p.drawText(r2, Qt::AlignCenter, model()->headerData(i, Qt::Horizontal).toString()); if (r2.contains(mapFromGlobal(QCursor::pos()))) { r = r2; } } p.restore(); if (!r.isNull()) { p.save(); p.setPen(palette.highlight().color()); p.drawLine(r.x(), r.y() + r.height() / 4, r.x(), r.y() + 3 * r.height() / 4); p.drawLine(r.x() + r.width() - 1, r.y() + r.height() / 4, r.x() + r.width() - 1, r.y() + 3 * r.height() / 4); p.restore(); } // Bottom frame p.setPen(QApplication::palette().mid().color()); p.drawLine(rect().bottomLeft(), QPoint(rect().left() + rect().width(), rect().top() + rect().height())); // Vertical frame if (QGuiApplication::isLeftToRight()) { p.drawLine(rect().topLeft(), QPoint(rect().left(), rect().top() + rect().height())); } else { p.drawLine(rect().topRight(), QPoint(rect().right(), rect().top() + rect().height())); } }
void EditableLabel::stopEditing() { QPalette p = originalPalette; p.setBrush(QPalette::Base, p.window()); p.setBrush(QPalette::Text, p.windowText()); QLineEdit::setPalette(p); setReadOnly(true); setFrame(false); setTextMargins(-2, 0, 0, 0); deselect(); }
void FormStyle::GlobalColorButtonCliked() { QColor initialColor; if ( focusWidget()->objectName() == "bC1_1" ) initialColor = applicationPalette.button().color().rgba(); else if ( focusWidget()->objectName() == "bC1_2" ) initialColor = applicationPalette.window().color().rgba(); else if ( focusWidget()->objectName() == "bC1_3" ) initialColor = applicationPalette.shadow().color().rgba(); else if ( focusWidget()->objectName() == "bC1_4" ) initialColor = applicationPalette.highlight().color().rgba(); else if ( focusWidget()->objectName() == "bC1_5" ) initialColor = applicationPalette.base().color().rgba(); else if ( focusWidget()->objectName() == "bC1_6" ) initialColor = applicationPalette.text().color().rgba(); else if ( focusWidget()->objectName() == "bC1_7" ) initialColor = applicationPalette.highlightedText().color().rgba(); else if ( focusWidget()->objectName() == "bC1_8" ) initialColor = sliderButtonColor.rgb(); else initialColor = Qt::white; QColor color = QColorDialog::getColor( initialColor, this, Texts[ 119 ] /*Wybierz kolor*/, QColorDialog::DontUseNativeDialog ); if ( !color.isValid() ) return; if ( focusWidget()->objectName() == "bC1_1" ) applicationPalette.setBrush( QPalette::Button, color ); else if ( focusWidget()->objectName() == "bC1_2" ) applicationPalette.setBrush( QPalette::Window, color ); else if ( focusWidget()->objectName() == "bC1_3" ) { applicationPalette.setBrush( QPalette::Shadow, color ); applicationPalette.setBrush( QPalette::Light, color ); applicationPalette.setBrush( QPalette::Dark, color ); } else if ( focusWidget()->objectName() == "bC1_4" ) applicationPalette.setBrush( QPalette::Highlight, color ); else if ( focusWidget()->objectName() == "bC1_5" ) applicationPalette.setBrush( QPalette::Base, color ); else if ( focusWidget()->objectName() == "bC1_6" ) { applicationPalette.setBrush( QPalette::Text, color ); applicationPalette.setBrush( QPalette::WindowText, color ); applicationPalette.setBrush( QPalette::ButtonText, color ); } else if ( focusWidget()->objectName() == "bC1_7" ) applicationPalette.setBrush( QPalette::HighlightedText, color ); else if ( focusWidget()->objectName() == "bC1_8" ) sliderButtonColor = color; setButtonsColor(); }
void EditableLabel::setPalette(const QPalette &nPalette) { originalPalette = nPalette; QPalette p = nPalette; if (!isEditing()) { p.setBrush(QPalette::Base, p.window()); p.setBrush(QPalette::Text, p.windowText()); } QLineEdit::setPalette(p); }
void MiamStyle::drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const { switch (element) { case CE_MenuBarItem: { const QStyleOptionMenuItem *somi = static_cast<const QStyleOptionMenuItem*>(option); const bool act = somi->state & (State_Sunken | State_Selected); QPalette palette = QApplication::palette(); QBrush brush; //bool dirtyHackMnemonic = widget->property("dirtyHackMnemonic").toBool(); if (act/* || dirtyHackMnemonic && option->rect.x() == 0*/) { painter->setPen(palette.highlight().color()); brush = palette.highlight().color().light(); painter->setBrush(brush); painter->drawRect(option->rect.adjusted(0, 0, -1, -1)); } else { brush = palette.window(); painter->fillRect(option->rect, palette.window()); } uint alignment = Qt::AlignCenter | Qt::TextShowMnemonic | Qt::TextDontClip | Qt::TextSingleLine; if (/*dirtyHackMnemonic == false &&*/ !styleHint(SH_UnderlineShortcut, somi, widget)) { alignment |= Qt::TextHideMnemonic; } if (qAbs(palette.text().color().value() - brush.color().value()) < 128) { painter->setPen(palette.highlightedText().color()); } else { painter->setPen(palette.text().color()); } painter->drawText(option->rect, alignment, somi->text); break; } case CE_MenuBarEmptyArea: { painter->fillRect(option->rect, QApplication::palette().window()); break; } default: QProxyStyle::drawControl(element, option, painter, widget); } }
QColor FormatDescription::defaultForeground(TextStyle id) { if (id == C_LINE_NUMBER) { const QPalette palette = Utils::Theme::initialPalette(); const QColor bg = palette.window().color(); if (bg.value() < 128) return palette.windowText().color(); else return palette.dark().color(); } else if (id == C_CURRENT_LINE_NUMBER) { const QPalette palette = Utils::Theme::initialPalette(); const QColor bg = palette.window().color(); if (bg.value() < 128) return palette.windowText().color(); else return QColor(); } else if (id == C_PARENTHESES) { return QColor(Qt::red); } else if (id == C_AUTOCOMPLETE) { return QColor(Qt::darkBlue); } return QColor(); }
/*! \~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() ); }
void FormStyle::setButtonsColor() { if ( ui.ccB->isChecked() ) { QPalette tmpPalette; tmpPalette.setBrush( QPalette::Button, applicationPalette.button() ); ui.bC1_1->setPalette( tmpPalette ); tmpPalette.setBrush( QPalette::Button, applicationPalette.window() ); ui.bC1_2->setPalette( tmpPalette ); tmpPalette.setBrush( QPalette::Button, applicationPalette.shadow() ); ui.bC1_3->setPalette( tmpPalette ); tmpPalette.setBrush( QPalette::Button, applicationPalette.highlight() ); ui.bC1_4->setPalette( tmpPalette ); tmpPalette.setBrush( QPalette::Button, applicationPalette.base() ); ui.bC1_5->setPalette( tmpPalette ); tmpPalette.setBrush( QPalette::Button, applicationPalette.text() ); ui.bC1_6->setPalette( tmpPalette ); tmpPalette.setBrush( QPalette::Button, applicationPalette.highlightedText() ); ui.bC1_7->setPalette( tmpPalette ); tmpPalette.setBrush( QPalette::Button, sliderButtonColor ); ui.bC1_8->setPalette( tmpPalette ); if ( !mainWindowPixmap.isNull() ) { QBrush brushW( mainWindowPixmap.scaled( ui.bP2_2->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); tmpPalette.setBrush( QPalette::Button, brushW ); ui.bP2_2->setPalette( tmpPalette ); } else ui.bP2_2->setPalette( qApp->palette() ); } else { ui.bC1_1->setPalette( qApp->palette() ); ui.bC1_2->setPalette( qApp->palette() ); ui.bC1_3->setPalette( qApp->palette() ); ui.bC1_4->setPalette( qApp->palette() ); ui.bC1_5->setPalette( qApp->palette() ); ui.bC1_6->setPalette( qApp->palette() ); ui.bC1_7->setPalette( qApp->palette() ); ui.bC1_8->setPalette( qApp->palette() ); ui.bP2_2->setPalette( qApp->palette() ); } }
QgsMessageBar::QgsMessageBar( QWidget *parent ) : QFrame( parent ), mCurrentItem( NULL ) { QPalette pal = palette(); pal.setBrush( backgroundRole(), pal.window() ); setPalette( pal ); setAutoFillBackground( true ); setFrameShape( QFrame::StyledPanel ); setFrameShadow( QFrame::Plain ); mLayout = new QGridLayout( this ); mLayout->setContentsMargins( 9, 1, 9, 1 ); setLayout( mLayout ); mItemCount = new QLabel( this ); mItemCount->setObjectName( "mItemCount" ); mItemCount->setToolTip( tr( "Remaining messages" ) ); mItemCount->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Preferred ); mLayout->addWidget( mItemCount, 0, 1, 1, 1 ); mCloseMenu = new QMenu( this ); mCloseMenu->setObjectName( "mCloseMenu" ); mActionCloseAll = new QAction( tr( "Close all" ), this ); mCloseMenu->addAction( mActionCloseAll ); connect( mActionCloseAll, SIGNAL( triggered() ), this, SLOT( clearWidgets() ) ); mCloseBtn = new QToolButton( this ); mCloseBtn->setToolTip( tr( "Close" ) ); mCloseBtn->setMinimumWidth( 36 ); mCloseBtn->setStyleSheet( "QToolButton { background-color: rgba(255, 255, 255, 0); } " "QToolButton::menu-indicator { subcontrol-position: right bottom; subcontrol-origin: padding; bottom: 6px; }" ); mCloseBtn->setCursor( Qt::PointingHandCursor ); mCloseBtn->setIcon( QgsApplication::getThemeIcon( "/mIconClose.png" ) ); mCloseBtn->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Preferred ); mCloseBtn->setMenu( mCloseMenu ); connect( mCloseBtn, SIGNAL( clicked() ), this, SLOT( popWidget() ) ); mLayout->addWidget( mCloseBtn, 0, 2, 1, 1 ); connect( this, SIGNAL( widgetAdded( QWidget* ) ), this, SLOT( updateItemCount() ) ); connect( this, SIGNAL( widgetRemoved( QWidget* ) ), this, SLOT( updateItemCount() ) ); // start hidden setVisible( false ); }
static void qwtDrawBox( QPainter *p, const QRectF &rect, const QPalette &pal, double lw ) { if ( lw > 0.0 ) { if ( rect.width() == 0.0 ) { p->setPen( pal.dark().color() ); p->drawLine( rect.topLeft(), rect.bottomLeft() ); return; } if ( rect.height() == 0.0 ) { p->setPen( pal.dark().color() ); p->drawLine( rect.topLeft(), rect.topRight() ); return; } lw = qMin( lw, rect.height() / 2.0 - 1.0 ); lw = qMin( lw, rect.width() / 2.0 - 1.0 ); const QRectF outerRect = rect.adjusted( 0, 0, 1, 1 ); QPolygonF polygon( outerRect ); if ( outerRect.width() > 2 * lw && outerRect.height() > 2 * lw ) { const QRectF innerRect = outerRect.adjusted( lw, lw, -lw, -lw ); polygon = polygon.subtracted( innerRect ); } p->setPen( Qt::NoPen ); p->setBrush( pal.dark() ); p->drawPolygon( polygon ); } const QRectF windowRect = rect.adjusted( lw, lw, -lw + 1, -lw + 1 ); if ( windowRect.isValid() ) p->fillRect( windowRect, pal.window() ); }
QVariantMap Bridge::get_palette() { QVariantMap colors; QPalette palette = qApp->palette(); colors.insert("window", palette.window().color().name()); colors.insert("window_text", palette.windowText().color().name()); colors.insert("base", palette.base().color().name()); colors.insert("alternate_base", palette.alternateBase().color().name()); colors.insert("text", palette.text().color().name()); colors.insert("button", palette.buttonText().color().name()); colors.insert("bright_text", palette.brightText().color().name()); colors.insert("light", palette.light().color().name()); colors.insert("midlight", palette.midlight().color().name()); colors.insert("dark", palette.dark().color().name()); colors.insert("mid", palette.mid().color().name()); colors.insert("shadow", palette.shadow().color().name()); colors.insert("highlight", palette.highlight().color().name()); colors.insert("highlight_text", palette.highlightedText().color().name()); colors.insert("link", palette.link().color().name()); colors.insert("link_visited", palette.linkVisited().color().name()); return colors; }
void AutoHideLabel::fade() { Q_D(AutoHideLabel); if (d->alpha <= 0) { d->fadeTimer->stop(); hide(); } else { d->alpha = qMax(0, d->alpha-FADE_STEP); int alpha = qMin(255, d->alpha); QPalette palette = QToolTip::palette(); QColor color1 = palette.window().color(); QColor color2 = palette.windowText().color(); color1.setAlpha(alpha); color2.setAlpha(alpha); palette.setBrush(QPalette::Window, color1); palette.setBrush(QPalette::WindowText, color2); setPalette(palette); } }
IntegratedMainWindow::IntegratedMainWindow(QWidget *parent) : QMainWindow(parent), d(new Private()) { d->window = this; #ifdef Q_WS_WIN d->m_thumbBarManager = new ThumbBar(this); d->m_taskbarMessageId = RegisterWindowMessage(TEXT("TaskbarButtonCreated")); if (DesktopWindowManager::isCompositionEnabled()) { DesktopWindowManager::extendFrameIntoClientArea(this); } #elif defined(Q_WS_X11) this->setAttribute(Qt::WA_TranslucentBackground); this->setAttribute(Qt::WA_NoSystemBackground, false); QPalette pal = this->palette(); QColor bg = pal.window().color(); bg.setAlpha(180); pal.setColor(QPalette::Window, bg); this->setPalette(pal); this->ensurePolished(); // workaround Oxygen filling the background this->setAttribute(Qt::WA_StyledBackground, false); #endif }
wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) { QPalette pal = qApp->palette(); QColor color; switch (index) { case wxSYS_COLOUR_SCROLLBAR: case wxSYS_COLOUR_BACKGROUND: //case wxSYS_COLOUR_DESKTOP: case wxSYS_COLOUR_INACTIVECAPTION: case wxSYS_COLOUR_MENU: case wxSYS_COLOUR_WINDOWFRAME: case wxSYS_COLOUR_ACTIVEBORDER: case wxSYS_COLOUR_INACTIVEBORDER: color = pal.color(QPalette::Window); break; //case wxSYS_COLOUR_3DFACE: case wxSYS_COLOUR_3DLIGHT: color = pal.color(QPalette::Light); break; case wxSYS_COLOUR_BTNFACE: color = pal.color(QPalette::Button); break; case wxSYS_COLOUR_WINDOW: color = pal.color(QPalette::Base); break; case wxSYS_COLOUR_MENUBAR: color = pal.window().color(); break; case wxSYS_COLOUR_3DDKSHADOW: color = pal.color(QPalette::Shadow); break; case wxSYS_COLOUR_BTNSHADOW: color = pal.color(QPalette::Dark); break; case wxSYS_COLOUR_GRAYTEXT: //case wxSYS_COLOUR_3DSHADOW: color = pal.color(QPalette::Disabled, QPalette::Text); break; case wxSYS_COLOUR_BTNHIGHLIGHT: //case wxSYS_COLOUR_BTNHILIGHT: //case wxSYS_COLOUR_3DHIGHLIGHT: //case wxSYS_COLOUR_3DHILIGHT: color = pal.color(QPalette::Light); break; case wxSYS_COLOUR_HIGHLIGHT: color = pal.highlight().color(); break; case wxSYS_COLOUR_LISTBOX: color = pal.base().color(); break; case wxSYS_COLOUR_LISTBOXTEXT: color = pal.color(QPalette::WindowText); break; case wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT: // This is for the text in a list control (or tree) when the // item is selected, but not focused color = pal.color(QPalette::HighlightedText); break; case wxSYS_COLOUR_WINDOWTEXT: color = pal.color(QPalette::Text); break; case wxSYS_COLOUR_MENUTEXT: case wxSYS_COLOUR_CAPTIONTEXT: case wxSYS_COLOUR_INACTIVECAPTIONTEXT: case wxSYS_COLOUR_BTNTEXT: color = pal.color(QPalette::ButtonText); break; case wxSYS_COLOUR_INFOBK: color = pal.color(QPalette::ToolTipBase); break; case wxSYS_COLOUR_INFOTEXT: color = pal.color(QPalette::ToolTipText); break; case wxSYS_COLOUR_HIGHLIGHTTEXT: color = pal.color(QPalette::BrightText); break; case wxSYS_COLOUR_APPWORKSPACE: color = QColor(Qt::white); // ? break; case wxSYS_COLOUR_ACTIVECAPTION: case wxSYS_COLOUR_MENUHILIGHT: color = pal.color(QPalette::Highlight); break; case wxSYS_COLOUR_HOTLIGHT: case wxSYS_COLOUR_GRADIENTACTIVECAPTION: case wxSYS_COLOUR_GRADIENTINACTIVECAPTION: // TODO color = QColor(Qt::black); break; case wxSYS_COLOUR_MAX: default: wxFAIL_MSG( wxT("unknown system colour index") ); color = QColor(Qt::white); break; } return wxColor( color.red(), color.green(), color.blue(), color.alpha() ); }
QgsMessageBar::QgsMessageBar( QWidget *parent ) : QFrame( parent ) { QPalette pal = palette(); pal.setBrush( backgroundRole(), pal.window() ); setPalette( pal ); setAutoFillBackground( true ); setFrameShape( QFrame::StyledPanel ); setFrameShadow( QFrame::Plain ); mLayout = new QGridLayout( this ); mLayout->setContentsMargins( 9, 1, 9, 1 ); setLayout( mLayout ); mCountProgress = new QProgressBar( this ); mCountStyleSheet = QString( "QProgressBar { border: 1px solid rgba(0, 0, 0, 75%);" " border-radius: 2px; background: rgba(0, 0, 0, 0);" " image: url(:/images/themes/default/%1) }" "QProgressBar::chunk { background-color: rgba(0, 0, 0, 30%); width: 5px; }" ); mCountProgress->setStyleSheet( mCountStyleSheet.arg( QStringLiteral( "mIconTimerPause.svg" ) ) ); mCountProgress->setObjectName( QStringLiteral( "mCountdown" ) ); mCountProgress->setFixedSize( 25, 14 ); mCountProgress->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); mCountProgress->setTextVisible( false ); mCountProgress->setRange( 0, 5 ); mCountProgress->setHidden( true ); mLayout->addWidget( mCountProgress, 0, 0, 1, 1 ); mItemCount = new QLabel( this ); mItemCount->setObjectName( QStringLiteral( "mItemCount" ) ); mItemCount->setToolTip( tr( "Remaining messages" ) ); mItemCount->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Preferred ); mLayout->addWidget( mItemCount, 0, 2, 1, 1 ); mCloseMenu = new QMenu( this ); mCloseMenu->setObjectName( QStringLiteral( "mCloseMenu" ) ); mActionCloseAll = new QAction( tr( "Close all" ), this ); mCloseMenu->addAction( mActionCloseAll ); connect( mActionCloseAll, &QAction::triggered, this, &QgsMessageBar::clearWidgets ); mCloseBtn = new QToolButton( this ); mCloseMenu->setObjectName( QStringLiteral( "mCloseMenu" ) ); mCloseBtn->setToolTip( tr( "Close" ) ); mCloseBtn->setMinimumWidth( 40 ); mCloseBtn->setStyleSheet( "QToolButton { background-color: rgba(0, 0, 0, 0); }" "QToolButton::menu-button { background-color: rgba(0, 0, 0, 0); }" ); mCloseBtn->setCursor( Qt::PointingHandCursor ); mCloseBtn->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconClose.svg" ) ) ); mCloseBtn->setIconSize( QSize( 18, 18 ) ); mCloseBtn->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum ); mCloseBtn->setMenu( mCloseMenu ); mCloseBtn->setPopupMode( QToolButton::MenuButtonPopup ); connect( mCloseBtn, &QAbstractButton::clicked, this, static_cast < bool ( QgsMessageBar::* )() > ( &QgsMessageBar::popWidget ) ); mLayout->addWidget( mCloseBtn, 0, 3, 1, 1 ); mCountdownTimer = new QTimer( this ); mCountdownTimer->setInterval( 1000 ); connect( mCountdownTimer, &QTimer::timeout, this, &QgsMessageBar::updateCountdown ); connect( this, &QgsMessageBar::widgetAdded, this, &QgsMessageBar::updateItemCount ); connect( this, &QgsMessageBar::widgetRemoved, this, &QgsMessageBar::updateItemCount ); // start hidden setVisible( false ); }
SeekSlider::SeekSlider( Qt::Orientation q, QWidget *_parent, bool _static ) : QSlider( q, _parent ), b_classic( _static ) { isSliding = false; f_buffering = 1.0; mHandleOpacity = 1.0; chapters = NULL; mHandleLength = -1; // prepare some static colors QPalette p = palette(); QColor background = p.color( QPalette::Active, QPalette::Background ); tickpointForeground = p.color( QPalette::Active, QPalette::WindowText ); tickpointForeground.setHsv( tickpointForeground.hue(), ( background.saturation() + tickpointForeground.saturation() ) / 2, ( background.value() + tickpointForeground.value() ) / 2 ); // set the background color and gradient QColor backgroundBase( p.window().color() ); backgroundGradient.setColorAt( 0.0, backgroundBase.darker( 140 ) ); backgroundGradient.setColorAt( 1.0, backgroundBase ); // set the foreground color and gradient QColor foregroundBase( 50, 156, 255 ); foregroundGradient.setColorAt( 0.0, foregroundBase ); foregroundGradient.setColorAt( 1.0, foregroundBase.darker( 140 ) ); // prepare the handle's gradient handleGradient.setColorAt( 0.0, p.window().color().lighter( 120 ) ); handleGradient.setColorAt( 0.9, p.window().color().darker( 120 ) ); // prepare the handle's shadow gradient QColor shadowBase = p.shadow().color(); if( shadowBase.lightness() > 100 ) shadowBase = QColor( 60, 60, 60 ); // Palette's shadow is too bright shadowDark = shadowBase.darker( 150 ); shadowLight = shadowBase.lighter( 180 ); shadowLight.setAlpha( 50 ); /* Timer used to fire intermediate updatePos() when sliding */ seekLimitTimer = new QTimer( this ); seekLimitTimer->setSingleShot( true ); /* Tooltip bubble */ mTimeTooltip = new TimeTooltip( this ); mTimeTooltip->setMouseTracking( true ); /* Properties */ setRange( MINIMUM, MAXIMUM ); setSingleStep( 2 ); setPageStep( 10 ); setMouseTracking( true ); setTracking( true ); setFocusPolicy( Qt::NoFocus ); /* Use the new/classic style */ if( !b_classic ) setStyle( new SeekStyle ); /* Init to 0 */ setPosition( -1.0, 0, 0 ); secstotimestr( psz_length, 0 ); animHandle = new QPropertyAnimation( this, "handleOpacity", this ); animHandle->setDuration( FADEDURATION ); animHandle->setStartValue( 0.0 ); animHandle->setEndValue( 1.0 ); hideHandleTimer = new QTimer( this ); hideHandleTimer->setSingleShot( true ); hideHandleTimer->setInterval( FADEOUTDELAY ); CONNECT( this, sliderMoved( int ), this, startSeekTimer() ); CONNECT( seekLimitTimer, timeout(), this, updatePos() ); CONNECT( hideHandleTimer, timeout(), this, hideHandle() ); mTimeTooltip->installEventFilter( this ); }
void BrowserWindow::setupUi() { int locationBarWidth; int websearchBarWidth; QDesktopWidget* desktop = mApp->desktop(); int windowWidth = desktop->availableGeometry().width() / 1.3; int windowHeight = desktop->availableGeometry().height() / 1.3; Settings settings; settings.beginGroup("Browser-View-Settings"); if (settings.value("WindowMaximised", false).toBool()) { resize(windowWidth, windowHeight); setWindowState(Qt::WindowMaximized); } else { // Let the WM decides where to put new browser window if ((m_windowType != Qz::BW_FirstAppWindow && m_windowType != Qz::BW_MacFirstWindow) && mApp->getWindow()) { #ifdef Q_WS_WIN // Windows WM places every new window in the middle of screen .. for some reason QPoint p = mApp->getWindow()->geometry().topLeft(); p.setX(p.x() + 30); p.setY(p.y() + 30); if (!desktop->availableGeometry(mApp->getWindow()).contains(p)) { p.setX(desktop->availableGeometry(mApp->getWindow()).x() + 30); p.setY(desktop->availableGeometry(mApp->getWindow()).y() + 30); } setGeometry(QRect(p, mApp->getWindow()->size())); #else resize(mApp->getWindow()->size()); #endif } else if (!restoreGeometry(settings.value("WindowGeometry").toByteArray())) { #ifdef Q_WS_WIN setGeometry(QRect(desktop->availableGeometry(mApp->getWindow()).x() + 30, desktop->availableGeometry(mApp->getWindow()).y() + 30, windowWidth, windowHeight)); #else resize(windowWidth, windowHeight); #endif } } locationBarWidth = settings.value("LocationBarWidth", 480).toInt(); websearchBarWidth = settings.value("WebSearchBarWidth", 140).toInt(); settings.endGroup(); QWidget* widget = new QWidget(this); widget->setCursor(Qt::ArrowCursor); setCentralWidget(widget); m_mainLayout = new QVBoxLayout(widget); m_mainLayout->setContentsMargins(0, 0, 0, 0); m_mainLayout->setSpacing(0); m_mainSplitter = new QSplitter(this); m_mainSplitter->setObjectName("sidebar-splitter"); m_tabWidget = new TabWidget(this); m_superMenu = new QMenu(this); m_navigationToolbar = new NavigationBar(this); m_navigationToolbar->setSplitterSizes(locationBarWidth, websearchBarWidth); m_bookmarksToolbar = new BookmarksToolbar(this); m_navigationContainer = new NavigationContainer(this); m_navigationContainer->addWidget(m_navigationToolbar); m_navigationContainer->addWidget(m_bookmarksToolbar); m_navigationContainer->setTabBar(m_tabWidget->tabBar()); m_mainSplitter->addWidget(m_tabWidget); m_mainSplitter->setCollapsible(0, false); m_mainLayout->addWidget(m_navigationContainer); m_mainLayout->addWidget(m_mainSplitter); statusBar()->setObjectName("mainwindow-statusbar"); statusBar()->setCursor(Qt::ArrowCursor); m_progressBar = new ProgressBar(statusBar()); m_adblockIcon = new AdBlockIcon(this); m_ipLabel = new QLabel(this); m_ipLabel->setObjectName("statusbar-ip-label"); m_ipLabel->setToolTip(tr("IP Address of current page")); statusBar()->addPermanentWidget(m_progressBar); statusBar()->addPermanentWidget(m_ipLabel); statusBar()->addPermanentWidget(m_adblockIcon); // Workaround for Oxygen tooltips not having transparent background QPalette pal = QToolTip::palette(); QColor col = pal.window().color(); col.setAlpha(0); pal.setColor(QPalette::Window, col); QToolTip::setPalette(pal); // Set some sane minimum width setMinimumWidth(300); }
QString SystemPanelScheme::systemStyle(const QPalette& p) const { QColor panelBackground1 = p.color(QPalette::Dark); QColor panelBackground2 = p.color(QPalette::Midlight); QColor headerBackground1 = p.color(QPalette::Highlight); QColor headerBackground2 = p.color(QPalette::Highlight).lighter(); QColor headerLabelText = p.color(QPalette::HighlightedText); QColor headerLabelTextOver = p.color(QPalette::BrightText); QColor groupBackground = p.window().color(); QColor groupBorder = p.color(QPalette::Window); QColor taskLabelText = p.color(QPalette::Text); QColor taskLabelTextOver = p.color(QPalette::Highlight); QString style = QString::fromLatin1( "QFrame[class='panel'] {" "background-color:qlineargradient(x1:1, y1:0.3, x2:1, y2:0, stop:0 %1, stop:1 %2);" "}" "QSint--ActionGroup QFrame[class='header'] {" "border: 1px solid #ffffff;" // todo "border-top-left-radius: 4px;" "border-top-right-radius: 4px;" "background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 %3, stop: 1 %4);" "}" "QSint--ActionGroup QToolButton[class='header'] {" "text-align: left;" "color: %5;" "background-color: transparent;" "border: 1px solid transparent;" "font-weight: bold;" "}" "QSint--ActionGroup QToolButton[class='header']:hover {" "color: %6;" "}" "QSint--ActionGroup QFrame[class='content'] {" "background-color: %7;" "border: 1px solid %8;" "}" "QSint--ActionGroup QFrame[class='content'][header='true'] {" "border-top: none;" "}" "QSint--ActionGroup QToolButton[class='action'] {" "background-color: transparent;" "border: 1px solid transparent;" "color: %9;" "text-align: left;" "}" "QSint--ActionGroup QToolButton[class='action']:!enabled {" "color: #999999;" // todo "}" "QSint--ActionGroup QToolButton[class='action']:hover {" "color: %10;" "text-decoration: underline;" "}" "QSint--ActionGroup QToolButton[class='action']:focus {" "border: 1px dotted black;" "}" "QSint--ActionGroup QToolButton[class='action']:on {" "background-color: #ddeeff;" // todo "color: #006600;" // todo "}" ) .arg(panelBackground1.name(), panelBackground2.name(), headerBackground1.name(), headerBackground2.name(), headerLabelText.name(), headerLabelTextOver.name(), groupBackground.name(), groupBorder.name(), taskLabelText.name()) .arg(taskLabelTextOver.name()) ; return style; }
AboutWidget::AboutWidget() { setWindowTitle(tr("About QMPlay2")); setAttribute(Qt::WA_DeleteOnClose); QString labelText; labelText += "<b>QMPlay2:</b> " + tr("video and audio player"); labelText += "<br/><b>" + tr("Programmer") + ":</b> <a href='mailto:[email protected]'>Błażej Szczygieł</a>"; labelText += "<br/><b>" + tr("Version") + ":</b> " + QMPlay2Core.getSettings().getString("Version"); QLabel *label = new QLabel(labelText); QLabel *iconL = new QLabel; iconL->setPixmap(Functions::getPixmapFromIcon(QMPlay2Core.getQMPlay2Icon(), QSize(128, 128), this)); QPalette palette; palette.setBrush(QPalette::Base, palette.window()); QTabWidget *tabW = new QTabWidget; const QFont font(QFontDatabase::systemFont(QFontDatabase::FixedFont)); logE = new QPlainTextEdit; logE->setFont(font); logE->setPalette(palette); logE->setFrameShape(QFrame::NoFrame); logE->setFrameShadow(QFrame::Plain); logE->setReadOnly(true); logE->setLineWrapMode(QPlainTextEdit::NoWrap); logE->viewport()->setProperty("cursor", QCursor(Qt::ArrowCursor)); tabW->addTab(logE, tr("Logs")); clE = new QPlainTextEdit; clE->setFont(font); clE->setPalette(palette); clE->setFrameShape(QFrame::NoFrame); clE->setFrameShadow(QFrame::Plain); clE->setReadOnly(true); clE->viewport()->setProperty("cursor", QCursor(Qt::ArrowCursor)); tabW->addTab(clE, tr("Change log")); auE = new QPlainTextEdit; auE->setFont(font); auE->setPalette(palette); auE->setFrameShape(QFrame::NoFrame); auE->setFrameShadow(QFrame::Plain); auE->setReadOnly(true); auE->viewport()->setProperty("cursor", QCursor(Qt::ArrowCursor)); tabW->addTab(auE, tr("Contributors")); clrLogB = new QPushButton; clrLogB->setText(tr("Clear log")); QPushButton *closeB = new QPushButton; closeB->setText(tr("Close")); closeB->setShortcut(QKeySequence("ESC")); QGridLayout *layout = new QGridLayout; layout->setContentsMargins(2, 2, 2, 2); layout->addWidget(iconL, 0, 0, 1, 1); layout->addWidget(label, 0, 1, 1, 2); layout->addWidget(tabW, 1, 0, 1, 3); layout->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum), 2, 0, 1, 1); //hSpacer layout->addWidget(clrLogB, 2, 1, 1, 1); layout->addWidget(closeB, 2, 2, 1, 1); setLayout(layout); connect(label, SIGNAL(linkActivated(const QString &)), this, SLOT(linkActivated(const QString &))); connect(clrLogB, SIGNAL(clicked()), this, SLOT(clrLog())); connect(closeB, SIGNAL(clicked()), this, SLOT(close())); connect(tabW, SIGNAL(currentChanged(int)), this, SLOT(currentTabChanged(int))); connect(&logWatcher, SIGNAL(fileChanged(const QString &)), this, SLOT(refreshLog())); show(); }
// Constructor. synthv1widget::synthv1widget ( QWidget *pParent, Qt::WindowFlags wflags ) : QWidget(pParent, wflags) { Q_INIT_RESOURCE(synthv1); #if QT_VERSION >= 0x050000 // HACK: Dark themes grayed/disabled color group fix... QPalette pal; if (pal.base().color().value() < 0x7f) { const QColor& color = pal.window().color(); const int iGroups = int(QPalette::Active | QPalette::Inactive) + 1; for (int i = 0; i < iGroups; ++i) { const QPalette::ColorGroup group = QPalette::ColorGroup(i); pal.setBrush(group, QPalette::Light, color.lighter(150)); pal.setBrush(group, QPalette::Midlight, color.lighter(120)); pal.setBrush(group, QPalette::Dark, color.darker(150)); pal.setBrush(group, QPalette::Mid, color.darker(120)); pal.setBrush(group, QPalette::Shadow, color.darker(200)); } pal.setColor(QPalette::Disabled, QPalette::ButtonText, pal.mid().color()); QWidget::setPalette(pal); } #endif m_ui.setupUi(this); // Init sched notifier. m_sched_notifier = NULL; // Init swapable params A/B to default. for (uint32_t i = 0; i < synthv1::NUM_PARAMS; ++i) m_params_ab[i] = synthv1_param::paramDefaultValue(synthv1::ParamIndex(i)); // Start clean. m_iUpdate = 0; // Replicate the stacked/pages for (int iTab = 0; iTab < m_ui.StackedWidget->count(); ++iTab) m_ui.TabBar->addTab(m_ui.StackedWidget->widget(iTab)->windowTitle()); // Swappable params A/B group. QButtonGroup *pSwapParamsGroup = new QButtonGroup(this); pSwapParamsGroup->addButton(m_ui.SwapParamsAButton); pSwapParamsGroup->addButton(m_ui.SwapParamsBButton); pSwapParamsGroup->setExclusive(true); m_ui.SwapParamsAButton->setChecked(true); // Wave shapes. QStringList shapes; shapes << tr("Pulse"); shapes << tr("Saw"); shapes << tr("Sine"); shapes << tr("Rand"); shapes << tr("Noise"); m_ui.Dco1Shape1Knob->insertItems(0, shapes); m_ui.Dco1Shape2Knob->insertItems(0, shapes); m_ui.Dco2Shape1Knob->insertItems(0, shapes); m_ui.Dco2Shape2Knob->insertItems(0, shapes); m_ui.Lfo1ShapeKnob->insertItems(0, shapes); m_ui.Lfo2ShapeKnob->insertItems(0, shapes); // Filter types. QStringList types; types << tr("LPF"); types << tr("BPF"); types << tr("HPF"); types << tr("BRF"); m_ui.Dcf1TypeKnob->insertItems(0, types); m_ui.Dcf2TypeKnob->insertItems(0, types); // Filter slopes. QStringList slopes; slopes << tr("12dB/oct"); slopes << tr("24dB/oct"); m_ui.Dcf1SlopeKnob->insertItems(0, slopes); m_ui.Dcf2SlopeKnob->insertItems(0, slopes); // Dynamic states. QStringList states; states << tr("Off"); states << tr("On"); m_ui.Dco1Bandl1Knob->insertItems(0, states); m_ui.Dco1Bandl2Knob->insertItems(0, states); m_ui.Dco2Bandl1Knob->insertItems(0, states); m_ui.Dco2Bandl2Knob->insertItems(0, states); m_ui.Dyn1CompressKnob->insertItems(0, states); m_ui.Dyn1LimiterKnob->insertItems(0, states); // Special values const QString& sOff = states.first(); m_ui.Cho1WetKnob->setSpecialValueText(sOff); m_ui.Fla1WetKnob->setSpecialValueText(sOff); m_ui.Pha1WetKnob->setSpecialValueText(sOff); m_ui.Del1WetKnob->setSpecialValueText(sOff); m_ui.Rev1WetKnob->setSpecialValueText(sOff); const QString& sAuto = tr("Auto"); m_ui.Del1BpmKnob->setSpecialValueText(sAuto); // Wave integer widths. m_ui.Dco1Width1Knob->setDecimals(0); m_ui.Dco1Width2Knob->setDecimals(0); m_ui.Dco2Width1Knob->setDecimals(0); m_ui.Dco2Width2Knob->setDecimals(0); m_ui.Lfo1WidthKnob->setDecimals(0); m_ui.Lfo2WidthKnob->setDecimals(0); // DCO octave limits. m_ui.Dco1OctaveKnob->setMinimum(-4.0f); m_ui.Dco1OctaveKnob->setMaximum(+4.0f); m_ui.Dco2OctaveKnob->setMinimum(-4.0f); m_ui.Dco2OctaveKnob->setMaximum(+4.0f); // DCO balance limits. m_ui.Dco1BalanceKnob->setMinimum(-1.0f); m_ui.Dco1BalanceKnob->setMaximum(+1.0f); m_ui.Dco2BalanceKnob->setMinimum(-1.0f); m_ui.Dco2BalanceKnob->setMaximum(+1.0f); // DCO tune limits. m_ui.Dco1TuningKnob->setMinimum(-1.0f); m_ui.Dco1TuningKnob->setMaximum(+1.0f); m_ui.Dco2TuningKnob->setMinimum(-1.0f); m_ui.Dco2TuningKnob->setMaximum(+1.0f); // DCF volume (env.amount) limits. m_ui.Dcf1EnvelopeKnob->setMinimum(-1.0f); m_ui.Dcf1EnvelopeKnob->setMaximum(+1.0f); m_ui.Dcf2EnvelopeKnob->setMinimum(-1.0f); m_ui.Dcf2EnvelopeKnob->setMaximum(+1.0f); // LFO parameter limits. m_ui.Lfo1SweepKnob->setMinimum(-1.0f); m_ui.Lfo1SweepKnob->setMaximum(+1.0f); m_ui.Lfo1CutoffKnob->setMinimum(-1.0f); m_ui.Lfo1CutoffKnob->setMaximum(+1.0f); m_ui.Lfo1ResoKnob->setMinimum(-1.0f); m_ui.Lfo1ResoKnob->setMaximum(+1.0f); m_ui.Lfo1PitchKnob->setMinimum(-1.0f); m_ui.Lfo1PitchKnob->setMaximum(+1.0f); m_ui.Lfo1PanningKnob->setMinimum(-1.0f); m_ui.Lfo1PanningKnob->setMaximum(+1.0f); m_ui.Lfo1VolumeKnob->setMinimum(-1.0f); m_ui.Lfo1VolumeKnob->setMaximum(+1.0f); m_ui.Lfo2SweepKnob->setMinimum(-1.0f); m_ui.Lfo2SweepKnob->setMaximum(+1.0f); m_ui.Lfo2CutoffKnob->setMinimum(-1.0f); m_ui.Lfo2CutoffKnob->setMaximum(+1.0f); m_ui.Lfo2ResoKnob->setMinimum(-1.0f); m_ui.Lfo2ResoKnob->setMaximum(+1.0f); m_ui.Lfo2PitchKnob->setMinimum(-1.0f); m_ui.Lfo2PitchKnob->setMaximum(+1.0f); m_ui.Lfo2PanningKnob->setMinimum(-1.0f); m_ui.Lfo2PanningKnob->setMaximum(+1.0f); m_ui.Lfo2VolumeKnob->setMinimum(-1.0f); m_ui.Lfo2VolumeKnob->setMaximum(+1.0f); // Channel filters QStringList channels; channels << tr("Omni"); for (int iChannel = 0; iChannel < 16; ++iChannel) channels << QString::number(iChannel + 1); m_ui.Def1ChannelKnob->insertItems(0, channels); m_ui.Def2ChannelKnob->insertItems(0, channels); // Mono switches m_ui.Def1MonoKnob->insertItems(0, states); m_ui.Def2MonoKnob->insertItems(0, states); // Output (stereo-)width limits. m_ui.Out1WidthKnob->setMinimum(-1.0f); m_ui.Out1WidthKnob->setMaximum(+1.0f); m_ui.Out2WidthKnob->setMinimum(-1.0f); m_ui.Out2WidthKnob->setMaximum(+1.0f); // Output (stereo-)panning limits. m_ui.Out1PanningKnob->setMinimum(-1.0f); m_ui.Out1PanningKnob->setMaximum(+1.0f); m_ui.Out2PanningKnob->setMinimum(-1.0f); m_ui.Out2PanningKnob->setMaximum(+1.0f); // Effects (delay BPM) m_ui.Del1BpmKnob->setScale(1.0f); m_ui.Del1BpmKnob->setMinimum(3.6f); m_ui.Del1BpmKnob->setMaximum(360.0f); m_ui.Del1BpmKnob->setSingleStep(1.0f); // Reverb (stereo-)width limits. m_ui.Rev1WidthKnob->setMinimum(-1.0f); m_ui.Rev1WidthKnob->setMaximum(+1.0f); // DCO1 setParamKnob(synthv1::DCO1_SHAPE1, m_ui.Dco1Shape1Knob); setParamKnob(synthv1::DCO1_WIDTH1, m_ui.Dco1Width1Knob); setParamKnob(synthv1::DCO1_BANDL1, m_ui.Dco1Bandl1Knob); setParamKnob(synthv1::DCO1_SHAPE2, m_ui.Dco1Shape2Knob); setParamKnob(synthv1::DCO1_WIDTH2, m_ui.Dco1Width2Knob); setParamKnob(synthv1::DCO1_BANDL2, m_ui.Dco1Bandl2Knob); setParamKnob(synthv1::DCO1_BALANCE, m_ui.Dco1BalanceKnob); setParamKnob(synthv1::DCO1_DETUNE, m_ui.Dco1DetuneKnob); setParamKnob(synthv1::DCO1_PHASE, m_ui.Dco1PhaseKnob); setParamKnob(synthv1::DCO1_OCTAVE, m_ui.Dco1OctaveKnob); setParamKnob(synthv1::DCO1_TUNING, m_ui.Dco1TuningKnob); setParamKnob(synthv1::DCO1_GLIDE, m_ui.Dco1GlideKnob); setParamKnob(synthv1::DCO1_ENVTIME, m_ui.Dco1EnvTimeKnob); QObject::connect( m_ui.Dco1Shape1Knob, SIGNAL(valueChanged(float)), m_ui.Dco1Wave1, SLOT(setWaveShape(float))); QObject::connect( m_ui.Dco1Wave1, SIGNAL(waveShapeChanged(float)), m_ui.Dco1Shape1Knob, SLOT(setValue(float))); QObject::connect( m_ui.Dco1Width1Knob, SIGNAL(valueChanged(float)), m_ui.Dco1Wave1, SLOT(setWaveWidth(float))); QObject::connect( m_ui.Dco1Wave1, SIGNAL(waveWidthChanged(float)), m_ui.Dco1Width1Knob, SLOT(setValue(float))); QObject::connect( m_ui.Dco1Shape2Knob, SIGNAL(valueChanged(float)), m_ui.Dco1Wave2, SLOT(setWaveShape(float))); QObject::connect( m_ui.Dco1Wave2, SIGNAL(waveShapeChanged(float)), m_ui.Dco1Shape2Knob, SLOT(setValue(float))); QObject::connect( m_ui.Dco1Width2Knob, SIGNAL(valueChanged(float)), m_ui.Dco1Wave2, SLOT(setWaveWidth(float))); QObject::connect( m_ui.Dco1Wave2, SIGNAL(waveWidthChanged(float)), m_ui.Dco1Width2Knob, SLOT(setValue(float))); // DCF1 setParamKnob(synthv1::DCF1_CUTOFF, m_ui.Dcf1CutoffKnob); setParamKnob(synthv1::DCF1_RESO, m_ui.Dcf1ResoKnob); setParamKnob(synthv1::DCF1_TYPE, m_ui.Dcf1TypeKnob); setParamKnob(synthv1::DCF1_SLOPE, m_ui.Dcf1SlopeKnob); setParamKnob(synthv1::DCF1_ENVELOPE, m_ui.Dcf1EnvelopeKnob); setParamKnob(synthv1::DCF1_ATTACK, m_ui.Dcf1AttackKnob); setParamKnob(synthv1::DCF1_DECAY, m_ui.Dcf1DecayKnob); setParamKnob(synthv1::DCF1_SUSTAIN, m_ui.Dcf1SustainKnob); setParamKnob(synthv1::DCF1_RELEASE, m_ui.Dcf1ReleaseKnob); QObject::connect( m_ui.Dcf1Filt, SIGNAL(cutoffChanged(float)), m_ui.Dcf1CutoffKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf1CutoffKnob, SIGNAL(valueChanged(float)), m_ui.Dcf1Filt, SLOT(setCutoff(float))); QObject::connect( m_ui.Dcf1Filt, SIGNAL(resoChanged(float)), m_ui.Dcf1ResoKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf1ResoKnob, SIGNAL(valueChanged(float)), m_ui.Dcf1Filt, SLOT(setReso(float))); QObject::connect( m_ui.Dcf1TypeKnob, SIGNAL(valueChanged(float)), m_ui.Dcf1Filt, SLOT(setType(float))); QObject::connect( m_ui.Dcf1SlopeKnob, SIGNAL(valueChanged(float)), m_ui.Dcf1Filt, SLOT(setSlope(float))); QObject::connect( m_ui.Dcf1Env, SIGNAL(attackChanged(float)), m_ui.Dcf1AttackKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf1AttackKnob, SIGNAL(valueChanged(float)), m_ui.Dcf1Env, SLOT(setAttack(float))); QObject::connect( m_ui.Dcf1Env, SIGNAL(decayChanged(float)), m_ui.Dcf1DecayKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf1DecayKnob, SIGNAL(valueChanged(float)), m_ui.Dcf1Env, SLOT(setDecay(float))); QObject::connect( m_ui.Dcf1Env, SIGNAL(sustainChanged(float)), m_ui.Dcf1SustainKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf1SustainKnob, SIGNAL(valueChanged(float)), m_ui.Dcf1Env, SLOT(setSustain(float))); QObject::connect( m_ui.Dcf1Env, SIGNAL(releaseChanged(float)), m_ui.Dcf1ReleaseKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf1ReleaseKnob, SIGNAL(valueChanged(float)), m_ui.Dcf1Env, SLOT(setRelease(float))); // LFO1 setParamKnob(synthv1::LFO1_SHAPE, m_ui.Lfo1ShapeKnob); setParamKnob(synthv1::LFO1_WIDTH, m_ui.Lfo1WidthKnob); setParamKnob(synthv1::LFO1_RATE, m_ui.Lfo1RateKnob); setParamKnob(synthv1::LFO1_PANNING, m_ui.Lfo1PanningKnob); setParamKnob(synthv1::LFO1_VOLUME, m_ui.Lfo1VolumeKnob); setParamKnob(synthv1::LFO1_CUTOFF, m_ui.Lfo1CutoffKnob); setParamKnob(synthv1::LFO1_RESO, m_ui.Lfo1ResoKnob); setParamKnob(synthv1::LFO1_PITCH, m_ui.Lfo1PitchKnob); setParamKnob(synthv1::LFO1_SWEEP, m_ui.Lfo1SweepKnob); setParamKnob(synthv1::LFO1_ATTACK, m_ui.Lfo1AttackKnob); setParamKnob(synthv1::LFO1_DECAY, m_ui.Lfo1DecayKnob); setParamKnob(synthv1::LFO1_SUSTAIN, m_ui.Lfo1SustainKnob); setParamKnob(synthv1::LFO1_RELEASE, m_ui.Lfo1ReleaseKnob); QObject::connect( m_ui.Lfo1ShapeKnob, SIGNAL(valueChanged(float)), m_ui.Lfo1Wave, SLOT(setWaveShape(float))); QObject::connect( m_ui.Lfo1Wave, SIGNAL(waveShapeChanged(float)), m_ui.Lfo1ShapeKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo1WidthKnob, SIGNAL(valueChanged(float)), m_ui.Lfo1Wave, SLOT(setWaveWidth(float))); QObject::connect( m_ui.Lfo1Wave, SIGNAL(waveWidthChanged(float)), m_ui.Lfo1WidthKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo1Env, SIGNAL(attackChanged(float)), m_ui.Lfo1AttackKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo1AttackKnob, SIGNAL(valueChanged(float)), m_ui.Lfo1Env, SLOT(setAttack(float))); QObject::connect( m_ui.Lfo1Env, SIGNAL(decayChanged(float)), m_ui.Lfo1DecayKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo1DecayKnob, SIGNAL(valueChanged(float)), m_ui.Lfo1Env, SLOT(setDecay(float))); QObject::connect( m_ui.Lfo1Env, SIGNAL(sustainChanged(float)), m_ui.Lfo1SustainKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo1SustainKnob, SIGNAL(valueChanged(float)), m_ui.Lfo1Env, SLOT(setSustain(float))); QObject::connect( m_ui.Lfo1Env, SIGNAL(releaseChanged(float)), m_ui.Lfo1ReleaseKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo1ReleaseKnob, SIGNAL(valueChanged(float)), m_ui.Lfo1Env, SLOT(setRelease(float))); // DCA1 setParamKnob(synthv1::DCA1_VOLUME, m_ui.Dca1VolumeKnob); setParamKnob(synthv1::DCA1_ATTACK, m_ui.Dca1AttackKnob); setParamKnob(synthv1::DCA1_DECAY, m_ui.Dca1DecayKnob); setParamKnob(synthv1::DCA1_SUSTAIN, m_ui.Dca1SustainKnob); setParamKnob(synthv1::DCA1_RELEASE, m_ui.Dca1ReleaseKnob); QObject::connect( m_ui.Dca1Env, SIGNAL(attackChanged(float)), m_ui.Dca1AttackKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dca1AttackKnob, SIGNAL(valueChanged(float)), m_ui.Dca1Env, SLOT(setAttack(float))); QObject::connect( m_ui.Dca1Env, SIGNAL(decayChanged(float)), m_ui.Dca1DecayKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dca1DecayKnob, SIGNAL(valueChanged(float)), m_ui.Dca1Env, SLOT(setDecay(float))); QObject::connect( m_ui.Dca1Env, SIGNAL(sustainChanged(float)), m_ui.Dca1SustainKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dca1SustainKnob, SIGNAL(valueChanged(float)), m_ui.Dca1Env, SLOT(setSustain(float))); QObject::connect( m_ui.Dca1Env, SIGNAL(releaseChanged(float)), m_ui.Dca1ReleaseKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dca1ReleaseKnob, SIGNAL(valueChanged(float)), m_ui.Dca1Env, SLOT(setRelease(float))); // DEF1 setParamKnob(synthv1::DEF1_PITCHBEND, m_ui.Def1PitchbendKnob); setParamKnob(synthv1::DEF1_MODWHEEL, m_ui.Def1ModwheelKnob); setParamKnob(synthv1::DEF1_PRESSURE, m_ui.Def1PressureKnob); setParamKnob(synthv1::DEF1_VELOCITY, m_ui.Def1VelocityKnob); setParamKnob(synthv1::DEF1_CHANNEL, m_ui.Def1ChannelKnob); setParamKnob(synthv1::DEF1_MONO, m_ui.Def1MonoKnob); // OUT1 setParamKnob(synthv1::OUT1_WIDTH, m_ui.Out1WidthKnob); setParamKnob(synthv1::OUT1_PANNING, m_ui.Out1PanningKnob); setParamKnob(synthv1::OUT1_VOLUME, m_ui.Out1VolumeKnob); // DCO2 setParamKnob(synthv1::DCO2_SHAPE1, m_ui.Dco2Shape1Knob); setParamKnob(synthv1::DCO2_WIDTH1, m_ui.Dco2Width1Knob); setParamKnob(synthv1::DCO2_BANDL1, m_ui.Dco2Bandl1Knob); setParamKnob(synthv1::DCO2_SHAPE2, m_ui.Dco2Shape2Knob); setParamKnob(synthv1::DCO2_WIDTH2, m_ui.Dco2Width2Knob); setParamKnob(synthv1::DCO2_BANDL2, m_ui.Dco2Bandl2Knob); setParamKnob(synthv1::DCO2_BALANCE, m_ui.Dco2BalanceKnob); setParamKnob(synthv1::DCO2_DETUNE, m_ui.Dco2DetuneKnob); setParamKnob(synthv1::DCO2_PHASE, m_ui.Dco2PhaseKnob); setParamKnob(synthv1::DCO2_OCTAVE, m_ui.Dco2OctaveKnob); setParamKnob(synthv1::DCO2_TUNING, m_ui.Dco2TuningKnob); setParamKnob(synthv1::DCO2_GLIDE, m_ui.Dco2GlideKnob); setParamKnob(synthv1::DCO2_ENVTIME, m_ui.Dco2EnvTimeKnob); QObject::connect( m_ui.Dco2Shape1Knob, SIGNAL(valueChanged(float)), m_ui.Dco2Wave1, SLOT(setWaveShape(float))); QObject::connect( m_ui.Dco2Wave1, SIGNAL(waveShapeChanged(float)), m_ui.Dco2Shape1Knob, SLOT(setValue(float))); QObject::connect( m_ui.Dco2Width1Knob, SIGNAL(valueChanged(float)), m_ui.Dco2Wave1, SLOT(setWaveWidth(float))); QObject::connect( m_ui.Dco2Wave1, SIGNAL(waveWidthChanged(float)), m_ui.Dco2Width1Knob, SLOT(setValue(float))); QObject::connect( m_ui.Dco2Shape2Knob, SIGNAL(valueChanged(float)), m_ui.Dco2Wave2, SLOT(setWaveShape(float))); QObject::connect( m_ui.Dco2Wave2, SIGNAL(waveShapeChanged(float)), m_ui.Dco2Shape2Knob, SLOT(setValue(float))); QObject::connect( m_ui.Dco2Width2Knob, SIGNAL(valueChanged(float)), m_ui.Dco2Wave2, SLOT(setWaveWidth(float))); QObject::connect( m_ui.Dco2Wave2, SIGNAL(waveWidthChanged(float)), m_ui.Dco2Width2Knob, SLOT(setValue(float))); // DCF2 setParamKnob(synthv1::DCF2_CUTOFF, m_ui.Dcf2CutoffKnob); setParamKnob(synthv1::DCF2_RESO, m_ui.Dcf2ResoKnob); setParamKnob(synthv1::DCF2_TYPE, m_ui.Dcf2TypeKnob); setParamKnob(synthv1::DCF2_SLOPE, m_ui.Dcf2SlopeKnob); setParamKnob(synthv1::DCF2_ENVELOPE, m_ui.Dcf2EnvelopeKnob); setParamKnob(synthv1::DCF2_ATTACK, m_ui.Dcf2AttackKnob); setParamKnob(synthv1::DCF2_DECAY, m_ui.Dcf2DecayKnob); setParamKnob(synthv1::DCF2_SUSTAIN, m_ui.Dcf2SustainKnob); setParamKnob(synthv1::DCF2_RELEASE, m_ui.Dcf2ReleaseKnob); QObject::connect( m_ui.Dcf2Filt, SIGNAL(cutoffChanged(float)), m_ui.Dcf2CutoffKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf2CutoffKnob, SIGNAL(valueChanged(float)), m_ui.Dcf2Filt, SLOT(setCutoff(float))); QObject::connect( m_ui.Dcf2Filt, SIGNAL(resoChanged(float)), m_ui.Dcf2ResoKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf2ResoKnob, SIGNAL(valueChanged(float)), m_ui.Dcf2Filt, SLOT(setReso(float))); QObject::connect( m_ui.Dcf2TypeKnob, SIGNAL(valueChanged(float)), m_ui.Dcf2Filt, SLOT(setType(float))); QObject::connect( m_ui.Dcf2SlopeKnob, SIGNAL(valueChanged(float)), m_ui.Dcf2Filt, SLOT(setSlope(float))); QObject::connect( m_ui.Dcf2Env, SIGNAL(attackChanged(float)), m_ui.Dcf2AttackKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf2AttackKnob, SIGNAL(valueChanged(float)), m_ui.Dcf2Env, SLOT(setAttack(float))); QObject::connect( m_ui.Dcf2Env, SIGNAL(decayChanged(float)), m_ui.Dcf2DecayKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf2DecayKnob, SIGNAL(valueChanged(float)), m_ui.Dcf2Env, SLOT(setDecay(float))); QObject::connect( m_ui.Dcf2Env, SIGNAL(sustainChanged(float)), m_ui.Dcf2SustainKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf2SustainKnob, SIGNAL(valueChanged(float)), m_ui.Dcf2Env, SLOT(setSustain(float))); QObject::connect( m_ui.Dcf2Env, SIGNAL(releaseChanged(float)), m_ui.Dcf2ReleaseKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dcf2ReleaseKnob, SIGNAL(valueChanged(float)), m_ui.Dcf2Env, SLOT(setRelease(float))); // LFO2 setParamKnob(synthv1::LFO2_SHAPE, m_ui.Lfo2ShapeKnob); setParamKnob(synthv1::LFO2_WIDTH, m_ui.Lfo2WidthKnob); setParamKnob(synthv1::LFO2_RATE, m_ui.Lfo2RateKnob); setParamKnob(synthv1::LFO2_PANNING, m_ui.Lfo2PanningKnob); setParamKnob(synthv1::LFO2_VOLUME, m_ui.Lfo2VolumeKnob); setParamKnob(synthv1::LFO2_CUTOFF, m_ui.Lfo2CutoffKnob); setParamKnob(synthv1::LFO2_RESO, m_ui.Lfo2ResoKnob); setParamKnob(synthv1::LFO2_PITCH, m_ui.Lfo2PitchKnob); setParamKnob(synthv1::LFO2_SWEEP, m_ui.Lfo2SweepKnob); setParamKnob(synthv1::LFO2_ATTACK, m_ui.Lfo2AttackKnob); setParamKnob(synthv1::LFO2_DECAY, m_ui.Lfo2DecayKnob); setParamKnob(synthv1::LFO2_SUSTAIN, m_ui.Lfo2SustainKnob); setParamKnob(synthv1::LFO2_RELEASE, m_ui.Lfo2ReleaseKnob); QObject::connect( m_ui.Lfo2ShapeKnob, SIGNAL(valueChanged(float)), m_ui.Lfo2Wave, SLOT(setWaveShape(float))); QObject::connect( m_ui.Lfo2Wave, SIGNAL(waveShapeChanged(float)), m_ui.Lfo2ShapeKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo2WidthKnob, SIGNAL(valueChanged(float)), m_ui.Lfo2Wave, SLOT(setWaveWidth(float))); QObject::connect( m_ui.Lfo2Wave, SIGNAL(waveWidthChanged(float)), m_ui.Lfo2WidthKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo2Env, SIGNAL(attackChanged(float)), m_ui.Lfo2AttackKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo2AttackKnob, SIGNAL(valueChanged(float)), m_ui.Lfo2Env, SLOT(setAttack(float))); QObject::connect( m_ui.Lfo2Env, SIGNAL(decayChanged(float)), m_ui.Lfo2DecayKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo2DecayKnob, SIGNAL(valueChanged(float)), m_ui.Lfo2Env, SLOT(setDecay(float))); QObject::connect( m_ui.Lfo2Env, SIGNAL(sustainChanged(float)), m_ui.Lfo2SustainKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo2SustainKnob, SIGNAL(valueChanged(float)), m_ui.Lfo2Env, SLOT(setSustain(float))); QObject::connect( m_ui.Lfo2Env, SIGNAL(releaseChanged(float)), m_ui.Lfo2ReleaseKnob, SLOT(setValue(float))); QObject::connect( m_ui.Lfo2ReleaseKnob, SIGNAL(valueChanged(float)), m_ui.Lfo2Env, SLOT(setRelease(float))); // DCA2 setParamKnob(synthv1::DCA2_VOLUME, m_ui.Dca2VolumeKnob); setParamKnob(synthv1::DCA2_ATTACK, m_ui.Dca2AttackKnob); setParamKnob(synthv1::DCA2_DECAY, m_ui.Dca2DecayKnob); setParamKnob(synthv1::DCA2_SUSTAIN, m_ui.Dca2SustainKnob); setParamKnob(synthv1::DCA2_RELEASE, m_ui.Dca2ReleaseKnob); QObject::connect( m_ui.Dca2Env, SIGNAL(attackChanged(float)), m_ui.Dca2AttackKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dca2AttackKnob, SIGNAL(valueChanged(float)), m_ui.Dca2Env, SLOT(setAttack(float))); QObject::connect( m_ui.Dca2Env, SIGNAL(decayChanged(float)), m_ui.Dca2DecayKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dca2DecayKnob, SIGNAL(valueChanged(float)), m_ui.Dca2Env, SLOT(setDecay(float))); QObject::connect( m_ui.Dca2Env, SIGNAL(sustainChanged(float)), m_ui.Dca2SustainKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dca2SustainKnob, SIGNAL(valueChanged(float)), m_ui.Dca2Env, SLOT(setSustain(float))); QObject::connect( m_ui.Dca2Env, SIGNAL(releaseChanged(float)), m_ui.Dca2ReleaseKnob, SLOT(setValue(float))); QObject::connect( m_ui.Dca2ReleaseKnob, SIGNAL(valueChanged(float)), m_ui.Dca2Env, SLOT(setRelease(float))); // DEF2 setParamKnob(synthv1::DEF2_PITCHBEND, m_ui.Def2PitchbendKnob); setParamKnob(synthv1::DEF2_MODWHEEL, m_ui.Def2ModwheelKnob); setParamKnob(synthv1::DEF2_PRESSURE, m_ui.Def2PressureKnob); setParamKnob(synthv1::DEF2_VELOCITY, m_ui.Def2VelocityKnob); setParamKnob(synthv1::DEF2_CHANNEL, m_ui.Def2ChannelKnob); setParamKnob(synthv1::DEF2_MONO, m_ui.Def2MonoKnob); // OUT2 setParamKnob(synthv1::OUT2_WIDTH, m_ui.Out2WidthKnob); setParamKnob(synthv1::OUT2_PANNING, m_ui.Out2PanningKnob); setParamKnob(synthv1::OUT2_VOLUME, m_ui.Out2VolumeKnob); // Effects setParamKnob(synthv1::CHO1_WET, m_ui.Cho1WetKnob); setParamKnob(synthv1::CHO1_DELAY, m_ui.Cho1DelayKnob); setParamKnob(synthv1::CHO1_FEEDB, m_ui.Cho1FeedbKnob); setParamKnob(synthv1::CHO1_RATE, m_ui.Cho1RateKnob); setParamKnob(synthv1::CHO1_MOD, m_ui.Cho1ModKnob); setParamKnob(synthv1::FLA1_WET, m_ui.Fla1WetKnob); setParamKnob(synthv1::FLA1_DELAY, m_ui.Fla1DelayKnob); setParamKnob(synthv1::FLA1_FEEDB, m_ui.Fla1FeedbKnob); setParamKnob(synthv1::FLA1_DAFT, m_ui.Fla1DaftKnob); setParamKnob(synthv1::PHA1_WET, m_ui.Pha1WetKnob); setParamKnob(synthv1::PHA1_RATE, m_ui.Pha1RateKnob); setParamKnob(synthv1::PHA1_FEEDB, m_ui.Pha1FeedbKnob); setParamKnob(synthv1::PHA1_DEPTH, m_ui.Pha1DepthKnob); setParamKnob(synthv1::PHA1_DAFT, m_ui.Pha1DaftKnob); setParamKnob(synthv1::DEL1_WET, m_ui.Del1WetKnob); setParamKnob(synthv1::DEL1_DELAY, m_ui.Del1DelayKnob); setParamKnob(synthv1::DEL1_FEEDB, m_ui.Del1FeedbKnob); setParamKnob(synthv1::DEL1_BPM, m_ui.Del1BpmKnob); QObject::connect(m_ui.Del1BpmKnob, SIGNAL(valueChanged(float)), SLOT(bpmSyncChanged())); // Reverb setParamKnob(synthv1::REV1_WET, m_ui.Rev1WetKnob); setParamKnob(synthv1::REV1_ROOM, m_ui.Rev1RoomKnob); setParamKnob(synthv1::REV1_DAMP, m_ui.Rev1DampKnob); setParamKnob(synthv1::REV1_FEEDB, m_ui.Rev1FeedbKnob); setParamKnob(synthv1::REV1_WIDTH, m_ui.Rev1WidthKnob); // Dynamics setParamKnob(synthv1::DYN1_COMPRESS, m_ui.Dyn1CompressKnob); setParamKnob(synthv1::DYN1_LIMITER, m_ui.Dyn1LimiterKnob); // Preset management QObject::connect(m_ui.Preset, SIGNAL(newPresetFile()), SLOT(newPreset())); QObject::connect(m_ui.Preset, SIGNAL(loadPresetFile(const QString&)), SLOT(loadPreset(const QString&))); QObject::connect(m_ui.Preset, SIGNAL(savePresetFile(const QString&)), SLOT(savePreset(const QString&))); QObject::connect(m_ui.Preset, SIGNAL(resetPresetFile()), SLOT(resetParams())); // Swap params A/B QObject::connect(m_ui.SwapParamsAButton, SIGNAL(toggled(bool)), SLOT(swapParams(bool))); QObject::connect(m_ui.SwapParamsBButton, SIGNAL(toggled(bool)), SLOT(swapParams(bool))); // Direct stacked-page signal/slot QObject::connect(m_ui.TabBar, SIGNAL(currentChanged(int)), m_ui.StackedWidget, SLOT(setCurrentIndex(int))); // Menu actions QObject::connect(m_ui.helpConfigureAction, SIGNAL(triggered(bool)), SLOT(helpConfigure())); QObject::connect(m_ui.helpAboutAction, SIGNAL(triggered(bool)), SLOT(helpAbout())); QObject::connect(m_ui.helpAboutQtAction, SIGNAL(triggered(bool)), SLOT(helpAboutQt())); // General knob/dial behavior init... synthv1_config *pConfig = synthv1_config::getInstance(); if (pConfig) { synthv1widget_dial::setDialMode( synthv1widget_dial::DialMode(pConfig->iKnobDialMode)); } // Epilog. // QWidget::adjustSize(); m_ui.StatusBar->showMessage(tr("Ready"), 5000); m_ui.StatusBar->setModified(false); m_ui.Preset->setDirtyPreset(false); }
bool QDecorationStyled::paint(QPainter *painter, const QWidget *widget, int decorationRegion, DecorationState state) { if (decorationRegion == None) return false; bool isActive = (widget == qApp->activeWindow()); QPalette pal = qApp->palette(); //ideally, the difference between Active and Inactive should be enough, so we shouldn't need to test this if (!isActive) { //pal.setCurrentColorGroup(QPalette::Disabled); //Can't do this either, because of palette limitations //copied from Q3TitleBar: pal.setColor(QPalette::Inactive, QPalette::Highlight, pal.color(QPalette::Inactive, QPalette::Dark)); pal.setColor(QPalette::Inactive, QPalette::Base, pal.color(QPalette::Inactive, QPalette::Dark)); pal.setColor(QPalette::Inactive, QPalette::HighlightedText, pal.color(QPalette::Inactive, QPalette::Window)); } Qt::WindowFlags flags = widget->windowFlags(); bool hasBorder = !widget->isMaximized(); bool hasTitle = flags & Qt::WindowTitleHint; bool hasSysMenu = flags & Qt::WindowSystemMenuHint; bool hasContextHelp = flags & Qt::WindowContextHelpButtonHint; bool hasMinimize = flags & Qt::WindowMinimizeButtonHint; bool hasMaximize = flags & Qt::WindowMaximizeButtonHint; bool paintAll = (DecorationRegion(decorationRegion) == All); bool handled = false; QStyle *style = QApplication::style(); // In the case of a borderless title bar, the title bar must be expanded one // borderWidth to the left, right and up. bool noTitleBorder = style->styleHint(QStyle::SH_TitleBar_NoBorder, 0, widget); int borderWidth = style->pixelMetric(QStyle::PM_MDIFrameWidth, 0, 0); int titleHeight = titleBarHeight(widget) + (noTitleBorder ? borderWidth : 0); int titleExtra = noTitleBorder ? borderWidth : 0; if ((paintAll || decorationRegion & Borders) && state == Normal && hasBorder) { QRegion newClip = painter->clipRegion(); if (hasTitle) { // reduce flicker QRect rect(widget->rect()); QRect r(rect.left() - titleExtra, rect.top() - titleHeight, rect.width() + 2 * titleExtra, titleHeight); newClip -= r; } if (!newClip.isEmpty()) { QRect br = QDecoration::region(widget).boundingRect(); painter->save(); painter->setClipRegion(newClip); QStyleOptionFrame opt; opt.palette = pal; opt.rect = br; opt.lineWidth = borderWidth; if (isActive) opt.state |= QStyle::State_Active; bool porterDuff = painter->paintEngine()->hasFeature(QPaintEngine::PorterDuff); if (porterDuff) painter->setCompositionMode(QPainter::CompositionMode_Source); painter->fillRect(br, pal.window()); if (porterDuff) painter->setCompositionMode(QPainter::CompositionMode_SourceOver); style->drawPrimitive(QStyle::PE_FrameWindow, &opt, painter, 0); painter->restore(); decorationRegion &= (~Borders); handled |= true; } } if (hasTitle) { painter->save(); QStyleOptionTitleBar opt; opt.subControls = (decorationRegion & Title ? QStyle::SC_TitleBarLabel : QStyle::SubControl(0)) | (decorationRegion & Menu ? QStyle::SC_TitleBarSysMenu : QStyle::SubControl(0)) | (decorationRegion & Help ? QStyle::SC_TitleBarContextHelpButton : QStyle::SubControl(0)) | (decorationRegion & Minimize ? QStyle::SC_TitleBarMinButton : QStyle::SubControl(0)) | (decorationRegion & Maximize ? QStyle::SC_TitleBarMaxButton : QStyle::SubControl(0)) | (decorationRegion & (Minimize | Maximize) ? QStyle::SC_TitleBarNormalButton : QStyle::SubControl(0)) | (decorationRegion & Close ? QStyle::SC_TitleBarCloseButton : QStyle::SubControl(0)); opt.titleBarFlags = widget->windowFlags(); opt.titleBarState = widget->windowState(); if (isActive) opt.titleBarState |= QStyle::State_Active; opt.text = windowTitleFor(widget); opt.icon = widget->windowIcon(); opt.palette = pal; opt.rect = QRect(widget->rect().x() - titleExtra, -titleHeight, widget->rect().width() + 2 * titleExtra, titleHeight); if (paintAll) { painter->setClipRegion(opt.rect); } else { const QRect widgetRect = widget->rect(); QRegion newClip = opt.rect; if (!(decorationRegion & Menu) && hasSysMenu) newClip -= region(widget, widgetRect, Menu); if (!(decorationRegion & Title) && hasTitle) newClip -= region(widget, widgetRect, Title); if (!(decorationRegion & Help) && hasContextHelp) newClip -= region(widget, widgetRect, Help); if (!(decorationRegion & Minimize) && hasMinimize) newClip -= region(widget, widgetRect, Minimize); if (!(decorationRegion & Maximize) && hasMaximize) newClip -= region(widget, widgetRect, Maximize); if (!(decorationRegion & (Minimize | Maximize)) && (hasMaximize | hasMinimize)) newClip -= region(widget, widgetRect, Normal); if (!(decorationRegion & Close)) newClip -= region(widget, widgetRect, Close); painter->setClipRegion(newClip); } if (state == Pressed) opt.activeSubControls = opt.subControls; style->drawComplexControl(QStyle::CC_TitleBar, &opt, painter, 0); painter->restore(); decorationRegion &= ~(Title | Menu | Help | Normalize | Minimize | Maximize | Close); handled |= true; } return handled; }
/** Redefined. */ void AddressBarButton::paintEvent(QPaintEvent *) { QStylePainter p(this); QRect r = rect().adjusted(0, 1, -1, -(1 + extra)); static const int arrowWidth = r.height(); QPalette palette = QApplication::palette(); QLinearGradient g(rect().topLeft(), rect().bottomLeft()); g.setColorAt(0, palette.base().color()); g.setColorAt(1, palette.window().color()); p.fillRect(r, g); // Compute size of rectangles to display text and right arrow if (_atLeastOneSubDir) { if (isLeftToRight()) { _arrowRect = QRect(r.width() - arrowWidth, r.y(), arrowWidth, r.height()); _textRect = QRect(r.x(), r.y(), r.width() - arrowWidth, r.height()); } else { _arrowRect = QRect(r.x(), r.y(), arrowWidth, r.height()); _textRect = QRect(r.x() + arrowWidth, r.y(), r.width() - arrowWidth, r.height()); } } else { _textRect = r.adjusted(0, 0, -5, 0); } // Highlight button if mouse is over QPoint pos = mapFromGlobal(QCursor::pos()); p.save(); QBrush brush; if (_addressBar->isDown()) { brush = palette.highlight().color().lighter(); } else { brush = palette.highlight().color().lighter(lighterValue); } if (_highlighted) { p.setPen(palette.highlight().color()); p.setBrush(brush); p.drawRect(_textRect); if (_atLeastOneSubDir) { p.drawRect(_arrowRect); } } else { if (_atLeastOneSubDir) { if (_textRect.contains(pos) || _arrowRect.contains(pos)) { p.setPen(palette.highlight().color()); p.setBrush(brush); p.drawRect(_textRect); p.drawRect(_arrowRect); } else { p.setPen(Qt::NoPen); p.setBrush(Qt::NoBrush); p.drawRect(_textRect); p.drawRect(_arrowRect); } } else { if (_textRect.contains(pos)) { p.setPen(palette.highlight().color()); p.setBrush(brush); p.drawRect(_textRect); } } } p.restore(); // Draw folder's name QColor lighterBG = palette.highlight().color().lighter(); QColor highlightedText = palette.highlightedText().color(); if (rect().contains(pos) && SettingsPrivate::instance()->isCustomTextColorOverriden()) { p.setPen(palette.highlightedText().color()); } else if (qAbs(lighterBG.value() - highlightedText.value()) > 128 && _highlighted) { p.setPen(highlightedText); } else { p.setPen(palette.text().color()); } // Special case for root and drives bool root = false; if (_path.isRoot()) { QPixmap pixmap = QFileIconProvider().icon(QFileIconProvider::Computer).pixmap(20, 20); QString drive; if (_isAbsoluteRoot) { pixmap = QFileIconProvider().icon(QFileIconProvider::Computer).pixmap(20, 20); if (isLeftToRight()) { p.drawPixmap(2, 3, 20, 20, pixmap); } else { p.drawPixmap(18, 3, 20, 20, pixmap); } } else { drive = AddressBar::getVolumeInfo(_path.absolutePath()); if (!_isAbsoluteRoot && !drive.isEmpty()) { // Add a small offset to simulate a pressed button if (_highlighted) { p.translate(1, 1); } p.drawText(_textRect.adjusted(5, 0, 0, 0), Qt::AlignCenter, drive); } pixmap = QFileIconProvider().icon(QFileIconProvider::Drive).pixmap(20, 20); } } else { if (!_path.dirName().isEmpty()) { // Add a small offset to simulate a pressed button if (_highlighted) { p.translate(1, 1); } p.drawText(_textRect.adjusted(0, 0, 0, 0), Qt::AlignCenter, _path.dirName()); } } if (_atLeastOneSubDir) { QStyleOptionButton o; o.initFrom(this); p.save(); p.setPen(Qt::NoPen); p.setBrush(o.palette.mid()); if (root && _addressBar->hasHiddenFolders()) { /// Right To Left QPoint p1(o.rect.x() + 32, o.rect.y() + 11), p2(o.rect.x() + 29, o.rect.y() + 14), p2b(o.rect.x() + 29, o.rect.y() + 13), p3(o.rect.x() + 32, o.rect.y() + 16); p.save(); p.setPen(Qt::black); p.setRenderHint(QPainter::Antialiasing); p.drawLine(p1, p2); p.drawLine(p2b, p3); p.translate(4, 0); p.drawLine(p1, p2); p.drawLine(p2b, p3); p.restore(); } else { int w = _arrowRect.width() / 3; int h = this->rect().height() / 3; QRect indicatorArrow(_arrowRect.x() + w + 1, _arrowRect.y() + h, w, h); o.rect = indicatorArrow; p.setRenderHint(QPainter::Antialiasing); p.save(); QPen pen(palette.mid().color()); pen.setWidthF(1.5); pen.setJoinStyle(Qt::MiterJoin); p.setPen(pen); QPolygon pol; QPoint p1, p2, p3; if (_highlighted) { p.translate(0, -1); p1 = QPoint(o.rect.x(), o.rect.y() + o.rect.height() / 2); p2 = QPoint(o.rect.x() + o.rect.width(), o.rect.y() + o.rect.height() / 2); p3 = QPoint(o.rect.x() + o.rect.width() / 2, o.rect.y() + o.rect.height()); } else if (isLeftToRight()) { p1 = QPoint(o.rect.x(), o.rect.y()); p2 = QPoint(o.rect.x(), o.rect.y() + o.rect.height()); p3 = QPoint(o.rect.x() + o.rect.width(), o.rect.y() + o.rect.height() / 2); } else { p1 = QPoint(o.rect.x() + o.rect.width(), o.rect.y()); p2 = QPoint(o.rect.x() + o.rect.width(), o.rect.y() + o.rect.height()); p3 = QPoint(o.rect.x(), o.rect.y() + o.rect.height() / 2); } pol.append(p1); pol.append(p2); pol.append(p3); p.drawPolygon(pol); p.restore(); p.setRenderHint(QPainter::Antialiasing, false); } p.restore(); } }
QgsMessageBar::QgsMessageBar( QWidget *parent ) : QFrame( parent ), mCurrentItem( NULL ) { QPalette pal = palette(); pal.setBrush( backgroundRole(), pal.window() ); setPalette( pal ); setAutoFillBackground( true ); setFrameShape( QFrame::StyledPanel ); setFrameShadow( QFrame::Plain ); mLayout = new QGridLayout( this ); mLayout->setContentsMargins( 9, 1, 9, 1 ); setLayout( mLayout ); mCountProgress = new QProgressBar( this ); mCountStyleSheet = QString( "QProgressBar { border: 1px solid rgba(0, 0, 0, 75%);" " border-radius: 2px; background: rgba(0, 0, 0, 0);" " image: url(:/images/themes/default/%1) }" "QProgressBar::chunk { background-color: rgba(0, 0, 0, 30%); width: 5px; }" ); mCountProgress->setStyleSheet( mCountStyleSheet.arg( "mIconTimerPause.png" ) ); mCountProgress->setObjectName( "mCountdown" ); mCountProgress->setFixedSize( 25, 14 ); mCountProgress->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); mCountProgress->setTextVisible( false ); mCountProgress->setRange( 0, 5 ); mCountProgress->setHidden( true ); mLayout->addWidget( mCountProgress, 0, 0, 1, 1 ); mItemCount = new QLabel( this ); mItemCount->setObjectName( "mItemCount" ); mItemCount->setToolTip( tr( "Remaining messages" ) ); mItemCount->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Preferred ); mLayout->addWidget( mItemCount, 0, 2, 1, 1 ); mCloseMenu = new QMenu( this ); mCloseMenu->setObjectName( "mCloseMenu" ); mActionCloseAll = new QAction( tr( "Close all" ), this ); mCloseMenu->addAction( mActionCloseAll ); connect( mActionCloseAll, SIGNAL( triggered() ), this, SLOT( clearWidgets() ) ); mCloseBtn = new QToolButton( this ); mCloseMenu->setObjectName( "mCloseMenu" ); mCloseBtn->setToolTip( tr( "Close" ) ); mCloseBtn->setMinimumWidth( 40 ); mCloseBtn->setStyleSheet( "QToolButton { background-color: rgba(255, 255, 255, 0); } " "QToolButton::menu-indicator { subcontrol-position: right bottom; subcontrol-origin: padding; bottom: 2px; }" ); mCloseBtn->setCursor( Qt::PointingHandCursor ); mCloseBtn->setIcon( QgsApplication::getThemeIcon( "/mIconClose.png" ) ); mCloseBtn->setIconSize( QSize( 18, 18 ) ); mCloseBtn->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum ); mCloseBtn->setMenu( mCloseMenu ); connect( mCloseBtn, SIGNAL( clicked() ), this, SLOT( popWidget() ) ); mLayout->addWidget( mCloseBtn, 0, 3, 1, 1 ); mCountdownTimer = new QTimer( this ); mCountdownTimer->setInterval( 1000 ); connect( mCountdownTimer, SIGNAL( timeout() ), this, SLOT( updateCountdown() ) ); connect( this, SIGNAL( widgetAdded( QgsMessageBarItem* ) ), this, SLOT( updateItemCount() ) ); connect( this, SIGNAL( widgetRemoved( QgsMessageBarItem* ) ), this, SLOT( updateItemCount() ) ); // start hidden setVisible( false ); }
AbstractConfig::AbstractConfig(AbstractContent * content, AbstractConfig_PARENT * parent) : AbstractConfig_TYPE(parent) , m_content(content) , m_commonUi(new Ui::AbstractConfig()) #if !defined(MOBILE_UI) , m_closeButton(0) , m_okButton(0) #endif , m_frame(FrameFactory::defaultPanelFrame()) { #if !defined(MOBILE_UI) // close button m_closeButton = new StyledButtonItem(tr(" x "), font(), this);//this, ":/data/button-close.png", ":/data/button-close-hovered.png", ":/data/button-close-pressed.png"); connect(m_closeButton, SIGNAL(clicked()), this, SIGNAL(requestClose())); // WIDGET setup (populate contents and set base palette (only) to transparent) QWidget * widget = new QWidget(); m_commonUi->setupUi(widget); QPalette pal; QColor oldColor = pal.window().color(); pal.setBrush(QPalette::Window, Qt::transparent); widget->setPalette(pal); pal.setBrush(QPalette::Window, oldColor); m_commonUi->tab->setPalette(pal); #else m_commonUi->setupUi(this); #endif populateFrameList(); // select the frame quint32 frameClass = m_content->frameClass(); if (frameClass != Frame::NoFrame) { for (int i = 0; i < m_commonUi->framesList->count(); ++i) { QListWidgetItem * item = m_commonUi->framesList->item(i); if (item->data(Qt::UserRole).toUInt() == frameClass) { item->setSelected(true); break; } } } // read other properties m_commonUi->reflection->setChecked(m_content->mirrored()); m_commonUi->contentLocked->setChecked(m_content->locked()); m_commonUi->fixedPosition->setChecked(m_content->fixedPosition()); m_commonUi->fixedRotation->setChecked(m_content->fixedRotation()); m_commonUi->fixedPerspective->setChecked(m_content->fixedPerspective()); connect(m_commonUi->front, SIGNAL(clicked()), m_content, SLOT(slotStackFront())); connect(m_commonUi->raise, SIGNAL(clicked()), m_content, SLOT(slotStackRaise())); connect(m_commonUi->lower, SIGNAL(clicked()), m_content, SLOT(slotStackLower())); connect(m_commonUi->back, SIGNAL(clicked()), m_content, SLOT(slotStackBack())); connect(m_commonUi->save, SIGNAL(clicked()), m_content, SLOT(slotSaveAs())); connect(m_commonUi->background, SIGNAL(clicked()), m_content, SIGNAL(requestBackgrounding())); connect(m_commonUi->del, SIGNAL(clicked()), m_content, SIGNAL(requestRemoval())); connect(m_commonUi->contentLocked, SIGNAL(stateChanged(int)), m_content, SLOT(slotSetLocked(int))); connect(m_commonUi->fixedPosition, SIGNAL(stateChanged(int)), m_content, SLOT(slotSetFixedPosition(int))); connect(m_commonUi->fixedRotation, SIGNAL(stateChanged(int)), m_content, SLOT(slotSetFixedRotation(int))); connect(m_commonUi->fixedPerspective, SIGNAL(stateChanged(int)), m_content, SLOT(slotSetFixedPerspective(int))); connect(m_commonUi->newFrame, SIGNAL(clicked()), this, SLOT(slotAddFrame())); connect(m_commonUi->removeFrame, SIGNAL(clicked()), this, SLOT(slotRemoveFrame())); connect(m_commonUi->lookApplyAll, SIGNAL(clicked()), this, SLOT(slotLookApplyAll())); connect(m_commonUi->framesList, SIGNAL(itemSelectionChanged()), this, SLOT(slotFrameSelectionChanged())); connect(m_commonUi->reflection, SIGNAL(toggled(bool)), this, SLOT(slotReflectionToggled(bool))); // ITEM setup #if !defined(MOBILE_UI) setFlag(QGraphicsItem::ItemIgnoresTransformations, true); setWidget(widget); static qreal s_propZBase = 99999; setZValue(s_propZBase++); #endif #if !defined(MOBILE_UI) && QT_VERSION >= 0x040600 // fade in animation QPropertyAnimation * ani = new QPropertyAnimation(this, "opacity"); ani->setEasingCurve(QEasingCurve::OutCubic); ani->setDuration(400); ani->setStartValue(0.0); ani->setEndValue(1.0); ani->start(QPropertyAnimation::DeleteWhenStopped); #endif }