]> git.lyx.org Git - lyx.git/blob - src/frontends/kde/refdlg.C
Move LaTeX and VC logs to GUI-I on xforms
[lyx.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 #include "dlg/helpers.h"
19 #include "insets/insetref.h"
20
21
22 #ifdef CXX_WORKING_NAMESPACES
23 using kde_helpers::setSizeHint;
24 #endif
25
26 RefDialog::RefDialog(FormRef *form, QWidget *parent, const char *name, bool, WFlags)
27         : QWidget(parent,name,0), form_(form)
28 {
29         setCaption(name);
30
31         // widgets
32
33         refs = new QListBox(this);
34         refs->setMinimumSize(200,200);
35  
36         labelrefs = new QLabel(this);
37         labelrefs->setText(_("Available References"));
38         labelrefs->setMargin(5);
39         setSizeHint(labelrefs);
40         labelrefs->setMaximumSize(labelrefs->sizeHint());
41
42         refname = new QLineEdit(this);
43         setSizeHint(refname);
44         // FIXME: should user be able to edit this ? what's it for ? - jbl 
45         refname->setFocusPolicy(QWidget::NoFocus);
46  
47         reference = new QLineEdit(this); 
48         setSizeHint(reference);
49         reference->setFocusPolicy(QWidget::NoFocus);
50
51         labelrefname = new QLabel(this);
52         labelrefname->setText(_("Name :"));
53         labelrefname->setMargin(5);
54         setSizeHint(labelrefname);
55         labelrefname->setMaximumSize(labelrefname->sizeHint());
56
57         labelreference = new QLabel(this);
58         labelreference->setText(_("Reference :"));
59         labelreference->setMargin(5);
60         setSizeHint(labelreference);
61         labelreference->setMaximumSize(labelreference->sizeHint());
62
63         sort = new QCheckBox(this); 
64         sort->setText(_("Sort"));
65         setSizeHint(sort);
66         sort->setMaximumSize(sort->sizeHint());
67  
68         type = new QComboBox(this);
69         for (int i = 0; !InsetRef::types[i].latex_name.empty(); ++i)
70                 type->insertItem(_(InsetRef::types[i].gui_name.c_str()));
71         setSizeHint(type);
72          
73         labeltype = new QLabel(this); 
74         labeltype->setText(_("Reference Type"));
75         labeltype->setMargin(5);
76         setSizeHint(labeltype);
77         labeltype->setMaximumSize(labeltype->sizeHint());
78  
79         buttonGoto = new QPushButton(this);
80         buttonGoto->setText(_("&Goto reference"));
81         setSizeHint(buttonGoto);
82         buttonGoto->setMaximumSize(buttonGoto->sizeHint());
83
84         buttonUpdate = new QPushButton(this);
85         buttonUpdate->setText(_("&Update"));
86         setSizeHint(buttonUpdate);
87         buttonUpdate->setMaximumSize(buttonUpdate->sizeHint());
88
89         buttonOk = new QPushButton(this);
90         buttonOk->setText(_("&OK"));
91         setSizeHint(buttonOk);
92         buttonOk->setMaximumSize(buttonOk->sizeHint());
93         buttonOk->setDefault(true);
94
95         buttonCancel = new QPushButton(this);
96         buttonCancel->setText(_("&Cancel"));
97         setSizeHint(buttonCancel);
98         buttonCancel->setMaximumSize(buttonCancel->sizeHint());
99
100         // tooltips
101
102         QToolTip::add(type,_("Reference as it appears in output"));
103         QToolTip::add(sort,_("Sort references in alphabetical order ?"));
104         QToolTip::add(buttonUpdate,_("Update list of references shown"));
105         QToolTip::add(buttonGoto,_("Jump to reference in document"));
106         QToolTip::add(refname,_("FIXME please !")); 
107
108         // layouts
109
110         topLayout = new QHBoxLayout(this,10);
111
112         layout = new QVBoxLayout();
113         topLayout->addLayout(layout);
114         layout->addSpacing(10);
115
116         upperLayout = new QHBoxLayout();
117         layout->addLayout(upperLayout, 1);
118
119         browserLayout = new QVBoxLayout();
120         upperLayout->addLayout(browserLayout, 1);
121
122         browserLayout->addWidget(labelrefs, 0);
123         browserLayout->addWidget(refs, 1);
124
125         rightLayout = new QVBoxLayout();
126         upperLayout->addLayout(rightLayout, 1);
127
128         nameLayout = new QHBoxLayout();
129         rightLayout->addLayout(nameLayout, 0);
130
131         nameLayout->addWidget(labelrefname, 0);
132         nameLayout->addWidget(refname, 1);
133
134         rightLayout->addStretch(1);
135  
136         referenceLayout = new QHBoxLayout();
137         rightLayout->addLayout(referenceLayout, 0);
138
139         referenceLayout->addWidget(labelreference, 0);
140         referenceLayout->addWidget(reference, 1);
141  
142         rightLayout->addStretch(1);
143  
144         rightLayout->addWidget(labeltype, 0);
145         rightLayout->addWidget(type, 0);
146  
147         rightLayout->addStretch(1);
148  
149         rightLayout->addWidget(buttonGoto, 1);
150
151         rightLayout->addStretch(1);
152  
153         buttonLayout = new QHBoxLayout(); 
154         layout->addLayout(buttonLayout);
155         buttonLayout->addWidget(sort, 1);
156         buttonLayout->addStretch(1);
157         buttonLayout->addWidget(buttonUpdate, 1);
158         buttonLayout->addStretch(1);
159         buttonLayout->addWidget(buttonOk, 1);
160         buttonLayout->addStretch(2);
161         buttonLayout->addWidget(buttonCancel, 1);
162         buttonLayout->addStretch(1);
163  
164         // connections
165
166         connect(refs, SIGNAL(highlighted(const char *)), this, SLOT(highlight_adaptor(const char *))); 
167         connect(refs, SIGNAL(selected(const char *)), this, SLOT(select_adaptor(const char *)));
168         connect(sort, SIGNAL(toggled(bool)), this, SLOT(sort_adaptor(bool))); 
169         connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply_adaptor()));
170         connect(buttonUpdate, SIGNAL(clicked()), this, SLOT(update_adaptor()));
171         connect(buttonGoto, SIGNAL(clicked()), this, SLOT(goto_adaptor())); 
172         connect(buttonCancel, SIGNAL(clicked()), this, SLOT(close_adaptor()));
173         
174         resize(sizeHint());
175 }
176
177 RefDialog::~RefDialog()
178 {
179 }
180
181 void RefDialog::closeEvent(QCloseEvent *e)
182 {
183         form_->close();
184         e->accept();
185 }