the attached patch puts the citation dialog in a workable state for me

comments appreciated

ed.
Index: src/frontends/qt4/QCitation.C
===================================================================
--- src/frontends/qt4/QCitation.C       (revision 14247)
+++ src/frontends/qt4/QCitation.C       (working copy)
@@ -68,7 +68,8 @@
 void QCitation::apply(int const choice, bool const full, bool const force,
                                          QString before, QString after)
 {
-//     InsetCommandParams & params = params();
+       if (!isValid())
+               return;
 
        vector<biblio::CiteStyle> const & styles =
                ControlCitation::getCiteStyles();
@@ -77,25 +78,11 @@
                biblio::CitationStyle(styles[choice], full, force)
                .asLatexStr();
 
+       params().setCmdName(command);
        params().setContents(fromqstr(selected_keys_.stringList().join(",")));
        params().setSecOptions(fromqstr(before));
        params().setOptions(fromqstr(after));
        dispatchParams();
-
-/*
-       if (dialog().controller().isBufferDependent()) {
-               if (!dialog().kernel().isBufferAvailable() ||
-                   dialog().kernel().isBufferReadonly())
-                       return;
-       }
-       dialog().controller().dispatchParams();
-
-       if (dialog().controller().disconnectOnApply()) {
-               dialog().kernel().disconnect(name());
-               dialog().controller().initialiseParams(string());
-               dialog().view().update();
-       }
-*/
 }
 
 
@@ -142,85 +129,43 @@
 }
 
 
-QModelIndex QCitation::findKey(QString const & str) const
+void QCitation::findKey(QString const & str)
 {
-       cout << "Find text " << fromqstr(str) << endl;
-
-       QStringList const avail = available_keys_.stringList();
-       QRegExp reg_exp(str);
-
-       int const pos = avail.indexOf(reg_exp);
-       if (pos == -1)
-               return QModelIndex();
-
-       cout << "found key " << fromqstr(avail[pos]) << " at pos " << pos << 
endl;
-       return available_keys_.index(pos);
+       QStringList sl = available_keys_.stringList().filter(str, 
Qt::CaseInsensitive);
+       found_keys_.setStringList(sl);
 }
 
 
-void QCitation::addKeys(QModelIndexList const & indexes)
+void QCitation::addKey(QModelIndex const & index)
 {
-       QModelIndex index;
-
-       if (indexes.empty())
-               return;
-
        QStringList keys = selected_keys_.stringList();
-
-       foreach(index, indexes) {
-               if (keys.indexOf(index.data().toString()) == -1)
-                       keys.append(index.data().toString());
-       }
-
+       keys.append(index.data().toString());
        selected_keys_.setStringList(keys);
 }
 
 
-void QCitation::deleteKeys(QModelIndexList const & indexes)
+void QCitation::deleteKey(QModelIndex const & index)
 {
-       QModelIndex index;
-
-       if (indexes.empty())
-               return;
-
        QStringList keys = selected_keys_.stringList();
-
-       foreach(index, indexes) {
-               int const pos = keys.indexOf(index.data().toString());
-               if (pos != -1)
-                       keys.removeAt(pos);
-       }
-
+       keys.removeAt(index.row());
        selected_keys_.setStringList(keys);
 }
 
 
-void QCitation::upKey(QModelIndexList const & indexes)
+void QCitation::upKey(QModelIndex const & index)
 {
-       if (indexes.empty() || indexes.size() > 1)
-               return;
-
-       int pos = indexes[0].row();
-       if (pos < 1)
-               return;
-
        QStringList keys = selected_keys_.stringList();
-       keys.swap(pos, pos-1);
+       int pos = index.row();
+       keys.swap(pos, pos - 1);
        selected_keys_.setStringList(keys);
 }
 
 
-void QCitation::downKey(QModelIndexList const & indexes)
+void QCitation::downKey(QModelIndex const & index)
 {
-       if (indexes.empty() || indexes.size() > 1)
-               return;
-
-       int pos = indexes[0].row();
-       if (pos >= selected_keys_.rowCount() - 1)
-               return;
-
        QStringList keys = selected_keys_.stringList();
-       keys.swap(pos, pos+1);
+       int pos = index.row();
+       keys.swap(pos, pos + 1);
        selected_keys_.setStringList(keys);
 }
 
