File indexing completed on 2024-05-05 16:39:00
0001 /* This file is part of the KDE project 0002 Copyright (C) 1998-2003 Carsten Pfeiffer <pfeiffer@kde.org> 0003 0004 This program is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU General Public 0006 License as published by the Free Software Foundation, version 2. 0007 0008 This program is distributed in the hope that it will be useful, 0009 but WITHOUT ANY WARRANTY; without even the implied warranty of 0010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0011 General Public License for more details. 0012 0013 You should have received a copy of the GNU General Public License 0014 along with this program; see the file COPYING. If not, write to 0015 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0016 Boston, MA 02110-1301, USA. 0017 */ 0018 0019 #ifndef FILEFINDER_H 0020 #define FILEFINDER_H 0021 0022 #include <KLineEdit> 0023 #include <KUrlCompletion> 0024 0025 class QFocusEvent; 0026 class QKeyEvent; 0027 class QWidget; 0028 0029 0030 class FileFinder : public KLineEdit 0031 { 0032 Q_OBJECT 0033 0034 public: 0035 explicit FileFinder( QWidget *parent=0 ); 0036 ~FileFinder(); 0037 0038 KUrlCompletion *completion() { 0039 return static_cast<KUrlCompletion*>( completionObject() ); 0040 } 0041 0042 virtual void hide(); 0043 0044 signals: 0045 void enterDir( const QString& ); 0046 0047 protected: 0048 virtual void focusOutEvent( QFocusEvent * ) override; 0049 virtual void keyPressEvent( QKeyEvent * ) override; 0050 0051 private slots: 0052 void slotAccept( const QString& ); 0053 0054 }; 0055 0056 #endif // FILEFINDER_H