kgreeter: use Plasma default theme wallpaper and rectangle image by default

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2022-04-26 11:02:28 +03:00
parent bf3d3c8867
commit 2851c60621
6 changed files with 69 additions and 26 deletions

View file

@ -8,9 +8,8 @@ set_package_properties(GLIB2 PROPERTIES
PURPOSE "Needed for the LightDM greeter"
)
add_subdirectory(kcm)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${LIGHTDM_INCLUDE_DIR}
${GLIB2_INCLUDE_DIR}
)
@ -24,6 +23,7 @@ target_link_libraries(lightdm-kgreeter-greeter
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${KDE4_KDEUI_LIBS}
${KDE4_PLASMA_LIBS}
${LIGHTDM_LIBRARIES}
${GLIB2_LIBRARIES}
)
@ -47,3 +47,10 @@ install(
FILES lightdm-kgreeter-greeter.desktop
DESTINATION ${KDE4_SHARE_INSTALL_PREFIX}/xgreeters
)
add_subdirectory(kcm)
install(
FILES data/rectangle.png
DESTINATION ${KDE4_DATA_INSTALL_DIR}/kgreeter
)

BIN
kgreeter/data/rectangle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -10,7 +10,7 @@ kde4_add_plugin(kcm_kgreeterconfig ${kgreeterconfig_SRCS})
target_link_libraries(kcm_kgreeterconfig
${KDE4_KDEUI_LIBS}
${KDE4_KCMUTILS_LIBS}
${KDE4_KIO_LIBS}
${KDE4_PLASMA_LIBS}
)
install(

View file

@ -17,6 +17,7 @@
*/
#include "kgreeterconfig.h"
#include "kgreeter.h"
#include <QSettings>
#include <QStyleFactory>
@ -115,25 +116,17 @@ void KCMGreeter::load()
const QString kgreeterfontstring = kgreetersettings.value("greeter/font").toString();
QFont kgreeterfont;
if (!kgreeterfont.fromString(kgreeterfontstring)) {
kgreeterfont = KGlobalSettings::generalFont();
kgreeterfont = KGreeterDefaultFont();
}
fontchooser->setFont(kgreeterfont);
const QString kgreeterstyle = kgreetersettings.value("greeter/style", KGreeterDefaultStyle()).toString();
for (int i = 0; i < stylesbox->count(); i++) {
if (stylesbox->itemData(i).toString().toLower() == KStyle::defaultStyle().toLower()) {
if (stylesbox->itemData(i).toString().toLower() == kgreeterstyle.toLower()) {
stylesbox->setCurrentIndex(i);
break;
}
}
const QString kgreeterstyle = kgreetersettings.value("greeter/style").toString();
if (!kgreeterstyle.isEmpty()) {
for (int i = 0; i < stylesbox->count(); i++) {
if (stylesbox->itemData(i).toString().toLower() == kgreeterstyle.toLower()) {
stylesbox->setCurrentIndex(i);
break;
}
}
}
colorsbox->setCurrentIndex(0); // default
const QString kgreetercolor = kgreetersettings.value("greeter/colorscheme").toString();
@ -146,10 +139,10 @@ void KCMGreeter::load()
}
}
const QString kgreeterbackground = kgreetersettings.value("greeter/background").toString();
const QString kgreeterbackground = kgreetersettings.value("greeter/background", KGreeterDefaultBackground()).toString();
backgroundrequester->setUrl(KUrl(kgreeterbackground));
const QString kgreeterrectangle = kgreetersettings.value("greeter/rectangle").toString();
const QString kgreeterrectangle = kgreetersettings.value("greeter/rectangle", KGreeterDefaultRectangle()).toString();
rectanglerequester->setUrl(KUrl(kgreeterrectangle));
enableTest(true);

View file

@ -23,7 +23,6 @@
#include <QPainter>
#include <KMessageBox>
#include <KIcon>
#include <KStyle>
#include <KStandardDirs>
#include <KGlobalSettings>
#include <KSharedConfig>
@ -32,6 +31,7 @@
#include <glib.h>
#include <lightdm-gobject-1/lightdm.h>
#include "kgreeter.h"
#include "ui_kgreeter.h"
#include "config-workspace.h"
@ -103,8 +103,8 @@ KGreeter::KGreeter(QWidget *parent)
m_ui.setupUi(this);
m_background = QImage(kgreetersettings.value("greeter/background").toString());
m_rectangle = QImage(kgreetersettings.value("greeter/rectangle").toString());
m_background = QImage(kgreetersettings.value("greeter/background", KGreeterDefaultBackground()).toString());
m_rectangle = QImage(kgreetersettings.value("greeter/rectangle", KGreeterDefaultRectangle()).toString());
m_ldmgreeter = lightdm_greeter_new();
@ -518,7 +518,7 @@ int main(int argc, char**argv)
const QString kgreeterfontstring = kgreetersettings.value("greeter/font").toString();
QFont kgreeterfont;
if (!kgreeterfont.fromString(kgreeterfontstring)) {
kgreeterfont = KGlobalSettings::generalFont();
kgreeterfont = KGreeterDefaultFont();
}
app.setFont(kgreeterfont);
@ -528,12 +528,8 @@ int main(int argc, char**argv)
app.addLibraryPath(path);
}
const QString kgreeterstyle = kgreetersettings.value("greeter/style").toString();
if (!kgreeterstyle.isEmpty()) {
app.setStyle(kgreeterstyle);
} else {
app.setStyle(KStyle::defaultStyle());
}
const QString kgreeterstyle = kgreetersettings.value("greeter/style", KGreeterDefaultStyle()).toString();
app.setStyle(kgreeterstyle);
const QString kgreetercolorscheme = kgreetersettings.value("greeter/colorscheme").toString();
if (!kgreetercolorscheme.isEmpty()) {

47
kgreeter/kgreeter.h Normal file
View file

@ -0,0 +1,47 @@
/* This file is part of the KDE project
Copyright (C) 2022 Ivailo Monev <xakepa10@gmail.com>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License version 2, as published by the Free Software Foundation.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef KGREETER_H
#define KGREETER_H
#include <KStyle>
#include <KGlobalSettings>
#include <Plasma/Theme>
#include <KStandardDirs>
static QFont KGreeterDefaultFont()
{
return KGlobalSettings::generalFont();
}
static QString KGreeterDefaultStyle()
{
return QString::fromLatin1("Cleanlooks");
}
static QString KGreeterDefaultBackground()
{
return Plasma::Theme::defaultTheme()->wallpaperPath();
}
static QString KGreeterDefaultRectangle()
{
return KStandardDirs::locate("data", "kgreeter/rectangle.png");
}
#endif // KGREETER_H