KIO

kbuildsycocaprogressdialog.cpp
1/*
2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.0-only
6*/
7#include "kbuildsycocaprogressdialog.h"
8#include "kio_widgets_debug.h"
9
10#include <KLocalizedString>
11#include <KSycoca>
12
13#include <QDBusConnection>
14#include <QDBusInterface>
15#include <QDialogButtonBox>
16#include <QProcess>
17#include <QStandardPaths>
18
19class KBuildSycocaProgressDialogPrivate
20{
21public:
22 explicit KBuildSycocaProgressDialogPrivate(KBuildSycocaProgressDialog *parent)
23 : m_parent(parent)
24 {
25 }
26
27 KBuildSycocaProgressDialog *const m_parent;
28};
29
31{
32 KBuildSycocaProgressDialog dlg(parent, i18n("Updating System Configuration"), i18n("Updating system configuration…"));
33
34 const QString exec = QStandardPaths::findExecutable(QStringLiteral(KBUILDSYCOCA_EXENAME));
35 if (exec.isEmpty()) {
36 qCWarning(KIO_WIDGETS) << "Could not find kbuildsycoca executable:" << KBUILDSYCOCA_EXENAME;
37 return;
38 }
39 QProcess *proc = new QProcess(&dlg);
40 proc->start(exec, QStringList());
42
43 dlg.exec();
44}
45
46KBuildSycocaProgressDialog::KBuildSycocaProgressDialog(QWidget *_parent, const QString &title, const QString &text)
47 : QProgressDialog(_parent)
48 , d(new KBuildSycocaProgressDialogPrivate(this))
49{
50 setWindowTitle(title);
51 setModal(true);
52 setLabelText(text);
53 setRange(0, 0);
54 setAutoClose(false);
57}
58
59KBuildSycocaProgressDialog::~KBuildSycocaProgressDialog() = default;
60
61#include "moc_kbuildsycocaprogressdialog.cpp"
Progress dialog while ksycoca is being rebuilt (by kbuildsycoca).
static void rebuildKSycoca(QWidget *parent)
Rebuild KSycoca and show a progress dialog while doing so.
QString i18n(const char *text, const TYPE &arg...)
virtual int exec()
void setModal(bool modal)
QPushButton * button(StandardButton which) const const
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QObject * parent() const const
void finished(int exitCode, QProcess::ExitStatus exitStatus)
void start(OpenMode mode)
void setAutoClose(bool close)
void setLabelText(const QString &text)
void setCancelButton(QPushButton *cancelButton)
void setRange(int minimum, int maximum)
QString findExecutable(const QString &executableName, const QStringList &paths)
bool close()
void setWindowTitle(const QString &)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:52 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.