void Game::paintEvent(QPaintEvent *event) { QPainter painter(this); if (gameOver) { QFont font("Courier", 15, QFont::DemiBold); QFontMetrics fm(font); int textWidth = fm.width("Game Over"); painter.setPen(QPen(QColor(Qt::black))); painter.setFont(font); int h = height(); int w = width(); QPalette palette; palette.setBrush(this->backgroundRole(), QBrush(QImage("lose.png"))); this->setPalette(palette); painter.translate(QPoint(w/2, h/2)); painter.drawText(-textWidth/2-45,20, "Final Score:"); painter.drawText(80, 20, QString::number(score)); painter.drawText(-textWidth/2-55,40, "Press 's' to restart"); }//Things displayed after gameover else if(gameWon){ QFont font("Courier", 15, QFont::DemiBold); QFontMetrics fm(font); int textWidth = fm.width("Game Over"); painter.setPen(QPen(QColor(Qt::black)));//make the word's color black painter.setFont(font); int h = height(); int w = width(); QPalette palette; palette.setBrush(this->backgroundRole(), QBrush(QImage("vic.png"))); this->setPalette(palette); painter.translate(QPoint(w/2, h/2)); painter.drawText(-textWidth/2-45,20, "Final Score:"); painter.drawText(80, 20, QString::number(score)); painter.drawText(-textWidth/2-55,40, "Press 's' to restart");}//Things displayed after you win else if (top){ QPalette palette; palette.setBrush(this->backgroundRole(), QBrush(QImage("top.png"))); this->setPalette(palette); } //Things displayed when you first open the game else if (help){ QPalette palette; palette.setBrush(this->backgroundRole(), QBrush(QImage("help.png"))); this->setPalette(palette); } else { QFont font("Courier", 15, QFont::DemiBold); painter.setPen(QPen(QColor(Qt::white))); QFontMetrics fm(font); int textWidth = fm.width("Score:"); painter.setFont(font); int h = height(); int w = width(); painter.translate(QPoint(textWidth/2, 20)); painter.drawText(-textWidth/2, 0, "Score:"); painter.drawText(textWidth-20, 0, QString::number(score)); painter.translate(QPoint(w/2, 0)); painter.drawText(0, 0, "Lives:"); painter.drawText(80, 0, QString::number(life)); painter.translate(QPoint(-w/2-textWidth/2,-20));//Scores and lives displayed at the top; painter.drawImage(me->getRect(), me->getImage()); for(int k=0;k<numbull+1;k++){ if(bull[k])//if you fire a bullet, make it appear painter.drawImage(b1[k]->getRect(),b1[k]->getImage());} if(level1){//Things displayed in level 1 if(bullm) painter.drawImage(bm->getRect(),bm->getImage()); if(shell) painter.drawImage(sh->getRect(),sh->getImage()); QPalette palette; palette.setBrush(this->backgroundRole(), QBrush(QImage("b1.png")));//set background this->setPalette(palette); painter.drawImage(honey->getRect(),honey->getImage()); for (int i=0; i<numm1;i++) if(!m1[i]->isDestroyed())//if the monster is not killed,destroy it painter.drawImage(m1[i]->getRect(),m1[i]->getImage()); for (int i=0; i<numm2;i++) if(!m2[i]->isDestroyed()) painter.drawImage(m2[i]->getRect(),m2[i]->getImage());} if(level2){//displayed in level 2 QPalette palette; palette.setBrush(this->backgroundRole(), QBrush(QImage("b2.png"))); this->setPalette(palette); for (int i=0; i<numm3;i++) if(!m3[i]->isDestroyed()) painter.drawImage(m3[i]->getRect(),m3[i]->getImage()); for (int i=0; i<numm4;i++) if(!m4[i]->isDestroyed()) painter.drawImage(m4[i]->getRect(),m4[i]->getImage()); painter.drawImage(oct->getRect(),oct->getImage()); painter.drawImage(heart->getRect(),heart->getImage()); } if(level3){ QPalette palette; palette.setBrush(this->backgroundRole(), QBrush(QImage("b3.png"))); this->setPalette(palette); if(!bee->isDestroyed()) painter.drawImage(bee->getRect(),bee->getImage()); for(int k=0;k<5;k++){ if(bbull[k]) painter.drawImage(bb[k]->getRect(),bb[k]->getImage());} painter.drawImage(big->getRect(),big->getImage()); } }//The normal display format of your game }
RegExpWindow::RegExpWindow(QWidget *parent) : QWidget(parent), patternLabel(new QLabel(tr("&Pattern:"))), escapedPatternLabel(new QLabel(tr("&Escaped Pattern:"))), syntaxLabel(new QLabel(tr("&Pattern Syntax:"))), textLabel(new QLabel(tr("&Text:"))), patternComboBox (new QComboBox), escapedPatternLineEdit(new QLineEdit), textComboBox(new QComboBox), caseSensitiveCheckBox(new QCheckBox(tr("Case &Sensitive"))), minimalCheckBox(new QCheckBox(tr("&Minimal"))), syntaxComboBox(new QComboBox), indexLabel(new QLabel(tr("Index of Match:"))), matchedLengthLabel(new QLabel(tr("Matched Length:"))), indexEdit(new QLineEdit), matchedLengthEdit(new QLineEdit) { QVBoxLayout *vboxLayout = new QVBoxLayout(this); QGridLayout *mainLayout = new QGridLayout; patternComboBox->setEditable(true); patternComboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); patternLabel->setBuddy(patternComboBox); mainLayout->addWidget(patternLabel, 0, 0); mainLayout->addWidget(patternComboBox, 0, 1); escapedPatternLineEdit->setReadOnly(true); QPalette palette = escapedPatternLineEdit->palette(); palette.setBrush(QPalette::Base, palette.brush(QPalette::Disabled, QPalette::Base)); escapedPatternLineEdit->setPalette(palette); escapedPatternLabel->setBuddy(escapedPatternLineEdit); mainLayout->addWidget(escapedPatternLabel, 1, 0); mainLayout->addWidget(escapedPatternLineEdit, 1, 1); syntaxComboBox->addItem(tr("Regular expression v1"), QRegExp::RegExp); syntaxComboBox->addItem(tr("Regular expression v2"), QRegExp::RegExp2); syntaxComboBox->addItem(tr("Wildcard"), QRegExp::Wildcard); syntaxComboBox->addItem(tr("Fixed string"), QRegExp::FixedString); syntaxLabel->setBuddy(syntaxComboBox); mainLayout->addWidget(syntaxLabel, 2, 0); mainLayout->addWidget(syntaxComboBox, 2, 1); QHBoxLayout *checkBoxLayout = new QHBoxLayout; caseSensitiveCheckBox->setChecked(true); checkBoxLayout->addWidget(caseSensitiveCheckBox); checkBoxLayout->addWidget(minimalCheckBox); checkBoxLayout->addStretch(1); mainLayout->addLayout(checkBoxLayout, 3, 0, 1, 2); textComboBox->setEditable(true); textComboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); textLabel->setBuddy(textComboBox); mainLayout->addWidget(textLabel, 4, 0); mainLayout->addWidget(textComboBox, 4, 1); indexEdit->setReadOnly(true); mainLayout->addWidget(indexLabel, 5, 0); mainLayout->addWidget(indexEdit, 5, 1); matchedLengthEdit->setReadOnly(true); mainLayout->addWidget(matchedLengthLabel, 6, 0); mainLayout->addWidget(matchedLengthEdit, 6, 1); vboxLayout->addLayout(mainLayout); vboxLayout->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding)); for (int i = 0; i < MaxCaptures; ++i) { captureLabels[i] = new QLabel(tr("Capture %1:").arg(i)); captureEdits[i] = new QLineEdit; captureEdits[i]->setReadOnly(true); } captureLabels[0]->setText(tr("Match:")); for (int j = 0; j < MaxCaptures; ++j) { mainLayout->addWidget(captureLabels[j], 7 + j, 0); mainLayout->addWidget(captureEdits[j], 7 + j, 1); } connect(patternComboBox, SIGNAL(editTextChanged(const QString &)), this, SLOT(refresh())); connect(textComboBox, SIGNAL(editTextChanged(const QString &)), this, SLOT(refresh())); connect(caseSensitiveCheckBox, SIGNAL(toggled(bool)), this, SLOT(refresh())); connect(minimalCheckBox, SIGNAL(toggled(bool)), this, SLOT(refresh())); connect(syntaxComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(refresh())); setWindowTitle(tr("Regular Expression")); refresh(); }
KylinCheckBox::KylinCheckBox(QWidget *parent, const QString &picture) : QWidget(parent) { // qDebug() << "init main....."; // this->setFixedSize(260, 90); //set white background color this->setAutoFillBackground(true); QPalette palette; palette.setBrush(QPalette::Window, QBrush(Qt::white)); this->setPalette(palette); img_btn = new QPushButton(); img_btn->setFocusPolicy(Qt::NoFocus); checkbox = new QCheckBox(this); checkbox->setObjectName("mainCheckBox"); checkbox->setTristate(true); checkbox->setEnabled(true); checkbox->setCheckState(Qt::Checked); name_label = new QLabel(); name_label->setObjectName("middleblackLabel"); name_label->setAlignment(Qt::AlignCenter); description_label = new QLabel(); description_label->setAlignment(Qt::AlignCenter); description_label->setObjectName("smallgrayLabel"); // custom_btn = new QPushButton(); // custom_btn->setFocusPolicy(Qt::NoFocus); // custom_btn->setObjectName("checkButton"); // custom_btn->setCursor(Qt::PointingHandCursor); // img_btn->setScaledContents(true);//自动缩放,显示图像大小自动调整为Qlabel大小 // QPixmap label_pixmap("://res/camera-uk.png"); // img_btn->setPixmap(label_pixmap); // img_btn->setFixedSize(label_pixmap.size()); img_btn->setFocusPolicy(Qt::NoFocus); // QPixmap pixmap("://res/camera-uk.png"); QPixmap pixmap(picture); img_btn->setIcon(pixmap); img_btn->setIconSize(pixmap.size()); // img_btn->setIconSize(QSize(72, 72)); img_btn->setObjectName("transparentButton"); // checkbox->setAutoFillBackground(true); checkbox->show(); // checkbox->move(151-checkbox->width(), 0); checkbox->move(152, 60); QVBoxLayout *main_layout = new QVBoxLayout(); main_layout->addWidget(img_btn); main_layout->addWidget(name_label); main_layout->addWidget(description_label); // main_layout->addWidget(custom_btn); main_layout->setSpacing(5); main_layout->setMargin(0); main_layout->setContentsMargins(0, 0, 0, 0); setLayout(main_layout); this->initConnect(); // suggest_label->setObjectName("whiteLabel"); // result_label->setWordWrap(true);//QLabel自动换行 // result_label->setObjectName("tipLabel"); // scan_button->setFixedSize(204, 65); // scan_button->setFocusPolicy(Qt::NoFocus); // QPixmap pixmap("://res/scan.png"); // scan_button->setIcon(pixmap); // scan_button->setIconSize(pixmap.size()); // scan_button->setObjectName("greenButton"); //// QFont scan_font = scan_button->font(); //// scan_font.setPointSize(16); //// scan_button->setFont(scan_font); // back_button->setFocusPolicy(Qt::NoFocus); // back_button->setFixedSize(50, 30); // back_button->setObjectName("underlineButton"); // //set underline // // QFont font = back_button->font(); // // font.setUnderline(true); // // back_button->setFont(font); // //set scan button text color //// QPalette palette; //// palette.setColor(QPalette::ButtonText, QColor(255,17,135)); //// scan_button->setPalette(palette); }
DashboardWidget::DashboardWidget( QWidget* parent ) : QWidget( parent ) , ui( new Ui::DashboardWidget ) { QWidget* widget = new QWidget; ui->setupUi( widget ); ui->lineAbove->setStyleSheet( QString( "QFrame { border: 1px solid black; }" ) ); ui->lineBelow->setStyleSheet( QString( "QFrame { border: 1px solid %1; }" ).arg( TomahawkStyle::HEADER_BACKGROUND.name() ) ); { /* // TO REMOVE when replaced m_tracksModel = new RecentlyPlayedModel( ui->tracksView, HISTORY_TRACK_ITEMS ); ui->tracksView->proxyModel()->setStyle( PlayableProxyModel::Short ); ui->tracksView->overlay()->setEnabled( false ); ui->tracksView->setPlaylistModel( m_tracksModel ); ui->tracksView->setAutoResize( true ); ui->tracksView->setAlternatingRowColors( false ); m_tracksModel->setSource( source_ptr() ); */ m_sessionsModel = new SessionHistoryModel(ui->sessionsView) ; SessionDelegate *del = new SessionDelegate(); del->setView(ui->sessionsView); ui->sessionsView->setItemDelegate(del); ui->sessionsView->setModel( m_sessionsModel ); m_sessionsModel->setSource( source_ptr() ); QPalette p = ui->sessionsView->palette(); p.setColor( QPalette::Text, TomahawkStyle::PAGE_TRACKLIST_TRACK_SOLVED ); p.setColor( QPalette::BrightText, TomahawkStyle::PAGE_TRACKLIST_TRACK_UNRESOLVED ); p.setColor( QPalette::Foreground, TomahawkStyle::PAGE_TRACKLIST_NUMBER ); p.setColor( QPalette::Highlight, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT ); p.setColor( QPalette::HighlightedText, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT_TEXT ); ui->sessionsView->setPalette( p ); ui->sessionsView->setFrameShape( QFrame::NoFrame ); ui->sessionsView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); ui->sessionsView->setStyleSheet( "QTreeView { background-color: transparent; }" ); TomahawkStyle::stylePageFrame( ui->sessionFrame ); /* ui->tracksView->setPalette( p ); TomahawkStyle::stylePageFrame( ui->tracksView ); ui-> ->setFrameShape( QFrame::NoFrame ); ui->tracksView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); ui->tracksView->setStyleSheet( "QTreeView { background-color: transparent; }" ); TomahawkStyle::stylePageFrame( ui->trackFrame ); */ } { RecentPlaylistsModel* model = new RecentPlaylistsModel( HISTORY_PLAYLIST_ITEMS, this ); ui->playlistWidget->setFrameShape( QFrame::NoFrame ); ui->playlistWidget->setAttribute( Qt::WA_MacShowFocusRect, 0 ); ui->playlistWidget->setItemDelegate( new PlaylistDelegate() ); ui->playlistWidget->setModel( model ); ui->playlistWidget->overlay()->resize( 380, 86 ); ui->playlistWidget->setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); QPalette p = ui->playlistWidget->palette(); p.setColor( QPalette::Text, TomahawkStyle::HEADER_TEXT ); p.setColor( QPalette::BrightText, TomahawkStyle::HEADER_TEXT ); p.setColor( QPalette::Foreground, TomahawkStyle::HEADER_TEXT ); p.setColor( QPalette::Highlight, TomahawkStyle::HEADER_TEXT ); p.setColor( QPalette::HighlightedText, TomahawkStyle::HEADER_BACKGROUND ); ui->playlistWidget->setPalette( p ); ui->playlistWidget->setMinimumHeight( 400 ); TomahawkStyle::styleScrollBar( ui->playlistWidget->verticalScrollBar() ); TomahawkStyle::stylePageFrame( ui->playlistWidget ); TomahawkStyle::stylePageFrame( ui->playlistFrame ); updatePlaylists(); connect( ui->playlistWidget, SIGNAL( activated( QModelIndex ) ), SLOT( onPlaylistActivated( QModelIndex ) ) ); connect( model, SIGNAL( emptinessChanged( bool ) ), this, SLOT( updatePlaylists() ) ); connect( ui->sessionsView, SIGNAL(clicked(const QModelIndex&)), this, SLOT( onSessionDoubleClicked( const QModelIndex& ) ) ); } { m_recentAlbumsModel = new AlbumModel( ui->additionsView ); ui->additionsView->setPlayableModel( m_recentAlbumsModel ); ui->additionsView->proxyModel()->sort( -1 ); TomahawkStyle::styleScrollBar( ui->additionsView->verticalScrollBar() ); TomahawkStyle::stylePageFrame( ui->additionsView ); TomahawkStyle::stylePageFrame( ui->additionsFrame ); } { QFont f = ui->label->font(); f.setFamily( "Pathway Gothic One" ); QPalette p = ui->label->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::PAGE_CAPTION ); ui->label->setFont( f ); ui->label_2->setFont( f ); ui->label->setPalette( p ); ui->label_2->setPalette( p ); } { QFont f = ui->playlistLabel->font(); f.setFamily( "Pathway Gothic One" ); QPalette p = ui->playlistLabel->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::HEADER_TEXT ); ui->playlistLabel->setFont( f ); ui->playlistLabel->setPalette( p ); } { QScrollArea* area = new QScrollArea(); area->setWidgetResizable( true ); area->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); area->setWidget( widget ); QPalette pal = palette(); pal.setBrush( backgroundRole(), TomahawkStyle::HEADER_BACKGROUND ); area->setPalette( pal ); area->setAutoFillBackground( true ); area->setFrameShape( QFrame::NoFrame ); area->setAttribute( Qt::WA_MacShowFocusRect, 0 ); QVBoxLayout* layout = new QVBoxLayout(); layout->addWidget( area ); setLayout( layout ); TomahawkUtils::unmarginLayout( layout ); } { QPalette pal = palette(); pal.setBrush( backgroundRole(), TomahawkStyle::PAGE_BACKGROUND ); ui->widget->setPalette( pal ); ui->widget->setAutoFillBackground( true ); } MetaPlaylistInterface* mpl = new MetaPlaylistInterface(); mpl->addChildInterface( ui->additionsView->playlistInterface() ); m_playlistInterface = playlistinterface_ptr( mpl ); connect( SourceList::instance(), SIGNAL( ready() ), SLOT( onSourcesReady() ) ); connect( SourceList::instance(), SIGNAL( sourceAdded( source_ptr ) ), SLOT( onSourceAdded( Tomahawk::source_ptr ) ) ); }
TextEdit::TextEdit(QWidget *parent): QTextEdit(parent) { this->setFont(QFont("Monaco", 10)); this->setTabStopWidth(fontMetrics().width("\t")/2); connect(this,SIGNAL(cursorPositionChanged()),this,SLOT(slotCursorPositionChanged())); QFile file("/tmp/a.m"); file.open(QIODevice::ReadOnly|QIODevice::Text); QByteArray data = file.readAll(); QTextStream in(&data); QString decodedStr = in.readAll(); setPlainText(decodedStr); file.close(); cx_index = clang_createIndex(0,0); struct CXUnsavedFile unsaved_file; unsaved_file.Filename = "/tmp/a.m"; unsaved_file.Contents = (char*)calloc(sizeof(char), 4096); unsaved_file.Length = this->toPlainText().length(); char **cmd_args = (char**)calloc(sizeof(char*), 6); int i = 0; for(i ; i <6; i++) { cmd_args[i] = (char*)calloc(sizeof(char), 1000 + 1); strcpy(cmd_args[i], "-cc1"); strcpy(cmd_args[i], "-fsyntax-only"); strcpy(cmd_args[i], "-code-completion-macros"); strcpy(cmd_args[i], "-code-completion-patterns"); strcpy(cmd_args[i], "-x objective-c"); strcpy(cmd_args[i], "-I/usr/share/iPhoneOS5.0.sdk/usr/include"); } cx_tu = clang_parseTranslationUnit(cx_index, "/tmp/a.m" , cmd_args, 6, &unsaved_file, 1, CXTranslationUnit_PrecompiledPreamble|CXTranslationUnit_Incomplete); if(!cx_tu) qDebug()<<"cx_tu"; //connect(this,SIGNAL(textChanged()), this,SLOT(slotReparse())); completionList = new QListWidget(this); completionList->setSelectionMode( QAbstractItemView::SingleSelection ); completionList->setVerticalScrollBarPolicy( Qt::ScrollBarAsNeeded ); completionList->hide(); completionList->setSortingEnabled( true ); completionList->setSelectionMode( QAbstractItemView::SingleSelection ); QPalette palette; palette.setBrush(QPalette::Active, QPalette::Base, Qt::white); completionList->setPalette(palette); m_formatFunction.setForeground(Qt::black); m_formatSingleLineComment.setForeground(Qt::red); m_formatKeyword.setForeground(Qt::blue); m_formatUserKeyword.setForeground(Qt::darkBlue); m_formatOperator.setForeground(Qt::black); m_formatNumber.setForeground(Qt::darkMagenta); m_formatEscapeChar.setForeground(Qt::darkBlue); m_formatMacro.setForeground(Qt::darkGreen); m_formatMultiLineComment.setForeground(Qt::red); m_formatString.setForeground(Qt::darkCyan); //connect(m_completionList, SIGNAL(itemActivated(QListWidgetItem *)), this, SLOT(slotWordCompletion(QListWidgetItem *)) ); }
TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* parent ) : QWidget( parent ) , ui( new Ui::TrackInfoWidget ) , m_scrollArea( 0 ) { QWidget* widget = new QWidget; ui->setupUi( widget ); ui->artistLabel->setContentsMargins( 6, 2, 6, 2 ); ui->artistLabel->setElideMode( Qt::ElideMiddle ); ui->artistLabel->setType( QueryLabel::Artist ); connect( ui->artistLabel, SIGNAL( clickedArtist() ), SLOT( onArtistClicked() ) ); ui->statsLabel->setStyleSheet( "QLabel { background-image:url(); border: 2px solid #dddddd; background-color: #faf9f9; border-radius: 4px; padding: 12px; }" ); ui->statsLabel->setVisible( false ); ui->lyricsView->setStyleSheet( "QTextBrowser#lyricsView { background-color: transparent; }" ); ui->lyricsView->setFrameShape( QFrame::NoFrame ); ui->lyricsView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); ui->lyricsView->setVisible( false ); // FIXME eventually ui->similarTracksView->setAutoResize( true ); ui->similarTracksView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); ui->lineAbove->setStyleSheet( QString( "QFrame { border: 1px solid %1; }" ).arg( TomahawkStyle::HEADER_BACKGROUND.name() ) ); ui->lineBelow->setStyleSheet( QString( "QFrame { border: 1px solid black; }" ) ); // TomahawkUtils::styleScrollBar( ui->similarTracksView->verticalScrollBar() ); TomahawkStyle::styleScrollBar( ui->lyricsView->verticalScrollBar() ); // ui->similarTracksView->setStyleSheet( "QListView { background-color: transparent; } QListView::item { background-color: transparent; }" ); { QFont f = ui->trackLabel->font(); f.setFamily( "Titillium Web" ); f.setPointSize( TomahawkUtils::defaultFontSize() + 20 ); f.setBold( true ); QPalette p = ui->trackLabel->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::HEADER_LABEL ); ui->trackLabel->setFont( f ); ui->trackLabel->setPalette( p ); } { QFont f = ui->artistLabel->font(); f.setFamily( "Titillium Web" ); f.setPointSize( TomahawkUtils::defaultFontSize() + 10 ); QPalette p = ui->artistLabel->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::HEADER_TEXT ); ui->artistLabel->setFont( f ); ui->artistLabel->setPalette( p ); } { QFont f = ui->label->font(); f.setBold( false ); f.setFamily( "Fauna One" ); QPalette p = ui->label->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::PAGE_CAPTION ); ui->label->setFont( f ); ui->label->setPalette( p ); } { QFont f = ui->statsLabel->font(); f.setPointSize( TomahawkUtils::defaultFontSize() + 2 ); f.setBold( true ); ui->statsLabel->setFont( f ); } { QPalette p = ui->lyricsView->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::PAGE_FOREGROUND ); p.setColor( QPalette::Text, TomahawkStyle::PAGE_FOREGROUND ); ui->lyricsView->setPalette( p ); } m_relatedTracksModel = new PlayableModel( ui->similarTracksView ); ui->similarTracksView->setPlayableModel( m_relatedTracksModel ); ui->similarTracksView->proxyModel()->sort( -1 ); ui->similarTracksView->setEmptyTip( tr( "Sorry, but we could not find similar tracks for this song!" ) ); m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Original, QSize( 48, 48 ) ); ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Grid, ui->cover->size() ) ); ui->cover->setShowText( false ); m_scrollArea = new QScrollArea(); m_scrollArea->setWidgetResizable( true ); m_scrollArea->setWidget( widget ); m_scrollArea->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); QPalette pal = palette(); pal.setBrush( backgroundRole(), TomahawkStyle::HEADER_BACKGROUND ); m_scrollArea->setPalette( pal ); m_scrollArea->setAutoFillBackground( true ); m_scrollArea->setFrameShape( QFrame::NoFrame ); m_scrollArea->setAttribute( Qt::WA_MacShowFocusRect, 0 ); pal.setBrush( backgroundRole(), TomahawkStyle::PAGE_BACKGROUND ); ui->widget->setPalette( pal ); ui->widget->setAutoFillBackground( true ); QHBoxLayout* l = new QHBoxLayout( ui->statsWidget ); m_playStatsGauge = new StatsGauge( ui->statsWidget ); m_playStatsGauge->setText( tr( "# PLAYS / ARTIST" ) ); m_playStatsTotalGauge = new StatsGauge( ui->statsWidget ); m_playStatsTotalGauge->setText( tr( "YOUR SONG RANK" ) ); m_playStatsTotalGauge->setInvertedAppearance( true ); l->addSpacerItem( new QSpacerItem( 0, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding ) ); l->addWidget( m_playStatsGauge ); l->addSpacerItem( new QSpacerItem( 0, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding ) ); l->addWidget( m_playStatsTotalGauge ); l->addSpacerItem( new QSpacerItem( 0, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding ) ); ui->statsWidget->setLayout( l ); TomahawkUtils::unmarginLayout( l ); QVBoxLayout* layout = new QVBoxLayout(); layout->addWidget( m_scrollArea ); setLayout( layout ); TomahawkUtils::unmarginLayout( layout ); ui->similarTracksView->setStyleSheet( "QListView { background-color: transparent; }" ); TomahawkStyle::stylePageFrame( ui->frame ); load( query ); }
void FormStyle::quickSetColor() { QFont globalFont = SystemFont; if ( ui.ccB->isChecked() && !ResetColor ) { qApp->setPalette( applicationPalette ); QPalette qSliderPalette; qSliderPalette.setBrush( QPalette::Button, sliderButtonColor ); qApp->setPalette( qSliderPalette, "QSlider" ); if ( ui.use2->isChecked() ) { QPalette tmpPalette = qApp->palette(); if ( !mainWindowPixmap.isNull() ) { QBrush brushW( mainWindowPixmap.scaled( f1.size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); tmpPalette.setBrush( QPalette::Window, brushW ); } QColor colorA; colorA = tmpPalette.button().color(); colorA.setAlphaF( ui.bP2_1->value() ); tmpPalette.setBrush( QPalette::Button, colorA ); colorA = tmpPalette.base().color(); colorA.setAlphaF( ui.bP2_1->value() ); tmpPalette.setBrush( QPalette::Base, colorA ); if ( ui.bHt2->isChecked() ) { colorA = tmpPalette.highlight().color(); colorA.setAlphaF( ui.bP2_1->value() ); tmpPalette.setBrush( QPalette::Highlight, colorA ); } if ( ui.bSt2->isChecked() ) { colorA = tmpPalette.shadow().color(); colorA.setAlphaF( ui.bP2_1->value() ); tmpPalette.setBrush( QPalette::Shadow, colorA ); } f1.setPalette( tmpPalette ); } else { f1.setPalette( qApp->palette() ); } globalFont = ui.bF1->currentFont(); globalFont.setPointSize( ui.bFSize1->value() ); } else { qApp->setPalette( systemPalette ); f1.setPalette( qApp->palette() ); sliderButtonColor = qApp->palette().brush( QPalette::Button ).color(); } if ( ResetColor ) { ResetColor = false; applicationPalette = systemPalette; ui.bF1->setCurrentFont( SystemFont.toString() ); ui.bFSize1->setValue( SystemFont.pointSize() ); } QColor col = qApp->palette().window().color(); col.setAlphaF( ui.bP2_1->value() ); fsl.SetColor( col ); f1.ui.pbL->setPalette( qApp->palette() ); f1.ui.pbR->setPalette( qApp->palette() ); globalFont.setBold( false ); globalFont.setItalic( false ); globalFont.setUnderline( false ); if ( globalFont.pointSize() > 14 ) globalFont.setPointSize( 14 ); else if ( globalFont.pointSize() < 6 ) globalFont.setPointSize( 6 ); #ifndef Q_OS_MAC qApp->setFont( globalFont ); #endif }
void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const { if (!panelWidget(widget)) return QProxyStyle::drawControl(element, option, painter, widget); switch (element) { case CE_Splitter: painter->fillRect(option->rect, Utils::StyleHelper::borderColor()); break; case CE_TabBarTabShape: // Most styles draw a single dark outline. This looks rather ugly when combined with our // single pixel dark separator so we adjust the first tab to compensate for this if (const QStyleOptionTabV3 *tab = qstyleoption_cast<const QStyleOptionTabV3 *>(option)) { QStyleOptionTabV3 adjustedTab = *tab; if (!hasProperty(widget, "noTabBarShapeAdjustment") && tab->cornerWidgets == QStyleOptionTab::NoCornerWidgets && ( tab->position == QStyleOptionTab::Beginning || tab->position == QStyleOptionTab::OnlyOneTab)) { if (option->direction == Qt::LeftToRight) adjustedTab.rect = adjustedTab.rect.adjusted(-1, 0, 0, 0); else adjustedTab.rect = adjustedTab.rect.adjusted(0, 0, 1 ,0); } QProxyStyle::drawControl(element, &adjustedTab, painter, widget); return; } break; case CE_MenuBarItem: painter->save(); if (const QStyleOptionMenuItem *mbi = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) { QColor highlightOutline = Utils::StyleHelper::borderColor().lighter(120); bool act = mbi->state & State_Sunken; bool dis = !(mbi->state & State_Enabled); Utils::StyleHelper::menuGradient(painter, option->rect, option->rect); QStyleOptionMenuItem item = *mbi; item.rect = mbi->rect; QPalette pal = mbi->palette; pal.setBrush(QPalette::ButtonText, dis ? Qt::gray : Qt::black); item.palette = pal; QCommonStyle::drawControl(element, &item, painter, widget); QRect r = option->rect; if (act) { // Fill| QColor baseColor = Utils::StyleHelper::baseColor(); QLinearGradient grad(option->rect.topLeft(), option->rect.bottomLeft()); grad.setColorAt(0, baseColor.lighter(120)); grad.setColorAt(1, baseColor.lighter(130)); painter->fillRect(option->rect.adjusted(1, 1, -1, 0), grad); // Outline painter->setPen(QPen(highlightOutline, 0)); painter->drawLine(QPoint(r.left(), r.top() + 1), QPoint(r.left(), r.bottom())); painter->drawLine(QPoint(r.right(), r.top() + 1), QPoint(r.right(), r.bottom())); painter->drawLine(QPoint(r.left() + 1, r.top()), QPoint(r.right() - 1, r.top())); highlightOutline.setAlpha(60); painter->setPen(QPen(highlightOutline, 0)); painter->drawPoint(r.topLeft()); painter->drawPoint(r.topRight()); QPalette pal = mbi->palette; uint alignment = Qt::AlignCenter | Qt::TextShowMnemonic | Qt::TextDontClip | Qt::TextSingleLine; if (!styleHint(SH_UnderlineShortcut, mbi, widget)) alignment |= Qt::TextHideMnemonic; pal.setBrush(QPalette::Text, dis ? Qt::gray : QColor(0, 0, 0, 60)); drawItemText(painter, item.rect.translated(0, 1), alignment, pal, mbi->state & State_Enabled, mbi->text, QPalette::Text); pal.setBrush(QPalette::Text, dis ? Qt::gray : Qt::white); drawItemText(painter, item.rect, alignment, pal, mbi->state & State_Enabled, mbi->text, QPalette::Text); } } painter->restore(); break; case CE_ComboBoxLabel: if (const QStyleOptionComboBox *cb = qstyleoption_cast<const QStyleOptionComboBox *>(option)) { if (panelWidget(widget)) { painter->save(); QRect editRect = subControlRect(CC_ComboBox, cb, SC_ComboBoxEditField, widget); QPalette customPal = cb->palette; bool drawIcon = !(widget && widget->property("hideicon").toBool()); if (!cb->currentIcon.isNull() && drawIcon) { QIcon::Mode mode = cb->state & State_Enabled ? QIcon::Normal : QIcon::Disabled; QPixmap pixmap = cb->currentIcon.pixmap(cb->iconSize, mode); QRect iconRect(editRect); iconRect.setWidth(cb->iconSize.width() + 4); iconRect = alignedRect(cb->direction, Qt::AlignLeft | Qt::AlignVCenter, iconRect.size(), editRect); if (cb->editable) painter->fillRect(iconRect, customPal.brush(QPalette::Base)); drawItemPixmap(painter, iconRect, Qt::AlignCenter, pixmap); if (cb->direction == Qt::RightToLeft) editRect.translate(-4 - cb->iconSize.width(), 0); else editRect.translate(cb->iconSize.width() + 4, 0); // Reserve some space for the down-arrow editRect.adjust(0, 0, -13, 0); } QString text = option->fontMetrics.elidedText(cb->currentText, Qt::ElideRight, editRect.width()); if ((option->state & State_Enabled)) { painter->setPen(QColor(0, 0, 0, 70)); painter->drawText(editRect.adjusted(1, 0, -1, 0), Qt::AlignLeft | Qt::AlignVCenter, text); } else { painter->setOpacity(0.8); } painter->setPen(Utils::StyleHelper::panelTextColor(lightColored(widget))); painter->drawText(editRect.adjusted(1, 0, -1, 0), Qt::AlignLeft | Qt::AlignVCenter, text); painter->restore(); } else { QProxyStyle::drawControl(element, option, painter, widget); } } break; case CE_SizeGrip: { painter->save(); QColor dark = Qt::white; dark.setAlphaF(0.1); int x, y, w, h; option->rect.getRect(&x, &y, &w, &h); int sw = qMin(h, w); if (h > w) painter->translate(0, h - w); else painter->translate(w - h, 0); int sx = x; int sy = y; int s = 4; painter->setPen(dark); if (option->direction == Qt::RightToLeft) { sx = x + sw; for (int i = 0; i < 4; ++i) { painter->drawLine(x, sy, sx, sw); sx -= s; sy += s; } } else { for (int i = 0; i < 4; ++i) { painter->drawLine(sx, sw, sw, sy); sx += s; sy += s; } } painter->restore(); } break; case CE_MenuBarEmptyArea: { Utils::StyleHelper::menuGradient(painter, option->rect, option->rect); painter->save(); painter->setPen(Utils::StyleHelper::borderColor()); painter->drawLine(option->rect.bottomLeft(), option->rect.bottomRight()); painter->restore(); } break; case CE_ToolBar: { QRect rect = option->rect; bool horizontal = option->state & State_Horizontal; rect = option->rect; // Map offset for global window gradient QPoint offset = widget->window()->mapToGlobal(option->rect.topLeft()) - widget->mapToGlobal(option->rect.topLeft()); QRect gradientSpan; if (widget) gradientSpan = QRect(offset, widget->window()->size()); bool drawLightColored = lightColored(widget); if (horizontal) Utils::StyleHelper::horizontalGradient(painter, gradientSpan, rect, drawLightColored); else Utils::StyleHelper::verticalGradient(painter, gradientSpan, rect, drawLightColored); if (!drawLightColored) painter->setPen(Utils::StyleHelper::borderColor()); else painter->setPen(QColor(0x888888)); if (horizontal) { // Note: This is a hack to determine if the // toolbar should draw the top or bottom outline // (needed for the find toolbar for instance) QColor lighter(Utils::StyleHelper::sidebarHighlight()); if (drawLightColored) lighter = QColor(255, 255, 255, 180); if (widget && widget->property("topBorder").toBool()) { painter->drawLine(rect.topLeft(), rect.topRight()); painter->setPen(lighter); painter->drawLine(rect.topLeft() + QPoint(0, 1), rect.topRight() + QPoint(0, 1)); } else { painter->drawLine(rect.bottomLeft(), rect.bottomRight()); painter->setPen(lighter); painter->drawLine(rect.topLeft(), rect.topRight()); } } else { painter->drawLine(rect.topLeft(), rect.bottomLeft()); painter->drawLine(rect.topRight(), rect.bottomRight()); } } break; default: QProxyStyle::drawControl(element, option, painter, widget); break; } }
ChartView::ChartView( QWidget * parent ) : QwtPlot( parent ) { // void setupPalette() { QPalette pal = palette(); QLinearGradient gradient; gradient.setCoordinateMode( QGradient::StretchToDeviceMode ); // gradient.setColorAt( 0.0, QColor( 0xcf, 0xcf, 0xc4 ) ); // pastel gray // gradient.setColorAt( 1.0, QColor( 0xae, 0xc6, 0xcf ) ); // pastel blue gradient.setColorAt( 0.0, QColor( 0xc1, 0xff, 0xc1 ) ); // darkseagreen gradient.setColorAt( 1.0, QColor( 0xb4, 0xee, 0xb4 ) ); // darkseagreen 2 pal.setBrush( QPalette::Window, QBrush( gradient ) ); // QPalette::WindowText is used for the curve color // pal.setColor( QPalette::WindowText, Qt::green ); setPalette( pal ); } this->enableAxis( QwtPlot::yLeft, true ); this->enableAxis( QwtPlot::xBottom, true ); QwtPlotGrid *grid = new QwtPlotGrid(); grid->setPen( Qt::gray, 0.0, Qt::DotLine ); grid->enableX( true ); grid->enableXMin( true ); grid->enableY( true ); grid->enableYMin( false ); grid->attach( this ); this->axisScaleEngine( QwtPlot::yLeft )->setAttribute( QwtScaleEngine::Floating, true ); this->axisScaleEngine( QwtPlot::xBottom )->setAttribute( QwtScaleEngine::Floating, true ); auto zoomer = new adplot::Zoomer( QwtPlot::xBottom, QwtPlot::yLeft, this->canvas() ); // Shift+LeftButton: zoom out to full size // Double click: zoom out by 1 zoomer->setMousePattern( QwtEventPattern::MouseSelect2, Qt::LeftButton, Qt::ShiftModifier ); const QColor c( Qt::darkBlue ); zoomer->setRubberBandPen( c ); zoomer->setTrackerPen( c ); zoomer->autoYScaleHock( [&]( QRectF& rc ){ yScaleHock( rc ); } ); zoomer->autoYScale( true ); if ( auto panner = new QwtPlotPanner( canvas() ) ) { panner->setAxisEnabled( QwtPlot::yRight, false ); panner->setMouseButton( Qt::MidButton ); } if ( auto picker = new QwtPlotPicker( canvas() ) ) { picker->setMousePattern( QwtEventPattern::MouseSelect1, Qt::RightButton ); picker->setStateMachine( new QwtPickerDragRectMachine() ); picker->setRubberBand( QwtPicker::RectRubberBand ); picker->setRubberBandPen( QColor(Qt::red) ); picker->setTrackerPen( QColor( Qt::blue ) ); connect( picker, static_cast< void(QwtPlotPicker::*)(const QRectF&) >(&QwtPlotPicker::selected), this, &ChartView::selected ); picker->setEnabled( true ); } }
KDMConvenienceWidget::KDMConvenienceWidget(QWidget *parent) : QWidget(parent) { QString wtstr; QLabel *paranoia = new QLabel( i18n("<big><b><center>Attention<br/>" "Read help</center></b></big>"), this); QPalette p; p.setBrush(QPalette::WindowText, KColorScheme(QPalette::Active, KColorScheme::Window) .foreground(KColorScheme::NegativeText)); paranoia->setPalette(p); QSizePolicy vpref(QSizePolicy::Minimum, QSizePolicy::Fixed); alGroup = new QGroupBox(i18n("Enable Au&to-Login"), this); alGroup->setCheckable(true); alGroup->setSizePolicy(vpref); QVBoxLayout *laygroup2 = new QVBoxLayout(alGroup); laygroup2->setSpacing(KDialog::spacingHint()); alGroup->setWhatsThis(i18n("Turn on the auto-login feature." " This applies only to KDM's graphical login." " Think twice before enabling this!")); connect(alGroup, SIGNAL(toggled(bool)), SIGNAL(changed())); userlb = new KComboBox(alGroup); QLabel *u_label = new QLabel(i18n("Use&r:"), alGroup); u_label->setBuddy(userlb); QHBoxLayout *hlpl1 = new QHBoxLayout(); laygroup2->addItem(hlpl1); hlpl1->setSpacing(KDialog::spacingHint()); hlpl1->addWidget(u_label); hlpl1->addWidget(userlb); hlpl1->addStretch(1); connect(userlb, SIGNAL(highlighted(int)), SIGNAL(changed())); wtstr = i18n("Select the user to be logged in automatically."); u_label->setWhatsThis(wtstr); userlb->setWhatsThis(wtstr); autoLockCheck = new QCheckBox(i18n("Loc&k session"), alGroup); laygroup2->addWidget(autoLockCheck); connect(autoLockCheck, SIGNAL(toggled(bool)), SIGNAL(changed())); autoLockCheck->setWhatsThis(i18n( "The automatically started session " "will be locked immediately (provided it is a KDE session). This can " "be used to obtain a super-fast login restricted to one user.")); puGroup = new QGroupBox(i18nc("@title:group", "Preselect User"), this); puGroup->setSizePolicy(vpref); npRadio = new QRadioButton(i18nc("@option:radio preselected user", "&None"), puGroup); ppRadio = new QRadioButton(i18nc("@option:radio preselected user", "Prev&ious"), puGroup); ppRadio->setWhatsThis(i18n( "Preselect the user that logged in previously. " "Use this if this computer is usually used several consecutive times by one user.")); spRadio = new QRadioButton(i18nc("@option:radio preselected user", "Specifi&ed:"), puGroup); spRadio->setWhatsThis(i18n( "Preselect the user specified in the combo box to the right. " "Use this if this computer is predominantly used by a certain user.")); QButtonGroup *buttonGroup = new QButtonGroup(puGroup); connect(buttonGroup, SIGNAL(buttonClicked(int)), SLOT(slotPresChanged())); connect(buttonGroup, SIGNAL(buttonClicked(int)), SIGNAL(changed())); buttonGroup->addButton(npRadio); buttonGroup->addButton(ppRadio); buttonGroup->addButton(spRadio); QVBoxLayout *laygroup5 = new QVBoxLayout(puGroup); laygroup5->setSpacing(KDialog::spacingHint()); laygroup5->addWidget(npRadio); laygroup5->addWidget(ppRadio); puserlb = new KComboBox(true, puGroup); connect(puserlb, SIGNAL(editTextChanged(QString)), SIGNAL(changed())); wtstr = i18n( "Select the user to be preselected for login. " "This box is editable, so you can specify an arbitrary non-existent " "user to mislead possible attackers."); puserlb->setWhatsThis(wtstr); QBoxLayout *hlpl = new QHBoxLayout(); laygroup5->addItem(hlpl); hlpl->setSpacing(KDialog::spacingHint()); hlpl->setMargin(0); hlpl->addWidget(spRadio); hlpl->addWidget(puserlb); hlpl->addStretch(1); // This is needed before the abuse below to ensure the combo is enabled in time connect(spRadio, SIGNAL(clicked(bool)), SLOT(slotPresChanged())); // Abuse the radio button text as a label for the combo connect(spRadio, SIGNAL(clicked(bool)), puserlb, SLOT(setFocus())); cbjumppw = new QCheckBox(i18nc("@option:check action", "Focus pass&word"), puGroup); laygroup5->addWidget(cbjumppw); cbjumppw->setWhatsThis(i18n( "When this option is on, KDM will place the cursor " "in the password field instead of the user field after preselecting a user. " "Use this to save one key press per login, if the preselection usually " "does not need to be changed.")); connect(cbjumppw, SIGNAL(toggled(bool)), SIGNAL(changed())); npGroup = new QGroupBox(i18n("Enable Password-&Less Logins"), this); QVBoxLayout *laygroup3 = new QVBoxLayout(npGroup); laygroup3->setSpacing(KDialog::spacingHint()); npGroup->setCheckable(true); npGroup->setWhatsThis(i18n( "When this option is checked, the checked users from " "the list below will be allowed to log in without entering their " "password. This applies only to KDM's graphical login. " "Think twice before enabling this!")); connect(npGroup, SIGNAL(toggled(bool)), SIGNAL(changed())); QLabel *pl_label = new QLabel(i18n("No password re&quired for:"), npGroup); laygroup3->addWidget(pl_label); npuserlv = new QListWidget(npGroup); laygroup3->addWidget(npuserlv); pl_label->setBuddy(npuserlv); npuserlv->setWhatsThis(i18n( "Check all users you want to allow a password-less login for. " "Entries denoted with '@' are user groups. Checking a group is like " "checking all users in that group.")); btGroup = new QGroupBox(i18nc("@title:group", "Miscellaneous"), this); QVBoxLayout *laygroup4 = new QVBoxLayout(btGroup); laygroup4->setSpacing(KDialog::spacingHint()); cbarlen = new QCheckBox(i18n("Automatically log in again after &X server crash"), btGroup); cbarlen->setWhatsThis(i18n( "When this option is on, a user will be " "logged in again automatically when their session is interrupted by an " "X server crash; note that this can open a security hole: if you use " "a screen locker than KDE's integrated one, this will make " "circumventing a password-secured screen lock possible.")); //TODO a screen locker _other_ than laygroup4->addWidget(cbarlen); connect(cbarlen, SIGNAL(toggled(bool)), SIGNAL(changed())); QGridLayout *main = new QGridLayout(this); main->setSpacing(10); main->addWidget(paranoia, 0, 0); main->addWidget(alGroup, 1, 0); main->addWidget(puGroup, 2, 0); main->addWidget(npGroup, 0, 1, 4, 1); main->addWidget(btGroup, 4, 0, 1, 2); main->setColumnStretch(0, 1); main->setColumnStretch(1, 2); main->setRowStretch(3, 1); connect(userlb, SIGNAL(activated(QString)), SLOT(slotSetAutoUser(QString))); connect(puserlb, SIGNAL(editTextChanged(QString)), SLOT(slotSetPreselUser(QString))); connect(npuserlv, SIGNAL(itemClicked(QListWidgetItem*)), SLOT(slotUpdateNoPassUser(QListWidgetItem*))); }
void StatsPage::drawBack() { QPixmap img(":/graphics/graphics/angrywords_background.png"); QPalette p = ui->statsList->palette(); p.setBrush(QPalette::Base, QBrush(img)); }
// public: Phantom::Phantom(QObject *parent) : QObject(parent) , m_proxyPort(1080) , m_returnValue(0) , m_converter(0) , m_netAccessMan(0) { QPalette palette = m_page.palette(); palette.setBrush(QPalette::Base, Qt::transparent); m_page.setPalette(palette); bool autoLoadImages = true; bool pluginsEnabled = false; bool diskCacheEnabled = false; bool ignoreSslErrors = false; // second argument: script name QStringList args = QApplication::arguments(); // Skip the first argument, i.e. the application executable (phantomjs). args.removeFirst(); // Handle all command-line options. QStringListIterator argIterator(args); while (argIterator.hasNext()) { const QString &arg = argIterator.next(); if (arg.startsWith("--upload-file") && argIterator.hasNext()) { const QString &fileInfoString = argIterator.next(); QStringList fileInfo = fileInfoString.split("="); const QString &tag = fileInfo.at(0); const QString &fileName = fileInfo.at(1); m_page.m_allowedFiles[tag] = fileName; continue; } if (arg == "--load-images=yes") { autoLoadImages = true; continue; } if (arg == "--load-images=no") { autoLoadImages = false; continue; } if (arg == "--load-plugins=yes") { pluginsEnabled = true; continue; } if (arg == "--load-plugins=no") { pluginsEnabled = false; continue; } if (arg == "--disk-cache=yes") { diskCacheEnabled = true; continue; } if (arg == "--disk-cache=no") { diskCacheEnabled = false; continue; } if (arg == "--ignore-ssl-errors=yes") { ignoreSslErrors = true; continue; } if (arg == "--ignore-ssl-errors=no") { ignoreSslErrors = false; continue; } if (arg.startsWith("--proxy=")) { m_proxyHost = arg.mid(8).trimmed(); if (m_proxyHost.lastIndexOf(':') > 0) { bool ok = true; int port = m_proxyHost.mid(m_proxyHost.lastIndexOf(':') + 1).toInt(&ok); if (ok) { m_proxyHost = m_proxyHost.left(m_proxyHost.lastIndexOf(':')).trimmed(); m_proxyPort = port; } } continue; } if (arg.startsWith("--")) { qFatal("Unknown option '%s'", qPrintable(arg)); exit(-1); return; } else { m_scriptFile = arg; break; } } if (m_scriptFile.isEmpty()) { Utils::showUsage(); return; } if (m_proxyHost.isEmpty()) { #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) QNetworkProxyFactory::setUseSystemConfiguration(true); #endif } else { QNetworkProxy proxy(QNetworkProxy::HttpProxy, m_proxyHost, m_proxyPort); QNetworkProxy::setApplicationProxy(proxy); } // The remaining arguments are available for the script. while (argIterator.hasNext()) { const QString &arg = argIterator.next(); m_args += arg; } // Provide WebPage with a non-standard Network Access Manager m_netAccessMan = new NetworkAccessManager(this, diskCacheEnabled, ignoreSslErrors); m_page.setNetworkAccessManager(m_netAccessMan); connect(m_page.mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), SLOT(inject())); connect(&m_page, SIGNAL(loadFinished(bool)), this, SLOT(finish(bool))); m_page.settings()->setAttribute(QWebSettings::AutoLoadImages, autoLoadImages); m_page.settings()->setAttribute(QWebSettings::PluginsEnabled, pluginsEnabled); m_page.settings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); m_page.settings()->setOfflineStoragePath(QDesktopServices::storageLocation(QDesktopServices::DataLocation)); m_page.settings()->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true); #if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0) m_page.settings()->setAttribute(QWebSettings::FrameFlatteningEnabled, true); #endif #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) m_page.settings()->setAttribute(QWebSettings::LocalStorageEnabled, true); m_page.settings()->setLocalStoragePath(QDesktopServices::storageLocation(QDesktopServices::DataLocation)); #endif // Ensure we have document.body. m_page.mainFrame()->setHtml("<html><body></body></html>"); m_page.mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); m_page.mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); }
MLWebKit::MLWebKit(int overscanw, int overscanh, qreal zoom, int rotationMode) { #ifdef _INSPECTOR_ pWebKit = this; #endif // Create elements pScene = new QGraphicsScene(); if ( pScene == NULL ) return; pView = new QGraphicsView(pScene); pWebview = new GraphicsWebView(); pPage = new WebPage(); pFrame = pPage->mainFrame(); QApplication* pApp = (QApplication *)QApplication::instance(); QDesktopWidget* pDesktop = QApplication::desktop(); if ( pScene == NULL || pView == NULL || pWebview == NULL || pPage == NULL || pFrame == NULL || pApp == NULL || pDesktop == NULL ) { qDebug () << "unable to construct browser (elements)"; return; } // Rotate View according to rotationMode pView->rotate(90*rotationMode); #ifdef QT_OPENGL_LIB pWidget = NULL; // pWidget = new QGLWidget(); // pWidget = new QGLWidget(pView); #endif #ifdef _INSPECTOR_ pInspector = new QWebInspector; pInspector->setPage(pPage); pInspector->resize(QApplication::desktop()->screenGeometry().size()); #endif // Configuration, settings and alike // pScene->setItemIndexMethod( QGraphicsScene::NoIndex); // pView->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); pView->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); // pView->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate); // pView->setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate); // Disable some 'browser features / elements' pView->setFrameShape(QFrame::NoFrame); pView->setHorizontalScrollBarPolicy ( Qt::ScrollBarAlwaysOff ); pView->setVerticalScrollBarPolicy ( Qt::ScrollBarAlwaysOff ); // pView->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); pView->setWindowFlags(Qt::FramelessWindowHint); pView->showFullScreen(); // Overrule the 'foreground' and 'background' defaults with transparent colors QPalette palette; palette.setBrush(QPalette::Active, QPalette::Window, Qt::SolidPattern); palette.setBrush(QPalette::Active, QPalette::Base, Qt::SolidPattern); palette.setBrush(QPalette::Inactive, QPalette::Window, Qt::SolidPattern); palette.setBrush(QPalette::Inactive, QPalette::Base, Qt::SolidPattern); palette.setColor(QPalette::Active, QPalette::Window, QColor(0, 0, 0x80, 255)); // Nice light grey default backgroundcolor. Change to bright red if you want to see overscan borders. palette.setColor(QPalette::Active, QPalette::Base, QColor(0xC0, 0xc0, 0xc0, 255)); palette.setColor(QPalette::Inactive, QPalette::Window, QColor(0, 0, 0, 255)); palette.setColor(QPalette::Inactive, QPalette::Base, QColor(0, 0, 0, 255)); pApp->setPalette(palette); //TODO: implement check QSizeF screenSize = pDesktop->screenGeometry().size(); qDebug () << "screen geometry : " << screenSize; QSizeF displaySize; switch (rotationMode) { break; case 1: case 3: displaySize = QSizeF( screenSize.height() - overscanw, screenSize.width() - overscanh ); break; case 0: case 2: default: displaySize = QSizeF( screenSize.width() - overscanw, screenSize.height() - overscanh ); } qDebug () << "display geometry : " << displaySize; pWebview->resize(displaySize); pWebview->setPage(pPage); // Set the keyboard and mouse focus pWebview->setFocus(); // Some extra settings QWebSettings* pSettings = pWebview->settings(); #ifdef _INSPECTOR_ pSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); #endif pSettings->setAttribute(QWebSettings::AcceleratedCompositingEnabled, true); pSettings->setAttribute(QWebSettings::WebGLEnabled, false); pSettings->setAttribute(QWebSettings::PluginsEnabled, false); pSettings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); pSettings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true); pSettings->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, true); // pSettings->setAttribute(QWebSettings::FrameFlatteningEnabled, true); pSettings->setAttribute(QWebSettings::LocalStorageEnabled, true); // pSettings->setAttribute(QWebSettings::WebSecurityEnabled, false); pSettings->setAttribute(QWebSettings::SpatialNavigationEnabled, false); // Overrule the cache settings /* pSettings->setMaximumPagesInCache(0); pSettings->setObjectCacheCapacities(0, 0, 0); pSettings->QWebSettings::clearMemoryCaches(); */ // Finalize #ifdef QT_OPENGL_LIB // pView->setViewport(pWidget); pView->setViewport(new QGLWidget(QGL::DirectRendering | QGL::DoubleBuffer)); #endif pScene->addItem(pWebview); #ifdef _INSPECTOR_ pProxyWidget = pScene->addWidget(pInspector); #endif // Set visibility #ifdef _INSPECTOR_ // pInspector->hide(); pProxyWidget->hide(); #endif // Set zoomfactor. (help readability) pWebview->setZoomFactor(zoom); //pWebview->setTextSizeMultiplier(zoom); pWebview->show(); }
QWidget *HardwareItem::createEditor(QWidget *pParent, const QStyleOptionViewItem & /* styleOption */, const QModelIndex &idx) const { QWidget *editor = NULL; if (idx.column() == ConfigValueSection) { switch (m_type) { case KVirtualSystemDescriptionType_OS: { VBoxOSTypeSelectorButton *e = new VBoxOSTypeSelectorButton(pParent); /* Fill the background with the highlight color in the case * the button hasn't a rectangle shape. This prevents the * display of parts from the current text on the Mac. */ #ifdef QT_MAC_USE_COCOA /* Use the palette from the tree view, not the one from the * editor. */ QPalette p = e->palette(); p.setBrush(QPalette::Highlight, pParent->palette().brush(QPalette::Highlight)); e->setPalette(p); #endif /* QT_MAC_USE_COCOA */ e->setAutoFillBackground(true); e->setBackgroundRole(QPalette::Highlight); editor = e; break; } case KVirtualSystemDescriptionType_Name: case KVirtualSystemDescriptionType_Product: case KVirtualSystemDescriptionType_ProductUrl: case KVirtualSystemDescriptionType_Vendor: case KVirtualSystemDescriptionType_VendorUrl: case KVirtualSystemDescriptionType_Version: { QLineEdit *e = new QLineEdit(pParent); editor = e; break; } case KVirtualSystemDescriptionType_Description: case KVirtualSystemDescriptionType_License: { UILineTextEdit *e = new UILineTextEdit(pParent); editor = e; break; } case KVirtualSystemDescriptionType_CPU: { QSpinBox *e = new QSpinBox(pParent); e->setRange(UIApplianceEditorWidget::minGuestCPUCount(), UIApplianceEditorWidget::maxGuestCPUCount()); editor = e; break; } case KVirtualSystemDescriptionType_Memory: { QSpinBox *e = new QSpinBox(pParent); e->setRange(UIApplianceEditorWidget::minGuestRAM(), UIApplianceEditorWidget::maxGuestRAM()); e->setSuffix(" " + VBoxGlobal::tr("MB", "size suffix MBytes=1024 KBytes")); editor = e; break; } case KVirtualSystemDescriptionType_SoundCard: { QComboBox *e = new QComboBox(pParent); e->addItem(gpConverter->toString(KAudioControllerType_AC97), KAudioControllerType_AC97); e->addItem(gpConverter->toString(KAudioControllerType_SB16), KAudioControllerType_SB16); e->addItem(gpConverter->toString(KAudioControllerType_HDA), KAudioControllerType_HDA); editor = e; break; } case KVirtualSystemDescriptionType_NetworkAdapter: { QComboBox *e = new QComboBox(pParent); e->addItem(gpConverter->toString(KNetworkAdapterType_Am79C970A), KNetworkAdapterType_Am79C970A); e->addItem(gpConverter->toString(KNetworkAdapterType_Am79C973), KNetworkAdapterType_Am79C973); #ifdef VBOX_WITH_E1000 e->addItem(gpConverter->toString(KNetworkAdapterType_I82540EM), KNetworkAdapterType_I82540EM); e->addItem(gpConverter->toString(KNetworkAdapterType_I82543GC), KNetworkAdapterType_I82543GC); e->addItem(gpConverter->toString(KNetworkAdapterType_I82545EM), KNetworkAdapterType_I82545EM); #endif /* VBOX_WITH_E1000 */ #ifdef VBOX_WITH_VIRTIO e->addItem(gpConverter->toString(KNetworkAdapterType_Virtio), KNetworkAdapterType_Virtio); #endif /* VBOX_WITH_VIRTIO */ editor = e; break; } case KVirtualSystemDescriptionType_HardDiskControllerIDE: { QComboBox *e = new QComboBox(pParent); e->addItem(gpConverter->toString(KStorageControllerType_PIIX3), "PIIX3"); e->addItem(gpConverter->toString(KStorageControllerType_PIIX4), "PIIX4"); e->addItem(gpConverter->toString(KStorageControllerType_ICH6), "ICH6"); editor = e; break; } case KVirtualSystemDescriptionType_HardDiskImage: { /* disabled for now VBoxFilePathSelectorWidget *e = new VBoxFilePathSelectorWidget(pParent); e->setMode(VBoxFilePathSelectorWidget::Mode_File); e->setResetEnabled(false); */ QLineEdit *e = new QLineEdit(pParent); editor = e; break; } default: break; } } return editor; }
/*! \brief Change the brush of the liquid. Changes the QPalette::ButtonText brush of the palette. \param brush New brush. \sa fillBrush(), QWidget::setPalette() */ void QwtThermo::setFillBrush( const QBrush& brush ) { QPalette pal = palette(); pal.setBrush( QPalette::ButtonText, brush ); setPalette( pal ); }
RegExpDialog::RegExpDialog(QWidget *parent) : QDialog(parent) { patternComboBox = new QComboBox; patternComboBox->setEditable(true); patternComboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); patternLabel = new QLabel(tr("&Pattern:")); patternLabel->setBuddy(patternComboBox); escapedPatternLineEdit = new QLineEdit; escapedPatternLineEdit->setReadOnly(true); QPalette palette = escapedPatternLineEdit->palette(); palette.setBrush(QPalette::Base, palette.brush(QPalette::Disabled, QPalette::Base)); escapedPatternLineEdit->setPalette(palette); escapedPatternLabel = new QLabel(tr("&Escaped Pattern:")); escapedPatternLabel->setBuddy(escapedPatternLineEdit); syntaxComboBox = new QComboBox; syntaxComboBox->addItem(tr("Regular expression v1"), QRegExp::RegExp); syntaxComboBox->addItem(tr("Regular expression v2"), QRegExp::RegExp2); syntaxComboBox->addItem(tr("Wildcard"), QRegExp::Wildcard); syntaxComboBox->addItem(tr("Fixed string"), QRegExp::FixedString); syntaxComboBox->addItem(tr("W3C Xml Schema 1.1"), QRegExp::W3CXmlSchema11); syntaxLabel = new QLabel(tr("&Pattern Syntax:")); syntaxLabel->setBuddy(syntaxComboBox); textComboBox = new QComboBox; textComboBox->setEditable(true); textComboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); textLabel = new QLabel(tr("&Text:")); textLabel->setBuddy(textComboBox); caseSensitiveCheckBox = new QCheckBox(tr("Case &Sensitive")); caseSensitiveCheckBox->setChecked(true); minimalCheckBox = new QCheckBox(tr("&Minimal")); indexLabel = new QLabel(tr("Index of Match:")); indexEdit = new QLineEdit; indexEdit->setReadOnly(true); matchedLengthLabel = new QLabel(tr("Matched Length:")); matchedLengthEdit = new QLineEdit; matchedLengthEdit->setReadOnly(true); for (int i = 0; i < MaxCaptures; ++i) { captureLabels[i] = new QLabel(tr("Capture %1:").arg(i)); captureEdits[i] = new QLineEdit; captureEdits[i]->setReadOnly(true); } captureLabels[0]->setText(tr("Match:")); QHBoxLayout *checkBoxLayout = new QHBoxLayout; checkBoxLayout->addWidget(caseSensitiveCheckBox); checkBoxLayout->addWidget(minimalCheckBox); checkBoxLayout->addStretch(1); QGridLayout *mainLayout = new QGridLayout; mainLayout->addWidget(patternLabel, 0, 0); mainLayout->addWidget(patternComboBox, 0, 1); mainLayout->addWidget(escapedPatternLabel, 1, 0); mainLayout->addWidget(escapedPatternLineEdit, 1, 1); mainLayout->addWidget(syntaxLabel, 2, 0); mainLayout->addWidget(syntaxComboBox, 2, 1); mainLayout->addLayout(checkBoxLayout, 3, 0, 1, 2); mainLayout->addWidget(textLabel, 4, 0); mainLayout->addWidget(textComboBox, 4, 1); mainLayout->addWidget(indexLabel, 5, 0); mainLayout->addWidget(indexEdit, 5, 1); mainLayout->addWidget(matchedLengthLabel, 6, 0); mainLayout->addWidget(matchedLengthEdit, 6, 1); for (int j = 0; j < MaxCaptures; ++j) { mainLayout->addWidget(captureLabels[j], 7 + j, 0); mainLayout->addWidget(captureEdits[j], 7 + j, 1); } setLayout(mainLayout); connect(patternComboBox, SIGNAL(editTextChanged(QString)), this, SLOT(refresh())); connect(textComboBox, SIGNAL(editTextChanged(QString)), this, SLOT(refresh())); connect(caseSensitiveCheckBox, SIGNAL(toggled(bool)), this, SLOT(refresh())); connect(minimalCheckBox, SIGNAL(toggled(bool)), this, SLOT(refresh())); connect(syntaxComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(refresh())); patternComboBox->addItem(tr("[A-Za-z_]+([A-Za-z_0-9]*)")); textComboBox->addItem(tr("(10 + delta4) * 32")); setWindowTitle(tr("RegExp")); setFixedHeight(sizeHint().height()); refresh(); }
/*! \brief Specify the liquid brush above the alarm threshold Changes the QPalette::Highlight brush of the palette. \param brush New brush. \sa alarmBrush(), QWidget::setPalette() \warning The alarm threshold has no effect, when a color map has been assigned */ void QwtThermo::setAlarmBrush( const QBrush& brush ) { QPalette pal = palette(); pal.setBrush( QPalette::Highlight, brush ); setPalette( pal ); }
LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent ) : ControllerDialog( _model, _parent ) { QString title = tr( "LFO" ); title.append( " (" ); title.append( _model->name() ); title.append( ")" ); setWindowTitle( title ); setWindowIcon( embed::getIconPixmap( "controller" ) ); setFixedSize( 240, 80 ); ToolTip::add( this, tr( "LFO Controller" ) ); m_baseKnob = new Knob( knobBright_26, this ); m_baseKnob->setLabel( tr( "BASE" ) ); m_baseKnob->move( CD_LFO_BASE_CD_KNOB_X, CD_LFO_CD_KNOB_Y ); m_baseKnob->setHintText( tr( "Base amount:" ), "" ); m_baseKnob->setWhatsThis( tr("todo") ); m_speedKnob = new TempoSyncKnob( knobBright_26, this ); m_speedKnob->setLabel( tr( "SPD" ) ); m_speedKnob->move( CD_LFO_SPEED_CD_KNOB_X, CD_LFO_CD_KNOB_Y ); m_speedKnob->setHintText( tr( "LFO-speed:" ), "" ); m_speedKnob->setWhatsThis( tr( "Use this knob for setting speed of the LFO. The " "bigger this value the faster the LFO oscillates and " "the faster the effect." ) ); m_amountKnob = new Knob( knobBright_26, this ); m_amountKnob->setLabel( tr( "AMT" ) ); m_amountKnob->move( CD_LFO_AMOUNT_CD_KNOB_X, CD_LFO_CD_KNOB_Y ); m_amountKnob->setHintText( tr( "Modulation amount:" ), "" ); m_amountKnob->setWhatsThis( tr( "Use this knob for setting modulation amount of the " "LFO. The bigger this value, the more the connected " "control (e.g. volume or cutoff-frequency) will " "be influenced by the LFO." ) ); m_phaseKnob = new Knob( knobBright_26, this ); m_phaseKnob->setLabel( tr( "PHS" ) ); m_phaseKnob->move( CD_LFO_PHASE_CD_KNOB_X, CD_LFO_CD_KNOB_Y ); m_phaseKnob->setHintText( tr( "Phase offset:" ) , "" + tr( "degrees" ) ); m_phaseKnob->setWhatsThis( tr( "With this knob you can set the phase offset of " "the LFO. That means you can move the " "point within an oscillation where the " "oscillator begins to oscillate. For example " "if you have a sine-wave and have a phase-" "offset of 180 degrees the wave will first go " "down. It's the same with a square-wave." ) ); PixmapButton * sin_wave_btn = new PixmapButton( this, NULL ); sin_wave_btn->move( CD_LFO_SHAPES_X, CD_LFO_SHAPES_Y ); sin_wave_btn->setActiveGraphic( embed::getIconPixmap( "sin_wave_active" ) ); sin_wave_btn->setInactiveGraphic( embed::getIconPixmap( "sin_wave_inactive" ) ); ToolTip::add( sin_wave_btn, tr( "Click here for a sine-wave." ) ); PixmapButton * triangle_wave_btn = new PixmapButton( this, NULL ); triangle_wave_btn->move( CD_LFO_SHAPES_X + 15, CD_LFO_SHAPES_Y ); triangle_wave_btn->setActiveGraphic( embed::getIconPixmap( "triangle_wave_active" ) ); triangle_wave_btn->setInactiveGraphic( embed::getIconPixmap( "triangle_wave_inactive" ) ); ToolTip::add( triangle_wave_btn, tr( "Click here for a triangle-wave." ) ); PixmapButton * saw_wave_btn = new PixmapButton( this, NULL ); saw_wave_btn->move( CD_LFO_SHAPES_X + 30, CD_LFO_SHAPES_Y ); saw_wave_btn->setActiveGraphic( embed::getIconPixmap( "saw_wave_active" ) ); saw_wave_btn->setInactiveGraphic( embed::getIconPixmap( "saw_wave_inactive" ) ); ToolTip::add( saw_wave_btn, tr( "Click here for a saw-wave." ) ); PixmapButton * sqr_wave_btn = new PixmapButton( this, NULL ); sqr_wave_btn->move( CD_LFO_SHAPES_X + 45, CD_LFO_SHAPES_Y ); sqr_wave_btn->setActiveGraphic( embed::getIconPixmap( "square_wave_active" ) ); sqr_wave_btn->setInactiveGraphic( embed::getIconPixmap( "square_wave_inactive" ) ); ToolTip::add( sqr_wave_btn, tr( "Click here for a square-wave." ) ); PixmapButton * moog_saw_wave_btn = new PixmapButton( this, NULL ); moog_saw_wave_btn->move( CD_LFO_SHAPES_X, CD_LFO_SHAPES_Y + 15 ); moog_saw_wave_btn->setActiveGraphic( embed::getIconPixmap( "moog_saw_wave_active" ) ); moog_saw_wave_btn->setInactiveGraphic( embed::getIconPixmap( "moog_saw_wave_inactive" ) ); ToolTip::add( moog_saw_wave_btn, tr( "Click here for a moog saw-wave." ) ); PixmapButton * exp_wave_btn = new PixmapButton( this, NULL ); exp_wave_btn->move( CD_LFO_SHAPES_X + 15, CD_LFO_SHAPES_Y + 15 ); exp_wave_btn->setActiveGraphic( embed::getIconPixmap( "exp_wave_active" ) ); exp_wave_btn->setInactiveGraphic( embed::getIconPixmap( "exp_wave_inactive" ) ); ToolTip::add( exp_wave_btn, tr( "Click here for an exponential wave." ) ); PixmapButton * white_noise_btn = new PixmapButton( this, NULL ); white_noise_btn->move( CD_LFO_SHAPES_X + 30, CD_LFO_SHAPES_Y + 15 ); white_noise_btn->setActiveGraphic( embed::getIconPixmap( "white_noise_wave_active" ) ); white_noise_btn->setInactiveGraphic( embed::getIconPixmap( "white_noise_wave_inactive" ) ); ToolTip::add( white_noise_btn, tr( "Click here for white-noise." ) ); m_userWaveBtn = new PixmapButton( this, NULL ); m_userWaveBtn->move( CD_LFO_SHAPES_X + 45, CD_LFO_SHAPES_Y + 15 ); m_userWaveBtn->setActiveGraphic( embed::getIconPixmap( "usr_wave_active" ) ); m_userWaveBtn->setInactiveGraphic( embed::getIconPixmap( "usr_wave_inactive" ) ); connect( m_userWaveBtn, SIGNAL( doubleClicked() ), this, SLOT( askUserDefWave() ) ); ToolTip::add( m_userWaveBtn, tr( "Click here for a user-defined shape.\nDouble click to pick a file." ) ); m_waveBtnGrp = new automatableButtonGroup( this ); m_waveBtnGrp->addButton( sin_wave_btn ); m_waveBtnGrp->addButton( triangle_wave_btn ); m_waveBtnGrp->addButton( saw_wave_btn ); m_waveBtnGrp->addButton( sqr_wave_btn ); m_waveBtnGrp->addButton( moog_saw_wave_btn ); m_waveBtnGrp->addButton( exp_wave_btn ); m_waveBtnGrp->addButton( white_noise_btn ); m_waveBtnGrp->addButton( m_userWaveBtn ); PixmapButton * x1 = new PixmapButton( this, NULL ); x1->move( CD_LFO_MULTIPLIER_X, CD_LFO_SHAPES_Y ); x1->setActiveGraphic( embed::getIconPixmap( "lfo_x1_active" ) ); x1->setInactiveGraphic( embed::getIconPixmap( "lfo_x1_inactive" ) ); PixmapButton * x100 = new PixmapButton( this, NULL ); x100->move( CD_LFO_MULTIPLIER_X, CD_LFO_SHAPES_Y - 15 ); x100->setActiveGraphic( embed::getIconPixmap( "lfo_x100_active" ) ); x100->setInactiveGraphic( embed::getIconPixmap( "lfo_x100_inactive" ) ); PixmapButton * d100 = new PixmapButton( this, NULL ); d100->move( CD_LFO_MULTIPLIER_X, CD_LFO_SHAPES_Y + 15 ); d100->setActiveGraphic( embed::getIconPixmap( "lfo_d100_active" ) ); d100->setInactiveGraphic( embed::getIconPixmap( "lfo_d100_inactive" ) ); m_multiplierBtnGrp = new automatableButtonGroup( this ); m_multiplierBtnGrp->addButton( x1 ); m_multiplierBtnGrp->addButton( x100 ); m_multiplierBtnGrp->addButton( d100 ); setModel( _model ); setAutoFillBackground( true ); QPalette pal; pal.setBrush( backgroundRole(), embed::getIconPixmap( "lfo_controller_artwork" ) ); setPalette( pal ); }
void QgsComposerLabel::paint( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget ) { Q_UNUSED( itemStyle ); Q_UNUSED( pWidget ); if ( !painter ) { return; } if ( !shouldDrawItem() ) { return; } drawBackground( painter ); painter->save(); //antialiasing on painter->setRenderHint( QPainter::Antialiasing, true ); double penWidth = hasFrame() ? ( pen().widthF() / 2.0 ) : 0; double xPenAdjust = mMarginX < 0 ? -penWidth : penWidth; double yPenAdjust = mMarginY < 0 ? -penWidth : penWidth; QRectF painterRect( xPenAdjust + mMarginX, yPenAdjust + mMarginY, rect().width() - 2 * xPenAdjust - 2 * mMarginX, rect().height() - 2 * yPenAdjust - 2 * mMarginY ); QString textToDraw = displayText(); if ( mHtmlState ) { painter->scale( 1.0 / mHtmlUnitsToMM / 10.0, 1.0 / mHtmlUnitsToMM / 10.0 ); QWebPage *webPage = new QWebPage(); webPage->setNetworkAccessManager( QgsNetworkAccessManager::instance() ); //Setup event loop and timeout for rendering html QEventLoop loop; QTimer timeoutTimer; timeoutTimer.setSingleShot( true ); //This makes the background transparent. Found on http://blog.qt.digia.com/blog/2009/06/30/transparent-qwebview-or-qwebpage/ QPalette palette = webPage->palette(); palette.setBrush( QPalette::Base, Qt::transparent ); webPage->setPalette( palette ); //webPage->setAttribute(Qt::WA_OpaquePaintEvent, false); //this does not compile, why ? webPage->setViewportSize( QSize( painterRect.width() * mHtmlUnitsToMM * 10.0, painterRect.height() * mHtmlUnitsToMM * 10.0 ) ); webPage->mainFrame()->setZoomFactor( 10.0 ); webPage->mainFrame()->setScrollBarPolicy( Qt::Horizontal, Qt::ScrollBarAlwaysOff ); webPage->mainFrame()->setScrollBarPolicy( Qt::Vertical, Qt::ScrollBarAlwaysOff ); // QGIS segfaults when rendering web page while in composer if html // contains images. So if we are not printing the composition, then // disable image loading if ( mComposition->plotStyle() != QgsComposition::Print && mComposition->plotStyle() != QgsComposition::Postscript ) { webPage->settings()->setAttribute( QWebSettings::AutoLoadImages, false ); } //Connect timeout and webpage loadFinished signals to loop connect( &timeoutTimer, SIGNAL( timeout() ), &loop, SLOT( quit() ) ); connect( webPage, SIGNAL( loadFinished( bool ) ), &loop, SLOT( quit() ) ); //mHtmlLoaded tracks whether the QWebPage has completed loading //its html contents, set it initially to false. The loadingHtmlFinished slot will //set this to true after html is loaded. mHtmlLoaded = false; connect( webPage, SIGNAL( loadFinished( bool ) ), SLOT( loadingHtmlFinished( bool ) ) ); webPage->mainFrame()->setHtml( textToDraw ); //For very basic html labels with no external assets, the html load will already be //complete before we even get a chance to start the QEventLoop. Make sure we check //this before starting the loop if ( !mHtmlLoaded ) { // Start a 20 second timeout in case html loading will never complete timeoutTimer.start( 20000 ); // Pause until html is loaded loop.exec(); } webPage->mainFrame()->render( painter );//DELETE WEBPAGE ? } else {
bitInvaderView::bitInvaderView( Instrument * _instrument, QWidget * _parent ) : InstrumentView( _instrument, _parent ) { setAutoFillBackground( true ); QPalette pal; pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap( "artwork" ) ); setPalette( pal ); m_sampleLengthKnob = new Knob( knobDark_28, this ); m_sampleLengthKnob->move( 6, 201 ); m_sampleLengthKnob->setHintText( tr( "Sample Length" ), "" ); m_graph = new Graph( this, Graph::NearestStyle, 204, 134 ); m_graph->move(23,59); // 55,120 - 2px border m_graph->setAutoFillBackground( true ); m_graph->setGraphColor( QColor( 255, 255, 255 ) ); ToolTip::add( m_graph, tr ( "Draw your own waveform here " "by dragging your mouse on this graph." )); pal = QPalette(); pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap("wavegraph") ); m_graph->setPalette( pal ); m_sinWaveBtn = new PixmapButton( this, tr( "Sine wave" ) ); m_sinWaveBtn->move( 131, 205 ); m_sinWaveBtn->setActiveGraphic( embed::getIconPixmap( "sin_wave_active" ) ); m_sinWaveBtn->setInactiveGraphic( embed::getIconPixmap( "sin_wave_inactive" ) ); ToolTip::add( m_sinWaveBtn, tr( "Click for a sine-wave." ) ); m_triangleWaveBtn = new PixmapButton( this, tr( "Triangle wave" ) ); m_triangleWaveBtn->move( 131 + 14, 205 ); m_triangleWaveBtn->setActiveGraphic( embed::getIconPixmap( "triangle_wave_active" ) ); m_triangleWaveBtn->setInactiveGraphic( embed::getIconPixmap( "triangle_wave_inactive" ) ); ToolTip::add( m_triangleWaveBtn, tr( "Click here for a triangle-wave." ) ); m_sawWaveBtn = new PixmapButton( this, tr( "Saw wave" ) ); m_sawWaveBtn->move( 131 + 14*2, 205 ); m_sawWaveBtn->setActiveGraphic( embed::getIconPixmap( "saw_wave_active" ) ); m_sawWaveBtn->setInactiveGraphic( embed::getIconPixmap( "saw_wave_inactive" ) ); ToolTip::add( m_sawWaveBtn, tr( "Click here for a saw-wave." ) ); m_sqrWaveBtn = new PixmapButton( this, tr( "Square wave" ) ); m_sqrWaveBtn->move( 131 + 14*3, 205 ); m_sqrWaveBtn->setActiveGraphic( embed::getIconPixmap( "square_wave_active" ) ); m_sqrWaveBtn->setInactiveGraphic( embed::getIconPixmap( "square_wave_inactive" ) ); ToolTip::add( m_sqrWaveBtn, tr( "Click here for a square-wave." ) ); m_whiteNoiseWaveBtn = new PixmapButton( this, tr( "White noise wave" ) ); m_whiteNoiseWaveBtn->move( 131 + 14*4, 205 ); m_whiteNoiseWaveBtn->setActiveGraphic( embed::getIconPixmap( "white_noise_wave_active" ) ); m_whiteNoiseWaveBtn->setInactiveGraphic( embed::getIconPixmap( "white_noise_wave_inactive" ) ); ToolTip::add( m_whiteNoiseWaveBtn, tr( "Click here for white-noise." ) ); m_usrWaveBtn = new PixmapButton( this, tr( "User defined wave" ) ); m_usrWaveBtn->move( 131 + 14*5, 205 ); m_usrWaveBtn->setActiveGraphic( embed::getIconPixmap( "usr_wave_active" ) ); m_usrWaveBtn->setInactiveGraphic( embed::getIconPixmap( "usr_wave_inactive" ) ); ToolTip::add( m_usrWaveBtn, tr( "Click here for a user-defined shape." ) ); m_smoothBtn = new PixmapButton( this, tr( "Smooth" ) ); m_smoothBtn->move( 131 + 14*6, 205 ); m_smoothBtn->setActiveGraphic( PLUGIN_NAME::getIconPixmap( "smooth_active" ) ); m_smoothBtn->setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "smooth_inactive" ) ); ToolTip::add( m_smoothBtn, tr( "Click here to smooth waveform." ) ); m_interpolationToggle = new LedCheckBox( "Interpolation", this, tr( "Interpolation" ), LedCheckBox::Yellow ); m_interpolationToggle->move( 131, 221 ); m_normalizeToggle = new LedCheckBox( "Normalize", this, tr( "Normalize" ), LedCheckBox::Green ); m_normalizeToggle->move( 131, 236 ); connect( m_sinWaveBtn, SIGNAL (clicked () ), this, SLOT ( sinWaveClicked() ) ); connect( m_triangleWaveBtn, SIGNAL ( clicked () ), this, SLOT ( triangleWaveClicked() ) ); connect( m_sawWaveBtn, SIGNAL (clicked () ), this, SLOT ( sawWaveClicked() ) ); connect( m_sqrWaveBtn, SIGNAL ( clicked () ), this, SLOT ( sqrWaveClicked() ) ); connect( m_whiteNoiseWaveBtn, SIGNAL ( clicked () ), this, SLOT ( noiseWaveClicked() ) ); connect( m_usrWaveBtn, SIGNAL ( clicked () ), this, SLOT ( usrWaveClicked() ) ); connect( m_smoothBtn, SIGNAL ( clicked () ), this, SLOT ( smoothClicked() ) ); connect( m_interpolationToggle, SIGNAL( toggled( bool ) ), this, SLOT ( interpolationToggled( bool ) ) ); connect( m_normalizeToggle, SIGNAL( toggled( bool ) ), this, SLOT ( normalizeToggled( bool ) ) ); }
void TitleBar::setTitleTransparent() { QPalette tmp; tmp.setBrush(QPalette::Background, QBrush(QColor(0, 0, 0, 0))); setPalette(tmp); }
ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* parent ) : QWidget( parent ) , ui( new Ui::ArtistInfoWidget ) , m_artist( artist ) { QWidget* widget = new QWidget; ui->setupUi( widget ); artist->loadStats(); connect( artist.data(), SIGNAL( statsLoaded() ), SLOT( onArtistStatsLoaded() ) ); ui->lineAbove->setStyleSheet( QString( "QFrame { border: 1px solid %1; }" ).arg( TomahawkStyle::HEADER_BACKGROUND.name() ) ); ui->lineBelow->setStyleSheet( QString( "QFrame { border: 1px solid black; }" ) ); ui->lineAbove2->setStyleSheet( QString( "QFrame { border: 1px solid black; }" ) ); ui->lineBelow2->setStyleSheet( QString( "QFrame { border: 1px solid %1; }" ).arg( TomahawkStyle::HEADER_BACKGROUND.name() ) ); QHBoxLayout* l = new QHBoxLayout( ui->statsWidget ); m_playStatsGauge = new StatsGauge( ui->statsWidget ); m_playStatsGauge->setText( tr( "YOUR ARTIST RANK" ) ); m_playStatsGauge->setInvertedAppearance( true ); l->addSpacerItem( new QSpacerItem( 0, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding ) ); l->addWidget( m_playStatsGauge ); l->addSpacerItem( new QSpacerItem( 0, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding ) ); ui->statsWidget->setLayout( l ); TomahawkUtils::unmarginLayout( l ); m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( 48, 48 ) ); ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Grid, ui->cover->size() ) ); ui->cover->setShowText( false ); { m_relatedModel = new PlayableModel( ui->relatedArtists ); ui->relatedArtists->setPlayableModel( m_relatedModel ); ui->relatedArtists->proxyModel()->sort( -1 ); ui->relatedArtists->setEmptyTip( tr( "Sorry, we could not find any related artists!" ) ); ui->relatedArtists->setAutoFitItems( true ); /* ui->relatedArtists->setWrapping( false ); ui->relatedArtists->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); ui->relatedArtists->setHorizontalScrollBarPolicy( Qt::ScrollBarAsNeeded );*/ ui->relatedArtists->delegate()->setItemSize( QSize( 170, 170 ) ); TomahawkStyle::stylePageFrame( ui->relatedArtists ); TomahawkStyle::stylePageFrame( ui->artistFrame ); TomahawkStyle::styleScrollBar( ui->relatedArtists->verticalScrollBar() ); } { ui->albums->setAutoResize( true ); ui->albums->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); /* ui->albums->setWrapping( false ); ui->albums->setHorizontalScrollBarPolicy( Qt::ScrollBarAsNeeded );*/ ui->albums->delegate()->setItemSize( QSize( 170, 170 ) ); ui->albums->proxyModel()->setHideDupeItems( true ); m_albumsModel = new PlayableModel( ui->albums ); ui->albums->setPlayableModel( m_albumsModel ); ui->albums->proxyModel()->sort( -1 ); ui->albums->setEmptyTip( tr( "Sorry, we could not find any albums for this artist!" ) ); ui->albums->setStyleSheet( QString( "QListView { background-color: %1; }" ).arg( TomahawkStyle::HEADER_BACKGROUND.name() ) ); TomahawkStyle::stylePageFrame( ui->albumFrame ); TomahawkStyle::styleScrollBar( ui->albums->verticalScrollBar() ); } { m_topHitsModel = new PlaylistModel( ui->topHits ); AlbumItemDelegate* del = new AlbumItemDelegate( ui->topHits, ui->topHits->proxyModel() ); ui->topHits->setPlaylistItemDelegate( del ); ui->topHits->proxyModel()->setStyle( PlayableProxyModel::Short ); ui->topHits->setPlayableModel( m_topHitsModel ); ui->topHits->setSortingEnabled( false ); ui->topHits->setEmptyTip( tr( "Sorry, we could not find any top hits for this artist!" ) ); ui->topHits->setAutoResize( true ); ui->topHits->setAlternatingRowColors( false ); QPalette p = ui->topHits->palette(); p.setColor( QPalette::Text, TomahawkStyle::PAGE_TRACKLIST_TRACK_SOLVED ); p.setColor( QPalette::BrightText, TomahawkStyle::PAGE_TRACKLIST_TRACK_UNRESOLVED ); p.setColor( QPalette::Foreground, TomahawkStyle::PAGE_TRACKLIST_NUMBER ); p.setColor( QPalette::Highlight, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT ); p.setColor( QPalette::HighlightedText, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT_TEXT ); ui->topHits->setPalette( p ); TomahawkStyle::stylePageFrame( ui->topHits ); TomahawkStyle::stylePageFrame( ui->trackFrame ); } { QFont f = ui->biography->font(); f.setFamily( "Titillium Web" ); QPalette p = ui->biography->palette(); p.setColor( QPalette::Text, TomahawkStyle::HEADER_TEXT ); ui->biography->setFont( f ); ui->biography->setPalette( p ); ui->biography->setOpenLinks( false ); ui->biography->setOpenExternalLinks( true ); ui->biography->document()->setDefaultStyleSheet( QString( "a { text-decoration: none; font-weight: bold; color: %1; }" ).arg( TomahawkStyle::HEADER_LINK.name() ) ); TomahawkStyle::stylePageFrame( ui->biography ); TomahawkStyle::styleScrollBar( ui->biography->verticalScrollBar() ); connect( ui->biography, SIGNAL( anchorClicked( QUrl ) ), SLOT( onBiographyLinkClicked( QUrl ) ) ); } { QFont f = ui->artistLabel->font(); f.setFamily( "Titillium Web" ); QPalette p = ui->artistLabel->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::HEADER_LABEL ); ui->artistLabel->setFont( f ); ui->artistLabel->setPalette( p ); } { QFont f = ui->label->font(); f.setFamily( "Pathway Gothic One" ); QPalette p = ui->label->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::PAGE_CAPTION ); ui->label->setFont( f ); ui->label_2->setFont( f ); ui->label->setPalette( p ); ui->label_2->setPalette( p ); } { QFont f = ui->albumLabel->font(); f.setFamily( "Pathway Gothic One" ); QPalette p = ui->albumLabel->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::HEADER_TEXT ); ui->albumLabel->setFont( f ); ui->albumLabel->setPalette( p ); } { QScrollArea* area = new QScrollArea(); area->setWidgetResizable( true ); area->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); area->setWidget( widget ); QPalette pal = palette(); pal.setBrush( backgroundRole(), TomahawkStyle::HEADER_BACKGROUND ); area->setPalette( pal ); area->setAutoFillBackground( true ); area->setFrameShape( QFrame::NoFrame ); area->setAttribute( Qt::WA_MacShowFocusRect, 0 ); QVBoxLayout* layout = new QVBoxLayout(); layout->addWidget( area ); setLayout( layout ); TomahawkUtils::unmarginLayout( layout ); } { QPalette pal = palette(); pal.setBrush( backgroundRole(), TomahawkStyle::PAGE_BACKGROUND ); ui->widget->setPalette( pal ); ui->widget->setAutoFillBackground( true ); } MetaPlaylistInterface* mpl = new MetaPlaylistInterface(); mpl->addChildInterface( ui->relatedArtists->playlistInterface() ); mpl->addChildInterface( ui->topHits->playlistInterface() ); mpl->addChildInterface( ui->albums->playlistInterface() ); m_plInterface = playlistinterface_ptr( mpl ); load( artist ); }
UserLogindlg::UserLogindlg() : QDialog() { setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); setAttribute(Qt::WA_TranslucentBackground); //初始化为未按下鼠标左键 mouse_press = false; loginwidget = new QWidget(this); loginwidget->resize(586,379); loginwidget->setAutoFillBackground(true); QPalette lgnpalette; lgnpalette.setBrush(QPalette::Background,QBrush(QPixmap(":loginmainbk"))); loginwidget->setPalette(lgnpalette); QHBoxLayout *plgnhlyt = new QHBoxLayout; QVBoxLayout *plgnvlyt = new QVBoxLayout; QVBoxLayout *ploginvlyt = new QVBoxLayout; QVBoxLayout *pvlyt = new QVBoxLayout; //创建标题widget plgntitel_widget = new QWidget(this); plgntitel_widget->setFixedWidth(544); plgntitel_widget->setFixedHeight(137); //button_widget->setFixedHeight(30); //设置widget圆角和背景图片border:1px groove gray;border-radius:5px;padding:2px 4px; plgntitel_widget->setStyleSheet("background-image:url(images/stategridicon);"); plgntitel_widget->setAutoFillBackground(true); close_button = new PushButton(plgntitel_widget); //设置按钮背景图片 close_button->setPicName(QString(":close")); //按钮摆放当前widget的右上角位置,默认在左上角把移动到左上角 int width = plgntitel_widget->width(); close_button->move(width-close_button->width(), 0); //登录框用户名 //pusercobx = new QComboBox; //pusercobx->setEditable(true); //pusercobx->lineEdit()->setPlaceholderText("用户名"); //pusercobx->setFixedSize(180,32); //登录框用户名 puserlined = new QLineEdit; puserlined->setPlaceholderText("用户名"); puserlined->setFixedSize(180,32); //登录框密码 ppwdlined = new QLineEdit; ppwdlined->setPlaceholderText("密 码"); ppwdlined->setEchoMode(QLineEdit::Password); ppwdlined->setFixedSize(180,32); //登录按钮 ploginbtn = new QPushButton(); //ploginbtn->setIcon(QPixmap(QString(":login"))); ploginbtn->setStyleSheet("border-radius:5px;background-image:url(:login);"); ploginbtn->setFixedSize(180,32); //布局登录用户名和密码框 plgnvlyt->addWidget(puserlined); plgnvlyt->addWidget(ppwdlined); plgnvlyt->setSpacing(0); //布局登录框和按钮 ploginvlyt->addLayout(plgnvlyt); ploginvlyt->addSpacing(32); ploginvlyt->addWidget(ploginbtn); //布局登录输入框及按钮 plgnhlyt->addSpacing(265); plgnhlyt->addLayout(ploginvlyt); //总体布局 pvlyt->addWidget(plgntitel_widget); pvlyt->addSpacing(45); pvlyt->addLayout(plgnhlyt); pvlyt->setContentsMargins(21,21,21,50); loginwidget->setLayout(pvlyt); //设置按钮焦点 ploginbtn->setFocus(Qt::ActiveWindowFocusReason); //点击关闭按钮关闭登录界面 connect(close_button, SIGNAL(clicked()), this, SLOT(closedlg())); //登录响应 connect(ploginbtn,SIGNAL(clicked()),this,SLOT(login())); bcloselgn = false; bnetflag = false; }
// 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"); slopes << tr("RBJ"); 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.Dco1RingModKnob->setSpecialValueText(sOff); m_ui.Dco2RingModKnob->setSpecialValueText(sOff); m_ui.Dco1GlideKnob->setSpecialValueText(sOff); m_ui.Dco2GlideKnob->setSpecialValueText(sOff); 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.Lfo1RingModKnob->setMinimum(-1.0f); m_ui.Lfo1RingModKnob->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.Lfo2RingModKnob->setMinimum(-1.0f); m_ui.Lfo2RingModKnob->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_RINGMOD, m_ui.Dco1RingModKnob); 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_RINGMOD, m_ui.Lfo1RingModKnob); 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_FXSEND, m_ui.Out1FxSendKnob); 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_RINGMOD, m_ui.Dco2RingModKnob); 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_RINGMOD, m_ui.Lfo2RingModKnob); 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_FXSEND, m_ui.Out2FxSendKnob); 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); }
void GenericCodeEditor::applySettings( Settings::Manager *settings ) { settings->beginGroup("IDE/editor"); bool lineWrap = settings->value("lineWrap").toBool(); bool showWhitespace = settings->value("showWhitespace").toBool(); bool showLinenumber = settings->value("showLinenumber").toBool(); mInactiveFadeAlpha = settings->value("inactiveEditorFadeAlpha").toInt(); QPalette palette; settings->beginGroup("colors"); if (settings->contains("text")) { QTextCharFormat format = settings->value("text").value<QTextCharFormat>(); QBrush bg = format.background(); QBrush fg = format.foreground(); if (bg.style() != Qt::NoBrush) palette.setBrush(QPalette::Base, bg); if (fg.style() != Qt::NoBrush) palette.setBrush(QPalette::Text, fg); } if (settings->contains("lineNumbers")) { // NOTE: the line number widget will inherit the palette from the editor QTextCharFormat format = settings->value("lineNumbers").value<QTextCharFormat>(); QBrush bg = format.background(); QBrush fg = format.foreground(); if (bg.style() != Qt::NoBrush) palette.setBrush(QPalette::Mid, bg); if (fg.style() != Qt::NoBrush) palette.setBrush(QPalette::ButtonText, fg); } if (settings->contains("selection")) { QTextCharFormat format = settings->value("selection").value<QTextCharFormat>(); QBrush bg = format.background(); QBrush fg = format.foreground(); if (bg.style() != Qt::NoBrush) palette.setBrush(QPalette::Highlight, bg); if (fg.style() != Qt::NoBrush) palette.setBrush(QPalette::HighlightedText, fg); } mCurrentLineTextFormat = settings->value("currentLine").value<QTextCharFormat>(); mSearchResultTextFormat = settings->value("searchResult").value<QTextCharFormat>(); settings->endGroup(); // colors mHighlightCurrentLine = settings->value("highlightCurrentLine").toBool(); updateCurrentLineHighlighting(); settings->endGroup(); // IDE/editor setLineWrapMode( lineWrap ? QPlainTextEdit::WidgetWidth : QPlainTextEdit::NoWrap ); setShowWhitespace( showWhitespace ); setShowLinenumber( showLinenumber ); mLineIndicator->setLineCount(blockCount()); setPalette(palette); setActiveAppearance(hasFocus()); }
LTMWindow::LTMWindow(Context *context) : GcChartWindow(context), context(context), dirty(true), stackDirty(true), compareDirty(true) { useToToday = useCustom = false; plotted = DateRange(QDate(01,01,01), QDate(01,01,01)); lastRefresh = QTime::currentTime().addSecs(-10); // the plot QVBoxLayout *mainLayout = new QVBoxLayout; QPalette palette; palette.setBrush(QPalette::Background, QBrush(GColor(CTRENDPLOTBACKGROUND))); // single plot plotWidget = new QWidget(this); plotWidget->setPalette(palette); QVBoxLayout *plotLayout = new QVBoxLayout(plotWidget); plotLayout->setSpacing(0); plotLayout->setContentsMargins(0,0,0,0); ltmPlot = new LTMPlot(this, context, true); spanSlider = new QxtSpanSlider(Qt::Horizontal, this); spanSlider->setFocusPolicy(Qt::NoFocus); spanSlider->setHandleMovementMode(QxtSpanSlider::NoOverlapping); spanSlider->setLowerValue(0); spanSlider->setUpperValue(15); QFont small; small.setPointSize(6); scrollLeft = new QPushButton("<", this); scrollLeft->setFont(small); scrollLeft->setAutoRepeat(true); scrollLeft->setFixedHeight(16); scrollLeft->setFixedWidth(16); scrollLeft->setContentsMargins(0,0,0,0); scrollRight = new QPushButton(">", this); scrollRight->setFont(small); scrollRight->setAutoRepeat(true); scrollRight->setFixedHeight(16); scrollRight->setFixedWidth(16); scrollRight->setContentsMargins(0,0,0,0); QHBoxLayout *span = new QHBoxLayout; span->addWidget(scrollLeft); span->addWidget(spanSlider); span->addWidget(scrollRight); plotLayout->addWidget(ltmPlot); plotLayout->addLayout(span); #ifdef Q_OS_MAC // BUG in QMacStyle and painting of spanSlider // so we use a plain style to avoid it, but only // on a MAC, since win and linux are fine #if QT_VERSION > 0x5000 QStyle *style = QStyleFactory::create("fusion"); #else QStyle *style = QStyleFactory::create("Cleanlooks"); #endif spanSlider->setStyle(style); scrollLeft->setStyle(style); scrollRight->setStyle(style); #endif // the stack of plots plotsWidget = new QWidget(this); plotsWidget->setPalette(palette); plotsLayout = new QVBoxLayout(plotsWidget); plotsLayout->setSpacing(0); plotsLayout->setContentsMargins(0,0,0,0); plotArea = new QScrollArea(this); #ifdef Q_OS_WIN QStyle *cde = QStyleFactory::create(OS_STYLE); plotArea->setStyle(cde); #endif plotArea->setAutoFillBackground(false); plotArea->setWidgetResizable(true); plotArea->setWidget(plotsWidget); plotArea->setFrameStyle(QFrame::NoFrame); plotArea->setContentsMargins(0,0,0,0); plotArea->setPalette(palette); // the data table dataSummary = new QWebView(this); dataSummary->setContentsMargins(0,0,0,0); dataSummary->page()->view()->setContentsMargins(0,0,0,0); dataSummary->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); dataSummary->setAcceptDrops(false); QFont defaultFont; // mainwindow sets up the defaults.. we need to apply dataSummary->settings()->setFontSize(QWebSettings::DefaultFontSize, defaultFont.pointSize()+1); dataSummary->settings()->setFontFamily(QWebSettings::StandardFont, defaultFont.family()); // compare plot page compareplotsWidget = new QWidget(this); compareplotsWidget->setPalette(palette); compareplotsLayout = new QVBoxLayout(compareplotsWidget); compareplotsLayout->setSpacing(0); compareplotsLayout->setContentsMargins(0,0,0,0); compareplotArea = new QScrollArea(this); #ifdef Q_OS_WIN cde = QStyleFactory::create(OS_STYLE); compareplotArea->setStyle(cde); #endif compareplotArea->setAutoFillBackground(false); compareplotArea->setWidgetResizable(true); compareplotArea->setWidget(compareplotsWidget); compareplotArea->setFrameStyle(QFrame::NoFrame); compareplotArea->setContentsMargins(0,0,0,0); compareplotArea->setPalette(palette); // the stack stackWidget = new QStackedWidget(this); stackWidget->addWidget(plotWidget); stackWidget->addWidget(dataSummary); stackWidget->addWidget(plotArea); stackWidget->addWidget(compareplotArea); stackWidget->setCurrentIndex(0); mainLayout->addWidget(stackWidget); setChartLayout(mainLayout); HelpWhatsThis *helpStack = new HelpWhatsThis(stackWidget); stackWidget->setWhatsThis(helpStack->getWhatsThisText(HelpWhatsThis::ChartTrends_MetricTrends)); // reveal controls QHBoxLayout *revealLayout = new QHBoxLayout; revealLayout->setContentsMargins(0,0,0,0); revealLayout->addStretch(); revealLayout->addWidget(new QLabel(tr("Group by"),this)); rGroupBy = new QxtStringSpinBox(this); QStringList strings; strings << tr("Days") << tr("Weeks") << tr("Months") << tr("Years") << tr("Time Of Day") << tr("All"); rGroupBy->setStrings(strings); rGroupBy->setValue(0); revealLayout->addWidget(rGroupBy); rData = new QCheckBox(tr("Data Table"), this); rStack = new QCheckBox(tr("Stacked"), this); QVBoxLayout *checks = new QVBoxLayout; checks->setSpacing(2); checks->setContentsMargins(0,0,0,0); checks->addWidget(rData); checks->addWidget(rStack); revealLayout->addLayout(checks); revealLayout->addStretch(); setRevealLayout(revealLayout); // add additional menu items before setting // controls since the menu is SET from setControls QAction *exportData = new QAction(tr("Export Chart Data..."), this); addAction(exportData); // the controls QWidget *c = new QWidget; c->setContentsMargins(0,0,0,0); HelpWhatsThis *helpConfig = new HelpWhatsThis(c); c->setWhatsThis(helpConfig->getWhatsThisText(HelpWhatsThis::ChartTrends_MetricTrends)); QVBoxLayout *cl = new QVBoxLayout(c); cl->setContentsMargins(0,0,0,0); cl->setSpacing(0); setControls(c); // the popup popup = new GcPane(); ltmPopup = new LTMPopup(context); QVBoxLayout *popupLayout = new QVBoxLayout(); popupLayout->addWidget(ltmPopup); popup->setLayout(popupLayout); ltmTool = new LTMTool(context, &settings); // initialise settings.ltmTool = ltmTool; settings.groupBy = LTM_DAY; settings.legend = ltmTool->showLegend->isChecked(); settings.events = ltmTool->showEvents->isChecked(); settings.shadeZones = ltmTool->shadeZones->isChecked(); settings.showData = ltmTool->showData->isChecked(); settings.stack = ltmTool->showStack->isChecked(); settings.stackWidth = ltmTool->stackSlider->value(); rData->setChecked(ltmTool->showData->isChecked()); rStack->setChecked(ltmTool->showStack->isChecked()); cl->addWidget(ltmTool); connect(this, SIGNAL(dateRangeChanged(DateRange)), this, SLOT(dateRangeChanged(DateRange))); connect(this, SIGNAL(styleChanged(int)), this, SLOT(styleChanged(int))); connect(ltmTool, SIGNAL(filterChanged()), this, SLOT(filterChanged())); connect(context, SIGNAL(homeFilterChanged()), this, SLOT(filterChanged())); connect(ltmTool->groupBy, SIGNAL(currentIndexChanged(int)), this, SLOT(groupBySelected(int))); connect(rGroupBy, SIGNAL(valueChanged(int)), this, SLOT(rGroupBySelected(int))); connect(ltmTool->applyButton, SIGNAL(clicked(bool)), this, SLOT(applyClicked(void))); connect(ltmTool->shadeZones, SIGNAL(stateChanged(int)), this, SLOT(shadeZonesClicked(int))); connect(ltmTool->showData, SIGNAL(stateChanged(int)), this, SLOT(showDataClicked(int))); connect(rData, SIGNAL(stateChanged(int)), this, SLOT(showDataClicked(int))); connect(ltmTool->showStack, SIGNAL(stateChanged(int)), this, SLOT(showStackClicked(int))); connect(rStack, SIGNAL(stateChanged(int)), this, SLOT(showStackClicked(int))); connect(ltmTool->stackSlider, SIGNAL(valueChanged(int)), this, SLOT(zoomSliderChanged())); connect(ltmTool->showLegend, SIGNAL(stateChanged(int)), this, SLOT(showLegendClicked(int))); connect(ltmTool->showEvents, SIGNAL(stateChanged(int)), this, SLOT(showEventsClicked(int))); connect(ltmTool, SIGNAL(useCustomRange(DateRange)), this, SLOT(useCustomRange(DateRange))); connect(ltmTool, SIGNAL(useThruToday()), this, SLOT(useThruToday())); connect(ltmTool, SIGNAL(useStandardRange()), this, SLOT(useStandardRange())); connect(ltmTool, SIGNAL(curvesChanged()), this, SLOT(refresh())); connect(context, SIGNAL(filterChanged()), this, SLOT(filterChanged())); connect(context, SIGNAL(refreshUpdate(QDate)), this, SLOT(refreshUpdate(QDate))); connect(context, SIGNAL(refreshEnd()), this, SLOT(refresh())); // comparing things connect(context, SIGNAL(compareDateRangesStateChanged(bool)), this, SLOT(compareChanged())); connect(context, SIGNAL(compareDateRangesChanged()), this, SLOT(compareChanged())); connect(context, SIGNAL(rideAdded(RideItem*)), this, SLOT(refresh(void))); connect(context, SIGNAL(rideDeleted(RideItem*)), this, SLOT(refresh(void))); connect(context, SIGNAL(rideSaved(RideItem*)), this, SLOT(refresh(void))); connect(context, SIGNAL(configChanged(qint32)), this, SLOT(configChanged(qint32))); connect(context, SIGNAL(presetSelected(int)), this, SLOT(presetSelected(int))); // custom menu item connect(exportData, SIGNAL(triggered()), this, SLOT(exportData())); // normal view connect(spanSlider, SIGNAL(lowerPositionChanged(int)), this, SLOT(spanSliderChanged())); connect(spanSlider, SIGNAL(upperPositionChanged(int)), this, SLOT(spanSliderChanged())); connect(scrollLeft, SIGNAL(clicked()), this, SLOT(moveLeft())); connect(scrollRight, SIGNAL(clicked()), this, SLOT(moveRight())); configChanged(CONFIG_APPEARANCE); }
lb302SynthView::lb302SynthView( Instrument * _instrument, QWidget * _parent ) : InstrumentView( _instrument, _parent ) { // GUI m_vcfCutKnob = new Knob( knobBright_26, this ); m_vcfCutKnob->move( 75, 130 ); m_vcfCutKnob->setHintText( tr( "Cutoff Freq:" ), "" ); m_vcfCutKnob->setLabel( "" ); m_vcfResKnob = new Knob( knobBright_26, this ); m_vcfResKnob->move( 120, 130 ); m_vcfResKnob->setHintText( tr( "Resonance:" ), "" ); m_vcfResKnob->setLabel( "" ); m_vcfModKnob = new Knob( knobBright_26, this ); m_vcfModKnob->move( 165, 130 ); m_vcfModKnob->setHintText( tr( "Env Mod:" ), "" ); m_vcfModKnob->setLabel( "" ); m_vcfDecKnob = new Knob( knobBright_26, this ); m_vcfDecKnob->move( 210, 130 ); m_vcfDecKnob->setHintText( tr( "Decay:" ), "" ); m_vcfDecKnob->setLabel( "" ); m_slideToggle = new LedCheckBox( "", this ); m_slideToggle->move( 10, 180 ); /* m_accentToggle = new LedCheckBox( "", this ); m_accentToggle->move( 10, 200 ); m_accentToggle->setDisabled(true);*/ // accent removed pending real implementation - no need for non-functional buttons m_deadToggle = new LedCheckBox( "", this ); m_deadToggle->move( 10, 200 ); m_db24Toggle = new LedCheckBox( "", this ); m_db24Toggle->setWhatsThis( tr( "303-es-que, 24dB/octave, 3 pole filter" ) ); m_db24Toggle->move( 10, 150); m_slideDecKnob = new Knob( knobBright_26, this ); m_slideDecKnob->move( 210, 75 ); m_slideDecKnob->setHintText( tr( "Slide Decay:" ), "" ); m_slideDecKnob->setLabel( ""); m_distKnob = new Knob( knobBright_26, this ); m_distKnob->move( 210, 190 ); m_distKnob->setHintText( tr( "DIST:" ), "" ); m_distKnob->setLabel( tr( "")); // Shapes // move to 120,75 const int waveBtnX = 10; const int waveBtnY = 96; PixmapButton * sawWaveBtn = new PixmapButton( this, tr( "Saw wave" ) ); sawWaveBtn->move( waveBtnX, waveBtnY ); sawWaveBtn->setActiveGraphic( embed::getIconPixmap( "saw_wave_active" ) ); sawWaveBtn->setInactiveGraphic( embed::getIconPixmap( "saw_wave_inactive" ) ); ToolTip::add( sawWaveBtn, tr( "Click here for a saw-wave." ) ); PixmapButton * triangleWaveBtn = new PixmapButton( this, tr( "Triangle wave" ) ); triangleWaveBtn->move( waveBtnX+(16*1), waveBtnY ); triangleWaveBtn->setActiveGraphic( embed::getIconPixmap( "triangle_wave_active" ) ); triangleWaveBtn->setInactiveGraphic( embed::getIconPixmap( "triangle_wave_inactive" ) ); ToolTip::add( triangleWaveBtn, tr( "Click here for a triangle-wave." ) ); PixmapButton * sqrWaveBtn = new PixmapButton( this, tr( "Square wave" ) ); sqrWaveBtn->move( waveBtnX+(16*2), waveBtnY ); sqrWaveBtn->setActiveGraphic( embed::getIconPixmap( "square_wave_active" ) ); sqrWaveBtn->setInactiveGraphic( embed::getIconPixmap( "square_wave_inactive" ) ); ToolTip::add( sqrWaveBtn, tr( "Click here for a square-wave." ) ); PixmapButton * roundSqrWaveBtn = new PixmapButton( this, tr( "Rounded square wave" ) ); roundSqrWaveBtn->move( waveBtnX+(16*3), waveBtnY ); roundSqrWaveBtn->setActiveGraphic( embed::getIconPixmap( "round_square_wave_active" ) ); roundSqrWaveBtn->setInactiveGraphic( embed::getIconPixmap( "round_square_wave_inactive" ) ); ToolTip::add( roundSqrWaveBtn, tr( "Click here for a square-wave with a rounded end." ) ); PixmapButton * moogWaveBtn = new PixmapButton( this, tr( "Moog wave" ) ); moogWaveBtn->move( waveBtnX+(16*4), waveBtnY ); moogWaveBtn->setActiveGraphic( embed::getIconPixmap( "moog_saw_wave_active" ) ); moogWaveBtn->setInactiveGraphic( embed::getIconPixmap( "moog_saw_wave_inactive" ) ); ToolTip::add( moogWaveBtn, tr( "Click here for a moog-like wave." ) ); PixmapButton * sinWaveBtn = new PixmapButton( this, tr( "Sine wave" ) ); sinWaveBtn->move( waveBtnX+(16*5), waveBtnY ); sinWaveBtn->setActiveGraphic( embed::getIconPixmap( "sin_wave_active" ) ); sinWaveBtn->setInactiveGraphic( embed::getIconPixmap( "sin_wave_inactive" ) ); ToolTip::add( sinWaveBtn, tr( "Click for a sine-wave." ) ); PixmapButton * exponentialWaveBtn = new PixmapButton( this, tr( "White noise wave" ) ); exponentialWaveBtn->move( waveBtnX+(16*6), waveBtnY ); exponentialWaveBtn->setActiveGraphic( embed::getIconPixmap( "exp_wave_active" ) ); exponentialWaveBtn->setInactiveGraphic( embed::getIconPixmap( "exp_wave_inactive" ) ); ToolTip::add( exponentialWaveBtn, tr( "Click here for an exponential wave." ) ); PixmapButton * whiteNoiseWaveBtn = new PixmapButton( this, tr( "White noise wave" ) ); whiteNoiseWaveBtn->move( waveBtnX+(16*7), waveBtnY ); whiteNoiseWaveBtn->setActiveGraphic( embed::getIconPixmap( "white_noise_wave_active" ) ); whiteNoiseWaveBtn->setInactiveGraphic( embed::getIconPixmap( "white_noise_wave_inactive" ) ); ToolTip::add( whiteNoiseWaveBtn, tr( "Click here for white-noise." ) ); PixmapButton * blSawWaveBtn = new PixmapButton( this, tr( "Bandlimited saw wave" ) ); blSawWaveBtn->move( waveBtnX+(16*9)-8, waveBtnY ); blSawWaveBtn->setActiveGraphic( embed::getIconPixmap( "saw_wave_active" ) ); blSawWaveBtn->setInactiveGraphic( embed::getIconPixmap( "saw_wave_inactive" ) ); ToolTip::add( blSawWaveBtn, tr( "Click here for bandlimited saw wave." ) ); PixmapButton * blSquareWaveBtn = new PixmapButton( this, tr( "Bandlimited square wave" ) ); blSquareWaveBtn->move( waveBtnX+(16*10)-8, waveBtnY ); blSquareWaveBtn->setActiveGraphic( embed::getIconPixmap( "square_wave_active" ) ); blSquareWaveBtn->setInactiveGraphic( embed::getIconPixmap( "square_wave_inactive" ) ); ToolTip::add( blSquareWaveBtn, tr( "Click here for bandlimited square wave." ) ); PixmapButton * blTriangleWaveBtn = new PixmapButton( this, tr( "Bandlimited triangle wave" ) ); blTriangleWaveBtn->move( waveBtnX+(16*11)-8, waveBtnY ); blTriangleWaveBtn->setActiveGraphic( embed::getIconPixmap( "triangle_wave_active" ) ); blTriangleWaveBtn->setInactiveGraphic( embed::getIconPixmap( "triangle_wave_inactive" ) ); ToolTip::add( blTriangleWaveBtn, tr( "Click here for bandlimited triangle wave." ) ); PixmapButton * blMoogWaveBtn = new PixmapButton( this, tr( "Bandlimited moog saw wave" ) ); blMoogWaveBtn->move( waveBtnX+(16*12)-8, waveBtnY ); blMoogWaveBtn->setActiveGraphic( embed::getIconPixmap( "moog_saw_wave_active" ) ); blMoogWaveBtn->setInactiveGraphic( embed::getIconPixmap( "moog_saw_wave_inactive" ) ); ToolTip::add( blMoogWaveBtn, tr( "Click here for bandlimited moog saw wave." ) ); m_waveBtnGrp = new automatableButtonGroup( this ); m_waveBtnGrp->addButton( sawWaveBtn ); m_waveBtnGrp->addButton( triangleWaveBtn ); m_waveBtnGrp->addButton( sqrWaveBtn ); m_waveBtnGrp->addButton( roundSqrWaveBtn ); m_waveBtnGrp->addButton( moogWaveBtn ); m_waveBtnGrp->addButton( sinWaveBtn ); m_waveBtnGrp->addButton( exponentialWaveBtn ); m_waveBtnGrp->addButton( whiteNoiseWaveBtn ); m_waveBtnGrp->addButton( blSawWaveBtn ); m_waveBtnGrp->addButton( blSquareWaveBtn ); m_waveBtnGrp->addButton( blTriangleWaveBtn ); m_waveBtnGrp->addButton( blMoogWaveBtn ); setAutoFillBackground( true ); QPalette pal; pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap( "artwork" ) ); setPalette( pal ); }
Win_1::Win_1(QWidget *parent,Qt::WindowFlags flags) :QWidget(parent,flags|Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint) { QFont font; font.setFamily(("simsun")); QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); QPalette palette; QBrush brushDark(QColor(0,0,0,255)); QBrush brushBrown(QColor(114,117,118,255)); QBrush brushWhite(QColor(255,255,255,255)); QBrush brushGreen(QColor(170,255,0,255)); QBrush brushBlue(QColor(0,0,255,255)); palette.setBrush(QPalette::Active,QPalette::Window,brushDark); palette.setBrush(QPalette::Inactive,QPalette::Window,brushDark); palette.setBrush(QPalette::Disabled,QPalette::Window,brushDark); palette.setBrush(QPalette::Active,QPalette::Button,brushBrown); palette.setBrush(QPalette::Inactive,QPalette::Button,brushBrown); palette.setBrush(QPalette::Disabled,QPalette::Button,brushBrown); palette.setBrush(QPalette::Active,QPalette::ButtonText,brushBlue); palette.setBrush(QPalette::Inactive,QPalette::ButtonText,brushBlue); palette.setBrush(QPalette::Disabled,QPalette::ButtonText,brushBlue); palette.setBrush(QPalette::Active,QPalette::Shadow,brushWhite); palette.setBrush(QPalette::Inactive,QPalette::Shadow,brushWhite); palette.setBrush(QPalette::Active,QPalette::Shadow,brushWhite); palette.setBrush(QPalette::Inactive,QPalette::Text,brushGreen); palette.setBrush(QPalette::Active,QPalette::Text,brushGreen); palette.setBrush(QPalette::Active,QPalette::Text,brushGreen); palette.setBrush(QPalette::Active,QPalette::WindowText,brushWhite); palette.setBrush(QPalette::Inactive,QPalette::WindowText,brushWhite); palette.setBrush(QPalette::Disabled,QPalette::WindowText,brushWhite); setPalette(palette); QPalette palette2; palette2.setBrush(QPalette::Inactive,QPalette::Text,brushDark); palette2.setBrush(QPalette::Active,QPalette::Text,brushDark); palette2.setBrush(QPalette::Active,QPalette::Text,brushDark); font.setPointSize(80); label_title = new QLabel(this); // label_title->setGeometry(QRect(200,10,400,40)); label_title->setGeometry(QRect(212,40,400,40)); label_title->setText(QObject::tr("参数输入")); label_title->setFont(font); label_title->setAlignment(Qt::AlignHCenter); font.setPointSize(60); box_top = new QGroupBox(this); // box_top->setGeometry(QRect(20,40,760,180)); box_top->setGeometry(QRect(32,70,760,180)); box_top->setTitle(QObject::tr("个人信息输入:")); box_top->setFont(font); label_name = new QLabel(box_top); label_name->setGeometry(QRect(25,45,55,20)); label_name->setText(QObject::tr("姓名:")); label_name->setAlignment(Qt::AlignRight); label_name->setFont(font); edit_name = new QLineEdit(box_top); edit_name->setGeometry(QRect(85,40,160,30)); edit_name->setPalette(palette2); edit_name->setFont(font); label_number = new QLabel(box_top); label_number->setGeometry(QRect(25,90,55,20)); label_number->setText(QObject::tr("编号:")); label_number->setAlignment(Qt::AlignRight); box_top->setFont(font); edit_number = new QLineEdit(box_top); QRegExp regExp("[A-Za-z0-9_.]{1,7}"); edit_number->setValidator(new QRegExpValidator(regExp,this)); edit_number->setGeometry(QRect(85,85,160,30)); edit_number->setPalette(palette2); edit_number->setFont(font); label_sex = new QLabel(box_top); label_sex->setGeometry(QRect(25,135,55,20)); label_sex->setText(QObject::tr("性别:")); label_sex->setFont(font); label_sex->setAlignment(Qt::AlignRight); radio_male = new QRadioButton(box_top); radio_male->setGeometry(QRect(90,135,55,20)); radio_male->setText(QObject::tr("男")); radio_male->setChecked(true); radio_male->setPalette(palette2); radio_male->setFont(font); radio_female = new QRadioButton(box_top); radio_female->setGeometry(QRect(165,135,55,20)); radio_female->setText(QObject::tr("女")); radio_female->setPalette(palette2); radio_female->setFont(font); label_height = new QLabel(box_top); label_height->setGeometry(QRect(270,45,100,25)); label_height->setText(QObject::tr("身高(cm):")); label_height->setFont(font); label_height->setAlignment(Qt::AlignRight); spin_height = new QSpinBox(box_top); spin_height->setGeometry(QRect(380,40,80,30)); spin_height->setMaximum(200); spin_height->setMinimum(0); spin_height->setValue(0); spin_height->setPalette(palette2); spin_height->setFont(font); label_weight = new QLabel(box_top); label_weight->setGeometry(QRect(270,90,100,25)); label_weight->setText(QObject::tr("体重(kg):")); label_weight->setFont(font); label_weight->setAlignment(Qt::AlignRight); doublespin_weight = new QDoubleSpinBox(box_top); doublespin_weight->setGeometry(QRect(380,85,80,30)); doublespin_weight->setMinimum(0); doublespin_weight->setValue(0); doublespin_weight->setPalette(palette2); doublespin_weight->setFont(font); label_age = new QLabel(box_top); label_age->setGeometry(QRect(270,135,100,25)); label_age->setText(QObject::tr("年龄:")); label_age->setFont(font); label_age->setAlignment(Qt::AlignRight); spin_age = new QSpinBox(box_top); spin_age->setGeometry(QRect(380,130,80,30)); spin_age->setMaximum(100); spin_age->setMinimum(0); spin_age->setValue(0); spin_age->setPalette(palette2); spin_age->setFont(font); button_conform = new QPushButton(this); button_conform->setGeometry(QRect(580,190,91,41)); button_conform->setText(QObject::tr("下一步")); button_conform->setFont(font); button_conform->setShortcut(QKeySequence(Qt::ALT + Qt::Key_C)); QObject::connect(button_conform,SIGNAL(clicked()),this,SLOT(setPrm()));//“下一步“按钮按下,调用setprm函数 button_back = new QPushButton(this); button_back->setGeometry(QRect(680,190,91,41)); button_back->setText(QObject::tr("返回")); button_back->setFont(font); button_back->setShortcut(QKeySequence(Qt::ALT + Qt::Key_R)); QObject::connect(button_back,SIGNAL(clicked()),this,SLOT(close())); }
GameWindow::GameWindow(int sizeX, int sizeY, int minesNumber) : QMainWindow(), ui(new Ui::GameWindow) { ui->setupUi(this); QPixmap background(":/resources/images/options_background.jpg"); QPalette qPalette; qPalette.setBrush(this->backgroundRole(),QBrush(background)); this->setPalette(qPalette); sizeOfFieldX = sizeX; sizeOfFieldY = sizeY; minesInTheField = minesNumber; core = new Field(sizeOfFieldX, sizeOfFieldY, minesInTheField); fieldLayout = new QGridLayout; backButton = new QPushButton("Back to menu"); backButton->setStyleSheet(QPushButtonStyle); backButton->setFixedSize(175,50); refreshButton = new QPushButton("Refresh game"); refreshButton->setStyleSheet(QPushButtonStyle); refreshButton->setFixedSize(175,50); QObject::connect(backButton, SIGNAL(clicked(bool)), this, SLOT(backToMenu())); QObject::connect(refreshButton, SIGNAL(clicked(bool)), this, SLOT(refreshGame())); mainFieldLayout = new QVBoxLayout; panelLayout = new QVBoxLayout; mainLayout = new QHBoxLayout; vector<QMyPushButton*> tmpVect; for (int i = 0; i < core->getSizeX(); i++) { for (int j = 0; j < core->getSizeY(); j++) { QMyPushButton* newButton; tmpVect.push_back(newButton); } buttons.push_back(tmpVect); } QLabel *fieldHeight = new QLabel("Height of field: "); fieldHeight->setStyleSheet(QLabelStyle); QLabel *fieldLength = new QLabel("Length of field: "); fieldLength->setStyleSheet(QLabelStyle); QLabel *allCells = new QLabel("Cells in the field:"); allCells->setStyleSheet(QLabelStyle); QLabel *cellsLeft = new QLabel("Cells left: "); cellsLeft->setStyleSheet(QLabelStyle); QLabel *minesLeft = new QLabel("Mines left: "); minesLeft->setStyleSheet(QLabelStyle); QLabel *flagsLeft = new QLabel("You have flags: "); flagsLeft->setStyleSheet(QLabelStyle); fieldHeightNumber = new QLabel(QString::number(core->getSizeX())); fieldHeightNumber->setStyleSheet(QLabelStyle); fieldLengthNumber = new QLabel(QString::number(core->getSizeY())); fieldLengthNumber->setStyleSheet(QLabelStyle); allCellsNumber = new QLabel(QString::number(core->getSizeX() * core->getSizeY())); allCellsNumber->setStyleSheet(QLabelStyle); cellsLeftNumber = new QLabel(QString::number(core->cellsLeft)); cellsLeftNumber->setStyleSheet(QLabelStyle); minesLeftNumber = new QLabel(QString::number(core->minesLeft)); minesLeftNumber->setStyleSheet(QLabelStyle); flagsLeftNumber = new QLabel(QString::number(core->flagsLeft)); flagsLeftNumber->setStyleSheet(QLabelStyle); QHBoxLayout *panelHorizontal1 = new QHBoxLayout; panelHorizontal1->addWidget(fieldHeight); panelHorizontal1->addWidget(fieldHeightNumber); QHBoxLayout *panelHorizontal2 = new QHBoxLayout; panelHorizontal2->addWidget(fieldLength); panelHorizontal2->addWidget(fieldLengthNumber); QHBoxLayout *panelHorizontal3 = new QHBoxLayout; panelHorizontal3->addWidget(allCells); panelHorizontal3->addWidget(allCellsNumber); QHBoxLayout *panelHorizontal4 = new QHBoxLayout; panelHorizontal4->addWidget(cellsLeft); panelHorizontal4->addWidget(cellsLeftNumber); QHBoxLayout *panelHorizontal5 = new QHBoxLayout; panelHorizontal5->addWidget(minesLeft); panelHorizontal5->addWidget(minesLeftNumber); QHBoxLayout *panelHorizontal6 = new QHBoxLayout; panelHorizontal6->addWidget(flagsLeft); panelHorizontal6->addWidget(flagsLeftNumber); //timer = new QTimer; //timer->start(10000); panelLayout = new QVBoxLayout; mainPanelLayout = new QVBoxLayout; panelBox = new QGroupBox; panelLayout->addSpacing(5); panelLayout->addLayout(panelHorizontal1); panelLayout->addLayout(panelHorizontal2); panelLayout->addLayout(panelHorizontal3); panelLayout->addLayout(panelHorizontal4); panelLayout->addLayout(panelHorizontal5); panelLayout->addLayout(panelHorizontal6); panelBox->setLayout(panelLayout); mainPanelLayout->addWidget(panelBox); //mainPanelLayout->addWidget(timer); mainPanelLayout->addStretch(1); mainPanelLayout->addWidget(refreshButton); mainPanelLayout->addWidget(backButton); mainPanelLayout->setSpacing(20); for (int i = 0; i < core->getSizeX(); i++) for (int j = 0; j < core->getSizeY(); j++) { buttons[i][j] = new QMyPushButton; fieldButtonSize = new QSize(32,32); buttons[i][j]->setStyleSheet(QFieldButtonStyle); buttons[i][j]->setFixedSize(*fieldButtonSize); //buttons[i][j]->setText("Do it!"); fieldLayout->addWidget(buttons[i][j], i, j, 1, 1); buttons[i][j]->setProperty("coordinates", i * 1000 + j); connect(buttons[i][j], SIGNAL(pressed()), this, SLOT(clickedLeft())); connect(buttons[i][j], SIGNAL(rClicked()), this, SLOT(setFlag())); //QMyPushButton *but = new QMyPushButton; //connect(but, SIGNAL()) } //mainFieldLayout->addSpacing(15); fieldLayout->setSpacing(0); mainFieldLayout->addLayout(fieldLayout); //mainLayout->addSpacing(15); mainLayout->addLayout(mainFieldLayout); mainLayout->addSpacing(25); mainLayout->addLayout(mainPanelLayout); //mainLayout->addSpacing(15); QWidget *centralWidget = new QWidget; centralWidget->setLayout(mainLayout); this->setCentralWidget(centralWidget); this->setWindowTitle("Minesweeper TOP Game"); this->setWindowIcon(QIcon(":/resources/images/icon.png")); connect(this, SIGNAL(allCellsOpen()), this, SLOT(winGame())); connect(this, SIGNAL(allah_BABAH()), this, SLOT(loseGame())); }
void Gui::loadStyleSheet() { SettingsPtr settings = appPTR->getCurrentSettings(); QColor selCol, sunkCol, baseCol, raisedCol, txtCol, intCol, kfCol, disCol, eCol, altCol, lightSelCol; //settings-> { double r, g, b; settings->getSelectionColor(&r, &g, &b); selCol = to_qcolor(r, g, b); } { double r, g, b; r = 1; g = 0.75; b = 0.47; lightSelCol = to_qcolor(r, g, b); } { double r, g, b; settings->getBaseColor(&r, &g, &b); baseCol = to_qcolor(r, g, b); } { double r, g, b; settings->getRaisedColor(&r, &g, &b); raisedCol = to_qcolor(r, g, b); } { double r, g, b; settings->getSunkenColor(&r, &g, &b); sunkCol = to_qcolor(r, g, b); } { double r, g, b; settings->getTextColor(&r, &g, &b); txtCol = to_qcolor(r, g, b); } { double r, g, b; settings->getInterpolatedColor(&r, &g, &b); intCol = to_qcolor(r, g, b); } { double r, g, b; settings->getKeyframeColor(&r, &g, &b); kfCol = to_qcolor(r, g, b); } { double r, g, b; r = g = b = 0.; disCol = to_qcolor(r, g, b); } { double r, g, b; settings->getExprColor(&r, &g, &b); eCol = to_qcolor(r, g, b); } { double r, g, b; settings->getAltTextColor(&r, &g, &b); altCol = to_qcolor(r, g, b); } // First, set the global palette colors // Note: the following colors may be wrong, please test and fix these on Linux with an empty mainstyle.css QPalette p = qApp->palette(); p.setBrush( QPalette::Window, sunkCol ); p.setBrush( QPalette::WindowText, txtCol ); p.setBrush( QPalette::Base, baseCol ); //p.setBrush( QPalette::ToolTipBase, baseCol ); //p.setBrush( QPalette::ToolTipText, txtCol ); p.setBrush( QPalette::Text, txtCol ); p.setBrush( QPalette::Button, baseCol ); p.setBrush( QPalette::ButtonText, txtCol ); p.setBrush( QPalette::Light, raisedCol ); p.setBrush( QPalette::Dark, sunkCol ); p.setBrush( QPalette::Mid, baseCol ); //p.setBrush( QPalette::Shadow, sunkCol ); p.setBrush( QPalette::BrightText, txtCol ); p.setBrush( QPalette::Link, selCol ); // can only be set via palette p.setBrush( QPalette::LinkVisited, selCol ); // can only be set via palette qApp->setPalette( p ); QFile qss; std::string userQss = settings->getUserStyleSheetFilePath(); if ( !userQss.empty() ) { qss.setFileName( QString::fromUtf8( userQss.c_str() ) ); } else { qss.setFileName( QString::fromUtf8(":/Resources/Stylesheets/mainstyle.qss") ); } if ( qss.open(QIODevice::ReadOnly | QIODevice::Text) ) { QTextStream in(&qss); QString content = QString::fromUtf8("QWidget { font-family: \"%1\"; font-size: %2pt; }\n").arg(appPTR->getAppFont()).arg(appPTR->getAppFontSize()); content += in.readAll(); qApp->setStyleSheet( content .arg( qcolor_to_qstring(selCol) ) // %1: selection-color .arg( qcolor_to_qstring(baseCol) ) // %2: medium background .arg( qcolor_to_qstring(raisedCol) ) // %3: soft background .arg( qcolor_to_qstring(sunkCol) ) // %4: strong background .arg( qcolor_to_qstring(txtCol) ) // %5: text colour .arg( qcolor_to_qstring(intCol) ) // %6: interpolated value color .arg( qcolor_to_qstring(kfCol) ) // %7: keyframe value color .arg( qcolor_to_qstring(disCol) ) // %8: disabled editable text .arg( qcolor_to_qstring(eCol) ) // %9: expression background color .arg( qcolor_to_qstring(altCol) ) // %10 = altered text color .arg( qcolor_to_qstring(lightSelCol) ) ); // %11 = mouse over selection color } else { Dialogs::errorDialog( tr("Stylesheet").toStdString(), tr("Failure to load stylesheet file ").toStdString() + qss.fileName().toStdString() ); } } // Gui::loadStyleSheet