summaryrefslogtreecommitdiffstats
path: root/Swift
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-12-12 17:02:01 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-12-12 17:03:44 (GMT)
commit2a22744ffcea2505b8a0951d4a0791891b99158b (patch)
tree63a4f7377319763b336f22202230b97ba2a20e5b /Swift
parente90e08301a03a4ad562a35e60927815d43daebec (diff)
downloadswift-contrib-2a22744ffcea2505b8a0951d4a0791891b99158b.zip
swift-contrib-2a22744ffcea2505b8a0951d4a0791891b99158b.tar.bz2
Added menu to switch between 'show nickname' and 'show JID' in roster header.
Resolves: #627 Release-Notes: The roster header can now be configured to show the JID instead of the nick.
Diffstat (limited to 'Swift')
-rw-r--r--Swift/QtUI/QtMainWindow.cpp4
-rw-r--r--Swift/QtUI/QtMainWindow.h3
-rw-r--r--Swift/QtUI/QtMainWindowFactory.cpp5
-rw-r--r--Swift/QtUI/QtMainWindowFactory.h10
-rw-r--r--Swift/QtUI/QtNameWidget.cpp6
-rw-r--r--Swift/QtUI/QtNameWidget.h4
-rw-r--r--Swift/QtUI/QtRosterHeader.cpp4
-rw-r--r--Swift/QtUI/QtRosterHeader.h3
-rw-r--r--Swift/QtUI/QtSwift.cpp2
9 files changed, 25 insertions, 16 deletions
diff --git a/Swift/QtUI/QtMainWindow.cpp b/Swift/QtUI/QtMainWindow.cpp
index 5cbc40c..ee83f4d 100644
--- a/Swift/QtUI/QtMainWindow.cpp
+++ b/Swift/QtUI/QtMainWindow.cpp
@@ -31,13 +31,13 @@
namespace Swift {
-QtMainWindow::QtMainWindow(UIEventStream* uiEventStream) : QWidget(), MainWindow(false) {
+QtMainWindow::QtMainWindow(QtSettingsProvider* settings, UIEventStream* uiEventStream) : QWidget(), MainWindow(false) {
uiEventStream_ = uiEventStream;
setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
QBoxLayout *mainLayout = new QBoxLayout(QBoxLayout::TopToBottom, this);
mainLayout->setContentsMargins(0,0,0,0);
mainLayout->setSpacing(0);
- meView_ = new QtRosterHeader(this);
+ meView_ = new QtRosterHeader(settings, this);
mainLayout->addWidget(meView_);
connect(meView_, SIGNAL(onChangeStatusRequest(StatusShow::Type, const QString&)), this, SLOT(handleStatusChanged(StatusShow::Type, const QString&)));
diff --git a/Swift/QtUI/QtMainWindow.h b/Swift/QtUI/QtMainWindow.h
index 62aafba..f494fd0 100644
--- a/Swift/QtUI/QtMainWindow.h
+++ b/Swift/QtUI/QtMainWindow.h
@@ -31,11 +31,12 @@ namespace Swift {
class TreeWidget;
class UIEventStream;
class QtTabWidget;
+ class QtSettingsProvider;
class QtMainWindow : public QWidget, public MainWindow {
Q_OBJECT
public:
- QtMainWindow(UIEventStream* eventStream);
+ QtMainWindow(QtSettingsProvider*, UIEventStream* eventStream);
~QtMainWindow();
std::vector<QMenu*> getMenus() {return menus_;}
void setMyNick(const String& name);
diff --git a/Swift/QtUI/QtMainWindowFactory.cpp b/Swift/QtUI/QtMainWindowFactory.cpp
index 4405239..8833e03 100644
--- a/Swift/QtUI/QtMainWindowFactory.cpp
+++ b/Swift/QtUI/QtMainWindowFactory.cpp
@@ -9,12 +9,13 @@
namespace Swift {
-QtMainWindowFactory::QtMainWindowFactory() {
+QtMainWindowFactory::QtMainWindowFactory(QtSettingsProvider* settings) {
+ settings_ = settings;
lastWindow_ = NULL;
}
MainWindow* QtMainWindowFactory::createMainWindow(UIEventStream* eventStream) {
- lastWindow_ = new QtMainWindow(eventStream);
+ lastWindow_ = new QtMainWindow(settings_, eventStream);
return lastWindow_;
}
diff --git a/Swift/QtUI/QtMainWindowFactory.h b/Swift/QtUI/QtMainWindowFactory.h
index 17eb53c..c6658a9 100644
--- a/Swift/QtUI/QtMainWindowFactory.h
+++ b/Swift/QtUI/QtMainWindowFactory.h
@@ -4,21 +4,21 @@
* See Documentation/Licenses/GPLv3.txt for more information.
*/
-#ifndef SWIFT_QtMainWindowFactory_H
-#define SWIFT_QtMainWindowFactory_H
+#pragma once
#include "Swift/Controllers/UIInterfaces/MainWindowFactory.h"
namespace Swift {
class QtTreeWidgetFactory;
+ class QtSettingsProvider;
+
class QtMainWindowFactory : public MainWindowFactory{
public:
- QtMainWindowFactory();
+ QtMainWindowFactory(QtSettingsProvider* settings);
MainWindow* createMainWindow(UIEventStream* eventStream);
MainWindow* getLastCreatedWindow();
private:
+ QtSettingsProvider* settings_;
MainWindow* lastWindow_;
};
}
-
-#endif
diff --git a/Swift/QtUI/QtNameWidget.cpp b/Swift/QtUI/QtNameWidget.cpp
index d123bad..bbbfe3a 100644
--- a/Swift/QtUI/QtNameWidget.cpp
+++ b/Swift/QtUI/QtNameWidget.cpp
@@ -12,14 +12,17 @@
#include <QtDebug>
#include <Swift/QtUI/QtElidingLabel.h>
+#include <Swift/QtUI/QtSettingsProvider.h>
namespace Swift {
-QtNameWidget::QtNameWidget(QWidget *parent) : QWidget(parent), mode(ShowNick) {
+QtNameWidget::QtNameWidget(QtSettingsProvider* settings, QWidget *parent) : QWidget(parent), settings(settings) {
QHBoxLayout* mainLayout = new QHBoxLayout(this);
mainLayout->setSpacing(0);
mainLayout->setContentsMargins(0,0,0,0);
+ mode = settings->getBoolSetting("showNickInRosterHeader", true) ? ShowNick : ShowJID;
+
textLabel = new QtElidingLabel(this);
QFont font = textLabel->font();
font.setBold(true);
@@ -61,6 +64,7 @@ void QtNameWidget::mousePressEvent(QMouseEvent* event) {
else {
mode = ShowNick;
}
+ settings->storeBool("showNickInRosterHeader", mode == ShowNick);
updateText();
}
diff --git a/Swift/QtUI/QtNameWidget.h b/Swift/QtUI/QtNameWidget.h
index 52586b7..313108d 100644
--- a/Swift/QtUI/QtNameWidget.h
+++ b/Swift/QtUI/QtNameWidget.h
@@ -10,12 +10,13 @@
namespace Swift {
class QtElidingLabel;
+ class QtSettingsProvider;
class QtNameWidget : public QWidget {
Q_OBJECT
public:
- QtNameWidget(QWidget *parent);
+ QtNameWidget(QtSettingsProvider* settings, QWidget *parent);
void setNick(const QString& text);
void setJID(const QString& jid);
@@ -30,6 +31,7 @@ namespace Swift {
ShowJID,
};
+ QtSettingsProvider* settings;
Mode mode;
QtElidingLabel* textLabel;
QString jid;
diff --git a/Swift/QtUI/QtRosterHeader.cpp b/Swift/QtUI/QtRosterHeader.cpp
index 4649839..5aeaa5d 100644
--- a/Swift/QtUI/QtRosterHeader.cpp
+++ b/Swift/QtUI/QtRosterHeader.cpp
@@ -18,7 +18,7 @@
#include <Swift/QtUI/QtNameWidget.h>
namespace Swift {
-QtRosterHeader::QtRosterHeader(QWidget* parent) : QWidget(parent) {
+QtRosterHeader::QtRosterHeader(QtSettingsProvider* settings, QWidget* parent) : QWidget(parent) {
QHBoxLayout* topLayout = new QHBoxLayout();
topLayout->setSpacing(0);
topLayout->setContentsMargins(4,4,4,4);
@@ -39,7 +39,7 @@ QtRosterHeader::QtRosterHeader(QWidget* parent) : QWidget(parent) {
rightLayout->setContentsMargins(4,0,0,0);
topLayout->addLayout(rightLayout);
- nameWidget_ = new QtNameWidget(this);
+ nameWidget_ = new QtNameWidget(settings, this);
rightLayout->addWidget(nameWidget_);
diff --git a/Swift/QtUI/QtRosterHeader.h b/Swift/QtUI/QtRosterHeader.h
index 23e6be0..5634bdf 100644
--- a/Swift/QtUI/QtRosterHeader.h
+++ b/Swift/QtUI/QtRosterHeader.h
@@ -22,11 +22,12 @@ class QHBoxLayout;
namespace Swift {
class QtStatusWidget;
class QtNameWidget;
+ class QtSettingsProvider;
class QtRosterHeader : public QWidget {
Q_OBJECT
public:
- QtRosterHeader(QWidget* parent = NULL);
+ QtRosterHeader(QtSettingsProvider* settings, QWidget* parent = NULL);
void setAvatar(const QString& path);
void setJID(const QString& jid);
diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp
index 2890357..04b9d02 100644
--- a/Swift/QtUI/QtSwift.cpp
+++ b/Swift/QtUI/QtSwift.cpp
@@ -132,7 +132,7 @@ QtSwift::QtSwift(po::variables_map options) : autoUpdater_(NULL) {
systemTrays_.push_back(systemTray);
QtLoginWindowFactory* loginWindowFactory = new QtLoginWindowFactory(splitter_, systemTray, settings_);
loginWindowFactories_.push_back(loginWindowFactory);
- QtMainWindowFactory* rosterWindowFactory = new QtMainWindowFactory();
+ QtMainWindowFactory* rosterWindowFactory = new QtMainWindowFactory(settings_);
rosterWindowFactories_.push_back(rosterWindowFactory);
QtEventWindowFactory* eventWindowFactory = new QtEventWindowFactory(rosterWindowFactory);
eventWindowFactories_.push_back(eventWindowFactory);