advsearch: remove qt3 bits

This commit is contained in:
Jean-Francois Dockes 2010-12-01 09:26:17 +01:00
parent de9202a0b1
commit e03b17fd95
3 changed files with 468 additions and 534 deletions

View File

@ -1,456 +1,441 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0" stdsetdef="1"> <ui version="4.0">
<author></author> <class>AdvSearchBase</class>
<comment></comment> <widget class="QDialog" name="AdvSearchBase">
<exportmacro></exportmacro> <property name="geometry">
<class>AdvSearchBase</class> <rect>
<widget class="QDialog" name="AdvSearchBase"> <x>0</x>
<property name="geometry"> <y>0</y>
<rect> <width>545</width>
<x>0</x> <height>537</height>
<y>0</y> </rect>
<width>545</width> </property>
<height>537</height> <property name="windowTitle">
</rect> <string>Advanced search</string>
</property> </property>
<property name="windowTitle"> <property name="sizeGripEnabled">
<string>Advanced search</string> <bool>true</bool>
</property> </property>
<property name="sizeGripEnabled"> <layout class="QVBoxLayout">
<bool>true</bool> <item>
</property> <layout class="QHBoxLayout">
<layout class="QVBoxLayout"> <item>
<item> <layout class="QVBoxLayout">
<layout class="QHBoxLayout"> <property name="spacing">
<item> <number>2</number>
<layout class="QVBoxLayout"> </property>
<property name="spacing"> <item>
<number>2</number> <widget class="QLabel" name="textLabel2">
</property> <property name="sizePolicy">
<item> <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<widget class="QLabel" name="textLabel2"> <horstretch>0</horstretch>
<property name="sizePolicy"> <verstretch>0</verstretch>
<sizepolicy> </sizepolicy>
<hsizetype>0</hsizetype> </property>
<vsizetype>5</vsizetype> <property name="toolTip">
<horstretch>0</horstretch> <string>All non empty fields on the right will be combined with AND (&quot;All clauses&quot; choice) or OR (&quot;Any clause&quot; choice) conjunctions. &lt;br&gt;&quot;Any&quot; &quot;All&quot; and &quot;None&quot; field types can accept a mix of simple words, and phrases enclosed in double quotes.&lt;br&gt;Fields with no data are ignored.</string>
<verstretch>0</verstretch> </property>
</sizepolicy> <property name="frameShape">
</property> <enum>QFrame::NoFrame</enum>
<property name="frameShape"> </property>
<enum>QFrame::NoFrame</enum> <property name="frameShadow">
</property> <enum>QFrame::Plain</enum>
<property name="frameShadow"> </property>
<enum>QFrame::Plain</enum> <property name="text">
</property> <string>Search for &lt;br&gt;documents&lt;br&gt;satisfying:</string>
<property name="margin"> </property>
<number>4</number> <property name="wordWrap">
</property> <bool>false</bool>
<property name="text"> </property>
<string>Search for &lt;br&gt;documents&lt;br&gt;satisfying:</string> <property name="margin">
</property> <number>4</number>
<property name="toolTip" stdset="0"> </property>
<string>All non empty fields on the right will be combined with AND (&quot;All clauses&quot; choice) or OR (&quot;Any clause&quot; choice) conjunctions. &lt;br&gt;&quot;Any&quot; &quot;All&quot; and &quot;None&quot; field types can accept a mix of simple words, and phrases enclosed in double quotes.&lt;br&gt;Fields with no data are ignored.</string> </widget>
</property> </item>
<property name="wordWrap"> <item>
<bool>false</bool> <widget class="QComboBox" name="conjunctCMB">
</property> <property name="sizePolicy">
</widget> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</item> <horstretch>8</horstretch>
<item> <verstretch>0</verstretch>
<widget class="QComboBox" name="conjunctCMB"> </sizepolicy>
<property name="sizePolicy"> </property>
<sizepolicy> <property name="toolTip">
<hsizetype>0</hsizetype> <string>All non empty fields on the right will be combined with AND (&quot;All clauses&quot; choice) or OR (&quot;Any clause&quot; choice) conjunctions. &lt;br&gt;&quot;Any&quot; &quot;All&quot; and &quot;None&quot; field types can accept a mix of simple words, and phrases enclosed in double quotes.&lt;br&gt;Fields with no data are ignored.</string>
<vsizetype>0</vsizetype> </property>
<horstretch>8</horstretch> </widget>
<verstretch>0</verstretch> </item>
</sizepolicy> <item>
</property> <spacer name="spacer2">
<property name="toolTip" stdset="0"> <property name="orientation">
<string>All non empty fields on the right will be combined with AND (&quot;All clauses&quot; choice) or OR (&quot;Any clause&quot; choice) conjunctions. &lt;br&gt;&quot;Any&quot; &quot;All&quot; and &quot;None&quot; field types can accept a mix of simple words, and phrases enclosed in double quotes.&lt;br&gt;Fields with no data are ignored.</string> <enum>Qt::Vertical</enum>
</property> </property>
</widget> <property name="sizeType">
</item> <enum>QSizePolicy::Expanding</enum>
<item> </property>
<spacer name="spacer2"> <property name="sizeHint" stdset="0">
<property name="sizeHint"> <size>
<size> <width>0</width>
<width>0</width> <height>0</height>
<height>0</height> </size>
</size> </property>
</property> </spacer>
<property name="sizeType"> </item>
<enum>QSizePolicy::Expanding</enum> <item>
</property> <widget class="QPushButton" name="delClausePB">
<property name="orientation"> <property name="sizePolicy">
<enum>Qt::Vertical</enum> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</property> <horstretch>0</horstretch>
</spacer> <verstretch>0</verstretch>
</item> </sizepolicy>
<item> </property>
<widget class="QPushButton" name="delClausePB"> <property name="text">
<property name="sizePolicy"> <string>Delete clause</string>
<sizepolicy> </property>
<hsizetype>0</hsizetype> <property name="autoDefault">
<vsizetype>0</vsizetype> <bool>false</bool>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> </widget>
</sizepolicy> </item>
</property> <item>
<property name="text"> <widget class="QPushButton" name="addClausePB">
<string>Delete clause</string> <property name="sizePolicy">
</property> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<property name="autoDefault"> <horstretch>0</horstretch>
<bool>false</bool> <verstretch>0</verstretch>
</property> </sizepolicy>
</widget> </property>
</item> <property name="text">
<item> <string>Add clause</string>
<widget class="QPushButton" name="addClausePB"> </property>
<property name="sizePolicy"> <property name="autoDefault">
<sizepolicy> <bool>false</bool>
<hsizetype>0</hsizetype> </property>
<vsizetype>0</vsizetype> </widget>
<horstretch>0</horstretch> </item>
<verstretch>0</verstretch> </layout>
</sizepolicy> </item>
</property> <item>
<property name="text"> <widget class="QFrame" name="clauseFRM">
<string>Add clause</string> <property name="frameShape">
</property> <enum>QFrame::StyledPanel</enum>
<property name="autoDefault"> </property>
<bool>false</bool> <property name="frameShadow">
</property> <enum>QFrame::Plain</enum>
</widget> </property>
</item> <layout class="QVBoxLayout">
</layout> <property name="spacing">
</item> <number>1</number>
<item> </property>
<widget class="Q3Frame" name="clauseFRM"> <property name="margin">
<property name="frameShape"> <number>0</number>
<enum>QFrame::StyledPanel</enum> </property>
</property> <item>
<property name="frameShadow"> <widget class="Line" name="clauseline">
<enum>QFrame::Plain</enum>
</property>
<layout class="QVBoxLayout">
<property name="margin">
<number>0</number>
</property>
<property name="spacing">
<number>1</number>
</property>
<item>
<widget class="Line" name="clauseline">
<property name="frameShape">
<enum>QFrame::HLine</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line4">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::HLine</enum> <enum>QFrame::HLine</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Sunken</enum> <enum>QFrame::Plain</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> </layout>
<layout class="QHBoxLayout"> </widget>
<item> </item>
<widget class="QCheckBox" name="restrictFtCB">
<property name="sizePolicy">
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Restrict file types</string>
</property>
<property name="toolTip" stdset="0">
<string>Check this to enable filtering on file types</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="restrictCtCB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>By categories</string>
</property>
<property name="toolTip" stdset="0">
<string>Check this to use file categories instead of raw mime types</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="saveFileTypesPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Save as default</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout">
<item>
<layout class="QVBoxLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="textLabel2_2">
<property name="text">
<string>Searched file types</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="Q3ListBox" name="yesFiltypsLB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>200</width>
<height>20</height>
</size>
</property>
<property name="selectionMode">
<enum>Q3ListBox::Extended</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="delAFiltypPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>All ----&gt;</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="delFiltypPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Sel -----&gt;</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="addFiltypPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&lt;----- Sel</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="addAFiltypPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&lt;----- All</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="textLabel3">
<property name="text">
<string>Ignored file types</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="Q3ListBox" name="noFiltypsLB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>200</width>
<height>20</height>
</size>
</property>
<property name="selectionMode">
<enum>Q3ListBox::Extended</enum>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line5">
<property name="frameShape">
<enum>QFrame::HLine</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout">
<item row="1" column="0">
<widget class="QComboBox" name="subtreeCMB">
<property name="sizePolicy">
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>8</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="editable">
<bool>true</bool>
</property>
<property name="maxCount">
<number>20</number>
</property>
<property name="insertPolicy">
<enum>QComboBox::NoInsert</enum>
</property>
<property name="duplicatesEnabled">
<bool>false</bool>
</property>
<property name="toolTip" stdset="0">
<string>Enter top directory for search</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="browsePB">
<property name="text">
<string>Browse</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="textLabel1">
<property name="text">
<string>Restrict results to files in subtree:</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line1">
<property name="frameShape">
<enum>QFrame::HLine</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout">
<item>
<widget class="QPushButton" name="searchPB">
<property name="text">
<string>Start Search</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="dismissPB">
<property name="text">
<string>Close</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </item>
<layoutdefault spacing="6" margin="11"/> <item>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction> <widget class="Line" name="line4">
<property name="frameShape">
<enum>QFrame::HLine</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout">
<item>
<widget class="QCheckBox" name="restrictFtCB">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Check this to enable filtering on file types</string>
</property>
<property name="text">
<string>Restrict file types</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="restrictCtCB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Check this to use file categories instead of raw mime types</string>
</property>
<property name="text">
<string>By categories</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="saveFileTypesPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Save as default</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout">
<item>
<layout class="QVBoxLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="textLabel2_2">
<property name="text">
<string>Searched file types</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="yesFiltypsLB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>200</width>
<height>20</height>
</size>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="delAFiltypPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>All ----&gt;</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="delFiltypPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Sel -----&gt;</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="addFiltypPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&lt;----- Sel</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="addAFiltypPB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&lt;----- All</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="textLabel3">
<property name="text">
<string>Ignored file types</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="noFiltypsLB">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>200</width>
<height>20</height>
</size>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line5">
<property name="frameShape">
<enum>QFrame::HLine</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout">
<item row="1" column="0">
<widget class="QComboBox" name="subtreeCMB">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>8</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Enter top directory for search</string>
</property>
<property name="editable">
<bool>true</bool>
</property>
<property name="maxCount">
<number>20</number>
</property>
<property name="insertPolicy">
<enum>QComboBox::NoInsert</enum>
</property>
<property name="duplicatesEnabled">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="browsePB">
<property name="text">
<string>Browse</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="textLabel1">
<property name="text">
<string>Restrict results to files in subtree:</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line1">
<property name="frameShape">
<enum>QFrame::HLine</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout">
<item>
<widget class="QPushButton" name="searchPB">
<property name="text">
<string>Start Search</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="dismissPB">
<property name="text">
<string>Close</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<resources/>
<connections/>
</ui> </ui>

