[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/libs/kipi-plugins/metadataedit
From: Gilles Caulier <caulier.gilles () gmail ! com>
Date: 2007-10-19 11:51:21
Message-ID: 1192794681.702701.23797.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 726989 by cgilles:
XMP Content dialog page in progress. Not yet complete
M +52 -45 altlangstringedit.cpp
M +3 -1 altlangstringedit.h
M +1 -3 xmpcontent.cpp
--- trunk/extragear/libs/kipi-plugins/metadataedit/altlangstringedit.cpp #726988:726989
@@ -23,7 +23,6 @@
// QT includes.
-#include <Q3Header>
#include <QLayout>
#include <QLabel>
#include <QCheckBox>
@@ -31,7 +30,7 @@
// KDE includes.
-#include <k3listview.h>
+#include <klistwidget.h>
#include <klocale.h>
#include <kglobal.h>
#include <kdialog.h>
@@ -45,6 +44,7 @@
// Local includes.
+#include "metadatacheckbox.h"
#include "altlangstringedit.h"
#include "altlangstringedit.moc"
@@ -60,9 +60,9 @@
addValueButton = 0;
delValueButton = 0;
repValueButton = 0;
- listView = 0;
+ valueBox = 0;
valueCheck = 0;
- textEdit = 0;
+ valueBox = 0;
languageBtn = 0;
}
@@ -72,17 +72,16 @@
QPushButton *delValueButton;
QPushButton *repValueButton;
- QCheckBox *valueCheck;
+ KListWidget *valueBox;
- K3ListView *listView;
-
KLanguageButton *languageBtn;
- KTextEdit *textEdit;
+ KTextEdit *valueEdit;
+
+ MetadataCheckBox *valueCheck;
};
-AltLangStringsEdit::AltLangStringsEdit(QWidget* parent, const QString& title,
- const QString& desc)
+AltLangStringsEdit::AltLangStringsEdit(QWidget* parent, const QString& title, const QString& desc)
: QWidget(parent)
{
d = new AltLangStringsEditPriv;
@@ -91,7 +90,7 @@
// --------------------------------------------------------
- d->valueCheck = new QCheckBox(title, this);
+ d->valueCheck = new MetadataCheckBox(title, this);
d->addValueButton = new QPushButton(this);
d->delValueButton = new QPushButton(this);
@@ -105,33 +104,21 @@
d->delValueButton->setEnabled(false);
d->repValueButton->setEnabled(false);
- d->listView = new K3ListView(this);
- d->listView->header()->hide();
- d->listView->addColumn("Language"); // No need i18n here
- d->listView->addColumn("Text"); // No need i18n here
- d->listView->setResizeMode(Q3ListView::AllColumns);
- d->listView->setAllColumnsShowFocus(true);
- d->listView->setSorting(-1);
- d->listView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- d->listView->setSelectionMode(Q3ListView::Single);
- d->listView->setFullWidth(true);
+ d->valueBox = new KListWidget(this);
+ d->valueBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ d->valueBox->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- new K3ListViewItem(d->listView, d->listView->lastItem(), QString("default"),
- QString("zobby la mouche"));
- new K3ListViewItem(d->listView, d->listView->lastItem(), QString("French"),
- QString("zobby la mouche"));
- new K3ListViewItem(d->listView, d->listView->lastItem(), QString("English"),
- QString("zobby la mouche"));
-
d->languageBtn = new KLanguageButton(this);
+ d->languageBtn->insertLanguage("x-default", "Default");
+ d->languageBtn->insertSeparator();
d->languageBtn->setMaximumHeight( fontMetrics().height()+2 );
QStringList list = KGlobal::locale()->allLanguagesList();
for (QStringList::Iterator it = list.begin(); it != list.end(); ++it)
d->languageBtn->insertLanguage(*it);
- d->textEdit = new KTextEdit(this);
- d->textEdit->setWhatsThis(desc);
- d->textEdit->setMaximumHeight( fontMetrics().height()*3 ); // 3 lines used to edit text.
+ d->valueEdit = new KTextEdit(this);
+ d->valueEdit->setWhatsThis(desc);
+ d->valueEdit->setMaximumHeight( fontMetrics().height()*3 ); // 3 lines used to edit text.
// --------------------------------------------------------
@@ -142,8 +129,8 @@
grid->addWidget(d->repValueButton, 0, 4, 1, 1);
grid->addWidget(new QLabel(i18n("Language:")), 1, 0, 1, 1);
grid->addWidget(d->languageBtn, 1, 1, 1, 4);
- grid->addWidget(d->textEdit, 2, 0, 1, 5);
- grid->addWidget(d->listView, 0, 5, 3, 1);
+ grid->addWidget(d->valueEdit, 2, 0, 1, 5);
+ grid->addWidget(d->valueBox, 0, 5, 3, 1);
grid->setColumnStretch(1, 10);
grid->setColumnStretch(5, 100);
grid->setMargin(0);
@@ -151,7 +138,7 @@
// --------------------------------------------------------
- connect(d->listView, SIGNAL(selectionChanged()),
+ connect(d->valueBox, SIGNAL(itemSelectionChanged()),
this, SLOT(slotSelectionChanged()));
connect(d->addValueButton, SIGNAL(clicked()),
@@ -169,7 +156,7 @@
this, SIGNAL(signalToggled(bool)));
connect(d->valueCheck, SIGNAL(toggled(bool)),
- d->textEdit, SLOT(setEnabled(bool)));
+ d->valueEdit, SLOT(setEnabled(bool)));
connect(d->valueCheck, SIGNAL(toggled(bool)),
d->addValueButton, SLOT(setEnabled(bool)));
@@ -181,7 +168,7 @@
d->repValueButton, SLOT(setEnabled(bool)));
connect(d->valueCheck, SIGNAL(toggled(bool)),
- d->listView, SLOT(setEnabled(bool)));
+ d->valueBox, SLOT(setEnabled(bool)));
// --------------------------------------------------------
@@ -203,6 +190,16 @@
delete d;
}
+void AltLangStringsEdit::setValid(bool v)
+{
+ d->valueCheck->setValid(v);
+}
+
+bool AltLangStringsEdit::isValid() const
+{
+ return d->valueCheck->isValid();
+}
+
void AltLangStringsEdit::slotDeleteValue()
{
/* QListWidgetItem *item = d->valueBox->currentItem();
@@ -240,8 +237,11 @@
void AltLangStringsEdit::slotAddValue()
{
-/* QString newValue = d->valueEdit->text();
- if (newValue.isEmpty()) return;
+ QString lang = d->languageBtn->current();
+ QString text = d->valueEdit->toPlainText();
+ if (text.isEmpty()) return;
+
+ QString newValue = QString("[%1] %2").arg(lang).arg(text);
bool found = false;
for (int i = 0 ; i < d->valueBox->count(); i++)
@@ -258,7 +258,7 @@
{
d->valueBox->insertItem(d->valueBox->count(), newValue);
d->valueEdit->clear();
- }*/
+ }
}
void AltLangStringsEdit::setValues(const AltLangDataList& values)
@@ -266,17 +266,22 @@
blockSignals(true);
d->oldValues = values;
-/* d->valueBox->clear();
+ d->valueBox->clear();
d->valueCheck->setChecked(false);
if (!d->oldValues.isEmpty())
{
- d->valueBox->insertItems(0, d->oldValues);
+ for (AltLangDataList::Iterator it = d->oldValues.begin(); it != d->oldValues.end(); ++it)
+ {
+ QString newValue = QString("[%1] %2").arg((*it).lang).arg((*it).text);
+ d->valueBox->insertItem(0, newValue);
+ }
+
d->valueCheck->setChecked(true);
}
d->valueEdit->setEnabled(d->valueCheck->isChecked());
d->valueBox->setEnabled(d->valueCheck->isChecked());
d->addValueButton->setEnabled(d->valueCheck->isChecked());
- d->delValueButton->setEnabled(d->valueCheck->isChecked());*/
+ d->delValueButton->setEnabled(d->valueCheck->isChecked());
blockSignals(false);
}
@@ -286,11 +291,13 @@
oldValues = d->oldValues;
newValues.clear();
-/* for (int i = 0 ; i < d->valueBox->count(); i++)
+ for (int i = 0 ; i < d->valueBox->count(); i++)
{
QListWidgetItem *item = d->valueBox->item(i);
- newValues.append(item->text());
- }*/
+ QString lang = item->text().left(item->text().indexOf("] ")).right(1);
+ QString text = item->text().right(item->text().indexOf("] ")+2);
+ newValues.append(AltLangData(lang, text));
+ }
return d->valueCheck->isChecked();
}
--- trunk/extragear/libs/kipi-plugins/metadataedit/altlangstringedit.h #726988:726989
@@ -48,7 +48,6 @@
QString text;
};
-
class AltLangStringsEdit : public QWidget
{
Q_OBJECT
@@ -65,6 +64,9 @@
void setValues(const AltLangDataList& values);
bool getValues(AltLangDataList& oldValues, AltLangDataList& newValues);
+ void setValid(bool v);
+ bool isValid() const;
+
signals:
void signalToggled(bool);
--- trunk/extragear/libs/kipi-plugins/metadataedit/xmpcontent.cpp #726988:726989
@@ -210,9 +210,7 @@
exiv2Iface.setXmp(xmpData);
QString data;
QStringList list;
-
-/* d->captionEdit->clear();
- d->captionCheck->setChecked(false);
+/*
data = exiv2Iface.getIptcTagString("Iptc.Application2.Caption", false);
if (!data.isNull())
{
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic