From 264f02e1c2bd3039944c3f4978f01550716fc078 Mon Sep 17 00:00:00 2001 From: Lubos Dolezel Date: Tue, 2 Jun 2015 20:30:30 +0200 Subject: Ported Q3Process and Q3ProgressDialog --- src/gui/gui.cpp | 158 ++++++++++++++++++++++++++++--------------------------- src/gui/gui.h | 4 +- src/gui/main.cpp | 1 - 3 files changed, 82 insertions(+), 81 deletions(-) (limited to 'src/gui') diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index c383472..4f90132 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -67,7 +67,7 @@ #include "q3listbox.h" #include "qmessagebox.h" #include "qpixmap.h" -#include "q3process.h" +#include #include "qpushbutton.h" #include "qsize.h" #include "qsizepolicy.h" @@ -2030,26 +2030,83 @@ void t_gui::cb_stun_failed(t_user *user_config) { bool t_gui::cb_ask_user_to_redirect_invite(t_user *user_config, const t_url &destination, const string &display) +{ + bool retval; + QMetaObject::invokeMethod(this, "do_cb_ask_user_to_redirect_invite", Qt::BlockingQueuedConnection, + Q_RETURN_ARG(bool, retval), Q_ARG(t_user*, user_config), + Q_ARG(const t_url&, destination), Q_ARG(const string&, display)); + + return retval; +} + +bool t_gui::cb_ask_user_to_redirect_request(t_user *user_config, + const t_url &destination, + const string &display, t_method method) +{ + bool retval; + QMetaObject::invokeMethod(this, "do_cb_ask_user_to_redirect_request", Qt::BlockingQueuedConnection, + Q_RETURN_ARG(bool, retval), Q_ARG(t_user*, user_config), + Q_ARG(const t_url&, destination), Q_ARG(const string&, display), + Q_ARG(t_method, method)); + + return retval; +} + +bool t_gui::do_cb_ask_credentials(t_user *user_config, const string &realm, string &username, + string &password) +{ + QString user(username.c_str()); + QString passwd(password.c_str()); + + AuthenticationForm *af = new AuthenticationForm(mainWindow, "authentication", + true); + MEMMAN_NEW(af); + if (!af->exec(user_config, QString(realm.c_str()), user, passwd)) { + MEMMAN_DELETE(af); + delete af; + return false; + } + + username = user.ascii(); + password = passwd.ascii(); + MEMMAN_DELETE(af); + delete af; + + return true; +} + +bool t_gui::cb_ask_credentials(t_user *user_config, const string &realm, string &username, + string &password) +{ + bool retval; + QMetaObject::invokeMethod(this, "do_cb_ask_credentials", Qt::BlockingQueuedConnection, + Q_RETURN_ARG(bool, retval), Q_ARG(t_user*, user_config), + Q_ARG(const string&, realm), Q_ARG(string&, username), + Q_ARG(string&, password)); + + return retval; +} + +bool t_gui::do_cb_ask_user_to_redirect_invite(t_user *user_config, const t_url &destination, + const string &display) { QString s; QString title; - - lock(); - + title = PRODUCT_NAME; title.append(" - ").append(qApp->translate("GUI", "Redirecting call")); - + s = qApp->translate("GUI", "User profile:").append(" "); s.append(user_config->get_profile_name().c_str()); s.append("
").append(qApp->translate("GUI", "User:")).append(" "); s.append(str2html(user_config->get_display_uri().c_str())); s.append("

"); - + s.append(qApp->translate("GUI", "Do you allow the call to be redirected to the following destination?")); s.append("

"); s.append(str2html(ui->format_sip_address(user_config, display, destination).c_str())); s.append("

"); - s.append(qApp->translate("GUI", + s.append(qApp->translate("GUI", "If you don't want to be asked this anymore, then you must change " "the settings in the SIP protocol section of the user profile.")); QMessageBox *mb = new QMessageBox(title, s, @@ -2062,31 +2119,26 @@ bool t_gui::cb_ask_user_to_redirect_invite(t_user *user_config, const t_url &des bool permission = (mb->exec() == QMessageBox::Yes); MEMMAN_DELETE(mb); delete mb; - - unlock(); - + return permission; } -bool t_gui::cb_ask_user_to_redirect_request(t_user *user_config, - const t_url &destination, - const string &display, t_method method) +bool t_gui::do_cb_ask_user_to_redirect_request(t_user *user_config, const t_url &destination, + const string &display, t_method method) { QString s; QString title; - - lock(); - + title = PRODUCT_NAME; title.append(" - ").append(qApp->translate("GUI", "Redirecting request")); - + s = qApp->translate("GUI", "User profile:").append(" "); s.append(user_config->get_profile_name().c_str()); s.append("
").append(qApp->translate("GUI", "User:")).append(" "); s.append(str2html(user_config->get_display_uri().c_str())); s.append("

"); - - s.append(qApp->translate("GUI", + + s.append(qApp->translate("GUI", "Do you allow the %1 request to be redirected to the following destination?").arg( method2str(method).c_str())); s.append("

