summaryrefslogtreecommitdiff
path: root/noncore/todayplugins/fortune/fortunepluginwidget.cpp
Side-by-side diff
Diffstat (limited to 'noncore/todayplugins/fortune/fortunepluginwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/todayplugins/fortune/fortunepluginwidget.cpp83
1 files changed, 83 insertions, 0 deletions
diff --git a/noncore/todayplugins/fortune/fortunepluginwidget.cpp b/noncore/todayplugins/fortune/fortunepluginwidget.cpp
new file mode 100644
index 0000000..583bf0b
--- a/dev/null
+++ b/noncore/todayplugins/fortune/fortunepluginwidget.cpp
@@ -0,0 +1,83 @@
+/*
+ * fortunepluginwidget.cpp
+ *
+ * copyright : (c) 2002 by Maximilian Reiß
+ * email : harlekin@handhelds.org
+ *
+ */
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include "fortunepluginwidget.h"
+
+#include <qvaluelist.h>
+#include <qtl.h>
+#include <qstring.h>
+#include <qscrollview.h>
+#include <qobject.h>
+#include <qlayout.h>
+
+#include <qpe/config.h>
+#include <qpe/qcopenvelope_qws.h>
+
+#include <opie/oprocess.h>
+#include <opie/oticker.h>
+
+FortunePluginWidget::FortunePluginWidget( QWidget *parent, const char* name )
+ : QWidget( parent, name )
+{
+
+ fortune = NULL;
+ getFortune();
+}
+
+FortunePluginWidget::~FortunePluginWidget() {
+ if( fortuneProcess ){
+ delete fortuneProcess;
+ }
+}
+
+/**
+ * Get the fortunes
+ */
+void FortunePluginWidget::getFortune() {
+
+ QVBoxLayout* layoutFortune = new QVBoxLayout( this );
+
+ if ( fortune ) {
+ delete fortune;
+ }
+
+ fortune = new OTicker( this );
+// fortune->setReadOnly( TRUE );
+// fortune->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ) );
+
+ fortune->setText( QString("Obtaining fortune...") );
+ layoutFortune->addWidget( fortune );
+
+ fortuneProcess = new OProcess();
+ *fortuneProcess << "fortune";
+
+ connect(fortuneProcess, SIGNAL(receivedStdout(OProcess*, char*, int ) ),
+ this, SLOT(slotStdOut(OProcess*, char*, int) ) );
+
+ if(!fortuneProcess->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) {
+ qWarning("could not start :(");
+ fortune->setText( QString("Failed to obtain fortune.") );
+ delete fortuneProcess;
+ fortuneProcess = 0;
+ }
+
+}
+
+void FortunePluginWidget::slotStdOut( OProcess* proc, char* buf, int len )
+{
+ QCString cstring( buf, len );
+ fortune->setText( cstring );
+}