]> git.lyx.org Git - features.git/blob - src/frontends/kde/refdlg.C
ea826bd6f0d45f6157d4075da98fe451a591c523
[features.git] / src / frontends / kde / refdlg.C
1 /*
2  * refdlg.C
3  * (C) 2000 LyX Team
4  * John Levon, moz@compsoc.man.ac.uk
5  */
6
7 /***************************************************************************
8  *                                                                         *
9  *   This program is free software; you can redistribute it and/or modify  *
10  *   it under the terms of the GNU General Public License as published by  *
11  *   the Free Software Foundation; either version 2 of the License, or     *
12  *   (at your option) any later version.                                   *
13  *                                                                         *
14  ***************************************************************************/
15
16 #include <config.h>
17 #include "refdlg.h"
18
19 RefDialog::RefDialog(FormRef *form, QWidget *parent, const char *name, bool, WFlags)
20         : QDialog(parent,name,false), form_(form)
21 {
22         setCaption(name);
23
24         // widgets
25
26         refs = new QListBox(this);
27         refs->setMinimumSize(200,200);
28  
29         labelrefs = new QLabel(this);
30         labelrefs->setText(_("Available References"));
31         labelrefs->setMargin(5);
32         labelrefs->setMinimumSize(labelrefs->sizeHint());
33         labelrefs->setMaximumSize(labelrefs->sizeHint());
34
35         refname = new QLineEdit(this);
36         refname->setMinimumSize(refname->sizeHint());
37         // FIXME: should user be able to edit this ? what's it for ? - jbl 
38         refname->setFocusPolicy(QWidget::NoFocus);
39  
40         reference = new QLineEdit(this); 
41         reference->setMinimumSize(reference->sizeHint());
42         reference->setFocusPolicy(QWidget::NoFocus);
43
44         labelrefname = new QLabel(this);
45         labelrefname->setText(_("Name :"));
46         labelrefname->setMargin(5);
47         labelrefname->setMinimumSize(labelrefname->sizeHint());
48         labelrefname->setMaximumSize(labelrefname->sizeHint());
49
50         labelreference = new QLabel(this);
51         labelreference->setText(_("Reference :"));
52         labelreference->setMargin(5);
53         labelreference->setMinimumSize(labelreference->sizeHint());
54         labelreference->setMaximumSize(labelreference->sizeHint());
55
56         sort = new QCheckBox(this); 
57         sort->setText(_("Sort"));
58         sort->setMinimumSize(sort->sizeHint());
59         sort->setMaximumSize(sort->sizeHint());
60  
61         type = new QComboBox(this);
62         type->insertItem(_("Reference"));
63         type->insertItem(_("Page number"));
64         type->insertItem(_("Ref on page xxx"));
65         type->insertItem(_("on page xxx"));
66         type->insertItem(_("Pretty reference"));
67         type->setMinimumSize(type->sizeHint());
68          
69         labeltype = new QLabel(this); 
70         labeltype->setText(_("Reference Type"));
71         labeltype->setMargin(5);
72         labeltype->setMinimumSize(labeltype->sizeHint());
73         labeltype->setMaximumSize(labeltype->sizeHint());
74  
75         buttonGoto = new QPushButton(this);
76         buttonGoto->setText(_("&Goto reference"));
77         buttonGoto->setMinimumSize(buttonGoto->sizeHint());
78         buttonGoto->setMaximumSize(buttonGoto->sizeHint());
79
80         buttonUpdate = new QPushButton(this);
81         buttonUpdate->setText(_("&Update"));
82         buttonUpdate->setMinimumSize(buttonUpdate->sizeHint());
83         buttonUpdate->setMaximumSize(buttonUpdate->sizeHint());
84
85         buttonOk = new QPushButton(this);
86         buttonOk->setText(_("&OK"));
87         buttonOk->setMinimumSize(buttonOk->sizeHint());
88         buttonOk->setMaximumSize(buttonOk->sizeHint());
89         buttonOk->setDefault(true);
90
91         buttonCancel = new QPushButton(this);
92         buttonCancel->setText(_("&Cancel"));
93         buttonCancel->setMinimumSize(buttonCancel->sizeHint());
94         buttonCancel->setMaximumSize(buttonCancel->sizeHint());
95
96         // tooltips
97
98         QToolTip::add(type,_("Reference as it appears in output"));
99         QToolTip::add(sort,_("Sort references in alphabetical order ?"));
100
101         // layouts
102
103         topLayout = new QHBoxLayout(this,10);
104
105         layout = new QVBoxLayout();
106         topLayout->addLayout(layout);
107         layout->addSpacing(10);
108
109         upperLayout = new QHBoxLayout();
110         layout->addLayout(upperLayout, 1);
111
112         browserLayout = new QVBoxLayout();
113         upperLayout->addLayout(browserLayout, 1);
114
115         browserLayout->addWidget(labelrefs, 0);
116         browserLayout->addWidget(refs, 1);
117
118         rightLayout = new QVBoxLayout();
119         upperLayout->addLayout(rightLayout, 1);
120
121         nameLayout = new QHBoxLayout();
122         rightLayout->addLayout(nameLayout, 0);
123
124         nameLayout->addWidget(labelrefname, 0);
125         nameLayout->addWidget(refname, 1);
126
127         rightLayout->addStretch(1);
128  
129         referenceLayout = new QHBoxLayout();
130         rightLayout->addLayout(referenceLayout, 0);
131
132         referenceLayout->addWidget(labelreference, 0);
133         referenceLayout->addWidget(reference, 1);
134  
135         rightLayout->addStretch(1);
136  
137         rightLayout->addWidget(labeltype, 0);
138         rightLayout->addWidget(type, 0);
139  
140         rightLayout->addStretch(1);
141  
142         rightLayout->addWidget(buttonGoto, 1);
143
144         rightLayout->addStretch(1);
145  
146         buttonLayout = new QHBoxLayout(); 
147         layout->addLayout(buttonLayout);
148         buttonLayout->addWidget(sort, 1);
149         buttonLayout->addStretch(1);
150         buttonLayout->addWidget(buttonUpdate, 1);
151         buttonLayout->addStretch(1);
152         buttonLayout->addWidget(buttonOk, 1);
153         buttonLayout->addStretch(2);
154         buttonLayout->addWidget(buttonCancel, 1);
155         buttonLayout->addStretch(1);
156  
157         // connections
158
159         connect(refs, SIGNAL(highlighted(const char *)), this, SLOT(highlight_adaptor(const char *))); 
160         connect(refs, SIGNAL(selected(const char *)), this, SLOT(select_adaptor(const char *)));
161         connect(sort, SIGNAL(toggled(bool)), this, SLOT(sort_adaptor(bool))); 
162         connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply_adaptor()));
163         connect(buttonUpdate, SIGNAL(clicked()), this, SLOT(update_adaptor()));
164         connect(buttonGoto, SIGNAL(clicked()), this, SLOT(goto_adaptor())); 
165         connect(buttonCancel, SIGNAL(clicked()), this, SLOT(close_adaptor()));
166 }
167
168 RefDialog::~RefDialog()
169 {
170 }
171
172 void RefDialog::closeEvent(QCloseEvent *e)
173 {
174         form_->close();
175         e->accept();
176 }