diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog
index 9ac1c32fef..3d2474120b 100644
--- a/src/frontends/qt2/ChangeLog
+++ b/src/frontends/qt2/ChangeLog
@@ -1,3 +1,10 @@
+2003-04-04  John Levon  <levon@movementarian.org>
+
+	* QCitation.C:
+	* QCitationDialog.C:
+	* QCitationDialogBase.ui: some UI fixes, remove
+	text before, add accelerators
+	
 2003-04-03  John Levon  <levon@movementarian.org>
 
 	* QRefDialog.h:
diff --git a/src/frontends/qt2/QCitation.C b/src/frontends/qt2/QCitation.C
index 33112e529e..f9907aa13d 100644
--- a/src/frontends/qt2/QCitation.C
+++ b/src/frontends/qt2/QCitation.C
@@ -21,6 +21,7 @@
 #include <qlistbox.h>
 #include <qmultilineedit.h>
 #include <qpushbutton.h>
+#include <qlabel.h>
 
 #include "QtLyXView.h"
 #include "Qt2BC.h"
@@ -103,24 +104,45 @@ void QCitation::build_dialog()
 
 void QCitation::fillStyles()
 {
-	// style
-	string key;
+	if (citekeys.empty()) {
+		dialog_->citationStyleCO->setEnabled(false);
+		dialog_->citationStyleLA->setEnabled(false);
+		return;
+	}
 
-	if (!citekeys.empty())
-		key = citekeys[0];
+	int const orig = dialog_->citationStyleCO->currentItem();
 
 	dialog_->citationStyleCO->clear();
+
+	int curr = dialog_->selectedLB->currentItem();
+	if (curr < 0)
+		curr = 0;
+
+	string key = citekeys[curr];
+
 	vector<string> const & sty = controller().getCiteStrings(key);
 
+	bool const natbib = controller().usingNatbib();
+	dialog_->citationStyleCO->setEnabled(!sty.empty() && natbib);
+	dialog_->citationStyleLA->setEnabled(!sty.empty() && natbib);
+
 	for (vector<string>::const_iterator it = sty.begin();
 		it != sty.end(); ++it) {
 		dialog_->citationStyleCO->insertItem(toqstr(*it));
 	}
+
+	if (orig != -1 && orig < dialog_->citationStyleCO->count())
+		dialog_->citationStyleCO->setCurrentItem(orig);
 }
 
 
 void QCitation::updateStyle()
 {
+	bool const natbib = controller().usingNatbib();
+
+	dialog_->fulllistCB->setEnabled(natbib);
+	dialog_->forceuppercaseCB->setEnabled(natbib);
+
 	string const & command = controller().params().getCmdName();
 
 	// Find the style of the citekeys
@@ -141,11 +163,6 @@ void QCitation::updateStyle()
 		dialog_->fulllistCB->setChecked(cs.full);
 		dialog_->forceuppercaseCB->setChecked(cs.forceUCase);
 	}
-
-	bool const natbib = controller().usingNatbib();
-	dialog_->citationStyleCO->setEnabled(natbib);
-	dialog_->fulllistCB->setEnabled(natbib);
-	dialog_->forceuppercaseCB->setEnabled(natbib);
 }
 
 
@@ -153,27 +170,25 @@ void QCitation::update_contents()
 {
 	// Make the list of all available bibliography keys
 	bibkeys = biblio::getKeys(controller().bibkeysInfo());
-	updateBrowser(dialog_->bibLB, bibkeys);
+	updateBrowser(dialog_->availableLB, bibkeys);
 
 	// Ditto for the keys cited in this inset
 	citekeys = getVectorFromString(controller().params().getContents());
-	updateBrowser(dialog_->citeLB, citekeys);
+	updateBrowser(dialog_->selectedLB, citekeys);
 
 	// No keys have been selected yet, so...
 	dialog_->infoML->clear();
-	setBibButtons(OFF);
-	setCiteButtons(OFF);
+	dialog_->setButtons();
 
 	dialog_->textAfterED->setText(toqstr(controller().params().getOptions()));
 
 	fillStyles();
-
 	updateStyle();
 }
 
 
 void QCitation::updateBrowser(QListBox * browser,
-				  vector<string> const & keys) const
+                              vector<string> const & keys) const
 {
 	browser->clear();
 
@@ -185,23 +200,3 @@ void QCitation::updateBrowser(QListBox * browser,
 			browser->insertItem(toqstr(key));
 	}
 }
