1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
/* vi: set sw=4 ts=4:
*
* Copyright (C) 2007 - 2015 Christian Hohnstaedt.
*
* All rights reserved.
*/
#include "hashBox.h"
#include "lib/base.h"
#include <QDebug>
hashBox::hashBox(QWidget *parent)
:QComboBox(parent)
{
setupAllHashes();
}
const digest hashBox::current() const
{
return digest(currentText());
}
void hashBox::setCurrent(const digest &md)
{
int idx = findText(md.name());
if (idx != -1) {
setCurrentIndex(idx);
wanted_md = "";
} else {
wanted_md = md.name();
}
}
void hashBox::setupHashes(QList<int> nids)
{
QString md = currentText();
if (!wanted_md.isEmpty())
md = wanted_md;
clear();
foreach(int nid, digest::all_digests) {
if (nids.contains(nid))
addItem(digest(nid).name());
}
setEnabled(count() > 0);
setDefaultHash();
if (!md.isEmpty())
setCurrent(digest(md));
else
setDefaultHash();
}
void hashBox::setupAllHashes()
{
setupHashes(digest::all_digests);
}
void hashBox::setDefaultHash()
{
setCurrent(digest::getDefault());
}
|