aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Fabio Bas2010-03-19 17:47:30 +0000
committerGravatar Fabio Bas2010-03-19 17:47:30 +0000
commit9a13918683b31682bcf4ee0ce3bc03ffd5439504 (patch)
tree7b2f1a5916ffcaee4d9672076547bd7fc8d161dd /src/modules
parentremoved modal status from addon manager, otherway it's impossibile to configu... (diff)
downloadKVIrc-9a13918683b31682bcf4ee0ce3bc03ffd5439504.tar.gz
KVIrc-9a13918683b31682bcf4ee0ce3bc03ffd5439504.tar.bz2
KVIrc-9a13918683b31682bcf4ee0ce3bc03ffd5439504.zip
fixed alias duplication when restoring default script
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4163 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/aliaseditor/aliaseditor.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/modules/aliaseditor/aliaseditor.cpp b/src/modules/aliaseditor/aliaseditor.cpp
index 48c258925..1cec51059 100644
--- a/src/modules/aliaseditor/aliaseditor.cpp
+++ b/src/modules/aliaseditor/aliaseditor.cpp
@@ -291,10 +291,27 @@ void KviAliasEditor::aliasRefresh(const QString &szName)
{
if(m_bSaving)
return;
- KviAliasEditorTreeWidgetItem * item;
+ KviAliasEditorTreeWidgetItem * item=0;
KviKvsScript * alias = KviKvsAliasManager::instance()->aliasDict()->find(szName);
- item = createFullItem(szName);
- m_pAliases->append(item);
+
+ // search for old alias with same name
+ KviPointerList<KviAliasEditorTreeWidgetItem> l;
+ l.setAutoDelete(false);
+ appendAllItems(&l,KviAliasEditorTreeWidgetItem::Alias);
+ for(KviAliasEditorTreeWidgetItem * it = l.first();it;it = l.next())
+ {
+ if (KviQString::equalCI(buildFullItemName(it),szName))
+ {
+ item=it;
+ break;
+ }
+ }
+ if(!item)
+ {
+ item = createFullItem(szName);
+ m_pAliases->append(item);
+ }
+
if(item!=m_pLastEditedItem)
{
item->setBuffer(alias->code());