@@ -228,9 +173,18 @@
 QStringList QCitation::citationStyles(int sel)
 {
        string key = fromqstr(selected_keys_.stringList()[sel]);
-
        return toQStringList(getCiteStrings(key));
 }
 
+
+QString QCitation::getKeyInfo(QString const & sel)
+{
+       if (!bibkeysInfo().empty())
+               return toqstr(biblio::getInfo(bibkeysInfo(), fromqstr(sel) ));
+
+       return QString();
+}
+
+
 } // namespace frontend
 } // namespace lyx
Index: src/frontends/qt4/QCitation.h
===================================================================
--- src/frontends/qt4/QCitation.h       (revision 14247)
+++ src/frontends/qt4/QCitation.h       (working copy)
@@ -37,14 +37,14 @@
 
        QString textBefore();
        QString textAfter();
-
+       QString getKeyInfo(QString const &);
        QModelIndex findKey(QString const & str, QModelIndex const & index) 
const;
-       QModelIndex findKey(QString const & str) const;
+       void findKey(QString const & str);
 
-       void addKeys(QModelIndexList const & indexes);
-       void deleteKeys(QModelIndexList const & indexes);
-       void upKey(QModelIndexList const & indexes);
-       void downKey(QModelIndexList const & indexes);
+       void addKey(QModelIndex const &);
+       void deleteKey(QModelIndex const &);
+       void upKey(QModelIndex const &);
+       void downKey(QModelIndex const &);
 
        QStringList citationStyles(int sel);
 
Index: src/frontends/qt4/QCitationDialog.C
===================================================================
--- src/frontends/qt4/QCitationDialog.C (revision 14247)
+++ src/frontends/qt4/QCitationDialog.C (working copy)
@@ -49,7 +49,6 @@
        setupUi(this);
 
        setCaption(toqstr("LyX: " + getTitle()));
-
 /*
 
        // Manage the ok, apply, restore and cancel/close buttons
@@ -73,14 +72,17 @@
        availableLV->setModel(form_->available());
 
 //     foundLV.setModel(form_->found());
+       connect(availableLV, SIGNAL(clicked(const QModelIndex &)),
+               this, SLOT(updateInfo(const QModelIndex &)));
+       //connect( selectedLV, SIGNAL( clicked(const QModelIndex &) ), this, 
SLOT( changed() ) );
+    connect(citationStyleCO, SIGNAL( activated(int) ), this, SLOT( changed() ) 
);
+    connect(fulllistCB, SIGNAL( clicked() ), this, SLOT( changed() ) );
+    connect(forceuppercaseCB, SIGNAL( clicked() ), this, SLOT( changed() ) );
+    connect(textBeforeED, SIGNAL( textChanged(const QString&) ), this, SLOT( 
changed() ) );
+    connect(textAfterED, SIGNAL( textChanged(const QString&) ), this, SLOT( 
changed() ) );
 
-    connect( citationStyleCO, SIGNAL( activated(int) ), this, SLOT( changed() 
) );
-    connect( fulllistCB, SIGNAL( clicked() ), this, SLOT( changed() ) );
-    connect( forceuppercaseCB, SIGNAL( clicked() ), this, SLOT( changed() ) );
-    connect( textBeforeED, SIGNAL( textChanged(const QString&) ), this, SLOT( 
changed() ) );
-    connect( textAfterED, SIGNAL( textChanged(const QString&) ), this, SLOT( 
changed() ) );
-
-
+       // hide this until implemented
+       advancedSearchPB->hide();
 //     find_ = new QCitationFind(form_, this);
        
 //     connect(selectedLV, SIGNAL(doubleClicked(const QModelIndex & index)),
@@ -149,8 +151,17 @@
 {
        form_->updateModel();
 
-       // No keys have been selected yet, so...
-       infoML->document()->clear();
+       QModelIndex idxa = availableLV->currentIndex();
+       if (!idxa.isValid())
+               availableLV->setCurrentIndex(availableLV->model()->index(0,0));
+
+       QModelIndex idx = selectedLV->currentIndex();
+       if (form_->isValid() && !idx.isValid()) {
+               selectedLV->setCurrentIndex(selectedLV->model()->index(0,0));
+               updateInfo(selectedLV->currentIndex());
+       } else
+               updateInfo(availableLV->currentIndex());
+
        setButtons();
 
        textBeforeED->setText(form_->textBefore());
@@ -235,78 +246,88 @@
 
 void QCitationDialog::setButtons()
 {
-//     if (form_->readOnly())
-//             return;
-
        int const row_count = selectedLV->model()->rowCount();
+       int const sel_nr = selectedLV->currentIndex().row();
 
-       int sel_nr=-1;
-       if (! selectedLV->selectionModel()->selectedIndexes().empty()) {
-               sel_nr = 
-               selectedLV->selectionModel()->selectedIndexes()[0].row();
-       }
-
+       addPB->setEnabled(availableLV->model()->rowCount()>0);
        deletePB->setEnabled(sel_nr >= 0);
        upPB->setEnabled(sel_nr > 0);
        downPB->setEnabled(sel_nr >= 0 && sel_nr < row_count - 1);
 }
 
-/*
-void QCitationDialog::on_selectedLV_currentChanged(QListWidgetItem*)
+
+void QCitationDialog::updateInfo(const QModelIndex & idx)
 {
-       fillStyles();
-       infoML->document()->clear();
+       if (idx.isValid()) {
+               QString const keytxt = form_->getKeyInfo(idx.data().toString());
+               infoML->document()->setPlainText(keytxt);
+       } else
+               infoML->document()->clear();
+}
 
-       int const sel = selectedLW->currentItem();
-       if (sel < 0) {
-               setButtons();
-               return;
-       }
 
-       infoML->document()->setPlainText(form_->getKeyInfo(sel));
-
+void QCitationDialog::on_selectedLV_clicked(const QModelIndex & idx)
+{
+       updateInfo(idx);
+       fillStyles();
        setButtons();
 }
-*/
 
 
 void QCitationDialog::on_addPB_clicked()
 {
-       form_->addKeys(availableLV->selectionModel()->selectedIndexes());
+       QModelIndex idx = selectedLV->currentIndex();
+       form_->addKey(availableLV->currentIndex());
+       if (idx.isValid())
+               selectedLV->setCurrentIndex(idx);
        changed();
 }
 
