diff --git a/kcollectd/gui.cc b/kcollectd/gui.cc index a344f47..df3e442 100644 --- a/kcollectd/gui.cc +++ b/kcollectd/gui.cc @@ -59,12 +59,14 @@ #include "drag_pixmap.xpm" -#ifndef RRD_BASEDIR +/*#ifndef RRD_BASEDIR #define RRD_BASEDIR "/var/lib/collectd/rrd" -#endif +#endif */ #define I18N_NOOP(text) text +extern QString rrd_path; + static struct { KStandardAction::StandardAction actionType; const char *name; @@ -372,7 +374,7 @@ KCollectdGui::KCollectdGui(QWidget *parent) menuBar()->addMenu(helpMenu()); // build rrd-tree - get_rrds(RRD_BASEDIR, listview()); + get_rrds(rrd_path.toUtf8().data(), listview()); } KCollectdGui::~KCollectdGui() {} diff --git a/kcollectd/kcollectd.cc b/kcollectd/kcollectd.cc index cccd3df..1f3b439 100644 --- a/kcollectd/kcollectd.cc +++ b/kcollectd/kcollectd.cc @@ -37,6 +37,8 @@ #include "gui.h" +QString rrd_path = ""; + int main(int argc, char **argv) { using namespace boost::filesystem; @@ -64,9 +66,18 @@ int main(int argc, char **argv) { parser.addVersionOption(); parser.addPositionalArgument("+[file]", i18n("A kcollectd-file to open")); + parser.addPositionalArgument("path", i18n("rrd path")); parser.process(application); const QStringList args = parser.positionalArguments(); + if (args.size() >= 2) + { + rrd_path = args.at(1); + } + else + { + rrd_path = "/var/lib/collectd/rrd"; + } try { if (application.isSessionRestored()) { kRestoreMainWindows(); @@ -81,7 +92,7 @@ int main(int argc, char **argv) { } catch (const std::exception &e) { KMessageBox::error(0, i18n("Failed to read collectd-structure at \'%1\'\n" "Terminating.", - QString(RRD_BASEDIR))); + rrd_path)); exit(1); }