/*************************************************************************** * Copyright (C) 2005 by Pawel Nawrocki * * pnawrocki@interia.pl * * * * 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. * ***************************************************************************/ #ifndef WA_NETLISTVIEWITEM_H #define WA_NETLISTVIEWITEM_H #include #include #include #include class NetListViewItem : public KListViewItem { public: //NetListViewItem(KListView *parent) : KListViewItem(parent) {} //NetListViewItem(KListView *parent, KListViewItem *after) : KListViewItem(parent, after) {} //NetListViewItem(KListView *parent, KListViewItem *after, QString essid, QString mode) : KListViewItem(parent, after, essid, mode) {} NetListViewItem(KListView *parent, QString essid, QString chan, int quality, bool enc, QString ap, bool hidden, bool connected = 0 ) : KListViewItem(parent, QString::null, QString::null, QString::null, QString::null, QString::null) { mEssid = essid; mChannel = chan; //mMode = mode; mQuality = quality; mEnc = enc; mAP = ap; mHidden = hidden; mConnected = connected; mHeight = height(); mWpaSettings = QStringList(); } ~NetListViewItem() {} void setEssid(const QString& theValue) { mEssid = theValue; setText(mEssidColumn, mEssid); //update(); } QString essid() const { return mEssid; } void setChannel(const QString& theValue) { if ( mChannel != theValue ) { //repaint only if difference visible in quality stars mChannel = theValue; repaint(); } } QString channel() const { return mChannel; } /*QString mode() const { return mMode; }*/ bool enc() const { return mEnc; } QString ap() const { return mAP; } void setAp(const QString& ap) { mAP = ap; setText(mAPColumn, mAP); } bool hidden() const { return mHidden; } void setConnected(bool theValue) { mConnected = theValue; if (mConnected) mHeight+=10; else { mHeight-=10; } setHeight( mHeight ); repaint(); } bool isConnected() const { return mConnected; } void setQuality(const int& theValue) { if ( int(mQuality/8) != int(theValue/8) ) { //repaint only if difference visible in quality stars mQuality = theValue; repaint(); } else mQuality = theValue; } int quality() const { return mQuality; } void setWpaSettings(const QStringList& theValue) { mWpaSettings = theValue; } QStringList wpaSettings() const { return mWpaSettings; } private: virtual void paintCell (QPainter *p, const QColorGroup &cg, int column, int width, int alignment); virtual int width(const QFontMetrics &fm, const QListView *lv, int column) const; virtual QString key( int column, bool ascending ) const; QString mEssid; QString mChannel; //QString mMode; int mQuality; bool mEnc; QString mAP; bool mHidden; bool mConnected; int mHeight; QStringList mWpaSettings; static const int mEssidColumn = 0; static const int mChanColumn = 1; static const int mQualityColumn = 2; static const int mEncColumn = 3; static const int mAPColumn = 4; }; #endif // WA_NETLISTVIEWITEM_H