[atlantik-cvs] CVS: kdegames/atlantik/client eventlogwidget.cpp, 1.1.2.1, 1.1.2.2 eventlogwidget.h, 1.1.2.1, 1.1.2.2 main.h, 1.40.2.6, 1.40.2.7
[email protected] Mon, 8 Dec 2003 05:40:59 +0100 (CET)
| Newsgroups | gmane.comp.kde.devel.atlantik |
|---|---|
| Message-ID | <[email protected]> |
Update of /home/kde/kdegames/atlantik/client
In directory office:/tmp/cvs-serv2542/client
Modified Files:
Tag: atlantik_3_3_branch
eventlogwidget.cpp eventlogwidget.h main.h
Log Message:
eventlog improvements: only show partial log of squeezed messages for
performance and stability (fix bug #68406), logs can be saved to file
CCMAIL: [email protected]
Index: eventlogwidget.cpp
===================================================================
RCS file: /home/kde/kdegames/atlantik/client/Attic/eventlogwidget.cpp,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -d -r1.1.2.1 -r1.1.2.2
--- eventlogwidget.cpp 15 Nov 2003 13:37:59 -0000 1.1.2.1
+++ eventlogwidget.cpp 8 Dec 2003 04:40:55 -0000 1.1.2.2
@@ -22,8 +22,10 @@
#include <klocale.h>
#include <klistview.h>
#include <kdialogbase.h>
+#include <kfiledialog.h>
#include <kiconloader.h>
#include <kpushbutton.h>
+#include <kstringhandler.h>
#include "event.h"
#include "eventlogwidget.moc"
@@ -39,6 +41,11 @@
emit newEvent(event);
}
+QPtrList<Event> EventLog::events()
+{
+ return m_events;
+}
+
void EventLog::emitAll()
{
for (QPtrListIterator<Event> it(m_events); (*it) ; ++it)
@@ -77,7 +84,15 @@
void EventLogWidget::addEvent(Event *event)
{
- KListViewItem *item = new KListViewItem(m_eventList, event->dateTime().toString("yyyy-MM-dd hh:mm:ss zzz"), event->description());
+ // FIXME: allow a way to view non-squeezed message
+ // FIXME: allow a way to show older messages
+ // FIXME: disable sorting
+
+ if ( m_eventList->childCount() >= 25 )
+ delete m_eventList->firstChild();
+
+ QString description = KStringHandler::rsqueeze( event->description(), 200 );
+ KListViewItem *item = new KListViewItem(m_eventList, event->dateTime().toString("yyyy-MM-dd hh:mm:ss zzz"), description);
if (event->icon().isEmpty())
item->setPixmap(1, QPixmap(SmallIcon("atlantik")));
else
@@ -89,4 +104,20 @@
void EventLogWidget::closeEvent(QCloseEvent *e)
{
e->accept();
+}
+
+void EventLogWidget::save()
+{
+ QFile file( KFileDialog::getSaveFileName() );
+ if ( file.open( IO_WriteOnly ) )
+ {
+ QTextStream stream(&file);
+
+ stream << i18n( "Atlantik log file, saved at %1." ).arg( QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss") ) << endl;
+
+ QPtrList<Event> events = m_eventLog->events();
+ for (QPtrListIterator<Event> it( events ); (*it) ; ++it)
+ stream << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss") << " " << (*it)->description() << endl;
+ file.close();
+ }
}
Index: eventlogwidget.h
===================================================================
RCS file: /home/kde/kdegames/atlantik/client/Attic/eventlogwidget.h,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -d -r1.1.2.1 -r1.1.2.2
--- eventlogwidget.h 15 Nov 2003 13:37:59 -0000 1.1.2.1
+++ eventlogwidget.h 8 Dec 2003 04:40:55 -0000 1.1.2.2
@@ -34,6 +34,7 @@
public:
EventLog();
+ QPtrList<Event> events();
void emitAll();
public slots:
@@ -60,6 +61,9 @@
protected:
void closeEvent(QCloseEvent *e);
+
+private slots:
+ void save();
private:
EventLog *m_eventLog;
Index: main.h
===================================================================
RCS file: /home/kde/kdegames/atlantik/client/main.h,v
retrieving revision 1.40.2.6
retrieving revision 1.40.2.7
diff -u -d -r1.40.2.6 -r1.40.2.7
--- main.h 25 Nov 2003 01:25:31 -0000 1.40.2.6
+++ main.h 8 Dec 2003 04:40:55 -0000 1.40.2.7
@@ -18,7 +18,7 @@
#define ATLANTIK_MAIN_H
#define ATLANTIK_VERSION 070
-#define ATLANTIK_VERSION_STRING "0.7.0 (CVS >= 20031124)"
+#define ATLANTIK_VERSION_STRING "0.7.0 (CVS >= 20031208)"
#define ATLANTIK_VERSION_MAJOR 0
#define ATLANTIK_VERSION_MINOR 7