lyx_mirror/src/frontends/qt4/GuiRef.h
Richard Heck f7acec3bdc From Vincent:
> Hi all, 
> > 
> > A. 
> > 1. create a new document (doc1),
> > 2. insert a label,
> > 3. insert a cross-ref
> > 4. create a new document (doc2)
> > 5. insert a cross-ref (in doc2)
> > then the labels in the cross-ref dialog are those from doc1.
> > 

This is solved by the attached patch.

We should not restore the last used buffer if the active buffer has
changed. Especially not when you cannot choose the buffer which is now
still the case.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27165 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-28 15:38:28 +00:00

107 lines
2.1 KiB
C++

// -*- C++ -*-
/**
* \file GuiRef.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#ifndef GUIREF_H
#define GUIREF_H
#include "GuiDialog.h"
#include "ui_RefUi.h"
#include "insets/InsetCommandParams.h"
#include <vector>
class QListWidgetItem;
namespace lyx {
namespace frontend {
class GuiRef : public GuiDialog, public Ui::RefUi
{
Q_OBJECT
public:
GuiRef(GuiView & lv);
private Q_SLOTS:
void changed_adaptor();
void gotoClicked();
void refHighlighted(QListWidgetItem *);
void selectionChanged();
void refSelected(QListWidgetItem *);
void sortToggled(bool);
void updateClicked();
void reset_dialog();
void dialog_rejected();
private:
///
bool isBufferDependent() const { return true; }
/** disconnect from the inset when the Apply button is pressed.
Allows easy insertion of multiple references. */
bool disconnectOnApply() const { return true; }
///
void gotoRef(std::string const &);
///
void gotoBookmark();
///
void closeEvent(QCloseEvent * e);
///
bool isValid();
/// apply changes
void applyView();
/// update dialog
void updateContents();
/// is name allowed for this ?
bool nameAllowed();
/// is type allowed for this ?
bool typeAllowed();
/// go to current reference
void gotoRef();
/// set go back button
void setGoBack();
/// set goto ref button
void setGotoRef();
/// re-enter references
void redoRefs();
/// update references
void updateRefs();
///
bool initialiseParams(std::string const & data);
/// clean-up on hide.
void clearParams() { params_.clear(); }
/// clean-up on hide.
void dispatchParams();
private:
///
InsetCommandParams params_;
/// sort or not persistent state
bool sort_;
/// went to a reference ?
bool at_ref_;
/// the last reference entered or examined
QString last_reference_;
/// store the buffer settings
int restored_buffer_;
/// store the last active buffer
int active_buffer_;
/// the references
std::vector<docstring> refs_;
};
} // namespace frontend
} // namespace lyx
#endif // GUIREF_H