diff options
Diffstat (limited to 'src/curses-ui')
-rw-r--r-- | src/curses-ui/curses-ui.vala | 4 | ||||
-rw-r--r-- | src/curses-ui/logo.vala | 14 | ||||
-rw-r--r-- | src/curses-ui/main.vala | 14 |
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); |