Advance Wayland and KDE package bring-up
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
/* This file is part of the KDE project
|
||||
|
||||
SPDX-FileCopyrightText: 2014 Maarten De Meyer <de.meyer.maarten@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
/*
|
||||
* Unzipper
|
||||
* This example shows how to extract all files from a zip archive.
|
||||
*
|
||||
* api: KArchive::directory()
|
||||
* api: KArchiveDirectory::copyTo(QString destination, bool recursive)
|
||||
*
|
||||
* Usage: ./unzipper <archive>
|
||||
*/
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDir>
|
||||
|
||||
#include <kzip.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication app(argc, argv);
|
||||
QStringList args(app.arguments());
|
||||
|
||||
if (args.size() != 2) {
|
||||
// Too many or too few arguments
|
||||
qWarning("Usage: ./unzipper <archive.zip>");
|
||||
return 1;
|
||||
}
|
||||
|
||||
QString file = args.at(1);
|
||||
KZip archive(file);
|
||||
|
||||
// Open the archive
|
||||
if (!archive.open(QIODevice::ReadOnly)) {
|
||||
qWarning("Cannot open " + file.toLatin1());
|
||||
qWarning("Is it a valid zip file?");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Take the root folder from the archive and create a KArchiveDirectory object.
|
||||
// KArchiveDirectory represents a directory in a KArchive.
|
||||
const KArchiveDirectory *root = archive.directory();
|
||||
|
||||
// We can extract all contents from a KArchiveDirectory to a destination.
|
||||
// recursive true will also extract subdirectories.
|
||||
QString destination = QDir::currentPath();
|
||||
bool recursive = true;
|
||||
root->copyTo(destination, recursive);
|
||||
|
||||
archive.close();
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user