From 0d6bebc5f5bacd360dcee8f58b93ae3c99028c75 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 5 Apr 2012 22:01:03 -0500 Subject: Add rudimentary device manager to kcontrol --- kcontrol/hwmanager/deviceiconview.cpp | 108 ++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 kcontrol/hwmanager/deviceiconview.cpp (limited to 'kcontrol/hwmanager/deviceiconview.cpp') diff --git a/kcontrol/hwmanager/deviceiconview.cpp b/kcontrol/hwmanager/deviceiconview.cpp new file mode 100644 index 000000000..f38f35460 --- /dev/null +++ b/kcontrol/hwmanager/deviceiconview.cpp @@ -0,0 +1,108 @@ +/* + Copyright (c) 2000 Matthias Elter + Copyright (c) 2003 Daniel Molkentin + + 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; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +*/ + +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include "deviceiconview.h" +#include "deviceiconview.moc" + +DeviceIconView::DeviceIconView(TQWidget * parent, const char * name) + : KListView(parent, name) +{ + setSorting(0, true); + addColumn(TQString::null); + + // Show expand/collapse widgets on root items + setRootIsDecorated(true); + + header()->hide(); + + connect(this, TQT_SIGNAL(clicked(TQListViewItem*)), this, TQT_SLOT(slotItemSelected(TQListViewItem*))); + connect(this, TQT_SIGNAL(executed(TQListViewItem*)), this, TQT_SLOT(slotItemDoubleClicked(TQListViewItem*))); +} + +void DeviceIconView::slotItemSelected(TQListViewItem* item) +{ + TQApplication::restoreOverrideCursor(); + if (!item) { + return; + } +} + +void DeviceIconView::slotItemDoubleClicked(TQListViewItem* item) +{ + TQApplication::restoreOverrideCursor(); + if (!item) { + return; + } + + DeviceIconItem* divi = dynamic_cast(item); + if (!divi) { + return; + } + + if (divi->device()) { + DevicePropertiesDialog* propsDlg = new DevicePropertiesDialog(divi->device(), this); + propsDlg->exec(); + delete propsDlg; + } + else { + KMessageBox::sorry(this, "Detailed information is not available for this device", "Information Unavailable"); + } +} + +void DeviceIconView::keyPressEvent(TQKeyEvent *e) +{ + if (e->key() == Key_Return + || e->key() == Key_Enter + || e->key() == Key_Space) + { + if (currentItem()) { + slotItemSelected(currentItem()); + } + } + else { + KListView::keyPressEvent(e); + } +} + +TQPixmap DeviceIconView::loadIcon( const TQString &name ) +{ + TQPixmap icon = DesktopIcon( name, iconSize() ); + + if(icon.isNull()) { + icon = DesktopIcon( "misc", iconSize() ); + } + + return icon; +} + +KIcon::StdSizes DeviceIconView::iconSize() { + return KIcon::SizeSmall; +} \ No newline at end of file -- cgit v1.2.1