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

📄 qmmainwindow.h

📁 可以播放MP3,wma等文件格式的播放器
💻 H
字号:
/* ;-*-c++-*- * qmmainwindow.h * * $Id: qmmainwindow.h,v 1.101 2002/04/01 22:51:01 kyllingstad Exp $ * * Apollo sound player: http://www.apolloplayer.org * Copyright(C) 2000-2002 Apollo Team.  See CREDITS file. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. * * The GNU General Public License is also available online at: * * http://www.gnu.org/copyleft/gpl.html */#ifndef QMMAINWINDOW_H_INCLUDED#define QMMAINWINDOW_H_INCLUDED#include <qapplication.h>#include <qmainwindow.h>//#include <memory>#include <deque>#include <qstatusbar.h>/*! \file qmmainwindow.h  Definition of QmMainWindow class which is the main Apollo window.*/class QLineEdit;class QListViewItem;class QSplitter;class QTextView;class QVBoxLayout;class QWidgetStack;class Message;class QmBrowser;class QmControlBar;class QmFileDialog;class QmMarkDialog;class QmMenuButton;class QmMiniBuffer;class QmPlayFirst;class QmPlayList;class QmPlayListItem;class QmPlayer;class QmPositionBar;class QmRemoteControl;class QmSongItem;class QmStatusBar;class QmVolumeBar;class QmMainWindow : public QMainWindow{    Q_OBJECTpublic:    QmMainWindow(QWidget *parent = 0, const char *name = 0);    virtual ~QmMainWindow();	// session    void restoreState();    void saveState();    void loadStartupPlayList();    void saveStartupPlayList();    static QmMainWindow *mainwin;	// status	bool randomMode() const { return m_Randomp; }	bool loopMode() const { return m_Loopp; }	bool loopOneMode() const { return m_LoopOnep; } 	int volume() const;	int volumeBalanse() const;	int currentSongPlayedTime();		// add to playlist	bool playListAdd(const QString &filename, bool playFirst=false);    void playListAppendDir(const QString &filename);    void playListPrependDir(const QString &filename);	void playListAppendFile(const QString &filename);    void savePlayList(const QString &filename);    bool playListIsEmpty() const;    void playListAppendList(const QString &filename);    void playListPrependList(const QString &filename);	void addFilesDialog();	void configDialog();	void toggleCompactWindow();	void showAbout();		// misc playlist	QmSongItem* playingSong();	QmSongItem* song(int no);    bool playListAtEnd() const;    bool playListAtBeginning() const;    void updatePlayList() const;    void statusUpdate(Message *msg);	int playListPosition();	void playListPosition(int songNo);	void playListDeletePosition(int songNo);	int playListEntries();	const QString& playListFile();    /*! The state of the player, used to determine which play controls are enabled/disabled. */    enum PlayState    {        Stopped, /*! The default state, no song is playing or one has just been stopped. */        Playing, /*! A song is playing. */        Paused,  /*! A song is playing but is paused. */    };    PlayState playingState() const;    void setPlayingState( QmMainWindow::PlayState state );	bool isPlaying() const { return m_PlayState == Playing; }          /*! Main window state - set to busy during longish tasks, used to disable the     *  gui while loading the playlist etc.     */    enum MainState { Ready, Busy };    MainState state() const;    void setState( QmMainWindow::MainState state );    /*! Where the browser is compared to the playlist */    enum BrowserPosition    {        LeftBrowser,        RightBrowser,        TopBrowser,        BottomBrowser    };	void hideBrowser();	void showBrowser();	BrowserPosition browserPosition() const;	void setBrowserPosition(QmMainWindow::BrowserPosition pos);	void setVolume(int vol);	void jumpToSeconds(int seconds);	QmPlayList *playList();    QmBrowser *browser() const;    QmControlBar *controlBar() const;public slots:    void prev();    void next();    void play();    void stop();	void pause();    void toggleRandomMode();	void cycleLoopMode();    void togglePlayList();	void toggleBrowser();	void showDirectoryBrowser();	void showPlaylistBrowser();    void flattenPlayList();	void clearPlayList();	void setMark();	void showMarkDialog();	void startPlayer();    void continueHere(QmPlayListItem * here);    void activateSearch();	void setBrowserLeft();	void setBrowserRight();	void setBrowserTop();	void setBrowserBottom();    void setDisplayFormat();    //    void loadPlayList(const QString &filename = QString::null, QmPlayListItem *above = 0);    void loadPlayListTree(const QString &filename);    void savePlayListTree(const QString &filename = QString::null);    void addToPlayFirst();    void addToPlayFirst(QmPlayListItem *addme);	void showOrHidePlayFirst();    bool moreSongsp() const;	bool prevSongAvailablep() const;	    void updateSongLength(int length);    void updateBitrate(int bitrate);	void showPlayerMessages();private:protected:    QString volumeText() const;    QString positionText() const;    void playAndUpdateControls(QmSongItem *playme);	QmPlayList* activePlayList();	bool tryContinueHere();private slots:    void selected(QListViewItem *item);    void selected(QListViewItem *item, QmPlayList *playlist);    void current(QListViewItem *item);		void playingStopped();	void playerMessage(const QString &info);	void removeItem();	void updateItems();	private:	QmStatusBar			*m_pStatusBar;	QmVolumeBar			*m_pVolumeBar;	QmPositionBar		*m_pPositionBar;	QmControlBar		*m_pControlBar;	QmMiniBuffer        *m_pMiniBuffer;    QmPlayList			*m_pPlayList;    QmPlayFirst			*m_pPlayFirst;	QmBrowser			*m_pBrowser;	QWidget				*m_pPlayListHolder;	QWidget				*m_pPlayFirstHolder;    QVBoxLayout			*top;	QmPlayer			*m_pPlayer;    bool                 m_ContinueHerep;    QmPlayListItem      *m_pContinueHere;    QString              m_ContinuePlayList;    QString              m_ContinueSong;	QTextView			*m_pPlayerMessage;    MainState   		 m_State;    PlayState   		 m_PlayState;	bool				 m_StopClicked;    bool                 m_Randomp;    bool                 m_Loopp;    bool                 m_LoopOnep; 	    QString     		 m_PlayListName;	QmMarkDialog	   	*m_pMarkDialog;    QSplitter          	*m_pListBrowserSplitter;    QSplitter          	*m_pListsSplitter;	BrowserPosition		 m_Position;    static const bool    debug = true;    static QmMainWindow *m_pInstance;	static const unsigned int MESSAGE_LOG_SIZE = 512;	std::deque<Message *> m_Messages;	QmRemoteControl     *m_pRemoteControl;};#endif // QMMAINWINDOW_H_INCLUDED

⌨️ 快捷键说明

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