get shift+clicklink to open new preview window instead of tab
This commit is contained in:
parent
9b24c358f8
commit
350a7c49fe
@ -1,5 +1,5 @@
|
|||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char rcsid[] = "@(#$Id: rclmain_w.cpp,v 1.8 2006-11-17 10:09:07 dockes Exp $ (C) 2005 J.F.Dockes";
|
static char rcsid[] = "@(#$Id: rclmain_w.cpp,v 1.9 2006-11-17 12:55:59 dockes Exp $ (C) 2005 J.F.Dockes";
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -114,8 +114,8 @@ void RclMain::init()
|
|||||||
this, SLOT(enablePrevPage(bool)));
|
this, SLOT(enablePrevPage(bool)));
|
||||||
connect(resList, SIGNAL(docEditClicked(int)),
|
connect(resList, SIGNAL(docEditClicked(int)),
|
||||||
this, SLOT(startNativeViewer(int)));
|
this, SLOT(startNativeViewer(int)));
|
||||||
connect(resList, SIGNAL(docPreviewClicked(int)),
|
connect(resList, SIGNAL(docPreviewClicked(int, int)),
|
||||||
this, SLOT(startPreview(int)));
|
this, SLOT(startPreview(int, int)));
|
||||||
|
|
||||||
connect(fileExitAction, SIGNAL(activated() ), this, SLOT(fileExit() ) );
|
connect(fileExitAction, SIGNAL(activated() ), this, SLOT(fileExit() ) );
|
||||||
connect(fileStart_IndexingAction, SIGNAL(activated()),
|
connect(fileStart_IndexingAction, SIGNAL(activated()),
|
||||||
@ -443,8 +443,9 @@ void RclMain::previewClosed(QWidget *w)
|
|||||||
* existing window.
|
* existing window.
|
||||||
*
|
*
|
||||||
* @param docnum db query index
|
* @param docnum db query index
|
||||||
|
* @param mod keyboards modifiers like ControlButton, ShiftButton
|
||||||
*/
|
*/
|
||||||
void RclMain::startPreview(int docnum)
|
void RclMain::startPreview(int docnum, int mod)
|
||||||
{
|
{
|
||||||
Rcl::Doc doc;
|
Rcl::Doc doc;
|
||||||
if (!resList->getDoc(docnum, doc)) {
|
if (!resList->getDoc(docnum, doc)) {
|
||||||
@ -462,7 +463,10 @@ void RclMain::startPreview(int docnum)
|
|||||||
fn.c_str());
|
fn.c_str());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (mod & Qt::ShiftButton) {
|
||||||
|
// User wants new preview window
|
||||||
|
curPreview = 0;
|
||||||
|
}
|
||||||
if (curPreview == 0) {
|
if (curPreview == 0) {
|
||||||
curPreview = new Preview(0, tr("Preview"));
|
curPreview = new Preview(0, tr("Preview"));
|
||||||
if (curPreview == 0) {
|
if (curPreview == 0) {
|
||||||
|
|||||||
@ -65,7 +65,7 @@ public slots:
|
|||||||
virtual void enablePrevPage(bool);
|
virtual void enablePrevPage(bool);
|
||||||
virtual void docExpand(int);
|
virtual void docExpand(int);
|
||||||
virtual void ssearchAddTerm(QString);
|
virtual void ssearchAddTerm(QString);
|
||||||
virtual void startPreview(int docnum);
|
virtual void startPreview(int docnum, int);
|
||||||
virtual void startNativeViewer(int docnum);
|
virtual void startNativeViewer(int docnum);
|
||||||
virtual void previewNextInTab(int sid, int docnum);
|
virtual void previewNextInTab(int sid, int docnum);
|
||||||
virtual void previewPrevInTab(int sid, int docnum);
|
virtual void previewPrevInTab(int sid, int docnum);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char rcsid[] = "@(#$Id: reslist.cpp,v 1.10 2006-11-17 10:09:07 dockes Exp $ (C) 2005 J.F.Dockes";
|
static char rcsid[] = "@(#$Id: reslist.cpp,v 1.11 2006-11-17 12:55:59 dockes Exp $ (C) 2005 J.F.Dockes";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
@ -46,8 +46,8 @@ ResList::ResList(QWidget* parent, const char* name)
|
|||||||
|
|
||||||
// signals and slots connections
|
// signals and slots connections
|
||||||
connect(this, SIGNAL(clicked(int, int)), this, SLOT(clicked(int,int)));
|
connect(this, SIGNAL(clicked(int, int)), this, SLOT(clicked(int,int)));
|
||||||
connect(this, SIGNAL(linkClicked(const QString &)),
|
connect(this, SIGNAL(linkClicked(const QString &, int)),
|
||||||
this, SLOT(linkWasClicked(const QString &)));
|
this, SLOT(linkWasClicked(const QString &, int)));
|
||||||
connect(this, SIGNAL(headerClicked()), this, SLOT(showQueryDetails()));
|
connect(this, SIGNAL(headerClicked()), this, SLOT(showQueryDetails()));
|
||||||
connect(this, SIGNAL(doubleClicked(int,int)),
|
connect(this, SIGNAL(doubleClicked(int,int)),
|
||||||
this, SLOT(doubleClicked(int, int)));
|
this, SLOT(doubleClicked(int, int)));
|
||||||
@ -532,7 +532,7 @@ void ResList::doubleClicked(int, int)
|
|||||||
emit(wordSelect(selectedText()));
|
emit(wordSelect(selectedText()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResList::linkWasClicked(const QString &s)
|
void ResList::linkWasClicked(const QString &s, int clkmod)
|
||||||
{
|
{
|
||||||
LOGDEB(("ResList::linkClicked: [%s]\n", s.ascii()));
|
LOGDEB(("ResList::linkClicked: [%s]\n", s.ascii()));
|
||||||
int i = atoi(s.ascii()+1);
|
int i = atoi(s.ascii()+1);
|
||||||
@ -542,7 +542,7 @@ void ResList::linkWasClicked(const QString &s)
|
|||||||
emit headerClicked();
|
emit headerClicked();
|
||||||
break;
|
break;
|
||||||
case 'P':
|
case 'P':
|
||||||
emit docPreviewClicked(i);
|
emit docPreviewClicked(i, clkmod);
|
||||||
break;
|
break;
|
||||||
case 'E':
|
case 'E':
|
||||||
emit docEditClicked(i);
|
emit docEditClicked(i);
|
||||||
@ -573,7 +573,7 @@ QPopupMenu *ResList::createPopupMenu(const QPoint& pos)
|
|||||||
|
|
||||||
void ResList::menuPreview()
|
void ResList::menuPreview()
|
||||||
{
|
{
|
||||||
emit docPreviewClicked(m_popDoc);
|
emit docPreviewClicked(m_popDoc, 0);
|
||||||
}
|
}
|
||||||
void ResList::menuEdit()
|
void ResList::menuEdit()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#ifndef _RESLIST_H_INCLUDED_
|
#ifndef _RESLIST_H_INCLUDED_
|
||||||
#define _RESLIST_H_INCLUDED_
|
#define _RESLIST_H_INCLUDED_
|
||||||
/* @(#$Id: reslist.h,v 1.3 2006-11-17 10:09:07 dockes Exp $ (C) 2005 J.F.Dockes */
|
/* @(#$Id: reslist.h,v 1.4 2006-11-17 12:55:59 dockes Exp $ (C) 2005 J.F.Dockes */
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
||||||
@ -56,10 +56,11 @@ class ResList : public QTextBrowser
|
|||||||
void nextPageAvailable(bool);
|
void nextPageAvailable(bool);
|
||||||
void prevPageAvailable(bool);
|
void prevPageAvailable(bool);
|
||||||
void docEditClicked(int);
|
void docEditClicked(int);
|
||||||
void docPreviewClicked(int);
|
void docPreviewClicked(int, int);
|
||||||
void headerClicked();
|
void headerClicked();
|
||||||
void docExpand(int);
|
void docExpand(int);
|
||||||
void wordSelect(QString);
|
void wordSelect(QString);
|
||||||
|
void linkClicked(const QString&, int);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void keyPressEvent(QKeyEvent *e);
|
void keyPressEvent(QKeyEvent *e);
|
||||||
@ -67,7 +68,7 @@ class ResList : public QTextBrowser
|
|||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
virtual void languageChange();
|
virtual void languageChange();
|
||||||
virtual void linkWasClicked(const QString &);
|
virtual void linkWasClicked(const QString &, int);
|
||||||
virtual void showQueryDetails();
|
virtual void showQueryDetails();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -86,7 +87,7 @@ class ResList : public QTextBrowser
|
|||||||
|
|
||||||
// Don't know why this is necessary but it is
|
// Don't know why this is necessary but it is
|
||||||
void emitLinkClicked(const QString &s) {
|
void emitLinkClicked(const QString &s) {
|
||||||
emit linkClicked(s);
|
emit linkClicked(s, m_lstClckMod);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user