[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-imaging
Subject:    [Kde-imaging] extragear/libs/kipi-plugins/metadataedit
From:       Gilles Caulier <caulier.gilles () gmail ! com>
Date:       2007-10-23 13:42:01
Message-ID: 1193146921.856973.25736.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 728501 by cgilles:

kipi-plugins from trunk (KDE4): XMP metadata editor : fix management of alternative language list. 
Update content of language combobox accordinly with already assigned languages 
(only one language string entry is autorized).

Now, XMP Contents dialog page from editor is fully implemented.

CCMAIL: kde-imaging@kde.org



 M  +25 -5     altlangstringedit.cpp  
 M  +4 -0      altlangstringedit.h  


--- trunk/extragear/libs/kipi-plugins/metadataedit/altlangstringedit.cpp #728500:728501
@@ -294,11 +294,6 @@
     d->valueBox->setSortingEnabled(true);
 
     d->languageCB = new KIPIPlugins::SqueezedComboBox(this);
-
-    for (AltLangStringsEditPriv::LanguageCodeMap::Iterator it = d->languageCodeMap.begin();
-         it != d->languageCodeMap.end(); ++it)
-        d->languageCB->addSqueezedItem(QString("[%1] %2").arg(it.key()).arg(it.value()));
-
     d->languageCB->model()->sort(0);
     d->languageCB->setWhatsThis(i18n("<p>Select here language code."));
 
@@ -392,6 +387,7 @@
     if (!item) return;
     d->valueBox->takeItem(d->valueBox->row(item));
     delete item;
+    loadLangAltListEntries();
 }
 
 void AltLangStringsEdit::slotReplaceValue()
@@ -407,6 +403,7 @@
     {
         d->valueBox->currentItem()->setText(newValue);
         d->valueEdit->clear();
+        loadLangAltListEntries();
     }
 }
 
@@ -465,6 +462,7 @@
     {
         d->valueBox->insertItem(d->valueBox->count(), newValue);
         d->valueEdit->clear();
+        loadLangAltListEntries();
     }
 }
 
@@ -492,6 +490,8 @@
     d->delValueButton->setEnabled(d->valueCheck->isChecked());
 
     blockSignals(false);
+
+    loadLangAltListEntries();
 }
 
 bool AltLangStringsEdit::getValues(KExiv2Iface::KExiv2::AltLangMap& oldValues,
@@ -513,4 +513,24 @@
     return d->valueCheck->isChecked();
 }
 
+void AltLangStringsEdit::loadLangAltListEntries()
+{
+    QStringList list;
+    for (int i = 0 ; i < d->valueBox->count(); i++)
+    {
+        QListWidgetItem *item = d->valueBox->item(i);
+        QString lang          = item->text().left(item->text().indexOf("] "));
+        lang.remove(0, 1);
+        list.append(lang);
+    }
+
+    d->languageCB->clear();
+    for (AltLangStringsEditPriv::LanguageCodeMap::Iterator it = d->languageCodeMap.begin();
+         it != d->languageCodeMap.end(); ++it)
+    {
+        if (!list.contains(it.key()))
+            d->languageCB->addSqueezedItem(QString("[%1] %2").arg(it.key()).arg(it.value()));
+    }
+}
+
 }  // namespace KIPIMetadataEditPlugin
--- trunk/extragear/libs/kipi-plugins/metadataedit/altlangstringedit.h #728500:728501
@@ -66,6 +66,10 @@
 
 private:
 
+    void loadLangAltListEntries();
+
+private: 
+
     AltLangStringsEditPriv* d;
 };
 
_______________________________________________
Kde-imaging mailing list
Kde-imaging@kde.org
https://mail.kde.org/mailman/listinfo/kde-imaging
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic