/usr/include/qmmpui/playlistitem.h is in libqmmpui-dev 0.5.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | /***************************************************************************
* Copyright (C) 2008 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* 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. *
***************************************************************************/
#ifndef PLAYLISTITEM_H
#define PLAYLISTITEM_H
#include <QMap>
#include <qmmp/qmmp.h>
class FileInfo;
class QSettings;
/** @brief The PlayListItem class provides an item for use with the PlayListModel class.
* @author Ilya Kotov <forkotov02@hotmail.ru>
*/
class PlayListItem : public QMap <Qmmp::MetaData, QString>
{
public:
/*!
* Current state of playlist item.
* FREE - instance is free and may be deleted
* EDITING - instance is currently busy in some kind of operation(tags editing etc.)
* and can't be deleted at the moment. Set flag SCHEDULED_FOR_DELETION for it
* instead of delete operator call.
*/
enum FLAGS
{
FREE = 0, /*!< instance is free and may be deleted */
EDITING, /*!< instance is currently busy */
SCHEDULED_FOR_DELETION /*!< instance is sheduled for deletion */
};
/*!
* Constructs an empty plalist item.
*/
PlayListItem();
/*!
* Constructs a new PlayListItem that is a copy of the given \b item
*/
PlayListItem(const PlayListItem &item);
/*!
* Constructs plalist item with given metadata.
* @param info Media file information.
*/
PlayListItem(FileInfo *info);
/*!
* Object destructor.
*/
~PlayListItem();
/*!
* Sets item selection flag to \b select
* @param select State of selection (\b true select, \b false unselect)
*/
void setSelected(bool select);
/*!
* Return \b true if item is selected, otherwise returns \b false.
*/
bool isSelected() const;
/*!
* It is used by PlayListModel class.
*/
void setCurrent(bool yes);
/*!
* Returns \b true if the item is the current item; otherwise returns returns \b false.
*/
bool isCurrent() const;
/*!
* Returns current state of the playlist item.
*/
FLAGS flag() const;
/*!
* Sets state of the playlist item.
*/
void setFlag(FLAGS);
/*!
* Returns item short title.
*/
const QString text();
/*!
* Direct access to the item short title.
* @param title New short title.
*/
void setText(const QString &title);
/*!
* Returns song length in seconds.
*/
qint64 length() const;
/*!
* Sets length in seconds.
*/
void setLength(qint64 length);
/*!
* Same as url()
*/
const QString url() const;
/*!
* Updates current metadata.
* @param metaData Map with metadata values.
*/
void updateMetaData(const QMap <Qmmp::MetaData, QString> &metaData);
/*!
* Gets new metadata from file (works for local files only).
*/
void updateTags();
private:
void readMetadata();
QString m_title;
FileInfo *m_info;
bool m_selected;
bool m_current;
FLAGS m_flag;
qint64 m_length;
};
#endif
|