Bug 97376 - 4 blinking carets in the "Find in Files" dialog window
Summary: 4 blinking carets in the "Find in Files" dialog window
Status: RESOLVED FIXED
Alias: None
Product: kdevplatform
Classification: Developer tools
Component: grepview (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: 1.3.0
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-18 19:32 UTC by Konrad Twardowski
Modified: 2013-03-31 01:17 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konrad Twardowski 2005-01-18 19:32:14 UTC
Version:           3.1.91, 3.1.x (using KDE KDE 3.3.91)
Installed from:    Compiled From Sources
Compiler:          gcc (GCC) 3.3.3 20040412 (Red Hat Linux 3.3.3-7) 
OS:                Linux

QT VERSION: 3.3.3

STEPS TO REPRODUCE:

1. Run KDevelop
2. Click "Edit" -> "Find in Files..." (Alt+Ctrl+F)
3. Click "Files:" text line
4. Press escape or click "Search"
5. Repeat step 2.
6. [Note blinking text caret both in "Pattern:" and "Files:" text fields]

In extreme situation you can have up to 4 blinking text cursors
in one small dialog window!
This is very confusing, and does not follow well known focus behaviour.
Comment 1 Jens Dagerbo 2005-01-18 21:04:02 UTC
Yeah.. this happens. And it sucks. 

I have no idea what causes it though. The grep dialog is a non-modal dialog, but that's the only obvious pecularity.

I guess it could just as well be a modal dialog, but this change would mean changing a fair amount of code, IIRC. (Well.. that or keep the dialog on the heap, which is where it lives right now.)
Comment 2 Jens Dagerbo 2006-12-30 23:37:28 UTC
SVN commit 618040 by dagerbo:

Stop with the blinking already!

BUG: 97376

 M  +8 -1      grepdlg.cpp  
 M  +1 -0      grepdlg.h  


--- branches/kdevelop/3.4/parts/grepview/grepdlg.cpp #618039:618040
@@ -335,11 +335,18 @@
     // not beautiful, but works with all window
     // managers and Qt versions
     if (isVisible())
-        QDialog::hide();
+        hide();
+//         QDialog::hide();
     QDialog::show();
     pattern_combo->setFocus();
 }
 
+void GrepDialog::hide()
+{
+	pattern_combo->setFocus();
+	QDialog::hide();
+}
+
 void GrepDialog::slotSynchDirectory( )
 {
 	KParts::ReadOnlyPart * part = dynamic_cast<KParts::ReadOnlyPart*>( m_part->partController()->activePart() );
--- branches/kdevelop/3.4/parts/grepview/grepdlg.h #618039:618040
@@ -61,6 +61,7 @@
 		{ return keep_output_box->isChecked(); }
 
 	void show();
+	void hide();
 
 signals:
     void searchClicked();