-
-
-void QCitation::setBibButtons(State status) const
-{
-	dialog_->addPB->setEnabled((status == ON));
-}
-
-
-void QCitation::setCiteButtons(State status) const
-{
-	int const sel = dialog_->citeLB->currentItem();
-	int const maxline = dialog_->citeLB->count() - 1;
-	bool const activate = (status == ON);
-	bool const activate_up = (activate && sel != 0);
-	bool const activate_down = (activate && sel != maxline);
-
-	dialog_->delPB->setEnabled(activate);
-	dialog_->upPB->setEnabled(activate_up);
-	dialog_->downPB->setEnabled(activate_down);
-}
diff --git a/src/frontends/qt2/QCitation.h b/src/frontends/qt2/QCitation.h
index 6f9da4dad3..771df624c7 100644
--- a/src/frontends/qt2/QCitation.h
+++ b/src/frontends/qt2/QCitation.h
@@ -29,13 +29,6 @@ public:
 	///
 	QCitation(Dialog &);
 private:
-	///
-	enum State {
-		///
-		ON,
-		///
-		OFF
-	};
 
 	/// Set the Params variable for the Controller.
 	virtual void apply();
@@ -53,14 +46,10 @@ private:
 	void updateStyle();
 
 	void updateBrowser(QListBox *, std::vector<string> const &) const;
-	///
-	void setBibButtons(State) const;
-	///
-	void setCiteButtons(State) const;
 
-	///
+	/// selected keys
 	std::vector<string> citekeys;
-	///
+	/// available bib keys
 	std::vector<string> bibkeys;
 };
 
diff --git a/src/frontends/qt2/QCitationDialog.C b/src/frontends/qt2/QCitationDialog.C
index 8b6588309d..214cb54c21 100644
--- a/src/frontends/qt2/QCitationDialog.C
+++ b/src/frontends/qt2/QCitationDialog.C
@@ -15,8 +15,7 @@
 
 #include "qt_helpers.h"
 #include "controllers/ControlCitation.h"
-#include "LyXView.h"
-#include "buffer.h"
+#include "debug.h"
 
 #include <qcheckbox.h>
 #include <qcombobox.h>
@@ -24,6 +23,7 @@
 #include <qlistbox.h>
 #include <qmultilineedit.h>
 #include <qpushbutton.h>
+#include <qlabel.h>
 
 #include "QCitationDialog.h"
 #include "QCitation.h"
@@ -32,6 +32,7 @@
 using std::vector;
 using std::find;
 using std::max;
+using std::endl;
 
 
 QCitationDialog::QCitationDialog(QCitation * form)
@@ -46,14 +47,6 @@ QCitationDialog::QCitationDialog(QCitation * form)
 		form, SLOT(slotApply()));
 	connect(closePB, SIGNAL(clicked()),
 		form, SLOT(slotClose()));
-	connect(searchED, SIGNAL(returnPressed()),
-		this, SLOT(slotNextClicked()));
-
-	textBeforeED->setText(qt_("Not yet supported"));
-	textBeforeED->setReadOnly(true);
-	textBeforeED->setFocusPolicy(QWidget::NoFocus);
-	citationStyleCO->setEnabled(false);
-	citationStyleCO->setFocusPolicy(QWidget::NoFocus);
 }
 
 
@@ -62,192 +55,157 @@ QCitationDialog::~QCitationDialog()
 }
 
 
-void QCitationDialog::slotBibSelected(int sel)
+void QCitationDialog::setButtons()
 {
-	slotBibHighlighted(sel);
-
 	if (form_->readOnly())
 		return;
 
-	slotAddClicked();
+	int const sel_nr = selectedLB->currentItem();
+	int const avail_nr = availableLB->currentItem();
+
+	addPB->setEnabled(avail_nr >= 0);
+	delPB->setEnabled(sel_nr >= 0);
+	upPB->setEnabled(sel_nr > 0);
+	downPB->setEnabled(sel_nr >= 0 && sel_nr < int(selectedLB->count() - 1));
 }
 
 
