From b2e54c3a316b502ab4f7a95250f8316dc591c057 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Tue, 17 Apr 2012 18:13:31 +0200 Subject: Implement inline-renaming for the new view-engine BUG: 286893 FIXED-IN: 4.9.0 --- src/kitemviews/private/kitemlistroleeditor.h | 67 ++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/kitemviews/private/kitemlistroleeditor.h (limited to 'src/kitemviews/private/kitemlistroleeditor.h') diff --git a/src/kitemviews/private/kitemlistroleeditor.h b/src/kitemviews/private/kitemlistroleeditor.h new file mode 100644 index 000000000..14aa694ce --- /dev/null +++ b/src/kitemviews/private/kitemlistroleeditor.h @@ -0,0 +1,67 @@ +/*************************************************************************** + * Copyright (C) 2012 by Peter Penz * + * * + * 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; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef KITEMLISTROLEEDITOR_H +#define KITEMLISTROLEEDITOR_H + +#include "libdolphin_export.h" + +#include + +/** + * @brief + */ +class LIBDOLPHINPRIVATE_EXPORT KItemListRoleEditor : public KTextEdit +{ + Q_OBJECT + +public: + explicit KItemListRoleEditor(QWidget* parent); + virtual ~KItemListRoleEditor(); + + void setIndex(int index); + int index() const; + + void setRole(const QByteArray& role); + QByteArray role() const; + + virtual bool eventFilter(QObject* watched, QEvent* event); + +signals: + void roleEditingFinished(int index, const QByteArray& role, const QVariant& value); + void roleEditingCanceled(int index, const QByteArray& role, const QVariant& value); + +protected: + virtual bool event(QEvent* event); + virtual void keyPressEvent(QKeyEvent* event); + +private slots: + /** + * Increases the width of the editor in case if there is not + * enough room for the text. + */ + void autoAdjustSize(); + +private: + int m_index; + QByteArray m_role; + +}; + +#endif -- cgit v1.3.1