summaryrefslogtreecommitdiffstats
path: root/kppp/logview/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kppp/logview/main.cpp')
-rw-r--r--kppp/logview/main.cpp127
1 files changed, 127 insertions, 0 deletions
diff --git a/kppp/logview/main.cpp b/kppp/logview/main.cpp
new file mode 100644
index 00000000..4e54236c
--- /dev/null
+++ b/kppp/logview/main.cpp
@@ -0,0 +1,127 @@
+/*
+ * kPPPlogview: a accounting log system for kPPP
+ *
+ * Copyright (C) 1998 Mario Weilguni <mweilguni@kde.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the Free
+ * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <kapplication.h>
+#include "log.h"
+#include "monthly.h"
+#include "main.h"
+#include <klocale.h>
+#include <kcmdlineargs.h>
+#include <kaboutdata.h>
+#include <kpushbutton.h>
+#include <kstdguiitem.h>
+#include <kiconloader.h>
+
+#define F_EXIT 101
+
+
+static const char description[] =
+ I18N_NOOP("KPPP log viewer");
+
+static const char version[] = "v0.0.2";
+
+static KCmdLineOptions option[] =
+{
+ { "kppp", I18N_NOOP("Run in KPPP mode"), 0 },
+ KCmdLineLastOption
+};
+
+
+TopWidget::TopWidget() : KMainWindow(0, "") {
+ // Check command line args for "-kppp"
+
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+ bool kpppmode = args->isSet("kppp");
+ args->clear();
+
+ setCaption(i18n("KPPP Log Viewer"));
+
+ w = new QWidget(this);
+
+ QBoxLayout *l = new QVBoxLayout(w, 5);
+
+ td = new QTabWidget(w, "");
+ mw = new MonthlyWidget(td);
+ td->addTab(mw, i18n("Monthly Log"));
+ l->addWidget(td);
+
+ // remove buttons
+ if(!kpppmode) {
+ // create menu
+ mb = new KMenuBar(this);
+ QPopupMenu *fm = new QPopupMenu;
+ fm->insertItem(SmallIcon("exit"),KStdGuiItem::quit().text(), F_EXIT);
+ mb->insertItem(i18n("&File"), fm);
+
+ mb->setAccel(CTRL + Key_Q, F_EXIT);
+ connect(mb, SIGNAL(activated(int)),
+ this, SLOT(menuCallback(int)));
+ } else {
+ mb = 0;
+ QPushButton *but = new KPushButton(KStdGuiItem::close(),w);
+ QHBoxLayout *lh = new QHBoxLayout(l);
+ lh->addStretch(10);
+ lh->addWidget(but);
+
+ connect(but, SIGNAL(clicked()),
+ kapp, SLOT(quit()));
+ }
+
+ setMinimumSize(mw->sizeHint().width() + 15,
+ mw->sizeHint().height() + 120);
+ setCentralWidget(w);
+}
+
+TopWidget::~TopWidget() {
+}
+
+void TopWidget::menuCallback(int id) {
+ switch(id) {
+ case F_EXIT:
+ exit(0);
+ break;
+ }
+}
+
+int main(int argc, char **argv) {
+ KAboutData aboutData("kppplogview", I18N_NOOP("KPPP Log Viewer"),
+ version, description, KAboutData::License_GPL,
+ I18N_NOOP("(c) 1999-2002, The KPPP Developers"));
+ aboutData.addAuthor("Bernd Wuebben",0, "wuebben@kde.org");
+ aboutData.addAuthor("Mario Weilguni",0, "");
+ aboutData.addAuthor("Harri Porten",0, "porten@kde.org");
+ KCmdLineArgs::init(argc, argv, &aboutData);
+
+ KCmdLineArgs::addCmdLineOptions( option );
+
+ KApplication a;
+
+ loadLogs();
+
+ TopWidget *w = new TopWidget;
+ w->show();
+ a.setMainWidget(w);
+
+ return a.exec();
+}
+
+#include "main.moc"