tagdialog.h
来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 136 行
H
136 行
// (c) 2004 Mark Kretschmann <markey@web.de>// (c) 2004 Pierpaolo Di Panfilo <pippo_dp@libero.it>// (c) 2005 Alexandre Pereira de Oliveira <aleprj@gmail.com>// See COPYING file for licensing information.#ifndef AMAROK_TAGDIALOG_H#define AMAROK_TAGDIALOG_H#include "config.h"#include "htmlview.h"#include "ktrm.h"#include "metabundle.h" //stack alloc#include "tagdialogbase.h" //baseclass#include "qwidget.h"#include <kurl.h> //stack alloc#include <qdatetime.h>#include <qlabel.h>#include <qmap.h>#include <qptrlist.h>#include <khtml_part.h>class PlaylistItem;namespace TagLib { namespace ID3v2 { class Tag; }}class TagDialog : public TagDialogBase{ Q_OBJECT public: enum Changes { NOCHANGE=0, SCORECHANGED=1, TAGSCHANGED=2, LYRICSCHANGED=4, RATINGCHANGED=8, LABELSCHANGED=16 }; enum Tabs { SUMMARYTAB, TAGSTAB, LYRICSTAB, STATSTAB, LABELSTAB }; TagDialog( const KURL& url, QWidget* parent = 0 ); TagDialog( const KURL::List list, QWidget* parent = 0 ); TagDialog( const MetaBundle& mb, PlaylistItem* item, QWidget* parent = 0 ); ~TagDialog(); void setTab( int id ); friend class TagSelect; signals: void lyricsChanged( const QString& ); public slots: void openURLRequest(const KURL &url ); private slots: void accept(); void cancelPressed(); void openPressed(); void previousTrack(); void nextTrack(); void perTrack(); void checkModified(); void loadCover( const QString &artist, const QString &album ); void musicbrainzQuery(); void guessFromFilename(); void setFileNameSchemes(); void queryDone( KTRMResultList results, QString error ); void fillSelected( KTRMResult selected ); void resetMusicbrainz(); private: void init(); void readTags(); void readMultipleTracks(); void setMultipleTracksMode(); void setSingleTrackMode(); void enableItems(); bool hasChanged(); int changes(); void storeTags(); void storeTags( const KURL& url ); void storeTags( const KURL& url, int changes, const MetaBundle &mb ); void storeLabels( const KURL &url, const QStringList &labels ); void loadTags( const KURL& url ); void loadLyrics( const KURL& url ); void loadLabels( const KURL &url ); MetaBundle bundleForURL( const KURL &url ); float scoreForURL( const KURL &url ); int ratingForURL( const KURL &url ); QString lyricsForURL( const KURL &url ); QStringList labelsForURL( const KURL &url ); QStringList getCommonLabels(); void saveTags(); bool writeTag( MetaBundle &mb, bool updateCB=true ); const QString unknownSafe( QString ); const QStringList statisticsData(); void applyToAllTracks(); const QStringList filenameSchemes(); QStringList labelListFromText( const QString &text ); void generateDeltaForLabelList( const QStringList &list ); QString generateHTML( const QStringList &labels ); MetaBundle m_bundle; KURL::List::iterator m_currentURL; QString m_lyrics; bool m_perTrack; PlaylistItem* m_playlistItem; QMap<QString, MetaBundle> storedTags; QMap<QString, float> storedScores; QMap<QString, int> storedRatings; QMap<QString, QString> storedLyrics; QMap<QString, QStringList> newLabels; QMap<QString, QStringList> originalLabels; KURL::List m_urlList; QString m_buttonMbText; QString m_path; QString m_currentCover; QStringList m_labels; QStringList m_addedLabels; QStringList m_removedLabels; KURL m_mbTrack; QString m_commaSeparatedLabels; //KHTMLPart *m_labelCloud; HTMLView *m_labelCloud;};#endif /*AMAROK_TAGDIALOG_H*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?