TARGET = fosdem-schedule
DESTDIR = ../bin
QT += sql xml network dbus
+CONFIG(maemo5) {
+ QT += maemo5
+}
# module dependencies
LIBS += -L$$DESTDIR -lgui -lmvc -lsql
* fosdem-schedule. If not, see <http://www.gnu.org/licenses/>.
*/
#include "application.h"
+#include "errormessage.h"
#include <ormrecord.h>
try {
return QApplication::notify(receiver, event);
} catch (OrmException& e) {
- qWarning() << "UNCAUGHT EXCEPTION: OrmException, text= " << e.text();
+ error_message("UNCAUGHT OrmException: " + e.text());
return false;
} catch (...) {
- qWarning() << "UNCAUGHT EXCEPTION: unknown";
+ error_message("UNCAUGHT EXCEPTION: unknown");
return false;
}
}
--- /dev/null
+/*
+ * Copyright (C) 2010 Ixonos Plc.
+ *
+ * This file is part of fosdem-schedule.
+ *
+ * fosdem-schedule is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * fosdem-schedule is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * fosdem-schedule. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "errormessage.h"
+
+#include <cstdio>
+
+#include <QTextStream>
+#ifdef QT_MAEMO5_LIB
+#include <QMaemo5InformationBox>
+#else
+#include <QMessageBox>
+#endif
+
+void error_message(const QString& message)
+{
+ QTextStream(stderr) << "ERROR: " << message << "\n";
+#ifdef QT_MAEMO5_LIB
+ // by default the message is white on yellow, which is unusable
+ // but some html here works
+ // remove it as soon as they fix the colors
+ QMaemo5InformationBox::information(0, "<font color=\"black\">" + message + "</font>");
+#else
+ QMessageBox::warning(0, "Error", message);
+#endif
+}
--- /dev/null
+/*
+ * Copyright (C) 2010 Ixonos Plc.
+ *
+ * This file is part of fosdem-schedule.
+ *
+ * fosdem-schedule is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * fosdem-schedule is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * fosdem-schedule. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef ERRORMESSAGE_H
+#define ERRORMESSAGE_H
+
+#include <QString>
+
+void error_message(const QString& message);
+
+#endif
mapwindow.cpp \
settingsdialog.cpp
+HEADERS += errormessage.h
+SOURCES += errormessage.cpp
+CONFIG(maemo5) {
+ QT += maemo5
+}
+
#maemo {
# FORMS += alarmdialog.ui
# HEADERS += alarmdialog.h
#include <QInputDialog>
#include "conference.h"
+#include "errormessage.h"
// const QString SCHEDULE_URL = "http://fosdem.org/2010/schedule/xml";
{
if ( aReply->error() != QNetworkReply::NoError )
{
- qDebug() << "Error occured during download: " << aReply->errorString();
+ error_message(QString("Error occured during download: ") + aReply->errorString());
}
else
{
// proxySettings->show();
importScheduleLabel->setText("Schedule:");
- emit(scheduleImported(confId));
+ if (confId > 0) {
+ emit(scheduleImported(confId));
+ }
}
#include "schedulexmlparser.h"
#include "sqlengine.h"
+#include "../gui/errormessage.h"
#include <QDebug>
int ScheduleXmlParser::parseData(const QByteArray &aData, const QString& url)
{
QDomDocument document;
- document.setContent (aData, false);
+ QString xml_error;
+ if (!document.setContent (aData, false, &xml_error)) {
+ error_message("Could not parse schedule: " + xml_error);
+ return -1;
+ }
QDomElement scheduleElement = document.firstChildElement("schedule");