1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
/***************************************************************************
begin : Thu Sep 5 2002
copyright : (C) 2002 by Christian Hubinger
email : chubinger@irrsinnig.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. *
* *
***************************************************************************/
#ifndef KMFPROCOUT_H
#define KMFPROCOUT_H
// QT includes
#include <tqwidget.h>
#include <tqstring.h>
#include <tqpixmap.h>
// KDE includes
#include <kprocess.h>
/**
*@author Christian Hubinger
*/
class TQLabel;
class TQGridLayout;
class KPushButton;
class TQTextBrowser;
namespace KMF {
class KDE_EXPORT KMFProcOut : public TQWidget {
Q_OBJECT
public:
KMFProcOut( TQWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
~KMFProcOut();
bool isRunning();
void runCmd( const TQString& cmd, const TQString& job_name, const TQString& job_description, bool useKdeSu );
void setText( const TQString&, const TQString& coomandName);
public slots:
void slotKillJob();
protected slots:
void slotReceivedOutput( KProcess*, char*, int );
void slotReceivedError( KProcess*, char*, int );
void slotProcessExited( KProcess* );
private:
void startJob( const TQString &dir, bool useKdeSu );
// void prepareJob( const TQString &dir );
void childFinished( bool normal, int status );
void insertStderrLine( const TQString &line );
void insertStdoutLine( const TQString &line );
void slotSetButtons();
void initGUI();
private: // data
TQString* stderrbuf;
TQString* stdoutbuf;
KProcess* childproc;
TQPixmap icon_stop, icon_close;
TQString m_job_name;
TQTextBrowser *m_lbview;
TQLabel *m_ljob_name;
TQGridLayout *m_layout;
KPushButton *m_bkill;
signals:
void processExited( KProcess * );
void rowSelected( int row );
void sigJobFinished( bool, const TQString& );
};
}
#endif
|