⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 maindocumentwidgetstack.cpp

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.7平台上编译为嵌入式图形界面操作系统。
💻 CPP
字号:
/************************************************************************ Copyright (C) 2000-2002 Trolltech AS.  All rights reserved.**** This file is part of the Qtopia Environment.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#include <qpainter.h>#include <qtimer.h>#include <qtopia/qpeapplication.h>#include <qtopia/resource.h>#include "mediaplayerstate.h"#include "playlistwidget.h"#include "loopcontrol.h"#include "mediaplayer.h"#include "maindocumentwidgetstack.h"MediaPlayerState *mediaPlayerState = 0;MediaPlayer *mediaPlayer = 0;PlayListWidget *playList = 0;LoopControl *loopControl = 0;MainDocumentWidgetStack *mainDocumentWindow = 0;MainDocumentWidgetStack::MainDocumentWidgetStack( QWidget *parent, const char *name, WFlags /* fl */)    : QWidgetStack( parent, name ), waiting(FALSE){    qDebug( "Thread fixed version" );    loading = TRUE;    setCaption( tr("Media Player") );    setMinimumSize( 128, 128 );    QObject::connect( qApp, SIGNAL( appMessage(const QCString &, const QByteArray &) ), this, SLOT( appMessage(const QCString &, const QByteArray &) ) );    mainDocumentWindow = this;    QTimer::singleShot( 0, this, SLOT( createMediaPlayer() ) );}void MainDocumentWidgetStack::setLoading( bool b ){    loading = b;    if ( !loading ) {	if ( !docString.isEmpty() ) 	    emit handleSetDocument( docString );	else if ( !url.isEmpty() )	    emit openURL( url, mimetype );    }}bool MainDocumentWidgetStack::havePendingSignals(){    return !docString.isEmpty() || !url.isEmpty();}void MainDocumentWidgetStack::setDocument( const QString& fileref ){    if ( loading )	docString = fileref;    else	emit handleSetDocument( fileref );}void MainDocumentWidgetStack::closeEvent( QCloseEvent *ce ){    if ( !visibleWidget() || visibleWidget()->close() )	QWidgetStack::closeEvent( ce );}void MainDocumentWidgetStack::appMessage( const QCString &msg, const QByteArray &data ){    if ( msg == "openURL(QString,QString)" ) {	QDataStream stream( data, IO_ReadOnly );	stream >> url >> mimetype;	QPEApplication::setKeepRunning();    }}MainDocumentWidgetStack::~MainDocumentWidgetStack(){    delete mediaPlayer;    delete loopControl;    delete playList;    delete mediaPlayerState;}void MainDocumentWidgetStack::setWaiting( bool w ){    if ( waiting != w ) {	waiting = w;	if ( waiting ) {		    QPainter p( this );	    QPixmap waitPix = Resource::loadPixmap( "bigwait" );	    p.drawPixmap( (width() - waitPix.width()) / 2, (height() - waitPix.height()) / 2, waitPix );//	    a.processEvents(); // (show hourglass icon while loading)	} else {	}    }}void MainDocumentWidgetStack::createMediaPlayer(){    setWaiting( true );    mediaPlayerState = new MediaPlayerState( 0, "mediaPlayerState" );    playList = new PlayListWidget( this, "playList" );    addWidget( playList, 0 );    playList->setCaption( tr("Media Player") );    if ( !havePendingSignals() ) {	raiseWidget( playList );	// If started normally, show playlist first	playList->show(); // show 	qApp->processEvents(); // (shows up now)    }    // Set for recieving setDocument    QObject::connect( this, SIGNAL( handleSetDocument( const QString& ) ), playList, SLOT( setDocument( const QString& ) ) );        mediaPlayerState->loadPlugins(); // Load plugins and create loopcontrol and mediaplayer classes    loopControl = new LoopControl( 0, "loopControl" );    mediaPlayer = new MediaPlayer( 0, "mediaPlayer" );    setLoading( FALSE );    playList->loadFiles(); // Load files after getting the main window up and handling setDocuments}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -