+
+#ifdef HAVE_LIMITS_H
+# include <limits.h>
+#endif
+
+#define setSpinBounds( spinbox ) { \
+ spinbox->setRange( 0, INT_MAX ); \
+ spinbox->setAccelerated( true ) ; \
+ spinbox->setAlignment( Qt::AlignRight ); \
+ spinbox->setSpecialValueText(""); }
+
+class QTreeWidget;
+class QTreeWidgetItem;
+class QTreeView;
+class QSpinBox;
+class QLineEdit;
+class QLabel;
+
+class MetaPanel: public QWidget
+{
+ Q_OBJECT;
+public:
+ MetaPanel( QWidget *, intf_thread_t * );
+ virtual ~MetaPanel();
+ void saveMeta();
+ void setInput( input_item_t * );
+
+ bool isInEditMode();
+ void setEditMode( bool );
+
+private:
+ input_item_t *p_input;
+ intf_thread_t *p_intf;
+ bool b_inEditMode;
+
+ QLineEdit *uri_text;
+ QLineEdit *title_text;
+ QLineEdit *artist_text;
+ QLineEdit *genre_text;
+ QLineEdit *copyright_text;
+ QLineEdit *collection_text;
+ QLineEdit *seqnum_text;
+ QLineEdit *description_text;
+ QSpinBox *rating_text;
+ QLineEdit *date_text;
+// QLineEdit *setting_text;
+ QLineEdit *language_text;
+ QLineEdit *nowplaying_text;
+ QLineEdit *publisher_text;
+// QLineEdit *encodedby_text;
+ QLabel *art_cover;
+
+public slots:
+ void update( input_item_t * );
+ void clear();
+
+private slots:
+ void enterEditMode();
+
+signals:
+ void uriSet( QString );
+ void editing();
+};
+
+class ExtraMetaPanel: public QWidget
+{
+ Q_OBJECT;
+public:
+ ExtraMetaPanel( QWidget *, intf_thread_t * );
+ virtual ~ExtraMetaPanel() {};
+private:
+ intf_thread_t *p_intf;
+ QTreeWidget *extraMetaTree;
+public slots:
+ void update( input_item_t * );
+ void clear();
+};