Source Code (Use browser search to find items of interest.)
Class Index
ark'AddDlg (./kdeutils/ark/adddlg.h:38)
class AddDlg : public KDialogBase
{
Q_OBJECT
public:
AddDlg(ArchType _archtype, const QString & _sourceDir,
ArkSettings *_settings, QWidget *parent=0, const char *name=0);
~AddDlg() { delete m_fileList;}
QStringList *getFiles() { return m_fileList; }
public slots:
void accept();
private: // methods
void setupFirstTab();
void setupSecondTab();
private: // data
QString m_sourceDir;
KDirOperator *m_dirList;
ArchType m_archtype;
ArkSettings *m_settings;
QStringList *m_fileList;
// advanced options
// zip:
QCheckBox *m_cbRecurse, *m_cbJunkDirNames, *m_cbForceMS, *m_cbConvertLF2CRLF;
// tar
QCheckBox *m_cbReplaceOnlyNewer;
// lha
QCheckBox *m_cbMakeGeneric;
};
ark'AddDlg::AddDlg() (./kdeutils/ark/adddlg.cc:46)
AddDlg::AddDlg(ArchType _archtype, const QString & _sourceDir,
ArkSettings *_settings,
QWidget *parent, const char *name)
: KDialogBase(KDialogBase::Tabbed, i18n("Add"),
KDialogBase::Ok | KDialogBase::Cancel,
KDialogBase::Ok, parent, name), m_sourceDir(_sourceDir),
m_archtype(_archtype), m_settings(_settings), m_fileList(0)
{
// this has some sizing problems
setupFirstTab();
setupSecondTab();
showButtonOK(true);
showButtonCancel(true);
}
ark'AddDlg::setupFirstTab() (./kdeutils/ark/adddlg.cc:61)
void AddDlg::setupFirstTab()
{
kdDebug(1601) << "+AddDlg::setupFirstTab" << endl;
QFrame *frame = addPage(i18n("Add"));
m_dirList = new KDirOperator(m_sourceDir, frame, "dirlist");
KCombiView *pCombiView = new KCombiView(m_dirList, "fileview");
KFileIconView *pFileView = new KFileIconView(pCombiView, "fileview2");
pCombiView->setRight(pFileView);
pFileView->setSelectionMode( KFile::Multi );
m_dirList->setView(pCombiView);
QVBoxLayout *vlay = new QVBoxLayout(frame, 0, spacingHint());
vlay->addWidget(m_dirList);
}
ark'AddDlg::setupSecondTab() (./kdeutils/ark/adddlg.cc:78)
void AddDlg::setupSecondTab()
{
QHBox *secondpage = addHBoxPage(i18n("Advanced"), i18n("Test"));
switch(m_archtype)
{
case ZIP_FORMAT:
{
kdDebug(1601) << "AddDlg::setupSecondTab - zip format" << endl;
QButtonGroup *bg = new QButtonGroup( 1, QGroupBox::Horizontal,
"ZIP Options", secondpage );
m_cbRecurse = new QCheckBox(i18n("Recurse into directories"), bg);
if (m_settings->getZipAddRecurseDirs())
m_cbRecurse->setChecked(true);
// NO - I want three radio buttons here.
m_cbJunkDirNames = new QCheckBox(i18n("Junk directory names"), bg);
if (m_settings->getZipAddJunkDirs())
m_cbJunkDirNames->setChecked(true);
m_cbForceMS = new QCheckBox(i18n("Force MS-style (8+3) filenames"),
bg);
if (m_settings->getZipAddMSDOS())
m_cbForceMS->setChecked(true);
m_cbConvertLF2CRLF = new QCheckBox(i18n("Convert LF to CRLF"), bg);
if (m_settings->getZipAddConvertLF())
m_cbConvertLF2CRLF->setChecked(true);
}
break;
case TAR_FORMAT:
{
QButtonGroup *bg = new QButtonGroup( 1, QGroupBox::Horizontal,
"TAR Options", secondpage );
m_cbJunkDirNames = new QCheckBox(i18n("Junk directory names"), bg);
if (!m_settings->getaddPath())
m_cbJunkDirNames->setChecked(true);
m_cbReplaceOnlyNewer = new QCheckBox(i18n("Replace newer files only"),
bg);
if (m_settings->getReplaceOnlyNew())
m_cbReplaceOnlyNewer->setChecked(true);
}
break;
case AA_FORMAT:
break;
case LHA_FORMAT:
{
QButtonGroup *bg = new QButtonGroup( 1, QGroupBox::Horizontal,
"LHA Options", secondpage );
m_cbMakeGeneric = new QCheckBox(i18n("Keep entries generic"), bg);
if (m_settings->getLhaGeneric())
m_cbMakeGeneric->setChecked(true);
}
break;
case RAR_FORMAT:
break;
case ZOO_FORMAT:
case UNKNOWN_FORMAT:
break;
default:
// shouldn't ever get here!
break;
}
}
ark'AddDlg::accept() (./kdeutils/ark/adddlg.cc:144)
void AddDlg::accept()
{
kdDebug(1601) << "+AddDlg::accept" << endl;
// Put the settings data into the settings object
switch(m_archtype)
{
case ZIP_FORMAT:
m_settings->setZipAddRecurseDirs(m_cbRecurse->isChecked());
m_settings->setZipAddJunkDirs(m_cbJunkDirNames->isChecked());
m_settings->setZipAddMSDOS(m_cbForceMS->isChecked());
m_settings->setZipAddConvertLF(m_cbConvertLF2CRLF->isChecked());
break;
case TAR_FORMAT:
m_settings->setReplaceOnlyNew(m_cbReplaceOnlyNewer->isChecked());
m_settings->setaddPath(!m_cbJunkDirNames->isChecked());
break;
case AA_FORMAT:
break;
case LHA_FORMAT:
m_settings->setLhaGeneric(m_cbMakeGeneric->isChecked());
break;
case RAR_FORMAT:
case ZOO_FORMAT:
case UNKNOWN_FORMAT:
break;
default:
break;
}
const KFileView *pView = m_dirList->view();
KFileViewItemList *pList =
const_cast<KFileViewItemList *>(pView->selectedItems());
kdDebug(1601) << "There are " << pList->count() << " items in my KFileViewItemList." << endl;
m_fileList = new QStringList;
KFileViewItem *pItem;
for ( pItem=pList->first(); pItem != 0; pItem=pList->next() )
{
kdDebug(1601) << (const char *)pItem->url() << endl;
m_fileList->append(pItem->url());
}
KDialogBase::accept();
kdDebug(1601) << "-AddDlg::accept" << endl;
}