+
 void QCitationDialog::on_deletePB_clicked()
 {
-       form_->deleteKeys(selectedLV->selectionModel()->selectedIndexes());
+       QModelIndex idx = selectedLV->currentIndex();
+       int nrows = form_->selected()->stringList().size();
+       
+       form_->deleteKey(idx);
+
+       if (idx.row() == nrows - 1)     
+               idx = idx.sibling(idx.row() - 1, idx.column());
+
+       if (nrows>1)
+               selectedLV->setCurrentIndex(idx);
+
+       updateInfo(selectedLV->currentIndex());
        changed();
 }
 
 
 void QCitationDialog::on_upPB_clicked()
 {
-       form_->upKey(selectedLV->selectionModel()->selectedIndexes());
+       QModelIndex idx = selectedLV->currentIndex();
+       form_->upKey(idx);
+       selectedLV->setCurrentIndex(idx.sibling(idx.row() - 1, idx.column()));
        changed();
 }
 
 
 void QCitationDialog::on_downPB_clicked()
 {
-       form_->downKey(selectedLV->selectionModel()->selectedIndexes());
+       QModelIndex idx = selectedLV->currentIndex();
+       form_->downKey(idx);
+       selectedLV->setCurrentIndex(idx.sibling(idx.row() + 1, idx.column()));
        changed();
 }
 
+
 void QCitationDialog::on_findLE_textChanged(const QString & text)
 {
-       QModelIndex const index = form_->findKey(text);
-       if (! index.isValid())
-               return;
-
-//     QItemSelection selection(index, index);
-       availableLV->selectionModel()->select(index, 
QItemSelectionModel::Select);
+       form_->findKey(text);
+       availableLV->setModel(form_->found());
        changed();
 }
 
+
 void QCitationDialog::on_advancedSearchPB_clicked()
 {
 //     find_->exec();
@@ -346,11 +367,13 @@
        connect(nextPB, SIGNAL(clicked()), this, SLOT(next()));
 }
 
+
 void QCitationFind::update()
 {
 //     updateBrowser(availableLW, form_->availableKeys());
 }
 
+
 void QCitationFind::on_availableLW_currentItemChanged(QListWidgetItem *)
 {
        infoML->document()->clear();
@@ -362,7 +385,12 @@
        }
 
        addPB->setEnabled(true);
