contextbrowser.h

来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 223 行

H
223
字号
// (c) 2004 Christian Muehlhaeuser <chris@chris.de>// (c) 2005 Reigo Reinmets <xatax@hot.ee>// (c) 2005 Mark Kretschmann <markey@web.de>// (c) 2006 Peter C. Ndikuwera <pndiku@gmail.com>// License: GNU General Public License V2#ifndef AMAROK_CONTEXTBROWSER_H#define AMAROK_CONTEXTBROWSER_H#include "amarokdcophandler.h"#include "clicklineedit.h"#include "engineobserver.h"#include <ktabwidget.h>#include <ktoolbarbutton.h>#include <kurl.h>class ClickLineEdit;class CollectionDB;class Color;class HTMLView;class KPopupMenu;class MetaBundle;class QPalette;class QVBox;class QLineEdit;class QComboBox;class KDialogBase;class KTabBar;class KTextEdit;class CueFile;namespace Browser { class ToolBar; }namespace KIO { class Job; class TransferJob; }class ContextBrowser : public KTabWidget, public EngineObserver{    Q_OBJECT        friend class CurrentTrackJob;        friend class Amarok::DcopContextBrowserHandler;        static ContextBrowser *s_instance;    public:        ContextBrowser( const char *name );       ~ContextBrowser();        static ContextBrowser *instance() { return s_instance; }        void setFont( const QFont& );        void reloadStyleSheet();        static KURL::List expandURL( const KURL &url ); // expand urls (album, compilation, ...)        static bool hasContextProtocol( const KURL &url ); // is url expandable by context browser?        virtual bool eventFilter( QObject *o, QEvent *e ); //required by the labels dialog    public slots:        void openURLRequest(const KURL &url );        void collectionScanStarted();        void collectionScanDone( bool changed );        void renderView();        void lyricsChanged( const QString& );        void lyricsScriptChanged();        void lyricsResult( QCString cXmlDoc, bool cached = false );    protected:        void engineNewMetaData( const MetaBundle&, bool );        void engineStateChanged( Engine::State, Engine::State = Engine::Empty );        void paletteChange( const QPalette& );    protected slots:        void wheelDelta( int delta );    private slots:        void tabChanged( QWidget *page );        void slotContextMenu( const QString& urlString, const QPoint& point );        void showContext( const KURL& url, bool fromHistory = false );        void showCurrentTrack();        void showLyrics( const QString& url = QString::null );        void showWikipedia( const QString& url = QString::null, bool fromHistory = false, bool replaceHistory = false );        void showWikipediaEntry( const QString& entry, bool replaceHistory = false );        void reloadWikipedia();        void showLabelsDialog();        void coverFetched( const QString &artist, const QString &album );        void coverRemoved( const QString &artist, const QString &album );        void similarArtistsFetched( const QString &artist );        void imageFetched( const QString &remoteURL );        void tagsChanged( const MetaBundle &bundle );        void tagsChanged( const QString &oldArtist, const QString &oldAlbum );        void ratingOrScoreOrLabelsChanged( const QString &path );        void refreshCurrentTrackPage();        void contextHistoryBack();        void lyricsAdd();        void lyricsEditToggle();        void lyricsSearch();        void lyricsRefresh();        void lyricsExternalPage();	void lyricsSearchText( const QString &text );	void lyricsSearchTextNext();	void lyricsSearchTextHide();	void lyricsSearchTextShow();	void lyricsSearchTextToggle();        void wikiHistoryBack();        void wikiHistoryForward();        void wikiBackPopupActivated( int id );        void wikiForwardPopupActivated( int id );        void wikiArtistPage();        void wikiAlbumPage();        void wikiTitlePage();        void wikiExternalPage();        void wikiResult( KIO::Job* job );        void wikiConfigApply();        void wikiConfig();        void wikiConfigChanged( int activeItem );    private:        enum { CONTEXT_BACK, CONTEXT_FORWARD, CONTEXT_CURRENT, CONTEXT_HOME, CONTEXT_SEARCH };        enum { LYRICS_ADD, LYRICS_EDIT, LYRICS_SEARCH, LYRICS_REFRESH, LYRICS_BROWSER };        enum { WIKI_BACK, WIKI_FORWARD, WIKI_ARTIST, WIKI_ALBUM, WIKI_TITLE, WIKI_BROWSER, WIKI_CONFIG };        typedef enum {SHOW_ALBUM_NORMAL, SHOW_ALBUM_SCORE, SHOW_ALBUM_LEAST_PLAY} T_SHOW_ALBUM_TYPE;        static const uint WIKI_MAX_HISTORY = 20;        static const uint CONTEXT_MAX_HISTORY = 20;        void showIntroduction();        void saveHtmlData();        void showScanning();        static QString getEncodedImage( const QString &imageUrl );        static QString wikiLocale();        static void setWikiLocale( const QString &locale );        static QString wikiURL( const QString &item );        QString wikiArtistPostfix() const;        QString wikiAlbumPostfix() const;        QString wikiTrackPostfix() const;        HTMLView    *m_currentTrackPage;        HTMLView    *m_lyricsPage;        HTMLView    *m_wikiPage;        QVBox        *m_contextTab;        QVBox        *m_lyricsTab;        QVBox        *m_wikiTab;        // These controls are used to dictate whether the page should be rebuilt        // true -> need rebuild        bool          m_dirtyCurrentTrackPage;        bool          m_dirtyLyricsPage;        bool          m_dirtyWikiPage;        QStringList   m_contextBackHistory;        KURL          m_contextURL;        QString       m_styleSheet;        bool          m_emptyDB;        QString       m_lyricAddUrl;        QString       m_lyricSearchUrl;        QString       m_lyricCurrentUrl;        Browser::ToolBar* m_lyricsToolBar;        KTextEdit*    m_lyricsTextEdit;        QString       m_lyricsBeingEditedUrl;        QString       m_lyricsBeingEditedArtist;        QString       m_lyricsBeingEditedTitle;        ClickLineEdit* m_lyricsSearchText;        KToolBar*     m_lyricsTextBar;        bool          m_lyricsTextBarShowed;        QString       m_wiki;        QString       m_wikiLanguages;        static QString s_wikiLocale;        QString       m_wikiBaseUrl;        QString       m_wikiCurrentUrl;        QString       m_wikiCurrentEntry;        QStringList   m_wikiBackHistory;        QStringList   m_wikiForwardHistory;        KPopupMenu*   m_wikiBackPopup;        KPopupMenu*   m_wikiForwardPopup;        KIO::TransferJob* m_wikiJob;        Browser::ToolBar* m_wikiToolBar;        QLineEdit*    m_wikiLocaleEdit;        QComboBox*    m_wikiLocaleCombo;        KDialogBase*  m_wikiConfigDialog;        QString       m_HTMLSource;        QStringList   m_metadataHistory;        KURL          m_currentURL;        bool          m_relatedOpen;        bool          m_suggestionsOpen;        bool          m_favoritesOpen;        bool          m_labelsOpen;        bool          m_showRelated;        bool          m_showSuggested;        bool          m_showFaves;        bool          m_showLabels;        bool          m_showFreshPodcasts;        bool          m_showFavoriteAlbums;        bool          m_showNewestAlbums;        bool          m_browseArtists;        QString       m_artist;        QStringList   m_shownAlbums;        bool          m_browseLabels;        QString       m_label;        ClickLineEdit* m_addLabelEdit;        QListView*    m_labelListView;        CueFile      *m_cuefile;};#endif /* AMAROK_CONTEXTBROWSER_H */

⌨️ 快捷键说明

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