diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-12 08:54:47 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-12 08:54:47 +0000 |
| commit | e321944e15211065b802a8dde6038d63bd4988fa (patch) | |
| tree | 13522ead2b60e77aabff62fd3f1fd3c9253604b9 /examples/GuiClient/customLabel.cpp | |
| parent | 651181fa5a0d4c32986221a8a50ff9614a7e3be0 (diff) | |
| download | qxmpp-e321944e15211065b802a8dde6038d63bd4988fa.tar.gz | |
eol fix
Diffstat (limited to 'examples/GuiClient/customLabel.cpp')
| -rw-r--r-- | examples/GuiClient/customLabel.cpp | 216 |
1 files changed, 108 insertions, 108 deletions
diff --git a/examples/GuiClient/customLabel.cpp b/examples/GuiClient/customLabel.cpp index 76834fac..383d033d 100644 --- a/examples/GuiClient/customLabel.cpp +++ b/examples/GuiClient/customLabel.cpp @@ -1,108 +1,108 @@ -/*
- * Copyright (C) 2008-2010 The QXmpp developers
- *
- * Author:
- * Manjeet Dahiya
- *
- * Source:
- * http://code.google.com/p/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.
- *
- */
-
-
-#include "customLabel.h"
-#include <QFontMetrics>
-
-customLabel::customLabel(QWidget* parent):QLabel(parent), m_timer(this),
- m_option(None)
-{
- m_timer.setSingleShot(false);
-
- bool check = connect(&m_timer, SIGNAL(timeout()), SLOT(timeout()));
- Q_ASSERT(check);
-}
-
-void customLabel::setCustomText(const QString& text, customLabel::Option op,
- int countDown)
-{
- m_text = text;
- m_option = op;
- m_countDown = countDown;
- switch(op)
- {
- case None:
- m_timer.stop();
- m_postfix = "";
- break;
- case WithProgressEllipsis:
-// m_timer.start(400);
- m_postfix = "";
- break;
- case CountDown:
- m_timer.start(1000);
- m_postfix = "";
- break;
- default:
- m_timer.stop();
- m_postfix = "";
- break;
- }
-
- if(m_option == CountDown)
- setText(m_text.arg(m_countDown) + m_postfix);
- else
- setText(m_text + m_postfix);
-
- updateGeometry();
-}
-
-void customLabel::timeout()
-{
- switch(m_option)
- {
- case None:
- break;
- case WithProgressEllipsis:
- if(m_postfix == "")
- m_postfix = ".";
- else if(m_postfix == ".")
- m_postfix = "..";
- else if(m_postfix == "..")
- m_postfix = "...";
- else if(m_postfix == "...")
- m_postfix = "";
- break;
- case CountDown:
- if(m_countDown == 0)
- m_timer.stop();
- --m_countDown;
- break;
- default:
- break;
- }
-
- if(m_option == CountDown)
- setText(m_text.arg(m_countDown) + m_postfix);
- else
- setText(m_text + m_postfix);
- updateGeometry();
-}
-
-//QSize customLabel::sizeHint() const
-//{
-// QFont font;
-// QFontMetrics fm(font);
-// return QSize(fm.width(m_text) + 15, 20);
-//}
+/* + * Copyright (C) 2008-2010 The QXmpp developers + * + * Author: + * Manjeet Dahiya + * + * Source: + * http://code.google.com/p/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. + * + */ + + +#include "customLabel.h" +#include <QFontMetrics> + +customLabel::customLabel(QWidget* parent):QLabel(parent), m_timer(this), + m_option(None) +{ + m_timer.setSingleShot(false); + + bool check = connect(&m_timer, SIGNAL(timeout()), SLOT(timeout())); + Q_ASSERT(check); +} + +void customLabel::setCustomText(const QString& text, customLabel::Option op, + int countDown) +{ + m_text = text; + m_option = op; + m_countDown = countDown; + switch(op) + { + case None: + m_timer.stop(); + m_postfix = ""; + break; + case WithProgressEllipsis: +// m_timer.start(400); + m_postfix = ""; + break; + case CountDown: + m_timer.start(1000); + m_postfix = ""; + break; + default: + m_timer.stop(); + m_postfix = ""; + break; + } + + if(m_option == CountDown) + setText(m_text.arg(m_countDown) + m_postfix); + else + setText(m_text + m_postfix); + + updateGeometry(); +} + +void customLabel::timeout() +{ + switch(m_option) + { + case None: + break; + case WithProgressEllipsis: + if(m_postfix == "") + m_postfix = "."; + else if(m_postfix == ".") + m_postfix = ".."; + else if(m_postfix == "..") + m_postfix = "..."; + else if(m_postfix == "...") + m_postfix = ""; + break; + case CountDown: + if(m_countDown == 0) + m_timer.stop(); + --m_countDown; + break; + default: + break; + } + + if(m_option == CountDown) + setText(m_text.arg(m_countDown) + m_postfix); + else + setText(m_text + m_postfix); + updateGeometry(); +} + +//QSize customLabel::sizeHint() const +//{ +// QFont font; +// QFontMetrics fm(font); +// return QSize(fm.width(m_text) + 15, 20); +//} |
