summaryrefslogtreecommitdiffstats
path: root/ksysv/ksv_core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ksysv/ksv_core.cpp')
-rw-r--r--ksysv/ksv_core.cpp186
1 files changed, 186 insertions, 0 deletions
diff --git a/ksysv/ksv_core.cpp b/ksysv/ksv_core.cpp
new file mode 100644
index 0000000..a4e2b2c
--- /dev/null
+++ b/ksysv/ksv_core.cpp
@@ -0,0 +1,186 @@
+/***************************************************************************
+ begin : Sun Oct 3 1999
+ copyright : (C) 1997-99 by Peter Putzer
+ email : putzer@kde.org
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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; version 2. *
+ * *
+ ***************************************************************************/
+
+#include <qpushbutton.h>
+#include <qstylesheet.h>
+
+#include <kapplication.h>
+#include <kglobalsettings.h>
+#include <kcompletion.h>
+#include <klocale.h>
+#include <kglobal.h>
+
+#include "ksv_conf.h"
+#include "ksvdraglist.h"
+#include "ksv_service.h"
+#include "ksv_core.h"
+
+const int ksv::runlevelNumber = 7;
+KAboutData* ksv::about = 0L;
+
+bool ksv::getServiceDescription (const QString& path, QString& res)
+{
+ KSVService* tmp = KSVService::newService (path, KSVConfig::self()->runlevelPath());
+ res = i18n ("No description available.");
+ bool result = false;
+
+ if (tmp)
+ {
+ res = tmp->description();
+ result = true;
+ }
+
+ delete tmp;
+
+ return result;
+}
+
+QString ksv::breakWords (const QString& s, int amount)
+{
+ QString res;
+
+ int left = s.length();
+ int maximum = amount;
+ QString str = s;
+
+ while (left > maximum)
+ {
+ int pos = -1;
+ for (int i = 1; i < amount; ++i)
+ {
+ if ((pos = str.find(' ', amount - i, false)) < 0 || (pos > maximum + i))
+ continue;
+ else
+ break;
+ }
+
+ if (pos == -1) break; //handles case when no spaces
+
+ maximum = kMax (maximum, pos);
+ res += str.left(pos) + "\n";
+ left += -pos - 1;
+ str = str.right(left);
+ }
+
+ res += str;
+
+ return res;
+}
+
+const QString& ksv::copyrightSymbol ()
+{
+ static QString c = QString::fromUtf8 ("©");
+
+ return c;
+}
+
+QStyleSheet* ksv::styleSheet ()
+{
+ static QStyleSheet style;
+ static bool initialized = false;
+
+ if (!initialized)
+ {
+ QStyleSheetItem* item = new QStyleSheetItem (&style, "vip"); // very important
+ item->setLogicalFontSize (5);
+ item->setFontWeight (QFont::Bold);
+ item->setDisplayMode (QStyleSheetItem::DisplayBlock);
+
+ item = new QStyleSheetItem (&style, "rl"); // runlevel
+ item->setLogicalFontSize (4);
+ item->setFontWeight (QFont::Bold);
+// item->setDisplayMode (QStyleSheetItem::DisplayBlock);
+
+ item = new QStyleSheetItem (&style, "start"); // start section
+ item->setColor (Qt::green);
+// item->setContexts ("rl");
+
+ item = new QStyleSheetItem (&style, "stop"); // stop section
+ item->setColor (Qt::red);
+// item->setContexts ("rl");
+
+ item = new QStyleSheetItem (&style, "error"); // signal an error
+ item->setColor (Qt::red);
+ item->setLogicalFontSizeStep (1);
+
+ item = new QStyleSheetItem (&style, "cmd"); // command line
+ item->setFontFamily (KGlobalSettings::fixedFont().family());
+ }
+
+ return &style;
+}
+
+KCompletion* ksv::serviceCompletion ()
+{
+ static KCompletion comp;
+
+ return &comp;
+}
+
+KCompletion* ksv::numberCompletion ()
+{
+ static KCompletion comp;
+ static bool initialized = false;
+
+ if (!initialized)
+ {
+ for (int value = 0; value < 100; value += 10)
+ {
+ QString result = QString::number (value);
+
+ if (value < 10)
+ result.sprintf("%.2i", value);
+
+ comp.addItem (result);
+ }
+ }
+
+ return &comp;
+}
+
+const QString& ksv::logFileFilter ()
+{
+ static QString filter = "*" + ksv::logFileExtension() + "|" +
+ QString(kapp->caption() + i18n(" log files") + " (*" + ksv::logFileExtension() + ")");
+
+ return filter;
+}
+
+const QString& ksv::nativeFileFilter ()
+{
+ static QString filter = "*" + ksv::nativeFileExtension() + "|"
+ + i18n("Saved Init Configurations") + " (*" + ksv::nativeFileExtension() + ")";
+
+ return filter;
+}
+
+const QString& ksv::logFileExtension ()
+{
+ static QString ext = ".ksysv_log";
+
+ return ext;
+}
+
+const QString& ksv::nativeFileExtension ()
+{
+ static QString ext = ".ksysv";
+
+ return ext;
+}
+
+const char* ksv::notifications[] =
+{
+ "Show Runlevels ReadOnly",
+ "Show Could Not Generate Sorting Number"
+};