diff options
| author | Richard Maudsley <richard.maudsley@isode.com> | 2014-07-01 12:54:14 (GMT) |
|---|---|---|
| committer | Richard Maudsley <richard.maudsley@isode.com> | 2014-07-01 12:57:14 (GMT) |
| commit | 9179b54ac93ddc88765c3cd984916d7ffd130d20 (patch) | |
| tree | ddcbacdd0228d52ba3f0ad4d6e8e5f09e8d12c87 /Swift/QtUI/Roster/QtTreeWidget.h | |
| parent | f90a0307a16a93376270a84be61451faa9bd9701 (diff) | |
| download | swift-contrib-9179b54ac93ddc88765c3cd984916d7ffd130d20.zip swift-contrib-9179b54ac93ddc88765c3cd984916d7ffd130d20.tar.bz2 | |
Reset roster filter when hitting enter to start chat.
Test-Information:
Enter search term and use keyboard arrows to move to select a contact and pressing enter will start a chat and clear the filter. Confirm that pressing escape still clears the filter without starting a chat and that the changes do not interfere with starting a chat normally by double clicking on a contact.
Change-Id: I90f5d431da56896eeb10f16c0ba23bdc143c4857
Diffstat (limited to 'Swift/QtUI/Roster/QtTreeWidget.h')
| -rw-r--r-- | Swift/QtUI/Roster/QtTreeWidget.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Swift/QtUI/Roster/QtTreeWidget.h b/Swift/QtUI/Roster/QtTreeWidget.h index 29e985d..cf2f73e 100644 --- a/Swift/QtUI/Roster/QtTreeWidget.h +++ b/Swift/QtUI/Roster/QtTreeWidget.h @@ -1,74 +1,76 @@ /* * Copyright (c) 2010-2014 Kevin Smith * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include <QDragEnterEvent> #include <QDropEvent> #include <QDragMoveEvent> #include <QModelIndex> #include <QTreeView> #include <Swift/QtUI/Roster/RosterDelegate.h> #include <Swift/QtUI/Roster/RosterModel.h> #include <Swift/Controllers/UIInterfaces/ChatWindow.h> namespace Swift { class UIEventStream; class SettingsProvider; class QtTreeWidget : public QTreeView { Q_OBJECT public: enum MessageTarget {MessageDefaultJID, MessageDisplayJID}; QtTreeWidget(UIEventStream* eventStream, SettingsProvider* settings, MessageTarget messageTarget, QWidget* parent = 0); ~QtTreeWidget(); void show(); QtTreeWidgetItem* getRoot(); void setRosterModel(Roster* roster); Roster* getRoster() {return roster_;} void refreshTooltip(); void setMessageTarget(MessageTarget messageTarget); + JID jidFromIndex(const QModelIndex& index) const; + JID selectedJID() const; public: boost::signal<void (RosterItem*)> onSomethingSelectedChanged; private slots: void handleItemActivated(const QModelIndex&); void handleModelItemExpanded(const QModelIndex&, bool expanded); void handleExpanded(const QModelIndex&); void handleCollapsed(const QModelIndex&); void handleClicked(const QModelIndex&); void handleSettingChanged(const std::string& setting); void handleRefreshTooltip(); protected: void dragEnterEvent(QDragEnterEvent* event); void dropEvent(QDropEvent* event); void dragMoveEvent(QDragMoveEvent* event); bool event(QEvent* event); QModelIndexList getSelectedIndexes() const; private: void drawBranches(QPainter*, const QRect&, const QModelIndex&) const; protected slots: virtual void currentChanged(const QModelIndex& current, const QModelIndex& previous); protected: UIEventStream* eventStream_; private: RosterModel* model_; Roster* roster_; RosterDelegate* delegate_; QtTreeWidgetItem* treeRoot_; SettingsProvider* settings_; bool tooltipShown_; MessageTarget messageTarget_; }; } |
Swift