"); @@ -2105,57 +2157,8 @@ bool t_gui::cb_ask_user_to_redirect_request(t_user *user_config, bool permission = (mb->exec() == QMessageBox::Yes); MEMMAN_DELETE(mb); delete mb; - - unlock(); - - return permission; -} - -bool t_gui::do_cb_ask_credentials(t_user *user_config, const string &realm, string &username, - string &password) -{ - QString user(username.c_str()); - QString passwd(password.c_str()); - AuthenticationForm *af = new AuthenticationForm(mainWindow, "authentication", - true); - MEMMAN_NEW(af); - if (!af->exec(user_config, QString(realm.c_str()), user, passwd)) { - MEMMAN_DELETE(af); - delete af; - return false; - } - - username = user.ascii(); - password = passwd.ascii(); - MEMMAN_DELETE(af); - delete af; - - return true; -} - -bool t_gui::cb_ask_credentials(t_user *user_config, const string &realm, string &username, - string &password) -{ - bool retval; - QMetaObject::invokeMethod(this, "do_cb_ask_credentials", Qt::BlockingQueuedConnection, - Q_RETURN_ARG(bool, retval), Q_ARG(t_user*, user_config), - Q_ARG(const string&, realm), Q_ARG(string&, username), - Q_ARG(string&, password)); - - return retval; -} - -bool t_gui::do_cb_ask_user_to_redirect_invite(t_user *user_config, const t_url &destination, - const string &display) -{ - // TODO -} - -bool t_gui::do_cb_ask_user_to_redirect_request(t_user *user_config, const t_url &destination, - const string &display, t_method method) -{ - // TODO + return permission; } void t_gui::cb_ask_user_to_refer(t_user *user_config, const t_url &refer_to_uri, @@ -2312,18 +2315,17 @@ void t_gui::cb_missed_call(int num_missed_calls) { } void t_gui::cb_nat_discovery_progress_start(int num_steps) { - natDiscoveryProgressDialog = new Q3ProgressDialog( + natDiscoveryProgressDialog = new QProgressDialog( qApp->translate("GUI", "Firewall / NAT discovery..."), qApp->translate("GUI", "Abort"), - num_steps, NULL, - "nat discovery progress", true); + 0, num_steps, mainWindow); MEMMAN_NEW(natDiscoveryProgressDialog); natDiscoveryProgressDialog->setCaption(PRODUCT_NAME); natDiscoveryProgressDialog->setMinimumDuration(200); } void t_gui::cb_nat_discovery_progress_step(int step) { - natDiscoveryProgressDialog->setProgress(step); + natDiscoveryProgressDialog->setValue(step); qApp->processEvents(); } @@ -2333,7 +2335,7 @@ void t_gui::cb_nat_discovery_finished(void) { } bool t_gui::cb_nat_discovery_cancelled(void) { - return natDiscoveryProgressDialog->wasCancelled(); + return natDiscoveryProgressDialog->wasCanceled(); } void t_gui::cb_line_encrypted(int line, bool encrypted, const string &cipher_mode) { @@ -3053,13 +3055,13 @@ void t_gui::open_url_in_browser(const QString &url) { } } #endif - Q3Process process; + QProcess process; bool process_started = false; QStringList browsers; if (sys_browser.empty()) { - browsers << "firefox" << "mozilla" << "netscape" << "opera"; + browsers << "xdg-open" << "firefox" << "mozilla" << "netscape" << "opera"; browsers << "galeon" << "epiphany" << "konqueror"; } else { browsers << sys_browser.c_str(); @@ -3067,8 +3069,8 @@ void t_gui::open_url_in_browser(const QString &url) { for (QStringList::Iterator it = browsers.begin(); it != browsers.end(); ++it) { - process.setArguments(QStringList() << *it << url); - process_started = process.start(); + process.start(*it, QStringList(url)); + process_started = process.waitForStarted(1000); if (process_started) break; } diff --git a/src/gui/gui.h b/src/gui/gui.h index e184e67..1634a6e 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -31,7 +31,7 @@ #include "qcombobox.h" #include "qlabel.h" #include "qlineedit.h" -#include "q3progressdialog.h" +#include #include "qtimer.h" #include "qtoolbutton.h" #include "qwidget.h" @@ -74,7 +74,7 @@ private: QTimer *timerUpdateMessageSessions; // Progress dialog for FW/NAT discovery progress bar - Q3ProgressDialog *natDiscoveryProgressDialog; + QProgressDialog *natDiscoveryProgressDialog; // Pointers to line information fields to display information QLineEdit *fromLabel; diff --git a/src/gui/main.cpp b/src/gui/main.cpp index f93d352..cd0ad5b 100644 --- a/src/gui/main.cpp +++ b/src/gui/main.cpp @@ -26,7 +26,6 @@ #include #include #include -#include #include #include "mphoneform.h" -- cgit v1.2.3