-void QCitationDialog::slotBibHighlighted(int sel)
+void QCitationDialog::selectedChanged()
 {
+	form_->fillStyles();
 	biblio::InfoMap const & theMap = form_->controller().bibkeysInfo();
-
-	citeLB->clearSelection();
-
-	// FIXME: why would this happen ?
-	if (sel < 0 || sel >= (int)form_->bibkeys.size()) {
-		return;
-	}
-
-	// Put into browser_info the additional info associated with
-	// the selected browser_bib key
 	infoML->clear();
 
-	infoML->setText(toqstr(biblio::getInfo(theMap, form_->bibkeys[sel])));
-
-	// Highlight the selected browser_bib key in browser_cite if
-	// present
-	vector<string>::const_iterator cit =
-		std::find(form_->citekeys.begin(), form_->citekeys.end(),
-			  form_->bibkeys[sel]);
-
-	if (cit != form_->citekeys.end()) {
-		int const n = int(cit - form_->citekeys.begin());
-		citeLB->setSelected(n, true);
-		citeLB->setTopItem(n);
-	}
-
-	if (!form_->readOnly()) {
-		if (cit != form_->citekeys.end()) {
-			form_->setBibButtons(QCitation::OFF);
-			form_->setCiteButtons(QCitation::ON);
-		} else {
-			form_->setBibButtons(QCitation::ON);
-			form_->setCiteButtons(QCitation::OFF);
-		}
-	}
-}
-
-
-void QCitationDialog::slotCiteHighlighted(int sel)
-{
-	biblio::InfoMap const & theMap = form_->controller().bibkeysInfo();
-
-	// FIXME: why would this happen ?
-	if (sel < 0 || sel >= (int)form_->citekeys.size()) {
+	int const sel = selectedLB->currentItem();
+	if (sel < 0) {
+		setButtons();
 		return;
 	}
 
-	if (!form_->readOnly()) {
-		form_->setBibButtons(QCitation::OFF);
-		form_->setCiteButtons(QCitation::ON);
-	}
+	infoML->setText(toqstr(biblio::getInfo(theMap, form_->citekeys[sel])));
 
-	// Highlight the selected browser_cite key in browser_bib
 	vector<string>::const_iterator cit =
 		std::find(form_->bibkeys.begin(),
 		form_->bibkeys.end(), form_->citekeys[sel]);
 
 	if (cit != form_->bibkeys.end()) {
 		int const n = int(cit - form_->bibkeys.begin());
-		bibLB->setSelected(n, true);
-		bibLB->setTopItem(n);
-
-		// Put into browser_info the additional info associated
-		// with the selected browser_cite key
-		infoML->clear();
-		infoML->setText(toqstr(biblio::getInfo(theMap, form_->citekeys[sel])));
+		availableLB->setSelected(n, true);
+		availableLB->ensureCurrentVisible();
 	}
+	setButtons();
 }
 
 
-void QCitationDialog::slotAddClicked()
+void QCitationDialog::availableChanged()
 {
-	int const sel = bibLB->currentItem();
+	biblio::InfoMap const & theMap = form_->controller().bibkeysInfo();
+	selectedLB->clearSelection();
+	infoML->clear();
 
-	// FIXME: why ?
-	if (sel < 0 || sel >= (int)form_->bibkeys.size()) {
+	int const sel = availableLB->currentItem();
+	if (sel < 0) {
+		setButtons();
 		return;
 	}
 
+	infoML->setText(toqstr(biblio::getInfo(theMap, form_->bibkeys[sel])));
+
+	vector<string>::const_iterator cit =
+		std::find(form_->citekeys.begin(), form_->citekeys.end(),
+			  form_->bibkeys[sel]);
+
+	if (cit != form_->citekeys.end()) {
+		int const n = int(cit - form_->citekeys.begin());
+		selectedLB->setSelected(n, true);
+		selectedLB->ensureCurrentVisible();
+	}
+	setButtons();
+}
+
+
+void QCitationDialog::add()
+{
+	int const sel = availableLB->currentItem();
+
 	// Add the selected browser_bib key to browser_cite
-	citeLB->insertItem(toqstr(form_->bibkeys[sel]));
+	selectedLB->insertItem(toqstr(form_->bibkeys[sel]));
 	form_->citekeys.push_back(form_->bibkeys[sel]);
 
 	int const n = int(form_->citekeys.size());
-	citeLB->setSelected(n - 1, true);
+	selectedLB->setSelected(n - 1, true);
 
-	slotBibHighlighted(sel);
-	form_->setBibButtons(QCitation::OFF);
-	form_->setCiteButtons(QCitation::ON);
 	form_->changed();
 	form_->fillStyles();
+	setButtons();
 }
 
 
-void QCitationDialog::slotDelClicked()
+void QCitationDialog::del()
 {
-	int const sel = citeLB->currentItem();
-
-	// FIXME: why ?
-	if (sel < 0 || sel >= (int)form_->citekeys.size()) {
-		return;
-	}
+	int const sel = selectedLB->currentItem();
 
 	// Remove the selected key from browser_cite
-	citeLB->removeItem(sel);
+	selectedLB->removeItem(sel);
 	form_->citekeys.erase(form_->citekeys.begin() + sel);
 
-	form_->setBibButtons(QCitation::ON);
-	form_->setCiteButtons(QCitation::OFF);
 	form_->changed();
 	form_->fillStyles();
-	form_->updateStyle();
+	setButtons();
 }
 
 
-void QCitationDialog::slotUpClicked()
+void QCitationDialog::up()
 {
-	int const sel = citeLB->currentItem();
-
-	// FIXME: why ?
-	if (sel < 1 || sel >= (int)form_->citekeys.size()) {
-		return;
-	}
+	int const sel = selectedLB->currentItem();
 
 	// Move the selected key up one line
 	vector<string>::iterator it = form_->citekeys.begin() + sel;
 	string const tmp = *it;
 
-	citeLB->removeItem(sel);
+	selectedLB->removeItem(sel);
 	form_->citekeys.erase(it);
 
-	citeLB->insertItem(toqstr(tmp), sel - 1);
-	citeLB->setSelected(sel - 1, true);
+	selectedLB->insertItem(toqstr(tmp), sel - 1);
+	selectedLB->setSelected(sel - 1, true);
 	form_->citekeys.insert(it - 1, tmp);
-	form_->setCiteButtons(QCitation::ON);
+
 	form_->changed();
 	form_->fillStyles();
+	availableLB->clearSelection();
+	setButtons();
 }
 
 
-void QCitationDialog::slotDownClicked()
+void QCitationDialog::down()
 {
-	int const sel = citeLB->currentItem();
-
-	// FIXME: ?
-	if (sel < 0 || sel >= (int)form_->citekeys.size() - 1) {
-		return;
-	}
+	int const sel = selectedLB->currentItem();
 
 	// Move the selected key down one line
 	vector<string>::iterator it = form_->citekeys.begin() + sel;
 	string const tmp = *it;
 
-	citeLB->removeItem(sel);
+	selectedLB->removeItem(sel);
 	form_->citekeys.erase(it);
 
-	citeLB->insertItem(toqstr(tmp), sel + 1);
-	citeLB->setSelected(sel + 1, true);
+	selectedLB->insertItem(toqstr(tmp), sel + 1);
+	selectedLB->setSelected(sel + 1, true);
 	form_->citekeys.insert(it + 1, tmp);
-	form_->setCiteButtons(QCitation::ON);
+
 	form_->changed();
 	form_->fillStyles();
+	availableLB->clearSelection();
+	setButtons();
 }
 
 
-void QCitationDialog::slotPreviousClicked()
+void QCitationDialog::previous()
 {
 	doFind(biblio::BACKWARD);
 }
 
 
-void QCitationDialog::slotNextClicked()
+void QCitationDialog::next()
 {
 	doFind(biblio::FORWARD);
 }
@@ -269,7 +227,7 @@ void QCitationDialog::doFind(biblio::Direction dir)
 		biblio::REGEX : biblio::SIMPLE;
 
 	vector<string>::const_iterator start = form_->bibkeys.begin();
-	int const sel = bibLB->currentItem();
+	int const sel = availableLB->currentItem();
 	if (sel >= 0 && sel <= int(form_->bibkeys.size()-1))
 		start += sel;
 
@@ -305,8 +263,6 @@ void QCitationDialog::doFind(biblio::Direction dir)
 	}
 
 	// Update the display
-	int const top = max(found - 5, 1);
-	bibLB->setTopItem(top);
-	bibLB->setSelected(found, true);
-	slotBibHighlighted(found);
+	availableLB->setSelected(found, true);
+	availableLB->ensureCurrentVisible();
 }
