5
* Copyright (C) 2009 David Hubner <hubnerd@ntlworld.com>
7
* This program is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation; either version 2 of the License, or
10
* (at your option) any later version.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23
#ifndef SOLDEVICETYPES
24
#define SOLDEVICETYPES
27
#include <kdiskfreespaceinfo.h>
29
#include "soldevice.h"
30
#include "infopanel.h"
34
class SolProcessorDevice : public SolDevice
38
SolProcessorDevice(const Solid::DeviceInterface::Type &);
39
SolProcessorDevice(QTreeWidgetItem *, const Solid::Device &);
40
QVListLayout *infoPanelLayout();
43
void setDefaultDeviceText();
44
void setDefaultListing(const Solid::DeviceInterface::Type &);
48
class SolStorageDevice : public SolDevice
52
enum storageChildren { CREATECHILDREN , NOCHILDREN };
54
SolStorageDevice(const Solid::DeviceInterface::Type &);
55
SolStorageDevice(QTreeWidgetItem *, const Solid::Device &, const storageChildren & = CREATECHILDREN);
56
QVListLayout *infoPanelLayout();
59
void setDefaultDeviceText();
60
void setDefaultListing(const Solid::DeviceInterface::Type &);
63
class SolNetworkDevice : public SolDevice
67
SolNetworkDevice(const Solid::DeviceInterface::Type &);
68
SolNetworkDevice(QTreeWidgetItem *, const Solid::Device &);
69
QVListLayout *infoPanelLayout();
73
void setDefaultDeviceText();
74
void setDefaultDeviceIcon();
75
void setDefaultListing(const Solid::DeviceInterface::Type &);
78
class SolVolumeDevice : public SolDevice
82
SolVolumeDevice(const Solid::DeviceInterface::Type &);
83
SolVolumeDevice(QTreeWidgetItem *, const Solid::Device &);
84
QVListLayout *infoPanelLayout();
87
void setDefaultListing(const Solid::DeviceInterface::Type &);
90
class SolAudioDevice : public SolDevice
94
SolAudioDevice(const Solid::DeviceInterface::Type &);
95
SolAudioDevice(QTreeWidgetItem *, const Solid::Device &);
96
QVListLayout *infoPanelLayout();
97
void addItem(Solid::Device);
100
enum SubMenus { ALSA=0, OSS };
102
void setDefaultListing(const Solid::DeviceInterface::Type &);
105
void createSubItems(const SubMenus &);
107
SolDevice *alsaSubItem;
108
SolDevice *ossSubItem;
111
class SolButtonDevice : public SolDevice
115
SolButtonDevice(const Solid::DeviceInterface::Type &);
116
SolButtonDevice(QTreeWidgetItem *, const Solid::Device &);
117
QVListLayout *infoPanelLayout();
120
void setDefaultDeviceIcon();
121
void setDefaultListing(const Solid::DeviceInterface::Type &);
124
class SolMediaPlayerDevice : public SolDevice
128
SolMediaPlayerDevice(const Solid::DeviceInterface::Type &);
129
SolMediaPlayerDevice(QTreeWidgetItem *, const Solid::Device &);
130
QVListLayout *infoPanelLayout();
133
void setDefaultListing(const Solid::DeviceInterface::Type &);
136
class SolCameraDevice : public SolDevice
140
SolCameraDevice(const Solid::DeviceInterface::Type &);
141
SolCameraDevice(QTreeWidgetItem *, const Solid::Device &);
142
QVListLayout *infoPanelLayout();
145
void setDefaultListing(const Solid::DeviceInterface::Type &);
148
class SolBatteryDevice : public SolDevice
152
SolBatteryDevice(const Solid::DeviceInterface::Type &);
153
SolBatteryDevice(QTreeWidgetItem *, const Solid::Device &);
154
QVListLayout *infoPanelLayout();
157
void setDefaultListing(const Solid::DeviceInterface::Type &);
160
class SolAcAdapterDevice : public SolDevice
164
SolAcAdapterDevice(const Solid::DeviceInterface::Type &);
165
SolAcAdapterDevice(QTreeWidgetItem *, const Solid::Device &);
166
QVListLayout *infoPanelLayout();
169
void setDefaultListing(const Solid::DeviceInterface::Type &);
172
class SolDvbDevice : public SolDevice
176
SolDvbDevice(const Solid::DeviceInterface::Type &);
177
SolDvbDevice(QTreeWidgetItem *, const Solid::Device &);
178
QVListLayout *infoPanelLayout();
181
void setDefaultListing(const Solid::DeviceInterface::Type &);
184
class SolSerialDevice : public SolDevice
188
SolSerialDevice(const Solid::DeviceInterface::Type &);
189
SolSerialDevice(QTreeWidgetItem *, const Solid::Device &);
190
QVListLayout *infoPanelLayout();
193
void setDefaultListing(const Solid::DeviceInterface::Type &);
196
class SolSmartCardDevice : public SolDevice
200
SolSmartCardDevice(const Solid::DeviceInterface::Type &);
201
SolSmartCardDevice(QTreeWidgetItem *, const Solid::Device &);
202
QVListLayout *infoPanelLayout();
205
void setDefaultListing(const Solid::DeviceInterface::Type &);
208
class SolVideoDevice : public SolDevice
212
SolVideoDevice(const Solid::DeviceInterface::Type &);
213
SolVideoDevice(QTreeWidgetItem *, const Solid::Device &);
214
QVListLayout *infoPanelLayout();
217
void setDefaultListing(const Solid::DeviceInterface::Type &);
221
#endif //SOLDEVICETYPES