All Projects â†’ antony-jr â†’ QArchive

antony-jr / QArchive

Licence: BSD-3-Clause license
Async C++ Cross-Platform library that modernizes libarchive using Qt5 🚀. Simply extracts 7z 🍔, Tarballs 🎱 and other supported formats by libarchive. ❤ī¸

Programming Languages

C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
CMake
9771 projects
Meson
512 projects
QMake
1090 projects
CSS
56736 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to QArchive

Libarchive
Multi-format archive and compression library
Stars: ✭ 1,625 (+2362.12%)
Mutual labels:  zip, tar, gz, libarchive, 7zip
MangDL
The most inefficient Manga downloader for PC
Stars: ✭ 40 (-39.39%)
Mutual labels:  zip, tar, 7zip
ratarmount
Random Access Read-Only Tar Mount
Stars: ✭ 217 (+228.79%)
Mutual labels:  zip, tar, gz
ytmous
Anonymous Youtube Proxy
Stars: ✭ 60 (-9.09%)
Mutual labels:  simple, small, easy-to-use
PLzmaSDK
PLzmaSDK is (Portable, Patched, Package, cross-P-latform) Lzma SDK.
Stars: ✭ 28 (-57.58%)
Mutual labels:  tar, compress, 7zip
AppImageUpdater
AppImage Updater for Humans built with QML/C++ with Qt5 ❤ī¸.
Stars: ✭ 31 (-53.03%)
Mutual labels:  simple, qt5, easy-to-use
Qview
Practical and minimal image viewer
Stars: ✭ 460 (+596.97%)
Mutual labels:  simple, qt5
Mcdowell Cv
A Nice-looking CV template made into LaTeX
Stars: ✭ 855 (+1195.45%)
Mutual labels:  simple, easy-to-use
Slop
Simple Lightweight Option Parsing - ✨ new contributors welcome ✨
Stars: ✭ 1,067 (+1516.67%)
Mutual labels:  simple, easy-to-use
Chocolater
Chocolater is simply a PowerShell code generator and it was conceived in order to facilitate the selection and installation of your favorite applications in one go.
Stars: ✭ 26 (-60.61%)
Mutual labels:  simple, easy-to-use
Perfectwindows
PerfectWindows čŊ¯äģļåŽļ族 - Windows äģŽæœĒåĻ‚此厌įžŽīŧ
Stars: ✭ 1,326 (+1909.09%)
Mutual labels:  simple, easy-to-use
Valine
A fast, simple & powerful comment system.
Stars: ✭ 1,899 (+2777.27%)
Mutual labels:  simple, easy-to-use
Wondercms
WonderCMS - fast and small flat file CMS (5 files)
Stars: ✭ 330 (+400%)
Mutual labels:  simple, small
Discord bot.py
đŸē A simple discord bot that helps you getting started within discord.py
Stars: ✭ 313 (+374.24%)
Mutual labels:  simple, small
Server Manager
This repository holds the IntISP Interface. It can be rebuilt to interface with any other hosting panel.
Stars: ✭ 31 (-53.03%)
Mutual labels:  simple, small
core
🌈 light, fast, and easy to use, dependencies free javascript syntax highlighter, with automatic language detection
Stars: ✭ 40 (-39.39%)
Mutual labels:  simple, small
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
Stars: ✭ 176 (+166.67%)
Mutual labels:  simple, small
extractor
Compressed files extractor for PHP
Stars: ✭ 23 (-65.15%)
Mutual labels:  zip, tar
compress
compress and uncompress for Deno
Stars: ✭ 29 (-56.06%)
Mutual labels:  zip, tar
dhtml2pdf
Simple, free and very easy to use PHP API that allows you to see, download or get the binary of the PDF generated from the HTML of an URL.
Stars: ✭ 27 (-59.09%)
Mutual labels:  simple, easy-to-use

QArchive Logo

QArchive GitHub issues GitHub forks GitHub stars GitHub license Test and Deploy

QArchive is a cross-platform C++ library that modernizes libarchive , This library helps you to extract and compress archives supported by libarchive. The whole library itself is crafted to work perfectly well with the Qt event loop and thus its a perfect fit for your Qt projects.

I personally made this project to extract .7z archives in order to create a library that can update Qt Apps installed via Qt Installer Framework without using the updater tool provided by Qt , because I hated using sub-process and besides I wanted a in-built updater for my application and that's not possible with the already provided updater from Qt Installer Framework.

Features

  • Single threaded and Non-Blocking API - Using Qt's Event Loop. (you can optionally run in a different thread)

  • Easy to Use API - Made some effort to match Qt's style.

  • Cyclic API , No use of mutex - The whole library is fully cyclic and therefore no mutex is used.(Only signals and slots.)

  • Drink the Qt Kool-aid - In a positive way.

Witness it with your own eyes,

#include <QCoreApplication>
#include <QArchive/QArchive>

int main(int argc, char **argv)
{
    using QArchive::DiskExtractor;
    QCoreApplication app(argc, argv);
    DiskExtractor Extractor("Test.7z");
    
    /* Connect Signals and Slots. */
    QObject::connect(&Extractor , 
                     &DiskExtractor::finished , 
                     &app , 
                     &QCoreApplication::quit);
    
    Extractor.start();
    return app.exec();
}

Getting Started

Learn more about QArchive at the official documentation.

Conan

Thanks to Eric Riff.

Starting from version 2.0.1 QArchive is available on the Conan C/C++ package manager, which means you can download prebuilt packages for all major platforms (Windows, Linux, macOS, etc).

Find an example on how to consume Conan's precompiled packages in the examples folder.

Contributors QArchive Contributors

My utmost gratitude goes to these people! ❤ī¸


Matthieu Petiot
đŸ’ģ

Adrien Bertrand
đŸ’ģ

Albert Huang
đŸ’ģ

Ichiro
đŸ’ģ

Long Nguyen
đŸ’ģ

g-fb
đŸ’ģ

Duilio Protti
đŸ’ģ

Eric Riff
đŸ’ģ

GGBond
đŸ’ģ

DeuxVis
đŸ’ģ

yosicovich
đŸ’ģ

tastytea
đŸ’ģ

M. Ludo
đŸ’ģ

Rosen Penev
đŸ’ģ

Anton
đŸ’ģ

You can also become one of them by contributing to this project , to know more read CONTRIBUTING.md.

Thank You Thank You

I really need to thank the developers of these libraries for creating it because QArchive is elegant because of them! ❤ī¸

Support Twitter

If you think that this project is cool then you can give it a ⭐ or 🍴 it if you want to improve it with me. I really ❤ī¸ stars though!

License

The BSD 3-clause "New" or "Revised" License.

Copyright (C) 2017-present, QArchive Contributors and Antony J.R

All Rights Reserved.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].