fix merge issues, make console window work again
This commit is contained in:
parent
cd1fdbbbc2
commit
e4f86893a8
@ -266,7 +266,7 @@ IF(DEFINED MMC_KEYRING_TEST)
|
||||
# test.cpp
|
||||
ADD_EXECUTABLE(Test test.cpp)
|
||||
QT5_USE_MODULES(Test Core)
|
||||
TARGET_LINK_LIBRARIES(Test libmmcutil libmmcsettings)
|
||||
TARGET_LINK_LIBRARIES(Test libUtil libSettings)
|
||||
ENDIF()
|
||||
|
||||
################################ INSTALLATION AND PACKAGING ################################
|
||||
|
@ -28,18 +28,19 @@ void ConsoleWindow::writeColor(QString text, const char *color)
|
||||
bar->setValue(bar->maximum());
|
||||
}
|
||||
|
||||
void ConsoleWindow::write(QString data, WriteMode mode)
|
||||
void ConsoleWindow::write(QString data, MessageLevel::Enum mode)
|
||||
{
|
||||
if (data.endsWith('\n'))
|
||||
data = data.left(data.length()-1);
|
||||
QStringList paragraphs = data.split('\n');
|
||||
QListIterator<QString> iter(paragraphs);
|
||||
if (mode == MULTIMC)
|
||||
if (mode == MessageLevel::MultiMC)
|
||||
while(iter.hasNext())
|
||||
writeColor(iter.next(), "blue");
|
||||
else if (mode == ERROR)
|
||||
else if (mode == MessageLevel::Error)
|
||||
while(iter.hasNext())
|
||||
writeColor(iter.next(), "red");
|
||||
// TODO: implement other MessageLevels
|
||||
else
|
||||
while(iter.hasNext())
|
||||
writeColor(iter.next());
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define CONSOLEWINDOW_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "minecraftprocess.h"
|
||||
|
||||
namespace Ui {
|
||||
class ConsoleWindow;
|
||||
@ -12,16 +13,6 @@ class ConsoleWindow : public QDialog
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief The WriteMode enum
|
||||
* defines how stuff is displayed
|
||||
*/
|
||||
enum WriteMode {
|
||||
DEFAULT,
|
||||
ERROR,
|
||||
MULTIMC
|
||||
};
|
||||
|
||||
explicit ConsoleWindow(QWidget *parent = 0);
|
||||
~ConsoleWindow();
|
||||
|
||||
@ -39,7 +30,7 @@ public slots:
|
||||
* @param mode the WriteMode
|
||||
* lines have to be put through this as a whole!
|
||||
*/
|
||||
void write(QString data, WriteMode mode=MULTIMC);
|
||||
void write(QString data, MessageLevel::Enum level=MessageLevel::MultiMC);
|
||||
|
||||
/**
|
||||
* @brief write a colored paragraph
|
||||
|
@ -23,6 +23,22 @@
|
||||
|
||||
#include "libmmc_config.h"
|
||||
|
||||
/**
|
||||
* @brief the MessageLevel Enum
|
||||
* defines what level a message is
|
||||
*/
|
||||
namespace MessageLevel {
|
||||
enum LIBMULTIMC_EXPORT Enum {
|
||||
MultiMC, /**< MultiMC Messages */
|
||||
Debug, /**< Debug Messages */
|
||||
Info, /**< Info Messages */
|
||||
Message, /**< Standard Messages */
|
||||
Warning, /**< Warnings */
|
||||
Error, /**< Errors */
|
||||
Fatal /**< Fatal Errors */
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @file data/minecraftprocess.h
|
||||
* @brief The MinecraftProcess class
|
||||
@ -77,6 +93,13 @@ signals:
|
||||
*/
|
||||
void ended();
|
||||
|
||||
/**
|
||||
* @brief emitted when we want to log something
|
||||
* @param text the text to log
|
||||
* @param level the level to log at
|
||||
*/
|
||||
void log(QString text, MessageLevel::Enum level=MessageLevel::MultiMC);
|
||||
|
||||
protected:
|
||||
InstancePtr m_instance;
|
||||
QString m_user;
|
||||
@ -85,7 +108,6 @@ protected:
|
||||
QStringList m_arguments;
|
||||
|
||||
void genArgs();
|
||||
void log(QString text, ConsoleWindow::WriteMode mode = ConsoleWindow::MULTIMC);
|
||||
|
||||
protected slots:
|
||||
void finish(int, QProcess::ExitStatus status);
|
||||
|
@ -125,22 +125,12 @@ MinecraftProcess::MinecraftProcess(InstancePtr inst, QString user, QString sessi
|
||||
// console window
|
||||
void MinecraftProcess::on_stdErr()
|
||||
{
|
||||
// if (m_console != nullptr)
|
||||
// m_console->write(readAllStandardError(), ConsoleWindow::ERROR);
|
||||
emit log(readAllStandardError(), MessageLevel::Error);
|
||||
}
|
||||
|
||||
void MinecraftProcess::on_stdOut()
|
||||
{
|
||||
// if (m_console != nullptr)
|
||||
// m_console->write(readAllStandardOutput(), ConsoleWindow::DEFAULT);
|
||||
}
|
||||
|
||||
void MinecraftProcess::log(QString text)
|
||||
{
|
||||
// if (m_console != nullptr)
|
||||
// m_console->write(text);
|
||||
// else
|
||||
qDebug(qPrintable(text));
|
||||
emit log(readAllStandardOutput(), MessageLevel::Message);
|
||||
}
|
||||
|
||||
// exit handler
|
||||
@ -151,7 +141,7 @@ void MinecraftProcess::finish(int code, ExitStatus status)
|
||||
//TODO: error handling
|
||||
}
|
||||
|
||||
log("Minecraft exited.");
|
||||
emit log("Minecraft exited.");
|
||||
|
||||
m_prepostlaunchprocess.processEnvironment().insert("INST_EXITCODE", QString(code));
|
||||
|
||||
@ -191,13 +181,13 @@ void MinecraftProcess::launch()
|
||||
|
||||
genArgs();
|
||||
|
||||
log(QString("Minecraft folder is: '%1'").arg(workingDirectory()));
|
||||
log(QString("Instance launched with arguments: '%1'").arg(m_arguments.join("' '")));
|
||||
emit log(QString("Minecraft folder is: '%1'").arg(workingDirectory()));
|
||||
emit log(QString("Instance launched with arguments: '%1'").arg(m_arguments.join("' '")));
|
||||
|
||||
start(m_instance->settings().get("JavaPath").toString(), m_arguments);
|
||||
if (!waitForStarted())
|
||||
{
|
||||
log("Could not launch minecraft!", ConsoleWindow::ERROR);
|
||||
emit log("Could not launch minecraft!");
|
||||
return;
|
||||
//TODO: error handling
|
||||
}
|
||||
|
@ -18,6 +18,12 @@ include/overridesetting.h
|
||||
|
||||
include/basicsettingsobject.h
|
||||
include/inisettingsobject.h
|
||||
|
||||
include/keyring.h
|
||||
)
|
||||
|
||||
SET(LIBSETTINGS_HEADERS_PRIVATE
|
||||
src/stubkeyring.h
|
||||
)
|
||||
|
||||
SET(LIBSETTINGS_SOURCES
|
||||
@ -29,6 +35,9 @@ src/overridesetting.cpp
|
||||
|
||||
src/basicsettingsobject.cpp
|
||||
src/inisettingsobject.cpp
|
||||
|
||||
src/keyring.cpp
|
||||
src/stubkeyring.cpp
|
||||
)
|
||||
|
||||
# Set the include dir path.
|
||||
@ -37,6 +46,6 @@ include_directories(${LIBSETTINGS_INCLUDE_DIR})
|
||||
|
||||
add_definitions(-DLIBSETTINGS_LIBRARY)
|
||||
|
||||
add_library(libSettings SHARED ${LIBSETTINGS_SOURCES} ${LIBSETTINGS_HEADERS})
|
||||
add_library(libSettings SHARED ${LIBSETTINGS_SOURCES} ${LIBSETTINGS_HEADERS} ${LIBSETTINGS_HEADERS_PRIVATE})
|
||||
qt5_use_modules(libSettings Core)
|
||||
target_link_libraries(libSettings)
|
||||
|
@ -18,7 +18,7 @@
|
||||
#ifndef KEYRING_H
|
||||
#define KEYRING_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include "libsettings_config.h"
|
||||
|
||||
@ -31,9 +31,8 @@
|
||||
* @brief The Keyring class
|
||||
* the System Keyring/Keychain/Wallet/Vault/etc
|
||||
*/
|
||||
class LIBMMCSETTINGS_EXPORT Keyring : public QObject
|
||||
class LIBSETTINGS_EXPORT Keyring
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
/**
|
||||
* @brief the System Keyring instance
|
||||
|
@ -24,7 +24,6 @@
|
||||
|
||||
class StubKeyring : public Keyring
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
virtual bool storePassword(QString service, QString username, QString password);
|
||||
virtual QString getPassword(QString service, QString username);
|
||||
|
Loading…
Reference in New Issue
Block a user