-//     infoML->document()->setPlainText(form_->getKeyInfo(sel));
+
+/*     biblio::InfoMap const & theMap = form_->bibkeysInfo();
+       if (!theMap.empty())
+               infoML->setPlainText(toqstr(biblio::getInfo(theMap, 
form_->citekeys[sel])));
+*/
+       //infoML->document()->setPlainText(form_->getKeyInfo(sel));
 }
 
 
@@ -375,6 +403,7 @@
        accept();
 }
 
+
 void QCitationFind::on_addPB_clicked()
 {
 //     form_->addKeys(availableLW->selectionModel()->selectedIndexes());
Index: src/frontends/qt4/QCitationDialog.h
===================================================================
--- src/frontends/qt4/QCitationDialog.h (revision 14247)
+++ src/frontends/qt4/QCitationDialog.h (working copy)
@@ -74,7 +74,8 @@
        void on_downPB_clicked();
        void on_findLE_textChanged(const QString & text);
        void on_advancedSearchPB_clicked();
-
+       void on_selectedLV_clicked(const QModelIndex &);
+       void updateInfo(const QModelIndex &);
        virtual void changed();
 
 private:
Index: src/frontends/qt4/ui/QCitationUi.ui
===================================================================
--- src/frontends/qt4/ui/QCitationUi.ui (revision 14247)
+++ src/frontends/qt4/ui/QCitationUi.ui (working copy)
@@ -8,8 +8,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>401</width>
-    <height>457</height>
+    <width>390</width>
+    <height>415</height>
    </rect>
   </property>
   <property name="sizePolicy" >
@@ -26,370 +26,343 @@
   <property name="sizeGripEnabled" >
    <bool>true</bool>
   </property>
-  <widget class="QWidget" name="layoutWidget" >
-   <property name="geometry" >
-    <rect>
-     <x>320</x>
-     <y>20</y>
-     <width>79</width>
-     <height>118</height>
-    </rect>
+  <layout class="QVBoxLayout" >
+   <property name="margin" >
+    <number>9</number>
    </property>
-   <layout class="QGridLayout" >
-    <property name="margin" >
-     <number>0</number>
-    </property>
-    <property name="spacing" >
-     <number>6</number>
-    </property>
-    <item row="2" column="0" >
-     <widget class="QPushButton" name="applyPB" >
-      <property name="text" >
-       <string>A&amp;pply</string>
-      </property>
-     </widget>
-    </item>
-    <item row="1" column="0" >
-     <widget class="QPushButton" name="cancelPB" >
-      <property name="text" >
-       <string>&amp;Cancel</string>
-      </property>
-      <property name="autoDefault" >
-       <bool>false</bool>
-      </property>
-     </widget>
-    </item>
-    <item row="3" column="0" >
-     <widget class="QPushButton" name="restorePB" >
-      <property name="text" >
-       <string>&amp;Restore</string>
-      </property>
-     </widget>
-    </item>
-    <item row="0" column="0" >
-     <widget class="QPushButton" name="okPB" >
-      <property name="text" >
-       <string>&amp;OK</string>
-      </property>
-      <property name="autoDefault" >
-       <bool>true</bool>
-      </property>
-      <property name="default" >
-       <bool>true</bool>
-      </property>
-     </widget>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QGroupBox" name="GroupBox8" >
-   <property name="geometry" >
-    <rect>
-     <x>10</x>
-     <y>220</y>
-     <width>201</width>
-     <height>156</height>
-    </rect>
+   <property name="spacing" >
+    <number>6</number>
    </property>
-   <property name="title" >
-    <string>Style</string>
-   </property>
-   <layout class="QGridLayout" >
-    <property name="margin" >
-     <number>11</number>
-    </property>
-    <property name="spacing" >
-     <number>6</number>
-    </property>
-    <item row="0" column="0" >
-     <widget class="QLabel" name="citationStyleLA" >
-      <property name="text" >
-       <string>Citation &amp;style:</string>
+   <item>
+    <layout class="QGridLayout" >
+     <property name="margin" >
+      <number>0</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item row="0" column="0" colspan="2" >
+      <widget class="QLabel" name="availableKeysLA" >
+       <property name="text" >
+        <string>&amp;Available Citations:</string>
+       </property>
+       <property name="buddy" >
+        <cstring>availableLV</cstring>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1" >
+      <widget class="QPushButton" name="addPB" >
+       <property name="toolTip" >
+        <string/>
+       </property>
+       <property name="text" >
+        <string>&amp;Add</string>
+       </property>
+       <property name="autoDefault" >
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="2" >
+      <widget class="QLabel" name="selectedKeysLA" >
+       <property name="text" >
+        <string>&amp;Selected citations:</string>
+       </property>
+       <property name="buddy" >
+        <cstring>selectedLV</cstring>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="1" >
+      <widget class="QPushButton" name="upPB" >
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>0</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="toolTip" >
+        <string>Move the selected citation up</string>
+       </property>
+       <property name="text" >
+        <string>&amp;Up</string>
+       </property>
+       <property name="icon" >
+        <iconset/>
+       </property>
+      </widget>
+     </item>
+     <item rowspan="5" row="1" column="2" >
+      <widget class="QListView" name="selectedLV" >
+       <property name="editTriggers" >
+        <set>QAbstractItemView::NoEditTriggers</set>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" >
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>20</width>
+         <height>16</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item rowspan="5" row="1" column="0" >
+      <widget class="QListView" name="availableLV" >
+       <property name="editTriggers" >
+        <set>QAbstractItemView::NoEditTriggers</set>
+       </property>
+      </widget>
+     </item>
+     <item row="5" column="1" >
+      <widget class="QPushButton" name="downPB" >
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>0</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="toolTip" >
+        <string>Move the selected citation down</string>
+       </property>
+       <property name="text" >
+        <string>&amp;Down</string>
+       </property>
+       <property name="icon" >
+        <iconset/>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1" >
+      <widget class="QPushButton" name="deletePB" >
+       <property name="text" >
+        <string>D&amp;elete</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="margin" >
+      <number>0</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <widget class="QLabel" name="findKeysLA" >
+       <property name="text" >
+        <string>&amp;Find:</string>
+       </property>
+       <property name="alignment" >
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+       </property>
+       <property name="buddy" >
+        <cstring>selectedLV</cstring>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="findLE" >
+       <property name="text" >
+        <string/>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="advancedSearchPB" >
+       <property name="text" >
+        <string>Advanced &amp;Search...</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QTextBrowser" name="infoML" />
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox" >
+     <property name="title" >
+      <string>Style</string>
+     </property>
+     <layout class="QGridLayout" >
+      <property name="margin" >
+       <number>9</number>
       </property>
-      <property name="buddy" >
-       <cstring>citationStyleCO</cstring>
+      <property name="spacing" >
+       <number>6</number>
       </property>
-     </widget>
-    </item>
-    <item row="0" column="1" >
-     <widget class="QComboBox" name="citationStyleCO" >
-      <property name="sizePolicy" >
-       <sizepolicy>
-        <hsizetype>3</hsizetype>
-        <vsizetype>0</vsizetype>
-        <horstretch>0</horstretch>
-        <verstretch>0</verstretch>
-       </sizepolicy>
-      </property>
-      <property name="toolTip" >
-       <string>Natbib citation style to use</string>
-      </property>
-     </widget>
-    </item>
-    <item row="4" column="0" colspan="2" >
-     <widget class="QCheckBox" name="forceuppercaseCB" >
-      <property name="toolTip" >
-       <string>Force upper case in citation</string>
-      </property>
-      <property name="text" >
-       <string>Force &amp;upper case</string>
-      </property>
-     </widget>
-    </item>
-    <item row="2" column="0" >
-     <widget class="QLabel" name="textAfterLA" >
-      <property name="text" >
-       <string>&amp;Text after:</string>
-      </property>
-      <property name="buddy" >
-       <cstring>textAfterED</cstring>
-      </property>
-     </widget>
-    </item>
-    <item row="2" column="1" >
-     <widget class="QLineEdit" name="textAfterED" >
-      <property name="sizePolicy" >
-       <sizepolicy>
-        <hsizetype>5</hsizetype>
-        <vsizetype>0</vsizetype>
-        <horstretch>0</horstretch>
-        <verstretch>0</verstretch>
-       </sizepolicy>
-      </property>
-      <property name="toolTip" >
-       <string>Text to place after citation</string>
-      </property>
-     </widget>
-    </item>
-    <item row="1" column="1" >
-     <widget class="QLineEdit" name="textBeforeED" >
-      <property name="sizePolicy" >
-       <sizepolicy>
-        <hsizetype>5</hsizetype>
-        <vsizetype>0</vsizetype>
-        <horstretch>0</horstretch>
-        <verstretch>0</verstretch>
-       </sizepolicy>
-      </property>
-      <property name="toolTip" >
-       <string>Text to place before citation</string>
-      </property>
-     </widget>
-    </item>
-    <item row="1" column="0" >
-     <widget class="QLabel" name="textBeforeLA" >
-      <property name="text" >
-       <string>Text &amp;before:</string>
-      </property>
-      <property name="buddy" >
-       <cstring>textAfterED</cstring>
-      </property>
-     </widget>
-    </item>
-    <item row="3" column="0" colspan="2" >
-     <widget class="QCheckBox" name="fulllistCB" >
-      <property name="toolTip" >
-       <string>List all authors</string>
-      </property>
-      <property name="text" >
-       <string>&amp;Full author list</string>
-      </property>
-     </widget>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QPushButton" name="downPB" >
-   <property name="geometry" >
-    <rect>
-     <x>140</x>
-     <y>110</y>
-     <width>41</width>
-     <height>25</height>
-    </rect>
-   </property>
-   <property name="sizePolicy" >
-    <sizepolicy>
-     <hsizetype>0</hsizetype>
-     <vsizetype>0</vsizetype>
-     <horstretch>0</horstretch>
-     <verstretch>0</verstretch>
-    </sizepolicy>
-   </property>
-   <property name="toolTip" >
-    <string>Move the selected citation down</string>
-   </property>
-   <property name="text" >
-    <string>&amp;Down</string>
-   </property>
-   <property name="icon" >
-    <iconset/>
-   </property>
-  </widget>
-  <widget class="QPushButton" name="upPB" >
-   <property name="geometry" >
-    <rect>
-     <x>140</x>
-     <y>80</y>
-     <width>41</width>
-     <height>25</height>
-    </rect>
-   </property>
-   <property name="sizePolicy" >
-    <sizepolicy>
-     <hsizetype>0</hsizetype>
-     <vsizetype>0</vsizetype>
-     <horstretch>0</horstretch>
-     <verstretch>0</verstretch>
-    </sizepolicy>
-   </property>
-   <property name="toolTip" >
-    <string>Move the selected citation up</string>
-   </property>
-   <property name="text" >
-    <string>&amp;Up</string>
-   </property>
-   <property name="icon" >
-    <iconset/>
-   </property>
-  </widget>
-  <widget class="QPushButton" name="deletePB" >
-   <property name="geometry" >
-    <rect>
-     <x>140</x>
-     <y>50</y>
-     <width>41</width>
-     <height>25</height>
-    </rect>
-   </property>
-   <property name="text" >
-    <string>D&amp;elete</string>
-   </property>
-  </widget>
-  <widget class="QPushButton" name="addPB" >
-   <property name="geometry" >
-    <rect>
-     <x>140</x>
-     <y>20</y>
-     <width>41</width>
-     <height>25</height>
-    </rect>
-   </property>
-   <property name="toolTip" >
-    <string/>
-   </property>
-   <property name="text" >
-    <string>&amp;Add</string>
-   </property>
-   <property name="autoDefault" >
-    <bool>true</bool>
-   </property>
-  </widget>
-  <widget class="QLabel" name="selectedKeysLA" >
-   <property name="geometry" >
-    <rect>
-     <x>10</x>
-     <y>0</y>
-     <width>111</width>
-     <height>16</height>
-    </rect>
-   </property>
-   <property name="text" >
-    <string>&amp;Citations to insert:</string>
-   </property>
-   <property name="buddy" >
-    <cstring>selectedLV</cstring>
-   </property>
-  </widget>
-  <widget class="QLabel" name="availableKeysLA" >
-   <property name="geometry" >
-    <rect>
-     <x>190</x>
-     <y>0</y>
-     <width>111</width>
-     <height>16</height>
-    </rect>
-   </property>
-   <property name="text" >
-    <string>&amp;Available Citations:</string>
-   </property>
-   <property name="buddy" >
-    <cstring>selectedLB</cstring>
-   </property>
-  </widget>
-  <widget class="QLabel" name="findKeysLA" >
-   <property name="geometry" >
-    <rect>
-     <x>160</x>
-     <y>206</y>
-     <width>23</width>
-     <height>20</height>
-    </rect>
-   </property>
-   <property name="text" >
-    <string>&amp;Find:</string>
-   </property>
-   <property name="buddy" >
-    <cstring>selectedLV</cstring>
-   </property>
-  </widget>
-  <widget class="QTextEdit" name="infoML" >
-   <property name="geometry" >
-    <rect>
-     <x>10</x>
-     <y>380</y>
-     <width>371</width>
-     <height>71</height>
-    </rect>
-   </property>
-   <property name="documentTitle" >
-    <string>Citation Information</string>
-   </property>
-  </widget>
-  <widget class="QListView" name="selectedLV" >
-   <property name="geometry" >
-    <rect>
-     <x>10</x>
-     <y>20</y>
-     <width>120</width>
-     <height>181</height>
-    </rect>
-   </property>
-  </widget>
-  <widget class="QListView" name="availableLV" >
-   <property name="geometry" >
-    <rect>
-     <x>190</x>
-     <y>20</y>
-     <width>120</width>
-     <height>181</height>
-    </rect>
-   </property>
-  </widget>
-  <widget class="QLineEdit" name="findLE" >
-   <property name="geometry" >
-    <rect>
-     <x>190</x>
-     <y>204</y>
-     <width>120</width>
-     <height>20</height>
-    </rect>
-   </property>
-   <property name="text" >
-    <string/>
-   </property>
-  </widget>
-  <widget class="QPushButton" name="advancedSearchPB" >
-   <property name="geometry" >
-    <rect>
-     <x>260</x>
-     <y>240</y>
-     <width>111</width>
-     <height>31</height>
-    </rect>
-   </property>
-   <property name="text" >
-    <string>Advanced &amp;Search...</string>
-   </property>
-  </widget>
+      <item row="0" column="1" colspan="2" >
+       <widget class="QComboBox" name="citationStyleCO" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>3</hsizetype>
+          <vsizetype>0</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="toolTip" >
+         <string>Natbib citation style to use</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="0" >
+       <widget class="QLabel" name="citationStyleLA" >
+        <property name="text" >
+         <string>Citation &amp;style:</string>
+        </property>
+        <property name="buddy" >
+         <cstring>citationStyleCO</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="3" column="0" colspan="2" >
+       <widget class="QCheckBox" name="fulllistCB" >
+        <property name="toolTip" >
+         <string>List all authors</string>
+        </property>
+        <property name="text" >
+         <string>&amp;Full author list</string>
+        </property>
+       </widget>
+      </item>
+      <item row="3" column="2" >
+       <widget class="QCheckBox" name="forceuppercaseCB" >
+        <property name="toolTip" >
+         <string>Force upper case in citation</string>
+        </property>
+        <property name="text" >
+         <string>Force &amp;upper case</string>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="0" >
+       <widget class="QLabel" name="textAfterLA" >
+        <property name="text" >
+         <string>&amp;Text after:</string>
+        </property>
+        <property name="buddy" >
+         <cstring>textAfterED</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="1" colspan="2" >
+       <widget class="QLineEdit" name="textAfterED" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>5</hsizetype>
+          <vsizetype>0</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="toolTip" >
+         <string>Text to place after citation</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0" >
+       <widget class="QLabel" name="textBeforeLA" >
+        <property name="text" >
+         <string>Text &amp;before:</string>
+        </property>
+        <property name="buddy" >
+         <cstring>textAfterED</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1" colspan="2" >
+       <widget class="QLineEdit" name="textBeforeED" >
+        <property name="sizePolicy" >
+         <sizepolicy>
+          <hsizetype>5</hsizetype>
+          <vsizetype>0</vsizetype>
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="toolTip" >
+         <string>Text to place before citation</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="margin" >
+      <number>0</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <widget class="QPushButton" name="restorePB" >
+       <property name="text" >
+        <string>&amp;Restore</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okPB" >
+       <property name="text" >
+        <string>&amp;OK</string>
+       </property>
+       <property name="autoDefault" >
+        <bool>true</bool>
+       </property>
+       <property name="default" >
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="applyPB" >
+       <property name="text" >
+        <string>A&amp;pply</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelPB" >
+       <property name="text" >
+        <string>&amp;Cancel</string>
+       </property>
+       <property name="autoDefault" >
+        <bool>false</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
  </widget>
  <pixmapfunction></pixmapfunction>
  <tabstops>

Reply via email to