mirror of
https://github.com/chris2511/xca.git
synced 2026-09-14 11:06:19 +05:00
Move file loading GUI element out of non-gui container class (db_*)
into GUI View widgets/*TreeView.cpp
This commit is contained in:
parent
6efba2bb3e
commit
f2fe9be3f3
@ -19,10 +19,6 @@
|
||||
#include <QFileDialog>
|
||||
#include <QFileInfo>
|
||||
|
||||
#warning drop UI dependencies
|
||||
#include "widgets/ImportMulti.h"
|
||||
#include "ui_ImportMulti.h"
|
||||
|
||||
void db_base::restart_timer()
|
||||
{
|
||||
if (!IS_GUI_APP)
|
||||
@ -275,16 +271,6 @@ QString db_base::pem2QString(QModelIndexList indexes) const
|
||||
return bba.qstring();
|
||||
}
|
||||
|
||||
void db_base::pem2clipboard(QModelIndexList indexes) const
|
||||
{
|
||||
QString msg = pem2QString(indexes);
|
||||
QClipboard *cb = QApplication::clipboard();
|
||||
|
||||
if (cb->supportsSelection())
|
||||
cb->setText(msg, QClipboard::Selection);
|
||||
cb->setText(msg);
|
||||
}
|
||||
|
||||
void db_base::deletePKI(QModelIndex idx)
|
||||
{
|
||||
pki_base *pki = fromIndex(idx);
|
||||
@ -625,33 +611,6 @@ void db_base::timerEvent(QTimerEvent *event)
|
||||
}
|
||||
}
|
||||
|
||||
void db_base::load_default(load_base &load)
|
||||
{
|
||||
QString s;
|
||||
QStringList slist = QFileDialog::getOpenFileNames(NULL, load.caption,
|
||||
Settings["workingdir"], load.filter);
|
||||
|
||||
if (!slist.count())
|
||||
return;
|
||||
|
||||
update_workingdir(slist[0]);
|
||||
|
||||
ImportMulti *dlgi = new ImportMulti(NULL);
|
||||
foreach(s, slist) {
|
||||
pki_base *item = NULL;
|
||||
try {
|
||||
item = load.loadItem(s);
|
||||
dlgi->addItem(item);
|
||||
}
|
||||
catch (errorEx &err) {
|
||||
XCA_ERROR(err);
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
dlgi->execute();
|
||||
delete dlgi;
|
||||
}
|
||||
|
||||
bool db_base::columnHidden(int col) const
|
||||
{
|
||||
if (!isValidCol(col))
|
||||
|
||||
@ -92,7 +92,6 @@ class db_base: public QAbstractItemModel
|
||||
{
|
||||
return dynamic_cast<T*>(fromIndex(index));
|
||||
}
|
||||
void load_default(load_base &load);
|
||||
void insertChild(pki_base *child, pki_base *parent = NULL);
|
||||
int rownumber(const pki_base *child) const;
|
||||
void createSuccess(const pki_base *pki) const;
|
||||
@ -117,7 +116,6 @@ class db_base: public QAbstractItemModel
|
||||
dbheaderList getAllHeaders() {
|
||||
return allHeaders;
|
||||
}
|
||||
void pem2clipboard(QModelIndexList indexes) const;
|
||||
QString pem2QString(QModelIndexList indexes) const;
|
||||
|
||||
void deletePKI(QModelIndex idx);
|
||||
@ -128,7 +126,6 @@ class db_base: public QAbstractItemModel
|
||||
|
||||
public slots:
|
||||
virtual void newItem() { }
|
||||
virtual void load() { }
|
||||
void columnResetDefaults();
|
||||
void sectionResized(int i, int, int newSize);
|
||||
void sortIndicatorChanged(int, Qt::SortOrder);
|
||||
|
||||
@ -44,12 +44,6 @@ pki_base *db_crl::newPKI(enum pki_type type)
|
||||
return new pki_crl();
|
||||
}
|
||||
|
||||
void db_crl::load()
|
||||
{
|
||||
load_crl l;
|
||||
load_default(l);
|
||||
}
|
||||
|
||||
void db_crl::revokeCerts(pki_crl *crl)
|
||||
{
|
||||
db_x509 *certs = Database.model<db_x509>();
|
||||
|
||||
@ -24,7 +24,6 @@ class db_crl: public db_x509name
|
||||
pki_base *insert(pki_base *item);
|
||||
void removeSigner(pki_base *signer);
|
||||
void store(QModelIndex index);
|
||||
void load();
|
||||
void updateCertView();
|
||||
pki_crl *newCrl(const crljob &crljob);
|
||||
};
|
||||
|
||||
@ -188,13 +188,6 @@ pki_key *db_key::newKey(const keyjob &task, const QString &name)
|
||||
return key;
|
||||
}
|
||||
|
||||
void db_key::load(void)
|
||||
{
|
||||
load_key l;
|
||||
load_default(l);
|
||||
}
|
||||
|
||||
|
||||
void db_key::store(QModelIndex index)
|
||||
{
|
||||
QString title = tr("Export public key [%1]");
|
||||
|
||||
@ -34,7 +34,6 @@ class db_key: public db_base
|
||||
pki_key *newKey(const keyjob &task, const QString &name);
|
||||
|
||||
public slots:
|
||||
void load();
|
||||
void store(QModelIndex index);
|
||||
|
||||
signals:
|
||||
|
||||
@ -107,12 +107,6 @@ bool db_temp::alterTemp(pki_temp *temp)
|
||||
return true;
|
||||
}
|
||||
|
||||
void db_temp::load()
|
||||
{
|
||||
load_temp l;
|
||||
load_default(l);
|
||||
}
|
||||
|
||||
void db_temp::store(QModelIndex index)
|
||||
{
|
||||
pki_temp *temp = fromIndex<pki_temp>(index);
|
||||
|
||||
@ -25,7 +25,6 @@ class db_temp: public db_x509name
|
||||
pki_base *newPKI(enum pki_type type = none);
|
||||
void fillContextMenu(QMenu *menu, const QModelIndex &index);
|
||||
QList<pki_temp*> getPredefs() const;
|
||||
void load();
|
||||
void store(QModelIndex index);
|
||||
bool alterTemp(pki_temp *temp);
|
||||
};
|
||||
|
||||
@ -333,12 +333,6 @@ pki_base *db_x509::insert(pki_base *item)
|
||||
return insertPKI(cert);
|
||||
}
|
||||
|
||||
void db_x509::load(void)
|
||||
{
|
||||
load_cert c;
|
||||
load_default(c);
|
||||
}
|
||||
|
||||
pki_x509 *db_x509::get1SelectedCert()
|
||||
{
|
||||
QModelIndexList indexes = mainwin->certView->getSelectedIndexes();
|
||||
|
||||
@ -56,7 +56,6 @@ class db_x509: public db_x509super
|
||||
void toRequest(QModelIndex idx);
|
||||
void store(QModelIndex idx);
|
||||
void store(QModelIndexList list);
|
||||
void load();
|
||||
void updateCaProperties(pki_x509 *cert);
|
||||
void toCertificate(QModelIndex index);
|
||||
void certRenewal(QModelIndexList indexes);
|
||||
|
||||
@ -100,12 +100,6 @@ void db_x509req::newItem(pki_temp *temp, pki_x509req *orig)
|
||||
}
|
||||
}
|
||||
|
||||
void db_x509req::load(void)
|
||||
{
|
||||
load_req l;
|
||||
load_default(l);
|
||||
}
|
||||
|
||||
void db_x509req::store(QModelIndex index)
|
||||
{
|
||||
pki_x509req *req = fromIndex<pki_x509req>(index);
|
||||
|
||||
@ -26,7 +26,6 @@ class db_x509req: public db_x509super
|
||||
pki_base *newPKI(enum pki_type type = none);
|
||||
void fillContextMenu(QMenu *menu, const QModelIndex &index);
|
||||
void store(QModelIndex index);
|
||||
void load();
|
||||
QList<pki_x509req*> getAllRequests();
|
||||
void resetX509count();
|
||||
void setSigned(QModelIndex index, bool signe);
|
||||
|
||||
@ -45,6 +45,8 @@
|
||||
#define getch() getchar()
|
||||
#endif
|
||||
|
||||
bool is_gui_app = false;
|
||||
|
||||
int console_write(FILE *fp, const QByteArray &ba)
|
||||
{
|
||||
if (ba.size() == 0)
|
||||
|
||||
@ -29,12 +29,13 @@
|
||||
#define COL_DIM "\x1b[2m"
|
||||
#define COL_UNDER "\x1b[4m"
|
||||
|
||||
#define IS_GUI_APP (qobject_cast<QApplication*>(QCoreApplication::instance()))
|
||||
#define IS_GUI_APP (is_gui_app)
|
||||
|
||||
class Validity;
|
||||
class MainWindow;
|
||||
class QPixmap;
|
||||
extern MainWindow *mainwin;
|
||||
extern bool is_gui_app;
|
||||
|
||||
typedef struct asn1_object_st ASN1_OBJECT;
|
||||
typedef struct asn1_string_st ASN1_STRING;
|
||||
|
||||
@ -378,6 +378,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
/* On windows, always instantiate a GUI app */
|
||||
coreApp = gui = new XcaApplication(argc, argv);
|
||||
is_gui_app = true;
|
||||
}
|
||||
|
||||
coreApp->setApplicationName(PACKAGE_TARNAME);
|
||||
|
||||
@ -113,18 +113,14 @@ void CertTreeView::toOtherToken()
|
||||
|
||||
void CertTreeView::loadPKCS12()
|
||||
{
|
||||
if (basemodel) {
|
||||
load_pkcs12 l;
|
||||
certs()->load_default(l);
|
||||
}
|
||||
load_pkcs12 l;
|
||||
load_default(&l);
|
||||
}
|
||||
|
||||
void CertTreeView::loadPKCS7()
|
||||
{
|
||||
if (basemodel) {
|
||||
load_pkcs7 l;
|
||||
certs()->load_default(l);
|
||||
}
|
||||
load_pkcs7 l;
|
||||
load_default(&l);
|
||||
}
|
||||
|
||||
void CertTreeView::genCrl()
|
||||
@ -230,3 +226,9 @@ void CertTreeView::unRevoke()
|
||||
if (basemodel)
|
||||
certs()->unRevoke(getSelectedIndexes());
|
||||
}
|
||||
|
||||
void CertTreeView::load()
|
||||
{
|
||||
load_cert c;
|
||||
load_default(&c);
|
||||
}
|
||||
|
||||
@ -40,5 +40,6 @@ class CertTreeView: public X509SuperTreeView
|
||||
void caProperties();
|
||||
void revoke();
|
||||
void unRevoke();
|
||||
void load();
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -55,3 +55,8 @@ void CrlTreeView::newItem()
|
||||
newItem(ca);
|
||||
}
|
||||
|
||||
void CrlTreeView::load()
|
||||
{
|
||||
load_crl l;
|
||||
load_default(&l);
|
||||
}
|
||||
|
||||
@ -29,5 +29,6 @@ class CrlTreeView: public XcaTreeView
|
||||
public slots:
|
||||
void newItem(pki_x509 *cert);
|
||||
void newItem();
|
||||
void load();
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -214,3 +214,9 @@ void KeyTreeView::clipboardFormat(QAction *a)
|
||||
|
||||
Settings["KeyFormat"] = a->data().toInt();
|
||||
}
|
||||
|
||||
void KeyTreeView::load(void)
|
||||
{
|
||||
load_key l;
|
||||
load_default(&l);
|
||||
}
|
||||
|
||||
@ -35,6 +35,7 @@ class KeyTreeView: public XcaTreeView
|
||||
void changeSoPin();
|
||||
void toToken();
|
||||
void newItem();
|
||||
void load();
|
||||
void newItem(const QString &name);
|
||||
void clipboardFormat(QAction*);
|
||||
};
|
||||
|
||||
@ -219,9 +219,7 @@ void MainWindow::init_images()
|
||||
void MainWindow::loadPem()
|
||||
{
|
||||
load_pem l;
|
||||
db_key *keys = Database.model<db_key>();
|
||||
if (keys)
|
||||
keys->load_default(l);
|
||||
keyView->load_default(&l);
|
||||
}
|
||||
|
||||
bool MainWindow::pastePem(QString text, bool silent)
|
||||
|
||||
@ -60,3 +60,9 @@ void ReqTreeView::unmarkSigned()
|
||||
if (basemodel)
|
||||
reqs()->setSigned(currentIndex(), false);
|
||||
}
|
||||
|
||||
void ReqTreeView::load(void)
|
||||
{
|
||||
load_req l;
|
||||
load_default(&l);
|
||||
}
|
||||
|
||||
@ -30,5 +30,6 @@ class ReqTreeView: public X509SuperTreeView
|
||||
void signReq();
|
||||
void markSigned();
|
||||
void unmarkSigned();
|
||||
void load();
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -107,3 +107,9 @@ bool TempTreeView::alterTemp(pki_temp *temp)
|
||||
temps()->alterTemp(temp);
|
||||
return true;
|
||||
}
|
||||
|
||||
void TempTreeView::load()
|
||||
{
|
||||
load_temp l;
|
||||
load_default(&l);
|
||||
}
|
||||
|
||||
@ -34,6 +34,7 @@ class TempTreeView: public XcaTreeView
|
||||
void reqFromTemp();
|
||||
void duplicateTemp();
|
||||
void newItem();
|
||||
void load();
|
||||
|
||||
signals:
|
||||
void newReq(pki_temp *);
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
#include <QVariant>
|
||||
#include <QRegExp>
|
||||
#include <QFileDialog>
|
||||
#include <QClipboard>
|
||||
|
||||
#include "OidResolver.h"
|
||||
#include "XcaHeaderView.h"
|
||||
@ -21,6 +22,7 @@
|
||||
#include "XcaWarning.h"
|
||||
#include "XcaDialog.h"
|
||||
#include "XcaApplication.h"
|
||||
#include "ImportMulti.h"
|
||||
|
||||
#include "ui_ItemProperties.h"
|
||||
|
||||
@ -303,10 +305,31 @@ void XcaTreeView::newItem()
|
||||
basemodel->newItem();
|
||||
}
|
||||
|
||||
void XcaTreeView::load()
|
||||
void XcaTreeView::load_default(load_base *load)
|
||||
{
|
||||
if (basemodel)
|
||||
basemodel->load();
|
||||
QString s;
|
||||
QStringList slist = QFileDialog::getOpenFileNames(NULL, load->caption,
|
||||
Settings["workingdir"], load->filter);
|
||||
|
||||
if (!slist.count())
|
||||
return;
|
||||
|
||||
update_workingdir(slist[0]);
|
||||
|
||||
ImportMulti *dlgi = new ImportMulti(NULL);
|
||||
foreach(s, slist) {
|
||||
pki_base *item = NULL;
|
||||
try {
|
||||
item = load->loadItem(s);
|
||||
dlgi->addItem(item);
|
||||
}
|
||||
catch (errorEx &err) {
|
||||
XCA_ERROR(err);
|
||||
delete item;
|
||||
}
|
||||
}
|
||||
dlgi->execute();
|
||||
delete dlgi;
|
||||
}
|
||||
|
||||
void XcaTreeView::doubleClick(const QModelIndex &m)
|
||||
@ -337,8 +360,15 @@ void XcaTreeView::editComment()
|
||||
|
||||
void XcaTreeView::pem2clipboard()
|
||||
{
|
||||
if (basemodel)
|
||||
basemodel->pem2clipboard(getSelectedIndexes());
|
||||
if (!basemodel)
|
||||
return;
|
||||
|
||||
QString msg = basemodel->pem2QString(getSelectedIndexes());
|
||||
QClipboard *cb = QApplication::clipboard();
|
||||
|
||||
if (cb->supportsSelection())
|
||||
cb->setText(msg, QClipboard::Selection);
|
||||
cb->setText(msg);
|
||||
}
|
||||
|
||||
void XcaTreeView::headerDetails()
|
||||
|
||||
@ -22,6 +22,7 @@ class pki_base;
|
||||
class QKeyEvent;
|
||||
class QContextMenuEvent;
|
||||
class QMenu;
|
||||
class load_base;
|
||||
|
||||
class XcaTreeView: public QTreeView
|
||||
{
|
||||
@ -58,6 +59,7 @@ class XcaTreeView: public QTreeView
|
||||
void keyPressEvent(QKeyEvent *event);
|
||||
virtual void showPki(pki_base *) {};
|
||||
virtual void storeItems(QModelIndexList indexes);
|
||||
virtual void load_default(load_base *load);
|
||||
|
||||
public slots:
|
||||
void changeView();
|
||||
@ -71,7 +73,6 @@ class XcaTreeView: public QTreeView
|
||||
void showItems();
|
||||
void newItem();
|
||||
void doubleClick(const QModelIndex &m);
|
||||
void load();
|
||||
void pem2clipboard();
|
||||
void headerDetails();
|
||||
void columnRemove();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user