4 This file is part of libkdepim.
6 Author: Don Sanders <sanders@kde.org>
8 Copyright (C) 2000 Don Sanders <sanders@kde.org>
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.
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.
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.
25 #include "broadcaststatus.h"
26 #include "progressmanager.h"
31 #include <QCoreApplication>
34 static KPIM::BroadcastStatus
*instance_
;
36 static void deleteGlobalStaticBroadcastStatus()
44 BroadcastStatus
*BroadcastStatus::instance()
47 instance_
= new BroadcastStatus();
48 qAddPostRoutine( deleteGlobalStaticBroadcastStatus
);
53 BroadcastStatus::BroadcastStatus()
54 :mTransientActive( false )
58 BroadcastStatus::~BroadcastStatus()
63 void BroadcastStatus::setStatusMsg( const QString
&message
)
66 if( !mTransientActive
) {
67 emit
statusMsg( message
);
71 void BroadcastStatus::setStatusMsgWithTimestamp( const QString
&message
)
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
) );
78 void BroadcastStatus::setStatusMsgTransmissionCompleted( int numMessages
,
83 KPIM::ProgressItem
*item
)
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.",
97 statusMsg
= i18np( "Transmission complete. %1 message (%2 KB).",
98 "Transmission complete. %1 messages (%2 KB).",
100 numBytesRead
/ 1024 );
103 statusMsg
= i18np( "Transmission complete. %1 new message.",
104 "Transmission complete. %1 new messages.",
108 statusMsg
= i18n( "Transmission complete. No new messages." );
111 setStatusMsgWithTimestamp( statusMsg
);
114 item
->setStatus( statusMsg
);
118 void BroadcastStatus::setStatusMsgTransmissionCompleted( const QString
&account
,
124 KPIM::ProgressItem
*item
)
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.",
141 statusMsg
= i18np( "Transmission for account %3 complete. "
142 "%1 message (%2 KB).",
143 "Transmission for account %3 complete. "
144 "%1 messages (%2 KB).",
150 statusMsg
= i18np( "Transmission for account %2 complete. "
152 "Transmission for account %2 complete. "
158 statusMsg
= i18n( "Transmission for account %1 complete. No new messages.", account
);
161 setStatusMsgWithTimestamp( statusMsg
);
164 item
->setStatus( statusMsg
);
168 void BroadcastStatus::setTransientStatusMsg( const QString
&msg
)
170 mTransientActive
= true;
171 emit
statusMsg( msg
);
174 void BroadcastStatus::reset()
176 mTransientActive
= false;
178 emit
statusMsg( mStatusMsg
);
183 #include "broadcaststatus.moc"