Gui: restable browser section links work
This commit is contained in:
parent
0a6063542f
commit
1e6fde221d
@ -133,6 +133,7 @@
|
||||
<addaction name="toolsDoc_HistoryAction"/>
|
||||
<addaction name="toolsAdvanced_SearchAction"/>
|
||||
<addaction name="toolsSpellAction"/>
|
||||
<addaction name="actionShowQueryDetails"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="preferencesMenu">
|
||||
<property name="title">
|
||||
@ -212,7 +213,7 @@
|
||||
</action>
|
||||
<action name="toolsDoc_HistoryAction">
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="recoll.qrc">
|
||||
<normaloff>:/images/history.png</normaloff>:/images/history.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
@ -227,7 +228,7 @@
|
||||
</action>
|
||||
<action name="toolsAdvanced_SearchAction">
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="recoll.qrc">
|
||||
<normaloff>:/images/asearch.png</normaloff>:/images/asearch.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
@ -253,7 +254,7 @@
|
||||
</action>
|
||||
<action name="toolsSpellAction">
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="recoll.qrc">
|
||||
<normaloff>:/images/spell.png</normaloff>:/images/spell.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
@ -271,7 +272,7 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="recoll.qrc">
|
||||
<normaloff>:/images/nextpage.png</normaloff>:/images/nextpage.png</iconset>
|
||||
</property>
|
||||
<property name="iconText">
|
||||
@ -292,7 +293,7 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="recoll.qrc">
|
||||
<normaloff>:/images/firstpage.png</normaloff>:/images/firstpage.png</iconset>
|
||||
</property>
|
||||
<property name="iconText">
|
||||
@ -313,7 +314,7 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="recoll.qrc">
|
||||
<normaloff>:/images/prevpage.png</normaloff>:/images/prevpage.png</iconset>
|
||||
</property>
|
||||
<property name="iconText">
|
||||
@ -378,7 +379,7 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<iconset resource="recoll.qrc">
|
||||
<normaloff>:/images/up.png</normaloff>:/images/up.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
@ -406,6 +407,11 @@
|
||||
<string>Sort by dates from newest to oldest</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionShowQueryDetails">
|
||||
<property name="text">
|
||||
<string>Show Query Details</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="2" margin="2"/>
|
||||
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
||||
|
||||
@ -242,6 +242,8 @@ void RclMain::init()
|
||||
this, SLOT(catgFilter(int)));
|
||||
connect(toggleFullScreenAction, SIGNAL(activated()),
|
||||
this, SLOT(toggleFullScreen()));
|
||||
connect(actionShowQueryDetails, SIGNAL(activated()),
|
||||
this, SLOT(showQueryDetails()));
|
||||
connect(periodictimer, SIGNAL(timeout()),
|
||||
this, SLOT(periodic100()));
|
||||
|
||||
@ -259,6 +261,10 @@ void RclMain::init()
|
||||
|
||||
connect(restable->getModel(), SIGNAL(sortDataChanged(DocSeqSortSpec)),
|
||||
this, SLOT(onResTableSortBy(DocSeqSortSpec)));
|
||||
connect(restable, SIGNAL(docEditClicked(Rcl::Doc)),
|
||||
this, SLOT(startNativeViewer(Rcl::Doc)));
|
||||
connect(restable, SIGNAL(docPreviewClicked(int, Rcl::Doc, int)),
|
||||
this, SLOT(startPreview(int, Rcl::Doc, int)));
|
||||
|
||||
connect(this, SIGNAL(docSourceChanged(RefCntr<DocSequence>)),
|
||||
reslist, SLOT(setDocSource(RefCntr<DocSequence>)));
|
||||
|
||||
@ -248,6 +248,13 @@ void ResTable::init()
|
||||
m_pager = new ResTablePager(this);
|
||||
QSettings settings;
|
||||
splitter->restoreState(settings.value("resTableSplitterSizes").toByteArray());
|
||||
textBrowser->setReadOnly(TRUE);
|
||||
textBrowser->setUndoRedoEnabled(FALSE);
|
||||
textBrowser->setOpenLinks(FALSE);
|
||||
// signals and slots connections
|
||||
connect(textBrowser, SIGNAL(anchorClicked(const QUrl &)),
|
||||
this, SLOT(linkWasClicked(const QUrl &)));
|
||||
|
||||
}
|
||||
|
||||
void ResTable::saveSizeState()
|
||||
@ -287,7 +294,7 @@ void ResTable::setDocSource(RefCntr<DocSequence> nsource)
|
||||
if (m_model)
|
||||
m_model->setDocSource(nsource);
|
||||
if (m_pager)
|
||||
m_pager->setDocSource(nsource);
|
||||
m_pager->setDocSource(nsource, 0);
|
||||
if (textBrowser)
|
||||
textBrowser->clear();
|
||||
}
|
||||
@ -323,3 +330,32 @@ void ResTable::readDocSource()
|
||||
{
|
||||
m_model->setDocSource(m_model->m_source);
|
||||
}
|
||||
|
||||
void ResTable::linkWasClicked(const QUrl &url)
|
||||
{
|
||||
QString s = url.toString();
|
||||
const char *ascurl = s.toAscii();
|
||||
LOGDEB(("ResTable::linkWasClicked: [%s]\n", ascurl));
|
||||
|
||||
int i = atoi(ascurl+1) -1;
|
||||
int what = ascurl[0];
|
||||
switch (what) {
|
||||
case 'P':
|
||||
case 'E':
|
||||
{
|
||||
Rcl::Doc doc;
|
||||
if (!m_model->getdoc(i, doc)) {
|
||||
LOGERR(("ResTable::linkWasClicked: can't get doc for %d\n", i));
|
||||
return;
|
||||
}
|
||||
if (what == 'P')
|
||||
emit docPreviewClicked(i, doc, 0);
|
||||
else
|
||||
emit docEditClicked(doc);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
LOGERR(("ResList::linkWasClicked: bad link [%s]\n", ascurl));
|
||||
break;// ??
|
||||
}
|
||||
}
|
||||
|
||||
@ -58,6 +58,7 @@ private:
|
||||
};
|
||||
|
||||
class ResTablePager;
|
||||
class QUrl;
|
||||
|
||||
class ResTable : public QWidget, public Ui::ResTable
|
||||
{
|
||||
@ -84,6 +85,11 @@ public slots:
|
||||
virtual void resetSource();
|
||||
virtual void readDocSource();
|
||||
virtual void onSortDataChanged(DocSeqSortSpec);
|
||||
virtual void linkWasClicked(const QUrl&);
|
||||
|
||||
signals:
|
||||
void docPreviewClicked(int, Rcl::Doc, int);
|
||||
void docEditClicked(Rcl::Doc);
|
||||
|
||||
friend class ResTablePager;
|
||||
private:
|
||||
|
||||
@ -23,10 +23,10 @@ public:
|
||||
{
|
||||
m_hiliter = ptr;
|
||||
}
|
||||
void setDocSource(RefCntr<DocSequence> src)
|
||||
void setDocSource(RefCntr<DocSequence> src, int winfirst = -1)
|
||||
{
|
||||
m_pagesize = m_newpagesize;
|
||||
m_winfirst = -1;
|
||||
m_winfirst = winfirst;
|
||||
m_hasNext = false;
|
||||
m_docSource = src;
|
||||
m_respage.clear();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user