mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-03 08:28:25 +00:00
Applied John's KDE patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1010 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
b9df4a9322
commit
7d131e12b3
28
ChangeLog
28
ChangeLog
@ -1,3 +1,31 @@
|
|||||||
|
2000-09-11 John Levon <moz@compsoc.man.ac.uk>
|
||||||
|
|
||||||
|
* src/frontends/kde/formurldialog.C
|
||||||
|
* src/frontends/kde/formurldialog.h
|
||||||
|
* src/frontends/kde/FormUrl.C
|
||||||
|
* src/frontends/kde/FormUrl.h: minor cleanups
|
||||||
|
|
||||||
|
* src/frontends/kde/QtLyXView: wrapper to avoid Qt namespace mangling
|
||||||
|
|
||||||
|
* src/frontends/kde/Makefile.am
|
||||||
|
* src/frontends/kde/FormToc.C
|
||||||
|
* src/frontends/kde/FormToc.h
|
||||||
|
* src/frontends/kde/FormCitation.C
|
||||||
|
* src/frontends/kde/FormCitation.h
|
||||||
|
* src/frontends/kde/FormIndex.C
|
||||||
|
* src/frontends/kde/FormIndex.h
|
||||||
|
* src/frontends/kde/formtocdialog.C
|
||||||
|
* src/frontends/kde/formtocdialog.h
|
||||||
|
* src/frontends/kde/formcitationdialog.C
|
||||||
|
* src/frontends/kde/formcitationdialog.h
|
||||||
|
* src/frontends/kde/formindexdialog.C
|
||||||
|
* src/frontends/kde/formindexdialog.h: new Toc,Citation,Index dialogs
|
||||||
|
|
||||||
|
2000-09-12 Juergen Vigna <jug@sad.it>
|
||||||
|
|
||||||
|
* src/frontends/gnome/GUIRunTime.C (initApplication): make id + version
|
||||||
|
static strings.
|
||||||
|
|
||||||
2000-09-11 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
2000-09-11 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||||
|
|
||||||
* src/frontends/xforms/GUIRunTime.C (initApplication): use lyxerr,
|
* src/frontends/xforms/GUIRunTime.C (initApplication): use lyxerr,
|
||||||
|
@ -63,8 +63,8 @@ int GUIRunTime::initApplication(int, char * argv[])
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
string app_id(PACKAGE);
|
static string app_id(PACKAGE);
|
||||||
string app_version(VERSION);
|
static string app_version(VERSION);
|
||||||
static Gnome::Main a(app_id, app_version, 1, argv);
|
static Gnome::Main a(app_id, app_version, 1, argv);
|
||||||
static GLyxAppWin appWin;
|
static GLyxAppWin appWin;
|
||||||
mainAppWin = &appWin;
|
mainAppWin = &appWin;
|
||||||
|
353
src/frontends/kde/FormCitation.C
Normal file
353
src/frontends/kde/FormCitation.C
Normal file
@ -0,0 +1,353 @@
|
|||||||
|
/*
|
||||||
|
* FormCitation.C
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include "Dialogs.h"
|
||||||
|
#include "FormCitation.h"
|
||||||
|
#include "gettext.h"
|
||||||
|
#include "buffer.h"
|
||||||
|
#include "LyXView.h"
|
||||||
|
#include "lyxfunc.h"
|
||||||
|
#include "formcitationdialog.h"
|
||||||
|
|
||||||
|
using std::vector;
|
||||||
|
using std::pair;
|
||||||
|
using std::find;
|
||||||
|
|
||||||
|
FormCitation::FormCitation(LyXView *v, Dialogs *d)
|
||||||
|
: dialog_(0), lv_(v), d_(d), inset_(0), h_(0), u_(0), ih_(0),
|
||||||
|
keys(0), chosenkeys(0)
|
||||||
|
{
|
||||||
|
// let the dialog be shown
|
||||||
|
// This is a permanent connection so we won't bother
|
||||||
|
// storing a copy because we won't be disconnecting.
|
||||||
|
d->showCitation.connect(slot(this, &FormCitation::showCitation));
|
||||||
|
d->createCitation.connect(slot(this, &FormCitation::createCitation));
|
||||||
|
}
|
||||||
|
|
||||||
|
FormCitation::~FormCitation()
|
||||||
|
{
|
||||||
|
delete dialog_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::showCitation(InsetCommand * const inset)
|
||||||
|
{
|
||||||
|
// FIXME: when could inset be 0 here ?
|
||||||
|
if (inset==0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
inset_ = inset;
|
||||||
|
readonly = lv_->buffer()->isReadonly();
|
||||||
|
ih_ = inset_->hide.connect(slot(this,&FormCitation::hide));
|
||||||
|
params = inset->params();
|
||||||
|
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::createCitation(string const & arg)
|
||||||
|
{
|
||||||
|
// we could already be showing stuff, clear it out
|
||||||
|
if (inset_)
|
||||||
|
close();
|
||||||
|
|
||||||
|
readonly = lv_->buffer()->isReadonly();
|
||||||
|
params.setFromString(arg);
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::updateButtons()
|
||||||
|
{
|
||||||
|
bool iskey,ischosenkey;
|
||||||
|
|
||||||
|
iskey = !selectedKey.empty();
|
||||||
|
ischosenkey = !selectedChosenKey.empty();
|
||||||
|
|
||||||
|
dialog_->remove->setEnabled(ischosenkey);
|
||||||
|
dialog_->add->setEnabled(iskey);
|
||||||
|
dialog_->up->setEnabled(ischosenkey);
|
||||||
|
dialog_->down->setEnabled(ischosenkey);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::updateChosenList()
|
||||||
|
{
|
||||||
|
dialog_->chosen->setAutoUpdate(false);
|
||||||
|
dialog_->chosen->clear();
|
||||||
|
|
||||||
|
for (vector< string >::const_iterator iter = chosenkeys.begin();
|
||||||
|
iter != chosenkeys.end(); ++iter) {
|
||||||
|
dialog_->chosen->insertItem(iter->c_str());
|
||||||
|
}
|
||||||
|
dialog_->chosen->setAutoUpdate(true);
|
||||||
|
dialog_->chosen->update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::updateAvailableList()
|
||||||
|
{
|
||||||
|
dialog_->keys->setAutoUpdate(false);
|
||||||
|
dialog_->keys->clear();
|
||||||
|
|
||||||
|
for (vector< pair<string,string> >::const_iterator iter = keys.begin();
|
||||||
|
iter != keys.end(); ++iter) {
|
||||||
|
dialog_->keys->insertItem(iter->first.c_str());
|
||||||
|
}
|
||||||
|
dialog_->keys->setAutoUpdate(true);
|
||||||
|
dialog_->keys->update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::update()
|
||||||
|
{
|
||||||
|
keys.clear();
|
||||||
|
|
||||||
|
vector < pair<string,string> > ckeys = lv_->buffer()->getBibkeyList();
|
||||||
|
|
||||||
|
for (vector< pair<string,string> >::const_iterator iter = ckeys.begin();
|
||||||
|
iter != ckeys.end(); ++iter) {
|
||||||
|
keys.push_back(*iter);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateAvailableList();
|
||||||
|
selectedKey.erase();
|
||||||
|
|
||||||
|
chosenkeys.clear();
|
||||||
|
|
||||||
|
string tmp, paramkeys(params.getContents());
|
||||||
|
paramkeys = frontStrip(split(paramkeys, tmp, ','));
|
||||||
|
|
||||||
|
while (!tmp.empty()) {
|
||||||
|
chosenkeys.push_back(tmp);
|
||||||
|
paramkeys = frontStrip(split(paramkeys, tmp, ','));
|
||||||
|
}
|
||||||
|
|
||||||
|
updateChosenList();
|
||||||
|
selectedChosenKey.erase();
|
||||||
|
|
||||||
|
dialog_->entry->setText("");
|
||||||
|
|
||||||
|
dialog_->after->setText(params.getOptions().c_str());
|
||||||
|
|
||||||
|
updateButtons();
|
||||||
|
|
||||||
|
if (readonly) {
|
||||||
|
dialog_->keys->setFocusPolicy(QWidget::NoFocus);
|
||||||
|
dialog_->chosen->setFocusPolicy(QWidget::NoFocus);
|
||||||
|
dialog_->after->setFocusPolicy(QWidget::NoFocus);
|
||||||
|
dialog_->buttonOk->setEnabled(false);
|
||||||
|
dialog_->buttonCancel->setText(_("Close"));
|
||||||
|
} else {
|
||||||
|
dialog_->keys->setFocusPolicy(QWidget::StrongFocus);
|
||||||
|
dialog_->chosen->setFocusPolicy(QWidget::StrongFocus);
|
||||||
|
dialog_->after->setFocusPolicy(QWidget::StrongFocus);
|
||||||
|
dialog_->buttonOk->setEnabled(true);
|
||||||
|
dialog_->buttonCancel->setText(_("Cancel"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::apply()
|
||||||
|
{
|
||||||
|
if (readonly)
|
||||||
|
return;
|
||||||
|
|
||||||
|
string contents;
|
||||||
|
|
||||||
|
for (vector< string >::const_iterator iter = chosenkeys.begin();
|
||||||
|
iter != chosenkeys.end(); ++iter) {
|
||||||
|
if (iter != chosenkeys.begin())
|
||||||
|
contents += ", ";
|
||||||
|
contents += *iter;
|
||||||
|
}
|
||||||
|
|
||||||
|
params.setContents(contents);
|
||||||
|
params.setOptions(dialog_->after->text());
|
||||||
|
|
||||||
|
if (inset_ != 0) {
|
||||||
|
if (params != inset_->params()) {
|
||||||
|
inset_->setParams(params);
|
||||||
|
lv_->view()->updateInset(inset_, true);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
lv_->getLyXFunc()->Dispatch(LFUN_CITATION_INSERT, params.getAsString().c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::show()
|
||||||
|
{
|
||||||
|
if (!dialog_)
|
||||||
|
dialog_ = new FormCitationDialog(this, 0, _("LyX: Citation Reference"), false);
|
||||||
|
|
||||||
|
if (!dialog_->isVisible()) {
|
||||||
|
h_ = d_->hideBufferDependent.connect(slot(this, &FormCitation::hide));
|
||||||
|
u_ = d_->updateBufferDependent.connect(slot(this, &FormCitation::update));
|
||||||
|
}
|
||||||
|
|
||||||
|
dialog_->raise();
|
||||||
|
dialog_->setActiveWindow();
|
||||||
|
|
||||||
|
update();
|
||||||
|
dialog_->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::close()
|
||||||
|
{
|
||||||
|
h_.disconnect();
|
||||||
|
u_.disconnect();
|
||||||
|
ih_.disconnect();
|
||||||
|
inset_ = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::hide()
|
||||||
|
{
|
||||||
|
dialog_->hide();
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::selectChosen()
|
||||||
|
{
|
||||||
|
for (unsigned int i=0; i < dialog_->chosen->count(); ++i) {
|
||||||
|
if (dialog_->chosen->text(i)==selectedChosenKey) {
|
||||||
|
dialog_->chosen->setSelected(i,true);
|
||||||
|
dialog_->chosen->setTopItem(i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::add()
|
||||||
|
{
|
||||||
|
if (selectedKey.empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (vector< pair<string,string> >::const_iterator iter = keys.begin();
|
||||||
|
iter != keys.end(); ++iter) {
|
||||||
|
if (iter->first == selectedKey) {
|
||||||
|
chosenkeys.push_back(iter->first);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
selectedChosenKey.erase();
|
||||||
|
updateChosenList();
|
||||||
|
updateButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::remove()
|
||||||
|
{
|
||||||
|
if (selectedChosenKey.empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (vector< string >::iterator iter = chosenkeys.begin();
|
||||||
|
iter != chosenkeys.end(); ++iter) {
|
||||||
|
if (*iter==selectedChosenKey) {
|
||||||
|
chosenkeys.erase(iter);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
selectedChosenKey.erase();
|
||||||
|
updateChosenList();
|
||||||
|
updateButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::up()
|
||||||
|
{
|
||||||
|
if (selectedChosenKey.empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Qt will select the first one on redo, so we need this
|
||||||
|
string tmp = selectedChosenKey;
|
||||||
|
|
||||||
|
for (vector< string >::iterator iter = chosenkeys.begin();
|
||||||
|
iter != chosenkeys.end(); ++iter) {
|
||||||
|
if (*iter==selectedChosenKey && iter!=chosenkeys.begin()) {
|
||||||
|
string tmp = *iter;
|
||||||
|
chosenkeys.erase(iter);
|
||||||
|
chosenkeys.insert(iter-1,tmp);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (iter==chosenkeys.end())
|
||||||
|
return;
|
||||||
|
|
||||||
|
updateChosenList();
|
||||||
|
selectedChosenKey=tmp;
|
||||||
|
selectChosen();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::down()
|
||||||
|
{
|
||||||
|
if (selectedChosenKey.empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Qt will select the first one on redo, so we need this
|
||||||
|
string tmp = selectedChosenKey;
|
||||||
|
|
||||||
|
for (vector< string >::iterator iter = chosenkeys.begin();
|
||||||
|
iter != chosenkeys.end(); ++iter) {
|
||||||
|
if (*iter==selectedChosenKey && (iter+1)!=chosenkeys.end()) {
|
||||||
|
string tmp = *iter;
|
||||||
|
chosenkeys.erase(iter);
|
||||||
|
chosenkeys.insert(iter+1, tmp);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (iter==chosenkeys.end())
|
||||||
|
return;
|
||||||
|
|
||||||
|
updateChosenList();
|
||||||
|
selectedChosenKey=tmp;
|
||||||
|
selectChosen();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::select_key(const char *key)
|
||||||
|
{
|
||||||
|
selectedKey.erase();
|
||||||
|
selectedKey = key;
|
||||||
|
|
||||||
|
add();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::highlight_key(const char *key)
|
||||||
|
{
|
||||||
|
selectedKey.erase();
|
||||||
|
selectedKey = key;
|
||||||
|
|
||||||
|
for (unsigned int i=0; i < keys.size(); i++) {
|
||||||
|
if (keys[i].first==key) {
|
||||||
|
dialog_->entry->setText(keys[i].second.c_str());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
updateButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitation::highlight_chosen(const char *key)
|
||||||
|
{
|
||||||
|
selectedChosenKey.erase();
|
||||||
|
selectedChosenKey = key;
|
||||||
|
|
||||||
|
unsigned int i;
|
||||||
|
for (i=0; i < keys.size(); i++) {
|
||||||
|
if (keys[i].first==key && keys[i].second.compare(dialog_->entry->text())) {
|
||||||
|
dialog_->entry->setText(keys[i].second.c_str());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i==keys.size())
|
||||||
|
dialog_->entry->setText(_("Key not found in references."));
|
||||||
|
|
||||||
|
updateButtons();
|
||||||
|
}
|
116
src/frontends/kde/FormCitation.h
Normal file
116
src/frontends/kde/FormCitation.h
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
/* FormCitation.h
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef FORMCITATION_H
|
||||||
|
#define FORMCITATION_H
|
||||||
|
|
||||||
|
#include "DialogBase.h"
|
||||||
|
#include "support/lstrings.h"
|
||||||
|
#include "support/utility.hpp"
|
||||||
|
#include "insets/insetcommand.h"
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
class Dialogs;
|
||||||
|
class LyXView;
|
||||||
|
class FormCitationDialog;
|
||||||
|
|
||||||
|
class FormCitation : public DialogBase, public noncopyable {
|
||||||
|
public:
|
||||||
|
/**@name Constructors and Destructors */
|
||||||
|
//@{
|
||||||
|
///
|
||||||
|
FormCitation(LyXView *, Dialogs *);
|
||||||
|
///
|
||||||
|
~FormCitation();
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/// Apply changes
|
||||||
|
void apply();
|
||||||
|
/// close the connections
|
||||||
|
void close();
|
||||||
|
/// add a key
|
||||||
|
void add();
|
||||||
|
/// remove a key
|
||||||
|
void remove();
|
||||||
|
/// move a key up
|
||||||
|
void up();
|
||||||
|
/// move a key down
|
||||||
|
void down();
|
||||||
|
/// a key has been highlighted
|
||||||
|
void highlight_key(const char *key);
|
||||||
|
/// a chosen key has been highlighted
|
||||||
|
void highlight_chosen(const char *key);
|
||||||
|
/// a key has been double-clicked
|
||||||
|
void select_key(const char *key);
|
||||||
|
|
||||||
|
private:
|
||||||
|
/// Create the dialog if necessary, update it and display it.
|
||||||
|
void show();
|
||||||
|
/// Hide the dialog.
|
||||||
|
void hide();
|
||||||
|
/// Update the dialog.
|
||||||
|
void update();
|
||||||
|
|
||||||
|
/// create a Citation inset
|
||||||
|
void createCitation(string const &);
|
||||||
|
/// edit a Citation inset
|
||||||
|
void showCitation(InsetCommand * const);
|
||||||
|
|
||||||
|
/// update add,remove,up,down
|
||||||
|
void updateButtons();
|
||||||
|
/// update the available keys list
|
||||||
|
void updateAvailableList();
|
||||||
|
/// update the chosen keys list
|
||||||
|
void updateChosenList();
|
||||||
|
/// select the currently chosen key
|
||||||
|
void selectChosen();
|
||||||
|
|
||||||
|
/// Real GUI implementation.
|
||||||
|
FormCitationDialog * dialog_;
|
||||||
|
|
||||||
|
/// the LyXView we belong to
|
||||||
|
LyXView * lv_;
|
||||||
|
|
||||||
|
/** Which Dialogs do we belong to?
|
||||||
|
Used so we can get at the signals we have to connect to.
|
||||||
|
*/
|
||||||
|
Dialogs * d_;
|
||||||
|
/// pointer to the inset if any
|
||||||
|
InsetCommand * inset_;
|
||||||
|
/// insets params
|
||||||
|
InsetCommandParams params;
|
||||||
|
/// is the inset we are reading from a readonly buffer ?
|
||||||
|
bool readonly;
|
||||||
|
|
||||||
|
/// Hide connection.
|
||||||
|
Connection h_;
|
||||||
|
/// Update connection.
|
||||||
|
Connection u_;
|
||||||
|
/// Inset hide connection.
|
||||||
|
Connection ih_;
|
||||||
|
|
||||||
|
/// available citation keys
|
||||||
|
std::vector<pair<string, string> > keys;
|
||||||
|
/// chosen citation keys
|
||||||
|
std::vector<string> chosenkeys;
|
||||||
|
|
||||||
|
/// currently selected key
|
||||||
|
string selectedKey;
|
||||||
|
|
||||||
|
/// currently selected chosen key
|
||||||
|
string selectedChosenKey;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
127
src/frontends/kde/FormIndex.C
Normal file
127
src/frontends/kde/FormIndex.C
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
/*
|
||||||
|
* FormIndex.C
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
#include "Dialogs.h"
|
||||||
|
#include "FormIndex.h"
|
||||||
|
#include "gettext.h"
|
||||||
|
#include "buffer.h"
|
||||||
|
#include "LyXView.h"
|
||||||
|
#include "lyxfunc.h"
|
||||||
|
#include "formindexdialog.h"
|
||||||
|
|
||||||
|
FormIndex::FormIndex(LyXView *v, Dialogs *d)
|
||||||
|
: dialog_(0), lv_(v), d_(d), inset_(0), h_(0), u_(0), ih_(0)
|
||||||
|
{
|
||||||
|
// let the dialog be shown
|
||||||
|
// This is a permanent connection so we won't bother
|
||||||
|
// storing a copy because we won't be disconnecting.
|
||||||
|
d->showIndex.connect(slot(this, &FormIndex::showIndex));
|
||||||
|
d->createIndex.connect(slot(this, &FormIndex::createIndex));
|
||||||
|
}
|
||||||
|
|
||||||
|
FormIndex::~FormIndex()
|
||||||
|
{
|
||||||
|
delete dialog_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormIndex::showIndex(InsetCommand * const inset)
|
||||||
|
{
|
||||||
|
// FIXME: when could inset be 0 here ?
|
||||||
|
if (inset==0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
inset_ = inset;
|
||||||
|
readonly = lv_->buffer()->isReadonly();
|
||||||
|
ih_ = inset_->hide.connect(slot(this,&FormIndex::hide));
|
||||||
|
params = inset->params();
|
||||||
|
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormIndex::createIndex(string const & arg)
|
||||||
|
{
|
||||||
|
// we could already be showing a URL, clear it out
|
||||||
|
if (inset_)
|
||||||
|
close();
|
||||||
|
|
||||||
|
readonly = lv_->buffer()->isReadonly();
|
||||||
|
params.setFromString(arg);
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormIndex::update()
|
||||||
|
{
|
||||||
|
dialog_->index->setText(params.getContents().c_str());
|
||||||
|
|
||||||
|
if (readonly) {
|
||||||
|
dialog_->index->setFocusPolicy(QWidget::NoFocus);
|
||||||
|
dialog_->buttonOk->setEnabled(false);
|
||||||
|
dialog_->buttonCancel->setText(_("Close"));
|
||||||
|
} else {
|
||||||
|
dialog_->index->setFocusPolicy(QWidget::StrongFocus);
|
||||||
|
dialog_->index->setFocus();
|
||||||
|
dialog_->buttonOk->setEnabled(true);
|
||||||
|
dialog_->buttonCancel->setText(_("Cancel"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormIndex::apply()
|
||||||
|
{
|
||||||
|
if (readonly)
|
||||||
|
return;
|
||||||
|
|
||||||
|
params.setContents(dialog_->index->text());
|
||||||
|
|
||||||
|
if (inset_ != 0) {
|
||||||
|
if (params != inset_->params()) {
|
||||||
|
inset_->setParams(params);
|
||||||
|
lv_->view()->updateInset(inset_, true);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
lv_->getLyXFunc()->Dispatch(LFUN_INDEX_INSERT, params.getAsString().c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormIndex::show()
|
||||||
|
{
|
||||||
|
if (!dialog_)
|
||||||
|
dialog_ = new FormIndexDialog(this, 0, _("LyX: Index"), false);
|
||||||
|
|
||||||
|
if (!dialog_->isVisible()) {
|
||||||
|
h_ = d_->hideBufferDependent.connect(slot(this, &FormIndex::hide));
|
||||||
|
u_ = d_->updateBufferDependent.connect(slot(this, &FormIndex::update));
|
||||||
|
}
|
||||||
|
|
||||||
|
dialog_->raise();
|
||||||
|
dialog_->setActiveWindow();
|
||||||
|
|
||||||
|
update();
|
||||||
|
dialog_->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormIndex::close()
|
||||||
|
{
|
||||||
|
h_.disconnect();
|
||||||
|
u_.disconnect();
|
||||||
|
ih_.disconnect();
|
||||||
|
inset_ = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormIndex::hide()
|
||||||
|
{
|
||||||
|
dialog_->hide();
|
||||||
|
close();
|
||||||
|
}
|
80
src/frontends/kde/FormIndex.h
Normal file
80
src/frontends/kde/FormIndex.h
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
/* FormIndex.h
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef FORMINDEX_H
|
||||||
|
#define FORMINDEX_H
|
||||||
|
|
||||||
|
#include "DialogBase.h"
|
||||||
|
#include "LString.h"
|
||||||
|
#include "support/utility.hpp"
|
||||||
|
#include "insets/insetindex.h"
|
||||||
|
|
||||||
|
class Dialogs;
|
||||||
|
class LyXView;
|
||||||
|
class FormIndexDialog;
|
||||||
|
|
||||||
|
class FormIndex : public DialogBase, public noncopyable {
|
||||||
|
public:
|
||||||
|
/**@name Constructors and Destructors */
|
||||||
|
//@{
|
||||||
|
///
|
||||||
|
FormIndex(LyXView *, Dialogs *);
|
||||||
|
///
|
||||||
|
~FormIndex();
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/// Apply changes
|
||||||
|
void apply();
|
||||||
|
/// close the connections
|
||||||
|
void close();
|
||||||
|
|
||||||
|
private:
|
||||||
|
/// Create the dialog if necessary, update it and display it.
|
||||||
|
void show();
|
||||||
|
/// Hide the dialog.
|
||||||
|
void hide();
|
||||||
|
/// Update the dialog.
|
||||||
|
void update();
|
||||||
|
|
||||||
|
/// create an Index inset
|
||||||
|
void createIndex(string const &);
|
||||||
|
/// edit an Index inset
|
||||||
|
void showIndex(InsetCommand * const);
|
||||||
|
|
||||||
|
/// Real GUI implementation.
|
||||||
|
FormIndexDialog * dialog_;
|
||||||
|
|
||||||
|
/// the LyXView we belong to
|
||||||
|
LyXView * lv_;
|
||||||
|
|
||||||
|
/** Which Dialogs do we belong to?
|
||||||
|
Used so we can get at the signals we have to connect to.
|
||||||
|
*/
|
||||||
|
Dialogs * d_;
|
||||||
|
/// pointer to the inset if any
|
||||||
|
InsetCommand * inset_;
|
||||||
|
/// insets params
|
||||||
|
InsetCommandParams params;
|
||||||
|
/// is the inset we are reading from a readonly buffer ?
|
||||||
|
bool readonly;
|
||||||
|
|
||||||
|
/// Hide connection.
|
||||||
|
Connection h_;
|
||||||
|
/// Update connection.
|
||||||
|
Connection u_;
|
||||||
|
/// Inset hide connection.
|
||||||
|
Connection ih_;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
208
src/frontends/kde/FormToc.C
Normal file
208
src/frontends/kde/FormToc.C
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
/*
|
||||||
|
* FormToc.C
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
#include "formtocdialog.h"
|
||||||
|
|
||||||
|
#include "Dialogs.h"
|
||||||
|
#include "FormToc.h"
|
||||||
|
#include "gettext.h"
|
||||||
|
#include "buffer.h"
|
||||||
|
#include "support/lstrings.h"
|
||||||
|
#include "QtLyXView.h"
|
||||||
|
#include "lyxfunc.h"
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
using std::vector;
|
||||||
|
using std::pair;
|
||||||
|
|
||||||
|
FormToc::FormToc(LyXView *v, Dialogs *d)
|
||||||
|
: dialog_(0), lv_(v), d_(d), inset_(0), h_(0), u_(0), ih_(0),
|
||||||
|
toclist(0), type(Buffer::TOC_TOC)
|
||||||
|
{
|
||||||
|
// let the dialog be shown
|
||||||
|
// This is a permanent connection so we won't bother
|
||||||
|
// storing a copy because we won't be disconnecting.
|
||||||
|
d->showTOC.connect(slot(this, &FormToc::showTOC));
|
||||||
|
d->createTOC.connect(slot(this, &FormToc::createTOC));
|
||||||
|
}
|
||||||
|
|
||||||
|
FormToc::~FormToc()
|
||||||
|
{
|
||||||
|
delete dialog_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::showTOC(InsetCommand * const inset)
|
||||||
|
{
|
||||||
|
// FIXME: when could inset be 0 here ?
|
||||||
|
if (inset==0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
inset_ = inset;
|
||||||
|
ih_ = inset_->hide.connect(slot(this,&FormToc::hide));
|
||||||
|
params = inset->params();
|
||||||
|
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::createTOC(string const & arg)
|
||||||
|
{
|
||||||
|
if (inset_)
|
||||||
|
close();
|
||||||
|
|
||||||
|
params.setFromString(arg);
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::updateToc()
|
||||||
|
{
|
||||||
|
if (!lv_->view()->available()) {
|
||||||
|
toclist.clear();
|
||||||
|
dialog_->tree->clear();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
vector< vector<Buffer::TocItem> > tmp =
|
||||||
|
lv_->view()->buffer()->getTocList();
|
||||||
|
|
||||||
|
// Check if all elements are the same.
|
||||||
|
if (toclist.size() == tmp[type].size()) {
|
||||||
|
unsigned int i = 0;
|
||||||
|
for (; i < toclist.size(); ++i) {
|
||||||
|
if (toclist[i] != tmp[type][i])
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i >= toclist.size())
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
toclist = tmp[type];
|
||||||
|
|
||||||
|
dialog_->tree->clear();
|
||||||
|
|
||||||
|
|
||||||
|
// FIXME: should do hierarchically. at each point we need to know
|
||||||
|
// id of item we've just inserted, id of most recent sibling, and
|
||||||
|
// id of parent
|
||||||
|
|
||||||
|
dialog_->tree->setAutoUpdate(false);
|
||||||
|
for (vector< Buffer::TocItem >::const_iterator iter = toclist.begin();
|
||||||
|
iter != toclist.end(); ++iter) {
|
||||||
|
dialog_->tree->insertItem((string(4*(*iter).depth,' ')+(*iter).str).c_str(), 0, -1, false);
|
||||||
|
}
|
||||||
|
dialog_->tree->setAutoUpdate(true);
|
||||||
|
dialog_->tree->update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::setType(Buffer::TocType toctype)
|
||||||
|
{
|
||||||
|
type = toctype;
|
||||||
|
switch (type) {
|
||||||
|
case Buffer::TOC_TOC:
|
||||||
|
dialog_->setCaption(_("Table of Contents"));
|
||||||
|
break;
|
||||||
|
case Buffer::TOC_LOF:
|
||||||
|
dialog_->setCaption(_("List of Figures"));
|
||||||
|
break;
|
||||||
|
case Buffer::TOC_LOT:
|
||||||
|
dialog_->setCaption(_("List of Tables"));
|
||||||
|
break;
|
||||||
|
case Buffer::TOC_LOA:
|
||||||
|
dialog_->setCaption(_("List of Algorithms"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::update()
|
||||||
|
{
|
||||||
|
if (params.getCmdName()=="tableofcontents") {
|
||||||
|
setType(Buffer::TOC_TOC);
|
||||||
|
dialog_->menu->setCurrentItem(0);
|
||||||
|
} else if (params.getCmdName()=="listoffigures") {
|
||||||
|
setType(Buffer::TOC_LOF);
|
||||||
|
dialog_->menu->setCurrentItem(1);
|
||||||
|
} else if (params.getCmdName()=="listoftables") {
|
||||||
|
setType(Buffer::TOC_LOT);
|
||||||
|
dialog_->menu->setCurrentItem(2);
|
||||||
|
} else {
|
||||||
|
setType(Buffer::TOC_LOA);
|
||||||
|
dialog_->menu->setCurrentItem(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateToc();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::highlight(int index)
|
||||||
|
{
|
||||||
|
if (!lv_->view()->available())
|
||||||
|
return;
|
||||||
|
|
||||||
|
// FIXME: frontStrip can go once it's hierarchical
|
||||||
|
string tmp(frontStrip(dialog_->tree->itemAt(index)->getText(),' '));
|
||||||
|
|
||||||
|
vector <Buffer::TocItem>::const_iterator iter = toclist.begin();
|
||||||
|
for (; iter != toclist.end(); ++iter) {
|
||||||
|
if (iter->str==tmp)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iter==toclist.end()) {
|
||||||
|
lyxerr[Debug::GUI] << "Couldn't find highlighted TOC entry : " << tmp << endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_->getLyXFunc()->Dispatch(LFUN_GOTO_PARAGRAPH, tostr(iter->par->id()).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::set_type(Buffer::TocType toctype)
|
||||||
|
{
|
||||||
|
if (toctype==type)
|
||||||
|
return;
|
||||||
|
|
||||||
|
setType(toctype);
|
||||||
|
updateToc();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::show()
|
||||||
|
{
|
||||||
|
if (!dialog_)
|
||||||
|
dialog_ = new FormTocDialog(this, 0, _("LyX: Table of Contents"), false);
|
||||||
|
|
||||||
|
if (!dialog_->isVisible()) {
|
||||||
|
h_ = d_->hideBufferDependent.connect(slot(this, &FormToc::hide));
|
||||||
|
u_ = d_->updateBufferDependent.connect(slot(this, &FormToc::update));
|
||||||
|
}
|
||||||
|
|
||||||
|
dialog_->raise();
|
||||||
|
dialog_->setActiveWindow();
|
||||||
|
|
||||||
|
update();
|
||||||
|
dialog_->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::close()
|
||||||
|
{
|
||||||
|
h_.disconnect();
|
||||||
|
u_.disconnect();
|
||||||
|
ih_.disconnect();
|
||||||
|
inset_ = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormToc::hide()
|
||||||
|
{
|
||||||
|
dialog_->hide();
|
||||||
|
close();
|
||||||
|
}
|
94
src/frontends/kde/FormToc.h
Normal file
94
src/frontends/kde/FormToc.h
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
/* FormToc.h
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef FORMTOC_H
|
||||||
|
#define FORMTOC_H
|
||||||
|
|
||||||
|
#include "DialogBase.h"
|
||||||
|
#include "LString.h"
|
||||||
|
#include "support/utility.hpp"
|
||||||
|
#include "insets/insetcommand.h"
|
||||||
|
#include "buffer.h"
|
||||||
|
|
||||||
|
class Dialogs;
|
||||||
|
class FormTocDialog;
|
||||||
|
|
||||||
|
class FormToc : public DialogBase, public noncopyable {
|
||||||
|
public:
|
||||||
|
/**@name Constructors and Destructors */
|
||||||
|
//@{
|
||||||
|
///
|
||||||
|
FormToc(LyXView *, Dialogs *);
|
||||||
|
///
|
||||||
|
~FormToc();
|
||||||
|
//@}
|
||||||
|
|
||||||
|
/// Highlighted an item
|
||||||
|
void highlight(int index);
|
||||||
|
/// Choose which type
|
||||||
|
void set_type(Buffer::TocType type);
|
||||||
|
/// Update the dialog.
|
||||||
|
void update();
|
||||||
|
/// close the connections
|
||||||
|
void close();
|
||||||
|
|
||||||
|
private:
|
||||||
|
/// Create the dialog if necessary, update it and display it.
|
||||||
|
void show();
|
||||||
|
/// Hide the dialog.
|
||||||
|
void hide();
|
||||||
|
|
||||||
|
/// create a Toc inset
|
||||||
|
void createTOC(string const &);
|
||||||
|
/// view a Toc inset
|
||||||
|
void showTOC(InsetCommand * const);
|
||||||
|
|
||||||
|
/// hierarchical tree
|
||||||
|
int FormToc::doTree(vector < Buffer::TocItem>::const_iterator & , int, int, int);
|
||||||
|
/// update the Toc
|
||||||
|
void updateToc(void);
|
||||||
|
|
||||||
|
/// set the type
|
||||||
|
void setType(Buffer::TocType);
|
||||||
|
|
||||||
|
/// Real GUI implementation.
|
||||||
|
FormTocDialog * dialog_;
|
||||||
|
|
||||||
|
/// the LyXView we belong to
|
||||||
|
LyXView * lv_;
|
||||||
|
|
||||||
|
/** Which Dialogs do we belong to?
|
||||||
|
Used so we can get at the signals we have to connect to.
|
||||||
|
*/
|
||||||
|
Dialogs * d_;
|
||||||
|
/// pointer to the inset if any
|
||||||
|
InsetCommand * inset_;
|
||||||
|
/// insets params
|
||||||
|
InsetCommandParams params;
|
||||||
|
|
||||||
|
/// Hide connection.
|
||||||
|
Connection h_;
|
||||||
|
/// Update connection.
|
||||||
|
Connection u_;
|
||||||
|
/// Inset hide connection.
|
||||||
|
Connection ih_;
|
||||||
|
|
||||||
|
/// the toc list
|
||||||
|
std::vector <Buffer::TocItem> toclist;
|
||||||
|
|
||||||
|
/// type currently being shown
|
||||||
|
Buffer::TocType type;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -1,7 +1,7 @@
|
|||||||
# /*
|
/*
|
||||||
* FormUrl.C
|
* FormUrl.C
|
||||||
* (C) 2000 John Levon
|
* (C) 2000 LyX Team
|
||||||
* moz@compsoc.man.ac.uk
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
@ -76,14 +76,14 @@ void FormUrl::update()
|
|||||||
if (readonly) {
|
if (readonly) {
|
||||||
dialog_->urlname->setFocusPolicy(QWidget::NoFocus);
|
dialog_->urlname->setFocusPolicy(QWidget::NoFocus);
|
||||||
dialog_->url->setFocusPolicy(QWidget::NoFocus);
|
dialog_->url->setFocusPolicy(QWidget::NoFocus);
|
||||||
dialog_->buttonOk->hide();
|
dialog_->buttonOk->setEnabled(false);
|
||||||
dialog_->buttonCancel->setText(_("Close"));
|
dialog_->buttonCancel->setText(_("Close"));
|
||||||
dialog_->htmlurl->setEnabled(false);
|
dialog_->htmlurl->setEnabled(false);
|
||||||
} else {
|
} else {
|
||||||
dialog_->urlname->setFocusPolicy(QWidget::StrongFocus);
|
dialog_->urlname->setFocusPolicy(QWidget::StrongFocus);
|
||||||
dialog_->url->setFocusPolicy(QWidget::StrongFocus);
|
dialog_->url->setFocusPolicy(QWidget::StrongFocus);
|
||||||
dialog_->url->setFocus();
|
dialog_->url->setFocus();
|
||||||
dialog_->buttonOk->show();
|
dialog_->buttonOk->setEnabled(true);
|
||||||
dialog_->buttonCancel->setText(_("Cancel"));
|
dialog_->buttonCancel->setText(_("Cancel"));
|
||||||
dialog_->htmlurl->setEnabled(true);
|
dialog_->htmlurl->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* FormUrl.h
|
/* FormUrl.h
|
||||||
* (C) 2000 John Levon
|
* (C) 2000 LyX Team
|
||||||
* moz@compsoc.man.ac.uk
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
@ -7,20 +7,19 @@ INCLUDES = -I${top_srcdir}/src/ -I${top_srcdir}/src/frontends/ \
|
|||||||
|
|
||||||
# just to make sure, automake makes them
|
# just to make sure, automake makes them
|
||||||
BUILTSOURCES = formcopyrightdialog_moc.C \
|
BUILTSOURCES = formcopyrightdialog_moc.C \
|
||||||
formurldialog_moc.C
|
formurldialog_moc.C \
|
||||||
|
formindexdialog_moc.C \
|
||||||
|
formcitationdialog_moc.C \
|
||||||
|
formtocdialog_moc.C
|
||||||
|
|
||||||
DISTCLEANFILES = $(BUILTSOURCES) *.orig *.rej *~ *.bak core
|
DISTCLEANFILES = $(BUILTSOURCES) *.orig *.rej *~ *.bak core
|
||||||
|
|
||||||
libkde_la_OBJADD = \
|
libkde_la_OBJADD = \
|
||||||
../xforms/FormCitation.lo \
|
|
||||||
../xforms/form_citation.lo \
|
|
||||||
../xforms/FormCommand.lo \
|
../xforms/FormCommand.lo \
|
||||||
../xforms/FormDocument.lo \
|
../xforms/FormDocument.lo \
|
||||||
../xforms/form_document.lo \
|
../xforms/form_document.lo \
|
||||||
../xforms/FormGraphics.lo \
|
../xforms/FormGraphics.lo \
|
||||||
../xforms/form_graphics.lo \
|
../xforms/form_graphics.lo \
|
||||||
../xforms/FormIndex.lo \
|
|
||||||
../xforms/form_index.lo \
|
|
||||||
../xforms/FormPreferences.lo \
|
../xforms/FormPreferences.lo \
|
||||||
../xforms/form_preferences.lo \
|
../xforms/form_preferences.lo \
|
||||||
../xforms/FormPrint.lo \
|
../xforms/FormPrint.lo \
|
||||||
@ -29,8 +28,6 @@ libkde_la_OBJADD = \
|
|||||||
../xforms/form_ref.lo \
|
../xforms/form_ref.lo \
|
||||||
../xforms/FormTabular.lo \
|
../xforms/FormTabular.lo \
|
||||||
../xforms/form_tabular.lo \
|
../xforms/form_tabular.lo \
|
||||||
../xforms/FormToc.lo \
|
|
||||||
../xforms/form_toc.lo \
|
|
||||||
../xforms/input_validators.lo \
|
../xforms/input_validators.lo \
|
||||||
../xforms/RadioButtonGroup.lo \
|
../xforms/RadioButtonGroup.lo \
|
||||||
../xforms/Toolbar_pimpl.lo \
|
../xforms/Toolbar_pimpl.lo \
|
||||||
@ -52,6 +49,18 @@ libkde_la_SOURCES = \
|
|||||||
FormUrl.h \
|
FormUrl.h \
|
||||||
formurldialog.C \
|
formurldialog.C \
|
||||||
formurldialog.h \
|
formurldialog.h \
|
||||||
|
FormIndex.C \
|
||||||
|
FormIndex.h \
|
||||||
|
formindexdialog.C \
|
||||||
|
formindexdialog.h \
|
||||||
|
FormCitation.C \
|
||||||
|
FormCitation.h \
|
||||||
|
formcitationdialog.C \
|
||||||
|
formcitationdialog.h \
|
||||||
|
FormToc.C \
|
||||||
|
FormToc.h \
|
||||||
|
formtocdialog.C \
|
||||||
|
formtocdialog.h \
|
||||||
$(BUILTSOURCES)
|
$(BUILTSOURCES)
|
||||||
|
|
||||||
# These still have to be added. Sooner or later. ARRae-20000129
|
# These still have to be added. Sooner or later. ARRae-20000129
|
||||||
@ -85,3 +94,15 @@ formcopyrightdialog_moc.C: formcopyrightdialog.h
|
|||||||
formurldialog.C: formurldialog_moc.C
|
formurldialog.C: formurldialog_moc.C
|
||||||
formurldialog_moc.C: formurldialog.h
|
formurldialog_moc.C: formurldialog.h
|
||||||
$(MOC) formurldialog.h -o formurldialog_moc.C
|
$(MOC) formurldialog.h -o formurldialog_moc.C
|
||||||
|
|
||||||
|
formindexdialog.C: formindexdialog_moc.C
|
||||||
|
formindexdialog_moc.C: formindexdialog.h
|
||||||
|
$(MOC) formindexdialog.h -o formindexdialog_moc.C
|
||||||
|
|
||||||
|
formcitationdialog.C: formcitationdialog_moc.C
|
||||||
|
formcitationdialog_moc.C: formcitationdialog.h
|
||||||
|
$(MOC) formcitationdialog.h -o formcitationdialog_moc.C
|
||||||
|
|
||||||
|
formtocdialog.C: formtocdialog_moc.C
|
||||||
|
formtocdialog_moc.C: formtocdialog.h
|
||||||
|
$(MOC) formtocdialog.h -o formtocdialog_moc.C
|
||||||
|
12
src/frontends/kde/QtLyXView.h
Normal file
12
src/frontends/kde/QtLyXView.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/*
|
||||||
|
* QtLyXView.h
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Qt 1.x has a messy namespace which conflicts with 'emit' in
|
||||||
|
* src/Timeout.h. This can go away when Qt 2.x happens.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#undef emit
|
||||||
|
#include "LyXView.h"
|
173
src/frontends/kde/formcitationdialog.C
Normal file
173
src/frontends/kde/formcitationdialog.C
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
/*
|
||||||
|
* formcitationdialog.C
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "formcitationdialog.h"
|
||||||
|
|
||||||
|
FormCitationDialog::FormCitationDialog(FormCitation *form, QWidget *parent, const char *name, bool, WFlags)
|
||||||
|
: QDialog(parent,name,false), form_(form)
|
||||||
|
{
|
||||||
|
setCaption(name);
|
||||||
|
setMinimumWidth(500);
|
||||||
|
|
||||||
|
// widgets
|
||||||
|
|
||||||
|
labelchosen = new QLabel(this);
|
||||||
|
labelchosen->setText(_("Selected keys"));
|
||||||
|
labelchosen->setMinimumSize(labelchosen->sizeHint());
|
||||||
|
labelchosen->setMaximumSize(labelchosen->sizeHint());
|
||||||
|
|
||||||
|
chosen = new QListBox(this);
|
||||||
|
|
||||||
|
labelkeys = new QLabel(this);
|
||||||
|
labelkeys->setText(_("Available keys"));
|
||||||
|
labelkeys->setMinimumSize(labelkeys->sizeHint());
|
||||||
|
labelkeys->setMaximumSize(labelkeys->sizeHint());
|
||||||
|
|
||||||
|
keys = new QListBox(this);
|
||||||
|
|
||||||
|
labelentry = new QLabel(this);
|
||||||
|
labelentry->setText(_("Reference entry"));
|
||||||
|
labelentry->setMinimumSize(labelentry->sizeHint());
|
||||||
|
labelentry->setMaximumSize(labelentry->sizeHint());
|
||||||
|
|
||||||
|
after = new QLineEdit(this);
|
||||||
|
after->setMinimumSize(after->sizeHint());
|
||||||
|
|
||||||
|
entry = new QMultiLineEdit(this);
|
||||||
|
entry->setReadOnly(true);
|
||||||
|
entry->setFixedVisibleLines(2);
|
||||||
|
|
||||||
|
labelafter = new QLabel(this);
|
||||||
|
labelafter->setText(_("Text after"));
|
||||||
|
labelafter->setMargin(5);
|
||||||
|
labelafter->setMinimumSize(labelafter->sizeHint());
|
||||||
|
labelafter->setMaximumSize(labelafter->sizeHint());
|
||||||
|
|
||||||
|
/* FIXME: icons */
|
||||||
|
add = new QPushButton(this);
|
||||||
|
add->setText(_("&Add"));
|
||||||
|
add->setMinimumSize(add->sizeHint());
|
||||||
|
add->setMaximumSize(add->sizeHint());
|
||||||
|
|
||||||
|
up = new QPushButton(this);
|
||||||
|
up->setText(_("&Up"));
|
||||||
|
up->setMinimumSize(up->sizeHint());
|
||||||
|
up->setMaximumSize(up->sizeHint());
|
||||||
|
|
||||||
|
down = new QPushButton(this);
|
||||||
|
down->setText(_("&Down"));
|
||||||
|
down->setMinimumSize(down->sizeHint());
|
||||||
|
down->setMaximumSize(down->sizeHint());
|
||||||
|
|
||||||
|
remove = new QPushButton(this);
|
||||||
|
remove->setText(_("&Remove"));
|
||||||
|
remove->setMinimumSize(remove->sizeHint());
|
||||||
|
remove->setMaximumSize(remove->sizeHint());
|
||||||
|
|
||||||
|
buttonOk = new QPushButton(this);
|
||||||
|
buttonOk->setText(_("&OK"));
|
||||||
|
buttonOk->setDefault(true);
|
||||||
|
buttonOk->setMinimumSize(buttonOk->sizeHint());
|
||||||
|
buttonOk->setMaximumSize(buttonOk->sizeHint());
|
||||||
|
|
||||||
|
buttonCancel = new QPushButton(this);
|
||||||
|
buttonCancel->setText(_("&Cancel"));
|
||||||
|
buttonCancel->setMinimumSize(buttonCancel->sizeHint());
|
||||||
|
buttonCancel->setMaximumSize(buttonCancel->sizeHint());
|
||||||
|
|
||||||
|
// tooltips
|
||||||
|
|
||||||
|
QToolTip::add(chosen,_("Keys currently selected"));
|
||||||
|
QToolTip::add(keys,_("Reference keys available"));
|
||||||
|
QToolTip::add(entry,_("Reference entry text"));
|
||||||
|
QToolTip::add(after,_("Text to place after citation"));
|
||||||
|
|
||||||
|
// layouts
|
||||||
|
|
||||||
|
topLayout = new QHBoxLayout(this,10);
|
||||||
|
|
||||||
|
layout = new QVBoxLayout();
|
||||||
|
topLayout->addLayout(layout);
|
||||||
|
layout->addSpacing(10);
|
||||||
|
|
||||||
|
browserLayout = new QHBoxLayout();
|
||||||
|
layout->addLayout(browserLayout,1);
|
||||||
|
|
||||||
|
chosenLayout = new QVBoxLayout();
|
||||||
|
browserLayout->addLayout(chosenLayout,1);
|
||||||
|
iconLayout = new QVBoxLayout();
|
||||||
|
browserLayout->addLayout(iconLayout,0);
|
||||||
|
keysLayout = new QVBoxLayout();
|
||||||
|
browserLayout->addLayout(keysLayout,1);
|
||||||
|
|
||||||
|
chosenLayout->addWidget(labelchosen, 0, AlignLeft);
|
||||||
|
chosenLayout->addWidget(chosen, 1);
|
||||||
|
|
||||||
|
iconLayout->addStretch(1);
|
||||||
|
iconLayout->addWidget(add,1);
|
||||||
|
iconLayout->addStretch(1);
|
||||||
|
iconLayout->addWidget(up,1);
|
||||||
|
iconLayout->addStretch(1);
|
||||||
|
iconLayout->addWidget(down,1);
|
||||||
|
iconLayout->addStretch(1);
|
||||||
|
iconLayout->addWidget(remove,1);
|
||||||
|
iconLayout->addStretch(1);
|
||||||
|
|
||||||
|
keysLayout->addWidget(labelkeys, 0, AlignLeft);
|
||||||
|
keysLayout->addWidget(keys, 1);
|
||||||
|
|
||||||
|
entryLayout = new QVBoxLayout();
|
||||||
|
layout->addLayout(entryLayout);
|
||||||
|
|
||||||
|
entryLayout->addWidget(labelentry, 0, AlignLeft);
|
||||||
|
entryLayout->addWidget(entry, 0);
|
||||||
|
|
||||||
|
afterLayout = new QHBoxLayout();
|
||||||
|
layout->addLayout(afterLayout);
|
||||||
|
|
||||||
|
afterLayout->addWidget(labelafter, 0, AlignLeft);
|
||||||
|
afterLayout->addWidget(after, 1);
|
||||||
|
|
||||||
|
buttonLayout = new QHBoxLayout();
|
||||||
|
layout->addLayout(buttonLayout);
|
||||||
|
|
||||||
|
buttonLayout->addStretch(1);
|
||||||
|
buttonLayout->addWidget(buttonOk, 1);
|
||||||
|
buttonLayout->addStretch(2);
|
||||||
|
buttonLayout->addWidget(buttonCancel, 1);
|
||||||
|
buttonLayout->addStretch(1);
|
||||||
|
|
||||||
|
// connections
|
||||||
|
|
||||||
|
connect(keys, SIGNAL(selected(const char *)), this, SLOT(select_key_adaptor(const char *)));
|
||||||
|
connect(keys, SIGNAL(highlighted(const char *)), this, SLOT(highlight_key_adaptor(const char *)));
|
||||||
|
connect(chosen, SIGNAL(highlighted(const char *)), this, SLOT(highlight_chosen_adaptor(const char *)));
|
||||||
|
connect(add, SIGNAL(clicked()), this, SLOT(add_adaptor()));
|
||||||
|
connect(up, SIGNAL(clicked()), this, SLOT(up_adaptor()));
|
||||||
|
connect(down, SIGNAL(clicked()), this, SLOT(down_adaptor()));
|
||||||
|
connect(remove, SIGNAL(clicked()), this, SLOT(remove_adaptor()));
|
||||||
|
connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply_adaptor()));
|
||||||
|
connect(buttonCancel, SIGNAL(clicked()), this, SLOT(close_adaptor()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormCitationDialog::closeEvent(QCloseEvent *e)
|
||||||
|
{
|
||||||
|
form_->close();
|
||||||
|
e->accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
FormCitationDialog::~FormCitationDialog()
|
||||||
|
{
|
||||||
|
}
|
118
src/frontends/kde/formcitationdialog.h
Normal file
118
src/frontends/kde/formcitationdialog.h
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
/*
|
||||||
|
* formcitationdialog.h
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef FORMCITATIONDIALOG_H
|
||||||
|
#define FORMCITATIONDIALOG_H
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <gettext.h>
|
||||||
|
|
||||||
|
// to connect apply() and hide()
|
||||||
|
#include "FormCitation.h"
|
||||||
|
|
||||||
|
#include <qdialog.h>
|
||||||
|
#include <qlistbox.h>
|
||||||
|
#include <qlayout.h>
|
||||||
|
#include <qlabel.h>
|
||||||
|
#include <qtooltip.h>
|
||||||
|
#include <qlineedit.h>
|
||||||
|
#include <qmultilinedit.h>
|
||||||
|
#include <qpushbutton.h>
|
||||||
|
|
||||||
|
class FormCitationDialog : public QDialog {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
FormCitationDialog(FormCitation *form, QWidget *parent=0, const char *name=0,
|
||||||
|
bool modal=false, WFlags f=0);
|
||||||
|
~FormCitationDialog();
|
||||||
|
|
||||||
|
// widgets
|
||||||
|
|
||||||
|
QLabel *labelchosen;
|
||||||
|
QListBox *chosen;
|
||||||
|
QLabel *labelkeys;
|
||||||
|
QListBox *keys;
|
||||||
|
QLabel *labelentry;
|
||||||
|
QMultiLineEdit *entry;
|
||||||
|
QLabel *labelafter;
|
||||||
|
QLineEdit *after;
|
||||||
|
QPushButton *add;
|
||||||
|
QPushButton *up;
|
||||||
|
QPushButton *down;
|
||||||
|
QPushButton *remove;
|
||||||
|
QPushButton *buttonOk;
|
||||||
|
QPushButton *buttonCancel;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void closeEvent(QCloseEvent *e);
|
||||||
|
|
||||||
|
private:
|
||||||
|
FormCitation *form_;
|
||||||
|
|
||||||
|
// layouts
|
||||||
|
|
||||||
|
QHBoxLayout *topLayout;
|
||||||
|
QVBoxLayout *layout;
|
||||||
|
QHBoxLayout *browserLayout;
|
||||||
|
QVBoxLayout *chosenLayout;
|
||||||
|
QVBoxLayout *iconLayout;
|
||||||
|
QVBoxLayout *keysLayout;
|
||||||
|
QVBoxLayout *entryLayout;
|
||||||
|
QHBoxLayout *afterLayout;
|
||||||
|
QHBoxLayout *buttonLayout;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void apply_adaptor(void) {
|
||||||
|
form_->apply();
|
||||||
|
form_->close();
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
void close_adaptor(void) {
|
||||||
|
form_->close();
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
void add_adaptor(void) {
|
||||||
|
form_->add();
|
||||||
|
}
|
||||||
|
|
||||||
|
void up_adaptor(void) {
|
||||||
|
form_->up();
|
||||||
|
}
|
||||||
|
|
||||||
|
void down_adaptor(void) {
|
||||||
|
form_->down();
|
||||||
|
}
|
||||||
|
|
||||||
|
void remove_adaptor(void) {
|
||||||
|
form_->remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
void select_key_adaptor(const char *key) {
|
||||||
|
form_->select_key(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
void highlight_key_adaptor(const char *key) {
|
||||||
|
form_->highlight_key(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
void highlight_chosen_adaptor(const char *key) {
|
||||||
|
form_->highlight_chosen(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
88
src/frontends/kde/formindexdialog.C
Normal file
88
src/frontends/kde/formindexdialog.C
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
/*
|
||||||
|
* formindexdialog.C
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "formindexdialog.h"
|
||||||
|
|
||||||
|
FormIndexDialog::FormIndexDialog(FormIndex *form, QWidget *parent, const char *name, bool, WFlags)
|
||||||
|
: QDialog(parent,name,false), form_(form)
|
||||||
|
{
|
||||||
|
setCaption(name);
|
||||||
|
|
||||||
|
// widgets
|
||||||
|
|
||||||
|
index = new QLineEdit(this);
|
||||||
|
index->setMinimumSize(index->sizeHint());
|
||||||
|
|
||||||
|
labelindex = new QLabel(this);
|
||||||
|
labelindex->setText(_("Keyword :"));
|
||||||
|
labelindex->setMargin(5);
|
||||||
|
labelindex->setMinimumSize(labelindex->sizeHint());
|
||||||
|
labelindex->setMaximumSize(labelindex->sizeHint());
|
||||||
|
|
||||||
|
buttonOk = new QPushButton(this);
|
||||||
|
buttonOk->setMinimumSize(buttonOk->sizeHint());
|
||||||
|
buttonOk->setMaximumSize(buttonOk->sizeHint());
|
||||||
|
buttonOk->setText(_("&OK"));
|
||||||
|
buttonOk->setDefault(true);
|
||||||
|
|
||||||
|
buttonCancel = new QPushButton(this);
|
||||||
|
buttonCancel->setMinimumSize(buttonCancel->sizeHint());
|
||||||
|
buttonCancel->setMaximumSize(buttonCancel->sizeHint());
|
||||||
|
buttonCancel->setText(_("&Cancel"));
|
||||||
|
|
||||||
|
// tooltips
|
||||||
|
|
||||||
|
QToolTip::add(labelindex,_("Index entry"));
|
||||||
|
QToolTip::add(index,_("Index entry"));
|
||||||
|
|
||||||
|
// layouts
|
||||||
|
|
||||||
|
topLayout = new QHBoxLayout(this,10);
|
||||||
|
|
||||||
|
layout = new QVBoxLayout();
|
||||||
|
topLayout->addLayout(layout);
|
||||||
|
layout->addSpacing(10);
|
||||||
|
|
||||||
|
indexLayout = new QHBoxLayout();
|
||||||
|
layout->addLayout(indexLayout);
|
||||||
|
indexLayout->addWidget(labelindex, 0);
|
||||||
|
indexLayout->addWidget(index, 1);
|
||||||
|
|
||||||
|
layout->addStretch(1);
|
||||||
|
|
||||||
|
buttonLayout = new QHBoxLayout();
|
||||||
|
|
||||||
|
layout->addLayout(buttonLayout);
|
||||||
|
buttonLayout->addStretch(1);
|
||||||
|
buttonLayout->addWidget(buttonOk, 1);
|
||||||
|
buttonLayout->addStretch(2);
|
||||||
|
buttonLayout->addWidget(buttonCancel, 1);
|
||||||
|
buttonLayout->addStretch(1);
|
||||||
|
|
||||||
|
// connections
|
||||||
|
|
||||||
|
connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply_adaptor()));
|
||||||
|
connect(buttonCancel, SIGNAL(clicked()), this, SLOT(close_adaptor()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormIndexDialog::closeEvent(QCloseEvent *e)
|
||||||
|
{
|
||||||
|
form_->close();
|
||||||
|
e->accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
FormIndexDialog::~FormIndexDialog()
|
||||||
|
{
|
||||||
|
}
|
75
src/frontends/kde/formindexdialog.h
Normal file
75
src/frontends/kde/formindexdialog.h
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
/*
|
||||||
|
* formindexdialog.h
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef FORMINDEXDIALOG_H
|
||||||
|
#define FORMINDEXDIALOG_H
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <gettext.h>
|
||||||
|
|
||||||
|
// to connect apply() and hide()
|
||||||
|
#include "FormIndex.h"
|
||||||
|
|
||||||
|
#include <qdialog.h>
|
||||||
|
#include <qlayout.h>
|
||||||
|
#include <qlabel.h>
|
||||||
|
#include <qtooltip.h>
|
||||||
|
#include <qlineedit.h>
|
||||||
|
#include <qpushbutton.h>
|
||||||
|
|
||||||
|
class FormIndexDialog : public QDialog {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
FormIndexDialog(FormIndex *form, QWidget *parent=0, const char *name=0,
|
||||||
|
bool modal=false, WFlags f=0);
|
||||||
|
~FormIndexDialog();
|
||||||
|
|
||||||
|
// widgets
|
||||||
|
|
||||||
|
QLabel *labelindex;
|
||||||
|
QLineEdit *index;
|
||||||
|
QPushButton *buttonOk;
|
||||||
|
QPushButton *buttonCancel;
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void closeEvent(QCloseEvent *e);
|
||||||
|
|
||||||
|
private:
|
||||||
|
FormIndex *form_;
|
||||||
|
|
||||||
|
// layouts
|
||||||
|
|
||||||
|
QHBoxLayout *topLayout;
|
||||||
|
QVBoxLayout *layout;
|
||||||
|
QHBoxLayout *indexLayout;
|
||||||
|
QHBoxLayout *buttonLayout;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
/// adaptor to FormIndex::apply
|
||||||
|
void apply_adaptor(void) {
|
||||||
|
form_->apply();
|
||||||
|
form_->close();
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// adaptor to FormIndex::close
|
||||||
|
void close_adaptor(void) {
|
||||||
|
form_->close();
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
83
src/frontends/kde/formtocdialog.C
Normal file
83
src/frontends/kde/formtocdialog.C
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
/*
|
||||||
|
* formtocdialog.C
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "formtocdialog.h"
|
||||||
|
|
||||||
|
FormTocDialog::FormTocDialog(FormToc *form, QWidget *parent, const char *name, bool, WFlags)
|
||||||
|
: QDialog(parent,name,false), form_(form)
|
||||||
|
{
|
||||||
|
setCaption(name);
|
||||||
|
setMinimumWidth(350);
|
||||||
|
|
||||||
|
// widgets
|
||||||
|
|
||||||
|
menu = new QComboBox(this);
|
||||||
|
menu->insertItem(_("Table of Contents"));
|
||||||
|
menu->insertItem(_("List of Figures"));
|
||||||
|
menu->insertItem(_("List of Tables"));
|
||||||
|
menu->insertItem(_("List of Algorithms"));
|
||||||
|
menu->setMinimumSize(menu->sizeHint());
|
||||||
|
|
||||||
|
tree = new KTreeList(this,"tree");
|
||||||
|
tree->setMinimumHeight(200);
|
||||||
|
|
||||||
|
buttonUpdate = new QPushButton(this);
|
||||||
|
buttonUpdate->setMinimumSize(buttonUpdate->sizeHint());
|
||||||
|
buttonUpdate->setMaximumSize(buttonUpdate->sizeHint());
|
||||||
|
buttonUpdate->setText(_("&Update"));
|
||||||
|
|
||||||
|
buttonClose = new QPushButton(this);
|
||||||
|
buttonClose->setMinimumSize(buttonClose->sizeHint());
|
||||||
|
buttonClose->setMaximumSize(buttonClose->sizeHint());
|
||||||
|
buttonClose->setText(_("&Close"));
|
||||||
|
buttonClose->setDefault(true);
|
||||||
|
|
||||||
|
// layouts
|
||||||
|
|
||||||
|
topLayout = new QHBoxLayout(this,10);
|
||||||
|
|
||||||
|
layout = new QVBoxLayout();
|
||||||
|
topLayout->addLayout(layout);
|
||||||
|
layout->addSpacing(10);
|
||||||
|
|
||||||
|
layout->addWidget(menu,0);
|
||||||
|
layout->addWidget(tree,1);
|
||||||
|
|
||||||
|
buttonLayout = new QHBoxLayout();
|
||||||
|
|
||||||
|
layout->addLayout(buttonLayout);
|
||||||
|
buttonLayout->addStretch(1);
|
||||||
|
buttonLayout->addWidget(buttonUpdate, 1);
|
||||||
|
buttonLayout->addStretch(2);
|
||||||
|
buttonLayout->addWidget(buttonClose, 1);
|
||||||
|
buttonLayout->addStretch(1);
|
||||||
|
|
||||||
|
// connections
|
||||||
|
|
||||||
|
connect(tree, SIGNAL(highlighted(int)), this, SLOT(highlight_adaptor(int)));
|
||||||
|
connect(menu, SIGNAL(activated(int)), this, SLOT(activate_adaptor(int)));
|
||||||
|
connect(buttonUpdate, SIGNAL(clicked()), this, SLOT(update_adaptor()));
|
||||||
|
connect(buttonClose, SIGNAL(clicked()), this, SLOT(close_adaptor()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void FormTocDialog::closeEvent(QCloseEvent *e)
|
||||||
|
{
|
||||||
|
form_->close();
|
||||||
|
e->accept();
|
||||||
|
}
|
||||||
|
|
||||||
|
FormTocDialog::~FormTocDialog()
|
||||||
|
{
|
||||||
|
}
|
97
src/frontends/kde/formtocdialog.h
Normal file
97
src/frontends/kde/formtocdialog.h
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
/*
|
||||||
|
* formtocdialog.h
|
||||||
|
* (C) 2000 LyX Team
|
||||||
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#ifndef FORMTOCDIALOG_H
|
||||||
|
#define FORMTOCDIALOG_H
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
#include <gettext.h>
|
||||||
|
|
||||||
|
#include <debug.h>
|
||||||
|
#include <qdialog.h>
|
||||||
|
#include <qlayout.h>
|
||||||
|
#include <qpushbutton.h>
|
||||||
|
#include <qcombobox.h>
|
||||||
|
|
||||||
|
#include <ktreelist.h>
|
||||||
|
|
||||||
|
#include "FormToc.h"
|
||||||
|
|
||||||
|
class FormTocDialog : public QDialog {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
FormTocDialog(FormToc *form, QWidget *parent=0, const char *name=0,
|
||||||
|
bool modal=false, WFlags f=0);
|
||||||
|
~FormTocDialog();
|
||||||
|
|
||||||
|
// widgets
|
||||||
|
|
||||||
|
QComboBox *menu;
|
||||||
|
KTreeList *tree;
|
||||||
|
QPushButton *buttonUpdate;
|
||||||
|
QPushButton *buttonClose;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void closeEvent(QCloseEvent *e);
|
||||||
|
|
||||||
|
private:
|
||||||
|
FormToc *form_;
|
||||||
|
|
||||||
|
// layouts
|
||||||
|
|
||||||
|
QHBoxLayout *topLayout;
|
||||||
|
QVBoxLayout *layout;
|
||||||
|
QHBoxLayout *buttonLayout;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
/// adaptor to FormToc::highlight
|
||||||
|
void highlight_adaptor(int index) {
|
||||||
|
form_->highlight(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// adaptor to FormToc::update
|
||||||
|
void update_adaptor(void) {
|
||||||
|
form_->update();
|
||||||
|
}
|
||||||
|
|
||||||
|
// adaptors to FormToc::set_type
|
||||||
|
void activate_adaptor(int index) {
|
||||||
|
switch (index) {
|
||||||
|
case 0:
|
||||||
|
form_->set_type(Buffer::TOC_TOC);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
form_->set_type(Buffer::TOC_LOF);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
form_->set_type(Buffer::TOC_LOT);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
form_->set_type(Buffer::TOC_LOA);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
lyxerr[Debug::GUI] << "Unknown TOC combo selection." << endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// adaptor to FormToc::close
|
||||||
|
void close_adaptor(void) {
|
||||||
|
form_->close();
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* formurldialog.C
|
* formurldialog.C
|
||||||
* (C) 2000 John Levon
|
* (C) 2000 LyX Team
|
||||||
* moz@compsoc.man.ac.uk
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
@ -48,13 +48,13 @@ FormUrlDialog::FormUrlDialog(FormUrl *form, QWidget *parent, const char *name, b
|
|||||||
buttonOk = new QPushButton(this);
|
buttonOk = new QPushButton(this);
|
||||||
buttonOk->setMinimumSize(buttonOk->sizeHint());
|
buttonOk->setMinimumSize(buttonOk->sizeHint());
|
||||||
buttonOk->setMaximumSize(buttonOk->sizeHint());
|
buttonOk->setMaximumSize(buttonOk->sizeHint());
|
||||||
buttonOk->setText(_("OK"));
|
buttonOk->setText(_("&OK"));
|
||||||
buttonOk->setDefault(true);
|
buttonOk->setDefault(true);
|
||||||
|
|
||||||
buttonCancel = new QPushButton(this);
|
buttonCancel = new QPushButton(this);
|
||||||
buttonCancel->setMinimumSize(buttonCancel->sizeHint());
|
buttonCancel->setMinimumSize(buttonCancel->sizeHint());
|
||||||
buttonCancel->setMaximumSize(buttonCancel->sizeHint());
|
buttonCancel->setMaximumSize(buttonCancel->sizeHint());
|
||||||
buttonCancel->setText(_("Cancel"));
|
buttonCancel->setText(_("&Cancel"));
|
||||||
|
|
||||||
// tooltips
|
// tooltips
|
||||||
|
|
||||||
@ -99,8 +99,8 @@ FormUrlDialog::FormUrlDialog(FormUrl *form, QWidget *parent, const char *name, b
|
|||||||
|
|
||||||
// connections
|
// connections
|
||||||
|
|
||||||
connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply_gate()));
|
connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply_adaptor()));
|
||||||
connect(buttonCancel, SIGNAL(clicked()), this, SLOT(close_gate()));
|
connect(buttonCancel, SIGNAL(clicked()), this, SLOT(close_adaptor()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormUrlDialog::closeEvent(QCloseEvent *e)
|
void FormUrlDialog::closeEvent(QCloseEvent *e)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* formurldialog.h
|
* formurldialog.h
|
||||||
* (C) 2000 John Levon
|
* (C) 2000 LyX Team
|
||||||
* moz@compsoc.man.ac.uk
|
* John Levon, moz@compsoc.man.ac.uk
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
@ -63,15 +63,15 @@ private:
|
|||||||
QHBoxLayout *buttonLayout;
|
QHBoxLayout *buttonLayout;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
/// gate to FormUrl::apply
|
/// adaptor to FormUrl::apply
|
||||||
void apply_gate(void) {
|
void apply_adaptor(void) {
|
||||||
form_->apply();
|
form_->apply();
|
||||||
form_->close();
|
form_->close();
|
||||||
hide();
|
hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// gate to FormUrl::close
|
/// adaptor to FormUrl::close
|
||||||
void close_gate(void) {
|
void close_adaptor(void) {
|
||||||
form_->close();
|
form_->close();
|
||||||
hide();
|
hide();
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ extern bool finished;
|
|||||||
|
|
||||||
static int const xforms_include_version = FL_INCLUDE_VERSION;
|
static int const xforms_include_version = FL_INCLUDE_VERSION;
|
||||||
|
|
||||||
int GUIRunTime::initApplication(int argc, char * argv[])
|
int GUIRunTime::initApplication(int , char **)
|
||||||
{
|
{
|
||||||
// Check the XForms version in the forms.h header against
|
// Check the XForms version in the forms.h header against
|
||||||
// the one in the libforms. If they don't match quit the
|
// the one in the libforms. If they don't match quit the
|
||||||
|
Loading…
Reference in New Issue
Block a user