[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/ksysguard/gui
From:       John Tapsell <john.tapsell () kdemail ! net>
Date:       2009-01-31 7:08:34
Message-ID: 1233385714.744112.30713.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 918970 by johnflux:

Add a globally accessible pointer to the local process table.
This allows us to access the process table from elsewhere.


 A             ProcessTable.h   [License: GPL (v2/3)]
 M  +2 -3      SensorDisplayLib/ProcessController.cc  
 M  +1 -1      SensorDisplayLib/ProcessController.h  
 M  +1 -1      SensorDisplayLib/SensorDisplay.cc  
 M  +6 -16     WorkSheet.cc  
 M  +0 -4      WorkSheet.h  
 M  +7 -7      ksysguard.cc  


--- trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib/ProcessController.cc \
#918969:918970 @@ -36,8 +36,8 @@
 #ifdef DO_MODELCHECK
 #include "modeltest.h"
 #endif
-ProcessController::ProcessController(QWidget* parent, const QString &title, \
                SharedSettings *workSheetSettings)
-	: KSGRD::SensorDisplay(parent, title, workSheetSettings)
+ProcessController::ProcessController(QWidget* parent)
+	: KSGRD::SensorDisplay(parent, QString::null, NULL)
 {
 	mProcessList = NULL;
 	mProcesses = NULL;
@@ -136,7 +136,6 @@
 	QStackedLayout *layout = new QStackedLayout(this);
 	mProcessList = new KSysGuardProcessList(this, hostName);
 	mProcessList->setContentsMargins(0,0,0,0);
-	kDebug() << "Number of Actions: " << mProcessList->actions().size();
 	addActions(mProcessList->actions());
 
 	layout->addWidget(mProcessList);
--- trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib/ProcessController.h \
#918969:918970 @@ -52,7 +52,7 @@
 	Q_OBJECT
 
 public:
-	ProcessController(QWidget* parent, const QString& title, SharedSettings \
*workSheetSettings); +	ProcessController(QWidget* parent);
 	virtual ~ProcessController() { }
 
 	/* Functions for SensorDisplay*/
--- trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib/SensorDisplay.cc \
#918969:918970 @@ -119,7 +119,7 @@
       action->setData( 2 );
       menuEmpty = false;
     }
-    if(!mSharedSettings->locked) {  
+    if(mSharedSettings && !mSharedSettings->locked) {  
       action = pm.addAction( i18n( "&Remove Display" ) );
       action->setData( 3 );
       menuEmpty = false;
--- trunk/KDE/kdebase/workspace/ksysguard/gui/WorkSheet.cc #918969:918970
@@ -45,6 +45,7 @@
 #include "LogFile.h"
 #include "MultiMeter.h"
 #include "ProcessController.h"
+#include "ProcessTable.h"
 #include "SensorLogger.h"
 #include "WorkSheet.h"
 #include "WorkSheetSettings.h"
@@ -55,7 +56,6 @@
   mGridLayout = 0;
   mRows = mColumns = 0;
   mDisplayList = 0;
-  mLocalProcessController = NULL;
   setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
   setAcceptDrops( true );
 }
@@ -368,11 +368,10 @@
       newDisplay = new SensorLogger( this, sensorDescr, &mSharedSettings );
     }
     else if ( sensorType == "table" ) {
-      if(!mLocalProcessController && (hostName.isEmpty() || hostName == \
                "localhost")) {
-        mLocalProcessController = new ProcessController( this, sensorDescr, \
                &mSharedSettings);
-	newDisplay = mLocalProcessController;
+      if(!sLocalProcessController && (hostName.isEmpty() || hostName == \
"localhost")) { +	newDisplay = sLocalProcessController;
       } else 
-        newDisplay = new ProcessController( this, sensorDescr, &mSharedSettings);
+        newDisplay = new ProcessController( this);
     }
     else {
       kDebug(1215) << "Unknown sensor type: " <<  sensorType;
@@ -544,11 +543,7 @@
   else if ( classType == "SensorLogger" )
     newDisplay = new SensorLogger( 0, i18n("Dummy"), &mSharedSettings );
   else if ( classType == "ProcessController" ) {
-    if(!mLocalProcessController) {
-      kDebug() << "Found process controller"; 
-      mLocalProcessController = new ProcessController( 0, i18n("Dummy"), \
                &mSharedSettings);
-      newDisplay = mLocalProcessController;
-    }
+    newDisplay = new ProcessController(0);
   } else {
     kDebug(1215) << "Unknown class " <<  classType;
     return false;
@@ -569,9 +564,7 @@
 void WorkSheet::replaceDisplay( uint row, uint column, KSGRD::SensorDisplay* \
newDisplay )  {
   // remove the old display && sensor frame at this location
-  if ( mDisplayList[ row ][ column ] ) {
-    if(mDisplayList[ row ][ column ] == mLocalProcessController) 
-      mLocalProcessController = NULL;
+  if ( mDisplayList[ row ][ column ] && mDisplayList[ row ][ column ] != \
                sLocalProcessController)  {
     if ( qstrcmp( mDisplayList[ row ][ column \
                ]->parent()->metaObject()->className(), "SensorFrame" ) == 0 ) {
       delete mDisplayList[ row ][ column ]->parent(); // destroys the child \
(display) as well  } else {
@@ -605,9 +598,6 @@
   if ( !display )
     return;
   
-  if(display == mLocalProcessController) 
-    mLocalProcessController = NULL;
-
   for ( uint r = 0; r < mRows; ++r )
     for ( uint c = 0; c < mColumns; ++c )
       if ( mDisplayList[ r ][ c ] == display ) {
--- trunk/KDE/kdebase/workspace/ksysguard/gui/WorkSheet.h #918969:918970
@@ -34,7 +34,6 @@
 class QGridLayout;
 class QString;
 class QStringList;
-class ProcessController;
 
 /**
   A WorkSheet contains the displays to visualize the sensor results. When
@@ -77,7 +76,6 @@
                                       uint rows, uint columns );
 
     void settings();
-    ProcessController *getLocalProcessController() const { return \
mLocalProcessController; }  
   public Q_SLOTS:
     void showPopupMenu( KSGRD::SensorDisplay *display );
@@ -118,8 +116,6 @@
 
     QString currentDisplayAsXML();
 
-    ProcessController *mLocalProcessController;
-
     uint mRows;
     uint mColumns;
 
--- trunk/KDE/kdebase/workspace/ksysguard/gui/ksysguard.cc #918969:918970
@@ -61,10 +61,12 @@
 #include "StyleEngine.h"
 #include "HostConnector.h"
 #include "ProcessController.h"
+#include "ProcessTable.h"
 
 #include "ksysguard.h"
 
 
+ProcessController *sLocalProcessController = NULL;
 
 //Comment out to stop ksysguard from forking.  Good for debugging
 //#define FORK_KSYSGUARD
@@ -95,6 +97,8 @@
   connect( mWorkSpace, SIGNAL( currentChanged( int ) ),
            SLOT( currentTabChanged( int ) ) );
 
+  sLocalProcessController = new ProcessController( this);
+
   /* Create the status bar. It displays some information about the
    * number of processes and the memory consumption of the local
    * host. */
@@ -391,13 +395,9 @@
   mWorkSpace->readProperties( cfg );
 
   QList<WorkSheet *> workSheets = mWorkSpace->getWorkSheets();
-  ProcessController *processController = NULL;
-  foreach(WorkSheet *sheet, workSheets) {
-    processController = sheet->getLocalProcessController();
-    if(processController != NULL) {
-      for(int i = 0; i < processController->actions().size(); i++) {
-        actionCollection()->addAction("processAction" + QString::number(i), \
                processController->actions().at(i));
-      }
+  if(sLocalProcessController != NULL) {
+    for(int i = 0; i < sLocalProcessController->actions().size(); i++) {
+      actionCollection()->addAction("processAction" + QString::number(i), \
sLocalProcessController->actions().at(i));  }
   }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic