• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

libkdepim

  • sources
  • kde-4.12
  • kdepim
  • libkdepim
  • misc
broadcaststatus.cpp
Go to the documentation of this file.
1 /*
2  broadcaststatus.cpp
3 
4  This file is part of libkdepim.
5 
6  Author: Don Sanders <sanders@kde.org>
7 
8  Copyright (C) 2000 Don Sanders <sanders@kde.org>
9 
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14 
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License along
21  with this program; if not, write to the Free Software Foundation, Inc.,
22  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23 */
24 
25 #include "broadcaststatus.h"
26 #include "progresswidget/progressmanager.h"
27 
28 #include <KLocale>
29 #include <KGlobal>
30 
31 #include <QCoreApplication>
32 #include <QTime>
33 
34 static KPIM::BroadcastStatus *instance_;
35 
36 static void deleteGlobalStaticBroadcastStatus()
37 {
38  delete instance_;
39  instance_ = 0;
40 }
41 
42 namespace KPIM {
43 
44 BroadcastStatus *BroadcastStatus::instance()
45 {
46  if ( !instance_ ) {
47  instance_ = new BroadcastStatus();
48  qAddPostRoutine( deleteGlobalStaticBroadcastStatus );
49  }
50  return instance_;
51 }
52 
53 BroadcastStatus::BroadcastStatus()
54  :mTransientActive( false )
55 {
56 }
57 
58 BroadcastStatus::~BroadcastStatus()
59 {
60  instance_ = 0;
61 }
62 
63 void BroadcastStatus::setStatusMsg( const QString &message )
64 {
65  mStatusMsg = message;
66  if( !mTransientActive ) {
67  emit statusMsg( message );
68  }
69 }
70 
71 void BroadcastStatus::setStatusMsgWithTimestamp( const QString &message )
72 {
73  KLocale *locale = KGlobal::locale();
74  setStatusMsg( i18nc( "%1 is a time, %2 is a status message", "[%1] %2",
75  locale->formatTime( QTime::currentTime(), true ), message ) );
76 }
77 
78 void BroadcastStatus::setStatusMsgTransmissionCompleted( int numMessages,
79  int numBytes,
80  int numBytesRead,
81  int numBytesToRead,
82  bool mLeaveOnServer,
83  KPIM::ProgressItem *item )
84 {
85  QString statusMsg;
86  if ( numMessages > 0 ) {
87  if ( numBytes != -1 ) {
88  if ( ( numBytesToRead != numBytes ) && mLeaveOnServer ) {
89  statusMsg = i18np( "Transmission complete. %1 new message (%2 KB). "
90  "%3 KB remaining on the server.",
91  "Transmission complete. %1 new messages (%2 KB). "
92  "%3 KB remaining on the server.",
93  numMessages,
94  numBytesRead / 1024,
95  numBytes / 1024 );
96  } else {
97  statusMsg = i18np( "Transmission complete. %1 message (%2 KB).",
98  "Transmission complete. %1 messages (%2 KB).",
99  numMessages,
100  numBytesRead / 1024 );
101  }
102  } else {
103  statusMsg = i18np( "Transmission complete. %1 new message.",
104  "Transmission complete. %1 new messages.",
105  numMessages );
106  }
107  } else {
108  statusMsg = i18n( "Transmission complete. No new messages." );
109  }
110 
111  setStatusMsgWithTimestamp( statusMsg );
112 
113  if ( item ) {
114  item->setStatus( statusMsg );
115  }
116 }
117 
118 void BroadcastStatus::setStatusMsgTransmissionCompleted( const QString &account,
119  int numMessages,
120  int numBytes,
121  int numBytesRead,
122  int numBytesToRead,
123  bool mLeaveOnServer,
124  KPIM::ProgressItem *item )
125 {
126  QString statusMsg;
127  if ( numMessages > 0 ) {
128  if ( numBytes != -1 ) {
129  if ( ( numBytesToRead != numBytes ) && mLeaveOnServer ) {
130  statusMsg = i18np( "Transmission for account %4 complete. "
131  "%1 new message (%2 KB). "
132  "%3 KB remaining on the server.",
133  "Transmission for account %4 complete. "
134  "%1 new messages (%2 KB). "
135  "%3 KB remaining on the server.",
136  numMessages,
137  numBytesRead / 1024,
138  numBytes / 1024,
139  account );
140  } else {
141  statusMsg = i18np( "Transmission for account %3 complete. "
142  "%1 message (%2 KB).",
143  "Transmission for account %3 complete. "
144  "%1 messages (%2 KB).",
145  numMessages,
146  numBytesRead / 1024,
147  account );
148  }
149  } else {
150  statusMsg = i18np( "Transmission for account %2 complete. "
151  "%1 new message.",
152  "Transmission for account %2 complete. "
153  "%1 new messages.",
154  numMessages,
155  account );
156  }
157  } else {
158  statusMsg = i18n( "Transmission for account %1 complete. No new messages.", account );
159  }
160 
161  setStatusMsgWithTimestamp( statusMsg );
162 
163  if ( item ) {
164  item->setStatus( statusMsg );
165  }
166 }
167 
168 void BroadcastStatus::setTransientStatusMsg( const QString &msg )
169 {
170  mTransientActive = true;
171  emit statusMsg( msg );
172 }
173 
174 void BroadcastStatus::reset()
175 {
176  mTransientActive = false;
177  // restore
178  emit statusMsg( mStatusMsg );
179 }
180 
181 }
182 
183 #include "broadcaststatus.moc"
instance_
static KPIM::BroadcastStatus * instance_
Definition: broadcaststatus.cpp:34
KPIM::BroadcastStatus::statusMsg
QString statusMsg() const
Return the last status message from setStatusMsg()
Definition: broadcaststatus.h:52
KPIM::BroadcastStatus::~BroadcastStatus
virtual ~BroadcastStatus()
Definition: broadcaststatus.cpp:58
KPIM::BroadcastStatus::instance
static BroadcastStatus * instance()
Return the instance of the singleton object for this class.
Definition: broadcaststatus.cpp:44
KPIM::BroadcastStatus::BroadcastStatus
BroadcastStatus()
Definition: broadcaststatus.cpp:53
KPIM::BroadcastStatus::setStatusMsg
void setStatusMsg(const QString &message)
Emit an update status bar signal.
Definition: broadcaststatus.cpp:63
KPIM::BroadcastStatus::reset
void reset()
Reset the status message to what ever non-transient message was last active or has since been set...
Definition: broadcaststatus.cpp:174
KPIM::BroadcastStatus::setStatusMsgTransmissionCompleted
void setStatusMsgTransmissionCompleted(int numMessages, int numBytes=-1, int numBytesRead=-1, int numBytesToRead=-1, bool mLeaveOnServer=false, KPIM::ProgressItem *progressItem=0)
Sets a transmission completed status bar message.
Definition: broadcaststatus.cpp:78
progressmanager.h
deleteGlobalStaticBroadcastStatus
static void deleteGlobalStaticBroadcastStatus()
Definition: broadcaststatus.cpp:36
KPIM::BroadcastStatus::mStatusMsg
QString mStatusMsg
Definition: broadcaststatus.h:97
KPIM::BroadcastStatus::setTransientStatusMsg
void setTransientStatusMsg(const QString &msg)
Set a status message that will go away again with the next call of reset().
Definition: broadcaststatus.cpp:168
KPIM::BroadcastStatus
Provides a singleton which broadcasts status messages by emitting signals.
Definition: broadcaststatus.h:40
KPIM::ProgressItem
Definition: progressmanager.h:45
KPIM::BroadcastStatus::mTransientActive
bool mTransientActive
Definition: broadcaststatus.h:98
KPIM::BroadcastStatus::setStatusMsgWithTimestamp
void setStatusMsgWithTimestamp(const QString &message)
Sets a status bar message with timestamp.
Definition: broadcaststatus.cpp:71
broadcaststatus.h
KPIM::ProgressItem::setStatus
void setStatus(const QString &v)
Set the string to be used for showing this item's current status.
Definition: progressmanager.cpp:125
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:03 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkdepim

Skip menu "libkdepim"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal