Initial commit.
[emufront] / src / dialogs / dbobjectdialog.cpp
1 #include <QtGui>
2 #include "dbobjectdialog.h"
3
4 DbObjectDialog::DbObjectDialog(QWidget *parent)
5     : QDialog(parent)
6 {
7     editButton = new QPushButton(tr("&Edit")); 
8     addButton = new QPushButton(tr("&Add"));
9     deleteButton = new QPushButton(tr("&Delete"));
10     objectList = new QListView();
11     buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok, Qt::Vertical);
12     buttonBox->addButton(editButton, QDialogButtonBox::ActionRole);
13     buttonBox->addButton(addButton, QDialogButtonBox::ActionRole);
14     buttonBox->addButton(deleteButton, QDialogButtonBox::ActionRole);
15     // nameDialog will be created on request
16     
17     connectSignals();
18     layout();
19
20
21 void DbObjectDialog::connectSignals()
22 {
23     connect(buttonBox, SIGNAL(accepted()), this, SLOT(close()));
24     connect(objectList, SIGNAL(clicked(const QModelIndex &)), 
25                 this, SLOT(listObjectClicked(const QModelIndex &)));
26     connect(editButton, SIGNAL(clicked()), this, SLOT(editButtonClicked()));
27     connect(addButton, SIGNAL(clicked()), this, SLOT(addButtonClicked()));
28     connect(deleteButton, SIGNAL(clicked()), this, SLOT(deleteButtonClicked()));
29 }
30
31 void DbObjectDialog::addButtonClicked()
32 {
33     disableSelection();
34 }
35
36 void DbObjectDialog::editButtonClicked()
37 {
38     disableSelection();
39 }
40
41 void DbObjectDialog::deleteButtonClicked()
42 {
43     disableSelection();
44 }
45
46 void DbObjectDialog::layout()
47 {
48     QHBoxLayout *mainLayout = new QHBoxLayout;
49     mainLayout->addWidget(objectList);
50     mainLayout->addWidget(buttonBox);
51     setLayout(mainLayout);
52 }
53
54 void DbObjectDialog::listObjectClicked(const QModelIndex &index)
55 {
56     setButtonsEnabled(index.isValid());
57     if(!index.isValid()) 
58         return;
59 }
60
61 void DbObjectDialog::setButtonsEnabled(bool enabled)
62 {
63     editButton->setEnabled(enabled);
64     deleteButton->setEnabled(enabled);
65 }
66
67 void DbObjectDialog::disableSelection()
68 {
69     setButtonsEnabled(false);
70 }