void ccContourExtractorDlg::init() { if (m_glWindow) { //already initialized assert(false); return; } connect(nextPushButton, SIGNAL(clicked()), &m_loop, SLOT(quit())); //connect(nextPushButton, SIGNAL(clicked()), this, SLOT(accept())); connect(skipPushButton, SIGNAL(clicked()), this, SLOT(onSkipButtonClicked())); nextPushButton->setFocus(); //create 3D window m_glWindow = new ccGLWindow(this); { ccGui::ParamStruct params = m_glWindow->getDisplayParameters(); //black (text) & white (background) display by default params.backgroundCol = ccColor::white; params.textDefaultCol = ccColor::black; params.pointsDefaultCol = ccColor::black; params.drawBackgroundGradient = false; params.decimateMeshOnMove = false; params.displayCross = false; params.colorScaleUseShader = false; m_glWindow->setDisplayParameters(params,true); m_glWindow->setPerspectiveState(false,true); m_glWindow->setInteractionMode(ccGLWindow::INTERACT_PAN | ccGLWindow::INTERACT_ZOOM_CAMERA | ccGLWindow::INTERACT_CLICKABLE_ITEMS); m_glWindow->setPickingMode(ccGLWindow::NO_PICKING); m_glWindow->displayOverlayEntities(true); viewFrame->setLayout(new QHBoxLayout); viewFrame->layout()->addWidget(m_glWindow); } }
doubanFM::doubanFM(QWidget *parent) : QWidget(parent), ui(new Ui::doubanFM) { qDebug() << Q_FUNC_INFO; ui->setupUi(this); currentSongIndex = 0; pauseState = false; _channelListWidget = new channelList(this); _channelListWidget->setchannelId(currentChannelId); _channelListWidget->move(-_channelListWidget->getInvisibleWidth(),this->geometry().y()); _pauseMaskWidget = new pauseMaskWidget(this); _pauseMaskWidget->move(250,0); _pauseMaskWidget->setVisible(false); _loginwidget = new doubanLogin(this); _loginwidget->move(this->geometry().x(),-_loginwidget->geometry().height()); _mediaObject = new Phonon::MediaObject(this); _audioOutput = new Phonon::AudioOutput(this); Phonon::createPath(_mediaObject,_audioOutput); ui->seekSlider->setMediaObject(_mediaObject); albumImageManager = new QNetworkAccessManager(this); _mydouban = new Douban(this); readSettings(); qDebug() << "read setting" << _mydouban->hasLogin(); if(_mydouban->hasLogin()) { ui->userLoginButton->setToolTip(tr("click to logout")); ui->userLabel->setText(_mydouban->getDoubanUser().name); } else { ui->userLoginButton->setToolTip(tr("click to login")); ui->userLabel->setText(tr("Logout")); } nextShortCut = new QxtGlobalShortcut(QKeySequence("Alt+s"),this); pauseShortCut = new QxtGlobalShortcut(QKeySequence("Alt+p"),this); rateShortCut = new QxtGlobalShortcut(QKeySequence("Alt+r"),this); trashShortCut = new QxtGlobalShortcut(QKeySequence("Alt+t"),this); connect(nextShortCut,SIGNAL(activated()),this,SLOT(onSkipButtonClicked())); connect(pauseShortCut,SIGNAL(activated()),this,SLOT(onPauseButtonClicked())); connect(rateShortCut,SIGNAL(activated()),this,SLOT(onRateButtonClicked())); connect(trashShortCut,SIGNAL(activated()),this,SLOT(onTrashButtonClicked())); //connect the mainwidget signals and the slots connect(ui->volumeSlider,SIGNAL(valueChanged(int)),this,SLOT(onVolumneChange(int))); connect(ui->pauseButton,SIGNAL(clicked()),this,SLOT(onPauseButtonClicked())); connect(ui->userLoginButton,SIGNAL(clicked()),this,SLOT(onLoginButtonClicked())); connect(_mediaObject,SIGNAL(tick(qint64)),this,SLOT(playTick(qint64))); connect(albumImageManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(receiveAlbumImage(QNetworkReply*))); connect(this,SIGNAL(albumImageRequest(QString)),this,SLOT(onAlbumImage(QString))); connect(ui->rateSongButton,SIGNAL(clicked()),this,SLOT(onRateButtonClicked())); connect(ui->nextSongButton,SIGNAL(clicked()),this,SLOT(onSkipButtonClicked())); connect(ui->byeSongButton,SIGNAL(clicked()),this,SLOT(onTrashButtonClicked())); connect(_mediaObject,SIGNAL(currentSourceChanged(Phonon::MediaSource)),this,SLOT(sourceChanged(Phonon::MediaSource))); connect(_mediaObject,SIGNAL(stateChanged(Phonon::State,Phonon::State)),this,SLOT(stateChanged(Phonon::State,Phonon::State))); // connect the mainwidget signals and the slots of other widget connect(this,SIGNAL(sendlogoutRequest()),_mydouban,SLOT(logoutRequest())); connect(this,SIGNAL(sendSongListRequest(qint32,quint32,double)),_mydouban,SLOT(newSongListRequest(qint32,quint32,double))); connect(this,SIGNAL(sendSkipSongRequest(qint32,quint32,double)),_mydouban,SLOT(skipSongRequest(qint32,quint32,double))); connect(this,SIGNAL(sendRateSongRequest(qint32,quint32,double,bool)),_mydouban,SLOT(rateSongRequest(qint32,quint32,double,bool))); connect(this,SIGNAL(sendEndSongRequest(qint32,quint32,double)),_mydouban,SLOT(endSongRequest(qint32,quint32,double))); connect(this,SIGNAL(sendByeSongRequest(qint32,quint32,double)),_mydouban,SLOT(byeSongRequest(qint32,quint32,double))); // connect the signals of other widget and the mainwidget slot connect(_mydouban,SIGNAL(loginSucceed(DoubanUser)),this,SLOT(loginSucceed(DoubanUser))); connect(_mydouban,SIGNAL(sendSongList(QList<DoubanFMSong>)),this,SLOT(receiveSongList(QList<DoubanFMSong>))); connect(_mydouban,SIGNAL(sendRateSong(bool)),this,SLOT(receiveRateSong(bool))); connect(_mydouban,SIGNAL(sendSkipSong(bool)),this,SLOT(receiveSkipSong(bool))); connect(_mydouban,SIGNAL(sendByeSong(bool)),this,SLOT(receiveByeSong(bool))); connect(_mydouban,SIGNAL(sendEndSong(bool)),this,SLOT(receiveEndSong(bool))); connect(_mydouban,SIGNAL(sendChannelList(QList<DoubanChannel>,bool)),this,SLOT(receiveChannelList(QList<DoubanChannel>,bool))); connect(_mydouban,SIGNAL(sendLogoutSucceed(bool)),this,SLOT(logoutSucceed(bool))); connect(_pauseMaskWidget,SIGNAL(mousePressed()),this,SLOT(pauseMaskWidgetPressed())); connect(_channelListWidget,SIGNAL(channelChanged(qint32)),this,SLOT(receiveChannelChange(qint32))); //connect the other widget signal and slots connect(_mydouban,SIGNAL(captchaImageLoad(QPixmap)),_loginwidget,SLOT(onCaptchaImageLoad(QPixmap))); connect(_mydouban,SIGNAL(loginFailed(QString)),_loginwidget,SLOT(onLoginFailed(QString))); connect(_mydouban,SIGNAL(sendChannelList(QList<DoubanChannel>,bool)),_channelListWidget,SLOT(onReceiveChannelList(QList<DoubanChannel>,bool))); connect(_loginwidget,SIGNAL(loginRequest(QString,QString,QString)),_mydouban,SLOT(loginRequest(QString,QString,QString))); _mydouban->channelListRequest(); }