summaryrefslogtreecommitdiffstats
path: root/krecipes/src/widgets/criteriacombobox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'krecipes/src/widgets/criteriacombobox.cpp')
-rw-r--r--krecipes/src/widgets/criteriacombobox.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/krecipes/src/widgets/criteriacombobox.cpp b/krecipes/src/widgets/criteriacombobox.cpp
new file mode 100644
index 0000000..1b037df
--- /dev/null
+++ b/krecipes/src/widgets/criteriacombobox.cpp
@@ -0,0 +1,49 @@
+/***************************************************************************
+* Copyright (C) 2005 by *
+* Jason Kivlighn (jkivlighn@gmail.com) *
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License as published by *
+* the Free Software Foundation; either version 2 of the License, or *
+* (at your option) any later version. *
+***************************************************************************/
+
+#include "criteriacombobox.h"
+
+#include <qlistbox.h>
+
+#include "backends/recipedb.h"
+#include "datablocks/elementlist.h"
+
+CriteriaComboBox::CriteriaComboBox( bool b, QWidget *parent, RecipeDB *db ) : KComboBox( b, parent ),
+ database( db )
+{
+ connect( db, SIGNAL(ratingCriteriaCreated(const Element &)), this, SLOT(addCriteria(const Element &)) );
+}
+
+void CriteriaComboBox::addCriteria( const Element &criteria )
+{
+ idMap.insert(count(),criteria.id);
+
+ insertItem(criteria.name);
+ completionObject()->addItem(criteria.name);
+}
+
+void CriteriaComboBox::reload()
+{
+ ElementList criteriaList;
+ database->loadRatingCriterion( &criteriaList );
+
+ clear();
+
+ for ( ElementList::const_iterator it = criteriaList.begin(); it != criteriaList.end(); ++it ) {
+ addCriteria((*it));
+ }
+}
+
+int CriteriaComboBox::criteriaID( int index )
+{
+ return idMap[index];
+}
+
+#include "criteriacombobox.moc"