diff --git a/README.html b/README.html index 103fc12..9d97ca0 100644 --- a/README.html +++ b/README.html @@ -86,7 +86,7 @@ int main(int argc, char **argv)

5 License

This library is free software. It is released under the terms of the GNU Lesser General Public License (LGPL), Version 2.1.

MUtilities - MuldeR's Utilities for Qt
-Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>. Some rights reserved.
+Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>. Some rights reserved.
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
diff --git a/README.md b/README.md
index 4a19f16..f263405 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,7 @@ A fully-fledged documentation of the *MUtilities* programming interface (API) is
 This library is free software. It is released under the terms of the [*GNU Lesser General Public License (LGPL), Version 2.1*](https://www.gnu.org/licenses/lgpl-2.1.html).
 
     MUtilities - MuldeR's Utilities for Qt
-    Copyright (C) 2004-2017 LoRd_MuldeR . Some rights reserved.
+    Copyright (C) 2004-2018 LoRd_MuldeR . Some rights reserved.
     
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
diff --git a/docs/d0/d8a/class_m_utils_1_1_update_checker.html b/docs/d0/d8a/class_m_utils_1_1_update_checker.html
index 138f765..ba1bae0 100644
--- a/docs/d0/d8a/class_m_utils_1_1_update_checker.html
+++ b/docs/d0/d8a/class_m_utils_1_1_update_checker.html
@@ -159,9 +159,9 @@ void run (void)
 void checkForUpdates (void)
  
-
-void testKnownHosts (void)
- 
+
+void testMirrorsList (void)
+ 
 
 
The documentation for this class was generated from the following file:
  • include/MUtils/UpdateChecker.h
  • diff --git a/docs/d0/dd7/_version_8h_source.html b/docs/d0/dd7/_version_8h_source.html index d4949c7..3cd9d9b 100644 --- a/docs/d0/dd7/_version_8h_source.html +++ b/docs/d0/dd7/_version_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Version.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QString>
    29 #include <QDate>
    30 #include <QTime>
    31 
    32 namespace MUtils
    33 {
    34  class Version
    35  {
    36  public:
    37  //Get Library Version Numbers
    38  MUTILS_API static const quint32 &lib_version_major(void);
    39  MUTILS_API static const quint32 &lib_version_minor(void);
    40 
    41  //Get Library Build Date/Time
    42  MUTILS_API static const QDate lib_build_date(void);
    43  MUTILS_API static const QTime lib_build_time(void);
    44 
    45  //Get Application Build Date/Time
    46  MUTILS_API static const QDate app_build_date(const char *const date_str = build_date_raw());
    47  MUTILS_API static const QTime app_build_time(const char *const time_str = build_time_raw());
    48 
    49  //Compiler detection
    50  static const char *const compiler_version(void)
    51  {
    52  static const char *const COMPILER_VERS =
    53  #if defined(__INTEL_COMPILER)
    54  #if (__INTEL_COMPILER >= 1500)
    55  "ICL 15." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE);
    56  #elif (__INTEL_COMPILER >= 1400)
    57  "ICL 14." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE);
    58  #elif (__INTEL_COMPILER >= 1300)
    59  "ICL 13." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE);
    60  #elif (__INTEL_COMPILER >= 1200)
    61  "ICL 12." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE);
    62  #elif (__INTEL_COMPILER >= 1100)
    63  "ICL 11.x";
    64  #elif (__INTEL_COMPILER >= 1000)
    65  "ICL 10.x";
    66  #else
    67  #error Compiler is not supported!
    68  #endif
    69  #elif defined(_MSC_VER)
    70  #if (_MSC_VER == 1911)
    71  #if((_MSC_FULL_VER >= 191125542) && (_MSC_FULL_VER <= 191125547))
    72  "MSVC 2017.4";
    73  #elif((_MSC_FULL_VER >= 191125506) && (_MSC_FULL_VER <= 191125508))
    74  "MSVC 2017.3";
    75  #else
    76  #error Compiler version is not supported yet!
    77  #endif
    78  #elif (_MSC_VER == 1910)
    79  #if ((_MSC_FULL_VER >= 191025017) && (_MSC_FULL_VER <= 191025019))
    80  "MSVC 2017.2";
    81  #else
    82  #error Compiler version is not supported yet!
    83  #endif
    84  #elif (_MSC_VER == 1900)
    85  #if (_MSC_FULL_VER == 190023026)
    86  "MSVC 2015";
    87  #elif (_MSC_FULL_VER == 190023506)
    88  "MSVC 2015.1";
    89  #elif (_MSC_FULL_VER == 190023918)
    90  "MSVC 2015.2";
    91  #elif (_MSC_FULL_VER == 190024210) || (_MSC_FULL_VER == 190024215)
    92  "MSVC 2015.3";
    93  #else
    94  #error Compiler version is not supported yet!
    95  #endif
    96  #elif (_MSC_VER == 1800)
    97  #if (_MSC_FULL_VER == 180021005)
    98  "MSVC 2013";
    99  #elif (_MSC_FULL_VER == 180030501)
    100  "MSVC 2013.2";
    101  #elif (_MSC_FULL_VER == 180030723)
    102  "MSVC 2013.3";
    103  #elif (_MSC_FULL_VER == 180031101)
    104  "MSVC 2013.4";
    105  #elif (_MSC_FULL_VER == 180040629)
    106  "MSVC 2013.5";
    107  #else
    108  #error Compiler version is not supported yet!
    109  #endif
    110  #elif (_MSC_VER == 1700)
    111  #if (_MSC_FULL_VER == 170050727)
    112  "MSVC 2012";
    113  #elif (_MSC_FULL_VER == 170051106)
    114  "MSVC 2012.1";
    115  #elif (_MSC_FULL_VER == 170060315)
    116  "MSVC 2012.2";
    117  #elif (_MSC_FULL_VER == 170060610)
    118  "MSVC 2012.3";
    119  #elif (_MSC_FULL_VER == 170061030)
    120  "MSVC 2012.4";
    121  #else
    122  #error Compiler version is not supported yet!
    123  #endif
    124  #elif (_MSC_VER == 1600)
    125  #if (_MSC_FULL_VER >= 160040219)
    126  "MSVC 2010-SP1";
    127  #else
    128  "MSVC 2010";
    129  #endif
    130  #elif (_MSC_VER == 1500)
    131  #if (_MSC_FULL_VER >= 150030729)
    132  "MSVC 2008-SP1";
    133  #else
    134  "MSVC 2008";
    135  #endif
    136  #else
    137  #error Compiler is not supported!
    138  #endif
    139  #else
    140  #error Compiler is not supported!
    141  #endif
    142  return COMPILER_VERS;
    143  }
    144 
    145  //Architecture detection
    146  static const char *const compiler_arch(void)
    147  {
    148  static const char *const COMPILER_ARCH =
    149  #if defined(_M_X64)
    150  "x64";
    151  #elif defined(_M_IX86)
    152  "x86";
    153  #else
    154  #error Architecture is not supported!
    155  #endif
    156  return COMPILER_ARCH;
    157  }
    158 
    159  private:
    160  //Raw Build date
    161  static const char *const build_date_raw(void)
    162  {
    163  static const char *const RAW_BUILD_DATE = __DATE__;
    164  return RAW_BUILD_DATE;
    165  }
    166 
    167  //Raw Build time
    168  static const char *const build_time_raw(void)
    169  {
    170  static const char *const RAW_BUILD_TIME = __TIME__;
    171  return RAW_BUILD_TIME;
    172  }
    173 
    174  //Disable construction
    175  Version(void) { throw 666; }
    176  Version(const Version&) { throw 666; }
    177  };
    178 }
    179 
    Definition: Version.h:34
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QString>
    29 #include <QDate>
    30 #include <QTime>
    31 
    32 namespace MUtils
    33 {
    34  class Version
    35  {
    36  public:
    37  //Get Library Version Numbers
    38  MUTILS_API static const quint32 &lib_version_major(void);
    39  MUTILS_API static const quint32 &lib_version_minor(void);
    40 
    41  //Get Library Build Date/Time
    42  MUTILS_API static const QDate lib_build_date(void);
    43  MUTILS_API static const QTime lib_build_time(void);
    44 
    45  //Get Application Build Date/Time
    46  MUTILS_API static const QDate app_build_date(const char *const date_str = build_date_raw());
    47  MUTILS_API static const QTime app_build_time(const char *const time_str = build_time_raw());
    48 
    49  //Compiler detection
    50  static const char *const compiler_version(void)
    51  {
    52  static const char *const COMPILER_VERS =
    53  #if defined(__INTEL_COMPILER)
    54  #if (__INTEL_COMPILER >= 1500)
    55  "ICL 15." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE);
    56  #elif (__INTEL_COMPILER >= 1400)
    57  "ICL 14." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE);
    58  #elif (__INTEL_COMPILER >= 1300)
    59  "ICL 13." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE);
    60  #elif (__INTEL_COMPILER >= 1200)
    61  "ICL 12." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE);
    62  #elif (__INTEL_COMPILER >= 1100)
    63  "ICL 11.x";
    64  #elif (__INTEL_COMPILER >= 1000)
    65  "ICL 10.x";
    66  #else
    67  #error Compiler is not supported!
    68  #endif
    69  #elif defined(_MSC_VER)
    70  #if (_MSC_VER == 1912)
    71  #if((_MSC_FULL_VER >= 191225830) && (_MSC_FULL_VER <= 191225834))
    72  "MSVC 2017.5";
    73  #else
    74  #error Compiler version is not supported yet!
    75  #endif
    76  #elif (_MSC_VER == 1911)
    77  #if((_MSC_FULL_VER >= 191125542) && (_MSC_FULL_VER <= 191125547))
    78  "MSVC 2017.4";
    79  #elif((_MSC_FULL_VER >= 191125506) && (_MSC_FULL_VER <= 191125508))
    80  "MSVC 2017.3";
    81  #else
    82  #error Compiler version is not supported yet!
    83  #endif
    84  #elif (_MSC_VER == 1910)
    85  #if ((_MSC_FULL_VER >= 191025017) && (_MSC_FULL_VER <= 191025019))
    86  "MSVC 2017.2";
    87  #else
    88  #error Compiler version is not supported yet!
    89  #endif
    90  #elif (_MSC_VER == 1900)
    91  #if (_MSC_FULL_VER == 190023026)
    92  "MSVC 2015";
    93  #elif (_MSC_FULL_VER == 190023506)
    94  "MSVC 2015.1";
    95  #elif (_MSC_FULL_VER == 190023918)
    96  "MSVC 2015.2";
    97  #elif (_MSC_FULL_VER == 190024210) || (_MSC_FULL_VER == 190024215)
    98  "MSVC 2015.3";
    99  #else
    100  #error Compiler version is not supported yet!
    101  #endif
    102  #elif (_MSC_VER == 1800)
    103  #if (_MSC_FULL_VER == 180021005)
    104  "MSVC 2013";
    105  #elif (_MSC_FULL_VER == 180030501)
    106  "MSVC 2013.2";
    107  #elif (_MSC_FULL_VER == 180030723)
    108  "MSVC 2013.3";
    109  #elif (_MSC_FULL_VER == 180031101)
    110  "MSVC 2013.4";
    111  #elif (_MSC_FULL_VER == 180040629)
    112  "MSVC 2013.5";
    113  #else
    114  #error Compiler version is not supported yet!
    115  #endif
    116  #elif (_MSC_VER == 1700)
    117  #if (_MSC_FULL_VER == 170050727)
    118  "MSVC 2012";
    119  #elif (_MSC_FULL_VER == 170051106)
    120  "MSVC 2012.1";
    121  #elif (_MSC_FULL_VER == 170060315)
    122  "MSVC 2012.2";
    123  #elif (_MSC_FULL_VER == 170060610)
    124  "MSVC 2012.3";
    125  #elif (_MSC_FULL_VER == 170061030)
    126  "MSVC 2012.4";
    127  #else
    128  #error Compiler version is not supported yet!
    129  #endif
    130  #elif (_MSC_VER == 1600)
    131  #if (_MSC_FULL_VER >= 160040219)
    132  "MSVC 2010-SP1";
    133  #else
    134  "MSVC 2010";
    135  #endif
    136  #elif (_MSC_VER == 1500)
    137  #if (_MSC_FULL_VER >= 150030729)
    138  "MSVC 2008-SP1";
    139  #else
    140  "MSVC 2008";
    141  #endif
    142  #else
    143  #error Compiler is not supported!
    144  #endif
    145  #else
    146  #error Compiler is not supported!
    147  #endif
    148  return COMPILER_VERS;
    149  }
    150 
    151  //Architecture detection
    152  static const char *const compiler_arch(void)
    153  {
    154  static const char *const COMPILER_ARCH =
    155  #if defined(_M_X64)
    156  "x64";
    157  #elif defined(_M_IX86)
    158  "x86";
    159  #else
    160  #error Architecture is not supported!
    161  #endif
    162  return COMPILER_ARCH;
    163  }
    164 
    165  private:
    166  //Raw Build date
    167  static const char *const build_date_raw(void)
    168  {
    169  static const char *const RAW_BUILD_DATE = __DATE__;
    170  return RAW_BUILD_DATE;
    171  }
    172 
    173  //Raw Build time
    174  static const char *const build_time_raw(void)
    175  {
    176  static const char *const RAW_BUILD_TIME = __TIME__;
    177  return RAW_BUILD_TIME;
    178  }
    179 
    180  //Disable construction
    181  Version(void) { throw 666; }
    182  Version(const Version&) { throw 666; }
    183  };
    184 }
    185 
    Definition: Version.h:34
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d1/d0a/_taskbar7_8h_source.html b/docs/d1/d0a/_taskbar7_8h_source.html index c9c59ed..551b833 100644 --- a/docs/d1/d0a/_taskbar7_8h_source.html +++ b/docs/d1/d0a/_taskbar7_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Taskbar7.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 #include <MUtils/Global.h>
    25 
    26 class QWidget;
    27 class QIcon;
    28 
    29 namespace MUtils
    30 {
    31  class MUTILS_API Taskbar7_Private;
    32 
    33  class MUTILS_API Taskbar7
    34  {
    35  public:
    36  //Taskbar states
    37  typedef enum
    38  {
    39  TASKBAR_STATE_NONE = 0,
    40  TASKBAR_STATE_NORMAL = 1,
    41  TASKBAR_STATE_INTERMEDIATE = 2,
    42  TASKBAR_STATE_PAUSED = 3,
    43  TASKBAR_STATE_ERROR = 4
    44  }
    45  taskbarState_t;
    46 
    47  //Constructor
    48  Taskbar7(QWidget *const window);
    49  ~Taskbar7(void);
    50 
    51  //Public interface
    52  bool setTaskbarState(const taskbarState_t &state);
    53  bool setTaskbarProgress(const quint64 &currentValue, const quint64 &maximumValue);
    54  bool setOverlayIcon(const QIcon *const icon, const QString &info = QString());
    55 
    56  private:
    57  Taskbar7_Private *const p;
    58  QWidget *const m_window;
    59 
    60  inline bool initialize(void);
    61  };
    62 }
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 #include <MUtils/Global.h>
    25 
    26 class QWidget;
    27 class QIcon;
    28 
    29 namespace MUtils
    30 {
    31  class MUTILS_API Taskbar7_Private;
    32 
    33  class MUTILS_API Taskbar7
    34  {
    35  public:
    36  //Taskbar states
    37  typedef enum
    38  {
    39  TASKBAR_STATE_NONE = 0,
    40  TASKBAR_STATE_NORMAL = 1,
    41  TASKBAR_STATE_INTERMEDIATE = 2,
    42  TASKBAR_STATE_PAUSED = 3,
    43  TASKBAR_STATE_ERROR = 4
    44  }
    45  taskbarState_t;
    46 
    47  //Constructor
    48  Taskbar7(QWidget *const window);
    49  ~Taskbar7(void);
    50 
    51  //Public interface
    52  bool setTaskbarState(const taskbarState_t &state);
    53  bool setTaskbarProgress(const quint64 &currentValue, const quint64 &maximumValue);
    54  bool setOverlayIcon(const QIcon *const icon, const QString &info = QString());
    55 
    56  private:
    57  Taskbar7_Private *const p;
    58  QWidget *const m_window;
    59 
    60  inline bool initialize(void);
    61  };
    62 }
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Definition: Taskbar7.h:33
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d1/d93/_i_p_c_channel_8h_source.html b/docs/d1/d93/_i_p_c_channel_8h_source.html index 0c80cd8..ece989d 100644 --- a/docs/d1/d93/_i_p_c_channel_8h_source.html +++ b/docs/d1/d93/_i_p_c_channel_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    IPCChannel.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QtGlobal>
    29 #include <QStringList>
    30 
    31 namespace MUtils
    32 {
    33  class MUTILS_API IPCChannel_Private;
    34 
    35  class MUTILS_API IPCChannel
    36  {
    37  public:
    38  static const quint32 MAX_PARAM_LEN = 4096;
    39  static const quint32 MAX_PARAM_CNT = 4;
    40 
    41  typedef enum
    42  {
    43  RET_SUCCESS_MASTER = 0,
    44  RET_SUCCESS_SLAVE = 1,
    45  RET_ALREADY_INITIALIZED = 2,
    46  RET_FAILURE = 3
    47  }
    48  ipc_result_t;
    49 
    50  IPCChannel(const QString &applicationId, const quint32 &versionNo, const QString &channelId);
    51  ~IPCChannel(void);
    52 
    53  int initialize(void);
    54 
    55  bool send(const quint32 &command, const quint32 &flags, const QStringList &params = QStringList());
    56  bool read(quint32 &command, quint32 &flags, QStringList &params);
    57 
    58  private:
    59  IPCChannel(const IPCChannel&) : p(NULL), m_appVersionNo(-1) { throw "Constructor is disabled!"; }
    60  IPCChannel &operator=(const IPCChannel&) { throw "Assignment operator is disabled!"; return *this; }
    61 
    62  const QString m_applicationId;
    63  const QString m_channelId;
    64  const unsigned int m_appVersionNo;
    65  const QByteArray m_headerStr;
    66 
    67  IPCChannel_Private *const p;
    68  };
    69 }
    Definition: IPCChannel.h:35
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QtGlobal>
    29 #include <QStringList>
    30 
    31 namespace MUtils
    32 {
    33  class MUTILS_API IPCChannel_Private;
    34 
    35  class MUTILS_API IPCChannel
    36  {
    37  public:
    38  static const quint32 MAX_PARAM_LEN = 4096;
    39  static const quint32 MAX_PARAM_CNT = 4;
    40 
    41  typedef enum
    42  {
    43  RET_SUCCESS_MASTER = 0,
    44  RET_SUCCESS_SLAVE = 1,
    45  RET_ALREADY_INITIALIZED = 2,
    46  RET_FAILURE = 3
    47  }
    48  ipc_result_t;
    49 
    50  IPCChannel(const QString &applicationId, const quint32 &versionNo, const QString &channelId);
    51  ~IPCChannel(void);
    52 
    53  int initialize(void);
    54 
    55  bool send(const quint32 &command, const quint32 &flags, const QStringList &params = QStringList());
    56  bool read(quint32 &command, quint32 &flags, QStringList &params);
    57 
    58  private:
    59  IPCChannel(const IPCChannel&) : p(NULL), m_appVersionNo(-1) { throw "Constructor is disabled!"; }
    60  IPCChannel &operator=(const IPCChannel&) { throw "Assignment operator is disabled!"; return *this; }
    61 
    62  const QString m_applicationId;
    63  const QString m_channelId;
    64  const unsigned int m_appVersionNo;
    65  const QByteArray m_headerStr;
    66 
    67  IPCChannel_Private *const p;
    68  };
    69 }
    Definition: IPCChannel.h:35
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d2/d13/_startup_8h_source.html b/docs/d2/d13/_startup_8h_source.html index 39b5f1b..81cae40 100644 --- a/docs/d2/d13/_startup_8h_source.html +++ b/docs/d2/d13/_startup_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Startup.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Forward Declarations
    28 class QApplication;
    29 
    31 
    32 namespace MUtils
    33 {
    34  namespace Startup
    35  {
    36  //Main Function
    37  typedef int (main_function_t)(int &argc, char **argv);
    38 
    39  //Startup Application
    40  MUTILS_API int startup(int &argc, char **argv, main_function_t *const entry_point, const char* const appName, const bool &debugConsole);
    41 
    42  //Initialize Qt
    43  MUTILS_API QApplication *create_qt(int &argc, char **argv, const QString &appName, const QString &appAuthor = QLatin1String("LoRd_MuldeR"), const QString &appDomain = QLatin1String("muldersoft.com"));
    44  }
    45 }
    46 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Forward Declarations
    28 class QApplication;
    29 
    31 
    32 namespace MUtils
    33 {
    34  namespace Startup
    35  {
    36  //Main Function
    37  typedef int (main_function_t)(int &argc, char **argv);
    38 
    39  //Startup Application
    40  MUTILS_API int startup(int &argc, char **argv, main_function_t *const entry_point, const char* const appName, const bool &debugConsole);
    41 
    42  //Initialize Qt
    43  MUTILS_API QApplication *create_qt(int &argc, char **argv, const QString &appName, const QString &appAuthor = QLatin1String("LoRd_MuldeR"), const QString &appDomain = QLatin1String("muldersoft.com"));
    44  }
    45 }
    46 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d2/d7d/class_m_utils_1_1_update_checker-members.html b/docs/d2/d7d/class_m_utils_1_1_update_checker-members.html index 2a308e4..3a514e1 100644 --- a/docs/d2/d7d/class_m_utils_1_1_update_checker-members.html +++ b/docs/d2/d7d/class_m_utils_1_1_update_checker-members.html @@ -82,7 +82,7 @@ $(function() { run(void) (defined in MUtils::UpdateChecker)MUtils::UpdateCheckerprotected start(Priority=InheritPriority) (defined in MUtils::UpdateChecker)MUtils::UpdateCheckerslot statusChanged(const int status) (defined in MUtils::UpdateChecker)MUtils::UpdateCheckersignal - testKnownHosts(void) (defined in MUtils::UpdateChecker)MUtils::UpdateCheckerprotected + testMirrorsList(void) (defined in MUtils::UpdateChecker)MUtils::UpdateCheckerprotected update_status_t (defined in MUtils::UpdateChecker)MUtils::UpdateChecker UpdateChecker(const QString &binWGet, const QString &binMCat, const QString &binGnuPG, const QString &binKeys, const QString &applicationId, const quint32 &installedBuildNo, const bool betaUpdates, const bool testMode=false) (defined in MUtils::UpdateChecker)MUtils::UpdateChecker UpdateStatus_CancelledByUser enum value (defined in MUtils::UpdateChecker)MUtils::UpdateChecker diff --git a/docs/d2/dad/_hash_8h_source.html b/docs/d2/dad/_hash_8h_source.html index 624ee0d..c5aa564 100644 --- a/docs/d2/dad/_hash_8h_source.html +++ b/docs/d2/dad/_hash_8h_source.html @@ -67,13 +67,13 @@ $(function() {
    Hash.h
    -Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    29 #pragma once
    30 
    31 //MUtils
    32 #include <MUtils/Global.h>
    33 
    34 //Qt
    35 #include <QByteArray>
    36 #include <QFile>
    37 
    38 namespace MUtils
    39 {
    40  namespace Hash
    41  {
    42  static const quint16 HASH_BLAKE2_512 = 0x0000U;
    43  static const quint16 HASH_KECCAK_224 = 0x0100U;
    44  static const quint16 HASH_KECCAK_256 = 0x0101U;
    45  static const quint16 HASH_KECCAK_384 = 0x0102U;
    46  static const quint16 HASH_KECCAK_512 = 0x0103U;
    47 
    57  class MUTILS_API Hash
    58  {
    59  public:
    60  virtual ~Hash(void) {};
    61 
    73  bool update(const quint8 *const data, const quint32 len) { return process(data, len); }
    74 
    84  bool update(const QByteArray &data) { return process(((const quint8*)data.constData()), ((quint32)data.length())); }
    85 
    95  bool update(QFile &file);
    96 
    106  QByteArray digest(const bool bAsHex = true) { return bAsHex ? finalize().toHex() : finalize(); }
    107 
    108  protected:
    109  Hash(const char* key = NULL) {/*nothing to do*/};
    110  virtual bool process(const quint8 *const data, const quint32 len) = 0;
    111  virtual QByteArray finalize(void) = 0;
    112 
    113  private:
    115  };
    116 
    128  MUTILS_API Hash *create(const quint16 &hashId, const char *const key = NULL);
    129  }
    130 }
    bool update(const QByteArray &data)
    Process the next chunk of input data.
    Definition: Hash.h:84
    +Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    29 #pragma once
    30 
    31 //MUtils
    32 #include <MUtils/Global.h>
    33 
    34 //Qt
    35 #include <QByteArray>
    36 #include <QFile>
    37 
    38 namespace MUtils
    39 {
    40  namespace Hash
    41  {
    42  static const quint16 HASH_BLAKE2_512 = 0x0000U;
    43  static const quint16 HASH_KECCAK_224 = 0x0100U;
    44  static const quint16 HASH_KECCAK_256 = 0x0101U;
    45  static const quint16 HASH_KECCAK_384 = 0x0102U;
    46  static const quint16 HASH_KECCAK_512 = 0x0103U;
    47 
    57  class MUTILS_API Hash
    58  {
    59  public:
    60  virtual ~Hash(void) {};
    61 
    73  bool update(const quint8 *const data, const quint32 len) { return process(data, len); }
    74 
    84  bool update(const QByteArray &data) { return process(((const quint8*)data.constData()), ((quint32)data.length())); }
    85 
    95  bool update(QFile &file);
    96 
    106  QByteArray digest(const bool bAsHex = true) { return bAsHex ? finalize().toHex() : finalize(); }
    107 
    108  protected:
    109  Hash(const char* key = NULL) {/*nothing to do*/};
    110  virtual bool process(const quint8 *const data, const quint32 len) = 0;
    111  virtual QByteArray finalize(void) = 0;
    112 
    113  private:
    115  };
    116 
    128  MUTILS_API Hash *create(const quint16 &hashId, const char *const key = NULL);
    129  }
    130 }
    bool update(const QByteArray &data)
    Process the next chunk of input data.
    Definition: Hash.h:84
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    bool update(const quint8 *const data, const quint32 len)
    Process the next chunk of input data.
    Definition: Hash.h:73
    static const quint16 HASH_BLAKE2_512
    Hash algorithm identifier.
    Definition: Hash.h:42
    static const quint16 HASH_KECCAK_384
    Hash algorithm identifier.
    Definition: Hash.h:45
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    -
    #define MUTILS_NO_COPY(CLASS)
    Disables copy constructor and assignment operator in the specified class. This macro should be used i...
    Definition: Global.h:374
    +
    #define MUTILS_NO_COPY(CLASS)
    Disables copy constructor and assignment operator in the specified class. This macro should be used i...
    Definition: Global.h:384
    MUTILS_API Hash * create(const quint16 &hashId, const char *const key=NULL)
    Create instance of a hash function.
    This abstract class specifies the generic interface for all support hash algorithms.
    Definition: Hash.h:57
    static const quint16 HASH_KECCAK_256
    Hash algorithm identifier.
    Definition: Hash.h:44
    diff --git a/docs/d2/db5/_c_p_u_features_8h_source.html b/docs/d2/db5/_c_p_u_features_8h_source.html index c231712..1b1b7cc 100644 --- a/docs/d2/db5/_c_p_u_features_8h_source.html +++ b/docs/d2/db5/_c_p_u_features_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    CPUFeatures.h
    -Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    29 #pragma once
    30 
    31 //MUtils
    32 #include <MUtils/Global.h>
    33 
    34 //Qt
    35 #include <QStringList>
    36 
    37 namespace MUtils
    38 {
    44  namespace CPUFetaures
    45  {
    46  // CPU vendor flag
    47  static const quint8 VENDOR_INTEL = 0x01U;
    48  static const quint8 VENDOR_AMD = 0x02U;
    49 
    50  // CPU feature flag
    51  static const quint32 FLAG_CMOV = 0x001U;
    52  static const quint32 FLAG_MMX = 0x002U;
    53  static const quint32 FLAG_SSE = 0x004U;
    54  static const quint32 FLAG_SSE2 = 0x008U;
    55  static const quint32 FLAG_SSE3 = 0x010U;
    56  static const quint32 FLAG_SSSE3 = 0x020U;
    57  static const quint32 FLAG_SSE41 = 0x040U;
    58  static const quint32 FLAG_SSE42 = 0x080U;
    59  static const quint32 FLAG_AVX = 0x100U;
    60  static const quint32 FLAG_AVX2 = 0x200U;
    61  static const quint32 FLAG_FMA3 = 0x400U;
    62  static const quint32 FLAG_LZCNT = 0x800U;
    63 
    67  typedef struct _cpu_info_t
    68  {
    69  quint32 family;
    70  quint32 model;
    71  quint32 stepping;
    72  quint32 count;
    73  quint32 features;
    74  bool x64;
    75  quint8 vendor;
    76  char idstr[13];
    77  char brand[48];
    78  }
    79  cpu_info_t;
    80 
    88  MUTILS_API cpu_info_t detect(void);
    89  }
    90 }
    quint32 family
    CPU family indicator, which specifies the processor "generation" to which the CPU belongs...
    Definition: CPUFeatures.h:69
    +Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    29 #pragma once
    30 
    31 //MUtils
    32 #include <MUtils/Global.h>
    33 
    34 //Qt
    35 #include <QStringList>
    36 
    37 namespace MUtils
    38 {
    44  namespace CPUFetaures
    45  {
    46  // CPU vendor flag
    47  static const quint8 VENDOR_INTEL = 0x01U;
    48  static const quint8 VENDOR_AMD = 0x02U;
    49 
    50  // CPU feature flag
    51  static const quint32 FLAG_CMOV = 0x001U;
    52  static const quint32 FLAG_MMX = 0x002U;
    53  static const quint32 FLAG_SSE = 0x004U;
    54  static const quint32 FLAG_SSE2 = 0x008U;
    55  static const quint32 FLAG_SSE3 = 0x010U;
    56  static const quint32 FLAG_SSSE3 = 0x020U;
    57  static const quint32 FLAG_SSE41 = 0x040U;
    58  static const quint32 FLAG_SSE42 = 0x080U;
    59  static const quint32 FLAG_AVX = 0x100U;
    60  static const quint32 FLAG_AVX2 = 0x200U;
    61  static const quint32 FLAG_FMA3 = 0x400U;
    62  static const quint32 FLAG_LZCNT = 0x800U;
    63 
    67  typedef struct _cpu_info_t
    68  {
    69  quint32 family;
    70  quint32 model;
    71  quint32 stepping;
    72  quint32 count;
    73  quint32 features;
    74  bool x64;
    75  quint8 vendor;
    76  char idstr[13];
    77  char brand[48];
    78  }
    79  cpu_info_t;
    80 
    88  MUTILS_API cpu_info_t detect(void);
    89  }
    90 }
    quint32 family
    CPU family indicator, which specifies the processor "generation" to which the CPU belongs...
    Definition: CPUFeatures.h:69
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    quint32 stepping
    CPU stepping indicator, which is used to distinguish "revisions" of a certain processor model...
    Definition: CPUFeatures.h:71
    static const quint32 FLAG_SSE
    CPU feature flag.
    Definition: CPUFeatures.h:53
    diff --git a/docs/d3/d5c/_registry_8h_source.html b/docs/d3/d5c/_registry_8h_source.html index 20b4e8d..f8d1809 100644 --- a/docs/d3/d5c/_registry_8h_source.html +++ b/docs/d3/d5c/_registry_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Registry.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    28 
    29 namespace MUtils
    30 {
    31  namespace Registry
    32  {
    33  //Regsitry root
    34  typedef enum
    35  {
    36  root_classes = 0,
    37  root_user = 1,
    38  root_machine = 2,
    39  }
    40  reg_root_t;
    41 
    42  //Regsitry access
    43  typedef enum
    44  {
    45  access_readonly = 0,
    46  access_writeonly = 1,
    47  access_readwrite = 2,
    48  access_enumerate = 3
    49  }
    50  reg_access_t;
    51 
    52  //Regsitry scope
    53  typedef enum
    54  {
    55  scope_default = 0,
    56  scope_wow_x32 = 1,
    57  scope_wow_x64 = 2
    58  }
    59  reg_scope_t;
    60 
    61  //Forward declaration
    62  namespace Internal
    63  {
    64  class RegistryKeyPrivate;
    65  }
    66 
    67  //Registry key class
    68  class MUTILS_API RegistryKey
    69  {
    70  public:
    71  RegistryKey(const reg_root_t &rootKey, const QString &keyName, const reg_access_t &access, const reg_scope_t &scope = scope_default);
    72  ~RegistryKey(void);
    73 
    74  inline bool isOpen(void);
    75 
    76  bool value_write(const QString &valueName, const quint32 &value);
    77  bool value_write(const QString &valueName, const QString &value);
    78 
    79  bool value_read(const QString &valueName, quint32 &value) const;
    80  bool value_read(const QString &valueName, QString &value) const;
    81 
    82  bool enum_values (QStringList &list) const;
    83  bool enum_subkeys(QStringList &list) const;
    84 
    85  private:
    86  Internal::RegistryKeyPrivate *const p;
    87  };
    88 
    89  //Regsitry functions
    90  MUTILS_API bool reg_value_write (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, const quint32 &value, const reg_scope_t &scope = scope_default);
    91  MUTILS_API bool reg_value_write (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, const QString &value, const reg_scope_t &scope = scope_default);
    92  MUTILS_API bool reg_value_read (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, quint32 &value, const reg_scope_t &scope = scope_default);
    93  MUTILS_API bool reg_value_read (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, QString &value, const reg_scope_t &scope = scope_default);
    94  MUTILS_API bool reg_key_exists (const reg_root_t &rootKey, const QString &keyName, const reg_scope_t &scope = scope_default);
    95  MUTILS_API bool reg_key_delete (const reg_root_t &rootKey, const QString &keyName, const bool &recusrive = true, const bool &ascend = false, const reg_scope_t &scope = scope_default);
    96  MUTILS_API bool reg_enum_values (const reg_root_t &rootKey, const QString &keyName, QStringList &list, const reg_scope_t &scope = scope_default);
    97  MUTILS_API bool reg_enum_subkeys(const reg_root_t &rootKey, const QString &keyName, QStringList &list, const reg_scope_t &scope = scope_default);
    98  }
    99 }
    100 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    28 
    29 namespace MUtils
    30 {
    31  namespace Registry
    32  {
    33  //Regsitry root
    34  typedef enum
    35  {
    36  root_classes = 0,
    37  root_user = 1,
    38  root_machine = 2,
    39  }
    40  reg_root_t;
    41 
    42  //Regsitry access
    43  typedef enum
    44  {
    45  access_readonly = 0,
    46  access_writeonly = 1,
    47  access_readwrite = 2,
    48  access_enumerate = 3
    49  }
    50  reg_access_t;
    51 
    52  //Regsitry scope
    53  typedef enum
    54  {
    55  scope_default = 0,
    56  scope_wow_x32 = 1,
    57  scope_wow_x64 = 2
    58  }
    59  reg_scope_t;
    60 
    61  //Forward declaration
    62  namespace Internal
    63  {
    64  class RegistryKeyPrivate;
    65  }
    66 
    67  //Registry key class
    68  class MUTILS_API RegistryKey
    69  {
    70  public:
    71  RegistryKey(const reg_root_t &rootKey, const QString &keyName, const reg_access_t &access, const reg_scope_t &scope = scope_default);
    72  ~RegistryKey(void);
    73 
    74  inline bool isOpen(void);
    75 
    76  bool value_write(const QString &valueName, const quint32 &value);
    77  bool value_write(const QString &valueName, const QString &value);
    78 
    79  bool value_read(const QString &valueName, quint32 &value) const;
    80  bool value_read(const QString &valueName, QString &value) const;
    81 
    82  bool enum_values (QStringList &list) const;
    83  bool enum_subkeys(QStringList &list) const;
    84 
    85  private:
    86  Internal::RegistryKeyPrivate *const p;
    87  };
    88 
    89  //Regsitry functions
    90  MUTILS_API bool reg_value_write (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, const quint32 &value, const reg_scope_t &scope = scope_default);
    91  MUTILS_API bool reg_value_write (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, const QString &value, const reg_scope_t &scope = scope_default);
    92  MUTILS_API bool reg_value_read (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, quint32 &value, const reg_scope_t &scope = scope_default);
    93  MUTILS_API bool reg_value_read (const reg_root_t &rootKey, const QString &keyName, const QString &valueName, QString &value, const reg_scope_t &scope = scope_default);
    94  MUTILS_API bool reg_key_exists (const reg_root_t &rootKey, const QString &keyName, const reg_scope_t &scope = scope_default);
    95  MUTILS_API bool reg_key_delete (const reg_root_t &rootKey, const QString &keyName, const bool &recusrive = true, const bool &ascend = false, const reg_scope_t &scope = scope_default);
    96  MUTILS_API bool reg_enum_values (const reg_root_t &rootKey, const QString &keyName, QStringList &list, const reg_scope_t &scope = scope_default);
    97  MUTILS_API bool reg_enum_subkeys(const reg_root_t &rootKey, const QString &keyName, QStringList &list, const reg_scope_t &scope = scope_default);
    98  }
    99 }
    100 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Definition: Registry.h:68
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d3/da6/namespace_m_utils.html b/docs/d3/da6/namespace_m_utils.html index 4f83a66..aeb10ac 100644 --- a/docs/d3/da6/namespace_m_utils.html +++ b/docs/d3/da6/namespace_m_utils.html @@ -156,9 +156,27 @@ Functions MUTILS_API bool regexp_parse_uint32 (const QRegExp &regexp, quint32 &value)  Parse regular expression results. More...
      + +MUTILS_API bool regexp_parse_int32 (const QRegExp &regexp, qint32 &value) +  + +MUTILS_API bool regexp_parse_uint32 (const QRegExp &regexp, quint32 &value, const size_t &offset) +  + +MUTILS_API bool regexp_parse_int32 (const QRegExp &regexp, qint32 &value, const size_t &offset) +  MUTILS_API bool regexp_parse_uint32 (const QRegExp &regexp, quint32 *values, const size_t &count)  Parse regular expression results. More...
      + +MUTILS_API bool regexp_parse_int32 (const QRegExp &regexp, qint32 *values, const size_t &count) +  + +MUTILS_API bool regexp_parse_uint32 (const QRegExp &regexp, quint32 *values, const size_t &offset, const size_t &count) +  + +MUTILS_API bool regexp_parse_int32 (const QRegExp &regexp, qint32 *values, const size_t &offset, const size_t &count) +  MUTILS_API QStringList available_codepages (const bool &noAliases=true)  Retrieve a list of all available codepages. More...
      diff --git a/docs/d3/dc1/_o_s_support_8h_source.html b/docs/d3/dc1/_o_s_support_8h_source.html index 13e1be9..9e31b75 100644 --- a/docs/d3/dc1/_o_s_support_8h_source.html +++ b/docs/d3/dc1/_o_s_support_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    OSSupport.h
    -Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    27 #pragma once
    28 
    29 //MUtils
    30 #include <MUtils/Global.h>
    31 
    32 //Qt
    33 #include <QString>
    34 #include <QMap>
    35 #include <QDate>
    36 #include <QWidget>
    37 
    38 //Forward declaration
    39 class QFile;
    40 
    42 
    46 namespace MUtils
    47 {
    51  namespace OS
    52  {
    56  namespace Version
    57  {
    61  typedef enum
    62  {
    63  OS_UNKNOWN = 0,
    65  }
    66  os_type_t;
    67 
    71  typedef struct _os_version_t
    72  {
    73  unsigned int type;
    74  unsigned int versionMajor;
    75  unsigned int versionMinor;
    76  unsigned int versionBuild;
    77  bool overrideFlag;
    78 
    79  MUTILS_API bool operator== (const _os_version_t &rhs) const;
    80  MUTILS_API bool operator!= (const _os_version_t &rhs) const;
    81  MUTILS_API bool operator> (const _os_version_t &rhs) const;
    82  MUTILS_API bool operator>= (const _os_version_t &rhs) const;
    83  MUTILS_API bool operator< (const _os_version_t &rhs) const;
    84  MUTILS_API bool operator<= (const _os_version_t &rhs) const;
    85  }
    87 
    88  //Known Windows NT versions
    89  MUTILS_API extern const os_version_t WINDOWS_WIN2K;
    90  MUTILS_API extern const os_version_t WINDOWS_WINXP;
    91  MUTILS_API extern const os_version_t WINDOWS_XPX64;
    92  MUTILS_API extern const os_version_t WINDOWS_VISTA;
    93  MUTILS_API extern const os_version_t WINDOWS_WIN70;
    94  MUTILS_API extern const os_version_t WINDOWS_WIN80;
    95  MUTILS_API extern const os_version_t WINDOWS_WIN81;
    96  MUTILS_API extern const os_version_t WINDOWS_WN100;
    97 
    98  //Unknown OS
    99  MUTILS_API extern const os_version_t UNKNOWN_OPSYS;
    100  }
    101 
    105  typedef enum
    106  {
    111  }
    113 
    117  typedef enum
    118  {
    122  }
    124 
    128  typedef enum
    129  {
    136  }
    137  drive_type_t;
    138 
    139  //System message
    140  MUTILS_API void system_message_nfo(const wchar_t *const title, const wchar_t *const text);
    141  MUTILS_API void system_message_wrn(const wchar_t *const title, const wchar_t *const text);
    142  MUTILS_API void system_message_err(const wchar_t *const title, const wchar_t *const text);
    143 
    144  //CLI Arguments
    145  typedef QMap<QString,QString> ArgumentMap;
    146  MUTILS_API const QStringList crack_command_line(const QString &command_line = QString());
    147  MUTILS_API const ArgumentMap &arguments(void);
    148 
    149  //Copy file
    150  typedef bool (*progress_callback_t)(const double &progress, void *const userData);
    151  MUTILS_API bool copy_file(const QString &sourcePath, const QString &outputPath, const bool &overwrite = true, const progress_callback_t callback = NULL, void *const userData = NULL);
    152 
    153  //Get file version
    154  MUTILS_API bool get_file_version(const QString fileName, quint16 *const major = NULL, quint16 *const minor = NULL, quint16 *const patch = NULL, quint16 *const build = NULL);
    155 
    156  //Get the OS version
    157  MUTILS_API const Version::os_version_t &os_version(void);
    158  MUTILS_API const char *os_friendly_name(const MUtils::OS::Version::os_version_t &os_version);
    159  MUTILS_API const bool &running_on_wine(void);
    160 
    161  //Get known Folder
    162  MUTILS_API const QString &known_folder(known_folder_t folder_id);
    163 
    164  //Current Date & Time
    165  MUTILS_API QDate current_date(void);
    166  MUTILS_API quint64 current_file_time(void);
    167 
    168  //Check for process elevation
    169  MUTILS_API bool is_elevated(bool *bIsUacEnabled = NULL);
    170  MUTILS_API bool user_is_admin(void);
    171 
    179  MUTILS_API int network_status(void);
    180 
    181  //Message handler
    182  MUTILS_API bool handle_os_message(const void *const message, long *result);
    183 
    193  MUTILS_API void sleep_ms(const size_t &duration);
    194 
    195  //Is executable/library file?
    196  MUTILS_API bool is_executable_file(const QString &path);
    197  MUTILS_API bool is_library_file(const QString &path);
    198 
    199  //Shutdown & Hibernation
    200  MUTILS_API bool is_hibernation_supported(void);
    201  MUTILS_API bool shutdown_computer(const QString &message, const unsigned long timeout, const bool forceShutdown, const bool hibernate);
    202 
    203  //Free diskspace
    204  MUTILS_API bool free_diskspace(const QString &path, quint64 &freeSpace);
    205 
    217  MUTILS_API drive_type_t get_drive_type(const QString &path, bool *fast_seeking = NULL);
    218 
    219  //Shell open
    220  MUTILS_API bool shell_open(const QWidget *parent, const QString &url, const bool explore = false);
    221  MUTILS_API bool shell_open(const QWidget *parent, const QString &url, const QString &parameters, const QString &directory, const bool explore = false);
    222 
    223  //Open media file
    224  MUTILS_API bool open_media_file(const QString &mediaFilePath);
    225 
    226  //Process priority
    227  MUTILS_API bool change_process_priority(const int priority);
    228  MUTILS_API bool change_process_priority(const QProcess *proc, const int priority);
    229 
    230  //Process ID
    231  MUTILS_API quint32 process_id(void);
    232  MUTILS_API quint32 process_id(const QProcess *const proc);
    233 
    234  //Thread ID
    235  MUTILS_API quint32 thread_id(void);
    236  MUTILS_API quint32 thread_id(const QProcess *const proc);
    237 
    238  //Suspend or resume processv
    239  MUTILS_API bool suspend_process(const QProcess *proc, const bool suspend);
    240 
    241  //System timer resolution
    242  MUTILS_API bool setup_timer_resolution(const quint32 &interval = 1);
    243  MUTILS_API bool reset_timer_resolution(const quint32 &interval = 1);
    244 
    245  //Set file time
    246  MUTILS_API bool set_file_time(const QFile &file, const QDateTime &created = QDateTime(), const QDateTime &modified = QDateTime(), const QDateTime &accessed = QDateTime());
    247  MUTILS_API bool set_file_time(const QString &path, const QDateTime &created = QDateTime(), const QDateTime &modified = QDateTime(), const QDateTime &accessed = QDateTime());
    248 
    249  //Keyboard support
    250  MUTILS_API bool check_key_state_esc(void);
    251 
    252  //Shell notification
    253  MUTILS_API void shell_change_notification(void);
    254 
    255  //Get file path from descriptor
    256  MUTILS_API QString get_file_path(const int &fd);
    257 
    258  //WOW64 redirection
    259  MUTILS_API bool wow64fsredir_disable(void *oldValue);
    260  MUTILS_API bool wow64fsredir_revert (void *oldValue);
    261 
    262  //Environment variables
    263  MUTILS_API QString get_envvar(const QString &name);
    264  MUTILS_API bool set_envvar(const QString &name, const QString &value);
    265 
    266  //Check if debugger is present
    267  MUTILS_API void check_debugger(void);
    268 
    269  //Error handling
    270  MUTILS_API void fatal_exit(const wchar_t* const errorMessage);
    271  }
    272 }
    273 
    MUTILS_API int network_status(void)
    Check the network status.
    +Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    27 #pragma once
    28 
    29 //MUtils
    30 #include <MUtils/Global.h>
    31 
    32 //Qt
    33 #include <QString>
    34 #include <QMap>
    35 #include <QDate>
    36 #include <QWidget>
    37 
    38 //Forward declaration
    39 class QFile;
    40 
    42 
    46 namespace MUtils
    47 {
    51  namespace OS
    52  {
    56  namespace Version
    57  {
    61  typedef enum
    62  {
    63  OS_UNKNOWN = 0,
    65  }
    66  os_type_t;
    67 
    71  typedef struct _os_version_t
    72  {
    73  unsigned int type;
    74  unsigned int versionMajor;
    75  unsigned int versionMinor;
    76  unsigned int versionBuild;
    77  bool overrideFlag;
    78 
    79  MUTILS_API bool operator== (const _os_version_t &rhs) const;
    80  MUTILS_API bool operator!= (const _os_version_t &rhs) const;
    81  MUTILS_API bool operator> (const _os_version_t &rhs) const;
    82  MUTILS_API bool operator>= (const _os_version_t &rhs) const;
    83  MUTILS_API bool operator< (const _os_version_t &rhs) const;
    84  MUTILS_API bool operator<= (const _os_version_t &rhs) const;
    85  }
    87 
    88  //Known Windows NT versions
    89  MUTILS_API extern const os_version_t WINDOWS_WIN2K;
    90  MUTILS_API extern const os_version_t WINDOWS_WINXP;
    91  MUTILS_API extern const os_version_t WINDOWS_XPX64;
    92  MUTILS_API extern const os_version_t WINDOWS_VISTA;
    93  MUTILS_API extern const os_version_t WINDOWS_WIN70;
    94  MUTILS_API extern const os_version_t WINDOWS_WIN80;
    95  MUTILS_API extern const os_version_t WINDOWS_WIN81;
    96  MUTILS_API extern const os_version_t WINDOWS_WN100;
    97 
    98  //Unknown OS
    99  MUTILS_API extern const os_version_t UNKNOWN_OPSYS;
    100  }
    101 
    105  typedef enum
    106  {
    111  }
    113 
    117  typedef enum
    118  {
    122  }
    124 
    128  typedef enum
    129  {
    136  }
    137  drive_type_t;
    138 
    139  //System message
    140  MUTILS_API void system_message_nfo(const wchar_t *const title, const wchar_t *const text);
    141  MUTILS_API void system_message_wrn(const wchar_t *const title, const wchar_t *const text);
    142  MUTILS_API void system_message_err(const wchar_t *const title, const wchar_t *const text);
    143 
    144  //CLI Arguments
    145  typedef QMap<QString,QString> ArgumentMap;
    146  MUTILS_API const QStringList crack_command_line(const QString &command_line = QString());
    147  MUTILS_API const ArgumentMap &arguments(void);
    148 
    149  //Copy file
    150  typedef bool (*progress_callback_t)(const double &progress, void *const userData);
    151  MUTILS_API bool copy_file(const QString &sourcePath, const QString &outputPath, const bool &overwrite = true, const progress_callback_t callback = NULL, void *const userData = NULL);
    152 
    153  //Get file version
    154  MUTILS_API bool get_file_version(const QString fileName, quint16 *const major = NULL, quint16 *const minor = NULL, quint16 *const patch = NULL, quint16 *const build = NULL);
    155 
    156  //Get the OS version
    157  MUTILS_API const Version::os_version_t &os_version(void);
    158  MUTILS_API const char *os_friendly_name(const MUtils::OS::Version::os_version_t &os_version);
    159  MUTILS_API const bool &running_on_wine(void);
    160 
    161  //Get known Folder
    162  MUTILS_API const QString &known_folder(known_folder_t folder_id);
    163 
    164  //Current Date & Time
    165  MUTILS_API QDate current_date(void);
    166  MUTILS_API quint64 current_file_time(void);
    167 
    168  //Check for process elevation
    169  MUTILS_API bool is_elevated(bool *bIsUacEnabled = NULL);
    170  MUTILS_API bool user_is_admin(void);
    171 
    179  MUTILS_API int network_status(void);
    180 
    181  //Message handler
    182  MUTILS_API bool handle_os_message(const void *const message, long *result);
    183 
    193  MUTILS_API void sleep_ms(const size_t &duration);
    194 
    195  //Is executable/library file?
    196  MUTILS_API bool is_executable_file(const QString &path);
    197  MUTILS_API bool is_library_file(const QString &path);
    198 
    199  //Shutdown & Hibernation
    200  MUTILS_API bool is_hibernation_supported(void);
    201  MUTILS_API bool shutdown_computer(const QString &message, const unsigned long timeout, const bool forceShutdown, const bool hibernate);
    202 
    203  //Free diskspace
    204  MUTILS_API bool free_diskspace(const QString &path, quint64 &freeSpace);
    205 
    217  MUTILS_API drive_type_t get_drive_type(const QString &path, bool *fast_seeking = NULL);
    218 
    219  //Shell open
    220  MUTILS_API bool shell_open(const QWidget *parent, const QString &url, const bool explore = false);
    221  MUTILS_API bool shell_open(const QWidget *parent, const QString &url, const QString &parameters, const QString &directory, const bool explore = false);
    222 
    223  //Open media file
    224  MUTILS_API bool open_media_file(const QString &mediaFilePath);
    225 
    226  //Process priority
    227  MUTILS_API bool change_process_priority(const int priority);
    228  MUTILS_API bool change_process_priority(const QProcess *proc, const int priority);
    229 
    230  //Process ID
    231  MUTILS_API quint32 process_id(void);
    232  MUTILS_API quint32 process_id(const QProcess *const proc);
    233 
    234  //Thread ID
    235  MUTILS_API quint32 thread_id(void);
    236  MUTILS_API quint32 thread_id(const QProcess *const proc);
    237 
    238  //Suspend or resume processv
    239  MUTILS_API bool suspend_process(const QProcess *proc, const bool suspend);
    240 
    241  //System timer resolution
    242  MUTILS_API bool setup_timer_resolution(const quint32 &interval = 1);
    243  MUTILS_API bool reset_timer_resolution(const quint32 &interval = 1);
    244 
    245  //Set file time
    246  MUTILS_API bool set_file_time(const QFile &file, const QDateTime &created = QDateTime(), const QDateTime &modified = QDateTime(), const QDateTime &accessed = QDateTime());
    247  MUTILS_API bool set_file_time(const QString &path, const QDateTime &created = QDateTime(), const QDateTime &modified = QDateTime(), const QDateTime &accessed = QDateTime());
    248 
    249  //Keyboard support
    250  MUTILS_API bool check_key_state_esc(void);
    251 
    252  //Shell notification
    253  MUTILS_API void shell_change_notification(void);
    254 
    255  //Get file path from descriptor
    256  MUTILS_API QString get_file_path(const int &fd);
    257 
    258  //WOW64 redirection
    259  MUTILS_API bool wow64fsredir_disable(void *oldValue);
    260  MUTILS_API bool wow64fsredir_revert (void *oldValue);
    261 
    262  //Environment variables
    263  MUTILS_API QString get_envvar(const QString &name);
    264  MUTILS_API bool set_envvar(const QString &name, const QString &value);
    265 
    266  //Check if debugger is present
    267  MUTILS_API void check_debugger(void);
    268 
    269  //Error handling
    270  MUTILS_API void fatal_exit(const wchar_t* const errorMessage);
    271  }
    272 }
    273 
    MUTILS_API int network_status(void)
    Check the network status.
    MUTILS_API const os_version_t UNKNOWN_OPSYS
    Operating system version constant.
    Local application data (non-roaming)
    Definition: OSSupport.h:107
    unsigned int versionMinor
    The minor version of the underlaying operating system.
    Definition: OSSupport.h:75
    diff --git a/docs/d3/dd5/_error_handler_8h_source.html b/docs/d3/dd5/_error_handler_8h_source.html index 19b4a33..17c008c 100644 --- a/docs/d3/dd5/_error_handler_8h_source.html +++ b/docs/d3/dd5/_error_handler_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    ErrorHandler.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    28 
    29 namespace MUtils
    30 {
    31  namespace ErrorHandler
    32  {
    33  //Setup Error Handlers
    34  MUTILS_API void initialize(void);
    35  }
    36 }
    37 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    28 
    29 namespace MUtils
    30 {
    31  namespace ErrorHandler
    32  {
    33  //Setup Error Handlers
    34  MUTILS_API void initialize(void);
    35  }
    36 }
    37 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d4/d85/_job_object_8h_source.html b/docs/d4/d85/_job_object_8h_source.html index f7dd19a..e728c22 100644 --- a/docs/d4/d85/_job_object_8h_source.html +++ b/docs/d4/d85/_job_object_8h_source.html @@ -67,10 +67,10 @@ $(function() {
    JobObject.h
    -Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    31 #pragma once
    32 
    33 #include <MUtils/Global.h>
    34 
    35 class QProcess;
    36 
    37 namespace MUtils
    38 {
    46  class MUTILS_API JobObject
    47  {
    48  public:
    54  JobObject(void);
    55 
    61  ~JobObject(void);
    62 
    70  bool isObjectCreated(void);
    71 
    81  bool addProcessToJob(const QProcess *const process);
    82 
    92  bool terminateJob(const quint32 &exitCode);
    93 
    94  private:
    95  uintptr_t m_jobPtr;
    97  };
    98 }
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    31 #pragma once
    32 
    33 #include <MUtils/Global.h>
    34 
    35 class QProcess;
    36 
    37 namespace MUtils
    38 {
    46  class MUTILS_API JobObject
    47  {
    48  public:
    54  JobObject(void);
    55 
    61  ~JobObject(void);
    62 
    70  bool isObjectCreated(void);
    71 
    81  bool addProcessToJob(const QProcess *const process);
    82 
    92  bool terminateJob(const quint32 &exitCode);
    93 
    94  private:
    95  uintptr_t m_jobPtr;
    97  };
    98 }
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    This class represents a job object.
    Definition: JobObject.h:46
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    -
    #define MUTILS_NO_COPY(CLASS)
    Disables copy constructor and assignment operator in the specified class. This macro should be used i...
    Definition: Global.h:374
    +
    #define MUTILS_NO_COPY(CLASS)
    Disables copy constructor and assignment operator in the specified class. This macro should be used i...
    Definition: Global.h:384
    -Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    27 #pragma once
    28 
    29 #include <QString>
    30 
    31 //Forward Declarations
    32 class QProcess;
    33 
    35 
    39 //MUtils API
    40 #ifdef _MSC_VER
    41 # ifdef MUTILS_DLL_EXPORT
    42 # define MUTILS_API __declspec(dllexport)
    43 # else
    44 # ifndef MUTILS_STATIC_LIB
    45 # define MUTILS_API __declspec(dllimport)
    46 # else
    47 # define MUTILS_API /*static lib*/
    48 # endif
    49 # endif
    50 #else
    51 # define MUTILS_API
    52 #endif
    53 
    54 #define MUTILS_MAKE_STRING_HELPER(X) #X
    55 #define MUTILS_MAKE_STRING(X) MUTILS_MAKE_STRING_HELPER(X)
    56 #define MUTILS_COMPILER_WARNING(TXT) __pragma(message(__FILE__ "(" MUTILS_MAKE_STRING(__LINE__) ") : warning: " TXT))
    57 
    58 //Check Debug Flags
    59 #if defined(_DEBUG) || defined(DEBUG) || (!defined(NDEBUG))
    60 # define MUTILS_DEBUG (1)
    61 # if defined(NDEBUG) || defined(QT_NO_DEBUG) || (!defined(QT_DEBUG))
    62 # error Inconsistent DEBUG flags have been detected!
    63 # endif
    64 #else
    65 # define MUTILS_DEBUG (0)
    66 # if (!defined(NDEBUG)) || (!defined(QT_NO_DEBUG)) || defined(QT_DEBUG)
    67 # error Inconsistent DEBUG flags have been detected!
    68 # endif
    69 #endif
    70 
    71 //Check CPU options
    72 #if defined(_MSC_VER) && (!defined(__INTELLISENSE__)) && (!defined(_M_X64)) && defined(_M_IX86_FP)
    73  #if (_M_IX86_FP != 0)
    74  #error We should not enabled SSE or SSE2 in release builds!
    75  #endif
    76 #endif
    77 
    81 
    86 namespace MUtils
    87 {
    95  MUTILS_API const QString& temp_folder(void);
    96 
    110  MUTILS_API void init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir = true, const QStringList *const extraPaths = NULL);
    111 
    119  MUTILS_API quint32 next_rand_u32(void);
    120 
    128  MUTILS_API quint64 next_rand_u64(void);
    129 
    139  MUTILS_API QString next_rand_str(const bool &bLong = false);
    140 
    154  MUTILS_API QString make_temp_file(const QString &basePath, const QString &extension, const bool placeholder = false);
    155 
    171  MUTILS_API QString make_unique_file(const QString &basePath, const QString &baseName, const QString &extension, const bool fancy = false);
    172 
    180  MUTILS_API bool parity(quint32 value);
    181 
    191  MUTILS_API bool remove_file(const QString &fileName);
    192 
    204  MUTILS_API bool remove_directory(const QString &folderPath, const bool &recursive);
    205 
    215  MUTILS_API QString& trim_right(QString &str);
    216 
    226  MUTILS_API QString& trim_left(QString &str);
    227 
    237  MUTILS_API QString trim_right(const QString &str);
    238 
    248  MUTILS_API QString trim_left(const QString &str);
    249 
    259  MUTILS_API void natural_string_sort(QStringList &list, const bool bIgnoreCase);
    260 
    272  MUTILS_API QString clean_file_name(const QString &name, const bool &pretty);
    273 
    285  MUTILS_API QString clean_file_path(const QString &path, const bool &pretty);
    286 
    298  MUTILS_API bool regexp_parse_uint32(const QRegExp &regexp, quint32 &value);
    299 
    313  MUTILS_API bool regexp_parse_uint32(const QRegExp &regexp, quint32 *values, const size_t &count);
    314 
    324  MUTILS_API QStringList available_codepages(const bool &noAliases = true);
    325 
    326  //Internal
    327  namespace Internal
    328  {
    329  MUTILS_API int selfTest(const char *const buildKey, const bool debug);
    330  static const int s_selfTest = selfTest(__DATE__ "@" __TIME__, MUTILS_DEBUG);
    331  }
    332 }
    333 
    335 
    338 #define MUTILS_DELETE(PTR) do { if((PTR)) { delete (PTR); (PTR) = NULL; } } while(0)
    339 
    342 #define MUTILS_DELETE_ARRAY(PTR) do { if((PTR)) { delete [] (PTR); (PTR) = NULL; } } while(0)
    343 
    346 #define MUTILS_ZERO_MEMORY(PTR) memset(&(PTR), 0, sizeof((PTR)))
    347 
    350 #define MUTILS_WCHR(STR) (reinterpret_cast<const wchar_t*>((STR).utf16()))
    351 
    354 #define MUTILS_UTF8(STR) ((STR).toUtf8().constData())
    355 
    358 #define MUTILS_L1STR(STR) ((STR).toLatin1().constData())
    359 
    362 #define MUTILS_QSTR(STR) (QString::fromUtf16(reinterpret_cast<const unsigned short*>((STR))))
    363 
    366 #define MUTILS_BOOL2STR(X) ((X) ? "1" : "0")
    367 
    370 #define MUTILS_BOOLIFY(X) (!(!(X)))
    371 
    374 #define MUTILS_NO_COPY(CLASS) \
    375  CLASS(const CLASS &) { throw "Copy constructor is disabled!"; } \
    376  CLASS &operator=(const CLASS &) { throw "Assignment operator is disabled!"; }
    MUTILS_API QStringList available_codepages(const bool &noAliases=true)
    Retrieve a list of all available codepages.
    +Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    27 #pragma once
    28 
    29 #include <QString>
    30 
    31 //Forward Declarations
    32 class QProcess;
    33 
    35 
    39 //MUtils API
    40 #ifdef _MSC_VER
    41 # ifdef MUTILS_DLL_EXPORT
    42 # define MUTILS_API __declspec(dllexport)
    43 # else
    44 # ifndef MUTILS_STATIC_LIB
    45 # define MUTILS_API __declspec(dllimport)
    46 # else
    47 # define MUTILS_API /*static lib*/
    48 # endif
    49 # endif
    50 #else
    51 # define MUTILS_API
    52 #endif
    53 
    54 #define MUTILS_MAKE_STRING_HELPER(X) #X
    55 #define MUTILS_MAKE_STRING(X) MUTILS_MAKE_STRING_HELPER(X)
    56 #define MUTILS_COMPILER_WARNING(TXT) __pragma(message(__FILE__ "(" MUTILS_MAKE_STRING(__LINE__) ") : warning: " TXT))
    57 
    58 //Check Debug Flags
    59 #if defined(_DEBUG) || defined(DEBUG) || (!defined(NDEBUG))
    60 # define MUTILS_DEBUG (1)
    61 # if defined(NDEBUG) || defined(QT_NO_DEBUG) || (!defined(QT_DEBUG))
    62 # error Inconsistent DEBUG flags have been detected!
    63 # endif
    64 #else
    65 # define MUTILS_DEBUG (0)
    66 # if (!defined(NDEBUG)) || (!defined(QT_NO_DEBUG)) || defined(QT_DEBUG)
    67 # error Inconsistent DEBUG flags have been detected!
    68 # endif
    69 #endif
    70 
    71 //Check CPU options
    72 #if defined(_MSC_VER) && (!defined(__INTELLISENSE__)) && (!defined(_M_X64)) && defined(_M_IX86_FP)
    73  #if (_M_IX86_FP != 0)
    74  #error We should not enabled SSE or SSE2 in release builds!
    75  #endif
    76 #endif
    77 
    81 
    86 namespace MUtils
    87 {
    95  MUTILS_API const QString& temp_folder(void);
    96 
    110  MUTILS_API void init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir = true, const QStringList *const extraPaths = NULL);
    111 
    119  MUTILS_API quint32 next_rand_u32(void);
    120 
    128  MUTILS_API quint64 next_rand_u64(void);
    129 
    139  MUTILS_API QString next_rand_str(const bool &bLong = false);
    140 
    154  MUTILS_API QString make_temp_file(const QString &basePath, const QString &extension, const bool placeholder = false);
    155 
    171  MUTILS_API QString make_unique_file(const QString &basePath, const QString &baseName, const QString &extension, const bool fancy = false);
    172 
    180  MUTILS_API bool parity(quint32 value);
    181 
    191  MUTILS_API bool remove_file(const QString &fileName);
    192 
    204  MUTILS_API bool remove_directory(const QString &folderPath, const bool &recursive);
    205 
    215  MUTILS_API QString& trim_right(QString &str);
    216 
    226  MUTILS_API QString& trim_left(QString &str);
    227 
    237  MUTILS_API QString trim_right(const QString &str);
    238 
    248  MUTILS_API QString trim_left(const QString &str);
    249 
    259  MUTILS_API void natural_string_sort(QStringList &list, const bool bIgnoreCase);
    260 
    272  MUTILS_API QString clean_file_name(const QString &name, const bool &pretty);
    273 
    285  MUTILS_API QString clean_file_path(const QString &path, const bool &pretty);
    286 
    298  MUTILS_API bool regexp_parse_uint32(const QRegExp &regexp, quint32 &value);
    299  MUTILS_API bool regexp_parse_int32(const QRegExp &regexp, qint32 &value);
    300  MUTILS_API bool regexp_parse_uint32(const QRegExp &regexp, quint32 &value, const size_t &offset);
    301  MUTILS_API bool regexp_parse_int32(const QRegExp &regexp, qint32 &value, const size_t &offset);
    302 
    316  MUTILS_API bool regexp_parse_uint32(const QRegExp &regexp, quint32 *values, const size_t &count);
    317  MUTILS_API bool regexp_parse_int32(const QRegExp &regexp, qint32 *values, const size_t &count);
    318  MUTILS_API bool regexp_parse_uint32(const QRegExp &regexp, quint32 *values, const size_t &offset, const size_t &count);
    319  MUTILS_API bool regexp_parse_int32(const QRegExp &regexp, qint32 *values, const size_t &offset, const size_t &count);
    320 
    330  MUTILS_API QStringList available_codepages(const bool &noAliases = true);
    331 
    332  //Internal
    333  namespace Internal
    334  {
    335  MUTILS_API int selfTest(const char *const buildKey, const bool debug);
    336  static const int s_selfTest = selfTest(__DATE__ "@" __TIME__, MUTILS_DEBUG);
    337  }
    338 }
    339 
    341 
    344 #define MUTILS_DELETE(PTR) do { if((PTR)) { delete (PTR); (PTR) = NULL; } } while(0)
    345 
    348 #define MUTILS_DELETE_ARRAY(PTR) do { if((PTR)) { delete [] (PTR); (PTR) = NULL; } } while(0)
    349 
    352 #define MUTILS_ZERO_MEMORY(PTR) memset(&(PTR), 0, sizeof((PTR)))
    353 
    356 #define MUTILS_WCHR(STR) (reinterpret_cast<const wchar_t*>((STR).utf16()))
    357 
    360 #define MUTILS_UTF8(STR) ((STR).toUtf8().constData())
    361 
    364 #define MUTILS_L1STR(STR) ((STR).toLatin1().constData())
    365 
    368 #define MUTILS_QSTR(STR) (QString::fromUtf16(reinterpret_cast<const unsigned short*>((STR))))
    369 
    372 #define MUTILS_BOOL2STR(X) ((X) ? "1" : "0")
    373 
    376 #define MUTILS_BOOLIFY(X) (!(!(X)))
    377 
    380 #define MUTILS_ARR2LEN(X) (sizeof((X)) / sizeof((X)[0]))
    381 
    384 #define MUTILS_NO_COPY(CLASS) \
    385  CLASS(const CLASS &) { throw "Copy constructor is disabled!"; } \
    386  CLASS &operator=(const CLASS &) { throw "Assignment operator is disabled!"; }
    MUTILS_API QStringList available_codepages(const bool &noAliases=true)
    Retrieve a list of all available codepages.
    MUTILS_API QString next_rand_str(const bool &bLong=false)
    Generates a random string.
    MUTILS_API bool remove_file(const QString &fileName)
    Deletes the specified file.
    MUTILS_API QString clean_file_path(const QString &path, const bool &pretty)
    Clean up a file path string.
    diff --git a/docs/d5/db0/_sound_8h_source.html b/docs/d5/db0/_sound_8h_source.html index e00dfbc..18ef669 100644 --- a/docs/d5/db0/_sound_8h_source.html +++ b/docs/d5/db0/_sound_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Sound.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    28 
    29 namespace MUtils
    30 {
    31  namespace Sound
    32  {
    33  enum beep_t
    34  {
    35  BEEP_NFO = 0,
    36  BEEP_WRN = 1,
    37  BEEP_ERR = 2
    38  };
    39 
    40  //Simple beep
    41  MUTILS_API bool beep(const beep_t &beepType);
    42 
    43  //Play built-in sound by name
    44  MUTILS_API bool play_sound(const QString &name, const bool &bAsync);
    45 
    46  //Play system sound by name
    47  MUTILS_API bool play_system_sound(const QString &alias, const bool &bAsync);
    48 
    49  //Play sound from file
    50  MUTILS_API bool play_sound_file(const QString &library, const unsigned short uiSoundIdx, const bool &bAsync);
    51  }
    52 }
    53 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    28 
    29 namespace MUtils
    30 {
    31  namespace Sound
    32  {
    33  enum beep_t
    34  {
    35  BEEP_NFO = 0,
    36  BEEP_WRN = 1,
    37  BEEP_ERR = 2
    38  };
    39 
    40  //Simple beep
    41  MUTILS_API bool beep(const beep_t &beepType);
    42 
    43  //Play built-in sound by name
    44  MUTILS_API bool play_sound(const QString &name, const bool &bAsync);
    45 
    46  //Play system sound by name
    47  MUTILS_API bool play_system_sound(const QString &alias, const bool &bAsync);
    48 
    49  //Play sound from file
    50  MUTILS_API bool play_sound_file(const QString &library, const unsigned short uiSoundIdx, const bool &bAsync);
    51  }
    52 }
    53 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d6/d83/_update_checker_8h_source.html b/docs/d6/d83/_update_checker_8h_source.html index 95f0841..d17ed1d 100644 --- a/docs/d6/d83/_update_checker_8h_source.html +++ b/docs/d6/d83/_update_checker_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    UpdateChecker.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QThread>
    29 #include <QDate>
    30 
    32 
    33 namespace MUtils
    34 {
    35  class MUTILS_API UpdateCheckerInfo
    36  {
    37  friend class UpdateChecker;
    38 
    39  public:
    40  UpdateCheckerInfo(void);
    41  void resetInfo(void);
    42  bool isComplete(void);
    43 
    44  const quint32 &getBuildNo(void) const { return m_buildNo; }
    45  const QDate &getBuildDate(void) const { return m_buildDate; }
    46  const QString &getDownloadSite(void) const { return m_downloadSite; }
    47  const QString &getDownloadAddress(void) const { return m_downloadAddress; }
    48  const QString &getDownloadFilename(void) const { return m_downloadFilename; }
    49  const QString &getDownloadFilecode(void) const { return m_downloadFilecode; }
    50  const QString &getDownloadChecksum(void) const { return m_downloadChecksum; }
    51 
    52  private:
    53  quint32 m_buildNo;
    54  QDate m_buildDate;
    55  QString m_downloadSite;
    56  QString m_downloadAddress;
    57  QString m_downloadFilename;
    58  QString m_downloadFilecode;
    59  QString m_downloadChecksum;
    60  };
    61 
    62  // ----------------------------------------------------------------
    63 
    64  class MUTILS_API UpdateChecker : public QThread
    65  {
    66  Q_OBJECT
    67 
    68  public:
    69  enum
    70  {
    71  UpdateStatus_NotStartedYet = 0,
    72  UpdateStatus_CheckingConnection = 1,
    73  UpdateStatus_FetchingUpdates = 2,
    74  UpdateStatus_CompletedUpdateAvailable = 3,
    75  UpdateStatus_CompletedNoUpdates = 4,
    76  UpdateStatus_CompletedNewVersionOlder = 5,
    77  UpdateStatus_ErrorNoConnection = 6,
    78  UpdateStatus_ErrorConnectionTestFailed = 7,
    79  UpdateStatus_ErrorFetchUpdateInfo = 8,
    80  UpdateStatus_CancelledByUser = 9
    81  }
    82  update_status_t;
    83 
    84  UpdateChecker(const QString &binWGet, const QString &binMCat, const QString &binGnuPG, const QString &binKeys, const QString &applicationId, const quint32 &installedBuildNo, const bool betaUpdates, const bool testMode = false);
    85  ~UpdateChecker(void);
    86 
    87  const int getUpdateStatus(void) const { return m_status; }
    88  const bool getSuccess(void) const { return m_success; };
    89  const int getMaximumProgress(void) const { return m_maxProgress; };
    90  const int getCurrentProgress(void) const { return m_progress; };
    91  const UpdateCheckerInfo *getUpdateInfo(void) const { return m_updateInfo.data(); }
    92 
    93  bool cancel(void) { return m_cancelled.ref(); }
    94 
    95  public slots:
    96  void start(Priority = InheritPriority);
    97 
    98  protected:
    99  void run(void);
    100  void checkForUpdates(void);
    101  void testKnownHosts(void);
    102 
    103  signals:
    104  void statusChanged(const int status);
    105  void progressChanged(const int progress);
    106  void messageLogged(const QString &text);
    107 
    108  private:
    109  const int m_maxProgress;
    110  QScopedPointer<UpdateCheckerInfo> m_updateInfo;
    111 
    112  const bool m_betaUpdates;
    113  const bool m_testMode;
    114 
    115  const QString m_applicationId;
    116  const quint32 m_installedBuildNo;
    117 
    118  const QString m_binaryWGet;
    119  const QString m_binaryMCat;
    120  const QString m_binaryGnuPG;
    121  const QString m_binaryKeys;
    122 
    123  QAtomicInt m_success;
    124  QAtomicInt m_cancelled;
    125 
    126  int m_status;
    127  int m_progress;
    128 
    129  inline void setStatus(const int status);
    130  inline void setProgress(const int progress);
    131  inline void log(const QString &str1, const QString &str2 = QString(), const QString &str3 = QString(), const QString &str4 = QString());
    132 
    133  bool getUpdateInfo(const QString &url, const QString &outFileVers, const QString &outFileSign);
    134  bool tryContactHost(const QString &hostname, const int &timeoutMsec, quint32 *const ipAddrOut = NULL);
    135  bool parseVersionInfo(const QString &file, UpdateCheckerInfo *updateInfo);
    136 
    137  bool getFile(const QString &url, const QString &outFile, const unsigned int maxRedir = 5U);
    138  bool getFile(const QString &url, const bool forceIp4, const QString &outFile, const unsigned int maxRedir = 5U);
    139  bool checkSignature(const QString &file, const QString &signature);
    140  bool tryUpdateMirror(UpdateCheckerInfo *updateInfo, const QString &url, const bool &quick);
    141  };
    142 }
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QThread>
    29 #include <QDate>
    30 
    32 
    33 namespace MUtils
    34 {
    35  class MUTILS_API UpdateCheckerInfo
    36  {
    37  friend class UpdateChecker;
    38 
    39  public:
    40  UpdateCheckerInfo(void);
    41  void resetInfo(void);
    42  bool isComplete(void);
    43 
    44  const quint32 &getBuildNo(void) const { return m_buildNo; }
    45  const QDate &getBuildDate(void) const { return m_buildDate; }
    46  const QString &getDownloadSite(void) const { return m_downloadSite; }
    47  const QString &getDownloadAddress(void) const { return m_downloadAddress; }
    48  const QString &getDownloadFilename(void) const { return m_downloadFilename; }
    49  const QString &getDownloadFilecode(void) const { return m_downloadFilecode; }
    50  const QString &getDownloadChecksum(void) const { return m_downloadChecksum; }
    51 
    52  private:
    53  quint32 m_buildNo;
    54  QDate m_buildDate;
    55  QString m_downloadSite;
    56  QString m_downloadAddress;
    57  QString m_downloadFilename;
    58  QString m_downloadFilecode;
    59  QString m_downloadChecksum;
    60  };
    61 
    62  // ----------------------------------------------------------------
    63 
    64  class MUTILS_API UpdateChecker : public QThread
    65  {
    66  Q_OBJECT
    67 
    68  public:
    69  enum
    70  {
    71  UpdateStatus_NotStartedYet = 0,
    72  UpdateStatus_CheckingConnection = 1,
    73  UpdateStatus_FetchingUpdates = 2,
    74  UpdateStatus_CompletedUpdateAvailable = 3,
    75  UpdateStatus_CompletedNoUpdates = 4,
    76  UpdateStatus_CompletedNewVersionOlder = 5,
    77  UpdateStatus_ErrorNoConnection = 6,
    78  UpdateStatus_ErrorConnectionTestFailed = 7,
    79  UpdateStatus_ErrorFetchUpdateInfo = 8,
    80  UpdateStatus_CancelledByUser = 9
    81  }
    82  update_status_t;
    83 
    84  UpdateChecker(const QString &binWGet, const QString &binMCat, const QString &binGnuPG, const QString &binKeys, const QString &applicationId, const quint32 &installedBuildNo, const bool betaUpdates, const bool testMode = false);
    85  ~UpdateChecker(void);
    86 
    87  const int getUpdateStatus(void) const { return m_status; }
    88  const bool getSuccess(void) const { return m_success; };
    89  const int getMaximumProgress(void) const { return m_maxProgress; };
    90  const int getCurrentProgress(void) const { return m_progress; };
    91  const UpdateCheckerInfo *getUpdateInfo(void) const { return m_updateInfo.data(); }
    92 
    93  bool cancel(void) { return m_cancelled.ref(); }
    94 
    95  public slots:
    96  void start(Priority = InheritPriority);
    97 
    98  protected:
    99  void run(void);
    100  void checkForUpdates(void);
    101  void testMirrorsList(void);
    102 
    103  signals:
    104  void statusChanged(const int status);
    105  void progressChanged(const int progress);
    106  void messageLogged(const QString &text);
    107 
    108  private:
    109  const int m_maxProgress;
    110  QScopedPointer<UpdateCheckerInfo> m_updateInfo;
    111 
    112  const bool m_betaUpdates;
    113  const bool m_testMode;
    114 
    115  const QString m_applicationId;
    116  const quint32 m_installedBuildNo;
    117 
    118  const QString m_binaryWGet;
    119  const QString m_binaryMCat;
    120  const QString m_binaryGnuPG;
    121  const QString m_binaryKeys;
    122 
    123  QAtomicInt m_success;
    124  QAtomicInt m_cancelled;
    125 
    126  int m_status;
    127  int m_progress;
    128 
    129  inline void setStatus(const int status);
    130  inline void setProgress(const int progress);
    131  inline void log(const QString &str1, const QString &str2 = QString(), const QString &str3 = QString(), const QString &str4 = QString());
    132 
    133  bool getUpdateInfo(const QString &url, const QString &outFileVers, const QString &outFileSign);
    134  bool tryContactHost(const QString &hostname, const int &timeoutMsec, quint32 *const ipAddrOut = NULL);
    135  bool parseVersionInfo(const QString &file, UpdateCheckerInfo *updateInfo);
    136 
    137  bool getFile(const QString &url, const QString &outFile, const unsigned int maxRedir = 5U);
    138  bool getFile(const QString &url, const bool forceIp4, const QString &outFile, const unsigned int maxRedir = 5U);
    139  bool checkSignature(const QString &file, const QString &signature);
    140  bool tryUpdateMirror(UpdateCheckerInfo *updateInfo, const QString &url, const bool &quick);
    141  };
    142 }
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Definition: UpdateChecker.h:35
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    Definition: UpdateChecker.h:64
    diff --git a/docs/d6/ddd/_terminal_8h_source.html b/docs/d6/ddd/_terminal_8h_source.html index bbcaad3..f505f95 100644 --- a/docs/d6/ddd/_terminal_8h_source.html +++ b/docs/d6/ddd/_terminal_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Terminal.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QIcon>
    29 
    31 
    32 namespace MUtils
    33 {
    34  namespace Terminal
    35  {
    36  //Setup terminal
    37  MUTILS_API void setup(int &argc, char **argv, const char* const appName, const bool forceEnabled);
    38 
    39  //Terminal output
    40  MUTILS_API void write(const int &type, const char *const message);
    41 
    42  //Terminal icon
    43  MUTILS_API void set_icon(const QIcon &icon);
    44  }
    45 }
    46 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QIcon>
    29 
    31 
    32 namespace MUtils
    33 {
    34  namespace Terminal
    35  {
    36  //Setup terminal
    37  MUTILS_API void setup(int &argc, char **argv, const char* const appName, const bool forceEnabled);
    38 
    39  //Terminal output
    40  MUTILS_API void write(const int &type, const char *const message);
    41 
    42  //Terminal icon
    43  MUTILS_API void set_icon(const QIcon &icon);
    44  }
    45 }
    46 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d7/d73/_translation_8h_source.html b/docs/d7/d73/_translation_8h_source.html index c0468f6..d0a0817 100644 --- a/docs/d7/d73/_translation_8h_source.html +++ b/docs/d7/d73/_translation_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Translation.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QtGlobal>
    29 
    31 
    32 namespace MUtils
    33 {
    34  namespace Translation
    35  {
    36  //Register new translation
    37  MUTILS_API bool insert(const QString &langId, const QString &qmFile, const QString &langName, const quint32 &systemId, const quint32 &country);
    38 
    39  //Enumerate translations
    40  MUTILS_API int enumerate(QStringList &list);
    41 
    42  //Get translation info
    43  MUTILS_API QString get_name (const QString &langId);
    44  MUTILS_API quint32 get_sysid (const QString &langId);
    45  MUTILS_API quint32 get_country(const QString &langId);
    46 
    47  //Install translator
    48  MUTILS_API bool install_translator(const QString &langId);
    49  MUTILS_API bool install_translator_from_file(const QString &qmFile);
    50 
    51  //Constant
    52  MUTILS_API extern const char *const DEFAULT_LANGID;
    53  }
    54 }
    55 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QtGlobal>
    29 
    31 
    32 namespace MUtils
    33 {
    34  namespace Translation
    35  {
    36  //Register new translation
    37  MUTILS_API bool insert(const QString &langId, const QString &qmFile, const QString &langName, const quint32 &systemId, const quint32 &country);
    38 
    39  //Enumerate translations
    40  MUTILS_API int enumerate(QStringList &list);
    41 
    42  //Get translation info
    43  MUTILS_API QString get_name (const QString &langId);
    44  MUTILS_API quint32 get_sysid (const QString &langId);
    45  MUTILS_API quint32 get_country(const QString &langId);
    46 
    47  //Install translator
    48  MUTILS_API bool install_translator(const QString &langId);
    49  MUTILS_API bool install_translator_from_file(const QString &qmFile);
    50 
    51  //Constant
    52  MUTILS_API extern const char *const DEFAULT_LANGID;
    53  }
    54 }
    55 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/d8/d4d/_lazy_8h_source.html b/docs/d8/d4d/_lazy_8h_source.html index 45a9600..499b96d 100644 --- a/docs/d8/d4d/_lazy_8h_source.html +++ b/docs/d8/d4d/_lazy_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Lazy.h
    -Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    27 #pragma once
    28 
    29 //MUtils
    30 #include <MUtils/Global.h>
    31 #include <MUtils/Exception.h>
    32 
    33 //Qt
    34 #include <QAtomicPointer>
    35 
    36 //CRT
    37 #include <functional>
    38 
    39 namespace MUtils
    40 {
    48  template<typename T> class Lazy
    49  {
    50  public:
    51  Lazy(std::function<T*(void)> &&initializer) : m_initializer(initializer) { }
    52 
    53  T& operator*(void)
    54  {
    55  while (!m_value)
    56  {
    57  if (T *const value = m_initializer())
    58  {
    59  if (!m_value.testAndSetOrdered(NULL, value))
    60  {
    61  delete value; /*too late*/
    62  }
    63  }
    64  else
    65  {
    66  MUTILS_THROW("Initializer returned NULL!");
    67  }
    68  }
    69  return *m_value;
    70  }
    71 
    72  private:
    73  QAtomicPointer<T> m_value;
    74  const std::function<T*(void)> m_initializer;
    75  };
    76 }
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +Go to the documentation of this file.
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    27 #pragma once
    28 
    29 //MUtils
    30 #include <MUtils/Global.h>
    31 #include <MUtils/Exception.h>
    32 
    33 //Qt
    34 #include <QAtomicPointer>
    35 
    36 //CRT
    37 #include <functional>
    38 
    39 namespace MUtils
    40 {
    48  template<typename T> class Lazy
    49  {
    50  public:
    51  Lazy(std::function<T*(void)> &&initializer) : m_initializer(initializer) { }
    52 
    53  T& operator*(void)
    54  {
    55  while (!m_value)
    56  {
    57  if (T *const value = m_initializer())
    58  {
    59  if (!m_value.testAndSetOrdered(NULL, value))
    60  {
    61  delete value; /*too late*/
    62  }
    63  }
    64  else
    65  {
    66  MUTILS_THROW("Initializer returned NULL!");
    67  }
    68  }
    69  return *m_value;
    70  }
    71 
    72  private:
    73  QAtomicPointer<T> m_value;
    74  const std::function<T*(void)> m_initializer;
    75  };
    76 }
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Lazy initialization template class.
    Definition: Lazy.h:48
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/da/d5d/_g_u_i_8h_source.html b/docs/da/d5d/_g_u_i_8h_source.html index f26d62b..a8ddab9 100644 --- a/docs/da/d5d/_g_u_i_8h_source.html +++ b/docs/da/d5d/_g_u_i_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    GUI.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QColor>
    29 
    30 //Forward Declaration
    31 class QIcon;
    32 class QWidget;
    33 
    35 
    36 namespace MUtils
    37 {
    38  namespace GUI
    39  {
    40  typedef enum
    41  {
    42  USER_EVENT = 1000, /*QEvent::User*/
    43  USER_EVENT_QUERYENDSESSION = USER_EVENT + 666,
    44  USER_EVENT_ENDSESSION = USER_EVENT + 667
    45  }
    46  user_events_t;
    47 
    48  typedef enum
    49  {
    50  SYSCOLOR_TEXT = 1,
    51  SYSCOLOR_BACKGROUND = 2,
    52  SYSCOLOR_CAPTION = 3
    53  }
    54  system_color_t;
    55 
    56  //Broadcast message
    57  MUTILS_API bool broadcast(int eventType, const bool &onlyToVisible);
    58 
    59  //Window icon
    60  MUTILS_API bool set_window_icon(QWidget *const window, const QIcon &icon, const bool bIsBigIcon);
    61 
    62  //Theme support
    63  MUTILS_API bool themes_enabled(void);
    64 
    65  //DPI information
    66  MUTILS_API double dpi_scale(void);
    67  MUTILS_API bool scale_widget(QWidget *const widget, const bool recenter = true);
    68  MUTILS_API bool center_widget(QWidget *const widget);
    69 
    70  //System menu
    71  MUTILS_API bool sysmenu_append(const QWidget *const win, const unsigned int identifier, const QString &text);
    72  MUTILS_API bool sysmenu_update(const QWidget *const win, const unsigned int identifier, const QString &text);
    73  MUTILS_API bool sysmenu_check_msg(void *const message, const unsigned int &identifier);
    74 
    75  //Close button
    76  MUTILS_API bool enable_close_button(const QWidget *const win, const bool &bEnable);
    77 
    78  //Bring to front
    79  MUTILS_API bool bring_to_front(const QWidget *const window);
    80  MUTILS_API bool bring_to_front(const unsigned long pid);
    81 
    82  //Sheet of glass
    83  MUTILS_API bool sheet_of_glass(QWidget *const window);
    84  MUTILS_API bool sheet_of_glass_update(QWidget *const window);
    85 
    86  //System colors
    87  MUTILS_API QColor system_color(const int &color_id);
    88 
    89  //Blink window
    90  MUTILS_API void blink_window(QWidget *const poWindow, const unsigned int &count = 10, const unsigned int &delay = 150);
    91 
    92  //Force quit application
    93  MUTILS_API void force_quit(void);
    94  }
    95 }
    96 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 //MUtils
    25 #include <MUtils/Global.h>
    26 
    27 //Qt
    28 #include <QColor>
    29 
    30 //Forward Declaration
    31 class QIcon;
    32 class QWidget;
    33 
    35 
    36 namespace MUtils
    37 {
    38  namespace GUI
    39  {
    40  typedef enum
    41  {
    42  USER_EVENT = 1000, /*QEvent::User*/
    43  USER_EVENT_QUERYENDSESSION = USER_EVENT + 666,
    44  USER_EVENT_ENDSESSION = USER_EVENT + 667
    45  }
    46  user_events_t;
    47 
    48  typedef enum
    49  {
    50  SYSCOLOR_TEXT = 1,
    51  SYSCOLOR_BACKGROUND = 2,
    52  SYSCOLOR_CAPTION = 3
    53  }
    54  system_color_t;
    55 
    56  //Broadcast message
    57  MUTILS_API bool broadcast(int eventType, const bool &onlyToVisible);
    58 
    59  //Window icon
    60  MUTILS_API bool set_window_icon(QWidget *const window, const QIcon &icon, const bool bIsBigIcon);
    61 
    62  //Theme support
    63  MUTILS_API bool themes_enabled(void);
    64 
    65  //DPI information
    66  MUTILS_API double dpi_scale(void);
    67  MUTILS_API bool scale_widget(QWidget *const widget, const bool recenter = true);
    68  MUTILS_API bool center_widget(QWidget *const widget);
    69 
    70  //System menu
    71  MUTILS_API bool sysmenu_append(const QWidget *const win, const unsigned int identifier, const QString &text);
    72  MUTILS_API bool sysmenu_update(const QWidget *const win, const unsigned int identifier, const QString &text);
    73  MUTILS_API bool sysmenu_check_msg(void *const message, const unsigned int &identifier);
    74 
    75  //Close button
    76  MUTILS_API bool enable_close_button(const QWidget *const win, const bool &bEnable);
    77 
    78  //Bring to front
    79  MUTILS_API bool bring_to_front(const QWidget *const window);
    80  MUTILS_API bool bring_to_front(const unsigned long pid);
    81 
    82  //Sheet of glass
    83  MUTILS_API bool sheet_of_glass(QWidget *const window);
    84  MUTILS_API bool sheet_of_glass_update(QWidget *const window);
    85 
    86  //System colors
    87  MUTILS_API QColor system_color(const int &color_id);
    88 
    89  //Blink window
    90  MUTILS_API void blink_window(QWidget *const poWindow, const unsigned int &count = 10, const unsigned int &delay = 150);
    91 
    92  //Force quit application
    93  MUTILS_API void force_quit(void);
    94  }
    95 }
    96 
    This file contains miscellaneous functions that are generally useful for Qt-based applications...
    Global MUtils namespace.
    Definition: CPUFeatures.h:37
    diff --git a/docs/df/d98/_exception_8h_source.html b/docs/df/d98/_exception_8h_source.html index cf26490..695d7fc 100644 --- a/docs/df/d98/_exception_8h_source.html +++ b/docs/df/d98/_exception_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    Exception.h
    -
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 #include <stdexcept>
    25 
    26 #define MUTILS_PRINT_ERROR(FORMAT, ...) do \
    27 { \
    28  fflush(stdout); \
    29  fprintf(stderr, (FORMAT), __VA_ARGS__); \
    30  fflush(stderr); \
    31 } \
    32 while(0)
    33 
    34 #define MUTILS_EXCEPTION_HANDLER(COMMAND) do \
    35 { \
    36  try \
    37  { \
    38  do { COMMAND; } while(0); \
    39  } \
    40  catch(const std::exception &error) \
    41  { \
    42  MUTILS_PRINT_ERROR("\nGURU MEDITATION !!!\n\nException error:\n%s\n", error.what()); \
    43  MUtils::OS::fatal_exit(L"Unhandeled C++ exception error, application will exit!"); \
    44  } \
    45  catch(...) \
    46  { \
    47  MUTILS_PRINT_ERROR("\nGURU MEDITATION !!!\n\nUnknown exception error!\n"); \
    48  MUtils::OS::fatal_exit(L"Unhandeled C++ exception error, application will exit!"); \
    49  } \
    50 } \
    51 while(0)
    52 
    53 #define MUTILS_THROW(MESSAGE) do \
    54 { \
    55  throw std::runtime_error((MESSAGE)); \
    56 } \
    57 while(0)
    58 
    59 #define MUTILS_THROW_FMT(MESSAGE, ...) do \
    60 { \
    61  char _message[256]; \
    62  _snprintf_s(_message, 256, _TRUNCATE, (MESSAGE), __VA_ARGS__); \
    63  throw std::runtime_error(_message); \
    64 } \
    65 while(0)
    +
    1 // MuldeR's Utilities for Qt
    3 // Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>
    4 //
    5 // This library is free software; you can redistribute it and/or
    6 // modify it under the terms of the GNU Lesser General Public
    7 // License as published by the Free Software Foundation; either
    8 // version 2.1 of the License, or (at your option) any later version.
    9 //
    10 // This library is distributed in the hope that it will be useful,
    11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    13 // Lesser General Public License for more details.
    14 //
    15 // You should have received a copy of the GNU Lesser General Public
    16 // License along with this library; if not, write to the Free Software
    17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    18 //
    19 // http://www.gnu.org/licenses/lgpl-2.1.txt
    21 
    22 #pragma once
    23 
    24 #include <stdexcept>
    25 
    26 #define MUTILS_PRINT_ERROR(FORMAT, ...) do \
    27 { \
    28  fflush(stdout); \
    29  fprintf(stderr, (FORMAT), __VA_ARGS__); \
    30  fflush(stderr); \
    31 } \
    32 while(0)
    33 
    34 #define MUTILS_EXCEPTION_HANDLER(COMMAND) do \
    35 { \
    36  try \
    37  { \
    38  do { COMMAND; } while(0); \
    39  } \
    40  catch(const std::exception &error) \
    41  { \
    42  MUTILS_PRINT_ERROR("\nGURU MEDITATION !!!\n\nException error:\n%s\n", error.what()); \
    43  MUtils::OS::fatal_exit(L"Unhandeled C++ exception error, application will exit!"); \
    44  } \
    45  catch(...) \
    46  { \
    47  MUTILS_PRINT_ERROR("\nGURU MEDITATION !!!\n\nUnknown exception error!\n"); \
    48  MUtils::OS::fatal_exit(L"Unhandeled C++ exception error, application will exit!"); \
    49  } \
    50 } \
    51 while(0)
    52 
    53 #define MUTILS_THROW(MESSAGE) do \
    54 { \
    55  throw std::runtime_error((MESSAGE)); \
    56 } \
    57 while(0)
    58 
    59 #define MUTILS_THROW_FMT(MESSAGE, ...) do \
    60 { \
    61  char _message[256]; \
    62  _snprintf_s(_message, 256, _TRUNCATE, (MESSAGE), __VA_ARGS__); \
    63  throw std::runtime_error(_message); \
    64 } \
    65 while(0)

License

This library is free software. It is released under the terms of the GNU Lesser General Public License (LGPL), Version 2.1.

MUtilities - MuldeR's Utilities for Qt
-Copyright (C) 2004-2017 LoRd_MuldeR <MuldeR2@GMX.de>. Some rights reserved.
+Copyright (C) 2004-2018 LoRd_MuldeR <MuldeR2@GMX.de>. Some rights reserved.
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
diff --git a/docs/search/all_c.js b/docs/search/all_c.js
index 156055f..c060d06 100644
--- a/docs/search/all_c.js
+++ b/docs/search/all_c.js
@@ -5,6 +5,7 @@ var searchData=
   ['make_5funique_5ffile',['make_unique_file',['../d3/da6/namespace_m_utils.html#af9afe3821ae9bef7bdf56a4183fdea0d',1,'MUtils']]],
   ['model',['model',['../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7d0a012412dc4b04f2b5b37e83f5874a',1,'MUtils::CPUFetaures::_cpu_info_t']]],
   ['mutils',['MUtils',['../d3/da6/namespace_m_utils.html',1,'']]],
+  ['mutils_5farr2len',['MUTILS_ARR2LEN',['../d5/d3b/_global_8h.html#ad70be6c96965fb93affdeaf297b2d8e5',1,'Global.h']]],
   ['mutils_5fbool2str',['MUTILS_BOOL2STR',['../d5/d3b/_global_8h.html#a177ecbfe7701c2ac04bb8bdeb208773a',1,'Global.h']]],
   ['mutils_5fboolify',['MUTILS_BOOLIFY',['../d5/d3b/_global_8h.html#a8455a4d868742129d26356469fae26ba',1,'Global.h']]],
   ['mutils_5fdelete',['MUTILS_DELETE',['../d5/d3b/_global_8h.html#ad42b1946a83df3bd76734d5ab691fd0d',1,'Global.h']]],
diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js
index 42f1d12..e23a8e0 100644
--- a/docs/search/defines_0.js
+++ b/docs/search/defines_0.js
@@ -1,5 +1,6 @@
 var searchData=
 [
+  ['mutils_5farr2len',['MUTILS_ARR2LEN',['../d5/d3b/_global_8h.html#ad70be6c96965fb93affdeaf297b2d8e5',1,'Global.h']]],
   ['mutils_5fbool2str',['MUTILS_BOOL2STR',['../d5/d3b/_global_8h.html#a177ecbfe7701c2ac04bb8bdeb208773a',1,'Global.h']]],
   ['mutils_5fboolify',['MUTILS_BOOLIFY',['../d5/d3b/_global_8h.html#a8455a4d868742129d26356469fae26ba',1,'Global.h']]],
   ['mutils_5fdelete',['MUTILS_DELETE',['../d5/d3b/_global_8h.html#ad42b1946a83df3bd76734d5ab691fd0d',1,'Global.h']]],
diff --git a/include/MUtils/CPUFeatures.h b/include/MUtils/CPUFeatures.h
index 830e81f..3af4a18 100644
--- a/include/MUtils/CPUFeatures.h
+++ b/include/MUtils/CPUFeatures.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/ErrorHandler.h b/include/MUtils/ErrorHandler.h
index 213e7a1..15f99e6 100644
--- a/include/MUtils/ErrorHandler.h
+++ b/include/MUtils/ErrorHandler.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Exception.h b/include/MUtils/Exception.h
index 646dee0..4048ad2 100644
--- a/include/MUtils/Exception.h
+++ b/include/MUtils/Exception.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/GUI.h b/include/MUtils/GUI.h
index 6c0b518..a57a9cb 100644
--- a/include/MUtils/GUI.h
+++ b/include/MUtils/GUI.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Global.h b/include/MUtils/Global.h
index bcf660f..937a319 100644
--- a/include/MUtils/Global.h
+++ b/include/MUtils/Global.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Hash.h b/include/MUtils/Hash.h
index acd3128..42ac290 100644
--- a/include/MUtils/Hash.h
+++ b/include/MUtils/Hash.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/IPCChannel.h b/include/MUtils/IPCChannel.h
index 837d5fb..7379c90 100644
--- a/include/MUtils/IPCChannel.h
+++ b/include/MUtils/IPCChannel.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/JobObject.h b/include/MUtils/JobObject.h
index b4ad98b..bd1d01c 100644
--- a/include/MUtils/JobObject.h
+++ b/include/MUtils/JobObject.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Lazy.h b/include/MUtils/Lazy.h
index 5c2b15f..3f6eb10 100644
--- a/include/MUtils/Lazy.h
+++ b/include/MUtils/Lazy.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/OSSupport.h b/include/MUtils/OSSupport.h
index c9af7b0..201ca87 100644
--- a/include/MUtils/OSSupport.h
+++ b/include/MUtils/OSSupport.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Registry.h b/include/MUtils/Registry.h
index fa1a061..a8695ea 100644
--- a/include/MUtils/Registry.h
+++ b/include/MUtils/Registry.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Sound.h b/include/MUtils/Sound.h
index caf6107..88036c2 100644
--- a/include/MUtils/Sound.h
+++ b/include/MUtils/Sound.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Startup.h b/include/MUtils/Startup.h
index e7f1cb1..5f18f2a 100644
--- a/include/MUtils/Startup.h
+++ b/include/MUtils/Startup.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Taskbar7.h b/include/MUtils/Taskbar7.h
index 90107e7..fb62dd5 100644
--- a/include/MUtils/Taskbar7.h
+++ b/include/MUtils/Taskbar7.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Terminal.h b/include/MUtils/Terminal.h
index ca4ff2c..9451120 100644
--- a/include/MUtils/Terminal.h
+++ b/include/MUtils/Terminal.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Translation.h b/include/MUtils/Translation.h
index 76a1278..29b45fe 100644
--- a/include/MUtils/Translation.h
+++ b/include/MUtils/Translation.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/UpdateChecker.h b/include/MUtils/UpdateChecker.h
index a8ee4a9..ff7209e 100644
--- a/include/MUtils/UpdateChecker.h
+++ b/include/MUtils/UpdateChecker.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/include/MUtils/Version.h b/include/MUtils/Version.h
index 222e97e..4d87c0c 100644
--- a/include/MUtils/Version.h
+++ b/include/MUtils/Version.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -68,7 +68,7 @@ namespace MUtils
 					#endif
 				#elif defined(_MSC_VER)
 					#if (_MSC_VER == 1912)
-						#if((_MSC_FULL_VER >= 191225830) && (_MSC_FULL_VER <= 191225831))
+						#if((_MSC_FULL_VER >= 191225830) && (_MSC_FULL_VER <= 191225834))
 							"MSVC 2017.5";
 						#else
 							#error Compiler version is not supported yet!
diff --git a/include/MUtilsInfo.dox b/include/MUtilsInfo.dox
index 9d6cd27..892c752 100644
--- a/include/MUtilsInfo.dox
+++ b/include/MUtilsInfo.dox
@@ -33,7 +33,7 @@
  * This library is free software. It is released under the terms of the [*GNU Lesser General Public License (LGPL), Version 2.1*](https://www.gnu.org/licenses/lgpl-2.1.html).
  * 
  *     MUtilities - MuldeR's Utilities for Qt
- *     Copyright (C) 2004-2017 LoRd_MuldeR . Some rights reserved.
+ *     Copyright (C) 2004-2018 LoRd_MuldeR . Some rights reserved.
  *     
  *     This library is free software; you can redistribute it and/or
  *     modify it under the terms of the GNU Lesser General Public
diff --git a/src/CPUFeatures_Win32.cpp b/src/CPUFeatures_Win32.cpp
index 3f96e47..6b57010 100644
--- a/src/CPUFeatures_Win32.cpp
+++ b/src/CPUFeatures_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Config.h b/src/Config.h
index 634ba7f..ce53357 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/CriticalSection_Win32.h b/src/CriticalSection_Win32.h
index f0ae0a0..a62cff7 100644
--- a/src/CriticalSection_Win32.h
+++ b/src/CriticalSection_Win32.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/DLLMain.cpp b/src/DLLMain.cpp
index 4c8cf73..b63d70b 100644
--- a/src/DLLMain.cpp
+++ b/src/DLLMain.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/DirLocker.h b/src/DirLocker.h
index bf0ca59..d06d86d 100644
--- a/src/DirLocker.h
+++ b/src/DirLocker.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/ErrorHandler_Win32.cpp b/src/ErrorHandler_Win32.cpp
index efe131b..6f28f4b 100644
--- a/src/ErrorHandler_Win32.cpp
+++ b/src/ErrorHandler_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/GUI.cpp b/src/GUI.cpp
index a2ea840..c12c210 100644
--- a/src/GUI.cpp
+++ b/src/GUI.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/GUI_Win32.cpp b/src/GUI_Win32.cpp
index e1d8218..3473fad 100644
--- a/src/GUI_Win32.cpp
+++ b/src/GUI_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Global.cpp b/src/Global.cpp
index 2cf9423..026ddff 100644
--- a/src/Global.cpp
+++ b/src/Global.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Hash.cpp b/src/Hash.cpp
index d1d6f65..75f7be1 100644
--- a/src/Hash.cpp
+++ b/src/Hash.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // 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
diff --git a/src/Hash_Blake2.cpp b/src/Hash_Blake2.cpp
index 2eb4f1f..da7376a 100644
--- a/src/Hash_Blake2.cpp
+++ b/src/Hash_Blake2.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // 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
diff --git a/src/Hash_Blake2.h b/src/Hash_Blake2.h
index d40742e..e53ed4e 100644
--- a/src/Hash_Blake2.h
+++ b/src/Hash_Blake2.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // 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
diff --git a/src/Hash_Keccak.cpp b/src/Hash_Keccak.cpp
index 5ca74ee..7dd7b9e 100644
--- a/src/Hash_Keccak.cpp
+++ b/src/Hash_Keccak.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Hash_Keccak.h b/src/Hash_Keccak.h
index e9eb4dc..7e8c6c5 100644
--- a/src/Hash_Keccak.h
+++ b/src/Hash_Keccak.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/IPCChannel.cpp b/src/IPCChannel.cpp
index a129c05..b7eacb6 100644
--- a/src/IPCChannel.cpp
+++ b/src/IPCChannel.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/JobObject_Win32.cpp b/src/JobObject_Win32.cpp
index ca4651b..a9ff0a5 100644
--- a/src/JobObject_Win32.cpp
+++ b/src/JobObject_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // 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
diff --git a/src/Mirrors.h.TEMPLATE b/src/Mirrors.h.TEMPLATE
index fe28457..e583ad2 100644
--- a/src/Mirrors.h.TEMPLATE
+++ b/src/Mirrors.h.TEMPLATE
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/OSSupport_Win32.cpp b/src/OSSupport_Win32.cpp
index c96f74d..e18d208 100644
--- a/src/OSSupport_Win32.cpp
+++ b/src/OSSupport_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Registry_Win32.cpp b/src/Registry_Win32.cpp
index 812b351..7cdaa13 100644
--- a/src/Registry_Win32.cpp
+++ b/src/Registry_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Sound_Win32.cpp b/src/Sound_Win32.cpp
index 2e12a8a..512c85b 100644
--- a/src/Sound_Win32.cpp
+++ b/src/Sound_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Startup.cpp b/src/Startup.cpp
index 4795a2b..8f15106 100644
--- a/src/Startup.cpp
+++ b/src/Startup.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Taskbar7_Win32.cpp b/src/Taskbar7_Win32.cpp
index f425729..2e63f11 100644
--- a/src/Taskbar7_Win32.cpp
+++ b/src/Taskbar7_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // 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
diff --git a/src/Terminal_Win32.cpp b/src/Terminal_Win32.cpp
index dfb7e9b..f4f2029 100644
--- a/src/Terminal_Win32.cpp
+++ b/src/Terminal_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // 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
diff --git a/src/Translation.cpp b/src/Translation.cpp
index 49a396d..e2b7371 100644
--- a/src/Translation.cpp
+++ b/src/Translation.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/UpdateChecker.cpp b/src/UpdateChecker.cpp
index c453204..fd6b468 100644
--- a/src/UpdateChecker.cpp
+++ b/src/UpdateChecker.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Utils_Win32.cpp b/src/Utils_Win32.cpp
index d1759e9..2ec4ae5 100644
--- a/src/Utils_Win32.cpp
+++ b/src/Utils_Win32.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Utils_Win32.h b/src/Utils_Win32.h
index 1af1c80..043deb7 100644
--- a/src/Utils_Win32.h
+++ b/src/Utils_Win32.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/src/Version.cpp b/src/Version.cpp
index 28e6705..d7d9c78 100644
--- a/src/Version.cpp
+++ b/src/Version.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/test/src/GlobalTest.cpp b/test/src/GlobalTest.cpp
index 71328a9..b347fcb 100644
--- a/test/src/GlobalTest.cpp
+++ b/test/src/GlobalTest.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/test/src/HashTest.cpp b/test/src/HashTest.cpp
index 4d83c49..5288184 100644
--- a/test/src/HashTest.cpp
+++ b/test/src/HashTest.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/test/src/MUtilsTest.h b/test/src/MUtilsTest.h
index 364bdd8..3d551b8 100644
--- a/test/src/MUtilsTest.h
+++ b/test/src/MUtilsTest.h
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
diff --git a/test/src/Main.cpp b/test/src/Main.cpp
index af9e893..60ee34b 100644
--- a/test/src/Main.cpp
+++ b/test/src/Main.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // MuldeR's Utilities for Qt
-// Copyright (C) 2004-2017 LoRd_MuldeR 
+// Copyright (C) 2004-2018 LoRd_MuldeR 
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -103,7 +103,7 @@ static void qt_message_handler(QtMsgType type, const char *const msg)
 int wmain(int argc, wchar_t **argv)
 {
 	printf("MuldeR's Utilities for Qt v%u.%02u - Regression Test Suite [%s]\n", MUtils::Version::lib_version_major(), MUtils::Version::lib_version_minor(), MUTILS_DEBUG ? "DEBUG" : "RELEASE");
-	printf("Copyright (C) 2004-2017 LoRd_MuldeR . Some rights reserved.\n");
+	printf("Copyright (C) 2004-2018 LoRd_MuldeR . Some rights reserved.\n");
 	printf("Built on %s at %s with %s for Win-%s.\n\n", MUTILS_UTF8(MUtils::Version::lib_build_date().toString(Qt::ISODate)), MUTILS_UTF8(MUtils::Version::lib_build_time().toString(Qt::ISODate)), MUtils::Version::compiler_version(), MUtils::Version::compiler_arch());
 
 	printf("This library is free software; you can redistribute it and/or\n");