|
|
|
/***************************************************************************
|
|
|
|
begin : Sun Oct 3 1999
|
|
|
|
copyright : (C) 1999 by Peter Putzer
|
|
|
|
email : putzer@kde.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; version 2. *
|
|
|
|
* *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#ifndef KSV_VIEW_H
|
|
|
|
#define KSV_VIEW_H
|
|
|
|
|
|
|
|
#include <tqsplitter.h>
|
|
|
|
#include <tqvaluelist.h>
|
|
|
|
#include <tqsize.h>
|
|
|
|
|
|
|
|
#include <ktrader.h>
|
|
|
|
|
|
|
|
class TQPopupMenu;
|
|
|
|
class TQFileInfo;
|
|
|
|
class TQLabel;
|
|
|
|
class TQListViewItem;
|
|
|
|
class TQTextEdit;
|
|
|
|
class TQFrame;
|
|
|
|
class TQVBox;
|
|
|
|
class TQPixmap;
|
|
|
|
class TQLayout;
|
|
|
|
|
|
|
|
class KScroller;
|
|
|
|
class KProcess;
|
|
|
|
class KListView;
|
|
|
|
class TQSplitter;
|
|
|
|
class KPopupMenu;
|
|
|
|
class KSVTrash;
|
|
|
|
class KSVDragList;
|
|
|
|
class KSVConfig;
|
|
|
|
class KSVData;
|
|
|
|
class KSVItem;
|
|
|
|
class KSVAction;
|
|
|
|
class KSVTopLevel;
|
|
|
|
|
|
|
|
class KSVContent : public TQSplitter
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
TQ_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
KSVContent (KPopupMenu* openWithMenu, KSVTopLevel* parent = 0, const char* name = 0);
|
|
|
|
~KSVContent();
|
|
|
|
|
|
|
|
KSVDragList* getOrigin();
|
|
|
|
|
|
|
|
const TQString& log() const;
|
|
|
|
const TQString& xmlLog() const;
|
|
|
|
|
|
|
|
void setColors (const TQColor& newNormal,
|
|
|
|
const TQColor& newSelected,
|
|
|
|
const TQColor& changedNormal,
|
|
|
|
const TQColor& changedSelected);
|
|
|
|
|
|
|
|
void mergeLoadedPackage (TQValueList<KSVData>* start,
|
|
|
|
TQValueList<KSVData>* stop);
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
void slotWriteSysV();
|
|
|
|
|
|
|
|
void infoOnData(KSVItem* data);
|
|
|
|
void setDisplayScriptOutput(bool val);
|
|
|
|
void slotScriptProperties (TQListViewItem*);
|
|
|
|
void multiplexEnabled (bool);
|
|
|
|
|
|
|
|
void hideRunlevel (int index);
|
|
|
|
void showRunlevel (int index);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual void resizeEvent (TQResizeEvent* e);
|
|
|
|
virtual void moveEvent (TQMoveEvent* e);
|
|
|
|
virtual void showEvent (TQShowEvent*);
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void calcMinSize ();
|
|
|
|
void fwdOrigin (KSVDragList*);
|
|
|
|
void startService();
|
|
|
|
void startService (const TQString& path);
|
|
|
|
void stopService();
|
|
|
|
void stopService (const TQString& path);
|
|
|
|
void restartService();
|
|
|
|
void restartService (const TQString& path);
|
|
|
|
void editService();
|
|
|
|
void editService (const TQString& path);
|
|
|
|
void slotOutputOrError( KProcess* _p, char* _buffer, int _buflen );
|
|
|
|
void slotExitedProcess(KProcess* proc);
|
|
|
|
void slotScriptsNotRemovable();
|
|
|
|
void slotDoubleClick (TQListViewItem*);
|
|
|
|
void slotExitDuringRestart(KProcess* proc);
|
|
|
|
void appendLog(const TQString& rich, const TQString& plain);
|
|
|
|
void appendLog(const TQCString& _buffer);
|
|
|
|
void fwdCannotGenerateNumber();
|
|
|
|
void fwdOrigin();
|
|
|
|
void reSortRL();
|
|
|
|
void pasteAppend();
|
|
|
|
void fwdUndoAction(KSVAction*);
|
|
|
|
void updatePanningFactor();
|
|
|
|
|
|
|
|
void popupRunlevelMenu (KListView*, TQListViewItem*, const TQPoint&);
|
|
|
|
void popupServicesMenu (KListView*, TQListViewItem*, const TQPoint&);
|
|
|
|
|
|
|
|
void updateServicesAfterChange (const TQString&);
|
|
|
|
void updateRunlevelsAfterChange ();
|
|
|
|
|
|
|
|
void repaintRunlevels ();
|
|
|
|
|
|
|
|
void openWith ();
|
|
|
|
void openWith (int index);
|
|
|
|
|
|
|
|
signals:
|
|
|
|
void sigUpdateParent();
|
|
|
|
void sigRun (const TQString&);
|
|
|
|
void sigStop();
|
|
|
|
void sigNotRemovable();
|
|
|
|
void cannotGenerateNumber();
|
|
|
|
void selected (KSVItem*);
|
|
|
|
void selectedScripts (KSVItem*);
|
|
|
|
void sizeChanged();
|
|
|
|
|
|
|
|
void undoAction (KSVAction*);
|
|
|
|
void logChanged();
|
|
|
|
|
|
|
|
void newOrigin();
|
|
|
|
|
|
|
|
private:
|
|
|
|
static int splitterToPanningFactor (const TQValueList<int>&);
|
|
|
|
static const TQValueList<int>& panningFactorToSplitter (int);
|
|
|
|
|
|
|
|
void merge (TQValueList<KSVData>& list, KSVDragList* widget);
|
|
|
|
void initLList();
|
|
|
|
void initScripts();
|
|
|
|
void initRunlevels();
|
|
|
|
void info2Widget (TQFileInfo* info, int index);
|
|
|
|
void writeToDisk (const KSVData& _w, int _rl, bool _start);
|
|
|
|
void clearRL( int _rl );
|
|
|
|
|
|
|
|
friend class KSVTopLevel;
|
|
|
|
|
|
|
|
TQFrame* mContent;
|
|
|
|
KScroller* mScroller;
|
|
|
|
|
|
|
|
KSVDragList** startRL;
|
|
|
|
KSVDragList** stopRL;
|
|
|
|
KSVDragList* scripts;
|
|
|
|
|
|
|
|
KPopupMenu* mItemMenu;
|
|
|
|
KPopupMenu* mContextMenu;
|
|
|
|
KPopupMenu* mScriptMenu;
|
|
|
|
KSVTrash* trash;
|
|
|
|
TQTextEdit* textDisplay;
|
|
|
|
KSVConfig* conf;
|
|
|
|
|
|
|
|
TQVBox* mScriptBox;
|
|
|
|
TQVBox** mRunlevels;
|
|
|
|
TQWidget* mBuffer;
|
|
|
|
|
|
|
|
KSVDragList* mOrigin;
|
|
|
|
|
|
|
|
TQString mLogText, mXMLLogText;
|
|
|
|
|
|
|
|
TQSize mMinSize;
|
|
|
|
|
|
|
|
KPopupMenu* mOpenWithMenu;
|
|
|
|
KTrader::OfferList mOpenWithOffers;
|
|
|
|
|
|
|
|
TQCString m_buffer;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|