diff --git a/src/frontends/qt2/QCitationDialog.h b/src/frontends/qt2/QCitationDialog.h
index 90b045b542..a8fbbeb9fe 100644
--- a/src/frontends/qt2/QCitationDialog.h
+++ b/src/frontends/qt2/QCitationDialog.h
@@ -20,22 +20,29 @@ class QCitation;
 
 class QCitationDialog : public QCitationDialogBase {
 	Q_OBJECT
+
 public:
 	QCitationDialog(QCitation * form);
+
 	~QCitationDialog();
+
+	void setButtons();
+
 protected slots:
-	virtual void slotBibHighlighted(int sel);
-	virtual void slotBibSelected(int sel);
-	virtual void slotCiteHighlighted(int sel);
-	virtual void slotAddClicked();
-	virtual void slotDelClicked();
-	virtual void slotUpClicked();
-	virtual void slotDownClicked();
-	virtual void slotPreviousClicked();
-	virtual void slotNextClicked();
+
+	virtual void availableChanged();
+	virtual void selectedChanged();
+	virtual void next();
+	virtual void previous();
+	virtual void up();
+	virtual void down();
+	virtual void del();
+	virtual void add();
 	virtual void changed_adaptor();
+
 private:
 	void doFind(biblio::Direction dir);
+
 private:
 	QCitation * form_;
 };
