[SCM] ktp-common-internals packaging branch, master, updated. debian/15.12.1-2-1839-gf0635e9
Maximiliano Curia
maxy at moszumanska.debian.org
Mon May 9 09:08:33 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=a1cee57
The following commit has been merged in the master branch:
commit a1cee57a00693ee08e72ef97c692b36dc91c6dff
Author: Martin Klapetek <mklapetek at kde.org>
Date: Tue Dec 2 17:50:40 2014 +0100
Port the ContactInfoDialog away from kdelibs4support
REVIEW: 121125
---
KTp/contact-info-dialog.cpp | 69 +++++++++++++++++++++++++--------------------
KTp/contact-info-dialog.h | 10 ++++---
2 files changed, 45 insertions(+), 34 deletions(-)
diff --git a/KTp/contact-info-dialog.cpp b/KTp/contact-info-dialog.cpp
index 47206cd..4cf5df6 100644
--- a/KTp/contact-info-dialog.cpp
+++ b/KTp/contact-info-dialog.cpp
@@ -36,17 +36,20 @@
#include <TelepathyQt/PendingContacts>
#include <TelepathyQt/PendingReady>
-#include <KDebug>
+#include <QDebug>
+#include <QPushButton>
+#include <QLineEdit>
+#include <QMessageBox>
+#include <QFileDialog>
+#include <QMimeType>
+#include <QMimeDatabase>
+#include <QDialogButtonBox>
+
#include <KTitleWidget>
#include <KLocalizedString>
-#include <KPushButton>
-#include <KLineEdit>
#include <KDateComboBox>
-#include <KFileDialog>
#include <KImageFilePreview>
-#include <KMessageBox>
#include <KIconLoader>
-#include <KMimeType>
namespace KTp {
@@ -115,9 +118,10 @@ class ContactInfoDialog::Private
QHBoxLayout *columnsLayout;
QFormLayout *infoLayout;
QFormLayout *stateLayout;
- KPushButton *changeAvatarButton;
- KPushButton *clearAvatarButton;
+ QPushButton *changeAvatarButton;
+ QPushButton *clearAvatarButton;
QLabel *avatarLabel;
+ QDialogButtonBox *buttonBox;
private:
ContactInfoDialog *q;
@@ -146,12 +150,12 @@ void ContactInfoDialog::Private::onContactUpgraded(Tp::PendingOperation* op)
avatarLayout->addWidget(avatarLabel, 0, Qt::AlignTop);
if (editable) {
- changeAvatarButton = new KPushButton(i18n("Change Avatar"), q);
+ changeAvatarButton = new QPushButton(i18n("Change Avatar"), q);
connect(changeAvatarButton, SIGNAL(clicked(bool)),
q, SLOT(onChangeAvatarButtonClicked()));
avatarLayout->addWidget(changeAvatarButton);
- clearAvatarButton = new KPushButton(i18n("Clear Avatar"), q);
+ clearAvatarButton = new QPushButton(i18n("Clear Avatar"), q);
connect(clearAvatarButton, SIGNAL(clicked(bool)),
q, SLOT(onClearAvatarButtonClicked()));
avatarLayout->addWidget(clearAvatarButton);
@@ -210,18 +214,18 @@ void ContactInfoDialog::Private::onContactInfoReceived(Tp::PendingOperation* op)
void ContactInfoDialog::Private::onChangeAvatarButtonClicked()
{
- QPointer<KFileDialog> fileDialog = new KFileDialog(QUrl(), QString(), q);
- fileDialog->setOperationMode(KFileDialog::Opening);
- fileDialog->setPreviewWidget(new KImageFilePreview(fileDialog));
- fileDialog->setMimeFilter(QStringList() << QLatin1String("image/*"));
+ QPointer<QFileDialog> fileDialog = new QFileDialog(q);
+// fileDialog->setPreviewWidget(new KImageFilePreview(fileDialog)); //TODO KF5 - is there a replacement?
+ fileDialog->setMimeTypeFilters(QStringList() << QStringLiteral("image/*"));
+ fileDialog->setFileMode(QFileDialog::ExistingFile);
int c = fileDialog->exec();
- if (fileDialog && c) {
- newAvatarFile = fileDialog->selectedFile();
+ if (fileDialog && c && !fileDialog->selectedFiles().isEmpty()) {
+ newAvatarFile = fileDialog->selectedFiles().first();
QPixmap avatar(newAvatarFile);
if (avatar.isNull()) {
- KMessageBox::error(q, i18n("Failed to load the new avatar image"));
+ QMessageBox::critical(q, QString(), i18n("Failed to load the new avatar image"));
newAvatarFile.clear();
delete fileDialog;
return;
@@ -269,7 +273,7 @@ void ContactInfoDialog::Private::addInfoRow(InfoRowIndex index, const QString &v
infoValueWidgets.insert(index, combo);
} else {
- KLineEdit *edit = new KLineEdit(q);
+ QLineEdit *edit = new QLineEdit(q);
edit->setMinimumWidth(200);
edit->setText(value);
connect(edit, SIGNAL(textChanged(QString)), q, SLOT(onInfoDataChanged()));
@@ -333,8 +337,8 @@ void ContactInfoDialog::Private::loadStateRows()
}
}
-ContactInfoDialog::ContactInfoDialog(const Tp::AccountPtr& account, const Tp::ContactPtr& contact, QWidget* parent)
- : KDialog(parent)
+ContactInfoDialog::ContactInfoDialog(const Tp::AccountPtr &account, const Tp::ContactPtr &contact, QWidget *parent)
+ : QDialog(parent)
, d(new Private(this))
{
#if 0 // Editing contacts is not yet supported in TpQt
@@ -345,17 +349,20 @@ ContactInfoDialog::ContactInfoDialog(const Tp::AccountPtr& account, const Tp::Co
d->account = account;
d->contact = KTp::ContactPtr::qObjectCast(contact);
+ d->buttonBox = new QDialogButtonBox(this);
+
if (d->editable) {
- setButtons(User1 | Close);
- setButtonGuiItem(User1, KGuiItem(i18n("Save"), QLatin1String("document-save")));
+ d->buttonBox->setStandardButtons(QDialogButtonBox::Save | QDialogButtonBox::Close);
} else {
- setButtons(Close);
+ d->buttonBox->setStandardButtons(QDialogButtonBox::Close);
}
+ connect(d->buttonBox, &QDialogButtonBox::clicked, this, &ContactInfoDialog::slotButtonClicked);
+
setMaximumSize(sizeHint());
- QVBoxLayout *layout = new QVBoxLayout(mainWidget());
+ QVBoxLayout *layout = new QVBoxLayout(this);
layout->setSpacing(30);
/* Title - presence icon, alias, id */
@@ -395,6 +402,8 @@ ContactInfoDialog::ContactInfoDialog(const Tp::AccountPtr& account, const Tp::Co
d->loadStateRows();
}
}
+
+ layout->addWidget(d->buttonBox);
}
ContactInfoDialog::~ContactInfoDialog()
@@ -402,9 +411,9 @@ ContactInfoDialog::~ContactInfoDialog()
delete d;
}
-void ContactInfoDialog::slotButtonClicked(int button)
+void ContactInfoDialog::slotButtonClicked(QAbstractButton *button)
{
- if (button == User1) {
+ if (button == d->buttonBox->button(QDialogButtonBox::Save)) {
if (d->avatarChanged) {
Tp::Avatar avatar;
if (!d->newAvatarFile.isEmpty()) {
@@ -415,7 +424,9 @@ void ContactInfoDialog::slotButtonClicked(int button)
avatar.avatarData = file.readAll();
file.seek(0); // reset before passing to KMimeType
- avatar.MIMEType = KMimeType::findByNameAndContent(d->newAvatarFile, &file)->defaultMimeType();
+
+ QMimeDatabase db;
+ avatar.MIMEType = db.mimeTypeForFileNameAndData(d->newAvatarFile, &file).name();
}
d->account->setAvatar(avatar);
@@ -434,7 +445,7 @@ void ContactInfoDialog::slotButtonClicked(int button)
KDateComboBox *combo = qobject_cast<KDateComboBox*>(d->infoValueWidgets.value(index));
field.fieldValue << combo->date().toString();
} else {
- KLineEdit *lineEdit = qobject_cast<KLineEdit*>(d->infoValueWidgets.value(index));
+ QLineEdit *lineEdit = qobject_cast<QLineEdit*>(d->infoValueWidgets.value(index));
field.fieldValue << lineEdit->text();
}
@@ -449,8 +460,6 @@ void ContactInfoDialog::slotButtonClicked(int button)
accept();
return;
}
-
- KDialog::slotButtonClicked(button);
}
diff --git a/KTp/contact-info-dialog.h b/KTp/contact-info-dialog.h
index 833c74f..242055d 100644
--- a/KTp/contact-info-dialog.h
+++ b/KTp/contact-info-dialog.h
@@ -19,29 +19,31 @@
#ifndef KTP_CONTACTINFODIALOG_H
#define KTP_CONTACTINFODIALOG_H
-#include <KDialog>
+#include <QDialog>
#include <KTp/ktpcommoninternals_export.h>
#include <TelepathyQt/Types>
+
+class QAbstractButton;
namespace Tp {
class PendingOperation;
}
namespace KTp {
-class KTPCOMMONINTERNALS_EXPORT ContactInfoDialog : public KDialog
+class KTPCOMMONINTERNALS_EXPORT ContactInfoDialog : public QDialog
{
Q_OBJECT
public:
- explicit ContactInfoDialog(const Tp::AccountPtr &account, const Tp::ContactPtr &contact, QWidget* parent = 0);
+ explicit ContactInfoDialog(const Tp::AccountPtr &account, const Tp::ContactPtr &contact, QWidget *parent = 0);
virtual ~ContactInfoDialog();
protected:
- virtual void slotButtonClicked(int button);
+ virtual void slotButtonClicked(QAbstractButton *button);
private:
class Private;
--
ktp-common-internals packaging
More information about the pkg-kde-commits
mailing list