aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient/statusTextWidget.h
diff options
context:
space:
mode:
authorNiels Ole Salscheider <niels_ole@salscheider-online.de>2018-06-23 17:20:47 +0200
committerGitHub <noreply@github.com>2018-06-23 17:20:47 +0200
commited6b199dff15ddb4c6bd72d1565501e9f1a2bf87 (patch)
tree7bbb53c40ecf53fe9464b53b7966dd7726eeac5e /examples/GuiClient/statusTextWidget.h
parentea83c77a5a4524cc9778336b10eff60979582980 (diff)
parent31f0a42073b68823e85835ec3e25114d79705a04 (diff)
downloadqxmpp-ed6b199dff15ddb4c6bd72d1565501e9f1a2bf87.tar.gz
Merge pull request #131 from olesalscheider/cmake
Add CMake build system, drop Qt4 support
Diffstat (limited to 'examples/GuiClient/statusTextWidget.h')
-rw-r--r--examples/GuiClient/statusTextWidget.h135
1 files changed, 0 insertions, 135 deletions
diff --git a/examples/GuiClient/statusTextWidget.h b/examples/GuiClient/statusTextWidget.h
deleted file mode 100644
index ca280672..00000000
--- a/examples/GuiClient/statusTextWidget.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (C) 2008-2014 The QXmpp developers
- *
- * Author:
- * Manjeet Dahiya
- *
- * Source:
- * https://github.com/qxmpp-project/qxmpp
- *
- * This file is a part of QXmpp library.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- */
-
-
-#ifndef STATUSTEXTWIDGET_H
-#define STATUSTEXTWIDGET_H
-
-#include <QWidget>
-#include <QAction>
-#include <QLineEdit>
-#include <QPainter>
-#include <QPushButton>
-#include <QStyleOptionFrameV2>
-#include <QFontMetrics>
-
-
-class statusLineEditButton : public QPushButton
-{
- Q_OBJECT
-
-public:
- statusLineEditButton(QWidget* parent = 0): QPushButton(parent)
- {
- setCursor(Qt::PointingHandCursor);
- }
- void paintEvent(QPaintEvent* event);
- QSize sizeHint() const
- {
- return QSize(14, 14);
- }
-};
-
-class statusLineEdit : public QLineEdit
-{
-public:
- statusLineEdit(QWidget* parent = 0) : QLineEdit(parent)
- {
- setAttribute(Qt::WA_Hover, true);
- setText("Available");
- setMinimumSize(QSize(20, 18));
- }
- void focusInEvent(QFocusEvent* event);
- void mousePressEvent(QMouseEvent* event);
-
- void paintEvent(QPaintEvent* event)
- {
- if(hasFocus())
- {
- QLineEdit::paintEvent(event);
- }
- else
- {
- QPainter p(this);
- QRect r = rect();
- QPalette pal = palette();
-
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
- r.adjust(-1, -1, 0, 0);
- r.setLeft(r.left() + 4);
- p.setPen(Qt::darkGray);
- p.drawText(r, Qt::AlignVCenter, text());
- }
-
- if(underMouse() && !hasFocus())
- {
- QPainter p(this);
- QRect r = rect();
- QPalette pal = palette();
-
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
- r.adjust(-1, -1, 0, 0);
- p.setPen(Qt::gray);
- p.drawRect(r);
- r.setLeft(r.left() + 4);
- p.setPen(Qt::darkGray);
- p.drawText(r, Qt::AlignVCenter, text());
- }
- }
- QSize sizeHint() const;
-};
-
-class statusTextWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- statusTextWidget(QWidget* parent = 0);
- void setStatusText(const QString& statusText);
-
-public slots:
- void showMenu();
- void textChanged();
-
-private slots:
- void statusTextChanged_helper();
- void statusTextChanged_menuClick();
- void clearStatusTextHistory();
-
-signals:
- void statusTextChanged(const QString&);
-
-private:
- void addStatusTextToList(const QString& status);
- statusLineEdit* m_statusLineEdit;
- statusLineEditButton* m_statusButton;
-
- QList<QAction*> m_statusTextActionList;
- QAction m_clearStatusTextHistory;
-};
-
-#endif // STATUSTEXTWIDGET_H