Move feeds authentication to standard plugin.
This commit is contained in:
parent
03684f5d88
commit
74c583413e
@ -160,6 +160,7 @@ HEADERS += core/feeddownloader.h \
|
|||||||
services/owncloud/owncloudserviceroot.h \
|
services/owncloud/owncloudserviceroot.h \
|
||||||
services/standard/atomparser.h \
|
services/standard/atomparser.h \
|
||||||
services/standard/feedparser.h \
|
services/standard/feedparser.h \
|
||||||
|
services/standard/gui/authenticationdetails.h \
|
||||||
services/standard/gui/formstandardcategorydetails.h \
|
services/standard/gui/formstandardcategorydetails.h \
|
||||||
services/standard/gui/formstandardfeeddetails.h \
|
services/standard/gui/formstandardfeeddetails.h \
|
||||||
services/standard/gui/formstandardimportexport.h \
|
services/standard/gui/formstandardimportexport.h \
|
||||||
@ -307,6 +308,7 @@ SOURCES += core/feeddownloader.cpp \
|
|||||||
services/owncloud/owncloudserviceroot.cpp \
|
services/owncloud/owncloudserviceroot.cpp \
|
||||||
services/standard/atomparser.cpp \
|
services/standard/atomparser.cpp \
|
||||||
services/standard/feedparser.cpp \
|
services/standard/feedparser.cpp \
|
||||||
|
services/standard/gui/authenticationdetails.cpp \
|
||||||
services/standard/gui/formstandardcategorydetails.cpp \
|
services/standard/gui/formstandardcategorydetails.cpp \
|
||||||
services/standard/gui/formstandardfeeddetails.cpp \
|
services/standard/gui/formstandardfeeddetails.cpp \
|
||||||
services/standard/gui/formstandardimportexport.cpp \
|
services/standard/gui/formstandardimportexport.cpp \
|
||||||
@ -361,6 +363,7 @@ FORMS += gui/dialogs/formabout.ui \
|
|||||||
services/gmail/gui/formeditgmailaccount.ui \
|
services/gmail/gui/formeditgmailaccount.ui \
|
||||||
services/inoreader/gui/formeditinoreaderaccount.ui \
|
services/inoreader/gui/formeditinoreaderaccount.ui \
|
||||||
services/owncloud/gui/formeditowncloudaccount.ui \
|
services/owncloud/gui/formeditowncloudaccount.ui \
|
||||||
|
services/standard/gui/authenticationdetails.ui \
|
||||||
services/standard/gui/formstandardcategorydetails.ui \
|
services/standard/gui/formstandardcategorydetails.ui \
|
||||||
services/standard/gui/formstandardimportexport.ui \
|
services/standard/gui/formstandardimportexport.ui \
|
||||||
services/standard/gui/standardfeeddetails.ui \
|
services/standard/gui/standardfeeddetails.ui \
|
||||||
|
@ -27,10 +27,6 @@ FormFeedDetails::FormFeedDetails(ServiceRoot* service_root, QWidget* parent)
|
|||||||
m_serviceRoot(service_root) {
|
m_serviceRoot(service_root) {
|
||||||
initialize();
|
initialize();
|
||||||
createConnections();
|
createConnections();
|
||||||
|
|
||||||
// Initialize that shit.
|
|
||||||
onUsernameChanged(QString());
|
|
||||||
onPasswordChanged(QString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int FormFeedDetails::editBaseFeed(Feed* input_feed) {
|
int FormFeedDetails::editBaseFeed(Feed* input_feed) {
|
||||||
@ -52,9 +48,6 @@ void FormFeedDetails::apply() {
|
|||||||
Feed new_feed;
|
Feed new_feed;
|
||||||
|
|
||||||
// Setup data for new_feed.
|
// Setup data for new_feed.
|
||||||
new_feed.setPasswordProtected(m_ui->m_gbAuthentication->isChecked());
|
|
||||||
new_feed.setUsername(m_ui->m_txtUsername->lineEdit()->text());
|
|
||||||
new_feed.setPassword(m_ui->m_txtPassword->lineEdit()->text());
|
|
||||||
new_feed.setAutoUpdateType(static_cast<Feed::AutoUpdateType>(m_ui->m_cmbAutoUpdateType->itemData(
|
new_feed.setAutoUpdateType(static_cast<Feed::AutoUpdateType>(m_ui->m_cmbAutoUpdateType->itemData(
|
||||||
m_ui->m_cmbAutoUpdateType->currentIndex()).toInt()));
|
m_ui->m_cmbAutoUpdateType->currentIndex()).toInt()));
|
||||||
new_feed.setAutoUpdateInitialInterval(int(m_ui->m_spinAutoUpdateInterval->value()));
|
new_feed.setAutoUpdateInitialInterval(int(m_ui->m_spinAutoUpdateInterval->value()));
|
||||||
@ -77,33 +70,6 @@ void FormFeedDetails::apply() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormFeedDetails::onUsernameChanged(const QString& new_username) {
|
|
||||||
bool is_username_ok = !m_ui->m_gbAuthentication->isChecked() || !new_username.simplified().isEmpty();
|
|
||||||
|
|
||||||
m_ui->m_txtUsername->setStatus(is_username_ok ?
|
|
||||||
LineEditWithStatus::StatusType::Ok :
|
|
||||||
LineEditWithStatus::StatusType::Warning,
|
|
||||||
is_username_ok ?
|
|
||||||
tr("Username is ok or it is not needed.") :
|
|
||||||
tr("Username is empty."));
|
|
||||||
}
|
|
||||||
|
|
||||||
void FormFeedDetails::onPasswordChanged(const QString& new_password) {
|
|
||||||
bool is_password_ok = !m_ui->m_gbAuthentication->isChecked() || !new_password.simplified().isEmpty();
|
|
||||||
|
|
||||||
m_ui->m_txtPassword->setStatus(is_password_ok ?
|
|
||||||
LineEditWithStatus::StatusType::Ok :
|
|
||||||
LineEditWithStatus::StatusType::Warning,
|
|
||||||
is_password_ok ?
|
|
||||||
tr("Password is ok or it is not needed.") :
|
|
||||||
tr("Password is empty."));
|
|
||||||
}
|
|
||||||
|
|
||||||
void FormFeedDetails::onAuthenticationSwitched() {
|
|
||||||
onUsernameChanged(m_ui->m_txtUsername->lineEdit()->text());
|
|
||||||
onPasswordChanged(m_ui->m_txtPassword->lineEdit()->text());
|
|
||||||
}
|
|
||||||
|
|
||||||
void FormFeedDetails::onAutoUpdateTypeChanged(int new_index) {
|
void FormFeedDetails::onAutoUpdateTypeChanged(int new_index) {
|
||||||
Feed::AutoUpdateType auto_update_type = static_cast<Feed::AutoUpdateType>(m_ui->m_cmbAutoUpdateType->itemData(new_index).toInt());
|
Feed::AutoUpdateType auto_update_type = static_cast<Feed::AutoUpdateType>(m_ui->m_cmbAutoUpdateType->itemData(new_index).toInt());
|
||||||
|
|
||||||
@ -121,9 +87,6 @@ void FormFeedDetails::onAutoUpdateTypeChanged(int new_index) {
|
|||||||
void FormFeedDetails::createConnections() {
|
void FormFeedDetails::createConnections() {
|
||||||
// General connections.
|
// General connections.
|
||||||
connect(m_ui->m_buttonBox, &QDialogButtonBox::accepted, this, &FormFeedDetails::apply);
|
connect(m_ui->m_buttonBox, &QDialogButtonBox::accepted, this, &FormFeedDetails::apply);
|
||||||
connect(m_ui->m_txtUsername->lineEdit(), &BaseLineEdit::textChanged, this, &FormFeedDetails::onUsernameChanged);
|
|
||||||
connect(m_ui->m_txtPassword->lineEdit(), &BaseLineEdit::textChanged, this, &FormFeedDetails::onPasswordChanged);
|
|
||||||
connect(m_ui->m_gbAuthentication, &QGroupBox::toggled, this, &FormFeedDetails::onAuthenticationSwitched);
|
|
||||||
connect(m_ui->m_cmbAutoUpdateType, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
connect(m_ui->m_cmbAutoUpdateType, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||||
&FormFeedDetails::onAutoUpdateTypeChanged);
|
&FormFeedDetails::onAutoUpdateTypeChanged);
|
||||||
}
|
}
|
||||||
@ -133,10 +96,6 @@ void FormFeedDetails::setEditableFeed(Feed* editable_feed) {
|
|||||||
|
|
||||||
m_editableFeed = editable_feed;
|
m_editableFeed = editable_feed;
|
||||||
|
|
||||||
m_ui->m_gbAuthentication->setChecked(editable_feed->passwordProtected());
|
|
||||||
m_ui->m_txtUsername->lineEdit()->setText(editable_feed->username());
|
|
||||||
m_ui->m_txtPassword->lineEdit()->setText(editable_feed->password());
|
|
||||||
|
|
||||||
m_ui->m_cmbAutoUpdateType->setCurrentIndex(m_ui->m_cmbAutoUpdateType->findData(QVariant::fromValue((int) editable_feed->autoUpdateType())));
|
m_ui->m_cmbAutoUpdateType->setCurrentIndex(m_ui->m_cmbAutoUpdateType->findData(QVariant::fromValue((int) editable_feed->autoUpdateType())));
|
||||||
m_ui->m_spinAutoUpdateInterval->setValue(editable_feed->autoUpdateInitialInterval());
|
m_ui->m_spinAutoUpdateInterval->setValue(editable_feed->autoUpdateInitialInterval());
|
||||||
}
|
}
|
||||||
@ -149,12 +108,6 @@ void FormFeedDetails::initialize() {
|
|||||||
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
|
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog | Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
|
||||||
setWindowIcon(qApp->icons()->fromTheme(QSL("application-rss+xml")));
|
setWindowIcon(qApp->icons()->fromTheme(QSL("application-rss+xml")));
|
||||||
|
|
||||||
// Set text boxes.
|
|
||||||
m_ui->m_txtUsername->lineEdit()->setPlaceholderText(tr("Username"));
|
|
||||||
m_ui->m_txtUsername->lineEdit()->setToolTip(tr("Set username to access the feed."));
|
|
||||||
m_ui->m_txtPassword->lineEdit()->setPlaceholderText(tr("Password"));
|
|
||||||
m_ui->m_txtPassword->lineEdit()->setToolTip(tr("Set password to access the feed."));
|
|
||||||
|
|
||||||
// Setup auto-update options.
|
// Setup auto-update options.
|
||||||
m_ui->m_spinAutoUpdateInterval->setValue(DEFAULT_AUTO_UPDATE_INTERVAL);
|
m_ui->m_spinAutoUpdateInterval->setValue(DEFAULT_AUTO_UPDATE_INTERVAL);
|
||||||
m_ui->m_cmbAutoUpdateType->addItem(tr("Auto-update using global interval"),
|
m_ui->m_cmbAutoUpdateType->addItem(tr("Auto-update using global interval"),
|
||||||
|
@ -35,9 +35,6 @@ class FormFeedDetails : public QDialog {
|
|||||||
// base implementation must be called first.
|
// base implementation must be called first.
|
||||||
virtual void apply();
|
virtual void apply();
|
||||||
|
|
||||||
void onUsernameChanged(const QString& new_username);
|
|
||||||
void onPasswordChanged(const QString& new_password);
|
|
||||||
void onAuthenticationSwitched();
|
|
||||||
void onAutoUpdateTypeChanged(int new_index);
|
void onAutoUpdateTypeChanged(int new_index);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -54,60 +54,6 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tabNetwork">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Network</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QFormLayout" name="formLayout_3">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QGroupBox" name="m_gbAuthentication">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Some feeds require authentication, including GMail feeds. BASIC, NTLM-2 and DIGEST-MD5 authentication schemes are supported.</string>
|
|
||||||
</property>
|
|
||||||
<property name="title">
|
|
||||||
<string>Requires HTTP authentication</string>
|
|
||||||
</property>
|
|
||||||
<property name="flat">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="checkable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<layout class="QFormLayout" name="formLayout_2">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label_4">
|
|
||||||
<property name="text">
|
|
||||||
<string>Username</string>
|
|
||||||
</property>
|
|
||||||
<property name="buddy">
|
|
||||||
<cstring>m_txtUsername</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="LineEditWithStatus" name="m_txtUsername" native="true"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_5">
|
|
||||||
<property name="text">
|
|
||||||
<string>Password</string>
|
|
||||||
</property>
|
|
||||||
<property name="buddy">
|
|
||||||
<cstring>m_txtPassword</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="LineEditWithStatus" name="m_txtPassword" native="true"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -126,12 +72,6 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
|
||||||
<class>LineEditWithStatus</class>
|
|
||||||
<extends>QWidget</extends>
|
|
||||||
<header>lineeditwithstatus.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>TimeSpinBox</class>
|
<class>TimeSpinBox</class>
|
||||||
<extends>QDoubleSpinBox</extends>
|
<extends>QDoubleSpinBox</extends>
|
||||||
|
47
src/librssguard/services/standard/gui/authenticationdetails.cpp
Executable file
47
src/librssguard/services/standard/gui/authenticationdetails.cpp
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
// For license of this file, see <project-root-folder>/LICENSE.md.
|
||||||
|
|
||||||
|
#include "services/standard/gui/authenticationdetails.h"
|
||||||
|
|
||||||
|
AuthenticationDetails::AuthenticationDetails(QWidget* parent) : QWidget(parent) {
|
||||||
|
ui.setupUi(this);
|
||||||
|
|
||||||
|
// Set text boxes.
|
||||||
|
ui.m_txtUsername->lineEdit()->setPlaceholderText(tr("Username"));
|
||||||
|
ui.m_txtUsername->lineEdit()->setToolTip(tr("Set username to access the feed."));
|
||||||
|
ui.m_txtPassword->lineEdit()->setPlaceholderText(tr("Password"));
|
||||||
|
ui.m_txtPassword->lineEdit()->setToolTip(tr("Set password to access the feed."));
|
||||||
|
|
||||||
|
connect(ui.m_txtUsername->lineEdit(), &BaseLineEdit::textChanged, this, &AuthenticationDetails::onUsernameChanged);
|
||||||
|
connect(ui.m_txtPassword->lineEdit(), &BaseLineEdit::textChanged, this, &AuthenticationDetails::onPasswordChanged);
|
||||||
|
connect(ui.m_gbAuthentication, &QGroupBox::toggled, this, &AuthenticationDetails::onAuthenticationSwitched);
|
||||||
|
|
||||||
|
onUsernameChanged(QString());
|
||||||
|
onPasswordChanged(QString());
|
||||||
|
}
|
||||||
|
|
||||||
|
void AuthenticationDetails::onUsernameChanged(const QString& new_username) {
|
||||||
|
bool is_username_ok = !ui.m_gbAuthentication->isChecked() || !new_username.simplified().isEmpty();
|
||||||
|
|
||||||
|
ui.m_txtUsername->setStatus(is_username_ok ?
|
||||||
|
LineEditWithStatus::StatusType::Ok :
|
||||||
|
LineEditWithStatus::StatusType::Warning,
|
||||||
|
is_username_ok ?
|
||||||
|
tr("Username is ok or it is not needed.") :
|
||||||
|
tr("Username is empty."));
|
||||||
|
}
|
||||||
|
|
||||||
|
void AuthenticationDetails::onPasswordChanged(const QString& new_password) {
|
||||||
|
bool is_password_ok = !ui.m_gbAuthentication->isChecked() || !new_password.simplified().isEmpty();
|
||||||
|
|
||||||
|
ui.m_txtPassword->setStatus(is_password_ok ?
|
||||||
|
LineEditWithStatus::StatusType::Ok :
|
||||||
|
LineEditWithStatus::StatusType::Warning,
|
||||||
|
is_password_ok ?
|
||||||
|
tr("Password is ok or it is not needed.") :
|
||||||
|
tr("Password is empty."));
|
||||||
|
}
|
||||||
|
|
||||||
|
void AuthenticationDetails::onAuthenticationSwitched() {
|
||||||
|
onUsernameChanged(ui.m_txtUsername->lineEdit()->text());
|
||||||
|
onPasswordChanged(ui.m_txtPassword->lineEdit()->text());
|
||||||
|
}
|
27
src/librssguard/services/standard/gui/authenticationdetails.h
Executable file
27
src/librssguard/services/standard/gui/authenticationdetails.h
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
// For license of this file, see <project-root-folder>/LICENSE.md.
|
||||||
|
|
||||||
|
#ifndef AUTHENTICATIONDETAILS_H
|
||||||
|
#define AUTHENTICATIONDETAILS_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
#include "ui_authenticationdetails.h"
|
||||||
|
|
||||||
|
class AuthenticationDetails : public QWidget {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
friend class FormStandardFeedDetails;
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit AuthenticationDetails(QWidget* parent = nullptr);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void onUsernameChanged(const QString& new_username);
|
||||||
|
void onPasswordChanged(const QString& new_password);
|
||||||
|
void onAuthenticationSwitched();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::AuthenticationDetails ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // AUTHENTICATIONDETAILS_H
|
76
src/librssguard/services/standard/gui/authenticationdetails.ui
Executable file
76
src/librssguard/services/standard/gui/authenticationdetails.ui
Executable file
@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>AuthenticationDetails</class>
|
||||||
|
<widget class="QWidget" name="AuthenticationDetails">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>300</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QGroupBox" name="m_gbAuthentication">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Some feeds require authentication, including GMail feeds. BASIC, NTLM-2 and DIGEST-MD5 authentication schemes are supported.</string>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Requires HTTP authentication</string>
|
||||||
|
</property>
|
||||||
|
<property name="flat">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout_2">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Username</string>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>m_txtUsername</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="LineEditWithStatus" name="m_txtUsername" native="true"/>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Password</string>
|
||||||
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>m_txtPassword</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="LineEditWithStatus" name="m_txtPassword" native="true"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>LineEditWithStatus</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>lineeditwithstatus.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -7,6 +7,7 @@
|
|||||||
#include "network-web/networkfactory.h"
|
#include "network-web/networkfactory.h"
|
||||||
#include "services/abstract/category.h"
|
#include "services/abstract/category.h"
|
||||||
#include "services/abstract/serviceroot.h"
|
#include "services/abstract/serviceroot.h"
|
||||||
|
#include "services/standard/gui/authenticationdetails.h"
|
||||||
#include "services/standard/gui/standardfeeddetails.h"
|
#include "services/standard/gui/standardfeeddetails.h"
|
||||||
#include "services/standard/standardfeed.h"
|
#include "services/standard/standardfeed.h"
|
||||||
|
|
||||||
@ -14,8 +15,10 @@
|
|||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
|
|
||||||
FormStandardFeedDetails::FormStandardFeedDetails(ServiceRoot* service_root, QWidget* parent)
|
FormStandardFeedDetails::FormStandardFeedDetails(ServiceRoot* service_root, QWidget* parent)
|
||||||
: FormFeedDetails(service_root, parent), m_standardFeedDetails(new StandardFeedDetails(this)) {
|
: FormFeedDetails(service_root, parent), m_standardFeedDetails(new StandardFeedDetails(this)),
|
||||||
|
m_authDetails(new AuthenticationDetails(this)) {
|
||||||
insertCustomTab(m_standardFeedDetails, tr("General"), 0);
|
insertCustomTab(m_standardFeedDetails, tr("General"), 0);
|
||||||
|
insertCustomTab(m_authDetails, tr("Network"), 2);
|
||||||
activateTab(0);
|
activateTab(0);
|
||||||
|
|
||||||
connect(m_standardFeedDetails->ui.m_btnFetchMetadata, &QPushButton::clicked, this, &FormStandardFeedDetails::guessFeed);
|
connect(m_standardFeedDetails->ui.m_btnFetchMetadata, &QPushButton::clicked, this, &FormStandardFeedDetails::guessFeed);
|
||||||
@ -41,14 +44,14 @@ int FormStandardFeedDetails::addEditFeed(Feed* input_feed, RootItem* parent_to_s
|
|||||||
|
|
||||||
void FormStandardFeedDetails::guessFeed() {
|
void FormStandardFeedDetails::guessFeed() {
|
||||||
m_standardFeedDetails->guessFeed(m_standardFeedDetails->ui.m_txtUrl->lineEdit()->text(),
|
m_standardFeedDetails->guessFeed(m_standardFeedDetails->ui.m_txtUrl->lineEdit()->text(),
|
||||||
m_ui->m_txtUsername->lineEdit()->text(),
|
m_authDetails->ui.m_txtUsername->lineEdit()->text(),
|
||||||
m_ui->m_txtPassword->lineEdit()->text());
|
m_authDetails->ui.m_txtPassword->lineEdit()->text());
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormStandardFeedDetails::guessIconOnly() {
|
void FormStandardFeedDetails::guessIconOnly() {
|
||||||
m_standardFeedDetails->guessIconOnly(m_standardFeedDetails->ui.m_txtUrl->lineEdit()->text(),
|
m_standardFeedDetails->guessIconOnly(m_standardFeedDetails->ui.m_txtUrl->lineEdit()->text(),
|
||||||
m_ui->m_txtUsername->lineEdit()->text(),
|
m_authDetails->ui.m_txtUsername->lineEdit()->text(),
|
||||||
m_ui->m_txtPassword->lineEdit()->text());
|
m_authDetails->ui.m_txtPassword->lineEdit()->text());
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormStandardFeedDetails::apply() {
|
void FormStandardFeedDetails::apply() {
|
||||||
@ -68,9 +71,9 @@ void FormStandardFeedDetails::apply() {
|
|||||||
new_feed->setEncoding(m_standardFeedDetails->ui.m_cmbEncoding->currentText());
|
new_feed->setEncoding(m_standardFeedDetails->ui.m_cmbEncoding->currentText());
|
||||||
new_feed->setType(type);
|
new_feed->setType(type);
|
||||||
new_feed->setUrl(m_standardFeedDetails->ui.m_txtUrl->lineEdit()->text());
|
new_feed->setUrl(m_standardFeedDetails->ui.m_txtUrl->lineEdit()->text());
|
||||||
new_feed->setPasswordProtected(m_ui->m_gbAuthentication->isChecked());
|
new_feed->setPasswordProtected(m_authDetails->ui.m_gbAuthentication->isChecked());
|
||||||
new_feed->setUsername(m_ui->m_txtUsername->lineEdit()->text());
|
new_feed->setUsername(m_authDetails->ui.m_txtUsername->lineEdit()->text());
|
||||||
new_feed->setPassword(m_ui->m_txtPassword->lineEdit()->text());
|
new_feed->setPassword(m_authDetails->ui.m_txtPassword->lineEdit()->text());
|
||||||
new_feed->setAutoUpdateType(static_cast<Feed::AutoUpdateType>(m_ui->m_cmbAutoUpdateType->itemData(
|
new_feed->setAutoUpdateType(static_cast<Feed::AutoUpdateType>(m_ui->m_cmbAutoUpdateType->itemData(
|
||||||
m_ui->m_cmbAutoUpdateType->currentIndex()).toInt()));
|
m_ui->m_cmbAutoUpdateType->currentIndex()).toInt()));
|
||||||
new_feed->setAutoUpdateInitialInterval(int(m_ui->m_spinAutoUpdateInterval->value()));
|
new_feed->setAutoUpdateInitialInterval(int(m_ui->m_spinAutoUpdateInterval->value()));
|
||||||
@ -110,5 +113,9 @@ void FormStandardFeedDetails::apply() {
|
|||||||
|
|
||||||
void FormStandardFeedDetails::setEditableFeed(Feed* editable_feed) {
|
void FormStandardFeedDetails::setEditableFeed(Feed* editable_feed) {
|
||||||
FormFeedDetails::setEditableFeed(editable_feed);
|
FormFeedDetails::setEditableFeed(editable_feed);
|
||||||
|
|
||||||
m_standardFeedDetails->setExistingFeed(qobject_cast<StandardFeed*>(editable_feed));
|
m_standardFeedDetails->setExistingFeed(qobject_cast<StandardFeed*>(editable_feed));
|
||||||
|
m_authDetails->ui.m_gbAuthentication->setChecked(editable_feed->passwordProtected());
|
||||||
|
m_authDetails->ui.m_txtUsername->lineEdit()->setText(editable_feed->username());
|
||||||
|
m_authDetails->ui.m_txtPassword->lineEdit()->setText(editable_feed->password());
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include "services/abstract/gui/formfeeddetails.h"
|
#include "services/abstract/gui/formfeeddetails.h"
|
||||||
|
|
||||||
class StandardFeedDetails;
|
class StandardFeedDetails;
|
||||||
|
class AuthenticationDetails;
|
||||||
|
|
||||||
class FormStandardFeedDetails : public FormFeedDetails {
|
class FormStandardFeedDetails : public FormFeedDetails {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -27,6 +28,7 @@ class FormStandardFeedDetails : public FormFeedDetails {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
StandardFeedDetails* m_standardFeedDetails;
|
StandardFeedDetails* m_standardFeedDetails;
|
||||||
|
AuthenticationDetails* m_authDetails;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FORMSSFEEDDETAILS_H
|
#endif // FORMSSFEEDDETAILS_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user