diff --git a/src/frontends/qt2/ui/QCitationDialogBase.ui b/src/frontends/qt2/ui/QCitationDialogBase.ui
index 2f01630adb..201ef88023 100644
--- a/src/frontends/qt2/ui/QCitationDialogBase.ui
+++ b/src/frontends/qt2/ui/QCitationDialogBase.ui
@@ -13,10 +13,17 @@
         <rect>
             <x>0</x>
             <y>0</y>
-            <width>609</width>
-            <height>416</height>
+            <width>533</width>
+            <height>372</height>
         </rect>
     </property>
+    <property stdset="1">
+        <name>sizePolicy</name>
+        <sizepolicy>
+            <hsizetype>1</hsizetype>
+            <vsizetype>1</vsizetype>
+        </sizepolicy>
+    </property>
     <property stdset="1">
         <name>caption</name>
         <string>Citation</string>
@@ -34,7 +41,7 @@
             <name>spacing</name>
             <number>6</number>
         </property>
-        <widget row="11"  column="0"  rowspan="1"  colspan="6" >
+        <widget row="10"  column="0"  rowspan="1"  colspan="6" >
             <class>QLayoutWidget</class>
             <property stdset="1">
                 <name>name</name>
@@ -89,7 +96,7 @@
                     </property>
                     <property stdset="1">
                         <name>text</name>
-                        <string>OK</string>
+                        <string>&amp;OK</string>
                     </property>
                     <property stdset="1">
                         <name>autoDefault</name>
@@ -206,10 +213,14 @@
             </property>
             <property stdset="1">
                 <name>text</name>
-                <string>Search</string>
+                <string>Fin&amp;d:</string>
+            </property>
+            <property>
+                <name>buddy</name>
+                <cstring>searchED</cstring>
             </property>
         </widget>
-        <widget row="1"  column="2"  rowspan="5"  colspan="1" >
+        <widget row="1"  column="2"  rowspan="4"  colspan="1" >
             <class>QListBox</class>
             <item>
                 <property>
@@ -219,7 +230,15 @@
             </item>
             <property stdset="1">
                 <name>name</name>
-                <cstring>bibLB</cstring>
+                <cstring>availableLB</cstring>
+            </property>
+            <property stdset="1">
+                <name>vScrollBarMode</name>
+                <enum>AlwaysOn</enum>
+            </property>
+            <property stdset="1">
+                <name>hScrollBarMode</name>
+                <enum>AlwaysOff</enum>
             </property>
             <property>
                 <name>toolTip</name>
@@ -355,10 +374,14 @@
             </property>
             <property stdset="1">
                 <name>text</name>
-                <string>Available</string>
+                <string>A&amp;vailable</string>
+            </property>
+            <property>
+                <name>buddy</name>
+                <cstring>availableLB</cstring>
             </property>
         </widget>
-        <widget row="1"  column="0"  rowspan="5"  colspan="1" >
+        <widget row="1"  column="0"  rowspan="4"  colspan="1" >
             <class>QListBox</class>
             <item>
                 <property>
