A simple Qt based browser with no bullshit that supports PKCS#11 tokens (such as the SuisseID).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.0 KiB

/*! @file
@id $Id$
*/
// 1 2 3 4 5 6 7 8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
#ifndef __EDITBOOKMARKS_HXX__
#define __EDITBOOKMARKS_HXX__
#include <QtGui/QDialog>
#include <QtGui/QComboBox>
#include <QtGui/QLineEdit>
#include <ui_editbookmarks.h>
#include <QDebug>
class EditBookmarks: public QDialog, protected Ui::EditBookmarks {
Q_OBJECT;
Q_SIGNALS:
void startEdit(bool=true);
void endEdit(bool=true);
public:
EditBookmarks(QComboBox* url, QWidget* p=0): QDialog(p), _url(url) {
setupUi(this);
reject();
}
virtual void accept() {
QStringList urls;
for (int i(0); i<_bookmarks->count(); ++i)
urls<<_bookmarks->item(i)->text();
QString current(_url->currentText());
_url->clear();
_url->addItems(urls);
_url->setEditText(current);
QDialog::accept();
}
virtual void reject() {
reset();
QDialog::reject();
}
protected Q_SLOTS:
void on__remove_clicked(bool) {
QList<QListWidgetItem*> items(_bookmarks->selectedItems());
qDebug()<<"Delete "<<items.size()<<" items";
for (QList<QListWidgetItem*>::iterator it(items.begin());
it!=items.end(); ++it) {
qDebug()<<"Delete Item: "<<(*it)->text();
delete _bookmarks->takeItem(_bookmarks->row(*it));
}
}
void on__add_clicked(bool) {
if (_url->currentText().isEmpty()) return;
_bookmarks->addItem(_url->currentText());
}
protected:
virtual void hideEvent(QHideEvent *event) {
QDialog::hideEvent(event);
endEdit();
}
virtual void showEvent(QShowEvent *event) {
startEdit();
reset();
QDialog::showEvent(event);
}
void reset() {
QStringList urls;
for (int i(0); i<_url->count(); ++i)
urls<<_url->itemText(i);
_bookmarks->clear();
_bookmarks->addItems(urls);
}
private:
QComboBox* _url;
};
#endif