summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/Roster/QtTreeWidget.h')
-rw-r--r--Swift/QtUI/Roster/QtTreeWidget.h35
1 files changed, 27 insertions, 8 deletions
diff --git a/Swift/QtUI/Roster/QtTreeWidget.h b/Swift/QtUI/Roster/QtTreeWidget.h
index 7c10a6a..12d34f5 100644
--- a/Swift/QtUI/Roster/QtTreeWidget.h
+++ b/Swift/QtUI/Roster/QtTreeWidget.h
@@ -1,4 +1,4 @@
/*
- * Copyright (c) 2010-2012 Kevin Smith
+ * Copyright (c) 2010-2014 Kevin Smith
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
@@ -7,11 +7,14 @@
#pragma once
-#include <QTreeView>
-#include <QModelIndex>
#include <QDragEnterEvent>
#include <QDropEvent>
#include <QDragMoveEvent>
-#include "Swift/QtUI/Roster/RosterModel.h"
-#include "Swift/QtUI/Roster/RosterDelegate.h"
+#include <QModelIndex>
+#include <QTreeView>
+
+#include <Swift/QtUI/Roster/RosterDelegate.h>
+#include <Swift/QtUI/Roster/RosterModel.h>
+
+#include <Swift/Controllers/UIInterfaces/ChatWindow.h>
namespace Swift {
@@ -22,5 +25,7 @@ class QtTreeWidget : public QTreeView{
Q_OBJECT
public:
- QtTreeWidget(UIEventStream* eventStream, SettingsProvider* settings, QWidget* parent = 0);
+ enum MessageTarget {MessageDefaultJID, MessageDisplayJID};
+
+ QtTreeWidget(UIEventStream* eventStream, SettingsProvider* settings, MessageTarget messageTarget, QWidget* parent = 0);
~QtTreeWidget();
void show();
@@ -28,4 +33,11 @@ class QtTreeWidget : public QTreeView{
void setRosterModel(Roster* roster);
Roster* getRoster() {return roster_;}
+ void refreshTooltip();
+ void setMessageTarget(MessageTarget messageTarget);
+ JID jidFromIndex(const QModelIndex& index) const;
+ JID selectedJID() const;
+ void setOnline(bool isOnline);
+
+ public:
boost::signal<void (RosterItem*)> onSomethingSelectedChanged;
@@ -37,13 +49,17 @@ class QtTreeWidget : public QTreeView{
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);
-
- protected:
+ bool event(QEvent* event);
QModelIndexList getSelectedIndexes() const;
+ bool isOnline() const;
+
private:
void drawBranches(QPainter*, const QRect&, const QModelIndex&) const;
+
protected slots:
virtual void currentChanged(const QModelIndex& current, const QModelIndex& previous);
@@ -57,4 +73,7 @@ class QtTreeWidget : public QTreeView{
QtTreeWidgetItem* treeRoot_;
SettingsProvider* settings_;
+ bool tooltipShown_;
+ MessageTarget messageTarget_;
+ bool isOnline_;
};