summaryrefslogtreecommitdiffstats
path: root/installerbuilder/installerbase
diff options
context:
space:
mode:
Diffstat (limited to 'installerbuilder/installerbase')
-rw-r--r--installerbuilder/installerbase/installerbase.cpp2
-rw-r--r--installerbuilder/installerbase/installerbase_p.cpp35
-rw-r--r--installerbuilder/installerbase/installerbase_p.h3
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;
}