kde-extraapps/ark/kerfuffle/extractiondialog.h
Ivailo Monev c0c0f194bc ark: rework extraction dialog
less space used by the options, automatic sub-folder detection even for
single folder archive and handling of dot (".") as the returned sub-folder
name by the archive list job (libarchive quirck).

tested batch and non-batch extraction, with and without automatic
sub-folder detection but with tar.xz and .deb files only

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-18 03:08:36 +03:00

71 lines
2.3 KiB
C++

/*
* ark -- archiver for the KDE project
*
* Copyright (C) 2007 Henrique Pinto <henrique.pinto@kdemail.net>
* Copyright (C) 2008 Harald Hvaal <haraldhv@stud.ntnu.no>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ( INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef EXTRACTIONDIALOG_H
#define EXTRACTIONDIALOG_H
#include "kerfuffle_export.h"
#include <KFileDialog>
#include <KDialog>
namespace Kerfuffle
{
class KERFUFFLE_EXPORT ExtractionDialog : public KFileDialog
{
Q_OBJECT
public:
ExtractionDialog(QWidget *parent = 0);
virtual ~ExtractionDialog();
void setPreservePaths(bool);
void setOpenDestinationFolderAfterExtraction(bool);
void setCloseAfterExtraction(bool);
void setAutoSubfolder(bool value);
bool openDestinationAfterExtraction() const;
bool closeAfterExtraction() const;
bool autoSubfolders() const;
bool preservePaths() const;
QString destinationDirectory() const;
void selectionModeOption();
void batchModeOption();
private Q_SLOTS:
void writeSettings();
private:
void loadSettings();
class ExtractionDialogUI *m_ui;
};
}
#endif // EXTRACTIONDIALOG_H