[mythtv] [PATCH] Add support for specifying directory to use
forconfiguration
Nathan Neulinger
nneul at umr.edu
Sun Feb 13 20:05:30 UTC 2005
> It can be a static routine, so you just call it as
> MythContext::GetConfDir() instead of gContext->GetConfDir(). Then you
> don't have to wait for gContext to be created.
> While you're at it, can you mention something about MYTHTVDIR as well?
> That's the one I mentioned for the prefix directory -- it gets used in
> the constructor for MythContextPrivate. I had no idea that existed
> until I went in to add it, so it would be nice to have both of these
> documented.
Updated patch attached... Should address everything that's been
brought up about the first one.
-- Nathan
------------------------------------------------------------
Nathan Neulinger EMail: nneul at umr.edu
University of Missouri - Rolla Phone: (573) 341-6679
UMR Information Technology Fax: (573) 341-4216
-------------- next part --------------
Index: libs/libmyth/mythcontext.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmyth/mythcontext.cpp,v
retrieving revision 1.152
diff -u -r1.152 mythcontext.cpp
--- libs/libmyth/mythcontext.cpp 11 Feb 2005 01:27:43 -0000 1.152
+++ libs/libmyth/mythcontext.cpp 13 Feb 2005 19:55:08 -0000
@@ -288,7 +288,7 @@
bool MythContextPrivate::WriteSettingsFile(const DatabaseParams ¶ms,
bool overwrite)
{
- QString path = QDir::homeDirPath() + "/.mythtv/mysql.txt";
+ QString path = MythContext::GetConfDir() + "/mysql.txt";
QFile * f = new QFile(path);
if (!overwrite && f->exists())
@@ -296,14 +296,14 @@
return false;
}
- QString dirpath = QDir::homeDirPath() + "/.mythtv";
+ QString dirpath = MythContext::GetConfDir();
QDir createDir(dirpath);
if (!createDir.exists())
{
if (!createDir.mkdir(dirpath, true))
{
- VERBOSE(VB_IMPORTANT, "Could not create ~/.mythtv");
+ VERBOSE(VB_IMPORTANT, QString("Could not create %1").arg(dirpath));
return false;
}
}
@@ -728,6 +728,24 @@
return d->m_installprefix;
}
+QString MythContext::GetConfDir(void)
+{
+ char *tmp_confdir = getenv("MYTHCONFDIR");
+ QString dir;
+ if (tmp_confdir)
+ {
+ dir = QString(tmp_confdir);
+ }
+ else
+ {
+ dir = QDir::homeDirPath() + "/.mythtv";
+ }
+
+ VERBOSE(VB_ALL, QString("Using conf dir = %1")
+ .arg(dir));
+ return dir;
+}
+
QString MythContext::GetShareDir(void)
{
return d->m_installprefix + "/share/mythtv/";
@@ -881,7 +899,7 @@
void MythContext::ClearOldImageCache(void)
{
- QString cachedirname = QDir::homeDirPath() + "/.mythtv/themecache/";
+ QString cachedirname = MythContext::GetConfDir() + "/themecache/";
d->themecachedir = cachedirname + GetSetting("Theme") + "." +
QString::number(d->m_screenwidth) + "." +
@@ -925,7 +943,7 @@
void MythContext::RemoveCacheDir(const QString &dirname)
{
- QString cachedirname = QDir::homeDirPath() + "/.mythtv/themecache/";
+ QString cachedirname = MythContext::GetConfDir() + "/themecache/";
if (!dirname.startsWith(cachedirname))
return;
@@ -1151,7 +1169,7 @@
QString MythContext::FindThemeDir(const QString &themename)
{
- QString testdir = QDir::homeDirPath() + "/.mythtv/themes/" + themename;
+ QString testdir = MythContext::GetConfDir() + "/themes/" + themename;
QDir dir(testdir);
if (dir.exists())
Index: libs/libmyth/mythcontext.h
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmyth/mythcontext.h,v
retrieving revision 1.180
diff -u -r1.180 mythcontext.h
--- libs/libmyth/mythcontext.h 31 Jan 2005 17:15:16 -0000 1.180
+++ libs/libmyth/mythcontext.h 13 Feb 2005 19:55:08 -0000
@@ -155,6 +155,7 @@
QString GetInstallPrefix(void);
QString GetShareDir(void);
QString GetLibraryDir(void);
+ static QString GetConfDir(void);
QString GetFilePrefix(void);
Index: libs/libmyth/mythdialogs.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmyth/mythdialogs.cpp,v
retrieving revision 1.102
diff -u -r1.102 mythdialogs.cpp
--- libs/libmyth/mythdialogs.cpp 8 Feb 2005 08:38:23 -0000 1.102
+++ libs/libmyth/mythdialogs.cpp 13 Feb 2005 19:55:08 -0000
@@ -45,7 +45,7 @@
static void *SpawnLirc(void *param)
{
MythMainWindow *main_window = (MythMainWindow *)param;
- QString config_file = QDir::homeDirPath() + "/.mythtv/lircrc";
+ QString config_file = MythContext::GetConfDir() + "/lircrc";
QString program("mythtv");
LircClient *cl = new LircClient(main_window);
if (!cl->Init(config_file, program))
@@ -59,7 +59,7 @@
static void *SpawnJoystickMenu(void *param)
{
MythMainWindow *main_window = (MythMainWindow *)param;
- QString config_file = QDir::homeDirPath() + "/.mythtv/joystickmenurc";
+ QString config_file = MythContext::GetConfDir() + "/joystickmenurc";
JoystickMenuClient *js = new JoystickMenuClient(main_window);
if (!js->Init(config_file))
js->Process();
Index: libs/libmyth/oldsettings.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmyth/oldsettings.cpp,v
retrieving revision 1.5
diff -u -r1.5 oldsettings.cpp
--- libs/libmyth/oldsettings.cpp 20 Jan 2004 07:12:17 -0000 1.5
+++ libs/libmyth/oldsettings.cpp 13 Feb 2005 19:55:08 -0000
@@ -10,6 +10,7 @@
#include "oldsettings.h"
+#include "mythcontext.h"
#include <qstring.h>
#include <fstream>
#include <cstdlib>
@@ -120,7 +121,7 @@
if (ReadSettings(setname))
result = true;
- setname = QDir::homeDirPath() + "/.mythtv/" + filename;
+ setname = MythContext::GetConfDir() + "/" + filename;
if (ReadSettings(setname))
result = true;
Index: libs/libmyth/themedmenu.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmyth/themedmenu.cpp,v
retrieving revision 1.102
diff -u -r1.102 themedmenu.cpp
--- libs/libmyth/themedmenu.cpp 11 Feb 2005 02:37:52 -0000 1.102
+++ libs/libmyth/themedmenu.cpp 13 Feb 2005 19:55:08 -0000
@@ -2306,7 +2306,7 @@
QString ThemedMenuPrivate::findMenuFile(const QString &menuname)
{
- QString testdir = QDir::homeDirPath() + "/.mythtv/" + menuname;
+ QString testdir = MythContext::GetConfDir() + "/" + menuname;
QFile file(testdir);
if (file.exists())
return testdir;
Index: libs/libmythtv/osd.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/osd.cpp,v
retrieving revision 1.111
diff -u -r1.111 osd.cpp
--- libs/libmythtv/osd.cpp 10 Feb 2005 07:33:01 -0000 1.111
+++ libs/libmythtv/osd.cpp 13 Feb 2005 19:55:08 -0000
@@ -246,7 +246,7 @@
QString OSD::FindTheme(QString name)
{
- QString testdir = QDir::homeDirPath() + "/.mythtv/osd/" + name;
+ QString testdir = MythContext::GetConfDir() + "/osd/" + name;
QDir dir(testdir);
if (dir.exists())
@@ -267,7 +267,7 @@
TTFFont *OSD::LoadFont(QString name, int size)
{
- QString fullname = QDir::homeDirPath() + "/.mythtv/" + name;
+ QString fullname = MythContext::GetConfDir() + "/" + name;
TTFFont *font = new TTFFont((char *)fullname.ascii(), size, vid_width,
vid_height, hmult);
Index: libs/libmythtv/videosource.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/videosource.cpp,v
retrieving revision 1.66
diff -u -r1.66 videosource.cpp
--- libs/libmythtv/videosource.cpp 11 Feb 2005 19:06:14 -0000 1.66
+++ libs/libmythtv/videosource.cpp 13 Feb 2005 19:55:08 -0000
@@ -393,8 +393,8 @@
"list of available channels"));
pdlg.show();
- QString filename = QString("%1/.mythtv/%2.xmltv")
- .arg(QDir::homeDirPath()).arg(parent.getSourceName());
+ QString filename = QString("%1/%2.xmltv")
+ .arg(MythContext::GetConfDir()).arg(parent.getSourceName());
QString command = QString("tv_grab_uk --config-file '%1' --configure --retry-limit %2 --retry-delay %3 --postalcode %4 --provider %5 --auto-new-channels add")
.arg(filename)
.arg(2)
@@ -448,8 +448,8 @@
if (grabber == "tv_grab_de") {
command = "tv_grab_de --configure";
} else {
- QString filename = QString("%1/.mythtv/%2.xmltv")
- .arg(QDir::homeDirPath()).arg(parent.getSourceName());
+ QString filename = QString("%1/%2.xmltv")
+ .arg(MythContext::GetConfDir()).arg(parent.getSourceName());
command = QString("%1 --config-file '%2' --configure")
.arg(grabber).arg(filename);
Index: libs/libmythui/mythmainwindow.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythui/mythmainwindow.cpp,v
retrieving revision 1.5
diff -u -r1.5 mythmainwindow.cpp
--- libs/libmythui/mythmainwindow.cpp 11 Sep 2004 15:31:37 -0000 1.5
+++ libs/libmythui/mythmainwindow.cpp 13 Feb 2005 19:55:08 -0000
@@ -30,7 +30,7 @@
static void *SpawnLirc(void *param)
{
MythMainWindow *main_window = (MythMainWindow *)param;
- QString config_file = QDir::homeDirPath() + "/.mythtv/lircrc";
+ QString config_file = MythContext::GetConfDir() + "/lircrc";
QString program("mythtv");
LircClient *cl = new LircClient(main_window);
if (!cl->Init(config_file, program))
Index: libs/libmythui/oldsettings.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythui/oldsettings.cpp,v
retrieving revision 1.1
diff -u -r1.1 oldsettings.cpp
--- libs/libmythui/oldsettings.cpp 24 Aug 2004 05:03:50 -0000 1.1
+++ libs/libmythui/oldsettings.cpp 13 Feb 2005 19:55:08 -0000
@@ -120,7 +120,7 @@
if (ReadSettings(setname))
result = true;
- setname = QDir::homeDirPath() + "/.mythtv/" + filename;
+ setname = MythContext::GetConfDir() + "/" + filename;
if (ReadSettings(setname))
result = true;
Index: libs/libmythui/themedmenu.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythui/themedmenu.cpp,v
retrieving revision 1.5
diff -u -r1.5 themedmenu.cpp
--- libs/libmythui/themedmenu.cpp 21 Jan 2005 06:50:19 -0000 1.5
+++ libs/libmythui/themedmenu.cpp 13 Feb 2005 19:55:08 -0000
@@ -1956,7 +1956,7 @@
QString ThemedMenuPrivate::findMenuFile(const QString &menuname)
{
- QString testdir = QDir::homeDirPath() + "/.mythtv/" + menuname;
+ QString testdir = MythContext::GetConfDir() + "/" + menuname;
QFile file(testdir);
if (file.exists())
return testdir;
Index: programs/mythfilldatabase/filldata.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/programs/mythfilldatabase/filldata.cpp,v
retrieving revision 1.156
diff -u -r1.156 filldata.cpp
--- programs/mythfilldatabase/filldata.cpp 9 Feb 2005 21:35:13 -0000 1.156
+++ programs/mythfilldatabase/filldata.cpp 13 Feb 2005 19:55:09 -0000
@@ -1861,7 +1861,7 @@
static QString SetupIconCacheDirectory()
{
- QString fileprefix = QDir::homeDirPath() + "/.mythtv";
+ QString fileprefix = MythContext::GetConfDir();
QDir dir(fileprefix);
if (!dir.exists())
@@ -2518,7 +2518,7 @@
QString filename = QString(tempfilename);
QString home = QDir::homeDirPath();
- QString configfile = QString("%1/.mythtv/%2.xmltv").arg(home)
+ QString configfile = QString("%1/%2.xmltv").arg(MythContext::GetConfDir())
.arg(source.name);
QString command;
Index: programs/mythfrontend/main.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/programs/mythfrontend/main.cpp,v
retrieving revision 1.183
diff -u -r1.183 main.cpp
--- programs/mythfrontend/main.cpp 9 Feb 2005 16:45:34 -0000 1.183
+++ programs/mythfrontend/main.cpp 13 Feb 2005 19:55:09 -0000
@@ -869,7 +869,11 @@
" of all,none,quiet,record,playback,channel," << endl <<
" osd,file,schedule,network,commflag,audio,libav" << endl <<
"--version Version information" << endl <<
- "<plugin> Initialize and run this plugin" << endl;
+ "<plugin> Initialize and run this plugin" << endl <<
+ endl <<
+ "Environment Variables:" << endl <<
+ "$MYTHTVDIR Set the installation prefix" << endl <<
+ "$MYTHCONFDIR Set the config dir (instead of ~/.mythtv)" << endl;
return -1;
}
}
@@ -901,7 +905,7 @@
if (signal(SIGPIPE, SIG_IGN) == SIG_ERR)
cerr << "Unable to ignore SIGPIPE\n";
- QString fileprefix = QDir::homeDirPath() + "/.mythtv";
+ QString fileprefix = MythContext::GetConfDir();
QDir dir(fileprefix);
if (!dir.exists())
Index: setup/main.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/setup/main.cpp,v
retrieving revision 1.52
diff -u -r1.52 main.cpp
--- setup/main.cpp 4 Feb 2005 19:36:04 -0000 1.52
+++ setup/main.cpp 13 Feb 2005 19:55:09 -0000
@@ -126,7 +126,7 @@
gContext->SetSetting("Theme", "blue");
gContext->LoadQtConfig();
- QString fileprefix = QDir::homeDirPath() + "/.mythtv";
+ QString fileprefix = MythContext::GetConfDir();
QDir dir(fileprefix);
if (!dir.exists())
More information about the mythtv-dev
mailing list