summaryrefslogtreecommitdiffstats
path: root/src/curses-ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/curses-ui')
-rw-r--r--src/curses-ui/curses-ui.vala4
-rw-r--r--src/curses-ui/logo.vala14
-rw-r--r--src/curses-ui/main.vala14
3 files changed, 19 insertions, 13 deletions
diff --git a/src/curses-ui/curses-ui.vala b/src/curses-ui/curses-ui.vala
index 0cd6281..e98c6ea 100644
--- a/src/curses-ui/curses-ui.vala
+++ b/src/curses-ui/curses-ui.vala
@@ -23,7 +23,7 @@ public class CursesUI {
//StatusPanel statuswin;
MessageBoxOverlay mbOverlay;
- public CursesUI(string binarylocation) {
+ public CursesUI(string datadir) {
/* unicode support */
Intl.setlocale(LocaleCategory.CTYPE, "");
@@ -40,7 +40,7 @@ public class CursesUI {
Curses.init_pair(2, Curses.Color.WHITE, Curses.Color.RED);
/* initialize widgets */
- banner = new Logo(binarylocation);
+ banner = new Logo(datadir);
//statuswin = new StatusPanel();
messages = new MessageBox();
clkwin = new ClockWindow();
diff --git a/src/curses-ui/logo.vala b/src/curses-ui/logo.vala
index e7f6fb8..a4a2c2c 100644
--- a/src/curses-ui/logo.vala
+++ b/src/curses-ui/logo.vala
@@ -19,28 +19,28 @@ using Curses;
public class Logo {
Window win;
- public Logo(string binarylocation) {
+ public Logo(string datadir) {
win = new Window(8, COLS - 2, 0, 1);
win.bkgdset(COLOR_PAIR(1) | Attribute.BOLD);
win.addstr("\n");
- var file = File.new_for_path (binarylocation + "/../../logo.txt");
-
- if (!file.query_exists ()) {
+ var logofilename = Path.build_filename(datadir, "logo.txt");
+ var file = File.new_for_path(logofilename);
+ if (!file.query_exists()) {
stderr.printf (_("File '%s' doesn't exist.\n"), file.get_path ());
}
try {
// Open file for reading and wrap returned FileInputStream into a
// DataInputStream, so we can read line by line
- var dis = new DataInputStream (file.read ());
+ var dis = new DataInputStream(file.read());
string line;
// Read lines until end of file (null) is reached
- while ((line = dis.read_line (null)) != null) {
+ while ((line = dis.read_line(null)) != null) {
win.addstr(line+"\n");
}
- } catch (Error e) {
+ } catch(Error e) {
error (_("Error: %s"), e.message);
}
diff --git a/src/curses-ui/main.vala b/src/curses-ui/main.vala
index e5ad4c8..3518bb2 100644
--- a/src/curses-ui/main.vala
+++ b/src/curses-ui/main.vala
@@ -19,6 +19,7 @@ public MainLoop loop;
public AudioPlayer audio;
public ScannerSession scanner;
public CursesUI ui;
+private Config cfg;
private static void play(string file) {
try {
@@ -56,14 +57,19 @@ public static int main(string[] args) {
try {
audio = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.AudioPlayer", "/io/mainframe/shopsystem/audio");
scanner = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.ScannerSession", "/io/mainframe/shopsystem/scanner_session");
+ cfg = Bus.get_proxy_sync(BusType.SYSTEM, "io.mainframe.shopsystem.Config", "/io/mainframe/shopsystem/config");
+
+ var datapath = cfg.get_string("GENERAL", "datapath");
+ var datadir = Path.build_filename(datapath, "curses-ui");
+ ui = new CursesUI(datadir);
} catch(IOError e) {
error(_("IO Error: %s\n"), e.message);
+ } catch(DBusError e) {
+ error(_("DBus Error: %s\n"), e.message);
+ } catch(KeyFileError e) {
+ error(_("KeyFile Error: %s\n"), e.message);
}
- string binarylocation = File.new_for_path(args[0]).get_parent().get_path();
-
- ui = new CursesUI(binarylocation);
-
Log.set_default_handler(log_handler);
scanner.msg.connect(msg_handler);