summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/sysinfo/devicesinfo.cpp22
-rw-r--r--noncore/settings/sysinfo/devicesinfo.h8
2 files changed, 27 insertions, 3 deletions
diff --git a/noncore/settings/sysinfo/devicesinfo.cpp b/noncore/settings/sysinfo/devicesinfo.cpp
index 4bce65f..f1efb33 100644
--- a/noncore/settings/sysinfo/devicesinfo.cpp
+++ b/noncore/settings/sysinfo/devicesinfo.cpp
@@ -60,71 +60,89 @@ DevicesView::DevicesView( QWidget* parent, const char* name, WFlags fl )
60 ( new CpuCategory( root ) )->populate(); 60 ( new CpuCategory( root ) )->populate();
61 ( new InputCategory( root ) )->populate(); 61 ( new InputCategory( root ) )->populate();
62 ( new CardsCategory( root ) )->populate(); 62 ( new CardsCategory( root ) )->populate();
63 ( new UsbCategory( root ) )->populate(); 63 ( new UsbCategory( root ) )->populate();
64 64
65 connect( this, SIGNAL(selectionChanged(QListViewItem*)), this, SLOT(selectionChanged(QListViewItem*)) ); 65 connect( this, SIGNAL(selectionChanged(QListViewItem*)), this, SLOT(selectionChanged(QListViewItem*)) );
66} 66}
67 67
68DevicesView::~DevicesView() 68DevicesView::~DevicesView()
69{ 69{
70} 70}
71 71
72 72
73void DevicesView::selectionChanged( QListViewItem* item ) 73void DevicesView::selectionChanged( QListViewItem* item )
74{ 74{
75 odebug << "DevicesView::selectionChanged to '" << item->text( 0 ) << "'" << oendl; 75 odebug << "DevicesView::selectionChanged to '" << item->text( 0 ) << "'" << oendl;
76 QWidget* details = ( static_cast<Device*>( item ) )->detailsWidget();
77 ( static_cast<DevicesInfo*>( parent() ) )->setDetailsWidget( details );
76} 78}
77 79
78 80
79//================================================================================================= 81//=================================================================================================
80DevicesInfo::DevicesInfo( QWidget* parent, const char* name, WFlags fl ) 82DevicesInfo::DevicesInfo( QWidget* parent, const char* name, WFlags fl )
81 :QWidget( parent, name, fl ) 83 :QWidget( parent, name, fl ), details( 0 )
82{ 84{
83 OAutoBoxLayout *layout = new OAutoBoxLayout( this ); 85 layout = new OAutoBoxLayout( this );
84 layout->setSpacing( 4 ); 86 layout->setSpacing( 4 );
85 layout->setMargin( 4 ); 87 layout->setMargin( 4 );
86 view = new DevicesView( this ); 88 view = new DevicesView( this );
87 layout->addWidget( view ); 89 layout->addWidget( view );
88} 90}
89 91
92
90DevicesInfo::~DevicesInfo() 93DevicesInfo::~DevicesInfo()
91{ 94{
92} 95}
93 96
94 97
98void DevicesInfo::setDetailsWidget( QWidget* w )
99{
100 if ( details ) delete( details );
101 layout->addWidget( w );
102 w->show();
103}
104
105
106//=================================================================================================
95Category::Category( DevicesView* parent, const QString& name ) 107Category::Category( DevicesView* parent, const QString& name )
96 :OListViewItem( parent, name ) 108 :OListViewItem( parent, name )
97{ 109{
98 odebug << "Category '" << name << "' inserted. Scanning for devices..." << oendl; 110 odebug << "Category '" << name << "' inserted. Scanning for devices..." << oendl;
99} 111}
100 112
101Category::~Category() 113Category::~Category()
102{ 114{
103} 115}
104 116
105//================================================================================================= 117//=================================================================================================
106Device::Device( Category* parent, const QString& name ) 118Device::Device( Category* parent, const QString& name )
107 :OListViewItem( parent, name ) 119 :OListViewItem( parent, name )
108{ 120{
109} 121}
110 122
111Device::~Device() 123Device::~Device()
112{ 124{
113} 125}
114 126
127QWidget* Device::detailsWidget()
128{
129 return new QPushButton( static_cast<QWidget*>( listView()->parent() ), "Press Button to self-destruct" );
130}
131
132
115//================================================================================================= 133//=================================================================================================
116CpuCategory::CpuCategory( DevicesView* parent ) 134CpuCategory::CpuCategory( DevicesView* parent )
117 :Category( parent, "1. Central Processing Unit" ) 135 :Category( parent, "1. Central Processing Unit" )
118{ 136{
119} 137}
120 138
121CpuCategory::~CpuCategory() 139CpuCategory::~CpuCategory()
122{ 140{
123} 141}
124 142
125void CpuCategory::populate() 143void CpuCategory::populate()
126{ 144{
127 odebug << "CpuCategory::populate()" << oendl; 145 odebug << "CpuCategory::populate()" << oendl;
128 QFile cpuinfofile( "/proc/cpuinfo" ); 146 QFile cpuinfofile( "/proc/cpuinfo" );
129 if ( !cpuinfofile.exists() || !cpuinfofile.open( IO_ReadOnly ) ) 147 if ( !cpuinfofile.exists() || !cpuinfofile.open( IO_ReadOnly ) )
130 { 148 {
diff --git a/noncore/settings/sysinfo/devicesinfo.h b/noncore/settings/sysinfo/devicesinfo.h
index 262af31..b065f40 100644
--- a/noncore/settings/sysinfo/devicesinfo.h
+++ b/noncore/settings/sysinfo/devicesinfo.h
@@ -18,77 +18,83 @@ _;:,     .>    :=|. This program is free software; you can
18..}^=.=       =       ; General Public License for more 18..}^=.=       =       ; General Public License for more
19++=   -.     .`     .: details. 19++=   -.     .`     .: details.
20:     =  ...= . :.=- 20:     =  ...= . :.=-
21-.   .:....=;==+<; You should have received a copy of the GNU 21-.   .:....=;==+<; You should have received a copy of the GNU
22 -_. . .   )=.  = General Public License along with 22 -_. . .   )=.  = General Public License along with
23   --        :-=` this application; see the file LICENSE.GPL. 23   --        :-=` this application; see the file LICENSE.GPL.
24 If not, write to the Free Software Foundation, 24 If not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330, 25 Inc., 59 Temple Place - Suite 330,
26 Boston, MA 02111-1307, USA. 26 Boston, MA 02111-1307, USA.
27*/ 27*/
28 28
29#ifndef DEVICESINFO_H 29#ifndef DEVICESINFO_H
30#define DEVICESINFO_H 30#define DEVICESINFO_H
31 31
32/* OPIE */ 32/* OPIE */
33#include <opie2/olistview.h> 33#include <opie2/olistview.h>
34#include <opie2/olayout.h>
34 35
35/* QT */ 36/* QT */
36#include <qwidget.h> 37#include <qwidget.h>
37 38
38//================================================================================================= 39//=================================================================================================
39class DevicesView : public Opie::Ui::OListView 40class DevicesView : public Opie::Ui::OListView
40{ 41{
41 Q_OBJECT 42 Q_OBJECT
42public: 43public:
43 DevicesView( QWidget* parent = 0, const char* name = 0, WFlags f = 0 ); 44 DevicesView( QWidget* parent = 0, const char* name = 0, WFlags f = 0 );
44 ~DevicesView(); 45 ~DevicesView();
45public slots: 46public slots:
46 void selectionChanged( QListViewItem* item ); 47 void selectionChanged( QListViewItem* item );
47}; 48};
48 49
49//================================================================================================= 50//=================================================================================================
50class DevicesInfo : public QWidget 51class DevicesInfo : public QWidget
51{ 52{
52 Q_OBJECT 53 Q_OBJECT
53public: 54public:
54 DevicesInfo( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 55 DevicesInfo( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
55 ~DevicesInfo(); 56 ~DevicesInfo();
56 57
58 void setDetailsWidget( QWidget* w = 0 );
59
57private: 60private:
61 Opie::Ui::OAutoBoxLayout* layout;
58 Opie::Ui::OListView* view; 62 Opie::Ui::OListView* view;
59 63 QWidget* details;
60private slots: 64private slots:
61}; 65};
62 66
63//================================================================================================= 67//=================================================================================================
64class Category : public Opie::Ui::OListViewItem 68class Category : public Opie::Ui::OListViewItem
65{ 69{
66public: 70public:
67 Category( DevicesView* parent, const QString& name ); 71 Category( DevicesView* parent, const QString& name );
68 virtual ~Category(); 72 virtual ~Category();
69 73
70 virtual void populate() = 0; 74 virtual void populate() = 0;
71}; 75};
72 76
73//================================================================================================= 77//=================================================================================================
74class Device : public Opie::Ui::OListViewItem 78class Device : public Opie::Ui::OListViewItem
75{ 79{
76public: 80public:
77 Device( Category* parent, const QString& name ); 81 Device( Category* parent, const QString& name );
78 ~Device(); 82 ~Device();
83
84 QWidget* detailsWidget();
79}; 85};
80 86
81//================================================================================================= 87//=================================================================================================
82class CpuCategory : public Category 88class CpuCategory : public Category
83{ 89{
84public: 90public:
85 CpuCategory( DevicesView* parent ); 91 CpuCategory( DevicesView* parent );
86 virtual ~CpuCategory(); 92 virtual ~CpuCategory();
87 93
88 virtual void populate(); 94 virtual void populate();
89}; 95};
90 96
91//================================================================================================= 97//=================================================================================================
92class InputCategory : public Category 98class InputCategory : public Category
93{ 99{
94public: 100public: