Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
PIM
Kleopatra
Commits
523d95da
Commit
523d95da
authored
Oct 06, 2020
by
Ingo Klöcker
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move definition of methods out of definition of Private class
parent
0ea195ed
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
62 additions
and
57 deletions
+62
-57
src/view/smartcardwidget.cpp
src/view/smartcardwidget.cpp
+62
-57
No files found.
src/view/smartcardwidget.cpp
View file @
523d95da
...
...
@@ -67,77 +67,82 @@ public:
class
SmartCardWidget
::
Private
{
public:
Private
(
SmartCardWidget
*
qq
)
:
q
(
qq
)
{
QPushButton
*
backBtn
=
new
QPushButton
(
QIcon
::
fromTheme
(
QStringLiteral
(
"arrow-left"
)),
i18n
(
"Back"
));
QHBoxLayout
*
backH
=
new
QHBoxLayout
;
backH
->
addWidget
(
backBtn
);
backH
->
addWidget
(
new
QLabel
(
QStringLiteral
(
"<h2>"
)
+
i18n
(
"Smartcard Management"
)
+
QStringLiteral
(
"</h2>"
)));
backH
->
addStretch
(
-
1
);
Private
(
SmartCardWidget
*
qq
);
QVBoxLayout
*
vLay
=
new
QVBoxLayout
(
q
);
void
setCard
(
std
::
shared_ptr
<
Card
>
card
);
private:
SmartCardWidget
*
const
q
;
NetKeyWidget
*
mNetKeyWidget
;
PGPCardWidget
*
mPGPCardWidget
;
PIVCardWidget
*
mPIVCardWidget
;
PlaceHolderWidget
*
mPlaceHolderWidget
;
QStackedWidget
*
mStack
;
};
SmartCardWidget
::
Private
::
Private
(
SmartCardWidget
*
qq
)
:
q
(
qq
)
{
QPushButton
*
backBtn
=
new
QPushButton
(
QIcon
::
fromTheme
(
QStringLiteral
(
"arrow-left"
)),
i18n
(
"Back"
));
QHBoxLayout
*
backH
=
new
QHBoxLayout
;
backH
->
addWidget
(
backBtn
);
backH
->
addWidget
(
new
QLabel
(
QStringLiteral
(
"<h2>"
)
+
i18n
(
"Smartcard Management"
)
+
QStringLiteral
(
"</h2>"
)));
backH
->
addStretch
(
-
1
);
connect
(
backBtn
,
&
QPushButton
::
clicked
,
q
,
[
this
]
()
{
Q_EMIT
q
->
backRequested
();}
);
QVBoxLayout
*
vLay
=
new
QVBoxLayout
(
q
);
vLay
->
addLayout
(
backH
);
mStack
=
new
QStackedWidget
;
vLay
->
addWidget
(
mStack
);
connect
(
backBtn
,
&
QPushButton
::
clicked
,
q
,
[
this
]
()
{
Q_EMIT
q
->
backRequested
();});
mPGPCardWidget
=
new
PGPCardWidget
(
q
);
mStack
->
addWidget
(
mPGPCardWidget
);
vLay
->
addLayout
(
backH
);
m
NetKeyWidget
=
new
NetKey
Widget
(
q
)
;
mStack
->
addWidget
(
m
NetKeyWidget
);
m
Stack
=
new
QStacked
Widget
;
vLay
->
addWidget
(
m
Stack
);
mP
IV
CardWidget
=
new
P
IV
CardWidget
(
q
);
mStack
->
addWidget
(
mP
IV
CardWidget
);
mP
GP
CardWidget
=
new
P
GP
CardWidget
(
q
);
mStack
->
addWidget
(
mP
GP
CardWidget
);
m
PlaceHolder
Widget
=
new
PlaceHolder
Widget
(
q
);
mStack
->
addWidget
(
m
PlaceHolder
Widget
);
m
NetKey
Widget
=
new
NetKey
Widget
(
q
);
mStack
->
addWidget
(
m
NetKey
Widget
);
mStack
->
setCurrentWidget
(
mPlaceHolderWidget
);
mPIVCardWidget
=
new
PIVCardWidget
(
q
);
mStack
->
addWidget
(
mPIVCardWidget
);
connect
(
ReaderStatus
::
instance
(),
&
ReaderStatus
::
cardChanged
,
q
,
[
this
]
(
unsigned
int
slot
)
{
if
(
slot
==
0
)
{
const
auto
cards
=
ReaderStatus
::
instance
()
->
getCards
();
if
(
!
cards
.
size
())
{
setCard
(
std
::
shared_ptr
<
Card
>
(
new
Card
()));
}
else
{
// No support for multiple reader / cards currently
setCard
(
cards
[
0
]);
}
mPlaceHolderWidget
=
new
PlaceHolderWidget
(
q
);
mStack
->
addWidget
(
mPlaceHolderWidget
);
mStack
->
setCurrentWidget
(
mPlaceHolderWidget
);
connect
(
ReaderStatus
::
instance
(),
&
ReaderStatus
::
cardChanged
,
q
,
[
this
]
(
unsigned
int
slot
)
{
if
(
slot
==
0
)
{
const
auto
cards
=
ReaderStatus
::
instance
()
->
getCards
();
if
(
!
cards
.
size
())
{
setCard
(
std
::
shared_ptr
<
Card
>
(
new
Card
()));
}
else
{
// No support for multiple reader / cards currently
setCard
(
cards
[
0
]);
}
});
}
}
});
}
void
setCard
(
std
::
shared_ptr
<
Card
>
card
)
{
if
(
card
->
appName
()
==
SmartCard
::
OpenPGPCard
::
AppName
)
{
mPGPCardWidget
->
setCard
(
static_cast
<
OpenPGPCard
*>
(
card
.
get
()));
mStack
->
setCurrentWidget
(
mPGPCardWidget
);
}
else
if
(
card
->
appName
()
==
SmartCard
::
NetKeyCard
::
AppName
)
{
mNetKeyWidget
->
setCard
(
static_cast
<
NetKeyCard
*>
(
card
.
get
()));
mStack
->
setCurrentWidget
(
mNetKeyWidget
);
}
else
if
(
card
->
appName
()
==
SmartCard
::
PIVCard
::
AppName
)
{
mPIVCardWidget
->
setCard
(
static_cast
<
PIVCard
*>
(
card
.
get
()));
mStack
->
setCurrentWidget
(
mPIVCardWidget
);
}
else
{
mStack
->
setCurrentWidget
(
mPlaceHolderWidget
);
}
void
SmartCardWidget
::
Private
::
setCard
(
std
::
shared_ptr
<
Card
>
card
)
{
if
(
card
->
appName
()
==
SmartCard
::
OpenPGPCard
::
AppName
)
{
mPGPCardWidget
->
setCard
(
static_cast
<
OpenPGPCard
*>
(
card
.
get
()));
mStack
->
setCurrentWidget
(
mPGPCardWidget
);
}
else
if
(
card
->
appName
()
==
SmartCard
::
NetKeyCard
::
AppName
)
{
mNetKeyWidget
->
setCard
(
static_cast
<
NetKeyCard
*>
(
card
.
get
()));
mStack
->
setCurrentWidget
(
mNetKeyWidget
);
}
else
if
(
card
->
appName
()
==
SmartCard
::
PIVCard
::
AppName
)
{
mPIVCardWidget
->
setCard
(
static_cast
<
PIVCard
*>
(
card
.
get
()));
mStack
->
setCurrentWidget
(
mPIVCardWidget
);
}
else
{
mStack
->
setCurrentWidget
(
mPlaceHolderWidget
);
}
private:
SmartCardWidget
*
const
q
;
NetKeyWidget
*
mNetKeyWidget
;
PGPCardWidget
*
mPGPCardWidget
;
PIVCardWidget
*
mPIVCardWidget
;
PlaceHolderWidget
*
mPlaceHolderWidget
;
QStackedWidget
*
mStack
;
};
}
SmartCardWidget
::
SmartCardWidget
(
QWidget
*
parent
)
:
QWidget
(
parent
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment