summaryrefslogtreecommitdiffstats
path: root/kcontrol/samba/kcmsambastatistics.h
diff options
context:
space:
mode:
Diffstat (limited to 'kcontrol/samba/kcmsambastatistics.h')
-rw-r--r--kcontrol/samba/kcmsambastatistics.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/kcontrol/samba/kcmsambastatistics.h b/kcontrol/samba/kcmsambastatistics.h
new file mode 100644
index 000000000..66a9474ab
--- /dev/null
+++ b/kcontrol/samba/kcmsambastatistics.h
@@ -0,0 +1,106 @@
+/*
+ * kcmsambastatistics.h
+ *
+ * Copyright (c) 2000 Alexander Neundorf <alexander.neundorf@rz.tu-ilmenau.de>
+ *
+ * Requires the Qt widget libraries, available at no cost at
+ * http://www.troll.no/
+ *
+ * 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 kcmsambastatistics_h_included
+#define kcmsambastatistics_h_included
+
+#include <qwidget.h>
+#include <qptrlist.h>
+
+class QListView;
+class QLabel;
+class QComboBox;
+class QCheckBox;
+class QLineEdit;
+class QPushButton;
+
+class KConfig;
+
+class SmallLogItem
+{
+ public:
+ SmallLogItem():name(""),count(0){};
+ SmallLogItem(QString n):name(n),count(1){};
+ QString name;
+ int count;
+};
+
+class LogItem
+{
+ public:
+ LogItem():name(""), accessed(),count(0) {};
+ LogItem(QString n, QString a):name(n), accessed(), count(1)
+ {
+ accessed.setAutoDelete(TRUE);
+ accessed.append(new SmallLogItem(a));
+ };
+ QString name;
+ //QStrList accessedBy;
+ QPtrList<SmallLogItem> accessed;
+ int count;
+ SmallLogItem* itemInList(QString name);
+ void addItem (QString host);
+};
+
+class SambaLog
+{
+ public:
+ SambaLog()
+ {
+ items.setAutoDelete(TRUE);
+ };
+ QPtrList<LogItem> items;
+ void addItem (QString share, QString host);
+ void printItems();
+ private:
+ LogItem* itemInList(QString name);
+};
+
+class StatisticsView: public QWidget
+{
+ Q_OBJECT
+public:
+ StatisticsView(QWidget *parent=0, KConfig *config=0, const char *name=0);
+ virtual ~StatisticsView() {};
+ void saveSettings() {};
+ void loadSettings() {};
+ public slots:
+ void setListInfo(QListView *list, int nrOfFiles, int nrOfConnections);
+private:
+ KConfig *configFile;
+ QListView *dataList;
+ QListView* viewStatistics;
+ QLabel* connectionsL, *filesL;
+ QComboBox* eventCb;
+ QLabel* eventL;
+ QLineEdit* serviceLe;
+ QLabel* serviceL;
+ QLineEdit* hostLe;
+ QLabel* hostL;
+ QPushButton* calcButton, *clearButton;
+ QCheckBox* expandedInfoCb, *expandedUserCb;
+ int connectionsCount, filesCount, calcCount;
+private slots:
+ void clearStatistics();
+ void calculate();
+};
+#endif // main_included