26 #include <QApplication> 28 #include <QGridLayout> 31 #include <KLocalizedString> 32 #include <KHelpClient> 42 setFrameStyle(QFrame::NoFrame);
44 QGridLayout*
const gbox =
new QGridLayout(
this);
50 gbox->setColumnStretch(0, 10);
51 gbox->setColumnStretch(2, 10);
52 gbox->setRowStretch(0, 10);
53 gbox->setRowStretch(2, 10);
55 m_vbox =
new QVBoxLayout();
60 gbox->addLayout(
m_vbox, 1, 1);
81 const QList<QObject*> l = children();
82 foreach (QObject *o, l) {
83 if (o->isWidgetType()) {
85 QWidget *
const w =
static_cast<QWidget *
>(o);
87 QSize s = w->minimumSize();
89 s = w->minimumSizeHint();
96 total_size.setHeight(total_size.height() + s.height());
97 if (s.width() > total_size.width()) {
98 total_size.setWidth(s.width());
108 total_size.setHeight(total_size.height() +
109 layout()->spacing() * (numChild - 1));
110 total_size += QSize(layout()->margin()*2, layout()->margin()*2 + 1);
112 total_size = QSize(1, 1);
126 widget->setParent(
this);
128 m_vbox->addWidget(widget, 0, Qt::AlignCenter);
132 const QList<QObject *> l = children();
133 foreach (QObject *o, l) {
134 if (o->isWidgetType())
135 static_cast<QWidget *>(o)->setMinimumWidth(s.width());
141 const QString &_url,
const QString &_task)
144 _name, _email, _url, _task);
153 const QString &_name,
154 const QString &_email,
156 const QString &_work)
159 for (
int i=0; i < 4; ++i) {
160 m_text[i] =
new QLabel(
this);
163 m_text[i]->setOpenExternalLinks(
true);
164 m_text[i]->setTextInteractionFlags(Qt::LinksAccessibleByMouse);
168 m_text[0]->setText(_name);
171 if (!_email.isEmpty())
172 m_text[1]->setText(
_(
"<a href=\"mailto:%1\">%1</a>").arg(_email));
176 m_text[2]->setText(
_(
"<a href=\"%1\">%1</a>").arg(_url));
179 m_text[3]->setText(_work);
199 return minimumSizeHint();
205 if (layout())
delete layout();
208 if (!
m_text[0] || !
m_text[0]->text().isEmpty()) { ++row; }
209 if (!
m_text[1] || !
m_text[1]->text().isEmpty()) { ++row; }
210 if (!
m_text[2] || !
m_text[2]->text().isEmpty()) { ++row; }
211 if (!
m_text[3] || !
m_text[3]->text().isEmpty()) { ++row; }
215 gbox =
new QGridLayout(
this);
219 for (
int i=0; i<4; ++i)
223 gbox =
new QGridLayout(
this);
226 gbox->setMargin(frameWidth()+1);
229 gbox =
new QGridLayout(
this);
232 gbox->setMargin(frameWidth()+1);
234 gbox->addItem(
new QSpacerItem(20, 0), 0, 0);
235 gbox->setColumnStretch(1, 10);
238 for (
int i = 0, r = 0; i < 4; ++i) {
242 m_text[i]->setFixedHeight(fontMetrics().lineSpacing());
245 if (!
m_text[i]->text().isEmpty()) {
247 gbox->addWidget(
m_text[i], r, 0, 1, 2, Qt::AlignLeft);
249 gbox->addWidget(
m_text[i], r, 1, Qt::AlignLeft );
AboutContainer(QWidget *parent=Q_NULLPTR)
QSize sizeHint() const Q_DECL_OVERRIDE
virtual QSize sizeHint() const Q_DECL_OVERRIDE
virtual void updateLayout()
virtual ~AboutContainer() Q_DECL_OVERRIDE
virtual ~AboutContributor() Q_DECL_OVERRIDE
AboutContributor(QWidget *parent, const QString &username, const QString &email, const QString &url, const QString &work)
virtual void fontChange(const QFont &oldFont)
void addWidget(QWidget *widget)
void addPerson(const QString &name, const QString &email, const QString &url, const QString &task)
virtual QSize minimumSizeHint() const Q_DECL_OVERRIDE