View File

@ -26,17 +26,6 @@ static char rcsid[] = "@(#$Id: advsearch_w.cpp,v 1.21 2008-09-25 06:00:24 dockes
#include <qframe.h> #include <qframe.h>
#include <qcheckbox.h> #include <qcheckbox.h>
#include <qevent.h> #include <qevent.h>
#if (QT_VERSION < 0x040000)
#include <qcombobox.h>
#include <qlistbox.h>
#define Q34EVOVERRIDE QEvent::AccelOverride
#else
#include <q3combobox.h>
#include <q3listbox.h>
#define Q34EVOVERRIDE QEvent::ShortcutOverride
#endif
#include <qlayout.h> #include <qlayout.h>
#include <qtooltip.h> #include <qtooltip.h>
#include <qwhatsthis.h> #include <qwhatsthis.h>
@ -159,7 +148,8 @@ void AdvSearch::init()
bool AdvSearch::eventFilter(QObject *, QEvent *event) bool AdvSearch::eventFilter(QObject *, QEvent *event)
{ {
// LOGDEB(("AdvSearch::eventFilter. Type %d\n", (int)event->type())); // LOGDEB(("AdvSearch::eventFilter. Type %d\n", (int)event->type()));
if (event->type() == QEvent::KeyPress || event->type() == Q34EVOVERRIDE) { if (event->type() == QEvent::KeyPress ||
event->type() == QEvent::ShortcutOverride) {
QKeyEvent *ke = static_cast<QKeyEvent *>(event); QKeyEvent *ke = static_cast<QKeyEvent *>(event);
if (ke->key() == Qt::Key_Q && (ke->state() & Qt::ControlButton)) { if (ke->key() == Qt::Key_Q && (ke->state() & Qt::ControlButton)) {
recollNeedsExit = 1; recollNeedsExit = 1;
@ -185,17 +175,9 @@ bool AdvSearch::close()
return QWidget::close(); return QWidget::close();
} }
#if (QT_VERSION >= 0x040000)
#define QListBoxItem Q3ListBoxItem
#define clauseVBox Ui::AdvSearchBase::clauseVBox
#define AdvSearchBaseLayout Ui::AdvSearchBase::AdvSearchBaseLayout
#endif
void AdvSearch::delAFiltypPB_clicked() void AdvSearch::delAFiltypPB_clicked()
{ {
for (unsigned int i = 0; i < yesFiltypsLB->count();i++) { yesFiltypsLB->selectAll();
yesFiltypsLB->setSelected(i, true);
}
delFiltypPB_clicked(); delFiltypPB_clicked();
} }
@ -234,60 +216,43 @@ void AdvSearch::delClause()
// Move selected file types from the searched to the ignored box // Move selected file types from the searched to the ignored box
void AdvSearch::delFiltypPB_clicked() void AdvSearch::delFiltypPB_clicked()
{ {
list<int> trl; QList<QListWidgetItem *> items = yesFiltypsLB->selectedItems();
QStringList moved; for (QList<QListWidgetItem *>::iterator it = items.begin();
for (unsigned int i = 0; i < yesFiltypsLB->count();i++) { it != items.end(); it++) {
QListBoxItem *item = yesFiltypsLB->item(i); int row = yesFiltypsLB->row(*it);
if (item && item->isSelected()) { QListWidgetItem *item = yesFiltypsLB->takeItem(row);
moved.push_back(item->text()); noFiltypsLB->insertItem(0, item);
trl.push_front(i);
}
}
if (!moved.empty()) {
noFiltypsLB->insertStringList(moved);
for (list<int>::iterator it = trl.begin();it != trl.end(); it++)
yesFiltypsLB->removeItem(*it);
}
yesFiltypsLB->sort();
noFiltypsLB->sort();
m_ignTypes.clear();
for (unsigned int i = 0; i < noFiltypsLB->count();i++) {
QListBoxItem *item = noFiltypsLB->item(i);
m_ignTypes.append(item->text());
} }
guiListsToIgnTypes();
} }
// Move selected file types from the ignored to the searched box // Move selected file types from the ignored to the searched box
void AdvSearch::addFiltypPB_clicked() void AdvSearch::addFiltypPB_clicked()
{ {
list<int> trl; QList<QListWidgetItem *> items = noFiltypsLB->selectedItems();
QStringList moved; for (QList<QListWidgetItem *>::iterator it = items.begin();
for (unsigned int i = 0; i < noFiltypsLB->count(); i++) { it != items.end(); it++) {
QListBoxItem *item = noFiltypsLB->item(i); int row = noFiltypsLB->row(*it);
if (item && item->isSelected()) { QListWidgetItem *item = noFiltypsLB->takeItem(row);
moved.push_back(item->text()); yesFiltypsLB->insertItem(0, item);
trl.push_front(i);
}
} }
if (!moved.empty()) { guiListsToIgnTypes();
yesFiltypsLB->insertStringList(moved); }
for (list<int>::iterator it = trl.begin();it != trl.end(); it++)
noFiltypsLB->removeItem(*it); // Compute list of ignored mime type from widget lists
} void AdvSearch::guiListsToIgnTypes()
yesFiltypsLB->sort(); {
noFiltypsLB->sort(); yesFiltypsLB->sortItems();
noFiltypsLB->sortItems();
m_ignTypes.clear(); m_ignTypes.clear();
for (unsigned int i = 0; i < noFiltypsLB->count();i++) { for (int i = 0; i < noFiltypsLB->count();i++) {
QListBoxItem *item = noFiltypsLB->item(i); QListWidgetItem *item = noFiltypsLB->item(i);
m_ignTypes.append(item->text()); m_ignTypes.append(item->text());
} }
} }
void AdvSearch::addAFiltypPB_clicked() void AdvSearch::addAFiltypPB_clicked()
{ {
for (unsigned int i = 0; i < noFiltypsLB->count();i++) { noFiltypsLB->selectAll();
noFiltypsLB->setSelected(i, true);
}
addFiltypPB_clicked(); addFiltypPB_clicked();
} }
@ -317,7 +282,7 @@ void AdvSearch::fillFileTypes()
{ {
noFiltypsLB->clear(); noFiltypsLB->clear();
yesFiltypsLB->clear(); yesFiltypsLB->clear();
noFiltypsLB->insertStringList(m_ignTypes); noFiltypsLB->insertItems(0, m_ignTypes);
QStringList ql; QStringList ql;
if (m_ignByCats == false) { if (m_ignByCats == false) {
@ -345,7 +310,7 @@ void AdvSearch::fillFileTypes()
ql.append(cat); ql.append(cat);
} }
} }
yesFiltypsLB->insertStringList(ql); yesFiltypsLB->insertItems(0, ql);
} }
// Save current list of ignored file types to prefs // Save current list of ignored file types to prefs
@ -375,7 +340,7 @@ void AdvSearch::runSearch()
return; return;
if (restrictFtCB->isOn() && noFiltypsLB->count() > 0) { if (restrictFtCB->isOn() && noFiltypsLB->count() > 0) {
for (unsigned int i = 0; i < yesFiltypsLB->count(); i++) { for (int i = 0; i < yesFiltypsLB->count(); i++) {
if (restrictCtCB->isOn()) { if (restrictCtCB->isOn()) {
QString qcat = yesFiltypsLB->item(i)->text(); QString qcat = yesFiltypsLB->item(i)->text();
map<QString,QString>::const_iterator qit; map<QString,QString>::const_iterator qit;

View File

@ -28,34 +28,17 @@
class QDialog; class QDialog;
//MOC_SKIP_BEGIN
#if QT_VERSION < 0x040000
#include "advsearch.h"
class DummyAdvSearchBase : public AdvSearchBase
{
public: DummyAdvSearchBase(QWidget* parent = 0) : AdvSearchBase(parent) {}
};
#else
#include "ui_advsearch.h" #include "ui_advsearch.h"
class DummyAdvSearchBase : public QDialog, public Ui::AdvSearchBase
{
public: DummyAdvSearchBase(QWidget *parent):QDialog(parent) {setupUi(this);}
};
#endif class AdvSearch : public QDialog, public Ui::AdvSearchBase
//MOC_SKIP_END
class AdvSearch : public DummyAdvSearchBase
{ {
Q_OBJECT Q_OBJECT
public: public:
AdvSearch(QDialog* parent = 0) AdvSearch(QDialog* parent = 0)
: DummyAdvSearchBase(parent) : QDialog(parent)
{ {
setupUi(this);
init(); init();
} }
~AdvSearch(){} ~AdvSearch(){}
@ -66,6 +49,7 @@ public slots:
virtual void delAFiltypPB_clicked(); virtual void delAFiltypPB_clicked();
virtual void addFiltypPB_clicked(); virtual void addFiltypPB_clicked();
virtual void addAFiltypPB_clicked(); virtual void addAFiltypPB_clicked();
virtual void guiListsToIgnTypes();
virtual void restrictFtCB_toggled(bool); virtual void restrictFtCB_toggled(bool);
virtual void restrictCtCB_toggled(bool); virtual void restrictCtCB_toggled(bool);
virtual void runSearch(); virtual void runSearch();