diff options
Diffstat (limited to 'installerbuilder/installerbase')
-rw-r--r-- | installerbuilder/installerbase/installerbase.cpp | 2 | ||||
-rw-r--r-- | installerbuilder/installerbase/installerbase_p.cpp | 35 | ||||
-rw-r--r-- | installerbuilder/installerbase/installerbase_p.h | 3 |
3 files changed, 30 insertions, 10 deletions
diff --git a/installerbuilder/installerbase/installerbase.cpp b/installerbuilder/installerbase/installerbase.cpp index c066cdee3..c73c834da 100644 --- a/installerbuilder/installerbase/installerbase.cpp +++ b/installerbuilder/installerbase/installerbase.cpp @@ -56,6 +56,8 @@ #include <QtNetwork/QNetworkProxyFactory> +#include <iostream> + #define QUOTE_(x) #x #define QUOTE(x) QUOTE_(x) #define VERSION "Installerbase SHA1: \"" QUOTE(_GIT_SHA1_) "\" , Build date: " QUOTE(__DATE__) "." diff --git a/installerbuilder/installerbase/installerbase_p.cpp b/installerbuilder/installerbase/installerbase_p.cpp index e3dc0dd83..494389055 100644 --- a/installerbuilder/installerbase/installerbase_p.cpp +++ b/installerbuilder/installerbase/installerbase_p.cpp @@ -51,7 +51,25 @@ #include <QtGui/QMessageBox> +#include <fstream> #include <iomanip> +#include <iostream> + +#ifdef Q_OS_WIN +#include <wincon.h> + +#ifndef ENABLE_INSERT_MODE +# define ENABLE_INSERT_MODE 0x0020 +#endif + +#ifndef ENABLE_QUICK_EDIT_MODE +# define ENABLE_QUICK_EDIT_MODE 0x0040 +#endif + +#ifndef ENABLE_EXTENDED_FLAGS +# define ENABLE_EXTENDED_FLAGS 0x0080 +#endif +#endif using namespace KDUpdater; using namespace QInstaller; @@ -87,15 +105,18 @@ public: #ifdef Q_OS_WIN AllocConsole(); - HANDLE stdOutHandle = GetStdHandle(STD_OUTPUT_HANDLE); - if (stdOutHandle != INVALID_HANDLE_VALUE) { - COORD largestConsoleWindowSize = GetLargestConsoleWindowSize(stdOutHandle); - largestConsoleWindowSize.X -= 1; - largestConsoleWindowSize.Y -= 1; - SetConsoleScreenBufferSize(stdOutHandle, largestConsoleWindowSize); - SetConsoleMode(stdOutHandle, ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS); + HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); + if (handle != INVALID_HANDLE_VALUE) { + COORD largestConsoleWindowSize = GetLargestConsoleWindowSize(handle); + largestConsoleWindowSize.X -= 3; + largestConsoleWindowSize.Y = 5000; + SetConsoleScreenBufferSize(handle, largestConsoleWindowSize); } + handle = GetStdHandle(STD_INPUT_HANDLE); + if (handle != INVALID_HANDLE_VALUE) + SetConsoleMode(handle, ENABLE_INSERT_MODE | ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS); + m_oldCin = std::cin.rdbuf(); m_newCin.open("CONIN$"); std::cin.rdbuf(m_newCin.rdbuf()); diff --git a/installerbuilder/installerbase/installerbase_p.h b/installerbuilder/installerbase/installerbase_p.h index b21adf60f..9189ad8cc 100644 --- a/installerbuilder/installerbase/installerbase_p.h +++ b/installerbuilder/installerbase/installerbase_p.h @@ -33,9 +33,6 @@ #include <QtCore/QThread> #include <QtGui/QApplication> -#include <fstream> -#include <iostream> - namespace KDUpdater { class FileDownloader; } |