Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
PIM
KMail
Commits
c6cc5c52
Commit
c6cc5c52
authored
Sep 21, 2020
by
Laurent Montel
😁
Browse files
Extract widget
parent
02b8e385
Pipeline
#35061
canceled with stage
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/CMakeLists.txt
View file @
c6cc5c52
...
...
@@ -43,6 +43,7 @@ set(kmailprivate_folderarchive_LIB_SRCS
)
set
(
kmailprivate_collectionpage_LIB_SRCS
collectionpage/collectiontemplatespage.cpp
collectionpage/collectiontemplateswidget.cpp
collectionpage/collectionviewpage.cpp
collectionpage/collectionquotapage.cpp
collectionpage/collectionquotawidget.cpp
...
...
src/collectionpage/collectiontemplateswidget.cpp
0 → 100644
View file @
c6cc5c52
/*
SPDX-FileCopyrightText: 2020 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include
"collectiontemplateswidget.h"
#include
<KLocalizedString>
#include
"templatesconfiguration_kfg.h"
#include
<QCheckBox>
#include
<QVBoxLayout>
#include
<TemplateParser/TemplatesConfiguration>
CollectionTemplatesWidget
::
CollectionTemplatesWidget
(
QWidget
*
parent
)
:
QWidget
(
parent
)
{
QVBoxLayout
*
topLayout
=
new
QVBoxLayout
(
this
);
QHBoxLayout
*
topItems
=
new
QHBoxLayout
;
topItems
->
setContentsMargins
(
0
,
0
,
0
,
0
);
topLayout
->
addLayout
(
topItems
);
mCustom
=
new
QCheckBox
(
i18n
(
"&Use custom message templates in this folder"
),
this
);
connect
(
mCustom
,
&
QCheckBox
::
clicked
,
this
,
&
CollectionTemplatesWidget
::
slotChanged
);
topItems
->
addWidget
(
mCustom
,
Qt
::
AlignLeft
);
mWidget
=
new
TemplateParser
::
TemplatesConfiguration
(
this
,
QStringLiteral
(
"folder-templates"
));
connect
(
mWidget
,
&
TemplateParser
::
TemplatesConfiguration
::
changed
,
this
,
&
CollectionTemplatesWidget
::
slotChanged
);
mWidget
->
setEnabled
(
false
);
// Move the help label outside of the templates configuration widget,
// so that the help can be read even if the widget is not enabled.
topItems
->
addStretch
(
9
);
topItems
->
addWidget
(
mWidget
->
helpLabel
(),
Qt
::
AlignRight
);
topLayout
->
addWidget
(
mWidget
);
QHBoxLayout
*
btns
=
new
QHBoxLayout
();
QPushButton
*
copyGlobal
=
new
QPushButton
(
i18n
(
"&Copy Global Templates"
),
this
);
copyGlobal
->
setEnabled
(
false
);
btns
->
addWidget
(
copyGlobal
);
topLayout
->
addLayout
(
btns
);
connect
(
mCustom
,
&
QCheckBox
::
toggled
,
mWidget
,
&
TemplateParser
::
TemplatesConfiguration
::
setEnabled
);
connect
(
mCustom
,
&
QCheckBox
::
toggled
,
copyGlobal
,
&
QPushButton
::
setEnabled
);
connect
(
copyGlobal
,
&
QPushButton
::
clicked
,
this
,
&
CollectionTemplatesWidget
::
slotCopyGlobal
);
}
CollectionTemplatesWidget
::~
CollectionTemplatesWidget
()
{
}
void
CollectionTemplatesWidget
::
save
(
const
Akonadi
::
Collection
&
collection
)
{
if
(
mChanged
&&
!
mCollectionId
.
isEmpty
())
{
TemplateParser
::
Templates
t
(
mCollectionId
);
//qCDebug(KMAIL_LOG) << "use custom templates for folder" << fid <<":" << mCustom->isChecked();
t
.
setUseCustomTemplates
(
mCustom
->
isChecked
());
t
.
save
();
mWidget
->
saveToFolder
(
mCollectionId
);
}
}
void
CollectionTemplatesWidget
::
slotCopyGlobal
()
{
if
(
mIdentity
)
{
mWidget
->
loadFromIdentity
(
mIdentity
);
}
else
{
mWidget
->
loadFromGlobal
();
}
}
void
CollectionTemplatesWidget
::
slotChanged
()
{
mChanged
=
true
;
}
src/collectionpage/collectiontemplateswidget.h
0 → 100644
View file @
c6cc5c52
/*
SPDX-FileCopyrightText: 2020 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef COLLECTIONTEMPLATESWIDGET_H
#define COLLECTIONTEMPLATESWIDGET_H
#include
<QWidget>
#include
<AkonadiCore/Collection>
class
QCheckBox
;
namespace
TemplateParser
{
class
TemplatesConfiguration
;
}
class
CollectionTemplatesWidget
:
public
QWidget
{
Q_OBJECT
public:
explicit
CollectionTemplatesWidget
(
QWidget
*
parent
=
nullptr
);
~
CollectionTemplatesWidget
();
void
save
(
const
Akonadi
::
Collection
&
collection
);
private:
void
slotCopyGlobal
();
void
slotChanged
();
QCheckBox
*
mCustom
=
nullptr
;
TemplateParser
::
TemplatesConfiguration
*
mWidget
=
nullptr
;
QString
mCollectionId
;
uint
mIdentity
=
0
;
bool
mChanged
=
false
;
};
#endif // COLLECTIONTEMPLATESWIDGET_H
Write
Preview
Supports
Markdown
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