From 99ec1aee9360d38e53bfc068f3c2fa529494e80e Mon Sep 17 00:00:00 2001 From: dockes Date: Mon, 18 Dec 2006 16:45:52 +0000 Subject: [PATCH] qt4 --- src/qt4gui/recoll.pro.in | 9 +++++--- src/qtgui/viewaction.ui | 8 +++++++- src/qtgui/viewaction_w.cpp | 42 ++++++++++++++++++++++++++++++-------- src/qtgui/viewaction_w.h | 3 ++- 4 files changed, 48 insertions(+), 14 deletions(-) diff --git a/src/qt4gui/recoll.pro.in b/src/qt4gui/recoll.pro.in index 29ce579d..7bc9d259 100644 --- a/src/qt4gui/recoll.pro.in +++ b/src/qt4gui/recoll.pro.in @@ -12,7 +12,8 @@ HEADERS += \ ../qtgui/sort_w.h \ ../qtgui/searchclause_w.h \ ../qtgui/ssearch_w.h \ - ../qtgui/uiprefs_w.h + ../qtgui/uiprefs_w.h \ + ../qtgui/viewaction_w.h SOURCES += \ @@ -28,7 +29,8 @@ SOURCES += \ ../qtgui/sort_w.cpp \ ../qtgui/searchclause_w.cpp \ ../qtgui/ssearch_w.cpp \ - ../qtgui/uiprefs_w.cpp + ../qtgui/uiprefs_w.cpp \ + ../qtgui/viewaction_w.cpp FORMS = \ advsearch.ui \ @@ -37,7 +39,8 @@ FORMS = \ rclmain.ui \ sort.ui \ ssearchb.ui \ - uiprefs.ui + uiprefs.ui \ + viewaction.ui RESOURCES = recoll.qrc diff --git a/src/qtgui/viewaction.ui b/src/qtgui/viewaction.ui index 87509747..a1e556bd 100644 --- a/src/qtgui/viewaction.ui +++ b/src/qtgui/viewaction.ui @@ -59,14 +59,20 @@ Sunken + + Manual + Extended + + true + true - AllColumns + LastColumn Select one or several file types, then click Change Action to modify the program used to open them diff --git a/src/qtgui/viewaction_w.cpp b/src/qtgui/viewaction_w.cpp index b1da21e2..49eb9baf 100644 --- a/src/qtgui/viewaction_w.cpp +++ b/src/qtgui/viewaction_w.cpp @@ -1,5 +1,5 @@ #ifndef lint -static char rcsid[] = "@(#$Id: viewaction_w.cpp,v 1.2 2006-12-18 12:05:29 dockes Exp $ (C) 2006 J.F.Dockes"; +static char rcsid[] = "@(#$Id: viewaction_w.cpp,v 1.3 2006-12-18 16:45:52 dockes Exp $ (C) 2006 J.F.Dockes"; #endif /* * This program is free software; you can redistribute it and/or modify @@ -23,12 +23,18 @@ static char rcsid[] = "@(#$Id: viewaction_w.cpp,v 1.2 2006-12-18 12:05:29 dockes using namespace std; -#include -#include -#include #include +#include + +#if (QT_VERSION < 0x040000) #include -#include +#else +#include +#define QListView Q3ListView +#define QListViewItem Q3ListViewItem +#define QListViewItemIterator Q3ListViewItemIterator +#endif + #include #include @@ -42,13 +48,24 @@ void ViewAction::init() { connect(closePB, SIGNAL(clicked()), this, SLOT(close())); connect(chgActPB, SIGNAL(clicked()), this, SLOT(editAction())); - connect(actionsLV,SIGNAL(doubleClicked(QListViewItem *,const QPoint &,int)), + connect(actionsLV, +#if (QT_VERSION < 0x040000) + SIGNAL(doubleClicked(QListViewItem *, const QPoint &, int)), +#else + SIGNAL(doubleClicked(Q3ListViewItem *, const QPoint &, int)), +#endif this, SLOT(editAction())); + + // Note: could get the column width setting to work in qt4 + actionsLV->setColumnWidthMode(0, QListView::Manual); + actionsLV->setColumnWidth(0, 300); + actionsLV->setColumnWidthMode(1, QListView::Manual); + actionsLV->setColumnWidth(1, 120); + fillLists(); - actionsLV->setColumnWidth(0, 150); - actionsLV->setColumnWidth(1, 150); - resize(550,350); + resize(QSize(450, 250).expandedTo(minimumSizeHint()) ); } + void ViewAction::fillLists() { actionsLV->clear(); @@ -63,6 +80,13 @@ void ViewAction::fillLists() } +// To avoid modifying the listview state from the dbl click signal, as +// advised by the manual +void ViewAction::listDblClicked() +{ + QTimer::singleShot(0, this, SLOT(editAction())); +} + void ViewAction::editAction() { QString action0; diff --git a/src/qtgui/viewaction_w.h b/src/qtgui/viewaction_w.h index bcb84ffd..bfd25e58 100644 --- a/src/qtgui/viewaction_w.h +++ b/src/qtgui/viewaction_w.h @@ -1,6 +1,6 @@ #ifndef _VIEWACTION_W_H_INCLUDED_ #define _VIEWACTION_W_H_INCLUDED_ -/* @(#$Id: viewaction_w.h,v 1.2 2006-12-18 12:05:29 dockes Exp $ (C) 2006 J.F.Dockes */ +/* @(#$Id: viewaction_w.h,v 1.3 2006-12-18 16:45:52 dockes Exp $ (C) 2006 J.F.Dockes */ /* * 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 @@ -63,6 +63,7 @@ public: public slots: virtual void editAction(); + virtual void listDblClicked(); private: virtual void init();