@@ -368,7 +391,15 @@
             </item>
             <property stdset="1">
                 <name>name</name>
-                <cstring>citeLB</cstring>
+                <cstring>selectedLB</cstring>
+            </property>
+            <property stdset="1">
+                <name>vScrollBarMode</name>
+                <enum>AlwaysOn</enum>
+            </property>
+            <property stdset="1">
+                <name>hScrollBarMode</name>
+                <enum>AlwaysOff</enum>
             </property>
             <property stdset="1">
                 <name>selectionMode</name>
@@ -387,42 +418,14 @@
             </property>
             <property stdset="1">
                 <name>text</name>
-                <string>Selected</string>
-            </property>
-        </widget>
-        <spacer row="5"  column="1" >
-            <property>
-                <name>name</name>
-                <cstring>Spacer5</cstring>
-            </property>
-            <property stdset="1">
-                <name>orientation</name>
-                <enum>Vertical</enum>
-            </property>
-            <property stdset="1">
-                <name>sizeType</name>
-                <enum>Expanding</enum>
+                <string>&amp;Selected</string>
             </property>
             <property>
-                <name>sizeHint</name>
-                <size>
-                    <width>20</width>
-                    <height>20</height>
-                </size>
-            </property>
-        </spacer>
-        <widget row="6"  column="0"  rowspan="1"  colspan="3" >
-            <class>QLabel</class>
-            <property stdset="1">
-                <name>name</name>
-                <cstring>infoLA</cstring>
-            </property>
-            <property stdset="1">
-                <name>text</name>
-                <string>Info</string>
+                <name>buddy</name>
+                <cstring>selectedLB</cstring>
             </property>
         </widget>
-        <widget row="7"  column="0"  rowspan="4"  colspan="3" >
+        <widget row="7"  column="0"  rowspan="3"  colspan="3" >
             <class>QMultiLineEdit</class>
             <property stdset="1">
                 <name>name</name>
@@ -445,7 +448,7 @@
                 <string>Citation entry</string>
             </property>
         </widget>
-        <widget row="10"  column="3"  rowspan="1"  colspan="3" >
+        <widget row="9"  column="3"  rowspan="1"  colspan="3" >
             <class>QLayoutWidget</class>
             <property stdset="1">
                 <name>name</name>
@@ -513,7 +516,7 @@
                 </widget>
             </hbox>
         </widget>
-        <widget row="9"  column="4"  rowspan="1"  colspan="2" >
+        <widget row="8"  column="4"  rowspan="1"  colspan="2" >
             <class>QLineEdit</class>
             <property stdset="1">
                 <name>name</name>
@@ -531,7 +534,7 @@
                 <string>Text to place after citation</string>
             </property>
         </widget>
-        <widget row="9"  column="3" >
+        <widget row="8"  column="3" >
             <class>QLabel</class>
             <property stdset="1">
                 <name>name</name>
@@ -539,48 +542,11 @@
             </property>
             <property stdset="1">
                 <name>text</name>
-                <string>Text after:</string>
-            </property>
-        </widget>
-        <widget row="8"  column="4"  rowspan="1"  colspan="2" >
-            <class>QLineEdit</class>
-            <property stdset="1">
-                <name>name</name>
-                <cstring>textBeforeED</cstring>
-            </property>
-            <property stdset="1">
-                <name>enabled</name>
-                <bool>false</bool>
-            </property>
-            <property stdset="1">
-                <name>sizePolicy</name>
-                <sizepolicy>
-                    <hsizetype>5</hsizetype>
-                    <vsizetype>0</vsizetype>
-                </sizepolicy>
-            </property>
-            <property stdset="1">
-                <name>text</name>
-                <string>Not yet supported</string>
+                <string>&amp;Text after:</string>
             </property>
             <property>
-                <name>toolTip</name>
-                <string>Text to place before citation</string>
-            </property>
-        </widget>
-        <widget row="8"  column="3" >
-            <class>QLabel</class>
-            <property stdset="1">
-                <name>name</name>
-                <cstring>textBeforeLA</cstring>
-            </property>
-            <property stdset="1">
-                <name>enabled</name>
-                <bool>false</bool>
-            </property>
-            <property stdset="1">
-                <name>text</name>
-                <string>Text before:</string>
+                <name>buddy</name>
+                <cstring>textAfterED</cstring>
             </property>
         </widget>
         <widget row="7"  column="4"  rowspan="1"  colspan="2" >
