[opensuse-commit] commit qactus for openSUSE:Factory
Hello community, here is the log from the commit of package qactus for openSUSE:Factory checked in at 2020-11-29 12:31:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qactus (Old) and /work/SRC/openSUSE:Factory/.qactus.new.5913 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "qactus" Sun Nov 29 12:31:11 2020 rev:9 rq:851593 version:2.0.3 Changes: -------- --- /work/SRC/openSUSE:Factory/qactus/qactus.changes 2020-06-17 14:56:57.114340071 +0200 +++ /work/SRC/openSUSE:Factory/.qactus.new.5913/qactus.changes 2020-11-29 12:31:15.082173500 +0100 @@ -1,0 +2,9 @@ +Sat Nov 28 19:30:17 UTC 2020 - Javier Llorente <javier@opensuse.org> + +- Update to 2.0.3 + * Minor fixes: + - follow redirects + - empty bookmark list on user switch + * Improve the configure dialog + +------------------------------------------------------------------- Old: ---- qactus-2.0.2.tar.gz New: ---- qactus-2.0.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qactus.spec ++++++ --- /var/tmp/diff_new_pack.bwCN5h/_old 2020-11-29 12:31:15.822174248 +0100 +++ /var/tmp/diff_new_pack.bwCN5h/_new 2020-11-29 12:31:15.822174248 +0100 @@ -23,7 +23,7 @@ %global devname %{libprefix}-devel Name: qactus -Version: 2.0.2 +Version: 2.0.3 Release: 0 Summary: A GUI client for OBS License: GPL-2.0-only OR GPL-3.0-only ++++++ qactus-2.0.2.tar.gz -> qactus-2.0.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/CMakeLists.txt new/qactus-2.0.3/CMakeLists.txt --- old/qactus-2.0.2/CMakeLists.txt 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/CMakeLists.txt 2020-11-28 20:25:38.000000000 +0100 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.5) project(Qactus - VERSION 2.0.2 + VERSION 2.0.3 LANGUAGES CXX) add_definitions(-DQACTUS_VERSION="${PROJECT_VERSION}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/ChangeLog new/qactus-2.0.3/ChangeLog --- old/qactus-2.0.2/ChangeLog 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/ChangeLog 2020-11-28 20:25:38.000000000 +0100 @@ -1,5 +1,11 @@ Qactus ChangeLog ================ +v2.0.3 (2020-11-28) +- Minor fixes: + * follow redirects + * empty bookmark list on user switch +- Improve the configure dialog + v2.0.2 (2020-06-16) - RequestStateEditor enhancements: * enable keyboard navigation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/qactus.spec new/qactus-2.0.3/qactus.spec --- old/qactus-2.0.2/qactus.spec 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/qactus.spec 2020-11-28 20:25:38.000000000 +0100 @@ -22,7 +22,7 @@ %global devname %{libprefix}-devel Name: qactus -Version: 2.0.2 +Version: 2.0.3 Release: 0 Summary: A GUI client for OBS License: GPL-2.0 or GPL-3.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/gui/browser/bookmarks.cpp new/qactus-2.0.3/src/gui/browser/bookmarks.cpp --- old/qactus-2.0.2/src/gui/browser/bookmarks.cpp 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/gui/browser/bookmarks.cpp 2020-11-28 20:25:38.000000000 +0100 @@ -1,7 +1,7 @@ /* * Qactus - A Qt-based OBS client * - * Copyright (C) 2019 Javier Llorente <javier@opensuse.org> + * Copyright (C) 2019-2020 Javier Llorente <javier@opensuse.org> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -48,6 +48,7 @@ void Bookmarks::slotLoadBookmarks(OBSPerson *person) { m_person = person; + clear(); for (QString entry : person->getWatchList()) { addItem(entry); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/gui/configure.cpp new/qactus-2.0.3/src/gui/configure.cpp --- old/qactus-2.0.2/src/gui/configure.cpp 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/gui/configure.cpp 2020-11-28 20:25:38.000000000 +0100 @@ -1,7 +1,7 @@ /* * Qactus - A Qt based OBS notifier * - * Copyright (C) 2013-2018 Javier Llorente <javier@opensuse.org> + * Copyright (C) 2013-2020 Javier Llorente <javier@opensuse.org> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,6 +20,7 @@ #include "configure.h" #include "ui_configure.h" +#include "credentials.h" Configure::Configure(QWidget *parent, OBS *obs) : QDialog(parent), @@ -36,21 +37,8 @@ ui->checkBoxHomeProjects->setChecked(includeHomeProjects); proxySettingsSetup(); -// loginDialog = new Login(ui->authPage); -// ui->stackedWidget->insertWidget(0, loginDialog); - - login = new Login(); - login->configureMode(); - QListWidgetItem *loginItem = new QListWidgetItem(); - loginItem->setText("Authentication"); - loginItem->setIcon(QIcon(":/icons/dialog-password.png")); - - // Note: Ownership of widget is passed onto the stacked/list widget - ui->stackedWidget->insertWidget(0, login); - ui->listWidget->insertItem(0, loginItem); - for (int i = 0; i < ui->listWidget->count(); ++i) { - ui->listWidget->item(i)->setSizeHint(QSize(97,60)); + ui->listWidget->item(i)->setSizeHint(QSize(115, 70)); } ui->listWidget->setMaximumWidth(ui->listWidget->sizeHintForColumn(0)+4); @@ -59,6 +47,7 @@ connect(ui->listWidget, SIGNAL(currentRowChanged(int)), ui->stackedWidget, SLOT(setCurrentIndex(int))); ui->listWidget->setCurrentRow(0); + readAuthSettings(); readProxySettings(); readSettings(); readTimerSettings(); @@ -103,12 +92,9 @@ qDebug() << "Configure::writeSettings()"; QSettings settings; + writeAuthSettings(); writeProxySettings(); - settings.beginGroup("Auth"); - settings.setValue("ApiUrl", mOBS->getApiUrl()); - settings.endGroup(); - settings.beginGroup("Timer"); settings.setValue("Active", ui->checkBoxTimer->isChecked()); settings.setValue("Value", ui->spinBoxTimer->value()); @@ -119,6 +105,20 @@ settings.endGroup(); } +void Configure::writeAuthSettings() +{ + qDebug() << __PRETTY_FUNCTION__; + QSettings settings; + settings.beginGroup("Auth"); + settings.setValue("ApiUrl", mOBS->getApiUrl()); + settings.setValue("Username", ui->lineEditUsername->text()); + Credentials *credentials = new Credentials(); + credentials->writeCredentials(ui->lineEditUsername->text(), ui->lineEditPassword->text()); + delete credentials; + settings.setValue("AutoLogin", ui->checkBoxAutoLogin->isChecked()); + settings.endGroup(); +} + void Configure::writeProxySettings() { qDebug() << "Configure::writeProxySettings()"; @@ -157,16 +157,34 @@ qDebug() << "Configure::readSettings()"; QSettings settings; - settings.beginGroup("Auth"); - setApiUrl(settings.value("ApiUrl").toString()); - settings.endGroup(); - settings.beginGroup("Browser"); includeHomeProjects = settings.value("IncludeHomeProjects").toBool(); ui->checkBoxHomeProjects->setChecked(includeHomeProjects); settings.endGroup(); } +void Configure::readAuthSettings() +{ + qDebug() << "Configure::readAuthSettings()"; + QSettings settings; + + settings.beginGroup("Auth"); + setApiUrl(settings.value("ApiUrl").toString()); + + QString username = settings.value("Username").toString(); + ui->lineEditUsername->setText(username); + Credentials *credentials = new Credentials(); + connect(credentials, &Credentials::credentialsRestored, + [&](const QString &/*username*/, const QString &password) { + ui->lineEditPassword->setText(password); + }); + credentials->readPassword(username); + delete credentials; + ui->checkBoxAutoLogin->setChecked((settings.value("AutoLogin", true).toBool())); + + settings.endGroup(); +} + void Configure::readProxySettings() { qDebug() << "Configure::readProxySettings()"; @@ -229,7 +247,7 @@ } includeHomeProjects = ui->checkBoxHomeProjects->isChecked(); - login->writeSettings(); + writeAuthSettings(); emit timerChanged(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/gui/configure.h new/qactus-2.0.3/src/gui/configure.h --- old/qactus-2.0.2/src/gui/configure.h 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/gui/configure.h 2020-11-28 20:25:38.000000000 +0100 @@ -1,7 +1,7 @@ /* * Qactus - A Qt based OBS notifier * - * Copyright (C) 2013-2018 Javier Llorente <javier@opensuse.org> + * Copyright (C) 2013-2020 Javier Llorente <javier@opensuse.org> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,7 +28,6 @@ #include <QNetworkProxy> #include <QSettings> #include "obs.h" -#include "login.h" namespace Ui { class Configure; @@ -62,14 +61,15 @@ Ui::Configure *ui; OBS *mOBS; void setOBSApiUrl(const QString &apiUrlStr); + void readAuthSettings(); void readProxySettings(); void readTimerSettings(); - Login *login; void proxySettingsSetup(); QNetworkProxy proxy; bool includeHomeProjects; enum ProxyType { NoProxy, SystemProxy, ManualProxy }; void writeSettings(); + void writeAuthSettings(); void writeProxySettings(); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/gui/configure.ui new/qactus-2.0.3/src/gui/configure.ui --- old/qactus-2.0.2/src/gui/configure.ui 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/gui/configure.ui 2020-11-28 20:25:38.000000000 +0100 @@ -9,8 +9,8 @@ <rect> <x>0</x> <y>0</y> - <width>491</width> - <height>368</height> + <width>671</width> + <height>513</height> </rect> </property> <property name="windowTitle"> @@ -51,6 +51,15 @@ </property> <item> <property name="text"> + <string>Authentication</string> + </property> + <property name="icon"> + <iconset resource="../../application.qrc"> + <normaloff>:/icons/dialog-password.png</normaloff>:/icons/dialog-password.png</iconset> + </property> + </item> + <item> + <property name="text"> <string>General</string> </property> <property name="icon"> @@ -71,16 +80,6 @@ </item> </widget> </item> - <item row="2" column="1"> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> <item row="1" column="1"> <widget class="QStackedWidget" name="stackedWidget"> <property name="sizePolicy"> @@ -89,147 +88,165 @@ <verstretch>0</verstretch> </sizepolicy> </property> - <widget class="QWidget" name="generalPage"> - <layout class="QGridLayout" name="gridLayout_2"> - <item row="2" column="2"> - <layout class="QVBoxLayout" name="verticalLayoutGeneral"> - <item> - <widget class="QCheckBox" name="checkBoxTimer"> - <property name="text"> - <string>Enable timer</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="lineTimer"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - </layout> - </item> - <item row="13" column="2"> - <spacer name="verticalSpacerBrowser"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item row="0" column="2"> - <layout class="QFormLayout" name="formLayoutApiUrl"> - <property name="verticalSpacing"> - <number>6</number> - </property> - <item row="0" column="0"> - <widget class="QLabel" name="labelApiUrl"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Minimum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>OBS API:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLineEdit" name="lineEditApiUrl"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - </layout> - </item> - <item row="1" column="2"> - <spacer name="verticalSpacerApi"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="3" column="2"> - <layout class="QFormLayout" name="formLayoutTimer"> - <item row="0" column="1"> - <widget class="QSpinBox" name="spinBoxTimer"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="suffix"> - <string> Min</string> - </property> - </widget> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="labelCheckChanges"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Check for changes every</string> - </property> - </widget> - </item> - </layout> - </item> - <item row="7" column="2"> - <layout class="QVBoxLayout" name="verticalLayoutBrowser"> - <item> - <widget class="QCheckBox" name="checkBoxHomeProjects"> - <property name="text"> - <string>Include home projects in browser</string> - </property> - </widget> - </item> - </layout> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="authenticationPage"> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QGroupBox" name="groupBoxAuthentication"> + <property name="title"> + <string>Authentication</string> + </property> + <layout class="QGridLayout" name="gridLayout_5"> + <item row="0" column="0"> + <layout class="QFormLayout" name="formLayout"> + <item row="2" column="1"> + <widget class="QLineEdit" name="lineEditPassword"> + <property name="echoMode"> + <enum>QLineEdit::Password</enum> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="labelPassword"> + <property name="text"> + <string>Password:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="lineEditUsername"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="labelUsername"> + <property name="text"> + <string>Username: </string> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="labelApiUrl"> + <property name="text"> + <string>OBS server:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEditApiUrl"/> + </item> + <item row="3" column="1"> + <widget class="QCheckBox" name="checkBoxAutoLogin"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="labelAutoLogin"> + <property name="text"> + <string>Auto login:</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> </item> - <item row="4" column="2"> - <spacer name="verticalSpacerTimer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> + </layout> + </widget> + <widget class="QWidget" name="generalPage"> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QGroupBox" name="groupBoxGeneral"> + <property name="title"> + <string>General</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <layout class="QVBoxLayout" name="verticalLayoutGeneral"> + <item> + <widget class="QCheckBox" name="checkBoxTimer"> + <property name="text"> + <string>Enable timer</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QFormLayout" name="formLayoutTimer"> + <item row="0" column="1"> + <widget class="QSpinBox" name="spinBoxTimer"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="suffix"> + <string> Min</string> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="labelCheckChanges"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Check for changes every</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacerTimer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayoutBrowser"> + <item> + <widget class="QCheckBox" name="checkBoxHomeProjects"> + <property name="text"> + <string>Include home projects in browser</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacerBrowser"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> </item> </layout> </widget> @@ -242,158 +259,179 @@ </property> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0"> - <layout class="QVBoxLayout" name="verticalLayoutProxyRadioGroup"> - <item> - <widget class="QRadioButton" name="radioButtonNoProxy"> - <property name="text"> - <string>N&o proxy</string> - </property> - <attribute name="buttonGroup"> - <string notr="true">buttonGroupProxyType</string> - </attribute> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButtonSystemProxy"> - <property name="text"> - <string>Use &system proxy configuration</string> - </property> - <attribute name="buttonGroup"> - <string notr="true">buttonGroupProxyType</string> - </attribute> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButtonManualProxy"> - <property name="text"> - <string>Use m&anually specified proxy configuration</string> - </property> - <attribute name="buttonGroup"> - <string notr="true">buttonGroupProxyType</string> - </attribute> - </widget> - </item> - </layout> - </item> - <item row="2" column="0"> - <layout class="QFormLayout" name="formLayoutProxy"> - <item row="0" column="0"> - <widget class="QLabel" name="labelProxyType"> - <property name="text"> - <string>Type:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QComboBox" name="comboBoxProxyType"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="labelProxyServer"> - <property name="text"> - <string>Server:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QLineEdit" name="lineEditProxyServer"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="labelProxyPort"> - <property name="text"> - <string>Port:</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QSpinBox" name="spinBoxProxyPort"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="maximum"> - <number>9999</number> - </property> - <property name="value"> - <number>8080</number> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="labelProxyUsername"> - <property name="text"> - <string>Username:</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QLineEdit" name="lineEditProxyUsername"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="4" column="0"> - <widget class="QLabel" name="labelProxyPassword"> - <property name="text"> - <string>Password:</string> - </property> - </widget> - </item> - <item row="4" column="1"> - <widget class="QLineEdit" name="lineEditProxyPassword"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="echoMode"> - <enum>QLineEdit::Password</enum> - </property> - </widget> - </item> - </layout> - </item> - <item row="1" column="0"> - <spacer name="verticalSpacerNetwork"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="3" column="0"> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>60</height> - </size> - </property> - </spacer> + <widget class="QGroupBox" name="groupBoxNetwork"> + <property name="title"> + <string>Network</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <layout class="QVBoxLayout" name="verticalLayoutProxyRadioGroup"> + <item> + <widget class="QRadioButton" name="radioButtonNoProxy"> + <property name="text"> + <string>N&o proxy</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">buttonGroupProxyType</string> + </attribute> + </widget> + </item> + <item> + <widget class="QRadioButton" name="radioButtonSystemProxy"> + <property name="text"> + <string>Use &system proxy configuration</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">buttonGroupProxyType</string> + </attribute> + </widget> + </item> + <item> + <widget class="QRadioButton" name="radioButtonManualProxy"> + <property name="text"> + <string>Use m&anually specified proxy configuration</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">buttonGroupProxyType</string> + </attribute> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacerNetwork"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::Fixed</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <layout class="QFormLayout" name="formLayoutProxy"> + <item row="0" column="0"> + <widget class="QLabel" name="labelProxyType"> + <property name="text"> + <string>Type:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="comboBoxProxyType"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="labelProxyServer"> + <property name="text"> + <string>Server:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="lineEditProxyServer"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="labelProxyPort"> + <property name="text"> + <string>Port:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QSpinBox" name="spinBoxProxyPort"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="maximum"> + <number>9999</number> + </property> + <property name="value"> + <number>8080</number> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="labelProxyUsername"> + <property name="text"> + <string>Username:</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLineEdit" name="lineEditProxyUsername"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="labelProxyPassword"> + <property name="text"> + <string>Password:</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QLineEdit" name="lineEditProxyPassword"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="echoMode"> + <enum>QLineEdit::Password</enum> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>60</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> </item> </layout> </widget> </widget> </item> + <item row="2" column="1"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> </layout> </widget> - <resources/> + <resources> + <include location="../../application.qrc"/> + </resources> <connections> <connection> <sender>buttonBox</sender> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/gui/login.cpp new/qactus-2.0.3/src/gui/login.cpp --- old/qactus-2.0.2/src/gui/login.cpp 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/gui/login.cpp 2020-11-28 20:25:38.000000000 +0100 @@ -1,7 +1,7 @@ /* * Qactus - A Qt based OBS notifier * - * Copyright (C) 2013-2018 Javier Llorente <javier@opensuse.org> + * Copyright (C) 2013-2020 Javier Llorente <javier@opensuse.org> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,8 +28,7 @@ ui->setupUi(this); setTabOrder(ui->lineEdit_Username, ui->lineEdit_Password); - setTabOrder(ui->lineEdit_Password, ui->checkBox_AutoLogin); - setTabOrder(ui->checkBox_AutoLogin, ui->pushButton_Login); + setTabOrder(ui->lineEdit_Password, ui->buttonBox); readSettings(); } @@ -64,21 +63,18 @@ return ui->lineEdit_Password->text(); } -bool Login::isAutoLoginEnabled() -{ - return ui->checkBox_AutoLogin->isChecked(); -} - -void Login::setAutoLoginEnabled(bool check) -{ - ui->checkBox_AutoLogin->setChecked(check); -} - void Login::readSettings() { qDebug() << "Login::readSettings()"; QSettings settings; settings.beginGroup("Auth"); + + QString apiUrl = settings.value("ApiUrl").toString(); + QStringList apiUrlSplitted = apiUrl.split("https://"); + if (apiUrl.size()>1) { + apiUrl = apiUrlSplitted.at(1); + } + QString username = settings.value("Username").toString(); setUsername(username); Credentials *credentials = new Credentials(); @@ -87,7 +83,6 @@ credentials->readPassword(username); delete credentials; qDebug() << "Login::readSettings() AutoLogin:" << settings.value("AutoLogin").toBool(); - setAutoLoginEnabled(settings.value("AutoLogin").toBool()); settings.endGroup(); } @@ -96,7 +91,6 @@ qDebug() << "Login::writeSettings()"; QSettings settings; settings.beginGroup("Auth"); - settings.setValue("AutoLogin", isAutoLoginEnabled()); settings.setValue("Username", getUsername()); Credentials *credentials = new Credentials(); credentials->writeCredentials(getUsername(), getPassword()); @@ -106,8 +100,7 @@ void Login::configureMode() { - ui->pushButton_Login->hide(); - ui->line->hide(); + ui->buttonBox->hide(); } void Login::clearCredentials() @@ -117,7 +110,7 @@ ui->lineEdit_Username->setFocus(); } -void Login::on_pushButton_Login_clicked() +void Login::on_buttonBox_accepted() { if (getUsername().isEmpty() || getPassword().isEmpty()) { QMessageBox::warning(parentWidget(), tr("Error"), tr("Empty username/password"), QMessageBox::Ok); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/gui/login.h new/qactus-2.0.3/src/gui/login.h --- old/qactus-2.0.2/src/gui/login.h 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/gui/login.h 2020-11-28 20:25:38.000000000 +0100 @@ -1,7 +1,7 @@ /* * Qactus - A Qt based OBS notifier * - * Copyright (C) 2013-2018 Javier Llorente <javier@opensuse.org> + * Copyright (C) 2013-2020 Javier Llorente <javier@opensuse.org> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -49,7 +49,7 @@ void clearCredentials(); private slots: - void on_pushButton_Login_clicked(); + void on_buttonBox_accepted(); void slotCredentialsRestored(const QString &username, const QString &password); signals: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/gui/login.ui new/qactus-2.0.3/src/gui/login.ui --- old/qactus-2.0.2/src/gui/login.ui 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/gui/login.ui 2020-11-28 20:25:38.000000000 +0100 @@ -9,30 +9,25 @@ <rect> <x>0</x> <y>0</y> - <width>270</width> - <height>159</height> + <width>430</width> + <height>157</height> </rect> </property> <property name="windowTitle"> <string>Login</string> </property> <layout class="QGridLayout" name="gridLayout_Dialog"> - <item row="0" column="2"> + <item row="3" column="1"> <layout class="QGridLayout" name="gridLayout"> - <item row="2" column="1"> - <widget class="QCheckBox" name="checkBox_AutoLogin"> - <property name="text"> - <string/> - </property> - </widget> - </item> - <item row="1" column="0" alignment="Qt::AlignRight"> - <widget class="QLabel" name="label_Password"> - <property name="text"> - <string>Password:</string> - </property> - </widget> - </item> + <property name="leftMargin"> + <number>6</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>10</number> + </property> <item row="1" column="1"> <widget class="QLineEdit" name="lineEdit_Password"> <property name="focusPolicy"> @@ -46,69 +41,51 @@ </property> </widget> </item> - <item row="0" column="0" alignment="Qt::AlignRight"> - <widget class="QLabel" name="label_Username"> + <item row="1" column="0" alignment="Qt::AlignRight"> + <widget class="QLabel" name="label_Password"> <property name="text"> - <string>Username:</string> + <string>Password:</string> </property> </widget> </item> <item row="0" column="1"> <widget class="QLineEdit" name="lineEdit_Username"/> </item> - <item row="2" column="0"> - <widget class="QLabel" name="label_AutoLogin"> + <item row="0" column="0" alignment="Qt::AlignRight"> + <widget class="QLabel" name="label_Username"> <property name="text"> - <string>Auto Login</string> + <string>Username:</string> </property> </widget> </item> </layout> </item> - <item row="2" column="2" alignment="Qt::AlignRight"> - <widget class="QPushButton" name="pushButton_Login"> - <property name="text"> - <string>Login</string> - </property> - </widget> - </item> - <item row="0" column="0"> - <widget class="QLabel" name="label"> - <property name="text"> - <string/> - </property> - <property name="pixmap"> - <pixmap resource="../../application.qrc">:/icons/dialog-password.png</pixmap> - </property> - </widget> - </item> - <item row="0" column="1"> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>5</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item row="1" column="0" colspan="3"> - <widget class="Line" name="line"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> + <item row="4" column="1"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> </layout> </widget> - <resources> - <include location="../../application.qrc"/> - </resources> - <connections/> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>Login</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>233</x> + <y>161</y> + </hint> + <hint type="destinationlabel"> + <x>233</x> + <y>94</y> + </hint> + </hints> + </connection> + </connections> </ui> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/gui/mainwindow.cpp new/qactus-2.0.3/src/gui/mainwindow.cpp --- old/qactus-2.0.2/src/gui/mainwindow.cpp 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/gui/mainwindow.cpp 2020-11-28 20:25:38.000000000 +0100 @@ -706,7 +706,7 @@ settings.setValue("ApiUrl", defaultApiUrl); } obs->setApiUrl(apiUrl); - if (settings.value("AutoLogin").toBool()) { + if (settings.value("AutoLogin", true).toBool()) { Credentials *credentials = new Credentials(this); connect(credentials, SIGNAL(errorReadingPassword(QString)), this, SLOT(slotErrorReadingPassword(QString))); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qactus-2.0.2/src/qobs/obscore.cpp new/qactus-2.0.3/src/qobs/obscore.cpp --- old/qactus-2.0.2/src/qobs/obscore.cpp 2020-06-16 17:14:32.000000000 +0200 +++ new/qactus-2.0.3/src/qobs/obscore.cpp 2020-11-28 20:25:38.000000000 +0100 @@ -107,6 +107,7 @@ QNetworkReply *OBSCore::request(const QString &resource) { QNetworkRequest request; + request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); request.setUrl(QUrl(apiUrl + resource)); qDebug() << "User-Agent:" << userAgent; request.setRawHeader("User-Agent", userAgent.toLatin1()); @@ -339,7 +340,7 @@ qDebug() << "OBSCore::replyFinished() HTTP status code:" << httpStatusCode; // qDebug() << "Network Reply: " << data; - if (httpStatusCode==302) { + if (httpStatusCode==200 && !authenticated) { authenticated = true; emit isAuthenticated(authenticated); } else if (httpStatusCode==401) {
participants (1)
-
User for buildservice source handling