[X2Go-Commits] [x2goclient] 01/01: Windows client. - Move PulseManager MsgBox functions to main window: GUI functions should be used only from main thread.
git-admin at x2go.org
git-admin at x2go.org
Mon May 15 12:35:19 CEST 2017
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2goclient.
commit 9128d9b24ba54890f9dfd9057c0b2f30b4daceb8
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date: Mon May 15 12:34:10 2017 +0200
Windows client. - Move PulseManager MsgBox functions to main window: GUI functions should be used only from main thread.
---
debian/changelog | 5 ++++-
src/onmainwindow.cpp | 17 +++++++++++++++++
src/onmainwindow.h | 1 +
src/pulsemanager.cpp | 32 ++++++++++++++++++--------------
src/pulsemanager.h | 3 ++-
5 files changed, 42 insertions(+), 16 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 832c740..038ae9c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -159,9 +159,12 @@ x2goclient (4.1.0.1-0x2go1) UNRELEASED; urgency=medium
- Interaction with SSH server (for example for changing
expired password). Fixes: #592.
- Fixing setting widget style issue in InteractionDialog on
+ Windows client.
- SSH Interaction for SSH Broker and SSH Server.
- SSH Iteraction for method keyboard-interactive.
- Windows client.
+ - Move PulseManager MsgBox functions to main window:
+ GUI functions should be used only from main thread.
+
[ Robert Parts ]
* New upstream version (4.1.0.1):
- res/i18n/x2goclient_et.ts: update Estonian translation file.
diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp
index 3c1014e..e1d5b93 100644
--- a/src/onmainwindow.cpp
+++ b/src/onmainwindow.cpp
@@ -1522,9 +1522,12 @@ void ONMainWindow::closeClient()
#if defined (Q_OS_DARWIN) || defined (Q_OS_WIN)
if (pulseManager) {
+ disconnect(pulseManager, SIGNAL(sig_pulse_user_warning(bool, const QString&, const QString&, bool)),
+ this, SLOT(slotShowPAMSGDialog(bool, const QString&, const QString&, bool)));
delete (pulseManager);
if (pulseManagerThread) {
+
pulseManagerThread->quit ();
pulseManagerThread->wait ();
}
@@ -6747,6 +6750,8 @@ void ONMainWindow::pulseManagerWrapper () {
{
pulseManagerThread = new QThread (0);
pulseManager = new PulseManager ();
+ connect(pulseManager, SIGNAL(sig_pulse_user_warning(bool, const QString&, const QString&, bool)),
+ this, SLOT(slotShowPAMSGDialog(bool, const QString&, const QString&, bool)));
pulseManager->set_debug (debugging);
@@ -9073,6 +9078,18 @@ void ONMainWindow::slotScDaemonError (QProcess::ProcessError error) {
trayQuit ();
}
+void ONMainWindow::slotShowPAMSGDialog(bool error, const QString& main_text, const QString& info_text, bool modal)
+{
+ if(error)
+ {
+ show_RichText_ErrorMsgBox(main_text, info_text,modal);
+ }
+ else
+ {
+ show_RichText_WarningMsgBox(main_text, info_text, modal);
+ }
+}
+
void ONMainWindow::slotGpgError()
{
diff --git a/src/onmainwindow.h b/src/onmainwindow.h
index a294d1e..9e749d3 100644
--- a/src/onmainwindow.h
+++ b/src/onmainwindow.h
@@ -1050,6 +1050,7 @@ public slots:
void setFocus();
private slots:
+ void slotShowPAMSGDialog(bool error, const QString& main_text, const QString& info_text, bool modal);
void slotSnameChanged ( const QString& );
void slotSelectedFromList ( SessionButton* session );
void slotSessEnter();
diff --git a/src/pulsemanager.cpp b/src/pulsemanager.cpp
index 98ab6ee..4b144e2 100644
--- a/src/pulsemanager.cpp
+++ b/src/pulsemanager.cpp
@@ -146,7 +146,7 @@ PulseManager::PulseManager () : app_dir_ (QApplication::applicationDirPath ()),
for (buf = ptr = NULL; ptr == NULL; path_len += 20) {
if (NULL == (buf = static_cast<char *> (realloc (buf, path_len)))) {
x2goErrorf (16) << "Could not allocate buffer for getting current working directory!";
- show_RichText_ErrorMsgBox (tr ("Could not allocate buffer for getting current working directory!"),
+ emit sig_pulse_user_warning (true, tr ("Could not allocate buffer for getting current working directory!"),
QString (),
true);
abort ();
@@ -158,7 +158,7 @@ PulseManager::PulseManager () : app_dir_ (QApplication::applicationDirPath ()),
if ((NULL == ptr) && (ERANGE != errno)) {
int saved_errno = errno;
x2goErrorf (17) << "getcwd() failed: " << QString (strerror (saved_errno));
- show_RichText_ErrorMsgBox (tr ("getcwd() failed!"),
+ emit sig_pulse_user_warning (true, tr ("getcwd() failed!"),
QString (strerror (saved_errno)),
true);
abort ();
@@ -407,7 +407,7 @@ void PulseManager::fetch_pulseaudio_version () {
}
else {
x2goErrorf (21) << "Unexpected character found when parsing version string for major version number: '" << QString (*cit) << "'.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Unexpected character found when parsing version string for major version number")
+ ": '" + QString (*cit) + "'.",
true);
@@ -432,7 +432,7 @@ void PulseManager::fetch_pulseaudio_version () {
}
else {
x2goErrorf (23) << "Unexpected character found when parsing version string for minor version number: '" << QString (*cit) << "'.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Unexpected character found when parsing version string for minor version number")
+ ": '" + QString (*cit) + "'.",
true);
@@ -450,7 +450,7 @@ void PulseManager::fetch_pulseaudio_version () {
}
else {
x2goErrorf (25) << "Unexpected character found when parsing version string for micro version number: '" << QString (*cit) << "'.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Unexpected character found when parsing version string for micro version number")
+ ": '" + QString (*cit) + "'.",
true);
@@ -465,7 +465,7 @@ void PulseManager::fetch_pulseaudio_version () {
if (numbers_skip[0]) {
x2goErrorf (30) << "Supposed to skip major version number. Something is wrong.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Supposed to skip major version number. "
"Something is wrong."),
true);
@@ -479,7 +479,7 @@ void PulseManager::fetch_pulseaudio_version () {
if (!convert_success) {
x2goErrorf (20) << "Unable to convert major version number string to integer.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Unable to convert major version number string to integer."),
true);
stop_processing = true;
@@ -497,7 +497,7 @@ void PulseManager::fetch_pulseaudio_version () {
if (!convert_success) {
x2goErrorf (22) << "Unable to convert minor version number string to integer.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Unable to convert minor version number string to integer."),
true);
stop_processing = true;
@@ -511,7 +511,7 @@ void PulseManager::fetch_pulseaudio_version () {
if (!convert_success) {
x2goErrorf (24) << "Unable to convert micro version number string to integer.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Unable to convert micro version number string to integer."),
true);
stop_processing = true;
@@ -536,14 +536,14 @@ void PulseManager::fetch_pulseaudio_version () {
if (!found) {
x2goErrorf (19) << "Unable to fetch PulseAudio version - unexpected format.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Unexpected format encountered."),
true);
}
}
else {
x2goErrorf (18) << "Unable to start PulseAudio to fetch its version number.";
- show_RichText_ErrorMsgBox (tr ("Error fetching PulseAudio version number!"),
+ emit sig_pulse_user_warning (true, tr ("Error fetching PulseAudio version number!"),
tr ("Unable to start PulseAudio binary."),
true);
}
@@ -773,9 +773,13 @@ void PulseManager::slot_play_startup_sound () {
}
void PulseManager::slot_on_pulse_finished (int exit_code) {
- if (!exit_code)
+ if (exit_code)
+ {
x2goDebug << "Warning! Pulseaudio's exit code is non-zero.";
+ show_startup_warning(true);
+ }
+ x2goDebug << "Pulseaudio finished with code:"<<exit_code;
QByteArray ba (pulse_server_->readAllStandardOutput ());
char *data = ba.data ();
x2goDebug << data;
@@ -916,7 +920,7 @@ QProcess::ProcessState PulseManager::state () {
return (state_);
}
-void PulseManager::show_startup_warning (bool play_startup_sound) const {
+void PulseManager::show_startup_warning (bool play_startup_sound){
QString main_text, informative_text;
if (!(play_startup_sound)) {
@@ -933,5 +937,5 @@ void PulseManager::show_startup_warning (bool play_startup_sound) const {
"https://wiki.x2go.org/doku.php/wiki:bugs"
"</a></center>\n");
- show_RichText_WarningMsgBox (main_text, informative_text, true);
+ emit sig_pulse_user_warning (false, main_text, informative_text, true);
}
diff --git a/src/pulsemanager.h b/src/pulsemanager.h
index c9359d7..1472596 100644
--- a/src/pulsemanager.h
+++ b/src/pulsemanager.h
@@ -90,7 +90,7 @@ class PulseManager: public QObject {
bool is_server_running () const;
- void show_startup_warning (bool play_startup_sound = false) const;
+ void show_startup_warning (bool play_startup_sound = false);
private slots:
@@ -100,6 +100,7 @@ class PulseManager: public QObject {
signals:
void sig_pulse_server_terminated ();
+ void sig_pulse_user_warning(bool error, const QString& main_text, const QString& inf_text, bool modal);
private:
--
Alioth's /srv/git/code.x2go.org/x2goclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
More information about the x2go-commits
mailing list