@@ -601,18 +567,7 @@
                 <string>Natbib citation style to use</string>
             </property>
         </widget>
-        <widget row="7"  column="3" >
-            <class>QLabel</class>
-            <property stdset="1">
-                <name>name</name>
-                <cstring>citationStyleLA</cstring>
-            </property>
-            <property stdset="1">
-                <name>text</name>
-                <string>Citation style:</string>
-            </property>
-        </widget>
-        <spacer row="4"  column="4"  rowspan="2"  colspan="1" >
+        <spacer row="4"  column="4" >
             <property>
                 <name>name</name>
                 <cstring>Spacer5_2</cstring>
@@ -633,6 +588,39 @@
                 </size>
             </property>
         </spacer>
+        <widget row="6"  column="0"  rowspan="1"  colspan="3" >
+            <class>QLabel</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>infoLA</cstring>
+            </property>
+            <property stdset="1">
+                <name>sizePolicy</name>
+                <sizepolicy>
+                    <hsizetype>1</hsizetype>
+                    <vsizetype>0</vsizetype>
+                </sizepolicy>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>Info</string>
+            </property>
+        </widget>
+        <widget row="7"  column="3" >
+            <class>QLabel</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>citationStyleLA</cstring>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>C&amp;itation style:</string>
+            </property>
+            <property>
+                <name>buddy</name>
+                <cstring>citationStyleCO</cstring>
+            </property>
+        </widget>
     </grid>
 </widget>
 <images>
@@ -655,77 +643,29 @@
 </images>
 <connections>
     <connection>
-        <sender>addPB</sender>
-        <signal>clicked()</signal>
+        <sender>searchED</sender>
+        <signal>returnPressed()</signal>
         <receiver>QCitationDialogBase</receiver>
-        <slot>slotAddClicked()</slot>
-    </connection>
-    <connection>
-        <sender>delPB</sender>
-        <signal>clicked()</signal>
-        <receiver>QCitationDialogBase</receiver>
-        <slot>slotDelClicked()</slot>
-    </connection>
-    <connection>
-        <sender>downPB</sender>
-        <signal>clicked()</signal>
-        <receiver>QCitationDialogBase</receiver>
-        <slot>slotDownClicked()</slot>
-    </connection>
-    <connection>
-        <sender>previousPB</sender>
-        <signal>clicked()</signal>
-        <receiver>QCitationDialogBase</receiver>
-        <slot>slotPreviousClicked()</slot>
+        <slot>next()</slot>
     </connection>
     <connection>
         <sender>nextPB</sender>
         <signal>clicked()</signal>
         <receiver>QCitationDialogBase</receiver>
-        <slot>slotNextClicked()</slot>
+        <slot>next()</slot>
     </connection>
     <connection>
-        <sender>upPB</sender>
+        <sender>previousPB</sender>
         <signal>clicked()</signal>
         <receiver>QCitationDialogBase</receiver>
-        <slot>slotUpClicked()</slot>
+        <slot>previous()</slot>
     </connection>
     <connection>
-        <sender>textBeforeED</sender>
+        <sender>citationStyleCO</sender>
         <signal>textChanged(const QString&amp;)</signal>
         <receiver>QCitationDialogBase</receiver>
         <slot>changed_adaptor()</slot>
     </connection>
-    <connection>
-        <sender>textAfterED</sender>
-        <signal>textChanged(const QString&amp;)</signal>
-        <receiver>QCitationDialogBase</receiver>
-        <slot>changed_adaptor()</slot>
-    </connection>
-    <connection>
-        <sender>citeLB</sender>
-        <signal>highlighted(int)</signal>
-        <receiver>QCitationDialogBase</receiver>
-        <slot>slotCiteHighlighted(int)</slot>
-    </connection>
-    <connection>
-        <sender>citeLB</sender>
-        <signal>selected(int)</signal>
-        <receiver>QCitationDialogBase</receiver>
-        <slot>slotBibHighlighted(int)</slot>
-    </connection>
-    <connection>
-        <sender>bibLB</sender>
-        <signal>highlighted(int)</signal>
-        <receiver>QCitationDialogBase</receiver>
-        <slot>slotBibHighlighted(int)</slot>
-    </connection>
-    <connection>
-        <sender>bibLB</sender>
-        <signal>selected(int)</signal>
-        <receiver>QCitationDialogBase</receiver>
-        <slot>slotBibSelected(int)</slot>
-    </connection>
     <connection>
         <sender>fulllistCB</sender>
         <signal>clicked()</signal>
