add menu entry to start browser on html doc
This commit is contained in:
+71
-2
@@ -1,5 +1,5 @@
|
||||
#ifndef lint
|
||||
static char rcsid[] = "@(#$Id: main.cpp,v 1.27 2005-12-16 10:06:56 dockes Exp $ (C) 2005 J.F.Dockes";
|
||||
static char rcsid[] = "@(#$Id: main.cpp,v 1.28 2006-01-04 11:33:44 dockes Exp $ (C) 2005 J.F.Dockes";
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
@@ -26,6 +26,7 @@ using Rcl::AdvSearchData;
|
||||
#include "wipedir.h"
|
||||
#include "rclinit.h"
|
||||
#include "history.h"
|
||||
#include "debuglog.h"
|
||||
|
||||
#include "recollmain.h"
|
||||
|
||||
@@ -39,6 +40,7 @@ string iconsdir;
|
||||
RclDHistory *history;
|
||||
static string dbdir;
|
||||
static RecollMain *mainWindow;
|
||||
static string recollsharedir;
|
||||
|
||||
/////////////////////////
|
||||
// Global variables for user preferences. These are set in the user preference
|
||||
@@ -51,6 +53,7 @@ QString prefs_queryStemLang;
|
||||
int prefs_mainwidth;
|
||||
int prefs_mainheight;
|
||||
bool prefs_ssall;
|
||||
QString prefs_htmlBrowser;
|
||||
|
||||
#define SETTING_RW(var, nm, tp, def) \
|
||||
if (writing) { \
|
||||
@@ -134,7 +137,7 @@ int main( int argc, char ** argv )
|
||||
a.installTranslator( &qt );
|
||||
|
||||
// Translations for Recoll
|
||||
string recollsharedir = path_cat(recollprefix, "share");
|
||||
recollsharedir = path_cat(recollprefix, "share/recoll");
|
||||
string translatdir = path_cat(recollsharedir, "translations");
|
||||
QTranslator translator( 0 );
|
||||
// QTextCodec::locale() returns $LANG
|
||||
@@ -220,3 +223,69 @@ int main( int argc, char ** argv )
|
||||
w.show();
|
||||
return a.exec();
|
||||
}
|
||||
|
||||
const static char *htmlbrowserlist =
|
||||
"opera konqueror firefox mozilla netscape";
|
||||
// Search for and launch an html browser for the documentation. If the
|
||||
// user has set a preference, we use it directly instead of guessing.
|
||||
bool startHelpBrowser(const string &iurl)
|
||||
{
|
||||
string url;
|
||||
if (iurl.empty()) {
|
||||
url = path_cat(recollsharedir, "doc");
|
||||
url = path_cat(url, "usermanual.html");
|
||||
url = string("file://") + url;
|
||||
} else
|
||||
url = iurl;
|
||||
|
||||
|
||||
// If the user set a preference with an absolute path then things are
|
||||
// simple
|
||||
if (!prefs_htmlBrowser.isEmpty() && prefs_htmlBrowser.find('/') != -1) {
|
||||
if (access(prefs_htmlBrowser.ascii(), X_OK) != 0) {
|
||||
LOGERR(("startHelpBrowser: %s not found or not executable\n",
|
||||
prefs_htmlBrowser.ascii()));
|
||||
}
|
||||
string cmd = string(prefs_htmlBrowser.ascii()) + " " + url + "&";
|
||||
if (system(cmd.c_str()) == 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
string searched;
|
||||
if (prefs_htmlBrowser.isEmpty()) {
|
||||
searched = htmlbrowserlist;
|
||||
} else {
|
||||
searched = prefs_htmlBrowser.ascii();
|
||||
}
|
||||
list<string> blist;
|
||||
stringToTokens(searched, blist, " ");
|
||||
|
||||
const char *path = getenv("PATH");
|
||||
if (path == 0)
|
||||
path = "/bin:/usr/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/local/bin";
|
||||
|
||||
list<string> pathl;
|
||||
stringToTokens(path, pathl, ":");
|
||||
|
||||
// For each browser name, search path and exec/stop if found
|
||||
for (list<string>::const_iterator bit = blist.begin();
|
||||
bit != blist.end(); bit++) {
|
||||
for (list<string>::const_iterator pit = pathl.begin();
|
||||
pit != pathl.end(); pit++) {
|
||||
string exefile = path_cat(*pit, *bit);
|
||||
LOGDEB1(("startHelpBrowser: trying %s\n", exefile.c_str()));
|
||||
if (access(exefile.c_str(), X_OK) == 0) {
|
||||
string cmd = exefile + " " + url + "&";
|
||||
if (system(cmd.c_str()) == 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LOGERR(("startHelpBrowser: no html browser found. Looked for: %s\n",
|
||||
searched.c_str()));
|
||||
return false;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,6 +1,6 @@
|
||||
#ifndef _RECOLL_H_INCLUDED_
|
||||
#define _RECOLL_H_INCLUDED_
|
||||
/* @(#$Id: recoll.h,v 1.9 2005-12-15 14:39:57 dockes Exp $ (C) 2004 J.F.Dockes */
|
||||
/* @(#$Id: recoll.h,v 1.10 2006-01-04 11:33:44 dockes Exp $ (C) 2004 J.F.Dockes */
|
||||
#include <string>
|
||||
#include <list>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
// Misc declarations in need of sharing between the UI files
|
||||
extern void recollCleanup();
|
||||
extern bool maybeOpenDb(std::string &reason);
|
||||
extern bool startHelpBrowser(const string& url = "");
|
||||
|
||||
extern RclConfig *rclconfig;
|
||||
extern Rcl::Db *rcldb;
|
||||
|
||||
+236
-7
@@ -19,7 +19,12 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>. Starting indexation</source>
|
||||
<translation>. Démarrage de l'indexation</translation>
|
||||
<translation type="obsolete">. Démarrage de l'indexation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>.
|
||||
Click Cancel if you want to edit the configuration file before indexation starts, or Ok to let it proceed.</source>
|
||||
<translation>Cliquer Annuler pour pouvoir editer le fichier de configuration avant que l'indexation ne demarre, ou Ok pour continuer.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -85,7 +90,7 @@
|
||||
<name>RecollMain</name>
|
||||
<message>
|
||||
<source>recoll</source>
|
||||
<translation>recoll</translation>
|
||||
<translation type="obsolete">recoll</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
@@ -145,11 +150,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
<translation type="obsolete">Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Doc History</source>
|
||||
<translation>Historique documents</translation>
|
||||
<translation type="obsolete">Historique documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing in progress</source>
|
||||
@@ -165,7 +170,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Displaying results starting at index %1 (maximum set size %2)</b></p></source>
|
||||
<translation><b>Affichage des résultats à partir de l'indice %1 (taille maximum estimée %2)</b></p></translation>
|
||||
<translation type="obsolete"><b>Affichage des résultats à partir de l'indice %1 (taille maximum estimée %2)</b></p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot retrieve document info from database</source>
|
||||
@@ -187,6 +192,214 @@
|
||||
<source>Can't create preview window</source>
|
||||
<translation>Impossible de créer la fenetre de visualisation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Recoll</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Erase search entry</source>
|
||||
<translation>Effacer l'entrée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Start query</source>
|
||||
<translation>Démarrer la recherche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&All terms</source>
|
||||
<translation>&Tous </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+A</source>
|
||||
<translation>Alt+T</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do documents have to contain all terms in query?</source>
|
||||
<translation>Est-ce que tous les termes doivent se trouver dans chaque document ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If this is set, each returned document will contain all the terms in the query. Else documents will be ordered by relevance, but may not contain all the terms.</source>
|
||||
<translation>Détermine si les documents doivent chacun contenir tous les termes, ou si ils seront simplement triés par pertinence, avec possibilité d'absence de certains termes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter search terms here</source>
|
||||
<translation>Entrer les termes à chercher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Preferences</source>
|
||||
<translation>&Preferences</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search tools</source>
|
||||
<translation>Outils de recherche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Result list</source>
|
||||
<translation>Liste de résultats</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toolbar_2</source>
|
||||
<translation>Toolbar_2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Start &Indexing</source>
|
||||
<translation>Démarrer l'&Indexation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&About Recoll</source>
|
||||
<translation>&A propos de Recoll</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Document &History</source>
|
||||
<translation>&Historique des documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Document History</source>
|
||||
<translation>Historique des documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Search</source>
|
||||
<translation>Recherche avancée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Advanced Search</source>
|
||||
<translation>Recherche &Avancée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced/complex Search</source>
|
||||
<translation>Recherche Avancée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Sort parameters</source>
|
||||
<translation>Paramètres pour le &tri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sort parameters</source>
|
||||
<translation>Paramètres pour le tri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next page of results</source>
|
||||
<translation>Page suivante</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Previous page of results</source>
|
||||
<translation>Page précédente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Query configuration</source>
|
||||
<translation>Configuration pour la &recherche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Displaying results starting at index %1 (maximum set size %2)</b></p>
|
||||
</source>
|
||||
<translation><b>Affichage des résultats à partir de l'index %1 (nombre maximum %2)</b></p>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sort criteria</source>
|
||||
<translation>Critères de tri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User interface preferences</source>
|
||||
<translation>Préférences pour l'interface utilisateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User manual</source>
|
||||
<translation>Manuel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&User manual</source>
|
||||
<translation>&Manuel</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SortForm</name>
|
||||
<message>
|
||||
<source>Sort Criteria</source>
|
||||
<translation>Critères de tri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sort the</source>
|
||||
<translation>Trier les</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>most relevant results by:</source>
|
||||
<translation>résultats les plus pertinents en fonction de:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Descending</source>
|
||||
<translation>Décroissant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset</source>
|
||||
<translation>Réinitialiser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Fermer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>UIPrefsDialog</name>
|
||||
<message>
|
||||
<source>MyDialog</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User interface</source>
|
||||
<translation>Interface utilisateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of entries in a result page</source>
|
||||
<translation>Nombre de résultats par page</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Result list font</source>
|
||||
<translation>Fonte pour la liste de résultats</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Helvetica-10</source>
|
||||
<translation>Helvetica-10</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opens a dialog to select the result list font</source>
|
||||
<translation>Ouvre une fenetre permettant de changer la fonte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show document type icons in result list</source>
|
||||
<translation>Afficher les icones dans la liste de résultats</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset</source>
|
||||
<translation>Réinitialiser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Resets the result list font to the system default</source>
|
||||
<translation>Réinitialiser la fonte à la valeur par défaut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search parameters</source>
|
||||
<translation>Paramètres pour la recherche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stemming language</source>
|
||||
<translation>Langue pour l'expansion des termes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&OK</source>
|
||||
<translation>&OK</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Apply changes</source>
|
||||
<translation>Appliquer les modifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Cancel</source>
|
||||
<translation>&Annuler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Discard changes</source>
|
||||
<translation>Abandonner les modifications</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>advsearch</name>
|
||||
@@ -224,11 +437,11 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>--------></source>
|
||||
<translation>--------></translation>
|
||||
<translation type="obsolete">--------></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><---------</source>
|
||||
<translation><---------</translation>
|
||||
<translation type="obsolete"><---------</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ignored file types</source>
|
||||
@@ -250,5 +463,21 @@
|
||||
<source>Dismiss</source>
|
||||
<translation>Annuler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All ----></source>
|
||||
<translation>Tout ----></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sel -----></source>
|
||||
<translation>Sel -----></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><----- Sel</source>
|
||||
<translation><----- Sel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><----- All</source>
|
||||
<translation><----- Tout</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
+19
-1
@@ -158,7 +158,6 @@
|
||||
<cstring>MenuBar</cstring>
|
||||
</property>
|
||||
<item text="&File" name="fileMenu">
|
||||
<separator/>
|
||||
<action name="fileStart_IndexingAction"/>
|
||||
<separator/>
|
||||
<action name="fileExitAction"/>
|
||||
@@ -173,6 +172,7 @@
|
||||
</item>
|
||||
<separator/>
|
||||
<item text="&Help" name="Help">
|
||||
<action name="userManualAction"/>
|
||||
<separator/>
|
||||
<action name="helpAbout_RecollAction"/>
|
||||
</item>
|
||||
@@ -242,6 +242,17 @@
|
||||
<string>&About Recoll</string>
|
||||
</property>
|
||||
</action>
|
||||
<action>
|
||||
<property name="name">
|
||||
<cstring>userManualAction</cstring>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>User manual</string>
|
||||
</property>
|
||||
<property name="menuText">
|
||||
<string>&User manual</string>
|
||||
</property>
|
||||
</action>
|
||||
<action>
|
||||
<property name="name">
|
||||
<cstring>toolsDoc_HistoryAction</cstring>
|
||||
@@ -382,6 +393,12 @@
|
||||
<receiver>RecollMain</receiver>
|
||||
<slot>showAboutDialog()</slot>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>userManualAction</sender>
|
||||
<signal>activated()</signal>
|
||||
<receiver>RecollMain</receiver>
|
||||
<slot>startManual()</slot>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>toolsDoc_HistoryAction</sender>
|
||||
<signal>activated()</signal>
|
||||
@@ -474,6 +491,7 @@
|
||||
<slot>showAdvSearchDialog()</slot>
|
||||
<slot>showSortDialog()</slot>
|
||||
<slot>showAboutDialog()</slot>
|
||||
<slot>startManual()</slot>
|
||||
<slot>showDocHistory()</slot>
|
||||
<slot>searchTextChanged( const QString & text )</slot>
|
||||
<slot>sortDataChanged( int cnt, RclSortSpec spec )</slot>
|
||||
|
||||
@@ -776,6 +776,11 @@ void RecollMain::showAboutDialog()
|
||||
QMessageBox::information(this, tr("About Recoll"), vstring.c_str());
|
||||
}
|
||||
|
||||
void RecollMain::startManual()
|
||||
{
|
||||
startHelpBrowser();
|
||||
}
|
||||
|
||||
|
||||
void RecollMain::showDocHistory()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user