Show system properties

pull/2/head
Timothy Pearson 12 years ago
parent a305372e2d
commit fef13c1786

@ -276,6 +276,9 @@ DevicePropertiesDialog::DevicePropertiesDialog(TDEGenericDevice* device, TQWidge
if (m_device->type() != TDEGenericDeviceType::Monitor) {
base->tabBarWidget->removePage(base->tabMonitor);
}
if (m_device->type() != TDEGenericDeviceType::RootSystem) {
base->tabBarWidget->removePage(base->tabRootSystem);
}
if (m_device->type() == TDEGenericDeviceType::CPU) {
connect(base->comboCPUGovernor, TQT_SIGNAL(activated(const TQString &)), this, TQT_SLOT(setCPUGovernor(const TQString &)));
@ -291,6 +294,9 @@ DevicePropertiesDialog::DevicePropertiesDialog(TDEGenericDevice* device, TQWidge
if (m_device->type() == TDEGenericDeviceType::Backlight) {
connect(base->sliderBacklightBrightness, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(setBacklightBrightness(int)));
}
if (m_device->type() == TDEGenericDeviceType::RootSystem) {
connect(base->comboSystemHibernationMethod, TQT_SIGNAL(activated(int)), this, TQT_SLOT(setHibernationMethod(int)));
}
TQGridLayout *mainGrid = new TQGridLayout(plainPage(), 1, 1, 0, spacingHint());
mainGrid->setRowStretch(1, 1);
@ -579,6 +585,95 @@ void DevicePropertiesDialog::populateDeviceInformation() {
// RandR warning
base->labelRandrWarning->setText("<qt><b>NOTE: Any further integration of displays into TDE <i>REQUIRES</i> multi GPU support and other features slated for RandR 2.0.</b><p>Development on such features has been sorely lacking for well over a year as of 2012; if you want to see Linux come up to Windows and Macintosh standards in this area <i>please tell the Xorg developers</i> at http://www.x.org/wiki/XorgMailingLists<p>The TDE project badly needs these features before it can proceed with graphical monitor configuration tools:<br> * GPU object support<br> * The ability to query the active driver name for any Xorg output<p><b>To recap, this is <i>not a TDE shortcoming</i>, but rather is the result of a lack of fundamental Linux support for graphics configuration!</b></qt>");
}
if (m_device->type() == TDEGenericDeviceType::RootSystem) {
TDERootSystemDevice* rdevice = static_cast<TDERootSystemDevice*>(m_device);
TQString formFactorString;
TDESystemFormFactor::TDESystemFormFactor formFactor = rdevice->formFactor();
if (formFactor == TDESystemFormFactor::Unclassified) {
formFactorString = i18n("Unknown");
}
else if (formFactor == TDESystemFormFactor::Desktop) {
formFactorString = i18n("Desktop");
}
else if (formFactor == TDESystemFormFactor::Laptop) {
formFactorString = i18n("Laptop");
}
else if (formFactor == TDESystemFormFactor::Server) {
formFactorString = i18n("Server");
}
base->labelSystemFormFactor->setText(formFactorString);
TQString powerStatesString;
TDESystemPowerStateList powerStates = rdevice->powerStates();
if (powerStates.count() > 0) {
powerStatesString = "<qt>";
TDESystemPowerStateList::iterator it;
for (it = powerStates.begin(); it != powerStates.end(); ++it) {
if ((*it) == TDESystemPowerState::Active) {
powerStatesString += i18n("Active<br>");
}
if ((*it) == TDESystemPowerState::Standby) {
powerStatesString += i18n("Standby<br>");
}
if ((*it) == TDESystemPowerState::Suspend) {
powerStatesString += i18n("Suspend<br>");
}
if ((*it) == TDESystemPowerState::Hibernate) {
powerStatesString += i18n("Hibernate<br>");
}
if ((*it) == TDESystemPowerState::PowerOff) {
powerStatesString += i18n("Power Off<br>");
}
}
powerStatesString += "</qt>";
}
else {
powerStatesString += i18n("<unknown>");
}
base->labelSystemPowerStates->setText(powerStatesString);
base->comboSystemHibernationMethod->setEnabled(rdevice->canSetHibernationMethod());
TDESystemHibernationMethodList hibernationMethods = rdevice->hibernationMethods();
if ((uint)hibernationMethods.count() != (uint)base->comboSystemHibernationMethod->count()) {
base->comboSystemHibernationMethod->clear();
m_hibernationComboMap.clear();
int i=0;
TQString label;
for (TDESystemHibernationMethodList::Iterator it = hibernationMethods.begin(); it != hibernationMethods.end(); ++it) {
if ((*it) == TDESystemHibernationMethod::None) {
label = i18n("<none>");
}
if ((*it) == TDESystemHibernationMethod::Platform) {
label = i18n("Platform");
}
if ((*it) == TDESystemHibernationMethod::Shutdown) {
label = i18n("Shutdown");
}
if ((*it) == TDESystemHibernationMethod::Reboot) {
label = i18n("Reboot");
}
if ((*it) == TDESystemHibernationMethod::TestProc) {
label = i18n("Test Procedure");
}
if ((*it) == TDESystemHibernationMethod::Test) {
label = i18n("Test");
}
base->comboSystemHibernationMethod->insertItem(label, i);
m_hibernationComboMap[*it] = i;
i++;
}
}
base->comboSystemHibernationMethod->setCurrentItem(m_hibernationComboMap[rdevice->hibernationMethod()]);
base->labelSystemUserCanStandby->setText((rdevice->canStandby())?i18n("Yes"):i18n("No"));
base->labelSystemUserCanSuspend->setText((rdevice->canSuspend())?i18n("Yes"):i18n("No"));
base->labelSystemUserCanHibernate->setText((rdevice->canHibernate())?i18n("Yes"):i18n("No"));
base->labelSystemUserCanPowerOff->setText((rdevice->canPowerOff())?i18n("Yes"):i18n("No"));
base->labelSystemHibernationSpace->setText((rdevice->diskSpaceNeededForHibernation()<0)?i18n("<unknown>"):TDEHardwareDevices::bytesToFriendlySizeString(rdevice->diskSpaceNeededForHibernation()));
}
}
}
@ -595,6 +690,13 @@ void DevicePropertiesDialog::setBacklightBrightness(int value) {
bdevice->setRawBrightness(value);
}
void DevicePropertiesDialog::setHibernationMethod(int value) {
TDERootSystemDevice* rdevice = static_cast<TDERootSystemDevice*>(m_device);
rdevice->setHibernationMethod(m_hibernationComboMap.keys()[value]);
populateDeviceInformation();
}
void DevicePropertiesDialog::virtual_hook( int id, void* data )
{ KDialogBase::virtual_hook( id, data ); }

@ -155,6 +155,7 @@ private:
};
typedef TQPtrList<SensorDisplayWidget> SensorDisplayWidgetList;
typedef TQMap<TDESystemHibernationMethod::TDESystemHibernationMethod, int> HibernationComboMap;
/**
*
@ -185,6 +186,7 @@ private slots:
void setCPUGovernor(const TQString &);
void setBacklightBrightness(int);
void setHibernationMethod(int);
private:
TDEGenericDevice* m_device;
@ -195,6 +197,8 @@ private:
TQGridLayout* m_sensorDataGrid;
SensorDisplayWidgetList m_sensorDataGridWidgets;
HibernationComboMap m_hibernationComboMap;
};
#endif

@ -1217,6 +1217,169 @@
</spacer>
</grid>
</widget>
<widget class="TQWidget">
<property name="name">
<cstring>tabRootSystem</cstring>
</property>
<attribute name="title">
<string>System</string>
</attribute>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<widget class="TQGroupBox" row="0" column="0">
<property name="name">
<cstring>groupSysinfo</cstring>
</property>
<property name="title">
<string>System Information</string>
</property>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<widget class="TQLabel" row="0" column="0" colspan="1">
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="text">
<string>Form Factor</string>
</property>
</widget>
<widget class="TQLabel" row="0" column="1" colspan="1">
<property name="name">
<cstring>labelSystemFormFactor</cstring>
</property>
</widget>
</grid>
</widget>
<widget class="TQGroupBox" row="1" column="0">
<property name="name">
<cstring>groupSystemPower</cstring>
</property>
<property name="title">
<string>Power Management</string>
</property>
<grid>
<widget class="TQLabel" row="0" column="0" colspan="1">
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="text">
<string>Available Power States</string>
</property>
<property name="alignment">
<set>AlignTop|AlignLeft</set>
</property>
</widget>
<widget class="TQLabel" row="0" column="1" colspan="1">
<property name="name">
<cstring>labelSystemPowerStates</cstring>
</property>
</widget>
<widget class="TQLabel" row="1" column="0" colspan="1">
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="text">
<string>Hibernation Method</string>
</property>
<property name="alignment">
<set>AlignTop|AlignLeft</set>
</property>
</widget>
<widget class="KComboBox" row="1" column="1" colspan="1">
<property name="name">
<cstring>comboSystemHibernationMethod</cstring>
</property>
</widget>
<widget class="TQLabel" row="2" column="0" colspan="1">
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="text">
<string>Disk Space Needed to Hibernate</string>
</property>
</widget>
<widget class="TQLabel" row="2" column="1" colspan="1">
<property name="name">
<cstring>labelSystemHibernationSpace</cstring>
</property>
</widget>
<widget class="TQLabel" row="3" column="0" colspan="1">
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="text">
<string>User Can Request Standby</string>
</property>
</widget>
<widget class="TQLabel" row="3" column="1" colspan="1">
<property name="name">
<cstring>labelSystemUserCanStandby</cstring>
</property>
</widget>
<widget class="TQLabel" row="4" column="0" colspan="1">
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="text">
<string>User Can Request Suspend</string>
</property>
</widget>
<widget class="TQLabel" row="4" column="1" colspan="1">
<property name="name">
<cstring>labelSystemUserCanSuspend</cstring>
</property>
</widget>
<widget class="TQLabel" row="5" column="0" colspan="1">
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="text">
<string>User Can Request Hibernation</string>
</property>
</widget>
<widget class="TQLabel" row="5" column="1" colspan="1">
<property name="name">
<cstring>labelSystemUserCanHibernate</cstring>
</property>
</widget>
<widget class="TQLabel" row="6" column="0" colspan="1">
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="text">
<string>User Can Request Shutdown</string>
</property>
</widget>
<widget class="TQLabel" row="6" column="1" colspan="1">
<property name="name">
<cstring>labelSystemUserCanPowerOff</cstring>
</property>
</widget>
</grid>
</widget>
<spacer row="8" column="0">
<property name="name" stdset="0">
<cstring>Spacer4</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</grid>
</widget>
</widget>
</grid>
</widget>

@ -139,13 +139,11 @@ void TDEHWManager::populateTreeView()
base->deviceTree->clear();
if (show_by_connection) {
DeviceIconItem* rootitem = new DeviceIconItem(base->deviceTree, "Linux System", DesktopIcon("misc", base->deviceTree->iconSize()), 0);
TDEHardwareDevices *hwdevices = KGlobal::hardwareDevices();
TDEGenericHardwareList hwlist = hwdevices->listByDeviceClass(TDEGenericDeviceType::Root);
TDEGenericHardwareList hwlist = hwdevices->listByDeviceClass(TDEGenericDeviceType::RootSystem);
TDEGenericDevice *hwdevice;
for ( hwdevice = hwlist.first(); hwdevice; hwdevice = hwlist.next() ) {
DeviceIconItem* item = new DeviceIconItem(rootitem, hwdevice->friendlyName(), hwdevice->icon(base->deviceTree->iconSize()), hwdevice);
DeviceIconItem* item = new DeviceIconItem(base->deviceTree, hwdevice->friendlyName(), hwdevice->icon(base->deviceTree->iconSize()), hwdevice);
if ((!selected_syspath.isNull()) && (hwdevice->systemPath() == selected_syspath)) {
base->deviceTree->ensureItemVisible(item);
base->deviceTree->setSelected(item, true);

Loading…
Cancel
Save