@@ -739,43 +679,76 @@
         <slot>changed_adaptor()</slot>
     </connection>
     <connection>
-        <sender>citationStyleCO</sender>
-        <signal>activated(int)</signal>
+        <sender>textAfterED</sender>
+        <signal>textChanged(const QString&amp;)</signal>
         <receiver>QCitationDialogBase</receiver>
         <slot>changed_adaptor()</slot>
     </connection>
     <connection>
-        <sender>searchED</sender>
-        <signal>returnPressed()</signal>
+        <sender>addPB</sender>
+        <signal>clicked()</signal>
         <receiver>QCitationDialogBase</receiver>
-        <slot>slotNextClicked()</slot>
+        <slot>add()</slot>
     </connection>
+    <connection>
+        <sender>delPB</sender>
+        <signal>clicked()</signal>
+        <receiver>QCitationDialogBase</receiver>
+        <slot>del()</slot>
+    </connection>
+    <connection>
+        <sender>upPB</sender>
+        <signal>clicked()</signal>
+        <receiver>QCitationDialogBase</receiver>
+        <slot>up()</slot>
+    </connection>
+    <connection>
+        <sender>downPB</sender>
+        <signal>clicked()</signal>
+        <receiver>QCitationDialogBase</receiver>
+        <slot>down()</slot>
+    </connection>
+    <connection>
+        <sender>selectedLB</sender>
+        <signal>currentChanged(QListBoxItem*)</signal>
+        <receiver>QCitationDialogBase</receiver>
+        <slot>selectedChanged()</slot>
+    </connection>
+    <connection>
+        <sender>availableLB</sender>
+        <signal>currentChanged(QListBoxItem*)</signal>
+        <receiver>QCitationDialogBase</receiver>
+        <slot>availableChanged()</slot>
+    </connection>
+    <connection>
+        <sender>availableLB</sender>
+        <signal>selected(int)</signal>
+        <receiver>QCitationDialogBase</receiver>
+        <slot>add()</slot>
+    </connection>
+    <slot access="protected">add()</slot>
+    <slot access="public">availableChanged()</slot>
     <slot access="public">changed_adaptor()</slot>
-    <slot access="public">slotBibSelected(int)</slot>
-    <slot access="protected">slotAddClicked()</slot>
-    <slot access="public">slotBibHighlighted(int)</slot>
-    <slot access="public">slotCiteHighlighted(int)</slot>
-    <slot access="protected">slotDelClicked()</slot>
-    <slot access="protected">slotDownClicked()</slot>
-    <slot access="protected">slotNextClicked()</slot>
-    <slot access="protected">slotPreviousClicked()</slot>
-    <slot access="protected">slotSearchTypeSelected(bool)</slot>
-    <slot access="protected">slotUpClicked()</slot>
+    <slot access="protected">del()</slot>
+    <slot access="protected">down()</slot>
+    <slot access="public">previous()</slot>
+    <slot access="public">next()</slot>
+    <slot access="public">selectedChanged()</slot>
+    <slot access="public">up()</slot>
 </connections>
 <tabstops>
     <tabstop>addPB</tabstop>
     <tabstop>delPB</tabstop>
     <tabstop>upPB</tabstop>
     <tabstop>downPB</tabstop>
-    <tabstop>citeLB</tabstop>
-    <tabstop>bibLB</tabstop>
+    <tabstop>selectedLB</tabstop>
+    <tabstop>availableLB</tabstop>
     <tabstop>searchED</tabstop>
     <tabstop>searchTypeCB</tabstop>
     <tabstop>searchCaseCB</tabstop>
     <tabstop>previousPB</tabstop>
     <tabstop>nextPB</tabstop>
     <tabstop>citationStyleCO</tabstop>
-    <tabstop>textBeforeED</tabstop>
     <tabstop>textAfterED</tabstop>
     <tabstop>restorePB</tabstop>
     <tabstop>okPB</tabstop>