From 4ae13327f45ed6cac0ba3c989564701508074da4 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Thu, 14 Oct 2010 21:25:35 +0000 Subject: [PATCH] Cleanup clip properties ui svn path=/trunk/kdenlive/; revision=5002 --- src/clipproperties.cpp | 51 ++++++--- src/clipproperties.h | 20 +++- src/widgets/clipproperties_ui.ui | 180 +++++++++---------------------- 3 files changed, 105 insertions(+), 146 deletions(-) diff --git a/src/clipproperties.cpp b/src/clipproperties.cpp index bae098d1..157250c0 100644 --- a/src/clipproperties.cpp +++ b/src/clipproperties.cpp @@ -39,6 +39,7 @@ static const int MARKERTAB = 5; static const int METATAB = 6; static const int ADVANCEDTAB = 7; + ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidget * parent) : QDialog(parent), m_clip(clip), @@ -120,11 +121,13 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg connect(m_view.clip_force_aindex, SIGNAL(toggled(bool)), m_view.clip_aindex, SLOT(setEnabled(bool))); if (props.contains("audiocodec")) - m_view.clip_acodec->setText(props.value("audiocodec")); - if (props.contains("frequency")) - m_view.clip_frequency->setText(props.value("frequency")); + QTreeWidgetItem *item = new QTreeWidgetItem(m_view.clip_aproperties, QStringList() << i18n("Audio codec") << props.value("audiocodec")); + if (props.contains("channels")) - m_view.clip_channels->setText(props.value("channels")); + QTreeWidgetItem *item = new QTreeWidgetItem(m_view.clip_aproperties, QStringList() << i18n("Channels") << props.value("channels")); + + if (props.contains("frequency")) + QTreeWidgetItem *item = new QTreeWidgetItem(m_view.clip_aproperties, QStringList() << i18n("Frequency") << props.value("frequency")); CLIPTYPE t = m_clip->clipType(); if (t != AUDIO && t != AV) { @@ -259,23 +262,34 @@ ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidg m_view.tabWidget->removeTab(IMAGETAB); m_view.tabWidget->removeTab(SLIDETAB); m_view.tabWidget->removeTab(COLORTAB); - if (props.contains("frame_size")) - m_view.clip_size->setText(props.value("frame_size")); + + + + m_propsDelegate = new PropertiesViewDelegate(this); + m_view.clip_vproperties->setItemDelegate(m_propsDelegate); + m_view.clip_aproperties->setItemDelegate(m_propsDelegate); + m_view.clip_aproperties->setStyleSheet(QString("QTreeWidget { background-color: transparent;}")); + m_view.clip_vproperties->setStyleSheet(QString("QTreeWidget { background-color: transparent;}")); + if (props.contains("videocodec")) - m_view.clip_vcodec->setText(props.value("videocodec")); + QTreeWidgetItem *item = new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Video codec") << props.value("videocodec")); + + if (props.contains("frame_size")) + new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Frame size") << props.value("frame_size")); + if (props.contains("fps")) { - m_view.clip_fps->setText(props.value("fps")); + new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Frame rate") << props.value("fps")); if (!m_view.clip_framerate->isEnabled()) m_view.clip_framerate->setValue(props.value("fps").toDouble()); } - if (props.contains("pix_fmt")) { - m_view.clip_pixfmt->setText(props.value("pix_fmt")); - } else m_view.clip_pixfmt->setEnabled(false); - if (props.contains("colorspace")) { - m_view.clip_colorspace->setText(ProfilesDialog::getColorspaceDescription(props.value("colorspace").toInt())); - } else m_view.clip_colorspace->setEnabled(false); - if (props.contains("aspect_ratio")) - m_view.clip_ratio->setText(props.value("aspect_ratio")); + new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Pixel aspect ratio") << props.value("aspect_ratio")); + + if (props.contains("pix_fmt")) + new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Pixel format") << props.value("pix_fmt")); + + if (props.contains("colorspace")) + new QTreeWidgetItem(m_view.clip_vproperties, QStringList() << i18n("Colorspace") << ProfilesDialog::getColorspaceDescription(props.value("colorspace").toInt())); + int width = 180.0 * KdenliveSettings::project_display_ratio(); if (width % 2 == 1) width++; QPixmap pix = m_clip->thumbProducer()->getImage(url, m_clip->getClipThumbFrame(), width, 180); @@ -417,7 +431,10 @@ ClipProperties::ClipProperties(QList cliplist, Timecode tc, QMap } } - +ClipProperties::~ClipProperties() +{ + delete m_propsDelegate; +} void ClipProperties::slotEnableLuma(int state) { diff --git a/src/clipproperties.h b/src/clipproperties.h index 23c1f4d7..d10dfb7e 100644 --- a/src/clipproperties.h +++ b/src/clipproperties.h @@ -21,12 +21,27 @@ #ifndef CLIPPROPERTIES_H #define CLIPPROPERTIES_H - #include "definitions.h" #include "timecode.h" #include "docclipbase.h" #include "ui_clipproperties_ui.h" +#include + +class PropertiesViewDelegate : public QStyledItemDelegate +{ + Q_OBJECT +public: + PropertiesViewDelegate(QWidget *parent) : QStyledItemDelegate(parent) { + m_height = parent->fontMetrics().height() * 1.5; + } + virtual QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const { + return QSize(10, m_height); + } +private: + int m_height; +}; + class ClipProperties : public QDialog { Q_OBJECT @@ -34,6 +49,7 @@ class ClipProperties : public QDialog public: ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidget * parent = 0); ClipProperties(QList cliplist, Timecode tc, QMap commonproperties, QWidget * parent); + virtual ~ClipProperties(); QMap properties(); const QString &clipId() const; bool needsTimelineRefresh() const; @@ -62,6 +78,8 @@ private: bool m_clipNeedsRefresh; /** clip resource changed, reload it */ bool m_clipNeedsReLoad; + /** Used to draw video / audio properties */ + PropertiesViewDelegate *m_propsDelegate; signals: void addMarker(const QString &, GenTime, QString); diff --git a/src/widgets/clipproperties_ui.ui b/src/widgets/clipproperties_ui.ui index bd71fb76..27722dde 100644 --- a/src/widgets/clipproperties_ui.ui +++ b/src/widgets/clipproperties_ui.ui @@ -110,100 +110,41 @@ - - - Video codec + + + QFrame::NoFrame - - - - - - true - - - - - - - Frame size - - - - - - + true - - - - - - Frame rate + + QAbstractItemView::NoSelection - - - - - - true + + false - - - - - - Pixel aspect ratio + + false - - - - - + true - - - - - - Qt::Vertical - - - - 20 - 17 - - - - - - - - Pixel format - - - - - - - Colorspace - - - - - - + true - - - - - - true + + 2 + + + 1 + + + + + 2 + + @@ -213,60 +154,43 @@ Audio - - - - true + + + + QFrame::NoFrame - - - - - + true - - - - - - true + + QAbstractItemView::NoSelection - - - - - - Audio codec + + false - - - - - - Channels + + false - - - - - - Frequency + + true - - - - - - Qt::Vertical + + true - - - 20 - 40 - + + 2 - + + + 1 + + + + + 2 + + + -- 2.39.2