QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
auth
qgsauthcerttrustpolicycombobox.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsauthcerttrustpolicycombobox.cpp
3
---------------------
4
begin : May 02, 2015
5
copyright : (C) 2015 by Boundless Spatial, Inc. USA
6
author : Larry Shaffer
7
email : lshaffer at boundlessgeo dot com
8
***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
17
#include "
qgsauthcerttrustpolicycombobox.h
"
18
19
#include "
qgsapplication.h
"
20
#include "
qgsauthcertutils.h
"
21
#include "
qgsauthguiutils.h
"
22
#include "
qgsauthmanager.h
"
23
#include "
qgslogger.h
"
24
25
#include <QLineEdit>
26
#include <QString>
27
28
#include "moc_qgsauthcerttrustpolicycombobox.cpp"
29
30
using namespace
Qt::StringLiterals;
31
32
QgsAuthCertTrustPolicyComboBox::QgsAuthCertTrustPolicyComboBox
( QWidget *parent,
QgsAuthCertUtils::CertTrustPolicy
policy,
QgsAuthCertUtils::CertTrustPolicy
defaultpolicy )
33
: QComboBox( parent )
34
{
35
QList<QPair<QgsAuthCertUtils::CertTrustPolicy, QString>> policies;
36
policies
37
<< qMakePair(
QgsAuthCertUtils::DefaultTrust
, defaultTrustText( defaultpolicy ) )
38
<< qMakePair(
QgsAuthCertUtils::Trusted
, QgsAuthCertUtils::getCertTrustName(
QgsAuthCertUtils::Trusted
) )
39
<< qMakePair(
QgsAuthCertUtils::Untrusted
, QgsAuthCertUtils::getCertTrustName(
QgsAuthCertUtils::Untrusted
) );
40
41
for
(
int
i = 0; i < policies.size(); i++ )
42
{
43
const
QgsAuthCertUtils::CertTrustPolicy
polcy = policies.at( i ).first;
44
const
QString name = policies.at( i ).second;
45
addItem( name, QVariant(
static_cast<
int
>
( polcy ) ) );
46
}
47
48
setItemData( 1,
QgsAuthGuiUtils::greenColor
(), Qt::ForegroundRole );
49
setItemData( 2,
QgsAuthGuiUtils::redColor
(), Qt::ForegroundRole );
50
51
// for styling closed state of combobox
52
// setEditable( true );
53
// lineEdit()->setReadOnly( true );
54
55
connect(
this
,
static_cast<
void
( QComboBox::* )(
int
)
>
( &QComboBox::currentIndexChanged ),
this
, &QgsAuthCertTrustPolicyComboBox::highlightCurrentIndex );
56
57
setTrustPolicy
( policy );
58
setDefaultTrustPolicy
( defaultpolicy );
59
}
60
61
QgsAuthCertUtils::CertTrustPolicy
QgsAuthCertTrustPolicyComboBox::trustPolicy
()
62
{
63
return
(
QgsAuthCertUtils::CertTrustPolicy
) currentData().toInt();
64
}
65
66
QgsAuthCertUtils::CertTrustPolicy
QgsAuthCertTrustPolicyComboBox::trustPolicyForIndex
(
int
indx )
67
{
68
return
(
QgsAuthCertUtils::CertTrustPolicy
) itemData( indx ).toInt();
69
}
70
71
void
QgsAuthCertTrustPolicyComboBox::setTrustPolicy
(
QgsAuthCertUtils::CertTrustPolicy
policy )
72
{
73
const
int
idx = findData( QVariant(
static_cast<
int
>
( policy ) ) );
74
setCurrentIndex( idx == -1 ? 0 : idx );
75
}
76
77
void
QgsAuthCertTrustPolicyComboBox::setDefaultTrustPolicy
(
QgsAuthCertUtils::CertTrustPolicy
defaultpolicy )
78
{
79
const
int
idx = findData( QVariant(
static_cast<
int
>
(
QgsAuthCertUtils::DefaultTrust
) ) );
80
setItemText( idx, defaultTrustText( defaultpolicy ) );
81
}
82
83
void
QgsAuthCertTrustPolicyComboBox::highlightCurrentIndex(
int
indx )
84
{
85
const
QgsAuthCertUtils::CertTrustPolicy
policy = (
QgsAuthCertUtils::CertTrustPolicy
) itemData( indx ).toInt();
86
QString ss;
87
88
// TODO: why are these widget state selectors backwards?
89
switch
( policy )
90
{
91
case
QgsAuthCertUtils::Trusted
:
92
// ss = QgsAuthCertUtils::greenTextStyleSheet( "QLineEdit" );
93
ss =
QgsAuthGuiUtils::greenTextStyleSheet
( u
"QComboBox:open"
_s ) +
"\nQComboBox:!open{}"
;
94
break
;
95
case
QgsAuthCertUtils::Untrusted
:
96
// ss = QgsAuthCertUtils::redTextStyleSheet( "QLineEdit" );
97
ss =
QgsAuthGuiUtils::redTextStyleSheet
( u
"QComboBox:open"
_s ) +
"\nQComboBox:!open{}"
;
98
break
;
99
case
QgsAuthCertUtils::DefaultTrust
:
100
default
:
101
break
;
102
}
103
QgsDebugMsgLevel
( u
"Set Stylesheet to : %1"
_s.arg( ss ), 2 );
104
// lineEdit()->setStyleSheet( ss );
105
setStyleSheet( ss );
106
}
107
108
const
QString QgsAuthCertTrustPolicyComboBox::defaultTrustText(
QgsAuthCertUtils::CertTrustPolicy
defaultpolicy )
109
{
110
if
( defaultpolicy ==
QgsAuthCertUtils::DefaultTrust
)
111
{
112
if
( !
QgsApplication::authManager
()->isDisabled() )
113
{
114
defaultpolicy =
QgsApplication::authManager
()->
defaultCertTrustPolicy
();
115
}
116
else
117
{
118
defaultpolicy =
QgsAuthCertUtils::Trusted
;
119
}
120
}
121
return
u
"%1 (%2)"
_s.arg( QgsAuthCertUtils::getCertTrustName(
QgsAuthCertUtils::DefaultTrust
), QgsAuthCertUtils::getCertTrustName( defaultpolicy ) );
122
}
QgsApplication::authManager
static QgsAuthManager * authManager()
Returns the application's authentication manager instance.
Definition
qgsapplication.cpp:1652
QgsAuthCertTrustPolicyComboBox::trustPolicyForIndex
QgsAuthCertUtils::CertTrustPolicy trustPolicyForIndex(int indx)
Gets trust policy for a given index of combobox.
Definition
qgsauthcerttrustpolicycombobox.cpp:66
QgsAuthCertTrustPolicyComboBox::trustPolicy
QgsAuthCertUtils::CertTrustPolicy trustPolicy()
Gets currently set trust policy.
Definition
qgsauthcerttrustpolicycombobox.cpp:61
QgsAuthCertTrustPolicyComboBox::setDefaultTrustPolicy
void setDefaultTrustPolicy(QgsAuthCertUtils::CertTrustPolicy defaultpolicy)
Sets default trust policy.
Definition
qgsauthcerttrustpolicycombobox.cpp:77
QgsAuthCertTrustPolicyComboBox::setTrustPolicy
void setTrustPolicy(QgsAuthCertUtils::CertTrustPolicy policy)
Sets current trust policy.
Definition
qgsauthcerttrustpolicycombobox.cpp:71
QgsAuthCertTrustPolicyComboBox::QgsAuthCertTrustPolicyComboBox
QgsAuthCertTrustPolicyComboBox(QWidget *parent=nullptr, QgsAuthCertUtils::CertTrustPolicy policy=QgsAuthCertUtils::DefaultTrust, QgsAuthCertUtils::CertTrustPolicy defaultpolicy=QgsAuthCertUtils::DefaultTrust)
Construct a combo box for defining certificate trust policy.
Definition
qgsauthcerttrustpolicycombobox.cpp:32
QgsAuthCertUtils::CertTrustPolicy
CertTrustPolicy
Type of certificate trust policy.
Definition
qgsauthcertutils.h:59
QgsAuthCertUtils::Untrusted
@ Untrusted
Definition
qgsauthcertutils.h:62
QgsAuthCertUtils::Trusted
@ Trusted
Definition
qgsauthcertutils.h:61
QgsAuthCertUtils::DefaultTrust
@ DefaultTrust
Definition
qgsauthcertutils.h:60
QgsAuthGuiUtils::greenTextStyleSheet
static QString greenTextStyleSheet(const QString &selector="*")
Green text stylesheet representing valid, trusted, etc. certificate.
Definition
qgsauthguiutils.cpp:55
QgsAuthGuiUtils::greenColor
static QColor greenColor()
Green color representing valid, trusted, etc. certificate.
Definition
qgsauthguiutils.cpp:35
QgsAuthGuiUtils::redTextStyleSheet
static QString redTextStyleSheet(const QString &selector="*")
Red text stylesheet representing invalid, untrusted, etc. certificate.
Definition
qgsauthguiutils.cpp:65
QgsAuthGuiUtils::redColor
static QColor redColor()
Red color representing invalid, untrusted, etc. certificate.
Definition
qgsauthguiutils.cpp:45
QgsAuthManager::defaultCertTrustPolicy
QgsAuthCertUtils::CertTrustPolicy defaultCertTrustPolicy()
Gets the default certificate trust policy preferred by user.
Definition
qgsauthmanager.cpp:3458
qgsapplication.h
qgsauthcerttrustpolicycombobox.h
qgsauthcertutils.h
qgsauthguiutils.h
qgsauthmanager.h
qgslogger.h
QgsDebugMsgLevel
#define QgsDebugMsgLevel(str, level)
Definition
qgslogger.h:80
Generated on
for QGIS API Documentation by
1.17.0