00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "tagsuche.h"
00020
00024 Tagsuche::Tagsuche(Datenbank *db, QWidget *p, Qt::WindowFlags f)
00025 : QDialog(p, f) {
00026 m_ui.setupUi(this);
00027
00028 m_datenbank = db;
00029 QStringList tags = m_datenbank->getAllTags();
00030 tags.sort();
00031 m_ui.tagAuswahl->addItems(tags);
00032 m_ui.mussTags->addItems(tags);
00033 m_ui.darfnichtTags->addItems(tags);
00034
00035 m_modeSelect.addButton(m_ui.selectSimple, 0);
00036 m_modeSelect.addButton(m_ui.selectExtended, 1);
00037 QObject::connect(&m_modeSelect, SIGNAL(buttonClicked(int)),
00038 m_ui.searchDetails, SLOT(setCurrentIndex(int)));
00039 }
00040
00044 void Tagsuche::accept() {
00045 switch(m_modeSelect.checkedId()) {
00046 case 0:
00047 emit selected(m_datenbank->findByTag(m_ui.tagAuswahl->currentText()));
00048 break;
00049 case 1: {
00050 QStringList mussList,
00051 darfnichtList;
00052 QList<QListWidgetItem*> tempList;
00053 QList<QListWidgetItem*>::iterator itTag;
00054 tempList = m_ui.mussTags->selectedItems();
00055 for(itTag = tempList.begin();
00056 tempList.end() != itTag;
00057 itTag++) {
00058 mussList.append((*itTag)->text());
00059 }
00060 tempList = m_ui.darfnichtTags->selectedItems();
00061 for(itTag = tempList.begin();
00062 tempList.end() != itTag;
00063 itTag++) {
00064 darfnichtList.append((*itTag)->text());
00065 }
00066 emit selected(m_datenbank->findByTagList(mussList, darfnichtList));
00067 }
00068 break;
00069 }
00070 QDialog::accept();
00071 }