+void InfoSidebarPage::init()
+{
+ const int spacing = KDialog::spacingHint();
+
+ m_timer = new QTimer(this);
+ m_timer->setSingleShot(true);
+ connect(m_timer, SIGNAL(timeout()),
+ this, SLOT(slotTimeout()));
+
+ QVBoxLayout* layout = new QVBoxLayout;
+ layout->setSpacing(spacing);
+
+ // name
+ m_nameLabel = new QLabel(this);
+ QFont font = m_nameLabel->font();
+ font.setBold(true);
+ m_nameLabel->setFont(font);
+ m_nameLabel->setAlignment(Qt::AlignHCenter);
+ m_nameLabel->setWordWrap(true);
+ m_nameLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+
+ // preview
+ m_preview = new PixmapViewer(this);
+ m_preview->setMinimumWidth(KIconLoader::SizeEnormous + KIconLoader::SizeMedium);
+ m_preview->setMinimumHeight(KIconLoader::SizeEnormous);
+
+ if (MetaDataWidget::metaDataAvailable()) {
+ // rating, comment and tags
+ m_metaDataWidget = new MetaDataWidget(this);
+ m_metaDataWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ }
+
+ // general meta text information
+ m_metaTextLabel = new MetaTextLabel(this);
+ m_metaTextLabel->setMinimumWidth(spacing);
+ m_metaTextLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+
+ layout->addWidget(m_nameLabel);
+ layout->addWidget(new KSeparator(this));
+ layout->addWidget(m_preview);
+ layout->addWidget(new KSeparator(this));
+ if (m_metaDataWidget != 0) {
+ layout->addWidget(m_metaDataWidget);
+ layout->addWidget(new KSeparator(this));
+ }
+ layout->addWidget(m_metaTextLabel);
+
+ // ensure that widgets in the information side bar are aligned towards the top
+ layout->addStretch(1);
+ setLayout(layout);
+
+ m_initialized = true;
+}
+