diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..ce262cd
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,9 @@
+[submodule "task"]
+ path = task
+ url = git@github.com:arcan1s/qtadds-taskadds-qprocess.git
+[submodule "language"]
+ path = language
+ url = git@github.com:arcan1s/qtadds-language.git
+[submodule "pdebug"]
+ path = pdebug
+ url = git@github.com:arcan1s/qtadds-pdebug.git
diff --git a/COPYING b/COPYING
deleted file mode 100644
index 6600f1c..0000000
--- a/COPYING
+++ /dev/null
@@ -1,165 +0,0 @@
-GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
diff --git a/README.md b/README.md
index dfa3003..211f58e 100644
--- a/README.md
+++ b/README.md
@@ -9,3 +9,5 @@ Description
* `language` - class which can be used to define application language using command line options, configuration file or system locale
* `pdebug` - inline which returns `[CLASS::Method]`
+* `task` - QProcess adds for mhogomchungu/tasks
+
diff --git a/language b/language
new file mode 160000
index 0000000..335e735
--- /dev/null
+++ b/language
@@ -0,0 +1 @@
+Subproject commit 335e73572e2ccf1122043a6399cbb4df3d21418c
diff --git a/language/config.h b/language/config.h
deleted file mode 100644
index 9bc2d9f..0000000
--- a/language/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef LANGUAGE_CONFIG_H
-#define LANGUAGE_CONFIG_H
-
-
-// put your languages here comma separated
-// the first language is default language
-#define LANGUAGES "en"
-// language key in the configuration file
-#define LANGUAGE_KEY "LANGUAGE"
-
-
-#endif /* LANGUAGE_CONFIG_H */
diff --git a/language/language.cpp b/language/language.cpp
deleted file mode 100644
index c42eb67..0000000
--- a/language/language.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2014 Evgeniy Alekseev *
- * *
- * This library is free software; you can redistribute it and/or *
- * modify it under the terms of the GNU Lesser General Public *
- * License as published by the Free Software Foundation; either *
- * version 3.0 of the License, or (at your option) any later version. *
- * *
- * This library 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 *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this library. *
- ***************************************************************************/
-
-
-#include "language.h"
-
-#include
-#include
-
-#include "config.h"
-
-
-Language::Language()
-{
-}
-
-
-QString Language::checkLanguage(const QString language)
-{
- QStringList availableLanguages = getAvailableLanguages();
- if (availableLanguages.count() == 0) return QString();
- for (int i=0; i optionsDict = parseOptions(options);
- if (optionsDict.contains(QString(LANGUAGE_KEY)))
- if (getAvailableLanguages().contains(optionsDict[QString(LANGUAGE_KEY)]))
- return optionsDict[QString(LANGUAGE_KEY)];
-
- QString language;
- language = defineLanguageFromFile(configPath);
- if (language.isEmpty())
- language = defineLanguageFromLocale();
- language = checkLanguage(language);
-
- return language;
-}
-
-
-QString Language::defineLanguageFromFile(const QString configPath)
-{
- QMap settings;
- if (configPath.isEmpty())
- return QString("");
- QFile configFile(configPath);
- QString fileStr;
- if (!configFile.open(QIODevice::ReadOnly))
- return QString("");
- while (true) {
- fileStr = QString(configFile.readLine()).trimmed();
- if ((fileStr.isEmpty()) && (!configFile.atEnd())) continue;
- if ((fileStr[0] == QChar('#')) && (!configFile.atEnd())) continue;
- if ((fileStr[0] == QChar(';')) && (!configFile.atEnd())) continue;
- if (fileStr.contains(QChar('=')))
- settings[fileStr.split(QChar('='))[0]] = fileStr.split(QChar('='))[1];
- if (configFile.atEnd()) break;
- }
- configFile.close();
-
- if (settings.contains(QString(LANGUAGE_KEY)))
- return settings[QString(LANGUAGE_KEY)];
- else
- return QString("");
-}
-
-
-QString Language::defineLanguageFromLocale()
-{
- return QLocale::system().name();
-}
-
-
-QStringList Language::getAvailableLanguages()
-{
- return QString(LANGUAGES).split(QChar(','));
-}
-
-
-QMap Language::parseOptions(const QString options)
-{
- QMap optionsDict;
- for (int i=0; i
-
-
-class Language : public QObject
-{
- Q_OBJECT
-
-public:
- explicit Language();
- static QString checkLanguage(const QString language);
- static QString defineLanguage(const QString configPath,
- const QString options = QString("OPTIONS"));
- static QString defineLanguageFromFile(const QString configPath);
- static QString defineLanguageFromLocale();
- static QStringList getAvailableLanguages();
-
-private:
- static QMap parseOptions(const QString options);
-};
-
-
-#endif /* LANGUAGE_H */
diff --git a/pdebug b/pdebug
new file mode 160000
index 0000000..294a590
--- /dev/null
+++ b/pdebug
@@ -0,0 +1 @@
+Subproject commit 294a590bb966fd79eb2e93a7b02377ca57731cd5
diff --git a/pdebug/pdebug.h b/pdebug/pdebug.h
deleted file mode 100644
index 5808102..0000000
--- a/pdebug/pdebug.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2014 Evgeniy Alekseev *
- * *
- * This library is free software; you can redistribute it and/or *
- * modify it under the terms of the GNU Lesser General Public *
- * License as published by the Free Software Foundation; either *
- * version 3.0 of the License, or (at your option) any later version. *
- * *
- * This library 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 *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this library. *
- ***************************************************************************/
-
-
-#ifndef PRETTY_DEBUG_H
-#define PRETTY_DEBUG_H
-
-
-inline const char *pDebug(const std::string prettyFunction)
-{
- return prettyFunction.c_str();
-}
-
-
-inline std::string pFuncInfo(const std::string prettyFunction)
-{
- size_t colons = prettyFunction.find("::");
- // workaround for functions which are not belong to any class
- if (colons == std::string::npos)
- colons = prettyFunction.rfind("(");
- size_t begin = prettyFunction.substr(0, colons).rfind(" ") + 1;
- size_t end = prettyFunction.rfind("(") - begin;
-
- return "[" + prettyFunction.substr(begin, end) + "]";
-}
-
-
-#define PDEBUG pDebug(pFuncInfo(__PRETTY_FUNCTION__))
-
-
-#endif /* PRETTY_DEBUG_H */
diff --git a/task b/task
new file mode 160000
index 0000000..51334a6
--- /dev/null
+++ b/task
@@ -0,0 +1 @@
+Subproject commit 51334a6d40d42ed6a8c7bcfaf4f26a784e42746d