summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/sysinfo/sysloginfo.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/noncore/settings/sysinfo/sysloginfo.cpp b/noncore/settings/sysinfo/sysloginfo.cpp
index a9e98e3..21427f4 100644
--- a/noncore/settings/sysinfo/sysloginfo.cpp
+++ b/noncore/settings/sysinfo/sysloginfo.cpp
@@ -1,119 +1,119 @@
/**********************************************************************
** SyslogInfo
**
** Display Syslog information
**
** Copyright (C) 2004, Michael Lauer
** mickey@tm.informatik.uni-frankfurt.de
** http://www.Vanille.de
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
**********************************************************************/
#include "sysloginfo.h"
#include "detail.h"
/* OPIE */
#include <opie2/olistview.h>
#include <opie2/oconfig.h>
using namespace Opie::Core;
using namespace Opie::Ui;
/* QT */
#include <qcombobox.h>
#include <qfile.h>
#include <qlayout.h>
#include <qmessagebox.h>
#include <qpushbutton.h>
#include <qsocketnotifier.h>
#include <qtextbrowser.h>
#include <qtimer.h>
#include <qwhatsthis.h>
#include <qtextview.h>
/* STD */
#include <sys/klog.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <assert.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
#define SYSLOG_READ 2
#define SYSLOG_READ_ALL 3
#define SYSLOG_READ_ALL_CLEAR 4
#define SYSLOG_UNREAD 9
#undef APPEND
const unsigned int bufsize = 16384;
char buf[bufsize];
SyslogInfo::SyslogInfo( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, fl )
{
QGridLayout *layout = new QGridLayout( this );
- layout->setSpacing( 4 );
- layout->setMargin( 4 );
+ layout->setSpacing( 2 );
+ layout->setMargin( 0 );
syslogview = new QTextView( this );
syslogview->setTextFormat( PlainText );
OConfig cfg( "qpe" );
cfg.setGroup( "Appearance" );
syslogview->setFont( QFont( "Fixed", cfg.readNumEntry( "FontSize", 10 ) ) );
layout->addWidget( syslogview, 0, 0 );
syslogview->setText( "..." );
memset( buf, 0, bufsize );
::klogctl( SYSLOG_READ_ALL, buf, bufsize );
syslogview->setText( buf );
#ifdef APPEND
fd = ::open( "/proc/kmsg", O_RDONLY|O_SYNC );
if ( fd == -1 )
{
syslogview->setText( "Couldn't open /proc/kmsg: " + QString( strerror( errno ) ) );
return;
}
QSocketNotifier *sn = new QSocketNotifier( fd, QSocketNotifier::Read, this );
QObject::connect( sn, SIGNAL(activated(int)), this, SLOT(updateData()) );
#else
QPushButton* pb = new QPushButton( "&Refresh", this );
layout->addWidget( pb, 1, 0 );
QObject::connect( pb, SIGNAL(clicked()), this, SLOT(updateData()) );
#endif
}
SyslogInfo::~SyslogInfo()
{
if ( fd != -1 ) ::close( fd );
}
void SyslogInfo::updateData()
{
qDebug( "SyslogInfo: updateData" );
#ifdef APPEND
memset( buf, 0, bufsize );
int num = ::read( fd, buf, bufsize );
if ( num ) // -1 = error (permission denied)
{
syslogview->append( "\n" );
syslogview->append( buf );
qDebug( "SyslogInfo: adding '%s'", buf );
}
#else
memset( buf, 0, bufsize );
::klogctl( SYSLOG_READ_ALL, buf, bufsize );
syslogview->setText( buf );
syslogview->ensureVisible( 0, syslogview->contentsHeight() );
#endif
}