]> git.lyx.org Git - features.git/commitdiff
Add "Search as You Type" option to citation dialog.
authorRichard Heck <rgheck@comcast.net>
Fri, 25 Apr 2008 19:38:31 +0000 (19:38 +0000)
committerRichard Heck <rgheck@comcast.net>
Fri, 25 Apr 2008 19:38:31 +0000 (19:38 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24504 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/GuiCitation.cpp
src/frontends/qt4/GuiCitation.h
src/frontends/qt4/ui/CitationUi.ui

index c1e7fd74c63ab02b60118a220303cce47bebe913..bb9f0897b6a97cea85df37655844eed572fbda19 100644 (file)
@@ -98,6 +98,7 @@ GuiCitation::GuiCitation(GuiView & lv)
                this, SLOT(on_okPB_clicked()));
        connect(textAfterED, SIGNAL(returnPressed()),
                this, SLOT(on_okPB_clicked()));
+               
        connect(this, SIGNAL(rejected()), this, SLOT(cleanUp()));
 
        selectionManager = new GuiSelectionManager(availableLV, selectedLV, 
@@ -424,16 +425,20 @@ void GuiCitation::on_citationStyleCO_currentIndexChanged(int index)
 
 void GuiCitation::on_findLE_textChanged(const QString & text)
 {
-       searchPB->setDisabled(text.isEmpty());
-       if (!text.isEmpty())
+       bool const searchAsWeGo = (asTypeCB->checkState() == Qt::Checked);
+       searchPB->setDisabled(text.isEmpty() || searchAsWeGo);
+       if (!text.isEmpty()) {
+               if (searchAsWeGo)
+                       findText(findLE->text());
                return;
+       }
        findText(findLE->text());
        findLE->setFocus();
 }
 
 void GuiCitation::on_searchPB_clicked()
 {
-       findText(findLE->text());
+       findText(findLE->text(), true);
 }
 
 
@@ -449,6 +454,15 @@ void GuiCitation::on_regexCB_stateChanged(int)
 }
 
 
+void GuiCitation::on_asTypeCB_stateChanged(int)
+{
+       bool const searchAsWeGo = (asTypeCB->checkState() == Qt::Checked);
+       searchPB->setDisabled(findLE->text().isEmpty() || searchAsWeGo);
+       if (searchAsWeGo)
+               findText(findLE->text(), true);
+}
+
+
 void GuiCitation::changed()
 {
        setButtons();
index 8863bc3a04a0edf4ee93ab1d5a8d8ff50bfde6e4..9c8b504444260a3fc306e611d11d17f0af2c0cdf 100644 (file)
@@ -71,6 +71,7 @@ private Q_SLOTS:
        void on_citationStyleCO_currentIndexChanged(int index);
        void on_caseCB_stateChanged(int);
        void on_regexCB_stateChanged(int);
+       void on_asTypeCB_stateChanged(int);
        void changed();
        ///
        void setCitedKeys();
index 1a4cd5145b08853c4536cac282197a9b0c24c6db..66a5fc1c61d47fb1f22c2d7caf1809c0c3fbd674 100644 (file)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>449</width>
-    <height>617</height>
+    <width>467</width>
+    <height>692</height>
    </rect>
   </property>
   <property name="sizePolicy" >
         </property>
        </widget>
       </item>
+      <item row="3" column="0" colspan="3" >
+       <spacer>
+        <property name="orientation" >
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" >
+         <size>
+          <width>271</width>
+          <height>25</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item row="3" column="3" colspan="2" >
+       <widget class="QCheckBox" name="asTypeCB" >
+        <property name="text" >
+         <string>Search As You Type</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>