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
@@ -74,4 +74,6 @@ void 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
@@ -79,7 +81,7 @@ void DevicesView::selectionChanged( QListViewItem* item )
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 );
@@ -88,4 +90,5 @@ DevicesInfo::DevicesInfo( QWidget* parent, const char* name, WFlags fl )
88} 90}
89 91
92
90DevicesInfo::~DevicesInfo() 93DevicesInfo::~DevicesInfo()
91{ 94{
@@ -93,4 +96,13 @@ DevicesInfo::~DevicesInfo()
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 )
@@ -113,4 +125,10 @@ Device::~Device()
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 )
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
@@ -32,4 +32,5 @@ _;:,     .>    :=|. This program is free software; you can
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 */
@@ -55,7 +56,10 @@ public:
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};
@@ -77,4 +81,6 @@ public:
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