diff options
Diffstat (limited to 'konqueror/konq_combo.h')
-rw-r--r-- | konqueror/konq_combo.h | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/konqueror/konq_combo.h b/konqueror/konq_combo.h new file mode 100644 index 000000000..0bfe76a87 --- /dev/null +++ b/konqueror/konq_combo.h @@ -0,0 +1,116 @@ +/* This file is part of the KDE project + Copyright (C) 2001 Carsten Pfeiffer <[email protected]> + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KONQ_COMBO_H +#define KONQ_COMBO_H + +#include <tqevent.h> + +#include <kcombobox.h> +#include <konq_historymgr.h> + +class TDECompletion; +class TDEConfig; + +// we use KHistoryCombo _only_ for the up/down keyboard handling, otherwise +// KComboBox would do fine. +class KonqCombo : public KHistoryCombo +{ + Q_OBJECT + +public: + KonqCombo( TQWidget *parent, const char *name ); + ~KonqCombo(); + + // initializes with the completion object and calls loadItems() + void init( TDECompletion * ); + + // determines internally if it's temporary or final + void setURL( const TQString& url ); + + void setTemporary( const TQString& ); + void setTemporary( const TQString&, const TQPixmap& ); + void clearTemporary( bool makeCurrent = true ); + void removeURL( const TQString& url ); + + void insertPermanent( const TQString& ); + + void updatePixmaps(); + + void loadItems(); + void saveItems(); + + static void setConfig( TDEConfig * ); + + virtual void popup(); + + void setPageSecurity( int ); + + void insertItem( const TQString &text, int index=-1, const TQString& title=TQString::null ); + void insertItem( const TQPixmap &pixmap, const TQString &text, int index=-1, const TQString& title=TQString::null ); + +protected: + virtual void keyPressEvent( TQKeyEvent * ); + virtual bool eventFilter( TQObject *, TQEvent * ); + virtual void mousePressEvent( TQMouseEvent * ); + virtual void mouseMoveEvent( TQMouseEvent * ); + void paintEvent( TQPaintEvent * ); + void selectWord(TQKeyEvent *e); + +signals: + /** + Specialized signal that emits the state of the modifier + keys along with the actual activated text. + */ + void activated( const TQString &, int ); + + /** + User has clicked on the security lock in the combobar + */ + void showPageSecurity(); + +private slots: + void slotCleared(); + void slotRemoved( const TQString& item ); + void slotSetIcon( int index ); + void slotActivated( const TQString& text ); + +private: + void updateItem( const TQPixmap& pix, const TQString&, int index, const TQString& title ); + void saveState(); + void restoreState(); + void applyPermanent(); + TQString temporaryItem() const { return text( temporary ); } + void removeDuplicates( int index ); + bool hasSufficientContrast(const TQColor &c1, const TQColor &c2); + + bool m_returnPressed; + bool m_permanent; + int m_cursorPos; + int m_currentIndex; + int m_modifier; + TQString m_currentText; + TQPoint m_dragStart; + int m_pageSecurity; + + static TDEConfig *s_config; + static const int temporary; // the index of our temporary item +}; + +#endif // KONQ_COMBO_H |